-
Die
vorliegende Erfindung bezieht sich allgemein auf eine Scansteuernetzsoftware
und -firmware, d. h. eine in ein System eingebettete Software. Insbesondere
betrifft die vorliegende Erfindung eine Software und Firmware für eine interaktive
Server-Client-Unterstützung
von Peripheriegeräten,
einschließlich
Scanfunktionen, über
ein Netz mit einem Web-Browser.
-
Scan-
bzw. Abtastperipheriegeräte
werden ein immer größeres Segment
der Peripheriegeräte-Industrie.
Benutzer halten derartige Peripheriegeräte als Einrichtung zur Eingabe
von Text, Graphiken und Bildern nützlich. Viele Softwareanwendungen
erlauben heute eine Manipulation und Verwendung derartiger Daten.
Einige Peripheriegeräte
kombinieren ein Scannen mit anderen Funktionen. Diese Multifunktionsperipheriegeräte sind
beliebt, teilweise aufgrund ihrer Fähigkeit, mehrere nützliche
Funktionen in eine einzelne Vorrichtung zu kombinieren. Verkäufer von
Multifunktions- und Abtastperipheriegeräten liefern üblicherweise
eine kundenspezifische Software, die Nutzen aus den Merkmalen des
Peripheriegeräts
zieht. Üblicherweise
jedoch ist die kundenspezifische Software geschrieben, um nur mit
einer einzelnen Vorrichtung über
eine lokale Schnittstelle, wie z. B. einen SCSI-Bus oder ein Parallelport,
zu kommunizieren. Während
derartige bekannte Lokalschnittstellenentwürfe einfach sind, können sie
keine Probleme angehen, die auftreten, wenn das Peripheriegerät an ein
Netz angeschlossen ist.
-
Ein
Problem besteht für
die Verwendung eines derartigen Peripheriegeräts über eine lokale Schnittstelle,
da die kundenspezifische Software für das Peripheriegerät entwickelt
und getestet werden muss, um auf verschiedenen Computerbetriebssystemen
zu laufen, wie z. B. WINDOWS®, WINDOWS NT®, MACINTOSH® und
UNIX®.
Probleme multiplizieren sich in einem Netz, da eine Software angepasst
werden muss, um unter Verwendung der eindeutigen Steuersprache der
Vorrichtung mit der Vorrichtung über
das Netz zu kommunizieren. Um z. B. ein Scannen zu erzielen, muss
ein Endbenutzer oder Netzadministrator eine spezielle Software bei
jedem Clienten installieren, der mit dem Netzperipheriegerät scannen
möchte.
-
Ein
weiteres Problem bei der gemeinschaftlichen Verwendung eines Peripheriegeräts auf einem Netz
ist eine Konkurrenz. Eine Konkurrenz tritt auf, wenn mehrere Benutzer
versuchen, gleichzeitig auf die gleiche Vorrichtung zuzugreifen.
Zwei Benutzer z. B. könnten
versuchen, ein Scannen von ihren Client-Personalcomputern (-PCs)
zu dem gleichen Netzperipheriegerät einzuleiten. Eine Konkurrenz
tritt auf, da das Peripheriegerät
zu einer Zeit nur eine Scananforderung handhaben kann. Zusätzlich entwickelt
sich eine Konkurrenz, wenn ein Benutzer versucht, ein Scannen einzuleiten,
während
ein anderer Benutzer die Vorrichtung gerade als einen Drucker oder
einen Zugangskopierer verwendet. Konkurrenz kann auch auftreten,
wenn ein weiterer Benutzer versucht, einen neuen Scanvorgang zwischen
den Seiten eines Multiscanauftrags einzuleiten.
-
Zusätzliche
Probleme entstehen bei existierenden Scanservern, die Veränderungen
bei dem Peripheriegerätstatus
in Bezug auf Benutzerverfügbarkeit
und Verwendung nicht dynamisch erfassen und automatisch anzeigen
können.
Ferner liefern existierende Scanserver keine Fähigkeit für einen Clienten, ein Bild
vorher anzusehen und abzuschneiden, um nur eine Region von Interesse
zu scannen. Ähnlich
gibt es keine Fortgangsrückkopplung,
die mit fortschreitendem Scanvorgang von dem Server an den Clienten
geliefert wird, wobei so der Client von seiner eigenen Fortgangsaktualisierungsfunktionalität abhängt, die
nur dann funktioniert, wenn der Client die Größe des Scanauftrags kennt.
Diese Nachteile sind bei bekannten Verfahren zum Verwenden eines Web-Browsers
zum Einleiten eines Scanvorgangs über ein Netz besonders sichtbar,
da derartige herkömmliche
Verfahren keine dynamische Wechselwirkung zwischen einem Clienten
und einem Server liefern. Statt dessen ist der Web-Browser nur in
der Lage, das Peripheriegerät
zu adressieren und die Scanergebnisse zu empfangen. So könnten selbst
herkömmliche
Scanserver, auf die über
einen Web-Browser über
ein Netz zugegriffen werden kann, um den Bedarf nach einer zweckgebundenen Software
auf jedem Clienten zu vermeiden, von Verbesserungen, die eine größere Wechselwirkung
zwischen Client und Server umfassen, sowie einer größeren Funktionalität profitieren,
die von dem Server für
den Clienten bereitgestellt wird.
-
Die
nicht veröffentlichte
WO 99/15955 A des Stands der Technik, die gemäß Artikel 54 (3, 4) EPÜ Stand der
Technik bildet, offenbart ein System, das eine entfernt angeordnete
Kopier- oder Druckvorrichtung nutzen kann. Ein Benutzer eines entfernten Computers
startet ein Softwareanwendungsprogramm eines Web-Browsers. Der Benutzer
gibt die Internet- oder Intranet-Adresse des Kopierers/Druckers
ein. Der Web-Browser stellt eine HTTP-Verbindung zu dem Web-Server
her. Der Server lädt
ein HTML-Dokument und ein Java-Applet von dem HTML-Dokument und
von den Java-Dateien herunter. Das Java-Applet liefert Zugang zu
dem Kopierer/Drucker. Jeder entfernte Computer ist mit einem Scanner
verbunden. Deshalb betrifft diese Schrift kein Verfahren zum Betreiben
eines Scanperipheriegeräts
in einem Netz, das einen Clienten, der eine Universalsoftwarefähigkeit
aufweist, sowie einen Server umfasst, der mit dem Scanperipheriegerät verbunden
ist. Diese Schrift lehrt kein Scanverwaltungs-Applet. Diese Schrift lehrt keinen Schritt
eines Einleitens einer Abtastanforderung eines Universalressourcenlokalisators
durch den Clienten.
-
Die
EP 0 767 575 A2 offenbart
ein Scanner-Server-System, das eine Farbscannervorrichtung aufweist,
die mit einem Scanner-Server verbunden ist. Eine Mehrzahl von Client-Computern kann auf
den Scanner-Server durch ein Netz zugreifen, so dass ein spezifischer
Scanauftrag durch den Farbscanner durchgeführt wird.
-
Die
US 5,754,830 offenbart ein
Computernetz, das ein Client-System und ein Vorläufer-Host-System aufweist.
Ein einheitlicher Ressourcenlokalisator, der dem Vorläufer-Host-System zugeordnet
ist, wird von einem Web-Browser, der auf einem Client-System ausführt, ausgewählt. Der
ausgewählte
einheitliche Ressourcenlokalisator wird durch einen Server empfangen,
der eine ausführbare
Umhüllung
für einen
Applet-Prozess an das Client-System zur Verbindung mit dem Vorläufer-Host-System herunterlädt. Dann
führt der
Client den Applet-Prozess unter dem Web-Browser aus.
-
Folglich
besteht eine Aufgabe der vorliegenden Erfindung darin, ein verbessertes
Verfahren zum Betreiben eines Scanperipheriegeräts in einem Netz, das zumindest
einen Clienten und einen Server umfasst, bereitzustellen, sowie
ein System, das ein Scanperipheriegerät aufweist, in einem Netz,
das zumindest einen Clienten und einen Server umfasst, die das Auftreten
einer Konkurrenz vermeiden.
-
Diese
Aufgabe wird durch ein Verfahren gemäß Anspruch 1 oder einen Server
gemäß Anspruch 22
gelöst.
-
Eine
weitere Aufgabe der vorliegenden Erfindung besteht darin, ein derartiges
Verfahren bereitzustellen, bei dem ein Server Informationen erfasst und
an den Clienten liefert, so dass der Client Veränderungen an dem Status des
Peripheriegeräts
in einer Web-Browser-Schnittstelle anzeigen kann.
-
Eine
weitere Aufgabe der vorliegenden Erfindung besteht darin, ein derartiges
verbessertes Verfahren bereitzustellen, das es einem Clienten erlaubt, mit
einem Server durch eine Web-Browser-Schnittstelle zu kommunizieren
und einen Scanauftrag zu steuern, um einen erwünschten Abschnitt eines vorher
gezeigten gescannten Bildes für
einen letztendlichen Scanvorgang vorher zu zeigen und auszuwählen.
-
Wiederum
eine weitere Aufgabe der vorliegenden Erfindung besteht darin, ein
derartiges verbessertes Verfahren bereitzustellen, das mit fortschreitendem
Vorschauscanvorgang eine Fortgangsrückkopplung von dem Server an
den Clienten liefern kann.
-
Wiederum
eine weitere Aufgabe der vorliegenden Erfindung besteht darin, ein
derartiges verbessertes Verfahren bereitzustellen, das auf verschiedenen
Betriebssystemen laufen kann.
-
Eine
weitere Aufgabe der vorliegenden Erfindung besteht darin, ein derartiges
verbessertes Verfahren bereitzustellen, das Mehrseitenscanvorgänge und
Konkurrenzprobleme, die auf dem Netz existieren, handhaben kann.
-
Zusammenfassung
der Erfindung
-
Die
vorliegende Erfindung schafft ein interaktives, vernetztes Client-Server-Scanverfahren,
das durch eine Web-Browser-Schnittstelle
auf einem Clienten gestartet und aktiv verwaltet wird. Ein Server des
Verfahrens spricht auf eine Universal-Ressourcenlokalisator-Adresse,
die den Server identifiziert, mit einem Universalformatsoftwareprogramm
an, das eine Schnittstelle in dem Client-Web-Browser erzeugt und
es dem Clienten ermöglicht,
mit dem Server beim Einleiten, Verändern und Überwachen von Scanaufträgen und
verwandten Daten in Wechselwirkung zu stehen.
-
Bei
einem bevorzugten Ausführungsbeispiel der
Erfindung spricht ein Server auf eine Client-Scananforderung an,
indem dem Client ein Java-Applet gesendet wird, das in einer Java-Virtuellen-Maschine (Java
Virtual Machine) des Client-Web-Browsers läuft und eine Client-Server-interak tive
Scansteuerung durch eine Benutzereingabe in die Webseite erlaubt.
Eine Parameterauswahl und -veränderung sind
ebenso eine bevorzugte Funktionalität, die für eine Auswahl und Veränderung
an der Client-Schnittstelle durch das Java-Applet, das durch den Server bereitgestellt
wird, ermöglicht
wird. Der Server übersetzt
und formatiert Daten für
den Clienten und führt außerdem vorzugsweise
eine Gammakorrektur während
des Betriebs an Daten vor einem Übertragen derselben
an den Clienten durch. Weitere bevorzugte Merkmale umfassen ein
Mehrseitenscannen, eine Vorschau und eine Bildbereichsauswahl.
-
Kurze Beschreibung
der Zeichnungen
-
Weitere
Aufgaben, Merkmale und Vorteile werden nach einem Lesen der folgenden
detaillierten Beschreibung in Verbindung mit den beigefügten Zeichnungen
besser ersichtlich werden. Es zeigen:
-
1 eine Übersicht
eines Netzsystems, in dem das vorliegende Verfahren vorzugsweise
angewendet wird;
-
2A bis 2D Flussdiagramme,
die Funktionen des vernetzten Scan-Server-Verfahrens der vorliegenden
Erfindung darstellen;
-
3 eine
bevorzugte Web-Scan-Homepage;
-
4 eine
bevorzugte Web-Scan-Benutzerschnittstellenseite;
-
5 eine
bevorzugte Web-Scan-Benutzerschnittstellenseite mit einem Vorschaufortgangsbalken;
-
6 eine
Tabelle, die einen bevorzugten Satz von Gammakorrekturwerten anzeigt;
und
-
7 eine
bevorzugte Web-Scan-Benutzerschnittstellenseite, die ein Vorschauscanbild
zeigt, das zur Scanbearbeitung verfügbar ist.
-
Tabelle der
Abkürzungen
-
Dieses
Patent verwendet mehrere Abkürzungen.
Die folgende Tabelle ist vorgesehen, um den Leser beim Bestimmen
der Bedeutung der mehreren Abkürzungen
zu unterstützen:
- ADF
- = automatische Dokumentenzuführungseinrichtung
- CPU
- = zentrale Verarbeitungseinheit
- dpi
- = Punkte pro Zoll
- HTML
- = Hypertext-Markierungssprache
- HTTP
- = Hypertext-Übertragungsprotokoll
- ID
- = Identifizierung
- IFD
- = Bilddateiverzeichnis
- MFPDTF
- = Multifunktionsperipheriegerät-Datenübertragungsformat
- MIB
- = Verwaltungsinformationsbasis
- PC
- = Personalcomputer
- RAM
- = Direktzugriffsspeicher
- SCL
- = Scannersteuersprache
- SNMP
- = Einfachnetzverwaltungsprotokoll
- TIFF
- = Etikettbilddatei-Format
- URL
- = Universal-Ressourcenlokalisator.
-
Detaillierte
Beschreibung
-
Breit
ausgedrückt
richtet sich die vorliegende Erfindung auf ein Verfahren, das durch
eine Software, Firmware und Hardware realisiert ist, das einen Web-Browser
verwendet, um Scanperipheriegeräte über ein
Netz zu unterstützen,
und das eine interaktive Server-Client-Scanbeziehung erzeugt, indem
für den
Client ein Universalsoftwareprogramm bereit gestellt wird, das eine
Kommunikation zwischen dem Server und dem Client erlaubt, um Aktionen
eines Serverscanauftragsprogramms einzuleiten und zu steuern und
dem Benutzer Anzeigen durch den Clienten zu liefern.
-
Das
vorliegende Verfahren verwendet vorzugsweise JAVA®-Applets, die kleine
Anwendungen sind, die in der JAVA©-Sprache geschrieben
sind. Die JAVA®-Applets
laufen auf einer JAVA®-Virtuellen-Maschine,
die als Teil eines Universal-Web-Browsers vorliegt, wie z. B. NETSCAPE
NAVIGATOR® oder
MICROSOFT INTERNET EXPLORER®. Da der Web-Browser geschrieben
ist, um auf den meisten Betriebssystemen zu laufen, wie z. B. WINDOWS®, WINDOWS
NT®,
MACINTOSH® und
UNIX®,
kann das JAVA®-Applet
auf den verschiedenen Betriebssystemen ohne den Bedarf, unterschiedliche
kompilierte Versionen des Applets für jedes System zu erzeugen
und testen zu müssen,
laufen.
-
Bezug
nehmend auf die Zeichnungen und insbesondere auf 1 ist
das JAVA®-Applet
in einem Permanentspeicher eines Netzperipheriegerätservers 10 gespeichert,
wie z. B. JETDI-RECT EX-Box
von Hewlett-Packard. Die JETDIRECT EX-Box ist in einem Benutzerhandbuch
von Hewlett-Packard Teil Nr. 5967-2290 gezeigt und beschrieben.
Es sollte jedoch zu erkennen sein, dass die Funktionen des Servers 10 z.
B. als Teil einer Karte durchgeführt
werden können,
die über
eine Busschnittstelle eine Verbindung zu dem Peripheriegerät herstellt,
oder als Teil einer internen zentralen Verarbeitungseinheit (CPU)
des Peripheriegeräts 16.
Das JAVA®-Applet wird an einen
Clienten 12 geliefert, wenn dies nötig ist, so muss der Benutzer
oder ein Systemverwalter keine neue Software auf jedem Clienten 12 installieren,
um z. B. Netzscanvorgänge durchzuführen. Der
Server 10 verbindet ein Netz 14 mit einem Peripheriegerät 16,
wie z. B. einem Drucker oder einem Scanner. Die Standardfunktionalitäten eines
JETDIRECT-Servers, auf den das vorliegende Verfahren vorzugsweise
angewendet wird, bleiben erhalten. So könnte ein Server der Erfindung Teil
einer JETDIRECT- oder einer ähnlichen
Vorrichtung sein, die auch als ein Netzdruckserver dient. Wie in
der Technik bekannt ist, stellen JETDI-RECT-Druckserver eine Verbindung zu
einem Netzport durch eine Netzschnittstelleneinheit her und erlauben
es Clienten, eines oder mehr Druckperipheriegeräte zu verwenden, die mit dem
JETDIRECT-Server verbunden sind.
-
Die
allgemeine Funktionalität
des bevorzugten Verfahrens für
einen interaktiven Client-Server-Netzscanvorgang unter Verwendung
eines Web-Browsers ist in den 2A–2D dargestellt. Zu
Beginn stellt der Client 12 eine Verbindung zu dem Server 10 her,
wenn der Benutzer einen Universal-Ressourcenlokalisator (URL), der die
Adresse des Servers 10 identifiziert, in einen Web-Browser eingibt,
um eine Hypertext-Übertragungsprotokoll- (HTTP-)
Verbindung zu dem Server 10 zu öffnen, oder weist den Browser
des Clienten 12 anderweitig an, eine Verbindung zu dem
Server 10 herzustellen (Block 18). Eine Verbindung
wird zwischen dem Client-Browser
und dem Server 10 eingerichtet (Block 19) und
ein Scanverwaltungsapplet wird von dem Server 10 an den
Client 12 gesendet (Block 20). Das Applet läuft auf
der Java-Virtuellen-Maschine
des Web-Browsers, um den Web-Browser mit dem Server 10 zu
verbinden und eine geeignete Schnittstelle für eine Scanwechselwirkung durch
einen Benutzer auf der Clientenseite bereitzustellen. Eine bevorzugte
anfängliche
Schnittstelle ist in 3 gezeigt und wird durch das
Applet erzeugt.
-
Das
vorliegende Verfahren sorgt für
den Fall, dass ein einzelner Server mehrere Scanperipheriegeräte, bevorzugterweise
MFPs, mit dem Netz durch ein einzelnes Netzport verbindet. Die Verwaltungsapplets
erhalten entsprechend Konfigurationsinformationen, wie z. B. die
Anzahl von Ports, die auf dem Server 10 vorliegen, Namen
des Peripheriegeräts oder
der Peripheriegeräte 16,
die mit dem Server 10 verbunden sind, und Fähigkeiten
der angeschossenen Peripheriegeräte 16.
Wenn mehrere Peripheriegeräte
angeschlossen sind, könnte
ein Benutzer die Homepage aus 3 verwenden,
um ein erwünschtes
Peripheriegerät
auszuwählen
(Block 22).
-
Um
Peripheriegerätkonfigurationsinformationen
zu erhalten, benötigt
das Verwaltungsapplet Informationen von dem Peripheriegerät 16.
Eine Art und Weise für
den Server, diese Informationen zu erhalten, ist von der Vorrichtungs-ID-Zeichenfolge, die Teil
des IEEE-1284-Protokolls ist. Die Vorrichtungs-ID-Zeichenfolge ist
eine Textzeichenfolge, die die Vorrichtung und ihre Fähigkeiten
beschreibt. Wenn der Server 10 gestartet wird oder ein
Peripheriegerät 16 mit
dem Server 10 verbunden wird, fragt eine Scanprogramm-Gateway-Software
auf dem Server 10 das Peripheriegerät 16 ab und gewinnt
die Vorrichtungs-ID-Zeichenfolge wieder. Nachfolgend parst bzw.
analysiert syntaktisch der Server 10 die Vorrichtungs-ID-Zeichenfolge
und bestimmt, ob das Peripheriegerät 16 die Scanfunktion
und die Sprache, die zur Kommunikation mit dem Scanner verwendet
werden, unterstützt.
Der Server 10 sucht spezifische Vorrichtungsnamen, wie
z. B. Hewlett-Packard OFFICEJET PRO® 1150
oder OFFICE-JET PRO® 1170C
SERIES, und beobachtet ein Befehlscodefeld für Scansprachen, wie z. B. Scannersteuersprache
(SCL), und ein Datenübertragungsformat des
Multifunktionsperipheriegeräts 16 (MFPDTF),
für das
MFPDTFI (Version 1) ein Beispiel ist.
-
Das
Applet gewinnt die gleiche Vorrichtungs-ID-Zeichenfolge von dem
Server 10, wenn das Applet auf dem Client 12 gestartet
wird, über
eine Einfachnetzverwaltungsprotokoll(SNMP-) Abfrage wieder. Das
SNMP ist ein Protokoll, das unter Verwendung von Verwaltungsinformationsbasis-
(MIB-) Objektwerten kommuniziert und üblicherweise verwendet wird,
um Netzvorrichtungen zu konfigurieren und verwalten. Während die
vorliegende Erfindung das SNMP-Protokoll verwendet, kommt in Betracht, dass
andere Protokolle, die die gleichen Charakteristika wie das SNMP-Protokoll
umfassen, verwendet werden können.
So kann das Applet mehrere unterschiedliche Scanvorrichtungen erkennen
und befehligen, wenn der Server 10 diese Vorrichtungen
unterstützt.
Das Applet erzeugt die Client-Web-Schnittstelle (3),
um nur diejenigen Vorrichtungen anzuzeigen, die unterstützt werden.
-
Nach
der Auswahl eines Peripheriegeräts durch
die Homepage-Schnittstelle
aus 3 kann, wenn eine derartige Option von dem Server
verfügbar
ist, der Benutzer auf eine Scanseite, durch die Homepage aus 3,
z. B. durch ein Anklicken eines „Scannen"-Knopfs auf der Client-Schnittstelle, die
durch das Applet erzeugt wird, zugreifen (Block 24). Eine
Web-Scan-Benutzerschnittstellenseite, in 4 gezeigt,
wird auf die Auswahl von „Scannen" hin von dem Server 10 an
den Web-Browser zurückgegeben.
Der Web-Browser lädt
dann Scan-Applets aus einem Permanentspeicher auf dem Server 10 herunter
(Block 26), um Kommunikationen mit dem Server für die verschiedenen
Benutzeroptionen und Anzeigen, die in der Scanschnittstelle aus 4 gezeigt
sind, zu ermöglichen.
Dies startet separate Statusteilprozesse und Scanteilprozesse, die
einzeln eine Client-Server-Wechselwirkung für den Web-Browser für jeweilige
Peripheriegerätstatus-Kommunikationen
und Scandienst-Kommunikationen ermöglichen.
-
Das
periodisch aktualisierte Ergebnis des Status-Teilprozesses wird
vorzugsweise auf der Client-Browser-Schnittstelle als eine Anzeige
vorgelegt, wie z. B. „Scannerstatus:
bereit", „Scannerstatus:
offline", „Scannerstatus:
in Verwendung",
usw. Client und Server kooperieren, um die periodische Anzeige als
eine parallele Operation zu Scanoperationen zu erzeugen, nachdem
ein Client 12 ein Peripheriegerät ausgewählt hat. Der Client fragt den
Status ab und der Server antwortet (Block 28). Der Browser
zeigt dann den Status an (Block 30). Eine Pause mit vorbestimmter
Länge vergeht
(Block 32), bevor der Browser wieder den Status des Peripheriegeräts über eine
Anforderung an den Server 10 abfragt (Block 28).
Das Peripheriegerät 16 gibt
Daten an den Server 10 zurück, um anzuzeigen, dass es
nicht verfüg bar
ist, wenn z. B. ein Deckel des Peripheriegeräts 10 offen ist oder
ein Benutzer gerade eine Kopie mit dem Peripheriegerät 16 macht.
Weitere Optionen auf dem Bildschirm aus 4 sind ebenso
für den
Benutzer verfügbar,
einschließlich
einer Modifizierung von Parametern, während die Statusanzeige kooperativ
zwischen dem Server 10 und dem Client 12 läuft.
-
Auf
ein Starten des Scanteilprozesses hin bestimmt das Applet die Fähigkeiten
des Peripheriegeräts 16 unter
Verwendung der von dem Server 10 wiedergewonnenen Vorrichtungs-ID-Zeichenfolge. Das
Applet bestimmt, ob das Peripheriegerät 16 eine Vorschau
unterstützt
(Block 34), d. h. einen Flachbett-Scanner verwendet, wobei,
falls dies der Fall ist, der „Vorschau"-Knopf auf der Scan-Seiten-Clientschnittstelle
(4) freigegeben wird, so dass der Benutzer auswählen kann,
das gerade gescannte Bild vorher anzusehen (Block 36).
Da ein auf einem Flachbett-Scanner platziertes Bild während des Scannens
feststehend bleibt, kann ein Flachbett-Scanner eine Vorschau durch
ein wiederholtes mehrmaliges Scannen des Bilds unterstützen. Das Applet
bestimmt nachfolgend andere Fähigkeiten des
Peripheriegeräts
aus der Vorrichtungs-ID-Zeichenfolge, wie z. B. die unterstützte Scanauflösung, Farbtiefe
und Papiergröße. Das
Applet führt
entsprechende Einstellungen an der Benutzerschnittstelle aus 4 durch,
so dass die Benutzerschnittstelle den unterstützten Fähigkeiten des Peripheriegeräts entspricht.
Dies schließt
Server-Client-Wechselwirkungen durch das Applet in Bezug auf ein
Vorlegen der dynamischen Benutzerschnittstelle aus 4 für einen
Benutzer an dem Clienten 12 ab und das Applet wartet dann
auf Scanaktionen, die durch die Schnittstelle einzugeben sind (Schritt 38).
-
Bevorzugte
mögliche
Aktionen umfassen ein Scan-Herunterladen, ein Vorschau-Herunterladen (falls
vorhanden) und eine Scanparameterveränderung, wobei Auswahlen dessen
durch die Schnittstelle aus 4 durchgeführt werden
und dazu führen, dass
das Verwaltungsapplet in dem Client 12 Teilprozesse startet,
um jede verfügbare
Funktion zu erzielen (Block 40). Parameterveränderungen
werden durch das Applet zur Verwendung bei Scanaufträgen gespeichert
(Block 42). Vorzugsweise umfassen Parameter Papiergröße, Auflösung in
Punkten pro Zoll (dpi), einen Bildtyp (d. h. Farbbild, Farbzeichnung, usw.),
Farbtiefe (d. h. Farbe, Schwarz und Weiß oder Grauskalierung) und
ein Bildformat, wie z. B. TIFF, und ähnliche Parameter. Wenn der
Benutzer keine Scanparameter modifiziert, werden Vorgabeeinstellungen
gespeichert; z. B. eine Papiergröße von 8½ × 11, eine
auf 300 in dpi eingestellte Auflösung,
eine Farbtiefe einer Farbe, und das Bildformat wird auf TIFF gesetzt.
Eine Vorschau könnte
gestartet werden, falls verfügbar.
Schließlich
führt die
Auswahl eines Knopfs „Herunterladen
des gescannten Bilds" dazu,
dass das Applet in dem Client 12 einen Scanauftrag einleitet
(Block 44). Die letzten beiden Operationen führen dazu,
dass jeweilige Teilprozesse eines Scan-Herunterladen-Vorgangs, 2B,
und einer Vorschau, 2C, durch das Applet gestartet
werden. In jedem Fall fährt
der Client 12 nach dem Starten einer dieser Aktionen fort,
um auf zusätzliche
Aktionen zu warten, während
die Teilprozesse ausgeführt
werden (Block 38). Wie oben erwähnt wurde, läuft auch
die Status-Client-Server-Wechselwirkungsschleife (Blöcke 28– 32)
weiter.
-
Nach
einer Scan-Herunterladen-Auswahl, wie in 2B zu
sehen ist, öffnet
der Client 12 eine Server-Verbindung und kommuniziert einen
Scanauftrag an den Server 10, einschließlich der gespeicherten Parameter
(Block 46). Der Server 10 parst oder extrahiert
die Scanparameter, wie z. B. Bildtyp, Bildformat, Papiergröße und Auflösung in
dpi, nacheinander aus einer Zeichenfolge der Parameter (Block 48).
Wenn der Benutzer keinen erforderlichen Parameter bezeichnet hat,
füllt der
Server 10 Vorgabeparameter für ein bestimmtes Peripheriegerät 16 ein. Als
nächstes
prüft der
Server 10 eine interne Tabelle, um zu bestimmen, ob der
Parameter außerhalb
des Bereichs annehmbarer Parameter für das bestimmte Peripheriegerät 16 ist
(Block 50). Der Server 10 bestimmt den Typ des
Peripheriegeräts 16 durch
die Vorrichtungs-ID-Zeichenfolge des Peripheriegeräts 16.
So gibt, wenn das Peripheriegerät 16 keine
bestimmte Papiergröße unterstützt, der
Server 10 eine Fehlernachricht an den Client 12 zurück (Block 52) und
beendet die Herunterladeverbindung (Block 54). Weitere
Aktionen werden durch das Warten auf eine Benutzereingabe eingeleitet
(Block 38), die in dem Client 12 nach einem Starten
zu dem Scan-Herunterladen-Teilprozess
weitergingen.
-
Nach
einem Setzen der Parameter drückt der
Benutzer einen „HERUNTERLADEN
DES GESCANNTEN BILDES"-Knopf
oder klickt denselben an. Aus Sicherheitsgründen, nämlich um zu vermeiden, dass
Informationen aus dem Web eintreten und die Festplatte eines PCs
löschen,
können
JAVA®-Applets
nur auf Ressourcen innerhalb ihres „JAVA®-Sandkastens" zugreifen. Bei der
vorliegenden Erfindung ist der „JAVA®-Sandkasten" durch einen Direktzugriffsspeicher
(RAM) auf dem PC und Netzverbindungen zurück zu dem Server 10 definiert.
Da das Applet in dem Client nicht direkt mit dem Scanner und der
Festplatte des PCs kommuniziert, ruft das Applet den Web-Browser auf, um das
gescannte Bild herunterzuladen (Block 60), um eine Bildspeicherung auf
der Festplatte des Client zu erzielen. Um das gescannte Bild herunterzuladen,
bewirkt das JAVA®-Scan-Rpplet, dass der
Browser eine Verbindung auf einem Scan-Port öffnet und eine HTTP-Anforderung
zum Starten eines Scanvorgangs ausgibt. Das Web-Scanprogramm in
dem Server 10 serviert das Bild in einem Format, das der
Browser erkennt, wie z. B. TIFF. Der Browser behandelt dies wie
jede heruntergeladene Datei und fordert einen Benutzer auf, die serverformatierte,
z. B. TIFF-, Datei auf einer Platte zu speichern oder dieselbe anzuzeigen,
z. B. unter Verwendung einer Bildverarbeitungsanwendung. Sobald
ein Benutzer ein Festplattenziel auswählt, bringt das Scanprogramm
in dem Server 10 die gescannten Bilddaten in einen Strom
zu dem Browser, der dieselben an die Platte richtet. Es kommt jedoch
in Betracht, dass gescannte Bilder direkt auf eine Festplatte oder
eine Computeranwendung geladen werden können, wenn Applets eine ausreichende
Ebene einer Erlaubnis zum Zugriff auf lokale Ressourcen erhalten.
-
Gab
es keine Parameterfehler, prüft
der Server 10 als nächstes,
ob das durch den Client-Scanauftrag angeforderte Peripheriegerät verfügbar ist (Block 56).
Falls es nicht verfügbar
ist, wird eine Fehlernachricht zurückgegeben (Block 58)
und der Teilprozess endet (Block 54). Die Verfügbarkeitsprüfung ist
hier nötig,
da ein Benutzer auswählen
könnte,
trotz der Anzeige eines nicht-verfügbaren Status in der Client-Benutzerschnittstelle
herunterzuladen. Falls das Peripheriegerät verfügbar ist, lässt der Server 10 seinen
Scanteilprozess weiter laufen. Parameter werden an das Peripheriegerät gesendet
(Block 60) und der Server verwendet die Parameter zum Aufbau
eines TIFF-Anfangsblocks (Block 62), unter der Annahme,
dass ein TIFF-Dateiformat in dem durch den Client 12 gesendeten
Scanauftrag angefordert wurde. Andere serverunterstützte Formate
könnten ähnlich durch
das Server-Scanprogramm gehandhabt werden. Eine Scanoperation wird
dann durch das Server-Scanprogramm eingeleitet, das eine MIB auf AKTIV
setzt (Block 64) und einen letzten Scanteilprozess startet
(Block 66). Beim Aufbauen des TIFF-Anfangsblocks empfängt der
Server 10 eine Antwort für jeden Parameter von dem Peripheriegerät 16 und verwendet
die Antworten zum Aufbauen des Anfangsblocks, der ein TIFF-Bild
erlaubt, das eine Software auf dem PC des Benutzers anzeigen kann.
Das TIFF-Format besteht aus einem TIFF-Anfangsblock, gefolgt durch ein TIFF-Bilddateiverzeichnis
(-IFD), dem Daten für
das tatsächliche
Bild folgen. Der Server 10 gibt den TIFF-Anfangsblock an
das Client-Scan-Applet
zurück
und gibt den Befehl an das Peripheriegerät 10 aus, einen Scanvorgang
zu beginnen (Block 66). Ein Setzen des MIB-Objekts auf AKTIV
(Block 64) informiert andere Clienten, dass der Scanner
besetzt ist.
-
Um
das Bild vorher zu betrachten, drückt der Benutzer einen „VORSCHAU"-Knopf, der auf der Scanschnittstelle
des Clien ten angezeigt wird, oder klickt denselben an. Wenn der
Benutzer den „VORSCHAU"-Knopf anklickt,
startet das Scan-Applet
in dem Clienten einen Vorschau-Teilprozess, der eine Verbindung
an dem Scan-Port des Servers 10 öffnet (Block 68).
Der Erfolg, wie z. B. Verfügbarkeit
des Peripheriegeräts,
wird geprüft
(Block 70) und ein Fehlschlag führt zu einer Fehlernachricht
und der Beendigung des Vorschau-Teilprozesses
(Block 72). Ein Fehlschlag könnte auch resultieren, wenn
der Scanner nicht in der Lage ist, eine Vorschaufunktion zu implementieren.
Andernfalls wird das Server-Scanprogramm eingeleitet, wobei Vorschauparameter
an das Peripheriegerät
gesendet werden und der letztendliche Scanteilprozess gestartet
wird (Block 74). Die Vorschau-Scanparameter werden vorzugsweise durch
den Server gehalten und sind vorzugsweise Niederauflösungsparameter,
d. h. mit niedriger dpi-Zahl. Die Anzeige des Vorschaubildes in
der Benutzerschnittstelle erlaubt die Auswahl eines Abschnitts eines
Bildes für
einen letztendlichen Scanvorgang, um z. B. ein Bildabschneiden und
andere Operationen während
des letztendlichen Scanvorgangs zu ermöglichen. Diese werden durch
eine Parameterveränderung
ausgeführt,
oder durch ein graphisches Auswählen
eines Abschnitts des Vorschaubildes, wobei Informationen hierüber an den
Server gesendet werden, wenn ein letztendlicher Scanteilprozess
gestartet wird, basierend auf einer Auswahl eines Abschnitts eines
Vorschaubilds. Der Vorschau-Teilprozess überwacht auch den Fortgang
des Bildherunterladens, wie in 5 gezeigt
ist, wo ein Vorschaufortgang-Balken für einen Benutzer angezeigt
wird, wenn der Server den Vorschauscanvorgang ausführt und
das Client-Scan-Applet die Anzeige aktualisiert. Das Applet unterteilt
die an den Client 12 gesendeten Daten nach der Inhaltslänge des
gescannten Bildes, um Daten bereitzustellen, die zur Aktualisierung
des Fortgangsbalkens nötig
sind. Der Vorschauknopf verändert
sich zu „Vorschau
abbrechen", um ein
Abbrechen der Vorschau vor Fertigstellung des Auftrags zu ermöglichen.
-
Bevor
ein Bild gescannt wird, gibt der Server 10 eine Inhaltslänge des
gescannten Bildes plus ein Byte an das Scan-Applet in dem Clienten 12 zurück. Das
eine zusätzliche
Byte wird zu der Inhaltslänge hinzugefügt, so dass
das Scanprogramm des Servers 10 das Schließen der
Verbindung zu dem Scanner steuern kann, bevor der Web-Browser eine
Gelegenheit zum Schließen
der Verbindung hat. Nachfolgend empfängt der Server 10 Daten
von dem Scanner und sendet die Daten an das Applet in dem Clienten 12.
Wie in 5 gezeigt ist, aktualisiert das Scan-Applet in
dem Client den Fortgangsbalken, wenn es Daten empfängt.
-
Ob
die letztendlichen Scanteilprozess-Funktionen, die durch das Server-Scanprogramm
ausgeführt
werden, durch den Vorschau- oder Scan-Herunterladen-Teilprozess
gestartet wurden, diese sind die gleichen, wobei nur die verwendeten
Parameter unterschiedlich sind. Bezug nehmend auf 2D empfängt der
Server ein Ereignis (Block 76) in der Form einer Kommunikation
von dem Peripheriegerät, nachdem
die Ausführung
eines Scanauftrags begonnen hat. Dies könnte ein Fehler sein, bei dem
ein Fehlerwiedergewinnalgorithmus ausgeführt wird (Block 76)
und der letztendliche Scanteilprozess endet (Block 80).
Eine bevorzugte Fehlerwiedergewinntechnik ist in der ebenfalls anhängigen Anmeldung mit
gleichem Eigentümer
von Scoville u. a., die gleichzeitig mit dieser Anmeldung eingereicht
wurde und den Titel Network Scan Server Ready State Recovery Method
trägt,
offenbart. Wenn Daten empfangen werden, prüft der Server (Block 82),
um zu sehen, ob die Client-Scanauftragsanforderung die Gammakorrektur
deaktiviert hat, was vorzugsweise durch eine Vorgabe durch das Server-Scanprogramm
durchgeführt
wird, wenn Daten empfangen und weiter an den Client gesendet werden.
Es wird bevorzugt, dass der Server 10 eine Gammakorrektur bezüglich der
Farb-Scan-Daten durchführt,
bevor die Daten an den Client 12 gesendet werden. So wird ohne
diese Deaktivierung die Gammakorrektur (Block 84) verwendet,
um die Scanbildqualität
zu verbessern, wobei die korrigierten Bilder aufgrund der nicht-linearen
Wahrnehmung des menschlichen Auges nötig sind, während ein Pixelwert einen Wert
von z. B. 0 bis 255 aufweisen kann, wobei 0 Schwarz und 255 Weiß ist, und
die Werte dazwischen eine variierende Intensität enthalten. So scheint ein
nichtgammakorrigiertes Bild für
das menschliche Auge zu dunkel. Die Gammakorrektur modifiziert die
Intensität von
Pixeln, die angezeigt werden, durch ein Verändern des Werts des Pixels,
der durch den Scanner zurückgegeben
wird, gemäß der folgenden
Funktion:
INTENSITÄT
= X(GAMMA)
wobei X eine Spannung ist
(0 < X < 1).
-
GAMMA
= 1 für
ein nicht-gammakorrigiertes Bild und die Intensität des angezeigten
Pixels ist die zur Anzeige des Pixels verwendete Spannung. Es hat
sich herausgestellt, dass ein GAMMA-Wert von etwa 2,2 das beste
Bild für
den Betrachter ergibt. Der Server 10 verwendet eine bevorzugte
Nachschlagtabelle, in 6 gezeigt, um die Spannungsveränderungen
für GAMMA
= 2,2 nachzuahmen und jeden durch den Scanner zurückgegebenen
Pixelwert zu verändern,
andere Verfahren zur Durchführung
der Spannungsveränderungen
kommen jedoch in Betracht. Hier wird ein Wert 0 auf 0 abgebildet,
1 auf 6 abgebildet, 2 auf 12 abgebildet, usw.
-
Der
Server bestimmt außerdem,
ob das Peripheriegerät
ein MFPDTF-Format verwendet (Block 86), und falls dies
der Fall ist, streift das Scanprogramm in dem Server weiter MFPDTF-Anfangsblockinformationen
ab, so dass es das TIFF-Format aufbauen kann, wie oben erwähnt wurde,
und gammakorrigierte TIFF-Format-Bilddaten an den Clienten 12 senden
kann. MFPDTF enthält
Scaninformationen, wie z. B. den Anfang einer Seite und ein Ende
der Seite, gefolgt durch tatsächliche
Scandaten. Das Abstreifen wird auch ausgeführt, um andere Formate zu ermöglichen,
die durch einen Clienten angefordert und durch das Server-Scanprogramm
aufgebaut werden könnten,
wenn dasselbe Bilddaten weiter zu dem Clienten leitet. Wenn eine
Seite noch nicht abgeschlossen wurde (Block 90), fährt das
Server-Scanprogramm mit einem Empfangen von Daten von dem Peripheriegerät, einer
Durchführung
der zuvor genannten Schritte und einem Senden derselben an den Clienten 12 fort.
Wenn die Seite geendet hat und das Peripheriegerät eine Dokumentenzuführvorrichtung
aufweist, prüft
der Server 10 nach weiteren Blättern in der automatischen
Dokumentenzuführung (ADF)
(Block 92). Der Server 10 schließt die Scanverbindung
zu dem Clienten 12 und setzt die MIB auf untätig, was
eine Verwendung des Peripheriegeräts durch andere Clienten erlaubt.
Dies schließt
den letztendlichen Scanteilprozess ab (Block 80). Wenn sich
ein zusätzliches
Blatt in einem Peripheriegerät mit
ADF-Fähigkeit
befindet, das gerade durch den Scanauftrag verwendet wird, wird
die MIB auf eine neue Seite gesetzt (Schritt 96), eine
neue Client-Server-Verbindung wird eingerichtet, der Server 10 besitzt
eine neue geladene Seite oder das Peripheriegerät handhabt die ladende Seite
(einige Peripheriegeräte,
wie z. B. diejenigen, die MFPDTF verwenden, laden automatisch die
neue Seite) (Block 98) und die Datenübertragung von dem Server zu
dem Peripheriegerät
wird fortgesetzt (Block 76). Wie in 7 gezeigt
ist, wird, nachdem die Scanoperation für eine Vorschau abgeschlossen
ist, das Vorschaubild mit der Web-Scan-Benutzerschnittstelle durch
das Client-Scan-Applet angezeigt. Letztendliche Scandaten werden
gespeichert und könnten
mit einer geeigneten Anwendung angezeigt werden.
-
Beim Übertragen
von Daten an den Clienten während
des letztendlichen Scanteilprozesses gibt der Server 10 den
TIFF-Anfangsblock an den Web-Browser zurück und der Web-Browser fordert den
Benutzer auf, entweder das TIFF-Bild in einer Datei zu speichern
oder das TIFF-Bild zu öffnen.
Der Server 10 gibt eine Inhaltslänge des gescannten Bildes plus
1 Byte an den Web-Browser zurück,
das der Web-Browser in Verbindung mit tatsächlichen Scandaten, die empfangen
wurden, verwenden kann, um seinen Statusbalken zu aktualisieren.
Das zusätzliche
Byte erlaubt es, dass der Server 10 ein Schließen eines
Scankanals zu dem Peripheriegerät
steuern kann.
-
Außerdem füllt der
Server 10 die gescannten Bilddaten wie erforderlich auf
oder schneidet dieselben ab. Für
Blattzuführ-Scanner
ist es nicht möglich, vorher
die Größe eines
Stücks
Papier, das in den Scanner eingeführt wird, zu kennen. Zusätzlich ist
ein Mechanismus, der das Papier durchzieht, mechanisch, wobei das
Papier so in dem Scanner verschoben werden könnte, was Fluktuationen bei
der Datenmenge, die der Scanner zurückgibt, bewirkt. Die Menge
von Daten, gemessen in Bytes, von der der Server 10 erwartet,
dass der Scanner sie zurückgibt, ist
jedoch bekannt, da der Benutzer aufgefordert wurde, eine Papiergröße als einen
Scanparameter zu liefern. Der Seitengrößenparameter befindet sich
in einem Bilddateiverzeichnis (IFD), das sich nach dem TIFF-Anfangsblock
befindet. Wenn die Anzahl von Bytes, die durch den Server 10 empfangen
wurde, kleiner als erwartet ist, wird das gescannte Bild durch ein
Erzeugen von Weißbilddaten
bis zu einem Ende der existierenden Daten aufgefüllt. Umgekehrt werden, wenn
der Scanner mehr Bytes als erwartet sendet, die fremden Daten nicht
berücksichtigt.
In beiden Fällen
sendet der Server 10 die korrekte Datenmenge über das
Netz.
-
Wenn
mehrere Benutzer mit dem Server 10 verbunden sind, weist
das Scan-Applet, um zu verhindern, dass sich Seiten eines Mehrseitenauftrags eines
Benutzers mit Scanseiten eines Auftrags eines anderen Benutzers
mischen, eine zufällige
Scanidentifizierungsnummer, z. B. 1 bis 1000, zu, bevor jeder Scanvorgang
eingeleitet wird. Das Scan-Applet behält die Scanidentifizierungsnummer
für die
Lebensdauer der Scansitzung bei. Die Scanidentifizierungsnummer
wird für
jeden Scanbefehl als ein Scanparameter an den Server 10 geleitet.
Zwischen Mehrseiten-Scan-Seiten akzeptiert der Server 10 nur Verbindungen
von dem Benutzer mit der gleichen Scanidentifizierung.
-
Aus
der vorangegangenen Beschreibung sollte zu erkennen sein, dass ein
verbesserter Server 10 gezeigt und beschrieben wurde, der
viele wünschenswerte
Attribute und Vorteile aufweist. Die vorliegende Erfindung liefert
eine interaktive Client-Server-Netz-Scanfähigkeit, die für jeden
Clienten verfügbar
ist, der einen Browser mit der erforderlichen Universalsoftwareprogrammfähigkeit
aufweist, wie z. B. eine Java-Virtuelle-Maschine, die ein häufiger Merkmal
vieler Web-Browser ist. Die interaktive Natur des Client-Server-Scanvorgangs sorgt
für verbesserte Merkmale
durch die Clientenschnittstelle ohne das Erfordernis einer Installation
einer Spezial-Client-Scanserversoftware auf der Client-Maschine. Statusaktualisierungen,
die von dem Server an den Clienten geliefert werden, Vorschaufähigkeiten,
Fortgangsaktualisierungen, Bildabschnittsauswahl und Konkurrenzauflösung sind
bevorzugte Merkmale, die durch die interaktive Scansteuerung und
Anzeigeschnittstelle, die durch die Erfindung bereitgestellt werden,
ermöglicht
werden.
-
Während verschiedene
Ausführungsbeispiele
der vorliegenden Erfindung gezeigt und beschrieben wurden, wird
darauf verwiesen, dass andere Modifizierungen, Ersetzungen und Alternativen
für einen Fachmann
auf diesem Gebiet ersichtlich sind. Derartige Modifizierungen, Ersetzungen
und Alternativen können
durchgeführt
werden, ohne von dem Schutzbereich der Erfindung abzuweichen, der
aus den beigefügten
Ansprüchen
bestimmt sein soll.
-
Verschiedene
Merkmale der Erfindung sind in den beigefügten Ansprüchen dargelegt.