Drucker: Client-Side Rendering

Olli700100

Cadet 3rd Year
Registriert
Okt. 2008
Beiträge
57
Hallo Zusammen,

ich habe eine kleine Frage zum Spooling von Druckaufträgen.
Wir nutzen in unserem Unternehmen einen Druckerserver, der mehrere hundert Drucker verwaltet.
Zum Testen, wie so ein Druckauftrag abläuft, habe ich eine etwas größere Word Datei (20MB, 71 Seiten) an einen PDFCreator Drucker gesendet.
Die Datei tauchte entsprechend in der Drucker Queue auf und wurde gespooled. Das Spooling dauerte ca. 30 Sekunden und die letzte ablesbare Größe in der Drucker Queue war 67,9 MB.
Fragen, die sich mir nun stellen:

  1. Diese gespoolte Datei wird nun direkt an den Drucker geschickt oder?
  2. Wenn ich in den Druckeroptionen auf dem Printserver "Render print jobs on client computers" auswähle, wird dann das Spooling, was ich auf dem Server sehen konnte, auf dem Client vorgenommen (Rendering = Spooling?)?
  3. Wenn ich in den Druckeroptionen auf dem Printserver "Render print jobs on client computers" auswähle, wird die gespoolte Datei trotzdem über den Druckserver geschickt oder "auf schnellstem Wege" direkt an den Drucker?
Der Hintergrund ist der, dass wir einen kleinen Standort ca. 100km entfernt haben.
Dieser Standort hat eigene Drucker, nutzt aber unseren Druckerserver. Die Bandbreite der kompletten Leitung beträgt lediglich 10Mbit/s und wird von einem WAN-Optimizer teilweise "optimiert" (caching/Komprimierung).
Das wird dann teilweise problematisch, wenn die gespoolten Dateien vom Druckerserver an die Drucker am anderen Standort gesendet werden. Es entstehen teilweise Wartezeiten von mehreren Minuten bis der Drucker überhaupt den Auftrag empfängt.

Ich habe dazu schon mal unter http://msdn.microsoft.com/en-us/library/ff545967(v=vs.85).aspx geschaut, leider wird hier (meiner Meinung nach) teilweise suggestiert, dass die Aufträge immer noch zum Server geschickt werden, es sei denn der Clientrechner wird in dem Text ab und an als Server bezeichnet. :/


Schon mal besten Dank im Voraus für die Hilfe! :)


Viele Grüße

Diego
 
So wie ich das verstehe wandelt der Druckertreiber beim clientseitigen Rendering die zu druckenden Dokumente in die jeweilige Sprache um die der Drucker versteht.
Wenn die Option nicht aktiv ist, schickt er die zu druckenden Daten an den Server und der Treiber der dort installiert ist wandelt die Daten in etwas um was die Druckerhardware versteht.

So gesehen wäre es wohl besser das clientseitige Rendering nicht zu nutzen wenn es schmale Verbindungen zwischen Client und Druckerstandort gibt. Die Dokumentdaten dürften quasi immer kleiner sein als der Datenwust den der Drucker dann verarbeitet.
 
Danke für den Beitrag; habe mich glaube ich etwas missverständlich ausgdrückt.

Clientrechner als auch die Drucker stehen zusammen im entfernten Standort; nur der Druckerserver steht in unserem Hauptsitz.

Demnach würde es ja eigentlich Sinn machen, das Clientseitige Rendering zu aktivieren, weil so der Weg für das Spooling nicht über den Server (wie ich hoffe) genommen wird.
 
Die Antwort war schon passend, in meinen Augen.

Ein gerenderter Druckauftrag hat immer ein erheblich größeres Datenvolumen. Das, was zum Spooler geht, das nimmt weniger Platz in Anspruch.

Aber so der so ist das nicht sehr durchsichtig. Rechner und Drucker stehen zusammen im entfernten Standort. Was macht dann der Druckserver?
 
Momentan ist es so, dass der Druckserver noch das Spoolen/Aufbereiten übernimmt und Treiber zentral zur Verfügung stellt.

Der momentane Weg ist also:
- Clientrechner (entf. Standort) schickt Datei über 10 Mbit Leitung zum Druckserver ("mein" Standort).
- Druckerserver spoolt Datei auf ein vielfaches ihrer Ursprungsgröße.
- Druckerserver schickt gespoolte Datei/gespoolten Druckauftrag über die 10Mbit Leitung zum Drucker ("mein" Standort -> entf. Standort)

Der letzte Schritt ist meiner Ansicht nach der entscheidende Knackpunkt, da hier eben die aufgeblähte, gespoolte Datei über die 10 MBit Leitung wieder zurück zum Drucker im entf. Standort geschickt wird.

Mir ist bewusst, dass ein lokaler Printserver bzw. ein Aufbau ohne Druckserver in dem entf. Standort vermutlich mehr Sinn macht als dieses Drumherumgetue. Aber leider ist uns vorgegeben, dass wir einen Printserver zwecks Verwaltung (verstopfte Queues, korrupte Aufträge löschen) nutzen sollen.
 
Dann kannst Du nichts machen.

Wenn Du ein 10 MB PDF hast, dann kannst Du absolut nicht daraus ableiten, wie groß die Datei im Druck Spooler wird. Auf jeden Fall ist die Datei im Spooler noch erheblich kleiner, als die, die dann der Treiber zum Drucker schickt.

Weg ist halt so.

Druckauftrag 10 MB PDF ---> Spooler, aus dem PDF wird ein 100 MB großes Dokument im Spooler---->dann gehts zum Treiber, der rendert die Seite. Aus den 100 MB werden dann, sagen wir 400 MB.
 
Danke für deine Rückmeldung.

Das bedeutet also letztendlich, dass "Render print jobs on client computers" wirklich nur das Rendern im Treiber meint, und nicht das Spoolen?

Ansonsten würde es ja schon gehen:
Es wird einfach auf dem lokalen Client/Rechner gespooled und gerendert und zum Drucker geschickt; die Treiber für den Drucker wurden ja zuvor vom Druckserver runtergeladen und sind somit lokal auf dem Client verfügbar...
Das wäre dann ja alles recht unabhängig vom Printserver und würde sich alles auf einem Rechner im entf. Standort abspielen.

Der Printserver hatte dann natürlich nur die Funktion der Treiberbereitstellung und des einmaligen Hinzufügens des Druckers auf dem Clientrechner.
 
@Diego-: Egal wie du es drehst und wendest, bleibt es doch immer so dass dein Druckauftrag 2x durch die Leitung muss. Einmal in klein und einmal in groß. Da ist es gehupft wie gesprungen wer wann was rendert. Es sei denn es ist eine asynchrone 10 MBit Leitung. Dann machts natürlich Sinn die höhere Bandbreite für den großen Datenblob zum Drucker hin zu verwenden.
 
Hi Docwindows,

danke, aber warum das denn?
Die Clientrechner sind mit den Netzwerkdruckern in einem lokalen 100Mbit, wenn nicht 1000Mbit Netz; lediglich der Druckserver ist mit einer 10Mbit Leitung über das Internet (MPLS Netz) mit dem entf. Standort verbunden.
Wenn also alles auf dem Client gespooled, gerendert und an den Drucker geschickt wird, bleibt der Druckserver und damit die 10Mbit Leitung doch außen vor?

Wenn man das spooling und/oder Rendering nicht auf die Clients umwälzen kann und NUR der Druckerserver das übernehmen kann, dann ist mir klar, dass die 10Mbit Leitung benutzt werden muss.
 
Du hast oben geschrieben dass alles über den Druckserver laufen muss. Wie soll also der Client in der entfernten Umgebung direkt auf seinen dort stehenden Drucker drucken können? Der Client kommuniziert nur mit dem Druckserver und der Druckserver mit dem Drucker.
Die Frage die sich stellt ist nur wer die Daten für den Drucker aufbereitet. Der Client selbst oder der Druckserver.

In einer Umgebung wo ein Printserver im Netz hundert Drucker bedient ist es eben die Frage ob der Printserver die fertigen Daten einfach nur an die Drucker übermitteln soll, oder ob er so viel Dampf hat um die Daten selbst für die Drucker umzurechnen.

Ein Direktdruck würde gehen wenn du den Drucker lokal auf dem Client installierst, aber genau das soll ja nicht sein, oder?
 
Momentan ist es so, dass der Druckserver die Dateien aufbereitet ja; das ist möglich, da maximal 15-20 Druckaufträge gleichzeitig ankommen und das dann auch meist nur einfache paar-seitige Worddokumente sind.

Die Frage, die ich eben habe, ist, ob die Option "Render print jobs on client computers" dafür sorgt, dass der Client nur kurz den Druckerserver kontaktiert und sagt "Ich habe hier einen Druckauftrag"; der Druckserver sagt daraufhin (wegen "Render print jobs on client computers") "Ich bereite nichts auf, das wird clientseitig gemacht" und der Client bereitet dann selbst auf und schickt an den Drucker.

Den entsprechenden Druckertreiber hat der Client vor längerer Zeit von dem Printserver bekommen, als der Drucker auf dem Client hinzugefügt wurde; der Druckertreiber ist also auf dem Client vorhanden und installiert, nicht nur auf dem Druckserver!


Zusammengefasst, was ich mir von "Render print jobs on client computers" erhoffe:

Aufgaben des Druckservers:
- (einmalige) Treiberbereitstellung
- zentrale Instanz zum (einmaligen) hinzufügen des Druckers auf dem Client.
- Änderungen von Druckereinstellungen einzelner Drucker werden auf die verbundenen Drucker der Clients gepublished.

Aufgaben des Clients:
Druckauftrag erstellen, selbst aufbereiten, selbst an den Drucker schicken


Die Einschränkung, dass Druckjobs dann nicht mehr auf dem Server in der Queue angezeigt werden und gelöscht/neugestartet werden können, ist mir klar.
 
Zurück
Oben