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 PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/66—Layer 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)
- 5101520253035404550E1081483630-12-2014REIVINDICACIONES1. 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; yclasificar los segundos ID de trayecto para seleccionar un segundo conjunto de trayectos diversos a través de la red de comunicación.
-
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- El aparato de la reivindicación 7, en donde la función de inversión es una función XOR.
-
- 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.
- 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 5101520253035404550E1081483630-12-2014 -
- 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.
- 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.
- 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.
- 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.
- 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.
- 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; yclasificar los segundos ID de trayecto para seleccionar un segundo conjunto de trayectos diversos a través de la red de comunicación. -
- 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.
- 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.
- 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.
13E1081483630-12-2014 - 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.
- 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 durante10 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.
- 23. La red de la reivindicación 22, en donde la función de inversión es una función XOR.14
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)
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)
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 |
-
2009
- 2009-10-07 US US12/574,872 patent/US8248925B2/en not_active Expired - Fee Related
-
2010
- 2010-09-08 ES ES10814836.2T patent/ES2527224T3/es active Active
- 2010-09-08 EP EP20140175306 patent/EP2793435A1/en not_active Withdrawn
- 2010-09-08 JP JP2012528201A patent/JP5551253B2/ja not_active Expired - Fee Related
- 2010-09-08 WO PCT/CA2010/001388 patent/WO2011029179A1/en active Application Filing
- 2010-09-08 CN CN201080050327.XA patent/CN102804712B/zh not_active Expired - Fee Related
- 2010-09-08 CA CA 2773400 patent/CA2773400A1/en not_active Abandoned
- 2010-09-08 KR KR20127009069A patent/KR20120100908A/ko not_active Application Discontinuation
- 2010-09-08 IN IN2332DEN2012 patent/IN2012DN02332A/en unknown
- 2010-09-08 EP EP20100814836 patent/EP2476226B1/en not_active Not-in-force
-
2012
- 2012-08-20 US US13/589,372 patent/US8750820B2/en not_active Expired - Fee Related
-
2014
- 2014-06-09 US US14/299,118 patent/US20140286334A1/en not_active Abandoned
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 |