DE69322743T2 - Verfahren und Vorrichtung zur Verhinderung der unabsichtlichen Löschung gespeicherter Daten - Google Patents
Verfahren und Vorrichtung zur Verhinderung der unabsichtlichen Löschung gespeicherter DatenInfo
- Publication number
- DE69322743T2 DE69322743T2 DE69322743T DE69322743T DE69322743T2 DE 69322743 T2 DE69322743 T2 DE 69322743T2 DE 69322743 T DE69322743 T DE 69322743T DE 69322743 T DE69322743 T DE 69322743T DE 69322743 T2 DE69322743 T2 DE 69322743T2
- Authority
- DE
- Germany
- Prior art keywords
- neb
- printer
- lan
- network
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 88
- 238000012217 deletion Methods 0.000 title description 2
- 230000037430 deletion Effects 0.000 title description 2
- 238000012360 testing method Methods 0.000 claims description 74
- 230000002093 peripheral effect Effects 0.000 claims description 70
- 230000015654 memory Effects 0.000 claims description 37
- 230000004044 response Effects 0.000 claims description 35
- 230000002452 interceptive effect Effects 0.000 claims description 29
- 101100521334 Mus musculus Prom1 gene Proteins 0.000 claims description 27
- 238000003860 storage Methods 0.000 claims description 11
- 230000003139 buffering effect Effects 0.000 claims 1
- 230000002401 inhibitory effect Effects 0.000 claims 1
- 238000004891 communication Methods 0.000 description 64
- 230000008569 process Effects 0.000 description 46
- 230000006870 function Effects 0.000 description 45
- 230000002457 bidirectional effect Effects 0.000 description 32
- 238000012545 processing Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 238000007639 printing Methods 0.000 description 15
- 230000008901 benefit Effects 0.000 description 13
- RZVAJINKPMORJF-UHFFFAOYSA-N Acetaminophen Chemical compound CC(=O)NC1=CC=C(O)C=C1 RZVAJINKPMORJF-UHFFFAOYSA-N 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 12
- 238000012546 transfer Methods 0.000 description 11
- 238000004519 manufacturing process Methods 0.000 description 9
- 238000012544 monitoring process Methods 0.000 description 8
- 238000007726 management method Methods 0.000 description 6
- 230000001186 cumulative effect Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000000717 retained effect Effects 0.000 description 5
- 230000001052 transient effect Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000011664 signaling Effects 0.000 description 4
- 230000027455 binding Effects 0.000 description 3
- 238000009739 binding Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012015 optical character recognition Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 101100005156 Mus musculus Capsl gene Proteins 0.000 description 1
- 230000009118 appropriate response Effects 0.000 description 1
- 150000001768 cations Chemical class 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 125000000524 functional group Chemical group 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000003449 preventive effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
- G06F12/1433—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Computer And Data Communications (AREA)
Description
- Die Erfindung betrifft allgemein eine Schaltungsplatine, die mit einem Lokalbereichsnetzwerk-Peripheriegerät (beispielsweise einem Drucker) gekoppelt ist und es dem Peripheriegerätiegerät erlaubt, ein intelligentes, interaktives Netzwerkelement zu sein, welches die Notwendigkeit des Dedizierens eines Personalcomputers zum Verwalten des Peripheriegeräts beseitigt. Insbesondere betrifft die Erfindung ein Verfahren und eine Vorrichtung zum Bereitstellen eines Verriegelungsmechanismus zum Verhindern eines unbeabsichtigten Anlegens eines Ladefreigabesignals an einen Speicher (beispielsweise einen programmierbaren Festspeicher bzw. PROM), wie beispielsweise wenn der Platine Leistung zugeführt oder die Leistungszufuhr zu dieser unterbrochen wird.
- Lokalbereichsnetzwerke ("LANs") sind bekannt zum Zusammenkoppeln einer Vielzahl von Personalcomputern und Peripheriegeräten Geräten wie beispielsweise Druckern, Kopiergeräten usw., um eine verbesserte Kommunikation und gemeinsam nutzbare Ressourcen bereitzustellen. Bisher waren Peripheriegeräte wie Drucker, die mit einem LAN gekoppelt sind, eher unintelligent, d. h. nahmen lediglich Informationen von dem LAN entgegen und druckten solche Informationen auf eine Hartkopie aus. Überdies erforderten solche Drucker üblicherweise einen Host- Personalcomputer ("PC"), um den Datenfluß zum Drucker effektiv zu verwalten, d. h. als "Server" für den Drucker zu wirken. Dies erforderte nahezu immer, daß sich der Host-PC einzig und allein der Aufgabe des Druckerservers widmen mußte.
- Vor kurzem sind eine Anzahl von Produkten erschienen, die scheinbar die Notwendigkeit eines solchen dedizierten PC durch Integrieren von Hardware und Software auf einer Schaltungsplatine, die in das Peripheriegerät einsetzbar ist, um begrenzte Server-Funktionen zu erfüllen, beseitigen. Beispielsweise stellt ASP Computer Products, Inc., ein als "JetLAN/P" bekanntes Gerät bereit, das als selbständiger Druckserver für Novell-Netzwerke arbeitet. Das JetLAN/P®- Gerät koppelt an ein LAN unter Verwendung eines dünnen 10Base-2 Koaxialkabels oder eines 10Base-T-Kabels mit verdrilltem Aderpaar. Jedoch koppelt das JetLAN/P®-Gerät nur über den Parallelport des Druckers an den Drucker. Infolgedessen ist, während Druckinformationen an den Drucker gesendet werden können, der Umfang an Drucker-Statusinformationen, die von dem Drucker zurückgegeben werden können, schwerwiegend beschränkt. Zum Beispiel kann ein derartiges Gerät einen "nicht aktiv"- und "Papiermangel"-Status von dem Drucker erhalten, aber nur wenig anderes. Ein solches Gerät trägt sehr wenig dazu bei, den Drucker zu einem wirklich intelligenten, antwortenden Element des Netzwerks zu machen.
- Andere bekannte Geräte zum Koppeln eines Druckers an ein LAN beinhalten Hewlett Packard Jet Direct ® C2071A/B und C2059A, Extended Systems EtherFlex®, Intel Netport® und NetPort II®, Castelle LANPress® und JetPress®, und MiLan FastPort®. Alle diese Geräte leiden jedoch an denselben Nachteilen wie das ASP JetLAN dahingehend, daß sie es dem Drucker nicht erlauben, ausreichende Mengen von Daten an das LAN zu übertragen, um dem Drucker zu ermöglichen, ein effektives und intelligentes Element des Netzwerks zu sein.
- Interaktive Peripheriegeräte wie vorstehend beschrieben können einen Prozessor, einen Direktzugriffsspeicher (RAM) und einen programmierbaren Festwertspeicher (PROM) beinhalten. Aufgrund kürzlich erfolgter Entwicklungen im Bereich der ROM- Technologien ist es möglich, interaktive Peripheriegeräte mit einem EPROM bereitzustellen, das elektrisch gelöscht und elektrisch neu programmiert werden kann. Die Möglichkeit, elektrisch zu löschen und elektrisch neu zu programmieren, ist ein deutlicher Vorteil gegenüber der bekannten Technologie, da PROMs bisher von einer Platine entfernt, mittels ultravioletter Strahlen gelöscht und dann von einer getrennten Programmierstation neu programmiert werden mußten.
- Dieser Vorteil des elektrischen Löschens und elektrischen Neuprogrammierens eines PROMs, während sich dieses auf einer Platine befindet, ist nicht völlig willkommen gewesen. D. h., ein EPROM kann leicht durch korrupte Daten, die von einem Prozessor während des Einschaltvorgangs oder des Ausschaltvorgangs übermittelt werden, geändert werden. D. h., weil die meisten der heute eingesetzten Prozessoren auf einer Entwicklung in CMOS-Technologie beruhen, setzen diese Prozessoren auch bei schwindender Leistung ihre Verarbeitung fort oder beginnen ihre Verarbeitung während des Einschaltvorgangs mit sehr geringer Leistung. Aufgrund dessen können während entweder eines abrupten Einschaltens oder Ausschaltens transiente Daten-Bursts an das EPROM gesendet werden. Diese transienten Daten-Bursts können ein Programm, das in einem EPROM gespeichert ist, leicht zerstören.
- Bisher war es nicht möglich, zu verhindern, daß ein EPROM mit zerstörten oder korrupten Daten geladen wird. Dem kann dann, wenn einer Platine Leistung zugeführt oder die Leistungszufuhr zu dieser unterbrochen wird, ein Programm innerhalb eines EPROM leicht geändert werden.
- Die GB 2070821 offenbart ein Hardware-Verriegelungssystem zum Verhindern des unbeabsichtigten Anlegens eines Ladefreigabesignals an ein geschütztes RAM. Das Hardware-Verriegelungssystem schützt gegen das zufällige Schreiben in einen geschützten Bereich des Speichers durch Prüfen auf das Auftreten eines vorbestimmten Speicherzugangszyklus, bevor ein Zugriff auf den kritischen Datenspeicherbereich zugelassen wird.
- Die Erfindung nimmt Bezug auf die vorstehend festgestellten Nachteile durch Bereitstellen einer Schaltungsanordnung zum Verringern der Wahrscheinlichkeit des unbeabsichtigten Löschens der Inhalte eines Speichers. Durch Bereitstellen einer derartigen Struktur und Funktion auf einer mit einem Peripheriegerät gekoppelten Schaltungsplatine kann die Erfindung dazu beitragen, daß das Peripheriegerät ein antwortendes, intelligentes Element eines Netzwerks ist.
- Gemäß einem Aspekt stellt die Erfindung eine Vorrichtung zum Speichern von Daten bereit, umfassend: einen Adreßbus zum Transportieren von Adreßbit; einen Datenbus zum Transportieren von Datenbit; einen Schreib/Lese-Speicher, der mit dem Adreßbus und dem Datenbus verbunden ist, wobei der Speicher einen Ladefreigabeeingang beinhaltet; einen Prozessor, der betreibbar ist zum Ausgeben eines vorbestimmten Bitmusters an eine vorbestimmte Adresse und zum Zugreifen auf eine vorbestimmte zweite Adresse; eine Einrichtung zum Erzeugen eines Ladefreigabesignals, das dem Ladefreigabeanschluß des Speichers zugeführt wird; einen Zwischenspeicher, der auf die erste vorbestimmte Adresse auf dem Adreßbus anspricht zum Zwischenspeichern zumindest eines Bits des vorbestimmten Bitmusters von dem Datenbus; einen Decodierer, der auf die zweite vorbestimmte Adresse auf dem Adreßbus anspricht zum Ausgeben eines ersten Steuersignals; und ein Flip-Flop zum Ausgeben eines zweiten Steuersignals zum Steuern der Bereitstellung des Ladefreigabesignals für den Ladefreigabeeingang des Speichers in Antwort auf das zumindest eine zwischengespeicherte Bit und das erste Steuersignal; dadurch gekennzeichnet, daß (i) der Schreib/Lese-Speicher ein PROM umfaßt; (ii) ein Schalter zum schaltbaren Bereitstellen des durch die Erzeugungseinrichtung erzeugten Ladefreigabesignals für den Ladefreigabeeingang des PROMs bereitgestellt ist und durch das zweite Steuersignal aktiviert wird; (iii) die Erzeugungseinrichtung derart betreibbar ist, daß das Ladefreigabesignal bei dem Zwischenspeichern des zumindest einen Bit durch den Zwischenspeicher erzeugt und für den Schalter bereitgestellt wird; (iv) der Zwischenspeicher derart betreibbar ist, daß das Flip-Flop mit dem zumindest einen zwischengespeicherten Bit vorgeladen wird; (v) das Flip-Flop auf das erste Steuersignal anspricht, um dadurch getaktet zu werden; und (vi) der Prozessor derart betreibbar ist, daß das PROM gelöscht und Daten in das PROM geladen werden.
- In Übereinstimmung mit einem weiteren Aspekt der Erfindung wird ein Verfahren bereitgestellt zum Laden von Daten in ein PROM, wobei das PROM einen Ladefreigabeeingang beinhaltet und mit einem Adreßbus und einem Datenbus verbunden ist, umfassend die Schritte: Ausgeben eines vorbestimmten Bitmusters auf den Datenbus und einer ersten vorbestimmten Adresse auf den Adreßbus; Zwischenspeichern zumindest eines Bits des vorbestimmten Bitmusters in Antwort auf die erste vorbestimmte Adresse auf dem Adreßbus; in Antwort auf das Zwischenspeichern des zumindest einen Bit, vorladen eines Flip-Flops mit dem zumindest einen zwischengespeicherten Bit und Erzeugen und Bereitstellen eines Ladefreigabesignals für einen Schalter; Zugreifen auf eine zweite vorbestimmte Adresse auf dem Adreßbus; Takten des Flip-Flops in Antwort auf die zweite vorbestimmte Adresse auf dem Adreßbus, um ein Betätigungssignal für den Schalter bereitzustellen; schaltbares Zuführen des Ladefreigabesignals von dem Schalter an den Ladefreigabeeingang des PROMs in Antwort auf das Betätigungssignal, das durch den Taktschritt bereitgestellt wird, um das PROM freizugeben; Löschen des PROMs, das durch das Ladefreigabesignal freigegeben wurde; und Laden von Daten in das PROM, das durch das Ladefreigabesignal freigegeben wurde.
- Die vorstehend festgestellten Vorteile und Merkmale der Erfindung sind einfacher der nachfolgenden detaillierten Beschreibung beispielhafter Ausführungsbeispiele in Verbindung mit den Zeichnungen entnehmbar. Es zeigen:
- Fig. 1 ein Blockdiagramm eines Lokalbereichsnetzwerks in Übereinstimmung mit einem Ausführungsbeispiel der Erfindung;
- Fig. 2 ein Blockdiagramm einer Vielzahl zusammengekoppelter Lokalbereichsnetzwerke;
- Fig. 3 ein Blockdiagramm, das die Netzwerk-Erweiterungsplatine in Übereinstimmung mit einem Ausführungsbeispiel der Erfindung zwischen dem Lokalbereichsnetzwerk und dem Drucker gekoppelt zeigt;
- Fig. 4 ein Blockdiagramm der Netzwerk-Erweiterungsplatine in Übereinstimmung mit einem Ausführungsbeispiel der Erfindung;
- Fig. 5A, 5B und 5C ein Ablaufdiagramm einer obersten Ebene, das die Grundfunktionen der Netzwerk-Erweiterungsplatine in Übereinstimmung mit einem Ausführungsbeispiel der Erfindung zeigt;
- Fig. 6 ein Diagramm, das die Reihenfolge zeigt, in der Software-Module aus dem ROM der Netzwerk-Erweiterungsplatine in RAM geladen werden;
- Fig. 7 ein Blockdiagramm, das Hardware und Software-Schnittstellen zwischen dem LAN und der Netzwerk-Erweiterungsplatine zeigt;
- Fig. 8 ein Ablaufdiagramm, das zeigt, wie die EPROM-Firmware zum Versetzen der Netzwerk-Erweiterungsplatine in einen betriebsbereiten Zustand konfiguriert ist;
- Fig. 9 ein Diagramm, das den physikalischen Aufbau von auf Ethernet verwendeten unterschiedlichen Rahmenpaketen zeigt;
- Fig. 10 ein Ablaufdiagramm, das den Betriebsablauf eines Software-Moduls PRESCAN zeigt;
- Fig. 11 ein Diagramm, welches zeigt, daß das Modul PRESCAN mit anderen Software-Protokollen verwendet werden kann;
- Fig. 12 eine Tabelle zum Erklären der Software-Struktur des Programms SAPSERVER;
- Fig. 13 ein Ablaufdiagramm, das den Betriebsablauf von SAP- SERVER zeigt;
- Fig. 14 ein Ablaufdiagramm, das den Betriebsablauf eines Programms CPINIT zeigt;
- Fig. 15 ein Ablaufdiagramm, das den Betriebsablauf eines Programms CPCONSOL zeigt;
- Fig. 16A und 16B ein Ablaufdiagramm, das den Betriebsablauf eines Programms CPSOCKET zeigt;
- Fig. 17A und 17B ein Ablaufdiagramm, das das automatische Protokollieren von Peripheriegeräte-Statistiken zeigt;
- Fig. 18 ein Ablaufdiagramm, das zeigt, wie eine Multitasking- Verarbeitung durchgeführt wird;
- Fig. 19 ein Ablaufdiagramm, das zeigt, wie der Drucker in einen sichere standardmäßige Konfiguration zu bringen ist;
- Fig. 20 ein Ablaufdiagramm, das das Herunterladen von ausführbaren Dateien von dem Lokalbereichsnetzwerk auf die Netzwerk-Erweiterungsplatine zeigt;
- Fig. 21 ein Ablaufdiagramm, das das Laden von unabhängig ausführbaren Modulen in das EPROM der Netzwerk-Erweiterungsplatine zeigt;
- Fig. 22 ein Blockdiagramm, das Brennschutzschaltkreise für das EPROM der Netzwerk-Erweiterungsplatine zeigt;
- Fig. 23 ein Ablaufdiagramm, das den Betriebsablauf der Schaltkreise gemäß Fig. 22 zeigt;
- Fig. 24 ein Ablaufdiagramm, das den Betriebsablauf des Fernladens von Firmware in das EPROM der Netzwerk-Erweiterungsplatine zeigt;
- Fig. 25 ein Blockdiagramm, das eine Hardware-Konfiguration zum Prüfen der Netzwerk-Erweiterungsplatine zeigt; und
- Fig. 26A und 26B ein Ablaufdiagramm, das ein Verfahren zum Erproben der Netzwerk-Erweiterungsplatine unter Verwendung der Prüfkonfiguration gemäß Fig. 25 zeigt.
- Die Ausführungsbeispiele zielen allgemein darauf ab, Hardware- und Software-Lösungen zur Herstellung eines Netzwerk- Peripheriegeräts wie beispielsweise eines Drucker, eines interaktiven Netzwerkelements, das nicht nur von dem Netzwerk empfangene Daten entgegennehmen und verarbeiten, sondern auch signifikante Mengen von Daten wie beispielsweise detaillierte Statusinformation, Betriebsparameter und selbst durch andere Modalitäten wie beispielsweise Scannen, Telefax-Empfang etc. dem Peripheriegerät zugeführte Daten an das Netzwerk übertra gen kann, bereitzustellen. Durch Integrieren derartiger Hardware und Software in das Peripheriegerät ist es möglich, die Notwendigkeit auszuschließen, daß sich ein Personalcomputer nur dem Peripheriegerät als Peripheriegeräte-Server widmet.
- Fig. 1 ist ein Blockdiagramm, das die Erfindung in eine Netzwerk-Erweiterungsplatine ("NEB") 2 integriert zeigt, die mit einem Drucker 4 gekoppelt ist, der eine (noch zu diskutierende) offene Architektur hat.
- Die NEB 2 ist mit dem LAN-Bus 6 durch eine LAN-Schnittstelle 8, beispielsweise jeweils Ethernet-Schnittstellen 10Base-2, 10Base-T oder 10Base-5 mit einem Koaxial-Verbindungsstecker, einem RJ45-Verbindungsstecker oder einem DB15-Verbindungsstecker (AUI) verbunden. Darüber hinaus können mit dem LAN 6 auch Netzwerkelemente wie ein PC 10, ein PC 12, ein PC 14 (der in diesem Fall als Netzverwalter arbeitet, falls sich der Verwalter an diesem PC angemeldet hat; wie nachstehend noch zu beschreiben ist) und ein Drucker 16 (mit eingebetteter QSERVER-Funktionalität; wie nachstehend ebenfalls noch zu beschreiben ist) verbunden sein. Weitere LAN-Elemente können den PC 18 (der als Druckserver arbeitet; wie nachstehend noch zu beschreiben ist) mit angeschlossenem Drucker 20, einen PC 22 (der als RPRINTER arbeitet; wie nachstehend noch zu beschreiben ist) mit angeschlossenem Drucker 24, und einen Drucker 26, der durch eine NetPort-Einrichtung 28 (vorstehend im Hintergrund der Erfindung diskutiert) mit dem LAN 6 verbunden ist, beinhalten. Ein Datei-Server 30 ist mit dem LAN 6 verbunden und dient als "Bibliothek" für Dateien, die in dem LAN übertragen und verarbeitet werden sollen. An den Datei- Server 30 können Drucker 32 und 34 angeschlossen sein.
- Im einzelnen kann das in Fig. 1 dargestellte Netzwerk eine beliebige Netzwerk-Software wie beispielsweise Novell- oder Unix-Software nutzen, um eine Kommunikation zwischen den verschiedenen Netzwerkelementen zu bewirken. Die vorliegenden Ausführungsbeispiele werden in Bezug auf ein LAN beschrieben werden, das Novell NetWare®-Software nutzt (die in weiteren Einzelheiten in Abschnitt 3a beschrieben werden wird), obwohl eine beliebige Netzwerk-Software verwendet werden kann. Eine ausführliche Beschreibung dieses Softwarepakets kann den Veröffentlichungen "Netware® User's Guide" und "Netware® Supervisor's Guide" von M&T Books, urheberrechtlich geschützt 1990, entnommen werden. Siehe ebenfalls "NetWare® Print Server" von Novell, Ausgabe März 1991, Novell-Teilenr. 100- 000892-001. Kurz gesagt arbeitet der Datei-Server 30 als ein Datei-Verwalter, der Dateien mit Daten empfängt, speichert, in Warteschlangen einreiht, zwischenspeichert, und zwischen LAN-Elementen überträgt. Beispielsweise können Datendateien, die jeweils an den PCs 10 und 12 kreiert wurden, an den Datei-Server 30 geleitet werden, der diese Datendateien ordnen und dann die geordneten Datendateien auf Anweisung eines Druckservers in PC 18 an einen Drucker 24 übertragen kann. Der Datei-Server 30 kann ein Speicherelement großer Kapazität, wie beispielsweise ein 10 Gigabyte-Festplatten-Teilsystem, beinhalten oder mit diesem gekoppelt sein. Ferner können die Drucker 32 und 34 mit dem Datei-Server 30 verbunden sein, um erforderlichenfalls zusätzliche Druckstationen bereitzustellen.
- Während in Fig. 1 Personalcomputer-Ausrüstung dargestellt ist, kann darüber hinaus je nach Eignung für die ausgeführte Netzwerk-Software auch weitere Computer-Ausrüstung eingeschlossen sein. Beispielsweise können Unix-Arbeitsstationen in das Netzwerk eingeschlossen sein, wenn Unix-Software benutzt wird, und können diese Arbeitsstationen unter geeigneten Umständen in Verbindung mit den dargestellten PCs verwendet werden.
- Die PCs 10 und 12 können jeweils einen üblichen Arbeitsstation-PC umfassen, der in der Lage ist, Datendateien zu erzeugen, diese auf das LAN zu übertragen, Daten von dem LAN zu empfangen, und solche Daten an der Arbeitsstation anzuzeigen und/oder zu verarbeiten. Die PCs 10 und 12 sind jedoch nicht in der Lage, Kontrolle über LAN-Peripheriegeräte auszuüben (außer wenn der Netzverwalter an diesem PC eingeloggt bzw. angemeldet ist).
- Ein PC, der in der Lage ist, begrenzte Kontrolle über LAN- Peripheriegeräte auszuüben, ist der PC 22, der ein eingebettetes RPRINTER-Programm beinhaltet. Das Programm RPRINTER ist ein speicherresidentes MS-DOS (Terminate and Stay Resident, "TSR")-Programm, das auf einer Arbeitsstation läuft, um es Benutzern zu erlauben, den Drucker 24 zu teilen, der mit der Arbeitsstation verbunden ist. RPRINTER ist ein relativ unintelligentes Programm, das die Fähigkeit nicht hat, Drucker- Warteschlangen für seine Arbeit zu durchsuchen. RPRINTER empfängt seine Arbeit von einem PSERVER (der noch zu beschreiben ist), der anderswo in dem Netzwerk läuft. Weil sie mit dem angeschlossenen Drucker über den parallelen Port des Druckers kommunizieren, sind RPRINTER in der Lage, nur begrenzt Status zu erhalten und diese Statusinformation über das LAN 6 an den verantwortlichen PSERVER zurückzugeben. Von einem Steuer- Standpunkt aus gesehen erlaubt ein RPRINTER das Anhalten eines Druckjobs und wenig mehr. Einige Drucker schließen RPRIN- TER-Funktionen ein, indem sie innere oder externe Schaltungsplatinen bieten, die dieselben begrenzten Merkmale des in einem Personalcomputer laufenden RPRINTER-TSR-Programms bereitstellen.
- Eine andere Netzwerk-Einheit, die in der Lage ist, begrenzte Kontrolle über LAN-Peripheriegeräte auszuüben, ist ein Drucker 16 mit angeschlossener Schaltungsplatine 36 und einem eingebetteten QSERVER-Programm. Hier läuft das QSERVER-Programm in einem HP LaserJet III® SI-Drucker und besitzt die Fähigkeit des Durchsuchens der Druck-Warteschlangen des Datei-Servers 30 nach geeigneten Druckdateien. Die Such-Warteschlangen des QSERVER können weder dynamisch geändert werden, noch antwortet der QSERVER auf irgendeine Art von Statusanfragen. Der Nutzen des QSERVER besteht in seiner Fähigkeit, autonom nach Job zu suchen. Der QSERVER benötigt keinen PSER- VER, der anderswo im System läuft, um ihm Job zu verschaffen. Weil der QSERVER keinen entsprechenden PSERVER hat und selbst keinerlei Status- und Kontrollfähigkeiten besitzt, bietet er noch weniger Kontrollmöglichkeiten als sogar der RPRINTER. Ein QSERVER unterscheidet sich ferner darin von einem PSERVER, daß er extrem beschränkte Benachrichtigungsfunktionen besitzt und keine Trennblätter am Anfang jedes Druckjobs drucken kann.
- Ein weiteres Netzwerkelement mit QSERVER-Fähigkeiten ist ein Drucker 2C, der durch eine externe NetPort-Einrichtung 28 mit dem LAN gekoppelt ist.
- Andere Peripheriegeräte-Server-Programme können ausgeführt werden, um verschiedenartige Peripheriegeräte wie beispielsweise Scanner, Kopiergeräte, Telefax-Geräte usw. zu bedienen, und Server können darüber hinaus auf der Grundlage eines Netzwerk-Softwareprotokolls bereitgestellt sein, wie beispielsweise ein Unix-kompatibler Zeilendrucker-Fernserver ("LPR").
- Ein LAN-Element, das in der Lage ist, signifikante Kontrolle über LAN-Peripheriegeräte auszuüben, ist der PC 18 mit einem in diesem eingebetteten PSERVER-Programm. PSERVER hat die Fähigkeit, mehrere benutzerdefinierte Druckwarteschlangen zu bedienen, eine dynamische Suchschlangen-Modifikation durchzuführen, und definierte Benachrichtigungsprozeduren für Ausnahme (Fehler-)-Zustände sowie Status- und Kontrollfähigkeiten bereitzustellen. PSERVER ist in mehreren Formen bereitgestellt. PSERVER. EXE ist ein Programm, das dediziert auf einer Arbeitsstation läuft und sowohl lokale als auch entfernte Drucker steuert. Die lokalen Drucker können entweder mit seriellen oder parallelen Ports verbunden sein, und die entfernten Drucker sind Drucker, die anderswo im System laufen. Zwei andere Formen des PSERVER-Programms sind PSERVER. VAP und PSERVER. NLM. Diese sind PSERVER-Versionen, die auf dem Datei- Server 30 selbst laufen. Die .VAP-Version ist für NetWare® 286, und die .NLM Version ist für NetWare® 386. Während PSERVER größere Fähigkeiten als RPRINTER und QSERVER bereitstellt, besteht einer seiner Nachteile darin, daß die .EXE- Version einen dedizierten Personalcomputer erfordert.
- Ein dedizierter Personalcomputer, der PSERVER.EXE abarbeitet, kann bis zu 16 lokale/entfernte Drucker steuern und Druckinformation von vielen Dateiserver-Warteschlangen anfordern. Jedoch bestehen mehrere Nachteile hinsichtlich eines Sichverlassens auf PSERVER zum Steuern von Netzwerk-Druckdiensten. Der erste Nachteil besteht darin, daß mehrere Drucker-Datenströme alle durch einen einzelnen Netzwerkknoten und Personalcomputer-Prozessor geschleust werden müssen. Dies kann zu einem Flaschenhals werden. Der zweite Nachteil besteht darin, daß für den effizientesten Betriebsablauf die Drucker lokal mit dem Computer verbunden sein sollten, wie dies bei dem Drucker 20 der Fall ist. Dies kann eine Unannehmlichkeit für Benutzer sein, weil es erfordert, daß die Drucker um den PC 18 geschart sind. Der dritte Nachteil besteht darin, daß dann, wenn die gesteuerten Drucker wie im Fall des Druckers 24, der von RPRINTER bedient wird, entfernt sind, die Druckdaten den Weg von dem Datei-Server 30 zu dem PSERVER PC 18 zurücklegen und dann an den Drucker, an dem RPRINTER läuft, zurück übertragen werden müssen. Dies ist ineffizient.
- Der vierte Nachteil besteht in der begrenzten Menge von Druckerstatus- und Kontrollinformationen, die durch PSERVER angeboten wird. Es wurde bereits festgestellt, daß RPRINTER nicht viel mehr als einen rudimentären Status wie "Papiermangel" und "nicht aktiv" erlaubt. PSERVER selbst bietet für lokal und entfernt angeschlossene Drucker nicht viel mehr als dieses an, weil es unter Berücksichtigung der Einschränkungen des parallelen Ports des Personalcomputers entworfen wurde. Das PSERVER-Programm erlaubt ferner seinen eigenen Status und seine eigene Kontrolle.
- Die Netzwerk-Erweiterungsplatine 2, die in dem Drucker 4 installiert ist, stellt viele Vorteile und eine verbesserte Flexibilität für die vorstehend diskutierten Netzwerk-Peripheriegeräte-Steuereinheiten bereit. Insbesondere bietet die NEB eingebettete Steuereinrichtung RPRINTER, PSERVER und LPR (Line Printer Remote)-Funktionalität (durch Programme CRPRIN- TER, CPSERVER und CLPR, die in dem nachstehenden Abschnitt 3d zu beschreiben sind). Es gibt ein CPINIT genanntes Initiali sierungsprogramm (welches nachstehend in Abschnitt 4h zu beschreiben ist), welches dem PC 14 des Netzverwalters eine vollständige Kontrolle über die Konfiguration von NEB-Merkmalen erlaubt. Aufgrund seiner eingebetteten Natur und der offenen Architektur des Druckers 4 hat die NEB die Möglichkeit, dem Netzwerk eine breite Vielfalt an Status- und Kontrollfunktionen anbieten zu können. D. h., wortreiche Mengen von Statusinformationen können von dem Drucker 4 für das LAN 6 bereitgestellt werden, und viele Kontrollinformationen können von dem LAN 6 für den Drucker 4 bereitgestellt werden (beispielsweise das Ausführen von Funktionen des Druckerbedienfelds von dem PC 14 aus).
- Um auf die erweiterte Menge von in der NEB verfügbaren Informationen zuzugreifen, ist ein als CPCONSOL bezeichnetes Programm im PC 14 des Netzverwalters resident und erlaubt dem Systemverwalter, sämtliche Druckerinformationen, die aus dem Drucker 4 durch die NEB 2 herausgeführt werden, einzusehen. Die Druckerinformationen sind auch dann verfügbar, wenn die funktionelle Konfiguration von RPRINTER (CRPRINTER) der NEB 2 ausgewählt wird. Die funktionelle Konfiguration von PSERVER (CPSERVER) der NEB 2 wird den Drucker 4, der die Platine enthält, steuern. Diese Möglichkeit beinhaltet alle Standard- PSERVER-Warteschlangen-Suchmöglichkeiten sowie die Benachrichtigungs- und Statusmerkmale. Alle dieser Merkmale können dynamisch von einer entfernten Arbeitsstation gesteuert werden. Die NEB-Umgebung und ihre Fähigkeit, erweiterte Status- und Kontrellinformationen aus dem Drucker 4 herauszuführen, machen die Kombination aus NEB 2 und Drucker 4 sehr viel leistungsfähiger als die derzeit verfügbaren RPRINTER-, QSERVER- oder PSERVER-Druckverfahren.
- Das Programm CPCONSOL (das in weiteren Einzelheiten in dem nachstehenden Abschnitt 41 beschrieben wird), das in dem PC 14 des Netzverwalters bereitgestellt ist, ist in der Lage, mit der NEB 2 (und anderen Netzwerkelementen) zu kommunizieren, um Funktionen wie beispielsweise Anzeigen aktueller Informationen für ein ausgewähltes Netzwerkgerät (Schnittstellen-Informationen, Steuerinformationen, Zeichensatz-Informa tionen, Layout-Informationen, Qualitäts- und übliche Umgebungs-Informationen und andere verschiedene Informationen) durchzuführen. CPCONSOL ist auch in der Lage, den sicheren (Standard-) Zustand eines Netzwerkgeräts einzustellen oder zu modifizieren. CPCONSOL kann auch Anwendungen der NEB 2 wie beispielsweise CPSERVER oder CRPRINTER (nachstehend noch zu beschreiben, allgemein aber vergleichbar zu den vorstehend beschriebenen PSERVR- und RPRINTER-Softwarepaketen) aktivieren oder deaktivieren. Ferner ermöglicht CPCONSOL dem PC 14, eine Protokolldatei anzuzeigen, die Protokolldatei zu löschen oder die Protokolldatei in einen Speicher wie beispielsweise eine lokale Platte oder eine Dateisystem-Platte zu schreiben. CPCONSOL kann auf dem PC 14 auch solche druckerbezogene Informationen wie beispielsweise die Anzahl der Jobs, die Anzahl der Seiten pro Job, die Anzahl der Seiten pro Minute, die Zeit pro Job, die Gesamtanzahl der Seiten pro Tag, die Gesamtanzahl von Jobs pro Tag und die Anzahl von Tagen anzeigen. Das Programm CPCONSOL ist ferner in der Lage, auf dem PC 14 solche netzwerkbezogenen Informationen wie beispielsweise medienbezegene und nicht medienbezogene Informationen anzuzeigen und solche Netzwerk-Statistiken zu löschen.
- Das in dem PC 14 des Netzverwalters residente Programm CPINIT (in weiteren Einzelheiten in dem nachstehenden Abschnitt 4h zu beschreiben) kann Anwendungsinformations-Druckdienste wie beispielsweise CPSERVER und CRPRINTER einrichten und diese Anwendungen konfigurieren. CPINIT ist ferner in der Lage, Einrichtungsinformationen wie beispielsweise Zeit/Datum/Zeitzone, Puffergröße, Plattengröße, Protokoll-Flag, Protokollgrenze und ein Flag für eine sichere (Standard-) Umgebung festlegen und/oder anzeigen. CPINIT kann darüber hinaus Standard-Dienstvorspanne wiederherstellen, die NEB 2 zurücksetzen, die NEB 2 neu hochfahren, das Herunterladen eines Zeichensatzes anweisen, das Herunterladen einer Emulation anweisen, einen Fehler während des Selbsttests beim Einschalten (Power-on-Self-Test, "POST") der NEB anzeigen, die Nummer der Firmware der NEB 2 anzeigen, die Größe der aktuellen Protokolldatei anzeigen, usw.
- Durch Versehen der NEB 2 mit PSERVER- und RPRINTER-Fähigkeiten wird erfindungsgemäß mit einer einzelnen Schaltungsplatine oder Karte eine verbesserte Funktionalität für den Drucker 4 in Bezug auf dem LAN 6 erreicht. Daher ist der Drucker 4 ein wahrer "vernetzter" Drucker und nicht nur ein Drucker, der mit Netzwerk verbunden ist.
- Während die Erfindung einzigartige Vorteile in dem LAN 6 bietet, werden diese Vorteile auch dann verwirklicht, wenn das LAN 6 mit einem oder mehreren LANs in einem Weitbereichsnetzwerk (Wide Area Network, "WAN") verbunden ist. Fig. 2 veranschaulicht ein solches WAN, das ein erstes LAN 41 einschließlich eines Servers 51 40, PCs 42, 44 und 46 und eines Druckers 48 beinhaltet. Der Server S1 40 ist mit einem "Rückgrat" oder Backbone 50 über einen Bus 52 verbunden. Das Rückgrat 50 ist nicht mehr als eine elektrische Verbindung zwischen einer Vielzahl von Bussen. Ferner ist mit dem WAN ein zweites LAN 61, umfassend einen Server S2 60, PCs 62, 64 und 66 und einen Drucker 68, verbunden. Der Server S2 60 ist mit dem Rückgrat 50 über einen Bus 54 verbunden.
- Das WAN beinhaltet weiter ein entferntes LAN 71, umfassend einen Server S3 70, PCs 72, 74 und 76 und einen Drucker 78. Weil das LAN 71 von dem Rest des Systems entfernt ist, ist es mit dem Netzstrang 50 durch einen Bus 56, einen Transponder 58 (der ein Modem beinhalten kann) und eine Kommunikationsleitung 59 verbunden.
- In einem solchen WAN sei angenommen, daß der PC 42 ein PSERVER ist, der die Nutzung des Druckers 78 anfordert. Falls der Drucker 78 mit einer erfindungsgemäßen NEB ausgestattet ist, kann eine direkte Kommunikationsverbindung zwischen dem PC 42 und dem Drucker 78 hergestellt werden, wodurch Job-Informationen an den Drucker 78 gesendet werden können, und Status- und Kontrollinformationen von dem Drucker 78 an das LAN 41 gesendet werden können. Daher erreicht die erfindungsgemäße NEB ihre verbesserte Funktionalität auch dann, wenn es in einem mit einem WAN gekoppelten Peripheriegerät installiert ist.
- Fig. 3 ist ein Blockdiagramm, das die Verbindung der erfindungsgemäßen NEB 2 mit dem Drucker 4 und dem LAN 6 veranschaulicht. Die NEB 2 ist direkt mit dem LAN 6 über eine LAN- Schnittstelle 101 verbunden, und ferner auch mit dem Drucker 4 über eine bidirektionale Schnittstelle, hier ein Small Computer System Interface ("SCSI") 100. Die SCSI-Schnittstelle 100 ist an einen SCSI-Bus 102 des Druckers 4 gekoppelt.
- Die NEB kann auch zusätzliche SCSI-Geräte wie beispielsweise andere Drucker (RPRINTER) oder andere Peripheriegeräte, die auf dem SCSI-Bus, der ein Standard-SCSI-Verbindungsprotokoll benutzt, verkettet sind, bedienen. Darüber hinaus kann die NEB dazu verwendet werden, andere Peripheriegeräte über das LAN selbst anzusteuern.
- Der Drucker 4 ist bevorzugt ein Drucker mit offener Architektur, der den SCSI-Bus 102 und SCSI-Schnittstellen 104 und 106 beinhaltet. Der Drucker 4 beinhaltet ferner einen Prozessor 108 wie beispielsweise einen REDUCED INSTRUCTION SET COMPUTER ("RISC"), der mit einem RAM-Speicher 110 und mit einem Druckwerk 112, die eigentlich den Druckmechanismus ansteuert, kommuniziert. Der RISC-Prozessor kommuniziert auch mit einem NVRAM 111 zum Speichern von Informationen, die zwischen Leistungszyklen beibehalten werden müssen, wie beispielsweise benutzerdefinierte Informationen, und mit einem ROM 113, aus dem der RISC-Prozessor 108 die Druckersteuerung ausführt. Der Drucker 4 kann ferner eine Festplatte 114 beinhalten, die in der Lage ist, große Mengen von Daten in nicht flüchtiger Art und Weise zu halten. Der Drucker 4 weist darüber hinaus auch ein Front-Bedienfeld 116 und eine Tastatur 115 zum Eingeben von Steuerbefehlen in den Drucker auf.
- Bevorzugt beinhaltet der Drucker 4 eine offene Architektur, die Vorteil aus der bidirektionalen Natur der SCSI-Schnittstelle 100 zieht, um eine große Menge an Statusinformationen und anderen Informationen des Druckers 4 für das LAN 6 über die NEB bereitzustellen und auch eine feine Steuerung des Druckers von einem entfernten Ort aus zu erlauben. Zum Beispiel erlaubt eine solche offene Architektur dann, wenn sie mit der bidirektionalen SCSI-Schnittstelle verwendet wird, die meisten oder alle Informationen auf dem Front-Bedienfeld 116 des Druckers 4 an einen entfernten Ort zu exportieren, und erlaubt auch, die meisten oder alle Steuerfunktionen der Drucker-Frontfeld-Tastatur 115 von dem entfernten Ort aus zu aktivieren.
- Kurz gesagt umfaßt der Drucker 4 mit offener Architektur vier Haupt-Teil systeme: Kommunikation; Job-Kanal; Seitenanordnung und Raster-Funktionen; und Systemdienste. Das Kommunikation- Teilsystem handhabt die unterschiedlichen Kommunikationseinrichtungen und initiiert den Anfang einer Job-Anwendung. Wenn der Drucker beginnt, Daten zu empfangen, sendet das Kommunikation-Teilsystem den ersten Teil der ankommenden Daten an jeden Emulator zur Prüfung. Der erste Emulator, der die Daten verarbeiten kann, wird der Job-Kanal-Treiber. Das System bildet dann einen Job-Kanal, um die Daten zu verarbeiten (Daten fließen in ein Ende des Kanals, und Seitenbilder fließen aus dem anderen Ende heraus). Dieser Job-Kanal umfaßt viele Segmente, von welchen eines der Job-Kanal-Treiber ist.
- Das Job-Kanal-Teilsystem hat ein Kanaltreibersegment (die Anwendung für einen Emulator) und Eingangs- und Ausgangssegmente. Die Eingangs- und Ausgangs-Kanal-Segmente haben wenigstens zwei andere Segmente: Quellen- und Quellen-Filter-Segmente für den Eingang; und ein Ausgangs-Filter und eine Daten-Senke für den Ausgang. Das Eingangssegment des Kommunikation-Teilsystems liefert die Eingangsdaten, die durch Informationen von einem Dateisystem ergänzt werden können. Der Kanaltreiber verarbeitet die Eingangsdaten und die Ergänzungsdaten. Er erzeugt auch Abbildungsbefehle und Seitenanordnungsinformationen, die er an das Ausgangs-Segment sendet. Der Kanaltreiber kann diese Informationen auf der Platte des Druckers (falls vorhanden) speichern. Das Ausgangssegment sendet diese Daten an das Seitenanordnungs- und Raster-Teilsystem.
- Die Seitenanordnungs- und Raster-Teilsystem nimmt die Abbildungs- und Seitenanordnungsinformationen und wandelt diese in ein Rasterbild für das Druckwerk 112 um. Dieser Abschnitt arbeitet vollkommen getrennt von dem Job-Kanal.
- Das Systemdienste-Teilsystem stellt einen Dateisystem-Zugang, einen Konsolen-Zugang, Zeichensatzdienste, grundlegende Systemdienste und Bilderzeugungsdienste bereit. Daher wird ein Drucker 4 mit einer derartigen offenen Architektur vollen Vorteil aus der intelligenten, interaktiven NEB 2 ziehen, um eine erhöhte Funktionalität für den Drucker 4 und das ganze Netzwerk bereitzustellen.
- Fig. 4 ist ein Blockdiagramm der NEB 2, das deren Hauptkomponenten zeigt. Die NEB 2 ist mit dem LAN 6 durch Netzwerk-Verbindungsstecker 202, 203 und 204 gekoppelt. Bevorzugt ist der Verbindungsstecker 202 ein RJ45-Stecker, der in der Lage ist, eine 10Base-T-Verbindung herzustellen. Der Verbindungsstecker 203 kann einen DB15-Verbindungsstecker umfassen zum Herstellen einer 10Base-5-Verbindung, während der Verbindungsstecker 204 ein einfacher Koaxial-Verbindungsstecker sein kann, der in der Lage ist, eine 10Base-2-Verbindung herzustellen. Sämtliche der Verbindungsstecker 202, 203 und 204 sind mit einer Netzwerk-Steuereinrichtung 206 (bevorzugt einer Ethernet- Netzwerk-Steuereinrichtng) verbunden. Der Verbindungsstecker 204 ist jedoch zunächst durch einen Sender-Empfänger 208 gekoppelt.
- Leistung wird der NEB 2 von einer +5 V Leistungsquelle in dem Drucker 4 über den Drucker-Erweiterungsport 226 geliefert. Die +5 V-Leistung wird auch für die Leistungskonverter 210 und 212 bereitgestellt. Der Leistungskonverter 210 stellt -9 V Leistung für den Sender-Empfänger 208 bereit, während der Leistungskonverter 212 +12 V-Leistung zum "Brennen" (Laden; wie nachstehend in Abschnitt 4q noch zu beschreiben ist) des EPROM 222 bereitstellt. Darüber hinaus ist die Netzwerk-Steuereinrichtung 206 an ein 8 KB großes statisches RAM 214 gekoppelt.
- Das Herz der NEB 2 ist ein Mikroprozessor 216, bevorzugt ein NEC V53. Der Mikroprozessor 216 ist mit einem seriellen Port 218 verbunden, der gegenwärtig zum Prüfen benutzt wird. Darüber hinaus sind mit dem Mikroprozessor 216 ein 512 KB großes dynamisches RAM 220, ein 256 KB großes Flash-EPROM 222, eine SCSI-Steuereinrichtung 224 (entsprechend der SCSI-Schnittstelle 100 gemäß Fig. 3), ein Drucker-Erweiterungsport 226, eine Diagnose/Fehler-LED 240, ein 256 Byte großes nicht flüchtiges RAM 228, ein Steuerregister 230 und ein PROM 232, welches die Medienzugriff-Steuerung (Media Access Control, "MAC")-Adresse, die der einmalige Name für jede EtherNet-Platine ist, speichert.
- Die Architektur der NEB 2 stellt einen Vorteil dahingehend bereit, daß sie einzigartige Unterstützungsfunktionen für die Verwaltung und das Management großer Mehrbereichsnetzwerke bietet. Diese Unterstützungsfunktionen beinhalten beispielsweise eine Druckersteuerung und Statusüberwachung von einem entfernten Ort des Netzwerks (d. h. von dem Büro des Netzverwalters) aus, ein automatisches Management der Druckerkonfiguration nach jedem Druckjob, um eine garantierte Anfangsumgebung für den nächsten Benutzer bereitzustellen, und Protokolle von Drucker-Benutzungsstatistiken, die zum Charakterisieren der Druckerbelastung und Planen des Tonerkassettenaustauschs über das Netzwerk zugänglich sind. Ein Schlüsselparameter bei der Konstruktion der NEB ist die Fähigkeit, auf den Drucker-Steuerzustand der NEB 2 aus durch eine bidirektionale Schnittstelle, hier die SCSI-Schnittstelle 100, zuzugreifen. Dies ermöclicht es, die Druckerkonsolen-Informationen an die NEB oder an einen externen Netzwerkknoten für die Programmierung vieler nützlicher Druckunterstützungsfunktionen herauszuführen.
- Die nachstehende Tabelle 1 stellt eine Beschreibung der Funktionen, der Implementierung und von betriebsbezogenen Anmerkungen in Bezug auf die wesentlichen Hardware-Elemente der NEB 2 bereit. Tabelle 1
- Bevorzugt wird die NEB 2 im Inneren des Druckers 4 in einem Erweiterungs- oder Zusatz-Steckplatz installiert. Die NEB 2 ist infolgedessen ein eingebetteter Netzwerkknoten mit den vorstehend beschriebenen Verarbeitungs- und Datenspeichermöglichkeiten.
- Der Mikroprozessor 216 implementiert eine Datenverbindungsschicht einer Netzwerk-Paketübertragung und eines Netzwerk- Paketempfangs. Netzwerk-Datenüberhang wird durch die Verwendung eines dedizierten statischen RAM-Paketpuffers 214, der direkt durch die Netzwerk-Steuereinrichtung 206 verwaltet wird, minimiert. Der Mikroprozessor 216 greift auf Blöcke von SRAM-Paketdaten und Netzwerk-Mitteilungen durch die Netzwerk- Steuereinrichtung 206 zu und verschiebt diese in den großen DRAM-Speicher 220. Blöcke von Druckbilddaten und Steuerinformationen werden von dem Mikroprozessor 216 für die Übermittlung an den Drucker 4 durch die SCSI-Steuereinrichtung 224 unter Verwendung des SCSI-Übertragungsprotokolls des Drucker- Erweiterungsports zusammengesetzt. Ebenso werden Drucker-Statusinformationen von dem Drucker 4 im SCSI-Blockformat zurück an die NEB 2 übertragen. Die SCSI-Steuereinrichtung 224 arbeitet aus Gründen der NEB-Gesamtleistung gleichzeitig mit der Netzwerk-Steuereinrichtung 206 für erhöhten Datendurchsatz.
- Der Mikroprozessor 216 ist bevorzugt ein NEC V53-Chip, der ein schneller, hochintegrierter Mikroprozessor mit einem 16 Bit-Intel kompatiblen Prozessor ist und Direct Memory Access ("DMA"), Unterbrechungen, Zeitgeber und DRAM-Refresh-Steuerung unterstützt. Die Datenbus-Struktur auf der NEB 2 ist 16 Bit breit ausgeführt, um Vorteil aus der dynamischen 8 Bit/16 Bit-Busumsetzung während Mikroprozessor-I/O-Übertragungen zu ziehen. Die Firmware für die Steuerung und die Software für die Druckanwendung für den Mikroprozessor 216 sind auf der NEB 2 in dem EPROM 222 gespeichert. Nach dem Selbsttest nach dem Einschalten wird der Firmware-Code selektiv in das schnellere DRAM 220 zur eigentlichen Ausführung verlagert. Netzwerk- und Drucker-Konfigurationsparameter werden in das NVRAM 228 geschrieben, wenn der Drucker zum ersten Mal in dem Netzwerk installiert wird. Auf diese Art und Weise erlaubt das NVRAM 228 der NEB-Software, die Installationsparameter wiederherzustellen, nachdem die Stromversorgung des Druckers aus- und wieder eingeschaltet worden war.
- Software für das LAN umfaßt eine Kombination aus Netzwerk- Software und angepaßter NEB-Software wie beispielsweise NEB- eingebettete Software und auf dem PC des Netzverwalters residente Software.
- In dem vorliegenden Ausführungsbeispiel wird NetWare®-Netzwerksoftware eingesetzt, um Interaktionen zwischen Knoten eines Netzwerks derart zu verwalten, daß die Client-Arbeitsstationen Dienste von Server-Knoten wie beispielsweise Platten-Datei-Servern, Datenbank-Servern, Druck-Servern usw. teilen und empfangen können. NetWare® selbst ist eine Kombination von Software-Modulen, die auf diesen Server-Netzknoten und auf jedem Arbeitsstation-Netzknoten laufen. Wenigstens ein Datei-Server kann in einem Novell-Netzwerk bereitgestellt werden. NetWare® läuft als Betriebssystem für den PC des Datei-Servers, um grundlegende Netzwerk-Kerndienste und Hilfsprogramme bereitzustellen. Datei-Server können unter Verwendung von bis zu vier Netzwerk-Schnittstellenkarten zu mehr als einem LAN verbinden (bevorzugt Ethernet oder Token-Ring- Verbindungen). In diesen Konfigurationen werden "brückenbildende" oder "rückgratbildende" Dienste zwischen einer Vielzahl von LANs bereitgestellt, wie in Fig. 2 gezeigt, derart, daß Ressourcen, einschließlich Druckern, "netzübergreifend", d. h. von einem LAN zu einem anderen, geteilt werden können.
- Auf Arbeitsstationen läuft NetWare® kooperierend mit dem Arbeitsstation-Betriebssystem (DOS oder OS/2) als NetWare®- "Shell" einer Steuersoftware. Diese Shell hat den Effekt, daß die Dienste des Arbeitsstation-Betriebssystems auf das Netzwerk erstreckt werden, um Netzwerk-Ressourcen für die Arbeitsstation lokal erscheinen zu lassen.
- Novell PSERVER Software hat die Aufgabe des Steuerns einer Gruppe von Druckern (bis zu sechzehn) in Reihenfolge, um Druckanforderungen von Netzwerkknoten zu bedienen. Anforde rungen werden in einer Form von Druck-Schlangen strukturiert, die auf dem Netzwerk-Datei-Server unter Verwendung von Netzwerkschlangen-Verwaltungsdiensten gehalten werden. Schlangeneinträge enthalten eine Liste von zu druckenden Dateien. Die Dateien enthalten zu druckende Daten wie beispielsweise Tabulatoren, Papiertransport und andere Befehle der Druckerbeschreibungssprache (Printer Description Language, "PDL"). Mehrere Schlangen können von einem einzelnen PSERVER bedient werden.
- Standard-Novell-Server sind in verschiedenen Versionen in Abhängigkeit von der Art des Netzwerkknotens, auf dem sie auszuführen sind, erhältlich. Druck-Server-Programme können auf dem Datei-Server selbst vorhanden sein. Eine Version der Druck-Server-Software kann auch auf einem selbständigen DOS- Station-Knoten geladen sein, um diesen Netzknoten zu einem dedizierten Druck-Server zu machen.
- Durch Bereitstellen von Druck-Server-Funktionalität (CPSERVER) für die erfindungsgemäße NEB 2 bieten die NEB und der angeschlossene Drucker alle Druckdienste eines üblichen Novell-Druck-Servers, ohne daß ein angeschlossener PC erforderlich ist.
- Drucker selbst werden als entweder "lokal" oder "entfernt" betrachtet. Ein lokaler Drucker ist ein Drucker, der physikalisch mit dem Druck-Server-Netzknoten verbunden ist. Im Fall der NEB 2 ist der lokale Drucker der Drucker, der die NEB beherbergt. Ein entfernter Drucker wird von RPRINTER-Programmen, die in den PCs laufen, mit denen sie verbunden sind, verwaltet. RPRINTER empfangen Druckdaten von PRINTSERVERn, die anderswo im LAN laufen. Die erfindungsgemäße NEB 2 kann mit RPRINTER-Funktionalität versehen sein (CRPRINTER), um ihren Drucker als einen im Netzwerk entfernten Drucker anzubieten. In dieser Betriebsart ist sie voll kompatibel mit üblichen Versionen von Novell-Druck-Servern.
- Novell NetWare® stellt eine Anzahl von Druck-Hilfsprogrammen bereit, um Datei-Server- oder Arbeitsstation-basierte Druck- Server und deren angeschlossene Drucker zu konfigurieren und zu steuern. Das Novell-Programm PCONSOLE ist ein menügeführtes Hilfsprogramm, das es einem Benutzer (dem Bediener der Druckerkonsole) erlaubt, einen neuen Druck-Server zu schaffen, bis zu sechzehn lokale oder entfernte Druck-Ports zu konfigurieren, Druck-Schlangen zu erzeugen, Schlangen Druckern zuzuweisen, und Drucker- und Server-Betriebsabläufe in Gang zu setzen und anzuhalten.
- Die NEB 2 wird mit Software-Modulen gebündelt, die die volle Auswahl von Druckdiensten implementieren, die von NetWare® angeboten wird. Dies schließt externe NetWare®-kompatible Module, die auf Arbeitsstation-Knoten des Netzwerks ausgeführt werden, zusätzlich zu internen NetWare®-kompatiblen Modulen, die auf der NEB 2 im Innern des Druckers laufen, ein. Die speziellen NetWare®-kompatiblen Programme, die zur Verwendung mit der NEB 2 entwickelt wurden (beispielsweise die nachstehend zu beschreibenden, angepaßten Programme CPSERVER und CRPRINTER), sind mit denselben allgemeinen Betriebsschnittstellen wie Standard-Druck-Module von Novell versehen, um Novell-Benutzern und Netzwerk-Verwaltungspersonal vertraut zu sein.
- Die angepaßten Versionen beinhalten zweckmäßige Erweiterungen ein, die Nutzen aus der offenen Architektur des Druckers 4 ziehen, um die Verwaltung der Druckdienste über das Netzwerk hinweg zu verbessern.
- Tabelle 2 zeigt die Funktionen, Implementierungen und betriebsbezogenen Anmerkungen für die angepaßte Software, die für die NEB entwickelt wurde. Tabelle 2
- Die für die NEB 2 entwickelte Software beinhaltet Software, die in der NEB eingebettet ist, und Software, die in den PC 14 des Netzverwalters geladen ist. Die in die NEB eingebettete Software stellt sowohl den NetWare®-kompatiblen Knoten als auch die NetWare®-kompatiblen Druckdienste direkt in dem Drucker 4 bereit, ohne zusätzlichen Arbeitsstation-PC und dessen DOS-Betriebssystem. Die in die NEB eingebettete Software umfaßt eine Vielzahl von Anwendungs-Modulen (CPSERVER, CRPRINTER usw.), Echtzeit-Dienst-Module, Netzwerk-Protokoll- Stapel und ein Programm MONITOR, welches die Umschaltung zwischen Anwendungen, Prozeßerweiterungen, Geräte-Semaphoren und geteilte Pufferpool-Verwaltung durchführt. Die Funktionalität der NEB wird durch die Arten von Anwendungs-Modulen und der Zahl der Protokollstapel von Netzwerk-Schichtkommunikation- Software bestimmt, die in die NEB 2 konfiguriert ist. Die Wechselwirkung zwischen dem Drucker 4 und dem Netzwerk wird durch das Programm MONITOR koordiniert, das auf Echtzeit- Ereignisse anspricht, während es der NEB Verarbeitungszeit für jedes Anwendungs-Modul auf einer Multitasking-Basis zu teilt.
- Die NEB-Software-Funktionen bei zwei Schichten sind: eine "Laufzeit-" oder Echtzeit-Schicht; und eine "Soft-Zeit" oder Anwendungs-Schicht. Die Laufzeit-Schicht besteht aus Komponenten der NEB-Software, die auf Unterbrechungen des Mikroprozessors ansprechen. Diese Schicht bedient Einrichtungen wie beispielsweise einen Zeitmesser, wartende Datenübertragungsanforderungen des SCSI-Ports, oder LAN-Daten durch die Protokollstapel-Routine, und den CPSOCKET-Kommunikationsmechanismus (der nachstehend in Abschnitt 4j zu beschreiben ist).
- Die Soft-Zeit-Schicht wird durch das Programm MONITOR (das nachstehend in Abschnitt 41 beschrieben wird), welches Kontrolle über den NEB-Mikroprozessor 216 erlangt, nachdem alle Echtzeit-Ereignisse bedient wurden, verwaltet und gesteuert. Ein nicht wiedereintrittsfähiger Ansatz (kooperatives Multitasking) wird herangezogen, um den Prozessor zwischen den unterschiedlichen Anwendungs-Modulen, die derart geladen werden, daß kein einzelnes Anwendungs-Modul durch Inbeschlagnehmen des Mikroprozessors anderen Modulen vorgreifen kann, aufzuteilen.
- Das NEB-EPROM 222 enthält bis zu 256 KB Anwendungs-Modul-Programme und NEB-Initialisierungscode. Beim Einschalten oder während einer programmierten Rücksetzung führt die NEB 2 einen POST aus dem EPROM 222 aus, bevor sie ihren EPROM-Code selektiv in NEB-DRAM 220 verlagert. Falls der POST erfolgreich ist, wird die NEB 2 ihre Protokollstapel und Anwendungs-Module in DRAM laden und die Ausführung ihrer Anwendungs-Module beginnen.
- In ihrer Grundkonfiguration enthält die NEB 2 NetWare®-kompatible Anwendungs-Module, die eingebettete Versionen von zwei Konfigurationen umfassen: den angepaßten Entfernten Drucker ("CRPRINTER"); und den angepaßten Druck-Server ("CPSERVER"). Bevorzugt arbeitet die NEB in nur einer dieser Konfigurationen gleichzeitig. Darüber hinaus erfordern diese Anwendungs-Module, daß ein Netzwerk-Protokoll-Stapel geladen ist und innerhalb der NEB funktioniert.
- Wenn mit RPRINTER-Funktionalität konfiguriert, betreibt die NEB unter Verwendung eines CRPRINTER-Moduls ihren Drucker einem externen Druck-Server untergeordnet. In dieser Konfiguration gibt die NEB auf das LAN nur eingeschränkte Drucker-Statusinformationen aus in einer Emulation dessen, was die Standard-Novell-Server von einem Standard-Novell-RPRINTER erwarten. Jedoch sind noch immer erweiterte Statusinformationen über den Drucker verfügbar, wenn das CPCONSOL-Hilfsprogramm (vorstehend beschrieben) in dem PC 14 des Netzverwalters ausgeführt wird.
- Wie vorstehend erwähnt wurde, beinhaltet die NEB 2 eingebettete Software-Programme CPSERVER und CRPRINTER, die die NEB in die Lage versetzen, mit entweder PSERVER- oder RPRINTER- Funktionalität auf dem Netzwerk zu arbeiten. Die angepaßte NEB eingebettete Software, die Peripheriegeräte-Status- und -Steuer-Informationen über das LAN zuläßt, ist CPSOCKET (welches nachstehend in Abschnitt 4j beschrieben wird). CPSOCKET läuft auf der NEB und überwacht das LAN auf Kommunikationen, die an sowohl die NEB 2 als an den angeschlossenen Drucker 4 gerichtet sind. Ferner kommuniziert CPSOCKET mit CPINIT und CPCONSOL, wenn diese laufen. CPSOCKET unterhält eine Tabelle von Standardeinstellungen für die Geräteumgebung, lädt grundlegende Konfigurationsinformationen (Zeichensätze und Emulationen) beim Einschalten herunter, stellt Geräteinformationen, Statistiken und Protokollinformationen für CPCONSOL- Anzeigen bereit und sorgt für Rücksetz-, Reboot- und Herunterladefähigkeiten.
- CPSOCKET ist auch für die Konfiguration der NEB 2 verantwortlich. Darüber hinaus konfiguriert und aktiviert CPSOCKET Anwendungen auf der NEB auf Anforderung von CPINIT. CPSOCKET stellt auch sicher, daß die korrekten Protokollstapel für jede konfigurierte Anwendung verfügbar sind. CPSOCKET handhabt die Einstellungen der NEB 2 und die Druckervariablen bei Anforderung sowohl CPINIT als auch CPCONSOL. Schließlich kon taktiert die Herunterlade-Einrichtung (beispielsweise der PC 14 des Netzverwalters) CPSOCKET, um ein beliebiges Herunterladen von Firmware auszuführen, wie beispielsweise das Brennen des EPROM 222, das erforderlich ist.
- Bei der Initialisierung geben Programme wie beispielsweise CPINIT und CPCONSOL ein Dienstanbiete-Protokoll (Service Advertising Protocol, "SAP" auf das LAN aus, welches nach allen Netzwerk-Geräten sucht, die die angepaßte Software der NEB 2 haben. CPSOCKET empfängt dieses Rundsendesignal und antwortet. CPINIT oder CPCONSOL etablieren dann eine spezielle Verbindung mit CPSOCKET unter Verwendung eines angepaßten Client-Sockels. CPSOCKET gibt dann mehrere Listen aus und stellt Client-Service-Transaktionen wie beispielsweise NEB-Steuerung, Einrichtungsinformationen, Grundkonfigurationsinformationen, Anwendungsinformationen, Statistiken und Protokolle bereit. Zum Beispiel kann CPINIT anfordern, daß eine Anwendung konfiguriert wird, und kann CPCONSOL anfordern, daß eine bereits konfigurierte Anwendung aktiviert oder deaktiviert wird. CPSOCKET stellt sicher, daß die geeignete Option (Protokollstapel) verfügbar und für eine Anwendung konfiguriert ist, bevor es erlaubt, daß die Anwendung selbst konfiguriert wird. Innerhalb der NEB ist das CPSOCKET-Betriebsmodul immer aktiviert.
- Zusätzliche Druckdienst-Anwendungen können nach dem Laden weiterer Anwendungs-Module in die NEB genutzt werden, beispielsweise UNIX-Druckdienste und zugeordnete Protokoll- Implementierungen.
- Um die Funktionalität der NEB 2 weiter zu steigern, ist ferner angepaßte Software auf dem PC 14 des Netzverwalters bereitgestellt. Beispielsweise stellt ein angepaßtes PCONSOLE- Hilfsprogramm ("CPCONSOL"; in weiteren Einzelheiten nachstehend in Abschnitt 41 beschrieben) Erweiterungen für Novell's PCONSOLE-Drucker-Hilfsprogramm bereit, um Zugriff auf die leistungsfähigen Steuer- und Überwachungsfunktionen des Druckers 4 mit offener Architektur zu ermöglichen. Die folgenden sind zum Beispiel typische Status-Steuerinformationen, die für das Netzwerk von dem Drucker durch Verwendung von CPCON- SOL verfügbar sind: (A) Status- und Steuer-Informationen wie beispielsweise aktivinaktiv, keine Antwort, Zeit/Datüm/Zeitzone, Sprache, Versatz, Fehlerauslaß-Einstellungen, Zeitmesser, Summer freigegeben, wenig Toner, Papier voll, Papierzähler, Zählwert seit letztem Dienst, Papiermangel, Papierstau; (B) Zeichensatz-Informationen wie beispielsweise erster, zweiter, graphischer Satz, Skalierung, Drehung, Elite; (C) Layout-Informationen wie beispielsweise Seitenorientierung, Zeilenabstand, Zeichenabstand; (D) Qualitäts- und allgemeine Umgebungs-Informationen wie beispielsweise Anzahl von Kopien, Überlagerung, Job vollständig bearbeitet, Befehlsmodus, Standard-Papiergröße, aktuelle Papiergröße; und (E) Konfigurationsinformationen wie beispielsweise Schnittstelle, Puffergröße, Zufuhrauswahl, Duplex-Druck, Seitenstapel-Reihenfolge, usw. Darüber hinaus beinhalten Konfigurationsdaten für den Drucker, die durch Verwendung von CPCONSOL dem Netzwerk zugänglich sind: (A) Netzwerk-Gruppeninformationen wie beispielsweise Protokolltyp, der Knotenname, der Datei-Server- Name, Routing, POST-Fehlercode, NEB-Firmware-Nummer, MAC- Adresse, Server-Betriebsart; und (B) Drucker-Gruppeninformationen wie sichere (Standard-) Umgebung, Zeichensatz, Platte vorhanden, Plattengröße, anfängliche Umgebung, Protokoll ein/aus, Protokolldateigröße, konfiguriert/ nicht konfiguriert, und Netzname. Zusätzlich können Protokolle des Druckjob-Flusses, der Druckwerk-Nutzung und des Netzwerkverhaltens geführt werden. Beispiele einer derartigen Verwendung und statistische Protokolleinträge beinhalten ein: (A) Netzwerk- Gruppeninformationen wie beispielsweise Empfangsstatistiken, Übertragungsstatistiken und nicht medienbezogene Informationen; (B) Job-Eintragsinformationen wie Datum/Zeit/Zeitzone, Anmeldungen (Name des Benutzers), Jobname, Seiten, Kopienzähler und Druckstatus; (C) Initialisierungseintragsinformationen; (D) Fehlerzustand-Eintragsinformationen; (E) Löschprotokoll-Eintragsinformationen; und (F) Drucker-Gruppeninforma tionen wie beispielsweise die Anzahl von Jobs, die Seiten/Job, die Seiten/Minute, die Zeit/Job, die Gesamtseitenzahl/Tag, die Gesamtjobzahl/Tag, die Anzahl von Tagen und die Gesamtzahl der Rücksetzungen.
- CPCONSOL ist ein menügeführtes ausführbares DOS-Programm, dessen Funktion darin besteht, Erweiterungen für das Novell PCONSOLE-Drucker-Hilfsprogramm bereitzustellen. Die CPCONSOL- Erweiterung ermöglicht den Zugriff auf die zusätzlichen Steuer- und Überwachungsfunktionen des Druckers 4 mit offener Architektur. Diese Funktionen verbessern die Druckdienste-Verwaltung für das Netzwerk, indem sie dem PC 14 des Netzverwalters erlauben, den Drucker von einem entfernten Ort zu steuern und zu warten. Zusammenfassend ist CPCONSOL das Hilfsprogramm, das Drucker-Steuerfunktionen an den Netzverwalter exportiert, die Neukonfiguration des sicheren (Standard-) Umgebung erlaubt und es dem Netzverwalter ermöglicht, Netzwerk- und Druckerstatus, Job-Statistik und ein Protokoll der zuvor verarbeiteten Jobs und Fehlerzustände einzusehen. CPCONSOL sammelt die angeforderten Informationen durch Kommunizieren mit der NEB-eingebetteten Software-Programm-Modul CPSOCKET.
- Ein weiteres angepaßtes Software-Programm auf dem PC 14 des Netzverwalters ist Angepaßter Peripheriegeräte-Initialisierer (Customized Peripheral Initializer, "CPINIT"; nachstehend in Abschnitt 4h beschrieben), welches ebenfalls ein menügeführtes, ausführbares DOS-Programm ist. Die Funktion des Programms besteht darin, den an die NEB 2 angeschlossenen Drucker 4 zu konfigurieren, neu zu konfigurieren und zu initialisieren.
- Das CPINIT-Modul konfiguriert die NEB derart, daß diese als Druck-Server mit einem angeschlossenen Drucker arbeitet, und spezifiziert deren primären Datei-Server, durch den die NEB ermittelt, welche Schlangen zu bedienen sind. CPINIT ist das Programm, das alle ähnlich angepaßten Geräte auf dem LAN (beispielsweise andere NEBs in anderen Druckern mit offener Architektur) überwacht. CPINIT löst diese Aufgabe durch Kommunizieren über das Netzwerk mit anderen NEBs, die sich in Peripheriegeräten mit offener, Architektur befinden. CPINIT wird dazu benutzt, jede NEB mit den geeigneten Grundkonfigurationsinformationen zu konfigurieren, wie beispielsweise Konfigurieren der NEB als CPSERVER oder CRPRINTER. Die Grundkonfigurationsinformationen umfassen NEB-Umgebungseinstellungen (einschließlich welche Druckserver-Anwendungen aktiv sind), sowie Geräte-Umgebungsoptionen (beispielsweise eine Liste von Zeichensätzen und Emulationen zum Herunterladen zur Drucker-Initialisierungszeit), und Geräte-Standardeinstellungen (wie beispielsweise interne Geräte-Zeit/Datum/ Zeitzone, Puffergröße, Platten- und Protokollierungs-Informationen und Druckername). Das CPINIT Programm zeigt auch Status-Informationen über die NEB (wie beispielsweise die Nummer der in die NEB geladenen Firmware) und berichtet latente POST- Fehler.
- Das Programm CPINIT rundsendet über das Netzwerk, um zu erfassen, welche anderen angepaßten Geräte auf dem LAN verfügbar sind. Die an solche anderen angepaßten Geräte angeschlossenen NEBs werden mit ihren Identifikationsnummern, ihren Gerätetypen und ihren Konfigurationszuständen antworten. CPINIT wird eine Liste dieser NEBs und Geräte erstellen, die dem Netzwerkverwalter präsentiert wird, um deren Konfiguration oder Neukonfiguration zu ermöglichen.
- Ein Programm DOWNLOADER kann ebenfalls in den PC 14 des Netzverwalters geladen sein, um ausführbare Dateien über das Netzwerk in die NEB herunterzuladen (nachstehend in weiteren Einzelheiten in Abschnitt 4n beschrieben).
- Ein weiteres angepaßtes Programm, das auf dem PC 14 des Netzverwalters laufen kann, ist CPFLASH, welches dazu benutzt werden kann, von fern neue Firmware in das EPROM 222 zu brennen, wie nachstehend in weiteren Einzelheiten in Abschnitt 4q beschrieben wird.
- Zunächst wird eine Übersichtsbeschreibung der Struktur und der Funktionen der NEB in Bezug auf das Ablaufdiagramm gemäß Fig. 5A, 5B und 5C bereitgestellt. Danach werden ausführlichere Beschreibungen verschiedener Aspekte der NEB-Hardware und -Software in Bezug auf Abschnitte 4a bis 4q bereitgestellt.
- Die Erfindung zieht Vorteil aus der bidirektionalen Natur der Kommunikation zwischen dem Drucker und der NEB sowie der Fähigkeit der NEB, Informationen auf einer Multitasking-Basis zu verarbeiten. D. h., der bidirektionale SCSI-Bus kann große Mengen von Daten sowohl zu dem Drucker hin als auch von dem Drucker weg übertragen, welches der NEB ermöglicht, große Mengen bestimmter Statusdaten von dem Drucker oder sogar eine Dateneingabe von dem Peripheriegerät (wie beispielsweise die Bilddateneingabe von einem Scanner) zu empfangen. Der NEB- Mikroprozessor verarbeitet Informationen auf einer Multitasking-Basis (sequentiell, aber gemeinsam), wodurch effektiv Informationen, die von dem Netzwerk empfangen wurden, und Informationen, die von dem Drucker empfangen wurden, parallel verarbeitet werden. Diese Multitasking-Verarbeitung stellt sicher, daß die NEB auf sowohl das Netzwerk als auch den Drucker auf einer nahen Echtzeit-Basis anspricht.
- Fig. 5A, 5B und 5C umfassen ein Ablaufdiagramm oberster Ebene, das eine fiktive Reihenfolge von Ereignissen darstellt, die auftreten können, wenn die NEB und ihre zugeordnete Software in einem mit einem Lokalbereichsnetzwerk verbundenen Drucker installiert sind. Insgesamt erzeugt der Drucker Druckinformationen und ist durch eine bidirektionale SCSI- Schnittstelle mit der NEB verbunden. Der Drucker kann ferner einen parallelen Port und/oder einen seriellen Port zum Empfangen von Druckinformationen von anderen Quellen besitzen. Die NEB ist mit dem Drucker über die bidirektionale SCSI- Schnittstelle verbunden, wobei die Platine Druckerinformationen von dem Lokalbereichsnetzwerk empfängt. Die Platine sendet Druckjobs und Druckerstatus-Anfragen an den Drucker über die SCSI-Schnittstelle, empfängt einen Druckerstatus von dem Drucker über die SCSI-Schnittstelle, und berichtet einen Druckerstatus über das Netzwerk.
- Wo die NEB mit einer Datenerzeugungseinrichtung wie beispielsweise einem Scanner verbunden ist, ist die Platine mit dem Scanner über die bidirektionale SCSI-Schnittstelle verbunden und über die LAN-Schnittstelle mit dem Netzwerk gekoppelt. Die Platine empfängt Statusanforderungsinformationen von dem Netzwerk und reicht diese Informationen über die bidirektionale Schnittstelle an den Scanner weiter. Die Platine empfängt auch die Daten, die von dem Scanner erzeugt wurden, über die bidirektionale Schnittstelle, und reicht diese Daten über die LAN-Schnittstelle an das Netzwerk weiter.
- Eine Reihenfolge von Ereignissen illustrierend, die vorkommen können, wenn die NEB in einem Drucker installiert ist, beginnt Fig. 5A, wenn der NEB in Schritt S1 Leistung zugeführt wird. In Schritt S2 führt die NEB einen Selbsttest nach dem Einschalten ("POST") aus dem EPROM 220 aus. In Schritt S3 schreitet dann, wenn der POST erfolgreich beendet worden ist, der Prozeß zu Schritt S5 fort, in dem der Betriebscode des NEB-EPROM 222 den Netzwerk- und Drucker-Konfigurationscode aus dem NVRAM 228 liest. Falls der POST in Schritt S3 nicht erfolgreich beendet wurde, wird in Schritt S4 eine Mißerfolgsmeldung protokolliert, und diese Information kann über die LAN-Schnittstelle an das Netzwerk übertragen werden. Eine LED-Fehler/Diagnose-Leuchte an der NEB oder dem Drucker kann ebenfalls aktiviert werden.
- Nachdem der Netzwerk- und der Konfigurationscode aus dem NVRAM 228 gelesen wurden, schreitet die Prozedur zu Schritt S6 fort, in dem der Betriebscode des NEB-EPROM ausgewählte Konfigurations-Module, Protokollstapel, Haushalts-Module usw. (beispielsweise das MONITOR-Multitasking-Modul, CPSOCKET, CPSERVER usw.) aus dem EPROM 222 liest und die ausgewählten Module in das DRAM 220 herunterlädt. In Schritt S6 wird eine Konfiguration ausgewählt (in Übereinstimmung mit der von CPINIT festgelegten Konfiguration), die eine Betriebsart (bei spielsweise CPSERVER oder CRPRINTER) der interaktiven Netzwerk-Platine definiert. Wie nachstehend in weiteren Einzelheiten in Abschnitt 4d noch beschrieben wird, wird ein binärer Konfigurationscode über das LAN gesendet und in dem NVRAM 228 gespeichert. Nachdem die NEB hochgefahren ist, wird der Konfigurationscode unter Verwendung ROM-residenter Einschaltprozeßschritte aus dem NVRAM gelesen. Unter Verwendung der ROM-residenten Einschaltprozeßschritte werden ROM-residente ausführbare Module in Übereinstimmung mit dem aus dem NVRAM gelesenen Konfigurationscode ausgewählt. Die Module werden in bitweiser Übereinstimmung zu den binären Ziffern des Konfigurationscodes im NVRAM ausgewählt. Die ausgewählten Module werden dann in DRAM gespeichert, und die Ausführungssteuerung für die Module wird an DRAM übergeben, woraufhin die ausgewählten Module ausgeführt werden. Auf diese Art und Weise können mehrfache Konfigurationen definiert und selektiv geändert werden.
- In Schritt S7 wird der EtherNet-Rahmentyp der auf dem LAN übertragenen Informationspakete festgelegt (wie nachstehend in weiteren Einzelheiten in Abschnitt 4e beschrieben wird). D. h., EtherNet unterstützt vier unterschiedliche Rahmentypen: EtherNet 802.3; EtherNet II; EtherNet 802.2; und Ether- Net SNAP. Um den EtherNet-Rahmentyp festzulegen, ermittelt ein Vorabtast-Prozeß ("PRESCAN"), welcher Rahmentyp auf dem LAN resident ist (aus beliebigen LAN-Rundsendedaten), und konfiguriert den geeigneten NEB-residenten Protokollstapel für diese Daten. Der Vorabtast-Prozeß entfernt Bytes von Daten von einem empfangenen LAN-Paket, bis die Bytes, die den Rahmentyp anzeigen, erreicht sind. Kurz gesagt stellt Schritt 57 für die NEB die Fähigkeit, LAN-Pakete unterschiedlicher Rahmentypen zu verarbeitet, bereit durch: Empfangen eines Rahmens von Daten von dem LAN, Vorabtasten des Rahmens, um den Rahmentyp zu ermitteln, und Verarbeiten, auf der NEB, des identifizierten Rahmens unter Verwendung eines geeigneten Verarbeitungsprogramms. Der Vorabtastvorgang beinhaltet die Unterschritte des Entfernens einer vorbestimmten Anzahl von Bytes aus dem Vorspann des Rahmens, Verarbeiten des verkürz ten Rahmens, um einen Identifikationscode zu identifizieren, der den Rahmentyp anzeigt, und Übertragen des identifizierten Rahmens an das zum Verarbeitungsprogramm.
- In Schritt S8 findet ein Zeitmesser-Modul, das in Schritt S6 heruntergeladen worden war, den nächsten LAN-Server und fordert die aktuelle Zeit an. Nach Empfangen der aktuellen Zeit schreitet der Prozeß zu Schritt S9 fort, in dem ermittelt wird, ob es Mitternacht ist, d. h., ob die zurückgegebene Zeit ein neues Datum anzeigt.
- Schritte S9 bis S12 umfassen eine sogenannte "autologging"- Funktion, die in der NEB durch das Programm CPSOCKET ausgeführt wird, um automatisch und systematisch Statusinformationen von dem Drucker an das LAN bereitzustellen (autologging wird in weiteren Einzelheiten nachstehend in Abschnitt 4k beschrieben). In Schritt S9 schreitet dann, wenn Mitternacht nicht erreicht worden ist, die Prozedur zu Schritt S13 fort. Wenn jedoch Mitternacht erreicht worden ist, überträgt der NEB-Mikroprozessor 216 eine Anforderung über den SCSI-Bus an den Drucker, damit der Drucker seinen aktuellen Status an die NEB zurückgibt. Zum Beispiel kann der Drucker die kumulative Anzahl gedruckter Seiten an die NEB zurückgeben. In Schritt S11 berechnet der NEB-Mikroprozessor 216 Drucker-Statistiken wie beispielsweise die Seiten pro Job oder die Seiten pro Tag, da die NEB Buch über die Anzahl der an den Drucker gesendeten Jobs und das Datum geführt hat. In Schritt S12 werden die Drucker-Statistiken in einen nicht flüchtigen Speicher wie beispielsweise die Festplatte 114 des Druckers, das NVRAM 111, oder das NVRAM 228 der NEB übertragen. Alternativ können die Schritte S10, S11, S12 vor Schritt S9 durchgeführt werden, so daß Statistiken nach Ablauf jeweils einer Minute gespeichert werden.
- Die Schritte S9 bis S12 zusammenfassend, beinhaltet ein Verfahren zum Protokollieren von System-Statistiken eines Druckers, der über eine bidirektionale Schnittstelle mit einer interaktiven Netzwerk-Platine für LAN-Kommunikation verbunden ist, die Schritte des Zählens der Anzahl gedruckter Seiten in dem Drucker und der Zählens der Anzahl gedruckter Jobs auf der Platine. Der Drucker wird täglich über die bidirektionale Schnittstelle auf die Anzahl gedruckter Seiten abgefragt, und die Platine berechnet täglich Statistiken unter Verwendung der Anzahl von Seiten, der Anzahl von Jobs und anderer Status-Informationen. Die täglichen Statistiken werden dann gespeichert, und können unter Verwendung von CPCONSOL von dem PC 14 des Netzverwalters aus fern angezeigt oder geöffnet werden. Ein zusätzliches Merkmal der "autologging"-Funktion besteht darin, daß unterschiedlichen Niveaus von Statistiken protokolliert werden können. Zum Beispiel kann auf einem Grundniveau nur die Anzahl von Seiten für jeden Job protokolliert werden. Auf höheren Niveaus kann die Anzahl von Seiten pro Job plus ein Protokoll von Fehlerzuständen protokolliert werden; oder es können die Job-Start- und Ende-Zeiten zusätzlich zu den Fehlerzuständen und der Anzahl von Seiten pro Job protokolliert werden. Das Protokollniveau wird durch CPINIT festgelegt.
- In Fig. 5B gibt in Schritt S13 das Programm SAPSERVER (nachstehend in weiteren Einzelheiten in Abschnitt 4g beschrieben) bekannt, daß die NEB sowohl CPSERVER- als auch CPSOCKET- Identitäten hat. Somit können die NEB und der angeschlossene Drucker in ihren Doppelrollen als PSERVER und angepaßte Einheit (CPSOCKET; d. h. ähnlich zu anderen LAN-Peripheriegeräten mit in diesen installierter NEB) arbeiten. SAPSERVER ist ein NEB-residentes TSR-Programm, welches erlaubt, daß mehr als ein Server der Netzwerk-Dienste gleichzeitig auf demselben Knoten bekanntgibt. Infolgedessen geben CPSOCKET und CPSERVER beide ihre Dienste durch SAPSERVER bekannt und antworten auf Anfragen von anderen Netzwerk-Anwendungen. Da jede EtherNet- Platine nur eine SAP-Sockelnummer haben kann, arbeitet SAP- SERVER derart, daß beide NEB-Identitäten bekanntgegeben werden, ohne daß es zu einer Verwirrung auf dem LAN kommt.
- Zusammenfassend ist Schritt S13 ein Verfahren zum Identifizieren einer einzelnen interaktiven Netzwerk-Platine als zwei Netzwerk-Server (beispielsweise CPSERVER und CPSOCKET), umfassend die Schritte des Übertragens eines Signals an das Netzwerk in einem vorbestimmten Zeitintervall, welches anzeigt, daß die Platine ein erster Typ einer Netzwerk-Einheit ist, wobei das Signal ein Identifikationssignal beinhaltet, das für die Platine einmalig ist; sodann Übertragen eines zweiten Signals an das Netzwerk in dem vorbestimmten Zeitintervall, um anzuzeigen, daß die Platine ein zweiter Typ einer Netzwerk-Einheit ist, wobei das zweite Signal ebenfalls dasselbe einmalige Identifikationssignal beinhaltet. Wenn ein Signal einmal von dem Netzwerk empfangen wurde und anfordert, daß die Platine Funktionen eines der Typen von Netzwerk-Einheiten durchführt, wird eine direkte Kommunikation zwischen der Platine (die als der angeforderte Typ von Netzwerk-Einheit arbeitet) und der Netzwerk-Einheit, die die Anforderung erzeugt hat, eingerichtet. Wenn die direkte Kommunikation eingerichtet ist, wird die NEB ein neues einmaliges Identifikationssignal verwenden.
- In Schritt S14 werden sowohl das LAN als auch die SCSI- Schnittstellen auf Daten überprüft, die an CPSOCKET gerichtet sind (in weiteren Einzelheiten nachstehend in Abschnitt 4j beschrieben). Die SCSI-Schnittstelle wird typisch Drucker- Status-Daten haben, die in Antwort auf eine vorangehend empfangene Statusanforderung auf das LAN weiterzureichen ist. CPSOCKET ist das NEB-residente TSR-Programm, das auf solche Verbindungsanforderungen, Anforderungen, Daten herunterzuladen, oder Dienstanforderungen von entfernten Hilfsprogrammen antwortet. CPSOCKET sammelt je nach Bedarf Informationen von der NEB oder dem Drucker, überwacht Anforderungen, in die Protokolldatei zu schreiben, überwacht Anforderungen von Anwendungen nach Gerätestatus und unterhält Job-Statistiken, wie vorstehend beschrieben wurde.
- Kurz gesagt ist das Programm CPSOCKET ein Verfahren zum Einbinden einer interaktiven Netzwerk-Platine zwischen das Netzwerk und ein Peripheriegerät, umfassend die Schritte des Übertragens eines Programms aus dem ROM der Platine in RAM der Platine zur Ausführung aus dem RAM; und Überwachens, mit dem Programm, einer Platine-Netzwerk-Schnittstelle, um eine Netzwerk-Kommunikation zu erfassen, die an das Peripheriege rät gerichtet ist. Das Programm befiehlt dann dem Peripheriegerät, eine Funktion in Antwort auf die Netzwerk-Kommunikation durchzuführen, und überwacht eine bidirektionale Peripheriegeräte-Schnittstelle auf der Platine, um Statusinformationen des Peripheriegerätes zu erfassen und zu speichern. Schließlich gibt das Programm die Peripheriegeräte-Statusinformationen durch die Netzwerk-Schnittstelle in Antwort auf eine weitere Netzwerk-Kommunikation auf das Netzwerk aus.
- In Fig. 5B zeigen Schritte S15 und S17 "Laufzeit"-Schicht- Funktionen, und repräsentiert Schritt S20 eine "Soft-Zeit"- Anwendungsschicht. Zunächst ermittelt Schritt S15, ob Daten über das LAN empfangen werden. Wenn LAN-Daten empfangen werden, schreitet der Prozeß zu Schritt S16 fort, und der Software-Protokolltyp wird ermittelt (in weiteren Einzelheiten nachstehend in Abschnitt 4f beschrieben). Zum Beispiel können die Ethernet-Daten, die über das LAN empfangen werden, eines der folgenden Software-Protokolle sein: beispielsweise Net- Ware® über SPX/IPX; UNIX über TCP/IP; oder Mac System 7 über AppleTalk. Grundlegend kann der Software-Protokolltyp in Übereinstimmung mit dem in dem vorstehenden Schritt S7 erfaßten Rahmen-Pakettyp ermittelt werden.
- Falls CPSOCKET ermittelt, daß in Schritt S15 keine LAN-Daten empfangen werden, ermittelt Schritt S17, ob SCSI-Daten empfangen werden, und falls SCSI-Daten empfangen werden, werden diese in Schritt S18 von dem Drucker zugeführt und dann in Schritt S19 in DRAM 220 gespeichert.
- Nach dem Speichern von Drucker-Daten in Schritt S19, oder wenn in Schritt S17 keine SCSI-Daten empfangen werden, schreitet der Prozeß zu Schritt S20 fort, in dem "Soft-Zeit"- Aufgaben auf einer Multitasking-Basis gesteuert durch ein "MONITOR" genanntes Multitasking-Softwareprogramm (in weiteren Einzelheiten nachstehend in Abschnitt 41 beschrieben) durchgeführt werden. Schritt S20 ist daher ein "Hintergrund"- Prozeß, der gleichzeitig während des in Fig. 5A, 5B und 5C gezeigten Ablaufdiagramms läuft. D. h., wann immer "Soft- Zeit"-Aufgaben durchgeführt werden, gewährleistet der Mikro prozessor 216 eine zeitlich geteilte, parallele, nicht wiedereintrittsfähige Verarbeitung der "Soft-Zeit"-Aufgaben.
- Im einzelnen ist MONITOR ein Software-Modul, das in Schritt S6 von dem EPROM 222 in das DRAM 220 geladen wird. MONITOR ist ein nicht wiedereintrittsfähiges Multitasking-Überwachungsprogramm, das die Prozessornutzung unter den mehreren Anwendungsaufgaben, die gegenwärtig aktiv sind, verteilt. Die nicht wiedereintrittsfähige Natur des Monitors erfordert, daß jede Anwendungsaufgabe die Kontrolle periodisch abgibt, so daß andere Aufgaben die Gelegenheit zu ihrer Ausführung erhalten. Der Mechanismus der Abgabesteuerung ist unter Verwendung einer Software-Unterbrechung implementiert, um die Kontrolle an MONITOR zu übergeben. Bei einer Unterbrechung sichert MONITOR den Zustand der aktuellen Aufgabe, stellt den Zustand einer anderen aktiven Aufgabe wieder her, und nimmt die Ausführung der neuen Aufgabe wieder auf (oder beginnt diese). Die Aufgabe, die ursprünglich die Kontrolle abgegeben hat, erlangt schließlich die Kontrolle an dem Unterbrechungspunkt wieder zurück, d. h. mit ihrem in denselben Zustand zu dem Zeitpunkt, in dem sie die Kontrolle abgegeben hat, wiederhergestellten Kontext.
- Zusammenfassend umfaßt Schritt S20 den Schritt des Überwachens einer Vielzahl von Anwendungsaufgaben in einer interaktiven Multitasking-Netzwerk-Platine, um Prozessor-Ressourcen zu verteilen. Ein Speicher speichert eine erste Anwendungsaufgabe, die ein Datei-Server in eine Warteschlange stellen kann, um eine Netzwerk-Schnittstelle dazu zu bringen, eine Schlange von zu druckenden Druck-Dateien zu erhalten, und welche die Druck-Dateien an einen über eine Schnittstelle mit der Platine gekoppelten Drucker leitet. Der Speicher speichert ferner eine zweite Anwendungsaufgabe, die entfernte Statusanfragen über eine LAN-Schnittstelle empfangen kann, den Drucker über eine bidirektionale Schnittstelle abfragen kann, um den Drucker-Status und eine Antwort auf die empfangen Statusanfrage zu erhalten, und die Status-Informationen über die LAN-Schnittstelle für den Anforderer des Status bereitstellen kann. Die erste und die zweite Anwendungsaufgabe beinhalten jede einen Abgabebefehl, der bewirkt, daß die gegenwärtig ausgeführte Anwendungsaufgabe die Steuerung periodisch an den MONITOR abgibt. Der MONITOR sichert den Zustand der abgebenden Aufgabe, stellt den Zustand der nicht abgebenden Aufgabe wieder her und nimmt die Ausführung der nicht abgebenden Aufgabe wieder auf.
- In Fig. 5C ermittelt unter der Annahme, daß Daten über das LAN in Schritt S15 empfangen worden sind, Schritt S21, ob die empfangenen Daten für einen Druckjob bestimmt sind oder nicht. Falls diese für einen Druckjob bestimmt sind, arbeitet der Mikroprozessor 216 als der LAN-Server für eine aktive Druck-Datei und überträgt in Schritt S22 Druckjob-Blöcke an das DRAM 220.
- In Schritt S23 setzt der Mikroprozessor 216 Blöcke von Bilddaten und Steuerinformationen zusammen und sendet die Blöcke durch die SCSI-Schnittstelle an den Drucker. In diesem Schritt fügt der Mikroprozessor 216 effektiv "Beginn des Jobs"- und "Ende des Jobs"-Angaben zu dem Datenstrom, der über das LAN empfangen wird, hinzu. Es tut dies durch Öffnen des XP (Daten)-Kanals am Anfang eines Druckjobs, und durch Schließen des XP-Kanals am Ende eines Druckjobs.
- In Schritt S24 wartet der Prozeß, bis der Druckjob beendet ist. Wenn der Druckjob beendet ist, versetzt Schritt S25 den Drucker unzweideutig in eine Standardumgebung. Es ist ebenfalls möglich, die Standardkonfiguration vor (oder während) des Druckjobs einzustellen. D. h., die NEB selbst wird sicherstellen, daß der angeschlossene Drucker auf eine Standardumgebung eingestellt wird, die beispielsweise Standard- Zeichensätze, Papierkassetten, Schnitt, Heftung usw. spezifiziert, um sicherzustellen, daß der nächste Druckjob mit einem sich in einer bekannten Konfiguration befindenden Drucker begonnen wird (in weiteren Einzelheiten nachstehend in Abschnitt 4m beschrieben).
- Schritt S25 kann als ein Schritt betrachtet werden, der eine sichere Umgebung für den Drucker garantiert, indem gewährlei stet wird, daß zwischen logischen Druckjobs auf die Druckereinstellungen (beispielsweise Hochformat, Duplex usw.) zurückgekehrt wird. Zum Beispiel liegen, während Novell Net- Ware® die Möglichkeit beinhaltet, jedem Job Drucker-Escape- Sequenzen voranzustellen, um die Druckerumgebung zurückzusetzen, solche Escape-Sequenzen in einer Datenbank auf dem Netzwerk-Datei-Server, so daß der in Frage kommende Druckjob nicht von diesem Datei-Server stammen könnte. Um eine garantiert sichere Umgebung sicherzustellen, speichert die NEB die erforderlichen Konfigurationsparameter und ist das Zurücksetzen der Druckerumgebung zwischen Druckjobs verantwortlich.
- Zusammenfassend beinhaltet ein Verfahren zum Bereitstellen einer Standardkonfiguration für einen LAN-Drucker mit einer mit diesem gekoppelten interaktiven Netzwerk-Platine den Schritt des Empfangens einer Standardkonfiguration über eine LAN-Schnittstelle an der interaktiven Netzwerk-Platine ein. Die Standardkonfiguration kann in dem NVRAM 228 in der NEB gespeichert sein, oder kann in einem NVRAM oder auf einer Platte im Drucker über die bidirektionale Schnittstelle zwischen der Platine und dem Drucker gespeichert werden. Dann wird die Standardkonfiguration über die bidirektionale Schnittstelle aus dem NVRAM im Drucker in das DRAM 220 auf der Platine geladen. Wenn die Platine Druck-Informationen über die LAN-Schnittstelle empfängt und die Druck-Informationen über die bidirektionale Schnittstelle für den Drucker bereitstellt, erfaßt die Platine das Ende des Druckjobs. In Antwort auf diese Erfassung wird die Standardkonfiguration an den Drucker gesendet, wodurch der Drucker auf seine Standardkonfiguration eingestellt wird.
- Zusätzlich kann eine Vielzahl von Standardkonfigurationen gespeichert werden, und eine geeignete Standardkonfiguration kann entfernt von einer anderen LAN-Einheit ausgewählt werden. Zum Beispiel kann ein Verfahren zum Einstellen einer von einer Vielzahl von Standardkonfigurationen einen Schritt des Erfassens, an der Platine, des Ursprungs eines Druckjobs und Identifizierens der Quelle des Jobs beinhalten. Nachfolgend wird eine geeignete Standardkonfiguration aus den gespeicher ten Konfigurationen ausgewählt und die ausgewählte Standardkonfiguration dann am Anfang oder am Ende des Druckjobs an den Drucker gesendet.
- In Fig. 5C ermittelt, falls in Schritt S21 ermittelt wird, daß ein Druckjob nicht erforderlich ist, Schritt S26, ob eine Statusanforderung über das LAN erfolgt ist, die den Status des angeschlossenen Druckers anfordert. Falls ermittelt wird, daß eine Statusanforderung empfangen worden ist, ermittelt Schritt S27 die Art der Statusanforderung. Zum Beispiel kann ein Drucker-Status wie beispielsweise Fehlercodes, die Anzahl der gedruckten Seiten, der Toner-Status usw. angefordert werden.
- In Schritt S28 holt der Mikroprozessor 216 die angeforderten Statusdaten aus dem DRAM 220, setzt die Statusdaten zusammen und sendet diese über die LAN-Schnittstelle an das LAN (in weiteren Einzelheiten nachstehend in Abschnitt 41 beschrieben). Auf diese Art und Weise kann in Schritt S28 mehr als eine einfache "ein/aus"-Informationen auf das LAN übertragen werden, um das LAN über den ausführlichen Status des Druckers zu informieren. In einer breitgefächerten Anwendung umfaßt Schritt S28 den Export des Status des Drucker-Front-Bedienfelds über das LAN und den Import von Front-Bedienfeld-Steuerbefehlen von dem LAN. D. h., der Netzverwalter an dem PC 14 kann eine Anzeige anfordern und empfangen, die sämtliche Druckerinformationen zeigt, die von der Drucker-Front-Bedienfeldanzeige 116 umfaßt werden. Der Netzverwalter kann dann unterschiedliche Drucker-Front-Bedienfeldfunktionen auf seinem/ihrem PC aktivieren, so daß solche Funktionen dann an den Drucker übertragen werden, an dem die ausgewählte Steuerung ausgeführt wird.
- Zusammenfassend umfaßt in Schritt S28 ein Verfahren zum Fernsteuern einer manuell auslösbaren Funktion eines vernetzten Druckers durch eine interaktive Netzwerk-Platine mit einer LAN-Schnittstelle für die LAN-Kommunikation den Schritt des Ausgebens, an einem entfernten Ort, eines Befehls an die Platine, der die Platine veranlaßt, Drucker-Statusinformationen durch die Platine über die LAN-Schnittstelle an den entfernten Ort zu übertragen. An dem entfernten Ort kann ein Drucker-Status angezeigt werden, und es kann ein zweiter Befehl an dem entfernten Ort an die Platine durch die LAN-Schnittstelle ausgegeben werden, um die Platine zu veranlassen, eine manuell betätigbare Funktion durchzuführen.
- Wenn die empfangenen LAN-Daten weder ein Druckjob noch eine Statusanforderung sind, wird in Schritt S29 ermittelt, daß die empfangenen Daten ein Ladevorgang sein könnten, d. h. eine Übertragung von Daten in die NEB zum Aktualisieren der ROM- oder RAM-Anwendungen; beispielsweise kann ein Ladevorgang für Übergangsdiagnosen, die auf der NEB ausgeführt werden sollen, verwendet werden.
- Zunächst werden in Schritt S30 die Daten von dem LAN in das DRAM 220 geladen (in weiteren Einzelheiten nachstehend in Abschnitt 4n beschrieben). D. h., der Ladevorgang ist ein Prozeß, durch den Daten in einen Netzwerkknoten geladen werden können und dann auf diese eingewirkt werden kann oder diese ausgeführt werden können. Zum Beispiel können beliebige Daten von einem Patch-Code über Prüfroutinen für die Herstellung bis hin zu Firmware-Aktualisierungen für das EPROM heruntergeladen werden. Darüber hinaus können Anwendungs-Module auf dem LAN-Server gespeichert und dann jeden Morgen in die NEB heruntergeladen werden.
- Zusammenfassend umfaßt das Herunterladen von Daten aus dem LAN in das DRAM ein Verfahren zum Ändern einer Betriebsart einer interaktiven Netzwerk-Platine mit einer LAN-Schnittstelle, einschließlich des Schrittes des Aktivierens eines LAN-Kommunikationsprogramms zur Ausführung aus dem DRAM, wobei das Kummunikationsprogramm Druck-Informationen auf dem LAN zu einem peripheren Drucker leitet. Ausführbare Anweisungen, die der geänderten Betriebsart entsprechen, werden dann über die LAN-Schnittstelle in das DRAM geladen. Die Platine wird dann über die LAN-Schnittstelle angewiesen, mit der Ausführung der geänderten Betriebsart zu beginnen anzufangen.
- In Schritt S31 wird ermittelt, ob die heruntergeladenen Informationen für das EPROM 222 oder das DRAM 220 bestimmt sind. Falls die Informationen für das EPROM bestimmt sind, wird in Schritt S32 ein ROM-Abbild erstellt (in weiteren Einzelheiten nachstehend in Abschnitt 40 beschrieben). Zum Beispiel stellt das Herunterladen von EPROM-Firmware von einem entfernten Ort einzigartige einmalige Flexibilität bereit. Insbesondere kann das Herunterladen von platinengebundenen Prüfroutinen und das Ändern von EPROM-Konfigurationsfirmware von einem entfernten Ort aus durchgeführt werden, nachdem die Platine im Drucker installiert ist.
- Schritt S32 ist der Prozeß, der die binäre Bilddatei aufbaut, die in das EPROM 222 zu programmieren ist. Die Daten, die für das EPROM bestimmt sind, werden zunächst in das DRAM 220 geladen, in dem ein Hilfsprogramm eine Konfigurationsdatei liest, die die Namen der Module enthält, die in das ROM-Abbild plaziert werden sollen. Dann wird eine vollständige binäre Bilddatei, die alle spezifizierten Module enthält, aufgebaut. Ein Vorspann geht jedem Modul im Abbild voran, wobei der Vorspann das Modul identifiziert, seine Attribute beschreibt und auf den nachfolgenden Vorspann zeigt, um das Auffinden der Module während des Ladens zu unterstützen. Das letzte Modul, das in das EPROM geladen wird, ist der residente Code des EPROM. Es befindet sich am Ende des ROM-Abbilds, damit der Initialisierungscode für den Einschaltvorgang an der von dem Mikroprozessor 216 erwarteten Adresse liegt.
- Zusammenfassend umfaßt Schritt S32 einen Prozeß zum Formatieren einer binären Bilddatei, die ausführbare Code-Module zur Speicherung im EPROM enthält. Zunächst wird eine Konfigurationsdatei gelesen, die die Code-Module spezifiziert, die das binäre Abbild bilden. Als nächstes wird ein Vorspann für jedes in der Konfigurationsdatei spezifizierte Modul gebildet, wobei der Vorspann eine Identifikation des Moduls, eine Definition der Attribute des Moduls und einen Zeiger auf einen Vorspann für ein nachfolgendes Modul beinhaltet. Die binäre Bilddatei wird dann die spezifizierten Module und deren zugeordnete Vorspanne enthaltend aufgebaut. Schließlich wird ein Modul ROM-residenten Codes an das binäre Abbild angehängt, wobei der ROM-residente Code zum Zeitpunkt des Einschaltens die Kontrolle erhält und einen Selbsttest während des Einschaltens (POST) bereitstellt, wenigstens einige der Module aus der binären Bilddatei in das DRAM 220 lädt, und grundlegende Platinen-Eingabe/Ausgabe-Dienste bereitstellt.
- Vor dem Schreiben neuer Daten in das EPROM 222 ist es zunächst notwendig, eindeutig sicherzustellen, daß ein Schreibvorgang tatsächlich beabsichtigt ist. Offensichtlich könnten irgendwelche unbestimmten Schreibvorgänge in das EPROM 222 die NEB unbrauchbar machen. Daher wird in Schritt S33, bevor Informationen in das EPROM 222 "gebrannt" werden können, eine spezifizierte Sequenz von Ereignissen stattfinden, um auf das EPROM zuzugreifen (in weiteren Einzelheiten nachstehend in Abschnitt 4p beschrieben). In dem vorliegenden Ausführungsbeispiel werden, solange nicht zwei Daten-Bit an zwei separaten I/O-Orten geändert werden, die +12 Volt, die notwendig sind, um in das EPROM zu schreiben, nicht bereitgestellt.
- Kurz gesagt umfaßt ein Verfahren zum Sicherstellen, daß nicht zufällig in das EPROM geschrieben wird, ein Verfahren zum Durchführen eines Brennvorgangs in ein sich auf einer interaktiven Netzwerk-Platine mit einer Verarbeitungseinheit und einem Speicher befindendes EPROM, beinhaltend den Schritt des Sendens eines I/O-Schreibsignals an die Verarbeitungseinheit. Sodann erzeugt die Verarbeitungseinheit in Antwort auf das I/O-Signal eine erste Adresse in dem Speicher, um zu bewirken, daß sich ein erstes Bit in einem vorbestimmten Zustand befindet. Eine Leistungseinheit wird dann in Antwort darauf, daß das erste Bit in den vorbestimmten Zustand versetzt wurde, veranlaßt, +12 Volt für einen Transistor bereitzustellen. Sodann wird ein I/O-Empfangssignal an die Verarbeitungseinheit gesendet, die in Antwort auf das I/O-Empfangssignal eine zweite Adresse im Speicher erzeugt, um zu bewirken, daß ein zweites Bit in einem vorausgewählten Zustand vorliegt. Dann wird der Transistor in Antwort darauf, daß das zweite Bit in den vorausgewählten Zustand versetzt wurde, eingeschaltet und bewirkt, daß die +12 Volt an einem Leistungsanschluß des EPROM anliegen, welches erlaubt, daß ein Schreibvorgang stattfinden kann.
- Bevor das neue ROM-Abbild tatsächlich in dem EPROM 222 gespeichert wird, muß in Schritt S34 eine Prüfsumme des neuen ROM-Abbild gebildet und mit einem Prüfsummenwert, der übermittelt wird, nachdem das ROM-Abbild empfangen wurde, verifiziert werden. Vor dem Löschen des EPROM 222 müssen beizubehaltende Daten und Module, wie beispielsweise die MAC-Adresse, in das DRAM 220 innerhalb des neuen ROM-Abbilds geladen werden.
- Nach dem Ermitteln, daß das ROM-Abbild verifiziert ist, und nach dem Sichern aller erforderlichen Daten in das in dem DRAM 220 gespeicherte neue ROM-Abbild, ist es erforderlich, das EPROM 222 zu löschen, um sicherzustellen, daß keine Daten während des Ladens des neuen ROM-Abbilds zerstört werden. Dementsprechend kann in Schritt S35 das EPROM 222 eine Vielzahl von Malen gelöscht werden, bevor das neue ROM-Abbild in diesem gespeichert wird.
- Nach dem Löschen des EPROM 222 in Schritt S35 wird in Schritt S36 das neue ROM-Abbild in das EPROM 222 "gebrannt" (in weiteren Einzelheiten nachstehend in Abschnitt 4q beschrieben).
- Zusammenfassend bezieht sich Schritt S36 auf ein Verfahren zum ferngesteuerten Andern programmierbarer Firmware auf einer interaktiven Netzwerk-Platine mit einer LAN-Schnittstelle, beinhaltend den Schritt des Aktivierens eines LAN-Kommunikationsprogramms für die Ausführung aus dem DRAM auf der Platine, wobei das Kommunikationsprogramm Druck-Informationen auf dem LAN zu einem peripheren Drucker leitet. Ein ROM-Firmware-Abbild wird dann in das DRAM auf der Platine über die LAN-Schnittstelle geladen. Es wird sodann überprüft, daß das ROM-Abbild auf die Zielplatine geladen worden ist, und die Integrität des ROM-Abbilds wird bestätigt. Die Platine wird dann angewiesen, das EPROM elektronisch zu löschen, und sodann wird das EPROM mit dem neuen ROM-Abbild gebrannt. Zu sätzlich kann, falls gewünscht, nach dem Brennvorgang ein "Brennvorgang beendet"-Signal an das LAN gesendet werden.
- Nachdem die Informationen in das EPROM 222 gebrannt wurden, wird in Schritt S37 die NEB aus dem neuen ROM-Firmware-Abbild in dem EPROM 222 neu hochgefahren, und kehrt der Prozeß zu Schritt S1 zurück.
- In Fig. 5C werden dann, wenn Schritt S31 ermittelt, daß RAM- Informationen heruntergeladen werden, solche Informationen zunächst in dem DRAM 220 über Schritt S38 zusammengesetzt. Nachfolgend führt Schritt S39 das RAM-Programm aus, und der Prozeß kehrt zu Schritt S13 zurück, in dem SAPSERVER PSERVER- und CPSOCKET-Einheiten bekanntgibt.
- Diese Beschreibung beendet den Überblick über die Strukturen und die Funktionen der NEB dann, wenn die NEB in einem LAN- vernetzten Drucker installiert ist. Nachstehend erfolgt eine ausführlichere Beschreibung des Betriebsablaufs verschiedener Aspekte der NEB- Hardware und -Software.
- Unmittelbar auf den Einschaltvorgang folgend führt die NEB 2 einen Selbsttest (POST) aus, auf den folgend die NEB Betriebssoftware aus dem EPROM 222 in das DRAM 220 zur Ausführung lädt.
- Im einzelnen greift der Mikroprozessor 216 unmittelbar auf den Einschaltvorgang folgend auf sich in dem EPROM 222 befindende POST-Programm-Module zu. Der Mikroprozessor 216 führt den POST direkt aus dem EPROM 222 aus, um die Funktionalität des Mikroprozessors, die Integrität der in dem EPROM 222 gespeicherten Programme (beispielsweise mittels einer Prüfsummen-Verifizierung), die Betriebsfähigkeit des DRAM 220 (beispielsweise mittels Lese/Schreib-Zyklen), die Betriebsfähigkeit der SCSI-Steuereinrichtung 224, die Datenintegrität des NVRAM 228 und den Betrieb des Steuerregisters 230 zu prüfen. POST kann auch einen Vergleich der in dem PROM 232 gespei cherten MAC-Adresse mit einer in das EPROM 222 heruntergeladenen MAC-Adresse beinhalten.
- POST beinhaltet ferner Betriebsprüfungen netzwerkbezogener Hardware. Spezieller ausgedrückt kann POST Betriebsfähigkeitsprüfungen für das SRAM 214 (beispielsweise mittels Lese/Schreib-Zyklen) sowie eine Prüfung der Netzwerk-Aktivität, um den Betrieb der Netzwerk-Steuereinrichtung 206 zu verifizieren, beinhalten.
- Der Betrieb anderer Hardware in der NEB 2 kann direkt durch zusätzliche POST-Prüfungen ermittelt werden. In einigen Fällen, in denen es für den Mikroprozessor 216 nicht möglich ist, den Betrieb von Hardware direkt zu prüfen, wie im Fall der Verbindungsstecker 202, 203 und 204, kann der korrekte Betrieb dieser Hardware durch Ergebnis-Codes, die durch direkte Prüfung empfangen werden, abgeleitet werden.
- Bei Abschluß von POST gibt der Mikroprozessor 216 einen Prüfsummencode auf den seriellen Port 218 aus und betritt dann ein Fenster stillen Betriebs (beispielsweise ein Fenster von einer Sekunde Dauer), während dem der Mikroprozessor 216 Befehle (beispielsweise zum Prüfen, vgl. nachstehend Absatz 5) über den seriellen Port 218 empfangen kann. Der POST-Prüfsummencode kann durch eine Einrichtung erhalten werden, die mit dem seriellen Port 218 gekoppelt ist, um das Ergebnis des POST zu ermitteln. Zum Beispiel kann ein Kein Fehler-Zustand durch eine POST-Prüfsumme "0000h" angezeigt werden, während eine einen Fehler anzeigende POST-Prüfsumme durch einen hexadezimalen Wert ungleich Null, der den Bereich des Fehlers angibt, angezeigt werden kann. Im Fall eines Fehlers kann der Mikroprozessor 216 auch die LED 240 auf der NEB 2 aufleuchten lassen, um einem Benutzer zu signalisieren, daß ein Fehler erfaßt worden ist. Bevorzugt wird die LED 240 beim Einschalten zum Aufleuchten gebracht und nur dann abgeschaltet, wenn POST erfolgreich ist.
- Auf einen erfolgreicher Abschluß des POST hin und in dem Fall, in dem keine Befehle über den seriellen Port 218 wäh rend des eine Sekunde dauernden Fensters ohne Aktivität empfangen werden, beginnt der Mikroprozessor 216, in dem EPROM 222 gespeicherte Software-Module in das DRAM zu laden. Der Mikroprozessor 216 führt diese Software-Module nicht direkt aus dem EPROM 222 aus, sondern lädt diese Module in das DRAM 220 zur Ausführung aus dem DRAM 220. Dank dieser Anordnung ist es möglich, die spezifischen Module auszuwählen, die aus dem EPROM 222 zur Ausführung aus dem DRAM 220 geholt werden, um eine flexible Konfiguration der NEB 2 zu ermöglichen (vgl. nachstehenden Abschnitt 4d). Zum Beispiel kann der Mikroprozessor 216 in Übereinstimmung mit einem Konfigurationsbefehl, der in dem NVRAM 228 gespeichert ist, selektive Module aus dem EPROM 222 für deren Laden in das DRAM 220 und deren Ausführung aus dem DRAM holen.
- Fig. 6 zeigt die Sequenz, durch die unterschiedliche Module aus dem EPROM 222 geholt und in das DRAM 220 geladen werden. In Schritt S6001 lädt der Mikroprozessor 216 den SCSI-Treiber aus dem EPROM 222 in das DRAM 220. Der SCSI-Treiber sorgt für den Betriebsablauf und die Steuerung der SCSI-Steuereinrichtung 224 und erlaubt die Bildung einer Schnittstelle mit dem Drucker 4 derart, daß an den Drucker 4 Druckdaten gesendet und Steuerinformationen an den Drucker 4 gesendet und von diesem empfangen werden können.
- In Schritt S6002 lädt der Mikroprozessor 216 die Verbindungsunterstützungsschicht (Link Support Layer, "LSL") aus dem EPROM 222 in das DRAM 220, und in Schritt S6003 lädt der Mikroprozessor 216 Netzwerk-Treiber-Software aus dem EPROM 222 in das DRAM 220; daraufhin beginnt der Mikroprozessor 216, die Verbindungsunterstützungsschicht und den Netzwerk-Treiber aus dem DRAM 220 auszuführen. Die Verbindungsunterstützungsschicht und der Netzwerk-Treiber stellen allgemeinen Zugang zu LAN-Kommunikationen auf dem LAN-Bus 6 bereit. Im einzelnen kommunizieren, wie in Fig. 7 gezeigt, alle vernetzten Geräte, einschließlich eines Gerätes wie der NEB 2, über eine elektrische Schnittstelle 301 wie beispielsweise der auf der NEB 2 verwendeten Netzwerk-Steuereinrichtung 206, mit dem LAN-Bus 6. Die elektrische Schnittstelle 301 wird durch den Netzwerk- Treiber 302 angesteuert, der wiederum LAN-Rahmendaten von einer Vebindungsunterstüzungsschicht-Software 304 empfängt. Sowohl die Verbindungsunterstützungsschicht 304 als auch der Netzwerk-Treiber 302 sind für unterschiedliche Arten von Netzwerk-Software üblich. Zum Beispiel kommunizieren, wie weiter in Fig. 7 gezeigt, Netzwerk-Anwendungsprogramme wie diejenigen, die in NetWare®-Software von Novell bereitgestellt sind (wie bei Pfeil A dargestellt) mit der Verbindungsunterstützungsschicht und dem Netzwerk-Treiber über ein Internetzwerk-Paketaustauschprogramm, oder "IPX", 305 und ein Sequenz-Paketaustauschprogramm, oder "SPX", 306. Anderetseits kommunizieren Netzwerk-Anwendungsprogramme von UNIX, bereitgestellt von AT&T (wie bei Pfeil B dargestellt) mit der LSL durch ein "IP"-Modul 315 und ein "TCP"-Modul 316.
- In der NEB 2 wird zu einem beliebigen Zeitpunkt normalerweise nur eine Art von Netzwerk-Anwendungsprogrammen ausgeführt (obwohl Multiprotokoll-Betriebsabläufe möglich sind, wie nachstehend in Abschnitt 4f beschrieben). Die Erklärung hier wird für NetWare®-Netzwerk-Anwendungsprogramme gegeben, obwohl es ebenso möglich ist, daß UNIX-Netzwerk-Anwendungsprogramme ausgeführt werden.
- In Schritt S6004 lädt der Mikroprozessor 216 ein Programm PRESCAN aus dem EPROM 222, speichert es in das DRAM 220, und beginnt daraufhin, das Programm PRESCAN aus dem DRAM 220 auszuführen. Die PRESCAN-Software kommuniziert mit der Verbindungsunterstützungsschicht, um den auf dem LAN-Bus 6 übertragenen die Rahmen-Pakettyp zu ermitteln. Im einzelnen gibt es, wie vorstehend beschrieben wurde, vier unterschiedliche mögliche Rahmen-Pakettypen auf einem Ethernet-Netzwerk-LAN-Bus: Ethernet 802.3, Ethernet II, Ethernet 802.2 und Ethernet SNAP. Wie vollständiger in dem nachstehenden Abschnitt 4e beschrieben, überwacht das PRESCAN-Software-Modul Netzwerk- Kommunikationen auf dem LAN-Bus 6, um den Rahmen-Pakettyp zu ermitteln. Der Rahmen-Pakettyp, einmal von PRESCAN ermittelt, wird an einem vorbestimmten üblichen Ort in dem DRAM 220 zur Verwendung durch andere Netzwerk-Kommunikation-Module in der NEB gespeichert. Nach Ermitteln des Rahmen-Pakettyps signali siert PRESCAN dem Mikroprozessor 216, daß seine Aufgaben abgeschlossen sind, und erlaubt dem Mikroprozessor 216, den durch das Programm PRESCAN belegten Speicher mit einem anderen Programm-Modul zu überschreiben.
- In Schritt S6005 holt der Mikroprozessor 216 die IPX- und SPX-Programm-Module aus dem EPROM 222, speichert sie in dem DRAM 220, und beginnt daraufhin, die IPX- und SPX-Module aus dem DRAM 220 auszuführen. Sowohl IPX als auch SPX verwenden den Rahmen-Pakettyp, der durch das PRESCAN-Modul ermittelt wurde.
- In Schritt S6006 holt der Mikroprozessor 216 das CNETX- Programm-Modul aus dem EPROM 222, lädt dieses Modul in das DRAM 220, und beginnt daraufhin dessen Ausführung aus dem DRAM 220. CNETX stellt eine lokalisierte DOS-ähnliche Funktionalität für die NEB bereit.
- In Schritt S6007 lädt der Mikroprozessor 216 das SAPSERVER- Programm-Modul aus dem EPROM 222 in das DRAM 220 und beginnt, das SAPSERVER-Modul aus dem DRAM 220 auszuführen. Wie vollständiger in dem nachstehenden Abschnitt 4g beschrieben, ist SAPSERVER ein Programm-Modul, welches es zwei Netzwerk-Server-Einheiten, wie beispielsweise CPSOCKET und CPSERVER, erlaubt, gleichzeitig von dem einzelnen, der NEB-Platine zugewiesenen Netzwerkknoten aus bekanntzugeben, auch obwohl konventionelle Netzwerk-Anwendungsprogramme wie diejenigen, die durch NetWare® bereitgestellt werden, nur ein Bekanntgeben einer einzelnen Netzwerk-Server-Einheit von jedem Netzwerkknoten zulassen.
- In Schritt S6008 holt der Mikroprozessor 216 das nicht wiedereintrittsfähige Multitasking-Programm MONITOR (vgl. den nachstehenden Abschnitt 41) aus dem EPROM 222, lädt es in das DRAM 220 und beginnt, die Multitasking-Überwachung aus dem DRAM 220 auszuführen.
- In Schritt S6009 holt der Mikroprozessor 216 das CPSOCKET Server-Software-Modul aus dem EPROM 222, lädt es in das DRAM 220 und beginnt, den CPSOCKET-Server aus dem DRAM 220 auszu führen. Wie vollständiger nachstehend in Abschnitt 4j beschrieben wird, initiiert CPSOCKET eine Anforderung an SAPSERVER, um im Namen von CPSOCKET bekanntzugeben, und SAPSERVER beginnt, SAP-Bekanntgaben auf dem LAN-Bus 6 zu machen.
- In Schritt S6010 holt der Mikroprozessor 216 Druckanwendungs- Server wie beispielsweise CPSERVER oder CRPRINTER aus dem EPROM 222 und lädt die Druckanwendungs-Server in das DRAM 220. Im Fall von CPSERVER beginnt der Mikroprozessor 216, die geladenen Druckanwendungs-Server aus dem DRAM 220 auszuführen, welches wiederum SAPSERVER auffordert, SAP-Bekanntgaben im Namen des Druck-Servers zu machen. Wie vollständiger nachstehend in Abschnitt 4g beschrieben, verzahnt SAPSERVER Bekanntgaben für den CPSOCKET-Server und den Druck-Server, wodurch er als Ersatz-SAP-Einheit für sowohl den CPSOCKET-Server als auch den Druck-Server arbeitet.
- In Übereinstimmung mit den breiten Aspekten der Erfindung wird ein Peripheriegerät wie beispielsweise ein Drucker unter Verwendung einer interaktiven Netzwerk-Platine mit in dieser eingebetteten Software-Programmen mit einem LAN gekoppelt. Bevorzugt ist die Verbindung zwischen dem Drucker und der NEB eine SCSI-Schnittstelle, so daß große Mengen von Druckdaten und Statusdaten bidirektional zwischen der NEB und dem Drucker transportiert werden. Das EPROM 222 speichert eine Vielzahl von Software-Modulen zum betriebsmäßigen Konfigurieren der NEB auf die funktionellen PSERVER-, RPRINTER- oder LPR- Konfigurationen. Das EPROM 222 speichert ferner eine Anzahl von Statussteuerungs-Software-Modulen zum Exportieren von Status-Informationen aus dem Drucker über das LAN sowie zum Importieren von Steuerungsinformationen von dem LAN in den Drucker. Die EPROM-residente Firmware wird bei dem Einschalten in das DRAM 220 geladen (wie vorstehend in Abschnitt 4a beschrieben), wodurch das MONITOR-Multitasking-Programm Soft- Zeit-Aufgaben ausführt, bis Laufzeit-Unterbrechungen von ent weder den LAN- oder den SCSI-Schnittstellen empfangen werden.
- Das NVRAM 228 speichert ein Konfigurationswort, welches spezifiziert, welche der in dem EPROM 222 gespeicherten Module in das DRAM 220 geladen werden sollten, um die NEB mit entweder einer PSERVER- oder einer RPRINTER-Funktionalität zu konfigurieren. Der Mikroprozessor 216 führt die Programme aus dem DRAM 220 aus, erlaubt, daß Druckjobs von dem LAN empfangen und an den Drucker zum Drucken gesendet werden, und erlaubt, daß der Drucker-Status über das LAN in Antwort auf eine Statusanforderung zurückgegeben wird.
- Die besonderen Details der Struktur und der Funktionen zum Einbinden des Peripheriegeräts in das Lokalbereichsnetzwerk werden unter Bezugnahme auf Fig. 4, 5A, 5B und 5C und in den nachfolgenden Abschnitten beschrieben.
- Die Bereitstellung einer bidirektionalen SCSI-Schnittstelle zwischen der NEB 2 und dem Drucker erlaubt, eine große Menge von Status-Informationen aus dem Drucker zu extrahieren, während weiter die Druckdaten für den Drucker bereitgestellt werden. Darüber hinaus kann durch Nutzen der bidirektionalen SCSI-Schnittstelle der Drucker auf Steuerbefehle, die von einer entfernten Ort über das LAN ausgegeben werden, antworten. Beispielsweise kann der Netzverwalter einen Steuerbefehl an seinem/ihrem PC 14 ausgeben, der dazu auffordert, einen bestimmten Druckjob mehrmals mit hoher Bilddichte zu drucken und dann zu heften. Derartige Steuerbefehle werden über das LAN 6 an die NEB 2 gesendet, und die NEB 2 übermittelt diese Steuerbefehle durch den SCSI-Bus 102 an den Drucker. Gleichzeitig werden die tatsächlichen Druckdaten von dem Datei- Server 30 an die NEB 2 übertragen, in der die Druckdaten in Blöcke gepackt und über den SCSI-Bus 102 an den Drucker übermittelt werden. Bevorzugt zeigt die NEB 2 den "Beginn des Druckjobs" an, indem sie den XP-Datenkanal zum Drucker öff net. Ebenso zeigt die NEB 2 das "Ende des Druckjobs" an, indem sie den XP-Datenkanal zum Drucker schließt. Daher kann die NEB 2 solche Angaben für den Drucker bereitstellen.
- Die Verwendung der bidirektionalen SCSI-Schnittstelle auf der NEB 2 ermöglicht auch, daß andere Arten von Peripheriegeräten mit dem LAN gekoppelt werden. Zum Beispiel ist es, weil die SCSI-Schnittstelle zum Übertragen großer Datenmengen von dem Peripheriegerät auf das LAN in der Lage ist, möglich, die NEB mit einer Bilddaten-Erzeugungseinrichtung wie beispielsweise einem Scanner (beispielsweise wenn der Drucker 4 eine Einrichtung zur optischen Zeichenerkennung bzw. eine "OCR"-Einrichtung ist) oder einem Telefax-Gerät zu koppeln. Infolgedessen können Daten, die von der Bilderzeugungseinrichtung erzeugt werden, über die SCSI-Schnittstelle an die NEB übermittelt und dann zur Speicherung oder Weiterverwendung durch eine beliebige der LAN-Einheiten auf das LAN ausgegeben werden. Wie bei einem Drucker können große Mengen detaillierter Steuer/Status-Informationen auch für die/von der Bilddaten- Erzeugungseinrichtung bereitgestellt werden.
- Die detaillierten strukturellen und funktionellen Merkmale der bidirektionalen SCSI-Schnittstelle auf der NEB sind vorstehend unter Bezugnahme auf Fig. 4, 5A, 5B und 5C und werden in den nachfolgenden Abschnitten beschrieben.
- Wie an früherer Stelle in Bezug auf Fig. 5A beschrieben wurde, lädt Schritt S6 ausgewählte Software-Programme aus dem EPROM 222 in das DRAM 220 zur Ausführung (vgl. auch Fig. 6 und Abschnitt 4a). Das EPROM 222 wird mit Firmware-Modulen geliefert, die ermöglichen, die NEB 2 mit entweder RPRINTER- oder PSERVER-Funktionalität zu konfigurieren. Daher wird die Funktionalität der NEB 2 dadurch bestimmt, welche der gespeicherten Programme in Übereinstimmung mit dem in dem NVRAM 228 gespeicherten Konfigurationscode aus dem EPROM 222 in das DRAM 220 geladen werden.
- Die Firmware der NEB 2 ist vorkonfiguriert und kann nachfolgend durch das den Ablauf von CPINIT auf dem PC 14 des Netzverwalters neu konfiguriert werden (vgl. Abschnitt 4h). Jedoch wird selbst in einem nicht konfigurierten Zustand die NEB 2 selbst immer diejenigen Software-Module aktivieren, die benötigt werden, um eine grundlegende Kommunikation mit dem LAN durchzuführen. Unter Verwendung von CPINIT kann der Netzwerk-Manager aus der Ferne die aktuelle Konfiguration der NEB festlegen, oder kann er/sie die Konfiguration nach Wunsch verändern. Da die Konfigurationsinformationen in dem EPROM auf der NEB gespeichert sind, werden die Konfigurationsinformationen auch über Einschalt/Ausschalt-Zyklen hinweg beibehalten.
- Der Prozeß, durch den die Software-Programme für eine bestimmte Konfiguration aus dem EPROM 222 in das DRAM 220 geladen werden, wird nachstehend unter Bezugnahme auf Fig. 8 beschrieben.
- Nachdem die Platine in Schritt S1 hochgefahren wurde, schreitet der Prozeß zu Schritt S8001 fort, in dem Mikroprozessor 216 auf EPROM-residenten Code im EPROM 222 zugreift, um einen Konfigurationscode (typisch ein Wort) aus dem NVRAM 228 zu lesen. Der Konfigurationscode spezifiziert Module, die entweder eine PSERVER- oder eine RPRINTER-Funktionalität für die NEB bereitstellen können. Obwohl das vorliegende Ausführungsbeispiel nur funktionelle RPRINTER- oder PSERVER-Konfigurationen beinhaltet, können dort, wo beispielsweise die NEB 2 in einer anderen LAN-Einheit installiert ist, wie zum Beispiel einem Scanner oder einem Telefax-Gerät, andere Konfigurationen verwendet werden.
- Nach dem Lesen des Konfigurationscodes aus dem NVRAM 228 bildet der Mikroprozessor in Schritt S8002 eine Konfigurationsmaske, deren Bitmuster dem gelesenen Konfigurationscode entspricht. In Schritt S8003 vergleicht ein in dem EPROM 222 residentes Lade-Modul die Konfigurationsmaske mit der Vielzahl der in dem EPROM 222 gespeicherten Firmware-Module.
- Im einzelnen beginnt in Schritt S8004 ein Prozeß, durch den die EPROM-residenten Software-Module in bitweiser Übereinstimmung mit den binären Ziffern des aus dem NVRAM 228 gelesenen Konfigurationscodes ausgewählt werden. Wenn in Schritt S8004 ermittelt wird, daß das gegenwärtig untersuchte Bit des Bitmusters mit einem gespeicherten Modul übereinstimmt, dann wird dieses Modul (in Schritt S8005) zum Herunterladen in das DRAM 220 ausgewählt, und der Prozeß springt zu dem nächsten Bit in Schritt S8006. Ebenso springt dann, wenn Schritt S8004 ermittelt, daß ein Bit des Bitmusters nicht zu dem gespeicherten Modul paßt, der Prozeß zum nächsten Bit in Schritt S8006.
- In Schritt S8007 wird ermittelt, ob das in Schritt S8004 geprüfte Bit das letzte Bit des Konfigurationsmasken-Bitmusters ist. Falls das geprüfte Bit nicht das letzte Bit ist, schleift der Prozeß zu Schritt S8004 zurück, in dem das nächste Bit des Bitmusters in Bezug auf das nächste gespeicherte Modul geprüft wird. Wenn das letzte Bit des Konfigurationsmasken-Bitmusters geprüft worden ist, werden die ausgewählten Software-Module in Schritt S8008 aus dem EPROM 222 in das DRAM 220 geladen.
- In dem vorliegenden Ausführungsbeispiel werden die Software- Module in der folgenden Reihenfolge geladen: SCSI-Treiber; Verbindungsunterstützungsschicht; Netzwerk-Treiber; Vorabtastung; IPX/SPX; CNETX; SAPSERVER; MONITOR; CPSOCKET; und Druckanwendungen (beispielsweise CPSERVER, CRPRINTER) (vgl. Fig. 6).
- Nachdem alle Software-Module, die den in dem NVRAM 228 gespeicherten Konfigurationscodes entsprechen, in das DRAM 220 geladen worden sind, übergibt die Lader-Funktion in Schritt S8009 die Programm-Ausführungssteuerung an das Multitasking- Programm MONITOR.
- Wie an früherer Stelle beschrieben wurde, kann der in dem NVRAM 228 gespeicherte Konfigurationscode unter Verwendung von CPINIT von Fern geändert werden. Dies stellt eine größere Flexibilität für kleine Modifikationen von CPSERVER oder CKPRINTER oder dann, wenn völlig neue Konfigurationen festgelegt werden sollen, bereit. Daher wird in Schritt S8010 eine neue Konfiguration über das LAN 6 empfangen und in Schritt S8001 in das NVRAM 228 geladen. Bevorzugt wird der alte Konfigurationscode gelöscht oder mit dem neuen Konfigurationscode überschrieben. Dann bootet sich die NEB selbst neu und kehrt zu Schritt S1 zurück.
- Auf jedem Lokalbereichsnetzwerk werden Daten zwischen Netzwerk-Einrichtungen in Paketen oder Rahmen übertragen. Jedoch kann auch im Kontext einer allgemeinen Netzwerk-Architektur, wie beispielsweise Ethernet, mehr als ein Format für den Rahmen unterstützt werden. Infolgedessen ist es, obwohl bekannt ist, daß die Ethernet-Architektur zum Einsatz kommt, nicht möglich, die Anordnung von Daten innerhalb jedes physischen Rahmens oder jedes Paketes von Informationen auf dem Ethernet-Bus zu ermitteln. Insbesondere, wie vorstehend beschrieben wurde, unterstützt Ethernet vier Anordnungen von Daten, oder Formate, wie folgt: Ethernet 802.3, Ethernet II, Ethernet 802.2 und Ethernet SNAP.
- Bei konventionellen Netzwerk-Einrichtungen, die eine manuell wählbare Bedienerschnittstelle bereitstellen, ist es möglich, die Netzwerk-Einrichtung über den besonderen Rahmentyp, der auf dem Ethernet-Netzwerk benutzt wird, zu informieren. Im Kontext der NEB 2, für die ein Bedienerzugriff nur über die Netzwerk-Schnittstelle (oder über den seriellen Port 218 in einer Prüfkonfiguration) bereitgestellt ist, ist es nicht möglich, den Rahmen-Pakettyp festzulegen, ohne vorher einen Bedienerzugriff auf das Lokalbereichsnetzwerk zu erlauben, der natürlich die Kenntnis des Rahmen-Pakettyps erfordert.
- Das Software-Modul PRESCAN erlaubt der NEB 2, den gegenwärtig für die LAN-Kommunikation verwendeten Rahmen-Pakettyp durch Überwachen gesendeter Kommunikationen auf dem LAN-Bus, bis der geeignete Rahmen-Pakettyp erkannt wird, automatisch zu ermitteln. PRESCAN führt diese Ermittlung auf der Grundlage erkennbarer Komponenten durch, die allen vier auf Ethernet verwendeten Rahmen-Pakettypen gemeinsam sind.
- Im einzelnen zeigt Fig. 9 den physikalischen Aufbau unterschiedlicher, auf Ethernet verwendeter Rahmen-Pakete. Wie in Fig. 9 gezeigt, beinhaltet ein auf dem LAN-Bus übertragener physikalischer Rahmen 411 einen 6 Byte-Abschnitt 412 zum Speichern der Ziel-MAC-Adresse und einen 6 Byte-Abschnitt 413 zum Speichern der Quell-MAC-Adresse. Diese 12 Byte umfassen die ersten 12 Byte von LAN-Datenpaketen unabhängig von dem für die LAN-Kommunikation verwendeten Rahmentyp. Ein Datenabschnitt 414 folgt auf diese 12 Byte. Der Datenabschnitt besteht aus einer variablen Anzahl von Byte, die von den unterschiedlichen Rahmenpaketen nicht für dieselben Zwecke benutzt werden und die für die unterschiedlichen Rahmen-Pakettypen nicht dieselbe Anzahl von Bytes haben.
- Auf den unbestimmten Bereich 414 folgend beinhaltet das LAN- Kommunikationspaket einen IPX-Vorspann 415, dessen erste zwei Byte immer den Wert "FFFF" (hexadezimal) haben. Der Rest des Pakets 416 folgt dem IPX-Vorspann und umfaßt die Daten und andere Befehle, die jeden unterschiedlichen Typ von LAN-Kommunikationspaket kennzeichnen.
- PRESCAN arbeitet durch Überwachen der LAN-Kommunikation in Übereinstimmung mit jedem der unterschiedlichen Pakettypen, bis der gemeinsame Bereich (wie beispielsweise der IPX- Vorspann 415) in einem dieser Pakettypen erkannt wird. PRE- SCAN speichert dann diesen Pakettyp zur Verwendung durch andere Netzwerk-Kommunikationsprogramme.
- Fig. 10 ist ein detailliertes Ablaufdiagramm zum Zeigen des Betriebsablaufs des Moduls PRESCAN. In Schritt S1001 holt der Mikroprozessor 216 das Modul PRESCAN aus dem EPROM 222, lädt es in das DRAM 220 und beginnt daraufhin die Ausführung des Moduls PRESCAN. Das Modul PRESCAN wird vor dem SPX- und dem IPX-Modul ausgeführt, auch wenn der Mikroprozessor 216 jene letztgenannten Module aus dem EPROM 222 holt und sie in das DRAM 220 lädt, bevor der in Fig. 10 gezeigte Betriebsablauf beendet ist. Insbesondere hängt der korrekte Betrieb der Module SPX und IPX von der Identifikation des Rahmen-Pakettyps durch PRESCAN ab, so daß daher die Ausführung von SPX und IPX verschoben wird, bis PRESCAN den korrekten Rahmen-Pakettyp ermittelt hat.
- In Schritt S1002 stellt PRESCAN durch die LSL gleichzeitig eine Bindung mit allen vier Rahmen-Pakettypen, also Ethernet 802.3, Ethernet II, Ethernet 802.2 und Ethernet SNAP, her. D. h., PRESCAN konfiguriert die LSL derart, daß die LSL für jedes Paket der LAN-Kommunikation eine jedem der vier Rahmen- Pakettypen entsprechende Datengruppe bereitstellt. Danach wird PRESCAN inaktiv und wartet auf die Reaktivierung durch eine Unterbrechung von dem Netzwerk-Treiber.
- In Schritt S1003 überwacht der Netzwerk-Treiber Kommunikationen auf dem LAN-Bus auf Sendeverkehr. Sendeverkehr bedeutet, daß die Ziel-MAC-Adresse 412 nicht spezifiziert ist oder eine globale Spezifikation "FFFFFFFFFFFF" (hexadezimal) enthält. Der Netzwerk-Treiber fährt fort, Kommunikationen auf dem LAN- Bus auf Sendeverkehr zu überwachen (Schritt S1004), bis Sendeverkehr empfangen wird, woraufhin der Ablauf zu Schritt S1005 fortschreitet. In Schritt S1005 werden die MAC-Adreßfelder 412 und 413 von dem empfangenen Datenpaket abgeschnitten, und wird der Rest des Datenpakets für die LSL bereitgestellt. In Schritt S1006 interpretiert die LSL das Rahmenpaket in Übereinstimmung mit jedem der Rahmen-Pakettypen und stellt eine Datengruppe in Übereinstimmung mit jedem der Rahmen-Pakettypen bereit. In Schritt S1007 reaktiviert der Netzwerk-Treiber PRESCAN, welches aus einem IPX-Vorspann, d. h. "FFFF" (hexadezimal), ermittelt, welche von der LSL bereitgestellte Datengruppe die korrekten ersten zwei Byte hat. D. h., die LSL identifiziert aufgrund des variablen Datenbereichs 414 (dem variablen Datenbereich 414, der jedem der unterschiedlichen Paketarten entspricht (Fig. 9)) korrekt den IPX-Vorspann 415 in Übereinstimmung mit nur einem der Rahmen- Pakettypen. In Schritt S1007 sucht PRESCAN nach dem IPX- Vorspann und ist in der Lage, in Übereinstimmung damit, welche der vier Datengruppen von der LSL bereitgestellt wird, einen Rahmen-Pakettyp zu ermitteln, der gegenwärtig auf dem LAN-Bus benutzt wird.
- In Schritt S1008 speichert PRESCAN den entsprechenden Rahmen- Pakettyp in einem allgemeinen Bereich in dem DRAM 220, so daß der Rahmen-Pakettyp von anderen Netzwerk-Anwendungsprogrammen wie beispielsweise SPX und IPX verwendet werden kann. Danach gibt in Schritt S1009 PRESCAN seinen Speicherbereich in dem DRAM 220 frei, so daß der Mikroprozessor 216 diesen Datenbereich bedarfsweise mit anderen Software-Modulen überschreiben kann.
- In einem Multiprotokoll-Betrieb führen zwei unterschiedliche Betriebssysteme LAN-Kommunikationen über einen einzelnen Lokalbereichsnetzwerk-Bus durch, wobei jedoch jeweils unterschiedliche Betriebsprotokolle verwendet werden. Beispielsweise kommuniziert ein Novell-kompatibles Betriebssystem über einen LAN-Bus unter Verwendung des SPX/IPX-Betriebsprotokolls, während ein UNIX-kompatibles Betriebssystem über den LAN-Bus unter Verwendung eines TCP/IP-Betriebsprotokolls kommuniziert. Unterschiedliche Betriebssysteme, wie beispielsweise das AppleTalk®-Betriebssystem, das von der Apple Corp. bereitgestellt wird, verwenden jeweils unterschiedliche Betriebsprotokolle für die LAN-Kommunikation über einen einzelnen Netzwerk-Bus in einer Multiprotokoll-Netzwerkumgebung.
- Üblicherweise ist die NEB 2 so konfiguriert, daß sie mit einem einzelnen Netzwerk-Betriebssystem kommuniziert, jedoch kann sie auch so konfiguriert werden, daß sie in einer Multiprotokoll-Netzwerkumgebung, beispielsweise einer kombinierten Novell/UNIX-Multiprotokoll-Umgebung, arbeitet. In dieser Konfiguration beinhaltet die NEB 2 einen Novell-kompatiblen Peripheriegeräte-Server, wie beispielsweise den vorstehend ge nannten CPSERVER, der Job-Schlangen in einem Datei-Server auf einem Novell-Betriebssystem überprüft, sowie einen UNIX-kompatiblen Peripheriegeräte-Server, wie beispielsweise den vorstehend genannten CLPR (Custom Line Printer Remote), der, in Koordination mit von CPSERVER durchgeführten Prüfungen, ebenfalls auf Job-Schlangen in einem Datei-Server für ein UNIX- Betriebssystem prüft. Beide Server, hier CPSERVER und CLPR, bedienen gemeinsame Peripheriegeräte-Ressourcen, hier ein einzelnes Peripheriegerät wie beispielsweise einen Drucker, und beide Server sind, um Streit um die Steuerung der gemeinsamen Ressourcen zu vermeiden, in der Lage, die Steuerung des Peripheriegeräts mit Ausschlußwirkung für andere Server zu ergreifen, anderen Servern anzuzeigen, daß die Steuerung übernommen worden ist, und die Steuerung des Peripheriegeräts abzugeben, wenn die Job-Schlange geleert worden ist. Es ist ferner für jeden Server möglich, sich mit anderen Servern abzustimmen, um zu Ermitteln, ob andere Server eine anstehende Anforderung für die Nutzung des Peripheriegeräts haben. In dem Fall, in dem eine anstehende Anforderung vorliegt, kann der Server die Steuerung des Peripheriegeräts am Ende eines aktuellen Jobs abgeben, auch wenn weitere Jobs in det Job- Schlange verbleiben, um eine abwechselnde Nutzung des Peripheriegeräts durch jeden Server zu ermöglichen.
- Fig. 11 veranschaulicht die für Multiprotokoll-Netzwerk-Operationen konfigurierte NEB 2. Fig. 11 veranschaulicht eine kombinierte Novell/UNIX-Multiprotokoll-Umgebung, jedoch ist klar, daß anstelle dieser ersatzweise andere Betriebsprotokolle verwendet oder diese in Kombination mit den in Fig. 11 gezeigten eingesetzt werden können. In Fig. 11 ist die NEB 2 über eine elektrische Schnittstelle 321, einen Netzwerk-Treiber 322 und eine Verbindungsunterstützungsschicht ("LSL") 324 mit dem LAN-Bus 6 verbunden, weitgehend wie vorstehend in Fig. 7 dargestellt. Novell-spezifische Betriebsprotokolle sind durch die Bezugszeichen 325, 326 und 327 gekennzeichnet. Im einzelnen sind 325 und 326 ein SPX/IPX-Betriebsprotokoll- Stapel (oder Turm), durch den Novell-kompatible Anwendungsprogramme mit dem LAN-Bus durch die LSL kommunizieren. No vell-kompatible Anwendungsprogramme, einschließlich eines Novell-kompatiblen Servers wie CPSERVER, sind mit 327 gekennzeichnet. Die Novell-kompatible Software steuert den Drucker 4 über den bidirektionalen SCSI-Bus 102 an, wie vorstehend beschrieben wurde.
- UNIX kompatible Betriebsprotokolle sind durch Bezugszeichen 335, 336 und 337 dargestellt. Im einzelnen umfassen 335 und 336 einen TCP/IP-Betriebsprotokoll-Stapel (oder Turm), durch den UNIX kompatible Anwendungsprogramme über die LSL mit dem LAN-Bus 6 kommunizieren. UNIX kompatible Netzwerk-Anwendungsprogramme einschließlich eines UNIX-kompatiblen Drucker-Servers wie beispielsweise CLPR sind durch 337 gekennzeichnet. Der Druck-Server CLPR steuert den Drucker 4 über den SCSI-Bus 102 an, wie vorstehend beschrieben wurde.
- Das Modul PRESCAN 339 kommuniziert mit der LSL 324, um den auf dem LAN-Bus 6 übertragenen Rahmen-Pakettyp für jedes der Betriebssysteme zu ermitteln. Im einzelnen kann jedes Betriebssystem, wie beispielsweise das UNIX-Betriebssystem oder das Novell-Betriebssystem, in einer Vielfalt von Rahmen-Pakettypen auf dem LAN-Bus 6 kommunizieren. Falls der LAN-Bus 6 eine Ethernet-LAN-Bus ist, dann kann ein UNIX-Betriebssystem mit einen beliebigen von drei Rahmen-Pakettypen, d. h. Ethernet 802.2, Ethernet II und Ethernet SNAP, über das Ethernet kommunizieren. Ebenso kann dann, wenn der LAN-Bus 6 ein Ethernet-Bus ist, ein Novell-Betriebssystem mit einen beliebigen von vier Rahmen-Pakettypen, d. h. Ethernet 802.2, Ethernet 802.3, Ethernet II und Ethernet SNAP, über den LAN- Bus kommunizieren. Es ist für sowohl das Novell-Betriebssystem als auch für das UNIX Betriebssystem möglich, denselben Rahmen-Pakettyp zu verwenden; es sind die Betriebssystem- Protokolle (SPX/IPX für Novell und TCP/IP für UNIX), die festlegen, welches der Betriebssysteme in einer Multiprotokoll-Umgebung gegenwärtig auf dem LAN-Bus kommuniziert.
- In der in Fig. 11 dargestellten Multiprotokoll-Umgebung ermittelt das Modul PRESCAN 339 den von jedem Betriebssystem verwendeten Rahmen-Pakettyp durch Wiederholen der in Fig. 10 gezeigten Schritte für jedes der Betriebssystem-Protokolle (vgl. den vorstehenden Abschnitt 4e). Wenn beispielsweise Novell-kompatible und UNIX kompatible Systeme die Multiprotokoll-Umgebung umfassen, dann stellt PRESCAN durch die LSL gleichzeitig eine Bindung zu allen vier Rahmen-Pakettypen für einen SPX/TPX-Protokoll-Turm her, um den Rahmen-Pakettyp in Übereinstimmung mit der von der LSL zurückgegebenen Datengruppe, die den geeigneten IPX-Vorspann hat, zu ermitteln. Dann stellt PRESCAN durch die LSL gleichzeitig eine Bindung zu allen drei Rahmen-Pakettypen mit einem TCP/IP-Protokoll- Turm her.
- PRESCAN ermittelt den durch das UNIX kompatible Betriebssystem verwendeten Rahmen-Pakettyp in Übereinstimmung mit der Datengruppe mit dem geeigneten TCP/IP-Vorspann.
- Im einzelnen wird, um adaptiv und automatisch zu ermitteln, welcher von mehreren vorbestimmten Rahmen-Pakettypen gegenwärtig für die LAN-Kommunikation in einer Multiprotokoll- Netzwerk-Umgebung verwendet wird, das PRESCAN-Programm-Modul 339 aus dem EPROM 222 in das DRAM 220 geladen, aus dem der Mikroprozessor 216 das PRESCAN Modul ausführt. Um den Rahmen- Pakettyp für das erste Betriebssystem zu ermitteln, konfiguriert PRESCAN die LSL zunächst derart, daß gleichzeitig Bindungen zu einer Vielzahl von Rahmen-Pakettypen entsprechend zu einem ersten Betriebssystem-Protokoll, wie beispielsweise dem SPX/IPX-Betriebsprotokoll für Novell-kompatible Betriebssysteme, hergestellt werden. Der Netzwerk-Treiber 322 überwacht den LAN-Kommunikation-Bus, um Sendeverkehr für das erste Betriebssystem einzufangen. In Antwort auf das Einfangen derartigen Sendeverkehrs stellt die LSL mehrere Datengruppen für den eingefangenen Sendeverkehr bereit, wobei jede der Datengruppen einem anderen der mehreren Pakettypen entspricht. Das Modul PRESCAN 339 wird reaktiviert, um jede Datengruppe auf das Vorhandensein eines vorbestimmten Vorspanns, wie beispielsweise den SPX/IPX-Vorspann, vorabzutasten, und speichert den Rahmen-Pakettyp, der der Datengruppe mit dem vorbestimmten Vorspann entspricht, zur Verwendung durch den ersten Betriebsprotokoll-Turm ab.
- Um den für das zweite Betriebssystem wie beispielsweise ein UNIX-Betriebssystem verwendeten Rahmen-Pakettyp zu ermitteln, konfiguriert PRESCAN die LSL derart, daß gleichzeitig Bindungen zu einer Vielzahl von Rahmen-Pakettypen entsprechend dem zweiten Betriebssystem-Protokoll, wie beispielsweise TCP/IP für ein UNIX-Betriebssystem, hergestellt werden. Der Netzwerk-Treiber überwacht den LAN-Kommunikation-Bus, um Sendeverkehr für das zweite Betriebssystem einzufangen, und stellt mehrere Datengruppen entsprechend dem eingefangenen Sendeverkehr bereit, wobei jede der Datengruppen einem anderen Pakettyp entspricht. Das Modul PRESCAN tastet vorab jede Datengruppe auf das Vorhandensein eines vorbestimmten Vorspanns, wie beispielsweise den TCP/IP-Vorspann für UNIX, ab und speichert den Rahmen-Pakettyp, der der Datengruppe mit dem vorbestimmten Vorspann entspricht.
- Nachdem Kenntnis der von jedem der Betriebssystemen in der Multiprotokoll-Umgebung verwendeten Rahmen-Pakettypen erlangt wurde, können die Novell-kompatiblen Netzwerk-Anwendungsprogramme 327, wie beispielsweise CPSERVER, und die UNIX-kompatiblen Netzwerk-Anwendungsprogramme 337, wie beispielsweise CLPR, beide auf dem LAN-Bus 6 kommunizieren. Die beiden Anwendungsprogramme 327 und 337 kommunizieren auch miteinander, wie schematisch durch eine Signalisierungsleitung 340 veranschaulicht ist. Unter Verwendung der Signalisierungsleitung 340, die als ein in dem DRAM gespeichertes Steuerregister implementiert sein kann, auf welches durch die Programme 327 und 337 gemeinsam zugegriffen wird, können die Programme 327 und 337 miteinander kommunizieren, um zu signalisieren, daß eines von ihnen exklusive Kontrolle über Drucker 4 ergriffen hat, oder um zu signalisieren, daß eines von ihnen eine anstehende Anforderung zur Nutzung des Druckers 4 vorliegen hat, wie nachstehend näher beschrieben wird.
- Im Betrieb prüft ein erster Server, wie beispielsweise CPSERVER, seine Betriebssystem-Job-Schlange, und empfängt, falls Druck-Informationen in der Job-Schlange vorhanden sind, die Druck-Informationen von seinem Betriebssystem. In Koordination mit der Job-Schlangen-Prüfung durch den ersten Server überprüft der zweite Server, wie beispielsweise CLPR, seine Betriebssystem-Job-Schlange und empfängt, falls Druck-Informationen in der Job-Schlange vorhanden sind, Job-Informationen von dem Betriebssystem. Wenn einer der Server ausreichend Informationen bekommen hat, um die Verwendung des Drucker-Peripheriegeräts anzufordern, ergreift er die ausschließliche Kontrolle über den Drucker und signalisiert über die Signalisierungsleitung 340 anderen Servern, daß er die ausschließliche Kontrolle über den Drucker hat. Dies verhindert Absichtsprobleme dahingehend, daß andere Server versehentlich versuchen könnten, Druck-Jobs in den Drucker 4 einzufügen.
- Der erste Server behält die ausschließliche Kontrolle über den Drucker 4, bis seine Job-Schlange geleert worden ist. Wenn seine Job-Schlange geleert worden ist, gibt der erste Server die Kontrolle über den Drucker 4 ab, wonach dieser von einem beliebigen der anderen Server in Anspruch genommen werden kann.
- Alternativ kann, auch wenn die Job-Schlange des ersten Servers noch nicht leer ist, dann, wenn der erste Server das Ende eines Druckjobs erreicht, der erste Server andere Server über die Signalisierungsleitung 340 abfragen, um zu ermitteln, ob die anderen Server Anforderungen haben, die auf die Nutzung des Druckers 4 warten. Falls andere Server wartende Anforderungen haben, dann kann der erste Server vorübergehend die Kontrolle über den Drucker abgeben, um die abwechselnde Nutzung des Peripheriegeräts durch jeden der Server zu ermöglichen. In diesem Fall signalisiert dann, wenn der erste Server die Kontrolle über den Drucker abgibt, dieser ebenfalls, daß er eine wartende Anforderung für die Nutzung des Druckers hat.
- Wie vorstehend erwähnt wurde, erlaubt NetWare® nur einem einzigen Netzwerk-Server, von jedem Nicht-Datei-Server-Netz werkknoten, seine Dienste auf dem LAN-Bus bekanntzugeben. In der durch das nicht wiedereintrittsfähige Programm MONITOR etablierten Multitasking-Umgebung jedoch stellt die NEB 2 mehr als einen Netzwerk-Server bereit. Insbesondere stellt die NEB 2 die Dienste des Druck-Servers (CPSERVER, CRPRINTER oder CLPR) sowie die Dienste des Sockel-Servers (CPSOCKET) bereit. Das Programm-Modul SAPSERVER erlaubt beiden Netzwerk- Servern, ihre Dienste von einem einzelnen Netzwerkknoten, hier der NEB, in einem LAN-Kommunikationssystem, das normalerweise die Bekanntgabe nur eines einzigen Netzwerk-Servers von jedem Knoten unterstützt, bekanntzugeben. SAPSERVER erreicht dies durch Wirken als Ersatz-Server (oder SAPende Einheit) von der NEB, der abwechselnd die Dienste jedes seiner Client-Server, hier CPSOCKET und CPSERVER, bekanntgibt.
- SAPSERVER horcht das Netzwerk auf SAP-Sendeanforderungen, die an einen seiner Clients gerichtet sind, ab, und antwortet mit dem Servertyp seines Clients, dem Server-Namen und einer Kommunikationssockelnummer, durch die der Client eine direkte LAN-Kommunikation einrichten kann.
- Fig. 12 ist eine Abbildung zum Erklären der Softwarestruktur von SAPSERVER, und Fig. 13 ist ein Ablaufdiagramm zum Erklären des Betriebsablaufs von SAPSERVER.
- Wie in Fig. 12 gezeigt, ist SAPSERVER in der Software-Hierarchie auf dem Anwendungsniveau von Software positioniert, so daß es direkt mit den SPX- und IPX-Netzwerkebenen der Software kommunizieren kann. SAPSERVER arbeitet als eine ersatzweise SAPende Einheit für jeden seiner Clients, die im Fall der NEB 2 aus dem Sockel-Serverprogramm CPSOCKET und dem Druck-Serverprogramm CPSERVER bestehen, wie durch die Konfiguration der Platine angegeben. SAPSERVER kann auch so konfiguriert werden, daß es ebenso andere Clients bedient, wie diagrammatisch durch "CLIENT N" dargestellt.
- Wie in Fig. 13 gezeigt, beginne der Mikroprozessor 216, nachdem der Mikroprozessor 216 das SAPSERVER-Programm-Modul aus dem EPROM 222 geholt und dieses in dem DRAM 220 gespeichert hat, mit dem Betrieb des SAPSERVER-Programms und konfiguriert dieses so, daß es nach SAP-proprietären Sendungen an den proprietären SAP-Sockel hört (Schritt S1301). In Schritt S1302 gibt, nachdem der Mikroprozessor 216 das CPSOCKET-Modul aus dem EPROM 222 geholt und dieses zur Ausführung in dem DRAM 220 gespeichert hat, das CPSOCKET-Programm-Modul eine Anforderung an SAPSERVER aus, um CPSOCKET-Dienste bekanntzugeben. In Übereinstimmung mit dem Standard-SAP-Protokoll beginnt SAPSERVER periodische Bekanntgaben für CPSOCKET (Schritt S1303) in Intervallen von beispielsweise einer Minute.
- In Schritt S1304 gibt, nachdem der Mikroprozessor 216 das CPSERVER-Modul aus dem EPROM 222 geholt und zur Ausführung aus dem DRAM 220 gespeichert hat, CPSERVER eine Anforderung an SAPSERVER aus, damit SAPSERVER CPSERVER-Dienste über das Netzwerk bekanntgibt. SAPSERVER beginnt periodische SAP-Bekanntgaben für die Dienste von CPSERVER und fährt außerdem fort, die Dienste für CPSOCKET bekanntzugeben. Wie in Schritt S1305 gezeigt, erfolgen die Bekanntgaben abwechselnd.
- Schritt S1306 ermittelt, ob eine Sendeanforderung an dem SAPproprietären Sockel empfangen worden ist (beispielsweise die Sockelnummer 453). Bis eine Sendeanforderung an dem proprietären Sockel empfangen worden ist, fährt SAPSERVER einfach fort, abwechselnd die Dienste von CPSERVER und CPSOCKET bekanntzugeben. Wenn jedoch eine Sendeanforderung an dem proprietären Sockel empfangen wird, ermittelt SAPSERVER in Schritt S1307 dann, ob die Sendeanforderung für die Dienste eines seiner Clients, hier für die Dienste von CPSOCKET oder CPSERVER, bestimmt ist. Falls die Sendeanforderung nicht für einen der SAPSERVER-Clients bestimmt ist, dann kehrt der Ablauf einfach zu Schritt S1305 zurück, in dem SAPSERVER fortfährt, abwechselnd für seine Clients zu werben. Andererseits schreitet dann, wenn die Sendeanforderung für einen SAPSER- VER-Client bestimmt ist, der Ablauf zu Schritt S1308 fort.
- In Schritt S1308 antwortet SAPSERVER mit einem IPX-Paket auf der proprietären Sockelnummer 453. Das IPX-Paket enthält den Servertyp seines Clients, den Server-Namen und eine Kommuni kationssockelnummer. Das IPX-Paket gibt auch einen Kommunikationssockel an, über den der Sende-Anforderer eine direkte Kommunikation mit dem Client einrichten kann. Daraufhin kehrt SAPSERVER zu Schritt S1305 zurück, um damit fortzufahren, für jeden von seiner Clients zu werben.
- In Schritt S1309 etabliert der Sende-Anforderer eine direkte SPX-Verbindung mit dem in der Sendeanforderung angegebenen Client über den in Schritt S1308 angegebenen Kommunikationssockel. In der vorliegenden Konfiguration, in der Dienste des Druck-Servers CPSERVER angefordert werden, ist die Sockelnummer 8060. Andererseits ist dann, wenn Anforderungen für Dienste des CPSOCKET-Servers angefordert werden, die Sockelnummer 83B4 für Kommunikation und 83B5 für Verbindung. Die direkte Kommunikation erfolgt dann weiter wie im einzelnen nachstehend beschrieben.
- Fig. 14 ist ein Ablaufdiagramm, das zeigt, wie ein Netzverwalter CPINIT von dem PC 14 aus einsetzen kann, um sowohl die NEB 2 als auch den Drucker 4, in dem sich die NEB befindet, zu initialisieren und zu konfigurieren und später neu zu konfigurieren,
- In Schritt S1401 verwendet das CPINIT-Hilfsprogramm ein Dienstbekanntgabeprotokoll (Service Advertising Protocol, SAP) auf dem Netzwerk, um zu ermitteln, welche vernetzten Drucker-Einrichtungen verfügbar sind, um auf CPINIT-Anfragen zu antworten. An jeder der NEB-Platinen antwortet CPSOCKET mit dem Servertyp, dem Server-Namen, einer einmaligen Sockelnummer, über welche auf jede NEB direkt zugegriffen werden kann, und einer Angabe, ob die NEB eine Konfiguration benötigt oder nicht.
- In Schritt S1402 bildet CPINIT eine Liste aller NEBs und deren zugeordneter Einrichtungen und präsentiert diese in einer Menüform, so daß sie von dem Systemverwalter ausgewählt wer den können. Der Auswahl folgend fordert CPINIT die aktuelle Konfiguration der Ziel-NEB an (Schritt S1403). Im einzelnen sendet CPINIT eine Anforderung an die Ziel-NEB über die LAN- Schnittstelle. An der NEB empfängt CPSOCKET die Anforderung nach Konfigurationsinformationen von der LAN-Schnittstelle. CPSOCKET sammelt die benötigten Konfigurationsinformationen und lenkt sie über die LAN-Schnittstelle an CPINIT auf dem PC 14 des Systemverwalters (Schritt S1404). In Schritt S1405 zeigt CPINIT ein Menü der aktuellen Konfiguration der Ziel- NEB an.
- In Schritten S1406 bis S1408 spezifiziert der Systemverwalter eine gewünschte Konfiguration für die Ziel-Platine. Im einzelnen wird die Konfiguration auf dem PC 14 des Systemverwalters mittels einer Benutzeroberfläche wie beispielsweise einer Menüanzeige spezifiziert. Die folgenden Konfigurationsparameter werden durch den Bediener ausgewählt, um die Konfigurationsinformationen festzulegen: (1) Protokoll-Informationen (Schritt S1406), (2) NEB-Name (Schritt S1407), und (3) Anwendungstyp (wie beispielsweise CPSERVER) (Schritt S1408).
- Unter Protokoll-Informationen spezifiziert der Systemverwalter eine von vier unterschiedlichen Protokollierungsebenen: "KEINE", in der das Protokollieren unterbunden wird; "AUTO", in der grundlegende Drucker-Verwendungsstatistiken einmal pro Tag protokolliert werden; "FEHLER", in der grundlegende Drucker-Verwendungsstatistiken und Fehlerereignisse bei deren Auftreten protokolliert werden; und "JOB", in der grundlegende Verwendungs-Druckerstatistiken, Fehlerereignisse und Job- Beginn/Ende-Informationen sämtlich bei deren Auftreten protokolliert werden. Nach dem Auswählen der bevorzugten Protokollebene muß der Systemverwalter ferner die maximale Protokoll- Größe festlegen (außer wenn "KEINE" ausgewählt ist), um es dem Drucker zu ermöglichen, diesen Speicherplatz auf seiner Platte (oder in seinem NVRAM 111, falls keine Druckerplatte vorhanden ist, oder in dem NVRAM 228 in der NEB) zum Speichern von Protokoll-Informationen zu reservieren.
- Unter NEB-Name-Informationen (Schritt S1407) kann der Systemverwalter der NEB einen alphanumerischen Namen zuweisen, wie beispielsweise einen beschreibenden Namen wie "Laser 2. Stock". Der beschreibende Name wird durch die NEB in deren NVRAM gespeichert und von der NEB und andere Netzwerk-Einrichtungen herangezogen, um bei der Identifikation zu assistieren.
- Unter Anwendungstyp-Auswahl (Schritt S1408) wählt der Systemverwalter aus, ob die NEB als CPSERVER oder als CRPRINTER zu konfigurieren ist. Falls CPSERVER ausgewählt wird, müssen der Name des der NEB zugewiesenen Druckservers, ein Paßwort, die Größe des Anwendungspuffers, die Schlangenbedienungsbetriebsart, Formularnummern, die Druckernummer des Druckers, in dem sich die NEB befindet, der oder die Name(n) der durch die NEB bedienten Druck-Schlange(n) und der Name des primären Datei- Servers angegeben werden. Falls CRPRINTER ausgewählt wird, muß der Systemverwalter den Namen des Druck-Servers, durch den die NEB ihte Druck-Informationen erhält, die Druckernummer des Druckers, in dem sich die NEB befindet, der oder die Name(n) der durch die NEB bedienten Druck-Schlangen und der Name des primären Datei-Servers angeben.
- In Schritt S1409 sendet CPINIT die neue Konfiguration über das Netzwerk-LAN an die NEB. An der Ziel-NEB empfängt CPSOKKET die neuen Konfigurationsinformationen und speichert diese in dem NVRAM 228 (Schritt S1410).
- Um die Konfiguration der NEB zu vervollständigen, sollte die NEB neu gebootet werden. Der Systemverwalter gibt einen Befehl über CPINIT aus, welches wiederum Befehl über das LAN an die NEB ausgibt, neu zu booten (Schritt S1411). An der NEB empfängt CPSOCKET den Befehl, neu zu booten und bootet die NEB in der neuen Konfiguration neu (Schritt S1412).
- CPCONSOL ist ein Hilfsprogramm, das von dem PC 14 des System verwalters aus ausgeführt wird und durch das die NEB für die maximale Steuerung und Effizienz des vernetzten Druckers verwendet werden kann. Unter Verwendung von CPCONSOL ist es möglich, von Fern routinemäßige und im Ablauf befindliche Wartungsparameter nachzuverfolgen. Zum Beispiel kann ermittelt werden, daß wenig Toner vorhanden ist, daß der Papierschacht leer ist, daß eine Seite verklemmt ist, oder daß der Drucker überhaupt nicht antwortet. CPCONSOL kann auch die Gesamtzahl gedruckter Seiten fortschreiben, um eine routinemäßige und präventive Wartung sowie gegebenenfalls einen Austausch des Druckers planen zu können.
- Der CPCONSOL-Hilfsprogramm gibt dem Systemverwalter Zugang zu Statistiken über den Druckerbetrieb sowie die Effizienz von Netzwerk-Kommunikationen. CPCONSOL kann die Gesamtzahl gedruckter Seiten sowie die durchschnittliche Seiten-pro- Minute-Rate, die durchschnittlichen Seiten pro Tag und andere Statistiken, die die Überwachung des Betriebswirkungsgrads des Druckers erlauben, ermitteln.
- Die Netzwerk-Statistiken erlauben die Messung des Wirkungsgrads von Kommunikationen auf dem Netzwerk, der Häufigkeit von Übertragungs- und Empfangsfehlern, sowie von Wiederholungsversuchen, Überlauf- und Unterlauf-Fehlern.
- Wenn mehrere Drucker installiert sind, kann CPCONSOL von Fern den Verlauf von der Nutzung jedes Druckers verfolgen, sowohl hinsichtlich gesamter Jobs als auch hinsichtlich gesamter Seiten. Dies erlaubt eine Job-Nachverfolgung für beispielsweise direkte Abrechnung nach Abteilungen für Punkte wie zum Beispiel Papierverbrauchskosten.
- Durch ständige Überwachung kann CPCONSOL helfen, zu ermitteln, ob Netzwerk-Drucker für einen besseren Wirkungsgrad an einem anderen Ort plaziert oder hinzugefügt werden sollten, sowie die Notwendigkeit eines Austauschs vorhersagen.
- CPCONSOL kann auch Standard (sichere) Umgebungsparameter festlegen, die sicherstellen, daß der Drucker vor jedem Druck-Job auf dieselbe Art und Weise konfiguriert ist (vgl. den nachstehenden Abschnitt 4m). Natürlich kann der Benutzer diese Konfiguration innerhalb des Druckjobs selbst modifizieren.
- Fig. 15 ist ein detailliertes Ablaufdiagramm, das den Betriebsablauf von CPCONSOL zeigt. Wie CPINIT sendet CPCONSOL zunächst auf dem LAN, um eine Identifikation aller mit dem LAN verbundenen NEB-Geräte anzufordern (Schritt S1501). An den NEBs antwortet CPSOCKET mit den einmaligen Netzwerk-ID's und den den NEBs zugewiesenen Kommunikationssockelnummern (Schritt S1502). CPCONSOL sammelt diese Antwortinformationen für alle NEBs und zeigt dem Verwalter eine Liste antwortender NEBs an (Schritt S1503). Der Verwalter wählt eine der NEBs aus, woraufhin CPCONSOL eine direkte Netzwerk-Kommunikation mit der ausgewählten NEB mittels LAN-Sendungen an die Netzwerk-ID und Sockelnummern etabliert.
- Nachdem die direkte LAN-Kommunikation mit der Ziel-NEB einmal etabliert ist, arbeitet CPCONSOL mittels einer Benutzeroberfläche wie beispielsweise einer Menüanzeige (Schritt S1504). Das Menü unterteilt die Funktionen von CPCONSOL in fünf Gruppen: Umgebung, Netzwerk, Protokollieren, Anwendungssteuerung und Drucker-Status. Diese funktionellen Gruppen werden in den nachfolgenden Abschnitten näher beschrieben.
- Die Umgebungsauswahl erlaubt CPCONSOL, die aktuelle Umgebung des ausgewählten Druckers anzuzeigen (Schritt S1506) und die neue Umgebung zu modifizieren und zu speichern (Schritt S1507). Die Umgebung ist in vier Gruppen unterteilt: Allgemeine Umgebung, Schnittstelle, Steuerung und Qualität.
- Bei Auswahl von Allgemeine Umgebung initiiert CPCONSOL eine LAN-Anforderung an die Ziel-NEB für die Einstellungen für die Emulationsbetriebsart, Papierzufuhr und Gesamtseitenzähler. CPSOCKET an der Ziel-NEB empfängt die LAN-Anforderung, erhält die gewünschten Informationen von deren angeschlossenem Drucker über die bidirektionale SCSI-Schnittstelle, und sendet die Informationen über die LAN-Schnittstelle an CPCONSOL auf dem PC 14 des Verwalters. Dort zeigt CPCONSOL eine Auflistung, die die Emulationsbetriebsart, die Papierzufuhr und den Gesamtseitenzähler zeigt.
- Bei Auswahl des Schnittstellen-Menüs initiiert CPCONSOL eine LAN-Anforderung an die Ziel-NEB für Schnittstellen-Informationen. Wenn die NEB antwortet, bewirkt CPCONSOL, daß die Schnittstellenliste diejenige Schnittstelle anzeigt, die gegenwärtig für den ausgewählten Drucker festgelegt ist.
- Das Auswählen des Steuerung-Menüs veranlaßt CPCONSOL auf ähnliche Art und Weise, eine LAN-Anforderung an die Ziel-NEB zu initiieren, welche dann wiederum ihren Drucker über den bidirektionalen SCSI-Bus auf Druckereinstellungen abfragt. Die Druckereinstellungen werden über die LAN-Schnittstelle an CPCONSOL zurückgegeben, welches die aktuellen Einstellungen des Druckers in Übereinstimmung mit Tabelle 3 anzeigt. Tabelle 3
- Bei Auswählen der Qualität-Gruppe zeigt CPCONSOL nach dem Anfordern und Empfangen von Informationen von der Ziel-NEB über die LAN-Schnittstelle die Einstellungen für Auswahlmodus, Verfeinern, Speicherbelegung und niedrigauflösenden Modus an.
- Die Netzwerk-Auswahl erlaubt CPCONSOL, die kompilierten Statistiken über die Leistung der vernetzten Drucker auf dem Netzwerk anzuzeigen (Schritt S1509) und die neue Netzwerk- Gruppe zu modifizieren und zu speichern (Schritt S1510). Diese Statistiken sind in medienabhängig bezogene und medienunabhängig bezogene Übertragungs- und Empfangsstatistiken unterteilt. CPCONSOL kann auch alle Statistiken löschen.
- Wenn der Systemverwalter die Netzwerk-Gruppe auswählt, initiiert CPCONSOL eine Netzwerk-Anforderung über die LAN-Schnittstelle an die Ziel-NEB. An der NEB antwortet CPSOCKET auf die Anforderung und beschafft die benötigten Leistungsinformationen. Die Informationen werden von CPSOCKET gesammelt und an CPCONSOL auf dem PC 14 des Verwalters über die LAN-Schnittstelle zurückgegeben. An dem PC 14 des Verwalters zeigt CPCONSOL die medienabhängigen und medienunabhängigen Übertragungs- und Empfangsinformationen an.
- Medienabhängige Empfangs- und Übertragungs-Statistiken sind in den Tabellen 4 und 5 zusammengefaßt. Tabelle 4 Tabelle 5
- Medienunabhängige Statistiken zeigen die Netzwerk-Statistiken, die nicht auf die Übertragungsmedien bezogen sind. Solche Statistiken sind eine gute Zusammenfassung der gesamten Drucker-Aktivität auf dem Netzwerk und sind in Tabelle 6 zusammengefaßt.
- Medienunabhängige Parameter Beschreibung
- Aufgegebene Rx-Rahmen Allgemeine Empfangsprobleme
- Gesamte Rx-Rahmen Gesamtzahl empfangener Rahmen
- Rx zu groß Empfangsrahmen größer als erwartet
- Rx zu klein Empfangsrahmen kleiner als erwartet
- Aufgegebene Tx-Rahmen Allgemeine Übertragungsprobleme
- Gesamte Tx-Rahmen Gesamtzahl übertragener Rahmen
- Die Auswahl der Protokoll-Gruppe erlaubt CPCONSOL, den Satz von Jobbezogenen Statistiken anzuzeigen, die die NEB kompiliert (Schritt S1512), und die neue Protokoll-Gruppe zu modifizieren und zu speichern (Schritt S1512). Die angezeigten Daten beinhalten Job-Durchschnitte, Seiten-Durchschnitte und Leistungsdaten. CPCONSOL kann mit diesem Menü auch die Gesamtsummen auf Null zurücksetzen. Zusätzlich zu Statistiken kann die NEB ein Protokoll für jeden Druckjob erzeugen, das Protokoll auf eine Platte der Arbeitsstation schreiben oder die Protokoll-Datei löschen, je nachdem wie durch CPINIT konfiguriert.
- Falls der Systemverwalter die Option Protokoll-Gruppe auswählt, dann richtet CPCONSOL eine LAN-Anforderung für die Protokoll-Datei an die Ziel-NEB über die LAN-Schnittstelle. An der NEB empfängt CPSOCKET die Anforderung und fordert, da CPSOCKET die Protokoll-Datei auf dem Drucker speichert, die Protokoll-Datei von dem Drucker über die bidirektionale SCSI- Schnittstelle an. Die NEB holt die Protokoll-Datei von dort, wo immer sie gespeichert ist (beispielsweise von ihrer Platte 114) und stellt die Datei über die bidirektionale SCSI- Schnittstelle für CPSOCKET bereit. CPSOCKET gibt dann die Protokoll-Datei über die LAN-Schnittstelle zum Empfang durch CPCONSOL auf das Netzwerk aus.
- Die Protokoll-Datei beinhaltet Werte für die Statistiken, die in drei Kategorien unterteilt sind: Täglich, Kumulativ und Durchschnittlich. Täglich zeigt die Werte für den aktuellen Tag. Kumulativ zeigt die Gesamtsummen für alle Tage seit der letzten Rücksetzung oder seit dem Einschalten für einen Drucker ohne Plattenlaufwerk. Durchschnitt sind die kumulativen Gesamtsummen geteilt durch die Anzahl von Tagen seit der letzten Rücksetzung. Für jede der drei Kategorien unterhält die NEB Gesamtsummen für die folgenden Werte (außer wenn CPI- NIT die Protokoll-Ebene auf "KEINE" festgelegt hat): Tage (Anzahl von Tagen, seit ein Rücksetzbefehl ausgegeben wurde, oder seit dem Einschalten), gedruckte Seiten, verarbeitete Druck-Jobs, Inaktiv-Zeit und Druck-Zeit.
- CPCONSOL holt auch die gespeicherte Protokoll-Datei auf den Bildschirm zum Betrachten und Drucken. Die Protokoll-Datei liegt in umgekehrter chronologischer Reihenfolge vor und beinhaltet die folgenden Aufzeichnungstypen. Der genaue Inhalt der Protokoll-Datei variiert in Übereinstimmung mit der durch CPINIT festgelegten Protokoll-Ebene, wie in Tabelle 7 zusammengefaßt. Tabelle 7
- Die Anwendungs-Steuerung erlaubt CPCONSOL, die aktuelle Konfiguration der NEB innerhalb des Netzwerks einzusehen (wie entweder CPSERVER oder CRPRINTER) (Schritt S1515) und diese Anwendung zu aktivieren/deaktivieren oder zu modifizieren und zu speichern (Schritt S1516). Zugriff auf die Ziel-NEB wird über die LAN-Schnittstelle bereitgestellt, die auf die CPCONSOL-Anforderung durch Ausgeben eines Ergebnis-Codes auf die LAN-Schnittstelle antwortet.
- Dieses Menü erlaubt CPCONSOL, den aktuellen Status des an der NEB angeschlossenen Druckers anzuzeigen (Schritt S1518), und den neuen Drucker-Status zu modifizieren und zu speichern (Schritt S1519). CPCONSOL richtet eine Status-Anforderung an die Ziel-NEB über die LAN-Schnittstelle. An der Ziel-NEB empfängt CPSOCKET die Status-Anforderung und sendet eine Anforderung für die benötigten Status-Informationen an den Drucker über die bidirektionale SCSI-Schnittstelle. CPSOCKET empfängt die Status-Informationen von dem Drucker über die bidirektionale SCSI--Schnittstelle und richtet die Informationen zurück an CPCONSOL, wo sie auf dem PC 14 des Systemverwalters angezeigt werden.
- Es gibt 29 mögliche Statuszustände, wobei "NORMAL" der am meisten übliche ist, wie in Tabelle 8 zusammengefaßt.
- Status Bedeutung
- NORMAL Online, druckbereit oder Druckend
- OFFLINE Offline, nicht druckbereit
- ENGINETEST Druckwerktest erfaßt
- MAINTRUNNING Wartungsprogramm laufend
- PAPEROUT Papierschacht leer
- PRINTEROPEN Druckerdeckel offen
- PAPERJAMx Papierstau an Ort "x"
- NOEPCART Keine EP-Kassette vorhanden
- TONERLOW Wenig Toner in der Kassette
- ULFEED U-L-Transport
- LOADx Ihr Papier wird eingezogen
- LOADnn Ziehe Papier "nn" ein
- FEEDx Transportiere Papier [x = Meldung]
- FEEDnn Transportiere Papier "nn"
- Ocx CaPSL Ausgabeaufruf [n = Meldung]
- SETUPPER Auf oberen Schacht umschalten
- TRAYFULL Papierablage voll
- PAGEFULL Die Seite ist voll
- LINEERROR22 Zeilenfehler 22 (s. Drucker- Handbuch)
- LINEERROR40 Zeilenfehler 40 (s. Drucker- Handbuch)
- DLMEMORYFULL Herunterladespeicher voll
- WKMEMORYFULL Arbeitsspeicher voll
- JOBREJECT Job wurde zurückgewiesen
- PRINTCHECK Druckprüffehler
- OPTREMOVAL Option-Entfernung
- FONTFULL Zeichensatz-Konfigurationen sind voll
- WARMINGUP Drucker wärmt auf
- SERVICE CALL Service-Anruf ist erforderlich
- TRANSIENT Ein transienter, nicht identifizierter Fehler trat auf
- CPSOCKET ist ein Anwendungsprogramm, welches aus dem DRAM 220 auf der NEB 2 in der Multitasking-Soft-Zeit-Umgebung, die durch das nicht wiedereintrittsfähige Programm MONITOR bereitgestellt wird, abläuft. CPSOCKET bewirkt, daß SAPSERVER den Sendesockel der NEB auf dem LAN auf Sendungen von Client- Programmen wie CPINIT, CPCONSOL und DOWNLOADER überwacht.
- CPSOCKET ist verantwortlich für die interne Konfiguration der NEB, wie beispielsweise die Konfiguration als entweder ein PSERVER oder ein RPRINTER. Konfigurationen werden auf Anforderung von CPINIT festgelegt, wie vorstehend beschrieben wurde, aber es ist CPSOCKET, das diese Konfigurationsbefehle empfängt und physikalisch das NVRAM 228 ändert.
- CPSOCKET unterhält auch einen Tabelle von Standardeinstellungen für die Geräte-Umgebung (d. h. eine garantiert sichere Umgebung, vgl. den nachstehenden Abschnitt 4m), lädt die Grundkonfigurationsinformationen für den Drucker und die NEB (beispielsweise Zeichensätze und Emulationen) beim Einschalten der Einrichtung herunter (vgl. den vorstehenden Abschnitt 4d), stellt Geräte-Statusinformationen, Statistiken und Protokoll-Informationen in Antwort auf Anfragen von CPCONSOL bereit, und stellt Rücksetzungs-, Reboot- und Firmware-Herunterlade-Möglichkeiten bereit.
- Fig. 16A und 16B umfassen ein detailliertes Ablaufdiagramm, das den Betriebsablauf des Programms CPSOCKET zeigt. In Schritt S1601 transferiert der Mikroprozessor 216 nach einem erfolgreichen Selbsttest beim Einschalten (POST) das CPSOK- KET-Programm-Modul aus seinem Speicherort in dem EPROM 222 in geeignete Speicherorte in dem DRAM 220. Während der Übertragung konfiguriert der Mikroprozessor 216 das CPSOCKET-Programm in Übereinstimmung mit den Konfigurationsinformationen für das CPSOCKET-Programm, die in dem NVRAM 228 gespeichert sind. So ist es beispielsweise möglich, selektiv bestimmte Abschnitte des CPSOCKET-Programm-Moduls in Übereinstimmung mit gewünschten Komplexitätsniveaus zu aktivieren, wobei diese gewünschten Komplexitätsniveaus in dem NVRAM 228 gespeichert sind.
- In Schritt S1602 beginnt die NEB die Ausführung des Programms CPSOCKET aus dem DRAM 220. CPSOCKET wird in einer Multitasking-Soft-Zeit-Umgebung durch das nicht wiedereintrittsfähige Programm MONITOR ausgeführt, welches die nicht wiedereintrittsfähige Ausführung anderer Anwendungsprogramme wie beispielsweise CPSERVER erlaubt, ohne ein Anwendungsprogramm die für andere Anwendungsprogramme exklusive Kontrolle über den Mikroprozessor ergreifen zu lassen.
- In Schritt S1603 gibt CPSOCKET seine Existenz über die LAN- Schnittstelle über dienstbekanntgebende Protokoll-Sendungen (SAPSERVER) bekannt, die eine proprietäre Sockelnummer enthalten (vgl. den vorstehenden Abschnitt 4g). Weil andere Server in der in Schritt S1602 etablierten Multitasking-Umgebung arbeiten, und weil die Netware®-kompatible Software nur einem einzigen Nicht-Datei-Server-Server erlaubt, von einem einzelnen Netzwerk-Knoten wie beispielsweise der NEB aus bekanntzugeben, sendet CPSOCKET seine SAP-Bekanntgaben über das SAPSERVER-Programm aus. Wie näher in dem vorstehenden Abschnitt 4g beschrieben wurde, erlaubt das SAPSERVER-Programm zwei Netzwerk-Servern, von einem einzelnen Netzwerk-Knoten auszusenden, und zwar auch dann, wenn das Netzwerk nur einzelne Server für jeden Netzwerk-Knoten unterstützt.
- In Schritt S1604 empfängt CPSOCKET eine Sendeanforderung von einem Client, beispielsweise CPINIT oder CPCONSOL, auf dem proprietären Sockel 453. CPSOCKET antwortet dem Client (Schritt S1605) mit einem IPX-Paket auf demselben Sockel.
- In Schritt S1606 etabliert der Client eine direkte SPX- Kommunikation mit CPSOCKET über eine Sockelnummer, die CPSOKKET vorab zugewiesen ist, hier Sockelnummer 83B4 für Kommunikation oder 83B5 für Verbindung. In Übereinstimmung mit dieser direkten Verbindung empfängt und interpretiert CPSOCKET Client-Anforderungen und/oder Befehle, die über die LAN- Schnittstelle empfangen werden, überwacht den Status des Druckers über die bidirektionale SCSI-Schnittstelle, empfängt und sendet Statusbefehle und/oder Anfragen an den bzw. von dem Drucker über den bidirektionale SCSI-Schnittstelle, rekonfiguriert die NEB und die NEB-Konfigurationsparameter, und sendet angeforderte Informationen an die Clients über die LAN-Schnittstelle. Diese Schritte werden nachstehend in Zusammenhang mit Schritten S1607 bis S1620 gemäß Fig. 16A und 16B näher beschrieben.
- Im einzelnen schreitet in Schritt S1607 dann, wenn CPSOCKET ermittelt, daß ein Konfigurationsbefehl empfangen worden ist, der Ablauf zu Schritt S1608 fort, in dem die Konfigurationsbefehle ausgeführt werden und das Ergebnis über das LAN für den Client bereitgestellt wird. Konfigurationsbefehle sind in Tabelle 9 aufgelistet und gehören allgemein zu der Konfiguration der NEB-Platine wie entweder ein CPSERVER oder ein CRPRINTER in Übereinstimmung mit durch das Programm CPINIT initiierten Konfigurationsbefehlen. Tabelle 9: Konfigurationsbefehle
- Falls in Schritt S1609 CPSOCKET ermittelt, daß ein Einrichtungsinformationsbefehl empfangen worden ist, dann schreitet der Ablauf zu Schritt S1610 fort, in dem diese Einrichtungs informationsbefehle ausgeführt und die Ergebnisse für die LAN-Schnittstelle bereitgestellt werden. Im allgemeinen gehören die Einrichtungsinformationen zu den Schnittstellen-, Steuerungsstatus-, Zeichensatz-Satz- und Umgebungseinstellungen des an die NEB 2 angeschlossenen Druckers 4. Die Einrichtungsinformationensbefehle in Schritt S1610 erlauben das Lesen der Drucker-Geräteinformationen, das Festlegen der Drucker-Geräteinformationen, das Lesen von Standardeinstellungen für diese Informationen, und das Rücksetzen der Standardeinstellungen auf gewünschte Werte.
- Die Einrichtungsinformationsbefehle sind in Tabelle 10 näher beschrieben. Tabelle 10: Einrichtungsinformationsbefehle
- Falls in Schritt S1611 CPSOCKET ermittelt, daß ein Konfigurationsparameterbefehl empfangen worden ist, dann schreitet der Ablauf zu Schritt S1612 fort, in dem CPSOCKET den empfangenen Befehl ausführt und das Ergebnis über den LAN für den Client bereitstellt. Wie in Tabelle 11 gezeigt, gehören Konfigurationsparameterbefehle allgemein zu Parameterwerten, die in der NEB gespeichert sind und die Zeit, das Datum, die sichere Drucker-Umgebungsinformationen, Protokollierungsoptionen, die Größe der Protokolldatei usw. betreffen. Tabelle 11: Konfigurationsparameterbefehle
- Falls in Schritt S1613 CPSOCKET ermittelt, daß ein NEB-Anwendungsprogramm-Befehl empfangen worden ist, dann schreitet der Ablauf zu Schritt S1614 fort, in dem CPSOCKET Informationen über das aktuelle Anwendungsprogramm, d. h. RPRINTER, PSERVER oder LPR (für UNIX) bereitstellt. Anwendungsprogramm-Informationen beinhalten allgemein den Server-Namen, die Datei-Server-Schlange, die Gerät-ID usw., wie in Tabelle 12 näher beschrieben. Tabelle 12: Anwendungsprogramm-Informationen
- Falls in Schritt S1615 (Fig. 16B) CPSOCKET ermittelt, daß ein NEB/Drucker-Statistikbefehl ausgegeben worden ist, dann schreitet der Ablauf zu Schritt S1616 fort, in dem CPSOCKET den Drucker durch die bidirektionale SCSI-Schnittstelle abfragt, um die benötigten Drucker-Statistiken zu erhalten. Die Statistiken entsprechen den Netzwerk-Gruppenanzeigen, die vorstehend in Zusammenhang mit CPCONSOL beschrieben wurden, sowie Druckjob-Statistiken wie der Gesamtzahl von gedruckten Seiten, die Gesamtzahl von Jobs, die Gesamtzahl von Offline- Zeiten, usw. Die Job-Statistiken entsprechen der Protokoll- Gruppe, die vorstehend in Zusammenhang mit dem Programm CPCONSOL beschrieben wurden. Bestimmte Beispiele der in den NEB/Drucker-Statistikbefehlen ausgeführten Befehle sind in Tabelle 13 dargelegt. Tabelle 13: Statistik-Befehle
- Falls in Schritt S1617 CPSOCKET ermittelt, daß ein Protokoll- Befehl empfangen worden ist, dann schreitet der Ablauf zu Schritt S1618 fort, in dem CPSOCKET die Protokoll-Datei von der Drucker-Platte 114 über die bidirektionale SCSI- Schnittstelle erhält, und die Protokoll-Datei über die LAN- Schnittstelle an den Client sendet. Protokoll-Befehle sind in Tabelle 14 zusammengefaßt. Tabelle 14: Protokoll-Befehle
- Falls in Schritt S1619 CPSOCKET ermittelt, daß ein Herunterlade-Befehl von der LAN-Schnittstelle empfangen worden ist, dann schreitet der Ablauf zu Schritt S1620 fort, in dem CPSOCKET die Herunterlade-Anforderung ausführt, beispielsweise durch Empfangen herunterladbaren Codes und Speichern desselben in vorgeschrieben Orten in dem DRAM 220, durch Bereitstellen von Prüfsummen-Daten für den herunterladbaren Code und durch Brennen des herunterladbaren Codes in das EPROM 222. Einige der wichtigeren Herunterladebefehle sind in Tabelle 15 zusammengefaßt. Tabelle 15: Herunterlade-Befehle
- Wie an früherer Stelle in Bezug auf Fig. 5A beschrieben wurde, umfassen die Schritte S9 bis S12 eine automatische Protokollierungsfunktion, bei der Peripheriegeräte-Statistiken (beispielsweise die pro Tag gedruckte Anzahl von Seiten) und Fehler-Ereignisse für eine spätere Weiterverwendung automatisch protokolliert (gespeichert) werden; und bei der die Ebene der Protokollierung (die statistische Auflösung) durch den Netzverwalter variiert werden kann. Im allgemeinen kann der Netzverwalter eine Protokollierungs-Ebene auswählen und dann jederzeit Drucker-Statistiken und Fehler-Ereignisse aus der Protokoll-Datei extrahieren. Der Anteil des Netzverwalters an diesen Funktionen wurde vorstehend in Absatz 41 beschrieben, so daß auf die dort erfolgte Beschreibung und gezeigten Tabellen, insbesondere auf Tabelle 7, die den Inhalt der Protokoll-Datei in Abhängigkeit von der durch CPINIT festgelegten Protokoll-Ebene zeigt, Bezug genommen werden kann.
- Als Hintergrund sei ausgeführt, daß wenige LAN-Peripheriegeräte ihre eigene Statistiken führen, aber die NEB 2 beinhaltet Fähigkeit, den gegenwärtigen Status und die täglichen Statistiken des Druckers 4 bei Mitternacht jedes Tags zu protokollieren. Dies entlastet den Systemverwalter davon, sich daran erinnern zu müssen, dieses auf einer täglichen Basis zu tun. Die Status- und Statistik-Daten können auf der Drucker- Festplatte 114, dem Drucker-NVRAM 111, dem NEB-DRAM 220 oder in dem NEB-NVRAM 228 gespeichert werden. Der Ort der gespeicherten Protokoll-Datei kann von dem Netzverwalter in Abhängigkeit von der verbleibenden Speicherkapazität jedes dieser Speicher und den durch die von dem Netzwerkverwalter ausgewählten Protokollierungs-Ebene benötigten Statistiken ausgewählt werden. Zum Beispiel kann, wenn der Drucker eine Festplatte hat, der Netzverwalter die einigermaßen ausführliche "JOB"-Protokollierungs-Ebene wählen, damit umfangreiche Statistiken geführt werden. Andererseits kann, wenn der Drucker keine Festplatte hat, der Netzverwalter die weniger ausführliche "FEHLER"-Protokollierungs-Ebene wählen, damit weniger Speicherplatz benötigt wird. Wenn die Protokoll-Datei gefüllt ist, werden neue Fehlerdaten lediglich in den Speicher eingeschoben, wobei alte Fehlerdaten durch neue Fehlerdaten ersetzt werden.
- Die NEB speichert jede Nacht automatisch Drucker-Statistiken wie beispielsweise gedruckte Seiten, gedruckte Jobs, Offline- Zeit und Druckzeit für den Zugriff durch den Systemverwalter zu einem späteren Zeitpunkt. Die Statistiken können herangezogen werden, um den Ersatz von Drucker-Verbrauchsmaterial, wie beispielsweise Toner, vorwegzunehmen und das Benutzer- Verhalten, wie beispielsweise Belassen des Druckers inaktiv für längere Zeit, zu überwachen.
- Im allgemeinen wird die Protokollierungs-Funktion von der Drucker-Steuereinrichtungsplatine geleistet, die immer weiß, wieviel Uhr es ist. Wenn eine Drucker/Steuereinrichtungs-Platine zum ersten Mal eingeschaltet ist, sucht die Platine den nächsten Server und fordert die Zeit an. Die Platine fährt fort, dies in Abständen von einer Minute zu tun. Wenn sich der Wochentag ändert, fordert die Platine automatisch den Drucker auf, seinen Seitenzählwert zu berichten. Die Platine berechnet dann die täglichen Statistiken und speichert diese entweder auf der Drucker-Festplatte oder dem Platinen-NVRAM. Diese Statistiken werden gespeichert und stehen dem externen Netzwerk-Programm CPCONSOL, welches sie auf einem Bildschirm anzeigen oder in eine externe Datei sichern kann, zur Verfügung.
- Wie vorstehend in Absatz 41 beschrieben wurde, kann der Netzverwalter vier Protokollierungs-Ebenen auswählen: KEINE; AUTO; FEHLER; und JOB. Auf der Ebene KEINE werden keine Protokollierungs-Statistiken geführt (obwohl sie nach wie vor in Abständen von einer Minute berechnet und vorübergehend in dem NEB-DRAM 220 gehalten werden können). Auf der AUTO-Ebene werden tägliche Statistiken für Drucker-Merkmale wie Drucktage, Seiten, Jobs, Offline-Zeit und Druckzeit geführt. Die Anzahl gedruckter kumulativer Seiten wird durch den Drucker ermittelt, aber die anderen Statistiken werden durch die NEB ermittelt.
- Die FEHLER-Protokollierungs-Ebene führt die vorstehend beschriebenen täglichen Statistiken und protokolliert Fehlerzustände im Drucker und auch Fehler, die in einer Anwendung (d. h. CPSERVER) auftreten. Die NEB fragt den Drucker jede Minute auf solche Fehlerzustände ab. Solche Drucker-Fehlerzustände können beinhalten: Offline; Papiermangel; Drucker ist offen; Papierstau; keine Tonerpatrone; wenig Toner; Drucker- Transport- und Ladefehler; Ablage ist voll; Zeilenfehler; Druck-Job zurückgewiesen; Zeichensatz ist voll; Wartungs- Anruf; usw. Anwendungsfehler können beinhalten: Datei-Server heruntergefahren; primärer Datei-Server nicht verfügbar; CPSERVER läuft anderswo; IPX nicht installiert; usw.
- Die JOB-Protokollierungs-Ebene unterhält die vorstehend festgestellten täglichen Statistiken und Fehlerzustände, und führt ferner Job-Anfang- und Job-Ende-Informationen fort, die durch die NEB ermittelt werden. Natürlich können die Zahl und die Arten der Protokollierungs-Ebenen und die in jeder Protokollierungs-Ebene protokollierten Daten in Übereinstimmung mit dem jeweiligen Peripheriegerät und dem jeweiligen LAN, in dem die NEB installiert ist, variiert werden.
- Fig. 17A und 17B umfassen ein Ablaufdiagramm, das den gesamten Betriebsablauf der automatischen Protokollierungsfunktion innerhalb der NEB zeigt. Es kann auch Bezug auf die vorstehend erwähnten Fig. 5A und Tabelle 7 genommen werden. In Schritt S1 wird der NEB Leistung zugeführt, und in Schritt S8 findet das Zeitmesser-Modul den nächsten Server und fordert die Zeit an. In Schritt S1701 wird ermittelt, ob die Protokollierungs-Ebene KEINE ausgewählt wurde. Falls die Protokokollierungs-Ebene KEINE ausgewählt wurde, springt der Prozeß zum Ende des Ablaufdiagramms, an dem eine Rückkehr zu dem Gesamt-Ablaufdiagramm gemäß Fig. 5A, 5B und 5C erfolgt.
- Falls in Schritt S1701 die Protokollierungs-Ebene KEINE nicht ausgewählt wurde, ermittelt Schritt S1702, ob die Protokollierungs-Ebene AUTO ausgewählt wurde. Falls die Protokollierungs-Ebene AUTO ausgewählt wurde, schreitet der Prozeß zu Schritt S9 fort, in dem Mitternacht abgewartet wird. Falls jedoch die Protokollierungs-Ebene AUTO nicht ausgewählt wurde, ermittelt Schritt S1703, ob die Protokollierungs-Ebene FEHLER ausgewählt wurde. In dem Fall, in dem die Protokollierungs-Ebene FEHLER ausgewählt wurde, springt der Prozeß zu Schritt S1706, in dem eine Auszeit der Dauer einer Minute abgewartet wird. Falls jedoch die Protokollierungs-Ebene FEHLER nicht ausgewählt wurde, wird in Schritt S1704 ermittelt, daß die Protokollierungs-Ebene JOB ausgewählt wurde. In diesem Fall speichert Schritt S1705 die Job-Anfang- und Job-Ende- Zeiten in der Protokoll-Datei. In Schritt S1706 wird eine Auszeit der Dauer einer Minute abgewartet, woraufhin Schritt S1707 den Drucker auf Fehler-Ereignisse abfragt und solche Ereignisse in der Protokoll-Datei abspeichert. Infolgedessen fragt, wenn entweder die Protokollierungs-Ebene FEHLER oder die Protokollierungs-Ebene JOB ausgewählt wurden, die Platine den Drucker in Abständen von einer Minute auf Fehler-Ereignisse ab und speichert solche Fehler-Ereignisse in der Protokoll-Datei.
- Schritt S9 wartet auf Mitternacht, woraufhin die NEB in Schritt S10 Fig. 15B) den Drucker auf seine täglichen Statistiken abfragt. Falls Mitternacht in Schritt S9 nicht er reicht worden ist, kehrt die Prozedur zu Schritt S1702 zurück, in dem ermittelt wird, welche Protokollierungs-Ebene ausgewählt worden ist.
- In Schritt S11 werden die täglichen Drucker-Statistiken unter Verwendung der in Schritt S10 empfangenen Drucker-Statistiken berechnet. Danach werden, in Schritt S12, die täglichen Statistiken und die Fehler-Ereignisse auf der Drucker-Festplatte 114 bzw. in dem Drucker-NVRAM 111 und/oder dem NEB-NVRAM 228 gespeichert. Hier ist anzumerken, daß der Netzverwalter auswählen kann, Protokollierungs-Statistiken und Fehler-Ereignisse in einer beliebigen Kombination von Speichern ablegen kann, wodurch weitere Flexibilität für das LAN bereitgestellt wird.
- Die vorstehend beschriebenen Protokollierungs-Funktionen sind wichtig, um den Drucker zu einem interaktiven und antwortenden Element des LANs zu machen, da die SCSI-Verbindung zwischen der NEB und dem Drucker in der Lage ist, Volumina von spezifischen Daten aus dem Drucker zu extrahieren.
- Wie an früherer Stelle in Bezug auf Schritt S20 gemäß Fig. 5B beschrieben wurde, speichert das NEB-EPROM 222 ein Programm MONITOR, welches ein Mechanismus ist, der Multitasking in der Laufzeit-Umgebung unterstützt, während er synchronen Betrieb in einer Debug-Umgebung erlaubt. MONITOR erlaubt, daß aktuell aufgerufene Aufgaben auf einer nicht wiedereintrittsfähigen Basis durchgeführt werden, während die NEB auf Echtzeit-Unterbrechungen von entweder dem LAN (für CPSERVER oder CPSOKKET) oder durch die SCSI-Schnittstelle (beispielsweise wenn Status-Informationen von dem Drucker für die NEB in Antwort auf eine vorher empfangene Status-Anforderung von dem LAN bereitgestellt werden) wartet. Infolgedessen erlaubt MONITOR, daß alle aktuell ausgeführten Aufgaben durch Teilen der Nutzung des Mikroprozessors 216 gleichzeitig durchgeführt werden. Natürlich sind alle Soft-Zeit-Anwendungen, einschließ lich MONITOR selbst, durch Echtzeit-Ereignisse unterbrechbar.
- Fig. 18 ist ein fiktives Ablaufdiagramm einer Reihe von Ereignissen, die auftreten können, um den Multitasking-Betrieb innerhalb der NEB zu veranschaulichen. In Schritt S1 wird der NEB Leistung zugeführt, und in Schritt S1801 wird das Programm MONITOR wird aus dem EPROM 222 in das DRAM 220 geladen. Zum Beispiel werden die folgenden Module zusammen mit MONITOR geladen: der SCSI-Treiber; die Verbindungsunterstützungsschicht; der Netzwerk-Treiber; die Vorabtastung; IPX/SPX; ein angepaßtes NETX; SAPSERVER; CPSOCKET; und Druckanwendungen (vgl. Fig. 6).
- Falls in Schritt S1802 Druckdaten von dem Datei-Server 30 empfangen werden, beginnt CPSERVER, die empfangenen Job-Daten in Vorbereitung für die Übermittlung an den Drucker 4 zu verarbeiten. Die Verarbeitung solcher Druck-Informationen erfolgt nun in der "Soft-Zeit"-Umgebung, und Schritt S1803 ermittelt, ob eine Abgabe-Unterbrechung von dem die Druckdaten verarbeitenden Programm empfangen worden ist. Falls eine Abgabe-Unterbrechung in Schritt S1803 erreicht worden ist, wird die Ausführung des gegenwärtig ausgeführten Moduls angehalten und in Schritt S1804 die Kontrolle an MONITOR zurückgegeben. MONITOR sichert den Zustand der unterbrochenen Aufgabe in das DRAM 220. Falls jedoch in Schritt S1803 die Abgabe-Unterbrechung nicht erreicht worden ist, schreitet der Prozeß zu Schritt S1805 fort, in dem ermittelt wird, ob das gegenwärtig ausgeführte Modul sein Ende erreicht hat. Falls in Schritt S1805 das Ende nicht erreicht worden ist, wartet das Programm, bis in Schritt S1803 eine andere Abgabe-Unterbrechung erreicht wird.
- Falls das gegenwärtig ausgeführte Modul in Schritt S1804 angehalten worden ist, oder falls das gegenwärtig ausgeführte Modul ein Ende in Schritt S1805 erreicht hat, wird in Schritt S1806 ermittelt, ob Daten empfangen worden sind, welche die Ausführung eines anderen Software-Moduls erfordern, beispielsweise wenn Daten über die SCSI-Schnittstelle in Antwort auf eine vorangehend ausgegebene Anforderung für einen Druc ker-Status empfangen werden. Falls in Schritt S1805 ermittelt wird, daß solchen Daten empfangen worden sind, beginnt Schritt S1807 mit der Ausführung eines anderen Anwendungs- Moduls unter Verwendung der neu empfangenen Daten.
- In Schritt 1808 wird ermittelt, ob eine Abgabe-Unterbrechung in dem zweiten Anwendungs-Modul erreicht worden ist. Falls eine solche Unterbrechung erreicht worden ist, hält die zweite Anwendung ihre Ausführung an und übergibt die Kontrolle an MONITOR, welches in Schritt S1809 den Zustand des soeben unterbrochenen zweiten Moduls in das DRAM 220 speichert. Falls jedoch in Schritt S1808 die Abgabe-Unterbrechung in dem zweiten Modul nicht erreicht worden ist, wird in Schritt S1810 ermittelt, ob das Ende des zweiten Moduls erreicht worden ist. Falls das Ende nicht erreicht worden ist, wartet das Programm in Schritt S1808 lediglich auf die Abgabe-Unterbrechung. Falls in Schritt S1810 ermittelt wird, daß das Ende des zweiten Moduls erreicht worden ist, ermittelt Schritt S1811, ob das Ende des ersten Moduls erreicht worden ist. In dem Fall, in dem das Ende des ersten Moduls nicht erreicht worden ist, aber das Ende des zweiten Moduls erreicht worden ist, kehrt der Prozeß in den Zustand des Wartens auf eine Abgabe-Unterbrechung in dem ersten Anwendungs-Modul in Schritt S1803 zurück. Falls in Schritt S1811 sowohl das erste als auch das zweite Modul ihr Ende erreicht haben, wird die Kontrolle an das Programm MONITOR zurückgegeben, um andere neu empfangene Soft-Zeit-Aufgaben auszuführen.
- Nachdem das zweite Anwendungs-Modul aufgrund des Erreichens einer Abgabe-Unterbrechung in demselben seine Ausführung angehalten hat, wird die Kontrolle an MONITOR übergeben, welches, nach dem Speichern des Zustands des unterbrochenen Moduls in dem DRAM 220 (Schritt S1809), in Schritt S1812 die Ausführung des ersten Moduls erneut beginnt und die Ausführung des ersten Moduls fortsetzt, bis eine weitere Abgabe- Unterbrechung für das erste Modul in Schritt S1803 erreicht wird.
- Auf diese Art und Weise erlaubt die nicht wiedereintrittsfähige Multitasking-Zuweisung der Mikroprozessor-Ressourcen die parallele Verarbeitung einer Anzahl von Aufgaben auf einer nahezu Echtzeit-Basis.
- Wie vorstehend in Bezug auf Schritt S25 in Fig. 5C beschrieben wurde, stellt die NEB sicher, daß der Drucker zu Beginn oder am Ende eines Druck-Jobs auf eine bekannte Standardkonfiguration eingestellt wird. Die NEB bewirkt dieses durch Herunterladen eines Standardkonfiguration-Codes, der die Standard-Umgebung angibt (beispielsweise Hochformat-Modus, 10 Punkt-Zeichengröße, Roman Buchstaben usw.), in der der Drucker nach Abschluß eines Druckjobs belassen werden soll, in den nicht flüchtigen Speicher des Druckers (entweder die Festplatte 114 oder das NVRAM 111). Bei Empfangen eines Druckdatenstroms von dem LAN holt die NEB den Konfigurationscode aus dem nicht flüchtigen Speicher des Druckers, hängt den Konfigurationscode als Escape-Sequenz an einen Block von Druck-Daten an, und lädt dann den Druckjob-Block mit der angehängten Escape-Sequenz in den Drucker. Der Drucker führt dann einen Druckvorgang durch und beläßt danach (basierend auf der Escape-Sequenz) den Drucker in der gewünschten Standardkonfiguration.
- Novell NetWare®-Software beinhaltet die Möglichkeit, einen Netzwerk-Drucker in einer Standard Umgebung nach jedem Druckjob zurückzusetzen. Sie bewirkt dieses, indem sie den Datei- Server 30 vor dem eigentlichen Druck-Job selbst etwas installieren läßt, das einem unechten Druck-Job gleich kommt. Jedoch befinden sich die genauen Drucker-Escape-Sequenzen, die erforderlich sind, um bestimmte Drucker-Standard-Konfigurationen festzulegen, in einer Datenbank auf dem Netzwerk und nicht innerhalb des Druckers selbst. Daher kann, falls UNIX auf dem LAN betrieben werden soll, oder wenn ein Problem mit dem Datei-Server selbst vorliegt, der Drucker nicht auf eine Standard-Konfiguration wiederhergestellt werden, die sicher stellt, daß der nächste Druckjob mit dem Drucker in einer bekannten Konfiguration gedruckt werden wird.
- Ein Verfahren zum Garantieren einer Drucker-Standard--Umgebung unter Verwendung der NEB beruht auf dem Unterschied, daß die Drucker-Rücksetzzustand-Konfiguration und erforderliche Escape-Sequenz-Anweisungen innerhalb des Druckers selbst vorhanden sind und der Drucker selbst für die Rücksetzung seiner eigenen Umgebung innerhalb von Druck-Jobs verantwortlich ist. Infolgedessen ist die Drucker-Rücksetz-Funktion verfügbar, ohne daß eine Abhängigkeit von irgendeiner bezüglich des Druckers externen Einrichtung besteht. Darüber hinaus kann die anfängliche Standardkonfiguration geladen und nachfolgend von einem entfernten Ort aus über das LAN und die serielle oder parallele Schnittstelle der NEB modifiziert werden.
- Der Konfigurationscode kann durch das Programm CPCONSOL an die NEB gesendet werden, wie vorstehend in Abschnitt 41 beschrieben wurde.
- Es kann zweckmäßig sein, eine Vielzahl von Standardkonfiguration-Codes in dem nicht flüchtigen Speicher des Druckers zu speichern, um dem Netzverwalter eine große Flexibilität für die Drucker-Nutzung auf dem LAN zu erlauben. Beispielsweise können Druck-Jobs, die von einer technischen Quelle empfangen werden, erfordern, daß der Drucker standardmäßig in das Hochformat wechselt, wohingegen Druck-Jobs, die von der Buchhaltung empfangen werden, erfordern, daß der Drucker in einem Tabellenblatt-Modus verbleibt. Infolgedessen kann durch Sicherstellen einer bekannten Standard-Umgebung eine beliebige von einer Anzahl von LAN-Quellen den Drucker für ihre speziellen Jobs nutzen.
- Fig. 19 veranschaulicht ein detaillierteres Ablaufdiagramm zum Einstellen der Drucker-Standardkonfiguration. In Schritt S1 wird der NEB Leistung zugeführt, und in Schritt S22 greift die NEB auf den LAN-Datei-Server für aktive Druck-Schlangen zu und lädt Druck-Daten in das DRAM 220 herunter.
- Falls der nicht flüchtige Speicher des Druckers mehr als einen Standardkonfiguration-Code speichert, kann es notwendig sein, zunächst zu ermitteln, welche Art von Daten von dem LAN übertragen wird, um zu ermitteln, in welcher Standardkonfiguration der Drucker belassen werden sollte. Daher ermittelt Schritt S9101 die LAN-Quelle des Druckjobs, und holt Schritt S1902 den geeigneten Standardkonfiguration-Code aus dem Drucker, welcher Code der ermittelten LAN-Quelle entspricht.
- In Schritt S1903 setzt die NEB Blöcke von Bilddaten zusammen und kennzeichnet einen Anfang des Druckjobs und ein Ende des Druckjobs für jeden Druckjob. In Schritt S1904 hängt der NEB- Mikroprozessor 216 an einen Druckjob eine Escape-Sequenz an, die dem geholten Konfigurationscode entspricht. Bevorzugt wird die Escape-Sequenz am Anfang des Druck-Jobs angehängt, kann aber auch an das Ende des Druck-Jobs oder sowohl an den Anfang als auch an das Ende des Jobs angehängt werden. Dann wird in Schritt S1905 der Druckjob mit angehängter Escape- Sequenz an den Drucker übertragen, und der Drucker druckt dann in Übereinstimmung mit dem empfangenen Druckjob. Wenn ein Druckjob nach Schritt S24 beendet ist, stellt sich in Schritt S25 der Drucker selbst auf eine Standard-Umgebung ein, welche Umgebung dem in Schritt S1902 geholten Standardkonfiguration-Code entspricht. Daher verbleibt der Drucker in einer Standard-Umgebung, die sicherstellt, daß der nächste Druck-Job mit dem Drucker in einer bekannten Konfiguration beginnt.
- Somit wurde eine robuste und effiziente Hardware- und Software-Lösung gefunden zum Sicherstellen, daß der Drucker selbst eine Standardkonfiguration speichert, und dafür verantwortlich ist, sich am Ende jedes Druckjobs selbst in einen Standardzustand zu versetzen.
- Das Herunterladen ausführbarer Dateien von dem LAN in das DRAM 220 wird nachstehend im einzelnen unter Bezugnahme auf das Ablaufdiagramm gemäß Fig. 20 und in Bezug auf die vorstehende Beschreibung von Schritt S30 gemäß Fig. 5C beschrieben.
- Die NEB 2 ist vor der Auslieferung vorkonfiguriert. Die NEB 2 kann jedoch nachfolgend durch das Senden von aktualisierten ausführbaren Dateien an die NEB 2 über das LAN von dem PC 14 des Netzverwalters aus neu konfiguriert werden. Darüber hinaus kann der Netzverwalter die ausführbaren Dateien, die in dem DRAM 220 der NEB 2 gespeichert sind, von Fern nach Wunsch ändern.
- Der Prozeß, durch den ausführbare Dateien in dem DRAM 220 geändert werden können, wird nachstehend im einzelnen in Bezug auf Fig. 20 beschrieben.
- Nachdem die Platine in Schritt S1 hochgefahren wurde, schreitet der Ablauf zu Schritt S2001 fort, an welchem Punkt der Netzverwalter ein Programm DOWNLOADER aktiviert, um über das LAN eine Anforderung nach Identifikation aller NEB-Einrichtungen mit einer bestimmten Konfiguration aussendet, woraufhin der Ablauf zu Schritt S2002 fortschreitet.
- In Schritt S2002 ermittelt das Programm DOWNLOAD, ob irgendwelche Ziel-NEBs geantwortet haben. Falls in Schritt S2002 ermittelt wird, daß keine Ziel-NEBs geantwortet haben, kehrt der Ablauf zu Schritt S2001 zurück, in dem das Programm DOWNLOAD die Anforderung mit neuen Ziel-Informationen erneut aussendet; danach schreitet der Ablauf zu Schritt S2002 fort.
- Falls in Schritt S2002 eine Ziel-NEB antwortet, schreitet der Ablauf zu Schritt S2003 fort.
- In Schritt S2003 antwortet das Programm SAPSERVER mit den einmaligen Netzwerk-IDs und den einmaligen Sockelnummern, die jeder NEB zugewiesen sind (vgl. den vorstehenden Abschnitt 4g). Diese Ortsinformationen werden gesammelt, der Netzverwalter wählt eine bestimmte NEB aus, um eine ausführbare Datei herunterzuladen, und eine Kommunikation wird mit der Ziel-NEB eingerichtet.
- Bei Auswahl der Ziel-NEB lädt in Schritt S2004 der Netzverwalter neue Betriebsdateien und ein spezielles Paket, das einen Prüfsummenwert enthält, über das LAN in das DRAM 220 herunter, woraufhin der Ablauf zu Schritt S2005 fortschreitet.
- In Schritt S2005 führt der Mikroprozessor 216 einen Prüfsummen-Vorgang über die neu geladenen Betriebsdateien durch und vergleicht den Prüfsummenwert mit einem Prüfsummenwert, der in dem speziellen Paket, das in dem DRAM 220 gespeichert wird, nachdem die Betriebsdateien gespeichert worden sind, übermittelt wurde.
- Falls der Prüfsummenwert nicht gleich dem Prüfsummenwert in dem speziellen Paket ist, dann schreitet der Ablauf zu Schritt S2006 fort, an welchem Punkt der Mikroprozessor 216 den Netzverwalter darüber in Kenntnis setzt, daß der Prüfsummenwert für die neuen Betriebsdateien inkorrekt ist, und an welchem Punkt der Mikroprozessor 216 die Dateien aus dem DRAM 220 entfernen kann.
- Falls in Schritt S2006 der Prüfsummenwert verifiziert wird, dann schreitet der Ablauf zu Schritt S2007 fort, an welchem Punkt die ausführbaren Dateien von dem Mikroprozessor 216 ausgeführt werden.
- Somit kann der Netzverwalter den Betriebsablauf der NEB 2 ändern, indem er von Fern neue Betriebsdateien sendet, die in dem DRAM 220 gespeichert und aus diesem ausgeführt werden.
- Wie vorstehend in Fig. 5C in Bezug auf Schritt S32 beschrieben wurde, werden dann, wenn ein binäres ROM-Abbild in das EPROM 222 zu laden ist, eine Vielzahl von unabhängig ausführbaren Modulen zusammengesetzt, geordnet und für den Brennvorgang in das EPROM 222 vorbereitet. Das Zusammensetzen und Ordnen der Module erfolgt gegenwärtig auf einem DOS-PC, kann aber in der NEB selbst ausgeführt werden. Ein Vorteil des Zusammensetzens der unabhängig ausführbaren Module in einem PC besteht darin, daß die Module in einer DOS-Umgebung aufgebaut und/oder modifiziert werden können.
- Die NEB-Firmware umfaßt eine Anzahl von getrennt gebundenen Modulen, von welchen eines permanent ROM-residenten Code enthält, der die Kontrolle beim Einschalten erhält und einen Selbsttest, das Laden anderer Module in das DRAM 220 und grundlegende Eingabe/Ausgabe-Dienste bereitstellt. Die anderen sich in dem EPROM 222 befindenden Module müssen vor der Ausführung in das DRAM 220 kopiert werden. Es gibt zwei Arten solcher Module: die erste beinhaltet Programme, die im Grunde Treiber sind, welche die Kontrolle erhalten, wenn sie geladen, initialisiert und dann, resident bleibend, verlassen werden. Die zweite Art solcher Module sind Anwendungsprogramme, von welchen jedes einen bestimmten Satz von Funktionen ausführt.
- Gemäß Fig. 21 wird die NEB in Schritt S1 hochgefahren. In Schritt S2101 liest ein in dem PC residentes Hilfsprogramm aus dessen RAM eine Konfigurationsdatei, die die Namen aller in dem ROM-Abbild anzuordnender Module enthält. Die Konfigurationsdatei wird dazu verwendet, aus dem RAM - in Schritt S2102 - diejenigen Module auszuwählen, die in das EPROM 222 gebrannt werden.
- In Schritt S2103 schreibt das Hilfsprogramm einen Vorspann für das erste Modul, wobei der Vorspann dieses Modul identifiziert, die Attribute des Moduls beschreibt, und einen Zeiger beinhaltet, der auf das unmittelbar nachfolgende Modul zeigt. Diese Zeiger hilft bei der Anordnung der Module in einer bestimmten Reihenfolge vor dem Laden. In Schritt S2104 wird ermittelt, ob das letzte durch die Konfigurationsdatei identifizierte Modul ausgewählt worden ist. Falls das letzte Modul nicht ausgewählt worden ist, schleift der Prozeß zu Schritt S2103 zurück, in dem der Vorspann für das nächste Modul geschrieben wird.
- Falls in Schritt S2104 das letzte Modul ausgewählt worden ist, hängt das Hilfsprogramm den ROM-residenten Code an das Ende des Bild-Programms (in Schritt S2105) an, so daß zum Zeitpunkt des Einschaltens der Initialisierungscode an der von dem Mikroprozessor 216 erwarteten Adresse liegt.
- Wenn das binäre ROM-Abbild auf diese Art und Weise aufgebaut ist, kann das Bild in einen Abschnitt des Speicherbereichs des NEB-DRAM 220 geladen und dann in das EPROM 222 gebrannt werden, wie nachstehend in Abschnitt 4q und in Bezug auf die ausführliche Beschreibung der Fig. 5C, Schritt S36, näher beschrieben wird.
- Fig. 22 ist ein Blockdiagramm, das den funktionellen Aufbau des EPROM-Brennschutzschaltkreises, der sich auf der NEB befindet, zeigt. Der EPROM-Brennschutzschaltkreis beinhaltet den Mikroprozessor 216, der mit einem Datenbus 250 und einem Adreßbus 251 gekoppelt ist. Außerdem ist das DRAM 220 mit dem Datenbus 250 und dem Adreßbus 251 verbunden. Das DRAM 220 ist in der Lage, ein von einer entfernten LAN-Einrichtung heruntergeladenes ROM-Firmware-Abbild in einem Abschnitt seines Speicherbereichs (vgl. den vorstehenden Abschnitt 40) und Anwendungs-Prozeßschritte in einem anderen Abschnitt seines Speicherbereichs zu speichern. Ferner sind mit dem Datenbus 250 und dem Adreßbus 251 das EPROM 222, ein Zwischenspeicher 252 und ein PAL 253 gekoppelt. Ein D-Flip-Flop 254 ist mit dem Zwischenspeicher 252 und dem PAL 253 verbunden. Während des Betriebs empfängt das Flip-Flop 254 als Takteingangssignal ein Ausgangssignal von dem PAL 253 und als Dateneingangssignal ein Ausgangssignal des Zwischenspeichers 252. Der Zwischenspeicher 252 und der PAL 253 sind ferner mit einem Gleichsignal-Gleichsignal-Konverter 212 verbunden, und der Gleichsignal-Gleichsignal-Konverter 212 ist mit einem Transistorschalter 255 verbunden. Wenn durch den Zwischenspeicher 252 aktiviert, gibt der Gleichsignal-Gleichsignal-Konverter 212 +12 Volt auf den Eingangs-Emitter des Transistorsschalters 255. Das Flip-Flop 254 ist ebenfalls mit dem Transistorsschalter 255 verbunden, um das zum Öffnen/Schließen des Schalters 255 erforderliche Eingangssignal bereitzustellen.
- Nachstehend wird der Betriebsablauf des EPROM-Brennschutzschaltkreises unter Bezugnahme auf Fig. 22 näher erklärt. Zum Zeitpunkt des Einschaltens ist der Ausgang des Zwischenspeichers 252 niedrigpegelig, und ist das Flip-Flop 254 zurückgesetzt. Auf diese Art und Weise ist das Ausgangssignal PROG1 des Zwischenspeichers 252 niedrigpegelig, und ist die Spannung aus dem Gleichsignal-Gleichsignal-Konverter 212 derart gerichtet, daß Strom zur Masse hin fließt. Zum Zeitpunkt des Einschaltens ist das Flip-Flop 254 zurückgesetzt, so daß sein Ausgang niedrigpegelig festgelegt ist, wodurch der Transistorschalter 255 geöffnet wird.
- Mit dem Transistorschalter 255 in geöffnetem Zustand wird das Pin Vpp des EPROM 222 auf 0 Volt gehalten, wodurch verhindert wird, daß irgendwelche Daten angenommen werden oder ein Brennvorgang durchgeführt wird. D. h., damit in dem EPROM 222 ein Brennvorgang auftreten kann, muß das Pin Vpp einen Pegel von wenigstens +11.4 Volt erreichen, welches eine Anforderung ist, die gemäß der Spezifikationen des Herstellers des EPROM festgelegt ist. Um jedoch diesen Spannungspegel zu erreichen, sind die nachstehenden beiden Programmierschritte erforderlich.
- Zunächst empfängt dann, wenn ein neues ROM-Firmware-Paket in dem DRAM 220 empfangen wird, der Mikroprozessor 216 einen Befehl zum Brennen des EPROM 222 durch Erzeugen eines I/O- Schreibvorgangs in Adresse 360h mit Datenbit 7 hochpegelig (80h). Auf diese Art und Weise kann zunächst der Gleichsignal-Gleichsignal-Konverter 212 eingeschaltet werden.
- Wie in Tabellen 16 und 17 gezeigt, entspricht die Adresse 360h dem Steuerregister 230, welches dazu verwendet wird, Schreib/Lese-Operationen in das/aus dem NVRAM 228 zu steuern. Wie in der nachstehenden Tabelle 17 gezeigt, entspricht dann, wenn 360h mit Bit 7 hochpegelig/niedrigpegelig gesendet wird, die Adresse einem Betrieb des Gleichsignal-Gleichsignal-Konverters 212.
- EINGABEAUSGABE-AUSWAHL ADRESSE
- LAN-CHIP 300 - 30F HEX ((R/W)
- DMA-DATENZWISCHENSPEICHER 310-317 HEX (R/W)
- LAN-CHIP SOFT-RESET 318 - 31F HEX (R)
- SCSI-CHIP-REGISTER 320 - 32B HEX (R/W)
- STATUSREGISTER 330 HEX (R)
- STEUERREGISTER #2 360 HEX (X)
- STEUERREGISTER #2 366 HEX (X)
- NMILCK 200 HEX (W)
- LAN-ADR. ROM 340 -35F HEX (R) Tabelle 17
- Nachdem die Adresse 360h ausgegeben ist, erzeugt der Mikroprozessor 216 einen Eingabe/Ausgabe-Schreibbefehl und sendet eine Schreibauswahl (write select) an den PAL 253. Der PAL 253 erfaßt eine gültige Adresse, decodiert diese und aktiviert den Zwischenspeicher 252. Mit Bit 7 hochpegelig in Adresse 360h wird das Signal PROG1 hochpegelig festgelegt und von dem Zwischenspeicher 252 an den Gleichsignal-Gleichsignal-Konverter 212 ausgegeben. Wenn das Signal PROG1 an dem Gleichsignal-Gleichsignal-Konverter 212 empfangen wird, bewirkt es, daß der Gleichsignal-Gleichsignal-Konverter +12 Volt erzeugt. Die +12 Volt des Gleichsignal-Gleichsignal- Konverters 212 werden an den Transistorschalter 255 übermittelt und liegen an dessen Emitter an, bis der Transistorschalter 255 geschlossen wird.
- Bevor jedoch +12 Volt durch den Transistorschalter 255 gelangen können, muß der zweite Schritt ausgeführt werden. D. h., der Mikroprozessor 216 gibt einen Eingabe/Ausgabe-Lesebefehl aus und gibt die Adresse 366h aus, die einer PAL-Adresse entspricht. Wenn Mikroprozessor 216 sowohl den Befehl als auch die Adresse generiert, decodiert der PAL 2S3 die Adresse und erzeugt ein Signal PROG2. Wenn das Signal PROG2 hochpegelig ist, stellt es ein Takt-Eingangssignal für das Flip-Flop 254 bereit.
- Bei Empfangen des Takt-Eingangssignals übernimmt das Flip- Flop 254 das Signal PROG1 aus dem Zwischenspeicher 252 und erzeugt dann ein Signal TRANSON an seinem Ausgang. Das Signal TRANSON wird an den Transistorschalter 255 ausgegeben, welcher den Schalter schließt und dadurch erlaubt, daß +12 Volt an seinem Emitter an seinen Kollektor hindurchgelangen. An diesem Punkt werden +12 Volt von dem Kollektor des Transistorschalters 255 an das Pin Vpp des EPROM 222 gesendet.
- Mit an dem Pin Vpp des EPROM 222 anliegenden +12 Volt sendet der Mikroprozessor 216 ein EPROM-Auswahlsignal. Um zu verhindern, daß das neue Firmware-Bild zerstört wird, muß zuerst das EPROM 222 gelöscht werden. Dann wird das EPROM 222 mit dem in dem DRAM 220 gespeicherten neuen ROM-Firmware-Abbild gebrannt. Wenn das neue ROM-Firmware-Abbild einmal in dem EPROM 222 gespeichert ist, kann die NEB 2 aus dem neuen ROM- Firmware-Abbild neu gebootet werden.
- Nachstehend wird der Betriebsablauf der EPROM-Schutzschaltung unter Bezugnahme auf Fig. 22 und das Ablaufdiagramm gemäß Fig. 23 erklärt.
- In Schritt S2301 wird ein neues ROM-Firmware-Abbild von der NEB 2 über das LAN empfangen und in das DRAM 220 geladen. Der Mikroprozessor 216 empfängt einen Befehl zum Brennen des EPROM 222 in Schritt S2302. In Schritt S2303 sendet der Mikroprozessor 216 einen Eingabe/Ausgabe-Schreibbefehl an den PAL 253 aus, und gibt die Ausgangsadresse 360h mit Bit 7 hochpegelig aus. Der Ablauf schreitet zu Schritt S2304 fort, in dem das hochpegelige Bit 7 den Zwischenspeicher 252 aktiviert, um das Signal PROG1 auszugeben. Das Signal PROG1 schaltet den Gleichsignal-Gleichsignal-Konverter 212 ein, und +12 Volt werden an den Transistorschalter 255 ausgegeben. In Schritt S2305 sendet der Mikroprozessor 216 sowohl einen Eingabe/Ausgabe-Lesebefehl an den PAL 253 und Adresse 366, welche eine PAL-Adresse ist. In Antwort hierauf gibt der PAL 253 das Signal PROG2 aus, um das Flip-Flop 254 zu takten, wodurch ermöglicht wird, daß das Signal PROG1 an seinem Dateneingang übernommen wird.
- Das Flip-Flop 254 gibt das Signal TRANSON an den Transistorschalter 255 aus, der ermöglicht, daß +12 Volt von dem Kollektor des Transistorschalters 255 an das Pin Vpp des EPROM 222 gelangen. In Schritt S2306 löscht der Mikroprozessor 216 das EPROM 222. In Schritt S2307 ermittelt der Mikroprozessor 216, ob das EPROM 222 vollständig gelöscht worden ist. Falls das EPROM 222 nicht vollständig gelöscht worden ist, kehrt der Ablauf zu Schritt S2307 zurück.
- Nachdem der Mikroprozessor 216 ermittelt hat, daß das EPROM 222 vollständig gelöscht worden ist, wird in Schritt S2308 das ROM-Firmware-Abbild aus dem DRAM 220 in das EPROM 222 geladen. Wenn das ROM-Firmware-Abbild erfolgreich geladen ist, schreibt in Schritt S2309 der Mikroprozessor 216 die Adresse 360h mit Bit 7 niedrigpegelig. Das Signal PROG1 aus dem Zwischenspeicher 252 wird niedrigpegelig, und der Gleichsignal- Gleichsignal-Konverter 212 ermöglicht dem Spannungspegel, Strom nach Masse fließen zu lassen.
- In Schritt S2310 sendet Mikroprozessor 216 an den PAL 253 einen Eingabe/Ausgabe-Lesebefehl und eine 366h-Adresse, die es dem Signal PROG2 erlaubt, niedrigpegelig zu werden, wodurch das Flip-Flop getaktet wird, welches ein niedrigpegeliges Signal TRANSON ausgibt, das bewirkt, daß der Transistorschalter 255 geöffnet wird.
- Infolgedessen werden in Schritten S2309 und S2310 +12 Volt von dem Pin Vpp des EPROM 222 entfernt, so daß der Brennvorgang beendet wird. Nach dem Brennvorgang ermittelt der Mikroprozessor 216, ob ein Reboot-Befehl in Schritt S2311 empfangen worden ist. Falls der Reboot-Befehl empfangen worden ist, wird die NEB 2 in Schritt S2312 mit dem neuen ROM-Firmware- Abbild in dem EPROM 222 neu gebootet. Falls jedoch kein Reboot-Befehl empfangen wird, endet der Ablauf.
- Das Verfahren zum Ändern der Firmware in dem EPROM 222 von Fern wird nachstehend näher und unter Bezugnahme auf das in Fig. 24 veranschaulichte Ablaufdiagramm, Schritt S36 gemäß Fig. 5C und den vorstehenden Abschnitt 41 beschrieben. Vor der Auslieferung einer NEB an einen Kunden wird die NEB mit der minimalen Anzahl ausführbarer Dateien konfiguriert, die es der NEB erlauben, notwendige Funktionen durchzuführen. Die NEB kann jedoch nachfolgend durch den Kunden neu konfiguriert werden. D. h., ein Netzverwalter kann Daten von einer entfernten LAN-Einrichtung herunterladen, welche Daten beliebig alles von einem Patch-Code über Prüfroutinen für die Herstellung bis hin zu vollständigen, in das EPROM zu ladende Firmware-Aktualisierungen enthalten können.
- Im einzelnen kann die NEB2 durch Senden ausführbarer Dateien über das LAN von dem PC 14 des Netzverwalters aus an die NEB 2 neu konfiguriert werden. Der Netzverwalter kann von Fern das ROM-Firmware-Abbild in dem EPROM 222 nach Wunsch ändern.
- In Schritt S2401 aktiviert der Netzverwalter ein Programm CPFLASH, das eine MAC-Adresse als Befehlszeilen-Parameter verwendet, um eine bestimmte NEB anzusprechen. CPFLASH gibt eine SAP-Sendeanforderung aus, die von dem auf der NEB laufenden SAPSERVER beantwortet wird. In Schritt S2402 wartet CPFLASH auf eine Antwort von der angesprochenen NEB. In dem Fall, in dem die angesprochene NEB in etwa 15 Sekunden nicht antwortet, kehrt der Ablauf zu Schritt S2401 zurück, und die Sendung wird erneut gesendet. In dem Fall jedoch, in dem der angesprochene Server antwortet, schreitet der Ablauf zu Schritt S2403 fort.
- In Schritt S2403 werden die Adresse und der Ort der angesprochenen NEB empfangen, eine Kommunikation mit der NEB mit der passenden MAC-Adresse eingerichtet, und ein neues ROM-Firmware-Abbild über das LAN in das DRAM 220 geladen.
- In Schritt S2404 wird die Gültigkeit des ROM-Firmware-Abbilds geprüft, bevor zu dem nächsten Schritt fortgeschritten wird. Die Gültigkeit des ROM-Firmware-Abbilds wird anhand einer Bild-Prüfsumme verifiziert, die in einem speziellen Paket zusammen mit dem Herunterladevorgang in Schritt S2403 gesendet wird. Falls der Prüfsummenwert nicht mit der mit dem ROM- Abbild heruntergeladenen Prüfsumme übereinstimmt, dann wird in Schritt S2405 der Bediener von einem Fehler in Kenntnis gesetzt, und wird das ROM-Firmware-Abbild in dem DRAM 220 verworfen.
- Falls der Prüfsummenwert gültig ist, dann schreitet der Ablauf zu Schritt S2406 fort, an welchem Punkt der Mikroprozessor 216 irgendwelche beizubehaltenden Daten, wie beispielsweise die MAC-Adresse, holt und die Daten an den geeigneten Orten in dem in dem DRAM 220 gespeicherten neuen Firmware- Abbild speichert. Auf diese Art und Weise kann, falls das neue ROM-Firmware-Abbild fehlerhaft ist, die NEB noch immer funktionieren, da vorbestimmte Teile wesentlicher ROM-Firmware beibehalten werden. Nachdem die wesentlichen Teile der ROM-Firmware gesichert sind, schreitet der Ablauf zu Schritt S2407 fort, an welchem Punkt das EPROM 222 erforderlichenfalls mehrmals gelöscht wird. Nachdem das EPROM 222 gelöscht worden ist, wird in Schritt S2408 das neue ROM-Abbild in das EPROM 222 geladen.
- Nach dem Brennvorgang ermittelt der Mikroprozessor 216 in Schritt S2409, ob ein Reboot-Befehl empfangen worden ist.
- Falls der Reboot-Befehl empfangen worden ist, wird die NEB2 in Schritt S2410 neu gebootet. Falls jedoch kein Reboot- Befehl empfangen wird, endet der Ablauf.
- In Schritt S2404 kann die Gültigkeit des ROM-Firmware-Abbilds auch durch Vergleichen neu empfangener Firmware-Daten mit zuvor in dem EPROM 222 gespeicherten Daten verifiziert werden. Beispielsweise können dort, wo das EPROM 222 Hardware-Indikatoren speichert, die vorher in dem PROM 232 abgelegt waren (beispielsweise das Herstellungsdatum der Platine, die Revisionsnummer der Platine, die Herstellungseinrichtung usw.; in dem nachstehenden Abschnitt 5 näher beschrieben), solche Indikatoren mit denselben Indikatoren in dem neu empfangenen ROM-Firmware-Abbild verglichen werden.
- Dieser Vergleich kann zusätzlich zu dem oder anstelle des vorstehend beschriebenen Prüfsummenvergleichs durchgeführt werden.
- Es wird angemerkt, daß auch eine neue MAC-Adresse gleichzeitig mit dem Brennen eines ROM-Firmware-Abbilds in das EPROM 222 gebrannt werden kann. Es wird jedoch bevorzugt, nur eine MAC-Adresse am Ende der Prüfung der NEB vor der Auslieferung zu Brennen. Dieses Merkmal wird nachstehend in Bezug auf Abschnitt 5 näher beschrieben.
- Vor der Installation der NEB in dem Drucker kann diese geprüft werden, um die Integrität ihrer Hardware- und Software- Komponenten sicherzustellen. Fig. 25 veranschaulicht eine Prüfkonfiguration, die verwendet werden kann, um die NEB 2 zu prüfen. Gemäß Fig. 25 wird die NEB 2 über ein mit dem seriellen Port 218 der NEB gekoppeltes Kabel 302 mit einem PC1 300 gekoppelt. Ein Drucker 304 kann mit dem PC1 300 gekoppelt werden, um Prüfergebnisse auszudrucken.
- Die NEB 2 ist mit einem Prüf-Treiber PC2 306 durch einen SCSI-Bus 308 und Ethernet-LAN-Verbindungen 310, 312 verbun den. Der FC2 306 beinhaltet eine SCSI-Platine 314 und eine Netzwerk-Steuereinrichtungs-Platine 316, so daß er einen Drucker und LAN-Einheiten (wie den PC 14 des Netzverwalters) simulieren kann. Der PC2 arbeitet als ein Transponder, der Kommunikationen von der NEB 2 empfängt und an diese zurückgibt, wie durch die Prüfprogramme, die von dem PC1 300 über den seriellen Port 218 in die NEB eingegeben werden, vorgegeben.
- Nachdem der NEB 2 Leistung zugeführt worden ist, führt diese den Selbsttestbetrieb zum Zeitpunkt des Einschaltens durch. Während die NEB 2 jeden Prüfvorgang in dem POST durchführt, empfängt der PC1 300 Prüf-Kontrollpunkt-Ergebnisse über das serielle Kabel 302.
- Nachdem ermittelt ist, daß die NEB 2 den POST zufriedenstellend abgeschlossen hat, tritt die NEB 2 in einen "Bereit zum Herunterladen"-Zustand ein. In diesem Zustand wartet die NEB 2 für eine Zeitdauer von etwa einer Sekunde auf weitere Eingangsanweisungen über einen beliebigen der Eingangsports.
- Während sich die NEB in dem Herunterlade-Zustand befindet, lädt der PC1 300 über den seriellen Port 218 Prüfprogramme in die NEB hoch. Wenn die NEB 2 die Ausführung jedes Prüfprogramms beendet, sendet sie zur Verifizierung jedes Prüfergebnis an den PC1 300 zurück. Falls der nächste Kontrollpunkt nicht innerhalb einer Auszeit-Dauer (beispielsweise 1 Sekunde) empfangen wird, wird ermittelt, daß ein Fehler während des NEB-Prüfprogramms aufgetreten ist, und wird ein Fehlersignal durch den PC1 300 ausgegeben. Das Fehlersignal kann auf einer Anzeige an dem PC1 300 angezeigt oder auf dem Drucker 304 ausgedruckt werden.
- Andererseits schreibt dann, wenn der nächste durch den PC1 300 empfangene Kontrollpunkt nicht verifiziert bzw. bestätigt wird, der PC1 300 das Prüfprogramm (durch Hinzufügen weiterer, detaillierterer Prüf-Module) in Übereinstimmung mit dem empfangenen Ergebnis um. Auf diese Art und Weise kann der PC1 300 das Problem finden und die NEB 2 debuggen.
- Einige Prüfprogramme können erfordern, daß die NEB 2 über entweder den SCSI-Bus 308 oder eine der LAN-Verbindungen 310, 312 mit dem PC2 306 kommuniziert. Zum Beispiel kann in Übereinstimmung mit dem Prüfprogramm die NEB 2 Daten von dem PC2 über die LAN-Verbindung 310 anfordern. Der PC2 306 ist so konfiguriert, daß er geeignete Antworten auf jede Kommunikation von der NEB 2 zurückgibt, wodurch effektiv der Drucker und die anderen LAN-Elemente emuliert werden. Falls die korrekte Kommunikation von dem PC2 306 zurückgegeben wird, zeigt die NEB 2 durch Übergeben eines weiteren Kontrollpunkts an den PC1 300 über den seriellen Port 218 eine erfolgreiche Prüfung an.
- Eine ausführlichere Beschreibung des Verfahrens zum Prüfen der NEB 2 wird nachstehend unter Bezugnahme auf das in Fig. 26A und 26B veranschaulichte Ablaufdiagramm und in Übereinstimmung mit der in Fig. 25 dargestellten Testkonfiguration bereitgestellt.
- Wenn zunächst der NEB 2 Leistung zugeführt wird, führt die NEB 2 in Schritt S2601 das POST-Programm aus dem EPROM 222 aus. Das POST-Programm beinhaltet einzelne Programme zum Prüfen des Betriebsablaufs von Komponenten und der Software-Programmierung. Nach der Ausführung eines einzelnen Programms innerhalb POST wird in Schritt S2602 ein zu verifizierender Kontrollpunkt an den PC1 300 gesendet. Falls nach einer auf die Ausführung eines einzelnen Programms folgenden vorbestimmten Zeitdauer kein Kontrollpunkt gesendet wird oder ein zurückgegebener Kontrollpunkt inkorrekt ist, wird in Schritt S2603 von dem PC1 300 ein Fehlersignal ausgesandt. Falls jedoch alle Kontrollpunkte korrekt sind und rechtzeitig empfangen wurden, schreitet der Prozeß zu Schritt S2604 fort, in dem sich der PC1 300 darauf vorbereitet, Prüfprogramme an die NEB zu senden.
- In Schritt S2605 ist das POST-Programm beendet, und die NEB 2 wartet auf Anweisungen über einen beliebigen der Ports, bevorzugt den seriellen Port. Die Wartedauer kann etwa ein Fenster der Dauer einer Sekunde sein, in welcher Zeit der PC1 300 mit den vorbereiteten Textprogrammen antworten sollte. In Schritt S2606 schreitet dann, wenn der PC1 300 nicht durch Senden eines Prüfprogramms an die NEB 2 innerhalb des Zeitfensters antwortet, der Ablauf zu Schritt S2607 fort, in dem der NEB in ihre normale Betriebsart eintritt.
- Wenn der Prüfprogramm-Anweisungssatz von dem PC1 300 in Schritt S2606 empfangen wird, wird der Anweisungssatz, der weitere Prüfprogramme beinhaltet, auf der NEB 2 in dem DRAM 220 (in Schritt S2608) gespeichert. In Schritt S2609 aktiviert der PC1 300 den Anweisungssatz, und die NEB 2 führt jedes Prüfprogramm innerhalb des Anweisungssatzes aus.
- Der Prüfprogramm-Anweisungssatz kann, in zufälliger Reihenfolge, Prüfprogramme enthalten, die von der NEB 2 fordern, den PC2 306 als ein LAN-Peripheriegerät zu konfigurieren, oder von der NEB 2 fordern, den PC2 306 als ein SCSI-Peripheriegerät zu konfigurieren. In jedem Fall antwortet der PC2 306 nach der Konfiguration auf jede Kommunikation von der NEB 2, üblicherweise durch ledigliches Zurückgeben von durch die NEB gesendeten Datenblöcken.
- Kurz gesagt konfiguriert in Schritt S2610 (Fig. 26B) die NEB 2 den PC2 306 als ein LAN-Peripheriegerät, und der PC2 306 antwortet durch Senden einer Antwort an die NEB 2, die effektiv einen LAN-Rückschleiftest durchführt durch Zurückgeben der Daten, die sie empfangen hat. Die NEB 2 kommuniziert mit dem PC2 und empfängt simulierte Druckjob-Ergebnisse. In Schritt S2611 wird das Ergebnis jedes Blockjobs an den PC1 300 gesendet. Der PC1 300 ermittelt, ob das Prüfergebnis korrekt ist. In Schritt S2611 sendet, falls durch den PC1 300 ermittelt wird, daß das Prüfergebnis inkorrekt ist, der PC1 300 ein umgeschriebenes Verzweigungsprüfprogramm (Schritt S2612) in Übereinstimmung mit dem in Schritt S2611 empfangenen Prüfergebnis. Falls jedoch kein weiteres Verzweigungsprüfprogramm existiert, beendet in Schritt S2612 der PC1 300 die LAN-Prüfung und gibt ein Fehlersignal aus.
- Auf diese Art und Weise wird in Schritt S2611 die NEB 2 auf LAN-Kommunikationen geprüft. Unter der Annahme, daß die NEB 2 jede LAN-Kommunikation-Prüfung erfolgreich ablegt, schreitet der Ablauf zu Schritt S2613 fort, an welchem Punkt der PC2 306 als ein SCSI-Peripheriegerät konfiguriert wird und SCSI- Rückschleiftests durchführt durch Zurückgeben der Daten, die er empfangen hat. In Schritt S2614 werden die Ergebnisse der Prüfungen an den PC1 300 gesendet, und falls die Ergebnisse inkorrekt sind, sendet der PC1 300 auf vergleichbare Art und Weise eine Zweigprüfung in Schritt S2615 in Übereinstimmung mit dem Prüfergebnis. Falls keine weitere Zweigprüfung existiert, um die Peripheriegeräte-Kommunikation weiter zu prüfen, dann beendet natürlich der PC1 300 die Prüfung und gibt ein Fehlersignal aus.
- Unter der Annahme, daß die NEB 2 erfolgreich jede SCSI-Kommunikation-Prüfung in Schritt S2614 ablegt, schreitet der Ablauf zu Schritt S2616 fort, an welchem Punkt die NEB 2 weitere Anweisungen von dem PC1 300 anfordert. Falls der PC1 300 weitere Anweisungen zurückgibt, kehrt der Ablauf zu Schritt S2605 zurück. Falls aber keine weitere Prüfung erforderlich ist, wird die Prüfung der NEB beendet.
- Zusammenfassend umfaßt ein Verfahren zum Prüfen einer interaktiven Netzwerk-Platine mit einer LAN-Schnittstelle und einer Prüf-Schnittstelle die Schritte des Anlegens von Leistung an die Platine und Lesens eines Ergebnisses eines Selbsttests zum Zeitpunkt des Einschaltens, der aus dem Platinen-ROM über die Prüf-Schnittstelle ausgeführt wurde, und Herunterladens eines Prüfprogramms in das Platinen-RAM über die Prüf- Schnittstelle. Das Prüfprogramm wird dann für die Ausführung aus dem Platinen-RAM aktiviert. Die Platine kann dann angewiesen werden, eine periphere Einrichtung (durch entweder die LAN- oder die SCSI-Schnittstelle) als einen LAN-Treiber oder ein SCSI-Peripheriegerät zu konfigurieren. Die Platine interagiert dann mit dem LAN-Treiber oder dem SCSI-Peripheriegerät in Übereinstimmung mit dem Prüfprogramm. Ergebnisse des Prüfprogramms werden dann über die Prüf-Schnittstelle an einen Prüfcomputer ausgegeben, der diese Prüfergebnisse emp fängt. Falls bestimmte Prüfungen nicht bestanden werden, können zusätzliche Prüfprogramme in Übereinstimmung mit der Fehlerart geschrieben werden. Die neu geschriebenen Prüfprogramme sind in der Lage, eine Fehlererfassung und Diagnose durchzuführen, und diese zusätzlich geschriebenen Prüfprogramme können dann aus dem PC1 in das Platinen-RAM heruntergeladen werden.
- Nachdem alle Prüfungen erfolgreich abgeschlossen sind, kann es (in der Fabrik-Prüfumgebung) zweckmäßig sein, die Betriebs-Firmware in das EPROM 222 zu brennen. Speziell kann der letzte Schritt eines Prüfprogramms dazu genutzt werden, vor der Auslieferung das erforderliche Firmware-Abbild in das NEB-EPROM 222 zu laden (vgl. den vorstehenden Abschnitt 4q). Die in das EPROM 222 gebrannte Firmware kann auch eine einmalige MAC-Adresse für die NEB 2 beinhalten.
- In der Vergangenheit wurden MAC-Adressen unter Verwendung eines dedizierten PROM-Chips wie beispielsweise das PROM 232 in Schaltungsplatinen integriert. Es wurde jedoch festgestellt, daß dann, wenn die MAC-Adresse in ein EPROM gebrannt wird, der PROM-Chip nicht erforderlich ist, während die MAC-Adresse weiterhin auf nicht flüchtige Art und Weise gespeichert werden kann. (Natürlich könnte, wie in Absatz 4q beschrieben wurde, die MAC-Adresse auch von Fern gleichzeitig mit der Aktualisierung des ROM-Firmware-Abbilds in das EPROM gebrannt werden, nachdem die NEB 2 mit dem LAN gekoppelt ist).
- In Schritt S2617 gemäß Fig. 26B ist die NEB-Prüfung abgeschlossen, und kann jede Platine mit ihrer eigenen individuellen Kennummer, üblicherweise als MAC-Adresse bezeichnet, gekennzeichnet werden. Infolgedessen wird in Schritt S2617 ermittelt, ob ein ROM-Firmware-Abbild in dem EPROM 222 zu speichern ist. Falls kein Abbild zu speichern ist, wird die Prüfung beendet. Falls jedoch ein Abbild zu speichern ist, schreitet der Ablauf zu Schritt S2618 fort, in dem das ROM- Abbild (mit MAC-Adresse) in das EPROM 222 gebrannt wird. In Schritt S2618 kann es auch wünschenswert sein, andere, normalerweise in dem PROM 232 gespeicherte Daten, wie beispiels weise die Platinen-Revisionsnummer, das Herstellungsdatum, den Testernamen usw., zusammen mit der MAC Adresse herunterzuladen.
- Zwei mögliche Szenarien wurden zum Brennen der ROM-Firmware und der MAC-Adresse in das EPROM 222 in Betracht gezogen. In dem ersten Fall wurde die NEB 2 mit einem ausgeklügelten Satz von Diagnosen zur Verwendung bei Tests während der Herstellung vorgeladen. Dieser Ansatz begrenzt die Menge an Zeit, die benötigt wird, um die spezifischen Prüfungen herunterzuladen, da diese bereits in der Firmware vorliegen. In diesem Fall wird, nachdem die Prüfungen erfolgreich waren, die letzte Produktionsversion der Firmware in die Platine geladen und zusammen mit der MAC-Adresse und anderen Hardwarebezogenen Informationen wie beispielsweise der Platinen-Revision, Herstellungsdaten und Prüfer, gebrannt (Schritt S2618). Im zweiten Fall wird die Platine mit der letzten Produktionsversion der Firmware gebaut. In diesem Fall wird der Platinen-spezifische Informationsbereich freigelassen und nach einer erfolgreichen Ausführung der Prüfung in Schritt S2168 nur dieser Bereich geladen und gebrannt.
- Zusammenfassend umfaßt ein Verfahren zum Laden von programmierbarer Firmware nach dem Selbsttest zum Zeitpunkt des Einschaltens in eine interaktive Netzwerk-Platine mit einer LAN- Schnittstelle den Schritt des Herunterladens eines ROM-Firmware-Abbilds (einschließlich der MAC-Adresse) in das DRAM 220 über die LAN-Schnittstelle. Die Integrität des ROM-Abbilds wird dann bestätigt, und die Platine wird angewiesen, das EPROM elektronisch zu löschen. Das EPROM wird dann mit dem ROM-Abbild, das die MAC-Adresse beinhaltet, gebrannt, und die Platine wird dann aus dem EPROM neu gebootet.
- Somit ist das, was vorstehend im einzelnen beschrieben wurde, eine interaktive Netzwerk-Schaltungsplatine einschließlich einer Struktur und Funktion zum Koppeln eines Peripheriegeräts mit einem LAN derart, daß das Peripheriegerät ein antwortendes interaktives Element des LAN ist.
- Während die Erfindung in Bezug auf was als bevorzugte Ausführungsbeispiele betrachtet wird beschrieben wurde, ist klar, daß die Erfindung nicht auf die offenbarten Ausführungsbeispiele beschränkt ist. Im Gegenteil soll die Erfindung verschiedenartige Modifikationen und gleichwertige Anordnungen, die von dem Schutzbereich der beigefügten Patentansprüche umfaßt sind, abdecken. Dem Schutzbereich der nachfolgenden Patentansprüche soll die breiteste Auslegung zukommen, um alle solche Modifikationen und gleichwertigen Strukturen und Funktionen zu umfassen.
Claims (34)
1. Vorrichtung zum Speichern von Daten, umfassend:
einen Adreßbus (251) zum Transportieren von
Adreßbit;
einen Datenbus (250) zum Transportieren von
Datenbit;
einen Schreib/Lese-Speicher (222), der mit dem
Adreßbus und dem Datenbus verbunden ist, wobei der
Speicher einen Ladefreigabeeingang (Vpp) beinhaltet;
einen Prozessor (216), der betreibbar ist zum
Ausgeben eines vorbestimmten Bitmusters an eine vorbestimmte
erste Adresse und zum Zugreifen auf eine vorbestimmte
zweite Adresse;
eine Einrichtung (212) zum Erzeugen eines
Ladefreigabesignals, das dem Ladefreigabeanschluß (Vpp) des
Speichers (222) zugeführt wird;
einen Zwischenspeicher (252), der auf die erste
vorbestimmte Adresse auf dem Adreßbus (251) anspricht zum
Zwischenspeichern zumindest eines Bits des vorbestimmten
Bitmusters von dem Datenbus (250);
einen Decodierer (253), der auf die zweite
vorbestimmte Adresse auf dem Adreßbus (251) anspricht zum
Ausgeben eines ersten Steuersignals (PROG2); und
ein Flip-Flop (254) zum Ausgeben eines zweiten
Steuersignals (TRANSON) zum Steuern der Bereitstellung des
Ladefreigabesignals für den Ladefreigabeeingang (Vpp) des
Speichers (222) in Antwort auf das zumindest eine
zwischengespeicherte Bit und das erste Steuersignal (PROG2);
dadurch gekennzeichnet, daß:
(i) der Schreib/Lese-Speicher ein PROM umfaßt;
(ii) ein Schalter (255) zum schaltbaren
Bereitstellen des durch die Erzeugungseinrichtung (212) erzeugten
Ladefreigabesignals für den Ladefreigabeeingang (Vpp) des
PROMs (222) bereitgestellt ist und durch das zweite
Steuersignal (TRANSON) aktiviert wird;
(iii) die Erzeugungseinrichtung (212) derart
betreibbar ist, daß das Ladefreigabesignal bei dem
Zwischenspeichern des zumindest einen Bit durch den
Zwischenspeicher (252) erzeugt und für den Schalter (255)
bereitgestellt wird;
(iv) der Zwischenspeicher (252) derart betreibbar
ist, daß das Flip-Flop (254) mit dem zumindest einen
zwischengespeicherten Bit vorgeladen wird;
(v) das Flip-Flop (254) auf das erste Steuersignal
(PROG2) anspricht, um dadurch getaktet zu werden; und
(vi) der Prozessor (216) derart betreibbar ist, daß
das PROM (222) gelöscht und Daten in das PROM (222)
geladen werden.
2. Vorrichtung nach Anspruch 1, bei der der
Zwischenspeicher (252) auf ein Schreiben der ersten
vorbestimmten Adresse anspricht.
3. Vorrichtung nach Anspruch 1 oder 2, bei der der
Decodierer (253) auf ein Lesen der zweiten vorbestimmten
Adresse anspricht.
4. Vorrichtung nach einem der vorangehenden
Ansprüche, bei der der Prozessor (216) nach dem Laden des ROM-
Abbilds in das PROM (222) derart betreibbar ist, daß ein
anderes Bitmuster als das vorbestimmte Bitmuster an die
erste vorbestimmte Adresse ausgegeben und erneut auf die
zweite vorbestimmte Adresse zugegriffen wird.
5. Vorrichtung nach einem der vorangehenden
Ansprüche, ferner umfassend eine Einrichtung zum Anlegen eines
Rücksetzsignals an einen Rücksetzeingang des Flip-Flops
(254) bei dem Einschalten der Vorrichtung, und bei der
das Flip-Flop (254) derart angeordnet ist, daß der
Schalter (255) bei Empfangen des Rücksetzsignals geöffnet
wird, so daß das Ladefreigabesignal dem
Ladefreigabeeingang (Vpp) des PROMs (222) nicht zugeführt wird.
6. Vorrichtung nach einem der vorangehenden
Ansprüche, bei der der Zwischenspeicher (252) derart angeordnet
ist, daß bei dem Einschalten der Vorrichtung das Flip-
Flop nicht vorgeladen wird.
7. Vorrichtung nach einem der vorangehenden
Ansprüche, bei der die Erzeugungseinrichtung (212) einen
Gleichsignal-zu-Gleichsignal-Umsetzer und eine
Einrichtung zum schnellen Ausgeben des Ladefreigabesignals
umfaßt.
8. Vorrichtung nach einem der vorangehenden
Ansprüche, ferner umfassend ein NVRAM (228) zum
nichtflüchtigen Speichern von Daten, und bei der der
Zwischenspeicher (252) derart betreibbar ist, daß Daten für das NVRAM
zwischengespeichert, gelesen und geschrieben werden.
9. Vorrichtung nach Anspruch 8, bei der der
Zwischenspeicher (252) derart betreibbar ist, daß ein
Lese/Schreib-Steuerbit, ein Taktbit und ein Datenbit für
das NVRAM (228) zwischengespeichert werden.
10. Vorrichtung nach Anspruch 9, bei der der
Zwischenspeicher (252) derart betreibbar ist, daß ein
weiteres Bit zum Aktivieren der Erzeugungseinrichtung (212)
verwendet wird.
11. Vorrichtung nach einem der vorangehenden
Ansprüche, bei der das PROM (222) ein Flash-EPROM umfaßt.
12. Vorrichtung nach einem der vorangehenden
Ansprüche, bei der der Ladefreigabeeingang (Vpp) des PROMs
(222) derart angeordnet ist, daß er im wesentlichen auf
dem Massepegel liegt, wann immer der Schalter offen ist.
13. Vorrichtung nach einem der vorangehenden
Ansprüche, bei der das PROM (222) derart betreibbar ist, daß
die unbeabsichtigte Programmierung des PROMs verhindert
ist, wann immer verhindert ist, daß das
Ladefreigabesi
gnal für den Ladefreigabeeingang (Vpp) des PROMs (222)
bereitgestellt wird.
14. Interaktive Netzwerkkarte (2), umfassend eine
Vorrichtung nach einem der vorangehenden Ansprüche.
15. Interaktive Netzwerkkarte nach Anspruch 14,
ferner umfassend:
eine SCSI-Schnittstelle (100), die auf der Karte (2)
angeordnet ist;
eine LAN-Schnittstelle (101), die auf der Karte (2)
angeordnet ist, zum Empfangen des ROM-Abbilds und von
Befehlen von einer fernen LAN-Einrichtung (14);
eine Prüfschnittstelle (218), die auf der Karte (2)
angeordnet ist; und
ein RAM (220), das auf der Karte (2) angeordnet ist,
zum Speichern des von der LAN-Schnittstelle (101)
empfangenen ROM-Abbilds;
wobei der Prozessor (216) derart betreibbar ist, daß
das vorbestimmte Bitmuster an die erste Adresse
ausgegeben wird, auf die zweite Adresse zugegriffen wird, das
PROM (222) gelöscht wird und das RAM-Abbild in das PROM
geladen wird, in Antwort auf einen empfangenen Befehl von
einer fernen LAN-Einrichtung (14), und wobei der
Prozessor (216) derart betreibbar ist, daß die interaktive
Netzwerkkarte mittels dem ROM-Abbild in dem PROM (222) in
Antwort auf einen empfangenen Befehl von einer fernen
LAN-Einrichtung (14) neu gebootet wird.
16. Interaktive Netzwerkkarte nach Anspruch 15, bei
der die SCSI-Schnittstelle (100) eine
Druckerschnittstelle umfaßt.
17. Interaktive Netzwerkkarte nach Anspruch 15 oder
16, bei der das RAM (220) ein dynamisches RAM umfaßt.
18. Periphere Einrichtung (4) zur Verbindung mit
einem Lokalbereichsnetzwerk (LAN) (6), wobei die
Einrichtung eine interaktive Netzwerkkarte (2) in
Übereinstim
mung mit einem der Ansprüche 14 bis 17 zur Verbindung der
Einrichtung (4) mit dem LAN (6) beinhaltet.
19. Verfahren zum Laden von Daten in ein PROM (222),
wobei das PROM (222) einen Ladefreigabeeingang (Vpp)
beinhaltet und mit einem Adreßbus (251) und einem Datenbus
(250) verbunden ist, umfassend die Schritte:
Ausgeben eines vorbestimmten Bitmusters auf den
Datenbus (250) und einer ersten vorbestimmten Adresse auf
den Adreßbus (251);
Zwischenspeichern zumindest eines Bits des
vorbestimmten Bitmusters in Antwort auf die erste vorbestimmte
Adresse auf dem Adreßbus (251);
in Antwort auf das Zwischenspeichern des zumindest
einen Bit, Vorladen eines Flip-Flops (254) mit dem
zumindest einen zwischengespeicherten Bit und Erzeugen und
Bereitstellen eines Ladefreigabesignals für einen Schalter
(255);
Zugreifen auf eine zweite vorbestimmte Adresse auf
dem Adreßbus (251);
Takten des Flip-Flops (254) in Antwort auf die
zweite vorbestimmte Adresse auf dem Adreßbus (251), um ein
Betätigungssignal für den Schalter (255) bereitzustellen;
schaltbares Zuführen des Ladefreigabesignals von dem
Schalter (255) an den Ladefreigabeeingang (Vpp) des PROMs
(222) in Antwort auf das Betätigungssignal (TRANSON), das
durch den Taktschritt bereitgestellt wird, um das PROM
(222) freizugeben;
Löschen des PROMs (222), das durch das
Ladefreigabesignal freigegeben wurde; und
Laden von Daten in das PROM (222), das durch das
Ladefreigabesignal freigegeben wurde.
20. Verfahren nach Anspruch 19, bei dem der
Zwischenspeicherschritt das zumindest eine Bit in Antwort
auf ein Schreiben der ersten vorbestimmten Adresse
zwischenspeichert.
21. Verfahren nach Anspruch 19 oder 20, bei dem der
Taktschritt das Flip-Flop (254) in Antwort auf ein Lesen
der zweiten vorbestimmten Adresse taktet.
22. Verfahren nach einem der Ansprüche 19 bis 21,
ferner umfassend die Schritte des:
Ausgebens eines anderen Bitmusters als des
vorbestimmten Bitmusters an die erste vorbestimmte Adresse und
erneutes Zugreifen auf die zweite vorbestimmte Adresse.
23. Verfahren nach einem der Ansprüche 19 bis 22,
ferner umfassend den Schritt des Bereitstellens eines
Rücksetzsignals an einen Rücksetzeingang des Flip-Flops
(254), um den Schalter (255) zu öffnen, so daß das
Ladefreigabesignal dem Ladefreigabeeingang (Vpp) des PROMs
(222) nicht zugeführt wird.
24. Verfahren nach einem der Ansprüche 19 bis 23,
bei dem, vor dem Zwischenspeicherschritt, das Flip-Flop
(254) nicht vorgeladen wird.
25. Verfahren nach einem der Ansprüche 19 bis 24,
bei dem das Ladefreigabesignal durch einen
Gleichsignalzu-Gleichsignal-Umsetzer (212) für den Schalter (255)
bereitgestellt wird.
26. Verfahren nach Anspruch 25, bei dem der
Zwischenspeicherschritt Lese- und Schreibdaten für ein NVRAM
(228), das Daten nicht-flüchtig speichert,
zwischenspeichert.
27. Verfahren nach Anspruch 26, bei dem der
Zwischenspeicherschritt ein Lese/Schreib-Steuerbit, ein
Taktbit und ein Datenbit für das NVRAM (228)
zwischenspeichert.
28. Verfahren nach Anspruch 24, bei dem der
Zwischenspeicherschritt ein weiteres Bit zum Aktivieren des
Gleichsignal-zu-Gleichsignal-Umsetzers (212) verwendet.
29. Verfahren nach einem der Ansprüche 19 bis 28,
bei dem das verwendete PROM (222) ein Flash-EPROM umfaßt.
30. Verfahren nach einem der Ansprüche 19 bis 29,
ferner umfassend den Schritt des Legens des
Ladefreigabeeingangs (Vpp) des PROMs (222) auf den Massepegel, wann
immer der Schalter (255) offen ist.
31. Verfahren nach einem der Ansprüche 19 bis 30,
ferner umfassend den Schritt des Unterbindens des
Schreibens von Daten in das PROM (255), wann immer verhindert
ist, daß das Ladefreigabesignal dem Ladefreigabeeingang
(Vpp) des PROMs (222) zugeführt wird.
32. Verfahren nach einem der Ansprüche 19 bis 31,
wobei das Verfahren auf einer interaktiven Netzwerkkarte
(2) durchgeführt wird.
33. Verfahren nach Anspruch 32, ferner umfassend die
Schritte:
Empfangen des ROM-Abbilds über eine
LAN-Schnittstelle (101),
Speichern des empfangenen ROM-Abbilds in einem RAM
(220); und
Empfangen eines LAN-Befehls von einer fernen LAN-
Einrichtung (14) über die LAN-Schnittstelle (101);
wobei der Ladeschritt in Antwort auf den LAN-Befehl
das ROM-Abbild aus dem RAM in das PROM (222) lädt und
dann unter Verwendung des ROM-Abbilds neu bootet.
34. Verfahren nach Anspruch 33, bei dem das
verwendete RAM ein dynamisches RAM umfaßt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/978,491 US5550997A (en) | 1992-11-18 | 1992-11-18 | In an interactive network board, a method and apparatus for preventing inadvertent loading of a programmable read only memory |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69322743D1 DE69322743D1 (de) | 1999-02-04 |
DE69322743T2 true DE69322743T2 (de) | 1999-06-10 |
Family
ID=25526139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69322743T Expired - Lifetime DE69322743T2 (de) | 1992-11-18 | 1993-10-28 | Verfahren und Vorrichtung zur Verhinderung der unabsichtlichen Löschung gespeicherter Daten |
Country Status (5)
Country | Link |
---|---|
US (1) | US5550997A (de) |
EP (1) | EP0598507B1 (de) |
JP (1) | JP3548209B2 (de) |
DE (1) | DE69322743T2 (de) |
HK (1) | HK1013731A1 (de) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69433482T2 (de) | 1993-11-16 | 2004-06-03 | Fuji Xerox Co., Ltd. | Netzwerkdrucker |
JPH0887390A (ja) * | 1994-09-20 | 1996-04-02 | Fujitsu Ltd | 印刷装置を有するネットワークシステム,ネットワークシステム用印刷装置,ネットワークシステム用サーバ装置およびネットワークシステム用端末装置 |
US5748940A (en) * | 1995-08-17 | 1998-05-05 | Compaq Computer Corporation | Secure updating of non-volatile memory |
JPH10214201A (ja) * | 1997-01-29 | 1998-08-11 | Mitsubishi Electric Corp | マイクロコンピュータ |
JPH10289108A (ja) | 1997-04-17 | 1998-10-27 | Matsushita Electric Ind Co Ltd | リモートプログラムダウンロード装置 |
KR100299119B1 (ko) | 1997-09-30 | 2001-09-03 | 윤종용 | 플래쉬롬제어장치를구비한개인용컴퓨터시스템및그제어방법 |
US6298421B1 (en) * | 1998-01-12 | 2001-10-02 | Brother Kogyo Kabushiki Kaisha | Data storage device |
JPH11249886A (ja) * | 1998-02-27 | 1999-09-17 | Matsushita Electric Ind Co Ltd | 電子機器 |
US6598090B2 (en) * | 1998-11-03 | 2003-07-22 | International Business Machines Corporation | Centralized control of software for administration of a distributed computing environment |
US6282647B1 (en) * | 1999-06-02 | 2001-08-28 | Adaptec, Inc. | Method for flashing a read only memory (ROM) chip of a host adapter with updated option ROM bios code |
JP2001243157A (ja) * | 2000-02-28 | 2001-09-07 | Canon Inc | ネットワークシステム、ダウンロード装置、サーバ、ネットワーク管理方法 |
US7051326B2 (en) * | 2000-12-13 | 2006-05-23 | International Business Machines Corporation | Code image distribution in a multi-node network of processors |
US7355730B2 (en) * | 2001-03-21 | 2008-04-08 | Toshiba Tec Germany Imaging Systems Gmbh | Office machine that can be remote-maintenanced via a computer network and a management or/and support or/and report or/and information system comprising a plurality of office machines |
US7552216B2 (en) | 2001-03-27 | 2009-06-23 | Lexmark International, Inc. | Method of sharing a printer |
JP3889577B2 (ja) * | 2001-05-18 | 2007-03-07 | 三洋電機株式会社 | 画像記録装置 |
US20030226464A1 (en) * | 2002-06-10 | 2003-12-11 | Sharp Laboratories Of America, Inc. | Method to keep copies of device queued jobs in the network queue until print delivery is guaranteed |
US8077333B2 (en) * | 2002-09-09 | 2011-12-13 | Canon Kabushiki Kaisha | Printing control apparatus and printing control method |
JP4174411B2 (ja) * | 2003-10-30 | 2008-10-29 | キヤノン株式会社 | ジョブ管理装置、ジョブ管理方法、及びジョブ管理用プログラム |
WO2005116827A1 (en) * | 2004-05-31 | 2005-12-08 | Stmicroelectronics Pvt. Ltd. | A method for remotely upgrading the firmware of a target device using wireless technology |
US20060168370A1 (en) * | 2004-12-16 | 2006-07-27 | Dew Larry A | Removable identity circuit for a networked appliance |
JP4871598B2 (ja) * | 2006-01-19 | 2012-02-08 | キヤノン株式会社 | 画像処理装置および画像処理装置の起動方法およびプログラム |
US8836964B2 (en) * | 2006-01-31 | 2014-09-16 | Bell And Howell, Llc | Queued error reconciliation in a document processing environment |
JP2012174184A (ja) * | 2011-02-24 | 2012-09-10 | Canon Inc | 情報処理装置および情報処理装置の制御方法 |
CN113918081B (zh) | 2020-07-08 | 2024-03-26 | 慧荣科技股份有限公司 | 计算机可读取存储介质、配置可靠命令的方法及装置 |
TWI771707B (zh) * | 2020-07-08 | 2022-07-21 | 慧榮科技股份有限公司 | 組態可靠命令的方法及裝置以及電腦程式產品 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4794558A (en) * | 1979-06-12 | 1988-12-27 | Motorola, Inc. | Microprocessor having self-programmed eprom |
US4388695A (en) * | 1980-02-21 | 1983-06-14 | Timeplex, Inc. | Hardware memory write lock circuit |
US4441162A (en) * | 1981-04-22 | 1984-04-03 | Pitney Bowes Inc. | Local network interface with control processor & DMA controller for coupling data processing stations to common serial communications medium |
US4751648A (en) * | 1986-03-31 | 1988-06-14 | Halliburton Company | Local area network data transfer system |
US4914576A (en) * | 1986-12-18 | 1990-04-03 | Bull Hn Information Systems Inc. | Apparatus and method of loading a control store memory of a central subsystem |
US4797881A (en) * | 1987-03-12 | 1989-01-10 | Sytek, Inc. | Bridge system for connecting networks |
EP0326053B1 (de) * | 1988-01-28 | 1996-06-26 | National Semiconductor Corporation | Datensicherungsverfahren für einen programmierbaren Speicher |
US5260900A (en) * | 1991-05-03 | 1993-11-09 | Pitney Bowes Inc. | Method and apparatus for accessing non-volatile memory |
US5197034A (en) * | 1991-05-10 | 1993-03-23 | Intel Corporation | Floating gate non-volatile memory with deep power down and write lock-out |
DE4117326C2 (de) * | 1991-05-27 | 1999-11-11 | Siemens Ag | Röntgentechnische Einrichtung |
-
1992
- 1992-11-18 US US07/978,491 patent/US5550997A/en not_active Expired - Lifetime
-
1993
- 1993-10-28 DE DE69322743T patent/DE69322743T2/de not_active Expired - Lifetime
- 1993-10-28 EP EP93308610A patent/EP0598507B1/de not_active Expired - Lifetime
- 1993-11-18 JP JP28910993A patent/JP3548209B2/ja not_active Expired - Lifetime
-
1998
- 1998-12-22 HK HK98114899A patent/HK1013731A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
EP0598507B1 (de) | 1998-12-23 |
EP0598507A2 (de) | 1994-05-25 |
EP0598507A3 (de) | 1994-12-28 |
JP3548209B2 (ja) | 2004-07-28 |
JPH06214894A (ja) | 1994-08-05 |
HK1013731A1 (en) | 1999-09-03 |
US5550997A (en) | 1996-08-27 |
DE69322743D1 (de) | 1999-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69329818T2 (de) | Verfahren und Vorrichtung zur Schnittstellenbildung zwischen einem Peripheriegerät und einem lokalen Netzwerk | |
DE69323840T2 (de) | Verfahren und Gerät zur Fernveränderung von, in einer an eine peripherale Netzeinrichtung gekoppelte Schnittstelle, gespeicherte Programme | |
DE69326421T2 (de) | Verfahren und Vorrichtung zur Gewinnung und Steuerung des Zustandes eines Peripheregerätes in einem Netz | |
DE69319567T2 (de) | Verfahren und Gerät zur operationsfähigen Konfigurationsbildung einer Schnittstellenkarte | |
DE69326416T2 (de) | Verfahren und Gerät zum ferngesteuerten Laden und Ausführen von Dateien in einen Speicher | |
DE69322743T2 (de) | Verfahren und Vorrichtung zur Verhinderung der unabsichtlichen Löschung gespeicherter Daten | |
DE69322943T2 (de) | In einer interaktiven Netzwerkleiterplatte, Verfahren und Gerät zur Registrierung statistischer Daten aus Peripheriegeräten | |
DE69331963T2 (de) | Verfahren und Gerät zur selbstanpassenden Bestimmung des Formats eines über einen LAN getragenen Datenpaketes | |
DE69329056T2 (de) | Verfahren und Gerät zum Laden unabhängig ausführbarer Programme in einen Festwertspeicher | |
DE69315964T2 (de) | Verfahren und Vorrichtung zum Speichern einer Mediumzugrifts-Steueradresse in einem fernveränderbaren Speicher | |
DE69319853T2 (de) | Verfahren und Gerät zum Betrieb einer peripheren Einrichtung in einem Netz | |
DE69318939T2 (de) | Verfahren und Vorrichtung zur Anzeige von Diensten zweier Netzanbieter von einem einzelnen Netzknoten | |
DE69318259T2 (de) | Verfahren und Vorrichtung zur Implementierung einer Zweiwegeschnittstelle zwischen einem lokalen Netzwerk und einem Peripheriegerät | |
DE69315961T2 (de) | Verfahren und Gerät zum Setzen eines Peripheriegerätes in eine Standardkonfiguration | |
DE69333496T2 (de) | Verfahren, Netzwerk und Schnittstellenmodul für Verwaltung des Zugangs zu einer peripheren Einrichtung in einem Netz | |
US5438528A (en) | Method and apparatus for testing an interactive network board in a local area network (LAN). | |
EP0598508A2 (de) | Verfahren und Gerät für ausführbare, unabhängige mehrtask Programme |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |