(57)【特許請求の範囲】
【請求項１】
ＦＰＧＡを搭載したプラグインカードと、
同一ネットワーク内の複数のノードの内、取得対象のＦＰＧＡのコンフィグレーションデータを格納するノードがあるか否かを判定し、当該ノードがある場合に、同一ネットワークに接続された異なるノードに対してＦＰＧＡのコンフィグレーションデータの取得を要求すると共に、当該取得要求に応じて、前記ノードから取得された前記コンフィグレーションデータに基づき、当該ＦＰＧＡに対するコンフィグレーションを実行するプロセッサと、
前記コンフィグレーションデータを識別するデータ識別情報と、当該コンフィグレーションデータを格納する前記ノードを識別する装置識別情報とを対応付けて管理する管理部とを有し、
前記プロセッサは、
取得対象のコンフィグレーションデータを識別するデータ識別情報に対応した装置識別情報を前記管理部から読み出し、読み出された装置識別情報に対応した前記ノードに対して、当該コンフィグレーションデータの取得を要求することを特徴とするプラグインカード収容装置。
【請求項２】
前記ＦＰＧＡの負荷状態を監視する監視部を有し、
前記プロセッサは、
前記ＦＰＧＡの負荷状態が基準レベルよりも低下した場合に、前記取得要求に応じた前記コンフィグレーションデータの読出し動作、又は前記取得要求に応じて取得された前記コンフィグレーションデータのコンフィグレーション動作を実行することを特徴とする請求項１に記載のプラグインカード収容装置。
【請求項３】
前記コンフィグレーションデータを複数に分割し、分割された複数の分割データを識別する前記データ識別情報と、各分割データを格納する前記ノードを識別する前記装置識別情報とを対応付けて前記管理部に管理し、
前記プロセッサは、
取得対象のコンフィグレーションデータ内の各分割データを識別するデータ識別情報に対応した各装置識別情報を前記管理部から読み出し、読み出された各装置識別情報に対応した各ノードに対して、各分割データの取得を要求すると共に、当該取得要求に応じて、各ノードから取得された各分割データに基づき、当該ＦＰＧＡに対するコンフィグレーションを実行することを特徴とする請求項１又は２に記載のプラグインカード収容装置。
【請求項４】
前記ＦＰＧＡのコンフィグレーションデータのデータエラーを検出すると共に、データエラー検出時の分割データを特定する監視部を有し、
前記プロセッサは、
前記監視部によって特定された前記分割データのデータ識別情報に対応する前記装置識別情報を前記管理部から読み出し、読み出された前記装置識別情報に対応した前記ノードに対して、当該分割データの取得を要求することを特徴とする請求項３に記載のプラグインカード収容装置。
【請求項５】
ＦＰＧＡを搭載したプラグインカードと、プロセッサとを有するプラグインカード収容装置のプラグインカード制御方法であって、
前記プロセッサは、
同一ネットワーク内の複数のノードの内、取得対象のＦＰＧＡのコンフィグレーションデータを格納するノードがあるか否かを判定し、
当該ノードがある場合に、同一ネットワークに接続された異なるノードに対してＦＰＧＡのコンフィグレーションデータの取得を要求し、
当該取得要求に応じて、前記ノードから取得された前記コンフィグレーションデータに基づき、当該ＦＰＧＡに対するコンフィグレーションを実行すると共に、
前記コンフィグレーションデータを識別するデータ識別情報と、当該コンフィグレーションデータを格納する前記ノードを識別する装置識別情報とを対応付けて管理する管理部から取得対象のコンフィグレーションデータを識別するデータ識別情報に対応した装置識別情報を読み出し、読み出された装置識別情報に対応した前記ノードに対して、当該コンフィグレーションデータの取得を要求し、
当該取得要求に応じて、前記ノードから取得された前記コンフィグレーションデータに基づき、当該ＦＰＧＡに対するコンフィグレーションを実行する
各処理を実行することを特徴とするプラグインカード制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プラグインカード収容装置及びプラグインカード制御方法に関する。
【背景技術】
【０００２】
近年、半導体回路の微細化技術の進歩に伴いＦＰＧＡ（Field-Programmable  Gate  Array）の回路規模も大規模化しているため、ＦＰＧＡのコンフィグレーションデータ（以下、単にコンフィグデータと称する）のサイズも肥大化している。また、システム運用中にＦＰＧＡの一部の機能の変更を、ＦＰＧＡ内の他機能を停止させることなく、実行するため、ＦＰＧＡに対する１個のコンフィグデータを複数の分割データに分割するパーシャルコンフィグレーション技術も採用されつつある。
【０００３】
図１２は、伝送システムの一例を示す説明図である。図１２に示す伝送システム１００は、伝送装置等の複数のノード１０１と、集中管理装置１０２とを有する。ノード１０１及び集中管理装置１０２は、ネットワーク１０３を通じて通信接続するものである。
【０００４】
各ノード１０１は、複数のＦＰＧＡ１１１と、メモリ１１２とを有する。メモリ１１２は、ＦＰＧＡ１１１のコンフィグデータを格納する領域である。ＦＰＧＡ１１１は、メモリ１１２に格納されたコンフィグデータに基づき、コンフィグレーションを実行する。集中管理装置１０２は、ネットワーク１０３上の全ノード１０１内の全ＦＰＧＡ１１１のコンフィグデータを一元管理する。更に、集中管理装置１０２は、メモリ１２１と、管理制御部１２２とを有する。メモリ１２１は、例えば、ＨＤＤ（Hard  Disk  Drive）や半導体メモリ等で構成し、各ＦＰＧＡ１１１の種別に応じたコンフィグデータが格納してある。管理制御部１２２は、集中管理装置１０２全体を制御する。管理制御部１２２は、各ノード１０１内のＦＰＧＡ１１１の種別に対応するコンフィグデータをメモリ１２１から読み出し、読み出されたコンフィグデータを該当ＦＰＧＡ１１１のノード１０１に送信する。
【０００５】
各ノード１０１は、集中管理装置１０２からコンフィグデータを受信した場合、受信されたコンフィグデータを該当ＦＰＧＡ１１１内のメモリ１１２に格納する。更に、ノード１０１は、メモリ１１２に格納されたコンフィグデータに基づき、ＦＰＧＡ１１１に対してコンフィグレーションを実行させる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−３０６３４３号公報
【特許文献２】特開２００５−１９０３０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、集中管理装置１０２では、ネットワーク１０３内の全ノード１０１のＦＰＧＡ１１１のコンフィグデータを一元管理している。その結果、集中管理装置１０２では、コンフィグデータを格納するためのメモリ１２１の記憶領域が肥大化することは勿論のこと、各ノード１０２にコンフィグデータを提供する際の処理負荷が集中する。
【０００８】
更に、集中管理装置１０２では、該当ＦＰＧＡ１１１のコンフィグデータをノード１０１にダウンロードすることになるが、複数のノード１０１によるコンフィグデータのダウンロードが集中した場合、ネットワーク１０３の通信帯域が集中する。
【０００９】
しかも、１個のコンフィグデータを複数の分割データに分割するパーシャルコンフィグ機能を採用した場合、通常のコンフィグデータに比較して総データ量も増える。その結果、コンフィグデータを提供する際の集中管理装置１０２の処理負荷及び通信帯域の集中が顕著になる。
【００１０】
一つの側面では、ＦＰＧＡに対してコンフィグデータを提供する際の処理負荷及び通信帯域の集中が分散化できるプラグインカード収容装置及びプラグインカード制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
開示の態様は、ＦＰＧＡを搭載したプラグインカードと、ネットワークに接続された異なるノードに対してＦＰＧＡのコンフィグレーションデータの取得を要求するプロセッサとを有する。更に、プロセッサは、当該取得要求に応じて、前記ノードから取得された前記コンフィグレーションデータに基づき、当該ＦＰＧＡに対するコンフィグレーションを実行する。
【発明の効果】
【００１２】
開示の態様では、ＦＰＧＡに対してコンフィグレーションデータを提供する際の処理負荷及びネットワーク帯域の集中が分散化できる。
【図面の簡単な説明】
【００１３】
【図１】図１は、実施例１の伝送システムの一例を示す説明図である。
【図２】図２は、実施例１のノードのカードスロット構成の一例を示す説明図である。
【図３】図３は、管理テーブルのテーブル一例を示す説明図である。
【図４】図４は、装置構成データベースのテーブル一例を示す説明図である。
【図５】図５は、コンフィグレーション実行処理に関わる各ノードの処理動作の一例を示すフローチャートである。
【図６】図６は、ダウンロード元ノード決定処理に関わるノードの処理動作の一例を示すフローチャートである。
【図７】図７は、ダウンロード元ノード決定処理に関わる優先順位の一例を示す説明図である。
【図８】図８は、伝送システム内のコンフィグデータ及びテーブル更新情報の流れを示す説明図である。
【図９】図９は、分割コンフィグレーション実行処理に関わる各ノードの処理動作の一例を示すフローチャートである。
【図１０】図１０は、実施例２の伝送システムの一例を示す説明図である。
【図１１】図１１は、実施例３のノード内のＦＰＧＡとＦＰＧＡ制御部との間の処理動作の一例を示す説明図である。
【図１２】図１２は、伝送システムの一例を示す説明図である。
【発明を実施するための形態】
【００１４】
以下、図面に基づいて、本願の開示するプラグインカード収容装置及びプラグインカード制御方法の実施例を詳細に説明する。尚、本実施例により、開示技術が限定されるものではない。また、以下に示す各実施例は、矛盾を起こさない範囲で適宜組み合わせても良い。
【実施例１】
【００１５】
図１は、実施例１の伝送システムの一例を示す説明図である。図２は、実施例１のノードのカードスロット構成の一例を示す説明図である。図１に示す伝送システム１は、ネットワーク２で接続する伝送装置等の複数のノード３を有し、ネットワーク２を通じてノード３間の通信を実現するシステムである。各ノード３は、図２に示すように複数枚のプラグインカード１０をスロット方式で搭載する。プラグインカード１０は、例えば、２４枚のＩＦカード１１と、２枚のファブリックスイッチ（Switch  Fabric）カード１２と、１枚の主制御（Main  Control）カード１３とを有する。
【００１６】
ＩＦカード１１は、様々な拡張機能を備え、例えば、＃１〜＃２４の２４枚のＩＦカードである。また、各ＩＦカード１１は、複数のＦＰＧＡ(Field  Programmable  Gate  Array)２１と、ＦＰＧＡ制御部２２と、物理メモリ（Physical  Inventory）２３と、ローカルＣＰＵ（Local  CPU）２４とを有する。
【００１７】
ＦＰＧＡ２１は、コンフィグデータに基づき各種処理を実行する。ＦＰＧＡ２１は、図示せぬ集積回路と、集積回路を制御するコンフィグデータを格納するメモリ２１Ａとを有する。尚、メモリ２１Ａは、例えば、ＳＲＡＭ（Static  Random  Access  Memory）、ＤＲＡＭ（Dynamic  Random  Access  Memory）、ＥＥＰＲＯＭ、フラッシュメモリ等の半導体メモリである。ＦＰＧＡ制御部２２は、ＦＰＧＡ２１内のメモリ２１Ａに格納されたコンフィグデータに基づき、ＦＰＧＡ２１のコンフィグレーションを制御する。尚、ＦＰＧＡ制御部２２は、例えば、ＣＰＬＤ（Complex  Programmable  Logic  Device）で構成する。物理メモリ２３は、各プラグインカード１０の種別や、使用デバイス等の情報が格納してある。尚、物理メモリ２３は、例えば、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read  Only  Memory）等で構成する。ローカルＣＰＵ２４は、ＩＦカード１１全体を制御する機能と、他のＩＦカード１１内のローカルＣＰＵ２４、ファブリックスイッチカード１２内のローカルＣＰＵや主制御カード１３内のＣＰＵ３４との通信を司る機能とを有する。
【００１８】
ファブリックスイッチカード１２は、プラグインカード収容装置１内に収容する各プラグインカード１０間のクロスコネクト機能を内蔵し、ＩＦカード１１と同様に、図示せぬが、ＦＰＧＡ、ＦＰＧＡ制御部、物理メモリ及びローカルＣＰＵを有する。
【００１９】
主制御カード１３は、通信インタフェース３１と、管理テーブル３２と、装置構成データベース３３と、ＣＰＵ３４とを有する。通信インタフェース３１は、ネットワーク２を通じて各ノード３との通信を司るインタフェースである。
【００２０】
図３は、管理テーブル３２のテーブル一例を示す説明図である。図３に示す管理テーブル３２は、カード情報３２Ａを管理する。カード情報３２Ａは、カード種別４１と、ＦＰＧＡ種別４２と、コンフィグデータ情報４３と、バージョン情報４４と、サイズ４５と、チェックサム４６と、保有ノード情報４７と、パーシャルデータ情報４８とを有する。カード種別４１は、プラグインカード１０の種別を識別する情報である。ＦＰＧＡ種別４２は、プラグインカード１０に搭載するＦＰＧＡ２１の種別を識別する情報である。コンフィグデータ情報４３は、ＦＰＧＡ２１内のコンフィグデータを格納するメモリ２１Ａの領域を識別する情報である。バージョン情報４４は、コンフィグデータのバージョンを識別する情報である。サイズ４５は、コンフィグデータのデータサイズである。チェックサム４６は、データの誤り検出に使用する情報である。保有ノード情報４７は、コンフィグデータを格納するノード３を識別する装置識別情報である。パーシャルデータ情報４８は、コンフィグデータが分割された分割データの情報である。
【００２１】
パーシャルデータ情報４８は、データ種別４８Ａと、サイズ４８Ｂと、チェックサム４８Ｃとを有する。データ種別４８Ａは、分割データを識別する情報である。サイズ４８Ｂは、分割データのデータサイズである。チェックサム４８Ｃは、分割データの誤り検出に使用する情報である。
【００２２】
図４は、装置構成データベース３３のテーブル一例を示す説明図である。装置構成データベース３３は、ノード３内のプラグインカード１０の実装情報やカード間接続構成情報の他に、ネットワーク情報を管理する。図４に示すネットワーク情報３３Ａは、伝送システム１内の全ノード３のトポロジー情報である。ネットワーク情報３３Ａは、ノード名５１と、ノード識別子５２と、負荷状態５３と、距離情報５４とを有する。ノード名５１は、伝送システム１内の各ノード３を識別する名称である。ノード識別子５２は、伝送システム１内の各ノード３を識別する識別子である。負荷状態５３は、ノード３の負荷状態に相当し、例えば、Ｎｏｍａｌ→Ｂｕｓｙ→Ｖｅｒｙ  Ｂｕｓｙの順に負荷状態が段々と高くなる。距離情報５４は、伝送システム１内で自ノード３から該当ノード３までのホップ数に相当するものである。尚、例えば、＃Ａのノード３の装置構成データベース３３の場合、図４に示す通り、自ノード３は、ホップ数が０であるため、＃Ａのノード３となる。
【００２３】
主制御カード１３内のＣＰＵ３４は、ＩＦカード１１内のＦＰＧＡ２１のコンフィグデータを取得する際、管理テーブル３２を参照し、該当コンフィグデータを格納したメモリ２１Ａを保有するノード３に対してコンフィグデータのダウンロードを要求する。
【００２４】
該当コンフィグデータを格納したノード３内の主制御カード１３内のＣＰＵ３４は、ダウンロード要求に応じて、該当コンフィグデータをメモリ２１Ａから読み出し、読み出されたコンフィグデータを、ダウンロードを要求した要求元のノード３に送信する。
【００２５】
要求元のノード３内の主制御カード１３内のＣＰＵ３４は、ネットワーク２経由で、該当コンフィグデータを格納したノード３からコンフィグデータを受信すると、ＦＰＧＡ制御部２２を通じて、コンフィグデータを該当ＦＰＧＡ２１内のメモリ２１Ａに格納する。更に、ＣＰＵ３４は、ＦＰＧＡ２１内のメモリ２１Ａに格納されたコンフィグデータに基づき、ＦＰＧＡ制御部２２を通じて、ＦＰＧＡ２１のコンフィグレーションを実行する。
【００２６】
次に実施例１の伝送システム１の動作について説明する。図５は、コンフィグレーション実行処理に関わる各ノード３の処理動作の一例を示すフローチャートである。図５に示すコンフィグレーション実行処理は、要求元のノード３内のＦＰＧＡ２１のコンフィグデータを格納したノード３から該当コンフィグデータをダウンロードし、コンフィグデータに基づき、ＦＰＧＡ２１にコンフィグレーションを実行させる処理である。尚、要求元のノード３は、例えば、“＃Ａ”のノード３とし、ダウンロード元のノード３は、例えば、“＃Ｎ”のノード３とする。
【００２７】
図５に示す“＃Ａ”のノード３の主制御カード１３内のＣＰＵ３４は、例えば、ＩＦカード１１やファブリックスイッチカード１２等のプラグインカード１０の新たな実装を検出する（ステップＳ１１）。尚、ＣＰＵ３４は、実装を検出すると、プラグインカード１０内の物理メモリ２３に格納された情報に基づきカード種別を認識する。ＣＰＵ３４は、検出されたプラグインカード１０のカード種別に基づき、プラグインカード１０内のＦＰＧＡ２１に設定するコンフィグデータを格納したメモリ２１Ａを保有するノード３の保有ノード情報４７を管理テーブル３２から検索する（ステップＳ１２）。
【００２８】
ＣＰＵ３４は、検索結果の保有ノード情報４７に基づき、該当コンフィグデータを格納したメモリ２１Ａを保有するノード３がネットワーク２内にあるか否かを判定する（ステップＳ１３）。ＣＰＵ３４は、ネットワーク２内にある場合に（ステップＳ１３肯定）、該当コンフィグデータを格納したノード３が複数あるか否かを判定する（ステップＳ１４）。ＣＰＵ３４は、該当コンフィグデータを格納したノード３が複数ある場合（ステップＳ１４肯定）、該当コンフィグデータのダウンロード元のノード３を決定する、図６のダウンロード元ノード決定処理を実行する（ステップＳ１５）。
【００２９】
ＣＰＵ３４は、ダウンロード元のノード３、例えば、＃Ｎのノード３に対して該当コンフィグデータのダウンロード要求を送信し（ステップＳ１６）、所定時間内にダウンロード要求に対する応答があるか否かを判定する（ステップＳ１７）。ＣＰＵ３４は、所定時間内にダウンロード要求に対する応答がある場合（ステップＳ１７肯定）、ダウンロード元のノード３から応答を受信する（ステップＳ１８）。
【００３０】
ＣＰＵ３４は、ダウンロード元のノード３から応答を受信すると、ＯＫ応答を受信したか否かを判定する（ステップＳ１９）。ＣＰＵ３４は、ダウンロード元のノード３からＯＫ応答を受信した場合（ステップＳ１９肯定）、ダウンロード元のノード３からコンフィグデータの受信を待機する（ステップＳ２０）。
【００３１】
ＣＰＵ３４は、コンフィグデータの受信を待機し、コンフィグデータを受信する（ステップＳ２１）。ＦＰＧＡ制御部２２は、管理テーブル３２内のサイズ４５及びチェックサム４６等を参照し受信したコンフィグデータの内容が正常であるか否かを判定する。ＣＰＵ３４は、ＦＰＧＡ制御部２２の判定結果に基づき、ダウンロード元のノード３からコンフィグデータを正常に受信したか否かを判定する（ステップＳ２２）。
【００３２】
ＣＰＵ３４は、コンフィグデータを正常に受信した場合（ステップＳ２２肯定）、コンフィグデータをＦＰＧＡ２１内のメモリ２１Ａに格納し、格納されたコンフィグデータに基づき、ＦＰＧＡ２１にコンフィグレーションを実行させる（ステップＳ２３）。そして、ＣＰＵ３４は、ＦＰＧＡ２１のコンフィグレーションを実行した後、コンフィグデータを保有するノード３の保有ノード情報４７として自ノード３を追加すべく、管理テーブル３２を更新する（ステップＳ２４）。ＣＰＵ３４は、管理テーブル３２のテーブル更新情報を隣接する各ノード３に送信し（ステップＳ２５）、図５に示す処理動作を終了する。
【００３３】
また、ＣＰＵ３４は、該当コンフィグデータを格納したノード３がネットワーク２内にない場合（ステップＳ１３否定）、コンフィグデータのインストール要求を報知出力する（ステップＳ２６）。尚、ＣＰＵ３４は、インストール要求を、例えば、表示部に警告表示する。その結果、利用者は、警告表示を見て、コンフィグデータをインストールすることになる。
【００３４】
また、ＣＰＵ３４は、該当コンフィグデータを格納したノード３が複数ない場合（ステップＳ１４否定）、当該ノード３をダウンロード元のノード３とし、ダウンロード元のノード３に対してダウンロード要求を送信すべく、ステップＳ１６に移行する。また、ＣＰＵ３４は、所定時間内にダウンロード要求に対する応答がなかった場合（ステップＳ１７否定）、該当コンフィグデータを格納した他のノード３があるか否かを判定する（ステップＳ２７）。ＣＰＵ３４は、該当コンフィグデータを格納した他のノード３がある場合（ステップＳ２７肯定）、該当コンフィグデータを格納したノード３に対するダウンロード要求を送信すべく、ステップＳ１６に移行する。また、ＣＰＵ３４は、該当コンフィグデータを格納した他のノード３がない場合（ステップＳ２７否定）、インストール要求を報知出力すべく、ステップＳ２６に移行する。
【００３５】
また、ダウンロード元のノード３のＣＰＵ３４は、ステップＳ１６にてダウンロード要求を受信した場合（ステップＳ２８）、データ送信が可能な状態であるか否かを判定する（ステップＳ２９）。ダウンロード元のノード３のＣＰＵ３４は、データ送信が可能な状態である場合（ステップＳ２９肯定）、ＯＫ応答を要求元のノード３にネットワーク２経由で送信する（ステップＳ３０）。
【００３６】
ダウンロード元のノード３のＣＰＵ３４は、ＦＰＧＡ制御部２２を通じて該当カードのＦＰＧＡ２１のメモリ２１Ａからコンフィグデータを読み出す（ステップＳ３１）。尚、ＦＰＧＡ制御部２２は、管理テーブル３２内のサイズ４５及びチェックサム４６等を参照し、読み出されたコンフィグデータの内容が正常であるか否かを判定する。ＣＰＵ３４は、ＦＰＧＡ制御部２２の判定結果に基づき、読み出されたコンフィグデータを正常に読み出したか否かを判定する（ステップＳ３２）。
【００３７】
ダウンロード元のノード３のＣＰＵ３４は、コンフィグデータを正常に読み出した場合（ステップＳ３２肯定）、読み出されたコンフィグデータをネットワーク２経由で要求元のノード３に送信する（ステップＳ３３）。
【００３８】
また、ダウンロード元のノード３のＣＰＵ３４は、データ送信が可能な状態でない場合（ステップＳ２９否定）、ＮＧ応答を要求元のノード３にネットワーク２経由で送信する（ステップＳ３４）。また、ダウンロード元のノード３のＣＰＵ３４は、コンフィグデータを正常に読み出せなかった場合（ステップＳ３２否定）、ＦＰＧＡ２１からコンフィグデータを再度読み出すべく、ステップＳ３１に移行する。
【００３９】
また、要求元のノード３のＣＰＵ３４は、ダウンロード元のノード３からＯＫ応答を受信しなかった場合（ステップＳ１９否定）、該当コンフィグデータを格納した他のノード３があるか否かを判定すべく、ステップＳ２７に移行する。また、要求元のノード３のＣＰＵ３４は、ダウンロード元のノード３からコンフィグデータを正常に受信できなかった場合（ステップＳ２２否定）、該当コンフィグデータを格納した他のノード３があるか否かを判定すべく、ステップＳ２７に移行する。
【００４０】
また、ダウンロード元ノード３のＣＰＵ３４は、要求元のノード３から新たなテーブル更新情報を受信すると（ステップＳ３５）、テーブル更新情報に基づき管理テーブル３２を更新し（ステップＳ３６）、図５に示す処理動作を終了する。
【００４１】
図５に示す要求元のノード３は、管理テーブル３２を参照してＦＰＧＡ２１に設定するコンフィグデータを格納したノード３の内、ダウンロード元のノード３に対してダウンロードを要求する。要求元のノード３は、ダウンロード元のノード３からダウンロードされたコンフィグデータを該当ＦＰＧＡ２１内のメモリ２１Ａに格納し、格納されたコンフィグデータに基づき、ＦＰＧＡ２１にコンフィグレーションを実行する。その結果、各ノード３は、ネットワーク２上の他のノード３からＦＰＧＡ２１と同一種別のコンフィグデータをダウンロードできる。
【００４２】
図６は、ダウンロード元ノード決定処理に関わるノード３の処理動作の一例を示すフローチャートである。図６に示すダウンロード元ノード決定処理は、ネットワーク情報３３Ａ内の負荷状態５３及び距離情報５４に基づき、該当コンフィグデータを格納したノード３の内、ダウンロード効率の最適なダウンロード元のノード３を決定する処理である。
【００４３】
図６に示すダウンロード元のノード３のＣＰＵ３４は、装置構成テーブル３３内の負荷状態５３に基づき、該当コンフィグデータを格納したメモリ２１Ａを保有するノード３の負荷状態を認識する（ステップＳ４１）。ＣＰＵ３４は、該当コンフィグデータを格納したノード３の負荷状態がＮｏｒｍａｌ状態であるか否かを判定する（ステップＳ４２）。ＣＰＵ３４は、該当コンフィグデータを格納したノード３の負荷状態がＮｏｒｍａｌ状態である場合（ステップＳ４２肯定）、装置構成テーブル３３内の距離情報５４に基づき、Ｎｏｒｍａｌ状態のノード３の距離情報を認識する（ステップＳ４３）。
【００４４】
ＣＰＵ３４は、距離情報に基づき、Ｎｏｒｍａｌ状態のノード３の内、自ノード３に最も近接するノード３を第１位の最適なダウンロード元のノード３に決定し（ステップＳ４４）、図６に示す処理動作を終了する。図７は、ダウンロード元ノード決定処理に関わる優先順位の一例を示す説明図である。ステップＳ４４の処理では、図７に示す通り、ダウンロード元ノード３の優先順位を決定する。その結果、ＣＰＵ３４は、Ｎｏｒｍａｌ状態で距離情報５４がホップ数“３”のノード“＃Ｐ”を第１位の最適なダウンロード元のノード３として決定する。
【００４５】
また、ＣＰＵ３４は、該当コンフィグデータを格納したノード３の負荷状態がＮｏｒｍａｌ状態でない場合（ステップＳ４２否定）、負荷状態がＢｕｓｙ状態であるか否かを判定する（ステップＳ４５）。ＣＰＵ３４は、負荷状態がＢｕｓｙ状態である場合（ステップＳ４５肯定）、装置構成テーブル３３内の距離情報５４に基づき、Ｂｕｓｙ状態のノード３の距離情報を認識する（ステップＳ４６）。更に、ＣＰＵ３４は、距離情報に基づき、Ｂｕｓｙ状態のノード３の内、自ノード３に最も近接するノード３を第１位の最適なダウロード元のノード３に決定し（ステップＳ４７）、図６に示す処理動作を終了する。
【００４６】
ＣＰＵ３４は、該当コンフィグデータを格納したノード３の負荷状態がＢｕｓｙ状態でない場合（ステップＳ４５否定）、装置構成テーブル３３内の距離情報５４に基づき、負荷状態がＶｅｒｙ  Ｂｕｓｙ状態のノード３の距離情報を認識する（ステップＳ４８）。更に、ＣＰＵ３４は、距離情報に基づき、Ｖｅｒｙ  Ｂｕｓｙ状態のノード３の内、自ノード３に最も近接するノード３を第１位の最適なダウンロード元のノード３に決定し（ステップＳ４９）、図６に示す処理動作を終了する。
【００４７】
図６に示す処理では、該当コンフィグデータを格納した複数のノード３の内、負荷状態がＮｏｒｍａｌで、かつ、距離情報が自ノード３に最も近接するノード３をダウンロード効率の最適なダウンロード元のノード３として決定する。その結果、該当コンフィグデータを格納した複数のノード３からダウンロード効率の最適なダウンロード元のノード３を自動的に決定できる。
【００４８】
図８は、伝送システム１内のコンフィグデータ及びテーブル更新情報の流れを示す説明図である。図８に示す伝送システム１は、例えば、＃Ａ〜＃Ｆの６台のノード３を有する。＃Ａ，＃Ｃ，＃Ｄ及び＃Ｅのノード３は、種別＃１のＦＰＧＡ２１を有する。これに対して、＃Ｂ及び＃Ｆのノード３は、種別＃２のＦＰＧＡ２１を有する。そして、＃Ａのノード３は、種別＃１のＦＰＧＡ２１内のメモリ２１Ａに新規バージョンのコンフィグデータを格納したとする。この際、＃Ａのノード３は、新規バージョンのコンフィグデータに基づき管理テーブル３２を更新する。尚、ＣＰＵ３４は、管理テーブル３２内のコンフィグデータに関わる保有ノード情報４７をクリアし、保有ノード情報４７として自ノード３を追加して更新する。
【００４９】
＃Ａのノード３は、隣接する＃Ｃ及び＃Ｂのノード３に対して管理テーブル３２のテーブル更新情報を送信する。また、＃Ｂのノード３は、隣接する＃Ｄのノード３→＃Ｆのノード３に対してテーブル更新情報を送信する。同様に、＃Ｃのノード３は、隣接する＃Ｅのノード３に対してテーブル更新情報を送信する。
【００５０】
また、各＃Ａ〜＃Ｆのノード３は、テーブル更新情報に基づき、管理テーブル３２を更新する。＃Ｃのノード３は、管理テーブル３２を参照し、種別＃１のＦＰＧＡ２１の新規バージョンのコンフィグデータが識別されると、該当コンフィグデータを格納したノード３である＃Ａのノード３に対してコンフィグデータのダウンロードを要求する。＃Ｃのノード３は、ダウンロード要求に対応するコンフィグデータを＃Ａのノード３からダウンロードしてコンフィグデータをメモリ２１Ａに格納する。更に、＃Ｃのノード３は、格納したコンフィグデータに基づき、ＦＰＧＡ２１にコンフィグレーションを実行する。その結果、＃Ｃのノード３は、管理テーブル３２内の保有ノード情報４７に自ノード３を追加するテーブル更新情報を伝送システム１内の各ノード３に送信する。そして、伝送システム１内の全ノード３は、テーブル更新情報に基づき、管理テーブル３２の該当コンフィグデータに関わる保有ノード情報４７を更新する。
【００５１】
また、＃Ｄのノード３は、管理テーブル３２を参照して、種別＃１のＦＰＧＡ２１のコンフィグデータの新規バージョンの更新が識別されると、例えば、隣接する＃Ｃのノード３に対してコンフィグデータのダウンロードを要求する。＃Ｄのノード３は、ダウンロード要求に対応するコンフィグデータを＃Ｃのノード３からダウンロードしてコンフィグデータをメモリ２１Ａに格納する。更に、＃Ｄのノード３は、格納したコンフィグデータに基づき、ＦＰＧＡ２１にコンフィグレーションを実行する。その結果、＃Ｄのノード３は、管理テーブル３２内の保有ノード情報４７に自ノード３を追加するテーブル更新情報を伝送システム１内の各ノード３に送信する。そして、伝送システム１内の全ノード３は、テーブル更新情報に基づき、管理テーブル３２の該当コンフィグデータに関わる保有ノード情報４７を更新する。
【００５２】
図８に示す伝送システム１では、隣接するノード３が、管理テーブル３２のテーブル更新に基づき、該当コンフィグデータを格納した、隣接するノード３から最新のコンフィグデータをダウンロードする。そして、ノード３は、ダウンロードされた最新のコンフィグデータをＦＰＧＡ２１内のメモリ２１Ａに格納する。
【００５３】
また、各ノード３は、障害等を検出すると、その障害発生に応じてネットワーク情報３３Ａ及びカード情報３２Ａに変更が生じると、その変更内容を反映したテーブル更新情報を隣接するノード３に送信する。各ノード３内のＣＰＵ３４は、テーブル更新情報に基づき、管理テーブル３２及び装置構成データベース３３の内容を更新する。尚、各ノード３は、障害を検出するだけでなく、ネットワーク２の通信状況やノード３間の通信状況を定期的に監視し、その監視結果に基づき、その監視結果を反映したテーブル更新情報を隣接するノード３に送信する。
【００５４】
次に、コンフィグデータが複数の分割データで構成した場合の動作について説明する。図９は、分割コンフィグレーション実行処理に関わる各ノード３の処理動作の一例を示すフローチャートである。分割コンフィグレーション実行処理は、要求元のノード３内のＦＰＧＡ２１に設定するコンフィグデータの分割データを他のノード３からダウンロードし、ダウンロードされた分割データに基づき、ＦＰＧＡ２１にコンフィグレーションを実行させる処理である。
【００５５】
図９において要求元のノード３のＣＰＵ３４は、プラグインカード１０の新たな実装を検出する（ステップＳ１１Ａ）。尚、ＣＰＵ３４は、検出されたプラグインカード１０内の物理メモリ２３に格納された情報に基づきカード種別を認識する。ＣＰＵ３４は、プラグインカード１０のカード種別に基づきプラグインカード１０内のＦＰＧＡ２１に設定するコンフィグデータの分割データを格納したメモリ２１Ａを保有するノード３の保有ノード情報４７を管理テーブル３２から検索する（ステップＳ１２Ａ）。
【００５６】
ＣＰＵ３４は、検索結果である保有ノード情報４７に基づき、該当分割データを格納したメモリ２１Ａを保有するノード３がネットワーク２内にあるか否かを判定する（ステップＳ１３Ａ）。ＣＰＵ３４は、ネットワーク２内にある場合に（ステップＳ１３Ａ肯定）、該当分割データを格納したノード３が複数あるか否かを判定する（ステップＳ１４Ａ）。ＣＰＵ３４は、該当分割データを格納したノード３が複数ある場合（ステップＳ１４Ａ肯定）、該当分割データのダウンロード元の各ノード３を決定すべく、ダウンロード元ノード決定処理を実行する（ステップＳ１５Ａ）。尚、ＣＰＵ３４は、ダウンロード元ノード決定処理を実行し、負荷状態５３及び距離情報５４に基づき、複数の該当分割データを格納した複数のノード３の内、該当分割データ毎に最適なダウンロード元のノード３を決定する。
【００５７】
ＣＰＵ３４は、ダウンロード元の各ノード３、例えば、＃Ｎ１，＃Ｎ２，＃Ｎｘのノード３に対して該当分割データのダウンロード要求を送信し（ステップＳ１６Ａ）、所定時間内にダウンロード要求に対する応答があるか否かを判定する（ステップＳ１７Ａ）。ＣＰＵ３４は、所定時間内にダウンロード要求に対する応答がある場合（ステップＳ１７Ａ肯定）、ダウンロード元の各ノード３から応答を受信する（ステップＳ１８Ａ）。
【００５８】
ＣＰＵ３４は、ダウンロード元の各ノード３から応答を受信すると、ＯＫ応答を受信したか否かを判定する（ステップＳ１９Ａ）。ＣＰＵ３４は、ダウンロード元の各ノード３からＯＫ応答を受信した場合（ステップＳ１９Ａ肯定）、ダウンロード元の各ノード３から分割データの受信を待機する（ステップＳ２０Ａ）。
【００５９】
ＣＰＵ３４は、分割データの受信を待機した後、各ノード３から分割データを受信する（ステップＳ２１Ａ）。ＣＰＵ３４は、ＦＰＧＡ制御部２２を通じて、ダウンロード元の各ノード３から全分割データを正常に受信したか否かを判定する（ステップＳ２２Ａ）。
【００６０】
ＣＰＵ３４は、全分割データを正常に受信した場合（ステップＳ２２Ａ肯定）、全分割データでコンフィグデータを再構築する（ステップＳ６１）。ＣＰＵ３４は、再構築されたコンフィグデータをＦＰＧＡ２１内のメモリ２１Ａに格納し、格納されたコンフィグデータに基づき、ＦＰＧＡ２１にコンフィグレーションを実行させる（ステップＳ２３Ａ）。そして、ＣＰＵ３４は、ＦＰＧＡ２１のコンフィグレーションを実行した後、コンフィグデータに関わる保有ノード情報４７として自ノード３を追加すべく、管理テーブル３２を更新する（ステップＳ２４Ａ）。ＣＰＵ３４は、管理テーブル３２のテーブル更新情報を隣接する各ノード３に送信し（ステップＳ２５Ａ）、図９に示す処理動作を終了する。
【００６１】
また、ＣＰＵ３４は、該当分割データを格納したメモリ２１Ａを保有するノード３がネットワーク２内にない場合（ステップＳ１３Ａ否定）、コンフィグデータのインストール要求を報知出力する（ステップＳ２６Ａ）。尚、ＣＰＵ３４は、インストール要求を、例えば、表示部に警告表示する。その結果、ユーザは、警告表示を見て、コンフィグデータのインストールを実行することになる。
【００６２】
また、ＣＰＵ３４は、該当分割データを格納したノード３が複数ない場合（ステップＳ１４Ａ否定）、当該ノード３をダウンロード元のノード３とし、ダウンロード元のノード３に対してダウンロード要求を送信すべく、ステップＳ１６Ａに移行する。また、ＣＰＵ３４は、所定時間内にダウンロード要求に対する応答がなかった場合（ステップＳ１７Ａ否定）、該当分割データを格納した他のノード３があるか否かを判定する（ステップＳ２７Ａ）。ＣＰＵ３４は、該当分割データを格納した他のノード３がある場合（ステップＳ２７Ａ肯定）、該当分割データを格納したノード３に対するダウンロード要求を送信すべく、ステップＳ１６Ａに移行する。また、ＣＰＵ３４は、該当分割データを格納した他のノード３がない場合（ステップＳ２７Ａ否定）、インストール要求を表示すべく、ステップＳ２６Ａに移行する。
【００６３】
また、ダウンロード元のノード３のＣＰＵ３４は、ステップＳ１６Ａにてダウンロード要求を受信した場合（ステップＳ２８Ａ）、データ送信が可能な状態であるか否かを判定する（ステップＳ２９Ａ）。ダウンロード元のノード３のＣＰＵ３４は、データ送信が可能な状態である場合（ステップＳ２９Ａ肯定）、ＯＫ応答を要求元のノード３にネットワーク２経由で送信する（ステップＳ３０Ａ）。
【００６４】
ダウンロード元のノード３のＣＰＵ３４は、ＦＰＧＡ制御部２２を通じて該当カード内のＦＰＧＡ２１のメモリ２１Ａから該当の分割データを読み出す（ステップＳ３１Ａ）。尚、ＦＰＧＡ制御部２２は、管理テーブル３２内のサイズ４５及びチェックサム４６等を参照し、読み出された分割データの内容が正常であるか否かを判定する。ＣＰＵ３４は、ＦＰＧＡ制御部２２の判定結果に基づき、読み出された分割データを正常に読み出したか否かを判定する（ステップＳ３２Ａ）。
【００６５】
ダウンロード元のノード３のＣＰＵ３４は、分割データを正常に読み出した場合（ステップＳ３２Ａ肯定）、読み出された分割データをネットワーク２経由で要求元のノード３に送信する（ステップＳ３３Ａ）。
【００６６】
また、ダウンロード元のノード３のＣＰＵ３４は、データ送信が可能な状態でない場合（ステップＳ２９Ａ否定）、ＮＧ応答を要求元のノード３にネットワーク２経由で送信する（ステップＳ３４Ａ）。また、ダウンロード元のノード３のＣＰＵ３４は、分割データを正常に読み出せなかった場合（ステップＳ３２Ａ否定）、ＦＰＧＡ２１から分割データを再度読み出すべく、ステップＳ３１Ａに移行する。
【００６７】
また、要求元のノード３のＣＰＵ３４は、ダウンロード元のノード３からＯＫ応答を受信しなかった場合（ステップＳ１９Ａ否定）、該当分割データを格納した他のノード３があるか否かを判定すべく、ステップＳ２７Ａに移行する。また、要求元のノード３のＣＰＵ３４は、ダウンロード元のノード３から分割データを正常に受信できなかった場合（ステップＳ２２Ａ否定）、該当分割データを格納した他のノード３があるか否かを判定すべく、ステップＳ２７Ａに移行する。
【００６８】
また、ダウンロード元のノード３のＣＰＵ３４は、要求元のノード３から新たなテーブル更新情報を受信すると（ステップＳ３５Ａ）、テーブル更新情報に基づき管理テーブル３２を更新し（ステップＳ３６Ａ）、図９に示す処理動作を終了する。
【００６９】
図９に示す要求元のノード３は、管理テーブル３２を参照してＦＰＧＡ２１に設定するコンフィグデータの分割データを格納したノード３の内、ダウンロード元の各ノード３に対して分割データのダウンロードを要求する。要求元のノード３は、ダウンロード元の各ノード３からダウンロードされた分割データを該当ＦＰＧＡ２１内のメモリ２１Ａに格納し、格納された分割データに基づき、ＦＰＧＡ２１にコンフィグレーションを実行する。その結果、各ノード３は、ネットワーク２上の他のノード３からＦＰＧＡ２１と同一種別の分割データをダウンロードできる。
【００７０】
実施例１の各ノード３は、管理テーブル３２を参照し、ＦＰＧＡ２１の種別に対応したコンフィグデータを格納したメモリ２１Ａを保有するノード３を同一ネットワーク２内から識別する。そして、各ノード３は、識別されたノード３に対してコンフィグデータのダウンロードを要求し、ダウンロードされたコンフィグデータに基づきＦＰＧＡ２１のコンフィグレーションを実行する。その結果、コンフィグデータを格納した全ノード３がダウンロード元のノード３となり得るため、各ノード３でコンフィグデータを提供する際のネットワーク帯域及び処理負荷の集中を分散化できる。
【００７１】
しかも、ネットワーク２の規模が大きくなるに連れてコンフィグデータを格納したノード３の台数が増えるため、コンフィグデータの高度な冗長性を確保できる。その結果、コンフィグデータの消失や破損にも迅速に対応できる。また、ネットワーク２の一部に障害が発生した場合でも、コンフィグデータを迅速に取得できる。
【００７２】
また、実施例１では、従来技術のように、各ノード３のコンフィグデータを一元管理する集中管理装置のような大容量の記憶デバイスを必要としないため、その分のコストの削減や実装面積が増やせる。
【００７３】
また、実施例１では、該当コンフィグデータを格納した複数のノード３の内、負荷状態がＮｏｒｍａｌで、かつ、距離情報が自ノード３に最も近接するノード３をダウンロード効率の最適なダウンロード元のノード３として決定する。その結果、該当コンフィグデータを格納した複数のノード３からダウンロード効率の最適なダウンロード元のノード３を自動的に決定できる。
【００７４】
また、実施例１のノード３は、管理テーブル３２を参照して、コンフィグデータを複数分割した分割データを格納したメモリ２１Ａを保有するノード３を識別する。各ノード３は、識別されたノード３に対して分割データのダウンロードを要求し、全分割データに基づきＦＰＧＡ２１のコンフィグレーションを実行する。その結果、データ量が増える、パーシャルコンフィグレーション機能にも十分対応できる。
【００７５】
また、実施例１では、ネットワーク２上の１個のノード３のコンフィグデータの更新を行えば、個々にインストールする必要はなく、隣接ノード３を通じてネットワーク２全体の各ＦＰＧＡ２１の更新が可能となる。
【実施例２】
【００７６】
図１０は、実施例２の伝送システム１の一例を示す説明図である。尚、実施例１の伝送システム１と同一のものには同一符号を付すことで、その重複する構成及び動作の説明について省略する。図１０に示すノード３内のＩＦカード１１Ａは、ＦＰＧＡ２１のソフトエラーを監視するＳＥＲ監視部６０を有する。尚、ソフトエラーは、例えば、１ビットエラーや２ビット以上の同時エラー、すなわちマルチビットエラー等である。ＳＥＲ監視部６０は、ＦＰＧＡ２１のマルチビットエラーを検出すると、マルチビットエラー検出時に影響のあるコンフィグデータのブロック、例えば、分割データを特定する。
【００７７】
主制御カード１３のＣＰＵ３４は、ＳＥＲ監視部６０から１ビットエラーを検出した場合、図示せぬＥＣＣ（Error  detection  and  Correction）回路でエラー訂正を実行する。
【００７８】
また、ＣＰＵ３４は、ＦＰＧＡ２１のマルチビットエラーを検出する、すなわちＳＥＲ監視部６０からＦＰＧＡ２１のマルチビットエラー検出時の分割データを特定する通知を検出すると、特定された分割データを格納したメモリ２１Ａを保有するノード３の保有ノード情報４７を管理テーブル３２から検索する。ＣＰＵ３４は、検索された保有ノード情報４７に対応したノード３に対して、分割データのダウンロードを要求する。
【００７９】
ＣＰＵ３４は、該当分割データを格納したノード３からダウンロード要求に対応した分割データを受信した場合、分割データをＦＰＧＡ２１内のメモリ２１Ａに格納する。ＣＰＵ３４は、ＦＰＧＡ制御部２２を通じてＦＰＧＡ２１内のメモリ２１Ａに格納されたコンフィグデータに基づき、ＦＰＧＡ２１のコンフィグレーションを実行する。
【００８０】
実施例２では、ＳＥＲ監視部６０を通じてＦＰＧＡ２１のマルチビットエラー検出時の分割データを特定した場合、管理テーブル３２を参照して、特定された分割データを格納したノード３に対して分割データのダウンロードを要求する。その結果、分割データにマルチビットエラーが生じ、コンフィグデータの一部が破損した場合でも、該当分割データを格納した他のノード３から該当する分割データを取得できるため、ＥＣＣによる訂正不可能なソフトエラーが生じたとしても、迅速に復旧できる。
【実施例３】
【００８１】
実施例３の伝送システムについて説明する。図１１は、実施例３のＩＦカード内のＦＰＧＡとＦＰＧＡ制御部との間の処理動作の一例を示す説明図である。尚、実施例１の伝送システム１と同一の構成には同一符号を付すことで、その重複する構成及び動作の説明については省略する。
【００８２】
図１１に示すＦＰＧＡ２１Ｂは、メモリ２１Ａと、活性度監視回路７１と、抽出ポート７２と、コンフィグレーション制御部７３とを有する。メモリ２１Ａは、コンフィグデータの分割データを格納する領域である。活性度監視回路７１は、ＦＰＧＡ２１Ｂが処理する主信号の活性度を監視する回路である。尚、活性度とは、主信号の内、実際に使用する有効データの割合を示すレベルを示し、その割合が高い順に高レベル→中レベル→低レベル→ゼロレベルとなる。つまり、活性度が高レベルの場合、ＦＰＧＡ２１Ｂの負荷状態は高レベル、活性度が中レベルの場合、ＦＰＧＡ２１Ｂの負荷状態は中レベル、活性度が低レベルの場合、ＦＰＧＡ２１Ｂの負荷状態は低レベルとなる。また、活性度がゼロレベルの場合、ＦＰＧＡ２１Ｂの負荷状態は、例えばアイドルデータ等が流れている状態で、無処理の状態である。
【００８３】
抽出ポート７２は、メモリ２１Ａに格納された分割データを抽出するポートである。コンフィグレーション制御部７３は、ＦＰＧＡ制御部２２Ａ経由で取得したコンフィグレーションデータ、例えば、分割データを該当のメモリ２１Ａに格納する。更に、コンフィグレーション制御部７３は、メモリ２１Ａに格納された分割データに基づき、ＦＰＧＡ２１Ｂのコンフィグレーションを実行する。
【００８４】
また、ＦＰＧＡ制御部２２Ａは、抽出制御部８１と、入力制御部８２と、実行制御部８３とを有する。抽出制御部８１は、要求元のノード３からのダウンロード要求に応じてＦＰＧＡ２１Ｂ内の抽出ポート７２を通じて該当のメモリ２１Ａに格納された該当データを抽出する。入力制御部８２は、ＦＰＧＡ２１Ｂ内のコンフィグレーション制御部７３を通じて、ダウンロード元のノード３から取得されたデータをＦＰＧＡ２１Ｂ内の該当メモリ２１Ａに格納する。更に、実行制御部８３は、ＦＰＧＡ２１Ｂ内のコンフィグレーション制御部７３に対して、該当メモリ２１Ａのコンフィグデータに基づくコンフィグレーションの実行を指示する。
【００８５】
抽出制御部８１は、ダウンロード要求を受信した後、活性度監視回路７１で活性度が低レベルの場合にのみ、該当データのメモリ２１Ａからの抽出動作を開始する。入力制御部８２は、ダウンロード元のノード３からデータを受信した後、活性度が低レベルの場合にのみ、該当メモリ２１Ａに該当データを格納する動作を開始する。更に、実行制御部８３は、該当メモリ２１Ａに該当データを格納した後、活性度が低レベル及びゼロレベルの場合、又はゼロレベルの場合、メモリ２１Ａに格納されたデータに基づきＦＰＧＡ２１Ｂのコンフィグレーションの実行動作を開始する。
【００８６】
実施例３では、要求元のノード３からダウンロード要求を受信したとしても、活性度が低レベル及びゼロレベルの場合、又はゼロレベルの場合、該当データのメモリ２１Ａから抽出動作を開始する。その結果、ＦＰＧＡ２１Ｂの運用中のサービスに対する影響を防止できる。
【００８７】
実施例３では、ダウンロード元のノード３からコンフィグデータを受信したとしても、活性度が低レベル及びゼロレベルの場合、又はゼロレベルの場合、該当データをＦＰＧＡ２１Ｂ内のメモリ２１Ａに格納する格納動作を開始する。その結果、ＦＰＧＡ２１Ｂの運用中のサービスに対する影響を防止できる。
【００８８】
実施例３では、ダウンロード元のノード３からコンフィグデータを受信して該当メモリ２１Ａに格納したとしても、活性度が低レベル及びセロレベルの場合、又はゼロレベルの場合、該当データに基づくコンフィグレーション動作を開始する。その結果、ＦＰＧＡ２１Ｂの運用中のサービスに対する影響を防止できる。
【００８９】
また、上記実施例では、コンフィグデータを格納するメモリ２１Ａを内蔵したＦＰＧＡ２１を例示して説明したが、ＦＰＧＡ２１の外部にメモリを配置し、このメモリにコンフィグデータを格納しても良い。尚、メモリは、ＳＲＡＭ、ＤＲＡＭ、ＥＥＰＲＯＭ、フラッシュメモリ等の半導体メモリやハードディスク等であっても良い。
【００９０】
また、ＦＰＧＡ２１にコンフィグレーションしたコンフィグデータが読出し可能な構成とすれば、ＦＰＧＡ２１内にコンフィグデータを格納するメモリ２１Ａを設けなくても良い。
【００９１】
また、上記実施例では、ダウンロード元のノード３を決定する処理の優先条件としてノード３の負荷状態５３を高く設定したが、優先条件として負荷状態５３よりも距離情報５４を高く設定しても良い。また、ユーザの指定やネットワーク２上の伝送路のトラフィック状況に応じて優先条件を設定しても良い。
【００９２】
また、上記実施例では、図９に示すステップＳ６１にて受信した全分割データでコンフィグデータを再構築したが、再構築せず、分割データ毎にコンフィグレーションを実行させるようにしても良い。
【００９３】
また、各ノード３の主制御カード内のＣＰＵ３４が、ネットワーク２経由や記録媒体を使用して、プラグイン制御プログラムをインストールできるようにしても良い。この場合、ＣＰＵ３４は、プラグイン制御プログラム内の要求プログラムに基づき、ネットワーク２に接続された異なるノード３に対してＦＰＧＡ２１のコンフィグデータのダウンロードを要求する要求プロセスを実行する。
【００９４】
更に、ＣＰＵ３４は、プラグイン制御プログラム内の格納プログラムに基づき、ダウンロード要求に応じて、ノード３から取得されたコンフィグデータをＦＰＧＡ２１内のメモリ２１Ａに格納する格納プロセスを実行する。更に、ＣＰＵ３４は、プラグイン制御プログラム内の実行プログラムに基づき、ＦＰＧＡ２１内のメモリ２１Ａに格納されたコンフィグデータに基づき、ＦＰＧＡ２１のコンフィグレーションをＦＰＧＡ制御部２２に実行させる実行プロセスを実行する。
【００９５】
各ノード３は、自分のＦＰＧＡ２１の種別に対応したコンフィグデータを格納したメモリ２１Ａを保有するノード３に対してコンフィグデータのダウンロードを要求する。更に、各ノード３は、ダウンロードされたコンフィグデータに基づきＦＰＧＡ２１のコンフィグレーションを実行する。その結果、コンフィグデータを格納した全ノード３がダウンロード元のノード３となり得るため、コンフィグデータをダウンロードする際のネットワーク帯域及び処理負荷の集中を分散できる。
【００９６】
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【００９７】
更に、各装置で行われる各種処理機能は、ＣＰＵ（Central  Processing  Unit）（又はＭＰＵ（Micro  Processing  Unit）、ＭＣＵ（Micro  Controller  Unit）等のマイクロ・コンピュータ）上で、その全部又は任意の一部を実行するようにしても良い。また、各種処理機能は、ＣＰＵ（又はＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行するプログラム上、又はワイヤードロジックによるハードウェア上で、その全部又は任意の一部を実行するようにしても良いことは言うまでもない。
【００９８】
以上、本実施例を含む実施の形態に関し、更に以下の付記を開示する。
【００９９】
（付記１）ＦＰＧＡを搭載したプラグインカードと、
ネットワークに接続された異なるノードに対してＦＰＧＡのコンフィグレーションデータの取得を要求すると共に、当該取得要求に応じて、前記ノードから取得された前記コンフィグレーションデータに基づき、当該ＦＰＧＡに対するコンフィグレーションを実行するプロセッサと
を有することを特徴とするプラグインカード収容装置。
【０１００】
（付記２）前記コンフィグレーションデータを識別するデータ識別情報と、当該コンフィグレーションデータを格納する前記ノードを識別する装置識別情報とを対応付けて管理する管理部を有し、
前記プロセッサは、
取得対象のコンフィグレーションデータを識別するデータ識別情報に対応した装置識別情報を前記管理部から読み出し、読み出された装置識別情報に対応した前記ノードに対して、当該コンフィグレーションデータの取得を要求することを特徴とする付記１に記載のプラグインカード収容装置。
【０１０１】
（付記３）前記ＦＰＧＡの負荷状態を監視する監視部を有し、
前記プロセッサは、
前記ＦＰＧＡの負荷状態が基準レベルよりも低下した場合に、前記取得要求に応じた前記コンフィグレーションデータの読出し動作、又は前記取得要求に応じて取得された前記コンフィグレーションデータのコンフィグレーション動作を実行することを特徴とする付記１に記載のプラグインカード収容装置。
【０１０２】
（付記４）前記コンフィグレーションデータを複数に分割し、分割された複数の分割データを識別する前記データ識別情報と、各分割データを格納する前記ノードを識別する前記装置識別情報とを対応付けて前記管理部に管理し、
前記プロセッサは、
取得対象のコンフィグレーションデータ内の各分割データを識別するデータ識別情報に対応した各装置識別情報を前記管理部から読み出し、読み出された各装置識別情報に対応した各ノードに対して、各分割データの取得を要求すると共に、当該取得要求に応じて、各ノードから取得された各分割データに基づき、当該ＦＰＧＡに対するコンフィグレーションを実行することを特徴とする付記１に記載のプラグインカード収容装置。
【０１０３】
（付記５）前記ＦＰＧＡのコンフィグレーションデータのデータエラーを検出すると共に、データエラー検出時の分割データを特定する監視部を有し、
前記プロセッサは、
前記監視部によって特定された前記分割データのデータ識別情報に対応する前記装置識別情報を前記管理部から読み出し、読み出された前記装置識別情報に対応した前記ノードに対して、当該分割データの取得を要求することを特徴とする付記４に記載のプラグインカード収容装置。
【０１０４】
（付記６）ＦＰＧＡを搭載したプラグインカードと、プロセッサとを有するプラグインカード収容装置のプラグインカード制御方法であって、
前記プロセッサは、
ネットワークに接続された異なるノードに対してＦＰＧＡのコンフィグレーションデータの取得を要求し、
当該取得要求に応じて、前記ノードから取得された前記コンフィグレーションデータに基づき、当該ＦＰＧＡに対するコンフィグレーションを実行する
各処理を実行することを特徴とするプラグインカード制御方法。
【０１０５】
（付記７）ＦＰＧＡを搭載したプラグインカードと、プロセッサとを有するプラグインカード収容装置のプラグインカード制御プログラムであって、
ネットワークに接続された異なるノードに対してＦＰＧＡのコンフィグレーションデータの取得を要求し、
当該取得要求に応じて、前記ノードから取得された前記コンフィグレーションデータに基づき、当該ＦＰＧＡに対するコンフィグレーションを実行する
各処理を前記プロセッサに実行させることを特徴とするプラグインカード制御プログラム。
【符号の説明】
【０１０６】
１  伝送システム
２  ネットワーク
３  ノード
１０  プラグインカード
１１  ＩＦカード
１２  ファイブリックスイッチカード
１３  主制御カード
２１  ＦＰＧＡ
２１Ａ  メモリ
２１Ｂ  ＦＰＧＡ
２２  ＦＰＧＡ制御部
２２Ａ  ＦＰＧＡ制御部
３２  管理テーブル
３４  ＣＰＵ
６０  ＳＥＲ監視部
７１  活性度監視回路
８１  抽出制御部
８２  入力制御部
８３  実行制御部
【図１】
0005948806.tif 000002
【図２】
0005948806.tif 000003
【図３】
0005948806.tif 000004
【図４】
0005948806.tif 000005
【図５】
0005948806.tif 000006
【図６】
0005948806.tif 000007
【図７】
0005948806.tif 000008
【図８】
0005948806.tif 000009
【図９】
0005948806.tif 000010
【図１０】
0005948806.tif 000011
【図１１】
0005948806.tif 000012
【図１２】
0005948806.tif 000013