ES2600678T3 - Inhabilitación selectiva de mecanismos de fiabilidad en conexión de red - Google Patents

Inhabilitación selectiva de mecanismos de fiabilidad en conexión de red Download PDF

Info

Publication number
ES2600678T3
ES2600678T3 ES11751325.9T ES11751325T ES2600678T3 ES 2600678 T3 ES2600678 T3 ES 2600678T3 ES 11751325 T ES11751325 T ES 11751325T ES 2600678 T3 ES2600678 T3 ES 2600678T3
Authority
ES
Spain
Prior art keywords
end point
endpoint
lower level
connection
tunnel
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
ES11751325.9T
Other languages
English (en)
Inventor
Deepak Bansal
Hasan Alkhatib
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 ES2600678T3 publication Critical patent/ES2600678T3/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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/326Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • 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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

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

Uno o más medios legibles por ordenador que tienen instrucciones ejecutables por ordenador integradas en los mismos que, cuando se ejecutan, realizan un procedimiento de comunicación a través de una conexión de red establecida entre un primer punto final y un segundo punto final que residen en redes dispares, comprendiendo el procedimiento: proporcionar (602) la conexión de red que se extiende entre el primer punto final y el segundo punto final, en el que la conexión de red opera como un túnel que puentea las redes dispares en las que residen el primer punto final y el segundo punto final, respectivamente, en el que los mensajes de comunicación entre el primer punto final y el segundo punto final comprenden la transmisión de paquetes del protocolo de Internet, IP, desde el primer punto final al segundo punto final a través del túnel, en el que la conexión de red incluye una conexión de nivel superior que se ejecuta por encima de la conexión de nivel inferior, en el que se ejecutan integralmente uno o más mecanismos de fiabilidad del nivel superior en la conexión de nivel superior y el que se ejecutan integralmente uno o más mecanismos de fiabilidad del nivel inferior en la conexión de nivel inferior, en el que el uno o más mecanismos de fiabilidad del nivel inferior comprenden un mecanismo de control de la congestión configurado para gestionar la tasa de transmisión de paquetes IP; inhabilitar (604) selectivamente el uno o más mecanismos de fiabilidad del nivel inferior, siendo realizada automáticamente la inhabilitación a menos que se proporcione una entrada en sentido contrario, en el que el mecanismo de control de la congestión construido dentro de la conexión de nivel inferior se inhabilita por el primer punto final sin ninguna negociación con el segundo punto final cuando el primer punto final actúa como el extremo de transmisión; y comunicar (606) mensajes entre el primer punto final y el segundo punto final a través del túnel.

Description

5
10
15
20
25
30
35
40
45
50
55
DESCRIPCION
Inhabilitacion selectiva de mecanismos de fiabilidad en conexion de red Antecedentes
Los sistemas de conexion en red a gran escala son plataformas comunes empleadas en una variedad de escenarios para la ejecucion de aplicaciones y mantenimiento de datos para funciones comerciales y operacionales. Por ejemplo, un centro de datos (por ejemplo una infraestructura ffsica informatica en la nube) puede proporcionar una variedad de servicios (por ejemplo, aplicaciones web, servicios de correo electronico, servicios de motores de busqueda, etc.) simultaneamente para una pluralidad de clientes. Estos sistemas de conexion en red a gran escala incluyen un gran numero de recursos distribuidos a lo largo del centro de datos, en el que cada recurso se asemeja a una maquina ffsica o una maquina virtual en ejecucion en un alojamiento ffsico. Cuando el centro de datos aloja multiples inquilinos (por ejemplo, programas cliente), estos recursos se asignan optimamente desde el mismo centro de datos a los diferentes inquilinos.
Los clientes del centro de datos requieren frecuentemente que se ejecuten aplicaciones comerciales en una red de empresa privada (por ejemplo, un servidor gestionado por el cliente que se situa geograficamente remoto respecto al centro de datos) para interactuar con el software que esta siendo ejecutado sobre los recursos en el centro de datos. En este caso, se establece una conexion de red entre componentes de la aplicacion comercial y los componentes del software en ejecucion en el centro de datos. Esta conexion de red utiliza tfpicamente protocolos de transporte de la red, tales como el protocolo de control de transmision (TCP) para facilitar una entrega fiable de paquetes a traves de la conexion de red.
Esta conexion de red basada en TCP, o conexion TCP, es la responsable de la gestion de las transferencias de mensajes de extremo a extremo a traves de la red de la empresa privada operando independientemente y el centro de datos. Por ejemplo, estas herramientas pueden gestionar el control de errores, la segmentacion, el control de flujo, el control de la congestion, y el direccionamiento de la aplicacion (por ejemplo, numeros de puertos). Durante la operacion, un comportamiento problematico de la red, tal como la congestion de la red, y perdidas de paquetes pueden detectarse y mejorarse por estas herramientas mediante la solicitud de retransmisiones de los paquetes perdidos, y cambio de la velocidad a la que se envfan los paquetes para reducir la congestion.
Cuando una conexion basada en TCP se esta ejecutando por encima de otra conexion TCP, la interaccion entre estos mecanismos empleados por la conexion TCP interior y por la conexion TCP exterior pueden dar como resultado retransmisiones exageradas y estrangulamiento del flujo lo que a su vez provoca una cafda significativa en el rendimiento global de la conexion. De ese modo, el empleo de las tecnologfas emergentes para inhabilitar una o mas de las herramientas asociadas con las capas de la comunicacion basada en TCP mejorana el resultado y el rendimiento de una conexion de red establecida mientras que aun asegura una entrega fiable de paquetes y el control de la congestion.
El documento de Osamu Honda et al.: "Understanding TCP over TCP: effects of TCP tunneling on end-to-end throughput and latency" (Proceedings of SPIE, vol. 6011, 23 de octubre de 2005) describe el establecimiento en la red de una tunelacion de la conexion TCP sobre otro canal TCP. El documento describe un estudio de parametros para descubrir el impacto en el rendimiento del retardo de la propagacion, acuse de recibo selectivo, y tamano de la memoria intermedia del conector para los tuneles TCP sobre TCP. El documento y la tecnica anterior citada en el presente documento desvelan adicionalmente el problema del "decaimiento TCP" debido a la interaccion entre mecanismos de fiabilidad de las conexiones en tunel y TCP tunelada, pero el documento no describe como adaptar la conexion subyacente para mitigar dicho efecto de "decaimiento".
El documento de Joel Reardon et al: "Improving Tor using a TCP over-DTLS Tunnel", 25 de mayo de 2009, se refiere a la mejora de Tor con el uso de un tunel TCP sobre DTLS. Todo el trafico entre cualquier par de enrutadores, incluso si representan circuitos para diferentes clientes, se multiplexa a traves de una conexion TCP unica. Los mecanismos de control de la congestion se han aplicado injustamente a todos los circuitos cuando se pretende que estrangulen solamente los remitentes de ruido. La cafda de paquetes en un circuito provoca interferencia en otros circuitos. El tunelado TCP sobre DTLS transporta paquetes TcP entre iguales usando DTLS, un transporte seguro de datagramas (basado en UDP). Una pila TCP de nivel de usuario en ejecucion dentro del Tor genera y analiza paquetes TCP que se envfan sobre DTLS entre enrutadores en lmea (OR). Usa una conexion TCP de nivel de usuario separada para cada circuito. Esto elimina la correlacion de los circuitos a los flujos TCP. Se emplea una pila TCP de nivel de usuario para generar paquetes TCP, que se encapsulan dentro de un paquete DTLS que se envfa a continuacion por un sistema en un datagrama UDP IP. El sistema receptor eliminada la cabecera UPD/IP cuando recibe los datos desde el conector, descifrando la carga util DTLS para obtener el paquete TCP, y lo traduce en un paquete TCP/IP que se envfa a continuacion a la pila TCP de nivel de usuario que procesa el paquete.
El documento US 2009/222906 A1 se refiere a un sistema de comunicacion informatico para la comunicacion a traves de redes publicas. El PPTP, el "Protocolo de Tunelacion Punto a Punto" encapsula datos VPN dentro de paquetes PPP. El PPTP usa una conexion TCP. Los clientes VPN construidos dentro del sistema operativo pueden usar alternativamente el L2TP, el "Protocolo de Tunelado Capa 2". Los paquetes L2TP se envfan a traves de un
5
10
15
20
25
30
35
40
45
50
55
puerto UDP 1701. El SSL-VPN usa el puerto TCP 443, que se usa normalmente para conexiones HTTPS cifradas a la Internet publica, y por lo tanto el trafico destinado al puerto TCP 443 no es bloqueado en los cortafuegos. PPP, PPTP, o L2TP se tunelan usando SSL sin la necesidad de instalar manualmente y configurar software cliente VPN.
El documento "Space Communications Protocol Specification (SCPS) - Transport Protocol (SCPS-TP)", de 1 de octubre de 2006, se refiere a la especificacion del protocolo de comunicacion espacial (SCPS) - protocolo de transporte (SCPS-TP). Se realizan modificaciones y extensiones al TCP y al UDP para su uso en los entornos de comunicaciones aeroespaciales, caracterizadas potencialmente por largos retardos, tasas de datos del enlace directo e inverso desequilibradas, y tasas de error potencialmente altas. La total fiabilidad del servicio es proporcionada por el TCP. El servicio del mejor esfuerzo es proporcionado por TCP con modificaciones menores. El servicio de fiabilidad minima es proporcionado por UDP. El TCP que inicia la conexion debe invocar las capacidades SCPS mediante la inclusion de la opcion de capacidades SCPS en la cabecera del segmento SYN. La escucha TCP debera indicar su disposicion a usar las capacidades especificadas incluyendo la opcion de capacidades SCPS en la cabecera del segmento SYN ACK. Cuando se elige la implementacion no para proporcionar control de congestion, los siguientes algoritmos no estan disponibles: el algoritmo de arranque lento de Van Jacobson; el algoritmo de evitacion de la congestion de Van Jacobson; el retroceso exponencial del temporizador de retransmision para retransmisiones sucesivas. Para retransmisiones de datos en las que no hay indicacion de que se este experimentando corrupcion, el algoritmo de retroceso exponencial debena usarse para calcular valores de tiempos de retransmision sucesivos para el mismo segmento. Una implementacion conforme debena proporcionar al protocolo de la capa de aplicacion (ALP) un mecanismo para especificar los siguientes parametros en relacion al BETS: habilitacion BETS - la operacion BETS debe habilitarse mediante una aplicacion antes o en cualquier momento del establecimiento de la conexion si ha de usarse en cualquier momento en la conexion; lfmite de retransmision BETS (R2) - numero maximo de retransmisiones antes de que comience la operacion de envfo en el lado BETS.
Sumario
Es el objeto de la presente invencion simplificar la comunicacion entre un punto final de origen y punto final de destino a traves de un tunel basado en TCP sin degradacion del rendimiento.
Este objeto se resuelve mediante la materia sujeto de las reivindicaciones independientes.
Las reivindicaciones preferidas se definen por las reivindicaciones dependientes.
El presente sumario se proporciona para introducir conceptos en una forma simplificada que se describen adicionalmente a continuacion en la Descripcion detallada. Este sumario no se pretende que identifique caractensticas claves o caractensticas esenciales de la materia sujeto reivindicada, ni se pretende que se use como una ayuda en la determinacion del alcance de la materia sujeto reivindicada.
Realizaciones de la presente invencion proporcionan sistemas, procedimientos, y medios legibles por ordenador que configuran herramientas (por ejemplo mecanismos de fiabilidad) que se ejecutan integralmente con tuneles basados en el protocolo de control de transmision (TCP) y que sirven para combatir una degradacion del rendimiento no garantizada provocada por esfuerzos duplicados de esas herramientas. Tfpicamente, los tuneles basados en TCP funcionan como conexiones de red entre puntos finales dispersamente localizados. Por ejemplo, los puntos finales pueden incluir un punto final de origen alojado en una plataforma informatica en la nube y un punto final de destino alojado en un recurso dentro una red de empresa privada.
Las realizaciones ejemplares de estas herramientas de configuracion pertenecen a la habilitacion e inhabilitacion de modo selectivo de mecanismos de fiabilidad (por ejemplo, mecanismos de control de la congestion y mecanismos de recuperacion de perdidas) individualmente sobre conexiones respectivas que comprenden el tunel basado en TCP. En un caso, estos canales incluyen una conexion basada en TCP de nivel inferior y una conexion basada en TCP de nivel superior. Durante la operacion, los paquetes de datos de la aplicacion se transmiten a traves de la conexion basada en TCP de nivel superior en ejecucion por encima de la conexion basada en TCP de nivel inferior.
En realizaciones, puede emplearse un controlador matricial para permitir la habilitacion (activacion) del mecanismo de control de la congestion y/o del mecanismo de recuperacion de perdidas, construidos dentro de la conexion basada en TCP de nivel inferior. La inhabilitacion selectiva de uno o mas mecanismos de fiabilidad integrados dentro del canal basado en TCP de nivel inferior puede invocarse mediante criterios predefinidos (por ejemplo instrucciones desde el modelo de servicio informatico en la nube, identidad de un punto final de origen, identidad y punto final de destino, y similares), que pueden invocarse basandose en cada conexion de red. En esta forma, las herramientas del canal basado en tCp de nivel superior imponen activamente un conjunto de reglas de fiabilidad que aseguran la entrega completa y eficiente de los paquetes de datos sobre el tunel basado en TCP, mientras que se desactivan una o mas de las herramientas del canal basado en TCP de nivel inferior para reducir la degradacion potencial del rendimiento resultante de los esfuerzos redundantes de los mismos.
Breve descripcion de los dibujos
Se describen en detalle a continuacion realizaciones de la presente invencion con referencia a las figuras de los
5
10
15
20
25
30
35
40
45
50
55
60
dibujos adjuntos, en las que:
la FIG. 1 es un diagrama de bloques de un entorno informatico ejemplar adecuado para su uso en la implementacion de las realizaciones de la presente invencion;
la FIG. 2 es un diagrama de bloques que ilustra una plataforma informatica ejemplar en la nube, adecuada para el uso en la implementacion de las realizaciones de la presente invencion, que se provee para configurar mecanismos de fiabilidad construidos dentro de un tunel basado en el protocolo de control de transporte (TCP); la FIG. 3 es un diagrama de bloques de un entorno informatico distribuido ejemplar con un tunel basado en TCP establecido en el, de acuerdo con una realizacion de la presente invencion;
la FIG. 4 es una representacion esquematica de una disposicion en capas de canales basados en TCP que comprenden el tunel basado en TCP, de acuerdo con una realizacion de la presente invencion; la FIG. 5 es un diagrama de bloques de un centro de datos ejemplar que emplea un controlador matricial para habilitar/inhabilitar selectivamente mecanismos de fiabilidad construidos dentro de los tuneles basados en TCP, de acuerdo con realizaciones de la presente invencion; y
las FIGS. 6 y 7 son diagramas de flujo que muestran procedimientos para facilitar la comunicacion a traves de una conexion de red establecida entre una pluralidad de puntos finales que residen en localizaciones dispares, de acuerdo con una realizacion de la presente invencion.
Descripcion detallada
La materia sujeto de las realizaciones de la presente invencion se describe con especificidad en el presente documento para cumplir requisitos reglamentarios. Sin embargo, la descripcion en sf no se pretende que limite el alcance de la presente patente. Por el contrario, los presentes inventores han contemplado que la materia sujeto reivindicada podna realizarse tambien en otras formas, para incluir diferentes etapas o combinaciones de etapas similares a las descritas en el presente documento, en conjunto con otras tecnologfas presentes o futuras. Mas aun, aunque los terminos "etapa" y/o "bloque" pueden usarse en el presente documento para connotar diferentes elementos o procedimientos empleados, los terminos no debenan interpretarse como la implicacion de cualquier orden particular en medio de o entre varias etapas desveladas en el presente documento a menos y con la excepcion de cuando el orden de las etapas individuales se describe explfcitamente.
Las realizaciones de la presente invencion se refieren a procedimientos, sistemas informaticos, y medios legibles por ordenador para el establecimiento y configuracion de tuneles que abarcan redes localizadas remotamente o puntos finales dentro de una red conectada. Como se usa en el presente documento, el termino "tunel" se quiere indicar que es limitativo, pero puede englobar cualquier conexion de red que enlace comunicativamente un punto final de origen y un punto final de destino, con la intencion de puentear la comunicacion sobre redes dispares. En un caso, un tunel puede establecerse como conexion de red que transmite paquetes de datos entre puntos finales alojados en redes locales separadas, en donde los puntos finales se descubren e identifican por medio de direcciones del protocolo de Internet (IP) asignadas a ellos. Adicionalmente, la transmision de paquetes de datos, y otro trafico, puede atravesar multiples enlaces, cortafuegos, y otras medidas de seguridad cuando se trasladan a traves de un tunel. Esta conexion ostensiblemente directa entre los puntos finales permite que ambos puntos finales hablen en una forma similar a como si estuvieran situados adyacentes en una red comun que comunica a traves de la capa IP.
En algunas realizaciones, el tunel se establece usando el protocolo de control de transporte (TCP) o el protocolo de transferencia de hipertexto (HTTP), o el HTTP seguro (HTTPS), respectivamente, en los que los puntos finales pueden o no participar. El tunel conecta ventajosamente los puntos finales y habilita la comunicacion a traves de una red o redes dispares. Por ejemplo, un tunel HTTP o HTTPS ofrece a los puntos finales la capacidad de establecer una conexion de nivel IP virtual directa incluso cuando los puntos finales esten en dos redes dispares. En otras palabras, el tunel permite que ambos puntos finales hablen de la misma manera a como si estuvieran situados adyacentes en una red comun comunicando a traves de la capa IP. A modo de ejemplo, una aplicacion actualmente en ejecucion sobre los dos puntos finales puede no ser consciente de que los puntos finales de la misma estan residiendo en dos redes dispares; por ello, la aplicacion no es consciente de que se esta ejecutando por encima de un tunel. Esta caractenstica de un tunel HTTP o HTTPS es un producto de la capacidad de las conexiones de red basadas en HTTP y HTTPS para contornear cortafuegos y otros dispositivos de los bordes de la red tales como servidores de proximidad.
Adicionalmente, los tuneles HTTP o HTTPS estan soportados por conexiones basadas en TCP que tienen mecanismos de fiabilidad de extremo a extremo construidos en ellas, dado que las conexiones basadas en TCP se utilizan en un amplio intervalo de varias redes. Estos mecanismos de fiabilidad realizan funciones, tales como la recuperacion de perdidas y control de la congestion para gestionar las perdidas y congestion sobre estos enlaces que conectan estas diversas redes. En otras palabras, TCP esta provisto con mecanismos de fiabilidad integrados para la deteccion de perdida de paquetes y la deteccion de congestion, y para responder a cada uno. En un caso, tras la deteccion de la congestion en una conexion basada en TCP, la respuesta del mecanismo de fiabilidad puede ser reducir la tasa a la que se distribuye el trafico de paquetes de datos a traves de la conexion de red. En otro caso, tras la deteccion de paquetes perdidos en una conexion basada en TCP, la respuesta del mecanismo de fiabilidad puede ser retransmitir los paquetes de datos perdidos.
5
10
15
20
25
30
35
40
45
50
55
60
Potencialmente, puede haber dos o mas conexiones basadas en TCP en ejecucion, una encima de la otra, durante la conexion TCP de extremo a extremo. En esta situacion, si tiene lugar una perdida de paquetes o congestion de la red, entonces los mecanismos de fiabilidad integrados en cada una de las conexiones en capas responden independientemente a la perdida de paquetes y a la congestion de la red sin comunicacion entre ellos. Por ejemplo, el mecanismo de recuperacion de perdidas de una conexion basada en TCP del nivel superior puede intentar realizar su propia respuesta ademas de la respuesta desde el mecanismo de recuperacion de perdidas de la conexion de nivel inferior. Esto es, ambos mecanismos de recuperacion de perdidas reenvfan los datos, provocando una degradacion incrementada e innecesaria del rendimiento de la conexion de red.
Tambien, ambos canales pueden tener mecanismos de control de la congestion que pueden reaccionar a la perdida de paquetes como un problema de la congestion y, tras la operacion en conjunto, duplicar sus esfuerzos cuando estrangulan la tasa de transmision. Por ejemplo, si ambos mecanismos de control de la congestion reducen la tasa de la transmision de paquetes de datos a la mitad, el efecto agregado es una reduccion en la tasa a un cuarto, que es bastante mas alla de lo necesario para resolver el problema de perdida de paquetes. Por ello, estas correcciones duplicadas, en efecto, compensan en exceso la causa y se convierten en inefectivas. Esta sobrecompensacion crea frecuentemente un impacto adverso sobre la comunicacion entre los puntos finales que incrementa la latencia mas alla de lo que es deseable para acometer adecuadamente los problemas de perdida de paquetes pendientes o congestion de la red.
En un aspecto, realizaciones de la presente invencion se refieren a uno o mas medios legibles por ordenador que tienen instrucciones ejecutables por ordenador realizadas en los mismos que, cuando se ejecutan, realizan un procedimiento para la comunicacion a traves de una conexion de red establecida entre una pluralidad de puntos finales que residen en redes dispares. Inicialmente, el procedimiento incluye una etapa para proporcionar la conexion de red que se extiende entre un punto final de origen y un punto final de destino. Como se ha explicado anteriormente, la conexion de red funciona como un tunel basado en TCP que puentea las redes dispares en las que residen el punto final de origen y el punto final de destino, respectivamente. El procedimiento implica adicionalmente las etapas de inhabilitar selectivamente uno o mas mecanismos de fiabilidad del nivel inferior, que se ejecutan integralmente sobre el tunel basado en TCP, y mensajes de comunicacion entre el primer punto final y el segundo punto final sin que los mecanismos de fiabilidad del nivel inferior interfieran con unos tiempos en los que los mensajes se envfan. En realizaciones, los mensajes de comunicacion entre el primer punto final y el segundo punto final pueden incluir espedficamente la transmision de paquetes IP desde el primer punto final al segundo punto final a traves del tunel basado en TCP.
En una realizacion ejemplar, los mecanismos de fiabilidad del nivel inferior comprenden un mecanismo de control de la congestion y un mecanismo de perdida de paquetes. El mecanismo de control de la congestion puede configurarse para manejar una cantidad de datos que se transporta dentro de los paquetes IP. El mecanismo de perdida de paquetes puede configurarse para manejar la perdida de paquetes a traves de la conexion de red mediante la retransmision automaticamente de los paquetes IP no entregados o retrasados.
En otro aspecto, realizaciones de la presente invencion se refieren a un sistema informatico para la gestion de un flujo de datos entre puntos finales que residen en redes locales individuales. Inicialmente, el sistema informatico incluye los siguientes elementos: un centro de datos dentro de una plataforma informatica en la nube, un recurso dentro de una red de empresa privada, un controlador matricial y una maquina virtual. En realizaciones, el centro de datos puede alojar un punto final de origen que se asigna a una aplicacion en ejecucion tanto en la plataforma informatica en la nube como en una red de empresa privada. El recurso puede alojar un punto final de destino que se asigna tambien a la aplicacion. Tras el inicio de una comunicacion entre ellos, el punto final de origen y el punto final de destino se conectan mediante un tunel que transporta el flujo de datos directamente entre ellos, en donde el tunel puede incluir una conexion de nivel superior en ejecucion por encima de una conexion de nivel inferior. Como se ha explicado anteriormente, estan construidos dentro de cada una de la conexion de nivel superior y la conexion de nivel inferior, un mecanismo de control de la congestion y un mecanismo de perdida de paquetes, respectivamente.
El controlador matricial se ejecuta dentro del centro de datos y es capaz de establecer el tunel y de configurarlo. En un caso, la configuracion del tunel incluye la inhabilitacion selectiva del mecanismo de control de la congestion y del mecanismo de perdida de paquetes construidos dentro de la conexion de nivel inferior. En otro caso, la configuracion de las conexiones puede incluir la habilitacion selectivamente del mecanismo de control de la congestion y del mecanismo de perdida de paquetes construidos dentro de la conexion de nivel superior.
La maquina virtual dentro del centro de datos genera los primeros paquetes IP que se transportan al punto final de origen sobre la conexion de nivel superior. Tras la recepcion, el punto final de origen (o el punto final de terminacion del tunel de origen) encapsula los primeros paquetes IP en segundos paquetes IP y transmite los segundos paquetes IP sobre la conexion de nivel inferior. Como tal, ambas conexiones estan acopladas cuando transmiten paquetes de datos entre los puntos finales de un tunel basado en TCP.
En otro aspecto mas, realizaciones de la presente invencion se refieren a un procedimiento informatizado para facilitar la comunicacion entre un punto final de origen y un punto final de destino a traves de un tunel basado en TCP. En una realizacion ejemplar, el procedimiento incluye el empleo de un controlador matricial para establecer el
5
10
15
20
25
30
35
40
45
50
55
60
tunel basado en TCP que enlaza comunicativamente el punto final de origen y el punto final de destino a traves de una red o a traves de redes dispares. Como se ha mencionado anteriormente, la operacion del punto final de origen esta soportada por un centro de datos y la operacion del punto final de destino esta soportada por un recurso, localizado remotamente, que reside en una red de empresa privada gestionada por un cliente del centro de datos. El procedimiento incluye adicionalmente una etapa de recepcion de primeros paquetes IP en el punto final de origen, que se pasan desde una maquina virtual instanciada dentro de un centro de datos. Estos primeros paquetes IP son transportados a traves de una conexion de nivel superior con un primer conjunto de mecanismos de fiabilidad provistos en ella. Los primeros paquetes IP se encapsulan dentro de segundos paquetes IP en el punto final de origen (o en un punto final de terminacion del tunel de origen en la misma red que el punto final de origen) y se transmiten sobre un tunel basado en TCP a traves de una conexion de nivel inferior a un punto final de terminacion del tunel en la red de destino, a continuacion se envfan al punto de destino final en la red remota. Tfpicamente, la conexion de nivel superior esta provista con un segundo conjunto de mecanismos de fiabilidad. Este primer y segundo conjuntos de mecanismos de fiabilidad, en realizaciones, incluyen cada uno un mecanismo de control de la congestion y un mecanismo de recuperacion de perdidas, respectivamente.
El procedimiento continua mediante la realizacion de una etapa de empleo del controlador matricial para inhabilitar selectivamente el mecanismo de control de la congestion y el mecanismo de recuperacion de perdidas provistos en la conexion de nivel inferior. El controlador matricial se emplea tambien para permitir pasivamente que el mecanismo de control de la congestion y el mecanismo de recuperacion de perdidas provistos en la conexion de nivel superior permanezcan habilitados. La condicion inhabilitada de la conexion de nivel inferior y la condicion habilitada de la conexion de nivel superior se almacenan, al menos temporalmente. A modo de clarificacion, la condicion inhabilitada representa la inhabilitacion del mecanismo de control de la congestion y/o del mecanismo de recuperacion de perdidas provistos en la conexion de nivel inferior. Por el contrario, la condicion habilitada representa la habilitacion del mecanismo de control de la congestion y del mecanismo de recuperacion de perdidas provistos sobre la conexion de nivel superior.
Habiendo descrito brevemente una vision global de las realizaciones de la presente invencion, se describe a continuacion un entorno de operacion ejemplar adecuado para la implementacion de realizaciones de la presente invencion.
En referencia a los dibujos en general, e inicialmente a la FIG. 1 en particular, se muestra un entorno operativo ejemplar para la implementacion de realizaciones de la presente invencion y se designa en general como dispositivo 100 informatico. El dispositivo 100 informatico no es mas que un ejemplo de un entorno informatico adecuado y no se pretende que sugiera ninguna limitacion sobre el alcance de uso o funcionalidad de las realizaciones de la presente invencion. Ni debenan interpretarse el entorno 100 informatico como que tiene cualquier dependencia o requisito en relacion a uno cualquiera o combinacion de los componentes ilustrados.
Las realizaciones de la presente invencion pueden describirse en el contexto general de un codigo informatico o instrucciones utilizables por maquina, que incluyen instrucciones ejecutables por ordenador tales como componentes de programa, que se ejecutan por un ordenador u otra maquina, tal como un asistente de datos personal u otro dispositivo portatil. Generalmente, los componentes del programa incluyen rutinas, programas, objetos, componentes, estructuras de datos y similares que se refieren a codigos que realizan tareas particulares, o implementan tipos de datos abstractos particulares. Las realizaciones de la presente invencion pueden ponerse en practica en una variedad de configuraciones de sistemas, incluyendo dispositivos portatiles, electronica de consumo, ordenadores de finalidad general, especialmente dispositivos informaticos, etc. Las realizaciones de la invencion pueden ponerse en practica tambien en entornos informaticos distribuido en donde las tareas se realizan mediante dispositivos de procesamiento remoto que estan enlazados a traves de una red de comunicaciones.
Continuando con la referencia a la FIG. 1, el dispositivo 100 informatico incluye un bus 110 que conecta directa o indirectamente los siguientes dispositivos: memoria 112, uno o mas procesadores 114, uno o mas componentes 116 de presentacion, puertos 118 de entrada/salida (E/S), componentes 120 de E/S, y una fuente de alimentacion 122 ilustrativa. El bus 110 representa lo que puede ser uno o mas buses (tal como un bus de direcciones, bus de datos, o combinaciones de los mismos). Aunque los diversos bloques de la FIG. 1 se muestran con lmeas por razones de claridad, en realidad, la delimitacion de los diversos componentes no esta clara y, metaforicamente, las lmeas senan mas precisas siendo grises y borrosas. Por ejemplo, se puede considerar que un componente de presentacion tal como un dispositivo de pantalla es un componente de E/S. Tambien, los procesadores tienen memoria. Los presentes inventores reconocen que tal es la naturaleza de la tecnica y reiteran que el diagrama de la FIG. 1 es meramente ilustrativo de un dispositivo informatico ejemplar que puede usarse en conexion con una o mas realizaciones de la presente invencion. No se hace distincion entre categonas tales como "estacion de trabajo", "servidor", "ordenador portatil", "dispositivo portatil" etc., dado que todos estan contemplados dentro del alcance de la FIG. 1 y referidos como un "ordenador" o "dispositivo informatico".
El dispositivo 100 informatico incluye tfpicamente una variedad de medios legibles por ordenador. A modo de ejemplo, y no de limitacion, los medios legibles por ordenador pueden comprender una memoria de acceso aleatorio (RAM); memoria solo de lectura (ROM); memoria solo de lectura programable y borrable electronicamente (EEPROM); memoria flash u otras tecnologfas de memoria; CD ROM, discos versatiles digitales (DVD) u otros medios opticos u holograficos; casetes magneticas, cintas magneticas, almacenamiento en discos magneticos u
5
10
15
20
25
30
35
40
45
50
55
60
otros dispositivos de almacenamiento magnetico o cualquier otro medio que pueda usarse para codificar la informacion deseada y al que se pueda acceder por parte del dispositivo 100 informatico.
La memoria 112 incluye medios de almacenamiento de ordenador en la forma de memoria volatil y/o no volatil. La memoria puede ser extrafole, no extrafble o una combinacion de las mismas. Los dispositivos de hardware ejemplares incluyen memorias de estado solido, discos duros, unidades de disco optico, etc. El dispositivo 100 informatico incluye uno o mas procesadores que leen datos desde varias entidades tales como la memoria 112 o componentes 120 de E/S. El (los) componente(s) 116 de presentacion presentan indicaciones de datos a un usuario u otro dispositivo. Los componentes de presentacion ejemplares incluyen un dispositivo de pantalla, altavoz, componente de impresion, componente de vibracion, etc. Los puertos 118 de E/S permiten al dispositivo 100 informatico estar logicamente conectado a otros dispositivos incluyendo los componentes 120 de E/S, algunos de los cuales pueden estar integrados. Los componentes ilustrativos incluyen un microfono, palanca de juegos, alfombrilla tactil, antena de satelite, escaner, impresora, dispositivo inalambrico, etc.
Con referencia a las FIGS. 1 y 2, un primer dispositivo 255 informatico y/o un segundo dispositivo 265 informatico pueden implementarse mediante el dispositivo 100 informatico ejemplar de la FIG. 1. Adicionalmente, el punto final 201 y/o el punto final 202 pueden incluir partes de la memoria 112 de la FIG. 1 y/o partes de los procesadores 114 de la FIG. 1.
Pasando ahora a la FIG. 2, se ilustra un diagrama de bloques, de acuerdo con una realizacion de la presente invencion, que muestra una plataforma 200 informatica en la nube ejemplar que se configura para asignar maquinas virtuales 270 y 275 dentro de un centro 225 de datos para su uso por un aplicacion de servicio. Se entendera y apreciara que la plataforma 200 informatica en la nube mostrada en la FIG. 2 es meramente un ejemplo de un entorno de sistema informatico adecuado y no se pretende que sugiera ninguna limitacion tal como el alcance de uso o funcionalidad de las realizaciones de la presente invencion. Por ejemplo, la plataforma 200 informatica en la nube puede ser una nube publica, una nube privada, o una nube dedicada. Tampoco debena interpretarse la plataforma 200 informatica en la nube como que tienen ninguna dependencia o requisito relacionado con cualquier componente unico o combinacion de componentes ilustrados en el presente documento. Adicionalmente, aunque los diversos bloques de la FIG. 2 se muestran con lmeas por razones de claridad, en realidad, la delimitacion de los diversos componentes no esta clara, y metaforicamente, las lmeas senan mas precisas grises y difuminadas. Ademas, cualquier numero de maquinas ffsicas, maquinas virtuales, centros de datos, puntos finales, o combinaciones de los mismos puede emplearse para conseguir la funcionalidad deseada dentro del alcance de las realizaciones de la presente invencion.
La plataforma 200 informatica en la nube incluye el centro 225 de datos configurado para alojar y soportar la operacion de los puntos finales 201 y 202 de una aplicacion de servicio particular. La expresion "aplicacion de servicio", tal como se usa en el presente documento se refiere ampliamente a cualquier software, o porciones de software, que se ejecute por encima de, o acceda a localizaciones de almacenamiento dentro de, el centro 225 de datos. En una realizacion, uno o mas de los puntos finales 201 y 202 puede representar las partes de software, programas componentes, o instancias de papeles que participen en la aplicacion de servicio. En otra realizacion, uno o mas de los puntos finales 201 y 202 pueden representar datos almacenados que son accesibles a la aplicacion de servicio. Se entendera y apreciara que los puntos finales 201 y 202 mostrados en la FIG. 2 son meramente un ejemplo de partes adecuadas para soportar la aplicacion de servicio y no se pretende que sugieran ninguna limitacion tal como el alcance de uso o funcionalidad de las realizaciones de la presente invencion.
Generalmente, las maquinas 270 y 275 virtuales se asignan a los puntos finales 201 y 202 de la aplicacion de servicio basandose en demandas (por ejemplo, cantidad de carga de procesamiento) situada sobre la aplicacion de servicio. Tal como se usa en el presente documento, la expresion "maquina virtual" no se quiere indicar que sea limitativa, y puede referirse a cualquier software, aplicacion, sistema operativo o programa que se ejecute por una unidad de procesamiento para sustentar la funcionalidad de los puntos finales 201 y 202. Adicionalmente, las maquinas 270 y 275 virtuales pueden incluir capacidad de procesamiento, localizaciones de almacenamiento, y otros activos dentro del centro 225 de datos para dar soporte apropiadamente a los puntos finales 201 y 202.
En el funcionamiento, las maquinas 270 y 275 virtuales se asignan dinamicamente dentro de los recursos (por ejemplo, primer dispositivo 255 informatico y segundo dispositivo 265 informatico) del centro 225 de datos, y los puntos finales (por ejemplo, los puntos finales 201 y 202) se situan dinamicamente sobre las maquinas 270 y 275 virtuales asignadas para satisfacer la carga de procesamiento actual. En una instancia, un controlador 210 matricial es responsable de la asignacion automaticamente de las maquinas 270 y 275 virtuales y de la colocacion de los puntos finales 201 y 202 dentro del centro 225 de datos. A modo de ejemplo, el controlador 210 matricial puede basarse en un modelo de servicio (por ejemplo disenado por un cliente que posee la aplicacion de servicio) para proporcionar grna sobre como y cuando asignar las maquinas 270 y 275 virtuales y para colocar los puntos finales 201 y 202 en ellas. Adicionalmente, el controlador 210 matricial puede leer instrucciones desde el modelo de servicio informatico en la nube cuando determina si habilitar (activar) o inhabilitar (desactivar) los mecanismos de fiabilidad integrados con una conexion de red de tipo tunel entre los puntos finales 201 y 202 y puntos finales localizados remotamente. Esto se explica mas completamente a continuacion con referencia a la FIG. 3.
Como se ha explicado anteriormente, las maquinas 270 y 275 virtuales pueden asignarse dinamicamente dentro del
5
10
15
20
25
30
35
40
45
50
55
60
primer dispositivo 255 informatico y el segundo dispositivo 265 informatico. Para realizaciones de la presente invencion, los dispositivos 255 y 265 informaticos representan cualquier forma de dispositivos informaticos, tales como, por ejemplo, un servidor, un ordenador personal, un ordenador de sobremesa, un ordenador portatil, un dispositivo movil, un dispositivo electronico de consumo, servidores, el dispositivo 100 informatico de la FIG. 1, y similares. En un caso, los dispositivos 255 y 265 informaticos alojan y soportan las operaciones de las maquinas 270 y 275 virtuales, estas alojan simultaneamente otras maquinas virtuales forjadas para el soporte de otros inquilinos del centro 225 de datos, en donde los inquilinos incluyen puntos finales de otras aplicaciones de servicio propiedad de diferentes clientes.
En un aspecto, los puntos finales 201 y 202 operan dentro del contexto de la plataforma 200 informatica en la nube y, en consecuencia, comunican internamente a traves de conexiones realizadas dinamicamente entre las maquinas 270 y 275 virtuales, y externamente a traves de una topologfa de red ffsica con los recursos de una red remota (por ejemplo, el recurso 375 de la red 325 privada de empresa de la FIG. 3). Las conexiones internas pueden implicar la interconexion de las maquinas 270 y 275 virtuales, distribuidas a traves de los recursos ffsicos del centro 225 de datos, a traves de una nube de la red (no mostrada). La nube de la red interconecta estos recursos de modo que el punto final 201 puede reconocer una localizacion del punto final 202, y de otros puntos finales, para establecer una comunicacion entre ellos. Ademas, la nube de la red puede establecer esta comunicacion a traves de un tunel entre el punto final del primer dispositivo 255 informatico y el segundo dispositivo 265 informatico enlazando logicamente los puntos finales 201 y 202. A modo de ejemplo, los canales se basan en, sin limitacion, una o mas redes de area local (LAN) y/o redes de area grande (WAN). Dichos entornos de conexion en red son comunes en oficinas, redes de ordenador del ambito de empresa, intranets, y la Internet. En consecuencia, la red no se describira adicionalmente en el presente documento.
Pasando ahora a la FIG. 3, se muestra un diagrama de bloques que ilustra un entorno 300 informatico distribuido ejemplar, con un tunel 330 basado en TCP establecido en el, de acuerdo con una realizacion de la presente invencion. Inicialmente, el entorno 300 informatico distribuido incluye una red 325 privada de empresa y la plataforma 200 informatica en la nube, tal como se ha explicado con referencia a la FIG. 2. La red 325 privada de empresa y la plataforma 200 informatica en la nube pueden conectarse a traves de una red 315 que esta soportada por una red ffsica. Tal como se usa en el presente documento, la expresion "red ffsica" no se quiere indicar que sea limitativa, sino que puede englobar mecanismos de equipos tangibles (por ejemplo lmeas de fibra, cajas de circuitos, interruptores, antenas, enrutadores IP y similares), asf como comunicaciones y ondas portadoras intangibles, que facilitan la comunicacion entre puntos finales y localizaciones geograficamente remotas. A modo de ejemplo, la red ffsica (no mostrada en la Figura 3) puede incluir cualquier tecnologfa cableada o inalambrica utilizada dentro de la Internet, o disponible para promover la comunicacion entre redes dispares.
Generalmente, la red 325 privada de empresa incluye recursos, tal como el recurso 375 que son gestionados por un cliente de la plataforma 200 informatica en la nube. Frecuentemente, estos recursos alojan y soportan operaciones de componentes de la aplicacion de servicio propiedad del cliente. El punto final B 385 representa uno o mas de los componentes de la aplicacion de servicio. En ciertas realizaciones, los recursos, tales como la maquina 270 virtual de la FIG. 2, estan asignados dentro del centro 225 de datos de la FIG. 2 para alojar y soportar operaciones de componentes de la aplicacion de servicio distribuidos remotamente. El punto final A 395 representa uno o mas de estos componentes remotamente distribuidos de la aplicacion de servicio dentro de la plataforma 200 informatica en la nube. Durante la operacion, los puntos finales A 395 y B 385 trabajan en sintoma entre sf para asegurar que la aplicacion de servicio se ejecuta apropiadamente. En un caso, el trabajo en sintoma implica la transmision entre los puntos finales A 395 y B 385 de paquete(s) 316 de datos, o paquetes de datos IP, a traves de una red 315 soportada por la red ffsica.
En ciertas realizaciones, el (los) paquete(s) 316 pueden actuar para intercambiar piezas de informacion entre los puntos finales A 395 y B 385. Generalmente el (los) paquete(s) 316 estan compuestos de una secuencia de bytes, y adicionalmente incluyen una cabecera seguida por un cuerpo. La cabecera describe el destino del paquete 316 y, opcionalmente, los enrutadores en la red ffsica a usar para el envfo hasta que el paquete 316 llegue a su destino final, tal como el recurso 375. El cuerpo contiene los datos, o carga util, generados en el originador del paquete 316, tal como la maquina 270 virtual.
Tfpicamente, el recurso 375 y el centro 225 de datos incluyen, o estan enlazados a, alguna forma de una unidad informatica (por ejemplo, la unidad de procesamiento central, microprocesador, etc.) para dar soporte a operaciones de los puntos finales y/o componentes que se ejecutan en el. Tal como se usa en el presente documento, la expresion "unidad informatica" se refiere en general a un dispositivo de calculo dedicado con potencia de procesamiento y memoria de almacenamiento, que soporta uno o mas sistemas operativos u otro software subyacente. En un caso, la unidad informatica se configura con elementos de hardware tangibles, o maquinas, que son parte integral, o conectados operativamente, al recurso 375 y al centro 225 de datos para habilitar que cada dispositivo realice una variedad de procedimientos y operaciones. En otro caso, la unidad de calculo pueden englobar un procesador (no mostrado) conectado al medio legible por ordenador incluido en cada uno de los recurso 375, y centro 225 de datos. Generalmente, el medio legible por ordenador almacena, al menos temporalmente, una pluralidad de componentes de software informatico (por ejemplo, los puntos finales A 395 y B 385) que son ejecutables por el procesador. Tal como se utiliza en el presente documento, el termino "procesador "no se quiere indicar que sea limitativo y puede englobar cualquier elemento de la unidad informatico que actue con una capacidad
5
10
15
20
25
30
35
40
45
50
55
60
de calculo. En dicha capacidad, el procesador puede configurarse como un artfculo tangible que procesa instrucciones. En una realizacion ejemplar, el procesamiento puede implicar la recoleccion, decodificacion/interpretacion, ejecucion, y escritura de instrucciones.
El tunel 330 basado en TCP ("tunel 330") puede establecerse para comunicar entre puntos finales asignados a una unica aplicacion de servicio, tal como la aplicacion de servicio que incluye los puntos finales A 395 y B 385, o multiples pares que sirven a aplicaciones de servicio independientes para puentear la comunicacion entre los puntos finales asignados a traves de redes dispares. El tunel 330 usa TCP, que proporciona un servicio de comunicacion en una capa de transporte entre la capa de aplicacion y la capa de red/IP y puede incluir la capa de aplicacion en 430 y 440, cuando emplea HTTP o HTTpS. Esto se muestra en las pilas 430 y 440 TCP/IP de la FIG. 4, en la que el tunel 330 sirve como un enlace logico entre un canal 425 de nivel inferior de la capa de transporte en la maquina 270 virtual.
Durante la operacion, cuando el programa de aplicacion desea enviar un gran cantidad de datos a traves de la red (por ejemplo Internet) usando IP, en lugar de romper los datos en piezas de tamano IP y enviar una serie de solicitudes IP, el programa de aplicacion puede enviar una unica solicitud a traves de la capa de transporte, que emplea TCP, para manejar los detalles IP. De ese modo, la capa de transporte puede pensarse como un mecanismo de transporte que asegura una entrega completa, por ejemplo, un vehuculo con la responsabilidad de asegurar que su contenido o carga util alcanza su destino con seguridad y solidamente. En ciertos casos, asegurar la entrega implica mecanismos de fiabilidad construidos dentro del tunel 330 que acometen numerosos problemas de fiabilidad y proporcionan una transmision fiable de los paquetes 316 de datos. Estos mecanismos de fiabilidad operan a un alto nivel, y estan afectados por los dos sistemas extremos (por ejemplo, un navegador web y un servidor web).
En particular, TCP proporciona una entrega fiable, ordenada de un flujo de paquetes 316 desde el punto final 395 en un ordenador al punto final 385 en otro ordenador mediante la imposicion de una serie de reglas. El conjunto de reglas puede dictar que los paquetes 316 de datos llegan en orden, que los paquetes 316 de datos no tienen errores (es decir correccion), que los paquetes 316 de datos duplicados se descartan y que los paquetes 316 perdidos/retrasados se reenvfan. Este conjunto de reglas de ejemplo precedente puede imponerse mediante un mecanismo 505 de recuperacion de perdida de la FIG. 5, que inspecciona el flujo de datos para identificar cualquier paquete 316 perdido. Los mecanismos de fiabilidad pueden incluir tambien un mecanismo 515 de control de la congestion de la FIG. 5 configurado para gestionar una cantidad de datos que se transmiten dentro de los paquetes IP, y para gestionar en general la congestion de trafico a traves del tunel 330.
Generalmente, el tunel 330 representa un enlace logico que conecta puntos finales a traves de la capa de transporte a lo largo de parte de la trayectoria entre los dos puntos finales o en la trayectoria en conjunto. En ciertas realizaciones, el tunel 330 utiliza IP-HTTPS, SSL, SSTP u otra tecnologfa de tunelacion basada en TCP que se disena para crear un enlace de puente que atraviesa los lfmites de la red IP a traves de la red 315. De ese modo, el tunel 330 habilita ostensiblemente el establecimiento de un enlace logico entre puntos finales 385 y 395 que es dependiente de la red ffsica subyacente, permitiendo de ese modo que interactue como si estuviera posicionado de forma adyacente dentro del centro 225 de datos.
En una realizacion ejemplar, el tunel 330 puede incluir una o mas conexiones basadas en TCP dispuestas en capas, una encima de la otra. Pasando a la FIG. 4, se muestra una representacion esquematica de la disposicion en capas de las conexiones basadas en TCP que comprenden el tunel 330, de acuerdo con una realizacion de la presente invencion. Tal como se ilustra en la FIG. 4, hay dos conexiones basadas en TCP ejecutandose una encima de la otra en las que estan ambas imponiendo el conjunto de reglas (explicadas anteriormente) sobre cada flujo respectivo de paquetes 316 de datos para asegurar una entrega completa y eficiente. Estas dos conexiones basadas en TCP incluyen un canal 415 de nivel superior y un canal 425 de nivel inferior. El canal 415 de nivel superior transmite datos sin encapsular desde la maquina 270 virtual al punto final A 395 dentro del centro 225 de datos. Los datos sin encapsular pueden encapsularse en el punto final A 395 y colocarse en el canal 425 de nivel inferior que transporta los datos encapsulados en paquetes 316 de datos al punto final B 385. Tras la llegada al punto final B 385, los paquetes de datos 316 son recibidos en el canal 425 de nivel inferior, desencapsulados y enviados al recurso 375 a traves del canal 415 de nivel superior.
Aunque se han descrito dos canales diferentes que influyen el tunel 330, debena entenderse y apreciarse que pueden usarse otros tipos de conexiones adecuadas que proporcionen la transmision de paquetes de datos IP, y que las realizaciones de la presente invencion no estan limitadas a estos canales 415 y 425 descritos en el presente documento.
El mecanismo 505 de recuperacion de perdidas y el mecanismo 515 de control de la congestion (vease la FIG. 5) pueden construirse ambos dentro, y ejecutarse integralmente sobre, cada uno de entre el canal 415 de nivel superior y el canal 425 de nivel inferior. La operacion activa simultanea de estos mecanismos 515 y 525 da como resultado frecuentemente una degradacion del rendimiento por los esfuerzos duplicados y redundantes. Por ejemplo, si se pierde el paquete de 316 de datos, ambos mecanismos 515 y 525 dentro de ambos canales 415 y 425 realizaran la recuperacion de perdida y control de la congestion, respectivamente. En consecuencia, el controlador 210 matricial las FIGS. 2 y 5 puede emplearse para fijar selectivamente (activar o desactivar) cualquiera de los mecanismos 515 y 525 en cualquiera de los dos canales 415 y 425, independientemente.
5
10
15
20
25
30
35
40
45
50
55
60
En referencia ahora a la FIG. 5, se muestra un diagrama de bloques que ilustra un centro 225 de datos ejemplar que emplea un controlador 210 matricial para habilitar/inhabilitar selectivamente los mecanismos de fiabilidad 505 y 515 construidos dentro de los tuneles 330 basados en TCP, de acuerdo con realizaciones de la presente invencion. Tal como se ha representado, los datos se transmiten desde la maquina 270 virtual sobre el canal 415 de nivel superior hasta el punto final A 395. El punto final A 395 encapsula los datos transmitidos y los envfa a traves de la red 315 por medio del canal 415 de nivel inferior. El controlador 210 matricial puede transmitir instrucciones 510 al punto final A 395 que inhabilitan selectivamente el mecanismo 505 de recuperacion de perdida y/o el mecanismo 515 de control de la congestion construidos dentro del canal 425 del nivel inferior. Estas instrucciones 510 pueden generarse mediante criterios, y se entregan tfpicamente por cada conexion de los canales 415 y 425 basados en TCP usados para el tunel 330. Por conexion, o por opcion de conector, las instrucciones 510 para activar o desactivar el mecanismo 505 de control de la congestion y/o del mecanismo 515 de recuperacion de perdida, independientemente, pueden invocarse mediante criterios, tales como las polfticas que deben proporcionarse por el cliente (por ejemplo, modelo de servicio informatico en la nube, acuerdo a nivel de servicio negociado, y similares). En otra realizacion, la inhabilitacion selectiva de los mecanismos 505 y 515 puede invocarse por criterios que pertenecen a una identidad del punto final de origen (punto final A 395), y la identidad del punto final de destino (punto final B 385), un tipo de datos que esta siendo transmitido, un tipo de tunel que esta siendo establecido, un tipo de aplicacion/operacion que esta siendo ejecutada, o informacion basada en la polftica.
En una realizacion ejemplar, el controlador 210 matricial envfa las instrucciones 510 para inhabilitar los mecanismos 505 y 515 en ejecucion sobre el canal 425 de nivel inferior, mientras deja habilitados los mecanismos (no mostrados) en ejecucion en el canal 415 de nivel superior, proporcionando de ese modo una fiabilidad de extremo a extremo del flujo de datos y reduciendo la redundancia de mecanismos dobles que provoca latencia. En un caso, esta configuracion de inhabilitar los mecanismos 505 y 515 del canal 425 del nivel inferior se provee dentro del controlador 210 matricial como el ajuste por defecto. En esta realizacion, el controlador 210 matricial inhabilita automaticamente los mecanismos 505 y 515 a menos que haya una entrada para lo contrario.
En ciertas realizaciones, cuando se inhabilita el mecanismo 515 de control de la congestion, el controlador 210 matricial puede actuar sobre (un) componente(s) en el extremo de transmision (por ejemplo el punto final de origen, punto final A 395 de las FIGS. 3-5, o maquina 270 virtual de las FIGS. 2-5) del tunel 330 sin realizar cambios sobre el extremo receptor (por ejemplo, el punto final de destino, punto final B 385 de las FIGS. 3-5, o recurso 375 de las FIGS. 3 y 4) del tunel 330. De ese modo, el mecanismo 515 de control de la congestion puede desactivarse sin ninguna negociacion con el extremo receptor y, por ello, es compatible hacia atras. Durante el funcionamiento, con referencia a la FIG. 5, tras actuar sobre el punto final A 395, este punto final de origen envfa una cantidad de datos, o tasa de paquetes 316 de datos, disenados por un mecanismo de control de la congestion (no mostrado) del canal 415 de nivel superior. De ese modo, solo el mecanismo de control de la congestion del canal 415 de nivel superior controla la cantidad de datos de modo que la red 315 no este sobrecargada con demasiados datos provocando alta perdida de datos.
En ciertas realizaciones, cuando se inhabilita el mecanismo 505 de recuperacion de perdidas, el controlador 210 matricial puede actuar sobre (un) componente(s) en el extremo de transmision (por ejemplo el punto final de origen, punto final A 395 de las FIGS. 3-5, o maquina 270 virtual de las FIGS. 2-5) del tunel 330 y sobre el extremo receptor (por ejemplo, el punto final de destino, punto final B 385 de las FIGS. 3-5, o recurso 375 de las FIGS. 3 y 4) del tunel 330. De ese modo, el mecanismo 515 de recuperacion de perdidas puede desactivarse a traves de la cooperacion por medio de negociacion entre el extremo de transmision y el extremo de recepcion del tunel 330. Esto es, el extremo de recepcion es consciente a traves de la negociacion que las perdidas de los paquetes 316 de datos no seran recuperadas por el extremo de transmision. En consecuencia, durante la operacion, el extremo de recepcion pasara los paquetes 316 de datos entregados incluso aunque pueden perderse datos intermedios hasta el recurso 375, u otro punto final de destino de la aplicacion de servicio que este aguas abajo del punto final B 385. Sin embargo, si el extremo de recepcion del tunel 330 no soporta la desactivacion del mecanismo 515 de recuperacion de perdidas, entonces el mecanismo 515 de recuperacion de perdidas permanecera tfpicamente activo y habilitado.
En un caso de negociacion, el punto final A 395 puede enviar un paquete de sincronizacion (SYN) inicial (que transporta informacion de negociacion) al punto final de 385, que puede acusar recibo del paquete sYn. Adicionalmente, el punto final de 385 puede devolver un saludo inicial con el punto final A 395 mediante el envfo de un paquete de acuse de recibo (SYN-ACK) al mismo. En este punto, cuando tiene lugar la devolucion, el mecanismo 515 de recuperacion de perdidas del canal 425 del nivel inferior se inhabilita, mientras que el mecanismo de recuperacion de perdidas (no mostrado) del canal 415 de nivel superior permanece activo y habilitado, ayudando de ese modo a recuperarse de cualesquiera perdidas o retardos durante la entrega de los paquetes 316 de datos mediante la retransmision de cualquier dato partido o retrasado en la red 315.
En referencia ahora a la FIG. 6, se muestra un diagrama de flujo que ilustra un procedimiento 600 para facilitar la comunicacion a traves de una conexion de red establecida entre una pluralidad de puntos finales que residen en redes dispares, de acuerdo con una realizacion de la presente invencion. Como se indica en el bloque 602, se proporciona la conexion de red. En un caso, la conexion de red se extiende entre un punto final de origen (por ejemplo, el punto final a 395 de la FIG. 4) y un punto final de destino (por ejemplo, punto final B 385 de la FIG. 4). Como se ha descrito anteriormente, la conexion de red funciona como un tunel basado en TCP que puentea las redes dispares (por ejemplo, la plataforma 200 informatica en la nube y una red 325 privada de empresa de la FIG.
5
10
15
20
25
30
35
40
45
50
55
60
3) en las que residen el punto final de origen y el punto final de destino, respectivamente. El procedimiento 600, en los bloques 604 y 606, implica adicionalmente las etapas de inhabilitar selectivamente uno o mas de los mecanismos de fiabilidad del nivel inferior, que se ejecutan integralmente en el tunel basado en TCP, y comunicar mensajes entre el primer punto final y el segundo pinto final sin que interfieran los mecanismos de fiabilidad del nivel inferior con unos tiempos en los que se envfan los mensajes. En ciertas realizaciones, los mensajes de comunicacion entre el primer punto final y el segundo punto final pueden incluir espedficamente la transmision de paquetes IP desde el primer punto final al segundo punto final a traves del tunel basado en TCP.
En una realizacion ejemplar, el acto de inhabilitar selectivamente puede iniciarse tras evento(s) que sucede(n) correspondiente(s) con criterios predefinidos. Los criterios predefinidos pueden ser conocidos para el controlador matricial, que puede inhabilitar selectivamente uno o mas de los mecanismos de fiabilidad (por ejemplo, el mecanismo 505 de control de perdidas y el mecanismo 515 de control de la congestion de la FIG. 5) tras la deteccion de los siguientes eventos correspondientes: un puerto predefinido esta intentando enviar paquetes de datos a traves de un tunel; se esta estableciendo una nueva conexion de red en un centro de datos, maquina virtual, o punto final de origen predefinidos; o se esta estableciendo una nueva conexion de red en un recurso o punto final de destino predefinidos.
En otra realizacion, el usuario o cliente del centro de datos puede tener concedidos derechos para ejercer un control manual para activar/desactivar un grupo de mecanismos de fiabilidad instanciados en la plataforma informatica en la nube. En esta forma, el usuario o cliente puede decidir si inhabilitar o habilitar uno o mas mecanismos de fiabilidad dinamicamente mediante la especificacion de un punto final de un tunel en una interfaz de usuario. En consecuencia, el usuario o cliente es capaz de determinar si evitar penalidades de rendimiento asociadas con la ejecucion de capas duplicadas de protocolos de fiabilidad, tal como TCP, sobre los tuneles que realizanan normalmente un control de la congestion y recuperacion de perdidas en una forma redundante e ineficiente.
Pasando a la FIG. 7, se muestra un diagrama de flujo que ilustra un procedimiento 700 para facilitar la comunicacion entre un punto final de origen y un punto final de destino a traves de un tunel basado en TCP, de acuerdo con una realizacion de la presente invencion. Como se indica en el bloque 702, el procedimiento 700 incluye el empleo de un controlador matricial para establecer el tunel basado en TCP que enlaza comunicativamente el punto final de origen y el punto final de destino sobre una red o a traves de redes dispares. En ciertas realizaciones, la operacion del punto final de origen esta soportada por un centro de datos (por ejemplo, utilizando el centro 225 de datos de la FIG. 3), mientras que la operacion del punto final de destino esta soportada por un recurso, localizado remotamente, por ejemplo, utilizando el recurso 375 de la FIG. 3) que reside en una red de empresa privada, en donde el recurso puede gestionarse/poseerse por un cliente del centro de datos. El procedimiento 700 incluye adicionalmente una etapa de recepcion de un primer flujo de paquetes IP en el punto final de origen, que se pasan desde una maquina virtual instanciada dentro de un centro de datos. Esta etapa es indicada en el bloque 704. En algunas realizaciones, el primer flujo de paquetes IP es transportada a traves de un canal de nivel superior con un primer conjunto de mecanismos de fiabilidad provistos sobre el. Tras la llegada en el punto final de origen del tunel, el primer flujo de paquetes IP se encapsula en un segundo flujo de paquetes IP que se transmite a traves del tunel basado en TCP por medio de una conexion de nivel inferior, como se indica en los bloques 706 y 708. En una configuracion del tunel basado en TCP, la conexion de nivel inferior se dispone en capas por debajo del canal de nivel superior, operando de ese modo en tandem para transmitir los paquetes IP y para asegurar la fiabilidad de su transmision. De esta forma, el canal de nivel inferior esta frecuentemente provisto con un segundo conjunto de mecanismos de fiabilidad. En una realizacion ejemplar, el primer y segundo conjuntos de mecanismos de fiabilidad incluyen cada uno al menos un mecanismo de control de la congestion y un mecanismo de recuperacion de perdidas, respectivamente.
El procedimiento 700 continua mediante la realizacion de una etapa de empleo del controlador matricial para inhabilitar selectivamente el mecanismo de control de la congestion y el mecanismo de recuperacion de perdidas provistos en el canal de nivel inferior, tal como se indica en el bloque 710. El controlador matricial se emplea tambien para permitir pasivamente que el mecanismo de control de la congestion y el mecanismo de recuperacion de perdidas provistos en el canal de nivel superior permanezcan habilitados, tal como se indica en el bloque 712. La condicion de inhabilitado del canal de nivel inferior y la condicion de habilitado del canal de nivel superior se almacenan, tal como se indica en el bloque 714. A modo de clarificacion, la condicion inhabilitada representa la inhabilitacion del mecanismo de control de la congestion y del mecanismo de recuperacion de datos provistos en el canal de nivel inferior. Por el contrario, la condicion de habilitado representa la habilitacion del mecanismo de control de la congestion y del mecanismo de recuperacion de perdidas provistos en el canal de nivel superior. Las condiciones de los canales pueden almacenarse en el centro de datos, recurso, puntos finales o cualquier otra localizacion que este accesible al controlador matricial.
Se han descrito realizaciones de la presente invencion en relacion a realizaciones particulares, que se pretende en todos los aspectos que sean ilustrativas en lugar de restrictivas. Seran evidentes para los expertos en la materia realizaciones alternativas a las que pertenecen las realizaciones de la presente invencion sin apartarse de su alcance.
A partir de lo anterior, se vera que la presente invencion esta bien adaptada para alcanzar todos los extremos y objetivos expuestos anteriormente, junto con otras ventajas que son obvias e inherentes al sistema y procedimiento.

Claims (13)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    REIVINDICACIONES
    1. Uno o mas medios legibles por ordenador que tienen instrucciones ejecutables por ordenador integradas en los mismos que, cuando se ejecutan, realizan un procedimiento de comunicacion a traves de una conexion de red establecida entre un primer punto final y un segundo punto final que residen en redes dispares, comprendiendo el procedimiento:
    proporcionar (602) la conexion de red que se extiende entre el primer punto final y el segundo punto final, en el que la conexion de red opera como un tunel que puentea las redes dispares en las que residen el primer punto final y el segundo punto final, respectivamente, en el que los mensajes de comunicacion entre el primer punto final y el segundo punto final comprenden la transmision de paquetes del protocolo de Internet, IP, desde el primer punto final al segundo punto final a traves del tunel, en el que la conexion de red incluye una conexion de nivel superior que se ejecuta por encima de la conexion de nivel inferior, en el que se ejecutan integralmente uno o mas mecanismos de fiabilidad del nivel superior en la conexion de nivel superior y el que se ejecutan integralmente uno o mas mecanismos de fiabilidad del nivel inferior en la conexion de nivel inferior, en el que el uno o mas mecanismos de fiabilidad del nivel inferior comprenden un mecanismo de control de la congestion configurado para gestionar la tasa de transmision de paquetes IP;
    inhabilitar (604) selectivamente el uno o mas mecanismos de fiabilidad del nivel inferior, siendo realizada automaticamente la inhabilitacion a menos que se proporcione una entrada en sentido contrario, en el que el mecanismo de control de la congestion construido dentro de la conexion de nivel inferior se inhabilita por el primer punto final sin ninguna negociacion con el segundo punto final cuando el primer punto final actua como el extremo de transmision; y
    comunicar (606) mensajes entre el primer punto final y el segundo punto final a traves del tunel.
  2. 2. El uno o mas medios legibles por ordenador de la reivindicacion 1, en el que el uno o mas mecanismos de fiabilidad del nivel inferior comprenden un mecanismo de perdida de paquetes configurado para gestionar la perdida de paquetes a traves de la conexion de red mediante la retransmision automaticamente de los paquetes IP no entregados o retrasados.
  3. 3. El uno o mas medios legibles por ordenador de la reivindicacion 1, en el que el uno o mas mecanismos de fiabilidad del nivel superior permanecen habilitados tras la inhabilitacion selectiva del uno o mas mecanismos de fiabilidad del nivel inferior.
  4. 4. El uno o mas medios legibles por ordenador de la reivindicacion 1, en el que el uno o mas mecanismos de fiabilidad del nivel superior comprenden un mecanismo de control de la congestion configurado para gestionar la tasa de transmision de paquetes IP y un mecanismo de perdida de paquetes configurado para gestionar la perdida de paquetes en la conexion de red mediante la retransmision automaticamente de los paquetes IP no entregados o retrasados.
  5. 5. El uno o mas medios legibles por ordenador de la reivindicacion 1, en el que el uno o mas mecanismos de fiabilidad del nivel superior, cuando estan habilitados, imponen un conjunto de reglas que gestionan el flujo de datos en la conexion del nivel superior, y en el que el uno o mas mecanismos de fiabilidad del nivel inferior, cuando estan habilitados, imponen el mismo conjunto de reglas que gestionan el flujo de datos en la conexion de nivel inferior.
  6. 6. El uno o mas medios legibles por ordenador de la reivindicacion 1, en el que el uno o mas mecanismos de fiabilidad del nivel inferior se inhabilitan selectivamente en funcion de un modelo de servicio informatico en la nube disenado, en parte, por un cliente de una plataforma informatica en la nube, y en el que la plataforma informatica en la nube incluye un centro de datos que aloja el punto final de origen.
  7. 7. El uno o mas medios legibles por ordenador de la reivindicacion 1, en el que el punto final de destino esta alojado por un recurso localizado dentro de una red de empresa privada gestionada por un cliente.
  8. 8. Un sistema informatico para la gestion de un flujo de datos entre puntos finales que residen en redes individuales, comprendiendo el sistema informatico:
    un centro (225) de datos dentro de una plataforma (200) informatica en la nube que aloja un punto final (395) de origen, en el que el punto final de origen esta asignado a una aplicacion que se ejecuta tanto en la plataforma informatica en la nube como en una red (325) de empresa privada;
    un recurso (375) dentro de la red de empresa privada que aloja un punto final (385) de destino que esta asignado a la aplicacion, en el que el punto final de origen y el punto final de destino estan conectados por un tunel que transporta el flujo de datos directamente entre ellos, en el que el tunel habilita una conexion de nivel superior que se ejecuta por encima de una conexion de nivel inferior, y en el que se construyen un mecanismo (515) de control de la congestion y un mecanismo (505) de perdida de paquetes en cada una de las conexiones de nivel superior y la conexion de nivel inferior, respectivamente; y
    un controlador (210) matricial que se ejecuta dentro del centro de datos que establece el tunel y que configura las conexiones dentro del tunel, en el que la configuracion de las conexiones incluye la inhabilitacion selectiva del mecanismo de control de la congestion y del mecanismo de perdida de datos construidos dentro de la conexion de nivel inferior, siendo realizada automaticamente la inhabilitacion a menos que se proporcione una entrada en
    5
    10
    15
    20
    25
    30
    35
    40
    45
    sentido contrario, en el que el mecanismo de control de la congestion construido dentro de la conexion de nivel inferior se inhabilita por el controlador matricial actuando sobre componentes del punto final de origen sin ninguna negociacion con el punto final de destino.
  9. 9. El sistema informatico de la reivindicacion 8, que comprende ademas una maquina virtual dentro del centro de datos, genera primeros paquetes en el protocolo de Internet, IP, que son transportados al punto final de origen sobre la conexion de nivel superior, y en el que el punto final de origen encapsula los primeros paquetes IP en segundos paquetes IP y transmite los segundos paquetes IP sobre la conexion de nivel inferior.
  10. 10. El sistema informatico de la reivindicacion 9, en el que el controlador matricial comunica con el punto final de origen cuando inhabilita selectivamente el mecanismo de control de la congestion construido dentro de la conexion de nivel inferior, y el punto final de origen negocia con el punto final de destino, cuando inhabilita selectivamente el mecanismo de perdida de paquetes construido dentro de la conexion de nivel inferior.
  11. 11. El sistema informatico de la reivindicacion 8, en el que se permite que el mecanismo de control de la congestion y el mecanismo de perdida de paquetes construidos dentro de la conexion de nivel superior permanezcan habilitados.
  12. 12. Un procedimiento informatizado para facilitar la comunicacion entre un punto final de origen y un punto final de destino a traves de un tunel, comprendiendo el procedimiento:
    emplear un controlador matricial para establecer (702) el tunel que enlaza comunicativamente el punto final de origen y el punto final de destino a traves de redes dispares, en el que la operacion del punto final de origen esta soportada por un centro de datos y la operacion del punto final de destino esta soportada por un recurso, localizado remotamente, que reside en una red de empresa privada gestionada por un cliente del centro de datos;
    recibir (704) primeros paquetes en el protocolo de Internet, IP, en el punto final de origen que se pasa desde una maquina virtual instanciada dentro de un centro de datos, en el que los primeros paquetes IP se transportan a traves de una conexion de nivel superior con un primer conjunto de mecanismos de fiabilidad provistos en la misma;
    encapsular (706) los primeros paquetes IP en segundos paquetes IP en el punto final de origen; transmitir (708) los segundos paquetes IP sobre el tunel a traves de una conexion del nivel inferior que se dispone en capas por debajo de la conexion de nivel superior, en el que la conexion de nivel inferior esta provista con un segundo conjunto de mecanismos de fiabilidad, y en el que el primer y segundo conjuntos de mecanismos de fiabilidad incluyen cada uno un mecanismo (515) de control de la congestion y un mecanismo (505) de recuperacion de perdidas, respectivamente; y
    emplear el controlador matricial para inhabilitar (710) selectivamente el mecanismo de control de la congestion y el mecanismo de recuperacion de perdidas provistos sobre la conexion de nivel inferior, siendo realizada automaticamente la inhabilitacion a menos que se proporcione una entrada para lo contrario, en el que el mecanismo de control de la congestion provisto sobre la conexion de nivel inferior se inhabilita por el punto final de origen sin ninguna negociacion con el punto final de destino.
  13. 13. El procedimiento de la reivindicacion 12 que comprende ademas:
    emplear el controlador matricial para permitir que el mecanismo de control de la congestion y el mecanismo de recuperacion de perdidas provistos sobre la conexion de nivel superior permanezcan habilitados; y almacenar una condicion de inhabilitada de la conexion de nivel inferior y una condicion de habilitada de la conexion de nivel superior, en el que la condicion de inhabilitada representa la inhabilitacion del mecanismo de control de la congestion y del mecanismo de recuperacion de perdidas provistos sobre la conexion de nivel inferior, y en el que la condicion habilitada representa la habilitacion del mecanismo de control de la congestion y del mecanismo de recuperacion de perdidas provistos sobre la conexion de nivel superior.
ES11751325.9T 2010-03-04 2011-03-02 Inhabilitación selectiva de mecanismos de fiabilidad en conexión de red Active ES2600678T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US717784 1985-03-29
US12/717,784 US8248944B2 (en) 2010-03-04 2010-03-04 Selectively disabling reliability mechanisms on a network connection
PCT/US2011/026931 WO2011109565A2 (en) 2010-03-04 2011-03-02 Selectively disabling reliability mechanisms on a network connection

Publications (1)

Publication Number Publication Date
ES2600678T3 true ES2600678T3 (es) 2017-02-10

Family

ID=44531262

Family Applications (1)

Application Number Title Priority Date Filing Date
ES11751325.9T Active ES2600678T3 (es) 2010-03-04 2011-03-02 Inhabilitación selectiva de mecanismos de fiabilidad en conexión de red

Country Status (8)

Country Link
US (2) US8248944B2 (es)
EP (1) EP2543162B1 (es)
JP (1) JP5784644B2 (es)
CN (1) CN102792637B (es)
AU (1) AU2011223636B2 (es)
CA (1) CA2789318C (es)
ES (1) ES2600678T3 (es)
WO (1) WO2011109565A2 (es)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8564522B2 (en) * 2010-03-31 2013-10-22 Apple Inc. Reduced-power communications within an electronic display
US9342367B2 (en) * 2010-06-16 2016-05-17 Computer Associates Think, Inc. System and method for selecting cloud services
US8745216B2 (en) * 2011-11-17 2014-06-03 Infosys Limited Systems and methods for monitoring and controlling a service level agreement
CN103051720B (zh) * 2012-12-25 2016-05-25 华为技术有限公司 Hadoop集群内部节点通信方法、设备及系统
CN112187926B (zh) 2013-03-28 2023-11-14 柏思科技有限公司 通过至少一个端到端连接传输和接收数据包的方法和系统
EP3086515B1 (en) * 2014-01-17 2019-03-13 Huawei Technologies Co., Ltd. Transmission method and transmission device for data packet
US10230786B2 (en) * 2016-02-26 2019-03-12 Red Hat, Inc. Hot deployment in a distributed cluster system
CN106100960B (zh) * 2016-07-06 2020-03-24 新华三技术有限公司 跨存储区域网络Fabric互通的方法、装置及系统
US10091089B2 (en) * 2016-07-27 2018-10-02 Microsoft Technology Licensing, Llc Storing and expiring non-TCP traffic
US10728311B2 (en) * 2017-02-16 2020-07-28 Intel Corporation Device, system and method for adaptive payload compression in a network fabric
CN109979486B (zh) * 2017-12-28 2021-07-09 中国移动通信集团北京有限公司 一种语音质量评估方法及装置
CN110959277B (zh) * 2018-07-26 2022-11-08 克洛姆公司 用于优化ip分组的隧道化的计算设备和方法
CN115865769A (zh) * 2021-09-23 2023-03-28 华为技术有限公司 报文处理方法、网络设备及系统
US12341702B2 (en) * 2022-02-09 2025-06-24 Cisco Technology, Inc. Packet flow identification and QoE-aware processing using a local device agent
CN115766519A (zh) * 2022-10-24 2023-03-07 株洲华通科技有限责任公司 便携通信设备的数据传输方法及系统

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6208620B1 (en) * 1999-08-02 2001-03-27 Nortel Networks Corporation TCP-aware agent sublayer (TAS) for robust TCP over wireless
US7184401B2 (en) 2001-02-05 2007-02-27 Interdigital Technology Corporation Link-aware transmission control protocol
US7099273B2 (en) * 2001-04-12 2006-08-29 Bytemobile, Inc. Data transport acceleration and management within a network communication system
US7012893B2 (en) * 2001-06-12 2006-03-14 Smartpackets, Inc. Adaptive control of data packet size in networks
US7089312B2 (en) * 2001-09-20 2006-08-08 Intel Corporation System and method for reducing retransmissions due to tunneled TCP-in-TCP communication in a network
US20030152096A1 (en) 2002-02-13 2003-08-14 Korey Chapman Intelligent no packet loss networking
KR100825542B1 (ko) 2002-09-04 2008-04-25 엘지노텔 주식회사 전송제어프로토콜을 이용한 무선 패킷 데이터 전송 제어시스템 및 방법
SE0203104D0 (en) * 2002-10-18 2002-10-18 Ericsson Telefon Ab L M Method and apparatus for network initiated rate control for P2C services in a mobile system
US7441036B2 (en) * 2003-04-01 2008-10-21 International Business Machines Corporation Method and system for a debugging utility based on a TCP tunnel
US7177272B2 (en) 2003-06-25 2007-02-13 Nokia Corporation System and method for optimizing link throughput in response to non-congestion-related packet loss
US7808906B2 (en) * 2004-07-23 2010-10-05 Citrix Systems, Inc. Systems and methods for communicating a lossy protocol via a lossless protocol using false acknowledgements
US20060133281A1 (en) 2004-12-20 2006-06-22 Motorola, Inc. System for managing round trip time of a transmission control protocol and supporting method and apparatus
CN101129035A (zh) * 2005-02-28 2008-02-20 日本电气株式会社 通信装置、通信系统、通信方法以及程序
US8670309B2 (en) * 2005-09-30 2014-03-11 Alcatel Lucent Method and apparatus for preventing activation of a congestion control process
US7860007B2 (en) 2006-07-28 2010-12-28 Deutsche Telekom Ag Method and communication system for optimizing the throughput of a TCP flow in a wireless network
JP4998687B2 (ja) * 2006-09-21 2012-08-15 日本電気株式会社 通信システム、トンネリング装置、通信方法、およびプログラム
US7864771B2 (en) 2007-04-20 2011-01-04 Cisco Technology, Inc. Parsing out of order data packets at a content gateway of a network
CN100594690C (zh) * 2007-05-22 2010-03-17 网御神州科技(北京)有限公司 一种安全网关中进行安全策略统一处理的方法及装置
US7995475B2 (en) * 2007-10-31 2011-08-09 Architecture Technology Corporation Reliable transport protocol providing receiver-based congestion control
US8910272B2 (en) * 2008-02-28 2014-12-09 Hob Gmbh & Co. Kg Computer communication system for communication via public networks

Also Published As

Publication number Publication date
US20120284403A1 (en) 2012-11-08
US8248944B2 (en) 2012-08-21
US20110216651A1 (en) 2011-09-08
EP2543162A4 (en) 2013-11-20
HK1176483A1 (en) 2013-07-26
JP5784644B2 (ja) 2015-09-24
CA2789318A1 (en) 2011-09-09
AU2011223636A1 (en) 2012-08-09
EP2543162B1 (en) 2016-08-03
WO2011109565A2 (en) 2011-09-09
CN102792637B (zh) 2015-09-23
WO2011109565A3 (en) 2012-01-05
JP2013521718A (ja) 2013-06-10
EP2543162A2 (en) 2013-01-09
US8379651B2 (en) 2013-02-19
AU2011223636B2 (en) 2014-05-15
CN102792637A (zh) 2012-11-21
CA2789318C (en) 2017-06-27

Similar Documents

Publication Publication Date Title
ES2600678T3 (es) Inhabilitación selectiva de mecanismos de fiabilidad en conexión de red
US11323288B2 (en) Systems and methods for server cluster network communication across the public internet
US9781052B2 (en) Virtual machine and application movement over local area networks and a wide area network
US8200957B1 (en) Using SYN-ACK cookies within a TCP/IP protocol
US8938553B2 (en) Cooperative proxy auto-discovery and connection interception through network address translation
CN110838975A (zh) 虚拟网络中租户工作负载的安全转发
JP2018521534A (ja) パケットシグネチャを使用してセッションを処理するためのネットワークデバイスと方法
JP2009535923A (ja) ネットワークデバイスのための仮想直列構成
US20170346726A1 (en) Flow Modification Including Shared Context
MX2008012786A (es) Resistencia de sesion en una red inalambrica.
US11522979B2 (en) Transmission control protocol (TCP) acknowledgement (ACK) packet suppression
JP2005085284A (ja) フェイルオーバーイベントをサポートするネットワーク状態オブジェクトの多重オフロード
KR102017742B1 (ko) 단방향 데이터 송신 장치, 단방향 데이터 수신 장치 및 이를 이용한 단방향 데이터 전송 방법
US11374856B1 (en) System and method for performing synchronization of maximum transmission unit with router redundancy
CN102868606B (zh) Vrrp心跳报文发送的方法、主用路由器和系统
US12547440B2 (en) Physical routing appliance to connect enterprise networks and cloud computing services, and method of connection
HK1176483B (en) Method and system for selectively disabling reliability mechanisms on a network connection
Dakhane et al. Udp-based multi-stream communication protocol