EP1561306B1

Communication protocols, systems and methods

Abstract

Communication protocols, systems, and methods that facilitate communication between disaggregated elements, and also to devices adapted to function as such disaggregated elements, particularly across peer-to-peer (masterless) and include one or more unique features such as packet atomicity, blind ACKs, NAT bridging, locking, multicast spanning and mirroring, and authentication.

EP1561306B1, drawing sheet 1
Sheet 1 of 11

Term

Term ended

Expired 16 December 2022, 3.8 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

18 claims: 18 independent, 0 dependent

  1. 1
    A method of interacting with a target device having distinct first and second storage areas (701-740, 810) across a network (810), comprising:receiving a first packet (100, 200, 300, 400, 1000, 1100, ... 3000) that contains (a) a first network address assigned to the first storage area (701-740, 810), and (b) an address of a location within the first storage area (701-740,810);receiving a second packet (100, 200, 300, 400, 1000, 1100, ... 3000) that contains (a) a second network address assigned to the second storage area, and (b) an address of a location within the second storage area, wherein the first network address is distinct from the second network address;andusing the first and second network address to route the first and second packets (100, 200, 300, 400, 1000, 1100,... 3000) across the network to the first and second storage areas, respectively. Procédé d'interaction avec un dispositif cible présentant des première et deuxième zones de stockage distinctes (701-740, 810) par l'intermédiaire d'un réseau (810), comportant : - la réception d'un premier paquet (100, 200, 300, 400, 1000, 1100,... 3000) qui contient (a) une première adresse de réseau affectée à la première zone de stockage (701- 740, 810), et (b) une adresse d'un emplacement à l'intérieur de la première zone de stockage (701-740, 810) ;- la réception d'un deuxième paquet (100, 200, 300, 400, 1000, 1100,... 3000) qui contient (a) une deuxième adresse de réseau affectée à la deuxième zone de stockage, et (b) une adresse d'un emplacement à l'intérieur de la deuxième zone de stockage, la première adresse de réseau étant distincte de la deuxième adresse de réseau ;et- l'utilisation des première et deuxième adresses de réseau pour diriger les premier et deuxième paquets (100, 200, 300, 400, 1000, 1100,... 3000) par l'intermédiaire du réseau, respectivement, vers les première et deuxième zones de stockage. Verfahren zum Interagieren mit einem Zielgerät mit einem voneinander getrennten ersten und zweiten Speicherbereich (701 - 740, 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 (701 - 740, 810) zugeordnet ist, und (b) eine Adresse einer Position in dem ersten Speicherbereich (701 - 740, 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;undVerwenden 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. 2
    Procédé selon la revendication 1, dans lequel chacune des première et deuxième adresses de réseau comporte des adresses IP. The method of claim 1, wherein each the first and second network addresses comprises IP addresses. Verfahren nach Anspruch 1, wobei die erste und die zweite Netzwerkadresse IP-Adressen umfassen.
  3. 3
    Procédé selon la revendication 2, comportant en outre l'obtention des adresses IP auprès d'un serveur d'adresses de réseau. The method of claim 2, further comprising obtaining the IP addresses from a network address server. Verfahren nach Anspruch 2, das weiterhin das Erhalten der IP-Adressen von einem Netzwerkadress-Server umfasst.
  4. 4
    Procédé selon la revendication 1, dans lequel les adresses à l'intérieur des première et deuxième zones de stockage (701-740, 810) comportent des adresses de bloc logique. The method of claim 1, wherein the addresses within the first and second storage areas (701-740, 810) comprise logical block addresses. Verfahren nach Anspruch 1, wobei die Adressen innerhalb des ersten und zweiten Speicherbereichs (701 - 740, 810) logische Blockadressen umfassen.
  5. 5
    Procédé selon la revendication 1, dans lequel les adresses à l'intérieur des première et deuxième zones de stockage (701-740, 810) comportent des décalages. The method of claim 1, wherein the addresses within the first and second storage areas (701-740, 810) comprise offsets. Verfahren nach Anspruch 1, wobei die Adressen in den ersten und zweiten Speicherbereichen (701 - 740, 810) Offsets umfassen.
  6. 6
    Procédé selon la revendication 1, dans lequel le premier paquet (210) est structuré en paquet d'encapsulation et en paquet encapsulé (250). The method of claim 1, wherein the first packet (210) is structured as an encapsulating packet and an encapsulated packet (250). Verfahren nach Anspruch 1, wobei das erste Paket (210) als ein einkapselndes Paket und ein eingekapseltes Paket (250) aufgebaut ist.
  7. 7
    Procédé selon la revendication 6, dans lequel le paquet d'encapsulation (210) inclut la première adresse de réseau. The method of claim 6, wherein the encapsulating packet (210) includes the first network address. Verfahren nach Anspruch 6, wobei das einkapselnde Paket (210) die erste Netzwerkadresse umfasst.
  8. 8
    Procédé selon la revendication 6, dans lequel le paquet encapsulé (250) inclut l'adresse de bloc logique correspondante. The method of claim 6, wherein the encapsulated (250) packet includes the corresponding logical block address. Verfahren nach Anspruch 6, wobei das eingekapselte Paket (250) die entsprechende logische Blockadresse umfasst.
  9. 9
    Procédé selon la revendication 8, dans lequel le paquet encapsulé (250) inclut en outre des données (270). The method of claim 8, wherein the encapsulated packet (250) further includes data (270). Verfahren nach Anspruch 8, wobei das eingekapselte Paket (250) weiterhin Daten (270) umfasst.
  10. 10
    Procédé selon la revendication 8, dans lequel le paquet encapsulé inclut en outre une commande (1101). The method of claim 8, wherein the encapsulated packet further includes a command (1101). Verfahren nach Anspruch 8, wobei das eingekapselte Paket weiterhin einen Befehl (1101) umfasst.
  11. 11
    Procédé selon la revendication 10, comportant en outre le dispositif cible répondant à la réception de la commande par l'envoi d'un seul bloc de données. The method of claim 10, further comprising the target device responding to receipt of the command by sending only a single block of data. Verfahren nach Anspruch 10, das weiterhin umfasst, dass die Zieleinrichtung auf den Empfang des Befehls antwortet, indem nur ein einzelner Datenblock gesendet wird.
  12. 12
    Procédé selon la revendication 10, dans lequel le paquet encapsulé inclut en outre un jeton (1402), ledit procédé comportant en outre l'utilisation par le dispositif cible du jeton pour déterminer s'il faut exécuter la commande. The method of claim 10, wherein the encapsulated packet further includes a token (1402), and further comprising the target device using the token to determine whether to execute the command. 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. 13
    Procédé selon la revendication 10, dans lequel l'exécution de la commande permet au dispositif cible d'obtenir des données auprès d'un troisième dispositif qui n'est ni le dispositif cible ni un dispositif client. The method of claim 10, wherein executing the command causes the target device to obtain data from a third device that is neither the target device nor a client device. 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. 14
    Procédé selon la revendication 13, dans lequel le dispositif cible et le troisième dispositif sont séparés par un pont de traduction d'adresse réseau (NAT). The method of claim 13, wherein the target device and the third device are separated by a NAT bridge. Verfahren nach Anspruch 13, wobei das Zielgerät und das dritte Gerät durch eine NAT-Brücke voneinander getrennt sind.
  15. 15
    Procédé selon la revendication 8, dans lequel le paquet encapsulé inclut en outre des données, une commande, et un jeton (1402) utilisé par le dispositif cible pour déterminer s'il faut exécuter la commande. The method of claim 8, wherein the encapsulated packet further includes data, a command, and a token (1402) used by the target device to determine whether to execute the command. 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. 16
    Procédé selon la revendication 1, dans lequel le premier paquet est un paquet de réseau de zone de stockage préférée (PSAN). The method of claim 1, wherein the first packet is a Preferred Storage Area Network (PSAN) packet. Verfahren nach Anspruch 1, wobei das erste Paket einem Preferred Storage Area Network (PSAN) Paket entspricht.
  17. 17
    Procédé selon la revendication 16, dans lequel la première adresse de réseau comprend une adresse IP. The method of claim 16, wherein the first network address comprises an IP address. Verfahren nach Anspruch 16, wobei die erste Netzwerkadresse eine IP-Adresse umfasst.
  18. 18
    Procédé selon la revendication 1, comportant en outre :- la division d'un bloc de données en un ensemble ordonné de sous-blocs ;- la transmission séquentielle des sous-blocs au dispositif cible en portions de données d'exemples individuels des premiers paquets d'une manière qui permet la réception des sous-blocs par le dispositif cible dans un ordre autre qu'un ordre dans lequel ils ont été transmis ;et- la manipulation des sous-blocs par le dispositif cible sans réordonner au préalable les sous-blocs. The method of claim 1, further comprising: dividing a block of data into an ordered set of sub-blocks;sequentially transmitting the sub-blocks to the target device in data portions of individual instances of the first packets in a manner that permits the sub-blocks to be received by the target device in an order other than an order in which they were transmitted;andthe target device manipulating the sub-blocks without first re-ordering the sub-blocks. 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.
Independent claims18