ES2637665T3 - Circuitos eficaces en redes de conmutación de paquetes - Google Patents

Circuitos eficaces en redes de conmutación de paquetes Download PDF

Info

Publication number
ES2637665T3
ES2637665T3 ES12776594.9T ES12776594T ES2637665T3 ES 2637665 T3 ES2637665 T3 ES 2637665T3 ES 12776594 T ES12776594 T ES 12776594T ES 2637665 T3 ES2637665 T3 ES 2637665T3
Authority
ES
Spain
Prior art keywords
messages
endpoint
rts
receiving device
sending
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES12776594.9T
Other languages
English (en)
Inventor
Jeremy E. Elson
Edmund B. Nightingale
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Application granted granted Critical
Publication of ES2637665T3 publication Critical patent/ES2637665T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/72Admission control; Resource allocation using reservation actions during connection setup
    • H04L47/722Admission control; Resource allocation using reservation actions during connection setup at the destination endpoint, e.g. reservation of terminal resources or buffer space
    • 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/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/16Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
    • H04W28/18Negotiating wireless communication parameters
    • H04W28/20Negotiating bandwidth

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Un procedimiento, que comprende: enviar (412), mediante un dispositivo emisor (102) de punto extremo, una primera solicitud para enviar, RTS (116), a un primer dispositivo receptor (104) de punto extremo conectado al dispositivo emisor (102) de punto extremo mediante una red de conmutación de paquetes (106), la primera RTS (116) asociada con una primera reserva de ancho de banda del primer dispositivo receptor (104) de punto extremo para la recepción de mensajes (110) procedentes del dispositivo emisor (102) de punto extremo, indicando (412C) la primera RTS (116) un primer número de mensajes (110) que el dispositivo emisor (102) de punto extremo tiene que enviar al primer dispositivo receptor (104) de punto extremo, y el tamaño o tamaños de mensaje o mensajes asociados con la primera RTS; y en respuesta a recibir (414), mediante el dispositivo emisor (102) de punto extremo, una respuesta (126) desde el primer dispositivo receptor (104) de punto extremo que proporciona (416) permiso para enviar un segundo número de mensajes (110) que es menor que el primer número de mensajes al primer dispositivo receptor (104) de punto extremo utilizando el primer ancho de banda reservado del primer dispositivo receptor (104) de punto extremo, creando la primera RTS (116) y la respuesta (126) un circuito eficaz entre el dispositivo emisor (102) de punto 15 extremo y el primer dispositivo receptor (104) de punto extremo sobre la red de conmutación de paquetes (106), enviar (418) el segundo número de mensajes (110) desde el dispositivo emisor (102) de punto extremo al primer dispositivo receptor (104) de punto extremo.

Description

5
10
15
20
25
30
35
40
45
50
55
DESCRIPCION
Circuitos eficaces en redes de conmutacion de paquetes Antecedentes
A menudo se transmiten mensajes a traves de redes de conmutacion de paquetes utilizando el conjunto de protocolos denominado protocolo de control de transmision/protocolo de internet (TCP/IP, Transmission Control Protocol/ Internet Protocol). TCP/IP determina el ancho de banda del trayecto para la transmision de mensajes mediante dispositivo emisor utilizando un enfoque de ensayo y error. La velocidad a la que el dispositivo emisor envfa mensajes se aumenta hasta que se produce perdida de paquetes. TCP/IP detecta la perdida de paquetes al constatar que para un mensaje enviado no se ha recibido un acuse de recibo. A menudo la perdida de paquetes es resultado de eventos tales como desbordamientos de la memoria tampon que se producen en dispositivos intermedios o de puntos extremos. Al detectar perdida de paquetes, TCP/IP disminuye la velocidad de transmision y transmite mensajes a una velocidad mayor hasta que se vuelve a detectar perdida de paquetes. Aunque este enfoque puede funcionar bien para la transmision de un gran numero de mensajes entre un par de dispositivos, no es eficiente para transmitir un mensaje pequeno o un numero pequeno de mensajes debido a que pueden haberse transmitido todos los mensajes antes de que TCP/IP tenga la oportunidad de detectar perdida de paquetes. Si la velocidad inicial utilizada ha sido demasiado alta, puede ser necesario retransmitir todos los mensajes enviados.
Ademas de la retransmision, la perdida de paquetes puede tener asimismo como resultado una interrupcion temporal de la transmision de mensajes desde un dispositivo emisor. Cuando TCP/IP detecta un cierto numero de perdidas de paquetes en un periodo de tiempo, se asume que la red esta congestionada y TCP/IP aumenta el retardo entre la transmision de mensajes desde el dispositivo emisor que esta experimentando la perdida de paquetes. Dicho retardo puede ser mucho mas costoso para el rendimiento global que la retransmision. Un dispositivo emisor con gran ancho de banda que permita la transmision paralela de muchos mensajes pequenos a muchos receptores puede tener un riesgo particular de ver interrumpida su transmision cuando utiliza TCP/IP.
La utilizacion de redes de ancho de banda de biseccion completa puede aliviar la congestion en el nucleo, pero se puede seguir produciendo perdida de paquetes en las estaciones de los extremos. Si TCP utiliza la perdida como una senal de congestion, se pueden seguir produciendo retardos de retransmision innecesarios.
Otro enfoque para la transmision de mensajes es establecer un circuito entre dos dispositivos a traves de la red. Los circuitos implican habitualmente asignacion de ancho de banda para un canal de comunicacion entre los dispositivos, en los propios dispositivos y en cada dispositivo intermedio. Sin embargo, debido al elevado coste de establecer y desmantelar circuitos, los mensajes cortos que caracterizan muchas aplicaciones de red no puede justificar el coste del establecimiento del circuito.
El documento US 2010/008347 A1 da a conocer un sistema y un procedimiento para un esquema de acceso aleatorio en una red ad hoc inalambrica. El procedimiento comprende transmitir datos a un nodo de recepcion en una red ad hoc inalambrica en un primer bloque de tiempo reservado previamente para transmision. El procedimiento comprende ademas transmitir datos al nodo de recepcion en un segundo bloque de tiempo si la reserva es periodica, comenzando el segundo bloque de tiempo un tiempo que esta una cantidad fija de tiempo L despues del inicio del primer bloque de tiempo.
El documento US 6 577 613 B1 describe sistemas y procedimientos para transmitir datos sobre ancho de banda de transmision en un canal de comunicacion sobre una red inalambrica por medio de acceso multiple orientado a reservas asmcrono, para soportar multimedia en tiempo real. El acceso a un ancho de banda de transmision en un canal de comunicacion se garantiza (o se reserva) desde un terminal para un servidor, estableciendo un ancho de banda reservado para una transmision en un modo a peticion, como se desee. Un terminal reserva ancho de banda con un servidor, en correspondencia que el servidor para reserva un ancho de banda finito para transmisiones de un paquete de datos. El servidor reconoce la solicitud de un ancho de banda finito y aprueba la solicitud, si la capacidad lo permite. Una vez que la solicitud ha sido aprobada, los sistemas y procedimientos proporcionan acceso reservado para ancho de banda de transmision en un canal de comunicaciones con el fin de soportar aplicaciones de red en tiempo real, incluyendo transacciones que involucran redes de area local inalambricas, redes celulares y redes ad hoc.
El documento US 2007/147322 A1 describe sistemas y metodologfas que facilitan la atenuacion de una situacion de nodo oculto en una red en malla inalambrica en la que los nodos utilizan un protocolo de solicitud para enviar/permiso para enviar (RTS/CTS, request-to-send/clear-to-send) junto con un protocolo de solicitud de repeticion automatica tubrida asmcrona. Por ejemplo, un nodo puede competir por un conjunto de subportadoras enviando una senal RTS sobre las subportadoras deseadas, y puede recibir una senal CTS sobre las subportadoras en contienda, donde la senal CTS indica sobre que subportadoras puede el nodo transmitir datos. Si otro nodo ha ganado la contienda para una subportadora particular, el nodo solicitante puede ajustar un nivel de potencia al que transmite una RTS o un paquete de datos, con el fin de permitir que el nodo solicitante utilice la subportadora sin interferir con el nodo ganador.
El documento US 2007/153755 A1 da a conocer que en una red de area local inalambrica (WLAN, Wireless Local Area Network) y un procedimiento de transmision de una trama en la WLAN, se reune informacion del modo y una velocidad de transferencia de datos disponible de cada terminal inalambrico situado dentro de la cobertura de un punto de acceso (AP, Access Point). Se determina si el AP transmite o no una trama de permiso para enviar (CTS) 5 en funcion de la existencia de terminales inalambricos correspondientes a la informacion de modo reunida, antes de que el AP transmita una trama de datos, por lo menos, a un terminal inalambrico. La velocidad de transferencia de datos de la trama CTS se ajusta en base a la velocidad de transferencia de datos disponible reunida, de cada uno de los terminales inalambricos, para transmitir la trama CTS a la velocidad de transferencia de datos ajustada.
El documento US 6 850 489 B1 da a conocer que un sistema de comunicacion incluye una serie de estaciones de
10 comunicacion, y se lleva a cabo comunicacion de datos entre cualesquiera dos estaciones de comunicacion, siendo
una de estas una estacion de transmision y la otra una estacion de recepcion. Cuando se genera algun dato para transmision, la estacion de transmision transmite a la estacion de recepcion un paquete de solicitud de reserva para solicitar una reserva de ancho de banda. La estacion de recepcion reserva un ancho de banda respondiendo al paquete de solicitud de reserva, y transmite a continuacion un paquete de reserva de comunicacion para informar 15 del ancho de banda reservado a la estacion de transmision. La estacion de transmision crea un paquete de datos y transmite a continuacion el paquete de datos creado, a traves del ancho de banda informado.
Compendio
Se definen aspectos de la invencion en las reivindicaciones independientes 1 y 7 (procedimientos), 9 y 12 (aparatos) y 14 (medio de almacenamiento legible por ordenador). Los dispositivos emisores y receptores que comunican a 20 traves de una red de conmutacion de paquetes establecen por sf mismos un circuito eficaz intercambiando una
solicitud de enviar un mensaje y una respuesta que da permiso para enviar ese mensaje. El ancho de banda
suficiente se garantiza en el dispositivo emisor limitando el numero de mensajes a transmitir en paralelo, y se reserva en el dispositivo receptor en respuesta a la recepcion por el dispositivo receptor de una solicitud para transmitir un mensaje. La red de conmutacion de paquetes entre los dispositivos emisores y receptores puede ser 25 una red de ancho de banda de biseccion completa o una red de ancho de banda de gran biseccion, lo que hace innecesaria la reserva de ancho de banda en dispositivos intermedios. El dispositivo receptor puede estar configurado asimismo para rechazar solicitudes de emisores cuando las solicitudes recibidas utilizanan mas ancho de banda del que esta disponible para el dispositivo receptor. En respuesta al rechazo de su solicitud, un dispositivo emisor puede seleccionar un mensaje diferente dirigido a un dispositivo receptor diferente y puede transmitir una 30 solicitud para enviar ese mensaje al dispositivo receptor diferente. Al cambiar a un mensaje diferente y un dispositivo receptor diferente, el dispositivo emisor garantiza que no permanece inactivo mientras tiene mensajes para transmitir.
Este compendio se proporciona para introducir una seleccion de conceptos de forma simplificada, que se describen mejor a continuacion en la descripcion detallada. Este compendio no esta destinado a identificar caractensticas 35 clave o caractensticas esenciales de la materia reivindicada, ni esta destinado a ser utilizado para limitar el alcance de la materia reivindicada.
Breve descripcion de los dibujos
La descripcion detallada se explica haciendo referencia a los dibujos adjuntos, en los que el primer dfgito de la izquierda de un numero de referencia identifica la figura en la que el numero de referencia aparece por primera vez. 40 La utilizacion de los mismos numeros de referencia en figuras diferentes indica elementos o caractensticas similares o identicas.
La figura 1 muestra un entorno de ejemplo, de acuerdo con varias realizaciones.
Las figuras 2a-2b muestran colas de ejemplo de un dispositivo emisor, de acuerdo con varias realizaciones.
La figura 3 muestra una cola de ejemplo de un dispositivo receptor, de acuerdo con varias realizaciones.
45 La figura 4 es un diagrama de flujo que muestra una serie de operaciones llevadas a cabo por un dispositivo emisor para establecer circuitos eficaces con dispositivos receptores sobre una red de conmutacion de paquetes, de acuerdo con varias realizaciones.
La figura 5 es un diagrama de flujo que muestra una serie de operaciones llevadas a cabo por un dispositivo receptor para establecer un circuito eficaz con un dispositivo emisor sobre una red de conmutacion de paquetes en 50 base a una reserva de ancho de banda del dispositivo receptor, de acuerdo con varias realizaciones.
La figura 6 es un diagrama de bloques de una arquitectura de sistema informatico de ejemplo, de acuerdo con varias realizaciones.
5
10
15
20
25
30
35
40
45
50
55
Descripcion detallada
En la presente memoria se describen tecnicas para establecer un circuito eficaz sobre una red de conmutacion de paquetes entre un dispositivo emisor y un dispositivo receptor. Tal como se utiliza en la presente memoria, el termino "circuito eficaz" se refiere a un canal de comunicacion entre dos dispositivos de punto extremo, en el que se garantiza el ancho de banda del canal. A diferencia de un circuito tradicional, el circuito eficaz discutido en la presente memoria no requiere el establecimiento de una sobrecarga sustancial. Al utilizar una red de conmutacion de paquetes de ancho de banda de biseccion completa o de ancho de banda de gran biseccion, la reserva de ancho de banda en los dispositivos intermedios resulta innecesaria. El ancho de banda se garantiza en los puntos extremos del circuito eficaz limitando la transmision de mensajes en el dispositivo emisor y reservando en el dispositivo receptor ancho de banda para mensajes del dispositivo emisor.
Esta invencion aprovecha la observacion de que, en redes de ancho de banda de biseccion elevada o completa, la congestion se produce mtegramente en las estaciones extremas (dispositivos emisores y receptores), no en el centro de la red. Por consiguiente, se hace factible realizar asignacion de ancho de banda en los bordes de la red, en lugar del procedimiento tradicional de vigilar la perdida de paquetes -que es una senal implfcita del nucleo de la red.
Para reservar ancho de banda del dispositivo receptor, el dispositivo emisor transmite un mensaje de solicitud para enviar (RTS) para cada mensaje de datos que el dispositivo emisor tiene que enviar al dispositivo receptor. El dispositivo emisor puede tener multiples mensajes de datos para transmitir a uno o varios dispositivos receptores y puede limitar el numero de mensajes RTS enviados en base al ancho de banda del dispositivo emisor para la transmision de los mensajes de datos. A limitar el numero de mensajes RTS, el dispositivo emisor puede asumir respuestas negativas, por lo menos, a algunos de los mensajes RTS y, por lo tanto, solicitar la transmision de mensajes de datos que colectivamente utilizanan mas ancho de banda para transmitir del que el dispositivo emisor tiene disponible. En algunas realizaciones, el dispositivo emisor puede tener un numero de mensajes de datos para transmitir a un unico dispositivo receptor y puede enviar un mensaje RTS para los multiples mensajes de datos.
Los dispositivos receptores pueden recibir mensajes RTS desde multiples dispositivos emisores. Estos mensajes RTS pueden solicitar permiso para enviar mensajes de datos que utilizanan colectivamente para su recepcion un ancho de banda mayor del que tiene disponible el dispositivo receptor. Para garantizar que este recibe solamente tantos mensajes de datos simultaneos o concurrentes como ancho de banda tiene para recibir, el dispositivo receptor puede reservar ancho de banda para que uno o varios dispositivos emisores transmitan sus mensajes de datos, y responder a los mensajes RTS de otros dispositivos emisores con un mensaje que rechaza sus solicitudes para enviar mensajes de datos (estas respuestas negativas se denominan en la presente memoria mensajes de "ocupado, intentar mas tarde" (BTL, "busy try later")). El dispositivo receptor responde a los dispositivos emisores para los que tiene ancho de banda reservado con mensajes que proporcionan permiso para enviar mensajes de datos (estos mensajes que proporcionan permiso para enviar se denominan en la presente memoria "mensajes CTS"). Al seleccionar a que dispositivos emisores responde con mensajes CTS, el dispositivo receptor puede ordenar los mensajes RTS de algun modo. Por ejemplo, el dispositivo receptor puede ordenar los mensajes RTS en base a prioridades incluidas en los mensajes RTS o en base a las cantidades de mensajes BTL enviados anteriormente a los dispositivos emisores de los mensajes RTS.
Tras las recepcion de un mensaje CTS, se establece un circuito eficaz entre el dispositivo emisor que lo recibe y el dispositivo receptor. A continuacion, el dispositivo emisor puede proceder a enviar al dispositivo receptor mensajes de datos para los que ha recibido permiso. En algunas realizaciones, el dispositivo receptor puede responder solamente con mensajes CTS para un subconjunto de mensajes RTS enviados a dicho dispositivo receptor por el dispositivo emisor.
En respuesta a la recepcion de un mensaje BTL, el dispositivo emisor puede seleccionar un mensaje de datos diferente dirigido a un dispositivo receptor diferente y enviar a dicho dispositivo receptor un mensaje RTS para dicho mensaje de datos. En algunas realizaciones, el dispositivo emisor puede poner en cola los mensajes de datos y el dispositivo emisor puede seleccionar de la cola un primer mensaje que esta dirigido a un dispositivo receptor diferente y para el que no se ha enviado anteriormente una RTS. Al reservar ancho de banda en un dispositivo receptor alternativo, el dispositivo emisor garantiza que no tiene ancho de banda inactivo mientras sigue teniendo mensajes de datos para enviar.
En algunas realizaciones, el dispositivo emisor no necesita enviar una RTS para cada mensaje de datos. Los mensajes de datos que son mensajes de control o que son menores de un tamano umbral pueden simplemente enviarse a los dispositivos receptores sin establecer un circuito eficaz. Esto reduce adicionalmente la sobrecarga global del sistema.
Entorno de ejemplo
La figura 1 muestra un entorno a modo de ejemplo, de acuerdo con diversas realizaciones. Tal como se muestra en la figura 1, los dispositivos emisores 102 pueden comunicar con dispositivos receptores 104 por medio de una red de conmutacion de paquetes 106. Los dispositivos emisores 102 pueden estar equipados con modulos de red 108 que
5
10
15
20
25
30
35
40
45
50
55
60
reciben mensajes 110 de aplicaciones 112 de los dispositivos emisores 102, para su transmision a los dispositivos receptores 104. Los modulos de red 108 pueden poner en cola los mensajes 110, en colas 114 de los dispositivos emisores 102. Antes de transmitir los mensajes 110 a los dispositivos receptores 104, los modulos de red 108 pueden transmitir mensajes de solicitud para enviar (RTS) 116 para los mensajes 110 a los dispositivos receptores 104 por medio de interfaces 118 de los dispositivos emisores 102. A continuacion, estos mensajes RTS 116 pueden ser recibidos por medio de interfaces 120 de los dispositivos receptores 104 y procesados mediante modulos de red 122 de los dispositivos receptores 104. Los modulos de red 122 pueden poner en cola los mensajes RTS 116, en colas 124 de los dispositivos receptores 104 para ordenar los mensajes RTS 116. Los dispositivos receptores 104 pueden responder a continuacion a los mensajes RTS 116 con mensajes 126 que proporcionan permiso para enviar (es decir, mensajes CTS) los mensajes 110, o con mensajes 126 que rechazan los mensajes RTS 116 (es decir, mensajes BTL). A continuacion, los dispositivos emisores 102 que reciben mensajes CTS 126 pueden transmitir los mensajes 110 a aplicaciones 128 de los dispositivos receptores 104, siendo los mensajes 110 dirigidos a dichas aplicaciones 128 mediante las aplicaciones 112 de los dispositivos emisores 102. Los dispositivos emisores 102 que reciben mensajes BTL 126 pueden seleccionar otros dispositivos receptores 104.
Aunque los dispositivos emisores 102 y los dispositivos receptores 104 se muestran en la presente memoria como dispositivos independientes y diferentes, se debe entender que cualquier dispositivo informatico puede ser a la vez un dispositivo emisor 102 para algunos mensajes 110 y un dispositivo receptor 104 para otros mensajes 110. Por lo tanto, dicho dispositivo informatico podna estar equipado con el modulo de red 108, las aplicaciones 112 y las colas 114 de un dispositivo emisor 102, y con el modulo de red 122, las colas 124 y las aplicaciones 128 de un dispositivo receptor 104. Un dispositivo informatico configurado para poder actuar como un dispositivo emisor 102 y como un dispositivo receptor 104 puede tener asimismo un solo conjunto de interfaces -en cuyo caso las interfaces 118 y 120 se referinan al mismo conjunto de interfaces- o dos conjuntos de interfaces -en cuyo caso un conjunto (interfaces 118) puede estar dedicado a enviar mensajes 110 y otro conjunto (interfaces 120) puede estar dedicado a recibir mensajes 110.
En varias realizaciones, los dispositivos emisores 102 y los dispositivos receptores 104 pueden ser cualquier clase de dispositivo informatico. Por ejemplo, los dispositivos emisores 102 y los dispositivos receptores 104 pueden ser, o incluir ordenadores personales (Pc, personal computers), ordenadores portatiles, servidores o parques de servidores, ordenadores centrales, ordenadores de tableta, estaciones de trabajo, dispositivos de telecomunicaciones, asistentes digitales personales (PDAs, personal digital assistants), reproductores multimedia, dispositivos de centro de medios, grabadores de video personales (PVR, personal video recorders), televisiones o cualquier otra clase de dispositivo o dispositivos. En algunas implementaciones, uno o varios de los dispositivos emisores 102 y los dispositivos receptores 104 representan una o varias maquinas virtuales implementadas en uno o varios dispositivos informaticos. La naturaleza y las funciones de los modulos y los datos de los dispositivos emisores 102 y los dispositivos receptores 104 se describen en mas detalle en la presente memoria. Un dispositivo informatico de ejemplo para implementar uno o ambos de un dispositivo emisor 102 y un dispositivo receptor 104 se muestra en la figura 6 y se describe a continuacion en mayor detalle haciendo referencia a dicha figura.
En diversas implementaciones, la red 106 puede ser cualquier tipo o tipos de red, tal como una red extensa (WAN, wide area network), una red de area local (LAN, local area network) o internet. Asimismo, la red 106 puede ser publica, privada o incluir redes tanto publicas como privadas. Ademas, la red 106 puede ser cableada, inalambrica o incluir redes tanto cableadas como inalambricas. La red 106 puede utilizar cualesquiera uno o varios protocolos para comunicacion, tales como TCP/IP, otros protocolos basados en paquetes u otros protocolos. En una realizacion, la red 106 puede comprender un entorno de computacion en la nube que conecta una serie de nodos del entorno de computacion en la nube. En dicha realizacion, los dispositivos emisores 102 y los dispositivos receptores 104 pueden ser nodos del entorno de computacion en la nube.
Tal como se ha mencionado anteriormente, la red 106 puede ser una red de conmutacion de paquetes. Dicha red 106 puede ser asimismo una red de ancho de banda de biseccion completa o de ancho de banda de gran biseccion, que permite que cualquier nodo de la red comunique con cualquier otro nodo a plena velocidad sin ningun retardo en la transmision introducido por nodos intermedios. En otras realizaciones, la red 106 puede ser una red de InfiniBand. La red 106 puede comprender asimismo uno o varios conmutadores. Los conmutadores pueden ser cualquier clase de conmutadores y cada uno de ellos puede incluir componentes de interfaz de red, tales como componentes de interfaz de red de entrada y de salida, teniendo cada componente de interfaz de red un ancho de banda. Por ejemplo, un conmutador puede tener una serie de puertos Ethernet de entrada y un puerto inalambrico de entrada, asf como puertos Ethernet e inalambricos de salida. En algunas realizaciones, el ancho de banda de entrada de un conmutador se proporciona al ancho de banda de salida del conmutador. Por ejemplo, el ancho de banda de entrada colectivo de las interfaces de red que dan servicio a dispositivos "por debajo" del conmutador en la jerarqrna de la red puede ser de diez gigabits por segundo, y el ancho de banda colectivo de los componentes de interfaz de red hasta los conmutadores centrales puede ser asimismo de diez gigabits por segundo. Al proporcionar los anchos de banda de entrada y de salida del conmutador, se evita la introduccion de cuellos de botella asociados con el conmutador. Dichos conmutadores dotados de anchos de banda se describen en mayor detalle en la solicitud de patente U.S.A. numero 12/410.697, que se titula "Data Center Without Structural Bottlenecks" y se presento el 25 de marzo de 2009, en la solicitud de patente U.S.A. numero 12/410.745, que se titula "Data Center Interconnect and Traffic Engineering" y se presento el 25 de marzo de 2009, y en la solicitud de patente U.S.A. numero 12/578.608, que se titula "Agile Data Center Network Architecture" y se presento el 14 de octubre de 2009.
5
10
15
20
25
30
35
40
45
50
55
60
En algunas realizaciones, tal como se muestra en la figura 1, cada uno de los dispositivos emisores 102 y los dispositivos receptores 104 puede incluir aplicaciones. Los dispositivos emisores 102 pueden incluir aplicaciones 112 y los dispositivos receptores 104 pueden incluir aplicaciones 128. Las aplicaciones 112 y 128 pueden ser cualquier clase de aplicaciones que puedan leer y escribir datos, tales como mensajes de datos 110. Las aplicaciones 112 y 128 pueden ser el mismo tipo de aplicacion o tipos diferentes. Asimismo, las aplicaciones 112 pueden representar una serie de aplicaciones, y las aplicaciones 128 pueden representar una serie correspondiente de aplicaciones. Las aplicaciones 112 pueden ser clientes, servidores o pares con respecto a las aplicaciones 128. Desde la perspectiva de las aplicaciones 112 y 128, los mensajes de datos intercambiados 110 se envfan directamente sin ningun conocimiento del intercambio de mensajes rTs/CTS o del circuito eficaz.
En diversas realizaciones, los mensajes de datos 110 pueden comprender cualquier clase de datos de cualquier tipo y pueden tener cualquier tamano. Cada mensaje de datos 110 puede ser paquetizado en uno o varios paquetes para su transmision sobre la red 106 mediante la aplicacion 112, un modulo de red 108 o algun otro componente de un dispositivo emisor 102, tal como una plataforma o una pila de red del dispositivo emisor 102. El numero de paquetes que comprende el mensaje de datos 110 puede variar con el tamano del mensaje de datos 110 y el protocolo de red utilizado para transmitir el mensaje de datos 110. Ademas de con sus datos, cada mensaje de datos 110 puede estar asociado con metadatos. Dichos metadatos pueden incluir la identificacion del dispositivo receptor 104 al que esta dirigido el mensaje de datos 110 y, si el mensaje de datos 110 es parte de un grupo de mensajes de datos 110, un numero secuencial que identifica una posicion del mensaje de datos 110 dentro del grupo.
En algunas realizaciones, un modulo de red 108 puede comprender cualesquiera uno o varios modulos, aplicaciones, procesos, hilos o funciones. El modulo de red 108 puede ser un componente de la plataforma de un dispositivo emisor 102 o de la pila de red de un dispositivo emisor 102, o puede ser independiente de otros modulos y aplicaciones del dispositivo emisor 102. Tal como se ha mencionado anteriormente, el modulo de red 108 puede estar configurado para llevar a cabo por lo menos uno de recibir mensajes de datos 110, bifurcar mensajes de datos recibidos 110, poner en cola mensajes de datos 110, seleccionar mensajes de datos 110 para transmision, transmitir mensajes RTS 116 para los mensajes de datos seleccionados 110, recibir en respuesta mensajes CTS 126 o mensajes BTL 126, transmitir un mensaje de datos 110 en respuesta a un mensaje CTS 126 o seleccionar un mensaje de datos alternativo 110 en respuesta a un mensaje BTL 126. Ademas de estas operaciones, el modulo de red 108 puede gestionar asimismo las interfaces 118 del dispositivo emisor 102. Estas interfaces 118 pueden ser seleccionadas por el modulo de red 108 para la transmision de mensajes RTS 116 y mensajes de datos 110. Ademas, el modulo de red 108 puede llevar a cabo estas operaciones simultaneamente para cualquier numero de mensajes de datos 110. Por ejemplo, el modulo de red 108 puede recibir un mensaje de datos 110 desde una aplicacion 112 mientras transmite un mensaje RTS 116 para otro mensaje de datos 110.
En algunas realizaciones, tras la recepcion de un mensaje de datos 110 de la aplicacion 112, el modulo de red 108 puede determinar si el mensaje de datos 110 es un mensaje de control o tiene un tamano menor que un umbral, para bifurcar los mensajes de datos recibidos 110. El modulo de red 108 proporciona mensajes de datos 110 que son mensajes de control o son menores que un umbral, a una pila de red de los dispositivos emisores 102 para su transmision utilizando las interfaces 118 del dispositivo emisor 102. A continuacion, los mensajes de datos 110 que no son mensajes de control y que son mayores que el umbral, se ponen en cola mediante el modulo de red 108 para su posterior transmision.
En diversas realizaciones, el modulo de red 108 almacena mensajes de datos recibidos 110 en una cola 114 o varias colas 114. El dispositivo emisor 102 puede tener una sola cola 114 en la que se almacenan mensajes de datos 110 para todos los dispositivos receptores 104 o puede tener una cola 114 asociada con cada dispositivo receptor 104. En otras realizaciones, el dispositivo emisor 102 puede utilizar otros numeros de colas 114 con otras asociaciones con dispositivos receptores 104.
La figura 2a, por ejemplo, muestra un ejemplo de una cola 114 para almacenar mensajes de datos 110 que estan dirigidos a multiples dispositivos receptores 104. Tal como se muestra en la figura 2a, una cola 202 (que puede ser un ejemplo de una cola 114) incluye entradas 204 para multiples mensajes de datos 110. Aunque estas entradas 204 se muestran como filas de una tabla, se debe entender que las entradas 204 se pueden representar asimismo como columnas o como elementos en alguna forma no tabular. Cada entrada 204 incluye un identificador de mensaje 206, un indicador 208 de si un mensaje RTS 116 ha sido enviado para el mensaje de datos 110 representado por dicha entrada 204, y un identificador 210 de un dispositivo receptor objetivo 104. Cada identificador de mensaje 206 puede ser un valor de datos de cualquier tipo -tal como un entero o una cadena- que identifica de manera unica un mensaje de datos 110. Cada indicador 208 puede ser, por ejemplo, un valor binario o uno de un conjunto limitado de otros tipos de valores que indican si un mensaje RTS 116 ha sido enviado. Cada identificador 210 de un dispositivo receptor objetivo 104 puede ser un identificador de red del dispositivo receptor 104, tal como una direccion IP u otra clase de direccion.
La figura 2b muestra ejemplos de multiples colas 114 para almacenar mensajes de datos 110, una cola 114 para cada uno de los multiples dispositivos receptores 104. Tal como se muestra en la figura 2b, cada una de las colas 212, 214 y 216 (que pueden ser ejemplos de colas 114) incluye entradas 204 para uno o varios mensajes de datos 110. Aunque estas entradas 204 se muestran como filas de una tabla, se debe entender que las entradas 204 se pueden representar asimismo como columnas o como elementos en alguna forma no tabular. Cada entrada 204
5
10
15
20
25
30
35
40
45
50
55
60
incluye un identificador de mensaje 206 y un indicador 208 de si un mensaje RTS 116 ha sido enviado para el mensaje de datos 110 representado por dicha entrada 204. No es necesario un campo que represente un identificador 210 del dispositivo receptor objetivo 104 de un mensaje de datos 110, debido a que cada una de las colas 212, 214 y 216 esta asociada a un dispositivo receptor espedfico 104. Cada identificador de mensaje 206 puede ser un valor de datos de cualquier tipo -tal como un entero o una cadena- que identifica de manera unica un mensaje de datos 110. Cada indicador 208 puede ser, por ejemplo, un valor binario o uno de un conjunto limitado de otros tipos de valores que indican si un mensaje RTS 116 ha sido enviado.
Las colas 114 pueden ser cualquier clase de estructuras de datos conocidas en la tecnica, incluyendo estructuras de datos de modulos, tal como el modulo de red 108, u otros archivos o bases de datos. Asimismo, las colas 114 pueden ser estructuras de datos primero en entrar, primero en salir (FIFO, first-in-first-out), tal como es conocido en la tecnica, o pueden tener mensajes de datos 110 anadidos a las colas 114 o eliminados de las mismas en orden diferente. Por ejemplo, los mensajes de datos 110 se pueden anadir a los extremos de las colas 114 pero se pueden eliminar de las colas 114 en un orden diferente. En tal ejemplo, la posicion de un mensaje de datos 110 en la cola puede ser uno de multiples factores en la seleccion y eliminacion del mensaje de datos 110 de una cola 114 para transmision.
En diversas realizaciones, el modulo de red 108 selecciona uno o varios mensajes de datos 110 de una o varias de las colas 114 en respuesta a la adicion de mensajes de datos 110 a una cola 114, en respuesta a un temporizador que estima el momento en que el dispositivo emisor 102 completara la transmision de otros mensajes de datos o en respuesta a una entrada desde una plataforma de dispositivo emisor 102. El modulo de red 108 puede seleccionar mensajes de datos 110 desde las colas 114 en base a uno o varios factores. Estos factores pueden incluir la posicion de un mensaje de datos 110 dentro de una cola 114, desde que cola 114 se selecciono anteriormente dicho mensaje de datos 110, los tamanos de los mensajes de datos 110, el ancho de banda disponible de las interfaces 118 del dispositivo emisor, la posibilidad de encadenar juntos una serie de mensajes de datos 110 para su transmision a un solo dispositivo receptor 104. Estos factores se proporcionan solamente a tftulo de ejemplo, y se puede utilizar como alternativa cualquier otro numero de factores.
En algunas realizaciones, el modulo de red 108 determina en primer lugar el ancho de banda disponible de las interfaces 118 del dispositivo emisor. Este ancho de banda disponible puede ser un numero predeterminado conocido por el modulo de red 108, tal como un numero que representa el ochenta o el noventa por ciento del ancho de banda total de las interfaces 118. En otras realizaciones, el ancho de banda disponible puede variar y se puede determinar repetidamente en diferentes momentos.
El modulo de red 108 puede a continuacion seleccionar mensajes de datos 110 que utilizaran el maximo ancho de banda posible disponible para transmision. En una realizacion, el modulo de red 108 selecciona mensajes de datos 110 desde la cabeza de una o varias colas 114 sin hacer referencia al dispositivo receptor 104 hasta que el tamano colectivo de los mensajes de datos seleccionados 110 se aproxima al ancho de banda disponible. En otras realizaciones en las que el dispositivo emisor 102 tiene multiples colas 114 para multiples dispositivos receptores 104, el modulo de red 108 puede dar servicio a las colas en modo por turnos ("round-robin"), seleccionando mensajes de datos 110 de una siguiente cola 114 a servir. En otras realizaciones, el modulo de red 108 puede encadenar mensajes de datos 110 para un unico dispositivo receptor 104, preferentemente para seleccionar multiples mensajes de datos 110 para dicho unico dispositivo receptor 104 con el fin de reducir el numero requerido de reservas de ancho de banda de dispositivos receptores. En dichas realizaciones, el modulo de red 108 supervisa que los dispositivos receptores 104 que han encadenado mensajes de datos 110 los han transmitido, con el fin de impedir que un solo dispositivo receptor 104 domine la transmision de mensajes. En otras realizaciones, el modulo de red 108 prioriza mensajes de datos 110 para los que se han enviado previamente mensajes RTS 116 y para los que se ha rebasado un umbral de tiempo. La razon para esperar un umbral de tiempo es permitir que el dispositivo receptor 104 que proporciono el mensaje BTL 126 complete su recepcion de otros mensajes de datos 110 y libere su ancho de banda reservado.
En algunas realizaciones, al tener en cuenta el ancho de banda disponible de las interfaces 118 en la seleccion de los mensajes de datos 110, el modulo de red 108 limita el numero de mensajes de datos 110 que pueden ser transmitidos en paralelo, con el fin de evitar cuellos de botella de transmision en el dispositivo emisor 102. Sin embargo, dado que se pueden rechazar mensajes RTS 116 para una serie de mensajes de datos seleccionados 110, el modulo de red 108 puede seleccionar para transmision un numero de mensajes de datos 110 que supere el ancho de banda disponible, con el fin de garantizar la utilizacion plena del ancho de banda disponible.
En diversas realizaciones, tras seleccionar los mensajes de datos 110, el modulo de red 108 genera y transmite mensajes RTS 116 para los mensajes de datos seleccionados 110. El modulo de red 108 puede generar y transmitir un mensaje RTS 116 para cada mensaje de datos seleccionado 110 o puede generar y transmitir un mensaje RTS 116 para un grupo de mensajes de datos 110 que tienen que ser transmitidos en paralelo a un solo dispositivo receptor 104. Los mensajes RTS 116 pueden ser mensajes pequenos que identifican un mensaje de datos espedfico 110 con el que estan asociados, uno o varios tamanos de mensaje 110 o mensajes 110 de datos asociados con dicho mensaje RTS, un identificador para el dispositivo receptor objetivo 104 y/o una prioridad de mensaje. Las prioridades de mensaje pueden ser determinadas por el modulo de red 108 en base a la relacion de mensajes de datos 110 que estan en cola para el dispositivo receptor objetivo 104 del mensaje RTS frente a los
5
10
15
20
25
30
35
40
45
50
55
60
mensajes de datos 110 que estan en cola para otros dispositivos receptores 104, asf como en base al tamano global de la cola 114 o colas 114. El realizaciones en las que el mensaje RTS 116 esta asociado con una cadena de mensajes de datos 110, el mensaje RTS 116 puede identificar el numero de mensajes de datos 110 para dicho dispositivo receptor 104.
Tras generar los mensajes RTS 116, el modulo de red 108 selecciona una o varias interfaces disponibles 118 para la transmision de los mensajes RTS 116. Las interfaces 118 pueden ser cualquier clase de interfaces de red conocidas en la tecnica, tales como interfaces cableadas o inalambricas para WAN o LAN, interfaces inalambricas para redes PAN o Bluetooth®, o cualquier otra clase de interfaces. Por ejemplo, las interfaces 118 pueden comprender una o varias tarjetas de red. Estas interfaces 118 pueden comprender un grupo de interfaces que es gestionado por el modulo de red 108 u otro componente como un recurso colectivo que comparte un mismo conjunto de colas y estados de colas (es decir, las colas 114). En una realizacion, el ancho de banda de las interfaces 118 se puede asignar a diferentes procesos, incluyendo uno o varios procesos del modulo de red 108. Esto puede incluir la utilizacion independiente de una sola interfaz de red 118 mediante multiples procesos. Siempre que los procesos hayan dividido estaticamente por adelantado el ancho de banda de red, los procesos pueden utilizar sin coordinacion el ancho de banda asignado. Tras seleccionar dichas una o varias interfaces disponibles 118, el modulo de red 108 transmite los mensajes RTS 116 sobre dichas una o varias interfaces disponibles 118.
En respuesta a enviar mensajes RTS 116, el dispositivo emisor 102 recibe mensajes CTS 126, mensajes BTL 126 o ambos. Se puede devolver al dispositivo emisor 102 un mensaje CTS 126 o un mensaje BTL 126 para cada mensaje RTS 116 que este envfa.
Tras la recepcion de un mensaje CTS 126 por medio de una interfaz 118, el modulo de red 108 determina a que mensaje de datos 110 o mensajes de datos 110 proporciona permiso el mensaje CTS 126. Tal como se ha mencionado anteriormente, la recepcion de un mensaje CTS 126 desde un dispositivo receptor 104 establece un circuito eficaz entre el dispositivo emisor 102 y dicho dispositivo receptor 104. El mensaje CTS 126 puede identificar un mensaje de datos espedfico 110 mediante un identificador de mensaje 206, o puede hacer referencia a un mensaje RTS espedfico 116 que, a su vez, puede ser relacionado por el modulo de red 108 con un mensaje de datos espedfico 110. El mensaje CTS 126 puede identificar asimismo multiples mensajes de datos 110 cuya transmision se permite al dispositivo receptor 104 que envio el mensaje CTS 126. Por ejemplo, el mensaje CTS 126 puede responder a un mensaje RTS 116 que solicito permiso para enviar varios mensajes de datos 110 al dispositivo receptor 104. Dicho mensaje CTS 126 puede proporcionar permiso para enviar uno, varios o la totalidad de los mensajes de datos 110 identificados en el mensaje RTS 116.
En diversas realizaciones, tras determinar los mensajes de datos 110 identificados por los mensajes CTS 126, el modulo de red 108 puede seleccionar una o varias de las interfaces 118 para transmitir los mensajes de datos 110, y transmitir los mensajes de datos 110 por medio de las interfaces seleccionadas 118. En una realizacion, la interfaz 118 utilizada para transmitir un mensaje de datos 110 puede ser diferente de la interfaz 118 utilizada para transmitir el mensaje rTs 116 para dicho mensaje de datos 110. Tras la transmision de un mensaje de datos 110, el modulo de red 108 puede eliminar el mensaje de datos 110 de la cola o colas 114.
Ademas, o en lugar de recibir uno o varios mensajes CTS 126, el dispositivo emisor 102 puede recibir, por medio de una interfaz 118, uno o varios mensajes BTL 126. Tras la recepcion de un mensaje BTL 126, el modulo de red 108 determina que mensaje de datos 110 o mensajes de datos 110 ha rechazado el mensaje BTL 126. A continuacion, el modulo de red 108 puede actualizar los indicadores 208 de esos mensajes de datos 110 en las colas 114 para reflejar que los mensajes RTS 116 para dichos mensajes de datos 110 han sido rechazados.
El modulo de red 108 puede proceder a continuacion a seleccionar para transmision uno o varios mensajes de datos alternativos 110, en lugar de los mensajes de datos rechazados 110. En algunas realizaciones, el modulo de red 108 puede utilizar los factores descritos anteriormente, utilizados para seleccionar los mensajes de datos 110 ahora rechazados, para seleccionar los mensajes de datos alternativos 110. El modulo de red 108 puede considerar asimismo el tamano del mensaje de datos rechazado 110 o el tamano colectivo de los multiples mensajes de datos rechazados 110, para seleccionar uno o varios mensajes de datos alternativos 110. Asimismo, en la seleccion de dichos uno o varios mensajes alternativos, el modulo de red 108 puede filtrar los mensajes de datos 110 para los que ha sido rechazado un mensaje RTS 116 y los mensajes de datos 110 que estan dirigidos al dispositivo receptor 104 desde el que se ha recibido el mensaje BTL 126. Una vez han sido seleccionados los mensajes de datos alternativos 110, el modulo de red 108 genera mensajes RTS 116 para los mensajes de datos alternativos 110, selecciona interfaces 118 a utilizar en la transmision de los mensajes RTS 116 y transmite los mensajes RTS 116. Al seleccionar mensajes de datos alternativos 110 en lugar de esperar a transmitir los mensajes de datos 110 seleccionados anteriormente, el modulo de red 108 garantiza que el dispositivo emisor 102 no permanece inactivo mientras tiene mensajes de datos 110 esperando su transmision.
En algunas realizaciones, tal como se ha mencionado anteriormente, el dispositivo emisor 102 puede utilizar un temporizador para determinar cuando seleccionar otros mensajes de datos 110 para transmision. El temporizador puede ser parte del modulo de red 108 o un componente independiente. El temporizador se inicia cuando se seleccionan mensajes de datos 110 o cuando se inicia la transmision de mensajes de datos 110, y estima el tiempo para transmitir los mensajes de datos 110 en base al ancho de banda disponible y a los tamanos de los mensajes de
5
10
15
20
25
30
35
40
45
50
55
60
datos 110. Una vez se alcanza el tiempo estimado, el temporizador informa al modulo de red 108 de que el tiempo se ha cumplido, para permitir al modulo de red 108 seleccionar otros mensajes de datos 110 para transmision.
En varias realizaciones, un modulo de red 122 puede comprender cualesquiera uno o varios modulos, aplicaciones, procesos, hilos o funciones. El modulo de red 122 puede ser un componente de la plataforma de un dispositivo receptor 104 o de la pila de red de un dispositivo receptor 104, o puede ser independiente de las aplicaciones y modulos del otro dispositivo receptor 104. Tal como se ha mencionado anteriormente, el modulo de red 122 puede estar configurado para llevar a cabo por lo menos uno de recibir mensajes RTS 116, ordenar los mensajes RTS 116, reservar ancho de banda para uno o varios dispositivos emisores 102 de mensajes RTS 116, generar y enviar mensajes CTS 126 a dispositivos emisores 102 para los que se ha reservado ancho de banda, generar y enviar mensajes BTL 126 a otros dispositivos emisores 102, vigilar el numero de veces que se han enviado mensajes BTL 126 a un dispositivo emisor 102 y recibir mensajes de datos 110 utilizando el ancho de banda reservado. Ademas, el modulo de red 122 puede llevar a cabo estas operaciones simultaneamente para cualquier numero de mensajes de datos 110. Por ejemplo, el modulo de red 122 puede recibir un mensaje de datos 110 mientras transmite un mensaje CTS 126 en respuesta a un mensaje RTS 116 para otro mensaje de datos 110.
En algunas realizaciones, cuando un modulo de red 122 recibe mensajes RTS 116 por medio de las interfaces 120, el modulo de red 122 puede poner en cola estos mensajes RTS, en una cola 124 para su ordenamiento. Los mensajes RTS 116 se pueden recibir de una serie de dispositivos emisores 102, y las interfaces 120 que reciben estos mensajes RTS 116 pueden ser cualquier clase de interfaces, tales como interfaces del mismo tipo, o de tipos diferentes a las interfaces 118 descritas anteriormente. La cola 124 puede ser cualquier clase de estructura de datos, tal como una estructura de datos del modulo de red 122.
Por ejemplo, la figura 3 muestra un ejemplo de una cola 124 que incluye entradas de mensaje RTS que se utilizan para ordenar los mensajes RTS recibidos 116. Tal como se muestra, una cola 302 (que puede ser un ejemplo de la cola 124) incluye entradas 304 para multiples mensajes RTS 116. Aunque estas entradas 304 se muestran como filas de una tabla, se debe entender que las entradas 304 se pueden representar asimismo como columnas o como elementos en alguna forma no tabular. Cada entrada 304 incluye un identificador de mensaje 306, un computo 308 de los mensajes BTL 126 enviados a un dispositivo emisor 102 en respuesta a mensajes RTS 116 asociados con un mensaje de datos espedfico 110, un indicador 310 de una prioridad de un mensaje de datos 110 asociado con el mensaje RTS 116 de la entrada 304, y un identificador 312 de un dispositivo emisor 102 que envio el mensaje RTS 116 de la entrada 304. Cada identificador de mensaje 306 puede ser un valor de datos de cualquier tipo -tal como un entero o una cadena- que identifica de manera unica el mensaje RTS 116 o bien el mensaje de datos 110 asociado con dicho mensaje RTS 116. Cada computo 308 puede ser un entero o algun otro valor numerico que se extrae de otra estructura de datos del dispositivo receptor 104, que se utiliza para el seguimiento de los mensajes BTL 126 enviados en respuesta a mensajes RTS 116 asociados con un mensaje de datos espedfico 110. Cuando se recibe un mensaje RTS 116, el modulo de red 122 comprueba esta estructura de datos para el numero de mensajes BTL 126 asociados con el mensaje de datos 110 a que hace referencia el mensaje RTS recibido 116. Cada indicador 310 puede ser, por ejemplo, un valor binario o uno de un conjunto limitado de otros tipos de valores que indican si ha sido priorizado. Alternativamente, el indicador 310 para cada entrada 304 puede indicar un nivel de prioridad espedfico de un mensaje de datos 110 si hay varios niveles de prioridad disponibles. Cada identificador 312 de un dispositivo emisor 102 puede ser un identificador de red del dispositivo emisor 102, tal como una direccion IP u otra clase de direccion.
En varias realizaciones, el modulo de red 122 puede ordenar los mensajes RTS 116 en la cola 124 en base a cualquier numero de factores. Por ejemplo, el modulo de red 122 puede ordenar los mensajes RTS 116 en base a prioridades de mensaje y/o en base al computo de mensajes BTL 126 mencionado anteriormente. El modulo de red 122 puede asimismo considerar el ancho de banda disponible para reserva del dispositivo receptor, y los tamanos de los mensajes de datos 110 correspondientes a los mensajes RTS 116.
En base al ordenamiento, el modulo de red puede reservar ancho de banda para uno o varios de los dispositivos emisores 102 asociados con mensajes rTs recibidos 116. Estos pueden ser los dispositivos emisores 102 correspondientes a los mensajes RTS 116 de orden superior. En algunas realizaciones, el modulo de red 122 puede aplicar una reserva de ancho de banda maximo para dispositivos emisores 102, de tal modo que no se puede asignar a ningun dispositivo emisor 102 todo el ancho de banda disponible del dispositivo receptor 102. Esta reserva de ancho de banda maximo puede impedir que un dispositivo emisor 102 monopolice el ancho de banda del dispositivo receptor.
Para realizar las reservas de ancho de banda, el modulo de red 122 envfa mensajes CTS 126 a los dispositivos emisores 102 para los que se reserva ancho de banda. Los mensajes CTS 126 pueden identificar los mensajes RTS 116 a los que responden, o los mensajes de datos 110 a los que se esta dando permiso. En algunas realizaciones, los mensajes CTS 126 pueden asimismo identificar una serie o identidades de multiples mensajes de datos 110 en el caso en que un mensaje RTS 116 identifique multiples mensajes de datos 110.
El modulo de red 122 puede a continuacion generar y enviar mensajes BTL 126 en respuesta a mensajes RTS 116 que no tuvieron como resultado una reserva de ancho de banda y una respuesta de mensaje cTs 126. Los mensajes BTL 126 pueden identificar los mensajes RTS 116 a los que responden, o los mensajes de datos 110 para
5
10
15
20
25
30
35
40
45
50
55
60
los que se esta rechazando el permiso. En algunas realizaciones, los mensajes BTL 126 pueden asimismo identificar una serie, o identidades de multiples mensajes de datos 110 en el caso en que un mensaje RTS 116 identifique multiples mensajes de datos 110. Despues de enviar los mensajes BTL 126, el modulo de red 122 puede actualizar los computes de mensajes BTL para mensajes de datos espedficos 110 que estan almacenados en una estructura de datos del dispositivo receptor 104, tal como se ha discutido anteriormente. El modulo de red 122 puede purgar en la cola 124 las entradas 304 de la cola 124 despues de que cada entrada 304 es respondida con un mensaje CTS 126 o un mensaje BTL 126.
En varias realizaciones, el modulo de red 122 puede recibir a continuacion los mensajes de datos 110 utilizando el ancho de banda reservado. Dado que el dispositivo receptor 104 recibe solamente mensajes de datos 110 para cuyo envte ha proporcionado permiso, se evita el riesgo de desbordamiento de la memoria tampon en el dispositivo receptor 104. Tras recibir los mensajes de datos 110, el modulo de red 122 proporciona los mensajes de datos 110 a las aplicaciones 128 a las que estan dirigidos y libera la reserva o reservas de ancho de banda asociadas con los mensajes de datos 110. En algunas realizaciones, la finalizacion de la recepcion de los mensajes de datos 110 y la liberacion de la reserva o reservas de ancho de banda desencadena el envte de un siguiente mensaje CTS 126.
Operaciones de ejemplo
Las figuras 4 y 5 son diagramas de flujo que muestran operaciones de ejemplo de procesos. Las operaciones de ejemplo de los procesos se muestran en bloques individuales y se resumen haciendo referencia a dichos bloques. Estos procesos se muestran como graficos de flujo logico, de los que cada operacion puede representar un conjunto de operaciones que se pueden implementar en hardware, software o una combinacion de los mismos. En el contexto del software, las operaciones representan instrucciones ejecutables por ordenador almacenadas en uno o varios medios de almacenamiento legible por ordenador que, cuando son ejecutadas por uno o varios procesadores, llevan a cabo las operaciones indicadas. Generalmente, las instrucciones ejecutables por ordenador incluyen rutinas, programas, objetos, componentes, estructuras de datos y similares, que llevan a cabo funciones particulares o implementan tipos particulares de datos abstractos. El orden en que se describen las operaciones no esta destinado a ser interpretado como una limitacion, y cualquier numero de las operaciones descritas se pueden combinar en cualquier orden y/o en paralelo para implementar el proceso.
La figura 4 es un diagrama de flujo que muestra una serie de operaciones llevadas a cabo por un dispositivo emisor para establecer circuitos eficaces con dispositivos receptores sobre una red de conmutacion de paquetes, de acuerdo con varias realizaciones. Tal como se muestra en el bloque 402, un dispositivo emisor puede recibir un mensaje para transmision desde una o varias aplicaciones de dicho dispositivo emisor para un dispositivo receptor. El dispositivo emisor y el dispositivo receptor pueden estar conectados por una red de conmutacion de paquetes, tal como una red de ancho de banda de biseccion completa o una red de ancho de banda de gran biseccion. En el bloque 404, tras la recepcion del mensaje, el dispositivo emisor puede determinar si el mensaje es un mensaje de control o tiene un tamano que es menor que un tamano umbral. En el bloque 406, si el mensaje es un mensaje de control o es menor que el tamano umbral, el dispositivo emisor puede transmitir el mensaje al dispositivo receptor especificado para el mensaje. En el bloque 408, si el mensaje no es un mensaje de control o es mayor que el tamano umbral, el dispositivo emisor pone en cola el mensaje para su posterior transmision.
En el bloque 410, el dispositivo emisor selecciona un mensaje para su transmision a un dispositivo receptor. El dispositivo emisor puede seleccionar un mensaje de una cola del dispositivo emisor, tal como el primer mensaje de la cola. En algunas realizaciones, el dispositivo emisor puede seleccionar multiples mensajes para transmision, tal como multiples mensajes a un mismo dispositivo receptor para transmision en cadena, o multiples mensajes a multiples dispositivos receptores. En el bloque 410a, el dispositivo emisor limita el numero de mensajes seleccionados en base al ancho de banda de transmision disponible del dispositivo emisor, de tal modo que todos los mensajes seleccionados pueden ser transmitidos simultaneamente sin esperar a que se complete el envte de ningun otro de los mensajes seleccionados. En el bloque 410b, el dispositivo emisor puede seleccionar de una cola un mensaje que esta asociado con una solicitud para enviar (RTS) anterior. El dispositivo emisor puede haber enviado anteriormente una RTS para dicho mensaje y puede haber recibido una respuesta que rechaza el permiso para enviar el mensaje.
En el bloque 412, el dispositivo emisor envfa una RTS para el mensaje seleccionado. La RTS puede incluir el tamano del mensaje. En algunas realizaciones, el envte comprende enviar las multiples solicitudes por medio de multiples interfaces del dispositivo emisor, compartiendo las multiples interfaces un mismo conjunto de colas de mensajes y de estados de las colas. En una realizacion, la RTS se puede enviar por medio de una interfaz diferente a la del mensaje. En el bloque 412a, el dispositivo emisor envfa en paralelo multiples RTS a multiples dispositivos receptores. En el bloque 412b, el dispositivo emisor encadena RTSs a unico dispositivo receptor, enviando simultaneamente las RTS encadenadas al dispositivo receptor. En 412c, la concatenacion puede incluir indicar en una unica RTS el numero de mensajes que el dispositivo emisor tiene que enviar al dispositivo receptor.
En respuesta a la RTS, el dispositivo emisor recibe un permiso para enviar (CTS) en el bloque 414 o una respuesta que rechaza la RTS (denominada en la presente memoria un mensaje de "ocupado, intentar mas tarde" (BTL)) en el bloque 422. En el bloque 414, el dispositivo emisor recibe un CTS desde el dispositivo receptor. La RTS y el CTS crean un circuito eficaz entre el dispositivo emisor y el dispositivo receptor sobre la red de conmutacion de paquetes.
5
10
15
20
25
30
35
40
45
50
55
El dispositivo receptor envfa mensajes CTS a los dispositivos emisores para los que ha reservado ancho de banda. En el bloque 416, el dispositivo emisor determina que mensajes se permiten mediante el CTS. Por ejemplo, si el dispositivo emisor ha indicado en el bloque 412c que el dispositivo emisor tiene diez mensajes para transmitir, el dispositivo receptor puede responder con uno o varios CTS permitiendo solamente cinco de los mensajes. En el bloque 418, el dispositivo emisor envfa el mensaje o mensajes de permiso al dispositivo receptor, para ser recibidos por el dispositivo receptor utilizando el ancho de banda reservado. Al utilizar su ancho de banda completo y el ancho de banda reservado de los dispositivos receptores, el dispositivo emisor garantiza que los mensajes se envfan sin ningun retardo, perdida de paquetes o ancho de banda no utilizado.
En el bloque 420, el dispositivo emisor utiliza un temporizador para estimar cuando se debena transmitir al dispositivo receptor un siguiente mensaje. El temporizador estima el tiempo para enviar el mensaje o mensajes seleccionados, y por lo tanto el tiempo en que la transmision de mensajes se habra completado y el ancho de banda del dispositivo emisor estara disponible.
En el bloque 422, en lugar de recibir un CTS, el dispositivo emisor recibe un BTL del dispositivo receptor rechazando la solicitud para enviar el mensaje. En el bloque 424, en respuesta al BTL, el dispositivo emisor selecciona otro mensaje para enviar a otro dispositivo receptor. En algunas realizaciones, el dispositivo emisor selecciona en la cola el primer mensaje para el que no se ha enviado una RTS y que esta dirigido a otro dispositivo receptor. A continuacion se envfa un mensaje RTS para el otro mensaje, en el bloque 412. El dispositivo emisor selecciona otro mensaje para transmision con la RTS rechazada para garantizar que el dispositivo emisor no permanece inactivo mientras tiene mensajes a transmitir y ancho de banda disponible para transmitir dichos mensajes.
La figura 5 es un diagrama de flujo que muestra una serie de operaciones llevadas a cabo por un dispositivo receptor para establecer un circuito eficaz con un dispositivo emisor sobre una red de conmutacion de paquetes en base a una reserva de ancho de banda del dispositivo receptor, de acuerdo con varias realizaciones. Tal como se muestra en el bloque 502, un dispositivo receptor puede recibir una serie de mensajes de solicitud para enviar (RTS) desde una serie de dispositivos emisores. En algunas realizaciones, los mensajes RTS incluyen los tamanos de los mensajes cuyo envfo estan solicitando los dispositivos emisores. En el bloque 504, tras recibir estos mensajes RTS, el dispositivo receptor puede ordenar los mensajes RTS en base, por lo menos, a una de las prioridades incluidas en uno o varios de los mensajes RTS, o al numero de veces que el dispositivo emisor ha recibido respuestas que rechazan sus mensajes RTS.
En el bloque 506, el dispositivo receptor puede reservar ancho de banda para por lo menos un dispositivo emisor, para recibir mensajes desde por lo menos un dispositivo emisor. Dicho por lo menos un dispositivo emisor puede seleccionar su mensaje RTS de los mensajes RTS ordenados. En algunas realizaciones, el dispositivo receptor reserva ancho de banda para recibir multiples mensajes desde un dispositivo emisor, correspondientes a multiples mensajes RTS. Asimismo, en otras realizaciones, el numero de dispositivos emisores para los que se reserva ancho de banda puede estar relacionado con los tamanos de los mensajes cuyo envfo estan solicitando los dispositivos emisores. En el bloque 508, el dispositivo receptor responde a continuacion al mensaje RTS o a los mensajes RTS de dicho por lo menos un dispositivo emisor, proporcionando a dicho por lo menos un dispositivo emisor permiso para enviar (CTS) uno o varios mensajes utilizando el ancho de banda reservado.
En el bloque 510, el dispositivo receptor responde a los otros dispositivos emisores con respuestas que rechazan los mensajes RTS de los otros dispositivos emisores. Estas respuestas negativas se denominan en la presente memoria mensajes de "ocupado, intentar mas tarde" (BTL). Los mensajes BTL indican a los otros dispositivos emisores que debenan enviar mensajes RTS a otros dispositivos receptores con el fin de utilizar totalmente sus anchos de banda de dispositivo emisor. En algunas realizaciones, cuando el dispositivo receptor envfa un mensaje BTL a un dispositivo emisor, aumenta una representacion del numero de mensajes BTL enviados a dicho dispositivo emisor. La representacion se utiliza a continuacion para posteriores operaciones de ordenamiento.
En el bloque 512, el dispositivo receptor recibe el mensaje o mensajes desde dicho por lo menos un dispositivo emisor utilizando el ancho de banda reservado.
Arquitectura de sistema de ejemplo
La figura 6 es un diagrama de bloques de una arquitectura de sistema informatico de ejemplo para un dispositivo emisor 102 o un dispositivo receptor 104, de acuerdo con varias realizaciones. Tal como se muestra, el dispositivo emisor 102/dispositivo receptor 104 puede comprender por lo menos una memoria 602 (incluyendo una memoria cache) y una o varias unidades de procesamiento (o uno o varios procesadores) 604. El procesador o procesadores 604 se pueden implementar segun proceda en hardware, software, software inalterable o combinaciones de los mismos. Las implementaciones de software o software inalterable del procesador o procesadores 604 pueden incluir instrucciones ejecutables por ordenador o ejecutables a maquina, escritas en cualquier lenguaje de programacion adecuado, para llevar a cabo las diversas funciones descritas. El procesador o procesadores 604 pueden incluir, asimismo o alternativamente, una o varias unidades de procesamiento de graficos (GPUs, graphic processing units).
La memoria 602 puede almacenar instrucciones de programa que se pueden cargar y ejecutar en el procesador o procesadores 604, asf como datos generados durante la ejecucion de estos programas. En funcion de la
5
10
15
20
25
30
35
40
45
50
configuracion y del tipo de dispositivo informatico, la memoria 602 puede ser volatil (tal como memoria de acceso aleatorio (RAM, random access memory)) y/o no volatil (tal como memoria de solo lectura (ROM, read-only memory), memoria flash, etc.). El dispositivo informatico o el servidor puede incluir asimismo almacenamiento extrafble 606 adicional y/o almacenamiento no extrafble 608 adicional incluyendo, de forma no limitativa, almacenamiento magnetico, discos opticos y/o almacenamiento en cinta. Las unidades de disco y sus medios asociados legibles por ordenador pueden proporcionar almacenamiento no volatil de instrucciones legibles por ordenador, estructuras de datos, modulos de programa y otros datos para los dispositivos informaticos. En algunas implementaciones, la memoria 602 puede incluir multiples tipos diferentes de memoria, tal como memoria estatica de acceso aleatorio (SRAM, static random access memory), memoria dinamica de acceso aleatorio (DRAM, dynamic random access memory) o ROM.
Los medios legibles por ordenador incluyen, por lo menos, dos tipos de medios legibles por ordenador, es decir medios de almacenamiento informatico y medios de comunicaciones.
Los medios de almacenamiento informatico incluyen medios volatiles y no volatiles, extrafbles y no extrafbles, implementados en cualquier procedimiento o tecnologfa para almacenamiento de informacion, tal como instrucciones legibles por ordenador, estructuras de datos, modulos de programa u otros datos. Los medios de almacenamiento informatico incluyen, de forma no limitativa, RAM, ROM, memoria de solo lectura programable borrable (EEPROM, erasable programmable read-only memory), memoria flash u otra tecnologfa de memoria, memoria de solo lectura en disco compacto (CD-ROM, compact disc read-only memory), discos versatiles digitales (DVD, digital versatile disks) u otro almacenamiento optico, casetes magneticas, cinta magnetica, almacenamiento en disco magnetico u otros dispositivos de almacenamiento magnetico, o cualquier otro medio de no transmision que pueda ser utilizado para almacenar informacion para su acceso mediante un dispositivo informatico.
Por el contrario, los medios de comunicacion pueden incorporar instrucciones legibles por ordenador, estructuras de datos, modulos de programa u otros datos en una senal de datos modulada, tal como una onda portadora, u otro mecanismo de transmision. Tal como se definen en la presente memoria, los medios de almacenamiento informatico no incluyen medios de comunicacion.
El dispositivo emisor 102/dispositivo receptor 104 puede contener asimismo una o varias conexiones de comunicaciones 610 que permiten al dispositivo emisor 102/dispositivo receptor 104 comunicar con una base de datos guardada, otro dispositivo informatico o servidor, terminales de usuario y/u otros dispositivos en una red, tal como la red 106. El dispositivo emisor 102/dispositivo receptor 104 puede incluir asimismo uno o varios dispositivos de entrada 612, tales como un teclado, un raton, un lapiz, un dispositivo de entrada de voz, un dispositivo de entrada tactil, etc., y uno o varios dispositivos de salida 614, tales como una pantalla, altavoces, una impresora, etc.
El dispositivo emisor 102/dispositivo receptor 104 puede incluir ademas una interfaz 118/120 para enviar y recibir datos a traves de la red 106. Tal como se ha mencionado anteriormente, la interfaz 118/120 puede comprender cualquier numero de interfaces de red, que tienen cada uno un ancho de banda asociado para transmitir y recibir datos.
Volviendo en mayor detalle a los contenidos de la memoria 602, la memoria 602 puede incluir la plataforma 616. La plataforma 616 puede comprender un sistema operativo y/o uno o varios programas o servicios de aplicacion. Si la memoria 602 pertenece a un dispositivo emisor 102, la memoria 602 puede incluir asimismo un modulo de red 108 y aplicaciones 112, que pueden representar cada una cualesquiera uno o varios modulos, aplicaciones, procesos, hilos o funciones, y una o varias colas 114, que pueden representar cualesquiera formatos de almacenamiento o estructuras de datos. El modulo de red 108, las aplicaciones 112 y las colas 114 se han descrito anteriormente en mayor detalle. Si la memoria 602 pertenece a un dispositivo receptor 104, la memoria 602 puede incluir asimismo un modulo de red 122 y aplicaciones 128, que pueden representar cada una cualesquiera uno o varios modulos, aplicaciones, procesos, hilos o funciones, y una o varias colas 124, que pueden representar cualesquiera formatos de almacenamiento o estructuras de datos. El modulo de red 122, las aplicaciones 128 y las colas 124 se han descrito anteriormente en mayor detalle.
Conclusion
Aunque la materia se ha descrito en lenguaje espedfico para caractensticas estructurales y/o acciones metodologicas, se debe entender que la materia definida en las reivindicaciones adjuntas no esta limitada necesariamente a las caractensticas o acciones espedficas descritas. Por el contrario, las caractensticas y acciones espedficas se dan a conocer como formas ejemplares de implementar las reivindicaciones.

Claims (14)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    REIVINDICACIONES
    1. Un procedimiento, que comprende:
    enviar (412), mediante un dispositivo emisor (102) de punto extremo, una primera solicitud para enviar, RTS (116), a un primer dispositivo receptor (104) de punto extremo conectado al dispositivo emisor (102) de punto extremo mediante una red de conmutacion de paquetes (106), la primera RTS (116) asociada con una primera reserva de ancho de banda del primer dispositivo receptor (104) de punto extremo para la recepcion de mensajes (110) procedentes del dispositivo emisor (102) de punto extremo, indicando (412C) la primera RTS (116) un primer numero de mensajes (110) que el dispositivo emisor (102) de punto extremo tiene que enviar al primer dispositivo receptor (104) de punto extremo, y el tamano o tamanos de mensaje o mensajes asociados con la primera RTS; y
    en respuesta a recibir (414), mediante el dispositivo emisor (102) de punto extremo, una respuesta (126) desde el primer dispositivo receptor (104) de punto extremo que proporciona (416) permiso para enviar un segundo numero de mensajes (110) que es menor que el primer numero de mensajes al primer dispositivo receptor (104) de punto extremo utilizando el primer ancho de banda reservado del primer dispositivo receptor (104) de punto extremo, creando la primera rTs (116) y la respuesta (126) un circuito eficaz entre el dispositivo emisor (102) de punto extremo y el primer dispositivo receptor (104) de punto extremo sobre la red de conmutacion de paquetes (106), enviar (418) el segundo numero de mensajes (110) desde el dispositivo emisor (102) de punto extremo al primer dispositivo receptor (104) de punto extremo.
  2. 2. El procedimiento segun la reivindicacion 1, que comprende ademas, en respuesta a recibir (422) una respuesta (126) desde el primer dispositivo receptor (104) de punto extremo que rechaza la primera RTS (116):
    seleccionar (424) otro mensaje (110) para enviar a un segundo dispositivo receptor (104) de punto extremo para el que no ha sido enviada la primera rTs (116) y que esta dirigido a un segundo dispositivo receptor (104) de punto extremo; y
    enviar (412) una segunda RTS (116) al segundo dispositivo receptor (104) de punto extremo, buscando la segunda RTS (116) una segunda reserva de ancho de banda del segundo dispositivo receptor (104) de punto extremo para la recepcion del otro mensaje (110) procedente del dispositivo emisor (102) de punto extremo.
  3. 3. El procedimiento segun la reivindicacion 1, que comprende ademas:
    determinar (406) si un siguiente mensaje es un mensaje de control o es menor que un tamano umbral; y
    en respuesta a la determinacion (406) de que el siguiente mensaje es un mensaje de control o es menor que el tamano umbral, enviar el siguiente mensaje al primer dispositivo receptor (104) de punto extremo sin enviar una solicitud previa asociada con una reserva de ancho de banda.
  4. 4. El procedimiento segun la reivindicacion 1, que comprende ademas enviar en paralelo multiples solicitudes (116) a multiples dispositivos receptores de punto extremo (104).
  5. 5. El procedimiento segun la reivindicacion 4, que comprende limitar (410A) el numero de solicitudes enviadas en funcion del ancho de banda disponible del dispositivo emisor (102) de punto extremo.
  6. 6. El procedimiento segun la reivindicacion 1, que comprende ademas enviar simultaneamente (412A) multiples solicitudes (116) para multiples mensajes (110) al primer dispositivo receptor (104) de punto extremo.
  7. 7. Un procedimiento, que comprende:
    recibir (502), mediante un dispositivo receptor (104) de punto extremo, una primera solicitud para enviar, RTS (116), desde un primer dispositivo emisor (102) de punto extremo conectado al dispositivo receptor (104) de punto extremo mediante una red de conmutacion de paquetes (106);
    reservar (506), mediante el dispositivo receptor (104) de punto extremo, un primer ancho de banda para el primer dispositivo emisor (102) de punto extremo, la primera RTS (116) asociada con una primera reserva de ancho de banda del dispositivo receptor (104) de punto extremo para la recepcion de mensajes (110) procedentes del primer dispositivo emisor (102) de punto extremo, indicando (412C) la primera RTS (116) un primer numero de mensajes (110) que el primer dispositivo emisor (102) de punto extremo tiene que enviar al dispositivo receptor (104) de punto extremo, y el tamano o tamanos del mensaje o mensajes asociados con la RTS; y
    enviar (508), mediante el dispositivo receptor (104) de punto extremo, al primer dispositivo emisor (102) de punto extremo, una respuesta (126) que proporciona permiso para enviar un segundo numero de mensajes (110) que es menor que el primer numero de mensajes al dispositivo receptor (104) de punto extremo utilizando el primer ancho de banda reservado, creando la primera RTS (116) y la respuesta (126) un circuito eficaz entre el dispositivo receptor (104) de punto extremo y el primer dispositivo emisor (102) de punto extremo sobre la red de conmutacion de paquetes (106); y
    5
    10
    15
    20
    25
    30
    35
    recibir, mediante el dispositivo receptor (104) de punto extremo, el segundo numero de mensajes (110) procedentes del primer dispositivo emisor (102) de punto extremo.
  8. 8. El procedimiento segun la reivindicacion 7, que comprende ademas:
    enviar (510), mediante el dispositivo receptor (104) de punto extremo, al primer dispositivo emisor (102) de punto extremo, una respuesta (126) que rechaza la primera RTS (116), la respuesta (126) indicando al primer dispositivo emisor (102) de punto extremo seleccionar otro mensaje (110) para enviar a un segundo dispositivo receptor (104) de punto extremo para el que no ha sido enviada a la primera RTS (116) y que esta dirigido al segundo dispositivo receptor (104) de punto extremo, y enviar una segunda RTS (116) al segundo dispositivo receptor (104) de punto extremo, buscando la segunda RTS (116) una segunda reserva de ancho de banda del segundo dispositivo receptor (104) de punto extremo para la recepcion del otro mensaje (110) desde el primer dispositivo emisor (102) de punto extremo.
  9. 9. Un dispositivo emisor (102) que comprende: un procesador (604);
    una o varias memorias (602); y
    un modulo de red (108) almacenado en dichas una o varias memorias (602) que esta configurado para, cuando es activado por el procesador (604), llevar a cabo todas las etapas del procedimiento segun cualquiera de las reivindicaciones 1 a 6.
  10. 10. El dispositivo emisor (102) segun la reivindicacion 9, que comprende ademas una o varias colas (114) que almacenan mensajes (110) para su transmision a los dispositivos receptores (104).
  11. 11. El dispositivo emisor (102) segun la reivindicacion 10, en el que el modulo de red (108) esta configurado ademas para seleccionar, como el otro mensaje desde dichas una o varias colas (114), un mensaje en las colas que no esta dirigido al primer dispositivo receptor (104) y para el que no se ha enviado una RTS (116).
  12. 12. Un dispositivo receptor (104) que comprende: un procesador (604);
    una o varias memorias (602); y
    un modulo de red (122) almacenado en dichas una o varias memorias (602) que esta configurado para, cuando es activado por el procesador (604), llevar a cabo todas las etapas del procedimiento segun la reivindicacion 7 o 8.
  13. 13. El dispositivo receptor (104) segun la reivindicacion 12, que comprende ademas una o varias colas (124) que almacenan mensajes (116) de solicitud para enviar, RTS, para la transmision de mensajes (126) de permiso para enviar, CTS, o mensajes (126) de ocupado, intentar mas tarde, BTL a los dispositivos emisores (102).
  14. 14. Uno o varios medios de almacenamiento legible por ordenador (602, 606, 608) que comprenden instrucciones ejecutables por ordenador almacenadas en los mismos que, cuando son ejecutadas por un procesador (604), hacen que el procesador (604) lleve a cabo todas las etapas del procedimiento segun cualquiera de las reivindicaciones 1 a 8.
ES12776594.9T 2011-04-28 2012-04-28 Circuitos eficaces en redes de conmutación de paquetes Active ES2637665T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/096,194 US9813529B2 (en) 2011-04-28 2011-04-28 Effective circuits in packet-switched networks
US201113096194 2011-04-28
PCT/US2012/035700 WO2012149499A2 (en) 2011-04-28 2012-04-28 Effective circuits in packet-switched networks

Publications (1)

Publication Number Publication Date
ES2637665T3 true ES2637665T3 (es) 2017-10-16

Family

ID=47068795

Family Applications (1)

Application Number Title Priority Date Filing Date
ES12776594.9T Active ES2637665T3 (es) 2011-04-28 2012-04-28 Circuitos eficaces en redes de conmutación de paquetes

Country Status (5)

Country Link
US (1) US9813529B2 (es)
EP (1) EP2702730B1 (es)
CN (2) CN103493449B (es)
ES (1) ES2637665T3 (es)
WO (1) WO2012149499A2 (es)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8996611B2 (en) 2011-01-31 2015-03-31 Microsoft Technology Licensing, Llc Parallel serialization of request processing
US9813529B2 (en) * 2011-04-28 2017-11-07 Microsoft Technology Licensing, Llc Effective circuits in packet-switched networks
US9454441B2 (en) 2010-04-19 2016-09-27 Microsoft Technology Licensing, Llc Data layout for recovery and durability
US9170892B2 (en) 2010-04-19 2015-10-27 Microsoft Technology Licensing, Llc Server failure recovery
US8565092B2 (en) 2010-11-18 2013-10-22 Cisco Technology, Inc. Dynamic flow redistribution for head of line blocking avoidance
US20120307641A1 (en) * 2011-05-31 2012-12-06 Cisco Technology, Inc. Dynamic Flow Segregation for Optimal Load Balancing Among Ports in an Etherchannel Group
WO2013015835A1 (en) 2011-07-22 2013-01-31 Seven Networks, Inc. Mobile application traffic optimization
US9516127B2 (en) 2013-03-25 2016-12-06 Seven Networks, Llc Intelligent alarm manipulator and resource tracker
US10216549B2 (en) 2013-06-17 2019-02-26 Seven Networks, Llc Methods and systems for providing application programming interfaces and application programming interface extensions to third party applications for optimizing and minimizing application traffic
US9973965B2 (en) * 2013-07-12 2018-05-15 Seven Networks, Llc Transport protocol layer optimization for managing signaling and power consumption
US11422907B2 (en) 2013-08-19 2022-08-23 Microsoft Technology Licensing, Llc Disconnected operation for systems utilizing cloud storage
US9553822B2 (en) * 2013-11-12 2017-01-24 Microsoft Technology Licensing, Llc Constructing virtual motherboards and virtual storage devices
US9798631B2 (en) 2014-02-04 2017-10-24 Microsoft Technology Licensing, Llc Block storage by decoupling ordering from durability
CN104022961A (zh) * 2014-05-29 2014-09-03 华为技术有限公司 一种数据传输方法、装置及系统
CN106330756B (zh) * 2015-07-03 2020-01-03 华为技术有限公司 一种数据传输方法和设备
US20170078416A1 (en) * 2015-09-15 2017-03-16 Lenovo (Singapore) Pte, Ltd. Apparatus, method, and program product for data bandwidth optimization
CN107087304B (zh) * 2016-02-15 2021-07-09 华为技术有限公司 一种通信方法、接入点以及站点
US10419977B2 (en) 2017-12-28 2019-09-17 Comcast Cable Communications, Llc Variable application of quality of service
CN108900506A (zh) * 2018-06-28 2018-11-27 江苏中威科技软件系统有限公司 消息推送方法、推送服务器和传输控制协议服务器
US11463547B2 (en) * 2019-12-12 2022-10-04 Google Llc Reliable transport protocol and hardware architecture for datacenter networking

Family Cites Families (177)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4491945A (en) 1982-06-25 1985-01-01 At&T Bell Laboratories Fast packet switch
US4780870A (en) 1986-09-05 1988-10-25 American Telephone And Telegraph Company, At&T Bell Laboratories Packet switch
US4993030A (en) 1988-04-22 1991-02-12 Amdahl Corporation File system for a plurality of storage classes
US5854746A (en) 1990-04-28 1998-12-29 Kanebo, Ltd. Flexible production and material resource planning system using sales information directly acquired from POS terminals
US6026452A (en) 1997-02-26 2000-02-15 Pitts; William Michael Network distributed site cache RAM claimed as up/down stream request/reply channel for storing anticipated data and meta data
US5305320A (en) 1992-10-06 1994-04-19 At&T Bell Laboratories Peripheral communications network
US5423046A (en) 1992-12-17 1995-06-06 International Business Machines Corporation High capacity data storage system using disk array
US5408649A (en) 1993-04-30 1995-04-18 Quotron Systems, Inc. Distributed data access system including a plurality of database access processors with one-for-N redundancy
US5446915A (en) 1993-05-25 1995-08-29 Intel Corporation Parallel processing system virtual connection method and apparatus with protection and flow control
US5524110A (en) 1993-11-24 1996-06-04 Intel Corporation Conferencing over multiple transports
US6240384B1 (en) 1995-12-04 2001-05-29 Kabushiki Kaisha Toshiba Speech synthesis method
DE69625327D1 (de) * 1996-03-20 2003-01-23 St Microelectronics Srl Zeitzuteilender interner Bus, insbesondere für nichtflüchtige Speicher
US5938732A (en) 1996-12-09 1999-08-17 Sun Microsystems, Inc. Load balancing and failover of network services
US6490610B1 (en) 1997-05-30 2002-12-03 Oracle Corporation Automatic failover for clients accessing a resource through a server
US6230252B1 (en) 1997-11-17 2001-05-08 Silicon Graphics, Inc. Hybrid hypercube/torus architecture
US5970232A (en) 1997-11-17 1999-10-19 Cray Research, Inc. Router table lookup mechanism
US6973455B1 (en) 1999-03-03 2005-12-06 Emc Corporation File server system providing direct data sharing between clients with a server acting as an arbiter and coordinator
US8428069B2 (en) 1998-08-19 2013-04-23 Wayne Richard Howe Stealth packet switching
US6424979B1 (en) 1998-12-30 2002-07-23 American Management Systems, Inc. System for presenting and managing enterprise architectures
US6577613B1 (en) 1999-03-02 2003-06-10 Verizon Corporate Services Group Inc. Method and apparatus for asynchronous reservation-oriented multiple access for wireless networks
US7774469B2 (en) 1999-03-26 2010-08-10 Massa Michael T Consistent cluster operational data in a server cluster using a quorum of replicas
US6850489B1 (en) 1999-04-28 2005-02-01 Matsushita Electric Industrial Co., Ltd. Communication system to which multiple access control method is applied
US8688797B2 (en) 1999-12-02 2014-04-01 Western Digital Technologies, Inc. Managed peer-to-peer applications, systems and methods for distributed data access and storage
US6507834B1 (en) 1999-12-22 2003-01-14 Ncr Corporation Method and apparatus for parallel execution of SQL from stored procedures
US7117273B1 (en) 2000-01-25 2006-10-03 Cisco Technology, Inc. Methods and apparatus for maintaining a map of node relationships for a network
US20080005275A1 (en) 2000-06-02 2008-01-03 Econnectix, Llc Method and apparatus for managing location information in a network separate from the data to which the location information pertains
US7107606B2 (en) 2000-08-30 2006-09-12 The Chinese University Of Hong Kong System and method for highly scalable video on demand
US20060288080A1 (en) 2000-09-12 2006-12-21 Ibrix, Inc. Balanced computer architecture
EP1364510B1 (en) 2000-10-26 2007-12-12 Prismedia Networks, Inc. Method and system for managing distributed content and related metadata
US7240358B2 (en) 2000-12-08 2007-07-03 Digital Fountain, Inc. Methods and apparatus for scheduling, serving, receiving media-on demand for clients, servers arranged according to constraints on resources
US20020083134A1 (en) 2000-12-22 2002-06-27 Bauer Kirk Wayne Method and system of collaborative browsing
US7383288B2 (en) 2001-01-11 2008-06-03 Attune Systems, Inc. Metadata based file switch and switched file system
WO2002065275A1 (en) 2001-01-11 2002-08-22 Yottayotta, Inc. Storage virtualization system and methods
US20020093948A1 (en) * 2001-01-16 2002-07-18 Motorola, Inc. Packet-based multimedia communications system having one or more wireless links
US20020161850A1 (en) 2001-01-29 2002-10-31 Ulrich Thomas R. Data path accelerator for storage systems
US20020152293A1 (en) 2001-01-31 2002-10-17 Hahn Terry G. Dynamic server directory for distributed computing system
US20020194245A1 (en) 2001-06-05 2002-12-19 Simpson Shell S. Job ticket service
US7113993B1 (en) 2001-06-20 2006-09-26 Microstrategy, Inc. Technique for handling server session requests in a system having a plurality of servers
US8195950B2 (en) * 2001-08-15 2012-06-05 Optimum Path LLC Secure and seamless wireless public domain wide area network and method of using the same
US7165256B2 (en) 2001-09-11 2007-01-16 Sun Microsystems, Inc. Task grouping in a distributed processing framework system and methods for implementing the same
US20030084397A1 (en) 2001-10-31 2003-05-01 Exanet Co. Apparatus and method for a distributed raid
US7505458B2 (en) * 2001-11-27 2009-03-17 Tellabs San Jose, Inc. Apparatus and method for a fault-tolerant scalable switch fabric with quality-of-service (QOS) support
AUPR918001A0 (en) 2001-11-30 2001-12-20 Foursticks Pty Ltd Credit based algorithm for traffic shaping
US20030117982A1 (en) * 2001-12-17 2003-06-26 Siemens Transportation Systems, Inc. Packet efficient TDMA with flow control
US7342876B2 (en) 2001-12-20 2008-03-11 Sri International Interference mitigation and adaptive routing in wireless ad-hoc packet-switched networks
US7180875B1 (en) 2001-12-20 2007-02-20 Meshnetworks, Inc. System and method for performing macro-diversity selection and distribution of routes for routing data packets in Ad-Hoc networks
JP2003202964A (ja) 2002-01-09 2003-07-18 Hitachi Ltd 計算機システムの制御方法、計算機システム、記憶装置の制御方法及び記憶装置
US7076555B1 (en) 2002-01-23 2006-07-11 Novell, Inc. System and method for transparent takeover of TCP connections between servers
US7115919B2 (en) 2002-03-21 2006-10-03 Hitachi, Ltd. Storage system for content distribution
US6963996B2 (en) 2002-04-30 2005-11-08 Intel Corporation Session error recovery
JP3857259B2 (ja) 2002-08-14 2006-12-13 日本電信電話株式会社 オブジェクト状態転送方法,オブジェクト状態転送装置およびオブジェクト状態転送プログラム並びにそのプログラムの記録媒体
US7443841B2 (en) 2002-10-30 2008-10-28 Nortel Networks Limited Longest prefix matching (LPM) using a fixed comparison hash table
US7937421B2 (en) 2002-11-14 2011-05-03 Emc Corporation Systems and methods for restriping files in a distributed file system
JP4218384B2 (ja) 2003-03-24 2009-02-04 富士ゼロックス株式会社 サービス処理装置、サービス処理方法及びプログラム、並びに画像形成装置
US7433332B2 (en) 2003-04-30 2008-10-07 Skypipes Wireless, Inc. Managed microcell wireless mesh network architecture
US7610348B2 (en) 2003-05-07 2009-10-27 International Business Machines Distributed file serving architecture system with metadata storage virtualization and data access at the data server connection speed
US7139933B2 (en) 2003-06-20 2006-11-21 International Business Machines Corporation Preserving cache data against cluster reboot
US8041760B2 (en) 2003-08-27 2011-10-18 International Business Machines Corporation Service oriented architecture for a loading function in a data integration platform
US20050075911A1 (en) 2003-10-03 2005-04-07 Affiliated Flood Group, L.L.C. Method for producing, selling, and delivering data required by mortgage lenders and servicers to comply with flood insurance monitoring requirements
US8274961B2 (en) * 2003-10-24 2012-09-25 Sony Corporation Apparatus and associated methodology of adjusting a RTS/CTS transmission protocol
US7339946B2 (en) * 2003-11-20 2008-03-04 Motorola, Inc. Method of efficiently detecting a loss of granted bandwidth
US20060015495A1 (en) 2003-11-26 2006-01-19 Keating Brett M Use of image similarity in image searching via a network of computational apparatus
US7231475B1 (en) 2004-01-30 2007-06-12 Cisco Technology, Inc. Advanced bandwidth allocation in PCI bus architecture
US7773521B2 (en) 2004-04-30 2010-08-10 Emc Corporation Storage switch traffic bandwidth control
US8108429B2 (en) 2004-05-07 2012-01-31 Quest Software, Inc. System for moving real-time data events across a plurality of devices in a network for simultaneous data protection, replication, and access services
US7657530B2 (en) 2004-06-07 2010-02-02 Symantec Operating Corporation System and method for file system content processing
US7657581B2 (en) 2004-07-29 2010-02-02 Archivas, Inc. Metadata management for fixed content distributed data storage
US20060074946A1 (en) 2004-09-27 2006-04-06 Performance It Point of view distributed agent methodology for network management
US8145748B2 (en) 2004-12-13 2012-03-27 American Power Conversion Corporation Remote monitoring system
US20060129614A1 (en) 2004-12-14 2006-06-15 Kim Hong Y Crash recovery system and method for distributed file server using object based storage
US20060159456A1 (en) 2005-01-18 2006-07-20 Fujitsu Limited System and method for conserving resources in an optical storage area network
EP1877829A2 (en) * 2005-03-28 2008-01-16 United Technologies Corporation Vehicle-based threat detection system
WO2006108218A1 (en) * 2005-04-15 2006-10-19 Regenertech Pty Limited Use of neuropeptide y (npy) and agonists and antagonists thereof for tissue regeneration
US7756826B2 (en) 2006-06-30 2010-07-13 Citrix Systems, Inc. Method and systems for efficient delivery of previously stored content
JP4736549B2 (ja) 2005-06-10 2011-07-27 日本電気株式会社 帯域制御装置、帯域制御方法、帯域制御プログラム及び帯域制御システム
WO2006133629A1 (en) 2005-06-15 2006-12-21 Huawei Technologies Co., Ltd. Method and system for realizing automatic restoration after a device failure
US8588210B2 (en) * 2005-07-22 2013-11-19 Motorola Solutions, Inc. Method and apparatus for floor control in a communication system
US20070025381A1 (en) 2005-07-29 2007-02-01 Jay Feng Method and apparatus for allocating processing in a network
GB0517113D0 (en) * 2005-08-20 2005-09-28 Ibm Methods, apparatus and computer programs for data communication efficiency
WO2007027945A1 (en) * 2005-08-30 2007-03-08 Sensact Applications, Incorporated Wireless parking guidance system
WO2007029633A1 (ja) 2005-09-06 2007-03-15 Nec Corporation 音声合成装置及び方法とプログラム
US8576872B2 (en) * 2005-10-19 2013-11-05 Qualcomm Incorporated Multi-hop wireless mesh network medium access control protocol
US8010829B1 (en) 2005-10-20 2011-08-30 American Megatrends, Inc. Distributed hot-spare storage in a storage cluster
US20070094691A1 (en) * 2005-10-24 2007-04-26 Gazdzinski Robert F Method and apparatus for on-demand content transmission and control over networks
JP4680048B2 (ja) 2005-12-13 2011-05-11 日立オムロンターミナルソリューションズ株式会社 カード処理装置
US7716180B2 (en) 2005-12-29 2010-05-11 Amazon Technologies, Inc. Distributed storage system with web services client interface
KR100705584B1 (ko) * 2006-01-02 2007-04-09 삼성전자주식회사 무선 랜 네트워크 및 무선 랜 네트워크의 프레임 전송 방법
US20070204028A1 (en) 2006-02-24 2007-08-30 Hyun Lee Method of maximizing the information access rate from/to storage units in wired/wireless networks
US7840136B1 (en) * 2006-03-28 2010-11-23 Oracle America, Inc. Low-latency switch using optical and electrical proximity communication
US7356213B1 (en) * 2006-03-28 2008-04-08 Sun Microsystems, Inc. Transparent switch using optical and electrical proximity communication
US7817880B1 (en) * 2006-03-28 2010-10-19 Oracle America, Inc. Multi-chip systems using on-chip photonics
BRPI0722378A2 (pt) * 2006-03-31 2012-05-22 Qualcomm Incorporated gerencimento de memória para controle de acesso à mìdia de alta velocidade
US20070248089A1 (en) * 2006-04-19 2007-10-25 Jason Redi Systems and methods for incorporating information corresponding to an end-to-end transmission in determining access to a communication medium
US7702333B2 (en) * 2006-05-11 2010-04-20 Intel Corporation Wireless local area network and methods for secure resource reservations for fast roaming
KR101346734B1 (ko) 2006-05-12 2014-01-03 삼성전자주식회사 디지털 저작권 관리를 위한 다중 인증서 철회 목록 지원방법 및 장치
US8296408B2 (en) 2006-05-12 2012-10-23 Sap Ag Distributing relocatable services in middleware for smart items
US20070286135A1 (en) * 2006-06-07 2007-12-13 Tony Kirke Method and system for enabling reception of targeted services to a handheld communication device
WO2007148300A2 (en) 2006-06-20 2007-12-27 Gal Zuckerman Methods and systems for push-to-storage
US7930595B2 (en) 2006-06-22 2011-04-19 International Business Machines Corporation Method and apparatus for analyzing error conditions in a massively parallel computer system by identifying anomalous nodes within a communicator set
KR20080004773A (ko) 2006-07-06 2008-01-10 삼성전자주식회사 하드 디스크의 액세스 타임 자동 설정 방법 및 그 장치
US7769843B2 (en) 2006-09-22 2010-08-03 Hy Performix, Inc. Apparatus and method for capacity planning for data center server consolidation and workload reassignment
US7797453B2 (en) 2006-09-29 2010-09-14 Microsoft Corporation Resource standardization in an off-premise environment
US7793101B2 (en) 2006-10-19 2010-09-07 Novell, Inc. Verifiable virtualized storage port assignments for virtual machines
US7917469B2 (en) 2006-11-08 2011-03-29 Hitachi Data Systems Corporation Fast primary cluster recovery
US7685227B2 (en) 2006-11-10 2010-03-23 Gerber Robert H Message forwarding backup manager in a distributed server system
US8069184B2 (en) 2006-12-29 2011-11-29 Sap Ag Systems and methods to implement extensibility of tenant content in a provider-tenant environment
US7805580B2 (en) 2007-01-08 2010-09-28 International Business Machines Corporation Method and system for determining optimal data layout using blind justice
US8131723B2 (en) 2007-03-30 2012-03-06 Quest Software, Inc. Recovering a file system to any point-in-time in the past with guaranteed structure, content consistency and integrity
US8001352B1 (en) 2007-04-17 2011-08-16 American Megatrends, Inc. Networked raid in a virtualized cluster
US7725437B2 (en) 2007-07-31 2010-05-25 Hewlett-Packard Development Company, L.P. Providing an index for a data store
US7929553B2 (en) * 2007-08-10 2011-04-19 Broadcom Corporation System and method for adjusting compression for computing clients based on a latency level
WO2009025329A1 (ja) * 2007-08-22 2009-02-26 Nippon Telegraph And Telephone Corporation パス管理制御方法、パス管理制御プログラム、パス管理制御装置およびパス管理制御システム
US8332375B2 (en) 2007-08-29 2012-12-11 Nirvanix, Inc. Method and system for moving requested files from one storage location to another
US20090097443A1 (en) * 2007-10-10 2009-04-16 Pirjo Marjaana Pasanen Hierarchical Network Operating Mode in a Wireless Communications Network
CN101420786B (zh) * 2007-10-22 2010-12-15 华为技术有限公司 一种多模终端共存的实现方法和装置
US8432797B2 (en) * 2007-10-24 2013-04-30 Motorola Solutions, Inc. Method and system for distributed admission control in mobile ad hoc networks (MANETs)
AT504798B1 (de) 2007-10-24 2008-08-15 Data Noah Gmbh Verfahren und vorrichtung zur selbsttätigen erstellung von sicherungskopien
US20090112921A1 (en) 2007-10-31 2009-04-30 Fernando Oliveira Managing files using layout storage objects
US20090113323A1 (en) 2007-10-31 2009-04-30 Microsoft Corporation Data center operation optimization
US20110246471A1 (en) 2010-04-06 2011-10-06 Selim Shlomo Rakib Retrieving video annotation metadata using a p2p network
US7801994B2 (en) 2007-11-29 2010-09-21 Hitachi, Ltd. Method and apparatus for locating candidate data centers for application migration
US7779148B2 (en) * 2008-02-01 2010-08-17 International Business Machines Corporation Dynamic routing based on information of not responded active source requests quantity received in broadcast heartbeat signal and stored in local data structure for other processor chips
US20090249418A1 (en) * 2008-03-28 2009-10-01 Channer Medianet, S.L. Repository for information about streaming video/audio channels
US8103628B2 (en) 2008-04-09 2012-01-24 Harmonic Inc. Directed placement of data in a redundant data storage system
US8301497B2 (en) 2008-04-17 2012-10-30 Aol Advertising Inc. Method and system for media initialization via data sharing
US7801046B2 (en) 2008-04-28 2010-09-21 Oracle America, Inc. Method and system for bandwidth control on a network interface card
TWI476610B (zh) 2008-04-29 2015-03-11 Maxiscale Inc 同級間冗餘檔案伺服器系統及方法
KR20090122862A (ko) * 2008-05-26 2009-12-01 엘지전자 주식회사 프로파일 인덱스 전송을 이용한 상향링크 데이터 송수신방법
US8065559B2 (en) 2008-05-29 2011-11-22 Citrix Systems, Inc. Systems and methods for load balancing via a plurality of virtual servers upon failover using metrics from a backup virtual server
US20090307329A1 (en) 2008-06-06 2009-12-10 Chris Olston Adaptive file placement in a distributed file system
US8160063B2 (en) 2008-06-09 2012-04-17 Microsoft Corporation Data center interconnect and traffic engineering
US8335776B2 (en) 2008-07-02 2012-12-18 Commvault Systems, Inc. Distributed indexing system for data storage
US8737229B2 (en) 2008-07-11 2014-05-27 Qualcomm Incorporated Access mechanisms for base stations in heterogeneous access point networks
US8102822B2 (en) 2008-07-14 2012-01-24 Samsung Electronics Co., Ltd. System and method for random access scheme in a wireless ad-hoc network
US8452922B2 (en) 2008-08-21 2013-05-28 Infinidat Ltd. Grid storage system and method of operating thereof
US20100061366A1 (en) * 2008-09-08 2010-03-11 Verizon Corporate Services Group Inc. Method and apparatus for link sharing among logical routers
US8819259B2 (en) 2008-10-15 2014-08-26 Aster Risk Management Llc Fast retrieval and progressive retransmission of content
KR101453425B1 (ko) 2008-12-18 2014-10-23 한국전자통신연구원 메타데이터 서버 및 메타데이터 관리 방법
US8347050B2 (en) 2009-01-27 2013-01-01 Microsoft Corporation Append-based shared persistent storage
US8832023B2 (en) 2009-01-30 2014-09-09 Apple Inc. System for managing distributed assets and metadata
US8775544B2 (en) 2009-02-04 2014-07-08 Citrix Systems, Inc. Methods and systems for dynamically switching between communications protocols
CN101520805B (zh) 2009-03-25 2011-05-11 中兴通讯股份有限公司 一种分布式文件系统及其文件处理方法
US7966383B2 (en) 2009-03-27 2011-06-21 Business Objects Software Ltd. Client-server systems and methods for accessing metadata information across a network using proxies
US20100250746A1 (en) 2009-03-30 2010-09-30 Hitachi, Ltd. Information technology source migration
US8266136B1 (en) 2009-04-13 2012-09-11 Netapp, Inc. Mechanism for performing fast directory lookup in a server system
US8261033B1 (en) 2009-06-04 2012-09-04 Bycast Inc. Time optimized secure traceable migration of massive quantities of data in a distributed storage system
US8285681B2 (en) 2009-06-30 2012-10-09 Commvault Systems, Inc. Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites
US8352482B2 (en) 2009-07-21 2013-01-08 Vmware, Inc. System and method for replicating disk images in a cloud computing based virtual machine file system
US8234518B2 (en) 2009-07-21 2012-07-31 Vmware, Inc. Method for voting with secret shares in a distributed system
US8719871B2 (en) * 2009-10-06 2014-05-06 Verizon Patent And Licensing Inc. Method and apparatus for utilizing dynamic bandwidth allocation for recording content
US8074107B2 (en) 2009-10-26 2011-12-06 Amazon Technologies, Inc. Failover and recovery for replicated data instances
US8949436B2 (en) 2009-12-18 2015-02-03 Alcatel Lucent System and method for controlling peer-to-peer connections
US9501365B2 (en) 2009-12-28 2016-11-22 Netapp, Inc. Cloud-based disaster recovery of backup data and metadata
US9081501B2 (en) 2010-01-08 2015-07-14 International Business Machines Corporation Multi-petascale highly efficient parallel supercomputer
US8601097B2 (en) 2010-02-22 2013-12-03 Ncomputing Inc. Method and system for data communications in cloud computing architecture
US8503472B2 (en) * 2010-02-23 2013-08-06 Intel Corporation Partial bandwidth request techniques in wireless networks
US8274987B2 (en) * 2010-03-22 2012-09-25 International Business Machines Corporation Contention free pipelined broadcasting within a constant bisection bandwidth network topology
US20110296025A1 (en) 2010-03-30 2011-12-01 Jason Lieblich Systems and methods for facilitating migration and adoption of an alternative computing infrastructure
US8412899B2 (en) 2010-04-01 2013-04-02 Autonomy, Inc. Real time backup storage node assignment
US8181061B2 (en) 2010-04-19 2012-05-15 Microsoft Corporation Memory management and recovery for datacenters
US8438244B2 (en) 2010-04-19 2013-05-07 Microsoft Corporation Bandwidth-proportioned datacenters
US8996611B2 (en) 2011-01-31 2015-03-31 Microsoft Technology Licensing, Llc Parallel serialization of request processing
US9813529B2 (en) * 2011-04-28 2017-11-07 Microsoft Technology Licensing, Llc Effective circuits in packet-switched networks
US8533299B2 (en) 2010-04-19 2013-09-10 Microsoft Corporation Locator table and client library for datacenters
US9170892B2 (en) 2010-04-19 2015-10-27 Microsoft Technology Licensing, Llc Server failure recovery
US8656056B2 (en) 2010-05-13 2014-02-18 Ca, Inc. Web-enabled mainframe
US9047136B2 (en) 2010-06-11 2015-06-02 Oracle International Corporation Method and system for migrating the state of a virtual cluster
CN101902776B (zh) * 2010-07-08 2013-04-03 上海海事大学 一种改进的基于rts/cts的多跳无线网络拥塞控制方法
US8769269B2 (en) 2010-08-12 2014-07-01 International Business Machines Corporation Cloud data management
US8812627B2 (en) 2010-08-20 2014-08-19 Adobe Systems Incorporated System and method for installation and management of cloud-independent multi-tenant applications
US8904226B2 (en) 2010-08-26 2014-12-02 Cleversafe, Inc. Migrating stored copies of a file to stored encoded data slices
US20120036146A1 (en) 2010-10-26 2012-02-09 ParElastic Corporation Apparatus for elastic database processing with heterogeneous data
US8458302B2 (en) * 2010-12-20 2013-06-04 Cisco Technology, Inc. Auto-configuration of network parameters for multimedia traffic using session description protocol
US8767570B2 (en) * 2011-02-14 2014-07-01 Nokia Corporation Indicating status of radio resources in wireless network
US9077655B2 (en) * 2011-03-02 2015-07-07 3Inova Networks Inc. Traffic management in distributed wireless networks
US10504360B2 (en) * 2011-04-08 2019-12-10 Ross Gilson Remote control interference avoidance
US11422907B2 (en) 2013-08-19 2022-08-23 Microsoft Technology Licensing, Llc Disconnected operation for systems utilizing cloud storage

Also Published As

Publication number Publication date
EP2702730A4 (en) 2014-06-11
CN103493449A (zh) 2014-01-01
US9813529B2 (en) 2017-11-07
WO2012149499A3 (en) 2013-01-03
US20120278400A1 (en) 2012-11-01
EP2702730B1 (en) 2017-05-17
WO2012149499A2 (en) 2012-11-01
CN103493449B (zh) 2016-11-09
EP2702730A2 (en) 2014-03-05
CN105812287A (zh) 2016-07-27
CN105812287B (zh) 2019-08-06

Similar Documents

Publication Publication Date Title
EP2702730B1 (en) Effective circuits in packet-switched networks
CN113728599B (zh) 将包注入网络接口控制器nic中的输出缓冲区的方法以及nic
JP7512456B2 (ja) パケットスケジューリング方法、スケジューラ、ネットワーク装置及びネットワークシステム
TWI280010B (en) Apparatus and method for virtual output queue feedback
US9571402B2 (en) Congestion control and QoS in NoC by regulating the injection traffic
US8713220B2 (en) Multi-bank queuing architecture for higher bandwidth on-chip memory buffer
CN104584497B (zh) 管理具有流控制的二维网络中的饥饿和阻塞
TWI680663B (zh) 客戶業務傳輸方法和裝置
CN110493145A (zh) 一种缓存方法及装置
TW200920035A (en) Enhancement of end-to-end network QoS
BRPI0606717B1 (pt) Método de operar uma estação de comunicação, estação de comunicação, e sistema de comunicação
US8514700B2 (en) MLPPP occupancy based round robin
WO2010007339A1 (en) Switching device
CN102594691A (zh) 一种处理报文的方法及装置
CN115756837A (zh) 一种交叉开关矩阵权重动态调度方法及装置、芯片
CN106911740A (zh) 一种缓存管理的方法和装置
CN108234350A (zh) 一种调度方法及客户驻地设备
CN109039934B (zh) 一种空间dtn网络拥塞控制方法及系统
US8711697B1 (en) Method and apparatus for prioritizing data transfer
HK1190537B (en) Effective circuits in packet-switched networks
HK1190537A (en) Effective circuits in packet-switched networks
US20230114760A1 (en) NETWORK-ON-CHIP (NoC) USING DEADLINE BASED ARBITRATION
CN103997468B (zh) 一种数据调度方法及装置
WO2024230241A1 (zh) 报文发送方法、目标节点及电子设备
Todd et al. Comparative performance analysis of directed flow control for real-time SCI