MXPA04010437A - Sistema, metodo y producto para administrar transferencias de datos en una red. - Google Patents

Sistema, metodo y producto para administrar transferencias de datos en una red.

Info

Publication number
MXPA04010437A
MXPA04010437A MXPA04010437A MXPA04010437A MXPA04010437A MX PA04010437 A MXPA04010437 A MX PA04010437A MX PA04010437 A MXPA04010437 A MX PA04010437A MX PA04010437 A MXPA04010437 A MX PA04010437A MX PA04010437 A MXPA04010437 A MX PA04010437A
Authority
MX
Mexico
Prior art keywords
end node
logical connection
instance number
packet
waiting list
Prior art date
Application number
MXPA04010437A
Other languages
English (en)
Inventor
John Recio Renato
Original Assignee
Ibm
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 Ibm filed Critical Ibm
Publication of MXPA04010437A publication Critical patent/MXPA04010437A/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/326Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)
  • General Factory Administration (AREA)

Abstract

Un metodo, sistema y producto en un sistema de procesamiento de datos para administrar datos transmitidos desde un primer nodo de extremo a un segundo nodo de extremo, incluidos en el sistema de procesamiento de datos. Una conexion logica se establece entre el primer nodo de extremo y el segundo nodo de extremo antes de transmitir datos entre los nodos de extremo. Un numero de instancia se asocia con la conexion logica e incluye en cada paquete transmitido entre el nodo de extremo mientras que permanece esta conexion. El numero permanece constante durante su conexion, pero se altera, tal como al incrementarlo, cada vez que se vuelve a establecer una conexion logica entre estos nodos de extremo. Cada paquete se asocia con una instancia particular de la conexion logica y cuando se recibe, el numero puede utilizarse para determinar si el paquete es un paquete pasado, transmitido durante un conexion logica previa entre estos nodos de extremo.

Description

SISTEMA/ MÉTODO Y PRODUCTO PARA ADMINISTRAR TRANSFERENCIAS DE DATOS EN UNA RED ANTECEDENTES DE LA INVENCIÓN 1. Campo Técnico: La presente invención se refiere en general al campo de sistemas de computadoras y más específicamente a un sistema de procesamiento de datos, método y producto para administrar transferencias de datos en una red. 2. Descripción de la Técnica Relacionada: Muchos de sistemas de computadoras existentes utilizan arquitectura de conducto compartido tal como Interconexión de Componentes Periféricos (PCI = Peripheral Component Interconnect) , como un medio para transmitir datos internamente en el sistema de computadora entre los diversos procesadores y dispositivos de entrada/salida E/S (I/O =Input/Output) del sistema. Estas arquitecturas de conducto compartido existentes no han mantenido el ritmo con el incremento en el desempeño de procesadores típicos . De esta manera, una nueva arquitectura comúnmente denominada "Infiniband" , se ha desarrollado para transmitir datos entre procesadores y dispositivos E/S (I/O) internamente en un sistema de computadora. Esta nueva arquitectura es capaz de proporcionar mayor ancho de banda e incrementada capacidad de expansión.
La nueva arquitectura proporciona una red de área de sistema que incluye una tecnología de tejido conmutado basada en canal . En esta red de área de sistema (SAN = system-area network) , se transmiten datos por mensajes que están constituidos por paquetes. Cada dispositivo, ya sea que se trate de un procesador o dispositivo E/S, incluye un adaptador de canal . Los mensaj es se transmiten desde un adaptador de canal de un dispositivo a otro adaptador de canal de dispositivo por conmutadores . Cada adaptador de canal también puede ser referido como un "nodo extremo" . La Figura 1 ilustra dos nodos de extremo, cada uno que incluye un par de lista de espera, de acuerdo con la técnica previa. Cuando el nodo de extremo A 100 requiere transmitir datos al nodo de extremo B 108, se establece una conexión lógica entre un par de lista de espera incluido en el nodo de extremo A y un par de lista de espera incluido dentro del nodo de extremo B . Luego se transmiten datos desde la lista de espera de envío del par de lista de espera en el nodo de extremo A a la lista de espera de recepción del par de lista de espera en el nodo de extremo B. Se transmiten respuestas desde la lista de espera de envío del par de lista de espera en el nodo de extremo B a la lista de espera de recepción del par de lista de espera en el nodo de extremo A. El nodo de extremo A 100 incluye un par de lista de espera 102. El par de lista de espera 102 incluye una lista de espera de envío 104 y una lista de espera de recepción 106. El nodo de extremo B 108 incluye un par de lista de espera 110. El par de lista de espera 110 incluye una lista de espera de recepción 112 y una lista de espera de envío 114. Las solicitudes se envían desde las listas de espera de envío a las listas de espera de recepción y se envían respuestas desde las listas de espera de recepción de regreso a las listas de espera de envío. Se acusa recibo de la solicitud 116 con la respuesta 118. Se acusa recibo de la solicitud 120 por la respuesta 122. Mensajes, y de esta manera paquetes, se pueden transmitir utilizando uno de cinco diferentes tipos de transporte: Conectado Confiable (RC = Reliable Connected) , Datagrama Confiable (RD = Reliable Datagram) , Conectado no Confiable (UC = Unreliable Connected) , Datagrama no Confiable (UD = Unreliable Datagram) , o Datagrama en Bruto (Ra D = Raw Datagram (RawD) . Cuando se utiliza el tipo de transporte Conectado Confiable, se incluyen números de secuencia en cada paquete, y se acusa recibo a las transferencias de paquete. Los números de secuencia de partida se establecen cuando se establece una conexión lógica entre dos puntos extremos. Cada vez que se transmite un paquete, el número de secuencias se incrementa e incluye en el paquete . De esta manera, un número de secuencia de paquete se utiliza para identificar la posición del paquete dentro de una secuencia de paquetes . En la técnica previa, un conjunto particular de bits, o un campo, se incluye en cada paquete para indicar el número de secuencia. De esta manera, el número de secuencia es este juego completo de bits. El número de secuencia de paquete (PSN = packet sequence number) que se incluye en la solicitud 116 es el mismo que PSN incluido en la respuesta 118. El PSN que se incluye en la solicitud 120 es el mismo que el PSN incluido en la respuesta 122. El PSN incluido en la solicitud 116 y la respuesta 118 no tiene relación al PSN incluido en la solicitud 120 y la respuesta 122, aún cuando todos utilizan el mismo juego de pares de lista de espera. Normalmente, el nodo solicitante incrementa el PSN por uno en paquete de solicitud transmitido. El nodo de respuesta compara el PSN en las solicitudes recibidas a su propio PSN (PSN esperado) que responde también incrementa por uno cada vez que se recibe el paquete de solicitud. Si los PSNs, corresponden, el de respuesta luego puede enviar una respuesta a la solicitud (acuse de recibo) utilizando el mismo PSN que se incluyó en el paquete de solicitud al que se le acuse recibo. Luego de regreso al solicitante, el PSN en el paquete de respuesta se compara con la respuesta PSN del solicitante para ver si es el mismo que su propio PSN de respuesta (PSN esperado) que el solicitante también incrementa por uno . Al solicitante se le permite que envié múltiples paquetes sin recibir un paquete de respuesta. Los paquetes de respuesta pueden recibirse por el solicitante algún tiempo después, pero los PSNs en estos paquetes de respuesta, se comparan con el contador PSN de respuesta de solicitante. Si todos los PSNs de paquete de solicitud corresponden a los PSN internos de quien responde y todos los PSNs de paquete de respuesta corresponden a los PSN internos del solicitante, todos los paquetes son transferidos exitosamente de un nodo de extremo a otro (de una lista de espera de envío a una lista de espera de recepción) . Hay dos condiciones anormales que deben ser detectadas y resueltas con quien responde, para asegurar operación confiable. La primer condición es el paquete duplicado, y la segunda condición es el paquete inválido. Paquetes duplicados se detectan con quien responde cuando el solicitante envía un paquete de solicitud más de una vez. El solicitante enviará paquetes más de una vez cuando detecta que el paquete puede haberse perdido. La Figura 2 ilustra un diagrama de escalera que muestra la transmisión de paquetes duplicados de acuerdo con la técnica previa. El paquete de solicitud 204, que incluye un PSN = 1, se transmite por el nodo de extremo 200 y se recibe por quien responde, el nodo de extremo 202. La respuesta, acuse de recibo 206 que incluye un PSN = 1, ya está perdida o retrasada. En este caso, el solicitante, nodo de extremo 200, detecta una condición de plazo expirado y vuelve a enviar la misma solicitud que la solicitud 208 que incluye el mismo PSN (PSN = 1) . Quien responde, nodo de extremo 202, determina que el PSN es un duplicado (es decir, tiene un PSN "anterior" que la cuenta interna del nodo de extremo 202) , y quien responde envía la respuesta de nuevo como acuse de recibo 210 con el mismo PSN (PSN = 1) . Un paquete inválido se detecta en quien responde cuando el que responde recibe un paquete con un PSN "adelantado" de su cuenta interna. La Figura 3 ilustra un diagrama de escalera que muestra la recepción de un paquete inválido de acuerdo con la técnica previa. Quien solicita, nodo de extremo 300, transmite una solicitud 304 que incluye un PSN = 1, una solicitud 308 que incluye un PSN = 2, y una solicitud 310 que incluye un PSN = 3. La solicitud 304 se le acusa recibo adecuadamente por el acuso de recibo 306, que incluye un PSN = 1. La solicitud 308, que incluye un PSN = 2 se pierde en el tejido. De esta manera, quien responde, el nodo de extremo 302, ve la solicitud 304, que tiene un PSN = 1, seguida por la solicitud 310, que tiene un PSN = 3. De esta manera, la solicitud 310 es un paquete inválido. En este caso, quien responde, el nodo de extremo 302 vuelve a enviar el acuse de recibo 312 para solicitar el paquete con PSN = 1, y quien solicita vuelve a enviar todos los paquetes empezando con la solicitud 314 que tiene PSN = 2. Con el solicitante, los paquetes de respuesta tienen reglas similares. Se descarta el paquete duplicado detectado por el solicitante. Este caso solo puede ocurrir cuando el paquete de solicitud no se pierde sino solo se retrasa en el tejido lo suficiente para que el solicitante lo vuelva a enviar. La segunda respuesta con el PSN duplicado se descarta. El PSN inválido del solicitante puede ocurrir cuando uno o más paquetes en una respuesta de paquetes múltiples se pierde en el tejido. En este caso, el solicitante vuelve a enviar la solicitud. PSNs utilizan un número fijo y finito de bits en el cabezal de transporte, que se incluye en cada paquete. Por lo tanto, los PSNs se reutilizan continuamente como los contadores que los generan regresan de su valor máximo de nuevo a cero. Al utilizar un PSN que es mucho más grande que el número de paquetes que pueden estar pendientes, los solicitantes y los que responden establecen un rango de número de secuencia de paquete en los rangos duplicado e inválido . Surge un problema con los PSNs, cuando una conexión lógica entre dos nodo extremos se desmantela o desintegra y luego se reestablece mientras que los paquetes están en proceso. En este caso, un paquete de la vieja conexión puede llegar a quien responde. Quien responde puede interpretar este paquete como un paquete válido de hecho cuando es un paquete pasado de la vieja conexión. Una de las soluciones descritas en la técnica previa es agregar estados de espera entre desintegración de una conexión lógica establecida entre dos juegos particulares de pares de lista de espera y luego volver a establecer la conexión lógica entre estos mismos dos juegos de pares de lista de espera. De esta manera, los nodos de extremo esperan suficiente para que expiren todos los paquetes pasados posibles de la vieja conexión. Aunque esta solución resuelve el problema, puede afectar significativamente el desempeño de los nodos de extremo, especialmente cuando las conexiones a menudo son desintegradas y luego se vuelven a establecer . Por lo tanto, existe necesidad por un método, sistema, y producto, para administrar eficientemente transferencias de datos en una red. COMPENDIO DE LA INVENCIÓN En un primer aspecto, la presente invención proporciona un método para administrar datos transmitidos desde un primer nodo de extremo a un segundo nodo de extremo en un sistema de procesamiento de datos, el método comprende las etapas de: establecer una conexión lógica entre el primer nodo de extremo y el segundo nodo de extremo, antes de transmitir datos entre el primer y segundo nodos de extremo; asociar un número de instancia con la conexión lógica; e incluir el número de instancia en cada paquete transmitido entre el primer y segundo nodos de extremo mientras que la conexión lógica permanece establecida, el número de instancia permanece constante durante la conexión lógica. El método de preferencia además comprende las etapas de: volver a establecer la conexión lógica entre el primer y segundo nodos de extremo; incrementar el número de instancia, el número de instancia incrementado se asocia con la conexión lógica vuelta a establecer o reestablecida e incluye el número de instancia incrementado en cada paquete transmitido entre el primero y segundo nodos de extremo durante la conexión lógica reestablecida, el número de instancia incrementada permanece constante durante la conexión lógica reestablecida. De preferencia, la etapa de establecer una conexión lógica entre el primer nodo de extremo y el segundo nodo de extremo además comprende la etapa de asociar un par de lista de espera en el primer nodo de extremo con un par de lista de espera en el segundo nodo de extremo. De preferencia, la etapa de asociar un par de lista de espera en el primer nodo de extremo con un par de lista de espera en el segundo nodo de extremo además comprende las etapas de : establecer una tabla de pares de lista de espera en el primer nodo de extremo; y almacenar con la tabla una indicación de una asociación entre el par de lista de espera en el primer nodo de extremo con un par de lista de espera en el segundo nodo de extremo . El método de preferencia además comprende las etapas de: transmitir un paquete del segundo nodo de extremo al primer nodo de extremo, utilizando una conexión lógica particular; recibir, utilizando el primer nodo de extremo, el paquete; y utilizar la tabla para determinar si la conexión lógica particular se estableció previamente. De preferencia, la etapa de utilizar la tabla para determinar si la conexión lógica particular se estableció previamente, además comprende la etapa de: determinar si se almacena una indicación en la tabla de una asociación entre un par de lista de espera en el primer nodo de extremo con un par de lista de espera en el segundo nodo de extremo. El método de preferencia además comprende la etapa de : incluir el número de instancia en un cabezal de transporte en cada paquete transmitido entre el primero y segundo nodos de extremo, durante la conexión lógica. El método de preferencia además comprende la etapa de : incluir el número de instancia en un campo de número de secuencia en un cabezal de transporte en cada paquete transmitido entre el primer y segundo nodos de extremo durante la conexión lógica. El método de preferencia además comprende la etapa de: incluir el número de instancia en cada número de secuencia incluido en paquetes transmitidos entre el primer y segundo nodos de extremo durante la conexión lógica. El método de preferencia además comprende las etapas de : determinar si la conexión lógica es una primer conexión lógica entre el primer y segundo nodos de extremo; en respuesta a una determinación que la conexión lógica es una primer conexión lógica: asociar un número de instancia con la conexión lógica; incluir el número de instancia en cada paquete transmitido entre el primero y segundo nodos de extremo durante la conexión lógica, el número de instancia permanece constante durante la conexión lógica; y utilizar el número de instancia como un número de instancia actual ; y en respuesta a una determinación de que la conexión lógica no es una primer conexión lógica: incrementar el número de instancia actual; utilizar el número de instancia actual incrementado como un número de instancia actual; e incluir el número de instancia actual incrementado en cada paquete transmitido entre el primer y segundo nodos de extremo, durante la conexión lógica. El método de preferencia además comprende las etapas de: perder la conexión lógica; reestablecer la conexión lógica entre el primer y segundo nodos de extremos no ejecutando estados de espera entre la pérdida de la conexión lógica y reestablecer la conexión lógica. El método de preferencia además comprende las etapas de : transmitir un paquete desde el primer nodo de extremo al segundo nodo de extremo; e incluir un número de instancia actual en el paquete. El método de preferencia además comprende las etapas de recibir, por el segundo nodo de extremo, un paquete; identificar, utilizando el segundo nodo de extremo, un número de instancia incluido en el paquete recibido; determinar un número de instancia actual; determinar si el número de instancia incluido en el paquete recibido es el número de instancia actual; en respuesta a una determinación de que el número de instancia incluido en el paquete recibido es el número de instancia actual , procesar el paquete normalmente por el segundo nodo de extremo; y en respuesta a una determinación de que el número de instancia incluido en el paquete recibido no es el número de instancia actual, descartando por el segundo nodo de extremo, el paquete. El método de preferencia además comprende las etapas de: después de establecer la conexión lógica, establecer por el primer nodo de extremo, un número de secuencia; incrementar el número de secuencia después de cada transmisión de un paquete desde el primero nodo de extremo al segundo nodo de extremo; después de cada transmisión de un paquete desde el primer nodo de extremo al segundo nodo de extremo, establecer un número de secuencia actual igual al número de secuencia incrementado; e incluir un número de secuencia actual en cada paquete transmitido desde el primer nodo de extremo al segundo nodo de extremo . En un segundo aspecto, la presente invención proporciona un método para administrar datos transmitidos desde un primer nodo de extremo a un segundo nodo de extremo en un sistema de procesamiento de datos, el método comprende las etapas de: establecer una conexión lógica entre un primer nodo de extremo y el segundo nodo de extremo antes de transmitir datos entre el primer y segundo nodos de extremo; incluir un número de secuencia actual en cada paquete transmitido desde el primer nodo de extremo al segundo nodo de extremo, el número de secuencia actual se incrementa cada vez que se transmite un paquete desde el primer nodo de extremo al segundo nodo de extremo; asociar un número de instancia con la conexión lógica; e incluir el número de instancia en cada número de secuencia, el número de instancia permanece constante durante la conexión lógica. El método de preferencia además comprende las etapas de : reestablecer la conexión lógica entre el primer y segundo nodos de extremo; incrementar el número de instancia, el número de instancia incrementado se asocia con la conexión lógica reestablecida; e incluir el número de instancia incrementado en cada número de secuencia, el número de instancia incrementado permanece constante durante la conexión lógica reestablecida. De preferencia, la etapa de establecer una conexión lógica entre el primer nodo de extremo y el segundo nodo de extremo además comprende la etapa de: asociar un par de lista de espera en el primer nodo de extremo con un par de lista de espera en el segundo nodo de extremo . De preferencia, la etapa de asociar un par de lista de espera en el primer nodo de extremo con un par de lista de espera en el segundo nodo de extremo además comprende las etapas de : establecer una tabla de pares de lista de espera en el primer nodo de extremo; y almacenar dentro de la tabla, una indicación de una asociación entre el par de lista de espera en el primer nodo de extremo con un par de lista de espera en el segundo nodo de extremo . El método de preferencia además comprende las etapas de : transmitir un paquete desde el segundo nodo de extremo al primer nodo de extremo utilizando una conexión lógica particular; recibir el paquete, utilizando el primer nodo de extremo; y utilizar la tabla paras determinar si la conexión lógica particular se estableció previamente. De preferencia, la etapa de utilizar la tabla para determinar si la conexión lógica particular se estableció previamente además comprende la etapa de : determinar si una indicación se almacena en la tabla de una asociación entre un par de lista de espera en el primer nodo de extremo con un par de lista de espera en el segundo nodo de extremo. El método de preferencia además comprende las etapas de: determinar si la conexión lógica es una primer conexión lógica entre el primer y segundo nodos de extremo; en respuesta a una determinación de que conexión lógica es una primer conexión lógica: asociar un número de instancia con la conexión lógica; incluir el número de instancia en cada número de secuencia transmitido entre el primer y segundo nodos de extremo durante la conexión lógica; y utilizar el número de instancia como un número de instancia actual ; y en respuesta a una determinación de que la conexión lógica no es una primer conexión lógica: incrementar el número de instancia actual; utilizando el número e instancia actual incrementado como un número de instancia actual; e incluir el número de instancia actual incrementado en cada número de secuencia transmitido entre el primer y segundo nodos de extremo durante la conexión lógica. El método de preferencia además comprende las etapas de: perder la conexión lógica; y reestablecer la conexión lógica entre el primer y segundo nodos de extremo, no ejecutando estados de espera entre perder la conexión lógica y reestablecer la. conexión lógica.
El método de preferencia además comprende las etapas de: recibir, por el segundo nodo de extremo, un paquete; identificar, utilizando el segundo nodo de extremo, un número de instancia incluido en el paquete recibido; determinar un número de instancia actual; determinar si el número de instancia incluido en el paquete recibido es el número de instancia actual; en respuesta a una determinación de que el número de instancia incluido en el paquete recibido es el número de instancia actual, procesar el paquete normalmente por el segundo nodo de extremo; y en respuesta a una determinación de que el número de instancia incluido en el paquete recibido no es el número de instancia actual, descartar el paquete, por el segundo nodo de extremo. En un tercer aspecto, la presente invención proporciona un sistema de procesamiento de datos para administrar datos transmitidos desde un primer nodo de extremo a un segundo nodo de extremo en el sistema de procesamiento de datos, que comprende: medios para establecer una conexión lógica entre el primer nodo de extremo y el segundo nodo de extremo antes de transmitir datos entre el primer y segundo nodos de extremo; medios para asociar un número de instancia con la conexión lógica; y medios para incluir el número de instancia en cada paquete transmitido entre el primer y segundo nodos de extremos, mientras que la conexión lógica permanece establecida, el número de instancia permanece constante durante la conexión lógica. El sistema de preferencia además comprende medios para reestablecer la conexión lógica entre el primer y segundo nodos de extremo; medios para incrementar el número de instancia, el número de instancia incrementado se asocia con la conexión lógica reestablecida; y medios para incluir el número de instancia incrementado en cada paquete transmitido entre el primer y segundo nodos de extremo durante la conexión lógica reestablecida, el número de instancia incrementado permanece constante durante la conexión lógica reestablecida. De preferencia, los medios para establecer una conexión lógica entre el primer nodo de extremo y el segundo nodo de extremo además comprenden: medios para asociar un par de lista de espera en el primer nodo de extremo con un par de lista de espera en el segundo nodo de extremo. De preferencia, los medios para asociar un par de lista de espera en el primer nodo de extremo con un par de lista de espera en el segundo nodo de extremo además comprenden: medios para establecer una tabla del pares de lista de espera en el primer nodo de extremo; y medios para almacenar dentro de la tabla, una indicación de una asociación entre el par de lista de espera en el primer nodo de extremo con un par de lista de espera en el segundo nodo de extremo . El sistema de preferencia además comprende medios para transmitir un paquete desde el segundo nodo de extremo al primer nodo de extremo utilizando una conexión lógica particular; medios para recibir, utilizando el primer nodo de extremo, el paquete; y medios para utilizar la tabla para determinar si la conexión lógica particular se estableció previamente . De preferencia, los medios para utilizar la tabla para determinar si la conexión lógica particular se estableció previamente, además comprenden: medios para determinar si una indicación se almacena en la tabla de una asociación entre un par de lista de espera en el primer nodo de extremo con un par de lista de espera en el segundo nodo de extremo . El sistema de preferencia además comprende medios para incluir el número de instancia en un cabezal de transporte en cada paquete transmitido entre el primer y segundo nodos de extremo durante la conexión lógica. El sistema de preferencia además comprende medios para incluir el número de instancia en un campo de número de secuencia en un cabezal de transporte en cada paquete transmitido entre el primer y segundo nodos de extremo, durante la conexión lógica.
El sistema de preferencia además comprende medios para incluir el número de instancia en cada número de secuencia incluido en paquetes transmitidos entre el primer y segundo nodos de extremo durante la conexión lógica. El sistema de preferencia además comprende medios para determinar si la conexión lógica es una primer conexión lógica entre el primer y segundo nodos de extremo; en respuesta a una determinación de que la conexión lógica es una primer conexión lógica: medios para asociar un número de instancia con la conexión lógica; medios para incluir el número de instancia en cada paquete transmitido entre el primer y segundo nodos de extremos durante, la conexión lógica, el número de instancia permanece constante durante la conexión lógica; y medios para utilizar el número de instancia como un número de instancia actual; y en respuesta a una determinación de que la conexión lógica no es una primer conexión lógica: medios para incrementar el número de instancia actual; medios para utilizar el número de instancia actual incrementado como un número de instancia actual; y medios para incluir el número de instancia actual incrementado en cada paquete transmitido entre el primer y segundo nodos de extremo durante la conexión lógica. El sistema de preferencia además comprende medios para perder la conexión lógica; medios para reestablecer la conexión lógica entre el primer y segundo nodos de extremos, no ejecutando estados de espera entre la pérdida de la conexión lógica y reestablecimiento de la conexión lógica. El sistema de preferencia además comprende medios para transmitir un paquete del primer nodo de extremo al segundo nodo de extremo; y medios para incluir el número de instancia actual en el paquete. El sistema de preferencia además comprende medios para recibir un paquete por el segundo nodo de extremo ; medios para identificar, utilizando el segundo nodo de extremo, un número de instancia incluido en el paquete recibido; medios para determinar un número de instancia actual; medios para determinar si el número de instancia incluido en el paquete recibido es el número de instancia actual; en respuesta a una determinación de que el número de instancia incluido en el paquete recibido es el número de instancia actual, medios para procesar el paquete normalmente por el segundo nodo de extremo; y en respuesta a una determinación de que el número de instancia incluido en el paquete recibido no es el número de instancia actual, medios para descartar el paquete por el segundo nodo de extremo. El sistema de preferencia además comprende, después de establecer una conexión lógica, medios para ajustar, por el primer nodo de extremo, un número de secuencia; medios para incrementar el número de secuencia después de cada transmisión de un paquete desde el primer nodo de extremo al segundo nodo de extremo; después de cada transmisión de un paquete del primer nodo de extremo al segundo nodo de extremo, medios para ajustar un segundo número actual igual al número de secuencia incrementado; y medios para incluir un número de secuencia actual en cada paquete transmitido desde el primer nodo de extremo al segundo nodo de extremo. En un cuarto aspecto, la presente invención proporciona un sistema para administrar datos transmitidos desde un primer nodo de extremo a un segundo nodo de extremo en un sistema de procesamiento de datos, que comprende: medios para establecer una conexión lógica entre el primer nodo de extremo y el segundo nodo de extremo antes de transmitir datos entre el primer y segundo nodos de extremo ; medios para incluir un número de secuencia actual en cada paquete transmitido desde el primer nodo de extremo al segundo nodo de extremo, el número de secuencia actual se incrementa cada vez que se transmite un paquete desde el primer nodo de extremo al segundo nodo de extremo, medios para asociar un número de instancia con la conexión lógica; y medios para incluir el número de instancia en cada número de secuencia, el número de instancia permanece constante durante la conexión lógica . El sistema de preferencia además comprende medios para reestablecer la conexión lógica entre el primer y segundo nodos de extremo; medios para incrementar el número de instancia, el número de instancia incrementado se asocia con la conexión lógica reestablecida; y medios para incluir el número de instancia incrementado en cada número de secuencia, el número de instancia incrementado permanece constante durante la conexión lógica reestablecida. De preferencia, los medios para establecer una conexión lógica entre el primer nodo de extremo y el segundo nodo de extremo, además comprenden: medios para asociar un par de lista de espera en el primer nodo de extremo con un par de lista de espera en el segundo nodo de extremo. De preferencia, los medios para asociar un par de lista de espera en el primer nodo de extremo con un par de lista de espera en el segundo nodo de extremo además comprenden: medios para establecer una tabla de pares de lista de espera en el primer nodo de extremo; y medios para almacenar dentro de la tabla una indicación de una asociación entre el par de lista de espera en el primer nodo de extremo con un par de lista de espera en el segundo nodo de extremo. El sistema de preferencia además comprende medios para transmitir un paquete desde el segundo nodo de extremo al primer nodo de extremo utilizando una conexión lógica particular; medios para recibir el paquete, utilizando el primer nodo de extremo; y medios para utilizar la tabla para determinar si la conexión lógica particular se estableció previamente .
De preferencia, los medios para utilizar la tabla para determinar si la conexión lógica particular se estableció previamente, además comprenden: medios para determinar si se almacena una indicación en la tabla de una asociación entre un par de lista de espera en el primer nodo de extremo con un par de lista de espera en el segundo nodo de extremo . El sistema de preferencia además comprende medios para determinar si la conexión lógica es una primer conexión lógica entre el primer y segundo nodos de extremo; en respuesta a una determinación de que la conexión lógica es una primer conexión lógica: medios para asociar un número de instancia con la conexión lógica; medios para incluir el número de instancia en cada número de secuencia transmitido entre el primer y segundo nodos de extremo durante la conexión lógica; y medios para utilizar el número de instancia como un número de instancia actual; y en respuesta a una determinación de que la conexión lógica no es una primer conexión lógica : medios para incrementar el número de instancia actual; medios para utilizar el número de instancia actual incrementado como un número de instancia actual; y medios para incluir el número de instancia actual incrementado en cada número de secuencia transmitido entre el primer y segundo nodos durante la conexión lógica. El sistema de preferencia además comprende medios para perder la conexión lógica; y medios para volver a establecer o reestablecer la conexión lógica entre el primer y segundo nodos de extremo, no ejecutando estados de espera o ejecutando estados de no espera entre la pérdida de la conexión lógica y reestablecer la conexión lógica. El sistema de preferencia además comprende medios para recibir, por el segundo nodo de extremo, un paquete ; medios para identificar, utilizando el segundo nodo de extremo, un número de instancia incluido en el paquete recibido; medios para determinar un número de instancia actual; medios para determinar si el número de instancia incluido en el paquete recibido es el número de instancia actual; en respuesta a una determinación de que el número de instancia incluido en el paquete recibido es el número de instancia actual, medios para procesar el paquete normalmente por el segundo nodo de extremo; en respuesta a una determinación de que el número de instancia incluido en el paquete recibido no es el número de instancia actual, medios para descartar el paquete, por el segundo nodo de extremo. En un quinto aspecto, la presente invención proporciona un programa de computadora para, cuando se carga en un sistema de computadora y ejecuta ahí, realizar las etapas de cualquiera de los métodos del primer y segundo aspectos. Características preferidas del programa de computadora corresponden a etapas preferidas de los métodos del primer y segundo aspectos . Un método, sistema, y producto en un sistema de procesamiento de datos, se describen para administrar datos transmitidos desde un primer nodo de extremo a un segundo nodo de extremo incluidos en el sistema de procesamiento de datos . Una conexión lógica se establece entre el primer nodo de extremo y el segundo nodo de extremo antes de transmitir datos entre los nodos extremo. Un número de instancia se asocia con esta conexión lógica particular. El número de instancia se incluye en cada paquete transmitido entre los nodos de extremo, mientras que esta conexión lógica permanece establecida. El número de instancia permanece constante durante esta conexión lógica. El número de instancia se altera, tal como al incrementarlo, cada vez que se vuelve a establecer una conexión lógica entre estos nodos de extremo. De esta manera, cada paquete se asocia con una instancia particular de la conexión lógica. Cuando se recibe un paquete, el número de instancia incluido en el paquete, puede ser utilizado para determinar si el paquete es un paquete pasado transmitido durante una conexión lógica previa entre estos nodos de extremo. En una modalidad preferida, el número de instancia se incluye como parte del número de secuencia. Los bits que se designan dentro de cada paquete como el número de secuencia, se dividen de acuerdo con la presente invención como bits de número de secuencia y bits de número de instancia. El número de instancia, que permanece constante para todos los paquetes durante una conexión lógica particular, se indica utilizando los bits de número de instancia. El número de secuencia, que se incrementa por cada paquete transmitido, se indica utilizando los números de bits de secuencia. Los anteriores asi como adicionales objetivos, características y ventajas de la presente invención, serán aparentes en la siguiente descripción escrita y detallada. BREVE DESCRIPCIÓN DE LOS DIBUJOS Una modalidad preferida de la presente invención ahora se describirá, a manera de ejemplo solamente, con referencia a las figuras acompañantes, en donde: La Figura 1 ilustra dos nodos de extremo, cada uno incluye un par de lista de espera, de acuerdo con la técnica previa; La Figura 2 ilustra un diagrama de escalera que muestra la transmisión de paquetes duplicados de acuerdo con la técnica previa; La Figura 3 ilustra un diagrama de escalera que ilustra la recepción de un paquete inválido de acuerdo con la técnica previa; La Figura 4 ilustra un sistema de procesamiento de datos que implementa una arquitectura de tejido conmutado basado en canal, para transmitir datos de acuerdo con la presente invención,- La Figura 5 es un diagrama de bloques funcional de un nodo procesador anfitrión u hospedero de acuerdo con la presente invención; La Figura 6 ilustra una porción de un sistema de computadora distribuido que ilustra una transacción ejemplar de solicitud y acuse de recibo de acuerdo con la presente invención; La Figura 7 ilustra una porción de un sistema de computadora distribuido, que emplea un servicio de conexión confiable (RC) para comunicar entre procesos distribuidos de acuerdo con la presente invenció ; La Figura 8 ilustra un paquete de acuerdo con la presente invención; La Figura 9 ilustra un diagrama de flujo de alto nivel que muestra incluyendo un número de instancia en cada paquete de acuerdo con la presente invención; y La Figura 10 ilustra un diagrama de flujo de alto nivel que muestra un nodo de extremo que determina si un paquete recibido se transmitió durante la conexión lógica actual de acuerdo con la presente invención. DESCRIPCIÓN DETALLADA DE LA MODALIDAD PREFERIDA Una modalidad preferida ejemplar de la presente invención proporciona un método, sistema y producto en un sistema de procesamiento de datos para administrar datos transmitidos desde un primer nodo de extremo a un segundo nodo de extremo. Se establece una conexión lógica entre el primer nodo de extremo y el segundo nodo de extremo antes de transmitir datos entre los nodos de extremo. La conexión lógica se establece entre un par de lista de espera particular incluido en el primer nodo de extremo y un par de lista de espera particular incluido en el segundo nodo de extremo . Un número de instancia se asocia con la conexión lógica establecida entre estos dos juegos particulares de pares de lista de espera. El número de instancia se incluye en cada paquete transmitido entre los nodos de extremo, mientras que esta conexión lógica permanece establecida. Cada vez que una conexión lógica se vuelve a establecer entre estos dos juegos de pares de lista de espera, se incrementa el número de instancia. Los paquetes también incluyen números de secuencia de paquete que se incrementan cada vez que se transmite un paquete. Una modalidad ejemplar preferida de la presente invención implementa el número de instancia como parte del número de secuencia tradicional. El juego de bits reservados para el número de secuencia de la técnica previa se divide en un juego de número de secuencia de bits y un juego de bits de número de instancia. El número de instancia de la presente invención se indica por el juego de bits de número de instancia. El número de secuencia de la presente invención se indica por el juego de bits de número de secuencia. De esta manera, de acuerdo con la presente invención, el número de secuencia de la técnica previa tradicional se utiliza para indicar tanto el número de instancia como el número de secuencia. El juego de bits del número de instancia permanece constate a través de la misma conexión lógica. El juego de bits de número secuencia se incrementa como se describió en la técnica previa cada vez que se transmite un paquete . El juego de bits de número de secuencia regresa de nuevo a cero, en una forma se conoce en la técnica previa, cuando el número de secuencia máximo se incrementa. El número de instancia no se afecta por el número de secuencia incrementado o el regreso de nuevo a cero. El número de instancia permanece constante siempre que la conexión lógica no se ha reestablecido . Por lo tanto, debido a que algunos de los bits de número de secuencia tradicionales se reservan para el número de instancia, el número de secuencia máximo es ahora más pequeño que el número que se pudiera haber representado por todos los bits de número de secuencia. Una modalidad ejemplar preferida de la presente invención proporciona un sistema de cómputo distribuido que tiene nodos de extremo, conmutadores, ruteadores y enlaces que interconectan estos componentes . Cada nodo de extremo utiliza pares de lista de espera de envío y recepción para transmitir y recibir mensajes. Los nodos de extremo segmentan el mensaje en paquetes y transmite los paquetes en los enlaces . Los conmutadores y ruteadores interconectan los nodos de extremo y dirigen los paquetes al nodo de extremo apropiado. Los nodos de extremo vuelven a ensamblar o reensamblan los paquetes en un mensaje en el destino. En una modalidad preferida de la presente invención, los pares de lista de espera se utilizan para asociar el número de instancia con una conexión lógica entre juegos particulares de pares de lista de espera. Cuando se establece primero una conexión lógica entre un primer y segundo nodos de extremo, un par de lista de espera en el primer nodo de extremo se asocia con un par de lista de espera en el segundo nodo de extremo, típicamente utilizando una tabla de pares de lista de espera. De esta manera, cada vez que una conexión lógica se establece entre dos juegos de pares de lista de espera, la tabla de pares de lista de espera puede utilizarse para determinar si estos dos juegos de pares de lista de espera ya se han asociado . Si estos dos juegos de pares de lista de espera ya se han asociado, una conexión lógica entre estos dos juegos de pares de lista de espera se reestablece y el número de instancia se incrementa.
La Figura 4 ilustra un sistema de procesamiento de datos que implementa una arquitectura de tejido conmutado basada en canal, para transmitir datos de acuerdo con la presente invención. Sistemas de computadoras que implementan la presente invención pueden estar en el rango desde un pequeño servidor con un procesador y unos cuantos adaptadores de entrada/salida = E/S (1/0 = input/output) para sistemas de supercomputadoras paralelos masivos con cientos o miles de procesadores y miles de adaptadores E/S (1/0) . Además, la presente invención puede implementarse en una infraestructura de sistemas de computadoras remotas conectadas por Internet o una intranet . El sistema de procesamiento de datos 402 incluye una red de área de almacenamiento 42 . Una red de área de almacenamiento también puede ser referida como una "sub-red" . Una sub-red es un grupo de nodos de extremo y conmutadores en cascada que se administra como una sola unidad. Típicamente, una sub-red ocupa una sola área geográfica o funcional. Por ejemplo, un solo sistema de computadora en una habitación puede definirse como una sub-red. El sistema de procesamiento de datos 402 incluye una red de baja latencia, alto ancho de banda, que interconecta nodos dentro del sistema de computadora distribuida. Un nodo es cualquier componente conectado a uno o más enlaces de una red y que forma el origen y/o destino de mensajes dentro de la red. En el ejemplo ilustrado, el sistema de procesamiento de datos 402 incluye nodos en la forma de un nodo procesador anfitrión 406, nodo processor anfitrión 408, nodo de sub-sistema de disco independiente de conjunto redundante (RADI = redundant array independent disk) 462, y nodo de chasis E/S (i/O) 412. Los nodos ilustrados en la Figura 4 son para propósitos ilustrativos solamente, como el SAN 424 puede conectar cualquier cantidad de cualquier tipo de nodos procesadores independientes, nodos adaptadores E/S (1/0) y nodos de dispositivo E/S (I/O) . Cualquiera de los nodos puede funcionar como un nodo de extremo, que aquí se define como un dispositivo que se origina o finalmente consume mensajes o paquetes en SAN 424. SAN 424 incluye la infraestructura para comunicaciones y administración que soporta' tanto comunicaciones E/S (I/O) como interprocesadores (IPC = interprocessor Communications) . SAN 424 incluye un tejido de comunicaciones conmutadas que permite a muchos dispositivos transferir concurrentemente datos con alto ancho de banda y baja latencia en un ambiente administrado en forma remota, seguro. Los nodos de extremo pueden comunicarse sobre múltiples compuertas y utilizar múltiples rutas a través de SAN 424. SAN 424 incluye adaptadores de canal huésped (HCAs - host channel adapters) 426, 428, 430, y 432, adaptadores de canal objetivo (TCAs = target channel adapters) 458, 460, y 468, conmutadores 414, 416, y 452, y ruteador 420. Un conmutador es un dispositivo que conecta múltiples enlaces en conjunto y permite direccionamiento de paquetes desde un enlace a otro enlace dentro de una sub-red utilizando un campo de pequeño cabezal identificador local de destino (DLID - Destination Local Identifier) . En general, un conmutador puede dirigir paquetes de una compuerta a cualquier otra compuerta en el mismo conmutador. Un ruteador es un dispositivo que conecta múltiples sub-redes en conjunto y es capaz de dirigir paquetes desde un enlace en una primer sub-red a otro enlace en una segunda sub-red utilizando un identificador único globalmente de destino de gran cabezal (DGUID = Destination Globally Unique Identifier) . Un enlace es un canal dúplex completo entre cualesquiera dos elementos de tejidos de red, tales como nodos de extremo, conmutadores o ruteadores. Enlaces convenientes ejemplares incluyen, pero no están limitados a cables de cobre, cables ópticos, · y trazos de cobre en circuito impreso en placas de fondo o dispositivos para enchufar otras tarjetas o cables y tableros de circuito impreso . Cada nodo en el sistema de procesamiento de datos 402 incluye al menos un adaptador de canal (CA = channel adapter) . Cada adaptador de canal es un punto extremo que implementa la interfase de adaptador de canal en detalle suficiente a paquetes fuente o paquetes colectores transmitidos utilizando una red de área de almacenamiento (SAN = storage área network) 424. SAN 424 también puede ser referido como un tejido. Un adaptador de canal incluido en un nodo procesador es un adaptador de canal anfitrión (HCA = host channel adapter) . Un adaptador de canal incluido en un nodo diferente a un nodo procesador es un adaptador de canal objetivo (TCA = target channel adapter) . El nodo procesador anfitrión 406 contiene adaptadores de canal en la forma de adaptador de canal anfitrión 426 y adaptador de canal anfitrión 428. El nodo procesador anfitrión 408 contiene el adaptador de canal anfitrión 430 y el adaptador de canal anfitrión 432. El nodo procesador anfitrión 406 también incluye unidades de procesamiento central 434 y 436, y una memoria 440 interconectada por el sistema de conducto 442. El nodo procesador anfitrión 408 similarmente incluye unidades de procesamiento central 444 y 446, y una memoria 448 interconectada por un sistema de conducto 450. El adaptador de canal anfitrión 426 proporciona una conexión al conmutador 414. El adaptador de canal anfitrión 428 proporciona una conexión de los conmutadores 414 y 416. El adaptador de canal anfitrión 430 proporciona una conexión a los conmutadores 414 y 416. Y, el adaptador de canal anfitrión 432 proporciona una conexión al conmutador 416. Los adaptadores de canal anfitrión de preferencia se implementan en equipo físico. En esta implementación, el equipo físico adaptador de canal anfitrión descarga gran parte del espacio de disco para información sin datos de comunicación del adaptador E/S (1/0) de la unidad de procesamiento central. Esta implementación de equipo físico del adaptador de canal anfitrión también permite múltiples comunicaciones concurrentes sobre una red conmutada sin el espacio de disco para información sin datos tradicional, asociado con los protocolos de comunicaciones. El chasis E/S (I/O) 412 incluye un conmutador E/S (I/O) 452 en la placa de fondo del adaptador E/S (I/O) para acoplar tarjetas adaptadoras SAN 424, y múltiples módulos de E/S «(I/O) 454 y 456. En este ejemplo, los módulos de E/S (I/O) toman la forma de tarjetas adaptadoras. Tarjetas adaptadoras pueden incluir una tarjetea adaptadora SCSI, una tarjeta adaptadora a dispositivos de punto de conexión común al canal de fibras y bucle arbitrado por canal de fibras (FC-AL = fiber channel-arbitrated loop) , una tarjeta adaptadora Ethernet, una tarjeta adaptadora de gráficos o una tarjeta adaptadora de video. Cualquier tipo conocido de tarjeta adaptadora puede implementarse . Cada módulo E/S (I/O) incluye un adaptador de canal objetivo. El modulo E/S (1/0) 454 incluye el adaptador de canal objetivo (TCA) 458, y el módulo E/S (1/0) 456 incluye el adaptador de canal objetivo (TCA) 460. Un nodo de subsistema RAID 462 también se incluye en el sistema de procesamiento de datos 402. El nodo 462 incluye un procesador 464, una memoria 466, un adaptador de canal objetivo (TCA) 468, y unidad de disco para almacenamiento intercalado y/o redundante múltiple 470. El adaptador de canal objetivo 468 puede ser un adaptador de canal anfitrión totalmente funcional . SAN 424 proporciona las comunicaciones de interprocesador (IPC) E/S (.1/0) consumidoras del sistema de computadoras distribuidas con cero transferencia de datos copia-procesador, sin involucrar el proceso núcleo del sistema operativo y emplea equipo físico para proporcionar comunicaciones tolerantes a falla, confiables. La Figura 5 es un diagrama de bloques funcional de un nodo procesador anfitrión de acuerdo con la presente invención. El nodo procesador anfitrión 500 es un ejemplo de un nodo procesador anfitrión tal como el nodo procesador anfitrión 406 o 408 ilustrado en la Figura 4. El nodo procesador anfitrión 500 incluye un conjunto de consumidores 502, 504, 506, y 508 que son procesos que se ejecutan en el nodo procesador anfitrión 500. El nodo procesador anfitrión 500 también incluye adaptadores de canal 510 y 512. El adaptador de canal 510 incluye compuertas 514 y 516 mientras que el adaptador de canal 512 incluye las compuertas 518 y 520. Cada compuerta conecta a un enlace. Los consumidores 502-508 transfieren mensajes al SAN, tal como SAN 424, mediante la interfase de verbos 522 y el servicio de mensajes y datos 524. Una interfase de verbos esencialmente es una descripción abstracta de la funcionalidad de un adaptador de canal anfitrión. Un sistema operativo puede exponer algo o toda la funcionalidad de verbo a través de su interfase de programación. Esta interfase define el comportamiento del anfitrión. El servicio de mensajes y datos 524 es una interfase de superior nivel a la capa de verbo y se utiliza para procesar mensajes y datos recibidos a través de los adaptadores de canal 510 y 512. El servicio de mensajes y datos 524 proporciona una interfase de los consumidores 502-508 para procesar mensajes y otros datos . La Figura 6 ilustra una porción de un sistema de computadora distribuido que ilustra un ejemplo de transacción de solicitud y acuse de recibo, de acuerdo con la presente invención. El sistema de computadora distribuido 600 en la Figura 6 incluye un nodo procesador anfitrión 602 y un nodo procesador anfitrión 604. El nodo procesador anfitrión 602 incluye un adaptador de canal anfitrión 606. El nodo procesador anfitrión 604 incluye un adaptador de canal anfitrión 608. El sistema de computadora distribuido en la Figura 6 incluye un tejido SAN 610, que incluye un conmutador 612 y un conmutador 614. El tejido SAN incluye un enlace que acopla el adaptador de canal anfitrión 606 al conmutador 612, un enlace que acopla el conmutador 612 al conmutador 614, y un enlace que acopla el adaptador de canal anfitrión 608 al conmutador 614. En las transacciones ejemplares, el nodo procesador anfitrión 602 incluye un proceso de cliente A. El nodo procesador anfitrión 604 incluye un proceso de cliente B. El proceso de cliente A interactúa con el adaptador de canal anfitrión 606 a través del par de lista de espera 620. El proceso de cliente B interactúa con el adaptador de canal de equipo físico 608 a través del par de lista de espera 622. Los pares de lista de espera 620 y 622 son estructuras que cada una incluye una lista de espera de envío y una lista de espera de recepción. Un par de lista de espera típicamente incluye registros de control dentro del adaptador de canal. El par de lista de espera 620 incluye la lista de espera de envío 624 y la lista de espera de recepción 626. El par de lista de espera 622 incluye la lista de espera de envío 628 y la lista de espera de recepción 630. El proceso A inicia una solicitud de mensaje al enviar elementos de lista de espera en la lista de espera de envío 624 del par de lista de espera 620. Equipo físico en el adaptador de canal anfitrión 606 recibe el elemento de lista de espera en la lista de espera de recepción 630. El proceso B luego lee el elemento de lista de espera y segmenta el mensaje en paquetes, tal como el paquete ilustrado en la Figura 8. El proceso B puede iniciar un mensaje al enviar elementos de lista de espera a la lista de espera de envío 628, que luego se recibe por el proceso A a través de la lista de espera de recepción 626. Paquetes se dirigen a través del tejido SAN, y para servicios de transferencia confiables, se les acusa recibo por el nodo de extremo de destino final . Si no se acusa el recibo sucesivamente, el paquete se retransmite por el nodo de extremo fuente . Se generan paquetes por nodos de extremo fuente y consumen por los nodos de extremo de destino . La Figura 7 ilustra una porción de un sistema de computadora distribuido 100 que emplea un servicio de conexión confiable para comunicar entre procesos distribuidos de acuerdo con la presente invención. Cuando se crea un par de lista de espera, el par de lista de espera se ajusta para proporcionar un tipo selecto de servicio de transporte. Un sistema de computadora distribuido que implementa la modalidad preferida de la presente invención, soporta cuatro tipos de servicios de transporte: conectado confiable (RC) , conectado no confiable (UC) , Datagrama No confiable (UD) , y datagrama confiable (RD) . Servicios conectados confiables y no confiables asocian un par de lista de espera local con uno y solo un par de lista de espera remoto. Servicios conectados requieren un proceso para crear el par de lista de espera para que el proceso se use para comunicarse con otro proceso sobre el tejido SAN. De esta manera, si cada uno de N nodos de procesador anfitrión contiene P procesos, y todos P procesos en cada nodo desea comunicarse con todos los procesos en todos los otros nodos, cada nodo procesador anfitrión requiere P2 x (N - 1) pares de lista de espera. Aún más, un proceso puede conectar un par de lista de espera a otro par de lista de espera en el mismo adaptador de canal anfitrión. El sistema de computadora distribuido 700 en la Figura 7 incluye un nodo procesador anfitrión 1, un nodo procesador anfitrión 2, y un nodo procesador anfitrión 3. El nodo procesador anfitrión 1 incluye un procesador A 710. El nodo procesador anfitrión 2 incluye un proceso C 720 y un proceso D 730. El nodo procesador anfitrión 3 incluye un proceso E 740. El nodo procesador anfitrión 1 incluye pares de lista de espera 4, 6 y 7, cada uno que tiene una lista de espera de envío y una lista de espera de recepción. El nodo procesador anfitrión 2 tiene pares de lista de espera 2 y 5, y el nodo procesador anfitrión 3 tiene un par de lista de espera 9. El servicio de conexión confiable (RC) del sistema de computadora distribuido 700 asocia un par de lista de espera local con uno y solo un par de lista de espera remoto. De esta manera, el par de lista de espera 4 se utiliza para comunicar con el par de lista de espera 2; el par de lista de espera 7 se utiliza para comunicar con el par de lista de espera 5; y el par de lista de espera 6 se utiliza para comunicar con el par de lista de espera 9. Un servicio de conexión confiable (RC) se hace confiable debido a que el equipo físico mantiene números de secuencia y acusa recibe a todas las transferencias de paquete. Una combinación de equipo físico y soporte lógico de controlador o unidad de SAN reintenta cualesquiera comunicaciones con falla. El cliente de proceso del par de lista de espera obtiene comunicaciones confiables incluso en la presencia de errores de bit, insuficiencia de datos de recepción, y congestión de red. Si existen rutas alternas en el tejido SAN, pueden mantenerse comunicaciones confiables, incluso en la presencia de fallas de conmutadores de tejido, enlaces o compuertas adaptadoras de canal . Además, pueden emplearse acuses de recibo para suministrar confiablemente datos a través del tejido SAN. El acuse de recibo puede o no ser, un acuse de recibo a nivel de proceso, es decir un acuse de recibo que valida que un proceso recibido haya consumido los datos . En forma alterna, el acuse de recibo puede ser aquel que solo indica que los datos han alcanzado su destino. La Figura 8 ilustra un paquete de acuerdo con la presente invención. Un mensaje, como se emplea aquí, es una unidad definida por aplicación de intercambio de datos, que es una unidad primitiva de comunicación entre procesos cooperantes. Se dividen mensajes en paquetes. Un paquete es una unidad de datos encapsulada por cabezales y/o colas de protocolo de red. Los cabezales en general proporcionan información y direccionamiento de control para dirigir el paquete a través de SAN. La cola generalmente contiene datos para verificación de redundancia cíclica y control (CRC = cyclic redundancy check) para asegurar que los paquetes no se suministren con contenidos corruptos. Un paquete es una unidad de información que se dirige a través del tejido SAN. El paquete es una construcción de nodo de extremo-a-nodo de extremo, y de esta manera se crea y consume por nodos de extremo. Para paquetes designados a un adaptador de canal (ya sea huésped u objetivo) , los paquetes ni se generan ni se consumen por los conmutadores y ruteadores en el tejido SAN. En su lugar para paquetes que se destinan a un adaptador de canal, conmutadores y ruteadores simplemente mueven los paquetes de solicitud o paquetes de acuse de recibo, más cerca del destino final, modificando los campos de cabezal de enlace variantes en el proceso. Ruteadores también modifican el cabezal de red de los paquete, cuando el paquete cruza una frontera de sub-red. Al recorrer una sub-red, un solo paquete permanece en un solo nivel de servicio. Para tipos de servicio confiables, tales como servicio de transporte de conexión confiable (RC = reliable connection) , nodos de extremo tales como nodos de extremo de procesador anfitrión o huésped, y nodos de extremo de adaptador E/S (1/0) generan paquetes de solicitud y regresan paquetes de acuse de recibo. Conmutadores y ruteadores pasan paquetes desde la fuente, al destino. Excepto por el campo terminador CRC variante, que se actualiza en cada etapa de la red, los conmutadores pasan los paquetes sobre ruteadores no modificados, actualizan el campo terminador CRC variante y modifican otros campos en el cabezal conforme se dirige el paquete . Un mensaje de salida se divide en uno o más paquetes de datos. El equipo físico adaptador de canal agrega un cabezal de transporte y un cabezal de red a cada paquete. De acuerdo con la presente invención, el cabezal de transporte incluye números de secuencia, un número de instancia, y otra información de transporte. El cabezal de red incluye información de direccionamiento, tal como la dirección IP de destino y otra información de direccionamiento de red. El cabezal de enlace contiene el Identificador Local de Destino (DLID = Destination Local Identifier) u otra información de direccionamiento local . El cabezal de enlace apropiado siempre se agrega al paquete. El cabezal de red global apropiado se agrega a un paquete determinado si el nodo de extremo de destino reside en una sub-red remota. Si se emplea un servicio de transporte confiable, cuando un paquete de solicitud de datos alcanza su nodo de extremo de destino, se utilizan paquetes de datos de acuse de recibo por el nodo de extremo de destino, para permitir al remitente del paquete de solicitud de datos, que sepa que el paquete de solicitud de datos fue validado y aceptado en el destino. Los paquetes de acuse de recibo de datos acusan recibe a uno o más paquetes de solicitud de datos válidos y aceptados . El solicitante puede tener múltiples paquetes de solicitud de datos pendientes antes de que reciba cualquier acuse de recibo. En una modalidad, el número de mensajes pendientes múltiples, es decir paquetes de solicitud de datos, se determina cuando se crea un par de lista de espera. El paquete 800 incluye un cabezal de direccionamiento 802, un cabezal de transporte 804, una carga útil de paquete 806, y un CRC 808. El cabezal de direccionamiento 802 se utiliza para identificar puertos dentro de un adaptador de canal de nodos de extremo fuente y destino para carga útil de paquete 806. El cabezal de transporte 804 especifica el par de lista de espera de destino para la carga útil de paquete 806. Un campo de número de secuencia 810 se localiza en el cabezal de transporte 804. En la técnica previa, el número de secuencia se representa por todos los bits incluidos en el campo de número de secuencia 810. Sin embargo, de acuerdo con la presente invención, un número de secuencia y un número de instancia ambos se representan por todos los bits del campo de número de secuencia 810. De acuerdo con la presente invención, el número de secuencia incluye tanto una porción de instancia 812 como una porción de secuencia 814. De esta manera, los números de secuencia de la presente invención incluyen tanto una porción de secuencia que se incrementa en cada paquete, como una porción de instancia que permanece constante durante cada conexión lógica. El cabezal de transporte 804 también proporciona información tal como el código de operación y partición para la carga útil de paquete 806. CRC 808 se utiliza para verificación de error. El código de operación identifica si el paquete es el primero, último, intermedio o si es el único paquete de un mensaje. El código de operación también especifica si la operación es una escritura de envío RDMA, lectura, o atómica. De acuerdo con la presente invención, un número de instancia se almacena en el campo 812 por cada paquete. El número de instancia permanece constante durante una instancia de una conexión lógica. Si se desgarra o desintegra una conexión lógica y posteriormente se reestablece, el número de instancia se incrementa . Este número de instancia incrementado luego se almacena en el campo 812 por cada paquete transmitido utilizando esta conexión lógica re-establecida. Cada vez que se transmite un paquete, se incrementa la porción de secuencia 814. La Figura 9 ilustra un diagrama de flujo de alto nivel que ilustra incluyendo el número de instancia en cada paquete de acuerdo con la presente invención. El proceso se inicia como se ilustra por el bloque 900 y posteriormente pasa al bloque 902 que ilustra el inicio de la ejecución de un consumidor en un nodo procesador. A continuación, el bloque 904 ilustra el establecer una conexión lógica entre el nodo de extremo del procesador y el segundo nodo de extremo . Cuando se establece una conexión lógica entre estos nodos de extremo, un par de lista de espera de envío y recibo en el primer nodo de extremo se asocia con un par de lista de espera de envío y recibo en el segundo nodo de extremo. Esta asociación puede estar utilizando una tabla de pares de lista de espera mantenida en cada nodo de extremo por el administrador de comunicación de nodo de extremo.
Posteriormente, el bloque 906 ilustra una determinación por el nodo de extremo procesador de si fue o no esta la primera vez que se estableciera una conexión lógica entre el par de lista de espera particular en el procesador y el nodo y un par de lista de espera particular en el segundo nodo de extremo. Un nodo de extremo puede utilizar la tabla por pares de lista de espera para determinar si esta es la primera vez que se ha establecido una conexión lógica. La tabla de pares de lista de espera indicará si una conexión lógica ya se ha establecido. Cuando se desintegra una conexión lógica, los pares de lista de espera en ambos nodos de extremo se ponen en un estado de reposo y no se asocian en conjunto más. Las tablas de pares de lista de espera en cada nodo reflejarán los pares de lista de espera que se encuentran en un estado en reposo. Si ya se ha establecido una conexión lógica y no se ha desintegrado, los pares de lista de espera en cada nodo permanecen asociados entre sí. Las tablas de pares de lista de espera en cada nodo de extremo indicarán que los pares de lista de espera aún están asociados entre sí. Un nodo de extremo puede utilizar su tabla de par de lista de espera para determinar sí una conexión lógica ya se ha establecido al determinar si un par de lista de espera se ha asociado con un par de lista de espera en el segundo nodo. Si un par de lista de espera en este nodo se asocia con un par de lista de espera en el segundo nodo, una conexión lógica entre estos nodos de extremo ya se ha establecido. Si un par de lista de espera en este nodo no se asocia con un par de lista de espera en el segundo nodo, la conexión lógica entre estos nodos de extremo no se ha establecido . De nuevo con referencia al bloque 906, si se realiza una determinación de que esta es la primera vez que una conexión lógica se ha establecido entre estos dos juegos particulares de pares de lista de espera, el proceso pasa al bloque 908 que ilustra los administradores de conexión lógica por cada nodo de extremo intercambiando un número de instancia de partida. Este número de instancia de partida se vuelve el número de instancia actual o presente y permanece constante mientras que permanece establecida esta conexión lógica . El proceso luego pasa al bloque 910 que ilustra los administradores de conexión lógica que intercambian sus números de secuencia de partida. El número de secuencia se almacena en la porción de número de secuencia del campo de número de secuencia y no permanece constante . Se incrementa cada vez que se transmite un paquete. Además, cada nodo de extremo puede elegir su propio número de secuencia que no está relacionado al número de secuencia selecto por el otro nodo de extremo. El número de instancia se almacena en la porción de número de instancia del campo de número de secuencia y permanece constante siempre que esta conexión lógica permanece establecida. Posteriormente, el bloque 912 ilustra la transmisión de paquetes entre los nodos de extremo incrementando los números de secuencia de paquete almacenados en la porción de número de secuencia con cada paquete. A continuación, el bloque 914 ilustra incluir el número de instancia actual en cada paquete. El número de instancia permanece constante por cada paquete transmitido durante esta conexión lógica. El bloque 916, luego, ilustra una determinación de si se ha perdido o no la conexión lógica actual . Si se realiza una determinación que la conexión lógica actual no se ha perdido, el proceso pasa de regreso al bloque 912. De nuevo con referencia al bloque 916, si se realiza una determinación de que la conexión lógica se ha perdido, el proceso pasa al bloque 918. El bloque 918 ilustra una determinación si se reestablece o no una conexión lógica entre estos dos pares de lista de espera. Si se realiza la determinación de que una conexión lógica entre estos pares de pares de lista de espera no se ha reestablecido, el proceso pasa al bloque 920. De nuevo con referencia al bloque 918, si se realiza una determinación para reestablecer una conexión lógica entre estos dos pares de lista de espera, el proceso pasa al bloque 922. El bloque 922 ilustra reestablecer una conexión lógica entre estos dos pares de lista de espera sin requerir que ningún estado de espera sea ejecutado. El proceso pasa de nuevo al bloque 906. De nuevo con referencia al bloque 906, si se realiza una determinación de que esta no es la primera vez que se ha establecido una conexión lógica entre estos dos pares de lista de espera particulares para este servicio, el proceso pasa al bloque 934. El bloque 934 ilustra el determinar el número de instancia empleado para transmisiones durante la última conexión lógica establecida para estos dos pares de lista de espera particulares. A continuación, el bloque 936 ilustra cambiar el último número de instancia a un nuevo número de instancia . Este nuevo número de instancia luego se utiliza como el número de instancia actual. Aunque el número de instancia típicamente se cambiará al incrementar el número de instancia, el número de instancia puede cambiarse por cualquier medio tal como al disminuir el número de instancia. El proceso luego pasa al bloque 910. La Figura 10 ilustra un diagrama de flujo de alto nivel que muestra un nodo de extremo que determina si un paquete recibido se transmitió durante la conexión lógica actual de acuerdo con la presente invención. El proceso empieza como se ilustra por el bloque 1000 y posteriormente pasa al bloque 1002 que ilustra a un nodo de extremo que recibe un paquete el cual incluye un número de instancia. A continuación, el bloque 1004 ilustra que el nodo de extremo determine el número de instancia actual. Posteriormente, el bloque 1006 ilustra el nodo de extremo que compara el número de instancia actual con el número de instancia incluido dentro del paquete recibido. El proceso luego pasa al bloque 1008 que ilustra una determinación de si el paquete incluye o no el número de instancia actual . Si se hace una determinación de que el paquete no incluye el número de instancia actual, el proceso pasa al bloque 1010 que ilustra al nodo de extremo procesando el paquete normalmente . El proceso luego pasa de regreso al bloque 1002. De nuevo con referencia al bloque 1008, si se hace una determinación de que el paquete no incluye el número de instancia actual , el proceso pasa al bloque 1012 que ilustra al nodo de extremo descartando el paquete . El proceso luego pasa de regreso al bloque 1002. La presente invención puede utilizarse cualquier vez que una conexión lógica se desarma o desintegra y luego reestablece. Conexiones lógicas se desintegran y reestablecen por una variedad de razones . Muchas razones son condiciones de error detectadas en los nodos de extremo que no pueden ser recuperadas al simplemente re-transmitir los paquetes. Por ejemplo, paquetes mal formados y errores de secuencia pueden poner un par de lista de espera en este estado de error. Otra Tazón para desintegrar y reestablecer una conexión es cambios MTU de ruta en el tejido. El tamaño de la carga útil de paquete máximo puede transmitirse en un enlace se denomina la unidad de transmisión máxima (MTU = máximum transmission unit) . Por ejemplo, considere un solo enlace en el tejido. Si en memoria intermedia en un lado del enlace el paquete almacena cargas útiles de manejo de paquete de hasta 512 octetos y el paquete almacena en memoria intermedia por otra parte del paquete de manejo de enlace de carga útiles de hasta 1025 octetos, la carga útil de paquete más grande que puede transmitirse en este enlace no podr ser más grande que 512 octetos, el más pequeño de los dos lados del enlace. Por simplicidad, el tamaño de cargado del paquete también se utiliza cuando se describe el tamaño del paquete . Si la ruta de un nodo a otro incluye cualesquiera conmutadores y/o ruteadores, hay más de un enlace en la ruta. En este caso, la MTU ahora se denomina la MTU de ruta y es la MTU más pequeña de todos los enlaces en la ruta. Por ejemplo, si uno de los enlaces en la ruta tiene una MTU de 512 octetos y todos los otros enlaces tienen una MTU de 4096 octetos , los paquetes más grandes que pueden transmitirse en la ruta son de solo 512 octetos. Si la MTU de ruta se incrementa como resultado de una omisión, la conexión ya debe ser drenada (no se generan nuevos paquetes de solicitud y a todos los paquetes pendientes se les ha acusado recibo) o desintegrado y reestablecen para aprovechar la nueva MTU de ruta más grande. Esta situación puede ser manejada eficientemente utilizando la presente invención, debido a que el periodo de espera de paquete pasado ya no es más necesario. La conexión lógica puede ser desintegrada e inmediatamente reestablecida sin necesidad por estados de espera. ' Es importante notar que mientras que la presente invención se ha descrito en el contexto de un sistema de procesamiento de datos totalmente funcional, aquellos con destreza ordinaria en la especialidad apreciarán que los procesos de la presente invención son capaces de ser distribuidos en la forma de un medio de instrucciones legible por computadora y una variedad de formas y que la presente invención aplica igualmente independiente del tipo particular de medio que contiene señal actualmente empleado para llevar a la cabo la distribución. Ejemplos de medios legibles por computadora incluyen medios de tipo registrable, tales como un disco flexible, una unidad de disco duro, una RAM, CD-ROMs, DVD-ROMs, y medios de tipo de transmisión, tales como enlaces de comunicaciones digitales y analógicas, enlace de comunicaciones alámbricas o inalámbricas utilizando formas de transmisión, tales como por ejemplo, transmisiones de radio frecuencia y de ondas de luz . El medio legible por computadora puede tomar formatos codificados que se descodifican para uso actual en un sistema de procesamiento de datos particular. La descripción de la presente invención se ha presentado para propósitos de ilustración y descripción, y no se pretende exhaustiva o limitante de la invención en la forma descrita. Muchas modificaciones y variaciones serán aparentes para aquellos con destreza ordinaria en la especialidad. La modalidad se eligió y describió a fin de explicar mejor los principios de la invención, la aplicación práctica y para permitir a otros con destreza ordinaria en la especialidad el comprender la invención para diversas modalidades con varias modificaciones como sea adecuado al uso particular contemplado.

Claims (10)

  1. REIVINDICACIONES 1. Método para administrar datos transmitidos desde un primer nodo de extremo a un segundo nodo de extremo en un sistema de procesamiento de datos, el método se caracteriza porque comprende las etapas de: establecer una conexión lógica entre el primer nodo de extremo y el segundo nodo de extremo antes de transmitir datos entre el primer y segundo nodos de extremo; asociar un número de instancia con la conexión lógica; en donde el número de instancia permanece constante durante la conexión lógica; transmitir uno o más paquetes del primer nodo de extremo al segundo nodo de extremo incluyendo el número de instancia asociada en los paquetes mientras que permanece establecida la conexión lógica; recibir un paquete, por el segundo nodo de extremo; identificar, utilizando el segundo nodo de extremo un número de instancia incluido en el paquete recibido; determinar si el número de instancia incluido en el paquete recibido es el número de instancia asociado; en respuesta a determinar que el número de instancia incluido en el paquete recibido es el número de instancia asociado, procesar el paquete recibido normalmente por el segundo nodo de extremo; y en respuesta a una determinación de que el número de instancia incluido en el paquete recibido no es el número de .instancia asociado, descartar, por el segundo nodo de extremo, el paquete recibido .
  2. 2. Método de conformidad con la reivindicación 1, caracterizado además porgue comprende las etapas de: reestablecer una conexión lógica entre el primer y segundo nodos de extremo; incrementar el número de instancia y asociar el número de instancia incrementado con la conexión lógica reestablecida; e incluir el número de instancia incrementado en cada paquete transmitido entre el primer y segundo nodos de extremos durante la conexión lógica reestablecida, el número de instancia incrementado permanece constante durante la conexión lógica reestablecida.
  3. 3. Método de conformidad con la reivindicación 1, caracterizado porque la etapa de establecer una conexión lógica entre el primer nodo de extremo y el segundo nodo de extremo, además comprende la etapa de: asociar un par de lista de espera en el primer nodo de extremo con un par de lista de espera en el segundo nodo de extremo .
  4. 4. Método de conformidad con la reivindicación 3, caracterizado porque la etapa de asociar un par de lista de espera en el primer nodo de extremo con un par de lista de espera en el segundo nodo de extremo, además comprende las etapas de: establecer una tabla de pares de lista de espera en el primer nodo de extremo; y almacenar dentro de la tabla una indicación de una asociación entre el par de lista de espera en el primer nodo de extremo, con un par de lista de espera en el segundo nodo de extremo .
  5. 5. Método de conformidad con la reivindicación 4, caracterizado porque además comprende las etapas de: transmitir un paquete desde el segundo nodo de extremo al primer nodo de extremo utilizando una conexión lógica particular; recibir el paquete, utilizando el primer nodo de extremo; y utilizar la tabla para determinar si la conexión lógica particular se estableció previamente.
  6. 6. Método de conformidad con la reivindicación 5, caracterizado porque la etapa de utilizar la tabla para determinar si la conexión lógica particular se estableció previamente, además comprende la etapa de: determinar si se almacena una indicación en la tabla, de una asociación entre un par de lista de espera en el primer nodo de extremo con un par de lista de espera en el segundo nodo de extremo.
  7. 7. Método de conformidad con la reivindicación 1, caracterizado porque además comprende la etapa de: incluir el número de instancia asociado en un cabezal de transporte en cada paquete transmitido entre el primer y segundo nodos de extremo durante la conexión lógica.
  8. 8. Método de conformidad con la reivindicación 1, caracterizado porque además comprende las etapas de: determinar si la conexión lógica es una primer conexión lógica entre el primer y segundo nodos de extremo; en respuesta a una determinación de que la conexión lógica es una primer conexión lógica: asociar un número de instancia con la conexión lógica; incluir el número de instancia asociado en cada paquete transmitido entre el primer y segundo nodos de extremo durante la conexión lógica, el número de instancia permanece constante durante la conexión lógica; y utilizar el número de instancia asociado como un número de instancia actual; y en respuesta a una determinación de que la conexión lógica no es una primer conexión lógica-, incrementar el número de instancia actual; utilizar el número de instancia actual incrementado como un número de instancia actual; e incluir el número de instancia actual incrementado en cada paquete transmitido entre el primer y segundo nodos de extremo durante la conexión lógica.
  9. 9. Un sistema de procesamiento de datos para administrar datos transmitidos desde un primer nodo de extremo a un segundo nodo de extremo en el sistema de procesamiento de datos, caracterizado porque comprende: medios para establecer una conexión lógica entre el primer nodo de extremo y el segundo nodo de extremo antes de transmitir datos entre el primer y el segundo nodos de extremo; medios para asociar un número de instancia con la conexión lógica; y medios para transmitir uno o más paquetes entre los nodos de extremo e incluir el número de instancia asociado en cada paquete mientras que la conexión lógica permanece establecida, el número de instancia asociado permanece constante durante la conexión lógica, medios para recibir un paquete, identificar un número de instancia incluido en el paquete recibido; medios para determinar que el número de instancia incluido en el paquete recibido es el número de instancia asociado; y medios para procesar o descartar el paquete recibido dependiendo de la asociación.
  10. 10. Un programa de computadora para, cuando se carga en un sistema de computadora y ejecuta en él, realizar todas las etapas de un método de acuerdo con cualquiera de las reivindicaciones 1 a 8.
MXPA04010437A 2002-04-25 2003-04-01 Sistema, metodo y producto para administrar transferencias de datos en una red. MXPA04010437A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/132,456 US7149220B2 (en) 2002-04-25 2002-04-25 System, method, and product for managing data transfers in a network
PCT/GB2003/001416 WO2003091888A2 (en) 2002-04-25 2003-04-01 System, method, and product for managing data transfers in a network

Publications (1)

Publication Number Publication Date
MXPA04010437A true MXPA04010437A (es) 2004-12-13

Family

ID=29248774

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA04010437A MXPA04010437A (es) 2002-04-25 2003-04-01 Sistema, metodo y producto para administrar transferencias de datos en una red.

Country Status (13)

Country Link
US (1) US7149220B2 (es)
EP (1) EP1499984B1 (es)
JP (1) JP4099170B2 (es)
KR (1) KR100651571B1 (es)
CN (1) CN1633647B (es)
AT (1) ATE314691T1 (es)
AU (1) AU2003214470A1 (es)
CA (1) CA2483197C (es)
DE (1) DE60303026T2 (es)
IL (1) IL164724A0 (es)
MX (1) MXPA04010437A (es)
TW (1) TWI252651B (es)
WO (1) WO2003091888A2 (es)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8724485B2 (en) 2000-08-30 2014-05-13 Broadcom Corporation Home network system and method
US9094226B2 (en) 2000-08-30 2015-07-28 Broadcom Corporation Home network system and method
JP2004525533A (ja) 2000-08-30 2004-08-19 ティアリス, インコーポレイテッド 家庭用ネットワークシステムおよび方法
US7430623B2 (en) * 2003-02-08 2008-09-30 Hewlett-Packard Development Company, L.P. System and method for buffering data received from a network
US7673070B1 (en) * 2003-03-17 2010-03-02 Network Equipment Technologies, Inc. Method of sharing telecommunications node equipment facilities
US7620693B1 (en) * 2004-03-29 2009-11-17 Sun Microsystems, Inc. System and method for tracking infiniband RDMA read responses
US8055818B2 (en) * 2004-08-30 2011-11-08 International Business Machines Corporation Low latency queue pairs for I/O adapters
CN100442256C (zh) * 2004-11-10 2008-12-10 国际商业机器公司 提供用于i/o适配器的队列对的方法、系统和存储介质
US20060259570A1 (en) * 2005-05-13 2006-11-16 Microsoft Corporation Method and system for closing an RDMA connection
US7761619B2 (en) * 2005-05-13 2010-07-20 Microsoft Corporation Method and system for parallelizing completion event processing
US20070011287A1 (en) * 2005-05-16 2007-01-11 Charbel Khawand Systems and methods for seamless handover in a streaming data application
US7782850B2 (en) 2006-11-20 2010-08-24 Broadcom Corporation MAC to PHY interface apparatus and methods for transmission of packets through a communications network
US8090043B2 (en) 2006-11-20 2012-01-03 Broadcom Corporation Apparatus and methods for compensating for signal imbalance in a receiver
US7742495B2 (en) 2006-11-20 2010-06-22 Broadcom Corporation System and method for retransmitting packets over a network of communication channels
US8345553B2 (en) 2007-05-31 2013-01-01 Broadcom Corporation Apparatus and methods for reduction of transmission delay in a communication network
US9112717B2 (en) 2008-07-31 2015-08-18 Broadcom Corporation Systems and methods for providing a MoCA power management strategy
US20100097931A1 (en) * 2008-10-21 2010-04-22 Shakeel Mustafa Management of packet flow in a network
US8213309B2 (en) 2008-12-22 2012-07-03 Broadcom Corporation Systems and methods for reducing latency and reservation request overhead in a communications network
US8254413B2 (en) 2008-12-22 2012-08-28 Broadcom Corporation Systems and methods for physical layer (“PHY”) concatenation in a multimedia over coax alliance network
US8238227B2 (en) * 2008-12-22 2012-08-07 Broadcom Corporation Systems and methods for providing a MoCA improved performance for short burst packets
US8553547B2 (en) 2009-03-30 2013-10-08 Broadcom Corporation Systems and methods for retransmitting packets over a network of communication channels
US20100254278A1 (en) 2009-04-07 2010-10-07 Broadcom Corporation Assessment in an information network
US8730798B2 (en) 2009-05-05 2014-05-20 Broadcom Corporation Transmitter channel throughput in an information network
US8867355B2 (en) 2009-07-14 2014-10-21 Broadcom Corporation MoCA multicast handling
US8942250B2 (en) 2009-10-07 2015-01-27 Broadcom Corporation Systems and methods for providing service (“SRV”) node selection
US8611327B2 (en) 2010-02-22 2013-12-17 Broadcom Corporation Method and apparatus for policing a QoS flow in a MoCA 2.0 network
US8514860B2 (en) 2010-02-23 2013-08-20 Broadcom Corporation Systems and methods for implementing a high throughput mode for a MoCA device
JP2015216450A (ja) 2014-05-08 2015-12-03 富士通株式会社 情報処理装置、情報処理システム及び中継プログラム
US10498654B2 (en) 2015-12-28 2019-12-03 Amazon Technologies, Inc. Multi-path transport design
US9985903B2 (en) 2015-12-29 2018-05-29 Amazon Technologies, Inc. Reliable, out-of-order receipt of packets
US10148570B2 (en) 2015-12-29 2018-12-04 Amazon Technologies, Inc. Connectionless reliable transport
EP3734931B1 (en) * 2015-12-29 2022-07-27 Amazon Technologies, Inc. Networking technologies
US9985904B2 (en) 2015-12-29 2018-05-29 Amazon Technolgies, Inc. Reliable, out-of-order transmission of packets

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3032419B2 (ja) * 1993-02-17 2000-04-17 三菱電機株式会社 データ転送方法
JPH0746287A (ja) * 1993-06-29 1995-02-14 Toshiba Corp オンラインシステム
CN1104687C (zh) 1996-01-31 2003-04-02 伊普思龙网络公司 传输网络中在包路由选择和包交换之间动态转换的改进方法及设备
US5857188A (en) * 1996-04-29 1999-01-05 Ncr Corporation Management of client requests in a client-server environment
JPH10177548A (ja) * 1996-12-18 1998-06-30 Casio Comput Co Ltd セッション管理システム
JP3608905B2 (ja) * 1997-05-29 2005-01-12 三菱電機株式会社 データ通信システム及びデータ通信方法
JP3088683B2 (ja) * 1997-05-29 2000-09-18 三菱電機株式会社 データ通信システム
US6545981B1 (en) * 1998-01-07 2003-04-08 Compaq Computer Corporation System and method for implementing error detection and recovery in a system area network
US6493343B1 (en) 1998-01-07 2002-12-10 Compaq Information Technologies Group System and method for implementing multi-pathing data transfers in a system area network
US6798742B1 (en) * 1998-01-16 2004-09-28 Paradyne Corporation System and method for the measurement of service quality in a communication network
JP2000156707A (ja) * 1998-11-19 2000-06-06 Nec Corp パケット交換局及びパケット交換ネットワークシステム
JP2000242434A (ja) * 1998-12-22 2000-09-08 Hitachi Ltd 記憶装置システム
US6483804B1 (en) 1999-03-01 2002-11-19 Sun Microsystems, Inc. Method and apparatus for dynamic packet batching with a high performance network interface
JP2000347965A (ja) * 1999-06-07 2000-12-15 Toshiba Corp モバイル通信システム、及びモバイル通信方法
JP2001057583A (ja) * 1999-08-17 2001-02-27 Mitsubishi Electric Corp データ転送制御方法およびデータ転送制御装置

Also Published As

Publication number Publication date
JP4099170B2 (ja) 2008-06-11
TW200306719A (en) 2003-11-16
EP1499984B1 (en) 2005-12-28
CN1633647B (zh) 2010-09-08
DE60303026D1 (de) 2006-02-02
JP2005524264A (ja) 2005-08-11
CA2483197C (en) 2010-07-13
US20030202519A1 (en) 2003-10-30
ATE314691T1 (de) 2006-01-15
AU2003214470A8 (en) 2003-11-10
AU2003214470A1 (en) 2003-11-10
WO2003091888A2 (en) 2003-11-06
CN1633647A (zh) 2005-06-29
WO2003091888A3 (en) 2004-03-04
DE60303026T2 (de) 2006-07-27
TWI252651B (en) 2006-04-01
KR100651571B1 (ko) 2006-11-29
KR20040105224A (ko) 2004-12-14
IL164724A0 (en) 2005-12-18
CA2483197A1 (en) 2003-11-06
US7149220B2 (en) 2006-12-12
EP1499984A2 (en) 2005-01-26

Similar Documents

Publication Publication Date Title
EP1499984B1 (en) System, method, and product for managing data transfers in a network
US6724762B2 (en) System and method for implementing multi-pathing data transfers in a system area network
US7876751B2 (en) Reliable link layer packet retry
US6721806B2 (en) Remote direct memory access enabled network interface controller switchover and switchback support
US7095750B2 (en) Apparatus and method for virtualizing a queue pair space to minimize time-wait impacts
US7519650B2 (en) Split socket send queue apparatus and method with efficient queue flow control, retransmission and sack support mechanisms
US7165110B2 (en) System and method for simultaneously establishing multiple connections
US8023520B2 (en) Signaling packet
US7734720B2 (en) Apparatus and system for distributing block data on a private network without using TCP/IP
US6766467B1 (en) Method and apparatus for pausing a send queue without causing sympathy errors
US20040010594A1 (en) Virtualizing the security parameter index, marker key, frame key, and verification tag
US6898638B2 (en) Method and apparatus for grouping data for transfer according to recipient buffer size
US20020198927A1 (en) Apparatus and method for routing internet protocol frames over a system area network
US6980551B2 (en) Full transmission control protocol off-load
US20020078265A1 (en) Method and apparatus for transferring data in a network data processing system
CN117354253A (zh) 一种网络拥塞通知方法、装置及存储介质
US8150996B2 (en) Method and apparatus for handling flow control for a data transfer
US6904545B1 (en) Fault tolerant computing node having multiple host channel adapters

Legal Events

Date Code Title Description
FG Grant or registration