DE69329056T2 - Verfahren und Gerät zum Laden unabhängig ausführbarer Programme in einen Festwertspeicher - Google Patents
Verfahren und Gerät zum Laden unabhängig ausführbarer Programme in einen FestwertspeicherInfo
- Publication number
- DE69329056T2 DE69329056T2 DE69329056T DE69329056T DE69329056T2 DE 69329056 T2 DE69329056 T2 DE 69329056T2 DE 69329056 T DE69329056 T DE 69329056T DE 69329056 T DE69329056 T DE 69329056T DE 69329056 T2 DE69329056 T2 DE 69329056T2
- Authority
- DE
- Germany
- Prior art keywords
- printer
- neb
- lan
- network
- application programs
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Description
- Die vorliegende Erfindung bezieht sich im allgemeinen auf eine Schaltplatine, die mit einem Peripheriegerät eines lokalen Bereichsnetzwerks (z. B. einem Drucker) verbunden ist und die es dem Peripheriegerät gestattet, unter Ausschluß der Notwendigkeit, einen Personal Computer zur Verwaltung des Peripheriegeräts abzustellen, ein intelligenter interaktiver Teil des Netzwerks zu sein. Genauer bezieht sich die vorliegende Erfindung auf ein Verfahren und ein Gerät zum Laden unabhängig ausführbarer Softwareprogramme in einen programmierbaren Festwertspeicher (ROM) auf der Platine.
- Lokale Bereichsnetzwerke ("LANs") sind dafür bekannt, daß sie eine Vielzahl von Personal Computern mit Peripheriegeräten wie Druckern, Kopierern usw. zur Verbesserung von Kommunikation und Teilhabe an Betriebsmitteln verbinden. Bisher waren mit einem lokalen Bereichsnetzwerk verbundene Peripheriegeräte wie Drucker ziemlich unintelligent, insofern als sie nur Information vom LAN entgegennahmen und diese Information als Hardcopy druckten, Darüberhinaus verlangten diese Drucker gewöhnlich einen externen Personal Computer ("PC") zur wirkungsvollen Verwaltung des Datenflußes zum Drucker, d. h. als "Server" für den Drucker. Das erforderte fast immer, daß der externe PC nur der Aufgabe als Druckerserver gewidmet war.
- Neuerdings erschien eine Anzahl von Produkten, die angeblich die Notwendigkeit eines so gewidmeten PC durch den Einbau von Hardware und Software in eine Schaltplatine ausschalten, die zur Durchführung begrenzter Serverfunktionen mit dem Peripheriegerät verbunden sein kann. Z. B. stellt ASP Computer Products, Inc. ein als "JetLAN/P" bekanntes Gerät zur Verfügung, das als selbständiger Druckserver für Novell Netzwerke dient. Das JetLAN/P® Gerät ist mit einem LAN unter Verwendung eines 10Base-2 dünnen Koaxialkabels oder einem 10Base-T Twisted-Pair-Kabel verbunden. Das JetLAN/P® ist jedoch mit dem Drucker nur durch den parallelen Anschluß des Druckers verbunden. So ist, während Druckinformation zum Drucker gesandt werden kann, die Menge an Druckerstatusinformation, die vom Drucker zurückgegeben werden kann, streng begrenzt. Z. B. kann ein solches Gerät den "außer Betrieb" oder den "kein Papier" Status vom Drucker erhalten aber wenig anderes. Ein solches Gerät trägt sehr wenig dazu bei, den Drucker zu einem wahrhaft intelligenten, verantwortlichen Teil des Netzwerks zu machen.
- Andere bekannte Geräte zum Verbinden eines Druckers mit einem LAN beinhalten den Hewlett-Packard Jet Direct® C2071A/B und C2059A, den Extended Systems EtherFlex®, den Intel NetPort® und Netport II®, den Castelle LANPress® und JetPress® und den MiLAN FastPort®. All diese Geräte leiden jedoch insofern unter den selben Nachteilen wie der ASP JetLAN, als sie dem Drucker nicht erlauben, eine genügende Datenmenge zum LAN zu übertragen, die es dem Drucker ermöglicht, ein wirkungsvoller und intelligenter Teil des Netzwerks zu sein.
- Darüberhinaus enthalten die vorstehend bezeichneten bekannten Geräte typischerweise ein einzelnes ausführbares Programm, das von Anfang bis Ende arbeitet und das in der Lage ist, alle möglichen Funktionen des Geräts auszuführen. Die bestimmten ausgeführten Funktionen werden auf Grundlage von gesetzten Softwaremarkierungen oder mechanischen Schaltern gewählt. Dementsprechend war es bisher nicht möglich, das Gerät mit mehreren ausführbaren Funktionen auszustatten, von denen einige zur Ausführung in Übereinstimmung mit gewünschter Funktionalität des Geräts gewählt werden.
- In Übereinstimmung mit einem ersten Aspekt bietet die vorliegende Erfindung ein Gerät zum Bilden einer durch eine interaktive Netzwerkplatine ausführbaren Bilddatei, wobei diese in einen programmierbaren Nur-Lese-Speicher (PROM) geladen werden kann, der auf der interaktiven Netzwerkplatine installiert werden kann mit:
- Speicher zum Speichern einer Konfigurationsdatei, Dienstprogramm zum Bilden der Bilddatei und einer Vielzahl unabhängig ausführbarer Anwendungsprogramme für die interaktive Netzwerkplatine; und
- Prozessor zum Ausführen programmierbarer Abläufe;
- gekennzeichnet dadurch, daß der Prozessor in der Lage ist, die Konfigurationsdatei aus dem Speicher zu lesen (Schritt S2101); in Übereinstimmung mit der Konfigurationsdatei unabhängig ausführbare Anwendungsprogramme aus dem Speicher zu wählen (Schritt S2102); jedem gewählten Anwendungsprogramm Daten hinzuzufügen, die dieses Programm kennzeichnen und auf ein weiteres der gewählten Anwendungsprogramme hinzuweisen (Schritt S2103); und das Dienstprogramm zum Bilden einer in das PROM ladbaren Bilddatei auszuführen, wobei die Bilddatei das gewählte Anwendungsprogramm und die Identifikations- und Hinweisdaten enthält.
- In Übereinstimmung mit einem zweiten Aspekt bietet die vorliegende Erfindung ein Verfahren zum Bilden einer durch eine interaktive Netzwerkplatine ausführbaren Bilddatei, wobei diese in einen programmierbaren Nur-Lese-Speicher (PROM) geladen werden kann, der auf der interaktiven Netzwerkplatine installiert werden kann, wobei das Verfahren durch einen Prozessor implementiert wird und und enthält:
- Lesen einer Konfigurationsdatei aus einem Speicher (Schritt S2101);
- Wählen unabhängig ausführbarer Anwendungsprogramme aus dem Speicher in Übereinstimmung mit der Konfigurationsdatei (Schritt S2102);
- Hinzufügen von Daten zu jedem gewählten Anwendungsprogramm, die das Programm identifizieren und auf ein weiteres der gewählten Anwendungsprogramme hinweisen (Schritt S2103) und
- Ausführen eines im Speicher gespeicherten Dienstprogramms zum Bilden einer in das PROM ladbaren Bilddatei, welche die gewählten Anwendungsprogramme und die Identifizierungs- und Hinweisdaten enthält.
- Die vorliegende Erfindung bietet eine einzigartige Flexibilität bei Vorbereitung und Aktualisierung des PROMresidenten Kodes. Der im PROM gespeicherte Kode beinhaltet eine Vielzahl unabhängig ausführbarer Anwendungsprogramme. So kann jedes Anwendungsprogramm in einer DOS Umgebung entwickelt und ausgetestet werden. Die unabhängig ausführbaren Anwendungsprogramme werden dann in einer bestimmten Reihenfolge geordnet, so dass jedes Programm mit den vorhergehenden und den nachfolgenden Programmen verbunden ist. Nach Einordnung der Programme werden sie in das PROM geladen. Ein weiterer Vorteil der Verwendung unabhängig ausführbarer Programme im PROM ist, dass einzelne Programme aus dem PROM gezogen und ins RAM gelesen werden können, um dort ausgeführt zu werden. Deshalb kann das PROM eine Vielzahl von Anwendungsprogrammen enthalten, die in der Lage sind, eine grosse Bandbreite verschiedener Funktionen auszuführen und es so dem PROM zu ermöglichen, einen Kode zu speichern, der in der Lage ist, das Peripheriegerät mit verschiedenen funktionellen Konfigurationen zu konfigurieren.
- Ausführungsbeispiele der vorliegenden Erfindung, wie in den anhängigen Ansprüchen definiert, werden nun unter Bezug auf die Begleitzeichnungen beschrieben:
- Fig. 1 ist ein Blockdiagram eines lokalen Bereichsnetzwerks gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
- weiter mit Seite 6
- Fig. 2 ist ein Blockdiagramm einer Vielzahl miteinander verbundener lokaler Bereichsnetzwerke;
- Fig. 3 ist ein Blockdiagramm, das die Netzwerkerweiterungsplatine gemäß der vorliegenden Erfindung zeigt, die zwischen dem lokalen Bereichsnetzwerk und dem Drucker eingebunden ist;
- Fig. 4 ist ein Blockdiagramm der Netzwerkerweiterungsplatine gemäß der vorliegenden Erfindung;
- Fig. 5A, 5B und 5C beinhalten das wichtigste Flußdiagramm, das die grundlegenden Funktionen der Netzwerkerweiterungsplatine gemäß der vorliegenden Erfindung zeigt;
- Fig. 6 ist ein Diagramm, das die Abfolge zeigt, in der Softwaremodule vom ROM der Netzwerkerweiterungsplatine ins RAM geladen werden;
- Fig. 7 ist ein Blockdiagramm, das Hardware- und Softwareschnittstellen zwischen LAN und Netzwerkerweiterungsplatine zeigt;
- Fig. 8 ist ein Flußdiagramm, das zeigt, wie die EPROM Firmware konfiguriert wird, um die Netzwerkerweiterungsplatine in einen Auftragsmodus zu versetzen;
- Fig. 9 ist ein Diagramm, das den physikalischen Aufbau verschiedener Rahmenpakete, die bei Ethernet verwendet werden, zeigt;
- Fig. 10 ist ein Flußdiagramm, das das Vorgehen eines PRESCAN Softwaremoduls zeigt;
- Fig. 11 ist ein Diagramm, das zeigt, daß das PRESCAN Modul zusammen mit anderen Softwareprotokollen verwendet werden kann;
- Fig. 12 ist ein Diagramm zur Erklärung der Softwarestruktur des SAPSERVER Programms;
- Fig. 13 ist ein Flußdiagramm, das die Auftragsweise von SAPSERVER zeigt;
- Fig. 14 ist ein Flußdiagramm, das die Auftragsweise eines CPINIT Porgramms zeigt;
- Fig. 15 ist ein Flußdiagramm, das die Auftragsweise eines CPCONSOL Programms zeigt;
- Fig. 16A und 16B beinhalten ein Flußdiagramm, das die Auftragsweise eines CPSOCKET Programms zeigt;
- Fig. 1YA und 17B beinhalten ein Flußdiagramm, das die automatische Protokollierung peripherer Statistiken zeigt;
- Fig. 18 ist ein Flußdiagramm, das zeigt, wie Multitaskingverarbeitung durchgeführt wird;
- Fig. 19 ist ein Flußdiagramm, das zeigt, wie der Drucker in einem sicheren, vorgegebenen Aufbau plaziert werden soll;
- Fig. 20 ist ein Flußdiagramm, das das Herunterladen der ausführbaren Dateien aus dem lokalen Bereichsnetzwerk zur Netzwerkerweiterungsplatine zeigt;
- Fig. 21 ist ein Flußdiagramm, das das Laden der unabhängig durchführbaren Module in das EPROM der Netzwerkerweiterungsplatlne zeigt;
- Fig. 22 ist ein Blockdiagramm, das eine Flash-Schutzschaltung für das EPROM der Netzwerkerweiterungsplatine zeigt;
- Fig. 23 ist ein Flußdiagramm, das die Arbeitsweise des Stromkreises der Fig. 22 zeigt;
- Fig. 24 ist ein Flußdiagramm, das den Vorgang der Fernladung von Firmware in das EPROM der Netzwerkerweiterungsplatine zeigt;
- Fig. 25 ist ein Blockdiagramm, das eine Hardwarekonfiguration zum Testen der Netzwerkerweiterungsplatine zeigt; und
- Fig. 26A und 26B beinhalten ein Flußdiagramm, das ein Verfahren zum Testen der Netzwerkerweiterungsplatine unter Verwendung der Testkonfiguration der Fig. 25 zeigt.
- Die Ausführungsbeispiele zielen generell darauf ab, Hardware- und Softwarelösungen zur Verfügung zu stellen, die es einem Netzwerkperipheriegerät, wie einem Drucker, einem interaktiven Netzwerkteil ermöglichen, nicht nur vom Netzwerk empfangene Daten zu empfangen und zu verarbeiten, sondern auch signifikante Datenmengen, wie detaillierte Statusinformation, Verarbeitungsparameter und sogar Dateneingaben ins Peripheriegerät durch andere Modalitäten wie Scannen, Faksimileaufnahme usw. zum Netzwerk zu übertragen. Durch Verbindung solcher Hardware und Software mit dem Peripheriegerät ist es möglich, die Inanspruchnahme eines PC als Server für das Peripheriegerät auszuschließen.
- Fig. 1 ist ein Blockdiagramm, das die vorliegende Erfindung als Bestandteil einer Netzwerkerweiterungsplatine ("NEB") 2 verbunden mit einem Drucker 4 mit offener Architektur (später erörtert) zeigt. Die NEB 2 ist an den LAN Bus 6 durch eine LAN Schnittstelle 8, z. B. Ethernet Schnittstellen 10Base-2, 10Base-T oder 10Base-5 angeschlossen, entsprechend mit einer Coax Verbindung, einer RJ45 Verbindung oder einer DB15 Verbindung (AUI). An das LAN 6 können auch angeschlossen sein Netzwerkteile wie PC 10, PC 12, PC 14 (der in diesem Fall als Netzwerkverwalter handelt, wenn sich der Administrator an diesem PC eingeloggt hat; wird später erörtert) und ein Drucker 16 (mit darin enthaltener QSERVER Funktionalität; wird ebenfalls später erörtert). Andere LAN Bestandteile können den PC 18 enthalten (dient als Druckserver; wird später erörtert) mit damit verbundenem Drucker 20, den PC 22 (dient als RPRINTER; wird später erörtert) mit damit verbundenem Drucker 24 und den Drucker 26, der an das LAN 6 durch ein NetPort Gerät 28 (im obigen Hintergrund der Erfindung besprochen) angeschlossen ist. Ein Dateiserver 30 ist an das LAN 6 angeschlossen und dient als "Bibliothek" für Dateien, die auf dem LAN übertragen und verarbeitet werden sollen. Mit dem Dateiserver 30 können die Drucker 32 und 34 verbunden sein.
- Genauer kann das in Fig. 1 abgebildete Netzwerk zum Erreichen von Kommunikation zwischen den verschiedenen Netzwerkteilen jede Netzwerksoftware wie Novell oder Unix Software verwenden. Die vorliegenden Ausführungsbeispiele werden unter Berücksichtigung eines LAN, das Novell NetWare® Software verwendet, beschrieben (detaillierter in Abschnitt 3a erörtert), obwohl jede Netzwerksoftware verwendet werden kann. Eine detaillierte Beschreibung dieses Softwarepakets kann in den Publikationen "NetWare® User's Guide" und dem "Netware® Supervisor's Guide" von M&T Books, Copyright 1990, auf die hier Bezug genommen wird, gefunden werden. Siehe dazu auch "NetWare® Print Server" von Novell, Ausgabe März 1991, Novell Part No. 100-000892-001. Kurz gesagt, dient der Dateiserver 30 als Dateimanager bei Empfang, Speicherung, Bilden einer Warteschlange, Hilfsspeicherung und Übertragung von Dateidaten zwischen LAN Teilen. Z. B. können an den jeweiligen PC 10 und 12 erzeugte Daten zum Dateiserver 30 geleitet werden, der diese Dateien ordnen und die geordneten Dateien auf Befehl eines Druckservers im PC 18 zu einem Drucker 24 übertragen kann. Der Dateiserver 30 kann eine Speichereinheit mit großer Kapazität wie ein 10 Gigabyte Festplattensubsystem beinhalten oder damit verbunden sein. Weiter können die Drucker 32 und 34 mit dem Dateiserver 30 verbunden sein, damit, wenn erwünscht, zusätzliche Druckstationen zu Verfügung stehen.
- Während in Fig. 1 PC Ausstattung dargestellt ist, kann auch andere Computerausstattung, passend zur ausgeführten Netzwerksoftware beinhaltet sein. Z. B. kann das Netzwerk Unix Workstations beinhalten, wenn Unix Software verwendet wird und diese Workstations können unter entsprechenden Umständen in Verbindung mit den dargestellten PC Verwendung finden.
- Jeder der PC 10 und 12 kann einen Standardworkstation PC enthalten, der in der Lage ist, Dateien zu erzeugen, sie auf das LAN zu übertragen, vom LAN Dateien zu empfangen und solche Dateien an der Workstation darzustellen und/oder zu verarbeiten. PC 10 und 12 sind aber nicht in der Lage eine Steuerung über die LAN Peripherie auszuüben (außer der Netzwerkadministrator hat sich in diesen PC eingeloggt).
- Ein PC, der eine begrenzte Steuerung über die LAN Peripherie ausüben kann, ist PC 22, der ein integriertes RPRINTER Programm beinhaltet. Das RPRINTER Programm ist ein MS-DOS Terminate and Stay Resident ("TSR") Programm, das auf einer Workstation läuft, um den Benutzern eine gemeinsame Verwendung des mit der Workstation verbundenen Druckers 24 zu ermöglichen. RPRINTER ist ein relativ unintelligentes Programm, das nicht die Fähigkeit hat, Druckerwarteschlangen zum Abarbeiten zu suchen. RPRINTER bekommt seine Arbeit von einem PSERVER (später erörtert), der woanders im Netzwerk läuft. Weil sie mit dem verbundenen Drucker über dessen parallelen Anschluß kommunizieren, können RPINTER nur einen begrenzten Status erreichen und diese Statusinformation dem verantwortlichen PSERVER über das LAN 6 rückmelden. Vom Steuerungsstandpunkt aus, ermöglicht ein RPRINTER das Stoppen eines Ausdrucks und wenig mehr. Einige Drucker haben RPRINTER Eigenschaften durch ein Angebot an internen oder externen Schaltungsplatinen, die die gleichen begrenzten Eigenschaften des RPRINTER TSR Programms haben, wie es in einem PC läuft.
- Eine weitere Netzwerkeinheit, die in der Lage ist, eine begrenzte Steuerung über die LAN Peripherie auszuüben ist ein Drucker 16 mit angeschlossener Schaltplatine 36, der ein integriertes QSERVER Programm hat. Hier läuft das QSERVER Programm in einem HP LaserJet III® 51 Drucker und hat die Fähigkeit, die Dateiserver 30 Druckwarteschlange für in Frage kommende Druckdateien zu suchen. Die Suchschlangen des QSERVER können nicht dynamisch geändert werden, genausowenig antwortet der QSERVER auf irgendeine Form von Statusabfrage. Der Vorteil des QSERVERS liegt in seiner Fähigkeit, von sich aus nach Arbeit zu suchen. Der QSERVER braucht keinen anderswo im System laufenden PSERVER der ihm Arbeit gibt. Da der QSERVER keinen entsprechenden PSERVER hat und selbst keinerlei Status und Steuerfähigkeiten hat, bietet er weniger Steuerung an, als sogar der RPRINTER. Ein QSERVER unterscheidet sich zusätzlich von einem PSERVER darin, daß er höchst begrenzte Hinzufügungseigenschaften hat und am Beginn eines Druckauftrags keine Überschriften drucken kann.
- Ein weiteres Netzwerkteil mit QSERVER Fähigkeiten ist Drucker 26, angeschlossen an das LAN 6 durch ein externes NetPort Gerät 28.
- Andere Peripheriegeräte Serverprogramme können zur Bedienung verschiedener Peripheriegeräte, wie Scannner, Kopierer, Faxgeräte usw. ausgeführt werden und, basierend auf dem Netzwerksoftwareprotokoll, können Server wie ein Unixkompatibler fernbedienter zeilenorientierter Druckserver ("LPR") zur Verfügung stehen.
- Ein LAN Bestandteil zur Ausübung signifikanter Steuerung über LAN Peripheriegeräte ist der PC 18 mit integriertem PSERVER Programm. Der PSERVER hat die Fähigkeit, mehrfachnutzerdefinierte Druckwarteschlangen zu bedienen, dynamische Suchschlangenmodifikation durchzuführen und definierte Hinzufügungsvorgänge für Ausnahme-(Ausfalls) Bedingungen und Status und Steuerfähigkeiten vorzugeben. PSERVER gibt es in verschiedenen Formen. PSERVER.EXE ist ein Programm, das besonders auf einer Workstation läuft und sowohl lokale als auch entfernte Drucker steuert. Die lokalen Drucker können entweder mit seriellen oder parallelen Anschlüssen verbunden sein und die entfernten Drucker laufen woanders im System. Zwei weitere Formen des PSERVER Programms sind das PSERVER.VAP und das PSERVER.NLM. Das sind PSERVER Versionen, die auf dem Dateiserver 30 selbst laufen. Die .VAP Version ist für NetWare® 286 und die .NLM Version ist für NetWare® 386. Während der PSERVER sehr viel mehr Fähigkeiten hat als der RPRINTER und der QSERVER, hat er den Nachteil, daß die .EXE Version einen eigenen PC braucht.
- Ein eigener FC für die PSERVER.EXE kann bis zu 16 lokale/entfernte Drucker steuern und Druckinformation vieler Datenserverwarteschlangen abfragen. Aber es gibt verschiedene Nachteile in Bezug auf PSERVER bei der Steuerung von Netzwerkdruckdiensten. Der erste Nachteil ist, daß alle Mehrfach- Druckerdatenströme durch einen einzelnen Netzwerkknotenpunkt und PC Prozessor zusammengeführt werden müssen. Das kann sich zum Engpaß entwickeln. Der zweite Nachteil ist, daß für effektivste Arbeit die Drucker lokal, wie beim Drucker 20, mit dem Computer verbunden sein sollten. Das kann für die Benutzer unbequem sein, weil es verlangt, daß sich die Drucker rings um den PC 18 häufen. Der dritte Nachteil ist, daß, wenn die gesteuerten Drucker wie im Fall von Drucker 24, der von RPRINTER bedient wird, entfernt stehen, die Druckdaten die Reise vom Dateiserver 30 zum PSERVER PC 18 machen und dann zum den Drucker betreibenden RPRINTER zurückübermittelt werden müssen. Das ist ineffizient.
- Der vierte Nachteil ist die begrenzte Menge von Druckerstatus und Steuerinformation, die durch PSERVER angeboten werden. Es wurde bereits festgestellt, daß PRINTER für nicht viel mehr als den rudimentären Status von " kein Papier mehr" oder "ausgeschaltet" ausgelegt ist. Selbst PSERVER für lokale und fernverbundene Drucker bietet nicht viel mehr als das, weil es unter Berücksichtigung der Einschränkungen des parallelen Anschlusses des PC gestaltet wurde. Das PSERVER Programm ist für einen eigenen Status und Steuerung angelegt.
- Die im Drucker 4 eingebaute Netzwerkerweiterungsplatine 2 bietet viele Vorteile und verbesserte Flexibilität über die im vorigen erörterten Steuereinheiten der Netzwerkperipherie. Besonders bietet der von der NEB beinhaltete Regler RPRINTER- PSERVER- und LPR- (entfernter Zeilendrucker) Funktionen (durch CRPRINTER, CPSERVER und CLPR Programme, die im nachstehenden Abschnitt 3d erörtert werden). Es gibt ein Initialisierungsprogramm namens CPINIT (erörtert im nachstehenden Abschnitt 4h), das dem PC 14 des Netzwerkadministrators vollständige Steuerung der Konfiguration der NEB Eigenschaften erlaubt. Wegen seiner Integration und der offenen Architektur von Drucker 4 bekommt die NEB die Fähigkeit, dem Netzwerk eine breite Vielfalt von Status und Steuereigenschaften anzubieten. D. h., dem LAN 6 können vom Drucker 4 wortreiche Mengen von Statusinformation zugeleitet werden und vom LAN 6 kann eine große Menge Steuerinformation zum Drucker 4 geleitet werden (z. B. zur Ausführung von Funktionen des Druckerfrontfeldes vom PC 14 aus).
- Für den Zugriff auf die in der NEB verfügbare ausgedehnte Menge von Information, ist im PC 14 des Netzwerkadministrators ein Programm namens CPCONSOL resident und ermöglicht es dem Systemadministrator, die gesamte Druckerinformation, die durch NEB 2 aus dem Drucker 4 geholt wird, zu sichten. Die Druckerinformation steht sogar zur Verfügung, wenn die funktionelle RPRINTER Konfiguration (CRPRINTER) der NEB 2 gewählt wird. Die funktionelle PSERVER Konfiguration (CPSERVER) der NEB 2 steuert den Drucker 4, der die Platine enthält. Diese Option hat sowohl alle standardgemäßen PSERVER Warteschlangensuchfähigkeiten, als auch die Hinzufüge- und Statuseigenschaften. All diese Eigenschaften können dynamisch von einer entfernten Workstation aus gesteuert werden Die NEB Umgebung und ihre Fähigkeit, ausgedehnte Status- und Steuerinformation aus dem Drucker 4 zu holen, macht die Kombination aus NEB 2 und Drucker 4 viel stärker als die Standards der üblicherweise verfügbaren RPINTER, QSERVER oder PSERVER Druckmethoden.
- Das im PC 14 des Netzwerkadministrators zur Verfügung stehende CPCONSOL Programm (mit mehr Einzelheiten im nachstehenden Abschnitt 41 erörtert) ist in der Lage, mit der NEB 2 (und anderen Netzwerkbestandteilen) eine Schnittstelle zu bilden, wobei Funktionen wie Anzeige laufender Information (Schnittstelleninformation, Steuerinformation, Fontinformation, Layoutinformation, Qualitäts- und allgemeine Umgebungsinformation, Duplexinformation und gemischte Information) für ein ausgewähltes Netzwerkgerät durchgeführt werden. CPCONSOL ist außerdem in der Lage, den Sicherungs- (Standard-) Zustand eines Netzwerkgeräts festzustellen oder zu modifizieren. CPCONSOL kann auch Anwendungen der NEB 2, wie CPSERVER oder CRPRINTER (im folgenden erörtert, aber im Großen und Ganzen ähnlich den bereits erörterten PSERVER und RPRINTER Softwarepaketen) aktivieren oder desaktivieren. Darüberhinaus befähigt CPCONSOL den PC 14, eine Logdatei anzuzeigen, die Logdatei zu löschen oder die Logdatei in einen Speicher wie eine lokale oder eine Dateisystemfestplatte zu schreiben. CPCONSOL kann auch auf den Drucker bezogene Information auf dem PC 14 anzeigen, wie Anzahl der Aufträge, Anzahl der Seiten je Auftrag, Anzahl der Seiten pro Minute, Zeit pro Auftrag, die Gesamtzahl der Seiten pro Tag, die Anzahl der gesamten Aufträge pro Tag und die Anzahl der Tage. Das CPCONSOL Programm ist auch in der Lage, auf dem PC 14 solche netzwerkbezogene Information wie medienbezogene und nicht-medienbezogene Information anzuzeigen und auch solche Netzwerkstatistiken zu löschen.
- Das CPINIT Programm (das ausführlicher im nachstehenden Abschnitt 4h erörtert wird), resident im PC 14 des Netzwerkadministrators, kann Anwendungen von Informationsdruckdiensten wie CPSERVER und CRPRINTER in Gang setzen und diese Anwendungen konfigurieren. CPINIT ist auch in der Lage Gerätinformation wie Zeit/Datum/Zeitzone, Puffergröße, Diskgröße, Protokollmarkierung, Protokollbeschränkung und eine Markierung für Sicherungs- (Standard-) Umgebung zu setzen und/oder anzuzeigen. CPINIT kann auch vorgegebene Serviceüberschriften wiederherstellen, die NEB 2 zurück setzen, die NEB 2 hochfahren, das Herunterladen eines Font anordnen, das Herunterladen eines Emulationsprogramms anordnen, einen NEB-Einschalt-Selbstüberprüfungs- ("POST") Fehler anzeigen, die NEB 2 Firmwareebene anzeigen, die aktuelle Logdateigröße anzeigen usw.
- Durch Ausstattung der NEB 2 mit PSERVER und RPRINTER Fähigkeiten erreicht die vorliegende Erfindung mit einer einzelnen Schaltplatine im Hinblick auf das LAN 6 gesteigerte Funktionalität für den Drucker 4. Deshalb ist der Drucker 4 ein echter "Netzwerkdrucker" und nicht nur ein mit einem Netzwerk verbundener Drucker.
- Während die vorliegende Erfindung einzigartige Vorteile auf dem LAN 6 bietet, werden diese Vorteile auch verwirklicht, wenn das LAN 6 mit einem oder mehreren anderen LAN in einem Weitbereichsnetzwerk ("WAN") verbunden wird. Fig. 2 stellt ein solches WAN dar, das ein erstes LAN 41 mit einem Server S1 40, die PC 42, 44 und 46 und einen Drucker 48 beinhaltet. Der Server S1 40 ist über einen Bus 52 mit einem Backbone 50 verbunden. Backbone 50 ist nicht mehr als eine elektrische Verbindung zwischen einer Vielzahl von Bussen. Auch mit dem WAN verbunden ist ein zweites LAN 61 mit Server S2 60, PC 62, 64 und 66 und einem Drucker 68. Server S2 60 ist über einen Bus 54 mit Backbone 50 verbunden.
- Das WAN kann auch ein entferntes LAN 71 mit Server 53 70, PC 72, 74 und 76 und einem Drucker 78 enthalten. Da das LAN 71 vom Rest des Systems entfernt aufgestellt ist, ist es durch einen Bus 56, einen Transponder (möglicherweise mit einemModem) 58 und einer Kommunikationsleitung 59 mit Backbone 50 verbunden.
- In einem solchen WAN wird angenommen, daß PC 42 ein PSERVER ist, der die Verwendung von Drucker 78 verlangt. Ist der Drucker 78 mit einer NEB gemäß der vorliegenden Erfindung ausgestattet, kann eine direkte Kommunikationsverbindung zwischen dem PC 42 und dem Drucker 78 eingerichtet werden, wodurch Auftragsinformation zum Drucker 78 und Status- und Steuerinformation vom Drucker 78 zum LAN 41 gesendet werden kann. Deshalb erreicht die NEB gemäß der vorliegenden Erfindung ihre vergrößerte Funktionalität sogar, wenn sie in einem mit dem WAN verbundenen Peripheriegerät istalliert ist.
- Fig. 3 ist ein Blockdiagramm, das die Verbindung der NEB 2 gemäß der vorliegenden Erfindung mit dem Drucker 4 und dem LAN 6 darstellt. Die NEB 2 ist über eine LAN Schnittstelle 101 mit dem LAN 6 und ebenso über eine Zweiwegschnittstelle, hier eine Kleine Computersystemschnittstelle ("SCSI") 100 mit dem Drucker 4 verbunden. Die SCSI Schnittstelle 100 ist mit einem SCSI Bus 102 des Druckers 4 verbunden.
- Die NEB kann auch zusätzliche SCSI Geräte wie weitere Drucker (RPINTER) oder andere Peripheriegeräte, verkettet mit dem SCSI Bus unter Verwendung des Standard SCSI-Verbindungsprotokolls bedienen. Ebenso kann die NEB als Treiber für andere Peripheriegeräte quer über das LAN selbst verwendet werden.
- Der Drucker 4 ist vorzugsweise ein Drucker mit offener Architektur, mit dem SCSI Bus 102 und den SCSI Schnittstellen 104 und 106. Drucker 4 beinhaltet auch einen Prozessor 108, wie den Computer für reduzierten Befehlssatz ("RISC"), der mit einem RAM Speicher 110 und einer Druckmaschine 112 kommuniziert, die den eigentlichen Druckmechanismus antreibt. Der RISC Prozessor kommuniziert ebenso mit NVRAM 111 zur Speicherung von Information, die während der Anschaltzyklen erhalten bleiben muß, wie benutzerdefinierte Information, und mit ROM 113, von dem aus der RISC Prozessor 108 die Druckersteuerung ausführt. Der Drucker 4 kann auch eine Festplatte 114 enthalten, die in der Lage ist, große Datenmengen auf nichtflüchtige Weise zu erhalten. Drucker 4 hat auch eine Frontfeldanzeige 116 und eine Tastatur 115 zur Eingabe von Steuerbefehlen an den Drucker.
- Vorzugsweise beinhaltet der Drucker 4 eine offene Architektur, die Vorteile aus der Zweiwegnatur der SCSI Schnittstelle 100 zieht, um eine große Menge von Status - (und anderer) Information vom Drucker 4 über die NEB zum LAN 6 zu bringen und außerdem Feinsteuerung des Druckers von einem entfernten Ort aus zu erlauben. Z. B. erlaubt eine solche offene Architektur, wenn sie zusammen mit der Zweiweg - SCSI Schnittstelle verwendet wird, daß fast alle oder alle Information auf der Frontfeldanzeige 116 des Druckers 4 an einen entfernten Ort überspielt wird und erlaubt es auch, daß fast alle oder alle Steurfunktionen der Druckerfrontfeldtastatur 115 von dem entfernten Ort aus aktiviert werden.
- Kurz gesagt, enthält der Drucker 4 mit offener Architektur vier hauptsächliche Subsysteme: Kommunikation; Auftragszuleitung; Seitenlayout und Rasterfunktionen; und Systemdienste. Das Kommunikationssubsystem behandelt die verschiedenen Kommunikationsgeräte und veranlaßt den Beginn einer Auftraganwendung. Sobald der Drucker anfängt, Daten zu empfangen, sendet das Kommunikationssubsystem den ersten Teil der hereinkommenden Daten zu jedem Emulator zu Überprüfung. Der erste Emulator, der die Daten bearbeiten kann, wird der Auftragszuleitungstreiber. Das System baut dann eine Auftragszuleitung auf, um die Daten zu verarbeiten (Daten fließen am einen Ende der Zuleitung zu und Seitenbilder kommen am anderen Ende heraus). Diese Auftragszuleitung (Job Pipe) beinhaltet viele Segmente und der Auftragszuleitungstreiber ist eines davon.
- Das Auftragszuleitungssubsystem hat ein Zuleitungstreibersegment (die Anwendung für einen Emulator) und Eingangs- und Ausgangssegmente. Die Eingangs- und Ausgangssegmente der Zuleitung haben mindestens zwei weitere Segmente: für den Eingang Quellen- und Quellenfiltersegmente; und für den Ausgang Ausgangsfilter und eine Datensenke. Das Eingangssegment des Kommunikationssubsystems liefert die eingegebenen Daten, die von Information aus einem Dateisystem ergänzt sein können. Der Zuleitungstreiber verarbeitet eingegebene und ergänzte Daten. Er erzeugt auch Bildbefehle und Seitenlayoutinformation, die er zum Ausgangssegment schickt. Der Zuleitungstreiber kann diese Information auf die Druckerfest platte speichern (wenn vorhanden). Das Ausgangssegment schickt diese Daten zum Seitenlayout- und Rastersubsystem.
- Das Seitenlayout- und Rastersubsystem nimmt die Bild- und Seitenlayoutinformation und wandelt sie in ein Rasterbild für die Druckmaschine 112. Dieser Abschnitt arbeitet vollständig getrennt von der Auftragszuleitung.
- Das Systembedienungssubsystem ermöglicht Zugriff auf das Dateisystem, Zugriff auf die Konsole, Fontdienste, Basissystemdienste und Bilderzeugungsdienste. Deshalb wird ein Drucker 4 mit einer solchen offenen Architektur alle Vorteile aus der intelligenten, interaktiven NEB 2 ziehen, um verbesserte Funktionalität für den Drucker 4 und das gesamte Netzwerk zu erhalten.
- Fig. 4 ist ein Blockdiagramm der NEB 2, das deren Hauptkomponenten zeigt. Die NEB 2 ist durch die Netzwerkkonnektoren 202, 203 und 204 mit dem LAN 6 verbunden. Vorzugsweise ist der Konnektor 202 ein RJ45, der in der Lage ist, eine 10Base-T Verbindung anzunehmen. Der Konnektor 203 kann einen DB15 Konnektor zur Annahme einer 10Base-5 Verbindung enthalten, während der Konnektor 204 ein einfacher Koax Konnektor sein kann, der in der Lage ist, eine 10Base-2 Verbindung anzunehmen. Alle diese Konnektoren 202, 203 und 204 sind mit einem Netzwerkregler 206 (vorzugsweise einem Ethernet Netzwerkregler) verbunden. Der Konnektor 204 ist zuerst durch einen Sender-Empfänger (Transceiver) 208 verbunden.
- Die NEB 2 wird von einer +5 V Spannungsquelle im Drucker 4 durch den Druckererweiterungsanschluß 226 mit Spannung versorgt. Die +5 V Spannung wird auch zu den Spannungswandlern 210 und 212 geleitet. Der Spannungswandler 210 leitet -9 V Spannung zum Transceiver 208, während der Spannungswandler 212 +12 V Spannung zum EPROM 222 leitet, um zu "flashen" (laden; wird im nachstehenden Abschnitt 4q erörtert). Der Netzwerkregler 206 ist auch mit einem 8 KB statischem RAM 214 verbunden.
- Das Herz der NEB 2 ist ein Microprozessor 216, vorzugsweise ein NEC V53. Der Microprozessor 216 ist mit einem seriellen Anschluß 218 verbunden, der laufend zur Überprüfung verwendet wird. Ebenfalls mit dem Microprozessor 216 verbunden sind ein 512 KB dynamisches RAM 220, ein 256 KB Flash - EPROM 222, ein SCSI Regler 224 (entsprechend der SCSI Schnittstelle 100 in Fig. 3), ein Druckererweiterungsanschluß 226, ein Diagnose/Fehler LED 240, ein 256 Byte nicht - flüchtiges RAM 228, ein Steuerregister 230 und ein PROM 232, das die Mediumzugriffs- Steueradresse ("MAC"), Eigenname jeder EtherNet Platine, speichert.
- Der Vorteil der Architektur der NEB 2 liegt darin, daß sie eigene Unterstützungseigenschaften für Verwaltung und Management großer Mehrbereichsnetzwerke hat. Diese Unterstützungseigenschaften beinhalten z. B. Druckersteuerung und Statusüberwachung von einem entferten Ort des Netzwerks aus (d. h. vom Büro des Netzwerkadministrators aus), automatisches Management der Druckerkonfiguration nach jedem Druckauftrag zur Garantie der ursprünglichen Umgebung für den nächsten Benutzer und Eintragung von Druckerverwendungsstatistiken über das Netzwerk zur Charakterisierung der Druckerbelastung und zur regelmäßigen Überwachung des Tonerkassettenwechsels. Ein Schlüsselparameter in der NEB Gestaltung ist die Fähigkeit, auf den Druckersteuerzustand durch eine Zweiwegschnittstelle, hier die SCSI Schnittstelle 100 zuzugreifen. Das ermöglicht, daß die Druckerkonsoleninformation zur NEB oder zu einem externen Knotenpunkt des Netzwerks zum Programmieren vieler nützlicher Druckunterstützungsfunktionen geführt wird.
- Die nachstehende Tabelle 1 liefert eine Beschreibung der Funktionen, Implementierung und Betriebsanmerkungen unter Berücksichtigung der hauptsächlichen Hardwareelemente der NEB 2. Tabelle 1
- Vorzugsweise wird die NEB 2 im Drucker 4 installiert, an einem Steckplatz für Erweiterungen oder Optionen. So wird die NEB 2 zu einem eingebauten Netzwerkknotenpunkt mit Verarbeitung und Datenspeichereigenschaften wie im vorigen beschrieben.
- Der Microprozessor 216 vollendet eine Datenverbindungsebene von Netzwerkpaketübertragung und Empfang. Unnötig hoher Netzwerkdatentransfer wird durch Verwendung eines eigenen statischen RAM Paketpuffers 214 verringert, der direkt vom Netzwerkregler 206 verwaltet wird. Det Microprozessor 216 greift durch den Netzwerkregler 206 auf SRAM Paketdaten und Netzwerkbotschaften zu und bewegt sie in den großen DRAM Speicher 220.
- Blöcke von Druckbilddaten und Steuerinformation werden vom Microprozessor 216 gesammelt, um durch den SCSI Regler 224 unter Verwendung des SCSI Übertragungsprotokolls des Druckererweiterungsanschlusses zum Drucker 4 weitergegeben zu werden. Genauso wird Druckerstatusinformation vom Drucker 4 zur NEB 2 in SCSI Blockformat zurückübertragen. Der SCSI Regler 224 arbeitet zusammen mit dem Netzwerkregler 206 auf vermehrten Datendurchsatz für die gesamte NEB Leistungsfähigkeit hin. Der Microprozessor 216 ist vorzugsweise ein NEC V53 Chip, ein schneller, hoch-integrierter Microprozessor mit einem 16-Bit Intel-kompatiblen Prozessor zur Unterstützung des direkten Speicher Zugriffs ("DMA"), Unterbrechungssteuerung, Zeitgebern und DRAM Auffrischungssteuerung. Auf der NEB 2 ist 16-Bit breite Datenbusstruktur implementiert, um den Vorteil der 8-Bit/16-Bit dynamischen Busgrößenveränderung während der I/O Übertragungen des Microprozessors zu nützen. Steuerfirmware und Druckanwendungssoftware für den Microprozessor 216 werden auf der NEB 2 im EPROM 222 gespeichert. Nach der Strom-An Selbstüberprüfung wird der Firmwarekode selektiv zum höher-leistenden DRAM 220 zur tatsächlichen Ausführung bewegt. Netzwerk- und Druckerkonfigurationsparameter werden bei der ersten Installation des Druckers im Netzwerk in das NVRAM 228 geschrieben. So ermöglicht es NVRAM 228 der NEB Software, die Installationsparameter wiederzufinden, nachdem der Druckerstrom ab- und angeschaltet wurde.
- Software für das LAN beinhaltet eine Kombination aus Netzwerksoftware und auf die NEB zugeschnittene Software, wie NEB interne Software und auf dem PC des Netzwerkadministrators residente Software.
- Im vorliegenden Ausführungsbeispiel wird zum Verwalten der Beziehungen zwischen Knotenpunkten eines Netzwerks, an dem Kundenworkstations teilnehmen können und Dienste von Serverknotenpunkten wie Diskdateiservern, Datenbankservern, Druckservern usw. erhalten können, NetWare® Netzwerksoftware verwendet. NetWare® selbst ist eine Kombination aus Softwaremodulen, die auf diesen Serverknotenpunkten und auf jedem Workstationknotenpunkt laufen. In einem Novell Netzwerk steht mindestens ein Dateiserver zur Verfügung. NetWare® bildet das Betriebssystem des Dateiserver-PC, um grundlegende Netzwerk Kerndienste und Serviceprogramme zur Verfügung zu stellen. Dateiserver können durch Verwendung von bis zu vier Netzwerkschnittstellenkarten (vorzugsweise Ethernet oder Token Ring Verbindungen) mit mehr als einem LAN verbunden sein. In diesen Konfigurationen werden wie in Fig. 2 gezeigt, "bridging" oder "backbone" Dienste zwischen einer Vielzahl von LAN zur Verfügung gestellt, so daß Quellen einschließlich der Drucker "internet" geteilt werden können, d. h. von einem LAN zu einem anderen.
- Auf Workstations läuft NetWare® in Zusammenarbeit mit dem Workstationbetriebssystem (DOS oder OS/2) als eine Net- Ware® "Shell" der Steuersoftware. Diese Shell hat den Effekt, daß sich die Dienste des Workstationbetriebssystems auf das Netzwerk ausweiten, so daß die Netzwerkquellen der Workstation als lokal erscheinen.
- Novell PSERVER Software hat die Aufgabe, eine Gruppe von Druckern (bis zu sechzehn) so zu steuern, daß sie Druckanforderungen aus den Netzwerkknotenpunkten bedienen. Anforderungen sind in einer Form von Druckwarteschlangen strukturiert, die unter Verwendung der Netzwerk - Warteschlangenverwaltungsdienste auf dem Netzwerkdateiserver gehalten werden. Warteschlangeneingangsreihen enthalten eine Liste von Dateien, die gedruckt werden sollen. Die Dateien enthalten Daten, die gedruckt werden sollen, wie Tabulatoren, Papiervorschub und andere Drucker Beschreibungssprachbefehle ("PDL"). Verschiedene Warteschlagen können von einem einzelnen PSERVER bedient werden.
- Standardserver von Novell sind in verschiedenen Versionen erhältlich, abhängig davon, an welchem Typ von Netzwerkknotenpunkt sie eingesetzt werden sollen. Druckserverprogramme können auf dem Dateiserver selbst liegen. Eine Version der Druckserversoftware kann auch auf einen unabhängigen DOS Stationsknotenpunkt geladen werden, um aus diesem Knotenpunkt einen eigenen Druckserver zu machen.
- Wird einer NEB 2 der vorliegenden Erfindung Druckserverfunktionalität (CPSERVER) zur Verfügung gestellt, wird die NEB und der angeschlossene Drucker all die Druckerdienste eines Standard Novell Druckservers anbieten, ohne einen angeschlossenen PC zu brauchen.
- Drucker selbst werden entweder als "lokal" oder als "entfernt" betrachtet. Als lokaler Drucker gilt einer, der physikalisch mit dem Druckserverknotenpunkt verbunden ist. Im Fall der NEB 2 ist der lokale Drucker der, der die NEB beherbergt. Ein entfernter Drucker wird von RPRINTER Programmen verwaltet, die in den PC laufen, mit denen sie verbunden sind. RPRINTER empfangen Druckdaten von PRINTSERVERN, die woanders auf dem LAN laufen. Die NEB 2 der vorliegenden Erfindung kann mit RPRINTER Funktionalität (CRPRINTER) ausgestattet werden, um ihren Drucker als entfernten Netzwerkdrucker anzubieten. In diesem Modus ist sie voll kompatibel mit den Standardversionen der Novell Druckserver.
- Novell NetWare® stellt eine Anzahl von Druckdienstprogrammen zur Konfiguration und Steuerung von Dateiservern oder auf Workstations basierenden Druckservern und ihren angeschlossenen Druckern zur Verfügung. Das Novell Programm PCONSOLE ist ein menügetriebenes Dienstprogramm, das einem Benutzer (dem Betreiber der Druckerkonsole) erlaubt, einen neuen Druckserver hervorzubringen, bis zu sechzehn lokale oder entfernte Druckanschlüsse zu konfigurieren, Druckwarteschlangen zu erzeugen, Druckern Warteschlangen zuzuweisen und Drucker- und Servervorgänge zu starten/stoppen.
- Die NEB 2 ist gebündelt mit Softwaremodulen, die den gesamten Bereich der von NetWare® angebotenen Druckdienste durchführen. Darin enthalten sind externe NetWare®-kompatible Module, die auf Workstationknotenpunkten des Netzwerks arbeiten zusätzlich zu internen NetWare®-kompatiblen Modulen, die auf der NEB 2 innerhalb des Druckers laufen. Die spezifischen NetWare®-kompatiblen Programme, die zur Verwendung mit dem NEB 2 entwickelt wurden (d. h. die anwendungsspezifischen CPSERVER und CRPRINTER Programme, die im weiteren erörtert werden), sind mit denselben allgemeinen Betriebsschnittstellen als Standarddruckermodule von Novell ausgestattet, so daß Novell Benutzer und Netzwerkadministrationspersonal sie gewöhnt sind. Die anwendungsspezifischen Versionen beinhalten funktionale Erweiterungen, die die offene Architektur des Druckers 4 verwenden, um das Druckdienstmanagement über das ganze Netzwerk zu verbessern.
- Tabelle 2 zeigt die Funktionen, Implementierungen und Betriebsanmerkungen für die, für die NEB entwickelte anwendungsspezifische Software. Tabelle 2
- Die für die NEB 2 entwickelte Software enthält In die NEB integrierte Software und Software, die in den PC 14 des Netzwerkadministrators geladen wurde. Die NEB integrierte Software bietet sowohl den NetWare®-kompatiblen Knotenpunkt, als auch die NetWare®-kompatiblen Druckdienste direkt im Drucker 4 ohne den Umweg über einen Workstation PC und sein DOS Betriebssystem. Die NEB integrierte Software enthält eine Vielzahl von Anwendungsmodulen (CPSERVER, CRPRINTER, usw.) Echtzeitdienstmodule, Netzwerkprotokollstacks und ein Monitorprogramm, das Anwendungsumschaltung durchführt, Auftragserweiterung, Gerätesignale und hat Teil an der Verwaltung aller Puffer. Die Funktionalität der NEB wird bestimmt durch die Arten der Anwendungsmodule und die Anzahl der Protokollstacks der Netzwerkebenen der Kommunikationssoftware, die in die NEB 2 konfiguriert sind. Interaktion zwischen dem Drucker 4 und dem Netzwerk wird von dem MONITOR Programm koordiniert, das auf Echtzeitereignisse reagiert, während es jedem Anwendungsmodul auf Multi-tasking Grundlage NEB Verarbeitungszeit zuweist.
- Die NEB Softwarefunktionen liegen auf zwei Ebenen: Eine "Lauf-Zeit" oder Echtzeitebene; und eine "Soft-Zeit" oder Anwendungsebene. Die Lauf-Zeitebene setzt sich aus Bestandteilen der NEB Software zusammen, die auf Microprozessorunterbrechungen reagieren. Diese Ebene bedient Geräte wie einen Zeitgeber, wartende Datenübertragungsanfragen vom SCSI Anschluß oder LAN Daten durch die Protokollstackroutine und den CPSOCKET Kommunikationsmechanismus (wird im nachstehenden Abschnitt 4j erörtert).
- Die Soft-Zeitebene wird abgeschätzt und gesteuert vom MONITOR Programm (wird im nachstehenden Abschnitt 41 erörtert), das die Steuerung des NEB Microprozessors 216 übernimmt, wenn alle Echtzeitereignisse bedient sind. Ein nicht- preemtiver (kooperativer Multitasking) Zugriff wird dazu verwendet, den Prozessor zwischen den verschiedenen Anwendungsmodulen aufzuteilen, die so geladen werden, daß kein Anwendungsmodul andere Module durch Inanspruchnahme des Microprozessors vorbelegen kann.
- Das NEB EPROM 222 enthält bis zu 256 KB Anwendungsmodulprogramme und den NEB Initialisierungskode. Bei Hochfahren oder wärend eines programmierten Resets führt die NEB 2 ein POST des EPROM 222 aus, bevor es der Reihe nach seinen EPROM Kode zum NEB DRAM 220 überträgt. Ist das POST erfolgreich, lädt die NEB 2 seine Protokollstacks und Anwendungsmodule ins DRAM und beginnt die Ausführung seiner Anwendungsmodule.
- In ihrer grundlegenden Konfiguration enthält die NEB 2 NetWare®-kompatible Anwendungsmodule mit integrierten Versionen zweier Konfigurationen: den anwendungsspezifischen Ferndrucker ("CRPRINTER") und den anwendungsspezifischen Druckserver ("CPSERVER"). Vorzugsweise handelt die NEB zu einer bestimmten Zeit nur in einer dieser Konfigurationen. Darüberhinaus verlangen diese Anwendungsmodule, daß ein Netzwerkprotokollstack geladen wird und innerhalb der NEB funktioniert.
- Mit RPRINTER Funktionalität konfiguriert, behandelt die NEB ihren Drucker als Auftragsrechner eines externen Druckservers mit CRPRINTER Modul. In dieser Konfiguration gibt die NEB nur begrenzte Druckerstatusinformation an das LAN ab, als Emulation dessen, was der Standard Novell Druckserver von einem Standard Novell RPRINTER erwartet. Trotzdem ist noch eine erweiterte Statusinformation über den Drucker verfügbar, wenn das CPCONSOL Dienstprogramm (im obigen erörtert) im PC 14 des Netzwerkadministrators ausgeführt wird.
- Wie im Vorigen erwähnt, beinhaltet die NEB 2 integrierte Softwareprogramme CPSERVER und CRPRINTER, die die NEB in die Lage versetzen, entweder mit PSERVER oder mit RPRINTER Funktionalität auf dem Netzwerk zu handeln. Die anwendungsspezifische NEB integrierte Software, die Peripheriegerätestatus und Steuerinformation über das LAN zuläßt, ist CPSOCKET (im nachstehenden Abschnitt 4j erörtert). CPSOCKET läuft auf der NEB und überwacht das LAN auf Kommunikationen, die an die NEB 2 und den angeschlossenen Drucker 4 adressiert sind. Darüberhinaus kommuniziert CPSOCKET mit CPINIT und CPCONSOL, wenn diese laufen. CPSOCKET unterhält eine Tabelle von Standardeinstellungen für die Geräteumgebung, lädt beim Hochfahren grundlegende Konfigurationsinformation herunter (Fonts und Emulationen), stellt Geräteinformation, Statistiken und Loginformation für CPCONSOL Anzeigen zur Verfügung und bietet Reset, Reboot und Herunterladefähigkeiten an.
- CPSOCKET ist auch verantwortlich für die Konfiguration der NEB 2. Darüberhinaus konfiguriert und aktiviert CPSOCKET auf Anforderung von CPINIT Anwendungen auf der NEB. CPSOCKET sorgt auch dafür, daß die richtigen Protokollstacks für jede konfigurierte Anwendung zur Verfügung stehen. CPSOCKET bewerkstelligt auf Anforderung von CPINIT und CPCONSOL die Einstellungen der NEB 2 und der Druckervariablen. Schließlich nimmt die Einrichtung zum Herunterladen (d. h. der PC 14 des Netzwerkadministrators) Kontakt mit CPSOCKET auf, um jedes erforderliche Herunterladen von Firmware, wie Flashing des EPROM 222, auszuführen.
- Bei der Initialisierung bringen Programme wie CPINIT und CPSONSOL ein Dienstübersichtsprotokoll (Service Advertising Protocol) ("SAB") auf das LAN, wobei nach allen Netzwerkgeräten mit NEB 2 anwendungsspezifischer Software gesucht wird. CPSOCKET empfängt dieses herausgegebene Signal und antwortet. CPINIT oder CPCONSOL richten dann eine spezielle Verbindung mit CPSOCKET ein, das einen anwendungsspezifischen Nebenanschluß verwendet. CPSOCKET erstellt dann vielfältige Listen und stellt Kundendiensttransaktionen wie NEB Steuerung, Geräteinformation, grundlegende Konfigurationsinformation, Anwendungsinformatuion, Statistiken und Protokollierung zur Verfügung. Z. B. kann CPINIT verlangen, daß eine Anwendung konfiguriert wird und CPCONSOL kann verlangen, daß eine schon konfigurierte Anwendung aktiviert oder desaktiviert wird. CPSOCKET sorgt dafür, daß eine geeignete Option (Protokollstack) zur Verfügung steht und für eine Anwendung konfiguriert ist, bevor es zuläßt, daß die Anwendung selbst konfiguriert wird. Innerhalb des NEB ist das CPSOCKET Betriebsmodul immer aktiviert.
- Zusätzliche Druckdienstanwendungen, wie UNIX Druckdienste und damit verbundene Protokolldurchführungen können nach dem Laden weiterer Anwendungsmodule in die NEB verwendet werden.
- Zur weiteren Steigerung der Funktionalität der NEB 2 steht anwendungsspezifische Software auch dem PC 14 des Netzwerkadministrators zur Verfügung. Z. B. bietet ein anwendungsspezifisches PCONSOLE Dienstprogramm ("CPCONSOL"; nähere Einzelheiten erörtert im nachstehenden Abschnitt 41) Erweiterungen gegenüber dem Novell PCONSOLE Dienstprogramm, um den Zugriff auf die mächtige Steuerungs- und Überwachungseigenschaft des Druckers 4 mit offener Architektur zu ermöglichen. Ein Beispiel ist die folgende typische Statussteuerinformation, die dem Netzwerk durch Verwendung von CPCONSOL vom Drucker zur Verfügung steht: (A) Status und Steuerinformation wie Online/Offline, keine Reaktion, Zeit/Datum/Zeitzone, Sprache, Offsets, Fehlerüberbrückungseinstellung, Zeitgeber, Summeranschaltung, Tonermangel, Papierfüllung, Papierzähler, Zählung seit dem letzten Dienst, Papierende, Papierstau; (B) Fontinformation wie primär, sekundär, Graphiksatz, Maßstab, Rotation, Elite; (C) Layoutinformation wie Seitenorientierung, Zeilenabstand, Zeichenabstand; (D) Qualitäts- und allgemeine Umgebungsinformation wie Anzahl der Kopien, Überlagerung, Auftrag fertig, Befehlsmodus, Standardpapiergröße, aktuelle Papiergröße und (E) Konfigurationsinformation wie Schnittstellen-Puffergröße, Zufuhrwahl, Duplexdruck, Seitenstackordnung usw.
- Weitere Konfigurationsdaten für den Drucker, die durch die Verwendung von CPCONSOL für das Netzwerk zugänglich sind, beinhalten: (A) Netzwerkgruppeninformation wie Protokolltyp, Name des Knotenpunkts, Name des Dateiservers, Routing, POST Fehlerkode, NEB Firmwaregrad, MAC Adresse, Servermodus und (B) Druckergruppeninformation wie gesicherte (Standard) Umgebung, Font, Disk vorhanden, Diskgröße, Startumgebung, Protokollierung on/off, Größe der Logdatei, konfiguriert oder nicht und Netzname. Zusätzlich können Protokolle für Druckauftragsfluß, Druckmaschinenverwendung und Verhalten des Netzwerks behalten werden. Beispiele für solche Verwendung und statistische Protokolleinträge beinhalten: (A) Netzwerk gruppeninformation, wie Erhalt von Statistiken, Übertragung von Statistiken und nicht-medienbezogene Information; (B) Eintragsinformation für Aufträge wie Datum/Zeit/Zeitzone, Login (Benutzername), Auftragsname, Seiten, Kopienzählung und Druckstatus; (C) Eintragsinformation für Initialisierung,; (D) Eintragsinformation für Fehlerbedingung; (E) Eintragsinformation für Löschen des Protokolls und (F) Druckergruppeninformation wie Anzahl der Aufträge, Seiten/Auftrag, Seiten/Minute, Zeit/Auftrag, Gesamtseiten/Tag, Gesamtaufträge/Tag, Anzahl der Tage und vollständige Resets.
- CPCONSOL ist ein menübetriebenes, in DOS ausführbares Programm, dessen Funktion es ist, Erweiterungen des Novell PCONSOLE Druckerdienstprogramms zu liefern. Die CPCONSOL Erweiterung ermöglicht den Zugriff auf die zusätzlichen Steuer- und Überwachungseigenschaften des Druckers 4 mit offener Architektur. Diese Eigenschaften fördern das Druckservicemanagement über das Netzwerk dadurch, daß sie dem PC 14 des Netzwerkadministrators erlauben, den Drucker von einem entfernten Ort aus zu steuern und zu unterhalten. Zusammenfassend ist CPCONSOL das Dienstprogramm, das dem Netzwerkadministrator Druckersteuereigenschaften abgibt, Rekonfiguration der gesicherten (Standard) Umgebung zuläßt und dem Netzwerkadministrator Netzwerk und Druckerstatus, Auftragsstatistik und ein Protokoll der bereits erledigten Aufträge und Fehlerzustände zu Gesicht zu bringen erlaubt. CPCONSOL sammelt die gewünschte Information durch Kommunikation mit dem NEB-integrierten Softwareprogrammodul CPSOCKET.
- Eine weiteres anwendungsspezifisches im PC 14 des Netzwerkadministrators residentes Softwareprogramm ist der anwendungsspezifische Peripherielnitialisierer ("CPINIT"; im nachstehenden Abschnitt 4h erörtert), ein ebenso menübetriebenes, in DOS ausführbares Programm. Die Funktion des Programms ist die Konfiguration, Rekonfiguration und Initialisierung des mit dem NEB 2 verbundenen Druckers 4.
- Das CPINIT Modul konfiguriert die NEB so, daß sie als Druckserver mit einem angebundenen Drucker handelt und spezi fiziert ihren primären Dateiserver, mit dem die NEB entscheidet, welche Warteschlange zu bedienen ist. CPINIT ist das Programm, das alle gleich anwendungsspezifischen Geräte auf dem LAN (d. h. andere NEB, die in anderen Druckern mit offener Architektur installiert sind) beaufsichtigt. CPINIT erfüllt diese Aufgabe durch Kommunikation über das Netzwerk mit anderen NEB, die sich innerhalb von Peripheriegeräten mit offener Architektur befinden. CPINIT wird dazu benutzt, jede NEB mit der geeigneten Grundkonfigurationsinformation zu konfigurieren, so wie die Konfiguration der NEB als CPSERVER oder CRPRINTER. Die Grundkonfigurationsinformation enthält NEB Umgebungseinstellungen (einschließlich der aktiven Druckserveranwendungen) genauso wie Gerätumgebungsoptionen (d. h. eine Liste von Fonts und Emulationen zum Herunterladen der Druckerinitialisierungszeit) und Gerätestandardeinstellungen (wie die interne Gerätezeit/Datum/Zeitzone, Puffergröße, Disk- und Protokollinformation und Name des Druckers). Das CPINIT Programm zeigt auch Statusinformation über die NEB an (wie das in die NEB geladene Firmwarelevel und berichtet über vorhandene POST Fehler).
- Das CPINIT Programm verbreitet sich über das Netzwerk, um zu erkennen, welche anderen anwendungsspezifischen Geräte auf dem LAN verfügbar sind. Die mit solchen anderen anwendungsspezifischen Geräten verbundenen NEB antworten mit ihren Identifikationsnummern, ihren Gerätetypen und ihren Konfigurationsständen. CPINIT baut eine Liste dieser NEB und Geräte auf, die dem Netzwerkadministrator vorgelegt wird und ihre Konfiguration oder Rekonfiguration ermöglicht.
- In den PC 14 des Netzwerkadministrators kann auch ein DOWNLOADER Programm geladen werden, um ausführbare Dateien zur NEB überall vom Netzwerk herunter zu laden (wird im nachstehenden Abschnitt 4n näher erörtert).
- Ein weiteres anwendungsspezifisches Programm, das auf dem PC 14 des Netzwerkadministrators laufen könnte, ist CPFLASH, das dazu verwendet werden kann, aus der Entfernung neue Firmware in das EPROM 222 zu flashen, wie es näher im nachstehenden Abschnitt 4q erörtert wird.
- Zuerst werden als Überblick NEB Strukturen und Funktionen unter Berücksichtigung der Flußdiagramme der Fig. 5A, 5B und 5C erörtert. Danach erfolgen detailliertere Beschreibungen verschiedener Aspekte der NEB Hardware und Software unter Berücksichtigung der Abschnitte 4a bis 4q.
- Der Vorteil der vorliegenden Erfindung liegt in der Zweiwegfähigkeit der Kommunikation zwischen dem Drucker und der NEB und in der Fähigkeit der NEB, Information auf einer Multi-Tasking Grundlage zu verarbeiten. D. h. der in zwei Richtungen wirkende SCSI Bus kann große Datenmengen zum und vom Drucker übertragen und versetzt die NEB in die Lage, große Mengen spezifischer Statusdaten oder sogar Daten, die von der Peripherie aus eingegeben wurden (wie von einem Scanner eingegebene Bilddaten) vom Drucker zu empfangen. Der NEB Microprozessor verarbeitet Information auf einer Multitasking Grundlage (sequentiell aber anteilig), wobei wirksam vom Netzwerk erhaltene Information und vom Drucker erhaltene Information parallel verarbeitet werden. Diese Multi-tasking Verarbeitung stellt sicher, daß die NEB auf beinahe Echtzeitgrundlage sowohl auf das Netzwerk als auch auf den Drucker anspricht.
- Die Fig. 5A, 5B und 5C enhalten das Haupt - Flußdiagramm, das eine fiktive Folge von Ereignissen darstellt, die vorkommen können, wenn die NEB und dazugehörige Software in einem Drucker, der mit einem lokalen Bereichsnetzwerk Verbunden ist, installiert werden. Der Drucker liefert vor allem Druckinformation und ist mit der NEB durch eine SCSI Zweiwegschnittstelle verbunden. Der Drucker kann auch einen Parallelanschluß und/oder einen seriellen Anschluß zum Empfang von Druckinformation aus anderen Quellen haben. Die NEB ist mit dem Drucker über die SCSI Zweiwegschnittstelle verbunden und die Platine empfängt Druckerinformation vom lokalen Be reichsnetzwerk. Die Platine sendet über die SCSI Schnittstelle Druckaufträge- und Druckerstatusanfragen zum Drucker, empfängt über die SCSI Schnittstelle den Druckerstatus und gibt den Druckerstatus über das Netzwerk weiter.
- Wo die NEB mit einem Gerät zur Datenerzeugung wie einem Scanner verbunden ist, ist die Platine durch die SCSI Zweiwegschnittstelle mit dem Scanner und mit dem Netzwerk über die LAN Schnittstelle verbunden. Die Platine empfängt Statusanfrageinformation vom Netzwerk und gibt diese Information über die Zweiwegschnittstelle zum Scanner. Die Platine empfängt über die Zweiwegschnittstelle auch die vom Scanner erzeugten Daten und gibt diese Daten über die LAN Schnittstelle zum Netzwerk.
- Eine Folge von Ereignissen darstellend, die sich ereignen können, wenn die NEB in einem Drucker installiert wird, beginnt in Fig. 5A wenn bei Schritt S1 dem NEB Strom zugeführt wird. Bei Schritt S2 führt die NEB einen Strom-an-Selbst-Test ("POST") vom EPROM 220 aus durch. Bei Schritt S3 geht, wenn der POST erfolgreich durchgeführt ist, der Ablauf weiter zu Schritt S5, wo der NEB EPROM 222 Operationskode den Netzwerk- und Druckerkonfigurationskode aus dem NVRAM 228 liest. Wird bei Schritt S3 der POST nicht erfolgreich ausgeführt, wird mit Schritt S4 eine Fehleranzeige protokolliert und diese Information kann über die LAN Schnittstelle zum Netzwerk übertragen werden. Auch kann ein LED Fehler/Diagnoselicht auf der NEB oder dem Drucker aktiviert werden.
- Nachdem Netzwerk und Konfigurationskode aus dem NVRAM 228 gelesen wurden, geht der Ablauf weiter zu Schritt S6, wo der NEB EPROM Operationskode ausgewählte Konfigurationsmodule, Protokollstacks, Haushaltsmodule usw. (d. h. das Monitor Multi-task Modul, CPSOCKET, CPSERVER usw.) aus dem Eprom 222 liest und die gewählten Module zum DRAM 220 herunterlädt. Bei Schritt S6 wird eine Konfiguration gewählt (in Übeteinstimmung mit der von CPINIT gesetzten Konfiguration), die einen Operationmodus (d. h. CPSERVER oder CRPRINTER) der interaktiven Netzwerkplatine festlegt. Wie genauer im nachstehenden Abschnitt 4d erörtert, wird ein binärer Konfigurationskode über das LAN geschickt und im NVRAM 228 gespeichert. Nachdem die NEB hochgefahren ist, wird der Konfigurationkode aus dem NVRAM unter Verwendung von ROM-residenten Strom-an Auftragsschritten gelesen. Unter Verwendung von ROM-residenten Ablaufsschritten werden in Übereinstimmung mit dem aus dem NVRAM gelesenen Konfigurationskode ROM-residente ausführbare Module gewählt. Die Module werden in Bitweiser Übereinstimmung mit den binären Ziffern des Konfigurationskodes im NVRAM gewählt. Die gewählten Module werden dann im DRAM gespeichert und die Ausführungssteuerung für die Module wird zum DRAM übergeben, woraufhin die gewählten Module ausgeführt werden. Auf diese Weise können vielfältige Konfigurationen festgelegt und wahlweise geändert werden.
- Bei Schritt S7 wird der EtherNet Rahmentyp, der auf das LAN übertragenen Informationspakete bestimmt (wie im nachstehenden Abschnitt 4e genauer erörtert). D. h. EtherNet unterstützt vier verschiedene Rahmentypen: EtherNet 802.3; Ether- Net II; EtherNet 802.2 und EtherNet SNAP. Zur Bestimmung des EtherNet Rahmentyps entscheidet ein Vor-Abtastablauf ("PRESCAN"), welcher Rahmentyp auf dem LAN (aus allen LAN Weitergabedaten) vorhanden ist und konfiguriert den passenden NEB-residenten Protokollstack für diese Daten. Der Vorabtast- Ablauf zieht Datenbyte von einem empfangenen LAN Paket ab, bis die den Rahmentyp anzeigenden Byte erreicht sind. Kurzgesagt, Schritt S7 versieht die NEB mit der Fähigkeit, LAN Pakete verschiedener Rahmentypen zu verarbeiten durch: Empfang eines Datenrahmens vom LAN, Vor-Abtastung des Rahmens zur Bestimmung des Rahmentyps und Verarbeitung des identifizierten Rahmens auf der NEB unter Verwendung eines passenden Verarbeitungsprogramms. Der Vor-Abtastablauf beinhaltet die Unterschritte des Abzugs einer vorbestimmten Anzahl von Byte vom Rahmenkopf, Verarbeitung des enthüllten Rahmens, um einen Identifikationskode zu identifizieren, der den Rahmentyp angibt und Übertragung des identifizierten Rahmens zum Verarbeitungsprogramm.
- Bei Schritt S8 findet ein Zeitgebermodul, das in Schritt S6 herunterladen wurde, den nächsten LAN Server und fragt die aktuelle Zeit ab. Nach Entgegennahme der aktuellen Zeit geht der Ablauf zu Schritt S9, bei dem bestimmt wird, ob es Mitternacht ist, d. h. ob die angegebene Zeit ein neues Datum anzeigt.
- Schritt S9 bis Schritt S12 enhalten eine sogenannte "autologging" Funktion, die in der NEB vom CPSOCKET Programm ausgeführt wird, um automatisch und systematisch Statusinformation vom Drucker zum LAN zu liefern (autologging wird genauer im nachstehenden Abschnitt 4k erörtert). Von Schritt S9 geht der Ablauf, wenn Mitternacht noch nicht erreicht ist, zu Schritt S13. Ist aber Mitternacht einmal erreicht, übermittelt der NEB Microprozessor 216 dem Drucker über den SCSI Bus die Aufforderung, der NEB den augenblicklichen Status zu melden. Z. B. kann der Drucker der NEB die angehäufte Anzahl von gedruckten Seiten melden. Bei Schritt S11 berechnet der NEB Microprozessor 216 Druckerstatistiken wie Seiten pro Auftrag oder Seiten pro Tag, wobei sich die NEB die Anzahl der zum Drucker geschickten Aufträge und das Datum gemerkt hat. Bei Schritt S12 werden die Druckerstatistiken auf einen nicht-flüchtigen Speicher, wie die Festplatte 114 des Druckers oder NVRAM 111 oder das NVRAM 228 der NEB übertragen. Alternativ dazu können die Schritte S10, S11, S12 vor Schritt S9 durchgeführt werden, so daß die Statistiken jede Minute gespeichert werden.
- In Zusammenfassung der Schritte S9 bis S12 beinhaltet ein Verfahren zum Protokollieren von Systemstatistiken eines mit über eine Zweiwegschnittstelle mit einer interaktiven Netzwerkplatine für LAN Kommunikation verbundenen Druckers die Schritte des Zählen der Anzahl der gedruckten Seiten im Drucker und des Zählens der Anzahl der gedruckten Aufträge auf der Platine. Der Drucker wird täglich über die Zweiwegschnittstelle nach der Anzahl der bedruckten Seiten befragt und die Platine errechnet dann tägliche Statistiken unter Verwendung der Anzahl der Seiten, der Anzahl der Aufträge und anderer Statusinformation. Die täglichen Statistiken werden dann gespeichert und es kann unter Verwendung von CPCONSOL aus dem PC 14 des Netzwerkadministrators auf sie zugegriffen und sie können entfernt angezeigt werden. Eine zusätzliche Eigenschaft der "autologging" Funktion ist es, daß verschiedene Grade von Statistiken protokolliert werden können. Z. B. könnte in einem Basisgrad nur die Anzahl der Seiten für jeden Auftrag protokolliert werden. Bei fortgeschritteneren Graden könnten die Anzahl der Seiten pro Auftrag zusammen mit einem Protokoll der Fehlerbedingungen protokolliert werden; oder Auftragsbeginn und Endzeiten könnten zusätzlich zu den Fehlerbedingungen und der Anzahl der Seiten pro Auftrag protokolliert werden. Der Protokollierungsgrad wird von CPINIT festgesetzt.
- In Fig. 5B bietet bei Schritt S13 das SAPSERVER Programm (genauer im nachstehenden Abschnitt 4g erörtert) die NEB mit den beiden Identitäten CPSERVER und CPSOCKET an. So können NEB und angeschlossener Drucker in ihren Zwillingsrollen von PSERVER und anwendungsspezifischer Einheit (CPSOCKET; d. h. so wie andere LAN Peripheriegeräte mit darin installiertem NEB) funktionieren. SAPSERVER ist ein NEB-residentes TSR Programm, das es mehr als einem Server erlaubt, gleichzeitig am selben Knotenpunkt Netzwerkdienste anzubieten. So bieten CPSOCKET und CPSERVER beide ihre Dienste durch SAPSERVER an und antworten auf Nachfragen von anderen Netzwerkanwendungen. Da jede EtherNetplatine nur eine SAP Socketnummer hat, bietet SAPSERVER dem LAN beide NEB Identitäten ohne Verwirrung an.
- Zusammengefasst, ist Schritt S13 ein Verfahren zur Identifizierung einer einzelnen interaktiven Netzwerkplatine als zwei Netzwerkserver (d. h. CPSERVER und CPSOCKET) mit den Schritten der Übertragung eines Signals zu einem vorbestimmten Zeitintervall zum Netzwerk, das anzeigt, daß die Platine ein erster Typ einer Netzwerkeinheit ist, wobei das Signal ein der Platine eigenes Identifizierungssignal einschließt; dann der Übertragung eines zweiten Signals zu dem vorbestimmten Zeitintervall zum Netzwerk, das anzeigt, daß die Platine ein zweiter Typ einer Netzwerkeinheit ist, wobei das zweite Signal ebenso dasselbe eigene Identifizierungssignal einschließt. Wurde einmal ein Signal aus dem Netzwerk empfangen, das verlangt, daß die Platine als einer der Typen von Netzwerkeinheiten funktioniert, ist direkte Kommunikation zwischen der Platine (die als der verlangte Typ der Netzwerkeinheit handelt) und der Netzwerkeinheit, die die Anfrage stellte, hergestellt. Wenn die direkte Kommunikation hergestellt ist, verwendet die NEB ein neues eigenes Identifizierungssignal.
- Bei Schritt S14 werden sowohl das LAN, als auch die SCSI Schnittstellen auf Daten überprüft, die zu CPSOCKET (genauer im nachstehenden Abschnitt 4j erörtert) geleitet werden. Die SCSI Schnittstelle hat typischerweise Druckerstatusdaten, die als Reaktion auf eine früher eingegangene Statusabfrage zum LAN weitergegeben werden sollen. CPSOCKET ist das NEB-residente TSR Programm, das auf solche Anforderungen nach Verbindung, Anforderungen zum Datenherunterladen oder Anforderungen von Diensten von entfernten Dienstprogrammen reagiert. CPSOCKET sammelt, wenn erforderlich, Information von der NEB oder dem Drucker, überwacht Anforderungen zum Schreiben in die Logdatei, überwacht Anwendungsanforderungen für Gerätestatus und unterhält wie im vorigen erörtert Auftragsstatistiken.
- Kurz gesagt ist das CPSOCKET Programm ein Verfahren, aus einer interaktiven Netzwerkplatine eine Schnittstelle zwischen dem Netzwerk und einem Peripheriegerät zu bilden, mit den Schritten der Übertragung eines Programms vom Platinen ROM zum Platinen RAM zur Ausführung aus dem RAM; und zur Überwachung einer Platinennetzwerkschnittstelle, die eine zum Peripheriegerät geleitete Netzwerkkommunikation erfasst, mit dem Programm. Das Programm gibt dann dem Peripheriegerät den Befehl, eine Funktion als Reaktion auf die Netzwerkkommunikation durchzuführen und überwacht eine Platinenzweiweg - Peripherieschnittstelle, die Statusinformation des Peripheriegeräts erfasst und speichert. Zuletzt gibt das Programm die Statusinformation des Peripheriegeräts in Reaktion auf eine weitere Netzwerkkommunikation durch die Netzwerkschnittstelle auf das Netzwerk aus.
- In Fig. 5B zeigen die Schritte S15 und S17 Funktionen der "Lauf-Zeit" Ebene und Schritt S20 stellt eine "Soft-Zeit" Anwendungsebene dar. Zuerst bestimmt Schritt S15, ob Daten über das LAN empfangen werden. Werden LAN Daten empfangen, geht der Ablauf weiter zu Schritt S16 und der Typ des Softwareprotokolls wird bestimmt (genauer im nachstehenden Abschnitt 4f erörtert). Z. B. die über das LAN empfangenen Ethernet Daten können einem der folgenden Softwareprotokolle entsprechen: D. h. Netware® über SPX/IPX; UNIX über TCP/IP; oder Mac Systems 7 über AppleTalk. Grundsätzlich kann der Typ des Softwareprotokolls entsprechend dem im obigen Schritt 7 erfühlten Rahmenpakettyp bestimmt werden.
- Wenn CPSOCKET bestimmt, daß im Schritt S15 keine LAN Daten empfangen werden, bestimmt Schritt S17, ob SCSI Daten empfangen werden und wenn SCSI Daten empfangen werden, werden sie vom Drucker in Schritt S18 eingegeben und dann in Schritt S19 im DRAM 220 gespeichert.
- Nach dem Speichern der Druckerdaten in Schritt S19 oder wenn keine SCSI Daten in Schritt S17 empfangen wurden, geht der Ablauf zu Schritt S20, wo "Soft-Time" Aufgaben auf einer multi-tasking Grundlage durchgeführt werden, gesteuert von einem multi-tasking Softwareprogramm namens "MONITOR" (genauer im nachstehenden Abschnitt 41 erörtert) durchgeführt werden. Schritt S20 ist deshalb ein "Hintergrund" Ablauf, der gleicherweise durch die in den Fig. 5A, 5B und 5C abgebildeten Flußdiagramme läuft. Das bedeutet, daß wann immer "Soft-Time" Aufgaben durchgeführt werden, der Microprozessor 216 zeitgeteilte, parallele, nicht-preemptive Bearbeitung der "Soft- Time" Aufgaben sicherstellt.
- Genauer ist MONITOR ein Softwaremodul, das in Schritt S6 vom EPROM 222 zum DRAM 220 heruntergeladen wurde. MONITOR ist ein nicht-preemptiver multi-tasking Monitor, der die Verwen dung des Prozessors unter den verschiedenen Anwendungsaufgaben, die gerade aktiv sind, verteilt. Die nicht-preemptive Art des Monitors verlangt, daß jede Anwendungsaufgabe von Zeit zu Zeit die Steuerung abtritt, so daß andere Aufgaben die Gelegenheit zur Durchführung gewinnen. Der Steuerungsabtretungsmechanismus wird unter Verwendung einer Softwareunterbrechung durchgeführt, um die Steuerung an MONITOR abzugeben. Bei einer Unterbrechung speichert MONITOR den Stand der laufenden Aufgabe, stellt den Stand einer weiteren aktiven Aufgabe wieder her und nimmt die Durchführung der neuen Aufgabe auf (oder beginnt sie). Die Aufgabe, die ursprünglich die Steuerung abgetreten hat, gewinnt die Steuerung eventuell am Unterbrechungspunkt wieder d. h., unter Wiederherstellung ihres Kontext unter denselben Bedingungen, bei denen sie die Steuerung abgegeben hat.
- Zusammenfassend enthält Schritt S20 den Schritt der Überwachung einer Vielzahl von Anwendungsaufgaben auf einer multi-task interaktiven Netzwerkplatine, um die Betriebsmittel des Prozessors zu verteilen. Ein Speicher speichert eine erste Anwendungsaufgabe, die sich in die Warteschlange eines Dateiservers einreihen kann, um eine Netzwerkschnittstelle zu bekommen um eine Warteschlange von Druckdateien, die gedruckt werden sollen zu erhalten und die die Druckdateien zu einem mit der Platine durch eine Schnittstelle verbunden Drucker leitet. Der Speicher speichert auch eine zweite Anwendungsaufgabe, die über eine LAN Schrittstelle entfernte Statusabfragen empfängt, den Drucker zum Erhalt des Druckerstatus und einer Antwort auf die empfangene Statusabfrage über eine Zweiwegschnittstelle abfragt und die Statusinformation über die LAN Schnittstelle zum Statusanforderer liefert. Die erste und zweite Anwendungsaufgabe enthalten jede einen Abtretungsbefehl, der die gerade ausführende Anwendungsaufgabe veranlaßt, periodisch die Steuerung an MONITOR abzutreten. MONITOR speichert den Stand der abtretenden Aufgabe, stellt den Stand der nicht-abtretenden Aufgabe wieder her und nimmt die Durchführung der nicht-abtretenden Aufgabe auf.
- In Fig. 5C bestimmt Schritt S21, vorausgesetzt, bei Schritt S15 wurden Daten über das LAN empfangen, ob die empfangenen Daten für eine Druckauftrag bestimmt sind oder nicht. Sind sie für einen Druckauftrag bestimmt, handelt der Microprozessor 216 als LAN Dateiserver für eine aktive Druckdatei und überträgt bei Schritt S22 Druckauftragsblöcke zum DRAM 220.
- Bei Schritt S23 sammelt Microprozessor 216 Bilddatenblöcke und Steuerinformation und schickt die Blöcke durch die SCSI Schnittstelle zum Drucker. In diesem Schritt versieht der Microprozessor 216 den über das LAN empfangenen Datenstrom mit "Anfang des Auftrags" und "Ende des Auftrags" Kennungen. Das geschieht durch Öffnen des XP (Daten) Kanals am Anfang eines Druckauftrags und durch Schließen des XP Kanals am Ende eines Druckauftrags.
- Bei Schritt S24 wartet der Ablauf, bis der Druckauftrag fertig ist. Ist der Druckauftrag fertig, versetzt Schritt S25 den Drucker eindeutig auf eine Standardeinstellung. Es ist auch möglich, die Standardeinstellung vor (oder während) des Druckauftrags zu setzen. Das bedeutet, daß die NEB selbst darauf achtet, daß der angeschlossene Drucker in eine Standardeinstellung versetzt wird, die z. B. Vorgegebene Fonts, Papierschächte, Sortierung, Stapelung usw. bestimmt, um sicher zu stellen, daß der nächste Druckauftrag mit dem Drucker in einer bekannten Konfiguration beginnt (genauer im nachstehenden Abschnitt 4m erörtert).
- Schritt S25 kann durch Sicherstellung, daß zwischen logischen Druckaufträgen auf die Druckereinstellungen (d. h. Portraitmodus, Duplex usw.) zurückgegangen wird, als Garantie für eine sichere Einstellung für den Drucker betrachtet werden. Während z. B. Novell NetWare® die Fähigkeit beinhaltet, jeden Auftrag mit Druckerescapesequenzen zu versehen, um die Druckerumgebung zurückzusetzen, sind solche Escapesequenzen in einer Datenbank des Netzwerkdateiservers vorhanden und der in Frage kommende Druckauftrag stammt möglicherweise nicht aus diesem Dateiserver. Um eine garantiert sichere Umgebung zu bieten, speichert die NEB die erfoderlichen Konfigurationsparameter und ist dafür verantwortlich, daß die Druckerumgebung zwischen Druckaufträgen zurückgesetzt wird.
- Zusammenfassend beinhaltet ein Verfahren zum Bereithalten einer vorgegebenen Konfiguration für einen LAN Drucker mit damit verbundener interaktiver Netzwerkplatine den Schritt des Empfangs einer vorgegebenen Konfiguration über eine LAN Schnittstelle an der interaktiven Netzwerkplatine. Die vorgegebene Konfiguration kann im NVRAM 228 in der NEB oder in einem NVRAM oder einer Disk im Drucker über die Zweiwegschnittstelle zwischen der Platine und dem Drucker gespeichert sein. Dann wird die vorgegebene Konfiguration vom NVRAM im Drucker über die Zweiwegschnittstelle zum DRAM 220 auf der Platine heruntergeladen. Wenn die Platine Druckinformation über die LAN Schnittstelle empfängt und die Druckinformation über die Zweiwegschnittstelle an den Drucker weitergibt, erfasst die Platine ein Ende des Druckauftrags. Als Reaktion auf diese Erfassung, wird die vorgegebene Konfiguration zum Drucker geschickt, wodurch der Drucker in seine vorgegebene Konfiguration gesetzt wird.
- Zusätzlich kann eine Vielzahl von vorgegebenen Konfigurationen gespeichert werden und eine geeignete vorgegebene Konfiguration kann aus einer anderen LAN Einheit ferngewählt werden. Z. B. kann ein Verfahren zum Setzen einer von vielen vorgegebenen Konfigurationen einen Schritt des Erfassens des Ursprungs und die Identifizierung der Quelle eines Druckauftrags auf der Platine enthalten. Folglich wird eine geeignete vorgegebene Konfiguration aus den gespeicherten Konfigurationen gewählt und die gewählte vorgegebene Konfiguration wird dann zu Beginn oder Ende des Druckauftrags zum Drucker geschickt.
- In Fig. 5C bestimmt Schritt S26, wenn bei Schritt S21 bestimmt wurde, daß ein Druckauftrag nicht verlangt wird, ob eine Statusanfrage bezüglich des Status des angeschlossenen Druckers über das LAN gemacht wurde. Wird bestimmt, daß eine Statusanfrage empfangen wurde, bestimmt Schritt S27 den Typ der Statusanfrage. Z. B. kann ein Druckerstatus wie Fehlerkodes, Anzahl der gedruckten Seiten, Tonerstatus usw. abgefragt werden.
- Bei Schritt S28 holt der Microprozessor 216 die abgefragten Daten aus dem DRAM 220, sammelt die Statusdaten und schickt sie durch die LAN Schnittstelle zum LAN (genauer im nachstehenden Abschnitt 41 erörtert). So kann in Schritt S28 mehr als einfache "AN/AUS" Information zum LAN übertragen werden, die das LAN über den genauen Druckerstatus informiert. In einer ausgedehnten Anwendung enthält Schritt S28 die Verbreitung des Druckerfrontfeldstatus über das LAN und Zufuhr der Frontfeldsteuerbefehle vom LAN. Das bedeutet, daß der Netzwerkadministrator am PC 14 eine Anzeige abfragen und empfangen kann, die die gesamte in der Druckerfrontfeldanzeige 116 eingeschlossene Druckerinformation aufweist. Der Netzwerkadministrator kann dann verschiedene Druckerfrontfeldfunktionen auf seinem/ihrem PC aktivieren und solche Funktionen werden zum Drucker übertragen, wo die gewählte Steuerung ausgeführt wird.
- Zusammenfassend beinhaltet bei Schritt S28 ein Verfahren zur Fernsteuerung einer manuell-betreibbaren Funktion eines Netzwerkdruckers durch eine interaktive Netzwerkplatine mit einer LAN Schnittstelle zur LAN Kommunikation den Schritt der Herausgabe eines Befehls an die Platine von einem entfernten Ort aus, der diese veranlasst, Druckerstatusinformation durch die Platine zu dem entfernten Ort durch die LAN Schnittstelle zu übertragen. An dem entfernten Ort kann ein Druckerstatus angezeigt werden und dort kann ein zweiter Befehl an die Platine durch die LAN Schnittstelle herausgegeben werden, der die Platine veranlasst, eine manuell-betreibbare Funktion durchzuführen.
- Wenn die empfangenen LAN Daten weder ein Druckauftrag noch eine Statusabfrage sind, wird bei Schritt S29 bestimmt, daß die empfangenen Daten ein Herunterladevorgang sind, d. h. eine Übertragung von Daten in die NEB zur Aktualisierung der ROM oder RAM Anwendungen, d. h. das Herunterladen kann für Übergangsdiagnosen, die auf der NEB laufen sollen, verwendet werden.
- Zuerst werden bei Schritt S30 die Daten vom LAN zum DRAM 220 heruntergeladen (genauer im nachstehenden Abschnitt 4n erörtert). Das bedeutet, daß das Herunterladen ein Vorgang ist, durch den Daten in einen Netzwerknoten geladen und dann behandelt oder ausgeführt werden. So kann z. B. alles vom Steckerkode bis zur Ausführung von Herstellungs-Testroutinen bis zu Firmwareaktualisierung für das EPROM heruntergeladen werden. Auch Anwendungsmodule können im LAN Dateiserver gespeichert und dann jeden Morgen zur NEB heruntergeladen werden.
- Zusammenfassend enthält das Herunterladen von Daten vom LAN zum DRAM ein Verfahren zur Änderung eines Arbeitsmodus einer interaktiven Netzwerkplatine mit LAN Schnittstelle, einschließlich des Schrittes der Aktivierung eines LAN Kommunikationsprogramms zur Ausführung vom DRAM, wobei das Kommunikationsprogramm Druckinformation auf dem LAN zu einem peripheren Drucker leitet. Ausführbare Instruktionen, die dem geänderten Arbeitsmodus entsprechen, werden dann über die LAN Schnittstelle in das DRAM heruntergeladen. Die Platine erhält dann über die LAN Schnittstelle den Befehl, die Ausführung des geänderten Arbeitsmodus zu beginnen.
- Bei Schritt S31 wird bestimmt, ob die heruntergeladene Information für EPROM 222 oder DRAM 220 bestimmt ist. Ist die Information für EPROM bestimmt, wird bei Schritt S32 ein ROM Bild errichtet (genauer im nachstehenden Abschnitt 40 erörtert). Z. B. ergibt das Herunterladen von EPROM Firmware von einem entfernten Ort aus eine einzigartige Flexibilität. Insbesonders kann Herunterladen von Testroutinen auf der Platine und Änderung der EPROM Konfigurationsfirmware von einem entfernten Ort aus durchgeführt werden, nachdem die Platine im Drucker installiert wurde.
- Schritt S32 ist der Vorgang, der die binäre Bilddatei aufbaut, die in das EPROM 222 programmiert werden soll. Die für das EPROM bestimmten Daten werden zuerst in das DRAM 220 heruntergelden, wo ein Dienstprogramm eine Konfigurationsdatei mit den Namen der Module liest, die in das ROM Bild plaziert werden sollen. Dann wird eine vollständige binäre Bilddatei aufgebaut, die all die spezifizierten Module enthält. Vor jedem Modul im Bild steht ein Kopfetikett, das das Modul identifiziert, seine Attribute beschreibt und als Hilfe zur Lokalisierung der Module während des Ladens auf das nächste Kopfetikett hinweist. Das zuletzt in das EPROM geladene Modul ist der EPROM-residente Kode. Er wird an das Ende des ROM Bildes gestellt, so daß der Strom-an Initialisierungskode an der vom Microprozessor 216 erwarteten Adresse liegt.
- Zusammenfassend enthält Schritt S32 einen Vorgang zur Formatierung einer binären Bilddatei, die ausführbare Kodemodule zur Speicherung im EPROM enthält. Zuerst wird eine Konfigurationsdatei gelesen, die die Kodemodule spezifiziert, die das binäre Bild formen. Als nächstes wird für jedes in der Konfigurationsdatei spezifizierte Modul ein Kopfetikett gebildet, das eine Identifikation des Moduls, eine Definition seiner Attribute und einen Hinweis auf ein Kopfetikett für ein nachfolgendes Modul beinhaltet. Die binäre Bilddatei wird dann aufgebaut und enthält die spezifizierten Module und die damit verbundenen Kopfetiketten. Zum Schluß wird dem binären Bild ein Modul des ROM-residenten Kodes angefügt, der bei Strom-an die Steuerung übernimmt, POST anbietet, mindestens einige der Module von der binären Bilddatei in das DRAM 220 lädt und grundlegende Platinen I/O Dienste anbietet.
- Vor dem Schreiben neuer Daten ins EPROM 222 ist es nötig, eindeutig sicherzustellen, daß ein Schreibvorgang tatsächlich angestrebt wird. Jedes ungewollte Schreiben in das EPROM 222 könnte die NEB unbrauchbar machen. Deshalb läuft in Schritt S33, bevor Information auf das EPROM 222 "geflasht" wird, eine spezifizierte Folge von Ereignissen für den Zugriff auf das EPROM ab (genauer im nachstehenden Abschnitt 4p erörtert). Im vorliegenden Ausführungsbeispiel stehen die +12 V, die zum Schreiben in das EPROM nötig sind, nicht zur Verfügung, solange nicht zwei Datenbit an zwei getrennten I/O Orten verändert werden.
- Kurz gesagt, beinhaltet ein Verfahren, das sicherstellt, daß das EPROM nicht ungewollt beschrieben wird, ein Verfahren der Durchführung eines Flashvorgangs auf ein auf einer interaktiven Netzwerkplatine mit Prozessor und Speicher residentes EPROM, wobei das Verfahren den Schritt enthält, daß ein I/O Schreibsignal zum Prozessor geschickt wird. Dann erzeugt der Prozessor eine erste Adresse im Speicher um zu veranlassen, daß ein erstes Bit in Reaktion auf das I/O Signal in einem vorbestimmten Zustand ist. Dann wird eine Stromquelle veranlasst, in Reaktion darauf, daß das erste Bit in den vorgegebenen Zustand versetzt wurde, einem Transistor +12 Volt zuzuführen. Dann wird ein I/O Empfangssignal zum Prozessor geschickt, der eine zweite Adresse im Speicher erzeugt, um ein zweites Bit zu veranlassen in Reaktion auf das I/O Empfangssignal in einem vorgewählten Zustand zu sein. Dann wird, in Reaktion darauf, daß das zweite Bit in den vorgewählten Zustand versetzt wurde, der Transistor angeschaltet, wodurch veranlasst wird, daß +12 Volt zu einem Stromanschluß des EPROM fließen und es erlauben, daß ein Schreibvorgang stattfindet.
- Bevor das neue ROM Bild wirklich im EPROM 222 gespeichert wird, muß bei Schritt S34 eine Prüfsumme gebildet und mit einem Prüfsummenwert verifiziert werden, der nach Empfang des ROM Bildes geschickt wird. Vor dem Löschen von EPROM 222 müssen Daten und Module, die erhalten werden sollen, wie die MAC Adresse, in das DRAM 220 innerhalb des neuen ROM Bildes geladen werden.
- Nach Bestimmung, daß das ROM Bild verifiziert ist und nach Rettung der erforderlichen Daten in das im DRAM 220 gespeicherte neue ROM Bild, ist es notwendig, das EPROM 222 zu löschen und zu säubern, um sicherzugehen, daß es beim Laden des neuen ROM Bildes keine Datenverstümmelung gibt. Dementsprechend kann bei Schritt S35 EPROM 222 mehrere Male gelöscht werden, bevor das neue ROM Bild dain gespeichert wird.
- Nach dem Löschen von EPROM 222 bei Schritt S35 wird das neue ROM Bild bei Schritt S36 auf das EPROM 222 "geflasht" (genauer im nachstehenden Abschnitt 4q erörtert).
- Zusammenfassend bezieht sich Schritt S36 auf ein Verfahren zur Fernänderung programmierbarer Firmware auf einer interaktiven Netzwerkplatine mit LAN Schnittstelle unter Einbeziehung des Schrittes der Aktivierung eines LAN Kommunikationsprogramms zur Ausführung aus dem DRAM auf der Platine, wobei das Kommunikationsprogramm Druckinformation auf dem LAN zu einem peripheren Drucker leitet. Dann wird über die LAN Schnittstelle ein ROM Firmwarebild auf das DRAM auf der Platine heruntergeladen. Als nächstes wird das Herunterladen des ROM Bildes auf die Zielplatine und seine Integrität bestätigt. Die Platine erhält dann den Befehl, das EPROM elektronisch zu löschen und dann wird das EPROM mit dem neuen ROM Bild geflasht. Zusätzlich kann nach dem Vorgang, wenn erwünscht, ein "Flash fertig" Signal zum LAN geschickt werden.
- Nachdem die Information auf das EPROM 222 geflasht wurde, wird bei Schritt S37 die NEB vom neuen ROM Firmwarebild im EPROM 222 neu gebootet und der Vorgang geht zu Schritt S1 zurück.
- In Fig. 5C wird, wenn Schritt S31 bestimmt, daß RAM Information heruntergeladen wird, diese Information zuerst über Schritt S38 ins DRAM 220 geholt. Danach führt Schritt S39 das RAM Programm aus und der Vorgang kehrt zu Schritt S13 zurück, wo SAPSERVER PSERVER und CPSOCKET Objekte anbietet.
- Diese Erörterung beschließt den Überblick auf die NEB Strukturen und Funktionen, wenn die NEB in einem LAN-netzbetriebenen Drucker installiert ist. Nun folgt eine genauere Beschreibung des Vorgehens bei verschiedenen Aspekten der NEB Hardware und Software.
- Unmittelbar nach dem Einschalten führt NEB 2 eine Einschalt-Selbstüberprüfung (POST) durch, derzufolge die NEB Betriebssoftware vom EPROM 222 in das DRAM 220 zur Ausführung lädt.
- Genauer greift unmittelbar nach dem Einschalten der Microprozessor 216 auf im EPROM 222 vorhandene POST Programmmodule zu. Microprozessor 216 führt POST direkt vom EPROM 222 aus durch, um die Funktionalität des Microprozessors, die Integrität der im EPROM 222 gespeicherten Programme (zum Beispiel über Prüfsummenverifizierung), die Betriebsbereitschaft von DRAM 220 (zum Beispiel durch Lese/Schreib Zyklen), die Betriebsbereitschaft des SCSI Reglers 224, die Datenintegrität des NVRAM 228 und den Betrieb des Steuerregisters 230 zu überprüfen. POST kann auch einen Vergleich der im PROM 232 gespeicherten MAC Adresse mit einer ins EPROM 222 heruntergeladenen MAC Adresse beinhalten.
- POST enthält weiter Betriebsüberprüfungen netzwerkbezogener Hardware. Genauer kann POST Betriebsüberprüfungen für SRAM 214 enthalten (zum Beispiel durch Lese/Schreib Zyklen), wie auch eine Überprüfung von Netzwerkaktivität, um den Betrieb des Netzwerkreglers 206 zu verifizieren.
- Der Betrieb anderer Hardware in der NEB 2 kann direkt durch zusätzliche POST Tests bestimmt werden. In manchen Fällen, in denen es für den Microprozessor 216 nicht möglich ist, den Betrieb von Hardware direkt zu testen, wie im Fall der Konnektoren 202, 203 und 204, kann ein richtiger Betrieb dieser Hardware durch vom Direkttest empfangene Ergebniskodes impliziert werden.
- Bei der Beendigung von POST legt der Microprozessor 216 einen Prüfsummenkode auf den seriellen Anschluß 218 und öffnet dann ein Fenster für Wartebetrieb (zum Beispiel ein ein Sekundenfenster), währenddessen der Microprozessor 216 über den seriellen Anschluß 218 Befehle (z. B. für Tests - siehe nachstehenden Paragraph 5) empfangen kann. Der POST Prüfsummenkode kann zum Bestimmen des Ergebnisses von POST durch ein mit dem seriellen Anschluß gekoppeltes Gerät erbracht werden. So kann z. B. ein Nicht-Fehlerzustand durch einen POST Prüfsummenkode von "0000h" angezeigt werden, während ein POST Prüfsummenkode, der einen Fehler anzeigt durch einen nicht-Null Hexadezimalwert, der den Fehlerbereich anzeigt, dargestellt werden kann. Im Fall eines Fehler kann der Microprozessor 216 auch das LED 240 auf der NEB aufleuchten lassen, um einem Benutzer zu signalisieren, daß ein Fehler entdeckt wurde. Vorzugsweise wird das LED beim Anschalten beleuchtet und nur wenn POST erfolgreich ist abgeschaltet.
- Nach dem erfolgreichen Abschluß von POST und im Fall, daß während des ein Sekunden Wartebetriebsfensters der Aktivität über den seriellen Anschluß 218 keine Befehle empfangen wurden, beginnt der Microprozessor 216 im EPROM 222 gespeicherte Softwaremodule ins DRAM 220 zu laden. Der Microprozessor 216 führt diese Software nicht direkt vom EPROM 220 aus, sondern lädt diese Module in das DRAM 220 zur Ausführung aus dem DRAM 220. Aufgrund dieser Anordnung ist es möglich, die spezifischen Module auszuwählen, die vom EPROM 222 zur Durchführung aus dem DRAM 220 geholt werden und so eine flexible Konfiguration der NEB 2 erlauben (siehe nachstehenden Abschnitt 4d). Zum Beispiel kann der Microprozessor 216 in Übereinstimmung mit einem im NVRAM 228 gespeicherten Konfigurationsbefehl selektive Module aus dem EPROM 222 zum Laden ins DRAM 220 und zur Ausführung aus dem DRAM holen.
- Fig. 6 zeigt die Sequenz, mit der verschiedene Module aus dem EPROM 222 geholt und in das DRAM 220 geladen werden. Bei Schritt S6001 lädt der Microprozessor 216 den SCSI Treiber aus dem EPROM 222 in das DRAM 220. Der SCSI Treiber hat für die Betriebssequenz und Steuerung über SCSI den Regler 224 und ermöglicht eine Schnittstelle mit Drucker 4, um Druckdaten zum Drucker 4 zu schicken und um Steuerinformation zum Drucker 4 zu senden und von dort zu empfangen. Bei Schritt S6002 lädt der Microprozessor 216 die Verbindungsunterstützungsebene oder "LSL" aus dem EPROM 222 in das DRAM 220 und bei Schritt S6003 lädt der Microprozessor 216 Netzwerktreibersoftware aus dem EPROM 222 ins DRAM 220 und damit beginnt der Microprozessor 216 mit der Ausführung der Verbindungsunterstützungsebene und der Netzwerktreiber vom DRAM 220 aus. Die Verbindungsunterstützungsebene und der Netzwerktreiber ermöglichen allgemeinen Zugriff auf LAN Kommunikationen auf dem LAN Bus 6. Genauer auf, wie in Fig. 7 gezeigt, alle vernetzten Geräte, einschließlich eines Geräts wie die NEB 2, einer Schnittstelle mit LAN Bus 6 über eine elektrische Schnittstelle 301 wie einen auf der NEB 2 verwendeten Netzwerkregler 206. Die elektrische Schnittstelle 301 wird angetrieben von einem Netzwerktreiber 302, der im Austausch LAN Rahmendaten von der Verbindungs - unterstützungsebenensoftware 304 erhält. Sowohl Verbindungsunterstützungsebene 304 als auch der Netzwerktreiber 302 sind in verschiedenen Arten von Netzwerksoftware üblich. Zum Beispiel, wie in Fig. 7 weiter gezeigt, wo Netzwerkanwendungsprogramme wie die in NetWare® Software von Novell (wie bei Pfeil A dargestellt) mit Verbindungsunterstützungsebene und dem Netzwerktreiber über ein Austauschprogramm von Paketen zwischen Netzwerken "IPX" 305, oder ein Austauschprogramm von aufeinanderfolgenden Paketen "SPX" 306 eine Schnittstelle bilden. Andererseits bilden Netzanwendungsprogramme von UNIX, zur Verfügung gestellt von AT&T (wie bei Pfeil B dargestellt) mit dem LSL durch "IP" Modul 315 und "TCP" Modul 316 Schnittstellen.
- In der NEB 2 wird normalerweise nur ein Typ von Netzwerkanwendungsprogramm zu einem Zeitpunkt ausgeführt (obwohl wie im nachstehenden Abschnitt 4f erörtert, Multiprotokollvorgänge möglich sind). Hier erfolgt die Erklärung für Net- Ware® Netzwerkanwendungsprogramme, obwohl die Durchführung von UNIX Netzwerkanwendungsprogrammen genauso möglich ist.
- Bei Schritt S6004 lädt der Microprozessor 216 ein PRESCAN Programm vom EPROM 222 und speichert es in das DRAM 220 und beginnt somit die Ausführung des PRESCAN Programms vom DRAM 220 aus. PRESCAN Software bildet eine Schnittstelle mit der Verbindungsunterstützungsebene zur Bestimmung des auf LAN Bus 6 übermittelten Rahmenpakettyps. Genauer gibt es, wie vorher beschrieben, vier Verschiedene mögliche Rahmenpakettypen auf einem Netzwerk LAN Bus vom Ethernettyp: Ethernet 802.3, Ethernet II, Ethernet 802.2 und Ethernet SNAP. Wie im nachstehenden Abschnitt 4e ausführlicher beschrieben, überwacht das PRESCAN Softwaremodul die Netzwerkkommunikation auf dem LAN Bus 6 zur Bestimmung des Rahmenpakettyps. Einmal durch PRESCAN bestimmt, wird der Rahmenpakettyp an einer vorbestimmten allgemein zugänglichen Stelle im DRAM 220 zur Verwendung durch andere Netzwerkkommunikationsmodule in der NEB gespeichert. Nach der Bestimmung des Rahmenpakettyps signalisiert PRESCAN dem Microprozessor 216, daß seine Aufgaben erfüllt sind und erlaubt es dem Microprozessor 216, den vom PRESCAN Programm eingenommen Speicherplatz mit einem anderen Programmodul zu überschreiben.
- Bei Schritt S6005 holt der Microprozessor 216 die IPX und SPX Programmodule aus dem EPROM 222, speichert sie im DRAM 220 und beginnt somit die IPX und SPX Module vom DRAM 220 aus auszuführen. Sowohl IPX als auch SPX nutzen den durch das PRESCAN Modul festgelegten Rahmenpakettyp.
- Bei Schritt S6006 holt der Microprozessor 216 das CNETX Programmodul aus dem EPROM 222, lädt dieses Modul in das DRAM 220 und beginnt dann die Ausführung vom DRAM 220 aus. CNETX ermöglicht der NEB lokale DOS-ähnliche Funktionalität.
- Bei Schritt S6007 lädt der Microprozessor 216 das SAPSERVER Programmodul aus dem EPROM 222 ins DRAM 220 und beginnt, das SAPSERVER Modul vom DRAM 220 aus auszuführen. Wie im nachstehenden Abschnitt 4g ausführlicher beschrieben, ist SAPSERVER ein Programmmodul, das zwei Netzwerkservereinheiten wie CPSOCKET und CPSERVER erlaubt, sich gleichzeitig von einem einzelnen auf der NEB Platine angebrachten Netzwerkknoten aus anzubieten, obwohl herkömmliche Netzwerkanwendungsprogramme, wie die von NetWare®, nur das Anbieten einer einzigen Netzwerkservereinheit von jedem Netzwerkknoten aus erlauben.
- Bei Schritt S6008 holt der Microprozessor 216 das nicht- preemptive Multitask MONITOR (siehe nachstehenden Abschnitt 41) aus dem EPROM 222, speichert es im DRAM 220 und beginnt die Multitasking Überwachung vom DRAM 220 aus auszuführen.
- Bei Schritt S6009 holt der Microprozessor 216 das CPSOCKET Server-Softwaremodul aus dem EPROM 222, speichert es im DRAM 220 und beginnt den CPSOCKET Server vom DRAM 220 aus auszuführen. Wie im nachstehenden Abschnitt 4j ausführlicher beschrieben, initialisiert CPSOCKET eine Anfrage an SAPSERVER, CPSOCKET anzubieten und SAPSERVER beginnt, SAP Angebote auf dem LAN Bus 6 zu machen.
- Bei Schritt S6010 holt der Microprozessor 216 Druckanwendungsserver wie CPSERVER oder CRPRINTER aus dem EPROM 222 und lädt die Druckanwendungsserver ins DRAM 220. Im Fall von CPSERVER beginnt der Microprozessor 216, die geladenen Druckanwendungsserver vom DRAM 220 aus auszuführen, was wiederum von SAPSERVER verlangt, SAP Angebote wegen des Druckservers zu machen. Wie im nachstehenden Abschnitt 4g ausfühlicher beschrieben, verzahnt SAPSERVER die Angebote für den CPSOCKET Server und den Druckserver und handelt dabei als Ersatz SAP Einheit sowohl für den CPSOCKET Server als auch für den Druckserver.
- Gemäß den weitgefassten Aspekten der vorliegenden Erfindung, ist ein Peripheriegerät wie ein Drucker, unter Verwendung einer interaktiven Netzwerkplatine mit integrierten Softwareprogrammen mit einem LAN verbunden. Vorzugsweise ist die Verbindung zwischen Drucker und der NEB eine SCSI Schnittstelle, so daß eine große Menge von Druckdaten und Statusdaten bidirektional zwischen NEB und Drucker befördert wird. EPROM 222 speichert eine Vielzahl von Softwaremodulen zur Betriebskonfiguration der NEB in den PSERVER-, RPRINTER- oder LPR-Funktionskonfigurationen. Das EPROM 222 speichert auch eine Anzahl von Status - Steuersoftwaremodulen zur Ausgabe von Statusinformation vom Drucker über das LAN und zum Einholen von Steuerinformation vom LAN zum Drucker. Die EPROM-residente Firmware wird beim Anschalten (wie im vorstehenden Abschnitt 4a erörtert) ins DRAM 220 heruntergeladen, wodurch das MONITOR Multitaskprogramm Softtime Aufgaben durchführt, bis Laufzeitunterbrechungen entweder vom LAN oder den SCSI Schnittstellen empfangen werden.
- NVRAM 228 speichert ein Konfigurationswort, das spezifiziert, welche der im EPROM 222 gespeicherten Module zur Konfiguration der NEB mit entweder PSERVER oder RPRINTER Funktionalität ins DRAM 220 heruntergeladen werden sollen. Der Microprozessor 216 führt das Programm vom DRAM 220 aus aus, läßt dabei zu, daß Druckaufträge vom LAN her empfangen und zum Drucker zum Drucken geschickt werden und erlaubt, daß der Druckerstatus als Reaktion auf eine Statusabfrage über das LAN zurückgeschickt wird.
- Die genaue Darstellung von Einzelheiten des Aufbaus und der Funktionen zum Bilden einer Schnittstelle zwischen Peripheriegerät und örtlichem Bereichsnetzwerk werden unter Bezug auf die vorhergegangenen Fig. 4, 5A, 5B und 5C in den folgenden Abschnitten fortgesetzt.
- Das Vorhandensein einer Zweiweg-SCSI Schnittstelle zwischen der NEB 2 und dem Drucker erlaubt, daß eine große Menge Statusinformation aus dem Drucker geholt wird, während dem Drucker noch Druckdaten zugeführt werden. Darüberhinaus kann der Drucker unter Verwendung der Zweiweg-SCSI Schnittstelle auf Steuerbefehle antworten, die über das LAN von einem entfernten Ort herausgegeben werden. Zum Beispiel kann der Netzwerkadministrator einen Steuerbefehl von seinem/ihrem PC 14 aus geben, der fordert, daß ein bestimmter Druckauftrag mehrmals mit hoher Bilddichte gedruckt und dann sortiert wird. Solche Steuerbefehle werden über das LAN 6 zur NEB 2 geschickt und die NEB 2 übermittelt diese Steuerbefehle dem Drucker über den SCSI Bus 102. Gleichzeitig werden die aktuellen Druckdaten vom Dateiserver 30 zur NEB 2 übertragen, wo die Druckdaten zu Blöcken gebündelt und über den SCSI Bus 102 zum Drucker übermittelt werden. Vorzugsweise zeigt die NEB 2 den "Anfang des Druckauftrags" durch Öffnen des XP Datenkanals zum Drucker an. Genauso zeigt die NEB 2 das "Ende des Druckauftrags" durch Schließen des XP Datenkanals zum Drucker an. Deshalb kann die NEB 2 dem Drucker solche Anzeigen weitergeben.
- Die Verwendung der Zweiweg-SCSI Schnittstelle auf der NEB 2 ermöglicht auch, daß andere Typen von Peripheriegeräten mit dem LAN verbunden werden. Zum Beispiel ist es möglich, weil die SCSI Schnittstelle dazu in der Lage ist, große Datenmengen vom Peripheriegerät zum LAN zu übermitteln, die NEB mit einem Bilddatenerzeugungsgerät wie einem Scanner (d. h., wo Drucker 4 ein Erkennungsgerät für optische Zeichen ("OCR") ist) oder einer Faximilemaschine zu verbinden. So können vom Bilderzeugungsgerät hervorgebrachte Daten über die SCSI Schnittstelle zur NEB übertragen werden und dann zum Speichern oder zur Wiedergewinnung durch jede der LAN Einheiten auf das LAN gelegt werden. Auch für den Drucker gilt, daß große Mengen genauer Steuer/Statusinformation zu/von dem Bilddatenerzeugungsgerät zur Verfügung stehen können.
- Die genaue Darstellung struktureller und funktioneller Eigenschaften der Zweiweg-SCSI Schnittstelle auf der NEB wird unter Bezug auf die vorhergegangenen Fig. 4, 5A, 5B und 5C im folgenden Abschnitt fortgesetzt.
- Wie vorher unter Berücksichtigung der Fig. 5A beschrieben, lädt Schritt S6 ausgewählte Softwareprogramme vom EPROM 222 zur Ausführung zum DRAM 220 herunter (siehe auch Fig. 6 und Abschnitt 4a). Das EPROM 222 wird mit Firmwaremodulen geliefert, die die Konfiguration der NEB 2 mit entweder RPRINTER oder PSERVER Funktionalität gestatten. Deshalb wird die Funktionalität der NEB 2 dadurch bestimmt, welches der gespeicherten Programme vom EPROM 222 in Übereinstimmung mit dem im NVRAM 228 gespeicherten Konfigurationskode zum DRAM 220 heruntergeladen wird.
- Die NEB 2 Firmware wird am Anfang konfiguriert und kann danach durch Laufenlassen von CPINIT auf dem PC 14 des Netzwerkadministrators (siehe nachstehenden Abschnitt 4h) rekonfiguriert werden. Aber auch in unkonfiguriertem Zustand aktiviert NEB 2 immer diese zur Durchführung einer Grundkommunikation mit dem LAN benötigten Softwaremodule. Unter Verwendung von CPINIT kann der Netzwerkverwalter die aktuelle Konfiguration der NEB fernbestimmen, oder er/sie kann die Konfiguration nach Belieben ändern. Da die Konfigurationsinformation im EPROM auf der NEB Platine gespeichert ist, wird die Konfigurationsinformation über Einschaltzyklen hinweg erhalten.
- Der Prozess, durch den die Softwareprogramme für eine bestimmte Konfiguration vom EPROM 222 zum DRAM 220 heruntergeladen werden, wird unter Berücksichtigung der Fig. 8 nachstehend beschrieben.
- Nachdem die Platine bei Schritt S1 mit Strom versorgt wurde geht der Ablauf zu Schritt S8001, wo der Microprozessor 216 auf den EPROM-residenten Kode im EPROM 222 zugreift, um aus dem NVRAM 228 einen Konfigurationskode (normalerweise ein Wort) zu lesen. Der Konfigurationskode bestimmt die Module, die die NEB mit entweder PSERVER oder RPRINTER Funktionalität versorgen. Obwohl das vorliegende Ausführungsbeispiel nur RPRINTER oder PSERVER Funktionskonfigurationen beinhaltet, können andere Konfigurationen dort verwendet werden, wo zum Beispiel die NEB 2 in einer davon verschiedenen LAN Einheit, wie einem Scanner oder einer Faximilemaschine installiert ist.
- Nach dem Lesen des Konfigurationskodes aus dem NVRAM 228 bildet der Microprozessor bei Schritt S8002 eine Konfigurationsmaske, deren Bitmuster dem gelesenen Konfigurationskode entspricht. Bei Schritt S8003 vergleicht ein im EPROM 222 residentes Lademodul die Konfigurationsmaske mit der Vielzahl der im EPROM 222 gespeicherten Firmwaremodule.
- Genauer beginnt bei Schritt S8004 ein Ablauf, durch den die EPROM-residenten Softwaremodule in bit-weiser Übereinstimmung mit den binären Ziffern des aus dem NVRAM 228 gelesenen Konfigurationskode gewählt werden. Wird bei Schritt S8004 festgestellt, daß das gerade überprüfte Bit des Bitmusters einem gespeicherten Modul entspricht, wird dieses Modul (bei Schritt S8005) zum Herunterladen ins DRAM 220 gewählt und der Ablauf geht bei Schritt S8006 zum nächsten Bit weiter. Genauso geht der Ablauf bei Schritt S8006 zum nächsten Bit, wenn bei Schritt S8004 entschieden wird, daß ein Bit des Bitmusters dem gespeicherten Modul nicht entspricht.
- Bei Schritt S8007 wird bestimmt, ob das bei Schritt S8004 überprüfte Bit das letzte Bit des Konfigurationsmasken - Bitmusters ist oder nicht. Ist das überprüfte Bit nicht das letzte Bit, springt der Ablauf zurück zu Schritt S8004, wo das nächste Bit des Bitmusters unter Berücksichtigung des nächsten gespeicherten Moduls überprüft wird. Wenn das letzte Bit des Konfigurationsmasken - Bitmusters überprüft wurde, werden die gewählten Softwaremodule bei Schritt S8008 vom EPROM 222 ins DRAM 220 heruntergeladen.
- Im vorliegenden Ausführungsbeispiel werden die Softwaremodule in folgender Reihenfolge geladen: SCSI Treiber; Verbindungsunterstützungsebene; Netzwerktreiber; Prescan; IPX/SPX; CNETX; SAPSERVER; MONITOR; CPSOCKET und Druckanwendungen (d. h. CPSERVER, CRPRINTER) (siehe Fig. 6).
- Nachdem alle den im NVRAM 228 gespeicherten Konfigurationskodes entsprechenden Softwaremodule zum DRAM 220 heruntergeladen wurden, übergibt die Ladefunktion die Pro grammausführungssteuerung bei Schritt S8009 dem Multitasking Programm MONITOR.
- Wie bereits erörtert, kann der im NVRAM 228 gespeicherte Konfigurationskode unter Verwendung von CPINIT fernverändert werden. Das bietet größere Flexibilität bei geringeren Modifikationen für CPSERVER oder CRPRINTER oder dort, wo auf Wunsch ganz neue Konfigurationen gesetzt werden sollen. Deshalb wird bei Schritt S8010 eine neue Konfiguration über das LAN 6 empfangen und bei Schritt S8011 ins NVRAM 228 geladen. Vorzugsweise wird der alte Konfigurationskode gelöscht oder mit dem neuen Konfigurationskode überschrieben. Dann bootet sich die NEB erneut selbst und geht zurück zu Schritt S1.
- In jedem lokalen Bereichsnetzwerk werden Daten zwischen Netzwerkgeräten in Paketen oder Rahmen übermittelt. Aber sogar im Kontext einer üblichen Netzwerkarchitektur wie Ethernet kann mehr als ein Rahmenformat unterstützt werden. So ist es, auch wenn bekannt ist, daß Ethernet Architektur verwendet wird, nicht möglich, die Anordnung von Daten innerhalb jedes physikalischen Rahmens oder jedes Informationspakets auf dem Ethernetbus zu bestimmen. Im einzelnen unterstützt Ethernet wie im vorigen beschrieben, folgende vier Datenanordnungen oder Formate: Ethernet 802.3, Ethernet II, Ethernet 802.2 und Ethernet SNAP.
- In herkömmlichen Netzwerkgeräten mit manuell wählbarer Betreiberschnittstelle ist es möglich, das Netzwerkgerät auf den einzelnen Rahmentyp, der auf dem Ethernet Netzwerk Verwendung findet, einzustellen. Im Zusammenhang mit NEB 2 für die ein Betreiberzugriff nur über die Netzwerkschnittstelle (oder über den seriellen Anschluß 218 in einer Testkonfiguration) vorgesehen ist, ist es nicht möglich, den Typ des Rahmenpakets zu setzen, ahne vorher den Zugriff des Betrei bers auf das lokale Bereichsnetzwerk zu erlauben, was natürlich Kenntnis des Rahmenpakettyps voraussetzt.
- Das PRESCAN Softwaremodul erlaubt es der NEB 2 unter Überwachung der verbreiteten Kommunikationen auf dem LAN Bus den Rahmenpakettyp, der gerade für die LAN Kommunikation auf dem LAN Bus verwendet wird, automatisch zu bestimmen, bis der passende Rahmenpakettyp erkannt ist. PRESCAN führt diese Bestimmung basierend auf erkennbaren Bestandteilen durch, die allen vier von Ethernet verwendeten Rahmenpakettypen gemeinsam sind.
- Detaillierter zeigt Fig. 9 den physikalischen Aufbau verschiedener, auf Ethernet verwendeter Rahmenpakete. Wie in Fig. 9 gezeigt, beinhaltet ein physikalischer Rahmen 411, der auf dem LAN Bus übermittelt wird, einen 6-Byte Abschnitt 412 zum Speichern der Ziel- MAC-Adresse und einen 6-Byte Abschnitt 413 zum Speichern der Quellen- MAC-Adresse. Diese 12 Byte enthalten die ersten 12 Byte von LAN Datenpaketen, ohne Rücksicht auf den für LAN Kommunikation verwendeten Rahmentyp. Auf diese 12 Byte folgt ein Datenabschnitt 414. Der Datenabschnitt setzt sich zusammen aus einer variablen Anzahl von Byte, die von den verschiedenen Rahmenpakettypen nicht für dieselben Zwecke verwendet werden und die für die verschiedenen Rahmenpakettypen nicht dieselbe Anzahl von Byte haben.
- Auf den unbestimmten Abschnitt 414 folgend, beinhaltet das LAN Kommunikationspaket ein IPX Kopfetikett 415, dessen erste zwei Byte immer den Wert "FFFF" (Hexadezimal) haben. Der Rest des Pakets 416 folgt dem IPX Kopfetikett und beinhaltet die Daten und andere Befehle, die jeden der verschiedenen Typen von LAN Kommunikationspaket charakterisieren.
- PRESCAN arbeitet durch Überwachung der LAN Kommunikation in Übereinstimmung mit jedem der verschiedenen Pakettypen, bis der gemeinsame Bereich (wie IPX Kopfetikett 415) in einem der Pakettypen erkannt ist. Dann speichert PRESCAN diesen Pakettyp für die Verwendung durch andere Netzwerk - Kommunikationsprogramme.
- Fig. 10 ist ein detailliertes Flußdiagramm, das das Vorgehen des PRESCAN Moduls zeigt. Bei Schritt S1001 holt der Microprozessor 216 das PRESCAN Modul aus dem EPROM 222 und lädt es ins DRAM 220 und beginnt dadurch die Ausführung des PRESCAN Moduls. Das PRESCAN Modul wird vor den SPX und IPX Modulen ausgeführt, auch wenn der Microprozessor 216 diese letzteren Module aus dem EPROM 222 holt und sie ins DRAM 220 lädt, bevor der in Fig. 10 gezeigte Arbeitsablauf vollendet ist. Genauer ist die eigentliche Arbeit der SPX und der IPX Programmodule von der Identifikation des Rahmenpakettyps durch PRESCAN abhängig und deshalb wird die Ausführung von SPX und IPX bis nach der Bestimmung des genauen Rahmenpakettyps durch PRESCAN verschoben.
- Bei Schritt S1002 verbindet sich PRESCAN gleichzeitig durch LSL mit allen vier Rahmenpakettypen nämlich Ethernet 802.3, Ethernet II, Ethernet 802.2 und Ethernet SNAP. Das heißt, PRESCAN konfiguriert LSL so, daß LSL für jedes LAN Kommunikationspaket eine jedem der vier Rahmenpakettypen entsprechende Datengruppe bietet. Danach wird PRESCAN inaktiv und erwartet eine Reaktivierung durch einen Interrupt vom Netzwerktreiber.
- Bei Schritt S1003 überwacht der Netzwerktreiber die Kommunikationen auf dem LAN Bus für Sendeverkehr. Sendeverkehr bedeutet, daß die Ziel- MAC-Adresse 412 nicht spezifiziert ist oder eine globale Spezifikation wie "FFFFFFFFFFF" (Hexadezimal) erhält. Der Netzwerktreiber überwacht weiterhin die Kommunikationen auf dem LAN Bus für Sendeverkehr (Schritt S1004) bis Sendeverkehr empfangen wird, womit der Ablauf zu Schritt S1005 weitergeht. Bei Schritt S1005 werden die MAC- Adressenfelder 412 und 413 aus dem empfangenen Datenpaket abgezogen und der Rest des Datenpakets zu LSL gebracht. Bei Schritt S1006 interpretiert LSL das Rahmenpaket in Übereinstimmung mit jedem der Rahmenpakettypen und stellt eine Datengruppe in Übereinstimmung mit jedem der Rahmenpakettypen zur Verfügung. Bei Schritt S1007 reaktiviert der Netzwerktreiber PRESCAN, das bestimmt, welche vom LSL zugeführte Datengruppe die passenden ersten zwei Byte eines IPX Kopfetiketts hat, nämlich "FFFF" (Hexadezimal). Das bedeutet, daß LSL wegen des variablen Datenbereichs 414 (variabler Datenbereich entsprechend jedem der verschiedenen Pakettypen(Fig. 9)) in Übereinstimmung mit nur einem der Rahmenpakettypen das IPX Kopfetikett genau identifiziert. Bei Schritt S1007 sucht PRESCAN nach dem IPX Kopfetikett und ist in Übereinstimmung mit derjenigen der vier Datengruppen die LSL zuführt, in der Lage einen Rahmenpakettyp, der gerade im LAN Bus verwendet wird zu bestimmen.
- Bei Schritt S1008 speichert PRESCAN den entsprechenden Rahmenpakettyp in einem allgemeinen Bereich ins DRAM 220, 50 daß der Rahmenpakettyp von anderen Netzwerkanwendungsprogramminen wie SPX und IPX verwendet werden kann. Danach leert PRESCAN bei Schritt S1009 seinen Speicherbereich im DRAM 220, so daß der Microprozessor 216 auf Wunsch diesen Datenbereich mit anderen Softwaremodulen überschreiben kann.
- In einem Multiprotokollvorgang betreiben zwei verschiedene Betriebssysteme LAN Kommunikationen über einen einzelnen lokalen Bereichsnetzwerkbus, verwenden dabei aber jeweils verschiedene Betriebsprotokolle. Zum Beispiel kommuniziert ein Novell-kompatibles Betriebssystem unter Verwendung eines SPX/IPX Betriebsprotokolls über einen LAN Bus, während ein UNIX-kompatibles Betriebssystem über den LAN Bus unter Verwendung eines TCP/IP Betriebsprotokolls kommuniziert. Andere Betriebssysteme, wie das AppleTalk® Betriebssystem von Apple Corporation verwenden jeweils verschiedene Betriebsprotokolle für die LAN Kommunikation über einen Netzwerkbus in einer Multiprotokoll - Netzwerkumgebung.
- Gewöhnlich ist die NEB 2 für die Kommunikation mit einem einzelnen Netzwerkbetriebssystem konfiguriert, aber sie kann auch dazu konfiguriert sein, in einer Multiprotokoll - Netz werkumgebung zu arbeiten, z. B. einer kombinierten Novell/UNIX Multiprotokoll - Umgebung. In dieser Konfiguration beinhaltet die NEB 2 einen Novell-kompatiblen Peripheriegeräteserver, wie den bereits erwähnten CPSERVER, der Auftragswarteschlangen in einem Dateiserver auf einem Novell Betriebssystem prüft, genauso wie einen UNIX-kompatiblen Peripheriegeräteserver, wie den bereits erwähnten CLPR (anwendungsspezifischer Zeilenferndrucker), der in Zusammenarbeit mit den von CPSERVER gemachten Prüfungen ebenfalls die Auftragswarteschlangen in einem Dateiserver für ein UNIX Betriebssystem prüft. Beide Server, der CPSERVER und CLPR bedienen allgemeine Peripheriehilfsmittel, hier ein einzelnes Peripheriegerät wie einen Drucker und zur Vermeidung von Konkurrenzsituationen bei der Steuerung der allgemeinen Hilfmittel sind beide Server in der Lage, die Steuerung des Peripheriegeräts unter Ausschluß anderer Server zu übernehmen, anderen Servern zu signalisieren, daß die Steuerung übernommen wurde und die Steuerung des Peripheriegerätes abzutreten, wenn die Auftragswarteschlange geleert wurde. Es ist jedem Server auch möglich, mit anderen Servern die Bestimmung durchzuführen, ob andere Server eine anhängige Nachfrage zur Verwendung des Peripheriegeräts haben. Für den Fall, daß es eine anhängige Nachfrage gibt, kann der Server die Steuerung des Peripheriegeräts am Ende eines aktuellen Auftrags abtreten, sogar wenn noch Aufträge in der Auftragswarteschlange verbleiben, um abwechselnde Verwendung des Peripheriegerätes durch jeden Server zu erlauben.
- Fig. 11 stellt die NEB 2 konfiguriert für Multiprotokoll - Netzwerkabläufe dar. Fig. 11 stellt eine kombinierte Novell/UNIX Multiprotokoll - Umgebung dar, aber selbstverständlich können andere Betriebsprotokolle als Ersatz dafür oder in Kombination mit den in Fig. 11 gezeigten verwendet werden. In Fig. 11 bildet die NEB 2 über eine elektrische Schnittstelle 321, Netzwerktreiber 322 und Verbindungsunterstützungsebene ("LSL") 324 eine Schnittstelle zum LAN Bus 6, genauso wie in Fig. 7 dargestellt. Novell-spezifische Betriebsprotokolle sind mit den Bezugszeichen 325, 326 und 327 angezeigt. Genauer, 325 und 326 sind ein SPX/IPX Betriebsprotokollstack (oder Turm), durch den Novell-kompatible Anwendungsprogramme durch LSL mit dem LAN Bus kommunizieren. Novell-kompatible Anwendungsprogramme, die einen Novell- kompatiblen Server wie CPSERVER beinhalten, sind bei 327 dargestellt. Die Novell-kompatible Software treibt Drucker 4 über einen Zweiweg-SCSI Bus 102 wie im vorigen beschrieben.
- UNIX kompatible Betriebsprotokolle sind mit den Bezugszeichen 335, 336 und 337 dargestellt. Genauer beinhalten 335 und 336 einen TCP/IP Betriebsprotokollstack (oder Turm), durch den Unix-kompatible Anwendungsprogramme über LSL mit dem LAN Bus 6 kommunizieren. UNIX kompatible Netzwerkanwendungsprogramme, einschließlich eines UNIX-kompatiblen Druckerservers wie CLPR sind mit 337 bezeichnet. Der Druckserver CLPR treibt den Drucker 4 über SCSI Bus 102 wie im vorigen beschrieben.
- Das PRESCAN Modul 339 bildet eine Schnittstelle mit LSL 324 zur Bestimmung des auf dem LAN Bus 6 für jedes der Betriebssysteme übermittelten Rahmenpakettyps. Genauer kann jedes der Betriebssysteme wie das UNIX Betriebssystem und das Novell Betriebssystem in einer Vielzahl von Rahmenpakettypen auf dem LAN Bus 6 kommunizieren. Wenn der LAN Bus 6 ein LAN Bus vom Ethernettyp ist, kann ein UNIX Betriebssystem mit jedem der drei Rahmenpakettypen, nämlich Ethernet 802.2, Ethernet II und Ethernet SNAP über das Ethernet kommunizieren. Genauso kann, wenn der LAN Bus 6 ein Ethernet Bus ist, ein Novell Betriebssystem über den LAN Bus durch jeden der vier Rahmenpakettypen nämlich Ethernet 802.2, Ethernet 802.3, Ethernet II und Ethernet SNAP kommunizieren. Es ist sowohl für das Novell Betriebssystem als auch für das UNIX Betriebssystem möglich, denselben Rahmenpakettyp zu verwenden; es sind die Betriebssystemprotokolle (SPX/IPX für Novell und TCP/IP für UNIX), die bestimmen, welches Betriebssystem in einer Multiprotokoll - Umgebung gerade auf dem LAN Bus kommuniziert.
- In der in Fig. 11 dargestellten Multiprotokoll - Umgebung bestimmt das PRESCAN Modul 339 den von jedem Betriebssystem verwendeten Rahmenpakettyp durch Wiederholung der in Fig. 10 gezeigten Schritte für jedes der Betriebssystemprotokolle (siehe vorangegangenen Abschnitt 4e). Zum Beispiel verbindet sich PRESCAN, wenn Novell-kompatible und UNIX kompatible Systeme die Multiprotokoll - Umgebung beinhalten, gleichzeitig durch LSL mit allen vier Rahmenpakettypen für einen SPX/IPX Protokollturm, um den Rahmenpakettyp mit dem genauen Kopfetikett in Übereinstimmung mit der von LSL zurückgeleiteten Datengruppe zu bestimmen. Dann verbindet sich PRESCAN gleichzeitig durch LSL mit allen drei Rahmenpakettypen, die einen TCP/IP Protokollturm haben. PRESCAN bestimmt den Rahmenpakettyp der vom UNIX-kompatiblen Betriebssystem verwendet wird, in Übereinstimmung mit der Datengruppe mit dem genauen Kopfetikett.
- Genauer, um anpassungsfähig und automatisch zu bestimmen, welcher von mehreren Rahmenpakettypen gerade für die LAN Kommunikation in einer Multiprotokoll-Netzwerkumgebung Verwendung findet, wird das PRESCAN Programmodul 339 vom EPROM 222 ins DRAM 220 heruntergeladen, wo der Microprozessor 216 das PRESCAN Modul ausführt. Zur Bestimmung des Rahmenpakettyps des ersten Betriebssystems konfiguriert PRESCAN zuerst LSL, um sich gleichzeitig an eine Vielzahl von Rahmenpakettypen zu binden, die einem ersten Betriebssystemprotokoll, wie dem SPX/IPX Betriebsprotokoll für Novell-kompatible Betriebssysteme entsprechen. Der Netzwerktreiber 322 überwacht den LAN Kommunikationsbus, um den Sendeverkehr für das erste Betriebssystem einzufangen. Als Reaktion auf das Einfangen eines solchen Verkehrs, liefert LSL mehrere Datengruppen für den eingefangenen Sendeverkehr, wobei jede der Datengruppen jeweils einem anderen aus der Vielzahl der Pakettypen entspricht. Das PRESCAN Modul 339 wird reaktiviert, um im voraus jede Datengruppe nach einem vorbestimmten Kopfetikett, wie dem SPX/IPX Kopfetikett abzutasten und speichert den Rahmenpakettyp der der Datengruppe mit dem vorbestimmten Kopfetikett entspricht zur Verwendung durch den ersten Betriebsprotokollturm.
- Zur Bestimmung des Rahmenpakettyps, der für das zweite Betriebssystem, wie ein UNIX Betriebssystem verwendet wird, konfiguriert PRESCAN LSL, um sich gleichzeitig an eine Vielzahl von Rahmenpakettypen zu binden, die dem zweiten Betriebssystemprotokoll, wie TCP/IP für ein UNIX Betriebssystem entsprechen. Der Netzwerktreiber überwacht den LAN Kommunikationsbus, um den Sendeverkehr für das zweite Betriebssystem einzufangen und liefert mehrere Datengruppen, die dem eingefangenen Sendeverkehr entsprechen, wobei jede Datengruppe jeweils einem der verschiedenen Pakettypen entspricht. Das PRESCAN Modul tastet im voraus jede Datengruppe nach dem Vorhandensein eines vorbestimmten Kopfetiketts, wie dem TCP/IP Kopfetikett für UNIX ab und speichert den Rahmenpakettyp, der der Datengruppe mit dem vorbestimmten Kopfetikett entspricht.
- Ist erst einmal bekannt, welche Rahmenpakettypen von jedem der Betriebssysteme in der Multiprotokollumgebung verwendet werden, können sowohl die Novell-kompatiblen Netzwerkanwendungsprogramme 327 wie CPSERVER, als auch die UNIX- kompatiblen Netzwerkanwendungsprogramme 337, wie CLPR beide auf dem LAN Bus 6 kommunizieren. Die beiden Anwendungsprogramme 327 und 337 kommunizieren auch untereinander, wie schematisch durch die Signalleitung 340 dargestellt. Durch die Verwendung der Signalleitung 340, die als ein im DRAM, auf das gemeinsam von den Programmen 327 und 337 zugegriffen wird, gespeichertes Steuerregister implementiert werden kann, können die Programme so miteinander kommunizieren, daß signalisiert wird, daß eines von ihnen die ausschließliche Steuerung des Druckers 4 übernommen hat, oder daß signalisiert wird, daß eines von ihnen eine anhänginge Nachfrage nach Verwendung des Druckers 4 hat, wie es ausführlicher im folgenden beschrieben wird.
- Im Betrieb untersucht ein erster Server, wie CPSERVER seine Betriebssystem - Auftragswarteschlange und erhält, wenn sich Druckinformation in der Auftragswarteschlange befindet, die Druckinformation von seinem Betriebssystem. In Koordination mit der Auftragswarteschlangen-Überprüfung durch den ersten Server überprüft der zweite Server, wie CLPR, seine Betriebssystem - Auftragswarteschlange und erhält, wenn dort in der Warteschlange Druckinformation vorliegt, diese Auftragsinformation vom Betriebssystem. Hat einer der Server genügend Information angehäuft, um die Verwendung des peripheren Druckers für sich zu beanspruchen, übernimmt er die ausschließliche Steuerung des Druckers und signalisiert den anderen Servern über die Signalleitung 340, daß er die ausschließliche Steuerung des Druckers hat. Das dient zur Vermeidung von Inhaltsproblemen, die dadurch entstehen, daß andere Server versehentlich versuchen könnten, Druckaufträge in den Drucker 4 einzubringen.
- Der erste Server behält die ausschließliche Steuerung des Druckers 4 bis seine Auftragswarteschlange geleert wurde. Wurde seine Auftragswarteschlange geleert, tritt der erste Server die Steuerung des Druckers 4 ab und danach kann dieser von jedem der anderen Server verwendet werden.
- Alternativ dazu kann der erste Server, auch wenn seine Auftragswarteschlange möglicherweise noch nicht geleert ist, wenn er das Ende eines Druckauftrags erreicht, andere Server über die Signalleitung 340 abfragen, um zu bestimmen, ob die anderen Server Nachfragen nach Benutzung von Drucker 4 anhängig haben. Haben andere Server Nachfragen anhängig, kann der erste Server zeitweilig die Steuerung des Druckers abtreten und so eine abwechselnde Verwendung des Peripheriegeräts durch jeden der anderen Server erlauben. In diesem Fall signalisiert auch der erste Server, wenn er die Steuerung des Druckers abgetreten hat, daß er eine Nachfrage nach Verwendung des Druckers anhängig hat.
- Wie im vorigen erwähnt, erlaubt NetWare® nur einem einzelnen Netzwerkserver seine Dienste auf dem LAN Bus von jedem nicht-Dateiserver - Netzwerkknotenpunkt aus anzubieten. Aber die NEB 2 stellt in der vom nicht-preemptiven MONITOR eingerichteten multi-tasking Umgebung mehr als einen Netzwerkserver zur Verfügung. Genauer stellt NEB 2 die Dienste der Druckserver (CPSERVER, CRPRINTER oder CLPR) genauso zur Verfügung wie die Dienste des Socketservers (CPSOCKET). Das SAPSERVER Programmodul ermöglicht es beiden Netzwerkservern ihre Dienste von einem einzelnen Netzwerkknotenpunkt, hier der NEB, aus in einem LAN Kommunikationssystem anzubieten, das normalerweise nur das Anbieten eines einzelnen Netzwerkserver von jedem Knotenpunkt aus unterstützt. SAPSERVER leistet das durch Handeln als Ersatzserver (oder SAP'ing Einheit) von der NEB aus, die die Dienste jedes ihrer Clientserver, hier CPSOCKET und CPSERVER verzahnt anbietet.
- SAPSERVER hört das Netzwerk auf verbreitete SAP Anfragen ab, die zu einem seiner Klienten geleitet werden und antwortet mit dem Servertyp seines Klienten, dem Servernamen und einer Kommunikationssocketnummer, durch die der Klient direkte LAN Kommunikation einrichten kann.
- Fig. 12 ist eine Ansicht zur Erklärung der Softwarestruktur von SAPSERVER und Fig. 13 ist ein Flußdiagramm zur Erklärung der Arbeitsweise von SAPSERVER.
- Wie in Fig. 12 gezeigt, ist SAPSERVER in der Softwarehierarchie in der Anwendungsebene für Software positioniert, so daß es unmittelbar mit der SPX und IPX Netzwerkebene der Software kommunizieren kann. SAPSERVER handelt wie eine Ersatz SAP'ing Einheit für jeden seiner Klienten, die im Fall der NEB 2 aus dem Socketserverprogramm CPSOCKET und dem Druckserverprogramm CPSERVER bestehen, wie durch die Konfiguration auf der Platine festgelegt. SAPSERVER kann auch so konfiguriert werden, daß es andere Klienten bedient, wie im Diagramm in "Klient N" dargestellt.
- Wie in Fig. 13 gezeigt, beginnt der Microprozessor 216, nachdem er das SAPSERVER Programmodul aus dem EPROM 222 geholt und ins DRAM 220 gespeichert hat, die Ausführung des SAPSERVER Programms und konfiguriert es zum Abhören nach SAP eigenen Sendungen zum SAP eigenen Socket (Schritt S1301). Bei Schritt S1302 gibt, nachdem der Microprozessor 216 das CPSOCKET Modul aus dem EPROM 222 geholt und es zur Ausführung im DRAM 220 gespeichert hat, das CPSOCKET Programmodul eine Aufforderung an SAPSERVER heraus, CPSOCKET Dienste anzubieten. In Übereinstimmung mit dem Standard SAP Protokoll, beginnt SAPSERVER in z. B. Minutenintervallen regelmäßiges Anbieten für CPSOCKET (Schritt S1303).
- Bei Schritt S1304 gibt CPSERVER, nachdem Microprozessor 216 das CPSERVER Modul aus dem EPROM 222 geholt und es zur Ausführung vom DRAM 220 aus gespeichert hat, an SAPSERVER eine Aufforderung zum Anbieten von CPSERVER Diensten durch SAPSERVER über das Netzwerk heraus. SAPSERVER beginnt mit dem regelmäßigen SAP Anbieten der Dienste von CPSERVER und führt auch das Anbieten der Dienste für CPSOCKET fort. Wie in Schritt S1305 gezeigt, sind die Angebote verzahnt.
- Schritt S1306 bestimmt, ob eine gesendete Aufforderung am SAP eigenen Socket (d. h. Socket Nummer 453) empfangen wurde. Bis eine gesendete Aufforderung am eigenen Socket empfangen wurde, fährt SAPSERVER einfach damit fort, die Dienste von CPSERVER und CPSOCKET verzahnt anzubieten. Wird aber eine Aufforderung am eigenen Socket empfangen, entscheidet SAPSERVER bei Schritt S1307, ob die gesendete Aufforderung für die Dienste eines seiner Klienten, hier CPSOCKET oder CPSERVER, bestimmt ist. Ist die verbreitete Aufforderung nicht für einen der SAPSERVER Klienten bestimmt, geht der Ablauf einfach zurück zu Schritt S1305, wo SAPSERVER damit fortfährt, verzahnte Angebote für seine Klienten abzugeben. Andererseits geht der Ablauf zu Schritt S1308, wenn die gesendete Aufforderung für einen der SAPSERVER Klienten bestimmt ist.
- Bei Schritt S1308 reagiert SAPSERVER mit einem IPX Paket auf der eigenen Socketnummer 453. Das IPX Paket enthält den Servertyp seines Klienten, den Servernamen und eine Kommunikations-Socketnummer. Das IPX Paket bezeichnet auch ein Kommunikationssocket über das der gesendete Aufforderer direkte Kommunikation mit dem Klienten einrichten kann. Danach kehrt SAPSERVER zu Schritt S1305 zurück und fährt fort, jeden seiner Klienten verzahnt anzubieten.
- Bei Schritt S1309 richtet der gesendete Aufforderer direkte SPX Kommunikation mit dem in der verbreiteten Aufforderung über das Kommunikationssocket, bezeichnet in Schritt S1308, bezeichneten Klienten ein. Wo die Dienste des Druckservers CPSERVER verlangt werden, lautet in der vorlie genden Konfiguration die Socketnummer 8060. Andererseits lautet die Socketnummer, wenn die Dienste des CPSOCKET Servers verlangt werden, 83B4 für Kommunikation und 83B5 für Verbindung. Direkte Kommunikation erfolgt dann, wie im weiteren genauer beschrieben.
- Fig. 14 ist ein Flußdiagramm, das zeigt, wie ein Netzwerkadministrator vom PC 14 aus CPINIT zum Initialisieren und Konfigurieren und später zum Rekonfigurieren von sowohl NEB 2 als auch Drucker 4, in dem sich die NEB befindet, verwenden kann.
- Bei Schritt S1401 verwendet das CPINIT Dienstprogramm ein Dienstanbietprotokoll (SAP) auf dem Netzwerk zur Bestimmung, welche Druckergeräte im Netzwerk zur Beantwortung der CPINIT Anfragen zur Verfügung stehen Auf jeder der NEB Platinen antwortet CPSOCKET mit Servertyp, Servernamen und einer eindeutigen Socketnummer, mit der auf jede NEB direkt zugegriffen werden kann und einer Anzeige, ob die NEB konfiguriert werden muß oder nicht.
- Bei Schritt S1402 listet CPINIT alle NEB und deren dazugehörigen Geräte auf und stellt sie in Menüform vor, so daß sie vom Systemadministrator ausgewählt werden können. Nach der Auswahl fordert CPINTT die aktuelle Konfiguration der angewählten NEB an (Schritt S1403). Genauer schickt CPINIT über die LAN Schnittstelle eine Aufforderung zur angewählten NEB. An der NEB empfängt CPSOCKET die Aufforderung nach Konfigurationsinformation von der LAN Schnittstelle. CPSOCKET sammelt die erforderliche Konfigurationsinformation und leitet sie über die LAN Schnittstelle zu CPINIT am PC 14 des Systemadministrators (Schritt S1404). Bei Schritt S1405 zeigt CPINIT ein Menü der aktuellen Konfiguration der angewählten NEB.
- Bei den Schritten S1406 bis S1408 spezifiziert der Systemadministrator eine gewünschte Konfiguration für die angewählte Platine. Genauer wird die Konfiguration auf dem PC 14 des Systemadministrators unter Zuhilfename einer Benutzer schnittstelle, wie einer Menüanzeige spezifiziert. Folgende Konfigurationsparameter werden vom Betreiber zum Setzen der Konfigurationsinformation ausgewählt: (1) Protokollinformation (Schritt S1406), (2) NEB Name (Schritt S1407) und (3) Anwendungstyp (wie CPSERVER) (Schritt S1408).
- Unter Protokollinformation spezifiziert der Systemadministrator eine von vier verschiedenen Protokollebenen: "NICHT" bei dem die Protokollierung ausgeschaltet wird; "AUTO" bei dem grundlegende Druckerverwendungsstatistikwerte einmal am Tag protokolliert werden; "FEHLER" bei dem grundlegende Druckerverwendungsstatistikwerte und Fehlerereignisse protokolliert werden, sobald sie vorkommen; und "AUFTRAG" bei dem alle grundlegenden Druckerverwendungsstatistikwerte, Fehlerereignisse und Auftrags- Start/Ende Informationen bei ihrem Auftreten protokolliert werden. Nach Auswahl der Protokollpriorität muß der Systemadministrator auch die maximale Protokollgröße festlegen (außer wenn "NICHT" gewählt wurde), um es so dem Drucker zu ermöglichen, diesen Platzbedarf auf seiner Festplatte (oder seiner NVRAM 111 im Fall, daß es im Drucker keine Festplatte gibt, oder in NVRAM 228 in der NEB) zum Speichern von Protokollinformation zu reservieren.
- Unter NEB Namensinformation (Schritt S1407) kann der Systemadministrator der NEB einen alphanumerischen Namen zuweisen, einen beschreibenden Namen wie "Laser im 2ten Stockwerk". Der beschreibende Name wird von der NEB in ihrem NVRAM gespeichert und von der NEB und anderen Netzwerkgeräten zur Unterstützung bei der Identifikation verwendet.
- Unter Wahl des Anwendungstyps (Schritt S1408) wählt der Systemadministrator, ob die NEB als ein CPSERVER oder als ein CRPRINTER konfiguriert wird. Wird CPSERVER gewählt, ist es nötig, den Namen des der NEB zugeordneten Druckservers, Passwort, Anwendungspuffergröße, Warteschlangendienstmodus, Formnummern, Druckernummer des Druckers, in dem sich die NEB befindet, Name(n) der Druckerwarteschlange(n), die von der NEB bedient wird und den Namen des primären Dateiservers zu bestimmen. Wird CRPRINTER gewählt, ist es für den Systemadministrator nötig, den Namen des Druckservers, durch den die NEB ihre Druckinformation erhält, die Druckernummer des Druckers, in dem sich die NEB befindet, Name(n) der Druckerwarteschlange(n), die von der NEB bedient wird und den Namen des primären Dateiservers zu bestimmen.
- Bei Schritt S1409 schickt CPINIT die neue Konfiguration über das Netzwerk LAN zur NEB. An der angewählten NEB empfängt CPSOCKET die neue Konfigurationsinformation und speichert sie im NVRAM 228 (Schritt S1410).
- Zur Vervollständigung der Konfiguration der NEB sollte die NEB neu gebootet werden. Der Systemadministrator gibt einen Befehl über CPINIT heraus, das daraufhin der angewählten NEB über das LAN den Befehl zum neuen Booten schickt (Schritt S1411). An der NEB empfängt CPSOCKET den Befehl zum neuen Booten und bootet die NEB neu in der neuen Konfiguration (Schritt S1412).
- CPCONSOL ist ein vom PC 14 des Systemadministrators ausgeführtes Dienstprogramm, durch das die NEB zu maximaler Steuerung und Leistungsfähigkeit des Netzwerkdruckers verwendet werden kann. Durch Verwendung von CPCONSOL ist es möglich, Routine- und dauernde Wartungsparameter von ferne zu verfolgen. Zum Beispiel kann bestimmt werden, ob der Toner zuwenig ist, der Papierschacht leer ist, ob sich eine Seite staut oder ob der Drucker überhaupt nicht anspricht. CPCONSOL kann auch die Anzahl aller gedruckten Seiten verfolgen, um Routine- und Vorsichtsmaßnahmen tabellarisch zusammenzustellen, genauso wie einen eventuellen Druckerersatz planen.
- Das CPCONSOL Dienstprogramm läßt den Systemadministrator auf Statistiken über die Arbeit des Druckers, genauso wie auf Leistungsfähigkeit der Netzwerkkommunikationen zugreifen. CPCONSOL kann die Gesamtzahl der gedruckten Seiten bestimmen, genauso wie die durchschnittliche Rate von Seiten pro Minute, den Durchschnitt der Seiten pro Tag und andere statistische Werte, die die Überwachung der Arbeitseffektivität des Druckers ermöglichen.
- Die Netzwerkstatistiken erlauben es, die Effektivität der Kommunikationen auf dem Netzwerk, die Häufigkeit der Übertragung und des Empfangs von Fehlern genauso wie Wählwiederholungen, Überlauf- und Unterlauffehler zu messen.
- Wenn mehrere Drucker installiert werden, kann CPCONSOL von ferne die Verwendung jedes Druckers verfolgen sowohl in Hinsicht auf alle Aufträge als auch in Hinsicht auf die Gesamtzahl der Seiten. Das ermöglicht das Verfolgen der Aufträge hinsichtlich direkter Rechnungsstellung der Abteilung für Zwecke wie Papierverbrauchskosten.
- Durch fortwährendes Überwachen kann CPCONSOL bei der Entscheidung helfen, ob Netzwerkdrucker zur besseren Effektivität abgezogen oder ob ihre Anzahl vermehrt werden soll, genauso bei der Vorhersage eines nötigen Ersatzes.
- CPCONSOL kann auch vorgegebene (sichere) Umgebungsparameter setzen, die sicherstellen, daß der Drucker vor jedem Druckauftrag gleich konfiguriert wird (siehe nachstehenden Abschnitt 4m). Der Benutzer kann natürlich die Konfiguration innerhalb des Druckauftrags modifizieren.
- Fig. 15 ist ein detailliertes Flußdiagramm, das die Vorgehensweise von CPCONSOL zeigt. Wie CPINIT verbreitet sich CPCONSOL zuerst auf dem LAN, um Identifizierung aller mit dem LAN verbundenen NEB Geräte zu verlangen (Schritt S1501). An den NEBs antwortet CPSOCKET mit den entsprechenden Netzwerk ID und den den NEBs zugeordneten Kommunikationssocket-Nummern (Schritt S1502). CPCONSOL sammelt diese Antwortinformation für alle NEBs und zeigt dem Administrator eine Liste der antwortenden NEBs an (Schritt S1503). Der Administrator wählt daraus eine NEB, woraufhin CPCONSOL unter Zuhilfenahme von LAN Sendungen eine direkte Netzwerkverbindung mit der gewählten NEB zur Netzwerk ID und den Socketnummern einrichtet.
- Ist die direkte LAN Kommunikation mit der angewählten NEB einmal eingerichtet, arbeitet CPCONSOL mit Hilfe einer Benutzerschnittstelle, wie einer Menüanzeige (Schritt S1504). Das Menü teilt die Funktionen von CPCONSOL in fünf Gruppen: Umgebung, Netzwerk, Protokoll, Anwendungssteuerung und Druckerstatus. Diese Funktionsgruppen werden in den folgenden Abschnitten detailliert.
- Die Wahl der Umgebung erlaubt es CPCONSOL, die aktuelle Umgebung des gewählten Druckers anzuzeigen (Schritt S1506) und die neue Umgebung zu modifizieren und zu speichern (Schritt S1507). Die Umgebung wird in vier Gruppen weiterunterteilt: Gemeinsame Umgebung, Schnittstelle, Steuerung und Qualität.
- Bei der Wahl von Gemeinsamer Umgebung initiiert CPCONSOL eine LAN Anfrage an die angewählte NEB bezüglich des gesetzen Emulationsmodus, Zuführung und des Zählens aller Seiten. CPSOCKET an der angewählten NEB empfängt die Anfrage, erhält die gewünschte Information von dem angeschlossenen Drucker über die Zweiweg-SCSI Schnittstelle und schickt die Information über die LAN Schnittstelle zu CPCONSOL im PC 14 des Administrators. Dort zeigt CPCONSOL eine Auflistung an, die den Emulationsmodus, die Zuführung und Gesamtzahl der Seiten zeigt.
- Bei der Wahl des Menüpunkts Schnittstelle initiiert CPCONSOL eine LAN Anfrage an die angewählte NEB bezüglich Schnittstelleninformation. Wenn die NEB antwortet, veranlaßt CPCONSOL die Auflistung der Schnittstelle, um die Schnittstelle anzuzeigen, die gerade für den gewählten Drucker gesetzt ist.
- Auch die Wahl des Menüpunkts Steuerung veranlaßt CPCONSOL, eine LAN Anfrage an die angewählte NEB zu initiieren, die daraufhin ihren Drucker über den Zweiweg-SCSI Bus nach Einstellungen des Druckers fragt. Die Druckereinstellungen werden über die LAN Schnittstelle an CPCONSOL zurückgegeben, das die aktuellen Einstellungen des Druckers in Übereinstimmung mit Tabelle 3 anzeigt.
- Steuerinformation Beschreibung
- Kontrast Druckerkontrasteinstellung.
- Auszeit Das ist das Setzen der im Drucker gesetzten Auftrags- Auszeit.
- Meldung Sprache, in der Meldungen angezeigt werden.
- Kopie Anzahl der Kopien, die von jeder Seite gedruckt werden sollen.
- Offset, X Das Offset, wenn überhaupt vorhanden, in horizontaler Richtung von der oberen linken Ecke der Seite aus, in Millimetern
- Offset Y Das Offset, wenn überhaupt vorhanden, in vertikaler Richtung von der oberen linken Ecke der Seite aus, in Millimetern.
- Fehlersprung Zeigt an, ob der Drucker auf automatisches oder manuelles Fehlerskipping gesetzt ist:
- Summer An- oder Ausschalten des Druckersummers
- Tonertiefstand Ist wenig Toner vorhanden, wird WARNUNG angezeigt
- 28-Fehler Erfassung des Speicher-voll- Fehlers, kann an- oder abgeschaltet werden
- Papier Im Drucker verfügbare Papiergrößen
- Aktuelles Papier Aktuell im Drucker gewählte Papierkassette.
- Bei der Wahl der Gruppe Qualität zeigt CPCONSOL, nach Abfrage und Empfang von Information von der angewählten NEB über die LAN Schnittstelle, die Einstellungen für Wahlmodus, Verbesserung, Speicherverwendung und Niedrig- Auflösungsmodus an.
- Die Wahl von Netzwerk ermöglicht CPCONSOL das Anzeigen der kompilierten Statistiken über die Leistung des Netzwerkdruckers auf dem Netzwerk (Schritt S1509) und die Modifizierung und Speicherung der neuen Netzwerkgruppe (Schritt S1510). Diese sind in medien-abhängig und medien-unabhängig bezogene Übertragungs- und Empfangsstatistiken unterteilt. CPCONSOL kann diese Statistiken auch löschen.
- Wenn der Systemadministrator die Gruppe Netzwerk wählt, initiiert CPCONSOL eine Netzwerkanfrage über die LAN Schnittstelle zur angewählten NEB. An der NEB antwortet CPSOCKET auf die Anfrage und holt die benötigte Leistungsinformation. Die Information wird von CPSOCKET gesammelt und über die LAN Schnittstelle zu CPCONSOL im PC 14 des Administrators zurückgeschickt. Im PC 14 des Administrators zeigt CPCONSOL die medien-abhängige und die medien-unabhängige Übertragungs- und Empfangsinformation an.
- Medienabhängige Empfangs- und Übertragungsstatistiken sind in den Tabellen 4 und 5 zusammengefasst.
- Medien-abhängige Empfangsstatistik Beschreibung
- CRC Gesamtzahl der zyklischen Redundanz Überprüfungsfehler, erfasst durch Fern-LBP
- Vermisste Rahmen Anzahl der Pakete, die wegen Platzmangels im Empfangspuffer vermisst werden, oder der Regler ist im Überwachungsmodus
- Ausrichtungsfehler zeigt an, daß das hereinkommende Paket nicht an einer Byte Grenze endete.
- Empfang unmöglich Regler war im Überwachungsmodus
- Asynchronität wird gesetzt, wenn interne Mehrfachzugriffs -oder Kollisionssignale im Kodierer/Dekodierer erzeugt werden.
- Überfließen Puffer hatte während des Datenempfangs aus dem Netzwerk keinen Platz mehr
- Überläufe Der Puffer regierte nicht schnell genug, um die Daten am Abfluß aus dem Netzwerk zu hindern.
- Medienabhängige Übertragungsstatistik Beschreibung
- Kollisionen totale Paketkollision
- Herzschlag Anzahl der Fehler des Transceivers bei der Übertragung eines Kollisionssignals nach der Übertragung eines Pakets mit diesem gesetzten Bit
- "Out of Window" Ruf wird für die Anzahl der Kollisionen gesetzt, die nach der Slotzeit auftraten
- Unterläufe Der Puffer reagierte nicht schnell genug, um die Daten am Zufluß ins Netzwerk zu hindern.
- Medienunabhängige Statistiken zeigen die Netzwerkstatistiken an, die nicht auf die Übertragungsmedien bezogen sind. Solche Statistiken sind eine gute Zusammenfassung aller Druckeraktivitäten auf dem Netzwerk und werden in Tabelle 6 zusammengefasst.
- Medien unabhängige Parameter Beschreibung
- Abbruch Rx Rahmen generelle Empfangsprobleme
- Gesamt Rx Rahmen Gesamtanzahl der Empfangsrahmen
- Rx zu groß Empfangsrahmen größer als erwartet
- Rx zu klein Empfangrahmen kleiner als erwartet
- Abbruch Tx Rahmen generelle Übertragungsprobleme
- Gesamt Tx Rahmen Gesamtanzahl der übertragenen Rahmen
- Die Wahl der Gruppe Protokoll ermöglicht CPCONSOL die Anzeige des Satzes auftragsbezogener Statistiken, die die NEB ansammelt (Schritt S1512) und die Modifizierung und Speicherung der neuen Protokollgruppe (Schritt S1513). Die angezeig ten Daten beinhalten Auftragsdurchschnittswerte, Seitendurchschnittswerte und Leistungsdaten. CPCONSOL kann auch mit diesem Menü die Gesamtzahlen auf Null zurücksetzen. Zusätzlich zu den Statistiken kann die NEB ein Protokoll für jeden Druckauftrag erzeugen, das Protokoll auf eine Festplatte schreiben oder die Logdatei löschen, wie von CPINIT konfiguriert.
- Wenn der Systemadministrator die Option Gruppe Protokoll wählt, richtet CPCONSOL eine Anforderung für die Logdatei über die LAN Schnittstelle an die angewählte NEB. An der NEB empfängt CPSOCKET die Anforderung und weil CPSOCKET die Logdatei auf dem Drucker speichert, verlangt es diese über die Zweiweg-SCSI Schnittstelle vom Drucker. Die NEB holt die Logdatei von wo immer sie gespeichert ist (z. B. auf ihrer Festplatte 114), und liefert die Datei über die Zweiweg SCSI Schnittstelle zu CPSOCKET. CPSOCKET gibt die Logdatei dann über die LAN Schnittstelle auf das Netzwerk zum Empfang durch CPCONSOL.
- Die Logdatei beinhaltet Werte für die Statistik, die in drei Kategorien geteilt sind: täglich, kumulativ und Durchschnitt. Täglich zeigt die Werte für den aktuellen Tag. Kumulativ zeigt die Gesamtwerte aller Tage seit dem letzten Reset oder seit dem Anschalten bei einem Drucker ohne Festplattenlaufwerk. Durchschnitt ist der kumulative Gesamtwert geteilt durch die Anzahl der Tage seit dem letzten Reset. Für jede der drei Kategorien unterhält die NEB Gesamtwerte für die folgenden Werte (wenn nicht CPINIT das Protokollevel auf "KEINE" gesetzt hat): Tage (Anzahl der Tage seitdem ein Reset ausgegeben wurde oder seit dem Einschalten), gedruckte Seiten, abgearbeitete Druckaufträge, Stillstandzeit und Druckzeit.
- CPCONSOL holt auch die gespeicherte Logdatei zur Ansicht und zum Drucken auf den Bildschirm. Die Logdatei ist in umgekehrt chronologischer Ordnung und enthält die folgenden Aufzeichnungstypen. Der genaue Inhalt der Logdatei ändert sich in Übereinstimmung mit dem von CPINIT gesetzten Protokollierungsgrad wie in Tabelle 7 zusammengefasst. Tabelle 7
- Anwendungssteuerung erlaubt es CFCONSOL die aktuelle Konfiguration der NEB innerhalb des Netzwerk (als entweder CPSERVER oder CRPRINTER) (Schritt S1515) zu zeigen und diese Anwendung zu aktivieren/deaktivieren, zu modifizieren oder zu speichern (Schritt S1516). Zugriff auf die angewählte NEB erfolgt über die LAN Schnittstelle, die auf die CPCONSOL Aufforderung durch Setzen eines Ergebniskodes auf die LAN Schnittstelle antwortet.
- Dieser Menüpunkt erlaubt es CPCONSOL, den aktuellen Status des mit der NEB verbundenen Druckers anzuzeigen (Schritt S1518) und den neuen Druckerstatus zu modifizieren und zu speichern (Schritt S1519). CPCONSOL leitet über die LAN Schnittstelle eine Statusabfrage zur angewählten NEB. An der angewählten NEB empfängt CPSOCKET die Statusabfrage und schickt über die Zweiweg SCSI Schnittstelle eine Abfrage nach der nötigen Statusinformation zum Drucker. CPSOCKET empfängt die Statusinformation vom Drucker über die Zweiweg SCSI Schnittstelle und leitet die Information zurück zu CPCONSOL, wo sie auf dem PC 14 des Systemadministrators angezeigt wird. Wie in Tabelle 8 zusammengefasst, gibt es 29 mögliche Statuszustände, von denen "NORMAL" am häufigsten ist.
- Status Bedeutung
- NORMAL Online, bereit für Druck oder druckend
- OFFLINE Off-line, nicht druckbereit
- ENGINETEST Maschinenüberprüfung erfasst
- MAINTRUNNING Wartungsprogramm läuft
- PAPEROUT Papierschacht leer
- PRINTEROPEN Druckerdeckel ist offen
- PAPERJAMx Papierstau an Stelle "x"
- NOEPCART Keine EP Kartusche vorhanden
- TONERLOW Niedrigstand in Tonerkartusche
- ULFEED U-L Zufuhr
- LOADx Ihr Papier wird geladen
- LOADnn Papier "nn" laden
- FEEDx Papier zuführen [x = Botschaft]
- FEEDnn Papier "nn" zuführen
- OCx CaPSL Ausgabe Ruf [n = Botschaft]
- SETUPPER Umschalten auf oberen Schacht
- TRAYFULL Papierausgabeschacht ist voll
- PAGEFULL Die Seite ist voll
- LINEERROR22 22 Zeilenfehler (s. Druckerhandbuch}
- LINEERROR40 40 Zeilenfehler (s. Druckerhandbuch)
- DLMEMORYFULL Herunterladespeicher voll
- WKMEMORYFULL Arbeitsspeicher voll
- JOBREJECT Auftrag wurde nicht angenommen
- PRINTCHECK Drucküberprüfungsfehler
- OPTREMOVAL Wegnahme der Option
- FONTFULL Fontkonfigurationen sind voll
- WARMINGUP Drucker wird hochgefahren
- SERVICE CALL Rufe Service
- TRANSIENT Vorkommen eines vorübergehenden, nicht identifizierten Fehlers
- CPSOCKET ist ein Anwendungsprogramm, das vom DRAM 220 aus auf der NEB 2 in der vom nicht-preemptiven MONITOR zur Verfügung gestellten Multi-Tasking Softtime-Umgebung läuft. CPSOCKET veranlasst SAPSERVER, den auf der LAN von der NEB gesendeten Socket auf Sendungen von Programmen von Klienten wie CPINIT, CPCONSOL und DOWNLOADER zu überwachen.
- CPSOCKET ist für die interne Konfiguration der NEB verantwortlich, wie die Konfiguration als entweder ein PSERVER oder ein RPRINTER. Konfigurationen werden, wie im vorigen beschrieben, auf die Aufforderung von CPINIT hin gesetzt, aber es ist CPSOCKET, das diese Konfigurationsbefehle empfängt und NVRAM 228 physikalisch ändert.
- CPSOCKET verwaltet auch eine Liste von Standards für die Geräteumgebung (d. h. eine garantiert gesicherte Umgebung, siehe nachstehenden Abschnitt 4m), lädt beim Anschalten des Geräts (siehe vorstehenden Abschnitt 4d) die Grundkonfigurationsinformation für den Drucker und für die NEB (zum Beispiel Fonts und Emulationen) herunter, stellt Gerätestatusinformation, Statistiken und Protokollinformation als Reaktion auf CPCONSOL Anfragen zur Verfügung und bietet Reset, Re-Boot und Möglichkeiten Firmware herunterzuladen.
- Fig. 16A und 16B beinhalten ein detailliertes Flußdiagramm, das die Arbeit des CPSOCKET Programms zeigt. Bei Schritt S1601 überträgt nach erfolgreicher Strom-an-Selbstüberprüfung (POST) der Microprozessor 216 das CPSOCKET Programmodul von seinem Speicherplatz im EPROM 222 in geeignete Speicherplätze im DRAM 220. Während der Übertragung konfiguriert der Microprozessor 216 das CPSOCKET Programm in Über einstimmung mit der im NVRAM 228 gespeicherten Konfigurationsinformation für das CPSOCKET Programm. So ist es zum Beispiel möglich, wahlweise bestimmte Teile des CPSOCKET Programmoduls in Übereinstimmung mit gewünschten Komplexitätsgraden zu aktivieren, wobei diese Komplexitätsgrade im NVRAM 228 gespeichert sind.
- Bei Schritt S1602 beginnt die NEB die Ausführung des CPSOCKET vom DRAM 220 aus. CPSOCKET wird vom nicht-preemptiven MONITOR in einer Multi-Tasking Softtime Umgebung ausgeführt, was nicht-preemptive Ausführung anderer Anwendungsprogramme wie CPSERVER erlaubt, ohne daß ein Anwendungsprogramm die Steuerung des Microprozessors zum Zweck des Ausschlußes anderer Anwendungsprogramme übernimmt.
- Bei Schritt S1603 sendet CPSOCKET seine Existenz mit Hilfe von Dienstanbietprotokollsendungen (SAPSERVER), die eine zugehörige Socketnummer beinhalten, über die LAN Schnittstelle (siehe vorstehenden Abschnitt 4 g). Weil andere Server in der bei Schritt S1602 eingerichteten Multi-tasking Umgebung arbeiten und weil die Netware®-kompatible Software nur einem einzelnen Nicht-Dateiserver Server das Anbieten von einem einzelnen Netzwerkknoten wie der NEB aus erlaubt, sendet CPSOCKET seine SAP Angebote über das SAPSERVER Programm. Wie im vorstehenden Paragraphen 4 g ausführlich beschrieben, erlaubt das SAPSERVER Programm zwei Netzwerkservern das Senden von einem einzelnen Netzwerkknotenpunkt aus, auch wenn das Netzwerk nur einzelne Server für jeden Netzwerkknotenpunkt unterstützt.
- Bei Schritt S1604 empfängt CPSOCKET auf der zugehörigen Socketnummer 453 eine Sendeaufforderung von einem Klienten zum Beispiel CPINIT oder CPCONSOL. CPSOCKET antwortet dem Klienten (Schritt S1605) mit einem IPX Paket auf demselben Socket.
- Bei Schritt S1606 richtet der Klient direkte SPX Kommunikation mit CPSOCKET über eine CPSOCKET bereits vorher zugeordnete Socketnummer ein, hier Socketnummer 83B4 für Kommunikation oder 83B5 für Verbindung. In Übereinstimmung mit dieser direkten Verbindung empfängt und interpretiert CPSOCKET Klientenanforderungen und/oder Befehle, die über die LAN Schnittstelle empfangen werden, überwacht den Druckerstatus über die Zweiweg SCSI Schnittstelle, empfängt und schickt über die Zweiweg SCSI Schnittstelle Statusbefehle und/oder Anfragen zum Drucker, rekonfiguriert die NEB und die NEB Konfigurationsparameter und schickt angeforderte Information über die LAN Schnittstelle zum Klienten. Diese Schritte werden nachstehend in Verbindung mit den Schritten S1607 bis S1620 der Fig. 1-6A und 16B ausführlicher beschrieben.
- Wenn, genauer, bei Schritt S1607 CPSOCKET bestimmt, daß ein Konfigurationsbefehl empfangen wurde, geht der Ablauf weiter zu Schritt S1608, bei dem die Konfigurationsbefehle ausgeführt werden und das Ergebnis dem Klienten über die LAN mitgeteilt wird. Konfigurationsbefehle sind in Tabelle 9 aufgelistet und betreffen im allgemeinen die Konfiguration der NEB Platine als entweder ein CPSERVER oder ein CRPRINTER in Übereinstimmung mit den vom CPINIT Programm initiierten Konfigurationsbefehlen. Tabelle 9: Konfigurationsbefehle
- Wenn bei Schritt S1609 CPSOCKET bestimmt, daß ein Geräte- Informationsbefehl empfangen wurde, geht der Ablauf zu Schritt S1610, bei dem diese Geräte-Informationsbefehle ausgeführt und die Ergebnisse zur LAN Schnittstelle gegeben werden. Allgemein betrifft die Geräteinformation die Schnittstelle, Steuerstatusund Zeichensatz und Umgebungseinstellungen des mit der NEB 2 verbundenen Druckers 4. Geräte-Informationsbefehle erlauben bei Schritt S1610 das Lesen der Drucker Geräteinformation, das Setzen von Drucker Geräteinformation, das Lesen vorgegebener Einstellungen dieser Information und das Zurücksetzen der vorgegebenen Einstellungen auf gewünschte Werte. Geräte-Informationsbefehle werden im einzelnen in Tabelle 10 aufgeführt. Tabelle 10: Geräte-Informationsbefehle
- Wenn bei Schritt S1611 CPSOCKET bestimmt, daß ein Konfigurationsparameter-Befehl empfangen wurde, geht der Ablauf weiter zu Schritt S1612, bei dem CPSOCKET den empfangenen Befehl ausführt und das Ergebnis über das LAN an den Klienten gibt. Wie in Tabelle 11 gezeigt, betreffen Konfigurationsparameter-Befehle im allgemeinen in der NEB gespeicherte Parameterwerte, mit Bezug auf Zeit, Datum, gesicherte Druckerumgebungsinformation, Protokolloptionen, Logdateigröße usw. Tabelle 11: Konfigurationparameter-Befehle
- Wenn bei Schritt S1613 CPSOCKET bestimmt, daß ein NEB Anwendungsprogramm-Befehl empfangen wurde, geht der Ablauf zu Schritt S2614, bei dem CPSOCKET Information über das aktuelle Anwendungsprogramm zur Verfügung stellt, nämlich über RPRINTER, PSERVER oder LPR (für UNIX). Anwendungsprogramminformation beinhaltet im allgemeinen Servername, Dateiserver-Warteschlange, Geräte ID usw. wie in Tabelle 12 detailliert dargestellt. Tabelle 12: Anwendungsprogramminformation
- Wenn bei Schritt S1615 (Fig. 16B) CPSOCKET bestimmt hat, daß ein NEB/Druckerstatistik-Befehl ausgegeben wurde, geht der Ablauf zu Schritt S2616, bei dem CPSOCKET den Drucker durch die Zweiweg SCSI Schnittstelle befragt, um die benötigte Druckerstatistik zu erhalten. Die Statistik entspricht den vorstehend in Verbindung mit CPCONSOL beschriebenen Netzwerkgruppenanzeigen genauso wie den Druckauftragsstatistiken wie der Gesamtzahl der gedruckten Seiten, der Gesamtzahl der Aufträge, der gesamten Off-line Zeit usw. Die Auftragsstatistiken entsprechen der vorstehend in Verbindung mit dem CPCONSOL Programm beschriebenen Protokollgruppe. Spezifische Beispiele der in den NEB/Druckerstatistik-Befehlen ausgeführten Befehle werden in Tabelle 13 fortgesetzt. Tabelle 13: Statistikbefehle
- Wenn bei Schritt S1617 CPSOCKET bestimmt, daß ein Protokollbefehl empfangen wurde, geht der Ablauf zu Schritt S1618 weiter, bei dem CPSOCKET die Protokolldatei von der Druckerfestplatte 114 über die Zweiweg SCSI Schnittstelle erhält und die Protokolldatei über die LAN Schnittstelle an den Klienten schickt. Protokollbefehle sind in Tabelle 14 zusammengestellt. Tabelle 14: Protokollbefehle
- Wenn bei Schritt S1619 CPSOCKET bestimmt, daß ein Herunterladebefehl von der LAN Schnittstelle empfangen wurde, geht der Ablauf weiter zu Schritt S1620, bei dem CPSOCKET die Aufforderung zum Herunterladen ausführt, zum Beispiel durch Empfang von herunterladbarem Kode und dessen Speicherung an festgelegten Plätzen im DRAM 220, durch Stellen von Prüfsummendaten für den herunterladbaren Kode und durch flashen des herunterladbaren Kodes ins EPROM 222. Einige der wichtigeren Herunterlade-Befehle sind in Tabelle 15 zusammengefaßt. Tabelle 15: Herunterlade-Befehle
- Wie früher in Hinblick auf Fig. 5A beschrieben, beinhalten die Schritte S9 bis S12 eine automatische Protokollfunktion, bei der Peripheriegeräte-Statistiken (z. B. Anzahl der Seiten pro Tag) und Fehlerereignisse für späteres Zurückholen automatisch protokolliert (gespeichert) werden, und wobei der Protokolllerungsgrad (statistische Auflösung) vom Netzwerkadministrator variiert werden kann. Im Allgemeinen kann der Netzwerkadministrator einen Protokollierungsgrad auswählen und dann jederzeit Druckerstatistiken und Fehlerereignisse aus der Protokolldatei entnehmen. Der Anteil des Netzwerkadministrators bei solchen Funktionen wurde vorstehend in Paragraph 41 beschrieben und es wird Bezug auf die dort gebrachten Erörterungen und Tabellen genommen, speziell auf Tabelle 7, die den Inhalt der Protokolldatei abhängig vom durch CPINIT gesetzten Protokollgrad anzeigt.
- Als Hintergrund haben wenige LAN Peripherigeräte eigene Statistiken, aber die NEB 2 hat die Fähigkeit, jeden Tag um Mitternacht aktuellen Status und tägliche Statistik des Druckers 4 zu protokollieren. Das befreit den Systemadministrator davon, täglich daran zu denken, dies zu tun. Status- und Statistikdaten können auf Druckerfestplatte 114, im Drucker NVRAM 111, im NEB DRAM 220 oder im NEB NVRAM 228 gespeichert werden. Der Platz der gespeicherten Protokolldatei kann vom Netzwerkadministrator abhängig von der verbleibenden Speicherkapazität jedes dieser Speicher und von den durch den vom Netzwerkadministrator ausgesuchten Protokollgrad erforderten Statistiken gewählt werden. Hat z. B. der Drucker eine Festplatte, kann der Netzwerkadministrator den wohldetaillierten " Auftrag" Protokollgrad wählen, so daß voluminöse Statistiken erzielt werden können, Andererseits kann, wenn der Drucker keine Festplatte hat, der Netzwerkadministrator den weniger detaillierten "Fehler" Protokollgrad wählen, so daß weniger Speicherplatz erforderlich ist. Ist die Protokolldatei gefüllt, werden im Umlauf lediglich neue Fehlerdaten im Speicher gehalten und alte Fehlerdaten durch neue Fehlerdaten ersetzt werden.
- Die NEB speichert jede Nacht automatisch Druckerstatistiken wie gedruckte Seiten, gedruckte Aufträge Off-Line Zeit und Druckzeit für den späteren Zugriff des Systemadministrators. Die Statistiken können zur Vorwegnahme von Ersatz für Druckerverbrauchsmaterial wie Toner verwendet werden und zur Überwachung von Benutzerverhalten, wie Off- Linelassen des Druckers für sehr lange Zeitdauer.
- Im allgemeinen wird die Protokollfunktion von der Druckerreglerplatine ausgeführt, die immer weiß, wieviel Uhr es ist. Wird eine Drucker/Reglerplatine zum ersten Mal eingeschaltet, findet die Platine den nächsten Server und fragt die Zeit ab. Die Platine macht das fortlaufend jede Minute. Ändert sich der Wochentag, fordert die Platine automatisch vom Drucker eine Rückmeldung zur Seitenzählung. Die Platine berechnet dann die täglichen Statistiken und speichert sie entweder auf die Druckerfestplatte oder das Platinen NVRAM. Diese Statistiken werden gespeichert und stehen dem externen Netzwerkprogramm CPCONSOL zu Verfügung, das sie auf einem Bildschirm anzeigen oder in einer externen Datei sichern kann.
- Wie vorstehend in Paragraph 41 beschrieben, kann der Netzwerkadministrator vier Protokollstufen wählen: KEIN; AUTO; FEHLER und AUFTRAG. In der KEIN Stufe gibt es keine Protokollstatistiken (obwohl sie immer noch jede Minute berechnet und temporär im NEB DRAM 220 behalten werden). In der AUTO Stufe gibt es tägliche Statistiken für Druckerverhalten wie Drucktage, Seiten, Aufträge, Off-Line Zeit und Druckzeit. Die Anzahl der angehäuften Seiten wird vom Drucker bestimmt, aber die anderen Statistiken durch die NEB.
- Die FEHLER Protokollstufe verwaltet die vorstehend erörterten Statistiken und zusätzlich Fehlerzustände im Drucker und auch Fehler, die in einer Anwendung passieren (z. B. CPSERVER). Die NEB fragt den Drucker jede Minute nach solchen Fehlerzuständen. Solche Druckerfehlerzustände können enthalten: Off-Line; kein-Papier-mehr; Drucker-ist-offen; Papierstau; keine-Tonerkartusche; zuwenig-Toner; Druckerzufuhr und Ladefehler; Schacht-ist-voll; Zeilenfehler; Druckauftrag-zurückgewiesen; Font-ist-voll; Ruf nach Service usw. Anwendungsfehler können beinhalten: Dateiserver unten; primärer Dateiserver nicht verfügbar; CPSERVER läuft woanders; IPX nicht installiert usw.
- Die AUFTRAG Protokollstufe verwaltet die täglichen Statistiken und die vorstehend festgehaltenen Fehlerzustände und ebenso Auftragsbeginn und Endeinformation, die von der NEB bestimmt werden. Natürlich kann die Anzahl und Art der Protokollstufen und die aus jeder Protokollstufe bezogenen Daten je nach Peripheriegerät und LAN, in dem die NEB installiert ist, variiert werden.
- Fig. 17A und 17B enthalten ein Flußdiagramm, das die übergreifende Arbeit der automatischen Protokollfunktion innerhalb der NEB zeigt. Bezug genommen werden kann auch auf die vorstehende Fig. 5A und Tabelle 7. Bei Schritt S1 wird der NEB Strom zugeführt und bei Schritt S8 findet das Zeitgebermodul den nächstgelegenen Server und fragt nach der Zeit. Bei Schritt S1701 wird bestimmt, ob die KEINE Protokollstufe gewählt wurde. Wurde die KEINE Protokollstufe gewählt, springt der Vorgang zum Ende des Flußdiagramms, wo eine Rückkehr zum übergreifenden Flußdiagramm der Fig. 5A, 5B und 5C vollzogen wird.
- Wurde bei Schritt S1701 die KEINE Protokollstufe nicht gewählt, bestimmt Schritt S1702, ob die AUTO Protokollstufe gewählt wurde. Wurde die AUTO Protokollstufe gewählt, geht der Vorgang weiter zu Schritt S9, bei dem Mitternacht abgewartet wird. Wurde die AUTO Protokollstufe aber nicht gewählt, bestimmt Schritt S1703, ob die FEHLER Protokollstufe gewählt wurde. Wurde die FEHLER Protokollstufe gewählt, geht der Vorgang weiter zu Schritt S1706, bei dem eine einminütige Auszeit abgewartet wird. Wurde aber die FEHLER Protokollstufe nicht gewählt, wird bei Schritt S1704 bestimmt, daß die AUFTRAG Protokollstufe gewählt wurde. In diesem Fall speichert Schritt S1705 die Auftragsstart- und Endezeiten in die Protokolldatei. Bei Schritt S1706 wird eine einminütige Auszeit abgewartet, nach der Schritt S1707 den Drucker nach Fehlerereignissen abfragt und solche Ereignisse in die Protokolldatei sichert. So fragt die Platine, wenn entweder die FEHLER oder die AUFTRAG Protokollstufe gewählt wurden, den Drucker jede Minute nach Fehlerereignissen und speichert solche Fehlerereignisse in die Protokolldatei.
- Schritt S9 wartet auf Mitternacht, wo dann die NEB bei Schritt S10 Fig. 15B den Drucker nach seiner täglichen Statistik fragt. Ist bei Schritt S9 Mitternacht noch nicht erreicht, geht der Vorgang zurück zu Schritt S1702, wo bestimmt wird, welche Protokollstufe gewählt wurde.
- Bei Schritt S11 werden die täglichen Druckerstatistiken unter Verwendung der in Schritt S10 empfangenen Druckerstatistiken berechnet. Danach werden bei Schritt S12 die täglichen Statistiken und die Fehlerereignisse auf der Druckerfestplatte 114 und/oder dem Drucker NVRAM 111 und/oder dem NEB NVRAM 228 gespeichert. Hier ist zu beachten, daß der Netzwerkadministrator größerer Flexibilität des LAN wegen die Wahl hat, Protokollstatistiken und Fehlerereignisse in jeder Kombination von Speichern zu speichern.
- Die vorstehend erörterten Protokollfunktionen sind sehr wichtig, um aus dem Drucker einen interaktiven und reagierenden Teil des LAN zu machen, da die SCSI Verbindung zwischen der NEB und dem Drucker in der Lage ist, Mengen von spezifischen Daten aus dem Drucker zu holen.
- Wie vorher kurz unter Bezug auf den Schritt S20 der Fig. 5B beschrieben, speichert das NEB EPROM 222 ein MONITOR Programm, einen Mechanismus zur Unterstützung von Multitasking in der Lauf-Zeit Umgebung, der gleichzeitige Arbeit in einer De-Bug Umgebung zuläßt. MONITOR läßt zu, daß aktuell abgerufene Aufgaben auf einer nicht-preemptiven Grundlage durchgeführt werden, während die NEB auf Echtzeit Unterbrechungen von entweder dem LAN (für CPSERVER oder CPSOCKET) oder durch die SCSI Schnittstelle wartet (z. B. wenn Statusinformation in Reaktion auf eine früher empfangene Statusanfrage vom LAN vom Drucker zur NEB geleitet wird). So läßt MONITOR zu, daß alle aktuell ausführenden Aufgaben gleichzeitig unter anteiliger Verwendung des Microprozessors 216 durchgeführt werden. Natürlich können alle Soft-Zeit Anwendungen, einschließlich MONITOR selbst, durch Echtzeitereignisse unterbrochen werden.
- Fig. 18 ist ein fiktives Flußdiagramm einer Folge von Ereignissen, die eintreten können, zur Darstellung der Multitasking Arbeit innerhalb der NEB. Bei Schritt S1 wird die NEB angeschaltet und bei Schritt S1801 wird das MONITOR Programm vom EPROM 222 zum DRAM 220 heruntergeladen. Zum Beispiel werden folgende Module zusammen mit MONITOR heruntergeladen: SCSI Treiber; Verbindungsunterstützungsebene; Netzwerktreiber; PRESCAN; IPX/SPX; anwendungsspezifisches NETX; SAPSERVER; CPSOCKET; und Druckanwendungen (s. Fig. 6).
- Werden bei Schritt S1802 Druckdaten vom Dateiserver 30 empfangen, beginnt CPSERVER in Vorbereitung der Weiterleitung zum Drucker 4 die empfangenen Daten zu verarbeiten. Die Verarbeitung solcher Druckinformation ist jetzt in der "Soft- Zeit" Umgebung und Schritt S1803 bestimmt, ob eine zum Aufhören auffordernde Unterbrechung vom die Druckdaten verarbeitenden Programm empfangen wurde. Wurde eine solche Unterbrechung bei Schritt S1803 erreicht, wird die Ausführung des aktuell ausführenden Moduls beendet und die Steuerung bei Schritt S1804 an MONITOR zurückgegeben. MONITOR sichert den Stand der unterbrochenen Aufgabe im DRAM 220. Wurde aber eine zum Aufhören auffordernde Unterbrechung bei Schritt S1803 nicht erreicht, geht der Vorgang weiter zu Schritt S1805, wo bestimmt wird, ob das aktuell ausführende Modul ein Ende erreicht hat. Wurde das Ende bei Schritt S1805 nicht erreicht, wartet das Programm, bis eine andere zum Aufhören auffordernde Unterbrechung bei Schritt S1803 erreicht ist.
- Wurde das aktuell ausführende Modul bei Schritt S1804 gestoppt, oder hat das aktuell ausführende Modul bei Schritt S1805 ein Ende erreicht, wird bei Schritt S1806 bestimmt, ob Daten empfangen wurden, die die Ausführung eines anderen Softwaremoduls erfordern, z. B. wo Daten über die SCSI Schnittstelle als Reaktion auf eine früher-herausgegebene Anfrage nach dem Druckerstatus empfangen wurden. Wird bei Schritt S1806 bestimmt, daß solche Daten empfangen wurden, beginnt Schritt S1807 die Ausführung eines anderen Anwendungsmoduls unter Verwendung der neuempfangenen Daten.
- Bei Schritt S1808 wird bestimmt, ob eine zum Aufhören auffordernde Unterbrechung im zweiten Anwendungsmodul erreicht wurde. Wurde eine solche Unterbrechung erreicht, beendet die zweite Anwendung die Ausführung und übergibt die Steuerung an MONITOR, das den Zustand des gerade unterbrochenen zweiten Moduls bei Schritt S1809 ins DRAM 220 speichert. Wurde aber die zum Aufhören auffordernde Unterbrechung im zweiten Modul bei Schritt S1809 nicht erreicht, wird bei Schritt S1810 bestimmt, ob das Ende des zweiten Moduls erreicht wurde. Wurde das Ende nicht erreicht, wartet das Programm nur auf die zum Aufhören auffordernde Unterbrechung bei Schritt S1808. Wird bestimmt, daß das Ende des zweiten Moduls bei Schritt S1810 erreicht wurde, bestimmt Schritt S1811, ob das Ende des ersten Moduls erreicht wurde. Wo das Ende des ersten Moduls nicht erreicht wurde, aber das Ende des zweiten Moduls erreicht wurde, kehrt der Vorgang zum Warten auf eine zum Aufhören auffordernde Unterbrechung im ersten Anwendungsmodul bei Schritt S1803 zurück. Haben bei Schritt S1811 sowohl das erste als auch das zweite Modul ihr Ende erreicht, kehrt die Steuerung zum MONITOR Programm zurück, um andere neu-empfangene Soft-Zeit Aufgaben auszuführen.
- Nachdem das zweite Anwendungsmodul wegen Erreichens einer zum Aufhören auffordernde Unterbrechung die Ausführung beendet hat, wird die Steuerung MONITOR übergeben, das nach Speicherung des Zustands des unterbrochenen Moduls ins DRAM 220 (Schritt S1809) bei Schritt S1812 die Ausführung des ersten Moduls wieder aufnimmt, bis eine weitere erste zum Aufhören auffordernde Unterbrechung bei Schritt S1803 erreicht wird.
- So läßt die nicht-preemptive multi-tasking Zuordnung der Microprozessorquellen die parallele Verarbeitung einer Anzahl von Aufgaben auf beinahe Echtzeitbasis zu.
- Wie vorstehend unter Berücksichtigung des Schrittes S25 in Fig. 5C erörtert, stellt die NEB sicher, daß der Drucker am Anfang oder Ende eines Druckauftrags in eine bekannte vorgegebene Konfiguration gesetzt wird. Die NEB erreicht das durch Herunterladen eines vorgegebenen Konfigurationskodes, der die vorgegebene Umgebung in der der Drucker beim Abschluß eines Druckauftrags verbleiben soll (z. B. Portraitmodus, 10 Punkt Type, Schriftgrad Roman usw.) bezeichnet, in den nichtflüchtigen Speicher (entweder Festplatte 114 oder NVRAM 111) des Druckers. Beim Empfang eines Druckdatenstroms vom LAN, holt die NEB den Konfigurationskode aus dem nicht-flüchtigen Speicher des Druckers, hängt den Konfigurationskode an einen Block von Druckdaten als Escape Sequenz und lädt dann den Druckauftragsblock samt angehängter Escapesequenz zum Drucker herunter. Der Drucker führt dann einen Druckvorgang durch und bleibt(basierend auf der Escapesequenz) in der gewünschten vorgegebenen Konfiguration.
- Novell NetWare® Software beinhaltet die Fähigkeit, einen Netzwerkdrucker nach jedem Druckauftrag in eine vorgegebene Umgebung zurückzusetzen. Das geschieht dadurch, daß der Dateiserver 30 etwas installiert, was auf einen falschen Druckauftrag am Anfang des eigentlichen Druckauftrags hinausläuft. Aber die genauen Drucker Escapesequenzen, die nötig sind, um bestimmte vorgegebene Druckerkonfigurationen zu setzen, befinden sich in einer Datenbank auf dem Netzwerk und nicht innerhalb des Druckers selbst. Deshalb kann der Drucker, wenn mit UNIX auf dem LAN gearbeitet werden soll, oder wenn ein Problem mit dem Dateiserver selbst auftritt, nicht auf eine vorgegebene Konfiguration umgespeichert werden, was sicherstellt, daß der nächste Druckauftrag vom Drucker in einer bekannten Konfiguration gedruckt wird.
- Ein Verfahren zum Garantieren einer vorgegebenen Druckerumgebung unter Verwendung der NEB arbeitet mit der Unterscheidung, daß die Drucker Resetstatus-Konfiguration und nötige Escapesequenzbefehle sich im Drucker selbst befinden und der Drucker selbst für das Reset seiner eigenen Umgebung innerhalb des Druckauftrags verantwortlich ist. So steht die Druckerreseteigenschaft zur Verfügung, ohne daß Abhängigkeit von irgendeinem Gerät außerhalb des Druckers vorliegt. Darüberhinaus kann die anfänglich vorgegebene Konfiguration geladen und danach von ferne über das LAN durch die seriellen oder parallelen Schnittstellen der NEB modifiziert werden.
- Der Konfigurationskode kann durch das CPCONSOL Programm, wie im vorstehenden Abschnitt 41 erörtert, zur NEB gesandt werden.
- Es kann als passend erscheinen, eine Vielzahl von vorgegebenen Konfigurationskodes im nicht-flüchtigen Speicher des Druckers zu speichern, um dem Netzwerkadministrator große Flexibilität bei der Druckerbenutzung auf dem LAN zu gewäh ren. Zum Beispiel können Druckaufträge aus dem Ingenieurwesen einen Drucker mit vorgegebenem Portraitmodus verlangen, während Druckaufträge aus der Buchhaltung es verlangen, daß der Drucker in einem Arbeitsblattmodus verbleibt. So kann durch Sicherstellen einer bekannten vorgegebenen Umgebung jede einer Anzahl von LAN Quellen den Drucker für ihre speziellen Aufträge verwenden.
- Fig. 19 bildet ein genauer detailliertes Flußdiagramm zum Setzen der vorgegebenen Druckerkonfiguration ab. Bei Schritt S1 wird der NEB Strom zugeführt und bei Schritt S2 nimmt die NEB wegen aktiver Druckwarteschlangen Zugriff auf den LAN Dateiserver und lädt Druckdaten zum DRAM 220 herunter.
- Wenn der nicht-flüchtige Speicher des Druckers mehr als einen vorgegebenen Konfigurationskode speichert, kann es nötig werden, zuerst zu bestimmen, welcher Datentyp von der LAN aus zur Bestimmung übertragen wird, in welcher vorgegebenen Konfiguration der Drucker verbleiben soll. Deshalb bestimmt Schritt S1901 die LAN Quelle des Druckauftrags und Schritt S1902 holt den geeigneten vorgegebenen Konfigurationskode aus dem Drucker, der der bestimmten LAN Quelle entspricht.
- Bei Schritt S1903 sammelt die NEB Blöcke von Bilddaten und legt für jeden Druckauftrag einen Beginn-des-Druckauftrags und ein Ende-des-Druckauftrags fest. Bei Schritt S1904 fügt der NEB Microprozessor 216 einem Druckauftrag eine Escapesequenz hinzu, die dem geholten Konfigurationskode entspricht. Vorzugsweise wird die Escapesequenz dem Beginn des Druckauftrags hinzugefügt, aber sie kann auch am Ende des Druckauftrags oder an Beginn und Ende des Auftrags hinzugefügt werden. Dann wird bei Schritt S1905 der Druckauftrag mit hinzugefügter Escapesequenz zum Drucker übertragen und der Drucker liefert dann einen Druck entsprechend dem empfangenen Druckauftrag. Ist ein Druckauftrag nach Schritt S24 ausgeführt, setzt sich der Drucker selbst bei Schritt S25 in eine vorgegebene Umgebung, die der vorgegebenen Umgebung des bei Schritt S1902 geholten Konfigurationskodes entspricht. Des halb verbleibt der Drucker in einer vorgegebenen Umgebung, die sicherstellt, daß der nächste Druckauftrag mit dem Drucker in einer bekannten Konfiguration beginnt.
- So wurde eine unempfindliche Hardware- und Softwarelösung gefunden zur Sicherstellung, daß der Drucker selbst eine vorgegebene Konfiguration speichert und selbst dafür verantwortlich ist, sich am Ende eines jeden Druckauftrags in einen vorgegebenen Zustand zu versetzen.
- Das Herunterladen von ausführbaren Dateien vom LAN zum DRAM 220 wird genauer erörtert unter Berücksichtigung des Flußdiagramms in Fig. 20 und unter Berücksichtigung der vorstehenden Erörterung des Schrittes S30 in Fig. 5C.
- NEB 2 wird erstmals vor dem Versand konfiguriert. Aber NEB 2 kann durch Senden aktualisierter, ausführbarer Dateien über das LAN vom PC 14 des Administrators zur NEB 2 später rekonfiguriert werden. Darüberhinaus kann der Netzwerkadministrator wie erwünscht die im DRAM 220 der NEB 2 gespeicherten ausführbaren Dateien von ferne ändern.
- Der Vorgang, durch den ausführbare Dateien im DRAM 220 geändert werden können, wird unter Berücksichtigung der Fig. 20 genauer erörtert.
- Nachdem die Platine bei Schritt S1 mit Strom versorgt wurde, geht der Ablauf zu Schritt S2001, bei dem der Netzwerkadministrator ein DOWNLOADER Programm aktiviert, um über die LAN eine Aufforderung zur Identifizierung aller NEB Geräte mit besonderer Konfiguration zu senden, der Ablauf geht währenddessen zu Schritt S2002.
- Bei Schritt S2002 bestimmt das DOWNLOAD Programm, ob irgendeine der angewählten NEBs geantwortet hat. Wird bei Schritt S2002 bestimmt, daß keine der angewählten NEBs geantwortet hat, geht der Ablauf zurück zu Schritt S2001, bei dem das DOWNLOAD Programm erneut die Aufforderung mit neuer Zielinformation aussendet und dann geht der Ablauf weiter zu Schritt S2002.
- Antwortet bei Schritt S2002 eine angewählte NEB, geht der Ablauf zu Schritt S2003.
- Bei Schritt S2003 antwortet das SAPSERVER Programm mit den eindeutigen Netzwerk Ids und den eindeutigen Socketnummern, die jeder NEB zugeordnet sind (siehe vorstehenden Abschnitt 4 g). Die Lageinformation wird gesammelt, der Netzwerkadministrator wählt eine bestimmte NEB zum Herunterladen der ausführbaren Datei und die Kommunikation mit der angewählten NEB wird aufgebaut.
- Bei der Auswahl der angewählten NEB lädt bei Schritt S2004 der Netzwerkadministrator neue Betriebsdateien und ein spezielles Paket mit einem Prüfsummenwert über das LAN ins DRAM 220, womit der Ablauf zu Schritt S2005 weitergeht.
- Bei Schritt S2005 führt der Microprozessor 216 einen Prüfsummenvorgang bezüglich der neu geladenen Betriebsdateien durch und vergleicht den Prüfsummenwert mit dem im speziellen Paket gesendeten Prüfsummenwert, der nach Speicherung der Betriebsdateien im DRAM 220 gespeichert wird.
- Gleicht der Prüfsummenwert nicht dem Prüfsummenwert des speziellen Pakets, geht der Ablauf weiter zu Schritt S2006, bei dem der Microprozessor 216 den Netzwerkadministrator darauf aufmerksam macht, daß der Prüfsummenwert der neuen Betriebsdateien nicht korrekt ist und bei dem der Microprozessor 216 die Dateien aus dem DRAM 220 löschen kann. Wird bei Schritt S2006 der Prüfsummenwert verifiziert, geht der Ablauf weiter zu Schritt S2007, wo die ausführbaren Dateien durch den Microprozessor 216 behandelt werden.
- So kann der Netzwerkadministrator den Betrieb der NEB 2 durch entferntes Senden neuer Betriebsdateien, die vom DRAM 220 gespeichert und ausgeführt werden sollen, verändern.
- Wie vorstehend in Fig. 5C unter Berücksichtigung von Schritt S32 beschrieben, wird wenn ein binäres ROM Bild ins EPROM 222 geladen werden soll, eine Vielzahl von unabhängig- ausführbaren Modulen gesammelt, geordnet und für den Flash zuiä EPROM 222 vorbereitet. Sammeln und Ordnen der Module wird gegenwärtig auf einem DOS PC ausgeführt, kann aber in der NEB selbst ausgeführt werden. Ein Vorteil des Sammelns 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.
- NEB Firmware enthält eine Anzahl nur untereinander verbundener Module, von denen eines einen dauerhaft ROM residenten Kode beinhaltet, der beim Anschalten die Steuerung übernimmt und Selbstüberprüfung, Laden anderer Module ins DRAM 220 und grundlegende I/O Dienste zur Verfügung stellt. Die anderen im EPROM 222 vorhandenen Module müssen vor Ausführung ins DRAM 220 kopiert werden. Es gibt zwei Typen solcher Module, von denen der erste Programme enthält, die wichtige Treiber sind, die beim Laden die Steuerung übernehmen, initialisieren und dann aufhören, aber resident bleiben. Der zweite Typ dieser Module sind Anwendungsprogramme, von denen jedes einen speziellen Satz von Funktionen ausführt.
- In Fig. 21 wird die NEB bei Schritt S1 angeschaltet. Bei Schritt S2101 liest ein im PC residentes Dienstprogramm eine Konfigurationsdatei mit den Namen aller Module, die im ROM Bild untergebracht werden sollen, aus seinem RAM. Die Konfigurationsdatei wird dazu verwendet, bei Schritt S2102 aus dem RAM die Module zu wählen, die ins EPROM 222 geflasht werden.
- Bei Schritt S2103 schreibt das Dienstprogramm für das erste Modul ein Kopfetikett, das dieses Modul identifiziert, die Attribute des Moduls beschreibt und einen Hinweis enthält, der auf das unmittelbar folgende Modul hinweist. Dieser Hinweis hilft beim Einordnen der Module in eine bestimmte Ordnung vor dem Laden. Bei Schritt S2104 wird bestimmt, ob das letzte, von der Konfigurationsdatei identifizierte Modul gewählt wurde. Wurde das letzte Modul nicht gewählt, geht der Ablauf zurück zu Schritt S2103, wo das Kopfetikett für das nächste Modul geschrieben wird.
- Wurde bei Schritt S2104 das letzte Modul gewählt, fügt das Diensprogramm den ROM-residenten Kode an das Ende des Bildprogramms (bei Schritt S2105), so daß beim Anschalten der Initialisierungskode an der vom Microprozessor 216 erwarteten Adresse steht.
- Wurde das ROM Binärbild so aufgebaut, kann das Bild in einen Abschnitt des Speicherbereichs des NEB DRAM 220 heruntergeladen und dann zum EPROM 222 geflasht werden, wie es genauer im nachstehenden Abschnitt 4q und unter Berücksichtigung der detaillierten Erörterung der Fig. 5C, Schritt S36, erörtert wird.
- Fig. 22 ist ein Blockdiagramm, das den funktionellen Aufbau des auf der NEB residenten EPROM Flash-Schutzstromkreises zeigt. Der EPROM Flash-Schutzstromkreis enthält den mit dem Datenbus 250 und dem Adressbus 251 verbundenen Microprozessor 216. Ebenso mit dem Datenbus 250 und dem Adressbus 251 verbunden ist DRAM 220. DRAM 220 ist in der Lage, ein ROM Firmware Bild, das von einem entfernten LAN Gerät heruntergeladen wurde, in einen Abschnitt seines Speicherbereichs (s. vorstehenden Abschnitt 40) und Anwendungsablaufsschritte in einen anderen Teil seines Speicherbereichs zu speichern. Ebenso mit Datenbus 250 und Adressbus 251 verbunden sind EPROM 222, Puffer 252 und PAL 253. Das D-Typ Flip-Flop 254 ist mit Puffer 252 und PAL 253 verbunden. Während des Betriebs empfängt das Flip-Flop 254 als seine Takteingabe ein Ausgangssignal von PAL 253 und als seine Dateneingabe ein Ausgangssignal von Puffer 252. Puffer 252 und PAL 253 sind auch mit dem DC-DC Konverter 212 verbunden und der DC-DC Konverter 212 ist mit dem Transistorschalter 255 verbunden. Aktiviert vom Puffer 252 sendet der DC-DC Konverter 212 +12 Volt zum Eingangsemitter des Transistorschalters 255. Flip- Flop 254 ist auch mit dem Transistorschalter 255 verbunden, um die nötige Eingabe zum Öffnen/Schließen von Schalter 255 zu liefern.
- Die Arbeitsweise des EPROM Flash-Schutzstromkreises wird jetzt unter Bezug auf Fig. 22 genauer erklärt. Beim Einschalten ist die Ausgabe des Puffers 252 tief und Flip-Flop 254 wird zurückgesetzt. Genauso ist das Ausgangssignal PROG1 des Puffers 252 tief und die Spannung aus dem DC-DC Konverter 212 wird zum Sinken auf einen Grundzustand gebracht. Beim Einschalten wird Flip-Flop 254 zurückgesetzt, so daß sein Ausgang tief ist und damit den Transistorschalter 255 öffnet.
- Mit dem geöffneten Transistorschalter 255 wird das Vpp Pin des EPROM bei 0 Volt gehalten und so jede Datenannahme oder Durchführung eines Flashvorgangs verhindert. Das heißt, damit sich im EPROM 222 ein Flashvorgang ereignen kann, muß das Vpp Pin mindestens einen Pegel von +11,4 Volt erreichen, das ist eine Forderung der Bestimmungen des EPROM Herstellers. Um aber diesen Spannungspegel zu erreichen, sind die folgenden zwei Programmierschritte erforderlich.
- Zuerst empfängt der Microprozessor 216, wenn im DRAM 220 ein neues ROM Firmwarepaket empfangen wird, einen Befehl, durch Erzeugen eines I/O Schreibvorgangs an Adresse 360 Hex mit Datenbit 7 hoch (80 Hex) das EPROM zu flashen. Auf diese Weise kann der DC-DC Konverter 212 erstmalig angeschaltet werden.
- Wie in den Tabellen 16 und 17 gezeigt, entspricht Adresse 360 Hex einem Steuerregister 230, das zur Steuerung des Lese-/Schreibvorgangs zum NVRAM 228 verwendet wird. Wie in der nachstehenden Tabelle 17 gezeigt, entspricht die Adresse, wenn 360 Hex mit 7 Bit hoch/tief gesendet wird, einem Vorgehen des DC-DC Konverters 212.
- I/O Wahl ADRESSE
- LAN CHIP 300 - 30F HEX (R/W)
- DMA DATENPUFFER 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 #1 360 HEX (R/W)
- STEUERREGISTER #2 366 HEX (X)
- NMILCK 200 HEX (W)
- LAN ADRESS. ROM 340 - 35F HEX (R) Tabelle 17
- Nachdem die Adresse 360 Hex ausgegeben wurde, erzeugt der Microprozessor 216 einen I/O Schreibbefehl und schickt eine Schreibauswahl zu PAL 253. PAL 253 erfasst eine gültige Adresse, dekodiert sie und aktiviert Puffer 252. Mit Bit 7 hoch in Adresse 360 Hex, wird das PROG1 Signal hochgesetzt und vom Puffer 252 zum DC-DC Konverter 212 ausgegeben. Wenn das PROG1 Signal vom DC-DC Konverter 212 empfangen wird, regt es den DC-DC Konverter an, +12 Volt zu erzeugen. Die +12 Volt vom DC-DC Konverter 212 werden zum Transistorschalter 255 geschickt und bleiben an dessen Emitter, bis der Transistorschalter 255 geschlossen wird.
- Aber bevor die +12 Volt durch den Transistorschalter 255 passieren dürfen, muß der zweite Schritt ausgeführt werden. Das bedeutet, daß Microprozessor 216 einen I/O Lesebefehl und die Adresse 366 Hex, die einer PAL Adresse entspricht, ausgibt. Wenn der Microprozessor 216 sowohl Befehl wie Adresse erzeugt, dekodiert PAL 253 die Adresse und erzeugt ein PROG2 Ssignal. Wenn das PROG2 Signal hoch ist, gibt es eine Takteingabe an Flip-Flop 254 ab.
- Beim Empfang der Takteingabe gibt Flip-Flop 254 das PROG1 Signal vom Puffer 252 ein und erzeugt dann ein TRANSON Signal an seinem Ausgang. Das TRANSON Signal wird zum Transistorschalter 255 ausgegeben, der den Schalter, der an seinem Emitter zuläßt, daß +12 Volt zu seinem Kollektor durchkommen, schließt. An diesem Punkt werden die +12 Volt vom Kollektor des Transistorschalters 255 zum Vpp Pin des EPROM 222 geschickt.
- Mit +12 Volt am Vpp Pin des EPROM 222 gibt der Microprozessor 216 ein EPROM Wahlsignal aus. Um das neue Firmwarebild vor Störung zu bewahren, muß EPROM 222 vorher gelöscht und bereinigt werden. Dann wird das EPROM 222 mit dem neuen, im DRAM 220 gespeicherten ROM Firmwarebild geflasht. Ist das neue ROM Firmwarebild erst einmal im EPROM 222 gespeichert, kann die NEB 2 vom neuen ROM Firmwarebild aus neu gebootet werden.
- Die Arbeitsweise der EPROM Schutzschaltung wird nun unter Bezug auf Fig. 22 und das Flußdiagramm der Fig. 23 erklärt.
- Bei Schritt S2301 wird ein neues ROM Firmwarebild über das LAN von der NEB 2 empfangen und ins DRAM 220 geladen. Microprozessor 216 empfängt bei Schritt S2302 einen Befehl, das EPROM 222 zu flashen. Bei Schritt S2303 schickt Microprozessor 216 einen I/O Schreibbefehl zu PAL 253 und gibt Adresse 360 Hex mit Bit 7 hoch aus. Der Ablauf geht zu Schritt S2304, bei dem Bit 7 hoch den Puffer 252 aktiviert, das PROG1 Signal auszugeben. Das PROG1 Signal schaltet den DC-DC Konverter 212 an und +12 Volt werden zum Transistorschalter 255 ausgegeben. Bei Schritt S2305 schickt Microprozessor 216 sowohl einen I/O Lesebefehl, als auch Adresse 366, die eine PAL Aadresse, ist an PAL 253. In Reaktion darauf gibt PAL 253 das PROG2 Signal aus, um Flip-Flop 254 zu takten, was es ermöglicht, das PROG1 Signal an seinem Dateneingang einzugeben. Flip-Flop 254 gibt das TRANSON Signal an Transistorschalter 255 aus, das es ermöglicht, daß +12 Volt vom Kollektor des Transistorschalters 255 zum Vpp Pin von EPROM 222 gelangen. Bei Schritt S2306 löscht und bereinigt Microprozessor 216 das EPROM 222. Bei Schritt S2307 bestimmt der Microprozessor 216, ob EPROM 222 vollständig bereinigt ist. Wenn das EPROM 222 nicht vollständig bereinigt ist, geht der Ablauf zurück zu Schritt S2307.
- Nachdem der Microprozessor 216 bestimmt hat, daß das EPROM 222 vollständig bereinigt wurde, wird bei Schritt S2308 das ROM Firmwarebild vom DRAM 220 zum EPROM 222 heruntergeladen. Ist das ROM Firmwarebild erfolgreich geladen, schreibt bei Schritt S2309 der Microprozessor 216 Adresse 360 Hex mit Bit 7 tief. Das PROG1 Signal vom Puffer 252 wird tief und der DC-DC Konverter 212 läßt zu, daß der Spannungspegel gleichmäßig auf einen Grundstand sinkt.
- Bei Schritt S2310 schickt der Microprozessor 216 einen I/O Lesebefehl und eine 366 Hex Adresse an PAL 253, die zuläßt, daß das PROG2 Signal tief wird und dabei das Flip- Flop taktet, das wiederum ein tiefes TRANSON Signal ausgibt, das die Öffnung des Transistorschalters 255 veranlasst.
- So werden bei Schritt S2309 und S2310 die +12 Volt vom Vpp Pin des EPROM 222 entfernt und der Flashvorgang beendet. Nach dem Flashvorgang bestimmt Microprozessor 216, ob bei Schritt S2311 ein Befehl zum Neu-booten empfangen wurde. Wurde der Befehl zum Neu-booten empfangen, wird die NEB 2 bei Schritt S2312 vom neuen ROM Firmwarebild im EPROM 222 neu- gebootet. Wurde aber kein Neu-boot Befehl empfangen, endet der Ablauf.
- Das Verfahren zur Fernänderung von Firmware im EPROM 222 wird nachstehend genauer und unter Bezug auf das in Fig. 24 abgebildete Flußdiagramm, Schritt S36 der Fig. 5C und vorstehenden Abschnitt 41 erörtert.
- Vor dem Versand einer NEB an einen Kunden, wird die NEB mit einer Mindestanzahl von ausführbaren Dateien konfiguriert, die es der NEB erlauben, die nötigen Funktionen durchzuführen. Danach kann die NEB vom Kunden rekonfiguriert werden. D. h. ein Netzwerkadministrator kann von einem entfernten LAN Gerät aus Daten herunterladen, die vom Hilfskode über Herstellungsprüfroutinen bis zu ganzen Firmwareaktualisierungen, die zum EPROM heruntergeladen werden sollen, alles enthalten können.
- Genauer, kann die NEB 2 durch das Schicken von ausführbaren Dateien über das LAN vom PC 14 des Netzwerkadministrators zur NEB 2 rekonfiguriert werden. Der Netzwerkadministrator kann von ferne das ROM Firmwarebild im EPROM 222 wie gewünscht ändern.
- Bei Schritt S2401 aktiviert der Netzwerkadministrator ein CPFLASH Programm, das eine MAC Adresse als Befehlszeilenparameter verwendet, um eine bestimmte NEB anzuwählen. CPFLASH gibt eine SAP Sendeanfrage heraus, die von SAPSERVER, das auf der NEB läuft, beantwortet wird. Bei Schritt S2402 wartet CPFLASH auf eine Antwort der angewählten NEB. Wenn die angewählte NEB nicht in ca. 15 Sekunden antwortet, geht der Ablauf zu Schritt S2401 und die Sendung wird zurückgesendet. Im Fall aber, daß der angewählte Server antwortet, geht der Ablauf zu Schritt S2403.
- Bei Schritt S2403 empfängt man Adresse und Ort der angewählten NEB, Kommunikation mit der NEB mit passender MAC Adresse wird eingerichtet und eine neue ROM Bildfirmware wird über das LAN zum DRAM 220 heruntergeladen.
- Bei Schritt S2404 wird die Gültigkeit des ROM Firmwarebildes vor dem Fortgang zum nächsten Schritt überprüft. Die Gültigkeit des ROM Firmwarebildes wird gegen eine Bildprüfsumme verifiziert, die in einem speziellen Paket zusammen mit dem Herunterladevorgang in Schritt S2403 geschickt wird. Stimmt der Prüfsummenwert nicht mit dem Prüfsummenwert, der mit dem ROM Bild heruntergeladen wurde überein, wird bei Schritt S2405 der Betreiber auf einen Fehler aufmerksam gemacht und das ROM Firmwarebild im DRAM 220 wird gelöscht.
- Ist der Prüfsummenwert gültig, geht der Vorgang zu Schritt S2406, bei dem Microprozessor 216 alle Daten, die erhalten werden sollen, wie die MAC Adresse holt und die Daten an den richtigen Plätzen im neuen Firmwarebild, das im DRAM 220 gespeichert ist, speichert. Auf diese Weise kann die NEB, wenn das neue ROM Firmwarebild defekt ist, noch funktionieren, weil vorbestimmte Teile wichtiger ROM Firmware erhalten bleiben. Sind die wichtigen Teile der ROM Firmware erhalten, geht der Vorgang zu Schritt S2407, bei dem das EPROM 222 falls erforderlich, mehrmals gelöscht und bereinigt wird. Wurde das EPROM 222 bereinigt, wird bei Schritt S2408 das neue ROM Bild ins EPROM 222 geladen.
- Nach dem Flashvorgang bestimmt der Microprozessor 216, ob bei Schritt S2409 ein Neu-boot Befehl empfangen wurde. Wurde der Neu-boot Befehl empfangen, wird die NEB 2 bei Schritt S2410 neu gebootet. Wird aber kein Neu-boot Befehl empfangen, endet der Ablauf.
- Bei Schritt S2404 kann die Gültigkeit des ROM Firmwarebildes auch durch einen Vergleich neu empfangener Firmwaredaten mit vorher im EPROM 222 gespeicherten Daten verifiziert werden. Zum Beispiel, wo EPROM 222 früher vom PROM 232 gehaltene Hardwareindikatoren speichert (d. h. Platinenherstellungsdatum, Platinenrevisionsnummer, Herstellungsort usw.; wird später genauer im nachstehenden Abschnitt 5 erörtert), können solche Indikatoren mit den gleichen Indikatoren im neu-empfangenen ROM Firmwarebild verglichen werden. Dieser Vergleich kann zusätzlich zu oder an Stelle des vorstehend erörterten Prüfsummenvergleichs erfolgen.
- Dabei ist zu beachten, daß gleichzeitig mit einem ROM Firmwarebild auch eine neue MAC Adresse ins EPROM 222 geflasht werden kann. Aber vorzugsweise wird vor dem Versand, nach Abschluß des NEB Tests nur eine MAC Adresse geflasht. Diese Eigenheit wird genauer unter Berücksichtigung des nachstehenden Abschnitts 5 erörtert
- Vor dem Installieren der NEB im Drucker, kann sie zur Absicherung der Unversehrtheit ihrer Hardware- und Softwarebestandteile getestet werden. Fig. 25 bildet eine Testkonfiguration ab, die zum Testen der NEB 2 verwendet werden kann. In Fig. 25 ist die NEB 2 mit einem PC1 300 über ein Kabel 302 verbunden, angeschlossen am seriellen Anschluß 218 der NEB. Ein Drucker 304 kann mit dem PC1 300 zum Ausdrucken der Testergebnisse verbunden sein.
- Die NEB ist mit einem Testtreiber PC2 306 durch einen SCST Bus 308 und Ethernet LAN Verbindungen 310, 312 verbunden. Der PC2 306 beinhaltet eine SCSI Platine 314 und eine Netzwerkreglerplatine 316, so daß er einen Drucker und LAN Einheiten (so wie den PC 14 des Netzwerkadministrators) simulieren kann. Der PC2 handelt als Transponder bei Empfang und Zurückgabe vom Kommuniktionen zur und von der NEB 2, wie von den Testprogrammen die der NEB 2 durch den seriellen Anschluß 218 vom PC1 300 eingegeben werden, befohlen.
- Nachdem die NEB 2 eingeschaltet wurde, führt sie einen Strom-an-Selbsttestvorgang durch. Während die NEB jeden Testablauf im POST durchführt, empfängt der PC1 300 Test- Überprüfungspunktergebnisse über das serielle Kabel 302.
- Wurde bestimmt, daß die NEB 2 POST befriedigend abgeschlossen hat, tritt die NEB 2 in einen "Bereit zum Herunterladen" Zustand ein. In diesem Zustand wartet die NEB 2 ein periodisches Intervall von ca. einer Sekundenlänge auf weitere Eingabebefehle über jeden der Eingangsanschlüsse.
- Während die NEB sich im Herunterladezustand befindet, lädt der PC1 300 Testprogramme durch den seriellen Anschluß 218 in die NEB. Nach Abschluß der Ausführung jedes Testprogramms schickt die NEB 2 jedes Testergebnis zurück zum PC1 300 zur Verifizierung. Wird der nächste Überprüfungspunkt nicht innerhalb einer Auszeitperiode (d. h. 1. Sekunde) empfan gen, wird bestimmt, daß während des NEB Testprogramms ein Fehler unterlaufen ist und vom PC1 300 wird ein Fehlersignal ausgegeben. Das Fehlersignal kann auf einem Display am PC1 300 angezeigt, oder auf Drucker 304 ausgedruckt werden.
- Wird andererseits der nächste vom PC1 300 empfangene Überprüfungspunkt nicht verifiziert, schreibt der PC1 300 das Testprogramm (unter Hinzufügen weiterer, genauerer Testmodule) in Übereinstimmung mit dem empfangenen Resultat erneut. Auf diese Weise kann PC1 300 das Problem lokalisieren und die NEB 2 schrittweise durchprüfen.
- Manche Testprogramme können es erforderlich machen, daß die NEB 2 mit PC2 306 über entweder den SCSI Bus 308 oder eine der LAN Verbindungen 310, 312 kommuniziert. Zum Beispiel kann in Übereinstimmung mit dem Testprogramm die NEB 2 über eine LAN Verbindung 310 Daten vom PC2 anfordern. PC2 ist dafür konfiguriert, passende Antworten für jede Kommunikation von der NEB 2 zurückzugeben und dabei den Drucker und die anderen LAN Bestandteile effektiv zu emulieren. Wird die richtige Kommunikation vom PC2 306 zurückgegeben, zeigt die NEB 2 einen erfolgreichen Test dadurch an, daß sie über den seriellen Anschluß 218 einen weiteren Prüfungspunkt an PC1 300 weitergibt.
- Eine genauere Erörterung des NEB 2 Testverfahrens wird nachstehend unter Bezug auf das in den Fig. 26A und 26B dargestellte Flußdiagramm und in Übereinstimmung mit der in Fig. 25 abgebildeten Testkonfiguration zur Verfügung gestellt.
- Wenn die NEB 2 zum ersten Mal mit Strom versehen wird, führt die NEB 2 bei Schritt S2601 das POST Programm vom EPROM 222 aus. Das POST Programm schließt individuelle Programme zum Testen von Teilabläufen und der Softwareprogrammierung ein. Nach Ausführung eines individuellen Programms innerhalb von POST, wird bei Schritt S2602 ein Überprüfungspunkt zur Verifizierung an PC1 300 geschickt. Wird nach Ablauf einer vorbestimmten, auf die Ausführung eines individuellen Programms folgenden Zeitperiode kein Überprüfungspunkt ge schickt, oder ist ein zurückgeschickter Prüfungspunkt falsch, wird bei Schritt S2603 von PC1 300 ein Fehlersignal ausgesendet. Sind aber alle Überprüfungspunkte korrekt und werden sie zeitlich passend empfangen, geht der Vorgang weiter zu Schritt S2604, bei dem sich PC1 300 darauf vorbereitet, Testprogramme zur NEB zu senden. Bei Schritt S2605 ist das POST abgeschlossen und die NEB 2 wartet auf Befehle über irgendeinen der Anschlüsse, vorzugsweise den seriellen Anschluß. Die Warteperiode kann ungefähr ein ein-Sekunden- Fenster sein, in welcher Zeit PC1 300 mit den vorbereiteten Testprogrammen antworten sollte. Bei Schritt S2606 geht der Vorgang, wenn PC1 300 nicht durch Senden eines Testprogramms zur NEB 2 innerhalb der Fensterzeit antwortet, zu Schritt S2607, bei dem die NEB in ihren normalen Betriebsmodus eintritt.
- Wenn der vom PC1 300 gesetzte Testprogrammbefehl bei Schritt S2606 empfangen wurde, wird der Befehlssatz, der weitere Testprogramme beinhaltet, auf der NEB 2 im DRAM 220 gespeichert (bei Schritt S2608). Bei Schritt S2609 aktiviert PC1 300 den Befehlssatz und die NEB 2 führt jedes Testprogramm innerhalb des Befehlssatzes aus.
- Der Testprogramm-Befehlssatz kann in willkürlicher Ordnung Testprogramme enthalten, die die NEB 2 auffordern, PC2 306 als LAN Peripheriegerät zu konfigurieren oder die die NEB 2 auffordern, PC2 306 als ein SCSI Peripheriegerät zu konfigurieren. In jedem dieser Fälle wird PC2 306 nachdem er konfiguriert wurde, auf jede Kommunikation von der NEB 2 antworten, gewöhnlich durch bloßes Rücksenden der von der NEB geschickten Datenblöcke.
- Kurz, bei Schritt S2610 (Fig. 26B) konfiguriert die NEB 2 den PC2 306 als LAN Peripheriegerät und PC2 306 antwortet der NEB 2 durch Senden einer Antwort, die effektiv einen LAN Schleifentest durchführt, indem sie die empfangenen Daten zurückgibt. NEB 2 kommunizierrt mit PC2 und empfängt simulierte Druckauftragsergebnisse. Bei Schritt S2611 wird das Resultat jedes Blockauftrags zu PC1 300 geschickt. PC2 300 bestimmt, ob das Testergebnis richtig ist. Wird bei Schritt S2611 von PC1 300 bestimmt, daß das Testergebnis nicht richtig ist, schickt PC1 300 ein umgeschriebenes Nebentestprogramm (Schritt S2612) in Übereinstimmung mit dem bei Schritt S2611 empfangenen Testergebnis. Gibt es aber kein Nebentestprogramm, dann stoppt PC1 300 bei Schritt S2612 den LAN Test und gibt ein Fehlersignal aus.
- So wird bei Schritt S2611 die NEB 2 für LAN Kommunikation getestet. Angenommen, die NEB 2 durchläuft erfolgreich jeden LAN Kommunikationstest, geht der Ablauf weiter zu Schritt S2613, bei dem PC2 306 als SCSI Peripheriegerät konfiguriert wird und durch Rückgabe der Daten, die er empfangen hat, SCSI Schleifentests durchführt. Bei Schritt S2614 werden die Ergebnisse der Tests zum PC1 300 geschickt und wenn die Ergebnisse nicht richtig sind, schickt PC1 300 bei Schritt S2615 in Übereinstimmung mit den Testergebnissen genauso einen Nebentest. Natürlich stoppt PC1 300 den Test, wenn kein weiterer Test zum Testen der Peripheriekommunikation vorhanden ist und gibt ein Fehlersignal aus.
- Angenommen, die NEB 2 durchläuft erfolgreich jeden SCSI Kommunikationstest bei. Schritt S2614, geht der Ablauf weiter zu Schritt S2616, bei dem die NEB 2 weitere Befehle vom PC1 300 anfordert. Wenn PC1 300 mit weiteren Befehlen antwortet, geht der Ablauf zu Schritt S 2605 zurück, aber wenn weiteres Testen unnötig ist, endet das Testen der NEB.
- Zusammenfassend beinhaltet ein Verfahren zum Testen einer interaktiven Netzwerkplatine mit LAN Schnittstelle und Testschnittstelle die Schritte der Stromzufuhr zur Platine und des Lesens eines POST Ergebnisses, das aus dem Platinen ROM über die Testschnittstelle ausgeführt wurde und des Herunterladens eines Testprogramms in das Platinen RAM über die Testschnittstelle. Das Testprogramm wird dann zur Ausführung aus dem Platinen ROM aktiviert. An die Platine kann dann der Befehl ergehen, ein Peripheriegerät zu konfigurieren (durch entweder das LAN oder die SCSI Schnittstelle), ein LAN Treiber oder ein SCSI Peripheriegerät zu sein. Die Platine interagiert dann mit dem LAN Treiber oder dem SCSI Peripheriegerät in Übereinstimmung mit dem Testprogramm Ergebnisse des Testprogramms werden dann über die Testschnittstelle zu einem Testcomputer ausgegeben, der diese Testergebnisse empfängt. Gibt es einen Fehler bei bestimmten Tests, können zusätzliche Testprogrammme in Übereinstimmung mit der Art des Fehlers verfasst werden. Die neu verfassten Testprogramme sind in der Lage, Fehlererfassung und Diagnose durchzuführen und diese zusätzlich verfassten Testprogramme können dann vom PC1 zum Platinen RAM heruntergeladen werden.
- Sind einmal alle Tests erfolgreich abgeschlossen, kann es passend sein (in der Testumgebung der Fabrik), die Betriebsfirmware auf das EPROM 222 zu flashen. Besonders der letzte Schritt eines Testprogramms kann dazu verwendet werden, das verlangte Firmwarebild vor der Lieferung in das NEB EPROM 222 zu laden (s. vorstehenden Abschnitt 4q). Die auf das EPROM 222 geflashte Firmware kann auch eine eindeutige MAC Adresse für die NEB 2 enthalten.
- In der Vergangenheit wurden MAC Adressen in Schaltplatinen unter Verwendung eines dafür bestimmten PROM Chips, wie PROM 232 eingefügt. Aber es stellte sich heraus, daß wenn die MAC Adresse ins EPROM geflasht wird, der PROM Chip nicht erforderlich ist, während die MAC Adressse immmer noch auf nicht-flüchtige Weise gespeichert werden kann (natürlich könnte, wie in Paragraph 4q erörtert, die MAC Adresse auch gleichzeitig mit der Aktualisierung des RAM Firmwarebildes, nach Verbindung der NEB 2 mit dem LAN, ins EPROM ferngeflasht werden).
- Bei Schritt S2617 der Fig. 26B wurde das Testen der NEB beendet und jede Platine kann mit ihrer eigenen, individuellen Identifizierungsnummer bezeichnet werden, auf die gewöhnlich als eine MAC Adressse Bezug genommen wird. So wird bei Schritt S2617 bestimmt, ob ein ROM Firmwarebild im EPROM 222 gespeichert werden soll. Soll kein Bild gespeichert werden, ist das Testen vorbei. Soll aber ein Bild gespeichert werden, geht der Ablauf zu Schritt S2618, wo das ROM Bild (mit MAC Adresse) auf das EPROM 222 geflasht wird. Bei Schritt S2618 kann auch wünschenswert sein, andere normalerweise im PROM 232 gespeicherte Daten, wie Platinenrevisionsnummer, Herstellungsdatum, Prüfername usw. zusammen mit der MAC Adresse herunterzuladen.
- Zwei mögliche Szenarien zum Flashen von ROM Firmware und MAC Adresse ins EPROM 222 wurden betrachtet. Im ersten Fall wurde die NEB 2 vorgeladen mit einem hochentwickelten Diagnosesatz zur Verwendung bei Herstellungstests. Dieser Zugang begrenzt den beim Herunterladen spezieller Tests nötigen Zeitaufwand, da sie schon in der Firmware vorhanden sind. In diesem Fall wird nach dem Erfolg der Tests die endgültige Produktionsversion der Firmware in die Platine geladen und zusammen mit der MAC Adressse und anderer auf die Hardware bezogener Information, wie Platinenrevision, Herstellungsdatum und Prüfer (Schritt S2618) geflasht. Im zweiten Fall wird die Platine mit der endgültigen Produktionsversion der Firmware gebaut. In diesem Fall bleibt der platinenspezifische Informationsbereich leer und nur dieser Bereich wird nach erfolgreicher Testausführung bei Schritt S2618 geflasht.
- Zusammenfassend beinhaltet ein Verfahren zum Laden programmierbarer Firmware nach-Tests in eine interaktive Netzwerkplatine mit LAN Schnittstelle den Schritt des Herunterladens eines ROM Firmwarebildes (einschließlich MAC Adresse) über die LAN Schnittstelle ins DRAM 220. Dann wird die Integrität des ROM Bildes bestätigt und die Platine erhält den Befehl, das EPROM elektronisch zu bereinigen. Das EPROM wird dann mit dem ROM Bild, das die MAC Adresse beinhaltet, geflasht und die Platine wird dann vom EPROM aus neu gebootet.
- So ist das was vorstehend detailliert beschrieben wurde eine interaktive Netzwerkschaltplatine mit Aufbau und Funktion zum Verbinden eines Peripheriegeräts mit einem LAN, so daß das Peripheriegerät ein verantwortlicher interaktiver Teil des LAN ist.
- Während die vorliegende Erfindung unter Berücksichtigung dessen, was als bevorzugte Ausführungsbeispiele betrachtet wird, beschrieben wurde, versteht es sich, daß die vorliegende Erfindung nicht auf die offenbarten Ausführungsbeispiele beschränkt ist. Im Gegenteil soll die vorliegende Erfindung verschiedene Modifikationen und gleichwertige Anordnungen, die im Rahmen der beigefügten Ansprüche enthalten sind, abdecken.
Claims (1)
1. Gerät zum Bilden einer durch eine interaktive
Netzwerkplatine ausführbaren Bilddatei, wobei diese in einen
programmierbaren Nur-Lese-Speicher (PROM) geladen werden kann, der
auf der interaktiven Netzwerkplatine installiert werden kann,
mit:
Speicher zum Speichern einer Konfigurationsdatei,
Dienstprogramm zum Bilden der Bilddatei und einer Vielzahl
unabhängig ausführbarer Anwendungsprogramme für die
interaktive Netzwerkplatine; und
Prozessor zum Ausführen programmierbarer Abläufe;
gekennzeichnet dadurch, daß der Prozessor in der Lage
ist, die Konfigurationsdatei aus dem Speicher zu lesen
(Schritt S2101); in Übereinstimmung mit der
Konfigurationsdatei unabhängig ausführbare Anwendungsprogramme aus dem
Speicher zu wählen (Schritt S2102); jedem gewählten
Anwendungsprogramm Daten hinzuzufügen, die dieses Programm kennzeichnen
und auf ein weiteres der gewählten Anwendungsprogramme
hinzuweisen (Schritt S2103); und das Dienstprogramm zum Bilden
einer in das PROM ladbaren Bilddatei auszuführen, wobei die
Bilddatei das gewählte Anwendungsprogramm und die
Identifikations- und Hinweisdaten enthält.
2. Gerät nach Anspruch 1, wobei der Prozessor in der Lage
ist, die Anwendungsprogramme in einer Testumgebung
auszuführen.
3. Gerät nach Anspruch 2, wobei der Prozessor in der Lage
ist, den programmierbaren Ablauf in einer Testumgebung,
enthalten in einer DOS Umgebung, auszuführen und wobei die
Anwendungsprogramme in einer Netzwerkplatinen -
Softtime-Umgebung ausgeführt werden können.
4. Gerät nach jedem der vorstehenden Ansprüche, wobei der
Speicher einen PROM - residenten Kode als eines der
unabhängig ausführbaren Anwendungsprogramme für die interaktive
Netzwerkplatine speichert, der die interaktive
Netzwerkplatine veranlasst, mindestens eines der Anwendungsprogramme in
das RAM zu laden und wobei das Dienstprogramm in der Lage
ist, der Bilddatei den PROM - residenten Kode hinzuzufügen.
5. Gerät nach Anspruch 4, wobei der PROM - residente Kode
in der Lage ist, den Prozessor so zu steuern, dass er beim
Anschalten die Platinensteuerung empfängt, um ausführbare
Anwendungsprogramme in Übereinstimmung mit einem setzbaren
Konfigurationskode ins RAM zu laden und I/O Leistungen für
die Netzwerkplatine zu erbringen.
6. Gerät nach Anspruch 4 oder Anspruch 5, wobei der
Prozessor in der Lage ist, den PROM - residenten Kode an einem Ende
der gewählten Anwendungsprogramme einzuordnen.
7. Gerät nach jedem der vorstehenden Ansprüche, wobei die
Anwendungsprogramme Programme zum Betrieb einer SCSI
Schnittstelle zwischen der Netzwerkplatine und einem Peripheriegerät
enthalten.
8. Gerät nach Anspruch 7, wobei das Peripheriegerät einen
Drucker enthält.
9. Gerät nach Anspruch 7 oder Anspruch 8, wobei die
Anwendungsprogramme Programme zum Koppeln der Netzwerkplatine an
eine LAN Schnittstelle enthalten.
20. Gerät nach jedem der vorstehenden Ansprüche mit der
Netzwerkplatine, wobei der Prozessor einen auf der
Netzwerkplatine angeordneten Mikroprozessor und der Speicher ein auf
der Netzwerkplatine angeordnetes RAM enthält.
11. Gerät nach jedem der vorstehenden Ansprüche, wobei der
Prozessor in der Lage ist, in jedes gewählte
Anwendungsprogramm Identifizierungsdaten mit einem Kopfetikett zu
schreiben, dessen Inhalt das gewählte Anwendungsprogramm
identifiziert, die Attribute des gewählten Anwendungsprogramms
beschreibt und auf das Kopfetikett eines unmittelbar folgenden
Anwendungsprogramms hinweist.
12. Gerät nach jedem der vorstehenden Ansprüche mit
Einrichtung zum Laden der Bilddatei in das PROM.
13. Gerät nach jedem der vorstehenden Ansprüche, wobei der
Prozessor in der Lage ist:
durch Bilden eines Kopfetiketts für jedes gewählte
Anwendungsprogramm jedem gewählten Anwendungsprogramm Daten
hinzuzufügen, wobei das Kopfetikett eine Identifikation des
Anwendungsprogramms, eine Definition der Attribute des
Anwendungsprogramms und einen Hinweis auf ein Kopfetikett eines
weiteren Anwendungsprogramms enthält; und
der Bilddatei ein Programm aus PROM - residentem Kode
anzufügen, der die interaktive Netzwerkplatine veranlasst,
beim Anschalten die Steuerung zu übernehmen, eine
An
schaltselbstüberprüfung vorzunehmen, mindestens einige der
Anwendungsprogramme ins RAM zu laden und grundlegende
Netzwerkplatinen-I/O Leistungen zur Verfügung zu stellen.
14. Gerät nach Anspruch 10, mit RAM auf der Netzwerkplatine
zum Empfangen eines vorbestimmten Teilsatzes der unabhängig
ausführbaren Anwendungsprogramme, wobei der Prozessor in der
Lage ist, den Teilsatz der unabhängig ausführbaren
Anwendungsprogramme aus dem PROM ins RAM zu laden, den Teilsatz
der unabhängig ausführbaren Anwendungsprogramme im RAM
auszuführen und durch die Ausführung der Anwendungsprogramme
erzeugte Befehle zu einem mit der Netzwerkplatine gekoppelten
Peripheriegerät des lokalen Bereichsnetzwerks (LAN) zu
übertragen.
15. Gerät nach Anspruch 14 mit Einrichtung zum Empfang von
Daten aus dem LAN Peripheriegerät und zum Laden der
empfangenen Daten in das RAM, wobei der Prozessor in der Lage ist,
bestimmte aus dem Teilsatz unabhängig ausführbarer
Anwendungsprogramme im RAM unter Verwendung der empfangenen Daten
auszuführen.
16. Gerät nach Anspruch 15 mit einer LAN Schnittstelle,
wobei der Prozessor in der Lage ist, von den ausgeführten
Anwendungsprogrammen erzeugte Daten über die LAN
Schnittstelle zu einem LAN zu übertragen.
17. Verfahren, durchgeführt von einem Prozessor, zum Bilden
einer durch eine interaktive Netzwerkplatine ausführbaren
Bildatei, wobei diese in einen programmierbaren Nur-Lese-
Speicher (PROM) geladen werden kann, der auf der interaktiven
Netzwerkplatine installiert werden kann, mit:
Lesen einer Konfigurationsdatei aus einem Speicher
(Schritt S2101);
Wählen unabhängig ausführbarer Anwendungsprogramme aus
dem Speicher in Übereinstimmung mit der Konfigurationsdatei
(Schritt S2102);
Hinzufügen von Daten zu jedem gewählten
Anwendungsprogramm, die das Programm identifizieren und auf ein weiteres
der gewählten Anwendungsprogramme hinweisen (Schritt S2103)
und
Ausführen eines im Speicher gespeicherten
Dienstprogramms zum Bilden einer in das PROM ladbaren Bilddatei,
welche die gewählten Anwendungsprogramme und die
Identifizierungs- und Hinweisdaten enthält.
18. Verfahren nach Anspruch 17, wobei die
Anwendungsprogramme in einer Testumgebung ausgeführt werden.
19. Verfahren nach Anspruch 18, wobei die Testumgebung in
einer DOS Umgebung enthalten ist und die Anwendungsprogramme
in einer Netzwerkplatinen - Softtime-Umgebung ausgeführt
werden.
20. Verfahren nach jedem der Ansprüche 17 bis 19, wobei der
Speicher als eines der unabhängig ausführbaren
Anwendungsprogramme für die interaktive Netzwerkplatine einen PROM -
residenten Kode speichert, der die interaktive
Netzwerkplatine veranlasst, mindestens eines der Anwendungsprogramme in
das RAM zu laden und wobei das Dienstprogramm ausgeführt
wird, um der Bilddatei den PROM - residenten Kode
hinzuzufügen.
21. Verfahren nach Anspruch 20, wobei der PROM - residente
Kode ausgeführt wird, beim Anschalten die Platinensteuerung
zu empfangen, um ausführbare Anwendungsprogramme in
Übereinstimmung mit einem setzbaren Konfigurationskode ins RAM zu
laden und I/O Leistungen für die Netzwerkplatine zu
erbringen.
22. Verfahren nach Anspruch 20 oder Anspruch 21, wobei der
PROM - residente Kode an einem Ende der gewählten
Anwendungsprogramme eingeordnet wird.
23. Verfahren nach jedem der Ansprüche 17 bis 22, wobei die
Anwendungsprogramme Programme zum Betrieb einer SCSI
Schnittstelle zwischen der Netzwerkplatine und einem Peripheriegerät
enthalten.
24. Verfahren nach Anspruch 23, wobei das Peripheriegerät
einen Drucker enthält.
25. Verfahren nach Anspruch 23 oder Anspruch 24, wobei die
Anwendungsprogramme Programme zum Koppeln der Netzwerkplatine
an eine LAN Schnittstelle enthalten.
26. Verfahren nach jedem der Ansprüche 17 bis 25, ausgeführt
durch einen Mikroprozessor auf der Netzwerkplatine.
27. Verfahren nach jedem der Ansprüche 17 bis 26, wobei der
Prozessor in jedes gewählte Anwendungsprogramm
Identifizierungsdaten mit einem Kopfetikett schreibt, dessen Inhalt das
gewählte Anwendungsprogramm identifiziert, die Attribute des
gewählten Anwendungsprogramms beschreibt und auf das
Kopfetikett eines unmittelbar folgenden Anwendungsprogramms
hinweist.
28. Verfahren nach jedem der Ansprüche 17 bis 27, darüber
hinaus mit Laden der Bilddatei ins PROM.
29. Verfahren nach jedem der Ansprüche 17 bis 28, wobei der
Schritt des Hinzufügens das Bilden eines Kopfetiketts für
jedes gewählte Anwendungsprogramm beinhaltet, wobei das
Anwendungsprogramm eine Identifikation des
Anwendungsprogramms, eine Definition der Attribute des Anwendungsprogramms
und einen Hinweis auf ein Kopfetikett eines weiteren
Anwendungsprogramms enthält, und wobei der Ausführungsschritt
enthält, der Bilddatei ein Programm aus PROM - residentem
Kode anzufügen, der die interaktive Netzwerkplatine
veranlasst, beim Anschalten die Steuerung zu übernehmen, eine
Anschaltselbstüberprüfung vorzunehmen, mindestens einige der
Anwendungsprogramme ins RAM zu laden und grundlegende
Netzwerkplatinen-I/O Leistungen zur Verfügung zu stellen.
30. Verfahren nach Anspruch 26, wobei die Netzwerkplatine
ein RAM beinhaltet, wobei ein vorbestimmter Teilsatz der
unabhängig ausführbaren Anwendungsprogramme vom PROM ins RAM
geladen wird, der Teilsatz der Anwendungsprogramme vom
Prozessor ausgeführt wird und von den ausgeführten
Anwendungsprogrammen erzeugte Befehle zu einem mit der Netzwerkplatine
gekoppelten lokalen Bereichsnetzwerk- (LAN) Peripheriegerät
übertragen werden.
31. Verfahren nach Anspruch 30, mit Empfangen von Daten aus
dem LAN Peripheriegerät, Laden der empfangenen Daten in das
RAM und Ausführen der bestimmten aus den Teilsätzen der
unabhängig ausführbaren Anwendungsprogramme im RAM unter
Verwendung der empfangenen Daten.
32. Verfahren nach Anspruch 31 mit Übertragen von von den
ausgeführten Anwendungsprogrammen erzeugten Daten über eine
LAN Schnittstelle zu einem LAN.
33. Speichermedium zum Speichern von durch einen Prozessor
ausführbaren Befehlen zum Steuern eines Prozessors zur
Durchführung des Verfahrens nach einem der Ansprüche 17 bis 32.
34. Prozessorausführbare Befehle zum Steuern eines
Prozessors zur Durchführung des Verfahrens nach einem der Ansprüche
17 bis 32.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US07/978,282 US5530862A (en) | 1992-11-18 | 1992-11-18 | In an interactive network board, method and apparatus for loading independently executable modules in prom |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE69329056D1 DE69329056D1 (de) | 2000-08-24 |
| DE69329056T2 true DE69329056T2 (de) | 2001-03-22 |
Family
ID=25525938
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE69329056T Expired - Lifetime DE69329056T2 (de) | 1992-11-18 | 1993-10-28 | Verfahren und Gerät zum Laden unabhängig ausführbarer Programme in einen Festwertspeicher |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5530862A (de) |
| EP (1) | EP0598505B1 (de) |
| JP (1) | JP3412881B2 (de) |
| DE (1) | DE69329056T2 (de) |
Families Citing this family (39)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3187624B2 (ja) * | 1993-11-19 | 2001-07-11 | 京セラミタ株式会社 | 通信機能を備えた機器の内蔵プログラム更新方法 |
| JPH0830408A (ja) * | 1994-05-13 | 1996-02-02 | Canon Inc | 印刷装置及びシステム及びその制御方法 |
| US5515581A (en) * | 1994-05-17 | 1996-05-14 | Kaufmann; Eli | Magnetic safety snap locking device |
| US6246774B1 (en) | 1994-11-02 | 2001-06-12 | Advanced Micro Devices, Inc. | Wavetable audio synthesizer with multiple volume components and two modes of stereo positioning |
| US5781710A (en) * | 1995-06-07 | 1998-07-14 | Xerox Corporation | Generic method for scheduling print engines using print engine capabilities |
| US5828864A (en) * | 1995-06-09 | 1998-10-27 | Canon Information Systems, Inc. | Network board which responds to status changes of an installed peripheral by generating a testpage |
| US5828863A (en) * | 1995-06-09 | 1998-10-27 | Canon Information Systems, Inc. | Interface device connected between a LAN and a printer for outputting formatted debug information about the printer to the printer |
| US6067407A (en) * | 1995-06-30 | 2000-05-23 | Canon Information Systems, Inc. | Remote diagnosis of network device over a local area network |
| US5740431A (en) * | 1996-01-24 | 1998-04-14 | Electronic Data Systems Corporation | Configuration file management |
| JPH1097414A (ja) * | 1996-09-19 | 1998-04-14 | Toshiba Corp | 携帯型情報機器およびプログラム起動制御方法 |
| US5991763A (en) * | 1996-10-29 | 1999-11-23 | Sun Microsystems, Inc. | Method and apparatus for embedding concatenated data files into object files during runtime in a virtual file system |
| US6340978B1 (en) * | 1997-01-31 | 2002-01-22 | Making Everlasting Memories, Ltd. | Method and apparatus for recording and presenting life stories |
| US7657835B2 (en) * | 1997-01-31 | 2010-02-02 | Making Everlasting Memories, L.L.C. | Method and system for creating a commemorative presentation |
| US6144992A (en) * | 1997-05-09 | 2000-11-07 | Altiris, Inc. | Method and system for client/server and peer-to-peer disk imaging |
| JP3622444B2 (ja) * | 1997-09-26 | 2005-02-23 | ノーリツ鋼機株式会社 | 写真処理機及びその動作制御情報更新システム |
| US5930515A (en) * | 1997-09-30 | 1999-07-27 | Scientific-Atlanta, Inc. | Apparatus and method for upgrading a computer system operating system |
| US6226667B1 (en) * | 1998-05-26 | 2001-05-01 | International Business Machines Corporation | Method and apparatus for preloading data in a distributed data processing system |
| US6080207A (en) * | 1998-06-04 | 2000-06-27 | Gateway 2000, Inc. | System and method of creating and delivering software |
| WO2000029944A1 (en) * | 1998-11-16 | 2000-05-25 | Cardsoft International Pty Limited | Method and apparatus for programming computing devices |
| JP2001243157A (ja) * | 2000-02-28 | 2001-09-07 | Canon Inc | ネットワークシステム、ダウンロード装置、サーバ、ネットワーク管理方法 |
| US7552216B2 (en) | 2001-03-27 | 2009-06-23 | Lexmark International, Inc. | Method of sharing a printer |
| US7610366B2 (en) * | 2001-11-06 | 2009-10-27 | Canon Kabushiki Kaisha | Dynamic network device reconfiguration |
| JP4174411B2 (ja) * | 2003-10-30 | 2008-10-29 | キヤノン株式会社 | ジョブ管理装置、ジョブ管理方法、及びジョブ管理用プログラム |
| US7500220B1 (en) * | 2003-12-30 | 2009-03-03 | The Mathworks, Inc. | Shared code management |
| US20050229171A1 (en) * | 2004-04-07 | 2005-10-13 | Henry Steven G | Distributing upgrades |
| US7748031B2 (en) | 2005-07-08 | 2010-06-29 | Sandisk Corporation | Mass storage device with automated credentials loading |
| US7536540B2 (en) * | 2005-09-14 | 2009-05-19 | Sandisk Corporation | Method of hardware driver integrity check of memory card controller firmware |
| US20070061597A1 (en) * | 2005-09-14 | 2007-03-15 | Micky Holtzman | Secure yet flexible system architecture for secure devices with flash mass storage memory |
| US20100299621A1 (en) * | 2009-05-20 | 2010-11-25 | Making Everlasting Memories, L.L.C. | System and Method for Extracting a Plurality of Images from a Single Scan |
| US20110161166A1 (en) * | 2009-12-30 | 2011-06-30 | Mindrum G Scott | System and method for capturing, processing, and presenting information |
| CN103176805B (zh) * | 2011-12-21 | 2017-09-19 | 富泰华工业(深圳)有限公司 | 可执行程序安装的方法及系统 |
| US9819436B2 (en) | 2013-08-26 | 2017-11-14 | Coriant Operations, Inc. | Intranodal ROADM fiber management apparatuses, systems, and methods |
| US9588758B1 (en) | 2015-12-18 | 2017-03-07 | International Business Machines Corporation | Identifying user managed software modules |
| US9996334B2 (en) * | 2016-09-21 | 2018-06-12 | International Business Machines Corporation | Deploying and utilizing a software library and corresponding field programmable device binary |
| US10599479B2 (en) | 2016-09-21 | 2020-03-24 | International Business Machines Corporation | Resource sharing management of a field programmable device |
| US10572310B2 (en) | 2016-09-21 | 2020-02-25 | International Business Machines Corporation | Deploying and utilizing a software library and corresponding field programmable device binary |
| US10417012B2 (en) | 2016-09-21 | 2019-09-17 | International Business Machines Corporation | Reprogramming a field programmable device on-demand |
| US10355945B2 (en) | 2016-09-21 | 2019-07-16 | International Business Machines Corporation | Service level management of a workload defined environment |
| JP7583353B2 (ja) * | 2020-07-02 | 2024-11-14 | 京セラドキュメントソリューションズ株式会社 | 電子機器 |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4974199A (en) * | 1984-06-28 | 1990-11-27 | Westinghouse Electric Corp. | Digital IC-microcomputer interface |
| US4742483A (en) * | 1985-05-14 | 1988-05-03 | Minolta Camera Company, Ltd. | Laser printer maintenance system |
| US5007013A (en) * | 1986-04-01 | 1991-04-09 | Westinghouse Electric Corp. | Bidirectional communication and control network with programmable microcontroller interfacing digital ICS and controlled product |
| US4866664A (en) * | 1987-03-09 | 1989-09-12 | Unisys Corporation | Intercomputer communication control apparatus & method |
| JP2755622B2 (ja) * | 1988-10-24 | 1998-05-20 | 株式会社東芝 | 画像形成装置 |
| US5123089A (en) * | 1989-06-19 | 1992-06-16 | Applied Creative Technology, Inc. | Apparatus and protocol for local area network |
| JPH04211896A (ja) * | 1990-03-06 | 1992-08-03 | Omron Corp | プログラム作成装置およびこの装置を用いたデータ処理システム |
| US5075875A (en) * | 1990-04-20 | 1991-12-24 | Acuprint, Inc. | Printer control system |
| GB9018989D0 (en) * | 1990-08-31 | 1990-10-17 | Ncr Co | Work station and method for configuring thereof |
| JPH04291538A (ja) * | 1991-03-19 | 1992-10-15 | Fujitsu Ltd | 予備回線を使用したダウンロード方式 |
| US5323393A (en) * | 1992-11-18 | 1994-06-21 | Canon Information Systems, Inc. | Method and apparatus for obtaining and for controlling the status of a networked peripheral |
-
1992
- 1992-11-18 US US07/978,282 patent/US5530862A/en not_active Expired - Lifetime
-
1993
- 1993-10-28 EP EP93308605A patent/EP0598505B1/de not_active Expired - Lifetime
- 1993-10-28 DE DE69329056T patent/DE69329056T2/de not_active Expired - Lifetime
- 1993-11-16 JP JP28644293A patent/JP3412881B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| US5530862A (en) | 1996-06-25 |
| DE69329056D1 (de) | 2000-08-24 |
| JPH06214910A (ja) | 1994-08-05 |
| JP3412881B2 (ja) | 2003-06-03 |
| EP0598505A3 (en) | 1994-08-24 |
| HK1012740A1 (en) | 1999-08-06 |
| EP0598505B1 (de) | 2000-07-19 |
| EP0598505A2 (de) | 1994-05-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE69326416T2 (de) | Verfahren und Gerät zum ferngesteuerten Laden und Ausführen von Dateien in einen Speicher | |
| DE69329056T2 (de) | Verfahren und Gerät zum Laden unabhängig ausführbarer Programme in einen Festwertspeicher | |
| 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 | |
| DE69315964T2 (de) | Verfahren und Vorrichtung zum Speichern einer Mediumzugrifts-Steueradresse in einem fernveränderbaren Speicher | |
| DE69315961T2 (de) | Verfahren und Gerät zum Setzen eines Peripheriegerätes in eine Standardkonfiguration | |
| DE69319853T2 (de) | Verfahren und Gerät zum Betrieb einer peripheren Einrichtung in einem Netz | |
| DE69319567T2 (de) | Verfahren und Gerät zur operationsfähigen Konfigurationsbildung einer Schnittstellenkarte | |
| 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 | |
| DE69323840T2 (de) | Verfahren und Gerät zur Fernveränderung von, in einer an eine peripherale Netzeinrichtung gekoppelte Schnittstelle, gespeicherte Programme | |
| DE69329818T2 (de) | Verfahren und Vorrichtung zur Schnittstellenbildung zwischen einem Peripheriegerät und einem lokalen Netzwerk | |
| DE69326421T2 (de) | Verfahren und Vorrichtung zur Gewinnung und Steuerung des Zustandes eines Peripheregerätes in einem Netz | |
| DE69333496T2 (de) | Verfahren, Netzwerk und Schnittstellenmodul für Verwaltung des Zugangs zu einer peripheren Einrichtung in einem Netz | |
| DE69322743T2 (de) | Verfahren und Vorrichtung zur Verhinderung der unabsichtlichen Löschung gespeicherter Daten | |
| 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 |