(57)【要約】      （修正有）【課題】プログラム可能なデバイスから発信された構成要求をコントローラに転送し、コントローラはメモリ・サブシステムから構成情報を取り出し、要求元のプログラム可能なデバイスに転送することでメモリ資源の節減を行う。【解決手段】ブロードキャスト・ルータは、複数の入力カード、第１と第２のルータ・マトリックス・カード、及び複数の出力カードを含む。構成を要するカード上にあるプログラム可能なデバイスは、構成要求を共有構成情報レポジトリとともに存在する主コントローラに対し発行する。追加のプログラム可能なデバイスが構成を要求することを可能にする期間が満了した後、主コントローラは、該カード上にあるプログラム可能なデバイスをポーリングして、該プログラム可能なデバイスのどれが構成を要求したかを判定し、共有構成情報レポジトリにおいて保持された構成情報を用いて、構成を要求したプログラム可能なデバイス各々を構成する。【選択図】図１
2010063139.tif 000002
【特許請求の範囲】
【請求項１】
電子システムであって：
少なくとも１つのルータ・カードと、複数の入力カードと、複数の出力カードとを含む複数の機能カード；
を備え；
該複数の機能カードの各々は、該複数の機能カードの各々の上に存在する、少なくとも１つのプログラム可能なデバイス、を有し；
更に、該複数の機能カードの各々に結合された構成制御カード；
を有し；
該構成制御カードは、該複数の機能カードの各々の上に存在する、該少なくとも１つのプログラム可能なデバイスを構成要求に応じて構成することを特徴とする電子システム。
【請求項２】
請求項１記載の電子システムであって、更に：
該構成制御カード上に存在するメモリ・サブシステム；
を備え；
該構成制御カードは、該複数の機能カードの各々の上に存在する、該少なくとも１つのプログラム可能なデバイス、を、該メモリ・サブシステム中に記憶された構成情報を用いて、構成することを特徴とする電子システム。
【請求項３】
請求項２記載の電子システムであって、該構成制御カードは更に：
該メモリ・サブシステム及び該複数機能カードに結合された主コントローラ；
を備え；
該主コントローラは、該複数の機能カード各々を、該メモリ・サブシステム中に記憶された該構成情報を用いて、構成することを特徴とする電子システム。
【請求項４】
請求項３記載の電子システムであって、該複数の機能カード上に存在する該少なくとも１つのプログラム可能なデバイスの各々が書き換え可能ゲート・アレイ（「ＦＰＧＡ」）であることを特徴とする電子システム。
【請求項５】
請求項３記載の電子システムであって、更に：
該複数の機能カードの各々の上の存在する周辺コントローラ；
を備え；
該周辺コントローラの各々は：
（１）該周辺コントローラとともに該機能カードの１つの上に存在する該プログラム可能なデバイスによって発信された、構成要求、を該主コントローラに転送する工程；
（２）該主コントローラによって、該周辺コントローラとともに該機能カードの１つの上に存在する該プログラム可能なデバイスに対して備えられる構成情報を転送するよう対応する工程；
に対応することを特徴とする電子システム。
【請求項６】
請求項２記載の電子システムであって、該複数の機能カードが更に：
第１の種類の複数の機能カード；
を備え；
該第１の種類の機能カードは、該第１の種類の機能カードを構成する第１命令群を要し；
更に、第２の種類の複数の機能カード；
を備え；
該第２の種類の機能カードは、該第２の種類の機能カードを構成する第２命令群を要し；
該第１命令群は該メモリ・サブシステムの第１領域中に記憶され、かつ、該第２命令群は該メモリ・サブシステムの第２領域中に記憶され；
該構成制御カードは該メモリ・サブシステムの該第１領域中に記憶された該第１命令群を用いて該第１の種類の該複数の機能カードを構成し、かつ、該構成制御カードは該メモリ・サブシステムの該第２領域中に記憶された該第２命令群を用いて該第２の種類の該複数の機能カードを構成することを特徴とする電子システム。
【請求項７】
請求項６記載の電子システムであって、該構成制御カードが更に：
該メモリ・サブシステム、該第１の種類の該複数の機能カード、及び該第２の種類の該複数の機能カード、に結合された主コントローラ；
を備え；
該主コントローラは、該第１の種類の該複数の機能カードの各々を、該メモリ・サブシステムの該第１領域中に記憶された該第１命令群を用いて、構成し；
該構成制御カードは、該第２の種類の該複数の機能カードの各々を、該メモリ・サブシステムの該第２領域中に記憶された該第２命令群を用いて、構成することを特徴とする電子システム。
【請求項８】
請求項６記載の電子システムであって、更に：
該複数の機能カードの各々の上に存在する周辺コントローラ；
を備え；
該周辺コントローラの各々は：
該周辺コントローラとともに該機能カードの１つの上に存在する該プログラム可能なデバイスによって発信された、構成要求を該主コントローラに転送するよう対応し；
該周辺コントローラ各々は更に、該主コントローラによって、該周辺コントローラとともに該機能カードの１つの上に存在する該プログラム可能なデバイスに備えられた、構成情報を転送するよう対応することを特徴とする電子システム。
【請求項９】
ブロードキャスト・ルータであって：
入力側、出力側、及び、該ルータ上に存在する、少なくとも１つのプログラム可能なデバイス；及び
複数の入力カード；
を備え；
該複数の入力カードの各々は該ルータ・カードの該入力側に接続され、該複数の入力カードの各々の上に少なくとも１つのプログラム可能なデバイスを有し；
更に、複数の出力カード；
を備え；
該複数の出力カードの各々は該ルータ・カードの該出力側に接続され、該複数の出力カードの各々の上に少なくとも１つのプログラム可能なデバイスを有し；
更に、該ルータ・カード、該複数の入力カードの各々及び該複数の出力カードの各々に接続された構成制御カード；
を備え；
該構成制御カードは該ルータ・カード、該複数の入力カードの各々、及び該複数の出力カードの各々の上に存在する該少なくとも１つのプログラム可能なデバイスを構成要求に応じて構成することを特徴とするブロードキャスト・ルータ。
【請求項１０】
請求項９記載のブロードキャスト・ルータであって、更に：
第２ルータ・カード；
を備え；
該第２ルータ・カードは、入力側、出力側、及び、該第２ルータ・カード上に存在する、少なくとも１つのプログラム可能なデバイスを有し；
該複数の入力カードの各々は更に、該第２ルータ・カードの該入力側に接続され；
該複数の出力カードの各々は更に、該第２ルータ・カードの該出力側に接続され；
該構成カードは更に、該第２ルータ・カード上に存在する該少なくとも１つのプログラム可能なデバイスを構成することを特徴とするブロードキャスト・ルータ。
【請求項１１】
請求項９記載のブロードキャスト・ルータであって、更に：
該構成制御カード上に存在するメモリ・サブシステム；
を備え；
該メモリ・サブシステムは第１メモリ領域、第２メモリ領域及び第３メモリ領域を含み；
該構成制御カードは、該複数の入力の各々の上に存在する該少なくとも１つのプログラム可能なデバイスを、該メモリ・サブシステムの該第１領域中に記憶された構成情報を用いて構成し、該第１ルータ・カード上に存在する該少なくとも１つのプログラム可能なデバイスを該メモリ・サブシステムの該第２領域中に記憶された構成情報を用いて構成し、かつ、該複数の出力カードの各々の上に存在する該少なくとも１つのプログラム可能なデバイスを、該メモリ・サブシステムの該第３領域中に記憶された構成情報を用いて構成することを特徴とするブロードキャスト・ルータ。
【請求項１２】
請求項７記載の電子システムであって、該複数の入力カードの各々、該第１ルータ・カード、及び該複数の出力カードの各々、の上に存在する、該プログラム可能なデバイスの各々、が書き換え可能ゲート・アレイ（「ＦＰＧＡ」）であることを特徴とする電子システム。
【請求項１３】
請求項１２記載の電子システムであって、該構成制御カードが、更に：
メモリ・サブシステム；
を備え；
該メモリ・サブシステムは、第１メモリ領域、第２メモリ領域、並びに第３メモリ領域を含み；
更に、該メモリ・サブシステム、該複数の入力カードの各々、該第１ルータ・カード、並びに該複数の出力カード、に結合された主コントローラ；
を備え；
該主コントローラは、該複数の入力カードの各々の少なくとも１つのＦＰＧＡを、該メモリ・サブシステムの該第１領域中に記憶された第１命令群を用いて、構成し、該第１ルータ・カードの該少なくとも１つのＦＰＧＡを、該メモリ・サブシステムの該第２領域中に記憶された第２命令群を用いて、構成し、該複数の出力カードの各々の該少なくとも１つのＦＰＧＡを、該メモリ・サブシステムの該第３領域中に記憶された第３命令群を用いて、構成することを特徴とする電子システム。
【請求項１４】
請求項１３記載の電子システムであって、更に：
第２ルータ・カード；
を備え；
該第２ルータ・カードは入力側、出力側、並びに、該第２ルータ・カード上に存在する少なくとも１つのＦＰＧＡ、を有し；
該複数の入力カードの各々は更に、該第２ルータ・カードの該入力側に結合され；
該複数の出力カードの各々は更に、該第２ルータ・カードの該主力側に結合され；
該主コントローラは、該第２のルータ・カードの該少なくとも１つのＦＰＧＡを、該メモリ・サブシステムの該第２領域中に記憶された該第２命令群を用いて構成されることを特徴とする電子システム。
【請求項１５】
請求項１４記載の電子システムであって、更に：
該複数の入力カードの各々、該第１と第２のルータ・カード、並びに該複数の出力ルータ・カードの各々、の上に存在する周辺コントローラ；
を備え；
該周辺コントローラの各々は、該周辺コントローラとともに、該複数入力カードの１つ、該第１ルータ・カード、該第２ルータ・カード、又は該出力カードの１つ、上に存在する、該ＦＰＧＡ、によって発信された、構成要求を、該主コントローラに、転送するよう対応し；
該周辺コントローラの各々は更に、該主コントローラによって備えられた、構成情報を、該周辺コントローラとともに、該入力カードの１つ、該第１ルータ・カード、該第２ルータ・カード、又は該出力カードの１つ、の上に存在する、該ＦＰＧＡ、に転送するよう対応することを特徴とする電子システム。
【請求項１６】
少なくとも１つのルータ・カードと、複数の入力カードと、複数の出力カードとを含み、機能カードそれぞれが１つ又は複数の構成可能デバイスを有する複数の機能カードを有するブロードキャスト・ルータについて、該ブロードキャスト・ルータを構成する方法であって：
該ブロードキャスト・ルータは少なくとも１つのカードを有し；
該少なくとも１つのカード上には１つ若しくは複数の構成可能デバイスが存在し；
第１の構成要求を発行する工程；
を備え；
該第１の構成要求は、該複数の機能カードのうちの第１の機能カードの上に存在する第１の構成可能デバイスによって発行され；
更に、構成情報を共有構成レポジトリから取り出す工程；及び
該共有構成レポジトリから取り出された該構成情報を用いて該要求構成可能デバイスを構成する工程；
を備えることを特徴とする方法。
【請求項１７】
請求項１６記載の方法であって、更に：
第２の構成要求を発行する工程；
を備え；
該第２の構成要求は該少なくとも１つのカードの第２のもの上に存在する第２の構成可能デバイスによって発行され；
更に、該構成情報を該共有構成レポジトリから取り出す工程；及び
該第２の要求構成可能デバイスを、該共有構成レポジトリから取り出された該構成情報を用いて、構成する工程；
を備え；
同様な構成情報が該第１と第２の要求構成可能デバイスを構成するのに用いられることを特徴とする方法。
【請求項１８】
請求項１６記載の方法であって：
該ブロードキャスト・ルータは第１の種類の少なくとも１つのカード並びに第２の種類の少なくとも１つのカードを含み；
該第１と第２との種類の該少なくとも１つのカードの各々は、該第１と第２との種類の該少なくとも１つのカードの各々の上に存在する少なくとも１つの構成可能デバイスを含み；
更に、該共有構成レポジトリの第１領域中に第１命令群を記憶する工程；
該共有構成レポジトリの第２領域中に第２命令群を記憶する工程；
該第１命令群を、該要求構成可能デバイスが、該第１の種類の該少なくとも１つのカード上に存在する場合に、取り出す工程；及び
該第２命令群を、該要求構成可能デバイスが、該第２の種類の該少なくとも１つのカード上に存在する場合に、取り出す工程；
を備え；
更に、該要求構成可能デバイスが該第１種類の該少なくとも１つのカード上に存在する場合、該共有構成レポジトリの該第１領域から取り出された該第１命令群を用いて該要求構成デバイスを構成し；かつ、該要求構成可能デバイスが該第２の種類の該少なくとも１つのカードの上に存在する場合、該要求構成可能デバイスを、該共有構成レポジトリの該第２領域から取り出された該第２命令群を用いて構成する工程；
を備えることを特徴とする方法。
【請求項１９】
請求項１６記載の方法であって、該ブロードキャスト・ルータが更に：
構成制御カード；
を備え；
該構成制御カード上には主コントローラ並びに該共有構成レポジトリが存在し；
更に、該主コントローラは、該少なくとも１つのカードの該第１のものの上に存在する該１つ若しくは複数の構成可能デバイスの該第１のものによって発行される、第１の構成要求を検出し；
該主コントローラは、該検出された第１構成要求に後続する期間の満了によって構成アルゴリズムを起動し；
該期間は、該１つ若しくは複数の構成可能デバイスの別のものが構成を、該構成アルゴリズムが起動される前に、要求することを可能にすることを特徴とする方法。
【請求項２０】
請求項１９記載の方法であって、該構成アルゴリズムは更に：
該ブロードキャスト・ルータの該少なくとも１つのカードの１つの上に存在する第１の構成可能デバイスを選定する工程；
該選定構成可能デバイスに、該デバイスが構成を所望するかを照会する工程；
該選定構成可能デバイスが、該デバイスは構成を所望する旨を示す場合、構成情報を該選定構成可能デバイスに配布する工程；
該ブロードキャスト・ルータの該少なくとも１つのカードの１つの上に存在する次の構成可能デバイスを選定する工程；及び
該照会する工程、配布する工程、並びに選定する工程を、該１つ若しくは複数の構成可能デバイスの全てに対して問い合わせが行われるまで繰り返す工程；
を備えることを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に、プログラム可能なデバイスに関し、特に、各々が共有構成レポジトリを用いて構成可能な１つ又は複数のプログラム可能なデバイスを有する、複数カード、を有するシステムに関する。
【背景技術】
【０００２】
ブロードキャスト・ルータによって、そのルータからの複数出力の各々に対して、そのルータへの複数入力の何れか１つからの信号に割り当てることが可能となる。例えば、ＮｘＭのブロードキャスト・ルータは、Ｎの入力及びＭの出力がルータ・マトリックスによって一緒に結合され、このルータ・マトリックスによってＮの入力の何れか１つをＭの出力の各々に印加することが可能となる。多くのそのようなブロードキャスト・ルータ、特に、大型のブロードキャスト・ルータは、通常「カード」と呼ばれる、広範囲にわたる種々の構成において相互接続された、複数印刷回路基板、を収容する単一のシャシから成る。しばしば、ブロードキャスト・ルータ中に収容されたカードの多くはまさにそのブロードキャスト・ルータ内に収容された別のカードの複製である。例えば、その開示内容を本明細書及び特許請求の範囲に援用する、同時係属の米国特許出願（代理人管理番号ＩＵ０２００１６０）、では１２８０ｘ１２８０のブロードキャスト・ルータが開示されており、これが実施される場合には、４０の同じように構成された入力カードで、各々がカード毎に３２の入力を有するもの、を用いることを要する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
通常、１つ又は複数の書き換え可能ゲート・アレイ（すなわち「ＦＰＧＡ」）がそのようなカード上にある。ＦＰＧＡは製造後の使用においてプログラム可能な集積回路である。カード、例えば、１つ又は複数のＦＰＧＡを収容する、上記入力カードの電源を、例えば、ブロードキャスト・ルータで、その中に該カードがインストールされたもの、の電源を投入するか、該カードを、ブロードキャスト・ルータの入出力（すなわち「Ｉ／Ｏ」）バスにおけるスロットに電源投入後に挿入する（すなわち、「ホットプラグ」する）ことによって、投入する場合、そのカード上にあるＦＰＧＡを構成することを要する。伝統的に、ＦＰＧＡは記憶デバイス、例えば、そのカード上にＦＰＧＡとともに存在するプログラム可能な読み取り専用メモリ（すなわち「ＰＲＯＭ」）によって構成されている。しかしながら、この方法でＦＰＧＡを構成することによって所要構成回路及びデータ記憶デバイスが、構成を要するＦＰＧＡ又は別のプログラム可能なデバイスを収容する各カード上で複製されてしまうことになる。そのような構成手法は、特にブロードキャスト・ルータ又は、複数カードで、構成を有するデバイスがそれらのカード上に存在するもの、を含む、別のシステム、にとって、高価なものとなり得る。
【課題を解決するための手段】
【０００４】
電子システムは複数の機能カードを含み、各機能カードの上には少なくとも１つのプログラム可能なデバイスがある。電子システムは更に、複数機能カード上にあるプログラム可能なデバイスを構成する、複数の機能カードの各々の結合された構成制御カード、を含む。本発明の一特徴では、構成制御カード上にあるメモリ・デバイスは共有構成情報レポジトリとして機能して、複数機能カード上にあるプログラム可能なデバイスを構成する場合に用いる構成情報を保持する。別の特徴では、機能カードの１つの上にあるプログラム可能なデバイスの構成は、構成制御カード上にある主コントローラ及び機能カード上にある周辺コントローラによって制御される。この特徴では、周辺コントローラはプログラム可能なデバイスから発信された構成要求を主コントローラに転送するよう対応する。同様に、主コントローラはメモリ・サブシステムから構成情報を取り出し、取り出した情報を周辺コントローラに転送する。周辺コントローラは更に、受信構成情報を要求プログラム可能なデバイスに転送するよう対応する。
【図面の簡単な説明】
【０００５】
【図１】完全に冗長な、線形に拡張可能なブロードキャスト・ルータのブロック図である。
【図２】図１の完全に冗長な、線形に拡張可能なブロードキャスト・ルータの第１ブロードキャスト・ルータ構成部分の拡大ブロック図である。
【図３】図２の第１ブロードキャスト・ルータ構成部分の一部分の拡大ブロック図である。
【図４】図２の第１ブロードキャスト・ルータ構成部分内部にあるプログラム可能なデバイスを構成する方法の流れ図である。
【発明を実施するための形態】
【０００６】
本発明の別の実施例では、電子システムはブロードキャスト・ルータであり、複数の機能カードは、ブロードキャスト・ルータの入力カード、出力カード並びに／若しくはルータ・カードを含み得るものであり、プログラム可能なデバイスはＦＰＧＡであり得る。
〔実施例〕
まず図１を参照して、完全に冗長な、線形に拡張可能なブロードキャスト・ルータ１００を次に詳細に説明する。次に分かるように、完全に冗長な、線形に拡張可能なブロードキャスト・ルータ１００は、お互いに結合されて大型の完全に冗長な、線形に拡張可能なブロードキャスト・ルータ１００を構成する複数ブロードキャスト・ルータ構成部分から成る。各ブロードキャスト・ルータ構成部分は、第１ルータ・マトリックス及び第２ルータ・マトリックスを含む個別のルータ・デバイスであり、第２ルータ・マトリックスは第１ルータ・マトリックスと冗長のものである。したがって、各ブロードキャスト・ルータは第１と第２のルーティング・エンジンを有し、このルーティング・エンジンは第１と第２のルータ・マトリックスの各々について１つあり、このブロードキャスト・ルータ各々は、その入力側で、同じ入力ディジタル・オーディオ・データ・ストリームを受信し、その出力側で、同じ出力ディジタル・オーディオ・データ・ストリームを出す。本明細書及び特許請求の範囲に開示するように、完全に冗長な、線形に拡張可能なブロードキャスト・ルータを実施するよう用いるブロードキャスト・ルータ構成部分各々はＮｘＭのサイズのブロードキャスト・ルータである。しかしながら、完全に冗長な、線形に拡張可能なブロードキャスト・ルータ１００は、代わりに、お互いに異なるサイズのブロードキャスト・ルータ構成部分から構成さえ得ることが十分想定される。
【０００７】
本明細書及び特許請求の範囲に更に開示されるように、完全に冗長な、線形に拡張可能なルータ１００は、第１、第２、第３及び第４のブロードキャスト・ルータ構成部分１０２、１０４、１０６及び１０８をお互いに結合することによって構成される。当然、４つのブロードキャスト・ルータ構成部分から構成されるものとしての、完全に冗長な、線形に拡張可能なブロードキャスト・ルータ１００の本明細書及び特許請求の範囲の開示内容は単に、例としてのものである。したがって、本発明の開示内容によって実施される、完全に冗長な、線形に拡張可能なブロードキャスト・ルータは、種々の別のいくつかのブロードキャスト・ルータ構成部分を用いて構成し得ることが分かる。第１、第２、第３、及び第４のブロードキャスト・ルータ構成部分１０２、１０４、１０６、及び１０８は、本明細書及び特許請求の範囲において開示された方法で完全に接続された場合には、併せて完全に冗長な、線形に拡張可能なブロードキャスト・ルータ１００を構成するものであり、図１に示すような共通シャシに一緒に収容することと、所望の場合の、別個のシャシに収容することとの、何れかを行い得る。上記のように、ブロードキャスト・ルータ構成部分１０２、１０４、１０６及び１０８はお互いに異なるサイズを有し得るか、代替的には、全て、同じＮｘＭのサイズを有し得るが、本明細書及び特許請求の範囲において想定される利用に適したものとなっている１つのサイズは２５６ｘ２５６のものである。更に、完全に冗長な、線形に拡張可能なブロードキャスト・ルータ１００に適した構成は、５つのブロードキャスト・ルータ構成部分で、各々が２５６ｘ２５６のサイズのもの、を結合し、それによって１，２８０ｘ１，２８０のブロードキャスト・ルータをもたらすものである。
【０００８】
第１ブロードキャスト・ルータ構成部分１０２は第１ルータ・マトリックス１０２ａ、及び第１ルータ・マトリックス１０２ａを、その障害の場合に置換するのに用いる第２（すなわち「冗長」）ルータ・マトリックス１０２ｂから構成される。同様に、完全に冗長な、線形に拡張可能なブロードキャスト・ルータ１００の第２、第３、及び第４のブロードキャスト・ルータ構成部分１０４、１０６、及び１０８の各々は、第１ルータ・マトリックス１０４ａ、１０６ａ、並びに１０８ａ、各々、及び、第２の、冗長な、ルータ・マトリックス１０４ｂ、１０６ｂ、並びに１０８ｂ、各々、で、第１ルータ・マトリックス１０４ａ、１０６ａ、並びに１０８ａ、各々、をそれらの障害の場合に置換するのに用いられるもの、から構成される。当然、第２ルータ・マトリックス１０２ｂ、１０４ｂ、１０６ｂ、並びに１０８ｂ、各々、を、第１ルータ・マトリックス１０２ａ、１０４ａ、１０６ａ、並びに１０８ａ、各々、のバックアップとして、それらの障害の場合に、用いる冗長マトリックスとして特定することは単に、任意のものであり、ブロードキャスト・ルータ構成部分内にあるルータ・マトリックス対のうちの何れか一方がそのブロードキャスト・ルータ構成部分内にある、ルータ・マトリックス対の他方のバックアップとしての役割を果たすことが十分想定される。
【０００９】
図１に更にみられるように、第１ブロードキャスト・ルータ構成部分１０２の第１ルータ・マトリックス１０２ａ、第２ブロードキャスト・ルータ構成部分１０４の第１ルータ・マトリックス１０４ａ、第３ブロードキャスト・ルータ構成部分１０６の第１ルータ・マトリックス１０６ａ、及び第４ブロードキャスト・ルータ構成部分１０８の第１ルータ・マトリックス１０８ａは完全に結合されたトポロジに適合する、ルータ・マトリックスの第１配置において、お互いに結合される。同様に、第１ブロードキャスト・ルータ構成部分１０２の第２ルータ・マトリックス１０２ｂ、第２ブロードキャスト・ルータ構成部分１０４の第２ルータ・マトリックス１０４ｂ、第３ブロードキャスト・ルータ構成部分１０６の第２ルータ・マトリックス１０６ｂ、及び第４ブロードキャスト・ルータ構成部分１０８の第２ルータ・マトリックス１０８ｂは、第１配置と同様に、完全に接続されたトポロジに適合する第２配置において、お互いに結合される。完全に接続されたトポロジでは、ルータ・マトリックスの配置の各ルータ・マトリックスが、個別リンクによって、ルータ・マトリックスの配置の部分を構成する全てのルータ・マトリックスに結合される。
【００１０】
したがって、ルータ・マトリックスの第１配置については、第１、第２及び第３の双方向リンク１１０、１１２及び１１４は第１ブロードキャスト・ルータ構成部分１０２の第１ルータ・マトリックス１０２ａを、第２ブロードキャスト・ルータ構成部分１０４の第１ルータ・マトリックス１０４ａ、第３ブロードキャスト・ルータ構成部分１０６の第１ルータ・マトリックス１０６ａ、及び第４ブロードキャスト・ルータ構成部分１０８の第１ルータ・マトリックス１０８ａ、各々、に結合する。更に、第４と第５の双方向リンク１１６及び１１８は、第２ブロードキャスト・ルータ構成部分１０４の第１ルータ・マトリックス１０４ａを、第３ブロードキャスト・ルータ構成部分１０６の第１ルータ・マトリックス１０６ａ及び第４ブロードキャスト・ルータ構成部分１０８の第１ルータ・マトリックス１０８ａ、各々、に結合する。最後に、第６双方向リンク１２０は、第３ブロードキャスト・ルータ構成部分１０６の第１ルータ・マトリックス１０６ａを第４ブロードキャスト・ルータ構成部分１０８の第１ルータ・マトリックス１０８ａに結合する。
【００１１】
同様に、ルータ・マトリックスの第２配置については、第１、第２及び第３の双方向リンク１２２、１２４及び１２６は第１ブロードキャスト・ルータ構成部分１０２の第２ルータ・マトリックス１０２ｂを、第２ブロードキャスト・ルータ構成部分１０４の第２ルータ・マトリックス１０４ｂ、第３ブロードキャスト・ルータ構成部分１０６の第２ルータ・マトリックス１０６ｂ、及び第４ブロードキャスト・ルータ構成部分１０８の第２ルータ・マトリックス１０８ｂ、各々、に結合する。更に、第４と第５の双方向リンク１２８及び１３０は、第２ブロードキャスト・ルータ構成部分１０４の第２ルータ・マトリックス１０４ｂを、第３ブロードキャスト・ルータ構成部分１０６の第２ルータ・マトリックス１０６ｂ及び第４ブロードキャスト・ルータ構成部分１０８の第２ルータ・マトリックス１０８ｂ、各々、に結合する。最後に、第６双方向リンク１３２は、第３ブロードキャスト・ルータ構成部分１０６の第２ルータ・マトリックス１０６ｂを第４ブロードキャスト・ルータ構成部分１０８の第２ルータ・マトリックス１０８ｂに結合する。
【００１２】
ブロードキャスト・ルータ構成部分１０２、１０４、１０６及び１０８を次に、詳細に説明する。図２は第１のブロードキャスト・ルータ構成部分１０２を表す。一方、第２、第３、及び第４のブロードキャスト・ルータ構成部分１０４、１０６及び１０８は第１ブロードキャスト・ルータ構成部分１０２と同様に構成される。したがって、第２、第３及び第４のブロードキャスト・ルータ構成部分１０４、１０６、及び１０８は更に、詳細に説明しなくてよいものである。なお、下記においては、第２、第３、及び第４のブロードキャスト・ルータ構成部分１０４、１０６及び１０８からの、第１ブロードキャスト・ルータ構成部分１０２への入力は説明を容易にするために省略している。そのような入力の詳細は、その開示内容を本明細書及び特許請求の範囲に援用する、同時係属の米国特許出願（代理人管理番号ＩＵ０２０１６０）に記載されている。
【００１３】
次にみられるように、第１ブロードキャスト・ルータ構成部分１０２は、第１ルータ・マトリックス・カード１３４ａ、及び第１ルータ・マトリックス・カード１３４ａと同じように構成された第２ルータ・マトリックス・カード１３４ｂを含む。第１及び第２のルータ・マトリックス・カード１３４ａ及び１３４ｂは各々、ブロードキャスト・ルータ１００のシャシ（図示せず）の中に、スライドするように収容され、このシャシによって支持可能であるように搭載される。当然、本明細書及び特許請求の範囲開示の、本発明の特定の特徴を実施する場合に複数のルータ・マトリックス・カードを用いることを要するものでない一方で、複数のマトリックス・カードを用いることが、通常好適であるが、それはブロードキャスト・ルータ１００を引き続き、適切に動作させること、及び、障害ルータ・マトリックス・カードの修理及び／又は置換を、ルータ・マトリックス・カードの適切な動作を妨げることなく、容易にするからである。
【００１４】
更に、シャシの中にスライドするように収容され、このシャシによって支持可能であるように搭載されるものとして、入力カード１３６−１乃至１３６−Ｎ、及び出力カード１３８−１乃至１３８−Ｎがある。各入力カード１３６−１乃至１３６−Ｎは第１ルータ・マトリックス・カード１３４ａ及び第２ルータ・マトリックス・カード１３４ｂに結合される。同様に、各出力カード１３８−Ｉ乃至１３８−Ｍは、第１ルータ・マトリックス・カード１３４ａ及び第２ルータ・マトリックス・カード１３８ｂに結合される。当然、個別の入力と出力とのカード１３６−Ｉ乃至１３６−Ｎ及び１３８−Ｉ乃至１３８−Ｍを図２に表す一方、所望の場合、入力と出力との両方のカード、例えば、入力カード１３６−Ｉ及び出力カード１３８−Ｉ、の上に存在する機能は、代わりに、単一のＩ／Ｏカード上に備え得ることが明らかに分かるものである。更に、図１が個別の入力と出力のカード１３６−Ｉ乃至１３６−Ｎ及び１３８−Ｉ乃至１３８−Ｎを表す一方、それらのカード上で利用可能な空間によっては、入力カード、例えば、入力カード１３６−Ｉ、と、出力カード、例えば、出力カード１３８−Ｉとの何れか又は両方の上にあるものとして表す機能の全て又は一部は、代わりに、第１ルータ・マトリックス・カード１３４ａ上か、第２ルータ・マトリックス・カード１３４ｂ上か、それらの何らかの組み合わせ上に存在し得ることが十分に想定される。
【００１５】
入力信号選定回路（図示せず）は各入力カード１３６−Ｉ乃至１３６−Ｎ上に存在する。入力信号選定回路１２３は、それによって受信される複数入力信号から、第１ルータ・マトリックス・カード１２２ａと第２ルータ・マトリックス・カード１２２ｂとの両方に渡される入力信号を選定する。本明細書及び特許請求の範囲記載のように、第１ルータ・カード１３４ａと第２ルータ・カード１３４ｂとの各々は、入力カード１３６−Ｉ乃至１３６−Ｎの各々からＮの入力ディジタル・オーディオ・データ・ストリームの１つを受信する。当然、そのような構成は単に、例示的なものであり、Ｎの入力ディジタル・オーディオ・データ・ストリームの複数のものを入力カード１３６−Ｉ乃至１３６−Ｎの単一のものから受信し得ることが十分に想定される。更に、Ｎの入力ディジタル・オーディオ・データ・ストリームの各々は、第２、第３、及び第４のブロードキャスト・ルータ構成部分１０４、１０６、及び１０８の各々の第１ルータ・カードと第２ルータ・カードとの両方にルーティングされる。同様に、第１ルータ・カード１３４ａと第２ルータ・カード１３４ｂの各々は入力ディジタル・オーディオ・データ・ストリームＮ＋１乃至２Ｎ、２Ｎ＋１乃至３Ｎ、及び３Ｎ＋１乃至４Ｎを、第２、第３及び第４のブロードキャスト・ルータ構成部分１０４、１０６及び１０８、各々から受信する。このようにして、第１ルータ・マトリックス・カード１３４ａと第２ルータ・マトリックス・カード１３４ｂとの両方が同じ４Ｎの入力を受信する。
【００１６】
第１と第２のルータ・マトリックス・カード１３４ａ及び１３４ｂの各々上にある機能によって、そのカードからのＭの出力の各々を、そのカードへの４Ｎの出力の特定の１つに接続することが可能になる。Ｍの出力の各々のどれに、４Ｎ入力の特定の１つを接続するかを選定することは制御回路（図示せず）によって制御される。第１と第２のルータ・マトリックス・カード１３４ａ及び１３４ｂは同様に制御されるので、第１のルータ・マトリックス・カード１３４ａ用のＭの出力ディジタル・オーディオ・データ・ストリームと第２のルータ・マトリックス・カード１３４ｂ用のＭの出力ディジタル・オーディオ・データ・ストリームとは同じものである。第１と第２のルータ・マトリックス・カード１３４ａ及び１３４ｂから、Ｍの出力ディジタル・オーディオ・ストリームの各々は出力カード１３８−１乃至１３８−Ｍのうちの相当する１つに配布される。出力カード１３８−Ｉ乃至１３８−Ｍの各々の上には、出力信号選定回路（図示せず）があり、この回路は、第１ルータ・マトリックス・カード１３４ａから受信される第１出力ディジタル・オーディオ・データ・ストリーム及び第２ルータ・マトリックス・カード１３４ｂから受信される第２出力ディジタル・オーディオ・データ・ストリームから、第１ブロードキャスト・ルータ構成部分１０２に出力する対象のディジタル・オーディオ・データ・ストリームを選定する。
【００１７】
以下に十分説明するように、入力カード１３６−Ｉ乃至１３６−Ｎの各々、第１ルータ・マトリックス・カード１３４ａ、第２ルータ・マトリックス・カード１３４ｂ及び出力カード１３８−Ｉ乃至１３８−Ｍ各々は電源が投入される都度、例えば、ブロードキャスト・ルータ１００の電源が投入された場合かプログラム可能なデバイス上にあるカードがブロードキャスト・ルータ１００のＩ／Ｏバスにホットプラグされた都度、構成することを要する、１つ又は複数のプログラム可能なデバイス、例えば、ＦＰＧＡ、を含む。入力カード１３６−Ｉ乃至１３６−Ｎの各々、第１ルータ・マトリックス・カード１３４ａ、第２ルータ・マトリックス・カード１３４ｂ及び出力カード１３８−Ｉ乃至１３８−Ｍの各々に結合された構成制御カード１４０は、それらの上にあるＦＰＧＡ又は別のプログラム可能なデバイスに構成情報を備える。入力カード１３６−Ｉ乃至１３６−Ｎ、第１ルータ・マトリックス・カード１３４ａ、第２ルータ・マトリックス・カード１３４ｂ及び出力カード１３８−１乃至１３８−Ｍと同様に、構成制御カード１４０は、第１ブロードキャスト・ルータ構成部分１０２のシャシ中にスライドするように収容され、そのシャシによって支持されるように搭載される。
【００１８】
当然、ＦＰＧＡは、電源投入の際に構成情報を要するプログラム可能なデバイスの単なる一種類であり、構成情報を要する、別の種類のプログラム可能なデバイスが、ＦＰＧＡの代わりとしてか、ＦＰＧＡとともに、１つ若しくは複数の入力カード１３６−Ｉ乃至１３６−Ｎ、第１ルータ・マトリックス・カード１３４ａ、第２ルータ・マトリックス・カード１３４ｂ及び／又は１つ若しくは複数の出力カード１３８−Ｉ乃至１３８−Ｍの上に存在し得ることが十分に想定される。同様に、図２は、構成制御カード１４０に結合されてそれから構成情報を受信する、３つの種類のカード、すなわち、入力カード、ルータ・マトリックス・カード及び出力カードを表すが、広範囲にわたる種々のカードで、それらの上に１つ若しくは複数のＦＰＧＡ又は別のプログラム可能なデバイスが存在するもの、は構成制御カード１４０からの構成情報を受信するよう結合し得ることが十分に想定される。更に、図２は、図示された種類のカードの全てが構成制御カード１４０に結合されてそれから構成情報を受信するものとして表すが、図示された種類のカードの１つ若しくは複数のカードは、構成情報を要することと、その代わりに、構成制御カード１４０から構成情報を受信するよう結合することとの何れでもないことがあり得ることが想定される。最後に、図２は、専用カード、特に、入力カード１３６−Ｉ乃至１３６−Ｎ、第１ルータ・マトリックス・カード１３４ａ、第２ルータ・マトリックス・カード１３４ｂ及び出力カード１３８−１乃至１３８−Ｍの上にあるプログラム可能なデバイスを構成する、構成制御カード１４０を表す一方、入力カード１３６−Ｉ乃至１３６−Ｎ、第１ルータ・マトリックス・カード１３４ａ、第２ルータ・マトリックス・カード１３４ｂ及び出力カード１３８−１乃至１３８−Ｍの上にあるプログラム可能なデバイスを構成するのに要する機能は、代わりに、多機能カード、例えば、ブロードキャスト・ルータ構成部分１０２のために別の制御機能を実行するカード、上に存在し得る。
【００１９】
次に図３を参照して、構成制御カード１４０と出力カード１３８−Ｉ乃至１３８−Ｍとの間の相互接続を更に詳細に説明する。図３では、構成制御カード１４０と出力カード１３８−Ｉ乃至１３８−Ｍとの両方の構成部分が更に分かり得る一方、図３は大いに簡素化されたものであり、本発明が分かるのに必要でない、構成制御カード１４０と出力カード１３８−Ｉ乃至１３８−Ｍとの両方の種々の構成部分は説明を容易にするよう省略していることが明らかに分かるものである。更に、図３には示していないが、入力カード１３６−１乃至１３６−Ｎの各々、第１ルータ・マトリックス・カード１３４ａ及び第２ルータ・マトリックス・カード１３４ｂは：（１）そのカード上にある各出力カード１３８−Ｉ乃至１３８−Ｍ上にあるものとして図３に表すものと同じ追加構成部分を有し；（２）構成制御カード１４０と同様に相互接続され；かつ、（３）同様な方法で構成される；ことが分かるものである。
【００２０】
更に分かり得るように、出力カード１３８−１乃至１３８−Ｍの各々上にあるものとして、ＦＰＧＡ１４２−１乃至１４２−Ｍ、及びＦＰＧＡ１４２−１乃至１４２−Ｍに結合された周辺コントローラ１４４−１乃至１４４−Ｍがある。一方、構成制御カード１４０上には、メモリ１４６があり、このメモリは、ＦＰＧＡ１４２−１乃至１４２−Ｍの各々及び、メモリ１４６に結合された主コントローラ１４８の構成情報用の共有レポジトリとしての役割を果たす。最後に、主コントローラ１４８は周辺コントローラ１４４−Ｉ乃至１４４−Ｍの各々に結合される。以下に十分説明するように、ＦＰＧＡ１４２−１乃至１４２−Ｍ、周辺コントローラ１４４−１乃至１４４−Ｍ、主コントローラ１４８及びメモリ１４６の間の上記リンクは構成情報がメモリ１４６からＦＰＧＡ１４２−１乃至１４２−Ｍに、ＦＰＧＡ１４２−１乃至１４２−Ｍからメモリ１４６に流れる制御信号に応じて流れることを可能にするよう用いられる。しかしながら、図３は、一連の個別の周辺コントローラ１４４−１乃至１４４−Ｍで、各々がＦＰＧＡ１４２−１乃至１４２−Ｍの各々に沿うとするもの、を表す一方、周辺コントローラの各々の中に存在する機能は、代わりに、相当するＦＰＧＡ中に配置し得ることが十分に想定されることを特筆する。当然、そのような構成では、ＦＰＧＡ１４２−１乃至１４２−Ｍの各々は主コントローラに直結される。更に、ＦＰＧＡ１４２−１乃至１４２−Ｍは周辺コントローラ１４４−１乃至１４４−Ｍによって行われるものとして以下に記載する機能を実行するものである。
【００２１】
メモリ１４６は複数領域に分割され、各領域は保持される種類のプログラム可能なデバイス用の構成情報を保持する。図３では、メモリ１４６は、第１種類のデバイス、例えば、出力ボード１３８−１乃至１３８−Ｍ上にあるプログラム可能なデバイス、を構成するのに要する情報が保持される第１領域１４９−１、第２種類のデバイス、例えば、入力ボード１３６−１乃至１３６−Ｎ上にあるプログラム可能なデバイス、を構成するのに要する情報が保持される第２領域１４９−２、及び第３種類のデバイス、例えば、第１と第２のルータ・マトリックス・カード１３４ａ乃至１３４ｂ、を構成するのに要する情報が保持される第３領域１４９−３を含む。好ましくは、メモリ１４６に保持される構成情報はメモリ１４６に、ＪＴＡＧポート又は別のプログラミング・ポートを介して、通常、メモリ１４６が構成制御カード１４０にはんだ実装される前に、プログラム化される。当然、図３は、メモリ１４６が、プログラム可能なデバイスがある上にあるボードの種類に基づいてお互いに区別し得る構成情報を保持する複数種類プログラム可能なデバイスを表す一方、複数種類プログラム可能なデバイスが、代わりに、単一種類のデバイス上に存在し得ることが更に想定されることが明らかに分かるものである。
【００２２】
次に図４を参照して、複数の構成可能デバイス、例えば、複数カード、本明細書及び特許請求の範囲では出力カード１３８−１乃至１３８−Ｍ、の上にある、ＦＰＧＡ１４２−１乃至１４２−Ｍ、が共有構成情報レポジトリ、特にメモリ１４６に保持された構成情報、を用いて構成される方法を更に詳細に説明する。更に上記を開示する前に、しかしながら、本発明は種々の構成手法において用い得ることを特筆する１つのそのような手法は共通デバイス種類の複数デバイスの構成に関する。そのような手法では、単一の構成ファイル、例えば、ＦＰＧＡ構成ファイル１４９−１、はメモリ１４６中に保持される。この手法は単一の構成ファイルを用いて複数のプログラム化デバイスを構成し得るうえで特に効果的であるとされる。別の手法は異なるデバイス種類の、複数のプログラム可能なデバイスの構成に関する。そのような手法では、複数構成ファイル、例えば、第１、第２、及び第３の構成ファイル、１４９−１、１４９−２及び１４９−３をメモリ１４６中に保持することを要する。
【００２３】
これらの手法を更に説明する前に、本明細書及び特許請求の範囲の原文記載の「ｄｉｆｆｅｒｅｎｔ  ｔｙｐｅ」の句の、「ｄｉｆｆｅｒｅｎｔ  ｔｙｐｅｓ  ｏｆ  ｐｒｏｇｒａｍｍａｂｌｅ  ｄｅｖｉｃｅｓ」の句に関する、本明細書及び特許請求の範囲での用法を示すものとする。特に、その通常理解されている用法に加えて、本明細書及び特許請求の範囲で用いられるように、プログラム可能なデバイスの「ｄｉｆｆｅｒｅｎｔ  ｔｙｐｅ」の句は更に、同様な物理的種類のプログラム可能なデバイスを、そのようなデバイスが異なる構成情報を要する場合に、包含することを意図するものである。例えば、入力カード上にあるＦＰＧＡは第１命令群を要し得る一方、ルータ・カード上にあるＦＰＧＡを構成するには、第１命令群とは異なる第２命令群を要し得る。その場合、入力カード上にあるＦＰＧＡはルータ・カード上にあるＦＰＧＡに対して異なる種類のプログラム可能なデバイスであるものと考えられる。逆に、同じ命令群を用いて構成し得る何れかの２つのプログラム可能なデバイスは、物理的に同様であるか否かにかかわらず、同じ種類のプログラム可能なデバイスであるものと考えられる。
【００２４】
同じ種類の複数のプログラム可能なデバイスを構成する方法は次に、図４に関して説明する。当該方法は工程１５０から開始され、工程１５２では、プログラム可能なデバイス、例えば、ＦＰＧＡ１４２−１、が、共通ボード上に要求構成可能デバイスとともに存在する周辺コントローラ、特に、出力カード１３８−１上にＦＰＧＡ１４２−１とともに、存在する周辺コントローラ１４４−１、に構成要求を発行する。構成要求の発行は種々のイベントによって引き起こし得る。例えば、ＦＰＧＡ１４２−１の、出力カード１３８−１の第１ブロードキャスト・ルータ構成部分１０２の入出力（すなわち「Ｉ／Ｏ」）バスのスロット（図示せず）への挿入と、第１ブロードキャスト・ルータ構成部分１０２自体の電源投入との何れかによる、電源投入、はＦＰＧＡ１４２−１に構成要求を発行させる。同様に、周辺コントローラ、特に、周辺コントローラ１４４−１、は、構成要求を受信すると、その要求を主コントローラ１４８に転送し、この主コントローラは、工程１５４で構成要求を受信する。当然、周辺コントローラ１４４−１にある機能が代わりにＦＰＧＡ１４２−１にあった場合には、ＦＰＧＡ１４２−１は上記構成要求を主コントローラ１４８に直接発行する。
【００２５】
主コントローラ１４８が工程１５４で構成要求の到達を検出すると、当該方法は工程１５６に進み、工程１５６では、主コントローラ１４８は予め選定された期間中、追加の構成要求を待つ。例えば、検出された構成要求の発行が第１ブロードキャスト・ルータ構成部分１０２の電源投入によって引き起こされた場合、出力カード１３８−１に同様に構成されたカード上にあるＦＰＧＡに対する構成要求は、ＦＰＧＡ１４２−１によって発行された検出構成要求の直後に到着することが想定される。工程１５８に進めば、その間に主コントローラ１４８が追加構成要求の到着を待つその予め選定された時間が未だ満了していない場合、当該工程は工程１５６に戻り、追加の構成要求を待つ。しかしながら、工程１５８で予め選定された期間が満了したものと判定された場合には、当該方法は工程１６０に進み、工程１６０では主コントローラ１４８は構成を要求するプログラム可能なデバイスの構成を開始する。
【００２６】
構成する対象のデバイスの種類は１つしかないので、工程１６０から、当該方法は工程１６４に進み、工程１６４では主コントローラ１４８はそこに結合されたプログラム可能なデバイスを検査し始めてどのプログラム可能なデバイスが構成を要求したかを識別する。これを行うよう、工程１６４では、主コントローラ１４８は、そこに結合された種々のプログラム可能なデバイスから、第１プログラム可能なデバイスを選定する。例えば、主コントローラ１４８はＦＰＧＡ１４２−１を選定し得る。当然、主コントローラ１４８に結合されたプログラム可能なデバイスは全て同じ種類のものであるので、主コントローラ１４８は選定されるプログラム化デバイスの種類を考慮することを何ら要するものでない。当該方法は更に、工程１６６に進み、工程１６６では主コントローラ１４８は周辺コントローラ、特に、特定のプログラム可能なデバイス、特に、ＦＰＧＡ１４２−１、に結合された、周辺コントローラ１４４−１、をポーリングして、その特定のプログラム可能なデバイスが構成を要求したかを判定する。主コントローラ１４８が、工程１６６で、ポーリングされた周辺コントローラが該特定のプログラム可能なデバイスのために構成要求を発行したことを判定する場合、当該方法は工程１６８に進み、工程１６８では、主コントローラ１４８は該特定プログラム化デバイスを構成する。これを行うように、主コントローラ１４８はメモリ１４６の第１領域１４９−１に保持された構成情報を取り出し、この取り出した情報を周辺コントローラ１４４−１に転送する。この取り出した構成情報を用いて、周辺コントローラ１４４−１は更に、ＦＰＧＡ１４２−１を通常の方法で構成するよう対応する。当然、周辺コントローラ１４４−１にある機能が、代わりに、ＦＰＧＡ１４２−１にあった場合、主コントローラはＦＰＧＡ１４２−１を直接ポーリングしてＦＰＧＡ１４２−１が構成を要求したかを判定する。もしそうである場合、主コントローラ１４８はその後、取り出した構成情報をＦＰＧＡ１４２−１に転送する。
【００２７】
工程１６８でＦＰＧＡ１４２−１の構成を完了するか、ＦＰＧＡ１４２−１は構成要求を出したことがないことを工程１６６で判定すると、当該方法は工程１７０に進む。工程１７０では、追加のプログラム可能なデバイスで、それらが構成要求を発行したか否かについて、確認することを要するもの、が存在するかが判定される。確認対象の追加プログラム可能なデバイスが存在する場合には、当該方法は工程１７２に進み、工程１７２では次のプログラム可能なデバイスが選定される。当該方法は更に、工程１６６に戻り、上記の方法で更に処理を行う。しかしながら、工程１７２で、全てのプログラム可能なデバイスが、それらが構成要求を発行したかを判定するようポーリングされた場合には、当該方法は更に、工程１７８に進み、当該方法は終了する。
【００２８】
次に図４に戻って、複数カードで、それらの上に複数種類のプログラム可能なデバイスが存在するもの、を有するシステムにおけるプログラム可能なデバイスを、この場合もまた共有構成情報レポジトリを用いて構成する方法を次に詳細に説明する。上記のように、当該方法は工程１５０から開始し、工程１５２では、プログラム可能なデバイス、同様に、例えば、ＦＰＧＡ１４２−１、は、共通ボード上に要求構成デバイスとともに存在する周辺コントローラ、特に、同様に、出力カード１３８−１上にＦＰＧＡ１４２−１とともに存在する周辺コントローラ１４４−１、に構成要求を発行する。同様に、周辺コントローラ、特に、周辺コントローラ１４４−１、は構成要求を受信すると、その要求を主コントローラ１４８に転送し、この主コントローラは工程１５４で構成要求を受信する。当然、周辺コントローラ１４４−１中に存在する機能が、代わりに、ＦＰＧＡ１４２−１中に存在した場合には、ＦＰＧＡ１４２−１は上記構成要求を主コントローラ１４８に直接発行する。
【００２９】
主コントローラ１４８が工程１５４で構成要求の到着を検出すると、当該方法は工程１５６に進み、工程１５６では主コントローラ１４８が予め選定された期間中、追加の構成要求の到着を待つ。工程１５８に進み、その間に主コントローラ１４８が追加の構成要求の到着を待つその予め選定された期間が未だ満了していない場合には、当該方法は工程１５６に戻って追加の構成要求を待つ。しかしながら、工程１５８で、予め選定された期間が満了したと判定された場合には、当該方法は工程１６０に進み、主コントローラ１４８が構成を要求するプログラム可能なデバイスの構成を開始する。
【００３０】
本発明のこの実施例では、構成を要求するプログラム可能なデバイスの種類は複数のものがあり得るので、工程１６２で、主コントローラ１４８は構成対象の第１種類のプログラム化デバイスを選定する。工程１６２で選定された特定の種類のデバイスが種々の手法を用いて判定され得ることが想定される。例えば、デバイスで、それについて工程１５４で当初の構成要求が検出されたもの、の種類は工程１６２で選定されるデバイスの種類であり得る。この手法によって、追加の構成要求が受信されると、主コントローラ１４８はそれによって受信された構成要求各々をデバイス種類について確認し、デバイスで、それについて少なくとも１つの構成要求が予め選定された期間の満了前に受信されたもの、の種類全ての一覧を保持する。工程１６４に進めば、主コントローラ１４８はプログラム可能なデバイスを確認し始めて、それらが構成を要求したかをみる。同様に、それによって主コントローラ１４８がプログラム可能なデバイスを確認して、それらが構成を要求したかを判定するその処理は容易に変更し得る。例えば、主コントローラ１４８はプログラム可能なデバイスと関連した周辺コントローラ各々をポーリングして：（１）関連したプログラム可能なデバイスが特定されたデバイス種類のものか；及び（２）周辺コントローラはプログラム可能なデバイスのための構成要求を発行したか；を判定し得る。当然、周辺コントローラ中に存在する機能が、代わりに、相当するプログラム可能なデバイス中に存在していた場合、主コントローラは各プログラム可能なデバイスを直接ポーリングして：（１）プログラム可能なデバイスが特定のデバイス種類のものであること；及び（２）プログラム可能なデバイスが構成要求を発行したこと；の有無を判定する。主コントローラはＦＰＧＡ１４２−１を直接ポーリングして、ＦＰＧＡ１４２−１が構成を要求したかを判定する。
【００３１】
主コントローラ１４８が、工程１６６で、ポーリングされた周辺コントローラが特定のプログラム可能なデバイスのために構成要求の発行し、特定のプログラム可能なデバイスが特定の種類のものである旨を判定した場合、当該方法は工程１６８に進み、工程１６８では、主コントローラ１４８が特定のプログラム可能なデバイスを構成する。こうするよう、主コントローラは、プログラム可能なデバイスの要求種類についての構成情報を保持するメモリ１４６のその領域に保持された構成情報を取り出し、その取り出した情報を周辺コントローラ１４４−１に転送する。その受信された構成情報を用いて、周辺コントローラ１４４−１は更に、ＦＰＧＡ１４２−１を通常の方法で構成することに対応する。当然、周辺コントローラに存在する機能が、代わりに、特定のプログラム可能なデバイスにあった場合には、工程１６６で、主コントローラ１４８は代わりに、特定のプログラム可能なデバイスが構成要求を出しており、特定の種類のものであるか否かを判定し、工程１６８で、主コントローラ１４８は取り出された構成情報をＦＰＧＡ１４２−１に転送する。
【００３２】
工程１６８でＦＰＧＡ１４２−１の構成を完了するか、工程１６６で、ＦＰＧＡ１４２−１が構成要求を発行したことがない旨を判定すると、当該方法は工程１７０に進む。工程１７０では、追加のプログラム可能なデバイスで、それらについて、それらが構成要求を発行したか否かについて確認することを要し、特定の種類のプログラム可能なデバイスであるもの、が存在するかが判定される。確認対象の追加プログラム可能なデバイスが存在する場合、当該方法は工程１７２に進み、次のプログラム可能なデバイスが選定される。当該方法は更に工程１６６に戻って、上記の方法で更に処理される。しかしながら、工程１７２で、プログラム可能なデバイス全てが、それらが構成要求を発行しており、特定種類のプログラム可能なデバイスであるかを判定するようポーリングされた場合には、当該方法は更に工程１７４に進み、工程１７４では、主コントローラ１４８が、構成を要求した、プログラム可能なデバイスの追加の種類のものがあるか否かを判定する。例えば、主コントローラ１０８は、未だ構成されていないプログラム可能の追加の種類のものがあるかをみるよう、構成を要求するプログラム可能なデバイスの種類の一覧を確認し得る。構成を要するプログラム可能なデバイスの追加の種類のものがある場合には、当該方法は工程１７６に進み、工程１７６では主コントローラ１４８は構成するプログラム可能なデバイスの次の種類のものを選定する。当該方法は更に、工程１６４に戻って上記の方法で更に処理を行う。しかしながら、工程１７４で、構成を要求するプログラム可能なデバイス種類の全てが構成された旨が判定された場合、当該方法は工程１７８で終了する。
【００３３】
当然、本発明の実施例を実施するいくつかの方法があり、これらの方法においては複数の種類のプログラム可能なデバイスが、主コンピュータ１４８に、構成を要求するプログラム可能なデバイスの種類の一覧を保持することと構成を要求したプログラム可能なデバイスの種類毎に一度、プログラム可能なデバイスの各々をポーリングすることとの何れも要することのない、共有構成情報リポジトリを用いて、構成される。この方法では、当該工程での要求プログラム可能なデバイスの構成開始後に、主コントローラ１４８は特定の周辺コントローラを、それに関連したプログラム可能なデバイスが構成を要求した場合にポーリングする。周辺コントローラが、プログラム可能なデバイスが構成を要求した旨を示す場合、主コントローラ１４８は周辺コントローラに関連したプログラム可能なデバイスの種類に関して問い合わせる。この情報を用いて、主コントローラ１４８はメモリ１４６から適切な構成情報を取り出し得るものであり、上記のようにプログラム可能なデバイスの構成に進み得る。主コントローラ１４８は更に、次のプログラム可能なデバイスを選定し、当該処理を、全てのプログラム可能なデバイスが、それらが構成を要求したか、更には、もしそうである場合には、構成されたかを判定するようポーリングされるまで、繰り返すものである。なお、上記の方法は、要求プログラム可能なデバイス全てを構成するのに主コントローラ１４８が行うことを要するパスの数を削減する。上記の方法は更に、主コントローラ１４８が、構成を要求するプログラム可能なデバイスの種類の一覧を保持する、如何なる必要性をもなくすものである。
【００３４】
このようにして、本明細書及び特許請求の範囲において、複数のプログラム可能なデバイスを構成するのに用いられる共有構成情報レポジトリを有するブロードキャスト・ルータを開示し図示しており、複数のプログラム可能なデバイスの各々はブロードキャスト・ルータ中の異なるボード上にある。共有構成情報レポジトリは複数プログラム可能なデバイスを構成するのに用い得るものであり、複数のプログラム可能なデバイスの各々は同じボード種類のボード上にあり得るか、異なるボード修理の異なるボード上にあり得る。この方法でブロードキャスト・ルータを構成することによって、かなりのメモリ資源の節減が、プログラム可能なデバイス毎の個別メモリ・デバイスの要求をなくすことによって実現される。
【００３５】
当然、本発明の好適実施例を本明細書及び特許請求の範囲において表し、説明したが、種々の修正及び別の変更で、本発明に関するもの、を当業者によって、本発明の趣旨又は開示内容から逸脱することなく、行い得るものである。したがって、保護の範囲は本明細書及び特許請求の範囲記載の実施例に限定されるものでなく、本特許請求の範囲によってのみ限定されるものである。
【図１】
2010063139.tif 000003
【図２】
2010063139.tif 000004
【図３】
2010063139.tif 000005
【図４】
2010063139.tif 000006