ThinPrint .print auf dem Server, im Netzwerk und auf dem Client

In der ThinPrint-Terminologie ist der Server immer das Gerät, auf dem die .print Engine installiert ist. In den meisten Fällen ist der Server ein Terminal Server oder ein Druckserver, in diesem Kontext kann der Server jedoch auch ein physischer oder virtueller PC sein. Mit Ausnahme der .print Engine für AS/400 ist die Druckverarbeitung aller .print Engines vollständig in das Print-Subsystem von Microsoft Windows integriert. Dies maximiert nicht nur die Kompatibilität und die Skalierbarkeit, sondern sorgt auch dafür, dass ThinPrint .print einfach bleibt, was wiederum Stabilität garantiert.

 

Kenntnisse darüber, wie das Microsoft Windows-Print-Subsystem funktioniert, helfen, die Technologie von ThinPrint .print zu verstehen. Auf etwas vereinfachte Art dargestellt geschieht das Folgende, wenn ein Benutzer aus einer Anwendung auf einem Microsoft Windows-Betriebssystem für Server oder Desktops druckt:

 

Anwendung, Druckertreiber, GDI Engine, Druckprozessor, Spooler, Client (winspool.drv), Server (spoolsv.exe), Router (spoolss.dll), Druckanbieter, Druckmonitor, Drucker / Druckserver

 

1. Die Druckanwendung verwendet die GDI-Engine des Microsoft Windows-Betriebssystems zum Erstellen eines Transkripts der zu druckenden Daten. Dazu kommuniziert die GDI-Engine mit dem ausgewählten Druckertreiber, so dass die korrekten Informationen in Bezug auf Papiergröße, Auflösung, Farbtiefe etc. auf den Druckauftrag angewandt werden. Das Format dieses Transkripts wird als Enhanced Metafile (EMF) bezeichnet. Es ist druckerunabhängig und mit allen Microsoft Windows-Print-Subsystemen kompatibel.*
   
2. Die Enhanced Metafile-Datei wird dann an das Print-Subsystem übergeben. Der Spooler-Client (winspool.drv) ist die Komponente, die die EMF-Daten empfängt. Sie leitet die Daten an den Spooler-Server (spoolsv.exe) weiter, der sie wiederum an den Spooler-Router (spoolss.dll) übermittelt.
   
3. Der Spooler-Router muss entscheiden, welcher Druckanbieter für die weitere Verarbeitung verwendet wird. Diese Entscheidung basiert auf der ausgewählten Druckerwarteschlange. Wenn die Druckerwarteschlange lokal installiert ist, übernimmt der lokale Druckanbieter. Für Druckerwarteschlangen, die sich auf anderen Computern befinden und gemeinsam genutzt werden, wird einer der installierten Remote-Druckanbieter, der LANMan Print Provider, verwendet. Da der Remote-Druckanbieter alle weiteren Prozesse der Druckverarbeitung an den Spooler-Client des unter Microsoft Windows laufenden Remote-Computers weiterleitet, können wir uns auf den lokalen Druckanbieter konzentrieren, denn auch die nächsten Schritte des Druckvorgangs werden vom lokalen Druckanbieter des Remote-Systems durchgeführt.

 

* Einige Anwendungen erstellen den Druckauftrag direkt in Verbindung mit dem Drucker, ohne die EMF-Daten an das Print-Subsystem weiterzuleiten. Dies ist selten, tritt jedoch bei maßgeschneiderten und älteren Anwendungen auf.

 

** Der LANMan Print Provider wird zum Drucken auf gemeinsamen Druckern auf anderen unter Microsoft Windows laufenden Computern verwendet. Der Internet Print Provider handhabt die Kommunikation für IPP-Drucker. Es können andere Druckanbieter installiert werden.

 

Terminal Server / Workstation, Anwendung, Druckertreiber, GDI Engine, Spooler, Client (winspool.drv), Server (spoolsv.exe), Router (spoolss.dll), Druckanbieter, Druckmonitor, Druckserver, Druckprozessor

 

4. Der lokale Druckanbieter analysiert die vom Router empfangenen Daten. Ist das Format EMF, dann werden die Druckdaten an den Druckprozessor des ausgewählten Druckers weitergeleitet, der die GDI-Engine des Betriebssystems nutzt, um die EMF-Daten in ein Format umzuwandeln, das der Drucker verarbeiten kann. Druckdaten, die nicht im EMF-Format vorliegen, werden als Rohdaten bezeichnet. Dazu gehören alle Postscript- und PCL-Sprachversionen ebenso wie alle proprietären Formate.
   
5. Nach dem Umwandeln der Daten von EMF zu Rohdaten werden sie wieder an den Spool-Client weitergeleitet. Die oben beschriebenen Schritte werden wiederholt. Jetzt erkennt der lokale Druckanbieter jedoch, dass die Druckdaten nicht im EMF-Format vorliegen, und übermittelt sie nicht an den Druckprozessor, sondern an den Druckmonitor.
   
6. Der Druckmonitor enthält den Drucker-Port. Dies ist die Komponente, die die Druckdaten auf den Drucker überträgt. Die meistverbreiteten Drucker-Ports werden als Printer Port (LPTx), Serial Port (COMx), Print to File (FILE:) oder Standard TCP/IP Port (IP_xxx.xxx.xxx.xxx) bezeichnet.

 

Es ist allgemein bekannt, dass dem Microsoft Windows-Print-Subsystem Druckertreiber hinzugefügt werden können. Dies gilt auch für den Druckanbieter, den Druckprozessor und den Druckmonitor.*** ThinPrint .print fügt der bestehenden Druckumgebung drei Komponenten – einen Drucker-Port, einen Druckertreiber und einen Druckprozessor – hinzu, ohne die bestehende Konfiguration zu verändern oder einzuschränken. Dies ist eine wichtige Anforderung für einen sukzessiven Übergang von einer bestehenden Druckumgebung zu einer ThinPrint .print-Umgebung.

 

*** Tatsächlich nutzen viele USB-basierte Drucker und insbesondere Multifunktionsdrucker die Möglichkeit zum Hinzufügen von Druckprozessoren und Druckmonitoren zum Print-Subsystem – was übrigens einer der Gründe ist, weshalb das Leben eines Druckadministrators auf einer Terminal Server-Farm hart ist.

 

Der Großteil der Vorteile der .print Engine entsteht durch den eigenen Drucker-Port von ThinPrint. Dieser Drucker-Port mit der Bezeichnung ThinPrint Port empfängt die Druckdaten, komprimiert sie und schickt sie über das Netzwerk über TCP/IP, LPD, RDP oder ICA an den richtigen .print Client oder das richtige LPR-Gerät. Der ThinPrint Port führt diese Schritte mit kleinen Paketen des Druckauftrags durch, um den Druckvorgang zu beschleunigen. Diese Streaming-Technologie gleicht auch die Anforderungen von Server, Netzwerk und Client an die Ressourcen aus, wodurch unerwünschte Spitzen bei CPU-, Speicher- und Festplattenaktivität vermieden werden.

 

Das Einrichten des ThinPrint Ports nach den Spezifikationen von Microsoft für Drucker-Ports ermöglicht es dem Administrator, die gleichen Optionen und die Flexibilität zu nutzen, wie sie die Standard-Drucker-Ports von Microsoft bieten. Der Administrator entscheidet, wie viele Instanzen des ThinPrint Port erstellt werden, wie viele Druckerwarteschlangen an jeden ThinPrint Port angeschlossen sind und wie viele ThinPrint Ports von jeder Druckerwarteschlange verwendet werden.

 

Driver Free Printing Queue, Native Druckertreiber Queue, ThinPrint Drucker Port

 

Da jeder ThinPrint Port unabhängig konfiguriert wird, kann die optimale Konfiguration für die Steuerung der Bandbreite, die Komprimierung und das Übertragungsprotokoll für jeden Drucker einzeln eingerichtet werden. Tatsächlich können die Administratoren jedoch Konfigurationszeit sparen, indem sie die Drucker nach Typ oder Verbindung gruppieren und die ThinPrint Ports den Gruppenanforderungen entsprechend konfigurieren. So kann eine einfache Konfiguration eines Drucker-Ports die druckbezogenen Herausforderungen für 80 % der Drucker bewältigen, eine weitere bringt 15 %, und durch eine dritte oder vierte Konfiguration erreicht die Gesamtkonfiguration möglicherweise 100 % – also maximale Vorteile.

 

Eine zweite Komponente der ThinPrint .print Engine, die direkt in den Druckvorgang einbezogen ist, ist der universelle Druckertreiber von ThinPrint – das ThinPrint Output Gateway. Es ist erforderlich, um die Notwendigkeit von Druckertreibern auf Servern und Desktops zu beseitigen.

 

Das ThinPrint Output Gateway erscheint wie ein Druckertreiber, der den Benutzern eine grafische Benutzeroberfläche bietet, mit der die Druckereinstellungen festgelegt werden können und Anwendungen alle erforderlichen Informationen bekommen, um über die GDI-Engine des Betriebssystems einen Druckauftrag zu erstellen. Abgesehen von der Oberfläche unterscheidet sich das ThinPrint Output Gateway jedoch stark von den typischen Druckertreibern. Statt einen Druckauftrag vom EMF-Format in Rohdaten umzuwandeln, behält das ThinPrint Output Gateway das EMF-Format bei und stellt sicher, dass der Druckanbieter es direkt an den Drucker-Port weiterleitet. Dadurch, dass er das EMF-Format lesen und interpretieren kann, kann das ThinPrint Output Gateway auch die Komprimierung optimieren, indem es auf jedes Element des Druckauftrags den am besten geeigneten Komprimierungsalgorithmus anwendet.

 

Drucken mit regulären/nativen Druckertreiber, Drucken mit ThinPrint Output Gateway Druckertreiber, Serverseite, Anwendung, Rendern, Enhanced Meta File, Cleintseite, Queuing, Drucken, RAW (ps, pcl)

 

Damit der Drucker einen Ausdruck erstellen kann, müssen die EMF-Daten in druckerspezifische Rohdaten umgewandelt werden. Das Großartige am ThinPrint Output Gateway ist, dass der Administrator entscheiden kann, an welcher Stelle des Netzwerks dies geschehen soll. Diese Freiheit bietet die folgenden Vorteile:

 

  • Vereinfachte Verwaltung der Druckertreiber,
  • Stärkere Nutzung der Rechnerkapazitäten,
  • Einsparungen bei Speicher- und CPU-Zyklen,
  • Reduzierung negativer Leistungsspitzen auf Terminal Servern und virtuellen Desktop-Servern,
  • Vermeidung druckerspezifischer Abhängigkeiten von Servern mit Anwendungen für die Benutzer.

 

Solange das Gerät, das den Druckauftrag ausführen soll, unter einem Microsoft Windows-Betriebssystem für Server oder Desktops läuft, kann es zum Abschließen des Rendering-Vorgangs verwendet werden. Das Gerät kann ein Client-PC, ein zentraler Druckserver im Rechenzentrum oder ein Druckserver in einem entfernt gelegenen Büro sein.

 

Vom ThinPrint Port abgeschickte Druckaufträge durchqueren das Netzwerk in Paketen. Das Intervall zwischen den Datenpaketen und die Größe der Datenpakete basieren auf der Bandbreitenbegrenzung, die für den ThinPrint Port, der die Daten abschickt, festgelegt wurde. Eine hohe Begrenzung der Bandbreite bedeutet kurze Intervalle und größere Pakete, während eine niedrige Begrenzung der Bandbreite zu längeren Intervallen und kleineren Paketen führt. Das Ausschalten der Bandbreitenbegrenzung führt dazu, dass der ThinPrint Port die Pakete verschickt, sobald sie verfügbar sind.

 

Sofern das Protokoll des ThinPrint Port auf LDP eingestellt ist, werden die Druckdaten in Verbindung mit einem .print Client während der Übertragung auch komprimiert. Der .print Client dekomprimiert die Daten und speist sie in eine Druckerwarteschlange auf der Client-Seite ein. Diese Grundfunktionen werden von allen .print Clients angeboten. Dies kann eine Software sein, die als ausführbar im Benutzermenü, als Dienst im Hintergrund oder als Dynamic Link Library läuft, die durch eine RDP- oder ICA-Sitzung oder eine Komponente der Firmware einer Anwendung, einen Thin Client oder einen Drucker gestartet und angehalten wird.

 

Alle aktuellen .print Clients können auch verschlüsselte Druckdaten empfangen und die lokale Druckkonfiguration an die .print Engine kommunizieren, damit Druckobjekte auf der Server-Seite automatisch mit den Einstellungen ihrer Gegenstücke auf der Client-Seite konfiguriert werden und die Richtung der Kommunikation mit der .print Engine umgekehrt wird. Während die Verschlüsselung und das Kommunizieren der Daten über die Drucker der Client-Seite relativ einfach sind, erfordert die Umkehrung der Kommunikation einige zusätzliche Erklärungen. Normalerweise öffnet der ThinPrint Port eine Socket-Verbindung zum .print Client, wenn ein Druckauftrag gedruckt werden soll. Beim RDP-/ICA-Protokoll funktioniert dies gut. Solange der Client vom Server über TCP/IP erreicht werden kann, funktioniert die Methode auch bei der Verwendung von TCP/IP reibungslos. Ist dies aufgrund der Beschränkungen durch eine Firewall oder ein NAT-Netzwerk nicht möglich, dann kann die .print-Umgebung entsprechend eingerichtet werden, so dass der .print Client und der ThinPrint Port Verbindungen zu einem Dienst namens Connected Gateway öffnen. Dieser befindet sich in einem Netzwerksegment, das über TCP/IP vom Server und den Clients erreicht werden kann. Der Connected Gateway stellt sicher, dass der Traffic der Verbindungen ThinPrint Port zu Connected Gateway und .print Client zu Connected Gateway korrekt geführt wird, indem auf der Server-Seite entsprechende ID für .print Client und Druckerwarteschlange verwendet werden.

 

Verbindungen vom ThinPrint Port und .print Client zum Connection Service Gateway, ThinPrint Port, empfängt über TCP Port 4000, empfängt über TCP Port 4001, Connection Service Gateway, .print Client, Firewall

 

Die einzige Funktion, die nur .print Clients für Microsoft Windows-Betriebssysteme unterstützen, ist der Empfang von Druckdaten im EMF-Format und das Weiterleiten an das Print-Subsystem zum Rendering im RAW-Format. Da EMF ein spezifisches Microsoft Windows-Format ist, ist zum Verarbeiten ein Microsoft Windows-Print-Subsystem erforderlich. Wenn das Client-Gerät kein solches Subsystem besitzt, kann im Allgemeinen ein anderes Gerät für das Rendering des Druckauftrags bestimmt werden. Der .print Client für Microsoft Windows funktioniert wie eine Anwendung, die zu drucken versucht, und schickt die vom ThinPrint Port empfangenen ungerenderten EMF-Druckdaten an die richtige Druckerwarteschlange, so wie die Anwendung auf der Server-Seite anfänglich die EMF-Daten an die Druckerwarteschlange des ThinPrint Output Gateway geschickt hat. Der Provider der Client-Seite erkennt das Druckformat als EMF und leitet die Daten an den Print Processor einer Client-Druckerwarteschlange weiter, und der native Druckertreiber führt das Rendering durch, bevor ein lokaler Drucker-Port die gerenderten (RAW-) Daten an den Drucker schickt.****

 

**** Dazu gehören Situationen, in denen ein Client-Computer über einen lokalen Druckserver auf einem Netzwerkdrucker druckt.

 

ThinPrint Output Gateway Queue, Native Druckertreiber Queue, ThinPrint Drucker Port, .print Client, Drucker Queue

 

Die Entwicklung von ThinPrint .print für einzelne Module, die als Teil des Windows-Print-Subsystems gut zusammen funktionieren, ermöglicht maximale Flexibilität bei der Gestaltung der Druckumgebung. Eine beliebige Anzahl von Druckerwarteschlangen kann einer beliebigen Anzahl von ThinPrint Ports zugeordnet werden, die auf einer beliebigen Anzahl von Druckern auf der Client-Seite drucken können, konfiguriert auf einer Reihe von Client-Geräten. Die Entscheidung darüber, wohin ein Druckauftrag geschickt wird, basiert auf den Informationen aus dem Namen der Druckerwarteschlange. Er enthält entweder den Hostnamen oder die IP-Adresse des Clients für den TCP/IP- oder den LPD-Druck oder den Benutzernamen, wenn das Druckprotokoll auf einen Virtual Channel (ICA/RDP) eingestellt ist, und er kann auch eine ID enthalten, die einer Druckerwarteschlange auf der Client-Seite entspricht.*****

 

***** Die .print Engine enthält den Dienst ThinPrint AutoConnect, der genutzt wird, um automatisch Druckerwarteschlangen mit der richtigen Benennung zu erstellen. Auf Geräten mit Benutzersitzungen wird dieser Dienst normalerweise eingerichtet, um Druckerwarteschlangen zu erstellen, wenn sich ein Benutzer anmeldet oder in einer Sitzung erneut anmeldet, und um die Druckerwarteschlange zu löschen, wenn sich ein Benutzer von einer Sitzung abmeldet oder sie unterbricht. Auf zentralen Druckservern kann ThinPrint AutoConnect verwendet werden, um die Konfigurationen der Druckerwarteschlange von Remote-Druckservern zu berichten, so dass .print-basiertes Drucken auf diesen Geräten ermöglicht wird.

 


 

Weitere technische Beschreibungen finden Sie hier: