-
HINTERGRUND
DER ERFINDUNG
-
Gebiet der Erfindung
-
Die
vorliegende Erfindung bezieht sich auf ein Drucksystem, eine Informationsverarbeitungsvorrichtung,
eine Ausgabesteuervorrichtung und ein Verfahren zum gemeinsamen
Nutzen eines mit einem Netz verbundenen Druckers durch eine Vielzahl von
Netz-Clients, und auf einen Aufzeichnungsträger, der die Funktionen der
Erfindung realisierende Programme speichert.
-
Relevanter
Stand der Technik
-
Personal
Computer setzen sich nun in großem
Umfang in Büros
durch, und derartige Computer miteinander verbindende Netztechnologien
werden entwickelt. Bei einer Verwendung von Druckern wird herkömmlich ein
Drucker mit einem Personal Computer verbunden. In jüngster Zeit
wird jedoch ein Drucker mit einem Netz verbunden und wird durch
eine Vielzahl von mit dem Netz verbundenen Personal Computern gemeinsam
genutzt.
-
In
vielen einen Netzdrucker verwendenden Umgebungen wird ein Druck-Server
verwendet, der auf einem Netzbetriebssystem wie beispielsweise Netware
und Windows NT (eingetragene Warenzeichen) läuft. Zum gemeinsamen Nutzen
eines Druckers ist der Drucker-Server wesentlich gewesen. Ein bekannter
Server empfängt
Druckdaten (einen Job bzw. Auftrag) von einem Client an dem Netz
und überträgt sie zu
dem Drucker, falls er nicht belegt ist. Auf diese Art und Weise
steuert der bekannte Drucker eine temporäre Speicherung von Druckdaten und
eine Auftragsübertragung
zu dem Drucker. Daher wird eine Speichereinrichtung mit einer großen Kapazität notwendig
und immer eine große
Last beaufschlagt, um die Server-Funktion
zu realisieren.
-
Mit
bekannten Technologien hat nach dem Senden von Druckdaten zu dem
Netzdrucker der Client keine Druckdaten bei der Hand, und eine Druckendemitteilung
wird angegeben, wenn die Druckdaten zu dem Drucker übertragen
werden. Daher kann nach dem Senden der Druckdaten ein Hostcomputer
nicht das tatsächliche
Druckende jedes Auftrags erkennen, das heißt den tatsächlichen Druckpapierausstoß.
-
Die
US-A-5,327,526 lehrt ein Druckauftragssteuersystem, das mit einer
Druckreihenfolgemanipulationsfunktion versehen ist, um es zu ermöglichen,
einen Druckauftrag in einer anderen Reihenfolge als der sequentiellen
Reihenfolge, in der der Druckauftrag empfangen wurde, zu drucken
und die bezeichnete Druckoption des Druckauftrags zu überschreiben.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Falls
eine Vielzahl von mit einem Netz verbundenen Kommunikationsendgeräten eine
Vorrichtung gemeinsam nutzt, die nur eine sequentielle Steuerung
von Aufträgen
in der Reihenfolge bzw. Ordnung von Auftragsregistrierungen ausführen kann,
entstehen mit bekannten Technologien einige Probleme. Falls zum
Beispiel ein Personal Computer als ein Client an dem Netz einen
TCP/IP-Netzdrucker des Zeilendruckertyps verwendet, kann die Ordnung von
Auftragsregistrierungen durch Kommunikationsendgeräte aufgrund
von Kommunikationszeitverlaufsfehlern nicht mit der Ordnung von
durch den gemeinsam genutzten Drucker empfangenen Auftragsregistrierungen
zusammenfallen, oder es ist nach einem Registrieren von Aufträgen unmöglich, einen speziellen
Auftrag zu löschen.
-
Falls
ein Kommunikationsendgerät
oder ein Personal Computer einen Netzdrucker über einen Drucker-Server mit
einer ausschließlich
zugeordneten Folgeordnungssteuerfunktion von Aufträgen verwendet,
kann der gemeinsam genutzte Netzdrucker die Ordnung von Aufträgen gemäß der Anweisung von
einem derartigen Druck-Server
steuern. In diesem Fall kann der gemeinsam genutzte Netzdrucker die
Folgeordnungssteuerung von Aufträgen
ausführen,
und ein Auftrag kann gelöscht
werden, bevor er zu dem gemeinsam genutzten Netzdrucker übertragen
wird. Es tritt jedoch ein weiteres Problem auf, das zwei Kommunikationsprotokolle
einschließlich
eines Protokolls zum Übertragen
eines Auftrags zu dem Drucker-Server mit der Folgeordnungssteuerfunktion und
eines Protokolls zum Übertragen
des Auftrags von dem Drucker-Server zu dem Netzdrucker erfordert.
-
Ein
weiteres Problem besteht in einem erhöhten Verkehr auf dem Netz.
-
Noch
ein weiteres Problem besteht in einer Notwendigkeit eines Speicherungsbetriebsmittels
bei dem Drucker-Server mit der Folgeordnungssteuerfunktion zum Speichern
aller Auftragsdaten von Kommunikationsendgeräten.
-
Der
Druck-Server mit der Folgeordnungssteuerfunktion führt sowohl
den Empfang aller Auftragsdaten von Kommunikationsendgeräten als
auch die Folgeordnungssteuerung und Übertragung der Auftragsdaten
aus. Daher ist wie in dem Fall, in dem ein Personal Computer als
ein Druck-Server verwendet wird, die Verarbeitungskapazität einer
CPU des Druck-Servers hauptsächlich
durch die Folgeordnungssteuerung belegt, so daß dieses Druck-Server-Betriebsmittel
nicht für
die anderen Operationen verwendet werden kann.
-
Wie
vorstehend beschrieben kann bei dem eine spezielle Vorrichtung durch
eine Vielzahl von Kommunikationsendgeräten gemeinsam nutzenden Netz
die Funktion des Löschens
eines Auftrags aus der speziellen Vorrichtung nur durch die Bereitstellung
einer Vorrichtung mit der Folgeordnungssteuerfunktion und durch
eine Überlastung
auf dem Netz realisiert werden.
-
Ein
weiteres Problem besteht darin, daß ein Client keine Druckoperation
ausführen
kann, falls der Server sich in einem System-heruntergefahren-Zustand
oder in einem Fehlerzustand befindet.
-
Es
ist erwünscht,
daß ein
Client ohne ein redundantes Ausbilden von Datenübertragungskommunikationen
und mit einer kleinen Anzahl von Übertragungsleitungen den Abschluß der Druckoperation bis
zu dem Papierausstoß erkennen
kann.
-
Es
ist ebenfalls erwünscht,
daß dann,
wenn der normale Abschluß der
Druckoperation bis zu dem Papierausstoß nicht erkannt werden kann,
die Druckoperation nur für
den Auftrag, dessen Abschluß nicht erkannt
wurde, wieder ausgeführt
wird.
-
Gemäß einer
Ausgestaltung der vorliegenden Erfindung, die in den beigefügten unabhängigen Patentansprüchen ausführlich definiert
ist, wird ein Drucksystem bereitgestellt, mit: einer Informationsverarbeitungsvorrichtung
einschließlich
einer Übertragungseinrichtung
zum Übertragen
von Auftragsinformationen von Grafikdaten zu einer Drucksteuervorrichtung
und einer Speichereinrichtung zum Speichern der den von der Übertragungseinrichtung übertragenen
Auftragsinformationen entsprechenden Grafikdaten; und der Drucksteuervorrichtung
einschließlich
einer Folgeordnungssteuereinrichtung zum Steuern einer Druckordnung
gemäß von der Übertragungseinrichtung übertragenen
Auftragsinformationen und einer Ausgabeeinrichtung zum Ausgeben
von Ausgabefreigabeinformationen zu der Informationsverarbeitungsvorrichtung,
wobei die Ausgabefreigabeinformationen angeben, daß die Grafikinformationen
zu einem Drucker ausgegeben werden können, wobei die Informationsverarbeitungsvorrichtung
die Übertragungseinrichtung
zum Übertragen
der für
die Folgeordnungssteuereinrichtung der Drucksteuervorrichtung notwendigen
Auftragsinformationen der Grafikdaten zu der Drucksteuervorrichtung
anweist, die Drucksteuervorrichtung die Folgeordnungssteuereinrichtung
zum Steuern der Druckordnung gemäß den von
der Übertragungseinrichtung übertragenen
Auftragsinformationen anweist, und wenn die Drucksteuervorrichtung die
Ausgabefreigabeinformationen zu der Informationsverarbeitungsvorrichtung
ausgibt, die Informationsverarbeitungsvorrichtung die in der Speichereinrichtung
gespeicherten Grafikdaten zu dem Drucker überträgt.
-
Gemäß der vorliegenden
Erfindung wird ein virtueller Auftragsfolgeordnungssteuermechanismus zum
Steuern der Auftragsordnung bei der durch eine Vielzahl von Kommunikationsendgeräten an dem Netz
gemeinsam genutzten Vorrichtung bereitgestellt. Jedes eine Auftragsdruckoperation
anfordernde Kommunikationsendgerät
registriert in der Vorrichtung mit dem Folgeordnungssteuermechanismus nicht
die Auftragsdaten, sondern nur die für die Folgeordnungssteuerung
notwendigen Daten. Dieser Folgeordnungssteuermechanismus bestimmt
ein Aufheben bzw. Anhalten einer Druckauftragsanforderung. Daher
belegt selbst eine Vorrichtung ohne eine Funktion des Erkennens
eines Auftrags und eine Auftragslöschungsfunktion, die durch
eine Vielzahl von Kommunikationsendgeräten an dem Netz gemeinsam genutzt
wird, keine übermäßigen Betriebsmittel, die
andernfalls für
den Folgeordnungssteuermechanismus notwendig sind. Daher können sowohl
die Folgeordnungssteuerung als auch das Anhalten von Druckauftragsanforderungen
von Kommunikationsendgeräten
erfüllt
werden.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
1 zeigt
eine grafische Darstellung, die den Aufbau eines Netzsystems, auf
das ein virtueller Server der Erfindung angewendet wird, darstellt.
-
2 zeigt
ein Blockschaltbild, das die Überblicksstruktur
eines in 1 gezeigten Client-Computers darstellt.
-
3 zeigt
eine Speicherbelegung eines in 2 gezeigten
RAM, wenn ein Programm auf einer in 4 gezeigten
FD entwickelt wird.
-
4 zeigt
eine Speicherbelegung, die interne Daten einer in 1 gezeigten
FD darstellt.
-
5 zeigt
eine grafische Darstellung, die die Beziehung zwischen dem in 1 gezeigten
Client-Computer
und der in 2 gezeigten FD darstellt.
-
6 zeigt
ein Blockschaltbild, das die Überblicksstruktur
eines in 1 gezeigten Netzdruckers darstellt.
-
7 zeigt
eine grafische Darstellung, die die Softwaremodulstruktur des Client-Computers
und Servers der Erfindung darstellt.
-
8 zeigt
eine grafische Darstellung, die den Druckprozeßablauf, wenn eine Druckanforderung
von dem Client zu dem in 1 gezeigten
Server ausgegeben wird, darstellt.
-
9 zeigt
eine grafische Darstellung, die den Druckprozeßablauf, wenn eine Druckbar-Angabe
von dem Server zu dem in 1 gezeigten
Client gesendet wird und danach Druckdaten zu einem Drucker übertragen
werden, darstellt.
-
10 zeigt eine grafische Darstellung, die einen
Druckerstatusablauf bei dem virtuellen Server-System der Erfindung
darstellt.
-
11 zeigt eine grafische Darstellung, die eine
Druckoperationsfolge eines virtuellen Druck-Servers bei dem virtuellen
Server-System der Erfindung darstellt.
-
12 zeigt ein Flußdiagramm, das eine Druckoperation
des virtuellen Servers eines Client-Computers unter Verwendung einer
Drucküberwachungseinrichtung
des virtuellen Drucker-Servers des virtuellen Server-Systems gemäß der Erfindung veranschaulicht.
-
13 zeigt eine grafische Darstellung, die eine
Warteschlangentabelle von registrierten Auftragsinformationen darstellt.
-
14 zeigt eine grafische Darstellung, die eine
Verknüpfung
der Warteschlangentabelle von registrierten Auftragsinformationen
durch eine Warteschlangentabelle veranschaulicht.
-
15 zeigt eine grafische Darstellung, die eine
Druckerinformationstabelle darstellt.
-
16 zeigt eine grafische Darstellung, die eine
Druckerwarteschlangentabelle darstellt.
-
17 zeigt eine grafische Darstellung, die eine
Auftragsinformationswarteschlange darstellt.
-
18 zeigt ein Flußdiagramm, das die Operation
des Registrierens eines Druckers in dem virtuellen Druck-Server bei dem virtuellen
Server-System der Erfindung veranschaulicht.
-
19 zeigt eine grafische Darstellung, die eine
Folge des Registrierens von für
eine Drucküberwachungseinrichtung
eines virtuellen Druck-Servers bei
dem virtuellen Server-System der Erfindung notwendigen Informationen
veranschaulicht.
-
20 zeigt eine grafische Darstellung, die eine
IP-Tabelle des virtuellen
Servers darstellt.
-
21 zeigt eine grafische Darstellung, die einen
Dialog darstellt, der einen Benutzer zum Eingeben einer IP des virtuellen
Servers drängt.
-
22 zeigt ein Ablaufdiagramm, das einen Ablauf
eines Befehls und Auftragsinformationen, wenn auf eine Auftragsliste
der Erfindung Bezug genommen wird, veranschaulicht.
-
23 zeigt eine grafische Darstellung, die eine
Einstellungsanzeige auf der Seite des virtuellen Druck-Servers der Erfindung
darstellt.
-
24 zeigt eine grafische Darstellung, die eine
Einstellungsanzeige zum Hinzufügen
eines virtuellen Druckers des virtuellen Druck-Servers der Erfindung
darstellt.
-
25 zeigt eine grafische Darstellung, die eine
Einstellungsanzeige zum Hinzufügen
eines Netzdruckers des virtuellen Druck-Servers der Erfindung darstellt.
-
26 zeigt eine grafische Darstellung, die eine
Einstellungsanzeige zum Hinzufügen
eines virtuellen Druckers des virtuellen Druck-Servers der Erfindung
mit einem zusätzlichen
Druckziel darstellt.
-
27 zeigt eine grafische Darstellung, die eine
Einstellungsanzeige für
den virtuellen Druck-Server der Erfindung mit einem zusätzlichen virtuellen
Drucker darstellt.
-
28 zeigt eine grafische Darstellung, die eine
Einstellungsanzeige auf der Seite eines Clients des virtuellen Druck-Servers
der Erfindung darstellt.
-
29 zeigt eine grafische Darstellung, die eine
Einstellungsanzeige mit einem zusätzlichen Druckziel des virtuellen
Druck-Servers der Erfindung darstellt.
-
30 zeigt eine grafische Darstellung, die eine
Druckzielliste des virtuellen Druck-Servers der Erfindung darstellt.
-
31 zeigt eine grafische Darstellung, die eine
Einstellungsanzeige eines Druckers des virtuellen Druck-Servers der Erfindung
darstellt.
-
32 zeigt eine grafische Darstellung, die eine
Hauptanzeige einer virtuellen Druckverwaltungseinrichtung des virtuellen
Druck-Servers der Erfindung darstellt.
-
33 zeigt ein Flußdiagramm, das einen Einstellungsprozeß des virtuellen
Druck-Servers gemäß einem
ersten Ausführungsbeispiel
der Erfindung veranschaulicht.
-
34 zeigt ein Flußdiagramm, das einen Anschlußeinstellungsprozeß des Client-Computers gemäß dem ersten
Ausführungsbeispiel
der Erfindung veranschaulicht.
-
35 zeigt ein Flußdiagramm, das einen Anschlußeinstellungsprozeß des Client-Computers gemäß dem ersten
Ausführungsbeispiel
der Erfindung veranschaulicht.
-
36 zeigt ein Flußdiagramm, das einen Auftragsabfrageprozeß des Client-Computers
gemäß einem
zweiten Ausführungsbeispiel
der Erfindung veranschaulicht.
-
37 zeigt ein Flußdiagramm, das einen Auftragsabfrageprozeß des Servers
gemäß dem zweiten
Ausführungsbeispiel
der Erfindung veranschaulicht.
-
38 zeigt ein Flußdiagramm, das eine Druckanweisungsfunktion
des virtuellen Druck-Servers bei dem virtuellen Server-System gemäß einem dritten
Ausführungsbeispiel
der Erfindung veranschaulicht.
-
39 zeigt ein Flußdiagramm, das die Druckanweisungsfunktion
des virtuellen Druck-Servers bei dem virtuellen Server-System gemäß dem dritten
Ausführungsbeispiel
der Erfindung im Anschluß an
das in 38 gezeigte Flußdiagramm
veranschaulicht.
-
40 zeigt eine grafische Darstellung, die einen
Zeitablaufwert und einen Server-Fehler-Zustandsmerker darstellt.
-
41 zeigt eine grafische Darstellung, die einen
Drucker-heruntergefahren-Zustandsmerker darstellt.
-
42 zeigt ein Flußdiagramm, das den Prozeß einer
Drucküberwachungseinrichtung
für die Druckfunktion
unter Verwendung des virtuellen Servers gemäß einem vierten Ausführungsbeispiel
der Erfindung veranschaulicht.
-
43 zeigt ein Flußdiagramm, das den Prozeß der Drucküberwachungseinrichtung
für die Druckfunktion
unter Verwendung des virtuellen Servers gemäß dem vierten Ausführungsbeispiel
der Erfindung im Anschluß an
das an 42 gezeigte Flußdiagramm
veranschaulicht.
-
44 zeigt ein Flußdiagramm, das den Prozeß der Drucküberwachungseinrichtung
für die Druckfunktion
unter Verwendung des virtuellen Servers gemäß dem vierten Ausführungsbeispiel
der Erfindung im Anschluß an
die in 42 und 43 gezeigten
Flußdiagramme
veranschaulicht.
-
45 zeigt ein Flußdiagramm, das den Prozeß der Drucküberwachungseinrichtung
für die Druckfunktion
unter Verwendung des virtuellen Servers gemäß einem fünften Ausführungsbeispiel der Erfindung
veranschaulicht.
-
46 zeigt ein Flußdiagram, das den Prozeß der Drucküberwachungseinrichtung
für die Druckfunktion
unter Verwendung des virtuellen Servers gemäß dem fünften Ausführungsbeispiel der Erfindung
im Anschluß an
das in 45 gezeigte Flußdiagramm
veranschaulicht.
-
47 zeigt ein Flußdiagramm, das den Prozeß der Drucküberwachungseinrichtung
für die Druckfunktion
unter Verwendung des virtuellen Servers gemäß dem fünften Ausführungsbeispiel der Erfindung
im Anschluß an
die in 45 und 46 gezeigten
Flußdiagramme
veranschaulicht.
-
48 zeigt ein Ablaufdiagramm des Systems, wenn
eine Druckoperation eines Auftrags normal abgeschlossen wird.
-
49 zeigt ein Flußdiagramm, das die Operation
des Clients für
die Bestätigung
einer Druckoperation eines Netzdruckers gemäß einem sechsten Ausführungsbeispiel
der Erfindung veranschaulicht.
-
50 zeigt ein Flußdiagramm, das die Operation
des virtuellen Servers für
die Bestätigung einer
Druckoperation eines Netzdruckers gemäß einem sechsten Ausführungsbeispiel
der Erfindung veranschaulicht.
-
51 zeigt ein Flußdiagramm, das den Prozeß des Netzdruckers,
wenn eine Identifizierung eines Auftrags mit abgeschlossenem Druck
und die Anzahl von Druckerseiten aufgezeichnet werden, veranschaulicht.
-
52 zeigt ein Flußdiagramm, das den Neudruckprozeß gemäß einem
siebten Ausführungsbeispiel
der Erfindung veranschaulicht.
-
53 zeigt ein Flußdiagramm, das den Neudruckprozeß des virtuellen
Servers gemäß dem siebten
Ausführungsbeispiel
der Erfindung veranschaulicht.
-
54 zeigt ein Flußdiagramm, das den Neudruckprozeß des Clients
gemäß dem siebten Ausführungsbeispiel
der Erfindung veranschaulicht.
-
55 zeigt ein Flußdiagramm, das einen Prozeß des Überschreibens
eines Initialisierungscodes, wenn der Netzdrucker initialisiert
wird, veranschaulicht.
-
56 zeigt ein Flußdiagramm, das einen Neudruckanweisungsprozeß für einen
während
der Datenübertragung
temporär
angehaltenen Auftrag gemäß einem
achten Ausführungsbeispiel
der Erfindung veranschaulicht.
-
AUSFÜHRLICHE
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELE
-
Der
grundlegende Aufbau der Erfindung wird unter Bezugnahme auf die
beigefügten
Zeichnungen beschrieben.
-
1 zeigt
ein Beispiel für
den Aufbau eines Netzsystems, das für die Erläuterung eines virtuellen Servers
der Erfindung geeignet ist.
-
In 1 ist
angenommen, daß n
Client-Computer als Informationsverarbeitungsvorrichtungen mit dem
Netzsystem verbunden sind. Client-Computer 102, 103 und 104 sind
durch Netzkabel wie beispielsweise Ethernet-Kabel mit einem Netz 106 verbunden.
Der Client-Computer kann verschiedene Programme wie beispielsweise
Anwendungsprogramme ausführen
und weist einen Druckertreiber mit einer Funktion des Wandelns von Druckdaten
in eine für
einen Drucker spezifische Druckersprache auf. Es wird angenommen,
daß der
Druckertreiber eine Vielzahl von Druckersprachen unterstützt.
-
Ein
Bezugszeichen 101 stellt einen Server zum Steuern der durch
einen Client-Computer angeforderten Druckoperation dar. Der Server
wird durch ein Netzkabel mit dem Netz 106 verbunden, speichert
durch das Netz zu verwendende Dateien und überwacht den Verwendungszustand
des Netzes 106. Der Server 101 des Ausführungsbeispiels
speichert auch Auftragsinformationen über Druckdaten, deren Druck
durch die Client-Computer 102, 103 und 104 angefordert
wird, und weist eine Funktion des Benachrichtigens von Client-Computern
von IP-Informationen des Netzdruckers 105 und in einem
Zwischenspeicher empfangenen Auftragsinformationen auf. Die Auftragsinformationen
sind für
eine Druckreservierung eines zu druckenden Auftrags notwendige Informationen.
Die Einzelheiten davon werden nachstehend beschrieben. Die Auftragsinformationen
umfassen keine Grafikdaten (Bildbefehl und Bilddaten) eines Druckauftrags,
sondern bestehen aus einem Dokumentnamen, Client-Informationen und
dergleichen.
-
Der
Netzdrucker 105 ist über
eine Netzplatine und eine Netzschnittstelle mit dem Netz 106 verbunden.
Der Netzdrucker 105 wandelt von einem Client-Computer übertragene
Druckdaten in ein Punktbild jeder Seite und druckt eine Seite nach
der anderen. Das Netz 16 ist mit den Client-Computern,
dem Server, dem Netzdrucker und dergleichen verbunden.
-
Der
Server 101, die Client-Computer 102, 103, 104 und
der Netzdrucker 105 führen
jeweils einen speziellen Auftrag in einer verteilten Art und Weise
aus, um Client-Computer effizient zu verwenden und die Last des
Netzes zu verringern.
-
2 zeigt
ein Blockschaltbild, das die Überblicksstruktur
des Client-Computers 102 darstellt. Bei diesem Ausführungsbeispiel
weisen die Client-Computer 103 und 104 sowie der
Server 101 die gleiche Struktur wie der Client-Computer 102 auf.
-
Ein
Bezugszeichen 202 stellt eine CPU dar, die als eine Steuereinrichtung
für die
Informationsverarbeitungsvorrichtung dient. Die CPU 200 steuert zum
Ausführen
von Anwendungsprogrammen, Druckertreiberprogrammen, Betriebssystemen,
Netzdruckersteuerprogrammen und dergleichen, die auf einer in ein
HD-Laufwerk 205 eingelegten Festplatte (HD) gespeichert
sind, und zum temporären
Speichern von Informationen, Dateien und dergleichen, die für die Ausführung von
Programmen in einem RAM 202 als einer Speichereinrichtung
notwendig sind.
-
Ein
ROM 201 speichert darin Programme wie beispielsweise grundlegende
E/A-Programme und verschiedene Daten wie beispielsweise Schriftartdaten
und Dokumentvorlagendaten, die zur Dokumentverarbeitung zu verwenden
sind. Das RAM 202 fungiert als ein Hauptspeicher und ein
Arbeitsbereich der CPU 200.
-
Ein
Bezugszeichen 203 stellt ein FD-Laufwerk (Diskettenlaufwerk)
dar. Wie in 5 gezeigt kann das FD-Laufwerk 203 auf
einer FD 204 gespeicherte Programme oder dergleichen in
das Computersystem laden. Die FD 204 als eine von externen Speichereinrichtungen
ist ein Speicherträger
zum Speichern von durch einen Computer lesbaren Programmen. Die
FD 204 speichert darauf Netzdruckersteuerprogramme und
relevante Daten dieses Ausführungsbeispiels.
Die Struktur von auf der FD 204 gespeicherten Inhalten
ist in 4 gezeigt.
-
In 4 gibt
ein Bezugszeichen 400 die Dateninhalte der FD 204 einschließlich Dateninformationen
angebenden Datenträgerinformationen 401, Verzeichnisinformationen 402,
Netzdruckersteuerprogrammen 403 dieses Ausführungsbeispiel
und sich darauf beziehenden Daten 404 an.
-
Die
Netzdruckersteuerprogramme 403 bestehen aus die in den
Flußdiagrammen
gemäß 12, 18, 19, 33 bis 39, 42 bis 47, 49, 50, 53 und 56 veranschaulichten
Druckersteuerfolgen realisierenden Programmcodes. Die Netzdruckersteuerprogramme 403 umfassen
VPS- Einstellungsprogramme,
Druckereinstellungsprogramme und dergleichen.
-
Ein
Bezugszeichen 205 stellt ein HD-Laufwerk zum Antreiben
einer HD als einer externen Speichereinrichtung, die darauf Anwendungsprogramme,
Druckertreiberprogramme, Betriebssysteme, Netzdruckersteuerprogramme
und andere sich darauf beziehende Programme speichert, dar. Ein virtueller
Druck-Spooler als eine nachstehend zu beschreibende Spool-Einrichtung
ist auf einer HD gespeichert.
-
Ein
Bezugszeichen 206 stellt eine Tastatur als eine Eingabeeinrichtung
für einen
Benutzer zum Zuführen
einer Anweisung wie beispielsweise eines Vorrichtungssteuerbefehls
zu dem Client-Computer dar.
-
Ein
Bezugszeichen 207 stellt eine Anzeige wie beispielsweise
eine Anzeigeeinrichtung zum Anzeigen eines von der Tastatur 206 eingegebenen
Befehls, eines Druckerstatus und dergleichen dar.
-
Ein
Bezugszeichen 208 stellt einen Systembus dar, über den
Daten in dem Client-Computer übertragen
werden.
-
Ein
Bezugszeichen 209 stellt eine Schnittstelle als eine Eingabe-/Ausgabeeinrichtung, über die
die Informationsverarbeitungsvorrichtung Daten zu und von einer
externen Vorrichtung überträgt, dar.
-
3 zeigt
eine Speicherbelegung eines in das RAM 202 geladenen und
ausführbar
ausgebildeten Netzdruckersteuerprogramms.
-
Bei
diesem Ausführungsbeispiel
werden das Netzdruckersteuerprogramm und relevante Daten lediglich
beispielhaft direkt von der FD 204 in das RAM 202 geladen.
Das Netzsteuerprogramm kann von der es bereits speichernden HD 205 in
das RAM 202 geladen werden. Das Netzsteuerprogramm kann
nicht nur auf der FD gespeichert werden, sondern auch auf anderen
Trägern
wie beispielsweise einer CD-ROM, einer CD-R, einer PC-Karte, einer
DVD und einer IC-Speicherkarte. Das Netzsteuerprogramm kann in einem
Speicherbereich des ROM 201 gespeichert sein, wobei der
Speicherbereich auf einen Abschnitt der Speicherbelegung eingestellt
ist und für
die Ausführung
des Netzsteuerprogramms durch die CPU 200 direkt zugänglich ist.
-
Ein
Bezugszeichen 301 stellt ein grundlegendes E/A-Programm dar, das
durch ein Betriebssystem von der HD 205 in das RAM 202 eingelesen wird,
wenn die Energie der Vorrichtung eingeschaltet wird. Das grundlegende
E/A-Programm umfaßt ein eine
Funktion des anfänglichen
Programmladens (IPL) für
den Anfang des Betriebs durch ein Betriebssystem 302 realisierendes
Programm. Ein Netzdruckersteuerprogramm 303 und sich darauf
beziehende Daten 304 werden in diesen Feldern entwickelt. Ein
Bezugszeichen 305 stellt einen Arbeitsbereich für die CPU 200 zum
Ausführen
des Netzdruckersteuerprogramms dar.
-
6 zeigt
ein Blockschaltbild, daß die Überblicksstruktur
des Netzdruckers 105 dieses Ausführungsbeispiels darstellt.
Bei diesem Ausführungsbeispiel
wird ein Laserdrucker (LBP) als der Netzdrucker verwendet. Es ist
offensichtlich, daß andere
Arten von Druckern ebenfalls verwendet werden können.
-
Ein
Bezugszeichen 601 stellt eine CPU zum Steuern der Gesamtheit
des Netzdruckers dar. Ein Bezugszeichen 602 stellt ein
ROM/RAM als eine Speichereinrichtung zum Speichern eines Steuerprogramms
und konstanter Daten für
die Steuerung der CPU 601 und zum Bereitstellen von Zwischenspeichern
zum temporären
Speichern von Sende-/Empfangsdaten dar.
-
Ein
Bezugszeichen 603 stellt eine Speichereinheit wie beispielsweise
eine Festplatte zum Speichern von Sende-/Empfangsdaten, durch die
CPU 601 ausführbaren
Steuerprogrammen, Druckdatenidentifizierungsinformationen und anderen
für das Ausführungsbeispiel
relevanten Daten dar.
-
Ein
Bezugszeichen 604 stellt eine Anzeigeeinheit wie beispielsweise
ein Anzeigefeld zum Anzeigen der in dem ROM/RAM 602 temporär gespeicherten
Daten und der in der Speichereinheit 603 gespeicherten
Daten, eines Betriebsstatus und dergleichen dar.
-
Ein
Bezugszeichen 605 stellt eine Druckereinrichtung zum Ausdrucken
von durch die CPU 601 erzeugten Bitmaskendaten gemäß einem
in dem ROM/RAM 602 gespeicherten Programm dar.
-
Ein
Bezugszeichen 606 stellt eine Netzplatine als eine Eingabe-/Ausgabesteuereinrichtung, über die
Daten wie beispielsweise Zeichendaten und Auftragsinformationen
zu und von einer externen Vorrichtung wie beispielsweise einem Client-Computer
und einem Server übertragen
werden, dar.
-
Ein
Bezugszeichen 607 stellt eine die Netzplatine 606 mit
dem Netz verbindende Übertragungsleitung
dar.
-
7 zeigt
eine grafische Darstellung, die den Aufbau von Softwaremodulen des
Client-Computers und Servers darstellt, wobei die Module wie vorher
beschrieben von einer FD zugeführt
werden.
-
Ein
Bezugszeichen 701 stellt einen Netzdrucker dar, ein Bezugszeichen 702 stellt
den Aufbau von Softwaremodulen des Client-Computers dar, und ein
Bezugszeichen 703 stellt den Aufbau von Softwaremodulen
des Servers dar. Ein Bezugszeichen 704 stellt ein Anwendungsmodul
zum Zuführen
einer Druckanweisung zu dem Netzdrucksystem der Erfindung dar. Ein
Bezugszeichen 705 stellt eine GDI von Windows dar, ein
Bezugszeichen 706 stellt einen in Windows eingebauten Druckertreiber
dar, und ein Bezugszeichen 707 stellt einen Drucker-Spooler
von Windows dar. Module einschließlich einer Druckerüberwachungseinrichtung 708 für den virtuellen
Drucker, einer Netzdruckersteuerüberwachungseinrichtung 709,
einer virtuellen Verwaltungseinrichtung 710, einer API
(Anwendungsschnittstelle) des virtuellen Drucker-Servers 711 und eines Dienstes
des virtuellen Drucker-Servers 712 bestehen
aus einem System des virtuellen Druck-Servers der Erfindung und
werden von einem Speicherträger,
bei diesem Ausführungsbeispiel
der FD 204, zugeführt.
Das Steuerprogramm der Erfindung umfaßt die Module 708, 709, 710, 711 und 712,
die in 7 schraffiert sind.
-
Die
virtuelle Druckverwaltungseinrichtung 710, die API des
virtuellen Druck-Servers 711 und der Dienst des virtuellen
Druck-Servers 712 werden sowohl für den Client-Computer als auch
den Server bereitgestellt. Die Dienste des virtuellen Druck-Servers 712 sowohl
bei dem Client als auch bei dem Server sind nachstehend wo anwendbar
als virtueller Druck-Server bezeichnet, und dieses System wird als
ein virtuelles Druck-Server-System bezeichnet. Auf ähnliche
Weise ist nachstehend wo anwendbar der Dienst des virtuellen Druck-Servers
(Client) als ein Client-Dienst bezeichnet und der Dienst des virtuellen
Druck-Servers (Server) als ein Server-Dienst bezeichnet.
-
Obwohl
die Client-Seiten-Module und Server-Seiten-Module bei diesem Ausführungsbeispiel von
einem Speicherträger
FD 204 zugeführt
werden, können
die Module von einem nur für
den Client verwendeten Speicherträger und von einem nur von dem
Server verwendeten Speicherträger
zugeführt werden,
um das vorstehende System zu realisieren. Der letztere Aufbau soll
in dem Schutzbereich der Patentansprüche enthalten sein.
-
Bei
diesem Ausführungsbeispiel
werden die Ausdrücke "Zeichendaten", "Druckdaten" und "Grafikdaten" verwendet. Die Zeichendaten
und Druckdaten sind zu druckende und von einem Client zu einem Drucker
oder Server zu übertragende
Daten. Die Grafikdaten können
als das gleiche wie die Zeichendaten und Druckdaten betrachtet werden,
aber diese Grafikdaten sollen insbesondere für Grafik verwendete Daten wie
beispielsweise Bildbefehle und Bilddaten bedeuten. Bei einem bekannten
System sind von einem Client zu einem Server übertragene Daten Druckdaten
einschließlich
Grafikdaten und Auftragsinformationen. Die Auftragsinformationen
werden nachstehend beschrieben.
-
Erstes Ausführungsbeispiel
-
Die
Einstellungsprozesse des Servers und Client-Computers des wie vorstehend
beschrieben konfigurierten virtuellen Druck-Server-Systems (nachstehend
als ein VPS (Abkürzung für virtuelles Drucksystem)
bezeichnet) werden unter Bezugnahme auf die in 23 bis 31 gezeigten
Einstellungsanzeigen beschrieben.
-
Zuerst
wird der Einstellungsprozeß des
Servers unter Bezugnahme auf das in 33 gezeigte Flußdiagramm
beschrieben. Bei der Einstellung eines der Clients an dem Netz als
einen Server wird das auf der in 2 gezeigten
HD 205 gespeicherte VPS-Einstellungsprogramm bei den Clients 102 bis 104 des
in 1 gezeigten Systems aktiviert. Indem das VPS-Einstellungsprogramm
aktiviert wird, wird eine in 23 gezeigte
Anzeige auf der in 2 gezeigten Anzeigevorrichtung 207 angezeigt.
Der Server wird unter Verwendung der in 2 gezeigten Tastatur 206 eingestellt.
In 23 können
die Schaltflächen "Client" und "Server" abwechselnd ausgewählt werden.
Als nächstes
wird ein Ankreuzfeld zum Bereitstellen einer Server-Funktion angekreuzt,
um die Server-Funktion zu aktivieren. Einer der Clients wird als
der in 1 gezeigte Server 101 eingestellt.
-
Nachdem
das Ankreuzfeld angekreuzt ist, wird in einem Schritt S3301 ein
den Server identifizierender Server-Name eingegeben. Zum Registrieren des
Druckers dieses Servers wird in einem Schritt S3302 eine in 23 gezeigte Schaltfläche "HINZUFÜGEN" zum Einstellen eines virtuellen Druckers
betätigt,
wenn die Anzeige auf der in 2 gezeigten Anzeigevorrichtung 207 sich
zu der in 24 gezeigten Anzeige ändert. In
einem Schritt S3303 werden ein Name des virtuellen Druckers und
eine Druckerbeschreibung (Kommentar) eingegeben. Wenn in einem Schritt
S3304 eine Schaltfläche "ANSCHLUSS HINZUFÜGEN" betätigt wird, ändert sich
die Anzeige wie in 25 gezeigt. In einem Schritt
S3305 werden eine IP-Adresse des Druckers und ein mit dem Druckkommunikationsprotokoll verwendeter
Druckername (lpd) eingegeben. Indem danach eine Schaltfläche OK betätigt wird, ändert sich
die Anzeige wie in 26 gezeigt. Indem eine Schaltfläche OK betätigt wird,
können
alle eingegebenen Informationen in der in 27 gezeigten
anfänglichen
Anzeige bestätigt
werden. Indem eine Schaltfläche
OK betätigt
wird, wird die Server-Einstellung abgeschlossen.
-
Als
nächstes
wird der Einstellungsprozeß des
virtuellen Servers und Druckers durch einen Client unter Bezugnahme
auf die in 34 und 35 gezeigten
Flußdiagramme
betrieben. 34 zeigt ein Flußdiagramm,
das den Anschlußeinstellungsprozeß durch
einen Client-Computer veranschaulicht, und 35 zeigt
ein Flußdiagramm,
daß den Einstellungsprozeß eines
Druckers durch einen Client-Computer
veranschaulicht.
-
Bei
einem Einstellen eines Clients ist es notwendig, wie in 34 gezeigt einen Anschluß einzustellen. Das auf der
in 2 gezeigten HD 205 gespeicherte VPS-Einstellungsprogramm
wird bei dem Client 202 des in 1 gezeigten
Systems aktiviert. Indem dieses Programm aktiviert wird, wird eine
in 28 gezeigte Anzeige auf der in 2 gezeigten Anzeigevorrichtung 207 angezeigt.
Die Schaltfläche "Client" wird unter Verwendung
der in 2 gezeigten Tastatur 206 ausgewählt.
-
In 28 können
die Schaltflächen "Client" und "Server" abwechselnd ausgewählt werden. 28 zeigt eine Einstellungsanzeige des Clients, wenn
die Client-Schaltfläche ausgewählt wird.
In einem Schritt S3401 ändert
sich die Anzeige wie in 29 gezeigt,
indem eine Bedienungsperson eine Schaltfläche "HINZUFÜGEN" in einem Unterfenster "DRUCKZIEL BEI VIRTUELLEM
DRUCKSERVER" betätigt. Der
Server-Name wird in einem Schritt S3402 eingegeben. Indem die Bedienungsperson
in einem Schritt S3403 eine Schaltfläche "BEZUG" betätigt,
werden eine Druckerliste und Druckerinformationen wie beispielsweise
eine durch den Server verwaltete Drucker-IP-Adresse von dem Server mit dem in
dem Schritt S3402 eingegebenen Server-Namen abgefragt. Wenn der
Client von dem Server die Druckerliste und Druckerinformationen
empfängt, wird
die durch den Server verwaltete Druckerliste angezeigt.
-
In
einem Schritt S3404 wählt
die Bedienungsperson einen Drucker aus der Druckerliste aus. In
einem Schritt S3405 werden die in dem Schritt S3404 bezeichneten
und in dem Schritt S3403 von dem Server empfangenen Druckerinformationen (IP-Adresse
und dergleichen) des Druckers auf der HD des Client-Computers als
die Anschlußinformationen
gespeichert, um danach den Anschlußeinstellungsprozeß zu beenden.
Bei einem Übertragen
der Druckdaten zu dem Netz wird die IP-Adresse in den gespeicherten
Druckerinformationen verwendet. 30 zeigt
eine Hinzufügung
eines Anschlusses durch die Anschlußeinstellung in der in 28 gezeigten Anzeige wie durch einen Namen des
virtuellen Drucker-Servers virtueller Drucker "VPS-MASCHINE@VPS-DRUCKER" angegeben.
-
Nachdem
der Anschluß wie
in 34 veranschaulicht eingestellt ist, ist es notwendig,
wie in dem in 35 gezeigten Flußdiagramm
veranschaulicht einen Drucker einzustellen. Ein auf der in 2 gezeigten
HD 205 gespeichertes Druckereinstellungsprogramm wird bei
dem Client-Computer 102 des in 1 gezeigten
Systems aktiviert. Indem dieses Programm aktiviert wird, wird eine
in 31 gezeigte Anzeige auf der in 2 gezeigten
Anzeigevorrichtung 207 angezeigt. Die Druckereinstellung
wird unter Verwendung der in 2 gezeigten
Tastatur 206 ausgeführt.
In einem Schritt S3501 gibt eine Bedienungsperson den Druckernamen
ein, nachdem die in 31 gezeigte Anzeige angezeigt
ist. In einem Schritt S3502 wird ein Treiber bezeichnet, den der Drucker
verwendet. In einem Schritt S3502 wird eine Beschreibung (Kommentar)
eingegeben.
-
In
einem Schritt S3504 wird auf das Druckziel Bezug genommen. Der durch
den in 34 veranschaulichten Prozeß hinzugefügte Anschluß kann zu
dieser Zeit bestätigt
werden. In einem Schritt S3505 wird der durch den in 34 veranschaulichten Prozeß hinzugefügte Anschluß bezeichnet. Indem die Bedienungsperson
eine Schaltfläche "OK" betätigt, überprüft die CPU 202 des
in 2 gezeigten Client-Computers, ob der in dem Schritt
S3506 bezeichnete Anschluß ein
VPS-Anschluß ist
oder nicht. Falls die CPU 200 beurteilt, daß der bezeichnete
Anschluß ein
VPS-Anschluß ist,
werden die Drucküberwachungseinrichtung
des virtuellen Druck-Servers 708 und die Netzdruckersteuerüberwachungseinrichtung 709,
die in 7 gezeigt sind, aktiviert.
In einem Schritt S3508 weist die aktivierte Drucküberwachungseinrichtung
des virtuellen Druck-Servers 708 den Dienst des Druck-Servers (Client) 712 zum Ausführen eines Öffnungsprozesses
an. Der um den Öffnungsprozeß gebetene
Dienst des Druck-Servers (Client) 712 weist den wie in 34 veranschaulicht bezeichneten Server zum Erfassen
der Druckerinformationen wie beispielsweise einer IP-Adresse des mit dem
in dem Schritt S3505 bezeichneten Anschluß verknüpften Druckers an, um dadurch
die Druckerinformationen zu erfassen (in einem Schritt S3509). In
einem Schritt S3510 werden die von dem Server empfangenen Druckerinformationen
(wie beispielsweise die IP-Adresse) auf der HD des Client-Computers
als die Anschlußinformationen
gespeichert, um danach den Druckereinstellungsprozeß zu beenden.
Bei einem Übertragen
der Druckdaten zu dem Netzdrucker wird die IP-Adresse in den gespeicherten Druckerinformationen
verwendet.
-
Die
Prozesse in den Schritten S3507 bis S3510 werden auch ausgeführt, wenn
der Computer neu startet. Selbst wenn die Druckerinformationen (IP-Adresse)
des durch den Server verwalteten Druckers geändert wird, kann die geänderte IP-Adresse automatisch
bestätigt
werden, wenn der Client-Computer neu startet. Falls es in dem Schritt
S3506 beurteilt wird, daß der
Anschluß kein
Anschluß des
virtuellen Servers ist, wird in einem Schritt S3511 ein Standardeinstellungsprozeß von Windows
ausgeführt,
um danach den Druckereinstellungsprozeß abzuschließen.
-
Wie
vorstehend beschrieben werden gemäß dem ersten Ausführungsbeispiel
die Druckerinformationen in einem durch den Client von dem Server empfangenen
Druckbar-Angabe-Befehl
eingegeben und eingegeben, wenn während des Client-Einstellungsprozesses
der Client-Anschluß und
Drucker eingestellt werden. Daher ist keine Bedienungsperson notwendig,
um die Druckerinformationen (IP-Adresse und dergleichen) einzugeben,
sondern die Druckerinformationen können automatisch aus dem Druckernamen
und dergleichen erfaßt
werden, und die Client-Einstellung kann nur durch ein Ändern der
Server-Einstellung
automatisch geändert
werden. Es ist daher möglich,
das System leicht zu verwalten.
-
Da
dem virtuellen Server ein Name des virtuellen Druckers zugewiesen
wird, ist kein Benutzer notwendig, um jedes Mal, wenn eine Druckoperation ausgeführt wird,
eine weitere Druckspezifikation für jeden Drucker einzustellen.
Falls zum Beispiel eine Bedienungsperson (ein Verwalter) eines virtuellen Servers
einen Namen "VPS-DRUCKER1" für einen A4-Horizontal-Behälter und
einen Namen "VPS-DRUCKER2" für einen
A4-Vertikal-Behälter
registriert, kann selbst ein unerfahrener Benutzer die durch den
Verwalter eingestellte Druckspezifikation einstellen, indem er den
Namen des virtuellen Druckers auswählt.
-
Zweites Ausführungsbeispiel
-
Bei
dem zweiten Ausführungsbeispiel
nimmt eine Bedienungsperson des in 2 gezeigten
Client-Computers 102 auf eine Auftragsliste von Aufträgen in einem
Bereitschaftszustand in dem VPS-System Bezug.
-
32 zeigt eine Anzeige, die verwendet wird, wenn
auf einer Auftragsliste von Aufträgen in einem Bereitschaftszustand
in dem VPS-System Bezug genommen wird. Wenn in 22 ein Client-Computer auf eine Auftragsliste
jedes Druckers Bezug nimmt, überträgt der Client-Computer
zuerst einen Auftragsabfragebefehl zu dem Server. Bei dem Empfang
dieses Auftragsabfragebefehls überträgt der Server
ihn zu dem Netzdrucker. Bei dem Empfang dieses Auftragsabfragebefehls überträgt der Netzdrucker
die gegenwärtig
in dem Netzdrucker vorhandenen Auftragsinformationen. Bei dem Empfang
der Auftragsinformationen ordnet der Server die Auftragsinformationen
gemäß den empfangenen Auftragsinformationen
und den gegenwärtig
in dem Server vorhandenen Auftragsinformationen neu an und überträgt die neu
angeordneten Auftragsinformationen als neue Auftragsinformationen
zu dem Client.
-
Der
Auftragsabfrageprozeß wird
unter Bezugnahme auf die in 36 (Client-Prozeß) und 37 (Server-Prozeß) gezeigten Flußdiagramme beschrieben.
-
Wenn
ein Client auf die Auftragsliste Bezug nimmt, wird das in 7 gezeigte
und auf der in 2 gezeigten HD 205 gespeicherte
Programm der virtuellen Druckverwaltungseinrichtung 710 bei
dem Client-Computer 102 des in 1 gezeigten
Systems aktiviert. Das in 7 gezeigte
Programm der virtuellen Druckverwaltungseinrichtung 710 gibt über das
VPS des virtuellen Druck-Servers 711 eine VPSÖffneDrucker-,
eine VPSSchließeDrucker-
und eine Auftragsabfrage-API zu dem Dienst des virtuellen Druck-Servers
(Client) 712 aus. Das Flußdiagramm gemäß 36 veranschaulicht die Operation des Dienstes
des virtuellen Druck-Servers (Client) 712.
-
In
einem in 36 gezeigten Schritt S3601 empfängt der
Dienst des virtuellen Druck-Servers (Client) 712 VPSÖffneDrucker
und empfängt
die Auftragsabfrage in einem Schritt S3602, um die Operation zu
starten. In einem Schritt S3603 überprüft der Dienst
des virtuellen Druck-Servers
(Client) 712 einen den in dem in dem Schritt S3601 empfangenen VPSÖffneDrucker-Befehl
enthaltenen Druckernamen darstellenden Parameter bezüglich dessen,
ob der bezeichnete Druckername einem durch den Dienst des virtuellen
Druck-Servers (Client) 712 verwalteten virtuellen Drucker
entspricht. Falls dem so ist, wird in einem Schritt S3604 der VPSÖffneDrucker-Befehl
zu dem Server 703 übertragen.
In einem Schritt S3605 wird der Auftragsabfrage-Befehl zu dem Server 703 übertragen.
Danach wartet der Dienst des virtuellen Druck-Servers (Client) 712 auf den
Empfang der Auftragsinformationen von dem Server.
-
Falls
der Dienst des virtuellen Druck-Servers (Client) 712 in
einem Schritt S3606 die Auftragsinformationen von dem Server 703 empfängt, werden
die empfangenen Auftragsinformationen in einem Schritt S3607 in
der in 32 gezeigten Auftragsinformationsliste
angezeigt. Danach überträgt in einem
Schritt S3608 der Dienst des virtuellen Druck-Servers (Client) 712 den
VPSSchließeDrucker-Befehl
zu dem Server 703. In einem Schritt S3609 empfängt der Dienst
des virtuellen Druck-Servers
(Client) 712 den VPSSchließeDrucker-Befehl über die
API des virtuellen Drucker-Servers 711 von dem Programm
der virtuellen Druckverwaltungseinrichtung 710, um danach den
Prozeß zu
beenden.
-
Der
Dienst des virtuellen Druck-Servers (Client) 712 überprüft in dem
Schritt S3603 den den in dem in dem Schritt S3601 empfangenen VPSÖffneDrucker-Befehl
enthaltenen Druckernamen darstellenden Parameter bezüglich dessen,
ob der bezeichnete Druckername dem durch den Dienst des virtuellen
Druck-Servers (Client) 712 verwalteten virtuellen Drucker 702 oder
einem weiteren Drucker entspricht. Wenn er es beurteilt, daß der Druckername
einem von dem virtuellen Drucker 702 verschiedenen Drucker
entspricht, dann zeigt er die durch Windows verwaltete Auftragsliste
unter Verwendung eines standardmäßigen Dienstes
eines virtuellen Druck-Servers von Windows an. In einem Schritt
S3610 wird ein ÖffneDrucker
ausgegeben, und in einem Schritt S3611 wird ein ZähleAufträgeAuf ausgegeben,
um die Auftragslisteninformationen zu erhalten. In einem Schritt
S3612 werden die Auftragsinformationen in der in 32 gezeigten Auftragsliste angezeigt. In einem
Schritt S3613 wird ein SchließeDrucker
ausgegeben, um den Prozeß zu
beenden.
-
Der
Auftragsabfrageprozeß durch
den Server wird unter Bezugnahme auf das in 37 gezeigte
Flußdiagramm
beschrieben. In einem Schritt S3701 empfängt der Server 101 in
dem in 1 gezeigten System den VPSÖffneDrucker-Befehl
von dem Client-Computer 102. Wenn in einem Schritt S3702
der Auftragsabfragebefehl von dem Client-Server 102 empfangen
wird, überträgt der Server 101 in
einem Schritt S3703 einen Druckerauftragsabfragebefehl zu dem Netzdrucker 105 und
wartet auf die Übertragung
der Druckerinformationen durch den Netzdrucker.
-
Indem
die Druckerauftragsinformationen von dem Netzdrucker übertragen
werden, empfängt
der Server 101 in einem Schritt S3704 die Druckerauftragsinformationen
einschließlich
der Auftragslisteninformationen über
den bei dem Netzdrucker 105 im Druck befindlichen Auftrag.
In einem Schritt S3705 fügt
der Server 101 die Aufträge in den empfangenen Auftragsinformationen
zu den gegenwärtig
durch den Server 101 verwalteten Druckeraufträgen in der Druckordnung
hinzu, um dadurch neue Auftragsinformationen (als Systemauftragsinformationen
bezeichnet) eines Druckers des Systems zu erzeugen.
-
Da
sowohl durch den Netzdrucker 105 als auch den Server 101 verwaltete
Aufträge
(zum Beispiel gegenwärtige
Druckeraufträge)
in dem Schritt S3705 als doppelte Aufträge bezeichnet werden, löscht der
Server 101 in einem Schritt S3706 die doppelten Aufträge aus den
Systemauftragsinformationen. Falls ein bereits zu dem Netzdrucker übertragener
Auftrag in der Auftragsliste des Servers nicht in der Auftragsliste
des Druckers enthalten ist, kann es in Betracht gezogen werden,
daß der
Auftrag aus irgendwelchen Gründen
verschwunden ist. In diesem Fall wird dieser Auftrag auch aus den Systemauftragsinformationen
gelöscht.
In einem Schritt S3707 überträgt der Server 101 die
neuen Systemauftragsinformationen mit Löschung einiger Aufträge zu dem Client-Computer 102,
der den Auftragsabfragebefehl ausgegeben hat.
-
In
einem Schritt S3708 empfängt
der Server 101 den VPSSchließeDrucker-Befehl von dem Client-Computer 102,
um danach den Prozeß zu
beenden.
-
Wie
vorstehend beschrieben kann der Client auf die Auftragsliste des
ganzen Systems Bezug nehmen. Bei diesem Ausführungsbeispiel werden Listeninformationen
aller Aufträge
erzeugt. Statt dessen kann eine Liste nur der von dem Client, der
die Auftragsabfrage ausgegeben hat, übertragenen Aufträge gebildet
werden. Ob der Auftrag von welchem Client übertragen wird, kann mit Bezug
auf die Auftragsinformationen unterschieden werden.
-
Wie
vorstehend beschrieben fragt gemäß dem zweiten
Ausführungsbeispiel
der Server eine Liste von gegenwärtig
in dem Drucker vorhandenen Aufträgen
ab, wenn eine Auftragsabfrage von dem Client zu dem Server ausgegeben
wird, und gemäß der empfangenen
Auftragsliste und der Liste von gegenwärtig in dem Server vorhandenen
Aufträgen
erzeugt der Server eine Liste von in dem ganzen System vorhandenen
Aufträgen
und benachrichtigt den Client von der neuen Liste. Im Vergleich
zu bekannten Techniken kann auf richtigere Informationen Bezug genommen
werden. Selbst wenn wegen einigen Fehlern bei dem Netzdrucker ein
Auftrag verschwindet, kann der Client diesen verschwundenen Auftrag bestätigen.
-
Drittes Ausführungsbeispiel
-
Bei
dem dritten Ausführungsbeispiel
weist der Client-Computer 102 den
Netzdrucker 105 zum Ausführen einer Druckoperation an.
Bei der Beschreibung dieses Ausführungsbeispiels
wird Windows beispielhaft verwendet. Der Prozeß des Übertragens einer Druckanforderung
von einem Server zu einem Client ist in 8 veranschaulicht,
und der Prozeß des Übertragens
einer Druckbar-Angabe von dem Server zu dem Client und Übertragens
von Druckdaten zu dem Drucker ist in 9 veranschaulicht.
Die in den bereits beschriebenen Blockschaltbildern gezeigten Komponenten
werden bei der folgenden Beschreibung mit identischen Bezugszeichen wie
vorstehend angegeben verwendet. Der Druckprozeß wird unter Bezugnahme auf
die in 8 und 9 gezeigten
Folgediagramme beschrieben.
-
Das
Anwendungsprogramm 704 startet eine Druckoperation bei
dem Client-Computer 702 (102) unter Verwendung
der GDI 705. Die GDI benachrichtigt den Windows-Spooler 707 und
die Drucküberwachungseinrichtung
des virtuellen Druck-Servers 708 von dem Druckstart. Bei
dem Empfang der Druckstartmitteilung fordert die Drucküberwachungseinrichtung
des virtuellen Druck-Servers 708 über den Dienst des virtuellen
Druck-Servers (Client) 712 einen Druckstart bei dem Dienst
des virtuellen Druck-Servers
(Server) 712 des Servers 703 (101) an.
Die GDI 705 fordert den Druckertreiber 706 zum Wandeln
der Druckdaten in eine Druckersprache auf. Der Druckertreiber 706 wandelt
die Druckdaten in eine Druckersprache. Die in die Druckersprache
gewandelten Druckdaten (Grafikdaten) werden durch den Windows-Spooler 707 gespoolt.
-
Die
Drucküberwachungseinrichtung
des virtuellen Servers 708 empfängt die durch den Windows-Spooler 707 gespoolten
Druckdaten und leitet die Druckdaten zu dem Dienst des virtuellen Druck-Servers
(Client) 712. Der Dienst des virtuellen Druck-Servers (Client) 712 speichert
die empfangenen Druckdaten temporär in dem virtuellen Druck-Spooler 801 als
einer Spool-Einrichtung, auf der in 2 gezeigten
HD 205. Wenn alle Druckdaten in dem virtuellen Druck-Spooler 801 auf
der HD 205 gespeichert sind, benachrichtigt der Dienst
des virtuellen Druck-Servers
(Client) 712 den Dienst des virtuellen Druck-Servers (Server) 712 des
Servers 703 (101) von dem Abschluß des Speicherns
der Druckdaten und fordert eine Druckoperation an. Der Dienst des
virtuellen Druck-Servers
verwendet das gleiche Modul sowohl für den Client als auch für den Server,
das über
die Einstellung in einer unterscheidenden Weise verwendet werden
kann. Wie vorstehend beschrieben ist dieses Modul nicht notwendigerweise
sowohl für
den Client als auch für
den Server das gleiche, sondern verschiedene Module können verwendet
werden, die von verschiedenen FD als den Speichereinrichtungen zugeführt werden.
-
9 zeigt
das Folgediagramm, das die Operation dahingehend veranschaulicht,
daß dann, wenn
der Server bestimmt, daß es
eine Zeit ist, zu der ein in dem Dienst des virtuellen Druck-Servers (Server) 712 registrierter
Druckauftrag gedruckt wird, die Druckdaten zu dem Netzdrucker übertragen
werden.
-
Der
Dienst des virtuellen Druck-Servers (Server) 712 gibt eine
Druckbar-Angabe zu dem Client 702 aus, wenn es Zeit ist,
die Druckdaten zu drucken. Bei dem Empfang dieser Druckbar-Angabe liest
der Dienst des virtuellen Druck-Servers
(Client) 712 die temporär
in dem virtuellen Druck-Spooler 801 gespeicherten Druckdaten
und leitet sie zu der Netzdruckersteuerüberwachungseinrichtung 709. Die
Netzdruckersteuerüberwachungseinrichtung 709 leitet
die Druckdaten gemäß einem
Druckkommunikationsprotokoll zu dem Netzdrucker, um sie auf dem Netzdrucker 701 zu
drucken.
-
Der
Dienst des virtuellen Druck-Servers 712 wird genau beschrieben.
Dieser Dienst des virtuellen Druck-Servers 712 ist das
Hauptmodul in dem virtuellen Druck-Server-System und verwendet das gleiche Modul über die
Einstellung in einer unterscheidenden Weise für sowohl den Client als auch
den Server. Das für
den Server eingestellte Modul kann für den Client verwendet werden,
indem es rückgesetzt
wird. Wie mit dem ersten Ausführungsbeispiel beschrieben
werden dem Netzdrucker in der Server-Einstellung ein Name und seine
IP-Adresse zugewiesen, um es dem Client zu ermöglichen, ihn zu verwenden.
Andere Punkte wie beispielsweise ein zu verwendendes Protokoll,
eine Antwortzeit zu einem Client und ein Druckerstatusüberwachungseinrichtungsintervall
werden ebenfalls eingestellt. Für
die Client-Einstellung wird der Server bezeichnet, um dadurch den
durch den Server verwalteten Netzdrucker einzustellen.
-
Die
Operation des Benachrichtigens des Client-Computers 702 von
einem Status des Netzdruckers wird beschrieben. Diese Operation
wird unter beispielhafter Verwendung von Windows beschrieben. Der
Druckerstatusfolgeablauf ist in 10 gezeigt.
-
Bei
diesem Ausführungsbeispiel
fordert der Dienst des virtuellen Druck-Servers (Server) 712 eine SNMP-Verwaltungseinrichtung 1002 mit
einem Intervall von 5 Sekunden (Vorgabe) zum Sammeln des Status
des Netzdruckers 701 auf. Die SNMP-Verwaltungseinrichtung 1002 fordert
den Netzdrucker 701 zum Sammeln des Status auf. Der Netzdrucker 701 gibt
den derzeitigen Status zurück.
Falls der Status des Netzdruckers 701 sich ändert, teilt
der Dienst des virtuellen Druck-Servers (Server) 712 dem
den Netzdrucker 701 verwendenden Client-Computer 702 die Statusänderung
mit. Die von dem Server 703 ausgegebene Änderungsmitteilung
des Druckerstatus wird durch den Dienst des virtuellen Druck-Servers
(Client) 712 des Client-Computers 702 empfangen,
und der Druckerstatus wird in einem Register 1001 in dem
RAM des Client-Computers 702 gespeichert. Das Anwendungsprogramm 704 kann
den in dem Register 1001 gespeicherten Druckerstatus über die API
des virtuellen Drucker-Servers 711 erfassen.
-
Die
Druckfolge ist in 11 gezeigt. Das Anwendungsprogramm 704 startet
unter Verwendung einer StartDok-API eine Druckoperation. Die GDI 705 fordert
den Druckertreiber 706 zum Wandeln der Druckdaten in eine
Druckersprache auf und fordert den Windows-Spooler 707 zum
Starten des Spoolens auf. Wenn nach der Aufforderung durch die GDI 705 alle
Druckdaten in den Windows-Spooler 707 geschrieben sind,
wird der Druckprozeß durch
das Anwendungsprogramm 704 beendet. Der Windows-Spooler 707 leitet
die Druckdaten zu dem dem wie mit 24, 25 und 26 beschrieben
eingestellten Netzdrucker 701 entsprechenden Anschluß. Abhängig von
Einstellungen des Windows-Spoolers ist das Schreiben der Druckdaten
von der GDI in den Windows-Spooler nicht notwendigerweise synchron
zu dem Schreiben der Druckdaten von dem Windows-Spooler in die Drucküberwachungseinrichtung.
-
Vor
dem Empfangen der Druckdaten von dem Windows-Spooler 707 fügt die Drucküberwachungseinrichtung
des virtuellen Druck-Servers 708 Auftragsinformationen
zu dem Dienst des virtuellen Druck-Servers 712 hinzu, um
eine neue Auftrags-ID von dem Dienst des virtuellen Druck-Servers 712 zu erhalten.
-
Die
Auftragsinformationen werden genau beschrieben. Bei diesem System überträgt ein Client ohne
ein Übertragen
der Druckdaten nur die Auftragsinformationen zu dem Server (virtuellen
Server), um die Druckanforderung zu registrieren. Die Auftragsinformationen
umfassen einen Dokumentnamen des Auftrags, die Zahl von Seiten,
die Menge von Daten, den Status, den Besitzernamen (Client-Namen), eine Client-ID
und dergleichen. Die Auftragsinformationen sind daher andere Daten
als die Grafikdaten unter den Druckdaten wie bei den bekannten Technologien
verwendet. Es ist zu beachten, daß die Grafikdaten unter den
Druckdaten wie bei den bekannten Technologien verwendet in dieser
Patentbeschreibung als Druckdaten beschrieben sind. Die Auftragsinformationen
werden in der Druckordnung in dem Server registriert, und der Server überträgt die Auftrags-ID
zu dem Client, der die Druckoperation angefordert hat. Die Auftrags-ID
wird bei verschiedenen Operationen wie beispielsweise dann, wenn
eine Druckbar-Angabe zu dem Client übertragen wird, verwendet.
-
Nachdem
der Dienst des virtuellen Druck-Servers (Client) 712 eine
neue Auftrags-ID erfaßt
hat, schreibt die Drucküberwachungseinrichtung des
virtuellen Druck-Servers 708 die Druckdaten als eine Druckdatei
in den auf der HD 205 (2) des Client-Computers 702 reservierten
virtuellen Druck-Spooler 801. Nach dem Spoolen fordert
die Drucküberwachungseinrichtung
des virtuellen Druckdienstes 708 den Dienst des virtuellen
Druck-Servers 712 zum Starten der Auftragsplanung auf.
Bei dem Empfang der Planungsstartanweisung von der Drucküberwachungseinrichtung
des virtuellen Druck-Servers 708 fordert der Dienst des
virtuellen Druck-Servers 712 den Server 703 zum
Starten der Planung auf. Bei dem Empfang dieser Anforderung startet
der Server 703 die Auftragsplanung bei dem Dienst des virtuellen
Druck-Servers (Server) 712.
-
Der
Dienst des virtuellen Druck-Servers 712 plant Aufträge und teilt
dem Dienst des virtuellen Druck-Servers 712 des
Client-Computers 702 die Auftrags-ID mit, deren Auftrag
gedruckt werden kann. Dies kann ausgeführt werden, indem die Client-IP-Adresse
wie in 17 veranschaulicht erfaßt wird.
Der Dienst des virtuellen Druck-Servers (Client) 712 liest
die in dem virtuellen Druck-Spooler 801 gespoolte Spool-Datei
der Druckdaten. Der Dienst des virtuellen Druck-Servers (Client) 712 leitet
die Druckdaten wie beispielsweise ein Druckdokument zu der Netzdruckersteuerüberwachungseinrichtung 709, die
dann wieder die Druckdaten gemäß dem Protokoll
des Netzdruckers 701 zu dem Netzdrucker 701 leitet,
um sie zu drucken.
-
Der
Dienst des virtuellen Druck-Servers (Server) 712 des Servers 703 verwaltet
nur die Auftragsinformationen. Wenn der durch den Server 703 verwaltete
Netzdrucker 701 den nächsten
Auftrag annehmen kann, gibt der Server 703 die Druckbar-Angabe
zu dem Client-Computer 702 aus, der einen auf die Druckoperation
wartenden Auftrag aufweist. Der Client-Computer 702, dem
durch den Server 703 die Druckbar-Angabe zugewiesen wird, überträgt die Druckdaten
der in dem virtuellen Druck-Spooler 801 gespoolten Spool-Datei ohne Verwendung
des Servers direkt zu dem Netzdrucker 701. In der vorstehenden
Art und Weise kann ein Netzdrucken ausgeführt werden.
-
11 zeigt einen Folgeablauf, der die Operation
der Drucküberwachungseinrichtung
mit einer Druckfunktion unter Verwendung des virtuellen Druck-Servers
gemäß diesem
Ausführungsbeispiel veranschaulicht.
-
Das
Druckanwendungsprogramm 704 weist den Windows-Spooler 707 zum
Ausführen
eines Öffnungsprozesses
(ÖffneDrucker)
an (1001) und weist zum Starten des Druckens der Druckdaten
(StartDokDrucker) an (1102). Der Windows-Spooler 707 weist
die Drucküberwachungseinrichtung
des virtuellen Druck-Servers 708 zum Ausführen eines
Druckstarts (VPSÖffneDrucker)
an (1103). Die Drucküberwachungseinrichtung
des virtuellen Druckdienstes 708 weist den Dienst des virtuellen
Druck-Servers (Client/Server) 712 zum Ausführen eines Öffnungsprozesses
(VPSÖffneDrucker)
zum Öffnen
des durch den Dienst des virtuellen Druck-Servers 712 verwalteten
Druckers an (1104). Die Drucküberwachungseinrichtung des
virtuellen Druck-Servers 708 fragt die Druckerinformationen über den
Dienst des virtuellen Druck-Servers (Client/Server) 712 zum
Erfassen des Anschlußnamens
des Netzdruckers (VPSErhalteAnschluß) ab (1105). Eine
durch den Dienst des virtuellen Druck-Servers (Client/Server) 712 verwaltete spezifische
Druckauftrags-ID wird erfaßt
(VPSErhalteAuftrags-Id) (1106). Die Druckanwendung 704 weist
den Windows-Spooler 707 zum Ausführen eines Druckprozesses (SchreibeDrucker)
der Druckdaten an (1107) und weist die Drucküberwachungseinrichtung
des virtuellen Druck-Servers 708 zum Ausführen eines
Schreibprozesses (SchreibeAnschluß) an (1108). Die
tatsächlich
geschriebenen Druckdaten befinden sich in dem virtuellen Druck-Spooler 801. Die
Prozesse 1107 und 1108 werden wiederholt, bis alle
Druckdaten geschrieben sind. Nach dem Abschluß der Schreiboperation führt die
Druckanwendung 704 einen Druckabschlußprozeß aus (1109).
-
Der
Windows-Spooler 707 weist die Drucküberwachungseinrichtung des
virtuellen Druck-Servers 708 zum Ausführen eines Dokumentdruckabschlußprozesses
(BeendeDokDrucker) an (1110). Die Drucküberwachungseinrichtung des
virtuellen Druck-Servers 708 weist den Dienst des virtuellen Druck-Servers 712 zum
Einstellen der Druckauftragsinformationen (VPSStelleAuftragEin)
an (1111). Die Drucküberwachungseinrichtung
des virtuellen Druck-Servers 708 weist den Dienst des virtuellen Druck-Servers 712 zum
Ausführen
einer Warteanforderung (VPSWarteAufAuftrag) des bezeichneten Druckauftrags
an (1112). Dies wird ausgeführt, um auf die Druckbar-Angabe
von dem Dienst des virtuellen Druck-Servers (Server) 712 zu
warten. Die Druckanwendung 704 weist den Windows-Spooler 707 zum
Ausführen
eines Schließungsprozesses
(SchließeDrucker)
an (1113). Falls die Druckvorbereitung für den durch
den Dienst des virtuellen Druck-Servers (Client) 712 verwalteten
Druckauftrag abgeschlossen ist, weist dieser Dienst des virtuellen
Druck-Servers (Client) 712 der Drucküberwachungseinrichtung des virtuellen
Druck-Servers die Druckbar-Angabe zu (1114). Vor dem Druckstart
stellt die Drucküberwachungseinrichtung
des virtuellen Druck-Servers 708 den
durch den Server 703 verwalteten Druckauftragsstatus auf
einen Im-Druck-befindlich-Status ein (VPSStelleAuftragEin) (1115).
Die Drucküberwachungseinrichtung
des virtuellen Druck-Servers 708 weist den Netzdrucker 701 zum
Ausführen
einer Druckoperation an (1116). Nach dem Abschluß der Druckoperation
gibt die Drucküberwachungseinrichtung
des virtuellen Druck-Servers 708 eine Druckauftragsabbruchanforderung
(VPSStelleAuftragEin(AUFTRAGS_STEUERUNG_ABBRECHEN)) (1117)
und eine Druckerschließungsanforderung (VPSSchließeDrucker)
(1118) zu dem Dienst des virtuellen Druck-Servers 712 aus
(1117).
-
Der
Druckfolgeablauf unter Verwendung des virtuellen Druck-Servers dieses
Ausführungsbeispiels
ist vorstehend beschrieben.
-
12 zeigt ein Flußdiagramm, das die Druckfunktion
der Drucküberwachungseinrichtung des
virtuellen Druck-Servers 708 unter Verwendung des Dienstes
des virtuellen Druck-Servers
(Client) 712 des Client-Computers gemäß dem Ausführungsbeispiel veranschaulicht.
-
In
einem Schritt S1201 empfängt
die Drucküberwachungseinrichtung
des virtuellen Druck-Servers von dem Windows-Spooler 707 eine
API StartDokAnschluß(),
bei der es sich um eine Druckstartanforderung handelt. In einem
Schritt S1202 wird eine in 13 gezeigte
Warteschlangentabelle von registrierten Auftragsinformationen gebildet.
Die in dem in 11 gezeigten Schritt S1106
erfaßte
Auftrags-ID wird für
das in dem Schritt S1201 empfangene StartDokAnschluß() eingestellt.
In einem Schritt S1203 wird die Warteschlangentabelle von registrierten
Auftragsinformationen mit einer Warteschlangentabelle verknüpft wie
in 14 gezeigt. In einem Schritt S1204 ruft die Drucküberwachungseinrichtung
des virtuellen Druck-Servers 708 eine API des virtuellen Druck-Servers 712,
VPSÖffneDrucker(),
zum Öffnen des
durch den virtuellen Druck-Server 712 verwalteten Druckers
auf. In einem Schritt S1205 ruft die Drucküberwachungseinrichtung des
virtuellen Druck-Servers 708 die API des virtuellen Druck-Servers,
VPSErhalteDrucker() zum Erfassen des tatsächlichen Anschlußnamens
des Netzdruckers auf. In einem Schritt s1206 wird der Anschlußname bei
einer entsprechenden Warteschlangentabelle von registrierten Auftragsinformationen
(13) eingestellt. In einem Schritt S1207 wird die
API des virtuellen Druck-Servers, VPSErhalteAuftrags-Id() zum Erfassen
der durch den virtuellen Druck-Server 712 verwalteten Druckauftrags-ID
aufgerufen. In einem Schritt S1208 wird die erfaßte Auftrags-ID des virtuellen
Druck-Servers 712 bei einer entsprechenden Warteschlangentabelle
von registrierten Auftragsinformationen (13)
eingestellt. In einem Schritt S1209 wird eine API SchreibeAnschluß() zum Schreiben
der Druckdaten von dem Windows-Spooler 707 empfangen. In
einem Schritt S1210 wird es beurteilt, ob es das erste SchreibeAnschluß() ist. Falls
dem so ist, wird in einem Schritt S1211 eine temporäre Datei
auf der HD 205 des Client-Computers erzeugt. Diese Datei
ist die Spool-Datei des virtuellen Druck-Spoolers 801.
Wie vorstehend beschrieben kann bei diesem Ausführungsbeispiel der virtuelle
Druck-Spooler nur die Auftragsinformationen der temporären Datei
verwalten, obwohl die temporäre
Datei in dem virtuellen Druck-Spooler
gespeichert ist. In diesem Fall wird die temporäre Datei in einem leeren Bereich
der Festplatte des Clients erzeugt. In einem Schritt S1212 werden
die Druckdaten in die temporäre
Datei geschrieben. In einem Schritt S1213 wird es beurteilt, ob
die durch den Windows-Spooler 707 angeforderte Funktion
SchreibeAnschluß()
oder BeendeDokAnschluß()
ist. Falls sie SchreibeAnschluß()
ist, rückt
der Ablauf zu einem Schritt S1209 vor, wohingegen der Ablauf zu
einem Schritt S1214 vorrückt,
wenn sie BeendeDokAnschluß()
ist. In dem Schritt S1214 wird der Schließungsprozeß für die temporäre Datei
ausgeführt,
und in einem Schritt S1215 wird der Zugangsname der temporären Datei bei
einer entsprechenden Warteschlangentabelle von registrierten Auftragsinformationen
(13) eingestellt. In einem Schritt S1216 wird die
API des virtuellen Druck-Servers, VPSStelleAuftragEin(), zum Registrieren
der in 14 gezeigten, durch die Drucküberwachungseinrichtung
des virtuellen Druck-Servers 708 in dem virtuellen Druck-Server 712 verwalteten
Auftragsinformationen aufgerufen. In einem Schritt S1217 wird VPSWarteAufAuftrag() aufgerufen
und mit der durch den Client-Computer verwendeten IP-Adresse eingestellt,
und eine Anforderung zum Senden der Druckbar-Angabe des bezeichneten
Druckauftrags wird ausgegeben, um danach auf die Druckbar-Angabe
zu warten. Wenn in einem Schritt S1218 die Druckbar-Angabe von dem Dienst
des virtuellen Druck-Servers
(Server) 712 empfangen wird, wird eine entsprechende Warteschlangentabelle
gemäß der entsprechenden
Warteschlange von registrierten Auftragsinformationen entsprechend
der durch die Druckbar-Angabe bezeichneten Auftrags-ID erfaßt, und
die Netzdrucker-IP wird gemäß dem Anschlußnamen erfaßt, um dadurch
in einem Schritt S1219 die Druckoperation bei dem Netzdrucker auszuführen. Nach
dem Abschluß der Druckoperation
ruft in einem Schritt S1220 die Drucküberwachungseinrichtung 708 VPSStelleAuftragEin()
von dem Dienst des virtuellen Druck-Servers (Client/Server) 712 auf,
weist zum Löschen
des Auftrags an und teilt den Auftragsabschluß mit. In einem Schritt S1221
wird eine API zum Schließen
des durch den Dienst des virtuellen Druck-Servers (Client/Server) 712 verwalteten
Druckers von dem Dienst des virtuellen Druck-Servers (Client/Server) 712 aufgerufen.
In einem Schritt S1222 wird die entsprechende Warteschlangentabelle
von registrierten Auftragsinformationen (13)
gelöscht,
um den Prozeß zu beenden.
-
18 zeigt ein Flußdiagramm, das die Operation
des Dienstes des virtuellen Druck-Servers (Server) bezüglich der
Funktion des Registrierens eines Druckers in dem virtuellen Druck-Server
veranschaulicht.
-
In
einem Schritt S1801 wird die API des virtuellen Druck-Spoolers mit einer
Funktion des Hinzufügens
eines durch den Dienst des virtuellen Druck-Servers (Client/Server)
verwalteten Druckers offen ausgebildet. Falls die API des virtuellen Druck-Spoolers
mit der Druckerhinzufügungsfunktion auszuführen ist,
ist es notwendig, eine den Druckernamen und Anschlußnamen enthaltende
Druckerinformationstabelle (15)
zu bezeichnen. Indem eine Druckerhinzufügung empfangen wird, rückt der Ablauf
zu einem Schritt S1802 vor. Falls in dem Schritt S1802 der gleiche
Druckername bereits in dem virtuellen Druck-Server registriert ist,
wird in einem Schritt S1803 dieser Druckername in einer unterscheidenden
Weise als ein Druckername mit "Druckername" + "n" verwaltet, wobei n eine positive ganze
Zahl ist. Falls in dem Schritt S1802 kein gleicher Druckername vorhanden
ist, wird der Prozeß in
dem Schritt S1803 nicht ausgeführt,
und der Ablauf springt zu einem Schritt S1804, in dem die Druckerinformationstabelle
(15) erzeugt wird, und in einem Schritt S1805 wird
die Druckerinformationstabelle in eine Druckerwarteschlange (16) gestellt. In der vorstehenden Art und Weise
wird der Registrierungsprozeß des
Registrierens eines Druckers in dem virtuellen Druck-Server durch den
Dienst des virtuellen Druck-Servers (Server) abgeschlossen.
-
19 zeigt ein Flußdiagramm, das die Operation
des Registrierens von für
die Drucküberwachungseinrichtung 708 notwendigen
Informationen gemäß dem Ausführungsbeispiel
veranschaulicht.
-
In
einem Schritt S1901 zeigt die Drucküberwachungseinrichtung 708 einen
Dialog (21) an, der einen Benutzer
zum Eingeben der IP des virtuellen Servers drängt. Indem der Benutzer die
IP des virtuellen Servers eingibt, wird diese IP in einem Schritt
S1902 bei einer IP-Tabelle des virtuellen Servers (20) in der Drucküberwachungseinrichtung 708 eingestellt.
Der Speicherort ist zum Beispiel die in 2 gezeigte
HD 205.
-
Die
Drucküberwachungseinrichtung 708 führt Übertragungen
unter Verwendung dieser IP-Adresse aus.
-
38 und 39 zeigen
Flußdiagramme, die
die Operation des Dienstes des virtuellen Druck-Servers (Client/Server) 712 bezüglich der Druckanweisungsfunktion
gemäß dem Ausführungsbeispiel
veranschaulichen. Die in 38 und 39 gezeigten
Flußdiagramme
bilden ein bei A und D gekoppeltes Flußdiagramm.
-
Falls
in einem Schritt S3801 eine Druckeröffnungsanforderung von der
Drucküberwachungseinrichtung 708 vorhanden
ist, durchsucht in einem Schritt S3802 der Dienst des virtuellen
Druck-Servers (Client/Server) 712 alle Druckernamen, um
zu überprüfen, ob
der zum Öffnen
angeforderte Druckername in den durch einen Druckinformationszeiger
(16) der Druckerinformationswarteschlangentabelle
verknüpften
Druckerinformationen erhalten ist. Falls er enthalten ist, rückt der
Ablauf zu einem Schritt S3803 vor, in dem der dem zum Öffnen angeforderten
Druckernamen entsprechende Zeiger der Druckerinformationswarteschlangentabelle
als eine Druckerzugriffsnummer zu der Druckerüberwachungseinrichtung 708 zurückgegeben
wird. In einem Schritt S3804 wird eine Druckerinformationserfassungsanforderung
von der Druckerüberwachungseinrichtung 708 empfangen.
In einem Schritt S3805 wird es überprüft, ob die
Druckerzugriffsnummer als ein Parameter der Druckerinformationserfassungsfunktion
richtig ist, das heißt
ob dem in dem virtuellen Druck-Server registrierten Drucker entsprechende
Druckerinformationen vorhanden sind. Falls entsprechende Druckerinformationen
vorhanden sind, werden in einem Schritt S3806 die Inhalte der Druckerinformationstabelle
in den den Parametern der Druckerinformationserfassungsfunktion
zugewiesenen Bereich kopiert und die Funktion zurückgegeben.
In einem Schritt S3807 wird eine Druckauftrags-ID-Erfassungsanforderung
von der Drucküberwachungseinrichtung 708 empfangen.
In einem Schritt S3808 wird es überprüft, ob die
Druckerzugriffsnummer als ein Parameter einer Druckauftrags-ID-Erfassungsfunktion
richtig ist, das heißt,
ob dem in dem virtuellen Druck-Server registrierten Drucker entsprechende
Druckerinformationen vorhanden sind. Falls entsprechende Druckerinformationen vorhanden
sind, wird in einem Schritt S3809 eine von der gegenwärtig durch
den virtuellen Druck-Server verwalteten Auftrags-ID verschiedene
ID ausgegeben und zu der Drucküberwachungseinrichtung 708 zurückgegeben.
In einem Schritt S3810 werden zum Verwalten der Auftrags-ID bei
dem virtuellen Druck-Server die Auftragsinformationswarteschlangentabelle
und der Auftragsinformationstabellenbereich in einer Auftragsinformationswarteschlange (17) einer entsprechenden Druckerinformationstabelle
reserviert, und die Auftrags-ID wird darin und bei dem Auftragsinformationszeiger
der Auftragsinformationswarteschlangentabelle eingestellt. In einem
Schritt S3811 wird eine Auftragsregistrierung von der Drucküberwachungseinrichtung
empfangen. In einem Schritt S3812 wird der Auftrags-ID-Bereich der
Auftragsinformationstabelle, die mit allen Auftragsinformationswarteschlangen
verknüpft
ist, durchsucht, um zu überprüfen, ob
die Auftrags-ID, die ein Parameter einer Auftragsregistrierungsfunktion
ist, durch den virtuellen Druck-Server verwaltet wird. Falls die
bezeichnete Auftrags-ID vorhanden ist, wird in einem Schritt S3813
der Auftragsinformationsprozeß ausgeführt. In
dem Schritt 3813 werden die Auftragsinformationen, die
ein Parameter der Auftragsregistrierungsfunktion sind, bei der der
Auftrags-ID entsprechenden Auftragsinformationstabelle eingestellt.
In einem Schritt S3814 wird eine Auftragsbereitschaftsanforderung
von der Drucküberwachungseinrichtung
empfangen, und der Ablauf rückt zu
A vor.
-
A
in 38 ist mit A in 39 gekoppelt. Von
A in 39 rückt der Ablauf zu einem Schritt S3901
vor. In dem Schritt S3901 wird der Auftrags-ID-Bereich der mit allen
Auftragsinformationswarteschlangen verknüpften Auftragsinformationstabelle
durchsucht, um zu überprüfen, ob
die Auftrags-ID, die ein Parameter einer Auftragsbereitschaftsanforderung
ist, durch den virtuellen Druck-Server verwaltet wird. Falls die
bezeichnete Auftrags-ID vorhanden ist, wird die durch den Client, der
der Parameter der Auftragsbereitschaftsanforderung ist, verwendete
IP-Adresse in einem
IP-Adreßbereich
des Clients bei einer entsprechenden Auftragsinformationswarteschlange
( 17) eingestellt, um einem Schritt S3902 zu folgen.
In dem Schritt S3902 wird ein Auftragsbereitschaftsstatus in einem
Auftragsbereitschaftsstatusbereich der der Auftrags-ID entsprechenden
Auftragsinformationswarteschlangentabelle eingestellt. In einem
Schritt S3903 wird es überprüft, ob die
Auftragsinformationswarteschlangentabelle, bei der der Auftragsbereitschaftsstatus
eingestellt wird, sich bei dem Kopf der Auftragsinformationswarteschlangentabelle
befindet. Falls sie sich bei dem Warteschlangenkopf befindet, rückt der
Ablauf zu einem Schritt S3904 vor, in dem die Client-IP-Adresse
aus dem IP-Adreßbereich des
Clients in der Auftragsinformationswarteschlange ( 17) erfaßt
wird, wobei zu der IP-Adresse die Druckbar-Angabe übertragen wird, indem die entsprechende
ID bezeichnet wird. In einem Schritt S3905 wird eine einen Druckabschluß von dem
Client angebende Auftragsabbruchsanforderung empfangen. In einem
Schritt S3906 wird es überprüft, ob die
Druckerzugriffsnummer, die ein Parameter einer Auftragsabbruchsfunktion
ist, richtig ist, das heißt
ob dem in dem virtuellen Druck-Server
registrierten Drucker entsprechende Druckerinformationen vorhanden
sind. Falls entsprechende Druckerinformationen vorhanden sind, wird
in einem Schritt S3907 der Auftrags-ID-Bereich der mit allen Auftragsinformationswarteschlangen
verknüpften
Auftragsinformationstabelle durchsucht, um zu überprüfen, ob die Auftrags-ID, die
der Parameter der Auftragsabbruchsfunktion ist, durch den virtuellen
Druck-Server verwaltet
wird. Falls die bezeichnete Auftrags-ID vorhanden ist, rückt der
Ablauf zu einem Schritt S3908 vor, in dem die der Auftrags-ID in
dem Schritt S3907 entsprechende Auftragsinformationswarteschlangentabelle
gelöscht
wird. In einem Schritt S3907 wird ein Druckerschließungsprozeß von dem
Client empfangen. In einem Schritt S3910 wird der Zeiger auf die
durch den virtuellen Druck-Server (die Dienste des virtuellen Druck-Servers 712 für sowohl
den Client als auch den Server) verwaltete Druckerinformationstabelle überprüft, um zu überprüfen „ ob die
Druckerzugriffsnummer als der Parameter der Druckerschließungsfunktion
richtig ist. Falls der gleiche Zeiger vorhanden ist, wird in einem
Schritt S3911 die Druckerschließungsfunktion
als normal zurückgegeben.
-
In
dem in 38 gezeigten Schritt S3802 werden
alle Druckernamen durchsucht, um zu überprüfen, ob der zum Öffnen angeforderte
Druckername in den durch die Druckerinformationstabelle (16) in der Druckerinformationswarteschlangentabelle
verknüpften
Druckerinformationen vorhanden ist. Falls kein gleicher Druckername
vorhanden ist, rückt
der Ablauf zu einem Schritt S3815 vor, um die Öffnungsfunktion als fehlerhaft
zurückzugeben.
-
In
dem Schritt S3805 wird es überprüft, ob die
Druckerzugriffsnummer, die ein Parameter der Druckerinformationserfassungsfunktion
ist, in dem virtuellen Druck-Server registrierte entsprechende Druckerinformationen
aufweist. Falls keine entsprechenden Druckerinformationen vorhanden
sind, wird in einem Schritt S3810 die Druckerinformationserfassungsfunktion
als fehlerhaft beendet, um B in 39 und
folglich dem Schritt S3909 zu folgen.
-
In
dem Schritt S3808 wird es überprüft, ob die
Druckerzugriffsnummer, die ein Parameter der Druckauftrags-ID-Erfassungsfunktion
ist, in dem virtuellen Druck-Server registrierte entsprechende Druckerinformationen
aufweist. Falls keine entsprechende Druckerinformationen vorhanden
sind, wird in einem Schritt S3817 die Druckauftrags-ID-Erfassungsfunktion
als fehlerhaft beendet, um B in 39 zu
folgen.
-
In
dem Schritt S3812 wird der Auftrags-ID-Bereich der mit allen Auftragsinformationswarteschlangen
verknüpften
Auftragsinformationstabelle durchsucht, um zu überprüfen, ob die Auftrags-ID, die
ein Parameter der Auftragsregistrierungsfunktion ist, durch den
virtuellen Druck-Server verwaltet wird. Falls die bezeichnete Auftrags-ID
vorhanden ist, wird in einem Schritt S3818 die Auftragsregistrierungsfunktion
als fehlerhaft beendet, um B in 39 zu
folgen.
-
In
dem Schritt S3901 in 39 wird der Auftrags-ID-Bereich der mit allen
Auftragsinformationswarteschlangen verknüpften Auftragsinformationstabelle
durchsucht, um zu überprüfen, ob
die Auftrags-ID, die der Parameter der Auftragsbereitschaftsanforderung
ist, durch den virtuellen Druck-Server verwaltet wird. Falls keine
bezeichnete Auftrags-ID vorhanden ist, wird in einem Schritt S3912
die Auftragsbereitschaftsanforderung als fehlerhaft zurückgegeben,
um B in 39 zu folgen.
-
In
dem Schritt S3903 wird es überprüft, ob die
Auftragsinformationswarteschlangentabelle, bei der in dem Schritt
S3902 der Auftragsbereitschaftsstatus eingestellt wird, sich bei
dem Kopf der Warteschlange befindet. Falls sie sich nicht bei dem
Kopf befindet, rückt
der Ablauf zu dem Schritt S3903 vor.
-
In
dem Schritt S3906 wird es überprüft, ob die
Druckerzugriffsnummer, die ein Parameter der Auftragsabbruchfunktion
ist, in dem virtuellen Druck-Server
registrierte entsprechende Druckerinformationen aufweist. Falls
keine entsprechenden Druckerinformationen vorhanden sind, wird in
einem Schritt S3913 die Auftragsabbruchfunktion als fehlerhaft zurückgegeben,
um B in 39 zu folgen.
-
In
dem Schritt S3907 wird der Auftrags-ID-Bereich der mit allen Auftragsinformationswarteschlangen
verknüpften
Auftragsinformationstabelle durchsucht, um zu überprüfen, ob die Auftrags-ID, die
der Parameter der Auftragsabbruchfunktion ist, durch den virtuellen
Druck-Server verwaltet
wird. Falls keine bezeichnete Auftrags-ID vorhanden ist, wird in dem Schritt
S3913 die Auftragsabbruchfunktion als fehlerhaft zurückgegeben,
um B in 39 zu folgen.
-
In
dem Schritt S3910 wird der Zeiger auf die durch den virtuellen Drucker
verwaltete Druckerinformationstabelle durchsucht, um zu überprüfen, ob
die Druckerzugriffsnummer, die der Parameter der Druckerschließungsfunktion
ist, richtig ist. Falls kein gleicher Zeiger vorhanden ist, wird
in einem Schritt S3914 die Druckerschließungsfunktion als fehlerhaft zurückgegeben,
um den Druckeröffnungsprozeß zu beenden.
-
Wie
vorstehend beschrieben ist das virtuelle Druck-Server-System des dritten Ausführungsbeispiel
der Erfindung mit einem virtuellen Auftragsfolgeordnungssteuermechanismus
zum Steuern der Auftragsordnung bei der durch eine Vielzahl von Kommunikationsendgeräten an dem
Netz gemeinsam genutzten Vorrichtung versehen. Jedes eine Druckauftragsoperation
anfordernde Kommunikationsendgerät
registriert in der Vorrichtung mit dem Folgeordnungssteuermechanismus
nicht die Auftragsdaten, sondern nur die für die Folgeordnungssteuerung
notwendigen Daten. Dieser Folgeordnungssteuermechanismus bestimmt
das Anhalten einer Druckauftragsanforderung. Daher belegt selbst eine Vorrichtung
ohne eine Funktion des Erkennens eines Auftrags und eine Auftragslöschungsfunktion, die
durch eine Vielzahl von Kommunikationsendgeräten an dem Netz gemeinsam genutzt
wird, keine übermäßigen Betriebsmittel,
die sonst für
den Folgeordnungssteuermechanismus notwendig sind. Daher können sowohl
die Folgeordnungssteuerung als auch das Anhalten von Druckauftragsanforderungen von
Kommunikationsendgeräten
erfüllt
werden.
-
Viertes Ausführungsbeispiel
-
42 bis 44 zeigen
Flußdiagramme, die
die Operation der Drucküberwachungseinrichtung
des virtuellen Druck-Servers 708 gemäß dem Ausführungsbeispiel
veranschaulichen, wobei dann, wenn der virtuelle Server 703,
der die Drucküberwachungseinrichtung
des virtuellen Druck-Servers 708 für die Druckoperation verwendet,
anormal ist oder ausgeschaltet ist, nicht der virtuelle Server 703,
sondern der Client-Computer 702 direkt einen Vorgabedrucker
zum Ausführen
der Druckoperation anweist und einen Benutzer von der Wirkung, daß der Vorgabedrucker
für die
Druckoperation verwendet wird, benachrichtigt. Die in 42 bis 44 gezeigten Flußdiagramme
bilden ein einziges Flußdiagramm. Der
Vorgabedrucker ist ein Drucker, der bereits als ein gewöhnliches
Ausgabeziel des Clients eingestellt ist. Obwohl bei diesem Ausführungsbeispiel
der Vorgabedrucker direkt zum Ausführen der Druckoperation angewiesen
wird, ist das Ausgabeziel nicht auf den Vorgabedrucker beschränkt, sondern
kann ein beliebiger anderer Drucker sein.
-
In
einem Schritt S4201 empfängt
die Drucküberwachungseinrichtung
des virtuellen Druck-Servers 708 eine API StartDokAnschluß() von
dem Windows-Spooler 707, wobei die API eine Druckstartanforderung
ist. In einem Schritt S4202 wird die in 13 gezeigte
Warteschlangentabelle von registrierten Auftragsinformationen erzeugt,
und in dem Schritt S4201 wird die durch StartDokAnschluß() in dem
Schritt S4201 angegebene Auftrags-ID bei der Warteschlangentabelle
von registrierten Auftragsinformationen eingestellt.
-
In
einem Schritt S4203 wird die Warteschlangentabelle von registrierten
Auftragsinformationen mit der Warteschlangentabelle wie in 14 gezeigt verknüpft. In einem Schritt S4202
ruft die Drucküberwachungseinrichtung 708 VPSÖffneDrucker(),
bei dem es sich um eine API des virtuellen Druck-Servers (die eine
Sammlung der Dienste des virtuellen Druck-Servers 712,
der Drucküberwachungseinrichtung 708 und
der Steuerüberwachungseinrichtungen 709 ist)
handelt, von dem virtuellen Druck-Server 712 auf, um dadurch
den durch den virtuellen Druck-Server verwalteten Drucker zu öffnen.
-
In
einem Schritt S4205 wird es überprüft, ob VPSÖffneDrucker()
fehlerhaft ist. Falls es normal ist, wird in einem Schritt S4206
die API VPSErhalteDrucker() des virtuellen Druck-Servers von dem
Dienst des virtuellen Druck-Servers 712 aufgerufen, um
den Anschlußnamen
und die Drucker-ID des bei dem Dienst des virtuellen Druck-Servers 712 eingestellten Netzdruckers
zu erfassen.
-
In
einem Schritt S4207 wird der Anschlußname bei der entsprechenden
Warteschlangentabelle von registrierten Auftragsinformationen (13) eingestellt. In einem Schritt S4208 wird die
API VPSErhalteAuftrags-Id() des virtuellen Druck-Servers aufgerufen,
um die durch den virtuellen Druck-Server verwaltete Druckauftrags-ID
zu erfassen. In einem Schritt S4209 wird es überprüft, ob die VPSErhalteAuftrags-Id()-Funktion
fehlerhaft ist. Falls sie normal ist, rückt der Ablauf zu einem Schritt
S4210 vor.
-
In
dem Schritt S4210 wird die erfaßte
Auftrags-ID des virtuellen Servers bei der entsprechenden Warteschlangentabelle
von registrierten Auftragsinformationen (13)
eingestellt. In einem Schritt S4211 wird eine API SchreibeAnschluß() zum Schreiben
von Druckdaten von dem Windows-Spooler 707 empfangen, um
A in 43 und folglich einem Schritt
S4301 zu folgen. In dem Schritt S4301 wird es überprüft, ob das empfangene SchreibeAnschluß() das
erste SchreibeAnschluß()
ist. Falls dem so ist, wird in einem Schritt S4302 eine temporäre Datei
auf der HD 205 des Client-Computers gebildet. In einem
Schritt S4203 werden die Druckdaten in die in dem Schritt S4202
gebildete temporäre
Datei geschrieben. In einem Schritt S4304 wird es überprüft, ob die
durch den Windows-Spooler 707 angeforderte Funktion SchreibeAnschluß() oder
BeendeDokAnschluß()
ist. Falls sie SchreibeAnschluß()
ist, rückt der
Ablauf zu B in 42 und zu dem Schritt S4211 vor.
Falls in dem Schritt S4304 die angeforderte Funktion als BeendeDokAnschluß() beurteilt
wird, rückt
der Ablauf zu einem Schritt S3205 vor.
-
In
dem Schritt S4305 wird der Schließungsprozeß der temporären Datei
ausgeführt.
In einem Schritt S4306 wird der Zugangsname der temporären Datei
bei der entsprechenden Warteschlangentabelle von registrierten Auftragsinformationen
(13) eingestellt. In einem Schritt S4307 wird es überprüft, ob ein
Server-Fehler-Zustandsmerker
(40) eingeschaltet ist. Falls er eingeschaltet
ist, wird in einem Schritt S4308 die API VPSStelleAuftragEin() des
virtuellen Druck-Servers aufgerufen, und die in 13 gezeigten und durch die Drucküberwachungseinrichtung 708 verwalteten
Auftragsinformationen werden in dem virtuellen Druck-Server registriert.
In einem Schritt S4309 wird es überprüft, ob die
VPSStelleAuftragEin()-Funktion fehlerhaft ist. Falls sie normal
ist, rückt
der Ablauf zu C in 44 und folglich zu einem Schritt
S4401 vor.
-
In
dem Schritt S4401 wird die API VPSWarteAufAuftrag() des virtuellen
Druck-Servers aufgerufen, um eine Ausgabe der Druckbar-Angabe, wenn der
bezeichnete Druckauftrag druckbar wird, anzufordern, und wartet
auf die Druckbar-Angabe.
In einem Schritt S4402 wird die Zeitgeberfunktion des Ausgebens
einer Zeitablaufangabe, wenn eine bezeichnete Zeit verstreicht,
aufgerufen, um einen Zeitablaufwert (40)
zu erfassen und den Zeitgeber einzustellen. Der Zeitablaufwert gibt
eine Zeit an, zu der die Druckoperation startet, falls der Server 703 die
Druckbar-Angabe nicht bis zu dieser Zeit ausgibt. Der in 40 gezeigte Zeitablaufwert und der Server-Fehler-Zustandsmerker werden
in RAM 202 des Clients oder virtuellen Servers gespeichert.
-
In
einem Schritt S4403 wird es überprüft, ob VPSWarteAufAuftrag()
normal ist. Falls es normal ist, rückt der Ablauf zu einem Schritt
S4404 vor. In dem Schritt S4404 bleibt der Ablauf entweder bis zu
dem Empfang der Druckbar-Angabe oder bis zu dem Ablauf der Zeit
in Bereitschaft. Falls die Druckbar-Angabe empfangen wird, rückt der
Ablauf zu einem Schritt S4405 vor, in dem es überprüft wird, ob der Server-Fehler-Zustandsmerker
(40) eingeschaltet ist. Falls er ausgeschaltet
ist, wird in einem Schritt S4406 die entsprechende Warteschlangentabelle
gemäß der der
durch die Druckbar-Angabe
bezeichneten Auftrags-ID entsprechenden Warteschlange von registrierten
Auftragsinformationen (13)
erfaßt, und
die Netz-IP wird aus dem Anschlußnamen erfaßt, um dadurch die Druckoperation
bei dem Netzdrucker auszuführen.
Die in 13 gezeigte Auftragsinformationswarteschlange
wird in dem RAM 202 oder auf der HD 205 des virtuellen
Servers gespeichert. Nach der Druckoperation wird es in einem Schritt
S4407 überprüft, ob der
Server-Fehler-Zustandsmerker (40)
eingeschaltet ist. Falls er ausgeschaltet ist, wird in einem Schritt
S4408 VPSStelleAuftragEin() von dem virtuellen Druck-Server aufgerufen,
um die Löschung
des entsprechenden Auftrags anzuweisen und den Auftragsabschluß mitzuteilen.
In einem Schritt S4409 wird der in dem in 42 gezeigten
Schritt S4204 geöffnete
Drucker geschlossen, indem eine VPSDruckerSchließen()-Funktion aufgerufen wird. In einem Schritt S4410
werden die entsprechende Warteschlangentabelle von registrierten
Auftragsinformationen (13)
und die mit den Druckdaten geschriebene temporäre Datei gelöscht, um
den Prozeß zu
beenden. In einem Schritt S4411 wird der Server-Fehler-Zustandsmerker
(40) zurückgesetzt.
-
In
dem in 42 gezeigten Schritt S4205 wird
es überprüft, ob VPSÖffneDrucker()
fehlerhaft ist. Falls es fehlerhaft ist, rückt der Ablauf zu einem Schritt
S4213 vor, in dem der in dem Schritt S4204 geöffnete Drucker durch ein Aufrufen
von VPSDruckerSchließen()
geschlossen wird. In einem Schritt S4212 wird der Server-Fehler-Zustandsmerker (40) eingeschaltet, um dem Schritt S4211 zu folgen.
-
In
einem in 43 gezeigten Schritt S4307 wird
es überprüft, ob der
Server-Fehler-Zustandsmerker (40) eingeschaltet
ist. Falls er eingeschaltet ist, rückt der Ablauf zu E in 44 und folglich zu einem Schritt S4415 vor. In
dem Schritt S4415 wird die IP-Adresse des Vorgabedruckers auf den Anschlußnamen der
der Warteschlange von registrierten Auftragsinformationen entsprechenden
Warteschlangentabelle eingestellt. In einem Schritt S4416 wird ein
Dialog angezeigt, um den Benutzer von der Wirkung zu benachrichtigen,
daß der
Vorgabedrucker ohne eine Anweisung von dem Server für die Druckoperation
verwendet wird. Danach rückt
der Ablauf zu dem Schritt S4406 vor.
-
In
dem in 43 gezeigten Schritt S4309 wird
es überprüft, ob die
VPSStelleAuftragEin()-Funktion fehlerhaft ist. Falls sie fehlerhaft
ist, wird in einem Schritt S4310 der Server-Fehler-Zustandsmerker
(40) eingeschaltet, um einem Schritt S4311 zu folgen,
in dem der in dem in 42 gezeigten Schritt S4204
geöffnete
Drucker geschlossen wird, indem VPSDruckerSchließen() aufgerufen wird, um D
in 44 und folglich dem Schritt S4405 zu folgen.
-
Falls
es in dem Schritt S4403 beurteilt wird, daß die VPSWarteAufAuftrag()-Funktion
fehlerhaft ist, rückt
der Ablauf zu einem Schritt S4412 vor. In dem Schritt S4412 wird
VPSStelleAuftragEin() von dem virtuellen Druck-Server aufgerufen, um die Löschung des
entsprechenden Auftrags anzuweisen und den Auftragsabschluß mitzuteilen.
In einem Schritt S4413 wird der in dem Schritt S4204 geöffnete Drucker
geschlossen, indem VPSDruckerSchließen() aufgerufen wird. In einem
Schritt S4414 wird der Server-Fehler-Zustandsmerker (40) eingeschaltet, um dem Schritt S4405 zu folgen.
-
In
dem Schritt S4405 wird es überprüft, ob der
Server-Fehler-Zustandsmerker
eingeschaltet ist. Falls er eingeschaltet ist, wird in dem Schritt
S4415 die IP-Adresse
des Vorgabedruckers auf den Anschlußnamen der der Warteschlange
von registrierten Auftragsinformationen entsprechenden Warteschlangentabelle
eingestellt. In dem Schritt S4416 wird ein Dialog angezeigt, um
den Benutzer von der Wirkung zu benachrichtigen, daß der Vorgabedrucker
ohne ein Empfangen einer Angabe von dem Server 703 für die Druckoperation
verwendet wird. Danach rückt
der Ablauf zu dem Schritt S4406 vor.
-
In
dem Schritt S4407 wird es überprüft, ob der
Server-Fehler-Zustandsmerker
eingeschaltet ist. Falls er eingeschaltet ist, rückt der Ablauf zu dem Schritt 4410 vor.
-
Wie
vorstehend beschrieben kann bei dem vierten Ausführungsbeispiel selbst dann,
wenn der virtuelle Server einen Fehler aufweist oder ausgeschaltet
ist, während
der Client-Computer einen Auftrag in dem virtuellen Server registriert
oder einen Befehl zu oder von dem virtuellen Server überträgt, der Client
eine Druckoperation direkt bei einem Vorgabedrucker ausführen. Ferner
kann selbst dann, wenn die Druckbar-Angabe für eine vorbestimmte Zeit nicht
von dem virtuellen Server zurückgegeben
wird, nachdem ein Auftrag registriert ist, die Druckoperation ausgeführt werden,
so daß die
verschwendete Zeit des Benutzers verkürzt werden kann.
-
Fünftes Ausführungsbeispiel
-
45 bis 47 zeigen
Flußdiagramme, die
die Druckoperation durch die Drucküberwachungseinrichtung des
virtuellen Druck-Servers 708 und den Dienst des virtuellen
Druck-Servers 712 gemäß dem fünften Ausführungsbeispiel
veranschaulichen. Das die in diesen Flußdiagrammen veranschaulichte
Funktion realisierende Programm wird auf der HD-205 oder
in dem ROM 201 gespeichert und auf dem RAM 202 entwickelt,
so daß die
CPU 200 jede Vorrichtung des Geräts steuern kann.
-
In
einem Schritt S4501 empfängt
die Drucküberwachungseinrichtung
des virtuellen Druck-Servers 708 die Druckstartanforderungs-API
StarteDokAnschluß()
von dem Windows-Spooler 707. In einem Schritt S4502 wird
die in 13 gezeigte Warteschlangentabelle
von registrierten Auftragsinformationen in dem RAM 202 erzeugt,
und die in dem Schritt S4501 durch StarteDokAnschluß() angegebene
Auftrags-ID wird bei der Warteschlangentabelle von registrierten
Auftragsinformationen eingestellt.
-
In
einem Schritt S4503 wird die mit der Warteschlangentabelle verknüpfte Warteschlangentabelle
von registrierten Auftragsinformationen in der mit 14 beschriebenen Art und Weise in dem RAM 202 oder
auf der HD 205 gespeichert. In einem Schritt S4504 ruft
die Drucküberwachungseinrichtung
des virtuellen Druck-Servers 708 die API VPSÖffneDrucker()
des virtuellen Druck-Servers
von dem Dienst des virtuellen Druck-Servers 712 auf, um
den durch den Dienst des virtuellen Druck-Servers 712 verwalteten
Drucker zu öffnen.
In einem Schritt S4505 wird die API VPSErhalteDrucker() des virtuellen
Druck-Servers aufgerufen,
um den Anschlußnamen
und die Drucker-ID
des Netzdruckers zu erfassen. In einem Schritt S4506 wird der Anschlußname bei
der entsprechenden Warteschlangentabelle von registrierten Auftragsinformationen
(13) eingestellt. In einem Schritt S4507 wird die
API VPSErhalteAuftrags-Id() des virtuellen Druck-Servers aufgerufen,
um die durch den Dienst des virtuellen Druck-Servers 712 verwaltete
Druckauftrags-ID zu erfassen. In einem Schritt S4508 wird die erfaßte Auftrags-ID
des virtuellen Servers 703 bei der entsprechenden Warteschlangentabelle
von registrierten Auftragsinformationen (13)
eingestellt.
-
In
einem Schritt S4509 überprüft der Dienst des
virtuellen Druck-Servers 712, ob ein Druckerheruntergefahren-Zustandsmerker
(41) eingeschaltet ist. Falls er ausgeschaltet
ist, rückt
der Ablauf zu F in 46 und folglich zu einem Schritt
S4601 vor. In dem Schritt S4601 wird eine API SchreibeAnschluß() zum
Schreiben von Druckdaten von dem Windows-Spooler 707 empfangen.
In einem Schritt S4602 wird es überprüft, ob das
empfangene SchreibeAnschluß()
das erste SchreibeAnschluß()
ist. Falls dem so ist, wird in einem Schritt S4603 eine temporäre Datei
auf der HD 205 des Client-Computers gebildet. In einem
Schritt S4604 werden die Druckdaten in die gebildete temporäre Datei
geschrieben.
-
In
einem Schritt S4605 wird es überprüft, ob die
durch den Windows-Spooler 707 angeforderte Funktion SchreibeAnschluß() oder
BeendeDokAnschluß()
ist. Falls sie SchreibeAnschluß()
ist, rückt der
Ablauf zu dem Schritt S4601 vor, wohingegen der Ablauf zu einem
Schritt S4606 vorrückt,
wenn sie BeendeDokAnschluß()
ist. In dem Schritt S4606 wird der Schließungsprozeß der temporären Datei
ausgeführt.
In einem Schritt S4607 wird der Zugangsname der temporären Datei
bei der entsprechenden Warteschlangentabelle von registrierten Auftragsinformationen
(13) eingestellt. In einem Schritt S4608 wird die
API VPSStelleAuftragEin() des virtuellen Druck-Servers aufgerufen,
und die in 13 gezeigten und durch die
Drucküberwachungseinrichtung 708 verwalteten
Auftragsinformationen werden in dem virtuellen Druckdienst 712 registriert.
-
In
einem Schritt S4609 wird die IP-Adresse des Client-Computers bei der
API WarteAufAuftrag() des virtuellen Druck-Servers eingestellt,
die von dem Dienst des virtuellen Druck-Servers (Server) 712 aufgerufen
wird, um dadurch eine Ausgabe der Druckbar-Angabe, wenn der bezeichnete
Druckauftrag druckbar wird, anzufordern und um auf die Druckbar-Angabe
von dem Dienst des virtuellen Druck-Servers (Server) 712 zu
warten. Falls in einem Schritt S4610 die Druckbar-Angabe von dem
Dienst des virtuellen Druck-Servers (Server) 712 empfangen
wird, rückt
der Ablauf zu I in 47 und folglich zu einem Schritt
S4701 vor. In dem Schritt S4701 erfaßt die Drucküberwachungseinrichtung 708 die
Warteschlangentabelle gemäß der der
durch die Druckbar-Angabe
bezeichneten Auftrags-ID entsprechenden Warteschlange von registrierten
Auftragsinformationen, und die Netz-IP wird aus dem Anschlußnamen erfaßt, um dadurch
die Druckoperation bei dem Netzdrucker auszuführen. Nach der Druckoperation wird
es in einem Schritt S4702 überprüft, ob ein
Fehler der Druckoperation vorhanden ist. Falls dem nicht so ist,
rückt der
Ablauf zu einem Schritt S4703 vor.
-
In
dem Schritt S4703 wird VPSStelleAuftragEin() von dem virtuellen
Druck-Server aufgerufen, um die Löschung des entsprechenden Auftrags
anzuweisen und den Auftragsabschluß mitzuteilen. In einem Schritt
S4704 wird der Dienst des virtuellen Druck-Servers 712 zum
Schließen
des durch den virtuellen Druck-Server verwalteten Druckers angewiesen.
In einem Schritt S4705 wird es überprüft, ob der Drucker-heruntergefahren-Zustandsmerker
(41) eingeschaltet ist. Falls er ausgeschaltet
ist, rückt
der Ablauf zu einem Schritt S4706 vor. In dem Schritt S4706 werden
die entsprechende Warteschlangentabelle von registrierten Auftragsinformationen (13) und die mit den Druckdaten geschriebene temporäre Datei
gelöscht.
In einem Schritt S4707 wird der Drucker-heruntergefahren-Zustandsmerker (41) eingeschaltet, um den Prozeß zu beenden.
-
In
dem in 45 gezeigten Schritt S4509 wird
es überprüft, ob der
Drucker-heruntergefahren-Zustandsmerker (41)
eingeschaltet ist. Falls er eingeschaltet ist, rückt der Ablauf zu dem in 46 gezeigten G und folglich zu dem Schritt S4608
vor. In dem Schritt S4608 wird die API VPSStelleAuftragEin() des
virtuellen Druck-Servers
aufgerufen, um die in 13 gezeigten und durch die Drucküberwachungseinrichtung 708 verwalteten
Auftragsinformationen in dem virtuellen Druck-Server zu registrieren.
-
In
dem in 47 gezeigten Schritt S4702 überprüft die Drucküberwachungseinrichtung 708,
ob der Drucker während
der Druckoperation einen Fehler aufweist. Falls ein Fehler vorhanden
ist, rückt
der Ablauf zu einem Schritt S4708 vor, in dem der Drucker-heruntergefahren-Zustandsmerker (41) eingeschaltet wird, um dem Schritt S4703 zu
folgen.
-
In
dem Schritt S4705 wird es überprüft, ob der
Druckerheruntergefahren-Zustandsmerker (41)
eingeschaltet ist. Falls er eingeschaltet ist, rückt der Ablauf zu dem in 45 gezeigten H und folglich zu dem Schritt S4504
vor. In dem Schritt S4504 ruft die Drucküberwachungseinrichtung 708 die
API VPSÖffneDrucker()
des virtuellen Druck-Servers auf, um den durch den virtuellen Druck-Server verwalteten
Drucker zu öffnen.
-
Bei
diesem Ausführungsbeispiel
wird dann, wenn der Drucker einen Auftrag von dem Client nicht annimmt,
der Auftrag wieder in dem Server registriert. Da der Server den
Druckerstatus unter Verwendung der SNMP-Verwaltungseinrichtung bestätigt, kann
statt dessen ein Zustandmerker in dem Server bereitgestellt werden,
der es angibt, ob der Drucker einen Fehler aufweist. In diesem Fall
registriert der Client einen Auftrag wieder, wenn der Zustandsmerker
eingestellt ist. Wenn ein Auftrag wieder registriert wird, kann
der derzeitige Ausgabezieldrucker registriert werden, oder ein weiterer
normaler Drucker kann registriert werden.
-
Wie
vorstehend beschrieben wird bei dem fünften Ausführungsbeispiel selbst dann,
wenn der Drucker einen Druckauftrag des Client-Computers nach dem
Anweisen des virtuellen Servers nicht annimmt, der in dem virtuellen
Server gespeicherte Auftrag wieder registriert, so daß der Server
den Druckerstatus bestätigen
kann und die Auftragssteuerung leicht gemacht wird.
-
Sechstes Ausführungsbeispiel
-
Bei
diesem Ausführungsbeispiel
wird eine Bestätigung
einer Druckoperation durch einen Netzdrucker beschrieben.
-
Zuerst
ist das vorstehend beschriebene virtuelle Druck-Server-System kurz zusammengefaßt.
-
Gemäß einer
Ausgestaltung der Erfindung umfaßt ein Client als ein Beispiel
für eine
Informationsverarbeitungsvorrichtung: eine Einrichtung (Dienst des
virtuellen Druck-Servers (Client) 712 und Schnittstelle 209)
zum Übertragen
von Auftragsinformationen von Druckdaten zu einem Server; und eine Spool-Einrichtung
(virtueller Druck-Spooler 801 auf der HD 205)
zum Spoolen der Druckdaten, und der Server als ein Beispiel für eine Drucksteuervorrichtung
umfaßt:
eine Einrichtung (Dienst des virtuellen Druck-Servers (Server) 712 und
Schnittstelle 209) zum Übertragen
von Übertragungsfreigabeinformationen,
die angeben, daß die
Druckdaten zu einem Drucker übertragen
werden können.
-
Bei
dem wie vorstehend beschrieben aufgebauten System überträgt ein Client-Computer
als die Informationsverarbeitungsvorrichtung Auftragsinformationen
zu einem virtuellen Server, der dann wieder die Druckordnung steuert,
und der Client-Computer, der
die Übertragungsfreigabeinformationen
empfangen hat, überträgt Druckdaten
direkt zu einem Drucker. Eine Bestätigung der Druckoperation durch
ein derartiges Drucksystem gemäß dem Ausführungsbeispiel
ist nachstehend beschrieben.
-
49 zeigt ein Flußdiagramm, das die Operation
auf der Seite eines Client-Computer-PC für die Bestätigung der Druckoperation durch
einen Netzdrucker gemäß dem Ausführungsbeispiel
der Erfindung veranschaulicht. 50 zeigt
ein Flußdiagramm,
das die Operation auf der Seite eines virtuellen Servers für die Bestätigung der
Druckoperation durch den Netzdrucker gemäß dem Ausführungsbeispiel veranschaulicht. 48 zeigt ein Folgediagramm, das einen normalen
Druckauftrag für
die Bestätigung
der Druckoperation durch den Netzdrucker gemäß dem Ausführungsbeispiel veranschaulicht.
-
Bei
diesem Ausführungsbeispiel
wird es angenommen, daß das
auf einem Netz wie in 1 gezeigt laufende virtuelle
Druck-Server-System aus drei Client-PC (Client-PC 102 bis 104) besteht,
wobei der Dienst des virtuellen Druck-Servers (Client) (Client-Dienst) 712 installiert
und ausgeführt
wird, ein Server (virtueller Server) 101 mit dem Dienst
des virtuellen Druck-Servers (Server) (virtueller Druck-Server) 712 installiert
und ausgeführt
wird und ein Netzdrucker wie beispielsweise in 6 gezeigt
konfiguriert ist. Es wird ebenfalls angenommen, daß der virtuelle
Server 101 (703) den Status des Netzdruckers 105 (701)
immer überwachen
kann und eine Auftragsidentifizierung zum Identifizieren eines fertiggestellten
Auftrags und der Druckendseite mit einem konstanten Abfrageintervall
erfassen kann. Die Auftragsidentifizierung kann eine Auftrags-ID-Zahl
verwenden.
-
In
dem in 48 gezeigten Folgediagramm spoolen
die Client-PC 102 bis 104 in dieser Ordnung die
Auftragsinformationen relativ zu dem virtuellen Server 101,
und der virtuelle Server 101 sendet eine Druckanweisung
zuerst zu dem Client-PC 102.
-
Der
Client-PC 102 wartet auf eine Anweisung von dem den Druckernamen,
den der Client-Dienst des Client-PC 102 verwenden kann,
verwaltenden Dienst des virtuellen Druck-Servers (Server) und auf eine Anweisung
von auf dem Client-PC 102 laufender Anwendungssoftware
oder von einer durch den Client-Dienst verwendeten Benutzerschnittstelle
oder andere Anweisungen.
-
Zum
Beschreiben der Bestätigung
der Druckoperation sind die Operationen durch die Client-PC, den
virtuellen Server und den Netzdrucker unter Bezugnahme auf das Folgediagramm
gemäß 28 beschrieben.
-
Die
Operationen der anderen Client-PC 103 und 104 mit
bereits registrierten Aufträgen
werden in dem Fall des Client-PC 102 ähnlicher Art und Weise ausgeführt. Bei
einem Empfang einer Druckanweisung des bei dem Client-PC 102 gespoolten
Auftrags von dem virtuellen Server 101 überträgt der Client-PC 102 Druckdaten
des Auftrags zu dem Netzdrucker 105. Diese Datenübertragung
kann gemäß einem
dem Drucken ausschließlich
zugeordneten Protokoll wie beispielsweise LPR von TCP/IP, einem Protokoll,
dessen Hauptziel sich nicht mit dem Drucken befaßt, wie beispielsweise FTP
oder beliebigen anderen Protokollen, die durch den Client-PC und den
Netzdrucker oder seine Netzplatine verwendbar sind, ausgeführt werden.
-
Nachdem
die Druckdaten übertragen
sind, benachrichtigt der Client-PC 102 den virtuellen Server 101 von
einem Datenübertragungsende
zu dem Netzdrucker 105. In diesem Fall beendet der Client-PC 102 Übertragungen
mit dem Netzdrucker 105 nach der normalen Datenübertragung,
ohne zu bestätigen,
daß der
Drucker die Druckdaten normal gedruckt hat. Der virtuelle Server 101 und
der Client-PC 102 erneuern einen Datenübertragungs-Zustandsmerker,
ohne die mit den Auftragsdruckdaten und den Auftragsinformationen
geschriebene temporäre Datei
zu löschen.
Der virtuelle Server 101 fordert unter Verwendung eines
Protokolls wie beispielsweise SNMP mit einem konstanten Intervall
den Netzdrucker 105 zum Mitteilen des Status davon und
eines Druckendes auf. Bei einem Empfang einer Druckendemitteilungsanforderung
von dem virtuellen Server 101 gibt der Netzdrucker 105 Informationen
wie beispielsweise die Auftragsidentifizierung, für deren
Auftrag der Drucker in einer normalen Art und Weise gedruckt hat,
und die Seitenzahl während
des Druckens zurück.
Diese Operation kann in einer Multitask-Weise durch einen weiteren
Thread oder eine weitere Task, die von den durch die Operation des
virtuellen Servers 101, durch die Datenübertragung von den Client-PC 102 bis 104 zu
dem Netzdrucker 105 oder durch andere Operationen verwendeten
verschieden sind, ausgeführt
werden. Bei einem Empfang der Datenübertragungsendemitteilung des
durch den Client-PC 102 gespoolten Auftrags durchsucht
der virtuelle Server 101 die Warteschlange und sendet eine Druckstartanweisung
zum Drucken des als nächstes gespoolten
Auftrags zu dem Client-PC 103. Bei einem Empfang der Druckstartanweisung überträgt der Client-PC 103,
der auf die Anweisung gewartet hat, die Druckdaten zu dem Netzdrucker 105,
erneuert den Status der Auftragsinformationen und benachrichtigt
den virtuellen Server 101 von dem Datenübertragungsende, ähnlich dem
Fall des Client-PC 102. Bei einem Empfang der Datenübertragungsendemitteilung
von dem Client-PC 103 stellt der virtuelle Server 101 den
Datenübertragungsende-Zustandsmerker
ein und sendet die Druckstartanweisung zum Drucken des als nächstes gespoolten
Auftrags zu dem Client-PC 104. Auf ähnliche Weise überträgt der Client-PC 104 die
Druckdaten, setzt den Datenübertragungsende-Zustandsmerker
zurück
und benachrichtigt den virtuellen Server 101 von der Datenübertragung,
der dann wieder den Datenübertragungsende-Zustandsmerker
einstellt.
-
Als
nächstes
kommuniziert der virtuelle Server mit dem konstanten Intervall mit
dem Netzdrucker 105, um die Druckendemitteilungsanforderung
zu senden. Wenn die Seitenzahl mit abgeschlossenem Drucken zurückgegeben
wird, wird diese Seitenzahl in einer Druckendeinformationstabelle
in dem virtuellen Server 101 überschrieben, ähnlich der
Operation bei dem Netzdrucker. Falls ein Auftragsende zurückgegeben
wird, wird zum Angeben des normalen Druckabschlusses die Auftragsidentifizierung überschrieben, ähnlich der
Seitenzahl.
-
Für die erste
Druckendemitteilungsanforderung nach dem Abschluß der Datenübertragung durch den Client-PC 104 wird
es angenommen, daß nur
die Seitenzahl zurückgegeben
wird und die Auftrags-ID nicht erneuert wird. In diesem Fall erneuert der
virtuelle Server nur die Seitenzahl in der Druckendeinformationstabelle.
Auf ähnliche
Weise wird im Ansprechen auf die zweite Druckendemitteilungsanforderung
nur die Seitenzahl erneuert.
-
Zwischen
der zweiten und dritten Druckendemitteilungsanforderung wird es
angenommen, daß das
Drucken der Aufträge
sowohl des Client-PC 102 als auch des Client-PC 103 abgeschlossen
ist. Der Netzdrucker 105 überschreibt zuerst die Auftragsidentifizierung
des Client-PC 102 und daraufhin die Auftragsidentifizierung
des Client-PC 103.
-
Danach
sucht dann, wenn die Auftragsidentifizierung des Client-PC 103 im
Ansprechen auf die dritte Druckendemitteilungsanforderung zurückgegeben
wird, der virtuelle Server 101 die Auftragsidentifizierungen,
für die
die Datenübertragung
vor der der Auftragsidentifizierung mit bestätigtem Druckende ausgeführt wurde,
unter den Auftragsidentifizierungen mit dem eingestellten Datenübertragungsende-Zustandsmerker
in der Warteschlange des Netzdruckers 105. Von den Auftragsidentifizierungen
mit dem eingestellten Datenübertragungsende-Zustandsmerker
in der Warteschlange wird der vor dem Auftrag des Client-PC 103 gespoolte
Auftrag (bei diesem Beispiel der Auftrag des Client-PC 102)
so beurteilt, daß er
das Drucken abgeschlossen hat. Daher wird eine Auftragslöschungsanweisung
zu jedem Client-PC gesendet, um jeden Client-PC zum Löschen der
Auftragsinformationen und der temporären Datei zu veranlassen. Obwohl
der Datenübertragungsende-Zustandsmerker des
Client-PC 104 bei der Warteschlange eingestellt wird, wurde
in diesem Fall der Auftrag des PC 104 vor dem Auftrag des
Client-PC 103 gespoolt. Daher wird für den Auftrag des Client-PC 104 der
Druckabschluß nicht
beurteilt, und die Anweisung zum Löschen der Auftragsinformationen
und der temporären
Datei wird nicht gesendet.
-
Die
Client-PC 102 und 103, die die Auftragslöschungsanweisung
empfangen haben, löschen
die Auftragsinformationen und temporären Dateien, und der virtuelle
Server 101 wird von einem Löschungsergebnis benachrichtigt.
Bei einem Empfang des Löschungsergebnisses
erkennt der virtuelle Server 101 die Löschung der Aufträge der Client-PC
und löscht die
entsprechenden Auftragsinformationen aus der Warteschlange des virtuellen
Servers 101.
-
Es
wird angenommen, daß der
Netzdrucker 105 das Drucken des bei dem dritten Mal übertragenen
Auftrags des Client-PC 104 abschließt und daß die Auftragsidentifizierung
des abgeschlossenen Auftrags überschrieben
wird. In diesem Fall erneuert der Netzdrucker 105 keine
Auftragsidentifizierung, bis die als nächstes zu übertragenden Druckdaten vollständig gedruckt
sind.
-
Im
Ansprechen auf die nächste
Druckendemitteilungsanforderung führt der virtuelle Server 101 dann,
wenn der Netzdrucker 105 die Auftragsidentifizierung des
Client-PC 104 so zurückgibt,
daß er
das Drucken abgeschlossen hat, die Operation ähnlich den vorhergehenden zwei
Aufträgen
aus, um die Löschungsanweisung
zu dem Client-PC 104 zu senden. Der Client-PC 104 führt die
Operation ähnlich dem
Fall der vorhergehenden zwei Aufträge aus, um den Auftrag zu löschen und
den virtuellen Server 101 von dem Löschungsergebnis zu benachrichtigen.
Bei einem Empfang der Löschungsergebnismitteilung löscht der
virtuelle Server 101 die Auftragsinformationen aus der
Warteschlange und setzt den Bereitschaftszustand fort, ähnlich dem
Fall der vorhergehenden Aufträge.
-
Nachdem
die Druckdaten jedes Auftrags sequentiell übertragen sind, gibt bei der
vorstehenden Beschreibung der Netzdrucker 105 eine Endemitteilung
der Seite oder des Auftrags zu dem virtuellen Server 101 zurück, und
der virtuelle Server 101 führt notwendige Prozesse aus.
Das Seitenende oder Auftragsende wird nicht notwendigerweise nach
der Datenübertragung
erfaßt,
sondern das Seitenende oder die Auftragslöschungsanweisung können zu
jedem Zeitpunkt ausgeführt
werden, wenn der virtuelle Server 101 sie erfaßt.
-
Bei
dem Beispiel der vorstehenden Operationsfolge spoolt jeder Client-PC
jeden Auftrag relativ zu dem gleichen Drucker. Selbst wenn ein Client-PC eine
Vielzahl von Aufträgen
in einer optionalen Ordnung sequentiell spoolt, kann die Bestätigung der Druckoperation
in der vorstehenden Art und Weise erreicht werden.
-
Der
Netzdrucker speichert darin eine Auftragsidentifizierung mit fertiggestelltem
Drucken. Statt dessen kann die Netzplatine eine von einem Client-PC zusammen mit Druckdaten
gesendete Auftrags-ID-Zahl als MIB-Informationen speichern. Die Auftrags-ID-Zahl
kann eine durch den Dienst des virtuellen Servers vorbestimmte Zahl,
ein Auftragsname oder ein einfacher numerischer Wert sein. Der virtuelle
Server erfaßt
eine derartige Identifizierung unter Verwendung von SNMP.
-
Als
nächstes
werden die vorstehenden Folgeoperationen durch die Client-Maschine,
den virtuellen Server und den Netzdrucker unter Bezugnahme auf die
Flußdiagramme
beschrieben.
-
Die
Operation durch den Client-PC, wenn die Druckstartanweisung von
dem virtuellen Server empfangen wird wie in 48 veranschaulicht,
ist unter Bezugnahme auf das Flußdiagramm gemäß 49 beschrieben.
-
In
einem Schritt S4901 wartet der Client-PC auf eine Anweisung. Bei
einem Empfang einer Anweisung von dem virtuellen Server 101 unter
den Bedingungen, daß der
Client-PC in dem Schritt S4901 auf die Anweisung wartet, rückt der
Ablauf zu einem Schritt S4902 vor. In dem Schritt S4902 überprüft der Client-PC,
ob die von dem virtuellen Server 101 empfangene Anweisung
die Druckstartanweisung ist. Falls die Anweisung von dem virtuellen
Server 101 die Druckstartanweisung ist, rückt der
Ablauf zu einem Schritt S4903 vor.
-
In
dem Schritt S4903 werden gemäß der in der
Druckstartanweisung des virtuellen Servers 101 enthaltenen
Auftrags-ID die Auftragsinformationen des Auftrags, der die Druckstartanweisung
empfangen hat, aus allen Sätzen
der durch den Client-Dienst verwalteten Auftragsinformationen gesucht,
und ein die Datenübertragung
angebender Zustandsmerker wird eingestellt. Dieser Zustandsmerker
kann ein in den Auftragsinformationen bereitgestelltes unabhängiges Bit
sein, wobei das Bit während
der Datenübertragung
und des Rücksetzens
nach der Datenübertragung
eingestellt wird, oder dieser Zustandsmerker kann ein gemeinsam
genutzter Zustandsmerker in den Auftragsinformationen sein, wobei
der Zustandsmerker derart verwendet wird, daß der Auftragsstatus während der
Datenübertragung
auf "während Datenübertragung" eingestellt wird
und nach der Übertragung
zu "bereits übertragen" geändert wird,
um den Auftrag zu verlassen. Im folgenden wird ein derartiger Zustandsmerker
insgesamt als ein Datenübertragungs-Zustandsmerker bezeichnet.
-
Nachdem
der Datenübertragungs-Zustandsmerker
eingestellt ist, wird in einem Schritt S4904 die temporäre Datei
des in den gemäß der Auftrags-ID gesuchten
Auftragsinformationen aufgezeichneten Auftrags über das Netz zu dem durch den
Druckernamen und mit dem gespoolten Auftrag (zum Beispiel durch
eine Identifizierung, die den Netzdrucker unterscheiden kann, wie
beispielsweise eine IP-Adresse bezeichnet) bezeichneten Anschluß übertragen,
um dadurch die Druckdaten zu übertragen.
Diese Druckdaten enthalten die durch eine Seitenbeschreibungssprache
geschriebenen Druckdaten sowie eine durch JL (Auftragssprache) geschriebene
Auftragsidentifizierung.
-
Nach
der Datenübertragung
rückt der
Ablauf zu einem Schritt S4905 vor, in dem ein den Abschluß der Datenübertragung
des Auftrags angebender Datenübertragungsende-Zustandsmerker
eingestellt wird, oder der Auftragsstatus wird zu einem den Datenübertragungsabschluß darstellenden
Status geändert.
-
Als
nächstes
benachrichtigt in einem Schritt S4906 der Client-PC den virtuellen
Server 101 von der Wirkung, daß die Druckdaten des Auftrags,
der die Druckstartanweisung empfangen hat, übertragen wurden. Der virtuelle
Server 101 erneuert die Auftragsinformationen auf dem virtuellen
Server 101 und den Datenübertragungsende-Zustandsmerker
oder ändert
den Auftragsstatus zu dem den Datenübertragungsabschluß darstellenden
Status. Nach der Datenübertragungsendemitteilung
setzt sich der Bereitschaftszustand in dem Schritt S4901 fort, während die
Auftragsinformationen und die temporäre Datei des Auftrags beibehalten
werden.
-
Vorstehend
ist die Datenübertragungsoperation
durch den Client-PC beschrieben.
-
Als
nächstes
wird die Operation des virtuellen Servers 101, wenn er
die Datenübertragungsendemitteilung
empfängt,
unter Bezugnahme auf das in 50 gezeigte
Flußdiagramm
beschrieben.
-
In
einem Schritt S5001 wartet der virtuelle Server auf eine durch den
Dienst des virtuellen Servers empfangene Anweisung. Falls der Dienst
des virtuellen Servers eine beliebige Anweisung empfängt, rückt der
Ablauf zu einem Schritt S5002 vor.
-
In
dem Schritt S5002 wird es überprüft, ob die
durch den Dienst des virtuellen Servers empfangene Anweisung die
Datenübertragungsendemitteilung
von dem Client-PC ist. Falls sie die Datenübertragungsendemitteilung ist,
rückt der
Ablauf zu einem Schritt S5003 vor.
-
In
dem Schritt S5003 stellt der virtuelle Server den Übertragungsende-Zustandsmerker
in den Auftragsinformationen des Auftrags mit der bestätigten Druckdatenübertragung
ein oder ändert
den Auftragsstatus zu einem den Datenübertragungsabschluß darstellenden
Status.
-
In
einem Schritt S5004 wird es überprüft, ob der
nächste
Auftrag in der Warteschlangentabelle des zu dem gleichen Drucker,
für den
der virtuelle Server das Auftragsübertragungsende bestätigt hat, gespoolten
nächsten
Auftrags vorhanden ist.
-
Falls
der nächste
Auftrag gespoolt ist, wird in einem Schritt S5005 die Druckstartanweisung
zu dem nächsten
Client-PC gesendet, indem auf die aus den Auftragsinformationen
des in dem virtuellen Server 101 gespoolten Auftrags erfaßte Adresse
und Auftrags-ID des nächsten
Clients Bezug genommen wird.
-
Falls
in dem Schritt S5004 kein als nächstes zu
dem virtuellen Server 101 gespoolter Auftrag vorhanden
ist, kehrt nach dem Prozeß in
dem Schritt S5005 der Ablauf zu dem Schritt S5001 zurück, um auf
die nächste
Anweisung zu warten.
-
Als
nächstes
wird unter Bezugnahme auf 50 die
Operation des virtuellen Servers, wenn er ein Seiten- oder Auftragsende
durch eine Endemitteilung von dem Drucker bestätigt, beschrieben. Dieser Prozeß startet,
wenn der virtuelle Server eine Endemitteilung von dem Drucker im
Ansprechen auf die von dem virtuellen Server übertragene Druckendemitteilungsanforderung
empfängt.
Wenn der Endeprozeß durch
den virtuellen Server empfangen wird, kann der derzeitige Druckstatus
des Druckers bekannt sein.
-
In
dem Schritt S5001 führt
der virtuelle Server 101 ein Abrufen mit einem konstanten
Intervall aus, und wenn er die von dem Netzdrucker 105 zurückgegebene
Druckendemitteilung empfängt, ändert sich
der Ablauf von dem Bereitschaftszustand in dem Schritt S5001 zu
dem Schritt S5002.
-
In
dem Schritt S5002 wird es überprüft, ob die
durch den virtuellen Server empfangene Anweisung die Datenübertragungsendemitteilung
ist. Da die durch den virtuellen Server empfangene Anweisung die
Druckendemitteilung ist, rückt
der Prozeß zu einem
Schritt S5006 vor. Die Beurteilungen in den Schritten S5002, S5006
und S5014 bei einem Empfang einer Anweisung durch den virtuellen
Server können
in einem beliebigen Verfahren ausgeführt werden, sofern der Dienst
des virtuellen Servers jedes Ereignis wie beispielsweise einen Prozeßunterschied
durch einen Unterschied eines Kommunikationsprotokolls und einen
Befehl oder Zustandsmerker in den Kommunikationsdaten unterscheiden
kann.
-
In
dem Schritt S5006 wird es überprüft, ob die
Anweisung die Druckendemitteilung von dem Netzdrucker 105 ist.
Falls sie die Druckendemitteilung ist, werden in einem Schritt S5007
die Endeinformationen jedes Netzdruckers erneuert. Bei dem Aktualisieren
der Endeinformationen werden zwei Typen von Informationen einschließlich der
Seitenzahl und der Identifizierung des abgeschlossenen Auftrags
in der derzeitigen Endeinformationstabelle überschrieben. Diese Tabelle
wird durch den Dienst des virtuellen Servers verwaltet und kann
ein beliebiges Format aufweisen, falls sie die Seitenzahl und die
Identifizierung des abgeschlossenen Auftrags aufzeichnen kann.
-
Als
nächstes
wird es in einem Schritt S5008 überprüft, ob der
immer noch nicht gelöschte
Auftrag in der Warteschlangentabelle vorhanden ist.
-
Falls
in einem Schritt S5009 kein noch nicht gelöschter und einen eingestellten
Datenübertragungsende-Zustandsmerker aufweisender
Auftrag vorhanden ist, rückt
der Ablauf zu einem Schritt S5016 für die Beurteilung eines Seitenendes
vor. Falls ein Auftrag vorhanden ist, der bereits Daten zu dem Netzdrucker übertragen
hat und immer noch nicht gelöscht
ist, wird der Prozeß in
einem Schritt S5010 ausgeführt.
-
In
dem Schritt S5010 wird es überprüft, ob die
erneuerten Endeinformationen kein Initialisierungscode sind und
ob sie einen gültigen
Wert als die Auftragsidentifizierung aufweisen. Falls die erneuerten
Endeinformationen die Auftragsidentifizierung sind, rückt der
Ablauf zu einem Schritt S5011 vor.
-
In
dem Schritt S5011 wird gemäß der Identifizierung
des abgeschlossenen Auftrags ein Auftrag mit einem eingestellten
Datenübertragungsende-Zustandsmerker
aus der Warteschlange gesucht. Wenn der gesuchte Auftrag die Auftragsidentifizierung
des abgeschlossenen Auftrags aufweist oder die Auftragsidentifizierung
eines vor dem gesuchten Auftrag gespoolten Auftrags aufweist, dann
rückt der
Ablauf zu einem Schritt S5012 vor. Falls kein entsprechender Auftrag
vorhanden ist, rückt
der Ablauf zu dem Schritt S5016 für die Seitenendebeurteilung
vor. In dem Schritt S5012 wird der Auftragsinformationslöschungs-Zustandsmerker eingestellt.
-
Als
nächstes
wird in einem Schritt S5013 die Auftragslöschungsmitteilung gesendet.
Der Ablauf kehrt von dem Schritt S5013 zu dem Schritt S5008 zurück, um die
vorstehenden Prozesse zu wiederholen, bis der Auftragsinformationslöschungs-Zustandsmerker
bei der Auftragsidentifizierung des abgeschlossenen Auftrags und
bei allen Auftragsidentifizierungen von vor dem gesuchten Auftrag
gespoolten Aufträgen
eingestellt ist. Nachdem der Auftragsinformationslöschungs-Zustandsmerker
bei allen vor der Auftragsidentifizierung mit abgeschlossenem Druck
gespoolten Auftragsidentifizierungen unter den Warteschlangentabellen
mit dem eingestellten Datenübertragungs-Zustandsmerker
in der Warteschlange eingestellt ist, rückt der Ablauf von dem Schritt
S5011 zu dem Schritt S5016 vor. Falls alle Aufträge mit dem eingestellten Datenübertragungs-Zustandsmerker
vor dem gesuchten Auftrag gespoolt sind, wird in dem Schritt S5012
der Auftragsinformationslöschungs-Zustandsmerker
eingestellt, und wenn kein immer noch nicht gelöschter Auftrag vorhanden ist,
rückt der
Ablauf zu dem Schritt S5016 vor.
-
Falls
die erneuerten Endeinformationen kein Initialisierungscode sind
und einen für
die Endseite passenden numerischen Wert aufweisen, dann rückt der
Ablauf zu einem Schritt S5017 vor, in dem jeder Client-PC von der
Endseitenzahl benachrichtigt wird, und danach kehrt der Ablauf zu
dem Schritt S5017 in den Bereitschaftszustand zurück. Falls
die erneuerten Endeinformationen einen unpassenden numerischen Wert
als die Endseitenzahl aufweisen, kehrt der Ablauf zu dem Bereitschaftszustand
in dem Schritt S5017 zurück,
ohne eine Operation auszuführen.
-
Als
nächstes
wird unter Bezugnahme auf 49 die
Operation des Client-PC, wenn er die Auftragsinformationslöschungsanweisung
von dem virtuellen Server empfängt,
beschrieben.
-
Wenn
der Client-PC in dem Bereitschaftszustand in dem Schritt S4901 die
Auftragslöschungsmitteilung
von dem virtuellen Server empfängt,
rückt der
Ablauf zu dem Schritt S4902 und dem Schritt S4907 vor, da die Anweisung
die Löschungsanweisung
ist. In einem Schritt S4908 wird es überprüft, ob der entsprechende Auftrag
ein Auftrag ist, der bereits Druckdaten übertragen hat. Falls kein Auftrag
mit einem eingestellten Datenübertragungsende-Zustandsmerker in
dem Client-PC vorhanden ist, bedeutet dies einen Fehler, und die
Auftragslöschungsmitteilung
wird vernachlässigt,
um zu dem Schritt S4901 zurückzukehren.
Falls ein Auftrag mit dem eingestellten Datenübertragungsende-Zustandsmerker
vorhanden ist, dessen Löschung
von dem virtuellen Server angewiesen wird, rückt der Ablauf zu einem Schritt
S4909 vor.
-
In
dem Schritt S4909 erfaßt
der Client-Dienst den Zugangsnamen des temporären Films aus den Auftragsinformationen
und löscht
die Druckdatendatei.
-
Als
nächstes
werden in einem Schritt S4910 die Auftragsinformationen des Auftrags,
der die Löschungsanweisung
empfangen hat und durch den Client-PC verwaltet wird, gelöscht. Nachdem
die Druckdaten und Auftragsinformationen des Auftrags, der die Löschungsanweisung
empfangen hat, gelöscht
sind, wird in einem Schritt S4911 dem virtuellen Server die Löschungsergebnismitteilung
mitgeteilt, um danach zu dem Bereitschaftszustand in dem Schritt
S4901 zurückzukehren.
-
Als
nächstes
wird die Operation des virtuellen Servers, der die Löschungsergebnismitteilung empfangen
hat, unter Bezugnahme auf 50 beschrieben.
-
In
dem Schritt S5001 rückt
dann, wenn der virtuelle Server in dem Bereitschaftszustand in dem Schritt
S5001 die Löschungsergebnismitteilung
von dem Client-PC empfängt,
der Ablauf zu den Schritten S5002, S5006 und S5014 vor. Falls die
Anweisung nicht die Löschungsergebnismitteilung
ist oder falls der Auftragsinformationslöschungs-Zustandsmerker nicht
bei den Auftragsinformationen des Auftrags, dessen Löschung der
Client-PC bestätigt
hat, eingestellt ist, wird diese Löschung verworfen. Falls der Auftragsinformationslöschungs-Zustandsmerker
bei den Auftragsinformationen des durch die Löschungsergebnismitteilung angegebenen
Auftrags eingestellt ist, werden in einem Schritt S5015 die Auftragsinformationen
gelöscht,
um danach in dem Schritt S5015 zu dem Bereitschaftszustand zurückzukehren.
-
Als
nächstes
wird die Operation des Aufzeichnens der Auftragsidentifizierung
eines durch den Netzdrucker abgeschlossenen Auftrags und der Seitenzahl
einer Seite mit abgeschlossenem Druck unter Bezugnahme auf 51 beschrieben.
-
Ein
in 51 gezeigter Schritt S5101 gibt einen Bereitschaftszustand
an, in dem die Netzplatine oder Kommunikationseinheit des Netzdruckers
auf Informationen eines Nicht-Anforderungs-Status wie beispielsweise
JL wartet. Wenn ein Auftragsdruck abgeschlossen ist, wird ein Nicht-Anforderungs-Status
von dem Netzdrucker zugeführt.
-
In
einem Schritt S5102 beurteilt eine CPU 501 des Druckers
ein Auftragsdruckende.
-
In
einem Schritt S5103 wird die Auftragsidentifizierung aus dem Nicht-Anforderungs-Status
von JL erfaßt
und in dem Endeauftragsidentifizierungsfeld einer von der Kommunikationseinheit
zu dem virtuellen Server zurückgegebene
Mitteilung überschrieben,
um danach zu dem Schritt S5101 zurückzukehren. Obwohl die Kommunikationseinheit
die Netzplatine ist, kann bei diesem Ausführungsbeispiel die Kommunikationseinheit
eine Schnittstelle sein, über
die die Auftragsidentifizierung in der Speichereinheit 603 des
Druckers gespeichert wird.
-
Falls
die in dem Schritt S5102 empfangene Anweisung nicht die Auftragsendemitteilung
ist, rückt der
Ablauf von dem Schritt S5102 zu einem Schritt S5104 vor. In dem
Schritt S5104 wird überprüft, ob die
empfangene Mitteilung eine Seitenendemitteilung ist. Falls sie die
Seitenendemitteilung ist, rückt
der Ablauf zu einem Schritt S5105 vor. Ähnlich dem Schritt S5103 wird
in dem Schritt S5105 die Endseitenzahl überschrieben, um danach zu
dem Schritt S5101 zurückzukehren.
Falls die empfangene Mitteilung eine von anderen Nicht-Anforderungs-Status
ist, werden alle diese Nicht-Anforderungs-Status vernachlässigt.
-
Wie
vorstehend beschrieben umfaßt
das Netzsystem: einen Drucker mit einer Speichereinrichtung (RAM 602,
Speichereinheit 603 oder Speichereinrichtung in der Netzplatine 606)
zum Speichern von Identifizierungsinformationen von Druckdaten mit abgeschlossenem
Druck und eine Mitteilungseinrichtung (Netzplatine 606)
zum Benachrichtigen des Servers von der in der Speichereinrichtung gespeicherten
Identifizierungseinrichtung; eine Informationsverarbeitungsvorrichtung
mit einer Übertragungseinrichtung
(Schnittstelle 209 des Clients) zum Übertragen der Auftragsinformationen
von Druckdaten zu dem Server und einer Spool-Einrichtung (virtueller
Druck-Spooler auf der HD 205) zum Spoolen von Druckdaten;
und einen Server mit einer Folgeordnungssteuereinrichtung (CPU 200 des
Servers) zum Steuern der Druckfolgeordnung gemäß den von der Übertragungseinrichtung übertragenen
Auftragsinformationen und einer Übertragungseinrichtung (Schnittstelle 209 des
Servers) zum Übertragen
von Übertragungsfreigabeinformationen,
die es angeben, daß Druckdaten
zu dem Drucker übertragen
werden können,
wobei der Server die Auftragsinformationen eines Auftrags mit der
durch die Mitteilungseinrichtung mitgeteilten Operation des abgeschlossenen Drucks
löscht.
-
Der
Server umfaßt
ferner eine Löschungsanweisungseinrichtung
(Dienst des virtuellen Druck-Servers (Server) 712) zum
Anweisen der Informationsverarbeitungsvorrichtung zum Löschen von Druckdaten
im Besitz der Vorrichtung, wobei dann, wenn die Mitteilungseinrichtung
einen Auftrag mit der Operation des abgeschlossenen Drucks mitteilt,
die Löschungsanweisungseinrichtung
die Informationsverarbeitungsvorrichtung zum Löschen von Druckdaten anweist.
-
Nachdem
die Informationsverarbeitungsvorrichtung (Client-Computer) die Druckdaten gelöscht hat,
löscht
der Server die entsprechenden Auftragsinformationen.
-
Mit
den vorstehenden Prozessen ist es möglich, zu bestätigen, daß die Druckdaten
eines Auftrags in dem Netzdrucker vollständig gedruckt worden sind,
und nach dieser Bestätigung
die Funktion des Löschens
der Auftragsinformationen und Druckdaten durch den Client-PC auszuführen. Zu
der gleichen Zeit ist es für
einen Benutzer möglich,
anhand eines Fehlens der Auftragsinformationen in dem virtuellen
Server zu wissen, daß die
Druckdaten vollständig
gedruckt worden sind.
-
Siebtes Ausführungsbeispiel
-
Die
Folge des Neudruckens gemäß dem Ausführungsbeispiel
wird beschrieben. 52 zeigt ein Folgediagramm,
das die Operation des Neudruckens gemäß dem siebten Ausführungsbeispiel
veranschaulicht. In dem in 52 gezeigten
Folgediagramm spoolen der Client-PC 102 und der Client-PC 103 unter
Verwendung des normalen Registrierungsverfahrens zwei Aufträge zu dem
virtuellen Server 101 in dem in 1 gezeigten
System, und der Client-PC 102 überträgt Druckdaten zu dem Netzdrucker 105.
-
Wenn
der Client-PC 102 eine Übertragungsendemitteilung
der Druckdaten zu dem virtuellen Server 101 zurückgibt,
sendet der virtuelle Server 101 die Druckstartanweisung
zu dem Client-PC 103, der zu dem virtuellen Server 101 gespoolt
hat, und der Client-PC 103 überträgt die Druckdaten zu dem Netzdrucker 105.
Nachdem die Druckdaten übertragen sind,
gibt der Client-PC 103 die Übertragungsendemitteilung zu
dem virtuellen Server 101 zurück. Während der vorstehenden Operationen überträgt der virtuelle
Server 101 die Endemitteilungsanforderung mit einem konstanten
Intervall zu dem Netzdrucker, um dadurch die Auftragsidentifizierung
eines Auftrags mit der Druckendemitteilung zu erhalten, ähnlich dem Ausführungsbeispiel
der Druckoperationsbestätigung.
-
Selbst
wenn ohne die Bestätigung
von Druckenden der Aufträge
der Client-PC 102 und 103 durch die Druckendemitteilung
ein Fehler bei dem Netzdrucker 105 auftritt, gehen die
Druckdaten nicht verloren, falls der Fehler von dem Typ ist, der
wiederhergestellt werden kann. Abhängig von dem Typ von Fehlern
ist es jedoch erforderlich, den Drucker zu initialisieren. Nachdem
der Netzdrucker 105 initialisiert ist und der Fehler wiederhergestellt
ist, werden nur für
den Initialisierungsprozeß verwendete
Initialisierungscodes anstelle der Auftragsidentifizierung eines Auftrags
mit abgeschlossenem Druck und der Endseitenzahl in den Empfangszwischenspeicher
des Netzdruckers 105 geschrieben. Nach der Initialisierung
werden sowohl die Auftragsidentifizierung als auch die Endseitenzahl
nicht überschrieben,
bis der erste Auftrag normal gedruckt und ausgeworfen ist. Die Initialisierungscodes
können
beliebige Codes sein, falls sie die Initialisierung des Netzdruckers 105 angeben
können.
Falls zum Beispiel die Auftragsidentifizierung und Endseitenzahl
nur aus numerischen Werten bestehen, können sie mit Sternchen "*" gefüllt
werden.
-
Falls
der virtuelle Server 101 mit zwei Aufträgen mit dem eingestellten Datenübertragungsende-Zustandsmerker
die Initialisierungscodes als die Druckendemitteilung von dem Netzcomputer 105 empfängt, sendet
der virtuelle Server 101 eine Auftragsneudruckanweisung
zu dem Client-PC 102 und 103, die dann wieder
die Druckdaten zu dem Netzdrucker 105 übertragen. In der vorstehenden
Art und Weise wird ein Neudrucken ausgeführt.
-
Als
nächstes
wird unter Bezugnahme auf das in 53 gezeigte
Flußdiagramm
die Operation des Neudruckens auf der Seite des virtuellen Servers
beschrieben.
-
53 zeigt ein Flußdiagramm, das die Operation
des virtuellen Servers für
den Neudruckprozeß des
siebten Ausführungsbeispiels
zu dem die Operation des virtuellen Servers für die Druckoperationsbestätigung veranschaulichenden
Flußdiagramm
gemäß 50 hinzugefügt
veranschaulicht.
-
Wenn
in dem Bereitschaftszustand in einem Schritt S5301 die Initialisierungscodes
als die Druckendemitteilung empfangen werden, rückt der Ablauf zu Schritten
S5302 und S5306 vor, und in einem Schritt S5307 werden die Initialisierungscodes
selbst als die Druckendemitteilung verwendet.
-
In
einem Schritt S5308 wird ein immer noch nicht gelöschter Auftrag
mit dem eingestellten Datenübertragungsende-Zustandsmerker
aus der Druckerwarteschlange gesucht.
-
In
einem Schritt S5309 wird es überprüft, ob ein
bereits übertragener
und immer noch nicht gelöschter
Auftrag unter gespoolten Aufträgen
vorhanden ist. Falls dem nicht so ist, ist die Druckendemitteilung
eine normale Initialisierung und ist nicht die Endseitenzahl so
daß der
Ablauf über
einen Schritt S5318 zu dem Schritt S5301 zurückkehrt.
-
Falls
in dem Schritt S5309 ein immer noch nicht gelöschter Auftrag mit dem eingestellten
Datenübertragungsende-Zustandsmerker
vorhanden ist, wird es in einem Schritt S5310 überprüft, ob das Auftragsende bestätigt werden
kann. Falls dem nicht so ist, rückt
der Ablauf zu einem Schritt S5311 vor, in dem der Datenübertragungsende-Zustandsmerker des
bereits übertragenen
Auftrags rückgesetzt
wird oder der Status zu einem Neudruckstatus geändert wird, um der Druckwarteschlange
ein Ausgeben einer Druckstartanweisung zu ermöglichen.
-
In
einem Schritt S5312 wird eine Neudruckanweisung zu dem Client-PC
ausgegeben. Nachdem die Neudruckanweisung ausgegeben ist, kehrt
der Ablauf zu dem Schritt S5308 zurück, um die vorstehenden Prozesse
zu wiederholen, falls ein immer noch nicht gelöschter Auftrag vorhanden ist.
Falls kein immer noch nicht gelöschter
Auftrag vorhanden ist, rückt
der Ablauf von dem Schritt S5309 zu dem Schritt S5318 vor und setzt
den Bereitschaftszustand in dem Schritt S5301 fort.
-
Die
Operation des Neudruckens durch den Client-PC wird unter Bezugnahme
auf das Flußdiagramm
gemäß 54 beschrieben. Das Flußdiagramm gemäß 54 veranschaulicht die Operation des Neudruckens
durch den Client-PC gemäß dem siebten
Ausführungsbeispiel
der Erfindung.
-
Das
Flußdiagramm
gemäß 54 zeigt ein Flußdiagramm, das die Operation
des Neudruckens durch den Client-PC gemäß dem siebten Ausführungsbeispiel
der Erfindung zu dem die Operation des Client-PC für die Druckoperationsbestätigung veranschaulichenden
Flußdiagramm
gemäß 49 hinzugefügt
veranschaulicht.
-
Nachdem
in einem Schritt S5401 der Client-Dienst die Neudruckanweisung empfangen
hat, rückt
der Ablauf zu einem Schritt S5402 und einem Schritt S5407 vor. Da
die Druckendemitteilung das Neudrucken ist, wird ein Datenneuübertragungs-Zustandsmerker
bei den Auftragsinformationen eingestellt.
-
In
einem Schritt S5409 überträgt der Client-PC
die Druckdaten wieder zu dem Netzdrucker. Nachdem die Druckdaten übertragen
sind, wird in einem Schritt S5410 ein Datenübertragungsende-Zustandsmerker
wieder eingestellt.
-
In
einem Schritt S5411 wird eine Datenübertragungsendemitteilung zu
dem virtuellen Server gesendet, um danach zu dem Bereitschaftszustand
in dem Schritt S5401 zurückzukehren.
-
Der
Client arbeitet in der vorstehenden Art und Weise.
-
Die
Operation des Überschreibens
der Initialisierungscodes, wenn der Netzdrucker zu initialisieren
ist, wird unter Bezugnahme auf 55 beschrieben.
-
Nachdem
der Netzdrucker in einem Schritt S5501 initialisiert worden ist,
werden in einem Schritt S5502 die Initialisierungscodes wie beispielsweise Sternchen
in den Speicherträger
(RAM oder dergleichen) des Netzdruckers oder in das Auftragsidentifizierungsfeld
des Speicherträgers
der Netzplatine geschrieben. In einem Schritt S5503 werden die Initialisierungscodes
in das Endseitenfeld geschrieben. Der Ablauf tritt danach in den
Bereitschaftszustand in einem Schritt S5504 ein, in dem die Druckendemitteilungsanforderung
von dem virtuellen Server empfangen werden kann.
-
Mit
den vorstehenden Prozessen und den Druckoperationsbestätigungsprozessen
kann der verlorengegangene Auftrag neu gedruckt werden.
-
Achtes Ausführungsbeispiel
-
Bei
dem achten Ausführungsbeispiel
der Erfindung wird die Operation des Anhaltens der Datenübertragung
durch den Client-Dienst bei einem Empfang einer Anhalteanweisung
von einem Benutzer und des Fortsetzens ihrer Operation danach unter Bezugnahme
auf das Flußdiagramm
gemäß 56 beschrieben.
-
Das
Flußdiagramm
gemäß 56 veranschaulicht die Operation des Client-Dienstes,
die die Datenübertragung
bei einem Empfang der Anhalteanweisung von einem Benutzer anhält und ihre Operation
danach fortsetzt.
-
Zum
Senden der Anhalteanweisung eines Benutzers zu dem Client-Dienst
kann der Server-Dienst die Anweisung ähnlich der Druckstartanweisung
senden, oder die Anweisung kann direkt zu dem Client-Dienst gesendet
werden, falls die Anweisung von dem Client-PC gesendet wird, der
nun Druckdaten überträgt. In dem
letzteren Fall wird es angenommen, daß selbst dann, wenn die Anweisung direkt
zu dem Client-Dienst gesendet wird, der Auftrag und Druckerstatus
synchron zu dem Serverdienst verarbeitet werden, so daß die Auftragsinformationen
und andere Verwaltungsinformationen keinen Widerspruch aufweisen.
-
In
einem in 56 gezeigten Schritt S5601 wartet
der Client-Dienst auf eine Anweisung von einem Server oder einem
Benutzer. Zum Beispiel kann in dem Fall von Windows selbst dann,
wenn der Client-Dienst einen weiteren Prozeß ausführt, die Anweisung unter Verwendung
eines weiteren Threads empfangen werden.
-
Falls
der Client-Dienst eine Anweisung empfängt, wird es in einem Schritt
S5602 überprüft, ob die Anweisung
die Anhalteanweisung zu einem Auftrag, der angehalten werden kann,
ist. In einem Schritt S5603 wird der Auftragsstatus angehalten,
die Auftragsinformationen werden gemäß der Statusänderung
erneuert, und falls notwendig werden die Server-Dienst-Informationen
erneuert.
-
In
einem Schritt S5604 wird der Datenübertragungs-Zustandsmerker überprüft, und falls der Auftrag vorhanden
ist, dessen Druckdaten immer noch nicht übertragen sind, kehrt der Ablauf
zu dem Bereitschaftszustand in dem Schritt S5601 zurück, um den
Auftrag anzuhalten.
-
Falls
die Datenübertragung
im Gang ist, rückt
der Ablauf zu einem Schritt S5605 vor, um die Druckdatenübertragung
anzuhalten und danach zu dem Bereitschaftszustand in dem Schritt
S5601 zurückzukehren.
-
Wenn
eine Datenübertragungsfortsetzungsanweisung
den Client-Dienst erreicht, rückt
der Ablauf zu dem Schritt S5602 und einem Schritt S5606, in dem
es überprüft wird,
ob die Druckdatenübertragungsfortsetzungsanweisung
auf den angehaltenen Auftrag gerichtet ist, vor. Falls die Anweisung
nicht auf den durch den Client-Dienst verwalteten angehaltenen Auftrag
gerichtet ist, kehrt der Ablauf zu dem Bereitschaftszustand in dem
Schritt S5601 zurück. Falls
die Anweisung auf den durch den Client-Dienst verwalteten angehaltenen Auftrag
gerichtet ist, rückt der
Ablauf zu einem Schritt S5607 vor, um zu überprüfen, ob ein weiterer Auftrag
gedruckt wird.
-
Falls
ein weiterer Auftrag durch den gleichen Drucker gedruckt wird, rückt der
Ablauf zu einem Schritt S5608 vor, in dem der Auftrag wieder an
der ersten Stelle von Aufträgen,
die auf die Druckoperation warten, registriert wird, und danach
kehrt der Ablauf zu dem Bereitschaftszustand in dem Schritt S5601
zurück.
-
Falls
kein im Druck befindlicher Auftrag vorhanden ist und die Datenübertragung
in dem Schritt S5607 fortgesetzt werden kann, werden die Auftragsinformationen
erneuert, zum Beispiel indem der Auftragsstatus zu einem Druckstatus
geändert
wird, und falls notwendig werden die Auftragsinformationen des Servers
ebenfalls erneuert.
-
In
einem Schritt S5610 wird es anhand des Druckdatenübertragungs-Zustandsmerkers
beurteilt, ob der angehaltene Auftrag die Druckdatenübertragung
fortsetzt. Wenn der Auftrag vor der Druckdatenübertragung angehalten wird
oder wenn der Auftrag während
der Druckdatenübertragung
durch Fehler oder eine Auszeit bei einem Kommunikationspartner angehalten
wird, dann rückt
der Ablauf zu einem Schritt S5611 vor, in dem der Druckdatenübertragungs-Zustandsmerker
eingestellt wird, und in einem Schritt S5612 werden die Druckdaten
von dem Anfang davon aus in der Art und Weise wie bei der gewöhnlichen
Druckoperation übertragen.
-
Wenn
nach dem Anhalten ein weiterer Auftrag bei dem gleichen Drucker
druckt, dann wird die Druckoperation des angehaltenen Auftrags nach dem
Abschluß der
Druckoperation des anderen Auftrags ausgeführt. Der Datenübertragungs-Zustandsmerker
wird rückgesetzt,
falls die Datenübertragung durch
Fehler oder eine Auszeit angehalten wird. Falls die Datenübertragung
sich in dem Schritt S5610 immer noch fortsetzt, rückt der
Ablauf zu einem Schritt S5613 vor, um die Druckdatenübertragung
in der Art und Weise wie bei der gewöhnlichen Druckoperation fortzusetzen.
-
Mit
den vorstehenden Prozessen kann der während der Druckdatenübertragung
angehaltene Auftrag seine Operation später fortsetzen, um die Druck-
oder Neudruckoperation in der Art und Weise wie die gewöhnliche
Druckoperation auszuführen.
-
Wie
bisher beschrieben, werden gemäß der Erfindung
die Druckerinformationen in einem durch den Client von dem Server
empfangenen Druckbar-Angabe-Befehl eingegeben und eingegeben, wenn
der Client-Anschluß und
Drucker während
des Client-Einstellungsprozesses eingestellt werden. Daher ist keine
Bedienungsperson notwendig, um die Druckerinformationen (IP-Adresse
und dergleichen) einzugeben, sondern die Druckerinformationen können automatisch
aus dem Druckernamen und dergleichen erfaßt werden, und die Client-Einstellung kann
automatisch geändert
werden, indem nur die Server-Einstellung geändert wird. Es ist daher möglich, das
System leicht zu verwalten.
-
Da
dem virtuellen Server ein Name eines virtuellen Druckers zugewiesen
wird, ist kein Benutzer notwendig, um jedes Mal, wenn eine Druckoperation ausgeführt wird,
eine weitere Druckspezifikation für jeden Drucker einzustellen.
Falls zum Beispiel eine Bedienungsperson (Verwalter) eines virtuellen
Servers einen Namen "VPS-DRUCKER1" für einen A4-Horizontal-Behälter und
einen Namen "VPS-DRUCKER2" für einen
A4-Vertikal-Behälter
registriert, kann selbst ein unerfahrener Benutzer die durch den
Verwalter eingestellte Druckspezifikation einstellen, indem er den
Namen des virtuellen Druckers auswählt. Da dem virtuellen Drucker
ein Name eines virtuellen Druckers zugewiesen wird, ist es für einen
Benutzer nicht notwendig, jedes Mal, wenn der Benutzer eine Druckoperation
ausführt,
eine verschiedene Druckspezifikation eines Druckers einzustellen.
Falls zum Beispiel eine Bedienungsperson (Verwalter) eines virtuellen
Servers einen Namen "VPS-DRUCKER1" für einen
A4-Horizontal-Behälter und
einen Namen "VPS-DRUCKER2" für einen A4-Vertikal-Behälter registriert,
kann selbst ein unerfahrener Benutzer die durch den Verwalter eingestellte
Druckspezifikation einstellen, indem er den Namen des virtuellen
Druckers auswählt.
-
Wenn
eine Auftragsabfrage von dem Client zu dem Server ausgegeben wird,
fragt der Server eine Liste von gegenwärtig in dem Drucker vorhandenen
Aufträgen
ab, und gemäß der empfangenen
Auftragsliste und der Liste von gegenwärtig in dem Server vorhandenen
Aufträgen
erzeugt der Server eine Liste von. gegenwärtig in dem ganzen System vorhandenen
Aufträgen
und benachrichtigt den Client von der neuen Liste. Im Vergleich
zu bekannten Techniken kann auf richtigere Informationen Bezug genommen
werden. Selbst wenn wegen einigen Fehlern bei dem Netzdrucker ein
Auftrag verschwindet, kann der Client diesen verschwundenen Auftrag
bestätigen.
-
Der
virtuelle Server empfängt
von dem Client die nur für
die Folgeordnungssteuerung von Druckdaten notwendigen Informationen
und fügt
die Druckerinformationen zu dem durch den Client zu empfangenden
Druckbar-Angabe-Befehl hinzu. Der Server sendet Druckdaten zu dem
Drucker. Mit diesem System kann die Last bei dem Server verringert
werden. Entsprechend fordert dann, wenn der Client den Server zum
Senden der Auftragsliste auffordert, der Server auch die Auftragliste
von dem Drucker an, so daß eine
Auftragsliste des ganzen Systems gebildet werden kann. Ferner belegt
selbst eine Vorrichtung ohne eine Funktion des Erkennens eines Auftrags und
eine Auftragslöschungsfunktion,
die durch eine Vielzahl von Kommunikationsendgeräten an dem Netz gemeinsam genutzt
wird, keine übermäßigen Betriebsmittel,
die andernfalls für
den Folgeordnungssteuermechanismus notwendig sind. Indem nur die
Server-Einstellung geändert
wird, wird es unnötig,
die Einstellung aller Clients zu ändern, so daß das System
leicht verwaltet werden kann.
-
Selbst
wenn der virtuelle Server einen Fehler aufweist oder ausgeschaltet
ist, kann der Client eine Druckoperation ausführen. Ferner kann selbst dann, wenn
die Druckbar-Angabe für
eine vorbestimmte Zeit nicht von dem virtuellen Server zurückgegeben wird,
der Client eine Druckoperation ausführen.
-
Selbst
wenn ein Drucker anormal wird, nachdem der virtuelle Server beurteilt,
daß der
Drucker normal ist, und er eine Druckanweisung zu einem Client sendet,
kann der Client den Auftrag wieder ausgeben, so daß der Server
den Druckerstatus erkennen kann und der Auftrag leicht gesteuert
werden kann.
-
Es
ist möglich,
zu bestätigen,
daß die
Druckdaten eines Auftrags vollständig
gedruckt worden sind, und unter dieser Bestätigung die Funktion des Löschens der
Auftragsinformationen und Druckdaten durch den Client-Computer auszuführen. Zu
der gleichen Zeit ist es für
einen Benutzer möglich,
anhand eines Fehlens der Auftragsinformationen in dem virtuellen
Server zu wissen, daß die
Druckdaten vollständig
gedruckt worden sind.
-
Der
verschwundene Auftrag kann später
gedruckt werden.
-
Der
während
der Druckdatenübertragung angehaltene
Auftrag kann seine Operation später fortsetzen,
um die Druck- oder
Neudruckoperation in der Art und Weise wie die gewöhnliche
Druckoperation auszuführen.
-
Ein
Client überträgt nur Auftragsinformationen
von Druckdaten zu einem Server, der Server verwaltet eine Druckordnung
gemäß den Auftragsinformationen,
und falls sie druckbar sind, überträgt der Client
die Druckdaten direkt zu einem Drucker. Nachdem der Druck abgeschlossen
ist, benachrichtigt der Drucker den Server von einem Druckabschluß, und bei
einem Empfang dieser Druckabschlußmitteilung weist der Server
den Client zum Löschen
der Druckdaten an. In einem Drucksystem an einem Netz, das wie vorstehend
beschrieben konfiguriert ist, wird der Netzverkehr nicht erhöht, es ist
keine große
Speicherkapazität
für den
Server notwendig, so daß die Serverlast
verringert wird, die Auftragsverwaltung des Servers kann durch den
Client ausgeführt
werden, der Abschluß einer
Druckoperation kann überwacht
werden, und eine Druckoperation ist selbst dann möglich, wenn
der Server sich in einem Fehlerzustand befindet.