-
STAND DER TECHNIK
-
1. Gebiet
-
Die
Offenlegung betrifft ein Verfahren, eine Vorrichtung, ein System
und ein Gegenstand zum Gruppieren von Paketen.
-
2. Stand der Technik
-
Bei
einem Netzwerk kann es sich um ein System zur Kommunikation zwischen
mehreren Einrichtungen handeln. Bei der Netzwerkgestaltung kann
es sich bei einem Kommunikationsprotokoll oder Netzwerkprotokoll
um die Spezifikation eines Regelsatzes für einen bestimmten Kommunikationstyp
handeln. Verschiedene Protokolle können verschiedene Aspekte ein
und derselben Kommunikation beschreiben. Zusammengenommen können die verschiedenen
Protokolle, die verschiedene Aspekte ein und derselben Kommunikation
beschreiben, einen Protokollstapel bilden.
-
Computernetzwerke
können
unter Verwendung verschiedener Protokollstapelarchitekturen implementiert
werden, wobei ein Protokollstapel eine spezielle Softwareimplementierung
einer Computernetzwerk-Protokollsuite ist. Ein Protokollstapel kann
mehrere Protokollmodule aufweisen. Die Protokollmodule können als
Protokollschichten im Protokollstapel bezeichnet werden.
-
Zum
Beispiel kann ein Protokollstapel eine Übertragungssteuerungsprotokollschicht (TCP-Schicht) umfassen,
die über
eine Internetprotokollschicht (IP-Schicht) läuft, wobei die IP-Schicht über eine
Ethernetschicht läuft.
Betriebssysteme können
Softwareschnittstellen zwischen verschiedenen Schichten von Protokollstapeln
aufweisen. Zum Beispiel verfügt
das Betriebssystem Microsoft Windows* über die Schnittstelle „Network
Driver Interface Specification” (NDIS).
Die NDIS-Schnittstelle kann mehrere Anwendungsprogrammierschnittstellen
(API, engl. „application
programming interface”) für Einrichtungen
wie zum Beispiel Netzwerkschnittstellenkarten (NIC, engl. „network
interface card”) aufweisen.
Die NDIS-APIs können
dazu benutzt werden, Protokolltreiber und Gerätetreiber zu integrieren. Andere
Betriebssysteme können
andere Softwareschnittstellen für
verschiedene Schichten von Protokollstapeln aufweisen.
-
US 2003/0135667 A1 offenbart
eine Anordnung, die einen I/O-Controller (
110) und einen
Host (
140) aufweist, wobei der I/O-Controller (
110)
mehrere Pakete empfängt,
sie gemäß einem
Klassifikationskriterium klassifiziert, eine Paketgruppe mit einem
entsprechenden Paketgruppendeskriptor generiert und die Paketgruppe
und den entsprechende Deskriptor an den Host sendet.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Es
wird nun auf die Zeichnungen Bezug genommen, wobei gleiche Teile
durchgängig
gleiche Bezugszeichen haben. Es zeigen:
-
1 eine
Computerumgebung, in welcher bestimmte Ausführungsformen implementiert
sind,
-
2 wie
in der in 1 gezeigten Computerumgebung
Pakete sortiert werden können,
-
3 Operationen
zum Gruppieren von in Bezug zu 1 bis 2 beschriebenen
Paketen gemäß bestimmten
Ausführungsformen,
-
4 eine
beispielhafte Gruppierung von Paketen gemäß bestimmten Ausführungsformen,
-
5 Operationen,
die gemäß bestimmten Ausführungsformen
implementiert sind, und
-
6 eine
Computerarchitektur, in welcher bestimmte beschriebene Ausführungsformen
implementiert sind.
-
AUSFÜHRLICHE BESCHREIBUNG
-
In
der folgenden Beschreibung wird auf die beigefügten Zeichnungen Bezug genommen,
die einen Teil hiervon bilden und mehrere Ausführungsformen veranschaulichen.
Es versteht sich, daß andere Ausführungsformen
genutzt und strukturelle und betriebliche Änderungen vorgenommen werden
können.
-
1 zeigt
eine Computerumgebung 100, in welcher bestimmte Ausführungsformen
implementiert sind. An einen Host 104 ist eine Hardwareeinrichtung 102 gekoppelt.
Zwar wird die Hardwareeinrichtung 102 in der Computerumgebung 100 als
relativ zu dem Host 104 extern gezeigt, doch kann die Hardwareeinrichtung 102 in
alternativen Ausführungsformen
auch relativ zu dem Host 104 intern sein. Die Hardwareeinrichtung 102 kann
eine beliebige Hardwareeinrichtung umfassen, wie zum Beispiel einen
Netzwerkadapter, einen E/A-Controller, eine Speichereinrichtung,
ein Modem etc., die dazu befähigt
ist, durch Senden und Empfangen von Paketen an den Host 104 anzukoppeln.
Zwar wird gezeigt, daß eine
einzelne Hardwareeinrichtung 102 an den Host 104 gekoppelt
ist, doch können
bei alternativen Ausführungsformen
mehrere Hardwareeinrichtungen an den Host 104 gekoppelt
sein. Bei dem Host 104 kann es sich um eine Computerplattform
handeln, wie zum Beispiel um einen Personalcomputer, eine Workstation,
einen Server, einen Mainframe, einen Handheld-Computer, einen Palmtop-Computer,
eine Telefonieeinrichtung, ein Netzwerkgerät, einen Blade-Computer etc.
-
Der
Host 104 kann eine oder mehrere Protokollschichten 106a ... 106n,
eine Betriebssystemschnittstelle 108 und einen Gerätetreiber 110 umfassen.
Der Host 104 kann weitere (nicht gezeigte) Komponenten
umfassen, wie zum Beispiel einen Prozessor, einen Internspeicher
und ein Betriebssystem.
-
Bei
bestimmten Ausführungsformen
können die
Protokollschichten 106a ... 106n eine beliebige Protokollschicht
umfassen, wie zum Beispiel Internet Packet Exchange/Sequential Packet
Exchange (IPX/SPX*), NetBIOS Extended User Interface (NetBEUI*),
Internet-Protokoll Version 4 (IPv4) etc. IPX/SPX ist ein Kommunikationsprotokoll
für lokale Netzwerke,
das Informationen zwischen Netzwerk-Clients, Anwendungen und Netzwerk-Peripheriegeräten austauscht.
NetBEUI ist eine erweiterte Version des NetBIOS-Protokolls, das
von diversen Netzwerkbetriebssystemen benutzt wird. IPv4 ist ein Internetprotokoll, über welches
andere Protokolle, wie zum Beispiel das Übertragungssteuerungsprotokoll
(TCP, engl. „transmission
control protocol”),
ausgeführt
werden können.
Weitere Protokollschichten wie zum Beispiel Internetprotokoll Version
6 (IPv6) können
ebenfalls in die Protokollschichten 106a ... 106n aufgenommen
werden.
-
Bei
bestimmten Ausführungsformen
kann die Betriebssystemschnittstelle 108 eine NDIS6-Schnittstelle oder
andere Schnittstellen umfassen. Die Betriebssystemschnittstelle 108 kann zum
Ankoppeln der Protokollschichten 106a ... 106n an
den Gerätetreiber 110 benutzt
werden. Bei bestimmten Ausführungsformen
kann die Betriebssystemschnittstelle 108 APIs umfassen,
die dazu befähigt
sind, Gruppen aus Paketen zu verarbeiten.
-
Bei
dem Gerätetreiber 110 kann
es sich um ein Programm handeln, das die Hardwareeinrichtung 102 steuert.
Der Gerätetreiber 110 kann
als Umsetzer zwischen der Hardwareeinrichtung 102 und der Betriebssystemschnittstelle 108 agieren.
Der Gerätetreiber 110 kann
Kommandos von der Betriebssystemschnittstelle 108 akzeptieren
und die akzeptierten Kommandos in spezialisierte Kommandos für die Hardwareeinrichtung 102 umsetzen.
Bei bestimmten Ausführungsformen,
bei denen die Hardwareeinrichtung 102 ein Netzwerkadapter
ist, kann es sich bei dem Gerätetreiber 110 um
einen Treiber für
den Netzwerkadapter handeln.
-
1 zeigt
eine Ausführungsform,
bei welcher der Gerätetreiber 110 den
Austausch von Daten und Kommandos zwischen der Betriebssystemschnittstelle 108 und
der Hardwareeinrichtung 102 zuläßt, wobei die Betriebssystemschnittstelle 108 den
Austausch von Daten und Kommandos für mehrere Protokollschichten 106a ... 106n zulassen
kann.
-
2 zeigt
wie in der in 1 gezeigten Computerumgebung 100 Pakete
sortiert werden können.
Die Hardwareeinrichtung 102, wie zum Beispiel ein Netzwerkadapter
oder ein E/A-Controller,
empfängt
mehrere Pakete 200a ... 200m. Bei bestimmten Ausführungsformen
können
die Pakete 200a ... 200m an der Hardwareeinrichtung 102 über ein
(nicht gezeigtes) Netzwerk ankommen, wie zum Beispiel über ein
lokales Netzwerk, ein Weitverkehrsnetzwerk, das Internet, ein Intranet
etc.
-
Die
Hardwareeinrichtung 102 sendet die Pakete 200a ... 200m an
den Gerätetreiber 110.
Die Pakete 200a ... 200m können in derselben Reihenfolge gesendet
werden, in welcher sie von der Hardwareeinrichtung 102 empfangen
werden. Bei bestimmten Ausführungsformen,
wo die Paketreihenfolge nicht wichtig ist, können die Pakete 200a ... 200m statt
in der Reihenfolge, in welcher sie von der Hardwareeinrichtung 102 empfangen
werden, in einer anderen Reihenfolge gesendet werden. Allerdings
wird innerhalb jeder Ende-zu-Ende-Kommunikation, wie zum Beispiel
einer TCP-Verbindung, die Paketreihenfolge beibehalten. Überdies
kann die Hardwareeinrichtung 102 auf die Ankunft eines
Pakets an der Hardwareeinrichtung 102 reagieren, indem
sie das Paket an den Gerätetreiber 110 sendet,
oder sie kann warten, bis mehrere Pakete an der Hardwareeinrichtung 102 angekommen
sind, bevor sie die mehreren Pakete an den Gerätetreiber 110 sendet.
-
Im
Zusammenhang mit einem Paket 200a ... 200m, das
von der Hardwareeinrichtung 102 gesendet wird, kann die
Hardwareeinrichtung 102 eine Protokollschicht anzeigen,
die dazu befähigt
ist, das Paket 200a ... 200m zu verarbeiten. Zum
Beispiel kann die Hardwareeinrichtung 102 das Paket 200a an
den Gerätetreiber 110 senden
und anzeigen, daß das
Paket 200a dazu befähigt
ist, von einer IPX/SPX-Protokollschicht, wie zum Beispiel der Protokollschicht
A 106a, verarbeitet zu werden. Bei alternativen Ausführungsformen
kann ein Paket 200a ... 200m Informationen über die
zur Verarbeitung des Pakets 200a ... 200m befähigte Protokollschicht
enthalten, und die Hardwareeinrichtung 102 kann die Protokollschicht eines
Pakets nicht anzeigen, während
sie das Paket an den Gerätetreiber 110 schickt.
-
Der
Gerätetreiber 110 empfangt
die Pakete 200a ... 200m von der Hardwareeinrichtung 102 und sortiert
sie in eine oder mehrere Paketbündel 202a ... 202n,
die den Protokollschichten 106a ... 106n entsprechen.
Zum Beispiel kann das Paketbündel
A 202a die Pakete 204a ... 204r umfassen,
die dazu befähigt
sind, von der Protokollschicht A 106a verarbeitet zu werden,
das Paketbündel
B 202b kann die Pakete 206a ... 206s umfassen,
die dazu befähigt
sind, von der Protokollschicht B 106b verarbeitet zu werden,
und das Paketbündel
N 202n kann die Pakete 208a ... 208t umfassen,
die dazu befähigt
sind, von der Protokollschicht N 106n verarbeitet zu werden, wobei
die Pakete 204a ... 204r, 206a ... 206s, 208a ... 208t den
Paketen 200a ... 200m entsprechen, die von dem
Gerätetreiber 110 empfangen
werden. Alle in ein Paketbündel
aufgenommenen Pakete sind dazu befähigt, von ein und derselben
Protokollschicht verarbeitet zu werden. Zum Beispiel sind alle in
das Paketbündel
A 202a aufgenommenen Pakete dazu befähigt, von der Protokollschicht
A 106a verarbeitet zu werden, alle Pakete im Paketbündel B 202b sind
dazu befähigt,
von der Protokollschicht B 106b verarbeitet zu werden,
und alle Pakete im Paketbündel
N 202n sind dazu befähigt,
von der Protokollschicht N 106n verarbeitet zu werden.
-
Der
Gerätetreiber 110 sendet
die Paketbündel 202a ... 202n an
die Betriebssystemschnittstelle 108. Die Betriebssystemschnittstelle 108 leitet
die Paketbündel 202a ... 202n zur
Verarbeitung an die entsprechende Protokollschicht 106a ... 106n weiter. Zum
Beispiel kann die Betriebssystemschnittstelle 108 bei bestimmten
Ausführungsformen
das Paketbündel
A 202a an die Protokollschicht A 106a, das Paketbündel B 202b an
die Protokollschicht B 106b und das Paketbündel N 202n an
die Protokollschicht N 106n senden. Innerhalb jeder Ende-zu-Ende-Kommunikation,
wie zum Beispiel einer TCP-Verbindung, wird sowohl von dem Gerätetreiber 110 als
auch von der Betriebssystemschnittstelle 108 die Paketreihenfolge
beibehalten.
-
Falls
zum Beispiel bei bestimmten Ausführungsformen
die Pakete 200a ... 200m kollektiv von den IPX/SPX-,
NetBEUI- und IPv4-Protokollschichten verarbeitet werden können, kann
der Gerätetreiber 110 die
Pakete 200a ... 200m in Paketbündel sortieren, die den IPX/SPX-,
NetBEUI- und IPv4-Protokollschichten
entsprechen. Bei bestimmten Ausführungsformen
kann der Gerätetreiber 110 diverse Strategien
verfolgen, welche für
die Entscheidung, wie viele Pakete in einem Paketbündel 202a ... 202n gebündelt werden
sollen, die Latenz beim Verarbeiten von Paketen berücksichtigen.
-
Die
Betriebssystemschnittstelle 108 kann die Pakete in dem
Paketbündel,
das der IPX/SPX-Protokollschicht
entspricht, zur Verarbeitung an die EPX/SPX-Protokollschicht weiterleiten.
Außerdem leitet
die Betriebssystemschnittstelle 108 die Pakete in dem Paketbündel, das
der NetBEUI-Protokollschicht entspricht, zur Verarbeitung an die
NetBEUI-Protokollschicht weiter, und ferner leitet sie die Pakete
in dem Paketbündel,
das der IPv4-Protokollschicht entspricht, zur Verarbeitung an die
IPv4-Protokollschicht weiter.
-
2 zeigt
bestimmte Ausführungsformen, bei
denen der Gerätetreiber 110 eingehende
Pakete in ein oder mehrere Paketbündel sortiert, wobei ein Paketbündel Pakete
umfaßt,
die dazu befähigt
sind, von ein und demselben Protokoll verarbeitet zu werden. Der
Gerätetreiber 110 sendet
die Paketbündel an
die Betriebssystemschnittstelle 108, wie zum Beispiel an
die NDIS6-Schnittstelle.
Die Betriebssystemschnittstelle 108 kann die Paketbündel zur
weiteren Verarbeitung an die entsprechenden Protokollschichten senden.
-
3 zeigt
Operationen zum Gruppieren der in Bezug zu 1 bis 2 beschriebenen
Pakete 200a ... 200m gemäß bestimmten Ausführungsformen.
-
Der
Ablauf beginnt bei Block 300, wo die Hardwareeinrichtung 102 eine
Folge aus Paketen 200a ... 200m an den Gerätetreiber 110 sendet
und dem Gerätetreiber 110 für jedes
Paket 200a ... 200m die entsprechende, zur Verarbeitung
des Pakets befähigte
Protokollschicht 106a ... 106n anzeigt.
-
Der
Gerätetreiber 110 empfängt (bei
Block 302) die Pakete 200a ... 200m.
Der Gerätetreiber
sortiert (bei Block 304) basierend auf der jeweils zur
Verarbeitung der einzelnen empfangenen Pakete 200a ... 200m befähigten Protokollschicht
die empfangenen Pakete 200a ... 200m dergestalt in
ein oder mehrere Paketbündel 202a ... 202n,
daß alle
in ein Paketbündel
einsortierten Pakete dazu befähigt
sind, von derselben Protokollschicht verarbeitet zu werden, und
verschiedene Paketbündel
dazu befähigt
sein können,
von verschiedenen Protokollschichten verarbeitet zu werden.
-
Der
Gerätetreiber 110 sendet
(bei Block 306) die Paketbündel 202a ... 202n an
die Betriebssystemschnittstelle 108. Die Betriebssystemschnittstelle 108 leitet
(bei Block 308) die Paketbündel 202a ... 202n zur
Verarbeitung an die entsprechende Protokollschicht 106a ... 106n weiter.
-
3 zeigt
bestimmte Ausführungsformen, bei
denen der Gerätetreiber 110 die
empfangenen Pakete 200a ... 200m in Paketbündel 202a ... 202n sortiert,
wobei jedes Paketbündel
Pakete umfaßt,
die dazu befähigt
sind, von demselben Protokoll verarbeitet zu werden, und verschiedene
Paketbündel
Pakete umfassen, die von verschiedenen Protokollen verarbeitet werden
können.
Der Gerätetreiber
sendet die Paketbündel 202a ... 202n an
die Betriebssystemschnittstelle 108, und die Betriebssystemschnittstelle 108 leitet
die Paketbündel 202a ... 202n zur Verarbeitung
an die entsprechende Protokollschicht 106a ... 106n weiter.
-
4 zeigt
eine beispielhafte Gruppierung von Paketen durch den Gerätetreiber 110 gemäß bestimmten
Ausführungsformen.
-
Der
Gerätetreiber 110 nimmt
eine Eingabe 400 von der Hardwareeinrichtung 102 entgegen
und sendet eine Ausgabe 402 an die Betriebssystemschnittstelle 108,
wobei die Eingabe 400 bei bestimmten Ausführungsformen
Pakete 404, 406, 408, 410, 412, 414, 416, 418, 420, 422 umfaßt, wobei
jedes einzelne Paket dazu befähigt
ist, von genau einer Protokollschicht verarbeitet zu werden, wie
zum Beispiel IPX/SPX, NetBEUI oder IPv4. Zum Beispiel ist das Paket
A 404 dazu befähigt,
vom IPX/SPX-Protokoll verarbeitet zu werden. Der Gerätetreiber 110 sortiert
die Pakete in der Eingabe 400 basierend auf dem zum Verarbeiten
der Pakete in der Eingabe 400 befähigten Protokoll in drei Gruppen
ein.
-
Zum
Beispiel kann der Gerätetreiber 110 bei bestimmten
Ausführungsformen
ermitteln, daß die Pakete 404, 408, 416, 422 dazu
befähigt
sind, von der IPX/SPX-Protokollschicht verarbeitet zu werden, daß die Pakete 406, 412, 414 dazu
befähigt
sind, von der TPv4-Protokollschicht verarbeitet zu werden, und daß die Pakete 410, 418, 420 dazu
befähigt
sind, von der NetBEUI-Protokollschicht verarbeitet zu werden. Der
Gerätetreiber 110 kann
die in der Eingabe 400 empfange nen Pakete in ein IPX/SPX-Paketbündel 424,
welches die Pakete 404, 408, 416, 422 umfaßt, in ein
IPv4-Paketbündel 426,
welches die Pakete 406, 412, 414 umfaßt und in
ein NetBEUI-Paketbündel 428,
welches die Pakete 410, 418, 420 umfaßt, sortieren.
Der Gerätetreiber 110 sendet
die Ausgabe 402, welche die Paketbündel 424, 426, 428 umfaßt, an die
Betriebssystemschnittstelle 108.
-
4 zeigt
eine Ausführungsbeispiel,
bei dem der Gerätetreiber 110 die
Pakete in mehrere Paketbündel
sortiert, wobei jedes Paketbündel
Pakete umfaßt,
die von derselben Protokollschicht verarbeitet werden können, und
verschiedene Paketbündel Pakete
umfassen, die von verschiedenen Protokollschichten verarbeitet werden
können.
Der Gerätetreiber 110 leitet
die Paketbündel
an die Betriebssystemschnittstelle 108 weiter.
-
5 zeigt
Operationen zum Gruppieren von Paketen, die in der Computerumgebung 100 implementiert
sind, gemäß bestimmten
Ausführungsformen.
Bei bestimmten Ausführungsformen
können die
Operationen im Gerätetreiber 110 implementiert werden,
wohingegen die Operationen bei anderen Ausführungsformen in der Hardwareeinrichtung 102 implementiert
werden können.
-
Der
Ablauf beginnt bei Block 500, wo eine erste Einheit mehrere
Pakete empfangt, wobei die mehreren Pakete dazu befähigt sind,
mindestens gemäß einem
ersten Protokoll und einem zweiten Protokoll verarbeitet zu werden.
Bei bestimmten Ausführungsformen
handelt es sich bei der ersten Einheit um den Gerätetreiber 110.
Bei bestimmten Ausführungsformen
handelt es sich bei der ersten Einheit um die Hardwareeinrichtung 102.
-
Die
erste Einheit sortiert (bei Block 502) die mehreren Pakete
in eine erste Gruppe und eine zweite Gruppe, wobei alle Pakete in
der ersten Gruppe dazu befähigt
sind, gemäß dem ersten
Protokoll verarbeitet zu werden, und alle Pakete in der zweiten Gruppe
dazu befähigt
sind, gemäß dem zweiten
Protokoll verarbeitet zu werden.
-
Die
erste Einheit sendet (bei Block 504) die erste Gruppe und
die zweite Gruppe an eine zweite Einheit. Bei bestimmten Ausführungsformen,
bei denen es sich bei der ersten Einheit um den Gerätetreiber 110 handelt,
kann die zweite Einheit die Betriebssystemschnittstelle 108 umfassen.
Bei bestimmten Ausführungsformen
kann die erste Einheit die Hardwareeinrichtung 102 sein,
und die zweite Einheit kann den Gerätetreiber 110 umfassen.
In einem solchen Fall muß der Gerätetreiber 110 die
eingehenden Pakete nicht für
die Betriebssystemschnittstelle 108 analysieren. Bei bestimmten
zusätzlichen
Ausführungsformen
kann die erste Einheit die Hardwareeinrichtung 102 sein,
und die zweite Einheit kann die Betriebssystemschnittstelle 108 umfassen.
-
Bestimmte
Ausführungsformen
gruppieren empfangene Pakete nach dem Protokolltyp. Die Gruppen
aus Paketen werden zur Verarbeitung an entsprechende Protokollschichten
gesendet. Falls die Betriebssystemschnittstelle 108 Mehrfach-Paket-APIs
zum Übertragen
und Empfangen von Paketen unterstützt, können die Ausführungsformen
die Merkmale der Betriebssystemschnittstelle benutzen.
-
Innerhalb
jeder gegebenen Ende-zu-Ende-Kommunikation, wie zum Beispiel einer
TCP-Verbindung,
behalten die Ausführungsformen
die Paketreihenfolgen bei. Da Pakete zusammengebündelt werden, erzeugen die
Ausführungsformen
weniger Aufrufe an Paketankunfts-APIs der Protokollschichten. Die
vom Gerätetreiber
erzeugten Paketbündel können an
die Protokollschichten weitergeleitet werden, ohne daß einzelne
Pakete gesendet werden.
-
Bestimmte
Ausführungsformen
lassen zu, daß Systeme,
wie zum Beispiel Server, die heterogene Pakete von verschiedenen
Systemen auf verschachtelte Weise empfangen, die Mehrfach-Paket-APIs der Betriebssystemschnittstelle 108,
wie zum Beispiel NDIS6, ausnutzen.
-
Die
beschriebenen Techniken können
als Verfahren, Vorrichtung oder Erzeugnis implementiert werden und
Software, Firmware, Mikrocode, Hardware und/oder eine beliebige
Kombination daraus beinhalten. Der Begriff „Erzeugnis” bezieht sich hier auf Programminstruktionen,
Code und/oder Logik, die in Schaltungen (zum Beispiel einem integrierten Schaltungschip,
einem programmierbaren Gatterarray (PGA), einer ASIC etc.) und/oder
einem computerlesbaren Medium (zum Beispiel einem magnetischen Speichermedium,
wie zum Beispiel einem Festplattenlaufwerk, einer Diskette, einem
Band), optischem Speicher (CD-ROM, DVD-ROM, optische Scheibe etc.),
flüchtigen
und nichtflüchtigen
Internspeichereinrichtungen (zum Beispiel elektrisch löschbarem
programmierbarem Festwertspeicher (EEPROM), Nur-Lese-Speicher (ROM),
programmierbarem Nur-Lese-Speicher (PROM), Schreib-Lese-Speicher
(RAM), dynamischem Schreib-Lese-Speicher (DRAM), statischem Schreib-Lese-Speicher (SRAM),
Flashspeicher, Firmware, programmierbarer Logik etc.) implementiert
sind. Eine Maschine, wie zum Beispiel ein Prozessor, kann auf den
Code in dem computerlesbaren Medium zugreifen und ihn ausführen. Bei
bestimmten Ausführungsformen
kann der Code, in welchem Ausführungsformen
vorge nommen sind, ferner durch ein Übertragungsmedium oder von
einem Dateiserver über
ein Netzwerk zugänglich
sein. In solchen Fällen
kann das Erzeugnis, in welchem der Code implementiert wird, ein Übertragungsmedium
umfassen, wie zum Beispiel eine Netzwerkübertragungsleitung, ein drahtloses Übertragungsmedium,
Signale, die sich durch den Raum ausbreiten, Radiowellen, Infrarotsignale
etc. Natürlich
erkennt der Fachmann, daß viele
Modifikationen vorgenommen werden können, ohne vom Schutzumfang
der Ausführungsformen
abzuweichen, und daß das
Erzeugnis ein beliebiges, im Stand der Technik bekanntes informationstragendes
Medium umfassen kann.
-
6 zeigt
ein Blockdiagramm einer Computerarchitektur, in welcher bestimmte
Ausführungsformen
implementiert sind. 6 zeigt eine Ausführungsform
des Hostsystems 104 und bestimmte Elemente der Hardwareeinrichtung 102.
Das Hostsystem 104 und die Hardware 102 können eine
Computerarchitektur 600 implementieren, welche einen Prozessor 602,
einen Internspeicher 604 (zum Beispiel eine flüchtige Internspeichereinrichtung)
und Speicher 606 aufweist. Nicht alle Elemente der Computerarchitektur 600 lassen
sich im Hostsystem 104 und der Hardware 102 finden.
Der Speicher 606 kann eine nichtflüchtige Internspeichereinrichtung
(zum Beispiel EEPROM, ROM, PROM, RAM, DRAM, SRAM, Flashspeicher,
Firmware, programmierbare Logik etc.), ein magnetisches Laufwerk,
ein optisches Laufwerk, ein Bandlaufwerk etc. aufweisen. Der Speicher 606 kann
eine interne Speichereinrichtung, eine angeschlossene Speichereinrichtung und/oder
eine über
Netzwerk zugängliche
Speichereinrichtung umfassen. Programme im Speicher 606 können in
den Internspeicher 604 geladen und auf im Stand der Technik
bekannte Weise von dem Prozessor 602 ausgeführt werden.
Die Architektur kann ferner eine Netzwerkkarte 608 aufweisen,
um die Kommunikation mit einem Netzwerk zu ermöglichen. Die Architektur kann
außerdem
mindestens eine Eingabeeinrichtung 610, wie zum Beispiel
eine Tastatur, einen berührungsempfindlichen
Bildschirm, einen Stift, sprachaktivierte Eingabe etc., sowie mindestens
eine Ausgabeeinrichtung 612, wie zum Beispiel eine Anzeigeeinrichtung,
einen Lautsprecher, einen Drucker etc., aufweisen.
-
Bei
bestimmten Ausführungen
kann die Einrichtung 102, wie zum Beispiel ein Netzwerkadapter, in
einem Computersystem enthalten sein, welches einen beliebigen Speichercontroller,
wie zum Beispiel einen SCSI-Controller, (engl. „Small Computer System Interface”, dt. „Kleinrechner-Systeminterface”), IDE-Controller
(engl. „Integrated
Drive Electronics”, dt. „integrierte
Laufwerkselektronik”)
oder RAID-Controller (engl. „Redundant
Array of Independent Disks”,
dt. „redundante
Anordnung unabhängiger Festplatten”) etc.,
aufweist, der den Zugriff auf eine nichtflüchtige Speichereinrichtung,
wie zum Beispiel ein magnetisches Laufwerk, ein Bandmedium, eine optische
Scheibe etc., verwaltet. Bei alternativen Ausführungsformen kann die Einrichtung 102 in
einem System enthalten sein, welches keinen Speichercontroller aufweist,
wie zum Beispiel bestimmte Hubs und Switche.
-
Bestimmte
Ausführungsformen
können
in einem Computersystem implementiert werden, welches einen Videocontroller
aufweist, um Informationen zur Anzeige auf einem Bildschirm darzustellen, der
an das Computersystem, gekoppelt ist, das die Einrichtung 102,
wie zum Beispiel einen Netzwerkadapter, aufweist, wobei das Computersystem
einen Desktop-, Workstation-, Server-, Mainframe-, Laptop- oder
Handheld-Computer etc. umfassen kann. Ein Betriebssystem kann dazu
befähigt
sein, von dem Computersystem ausgeführt zu werden, und der Videocontroller
kann über
Interaktionen mit dem Betriebssystem Grafikausgaben darstellen.
Alternativ hierzu können
einige Ausführungsformen
in einem Computersystem implementiert werden, das keinen Videocontroller
aufweist, wie zum Beispiel einem Switch, Router etc. Darüber hinaus
kann die Einrichtung bei bestimmten Ausführungsformen in einer Karte
enthalten sein, die an ein Computersystem oder an eine Hauptplatine
eines Computersystems gekoppelt ist.
-
Mindestens
einige der Operationen in den 3 und 5 können sowohl
parallel als auch sequentiell ausgeführt werden. Bei alternativen
Ausführungsformen
können
einige der Operationen in einer anderen Reihenfolge ausgeführt werden
oder modifiziert oder nicht vorhanden sein.
-
Darüber hinaus
wurden zu Zwecken der Veranschaulichung viele der Software- und
Hardwarekomponenten in separaten Modulen beschrieben. Solche Komponenten
lassen sich in eine kleinere Anzahl von Komponenten integrieren
oder auf eine größere Anzahl von Komponenten aufteilen. Außerdem können bestimmte
Operationen, die als von einer spezifischen Komponente ausgeführt beschrieben wurden,
von anderen Komponenten ausgeführt
werden. Bei bestimmten Ausführungsformen
kann es sich bei dem Netzwerkadapter um einen spezialisierten Teil
der zentralen Verarbeitungseinheit des Hostsystems handeln.
-
Die
Datenstrukturen und Komponenten, die in den 1 bis 6 gezeigt
oder auf die Bezug genommen wurde, werden als spezifische Typen
von Informationen aufweisend beschrieben. Bei alternativen Ausführungsformen
können
die Datenstrukturen und Komponenten anders strukturiert werden und weniger,
mehr oder andere Felder oder andere Funktionen besitzen als die Datenstrukturen
und Komponenten, die in den Figuren gezeigt bzw. auf die dort verwiesen
wurde.
-
Die
vorstehende Beschreibung der Ausführungsformen der Erfindung
wurde somit zu Zwecken der Veranschaulichung und Beschreibung gegeben. Sie
soll nicht als erschöpfend
betrachtet werden und die Ausführungsformen
nicht auf genau die offengelegte Form einschränken. Im Hinblick auf die obige Lehre
sind viele Modifikationen und Varianten möglich.
- * NetBEUI ist
ein Warenzeichen der International Business Machines Corp.
- * IPX und SPX sind Warenzeichen von Novell, Inc.
- * Microsoft Windows ist ein Warenzeichen der Microsoft Corp.