MXPA04012761A - Enrutador de transmision con un deposito de configuracion compartida. - Google Patents

Enrutador de transmision con un deposito de configuracion compartida.

Info

Publication number
MXPA04012761A
MXPA04012761A MXPA04012761A MXPA04012761A MXPA04012761A MX PA04012761 A MXPA04012761 A MX PA04012761A MX PA04012761 A MXPA04012761 A MX PA04012761A MX PA04012761 A MXPA04012761 A MX PA04012761A MX PA04012761 A MXPA04012761 A MX PA04012761A
Authority
MX
Mexico
Prior art keywords
cards
card
configuration
router
residing
Prior art date
Application number
MXPA04012761A
Other languages
English (en)
Inventor
L Johnson Charles
Original Assignee
Thomson Licensing Sa
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thomson Licensing Sa filed Critical Thomson Licensing Sa
Publication of MXPA04012761A publication Critical patent/MXPA04012761A/es

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/60Router architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software
    • H04L45/563Software download or update
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/254Centralised controller, i.e. arbitration or scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/45Arrangements for providing or supporting expansion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/552Prevention, detection or correction of errors by ensuring the integrity of packets received through redundant connections

Landscapes

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

Abstract

Un enrutador (100) de transmision incluye multiples tarjetas (136-1 a 136-N) de entrada, primer y segunda tarjeta de matriz del enrutador (134a y 134b) y multiples tarjetas (138-1 a 138-M) de salida. Los dispositivos (142-1 a 142-M) programables que residen en las tarjetas que requieren configuracion emiten un solicitud de configuracion a un controlador (148) principal el cual reside, con un deposito (146) compartido de informacion de configuracion en una tarjeta (140) de control de configuracion. Despues de que transcurre un periodo de tiempo predeterminado que permite a los dispositivos programables adicionales solicitar la configuracion, el controlador (148) principal analiza los dispositivos programables que residen en las tarjetas para determinar cual de los dispositivos programables ha solicitado la configuracion y con el uso de la informacion de configuracion mantenida en el deposito (146) de informacion de configuracion configura cada dispositivo programable que ha solicitado la configuracion.

Description

ENRUTADOR DE TRANSMISIÓN CON UN DEPÓSITO DE CONFIGURACIÓN COMPARTIDA REFERENCIA CRUZADA CON SOLICITUDES RELACIONADAS Esta solicitud se relaciona con la Solicitud Provisional de Patente de Estados Unidos No. 60/390,347, presentada el 21 de junio de 2002. Esta solicitud también se relaciona con las Solicitudes co-pendientes de Patente de Estados Unidos Nos. de serie: PCT/ (Referencia del abogado No. IU020620); PCT/ (Referencia del abogado No. IU020157); PCT/ (Referencia del abogado No. IU020158); CT/ (Referencia del abogado No. IU020159); PCT/ (Referencia del abogado No. IU020160); PCT/ (Referencia del abogado No. IU020161); PCT/ (Referencia del abogado No. IU020162); PCT/ (Referencia del abogado No. IU020252); PCT/ (Referencia del abogado No. IU020253); PCT/ (Referencia del abogado No. IU020254); y PCT/ (Referencia del abogado No. IU020255); todas ellas cedidas al cesionario de la presente invención y se incorporan aquí como referencia en su totalidad, CAMPO DE LA INVENCIÓN La presente invención se relaciona con dispositivos programables y más en particular, a un sistema que tiene múltiples tarjetas, cada una con uno o más dispositivos programables, que se pueden configurar con el uso de un despliegue de configuración compartida.
ANTECEDENTES DE LA INVENCIÓN Un enrutador de transmisión permite a cada una de la pluralidad de salidas desde el mismo ser asignadas con una señal desde cualquiera de la pluralidad de entradas del mismo. Por ejemplo, un enrutador de transmisión N x M tiene N entradas y salidas acopladas juntas por una matriz del enrutador que permite a una de las entradas N ser aplicada en cada una de las salidas M. Muchos de los enrutadores de transmisión están compuestos con un solo chasis que alojan múltiples tableros de circuito impresos, con frecuencia llamados como "tarjetas" interconectadas con una amplia variedad de configuraciones. Con frecuencia, muchas de las tarjetas alojadas dentro del enrutador de transmisión son réplicas de otras tarjetas dentro del mismo enrutador de transmisión. Por ejemplo, la solicitud de Patente de Estados Unidos No. de serie 10/ (Referencia del abogado IU020160) incorporada previamente como referencia, se describe un enrutador de transmisión de 1,280 x 1,280, que cuando se construye requiere del uso de 40 tarjetas de entrada configuradas idénticas, cada una con 32 entradas por tarjeta. Típicamente, uno o más arreglos de pasarela programabie de campo (o FPGA) residen en tales tarjetas. Un FPGA es un circuito integrado que se puede programar en el campo después de su fabricación. Cuando una tarjeta por ejemplo, tarjeta de entrada antes mencionada, que lleva uno o más FPGA se energiza, por ejemplo, por el encendido de un enrutador de transmisión en donde se ha instalado o insertado la tarjeta (o enchufado) dentro de una ranura en la barra colectora de entrada/salida (o l/O) del enrutador de transmisión, después de su encendido, los FPGA que residen en esa tarjeta se deben configurar. Tradicionalmente, los FPGA están configurados por el dispositivo de almacenamiento, por ejemplo, una memoria de solamente lectura programabie (PROM), que reside con el FPGA en esa tarjeta. Sin embargo, al configurar FPGA de esta manera provoca que la circuitería de configuración necesaria y los dispositivos de almacenamiento de datos sean replicados en cada tarjeta que lleva los FPGA en otros dispositivos programables que requieren configuración. Tales técnicas de configuración pueden ser costosas, especialmente para los enrutadores de transmisión u otros sistemas que incluyen múltiples tarjetas en donde residen los dispositivos que requieren configuración.
BREVE DESCRIPCIÓN DE LA INVENCIÓN Un sistema electrónico que incluye múltiples tarjetas de función, cada una con por io menos un dispositivo programable residiendo en el mismo. El sistema electrónico también incluye una tarjeta de control de configuración, acoplada con cada una de las múltiples tarjetas de función, para configurar los dispositivos programables que residen en las múltiples tarjetas de función. En un aspecto de la invención, un dispositivo de memoria que reside en la tarjeta de control de configuración funciona como un depósito de información de configuración compartido para mantener la información de configuración para usarse cuando se configuran los dispositivos programables que residen en las múltiples tarjetas de función. En otra modalidad, la configuración de los dispositivos programables que residen en una de las tarjetas de función es controlada por el controlador principal que reside en la tarjeta de control de configuración y un controlador periférico que reside en la tarjeta de función. En este aspecto, el controlador periférico atiende a enviar solicitudes de configuración originadas por el dispositivo programable al controlador principal. A su vez, el controlador principal recupera la información de configuración desde el subsistema de memoria y envía la información recuperada al controlador periférico. El controlador periférico entonces reenvía a la información de configuración recibida al dispositivo programable solicitante.
BREVE DESCRIPCIÓN DE LOS DIBUJOS La Figura 1 es un diagrama en bloque de un enrutador de transmisión linealmente expansible, completamente redundante. La Figura 2 es un diagrama en bloque expandido de un primer componente del enrutador de transmisión linealmente expansible, completamente redundante de la Figura 1. La Figura 3 es un diagrama en bloque expandido de una porción del primer componente del enrutador de transmisión de la Figura 2; y La Figura 4 es un diagrama de flujo de un método para configurar dispositivos programables que residen dentro del primer componente del enrutador de transmisión de la Figura 2.
DESCRIPCIÓN DETALLADA DE LA INVENCIÓN Con referencia primero a la Figura 1, se describirá con detalle un enrutador 100 de transmisión, linealmente expansible, completamente redundante. Como se puede observar, el enrutador 100 de transmisión, linealmente expansible completamente redundante está compuesto de varios componentes del enrutador de transmisión acoplados entre sí para formar un enrutador 100 de transmisión linealmente expansible, completamente redundante. Cada componente del enrutador de transmisión es un dispositivo separado del enrutador, el cual incluye primera y segunda matrices del enrutador, la segunda matriz del enrutador es redundante de la primera matriz del enrutador. De este modo, cada enrutador de transmisión tiene un primer y segundo motores de enrutamiento, uno para cada una de la primera y segunda matrices del enrutador, cada una recibe, en un lado de entrada de la misma, las mismas corrientes de datos de audio digital de entrada y coloca, en un lado de salida de la misma, las mismas corrientes de datos de audio digital. Como se expone aquí, cada uno de los componentes del enrutador de transmisión utilizados para construir el enrutador de transmisión, linealmente expansible, completamente redundante, son enrutadores de transmisión de tamaño N x M. Sin embargo, se contempla que el enrutador 100 de transmisión, linealmente expansible, completamente redundante pueda ser construido de componentes del enrutador de transmisión de diferentes tamaños uno con relación al otro. Como también se describe aquí, el enrutador de transmisión linealmente expansible, completamente redundante 100 se forma al acoplar el primer, segundo, tercer y cuarto componentes 102, 104, 106 y 108 del enrutador de transmisión. Por supuesto, la presente invención del enrutador 100 de transmisión, linealmente expansible, completamente redundante formado por cuatro componentes del enrutador de transmisión es solamente un ejemplo. De conformidad con esto, debe quedar claro que un enrutador de transmisión linealmente expansible, completamente redundante construido de conformidad con las enseñanzas de la presente invención se puede formar con el uso de otro número de componentes del enrutador de transmisión. El primer, segundo, tercer y cuarto componentes 102, 104, 106 y 108 del enrutador de transmisión, cuando se conectan en la manera aquí descrita, en forma colectiva forman el enrutador 100 de transmisión linealmente expansible, completamente redundante, se pueden alojar juntos en un chasis común, como se ilustra en la Figura 1, o si se desea, se alojan en un chasis separado. Mientras, como ya se mencionó, los componentes 102, 104, 106 y 108 del enrutador de transmisión pueden tener diferentes tamaños uno con relación a otro, o en una alternativa pueden tener el mismo tamaño N x M, un tamaño que ha demostrado ser apropiado para los usos contemplados aquí es 256 x 256. Además, una configuración apropiada para el enrutador 100 linealmente expansible, completamente redundante será acoplar cinco componentes del enrutador de transmisión, cada uno con un tamaño de 256 x 256, lo cual da como resultado un enrutador de transmisión de 1280 x 1280. El primer componente 102 del enrutador de transmisión está compuesto de una primera matriz 102a del enrutador y una segunda matriz 102b del enrutador (o redundante), utilizada para reemplazar la primera matriz 102a del enrutador en caso de falla de la misma. De manera similar, cada uno del segundo, tercer y cuarto componentes 104, 106 y 108 del enrutador de transmisión del enrutador 100 de transmisión, linealmente expansible, completamente redundante están compuestos de una primera matriz 104a, 106a, y 108a, respectivamente, y una segunda matriz 104b, 106b, 108b del enrutador (o redundante), respectivamente, utilizadas para reemplazar la primera matriz 104a, 106a, 108a del enrutador, respectivamente, en caso de falla de las mismas. Por supuesto, la designación de las segundas matrices del enrutador 102b, 104b, 106b y 108b como una matriz redundante para usarse como un respaldo para las primeras matrices 102a, 104a, 106a y 108a del enrutador respectivamente, en caso de una falla de las mismas, es totalmente arbitraria y se contempla que cualquier par de matrices residentes dentro del componente del enrutador de transmisión puede actuar como un respaldo para otro par de matrices del enrutador residente dentro del componente del enrutador de transmisión. Como se puede observar en la Figura 1, la primera matriz 102a del enrutador del primer componente 102 del enrutador de transmisión, la primera matriz 104a del enrutador del segundo componente 104 del enrutador de transmisión, la primera matriz 106a del enrutador del tercer componente 106 del enrutador de transmisión y la primera matriz 108a del enrutador del cuarto componente 108 del enrutador de transmisión se acoplan juntas en un primer arreglo de matrices del enrutador, el cual se conforma con una topología completamente conectada. De manera similar, la segunda matriz 102b del enrutador del primer componente 102 del enrutador de transmisión, la segunda matriz 104b del enrutador del segundo componente 104 del enrutador de transmisión, la segunda matriz 106b del enrutador del tercer componente 106 del enrutador de transmisión y la segunda matriz 108b del enrutador del cuarto componente 108 del enrutador de transmisión se acoplan junto en un segundo arreglo de matrices del enrutador, el cual se conforma con una topología completamente conectada. En la topología completamente conectada, cada matriz del enrutador de un arreglo de matrices del enrutador se acopla, mediante un enlace discontinuo, entre si y con cada otra matriz del enrutador que forma parte del arreglo de matrices del enrutador. De este modo, para el primer arreglo de matrices del enrutador, el primer, segundo y tercer enlaces 110, 112, y 114 bi-direccionaies acoplan la primera matriz 102a del enrutador del primer componente 102 del enrutador de transmisión con la primera matriz 104a del enrutador del segundo componente 104 del enrutador de transmisión, la primera matriz 106a del enrutador de transmisión del tercer componente 106 del enrutador de transmisión y la primera matriz 108a del enrutador del cuarto componente 108 del enrutador de transmisión, respectivamente. Además, el cuarto y quinto enlaces 116 y 118 bi-direccionales acopian la primera matriz 104a del enrutador del segundo componente 104 del enrutador de transmisión con la primera matriz 106a del enrutador del tercer componente 106 del enrutador de transmisión y la primera matriz 108a del enrutador del cuarto componente 108 del enrutador de transmisión, respectivamente. Por último, un sexto enlace 120 bi-direccional acopla la primera matriz 106a del enrutador del tercer componente 106 del enrutador de transmisión con la primera matriz 108a del enrutador del cuarto componente 108 del enrutador de transmisión.
De manera similar, para el segundo arreglo de matrices del enrutador, el primer, segundo y tercer enlaces 122, 124 y 126 bi-direccionales acoplan la segunda matriz 102b del enrutador del primer componente 102 del enrutador de transmisión con la segunda matriz 104b del segundo componente 104 del enrutador de transmisión, la segunda matriz 106b del enrutador del tercer componente 106 del enrutador de transmisión y la segunda matriz 108b del enrutador del cuarto componente 108 del enrutador de transmisión, respectivamente. Además, el cuarto y quinto enlaces 128 y 130 bi-direccionales acoplan la segunda matriz 104b del enrutador del segundo componente 104 del enrutador de transmisión con la segunda matriz 106b del enrutador del tercer componente 106 del enrutador de transmisión y la segunda matriz 108b del enrutador del cuarto componente 108 del enrutador de transmisión, respectivamente, Por último, el sexto enlace bidireccional 132 acopla la segunda matriz 106b del enrutador del tercer componente 106 del enrutador de transmisión con la segunda matriz 108b del enrutador del cuarto componente 108 del enrutador de transmisión. Los componentes 102, 104, 106 y 108 del enrutador de transmisión serán ahora descritos con mayor detalle. La Figura 2 ilustra el primer componente 102 del enrutador de transmisión. El segundo, tercer y cuarto componentes 104, 106 y 108 del enrutador de transmisión, por otra parte, se configuran de manera similar al primer componente 102 del enrutador de transmisión y no necesitarán describirse con detalle. De conformidad con esto, el segundo, tercer y cuarto componentes 104, 106 y 108 del enrutador de transmisión no necesitan describirse con detalle. Se debe notar que en la siguiente descripción, las entradas del primer componente 102 del enrutador de transmisión que se originan en el segundo, tercer y cuarto componentes del enrutador de transmisión 104, 106 y 108 han sido omitidos para facilidad de descripción. Otros detalles con respecto a tales entradas se pueden encontrar en la solicitud co-pendiente de la Patente de Estados Unidos No. de serie 10/ (referencia del abogado No. IU020160) previamente incorporada como referencia. Como se puede observar, el primer componente 102 del enrutador de transmisión incluye una primera tarjeta de matriz del enrutador 134a y una segunda tarjeta de matriz del enrutador 134b configurada idéntica a la primera tarjeta de matriz del enrutador 134a. La primera y segunda tarjetas de matriz del enrutador 134a y 134b cada una se reciben en forma deslizable dentro de un chasis (no mostrado) del enrutador 100 de transmisión. Por supuesto, ya que no es necesario utilizar múltiples tarjetas de matriz del enrutador cuando se practican ciertos aspectos de la invención aquí expuestos, el uso de múltiples tarjetas de matriz del enrutador por lo general, se prefiere ya que facilitan la operación continua del enrutador 100 de transmisión, así como la reparación y/o reemplazo de una tarjeta de matriz del enrutador con falla, sin interrumpir el funcionamiento de la tarjeta de matriz del enrutador.
También dentro del chasis se encuentras montadas las tarjetas 136-a a la 136-N de entrada y las tarjetas 138-1 a la 138-M de salida. Cada tarjeta 136-1 a la 38-N de entrada se acopla con la primera tarjeta de matriz del enrutador 134a y la segunda tarjeta de matriz del enrutador 134b. De la misma forma, cada tarjeta 138-1 a la 138-M de salida se acoplan con la primera tarjeta de matriz del enrutador 134a y con la segunda tarjeta de matriz del enrutador 138b. Por supuesto, aunque en la Figura 2 se muestran tarjetas de salida y entrada 136-1 a la 136-N y la 138-1 a la 138-M como separadas, se debe entender que si se desea, la funcionalidad que reside en ambas tarjetas de entrada y de salida, por ejemplo,, la tarjeta 136-1 de entrada y la tarjeta 138-1 de salida pueden colocarse en una sola tarjeta l/O. Además, mientras la Figura 1 muestra las tarjetas 136-1 a la 136-N y la 138-1 a la 138-M de entrada y salida, se contempla que dependiendo del espacio disponible en las mismas, toda o parte de la funcionalidad que reside en cualquiera de las tarjetas de entrada por ejemplo, la tarjeta 136-1 de entrada, las tarjetas de salida, por ejemplo, la tarjeta 138-1 de salida o ambas pueda residir en la primera tarjeta de matriz del enrutador 134a, la segunda tarjeta de matriz del enrutador 134b o en alguna combinación de las mismas. Dentro de cada tarjeta 136-1 a 136-N de entrada se encuentra la circuitería de selección de señal (no mostrada). La circuitería 123 de selección de señal de entrada selecciona a partir de múltiples señales de entrada una señal de entrada para pasarse a la primera tarjeta de matriz del enrutador 122a y a la segunda 122b tarjeta de matriz del enrutador. Como se describe aquí, cada una de la primera y segunda tarjetas de matriz del enrutador 134a y 134b recibe una de las corrientes de datos de audio digital de entrada N desde cada una de las tarjetas de entrada 136-1 a 36-N. Por supuesto, tal configuración es solamente ejemplificativa y se contempla que las múltiples de las corriente de datos de audio digital de entrada N de entrada puedan ser recibidas desde una sola de las tarjetas de entrada 136-1 a 136-N. Además, cada una de las corrientes de datos de audio digital de entrada N se enrutan a la primera tarjeta del enrutador y a la segunda tarjeta del enrutador de cada uno del segundo, tercer y cuarto componentes 104, 106 y 108 del enrutador de transmisión. De manera similar, cada una de la primera y segunda tarjetas 134a y 134b del enrutador reciben las corriente de datos de audio digital de entrada N + 1 a la 2N, 2N + 1 a la 3N y 3N + 1 a la 4N desde el segundo, tercer y cuarto componentes 104, 106 y 108 del enrutador de transmisión, respectivamente. De esta manera, tanto la primera tarjeta de matriz del enrutador 134a como la segunda tarjeta de matriz del enrutador 134b reciben las mismas entradas 4N. La funcionalidad reside en cada una de la primera y segunda tarjetas de matriz del enrutador 134a y 134b, lo que permite que cada una de las salidas desde las mismas sean conectadas con una seleccionadas de las entradas 4N de las mismas. La selección particular de una de las entradas 4N a la cual se conecta cada una de las salidas M es controlada por la circuitería de control (no mostrada). La primera y segunda tarjetas de matriz del enrutador 134a y 134b del enrutador se controlan en forma idéntica para que las corrientes de datos de audio digital de salida M para la primera tarjeta de matriz del enrutador 134a sean las mismas que las corrientes de datos de audio digital de salida M para la segunda tarjeta de matriz del enrutador 134b. Desde la primera y segunda tarjetas de matriz del enrutador 134a y 134b, cada una de las corrientes de datos de audio digital M se propaga a una correspondientes de las tarjetas de salida 138-1 a 138-M. En cada una de las tarjetas de salida 138-1 a 138-M reside la circuito de selección de señal de salida (no mostrada), la cual selecciona de la primera corriente de datos de audio digital de salida recibida desde la primera tarjeta de matriz del enrutador 134a y la segunda corriente de datos de audio digital de salida recibida desde la segunda tarjeta de matriz del enrutador 134b, la corriente de datos de audio digitales de salida a ser emitida al primer componente 102 del enrutador de transmisión. Como será descrito con más detalle a continuación, cada una de las tarjetas de entrada 136-1 a 136-N, la primera tarjeta de matriz del enrutador 134a, la segunda tarjeta 134b de matriz del enrutador y cada una de las tarjetas de salida 138-1 a 138-M incluyen uno o más dispositivos programables, por ejemplo, FPGA que requieren configuración cuando se encienden por ejemplo, cada vez que el enrutador 100 de transmisión se enciende o cada vez que la tarjeta en donde reside el dispositivo programable se enchufa a la barra colectora l/O del enrutador 100 de transmisión. Una tarjeta 140 de control de configuración se acopla con cada una de las tarjetas de entrada 136-1 a 136-N, la primera tarjeta de matriz del enrutador 134a, la segunda tarjeta de matriz del enrutador 134b y cada una de las tarjetas de salida 138-1 a 138-M proporciona la información de configuración a los FPGA u otros dispositivos programables que residen en la misma. Al igual que las tarjetas 136-1 a 136-N de entrada, la primera tarjeta de matriz del enrutador 134a, la segunda tarjeta de matriz del enrutador 134b y las tarjetas 138-1 a 138-M de salida, la tarjeta 140 de control de configuración se recibe en forma deslizable dentro y se monta por el chasis del primer componente 102 del enrutador de transmisión. Por supuesto, los FPGA son solamente un tipo de dispositivo programable que requiere información de configuración luego del encendido y se contemplan otros tipos de dispositivos programables que requieren la información de configuración que pueden residir en una o más de las tarjetas 136-1 a 136-N de entrada, la primera tarjeta de matriz del enrutador 134a, la segunda tarjeta de matriz del enrutador 134b y/o una o más de las tarjetas 138-1 a 138-M de salida en lugar de o junto con, los FPGA: De manera similar, mientras en la Figura 2 se muestran tres tipos de tarjetas, las tarjetas de entrada, las tarjetas de matriz del enrutador y las tarjetas de salida se acoplan con al tarjeta 140 de control de configuración para recibir la información de configuración desde las mismas, se contempla que una amplia variedad de tarjetas en donde pueden residir los FPGA o uno o más dispositivos programables se pueden acoplar para recibir la información de configuración, se contempla que uno o más de los tipos de tarjetas ilustrados puedan no requerir la información de configuración o en una alternativa, pueden no acoplarse para recibir la información de configuración desde la tarjeta 140 de control de configuración. Por último, aunque en la Figura 2 se muestra una tarjeta de propósitos especiales, específicamente la tarjeta 140 de control de configuración para configurar los dispositivos programables que residen en las tarjetas 136-1 a 136-N de entrada, la primera tarjeta de matriz del enrutador 134a, la segunda tarjeta de matriz del enrutador 134b y las tarjetas 138-1 a 38- de salida, se debe observar que la funcionalidad necesaria para configurar los dispositivos programables que reside en las tarjetas 136-1 a 136-N de entrada, la primera tarjeta de matriz del enrutador 134a, la segunda tarjeta de matriz del enrutador 134b y las tarjetas de salida 138-1 a 138-M puede residir en su lugar en una tarjeta de múltiples funciones, por ejemplo, una tarjeta que lleve a cabo otras funciones de control en beneficio del componente 102 del enrutador de transmisión. Con referencia ahora a la Figura 3, la interconexión entre la tarjeta 140 de control de configuración y las tarjetas 138-1 a 138-M de salida será descrita con más detalle. Mientras en la Figura 3, los componentes adicionales de tanto la tarjeta 140 de control de configuración como las tarjetas 138-1 a 138-M de salida se pueden observar, debe notarse que la Figura 3 ha sido simplificada y que varios componentes de la tarjeta 140 de control de configuración y de las tarjetas 138-1 a 138-M de salida que no son necesarios para la comprensión de la presente invención han sido omitidos para facilidad de descripción. También, se debe entender que aunque no se ilustra en la Figura 3, cada una de las tarjetas 136-1 a 136-N de entrada, la primera tarjeta de matriz del enrutador 134a y la segunda tarjeta de matriz del enrutador 134b: (1) tienen los mismos componentes adicionales mostrados en la Figura 3 como residiendo en cada tarjeta 138-1 a 138-M de salida que reside en la misma; (2) se interconectan de forma similar con la tarjeta 140 de control de configuración; y (3) se configuran de manera similar. Se debe observar, que en cada una de las tarjetas de salida 138-1 a 138-M reside un FPGA 142-1 a 142-M y un controlador 144-1 a 144-M periférico acoplados con el FPGA 142-1 a 142-M. En la tarjeta 140 de control de configuración, reside por otra parte, una memoria 146 que actúa como un depósito compartido para la información de configuración de cada uno de los FPGA 142-1 a 142-M y el controlador 148 principal acoplado con la memoria 146. Por último, el controlador 148 principal se acopla con cada uno de los controladores 144-1 a 144-M periféricos. Como será descrito con más detalle, los enlaces antes mencionados entre los FPGA 142-1 a 142-M, los controladores 144-1 a 144-M periféricos, el controlador 148 principal y la memoria 146 se utilizan para permitir el flujo de la información de configuración desde la memoria 146 a los FPGA 142- 1 a 142-M en respuesta a las señales de control que fluyen desde los FPGA 142-1 a 142-M a la memoria 146. Sin embargo, se debe notar que mientras en la Figura 3 se muestran una serie de controiadores 144-1 a 144-M periféricos, uno correspondiente para cada uno de los FPGA 142-1 a 142-M, se contempla que la funcionalidad que reside dentro de cada uno de los controiadores periféricos puede colocarse dentro de un FPGA correspondiente. Por supuesto, en tal configuración, cada uno de los FPGA 142-1 a 142-M se puede acoplar directamente con el controlador 148 principal. Además los FPGA 142-1 a 142-M llevarán a cabo las funciones descritas a continuación como si fueran llevadas a cabo por los controiadores 144-1 a 144-M periféricos. La memoria 146 se divide en múltiples áreas, cada una de las cuales mantiene la información de configuración para un tipo de dispositivo programable. En la Figura 3, la memoria 146 incluye una primer área 149-1 en donde reside la información necesaria para configurar un primer tipo de dispositivo, por ejemplo, los dispositivos programables que residen en los tableros 138-1 a 138-M de salida, una segunda área 149-2 en donde se mantiene la información necesaria para configurar un segundo tipo de dispositivo, por ejemplo, los dispositivos programables que residen en los tableros 136-1 a 136-N de salida y una tercer área 149-3 en donde se mantiene la información necesaria para configurar un tercer tipo de dispositivos programables por ejemplo, la primera y segunda tarjetas de matriz del enrutador 134a y 134b. De preferencia, la información de configuración mantenida en la memoria 146 se programa dentro de la memoria 146 a través de un puerto JTAG u otro puerto de programación, típicamente antes de que la memoria 146 quede soldada en la tarjeta 140 de configuración de control. Por supuesto, mientras la Figura 3 muestra los múltiples tipos de dispositivos programabies para los cuales la memoria 146 aloja la información de configuración se pueden distinguir de otros con base en el tipo de tablero en el cual reside el dispositivo programable, se debe entender que se contemplan otros tipos de dispositivos programabies que pueden residir en un solo tipo de tablero. Con referencia ahora a la Figura 4, se describirá con detalle el método mediante el cual se configuran los múltiples dispositivos configurables, por ejemplo, los FPGA 142-1 a 142-M que residen en múltiples tarjetas, aquí las tarjetas 138-1 a 138-M de salida, con el uso de un depósito compartido de información de configuración, especialmente la información de configuración mantenida en la memoria 146. Antes de describir esto, sin embargo, se debe notar que la presente invención se puede utiliza en varias técnicas de configuración. Una técnica se relaciona con la configuración de los múltiples dispositivos de un tipo de dispositivo común. En tal técnica, un solo archivo de configuración, por ejemplo, el archivo 149-1 de configuración FPGA, será mantenido en la memoria 146. Esta técnica se considera especialmente ventajosa ya que se puede utilizar un único archivo de configuración para configurar los múltiples dispositivos programabies. Otra técnica se relaciona con la configuración de múltiples dispositivos programables de diferentes tipos de dispositivo. En tal técnica, un archivo de configuración único, por ejemplo, el archivo 149-1 de configuración FPGA será mantenido en la memoria 146. Esta técnica se considera particularmente ventajosa porque el único archivo de configuración se puede utilizar para configurar múltiples dispositivos programables. Otra técnica se relaciona con la configuración de múltiples dispositivos programables de diferentes tipos de dispositivos. En tal técnica, los múltiples archivos de configuración por ejemplo, el primer, segundo y tercer archivos 149-1, 149-2 y 149-3 de configuración se deben mantener en la memoria 146. Antes de otra descripción de estas técnicas, se presentará una explicación el uso presente del término "diferentes tipos" en conexión con la frase "diferentes tipos de dispositivos programables". Más específicamente, además el uso entendido general, como se utiliza aquí la frase "diferentes tipos" de dispositivos programables también tiene el propósito de abarcar dispositivos programables del mismo tipo físico cuando tales dispositivos requieren información de configuración diferente. Por ejemplo, para configurar un FPGA que reside en una tarjeta de entrada puede requerir un primer grupo de instrucciones, mientras que para configurar un FPGA que reside en una tarjeta del enrutador puede requerir un segundo grupo de instrucciones diferente al primer grupo de instrucciones. Cuando es así, el FPGA que reside en la tarjeta de entrada se considera de un tipo diferente de dispositivo programable con respecto a un FPGA que reside en la tarjeta del enrutador. En forma contraria, cualquiera de los dos dispositivos programables se puede configurar con el mismo grupo de instrucciones se considera del mismo tipo de dispositivo programable, ya sea o no que sean del mismo tipo físico. El método para configurar múltiples dispositivos programables del mismo tipo será descrito con respecto a la Figura 4. El método empieza en el paso 150 y en el paso 152, un dispositivo programable, por ejemplo, un FPGA 142-1 emite una solicitud para configuración con el controlador periférico que reside con el dispositivo configurable solicitante en un tablero común, aquí, el controlador 144-1 periférico que reside con el FPGA 142-1 en la tarjeta 138-1 de salida. La emisión de una solicitud de configuración se puede activar por una variedad de eventos. Por ejemplo, al encender el FPGA 142-1, ya sea por la inserción de la tarjeta 138-1 de salida dentro de una ranura (no mostrada) de la barra colectora de entrada/salida (l/O) del primer componente 102 del enrutador de transmisión o por el encendido del primer componente 102 del enrutador de transmisión por sí mismo provocará que el FPGA 142-1 emita una solicitud de configuración. A su vez, el controlador periférico, aquí el controlador periférico 144-1 que recibe la solicitud de configuración enviará la solicitud al controlador 148 principal, el cual recibe la solicitud de configuración en el paso 154. Por supuesto, cuando la funcionalidad que reside en el controlador 144-1 periférico residía en el FPGA 142-1, el FPGA 142-1 emitirá la solicitud antes mencionada para su configuración directamente al controlador 148 principal. Luego de que el controlador 148 principal detecta la llegada de la solicitud de configuración en el paso 154, el método avanza al paso 156, en donde el controlador 148 principal espera la llegada de solicitudes adicionales de configuración durante un período de tiempo pre-seleccionado. Por ejemplo, cuando la emisión de la solicitud detectada de configuración fue activada por el encendido del primer componente 102 del enrutador de transmisión, se contempla que las solicitudes de configuración para los FPGA que residen en tarjetas configuradas en forma similar para la tarjeta 138-1 de salida lleguen muy poco después de la solicitud detectada de configuración emitida por el FPGA 142-1. Después del paso 158, si no ha expirado el tiempo pre-seleccionado durante el cual el controlador 148 principal espera la llegada de solicitudes adicionales de configuración, el método regresa al paso 156 para esperar solicitud adicionales de configuración. Sin embargo, cuando en el paso 158 se determina que ha expirado el tiempo pre-seleccionado, el método avanza al paso 160, en donde el controlador 148 principal empieza la configuración de los dispositivos programables que solicitaron la configuración. Ya que solamente existe un tipo de dispositivo a ser configurado, desde el paso 160, el método procede al paso 164, en donde el controlador 148 principal empieza a revisar los dispositivos programables acoplados con el mismo para identificar el dispositivo programable que ha solicitado configuración. Para hacer esto, en el paso 164, el controlador 148 principal selecciona, desde varios dispositivos programables acoplados al mismo, un primer dispositivo programable. Por ejemplo, el controlador 148 principal puede seleccionar el FPGA 142-1. Por supuesto, ya que todos los dispositivos programables acoplados con el controlador 148 principal son del mismo tipo, el controlador 148 principal no necesita considerar el tipo de dispositivo programable a ser seleccionado. El método entonces avanza al paso 166, en donde el controlador 148 principal analiza el controlador periférico, aquí, el controlador 144-1 periférico acoplado con el dispositivo programable seleccionado, aquí, el FPGA 142-1, para determinar si el dispositivo programable seleccionado ha solicitado configuración. Cuando el controlador 148 principal determina, en el paso 166 que el controlador periférico analizado ha emitido una solicitud de configuración en beneficio del dispositivo programable seleccionado, el método avanza al paso 168 en donde el controlador 148 principal configura el dispositivo programable seleccionado. Para hacer esto, el controlador 148 principal recupera la información de configuración mantenida en la primer área 149-1 de la memoria 146 y envía la información de configuración recuperada al controlador 144-1 periférico. Con el uso de la información de configuración recibida, el controlador 144-1 periférico entonces atiende la configuración del FPGA 142-1 en una forma convencional. Por supuesto, cuando la funcionalidad que reside en el controlador 144-1 periférico residía en el FPGA 142-1, el controlador principal sondeará el FPGA 142-1 directamente para determinar si el FPGA 142-1 ha solicitado la configuración. Cuando es así, el controlador 148 principal enviará después la información de configuración recuperada al FPGA 142-1. Luego de completar la configuración del FPGA 142-1 en el paso 168, o luego de determinar en el paso 166 que el FPGA 142-1 no emitió la solicitud de configuración, el método avanza al paso 170. En el paso 170, se determina si existen dispositivos programables adicionales que necesiten ser revisados para ver si emitieron una solicitud de configuración. Cuando existen dispositivos programables a ser revisados, el método avanza al paso 172 en donde se selecciona el siguiente dispositivo programable. El método entonces regresa al paso 166 para otro procesamiento en la forma descrita antes. Sin embargo, cuando en el paso 172 se determina que se han sondeado todos los dispositivos programables para determinar si emitieron una solicitud de configuración, el método entonces avanzará al paso 178, en donde termina. Con referencia otra vez a la Figura 4, se describirá con detalle el método para configurar dispositivos programables en un sistema que tiene múltiples tarjetas en los cuales residen dispositivos programables de diferentes tipos, otra vez, usa el depósito compartido de información de configuración. Al igual que antes, el método empieza en el paso 150 y en el paso 152 un dispositivo programable otra vez, por ejemplo, el FPGA 142-1 emite una solicitud de configuración con el controlador periférico que reside en el dispositivo configurable solicitante en un tablero común, aquí otra vez, el controlador 144-1 periférico que reside con el FPGA 142-1 en la tarjeta 138-1 de salida. A su vez, el controlador periférico, aquí, el controlador 144-1 periférico, que recibe la solicitud de configuración enviará la solicitud al controlador 148 principal, el cu l recibe la solicitud de configuración en el paso 154. Por supuesto, cuando la funcionalidad reside en el controlador 144-1 periférico residía en el FPGA 142-1, el FPGA 142-1 emitirá la solicitud antes mencionada para configuración directamente al controlador 148 principal. Luego de que el controlador 148 principal detecta la llegada de la solicitud de configuración en el paso 154, el método avanza al paso 156 en donde el controlador 148 principal esperará la llegada de solicitudes adicionales de configuración por un período pre-seleccionado de tiempo. Después en el paso 158, cuando no ha expirado el período de tiempo pre-seleccionado durante el cual el controlador 148 principal espera la llegada de solicitudes adicionales para configuración, el método regresa al paso 156 para esperar solicitudes adicionales de configuración. Sin embargo, si en el paso 158 se determina que ha expirado el período de tiempo pre-seleccionado, el método avanza al paso 160 en donde el controlador 148 principal empieza la configuración de los dispositivos programables que solicitaron configuración. Debido a que, en esta modalidad de la invención, puede hacer varios tipos de dispositivos programables que soliciten configuración, en el paso 162, el controlador 148 principal selecciona un primer tipo de dispositivo programable para configurar. Se contempla que el tipo particular de dispositivo seleccionado en el paso 162 se puede determinar con el uso de varias técnicas. Por ejemplo, el tipo de dispositivo para el cual se detectó la solicitud inicial de configuración en el paso 154 puede ser el tipo de dispositivo seleccionado en el paso 162. De conformidad con esta técnica, luego de recibir las solicitudes adicionales de configuración, el controlador 148 principal deberá revisar cada solicitud de configuración recibida por el mismo para el tipo de dispositivo y mantiene una lista de todos los tipos de dispositivos para el cual se recibió por lo menos una solicitud de configuración antes de la expiración del período de tiempo pre-seleccionado. Después en el paso 164, el controlador 148 principal empieza a revisar los dispositivos programables para ver si han solicitado la configuración. Otra vez, el proceso mediante el cual el controlador 148 principal revisa los dispositivos programables para determinar si solicitaron configuración puede variar rápidamente. Por ejemplo, el controlador 148 principal puede sondear cada controlador periférico asociado con el dispositivo programable para determinar si: (1) el dispositivo programable asociado es del tipo de dispositivo seleccionado; y (2) el controlador periférico ha emitido una solicitud para su configuración en beneficio del dispositivo programable. Por supuesto, cuando la funcionalidad que reside en los controladores periféricos residía en los dispositivos programables correspondientes, el controlador principal directamente sondeará cada dispositivo programable para determinar si: (1) el dispositivo programable es del tipo de dispositivo seleccionado; y (2) el dispositivo programable ha emitido una solicitud para configuración. El controlador principal sondeará el FPGA 142-1 directamente para determinar si el FPGA 142-1 ha solicitado configuración. Cuando el controlador 148 principal determina en el paso 166 que el controlador periférico sondeado ha emitido una solicitud de configuración en beneficio del dispositivo programable seleccionado y que el dispositivo programable seleccionado es del tipo seleccionado, el método avanza al paso 168 en donde el controlador 148 principal configura el dispositivo programable seleccionado. Para hacer esto, el controlador principal recupera la información de configuración mantenida en el área de la memoria 146 que mantiene la información de configuración para el controlador 144-1 periférico. Con el uso de la información de configuración recibida, el controlador 144-1 periférico entonces atiende la configuración del FPGA 142-1 en una forma convencional. Por supuesto, cuando la funcionalidad que reside en el controlador periférico residía en el dispositivo programable seleccionado, en el paso 166, el controlador 148 principal determinará si el dispositivo programable ha emitido una solicitud para la configuración y es del tipo seleccionado y, en el paso 168, el controlador 148 principal enviará la información de configuración recuperada con el FPGA 142-1.
Luego de completar la configuración del FPGA 142-1 en el paso 168, o luego de determinar en el paso 166 que el paso FPGA 142-1 nunca emitió una solicitud de configuración, el método avanza al paso 170. En el paso 170, se determina que existen dispositivos programabies adicionales que necesitan revisarse para ver si emitieron una solicitud de configuración y son del tipo seleccionado de dispositivo programable. Cuando existen dispositivos programabies adicionales a ser revisados, el método avanza al paso 172, en donde se selecciona el siguiente dispositivo programable. El método entonces regresa al paso 166 para otro procesamiento en la manera antes descrita. Sin embargo, cuando en el paso 172, se determina que todos los dispositivos programabies han sido sondeados para determinar si emitieron una solicitud de configuración y son del tipo seleccionado de dispositivo programable, el método avanzará al paso 174 en donde el controlador 148 principal determina si existen tipos adicionales de dispositivos programabies que solicitaron configuración. Por ejemplo, el controlador 148 principal puede revisar la lista de tipos de dispositivos programabies que solicitaron configuración para ver si existen tipos adicionales de dispositivos programabies aun sin configurar. SI existen tipos adicionales de dispositivos programabies que necesiten ser configurados, el método avanza al paso176 en donde el controlador 148 principal selecciona un siguiente tipo de dispositivo programable para configuración. El método entonces regresa al paso 164 para otro procesamiento en la manera antes descrita. Sin embargo, cuando se determina en el paso 174, que todos los tipos de dispositivos programables que solicitaron la configuración han sido configurados, el método terminará en el paso 178. Por supuesto, existen varios métodos para practicar la modalidad de la invención, en donde se configuran múltiples tipos de dispositivos programables con el uso de un depósito compartido de información de configuración que no requerirá que el controlador 148 principal mantenga una lista de tipos de dispositivos programables que solicitan la configuración o sondear cada uno de los dispositivos programables una vez para cada tipo de dispositivo programable que ha solicitado la configuración. En este método, después de iniciar la configuración de ios dispositivos programables solicitantes en el paso, el controlador 148 principal sondeará un controlador periférico seleccionado cuando el dispositivo programable asociado con el mismo ha solicitado la configuración. Cuando el controlador periférico indica que el dispositivo programable ha solicitado configuración, el controlador 148 principal preguntará el tipo de dispositivo programable que está asociado con el controlador periférico. Con el uso de esta información, el controlador 148 principal puede recuperar la información de configuración apropiada desde la memoria 146 y procederá con la configuración del dispositivo programable como se describe antes. El controlador 148 principal entonces seleccionará un siguiente dispositivo programable y repetirá el proceso hasta que todos los dispositivos programables han sido sondeados para determinar si han solicitado configuración y cuando es así, si han sido configurados. Se debe apreciar que el método anterior reduce el número de pasos que el controlador 148 principal debe tomar para configurar todos los dispositivos programables solicitantes. El método anterior también elimina la necesidad de que el controlador 148 principal mantenga una lista de los tipos de dispositivos programables que solicitan la configuración.
De este modo se han descrito e ilustrado un enrutador de transmisión que tiene un depósito compartido de información de configuración, utilizado para configurar múltiples dispositivos programables, cada uno ubicado en un tablero diferente dentro del enrutador de transmisión. El depósito compartido de información de configuración puede utilizarse para configurar múltiples dispositivos programables, cada uno ubicado en un tablero diferente del mismo tipo de tablero o puede utilizarse para configurar múltiples dispositivos programables, cada uno ubicado en un diferente tablero de un tipo de tablero diferente. Al configurar el enrutador de transmisión en esta manera, ahorra muchos recursos de memoria por la eliminación del requerimiento de una memoria separada para cada dispositivo programable. Por supuesto, aunque se han mostrado y descrito las modalidades preferidas de la invención, las personas experimentadas en ia técnica pueden llevar a cabo varias modificaciones y cambios en la invención sin apartarse del espíritu y enseñanzas de la invención. De conformidad con esto, el alcance de protección no está limitado a las modalidades descritas aquí, sino más bien está limitado por las reivindicaciones que siguen.

Claims (20)

REIVINDICACIONES
1. Un sistema (100) electrónico, caracterizado porque comprende: una pluralidad de tarjetas de función (138-1 a 138-M), cada una con por lo menos un dispositivo (142-1 a 142-M) programable que residen en el mismo; y una tarjeta (140) de control de configuración acoplado con cada uno de la pluralidad de tarjetas (138-1 a 138-M) de función, en donde la tarjeta (140) de control de configuración configura que por lo menos un dispositivo (142-1 a 142-M) programable que reside en cada una de la pluralidad de tarjetas (138-1 a 138-M) de función.
2. El aparato de conformidad con la reivindicación 1, caracterizado porque además comprende: un sub-sistema (146) de memoria que reside en la tarjeta (140) de control de configuración; en donde la tarjeta (140) de control de configuración configura el por lo menos un dispositivo programable (142-1 a 142-M) que reside en cada uno de la pluralidad de tarjeta (138-1 a 138-M) de función con el uso de la información de configuración almacenada en el sub-sistema (146) de memoria.
3. El sistema electrónico de conformidad con la reivindicación 2, caracterizado porque la tarjeta (140) de control de configuración también comprende: un controlador (148) principal acoplado con un sub-sistema (146) de memoria y la pluralidad de tarjetas (138-1 a 138-M) de función; el controlador (148) principal configura cada una de la pluralidad de tarjetas (138-1 a 138-M) de función con el uso de la información de configuración almacenada en el sub-sistema (146) de memoria.
4. El aparato de conformidad con la reivindicación 3, caracterizado porque cada uno del por lo menos un dispositivo programable (142-1 a 142-M) que reside en cada una de la pluralidad de tarjeta (138-1 a 138-M) de función es un arreglo de pasarela programable de campo ("FPGA").
5. El aparato de conformidad con la reivindicación 3, caracterizado porque además comprende: un controlador (144-1 a 144-M) periférico que reside en cada una de la pluralidad de tarjetas (138-1 a 138-M) de función); cada uno de los controladores (144-1 a 144-M) periféricos atienden a. (1) enviar solicitudes de configuración, originadas por el dispositivo (142-1 a 142-M) que residen en el controlador (144-1 a 144-M) periférico en una de la tarjetas (138-1 a 138-M) de función, con el controlador (148) principal,; y (2) atiende al envío de la información de configuración, provisto por el controlador (148) principal con el dispositivo (142-1 a 142-M) programable que reside en el controlador (144-1 a 144-M) periférico en una de las tarjetas (138-1 a 138-M) de función.
6. El aparato de conformidad con la reivindicación 2, caracterizado porque la pluralidad de tarjetas (138-1 a 138-M) de función también comprende: una pluralidad de tarjetas (136-1 a 136-N) de función de un primer tipo, el primer tipo de tarjetas (136-1 a 136-N) de función requieren un primer tipo de instrucciones para la configuración de las mismas; una pluralidad de tarjetas (138-1 a 138-M) de función de un segundo tipo, el segundo tipo de tarjetas (138-1 a 138-M) de función requieren un segundo grupo de instrucciones para la configuración de las mismas; el primer grupo de instrucciones almacenado en una primer área (149-1) del sub-sistema (146) de memoria y un segundo grupo de instrucciones almacenado en una segunda área (149-2) de un sub-sistema de memoria (146); en donde la tarjeta (140) de control de configuración configura la pluralidad de tarjetas (136-1 a 136-N) de función del primer tipo con el uso del primer grupo de instrucciones almacenado en la primer área (149-1) del sub-sistema (146) de memoria y la tarjeta (140) de control de configuración configura la pluralidad de tarjetas (138-1 a 138-M) de función del segundo tipo con el uso del segundo grupo de instrucciones almacenadas en la segunda área (149-2) del sub-sistema (146) de memoria.
7. El aparato de conformidad con la reivindicación 6, caracterizado porque la tarjeta (140) de control de configuración también comprende: un controlador principal (148) acoplado con el sub-sistema (146) de memoria, la pluralidad de tarjetas (136-1 a 136-N) de función del primer tipo y la pluralidad de tarjetas (138-1 a 138-M) de función del segundo tipo; el controlador (148) principal configura cada una de la pluralidad de tarjetas (136-1 a 136-N) de función del primer tipo con el uso del primer grupo de instrucciones almacenadas en la primer área (149-1) del sub-sistema (146) de memoria; y la tarjeta (140) de control de configuración configura cada una de la pluralidad de tarjeta (138-1 a 138-M) de función del segundo tipo con el uso del segundo grupo de instrucciones almacenado en la segunda área (149-2) del sub-sistema (146) de memoria.
8. El aparato de conformidad con la reivindicación 7, caracterizado porque además comprende: un controlador (144-1 a 144-M) periférico que reside en cada una de la pluralidad de tarjetas de función (136-1 a 136-N, 138-1 a 138-M); cada uno de los controladores periféricos (144-1 a 144-M) atiende el envío de solicitudes de configuración originadas por el dispositivo programable (142-1 a 142-M) que reside en el controlador (144-1 a 144-M) periférico en una de las tarjetas (136-1 a 136-N, 138-1 a 138-M) de función para el controlador (148) principal; y cada uno del controlador (144-1 a 144-M) periférico) también atiende al envío de información de configuración provista por el controlador (148) principal al dispositivo (142-1 a 142-M) programable que reside con el controlador (144-1 a 144-M) periférico) en una de las tarjetas (136-1 a 136-N, 138-1 a 138-M) de función.
9. Un enrutador (100) de transmisión, caracterizado porque comprende: una primera tarjeta del enrutador (134a) que tiene un lado de entrada, un lado de salida y por lo menos un dispositivo (142-1 a 142-M) programable que reside en la misma; una pluralidad de tarjetas de entrada (136-1 a 136-N), cada una de la pluralidad de tarjetas de entrada (136-1 a 136-N) se acopla con el lado de entrada de la tarjeta (134a) del enrutador y tiene por lo menos un dispositivo ce) programable que reside en la misma; una pluralidad de tarjetas de salida (138-1 a 138-M), cada una de la pluralidad de tarjetas (138-1 a 138-M) de salida acoplada con el lado de salida de la tarjeta (134a) del enrutador y tiene por lo menos un dispositivo (142-1 a 142-M) programable que reside en la misma; y una tarjeta (140) de configuración de control acoplada con la tarjeta (134a) del enrutador, cada una de la pluralidad de tarjetas (136-1 a 136-N) de entrada y cada una de la pluralidad de tarjetas (138-1 a 138-M) de salida, la tarjeta (140) de control de configuración configura el por lo menos un dispositivo (142-1 a 142- M) programable que reside en la tarjeta (134a) del enrutador, cada una de la pluralidad de tarjetas (136-1 a 136-N) de entrada y cada una de la pluralidad de tarjetas (138-1 a 138-M) de salida.
10. El aparato de conformidad con la reivindicación 9, caracterizado porque además comprende: una segunda tarjeta (134b) del enrutador que tiene un lado de entrada de la tarjeta (134a) del enrutador y tiene por lo menos un dispositivo (142-1 a 42-M) programable que reside en la misma; cada una de la pluralidad de tarjetas (136-1 a 136-N) de salida también se acopla con el lado de entrada de la segunda tarjeta (134b) del enrutador, cada una de la pluralidad de tarjetas (138-1 a 138-M) de salida también se acopla con el lado de salida de la segunda tarjeta (134b) del enrutador, la tarjeta de configuración también configura el por lo menos un dispositivo (142-1 a 142-M) programable que reside en la segunda tarjeta (134b) del enrutador.
11. El aparato de conformidad con la reivindicación 9, caracterizado porque además comprende: un sub-sistema de memoria (146) que reside en la tarjeta (140) de control de configuración, el sub-sistema (146) de memoria incluye una primer área de memoria (149-1), una segunda área de memoria (149-2) y una tercer área de memoria (149-3); en donde la tarjeta (140) de configuración de control configura el por lo menos un dispositivo (142-1 a 142-M) programable que reside en cada una de la pluralidad de tarjetas (136-1 a 136-N) de entrada con el uso de la información de configuración almacenada en la primer área (149-1) del sub-sistema (146) de memoria, configura el por lo menos un dispositivo (142-1 a 142-M) programable que reside en la primera tarjeta (134a) del enrutador con el uso de la información de configuración almacenada en la segunda área (149-2) del sub-sistema (146) de memoria, y configura el por lo menos un dispositivo (142-1 a 142-M) programable que reside en cada una de la pluralidad de tarjetas de salida (138-1 a 138-M) con el uso de la información de configuración almacenada en la tercer área (149-3) del sub-sistema de memoria (146).
12. El aparato de conformidad con la reivindicación 7, caracterizado porque cada uno de los dispositivos programables (142-1 a 142-M) reside en cada una de la pluralidad de tarjetas de entrada (136-1 a 136-N), la primera tarjeta (134a) del enrutador, y cada una de la pluralidad de tarjetas (138-1 a 138-M) de salida es un arreglo de pasarela programable de campo (FPGA).
13. El aparato de conformidad con la reivindicación 12, caracterizado porque la tarjeta (140) de control de configuración también comprende: un sub-sistema (146) de memoria, el sub-sistema (146) de memoria incluye una primer área de memoria (149-1), una segunda área de memoria (149-2) y una tercera área de memoria (149-3); un controlador (148) principal acoplado con el sub-sistema (146) de memoria, cada una de la pluralidad de tarjetas (136-1 a 136-N) de entrada, la primera tarjeta (134a) del enrutador y la pluralidad de tarjetas (138-1 a 138-M) de salida; el controlador (148) principal configura el por lo menos un FPGA (142-1 a 142-M) de cada una de la pluralidad de tarjetas (138-1 a 138-M) de entrada con el uso de un primer grupo de instrucciones almacenadas en la primer área (149-1) del sub-sistema de memoria (146), configura el por lo menos un FPGA (142-1 a 142-M) de la primera tarjeta (134a) del enrutador con el uso de un segundo grupo de instrucciones almacenadas en la segunda área (149-2) del sub-sistema de memoria (146) y configura el por lo menos un FPGA (142-1 a 142-M) de cada una de la pluralidad de tarjetas (138-1 a 138-M) de salida con el uso de un tercer grupo de instrucciones almacenadas en la tercer área (149-3) del sub-sistema (146) de memoria.
14. El aparato de conformidad con la reivindicación 13, caracterizado porque además comprende: una segunda tarjeta (134b) del enrutador que tiene un lado de entrada, un lado de salida y por lo menos un FPGA (142-1 a 142-M) que reside en la misma; cada una de la pluralidad de tarjetas (136-1 a 136-N) de entrada también se acopla con el lado de entrada de la segunda tarjeta (134b) del enrutador; cada una de la pluralidad de tarjetas de salida (138-1 a 138-M) también se acopla con el lado de salida de la segunda tarjeta del enrutador (134b); el controlador (148) principal configura el por lo menos un FPGA (142-1 a 142-M) de la segunda tarjeta (134b) del enrutador con el uso de un segundo grupo de instrucciones almacenadas en la segunda áreas (149-2) del sub-sistema (146) de memoria.
15. El aparato de conformidad con la reivindicación 14, caracterizado porque además comprende: un controlador (144-1 a 144-M) que reside en cada una de la pluralidad de tarjetas de entrada (136-1 a 136-N), la primera y segunda tarjetas (134a y 134b) del enrutador y cada una de la pluralidad de tarjetas de salida (138-1 a 138-M) del enrutador; cada uno de los controladores (144-1 a 144-M) periféricos atienden al envío de solicitudes de configuraciones, originadas por el FPGA (142-1 a 142-M) que reside con el controlador (144-1 a 144-M) periférico en una de la pluralidad de tarjetas (136-1 a 136-N) de entrada, la primera tarjeta (134a) del enrutador, la segunda tarjeta (134b) del enrutador o una de las tarjetas de salida (138-1 a 138-M) con el controlador (148) principal; y cada uno del controlador (144-1 a 144-N) periférico también atiende el envío de la información de configuración, provista por el controlador (148) principal al FPGA (142-1 a 142-M) que reside con el controlador (148) periférico, que reside con el controlador (144-1 a 144-M) periférico en una de las tarjetas de entrada (136-1 a 136-N), la primera tarjeta del enrutador (134a), la segunda tarjeta (134b) del enrutador o una de las tarjetas (138-1 a 138-M) de salida.
16. Para un enrutador (100) de transmisión que tiene por lo menos una tarjeta 134a a la 134b, 136-1 a 136-N, 138-1 a 138-M) en las cuales residen uno o más dispositivos confígurables (142-1 a 142-M), un método para configurar el enrutador de transmisión (100), caracterizado porque comprende: emitir una primera solicitud de configuración, la primera solicitud de configuración emitida por un primer dispositivo (142-1 a 142-M) configurable que reside en la primera de la por lo menos una tarjeta (134a a la 134b, 136-1 a 136-N, 138-1 a 138-M); recuperar la información de configuración desde un depósito (146) compartido de configuración; y configurar el dispositivo (142-1 a 142-M) configurable solicitante con el uso de la información de configuración recuperada desde el depósito (146) compartido de configuración.
17. El método de conformidad con la reivindicación 16, caracterizado porque además comprende: emitir una segunda solicitud de configuración, la segunda solicitud de configuración emitida por un segundo dispositivo (142-1 a 142-M) configurable que reside en la segunda de por lo menos una tarjeta 134a a la 134b, 136-1 a 136-N, 138-1 a 138-M); recuperar la información de configuración desde un depósito (146) compartido de configuración; y configurar el segundo dispositivo (142-1 a 142-M) configurable solicitante con el uso de la información de configuración recuperada desde el depósito (146) compartido de configuración; en donde la misma información de configuración se utiliza para configurar el primer y segundo dispositivos (142-1 a 142-M) conf igurables solicitantes.
18. El método de conformidad con la reivindicación 16, caracterizado porque el enrutador (100) de transmisión incluye por lo menos una tarjeta (136-1 a 136-N) de un primer tipo y por lo menos una tarjeta (138-1 a 138- ) de un segundo tipo, cada uno de la por lo menos una tarjeta (136-1 a 136-N, 138-1 a 138-M) del primer y segundo tipos tiene por lo menos un dispositivo (142-1 a 142-M) configurable que reside en las mismas y además comprende: almacenar un primer grupo de instrucciones en una primer área (149-1) de un depósito (146) compartido de configuración; almacenar un segundo grupo de instrucciones en una segunda área (149-2) del depósito (146) compartido de configuración; recuperar el primer grupo de instrucciones cuando el dispositivo (142-1 a 142-M) configurable solicitante reside en por lo menos una tarjeta (136-1 a 136-N) del primer tipo; recuperar el segundo grupo de instrucciones cuando el dispositivo (142-1 a 142-M) configurable solicitante reside en por lo menos una tarjeta (138-1 a 138-M) del segundo tipo; cuando el dispositivo (142-1 a 142-M) configurable solicitante reside en por lo menos una tarjeta (136-1 a 136-N) del primer tipo, configurar el dispositivo (142-1 a 142-M) configurable solicitante con el uso del primer grupo de instrucciones recuperadas de la primer área (149-1) del depósito (146) de configuración compartido, y cuando el dispositivo (142-1 a 142- ) configurable solicitante reside en por lo menos una tarjeta (138-1 a 138-M) del segundo tipo, configurar el dispositivo (142-1 a 142-M) configurable solicitante con el uso del segundo grupo de instrucciones recuperadas de la segunda área (149-2) del depósito (146) compartido de configuración.
19. El método de conformidad con la reivindicación 16, caracterizado porque el enrutador (100) de transmisión también comprende una tarjeta (140) de control de configuración en donde residen el controlador (148) principal y el depósito (146) compartido de configuración; y además comprende: el controlador (148) principal detecta una primera solicitud de configuración emitida por el primero de uno o más dispositivos (142-1 a 142-M) configurables que residen en la primera de por lo menos una tarjeta (134a a la 134b, 136-1 a 136-N, 138-1 a 138-M; el controlador principal inicia un algoritmo de configuración luego de la expiración de un período de tiempo posterior a la primera solicitud detectada de configuración, el período de tiempo permite que los adicionales de uno o más dispositivos (142-1 a 142-M) configurables soliciten la configuración antes de que el algoritmo de configuración se inicie.
20. El método de conformidad con la reivindicación 19, caracterizado porque el algoritmo de configuración también comprende: seleccionar un primer dispositivo configurable que reside en una de las por lo menos una tarjeta (134a a la 134b, 136-1 a 136-N, 138-1 a 138-M) del enrutador (100) de transmisión; solicitar al dispositivo configurable seleccionado si desea la configuración; cuando el dispositivo configurable seleccionado indica que desea la configuración, propagar la información de configuración con el dispositivo configurable seleccionado; seleccionar un siguiente dispositivo configurable que residen en una de las por lo menos tarjetas (134a a la 134b, 136-1 a 136-N, 138-1 a 138-M) del enrutador (100) de transmisión; y repetir el cuestionario, y propagar los pasos seleccionados hasta que todos del uno o más dispositivos (142-1 a 142-M) configurables han sido analizados.
MXPA04012761A 2002-06-21 2003-06-13 Enrutador de transmision con un deposito de configuracion compartida. MXPA04012761A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US39034702P 2002-06-21 2002-06-21
PCT/US2003/019015 WO2004002055A1 (en) 2002-06-21 2003-06-13 Broadcast router having a shared configuration repository

Publications (1)

Publication Number Publication Date
MXPA04012761A true MXPA04012761A (es) 2005-09-30

Family

ID=30000543

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA04012761A MXPA04012761A (es) 2002-06-21 2003-06-13 Enrutador de transmision con un deposito de configuracion compartida.

Country Status (7)

Country Link
US (1) US7805766B2 (es)
EP (1) EP1522164B1 (es)
JP (2) JP4848130B2 (es)
CN (1) CN1663170B (es)
AU (1) AU2003245533A1 (es)
MX (1) MXPA04012761A (es)
WO (1) WO2004002055A1 (es)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004002050A1 (en) 2002-06-21 2003-12-31 Thomson Licensing S.A. A fault-tolerant broadcast router
US7752329B1 (en) * 2002-10-31 2010-07-06 Aol Inc. Migrating configuration information based on user identity information
US7313384B1 (en) 2002-10-31 2007-12-25 Aol Llc, A Delaware Limited Liability Company Configuring wireless devices
EP1661311B1 (en) * 2003-08-15 2012-07-18 GVBB Holdings S.A.R.L Changeable functionality in a broadcast router
JP4855864B2 (ja) * 2006-08-11 2012-01-18 富士通セミコンダクター株式会社 ダイレクトメモリアクセスコントローラ
US20090060043A1 (en) * 2007-08-29 2009-03-05 Geert Nuyttens Multiviewer based on merging of output streams of spatio scalable codecs in a compressed domain
JP5879246B2 (ja) * 2011-12-19 2016-03-08 アラクサラネットワークス株式会社 ネットワーク中継装置
DE102012205160A1 (de) * 2012-03-29 2013-10-02 Robert Bosch Gmbh Kommunikationsanordnung und Verfahren zur Konfiguration programmierbarer Hardware
US9049173B2 (en) 2013-06-05 2015-06-02 Fortinet, Inc. Cloud based logging service
US9223715B2 (en) 2013-08-21 2015-12-29 Via Alliance Semiconductor Co., Ltd. Microprocessor mechanism for decompression of cache correction data
US8982655B1 (en) 2013-08-21 2015-03-17 Via Technologies, Inc. Apparatus and method for compression and decompression of microprocessor configuration data
US9348690B2 (en) * 2013-08-21 2016-05-24 Via Alliance Semiconductor Co., Ltd. Correctable configuration data compression and decompression system
US9395802B2 (en) 2014-05-22 2016-07-19 Via Alliance Semiconductor Co., Ltd. Multi-core data array power gating restoral mechanism
US9606933B2 (en) 2014-05-22 2017-03-28 Via Alliance Semiconductor Co., Ltd. Multi-core apparatus and method for restoring data arrays following a power gating event
US9665490B2 (en) 2014-05-22 2017-05-30 Via Alliance Semiconductor Co., Ltd. Apparatus and method for repairing cache arrays in a multi-core microprocessor
US10540186B1 (en) 2017-04-18 2020-01-21 Amazon Technologies, Inc. Interception of identifier from client configurable hardware logic
US10922071B2 (en) * 2019-03-13 2021-02-16 Quanta Computer Inc. Centralized off-board flash memory for server devices
US12066806B2 (en) * 2022-09-22 2024-08-20 Rockwell Automation Technologies, Inc. Chainable and nested edge for industrial automation device analytics

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5559684A (en) * 1991-06-19 1996-09-24 Ant Nachrinctentechnik Gmbh Switching regulator
JP3239129B2 (ja) * 1991-09-18 2001-12-17 株式会社日立製作所 経路制御方式
US5465106A (en) * 1992-09-25 1995-11-07 Hughes Aircraft Company Generic driver interface card
US5537607A (en) * 1993-04-28 1996-07-16 International Business Machines Corporation Field programmable general purpose interface adapter for connecting peripheral devices within a computer system
US5550984A (en) * 1994-12-07 1996-08-27 Matsushita Electric Corporation Of America Security system for preventing unauthorized communications between networks by translating communications received in ip protocol to non-ip protocol to remove address and routing services information
US5727221A (en) * 1994-12-22 1998-03-10 Texas Instruments Incorporated Computer system power management interconnection circuitry and systems
US5852370A (en) * 1994-12-22 1998-12-22 Texas Instruments Incorporated Integrated circuits for low power dissipation in signaling between different-voltage on chip regions
US5943507A (en) * 1994-12-22 1999-08-24 Texas Instruments Incorporated Interrupt routing circuits, systems and methods
US5784291A (en) * 1994-12-22 1998-07-21 Texas Instruments, Incorporated CPU, memory controller, bus bridge integrated circuits, layout structures, system and methods
US5659684A (en) * 1995-02-03 1997-08-19 Isdn Systems Corporation Methods and apparatus for interconnecting personal computers (PCs) and local area networks (LANs) using packet protocols transmitted over a digital data service (DDS)
US5628028A (en) 1995-03-02 1997-05-06 Data Translation, Inc. Reprogrammable PCMCIA card and method and apparatus employing same
JPH08316329A (ja) * 1995-05-24 1996-11-29 Nec Eng Ltd 情報処理装置
US6093213A (en) * 1995-10-06 2000-07-25 Advanced Micro Devices, Inc. Flexible implementation of a system management mode (SMM) in a processor
US5717691A (en) * 1995-10-30 1998-02-10 Nec Usa, Inc. Multimedia network interface for asynchronous transfer mode communication system
US5819050A (en) * 1996-02-29 1998-10-06 The Foxboro Company Automatically configurable multi-purpose distributed control processor card for an industrial control system
US6185641B1 (en) * 1997-05-01 2001-02-06 Standard Microsystems Corp. Dynamically allocating space in RAM shared between multiple USB endpoints and USB host
KR100231286B1 (ko) 1997-06-28 1999-11-15 김영환 패킷 라우터장치
US6088785A (en) * 1998-04-15 2000-07-11 Diamond Multimedia Systems, Inc. Method of configuring a functionally redefinable signal processing system
KR20010056663A (ko) 1999-12-16 2001-07-04 박종섭 패킷 라우터를 이용한 통신 시스템의 기지국내에이치디엘씨 통신장치
GB2373595B (en) * 2001-03-15 2005-09-07 Italtel Spa A system of distributed microprocessor interfaces toward macro-cell based designs implemented as ASIC or FPGA bread boarding and relative common bus protocol
US6535924B1 (en) * 2001-09-05 2003-03-18 Pluris, Inc. Method and apparatus for performing a software upgrade of a router while the router is online
US20030110306A1 (en) * 2001-12-10 2003-06-12 International Business Machines Corporation Method and system for use of a field programmable gate array (FPGA) cell for controlling access to on-chip functions of a system on a chip (SOC) integrated circuit

Also Published As

Publication number Publication date
JP2010063139A (ja) 2010-03-18
US7805766B2 (en) 2010-09-28
CN1663170A (zh) 2005-08-31
JP4848130B2 (ja) 2011-12-28
WO2004002055A1 (en) 2003-12-31
JP2005531209A (ja) 2005-10-13
AU2003245533A1 (en) 2004-01-06
CN1663170B (zh) 2010-05-26
EP1522164A1 (en) 2005-04-13
EP1522164A4 (en) 2005-08-17
EP1522164B1 (en) 2014-10-29
US20060155982A1 (en) 2006-07-13

Similar Documents

Publication Publication Date Title
MXPA04012761A (es) Enrutador de transmision con un deposito de configuracion compartida.
KR100991124B1 (ko) 공통 클록을 갖는 멀티-샤시 방송 라우터
EP0430569B1 (en) Fault tolerant interconnection networks
US6918068B2 (en) Fault-tolerant communications system and associated methods
EP1473883B1 (en) System an method for implementing RMII ethernet reset
US5940367A (en) Fault-tolerant butterfly switch
KR101017933B1 (ko) 완전 중복형의 선형적으로 확장 가능한 방송 라우터
EP1127470A1 (en) High performance crossbar switch
JP3206126B2 (ja) 分散クロスバー・スイッチ・アーキテクチャにおけるスイッチング・アレイ
JPH11298511A (ja) ネットワークシステム
US7490233B1 (en) Techniques for actively configuring programmable circuits using external memory
KR100972568B1 (ko) 공유된 구성 저장소를 구비한 방송 라우터
KR101060543B1 (ko) 다수의 또는 중복된 기준 입력을 교대로 수신하도록 구성된 방송 라우터
JP2003224592A (ja) ポイント・ツー・ポイント相互接続ファブリックへの接続を提供するために適応スイッチを使用する装置
JP3001455B2 (ja) データ転送装置
MXPA04012475A (es) Aparato enrutador de transmision linealmente expansible.
JPH0865718A (ja) クロスバネットワーク装置用クロスバ部品
JP2749417B2 (ja) 優先制御回路
JPH03159338A (ja) 自己ルーチングスイッチ網及びその網におけるスイッチ網増設方法
JPH03175846A (ja) パケット交換方式
JPH08137771A (ja) データ選別機能付き通信制御装置
JP2000032020A (ja) ネットワ―クシステム
JPH08223612A (ja) 通信回線切換方式

Legal Events

Date Code Title Description
FG Grant or registration