DE60218758T2 - Kommunikationsprotokolle, -systeme und -verfahren - Google Patents

Kommunikationsprotokolle, -systeme und -verfahren Download PDF

Info

Publication number
DE60218758T2
DE60218758T2 DE60218758T DE60218758T DE60218758T2 DE 60218758 T2 DE60218758 T2 DE 60218758T2 DE 60218758 T DE60218758 T DE 60218758T DE 60218758 T DE60218758 T DE 60218758T DE 60218758 T2 DE60218758 T2 DE 60218758T2
Authority
DE
Germany
Prior art keywords
packet
memory
address
network
command
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60218758T
Other languages
English (en)
Other versions
DE60218758D1 (de
Inventor
Charles San Clemente FRANK
Thomas San Clemente LUDWIG
Thomas Mission Viejo HANAN
William Perris BABBITT
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.)
Rateze Remote Mgmt LLC
Original Assignee
Zetera Corp Irvine
Zetera 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 Zetera Corp Irvine, Zetera Corp filed Critical Zetera Corp Irvine
Application granted granted Critical
Publication of DE60218758D1 publication Critical patent/DE60218758D1/de
Publication of DE60218758T2 publication Critical patent/DE60218758T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/283Processing of data at an internetworking point of a home automation network
    • H04L12/2832Interconnection of the control functionalities between home networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/4616LAN interconnection over a LAN backbone
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/35Network arrangements, protocols or services for addressing or naming involving non-standard use of addresses for implementing network functionalities, e.g. coding subscription information within the address or functional addressing, i.e. assigning an address to a function
    • 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/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/283Processing of data at an internetworking point of a home automation network
    • H04L12/2836Protocol conversion between an external network and a home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L2012/2847Home automation networks characterised by the type of home appliance used
    • H04L2012/2849Audio/video appliances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/604Address structures or formats
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Description

  • Gebiet der Erfindung
  • Das Gebiet der Erfindung betrifft vernetzte Vorrichtungen und Kommunikationsprotokolle.
  • Hintergrund der Erfindung
  • Es ist sehr bekannt, Lagen von Kommunikationsprotokollen zu verwenden, um Daten zwischen Vorrichtungen zu übertragen. Es ist für ein Protokoll, das für das Übertragen von Daten vorgesehen ist, nicht ungewöhnlich, dass es dies durch Hinzufügen eines Kopfabschnittes zu den Daten durchführt, um eine Einheit zu bilden, und dann diese Einheit auf ein weiteres Protokoll überträgt, das im Allgemeinen als ein Protokoll eines niedrigeren Niveaus angesehen wird. Das Hinzufügen eines Kopfabschnittes zu der Einheit, die von einem Protokoll eines höheren Niveaus zur Verfügung gestellt wird, wird oft als ein Einkapseln der Einheit bezeichnet. Soweit ist es nicht ungewöhnlich, über Lagen von Protokollen zu sprechen, wenn Einheiten, die durch Protokolle eines höheren Niveaus gebildet werden, in den Datenabschnitten von Protokollen eines niedrigeren Niveaus eingekapselt werden. Die Einheit, die durch eine vorgegebene Protokolllage gebildet wird, wird oft durch einen Namen bezeichnet, der einige der Eigenschaften des Protokolls, das die Einheit ausgebildet hat und/oder der ausgebildeten Einheit, angeben kann. Einige der Namen umfassen "Datagramm", "Paket" und "Rahmen", sind jedoch nicht darauf begrenzt.
  • Eine Gruppe von Protokollen, die ausgebildet sind, um miteinander zu kooperieren, wird oft als eine Suite bezeichnet. Eine allgemeine Suite von Protokollen ist die TCP/IP-Suite und umfasst unter anderem ein IP-, TCP- und UDP-Protokoll. Das Internetprotokoll (IP), das durch IETF RFC791 definiert ist, entspricht dem Routing-Lagen-Datagramm-Dienst (routing layer datagram service) der TCP/IP-Suite und wird von den weiteren Protokollen innerhalb der Suite verwendet, um Rahmen von Host zu Host zu routen. Der IP-Kopfabschnitt enthält Routing-Informationen und Steuerinformationen, die die Auslieferung des Datagramms betreffen. Das Benutzer-Datagramm-Protokoll (UDP: User Datagram Protocol), das durch IETF RFC768 definiert ist, stellt einen einfachen, jedoch unzuverlässigen Nachrichtendienst für übertragungsorientierte Dienste zur Verfügung. Jeder UDP-Kopfabschnitt trägt sowohl einen Quell-Port-Identifizierer und einen Ziel-Port-Identifizierer, die es Protokollen von hohen Niveaus ermöglichen, bestimmte Anwendungen und Dienste zwischen Hosts anzusprechen. Das Übertragungssteuerprotokoll (Transmission Control Protocol) (TCP), das durch IETF RFC793 definiert ist, stellt ein zuverlässiges Übertragen eines Datenstroms und einen virtuellen Verbindungsdienst für Anwendungen durch die Verwendung einer sequenzierten Bestätigung mit einer Zurückübertragung von Paketen, wenn erforderlich, zur Verfügung.
  • Der Stand der Technik umfasst das U.S.-Patent Nr. 5,742,604, das eine Tunneltechnik beschreibt, bei der Pakete eingekapselt werden, um die Kommunikation zwischen Switchen eines Netzwerkes zu verbessern, und ein europäisches Patent Nr. EP 0 700 231 , das ebenfalls eine Tunneltechnik offenbart, wobei jedoch verbindungslose Clients und Server durch Senden von Paketen über virtuelle Schaltkreise miteinander kommunizieren.
  • Zusammenfassung der Erfindung
  • Der vorliegende erfinderische Gegenstand betrifft Verfahren zum Interagieren mit einer Zielvorrichtung mit einem ersten und davon verschiedenen zweiten Speicherbereich über ein Netzwerk, umfassend: Empfangen eines ersten Pakets, das (a) eine erste Netzwerkadresse, die einem ersten Speicherbereich zugeordnet ist, und (b) eine Adresse einer Position in dem ersten Speicherbereich enthält; Empfangen eines zweiten Pakets, das (a) eine zweite Netzwerkadresse, die dem zweiten Speicherbereich zugeordnet ist, und (b) eine Adresse einer Position in dem zweiten Speicherbereich enthält, wobei die erste Netzwerkadresse von der zweiten Netzwerkadresse verschieden ist, und Verwenden der ersten und zweiten Netzwerkadresse, um das erste und zweite Paket über das Netzwerk an den ersten bzw. zweiten Speicherbereich zu routen.
  • In bevorzugten Ausführungsformen erleichtern Kommunikationsprotokolle und Verfahren in vorteilhafter Weise die Kommunikation zwischen disaggregierten Elementen, insbesondere über Peer-to-Peer-(masterlose)Netzwerke und auch Vorrichtungen, die ausgebildet sind, um wie derartige disaggregierte Elemente zu arbeiten. Solche Vorrichtungen implementieren im Allgemeinen eines oder mehrere der beschriebenen Verfahren und Protokolle und verwenden Netzwerkadressen, um entweder auf eigene Speicherbereiche oder auf Speicherbereiche in anderen Vorrichtungen zuzugreifen. Vielfältige Ausführungsformen der hierin beschriebenen Protokolle und Verfahren umfassen eine oder mehrere einer Anzahl von einzigartigen Merkmalen. Solche Merkmale umfassen Paket-Atomarität, blinde ACKs, NAT-Bridging, Sperren, Multicast-Spanning (Mehrpunkt-Übergreifen) und Spiegeln, sowie Authentifizierung, sind jedoch nicht notwendigerweise darauf beschränkt.
  • Paket-Atomarität
  • Eine Paket-Atomarität für ein Paket liegt vor, wenn ein Befehl, der in seinem Kopfabschnitt enthalten ist, ausgeführt werden kann, ohne dass das Paket mit einem vorangehenden oder nachfolgenden Paket kombiniert werden muss. Ein Protokoll weist Paket-Atomarität auf, wenn jedes Paket oder zumindest im Wesentlichen alle Pakete, die über das Protokoll übertragen werden, eine Paket-Atomarität aufweist/aufweisen. Ein Protokoll mit Paket-Atomarität umfasst üblicherweise eine Gruppe von Befehlen, wobei jeder der Befehle autonom ist und ohne eine Annahme eines vorangehenden Zustandes ausgeführt werden kann. In Fällen, in denen ein Paket verwendet wird, um einen Abschnitt eines größeren Datenblocks zu übertragen, kann man eine Paket-Atomarität erhalten, indem ein Identifizierer eingefügt wird, der die relative Position der Daten in dem Paket in dem größeren Datenblock angibt.
  • Paket-Atomarität ist wünschenswert, da diese die Verwendung einer verbindungslosen Kommunikation zwischen Vorrichtungen ermöglicht. Dazu kann ein Protokoll eines höheren Niveaus mit einer Paket-Atomarität an der Spitze entweder einer Verbindung, die auf einem Protokoll, wie z.B. TCP, basiert oder einem verbindungslosen Protokoll, wie z.B. UDP, implementiert werden. Protokolle mit Paket-Atomarität können auch in vorteilhafter Weise Merkmale von Verbindungsprotokollen eines niedrigeren Niveaus, wie z.B. das IP-Protokoll nutzen, um Merkmale des Protokolls mit Paket-Atomarität einfacher zu implementieren und zu erweitern.
  • Es ist vorgesehen, dass ein bevorzugtes Verfahren zum Erreichen einer Paket-Atomarität darin besteht, jeden Paketbefehl zu vermeiden, der auf einen Datenblock ausgeführt wird, der größer ist als der, der in einem einzelnen Paket enthalten sein kann, und einen eindeutigen Blockidentifizierer in dem Kopfabschnitt jedes Pakets, das Daten betrifft, einzufügen. Es ist auch vorgesehen, dass, wenn zwei Vorrichtungen miteinander kommunizieren, es vorteilhaft ist, die Dateneinheit des Pakets auf eine Größe anzupassen, die der kleineren der zwei Blockgrößen der Vorrichtungen entspricht.
  • Es ist vorgesehen, dass eine Begrenzung der Größen der Paketdatenblöcke, so dass sie dem kleinsten physikalischen Block einer Vorrichtung, zu der ein Paket gesendet wird, entspricht, zu einer Erhöhung der Gesamtleistungsfähigkeit führt, indem die Verarbeitungszeit in dem Ziel vermindert wird, sogar wenn eine Erhöhung der Paketgröße bislang ein bevorzugtes Verfahren zum Erhöhen der Leistungsfähigkeit des Netzwerkes war.
  • Es ist auch vorgesehen, ein bevorzugtes Verfahren zum Kommunizieren eines Datenblockes an eine Vorrichtung für die nachfolgende Bearbeitung durch die Vorrichtung ein Unterteilen des Datenblocks in Unterblöcke umfassen kann, wobei die Vorrichtung die Unterblöcke bearbeitet, ohne zunächst den Block wieder zusammenzusetzen oder die Pakete umzuordnen.
  • Vorrichtungen, die bevorzugte Verfahren der Kommunikation verwenden, können ein Verfahren des Anforderns von Daten von einer zweiten Vorrichtung verwenden, wobei die Daten in der zweiten Vorrichtung physikalisch oder logisch in Untereinheiten unterteilt sind, und das anfordernde Gerät nur eine einzelne Untereinheit von der zweiten Vorrichtung anfordern kann, indem eine Zahl, wie z.B. eine logische Blockadresse, die die angeforderte Untereinheit identifiziert, einer Speichervorrichtung zur Verfügung gestellt wird, wobei die Untereinheit an das anfordernde Gerät in einem einzigen Datenpaket übertragen wird.
  • Blind-ACK
  • Ein Blind-ACK ist eine inhärente Bestätigung des Empfangs eines Pakets. Es ist vorgesehen, dass eine Begrenzung der Datenübertragungen von Datenblöcken, die in ein einziges Paket passen, und ein Einfügen eines Speicherpositions-Identifizierers, der dem zu übertragenden Datenblock entspricht, das Senden eines Bestätigungspakets überflüssig macht. In bevorzugten Ausführungsformen kann ein anforderndes Gerät eine Übertragung starten, indem ein Paket gesendet wird, das einen geeigneten Befehl und einen Identifizierer eines zu übertragenden Datenblockes umfasst. Wenn das anfordernde Gerät nachfolgend ein Übertragungspaket empfängt, das den Identifizierer des zu übertragenden Datenblockes umfasst, wird nichts Weiteres durchgeführt. Wenn jedoch, nachdem eine Time-out-Periode verstrichen ist, die anfordernde Vorrichtung kein solches Übertragungspaket empfangen hat, wird es einfach erneut anfragen, dass der Datenblock übertragen wird. Daher muss die übertragende Vorrichtung keine anderen Daten erneut übertragen, um die zusätzlichen Anfragen zu bedienen und muss keine Bestätigung eines Empfangs von dem anfordernden Gerät empfangen. Im Wesentlichen dient das Fehlen des erneuten Anfragens nach Daten, die in einem Paket enthalten sind, durch das anfordernde Gerät als eine Bestätigung, dass das Paket empfangen worden ist.
  • NAT-Bridging
  • Bevorzugte Ausführungsformen unterstützen NAT-Bridging, die Fähigkeit, über eine NAT-(Netzwerkadressübersetzung)-Brücke zu kommunizieren, ohne auf ein Tunnel auszuweichen. Daher ist es bevorzugt, dass ein erstes Element ein Paket senden kann, das ein zweites Element anweist, eine Datenübertragung zwischen dem zweiten Element und einem dritten Element anzuregen, wobei das zweite Element und das dritte Element durch eine Brücke, wie z.B. eine NAT voneinander getrennt sind. Somit umfasst ein bevorzugtes Netzwerk ein Protokoll mit einem Befehl, um zwei Peer anzuweisen, über eine Brücke zu kommunizieren, insbesondere, wenn die Brücke eine NAT ist. In einem Beispiel eines bevorzugten Verfahrens kann das erste Element etwas anderes als ein Speicherelement sein, wobei das zweite und das dritte Element Speicherelemente (SEs) sind. Ein Senden eines geeigneten Befehls an das zweite Element, ein SE auf der gleichen Seite eines NAT wie das erste Element bewirkt, dass das zweite Element eine Datenübertragung zu dem dritten Element, ein SE auf der entgegen gesetzten Seite des NAT bezüglich des ersten Elementes, startet. In weniger bevorzugten Ausführungsformen kann das erste Element die IP-Adresse des zweiten Elements bei einer Übertragungsanfrage an das dritte Element verwenden. In einem solchen Fall kann die Antwort durch das dritte Element durch den NAT eher an das zweite Element als zurück an das erste Element gerichtet sein.
  • Sperren
  • Bevorzugte Verfahren und Protokolle umfassen die Fähigkeit, bei der eine Vorrichtung, die Daten an eine Empfangsvorrichtung überträgt, Daten sperrt, so dass das Übertragen der Vorrichtung die Modifikation der übertragenen Daten verhindert, bis die Empfangsvorrichtung die Daten entsperrt.
  • Multicasting (Mehrpunkt-Übertragung)
  • Das Verwenden von Multicasting-Fähigkeiten von Protokollen eines niedrigeren Niveaus (möglicherweise mit Modifikationen) ermöglicht es, eine Plattenredundanz zu implementieren, wie z.B. durch Spiegeln und RAID-Operationen, und ein Platten-(Disc-)Spanning auf eine Weise zu unterstützen, die für höhere Niveaus transparent ist.
  • Authentifizierung
  • Eine Authentifizierung stellt die Fähigkeit zur Verfügung, eine unzulässige oder böswillige Beeinträchtigung der Kommunikation zwischen Vorrichtungen zurückzuweisen, so dass eine Empfangsvorrichtung in absoluter Weise authentifizieren kann, dass ein bestimmtes Paket von einer vertrauenswürdigen Quelle kommt und nicht beschädigt worden ist, wenn es zu der Empfangsvorrichtung weitergeleitet wird. Es ist vorgesehen, dass die Authentifizierung insbesondere wichtig ist, wenn Daten in einer Vorrichtung modifiziert werden, und somit können einige Ausführungsformen eine Authentifizierung nur in Bezug mit Befehlen vorsehen, die eine Modifikation der Daten bewirken.
  • Ein bevorzugtes Verfahren zum Übertragen von Daten an eine Zielvorrichtung mit Hilfe eingekapselter Pakete verwendet eingekapselte Datenpakete, die einen Datenblock, einen Identifizierer, der den Datenblock auf eine Speicherposition in einem Speicherbereich der Zielvorrichtung abbildet und ein Token (oder eine Gruppe von Token), die durch die Zielvorrichtung verwendet wird, um festzustellen, ob der Befehl ausgeführt wird, umfasst. In einigen Fällen wird das Verfahren nur angewendet, wenn der auszuführende Befehl einem Befehl entspricht, der bewirkt, dass die Zielvorrichtung die Inhalte der Speicherposition mit den Inhalten des Datenblocks des eingekapselten Pakets ersetzt. In bevorzugten Ausführungsformen werden Speicherbereiche bestimmten Vorrichtungen zugeordnet, und ein Befehl wird nur ausgeführt, wenn die Quelle des Befehls der Vorrichtung, die mit einem von dem Befehl betroffenen Speicherbereich zugeordnet ist, entspricht. In einigen Ausführungsformen kann die Zielvorrichtung eine Anzahl von von einer bestimmten Quelle empfangenen Befehlen aufnehmen und das Ausführen der Befehle anhalten, nachdem eine bestimmte Anzahl von Befehlen von dieser Quelle empfangen worden ist.
  • Es ist vorgesehen, dass Token abgeleitet werden können, indem eine Kombination von mindestens einem der Folgenden verwendet wird: MAC-Adresse der Befehlsquelle, MAC-Adresse der Zielvorrichtung, der Speichereinheit-Identifizierer und der Speicherbereich-Identifizierer. Die Verwendung des Speichereinheit- und/oder des Speicherbereich-Identifizierers, um das Token abzuleiten, ermöglicht es, dass eine Zielvorrichtung überprüft, dass jeder dieser Identifizierer nicht manipuliert worden ist, da das Token ursprünglich abgeleitet wurde. Das Akzeptieren eines Befehls, der von einer bestimmten Quelle bereitgestellt wird, kann in einigen Fällen teilweise von einer Berechnung abhängen, die einen Schlüssel berücksichtigt, der zuvor von der Quelle an die Zielvorrichtung bereitgestellt wird.
  • Es ist bevorzugt, dass das Akzeptieren eines bestimmten Tokens als Authentifizierung der Quelle eines Befehls nicht von einer vorherigen oder nachfolgenden Akzeptanz von weiteren Tokens abhängt und dass ein bestimmtes Token nur einmal verwendbar ist, um eine Quelle in der Zielvorrichtung zu authentifizieren. Es ist auch bevorzugt, dass zu einem vorgegebenen Zeitpunkt eine Mehrzahl von Token für das Authentifizieren, dass ein Befehl von einer bestimmten Quelle empfangen wurde, verfügbar ist.
  • Externer Zugriff auf internen Speicher
  • Vorrichtungen, die externe Netzwerkadressen verwenden, um auf interne Speicherbereiche (NAIS-Vorrichtungen) zuzugreifen, sind insbesondere gut angepasst, um als Elemente einer disaggregierten Komponente zu arbeiten. Insbesondere implementieren bevorzugte Vorrichtungen ein segmentiertes Speichermodell, so dass der Speicher, der durch solche Vorrichtungen bereitgestellt wird, als in Speicherbereiche und die Speicherbereiche als in Speicherblöcke unterteilt angesehen werden können, wobei jeder Speicherbereich einer Netzwerkadresse zugeordnet ist, und wobei jeder Speicherblock innerhalb eines Speicherbereichs einem Identifizierer zugeordnet ist, der für den Speicherbereich eindeutig ist. Netzwerkverkehr, der mit einer beliebigen momentan einem Speicherbereich einer Vorrichtung zugeordneten Adresse adressiert wird, wird durch die Vorrichtung aufgenommen und in geeigneter Weise verarbeitet. Somit kann eine einzelne Netzwerkadresse verwendet werden, um sowohl ein Paket über ein Netzwerk an eine Vorrichtung zu routen, als auch in der Vorrichtung an einen bestimmten Speicherbereich zu routen.
  • Bevorzugte NAIS-Vorrichtungen haben die Fähigkeit, Speicherbereiche zu alloziieren und sowohl einen Namen als auch eine Netzwerkadresse jedem alloziierten Speicherbereich zuzuordnen. In einigen Fällen ändert sich die zugeordnete Netzwerkadresse während einer Zeitdauer, während der Name im Wesentlichen für einen bestimmten Speicherbereich gleich bleibt, während der Speicherbereich alloziiert bleibt. Es ist vorgesehen, dass das Zuordnen eines Namens zu einem beliebigen alloziierten Speicherbereich es ermöglicht, einen Speicherbereich zu identifizieren, sogar wenn die Netzwerkadresse, die diesem Speicherbereich zugeordnet ist, sich geändert hat, seitdem der Speicherbereich alloziiert wurde. In bevorzugten Netzwerken werden Netzwerkadressen, die Speicherbereichen zugeordnet werden, dynamisch auf eine Weise zugeordnet, die derjenigen entspricht, die verwendet wird, um Netzwerkadressen Netzwerkschnittstellen zuzuordnen.
  • Disaggregierung
  • Die Verfahren und Vorrichtungen, die hierin beschrieben werden, sind insbesondere vorteilhaft, wenn die Vorrichtungen Elementen entsprechen, die aus Komponenten, wie z.B. persönlichen Videorecordern (PVRs), herausgenommen worden sind und mit einem Netzwerk verbunden werden, so dass sie von mehreren Vorrichtungen gemeinsam genutzt werden können. In solchen Fällen stellen die Elemente, obwohl sie nicht in einer Komponente eingebaut sein müssen, die Funktionalität eines eingebauten Elements zur Verfügung. Ein „disaggregierter" PVR umfasst üblicherweise ein Controller-Element und ein Speicherelement in dem Controller-Element, das mit dem Speicherelement über ein Netzwerk kommuniziert, das den Controller und die Speicherelemente miteinander verbindet und verwendet Netzwerkadressen, um auf Daten in einem Speicherbereich, der dem Controller-Element zugeordnet ist, zuzugreifen.
  • Spanning (Übergreifen)
  • Es ist vorgesehen, dass der Speicher, der von einer NAIS-Vorrichtung bereitgestellt wird, sich mehrere NAIS-Vorrichtungen übergreifen kann, insbesondere wenn die NAIS-Vorrichtung einer Speichervorrichtung (SD), einer Vorrichtung, die hauptsächlich dazu dient, Speicher für andere Vorrichtungen zur Verfügung zu stellen, entspricht. Als ein Beispiel kann eine erste SD, die eine Anfrage empfängt, Speicher für eine Vorrichtung alloziieren, keine ausreichende Kapazität haben, um der Anfrage nachzukommen. Wenn jedoch andere SDs verfügbare Kapazitäten zur Benutzung aufweisen, kann die erste SD einen Speicher in einem oder mehreren der anderen SDs alloziieren, um der Anfrage, die diese zuvor empfangen hat, nachzukommen. In einigen Fällen wird dies dadurch durchgeführt, indem die erste SD die anderen SDs steuert, so dass die Übertragungen, die Daten der SDs beeinträchtigen, immer durch die erste SD hindurchlaufen. In anderen Fällen können Multicast-Fähigkeiten des Netzwerks verwendet werden, so dass Übertragungen durch eine der anderen SDs laufen, ohne die erste SD zu durchlaufen.
  • Spiegeln
  • Es ist vorgesehen, dass Spiegeln und Unterstützung für andere Formen der Redundanz vorgesehen werden können, indem eine einzelne Anfrage von mehreren NAIS-SDs empfangen wird. In einigen Fällen kann eine Multicast-IP-Adresse Speicherbereichen auf verschiedenen SDs zugeordnet werden. Alternativ kann eine erste SD angewiesen werden, Pakete, die für eine zweite SD adressiert sind, zu erkennen, so dass Schreibanfragen (und möglicherweise Leseanfragen und andere Anfragen), die an die zweite SD gesendet werden, von der ersten SD verwendet werden, die in der zweiten SD gespeicherten Daten zu spiegeln. Bei einer weiteren Alternative können Sendepakete auf ähnliche Weise als Multicast-Pakete verwendet werden, dies ist jedoch eine weniger bevorzugte Option.
  • Vielfältige Aufgaben, Merkmale, Aspekte und Vorteile der vorliegenden Erfindung werden aus der nachfolgenden ausführlichen Beschreibung der bevorzugten Ausführungsformen der Erfindung gemeinsam mit den beigefügten Zeichnungen, in denen gleiche Bezugszeichen gleiche Komponenten angeben, offensichtlicher.
  • Kurzbeschreibung der Zeichnungen
  • 1 zeigt eine schematische Ansicht eines Split-id-Pakets.
  • 2 zeigt eine detaillierte Ansicht des Split-id-Pakets SID der 1.
  • 3 zeigt eine schematische Ansicht einer Ausführungsform des SID-Pakets der 1.
  • 4 zeigt eine schematische Ansicht einer Ausführungsform des SID-Pakets der 1.
  • 5 zeigt eine schematische Ansicht einer Ausführungsform des SID-Pakets der 1.
  • 6 zeigt eine schematische Ansicht einer Ausführungsform des SID-Pakets der 1.
  • 7 zeigt eine schematische Ansicht eines Speichermodells, das Multisegmentadressen verwendet.
  • 8A zeigt eine schematische Ansicht eines Speichersystems, das das Modell von SID4 verwendet.
  • 8B zeigt eine schematische Ansicht eines Speichersystems, das das Modell von SID4 verwendet.
  • 8C zeigt eine schematische Ansicht eines Speichersystems, das das Modell von SID4 verwendet.
  • 9 zeigt eine schematische Ansicht eines Speichersystems in einem IP-Netzwerk.
  • 10A zeigt eine schematische Ansicht eines mit Token versehenen Pakets.
  • 10B zeigt eine schematische Ansicht eines mit Token versehenen Pakets.
  • 10C zeigt eine schematische Ansicht eines mit Token versehenen Pakets mit dem Token in dem Steuerabschnitt eines gekapselten Pakets.
  • 11 zeigt eine schematische Ansicht eines PSAN-Pakets.
  • 12 zeigt eine schematische Ansicht eines mit Token versehenen PSAN-Pakets.
  • 13 zeigt eine schematische Ansicht eines Split-ID-PSAN-Pakets.
  • 14 zeigt eine schematische Ansicht eines mit Token versehenen, Split-ID-PSAN-Pakets.
  • 15 zeigt eine schematische Ansicht eines TRANSFER-Pakets.
  • 16 zeigt eine schematische Ansicht eines REQUEST-Pakets.
  • 17 zeigt eine schematische Ansicht eines REQUEST-LOCK-Pakets.
  • 18 zeigt eine schematische Ansicht eines ACK-Pakets.
  • 19 zeigt eine schematische Ansicht eines ERROR-Pakets.
  • 20 zeigt eine schematische Ansicht eines RELEASE-PARTITION-Pakets.
  • 21 zeigt eine schematische Ansicht eines GO-TRANSFER-Pakets.
  • 22 zeigt eine schematische Ansicht eines GO-REQUEST-Pakets.
  • 23 zeigt eine schematische Ansicht eines GO-REQUEST-LOCK-Pakets.
  • 24 zeigt eine schematische Ansicht eines FIND-Pakets.
  • 25 zeigt eine schematische Ansicht eines FIND-RESPONSE-Pakets.
  • 26 zeigt eine schematische Ansicht eines NAME-RESOLUTION-REQUEST-Pakets.
  • 27 zeigt eine schematische Ansicht eines NAME-RESOLUTION-RESPONSE-Pakets.
  • 28 zeigt eine schematische Ansicht eines SET-MULTICAST-IP-Pakets.
  • 29 zeigt eine schematische Ansicht eines RELEASE-MULTICAST-IP-Pakets.
  • 30 zeigt eine schematische Ansicht eines SET-LBA-OFFSET-Pakets.
  • 31 zeigt eine schematische Ansicht einer gemeinsamen genutzten NAIS-Speichervorrichtung.
  • 32 zeigt eine schematische Ansicht von NAIS-Speichervorrichtungen mit übergreifendem alloziierten Speicher.
  • 33 zeigt eine schematische Ansicht einer gespiegelten NAIS-Speichervorrichtung.
  • 34 zeigt eine schematische Ansicht einer RAID-Vorrichtung, die mithilfe von NAIS-Speichervorrichtungen implementiert ist.
  • 35 zeigt eine schematische Ansicht eines PC-Netzwerks, das eine gemeinsame NAIS-Vorrichtung umfasst.
  • 36 zeigt eine schematische Ansicht eines Heimunterhaltungssystems, das NAIS-Vorrichtungen umfasst.
  • 37 zeigt eine schematische Ansicht eines digitalen Einzelbild- und Videofotografiersystems, das NAIS-Vorrichtungen umfasst.
  • Ausführliche Beschreibung
  • Wie nachfolgend ausführlicher beschrieben wird, umfassen bevorzugte Protokolle ein oder mehrere mit Token versehene Pakete, Split-id-Pakete ("SID-Pakete") oder atomare Pakete. Ein mit Token versehenes Paket entspricht einfach einem Paket, das ein Authentifizierungs-Tokenumfasst. Ein Split-id-Paket entspricht einem Paket, das ein einkapselndes und ein eingekapseltes Paket umfasst, wobei das Split-id-Paket ebenfalls einen Identifizierer umfasst, der so aufgeteilt ist, dass ein Abschnitt des Identifizierers von dem eingekapselten Paket erhalten wird, während ein weiterer Abschnitt von dem einkapselnden Paket erhalten wird. Ein atomares Paket entspricht einem Paket, das in ausreichendem Maße in sich selbst enthalten ist, dass jeder Befehl, den es enthält, ausgeführt werden kann, ohne zunächst mit weiteren Daten von vergangenen oder künftigen Paketen kombiniert werden zu müssen. Ein am meisten bevorzugtes Protokoll umfasst ein oder mehrere atomare, mit Token versehene Split-id-Pakete ("ATSID-Pakete"), d.h. Pakete, die atomar sind, mit Token versehen sind und eine Split-id umfassen.
  • Split-ID-Pakete
  • Wie oben angegeben, entspricht ein SID-Paket einem Paket, das ein einkapselndes und ein eingekapseltes Paket umfasst, wobei das SID-Paket auch einen Identifizierer umfasst, der aufgeteilt ist, so dass mindestens ein Segment des Identifizierers in dem eingekapselten Paket angeordnet ist, während mindestens ein weiteres Segment in dem einkapselnden Paket angeordnet ist. Mit Bezug auf 1 umfasst das SID-Paket 100 eine Split-id ("SID") 130. In vielen Ausführungsformen umfassen sowohl das einkapselnde als auch das eingekapselte Paket Steuerabschnitte, und die SID-Segmente werden in diesen Steuerabschnitten angeordnet. Mit Bezug auf 2 umfasst ein SID-Paket 200 einen Steuerabschnitt 210 und einen Datenabschnitt 220, die ein Paket 250 umfassen. Das Paket 250 umfasst einen Steuerabschnitt 260 und einen Datenabschnitt 270, wobei die Segmente 231 und 232 des SID 130 zwischen dem Steuerabschnitt 210 und dem Steuerabschnitt 260 aufgeteilt sind.
  • Es soll angemerkt werden, dass ein SID mehr als zwei Segmente umfassen kann. Wie in 3 gezeigt ist, kann das SID 130 zwei oder mehr als zwei Segmente in dem Steuerabschnitt 310 und ein einzelnes Segment in dem Steuerabschnitt 350 umfassen. Wie in 4 gezeigt ist, kann das SID 130 zwei oder mehr als zwei Segmente in dem Steuerabschnitt 450 und ein einzelnes Segment in dem Steuerabschnitt 410 umfassen. Wie in 5 gezeigt ist, kann das SID 130 zwei oder mehr als zwei Segmente sowohl in dem Steuerabschnitt 510 als auch in dem Steuerabschnitt 550 umfassen. Das SID 130 kann auch auf mehrere mehrfach gekapselte Pakete aufgeteilt sein. Wie in 6 gezeigt ist, umfasst das SID 130 mindestens drei Segmente, die zwischen den Steuerabschnitten von mindestens drei Paketen aufgeteilt sind, wobei mindestens ein Segment in jedem der mindestens drei Pakete angeordnet ist.
  • SID-Pakete können in vorteilhafter Weise für die Kommunikation zwischen zwei Vorrichtungen verwendet werden, die ein Speichermodell implementieren, in dem Multisegmentadressen Speicherpositionen identifizieren. Ein solches Speichermodell ist in 7 angegeben. In 7 ist ein Speichersystem 700 in Speicherbereiche 710 bis 740 aufgeteilt und jeder Speicherbereich ist in Speicherblöcke (1 bis 3 im Bereich 710, 1 bis 4 im Bereich 720, 1 bis 2 im Bereich 730 und 1 bis 3 im Bereich 740) unterteilt. In dem Modell der 7 kann jeder bestimmte Speicherblock mit einer einzelnen Adresse, die zwei Segmente, ein Speicherbereichsegment und ein Speicherblocksegment umfasst, identifiziert werden. Eine Schreibweise einer Adresse, die Segmente X und Y umfasst, besteht darin, es in der Form (X, Y) zu schreiben. Somit würde Block 710 durch die Adresse (41,1), Block 713 durch die Adresse (41,3) und Block 743 durch die Adresse (44,3) identifiziert werden. Wenn SID-Pakete in Verbindung mit einem solchen Modell verwendet werden, kann der SID der Multisegmentadresse gleichgesetzt werden. In einer bevorzugten Ausführungsform würde das Speicherbereichssegment in dem Steuerabschnitt des einkapselnden Pakets angeordnet werden und das Speicherblocksegment würde in dem Steuerabschnitt des eingekapselten Pakets angeordnet sein. Somit könnte die hierin für Multisegmentadressen verwendete Schreibweise auch für Split-IDs verwendet werden.
  • Es sollte angemerkt werden, dass bei einigen Ausführungsformen das Modell 700 eng mit der physikalischen Struktur der Speichervorrichtung verbunden ist, während bei anderen Ausführungsformen das Modell 700 einfach einem logischen Konstrukt entsprechen kann, das auf ein System aufgesetzt ist, das eine vollständig dissimilare Struktur aufweist. Als ein Beispiel einer eng verbundenen Implementation kann das Modell 700 verwendet werden, um den Speicherplatz einer einzelnen Festplatte mit Speicherbereichen 710 bis 740, die Partitionen auf der Festplatte entsprechen, zu beschreiben. Bei einer solchen Implementation würde das Speicherbereichsegment einer Split-ID, die einen Block identifiziert, wahrscheinlich einem Partitions-Identifizierer entsprechen und das Speicherblocksegment würde wahrscheinlich einer logischen Blockadresse entsprechen, die dem Block innerhalb der Partition zugeordnet ist. In einer weniger eng verbundenen Implementation kann der Speicherbereich 700 einen Speicher umfassen, der durch mehrere separate Vorrichtungen bereitgestellt wird, die an getrennten Orten angeordnet sind, wie z.B. ein Speichernetzwerk, das mehrere Speichervorrichtungen umfasst, die miteinander durch ein überörtliches Netzwerk verbunden sind. Die tatsächliche physikalische Struktur der Speichervorrichtung, die ein Multisegment-Speichermodell implementiert, ist im Allgemeinen nicht von Belang, solange sie ein Multisegment-Adressieren unterstützt und somit in vorteilhafter Weise Split-ID-Pakete verwendet, um zu kommunizieren.
  • Die Verwendung des SID-Pakets ist insbesondere vorteilhaft, wenn das Speichermodell in einem Speichersystem implementiert wird, das mit einem Netzwerk verbunden ist, wobei jedes ihrer Speicherbereiche einer Netzwerkadresse zugeordnet ist und das Speichersystem ausgebildet ist, um Pakete zu überprüfen, die Netzwerkadressen, die den Speicherbereichen in dem Speichersystem zugeordnet sind, zu überprüfen. Wie in 8 gezeigt ist, ist das Speichersystem 800 mit dem Netzwerk 890 über die Netzwerkschnittstelle 801 verbunden. Der Speicher, der durch das System 800 bereitgestellt wird, umfasst alloziierte Bereiche 810B und 810D und nicht alloziierte Bereiche 810A, 810C und 810E. Die Netzwerkschnittstelle 801 ist der Netzwerkadresse 50 zugeordnet. Der Speicherbereich 810B ist der Netzwerkadresse 51 zugeordnet. Der Speicherbereich 810D ist einer Netzwerkadresse 52 zugeordnet. Ein Speicherblock 821 wird durch die ID (51,1) identifiziert, Block 822 durch die ID (51,3), Block 823 durch ID (52,1) und Block 824 durch ID (52,2). Somit sind dem Speichersystem 800 drei Netzwerk-IDs zugeordnet, von denen zwei den Speicherbereichen zugeordnet sind. Jedes Paket mit einer Zieladresse von 50, 51 oder 52 sollte durch das System 800 überprüft werden, wobei Pakete, die mit den Adressen 51 und 52 adressiert sind, verwendet werden, um die Inhalte der Speicherbereiche 810B bzw. 810D zu manipulieren. In alternativen Ausführungsformen kann ein Speichersystem Mehrfachverbindungen zu einem Netzwerk umfassen, wie in den 8B und 8C gezeigt ist. In 8B ist das System 800B mit einem Netzwerk 890B über die Netzwerkschnittstellen 802A und 802B verbunden. Die Netzwerkadresse 50 ist einer Schnittstelle 802A, die Adresse 51 802B und die Adresse 53 dem alloziierten Speicherbereich 810F zugeordnet. Block 825 wird durch ID (53,1) und Block 826 durch ID (53,2) identifiziert. In 8C ist das System 8000 mit einem Netzwerk 890C über Netzwerkschnittstellen 803A, 803C und 803E verbunden und weist drei alloziierte Speicherbereiche, 810G, 810H und 810J und sechs Netzwerkadressen 50 bis 55 auf. Die Netzwerkadresse 50 ist der Schnittstelle 803A, 52 803B, 54 803C, 51 dem Speicherbereich 810J, 53 dem Speicherbereich 810H und 55 810G zugeordnet. Es sollte angemerkt werden, dass es in 8C eine Netzwerkschnittstelle für jeden Netzwerkspeicherbereich gibt. Obwohl eine solche Ausführungsform eine weniger bevorzugte ist, kann in einem solchen Fall eine einzelne Adresse jeder Kombination von Schnittstellen und Speicherbereich zugeordnet sein, so dass die Adressen 51, 53 und 55 nicht benötigt werden.
  • Es sollte angemerkt werden, dass die Speichersysteme 800A, 800B und 800C Netzwerkadressen verwenden, um auf interne Speicherbereiche zuzugreifen. Vorrichtungen, die Netzwerkadressen verwenden, um auf interne Speicherbereiche (NAIS-Vorrichtungen) zuzugreifen, sind nicht auf Speichersyteme und Vorrichtungen begrenzt. Als ein Beispiel kann eine NAIS-Vorrichtung, wie z.B. eine digitale Kamera, einfach einen internen Speicher umfassen, der von anderen Vorrichtungen zugreifbar ist. Obwohl er Speicher enthält, besteht der Hauptzweck der digitalen Kamera nicht darin, Speicher für andere Vorrichtungen zur Verfügung zu stellen, und aufgrund der begrenzten Größe des Speichers würde sie üblicherweise in dieser Funktion nicht gut funktionieren. Wenn jedoch die Kamera eine NAIS-Vorrichtung ist, kann eine weitere Vorrichtung in der Lage sein, mithilfe der hierin beschriebenen Verfahren auf die Inhalte des Speichers in der Kamera zuzugreifen und/oder zu manipulieren.
  • Es ist momentan vorgesehen, dass die Verwendung von SID-Paketen am vorteilhaftesten ist, wenn das Speichermodell in einer NAIS-Vorrichtung, wie z.B. ein Speichersystem, das mit einem IP-Netzwerk verbunden ist, implementiert wird und die Netzwerkadressen, die den Speicherbereichen zugeordnet sind, IP-Adressen sind. In 9 umfasst ein Speichersystem 900 eine Netzwerkschnittstelle 901 und alloziierte Speicherbereiche 910A und 910B und ist mit einem IP-Netzwerk 990 verbunden. Die Netzwerkschnittstelle 901 ist einer MAC-Adresse 00:0A:B1:01:FC:22 und der IP-Adresse 3.3.3.3 zugeordnet. Der Speicherbereich 910A ist der IP-Adresse 3.3.3.4 und 910B der Adresse 3.3.3.5 zugeordnet worden. Ein Speicherblock 910 wird durch die ID (3.3.3.4,1) identifiziert und Block 914 durch ID (3.3.3.4,4). Für Speichervorrichtungen, die in IP-Netzwerken gespeichert sind, kann die Netzwerkadresse der Netzwerkschnittstellen und/oder der Speicherbereiche dynamisch alloziiert werden. Als ein Beispiel kann ein Netzwerkadress-Server, wie z.B. ein DHCP-Server, verwendet werden, um dynamisch IP-Adressen zu alloziieren.
  • In einigen Fällen kann ein Speichermodell drei oder mehrere Niveaus der Trennung umfassen und eine ID verwenden, die drei oder mehrere Segmente umfasst, um einen bestimmten Speicherblock zu identifizieren. Wenn in solchen Fällen das Netzwerk eine Adressierungshierarchie unterstützt, kann diese Hierarchie teilweise oder vollständig verwendet werden, um Blöcke in ähnlicher Weise zu identifizieren. Somit könnte eine Vorrichtung, die mit einem Netzwerk, auf dem IP- und UDP-Pakete verwendet werden, verbunden ist, IP-Adressen Gruppen von Speicherbereichen und UDP-Portnummern jedem Speicherbereich innerhalb einer Gruppe von Speicherbereichen zuordnen. Alternativ könnte eine einzelne IP-Adresse als Adresse mit vier Segmenten angesehen werden, wobei jedes Segment dabei hilft, einen bestimmten Speicherbereich auf ähnliche Weise zu identifizieren, wie IP-Adressen verwendet werden, um Vorrichtung innerhalb Unter-Netzwerken zu identifizieren.
  • In einigen Ausführungsformen dienen die Abschnitte eines Protokolls, das Split-ID-Pakete betrifft, als Erweiterungen zu dem Protokoll des einkapselnden Pakets, da eine Split-id erfordert, dass die Steuerabschnitte sowohl des einkapselnden als auch des eingekapselten Pakets verfügbar sind, um den Wert der Split-id festzustellen. Dies ist insbesondere der Fall, wenn die Steuerabschnitte von Paketen als Kopfabschnitte implementiert werden, auf die der Datenabschnitt des Pakets folgt, so dass der Kopfabschnitt des eingekapselten Pakets unmittelbar auf den Kopfabschnitt des einkapselnden Pakets folgt. Es ist vorgesehen, dass bei einigen Ausführungsformen eine Multisegmentadresse verwendet werden kann, um Speicherpositionen zu identifizieren, bei denen die Multisegmentadresse Teil des Steuerabschnittes eines einzelnen Pakets ist, wie z.B. einem IP-Paket. Somit kann das gleiche Speichermodell und ein Multisegmentadressieren implementiert werden, indem der Speicherblock-Identifizierer dem Kopfabschnitt eines IP-Pakets hinzugefügt wird, wobei der Zieladressabschnitt des IP-Kopfabschnittes einer IP-Adresse entspricht, die einer Speicherposition zugeordnet ist.
  • Mit Token versehene Pakete
  • Wie oben angegeben, entspricht ein mit Token versehenes Paket einfach einem Paket, das ein Authentifizierungs-Token umfasst, wobei ein Authentifizierungs-Token einem Wert oder einer Gruppe von Werten entspricht, die verwendet werden, um die Quelle des Pakets und/oder mindestens ein Teil der Inhalte des Pakets zu authentifizieren. 10A zeigt ein mit Token versehenes Paket 1000A, das ein Token 1040 umfasst. 10B zeigt ein mit Token versehenes Paket 1000B, das mindestens zwei mit Token versehene Segmente 1041 und 1042 umfasst. In bevorzugten Ausführungsformen stellt das Token einen Teil des Steuerabschnittes eines gekapselten Pakets, das in 10C gezeigt ist, dar. In 10C umfasst das Paket 1000C einen Steuerabschnitt 1010 und einen Datenabschnitt 1020, wobei der Datenabschnitt 1020 ein gekapseltes Paket mit einem Steuerabschnitt 1030 und einem Datenabschnitt 1035 umfasst, und das Token 1040C ist innerhalb des Steuerabschnittes 1030 angeordnet.
  • Es ist bevorzugt, dass die Authentifizierungs-Token mit Hilfe eines oder mehreren Algorithmen und/oder Datenwerten auf eine Weise erzeugt werden, die wahrscheinlich verhindert, dass nicht autorisierte Vorrichtungen Token generieren, die dazu führen, dass nicht gültige Pakete als gültig akzeptiert werden. Ungültige Pakete entsprechen Paketen, die aus einer anderen Quelle stammen als einer Quelle, die in einem Token identifiziert ist ("falsche Pakete") oder Datenwerte umfasst, die anscheinend von der Quelle bereitgestellt werden, jedoch nicht Werten entsprechen, die dem Paket durch die in dem Token identifizierte Quelle hinzugefügt wurden ("korrupte Pakete"). Bei einigen Ausführungsformen können Token einer verschlüsselten Gruppe von Daten entsprechen, die mithilfe eines zuvor von der Quelle bereitgestellten Schlüssels entschlüsselt werden. In anderen Fällen können Teile des validierten Paketes als ein Schlüssel verwendet werden, um das Token zu entschlüsseln. Es sollte angemerkt werden, dass andere Verschlüsselungsmechanismen oder nicht verschlüsselte Token auch verwendet werden können. Als ein Beispiel kann bei einer weniger bevorzugten Ausführungsform ein Token einfach eine nicht verschlüsselte Datenkette umfassen, durch die eine Vorrichtung, die ein Paket empfängt, angewiesen worden ist, diese der Quellvorrichtung zuzuordnen. Wenn das Token mit der Datenkette, die zuvor der Zielvorrichtung bereitgestellt worden ist, übereinstimmt, wird das Paket als gültig akzeptiert.
  • Atomare Pakete
  • Wie oben angegeben, entspricht ein atomares Paket einem Paket, das in ausreichendem Maß in sich selbst enthalten ist, so dass jeder Befehl, den es enthält, ausgeführt werden kann, ohne dass es zuerst mit Daten von voraus gegangenen oder künftigen Paketen kombiniert werden muss. Atomarität erhält man hierin durch Begrenzen des Datentransfers auf einen einzigen Speicherblock und durch Einfügen eines Positions-Identifizierers in jedes Paket, das verwendet wird, um einen Speicherblock zu übertragen.
  • ATSID-Pakete
  • Wie oben angegeben, entspricht ein ATSID-Paket einem Paket, das atomar ist, mit Token versehen ist und eine Split-id umfasst und die vorangehenden Erörterungen bezogen auf atomar, mit Token versehen und Split-ID-Pakete sind im Allgemeinen für ATSID-Pakete gültig. Es ist vorgesehen, dass ATSID-Pakete insbesondere vorteilhaft sind, wenn diese auf Datenübertragungspakete angewendet werden, wie z.B. solche, die einen Befehl umfassen, der eine Vorrichtung anweist, den Inhalt eines Datenblockes mit den Inhalten des Datenabschnittes des Pakets zu ersetzen oder Pakete, die auf eine Anfrage nach Daten von einer weiteren Vorrichtung erzeugt werden. In jedem Fall ist es bevorzugt, dass ein ATSID-Paket verwendet wird, um Daten zu übertragen. Wie mit Bezug auf die obigen bevorzugten Ausführungsformen beschrieben ist, umfasst ein ATSID-Paket ein erstes Paket, das ein zweites Paket einkapselt, wobei ein Token in dem Steuerabschnitt des eingekapselten Pakets enthalten ist und eine Multisegmentadresse zwischen dem Steuerabschnitt des einkapselnden Pakets und der Steuerabschnitt des eingekapselten Pakets aufgeteilt ist.
  • PSAN-Protokoll
  • Ein bevorzugtes Speicherbereichnetzwerk-("SAN")-Protokoll umfasst Kombinationen von ATSID-Paketen, mit Token versehenen Paketen, Split-ID-Paketen und umfasst auch die oben beschriebenen Merkmale, wie z.B. Paketatomarität, Blind-ACKs, NAT-Bridging, Sperren, Mehrpunkt-Übergreifen und Spiegeln und Authentifizierung. Es ist bevorzugt, dass das hierin als "PSAN-Protokoll" bezeichnete Protokoll mehrere Unterprotokolle, wie z.B. ein Blockübertragungsprotokoll und ein Namen-Auflösungs-Sendeprotokoll (Name Resolution Broadcast Protocol) umfasst. Die PSAN-Unterprotokolle können als Gruppen von Regeln angesehen werden, die bei der Bildung und Interpretation von Paketen verwendet werden, sowie die Software und/oder Hardware, die von einer bestimmten Vorrichtung verwendet werden, um diese Regeln auszuführen, wenn mit anderen Vorrichtungen kommuniziert wird. In einigen Fällen kann eine Vorrichtung nur eine Untergruppe der PSAN-Unterprotokolle implementieren.
  • Das PSAN-Protokoll wird vorzugsweise auf eine Weise implementiert, bei der Pakete 1100 (siehe 11), die gemäß dem PSAN-Protokoll ("PSAN-Pakete") gebildet werden, einen Steuerabschnitt 1110 und möglicherweise einen Datenabschnitt (Datenabschnitt 1120 in der Ausführungsform der 11) aufweisen, wobei der Steuerabschnitt 1110 als ein Kopfabschnitt implementiert wird, der, wenn anwendbar, von dem Datenabschnitt 1120 gefolgt ist. Der Steuerabschnitt jedes PSAN-Pakets umfasst einen Befehl 1101, der das Format des Restes des Steuerabschnitts des Pakets und die Funktion des Pakets identifiziert. In bevorzugten Ausführungsformen umfasst der Befehlswert die ersten Bits eines Pakets und vorzugsweise das erste Byte (8 Bit) des Pakets, wobei jedoch alternative Ausführungsformen den Befehlswert anders anordnen können.
  • In einigen Fällen kann der Befehl 1101 als zum "Ausführen" angesehen werden, dadurch dass eine Empfangsvorrichtung den Wert des Befehls evaluiert und abhängig von diesem Wert einen äquivalenten Befehl oder Gruppe von Befehlen ausführt. Somit kann ein Paket als ein Befehl angesehen werden, da dieses als ein Befehl für eine Empfangsvorrichtung bearbeitet wird, um einen bestimmten Verfahrensschritt oder Gruppe von Verfahrensschritten vorzunehmen.
  • Da das Format des Steuerabschnittes eines bestimmten Pakets anhand des Befehlswerts, den dieser enthält, bestimmt werden kann, wird auf die bereitgestellten Formate, die darin beschrieben sind, durch den entsprechenden Befehlswert oder genauer, den dem entsprechenden Befehlswert zugeordneten Namen Bezug genommen. Die nachfolgende Tabelle (Tabelle 1) identifiziert bevorzugte Werte für eine bevorzugte Gruppe von Befehlen:
    Figure 00210001
    Figure 00220001
    Tabelle 1
  • Es ist vorgesehen, dass einige Ausführungsformen des PSAN-Protokolls im Wesentlichen oder vollständig aus den in Tabelle 1 aufgeführten Befehlen bestehen, obwohl die tatsächlichen Werte für die Befehle von den gezeigten abweichen können.
  • Eine Mehrzahl der PSAN-Pakete und/oder Split-ID-Pakete werden mit Token versehen, wie in den 12 bis 14 gezeigt. In 12 umfasst ein Paket 1200 einen Befehl 1201 und ein Authentifizierungs-Token 1202. In bevorzugten Ausführungsformen umfasst ein Token 1202 ein ASCII 1202A gefolgt von einem Begrenzer 1202B. In 13 umfasst ein Paket 1300 einen Befehlswert 1301 und ein Segment einer Split-ID 1303. In 14 umfasst ein Paket 1400 einen Befehlswert 1401 und sowohl ein Token (1402A und 1402B) als auch ein Segment einer Split-ID 1403.
  • In bevorzugten Ausführungsformen werden PSAN-Pakete in Protokollpaketen eines niedrigeren Niveaus, wie z.B. als IP-UDP- oder IP-TCP-Pakete, gekapselt und ein zweites Segment von jedem PSAN-Split-ID-Paket umfasst die Netzwerkadresse des einkapselnden Pakets. In einer bevorzugtesteten Ausführungsform umfasst das zweite Segment eines Split-ID-Pakets die Ziel-IP-Adresse eines einkapselnden IP-Pakets.
  • In bevorzugten Ausführungsformen werden die Speicherblöcke eines Speicherbereichs einer Vorrichtung sequenziell auf eine Weise nummeriert, die ähnlich zu der Verwendung von logischen Blockadressen ("LBAs") in Plattenpartionen ist, und das Segment 1403 umfasst das Äquivalent des LBA des Speicherblockes innerhalb seines Speicherbereichs. Somit kann das Segment 1403 hierin als ein "LBA" bezeichnet werden, jedoch sollte in solchen Fällen beachtet werden, dass das Segment 1403 jedem Identifizierer entsprechen kann, der in Verbindung mit einem Segment, das in einem einkapselnden Paket gefunden wird, eindeutig einen Speicherblock identifiziert. Da die Netzwerkadresse bei einer bevorzugten Ausführungsform eine IP-Adresse umfasst, kann das Segment einer Split-ID, die in einem einkapselnden Paket gefunden wird, hierin als eine IP-Adresse bezeichnet werden, es sollte jedoch beachtet werden, dass in solchen Fällen das Segment, das in einem einkapselnden Paket angeordnet ist, jedem Identifizierer entsprechen kann, der in Verbindung mit Segment 1403 einen Speicherblock eindeutig identifiziert.
  • PSAN-Protokoll-Blockübertragung
  • Das PSAN-Blockübertragungsprotokoll besteht im Wesentlichen aus einem TRANSFER-Befehl, REQUEST-Befehl, einem REQUEST-LOCK-Befehl, einem RELEASE-PARTITION-Befehl, einem ACK-Befehl und einem ERROR-Befehl. In einer bevorzugten Ausführungsform umfasst das PSAN-Blockübertragungsprotokoll auch eine entsprechende Gruppe von "GO"-Befehlen, die verwendet werden, um eine weitere Vorrichtung zu veranlassen, TRANSFER-, REQUEST- und REQUEST-LOCK-Befehle an eine dritte Vorrichtung zu senden. Die GO-Befehle sind GO TRANSFER, GO REQUEST und GO REQUEST LOCK. Ausführungsformen, die ein Multicast (Mehrpunkt-Übertragung) unterstützen, umfassen auch einen SET-MULTICAST-IP-Befehl, einen RELEASE-MULTICAST-IP-Befehl und einen SET-LBA-OFFSET-Befehl. Bei bevorzugten Ausführungsformen entspricht der Wert jedes Befehls den Werten der Tabelle 1.
  • Ein bevorzugtes TRANSFER-Paket 1500 umfasst, wie in 15 gezeigt ist, sowohl einen Steuerabschnitt 1510 und einen Datenabschnitt 1520. Der Steuerabschnitt umfasst einen Befehl 1501, ein Token (1502A und 1502B) und einen LBA 1503. Das TRANSFER-Paket wird verwendet, um Daten entweder als ein "Schreiben" oder als eine Antwort auf ein REQUEST-Paket zu senden. Eingekapselte PSAN-TRANSFER-Pakete entsprechen ATSID-Paketen, da sie ein Token und eine Split-ID enthalten und atomar sind, da der Befehl des Pakets nur auf Daten, die in einem Datenabschnitt 1520 des Pakets enthalten sind, angewendet wird, wodurch TRANSFER-Pakete zu ATSID-Paketen werden.
  • Unabhängig ob er als ein anfängliches Schreiben oder als eine Antwort auf eine Anfrage erzeugt wird, hat das Ausführen eines TRANSFER-Befehls die gleiche Wirkung, d.h. das Ersetzen des Inhalts einer Speicherposition in der Empfangsvorrichtung mit den Inhalten des Datenabschnittes 1520 des Pakets. Ein PSAN-TRANSFER-Befehl ist vorzugsweise auf eine einzelne Speicherposition beschränkt und umfasst alle Daten, die die Speicherposition betreffen. Somit hängt der TRANSFER-Befehl nicht von irgendwelchen weiteren Paketen für die Ausführung ab. Die Übertragungen, die mehrere Speicherblöcke einschließen, werden, sogar wenn die Blöcke sequenziell sind, durch die Verwendung von Mehrfachübertragungs-Befehlen/Paketen mit einem Paket pro Speicherblock durchgeführt.
  • Wenn ein TRANSFER-Befehl von einer ersten Vorrichtung an eine zweite Vorrichtung gesendet wird, ist es vorteilhaft, die Größe des Datenabschnitts 1520 auf die Größe des kleineren der zwei Blockgrößen der Vorrichtungen einzustellen. Das Begrenzen der Paketdatenblockgrößen auf den kleinsten physikalischen Block einer Vorrichtung, zu der ein Paket gesendet wird, fuhrt oft zu einem Ansteigen der Gesamtleistungsfähigkeit, indem die Verarbeitungszeit bei dem Ziel verringert wird, sogar wenn das Vergrößern der Paketgröße bislang ein bevorzugtes Verfahren war, die Leistungsfähigkeit des Netzwerks zu erhöhen. In Fällen, in denen die physikalischen Blockgrößen zwischen zwei Kommunikationsvorrichtungen verschieden sind, kann das Kommunizieren eines Datenblocks an eine Vorrichtung für die nachfolgende Manipulation durch die Vorrichtung das Unterteilen des Datenblockes in Unterblöcke umfassen, wobei die Vorrichtung die Unterblöcke manipuliert, ohne zuerst den Block erneut zusammenzusetzen oder die Pakete umzuordnen.
  • Es sollte angemerkt werden, dass die Größe des Datenabschnittes der Rückübertragung kleiner ist als die maximal zulässige Größe für ein Datenpaket ansonsten zulassen würde. Ein Verringern der Größe des Datenblockes kann zu einer erhöhten Leistungsfähigkeit führen, indem eine Verarbeitung für das Senden und/oder Empfangen in einer Vorrichtung eliminiert wird und/oder indem die verwendete Zeit, während der auf zusätzliche zu empfangende Pakete gewartet wird, eliminiert wird.
  • Bei einer bevorzugten Ausführungsform wird ein TRANSFER-Befehl, der eine LBA mit dem Wert "0" umfasst, verwendet, um einen Speicherbereich an eine Vorrichtung zu alloziieren, wobei der Speicherbereich im Allgemeinen für eine Vorrichtung reserviert wird (einen "Client"), bis die Vorrichtung einen RELEASE-PARTITION-Befehl ausgibt. Einmal alloziiert, ist ein Speicherbereich vorzugsweise für keine Vorrichtung zugänglich, die nicht ein Token bereitstellt, die ihren Zugang autorisiert, so dass eine Vorrichtung, die anfordert, dass ein Speicherbereich alloziiert wird, den Zugriff auf die alloziierte Partition steuert. In einigen Fällen benötigt die Alloziierung keine Validierung der Quelle des Pakets und somit kann das Token einen NULL-Wert umfassen. Bei bevorzugten Ausführungsformen umfasst der Datenabschnitt des TRANSFER-Befehls, der verwendet wird, um einen Speicherbereich zu alloziieren, einen Namen, ein Token, eine ID-Zeichenkette, Authentifizierungs-Tags, Partitionsgröße und Personalitäts-Tags.
  • Der Name ist vorzugsweise eine Zeichenkette oder ein anderer eindeutiger Identifizierer, der mit einem alloziierten Speicherbereich zusätzlich zu irgendwelchen zugeordneten IP-Adressen zugeordnet werden soll. Es ist bevorzugt, dass IP-Adressen zu dynamischen Speicherbereichen alloziiert werden. Somit erfordert das Zugreifen auf einen Speicherbereich im Allgemeinen zuerst ein Identifizieren der IP-Adresse, die diesem Speicherbereich zugeordnet ist. Durch Angeben eines Namens, wenn die Alloziierung eines Speicherbereichs angefragt wird, kann der bestimmte Name zu einem späteren Zeitpunkt verwendet werden, um die IP-Adresse, die diesem Speicherbereich zugeordnet ist, zu bestimmen, sogar wenn die IP-Adresse nicht der ursprünglich dem Speicherbereich zugeordneten IP-Adresse entspricht.
  • Das Token entspricht einem Token, wie es zuvor mit Bezug zu mit Token versehenen Paketen beschrieben ist. Die ID-Zeichenkette entspricht einem öffentlichen Partitionsnamen, der verwendet wird, um beschreibenden Text in Alloziierungsstatus-Antworten zur Verfügung zu stellen. Die Authentifizierungs-Tags entsprechen einer Gruppe von Tags, die verwendet werden, um den Typ der für den alloziierten Speicherbereich in Kraft zu setzende Authentifizierung zu definieren. Die Partitionsgröße entspricht einfach der Speichermenge, nach der eine Vorrichtung für die Alloziierung anfragt. Die Personalitäts-Tags entsprechen einer Gruppe von Werten, die vielfältige durch eine Speichervorrichtung bereitgestellte Optionen für einen alloziierten Speicherbereich, wie z.B. eine Einmal-Schreib-Partitionierung oder Bandbreiten-Alloziierung, bereitstellen.
  • Ein bevorzugtes REQUEST-Paket 1600 umfasst, wie in 16 gezeigt, einen Steuerabschnitt 1610. Der Steuerabschnitt umfasst einen Befehl 1601, ein Token (1602A und 1602B) und eine LBA 1603. Ein REQUEST-Befehl wird von einer Sendevorrichtung verwendet, um anzufragen, dass eine Empfangsvorrichtung die Inhalte des Datenblocks, der durch die LBA identifiziert ist, und die IP-Adresse, die als die Zieladresse des einkapselnden IP-Pakets bereitgestellt wird, an die Empfangs-/Sendevorrichtung überträgt. Eine Vorrichtung, die ein REQUEST-Paket empfängt, antwortet mit einem TRANSFER-Paket.
  • Es sollte angemerkt werden, dass der Empfang eines TRANSFER-Pakets, das die gleiche LBA wie in REQUEST-Paket umfasst, als eine Bestätigung dient, dass ein REQUEST-Paket empfangen worden ist.
  • Auf ähnliche Weise muss die Vorrichtung, die das REQUEST-Paket empfangen hat und das TRANSFER-Paket gesendet hat, kein ACK-Paket von der Quelle des REQUESTS empfangen, da das Fehlen des Empfangens eines angefragten Pakets durch erneutes Senden des REQUEST-Pakets behandelt werden kann. Somit wird bei bevorzugten Ausführungsformen ein REQUEST erneut gesendet, wenn ein entsprechendes TRANSFER-Paket (d.h. mit derselben LBA) nicht innerhalb einer Zeitdauer empfangen worden ist.
  • Bei einer bevorzugten Ausführungsform wird ein REQUEST-Befehl, der eine LBA des Werts "0" umfasst, verwendet, um anzufragen, dass ein Vorrichtungsreport verfügbar ist. Bei bevorzugten Ausführungsformen kann eine Antwort auf eine solche Anfrage eine oder mehrere der folgenden Informationen umfassen: Version, Gesamtkapazität, verfügbare Kapazität, Geschwindigkeit, Zuverlässigkeit, Portabilität und QoS-Fähigkeit. In einigen Fällen müssen Statusanfragen keine Validierung der Quelle des Pakets erfordern und somit kann das Token einen NULL-Wert umfassen.
  • Bei einer bevorzugten Ausführungsform wird ein REQUEST-Befehl, der eine LBA mit dem Wert "1" und ein NULL-Token umfasst, verwendet, um anzufragen, dass eine Vorrichtung die Eigenschaften eines Speicherbereichs mitteilt. Bei bevorzugten Ausführungsformen umfasst jede Antwort auf eine solche Anfrage eine oder mehrere der folgenden Angaben: ID-Zeichenkette, und Größe, wobei die Größe der Größe des alloziierten Speicherbereichs entspricht, und wobei die ID-Zeichenkette der öffentlichen Zeichenkette entspricht, die als Teil der Alloziierungsanfrage bereitgestellt wird.
  • Ein bevorzugtes REQUEST-LOCK-Paket 1700 umfasst, wie in 17 gezeigt, einen Steuerabschnitt 1710. Der Steuerabschnitt umfasst einen Befehl 1701, ein Token (1702A und 1702B) und eine LBA 1703. Das Empfangen eines REQUEST-LOCK-Pakets instruiert eine Vorrichtung, sowohl den Inhalt eines bestimmten Speicherblocks (zusammen mit einem REQUEST-Paket) zu übertragen als auch seine Inhalte zu "sperren", d.h. jeden nachfolgenden Zugriff auf den Speicherblock zu verhindern, bis ein TRANSFER-Befehl von der Vorrichtung empfangen wird, die die Sperrung angefragt hat, oder bis ein Time-out auftritt. Wenn eine nachfolgende Anfrage von der gleichen anfragenden Vorrichtung nach dem gleichen Speicherblock empfangen wird, wird jeder Zähler, der die Time-out-Zeitdauer herunterzählt, zurückgesetzt, so dass die zweite Anfrage im Wesentlichen eine neue Sperrungsanfrage auslöst. In einigen Fällen kann eine Sperrung durch einen nachfolgenden Empfang eines REQUEST-(nicht ein REQUEST-LOCK-)-Befehl für den gleichen Speicherblock von der Vorrichtung, die die Sperrung angefragt hat, aufgehoben werden. In einigen Fällen kann ein REQUEST LOCK einen gesamten Speicherbereich und nicht nur einen einzelnen Speicherblock sperren.
  • Ein bevorzugtes ACK-Paket 1800 umfasst, wie in 18 gezeigt, einen Steuerabschnitt 1810. Der Steuerabschnitt umfasst einen Befehl 1801 und eine LBA 1803. Dieser Befehl bestätigt eine erfolgreiche Übertragung und muss nicht verwendet werden, wenn ein TRANSFER-Befehl nicht als Folge eines REQUEST-Befehls ausgegeben wird. In solchen Fällen ist der Empfang eines TRANSFER-Befehls wesentlich, um die Inhalte des Datenabschnittes des Pakets in den identifizierten Speicherblock zu schreiben. Ist dieser Prozess beendet, kann eine ACK-Nachricht an die Quelle des TRANSFER-Befehls gesendet werden, um zu kommunizieren, dass der Befehl ausgeführt worden ist.
  • Ein bevorzugtes ERROR-Paket 1900 umfasst, wie in 19 gezeigt ist, einen Steuerabschnitt 1910. Der Steuerabschnitt umfasst einen Befehl 1901, eine LBA 1903 und eine Fehlernachricht 1904, die einen Fehlercode 1904A, eine Textnachricht 1904B und einen Begrenzer 1904C umfasst. Ein ERROR-Paket wird verwendet, um anzugeben, dass eine angefragte Operation aus einem bestimmten Grund nicht abgeschlossen werden konnte und wird im Allgemeinen anstelle eines ACK- oder TRANSFER-Befehls als Antwort auf einen REQUEST- oder TRANSFER-Befehl gesendet. Die nachfolgenden Fehlernachrichten können in vorteilhafter Weise in einer bevorzugten Ausführungsform implementiert werden:
    Figure 00280001
    Tabelle 2
  • In einigen Fällen kann eine Ausführungsform des PSAN-Protokolls im Wesentlichen oder möglicherweise nur aus den Nachrichten, die in Tabelle 2 aufgeführt sind, bestehen.
  • Ein bevorzugtes RELEASE-PARTITION-Paket 2000 umfasst, wie in 20 gezeigt, einen Steuerabschnitt 2010. Der Steuerabschnitt umfasst einen Befehl 2001 und ein Token (2002A und 2002B). Der RELEASE-PARTITION-Befehl wird im Allgemeinen von einer Vorrichtung ausgegeben, die zuvor mithilfe eines TRANSFER-Befehls, wie er oben beschrieben ist, angefragt hat, dass eine Partition alloziiert wird. Das Ausführen eines RELEASE-PARTITION-Befehls umfasst im Allgemeinen das Löschen von Daten, die in dem Speicherbereich enthalten sind, das Freigeben der IP-Adresse, die diesem Speicherbereich zugeordnet ist, und ansonsten das Verfügbarmachen der Speicherblöcke in dem Speicherbereich für eine künftige Alloziierung.
  • Es ist bevorzugt, dass eine Vorrichtung in der Lage ist, Datenübertragungen zwischen zwei weiteren Vorrichtungen anzufragen, sogar solche, die durch eine Brücke, wie z.B. eine NAT-Brücke voneinander getrennt sind. Somit umfassen bevorzugte Ausführungsformen "GO"-Versionen der TRANSFER-, REQUEST- und REQUEST-LOCK-Pakete, wobei die GO-Versionen der Pakete ausgebildet sind, um die Information zur Verfügung zu stellen, die eine zweite Vorrichtung anfordern würde, um eine Übertragung zu einer dritten Vorrichtung durchzuführen.
  • Ein bevorzugtes GO-TRANSFER-Paket 2100 umfasst, wie in 21 gezeigt, einen Steuerabschnitt 2110 und einen Datenabschnitt 2120. Der Steuerabschnitt umfasst einen Befehl 2101, ein Token (2102A und 2102B), Split-ID-Segmente 2103, 2105 und 2107 und ein zweites Token 2106. Die Split-ID-Segmente 2103 und 2107 sind LBAs und das Segment 2105 entspricht einer IP-Adresse eines Speicherbereichs an einer dritten Vorrichtung, die mit einer LBA 2107 verwendet werden soll, um einen Speicherblock an der dritten Vorrichtung zu identifizieren. Die LBA 2103 ist mit der Ziel-IP-Adresse des GO-TRANSFER-Pakets verbunden, um einen Speicherblock in einem bestimmten Speicherbereich einer zweiten Vorrichtung zu identifizieren, die den GO-TRANSFER-Befehl empfängt. Nach dem Empfang eines GO-TRANSFER-Pakets von einer ersten Vorrichtung sendet eine zweite Vorrichtung einen TRANSFER-Befehl, der im Wesentlichen die Inhalte in dem durch die LBA 2103 identifizierten Block in den durch die IP-Adresse 2105 und den LBA 2107 identifizierten Block schreibt, wobei das zweite Token 2106 einen solchen Schreibvorgang autorisiert.
  • Ein bevorzugtes GO-REQUEST-Paket 2200 umfasst, wie in 22 gezeigt, einen Steuerabschnitt 2210. Der Steuerabschnitt umfasst einen Befehl 2201, ein Token (2202A und 2202B), Split-ID-Segmente 2203, 2205 und 2207 und ein zweites Token (2206A und 2206B). Die Split-ID-Segmente 2203 und 2207 entsprechen LBAs, und das Segment 2205 entspricht einer IP-Adresse eines Speicherbereichs an einer dritten Vorrichtung, die mit der LBA 2207 verwendet werden soll, um einen Speicherblock an der dritten Vorrichtung zu identifizieren. Der LBA 2203 ist mit der Ziel-IP-Adresse des GO-REQUEST-Pakets verbunden, um einen Speicherblock in einem bestimmten Speicherbereich einer zweiten Vorrichtung zu identifizieren, die das GO-REQUEST-Paket empfängt. Nach dem Empfang eines GO-REQUEST-Pakets von einer ersten Vorrichtung sendet eine zweite Vorrichtung einen REQUEST-Befehl, durch den angefragt wird, dass der Block, der durch die IP-Adresse 2205 und den LBA 2207 identifiziert wird, wobei das zweite Token (2206A und 2206B) eine solche Anfrage autorisiert, an die zweite Vorrichtung übertragen wird, die die übertragenen Daten verwendet, um die Inhalte des durch die LBA 2203 und die Ziel-IP-Adresse des GO-REQUEST-Pakets identifizierten Blocks zu ersetzen.
  • Ein bevorzugtes GO-REQUEST-LOCK-Paket 2300 umfasst, wie in 23 gezeigt, einen Steuerabschnitt 2310. Der Steuerabschnitt umfasst einen Befehl 2301, ein Token (2302A und 2302B), Split-ID-Segmente 2303, 2305 und 2307 und ein zweites Token (2306A und 2306B). Dieses Paket wird auf die gleiche Weise wie ein GO-REQUEST-Paket verwendet, stellt jedoch die zusätzlichen Merkmale zur Verfügung, die in einem REQUEST-LOCK-Befehl, der zuvor beschrieben ist, gefunden werden.
  • Ein bevorzugtes SET-MULTICAST-IP-Paket 2800 umfasst, wie in 28 gezeigt, einen Steuerabschnitt 2810, der einen Befehl 2801, ein Token (2802A und 2802B) und eine Multicast-IP-Adresse (oder eine andere Form einer Multicast-Adresse) 2809 umfasst. Das Paket wird verwendet, um eine Vorrichtung anzuweisen, dass sie die angegebene Multicast-IP-Adresse mit einem alloziierten Speicherbereich zuordnen sollte, so dass Pakete, wie z.B. das TRANSFER- und TRANSFER-REQUEST-Paket, die die zugeordnete Multicast-Adresse umfassen, auf den Speicherbereich, der der Multicast-Adresse zugeordnet ist, zugreifen können. In einigen Fällen verhindert das Einstellen einer Multicast-IP-Adresse die Verwendung einer Unicast-IP-Adresse, um auf einen einer Multicast-IP-Adresse zugeordneten Speicherbereich zuzugreifen. In weiteren Fällen kann ein Speicherbereich sowohl einer Unicast- als auch einer Multicast-IP-Adresse zugeordnet werden, so dass jede Adresse verwendet werden kann, um auf in dem Speicherbereich enthaltene Daten zuzugreifen. Nach dem Empfang eines SET-MULTICAST-IP-Pakets gibt eine Vorrichtung wahrscheinlich ein IP-Gruppenmanagement-Protokoll(IGMP)Verbindungsnachricht (IP Group Management Protocol Join Message) aus und antwortet danach auf IGMP-Anfragen.
  • Ein bevorzugtes RELEASE-MULTICAST-IP-Paket 2900 umfasst, wie in 29 gezeigt, einen Steuerabschnitt 2910, der einen Befehl 2901, ein Token (2902A und 2902B) und eine Multicast-IP-Adresse (oder eine andere Form einer Multicast-Adresse) 2909 umfasst. Eine Vorrichtung, die dieses Paket empfängt, wird die angegebene Multicast-IP-Adresse von jeder Partition, der es zuvor zugeordnet wurde, lösen.
  • Ein bevorzugtes SET-LBA-OFFSET-Paket 3000 umfasst, wie in 30 gezeigt, einen Steuerabschnitt 3010, der einen Befehl 3001, ein Token (3002A und 3002B) und ein LBA-Offset 3009 umfasst. Dieser Befehl wird verwendet, um eine LBA-Startadresse für einen Speicherbereich einzustellen. Somit wird in Fällen, bei denen die niedrigstwertige LBA für einen Speicherbereich andererseits „Eins" sein könnte, nach dem Empfang dieses Pakets der Offset-Wert spezifiziert.
  • Die Verwendung von Multicasting (Mehrpunkt-Übertragung), insbesondere IP-Multicasting und IGMP-Protokoll, was durch die SET-MULTICAST-IP- und RELEASE-MULTICAST-IP-Pakete, die zuvor beschrieben wurden, erleichtert wird, ist insbesondere vorteilhaft, wenn versucht wird, ein Spiegeln des Speicherbereichs zu implementieren. Einen ersten Speicherbereich auf einen zweiten Speicherbereich zu spiegeln, erfordert einfach, dass beide Speicherbereiche einer gemeinsamen Multicast-Adresse über den SET-MULTICAST-IP-Befehl einander zugeordnet werden. Nachfolgende vorgenommene TRANSFER-Befehle, die diese Adresse verwenden, führen zu Aktualisierungen der Daten, die in beiden Speicherbereichen enthalten sind.
  • Die Verwendung des Multicasting ist auch vorteilhaft, wenn eine Speichervorrichtung eine Anfrage empfängt, mehr Speicher zu alloziieren, als diese verfügbar hat. Bei einem derartigen Fall kann die Speichervorrichtung der Anfrage nachkommen, indem der anfragenden Vorrichtung einen Zugang zu einem virtuellen Speicherbereich, der vorrichtungsübergreifend ist, bereitgestellt wird, wobei mehrere Speicherbereiche bereitgestellt werden, um der Anfrage nachzukommen. Bei einem solchen Fall können die Partitionen, die verwendet werden, um der Anfrage nachzukommen, einer Multicast-IP-Adresse zugeordnet werden, und alle außer einer kann einem LBA-Offset (über den SET-LBA-OFFSET-Befehl) zugeordnet werden. Die Speichervorrichtungen, die die alloziierten Partitionen umfassen, würden dann die LBA jedes Pakets, das über die Multicast-Adresse empfangen wird, überprüfen und wenn die LBA des Pakets im Bereich der LBAs, die einem Speicherbereich zugeordnet sind, die dieses enthält, liegt, wird das Paket wie beabsichtigt benutzt.
  • PSAN-Protokoll-Sendenamenauflösung
  • Ein bevorzugtes FIND-Paket 2400 umfasst, wie in 24 gezeigt ist, einen Steuerabschnitt 2410 umfassend einen Befehl 2401. Das Paket wird als eine Sendeanfrage von einer anfragenden Vorrichtung ausgegeben, die eine IP-Adresse für jeden zugreifbaren Speicherbereich sucht. Jede Vorrichtung, die ein solches Sendepaket empfängt, das einen zugeordneten Speicherbereich umfasst, sollte mit einem oder mehreren FIND-RESPONSE-Paketen antworten, wobei ein FIND-RESPONSE-Paket von einer Vorrichtung für jeden alloziierten Speicherbereich dieser Vorrichtung gesendet wird.
  • Ein bevorzugtes FIND-RESPONSE-Paket 2500 umfasst, wie in 25 gezeigt, einen Steuerabschnitt 2510, der einen Befehl 2501 und eine IP-Adresse 2508 umfasst. Die IP-Adresse 2508 entspricht der IP-Adresse, die einem bestimmten Speicherbereich zugeordnet ist.
  • Ein bevorzugtes NAME-RESOLUTION-REQUEST-Paket 2600 umfasst, wie in 26 gezeigt, einen Steuerabschnitt 2610, der einen Befehl 2601 und einen Namen 2609 umfasst. Jede Vorrichtung, die einen alloziierten Speicherbereich umfasst, der dem Namen 2609 zugeordnet ist, sollte mit einem NAME-RESOLUTION-RESPONSE-Paket antworten, das die IP-Adresse, die momentan dem Speicherbereich zugeordnet ist, umfasst. Als Ergebnis kann eine Vorrichtung, die anfragt, dass ein Speicherbereich alloziiert wird, die momentane IP-Adresse, die dem Namen zugeordnet ist, erhalten, indem eine NAME-RESOLUTION-REQUEST mit dem in der Anfrage angegebenen Namen ausgegeben wird, um den Speicherbereich zu alloziieren.
  • Ein bevorzugtes NAME-RESOLUTION-RESPONSE-Paket 2700 umfasst, wie in 27 gezeigt, einen Steuerabschnitt 2710, der einen Befehl 2701, einen Namen 2709 und eine IP-Adresse 2708 umfasst. Ein NAME-RESOLUTION-RESPONSE-Paket wird infolge eines NAME RESOLUTION REQUEST, wie oben beschrieben, ausgegeben.
  • PSAN-Protokoll-Authentifizierung
  • Es ist bevorzugt, dass Ausführungsformen des PSAN-Protokolls zumindestens vier und in einigen Fällen mindestens fünf Niveaus der Paket-Authentifizierung unterstützt, so dass eine Vorrichtung, die ein PSAN-Protokoll implementiert, eines von mindestens sechs Niveaus von Sicherheit auswählen kann. Wie hierin beschrieben, entspricht das Niveau 0 dem niedrigsten Niveau der Authentifizierung und das Niveau 5 dem höchsten Niveau der Authentifizierung. Alle bevorzugten Ausführungsformen unterstützen zumindest die Niveaus 0 bis 2.
  • Eine Vorrichtung, die in Niveau 0 betrieben wird, würde jede Anfrage von jeder Quelle akzeptieren.
  • Eine Vorrichtung, die bei Niveau 1 betrieben wird, weist Pakete zurück, die einen Speicherbereich betreffen und von einer Quelle erhalten werden, die nicht dem Client, der ursprünglich den Speicherbereich alloziiert hat, entspricht. Eine solche Zurückweisung muss auf Quellen-Identifizierern basieren, die in einem empfangenen Paket, wie z.B. der Quellen-MAC oder IP-Adresse, die in dem Paket enthalten ist, enthalten sind. Die Verwendung einer MAC-Validierung stellt ein signifikantes Niveau für einen Hardwareschutz in einer Netzwerkschnittstellenkarte (NIC) vor dem Ausspähen von IPs zur Verfügung, begrenzt jedoch die Flexibilität, da nur ein Client auf den alloziierten Speicherbereich zugreifen kann. Sogar wenn ein Zugriff von nur einer einzelnen Vorrichtung wünschenswert ist, kann das Ersetzen dieser Vorrichtung zu Datenverlust führen, wenn kein Mechanismus zum Übertragen einer MAC-Adresse verfügbar ist. Die IP-Validierung stellt oft einen geringeren Schutz gegen Ausspähen zur Verfügung, da die Quellen-IP-Adresse eines Pakets einfacher manipuliert werden kann, jedoch ein einfacheres gemeinsames Nutzen der alloziierten Speicherbereiche ermöglicht. Leider ist durch einen bestehenden ausreichenden Zugang zu der Hardware und Software, die mit der Vorrichtung verbunden sind, ein Ausspähen von sowohl MAC- als auch IP-Adressen möglich.
  • Eine Vorrichtung, die bei Niveau 2 betrieben wird, verwendet rotierende Schlüssel, um zufällige oder bösartige Pakete von Clients, die nicht den Synchronisationskeim für den rotierenden Schlüssel enthalten, zurückzuweisen. Der rotierende Schlüssel entspricht einer speziellen Klasse von Schlüsseln, die es ermöglicht, dass dem Empfänger der Pakete ein variables Fenster von gültigen rotierenden Paketschlüsseln zur Verfügung gestellt wird. Einmal verwendet, kann kein Paketschlüssel in einer einzelnen Synchronisation erneut benutzt werden. Das Rotieren der Schlüssel innerhalb des gleitenden Fensters erfolgt, da jedes Paket bestätigt oder zeitlich begrenzt ist. Die Fensternatur dieses Schemas richtet sich an eine variable Gültigkeitsdauer, die für jede IP eindeutig ist und an eine Außer-der-Reihe-Paketflexibilität. Eine Synchronisation des rotierenden Schlüsselfensters des Empfängers wird aufrecht erhalten, da ein Gleitender-Durchschnitt-Fenster, in dem die empfangenen gültigen Pakete empfangen werden, verwendet wird, um die Position des Fensters des Empfängers zu berechnen.
  • Die Verwendung einer systolischen Verarbeitung der Paketschlüssel ermöglicht es, dass der Client die Länge des Schlüssels steuert und damit die maximale momentane Verarbeitungslast, die erforderlich ist, um die Paketschlüssel zu authentifizieren. Eine Authentifizierung wird weiterhin beschleunigt, indem die Paket-LBA verwendet wird, um die Paket-LBA in eine viel kleinere Gruppe von Schlüsseln innerhalb des gleitenden Fensters zu indexieren.
  • Eine Paketvalidierung mit rotierendem Schlüssel des Niveaus 2 stellt einen erheblich größeren Schutz zur Verfügung als Niveau 0 oder Niveau 1, während gleichzeitig eine größere Flexibilität bereitgestellt wird, Daten zwischen Clients gemeinsam zu nutzen. Sie berücksichtigt auch Sicherheitsfragen in besonderen Fällen, die bei Multicast-Paketen auftreten.
  • Neue Fenster werden jedes Mal erzeugt, wenn ein Client mit einer eindeutigen MAC oder IP eine Synchronisation durchführt. Jedes eindeutige Autorisierungsfenster kann unabhängig hinsichtlich der Fenstergröße, Lebensdauer und Schlüssellänge konfiguriert werden. Nicht verwendete Fenster werden freigegeben, wenn sie nach ihrer Lebensdauer ungebraucht verbleiben. Es sollte angemerkt werden, dass Multicast-Empfänger ihre eigenen Fenster aufweisen, wobei jedoch die Parameter des Fensters für alle Teilnehmer des Multicast identisch sind.
  • Der rotierende Schlüssel würde in optimaler Weise am Ende des Pakets angeordnet werden, so dass sichergestellt ist, dass alle Daten vor dem gültigen Schlüssel empfangen worden sind. Dies verhindert böswillige oder zufällige Manipulation der Daten in einem von einem gültigen Client gesendeten gültigen Paket.
  • Eine Vorrichtung, die in einem Niveau 3 betrieben wird, verwendet rotierenden Schlüssel und eine Hardware-MAC, um zufällige oder böswillige Pakete von Clients, die keinen Synchronisationskeim für den rotierenden Schlüssel aufweisen oder nicht dem ursprünglichen Client entsprechen, zurückzuweisen.
  • Der rotierende Schlüssel des Niveaus 3 mit der zusätzlichen Hardware-Paketvalidierung stellt den im Wesentlichen größten Schutz vor einem zufälligen oder böswilligen Zugriff auf eine Vorrichtung zur Verfügung. Das zusätzliche Niveau der Sicherheit über dem Niveau 2 fällt zu Lasten des gemeinsamen Zugriffs zwischen den Vorrichtungen. Dieses Sicherheitsniveau ist hauptsächlich für einen Hochsicherheitszugriff zwischen zwei Vorrichtungen gedacht.
  • Eine Vorrichtung, die bei Niveau 4 betrieben wird, fügt einen Daten-Authentifizierungs-Code (DAC: Data Authentication Coding) den Niveaus 0 bis 3 des Transportmechanismus hinzu, um es dem Empfänger zu ermöglichen, zu überprüfen, dass die LBA und die Daten nicht zufällig oder böswillig bei der Übertragung modifiziert werden. Es ist vorgesehen, dass jeder bekannte oder noch zu entwickelnde DAC-Algorithmus für diesen Zweck verwendet werden kann.
  • Eine Vorrichtung, die bei Niveau 5 betrieben wird, fügt eine Verschlüsselung der LBA den Niveaus 0 bis 4 hinzu. Niveau-5-Operationen erfordern, dass der LBA eines Pakets durch die Verwendung eines Algorithmus auf eine den Niveaus 3 und 4 ähnliche Weise verschlüsselt wird. Das Verschlüsseln der LBA verweigert potenziell böswilligen Quellen ein Ausspähen von LBA-Histogrammen, um zu helfen, einen Angriff auf empfindliche Bereiche eines Speicherbereichs, wie z.B. einen Abschnitt, der zum Speichern von Dateisystemverzeichnissen verwendet wird, zu erkennen. Die LBA sollte mithilfe eines verschiedenen Schlüssels und Algorithmus verschlüsselt werden, als für den rotierenden Autorisierungsschlüssel verwendet wird. Die Verwendung von unterschiedlichen Algorithmen, Keimen und Schlüsseln hilft, böswillige Clients davon abzuhalten, den Autorisierungsschlüssel mithilfe bekannter LBA-Zugriffsmuster statistisch zu decodieren.
  • NAIS-Speichersysteme
  • Mit Bezug auf 31 ist ein NAIS-Speichersystem 3110 aus mehreren Vorrichtungen 3121 bis 3124 über ein drahtloses Netzwerk angeschlossen. Das Speichersystem 3110 umfasst mehrere alloziierte Speicherbereiche 3111 bis 3114, wobei jeder Speicherbereich einer IP-Adresse und einem Namen zugeordnet ist, und wobei NAIS 3110 auch einer IP-Adresse zugeordnet ist (die manchmal als die "Root-IP" bezeichnet wird). Die NAIS-Speichersysteme sind vorzugsweise ausgebildet, um jedes der Befehlspakete des PSAN-Protokolls auf folgende Weise zu behandeln.
  • Eine Clientvorrichtung, die zusätzlichen Speicher erhalten möchte, wird zunächst eine NAIS-Speichervorrichtung in dem Netzwerk identifizieren und dann eine TRANSFER-Anfrage senden, die anfragt, dass eine bestimmte Speichermenge alloziiert wird. Die NAIS-Vorrichtung antwortet auf die Anfrage, indem die angefragte Speichermenge alloziiert wird (möglicherweise in Verbindung mit weiteren NAIS-Vorrichtungen), indem eine IP-Adresse, die dem Speicher zugeordnet ist, erhalten wird und indem sowohl die erhaltene IP-Adresse und der von dem Client bereitgestellte Namen dem Speicher zugeordnet werden. Wenn die NAIS-Speichervorrichtung nachfolgend abgeschaltet oder auf sonstige Weise zeitweilig von einem Netzwerk entfernt wird, wird sie Ersatz-IP-Adressen anfragen, wenn diese mit einem Netzwerk wieder verbunden wird. Da IP-Adressen sich von Zeit zu Zeit ändern können, werden NAIS-Speichersysteme auch angepasst, um auf NAME-RESOLUTION-REQUEST-Befehle zu antworten, um es Vorrichtungen zu ermöglichen, die aktuellen IP-Adressen über die Verwendung von Namen, die den alloziierten Speicherbereichen zugeordnet sind, zu erhalten. Die NAIS-Speichervorrichtungen sind auch ausgebildet, um auf FIND-Anfragen auf eine zuvor beschriebene Weise zu antworten.
  • Eine Clientvorrichtung, die anfragt, Daten in einen alloziierten Speicherbereich einer NAIS-Speichervorrichtung zu schreiben, sendet ein TRANSFER-Paket, das eine Split-ID umfasst, die aus der IP-Adresse, die dem Speicherbereich zugeordnet ist und einer LBA besteht, die einen Block innerhalb des Speicherbereichs identifiziert. Die NAIS-Speichervorrichtung ersetzt nach dem Empfang und der Authentifizierung des Pakets die Inhalte des Speicherblocks, der durch die Split-ID identifiziert wird, durch den Datenabschnitt des empfangenen TRANSFER-Pakets und sendet nachfolgend ein ACK-Paket, das dem Client mitteilt, dass die Übertragung ohne Fehler erfolgt ist, oder ein ERROR-Paket, das angibt, dass ein Fehler während der Übertragung aufgetreten ist.
  • Eine Clientvorrichtung, die Daten von einem alloziierten Speicherbereich einer NAIS-Speichervorrichtung empfangen möchte, sendet ein REQUEST-Paket, das eine Split-ID umfasst, die aus einer IP-Adresse, die dem Speicherbereich zugeordnet ist, und einem LBA, der einen Block innerhalb des Speicherbereichs identifiziert, zusammengesetzt ist. Die NAIS-Speichervorrichtung antwortet nach dem Empfang und der Authentifizierung des Pakets mit einem TRANSFER-Paket, das die Inhalte des angefragten Blocks enthält oder mit einem ERROR-Paket, das angibt, warum die Übertragung nicht vollständig durchgeführt werden konnte. Wenn die Clientvorrichtung eine Modifikation des angefragten Datenblocks nach seiner Übertragung verhindern möchte, kann der Client ein REQUEST-LOCK-Paket anstelle eines REQUEST-Pakets verwenden.
  • Im Allgemeinen sollten NAIS-Speichersysteme angepasst werden, um nicht berechtigten Zugriff auf alloziierte Speicherbereiche zu verhindern und zumindest eines der hierin beschriebenen Authentifizierungsniveaus implementieren. Wenn ein alloziierter Speicherbereich nicht weiter benötigt wird, kann der Client einen RELEASE-PARTITION-Befehl senden. Die NAIS-Vorrichtungen antworten auf einen solchen Befehl, indem sie die Inhalte des Speicherbereichs löschen und anschließend den freigegebenen Speicher für nachfolgende Alloziierungen verfügbar machen. Die Inhalte eines alloziierten Speicherbereichs sollten nie von einem Client ohne Autorisierung des alloziierenden Clients zugreifbar sein. In bevorzugten Ausführungsformen ist eine NAIS-Vorrichtung nicht in der Lage, auf die Inhalte eines Speicherbereichs ohne Autorisierung des alloziierenden Clients zuzugreifen, und ein Wiederherstellen eines Speichers von einer alloziierten Partition kann nur nach dem Empfang eines autorisierten RELEASE-PARTITION-Befehls erreicht werden oder indem alle alloziierten Speicherbereiche einer NAIS-Speichervorrichtung fallen gelassen werden.
  • Vorrichtungsübergreifende Speichersysteme
  • In 32 sind ein Client 3210 und NAIS-Speichervorrichtungen 3221 und 3222 mit einem Netzwerk 3230 verbunden. Der Client 3210 hat ursprünglich bei der NAIS 3221 für eine Alloziierung von Speicherplatz angefragt, der den auf der NAIS 3221 verfügbaren Speicherplatz übersteigt. Somit hat die NAIS 3221 weiterhin angefragt, dass der Speicherplatz, den diese nicht bereitstellen kann, von der NAIS 3222 bereitgestellt wird. Die Tatsache, dass der alloziierte Speicherplatz 3223 NAIS-Vorrichtungen übergreift, ist im Wesentlichen dem Client 3210 transparent, da die einzige Angabe, die er erhalten kann, dass ein solches Übergreifen erfolgt, darin besteht, dass er sieht, dass die IP-Adresse, die von der NAIS 3221 zurückgegeben wird, einer Multicast-IP-Adresse entspricht. Obwohl Multicasting das bevorzugte Verfahren zum Implementieren eines Übergreifens ist, können Verfahren, die für Nicht-NAIS-Speichervorrichtungen anwendbar sind, im Allgemeinen auch über NAIS-Speichervorrichtungen implementiert werden.
  • Speichersysteme, die gespiegelt werden
  • In 33 sind ein Client 3310 und NAIS-Speichervorrichtungen 3321 und 3322 miteinander über das Netzwerk 3330 verbunden. In dem gezeigten System verwendet der Client 3310 eine Multicast-IP-Adresse, um sowohl mit dem NAIS 3321 als auch mit 3322 zu kommunizieren. Die anfängliche Alloziierung des Speicherbereichs auf beiden NAIS-Vorrichtungen kann durch den Client 3310 vorgenommen werden, der die Alloziierung von Speicherplatz auf beiden Vorrichtungen anfragt und dann kann eine Multicast-IP-Adresse festgelegt werden, die verwendet werden soll, um auf jeden der alloziierten Speicherbereiche zuzugreifen. Alternativ kann der NAIS 3321 so konfiguriert werden, dass jede Anfrage nach einer Alloziierung von Speicherplatz zu einer entsprechenden Anfrage von dem NAIS 3321 zu dem NAIS 3322 führt und eine Multicast-IP-Adresse von dem NAIS 3321 an den Client 3310 zurückgegeben wird.
  • RAID-Speichersysteme
  • Die oben beschriebenen Verfahren hinsichtlich des Spiegelns und des Übergreifens können verwendet werden, um RAID-Speichersysteme (RAID: Redundant Array of Independent Disks) zu entwickeln. Bei einigen Ausführungsformen umfasst das RAID-System Vorrichtungen, die individuell über ein Netzwerk zugreifbar sind. In anderen Fällen kann ein RAID-System ein reserviertes Netzwerk umfassen, das NAIS-Vorrichtungen mit einem Controller verbindet, der das RAID-System von allen weiteren NAIS-Vorrichtungen nicht unterscheidbar macht und die Notwendigkeit eliminiert, dass Vorrichtungen, die das RAID-System verwenden, Sendeadressen verwenden müssen. In einem solchen Fall kann der Controller einfach den SID von eintreffenden Paketen in eine Sende-IP-Adresse und eine LBA für die Verwendung in dem internen Netzwerk übersetzen. Mit Bezug auf 34 umfasst ein RAID-System 3401 ein Netzwerk 3410, NAIS-Speichervorrichtungen 3421 bis 3423 und einen Controller 3430, der mit einem Netzwerk 3440 und dem Netzwerk 3410 verbunden ist. Die NAIS-Speichervorrichtungen 3421 bis 3423 weisen bevorzugte Eigenschaften von NAIS-Speichervorrichtungen, die oben beschrieben sind, auf.
  • Beispiel – Persönlicher Computerspeicher
  • Mit Bezug auf 35 ist ein System mit einem Netzwerk 3510, Personalcomputern 3521 und 3522, DHCP-Server/NAT-Brücke 3540 und einer NAIS-Speichervorrichtung 3550 gezeigt. Der NAIS 3550 erhält IP-Adressen für alloziierte Speicherbereiche von dem DHCP-Server/NAT-Brücke 3540. Personalcomputer 3521 und 3522 erhalten Speicher von dem NAIS 3550 und kommunizieren mit der NAIS-Speichervorrichtung 3550 mithilfe des PSAN-Protokolls. Die NAIS-Speichervorrichtungen 3550 weisen die bevorzugten Eigenschaften von NAIS-Speichervorrichtungen, die oben beschrieben sind, auf.
  • Beispiel – Digitale Einzelbild- und Videofotografie
  • Mit Bezug auf 36 ist ein System mit einem Netzwerk 3610, einer Digitalkamera 3621, einer Videokamera 3622, einem Fernseher 3630, einem DHCP-Server/NAT-Brücke 3640 und einer NAIS-Speichervorrichtung 3650 gezeigt. Die Kameras 3621 und 3622 erhalten Speicher von der NAIS 3650 und verwenden diesen Speicher zum Speichern von digitalen Bildern und Videos. Der Fernseher 3630 kann nach dem Empfang einer Autorisierung von den Kameras 3621 und 3622 verwendet werden, um die Videos und Fotografien anzusehen, die in den Kameras 3621 und 3622 enthalten sind und/oder auf dem NAIS 3650 gespeichert sind. Der NAIS 3650 erhält IP-Adressen für alloziierte Speicherbereiche von dem DHCP-Server/NAT-Brücke 3640. Die NAIS-Speichervorrichtungen 3550 weisen die bevorzugten Eigenschaften von NAIS-Speichervorrichtungen, die oben beschrieben sind, auf. PSAN-Pakete werden von verschiedenen Vorrichtungen für die Kommunikation und Datenübertragung über das Netzwerk 3610 verwendet.
  • Beispiel – Persönliche Videorecorder und Settop-Boxen
  • Mit Bezug auf 37 ist ein System mit einem Kabelprogramm-Netzwerk 3710, Tunern 3721 und 3722, einem IP-Netzwerk 3730, NAIS-Speichervorrichtungen 3741 und 3742, Decodern 3751 und 3752 und Fernsehern 3761 und 3762 gezeigt. Die NAIS-Speichervorrichtungen 3750 weisen die bevorzugten Eigenschaften von NAIS-Speichervorrichtungen, die oben beschrieben sind, auf. Die Tuner 3721 und 3722 empfangen Programme, die auf dem Kabelprogramm-Netzwerk 3710 gesendet werden, und speichern jedes dieser Programme auf den NAIS-Speichervorrichtungen 3741 und 3742. Die Decoder 3751 und 3752 empfangen die so gespeicherten Sendungen von den Vorrichtungen 3741 und/oder 3742 und zeigen diese auf den Fernsehern 3761 und 3762 an. PSAN-Pakete werden von den verschiedenen Vorrichtungen für die Kommunikation und die Datenübertragung über das Netzwerk 3710 verwendet.
  • Eigenschaften der Ausführungsformen
  • Tabelle 3 stellt alternative und/oder zusätzliche Beschreibungen zur Verfügung, die alternative Ausführungsformen charakterisieren, die der erfindungsgemäße Gegenstand umfasst, sind jedoch nicht darauf beschränkt. Auf jede Beschreibung in der Tabelle kann durch Angeben einer Gruppe und einer Nummer Bezug genommen werden, so dass die Beschreibung A1 der ersten Beschreibung in der A-Gruppe entspricht. Zusätzliche Details können in der gleichzeitig eingereichten PCT-Anmeldung Nr. ..., mit dem Titel "Data Storage Devices Having IP Capable Partitions" und der PCT-Anmeldung Nr. ... mit dem Titel "Electrical Devices With Improved Communication" gefunden werden, dessen Offenbarungen hierin durch Inbezugnahme eingeschlossen sind.
  • Figure 00410001
  • Figure 00420001
  • Figure 00430001
  • Figure 00440001
  • Figure 00450001
  • Figure 00460001
  • Figure 00470001
  • Figure 00480001
    Tabelle 3
  • Somit sind bestimmte Ausführungsformen und Anwendungen der Kommunikationsverfahren und Protokolle sowie Vorrichtungen, die ein externes Adressieren von internen Speicherbereichen verwenden, offenbart worden. Es sollte jedoch für einen Fachmann offensichtlich sein, dass viele weitere Modifikationen neben den bereits beschriebenen möglich sind, ohne von den erfindungsgemäßen Konzepten, die hierin beschrieben sind, abzuweichen. Der Erfindungsgegenstand ist daher, außer durch den Bereich der beigefügten Ansprüche, nicht hierdurch beschränkt.

Claims (18)

  1. Verfahren zum Interagieren mit einem Zielgerät mit einem voneinander getrennten ersten und zweiten Speicherbereich (701740, 810) über ein Netzwerk (810), umfassend: Empfangen eines ersten Pakets (100, 200, 300, 400, 1000, 1100, ... 3000), das (a) eine erste Netzwerkadresse, die dem ersten Speicherbereich (701740, 810) zugeordnet ist, und (b) eine Adresse einer Position in dem ersten Speicherbereich (701740, 810) enthält; Empfangen eines zweiten Pakets (100, 200, 300, 400, 1000, 1100, ... 3000), das (a) eine zweite Netzwerkadresse, die dem zweiten Speicherbereich zugeordnet ist, und (b) eine Adresse einer Position innerhalb des zweiten Speicherbereichs enthält, wobei die erste Netzwerkadresse von der zweiten Netzwerkadresse verschieden ist; und Verwenden der ersten und zweiten Netzwerkadresse, um erstes und zweites Paket (100, 200, 300, 400, 1000, 1100, ... 3000) über das Netzwerk an den ersten bzw. zweiten Speicherbereich zu routen.
  2. Verfahren nach Anspruch 1, wobei die erste und die zweite Netzwerkadresse IP-Adressen umfassen.
  3. Verfahren nach Anspruch 2, das weiterhin das Erhalten der IP-Adressen von einem Netzwerkadress-Server umfasst.
  4. Verfahren nach Anspruch 1, wobei die Adressen innerhalb des ersten und zweiten Speicherbereichs (701740, 810) logische Blockadressen umfassen.
  5. Verfahren nach Anspruch 1, wobei die Adressen in den ersten und zweiten Speicherbereichen (701740, 810) Offsets umfassen.
  6. Verfahren nach Anspruch 1, wobei das erste Paket (210) als ein einkapselndes Paket und ein eingekapseltes Paket (250) aufgebaut ist.
  7. Verfahren nach Anspruch 6, wobei das einkapselnde Paket (210) die erste Netzwerkadresse umfasst.
  8. Verfahren nach Anspruch 6, wobei das eingekapselte Paket (250) die entsprechende logische Blockadresse umfasst.
  9. Verfahren nach Anspruch 8, wobei das eingekapselte Paket (250) weiterhin Daten (270) umfasst.
  10. Verfahren nach Anspruch 8, wobei das eingekapselte Paket weiterhin einen Befehl (1101) umfasst.
  11. Verfahren nach Anspruch 10, das weiterhin umfasst, dass die Zieleinrichtung auf den Empfang des Befehls antwortet, indem nur ein einzelner Datenblock gesendet wird.
  12. Verfahren nach Anspruch 10, wobei das eingekapselte Paket weiterhin ein Token (1402) umfasst und weiterhin umfasst, dass das Zielgerät das Token verwendet, um festzustellen, ob der Befehl ausgeführt werden soll.
  13. Verfahren nach Anspruch 10, wobei das Ausführen des Befehls bewirkt, dass das Zielgerät Daten von einem dritten Gerät erhält, das weder dem Zielgerät noch einem Client-Gerät entspricht.
  14. Verfahren nach Anspruch 13, wobei das Zielgerät und das dritte Gerät durch eine NAT-Brücke voneinander getrennt sind.
  15. Verfahren nach Anspruch 8, wobei das eingekapselte Paket weiterhin Daten, einen Befehl und ein Token (1402) enthält, das von dem Zielgerät verwendet wird, um festzustellen, ob der Befehl ausgeführt werden soll.
  16. Verfahren nach Anspruch 1, wobei das erste Paket einem Preferred Storage Area Network (PSAN) Paket entspricht.
  17. Verfahren nach Anspruch 16, wobei die erste Netzwerkadresse eine IP-Adresse umfasst.
  18. Verfahren nach Anspruch 1 mit den weiteren Schritten: Unterteilen eines Datenblocks in eine geordnete Menge von Unterblöcken; Aufeinanderfolgendes Senden der Unterblöcke an das Zielgerät in Datenteilen einzelner Instanzen der ersten Pakete auf eine Weise, die es den Unterblöcken ermöglicht, von dem Zielgerät in einer Reihenfolge, die von der Reihenfolge, in der sie gesendet worden sind, verschieden ist, empfangen zu werden; und wobei das Zielgerät die Unterblöcke bearbeitet, ohne die Unterblöcke zuvor umzuordnen.
DE60218758T 2002-11-12 2002-12-16 Kommunikationsprotokolle, -systeme und -verfahren Expired - Lifetime DE60218758T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US42586702P 2002-11-12 2002-11-12
US425867P 2002-11-12
PCT/US2002/040205 WO2004045149A1 (en) 2002-11-12 2002-12-16 Communication protocols, systems and methods

Publications (2)

Publication Number Publication Date
DE60218758D1 DE60218758D1 (de) 2007-04-19
DE60218758T2 true DE60218758T2 (de) 2007-11-15

Family

ID=32313062

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60218758T Expired - Lifetime DE60218758T2 (de) 2002-11-12 2002-12-16 Kommunikationsprotokolle, -systeme und -verfahren

Country Status (8)

Country Link
US (6) US7602773B2 (de)
EP (3) EP1561159A4 (de)
JP (6) JP2006506706A (de)
CN (4) CN100557579C (de)
AT (1) ATE356493T1 (de)
AU (3) AU2002361715A1 (de)
DE (1) DE60218758T2 (de)
WO (3) WO2004045149A1 (de)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2799757B1 (fr) * 1999-10-15 2001-12-14 Adir Nouveaux derives polycycliques azaindoliques, leur procede de preparation et les compositions pharmaceutiques qui les contiennent
US8005918B2 (en) 2002-11-12 2011-08-23 Rateze Remote Mgmt. L.L.C. Data storage devices having IP capable partitions
FR2864741A1 (fr) * 2003-12-30 2005-07-01 Koninkl Philips Electronics Nv Dispositif et methode de stockage de donnees audio/video dans un reseau domestique.
EP1738273A4 (de) * 2004-04-12 2012-12-26 Univ Arizona Informationsverarbeitung und transportarchitektur zur datenspeicherung
US7210000B2 (en) * 2004-04-27 2007-04-24 Intel Corporation Transmitting peer-to-peer transactions through a coherent interface
US8369527B2 (en) 2004-06-24 2013-02-05 International Business Machines Corporation Access control over multicast
JP4666990B2 (ja) * 2004-09-30 2011-04-06 株式会社日本デジタル研究所 ネットワークraidシステム
US7620981B2 (en) 2005-05-26 2009-11-17 Charles William Frank Virtual devices and virtual bus tunnels, modules and methods
US8819092B2 (en) 2005-08-16 2014-08-26 Rateze Remote Mgmt. L.L.C. Disaggregated resources and access methods
US8347010B1 (en) * 2005-12-02 2013-01-01 Branislav Radovanovic Scalable data storage architecture and methods of eliminating I/O traffic bottlenecks
US9118698B1 (en) 2005-12-02 2015-08-25 Branislav Radovanovic Scalable data storage architecture and methods of eliminating I/O traffic bottlenecks
KR100702516B1 (ko) * 2006-04-07 2007-04-02 삼성전자주식회사 디.엘.엔.에이 네트워크를 이용한 데이터 저장 방법 및 그장치
US7924881B2 (en) * 2006-04-10 2011-04-12 Rateze Remote Mgmt. L.L.C. Datagram identifier management
US8108692B1 (en) * 2006-06-27 2012-01-31 Siliconsystems, Inc. Solid-state storage subsystem security solution
CN101192196B (zh) * 2006-11-24 2010-10-13 无锡华润矽科微电子有限公司 一种非易失性存储器电路及其设计方法
CN101287076A (zh) * 2007-05-30 2008-10-15 盛乐信息技术(上海)有限公司 用ip网络连接电视和电脑进行互动娱乐的方法和系统
US8010809B1 (en) * 2007-06-22 2011-08-30 Qlogic, Corporation Method and system for securing network data
JP4696099B2 (ja) * 2007-08-07 2011-06-08 日立オムロンターミナルソリューションズ株式会社 表示画像変換装置
US8116620B2 (en) * 2007-09-24 2012-02-14 King Kevin J Methods and systems to prepare and activate a wireless camera flash by radio
US8160436B2 (en) * 2007-09-24 2012-04-17 Kevin James King System and method for relay of pulsed light by intermittent radio for camera flash
US8028122B2 (en) * 2008-01-07 2011-09-27 Sandisk Il Ltd. Methods and systems for classifying storage systems using fixed static-IP addresses
TWI476610B (zh) * 2008-04-29 2015-03-11 Maxiscale Inc 同級間冗餘檔案伺服器系統及方法
US8336047B2 (en) 2008-08-25 2012-12-18 International Business Machines Corporation Provisioning virtual resources using name resolution
US20100179984A1 (en) * 2009-01-13 2010-07-15 Viasat, Inc. Return-link optimization for file-sharing traffic
US8356184B1 (en) * 2009-06-25 2013-01-15 Western Digital Technologies, Inc. Data storage device comprising a secure processor for maintaining plaintext access to an LBA table
US8850053B2 (en) 2010-04-08 2014-09-30 At&T Intellectual Property I, L.P. System and method for providing information to users of a communication network
US9148366B2 (en) * 2011-04-11 2015-09-29 Qualcomm Innovation Center, Inc. Interactive header compression in peer-to-peer communications
US9305142B1 (en) 2011-12-19 2016-04-05 Western Digital Technologies, Inc. Buffer memory protection unit
WO2013095615A1 (en) * 2011-12-23 2013-06-27 Intel Corporation Bitstream processing using coalesced buffers and delayed matching and enhanced memory writes
JP6025817B2 (ja) 2012-03-09 2016-11-16 三菱電機株式会社 無線通信端末、ソフトウェア更新システムおよびソフトウェア更新方法
US9055112B2 (en) 2012-09-18 2015-06-09 Amazon Technologies, Inc. Dynamically allocating network addresses
US9654604B2 (en) 2012-11-22 2017-05-16 Intel Corporation Apparatus, system and method of controlling data flow over a communication network using a transfer response
US9489199B2 (en) 2012-12-28 2016-11-08 Intel Corporation Vector compare instructions for sliding window encoding
US9683753B2 (en) 2013-05-24 2017-06-20 Emerson Electric Co. Facilitating installation of a controller and/or maintenance of a climate control system
KR102118002B1 (ko) 2013-07-26 2020-06-02 삼성전자주식회사 근접 통신을 통해 교환한 아이피 주소 정보를 사용한 통신 방법 및 장치
US9568205B2 (en) 2014-01-20 2017-02-14 Emerson Electric Co. Selectively connecting a climate control system controller with more than one destination server
US10209692B2 (en) 2014-01-20 2019-02-19 Emerson Electric Co. Selectively connecting a climate control system controller with more than one destination server
US9509665B2 (en) * 2014-08-11 2016-11-29 Alcatel Lucent Protecting against malicious modification in cryptographic operations
US9720789B2 (en) * 2014-10-15 2017-08-01 Netapp, Inc. Multicast transport configuration
US10554749B2 (en) 2014-12-12 2020-02-04 International Business Machines Corporation Clientless software defined grid
US10469580B2 (en) * 2014-12-12 2019-11-05 International Business Machines Corporation Clientless software defined grid
US10412002B1 (en) * 2015-03-25 2019-09-10 Amazon Technologies, Inc. Processing packet data using an offload engine in a service provider environment
US11734064B2 (en) 2016-02-05 2023-08-22 Sas Institute Inc. Automated virtual machine resource management in container-supported many task computing
US10331353B2 (en) 2016-04-08 2019-06-25 Branislav Radovanovic Scalable data access system and methods of eliminating controller bottlenecks
US10346119B2 (en) * 2016-09-27 2019-07-09 Intel Corporation Trusted vehicle messaging via transparent display
JP2018067248A (ja) * 2016-10-21 2018-04-26 富士通株式会社 制御プログラム、制御方法、及び情報処理装置
US9747528B1 (en) * 2016-10-26 2017-08-29 International Business Machines Corporation Capturing contextual information on a device
US11748158B2 (en) * 2018-09-30 2023-09-05 Sas Institute Inc. Data object preparation for execution of multiple task routine instances in many task computing
US20210201118A1 (en) * 2019-12-26 2021-07-01 Industrial Technology Research Institute Deep neural networks (dnn) hardware accelerator and operation method thereof
US11743366B1 (en) * 2020-10-13 2023-08-29 Marvell Asia Pte Ltd Communication of sensor data in a motor vehicle communication network
CN113037772B (zh) * 2021-03-30 2023-05-02 苏州科达科技股份有限公司 数据处理方法、系统、设备及存储介质

Family Cites Families (247)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4422171A (en) 1980-12-29 1983-12-20 Allied Corporation, Law Department Method and system for data communication
JPS6024647A (ja) 1983-07-20 1985-02-07 Hitachi Ltd システムの自律化資源管理方式
JPS6133054A (ja) * 1984-07-25 1986-02-15 Nec Corp パケツト信号の送受信方式
JPS62233951A (ja) * 1986-04-02 1987-10-14 Nec Corp 多重パケツト伝送方式
JPS6390942A (ja) * 1986-10-06 1988-04-21 Nec Corp 交換機間デ−タリンク制御方式
US5129088A (en) 1987-11-30 1992-07-07 International Business Machines Corporation Data processing method to create virtual disks from non-contiguous groups of logically contiguous addressable blocks of direct access storage device
JPH0792775B2 (ja) 1989-12-11 1995-10-09 株式会社日立製作所 外部記憶装置群のスペース管理方法
US5544347A (en) 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
AU8683991A (en) 1990-11-09 1992-05-14 Array Technology Corporation Logical partitioning of a redundant array storage system
JPH05505263A (ja) 1991-02-05 1993-08-05 インターナショナル・ビジネス・マシーンズ・コーポレーション トランザクション・コマンドの経路指定
EP0551009B1 (de) 1992-01-08 2001-06-13 Emc Corporation Verfahren zur Synchronisierung von reservierten Bereichen in einer redundanten Speicheranordnung
JP2868141B2 (ja) * 1992-03-16 1999-03-10 株式会社日立製作所 ディスクアレイ装置
JPH05347623A (ja) * 1992-04-07 1993-12-27 Nec Corp マルチキャスト通信方式
JPH0635732A (ja) * 1992-07-14 1994-02-10 Hitachi Ltd 記憶装置の領域割り当て方法
US5457683A (en) 1993-05-07 1995-10-10 Apple Computer, Inc. Link and discovery protocols for a ring interconnect architecture
US5444709A (en) 1993-09-30 1995-08-22 Apple Computer, Inc. Protocol for transporting real time data
US5771354A (en) 1993-11-04 1998-06-23 Crawford; Christopher M. Internet online backup system provides remote storage for customers using IDs and passwords which were interactively established when signing up for backup services
AU1091295A (en) 1993-11-09 1995-05-29 Kenneth H. Conner First come memory accessing without conflict
JP3249868B2 (ja) 1993-11-19 2002-01-21 株式会社日立製作所 アレイ形式の記憶装置システム
US5506969A (en) 1993-11-29 1996-04-09 Sun Microsystems, Inc. Method and apparatus for bus bandwidth management
US5802341A (en) * 1993-12-13 1998-09-01 Cray Research, Inc. Method for the dynamic allocation of page sizes in virtual memory
US5623605A (en) * 1994-08-29 1997-04-22 Lucent Technologies Inc. Methods and systems for interprocess communication and inter-network data transfer
US5615352A (en) 1994-10-05 1997-03-25 Hewlett-Packard Company Methods for adding storage disks to a hierarchic disk array while maintaining data availability
JPH08251198A (ja) * 1995-03-15 1996-09-27 Matsushita Electric Ind Co Ltd 多重化伝送装置
US6396480B1 (en) 1995-07-17 2002-05-28 Gateway, Inc. Context sensitive remote control groups
US5930786A (en) 1995-10-20 1999-07-27 Ncr Corporation Method and apparatus for providing shared data to a requesting client
US5680461A (en) 1995-10-26 1997-10-21 Sun Microsystems, Inc. Secure network protocol system and method
US5948062A (en) 1995-10-27 1999-09-07 Emc Corporation Network file server using a cached disk array storing a network file directory including file locking information and data mover computers each having file system software for shared read-write file access
US5758188A (en) 1995-11-21 1998-05-26 Quantum Corporation Synchronous DMA burst transfer protocol having the peripheral device toggle the strobe signal such that data is latched using both edges of the strobe signal
JPH09149060A (ja) * 1995-11-27 1997-06-06 Mitsubishi Electric Corp 多分岐接続ネットワークにおける同報通信方式
US5758050A (en) 1996-03-12 1998-05-26 International Business Machines Corporation Reconfigurable data storage system
US5742604A (en) * 1996-03-28 1998-04-21 Cisco Systems, Inc. Interswitch link mechanism for connecting high-performance network switches
US5901327A (en) 1996-05-28 1999-05-04 Emc Corporation Bundling of write data from channel commands in a command chain for transmission over a data link between data storage systems for remote data mirroring
US6886035B2 (en) 1996-08-02 2005-04-26 Hewlett-Packard Development Company, L.P. Dynamic load balancing of a network of client and server computer
US5949977A (en) 1996-10-08 1999-09-07 Aubeta Technology, Llc Method and apparatus for requesting and processing services from a plurality of nodes connected via common communication links
US6202060B1 (en) * 1996-10-29 2001-03-13 Bao Q. Tran Data management system
US6157935A (en) 1996-12-17 2000-12-05 Tran; Bao Q. Remote data access and management system
US5991891A (en) 1996-12-23 1999-11-23 Lsi Logic Corporation Method and apparatus for providing loop coherency
US6710786B1 (en) 1997-02-03 2004-03-23 Oracle International Corporation Method and apparatus for incorporating state information into a URL
EP0962090A2 (de) 1997-02-18 1999-12-08 Nortel Networks Limited Finanzierter anruf und zelldienst
US7389312B2 (en) 1997-04-28 2008-06-17 Emc Corporation Mirroring network data to establish virtual storage area network
US5884038A (en) 1997-05-02 1999-03-16 Whowhere? Inc. Method for providing an Internet protocol address with a domain name server
ID24894A (id) * 1997-06-25 2000-08-31 Samsung Electronics Co Ltd Cs Metode dan apparatus untuk pembangun tiga-oto suatu jaringan rumah
US6295584B1 (en) 1997-08-29 2001-09-25 International Business Machines Corporation Multiprocessor computer system with memory map translation
US6385638B1 (en) 1997-09-04 2002-05-07 Equator Technologies, Inc. Processor resource distributor and method
US7237036B2 (en) 1997-10-14 2007-06-26 Alacritech, Inc. Fast-path apparatus for receiving data corresponding a TCP connection
US6434620B1 (en) 1998-08-27 2002-08-13 Alacritech, Inc. TCP/IP offload network interface device
JPH11122301A (ja) 1997-10-20 1999-04-30 Fujitsu Ltd アドレス変換接続装置
US6101559A (en) 1997-10-22 2000-08-08 Compaq Computer Corporation System for identifying the physical location of one or more peripheral devices by selecting icons on a display representing the one or more peripheral devices
US5937169A (en) 1997-10-29 1999-08-10 3Com Corporation Offload of TCP segmentation to a smart adapter
US6081879A (en) 1997-11-04 2000-06-27 Adaptec, Inc. Data processing system and virtual partitioning method for creating logical multi-level units of online storage
US5983024A (en) 1997-11-26 1999-11-09 Honeywell, Inc. Method and apparatus for robust data broadcast on a peripheral component interconnect bus
US6018779A (en) 1997-12-15 2000-01-25 Emc Corporation System for encapsulating a plurality of selected commands within a single command and transmitting the single command to a remote device over a communication link therewith
US6029168A (en) 1998-01-23 2000-02-22 Tricord Systems, Inc. Decentralized file mapping in a striped network file system in a distributed computing environment
JP3277874B2 (ja) * 1998-01-29 2002-04-22 日本電気株式会社 Ieee1394ブリッジ
US6105122A (en) 1998-02-06 2000-08-15 Ncr Corporation I/O protocol for highly configurable multi-node processing system
US6253273B1 (en) * 1998-02-06 2001-06-26 Emc Corporation Lock mechanism
US6246683B1 (en) 1998-05-01 2001-06-12 3Com Corporation Receive processing with network protocol bypass
KR100272165B1 (ko) 1998-05-20 2000-11-15 윤종용 캐쉬 메모리 시스템 및 그의 운영 방법
US6259448B1 (en) 1998-06-03 2001-07-10 International Business Machines Corporation Resource model configuration and deployment in a distributed computer network
US6330236B1 (en) 1998-06-11 2001-12-11 Synchrodyne Networks, Inc. Packet switching method with time-based routing
US6157955A (en) 1998-06-15 2000-12-05 Intel Corporation Packet processing system including a policy engine having a classification unit
US6377990B1 (en) 1998-06-15 2002-04-23 Lodgenet Entertainment Corporation System for providing internet access from locations different from those for which the user's software was configured
US6260120B1 (en) 1998-06-29 2001-07-10 Emc Corporation Storage mapping and partitioning among multiple host processors in the presence of login state changes and host controller replacement
US6542909B1 (en) 1998-06-30 2003-04-01 Emc Corporation System for determining mapping of logical objects in a computer system
US7165152B2 (en) * 1998-06-30 2007-01-16 Emc Corporation Method and apparatus for managing access to storage devices in a storage system with access control
US6449607B1 (en) 1998-09-11 2002-09-10 Hitachi, Ltd. Disk storage with modifiable data management function
US6330615B1 (en) * 1998-09-14 2001-12-11 International Business Machines Corporation Method of using address resolution protocol for constructing data frame formats for multiple partitions host network interface communications
EP0987917B1 (de) 1998-09-18 2006-11-02 Newbridge Networks Corporation Verfahren zur zellularen Datenübertragung, Zelle, Kommunikationssystem und entsprechendes Netz-Endgerät
JP4412685B2 (ja) 1998-09-28 2010-02-10 株式会社日立製作所 記憶制御装置及びこれを用いたデータ格納システムの取り扱い方法
US6473774B1 (en) 1998-09-28 2002-10-29 Compaq Computer Corporation Method and apparatus for record addressing in partitioned files
US6618743B1 (en) * 1998-10-09 2003-09-09 Oneworld Internetworking, Inc. Method and system for providing discrete user cells in a UNIX-based environment
US6654891B1 (en) 1998-10-29 2003-11-25 Nortel Networks Limited Trusted network binding using LDAP (lightweight directory access protocol)
US6502135B1 (en) * 1998-10-30 2002-12-31 Science Applications International Corporation Agile network protocol for secure communications with assured system availability
US6571274B1 (en) 1998-11-05 2003-05-27 Beas Systems, Inc. Clustered enterprise Java™ in a secure distributed processing system
US6360270B1 (en) 1998-11-16 2002-03-19 Hewlett-Packard Company Hybrid and predictive admission control strategies for a server
FR2786892B3 (fr) 1998-12-07 2000-12-29 Schneider Automation Coupleur d'automate programmable
US6728210B1 (en) 1998-12-21 2004-04-27 Nec America, Inc. Multi-logical access for a serial data link
US6466571B1 (en) 1999-01-19 2002-10-15 3Com Corporation Radius-based mobile internet protocol (IP) address-to-mobile identification number mapping for wireless communication
US6470342B1 (en) 1999-03-12 2002-10-22 Compaq Computer Corporation Process of maintaining a distributed map of transaction identifiers and using hashing to access these maps
IE20000203A1 (en) * 1999-03-25 2001-02-21 Converge Net Technologies Inc Storage domain management system
US6401183B1 (en) 1999-04-01 2002-06-04 Flash Vos, Inc. System and method for operating system independent storage management
US6701432B1 (en) * 1999-04-01 2004-03-02 Netscreen Technologies, Inc. Firewall including local bus
US6487555B1 (en) 1999-05-07 2002-11-26 Alta Vista Company Method and apparatus for finding mirrored hosts by analyzing connectivity and IP addresses
US6275898B1 (en) 1999-05-13 2001-08-14 Lsi Logic Corporation Methods and structure for RAID level migration within a logical unit
JP3685651B2 (ja) * 1999-06-04 2005-08-24 沖電気工業株式会社 相互接続装置及びアクティブQoSマッピング方法
US6910068B2 (en) * 1999-06-11 2005-06-21 Microsoft Corporation XML-based template language for devices and services
JP3714906B2 (ja) * 1999-06-11 2005-11-09 ストレイジ・テクノロジー・コーポレイション インテリジェント記憶領域ネットワーク
US6668378B2 (en) * 1999-06-30 2003-12-23 Webtv Networks, Inc. Interactive television triggers having connected content/disconnected content attribute
JP3610846B2 (ja) * 1999-11-19 2005-01-19 松下電器産業株式会社 信号源検知方法、信号源設定方法、およびプログラム記録媒体
US7206805B1 (en) 1999-09-09 2007-04-17 Oracle International Corporation Asynchronous transcription object management system
JP4331835B2 (ja) 1999-09-22 2009-09-16 パナソニック株式会社 画像データ伝送方法
CA2320608A1 (en) * 1999-09-23 2001-03-23 Warren F. Brannan Sash lock with hidden mounting screws
US6882637B1 (en) 1999-10-14 2005-04-19 Nokia Networks Oy Method and system for transmitting and receiving packets
US7333451B1 (en) 1999-10-18 2008-02-19 Nortel Networks Limited Buffer management for mobile internet protocol
US6732230B1 (en) 1999-10-20 2004-05-04 Lsi Logic Corporation Method of automatically migrating information from a source to an assemblage of structured data carriers and associated system and assemblage of data carriers
US6711164B1 (en) 1999-11-05 2004-03-23 Nokia Corporation Method and apparatus for performing IP-ID regeneration to improve header compression efficiency
JP3708007B2 (ja) * 1999-11-22 2005-10-19 株式会社東芝 情報交換装置
US6678241B1 (en) 1999-11-30 2004-01-13 Cisc Technology, Inc. Fast convergence with topology switching
JP2001160828A (ja) 1999-12-03 2001-06-12 Matsushita Electric Ind Co Ltd セキュリティ・ゲートウェイ装置におけるvpn通信方法
US6389448B1 (en) 1999-12-06 2002-05-14 Warp Solutions, Inc. System and method for load balancing
JP3959583B2 (ja) 1999-12-10 2007-08-15 ソニー株式会社 レコーディングシステム
JP2001166993A (ja) 1999-12-13 2001-06-22 Hitachi Ltd 記憶制御装置およびキャッシュメモリの制御方法
US6742034B1 (en) * 1999-12-16 2004-05-25 Dell Products L.P. Method for storage device masking in a storage area network and storage controller and storage subsystem for using such a method
KR100682736B1 (ko) 2000-01-28 2007-02-15 엠 디솔루션 코포레이션 구성가능한 확산 스펙트럼 통신 장치를 위한 구성 발생 방법
FR2804816B1 (fr) 2000-02-03 2003-10-31 Gemplus Card Int Transport d'unites de protocole d'objet electronique portable par protocole pour peripheriques de micro- ordinateur
US6834326B1 (en) 2000-02-04 2004-12-21 3Com Corporation RAID method and device with network protocol between controller and storage devices
US7062648B2 (en) * 2000-02-18 2006-06-13 Avamar Technologies, Inc. System and method for redundant array network storage
US20010034758A1 (en) * 2000-02-24 2001-10-25 Dan Kikinis Virtual private network (VPN) for servicing home gateway system through external disk management
US7324228B2 (en) 2000-02-25 2008-01-29 Hewlett-Packard Development Company, L.P. System and method for downloading and for printing data from an external content source
US6442661B1 (en) * 2000-02-29 2002-08-27 Quantum Corporation Self-tuning memory management for computer systems
US7225243B1 (en) 2000-03-14 2007-05-29 Adaptec, Inc. Device discovery methods and systems implementing the same
US6601101B1 (en) 2000-03-15 2003-07-29 3Com Corporation Transparent access to network attached devices
US6975629B2 (en) 2000-03-22 2005-12-13 Texas Instruments Incorporated Processing packets based on deadline intervals
US6947430B2 (en) 2000-03-24 2005-09-20 International Business Machines Corporation Network adapter with embedded deep packet processing
US6882648B2 (en) * 2000-03-29 2005-04-19 Fujitsu Limited Communication device
US6629264B1 (en) 2000-03-30 2003-09-30 Hewlett-Packard Development Company, L.P. Controller-based remote copy system with logical unit grouping
US6993587B1 (en) 2000-04-07 2006-01-31 Network Appliance Inc. Method and apparatus for election of group leaders in a distributed network
US7463582B2 (en) 2000-04-14 2008-12-09 Hughes Network Systems, Llc System and method for scaling a two-way satellite system
JP4529231B2 (ja) * 2000-05-02 2010-08-25 ソニー株式会社 電子機器
US20030041138A1 (en) 2000-05-02 2003-02-27 Sun Microsystems, Inc. Cluster membership monitor
US6826561B2 (en) 2000-05-22 2004-11-30 Broadcom Corporation Method and apparatus for performing a binary search on an expanded tree
US6865617B2 (en) * 2000-05-23 2005-03-08 Sepaton, Inc. System maps SCSI device with virtual logical unit number and multicast address for efficient data replication over TCP/IP network
JP2001335126A (ja) * 2000-05-30 2001-12-04 Ko Dentsu:Kk 収納ラック
JP4168574B2 (ja) * 2000-06-02 2008-10-22 株式会社日立製作所 パケット転送装置、パケット転送制御方法、及びパケット転送装置の設定方法
US6718404B2 (en) 2000-06-02 2004-04-06 Hewlett-Packard Development Company, L.P. Data migration using parallel, distributed table driven I/O mapping
US7051087B1 (en) 2000-06-05 2006-05-23 Microsoft Corporation System and method for automatic detection and configuration of network parameters
US6629162B1 (en) 2000-06-08 2003-09-30 International Business Machines Corporation System, method, and product in a logically partitioned system for prohibiting I/O adapters from accessing memory assigned to other partitions during DMA
US6681244B1 (en) * 2000-06-09 2004-01-20 3Com Corporation System and method for operating a network adapter when an associated network computing system is in a low-power state
JP3890856B2 (ja) 2000-06-12 2007-03-07 ヤマハ株式会社 無線オーディオ機器
US6894976B1 (en) 2000-06-15 2005-05-17 Network Appliance, Inc. Prevention and detection of IP identification wraparound errors
US7966421B2 (en) 2000-06-21 2011-06-21 SAtech Group, A.B. Limited Liability Company Method and apparatus for logically expanding the length of a search key
US7260638B2 (en) 2000-07-24 2007-08-21 Bluesocket, Inc. Method and system for enabling seamless roaming in a wireless network
US6754662B1 (en) 2000-08-01 2004-06-22 Nortel Networks Limited Method and apparatus for fast and consistent packet classification via efficient hash-caching
JP2004506980A (ja) 2000-08-11 2004-03-04 3ウェア、 インコーポレイテッド コンピュータネットワークを介してブロックレベルストレージアクセスを提供するためのアーキテクチャ
US7278142B2 (en) 2000-08-24 2007-10-02 Veritas Operating Corporation Dynamic computing environment using remotely allocable resources
JP3555568B2 (ja) 2000-09-04 2004-08-18 日本電気株式会社 Ip電話録音システム
US6977927B1 (en) * 2000-09-18 2005-12-20 Hewlett-Packard Development Company, L.P. Method and system of allocating storage resources in a storage area network
US6928473B1 (en) 2000-09-26 2005-08-09 Microsoft Corporation Measuring network jitter on application packet flows
US6854021B1 (en) 2000-10-02 2005-02-08 International Business Machines Corporation Communications between partitions within a logically partitioned computer
US6853382B1 (en) 2000-10-13 2005-02-08 Nvidia Corporation Controller for a memory system having multiple partitions
US6901497B2 (en) 2000-10-27 2005-05-31 Sony Computer Entertainment Inc. Partition creating method and deleting method
US6862648B2 (en) 2000-10-30 2005-03-01 Sun Microsystems, Inc. Interface emulation for storage devices
US6978271B1 (en) 2000-10-31 2005-12-20 Unisys Corporation Mechanism for continuable calls to partially traverse a dynamic general tree
US6985956B2 (en) 2000-11-02 2006-01-10 Sun Microsystems, Inc. Switching system
US6434683B1 (en) 2000-11-07 2002-08-13 Storage Technology Corporation Method and system for transferring delta difference data to a storage device
ITBO20000653A1 (it) 2000-11-14 2002-05-14 Sichera Di Sichera Gianni Metodo per l'inserimento di un foglio di copertina tra una pellicola trsparente e un contenitore con apertura a libro e dispositivo che attu
US6601135B1 (en) 2000-11-16 2003-07-29 International Business Machines Corporation No-integrity logical volume management method and system
US7406523B1 (en) 2000-11-21 2008-07-29 Microsoft Corporation Client-server communications system and method using a semi-connectionless protocol
US6757845B2 (en) 2000-11-30 2004-06-29 Bitmicro Networks, Inc. Method and apparatus for testing a storage device
US7065568B2 (en) 2000-11-30 2006-06-20 Microsoft Corporation System and method for managing states and user context over stateless protocols
US6895485B1 (en) * 2000-12-07 2005-05-17 Lsi Logic Corporation Configuring and monitoring data volumes in a consolidated storage array using one storage array to configure the other storage arrays
EP1598714B1 (de) 2000-12-13 2016-09-28 LG Electronics Inc. Vorrichtung und Verfahren zur Fernsteuerung von Haushaltsgeräten
US6876657B1 (en) * 2000-12-14 2005-04-05 Chiaro Networks, Ltd. System and method for router packet control and ordering
US7234029B2 (en) 2000-12-28 2007-06-19 Intel Corporation Method and apparatus for reducing memory latency in a cache coherent multi-node architecture
US7200641B1 (en) 2000-12-29 2007-04-03 Emc Corporation Method and system for encoding SCSI requests for transmission using TCP/IP
JP3392828B2 (ja) 2001-01-10 2003-03-31 株式会社東芝 分散処理システム、該システムにおける描画命令転送方法、及びコンピュータ読み取り可能な記憶媒体
WO2002057917A2 (en) 2001-01-22 2002-07-25 Sun Microsystems, Inc. Peer-to-peer network computing platform
US7260633B2 (en) 2001-01-25 2007-08-21 Microsoft Corporation System and method for processing requests from newly registered remote application consumers
US7203730B1 (en) 2001-02-13 2007-04-10 Network Appliance, Inc. Method and apparatus for identifying storage devices
WO2002065329A1 (en) 2001-02-14 2002-08-22 The Escher Group, Ltd. Peer-to peer enterprise storage
JP2002252880A (ja) 2001-02-26 2002-09-06 Sanyo Electric Co Ltd 液晶プロジェクタ
WO2002071775A1 (fr) * 2001-03-01 2002-09-12 Mitsubishi Denki Kabushiki Kaisha Systeme de communication mobile par paquets ip
US7145866B1 (en) 2001-03-01 2006-12-05 Emc Corporation Virtual network devices
JP3470756B2 (ja) 2001-03-06 2003-11-25 日本電気株式会社 主装置アドレス制限通知システム
US20020133539A1 (en) 2001-03-14 2002-09-19 Imation Corp. Dynamic logical storage volumes
US20020194428A1 (en) * 2001-03-30 2002-12-19 Intransa, Inc., A Delaware Corporation Method and apparatus for distributing raid processing over a network link
US7072823B2 (en) 2001-03-30 2006-07-04 Intransa, Inc. Method and apparatus for accessing memory using Ethernet packets
US6983326B1 (en) 2001-04-06 2006-01-03 Networks Associates Technology, Inc. System and method for distributed function discovery in a peer-to-peer network environment
JP3972596B2 (ja) 2001-04-20 2007-09-05 株式会社日立製作所 ディスクアレイシステム
US20020165978A1 (en) * 2001-05-07 2002-11-07 Terence Chui Multi-service optical infiniband router
US20020184327A1 (en) 2001-05-11 2002-12-05 Major Robert Drew System and method for partitioning address space in a proxy cache server cluster
US7145919B2 (en) 2001-06-01 2006-12-05 Telefonaktienbolaget Lm Ericsson (Publ) Method and apparatus for transporting different classes of data bits in a payload over a radio interface
US20030026246A1 (en) * 2001-06-06 2003-02-06 Zarlink Semiconductor V.N. Inc. Cached IP routing tree for longest prefix search
US7613806B2 (en) 2001-06-28 2009-11-03 Emc Corporation System and method for managing replication sets of data distributed over one or more computer systems
US6636958B2 (en) 2001-07-17 2003-10-21 International Business Machines Corporation Appliance server with a drive partitioning scheme that accommodates application growth in size
KR100392382B1 (ko) 2001-07-27 2003-07-23 한국전자통신연구원 동적 크기 변경 및 메타 데이터 양의 최소화를 위한 논리볼륨 관리 방법
US7363310B2 (en) 2001-09-04 2008-04-22 Timebase Pty Limited Mapping of data from XML to SQL
US7185062B2 (en) 2001-09-28 2007-02-27 Emc Corporation Switch-based storage services
US7404000B2 (en) * 2001-09-28 2008-07-22 Emc Corporation Protocol translation in a storage system
US7558264B1 (en) * 2001-09-28 2009-07-07 Emc Corporation Packet classification in a storage system
US7437493B2 (en) 2001-09-28 2008-10-14 Dot Hill Systems Corp. Modular architecture for a network storage controller
US7707304B1 (en) * 2001-09-28 2010-04-27 Emc Corporation Storage switch for storage area network
US20030069995A1 (en) 2001-10-05 2003-04-10 Fayette Brad K. Method and system for communicating among heterogeneous systems
JP2003141054A (ja) 2001-11-07 2003-05-16 Hitachi Ltd ストレージ管理計算機
US7644136B2 (en) * 2001-11-28 2010-01-05 Interactive Content Engines, Llc. Virtual file system
US6772161B2 (en) 2001-12-19 2004-08-03 Hewlett-Packard Development Company, L.P. Object-level migration in a partition-based distributed file system
US6775673B2 (en) 2001-12-19 2004-08-10 Hewlett-Packard Development Company, L.P. Logical volume-level migration in a partition-based distributed file system
US6775672B2 (en) 2001-12-19 2004-08-10 Hewlett-Packard Development Company, L.P. Updating references to a migrated object in a partition-based distributed file system
US7599360B2 (en) * 2001-12-26 2009-10-06 Cisco Technology, Inc. Methods and apparatus for encapsulating a frame for transmission in a storage area network
KR100443385B1 (ko) 2002-01-11 2004-08-09 한국과학기술연구원 역 확산화염을 이용한 탄소 나노튜브의 연소합성 장치 및방법
EP1329809B1 (de) 2002-01-18 2008-08-06 Hewlett-Packard Company, A Delaware Corporation Verteiltes Rechnersystem und Verfahren
US6934799B2 (en) * 2002-01-18 2005-08-23 International Business Machines Corporation Virtualization of iSCSI storage
US7283527B2 (en) 2002-02-27 2007-10-16 International Business Machines Corporation Apparatus and method of maintaining two-byte IP identification fields in IP headers
US7535913B2 (en) 2002-03-06 2009-05-19 Nvidia Corporation Gigabit ethernet adapter supporting the iSCSI and IPSEC protocols
US7539991B2 (en) 2002-03-21 2009-05-26 Netapp, Inc. Method and apparatus for decomposing I/O tasks in a raid system
US7149769B2 (en) 2002-03-26 2006-12-12 Hewlett-Packard Development Company, L.P. System and method for multi-destination merge in a storage area network
US6683883B1 (en) 2002-04-09 2004-01-27 Sancastle Technologies Ltd. ISCSI-FCP gateway
US6912622B2 (en) 2002-04-15 2005-06-28 Microsoft Corporation Multi-level cache architecture and cache management method for peer-to-peer name resolution protocol
US7188194B1 (en) * 2002-04-22 2007-03-06 Cisco Technology, Inc. Session-based target/LUN mapping for a storage area network and associated method
US6895461B1 (en) 2002-04-22 2005-05-17 Cisco Technology, Inc. Method and apparatus for accessing remote storage using SCSI and an IP network
US7146427B2 (en) 2002-04-23 2006-12-05 Lsi Logic Corporation Polling-based mechanism for improved RPC timeout handling
US20030202510A1 (en) 2002-04-26 2003-10-30 Maxxan Systems, Inc. System and method for scalable switch fabric for computer network
US20030204611A1 (en) 2002-04-29 2003-10-30 Mccosh John C. Communications tester and method of using same
US6732171B2 (en) 2002-05-31 2004-05-04 Lefthand Networks, Inc. Distributed network storage system with virtualization
JP2004013215A (ja) 2002-06-03 2004-01-15 Hitachi Ltd ストレージシステム、ストレージサブシステム、および、それらを含む情報処理システム
JP2004045728A (ja) 2002-07-11 2004-02-12 Olympus Corp カメラ及び合焦装置並びに合焦方法
US7111303B2 (en) 2002-07-16 2006-09-19 International Business Machines Corporation Virtual machine operating system LAN
JP2004054721A (ja) * 2002-07-23 2004-02-19 Hitachi Ltd ネットワークストレージ仮想化方法
US7379990B2 (en) * 2002-08-12 2008-05-27 Tsao Sheng Ted Tai Distributed virtual SAN
US7263108B2 (en) 2002-08-06 2007-08-28 Netxen, Inc. Dual-mode network storage systems and methods
US6741554B2 (en) 2002-08-16 2004-05-25 Motorola Inc. Method and apparatus for reliably communicating information packets in a wireless communication network
US20040047367A1 (en) 2002-09-05 2004-03-11 Litchfield Communications, Inc. Method and system for optimizing the size of a variable buffer
US7475124B2 (en) * 2002-09-25 2009-01-06 Emc Corporation Network block services for client access of network-attached data storage in an IP network
US7243144B2 (en) 2002-09-26 2007-07-10 Hitachi, Ltd. Integrated topology management method for storage and IP networks
JP4202709B2 (ja) 2002-10-07 2008-12-24 株式会社日立製作所 ストレージ装置を有するネットワークにおける、ボリューム及び障害管理方法
US7152069B1 (en) * 2002-10-15 2006-12-19 Network Appliance, Inc. Zero copy writes through use of mbufs
US7774325B2 (en) 2002-10-17 2010-08-10 Intel Corporation Distributed network attached storage system
US7120666B2 (en) * 2002-10-30 2006-10-10 Riverbed Technology, Inc. Transaction accelerator for client-server communication systems
US7616638B2 (en) 2003-07-29 2009-11-10 Orbital Data Corporation Wavefront detection and disambiguation of acknowledgments
US7047254B2 (en) 2002-10-31 2006-05-16 Hewlett-Packard Development Company, L.P. Method and apparatus for providing aggregate object identifiers
US7170890B2 (en) 2002-12-16 2007-01-30 Zetera Corporation Electrical devices with improved communication
US20040181476A1 (en) 2003-03-13 2004-09-16 Smith William R. Dynamic network resource brokering
US20040184455A1 (en) 2003-03-19 2004-09-23 Institute For Information Industry System and method used by a gateway for processing fragmented IP packets from a private network
US6904470B1 (en) 2003-03-26 2005-06-07 Emc Corporation Device selection by a disk adapter scheduler
US7526577B2 (en) 2003-09-19 2009-04-28 Microsoft Corporation Multiple offload of network state objects with support for failover events
US7415018B2 (en) 2003-09-17 2008-08-19 Alcatel Lucent IP Time to Live (TTL) field used as a covert channel
GB2406742B (en) 2003-10-03 2006-03-22 3Com Corp Switching fabrics and control protocols for them
US7436789B2 (en) 2003-10-09 2008-10-14 Sarnoff Corporation Ad Hoc wireless node and network
JP4397675B2 (ja) 2003-11-12 2010-01-13 株式会社日立製作所 計算機システム
US7333994B2 (en) 2003-12-18 2008-02-19 Microsoft Corporation System and method for database having relational node structure
US20050166022A1 (en) 2004-01-28 2005-07-28 Hitachi, Ltd. Method and apparatus for copying and backup in storage systems
KR100600862B1 (ko) 2004-01-30 2006-07-14 김선권 인터넷상의 정보자원에 대한 접근 경로를 체계적으로수집하고 검색하는 방법, 및 이 방법을 실행할 수 있는컴퓨터 프로그램을 수록한 기록매체
US8990430B2 (en) 2004-02-19 2015-03-24 Cisco Technology, Inc. Interface bundles in virtual network devices
WO2005086850A2 (en) 2004-03-09 2005-09-22 The University Of North Carolina At Chapel Hill Methods, systems, and computer program products for modeling and simulating application-level traffic characteristics in a network based on transport and network layer header information
JP2005265914A (ja) 2004-03-16 2005-09-29 Ricoh Co Ltd ズームレンズ、カメラおよび携帯情報端末装置
US7409494B2 (en) 2004-04-30 2008-08-05 Network Appliance, Inc. Extension of write anywhere file system layout
US7886299B2 (en) 2004-06-01 2011-02-08 Hitachi, Ltd. Method of dynamically balancing workload of a storage system
US20050270856A1 (en) 2004-06-03 2005-12-08 Inphase Technologies, Inc. Multi-level format for information storage
US8155117B2 (en) 2004-06-29 2012-04-10 Qualcomm Incorporated Filtering and routing of fragmented datagrams in a data network
US20060036602A1 (en) 2004-08-13 2006-02-16 Unangst Marc J Distributed object-based storage system that stores virtualization maps in object attributes
US20060077902A1 (en) 2004-10-08 2006-04-13 Kannan Naresh K Methods and apparatus for non-intrusive measurement of delay variation of data traffic on communication networks
US7742454B2 (en) 2004-12-16 2010-06-22 International Business Machines Corporation Network performance by dynamically setting a reassembly timer based on network interface
US7564843B2 (en) 2004-12-16 2009-07-21 International Business Machines Corporation Method, system and article for improved network performance by avoiding IP-ID wrap-arounds causing data corruption on fast networks
US7467189B2 (en) 2005-01-21 2008-12-16 Microsoft Corporation Resource identifier zone translation
CN101185283A (zh) 2005-03-24 2008-05-21 诺基亚公司 向接收设备通知到来的传输会话
US20070101023A1 (en) 2005-10-28 2007-05-03 Microsoft Corporation Multiple task offload to a peripheral device

Also Published As

Publication number Publication date
AU2002357266A1 (en) 2004-06-03
EP1561306A1 (de) 2005-08-10
JP2007082207A (ja) 2007-03-29
EP1561159A4 (de) 2007-08-29
CN101448012A (zh) 2009-06-03
CN1695348A (zh) 2005-11-09
CN100380878C (zh) 2008-04-09
US7643476B2 (en) 2010-01-05
JP2006506846A (ja) 2006-02-23
US20040213226A1 (en) 2004-10-28
US20060029069A1 (en) 2006-02-09
EP1561306A4 (de) 2005-09-28
US20060126666A1 (en) 2006-06-15
US7916727B2 (en) 2011-03-29
EP1561169B1 (de) 2019-05-15
US7698526B2 (en) 2010-04-13
JP2007006523A (ja) 2007-01-11
US20060029068A1 (en) 2006-02-09
WO2004044753A1 (en) 2004-05-27
JP2006506706A (ja) 2006-02-23
US7602773B2 (en) 2009-10-13
JP4490954B2 (ja) 2010-06-30
EP1561159A1 (de) 2005-08-10
WO2004044732A1 (en) 2004-05-27
CN1695113A (zh) 2005-11-09
AU2002361716A1 (en) 2004-06-03
AU2002361715A1 (en) 2004-06-03
US7688814B2 (en) 2010-03-30
WO2004045149A1 (en) 2004-05-27
US8694640B2 (en) 2014-04-08
US20110138057A1 (en) 2011-06-09
JP2006286021A (ja) 2006-10-19
JP4964533B2 (ja) 2012-07-04
CN100557579C (zh) 2009-11-04
EP1561169A1 (de) 2005-08-10
US20040170175A1 (en) 2004-09-02
DE60218758D1 (de) 2007-04-19
EP1561169A4 (de) 2007-08-29
CN1695126A (zh) 2005-11-09
ATE356493T1 (de) 2007-03-15
EP1561306B1 (de) 2007-03-07
CN101448012B (zh) 2013-04-24
JP2006506847A (ja) 2006-02-23

Similar Documents

Publication Publication Date Title
DE60218758T2 (de) Kommunikationsprotokolle, -systeme und -verfahren
DE69729040T2 (de) Netzwerkübertragung
DE60309527T2 (de) System und Verfahren zur Identifikation von Grenzen von Nachrichten höherer Schichten
DE60305378T2 (de) Verfahren zum Weitergeben von einem Netzwerkstapel
DE69634916T2 (de) Verfahren und vorrichtung zur filterung von mehradresspaketen in einem lokalen netz durch ein transparentes zwischensystem
DE60303026T2 (de) System, verfahren und produkt zur verwaltung des datenverkehrs in einem netzwerk
DE602004008099T2 (de) Verfahren, system und artikel zur dynamischen echtzeit-stream-aggregation in einem netzwerk
DE60101566T2 (de) Gerätetreibererzeugung
WO2003081875A1 (de) Aaa serversystem zur effizienten zugangskontrolle und adresszuordnung
DE60036317T2 (de) Verfahren und Busschnittstelle zur Verbindung eines Buses mit einer Anwendungsvorrichtung
DE60313501T2 (de) System und Verfahren zur Verwaltung passiver Netzwerkeinrichtungen unter Verwendung von Umsetzverbindungen
EP1155549B1 (de) Verfahren zum übertragen von ethernet-frames
DE10231958B4 (de) Verfahren und System zum Übertragen von Datenpaketen über ein Netzwerk an ausgewählte mehrere Bestimmungsorte, sowie computerlesbares Medium
DE10231941A1 (de) Datenpaketstruktur für direkt adressiertes Multicast-Protokoll
WO2020109015A1 (de) Datenübertragungsverfahren und automatisierungskommunikationsnetzwerk
WO2001047129A2 (de) Verfahren und system zur steuerung und zum austausch von daten für multimediale geräte sowie dafür geeignetes gerät
DE60100800T2 (de) Verfahren und einrichtung zur bereitstellung von einem hochverfügbaren computerdienst
WO2007113073A1 (de) Verfahren zum wiederherstellen einer mit ipsec kryptographisch gesicherten verbindung zwischen p-cscf und anwendereinheit
EP1720291B1 (de) Kommunikationsprotokolle, Vorrichtung und Verfahren
EP3439259B1 (de) Härten eines kommunikationsgerätes
EP1052802B1 (de) Verfahren zur Kopplung von NetBIOS Netzwerken und Rechnern
DE102007020514B3 (de) Audio-/Video-Aufzeichnungs- und Wiedergabegerät und Verfahren zur zirkularen Aufzeichnung von Datenströmen als Manipulationsschutz
DE202009010078U1 (de) Vorrichtung zur Herstellung einer sicheren Verbindung zwischen einem Host-Computer und einem Netzwerk

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: RATEZE REMOTE MGMT.LLC, WILMINGTON, DEL., US