DE10392634T5 - Methode und Apparat zur Bereitstellung eines integrierten Netzwerkes von Rechnern - Google Patents

Methode und Apparat zur Bereitstellung eines integrierten Netzwerkes von Rechnern Download PDF

Info

Publication number
DE10392634T5
DE10392634T5 DE10392634T DE10392634T DE10392634T5 DE 10392634 T5 DE10392634 T5 DE 10392634T5 DE 10392634 T DE10392634 T DE 10392634T DE 10392634 T DE10392634 T DE 10392634T DE 10392634 T5 DE10392634 T5 DE 10392634T5
Authority
DE
Germany
Prior art keywords
network
supporting
host
computing
unit
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.)
Ceased
Application number
DE10392634T
Other languages
English (en)
Inventor
Gary D. Mesa Hicok
Robert A. Alfieri
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.)
Nvidia Corp
Original Assignee
Nvidia Corp
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 Nvidia Corp filed Critical Nvidia Corp
Publication of DE10392634T5 publication Critical patent/DE10392634T5/de
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/12Protocol engines
    • 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
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Abstract

Methode zur Bereitstellung eines verteilten Netzwerks von Recheneinheiten, wobei die Methode umfaßt:
a) Bereitstellen einer Netzwerkrecheneinheit; und
b) Bereitstellen mindestens eines Hosts, wobei der mindestens eine Host eine zentrale Recheneinheit (CPU) und eine Vielzahl von unterstützenden Recheneinheiten umfaßt,
wobei besagte zentrale Recheneinheit mit einem Host-Betriebssystem geladen ist und wobei besagte Vielzahl von unterstützenden Recheneinheiten besagtes Host-Betriebssystem umgehen und über besagte Netzwerkrecheneinheit direkt miteinander kommuniziert.

Description

  • Die vorliegende Erfindung bezieht sich auf eine neue Netzwerk-Architektur. Insbesondere integriert die vorliegende Erfindung die Funktion des Internetprotokolls (IP) Routers in eine Netzwerkrecheneinheit, die in einem Chipbausatz eines Hostcomputers implementiert ist, so dass die Hostcomputer-Ressourcen als separate Netzwerkanwendung wahrgenommen werden.
  • Hintergrund der Offenbarung
  • 1 illustriert herkömmliche interne Inhaltsquellen und Datenbahnen ("data pipe"), bei denen die Daten-Routing-Funktion ("data routing function") durch die zentrale Recheneinheit (CPU) eines Hostcomputers und seines Betriebssystem (OS) 110 durchgeführt wird. Zum Beispiel kann der Hostcomputer eine Anzahl von Speichervorrichtungen 120, eine Vielzahl von Datenträgermaschinen 130 und eine Vielzahl anderer Vorrichtungen, die mittels Input-/Outputports (IO) 140 zugänglich sind, enthalten, zum Beispiel "Universal Serial Bus" (UBS) und ähnliches. Im Gegenzug kann der Hostcomputer Zugang zum Netzwerk 150 über Anwenderprogrammierungsschnittstellen ("Application Programming Interface", (API)) und einer Datenträger-Zugriffs-Steuerung ("Media Access Controller", (MAC)) haben.
  • Ein erheblicher Nachteil dieser Datenverteilungsarchitektur ist es jedoch, dass die Ressourcen oder Vorrichtungen des Hostcomputers nur durch Inanspruchnahme der Host-CPU/OS zugänglich sind. Typischerweise ist der Zugriff auf die Hostcomputerressourcen von externen Computern entweder verboten oder es ist notwendig, den Zugriff durch den Hostcomputer unter Verwendung eines High-Level Protokolls zu beantragen. Wenn die Host CPU/OS überlastet ist, besteht eine erhebliche Wartezeit, bei der der Datenfluss in den OS-Stapelspeichern stecken bleiben kann.
  • Es besteht daher ein Bedarf für eine neue Netzwerkarchitektur, die es ermöglicht, dass die Ressourcen des Hostcomputers als separate Netzwerkanwendungen wahrgenommen werden und ohne Interferenz mit der CPU/OS des Hostcomputers zugänglich sind.
  • Zusammenfassung der Erfindung
  • Die vorliegende Erfindung ist eine neue Netzwerkarchitektur. Insbesondere integriert die vorliegende Erfindung die Funktionen eines Internetprotokoll (IP) Routers in eine Netzwerkrecheneinheit ("Network Processing Unit", (NPU)), die in dem Chipbausatz ("chipset") eines Hostcomputers implementiert ist, so dass die Ressourcen des Hostcomputers als separate Netzwerkanwendungen wahrgenommen werden. Die NPU erscheint logisch als getrennt vom Hostrechner, selbst wenn, wie in einer Ausführung gezeigt, diese sich dasselbe Chip teilen. Das "Chipset" eines Hostrechners sind eine oder mehrere an die CPU angeschlossene integrierte Schaltungen, die verschiedene Schnittstellen (z.B. Hauptspeicher, Festplatte, Diskette, USB, PCI, etc.) zur Verfügung stellen, wie durch Intel's Northbridge and Southbridge integrierte Schaltungen beispielhaft gezeigt.
  • Im Betrieb hat der Hostrechner einen virtuellen Anschluss ("virtual Port", z. B. host MAC), der in Verbindung mit der Netzwerkrecheneinheit steht und unter Verwendung von Netzwerkprotokollen mit der NPU kommuniziert, als ob sie eine externe Netzwerkanwendung wäre. In einer Ausführungsform kommuniziert der Hostrechner über die NPU mit einer oder mehreren unterstützenden oder speziell ausgerichteten Recheneinheiten, die eingesetzt werden, um spezielle Aufgaben auszuführen. Diese unterstützenden Recheneinheiten können Teil des Hosts oder separat von dem Host eingesetzt werden, um verschiedene Anwendungserfordernisse zu erfüllen. Zum Beispiel können, ohne sich einzuschränken, einige dieser unterstützenden Recheneinheiten eine graphische Recheneinheit ("Graphics Processing Unit", (GPU)), eine Audiorecheneinheit ("Audio Processing Unit", (APU)), eine Videodrecheneinheit ("Video Processing Unit", (VPU)), eine Speicherrecheneinheit ("Storage Processing Unit", (SPU)) und eine physikalische Recheneinheit ("Physics Processing Unit", (PPU)) umfassen. Die vorliegende Offenbarung bezeichnet diese unterstützenden Recheneinheiten als XPU, wobei das "X" ersetzt werden kann, um eine spezielle Funktion, die durch die Recheneinheit durchgeführt werden soll, zu bezeichnen. Schließlich ist die Netzwerkrecheneinheit selbst eine XPU, weil sie zusätzlich zum Verteilen der Pakete ("Routing") zwischen den XPUs verschiedene Rechnerbeschleunigung auf diesen Paketen ausführen kann, wie zum Beispiel Echtheitsprüfung, Verschlüsselung, Kompression, TCP, IPSec/VPN/PPP Verkapselung ("IPSec/VPN/PPP encapsulation") und so weiter.
  • Ein herausragender Aspekt der vorliegenden Erfindung ist, dass die XPUs logische direkte Anfügungen zu der NPU haben, was gewissermaßen als integrierter Router dient. Auf diese Weise ist es möglich, dass die XPUs als separate Netzwerkanwendungen wahrgenommen werden. Da diese unterstützenden Recheneinheiten einen Erste-Klasse-Status in dieser logischen Netzwerkarchitektur haben, ist es ihnen erlaubt, direkt miteinander oder mit irgendwelchen anderen externen Computern (z. B. über eine andere NPU) mit Hilfe von Standard-Internet-Protokollen, wie zum Beispiel IP, TCP, UDP und ähnliches, ohne Einbeziehung der Host-CPU/OS zu kommunizieren. Durch diese neue Architektur stellt die NPU sowohl lokalen (oder Host) Zugriff als auch Fernzugriffbeschleunigung ("remote access acceleration") in einer verteilten Rechnerumgebung bereit.
  • Durch Virtualisierung der verbleibenden Ressourcen des Hostrechners, wie z.B. seinen physikalischen Speicher, ROM, Echtzeitclock, Interrupts und ähnlichem, ermöglicht die vorliegende Erfindung einem einzelnen chipset, vielfache, virtuelle Hostrechner bereitzustellen, die jeder an dieser NPU angehängt sind. Jeder dieser virtuellen Computer oder virtuellen Hosts kann seine eigene Kopie eines identischen oder verschiedenen Betriebssystems laufen und unter Verwendung von Standardnetzwerkprotokollen mit anderen virtuellen Computern und integrierten vernetzen Anwendungen kommunizieren lassen.
  • In gewisser Weise verkörpert die vorliegende Erfindung ihr eigenes Hardware-Level-Betriebssystem und graphisches Benutzerinterface ("Graphical User Interface", (GUI)), die sich unterhalb des Standard-Host-Betriebssystems und Host-Computerdefinition befinden, und es dem Rechnerbenutzer zu ermöglichen, das Netzwerk auf einfache Weise zu konfigurieren oder von einem virtuellen Computer zu einem anderen Computer zu wechseln, ohne dass die Standarddefinition desjenigen Hostrechners gewechselt werden.
  • Kurze Beschreibung der Zeichnungen
  • Die Lehren der vorliegenden Erfindung können leicht durch die folgende detaillierte Beschreibung in Verbindung mit den Zeichnungen verstanden werden.
  • 1 zeigt ein Blockdiagramm von herkömmlichen internen Inhaltsquellen und Datenbahnen;
  • 2 zeigt ein Blockdiagramm von neuen internen Inhaltsquellen und Datenbahnen gemäß der vorliegenden Erfindung;
  • 3 zeigt ein Blockdiagramm, bei dem ein Netzwerk von Hostrechnern über eine Vielzahl von Netzwerkrecheneinheiten in Kommunikation miteinander stehen;
  • 4 zeigt ein Blockdiagramm, bei dem die Ressourcen eines Hostrechners über eine Netzwerkrecheneinheit gemäß der vorliegenden Erfindung vernetzt sind; und
  • 5 zeigt ein Blockdiagramm eines Netzwerks von virtuellen Personalcomputern in Kommunikation mit einer Netzwerkrecheneinheit gemäß der vorliegenden Erfindung.
  • Um das Verständnis zu erleichtern, bezeichnen identische Referenzzahlen, wo möglich, die den Figuren gemeinsame identische Elemente.
  • Detaillierte Beschreibung
  • 2 zeigt ein Blockdiagramm von neuen internen Inhaltsquellen und Datenbahnen 200 gemäß der vorliegenden Erfindung. Im Gegensatz zu 1 hat die vorliegende Netzwerkarchitektur eine Netzwerkrecheneinheit (NPU) 210 im Zentrum der internen Inhaltsquellen und Datenbahnen. Die Host-CPU/OS 250 ist nicht mehr zentral zu dem Routing-Schema. Ein Vorteil dieser neuen Architektur ist, dass die NPU 210 sowohl lokale oder Hostzugriff als auch Fernzugriffbeschleunigung ("remote access acceleration") zur Verfügung stellt.
  • Als Betriebssystem kann jede Softwareplattform für Anwendungsprogramme dienen; typische Beispiele sind Microsoft Windows, Unix und Apple Macintosh OS. Auch kann ein Betriebssystem aufgesetzt auf einem anderen Betriebssystem betrieben werden (was ein Beispiel eines virtuellen Betriebssystems ist) oder auf einer anderen darunterliegenden Softwareplattform, möglicherweise als Anwendungsprogramm.
  • Im Betrieb hat die Host CPU/OS 250 einen virtuellen Anschluss ( "virtual Port" , z.B. Host MAC), der in Kommunikation mit der Netzwerkrecheneinheit 210 ist und mit der NPU kommuniziert, als ob es eine externe Netzwerkanwendung unter Verwendung eines Standardnetzwerkprototolls, z.B. TCP/IP Protokoll, wäre. In einer Ausführungsform kommuniziert der Hostrechner über die NPU mit einer oder mehreren unterstützenden oder fest zugeordneten Recheneinheiten 220, 230, die für spezielle Aufgabendurchzuführungen bereitstehen. Diese unterstützenden Recheneinheiten können Teil des Hostrechners oder separat vom Host eingesetzt werden, um verschiedene Anwendungserfordernisse zu erfüllen.
  • Z.B. können einige dieser unterstützende Recheneinheiten, ohne sich einzuschränken, eine graphische Recheneinheit ("Graphical Processing Unit", (GPU)), eine Audiorecheneinheit ("Audio Processing Unit", (APU)), eine Videorecheneinheit ("Video Processing Unit", (VPU)), eine Physikrecheneinheit ("Physics Processing Unit", (PPU)) und eine Speicherrecheneinheit ("Storage Processing Unit", (SPU)) 220 umfassen. Einige von diesen unterstützenden Recheneinheiten können als Teil der Datenträgermaschinen 230 eingesetzt werden, wobei die SPU 220 als Speichereinheit des Hostrechners eingesetzt wird. Zu guter letzt ist die Netzwerkrecheneinheit selbst eine XPU, weil sie zusätzlich zum Routing von Paketen zwischen den XPUs auch verschiedene Rechnerbeschleunigungen auf diesen Paketen durchführen kann, wie z.B. Echtheitsprüfung, Verschlüsselung, Kompression, TCP, IPSec/VPN/PPP Verkapselung usw..
  • In einer Ausführungsform ist die NPU 210 eine Netzwerkrouteranwendung, die innerhalb der gleichen Box oder des Gehäuses sitzt wie der Hostrechner 250, d.h. typischerweise innerhalb des gleichen Chip-Sets. Die NPU dient dazu verschiedene andere XPUs zu verbinden, die spezielle Funktionen durchführen, wie z.B.:
    • 1) Die Speicherrecheneinheit (SPU) ist eine unterstützende Recheneinheit, die ein Datei- ("File-") System realisiert, wobei auf das Datei-System lokal durch den Host oder aus der Entfernung über die NPU-Außenverbindung zugegriffen werden kann. Die SPU ist ein spezieller Fall einer XPU, weil sie sich als Endpunkt für Datenspeicherung gibt. Datenströme können von einem SPU-File herkommen oder bei dem SPU-File aufhören.
    • 2) Die Audiorecheneinheit (APU) ist eine unterstützende Recheneinheit, die Audioveränderungen auf individuellen Stimmen ausführt und diese vermischt zu einer kleinen Anzahl von Kanälen. Die APU führt auch Verkapselung/Entkapselung von Audiopaketen aus, die über das Netzwerk via NPU verschickt/empfangen werden.
    • 3) Die Videorecheneinheit (VPU) ist eine der APU ähnliche unterstützende Recheneinheit, außer dass sie auf komprimierten Videopaketen arbeitet (z.B. MPEG-2 komprimiert), in dem sie diese entweder komprimiert oder de komprimiert. Die VPU führt auch Verkapselung in Bit-Ströme oder Netzwerkvideopakete aus.
    • 4) Die graphische Recheneinheit (GPU) ist eine unterstützende Recheneinheit, die graphische Stammfunktionen ("graphic primitives") nimmt und (partielle) Rahmenpuffer ("frame buffer") produziert. Die GPU ist eine spezielle XPU, weil sie als ein Endpunkt für erzeugte graphische Stammfunktion agiert. Datenströme können an dem GPU-Rahmenpuffer enden oder als Rohpixel vom Rahmenpuffer herkommen.
    • 5) Die Physikrecheneinheit (PPU) ist eine unterstützende Recheneinheit, die Objektpositionen, momentane Geschwindigkeitsvektoren und Kraftgleichungen nimmt und neue Positionen, Geschwindigkeitsvektoren und Kollisionsinformationen produziert.
    • 6) Die Netzwerkrecheneinheit (NPU) ist selber eine XPU, weil sie zusätzlich zum Routen von Paketen zwischen den XPUs auch verschiedene Rechnerbeschleunigungen auf diesen Paketen durchführen kann, wie z.B. Echtheitsprüfung, Verschlüsselung, Komprimierung, TCP, IPSec/VPN/PPP Verkapselung und ähnliches.
  • Einige von den oben genannten XPUs haben eine Anzahl von Gemeinsamkeiten bezüglich zu ihrer Zuordnung mit dem Host 250 und der NPU 210. Erstens kann auf eine XPU direkt durch die Host CPU und O/S 250 direkt als eine lokale Quelle zugegriffen werden, indem die Kommunikation durch Verwendung von direkten lokalen Kommunikationskanälen bewirkt wird.
  • Zweitens kann eine XPU auf dem Netzwerk via NPU plaziert werden und auf diese von einem anderen Netzwerkknoten aus der Entfernung zugegriffen werden (wie in 3 unten gezeigt). Das zeigt, dass eine XPU in der Lage ist, Information, die in Netzwerkpaketen verkapselt ist, zu prozessieren.
  • Drittens kann selbst von einem lokalen Hostrechner auf eine XPU als ein "Remote"-Knoten ("remote node") zugegriffen werden, indem die Kommunikation via NPU unter Verwendung eines Netzwerkprotokolls bewirkt wird.
  • Viertens ist eine XPU immer im eingeschalteten Zustand (wie die meisten Anwendungen), selbst wenn der Host (CPU + O/S) im abgeschalteten Zustand ist. Dieses besondere Merkmal ermöglicht es der XPU, ohne Einflussnahme durch die Host CPU/OS zu arbeiten, z.B. Extrahieren von Daten von einer Speicherplatte des Hostrechners ohne Beteiligung des Hosts.
  • Noch wichtiger ist der Aspekt, dass die Ressourcen des Hosts auch dann zu Verfügung stehen, wenn die CPU/OS in einem schlafenden Zustand sind, z.B. in einem Schlafmodus.
  • Fünftens hat eine XPU mindestens zwei Sätze von Rechnerwarteschlangen ("processing queues"), eine für Nichtechtzeitpakete und mindestens eine für Echtzeitpakete. Diese Dualität von Warteschlangen kombiniert mit ähnlichen Echtzeitwarteschlangen in der NPU erlaubt es dem System von NPU und XPU, Wartezeiten und Bandweite für Echtzeitdatenströme zu garantieren.
  • Sechstens hat eine XPU zwei Software (SW) Treiber: einer, der die host-seitige Verbindung zu der XPU koordiniert und einer, der die aus der Ferne zugegriffene Komponente der XPU koordiniert. Während des Betriebes kommunizieren die SW Treiber mit der XPU unter Verwendung von abstrakten Befehlschlangen ("command queues"), die Push-Buffers (PBs) genannt werden. Jeder Treiber hat mindestens einen PB, der vom Treiber zu der XPU geht und mindestens einen PB, der von der XPU zum Treiber geht. Push-Buffers sind im US Patent 6,092,124 beschrieben, und hiermit durch Referenz in dieser Schrift eingegliedert.
  • Siebtens kann auf eine XPU auch von der Host-Seite direkt durch eine Benutzer-Levelanwendung ("user-level application") zugegriffen werden, indem "Lazy-Pinning" von Benutzerspeicherbuffern ("user-space buffers") durch das O/S durchgeführt wird. "Lazy-Pinning" bedeutet, auf Anforderung die virtuell-zu-physikalischen Adressübersetzungen von Speicherseiten zu sperren, d.h. wenn die Übersetzungen von der jeweiligen XPU gebraucht werden. Wenn die Übersetzungen nicht länger gebraucht werden, können sie entsperrt werden, was es dem Betriebssystem erlaubt, diese Seiten wegzugeben. Die virtuell-zu-physikalischen Zuordnungen von diesen Buffern werden an die XPU gegeben. Ein separates Paar von PBs sind an den Benutzeradressenspeicherraum angebunden ("linked) und der O/S Treiber koordiniert Kontextschalter ("context switches") mit der XPU.
  • Obwohl die vorliegende Erfindung die Verwendung einer Netzwerkrecheneinheit 210 offenbart, um Routing-Funktionen ohne Einflussnahme der CPU/OS auszuführen, hat die CPU/OS 250 nicht desto Trotz noch einen alternierenden direkten Kommunikationskanal 255 ("alternate direct communication channel") mit seinen Ressourcen, z.B. Speichereinheiten. Dies stattet die Host CPU/OS mit der Option aus, via NPU oder direkt über lokale Zugriffskanäle 255 oder 257 mit ihren Ressourcen oder Datenträgermaschinen zu kommunizieren.
  • In der Tat, obwohl die CPU/OS nicht an der generellen Routing-Funktion beteiligt ist, werden in einer Ausführungsform der vorliegenden Erfindung Ausnahme-Routing-Probleme durch die Host CPU/OS aufgelöst. Z.B., wenn die NPU ein Paket empfängt, das sie nicht prozessieren kann, schickt die NPU das Paket zu der Host CPU/OS zur Lösung des Problems weiter. Diese begrenzte Verwendung der CPU/OS dient dazu, die Host Prozessierung zu beschleunigen, während gleichzeitig die Option aufrecht gehalten wird, die Prozessierungsleistung der Host CPU/OS zur Lösung schwieriger Probleme auf vernünftige Weise zu verwenden.
  • Zusätzlich kann auf die Host-Ressourcen auch über die NPU ohne Beteiligung der Host CPU/OS 250 über Input-/Output Kommunikationskanal 240 zugegriffen werden, z.B. über ein USB. Z.B. kann die vorliegende Architektur die verbliebenen Ressourcen des Hostrechners 250, wie z.B. seinen physikalischen Speicher, Read-Only-Memory (ROM), Echtzeitclocks, Interrupts, usw., virtuallisieren, was es einem einzelnen Chipset ermöglicht, mehrfache virtuelle Hosts bereitzustellen, von denen jeder an die NPU 210 angeschlossen ist.
  • Ein herausragender Aspekt der vorliegenden Erfindung ist es, dass die XPUs logische direkte Anfügungen an die NPU haben, die gewissermassen als integrierter Router dient, was es den XPUs ermöglicht, als separate Netzwerkanwendungen wahrgenommen zu werden. Da diese unterstützenden Recheneinheiten einen Ersteklasse-Status in dieser logischen Netzwerkarchitektur haben, ist es ihnen erlaubt, miteinander oder mit jedem externen Computer (z.B. über eine andere NPU), unter Verwendung von Standard-Internet-Protokollen wie IP, TCP, UDP und ähnlichem, direkt zu kommunizieren, ohne dass der Host CPU/OS beteiligt ist. Durch diese neue Architektur stellt die NPU sowohl lokale (oder Host) Zugriffe, als auch entfernte Zugriffsbeschleunigung in einer verteilten Rechnerumgebung zur Verfügung.
  • 3 zeigt ein Blockdiagramm, bei dem ein Netzwerk von Hostrechnern 300a–n über eine Vielzahl von Netzwerkrecheneinheiten 310a–n miteinander in Verbindung stehen. Diese einzigartige Konfiguration sorgt sowohl für Host-Zugriff als auch Fernzugriffbeschleunigung. Die beschleunigten Funktionen können am besten durch Betrachtung der vorliegenden Erfindung in Form von verpackten Strömen verstanden werden.
  • Am besten kann dieses System von NPUs und XPUs im Zusammenhang von Strömen von verpackten Daten, die innerhalb des Systems fließen, betrachtet werden. Es gibt dabei verschiedene Typen von Strömen, die in dem System erlaubt sind. In dieser Diskussion bedeutet der Term "Host" die Kombination von Host CPU und Speicher im Zusammenhang mit dem OS Kernel oder eines Benutzer-Level-Prozesses. Der Begriff "Knoten" ("node") bezieht sich auf entfernt stehende vernetzte Hosts oder Vorrichtung, die mit der NPU über eine verdrahtete oder drahtlose Verbindung zu einer MAC verbunden ist, die direkt an die NPU angeschlossen ist (z.B. wie in 4 unten gezeigt).
  • Ein Host-zu-XPU Strom ist ein Strom, der direkt von dem Host 350a zu der XPU 330a fließt. Dies ist ein typisches Szenario für eine fest zugeordnete (XPU (z.B. eine dedizierte GPU über Kommunikationsweg 357). Der Strom geht nicht durch die NPU 310a.
  • Ein XPU-zu-Host ist ein Strom, der direkt von der XPU zu dem Host fließt. Ein Beispiel ist ein lokaler File, der von der SPU 320a über den Pfad 355 gelesen wird. Der Strom geht nicht durch die NPU 310a.
  • Ein Host-zu-XPU-zu-Host Strom ist ein Strom, der von dem Host 350a zu einer XPU 330 fließt, um dann zurück zu dem Host 350a zu prozessieren. Ein Beispiel ist das Weiterleiten von Tonsignalen ("voice-data") durch den Host direkt zu der APU, um Stimmen in endgültige Mischungspuffer ("final mix buffer") zu prozessieren, die anschließend zu dem Host über den Pfad 357 zurückgeschickt werden. Der Strom geht nicht durch die NPU 310a hindurch.
  • Eine Host-zu-NPU-zu-XPU Strom ist ein vernetzter Strom, der von dem Host 350a über NPU 310a zu einer XPU 330a oder 320a fließt. Die drei Teilnehmer transferieren verpackte Daten unter Verwendung des Standardnetzwerkprotokolls, z.B. TCP/IP.
  • Ein XPU-zu-NPU-zu-Host ist ein vernetzter Strom, der von einer XPU 330a oder 320a über die NPU 310a zu dem Host 350a fließt. Die drei Teilnehmer transferieren verpackte Daten unter Verwendung von Standardnetzwerkprotokollen, z.B. TCP/IP.
  • Ein Host-zu-NPU-zu-XPU-zu-NPU-zu-Host ist ein vernetzter Strom, der eine Kombination der vorangehenden zwei Ströme ist. Die drei Teilnehmer transferieren verpackte Daten unter Verwendung Standardnetzwerkprotokollen, z.B. TCP/IP.
  • Eine Host-zu-NPU-zu-Knoten ("node") ist ein vernetzter Strom, der von dem Host 350a über die NPU 310a zu einem entfernten Knoten (z.B. NPU 310b) fließt. Das ermöglicht einem lokalen Host 350a zu kommunizieren und über eine zweite NPU 310b auf XPUs 330b eines anderen Hosts zuzugreifen.
  • Eine Knoten-zu-NPU-zu-Host ist ein rückwärts vernetzter Strom, bei dem der Strom von einem entfernten Knoten (z.B. NPU 310b) über die NPU 310a zu dem Host 350a fließt. Dies ermöglicht einem entfernten NPU 350b, mit einem lokalen Host 350a über eine lokale NPU 310a zu kommunizieren.
  • Eine Knoten-zu-NPU-zu-XPU ist ein vernetzter Strom, der von einem entfernten Knoten 350b über die NPU 350a zu einer XPU 330a fließt, wo der Strom endet. Dies ermöglicht einem entfernten NPU 310b mit einer lokalen XPU 330a über eine lokale NPU 310a zu kommunizieren.
  • Ein XPU-zu-NPU-zu-Knoten ist ein vernetzter Strom, der von einer XPU 330a, bei der der Strom entsteht, zu einem entfernten Knoten (z.B. NPU 310b) über die lokale NPU 310a fließt.
  • Eine Knoten-zu-NPU-zu-XPU-zu-NPU-zu-Knoten 1 ist eine Kombination der vorangehenden zwei Ströme. Es sei vermerkt, dass Knoten 0 und Knoten 1 dieselben oder verschieden sein können. Z.B. Knoten 0 ist 310a; NPU ist 310b; XPU ist 330b; NPU ist 310b und Knoten 1 ist 310n. Alternativ ist Knoten 0 310a, NPU ist 310b; XPU ist 330b; NPU ist 310b; und Knoten 1 ist 310a.
  • Eine {Host, Knoten 0, XPU 0}-zu-NPU-zu-XPU 1-zu-NPU-zu-XPU 2-zu-NPU-zu {Host, Knoten 1, XPU 3} ist ein Strom, der von dem Host, einem entfernten Knoten, oder einer XPU stammt, durch die NPU zu einer anderen XPU zur Prozessierung führt, dann durch die NPU zu einer anderen XPU für zusätzliche Prozessierung führt, dann bei dem Host, einem anderen entfernten Knoten oder einer anderen XPU endet. Es sollte klar sein, dass die vorliegende Architektur eines Netzwerkes von integrierten Recheneinheiten eine mächtige und flexibel verteilte Rechnerumgebung bereitstellt, durch die Host-Zugriff und entfernte Zugriffsbeschleunigung stark verbessert sind.
  • Die vorliegende Erfindung ermöglicht zahlreiche Vorteile. Erstens ist es generell von Nutzen, Computer- und Netzwerkanwendungen im gleichen Chipset eng zu integrieren. Zweites ist es von großem Vorteil, die I/O Funktionen des Hostrechners auf ein verteiltes Netzwerk von intelligenten Rechnern abzuladen, wo herkömmliche Wartezeiten, die mit überlasteten CPU/OS assoziiert sind, sich auflösen. Drittens ist es von Vorteil, diese unterstützenden I/O innerhalb des Chipsets Rechner mit Erste-Klasse Netzwerkanwenderstatus zu versehen, ohne die Definition des Hostrechners zu ändern (optional dargestellt in 2 mit gestrichelten Linien). Viertens ist es von Vorteil zuzulassen, dass diese unterstützenden I/O Prozessoren von dem Hostcomputer, externen Computern und internen und externen Netzwerkanwendungen geteilt werden. Fünftens ist es von Vorteil, es den verbleibenden Ressourcen des Hostcomputers zu erlauben, dass diese virtuallisiert werden, so dass mehrfache virtuelle Kopien des Hostrechners in dasselbe Chipset eingebettet werden während das Netzwerks von intelligenten, unterstützenden I/O Rechnern geteilt werden. Schließlich ist es von Vorteil, ein Hardware-Level-Betriebssystem und ein graphisches Benutzerinterface (GUI) zu verwenden, das es dem Benutzer erlaubt, das Netzwerk zu konfigurieren und nahtlos zwischen virtuellen Kopien des Hostrechners oder virtuellen Hosts zu wechseln.
  • In einer Ausführungsform der vorliegenden Erfindung ist das Echtzeit-Datenträgerströmen durch Verwenden des oben beschriebenen Netzwerks von integrierten Recheneinheiten implementiert. Insbesondere erfordert Datenträgerströmen typischerweise mehrere Software-Layers. Auf diese Weise können Wartezeiten insbesondere dann unvorhersehbar sein, wenn die Software auf einem Mehrzweck-Computer läuft. Noch wichtiger ist, das Datenträgerströmen typischerweise einen stark störenden Einfluss auf andere Anwendungen hat, die auf dem Hostrechner laufen.
  • Durch Anhängen von Datenträgergeräten wie einer APU oder GPU an eine NPU+SPU Kombination ist es jedoch jetzt möglich, sowohl Wartezeiten zu minimieren und zu garantieren wie auch die Haupt-Host CPU von Lasten zu befreien. Z.B. können, wie in 3 gezeigt, Kontrollanfragen von einem entfernten Rezipienten 350b kommen (der typischerweise drahtlos angeschlossen ist). Diese Kontrollanfragen können umfassen Play" Stop" Rewind" Forward" Pause" Select Title" usw. Sobald der Strom bereitgestellt ist, können die Rohdaten direkt von einer Diskette, die durch der SPU 320 koordiniert wird, durch die NPU 310a zu dem Zielkunden ("destination client") geströmt werden. Alternativ können die Daten vor Versendung über die NPU 310a durch die GPU 330a oder APU 330a vor-prozessiert werden. Es ist wieder ein wichtiger Aspekt, dass das Echtzeit-Datenträgerströmen ohne Host CPU 350a Beteiligung stattfinden kann. Fest zugeordnete Warteschlangen ("dedicated queuing") innerhalb des Systems garantieren die Wartezeiten und Bandweite.
  • Diese Ausführungsform eines Datenträgerstroms demonstriert klar die Leistungsfähigkeit und Flexibilität der vorliegenden Erfindung. Eine praktische Implementierung dieser Echtzeit-Datenträgerstromausführung ist innerhalb der Haushaltsumgebung zu finden, wo ein zentralisierter Multimedia-Hostserver oder Computer eine große Speichereinheit hat, die eine Bücherei von gespeicherten Datenträgerströmen hat, oder die einfach zu einem DVD Player angeschlossen ist, einem "PVR" (Personal Video Recorder) oder "DVR" (Digital Video Recorder). Wenn es andere Kundengeräte irgendwo im Haus gibt, ist es nützlich, die oben beschriebene Netzwerkarchitektur zu verwenden, um Echtzeit-Datenträgerstömungen zu implementieren, wo ein Datenträgerstrom von einer Speichereinheit des Hostrechners zu einem anderen Hostrechner oder Fernsehen in einem anderen Teil des Hauses übertragen werden kann. Auf diese Weise ist das Echtzeit-Datenträgerströmen implementiert, ohne Einbeziehung des Hostrechners und mit garantierten Wartezeiten und Bandweiten.
  • 4 zeigt ein Blockdiagramm, bei dem die Ressourcen eines Hostrechners durch eine Netzwerkrecheneinheit 410 gemäß der vorliegenden Erfindung vernetzt ist. Insbesondere kommuniziert der Host 450 mit der NPU 410 über ein MAC 415 (d.h. einem Host MAC). Wiederum ist eine Vielzahl von XPUs und anderen Host-Ressourcen 430a an die NPU über eine Vielzahl von MACs 425 angeschlossen, die mit einer MAC Schnittstelle ("MAC Interface", (MI)) (nicht gezeigt) der MPU zusammengeschlossen ist. Ein Beispiel einer NPU ist in der US Patentanmeldung gezeigt, mit dem Titel "A Method And Apparatus For Performing Network Processing Functions" mit Anwaltsnummer NVDA/P000413.
  • 5 zeigt ein Blockdiagramm von einem Netzwerk eines virtuellen Personalcomputers oder virtuellen Hosts, der mit einer Netzwerkrecheneinheit 520 gemäß der vorliegenden Erfindung in Kommunikation steht. Genauer gesagt zeigt 5 ein Netzwerk eines virtuellen Personalcomputers (VPCs) in einem einzigen System (oder einem einzelnen Gehäuse) 500, wobei das System ein einzelner Personalcomputer, eine Set Top Box, eine Videospielkonsole, oder ähnliches sein kann.
  • 5 zeigt eine Vielzahl von virtuellen Hosts 510a–e im Betrieb, welche eine Vielzahl von verschiedenen Betriebssystemen (z.B. Microsoft Corporation's Windows (zwei separate Kopien 510a und 510b), und Linux 510c), eine Rohvideospielanwendung 510d oder andere Rohanwendungen 510a, wo die virtuellen Hosts die Speicherrecheneinheit 530 als einen entfernten File-Server mit einem physikalischen Speicher 540 behandeln, umfassen. Im Wesentlichen kann man 5 als ein "Netzwerk von VPCs in einer Box" auffassen.
  • In einer Ausführungsform koordiniert die NPU 520 mehrfache IP Adressen innerhalb des Systems für jeden VPC. Z.B. kann die NPU 520 einer öffentlichen IP Adresse zugeordnet sein, während jeder der VPCs einer privaten IP Adresse zugeordnet ist, z.B. in Übereinstimmung mit dem "Dynamic Host Configuration Protocol" (DHCP). Auf diese Weise kann jeder der VPCs miteinander und mit der SPU unter Verwendung von Standardnetzwerkprotokollen kommunizieren. Standardnetzwerkprotokolle können sein, ohne sich zu beschränken: TCP; TCP/IP; UDP; NFS; HTTP; SMTP; POP; FTP; NNTP; CGI; DHCP; und ARP (um nur einige der bekannten zu nennen).
  • Es sollte klar sein, dass die XPUs der vorliegenden Erfindung als eine oder mehrere physikalische Einheiten, die mit der Host CPU durch einen Kommunikationskanal verbunden sind, verwirklicht werden können. Alternativ können die XPUs durch eine oder mehrere Softwareanwendungen dargestellt oder zur Verfügung gestellt werden (oder sogar eine Kombination von Software und Hardware, z.B. unter Verwendung von "Application Specific Integrated Circuits" (ASIC)), wobei die Software von einem Speichermedium (z.B. ein ROM, eine magnetische, oder optische Platte oder Diskette) geladen wird und im Speicher des Computers betrieben wird. Als solches können die XPUs (einschließlich ähnliche Methoden und Datenstrukturen) der vorliegenden Erfindung gespeichert werden und auf einem Computer lesbaren Medium, z.B. Beispiel ROM oder RAM Speicher, magnetische oder optische Platte oder Diskette und ähnlichem, zur Verfügung gestellt werden. Alternativ können die XPUs durch "Field Programmable Gate Arrays" (FPGA), die Kontrollbits haben, repräsentiert werden.
  • Obwohl verschiedene auf der Lehre der vorliegenden Erfindung beruhende Ausführungsformen gezeigt und im Detail hierin beschrieben worden sind, kann ein Fachmann leicht viele andere variierte und auf der Erfindung beruhende Ausführungsformen herstellen. Obwohl in den Ansprüchen die Elemente der Verfahrensansprüche in einer speziellen Ordnung aufgeführt sind, ist keine Reihenfolge für die Durchführung damit impliziert, selbst wenn die Elemente der Ansprüche numerisch oder alphabetisch numeriert sind.
  • Zusammenfassung
  • Eine neue Netzwerk-Architektur wird beschrieben, die die Funktionen eines Internet Protokoll (IP) Routers in eine sich in einem Chipset befindende Netzwerkrecheneinheit (NPU) (210) integriert, so daß die Ressourcen des Hostrechners als separate Netzwerkanwendung wahrgenommen werden. Die NPU (210) erscheint logisch als vom Hostrechner getrennt, obwohl sie sich in einer Ausführungsform dasselbe Chip teilt.
    2.

Claims (132)

  1. Methode zur Bereitstellung eines verteilten Netzwerks von Recheneinheiten, wobei die Methode umfaßt: a) Bereitstellen einer Netzwerkrecheneinheit; und b) Bereitstellen mindestens eines Hosts, wobei der mindestens eine Host eine zentrale Recheneinheit (CPU) und eine Vielzahl von unterstützenden Recheneinheiten umfaßt, wobei besagte zentrale Recheneinheit mit einem Host-Betriebssystem geladen ist und wobei besagte Vielzahl von unterstützenden Recheneinheiten besagtes Host-Betriebssystem umgehen und über besagte Netzwerkrecheneinheit direkt miteinander kommuniziert.
  2. Die Methode nach Anspruch 1, wobei besagte Vielzahl von unterstützenden Recheneinheiten ein Netzwerkprotokoll verwenden, um mit besagter Netzwerkrecheneinheit zu kommunizieren.
  3. Die Methode nach Anspruch 2, wobei jede aus der Vielzahl der unterstützenden Recheneinheiten mittels Datenträger-Zugangs-Steuerung (MAC) mit der Netzwerkrecheneinheit kommuniziert.
  4. Die Methode nach Anspruch 2, wobei das Netzwerkprotokoll das "Transmission Control Protocol/Internet Protocol" (TCP/IP) ist.
  5. Die Methode nach Anspruch 2, wobei das Netzwerkprotokoll das "User Datagram Protocol" (UDP) ist.
  6. Die Methode nach Anspruch 1, wobei jede aus der Vielzahl von unterstützenden Recheneinheiten als separate Netzwerkanwendung wahrgenommen wird.
  7. Die Methode nach Anspruch 1, wobei eine aus der Vielzahl von unterstützenden Recheneinheiten eine unterstützende Speicherrecheneinheit ist.
  8. Die Methode nach Anspruch 1, wobei eine aus der Vielzahl von unterstützenden Recheneinheiten eine unterstützende Audiorecheneinheit ist.
  9. Die Methode nach Anspruch 1, wobei eine aus der Vielzahl von unterstützenden Recheneinheiten eine unterstützende Graphikrecheneinheit ist.
  10. Die Methode nach Anspruch 1, wobei eine aus der Vielzahl von unterstützenden Recheneinheiten eine unterstützende Videorecheneinheit ist.
  11. Die Methode nach Anspruch 1, wobei eine aus der Vielzahl von unterstützenden Recheneinheiten eine unterstützende Physikrecheneinheit ist.
  12. Die Methode nach Anspruch 1, wobei mindestens ein Host ein virtueller Host ist.
  13. Die Methode nach Anspruch 1, wobei der mindestens eine Host eine Vielzahl von virtuellen Hosts umfaßt, wobei mindestens zwei aus der Vielzahl von virtuellen Hosts mit einem separaten Betriebssystem geladen sind.
  14. Die Methode nach Anspruch 13, wobei jeder der aus der Vielzahl der Hosts in der Lage ist, auf die Vielzahl der unterstützenden Recheneinheiten mittels der Netzwerkrecheneinheit zuzugreifen.
  15. Die Methode nach Anspruch 1, wobei die Vielzahl der unterstützenden Recheneinheiten eine unterstützende Speicherrecheneinheit, eine unterstützende Audiorecheneinheit, eine unterstützende Graphikrecheneinheit und eine unterstützende Videorecheneinheit umfaßt.
  16. Ein verteiltes Netzwerk (200) von Recheneinheiten, wobei das Netzwerk umfaßt: – eine Netzwerkrecheneinheit (210); und – mindestens einen Host (250), wobei der mindestens eine Host eine zentrale Recheneinheit (CPU) und eine Vielzahl von unterstützenden Recheneinheiten (220; 230) umfaßt, wobei die zentrale Recheneinheit mit einem Host-Betriebssystem geladen ist und wobei die Vielzahl der unterstützenden Recheneinheiten (220; 230) das Host-Betriebssystem umgehen und mittels der Netzwerkrecheneinheit direkt miteinander kommunizieren.
  17. Das Netzwerk nach Anspruch 16, wobei die Vielzahl der unterstützenden Recheneinheiten ein Netzwerk Protokoll verwenden, um mit der Netzwerkrecheneinheit zu kommunizieren.
  18. Das Netzwerk nach Anspruch 17, wobei jede aus der Vielzahl der unterstützenden Recheneinheiten mit der Netzwerkrecheneinheit mittels der Datenträger-Zugangs-Steuerung (MAC) kommuniziert.
  19. Das Netzwerk nach Anspruch 17, wobei das Netzwerkprotokoll das "Transmission Control Protocol/Internet Protocol (TPC/IP) ist.
  20. Das Netzwerk nach Anspruch 17, wobei das Netzwerkprotokoll das "User Datagram Protocol" (UDP) ist.
  21. Das Netzwerk nach Anspruch 16, wobei jede aus der Vielzahl von unterstützenden Recheneinheiten als separate Netzwerkanwendung wahrgenommen wird.
  22. Das Netzwerk nach Anspruch 16, wobei eine aus der Vielzahl von unterstützenden Recheneinheiten eine unterstützende Speicherrecheneinheit ist.
  23. Das Netzwerk nach Anspruch 16, wobei eine aus der Vielzahl von unterstützenden Recheneinheiten eine unterstützende Audiorecheneinheit ist.
  24. Das Netzwerk nach Anspruch 16, wobei eine aus der Vielzahl von unterstützenden Recheneinheiten eine unterstützende Graphikrecheneinheit ist.
  25. Das Netzwerk nach Anspruch 16, wobei eine aus der Vielzahl von unterstützenden Recheneinheiten eine unterstützende Videorecheneinheit ist.
  26. Das Netzwerk nach Anspruch 16, wobei eine aus der Vielzahl von unterstützenden Recheneinheiten unterstützende Physikrecheneinheit ist.
  27. Das Netzwerk nach Anspruch 16, wobei der mindeste eine Host ein virtueller Host ist.
  28. Das Netzwerk nach Anspruch 16, wobei der mindestens eine Host eine Vielzahl von virtuellen Hosts umfaßt, wobei mindestens zwei aus der Vielzahl von Hosts mit einem separaten Betriebssystem geladen sind.
  29. Das Netzwerk nach Anspruch 28, wobei jeder aus der Vielzahl von virtuellen Hosts in der Lage ist, auf die unterstützenden Recheneinheiten mittels der Netzwerkrecheneinheit zuzugreifen.
  30. Das Netzwerk nach Anspruch 16, wobei die Vielzahl von unterstützenden Recheneinheiten eine unterstützende Speicherrecheneinheit, eine unterstützende Audiorecheneinheit, eine unterstützende Graphikrecheneinheit und eine unterstützende Videorecheneinheit umfaßt.
  31. Das Netzwerk nach Anspruch 16, wobei die Netzwerkrecheneinheit in einem Chip-Bausatz implementiert ist.
  32. Das Netzwerk nach Anspruch 31, wobei mindestens eine aus der Vielzahl von unterstützenden Recheneinheiten in einem Chip-Bausatz implementiert ist.
  33. Methode zur Bereitstellung eines verteilten Netzwerkes von Recheneinheiten, wobei die Methode umfaßt: a) Bereitstellen einer Netzwerkrecheneinheit; b) Bereitstellen mindestens eines Hosts, wobei der mindestens eine Host eine zentrale Recheneinheit (CPU) umfaßt, die mit einem Host-Betriebssystem geladen ist; und c) Bereitstellen einer Vielzahl von unterstützenden Recheneinheiten, wobei die Vielzahl von unterstützenden Recheneinheiten das Host-Betriebssystem umgehen und mittels der Netzwerkrecheneinheit miteinander direkt kommunizieren.
  34. Die Methode nach Anspruch 33, wobei die Vielzahl von unterstützenden Recheneinheiten ein Netzwerkprotokoll verwenden, um mit besagter Netzwerkrecheneinheit zu kommunizieren.
  35. Die Methode nach Anspruch 34, wobei jede aus der Vielzahl der unterstützenden Recheneinheiten mittels Datenträger-Zugangs-Steuerung (MAC) mit der Netzwerkrecheneinheit kommuniziert.
  36. Die Methode nach Anspruch 34, wobei das Netzwerkprotokoll das "Transmission Control Protocol/Internet Protocol" (TCP/IP) ist.
  37. Die Methode nach Anspruch 34, wobei das Netzwerkprotokoll das "User Datagram Protocol" (UDP) ist.
  38. Die Methode nach Anspruch 33, wobei jede aus der Vielzahl von unterstützenden Recheneinheiten als separate Netzwerkanwendung wahrgenommen wird.
  39. Die Methode nach Anspruch 33, wobei eine aus der Vielzahl von unterstützenden Recheneinheiten eine unterstützende Speicherrecheneinheit ist.
  40. Die Methode nach Anspruch 33, wobei eine aus der Vielzahl von unterstützenden Recheneinheiten eine unterstützende Audiorecheneinheit ist.
  41. Die Methode nach Anspruch 33, wobei eine aus der Vielzahl von unterstützenden Recheneinheiten eine unterstützende Graphikrecheneinheit ist.
  42. Die Methode nach Anspruch 33, wobei eine aus der Vielzahl von unterstützenden Recheneinheiten eine unterstützende Videorecheneinheit ist.
  43. Die Methode nach Anspruch 33, wobei eine aus der Vielzahl von unterstützenden Recheneinheiten eine unterstützende Physikrecheneinheit ist.
  44. Die Methode nach Anspruch 33, wobei besagter mindestens eine Host ein virtueller Host ist.
  45. Die Methode nach Anspruch 33, wobei der mindestens eine Host eine Vielzahl von virtuellen Hosts umfaßt, wobei mindestens zwei aus der Vielzahl von virtuellen Hosts mit einem separaten Betriebssystem geladen sind.
  46. Die Methode nach Anspruch 45, wobei jeder der aus der Vielzahl der Hosts in der Lage ist, auf die Vielzahl der unterstützenden Recheneinheiten mittels der Netzwerkrecheneinheit zuzugreifen.
  47. Ein verteiltes Netzwerk (200) von Recheneinheiten, wobei das Netzwerk umfaßt: – eine Netzwerkrecheneinheit (210); – mindestens einen Host (250), wobei der mindestens eine Host eine zentrale Recheneinheit (CPU) umfaßt, die mit einem Host-Betriebssystem geladen ist; und – eine Vielzahl der unterstützenden Recheneinheiten (220; 230), wobei die Vielzahl von unterstützenden Recheneinheiten das Host-Betriebssystem umgehen und mittels der Netzwerkrecheneinheit direkt miteinander kommunizieren.
  48. Das Netzwerk nach Anspruch 47, wobei die Vielzahl der unterstützenden Recheneinheiten ein Netzwerk Protokoll verwenden, um mit der Netzwerkrecheneinheit zu kommunizieren.
  49. Das Netzwerk nach Anspruch 48, wobei jede aus der Vielzahl der unterstützenden Recheneinheiten mit der Netzwerkrecheneinheit mittels der Datenträger-Zugangs-Steuerung (MAC) kommuniziert.
  50. Das Netzwerk nach Anspruch 48, wobei das Netzwerkprotokoll das "Transmission Control Protocol/Internet Protocol" (TPC/IP) ist.
  51. Das Netzwerk nach Anspruch 48, wobei das Netzwerkprotokoll das "User Datagram Protocol" (UDP) ist.
  52. Das Netzwerk nach Anspruch 37, wobei jede aus der Vielzahl von unterstützenden Recheneinheiten als separate Netzwerkanwendung wahrgenommen wird.
  53. Das Netzwerk nach Anspruch 47, wobei eine aus der Vielzahl von unterstützenden Recheneinheiten eine unterstützende Speicherrecheneinheit ist.
  54. Das Netzwerk nach Anspruch 47, wobei eine aus der Vielzahl von unterstützenden Recheneinheiten eine unterstützende Audiorecheneinheit ist.
  55. Das Netzwerk nach Anspruch 47, wobei eine aus der Vielzahl von unterstützenden Recheneinheiten eine unterstützende Graphikrecheneinheit ist.
  56. Das Netzwerk nach Anspruch 47, wobei eine aus der Vielzahl von unterstützenden Recheneinheiten eine unterstützende Videorecheneinheit ist.
  57. Das Netzwerk nach Anspruch 47, wobei eine aus der Vielzahl von unterstützenden Recheneinheiten eine unterstützende Physikrecheneinheit ist.
  58. Das Netzwerk nach Anspruch 47, wobei der mindeste eine Host ein virtueller Host ist.
  59. Das Netzwerk nach Anspruch 47, wobei der mindestens eine Host eine Vielzahl von virtuellen Hosts umfaßt, wobei mindestens zwei aus der Vielzahl von Hosts mit einem separaten Betriebssystem geladen sind.
  60. Das Netzwerk nach Anspruch 59, wobei jeder aus der Vielzahl von virtuellen Hosts in der Lage ist, auf die Vielzahl von unterstützenden Recheneinheiten mittels der Netzwerkrecheneinheit zuzugreifen.
  61. Das Netzwerk nach Anspruch 47, wobei die Netzwerkrecheneinheit in einem Chip-Bausatz implementiert ist.
  62. Das Netzwerk nach Anspruch 61, wobei mindestens eine aus der Vielzahl von unterstützenden Recheneinheiten in einem Chip-Bausatz implementiert ist.
  63. Methode zur Bereitstellung eines verteilten Netzwerks von Recheneinheiten und Host-Ressourcen, wobei die Methode umfaßt: a) Bereitstellen einer Netzwerkrecheneinheit; und b) Bereitstellen mindestens eines Hosts, wobei der mindestens eine Host eine zentrale Recheneinheit (CPU), die mit einem Host-Betriebssystem geladen ist, und eine Vielzahl von unterstützenden Recheneinheiten umfaßt, wobei auf jede der Vielzahl von Host-Ressourcen durch die zentrale Recheneinheit und mittels des Netzwerkrecheneinheit direkt zugegriffen werden kann.
  64. Die Methode nach Anspruch 63, wobei eine aus der Vielzahl von Host-Ressourcen eine Speichervorrichtung ist.
  65. Die Methode nach Anspruch 63, wobei eine aus der Vielzahl von Host-Ressourcen ein "Read-Only-Memory" (ROM) ist.
  66. Die Methode nach Anspruch 63, wobei eine aus der Vielzahl von Host-Ressourcen ein "Random-Access-Memory" (RAM) ist.
  67. Ein verteiltes Netzwerk (200) von Recheneinheiten und Host-Ressourcen, wobei das Netzwerk umfaßt: eine Netzwerkrecheneinheit (210); und mindestens einen Host (250), wobei der mindestens eine Host eine zentrale Recheneinheit (CPU), die mit einem Host-Betriebssystem geladen ist, und eine Vielzahl Host-Ressourcen umfaßt, wobei auf jede der Vielzahl von Host-Ressourcen durch die zentrale Recheneinheit und mittels der Netzwerkrecheneinheit direkt zugegriffen werden kann.
  68. Das Netzwerk nach Anspruch 67, wobei eine aus der Vielzahl von Host-Ressourcen eine Speichervorrichtung ist.
  69. Das Netzwerk nach Anspruch 67, wobei eine aus der Vielzahl von Host-Ressourcen ein "Read-Only-Memory" (ROM) ist.
  70. Das Netzwerk nach Anspruch 67, wobei eine aus der Vielzahl von Host-Ressourcen ein "Random-Access-Memory" (RAM) ist.
  71. Methode zur Bereitstellung eines verteilten Netzwerks von Recheneinheiten und Host-Ressourcen, wobei die Methode umfaßt: a) Bereitstellen einer ersten Netzwerkrecheneinheit; b) Bereitstellen eines ersten Hosts, der eine erste zentrale Recheneinheit (CPU), die mit einem ersten Host-Betriebssystem geladen ist, und eine Vielzahl von ersten Host-Ressourcen umfaßt; c) Bereitstellen einer zweiten Netzwerkrecheneinheit; und d) Bereitstellen eines zweiten Hosts, der eine zweite zentrale Recheneinheit (CPU), die mit einem zweiten Host-Betriebssystem geladen ist, und eine Vielzahl von zweiten Host-Ressourcen umfaßt, wobei auf jede der Vielzahl von ersten Host-Ressourcen mittels der ersten und zweiten Netzwerkrecheneinheiten unter Umgehung des ersten Host-Betriebssystems zugegriffen werden kann.
  72. Die Methode nach Anspruch 71, wobei auf jede der Vielzahl von zweiten Host-Ressourcen mittels der ersten und zweiten Netzwerkrecheneinheiten unter Umgehung des zweiten Host-Betriebssystems zugegriffen werden kann.
  73. Die Methode nach Anspruch 71, weiterhin umfassend: e) Weiterleiten eines Datenträgerstroms in Echtzeit von einer aus der Vielzahl von ersten Host-Ressourcen zu dem zweiten Host-Betriebssystem.
  74. Die Methode nach Anspruch 71, wobei die Vielzahl von ersten Host-Ressourcen mindestens eine unterstützende Recheneinheit umfaßt.
  75. Die Methode nach Anspruch 74, wobei besagte mindestens eine unterstützende Recheneinheit eine unterstützende Speicherrecheneinheit ist.
  76. Die Methode nach Anspruch 74, wobei besagte mindestens eine unterstützende Recheneinheit eine unterstützende Audiorecheneinheit ist.
  77. Die Methode nach Anspruch 74, wobei besagte mindestens eine unterstützende Recheneinheit eine unterstützende Graphikrecheneinheit ist.
  78. Die Methode nach Anspruch 74, wobei besagte mindestens eine unterstützende Recheneinheit eine unterstützende Videorecheneinheit ist.
  79. Die Methode nach Anspruch 74, wobei besagte mindestens eine unterstützende Recheneinheit eine unterstützende Physikrecheneinheit ist.
  80. Ein verteiltes Netzwerk (300a; 300b) von Recheneinheiten und Host-Ressourcen, wobei das Netzwerk umfaßt: – eine erste Netzwerkrecheneinheit (310a); – einen ersten Host (350a), der eine erste zentrale Recheneinheit (CPU), die mit einem ersten Host-Betriebssystem geladen ist, und eine Vielzahl von ersten Host-Ressourcen umfaßt; – eine zweite Netzwerkrecheneinheit (310b); und – einen zweiten Host (350b), der eine zweite zentrale Recheneinheit (CPU), die mit einem zweiten Host-Betriebssystem geladen ist, und eine Vielzahl von zweiten Host-Ressourcen umfaßt; wobei auf jede aus der Vielzahl der ersten Host-Ressourcen mittels der ersten und zweiten Netzwerkrecheneinheiten unter Umgehung des ersten Host-Betriebssystems zugegriffen werden kann.
  81. Das Netzwerk nach Anspruch 80, wobei auf jede der Vielzahl von zweiten Host-Ressourcen über die ersten und zweiten Netzwerkrecheneinheiten unter Umgehung des zweiten Host-Betriebssystems zugegriffen werden kann
  82. Das Netzwerk nach Anspruch 80, wobei eine aus der Vielzahl von ersten Host-Ressourcen einen Datenträgerstrom in Echtzeit zum besagten zweiten Host-Betriebssystem weiterleitet.
  83. Das Netzwerk nach Anspruch 80, wobei besagte Vielzahl von ersten Host-Ressourcen mindestens eine unterstützende Recheneinheit umfaßt.
  84. Das Netzwerk nach Anspruch 83, wobei die mindestens eine unterstützende Recheneinheit eine unterstützende Speicherrecheneinheit ist.
  85. Das Netzwerk nach Anspruch 83, wobei die mindestens eine unterstützende Recheneinheit eine unterstützende Audiorecheneinheit ist.
  86. Das Netzwerk nach Anspruch 83, wobei die mindestens eine unterstützende Recheneinheit eine unterstützende Graphikrecheneinheit ist.
  87. Das Netzwerk nach Anspruch 83, wobei die mindestens eine unterstützende Recheneinheit eine unterstützende Videorecheneinheit umfaßt.
  88. Das Netzwerk nach Anspruch 83, wobei die mindestens eine unterstützende Recheneinheit eine unterstützende Physikrecheneinheit umfaßt.
  89. Methode zur Bereitstellung eines verteilten Netzwerks von Recheneinheiten, wobei die Methode umfaßt: a) Bereitstellen einer Netzwerkrecheneinheit; und b) Bereitstellen mindestens eines ersten Hosts, wobei der mindestens eine Host eine zentrale Recheneinheit (CPU) und mindestens eine unterstützende Recheneinheit umfaßt, wobei besagte zentrale Recheneinheit mit einem Host-Betriebssystem geladen ist und wobei besagte mindestens eine unterstützende Recheneinheit das Host-Betriebssystem umgeht und direkt mit der Netzwerkrecheneinheit kommuniziert.
  90. Die Methode nach Anspruch 89, wobei die mindestens eine unterstützende Recheneinheit ein Netzwerkprotokoll verwendet, um mit besagter Netzwerkrecheneinheit zu kommunizieren.
  91. Die Methode nach Anspruch 90, wobei besagte mindestens eine unterstützende Recheneinheit mit der Netzwerkrecheneinheit mittels einer Datenträger-Zugangs-Steuerung (MAC) kommuniziert.
  92. Ein verteiltes Netzwerk (200) von Recheneinheiten, wobei das Netzwerk umfaßt: – eine Netzwerkrecheneinheit (210); und – mindestens einen Host (250), der eine zentrale Recheneinheit (CPU) und mindestens eine unterstützende Recheneinheit (220, 230) umfaßt, wobei die zentrale Recheneinheit mit einem Host-Betriebssystem geladen ist und wobei die mindestens eine unterstützende Recheneinheit das Host-Betriebssystem umgeht und direkt mit der Netzwerkrecheneinheit kommuniziert.
  93. Das Netzwerk nach Anspruch 92, wobei die mindestens eine unterstützende Recheneinheit ein Netzwerkprotokoll verwendet, um mit der Netzwerkrecheneinheit zu kommunizieren.
  94. Das Netzwerk nach Anspruch 93, wobei die mindestens eine unterstützende Recheneinheit mit besagter Netzwerkrecheneinheit über eine Datenträger-Zugangs-Steuerung (MAC) kommuniziert.
  95. Methode zur Bereitstellung eines verteilten Netzwerks von Recheneinheiten, um mit mindestens einem Host, der eine zentrale Recheneinheit (CPU) umfaßt, zu wechselwirken und wobei besagte zentrale Recheneinheit mit einem Host-Betriebssystem geladen ist, wobei die Methode umfaßt: a) Bereitstellen einer Netzwerkrecheneinheit; und b) Bereitstellen mindestens einer unterstützenden Recheneinheit, wobei besagte Netzwerkrecheneinheit und besagte mindestens eine unterstützende Recheneinheit besagtes Host-Betriebssystem umgehen und direkt miteinander kommunizieren.
  96. Die Methode nach Anspruch 95, wobei die mindestens eine unterstützende Recheneinheit zwei unterstützende Recheneinheiten umfaßt, die das Host-Betriebssystem umgehen und über besagte Netzwerkrecheneinheit direkt miteinander kommunizieren.
  97. Die Methode nach Anspruch 95, wobei die mindestens eine unterstützende Recheneinheit ein Netzwerkprotokoll verwendet, um mit der Netzwerkrecheneinheit zu kommunizieren.
  98. Die Methode nach Anspruch 97, wobei die mindestens eine unterstützende Recheneinheit über Datenträger-Zugangs-Steuerung (MAC) mit der Netzwerkrecheneinheit kommuniziert.
  99. Die Methode nach Anspruch 97, wobei das Netzwerkprotokoll das "Transmission Control Protocol/Internet Protocol" (TCP/IP) ist.
  100. Die Methode nach Anspruch 97, wobei das Netzwerkprotokoll das "User Datagram Protocol" (UDP) ist.
  101. Die Methode nach Anspruch 95, wobei die mindestens eine unterstützende Recheneinheit als separate Netzwerkanwendung wahrgenommen wird.
  102. Die Methode nach Anspruch 95, wobei die mindestens eine unterstützende Recheneinheit eine unterstützende Speicherrecheneinheit ist.
  103. Die Methode nach Anspruch 95, wobei die mindestens eine unterstützende Recheneinheit eine unterstützende Audiorecheneinheit ist.
  104. Die Methode nach Anspruch 95, wobei die mindestens eine unterstützende Recheneinheit eine unterstützende Graphikrecheneinheit ist.
  105. Die Methode nach Anspruch 95, wobei die mindestens eine unterstützende Recheneinheit eine unterstützende Videorecheneinheit ist.
  106. Die Methode nach Anspruch 95, wobei die mindestens eine unterstützende Recheneinheit eine unterstützende Physikrecheneinheit ist.
  107. Die Methode nach Anspruch 95, wobei der mindestens eine Host ein virtueller Host ist.
  108. Die Methode nach Anspruch 95, wobei der mindestens eine Host eine Vielzahl von virtuellen Hosts umfaßt, wobei mindestens zwei aus der Vielzahl von virtuellen Hosts mit einem separaten Betriebssystem geladen sind.
  109. Die Methode nach Anspruch 108, wobei jeder aus der Vielzahl der Host in der Lage ist, auf die Vielzahl der unterstützenden Recheneinheiten mittels der Netzwerkrecheneinheit zuzugreifen.
  110. Die Methode nach Anspruch 95, wobei die mindestens eine Recheneinheit eine unterstützende Speicherrecheneinheit, eine unterstützende Audiorecheneinheit, eine unterstützende Graphikrecheneinheit und eine unterstützende Videorecheneinheit umfaßt.
  111. Ein verteiltes Netzwerk (200) von Recheneinheiten zum Wechselwirken mit mindestens einem Host (250) umfassend eine zentrale Recheneinheit (CPU) und wobei besagte zentrale Recheneinheit mit einem Host-Betriebssystem geladen ist, wobei das Netzwerk umfaßt: – eine Netzwerkrecheneinheit (210); und – mindestens eine unterstützende Recheneinheiten (220; 230), wobei die Netzwerkrecheneinheit und die mindestens eine unterstützende Recheneinheit besagtes Host-Betriebssystem umgehen und direkt miteinander kommunizieren.
  112. Das Netzwerk nach Anspruch 111, wobei die mindestens eine unterstützende Recheneinheit zwei unterstützende Recheneinheiten umfaßt, die das Host-Betriebssystem umgehen und über besagte Netzwerkrecheneinheit direkt miteinander kommunizieren.
  113. Das Netzwerk nach Anspruch 111, wobei die mindestens eine unterstützende Recheneinheit ein Netzwerk Protokoll verwenden, um mit der Netzwerkrecheneinheit zu kommunizieren.
  114. Das Netzwerk nach Anspruch 113, wobei die mindestens eine unterstützende Recheneinheit mit der Netzwerkrecheneinheit über eine Datenträger-Zugangs-Steuerung (MAC) kommuniziert.
  115. Das Netzwerk nach Anspruch 113, wobei das Netzwerkprotokoll das "Transmission Control Protocol/Internet Protocol" (TPC/IP) ist.
  116. Das Netzwerk nach Anspruch 113, wobei das Netzwerkprotokoll das "User Datagram Protocol" (UDP) ist.
  117. Das Netzwerk nach Anspruch 111, wobei die mindestens eine unterstützende Recheneinheit als separate Netzwerkanwendung wahrgenommen wird.
  118. Das Netzwerk nach Anspruch 111, wobei die mindestens eine unterstützende Recheneinheit eine unterstützende Speicherrecheneinheit ist.
  119. Das Netzwerk nach Anspruch 111, wobei die mindestens eine unterstützende Recheneinheit eine unterstützende Audiorecheneinheit ist.
  120. Das Netzwerk nach Anspruch 111, wobei die mindestens eine unterstützende Recheneinheit eine unterstützende Graphikrecheneinheit ist.
  121. Das Netzwerk nach Anspruch 111, wobei die mindestens eine unterstützende Recheneinheit eine unterstützende Videorecheneinheit ist.
  122. Das Netzwerk nach Anspruch 111, wobei die mindestens eine unterstützende Recheneinheit eine unterstützende Physikrecheneinheit ist.
  123. Das Netzwerk nach Anspruch 111, wobei der mindeste eine Host ein virtueller Host ist.
  124. Das Netzwerk nach Anspruch 111, wobei der mindestens eine Host eine Vielzahl von virtuellen Hosts umfaßt, wobei mindestens zwei aus der Vielzahl von Hosts mit einem separaten Betriebssystem geladen sind.
  125. Das Netzwerk nach Anspruch 124, wobei jeder aus der Vielzahl von virtuellen Hosts in der Lage ist, über die Netzwerkrecheneinheit auf die unterstützende Recheneinheit zuzugreifen.
  126. Das Netzwerk nach Anspruch 111, wobei die mindestens eine unterstützende Recheneinheit eine unterstützende Speicherrecheneinheit, eine unterstützende Audiorecheneinheit, eine unterstützende Graphikrecheneinheit und eine unterstützende Videorecheneinheit umfaßt.
  127. Das Netzwerk nach Anspruch 111, wobei die Netzwerkrecheneinheit in einem Chip-Bausatz implementiert ist.
  128. Das Netzwerk nach Anspruch 127, wobei mindestens eine aus der Vielzahl von unterstützenden Recheneinheiten in einem Chip-Bausatz implementiert ist.
  129. Methode zur Bereitstellung eines verteilten Netzwerks von Recheneinheiten, wobei die Methode umfaßt: a) Bereitstellen einer Netzwerkrecheneinheit; und b) Bereitstellen mindestens eines Hosts, wobei der mindestens eine Host eine zentrale Recheneinheit (CPU) und eine Vielzahl von unterstützenden Recheneinheiten umfaßt; wobei besagte zentrale Recheneinheit mit einem Host-Betriebssystem geladen ist und wobei besagte Vielzahl von unterstützenden Recheneinheiten besagtes Host-Betriebssystem umgehen und über besagter Netzwerkrecheneinheit direkt miteinander kommuniziert, wobei die Vielzahl von unterstützenden Recheneinheiten das "Transmission Control Protocol/Internet Protocol" (TCP/IP) verwenden, um mit besagter Netzwerkrecheneinheit zu kommunizieren.
  130. Methode zur Bereitstellung eines verteilten Netzwerks von Recheneinheiten, wobei die Methode umfaßt: a) Bereitstellen einer Netzwerkrecheneinheit; und b) Bereitstellen mindestens eines Hosts, wobei der mindestens eine Host eine zentrale Recheneinheit (CPU) und eine Vielzahl von unterstützenden Recheneinheiten umfaßt, wobei besagte zentrale Recheneinheit mit einem Host-Betriebssystem geladen ist und wobei besagte Vielzahl von unterstützenden Recheneinheiten besagtes Host-Betriebssystem umgehen und über besagter Netzwerkrecheneinheit direkt miteinander kommunizieren, wobei die Vielzahl von unterstützenden Recheneinheiten das "User Datagram Protocol" (UDP) verwenden, um mit besagter Netzwerkrecheneinheit zu kommunizieren.
  131. Ein verteiltes Netzwerk (200) von Recheneinheiten, wobei das Netzwerk umfaßt: – eine Netzwerkrecheneinheit (210); und – mindestens einen Host (250), wobei der mindestens eine Host eine zentrale Recheneinheit (CPU) und eine Vielzahl von unterstützenden Recheneinheiten (220; 230) umfaßt, wobei die zentrale Recheneinheit mit einem Host-Betriebssystem geladen ist und wobei die Vielzahl der unterstützende Recheneinheiten (220; 230) das Host-Betriebssystem umgehen und über die Netzwerkrecheneinheit direkt miteinander kommunizieren, wobei die Vielzahl von unterstützenden Recheneinheiten das "Transmission Control Protocol/Internet Protocol" (TCP/IP) verwenden, um mit besagter Netzwerkrecheneinheit zu kommunizieren.
  132. Ein verteiltes Netzwerk (200) von Recheneinheiten, wobei das Netzwerk umfaßt: – eine Netzwerkrecheneinheit (210); und – mindestens einen Host (250), wobei der mindestens eine Host eine zentrale Recheneinheit (CPU) und eine Vielzahl von unterstützenden Recheneinheiten (220; 230) umfaßt, wobei die zentrale Recheneinheit mit einem Host-Betriebssystem geladen ist und wobei die Vielzahl der unterstützenden Recheneinheiten (220; 230) das Host-Betriebssystem umgehen und über die Netzwerkrecheneinheit direkt miteinander kommunizieren, wobei die Vielzahl von unterstützenden Recheneinheiten das "User Datagram Protocol" (UDP) verwenden, um mit besagter Netzwerkrecheneinheit zu kommunizieren.
DE10392634T 2002-05-13 2003-05-12 Methode und Apparat zur Bereitstellung eines integrierten Netzwerkes von Rechnern Ceased DE10392634T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/144,658 2002-05-13
US10/144,658 US20030212735A1 (en) 2002-05-13 2002-05-13 Method and apparatus for providing an integrated network of processors
PCT/US2003/014908 WO2003096202A1 (en) 2002-05-13 2003-05-12 Method and apparatus for providing an integrated network of processors

Publications (1)

Publication Number Publication Date
DE10392634T5 true DE10392634T5 (de) 2005-06-02

Family

ID=29400386

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10392634T Ceased DE10392634T5 (de) 2002-05-13 2003-05-12 Methode und Apparat zur Bereitstellung eines integrierten Netzwerkes von Rechnern

Country Status (6)

Country Link
US (4) US20030212735A1 (de)
JP (1) JP2005526313A (de)
AU (1) AU2003229034A1 (de)
DE (1) DE10392634T5 (de)
GB (1) GB2405244B (de)
WO (1) WO2003096202A1 (de)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8250357B2 (en) 2000-09-13 2012-08-21 Fortinet, Inc. Tunnel interface for securing traffic over a network
US7487232B1 (en) 2000-09-13 2009-02-03 Fortinet, Inc. Switch management system and method
US7574495B1 (en) 2000-09-13 2009-08-11 Fortinet, Inc. System and method for managing interworking communications protocols
US7111072B1 (en) 2000-09-13 2006-09-19 Cosine Communications, Inc. Packet routing system and method
US7272643B1 (en) 2000-09-13 2007-09-18 Fortinet, Inc. System and method for managing and provisioning virtual routers
US7389358B1 (en) * 2000-09-13 2008-06-17 Fortinet, Inc. Distributed virtual system to support managed, network-based services
US7181547B1 (en) 2001-06-28 2007-02-20 Fortinet, Inc. Identifying nodes in a ring network
US7116665B2 (en) 2002-06-04 2006-10-03 Fortinet, Inc. Methods and systems for a distributed provider edge
US7340535B1 (en) * 2002-06-04 2008-03-04 Fortinet, Inc. System and method for controlling routing in a virtual router system
US7161904B2 (en) * 2002-06-04 2007-01-09 Fortinet, Inc. System and method for hierarchical metering in a virtual router based network switch
US7376125B1 (en) 2002-06-04 2008-05-20 Fortinet, Inc. Service processing switch
US7177311B1 (en) 2002-06-04 2007-02-13 Fortinet, Inc. System and method for routing traffic through a virtual router-based network switch
US7203192B2 (en) 2002-06-04 2007-04-10 Fortinet, Inc. Network packet steering
US7096383B2 (en) 2002-08-29 2006-08-22 Cosine Communications, Inc. System and method for virtual router failover in a network routing system
US7266120B2 (en) 2002-11-18 2007-09-04 Fortinet, Inc. System and method for hardware accelerated packet multicast in a virtual routing system
US7720095B2 (en) 2003-08-27 2010-05-18 Fortinet, Inc. Heterogeneous media packet bridging
US8497865B2 (en) 2006-12-31 2013-07-30 Lucid Information Technology, Ltd. Parallel graphics system employing multiple graphics processing pipelines with multiple graphics processing units (GPUS) and supporting an object division mode of parallel graphics processing using programmable pixel or vertex processing resources provided with the GPUS
US20090027383A1 (en) 2003-11-19 2009-01-29 Lucid Information Technology, Ltd. Computing system parallelizing the operation of multiple graphics processing pipelines (GPPLs) and supporting depth-less based image recomposition
US8085273B2 (en) 2003-11-19 2011-12-27 Lucid Information Technology, Ltd Multi-mode parallel graphics rendering system employing real-time automatic scene profiling and mode control
US7961194B2 (en) 2003-11-19 2011-06-14 Lucid Information Technology, Ltd. Method of controlling in real time the switching of modes of parallel operation of a multi-mode parallel graphics processing subsystem embodied within a host computing system
EP1687732A4 (de) 2003-11-19 2008-11-19 Lucid Information Technology Ltd Verfahren und system für eine mehrfach-3d-graphikpipeline über einen pc-bus
US20080074429A1 (en) 2003-11-19 2008-03-27 Reuven Bakalash Multi-mode parallel graphics rendering system (MMPGRS) supporting real-time transition between multiple states of parallel rendering operation in response to the automatic detection of predetermined operating conditions
US7499419B2 (en) 2004-09-24 2009-03-03 Fortinet, Inc. Scalable IP-services enabled multicast forwarding with efficient resource utilization
US7808904B2 (en) * 2004-11-18 2010-10-05 Fortinet, Inc. Method and apparatus for managing subscriber profiles
CN101849227A (zh) 2005-01-25 2010-09-29 透明信息技术有限公司 在单片构造的硅芯片上采用多个图形核心的图形处理和显示系统
US7839854B2 (en) * 2005-03-08 2010-11-23 Thomas Alexander System and method for a fast, programmable packet processing system
US7639715B1 (en) * 2005-09-09 2009-12-29 Qlogic, Corporation Dedicated application interface for network systems
US20070067517A1 (en) * 2005-09-22 2007-03-22 Tzu-Jen Kuo Integrated physics engine and related graphics processing system
US7735099B1 (en) 2005-12-23 2010-06-08 Qlogic, Corporation Method and system for processing network data
GB2462860B (en) * 2008-08-22 2012-05-16 Advanced Risc Mach Ltd Apparatus and method for communicating between a central processing unit and a graphics processing unit
KR101150928B1 (ko) * 2010-08-26 2012-05-29 한국과학기술원 네트워크 아키텍처 및 이를 이용한 패킷 처리 방법
US8438306B2 (en) * 2010-11-02 2013-05-07 Sonics, Inc. Apparatus and methods for on layer concurrency in an integrated circuit
US10803970B2 (en) * 2011-11-14 2020-10-13 Seagate Technology Llc Solid-state disk manufacturing self test
GB2511668A (en) * 2012-04-12 2014-09-10 Supercell Oy System and method for controlling technical processes
CN106789985B (zh) * 2016-12-08 2019-11-12 武汉斗鱼网络科技有限公司 基于gpu算法的客户端验证方法及系统
WO2019041332A1 (zh) * 2017-09-04 2019-03-07 深圳前海达闼云端智能科技有限公司 一种加速网络传输优化方法以及系统
CN110535947B (zh) * 2019-08-30 2021-09-17 苏州浪潮智能科技有限公司 一种存储设备集群配置节点切换方法、装置及设备

Family Cites Families (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2753123B2 (ja) * 1990-08-28 1998-05-18 富士通株式会社 制御モード選択式通信コントローラ
US5524250A (en) * 1991-08-23 1996-06-04 Silicon Graphics, Inc. Central processing unit for processing a plurality of threads using dedicated general purpose registers and masque register for providing access to the registers
JPH05250305A (ja) * 1992-03-06 1993-09-28 Mitsubishi Electric Corp データ転送制御方式
US5987627A (en) * 1992-05-13 1999-11-16 Rawlings, Iii; Joseph H. Methods and apparatus for high-speed mass storage access in a computer system
DE69525556T2 (de) * 1994-03-21 2002-09-12 Avid Technology Inc Gerät und Verfahren ausgeführt auf einem Rechner für Echtzeit Multimedia Datenübertragung in einer verteilten Rechneranordnung
US5630174A (en) * 1995-02-03 1997-05-13 Cirrus Logic, Inc. Adapter for detecting whether a peripheral is standard or multimedia type format and selectively switching the peripheral to couple or bypass the system bus
US5696990A (en) * 1995-05-15 1997-12-09 Nvidia Corporation Method and apparatus for providing improved flow control for input/output operations in a computer system having a FIFO circuit and an overflow storage area
US5802320A (en) * 1995-05-18 1998-09-01 Sun Microsystems, Inc. System for packet filtering of data packets at a computer network interface
US5812800A (en) * 1995-09-11 1998-09-22 Advanced Micro Devices, Inc. Computer system which includes a local expansion bus and a dedicated real-time bus and including a multimedia memory for increased multi-media performance
US5797028A (en) * 1995-09-11 1998-08-18 Advanced Micro Devices, Inc. Computer system having an improved digital and analog configuration
US5826027A (en) * 1995-10-11 1998-10-20 Citrix Systems, Inc. Method for supporting an extensible and dynamically bindable protocol stack in a distrubited process system
US5909546A (en) * 1996-03-08 1999-06-01 Mitsubishi Electric Information Technology Center America, Inc. (Ita) Network interface having support for allowing remote operations with reply that bypass host computer interaction
US5742773A (en) * 1996-04-18 1998-04-21 Microsoft Corporation Method and system for audio compression negotiation for multiple channels
US6343086B1 (en) * 1996-09-09 2002-01-29 Natural Microsystems Corporation Global packet-switched computer network telephony server
US6101170A (en) * 1996-09-27 2000-08-08 Cabletron Systems, Inc. Secure fast packet switch having improved memory utilization
US6034963A (en) * 1996-10-31 2000-03-07 Iready Corporation Multiple network protocol encoder/decoder and data processor
US5974496A (en) * 1997-01-02 1999-10-26 Ncr Corporation System for transferring diverse data objects between a mass storage device and a network via an internal bus on a network card
US6006264A (en) * 1997-08-01 1999-12-21 Arrowpoint Communications, Inc. Method and system for directing a flow between a client and a server
US6097955A (en) * 1997-09-12 2000-08-01 Lucent Technologies, Inc. Apparatus and method for optimizing CPU usage in processing paging messages within a cellular communications system
US6094485A (en) * 1997-09-18 2000-07-25 Netscape Communications Corporation SSL step-up
US6757746B2 (en) * 1997-10-14 2004-06-29 Alacritech, Inc. Obtaining a destination address so that a network interface device can write network data without headers directly into host memory
US6226680B1 (en) * 1997-10-14 2001-05-01 Alacritech, Inc. Intelligent network interface system method for protocol processing
US6298406B1 (en) 1997-10-24 2001-10-02 Sony Corporation Method of and apparatus for detecting direction of reception of bus packets and controlling direction of transmission of bus packets within an IEEE 1394 serial bus node
US7007126B2 (en) * 1998-02-13 2006-02-28 Intel Corporation Accessing a primary bus messaging unit from a secondary bus through a PCI bridge
US6092124A (en) 1998-04-17 2000-07-18 Nvidia Corporation Method and apparatus for accelerating the rendering of images
US6157955A (en) * 1998-06-15 2000-12-05 Intel Corporation Packet processing system including a policy engine having a classification unit
US6438678B1 (en) * 1998-06-15 2002-08-20 Cisco Technology, Inc. Apparatus and method for operating on data in a data communications system
US6327660B1 (en) * 1998-09-18 2001-12-04 Intel Corporation Method for securing communications in a pre-boot environment
US7136926B1 (en) * 1998-12-31 2006-11-14 Pmc-Sierrra Us, Inc. Method and apparatus for high-speed network rule processing
US6542992B1 (en) * 1999-01-26 2003-04-01 3Com Corporation Control and coordination of encryption and compression between network entities
JP4035803B2 (ja) * 1999-02-19 2008-01-23 富士通株式会社 移動パケット通信システム
US6345072B1 (en) * 1999-02-22 2002-02-05 Integrated Telecom Express, Inc. Universal DSL link interface between a DSL digital controller and a DSL codec
JP2000332817A (ja) * 1999-05-18 2000-11-30 Fujitsu Ltd パケット処理装置
JP2001084182A (ja) 1999-09-16 2001-03-30 Matsushita Electric Ind Co Ltd バス接続装置、コンピュータ及び記録媒体
US6389419B1 (en) * 1999-10-06 2002-05-14 Cisco Technology, Inc. Storing and retrieving connection information using bidirectional hashing of connection identifiers
US7149222B2 (en) * 1999-12-21 2006-12-12 Converged Access, Inc. Integrated access point network device
DE10009570A1 (de) * 2000-02-29 2001-08-30 Partec Ag Verfahren zur Steuerung der Kommunikation von Einzelrechnern in einem Rechnerverbund
US6704794B1 (en) * 2000-03-03 2004-03-09 Nokia Intelligent Edge Routers Inc. Cell reassembly for packet based networks
US6714985B1 (en) * 2000-04-28 2004-03-30 Cisco Technology, Inc. Method and apparatus for efficiently reassembling fragments received at an intermediate station in a computer network
DE10023051B4 (de) 2000-05-11 2004-02-19 Roche Diagnostics Gmbh Verfahren zur Herstellung von Fluoresceinisothiocyanat-Sinistrin, dessen Verwendung und Fluoresceinisothiocyanat-Sinistrin enthaltende diagnostische Zubereitung
EP1162795A3 (de) * 2000-06-09 2007-12-26 Broadcom Corporation Gigabitvermittlungseinheit mit verbesserter Schicht-3-Vermittlung
JP4479064B2 (ja) 2000-06-19 2010-06-09 ソニー株式会社 情報入出力装置
ATE267502T1 (de) * 2000-07-05 2004-06-15 Roke Manor Research Verfahren zum betreiben eines puffers für das wiederzusammenstellen von paketen und netzwerk- router
US7346702B2 (en) * 2000-08-24 2008-03-18 Voltaire Ltd. System and method for highly scalable high-speed content-based filtering and load balancing in interconnected fabrics
US6785780B1 (en) * 2000-08-31 2004-08-31 Micron Technology, Inc. Distributed processor memory module and method
WO2002023463A1 (en) * 2000-09-11 2002-03-21 David Edgar System, method, and computer program product for optimization and acceleration of data transport and processing
US20020078118A1 (en) * 2000-12-19 2002-06-20 Cone Robert W. Network interface application specific integrated circuit to allow direct attachment for an appliance,such as a printer device
US20020083344A1 (en) * 2000-12-21 2002-06-27 Vairavan Kannan P. Integrated intelligent inter/intra networking device
US7116640B2 (en) * 2000-12-22 2006-10-03 Mitchell Paul Tasman Architecture and mechanism for forwarding layer interfacing for networks
US6781955B2 (en) * 2000-12-29 2004-08-24 Ericsson Inc. Calling service of a VoIP device in a VLAN environment
WO2002059757A1 (en) 2001-01-26 2002-08-01 Iready Corporation Communications processor
US7328263B1 (en) * 2001-01-30 2008-02-05 Cisco Technology, Inc. Controlling access of concurrent users of computer resources in a distributed system using an improved semaphore counting approach
US7017175B2 (en) 2001-02-02 2006-03-21 Opentv, Inc. Digital television application protocol for interactive television
US6832261B1 (en) * 2001-02-04 2004-12-14 Cisco Technology, Inc. Method and apparatus for distributed resequencing and reassembly of subdivided packets
US20020128986A1 (en) * 2001-02-23 2002-09-12 Peter Stutz Communication system for franking system
JP3873639B2 (ja) * 2001-03-12 2007-01-24 株式会社日立製作所 ネットワーク接続装置
US6950862B1 (en) * 2001-05-07 2005-09-27 3Com Corporation System and method for offloading a computational service on a point-to-point communication link
US7010727B1 (en) * 2001-06-15 2006-03-07 Nortel Networks Limited Method and system for negotiating compression techniques to be utilized in packet data communications
DE10139936B4 (de) * 2001-08-14 2005-04-28 Siemens Ag Verfahren und Anordnung zur Steuerung von Datenpaketen
US7027443B2 (en) * 2001-08-23 2006-04-11 Pmc-Sierra Ltd. Reassembly engines for multilink applications
US20030061296A1 (en) * 2001-09-24 2003-03-27 International Business Machines Corporation Memory semantic storage I/O
US7433948B2 (en) * 2002-01-23 2008-10-07 Cisco Technology, Inc. Methods and apparatus for implementing virtualization of storage within a storage area network
US7500102B2 (en) * 2002-01-25 2009-03-03 Microsoft Corporation Method and apparatus for fragmenting and reassembling internet key exchange data packets
US7076803B2 (en) * 2002-01-28 2006-07-11 International Business Machines Corporation Integrated intrusion detection services
US20030145230A1 (en) * 2002-01-31 2003-07-31 Huimin Chiu System for exchanging data utilizing remote direct memory access
US7650634B2 (en) * 2002-02-08 2010-01-19 Juniper Networks, Inc. Intelligent integrated network security device
US8370936B2 (en) * 2002-02-08 2013-02-05 Juniper Networks, Inc. Multi-method gateway-based network security systems and methods
US6944706B2 (en) * 2002-02-22 2005-09-13 Texas Instruments Incorporated System and method for efficiently processing broadband network traffic
US6735647B2 (en) * 2002-09-05 2004-05-11 International Business Machines Corporation Data reordering mechanism for high performance networks
US7397797B2 (en) * 2002-12-13 2008-07-08 Nvidia Corporation Method and apparatus for performing network processing functions
US7483376B2 (en) * 2004-06-17 2009-01-27 International Business Machines Corporation Method and apparatus for discovering path maximum transmission unit (PMTU)

Also Published As

Publication number Publication date
GB2405244A (en) 2005-02-23
US20030212735A1 (en) 2003-11-13
AU2003229034A1 (en) 2003-11-11
WO2003096202A1 (en) 2003-11-20
US8051126B2 (en) 2011-11-01
GB2405244B (en) 2006-01-04
US20080071926A1 (en) 2008-03-20
US7383352B2 (en) 2008-06-03
US20080104271A1 (en) 2008-05-01
GB0425574D0 (en) 2004-12-22
US20100049780A1 (en) 2010-02-25
JP2005526313A (ja) 2005-09-02
US7620738B2 (en) 2009-11-17

Similar Documents

Publication Publication Date Title
DE10392634T5 (de) Methode und Apparat zur Bereitstellung eines integrierten Netzwerkes von Rechnern
DE60311677T2 (de) Verfahren und vorrichtung zur durchführung von netzwerkverarbeitungsfunktionen
DE102015108145B4 (de) Lokale Dienstverkettung mit virtuellen Maschinen und virtualisierten Behältern in software-definierter Vernetzung
DE112013004187B4 (de) Technologie für Netzwerk-Datenübertragung durch ein Computersystem unter Verwendung von mindestens zwei Datenübertragungsprotokollen
DE60200451T2 (de) Herstellung einer gesicherten Verbindung mit einem privaten Unternehmensnetz über ein öffentliches Netz
DE112014000415B4 (de) Quantisierte Überlastbenachrichtigung in einem virtuellen Netzwerksystem
DE112004002797B4 (de) Ausfallsicherung und Lastausgleich
DE60213974T2 (de) Verfahren und vorrichtung zur prioritäts-basierten flusskontrolle in einer ethernet-architektur
DE69736422T2 (de) Verfahren und Vorrichtung für eine hybride Serverkommunikationsstruktur zwischen gleichen Schichten
DE102020201834A1 (de) Technologien für netzvorrichtungslastausgleichseinrichtungen für beschleunigte funktionen-als-dienst
DE60024763T2 (de) Verfahren und Vorrichtung zur Packetfragmentenweiterleitung
DE112008003966T5 (de) Selektives Um-Abbilden einer Netzwerktopologie
DE60311462T2 (de) Verfahren und Vorrichtung zur Protokollverarbeitung in Computersystemen unter Verwendung der Übersetzung von Speicheradressen
DE60100624T2 (de) Verfahren und vorrichtung zum verbessern der verwendung eines betriebsmittels auf einem verteilten klient
DE102004060757A1 (de) Effiziente Handhabung von Download-Anfragen
DE112008002416T5 (de) Gemeinsame Nutzung von Legacy-Geräten in einer Multithost-Umgebung
DE602004013414T2 (de) Verfahren und Vorrichtung zum verbesserten Weitergeben und Hochladen von Netzwerkdaten
DE202014010925U1 (de) Dienstbrücken
DE102018129112A1 (de) Systemdecoder für Trainingsbeschleuniger
DE102019108798A1 (de) Hochbandige verbindungsschicht für kohärente nachrichten
DE112009004075T5 (de) Selektives kommunizieren von daten eines peripheriegeräts zumehreren sendenden computern
DE102013208431A1 (de) Großer verteilter Switch auf Fabric-Basis unter Verwendung virtueller Switches und virtueller Steuereinheiten
DE112022002284T5 (de) Auslagerung der vermittlungsschicht 7 an eine infrastrukturverarbeitungseinheit für ein vermaschtes dienstnetz
DE102020129690A1 (de) Semiflexibler paketzusammenführungs-steuerweg
DE102022126611A1 (de) Service-mesh-auslagerung an netzwerkvorrichtungen

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8128 New person/name/address of the agent

Representative=s name: DILG HAEUSLER SCHINDELMANN PATENTANWALTSGESELLSCHA

8125 Change of the main classification

Ipc: G06F 15/173 AFI20051017BHDE

R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final
R003 Refusal decision now final

Effective date: 20150414