ES2527224T3 - Método y aparato para seleccionar entre múltiples trayectos de igual coste - Google Patents

Método y aparato para seleccionar entre múltiples trayectos de igual coste Download PDF

Info

Publication number
ES2527224T3
ES2527224T3 ES10814836.2T ES10814836T ES2527224T3 ES 2527224 T3 ES2527224 T3 ES 2527224T3 ES 10814836 T ES10814836 T ES 10814836T ES 2527224 T3 ES2527224 T3 ES 2527224T3
Authority
ES
Spain
Prior art keywords
node
ids
link
path
paths
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
ES10814836.2T
Other languages
English (en)
Inventor
David Allan
Nigel Bragg
Jerome Chiabaut
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.)
Rockstar Bidco LP
Original Assignee
Rockstar Bidco LP
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 Rockstar Bidco LP filed Critical Rockstar Bidco LP
Application granted granted Critical
Publication of ES2527224T3 publication Critical patent/ES2527224T3/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
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • 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
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/66Layer 2 routing, e.g. in Ethernet based MAN's

Landscapes

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

Abstract

Un aparato para seleccionar entre múltiples trayectos de igual coste en una red de comunicación (10), el aparato que incluye uno o más procesadores y una o más memorias, la una o más memorias que contienen datos e instrucciones que, cuando se cargan en el uno o más procesadores configuran el aparato para realizar un método de selección entre los múltiples trayectos de igual coste, el método que incluye los pasos de: determinar un conjunto de trayectos de igual coste entre un par de nodos (11-18) en una red de comunicación, cada trayecto que incluye una pluralidad de enlaces; caracterizado por que el método además incluye los pasos de: construir unos primeros ID de enlace para cada enlace en cada uno de los trayectos de igual coste, cada uno de los primeros ID de enlace que se crea concatenando los ID de nodo ordenados de nodos que conectan con el enlace en la red; construir unos primeros ID de trayecto para cada uno de los trayectos de igual coste, cada uno de los primeros ID de trayecto que se crea concatenando los primeros ID de enlace de la pluralidad de enlaces que forman ese trayecto a través de la red de comunicación; clasificar los primeros ID de trayecto para seleccionar un primer conjunto de trayectos diversos a través de la red de comunicación; construir unos segundos ID de enlace para cada enlace en los trayectos de igual coste, cada uno de los segundos ID de enlace que se crea concatenando un ID de nodo de uno de los nodos que conecta con el enlace en la red con un ID de nodo invertido del otro de los nodos que conecta con ese enlace en la red, los ID de nodo que se concatenan para formar los segundos ID de enlace en el mismo orden que se determinó cuando se construyeron los primeros ID de enlace; construir unos segundos ID de trayecto para cada uno de los trayectos de igual coste, cada uno de los segundos ID de trayecto que se crea concatenando los segundos ID de enlace de la pluralidad de enlaces que forman ese trayecto a través de la red de comunicación; y clasificar los segundos ID de trayecto para seleccionar un segundo conjunto de trayectos diversos a través de la red de comunicación.

Description

5
10
15
20
25
30
35
40
45
50
55
E10814836
30-12-2014
DESCRIPCIÓN
Método y aparato para seleccionar entre múltiples trayectos de igual coste
Campo técnico
La presente invención se refiere a redes de comunicación y, más particularmente, a un método y aparato para seleccionar entre múltiples trayectos de igual coste.
Antecedentes
Las redes de comunicación de datos pueden incluir diversos ordenadores, servidores, nodos, encaminadores, conmutadores, puentes, concentradores, intermediarios y otros dispositivos de red acoplados juntos y configurados para pasar datos unos a otros. Estos dispositivos se conocerán en la presente memoria como “elementos de red”. Los datos se comunican a través de la red de comunicación de datos pasando unidades de datos de protocolo, tales como tramas de datos, paquetes, celdas o segmentos, entre los elementos de red utilizando uno o más enlaces de comunicación. Una unidad de datos de protocolo particular se puede manejar por múltiples elementos de red y puede cruzar múltiples enlaces de comunicación según viaja entre su origen y su destino sobre la red.
Los diversos elementos de red en la red de comunicación comunican unos con otros usando conjuntos de reglas predefinidas, conocidas en la presente memoria como protocolos. Se usan diferentes protocolos para gobernar diferentes aspectos de la comunicación, tales como cómo se deberían formar las señales para transmisión entre elementos de red, diversos aspectos de qué unidades de datos de protocolo deberían ser similares, cómo se deberían manejar o encaminar los paquetes a través de la red por los elementos de red y cómo se debería intercambiar información asociada con información de encaminamiento entre los elementos de red. Redes que usan diferentes protocolos operan de manera diferente y se consideran que son diferentes tipos de redes de comunicación. Una red de comunicación dada puede usar múltiples protocolos en diferentes capas de red para permitir a los elementos de red comunicar unos con otros a través de la red.
En redes de comunicación de reenvío de paquetes, un nodo puede aprender acerca de la topología de la red y puede decidir, sobre la base del conocimiento que adquiere de la topología, cómo encaminará el tráfico a cada uno de los otros nodos de red. Frecuentemente, la base principal para seleccionar un trayecto es el coste del trayecto, que se puede especificar en términos de un número de saltos entre nodos o por alguna otra métrica tal como el ancho de banda de enlaces que conectan nodos o ambos. El Trayecto Más Corto Abierto Primero (OSPF) y Sistema Intermedio a Sistema Intermedio (IS-IS) son protocolos de estado de enlace ampliamente usados que establecen los trayectos más cortos en base a cada anuncio del nodo del coste de trayecto.
Se pueden usar diversos algoritmos de trayecto más corto para determinar si un nodo dado está en el trayecto más corto entre un par de puentes dados. Un algoritmo de trayecto más corto de todos los pares tal como el algoritmo de Floyd o el algoritmo de trayecto más corto de origen único de Dijkstra se puede implementar por los nodos para calcular el trayecto más corto entre pares de nodos. Se debería entender que también se podría utilizar cualquier otro algoritmo de trayecto más corto adecuado. La métrica de enlace usada por el algoritmo de trayecto más corto puede ser modificada estática o dinámicamente para tener en cuenta la información de ingeniería de tráfico. Por ejemplo, la métrica de enlace puede incluir una medida del coste tal como la capacidad, velocidad, uso y disponibilidad.
Hay situaciones donde existen múltiples trayectos de igual coste a través de una red entre un par de nodos dados. ISIS y OSPF usan un proceso de desempate unidireccional simplista para seleccionar entre estos múltiples trayectos de igual coste o solo extender tráfico a través de los trayectos de igual coste. Los algoritmos de extensión no están especificados y pueden variar de encaminador a encaminador. Alternativamente, cada encaminador puede hacer una selección local de un único trayecto, pero sin consideración de la coherencia con la selección hecha por otros encaminadores. Consecuentemente, en cualquiera de los casos, la dirección inversa de un flujo no está garantizada usando el trayecto usado por la dirección directa. Esto es suficiente para reenvío unidifusión donde cada dispositivo tendrá una tabla de reenvío completa para todos los destinos y acepta promiscuamente paquetes a todos los destinos en todas las interfaces. No obstante, esto no funciona bien en otras situaciones tales como encaminamiento multidifusión, cuando se deben tomar decisiones coherentes y cuando se requiere simetría bidireccional para permitir a los trayectos de reenvío reales en una red estable presentar propiedades orientadas a conexión.
Los protocolos de encaminamiento multidifusión tales como Trayecto Más Corto Abierto Mutidifusión Primero (MOSPF) dependen de cada encaminador en una red que construye el mismo árbol de trayecto más corto. Por esta razón, MOSPF implementa un esquema de desempate basado en el tipo de enlace, LAN frente a punto a punto e identificador del encaminador, para asegurar que se producen árboles idénticos. No obstante, basar la decisión de desempate en el padre con el identificador más grande implica que los trayectos usados por los flujos inversos no pueden ser los mismos que los trayectos usados por los flujos directos.
Hay un requisito en algunos protocolos emergentes, tales como Puenteo de Estado de Enlace de Proveedor (PLSB) que está siendo definido por el Instituto de Ingenieros Eléctricos y Electrónicos (IEEE) como el estándar propuesto 802.1aq, para conservar la congruencia bidireccional de reenvío a través de la red tanto para tráfico unidifusión
10
15
20
25
30
35
40
E10814836
30-12-2014
como multidifusión, de manera que el tráfico usará un trayecto común tanto en las direcciones de flujo directo como inverso. Por consiguiente, es importante que los nodos lleguen coherentemente a la misma decisión cuando hay un desempate entre trayectos de igual coste y que el proceso de desempate sea independiente de cuyo nodo es la raíz para un cálculo dado. Además, es deseable que un nodo pueda realizar el desempate con una cantidad mínima de esfuerzo de procesamiento.
Generalmente, cualquier algoritmo de desempate debería ser completo, lo cual significa que debe ser capaz siempre de elegir entre dos trayectos. Adicionalmente, el algoritmo de desempate debería ser asociativo conmutativo, simétrico y local. Estas propiedades se exponen más adelante en la Tabla I:
TABLA I
Requisito
Descripción
Completo
El algoritmo de desempate siempre debe ser capaz de elegir entre dos trayectos
Conmutativo
desempate(a, b) = desempate (b,a)
Asociativo
desempate(a, desempate (b, c)) = desempate (desempate (a, b), c)
Simétrico
desempate(inverso (a), inverso (b)) = inverso(desempate(a, b))
Local
desempate(concat(a, c), concat(b, c)) = concat(desempate(a, b), c)
La esencia del algoritmo de desempate es que ‘funcione’ siempre. No importa con qué conjunto de trayectos se presente el algoritmo, el algoritmo debería ser capaz siempre de elegir uno y solamente un trayecto. Primero y ante todo, el algoritmo de desempate por lo tanto debería ser completo. Para un desempate coherente, el algoritmo debe producir los mismos resultados con independencia del orden en el que se descubren los trayectos de igual coste y se realiza el desempate. Es decir, el algoritmo de desempate debería ser conmutativo y asociativo. El requisito de que el desempate entre tres trayectos deba producir los mismos resultados con independencia del orden en que se consideran los pares de trayectos no es tan obvio y aún es absolutamente necesario para resultados coherentes según se descubren trayectos de igual coste en órdenes diferentes dependiendo de la dirección del cálculo a través de la red. El algoritmo de desempate también debe ser simétrico, es decir, el algoritmo de desempate debe producir el mismo resultado con independencia de la dirección del trayecto: el trayecto más corto entre dos nodos A y B debe ser el inverso del trayecto más corto entre B y A.
Finalmente, la localidad es una propiedad muy importante de los trayectos más cortos que se explota por los sistemas de encaminamiento. La propiedad de localidad simplemente dice que: un subtrayecto de un trayecto más corto también es un trayecto más corto. Esta propiedad aparentemente trivial de los trayectos más cortos tiene una importante aplicación en redes por paquetes que usan reenvío basado en destino. En estas redes, la decisión de reenvío en nodos intermedios a lo largo de un trayecto se basa únicamente en la dirección de destino del paquete, no su dirección de origen. Consecuentemente, a fin de generar su información de reenvío, un nodo solamente necesita calcular el trayecto más corto desde sí mismo a todos los otros nodos y la cantidad de información de reenvío producida crece linealmente, no cuadráticamente, con el número de nodos en la red. A fin de permitir reenvío basado en destino, el algoritmo de desempate debe conservar por lo tanto la propiedad de localidad de los trayectos más cortos: un subtrayecto del trayecto más corto seleccionado por el algoritmo de desempate debe ser el trayecto más corto seleccionado por el algoritmo de desempate.
Las consideraciones de la eficiencia de cálculo ponen otro requisito aparentemente diferente en el algoritmo de desempate: el algoritmo debería ser capaz de tomar una decisión de desempate tan pronto como se descubren trayectos de igual coste. Por ejemplo, si un nodo intermedio I está conectado por dos trayectos de igual coste, p y q, al nodo A y por otro par de trayectos de igual coste, r y s, al nodo B, hay por lo tanto cuatro trayectos de igual coste entre los nodos A y B, todos que van a través del nodo I: p+r, p+s, q+r, q+s.
Los subtrayectos de igual coste entre A e I (p y q) se descubrirán primero cuando se calcula un trayecto entre los nodos A y B. Para evitar tener que llevar adelante el conocimiento de estos dos trayectos, el algoritmo de desempate debería ser capaz de elegir entre ellos tan pronto como se descubre la existencia del segundo subtrayecto más corto de igual coste. Las decisiones de desempate tomadas en nodos intermedios afectarán a la larga el resultado del cálculo. Eliminando uno de los dos subtrayectos, p y q, entre los nodos A e I, el algoritmo elimina dos de los cuatro trayectos más cortos entre los nodos A y B de consideración adicional. De manera similar, en la dirección inversa, el algoritmo de desempate elegirá entre los subtrayectos r y s (entre los nodos B e I) antes de tomar una determinación
10
15
20
25
30
35
40
45
50
55
60
E10814836
30-12-2014
final sobre el trayecto entre A e I. Estas decisiones locales deben ser coherentes una con otra y, en particular, la elección entre dos trayectos de igual coste debería mantenerse la misma si los trayectos se extienden a un nodo posterior en la red.
Resulta que las condiciones de simetría y localidad son ambas necesarias y suficientes para garantizar que el algoritmo de desempate tomará decisiones locales coherentes, un hecho que se puede explotar para producir implementaciones muy eficientes del algoritmo de trayecto más corto de origen único en presencia de múltiples trayectos más cortos de igual coste.
La lista de requisitos expuesta en la Tabla 1 no se pretende que sea exhaustiva y hay otras propiedades de los trayectos más cortos que podrían haber sido incluidas en la Tabla 1. Por ejemplo, si un enlace que no es parte de un trayecto más corto se elimina del gráfico, la selección del trayecto más corto no debería estar afectada. De igual modo, la selección del algoritmo de desempate entre múltiples trayectos de igual coste no debería estar afectada si un enlace que no es parte del trayecto seleccionado se elimina del gráfico que representa la red, incluso si este enlace es parte de alguno de los trayectos de igual coste que fueron rechazados por el algoritmo.
Muchas tecnologías de interconexión de redes son capaces de explotar una pluralidad de trayectos de manera que no se confinen a un único trayecto más corto entre cualesquiera dos puntos en la red. Esto puede ser en forma de redes sin conexión por lo cual la elección del siguiente salto en una pluralidad de trayectos puede ser arbitraria en cada salto y no tiene el requisito de simetría o puede ser estrictamente una conexión orientada donde la asignación a un trayecto extremo a extremo se confina en el punto de entrada a la red. Ethernet y en particular el estándar 802.1aq emergente que es un ejemplo donde hay un requisito tanto de simetría como de comportamiento orientado a conexión y el plano de datos puede soportar una pluralidad de trayectos entre cualesquiera dos puntos en la red. Ethernet logra esto siendo capaz de una partición de manera lógica de la base de datos de filtrado mediante VLAN de manera que puede existir un único trayecto por VLAN. El reto es explotar eficazmente la conectividad disponible ejecutando variaciones de conectividad en cada VLAN y maximizando la diversidad del conjunto de trayectos de manera que un número mínimo de variaciones de trayecto explota plenamente la red. La relación de variaciones de trayecto requeridas para explotar la red frente al número de trayectos únicos posibles que existen realmente se llama relación de dilación, la meta deseable que es minimizar esta relación ya que minimiza la cantidad de estado y cálculo asociado con explotar plenamente la red.
Se han intentado muchas técnicas para aumentar la diversidad de trayecto donde existen trayectos de igual coste entre un par de nodos mientras que se busca explícitamente mantener las propiedades perfiladas en la tabla 1 anterior. La Publicación de Solicitud de Patente de EE.UU. Nº 2009/0168768 proporciona una técnica y se han intentado también extensiones de esta. Por ejemplo, una manipulación algorítmica de los ID de nodo se ha encontrado que funciona, pero no aumenta la cantidad de diversidad de trayecto significativamente. Por ejemplo, una utilización de enlace para una disposición de nodos mallados completamente 8x4 que oscila desde el 63% al 67% usando manipulación de ID de nodo. Adicionalmente, donde hay menos de cuatro trayectos, intentar clasificar cuatro únicos trayectos sobre un conjunto de ID de nodo falla de manera que el segundo trayecto más alto termina siendo igual al más bajo o el segundo más bajo en lugar de explorar permutaciones de solapamiento. Además, tiene poco efecto el tamaño del identificador de nodo y si el espacio de ID de nodo es escaso o denso.
Otra técnica que se intentado es distribuir los trayectos sobre la base de maximizar la diversidad de carga. Esta técnica se ha encontrado que no funciona, debido a que no produce un gráfico plano acíclico, por lo cual se supone que requiere más de un trayecto a un nodo dado en un árbol de trayecto más corto único. Adicionalmente, esta técnica requiere el conocimiento avanzado de resultados de cálculo futuros según se atraviesa la red aún más desde el nodo de cálculo. En esencia, no hay nada para unir el hueco cuando se trabaja desde cualquiera de los extremos en el medio de la red.
Aún otra técnica que se intentado es seleccionar clasificaciones bien conocidas específicas (la más baja, la más alta, casi la más baja, casi la más alta...). Esto funciona para dos trayectos (alto/bajo) pero falla cuando se extiende a una selección de números de trayectos mayores. Esta técnica falla debido a que los nodos intermedios no pueden anticipar cómo el conjunto de trayectos clasificados genera una tarifa cuando se combinan con otros conjuntos clasificados de nodos en el siguiente salto y así se pierde la propiedad de localidad. Como consecuencia, los fragmentos del trayecto más corto clasificado por el padre serán discontinuos con el trayecto esperado por el hijo. Además, no hay garantía de que las clasificaciones de trayecto distintas de baja y alta en los nodos hijos produzcan un árbol acíclico. Adicionalmente, seleccionar el segundo más alto, el segundo más bajo, etc., produce dependencias, dado que un fallo del trayecto más alto o el trayecto más bajo afectará a todos los trayectos clasificados fuera de ese trayecto. Y finalmente, incluso postulando tal algoritmo que se podría hacer funcionar, perdería la propiedad de ser capaz de resolver partes del trayecto más corto según se identifican, todo estado que necesita ser llevado adelante según progresó el cálculo de Dijkstra, impactando significativamente el rendimiento del algoritmo. Como resultado, las clasificaciones bajas y altas son las únicas clasificaciones fiables que se pueden seleccionar de un conjunto de trayectos clasificados. De esta manera, simplemente una selección de clasificaciones adicionales no se puede usar para aumentar la diversidad de trayecto cuando se seleccionan más de dos trayectos.
La US 2009/0168768 describe que se logra una decisión de desempate coherente entre trayectos más cortos (el menor coste) de igual coste comparando un conjunto ordenado de identificadores de nodo para cada uno de una
10
15
20
25
30
35
40
45
50
55
E10814836
30-12-2014
pluralidad de trayectos extremo a extremo. Aunque el proceso descrito en esta solicitud funciona bien, aún sería ventajoso proporcionar otra forma de obtener una buena distribución de trayecto en presencia de múltiples trayectos, para permitir al tráfico ser extendido a través de los trayectos disponibles. Adicionalmente, la distribución debería ser preferiblemente un rasgo de operación normal y no requerir un diseño de red complicado y minimizar cualquier configuración explícita por un administrador de red.
Compendio
El siguiente Compendio y el Resumen expuesto al final de esta solicitud se proporcionan en la presente memoria para introducir algunos conceptos discutidos en la Descripción Detallada de más adelante. Las secciones de Compendio y Resumen no son exhaustivas y no se pretende que tracen el alcance de la materia objeto de protección la cual se expone por las reivindicaciones presentadas más adelante.
Un método y aparato para seleccionar entre múltiples trayectos de igual coste permite que múltiples (más de dos) trayectos sean seleccionados a partir de una pluralidad de trayectos de igual coste usando un algoritmo distribuido, con un grado significativo de diversidad de trayecto y mientras que se conservan propiedades clave importantes. Esto es, el algoritmo extendido logra simetría -el resultado será el mismo con independencia de la dirección de cálculo a través del gráfico. El algoritmo propuesto también proporciona congruencia aguas abajo, de manera que cualquier parte del trayecto más corto para una clasificación dada también es el trayecto más corto. Finalmente, este algoritmo produce árboles de trayecto más corto acíclicos.
Según una realización de la invención, los ID de nodo que conectan con cada enlace en la red se usan para crear los ID de enlace. Por ejemplo los ID de nodo en cualquier extremo de un enlace se pueden usar para crear un ID de enlace. Se da un ID de trayecto a cada trayecto a través de la red concatenando un conjunto ordenado de ID de enlace que forman el trayecto a través de la red. Los ID de enlace se ordenan desde el menor al mayor cuando se crea el ID de trayecto para facilitar la clasificación de los trayectos. Los trayectos clasificados bajos y altos se seleccionan a partir de esta lista clasificada como el primer conjunto de trayectos diversos a través de la red. Debería ser trivial observar que variaciones de esta que tendrán propiedades similares, tales como ordenar los ID de nodo en los ID de enlace como alto-bajo en lugar de bajo-alto u ordenar los ID de trayecto altos a bajos anterior a clasificar podría ser igualmente ejecuciones válidas del algoritmo proporcionando a todos los nodos de cálculo en la red que se configurasen para usar una variante común.
Para seleccionar trayectos adicionales, se cambia la manera en la que se nombran los enlaces, para permitir a los trayectos que sean asignados nuevos ID de trayecto y facilitar una clasificación que tendría propiedades de diversidad ventajosas de los trayectos bajo y alto seleccionados originalmente. Por ejemplo, el ID de nodo alto asociado con cada enlace se puede invertir de manera que se puedan crear nuevos ID de enlace usando el ID de nodo bajo original y el ID de nodo alto invertido. Por ejemplo, los ID de nodo se puede invertir sustrayéndolos de 2^16, para el caso de que los ID de nodo estén asignados en el intervalo 1 a (2^16-1), o aplicando una función XOR de los ID de nodo con 0xffff o algún valor similar. Estos nuevos ID de enlace se usan para crear nuevos ID de trayecto (lista ordenada de ID de enlace concatenados) que entonces se clasifican y los trayectos de clasificación bajo y alto del conjunto reclasificado de trayectos se toman como el segundo par de trayectos. De nuevo se pueden postular variaciones tales como aplicar la transformación al ID de nodo bajo en el ID de enlace que son igualmente válidas.
La concatenación ordenada de los ID de nodo para construir los ID de enlace es única, de manera que cada ID de trayecto a través de la red es único y cualesquiera transformadas que se aplican a cualquiera de los ID de nodo en el ID de enlace necesita conservar esta singularidad, por lo tanto no puede ser "con pérdidas" y se debe aplicar uniformemente, una simple inversión de bits que es un ejemplo que cumple este requisito. Por lo tanto, por ejemplo, la concatenación ordenada de los ID de nodo bajos y los ID de nodo más altos invertidos (por ejemplo el nodo A concatenado con Inverso(nodo B) donde nodo A < nodo B) también es única y simplemente conduce a una reclasificación de los trayectos. De esta manera, tanto una primera clasificación de trayecto bajo/alto como una segunda clasificación de trayecto bajo/alto con diversidad significativa de la primera se puede obtener para aumentar el grado de utilización del enlace en la red. Además, las consecuencias de un fallo de trayecto no se trasladan en cascada dado que no hay una clasificación relativa -el fallo de un enlace compartido por uno o más trayectos seleccionados previamente eliminará esos trayectos de consideración, pero no afectará las clasificaciones del resto y por lo tanto el encaminamiento de los trayectos viables restantes seleccionados con la técnica.
Breve descripción de los dibujos
Los aspectos de la presente invención se indican con particularidad en las reivindicaciones adjuntas. La presente invención se ilustra a modo de ejemplo en los siguientes dibujos en los cuales referencias iguales indican similares elementos. Los siguientes dibujos describen diversas realizaciones de la presente invención con propósitos de ilustración solamente y no se pretende que limiten el alcance de la invención. Con propósitos de claridad, no todo componente se puede etiquetar en cada figura. En las figuras:
La Fig. 1 es un diagrama de bloques funcional de un ejemplo de red de comunicación en la cual se puede implementar una realización de la invención;
5
10
15
20
25
30
35
40
45
50
55
E10814836
30-12-2014
La Fig. 2 es un diagrama de bloques funcional de un ejemplo de nodo de la red de comunicación de la Fig. 1;
Las Fig. 3A-3E muestran ejemplos de trayectos de igual coste entre un par de nodos en una red de referencia;
La Fig. 4 muestra un ejemplo de diagrama de flujo de un proceso de selección entre múltiples trayectos de igual coste y la aplicación del proceso a los trayectos de igual coste mostrados en las Fig. 3A-3E en los nodos finales según una realización de la invención;
Las Fig. 5A-5B muestran la aplicación del proceso de la Fig. 4 en nodos intermedios sobre los trayectos mostrados en las Fig. 3A-3E;
La Fig. 6 ilustra la congruencia del proceso cuando se selecciona entre múltiples trayectos de igual coste en los puntos finales (como se muestra en la Fig. 4) y en los puntos intermedios (como se muestra en las Fig. 5A-5B);
Las Fig. 7-8 muestran cómo la manipulación de la función de inversión, en combinación con la asignación administrativa de los ID de nodo, se puede usar para ajustar la selección de trayecto en una red según una realización de la invención; y
Las Fig. 9-10 muestran cómo se puede usar la manipulación de los ID de nodo para forzar una selección de trayectos diversos de enlace causando al nodo de borde ser el punto de desempate en una red según una realización de la invención.
Descripción detallada
La Fig. 1 muestra un ejemplo de una red Ethernet 10 controlada por un protocolo de estado de enlace en la cual se puede implementar la invención y la Fig. 2 muestra un diagrama de bloques funcional de uno de los nodos que se puede usar para implementar la realización de la invención. Los nodos (también llamados puentes o nodos puenteados) 11-18 que forman la red mallada de la Fig. 1 intercambian anuncios (mensajes) de estado de enlace 26 unos con otros. Esto se logra a través del mecanismo bien conocido de un sistema de encaminamiento de estado de enlace. Un módulo de sistema de encaminamiento 21 intercambia información 26 con nodos iguales en la red con respecto a la topología de la red usando un protocolo de encaminamiento de estado de enlace. Este intercambio de información permite a los nodos generar una vista sincronizada de la topología de red. En cada nodo, un módulo de Determinación del Trayecto Más Corto 22 calcula un árbol de trayecto más corto, que determina el trayecto más corto a cada otro nodo. Los trayectos más cortos determinados por el módulo 22 se usan para llenar una Base de Información de Reenvío 24 con entradas para dirigir tráfico a través de la red.
Como se señaló anteriormente, surgen situaciones cuando hay múltiples trayectos de igual coste a través de la red. En este caso, un módulo de desempate 23 selecciona uno (o más) de los trayectos de igual coste de una manera coherente. En operación normal, los paquetes se reciben en el nodo y un módulo de búsqueda de destino 25 determina, usando la FIB 24, el puerto (o múltiples puertos en el caso de distribución multidifusión) sobre el cual se debería reenviar el paquete recibido. Si no hay una entrada válida en la FIB 24 entonces se puede descartar el paquete. Se apreciará que los módulos mostrados en la Fig. 2 son solamente con propósitos ilustrativos y se pueden implementar combinando o distribuyendo funciones entre los módulos de un nodo como se entendería por un experto en la técnica.
Hay situaciones donde es imposible o está limitada la diversidad de nodo completa, pero es posible diversidad de enlace entre los trayectos. De igual modo, en aplicaciones de centro de datos, donde se despliegan a menudo arquitecturas de red de árbol grueso, frecuentemente están disponibles más de dos trayectos de igual coste. Para evitar sobrecargar enlaces particulares, es deseable extender el tráfico a través de todos los trayectos disponibles para “sacudir” las disposiciones de enlace y aumentar el grado de diversidad de enlace entre trayectos. Por lo tanto, en estas y otras situaciones, es deseable seleccionar múltiples (más de dos) de los trayectos de igual coste a través de la red a ser usada para reenviar tráfico entre un par de nodos.
Según una realización de la invención, los ID de enlace se construyen a partir de la concatenación ordenada de los ID de nodo y los ID de trayecto se construyen a partir de la concatenación ordenada de los ID de enlace de manera que se pueden clasificar los ID de trayecto. Esta clasificación se usa para implementar una selección de trayecto inicial en un algoritmo de desempate seleccionando el más bajo y el más alto de estos trayectos clasificados.
En una realización, los ID de nodo que conectan con cada enlace en la red se usan para crear los ID de enlace. Los ID de enlace, en este contexto, se generan concatenando los ID de nodo en cualquiera de los extremos del enlace. La concatenación de los ID de nodo se implementa de manera que los ID de nodo se clasifican dentro del ID de enlace, así que en un ejemplo, el ID de nodo más bajo está primero con el ID de nodo mayor segundo. De esta manera, si un enlace se extiende desde el nodo 48 al nodo 23, el ID de enlace será (23, 48), no (48, 23). Ordenar los ID de nodo antes de clasificar permite que un resultado común sea calculado con independencia del orden de cálculo. Entonces se generan un conjunto de trayectos extremo a extremo a través de la red y los ID de enlace de los enlaces en esos trayectos se concatenan para formar los ID de trayecto. Los ID de enlace en los ID de trayecto se ordenan de manera similar, entonces se clasifican los ID de trayecto y se seleccionan los ID de trayecto alto/bajo como el primer par de trayectos diversos.
15
25
35
45
55
E10814836
30-12-2014
Entonces, para obtener una segunda selección de trayecto, se renombran los ID de enlace que se usaron para crear los ID de trayecto, por ejemplo aplicando una transformación universalmente a uno de los dos ID de nodo usada para crear los ID de enlace. La transformación se aplica siempre al segundo ID de nodo (es decir, el menos significativo) en los ID de nodo concatenados formando el ID de enlace. Los ID de enlace revisados se usan para crear nuevos ID de trayecto para cada uno de los trayecto de igual coste. Los nuevos ID de trayecto se clasifican y se selecciona un segundo conjunto de trayectos tomando el más bajo y el más alto clasificado de los ID de trayecto transformados para producir un segundo par de trayectos clasificados bajo-alto. Este segundo par de trayectos clasificados bajo-alto tiene un grado significativo de diversidad de enlace del par de trayectos seleccionados originales pero no se garantizará que sean diversos de enlace completamente ya que aún serán dependientes de la disposición de los ID de nodo. También se pueden usar otras transformaciones de los ID de enlace para generar permutaciones de trayectos diversos adicionales en redes densamente malladas. No obstante, se debería señalar que una transformación común tanto de los ID de nodo bajos como altos en los ID de enlace está correlacionada demasiado altamente para producir significativa diversidad.
Contrastar el planteamiento con una simple asignación aleatoria repetida de los ID de nodo ilustra los beneficios del planteamiento. Si los ID de nodo aleatorio se asignan repetidamente y se toma el ID de trayecto bajo, el resultado que se obtiene se puede predecir directamente por la ecuación del problema del cumpleaños. 1-(1-1/n)**k. (n=enlaces, k=número de trayectos usados realmente). Así (por ejemplo) en un árbol grueso con enlaces ascendentes duales, hay típicamente 4 enlaces en cualquier nivel de la jerarquía. Por consiguiente, en media, este proceso usará aproximadamente el 68% de los enlaces si se usa un Árbol Múltiple de Igual Coste (ECMT) con 4 árboles. Mejorar esto para utilizar plenamente la red requiere una dilación significativa del número de variaciones del árbol de igual coste explorado y la desviación estándar de la utilización del enlace varía considerablemente.
El algoritmo preferido tiene la propiedad deseable de que la simple inversión del ID de nodo alto en los ID de enlace, la transformación solamente considera las clasificaciones relativas de los ID de nodo y no es sensible a cómo se asignan los ID de nodo (contiguos, aleatorios, intervalos, etc.). Así el rendimiento debería ser inmune a la práctica administrativa y facilitaría fácilmente reglas de diseño para circunstancias donde se desease administrar el comportamiento de la red.
El algoritmo preferido tiene la propiedad deseable de que el grado de diversidad de trayecto logrado es independiente del número de saltos atravesados por el conjunto de trayectos de igual coste. Por lo tanto la cantidad de diversidad no se degrada según aumenta el diámetro de la red.
Un pequeño grado de administración aplicado a una red jerárquica altamente simétrica puede mejorar aún más el grado de diversidad que logra este algoritmo. Si los niveles de la jerarquía de conmutación se enumeran de manera que se pueden identificar como impar o par y los ID de cualquiera de las filas impar o par promovidas por una gran cantidad, se eliminan muchas de las circunstancias que hacen al algoritmo fallar al seleccionar trayectos de diversos enlaces. Por ejemplo, si el valor de ID de nodo máximo es 2^16 – 1, añadir 2^16 a los ID de nodo de todos los nodos en niveles impares de la jerarquía hace al orden de los nodos en el trayecto alternar entre un mínimo local y un máximo local. Si hay más de una posibilidad de trayecto que transita un mínimo local, todos los nodos a los que está conectado el mínimo local en el siguiente nivel de conmutación se garantiza que son comúnmente un máximo local e invertir el ID de nodo invertirá las clasificaciones, asegurando que se usa un enlace diferente para el siguiente trayecto seleccionado.
Las Fig. 3A-3E muestran un conjunto de cinco trayectos de igual coste a través de un ejemplo de red de referencia y las Fig. 4 y 5A-B y 6, muestran un proceso de selección de un conjunto de trayectos entre un par de nodos en el ejemplo de red de referencia. En las Fig. 3A-3E, se muestra la misma red de referencia con cada una de las figuras que muestran uno de los cinco trayectos de igual coste diferentes entre los nodos 1 y 8. Por ejemplo, la Fig. 3A muestra un primer trayecto a través de un ejemplo de red de referencia 30 entre los nodos 1 y 8 y que incluye los nodos 1, 4, 2 y 8. Los enlaces en este trayecto se nombrarán concatenando los ID de nodo en cualquiera de los extremos del enlace. De esta manera, un primer enlace desde el nodo 1 al nodo 4 será el enlace 1-4, el siguiente enlace es el enlace 2-4 y el enlace final es el enlace 2-8. Señalar que por convenio, al construir los ID de nodo concatenados, el ID de nodo más bajo está siempre el primero. Se puede adoptar también otro convenio (por ejemplo tener siempre el ID de nodo más alto primero) siempre que todos los nodos en la red usen el mismo convenio.
Las Fig. 3B-3E muestran los otros cuatro trayectos de igual coste alternativos entre los nodos 1 y 8. Específicamente, la Fig. 3B muestra un trayecto a través de los nodos 1, 4, 3 y 8. Este trayecto se nombra usando los ID de enlace 1-4, 3-4 y 3-8. La Fig. 3C muestra un trayecto a través de los nodos 1, 5, 2 y 8. Este trayecto se nombra usando los ID de enlace 1-5, 2-5 y 2-8. La Fig. 3D muestra un trayecto a través de los nodos 1, 5, 3 y 8. Este trayecto se nombra usando los ID de enlace 1-5, 3-5 y 3-8. La Fig. 3E muestra un trayecto a través de los nodos 1, 5, 7 y 8. Este trayecto se nombra usando los ID de enlace 1-5, 5-7 y 7-8.
La Fig. 4 muestra un proceso de selección de dos conjuntos de trayectos diversos entre un par de nodos en la red. El proceso se muestra en el lado derecho y un ejemplo de aplicación del proceso para la red de las Fig. 3A-3E se muestra en la columna izquierda en esta figura. Los números en el ejemplo mostrados en los recuadros que forman la columna izquierda se toman a partir de la red de referencia y los trayectos ejemplo mostrados en las Fig. 3A-3E.
10
15
20
25
30
35
40
45
50
55
60
E10814836
30-12-2014
Inicialmente, el sistema de encaminamiento de trayecto más corto encontrará un conjunto de trayectos de igual coste entre un par de nodos (100). Los identificadores (ID) de trayecto se construyen como una lista ordenada de ID de enlace 102. Como se muestra en la Fig. 4, los ID de trayecto ordenados corresponden a los trayectos mostrados en las Fig. 3A-3E. Los trayectos de igual coste posibles se clasifican y los ID de trayecto clasificados se usan para seleccionar un primer conjunto de dos trayectos diversos. Específicamente, los trayectos clasificados bajo y alto se seleccionan de esta lista clasificada (104). En el ejemplo ilustrado, el trayecto bajo es el trayecto 1248 (Fig. 3A) y el trayecto alto es el 1578 (Fig. 3E). Estos trayectos seleccionados se han circundado en el recuadro 102.
Este proceso de clasificación permite que dos trayectos diversos sean seleccionados. Para seleccionar trayectos adicionales, según una realización de la invención, los ID de enlace usados para crear los trayectos se cambian (referido en la presente memoria como renombrar los enlaces) para permitir que un nuevo ID de trayecto sea asignado al mismo trayecto. Por ejemplo, en una realización se invierte el ID de nodo más alto en cada ID de enlace (106). Esto permite a los ID de enlace ser renombrados mientras que se asegura que cada ID de enlace permanece único dentro de la red. La forma en la que se puede aplicar esto a la red ejemplo se muestra en el ejemplo por el recuadro 108. Por ejemplo, en el trayecto 1, el enlace 1-4 tiene un nodo alto con un ID de nodo de 4. Este ID de nodo se invierte de manera que el ID de enlace llega a ser 1-12. En el ejemplo mostrado en la Fig. 4, la inversión de nodos se realiza mediante inversión en modo bit o sustrayéndolos de un valor lo bastante grande que los ID de nodo son aún únicos. Para este ejemplo, los ID de nodo se pueden invertir por sustracción de 16. También se pueden usar otros formas de inversión de los ID de nodo. Por ejemplo se puede aplicar una operación XOR a los ID de nodo con un valor particular, si los ID de nodo se asignan en el intervalo de 0 a 2^N-1, el valor particular adecuado es también 2^N-1. También se pueden usar otras formas de invertir los ID de nodo para renombrar los enlaces. Por ejemplo, aunque se mostró una realización en la que estaba invertido el ID de nodo alto, otras realizaciones pueden encontrar otras formas de renombrar los enlaces, tales como invirtiendo el ID de nodo bajo.
Una vez que los enlaces se han renombrado (por ejemplo se han invertido los nodos altos) los enlaces dentro de cada trayecto se ordenan de manera que los ID de trayecto una vez más contienen una lista ordenada de enlaces concatenados. Los enlaces concatenados se ordenan en este proceso de manera que los enlaces más bajos están primero y los enlaces más altos están concatenados posteriormente sobre el enlace más bajo. De esta manera, por ejemplo en el recuadro 108, después de la inversión el trayecto 1 contenía los enlaces 1-12, 2-12 y 2-8. Dado que 28 es menor que 2-12, este trayecto se reordena como se muestra en el recuadro 112 para permitir que el trayecto 1 sea expresado como una concatenación de enlaces 1-12, 2-8 y 2-12. Cada uno de los trayectos se reordenará individualmente para permitir al nuevo identificador de trayecto tener un conjunto concatenado de enlaces que se ordenan desde el identificador de enlace más bajo al identificador de enlace más alto. Reordenar los enlaces facilita la clasificación del trayecto, pero se puede omitir opcionalmente donde el proceso de clasificación es capaz de clasificar los trayectos que usan conjuntos desordenados de ID de enlace.
Cuando los ID de trayecto se formaron primero (100, 102) los ID de enlace individuales se fijaron de manera que cada ID de enlace tenía el ID de nodo más bajo primero seguido por el ID de nodo más alto. Cuando se renombran los enlaces (106, 108) y se invierte el ID de nodo más alto, esto puede hacer a algunos de los ID de enlace individuales tener un ID de nodo más alto primero y un ID de nodo más bajo segundo. Señalar, a este respecto, que los ID de enlace iniciales se crearon teniendo siempre el ID de nodo más bajo primero, concatenado con el ID de nodo más alto. Invertir el ID de nodo más alto puede hacer que sea conmutado este orden normal. No obstante, después del proceso de inversión el orden de los ID de nodo asociados con un enlace particular no se debería cambiar incluso si esto ocurre, dado que hacerlo así puede causar que el enlace ya no sea más único globalmente dentro de la red.
Una vez que se han creado nuevos ID de trayecto para los trayectos renombrando los ID de enlace (106) asociados con el trayecto y volviendo a disponer los ID de enlace (110), los trayectos se reordenan para reclasificar los trayectos recién nombrados (114). El resultado de este paso de reordenación para el ejemplo se muestra en el recuadro 116. Como se muestra en este ejemplo, el trayecto que ha sido el segundo ID de trayecto más bajo durante el proceso de clasificación inicial ha llegado a ser el ID de trayecto más bajo después de renombrar los enlaces para crear nuevos ID de trayecto. Del mismo modo, el trayecto que ha sido el tercer ID de trayecto más bajo durante la clasificación inicial ahora ha llegado a ser el trayecto clasificado más alto. Tomando los trayectos bajo y alto en la lista de trayectos revisada, se puede obtener un segundo par de trayectos diversos (118).
La concatenación ordenada original de los ID de nodo es única, así que cada ID de trayecto creado usando un trayecto particular a través de la red es único. Del mismo modo, el nodo A concatenado con Inverso(nodo B) también es único y simplemente conduce a una reclasificación de los trayectos únicos. De esta manera, se puede obtener tanto un primer par bajo/alto como un segundo par bajo/alto para aumentar la cantidad de uso de enlace en la red. Si se desea, se puede implementar un segundo renombramiento de los ID de enlace, por ejemplo invirtiendo el ID de nodo bajo en lugar del ID de nodo alto y el proceso se puede repetir para encontrar un tercer conjunto de trayectos diversos a través de la red. Del mismo modo, se pueden crear diferentes clasificaciones alterando la función de inversión usada para renombrar los enlaces cuando se cambian los ID de trayecto.
Como se puede ver, el proceso de selección de conjuntos posteriores de trayectos diversos no depende de la clasificación original. Por lo tanto, el fallo de trayecto no se traslada en cascada dado que no hay una clasificación relativa – no se selecciona ningún trayecto solamente debido a que se clasificó respecto a otro trayecto durante un
10
15
20
25
30
35
40
45
50
55
E10814836
30-12-2014
proceso de clasificación dado. De esta manera, el fallo de un enlace compartido por uno o más trayectos seleccionados previamente eliminará esos trayectos que incluyen el enlace de consideración pero no afectará el orden de clasificación de los trayectos supervivientes, dado que los otros trayectos se seleccionaron durante otras operaciones de clasificación independientes. Indicado de manera diferente, dado que cada uno de los otros trayectos se seleccionó independientemente, el fallo de un enlace en uno de los trayectos seleccionados no afectará la selección de los otros trayectos y, por lo tanto, el fallo no se traslada en cascada afectando las otras selecciones de trayecto.
Además de encontrar trayectos diversos en los puntos finales, es importante que cualquier trayecto encontrado por nodos intermedios sea congruente con los trayectos diversos seleccionados por los puntos finales. Las Fig. 5A-5B y 6 se proporcionan para mostrar que los segmentos de trayecto seleccionados por los nodos intermedios son congruentes con los trayectos diversos seleccionados por los puntos finales.
Como se explicó anteriormente, en la realización ilustrada, la clasificación del trayecto inicial permitió que un primer par de trayectos 1248 y 1578 sea seleccionado entre los nodos 1 y 8. Renombrar los enlaces y reordenar los trayectos con los enlaces renombrados provocó que un segundo conjunto de trayectos 1258 y 1348 sea seleccionado entre los nodos 1 y 8. Estos trayectos seleccionados se enumeran en la Fig. 6.
Según una realización, cada nodo intermedio realiza el mismo proceso que se realizó por los puntos finales 1 y 8. No obstante, el nodo se sustituirá a sí mismo como el punto final del trayecto de manera que el nodo intermedio usará el cálculo para seleccionar una pluralidad de trayectos entre sí mismo y el punto final previsto. De esta manera, cada nodo 4 y 5 determinará un conjunto de trayectos de igual coste al destino, clasificando los trayectos, seleccionando alto y bajo, renombrando los enlaces, reclasificando los trayectos y una vez más seleccionando los trayectos clasificados alto y bajo.
Las Fig. 5A y 5B muestran el resultado de este proceso para el nodo intermedio 5 y el nodo intermedio 4. Como se muestra en la Fig. 5A, el nodo intermedio 5 encontrará trayectos de igual coste 258, 358 y 578 al nodo 8. Nombrar los enlaces a lo largo de estos trayectos usando los ID de nodo de punto final concatenados provoca un conjunto de enlaces mostrados en el recuadro 120. Esto es, el trayecto 258 tiene un ID de trayecto que incluye los enlaces 2-5 y 5-8; el trayecto 358 tienen un ID de trayecto que incluye los enlaces 3-5 y 5-8; y el trayecto 578 tiene un ID de trayecto que incluye los enlaces 5-7 y 7-8. Estos trayectos se clasificarán como se muestra y se seleccionarán el más alto y el más bajo. Los enlaces entonces se renombrarán invirtiendo el ID de nodo alto como se muestra en el recuadro 122. El orden de los enlaces entonces se reajustará al orden de los ID de enlace en orden ascendente (los ID de enlace más bajo primero) y se reclasificarán los nuevos ID de trayecto. Una vez más se seleccionarán los ID de trayecto más alto y más bajo en la lista los cuales, en este caso, son los mismos que el conjunto de trayectos iniciales. De esta manera, el nodo intermedio 5 seleccionará el trayecto 578 y 258 usando este proceso el cual es congruente con el conjunto de trayectos seleccionados desde 1 a 8 que pasaron a través del nodo 5. Específicamente, como se muestra en la Fig. 6, el proceso seleccionó los trayectos 1248, 1578, 1258 y 1348 cuando se implementaron para selección de un trayecto desde el nodo 1 al nodo 8. Dos de estos trayectos pasaron a través del nodo 5 – el 1578 y el 1258. Cuando el proceso se implementó en el nodo 5, el nodo 5 del mismo modo seleccionó 578 y 258 de manera que el nodo intermedio seleccionó trayectos que son congruentes con la selección de trayecto extremo a extremo.
La Fig. 5B muestra el mismo proceso para el nodo intermedio 4. Como se muestra en los recuadros 126, 128 y 130 y como se muestra en el recuadro 132 de la Fig. 6, el nodo 4 seleccionará los trayectos 248 y 348 que son congruentes con los dos trayectos seleccionados durante el proceso de selección extremo a extremo. De esta manera, los resultados intermedios que usan el proceso descrito anteriormente son congruentes con los resultados extremo a extremo. Se pueden realizar cálculos similares para mostrar que el proceso de selección del trayecto inverso – desde el nodo 8 al nodo 1 – también provoca el mismo conjunto de trayectos seleccionados. Del mismo modo, se puede mostrar que los trayectos entre otros conjuntos de nodos, tales como entre el nodo 9 y el nodo 8 son acíclicos/planos con los trayectos entre los nodos 1 y 8.
En los ejemplos previos, después de clasificar los trayectos y seleccionar los trayectos alto y bajo, los enlaces se renombraron invirtiendo el ID de nodo alto. Opcionalmente, esto se puede hacer una segunda vez, por ejemplo invirtiendo el ID de nodo bajo también. En esta realización, renombrando después los ID de enlace (106), reconstruyendo los ID de trayecto a partir de los enlaces renombrados (110), reordenando los trayectos (114) y tomando los trayectos altos y bajos (118) el proceso podría iterar para renombrar los ID de enlace originales usando de nuevo un convenio de renombramiento diferente. Como ejemplo, el ID de nodo bajo se podría invertir durante esta iteración. Después del segundo proceso de renombramiento, los otros pasos de reconstrucción de los ID de trayecto a partir de los enlaces renombrados (110), reordenación de los trayectos (114) y toma de los trayectos bajos y altos (118) se implementaría para seleccionar un conjunto de trayectos adicionales.
Es deseable generalmente evitar la administración de red si es posible. No obstante, los ID de nodo asignados aleatoriamente en la red pueden, a veces, fallar para explotar adecuadamente la cantidad completa de diversidad disponible en la red, especialmente si el número de permutaciones de trayectos en el nivel dado de la jerarquía en la red es mayor que cuatro. Según una realización de la invención, ajustar selectivamente los ID de nodo particulares
10
15
20
25
30
35
40
45
50
55
60
E10814836
30-12-2014
en la red, cuando se usa en combinación con el proceso de selección de trayecto descrito anteriormente, puede mejorar la cantidad de diversidad lograda cuando se selecciona entre trayectos de igual coste.
En el proceso descrito anteriormente, cuando los ID de enlace se crean concatenando los ID de nodo con el nodo más bajo primero y el nodo más alto segundo, el ID de nodo más bajo se incluirá en los bits más significativos del ID de enlace con el ID nodo más alto incluido en los bits menos significativos del ID de enlace. Por consiguiente, invertir el ID de nodo más alto tendrá menos efecto en el valor de ID de enlace dado que afectará a los bits menos significativos del ID de enlace. De esta manera, donde se selecciona el ID de nodo más bajo como parte de un trayecto entre un par de nodos, es probable que el proceso de renombramiento descrito anteriormente también seleccionará un segundo trayecto que también pasa a través del mismo nodo.
Esta propiedad se puede explotar de manera que, si la estructura de la red es conocida, un ajuste selectivo de los valores de ID de nodo pueden hacer al algoritmo elegir trayectos que transitan un nodo deseado en la red. De esta manera, fijando administrativamente al menos algunos de los ID de nodo, el administrador puede seleccionar puntos de rutas clave cuyos trayectos transitarán en la red. Del mismo modo, seleccionando una función de inversión de ID de nodo particular, el administrador puede forzar a los trayectos para ir a través de nodos particulares, de manera que usar diferentes funciones de inversión puede causar procesos de selección de trayecto diferentes y pasar a través de diferentes nodos y llegar a ser un enlace diverso en esos nodos en la red. Esta función de inversión se aplica uniformemente a todos los ID de nodo en la red para seleccionar puntos de ruta. Los procedimientos de nombrado y renombrado de enlace descritos anteriormente entonces se aplican a su vez a los trayectos creados por cada función de inversión de ID de nodo, el efecto que es seleccionar diferentes trayectos extremo a extremo los cuales transitan el punto de ruta seleccionado por la función de inversión de ID de nodo actual.
Las Fig. 7 y 8 muestran una aplicación del proceso de selección de trayecto usando diferentes funciones de inversión de ID de nodo para hacer a una selección de trayecto atravesar selectivamente uno seleccionado de los nodos centrales. Específicamente, en la Fig. 7 los nodos centrales se asignaron a los ID de nodo 0x00, 0x08, 0x10 y 0x18. Los procesos de selección de trayectos diferentes descritos anteriormente entonces se implementaron usando diferentes funciones de inversión aplicadas uniformemente a todos los ID de nodo anterior a formar los nombres de enlace. Por ejemplo, la función de inversión usada para renombrar los enlaces puede hacer a los ID de nodo ser operados con una función XOR con 0x00, 0x08, 0x10 y 0x18 a su vez u otros valores. Usar la primera función de inversión hará a un trayecto a ser seleccionado que pase a través del nodo central superior como se muestra en la Fig. 7, debido a que su ID de nodo tiene el valor cero, lo cual hace a todos los enlaces unidos a él tener un ID de nodo bajo de cero y por lo tanto se garantiza que sea seleccionado cuando se clasifican los ID de trayecto. Ajustar la función de inversión para hacer a los ID de nodo ser operados con una función XOR con un valor diferente hará a los trayectos seleccionados ir a través de un nodo central diferente, por ejemplo como se muestra la Fig. 8 la cual es consecuencia de aplicar una función XOR de los ID de nodo con 0x10. Por consiguiente, el conocimiento de la estructura de la red y la aplicación selectiva de una función de inversión a todos los nodos durante el proceso de renombramiento de enlace inicial permiten al administrador seleccionar un nodo central a través del cual transitarán los trayectos. Por lo tanto, es posible hacer un ciclo a través de los nodos centrales y forzar los procesos de selección de trayecto para utilizar cada uno de los nodos centrales para una mejor extensión del tráfico dentro de la red de manera que se usen todos los nodos centrales. Después de que se selecciona el nodo central inicial usando este proceso de inversión de ID de nodo inicial, se pueden renombrar los enlaces como se describió anteriormente aplicando uniformemente una segunda función a uno de los ID de nodo de cada enlace para permitir que ocurra un segundo proceso de selección de trayecto. Este proceso de inversión de ID de nodo se aplica de esta manera con el proceso de renombramiento de enlace descrito previamente que se ejecuta como un "bucle interior", a fin de seleccionar a su vez los múltiples trayectos disponibles a través de diferentes nodos de borde al menos un nodo central común, como se muestra las Fig. 7 y 8.
Otra forma de ajustar administrativamente cómo se implementa la selección de trayecto en la red es asignar los ID de nodo desde diferentes intervalos. La Fig. 9 muestra un ejemplo donde se asignan números a todos los nodos del mismo intervalo. En la Fig. 9, se supone que trayectos de igual coste se están calculando desde el nodo A hasta el nodo Z. En este ejemplo, los nodos intermedios D y F tienen valores de ID de nodo bajo y, por lo tanto, formarán la ubicación donde los trayectos divergen en la red. Esto es debido a que uno u otro de D y F tendrán el ID de enlace más bajo (sobre la base de su componente de ID de nodo bajo). Si el primer trayecto seleccionado pasa a través del nodo central superior, debido a que su ID de nodo es menor que el del nodo central inferior, entonces después del proceso de inversión de renombramiento de enlace, el enlace a través del nodo central inferior tendrá el ID de nodo más bajo.
La Fig. 10 muestra otro ejemplo donde los nodos exteriores que conectan con la red (nodos A y Z en la Fig. 10) están asignados a valores de ID de nodo de un intervalo diferente que los nodos en la red. Específicamente, en la Fig. 10 se han asignado valores de ID de nodo a los nodos A y Z usando números entre 1 y 1023. A los nodos de borde, agregación, central, etc. se han asignado números de un intervalo diferente, superior tal como entre 1025 y 2047. Por supuesto, también se pueden usar otros intervalos y estos intervalos se pretende que proporcionen meramente un ejemplo.
Asignando valores de ID de nodo bajos a los nodos que conectan con la red y valores de ID de nodo altos a los otros nodos en la red, el nodo que conecta con la red se puede seleccionar como el punto de pivote donde divergen los
10
15
20
25
30
35
40
E10814836
30-12-2014
trayectos de igual coste seleccionados. De esta manera, por ejemplo como se muestra la Fig. 10, se hace que trayectos diversos de enlace sean seleccionados en los nodos que conectan con la red y, por lo tanto, los nodos que conectan con la red pueden extender el tráfico a través de múltiples enlaces de acceso si son de doble conexión con la red. Adicionalmente, dado que se han asignado tanto a A como a Z valores de ID de nodo bajos, esta divergencia de trayecto ocurrirá tanto en A como en Z, de manera que se garantiza que tanto A como Z tienen trayectos de igual coste alternos de diversos enlaces que conectan con la red. Adicionalmente, aunque los trayectos pueden converger dentro de la red, hay una buena oportunidad de que los trayectos permanezcan con diversos enlaces en toda la red tal como el ejemplo mostrado la Fig. 10.
De esta manera, ajustar administrativamente los valores de ID de nodo puede hacer ocurrir los trayectos seleccionados que usan el proceso descrito anteriormente en una ubicación particular en la red. Esto permite al administrador extender intencionadamente el tráfico alrededor de la red haciendo ocurrir una selección de trayecto diverso en ubicaciones particulares dentro de la red y, por lo tanto, hacer ocurrir una selección de trayecto de una manera que es más óptima desde un punto de vista de distribución de tráfico. Además, dado que se asignan los ID de nodo desde intervalos separados cuando se usa esta técnica, no individualmente, la carga administrativa es relativamente mínima dado que la selección precisa de los ID de nodo dentro de los intervalos no es crítica para hacer desarrollar patrones de tráfico tales como el patrón de tráfico mostrado la Fig. 10 y los ID de nodo únicos dentro de un intervalo se pueden asignar automáticamente por una serie de técnicas bien conocidas. Mientras que los nodos que conectan con la red se seleccionan desde un intervalo diferente (menor) que los ID de nodo asignados al resto de los nodos de red, la divergencia trayecto inicial de los nodos A y Z ocurrirá como se muestra en la Fig. 10.
Esta asignación administrativa de nodos para usar intervalos específicos de ID de nodo se puede combinar beneficiosamente con la técnica de asignar los ID de nodo a puntos de ruta claves y usar la función de inversión de ID de nodo descrita anteriormente. El proceso de selección de puntos de ruta permite la selección de alto nivel de rutas a través del centro a ser controlado y la asignación administrativa de intervalos a los otros nodos se puede usar para maximizar la apertura de trayectos de enlace diverso extremo a extremo que transitan los puntos de ruta seleccionados.
Las funciones descritas anteriormente se pueden implementar como un conjunto de instrucciones de programa que se almacenan en una memoria legible por ordenador y ejecutan en uno o más procesadores en la plataforma informática. No obstante, será evidente para un experto que toda la lógica descrita en la presente memoria se puede incorporar usando componentes discretos, circuitería integrada tal como un Circuito Integrado de Aplicaciones Específicas (ASIC), lógica programable usada en conjunto con un dispositivo de lógica programable tal como una Disposición de Puertas Programables en Campo (FPGA) o microprocesador, una máquina de estado o cualquier otro dispositivo que incluya cualquier combinación de los mismos. Una lógica programable se puede fijar temporal o permanentemente en un medio tangible tal como un circuito integrado de memoria solamente de lectura, una memoria de ordenador, un disco u otro medio de almacenamiento. Una lógica programable también se puede fijar en una señal de datos de ordenador incorporada en una onda portadora, permitiendo a la lógica programable ser trasmitida sobre una interfaz tal como un canal principal de ordenador o red de comunicación. Todas las realizaciones tales se pretende que caigan dentro del alcance de la presente invención.
Se debería entender que se pueden hacer diversos cambios y modificaciones de las realizaciones mostradas en los dibujos y descritas en la especificación dentro del espíritu y alcance de la presente invención, como se define por las reivindicaciones. Por consiguiente, se pretende que toda materia contenida en la descripción anterior y mostrada en los dibujos anexos sea interpretada en un sentido ilustrativo y no en uno limitante.

Claims (22)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    E10814836
    30-12-2014
    REIVINDICACIONES
    1. Un aparato para seleccionar entre múltiples trayectos de igual coste en una red de comunicación (10), el aparato que incluye uno o más procesadores y una o más memorias, la una o más memorias que contienen datos e instrucciones que, cuando se cargan en el uno o más procesadores configuran el aparato para realizar un método de selección entre los múltiples trayectos de igual coste, el método que incluye los pasos de:
    determinar un conjunto de trayectos de igual coste entre un par de nodos (11-18) en una red de comunicación, cada trayecto que incluye una pluralidad de enlaces;
    caracterizado por que el método además incluye los pasos de:
    construir unos primeros ID de enlace para cada enlace en cada uno de los trayectos de igual coste, cada uno de los primeros ID de enlace que se crea concatenando los ID de nodo ordenados de nodos que conectan con el enlace en la red;
    construir unos primeros ID de trayecto para cada uno de los trayectos de igual coste, cada uno de los primeros ID de trayecto que se crea concatenando los primeros ID de enlace de la pluralidad de enlaces que forman ese trayecto a través de la red de comunicación;
    clasificar los primeros ID de trayecto para seleccionar un primer conjunto de trayectos diversos a través de la red de comunicación;
    construir unos segundos ID de enlace para cada enlace en los trayectos de igual coste, cada uno de los segundos ID de enlace que se crea concatenando un ID de nodo de uno de los nodos que conecta con el enlace en la red con un ID de nodo invertido del otro de los nodos que conecta con ese enlace en la red, los ID de nodo que se concatenan para formar los segundos ID de enlace en el mismo orden que se determinó cuando se construyeron los primeros ID de enlace;
    construir unos segundos ID de trayecto para cada uno de los trayectos de igual coste, cada uno de los segundos ID de trayecto que se crea concatenando los segundos ID de enlace de la pluralidad de enlaces que forman ese trayecto a través de la red de comunicación; y
    clasificar los segundos ID de trayecto para seleccionar un segundo conjunto de trayectos diversos a través de la red de comunicación.
  2. 2.
    El aparato de la reivindicación 1, en donde los ID de nodo ordenados concatenados usados para formar los primeros ID de enlace se ordenan de manera que el ID de nodo bajo forma los bits más significativos del ID de enlace y el ID de nodo alto forma los bits menos significativos del ID de enlace.
  3. 3.
    El aparato de la reivindicación 1, en donde el paso de construir los primeros ID de trayecto comprende ordenar los primeros ID de enlace de manera que el orden en el que aparecen los primeros ID de enlace dentro de los primeros ID de trayecto es independiente del trayecto.
  4. 4.
    El aparato de la reivindicación 1, en donde el paso de construir los primeros ID de trayecto para cada uno de los trayectos de igual coste comprende clasificar los ID de enlace desde el más bajo al más alto.
  5. 5.
    El aparato de la reivindicación 1, en donde el paso de clasificar los primeros ID de trayecto comprende ordenar los primeros ID de trayecto desde el más bajo al más alto.
  6. 6.
    El aparato de la reivindicación 5, en donde el primer conjunto de trayectos diversos a través de la red de comunicación son el trayecto con el primer ID de trayecto clasificado más bajo y el trayecto con el primer ID de trayecto clasificado más alto.
  7. 7.
    El aparato de la reivindicación 1, en donde el paso de construir los segundos ID de enlace comprende el paso de aplicar una función de inversión idéntica a uno de los ID de nodo de cada uno de los enlaces para crear los ID de nodo invertidos.
  8. 8.
    El aparato de la reivindicación 7, en donde la función de inversión es una función XOR.
  9. 9.
    El aparato de la reivindicación 7, en donde los ID de nodo ordenados concatenados usados para formar los segundos ID de enlace se ordenan de manera que el ID de nodo bajo forma los bits más significativos del ID de enlace y el ID de nodo alto forma los bits menos significativos del ID de enlace y en donde la función de inversión se aplica al ID de nodo alto.
  10. 10.
    El aparato de la reivindicación 1, en donde el paso de construir los segundos ID de trayecto comprende ordenar los segundos ID de enlace de manera que el orden en el que aparecen los segundos ID de enlace dentro de los segundos ID de trayecto es independiente del orden de los enlaces en el trayecto.
    12 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    E10814836
    30-12-2014
  11. 11.
    El aparato de la reivindicación 1, en donde los segundos ID de enlace se ordenan desde el más bajo al más alto anterior a una concatenación cuando se forman los segundos ID de trayecto.
  12. 12.
    El aparato de la reivindicación 1, en donde el paso de clasificar los segundos ID de trayecto comprende ordenar los segundos ID de trayecto desde el más bajo al más alto.
  13. 13.
    El aparato de la reivindicación 12, en donde el segundo conjunto de trayectos diversos a través de la red de comunicación son los trayectos con el segundo ID de trayecto clasificado más bajo y el segundo ID de trayecto clasificado más alto.
  14. 14.
    El aparato de la reivindicación 1, que además comprende el paso de aplicar una primera función de inversión a todos los ID de nodo antes de crear los primeros y segundos ID de enlace, la primera función de inversión que se selecciona para seleccionar preferentemente un nodo de tránsito en la red a través del cual pasará el primer conjunto de trayectos haciendo el ID de nodo del nodo de tránsito un valor de ID de nodo mínimo.
  15. 15.
    El aparato de la reivindicación 14, en donde el paso de construir los segundos ID de enlace comprende el paso de aplicar una segunda función de inversión a uno de los ID de nodo de cada uno de los enlaces para crear los ID de nodo invertidos para permitir al segundo conjunto de trayectos ser seleccionado que pasa a través del nodo de tránsito y divergen lejos del nodo de tránsito.
  16. 16.
    Una red de comunicación (10), que comprende:
    una pluralidad de nodos (11-18) interconectados por enlaces, cada nodo que tiene un ID de nodo y que incluye al menos un procesador y una memoria asociada, la memoria de cada nodo que además contiene datos e instrucciones que, cuando se cargan en el procesador, hacen al nodo implementar un proceso de protocolo de encaminamiento de estado de enlace para permitir al nodo intercambiar información de configuración de la red con los otros nodos en la red y calcular trayectos a través de la red, la memoria de cada nodo que además contiene datos e instrucciones que, cuando se cargan en el procesador, hacen al nodo realizar un método que incluye los pasos de:
    determinar un conjunto de trayectos de igual coste entre un par de nodos en una red de comunicación, cada trayecto que incluye una pluralidad de enlaces;
    caracterizado por que el método además incluye los pasos de:
    construir unos primeros ID de enlace para cada enlace en cada uno de los trayectos de igual coste, cada uno de los primeros ID de enlace que se crea concatenando los ID de nodo ordenados de nodos que conectan con el enlace en la red;
    construir unos primeros ID de trayecto para cada uno de los trayectos de igual coste, cada uno de los primeros ID de trayecto que se crea concatenando los primeros ID de enlace de la pluralidad de enlaces que forman ese trayecto a través de la red de comunicación;
    clasificar los primeros ID de trayecto para seleccionar un primer conjunto de trayectos diversos a través de la red de comunicación;
    construir unos segundos ID de enlace para cada enlace en los trayectos de igual coste, cada uno de los segundos ID de enlace que se crea concatenando un ID de nodo de uno de los nodos que conecta con el enlace en la red con un ID de nodo invertido del otro de los nodos que conecta con ese enlace en la red, los ID de nodo que se concatenan en el mismo orden que se determinó cuando se construyeron los primeros ID de enlace;
    construir los segundos ID de trayecto para cada uno de los trayectos de igual coste, cada uno de los segundos ID de trayecto que se crea concatenando los segundos ID de enlace de la pluralidad de enlaces que forman ese trayecto a través de la red de comunicación; y
    clasificar los segundos ID de trayecto para seleccionar un segundo conjunto de trayectos diversos a través de la red de comunicación.
  17. 17.
    La red de la reivindicación 16, en donde cada uno de los ID de nodo se asignan administrativamente desde intervalos separados de los ID de nodo según una clasificación de nodo para permitir al primer y segundo conjunto de trayectos diversos divergir en ubicaciones seleccionadas de la red.
  18. 18.
    La red de la reivindicación 17, en donde se asignan los ID de nodo a nodos en un borde de la red a partir de un intervalo bajo y se asignan los ID de nodo a nodos en el interior de la red a partir de un intervalo alto, para hacer al primer y segundo conjunto de trayectos diversos ser un enlace diverso en el borde de la red.
  19. 19.
    La red de la reivindicación 16, en donde el paso de construir los segundos ID de enlace comprende el paso de aplicar una función de inversión idéntica a uno de los ID de nodo de cada uno de los enlaces para crear los ID de nodo invertidos.
    13
    E10814836
    30-12-2014
  20. 20. La red de la reivindicación 19, en donde los ID de nodo ordenados concatenados usados para formar los segundos ID de enlace se ordenan de manera que el ID de nodo bajo forma los bits más significativos del ID de enlace y el ID de nodo alto forma los bits menos significativos del ID de enlace y en donde la función de inversión se aplica al ID de nodo alto.
    5 21. La red de la reivindicación 16, en donde los ID de nodo de nodos de tránsito se asignan administrativamente de manera que los nodos de tránsito llegan a ser a su vez puntos de tránsito durante repeticiones sucesivas de la construcción de los primeros y segundos ID de enlace.
  21. 22. La red de la reivindicación 21, en donde las funciones de inversión selectivas elegidas para hacer coincidir los ID de nodo asignados administrativamente de los nodos de tránsito se aplica en serie a todos los ID de nodo durante
    10 las iteraciones de los pasos de creación de los primeros y segundos ID de enlace, creando los primeros y segundos ID de trayecto y clasificando los primeros y segundos ID de trayecto, para hacer diferentes trayectos a ser seleccionados a través de cada nodo de tránsito asignado en la red a su vez durante las iteraciones.
  22. 23. La red de la reivindicación 22, en donde la función de inversión es una función XOR.
    14
ES10814836.2T 2009-09-08 2010-09-08 Método y aparato para seleccionar entre múltiples trayectos de igual coste Active ES2527224T3 (es)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US574872 1984-01-30
US24042009P 2009-09-08 2009-09-08
US240420P 2009-09-08
US24611009P 2009-09-26 2009-09-26
US246110P 2009-09-26
US12/574,872 US8248925B2 (en) 2009-09-08 2009-10-07 Method and apparatus for selecting between multiple equal cost paths
PCT/CA2010/001388 WO2011029179A1 (en) 2009-09-08 2010-09-08 Method and apparatus for selecting between multiple equal cost paths

Publications (1)

Publication Number Publication Date
ES2527224T3 true ES2527224T3 (es) 2015-01-21

Family

ID=43648527

Family Applications (1)

Application Number Title Priority Date Filing Date
ES10814836.2T Active ES2527224T3 (es) 2009-09-08 2010-09-08 Método y aparato para seleccionar entre múltiples trayectos de igual coste

Country Status (9)

Country Link
US (3) US8248925B2 (es)
EP (2) EP2793435A1 (es)
JP (1) JP5551253B2 (es)
KR (1) KR20120100908A (es)
CN (1) CN102804712B (es)
CA (1) CA2773400A1 (es)
ES (1) ES2527224T3 (es)
IN (1) IN2012DN02332A (es)
WO (1) WO2011029179A1 (es)

Families Citing this family (183)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9456054B2 (en) 2008-05-16 2016-09-27 Palo Alto Research Center Incorporated Controlling the spread of interests and content in a content centric network
US8248925B2 (en) * 2009-09-08 2012-08-21 Rockstar Bidco, LP Method and apparatus for selecting between multiple equal cost paths
US8923293B2 (en) 2009-10-21 2014-12-30 Palo Alto Research Center Incorporated Adaptive multi-interface use for content networking
US9210071B2 (en) 2010-08-16 2015-12-08 Telefonaktiebolaget L M Ericsson (Publ) Automated traffic engineering for fat tree networks
US8773992B2 (en) * 2010-10-11 2014-07-08 At&T Intellectual Property I, L.P. Methods and apparatus for hierarchical routing in communication networks
CN102546255B (zh) * 2012-01-11 2015-01-21 华为技术有限公司 一种网络路径组的管理、显示方法、装置及网管系统
US8982689B2 (en) * 2012-04-20 2015-03-17 Telefonaktiebolaget L M Ericsson (Publ) Split tiebreakers for 802.1AQ
US8848509B2 (en) 2012-04-27 2014-09-30 Telefonaktiebolaget L M Ericsson (Publ) Three stage folded Clos optimization for 802.1aq
US10025877B2 (en) * 2012-06-06 2018-07-17 23Andme, Inc. Determining family connections of individuals in a database
US9049233B2 (en) 2012-10-05 2015-06-02 Cisco Technology, Inc. MPLS segment-routing
US9280546B2 (en) 2012-10-31 2016-03-08 Palo Alto Research Center Incorporated System and method for accessing digital content using a location-independent name
US9400800B2 (en) 2012-11-19 2016-07-26 Palo Alto Research Center Incorporated Data transport by named content synchronization
US9529785B2 (en) 2012-11-27 2016-12-27 Google Inc. Detecting relationships between edits and acting on a subset of edits
US10430839B2 (en) 2012-12-12 2019-10-01 Cisco Technology, Inc. Distributed advertisement insertion in content-centric networks
US10476787B1 (en) 2012-12-27 2019-11-12 Sitting Man, Llc Routing methods, systems, and computer program products
US10447575B1 (en) 2012-12-27 2019-10-15 Sitting Man, Llc Routing methods, systems, and computer program products
US10397100B1 (en) 2012-12-27 2019-08-27 Sitting Man, Llc Routing methods, systems, and computer program products using a region scoped outside-scope identifier
US10419334B1 (en) 2012-12-27 2019-09-17 Sitting Man, Llc Internet protocol routing methods, systems, and computer program products
US10404582B1 (en) 2012-12-27 2019-09-03 Sitting Man, Llc Routing methods, systems, and computer program products using an outside-scope indentifier
US10404583B1 (en) 2012-12-27 2019-09-03 Sitting Man, Llc Routing methods, systems, and computer program products using multiple outside-scope identifiers
US10419335B1 (en) 2012-12-27 2019-09-17 Sitting Man, Llc Region scope-specific outside-scope indentifier-equipped routing methods, systems, and computer program products
US10411998B1 (en) 2012-12-27 2019-09-10 Sitting Man, Llc Node scope-specific outside-scope identifier-equipped routing methods, systems, and computer program products
US10904144B2 (en) 2012-12-27 2021-01-26 Sitting Man, Llc Methods, systems, and computer program products for associating a name with a network path
US10374938B1 (en) 2012-12-27 2019-08-06 Sitting Man, Llc Routing methods, systems, and computer program products
US10411997B1 (en) 2012-12-27 2019-09-10 Sitting Man, Llc Routing methods, systems, and computer program products for using a region scoped node identifier
US10587505B1 (en) 2012-12-27 2020-03-10 Sitting Man, Llc Routing methods, systems, and computer program products
US10212076B1 (en) 2012-12-27 2019-02-19 Sitting Man, Llc Routing methods, systems, and computer program products for mapping a node-scope specific identifier
US10397101B1 (en) 2012-12-27 2019-08-27 Sitting Man, Llc Routing methods, systems, and computer program products for mapping identifiers
US20150193089A1 (en) * 2013-01-15 2015-07-09 Google Inc. Dynamic presentation systems and methods
US9537718B2 (en) 2013-03-15 2017-01-03 Cisco Technology, Inc. Segment routing over label distribution protocol
US9978025B2 (en) 2013-03-20 2018-05-22 Cisco Technology, Inc. Ordered-element naming for name-based packet forwarding
US9935791B2 (en) 2013-05-20 2018-04-03 Cisco Technology, Inc. Method and system for name resolution across heterogeneous architectures
US9185120B2 (en) 2013-05-23 2015-11-10 Palo Alto Research Center Incorporated Method and system for mitigating interest flooding attacks in content-centric networks
US9444722B2 (en) 2013-08-01 2016-09-13 Palo Alto Research Center Incorporated Method and apparatus for configuring routing paths in a custodian-based routing architecture
US9971752B2 (en) 2013-08-19 2018-05-15 Google Llc Systems and methods for resolving privileged edits within suggested edits
US9348803B2 (en) 2013-10-22 2016-05-24 Google Inc. Systems and methods for providing just-in-time preview of suggestion resolutions
US9407549B2 (en) 2013-10-29 2016-08-02 Palo Alto Research Center Incorporated System and method for hash-based forwarding of packets with hierarchically structured variable-length identifiers
US9282050B2 (en) 2013-10-30 2016-03-08 Palo Alto Research Center Incorporated System and method for minimum path MTU discovery in content centric networks
US9276840B2 (en) 2013-10-30 2016-03-01 Palo Alto Research Center Incorporated Interest messages with a payload for a named data network
US9401864B2 (en) 2013-10-31 2016-07-26 Palo Alto Research Center Incorporated Express header for packets with hierarchically structured variable-length identifiers
US10129365B2 (en) 2013-11-13 2018-11-13 Cisco Technology, Inc. Method and apparatus for pre-fetching remote content based on static and dynamic recommendations
US10101801B2 (en) 2013-11-13 2018-10-16 Cisco Technology, Inc. Method and apparatus for prefetching content in a data stream
US9311377B2 (en) 2013-11-13 2016-04-12 Palo Alto Research Center Incorporated Method and apparatus for performing server handoff in a name-based content distribution system
US10089655B2 (en) 2013-11-27 2018-10-02 Cisco Technology, Inc. Method and apparatus for scalable data broadcasting
US9503358B2 (en) * 2013-12-05 2016-11-22 Palo Alto Research Center Incorporated Distance-based routing in an information-centric network
US9379979B2 (en) 2014-01-14 2016-06-28 Palo Alto Research Center Incorporated Method and apparatus for establishing a virtual interface for a set of mutual-listener devices
US10098051B2 (en) 2014-01-22 2018-10-09 Cisco Technology, Inc. Gateways and routing in software-defined manets
US10172068B2 (en) 2014-01-22 2019-01-01 Cisco Technology, Inc. Service-oriented routing in software-defined MANETs
US9374304B2 (en) 2014-01-24 2016-06-21 Palo Alto Research Center Incorporated End-to end route tracing over a named-data network
US9954678B2 (en) 2014-02-06 2018-04-24 Cisco Technology, Inc. Content-based transport security
US9531679B2 (en) 2014-02-06 2016-12-27 Palo Alto Research Center Incorporated Content-based transport security for distributed producers
US9678998B2 (en) 2014-02-28 2017-06-13 Cisco Technology, Inc. Content name resolution for information centric networking
US10089651B2 (en) 2014-03-03 2018-10-02 Cisco Technology, Inc. Method and apparatus for streaming advertisements in a scalable data broadcasting system
US9836540B2 (en) 2014-03-04 2017-12-05 Cisco Technology, Inc. System and method for direct storage access in a content-centric network
US9762488B2 (en) 2014-03-06 2017-09-12 Cisco Technology, Inc. Segment routing extension headers
US9626413B2 (en) 2014-03-10 2017-04-18 Cisco Systems, Inc. System and method for ranking content popularity in a content-centric network
US9391896B2 (en) 2014-03-10 2016-07-12 Palo Alto Research Center Incorporated System and method for packet forwarding using a conjunctive normal form strategy in a content-centric network
US9473405B2 (en) 2014-03-10 2016-10-18 Palo Alto Research Center Incorporated Concurrent hashes and sub-hashes on data streams
US9407432B2 (en) 2014-03-19 2016-08-02 Palo Alto Research Center Incorporated System and method for efficient and secure distribution of digital content
US9916601B2 (en) 2014-03-21 2018-03-13 Cisco Technology, Inc. Marketplace for presenting advertisements in a scalable data broadcasting system
US9363179B2 (en) 2014-03-26 2016-06-07 Palo Alto Research Center Incorporated Multi-publisher routing protocol for named data networks
US9363086B2 (en) 2014-03-31 2016-06-07 Palo Alto Research Center Incorporated Aggregate signing of data in content centric networking
US9716622B2 (en) 2014-04-01 2017-07-25 Cisco Technology, Inc. System and method for dynamic name configuration in content-centric networks
US10075521B2 (en) 2014-04-07 2018-09-11 Cisco Technology, Inc. Collection synchronization using equality matched network names
US9473576B2 (en) 2014-04-07 2016-10-18 Palo Alto Research Center Incorporated Service discovery using collection synchronization with exact names
US9390289B2 (en) 2014-04-07 2016-07-12 Palo Alto Research Center Incorporated Secure collection synchronization using matched network names
US9451032B2 (en) 2014-04-10 2016-09-20 Palo Alto Research Center Incorporated System and method for simple service discovery in content-centric networks
US9203885B2 (en) 2014-04-28 2015-12-01 Palo Alto Research Center Incorporated Method and apparatus for exchanging bidirectional streams over a content centric network
US9992281B2 (en) 2014-05-01 2018-06-05 Cisco Technology, Inc. Accountable content stores for information centric networks
US9609014B2 (en) 2014-05-22 2017-03-28 Cisco Systems, Inc. Method and apparatus for preventing insertion of malicious content at a named data network router
US9455835B2 (en) 2014-05-23 2016-09-27 Palo Alto Research Center Incorporated System and method for circular link resolution with hash-based names in content-centric networks
US9276751B2 (en) 2014-05-28 2016-03-01 Palo Alto Research Center Incorporated System and method for circular link resolution with computable hash-based names in content-centric networks
US9537719B2 (en) 2014-06-19 2017-01-03 Palo Alto Research Center Incorporated Method and apparatus for deploying a minimal-cost CCN topology
US9516144B2 (en) 2014-06-19 2016-12-06 Palo Alto Research Center Incorporated Cut-through forwarding of CCNx message fragments with IP encapsulation
US9467377B2 (en) 2014-06-19 2016-10-11 Palo Alto Research Center Incorporated Associating consumer states with interests in a content-centric network
US9426113B2 (en) 2014-06-30 2016-08-23 Palo Alto Research Center Incorporated System and method for managing devices over a content centric network
US9699198B2 (en) 2014-07-07 2017-07-04 Cisco Technology, Inc. System and method for parallel secure content bootstrapping in content-centric networks
US9959156B2 (en) 2014-07-17 2018-05-01 Cisco Technology, Inc. Interest return control message
US9621354B2 (en) 2014-07-17 2017-04-11 Cisco Systems, Inc. Reconstructable content objects
US9807001B2 (en) 2014-07-17 2017-10-31 Cisco Technology, Inc. Segment routing using a remote forwarding adjacency identifier
US9729616B2 (en) 2014-07-18 2017-08-08 Cisco Technology, Inc. Reputation-based strategy for forwarding and responding to interests over a content centric network
US9590887B2 (en) 2014-07-18 2017-03-07 Cisco Systems, Inc. Method and system for keeping interest alive in a content centric network
US9535968B2 (en) 2014-07-21 2017-01-03 Palo Alto Research Center Incorporated System for distributing nameless objects using self-certifying names
US9882964B2 (en) 2014-08-08 2018-01-30 Cisco Technology, Inc. Explicit strategy feedback in name-based forwarding
US9729662B2 (en) 2014-08-11 2017-08-08 Cisco Technology, Inc. Probabilistic lazy-forwarding technique without validation in a content centric network
US9503365B2 (en) 2014-08-11 2016-11-22 Palo Alto Research Center Incorporated Reputation-based instruction processing over an information centric network
US9391777B2 (en) 2014-08-15 2016-07-12 Palo Alto Research Center Incorporated System and method for performing key resolution over a content centric network
US9467492B2 (en) 2014-08-19 2016-10-11 Palo Alto Research Center Incorporated System and method for reconstructable all-in-one content stream
US9800637B2 (en) 2014-08-19 2017-10-24 Cisco Technology, Inc. System and method for all-in-one content stream in content-centric networks
US9497282B2 (en) 2014-08-27 2016-11-15 Palo Alto Research Center Incorporated Network coding for content-centric network
US10204013B2 (en) 2014-09-03 2019-02-12 Cisco Technology, Inc. System and method for maintaining a distributed and fault-tolerant state over an information centric network
US9553812B2 (en) 2014-09-09 2017-01-24 Palo Alto Research Center Incorporated Interest keep alives at intermediate routers in a CCN
US10069933B2 (en) 2014-10-23 2018-09-04 Cisco Technology, Inc. System and method for creating virtual interfaces based on network characteristics
US9536059B2 (en) 2014-12-15 2017-01-03 Palo Alto Research Center Incorporated Method and system for verifying renamed content using manifests in a content centric network
US9590948B2 (en) 2014-12-15 2017-03-07 Cisco Systems, Inc. CCN routing using hardware-assisted hash tables
US10237189B2 (en) 2014-12-16 2019-03-19 Cisco Technology, Inc. System and method for distance-based interest forwarding
US9846881B2 (en) 2014-12-19 2017-12-19 Palo Alto Research Center Incorporated Frugal user engagement help systems
US10003520B2 (en) 2014-12-22 2018-06-19 Cisco Technology, Inc. System and method for efficient name-based content routing using link-state information in information-centric networks
US9473475B2 (en) 2014-12-22 2016-10-18 Palo Alto Research Center Incorporated Low-cost authenticated signing delegation in content centric networking
US10243832B2 (en) * 2014-12-23 2019-03-26 Industrial Technology Research Institute Routing message delivery method applicable to network node and network node using the same and communication network using the same
US9660825B2 (en) 2014-12-24 2017-05-23 Cisco Technology, Inc. System and method for multi-source multicasting in content-centric networks
US9832291B2 (en) 2015-01-12 2017-11-28 Cisco Technology, Inc. Auto-configurable transport stack
US9946743B2 (en) 2015-01-12 2018-04-17 Cisco Technology, Inc. Order encoded manifests in a content centric network
US9954795B2 (en) 2015-01-12 2018-04-24 Cisco Technology, Inc. Resource allocation using CCN manifests
US9602596B2 (en) 2015-01-12 2017-03-21 Cisco Systems, Inc. Peer-to-peer sharing in a content centric network
US9916457B2 (en) 2015-01-12 2018-03-13 Cisco Technology, Inc. Decoupled name security binding for CCN objects
US9832085B1 (en) * 2015-01-20 2017-11-28 Mehdi Malboubi System for estimating unknown attributes of interest in the under-determined inverse problem and a process of accomplishing the same
US9462006B2 (en) 2015-01-21 2016-10-04 Palo Alto Research Center Incorporated Network-layer application-specific trust model
US9552493B2 (en) 2015-02-03 2017-01-24 Palo Alto Research Center Incorporated Access control framework for information centric networking
US10333840B2 (en) 2015-02-06 2019-06-25 Cisco Technology, Inc. System and method for on-demand content exchange with adaptive naming in information-centric networks
ES2747263T3 (es) * 2015-02-12 2020-03-10 Huawei Tech Co Ltd Procedimiento, dispositivo y sistema de selección de ruta
US10341221B2 (en) 2015-02-26 2019-07-02 Cisco Technology, Inc. Traffic engineering for bit indexed explicit replication
US10075401B2 (en) 2015-03-18 2018-09-11 Cisco Technology, Inc. Pending interest table behavior
US10116605B2 (en) 2015-06-22 2018-10-30 Cisco Technology, Inc. Transport stack name scheme and identity management
US10075402B2 (en) 2015-06-24 2018-09-11 Cisco Technology, Inc. Flexible command and control in content centric networks
US10701038B2 (en) 2015-07-27 2020-06-30 Cisco Technology, Inc. Content negotiation in a content centric network
US9986034B2 (en) 2015-08-03 2018-05-29 Cisco Technology, Inc. Transferring state in content centric network stacks
US10610144B2 (en) 2015-08-19 2020-04-07 Palo Alto Research Center Incorporated Interactive remote patient monitoring and condition management intervention system
US9832123B2 (en) 2015-09-11 2017-11-28 Cisco Technology, Inc. Network named fragments in a content centric network
US10355999B2 (en) 2015-09-23 2019-07-16 Cisco Technology, Inc. Flow control with network named fragments
US10313227B2 (en) 2015-09-24 2019-06-04 Cisco Technology, Inc. System and method for eliminating undetected interest looping in information-centric networks
US9977809B2 (en) 2015-09-24 2018-05-22 Cisco Technology, Inc. Information and data framework in a content centric network
US10454820B2 (en) 2015-09-29 2019-10-22 Cisco Technology, Inc. System and method for stateless information-centric networking
US10263965B2 (en) 2015-10-16 2019-04-16 Cisco Technology, Inc. Encrypted CCNx
US9794238B2 (en) 2015-10-29 2017-10-17 Cisco Technology, Inc. System for key exchange in a content centric network
US10009446B2 (en) 2015-11-02 2018-06-26 Cisco Technology, Inc. Header compression for CCN messages using dictionary learning
US9807205B2 (en) 2015-11-02 2017-10-31 Cisco Technology, Inc. Header compression for CCN messages using dictionary
US10021222B2 (en) 2015-11-04 2018-07-10 Cisco Technology, Inc. Bit-aligned header compression for CCN messages using dictionary
US10097521B2 (en) 2015-11-20 2018-10-09 Cisco Technology, Inc. Transparent encryption in a content centric network
US9912776B2 (en) 2015-12-02 2018-03-06 Cisco Technology, Inc. Explicit content deletion commands in a content centric network
US10097346B2 (en) 2015-12-09 2018-10-09 Cisco Technology, Inc. Key catalogs in a content centric network
US10078062B2 (en) 2015-12-15 2018-09-18 Palo Alto Research Center Incorporated Device health estimation by combining contextual information with sensor data
US10257271B2 (en) 2016-01-11 2019-04-09 Cisco Technology, Inc. Chandra-Toueg consensus in a content centric network
US9949301B2 (en) 2016-01-20 2018-04-17 Palo Alto Research Center Incorporated Methods for fast, secure and privacy-friendly internet connection discovery in wireless networks
US10305864B2 (en) 2016-01-25 2019-05-28 Cisco Technology, Inc. Method and system for interest encryption in a content centric network
US10043016B2 (en) 2016-02-29 2018-08-07 Cisco Technology, Inc. Method and system for name encryption agreement in a content centric network
US10051071B2 (en) 2016-03-04 2018-08-14 Cisco Technology, Inc. Method and system for collecting historical network information in a content centric network
US10742596B2 (en) 2016-03-04 2020-08-11 Cisco Technology, Inc. Method and system for reducing a collision probability of hash-based names using a publisher identifier
US10038633B2 (en) 2016-03-04 2018-07-31 Cisco Technology, Inc. Protocol to query for historical network information in a content centric network
US10003507B2 (en) 2016-03-04 2018-06-19 Cisco Technology, Inc. Transport session state protocol
US9832116B2 (en) 2016-03-14 2017-11-28 Cisco Technology, Inc. Adjusting entries in a forwarding information base in a content centric network
US10212196B2 (en) 2016-03-16 2019-02-19 Cisco Technology, Inc. Interface discovery and authentication in a name-based network
US11436656B2 (en) 2016-03-18 2022-09-06 Palo Alto Research Center Incorporated System and method for a real-time egocentric collaborative filter on large datasets
US10067948B2 (en) 2016-03-18 2018-09-04 Cisco Technology, Inc. Data deduping in content centric networking manifests
US10091330B2 (en) 2016-03-23 2018-10-02 Cisco Technology, Inc. Interest scheduling by an information and data framework in a content centric network
US10033639B2 (en) 2016-03-25 2018-07-24 Cisco Technology, Inc. System and method for routing packets in a content centric network using anonymous datagrams
US10320760B2 (en) 2016-04-01 2019-06-11 Cisco Technology, Inc. Method and system for mutating and caching content in a content centric network
US9930146B2 (en) 2016-04-04 2018-03-27 Cisco Technology, Inc. System and method for compressing content centric networking messages
US10425503B2 (en) 2016-04-07 2019-09-24 Cisco Technology, Inc. Shared pending interest table in a content centric network
US10027578B2 (en) 2016-04-11 2018-07-17 Cisco Technology, Inc. Method and system for routable prefix queries in a content centric network
US10404450B2 (en) 2016-05-02 2019-09-03 Cisco Technology, Inc. Schematized access control in a content centric network
US10320675B2 (en) 2016-05-04 2019-06-11 Cisco Technology, Inc. System and method for routing packets in a stateless content centric network
US10547589B2 (en) 2016-05-09 2020-01-28 Cisco Technology, Inc. System for implementing a small computer systems interface protocol over a content centric network
US10116526B2 (en) * 2016-05-13 2018-10-30 Ivanti, Inc. Systems and methods for providing a self-electing service
US10063414B2 (en) 2016-05-13 2018-08-28 Cisco Technology, Inc. Updating a transport stack in a content centric network
US10084764B2 (en) 2016-05-13 2018-09-25 Cisco Technology, Inc. System for a secure encryption proxy in a content centric network
CN109075998B (zh) * 2016-05-16 2021-05-11 三菱电机株式会社 转送装置、调整装置以及参数调整方法
US10263881B2 (en) 2016-05-26 2019-04-16 Cisco Technology, Inc. Enforcing strict shortest path forwarding using strict segment identifiers
US10103989B2 (en) 2016-06-13 2018-10-16 Cisco Technology, Inc. Content object return messages in a content centric network
US10305865B2 (en) 2016-06-21 2019-05-28 Cisco Technology, Inc. Permutation-based content encryption with manifests in a content centric network
US10148572B2 (en) 2016-06-27 2018-12-04 Cisco Technology, Inc. Method and system for interest groups in a content centric network
US10009266B2 (en) 2016-07-05 2018-06-26 Cisco Technology, Inc. Method and system for reference counted pending interest tables in a content centric network
US9992097B2 (en) 2016-07-11 2018-06-05 Cisco Technology, Inc. System and method for piggybacking routing information in interests in a content centric network
US10122624B2 (en) 2016-07-25 2018-11-06 Cisco Technology, Inc. System and method for ephemeral entries in a forwarding information base in a content centric network
US10069729B2 (en) 2016-08-08 2018-09-04 Cisco Technology, Inc. System and method for throttling traffic based on a forwarding information base in a content centric network
US10956412B2 (en) 2016-08-09 2021-03-23 Cisco Technology, Inc. Method and system for conjunctive normal form attribute matching in a content centric network
US10274331B2 (en) 2016-09-16 2019-04-30 Polaris Industries Inc. Device and method for improving route planning computing devices
US10033642B2 (en) 2016-09-19 2018-07-24 Cisco Technology, Inc. System and method for making optimal routing decisions based on device-specific parameters in a content centric network
US10212248B2 (en) 2016-10-03 2019-02-19 Cisco Technology, Inc. Cache management on high availability routers in a content centric network
US10447805B2 (en) 2016-10-10 2019-10-15 Cisco Technology, Inc. Distributed consensus in a content centric network
US10135948B2 (en) 2016-10-31 2018-11-20 Cisco Technology, Inc. System and method for process migration in a content centric network
US10243851B2 (en) 2016-11-21 2019-03-26 Cisco Technology, Inc. System and method for forwarder connection information in a content centric network
CN106789643B (zh) * 2016-11-30 2019-05-31 中国人民解放军国防科学技术大学 一种适用于园区网的扁平单播路由方法
CN110798332B (zh) * 2018-08-03 2022-09-06 Emc Ip控股有限公司 用于搜索目录访问组的方法和系统
US11240355B2 (en) 2019-05-17 2022-02-01 Arista Networks, Inc. Platform agnostic abstraction for forwarding equivalence classes with hierarchy
US11112251B2 (en) 2019-09-03 2021-09-07 Here Global B.V. Method, apparatus, and computer program product for generating correspondence between map versions
US11536573B2 (en) * 2019-09-03 2022-12-27 Here Global B.V. Method, apparatus, and computer program product for generating correspondence between map versions
US11140074B2 (en) 2019-09-24 2021-10-05 Cisco Technology, Inc. Communicating packets across multi-domain networks using compact forwarding instructions
US11411855B1 (en) * 2020-06-30 2022-08-09 Amazon Technologies, Inc. Computation of ranked path options in networks
WO2022003881A1 (ja) * 2020-07-01 2022-01-06 日本電信電話株式会社 パス設定システム、制御装置、プログラムおよびパス設定方法
US11700201B2 (en) * 2021-07-26 2023-07-11 Arista Networks, Inc. Mechanism to enforce consistent next hops in a multi-tier network
US11632323B2 (en) * 2021-08-18 2023-04-18 Microsoft Technology Licensing, Llc Routing information exchange between separate networks to improve end-to-end network performance for users
CN114296445B (zh) * 2021-11-26 2024-03-29 山东大学 基于回环路网随机树的最优路径实时规划方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633544B1 (en) * 1998-06-24 2003-10-14 At&T Corp. Efficient precomputation of quality-of-service routes
AU7730400A (en) * 1999-09-30 2001-04-30 Routech, Inc. Automatic routing system for pc board design
US6728779B1 (en) * 1999-12-01 2004-04-27 Lucent Technologies Inc. Method and apparatus for exchanging routing information in a packet-based data network
US6928484B1 (en) * 2000-01-18 2005-08-09 Cisco Technology, Inc. Method and apparatus for discovering edge-disjoint shortest path pairs during shortest path tree computation
JP2002359636A (ja) * 2001-05-31 2002-12-13 Nec Corp 経路ペア設計方法、経路ペア設計装置及びプログラム
US7046634B2 (en) * 2002-04-15 2006-05-16 Tropic Networks Inc. Method and apparatus for selecting maximally disjoint shortest paths in a network
US20040032832A1 (en) * 2002-07-30 2004-02-19 Snehal Desai System and method for determining the shortest path between a pair of nodes in an equal cost network
GB2421158B (en) * 2003-10-03 2007-07-11 Avici Systems Inc Rapid alternate paths for network destinations
US7903573B2 (en) * 2006-02-01 2011-03-08 Cisco Technology, Inc. Method and system for network traffic matrix analysis
US8374092B2 (en) * 2006-08-28 2013-02-12 Cisco Technology, Inc. Technique for protecting against failure of a network element using multi-topology repair routing (MTRR)
US8094555B2 (en) * 2006-11-27 2012-01-10 Cisco Technology, Inc. Dynamic weighted-fair load-balancing
US8014291B2 (en) * 2006-11-28 2011-09-06 Cisco Technology, Inc. Relaxed constrained shortest path first (R-CSPF)
US8953486B2 (en) * 2007-11-09 2015-02-10 Cisco Technology, Inc. Global auto-configuration of network devices connected to multipoint virtual connections
US7911944B2 (en) * 2007-12-26 2011-03-22 Nortel Networks Limited Tie-breaking in shortest path determination
US8565247B2 (en) * 2009-08-19 2013-10-22 Brocade Communications Systems, Inc. Techniques for efficiently updating routing information upon shortest path tree computation
US8248925B2 (en) * 2009-09-08 2012-08-21 Rockstar Bidco, LP Method and apparatus for selecting between multiple equal cost paths
US20110216769A1 (en) * 2010-03-08 2011-09-08 Brocade Communications Systems, Inc. Dynamic Path Selection

Also Published As

Publication number Publication date
US20110060844A1 (en) 2011-03-10
US8248925B2 (en) 2012-08-21
WO2011029179A1 (en) 2011-03-17
US8750820B2 (en) 2014-06-10
JP2013504272A (ja) 2013-02-04
EP2476226B1 (en) 2014-11-26
JP5551253B2 (ja) 2014-07-16
CN102804712B (zh) 2015-05-27
US20120307832A1 (en) 2012-12-06
EP2793435A1 (en) 2014-10-22
KR20120100908A (ko) 2012-09-12
IN2012DN02332A (es) 2015-08-21
CA2773400A1 (en) 2011-03-17
EP2476226A4 (en) 2013-04-24
EP2476226A1 (en) 2012-07-18
CN102804712A (zh) 2012-11-28
US20140286334A1 (en) 2014-09-25

Similar Documents

Publication Publication Date Title
ES2527224T3 (es) Método y aparato para seleccionar entre múltiples trayectos de igual coste
US8699329B2 (en) Tie-breaking in shortest path determination
US8761022B2 (en) Tie-breaking in shortest path determination
TWI493926B (zh) 複雜型樹狀網路之自動化訊務工程
US11121984B2 (en) Routing tables for forwarding packets between switches in a data center network
Chiesa et al. On the resiliency of randomized routing against multiple edge failures
WO2013173900A1 (en) Tie-breaking in shortest path determination
US9654382B2 (en) Use of alternate paths in forwarding of network packets
US20230396546A1 (en) Increasing multi-path size using hierarchical forwarding equivalent classes
US8842575B2 (en) Method and apparatus for providing a non-overlapping ring-mesh network topology
Shimonishi et al. Building hierarchical switch network using openflow
US10218538B1 (en) Hybrid Clos-multidimensional topology for data center networks
Cicic et al. Resilient routing layers and p-cycles: Tradeoffs in network fault tolerance
Jerger et al. Routing