DE69317698T2 - Verfahren zum Übersetzen eines Vielzahl von Drucker-Seiten-beschreibende Sprachen - Google Patents
Verfahren zum Übersetzen eines Vielzahl von Drucker-Seiten-beschreibende SprachenInfo
- Publication number
- DE69317698T2 DE69317698T2 DE69317698T DE69317698T DE69317698T2 DE 69317698 T2 DE69317698 T2 DE 69317698T2 DE 69317698 T DE69317698 T DE 69317698T DE 69317698 T DE69317698 T DE 69317698T DE 69317698 T2 DE69317698 T2 DE 69317698T2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- sequence
- memory table
- instructions
- processing
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1211—Improving printing performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1244—Job translation or job parsing, e.g. page banding
- G06F3/1248—Job translation or job parsing, e.g. page banding by printer language recognition, e.g. PDL, PCL, PDF
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
- G06F3/1288—Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K2215/00—Arrangements for producing a permanent visual presentation of the output data
- G06K2215/0002—Handling the output data
- G06K2215/0005—Accepting output data; Preparing data for the controlling system
- G06K2215/0011—Accepting output data; Preparing data for the controlling system characterised by a particular command or data flow, e.g. Page Description Language, configuration commands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K2215/00—Arrangements for producing a permanent visual presentation of the output data
- G06K2215/0002—Handling the output data
- G06K2215/0005—Accepting output data; Preparing data for the controlling system
- G06K2215/0014—Transforming the printer input data into internal codes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Record Information Processing For Printing (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
Description
- Die vorliegende Erfindung betrifft allgemein das Interpretieren von Aufträgen, die in einer einer Vielzahl von Seitenbeschreibungssprachen zum Drucken mit einer Druckvorrichtung geschrieben sind, und insbesondere eine Technik zum Lagern von Interpretierer-Kontextdateien innerhalb eines Servers für eine Druckvorrichtung, um die Verwendung von mehreren Interpretierern darin zu optimieren.
- Personalcomputer sind auf den Schreibtischen der meisten Büroangestellten üblich geworden. Typischerweise soll ein großer Teil des Arbeitsprodukts solcher Computer in eine Hardkopie über einen Drucker umgewandelt werden, wobei eine digitale Bildgebungstechnik verwendet wird. Eine typische Druckerkonfiguration für diesen Zweck umfaßt einen bestimmten Drucker, der mit dem Personalcomputer ("PC") verbunden ist. Jedoch sind Drucker, die für diesen Zweck verwendet werden, typischerweise kleine Laserdrucker, die begrenzte Funktionen und Möglichkeiten haben, wie ein beschränktes Behältervolumen, das die Anzahl und Art von Kopieblättern, die verwendet werden können, auf ihnen Drucke zu erzeugen, beschränkt oder die keine Endbearbeitungsmöglichkeit haben, usw. Bedeutender ist, daß kleine Laserdrucker auch typischerweise nur eine Seitenbeschreibungssprache verarbeiten.
- Andererseits haben größere Hochgeschwindigkeits-Laserdrucker normalerweise ein hohes Maß an Endbearbeitungs- und Kopierblattfähigkeit, die dem PC Benutzer gestatten würden, z.B. kundenspezifisch sein Arbeitsprodukt zu drucken und endzubearbeiten, eine Möglichkeit, die für viele PC Benutzer wünschenswerte wäre. In der Praxis können die PCs vorteilhaft mit einem vernetzten Drucksystem von der Art verwendet werden, das eine Anzahl von Benutzereingängen, wie die PCs oder Ähnliches oder einen oder mehrere Druckerausgänge kombiniert. Bei einem Beispiel solcher vernetzter Drucksysteme schickt ein Requester an einem der Eingänge elektronische Dokumente, die einen Auftrag umfassen, über ein örtliches Netz (LAN) zu einem der Drucker, der zum Drucken des Auftrags ausgewählt worden ist. insbesondere liefern örtliche Netze ein Mittel, durch die Benutzer, die bestimmte Prozessoren betreiben, Betriebsmittel gemeinsam benutzen können, wie Drucker, Dateiserver und Abtaster. Die Integration von gemeinsam benutzten Betriebsmitteln ist ein Problem gewesen, das von den Verwaltern örtlicher Netze angesprochen worden ist. Die Verwalter örtlicher Netze haben unterschiedliche Netzprotokolle, wie Ethernet und Token Ring, die für Einrichtungen transparent sind, auf denen verschiedene Netzprotokolle laufen. Örtliche Netze haben auch eine Vielzahl von Druckertreibern, die unterschiedliche Seitenbeschreibungssprachen (Seitenbeschreibungsspraches) aussenden, die zu bestimmten Druckereinrichtungen gelenkt werden.
- Eine Seitenbeschreibungssprache ist ein Verfahren gedruckte Seite(n) in einem von einem Drucker unabhangigen Format zu beschreiben. Eine Seitenbeschreibungssprache stellt eine Schnittstelle zwischen einem Druckertreiber oder Requester und einem Druckserver oder Drucker her. Gegenwärtig besteht keine einzige Standard-Seitenbeschreibungssprache, und als ein Ergebnis ist eine Anzahl von industrienormen aufgetaucht. Gegenwärtig schließen bestehende Seitenbeschreibungssprachen PostScript ("PS"), Hewlett Packard Printer Control Language ("HP-PCL") und Interpress Page Description Language ein. Die Dokumentation in bezug auf diese drei Sprachen kann in den folgenden Druckschriften gefunden werden.
- PostScript Language Reference Manual, zweite Auflage, Addison-Wesley Publishing Co., 1990
- PCL 5 Printer Language Technical Reference Manual, erste Auflage, Hewlett Packard Co., 1990
- Harrington, S. J. and Buckley, R. R. Interpress: The Source Book, Simon & Schuster, Inc., New York, N.Y., 1988
- Xerox Corporation vertreibt gegenwärtig einen Server für eine Druckvorrichtung, wobei der Server als der "DocuTech Manager Server" (Docutech Manager Server ist ein Markenzeichen der Xerox Corp.) bezeichnet wird. Dieser Server ist fähig, einen Auftrag, der in einer ersten Seitenbeschreibungssprache geschrieben ist, wie PS oder HP-PCL, in eine zweite Seitenbeschreibungssprache, wie Interpress, zum Drucken des Auftrags auf einer mit Xerox kompatiblen Druckvorrichtung zu drucken. Im Zentrum des Servers gibt es zwei Interpretierer, einer der PS übersetzen kann und der andere, der PCL übersetzen kann. Jeder Interpretierer enthält die Software, die entweder von Adobe Systems Inc. oder Peerless Corp. geschrieben worden ist, um das Übersetzungsverfahren zu erleichtern.
- Auf dem Gebiet der Datenverarbeitung ssysteme ist es bekannt, daß ein Co-Prozessor verwendet werden kann, eine Hauptverarbeitungseinheit zu unterstützen, um einige der mehr zeitverbrauchenden Datenverarbeitungstasks auszuführen. US-A-4, 833,596 und US-A-4,920,481 sind Beispiele von Einrichtungen, bei denen ein Hostsystem vorteilhaft in Verbindung mit einem Co-Prozessor verwendet wird.
- Der Betrieb eines Datenverarbeitungssystems, das einen Hauptspeicherbereich mit einem Betriebssystem aufweist, kann weiter durch eine Technik verbessert werden, die als Umlagern (swapping) bezeichnet wird. Wie es bekannt ist, werden in dem Betriebssystem von AT&T labs Beil System' UNIX Prozesse zu einem sekundären Speicher umgelagert, wie es benötigt wird, wodurch eine einzelner Computer CPU gleichzeitig von einer Anzahl von Benutzern benutzt werden kann, von denen jeder irgendein einzigartiges Anwendungsprogramm laufen läßt. Wie es in der folgenden Druckschrift erörtert ist, gibt es Systeme, in denen Kembilder in und aus einen Hauptspeicher gemäß den Anforderungen des Benutzers umgelagert werden können.
- Deitel, H. M., An Introduction to Operating Systems überarbeitete erste Auflage, Addison-Westley Publishing Co., 1984, S.169,171, 485-488, 494, 512 und 582-584
- In WO 90/12359 ist ein Computerausgangsdrucker mit einer Kommunikationsschnittstelle vorgesehen, die eine Vielzahl von Eingangsanschlüssen hat. Jeder Anschluß kann konfiguriert werden, um Drucker unterschiedlicher Hersteller zu emulieren, und er ist mit einem Puffer versehen, um Druckmitteilungen zu speichern, während Druckmitteilungen von einem anderen Anschluß gerade gedruckt werden.
- Es ware wünschenswert, einen Server bereitzustellen, der eine Übersetzerfähigkeit für mehrere Seitenbeschreibungssprachen in einer wirksamen und wirtschaftlichen Weise erhalt, indem gewisse vorteilhafte Datenverarbeitungssystemmerkmale ausgenutzt werden wie eine Co-Verarbeitung und Umlagerung (Swapping).
- Gemäß der vorliegenden Erfindung wird ein Verfahren zur Verwendung mit einem Server für ein Bilderzeugungssystem von der Art geschaffen, der ein Verfahren zur Verwendung mit einem Server für ein Bilderzeugungssystem von der Art, der eine erste Verarbeitungseinrichtung aufweist, die mit einer zweiten Verarbeitungseinrichtung gekoppelt ist, wobei der Server des Bilderzeugungssystems eine erste Speichertabeile, die eine Folge von Befehlen aufweist, verwenden kann, um einen ersten Auftrag, der in einer ersten Druckerseitenbeschreibungssprache geschrieben ist, zu übersetzen und eine zweite Speichertabelle verwenden kann, die eine Folge von Befehlen hat, einen zweiten Auftrag zu übersetzen, der in einer zweiten Druckerseitenbeschreibungssprache geschrieben ist, wobei eine der Speichertabellen in der zweiten Verarbeitungseinrichtung und Bereiche der anderen Speichertabelle in einem Speicherabschnitt angeordnet sind, die Schritte umfassend:
- Übertragen des ersten Auftrags zu der zweiten Verarbeitungseinrichtung;
- setzen eines Merkers in der zweiten Verarbeitungseinrichtung auf einen ersten Zustand in Reaktion auf das Übertragen des ersten Auftrags dorthin;
- Übersetzen der ersten Druckerseitenbeschreibungssprache in einen ersten, Interpretierten Ausgang mit der ersten Speichertabelle;
- Übertragen des zweiten Auftrags zu der ersten Verarbeitungseinrichtung;
- Setzen des Merkers in der zweiten Verarbeitungseinrichtung auf einen zweiten Zustand in Reaktion auf das Übertragen des zweiten Auftrags zu der ersten Verarbeitungseinrichtung;
- Prüfen des Zustands des Merkers in der zweiten Verarbeitungseinrichtung; und Umlagern von Bereichen der ersten Speichertabelle und Bereichen der zweiten Speichertabelle mit der ersten Verarbeitungseinrichtung in Reaktion auf eine Änderung des Zustands des Merkers, so daß die Bereiche der ersten Speichertabelle in dem Speicherabschnitt angeordnet werden, und Bereiche der zweiten Speichertabelle in der zweiten Verarbeitungseinrichtung angeordnet werden, um die zweite Druckerseitenbeschreibungssprache in einen zweiten, Interpretierten Ausgang zu übersetzen.
- Diese und andere Gesichtspunkte der Erfindung werden aus der folgenden Beschreibung offensichtlich, wobei die Beschreibung verwendet wird, eine bevorzugte Ausführungsform der Erfindung darzustellen, wenn sie in Verbindung mit den beigefügten Zeichnungen gelesen wird, in denen:
- Fig. 1 eine schematische Ansicht einer Druckanordnung, die eine Vielzahl von Requester-Arbeitsstationen einschließt, die schnittstellenmäßig mit einer Druckvorrichtung durch einen Server verbunden sind;
- Fig. 2 eine schematische Ansicht einer Auftragsdatei und deren Inhalte ist
- Fig. 3 eine schematische Ansicht einer beispielhaften Auftragskarte ist;
- Fig. 4 eine schematische Blockdiagrammansicht des Servers und der Druckvorrichtung ist, die verwendet werden, die Technik der vorliegenden Erfindung auszuführen;
- Fig. 5 eine schematische Ansicht einer Speichertabelle ist, die verwendet werden kann, eine Seitenbeschreibungssprache zu Interpretieren, d.h. ein Folge von Befehlen, die verwendet werden, eine Seitenbeschreibungssprache zu übersetzen, die in der Auftragsdatei enthalten ist;
- Fig. 6 eine schematische Ansicht einer Unterbrechungsroutine ist, die verwendet wird, eine bevorzugte Umlagerungsroutine der vorliegenden Erfindung zu erreichen; und
- Fig. 7A und 7B ein Flußdiagramm darstellen, das die bevorzugte Umlagerungsroutine zeigt.
- Bezugnehmend auf Fig. 1 ist eine Druckeranordnung gezeigt, die allgemein mit dem Bezugszeichen 10 bezeichnet ist. Die Druckeranordnung 10 enthält eine Vielzahl fernliegender Eingänge, wie PCs, Arbeitsstationen, usw. (hier als Arbeitsstationen 14 bezeichnet), die über ein oder mehrere Netze 20 mit einem Server 25 verbunden sind. Die Arbeitsstationen 14 enthalten einen Kathodenstrahlröhren-Anzeigeschirm 15 zusammen mit einer Tastatur und einer Maus, um Programmierbefehle, Bilddaten, usw. einzugeben. Der Bildschirm 15, der ein Berührungsschirm sein kann, zeigt verschiedene Auftragsprogrammwahlmöglichkeiten, Bedienungspersonbefehle, Mitteilungen, usw. an. Der Server 25 ist seinerseits über ein oder mehrere Netze 28 mit einem oder mehreren Druckersystemen 35 verbunden. Während getrennte Netze 20, 28 gezeigt sind, kann statt dessen ein einziges Netz verwendet werden.
- Bezugnehmend auf Fig. 2 werden elektronische Auftragsdateien 60 oder Teile davon bei den einzelnen Arbeitsstationen 14 erzeugt, wobei jede Auftragsdatei aus der Auftragsspezifizierung 62 und einer Druckdatendatei 63 besteht, die in einer Seitenbeschreibungssprache ausgedrückt ist. Die Auftragsspezifizierung 64 ist in der Form einer Auftragskarte 64, die Befehle zum Lenken, Bearbeiten und Verarbeiten des Auftrags 62 aufweist. Wie es aus der Erörterung unten klar werden wird, ist bei der bevorzugten Ausführungsform der vorliegenden Erfindung die Seitenbeschreibungssprache der Druckdatendatei 63 entweder in Postscript ("PS") oder der Hewlett Packard Printer Control Language ("HP-PCL") geschrieben. Die Aufträge in der Druckdatendatei 63 sind in elektronischer Form, die aus Bildsignalen oder Bildpunkten besteht, die z.B. durch Abtasten von Hardkopievorlagen und Umwandeln der Vorlagenbilder in Bildsignale oder Bildpunkte erzeugt werden, direkt durch eine Tastatur, aus einem Speicher entnommen, oder aus Seitenformat- und/oder graphischen Ausgabebefehlen bestehen, die alle in einer bevorzugten Seitenbeschreibungssprache-Codierung codiert sind. Der Inhalt der Auftragsdateien ist normalerweise komprimiert, um die Bandbreite zu vergrößern und die verlangte Menge an Speicher zu verringern. Die Bildsignale, Bildpunkte oder Seitenbeschreibungsbefehle in der Druckdatendatei 63 sind als elektronische Dokumente oder Seiten zum Drucken auf einem Druckmedium angeordnet, wie Papier oder Bogen.
- Die Programmierbefehle auf der Auftrag skarte 64, die die Auftrag sdatei 60 begleiten, können die Auswahl des Druckers in dem Fall einschließen, wo mehrere Drucker dem Requester oder Benutzer zur Verfügung stehen, aus dem Druckersystem 35 ausgewählt zu werden. Wo ein Drucksystem 35 Drucker mit unterschiedlichen Merkmalen, Funktionen, Geschwindigkeiten, usw. aufweist, kann es notwendig sein, daß der Requester den Drucker auswählt, der anfangs verwendet werden soll, so daß eine Auftragskarte 64 mit den Programauswahlmöglichkeiten, die bei diesem Drucker verfügbar sind, an der Arbeitsstation 14 des Requesters angezeigt wird, wie es ausführlicher in unserer mitanhängigen EP-A-0,529,818 beschrieben ist. Während des Druckvorgangs überträgt der Server 25 die Druckbefehle von der Auftragskarte 64 zu dem ausgewählten Drucksystem.
- Eine Auftragskarte 64 umfaßt eine Reihe elektronischer Programmbefehle zur Verarbeitung eines Auftrags. Normalerweise besteht die Auftragskarte 64 aus einem elektronischen Format (z.B., wie es in Fig. 3 gezeigt ist), das verschiedene Programmwahlmöglichenkeiten aufweist, die auf dem Bildschirm 5 der Arbeitsstation 14 angezeigt werden, die verwendet wird, den Auftrag zu erzeugen. Der Requester an der Arbeitsstation füllt interaktiv die Auftragskarte aus, indem eine Auswahl elektronisch vorgenommen wird, wobei die Maus, die Tastatur, usw. der Arbeitsstation verwendet wird. Man erkennt, daß die Auftragskartenbefehle nicht nur Druckprogrammbefehle für den Auftrag selbst son dem auch Lenk- und Verarbeitungsbefehle für den Server 25 umfassen. Die beendete Auftragskarte 64 wird mit dem Auftrag in der Druckdatei 63 in der Auftragsdatei 60 kombiniert.
- Der Server 25 umfaßt irgendeine geeignete Schnittstelle, um Auftragsdateien 60 von Arbeitsstationen über das Netz 20 zu empfangen, wobei die Fähigkeit besteht, auf die Auftragsverarbeitungsbefehle auf der beigefügten Auftragskarte zuzugreifen und sie zu decodieren. Der Server 25 schließt vorzugsweise einen eigenen Speicher geeigneter Größe ein, um die Auftragsdateien vorübergehend zu speichern, die für eine Verarbeitung durch das Druckersystem 35 anhängig sind. Der eigene Speicher der Druckmanagers kann ausreichend groß sein, um eine Langzeitspeicherung von Auftragsdateien oder Teilen der Auftragsdateien zu unterstützen. Alternativ können eine oder mehrere fernliegende Speicher 42 für diesen Zweck vorgesehen werden.
- Das Drucksystem 35 kann einen oder mehrere elektronische Hochgeschwindigkeitsdrucker 50 zur Verarbeitung von Aufträgen gemäß den Befehlen umfassen, die durch die Auftragskarte eingegeben werden, die jede Auftrag sdatei begleitet. Während ein einziger Drucker 50 gezeigt ist, können mehrere Drucker, entweder an einer einzigen, zentralen Stelle oder an mehreren femliegenden Orten in Betracht gezogen werden. Der Drucker 50 kann z.B. ein Drucker auf elektrostatographischer Grundlage von der Art sein, wie er in EP-A-0,477,569 gezeigt und beschrieben ist. Bei anderen in Betracht gezogenen Ausführungen der bevorzugten Ausführungsform könnte der Drucker 60 andere bekannte Druckerarten umfassen, wie Tintenstrahldrucker, ionographische Drucker, Leuchtdiodenanzeigen und Ähnliches.
- Bezugnehmend auf Fig. 4 wird die Struktur des Servers 25 und des Druckersystems 35 mehr im einzelnen erörtert. Bei der bevorzugten Ausführungsform der Erfindung wird eine Umlagerungstechnik durch eine Anordnung erreicht, die durch das Bezugszeichen 70 bezeichnet ist. Die Anordnung schließt einen Hostprozessor 72, eine Karte 74 mit einem Beschleunigungs-Coprozessor (Beschleunigungs-Coprozessor) und eine Plattenspeichereinrichtung 76 ein. Bei einem Beispiel ist der Hostprozessor ein IBM PC-AT System mit einem Industrienorm-Architektur-(ISA)- oder einem erweiterten industrienorm-Architektur-(EISA)-Bus, um die Beschleunigungs-Coprozessor-Karte anzunehmen. Der Hostprozessor 72 kann zum Betrieb in einer Netzumgebung konfiguriert sein. Wenn der Hostprozessor 72 für einen Netzbetrieb konfiguriert ist, ist es vorzugsweise Novell zertifiziert für Netware 386 .
- Die bevorzugte Ausführungsform der Beschleunigungs-Coprozessor-Karte 74 umfaßt die folgenden Hauptblöcke:
- - 80960CA Mikroprozessor
- - Host System ISA Schnittstelle
- - erweiterte Busschnittstelle
- - Speicher (16 MBytes)
- - programmierbarer Festwertspeicher ROM
- - Zeitgeber/Zähler
- - EEPROM (elektronisch löschbarer, programmierbarer Festwertspeicher) von 256 Byte zur Kartenidentifizierung
- Der Hostprozessor 72 kann Daten zu dem Beschleunigungs-Coprozessor (ACP) Speicher über ein 128K Byte verschiebbares, gemeinsam benutztes Speicherfenster und von ihm übertragen. Der Beschleunigungs-Coprozessor 74 kann auch einen kleinen Abschnitt des Eingabe/Ausgabe (I/O) Adressenraums des Prozessors verwenden. indem zu einem I/O Datenanschluß des Beschleunigungs-Coprozessor geschrieben wird, kann der Hostprozessor 72 Befehle zu dem Beschleunigungs-Coprozessor 74 schicken. Andererseits kann, indem der I/O Datenanschluß gelesen wird, der Hostprozessor 72 Quittungsmitteilungen von dem Beschleunigungs-Coprozessor 74 zurückerhalten. Diese Mitteilungen haben typischerweise die Länge von 1 Byte und werden verwendet, die tatsächlichen Datenübertragungen in den Gemeinschaftsspeicher zu synchronisieren. Bei der bevorzugten Ausführungsform werden zwei 8 Bitdaten Ports verwendet, um die Synchronisierungs-Umlagerungsanforderungen und Quittierungen zwischen dem Beschleunigungs-Coprozessor 74 und dem Hostprozessor 74 vor der tatsächlichen Übertragung des Seitenbeschreibungssprachen-Zerlegungscodes und der Daten des Schriftzeichensatzzwischenspeichers zu übertragen. Diese zwei Ports werden als Host zu Prozessor und Prozessor zu Hostdatenregistern ("HPDR" und "PHDR") bezeichnet.
- Unter weiterer Bezugnahme auf Fig. 4 ist die Beschleunigungs-Coprozessor Karte 74 mit einer Speichertabelle 78-1 gezeigt, die alle die Software einschließt, die notwendig ist, eine Seitenbeschreibungssprache zu Interpretieren, und den 80960CA Mikroprozessor, wobei der Mikroprozessor mit dem Bezugszeichen 80 bezeichnet ist. Unter Bezugnahme auf Fig. 5 ist die Speichertabelle 78-1, die einen Benutzerabschnitt 82 und einen Systemabschnitt 84 einschließt, mehr im einzelnen gezeigt. Die Speichertabelle 78-1 schließt des weiteren eine Abschnitt 86 ein, der Register aufweist, durch die der HPDR und der PHDR kommunizieren können und ein Zustandsmerker gesetzt werden kann.
- Bei der dargestellten Ausführungsform der Fig. 5 umfaßt der Benutzerabschnitt 82 einen Abschnitt, um den Seitenbeschreibungssprachen-Interpretierercode zu halten, wobei der Seitenbeschreibungssprache-Interpretierercode die Interpretierung einer Auftragsdatei erleichtern kann, die in einer ersten Seitenbeschreibungssprache ausgedrückt ist, wie PS oder HP-PCL. Bei der bevorzugten Ausführungsform ist der Seitenbeschreibungssprachen-Interpretierercode entweder von Adober) Systems Inc. oder Peerless Corp., in Verbindung mit Xerox Corp., zur Verwendung durch die Xerox ) Corp. in ihrem Xerox Production Print Services System ("Xerox Production Print Services" ist eine Handelsmarke der Xerox Corp.) geschrelben, wobei das Xerox Production Print Services System vorzugsweise einen Mediaserver und einen Netzserver einschließt. Es versteht sich, daß der Seitenbeschreibungssprachen-Interpretierercode die Übersetzung der Auftragsdatei 60 von einer ersten Seitenbeschreibungssprache, wie PS oder HP- PCL, in eine zweite Seitenbeschreibungssprache Datei, wie Interpress erleichtert. Der Durchschnittsfachmann auf dem Gebiet erkennt, daß eine solche Übersetzung bei einem Beispiel erreicht werden könnte, indem ein konfigurierbarer Seitenbeschreibungssprache Interpretierer verwendet wird, wie einer, der von Adober Systems Inc. oder Peerless Corp. hergestellt wird, um den Text und die Graphik der Auftrag sdatei 60 zu einer Bildpunktdarstellung zu verringern und dann die Bildpunktdarstellung in der Form einer zweiten Seitenbeschreibungssprache auszudrücken, wie Interpress.
- Man erkennt, daß nur ausgewählte Bereiche des Systemabschnitts 84 gezeigt sind. Ein großer Teil der Software für den Abschnitt 84 dient einfach als einer von verschiedenen Möglichkeiten, um die in den Fig. 6 und 7A und 7B dargestellten Prozesse auszuführen, wobei die Bedeutung der Prozesse mehr im einzelnen unten erörtert ist. Der Durchschnittsfachmann auf dem Gebiet erkennt, daß in der Praxis durch verschiedene Softwarewerkzeuge, wie Tabellen, z.B. Fehler-, Systemprozedur- und Kontrolltabellen, Zeitgeber und Steuerung hierfür, Steuerungsausführungen, Speicherstellen und Stapel typischerweise bei der Ausführung des Systemabschnitts 84 verwendet würden.
- Bezugnehmend auf Fig. 4 und 5 schließt der Mikroprozessor 80 einen Abschnitt 90 ein, der Informationen in bezug auf den internen Zustand des Mikroprozessors 80 enthält, wobei solche Informationen 1 K Speicher, Register und Zustände einschließen. Diese Informationen können selektiv in einer Schicht 92 des Systemabschnitts 84 gespeichert werden.
- insbesondere auf Fig. 4 Bezug nehmend ist der Hostprozessor 72 mit der Plattenlaufwerkeinrichtung 76 verbunden, so daß, wie es mehr im einzelnen unten erläutert ist, Bereiche der Speichertabelle 78-1 in der Form einer Kontextdatei dorthin übertragen werden können. Vorzugsweise sind zu jedem Zeitpunkt eine oder mehrere Seitenbeschreibungssprachen-Kontextdateien, die mit dem Bezugszeichen 94 bezeichnet sind, in dem Plattenlaufwerk 76 gespeichert. Bei Verarbeitung einer Auftragsdatei 60 kann die Interpretierte Seitenbeschreibungssprachen-Datei zu einer von einer Vielzahl von Ausgabe- oder Druckereinrichtungen übertragen werden. Bei der bevorzugten Ausführungsform wird die Interpretierte Seitenbeschreibungssprachen-Datei in Interpress ausgedrückt und wird zu dem Drucker 50 übertragen, der eine Zerlegungseinrichtung 96 und eine Bildausgabeendstation (IOT) 98 umfaßt. Bei einem Beispiel ist die Zerlegungseinrichtung 96 von der Art, die in einem Xerox 4045 ("Xerox 4045" ist eine von Xerox verwendete Handelsmarke) Drucker verwendet wird und Software von der Art verwendet, die beschrieben ist in interpress. The Source Book. Des weiteren kann die Bildausgabeendstation irgendeine geeignete Druckmaschine sein, wie die Docutechim die oben erwähnt worden ist. Beim Betrieb des Druckers wird der Interpretierte Ausgang von dem Hostprozessor 72 zu der Zerlegungseinrichtung 96 übertragen, wo er in Graphik und Text zum Drucken durch die Bildausgabeendstation 98 zerlegt wird.
- Bezugnehmend auf Fig. 6 wird die bevorzugte Umlagerungstechnik der vorliegenden Erfindung mehr im einzelnen erörtert. Beim typischen Betrieb eines Task-Lösungsprogramms, wie der selektiv in dem Speicher 78-1 gespeicherten Seitenbeschreibungssprachen-Interpretierersoftware, zweigt der Prozessor beim Erhalt eines externen Signals zu einer Unterbrechungsdienstroutine (ISR) von dem Systemtakt des Beschleunigungs-Coprozessors ab, um vorbestimmte Unterbrechungsfunktionen auszuführen. Bei der dargestellten Ausführungsform der Fig. 6 sind zwei Interpretiererdateien, nämlich die Speichertabelle 78-1 und die Speichertabelle 78-2 gezeigt. Man sollte erkennen, daß, während die Tabellen 78-1 und 78-2 in großer Nähe gezeigt sind, nur eine der Tabellen 78-1 oder 78-2 tatsächlich zu irgendeiner Zeit in dem Beschleunigungs-Coprozessor 74 vorhanden ist.
- Des weiteren sind die Tabellen 78-1 und 78-2 betriebsmäßig den Unterbrechungsdienstroutinen 100 bzw. 102 zugeordnet. Zur leichteren Erörterung ist nur eine der Unterbrechungsdienstroutinen 100,102 in Fig. 6 gezeigt; jedoch wäre in der Praxis jede Speichertabelle einer Vielzahl von Unterbrechungsroutinen zugeordnet, wobei die Speicherstellen dieser Routinen als Vektoren in einer Unterbrechungstabelle gespeichert werden könnten. Bezugnehmend auf Fig. 5 sind die Unterbrechungsvektoren für die Speichertabelle 78-1 in einer Unterbrechungstabelle 103 vorhanden. Die Unterbrechungsdienstroutinen 100, 102 (Fig. 6) kommunizieren mit einer Umlagerungsroutine 104 in einer Weise, die mehr im einzelnen unten beschrieben ist. Während die vorliegende Anordnung nur die Verwendung von zwei Speichertabellen darstellt, könnte die Umlagerungstechnik viele Speichertabellen verwenden, von denen eine in dem Beschleunigungs-Coprozessor 74 angeordnet ist und deren andere in der Plattenspeichereinrichtung 76 gespeichert würden. Das heißt, der Server 25 kann mehr als zwei Seitenbeschreibungssprachen-Interpretiererdateien und mehr als einen Kontext für einen gegebenen Seitenbeschreibungssprachen-Interpretierer speichern, und demgemäß mehr als zwei Arten von Seitenbeschreibungssprachen oder mehrere Konfigurationen derselben Seitenbeschreibungssprache Interpretieren.
- Bezugnehmend auf die Fig. 4-6 wird bei einem Beispiel der Arbeitsweise eine erste, eingegebene Seitenbeschreibungssprachen-Datei von einem der Requester 15 zu dem Hostprozessor 72 übertragen, und Software in dem Hostprozessor bestimmt, daß die Seitenbeschreibungssprachen-Interpretiererdatei 78-1, die gegenwärtig in einen Speicher des Beschleunigungs-Coprozessor 74 geladen worden ist, verwendet werden kann, den Auftrag zu Interpretieren. Ein Merker wird in dem Speicherabschnitt 86 gesetzt, und die erste, eingegebene Seitenbeschreibungssprache Datei wird zur Verarbeitung zu dem Beschleunigungs-Coprozessor 74 übertragen. Da die Speichertabelle 78-1 verwendet wird, die Interpretation auszuführen, wird der Prozeß periodisch unterbrochen, um eine der IRS 100 auszuführen. Bei der bevorzugten Ausführungsform der vorliegenden Erfindung unterbricht jeder Schlag des Beschleunigungs-Coprozessor Takts die Ausführung des Programms der Speichertabelle 78-1, und das Programm verzweigt zu einer ausgewählten Adresse in der Umlagerungsroutine 104. Wenn die Seitenbeschreibungssprachen-Interpretierung des Auftrags nicht abgeschlossen worden ist, zweigt der Prozeß zu der Unterbrechungsdienstroutine 100 mit normalem Takt und gegebenenfalls zurück zu dem Programm der Speichertabelle 78-1.
- Nachdem die erste, eingegebene Seitenbeschreibungssprachen-Datei Interpretiert worden ist, wird eine zweite, eingegebene Auftragsdatei zu dem Hostprozessor 72 übertragen. Bei dem vorliegenden Beispiel ist die zweite, eingegebene Seitenbeschreibungssprachen-Datei in einer von der ersten Seitenbeschreibungssprachen-Datei unterschiedlichen Seitenbeschreibungssprache beschrieben. Vor der Übertragung der zweiten, eingegebenen Seitenbeschreibungssprachen-Datei zu dem Beschleunigungs- Coprozessor 74, setzt der Hostprozessor 72 den Merker in dem Speicherabschnitt 86, um anzugeben, daß die zweite Speichertabelle 78-2 zur Interpretierung verlangt wird. Nachdem sich der Zustand des Merkers ändert, zweigt die Unterbrechungsdienstroutine (wenn aufgerufen) zu der Umlagerungsroutine 104 ab um deren Befehle auszuführen. Die erste Speichertabelle 78-1 wird aus dem Speicher des Beschleunigungs-Coprozessors 74 umgelagert und in den Plattenabschnitt 74 geschrieben, und die zweite Speichertabelle 78-2 wird von der Platte 94 gelesen, in den Speicher des Beschleunigungs-Coprozessors 74 umgelagert, und die Ausführung der Speichertabelle 78-2 wird wieder aufgenommen.
- Bezugnehmend auf die Fig. 7A und 7B wird die Umlagerungsroutine 104 mehr im einzelnen erörtert. Man sollte erkennen, daß der Umlagerungsprozeß zwischen dem Hostprozessor 72 und dem Beschleunigungs-Coprozessor 74 verbindend ausgeführt wird. Demgemäß sind zwei Spalten gezeigt, um die Schritte wiederzugeben, die jeweils von jeder Verarbeitungsanordnung gemacht werden. Ferner wird bei dem Umlagerungsbeispiel der Fig. 7A und 7B eine erste Kontextdatei, die wichtige Bereiche einer ersten interpretiereranordnung darstellt, zu einer Plattendatei des Hostprozessors umgelagert, und eine zweite Kontextdatei, die wichtige Bereiche einer zweiten Interpretiereranordnung darstellt, wird von der Hostplattendatei zurück in den Beschleunigungs- Coprozessor Speicher umgelagert.
- Wenn der Hostprozessor 72 bestimmt, daß eine hereinkommende Datendatei die Verwendung einer Interpretiereranordnung verlangt, die von der in dem Beschleunigungs- Coprozessor 74 verschieden ist, überträgt der Hostprozessor beim Schritt 110 über die HPDR einen Befehl" REGS (Register) und Zustände speichern und warten", und der Beschleunigungs-Coprozessor 74 liest den Befehl beim Schritt 112. Bis der Beschleunigungs-Coprozessor 74 den Befehl erhält, fährt er fort, zu einer der Unterbrechungsdienstroutine 100 (Schritt 114) abzuzweigen und zu dem Hauptprogramm (Schritt 115) zurückzukehren. Sobald der Befehl erhalten worden ist, bewegt der Mikroprozessor 80 eine erste Gruppe von Registern und Zuständen von dem Mikroprozessorabschnitt 90 zu dem Speicherabschnitt 92 (Schritt 116), und schickt über den Schritt 118 ein Quittierungssignal an den Hostprozessor über die PHDR. Der Durchschnittsfachmann auf dem Gebiet erkennt und auch aus der Erörterung unten, daß, indem die erste Gruppe Register und Zustände des Mikroprozessors 80, d.h., der erste, interne Zustand des Mikroprozessors 80, in dem Speicher 78-1 gesichert werden, der Kontext der ersten Interpretiereranordnung beibehalten wird. Demgemäß muß, wenn die erste Interpretiereranordnung nachfolgend verwendet wird, und die erste Gruppe von Registern und Zuständen in dem Mikroprozessorabschnitt 90 ersetzt wird, der Mikroprozessor 80 nicht erneut zur Verwendung mit der ersten Interpretiereranordnung initialisiert werden.
- Beim Schritt 120 liest der Hostprozessor 72 ein Quittierungssignal, das von dem Beschleunigungs-Coprozessor 74 geschickt worden ist, und beim Schritt 122 schreibt der Hostprozessor 74 einen Befehl "Freie Speicherliste anfordern" zu der HPDR. Jeder der Kontextdateien enthält eine Liste von Speichersteilen eines Puffers oder Speichers, die nicht umgelagert werden müssen, wobei wenigstens Bereiche der Liste von den Entwicklern der Seitenbeschreibungssprachen-Interpretierercode vorgesehen sind. Beim Lesen dieses Befehis bei der HPDR (Schritt 124) gibt der Beschleunigungs-Coprozessor 74 über die Schritte 128 und 130 dem Hostprozessor 74 die Anfangs- und Endadresse eines ersten Puffers in einer freien Speicherliste 132 (Fig. 5) an. Nach Erhalt einer Quittierung von dem Beschleunigungs-Coprozessor 74 beim Schritt 134 prüft der Hostprozessor 72 beim Schritt 136, um zu bestimmen, ob er die gesamte Speicherliste erhalten hat. Typischerweise enthält die freie Speicherliste Anfangs- und Endadressen für eine Vielzahl von Puffern oder andere Speicherstelien und weiß, daß die gesamte Liste gelesen worden ist, wenn er ein geeignetes Endsignal von dem Beschleunigungs-Coprozessor 74 erhält.
- Nach Erhalt des letzten freien Speicherpuffers von dem Beschleunigungs-Coprozessor 74 kopiert der Hostprozessor 72 ausgewählte Bereiche des Speichers 78-1 in die erste Kontextdatei (Schritt 140), wobei insbesondere diese Abschnitte, die in der freien Speicherliste aufgelistet sind, nicht berücksichtigt werden, und sichert über den Schritt 142 die erste Kontextdatei in dem Plattenabschnitt 94. Als nächstes schickt der Hostprozessor 72 über den Schritt 144 einen Befehl zu dem Beschleunigungs-Coprozessor 74, der ihn lenkt, die Speichertabelle 78-1 zu löschen, so daß alle Pufferbereiche richtig initiahsiert werden. Bei Erhalt des Löschbefehls (Schritt 146) löscht der Beschleunigungs- Coprozessor 74 den Speicher 78-1 (Schritt 148) und schickt ein Quittierungssignal beim Schritt 150 zu dem Hostprozessor 72. Nachdem der Speicher 78-1 gelöscht worden ist (Schritt 151), wird die zweite Kontextdatei von der Hostprozessorplatte 94 gelesen und in den Beschleunigungs-Coprozessor 74 geschrieben, um den Speicher 78-2 (Schritt 154) zu bilden, und der Hostprozessor 72 schickt beim Schritt 156 einen Befehl "Register und Zustande wieder herstellen" zu dem Beschleunigungs-Coprozessor 74, d.h., einen zweiten, internen Zustand von der Speichertabelle 78-2 in den Mikroprozessor 80 zu schreiben. Nach dem Lesen dieses Befehls beim Schritt 158 überträgt der Beschleunigungs-Coprozessor 74 den zweiten, internen Zustand der zweiten Interpretiereranordnung von einem Speicherabschnitt in der Speichertabelle 78-2 zu dem Mikroprozessorabschnitt 90 (Schritt 160), und schickt beim Schritt 162 ein Quittierungssignal an den Hostprozessor 72.
- Indem der Mikroprozessor 80 mit dem zweiten, internen Zustand versehen wird, ist er fähig, die zweite, eingegebene Seitenbeschreibungssprachen-Datei ohne Initialisierung zu verarbeiten. Im wesentlichen kann, sobald der Mikroprozessor 80 mit dem zweiten, internen Zutand versehen ist, der Mikroprozessor 80 fortfahren, den Seitenbeschreibungssprachen-Interpretierercode des Speichers 78-2 auszuführen, als wenn der Mikroprozessor 80 stets in der zweiten Interpretiereranordnung gearbeitet hätte.
- Bezug nehmend auf die Fig. 6 und 7B zweigt, nachdem ein Quittierungssignal zu dem Hostprozessor 72 geschickt worden ist, der Beschleunigungs-Coprozessor 74 zu der Unterbrechungsdienstroutine 102 (Schritt 114), um den Seitenbeschreibungssprachen Interpretiererprozeß erneut zu beginnen. in der Zwischenzeit kehrt beim Erhalt des Quittierungssignals von dem Beschleunigungs-Coprozessor 74 (Schritt 164) der Prozeß auf der Seite des Hostprozessors zu einem Abwickler des Hostprozessors 72 zurück (Schritt 166).
- Zahlreiche Merkmale der vorliegenden Erfindung werden für den Durchschnittsfachmann auf dem Gebiet auf der Hand liegen. Ein Merkmal der vorliegenden Erfindung ist, daß sie eine einfache, jedoch wirksame Umlagerungstechnik schafft, die eine Seitenbeschreibungssprachen Vielfachinterpretiererfähigkeit in einem Server für ein Bilderzeugungssystem gestattet. insbesondere können viele Kontextdateien in dem Server gespeichert und von ihm benutzt werden, ohne seine Komplexität merklich zu erhöhen. Ein anderes Merkmal der vorliegenden Erfindung ist, daß sie äußerst wirtschaftlich ist. Das heißt, ein Hostprozessor steuert einen Coprozessor, indem die Interpretiereroperationen ausgeführt werden, wobei nur ein Hostprozessor und Betriebssystem verlangt werden, um eine Vielzahl Requester zu bedienen und eine Vielzahl von diesen Requestern vorgelegten Seitenbeschreibungssprachen zu Interpretieren. Ein noch anderes Merkmal der vorliegenden Erfindung ist, daß sie einen relativ schnellen Service für die Requester bereitstellt. Insbesondere werden Zeiteinsparungen erzielt, indem nur Bereiche der Speichertabellen zwischen dem Coprozessor und einer Plattnspeichereinrichtung umgelagert werden, sowie der interne Zustand des Coprozessors jeder Umlagerungsfolge geändert wird. Aufgrund des Wirkungsgrads der Umlagerungstechnik ist die Vielfachinterpretierungsfähigkeit der Servers 25 für jeden Interpretierer und jeden Requester transparent.
Claims (14)
1. Ein Verfahren zur Verwendung mit einem Server für ein Bilderzeugungssystem
von der Art, das eine erste Verarbeitungseinrichtung (72) aufweist, die mit einer
zweiten Verarbeitungseinrichtung (74) gekoppelt ist, wobei der Server des
Bilderzeugungssystems eine erste Speichertabelle (78-1), die eine Folge von Befehlen
aufweist, verwenden kann, um einen ersten Auftrag, der in einer ersten
Druckerseitenbeschreibungssprache geschrieben ist, zu übersetzen und eine zweite
Speichertabelle (78-2) verwenden kann, die eine Folge von Befehlen hat, einen
zweiten Auftrag zu übersetzen, der in einer zweiten
Druckerseitenbeschreibungssprache geschrieben ist, wobei eine der Speichertabellen (78-1) in der
zweiten Verarbeitungseinrichtung (74) und Bereiche der anderen Speichertabelle
in einem Speicherabschnitt (76) angeordnet sind, die Schritte umfassend:
Übertragen des ersten Auftrags zu der zweiten Verarbeitungseinrichtung (74);
Setzen eines Merkers in der zweiten Verarbeitungseinrichtung auf einen ersten
Zustand in Reaktion auf das Übertragen des ersten Auftrags dorthin;
Übersetzen der ersten Druckerseitenbeschreibungssprache in einen ersten,
interpretierten Ausgang mit der ersten Speichertabelle;
Übertragen des zweiten Auftrags zu der ersten Verarbeitungseinrichtung (72);
Setzen des Merkers in der zweiten Verarbeitungseinrichtung auf einen zweiten
Zustand in Reaktion auf das Übertragen des zweiten Auftrags zu der ersten
Verarbeitungseinrichtung;
Prüfen des Zustands des Merkers in der zweiten Verarbeitungseinrichtung; und
Umlagern von Bereichen der ersten Speichertabelle (78-1) und Bereichen der
zweiten Speichertabelle (78-2) mit der ersten Verarbeitungseinrichtung in
Reaktion auf eine Änderung des Zustands des Merkers, so daß die Bereiche der ersten
Speichertabelle in dem Speicherabschnitt (76) angeordnet werden, und Bereiche
der zweiten Speichertabelle in der zweiten Verarbeitungseinrichtung (74)
angeordnet werden, um die zweite Druckerseitenbeschreibungssprache in einen
zweiten, Interpretierten Ausgang zu übersetzen.
2. Das Verfahren des Anspruchs 1, worin der Übertragungsschritt umfaßt, den
ersten und zweiten Auftrag mit der ersten Verarbeitungseinrichtung zu übertragen,
und worin der Prüfschritt umfaßt, den Zustand des Merkers mit der ersten
Verarbeitungseinrichtung zu prüfen.
3. Das Verfahren des Anspruchs 1, wonn der Umlagerungsschritt umfaßt, mit der
ersten Verarbeitungseinrichtung die Bereiche der ersten Speichertabelle zu einer
Plattenspeichereinrichtung zu übertragen.
4. Das Verfahren des Anspruchs 1, bei dem die zweite Verarbeitungseinrichtung
einen Prozessor einschließt, und der Prozessor während des Schritts, die erste
Speichertabelle zu verwenden, um zu übersetzen, eine Gruppe Informationen
enthält, die einen ersten, internen Zustand des Prozessors betreffen, wobei der
Umlagerungsschritt einschließt, die Gruppe von Informationen zu der ersten
Speichertabelle in Reaktion auf das Erfassen der Änderung des Zustands des
Merkers zu übertragen, so daß der erste, interne Zustand des Prozessors zu
dem Speicherabschnitt in Reaktion auf diesen Umlagerungssch ritt übertragen
wird.
5. Das Verfahren des Anspruchs 4, bei dem ein Teil innerhalb der Bereiche der
zweiten Speichertabelle eine Gruppe von informationen im Bezug auf einen
zweiten, internen Zustand des Prozessors enthält, wobei der Umlagerungsschritt
einschließt, die Gruppe von Informationen in bezug auf den zweiten, internen
Zustand des Prozessors von dem Speicherabschnitt zu dem Prozessor zu
übertragen.
6. Das Verfahren des Anspruchs 1, das des weiteren die Schritte umfaßt:
Bereitstellen einer Liste von Speicherstellen in der ersten Speichertabelle, um
diejenigen Bereiche der ersten Speichertabelle anzugeben, die nicht zu dem
Speicherabschnitt übertragen werden müssen;
Lesen der Liste mit der ersten Verarbeitungseinrichtung, bevor der
Umlagerungsschritt ausgeführt wird;
Verwenden der Liste, um nur Bereiche der ersten Speichertabelle, die von jenen
auf der Liste verschieden sind, zuzulassen, zu dem Speicherabschnitt
übertragen zu werden.
7. Das Verfahren des Anspruchs 1, das des weiteren die Schritte umfaßt:
Übertragen, des ersten interpretierten Ausgangs zu einer Druckereinrichtung;
Zerlegen des ersten interpretierten Ausgangs, und Drucken des zerlegten,
ersten, interpretierten Ausgangs.
8. Ein Verfahren zum Umlagern von Bereichen einer ersten Speichertabelle (78-1),
die eine Folge von Befehlen und entsprechende Adressen hat, mit Bereichen
einer zweiten Speichertabelle (78-2), die eine Folge von Befehlen und
entsprechende Adressen hat, wobei die erste Speichertabelle in einer
Verarbeitungseinrichtung (78) angeordnet ist und Bereiche der zweiten Speichertabelle in einem
Speicherabschnitt (76) gespeichert sind, die erste und zweite Speichertabelle
betriebsmaßig einer ersten (103) bzw. einer zweiten Unterbrechungsroutine
zugeordnet sind, wobei jede der Unterbrechungsroutinen eine Folge von Befehlen
mit entsprechenden Adressen aufweist, die Schritte umfassend:
Umlagern von Bereichen der ersten Speichertabelle mit Bereichen der zweiten
Speichertabelle gemaß einer Umlagerungsroutine, die eine Folge von Befehlen
mit entsprechenden Adressen aufweist, wobei eine der Adressen in der Folge
von Befehlen der Umlagerungsroutine einen Merker darstellt, wobei der Merker
auf einen ausgewählten von einem ersten Zustand und einem zweiten Zustand
gesetzt wird;
Verarbeiten von der Folge von Befehlen für die erste Speichertabelle;
Unterbrechen des Verarbeitungsschritts in ausgewählten Intervallen, um den
Zustand der Flagge in der Folge von Befehlen der Umlagerungsroutine zu
prüfen;
Verarbeiten der Folge von Befehlen in der ersten Unterbrechungsroutine, wenn
der Merker auf den erste Zustand gesetzt ist, und, wenn der Merker auf den
zweiten Zustand gesetzt ist, Verarbeiten der Folge von Befehlen in der
Umlagerungsrouti ne, so daß die Bereiche der ersten Speichertabelle (78-1) in dem
Speicherabschnitt (76) gespeichert sind und die Bereiche der zweiten Speichertabelle
(78-2) in der Verarbeitungsein richtung (74) gespeichert sind.
9. Das Verfahren des Anspruchs 8, das des weiteren den Schritt umfaßt, die Folge
von Befehlen für die zweite Speichertabelle zu verarbeiten.
10. Das Verfahren des Anspruchs 9, das des weiteren den Schritt umfaßt, von der
Umlagerungsroutine zu einer ausgewählten Adresse der zweiten
Unterbrechungsroutine abzuzweigen, bevor die Folge von Befehlen der zweiten
Speichertabelle ausgeführt wird.
11. Das Verfahren des Anspruchs 8, in dem die Verarbeitungseinrichtung einen
Prozessor einschießt, der entweder die Folge von Befehlen für die erste
Speichertabeile oder die Folge von Befehlen für die zweite Speichertabelle ausführen kann,
wobei während des Verarbeitungsschritts der Prozessor eine Gruppe von
Informationen in bezug auf einen ersten, internen Zustand des Prozessors enthält,
wobei während des Schritts der Verarbeitung der Folge von Befehlen in der Um-
lagerungsroutine die Gruppe von Informationen in bezug auf den ersten, internen
Zustand des Prozessors zu der ersten Speichertabelle übertragen wird.
12. Das Verfahren des Anspruchs 11, in dem ein ausgewählter der Bereiche der
zweiten Speichertabelle eine Gruppe von Informationen in bezug auf einen
zweiten, internen Zustand für den Prozessor enthält, wobei das Verfahren des
weiteren den Schritt umfaßt, den ausgewählten der Bereiche der zweiten
Speichertabelle zu dem Prozessor zu übertragen, nachdem die Bereiche der zweiten
Speichertabelle in der zweiten Verarbeitungseinrichtung angeordnet worden sind.
13. Das Verfahren des Anspruchs 9, in dem eine zweite Verarbeitungseinrichtung
vorgesehen ist, wobei der Umiagerungsschritt umfaßt, die Bereiche der ersten
Speichertabelle und die Bereiche der zweiten Speichertabelle mit der zweiten
Verarbeitungseinrichtung umzulagern.
14. Das Verfahren des Anspruchs 8, worin der Schritt, die Folge von Befehlen für die
erste Speichertabelle zu verarbeiten, umfaßt, eine erste
Druckerseitenbeschreibungssprache in einen übersetzten Ausgang zu übersetzen, indem die Folge von
Befehlen in der ersten Speichertabelle ausgeführt wird.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/898,045 US5226112A (en) | 1992-06-12 | 1992-06-12 | Method for translating a plurality of printer page description languages |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69317698D1 DE69317698D1 (de) | 1998-05-07 |
DE69317698T2 true DE69317698T2 (de) | 1998-10-15 |
Family
ID=25408845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69317698T Expired - Fee Related DE69317698T2 (de) | 1992-06-12 | 1993-06-08 | Verfahren zum Übersetzen eines Vielzahl von Drucker-Seiten-beschreibende Sprachen |
Country Status (4)
Country | Link |
---|---|
US (1) | US5226112A (de) |
EP (1) | EP0574222B1 (de) |
JP (1) | JPH0695819A (de) |
DE (1) | DE69317698T2 (de) |
Families Citing this family (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4463003A (en) * | 1982-12-22 | 1984-07-31 | Fujisawa Pharmaceutical Co., Ltd. | Cephem compounds |
US5341472A (en) * | 1990-02-02 | 1994-08-23 | Apple Computer, Inc. | Efficient area description for raster displays |
US5933580A (en) * | 1991-09-04 | 1999-08-03 | Canon Kabushiki Kaisha | Scanner printer server |
JP3017605B2 (ja) * | 1992-06-19 | 2000-03-13 | キヤノン株式会社 | プリンタ制御方法およびその制御システム |
EP0585523B1 (de) * | 1992-09-03 | 1998-12-09 | Hewlett-Packard Company | Automatische Sprachgrenzerkennung für ein Peripheriegerät, das eine Vielzahl von Steuersprachen unterstützt |
US5459818A (en) * | 1992-11-02 | 1995-10-17 | Hewlett-Packard Company | Display list with crossing queues |
US6804016B2 (en) * | 1993-01-18 | 2004-10-12 | Canon Kabushiki Kaisha | Control apparatus for a scanner/printer |
JP3486427B2 (ja) * | 1993-01-18 | 2004-01-13 | キヤノン株式会社 | 制御装置および制御方法 |
US5483653A (en) * | 1993-04-02 | 1996-01-09 | Xerox Corporation | Printing system with file specification parsing capability |
US5402527A (en) * | 1993-04-23 | 1995-03-28 | Xerox Corporation | Apparatus and method for determining the page description language in which a print job is written |
EP0624969A1 (de) * | 1993-05-12 | 1994-11-17 | Mita Industrial Co. Ltd. | Bilderzeugungs- und Verarbeitungssystem |
US5594840A (en) * | 1993-05-26 | 1997-01-14 | Xerox Corporation | Apparatus and method for diagnosing the operation of a printing system |
US5566278A (en) * | 1993-08-24 | 1996-10-15 | Taligent, Inc. | Object oriented printing system |
JP3486467B2 (ja) * | 1993-10-21 | 2004-01-13 | キヤノン株式会社 | 画像記録装置及びその制御方法 |
IE69673B1 (en) * | 1994-04-06 | 1996-10-02 | Offset Studios Ltd | An image processing method |
US5469534A (en) * | 1994-06-14 | 1995-11-21 | Xerox Corporation | Method for translating image processing data |
US5526469A (en) * | 1994-06-14 | 1996-06-11 | Xerox Corporation | System for printing image data in a versatile print server |
US5493635A (en) * | 1994-06-14 | 1996-02-20 | Xerox Corporation | System for combining heterogeneous image processing jobs into a single job |
US5615015A (en) * | 1994-08-01 | 1997-03-25 | Xerox Corporation | Apparatus and method of programming a job to be processed at a location other than the location at which the job is prepared |
US5579447A (en) | 1994-11-25 | 1996-11-26 | Xerox Corporation | System for developing and displaying a representation of a total estimated time to print a job |
US5550957A (en) * | 1994-12-07 | 1996-08-27 | Lexmark International, Inc. | Multiple virtual printer network interface |
US5636333A (en) * | 1994-12-20 | 1997-06-03 | Lexmark International, Inc. | Multi-protocol network interface |
US5640495A (en) * | 1994-12-20 | 1997-06-17 | Lexmark International, Inc. | Computer-printer interface control for bidirectional/undirectional data communications |
US5699494A (en) * | 1995-02-24 | 1997-12-16 | Lexmark International, Inc. | Remote replication of printer operator panel |
US5727135A (en) * | 1995-03-23 | 1998-03-10 | Lexmark International, Inc. | Multiple printer status information indication |
US5905906A (en) * | 1995-03-31 | 1999-05-18 | Lexmark International, Inc. | Method and apparatus for configuring multiple printers on a network |
US5689343A (en) * | 1995-05-26 | 1997-11-18 | Xerox Corporation | Area mapping employing reference clusters for high quality noninteger resolution conversion with enhancement |
US5671345A (en) * | 1995-06-06 | 1997-09-23 | Apple Computer, Inc. | System and method for intercepting and reconstructing graphics management tool marking instructions |
US5825991A (en) * | 1995-10-30 | 1998-10-20 | Xerox Corporation | System for balancing CPU demands in a high-volume print server |
US5715379A (en) * | 1995-10-30 | 1998-02-03 | Xerox Corporation | Architecture for a digital printer with multiple independent decomposers |
CA2247908C (en) * | 1996-03-01 | 2005-01-25 | Fmr Corp. | Open systems printing |
US5720015A (en) * | 1996-04-22 | 1998-02-17 | Lexmark International, Inc. | Method and apparatus for providing remote printer resource management |
US5873659A (en) * | 1996-04-24 | 1999-02-23 | Edwards; Steve Michael | Method and apparatus for providing a printer having internal queue job management |
US5926185A (en) * | 1996-05-03 | 1999-07-20 | Barco Graphics N.V. | Method for processing a set of page description language commands to reduce complexity |
US6246485B1 (en) | 1996-05-23 | 2001-06-12 | Lexmark International, Inc. | Printer communication system and method |
FI102923B (fi) | 1996-08-08 | 1999-03-15 | Nokia Mobile Phones Ltd | Tiedontulostusjärjestelmä, menetelmä tiedon tulostamiseksi sekä päätel aitteet tiedon tulostamiseksi |
JPH10147043A (ja) * | 1996-09-12 | 1998-06-02 | Canon Inc | 画像形成システム及び画像形成システムの制御方法 |
US6097496A (en) * | 1997-04-21 | 2000-08-01 | Hewlett-Packard Company | Integrated display list and building tool for multiple personalities |
US6738080B1 (en) | 1998-03-02 | 2004-05-18 | Xerox Corporation | Message management system for a user interface of a multifunctional printing system |
US6535297B1 (en) | 1998-03-02 | 2003-03-18 | Xerox Corporation | Programmable auditron for multifunctional printing system |
US6583888B1 (en) | 1998-03-02 | 2003-06-24 | Xerox Corporation | System for managing service access in a multifunctional printing system |
US6501485B1 (en) | 1998-03-02 | 2002-12-31 | Xerox Corporation | Message management system for a user interface of a multifunctional printing system |
US6084688A (en) * | 1998-04-30 | 2000-07-04 | Xerox Corporation | Network print server with page-parallel decomposing |
US7126703B1 (en) | 1998-08-04 | 2006-10-24 | Sharp Laboratories Of America, Inc. | Printer controller with error recovery for multiple language capability |
US6256624B1 (en) * | 1998-08-17 | 2001-07-03 | Qwest Communications International, Inc. | Computing system for operating report production facilities |
US6373585B1 (en) * | 1998-08-26 | 2002-04-16 | International Business Machines Corporation | Load balancing for processing a queue of print jobs |
US6842262B1 (en) | 1998-09-08 | 2005-01-11 | Sharp Laboratories Of America, Inc. | Iconic printer interface providing document composition features |
WO2001029648A2 (en) | 1999-10-19 | 2001-04-26 | Electronics For Imaging, Inc. | Method and apparatus for smart job ticket processing for print streams |
JP2002041252A (ja) * | 2000-07-31 | 2002-02-08 | Riso Kagaku Corp | データ伝送装置、データ伝送方法、印刷装置、印刷方法および印刷システム |
TW579468B (en) * | 2000-09-27 | 2004-03-11 | Hewlett Packard Co | Method and apparatus for applying information remotely via a mobile device |
US20020186393A1 (en) * | 2001-06-11 | 2002-12-12 | Pochuev Denis A. | Document printing using format-specific translation modules |
US7283268B2 (en) * | 2002-07-11 | 2007-10-16 | Paxar Corporation | Printer with interpreter |
US7256901B2 (en) * | 2002-10-10 | 2007-08-14 | Sharp Laboratories Of America, Inc. | Printer driver customization using incremental custom print processor |
US20040150840A1 (en) * | 2003-01-30 | 2004-08-05 | Farrell Michael E. | Methods and systems for structuring a raster image file for parallel streaming rendering by multiple processors |
KR100529326B1 (ko) * | 2003-06-24 | 2005-11-17 | 삼성전자주식회사 | 프린팅 데이타의 처리 방법과 장치 및 컴퓨터 프로그램을저장하는 컴퓨터로 읽을 수 있는 기록 매체 |
US20060282352A1 (en) * | 2005-05-02 | 2006-12-14 | Xerox Corporation | Printing device accounting data push systems and methods |
TWI271095B (en) * | 2005-10-28 | 2007-01-11 | Hi Touch Imaging Tech Co Ltd | Method for printing an image during an image playing mode |
JP4290711B2 (ja) * | 2006-06-26 | 2009-07-08 | 株式会社沖データ | 印刷装置 |
JP5013068B2 (ja) * | 2007-01-26 | 2012-08-29 | 富士ゼロックス株式会社 | 印刷設定指示装置、印刷設定指示システムおよび制御プログラム |
US8314953B2 (en) * | 2007-09-07 | 2012-11-20 | Xerox Corporation | System and method for processing a highlight color print job |
JP2010176218A (ja) * | 2009-01-27 | 2010-08-12 | Seiko Epson Corp | 印刷システム、印刷装置、印刷方法 |
JP5303808B2 (ja) * | 2009-08-06 | 2013-10-02 | 株式会社Pfu | 提案装置、提案システム、提案方法、及びプログラム |
JP6373633B2 (ja) | 2014-04-30 | 2018-08-15 | 理想科学工業株式会社 | 画像処理装置、及び、プログラム |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4833596A (en) * | 1985-02-28 | 1989-05-23 | International Business Machines Corporation | Logical arrangement for controlling use of different system displays by main processor and co-processor |
US4920481A (en) * | 1986-04-28 | 1990-04-24 | Xerox Corporation | Emulation with display update trapping |
US4992958A (en) * | 1988-06-27 | 1991-02-12 | Hitachi, Ltd. | Method and apparatus for controlling printer |
US5047957A (en) * | 1988-10-21 | 1991-09-10 | Minolta Camera Kabushiki Kaisha | Printer controller |
US5075874A (en) * | 1989-04-10 | 1991-12-24 | Eastman Kodak Company | Communications interface for computer output printer |
US5165014A (en) * | 1990-09-12 | 1992-11-17 | Hewlett-Packard Company | Method and system for matching the software command language of a computer with the printer language of a printer |
-
1992
- 1992-06-12 US US07/898,045 patent/US5226112A/en not_active Expired - Fee Related
-
1993
- 1993-06-08 EP EP93304429A patent/EP0574222B1/de not_active Expired - Lifetime
- 1993-06-08 DE DE69317698T patent/DE69317698T2/de not_active Expired - Fee Related
- 1993-06-10 JP JP13876893A patent/JPH0695819A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
EP0574222B1 (de) | 1998-04-01 |
DE69317698D1 (de) | 1998-05-07 |
JPH0695819A (ja) | 1994-04-08 |
EP0574222A3 (de) | 1994-02-02 |
EP0574222A2 (de) | 1993-12-15 |
US5226112A (en) | 1993-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69317698T2 (de) | Verfahren zum Übersetzen eines Vielzahl von Drucker-Seiten-beschreibende Sprachen | |
DE69434109T2 (de) | Gerät und Verfahren zur Bestimmung der Seitenbeschriebungssprache, in welcher eine Druckaufgabe geschrieben ist | |
DE69623077T2 (de) | Gerät und Verfahren zur Programmierung eines Druckauftrags mit einem Auftragsticket aus einem entfernten Speicherbereich | |
DE69327746T2 (de) | Vorrichtung und Methode für das Aufgliedern einer Arbeitanweisung in einem Duckersystem | |
DE69528210T2 (de) | Drucker-Steuerungssystem, das Dokumente des Kopierertyps behandelt | |
DE69725778T2 (de) | Druckerkommunikationssystem und -verfahren | |
DE69522908T2 (de) | Gerät und Verfahren zur Schätzung der Gesamtzeit für die Ausführung eines Druckerjobs | |
DE69616119T2 (de) | Netzwerkschnittstellenkarte für digitales Kopiergerät | |
DE69422076T2 (de) | Druckersystem mit Datenanalyse-Bestimmungsfähigkeit | |
DE69520535T2 (de) | Verfahren zur Bearbeitung eines Auftrags in einem Druckersystem mit einem zusammengesetzten Auftragsetikett | |
DE69727906T2 (de) | Geschalteter Druckertreiber in Windows-Betriebssystem | |
DE69434717T2 (de) | Datenverarbeitungsgerät das als Host arbeitet und Verfahren um das Datenverarbeitungsgerät zu steuern | |
DE69524381T2 (de) | Parallele Verarbeitung des Datenstroms der Seitenbeschreibungssprache | |
DE4226052C2 (de) | Drucksteuerungsverfahren und -gerät, die eine Vielzahl von Prozessoren verwenden | |
DE69117112T2 (de) | Verfahren und Vorrichtung zur Bildwiedergabe | |
DE69226736T2 (de) | Druckersystem, in dem ein von Druckertreibern die Druckerdaten gesendet werden, ein Datenprozessor zu einem Drucker ausgewählt wird basierend auf Interpretierern, welche in dem Drucker vorhanden sind | |
DE69230985T2 (de) | Bildverarbeitungssystem mit mehreren Speicheranordnungen | |
DE69224887T2 (de) | Single-chip seitendrucker-steuerschaltung | |
DE69837237T2 (de) | Druckersteuerungssystem und -verfahren zur Vorbereitung eines Seitenlayouts | |
US5475801A (en) | System for controlling the printing of electronic documents with various page description languages and other parameters | |
DE69428929T2 (de) | Gerät und Verfahren zur Verarbeitung einer Folge von Bilddaten in einem Drucksystem | |
DE69321398T2 (de) | Datenverarbeitungssystem und Ausgangseinheit | |
DE69835936T2 (de) | Bilddrucksystem sowie hierin enthaltenes aufgeteiltes Druckverfahren | |
DE3820075A1 (de) | Verfahren zum gesteuerten reproduzieren von bildern in bitplangesteuerten laserprintern | |
EP1197347A2 (de) | Schnittstellen-System und Verfahren |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |