-
Die Erfindung betrifft ein Verfahren zum Verwalten von Druckern mit einem Druckserver eines Rechnernetzwerks. Die Erfindung betrifft weiterhin einen geeigneten Druckserver.
-
Druckserver dienen dazu, in einem Rechnernetzwerk – das im Sinne dieser Anmeldung eine Mehr- oder Vielzahl netzwerkfähiger Geräte wie Computer, Drucker, Druckserver usw. umfasst, die drahtlos und/oder drahtgebunden verbunden sind und über wenigstens ein Netzwerkprotokoll miteinander kommunizieren – Druckaufträge von einem der Geräte entgegen zu nehmen und sie an Drucker des Rechnernetzwerkes weiterzusenden, um sie dort auszudrucken.
-
Druckserver im Sinne dieser Anmeldung sind vorzugsweise eigenständige Geräte – mit einer eigenen Hardware – die mit einem eigenen Drucksteuerprogramm – einer Druckserversoftware – versehen sind. Bei Rechnern bzw. Computern, die als Mobilgeräte ausgestaltet sind – beispielsweise als Handys, als Tablet-Computer oder dgl., ist es aufgrund der auf diesen Geräten verwendeten Betriebssysteme und damit einhergehenden speziellen Drucker-Ansteuerungstechniken oftmals notwendig, mit dem Druckserver ein Umsetzen des Druckformats und der Steuerbefehle für den Drucker an ein anderes Betriebssystem vorzunehmen.
-
Es sind bereits Geräte am Markt erhältlich, welche diese Funktionalität bieten. So wird am Markt ein Gerät namens „Primos“ angeboten, nachfolgend als „der bekannte Druckserver“ bezeichnet, bei dem es sich um einen Druckserver für Mobilgeräte handelt, der die für einen derartigen Druckserver notwenige Hard- und Software in einer kompakten Box vereinigt. Dieser bekannte Druckserver dient dazu, Inhalte wie Dokumente und Bilder von Geräten mit dem sogenannten iOS-Betriebssystem (iPhone, iPad usw.) auf einem Netzwerkdrucker auszudrucken, der aus diesem Betriebssystem abgesandte Druckbefehle u.U. nicht direkt sondern nur vorverarbeitet umsetzen kann, um das auszudruckende Dokument auszudrucken.
-
Die über den bekannten Druckserver abgewickelten Druckaufträge verbleiben im Netzwerk des Unternehmens, werden lokal, insbesondere nur lokal, verarbeitet und vorzugsweise nicht via Internet oder Cloud-Lösungen übertragen.
-
Der bekannte Druckserver macht eine Anzahl, beispielsweise bis zu 10 Drucker, für iOS-Geräte verfügbar: Ein Drucker kann vorzugsweise direkt an eine Schnittstelle, vorzugsweise einen USB-Port – des bekannten Druckserver angeschlossen und damit ins Netzwerk eingebunden und für das Drucken von iOS-Geräten verfügbar gemacht werden. Ist ein Drucker an den bekannten Druckserver angeschlossen, können noch einige weitere, im erörterten Beispiel bis zu 9 – Netzwerkdrucker für das Drucken von iOS-Mobilgeräten verfügbar gemacht werden. Falls kein Drucker an die Schnittstelle des bekannten Druckservers angeschlossen ist, können bis zu 10 Netzwerkdrucker verfügbar gemacht werden.
-
Der bekannte Druckserver wird – vorzugsweise kabelgebunden – an das Netzwerk angeschlossen. Mit diesem Netzwerk sind die iOS-Geräte kabellos, insbesondere über ein „Wireless LAN“ (WLAN) verbunden.
-
Druckaufträge der Mobilgeräte werden mit Hilfe der Druckerunterstützungsfunktion des Mobilgerätebetriebsystems, beispielsweise des Betriebssystems iOS und der dort vorgesehenen Druckunterstützungsfunktion „AirPrintTM“ (dies ist eine eingetragene Marke der Apple Inc.) über ihr Netzwerk an den bekannten Druckserver gesendet.
-
Der bekannte Druckserver leitet den Druckauftrag zur Ausgabe an drahtgebundene und drahtlose Netzwerkdrucker mit und ohne eine entsprechende Schnittstelle zur Verarbeitung der Druckunterstützungsfunktion des Mobilgerätes – im Beispiel AirPrintTM – weiter. Der bekannte Druckserver ist dabei unabhängig von Druckerherstellern. Zusätzlich erweitert der bekannte Druckserver die AirPrintTM-Funktionalität mit verschiedenen Features (Wide-Area AirPrintTM, Unterstützung von Directory-Services uvm.).
-
Damit von iOS-Geräten über den bekannten Druckserver gedruckt werden kann, muss in dem bekannten Druckserver für den jeweiligen Drucker eine Queue (Druckerwarteschlange) angelegt werden. Für jede Queue können dabei anschließend zahlreiche Einstellungen (Treiber, Zugriffskontrolle usw.) konfiguriert werden. In dem bekannten Druckserver können dabei einige, z.B. maximal 10 Queues erstellt werden, also max. 10 Drucker verfügbar gemacht werden. Zudem können allgemeine Einstellungen für das Drucken vorgenommen werden.
-
Die Konfiguration, Administration und Wartung erfolgt über eine Weboberfläche des bekannten Druckservers, das sogenannte „Control Center“, das eine Steuerung einer Routine zur Druckersuche und einer Routine zum Erzeugen der Druckerwarteschlangen ermöglicht. Ziel der Erfindung ist eine Vereinfachung der Konfiguration und Aministration des Druckerservers.
-
Die Erfindung löst diese Aufgabe durch den jeweiligen Gegenstand der unabhängigen Ansprüche.
-
Vorteilhafte Ausgestaltungen der Erfindung sind den Unteransprüchen zu entnehmen.
-
Da das Suchen von Druckern in Rechnernetzwerken und das Anlegen von Queues bzw. Druckerwarteschlangen, welche der Umsetzung von Druckaufträgen von Mobilgeräten für die Drucker des Rechnernetzwerkes dienen, mit der Erfindung automatisiert durchführbar ist, wird das Verwalten von Netzwerkdruckern deutlich vereinfacht.
-
Nachfolgend wird die Erfindung anhand von Ausführungsbeispielen unter Bezug auf die Zeichnung näher beschrieben. Es zeigt:
-
1 eine vereinfachte schematische Darstellung eines Teils eines Rechnernetzwerkes;
-
2 eine schematische Darstellung eines Hardwareaufbaus eines Druckservers;
-
3 ein Flussdiagramm zur Veranschaulichung eines erfindungsgemäßen Verfahrens; und
-
4 ein Flussdiagramm zur Veranschaulichung von Details des Verfahrens gemäß 3.
-
1 zeigt schematisch einen Teil eines Rechnernetzwerks 1, das eine Vielzahl von miteinander kabellos oder über Kabel verbundenen Netzwerkteilnehmern aufweist. Von diesen Teilnehmern sind hier lediglich ein Druckserver 2, ein mit dem Druckserver 2 über das Netzwerk 1 verbundene Netzwerkdrucker 3 und ein direkt an eine Stecker-Schnittstelle – insbesondere einen USB-Port – des Druckservers 2 angeschlossener Drucker – hier ein USB-Drucker 4 – dargestellt.
-
In das Netzwerk 1 ist zudem ein Schnittstellengerät 5 integriert, das mit dem Druckserver 2 verbunden ist. Das Schnittstellengerät ist für eine kabellose Kommunikation mit kabellos kommunizierenden Endgeräten 6 ausgelegt, bei welchen es sich insbesondere um mobile Endgeräte handelt. Diese Endgeräte 6 sind dazu ausgelegt, mit dem Schnittstellengerät 5 kabellos zu kommunizieren, das über ein Kabel mit dem fest installierten Netzwerk 1 verbunden ist bzw. ein Teil desselben darstellt. Dargestellt ist ferner ein für eine drahtlose Kommunikation ausgelegter Drucker 7, der auch ein Teil des Netzwerkes 1 sein kann oder aber ein vollkommen autarker Drucker. Sofern dieser dazu ausgelegt ist, direkt Druckaufträge des mobilen Endgerätes 6 zu verarbeiten, kann auf ihm direkt ohne Druckserver z.B. über das Schnittstellengerät 5 oder aber direkt vom Endgerät 6 ein Dokument ausgedruckt werden. Dieser Drucker 7 kann aber auch mit Hilfe des Druckservers 2 verwaltet und angesteuert werden, dann über das Schnittstellengerät 5.
-
Ein bevorzugter Aufbau des Druckservers 2 ist in 2 dargestellt.
-
Der Druckserver 2 weist einen Prozessor 8 auf (CPU), eine USB-Schnittstelle 9 als lokale Schnittstelle zum Anschluss eines USB-Druckers, eine Netzwerkschnittstelle 10 zur Verbindung mit dem Netzwerk, ggf. optionale Elemente wie eine Status-LED 11 und/oder einen Statustaster 14 sowie einen Speicher mit wahlfreiem/direktem Zugriff (RAM) 12 und einen nichtflüchtigen Speicher (ROM) 13. In einem Teil des Speichers 12/13 ist vorzugsweise eine Datenbank mit Druckerinformationen für eine Vielzahl am Markt erhältlicher Drucker hinterlegt bzw. gespeichert. In dieser Datenbank finden vorzugsweise die Suchen nach Druckerinformationen für ermittelte Drucker statt (wird später näher erläutert). In dem Speicher 12/13 ist auch das nachfolgend zu erläuternde Programm gespeichert.
-
Der Druckserver 2 verfügt über eine Weboberfläche, das „Control Center“, das eine Steuerung einer Routine zur Druckersuche und einer Routine zum Erzeugen der Druckerwarteschlangen ermöglicht.
-
Erfindungsgemäß wird eine Ausgestaltung der Routine zur Druckersuche als automatisierte Suche nach derartigen Druckern in Rechnernetzwerken in Kombination mit einer Ausgestaltung der Routine zum Anlegen der Druckerwarteschlangen zum automatisierten Anlegen der Queues vorgeschlagen. Dieses automatisierte Suchen von Druckern in Rechnernetzwerken in Kombination mit dem automatisierten Anlegen der Queues wird nachfolgend auch „Smart Printer Setup“ genannt.
-
Dieses Smart Printer Setup (Methode A.) besteht aus mehreren Schritten (siehe 3):
- a) einem Schritt, der eine Suche nach mindestens einem Drucker im Netzwerk und – wenn mindestens ein Drucker gefunden wurden – eine Abfrage nach Druckerinformationen des gefundenen Druckers umfasst;
- b) einem Schritt, der eine Verarbeitung der im Schritt a) abgefragten Druckerinformationen zu dem oder den gefundenen Druckern umfasst;
- c) einem Schritt, der eine Suche nach geeigneten Treibern für den oder die ermittelten Drucker umfasst (Matching bzw. Treibersuche);
- d) einem Schritt, der das Anlegen von Queues für den oder die ermittelten Drucker umfasst.
-
Vorteilhafte Ausgestaltungen dieser Schritte a) bis d) werden nachfolgend im Detail beschrieben.
-
Schritt a)
-
Wird die Funktion/Routine „Smart Printer Setup“ gestartet, beginnt der Druckserver 2 mit der Suche nach im Netzwerk 1 befindlichen Druckern 3, 7.
-
Sofern der Druckserver über eine lokale Schnittstelle – beispielsweise die in 1 dargestellte USB-Schnittstelle – verfügt, wird auch abgefragt, ob an diese Schnittstelle ein Drucker 4 angeschlossen ist. Ist dies der Fall, fragt der bekannte Druckserver weitere Werte des angeschlossenen Druckers ab.
-
Zudem werden Drucker im Netzwerk nach einem oder mehreren Suchmechanismen gesucht. Folgende Suchmechanismen werden bevorzugt genutzt:
- – Bonjoursuche nach Service Type _ipp._tcp (IPP-Protokoll: Internet Printing Protocol)
- – Bonjoursuche nach Service Type _ipps._tcp (IPPS-Protokoll: sicheres IPP-Protokoll)
- – Suche per SNMP (Simple Network Management Protocol) nach Socket-Verbindungen
- – Bonjoursuche nach Service Type _pdl-datastream._tcp (Socket)
- – Suche per SNMP nach LPD/LPR-Verbindungen
- – Bonjoursuche nach Service Type _printer._tcp (LPD/LPR)
-
Sofern ein Drucker den gesuchten Verbindungstyp (z.B. IPPS) unterstützt, beantwortet er die Suchabfrage indem er seine Druckerinformationen (Hersteller, Modell, Device URI usw.) sendet.
-
Gefundene Drucker, bei denen sich anhand der Druckerinformationen feststellen lässt, dass es sich nicht um physische Drucker, sondern um Queues bzw. Druckerwarteschlangen (z.B. von Printopia oder CUPS so wie von den bekannten Druckservern) handelt, werden dabei in einer Ausgestaltung des Druckservers ignoriert.
-
Schritt b)
-
Ist ein Drucker an die Schnittstelle, insbesondere eine USB-Schnittstelle des Druckservers angeschlossen, werden dessen Informationen direkt zu einem Druckerobjekt zusammengefasst.
-
Die restlichen Suchergebnisse werden geparst, d.h. analysiert und verarbeitet, und – soweit übereinstimmende IP-Adressen gegeben sind – zu zusammengehörigen Druckerobjekten zusammengefasst.
-
Beispiel: Ein Drucker unterstützt die Protokolle IPP („_ipp._tcp“) und Socket (SNMP), d.h. er beantwortet beide Abfragen. Durch die übereinstimmende IP-Adresse werden die Informationen beider Antworten zu einem einzigen Druckerobjekt zusammengefasst.
-
Dabei wird berücksichtigt, dass unter Umständen eine Gruppe von mehreren Druckern existiert, die über die gleiche IP-Adresse erreichbar sind, denen jedoch unterschiedliche Port-Nummern zugeordnet sind. Diese Situation kann z.B. auftreten, wenn die Drucker über einen Printserver in das Netzwerk eingebunden sind. In diesem Fall wird für jeden physischen Drucker ein eigenes Druckerobjekt angelegt.
-
Da ein Drucker unter Umständen über mehrere Suchmechanismen (siehe Schritt a) gefunden wurde, enthält das angelegte Druckerobjekt alle Informationen, die über die jeweiligen Suchmechanismen zurückgegeben wurden. Deshalb wird für das Druckerobjekt nun ein einziges Druckprotokoll ausgewählt, die anderen werden ignoriert. Die Protokoll-Auswahl erfolgt vorzugsweise nach der folgenden Priorität:
- 1) IPP (Service Type _ipp._tcp)
- 2) IPPS (Service Type _ipps._tcp)
- 3) Socket (gefunden via SNMP)
- 4) Socket (Service Type _pdl-datastream._tcp)
- 5) LPD/LPR (gefunden via SNMP)
- 6) LPD/LPR (Service Type _printer._tcp)
-
Die Priorität ist absteigend. Beispiel: Beantwortet ein Drucker die Bonjour-Abfragen für die Service-Typen „_ipps._tcp“ (IPPS) und „_pdl-datastream._tcp“ (Socket), nutzt das angelegte Druckerobjekt das IPPS-Protokoll.
-
Schritt c)
-
In diesem Schritt erfolgt eine Treibersuche, auch „Matching“ genannt. Bei dem Matching werden für die gefundenen Drucker passende Druckertreiber, beispielsweise ein sogenannter PPDs (PostScript Printer Description- Druckertreiber) gesucht. Das Matching läuft vorzugsweise wie in 4 dargestellt ab.
-
In 4 sind Details einer möglichen Ausgestaltung des Schritts c) in Form eines Flussdiagramms wiedergegeben.
-
In einem ersten Schritt c.1) wird überprüft, ob zu dem aktuell aufgefundenen Drucker bereits ein baugleicher Drucker konfiguriert wurde, für den ein bestimmter Druckertreiber (z.B. PPD) bereits einmal manuell ausgewählt wurde. Dieses kann beispielsweise geschehen, indem bereits gespeicherte Druckertreiberzuweisungen daraufhin untersucht werden.
-
Wenn dies der Fall ist, verzweigt das Verfahren zu einem Schritt c.2), in dem der seinerzeit bei dem baugleichen Drucker gewählte Druckertreiber ebenfalls für den aktuell gefundenen Drucker verwendet wird. An dieser Stelle berücksichtigt die automatisierte Druckertreibersuche somit Referenzen eines Administrators, wobei angenommen wird, dass dieser nicht ohne Grund einem manuell ausgewählten Druckertreiber seinerzeit den Vorrang vor automatisiert auffindbaren gegeben hat.
-
Falls im Schritt c.1) festgestellt wurde, dass entweder kein baugleicher Drucker bereits konfiguriert wurde oder für diesen keine Informationen über einen manuell ausgewählten Druckertreiber vorliegen, wird in einem Schritt c.3) eine bevorzugt lokal auf den Druckserver 2 vorliegende Sammlung an Druckertreibern auf einem passenden Druckertreiber untersucht. Diese Druckertreiber sind bevorzugt druckerspezifische, meist vom Hersteller des Druckers herausgegebene Treiber, die einem bestimmten Modelltyp oder einer Modellreihe eines Druckerherstellers zugeordnet sind. Da die im Schritt a) abgefragten Druckerinformationen des gefundenen Druckers den Modelltyp umfassen, kann diese Information hier zur Auswahl des passenden Druckertreibers (Matching) verwendet werden.
-
Dabei kann ein Matching mit sukzessiv abnehmenden Anforderungen vorgesehen sein. Häufig gruppieren Hersteller ihre unterschiedlichen Druckermodelle, beispielsweise indem sie ihnen eine Baureihenbezeichnung, eine Nummerierung und eine Unternummerierung geben. Modelle mit gleicher Baureihenbezeichnung und gleicher Nummerierung weisen häufig fast die gleichen technischen Merkmale auf, unabhängig von der Unternummerierung, die nur spezielle Zusatzmerkmale kennzeichnet. Daher können ein Drucker gleicher Baureihenbezeichnung und gleicher Nummerierung häufig zufriedenstellend mit einem Druckertreiber betrieben werden, der eigentlich für einen Drucker mit anderer Unternummerierung gedacht ist.
-
Daher kann vorgesehen sein, in einem ersten Schritt alle Namensbestandteile (Baureihenbezeichnung/Nummerierung/Unternummerierung) im Matching zu berücksichtigen. Ist der erste Schritt erfolglos, werden in einem zweiten Schritt die Anforderungen gesenkt und nur die ersten beiden Namensbestandteile berücksichtigt (Baureihenbezeichnung/Nummerierung). Ggf. kann ein dritter Schritt vorgesehen sein, in dem nur noch der erste Namensbestandteil (Baureihenbezeichnung) berücksichtigt wird.
-
Wenn im Schritt c.3) ein passender Druckertreiber gefunden wird, verzweigt das Verfahren zu einem Schritt c.4), indem dieser Druckertreiber ausgewählt wird.
-
Falls im Schritt c.3) kein passender Druckertreiber in der internen Druckertreibersammlung gefunden wurde, verzweigt das Verfahren zu einem Schritt c.5), in dem ein sogenannter Kommandostring (CMD-String) untersucht wird. In diesem Kommandostring, der ebenfalls Teil der im Schritt a) abgefragten Druckerinformation ist, teilt ein Drucker üblicherweise mit, ob er in der Lage ist eine der generischen Druckersprachen PostScript® oder PCL zu verstehen.
-
Falls im Schritt c.5) festgestellt wird, dass der Drucker die generische Druckersprache PostScript® versteht, verzweigt das Verfahren zu einem Schritt c.6), indem ein generischer PostScript® Treiber zur Verwendung ausgewählt wird.
-
Falls im Schritt c.5) festgestellt wird, dass der Drucker zwar nicht die generische Druckersprache PostScript® versteht, jedoch die generische Druckersprache PCL, verzweigt das Verfahren zu einem Schritt c.7), indem ein generischer PCL-Druckertreiber zur Verwendung ausgewählt wird.
-
Wird im Schritt c.5) festgestellt, dass der Drucker, für den aktuell ein Druckertreiber gesucht wird, weder PostScript®, noch PCL als generische Druckersprache versteht, verzweigt das Verfahren zu einem Schritt c.8), indem die Treibersuche erfolglos abgebrochen wird.
-
Den verschiedenen möglichen Ergebnissen der Treibersuche gemäß 4 wird eine unterschiedliche Wertigkeit zugeordnet, wie in 4 auch angegeben ist. Wenn im Schritt c.2) ein Druckertreiber zugeordnet wird, wird dieses als sogenannter „user match“ gewertet. Wenn im Schritt c.4) ein Druckertreiber zugeordnet wird, wird dieses als „match“ gewertet. Wenn entweder im Schritt c.6) oder c.7) ein Druckertreiber ausgewählt und zugeordnet wird, wird dieses als „partial match“ bezeichnet. Schließlich wird einer Beendigung des Verfahrens im Schritt c.8) die Wertigkeit „no match“ zugeordnet.
-
Schritt d)
-
Im Rahmen des Schrittes d) werden einige, z.B. 10 Queues automatisch auf dem Druckserver angelegt.
-
Sofern ein USB-Drucker 4 an die Steckerschnittstelle, insbesondere den USB-Port, des Druckservers angeschlossen ist und für ihn ein Druckertreiber gefunden wurde (mit der Wertung „user match“, „match“ oder „partial match“, vgl. Schritt c) bzw. 4), wird für diesen Drucker 4 als erstes eine Queue angelegt.
-
Die verbleibenden 9 bzw. 10 „Queue-Plätze“ werden anhand der restlichen Suchergebnisse gefüllt: Drucker für die kein passender Druckertreiber gefunden wurde („no match“) werden ignoriert.
-
Die verbleibenden Drucker 3, 7 (mit „user match“, „match“ und „partial match“) werden alphabetisch sortiert.
-
In dieser Reihenfolge werden danach die Queues angelegt. Sind eine der maximalen Anzahl entsprechende Anzahl an Druckern – z.B. 10 oder mehr Drucker – gefunden worden, wird nur für die dieser Anzahl entsprechenden Drucker eine Queue angelegt. Die restlichen Suchergebnisse werden verworfen. Sind weniger als die maximale Anzahl an Druckern gefunden worden, werden diese angelegt. Die restlichen „Plätze“ verbleiben leer und können später (bei Bedarf) manuell mit Queues gefüllt werden
-
Vorzugsweise wird mit der Erfindung nicht nur die automatische Druckersuche und Anlage von Queues umgesetzt, sondern es werden zusätzlich zu dem erfindungsgemäßen vollautomatischen Verfahren verschiedene Varianten bzw. Möglichkeiten zur Suche von Druckern im Netzwerk und Anlegen der Queues implementiert, z.B. indem einer oder mehrere der Schritte a) bis d) wahlweise manuell durchgeführt werden.
-
Ein manuelles Anlegen einer Queue steht zudem immer zur Verfügung sofern weniger als die maximale Anzahl an Queues auf dem Druckserver angelegt sind.