DE69636444T2 - Protokollunabhängige, anpassungsfähige Netzwerkschnittstelle - Google Patents

Protokollunabhängige, anpassungsfähige Netzwerkschnittstelle Download PDF

Info

Publication number
DE69636444T2
DE69636444T2 DE69636444T DE69636444T DE69636444T2 DE 69636444 T2 DE69636444 T2 DE 69636444T2 DE 69636444 T DE69636444 T DE 69636444T DE 69636444 T DE69636444 T DE 69636444T DE 69636444 T2 DE69636444 T2 DE 69636444T2
Authority
DE
Germany
Prior art keywords
protocol
access
network
application program
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69636444T
Other languages
English (en)
Other versions
DE69636444D1 (de
Inventor
Chiu Ming Anaheim Man
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Application granted granted Critical
Publication of DE69636444D1 publication Critical patent/DE69636444D1/de
Publication of DE69636444T2 publication Critical patent/DE69636444T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0213Standardised network management protocols, e.g. simple network management protocol [SNMP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0226Mapping or translating multiple network management protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions

Description

  • Die vorliegende Erfindung bezieht sich auf ein Verfahren zum Übertragen von Daten zwischen Anwendungsprogrammen, die auf verschiedenen Vorrichtungen laufen, die Schnittstellen mit einem lokalen Bereichsnetzwerk aufweisen, und insbesondere auf ein Verfahren zum Übertragen von Daten zwischen Anwendungsprogrammen unabhängig von jedwedem spezifischen Protokoll.
  • Computerisierte lokale Bereichsnetzwerke (LANs, „local area networks") werden weithin zum Untereinanderverbinden von vielen unterschiedlichen Computern und Peripheriegeräten verwendet, um Benutzern der Computer zu ermöglichen, miteinander zu kommunizieren, und ebenso, um jenen Benutzern einen gemeinsam verwendeten Zugriff auf die Peripheriegeräte zu ermöglichen. Jüngste Entwicklungen bei LANs zeigten die Einführung sogenannter „heterogener" LANs auf, d. h. LANs, auf denen viele unterschiedliche Kommunikationsprotokolle auf einem einzelnen Ethernet- oder Token-Ring-Medium getragen werden. Beispiele unterschiedlicher Protokolle sind IPX, das typischerweise von DOS-basierten PCs verwendet wird, UDP/IP, das typischerweise von UNIX-basierten Workstations verwendet wird, und DDP, das typischerweise von Macintosh-Computer verwendet wird. Jede Art von Computer oder Workstation kann durch Software unter Verwendung einer Mehrzahl von unterschiedlichen Protokollen zum Kommunizieren eingerichtet werden.
  • Ein Peripheriegerät kann ebenso Software enthalten, d. h. eine Mehrzahl von Protokollstapelmodulen, die dem Peripheriegerät ermöglicht, unter Verwendung einer Mehrzahl von Protokollen zu kommunizieren, um auf einem heterogenen LAN gemeinsam verwendet zu werden. Ein Protokollstapel ist ein Softwaremodul, das Datenpakete verarbeitet, die unter Verwendung des entsprechenden Protokolls von dem LAN empfangen oder zu diesem gesendet werden. Die Protokollstapel und die assoziierte Software niedrigerer Ebenen für Netzwerkkommunikationen werden typischerweise in einer Netzwerkschnittstellenvorrichtung, die in das Peripheriegerät eingebettet oder an dieses angebracht sein kann, gespeichert und ausgeführt. Die Netzwerkschnittstellenvorrichtung dient als eine Schnittstelle, die dem Peripheriegerät ermöglicht, mit anderen Netzwerkvorrichtungen über das LAN zu kommunizieren.
  • Netzwerkvorrichtungen, d. h. Netzwerkschnittstellenvorrichtungen und Computer, die eine Schnittstelle mit dem LAN aufweisen, führen ebenso Anwendungsprogramme aus. Diese Programme laufen auf einer Ebene überhalb der Protokollstapel ab und können beispielsweise Serverprogramme, Verwaltungsprogramme, die eine Kommunikation zwischen einem Computer und einem Peripheriegerät zum Konfigurieren oder Erhalten von Statusdaten von dem Peripheriegerät, und andere Programme enthalten, die Daten zwischen unterschiedlichen Vorrichtungen kommunizieren können, die eine Schnittstelle mit dem LAN aufweisen. Beispielbezogene Verwaltungsprogramme enthalten Programme, die ein SNMP (einfaches Netzwerkverwaltungsprotokoll, „Simple Network Management Protocol") und CMIP (allgemeines Verwaltungsinformationsprotokoll, „Common Management Information Protocol") implementieren. Es kann mehr als ein derartiges Verwaltungsprogramm auf einer einzelnen Netzwerkvorrichtung zur selben Zeit ablaufen.
  • Die Druckschrift US-A-5,301,303 offenbart eine Netzwerkkomponente in der Form eines Mehrkanalkonzentrators, der eine Anzahl von physikalischen Kommunikationskanälen zur Verbindung zu LANs bereitstellt, die unterschiedliche physikalische Medien, wie verdrillte Paare, koaxiale oder faseroptische, und/oder Kommunikationsprotokolle, wie Ethernet, Faserverteilungsdatenschnittstelle (FDDI, „fibre distriubtion data Interface"), Token-Bus und Token-Ring, aufweisen. Eine Anzahl von Medienverteilungsmodulen, die zum Implementieren eines einzelnen Protokolls wirksam sind und die Ports zur Verbindung mit einem spezifischen Medium aufweisen, stellen eine Verbindung zwischen dem einzelnen Medium und dem Verbinder bereit. Somit kann ein Netzwerk über ein Medienverteilungsmodul an den Konzentrator angebunden sein, um eine Verbindung mit einem anderen Netzwerk einzurichten. Wirkungs- und Wurzelmodule innerhalb des Konzentrators ermöglichen eine Kommunikation zwischen unterschiedlichen Kanälen und unterschiedlichen Netzwerken, die unterschiedliche Protokolle aufweisen, indem entweder ein Protokoll in ein anderes umgewandelt wird, oder indem Übertragungen gefiltert werden.
  • Die Druckschrift EP-A-0 288 713 offenbart eine Eingabe-/Ausgabesteuervorrichtung, die einen Hostcomputer an eine Vorrichtung in einem Informationsverarbeitungssystem ankoppelt. Jede Eingabe-/Ausgabevorrichtung weist eine assoziierte Steuertabelle zum Beziehen der Vorrichtung auf Programmanweisungen auf, die in der ein Kommunikationsprotokoll definierenden Steuereinrichtung gespeichert sind. Sind Daten zwischen der Eingabe-/Ausgabevorrichtung und dem Hostcomputer zu übertragen, dann werden Informationen in der Steuertabelle zum Aufrufen von Programmanweisungen verwendet, um das korrekte Kommunikationsprotokoll zum Leiten des Übermittelns der Daten zu der Eingabe-/Ausgabevorrichtung einzusetzen.
  • In einem herkömmlichen Ansatz kommuniziert ein Anwendungsprogramm über eine Anwendungsprogrammierschnittstelle (API, „application programming Interface") mit einem Protokollstapel und verwendet den Protokollstapel zum Durchführen von Kommunikationsdiensten. Ein Anwendungsprogramm muss unterschiedliche APIs verwenden, um eine Schnittstelle mit jedem unterschiedlichen Protokollstapel zu bilden. Dies bedeutet, dass das Anwendungsprogramm sich der einzelnen Netzwerkumgebung, d. h. dem in Verwendung befindlichen Protokoll und der spezifischen, zu verwendenden Netzwerk-API, bewusst sein muss.
  • Der herkömmliche Ansatz führt zu vielen Schwierigkeiten. Muss ein Anwendungsprogramm eine Mehrzahl von Netzwerkprotokollen unterstützen, dann ist ein vermehrter Aufwand für die Anwendungssoftware erforderlich, um die unterschiedlichen APIs zu behandeln. Beispielsweise muss ein SNMP-Programm Softwarecode zum Kommunizieren mit einem IPX-Protokollstapel und einem DDP-Protokollstapel zusätzlich zu Code zum Kommunizieren mit einem UDP-Protokollstapel enthalten. Des Weiteren erfordert ein CMIP-Programm oder jedwede andere Anwendung ebenso den Sondercode zum Kommunizieren mit unterschiedlichen Protokollstapeln. Im Ergebnis erfordern Anwendungsprogramme, die zum Unterstützen einer Mehrzahl von Protokollen unter Verwendung des herkömmlichen Ansatzes entworfen sind, einen komplexeren Entwurf, weisen eine längere Entwicklungszeit auf, weisen eine geringere Ortsveränderbarkeit auf, und weisen höhere Wartungskosten als Anwendungsprogramme auf, die ein einzelnes Protokoll unterstützen.
  • Dementsprechend ist eine Art und Weise für Anwendungsprogramme erforderlich, um mit Anwendungsprogrammen auf andere Netzwerkvorrichtungen unabhängig von einem spezifischen Protokoll zu kommunizieren.
  • Dem vorstehend beschriebenen Erfordernis wendet sich die Erfindung zu, in der Daten zwischen Anwendungsprogrammen übertragen werden, die auf unterschiedlichen Vorrichtungen unabhängig von einem spezifischen Protokoll laufen. Gemäß der Erfindung ist ein Verfahren zum Zuführen eines Datenpakets bereitgestellt, das von einem ersten Anwendungsprogramm empfangen wird, das auf einer ersten Vorrichtung läuft, die eine Schnittstelle zu einem lokalen Bereichsnetzwerk aufweist, zu einem zweiten Anwendungsprogramm, das auf einer zweiten Vorrichtung läuft, die eine Schnittstelle zu dem lokalen Bereichsnetzwerk aufweist, wobei das Verfahren die Schritte umfasst:
    Empfangen eines protokollunabhängigen Datenpakets von dem ersten Anwendungsprogramm zusammen mit Daten, die das erste Anwendungsprogramm identifizieren, und einer Ziel-ID, die das zweite Anwendungsprogramm identifiziert,
    Bestimmen, welche Protokolle in dem lokalen Bereichsnetzwerk zur Verwendung zur Verfügung stehen, und
    Zuweisen einer jeweiligen Zugriffsleitung zu jedem der Protokolle, die in dem lokalen Bereichsnetzwerk zur Verwendung zur Verfügung stehen,
    wobei das Verfahren gekennzeichnet ist durch die Schritte:
    Auswählen, aus den zur Verfügung stehenden Protokollen, des Protokolls, das der den geringsten Verkehr aufweisenden Zugriffsleitung zugewiesen ist,
    Bestimmen von protokollspezifischen Informationen, die eine Art eines Protokoll-Headers und Adressinformationen in dem Header enthalten, die Daten entsprechen, die das erste Anwendungsprogramm und das in dem Auswahlschritt ausgewählte Protokoll identifizieren,
    Bilden eines Übertragungspakets, das das Datenpaket, die Ziel-ID und die bestimmten protokollspezifischen Informationen enthält, und
    Übertragen des Übertragungspakets über das lokale Bereichsnetzwerk zu dem zweiten Anwendungsprogramm.
  • Mittels dieser Anordnung kann ein Datenpaket, das von einem Anwendungsprogramm ohne jedwede ein Protokoll spezifizierende Daten empfangen wird, zu einem anderen Anwendungsprogramm lediglich auf der Grundlage von Informationen übertragen werden, die die Quell- und Zielprogramme identifizieren, die von dem einen Anwendungsprogramm empfangen sind.
  • Kurzbeschreibung der Zeichnungen
  • Es zeigen:
  • 1 eine Darstellung eines lokalen Bereichsnetzwerks,
  • 2 eine Darstellung der Softwarearchitektur, die für eine Kommunikation zwischen Anwendungsprogrammen gemäß einem beispielbezogenen Ausführungsbeispiel der Erfindung verwendet wird,
  • 3 eine Darstellung der Funktionsbeziehungen zwischen Softwaremodulen, die auf einem Computer und einer Netzwerkschnittstellenvorrichtung laufen,
  • 4 eine funktionelle Blockdarstellung einer Netzwerkerweiterungsplatine zum Bilden von Schnittstellen für einen Drucker zu einem lokalen Bereichsnetzwerk,
  • 5 Softwaremodule, die in einem Speicher auf der Netzwerkerweiterungsplatine gespeichert werden können,
  • 6 ein Ablaufdiagramm der Prozessschritte zum Übertragen eines Datenpakets zwischen einem ersten Anwendungsprogramm, das auf einer ersten Netzwerkvorrichtung läuft, und einem zweiten Anwendungsprogramm, das auf einer zweiten Netzwerkvorrichtung läuft,
  • 7A und 7B Beispiele von Protokollabbildungstabellen, die durch protokollunabhängige Schnittstellen erstellt sind,
  • 8A und 8B Beispiele von Zugriffs-ID-Abbildungstabellen, die durch protokollunabhängige Schnittstellen erstellt sind,
  • 9A und 9B Beispiele von Protokolladressabbildungstabellen, die durch protokollunabhängige Schnittstellen erstellt sind,
  • 10A bis 10C Beispiele von Übertragungspaketformaten zur Verwendung mit unterschiedlichen Protokollen, und
  • 11 ein Ablaufdiagramm von Prozessschritten zum Empfangen eines Datenpakets, das von einem ersten Anwendungsprogramm, das auf einer Netzwerkvorrichtung läuft, zu einem anderen Anwendungsprogramm gesendet wird, das auf einer anderen Netzwerkvorrichtung läuft.
  • BESCHREIBUNG EINES BEISPIELBEZOGENEN AUSFÜHRUNGSBEISPIELS
  • [1. Systemübersicht]
  • 1 zeigt eine Darstellung eines heterogenen Netzwerksystems, das mehrere unterschiedliche Arten von Computern und mehrere unterschiedliche Peripheriegeräte enthält, auf die Computer gemeinsam zugreifen können. Die Erfindung kann ebenso bei Vorrichtungen verwendet werden, die mit einem homogenen Netzwerk verbunden sind, d. h. einem Netzwerk, in dem jede Vorrichtung das selbe Protokoll verwendet.
  • Gemäß 1 ist LAN 10 als ein Ethernet-Medium dargestellt, das eine busartige Architektur aufweist, es kann aber ebenso ein Token-Ring-Medium verwendet werden, das eine ringartige Architektur aufweist. Es sind mit dem LAN 10 ein PC 20, der als ein Systemadministratorcomputer dient, ein PC 30, der als ein Druckserver für Drucker 85 und 95 dient, ein Macintosh-Computer 40, eine UNIX-Workstation 50 und eine allgemeine Workstation 60, die eine Steuereinheit 61 und eine Anzeige 62 aufweist, verbunden. Ein Dateien-Server 70 ermöglicht gemeinsam verwendeten Zugriff auf eine Netzwerkplatte 75. Eine Netzwerkerweiterungsplatine (NEB, „Network Expansion Board") 100 ermöglicht einen gemeinsam verwendeten Zugriff auf einen Drucker 105, und eine Netzwerkerweiterungseinrichtung (NED, „Network Expansion Device") 110 ermöglicht gemeinsam verwendeten Zugriff auf einen Drucker 115. Außerdem ermöglicht eine Netzwerkschnittstellenplatine (NIB, „Network Interface Board") 120 einen gemeinsam verwendeten Zugriff über eine Mehrfachvorrichtungssteuereinrichtung (MDC, „Multiple Device Controller") 130 auf einem Kopierer 135.
  • Die Erfindung bezieht sich auf eine Kommunikation zwischen Anwendungsprogrammen, die auf unterschiedlichen Netzwerkvorrichtungen laufen. Eine bevorzugte Form der Erfindung ist nachstehend im Zusammenhang einer Kommunikation zwischen PC 20 und NEB 100 beschrieben. Die Erfin dung ist jedoch allgemein bei Computern und eingebetteten Netzwerkvorrichtungen anwendbar. Dementsprechend kann die Erfindung bei einer Kommunikation zwischen anderen Computern, wie einem Macintosh-Computer 40, einer UNIX-Workstation 50, einer allgemeinen Workstation 60 und anderen Netzwerkschnittstellengeräten, wie eine NED 110 (ein Beispiel derer ist in der ebenfalls anhängigen US-Patentanmeldung S.N. 08/489,116 beschrieben, die am 9. Juni 1995 eingereicht wurde und den Titel „Outputting a Network Device Log File" trägt) und eine NIB 120 (ein Beispiel derer ist in der US-Patentanmeldung S.N. 08/409,034 (die der europäischen Anmeldung Nr. 96 301 994.8 entspricht) beschrieben, die am 23. März 1995 eingereicht wurde und den Titel „Network Interface Board for Digital Copierer" trägt, die dem Rechtsnachfolger der Erfindung überschrieben ist), angewendet werden.
  • Die Erfindung kann ebenso bei einer Kommunikation zwischen Anwendungsprogrammen angewendet werden, die auf unterschiedlichen Computern laufen, die die Fähigkeit zum Verwenden einer Mehrzahl von Protokollen aufweisen. Des Weiteren ist die Erfindung nicht auf Netzwerkanwendungen beschränkt, sondern kann statt dessen für Vorrichtungen verwendet werden, die eine direkte Verbindung durch jedwede bidirektionale Schnittstelle, z.B. einen gemeinsam verwendeten Speicher, eine SCSI-Schnittstelle, eine RS-1284-Parallelschnittstelle oder dergleichen aufweisen.
  • [2. Softwarearchitektur]
  • 2 zeigt die Softwarearchitektur von Programmmodulen, die auf einer Netzwerkvorrichtung, wie der NEB 100, laufen. Ähnliche Software läuft auf einem Computer, wie dem PC 20. Eine Netzwerkschnittstellenansteuereinrichtung 210 ist die tiefste Softwareebene, die eine Schnittstelle mit dem LAN 10 bildet und das Senden und Empfangen von Paketen im LAN 10 durch Hinzufügen oder Abtrennen von Paketrahmenheadern verwaltet. Die Netzwerkschnittstellenansteuereinrichtung 210 enthält eine medienartspezifische Komponente, die entweder für ein Ethernet- oder ein Token-Ring-Netzwerkmedium entworfen ist und die eine Vielzahl von logischen Platinen zum jeweiligen Verarbeiten von Paketen, die unterschiedliche Rahmenarten aufweisen, enthält. Ein Multiplexersoftwaremodul 220 dient als ein Multiplexer, der Pakete zwischen der Netzwerkschnittstellenansteuereinrichtung 210 und einem oder mehreren Protokollstapeln verkehrslenkt. Jeder Protokollstapel empfängt Pakete, die das entsprechende Protokoll verwenden, bestimmt, was mit den Paketen zu tun ist, und verkehrslenkt die Pakete zu den geeigneten Anwendungsprogrammen zur Weiterverarbeitung. Das bevorzugte Ausfürungsbeispiel unterstützt drei Protokollstapel: IPX-Stapel 230, UDP-Stapel 231 und DDP-Stapel 232. Es können womöglich nicht alle Protokollstapel in eine einzelne Vorrichtung geladen werden. Es können ferner zusätzliche Stapel für andere Protokolle enthalten sein. In der bevorzugten Ausführungsbeispiel gehen die Netzwerkschnittstellenansteuereinrichtung 210, das Multiplexersoftwaremodul 220 und Protokollstapel 230 bis 232 konform mit der offenen Datenanbindungsschnittstellen- (ODI, „Open Data-Link Interface") -Spezifikation, die in „Open-Data-Link Interface Developer's Guide for DOS Workstation Protocol Stacks", Version 1.10, herausgegeben durch Novell Inc. am 18. März 1992 beschrieben ist.
  • Eine protokollunabhängige Schnittstelle (PII, „Protocol Independent Interface") 250 dient als eine Schnittstelle zwischen Protokollstapeln 230 bis 232 und Verwaltungsanwendungsprogrammen, wie einem SNMP-Anwendungsprogramm 260 und einem CMIP-Anwendungsprogramm 270. Die PII 250 „horcht" nach Datenpaketen, die an einzelne Sockets, d. h. Adressen, adressiert sind und akzeptiert jene Pakete von den Protokollstapeln 230 bis 232 zur Verarbeitung und Weiterleitung zu den Anwendungsprogrammen. Da das SNMP-Programm 260 und das CMIP-Programm 270 auf einer eingebetteten Vorrichtung ablaufen, d. h. der NEB 100, sind jene Programme „Agenten"-Programme. Ein Agentenprogramm sammelt und speichert Daten hinsichtlich der Netzwerkschnittstellenvorrichtung, d. h. der NEB 100, und des Peripheriegeräts, d. h. des Druckers 105, und antwortet auf gesendete Befehle unter Verwendung des assoziierten Netzwerkverwaltungsprotokolls, z. B. SNMP oder CMIP, von einem verwandten „Verwaltungs"-Programm, das auf einem Computer läuft.
  • Es werden beispielsweise die nachstehenden vorbestimmten Adressen in dem bevorzugten Ausführungsbeispiel zum Empfangen von Datenpakten unter Verwendung des SNMP-Netzwerkverwaltungsprotokolls verwendet: (1) für IPX „Socket" 900 FH und 9010H (Agenten-Socket bzw. Unterbrechungs-Socket), (2) für UDP „Port" 160H und 161H und (3) für DDP ein eindeutiger Name „SNMP-Agent" und „SNMP-Unterbrechungsverwalter" und „Socket" 8H und 9H (Agenten-Socket bzw. Unterbrechungs-Socket). Datenpakete, die nicht an ein durch ein Verwaltungsprogramm verwendetes Socket adressiert sind, werden zu anderen Anwendungsprogrammen verkehrsgelenkt. Beispielsweise empfängt ein PSERVER-Programm 245 Datenpakete über eine API 240. Es können ebenso andere Anwendungsprogramme einschließlich weiterer Verwaltungsprogramme enthalten sein.
  • 3 zeigt eine Darstellung der Funktionsbeziehung zwischen Verwaltungsprogrammen, die auf einem PC 20 laufen, und Agentenprogrammen, die auf einer NEB 100 laufen. Wie gemäß 3 gezeigt, enthält PC 20 eine protokollunab hängige Schnittstelle (PII) 255, einen SNMP-Verwalter 265 und einem CMIP-Verwalter 275. Während eines nachstehend beschriebenen Initialisierungsprozesses weist die PII 255 jedem Verwaltungsprogramm eine eindeutige Kennung zu, die Zugriffs-ID genannt wird. Die Zugriffs-ID kann beispielsweise zusammen mit einer zusätzlichen Zahl die MAC-Adresse der Vorrichtung sein, um jeden SNMP-Verwalter 265 und jeden CMIP-Verwalter 265 eindeutig zu identifizieren. Bezugszeichen 281, 282 und 283 bezeichnen logische Kanäle, die durch unterschiedliche jeweilige Protokolle verwendet werden, wie IPX, UDP und/oder DDP. Die PII 255 weist jedem der Protokolle während einer Initialisierung eine Kennung zu, die „logische Zugriffsleitung" genannt wird, d. h. logische Kanäle 281 bis 283. Durch dynamisches Zuweisen von Zugriffs-IDs und logische Zugriffsleitungen kann die PII leicht zum Unterstützen von später entwickelten Protokollen ohne ein Beeinträchtigen der existierenden Funktionalität angepasst werden.
  • Die PII 250 in NEB 100 weist ebenso jedem SNMP-Agenten 260 und jedem CMIP-Agenten 270 eine Zugriffs-ID zu und weist jedem der Protokolle eine logische Zugriffsleitung zu. Da jedoch die Zugriffs-IDs und logischen Zugriffsleitungen für die PIIs spezifisch sind, die jene zuweist, können die durch die PII 250 in NEB 100 zugewiesenen Zugriffs-IDs und logischen Zugriffsleitungen von jenen durch die PII 250 in PC 20 zugewiesenen abweichen. Wie beispielsweise gemäß 3 gezeigt, weist SNMP-Verwalter 265 Zugriffs-ID #2 in PC 20 auf, aber der entsprechende Agent in NEB 100, d. h. SNMP-Agent 260, weist Zugriffs-ID #1 auf. Die PII 250 weist ähnlich wie gemäß in 3 gezeigt einem logischen Kanal 281 eine logische Zugriffsleitung #1 zu, was beispielsweise einem IPX-Protokoll entsprechen kann, während die PII 255 dem selben logi schen Kanal/Protokoll eine logische Zugriffsleitung #3 zuweist.
  • Die PII 250 und die PII 255 führen identische Schnittstellenfunktionen durch. Es gibt jedoch aufgrund der unterschiedlichen Plattformen, auf denen diese Softwaremodule laufen, einige Unterschiede in der Implementierung. Da beispielsweise die PII 250 auf einer eingebetteten Vorrichtung läuft, wird sie als eine CSR- (Terminieren und Resident bleiben, „terminate and stay resident") – Routine implementiert. Demgegenüber ist der SNMP-Verwalter 265 eine Windows-basierte Anwendung, und PII 255 ist als eine Windows-basierte DLL (Dynamische Anbindungssammlung, „Dynamic Link Library") implementiert. Andere Unterschiede sind, wo geeignet, in der nachstehenden Beschreibung gezeigt.
  • [3. NEB-Architektur]
  • 4 zeigt eine funktionelle Blockdarstellung von NEB 100. Grob gesprochen ist NEB 100 eine interaktive Netzwerkplatine, die Drucker 105 an LAN 10 ankoppelt, was Drucker 105 zu einem antwortenden und interaktiven Netzwerkmitglied macht. Die NEB 100 enthält einen gemeinsam verwendeten Speicher SRAM 200, der für eine bidirektionale Kommunikation zwischen der NEB 100 und dem Drucker 105 verwendet wird. Drucker 105 enthält eine Druckerschnittstellenkarte 220 (nicht gezeigt), die einen Mikroprozessor 225 (nicht gezeigt) aufweist, der Daten aus dem SRAM 200 liest und Daten in SRAM 200 schreibt. Der Drucker 105 enthält ebenso einen Druckantrieb 250 (nicht gezeigt), der mit der Druckerschnittstellenkarte 220 verbunden ist.
  • Die NEB 100 empfängt Druckdaten, Statusanforderungen und Steuerbefehle vom LAN 10, überträgt Druckdaten, Statusanforderungen und Steuerbefehle zu Drucker 105 zur Ausführung und überträgt Statusinformationen zurück zu LAN 10. Somit kann die NEB 100 nicht lediglich Ferndruckdienste RPRINTER und Druckserverfunktionalitäten PSERVER durchführen, sondern kann ebenso Netzwerkmitgliedern jedes von der Peripherieschnittstelle zur Verfügung stehende Status- und Steuermerkmal bereitstellen.
  • Es wird der NEB 100 von einer +5V-Energiequelle 398 Energie für alle Schaltungen zugeführt. Es wird Energie von der Energiequelle 398 bereitgestellt, um Umwandler 396 zu energetisieren, der einem Sendeempfänger 390 -9V-Energie bereitstellt, und um Umwandler 397 zu energetisieren, der einem Flash-EPROM 350 zum „Flashing" (d. h. zum Reprogrammieren des EPROMs) +12V-Energie bereitstellt. Eine Netzwerk- und Netzwerkschnittstellensteuerlogik 340 ist vorzugsweise eine einzelne anwendungsspezifische integrierte Schaltung (ASIC, „Application specific Integrated circuit") mit 144 Pins, die eine Netzwerksteuereinrichtung 330 und eine Schnittstellensteuerlogik 320 enthält. Die Netzwerksteuereinrichtung 330 ist eine NCR-Makrozelle, die mit einer Ethernet-Steuereinrichtung National DP83902A „ST-NIC" kompatibel ist, deren Einzelheiten in National Semiconductor's Local Area Networks Databook, National Semiconductor p/n 400055, National Semiconductor, 1993 nachzuschlagen sind. Die Netzwerksteuereinrichtung 330 ist zum Bilden von Schnittstellen mit lokalen Bereichsnetzwerken vom Typ CSMA/CA (Trägeraufspürmehrfachzugriff mit Kollisionserfassung, „carrier sense multiple access with collision detection") entworfen.
  • Die Netzwerksteuereinrichtung 330 verbindet sich direkt mit einem RJ-45-Verbinder 385 und einem koaxialen Verbin der 395 durch Sendempfänger 390, der vorzugsweise eine koaxiale Sendeempfängerschnittstelle National Semiconductor DP8392 ist, deren Einzelheiten ebenso in National's Local Area Networks Databook nachzuschlagen sind. Die Netzwerksteuereinrichtung 330 ist ebenso an einen 8KB-SRAM 380 gekoppelt, der als ein Eingabe-/Ausgabepaketpuffer für Ethernet-Daten verwendet wird. Dieser Speicher sollte vorzugsweise eine Zugriffszeit von etwa 70 ns oder weniger aufweisen.
  • Die Schnittstellensteuerlogik 320 stellt eine Schnittstelle zwischen der Netzwerksteuereinrichtung 330, einem Mikroprozessor 300 und Speichergeräten EPROM 350 und DRAM 360 bereit. Die Schnittstellensteuerlogik 320 stellt ebenso eine Schnittstelle mit einem nicht-flüchtigen Speicher 370 mit Wahlfreiem Zugriff (NVRRM, „non-volatile random access memory") bereit, der ein serieller, elektrisch löschbarer/programmierbarer Speicher mit 256 Byte ist, der zu Initialisierungsdatenspeicherung während einem periodischen Energiedurchlaufen des Druckers 105 verwendet wird. Netzwerk- und Druckerkonfigurationsparameter werden in den NVRAM 370 geschrieben, wenn der Drucker 105 erstmals in dem Netzwerk installiert wird, um einer NEB-Software ein Ermitteln der Installationsparameter zu ermöglichen, nachdem die Druckerenergie einen Aus- und Einzyklus durchlaufen hat.
  • Die Schnittstellensteuerlogik 320 ist ebenso an einen seriellen Portverbinder 325 gekoppelt, der einen Empfangsdatenpin 326 und einen Sendedatenpin 327 umfasst, die jeweils serielle Datenströme für Fehlerbehebungszwecke empfangen und senden können. Die Schnittstellensteuerlogik 320 spürt Daten auf, die auf der Empfangsdatenleitung vorhanden sind, und tastet die seriellen Bits in regelmäßigen Intervallen ab.
  • Die zentrale Steuereinrichtung von NEB 100 ist Mikroprozessor 300, der vorzugsweise ein Intel 80C188EA-20 8-Bit-Prozessor ist, dessen Einzelheiten in dem 80C186EA/80188EA Benutzerhandbuch, Intel p/n 270950-001, Intel Corp., nachzuschlagen sind. Dieser Prozessor ist ein 8-Bit-Prozessor mit einem Direktspeicherzugriff (DMA, „direct memory access"), Unterbrechungen, Zeitgebern und einer DRAM-Auffrischsteuerung. Andere Mikroprozessoren, wie ein AMD 80C188-20 8-Bit-Mikroprozessor können womöglich alternativ verwendet werden. Es sind ein 256-KB-Flash-EPROM 350 und ein 512-KB-DRAM 360 an den Mikroprozessor 300 über die Schnittstellensteuerlogik 320 gekoppelt, während ein 32-KB-SRAM 200 (der mit einer Druckerschnittstellenkarte 220 gemeinsam verwendet wird) über eine Entscheidersteuerlogik 400 mit dem Mikroprozessor 300 gekoppelt. Ein Kristalloszillator 310 mit 40 MHz und 50 PPM versorgt Mikroprozessor 300 mit einem Taktsignal, das vollkommen separat von und asynchron mit dem Taktsignal ist, das dem Mikroprozessor 225 auf Druckerschnittstellenkarte 220 bereitgestellt ist.
  • Der Mikroprozessor 300 führt Anweisungen in dem Flash-EPROM 350 aus, der Steuer-Firmware und Druckanwendungssoftware speichert. Nach einer Selbstprüfung bei Energie-Ein (POST, „power-on self-test") wird Code vom EPROM 350 selektiv zu dem 512-KB-DRAM 360 höherer Leistungsfähigkeit zur tatsächlichen Ausführung bewegt, der vorzugsweise eine Zugriffszeit von etwa 80 ns aufweisen sollte.
  • Die gesamte Kommunikation zwischen NEB 100 und Druckerschnittstellenkarte 220 wird über den gemeinsam verwendeten SRAM 200 mit 32 KB ausgeführt. Die Entscheidersteuerlogik 400, vorzugsweise eine einzelne ASIC mit 100 Pins, entscheidet zwischen den zwei-byte-breiten Speicher zugriffen des Druckerschnittstellenmikroprozessor 225 und den einzel-byte-breiten Speicherzugriffen von NEB-Mikroprozessor 300, von denen jeder von dem anderen vollkommen unabhängig ist.
  • Allgemein gesprochen, kommuniziert der 8-Bit-Datenbus des Mikroprozessors 300 auf Platine NEB 100 mit einer Bussteuerlogik 410, während der 32-bit-Datenbus von Mikroprozessor 225 auf Platinendruckerschnittstellenkarte 220 mit einer Bussteuerlogik 420 kommuniziert. Speicherzugriffe von jedem Bus werden zu dem gemeinsam verwendeten Speicherentscheider 430 verkehrsgelenkt, der bestimmt, welcher Bus Priorität aufweist, und erlaubt dem Bus mit Priorität, über die SRAM-Schnittstelle 440 auf den SRAM 200 zuzugreifen. Auf ein Unterbrechungssteuerregister 450 wird ebenso durch den gemeinsam verwendeten Speicherentscheider 430 zu gegriffen, um einem Mikroprozessor zu ermöglichen, den anderen zu unterbrechen.
  • Alle durch Mikroprozessor 300 ausgeführten Softwaremodule sind in dem Flash-EPROM 350 gespeichert. Jene Module, die erforderlich sind, werden selektiv von dem EPROM 350 in den DRAM 360 geladen, und aus dem DRAM ausgeführt. Dies ermöglicht eine flexible Konfiguration der NEB 100 durch Auswahl, welche Module zu laden sind.
  • 5 zeigt ein Beispiel von Codeblöcken oder Softwaremodulen, die in den Flash-EPROM 350 gespeichert sind. Das PII-Modul enthält Prozessschritte zum Bereitstellen der erforderlichen Funktionen einer protokollunabhängigen Schnittstelle, wie nachstehend ausführlich beschrieben. Das XPL-Modul stellt eine standardisierte Schnittstelle zwischen Drucker 105 und NEB 100 bereit. Eine MLID (Multianbindungsschnittstellenansteuereinrichtung „Multi Link Interface Driver") dient als die Netzwerkschnittstellen ansteuereinrichtung 210 und ist ein Teil des Novell-Codes (Medienunterstützungsmodul, oder MSM, „Media Support Module"), der mit einem Teil von maßgeschneidertem Code (Hardwareunterstützungsmodul, oder HSM, „Hardware Support Modul") verlinkt ist, der die niedrigste Ebene einer Netzwerkverbindung ist, während eine LSL-Anbindungsunterstützungsschicht, „Zink Support Layer") als das Multiplexersoftwaremodul 220 dient und ein Teil des Novell-Codes ist, der als ein Multiplexer zwischen der Niederebenen-MLID und den mehreren, darüber liegenden Protokollstapeln agiert. CNETX ist maßgeschneiderter Code, der lokale DOS-artige Funktionsaufrufe in Netzwerkfunktionsaufrufe umwandelt, was Dateifunktionen wie ÖFFNEN, LESEN, SCHREIBEN und SCHLIEßEN bereitstellt.
  • Das PRETASK-Modul ist verantwortlich, zu bestimmen, welche Rahmenarten mit den verschiedenen möglichen Protokollstapeln assoziiert sind. Da die NEB 100 eine Mehrzahl von Protokollstapeln unterstützt, existiert dieses Modul solange wie die NEB 100 läuft.
  • Der IPX/SPX-Protokollstapel von Novell ist in dem Flash-EPROM 350 enthalten und wird durch SAP (Dienstwerbungsprotokoll, „Service Advertising Protocol") unterstützt. SAP ist eine Novell-Konzept, das Vorrichtungen ermöglicht, sich selbst in dem Bindewerk des Dateien-Servers zu registrieren, das aktive und inaktive Netzwerkfunktionseinheiten auflistet. Da Druckserver eine besondere Art von Bindewerksgegenstand sind, registriert das SAP die NEB 100 über CPSOCKET, und falls die NEB 100 als ein Druckserver konfiguriert ist, dann registriert SAP den Druckserver ebenso bei dem NetWare-Bindewerk.
  • CPSERVER ist eine maßgeschneiderte Implementierung einer Novell-Druckserveranwendung. Dieses Modul stellt selbst erzeugte Druckbanner, Benutzerbenachrichtigung bezüglich Vollendung und Ausnahmestatus, und Übertragung von Druckdaten und Statusbefehlen zu dem Drucker bereit. Dies weicht von dem Novell-Druckserver dahingehend ab, dass der CPSERVER einem Ansteuern des lokalen Druckers (d. h. Drucker 105, in dem die NEB 100 installiert ist) gewidmet ist, und keine Fern-RPRINTER ansteuern kann. Dieses Programm nimmt die Druckdatenleitungen für die Dauer eines Druckauftrags in Besitz. Ein CRPRINTER ist eine maßgeschneiderte Implementierung einer Novell-RPRINTER-Druckanwendung. Dieses Modul ist eine Slave-Anwendung, der Daten durch eine Novell-Druckserveranwendung zugesendet werden, die sich an einer anderen Stelle im LAN 10 befindet.
  • Der TCP/IP-Protokollstapel weist in sich das Benutzerdatagrammprotokoll (UDP, „User Datagramm Protokoll"), das Umgekehrte-Adressenauflösungsprotokoll (RARP, „Reverse Address Resolution Protocol") und die BootP-Untersützung auf. INTERRUPT ist die Unterbrechungsverwaltung für die TCP/IP-Task, während TIMERTICK der Zeitgeber für UNIX-TCP/IP-Netzwerktasks ist. LPRINTSERVER ist die TCP/IP-Druckserveranwendung, und nimmt ebenso die Druckdatenleitungen für die Dauer eines Druckauftrags in Besitz. DDP ist das Modul zum Implementieren eines Datagrammvermittlungsprotokolls (DDP, „Datagramm Delivery Protocol"), das beispielsweise zur Kommunikation mit einem Macintosh-Computer verwendet wird.
  • Das CPSOCKET-Programm läuft für alle Protokollstapel. Das Programm antwortet auf Anforderungen nach Verbindung, Anforderungen nach Datendownload oder Anforderungen nach Diensten von entfernten Einheiten, und stellt über eine Zwischenprozesskommunikation anderen Tasks Status und Steuerung bereit. Da der CPSOCKET typischerweise die Sta tus- und Steuerleitungen zwischen NEB 100 und Drucker 105 in Besitz nimmt, ist er die einzige Task, die die Fähigkeit aufweist, einen Druckerstatus über die Statusleitungen zu erhalten. Der CPSOCKET ist für die Netzwerkverbindung und Paketinhalte zwischen dem Novell-orientierten Status- und Steuereinheiten (CPNET oder die entsprechende Windowsversion von client-basierten Softwareeinheiten), oder zwischen den UNIX-orientierten Status- und Steuereinheiten (CPUTIL) verantwortlich.
  • MONITOR ist ein maßgeschneiderter Multitasking-Überwacher, der eine Taskerstellung, ein Taskzerstörung und ein Mikroprozessorabfertigen durchführt. MONITOR weist ebenso Speicherverwaltungssubmodule MEMGET und MEMFREE auf.
  • RESIDENT ist ein Block von Routinen, der generische Dienste bereitstellt, wie Lesen aus und Schreiben in den Flash-EPROM 350, FLASH-Code, ROM-basierte Fehlerbehebung, Hardwarezeitgabe und andere grundlegende Merkmale. POST ist ein Selbstprüfmodul bei Energie-ein, das die Integrität von NEB-Hardware und -Software bei einem Energie-ein prüft.
  • Ebenso sind in dem EPROM 350 ein Netzwerkidentifikationsdatei- (NIF „ Network Identification file") -Datenblock, der Platinen variante Informationen speichert, die für jede Netzwerkplatine eindeutig sind, Hardwarekonfigurationsdaten, Platinenrevisionsnummer und dergleichen, sowie änderbare Informationen, wie eine Softwareversionsnummer, gespeichert. Die Informationen in dem NIF-Datenblock werden verwendet, um sicher zu stellen, dass der Flash-EPROM nicht mit einem inkompatiblen Firmware-Abbild reprogrammiert wird.
  • Der EPROM 350 speichert insbesondere „Platinen"-Informationen, wie Modellnummer, Firmware-Ebene und Platinen revionsnummer, sowie „Netzwerk"-Informationen, wie eine Medienzugriffssteuer- (MAC, „Media Access Control") -Adresse, die für jede Netzwerkplatine eindeutig ist, einen Platinennamen, eine Netzwerkrahmenart, eine Primär-Dateienserver-Identifikation, bediente Warteschlangen, Netzwerkprotokoll, Abtastfrequenz, PSERVER-Name, Zonenname und dergleichen.
  • [4. Funktion der PII]
  • 6 zeigt ein Ablaufdiagramm von Prozessschritten zum Implementieren eines protokollunabhängigen Verfahrens zum Übertragen eines Datenpakets von einem ersten Anwendungsprogramm, das auf einer ersten Vorrichtung läuft, die eine Schnittstelle mit einem LAN aufweist, zu einem zweiten Anwendungsprogramm, das auf einer zweiten Vorrichtung läuft, die eine Schnittstelle zu dem LAN aufweist. Kurz gesprochen, wird gemäß 6 ein protokollunabhängiges Schnittstellen- (PII) -Programm initialisiert, das bestimmt, welche Protokolle zur Verwendung zur Verfügung stehen, das jedem Protokoll, das zur Verwendung zur Verfügung steht, eine Zugriffsleitung zuweist, das dem ersten Anwendungsprogramm eine Zugriffs-ID zuweist und das Abbildungsinformationen erstellt, die eine Eins-zu-Eins-Entsprechung zwischen einem Zugriffs-ID/Zugriffsleitungs-Paar und einem Block von protokollspezifischen Informationen, die einen vorbestimmte Adressdaten aufweisenden Protokollheader enthalten, angeben. Diese Eins-zu-Eins-Abbildung kann unter Verwendung einer Abbildungstabelle, wie in der bevorzugten, nachstehend beschriebenen Form, oder durch Implementieren einer Datenstruktur, die die Abbildungsinformationen führt, durchgeführt werden. Ein Datenpaket wird zu dem PII-Programm zusammen mit der Zugriffs-ID des ersten Anwendungsprogramms und einer Ziel-ID für das zweite Anwendungsprogramm gesendet, und es wird eines der zur Verfügung stehenden Protokolle zum Senden des Datenpakets ausgewählt. Und es wird eines der zur Verfügung stehenden Protokolle zum Senden des Datenpakets ausgewählt. Ein Block von protokollspezifischen Informationen wird aus der ersten Abbildungstabelle auf der Grundlage der Zugriffs-ID des ersten Anwendungsprogramms und der Zugriffsleitung, die dem ausgewählten Protokoll entspricht, geholt, und es wird ein Übertragungspaket gebildet, das das Datenpaket, die Ziel-ID und den geholten Block von protokollspezifischen Informationen enthält. Das Übertragungspaket wird dann über das LAN übertragen.
  • Es zeigen genauer gesagt die Prozessschritte gemäß 6 eine Übertragung eines Datenpakets von dem SNMP-Verwalter 265 auf PC 20 zu dem SNMP-Agenten 260 in der NEB 100. Die Funktion der PII 250 zum Übertragen eines Datenpakets von dem SNMP-Agenten 260 zu dem SNMP-Verwalter 265 ist dieselbe, wobei die einzigen Unterschiede die nachstehend beschriebenen Unterschiede in der Implementierung sind. In Schritt S601 führt der SNMP-Verwalter 265 einen Initialisierungsbefehl zum Initialisieren der PII 255 aus. Dieser Befehl muss vor einer Ausführung jedweder anderer PII-Befehle ausgeführt werden, und muss lediglich einmal durchgeführt werden. Wie vorstehend beschrieben, ist die PII 255 in Windows als eine DLL implementiert. Dementsprechend werden, als Antwort auf den Initialisierungsbefehl, die erforderlichen Vorgänge durchgeführt, um dem SNMP-Verwalter 265 zu ermöglichen, andere PII-Befehle unter Verwendung der DLL durchzuführen. Im Gegensatz dazu gibt eine Initialisierung der PII 250 durch den SNMP-Agenten 260 in der NEB 100 eine Tabelle von Eintrittspunkten zurück, die der SNMP-Agent 260 zum Aufrufen anderer PII-Routinen verwendet.
  • Die PII 255 bestimmt dann, welche Protokolle für eine Verwendung durch PC 20 zur Verfügung stehen. In dem bevorzugten Ausführungsbeispiel, in dem der PC 20 in einer Windows- oder DOS-Novell-ODI-Umgebung operiert, werden Funktionsaufrufe, die eine Angabe des Vorhandenseins oder Fehlens eines jeden Protokollstapels erhalten, auf eine gemeinsame Antragsweise erteilt, um zu bestimmen, welche Protokollstapel zur Verfügung stehen. Es können alternativ Befehle zum Ausführen jeweiliger Initialisierungsroutinen für jeden Protokollstapel auf eine gemeinsame Antragsweise erteilt werden. Schlägt eine Initialisierungsroutine fehl, dann wird der Fehler dahingehend interpretiert, anzugeben, dass der Protokollstapel in dieser Instanz nicht zur Verfügung steht. In der eingebetteten Plattform, d. h. für die PII 250 in der NEB 100, weist das PRETASK-Modul Informationen hinsichtlich der zur Verfügung stehenden Protokollstapel auf, und jene Informationen werden durch die PII 250 erhalten und verwendet.
  • Nach einem Bestimmen, welche Protokolle zur Verfügung stehen, öffnet die PII 255 einen Socket für jedes zur Verfügung stehende Protokoll abhängig von der Art des Protokolls und richtet eine Protokollabbildungstabelle ein. Diese Tabelle weist eine Eins-zu-Eins-Entsprechung zwischen einer Zugriffsleitung und einer Art von Protokollstapel auf. Wie vorstehend beschrieben, ist die Abbildungstabelle eine von vielen möglichen Implementierungen. Die Protokollabbildung kann beispielsweise ebenso als eine Bitabbildung oder eine andere Datenstruktur implementiert werden. Der Schlüssel liegt darin, dass eine Art und Weise des Angebens einer Eins-zu-Eins-Entsprechung zwischen der Zugriffsleitung und dem Protokollstapel vorliegt. Die in dem bevorzugten Ausführungsbeispiel verwendete Abbildungstabelle wird durch Zuweisen einer Zugriffsleitung zu jedem zur Verfügung stehenden Proto koll und durch Speicherung von Daten, die die einem jeden Protokoll zugewiesenen Zugriffsleitung in einem Speicherabschnitt angibt, der zur Verwendung durch die PII 255 reserviert ist, gebildet. 7A zeigt ein Beispiel einer Protokollabbildungstabelle, die durch die PII 255 unter Verwendung der beispielbezogenen Zugriffleitungszuweisungen, die gemäß 3 gezeigt sind, erstellt werden kann, wenn UDP-, IPX- und DDP-Protokolle zur Verfügung stehen.
  • Nach einer Initialisierung der PII 255 in Schritt 601 geht der Ablauf zu Schritt S602 über, in dem ein Öffnen-Befehl durch den SNMP-Verwalter 265 zum Öffnen einer Sitzung ausgeführt wird. Dieser Befehl gibt eine Zugriffs-ID für ein zu verwendendes Verwaltungsprogramm zurück, um sich selbst zu identifizieren, z. B. Zugriffs-ID #2 für den SNMP-Verwalter 265. Die PII 255 speichert Daten, die die Beziehung zwischen Zugriffs-IDs und Verwaltungsprogrammen angeben, in dem Speicherabschnitt, der zur Verwendung durch die PII 255 reserviert ist. 8A zeigt ein Beispiel einer Zugriffs-ID-Abbildungstabelle, die durch die PII 255 eingerichtet ist, um die Beziehung zwischen Zugriffs-IDs und Verwaltungsprogrammen anzugeben. Anhand der vorstehend beschriebenen Protokollabbildungstabelle ist die Abbildung zwischen Zugriffs-IDs und Anwendungsprogrammen zu vielen Implementierungen in der Lage, die sich von einer Abbildungstabelle unterscheiden, z. b. eine Bitabbildung oder eine andere Datenstruktur. Die Daten gemäß 8A entsprechen der beispielbezogenen Zuweisung von Zugriffs-IDs, die gemäß 3 gezeigt sind. Die Zugriffs-IDs sind als XXXX1 oder XXXX2 bezeichnet, wobei XXXX die MAC-Adresse von PC 20 darstellt und die 1 und 2 den CMIP-Verwalter 275 bzw. den SNMP-Verwalter 265 angeben. Der Zweck einer Zugriffs-ID liegt im eindeutigen Identifizieren von unterschiedlichen Funktionseinheiten, die die PII verwenden, beispielsweise der CMIP-Verwalter 275 und der SNMP-Verwalter 265.
  • Als nächstes geht der Ablauf zu Schritt S603 über, in dem ein Datenpaket von dem SNMP-Verwalter 265 zu der PII 255 gesendet wird. Das Paket wird durch Bereitstellen eines Zeigers auf den Paketort im Speicher zusammen mit der Zugriffs-ID für den SNMP-Verwalter 265 und einer Ziel-ID für das Paketziel bereitgestellt. Da keine ein Übertragungsprotokoll angebenden Informationen für das Paket erforderlich sind, ist das Paket protokollunabhängig, und es ist eine einzelne Schnittstelle zwischen einem Anwendungsprogramm und allen Protokollstapeln bereitgestellt. Die Ziel-ID des entsprechenden Agenten, z. B. SNMP-Agent 260, der dem SNMP-Verwalter 265 entspricht, wird in dem bevorzugten Ausführungsbeispiel durch Durchführen einer Lokalisiere Agent-Funktion durchgeführt, bevor Daten zu einem Agenten gesendet werden. In dem Fall beispielsweise, in dem Novell-Netware verwendet wird, wird diese Funktion durch Nachsehen in einem Bindewerk in dem Dateien-Server 70 durchgeführt, um Vorrichtungen zu bestimmen, die in dem Bindewerk registriert sind, z. B. durch Verwenden der SAP-Funktion von IPX, und die kompatible Agenten aufweisen können. Eine Kommunikation mit jenen Vorrichtungen findet dann zum Erhalten einer Ziel-ID für den Agenten statt. In einer UNIX-Umgebung wird die Lokalisiere Rgent-Funktion durch Verwenden von vorbestimmten Host-Tabellen durchgeführt. In einer AppelTalk-Umgebung wird der Agent durch Verwenden eines eindeutigen Namens lokalisiert. Es kann ebenso jedwede andere Technik verwendet werden, die dem Verwaltungsprogramm ermöglicht, eine Ziel-ID für ein Agentenprogramm zu erhalten.
  • Nachdem das Paket zu PII 255 gesendet ist, geht der Ablauf zu Schritt S604 über, in dem ein Protokoll zum Sen den des Datenpakets ausgewählt wird. Steht lediglich ein Protokoll zur Verfügung, dann wird jenes Protokoll verwendet. In dem bevorzugten Ausführungsbeispiel wird ein Protokoll durch Verwenden eines voreingestellten oder bevorzugten Protokolls, falls verfügbar, ausgewählt. Beispielsweise ist UDP das bevorzugte Protokoll zum Übertragen von Daten zwischen dem SNMP-Verwalter 265 und dem SNMP-Agenten 260. Steht das bevorzugte Protokoll nicht zur Verfügung, dann wird das erste zur Verfügung stehende Protokoll verwendet. Es gibt jedoch viele alternative Varianten zum Auswählen eines zu verwendenden Protokolls. Ein Protokoll kann beispielsweise zufällig ausgewählt werden, oder es kann das erste zur Verfügung stehende Protokoll verwendet werden. Es kann ebenso das den geringsten Verkehr aufweisende Protokoll verwendet werden. In einer Novell-Umgebung beispielsweise können Sammlungsfunktionen, wie HohleLokalesZiel („GetLocalTarget") einen Schätzwert der Zeit zurückgeben, die zum Zuführen eines 567-Byte-Pakets zu einem ausgewiesenen Ziel erforderlich ist. Diese Funktionen stellen unter Verwendung des entsprechenden Protokolls Informationen bereit, die auf Netzwerkverkehr bezogen sind. Ein Aufruf jener Funktionen kann zum Erhalten von Informationen verwendet werden, die angeben, welches Protokoll den geringsten Verkehr aufweist. Ferner kann die PII 255 einen Zähler für jedes Protokoll (oder jede Zugriffsleitung) speichern und kann diejenige auswählen, die die PII 255 am wenigsten häufig verwendet hat, oder die PII 255 kann einen Zeitpunkt speichern, zu dem jedes Protokoll (oder jede Zugriffsleitung) als letztes verwendet wurde, und kann diejenige auswählen, deren Verwendung am weitesten zurück liegt.
  • Nach Auswählen eines Protokolls zum Übertragen des Datenpakets geht der Ablauf zu Schritt S605 über, in dem die PII 255 einen Block von protokollspezifischen Informatio nen, d. h. eine protokollspezifische Adresse, aus einer in einem Speicher gespeicherten Protokolladressabbildungstabelle holt. Die Informationen werden auf der Grundlage der Zugriffs-ID des Übertragungsprogramms und der Zugriffsleitung geholt, die dem ausgewählten Protokoll entspricht. Weist die Abbildungstabelle keinen Eintrag für das Zugriffs-ID/Zugriffs-Leitungspaar auf, beispielsweise wenn das Paket das erste Paket ist, das durch die PII 250 für einen bestimmten Verwalter unter Verwendung eines bestimmten Protokolls übertragen wird, dann wird der Tabelle ein Eintrag hinzugefügt.
  • 9A zeigt ein Beispiel einer Protokolladressabbildungstabelle, die durch die PII 255 erstellt ist. Es liegt eine Eins-zu-Eins-Entsprechung zwischen einem Zugriffs-ID/Zugriffsleitungspaar und einer protokollspezifischen Adresse vor. Bezugszeichen 901 gibt eine Spalte von Zugriffs-ID/Zugriffsleitungspaaren an. Bezugszeichen 902 stellt eine Spalte von protokollspezifischen Adressen dar, von denen jede einen Protokollheader einer in Spalte 903 angegebenen Art enthält. Jeder Protokollheader weist ein unterschiedliches Format auf. Die verschiedenen Protokollheaderformate sind nachstehend ausführlich unter Bezug auf 10A bis 10C beschrieben. Ohne Rücksichtnahme auf die Art enthält jedoch jeder Protokollheader eine Art von Adressdaten, z. b. einen Socket für einen IPX-Header, einen Port für einen UDP-Header und einen Socket und Namen für einen DDP-Header. Bezugszeichen 904 gibt eine Spalte an, die die spezifischen Adressen zeigt, die in jedem Protokollheader enthalten sind.
  • Die in Spalte 904 angegebenen Adressdaten stellen Standardadressdaten dar, die zur Verwendung durch einen einzelnen Verwalter und Protokoll definiert sind. Beispielsweise verwendet das SNMP-Protokoll (Zugriffs-ID XXXX2 gemäß 8A und 9A) die nachstehenden Adressdaten: (1) für IPX „Socket" 900FH und 9010H (Agenten-Socket bzw. Unterbrechungs-Socket), (2) für UDP „Port" 160H und 161H und (3) für DDP einen eindeutigen Namen „SNMP-Agent" und „SNMP-Unterbrechungsverwalter" und „Socket" 8H und 9H (Agenten-Socket bzw. Unterbrechungs-Socket). Dementsprechend verwendet das CMIP protokollspezifische Adressdaten, wie einen CMIP-Port für UDP, einen CMIP-Socket für IPX und ein CMIP-Namen und -Socket für DDP. Ein SNMP-Protokollpaket und ein CMIP-Protokollpaket können die gleiche Header-Art aufweisen, aber jeder Header enthält unterschiedliche spezifische Adressdaten. Beispielsweise haben die protokollspezifischen Adressen, die in Zeilen 1 und 4 gemäß 9A gezeigt sind, jede einen Header vom Typ UDP aber jeder Header enthält unterschiedliche Adressdaten, wie in Spalte 904 gezeigt. Weist SNMP-Verwalter 265 Zugriffs-ID XXXX2 auf, wie gemäß 8A gezeigt, und wird das bevorzugte Protokoll UDP verwendet und weist dieses Zugriffsleitung #1 auf, wie gemäß 7A gezeigt, dann wird die protokollspezifische Adresse in der vierten Zeile gemäß 9A durch die PII 255 geholt, die dem Zugriffs-ID/Zugriffsleitungspaar XXXX2/1 entspricht.
  • Wird die Erfindung bei Anwendungsprogrammen verwendet, die keine vordefinierten Sockets aufweisen, dann müssen Standardidentifikationswerte für jene Anwendungsprogramme definiert werden und müssen die sowohl mit dem Verwalter als auch Agentenprogrammen verwendeten PIIs programmiert werden, jene Standardidentifikationswerte zu verwenden.
  • Wie vorstehend beschrieben, weist jede Art von Protokollheader ein unterschiedliches Format auf, wie hinsichtlich 10A bis 10C beschrieben. 10A zeigt ein Format für einen Lokalnetzwerkrahmen (oder „Übertragungspaket") 1000, wenn der Rahmen unter Verwendung eines UDP- Protokolls übertragen wird. In diesem Fall enthält der Netzwerkrahmen 1000 einen Lokalnetzwerk-Header 1010 und eine Lokalnetzwerk-Endkennung 1015. Er enthält ebenso einen IP-Header 1021, einen UDP-Header 1020 und Daten 1030. Wie gemäß 10A gezeigt, enthält der UDP-Header 1020 Felder für einen Quellport, einen Zielport, eine Länge und eine Prüfsumme. 10B zeigt ein Format für einen Netzwerkrahmen 1000, wenn der Rahmen unter Verwendung eines IPX-Protokolls übertragen wird. In jenem Falle enthält der Netzwerkrahmen 1000 keinen IP-Header 1021, und enthält einen IPX-Header 1025 anstelle des UDP-Headers 1020. Der IPX-Header 1025 enthält Felder für eine Prüfsumme, eine Paketlänge, einen Transportsteuerwert, eine Paketart, ein Zielnetzwerk, einen Zielknoten, ein Zielsocket, ein Quellnetzwerk, einen Quellknoten und ein Quellsocket. Als letztes zeigt 10C ein Format für Netzwerkrahmen 1000, wenn der Rahmen unter Verwendung eines DDP-Protokolls übertragen wird. In diesem Fall fehlt dem Netzwerkrahmen ebenso der IP-Header 1021 und er enthält einen DDP-Header 1028 anstelle sowohl des UDP-Headers 1020 als auch des IPX-Headers 1025. Der DDP-Header 1028 enthält Felder, die 00, Hop, eine Datagrammlänge, eine Datagrammprüfsumme, ein Zielnetzwerk, ein Quellnetzwerk, eine Zielknoten-ID, eine Quellknoten-ID, eine Zielsocketnummer, eine Quellsocketnummer, und eine DDP-Art enthalten.
  • Unter Bezugnahme auf 6 geht der Ablauf nach Holen der protokollspezifischen Informationen zu Schritt S606 über, in dem die PII 255 ein Übertragungspaket bildet, das für das ausgewählte Protokoll spezifisch ist, d. h. ein Netzwerkrahmen 1000, der eines der gemäß den 10A bis 10C gezeigten Formate aufweist. Der Übertragungsrahmen wird unter Verwendung der Zielinformationen, die durch den SNMP-Verwalter 265 bereitgestellt sind, und der Informationen gebildet, die aus der Protokolladressabbildungstabelle in Schritt 605 geholt wurden. Ferner sind Daten 1030 die Daten, die durch den SNMP-Verwalter 265 gesendet werden.
  • Nach Bilden eines Übertragungspakets 1000 geht der Ablauf zu Schritt S607 über, in dem ein Übertragungspaket 1000 über das LAN 10 zu dem Zielanwendungsprogramm übertragen wird.
  • 11 zeigt ein Ablaufdiagramm von Prozessschritten zum Empfangen eines Übertragungspakets 1000 bei der NEB 100. In Schritt S1101 erteilt der SNMP-Agent 260 einen Befehl zum Initialisieren der PII 250. Die PII 250 muss initialisiert werden, bevor sie Daten aus dem LAN 10 oder dem SNMP-Agenten 260 holen kann. Wie vorstehend beschrieben, erhält der SNMP-Agent 260 eine Tabelle von Eintrittspunkten in Routinen von PII 250 bei Intitialisierung, und PII 250 bestimmt durch Erhalten von Informationen von dem PRETASK-Softwaremodul, welche Protokolle zur Verfügung stehen. 7B zeigt eine beispielbezogene Protokolltabelle, die durch die PII 250 eingerichtet und gespeichert wird, wenn das UDP-, IPX-, und DDP-Protokoll zur Verfügung stehen und Zugriffsleitungen wie gemäß 3 gezeigt zugewiesen sind.
  • Der Ablauf geht dann zu Schritt S1102 über, in dem der SNMP-Agent 260 einen PII-Öffnen-Befehl erteilt, um eine Zugriffs-ID zu erhalten. 8B zeigt eine beispielbezogene Abbildung von Zugriffs-IDs auf Verwaltungsagenten, die durch die PII 255 auf der Grundlage der beispielbezogenen, gemäß 3 gezeigten Zuweisung von Zugriffs-IDs eingerichtet und gespeichert wird. Gemäß 8B stellt YYYY die MAC-Adresse von NEB 100 dar. Der SNMP-Agent 260 ist eine passive Funktionseinheit, die antwortet, wenn der SNMP-Verwalter 265 Informationen anfordert, aber keine Kommunikation initiiert. Dementsprechend horcht der SNMP-Agent 260 nach Paketen auf allen zur Verfügung stehenden Protokollen, d. h. Pakete, die an jedweden zur SNMP-Verwendung definierten Socket adressiert sind. Ist deshalb erst einmal eine Zugriffs-ID für einen Agenten bereitgestellt, z. B. SNMP-Agent 260, dann wird eine Abbildungstabelle mit Zugriffs-ID/Zugriffsleitungspaareinträgen für jede Zugriffsleitung erstellt. 9A zeigt eine beispielbezogene Protokolladressabbildungstabelle für die PII 250 auf der Grundlage der beispielbezogenen Daten gemäß 7A und 8A.
  • Der Ablauf geht dann zu Schritt S1103 über, in dem ein Übertragungspaket aus dem LAN 10 empfangen wird. Unter Bezugnahme auf 2 wird Empfangspaket 1000 aus dem LAN 10 durch die Netzwerkschnittstellenansteuereinrichtung 210 empfangen und wird zu dem Multiplexersoftwaremodul 222 und dann zu einem der Protokollstapel 230 bis 232 verkehrsgelenkt. Stellt beispielsweise Übertragungspaket 1000 Daten dar, die von dem SNMP-Verwalter 265 unter Verwendung des bevorzugten UDP-Protokolls zu SNMP-Agent 260 gesendet wurden, dann wird das Übertragungspaket 1000 zu dem UDP-Protokollstapel 231 verkehrsgelenkt. Die PII 250 horcht nach Paketen, die an spezifische Sockets adressiert sind, z. B. Sockets, die zur Verwendung durch Verwaltungsprogramme definiert sind, und ignoriert alle anderen. Da das Übertragungspaket 1000 an einen der Sockets adressiert sind, nach dem PII 250 horcht, empfängt PII 250 das Paket.
  • Der Ablauf geht dann zu Schritt S1104 über, in dem PII 250 ein Zugriffs-ID/Zugriffsleitungspaar auf der Grundlage von protokollspezifischen Informationen 1020 in Übertragungspaket 1000 durch Bezugnahme auf die gemäß
  • 9A gezeigte Protokolladressabbildungstabelle für PII 250 erhält. Für das beispielbezogene Übertragungspaket 1000 wird Zugriffs-ID/Zugriffsleitungspaar YYYY1/2 aus Zeile 2 gemäß 9A geholt.
  • Der Ablauf geht dann zu Schritt S1105 über, in dem Daten 1030 zu dem geeigneten Verwaltungsprogramm durchgereicht werden. Dies wird durch Bezugnahme auf die Zugriffs-ID-Abbildungsinformation für PII 250 durchgeführt, was vorstehend unter Bezugnahme auf 8B beschrieben ist. Zugriffs-ID YYYY1 entspricht beispielsweise dem SNMP-Agenten 260, und so werden Daten 1030 des Übertragungspakets 1000 zu dem SNMP-Agenten 260 durchgereicht.
  • Obwohl vorstehend ein Beispiel zum Übertragen von Daten von einem Verwalter in PC 20 zu einem Agenten in NEB 100 beschrieben wurde, ist derselbe Prozess für ein Übertragen von Daten von NEB 100 zu PC 20 anwendbar. Des Weiteren ist die Erfindung wie vorstehend beschrieben nicht auf eine Übertragung von Daten zwischen Verwaltungsanwendungsprogrammen beschränkt, und ist ebenso wenig nicht auf Netzwerkübertragungen beschränkt. Es ist dementsprechend zu verstehen, dass während das bevorzugte Ausführungsbeispiel der Erfindung vorstehend beschrieben ist, die Erfindung nicht auf die vorstehend beschriebenen Ausführungsbeispiele beschränkt ist, und das vielfältige Änderungen und Modifikationen durch den Durchschnittsfachmann durchgeführt werden können, ohne den Schutzbereich der Erfindung zu verlassen.

Claims (3)

  1. Verfahren zum Zuführen eines Datenpakets, das von einem ersten Anwendungsprogramm empfangen wird, das auf einer ersten Vorrichtung läuft, die eine Schnittstelle zu einem lokalen Bereichsnetzwerk (10) aufweist, zu einem zweiten Anwendungsprogramm, das auf einer zweiten Vorrichtung läuft, die eine Schnittstelle zu dem lokalen Bereichsnetzwerk (10) aufweist, wobei das Verfahren die Schritte umfasst: Empfangen eines protokollunabhängigen Datenpakets von dem ersten Anwendungsprogramm zusammen mit Daten, die das erste Anwendungsprogramm identifizieren, und einer Ziel-ID, die das zweite Anwendungsprogramm identifiziert, Bestimmen, welche Protokolle in dem lokalen Bereichsnetzwerk (10) zur Verwendung zur Verfügung stehen, und Zuweisen einer jeweiligen Zugriffsleitung (281, 282, 283) zu jedem der Protokolle, die in dem lokalen Bereichsnetzwerk (10) zur Verwendung zur Verfügung stehen, wobei das Verfahren gekennzeichnet ist durch die Schritte: Auswählen, aus den zur Verfügung stehenden Protokollen, des Protokolls, das der den geringsten Verkehr aufweisenden Zugriffsleitung zugewiesen ist, Bestimmen von protokollspezifischen Informationen, die eine Art eines Protokoll-Headers und Adressinformationen in dem Header enthalten, die Daten entsprechen, die das erste Anwendungsprogramm und das in dem Auswahlschritt ausgewählte Protokoll identifizieren, Bilden eines Übertragungspakets, das das Datenpaket, die Ziel-ID und die bestimmten protokollspezifischen Informationen enthält, und Übertragen des Übertragungspakets über das lokale Bereichsnetzwerk (10) zu dem zweiten Anwendungsprogramm.
  2. Verfahren gemäß Anspruch 1, wobei das protokollunabhängige Schnittstellenprogramm: dem ersten Anwendungsprogramm eine eindeutige Zugriffs-ID zuweist, und Abbildungsinformationen erstellt, die eine Eins-zu-Eins-Entsprechung zwischen jeder/jedem Zugriffs-ID/Zugriffsleitungspaar (90) und einem Block von protokollspezifischen Informationen aufweisen, und wobei der Bestimmungsschritt ein Ermitteln eines Blocks von protokollspezifischen Informationen aus den Abbildungsinformationen auf der Grundlage der Zugriffs-ID des ersten Anwendungsprogramms und der Zugriffsleitung (281, 282, 283), die dem in dem Auswahlschritt ausgewählten Protokoll entspricht, umfasst.
  3. Verfahren gemäß Anspruch 1 oder 2, wobei die zweite Vorrichtung eine Netzwerkschnittstellenvorrichtung (120) ist, die eine Schnittstelle zwischen einer Peripherie (135) und dem lokalen Bereichsnetzwerk (10) bildet, und die eine Dienstroutine ausführt, wobei das Verfahren ferner den Schritt des Übertragens von Datenpaketen, die durch die Dienstroutine zu bedienende Daten enthalten, umfasst.
DE69636444T 1995-06-27 1996-06-26 Protokollunabhängige, anpassungsfähige Netzwerkschnittstelle Expired - Lifetime DE69636444T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US495172 1990-03-19
US08/495,172 US5710908A (en) 1995-06-27 1995-06-27 Adaptive network protocol independent interface

Publications (2)

Publication Number Publication Date
DE69636444D1 DE69636444D1 (de) 2006-09-28
DE69636444T2 true DE69636444T2 (de) 2007-03-15

Family

ID=23967559

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69636444T Expired - Lifetime DE69636444T2 (de) 1995-06-27 1996-06-26 Protokollunabhängige, anpassungsfähige Netzwerkschnittstelle

Country Status (4)

Country Link
US (1) US5710908A (de)
EP (1) EP0751656B1 (de)
JP (1) JPH0962593A (de)
DE (1) DE69636444T2 (de)

Families Citing this family (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6219718B1 (en) 1995-06-30 2001-04-17 Canon Kabushiki Kaisha Apparatus for generating and transferring managed device description file
GB9603582D0 (en) 1996-02-20 1996-04-17 Hewlett Packard Co Method of accessing service resource items that are for use in a telecommunications system
US5822520A (en) * 1995-12-26 1998-10-13 Sun Microsystems, Inc. Method and apparatus for building network test packets
US5987517A (en) * 1996-03-27 1999-11-16 Microsoft Corporation System having a library of protocol independent reentrant network interface functions for providing common calling interface for communication and application protocols
SE509269C2 (sv) * 1996-07-15 1998-12-21 Telia Ab Metod, system och protokollarkitektur för nätverksadministration
US6003077A (en) * 1996-09-16 1999-12-14 Integrated Systems, Inc. Computer network system and method using domain name system to locate MIB module specification and web browser for managing SNMP agents
DE19638071A1 (de) * 1996-09-18 1998-03-19 Deutsche Telekom Mobil Verfahren und Einrichtung zur Integration verteilter Telematikanwendungen über verschiedene Telekommunikationswege
US6523696B1 (en) * 1996-10-15 2003-02-25 Kabushiki Kaisha Toshiba Communication control device for realizing uniform service providing environment
US7383341B1 (en) * 1996-10-15 2008-06-03 Kabushiki Kaisha Toshiba Data transfer control device, relay device and control device suitable for home network environment
US6651104B1 (en) * 1996-11-12 2003-11-18 Ericsson Inc. Multi-layered interface for interconnecting application programs to system bus lines for electronic devices
US5999979A (en) * 1997-01-30 1999-12-07 Microsoft Corporation Method and apparatus for determining a most advantageous protocol for use in a computer network
US6216168B1 (en) * 1997-03-17 2001-04-10 Cabletron Systems, Inc. Perspective-based shared scope address resolution method and apparatus
US6128653A (en) 1997-03-17 2000-10-03 Microsoft Corporation Method and apparatus for communication media commands and media data using the HTTP protocol
EP0886411A3 (de) * 1997-04-15 2004-01-21 Hewlett-Packard Company, A Delaware Corporation Verfahren und Vorrichtung zur protokollgesteuerten Interaktion zwischen Geräten
US6058445A (en) * 1997-05-13 2000-05-02 Micron Electronics, Inc. Data management method for adding or exchanging components on a running computer
US6046742A (en) * 1997-05-13 2000-04-04 Micron Electronics, Inc. Display of system information
US6219711B1 (en) * 1997-05-13 2001-04-17 Micron Electronics, Inc. Synchronous communication interface
US6425006B1 (en) 1997-05-13 2002-07-23 Micron Technology, Inc. Alert configurator and manager
US6553416B1 (en) 1997-05-13 2003-04-22 Micron Technology, Inc. Managing computer system alerts
US6134614A (en) * 1997-05-13 2000-10-17 Micron Electronics, Inc. Method for facilitating the replacement or insertion of devices in a computer system through the use of a graphical user interface
US6134615A (en) * 1997-05-13 2000-10-17 Micron Electronics, Inc. System for facilitating the replacement or insertion of devices in a computer system through the use of a graphical user interface
US6098108A (en) * 1997-07-02 2000-08-01 Sitara Networks, Inc. Distributed directory for enhanced network communication
US6266701B1 (en) 1997-07-02 2001-07-24 Sitara Networks, Inc. Apparatus and method for improving throughput on a data network
US6304912B1 (en) * 1997-07-24 2001-10-16 Fujitsu Limited Process and apparatus for speeding-up layer-2 and layer-3 routing, and for determining layer-2 reachability, through a plurality of subnetworks
US6038689A (en) * 1997-08-21 2000-03-14 Digital Equipment Corporation Fault notification system and process using local area network
DE19739297C2 (de) * 1997-09-08 2001-11-15 Phoenix Contact Gmbh & Co Automatisierungsanlage und Anschaltvorrichtung zur transparenten Kommunikation zwischen zwei Netzen
US6068661A (en) * 1997-10-01 2000-05-30 Micron Electronics, Inc. Method of emulating synchronous communication
US6704786B1 (en) * 1997-12-15 2004-03-09 Sun Microsystems, Inc. Network and end-host efficiency for web communication
US6192414B1 (en) * 1998-01-27 2001-02-20 Moore Products Co. Network communications system manager
US6119156A (en) * 1998-04-27 2000-09-12 Xerox Corporation Locking mechanism for network-managed agents in a digital printing system
US7043532B1 (en) 1998-05-07 2006-05-09 Samsung Electronics Co., Ltd. Method and apparatus for universally accessible command and control information in a network
CN1115824C (zh) 1998-05-07 2003-07-23 三星电子株式会社 网络中的装置对装置命令与控制的方法和系统
EP0964558A1 (de) * 1998-06-08 1999-12-15 THOMSON multimedia Zugriffsverfahren auf Internet-Anwedungen von Hausnetzwerkgeräten
FR2781952B1 (fr) * 1998-07-28 2000-09-08 Cegelec Procede d'attribution d'adresses informatiques entre unites d'un systeme de conduite d'installation industrielle
JP2000112763A (ja) * 1998-10-01 2000-04-21 Fujitsu Ltd 伝送装置のダウンロード方法及び伝送装置
US6298164B1 (en) * 1998-10-02 2001-10-02 Canon Kabushiki Kaisha PCL conversion of JETSEND images
US6256322B1 (en) * 1998-10-02 2001-07-03 Canon Kabushiki Kaisha Bundling multiple network management packets
US20030158932A1 (en) * 1998-10-02 2003-08-21 Haruo Machida System for displaying connection condition of device provided on network
US6728210B1 (en) * 1998-12-21 2004-04-27 Nec America, Inc. Multi-logical access for a serial data link
US6253268B1 (en) 1999-01-15 2001-06-26 Telefonaktiebolaget L M Ericsson (Publ) Method and system for multiplexing a second interface on an I2C interface
US6434617B1 (en) * 1999-02-22 2002-08-13 Hewlett-Packard Co. Extensible, object-oriented network interface
WO2000055783A1 (en) * 1999-03-12 2000-09-21 Netratings, Inc. Method and apparatus for measuring user access to image data
US6370582B1 (en) * 1999-05-28 2002-04-09 Adc Technologies International Pte Ltd. Method and system for providing cross-platform remote control, monitoring, and up-dating of a facility access controller
US6671722B1 (en) * 1999-07-08 2003-12-30 Intel Corporation Stack-less, CPU-less creation of valid SNMP-trap packets
US7610559B1 (en) 1999-07-27 2009-10-27 Samsung Electronics Co., Ltd. Device customized home network top-level information architecture
US7490293B1 (en) 1999-07-27 2009-02-10 Samsung Electronics Co., Ltd. Device discovery and control in a bridged home network
US6801507B1 (en) 1999-07-27 2004-10-05 Samsung Electronics Co., Ltd. Device discovery and configuration in a home network
US8032833B1 (en) 1999-07-27 2011-10-04 Samsung Electronics Co., Ltd. Home network device information architecture
US6857026B1 (en) * 1999-12-14 2005-02-15 Nortel Networks Limited Using alternate routes for fail-over in a communication network
US7191240B1 (en) * 2000-02-14 2007-03-13 International Business Machines Corporation Generic network protocol layer with supporting data structure
US6671720B1 (en) 2000-03-01 2003-12-30 International Business Machines Corporation Data processing system and method for dynamically assigning a temporary network address to a client computer system utilizing an access port
US6757725B1 (en) * 2000-04-06 2004-06-29 Hewlett-Packard Development Company, Lp. Sharing an ethernet NIC between two sub-systems
US6799318B1 (en) * 2000-04-24 2004-09-28 Microsoft Corporation Method having multiple interfaces with distinguished functions and commands for providing services to a device through a transport
US6601094B1 (en) * 2000-04-27 2003-07-29 Hewlett-Packard Development Company, L.P. Method and system for recommending an available network protocol
FI113606B (fi) * 2000-05-03 2004-05-14 Nokia Corp Menetelmä sanomien välittämiseksi, tiedonsiirtojärjestelmä ja päätelaite
DE10122501A1 (de) * 2000-05-17 2001-11-22 Heidelberger Druckmasch Ag Steuerung der Druckmediums-Auswahl für den Druckvorgang
SE520287C2 (sv) * 2000-06-21 2003-06-17 Columbitech Ab Metod för kommunikation medelst WAP-protokoll
WO2001099361A1 (en) * 2000-06-21 2001-12-27 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for selecting transmission means
US7349967B2 (en) 2000-07-21 2008-03-25 Samsung Electronics Co., Ltd. Architecture for home network on world wide web with private-public IP address/URL mapping
US20020042831A1 (en) * 2000-08-16 2002-04-11 Jeffrey Capone System and method for building applications that adapt for multiple device and protocol standards
US6880070B2 (en) * 2000-12-08 2005-04-12 Finisar Corporation Synchronous network traffic processor
US6978308B2 (en) 2001-03-21 2005-12-20 International Business Machines Corporation System and method for nesting virtual private networking connections with coincident endpoints
US6996833B1 (en) * 2001-03-27 2006-02-07 Microsoft Corporation Protocol agnostic request response pattern
US7552216B2 (en) * 2001-03-27 2009-06-23 Lexmark International, Inc. Method of sharing a printer
US6839706B2 (en) * 2001-08-06 2005-01-04 Lefthand Networks, Inc. Block data storage within a computer network
US7307986B2 (en) * 2002-02-04 2007-12-11 Intel Corporation State record processing
US7870275B1 (en) * 2002-02-28 2011-01-11 Globalfoundries Inc. Communication scheme-independent infrastructure
JP2003264602A (ja) * 2002-03-08 2003-09-19 Fujitsu Ltd 通信制御装置、通信制御プログラム、及び通信制御方法
US7899924B2 (en) * 2002-04-19 2011-03-01 Oesterreicher Richard T Flexible streaming hardware
US20040006636A1 (en) * 2002-04-19 2004-01-08 Oesterreicher Richard T. Optimized digital media delivery engine
US20040006635A1 (en) * 2002-04-19 2004-01-08 Oesterreicher Richard T. Hybrid streaming platform
US7805606B2 (en) * 2002-07-29 2010-09-28 Bea Systems, Inc. Computer system for authenticating a computing device
US7120858B2 (en) * 2002-08-21 2006-10-10 Sun Microsystems, Inc. Method and device for off-loading message digest calculations
AU2003268402A1 (en) * 2002-09-10 2004-04-30 Sigcom, Inc. Software architecture system for a security management system
US7366892B2 (en) * 2003-01-28 2008-04-29 Cellport Systems, Inc. Secure telematics
WO2004093406A1 (ja) * 2003-04-16 2004-10-28 Sony Computer Entertainment Inc. データ伝送装置、データ伝送方法、ゲーム機およびゲームシステム
JP3907609B2 (ja) * 2003-04-30 2007-04-18 株式会社ソニー・コンピュータエンタテインメント ゲーム実行方法、ゲーム機、通信方法および通信装置
US7613835B2 (en) * 2003-09-08 2009-11-03 Sony Corporation Generic API for synchronization
US7925790B2 (en) * 2003-09-17 2011-04-12 Sony Corporation Middleware filter agent between server and PDA
US20050060370A1 (en) * 2003-09-17 2005-03-17 Sony Corporation Version based content distribution and synchronization system and method
US7346370B2 (en) * 2004-04-29 2008-03-18 Cellport Systems, Inc. Enabling interoperability between distributed devices using different communication link technologies
GB2416648A (en) * 2004-07-23 2006-02-01 King S College London A method of mapping a first interface to a second interface
US7315871B2 (en) * 2005-01-19 2008-01-01 International Business Machines Inc. Corporation Method, system and program product for interning invariant data objects in dynamic space constrained systems
US7464174B1 (en) 2005-03-07 2008-12-09 Pericom Semiconductor Corp. Shared network-interface controller (NIC) using advanced switching (AS) turn-pool routing field to select from among multiple contexts for multiple processors
US8543999B2 (en) * 2005-03-30 2013-09-24 Welch Allyn, Inc. Communication of information between a plurality of network elements
US7698448B2 (en) * 2005-11-04 2010-04-13 Intermatic Incorporated Proxy commands and devices for a home automation data transfer system
US7694005B2 (en) * 2005-11-04 2010-04-06 Intermatic Incorporated Remote device management in a home automation data transfer system
US7870232B2 (en) * 2005-11-04 2011-01-11 Intermatic Incorporated Messaging in a home automation data transfer system
US20070121653A1 (en) * 2005-11-04 2007-05-31 Reckamp Steven R Protocol independent application layer for an automation network
US20070256085A1 (en) * 2005-11-04 2007-11-01 Reckamp Steven R Device types and units for a home automation data transfer system
US8149709B2 (en) * 2006-06-30 2012-04-03 Oracle America, Inc. Serialization queue framework for transmitting packets
US8484612B2 (en) 2006-10-04 2013-07-09 Welch Allyn, Inc. Application generator for a dynamic medical object information base
KR100877065B1 (ko) * 2007-01-12 2009-01-09 삼성전자주식회사 통신 프로토콜 결정 방법 및 장치
US8027293B2 (en) 2007-07-16 2011-09-27 Cellport Systems, Inc. Communication channel selection and use
ATE544284T1 (de) * 2007-09-29 2012-02-15 Research In Motion Ltd Verfahren und vorrichtung zum reagieren auf eine anforderung in einer ims beinhaltenden netzwerkumgebung
CA2703912C (en) 2007-10-27 2016-09-27 Research In Motion Limited Content disposition system and method for processing message content in a distributed environment
US8238538B2 (en) 2009-05-28 2012-08-07 Comcast Cable Communications, Llc Stateful home phone service
US8214566B2 (en) 2009-07-24 2012-07-03 Welch Allyn, Inc. Configurable health-care equipment apparatus
USD635681S1 (en) 2010-07-22 2011-04-05 Welch Allyn, Inc. Patient-monitor housing
USD632397S1 (en) 2010-07-22 2011-02-08 Welch Allyn, Inc. Portions of a patient-monitor housing
USD671222S1 (en) 2010-07-22 2012-11-20 Welch Allyn, Inc. Module for a patient-monitor or the like
CN104303458A (zh) * 2012-05-17 2015-01-21 三菱电机株式会社 通信装置以及通信系统
WO2015040350A1 (en) * 2013-09-18 2015-03-26 Toshiba Research Europe Limited Method and system for establishing a network connection
CA3057347A1 (en) * 2018-10-02 2020-04-02 Alarm.Com Incorporated Security system with smart connection module

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4855905A (en) * 1987-04-29 1989-08-08 International Business Machines Corporation Multiprotocol I/O communications controller unit including emulated I/O controllers and tables translation of common commands and device addresses
US5182748A (en) * 1989-10-20 1993-01-26 Kokusai Denshin Denwa Co., Ltd. Protocol conversion system
US5301303A (en) * 1990-04-23 1994-04-05 Chipcom Corporation Communication system concentrator configurable to different access methods
US5251205A (en) * 1990-09-04 1993-10-05 Digital Equipment Corporation Multiple protocol routing
FR2670925B1 (fr) * 1990-12-20 1995-01-27 Bull Sa Architecture informatique distribuee utilisant un reseau local de type csma/cd.
EP0503207B1 (de) * 1991-03-13 1997-06-18 International Business Machines Corporation Anpassungseinrichtung und Verfahren zur wirksamen Verbindung von Datenverarbeitungseinrichtungen und Netzwerken
GB2264845B (en) * 1992-02-28 1995-09-20 Texas Instruments Ltd Local area network adaptive circuit for multiple network types
GB2264843B (en) * 1992-02-28 1995-09-20 Texas Instruments Ltd An interface device for coupling a host device having a network interface to a computer network having a predetermined communications medium
US5410535A (en) * 1992-07-02 1995-04-25 Digital Equipment Corporation Automatic selection of an interface for ethernet stations
US5425028A (en) * 1992-07-16 1995-06-13 International Business Machines Corporation Protocol selection and address resolution for programs running in heterogeneous networks
US5526489A (en) * 1993-03-19 1996-06-11 3Com Corporation System for reverse address resolution for remote network device independent of its physical address
JP3241481B2 (ja) * 1993-04-15 2001-12-25 富士通株式会社 異機種通信端末間相互接続サービス方式並びにこの異機種通信端末間相互接続サービス方式に使用される通信ノード装置及び通信端末
US5491693A (en) * 1993-12-30 1996-02-13 International Business Machines Corporation General transport layer gateway for heterogeneous networks
US5485455A (en) * 1994-01-28 1996-01-16 Cabletron Systems, Inc. Network having secure fast packet switching and guaranteed quality of service
US5509123A (en) * 1994-03-22 1996-04-16 Cabletron Systems, Inc. Distributed autonomous object architectures for network layer routing

Also Published As

Publication number Publication date
JPH0962593A (ja) 1997-03-07
US5710908A (en) 1998-01-20
DE69636444D1 (de) 2006-09-28
EP0751656A2 (de) 1997-01-02
EP0751656A3 (de) 1998-10-21
EP0751656B1 (de) 2006-08-16

Similar Documents

Publication Publication Date Title
DE69636444T2 (de) Protokollunabhängige, anpassungsfähige Netzwerkschnittstelle
DE69634762T2 (de) Gerät zur Erzeugung und Übertragung einer verwalteten Gerätbeschreibungsdatei
DE60035830T2 (de) Netzwerkgeräteverwaltungsvorrichtung und - verfahren
DE69922693T2 (de) Systemem und verfahren für netzwerkvorrichtung und ein-ausgabegerätetreiber
DE69629433T2 (de) Protokollrekonfigurierung in einem Netzschnittstellengerät
DE69836426T2 (de) Steuergerät für einen universellen seriellen Bus
DE602004004942T2 (de) Virtuelle Netzwerkadressen
DE60201682T2 (de) Anordnung zur erzeugung mehrerer virtueller warteschlangenpaare aus einer komprimierten warteschlange auf der basis gemeinsamer attribute
DE60212626T2 (de) Endknotenunterteilung mittels lokaler identifikatoren
DE60024228T2 (de) Dynamische zuweisung verkehrsklassen an einer prioritätswarteschlange in einer paketbeförderungsvorrichtung
DE69329743T9 (de) Computerverwaltungssystem und entsprechende Datenbank für Verwaltungsinformationen
DE69533230T2 (de) Verfahren und vorrichtung zur verbesserung der fehlertoleranz eines netzwerkes
DE69720857T2 (de) Systeme und Verfahren zum Betrieb einer Netzwerk-Verwaltungsstation
DE69433293T2 (de) Netzwerkübertragungsverfahren für Systeme mit virtuellem Speicher
DE10338113B4 (de) Netzwerkserver und Verfahren zur Auffindung von Netzwerkknoten
DE69928603T2 (de) Medienzugriffssteuerung
DE69637142T2 (de) Netzwerkverwaltung mit Erfassung von formatierten Abzugdaten aus einem Fernprozess
DE69914425T2 (de) Modulare Übertragungssteuerung und -Verfahren
DE112006001167T5 (de) Simulieren mehrerer virtueller Kanäle in Switching-Fabric-Netzwerken
EP0807883B1 (de) Kommunikationssystem mit Mitteln zum Austausch von Softwareprozessen
DE4319912A1 (de) Echtzeitdaten-Abbildungsnetzwerksystem und Verfahren zum Betreiben desselben
DE60016360T2 (de) Prioritätsweiterleitung in einem Kommunikationssystem
DE112021003094T5 (de) System und verfahren zum planen von gemeinsam nutzbaren pcie-endpunktvorrichtungen
DE69634105T2 (de) Verfahren und Einrichtung zur Übermittlung einer Nachricht an einem Lokalnetzverwalter
DE60027633T2 (de) Datenkommunikations-Gerät

Legal Events

Date Code Title Description
8364 No opposition during term of opposition