-
Diese
Erfindung betrifft im Allgemeinen ein multifunktionales Drucksystem
mit einer oder mehreren Warteschlangen, und insbesondere ein Wettbewerb-Verwaltungsschema,
welches sowohl die Priorisierung von einem oder mehreren Jobs auf
der Basis der Quelle, bei welcher der eine oder die mehreren Jobs
entstanden sind, für
den Zweck der Verwaltung der Einfügung des(r) priorisierten einen
oder mehreren Jobs in die eine oder mehreren Warteschlangen beabsichtigt,
als auch, dass Jobs gemäß einem
vorprogrammierten Satz von Regeln verarbeitet werden.
-
Elektronische
Drucksysteme enthalten typischerweise einen manchmal als Eingabebildterminal
(IIT) bezeichneten Eingabeabschnitt, eine Steuerung und einen manchmal
als ein Bildausgabeterminal (IOT) bezeichneten Ausgabeabschnitt
oder eine Druckmaschine. In einem Typ eines von Xerox®-Corporation
hergestellten elektronischen Drucksystems, das als elektronisches
Drucksystem Docutech® bekannt ist, kann ein Job
für das
Drucksystem neben anderen Quellen von einem Netzwerk oder einem
Scanner eingegeben werden.
-
Das
Konzept einer Druckwarteschlange ist wesentlicher Bestandteil für den Betrieb
der verschiedenen digitalen Wiedergabesysteme. Über eine geeignete Warteschlangenverwaltung
kann ein sich momentan in dem Druckprozess befindender Job durch
einen Unterbrechungsjob in einer in US-A-5,206,735 offenbarten Weise
unterbrochen werden.
-
Insbesondere
wird gemäß dem '735 Patent ein spezieller
Job aus einem Massenspeicher, der beispielsweise durch eine "Jobdatei" dargestellt wird,
erhalten und in die Warteschlange an einem "logischen Punkt" in Bezug auf den momentan ausgeführten Job
eingefügt.
Wenn der Druckvorgang den logischen Punkt erreicht, bei welchem
der spezielle Job eingefügt
wurde, wird der momentan ausgeführte
Job unterbrochen, so dass der spezielle Job ausgeführt wird.
Nach dem Abschluss der Verarbeitung des speziellen Jobs wird die Verarbeitung
des unterbrochenen Jobs wieder aufgenommen.
-
Die
in dem '735 Patent
offenbarte Warteschlange wird im Normalfall auf einer "first-come-first-serve" ("FIFO")-Basis mit verwaltet,
außer
wenn spezielle oder Unterbrechungsjobs in die Warteschlange eingefügt sind.
In der dargestellten Ausführungsform
des '735 Patentes
wird der Unterbrechungsjob in die Warteschlange gemäß vorstehender
Beschreibung eingefügt,
außer
wenn sich ein Unterbrechungsjob momentan in dem Druckvorgang befindet.
Wenn ein Unterbrechungsjob momentan gedruckt wird, wird ein zweiter
Unterbrechungsjob hinter dem gerade ablaufenden Unterbrechungsjob
platziert. Im Wesentlichen wird dem momentan ablaufenden Unterbrechungsjob
Priorität
gegeben. Die Probleme in Verbindung mit der Unterbrechung eines ersten
Unterbrechungsjobs durch einen zweiten Unterbrechungsjob werden
auch in US-A-5,535,009 behandelt.
-
Die
Warteschlangenverwaltungsanordnung des '735 Patentes ist nicht optimal zur Verwendung
in einem multifunktionalen Zusammenhang geeignet, da sie nicht zwischen
Jobtypen für
den Zweck der Verwaltung der Warteschlange unterscheidet. Demzufolge
kann einem Druck-Job in vielen üblichen
Fällen
keine Priorität
gegenüber
einem Kopier-Job
oder umgekehrt gegeben werden. Besonders gut geeignete Systeme zur Verwendung
mit multifunktionalen Drucksystemen sind in US-A-4,947,345 und in
der Japanischen Anmeldung 58-152821 offenbart.
-
Insbesondere
wird gemäß dem '345 Patent eine erste
Warteschlange verwendet, um Kopier- und Druck-Jobs zu speichern,
während
eine mit der ersten Warteschlange kommunizierende zweite Warteschlange
zum Speichern von Faksimile-("Fax")-Jobs parallel zu
der ersten Warteschlange verwendet wird. Nachdem eine vorbestimmte
Anzahl von einem oder mehreren Fax-Jobs in der zweiten Warteschlange
gespeichert ist, werden der bzw. die gespeicherten Jobs vor den
Jobs der ersten Warteschlange platziert, so dass der eine oder die
mehreren Fax-Jobs vor den momentan in der Warteschlange eingereihten
Kopier/Druck-Jobs gedruckt werden können.
-
Obwohl
das Warteschlangen-Verwaltungsverfahren des '345 Patentes eine Jobunterscheidung
vornimmt, macht sie diese nur in einer eingeschränkten Weise. Beispielsweise
kann der Fax-Warteschlange eine bevorzugte Behandlung in Bezug auf
die Kopier/Druck-Warteschlange gegeben werden, so dass einer oder mehrere
Fax-Jobs vor einem der Kopier- oder Druck-Jobs gedruckt werden können. Es
wird jedoch kein Me chanismus zur bevorzugten Behandlung eines vorgegebenen
Kopier- oder Druck-Jobs vorgeschlagen. Zusätzlich kann in dem Ansatz des '345 Patentes ein
Kopier- oder Druck-Job in der Kopier/Druck-Warteschlange "hängen bleiben", wenn mehreren Fax-Jobs eine bevorzugte
Bearbeitungsbehandlung in Bezug auf die Kopier/Druck-Jobs gegeben
wird.
-
Insbesondere
mangelt dem "345
Patent, obwohl es für
seinen eingeschränkten
Zweck gut erdacht ist, die Art von flexibler Warteschlangenverwaltung,
die für
multifunktionale Drucksysteme erforderlich ist, deren Fähigkeiten
und Einssätze
mit einer ständig
zunehmenden Geschwindigkeit zunehmen. Es wäre wünschenswert, ein multifunktionales
Drucksystem bereitzustellen, das einen breiten Bereich einer Warteschlangenverwaltung
so bereitstellt, dass das entsprechende System sich sowohl an die
spezifischen Bedürfnisse
verschiedener unterschiedlicher Benutzer als auch an die vielen
unterschiedlichen Arten der von diesen Nutzern geforderten Nutzungen
anpassen kann. Gleichzeitig wäre
es wünschenswert,
ein Warteschlangenverwaltungssystem für ein multifunktionales Drucksystem
bereitzustellen, das den geeigneten Durchsatz aller Arten von Jobs
ermöglicht,
welche man in dem multifunktionalen Drucksystem antreffen kann.
-
EP-A-0
465 166 und EP-A-0 496 865 offenbaren Druckverfahren, in welchen
speziellen Jobs ein Unterbrechungsstatus zugewiesen werden kann,
in welchen sie einen Vorrang gegenüber anderen Jobs erhalten. In
EP-A-0 465 166 wird dieser Unterbrechungsstatus Andruck-Jobs zugewiesen.
-
Die
Verfahren gemäß vorstehender
Beschreibung sind nicht einfach auf die Handhabung von Jobs von verschiedenen
Benutzern anpassbar.
-
Gemäß der vorliegend
offenbarten Erfindung wird ein Verfahren für ein multifunktionales Drucksystem mit
einer Warteschlange zum Speichern mehrerer Jobs in Erwartung von
deren Bearbeitung bereitgestellt. Das multifunktionale Drucksystem
enthält
eine Steuerung (44), um eine Platzierung der mehreren Jobs
in der Warteschlange zu ermöglichen,
und die Warteschlange nimmt einen oder mehrere Jobs eines ersten
Benutzertyps oder eines zweiten Benutzertyps auf. Das Verfahren
umfasst die Schritte: a) Platzieren eines ersten Jobs und eines
zweiten Jobs in der Warteschlange, wobei jeder von der ersten und
der zweiten Jobs einer des ersten Benutzertyps ist; b) Ermitteln,
mittels der Steue rung, ob ein dritter Job eines des ersten Benutzertyps
oder des zweiten Benutzertyps ist; c) als Antwort auf die Ermittlung,
dass der dritte Job einer des ersten Benutzertyps ist, Bearbeiten
des dritten Jobs nach jedem von den ersten und zweiten Jobs; und
d) als Antwort auf die Ermittlung, dass der dritte Job einer des
zweiten Benutzertyps ist, Bearbeiten des dritten Jobs wenigstens
vor dem zweiten Job.
-
Eine
spezielle Ausführungsform
der vorliegenden Erfindung wird nun unter Bezugnahme auf die beigefügten Zeichnungen
beschrieben, in welchen:
-
1 eine
perspektivische Ansicht eines an ein Netzwerk angeschlossenen für die Aufnahme
eines Jobs geeigneten digitalen Kopierers ist, der gemäß der vorliegenden
Erfindung entwickelt wurde;
-
2 eine
Blockdarstellung ist, die eine multifunktionale, Netzwerk-adaptive
Druckmaschine darstellt;
-
3 eine
Blockdarstellung eines Video-Steuermoduls für die Druckmaschine von 2 ist;
-
4 eine
Blockdarstellung eines in Verbindung mit der Druckmaschine von 3 verwendeten Übertragungsmoduls
ist;
-
5 eine
Blockdarstellung einer in Verbindung mit dem Video-Steuermodul von 3 verwendeten Faksimile-Karte
ist;
-
6 eine
Blockdarstellung einer Netzwerksteuerung für die Druckmaschine von 2;
-
7 eine
Aufrissansicht einer zum Speichern von Jobs entsprechend ihrer Verarbeitung
verwendeten Warteschlange;
-
8 eine
schematische Ansicht einer Job-Platzierungstabelle ist, die im Speicher
gespeichert ist und dazu verwendet wird, Jobs, neben anderen Stellen,
in der Warteschlange von 7 zu platzieren; und
-
9 und 10 eine
schematische Ansicht aufweisen, die eine Art darstellen, in welcher
Jobs in einer Warteschlange (siehe z.B. 7) als eine
Funktion eines Aspektes einer in der vorliegenden Erfindung verkörperten
Wettbewerbsverwaltung vorankommen.
-
In 1 von
den Zeichnungen ist ein digitales Kopiersystem des zur Verwendung
mit der bevorzugten Ausführungsform
geeigneten Typs dargestellt. Gemäß Darstellung
enthält
das System eine Dokumentenzuführung 1 und
ein Bedienungs-(und Anzeige)-Feld 2. Nachdem gewünschte Bedingungen
in dem Bedienungsfeld 2 eingegeben worden sind, transportiert
die Dokumentenzuführung 1 ein
Dokument an eine vorbestimmte Leseposition auf einer Bildlesevorrichtung 3,
und befördert
es, nachdem das Dokument eingelesen worden ist, aus der Leseposition
weg. Die Bildlesevorrichtung 3 beleuchtet das an seine
Leseposition gebrachte Dokument. Die sich ergebende Reflexion aus
dem Dokument wird durch eine Festkörper-Bildgebungsvorrichtung (z.B.
einen CCD-(Charge Coupled Device)-Bildsensor in ein entsprechendes
elektrisches Signal, oder Bildsignal umgesetzt. Eine Bilderzeugungsvorrichtung 4 erzeugt
ein durch das Bildsignal repräsentiertes
Bild auf einem normalen Papier oder wärmeempfindlichen Papier über ein
elektrofotografisches, wärmeempfindliches, Wärmeübertragungs-Tintenstrahl-
oder ein ähnliches
herkömmliches
System.
-
Wenn
ein Papierblatt aus einer von den Papierkassetten 7 der
Bilderzeugungsvorrichtung 4 zugeführt wird, erzeugt die Vorrichtung 4 ein
Bild auf einer Seite des Papiers. Eine Duplex-Kopiereinheit 5 ist
so aufgebaut, dass sie das das Bild auf seiner einen Seite tragende
Papierblatt umdreht, und wieder der Bilderzeugungsvorrichtung 4 zuführt. Demzufolge
wird ein Bild auf der anderen Seite des Papiersblattes erzeugt,
um eine Duplex-Kopie fertig zu stellen. Die Duplex-Kopiereinheit 5 ist
kundenspezifisch ausgelegt, um das Papierblatt unmittelbar neu zuzuführen, oder
um sequentiell mehrere aufeinander gestapelte Papierblätter von
dem unteren Papier bis zu dem oberen Papier zuzuführen. Die
aus der Bilderzeugungsvorrichtung 4 ausgegebenen Papierblätter oder
Duplex-Kopien werden der Reihe nach durch eine Ausgabevorrichtung 6 in
Seitenreihenfolge oder Seite für
Seite sortiert.
-
Anwendungen,
im Allgemeinen 8, nutzen gemeinsam die Dokumentzuführung 1,
das Bedienungsfeld 2, die Bildlesevorrichtung 3,
die Bilderzeugungsvorrichtung 4, die Duplex-Einheit 5,
die Ausgabevorrichtung 6 und Papierkassetten 7,
welche die in das Kopiersystem eingebauten Ressourcen sind. Offensichtlich
umfassen die Anwendungen eine Kopier-Anwendung, eine Drucker-(IOT)-Anwendung,
eine Faksimile-(Fax)-Anwendung
und andere Anwendungen. Zusätzlich
ist das digitale Kopiersystem mit einem Netzwerk über eine
herkömmliche
Netzwerkverbindung 9 verbunden.
-
In 2 ist
ein multifunktionales, Netzwerk-adaptives Drucksystem mit dem Bezugszeichen 10 bezeichnet.
Das Drucksystem 10 enthält
eine Druckmaschine 12, die funktionell mit einem Netzwerkdienstmodul 14 verbunden
ist. Die Druckmaschine 12 enthält ein als Video-Steuermodul
(VCM) bezeichnetes elektronisches Subsystem 16, das mit
einem Scanner 18 und einem Drucker 20 kommuniziert.
In einem Beispiel koordiniert die VCM 16, welche anschließend detaillierter
beschrieben wird, den Betrieb des Scanners und Druckers in einer
digitalen Kopieranordnung. In einer digitalen Kopieranordnung liest
der Scanner 18 (welcher auch als Bildeingabeterminal (IIT)
bezeichnet wird) ein Bild eines Originaldokumentes unter Verwendung
einer CCD-Anordnung über
die gesamte Breite ein und wandelt die erfassten analogen Videosignale
in digitale Signale um. Ein dem Scanner 18 zugeordnetes
Bildverarbeitungssystem 22 (3) führt wiederum
eine Signalkorrektur und dergleichen durch, wandelt die korrigierten
Signale in Mehrstufesignale (z.B. binäre Signale) um, komprimiert
die Mehrstufesignale und speichert dieselben bevorzugt in einem
elektronischen Vorsammel-(EPC)-Speicher 24.
-
Des
Weiteren enthält
gemäß 2 der
(auch als ein Bildausgabeterminal (IOT) bezeichnete) Drucker 20 bevorzugt
eine xerografische Druckmaschine. In einem Beispiel enthält die Druckmaschine
ein (nicht dargestelltes) Mehrfachrasterband, welches mit einer
Bilderzeugungsquelle, wie z.B. einer synchronen Quelle (wie z.B.
einer Laserrasterausgabe-Scanvorrichtung) oder einer asynchronen
Quelle (wie z.B. einer LED-Druckzeile)
beschrieben wird. In einem Druckzusammenhang werden die Mehrstufe-Bilddaten aus dem EPC-Speicher 24 (3)
ausgelesen, während
die Bilderzeugungsquelle gemäß den Bilddaten
ein- und ausgeschaltet wird, was ein Latenzbild auf dem Fotorezeptor
erzeugt. Das Latenzbild wird wiederum beispielsweise mit einer Hybridsprung-Entwicklungstechnik
entwickelt und auf ein Printmedienblatt übertragen. Nach der Fixierung
des sich ergebenden Druckes kann dieser für die Rückseitenbedruckung umgedreht
oder einfach ausgegeben werden. Der Fachmann auf diesem Gebiet wird
erkennen, dass der Drucker andere Formen außer einer xerografischen Druckmaschine
annehmen kann, ohne von dem Konzept abzuweichen, auf welchem die
offenbarte Aus führungsform
basiert. Beispielsweise könnte
das Drucksystem 10 mit einem Thermotintenstrahl- oder ionografischen
Drucker implementiert werden.
-
Unter
Bezugnahme auf 3 wird die VCM 16 detaillierter
diskutiert. Die VCM 16 enthält einen Videobus (VBus) 28,
mit welchem verschiedene I/O-, Datenübertragungs- und Speicherkomponenten
kommunizieren. Bevorzugt ist der VBus ein schneller 32 Bit Datenbündelübertragungs-Bus,
welcher auf 64 Bit erweiterbar ist. Die 32 Bit Implementation besitzt
eine nutzbare maximale Bandbreite von angenähert 60 MByte/s. In einem Beispiel
beträgt
die Bandbreite des VBusses bis zu 100 MByte/s.
-
Die
Speicherkomponenten des VCM befinden sich in dem EPC-Speicherabschnitt 30 und
dem Massenspeicherabschnitt 32. Der EPC-Speicherabschnitt
enthält
den EPC-Speicher 24,
wobei der EPC-Speicher mit dem VBus über eine DRAM-Steuerung 33 verbunden
ist. Der EPC-Speicher, welcher bevorzugt ein DRAM ist, bietet eine
Erweiterung bis zu 60 MByte über
zwei 32 Bit SIMM-Module hoher Dichte. Der Massenspeicherabschnitt 32 enthält eine
SCSI-Festplatte 34, die mit dem VBus über ein Übertragungsmodul 36a verbunden ist.
Offensichtlich sind die weiteren I/O- und Verarbeitungskomponenten
jeweils mit dem VBus über Übertragungsmodule 36 verbunden.
Man wird erkennen, dass weitere Vorrichtungen (z.B. eine Workstation)
mit dem VBus über
das Übertragungsmodul 36a unter
Verwendung einer geeigneten Schnittstelle und einer SCSI-Leitung
verbunden sein könnten.
-
Unter
Bezugnahme auf 4 wird der Aufbau von einem
der Übertragungsmodule 36 detaillierter
diskutiert. Das dargestellte Übertragungsmodul
von 4 enthält
einen Paketpuffer 38, eine VBus-Schnittstelle 40 und
eine DMA-Übertragungseinheit 42.
Das Übertragungsmodul 36,
welches mit "VHSIC" Hardware Description
Language (VHDL) bezeichnet wurde, ist eine programmierbare Anordnung,
welche es ermöglicht,
Pakete mit Bilddaten entlang der VBusses mit einer relativ hohen Übertragungsrate
zu übertragen.
Insbesondere ist der Paketpuffer so programmierbar, dass das Segment
oder Paket abhängig
von der verfügbaren
Bandbreite des VBusses variiert werden kann. In einem Beispiel kann
der Paketpuffer so programmiert sein, dass er Pakete bis zu 64 Bytes
handhabt. Bevorzugt würde
die Paketgröße für Zeiten,
bei denen der VBus relativ beschäftigt
ist reduziert werden und für
Zeiten, wenn die Aktivität
auf dem Bus relativ niedrig ist, vergrößert werden.
-
Eine
Anpassung der Paketgröße wird
mit der VBus-Schnittstelle 40 (4) und einer
Systemsteuerung 44 (6) erreicht.
Im Wesentlichen ist VBus-Schnittstelle eine Anordnung von logischen
Komponenten, welche u.a. Adresszähler,
Decoder und Zustandsmaschinen enthält, welche dem Übertragungsmodul
einen gewählten
Grad an Intelligenz verleihen. Die Schnittstelle 40 kommuniziert
mit der Systemsteuerung, um die Übersicht über der
gewünschten
Paketgröße zu behalten
und diese Kenntnis wird wiederum dazu verwendet, um die Paketgröße des Paketpuffers 38 in
Abhängigkeit
von den Bus-Bedingungen einzustellen. D.h., die Steuerung gibt angesichts
dieser Kenntnis unter Berücksichtigung
der Bedingungen auf dem VBus 28 Anweisungen an die Schnittstelle 40 so,
dass die Schnittstelle die Paketgröße dementsprechend anpassen
kann. Eine weitere Diskussion bezüglich des Betriebs des Übertragungsmoduls 36 wird
nachstehend gegeben.
-
Insbesondere
wird die Bildübertragung
mit einer DMA-Übertragungseinheit
ermöglicht,
welche eine herkömmliche
DMA-Übertragungsstrategie
verwendet, um die Pakete zu übertragen.
Mit anderen Worten, die Anfangs- und Endadressen des Paketes werden
von der Übertragungseinheit
bei der Implementierung einer vorgegebenen Übertragung verwendet. Wenn
eine Übertragung
abgeschlossen ist, sendet die Schnittstelle 40 ein Signal
an die Systemsteuerung 40 zurück, so dass weitere Information,
wie z.B. die gewünschte
Paketgröße und Adressenbezeichnungen
erhalten werden können.
-
In 2 und 3 sind
drei I/O-Komponenten betrieblich mit dem VBus 28 verbunden
dargestellt, nämlich
ein Fax-Modul 48, der Scanner oder das IIT 18 und
der Drucker oder das IOT 20; es dürfte jedoch erkennbar sein,
dass eine große
Vielfalt von Komponenten mit dem VBus über einen Erweiterungsschlitz 50 verbunden
werden könnten.
Unter Bezugnahme auf 5 wird eine Implementation für das Fax-Modul,
welches mit dem VBus 28 über ein Übertragungsmodul 36b verbunden
ist, im Detail weiter diskutiert. In der bevorzugten Ausführungsform
enthält
ein Faksimile-Gerät
(Fax) 51 eine Kette von Komponenten, nämlich einen Abschnitt 52 zum
Durchführen
einer Xerox-adaptiven Kompression/Dekompression, einen Abschnitt 54 zum Skalieren
komprimierter Bilddaten, einen Abschnitt 56 zum Umwandeln
komprimierter Bilddaten in das oder aus dem CCITT-Format und einen
Modem 58, welcher bevorzugt von Rockwell Corporation her gestellt
ist, um CCITT-formatierte Daten aus dem oder an das Telefon über eine
herkömmliche
Kommunikationsleitung zu übertragen.
-
Des
Weiteren sind gemäß 5 alle
Abschnitte 52, 54 und 56 sowie der Modem 58 mit
dem übertragungsmodul 36b mittels
einer Steuerleitung 60 verbunden. Diese ermöglicht die
Ausführung
von Übertragungen
an und von dem Fax-Modul 48 ohne Einbeziehung eines Prozessors.
Wie es sich verstehen dürfte
kann das Übertragungsmodul 36b als
ein Master oder Slave für
das Fax-Modul dahingehend dienen, dass das Übertragungsmodul Bilddaten
an das Fax für
die Zwecke der Übertragung
liefern oder ein ankommendes Fax empfangen kann. In Betrieb reagiert
das Übertragungsmodul 36b auf
das Fax-Modul in derselben Weise wie es auf irgendeine andere I/O-Komponente
reagieren würde.
Beispielsweise liefert, um einen Fax-Job zu übertragen, das Übertragungsmodul 36b Pakete
an den Abschnitt 52 unter Verwendung der DMA-Übertragungseinheit 42,
und sobald ein Paket geliefert ist, sendet das Übertragungsmodul ein Unterbrechungssignal
an den Systemprozessor 44, welcher ein weiteres Paket anfordert.
In einer Ausführungsform
werden zwei Pakete in dem Paketpuffer 38 gehalten, so dass
ein "Ping-Pong-Betrieb" zwischen den zwei
Paketen stattfinden kann. Auf diese Weise verliert das Übertragungsmodul 36b selbst
dann keine Bilddaten, wenn sie die Steuerung nicht sofort nach dem
Empfang eines Unterbrechungssignals zurückholen kann.
-
Gemäß nochmaligem
Bezug auf 3 sind das IIT 16 und
IOT 20 betrieblich mit dem VBus 28 über Übertragungsmodule 36c und 36d verbunden.
Zusätzlich
sind das IIT 18 und das IOT 20 betrieblich mit
einem Kompressor 62 bzw. Dekompressor 64 verbunden.
Der Kompressor und Dekompressor werden bevorzugt mittels eines einzigen
Moduls bereitgestellt, das Xerox-adaptive Kompressionsvorrichtungen
verwendet. Xerox-adaptive
Kompressionsvorrichtungen wurden für Kompressions/Dekompressions-Operationen von Xerox Corporation
in seinem Docutech®-Drucksystem verwendet.
In der Praxis ist wenigstens ein Teil der Funktionalität der Übertragungsmodule
mittels einer 3-Kanal-DVM-Vorrichtung vorgesehen, welche eine lokale
Entscheidung für
das Kompressions/Dekompressions-Modul erzeugt.
-
Wie
es weiter durch die 3 dargestellt wird, ist der
Scanner 18, welcher den Bildverarbeitungsabschnitt 22 enthält, mit
einem Kommentierungs/Vereinigungs-Modul 66 verbunden. Bevorzugt
enthält
der Bildverarbeitungsabschnitt einen oder mehrere spezielle Prozessoren,
die dafür
programmiert sind, verschiedene gewünschte Funktionen, wie z.B.
eine Bildverbesserung, Schwellenwertbildung, Prüfung, Drehung, Auflösungsumwandlung
und TRC-Anpassung auszuführen.
Die selektive Aktivierung von jeder dieser Funktionen kann durch
eine Gruppe von Bildverarbeitungs-Steuerregistern koordiniert werden,
wobei die Register durch die Systemsteuerung 44 programmiert
werden. Bevorzugt sind die Funktionen entlang einer "Pipeline" angeordnet, in welcher
Bilddaten in ein Ende des Rohres eingegeben werden, und bildvearbeitete
Bilddaten an dem anderen Ende des Rohres ausgegeben werden. Um den
Durchsatz zu erleichtern, ist das Übertragungsmodul 36e an
einem Ende des Bildbearbeitungsabschnittes 22 positioniert
und das Übertragungsmodul 36c am
anderen Ende des Abschnittes 22 positioniert. Offensichtlich,
ermöglicht
die Positionierung der Übertragungsmodule 36c und 36e in
dieser Weise das gleichzeitige Auftreten eines Rückführungsprozesses.
-
Des
Weiteren wird gemäß 3 die
Entscheidung über
die verschiedenen Bus-Master des VCM 16 durch eine VBus-Entscheidungseinheit
(Arbiter) 70 implementiert, die in einem VBus Arbiter/Bus
Gateway 71 angeordnet ist. Die Entscheidungseinheit ermittelt,
welcher Bus-Master (z.B. Faxmodul, Scanner, Printer, SCSI-Festplatte,
EPC-Speicher oder Netzwerkdienstkomponente) auf den VBus zu einem
gegebenen Zeitpunkt zugreifen kann. Die Entscheidungseinheit besteht
aus zwei Hauptabschnitten und einem dritten Steuerabschnitt. Der
erste Abschnitt, d.h., der "Hi-Pass"-Abschnitt empfängt Eingabebus-Anforderungen
und eine momentane Prioritätsauswahl
und gibt eine der höchsten
anhängigen
Prioritätsanforderung
entsprechende Entscheidung aus. Das aktuelle Prioritätsauswahl-Eingangssignal
ist das Ausgangssignal aus dem zweiten Abschnitt der Entscheidungseinheit
und wird als "Priority
Select" bezeichnet.
Dieser Abschnitt implementiert einen Prioritäts-Rotations- und Auswahlalgorithmus.
Zu jedem Zeitpunkt bestimmt das Ausgangssignal der Logik für die Prioritätsauswahl
die Reihenfolge, in welcher anhängige
Anforderungen bedient werden. Das Eingangssignal zu "Priority Select" ist ein Register,
welche eine anfängliche
Platzierung der Vorrichtungen in einer Prioritätskette enthält. Bei
Bedienungsanfragen bewegt diese Logik die Vorrichtungen in der Prioritätskette
hin und her, um dadurch die Position der nächsten Anforderung eines Gerätes auszuwählen. Eine
Steuerlogik synchronisiert die Aufgaben von "Hi-Pass" und "Priority Select", indem Signale bezüglich der Anforderung/Erteilungs-Aktivität überwacht
werden. Sie verhindert auch die Möglichkeit von Wettlaufbedingungen.
-
Unter
Bezugnahme auf 6 wird das Netzwerkdienstmodul 14 detaillierter
diskutiert. Wie der Fachmann auf diesem Gebiet erkennt, ist die
Architektur des Netzwerkservicemoduls ähnlich dem eines bekannten "PC-Klons". Insbesondere ist
in der bevorzugten Ausführungsform
die Steuerung 44, welche bevorzugt die Form eines von Sun
Micro Systems, Inc. hergestellten SPARC-Prozessors, annimmt, mit
einem standardmäßigen SBus 72 verbunden.
In der dargestellten Ausführungsform
von 6 sind ein Host-Speicher 74, welcher bevorzugt
die Form eines DRAM annimmt, und ein SCSI-Festplattenspeicher 76 betrieblich
mit dem SBus 72 verbunden. Obwohl es in 6 nicht
dargestellt ist, könnte
eine Speicher- oder I/O-Vorrichtung mit dem SBus mittels eines geeigneten
Schnittstellenchips verbunden sein. Wie es ferner in 6 dargestellt
ist, ist der SBus mit einem Netzwerk 78 über eine
geeignete Netzwerkschnittstelle 80 verbunden. In einem
Beispiel enthält
die Netzwerkschnittstelle die gesamte erforderliche Hardware und
Software, um die Hardware/Software-Komponenten der Steuerung 44 mit
den Hardware/Software-Komponenten des Netzwerkes 78 in
Beziehung zu bringen. Beispielsweise könnte als Schnittstelle für die verschiedenen
Protokolle zwischen dem Netzwerkdienstmodul 14 und dem
Netzwerk 78 diese Schnittstelle neben anderer Software
mit Netware® von
Novell Corporation versehen sein.
-
In
einem Beispiel enthält
das Netzwerk 78 einen Client, wie z.B. eine Workstation 82 mit
einem Emitter oder Treiber 84. Im Betrieb kann ein Benutzer
einen mehrere elektronische Seiten und einen Satz von Verarbeitungsinstruktionen
enthaltenden Job generieren. Der Job wird wiederum mit dem Emitter
in eine in einer Seitenbeschreibungssprache geschriebene Repräsentation,
wie z.B. PostScript, geschrieben. Der Job wird dann an die Steuerung 44 gesendet,
wo er mit einem Decomposer, wie z.B. einem von Adobe Corporation
bereitgestellten interpretiert wird.
-
Gemäß nochmaligem
Bezug auf 3 ist das Netzwerkdienstmodul 14 mit
dem VCM 16 über
einen Bus Gateway 88 des VBus Arbiter/Bus Gateway 71 verbunden.
In einem Beispiel enthält
der Bus Gateway ein von XILINX-Corporation hergestelltes feldprogrammierbares
Gate Array. Die Bus Gateway Vorrichtung stellt die Schnittstelle
zwischen dem Host SBus und dem VCM VBus bereit. Sie erzeugt die
Vbus Adressenübersetzung
für Zugriffe
auf Adressenräume
in dem realen Adressenbereich des Vbus und gibt eine virtuelle Adresse an
den Host SBus für
virtuelle Adressen in den Host-Adressenbereich
aus. Ein DMA-Kanal für
eine Übertragung
von Speicher zu Speicher ist ebenfalls in dem Bus Gateway implementiert.
U.a. liefert der Bus Gateway einen nahtlosen Zugang zwischen dem
VBus und SBus und decodiert virtuelle Adressen von Bus-Mastern, wie z.B.
einem der Übertragungsmodule 36,
so dass eine Kennung aus einer entsprechenden Slave Komponente erhalten
werden kann. Der Fachmann auf diesem Gebiet wird erkennen, dass
viele Komponenten in dem Drucksystem 10 in der Form eines
einzigen ASIC implementiert sind
-
Unter
Bezugnahme auf die 3, 4 und 6 wird
eine weitere Diskussion bezüglich
einer DMA-Übertragung
an jedes von den Übertragungsmodulen 36 bereitgestellt.
Insbesondere werden in einem Beispiel die Bilder eines Jobs in dem
Host-Speicher 74 als eine Reihe von Blöcken gespeichert. Insbesondere weist
jeder Block mehrere Pakete auf. Im Betrieb wird eines von den Übertragungsmodulen 36 von
der Steuerung 44 mit der Anfangsadresse eines Blockes und
der Größe des Blockes
versorgt. Für
diesen Block bewirkt wiederum das Übertragungsmodul 36 eine
Paketübertragung
und inkrementiert/dekrementiert einen Zähler. Diese Prozedur wird für jedes
Paket des Blockes wiederholt, bis die Schnittstelle 40 durch
Bezugnahme auf den Zähler
feststellt, dass das letzte Paket des Blockes übertragen worden ist. Typischerweise
werden für
jedes gespeicherte Bild mehrere Blöcke Paket für Paket wie unmittelbar vorstehend
beschrieben übertragen.
-
In 7 ist
eine Warteschlange von Jobs 200, die zur Verarbeitung durch
den Drucker 20 bereit sind (1) dargestellt.
Wie bei anderen herkömmlichen
Druckerwarteschlangen wird der momentan gedruckte Job in einem Fenster 202 angezeigt
und Tasten 204 können
dazu verwendet werden, die Liste der Jobs nach oben oder unten zu
rollen. Es sollte angemerkt werden, dass in einer multifunktionalen
Maschine des vorstehend unter Hintergrund diskutierten Typs mehr
als nur eine Warteschlange bevorzugt verwendet würde, um die verschiedenen angebotenen
Dienste unterzubringen. Beispielsweise würden sich auf Scannen wartende Jobs
in einer Scan-Warteschlange befinden, während auf eine Faxübertragung
wartende Jobs sich in einer Fax-Warteschlange befinden würden. Im
Wesentlichen könnte
die Druck- oder Markierungswarteschlange von 7 lediglich
eine von den mehreren in dem Drucksystem 10 verwendeten
Warteschlangen sein. Zusätzlich dürfte man
erkennen, dass Jobs in die Warteschlangen in einer mit der durch
US-A-5,206,735 offenbarten konsistenten Weise in die Warteschlangen
eingefügt
werden können.
Schließlich
wird man erkennen, dass die Warteschlange neben ande ren Orten in
dem VCM (3) oder dem Netzwerkdienstmodul
(6) geführt werden
könnte.
-
In
einem (nachstehend auch als "MF-Maschine" bezeichneten) multifunktionalen
Produkt, wie z.B. dem vorstehend beschriebenen Drucksystem, gibt
es immer die Möglichkeit,
dass mehrere Benutzer einen Zugriff auf eines oder mehrere Subsysteme
zum selben Zeitpunkt anfordern. Dieser Zugriffswettbewerb kann in mehreren
Bereichen der MF-Maschine entweder als ein Wettbewerb für eine einzelne
Ressource, wie z.B. den EPC-Speicher 24 (33),
oder als ein Wettbewerb für
die mehreren Arten von Ressourcen, z.B. EPC-Speicher und IIT auftreten.
Wenn eine Wettbewerbssituation entsteht, muss das Drucksystem in
einer vorhersagbaren und kontrollierten Weise reagieren, welche
die verschiedenen Benutzer zufrieden stellt.
-
In
der bevorzugten Ausführungsform
werden wenigstens zwei Wettbewerbs-Verwaltungsverfahren betrachtet:
- 1. First In First Out (FIFO) Jobverwaltung.
In
diesem Verfahren wird der Wettbewerb auf einer Basis behandelt,
wer zuerst kommt, wird zuerst bedient. Jobs, die vor anderen Jobs
angemeldet wurden, nutzen zuerst die angeforderte Ressource. Weitere
diesen Dienst anfordernde Jobs werden numerisch nach dem Zeitpunkt
ihrer Ankunft geordnet und haben schließlich die Möglichkeit, den Dienst zu nutzen.
- 2. In diesem Verfahren wird der Zugriff auf die Ressourcen mittels
eines als "Key Operator/System
Administrator ("KO/SA") definierten Algorithmus
verwaltet (siehe nachstehende Tabelle 1). Mit diesem Algorithmus
kann der KO/SA Jobs gemäß dem Jobtyp,
der Notwendigkeit unmittelbarer Anwesenheit, der Unterbrechungsgeschichte
und anderen relevanten Faktoren definierte Jobs arrangieren. Der
Algorithmus kann so konfiguriert sein, dass er den Jobwettbewerb
gemäß den Wünschen eines
typischen Drucksystembenutzers verwaltet. Da er flexibel programmierbar
ist, kann der Algorithmus dazu gebracht werden, gemäß FIFO zu
arbeiten. Mit anderen Worten, FIFO ist ein Untersatz der Fähigkeiten
dieses Algorithmus.
-
Es
wird in Betracht gezogen, dass wenigstens fünf Jobtypen durch den KO/SA
im Drucksystem 10 bearbeitet werden;
- 1.
Kopiendruck- oder Anwesenheits-Jobs: Benutzeranwesenheitsjobs, die
die Verwendung des IIT und der entsprechenden Markierungsressource
erfordern;
- 2. Automatischer Berichtdruck: Berichte, die automatisch gedruckt
werden, wie z.B. Maschinenberichte oder Kopierernutzung, Fehlerlisten,
Faxberichte, usw. Die Berichte, welche durch den KO/SA definiert
werden, werden aus den Speicherressourcen heraus gedruckt und erfordern
die Nutzung der Markierungsmaschine;
- 3. Netzwerkdruck: In dieser Jobkategorie sind die nachstehenden
enthalten:
a) Jobs, die aus Netzwerkquellen über das
Netzwerkdienstmodul 14 ankommen, welche eine Markierungsressource
erfordern,
b) Netzwerkdienstmodul (auch als "ESS" bezeichnete) Soft
Mailbox Jobs, die von einem anwesenden oder entfernt angeordneten
Nutzer aktiviert werden, und
c) Alle anderen Jobs, die aus
der ESS oder dem Netzwerk entstehen;
- 4. Fax Mailbox: In dieser Jobkategorie sind die nachstehenden
enthalten:
a) Empfangene Faxe (Sicherheitskopien), welche in
dem System zum Ausdruck auf Benutzeranforderung gespeichert wurden),
b)
Lokale Berichte wie z.B. Systemnutzung oder Faxlisten, und
c)
Alle anderen Jobs, die aus dem EPC-Speicher 24 (3)
oder dem (auch als "MFSYS" bezeichneten) Drucksystem
stammen.
- 5. Fax-Druck: Ankommende Faxjobs, die sofort ausgedruckt werden
sollen. Derartige Jobs werden in dem EPC-Speicher 24 erfasst
und dann sofort gedruckt.
-
Die
nachstehende Terminologie sollte zum Erzielen eines vollständigeren
Verständnisses
der vorliegenden Beschreibung nützlich
sein:
Autorisierter Benutzer: Ein Benutzer mit einer höheren Autorisierungsstufe
als ein gelegentlicher Benutzer, jedoch mit niedrigeren Zugriffsrechten
als der eines KO/SA. Diese ist ein für VIP-Benutzer vorgesehene
reservierte Autorisierungsstufe.
-
Unterbrechungsstufe:
Eine Ressource kann in dem Job, den sie momentan bearbeitet, unterbrochen werden.
Wenn dieses erfolgt, wird dieses als eine Unterbrechung erster Stufe
oder Unterbrechungsstufe 1 bezeichnet. Wenn ein unter einer Unterbrechung
arbeitender Job selbst unterbrochen wird, ist dieses dann eine Unterbrechung
zweiter Stufe.
-
Jobtyp-Priorität: Eine
gemäß dem Job
oder dem Benutzertyp zugeordnete Priorität. Eine exemplarische Prioritätszuweisung
auf der Basis eines Jobtyps wird nachstehend bereitgestellt.
-
Ressource:
Jede mechanische, elektronische oder Software-Komponente, die zum
Ausführen
eines Jobs erforderlich ist.
-
Markierungsressource:
Die Ressource, die zum Drucken eines Jobs auf einem gegebenen Medientyp verwendet
wird.
-
Speicherressource:
Typen eines von dem Drucksystem verwendeten Lese/Schreib-Speichers, wie z.B.
die Speicher 24, 34 (3); 74 und 76 (6).
-
Markierter
Job: Ein Job, welcher gedruckt worden ist. Dieser Begriff ist allgemeiner
als "gedruckter Job" und impliziert kein
zum Schreiben auf dem Medientyp spezielles verwendetes Verfahren.
-
Anschließender Druck:
Dieses ist die Nomenklatur für
einen Job, welcher sich an der Spitze der Jobwarteschlange befindet,
und unter stabilen/normalen Bedingungen der "anschließend zu druckende" aus der Warteschlange
ist
-
Eine
wichtige Ausführungsform
verwendet, die nachstehende Wettbewerbsprioritäts-Algorithmusvoreinstellungen enthaltende
exemplarische Tabelle, um die Wettbewerbsverwaltung zu optimieren:
-
Diese
Tabelle, auf welche sich die nachstehende Beschreibung bezieht,
ermöglicht
dem KO/SA zu definieren, wie das System arbeiten soll, wenn eine
Situation auftritt. Die Tabelle dient zur Definition, welche Arten von
Jobs in dem System existieren und wie gegebene Wettbewerbssituationen
gehandhabt werden sollen. Wie der Fachmann auf diesem Gebiet erkennen
wird, können
Tabellenüberschriften
für die
vorstehende Tabelle sowie für
vergleichbare nachstehende Tabellen als eine Funktion der Systemarchitektur
variieren, so dass beispielsweise bestimmte Anwesenheits-Jobs, wie
z.B. ESS MB (Mailbox) auch als Netzwerk-Druck-Jobs betrachtet werden
könnten.
-
Insbesondere
listen gemäß spezifischer
Bezugnahme auf Tabelle 1 die Spalten der Tabelle alle Arten von
Benutzerjobs (bei denen ein Wettbewerb entstehen kann), die in der
Maschine auftreten können,
auf. Die Zeilen der Tabelle listen den Typ des Wettbewerbs auf,
der auftreten kann. Der Schnittpunkt von Zeilen und Spalten definiert
das Maschinenverhalten für
diesen Jobtyp in dieser speziellen Wettbewerbssituation.
-
Die
nachstehenden Beschreibungen von Wettbewerbshandhabungsmerkmalen
sind am besten durch Bezugnahme auf die vorstehende Tabelle 1 verständlich:
-
Vorrang eines autorisierten
Benutzers:
-
Diese
Merkmalseinstellung ermöglicht
es einem autorisierten Benutzer (AU), andere Jobs auf dem IOT zu
unterbrechen. Der AU besitzt einen Unterbrechungsfähigkeitsvorrang
für alle
Arten von Jobs selbst diejenigen, die bereits ihre Unterbrechungsbegrenzung überschritten
haben, wie z.B. eines Druck-Jobs, welcher eine auf 4 eingestellte
Unterbrechungsbegrenzung von 4 bereits viermal durch andere Jobs
unterbrochen wurde und derzeit die Markierungsressource verwendet.
-
Mit
AU gekennzeichnete Jobs haben die Priorität 1 (die höchste). Wenn die Tabelleneinstellung 'J' ist, unterbricht der Job immer andere
Jobs mit niedrigerer Priorität.
Wenn die Einstellung 'N' ist, beachtet er
den Eintrag der Zeile 4 (Tabelle 1) für den Jobtyp des derzeitigen
Druck-Jobs.
-
Maximale Anzahl von Malen
("Max" oder "MAX", die ein Jobtyp
unterbrochen werden kann:
-
Diese
definiert, wie oft ein Job unterbrochen werden kann. Sobald die
eingestellte Anzahl zulässiger Male,
die ein Job unterbrochen werden kann, erreicht ist, kann der Job
nicht mehr unterbrochen werden und kann seinen Betrieb auf der Ressource,
die er benutzt, beenden. Eine Ausnahme für diese Regel wäre der AU-Vorrang.
Die Berechnung der Anzahle der Male, die ein Job unterbrochen worden
ist, ist eine Aufsummierung aller Male, in denen andere Jobs den
Job unterbrochen haben, z.B. ein Kopier-Job zu unterschiedlichen Zeitpunkten
durch einen Fax-Job unterbrochen wurde und vier unterschiedliche
Druck-Jobs, der Wert von MAX# der Unterbrechungen war auf 4 eingestellt, überschritten
wurde.
-
Unterbreche jetzt (J)
oder führe
nächsten
Job (N) aus:
-
Wenn
eine Unterbrechungs-Hardwaretaste auf der Druckmaschine 12 (1)
freigegeben ist, erhält jeder
Job, welcher als ein Unterbrechungstasten-Job gekennzeichnet ist,
eine Priorität
der Stufe 2. Wenn die Zeile 3 der Tabelle 1 auf "J" für einen
Jobtyp eingestellt ist, überschreibt
dann dieser Jobtyp ein "N" in der Zeile 4 der
Tabelle und unterbricht andere Jobs mit niedrigerer Priorität.
-
Unterbrechung von Jobtyps
mit höherer
Priorität
freigegeben:
-
Wenn
diese mit 'J' freigegeben ist,
kann dann der Jobtyp durch einen Jobtyp mit höherer Priorität oder durch
einen Ressourcenüberschreitungszustand
(siehe Tabelle 2) unterbrochen werden.
-
Spezifiziere Jobtyp-Priorität:
-
Dieses
definiert die Priorität
der Jobs auf der Basis eines Jobtyps. Die Basistypen von Jobs sind
in der Zeile 1 der Tabelle 1 aufgelistet. Diese allgemeinen Jobkategorien
umfassen eine Vielzahl von spezifischen Jobarten, so dass nicht
alle durch die Tabelle dargestellt werden müssen.
-
Betrieb:
-
In
einer Ausführungsform
werden die Jobs in einer Warteschlange platziert, sobald sie in
dem Drucksystem angemeldet werden. Wenn ein Jobtyp eine höhere Priorität als ein
anderer Jobtyp hat, wird er dann vor diesem Job in der Warteschlange
platziert. Wenn zwei Jobs dieselbe zugewiesene Priorität haben,
werden sie dann gemäß dem Zeitstempel,
den sie beim Eintritt in die Warteschlange erhalten, in die Warteschlange
eingereiht (d.h., FIFO-verwaltet). In die Warteschlange eingereihte
Jobs, die aber nicht markieren können,
da die Markierungsmaschine das falsche Medium auf weist, oder in
der Warteschlange aus ähnlichen
Gründen
aufbewahrte Jobs werden von anderen Jobs überholt, welche noch in der
Lage sind, die Markierungsmaschine zu verwenden. Sobald sich ein
Job an der Spitze der Warteschlange befindet, wird, wenn er eine
höhere
Priorität
besitzt als der derzeitige Druck-Job, und wenn "Unterbrechung durch höhere Priorität" freigegeben ist, der
Job mit der höheren
Priorität
den derzeitigen Druck-Job unterbrechen.
-
Zeitgeber für Jobs in
der Warteschlange:
-
Dieser
stellt sicher, dass kein Job in der Jobwarteschlange durch Gruppen
von Jobs mit höherer
Priorität
festgehalten wird. Ein Jobtyp, welcher sich in der Warteschlange
für die
maximale zugeordnete Zeit befunden hat, wird auf eine Jobpriorität gemäß nachstehender
Beschreibung angehoben. Trotzdem gehorcht der angehobene Job allen
durch die Tabelleneinstellung definierten Regeln. In einer Situation,
in welcher mehr als ein Job seine zugeordnete Zeitgrenze erreicht
hat, werden sie dann an der Spitze der Warteschlange gemäß FIFO eingereiht.
-
Gemäß der nachstehenden
Tabelle 2 können
KO/SA-Einstellungen für
einen "Ressourcenüberschreitungszustand" vorgesehen werden:
Tabelle
2, Fehlerbedingungen, welche Ressourcen erfordern
-
Diese
Bedingung oder Parameter entsteht, wenn der Speicher für die Aufnahme
eines Fax-Druckes um einen voreingestellten Schwellenwert überschritten
wird. Insbesondere ermöglicht
dieses, wenn bei dem Empfang eines Fax-Jobs die Faxspeicher-Ressource
voll wird und das IOT einen anderen Job druckt, dass der momentane
Druck-Job unterbrochen wird, so dass der Fax-Job gedruckt werden
kann. Dieser Parameter kommt der sofortigen Weiterleitung des Fax-Jobs
durch die Warteschlange zu dem IOT und der Unterbrechung der Markierungsmaschine
gleich, um zu versuchen, die Faxspeicherressourcen frei zu bekommen.
-
Um
Kundenzeit bei der Konfiguration ihrer Systeme zu sparen, sind Konfigurationsschablonen
für die Auswahl
durch den KO/SA verfügbar.
Falls sie von einem KO/SA gewählt
werden, konfigurieren die Schablonen automatisch die Wettbewerbstabelle
(siehe z.B. die Tabelle 1 oben) auf Einstellungen, welche am besten die
Anforderungen eines Kunden unterstützen. Das System stellt in
einem Beispiel sechs Schablonen bereit, aus welchen der Benutzer
auswählen
kann. Diese Schablonen stellen eine Definition für eine Vielfalt von Systemkonfigurationen,
welche von FIFO-Konfigurationssystemen bis zu Fax- oder Druck-zentrischen
Systemen reichen. Die Herstellungs-Vorgabeeinstellungen sind als
eine von den sechs Schablonen enthalten. Diese Schablone wird als
die Vorgabeeinstellungs- oder "FIFO"-Schablone bezeichnet.
Eine Schablone für
eine Warteschlangen-Verwaltungssteuerung von Jobs, welche keine
Jobprioritätsunterbrechung
enthält,
wird ebenfalls bereitgestellt. Die sechs exemplarischen Schablonen
sind wie folgt:
- 1) Basis FIFO ohne prioritätsbasierende
Unterbrechung (Vorgabeschablone): Eine Basis-FIFO-warteschlangenverwaltete
Schablone, bei der alle automatischen Unterbrechungseinstellungen
deaktiviert sind, wird bereitgestellt. Die Unterbrechungstaste ist
freigegeben (Zeile 3 von Tabelle 1 auf 'J' eingestellt).
Alle mittels dieser Schablone festgelegten Jobs werden mit gleicher
Priorität
behandelt und die Markierung erfolgt auf einer First In First Out
Basis mit der Ausnahme einer Fehlerbehandlungsmarkierung.
- 2) Prioritätsbasierendes
Begünstigen
von Kopieren ohne prioritätsbasierende
Unterbrechung: Eine prioritätsbasierende
Schablone, die Kopieren/Scannen und andere Anwesenheitsoperationen
begünstigt,
welche auch die Verwendung der IOT Unterbrechungsjobverwaltung ausschließt, wird
bereitgestellt.
- 3) Prioritätsbasierendes
Begünstigen
von Faxjobs ohne prioritätsbasierende
Unterbrechung: Eine prioritätsbasierende
Schablone, die ankommende Fax-Jobs gefolgt von Anwesenheitsjobs
und dann Druck-Jobs begünstigt,
wird bereitgestellt. Diese Schablone enthält bevorzugt keine Unterbrechungssteuerung
der Jobverwaltung.
- 4) Prioritätsbasierendes
Begünstigen
von Netzwerkdruckjobs ohne prioritätsbasierende Unterbrechung: Eine
prioritätsbasierende
Schablone, die Netzwerkdruckjobs gefolgt von Anwesenheitsjobs und
dann von Faxdirektdruck-Jobs unterstützt, wird bereitgestellt. Die
Schablone enthält
bevorzugt keine Unterbrechungssteuerung der Jobverwaltung.
- 5) Prioritätsbasierendes
Begünstigen
von Kopier/Scan-Jobs mit Jobtyp-Unterbrechungsfähigkeit: Eine prioritätsbasierende
Schablone, welche Kopier/Scan-Anwesenheitsjobs mit freigegebenen
Unterbrechungseinstellungen begünstigt,
wird bereitgestellt.
- 6) Prioritätsbasierendes
Begünstigen
von Druck-Jobs mit Jobtyp-Unterbrechungsfähigkeit: Eine prioritätsbasierende
Schablone, die Kopier/Scan-Anwesenheitsjobs mit freigegebenen Unterbrechungseinstellungen
begünstigt,
wird bereitgestellt.
-
Obwohl
die herkömmliche
Technik das Konzept der Unterbrechung eines Unterbrechungsjobs durch einem
anderen Unterbrechungsjob sowie das Konzept des Druckens eines Jobtyps
(z.B. eines Kopier-Jobs) vor einem anderen Jobtyp (z.B. Druck-Job)
behandelte, entsteht ein Problem, wenn ein System versucht, einer großen Jobgruppe,
die viele Jobtypen enthält,
Priorität
zu verleihen. Unter Bezugnahme auf 8 wird eine Ausführungsform,
in welcher ein pioritätsbasierendes
Warteschlangen-Verwaltungsschema zum Ermitteln des nächsten Jobs
eingesetzt wird, um eine Systemressource zu erhalten, diskutiert.
In der dargestellten Ausführungsform
von 8 basiert die Priorität eines Jobs auf dem Dienst,
die den Job erzeugt hat. Insbesondere stellt der KO/SA die relative
Priorität
jedes Dienstes ein, von welchem ein Job in einer Warteschlange erhalten wird.
-
Zum Überblick
wird, wenn ein Job eine Systemressource, wie z.B. den Scanner oder
den Drucker erfordert, der Job in der Jobwarteschlange der entsprechenden
Ressource platziert. Wenn die Ressource in der Lage ist, mit der
Verarbeitung eines Jobs zu beginnen, erhält die Ressource den Job mit
der höchsten
Priorität aus
ihrer Warteschlange.
-
Das
prioritätsbasierende
Warteschlangen-Verwaltungsschema ist insbesondere in dem Bereich
einer Jobunterbrechung nützlich.
Die Tabelle von 8 (siehe auch die vorstehende
Tabelle 1) spezifiziert, wann der Job eines Dienstes den Job eines
anderen Dienstes unterbrechen kann. Diese Sicht einer Unterbrechung kann
als Unterbrechungsfähigkeit
bezeichnet werden. Der KO/SA erzeugt bevorzugt die Unterbrechungsfähigkeitsmatrix
von 8, welche die Matrixeinstellungen der Unterbrechungsfähigkeitsbeziehungen
zwischen den Jobs von mehreren Diensttypen beschreibt. Das Unterbrechungsfähigkeitsschema
der derzeit beschriebenen Ausführungsform
beinhaltet die nachstehenden Konzepte:
- 1) Der
KO/SA spezifiziert die relative Priorität jedes Jobs (siehe vorstehende
Tabelle 1), die durch einen Dienst erzeugt wird (beispielsweise
ist die Priorität
einer "entfernt
befindlichen Datei" (8)
relativ hoch, das sie die Verarbeitung von sechs anderen Job-Typen unterbrechen
kann;
- 2) Der KO/SA spezifiziert die Unterbrechungsfähigkeitsmatrix
für die
Jobs (z.B. der Kopier-Job kann einen Druck-Job unterbrechen);
- 3) Wenn ein Job innerhalb des Drucksystems 10 erzeugt
wird (1), wird dem Job eine Priorität auf der Basis des Diensttyps
zugewiesen;
- 4) Jede Systemressource führt
eine Warteschlange von Jobs für
die Ressource (in einem Beispiel sind die Jobs in jeder Warteschlange
gemäß der Jobpriorität geordnet);
- 5) Wenn eine Systemressource bereit ist, einen Job zu verarbeiten,
verarbeitet die Ressource den Job mit der höchsten Priorität in ihrer
Warteschlange;
- 6) Wenn eine Ressource einen Job verarbeitet und ein neuer Job
die Ressource erfordert, läuft
dann ab:
if (die Priorität
des neuen Jobs höher
als die Priorität
des momentanen Jobs ist) and
(der momentane Job kein "Unterbrechungs"-Job ist) then
if
(der Dienst des neuen Jobs den Dienst des aktuellen Jobs unterbrechen
kann)
then (unterbricht dann der neue Job den aktuellen Job)
else
(fügt den
neuen Job zu der Warteschlange der Ressource hinzu)
else (fügt den neuen
Job zu der Jobwarteschlange der Ressource);
and
Wenn die
Ressource einen unterbrochenen Job enthält und die Ressource die Verarbeitung
aller Prioritätsunterbrechungsjobs
mit höherer
Priorität
abschließt,
nimmt die Ressource die Weiterverarbeitung der unterbrochenen Jobs
auf.
-
Gemäß nochmaligem
Bezug auf 8 sind einige Kommentare bezüglich ihrer
Tabelle in Ordnung. Erstens zeigt die Matrix die Unterbrechbarkeit
eines Dienstjobs durch einen anderen Dienstjob. Eine Unterbrechbarkeitsentscheidung
liegt vor, wenn ein Job eine Systemressource nutzt und ein weiterer
Job mit höherer
Priorität
diese Ressource anfordert. Zweitens zeigt ein "Ja" in
einem Tabelleneintrag an, dass der momentane Job eines Dienstes
(Spalten) durch einen Job höherer
Priorität
des zweiten Dienstes (Zeilen) unterbrochen werden kann. Es dürfte erkennbar
sein, dass die Matrix von 8 insbesondere
bei der Ordnung von Jobs in einer Reihenfolge nützlich ist, in der die relative
Priorität
des Jobtyps direkt aus der Matrix folgt. Beispielsweise hat eine
entfernt befindliche Datei die höchste
Priorität
in dem Beispiel von 8 und bekommt bevorzugt eine
höhere
Priorität
in der Verarbeitung als ein Kopier-Job.
-
Unter
Bezugnahme auf die 9 und 10 wird
eine weitere Ausführungsform
für die
Priorisierung eines oder mehrerer Jobs in einer Warteschlange ermittelt.
Drei Konzepte werden durch diese Ausführungsform berücksichtigt:
Das
erste Konzept bezieht sich auf das vorstehend diskutierte Konzept
der Freigabe des KO/SA, um eine Jobpriorität auf der Basis seiner Eingabequelle
oder Dienstes (z.B. Scanneranwendung, ESS oder Netzwerkquelle oder
Markierungsdienst) zu spezifizieren. Für jeden Dienst/Anwendung/Eingabequelle
weist der KO/SA bevorzugt einen Prioritätswert (welcher beispielsweise
von 0 bis 50 reicht) zu. In einem Beispiel des ersten Konzeptes
ist ein System mit drei Eingaben (Scanner, Netzwerk und Fax) konfiguriert.
-
Um
Scanner-Jobs eine höhere
Priorität
als Fax- und Netzwerk-Jobs zu verleihen, könnte der KO/SA die Eingabe
wie folgt bewerten:
Fax: 10; Netzwerk: 10; und Scanner: 30
-
Das
zweite Konzept gibt dem KO/SA die Fähigkeit, eine Jobpriorität (über die
des ersten Konzeptes hinaus) auf der Basis des "Grundes für die" oder des "Verfahrens der" Erzeugung des Jobs zu inkrementieren. In
einem ersten Aspekt des zweiten Konzepts würde das Drucksystem eine Prioritätsbewertung
für zwei
Unterbrechungsstufen nämlich "Unterbrechung 1" und "Unterbrechung 2" unterstützen. In
einem Beispiel würde ein
mit "Drucke jetzt" bezeichnete Kopier-Job
als ein Job mit der Unterbrechungsstufe 1 behandelt werden, während ein
Netzwerk-Job mit einer Unterbrechungspriorität als ein Job mit der Unterbrechungsstufe
2 behandelt würde.
Es dürfte
sich verstehen, dass in einem alternativen Ansatz, welcher Jobs
aus dem Netzwerk eine höhere
Priorität
gibt, Netzwerk-Jobs als Jobs mit einer Unterbrechungsstufe 1 bezeichnet
würden.
In diesem einen Beispiel würde
einem Job mit der Unterbrechungsstufe 1 ein relativ hoher Wert (z.B.
ein Wert von 50) zugeordnet werden, während einem Job mit der Unterbrechungsstufe
2 ein relativ niedriger Wert (z.B. ein Wert von 20) zugeordnet würde. Gemäß den ersten
und zweiten Konzepten waren die entsprechenden Werte eines Unterbrechungs-Scan-Jobs, eines
Scan-Jobs, eines Unterbrechungs-Netzwerk-Jobs und eines Netzwerk-Jobs
50, 30, 20 und 10.
-
Das
dritte Konzept sieht vor, dass dem Wert jedes in eine Warteschlange
eingereihten Jobs nach einer vorgewählten Zeitdauer eine vorgewählte inkrementelle
Erhöhung
hinzuaddiert wird. Wie man durch Bezugnahme auf die vorstehende
Tabelle 1 erkennen wird, zieht das dritte Konzept die Addition eines
inkrementellen Wertes auf jeden Jobwert zu jedem Zeitpunkt in Erwägung, an
dem der Job durch einen anderen Job unterbrochen wird. In dem dritten
Konzept spezifiziert der Benutzer bevorzugt zwei Werte, nämlich eine
Zeitprioritätszunahme
(welche beispielsweise von 0 bis 50 reicht) und ein Zeitintervall
(das beispielsweise von 1 bis 30 Minuten reicht). Wenn keine Erhöhung gewünscht ist,
spezifiziert der KO/SA die Zeitprioritätserhöhung gleich 0. In der Ausführungsform
des dritten Konzeptes kann ein Jobwert einen voreingestellten Spitzenwert
(z.B. eine Spitzenwert oder Maximalwert von 100) nicht überschreiten.
-
Insbesondere
wird in den 9 und 10 ein
Beispiel, das die vorstehend diskutierten drei Konzepte veranschaulicht,
bereitgestellt. Wie man erkennt, erreicht schließlich aufgrund einer Erhöhung der
Job C einen Wert, bei welchem er selbst von einem Job mit relativ
hoher Priorität
nicht mehr unterbrochen werden kann.
-
Zahlreiche
Merkmale der vorstehend beschriebenen Ausführungsformen werden durch den
Fachmann auf diesem Gebiet erkannt werden:
Erstens wird eine
Warteschlangenverwaltung bereitgestellt, die als eine Funktion einer
Job- oder Benutzer-Priorität
variiert. In einem Beispiel wird einem Job ein Wert auf der Basis
entweder des Dienstes, bei welchem der Job ursprünglich erzeugt wurde, oder
des Benutzers, welcher den Job erzeugte, zugewiesen. Auf diese Weise kann
ein Prioritätsjob
in eine Warteschlange gemäß einer
vorab zugewiesenen Priorität
oder Autorisierungsstufe des Job-Urhebers platziert werden. Durch
Berücksichtigung
der Autorisierungsstufe des Joburhebers kann eine ferngesteuerte
Unterbrechung initiiert werden. D.h., ein entfernt befindlicher
Benutzer oder Dienst mit ausreichender Autoritätsstufe kann anfordern, dass
sein Job unmittelbar an einer entfernt aufgestellten Druckmaschine
gedruckt wird.
-
Zweitens
kann eine Warteschlangenverwaltung durch die Verwendung einer Jobprioritätstabelle
oder Matrix ermöglicht
werden, in welcher die Priorität
eines vorgegebenen Jobtyps in Bezug auf andere Jobtyps als eine
Funktion des Dienstes, bei welchem der vorgegebene Job erzeugt wurde,
voreingestellt ist. Die Matrix ist insbesondere bei der Behandlung
von Unterbrechungsfähigkeits-Überlegungen
effektiv. Beispielsweise kann die Matrix dazu verwendet werden,
um zu ermitteln, ob zugelassen werden sollte, dass ein erster Jobtyp die
Verarbeitung eines zweiten Jobtyps unterbricht.
-
Drittens
verhindert der Warteschlangenverwaltungsstil der bevorzugten Ausführungsform
eine Situation, in welcher ein Job aufgrund seines Diensteursprungs
in der Warteschlange "hängen bleibt". In einem bevorzugten
Ansatz wird jedem in die Warteschlange eingereihten Job ein Wert
zugewiesen. Sobald sich der Job in der Warteschlange befindet, nimmt
sein Wert in dem Umfang zu, dass er in einer ausgewählten Zeitdauer unabhängig von
der ursprünglichen
Priorität
des Jobs verarbeitet werden muss. Alterna tiv kann der Wert jedes Mal
erhöht
werden, wenn der Job durch einen anderen Job unterbrochen wird.
-
Schließlich kann
das System so programmiert werden, dass es automatisch einen ablaufenden
Job unterbricht, wenn ein ankommender Job einen bestimmten Speicherraum
erfordert und der momentan verfügbare
Speicherraum nicht in der Lage ist, eine solche Anforderung zu erfüllen. Diese
Fähigkeit
ist insbesondere in Hinblick auf einen ankommenden Fax-Job nützlich,
da ein Speichermangel aufgrund der momentan Verarbeitung eines oder
mehrerer Jobs zu einem Verlust eines Teils des ankommenden Fax-Jobs
führen
kann.