ES2619119T3 - Modificaciones de enrutamiento de red para distribución de datos - Google Patents

Modificaciones de enrutamiento de red para distribución de datos Download PDF

Info

Publication number
ES2619119T3
ES2619119T3 ES14719936.8T ES14719936T ES2619119T3 ES 2619119 T3 ES2619119 T3 ES 2619119T3 ES 14719936 T ES14719936 T ES 14719936T ES 2619119 T3 ES2619119 T3 ES 2619119T3
Authority
ES
Spain
Prior art keywords
data
computer
copy
computing device
identified
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
ES14719936.8T
Other languages
English (en)
Inventor
David A. Maltz
David T. Harper, Iii
Douglas Christopher Burger
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 ES2619119T3 publication Critical patent/ES2619119T3/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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/252Store and forward routing
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/124Shortest path evaluation using a combination of metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery

Landscapes

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

Abstract

Un procedimiento de distribución de datos a múltiples dispositivos informáticos, comprendiendo el procedimiento la etapa de: identificar un dispositivo informático de origen que comprende los datos y al menos dos dispositivos informáticos de destino previstos a los que se distribuirán copias de los datos; caracterizado por las etapas de identificar al menos un segmento de red costoso que es parte tanto de una primera trayectoria de red entre el dispositivo informático de origen y uno primero de los al menos dos dispositivos informáticos de destino previstos y una segunda trayectoria de red entre el dispositivo informático de origen y uno segundo de los al menos dos dispositivos informáticos de destino previstos, de manera que tanto una primera copia de los datos, dirigida al primer dispositivo informático de destino previsto, como una segunda copia de los datos, dirigida al segundo dispositivo informático de destino previsto, se transmitirían, por separado, a lo largo del segmento de red costoso identificado; identificar un dispositivo informático intermedio de manera que los datos transmitidos desde el dispositivo informático de origen al dispositivo informático intermedio se transmitirían a lo largo del segmento de red costoso identificado, pero los datos transmitidos desde el dispositivo informático intermedio a unos múltiples de los al menos dos dispositivos informáticos de destino previstos evitarían la transmisión a lo largo del segmento de red identificado; y generar un enrutamiento de almacenamiento y reenvío que comprende: transmisión de una copia de los datos desde el dispositivo informático de origen, a través del segmento de red costoso identificado, al dispositivo informático intermedio identificado; almacenamiento de la copia transmitida de los datos en el dispositivo informático intermedio; bifurcación, en el dispositivo informático intermedio, de la copia de los datos en múltiples copias de los datos; y transmisión de cada una de las múltiples copias bifurcadas de los datos desde el dispositivo informático intermedio a unos múltiples de los al menos dos dispositivos informáticos de destino previstos.

Description

5
10
15
20
25
30
35
40
45
50
55
DESCRIPCION
Modificaciones de enrutamiento de red para distribucion de datos Antecedentes
Los dispositivos informations de servidor modernos a menudo estan configurados ffsicamente de una manera para promocionar la instalacion y mantenimiento de multiples de tales dispositivos informaticos de servidor en un espacio confinado, tal como un bastidor. Multiples bastidores de dispositivos informaticos de servidor pueden a continuacion alojarse en una instalacion especializada, denominada de manera comun como un “centro de datos”. Tales centros de datos ofrecen eficacias de escala y a menudo se utilizan para alojar los dispositivos informaticos de servidor ffsicos que proporcionan una multitud de servicios y funcionalidad. Por ejemplo, se soportan muchos servicios y funcionalidades accesibles a traves de la Internet omnipresente y la Red Informatica Mundial por dispositivos informaticos de servidor en centros de datos. Otros servicios y funcionalidades, cuya accesibilidad puede estar limitada a intranets corporativas, de universidad o de investigacion, se soportan de manera analoga por los dispositivos informaticos de servidor en los centros de datos.
A menudo, para mantener la fiabilidad, se mantienen copias redundantes de datos en multiples centros de datos que estan localizados ffsicamente de manera separada y alejados entre sr Tales multiples centros de datos pueden dispersarse a traves de un unico pafs, o alrededor del mundo. Ademas, otros conjuntos de datos pueden ser suficientemente grandes que es mas economico, y mas fiable, si las porciones de tales conjuntos de datos se mantienen de manera separada y alejada entre sf en multiples diferentes centros de datos, que, de nuevo, pueden dispersarse a traves de un unico pafs, o a alrededor del mundo.
El procesamiento de datos eficaz, sin embargo, ffpicamente requiere que los datos se almacenen en medio de almacenamiento legible por ordenador que este ffsicamente proximo a las unidades de procesamiento de los dispositivos informaticos de servidor que realizan tal procesamiento de datos. En consecuencia, el procesamiento de datos a menudo puede conllevar el copiado de grandes cantidades de datos desde centros de datos donde se almacenan tales datos a centros de datos donde puede realizarse tal procesamiento. Como alternativa, o ademas, el procesamiento de datos a menudo puede conllevar el copiado de grandes cantidades de datos desde el centro de datos donde se procesaron tales datos, ffpicamente para generar conjuntos de datos nuevos o modificados, a centros de datos donde pueden almacenarse tales datos. El procesamiento de tales datos puede impactar directamente, o puede incluso desencadenarse por, la provision de servicios a miles, o incluso millones de usuarios. En consecuencia, para posibilitar que tales usuarios sean mas eficaces, y para evitar el agravamiento del usuario, es ffpicamente deseable que el procesamiento de tales datos se realice tan rapida y eficazmente como sea posible. Sin embargo, el tiempo requerido para copiar datos entre centros de datos, incluyendo la agregacion de datos para procesamiento, la posterior desagregacion de datos para almacenamiento, y otros intercambios o transferencias de datos, son ffpicamente los factores limitantes de como de rapido y eficaz puede ser tal procesamiento, vease el analisis en el documento WO 2011/073707 A1.
Sumario
En una realizacion, cuando un dispositivo informatico busca transmitir multiples copias de datos a dispositivos informaticos que estan localizados en al menos dos localizaciones dispares, las eficacias pueden realizarse utilizando una metodologfa de almacenamiento y reenvfo para transmitir tales multiples copias de datos a multiples diferentes localizaciones.
En otra realizacion mas, un controlador puede identificar multiples rutas potenciales mediante las cuales pueden transmitirse datos desde un dispositivo informatico a multiples otros dispositivos informaticos en al menos dos localizaciones dispares. Tal enrutamiento puede optimizarse minimizando el numero de copias de tales datos que se transmiten a traves de una porcion costosa de la red utilizando una metodologfa de almacenamiento y reenvfo para transmitir unicamente una unica copia de los datos desde el dispositivo informatico de envfo en un lado de la porcion costosa de la red a un dispositivo informatico de destino en el lado opuesto de la porcion costosa de la red, y a continuacion bifurcar los datos en copias adicionales, en ese dispositivo informatico de destino, para enviar a dispositivos informaticos de destino adicionales.
En una realizacion adicional, un controlador puede identificar dispositivos informaticos que, aunque no son destinos previstos por el dispositivo informatico de envfo, pueden reclutarse para utilizarse en una metodologfa de almacenamiento y reenvfo para minimizar el numero de copias de los datos que se transmiten a traves de una porcion costosa de la red. Un dispositivo informatico intermedio reclutado de este tipo puede recibir y almacenar una unica copia de los datos, y los datos pueden a continuacion bifurcarse en multiples copias en ese dispositivo informatico intermedio reclutado y transmitirse a partir del mismo a los multiples dispositivos informaticos de destino previstos.
En una realizacion aun adicional, puede realizarse adaptacion para los datos que son intolerantes a entrega en orden incorrecto. Pueden utilizarse protocolos adaptativos, en los cuales se evitan mecanismos que pueden dar como resultado entrega en orden incorrecto si los datos que se estan transmitiendo no pueden tolerar tal entrega en orden incorrecto. Como alternativa, o ademas, la ordenacion de paquetes integrada en puntos de convergencia de
5
10
15
20
25
30
35
40
45
50
55
datos puede reordenar los datos para minimizar el riesgo de entrega en orden incorrecto.
En una realizacion adicional mas, pueden utilizarse diferentes ajustes de protocolo para transmitir las copias de los datos a traves de diferentes porciones de la red en una metodologfa de almacenamiento y reenvfo. Los ajustes de protocolo apropiados para copias de datos unicas transmitidas a traves de porciones costosas de la red pueden diferenciarse de ajustes de protocolo apropiados para multiples copias de datos transmitidas a traves de porciones eficaces de la red. Los ajustes de protocolo pueden tambien variarse dependiendo del tipo y cantidad de datos.
Este resumen se proporciona para introducir una seleccion de conceptos de una forma simplificada que se describen adicionalmente a continuacion en la descripcion detallada. Este resumen no tiene por objeto identificar caractensticas clave o caractensticas esenciales de la materia objeto reivindicada, ni tiene por objeto que se use para limitar el alcance de la materia objeto reivindicada.
Caractensticas y ventajas adicionales se haran evidentes a partir de la siguiente descripcion detallada que continua con referencia a los dibujos adjuntos.
Breve descripcion de los dibujos
La siguiente descripcion detallada puede entenderse mejor cuando se toma en conjunto con los dibujos adjuntos, de los cuales:
La Figura 1 es un diagrama de bloques de un sistema de la tecnica anterior ejemplar de transmision de multiples copias de datos a multiples diferentes destinos;
La Figura 2 es un diagrama de bloques de una modificacion de ruta ejemplar que utiliza metodologfas de almacenamiento y reenvfo para transmitir multiples copias de datos a multiples diferentes destinos;
La Figura 3 es un diagrama de bloques de otra modificacion de ruta ejemplar que utiliza metodologfas de almacenamiento y reenvfo para transmitir multiples copias de datos a multiples diferentes destinos;
La Figura 4 es un diagrama de flujo de una modificacion de ruta ejemplar para transmitir multiples copias de datos a multiples diferentes destinos; y
La Figura 5 es un diagrama de bloques que ilustra un dispositivo informatico de fin general ejemplar.
Descripcion detallada
La siguiente descripcion se refiere a la utilizacion de metodologfas de almacenamiento y reenvfo para modificar el enrutamiento mediante el cual multiples copias de datos se envfan a multiples dispositivos informaticos de destino diferentes en al menos dos localizaciones ffsicas diferentes. Un controlador puede identificar multiples rutas potenciales mediante las cuales pueden transmitirse los datos desde un dispositivo informatico a multiples otros dispositivos informaticos y tal enrutamiento puede a continuacion optimizarse minimizando el numero de copias de tales datos que se transmiten a traves de una porcion costosa de la red. Una metodologfa de almacenamiento y reenvfo puede utilizarse para transmitir unicamente una unica copia de los datos desde el dispositivo informatico de envfo en un lado de la porcion costosa de la red a un dispositivo informatico de destino en el lado opuesto de la porcion costosa de la red, y a continuacion bifurcar los datos en copias adicionales, en ese dispositivo informatico de destino, para envfo a dispositivos informaticos de destino adicionales. Dispositivos informaticos que no son destinos previstos pueden reclutarse para utilizarse como dispositivos informaticos intermedios para minimizar el numero de copias de los datos que se transmiten a traves de una porcion costosa de la red. Tales dispositivos informaticos intermedios reclutados pueden recibir y almacenar una unica copia de los datos, y los datos pueden a continuacion bifurcarse en multiples copias en tales dispositivos informaticos intermedios reclutados y transmitirse a partir de los mismos en los multiples dispositivos informaticos de destino previstos. Adicionalmente, puede realizarse la adaptacion para datos que son intolerantes a entrega en orden incorrecto utilizando protocolos adaptativos que pueden evitar el uso de mecanismos que pueden dar como resultado entrega en orden incorrecto para datos que no pueden tolerar esto y utilizar ordenacion de paquetes en puntos de convergencia de datos para reordenar los datos para minimizar la posibilidad de entrega en orden incorrecto. Pueden utilizarse diferentes ajustes de protocolo para transmitir las copias de los datos a traves de diferentes porciones de la red. Los ajustes de protocolo pueden tambien variarse dependiendo del tipo y cantidad de datos.
Las tecnicas descritas en el presente documento hacen referencia a tipos espedficos de entornos y contextos de interconexion en red. En particular, las descripciones se proporcionaran a continuacion en el contexto de comunicaciones entre centros de datos entre dispositivos informaticos de servidor. Tales referencias, sin embargo, son estrictamente ejemplares y se hacen por claridad de descripcion y presentacion y para facilidad de entendimiento. De hecho, las tecnicas descritas en el presente documento son igualmente aplicables, sin modificacion, a la optimizacion de cualquier transmision de red, incluyendo, por ejemplo, distribucion de datos mediante programas de aplicacion que se estan ejecutando en dispositivos informaticos de cliente, distribucion de datos mediante dispositivos de red especializados, distribucion de datos mediante dispositivos informaticos de fin especial tales como, por ejemplo, grabadores de video digital y dispositivos de comparticion de medios y contenido digital.
Adicionalmente, se hace referencia en el presente documento a segmentos de red “costosos”. Como se utiliza en el presente documento, el termino “costoso”, como se aplica a segmentos de red, significa que la transmision de datos
5
10
15
20
25
30
35
40
45
50
55
60
es diffcil debido al coste, congestion de red, normativas en cuanto a la cantidad de los datos o tipo de datos transmitidos, limitaciones en cuanto al origen, destino o naturaleza de la transmision de datos u otras restricciones. En consecuencia, como se utiliza en el presente documento, un segmento de red congestionado es un segmento de red “costoso”, incluso si no hubiera cargo monetario para la transmision de datos a traves de un segmento de red de este tipo, debido a que la mera existencia de congestion en un segmento de red de este tipo provoca que la transmision de datos a traves de un segmento de este tipo sea mas diffcil que lo que sena si el segmento no estuviera congestionado.
Aunque no se requiere, los aspectos de las descripciones se proporcionaran a continuacion en el contexto general de instrucciones ejecutables por ordenador, tales como modulos de programa, que se ejecutan mediante un dispositivo informatico. Mas espedficamente, los aspectos de las descripciones haran referencia a actos y representaciones simbolicas de operaciones que se realizan por uno o mas dispositivos informaticos o perifericos, a menos que se indique de otra manera. Como tal, se entendera que tales actos y operaciones, que se denominan a veces como que se ejecutan por ordenador, incluyen la manipulacion mediante una unidad de procesamiento de senales electricas que representan datos en una forma estructurada. Esta manipulacion transforma los datos o los mantiene en localizaciones en memoria, que reconfigura o modifica de otra manera la operacion del dispositivo informatico o perifericos de una manera bien entendida por los expertos en la materia. Las estructuras de datos donde se mantienen los datos son localizaciones ffsicas que tienen propiedades particulares definidas mediante el formato de los datos.
En general, los modulos de programa incluyen rutinas, programas, objetos, componentes, estructuras de datos, y similares que realizan tareas particulares o implementan tipos de datos abstractos particulares. Ademas, los expertos en la materia apreciaran que los dispositivos informaticos no necesitan estar limitados a bastidores informaticos de servidor convencionales u ordenadores personales convencionales, e incluyen otras configuraciones informaticas, incluyendo dispositivos portatiles, sistemas multiprocesador, electronica de consumo programable o basada en microprocesador, PC de red, miniordenadores, ordenadores centrales, y similares. De manera similar, los dispositivos informaticos no necesitan estar limitados a un dispositivo informatico independiente, ya que los mecanismos pueden ponerse en practica tambien en entornos informaticos distribuidos enlazados a traves de una red de comunicaciones. En un entorno informatico distribuido, los modulos de programa pueden localizarse tanto en dispositivos de almacenamiento de memoria locales como remotos.
Con referencia a la Figura 1, se ilustra un sistema 100 ejemplar, que comprende multiples dispositivos informaticos, tales como los dispositivos 111, 112, 113 y 114 informaticos, que pueden estar localizados ffsicamente en uno o mas centros de datos ffsicamente separados, tales como los centros de datos 121, 122, 123 y 124. Los dispositivos 111, 112, 113 y 114 informaticos, asf como otros dispositivos informaticos similares en los centros de datos 121, 122, 123 y 124, pueden interconectarse en red juntos como parte de la red 101, posibilitando de esta manera la transmision y comparticion de datos legibles por ordenador entre dos o mas dispositivos informaticos. Para los fines de las descripciones a continuacion, los centros de datos 121, 122, 123 y 124 pueden interconectarse en red juntos a traves de una infraestructura de interconexion en red ffsica que tiene los nodos 131, 132, 133, 134, 135 y136ffsicos y los segmentos 141, 142, 143, 144, 145, 146 y 147. Como se ilustra, los dispositivos informaticos del centro de datos 121, tales como el dispositivo 111 informatico ejemplar, pueden estar localizados de manera proxima al nodo 131 de manera que las comunicaciones dirigidas a los dispositivos informaticos del centro de datos 121 pueden enrutarse al centro de datos 121 mediante el nodo 131, mientras que otras comunicaciones que se estan transmitiendo a lo largo de la red 101 pueden enrutarse a traves del nodo 131, y a otros destinos, de tal manera que los dispositivos informaticos del centro de datos 121 senan ajenos al mismo. De manera similar, el centro de datos 122 puede localizarse de manera proxima al nodo 132, el centro de datos 123 puede localizarse de manera proxima al nodo 133, y el centro de datos 124 puede localizarse de manera proxima al nodo 134.
Las instrucciones ejecutables por ordenador que se ejecutan en una o mas unidades de procesamiento de un dispositivo informatico, tal como el dispositivo 111 informatico ejemplar, pueden buscar transmitir datos a otros dispositivos informaticos, incluyendo transmitir datos a traves de una red, tal como la red 101 ejemplar. Por ejemplo, el dispositivo 111 informatico puede tener datos que busca distribuir a los dispositivos 112, 113 y 114 informaticos. Desde la perspectiva de las instrucciones ejecutables por ordenador que se ejecutan en el dispositivo 111 informatico, pueden existir distintas trayectorias 162, 163 y 164 de comunicacion de red que pueden conectar directamente el dispositivo 111 informatico a los dispositivos 112, 113 y 114 informaticos. La realidad ffsica de la red 101 puede ser muy diferente debido a, por ejemplo, obstrucciones ffsicas, tales como la obstruccion 170 ffsica, costes, infraestructura existente y otros factores similares que pueden influenciar la localizacion y distribucion de las interconexiones de red ffsicas entre, por ejemplo, centros de datos localizados en localizaciones separadas. El sistema 100 de la Figura 1 ilustra de manera ejemplar las diferencias entre las interconexiones ffsicas que forman la red 101, la percepcion de la red desde la perspectiva de, por ejemplo, procedimientos que se ejecutan en el dispositivo 111 informatico, y como tales diferencias pueden dar como resultado transmisiones de red ineficaces.
En particular, para transmitir datos desde el dispositivo 111 informatico, en el centro de datos 121, al dispositivo 112 informatico, en el centro de datos 122, los datos pueden transmitirse a lo largo del segmento 141, desde el nodo 131 al nodo 135, y pueden a continuacion transmitirse a lo largo del segmento 142 desde el nodo 135 al nodo 132, punto en el cual pueden transferirse al centro de datos 122 y, finalmente, al dispositivo 112 informatico. De manera similar, para transmitir datos desde el dispositivo 111 informatico al dispositivo 113 informatico, en el centro de datos 123,
5
10
15
20
25
30
35
40
45
50
55
60
los datos pueden enrutarse, de nuevo, a lo largo del segmento 141 desde el nodo 131 hasta que alcanzan el nodo 135, y a continuacion pueden enrutarse a lo largo de los segmentos 143 y 147, como se muestra mediante el sistema 100 de la Figura 1. Y para transmitir datos desde el dispositivo 111 informatico al dispositivo 114 informatico, en el centro de datos 123, pueden enrutarse los datos, de nuevo, a lo largo del segmento 141, y pueden a continuacion enrutarse a lo largo de los segmentos 143 y 146. Como se reconocera por los expertos en la materia, son igualmente aplicables otros enrutamientos.
Pero, si el dispositivo 111 informatico busca enviar una copia de datos a cada uno de los dispositivos 112, 113 y 114 informaticos, las instrucciones ejecutables por ordenador que se ejecutan en el dispositivo 111 informatico pueden percibir que debenan transmitirse tres copias diferentes de tales datos, en concreto las copias 181, 182 y 183 de datos, debido a que, desde el punto de vista de estas instrucciones ejecutables por ordenador, las copias de los datos 181, 182 y 183 se transmitinan cada una a lo largo de diferentes trayectorias de red, en concreto las trayectorias 162, 163 y 164 de red percibidas, respectivamente. En consecuencia, cuando las instrucciones ejecutables por ordenador que se ejecutan en el dispositivo 111 informatico transmiten las copias de los datos 181, 182 y 183, a los dispositivos 112, 113 y 114 informaticos, respectivamente, tres copias diferentes de esos datos, en concreto las copias 181, 182 y 183, se enviaran mediante el dispositivo 111 informatico. Sin embargo, como se ha indicado previamente, ffsicamente, cada una de estas copias se transmitira a lo largo del segmento 141. Mas espedficamente, y como se ilustra mediante el sistema 100 de la Figura 1, el enrutamiento 191 de la copia de los datos 181 puede ser a lo largo del segmento 141, como puede ser el enrutamiento 192, que puede utilizarse para transmitir la copia de los datos 182 al dispositivo 113 informatico, y el enrutamiento 193, que puede utilizarse para transmitir la copia de los datos 183 al dispositivo 114 informatico. En consecuencia, como puede observarse, una distribucion de datos desde el dispositivo 111 informatico a los dispositivos 112, 113 y 114 informaticos puede cargar desproporcionadamente el segmento 141, puesto que tres copias de los datos, en concreto las copias 181, 182 y 183, puede cada una transmitirse a lo largo del segmento 141. Si los datos que se estan transmitiendo mediante el dispositivo 111 informatico son un conjunto grande de datos, el segmento 141 puede finalizar por tener que adaptar terabytes de datos redundantes.
En consecuencia, en una realizacion, una metodologfa de almacenamiento y reenvfo puede utilizarse para evitar multiples transmisiones de los mismos datos a traves de un segmento de la red. Una optimizacion de este tipo puede ser especialmente util si segmentos identificados de una red estan experimentando congestion, o son de otra manera “costosos” ya que el termino se define y utiliza explfcitamente en el presente documento, puesto que, una unica copia de los datos puede pasarse a traves de tales segmentos costosos. De esta manera, la distribucion global de tales datos puede conseguir ordenes de magnitud mas eficaces puesto que, los segmentos de red costosos son los factores limitantes en como de eficazmente se completa una distribucion de datos de este tipo y, a traves del uso de la metodologfa de almacenamiento y reenvfo, enviar unicamente una unica copia de los datos a traves de un segmento costoso, a diferencia de multiples copias, puede dar como resultado una eficacia global que puede ser de ordenes de magnitud mayor, especialmente si se estan distribuyendo muchas copias de los datos.
Volviendo a la Figura 2, el sistema 200 mostrado en la misma ilustra la red 101 ejemplar, mostrada originalmente en la Figura 1, excepto que la distribucion de multiples copias de datos, mediante el dispositivo 111 informatico, a cada uno de los dispositivos 112, 113 y 114 informaticos, puede optimizarse a traves del uso de metodologfa de almacenamiento y reenvfo. En particular, y en una realizacion, un controlador 250 puede monitorizar la red 101 y puede recibir desde la misma informacion 210 de coste. Tal informacion 210 de coste puede identificar segmentos de la red 101 que actualmente son costosos. Por ejemplo, en una realizacion, la informacion 210 de coste puede ser informacion de congestion que puede obtenerse mediante el controlador 250, tal como de las maneras descritas en detalle a continuacion. En otras realizaciones, la informacion 210 de coste puede ser otra informacion que indica coste, tal como limitaciones aplicadas a diversos segmentos, tablas de coste utilizadas para determinar el coste de transmitir datos a traves de diversos segmentos y otra informacion similar.
Por ejemplo, en una realizacion, la informacion 210 de coste puede estar comprendida de informacion de congestion obtenida mediante el controlador mediante un protocolo de inspeccion, mediante el cual el controlador monitoriza comunicaciones existentes y en curso a lo largo de la red 101 y deriva a partir de las mismas informacion de congestion. O, como alternativa, los diversos dispositivos informaticos que comunican a lo largo de la red 101 pueden derivar informacion de congestion desde sus comunicaciones existentes y en curso, y pueden proporcionar a continuacion tal informacion de congestion derivada al controlador 250 que puede ser una forma de la informacion 210 de coste. Mas espedficamente, y como un ejemplo, si las comunicaciones entre el dispositivo 111 informatico y uno cualquiera de los otros dispositivos 112, 113 y 114 informaticos requieren retransmisiones repetidas debido a paquetes que se recibieron despues de lo que esperaba, pero ninguna de las comunicaciones entre los dispositivos 112, 113 informaticos en 114 muestran ninguno de tales smtomas, puede realizarse una determinacion de que hay congestion a lo largo del segmento 141, puesto que un segmento de este tipo es unicamente el segmento unico para las comunicaciones con el dispositivo 111 informatico.
En una realizacion alternativa, la informacion 210 de coste puede obtenerse mediante el controlador 250 a traves de medios mas explfcitos. Por ejemplo, el controlador 250 puede ordenar periodicamente a un dispositivo informatico transmitir paquetes de exploracion a otros dispositivos informaticos. A partir de los datos obtenidos mediante la transmision de tales paquetes de exploracion, el controlador 250 puede derivar informacion de congestion, que puede ser una forma de la informacion 210 de coste. En otra alternativa mas, los dispositivos informaticos de la red
5
10
15
20
25
30
35
40
45
50
55
60
101 pueden transmitir de manera proactiva paquetes de exploracion e informar los resultados al controlador 250.
Aunque el controlador 250 se ilustra como una unica entidad, los mecanismos descritos en el presente documento son igualmente aplicables a un controlador 250 que se implementa como un procedimiento distribuido que se ejecuta en dos o mas dispositivos informaticos que pueden ser parte de la red 101. Como otra alternativa mas, el controlador 250 puede implementarse como una serie de procedimientos jerarquicos, en los cuales los controladores de nivel inferior pueden asociarse con porciones espedficas de la red 101, y un controlador de nivel superior puede controlar tales controladores de nivel inferior y puede recibir, de esta manera, informacion con respecto a toda la red 101.
En una realizacion, el controlador 250 puede generar informacion 220 de enrutamiento mediante la cual los datos pueden distribuirse para minimizar la transmision de datos a traves de un segmento costoso, tal como el segmento 141 costoso, que se muestra sombreado en gris en la Figura 2 para ilustrar graficamente que es un segmento costoso. En particular, en una realizacion, instrucciones ejecutables por ordenador que se ejecutan en un dispositivo informatico, tal como el dispositivo 111 informatico, pueden comunicar con el controlador 250 para notificar al controlador 250 que el dispositivo 111 informatico busca distribuir datos a, por ejemplo, cada uno de los dispositivos 112, 113 y 114 informaticos. En respuesta, el controlador 250 puede generar la informacion 220 de enrutamiento mediante la cual una unica copia de los datos 281 puede transmitirse desde el dispositivo 111 informatico al dispositivo 112 informatico mediante el enrutamiento 231, como se ilustra en la Figura 2. Como puede observarse a partir del sistema 200 de la Figura 2, la informacion 220 de enrutamiento proporcionada mediante el controlador 250 puede proporcionar que la copia de los datos 281 pueda ser la unica copia de los datos transmitida a lo largo del segmento 141 costoso, como se ilustra mediante el enrutamiento 231.
Una vez que la copia de los datos 281 se recibe mediante el dispositivo 112 informatico, el dispositivo 112 informatico puede mantener una copia de los datos 281 de este tipo, puesto que el dispositivo 112 informatico puede haber sido un destino previsto de tales datos. Adicionalmente, puede hacerse que se transmitan copias adicionales de los datos 281, mediante el dispositivo 112 informatico, a otros receptores previstos de tales datos. Por ejemplo, y como se muestra en el sistema 200 de la Figura 2, las copias de los datos 282 y 283 pueden hacerse en el dispositivo 112 informatico, y a continuacion pueden transmitirse desde el dispositivo 112 informatico a otros dispositivos informaticos de destino, tales como los dispositivos 113 y 114 informaticos. En particular, la copia de los datos 282 puede transmitirse desde el dispositivo 112 informatico al dispositivo 113 informatico a lo largo de un enrutamiento 232, que puede ser tambien parte de la informacion 220 de enrutamiento proporcionada mediante el controlador 250. De manera similar, la copia de los datos 283 puede transmitirse desde el dispositivo 112 informatico al dispositivo 114 informatico a lo largo del enrutamiento 233, que puede ser tambien parte de la informacion 220 de enrutamiento proporcionada mediante el controlador 250. De esta manera, en lugar de transmitir cada una de las copias de datos 281, 282 y 283 a traves del segmento 141 costoso, la informacion 220 de enrutamiento, proporcionada mediante el controlador 250, puede proporcionar unicamente una unica copia de los datos 281 a transmitirse a lo largo del segmento 141 costoso, hasta que alcanza el dispositivo 112 informatico de destino, como se ilustra mediante el enrutamiento 231. Las copias posteriores pueden hacerse a continuacion, y transmitirse adicionalmente, despues de que se ha transmitido la copia de los datos 281 a traves del segmento 141 costoso.
Como puede observarse, utilizando una metodologfa de almacenamiento y reenvfo, la informacion 220 de enrutamiento, que puede promulgarse por el controlador 250, puede pasar unicamente una unica copia de los datos 281 a traves del segmento 141 de red costoso, y puede a continuacion “bifurcar” los datos a los dispositivos informaticos de destino restantes, en concreto los dispositivos 113 y 114 informaticos. Como se utiliza en el presente documento, el termino “bifurcar” significa una duplicacion de datos en dos o mas copias para fines de envfo de cada una de tales copias a un destino diferente. La metodologfa de almacenamiento y reenvfo, por lo tanto, posibilita que tenga lugar la bifurcacion de los datos despues del segmento 141 costoso, aumentando de esta manera la eficacia con la que se consigue la distribucion de datos global, desde el dispositivo 111 informatico, a los dispositivos 112, 113 y 114 informaticos. Mas espedficamente, puesto que la transmision de datos a traves del segmento 141 costoso puede haber sido un factor limitante de la eficacia global de una distribucion de datos de este tipo, la informacion 220 de enrutamiento, que proporciona enrutamiento, tal como el enrutamiento 231, 232 y 233, puede reducir la cantidad de datos transmitidos a traves del segmento 141 costoso en un factor de tres en el presente ejemplo. Si ha de distribuirse un mayor numero de copias de los datos, el aumento resultante en la eficacia puede ser correspondientemente mayor. De manera similar, si mas de un segmento de red es costoso, el aumento resultante en eficacia puede ser mayor de manera analoga.
Otra ventaja potencial de utilizar una metodologfa de almacenamiento y reenvfo, tal como la ilustrada mediante el sistema 200 de la Figura 2, es que los datos recorreran tfpicamente trayectorias mas cortas. Mas espedficamente, y con referencia a una comparacion entre el sistema 100 de la Figura 1 y el sistema 200 de la Figura 2, la transmision de la copia de los datos 183, en el sistema 100 de la Figura 1 puede recorrer, como se ilustra mediante el enrutamiento 193, a lo largo de los segmentos 141, 143 y 146. En contraste, la transmision de la copia de los datos 283, en el sistema 200 de la Figura 2, al mismo dispositivo informatico al que se transmitio la copia de los datos 183 en el sistema 100 de la Figura 1, puede conseguirse con un enrutamiento 233 que unicamente puede recorrer a lo largo del segmento 145. En consecuencia, utilizando una metodologfa de almacenamiento y reenvfo, la trayectoria mediante la cual se transmite la copia de los datos 283 puede reducirse sustancialmente, tal como cuando se compara con la trayectoria mediante la que se transmitio la copia de los datos 183 en el sistema 100 de la Figura 1.
5
10
15
20
25
30
35
40
45
50
55
60
Tales longitudes de trayectoria reducidas pueden proporcionar menos tiempo de ida y vuelta para datos enviados a lo largo de tales trayectorias y, en consecuencia, pueden descubrirse mas rapidamente factores tales como congestion. Mas espedficamente, si el tiempo de ida y vuelta a lo largo del enrutamiento 193, mostrado en la Figura 1, es cinco veces mas largo que el tiempo de ida y vuelta a lo largo del enrutamiento 233, mostrado en la Figura 2, y es necesario que se pierda un numero mmimo de paquetes, y su fallo de entrega informado, antes de determinar que existe congestion a lo largo de una trayectoria, entonces el tiempo de ida y vuelta mas corto puede dar como resultado informes de fallos de entrega que llegan cinco minutos mas rapidamente y, en consecuencia, puede realizarse una determinacion de congestion a lo largo de la trayectoria cinco veces mas rapidamente.
En una realizacion, la informacion 220 de enrutamiento, proporcionada por el controlador 250, puede actualizarse de manera continua. Como un ejemplo, la informacion 220 de enrutamiento puede indicar que una copia de los datos 281 puede enviarse desde el dispositivo 111 informatico de origen, a un dispositivo 112 informatico de destino previsto, mediante el otro enrutamiento 231, y una copia de los datos 282 puede a continuacion enviarse desde el dispositivo 112 informatico a otro dispositivo informatico previsto, en concreto el dispositivo 113 informatico, a lo largo del enrutamiento 232. Sin embargo, continuando con el ejemplo anterior, una vez que los datos 281 llegan al dispositivo 112 informatico y se bifurcan allf para generar la copia de los datos 282, puede recibirse nueva informacion 210 de coste mediante el controlador 250, que puede indicar, por ejemplo, que el segmento 144 es ahora tambien costoso. El controlador 250 puede a continuacion actualizar la informacion 220 de enrutamiento en la mitad de la distribucion de las copias de datos, proporcionando un enrutamiento actualizado para los datos desde el dispositivo 112 informatico al dispositivo 113 informatico que evita el segmento 144, tal como, por ejemplo, un enrutamiento que recorre a lo largo de los segmentos 142, 143 y 147, o un enrutamiento que recorre a lo largo de los segmentos 145, 146 y 147.
Para optimizar adicionalmente la transmision de copias de datos a multiples dispositivos de destino, pueden utilizarse diferentes ajustes de protocolo para transmisiones de datos separadas. Por ejemplo, la transmision de la copia de los datos 281, desde el dispositivo 111 informatico, al dispositivo 112 informatico, a lo largo del enrutamiento 231, puede realizarse con ajustes de protocolo que pueden ser apropiados para, por ejemplo, la ordenacion de congestion de red que puede estar experimentando el segmento 141. A la inversa, la transmision de la copia de los datos 283, desde el dispositivo 112 informatico, al dispositivo 114 informatico, puede realizarse con ajustes de protocolo apropiados para la transferencia eficaz de datos a traves de segmentos eficaces, tales como segmentos que no estan experimentando congestion. Por ejemplo, la transmision de la copia de los datos 283, a lo largo del enrutamiento 233, puede realizarse con ajustes de protocolo de control que especifican un proveedor de congestion que puede ignorar al menos alguna perdida de paquetes y continuar transmitiendo datos a una velocidad superior puesto que, por ejemplo, teniendo conocimiento previo de que el segmento 145 no esta congestionado, puede predeterminarse que la perdida percibida a lo largo del enrutamiento 233 no es probable del resultado de congestion y, en consecuencia, hasta el punto de que se experimente tal perdida, realizar una respuesta tfpica a tal perdida, tal como, por ejemplo, decelerando la transmision de la copia de los datos 283, puede dar como resultado ineficacias sin ningun beneficio anadido.
En una realizacion, para determinar si debena aplicarse una metodologfa de almacenamiento y reenvfo, puede predeterminarse una ganancia de eficacia potencial debido a la aplicacion de una metodologfa de este tipo. Mas espedficamente, en una realizacion, antes de utilizar un enrutamiento de almacenamiento y reenvfo, puede realizarse una comparacion entre la cantidad de tiempo y recursos utilizados para transmitir multiples copias de datos desde un dispositivo informatico de origen, tal como, por ejemplo, el dispositivo 111 informatico, a cada uno de los dispositivos informaticos receptores previstos, tales como, por ejemplo, los dispositivos 112, 113 y 114 informaticos, y la cantidad de tiempo y recursos utilizados para transmitir unicamente una unica copia de los datos a uno de los dispositivos informaticos receptores previstos, almacenar una copia de este tipo allf, bifurcar otras copias de datos allf, y a continuacion reenviar aquellas otras copias en los otros dispositivos informaticos receptores. Si una comparacion de este tipo revela que una metodologfa de almacenamiento y reenvfo puede no producir ninguna eficacia, a continuacion, en una realizacion no es necesario que se utilice enrutamientos basandose en una metodologfa de almacenamiento y reenvfo de este tipo.
Como se reconocera por los expertos en la materia, al utilizar la metodologfa de almacenamiento y reenvfo, existe el potencial de que se transmitan segmentos individuales de datos de manera desigual a traves de la red y lleguen en orden incorrecto. En una realizacion, el protocolo utilizado para transmitir los datos utilizando metodologfa de almacenamiento y reenvfo, donde los datos pueden entregarse en orden incorrecto, puede ser adaptativo para evitar utilizar metodologfa de almacenamiento y reenvfo cuando los datos a transmitirse no son tolerantes a entrega en orden incorrecto, tal como, por ejemplo, datos de video o audio de flujo continuo. En otra realizacion, puede proporcionarse ordenacion de paquees mediante dispositivos informaticos intermedios que almacenan, y a continuacion reenvfan, tales datos. Por ejemplo, en el sistema 200 ejemplar de la Figura 2, el dispositivo 112 informatico puede ordenar los paquetes de la copia de los datos 281 que se reciben antes de que el dispositivo 112 informatico emprenda a bifurcar tales datos y transmita tales copias a los dispositivos 113 y 114 informaticos, en concreto las copias de los datos 282 y 283, respectivamente.
En el sistema 200 ejemplar de la Figura 2, el dispositivo informatico intermedio, que se utilizo para almacenar una copia de los datos, bifurcarlos en copias y a continuacion reenviar las copias en otros dispositivos informaticos, era, por sf mismo, un destino previsto de los datos. En otras realizaciones, sin embargo, dispositivos informaticos que no
5
10
15
20
25
30
35
40
45
50
55
60
eran destinos previstos de los datos pueden reclutarse para que se utilicen en una metodologfa de almacenamiento y reenvfo, si esto diera como resultado mayores eficacias. Por ejemplo, la transmision de datos desde el dispositivo 111 informatico de origen, al dispositivo 113 informatico de recepcion toma una ruta bastante sinuosa en el sistema 200 ejemplar de la Figura 2. En particular, tales datos pueden transmitirse inicialmente a traves de los segmentos 141 y 142 al dispositivo 112 informatico, donde pueden almacenarse, y a continuacion puede transmitirse posteriormente otra copia, a traves de los segmentos 144 y 147, al dispositivo 113 informatico. Si, en lugar de almacenar y reenviar los datos en el dispositivo 112 informatico, se utilizara un dispositivo informatico proximo al nodo 135, entonces los datos dirigidos al dispositivo 113 informatico podnan atravesar una trayectoria mas corta desde el dispositivo 111 informatico de origen, en concreto una trayectoria que comprende los segmentos 141, 143 y 147. En contraste, las otras eficacias obtenidas utilizando la metodologfa de almacenamiento y reenvfo del sistema 200 de la Figura 2, en concreto la transmision de unicamente una unica copia de los datos a traves del segmento 141 costoso, podnan mantenerse aun.
En consecuencia, en una realizacion, un controlador 250, u otros mecanismos similares, pueden reclutar un dispositivo informatico para que actue como un dispositivo informatico intermedio en una metodologfa de almacenamiento y reenvfo. Por ejemplo, y con referencia al sistema 300 ejemplar de la Figura 3, puede identificarse un centro de datos 350 proximo al nodo 135, y un dispositivo informatico, tal como el dispositivo 351 informatico ejemplar, puede seleccionarse de entre los dispositivos informaticos en el centro de datos 350, para actuar como un dispositivo informatico de almacenamiento y reenvfo. En una realizacion de este tipo, una accion 320 de reclutamiento puede ser parte de la informacion 220 de enrutamiento que puede generarse mediante el controlador 250.
Con el reclutamiento del dispositivo 351 informatico, una unica copia de los datos, en concreto la copia de los datos 380, puede transmitirse aun a lo largo del segmento 141, como se ilustra mediante el enrutamiento 330. En consecuencia, el sistema 300 ejemplar de la Figura 3 puede aun proporcionar las mismas ventajas, con respecto a la transmision de unicamente una unica copia de los datos a traves del segmento 141 costoso, como el sistema 200 ejemplar de la Figura 2, que se ha descrito en detalle anteriormente. El enrutamiento 330, del sistema 300 ejemplar de la Figura 3, puede proporcionar la copia de los datos 380 desde el dispositivo 111 informatico de origen al dispositivo 351 informatico intermedio reclutado. Posteriormente, en el dispositivo 351 informatico intermedio reclutado, la copia de los datos 380 puede bifurcarse en multiples copias de datos 381, 382 y 383, que pueden a continuacion transmitirse, mediante el dispositivo 351 informatico intermedio reclutado, a los dispositivos informaticos de destino previstos, en concreto los dispositivos 112, 113 y 114 informaticos, respectivamente.
Mas espedficamente, y con referencia al sistema 300 ejemplar de la Figura 3, el dispositivo 351 informatico intermedio reclutado puede transmitir una copia de los datos 381 al dispositivo 112 informatico de destino previsto mediante el enrutamiento 331. De manera similar, el dispositivo 351 informatico intermedio reclutado puede transmitir una copia de los datos 382 al dispositivo 113 informatico de destino previsto mediante el enrutamiento 332 y puede transmitir una copia de los datos 383 al dispositivo 114 informatico de destino previsto mediante el enrutamiento 333. Como puede observarse a partir de una comparacion del sistema 200 ejemplar, que se muestra en la Figura 2, y el sistema 300 ejemplar de la Figura 3, una ventaja adicional del sistema 300 ejemplar de la Figura 3, que utiliza el dispositivo 351 informatico intermedio reclutado, puede ser que la trayectoria, tomada por los datos proporcionados mediante el dispositivo 111 informatico de origen, al dispositivo 113 informatico de destino previsto, en concreto una trayectoria a lo largo de los segmentos 141, 143 y 147, puede ser mas corta que la trayectoria analoga del sistema 200 ejemplar de la Figura 2.
En una realizacion, puesto que el dispositivo 351 informatico intermedio es un dispositivo informatico intermedio reclutado que no se prevefa que mantuviera una copia de los datos, una copia de los datos 380 que recibe puede descartarse, como se ilustra mediante la accion 390 de descarte, una vez que las copias de los datos 381, 382 y 383 bifurcadas se transmiten apropiadamente mediante el dispositivo 351 informatico intermedio reclutado.
Volviendo a la Figura 4, el diagrama 400 de flujo ejemplar mostrado en la misma ilustra una serie ejemplar de etapas mediante las cuales pueden implementarse las metodologfas de almacenamiento y reenvfo anteriormente descritas. En particular, en la etapa 410, puede recibirse una indicacion de que un dispositivo informatico de origen busca distribuir datos a dos o mas dispositivos informaticos de destino previstos. Posteriormente, en la etapa 415, pueden identificarse trayectorias de red y enrutamientos potenciales entre un dispositivo informatico de este tipo y su dispositivo informatico de destino previsto. En la etapa 420, pueden identificarse los segmentos costosos a lo largo de estas trayectorias potenciales. Como se ha indicado previamente, la identificacion de segmentos costosos puede realizarse de un numero de maneras y puede basarse en la recopilacion de una amplia diversidad de informacion. Por ejemplo, en una realizacion, la informacion de congestion puede utilizarse para determinar segmentos costosos. Tal informacion de congestion puede obtenerse de manera proactiva, tal como a traves de un protocolo de inspeccion, o de manera reactiva tal como mediante la transmision de paquetes de exploracion. Posteriormente, y como una determinacion inicial, puede realizarse una determinacion, en la etapa 425, en cuanto a si los segmentos costosos identificados pueden simplemente evitarse con un enrutamiento diferente, de entre las trayectorias potenciales identificadas en la etapa 420. Si, en la etapa 425, se determina que los segmentos costosos pueden evitarse con un enrutamiento alternativo, entonces un enrutamiento alternativo de este tipo puede generare en la etapa 450.
5
10
15
20
25
30
35
40
45
50
55
60
Si, sin embargo, en la etapa 425, se determina que los segmentos costosos no pueden evitarse totalmente, entonces puede realizarse una determinacion posterior, en la etapa 430, en cuanto a si la transmision de datos a traves de tales segmentos costosos puede minimizarse transmitiendo unicamente una unica copia de los datos, a traves de tales segmentos, a un dispositivo informatico en el otro lado de tales segmentos, desde el dispositivo informatico de origen. Como se ha indicado previamente, un aspecto de la determinacion, en la etapa 430, puede incluir, no unicamente si una minimizacion de este tipo de la transmision de datos a traves de un segmento costoso es posible, sino tambien si una minimizacion de este tipo dana como resultado realmente una distribucion de datos que fuera mas eficaz.
Si, en la etapa 430, se determina que la cantidad de datos transmitidos a traves de uno o mas segmentos costosos puede minimizarse a traves del uso de metodologfas de almacenamiento y reenvfo, y que tales metodologfas daran como resultado una distribucion de datos mas eficaz, entonces el procesamiento puede continuar con la etapa 445, donde puede generarse un enrutamiento de almacenamiento y reenvfo de manera que unicamente se envfa una copia de los datos a un dispositivo informatico intermedio, que sin embargo era un dispositivo informatico de destino previsto, de entre los dispositivos informaticos de destino indicados en la etapa 410, y a continuacion los datos se bifurcan en el dispositivo informatico de destino intermedio en multiples copias adicionales de los datos, que pueden enrutarse a continuacion desde ese dispositivo informatico de destino intermedio a los otros dispositivos informaticos de destino previstos.
En una realizacion, la decision, en la etapa 430, puede realizarse basandose en los dispositivos informaticos de destino previstos identificados en la etapa 410. En consecuencia, puede realizarse una decision posterior, en la etapa 435, para determinar si una decision alternativa se hubiera alcanzado, en la etapa 430, si cualquier dispositivo informatico disponible pudiera reclutarse para actuar como un dispositivo informatico intermedio. Si la decision, en la etapa 435, sigue siendo que no hay enrutamiento de almacenamiento y reenvfo, incluso utilizando un dispositivo informatico intermedio reclutado, que pueda minimizar la transmision de datos a traves de los segmentos costosos de manera que se consiga una distribucion de datos mas eficaz global, que pudiera utilizar las metodologfas de enrutamiento tradicional y el procesamiento pertinente, dirigido a enrutamientos optimizados, puede finalizar en la etapa 465.
A la inversa, si, en la etapa 435, se identifica uno o mas dispositivos informaticos que pueden reclutarse potencialmente, que pudieran posibilitar la utilizacion de metodologfas de almacenamiento y reenvfo para minimizar la cantidad de datos transmitidos a traves de un segmento costoso, el procesamiento puede continuar con la etapa 440, donde al menos uno de tales dispositivos informaticos que puede reclutarse se recluta y utiliza como un destino intermedio para recibir y almacenar una copia de los datos, bifurcar los datos en multiples copias, y transmitir tales multiples copias a los multiples destinos previstos. La ejecucion puede continuar a continuacion con la etapa 445, como se ha descrito en detalle anteriormente.
Posteriormente a la ejecucion de cualquiera de las etapas 445 o 450, el procesamiento puede continuar con la etapa 455, punto en el cual una porcion del enrutamiento generado despues de cualquiera de las etapas 445 o 450 puede proporcionarse a una localizacion actual de datos. Mas espedficamente, el enrutamiento proporcionado, en la etapa 455, puede posibilitar que el dispositivo informatico, que almacena actualmente una copia de los datos, transmita una o mas copias de los datos posteriores a otros dispositivos informaticos. En la etapa 460, puede realizarse una determinacion en cuanto a si estos otros dispositivos informaticos, a los que se transmitieron las copias de los datos, son los dispositivos informaticos de destino previstos, o son aun dispositivos informaticos intermedios adicionales. Si se da el ultimo caso, entonces el procesamiento puede volver a la etapa 415 y continuar de acuerdo con las descripciones anteriores. Si se da el primer caso, entonces el procesamiento pertinente puede finalizar en la etapa 465.
Volviendo a la Figura 5, se ilustra un dispositivo informatico ejemplar, representativo de aquellos cuyas operaciones se describieron en detalle anteriormente. El dispositivo 500 informatico ejemplar puede incluir, pero sin limitacion, una o mas unidades de procesamiento central (CPU) 520, una memoria 530 de sistema y un bus 521 de sistema que acopla diversos componentes de sistema incluyendo la memoria de sistema a la unidad 520 de procesamiento. El bus 521 de sistema puede ser cualquiera de varios tipos de estructuras de bus incluyendo un bus de memoria o controlador de memoria, un bus de perifericos y un bus local que usa cualquiera de una diversidad de arquitecturas de bus. Dependiendo de la implementacion ffsica espedfica, una o mas de las CPU 520, la memoria 530 de sistema y otros componentes del dispositivo 500 informatico pueden estar ffsicamente co-localizados, tal como en un unico chip. En un caso de este tipo, algunos o todos de los buses 521 de sistema pueden ser nada mas que las trayectorias de comunicacion en una unica estructura de chip y su ilustracion en la Figura 5 puede ser nada mas que conveniencia de notacion para el fin de ilustracion.
El dispositivo 500 informatico incluye tambien tfpicamente medio legible por ordenador, que puede incluir cualquier medio disponible que pueda accederse mediante el dispositivo 500 informatico. A modo de ejemplo, y no como limitacion, medio legible por ordenador puede comprender medio de almacenamiento informatico y medio de comunicacion. Medio de almacenamiento informatico incluye medio implementado en cualquier procedimiento o tecnologfa para almacenamiento de informacion tal como instrucciones legibles por ordenador, estructuras de datos, modulos de programa u otros datos. Medio de almacenamiento informatico incluye, pero sin limitacion, RAM, ROM, EEPROM, memoria flash u otra tecnologfa de memoria, CD-ROM, discos versatiles digitales (DVD) u otro
5
10
15
20
25
30
35
40
45
almacenamiento de disco optico, cintas magneticas, cinta magnetica, almacenamiento de disco magnetico u otros dispositivos de almacenamiento magnetico, o cualquier otro medio que pueda usarse para almacenar la informacion deseada y que pueda accederse mediante el dispositivo 500 informatico. Medio de almacenamiento informatico, sin embargo, no incluye medio de comunicacion. El medio de comunicacion tfpicamente incorpora 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 transporte e incluye cualquier medio de entrega de informacion. A modo de ejemplo, y no como limitacion, medio de comunicacion incluye medio cableado tal como una red cableada o conexion de cableado directo y medio inalambrico tal como medio acustico, RF, infrarrojos y otros. Las combinaciones de cualquiera de los anteriores debenan incluirse tambien dentro del alcance de medio legible por ordenador.
La memoria 530 de sistema incluye medio de almacenamiento informatico en forma de memoria volatil y/o no volatil tal como memoria de solo lectura (ROM) 531 y memoria de acceso aleatorio (RAM) 532. Un sistema 533 basico de entrada/salida (BIOS), que contiene las rutinas basicas que ayudan a transferir informacion entre elementos en el dispositivo 500 informatico, tal como durante el arranque, se almacena tfpicamente en la ROM 531. La RAM 532 tfpicamente contiene datos y/o modulos de programa que son inmediatamente accesibles a y/o que se operan actualmente mediante la unidad 520 de procesamiento. A modo de ejemplo, y no como limitacion, la Figura 5 ilustra el sistema 534 operativo, otros modulos 535 de programa y datos 536 de programa.
Cuando se usan medios de comunicacion, el dispositivo 500 informatico puede operar en un entorno en red mediante conexiones logicas a uno o mas ordenadores remotos. La conexion logica representada en la Figura 5 es una conexion 571 de red general a una red 590, que puede ser una red de area local (LAN), una red de area extensa (WAN) tal como Internet, u otras redes. El dispositivo 500 informatico esta conectado a la conexion 571 de red general a traves de una interfaz de red o adaptador 570 es decir, a su vez, conectado al bus 521 de sistema. En un entorno en red, los modulos de programa representados con relacion al dispositivo 500 informatico, o porciones o perifericos del mismo, pueden almacenarse en la memoria de uno o mas otros dispositivos informaticos que estan acoplados de manera comunicativa al dispositivo 500 informatico a traves de la conexion 571 de red general. Se apreciara que las conexiones de red mostradas son ejemplares y que pueden usarse otros medios para establecer un enlace de comunicaciones entre dispositivos informaticos.
El dispositivo 500 informatico puede incluir tambien otro medio de almacenamiento informatico extrafble/no extrafble, volatil/no volatil. A modo de ejemplo unicamente, la Figura 5 ilustra una unidad 541 de disco duro que lee desde o escribe al medio no extrafble no volatil. Otro medio de almacenamiento informatico extrafble/no extrafble, volatil/no volatil que puede usarse con el dispositivo informatico ejemplar incluye, pero sin limitacion, casetes de cinta magnetica, tarjetas de memoria flash, discos versatiles digitales, cinta de video digital, RAM de estado solido, ROM de estado solido, y similares. La unidad 541 de disco duro esta conectada tfpicamente al bus 521 de sistema a traves de una interfaz de memoria no extrafble tal como la interfaz 540.
Las unidades y sus medios de almacenamiento informatico asociados analizados anteriormente e ilustrados en la Figura 5, proporcionan almacenamiento de instrucciones legibles por ordenador, estructuras de datos, modulos de programa y otros datos para el dispositivo 500 informatico. En la Figura 5, por ejemplo, la unidad 541 de disco duro se ilustra como el sistema 544 operativo de almacenamiento, otros modulos 545 de programa, y datos 546 de programa. Observese que estos componentes pueden ser cualquiera del mismo o diferentes del sistema 534 operativo, otros modulos 535 de programa y datos 536 de programa. Se proporciona al sistema 544 operativo, otros modulos 545 de programa y datos 546 de programa diferentes numeros en este punto para ilustrar que, como mmimo, son diferentes copias.
Como puede observarse a partir de las descripciones anteriores, se han presentado los mecanismos para modificar el enrutamiento de multiples copias de datos distribuidos. Que, en vista de las muchas variaciones posibles de la materia objeto descrita en el presente documento, reivindicamos como nuestra invencion todas tales realizaciones como que pueden entrar dentro del alcance de las siguientes reivindicaciones y equivalentes a las mismas.

Claims (10)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    REIVINDICACIONES
    1. Un procedimiento de distribucion de datos a multiples dispositivos informaticos, comprendiendo el procedimiento la etapa de:
    identificar un dispositivo informatico de origen que comprende los datos y al menos dos dispositivos informaticos de destino previstos a los que se distribuiran copias de los datos;
    caracterizado por las etapas de identificar al menos un segmento de red costoso que es parte tanto de una primera trayectoria de red entre el dispositivo informatico de origen y uno primero de los al menos dos dispositivos informaticos de destino previstos y una segunda trayectoria de red entre el dispositivo informatico de origen y uno segundo de los al menos dos dispositivos informaticos de destino previstos, de manera que tanto una primera copia de los datos, dirigida al primer dispositivo informatico de destino previsto, como una segunda copia de los datos, dirigida al segundo dispositivo informatico de destino previsto, se transmitinan, por separado, a lo largo del segmento de red costoso identificado;
    identificar un dispositivo informatico intermedio de manera que los datos transmitidos desde el dispositivo informatico de origen al dispositivo informatico intermedio se transmitinan a lo largo del segmento de red costoso identificado, pero los datos transmitidos desde el dispositivo informatico intermedio a unos multiples de los al menos dos dispositivos informaticos de destino previstos evitanan la transmision a lo largo del segmento de red identificado; y
    generar un enrutamiento de almacenamiento y reenvfo que comprende: transmision de una copia de los datos desde el dispositivo informatico de origen, a traves del segmento de red costoso identificado, al dispositivo informatico intermedio identificado; almacenamiento de la copia transmitida de los datos en el dispositivo informatico intermedio; bifurcacion, en el dispositivo informatico intermedio, de la copia de los datos en multiples copias de los datos; y transmision de cada una de las multiples copias bifurcadas de los datos desde el dispositivo informatico intermedio a unos multiples de los al menos dos dispositivos informaticos de destino previstos.
  2. 2. El procedimiento de la reivindicacion 1, en el que el dispositivo informatico intermedio identificado es uno de los al menos dos dispositivos informaticos de destino previstos.
  3. 3. El procedimiento de la reivindicacion 1, en el que el dispositivo informatico intermedio identificado no es uno de los al menos dos dispositivos informaticos de destino previstos, comprendiendo el procedimiento adicionalmente reclutar el dispositivo informatico intermedio identificado para: almacenar temporalmente la copia transmitida de los datos; bifurcar la copia transmitida de los datos en las multiples copias de los datos; y transmitir cada una de las multiples copias bifurcadas de los datos a unos multiples de los al menos dos dispositivos informaticos de destino previstos.
  4. 4. El procedimiento de la reivindicacion 1, en el que los paquetes de la copia de los datos transmitidos al dispositivo informatico intermedio identificado se ordenan en el dispositivo informatico intermedio para minimizar la entrega en orden incorrecto.
  5. 5. El procedimiento de la reivindicacion 1, en el que la generacion comprende: especificar la utilizacion de un primer protocolo para la transmision de la copia de los datos desde el dispositivo informatico de origen, a traves del segmento de red costoso identificado, al dispositivo informatico intermedio identificado; y especificar la utilizacion de un segundo protocolo, que se diferencia del primer protocolo, para la transmision de cada una de las multiples copias bifurcadas de los datos desde el dispositivo informatico intermedio a unos multiples de los al menos dos dispositivos informaticos de destino previstos.
  6. 6. Un medio legible por ordenador que tiene almacenado un programa informatico que, cuando se ejecuta mediante un procesador de un ordenador, realiza todas las etapas del procedimiento de la reivindicacion 1.
  7. 7. Un sistema para distribuir datos a multiples dispositivos informaticos, comprendiendo el sistema:
    un dispositivo informatico de origen que comprende los datos;
    al menos dos dispositivos informaticos de destino previstos a los que se distribuiran copias de los datos; estando el sistema caracterizado por comprender adicionalmente un segmento de red costoso que es parte tanto de una primera trayectoria de red entre el dispositivo informatico de origen y uno primero de los al menos dos dispositivos informaticos de destino previstos y una segunda trayectoria de red entre el dispositivo informatico de origen y uno segundo de los al menos dos dispositivos informaticos de destino previstos, de manera que tanto una primera copia de los datos, dirigida al primer dispositivo informatico de destino previsto, como una segunda copia de los datos, dirigida al segundo dispositivo informatico de destino previsto, se transmitinan, por separado, a lo largo del segmento de red costoso identificado; y
    uno o mas medios legibles por ordenador que comprenden instrucciones ejecutables por ordenador que realizan etapas que comprenden:
    identificar un dispositivo informatico intermedio de manera que los datos transmitidos desde el dispositivo informatico de origen al dispositivo informatico intermedio se transmitinan a lo largo del segmento de red costoso identificado, pero los datos transmitidos desde el dispositivo informatico intermedio a unos multiples de los al menos dos dispositivos informaticos de destino previstos evitanan la transmision a lo largo del
    segmento de red identificado; y
    generar un enrutamiento de almacenamiento y reenvfo que comprende: transmision de una copia de los datos desde el dispositivo informatico de origen, a traves del segmento de red costoso identificado, al dispositivo informatico intermedio identificado; almacenamiento de la copia transmitida de los datos en el 5 dispositivo informatico intermedio; bifurcacion, en el dispositivo informatico intermedio, de la copia de los
    datos en multiples copias de los datos; y transmision de cada una de las multiples copias bifurcadas de los datos desde el dispositivo informatico intermedio a unos multiples de los al menos dos dispositivos informaticos de destino previstos.
  8. 8. El sistema de la reivindicacion 7, que comprende adicionalmente un dispositivo informatico de controlador,
    10 independiente del dispositivo informatico de origen, los al menos dos dispositivos informaticos de destino y el
    dispositivo informatico intermedio identificado, comprendiendo el dispositivo de controlador el uno o mas medios legibles por ordenador.
  9. 9. El sistema de la reivindicacion 7, que comprende adicionalmente el dispositivo informatico intermedio identificado, en el que el uno o mas medios legibles por ordenador comprenden instrucciones ejecutables por ordenador
    15 adicionales para reclutar el dispositivo informatico intermedio para: almacenar temporalmente la copia transmitida de los datos; bifurcar la copia transmitida de los datos en las multiples copias de los datos; y transmitir cada una de las multiples copias bifurcadas de los datos a unos multiples de los al menos dos dispositivos informaticos de destino previstos.
  10. 10. El sistema de la reivindicacion 7, en el que el dispositivo informatico intermedio comprende instrucciones
    20 ejecutables por ordenador para ordenar paquetes de la copia de los datos transmitidos al dispositivo informatico
    intermedio identificado para minimizar la entrega en orden incorrecto.
ES14719936.8T 2013-03-15 2014-03-13 Modificaciones de enrutamiento de red para distribución de datos Active ES2619119T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201313831733 2013-03-15
US13/831,733 US9363303B2 (en) 2013-03-15 2013-03-15 Network routing modifications for distribution of data
PCT/US2014/025146 WO2014151169A1 (en) 2013-03-15 2014-03-13 Network routing modifications for distribution of data

Publications (1)

Publication Number Publication Date
ES2619119T3 true ES2619119T3 (es) 2017-06-23

Family

ID=50588843

Family Applications (1)

Application Number Title Priority Date Filing Date
ES14719936.8T Active ES2619119T3 (es) 2013-03-15 2014-03-13 Modificaciones de enrutamiento de red para distribución de datos

Country Status (6)

Country Link
US (2) US9363303B2 (es)
EP (1) EP2974175B1 (es)
CN (1) CN105210335B (es)
ES (1) ES2619119T3 (es)
TW (1) TW201448546A (es)
WO (1) WO2014151169A1 (es)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150363423A1 (en) * 2014-06-11 2015-12-17 Telefonaktiebolaget L M Ericsson (Publ) Method and system for parallel data replication in a distributed file system
US10742448B2 (en) * 2016-07-14 2020-08-11 Cox Communications, Inc. Method for smart data routing through interconnected networks
US9762734B1 (en) * 2017-01-20 2017-09-12 TEN DIGIT Communications LLC Intermediary device for data message network routing
US11489767B1 (en) * 2020-08-18 2022-11-01 Juniper Networks, Inc. Interspersing network traffic across members of a container label-switched path
CN113029175B (zh) * 2021-03-11 2021-09-10 东莞职业技术学院 考虑双程的多途经点的快速路径规划方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4933933A (en) * 1986-12-19 1990-06-12 The California Institute Of Technology Torus routing chip
US7117273B1 (en) 2000-01-25 2006-10-03 Cisco Technology, Inc. Methods and apparatus for maintaining a map of node relationships for a network
US6718361B1 (en) * 2000-04-07 2004-04-06 Network Appliance Inc. Method and apparatus for reliable and scalable distribution of data files in distributed networks
US6751219B1 (en) 2000-04-20 2004-06-15 Aztech Partners, Inc. Multicast packet duplication at random node or at egress port with frame synchronization
US20030153338A1 (en) 2001-07-24 2003-08-14 Herz Frederick S. M. Autoband
US7355975B2 (en) 2004-04-30 2008-04-08 International Business Machines Corporation Method and apparatus for group communication with end-to-end reliability
US7616575B2 (en) 2004-06-23 2009-11-10 Microsoft Corporation System and method for link quality routing using a weighted cumulative expected transmission time metric
US7593333B2 (en) 2004-07-07 2009-09-22 Microsoft Corporation Efficient one-to-many content distribution in a peer-to-peer computer network
KR101224591B1 (ko) * 2006-02-23 2013-01-22 삼성전자주식회사 네트워크 중계 장치 및 그 방법
US8914460B2 (en) * 2007-03-26 2014-12-16 Sound View Innovations, Llc System and method for efficient delivery of data content
US8407364B2 (en) * 2007-10-25 2013-03-26 Cisco Technology, Inc. Apparatus and method for providing a congestion measurement in a network
CN101729589B (zh) * 2008-10-14 2012-07-18 北京大学 一种提高端到端数据传输速率的方法及系统
CN101741884B (zh) * 2008-11-25 2012-07-04 华为技术有限公司 一种分布式存储方法和装置
US8300551B2 (en) 2009-01-28 2012-10-30 Google Inc. Ascertaining presence in wireless networks
WO2011043754A1 (en) * 2009-10-06 2011-04-14 Thomson Licensing A method and apparatus for hop-by-hop reliable multicast in wireless networks
CN102640472B (zh) * 2009-12-14 2016-09-14 瑞典爱立信有限公司 动态缓存选择方法和系统
US8964625B2 (en) * 2009-12-31 2015-02-24 Verizon Patent And Licensing Inc. Dynamic wireless network apparatuses, systems, and methods
US8310957B1 (en) * 2010-03-09 2012-11-13 Juniper Networks, Inc. Minimum-cost spanning trees of unicast tunnels for multicast distribution
US9647949B2 (en) * 2012-06-22 2017-05-09 University Of New Hampshire Systems and methods for network transmission of big data
US8977756B2 (en) 2013-01-10 2015-03-10 Microsoft Technology Licensing, Llc SWAN: achieving high utilization in networks
US8964953B2 (en) 2013-01-10 2015-02-24 Microsoft Corporation Incremental valuation based network capacity allocation

Also Published As

Publication number Publication date
US9363303B2 (en) 2016-06-07
CN105210335B (zh) 2018-09-28
WO2014151169A1 (en) 2014-09-25
EP2974175A1 (en) 2016-01-20
TW201448546A (zh) 2014-12-16
US9647932B2 (en) 2017-05-09
EP2974175B1 (en) 2016-12-21
CN105210335A (zh) 2015-12-30
US20140280708A1 (en) 2014-09-18
US20160294679A1 (en) 2016-10-06

Similar Documents

Publication Publication Date Title
ES2619119T3 (es) Modificaciones de enrutamiento de red para distribución de datos
ES2939659T3 (es) Lógica de enrutamiento sling y equilibrio de carga
KR101579917B1 (ko) Pcie 스위칭 네트워크에서 패킷 전송을 실행하기 위한 방법, 장치, 시스템, 및 저장 매체
US20190327175A1 (en) Methods, apparatuses and computer program products for transmitting data
KR102065958B1 (ko) 파일 전송 방법 및 이를 수행하는 시스템
US10877838B1 (en) Data plane error detection for ternary content-addressable memory (TCAM) of a forwarding element
AU2015256589B2 (en) Fine-grained network monitoring
US20180270104A1 (en) Method and Apparatus for Router Maintenance
US9894004B2 (en) Switch device, information processing system, and method for controlling switch device
US9647925B2 (en) System and method for data path validation and verification
US10826823B2 (en) Centralized label-based software defined network
CN102891803B (zh) 拥塞处理方法及网络设备
US20170109298A1 (en) Storage system that includes a plurality of routing circuits and a plurality of node modules connected thereto
KR20150131327A (ko) 애플리케이션-제공 전송 메타데이터에 기초한 네트워크 전송 조절
US10367722B2 (en) Optimizing performance of computer networks
US6741561B1 (en) Routing mechanism using intention packets in a hierarchy or networks
KR102218812B1 (ko) 파일 송수신률에 따른 파일 전송 상태 모니터링 방법 및 시스템
US20210036958A1 (en) Device, and communication method
US6925056B1 (en) System and method for implementing a routing scheme using intention packets in a computer network
CN113297117A (zh) 数据传输方法、设备、网络系统及存储介质
US10764657B2 (en) Routing of data in network
CN109218199A (zh) 一种报文处理方法和装置
CN110417562B (zh) 安装规则的方法、控制器和装置
CN103534990B (zh) 数据转发方法及装置
US9455904B2 (en) Message path selection within a network