(57)【要約】【課題】機能実行カードを冗長化しつつ、省電力化を図る通信装置を提供することを目的とする。【解決手段】パケットを送受信する通信装置であって、複数のプロセッサコアを有し、処理実行部を実装可能な機能実行モジュールを複数備え、第１機能実行モジュールは、受信したパケットに第１処理を実行する第１処理実行部を有し、第１機能実行モジュールの第１処理実行部は運用系として動作し、第２機能実行モジュールは、受信したパケットに第１処理と異なる第２処理を実行する第２処理実行部を有し、第２機能実行モジュールの第２処理実行部は運用系として動作し、第３機能実行モジュールは、第１処理実行部及び第２処理実行部を有し、第３機能実行モジュールの第１処理実行部は待機系として動作し、第３機能実行モジュールの第２処理実行部は待機系として動作することを特徴とする。【選択図】図１
2015142158.tif 000002
【特許請求の範囲】
【請求項１】
パケットを送受信する通信装置であって、
ネットワークに接続され、前記ネットワークとの間で前記パケットを送受信するラインモジュールと、
複数のプロセッサコアを有し、処理実行部を実装可能な複数の機能実行モジュールと、を備え、
前記ラインモジュールは、受信したパケットを前記機能実行モジュールに送信し、
前記機能実行モジュールは、前記ラインモジュールから受信したパケットに所定の処理を実行して、前記ラインモジュールに送信し、
前記ラインモジュールは、前記機能実行モジュールから受信したパケットを前記ネットワークに送信し、
前記複数の機能実行モジュールは、第１機能実行モジュール、第２機能実行モジュール、及び第３機能実行モジュールを含み、
前記第１機能実行モジュールは、受信したパケットに第１処理を実行する第１処理実行部を有し、
前記第１処理実行部に前記第１機能実行モジュールのプロセッサコアが割り当てられ、前記第１機能実行モジュールの前記第１処理実行部は運用系として動作し、
前記第２機能実行モジュールは、受信したパケットに前記第１処理と異なる第２処理を実行する第２処理実行部を有し、
前記第２処理実行部に前記第２機能実行モジュールのプロセッサコアが割り当てられ、前記第２機能実行モジュールの前記第２処理実行部は運用系として動作し、
前記第３機能実行モジュールは、前記第１処理実行部及び前記第２処理実行部を有し、
前記第１処理実行部に前記第３機能実行モジュールのプロセッサコアが割り当てられ、前記第３機能実行モジュールの前記第１処理実行部は待機系として動作し、
前記第２処理実行部に前記第３機能実行モジュールのプロセッサコアが割り当てられ、前記第３機能実行モジュールの前記第２処理実行部は待機系として動作することを特徴とする通信装置。
【請求項２】
請求項１に記載の通信装置であって、
前記複数の機能実行モジュールは第４機能実行モジュールを含み、
前記第１機能実行モジュール、前記第２機能実行モジュール、及び前記第３機能実行モジュールに電源を供給し、
前記第３機能実行モジュールで前記第１処理実行部及び前記第２処理実行部が前記待機系として動作している場合、前記第４機能実行モジュールへの電源の供給を遮断することを特徴とする通信装置。
【請求項３】
請求項１に記載の通信装置であって、
前記第１機能実行モジュールに障害が発生した場合、前記第３機能実行モジュールの前記第１機能実行モジュールで運用系として動作する第１処理実行部の待機系として動作する第１処理実行部を運用系として動作させることを特徴とする通信装置。
【請求項４】
請求項３に記載の通信装置であって、
前記複数の機能実行モジュールにおいて処理実行部に割り当てられたプロセッサコアの数を保持し、
前記第３機能実行モジュールで待機系として動作していた第１処理実行部を運用系として動作させる場合、前記第１機能実行モジュールで運用系として動作していた第１処理実行部に割り当てられていたプロセッサコアの数と同じ数のプロセッサコアを、前記第３機能実行モジュールで前記待機系として動作していた第１処理実行部に割り当てることを特徴とする通信装置。
【請求項５】
請求項４に記載の通信装置であって、
前記複数の機能実行モジュールは第４機能実行モジュールを含み、
前記第１機能実行モジュール、前記第２機能実行モジュール、及び前記第３機能実行モジュールに電源を供給し、
前記第３機能実行モジュールで前記第１処理実行部及び前記第２処理実行部が前記待機系として動作している場合、前記第４機能実行モジュールへの電源の供給を遮断し、
前記障害が発生した第１機能実行モジュールで運用系として動作していた第１処理実行部に割り当てられていたプロセッサコアの数と同じ数のプロセッサコアを、前記第３機能実行モジュールで前記待機系として動作していた第１処理実行部に割り当てた場合、前記第３機能実行モジュールが有するプロセッサコアの数から前記第３機能実行モジュールで前記運用系として動作する第１処理実行部に割り当てた数を減算した値が所定値以下であるか否かを判定し、
前記第３機能実行モジュールが有するプロセッサコアの数から前記第３機能実行モジュールで前記運用系として動作する第１処理実行部に割り当てた数を減算した値が所定値以下であると判定された場合、前記第４機能実行モジュールに電源を供給し、
前記第３機能実行モジュールで前記待機系として動作していた第２処理実行部を前記第４機能実行モジュールで前記待機系として動作させることを特徴とする通信装置。
【請求項６】
請求項３に記載の通信装置であって、
前記パケットの宛先と当該パケットの出力先とが登録された転送情報を保持し、
前記第３機能実行モジュールで前記第１処理実行部を運用系として動作させた場合、前記宛先が前記第１機能実行モジュールで動作していた第１処理実行部であるパケットの出力先を、前記第３機能実行モジュールに変更することを特徴とする通信装置。
【請求項７】
請求項１に記載の通信装置であって、
前記処理実行部は、前記機能実行モジュール上に構築された仮想マシン上で動作する制御系実行部と、前記仮想マシンの外部で動作する転送系実行部とを含むことを特徴とする通信装置。
【請求項８】
パケットを送受信する通信装置における機能実行カードの制御方法であって、
ネットワークに接続され、前記ネットワークとパケットを送受信するラインモジュールと、
複数のプロセッサコアを有し、処理実行部を実装可能な複数の機能実行モジュールを備え、
前記ラインモジュールは、受信したパケットを前記機能実行モジュールに送信し、
前記機能実行モジュールは、前記ラインモジュールから受信したパケットに所定の処理を実行して、前記ラインモジュールに送信し、
前記ラインモジュールは、前記機能実行モジュールから受信したパケットを前記ネットワークに送信し、
前記複数の機能実行モジュールは、第１機能実行モジュール、第２機能実行モジュール、及び第３機能実行モジュールを含み、
前記第１機能実行モジュールは、受信したパケットに第１処理を実行する第１処理実行部を有し、
前記第２機能実行モジュールは、受信したパケットに前記第１処理と異なる第２処理を実行する第２処理実行部を有し、
前記第３機能実行モジュールは、前記第１処理実行部及び前記第２処理実行部を有し、
前記方法は、
前記通信装置が、前記第１機能実行モジュールの前記第１処理実行部に前記第１機能実行モジュールのプロセッサコアを割り当て、前記第１機能実行モジュールの前記第１処理実行部を運用系として動作させ、
前記通信装置が、前記第２機能実行モジュールの前記第２処理実行部に前記第２機能実行モジュールのプロセッサコアを割り当て、前記第２機能実行モジュールの前記第２処理実行部を運用系として動作させ、
前記通信装置が、前記第３機能実行モジュールの前記第１処理実行部に前記第３機能実行モジュールのプロセッサコアを割り当て、前記第３機能実行モジュールの前記第１処理実行部を待機系として動作させ、
前記通信装置が、前記第３機能実行モジュールの前記第２処理実行部に前記第３機能実行モジュールのプロセッサコアを割り当て、前記第３機能実行モジュールの前記第２処理実行部を待機系として動作させることを特徴とする制御方法。
【請求項９】
請求項８に記載の制御方法であって、
前記複数の機能実行モジュールは第４機能実行モジュールを含み、
前記方法は、
前記通信装置が、前記第１機能実行モジュール、前記第２機能実行モジュール、及び前記第３機能実行モジュールに電源を供給し、
前記第３機能実行モジュールで前記第１処理実行部及び前記第２処理実行部が前記待機系として動作している場合、前記通信装置が、前記第４機能実行モジュールへの電源の供給を遮断することを特徴とする制御方法。
【請求項１０】
請求項８に記載の制御方法であって、
前記第１機能実行モジュールに障害が発生した場合、前記通信装置が前記第３機能実行モジュールの前記第１機能実行モジュールで運用系として動作する第１処理実行部の待機系として動作する第１処理実行部を運用系として動作させることを特徴とする制御方法。
【請求項１１】
請求項１０に記載の制御方法であって、
前記通信装置は、前記複数の機能実行モジュールにおいて処理実行部に割り当てられたプロセッサコアの数を保持し、
前記方法は、
前記第３機能実行モジュールで待機系として動作していた第１処理実行部を運用系として動作させる場合、前記通信装置が、前記第１機能実行モジュールで運用系として動作していた第１処理実行部に割り当てられていたプロセッサコアの数と同じ数のプロセッサコアを、前記第３機能実行モジュールで前記待機系として動作していた第１処理実行部に割り当てることを特徴とする制御方法。
【請求項１２】
請求項１１に記載の制御方法であって、
前記複数の機能実行モジュールは第４機能実行モジュールを含み、
前記方法は、
前記通信装置が、前記第１機能実行モジュール、前記第２機能実行モジュール、及び前記第３機能実行モジュールに電源を供給し、
前記第３機能実行モジュールで前記第１処理実行部及び前記第２処理実行部が前記待機系として動作している場合、前記通信装置が、前記第４機能実行モジュールへの電源の供給を遮断し、
前記通信装置が、前記障害が発生した第１機能実行モジュールで運用系として動作していた第１処理実行部に割り当てられていたプロセッサコアの数と同じ数のプロセッサコアを、前記第３機能実行モジュールで前記待機系として動作していた第１処理実行部に割り当てた場合、前記第３機能実行モジュールが有するプロセッサコアの数から前記第３機能実行モジュールで前記運用系として動作する第１処理実行部に割り当てた数を減算した値が所定値以下であるか否かを判定し、
前記通信装置が、前記第３機能実行モジュールが有するプロセッサコアの数から前記第３機能実行モジュールで前記運用系として動作する第１処理実行部に割り当てた数を減算した値が所定値以下であると判定された場合、前記第４機能実行モジュールに電源を供給し、
前記通信装置が、前記第３機能実行モジュールで前記待機系として動作していた第２処理実行部を前記第４機能実行モジュールで前記待機系として動作させることを特徴とする制御方法。
【請求項１３】
請求項１０に記載の制御方法であって、
前記通信装置は、前記パケットの宛先と当該パケットの出力先とが登録された転送情報を保持し、
前記方法は、前記第３機能実行モジュールで前記第１処理実行部を運用系として動作させた場合、前記通信装置が、前記宛先が前記第１機能実行モジュールで動作していた第１処理実行部であるパケットの出力先を、前記第３機能実行モジュールに変更することを特徴とする制御方法。
【請求項１４】
請求項８に記載の制御方法であって、
前記処理実行部は、前記機能実行モジュール上に構築された仮想マシン上で動作する制御系実行部と、前記仮想マシンの外部で動作する転送系実行部とを含むことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
パケットを送受信する通信装置に関し、複数の機能実行モジュールを制御する通信装置に関する。
【背景技術】
【０００２】
近年、クラウドコンピューティングに代表されるネットワークを介したコンピューティング資源の利用の広まり、及びネットワークのマルチメディア利用等によって、ネットワーク上における多様なサービスの提供が求められている。このような状況の中で、ネットワーク装置が計算機又は他のネットワーク装置と協調することによって多様なサービスを提供するための機能がネットワーク装置に搭載されることが一般的になってきている。また、ネットワーク装置を高性能化するために、パケット転送処理に注力したハードウェアがネットワーク装置に搭載されることが一般的である。しかし、このようなハードウェアは多様なサービスを提供するための機能に柔軟に対応すること困難である。
【０００３】
このようなハードウェアを搭載したネットワーク装置に機能を付加する技術として、特開２００２−２８１０７２号公報（特許文献１）がある。この公報には、「ハードウェアによるルーティング処理も可能である高速なルーティングモジュール３２に、拡張機能を実行する機能実行モジュール６２を接続して機能拡張モジュール６を構成することによって、機能実行モジュール６２によるパケットデータの加工により新たなアドレス情報を持つパケットが生成された場合でも、接続している当該ルーティングモジュール３２により、パケットの新たなルーティング先を選び転送するルーティング処理の高速性を維持し、機能実行モジュール６２を複数枚接続することでスケーラブルな機能拡張モジュールによる機能拡張を可能にする。」と記載されている（要約参照）。
【０００４】
また、地球温暖化及びデータセンタの冷却コストの増大等の問題によって、機器の省電力化が求められている。特にネットワーク装置は常時動作する機器であり、省電力化が強く求められる。ネットワーク装置の省電力化に関する技術として、特開２００９−３３６９１号公報がある。この公報には、「本発明は、複数の転送リソースを用いてデータの転送を行うデータ転送制御装置を提供する。このデータ転送制御装置は、複数の転送リソースを用いてデータの転送を行うデータ転送制御装置であって、複数の転送リソースの負荷に基づいて、複数の転送リソースの作動状態を、データ転送が可能な転送可能状態と、少なくとも消費電力と前記転送可能状態への遷移時間の少なくとも一方が相互に相違する転送が不可能な複数の待機状態のいずれかに指定し、指定された作動状態となるように複数の転送リソースを管理する転送リソース管理部と、転送可能状態に指定された転送リソースに対して、データを振り分ける負荷振分部とを備える。」と記載されている。
【０００５】
一方で、ネットワーク装置は情報通信基盤を担うため、冗長性を持たせることにより高い可用性を得る必要がある。ネットワーク装置に内蔵する機能拡張カードにおいても、複数の機能拡張カードを用いて冗長性を持たせることが一般的である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−２８１０７２号公報
【特許文献２】特開２００９−３３６９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
機能実行カードにおいて冗長性を持たせる場合、情報通信基盤に耐え得る高い可用性を得るためには、運用系の機能実行カードと同じ構成の待機系の機能実行カードを、運用系の機能実行カードと同じ数だけ用意し、瞬時に運用系と待機系とを切り替えるために当該待機系の機能実行カードを常時起動状態で動作させる必要がある。しかし、運用系の機能実行カードと同数の待機系の機能実行カードが常時起動状態で動作しているため、冗長性を持たない場合と比較して、機能実行カードの総電力消費が倍になるという問題があった。
【０００８】
本発明は、機能実行カードを冗長化しつつ、省電力化を図る通信装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の代表的な一例を示せば、パケットを送受信する通信装置であって、  ネットワークに接続され、前記ネットワークとの間で前記パケットを送受信するラインモジュールと、複数のプロセッサコアを有し、処理実行部を実装可能な複数の機能実行モジュールと、を備え、前記ラインモジュールは、受信したパケットを前記機能実行モジュールに送信し、前記機能実行モジュールは、前記ラインモジュールから受信したパケットに所定の処理を実行して、前記ラインモジュールに送信し、前記ラインモジュールは、前記機能実行モジュールから受信したパケットを前記ネットワークに送信し、前記複数の機能実行モジュールは、第１機能実行モジュール、第２機能実行モジュール、及び第３機能実行モジュールを含み、前記第１機能実行モジュールは、受信したパケットに第１処理を実行する第１処理実行部を有し、前記第１処理実行部に前記第１機能実行モジュールのプロセッサコアが割り当てられ、前記第１機能実行モジュールの前記第１処理実行部は運用系として動作し、前記第２機能実行モジュールは、受信したパケットに前記第１処理と異なる第２処理を実行する第２処理実行部を有し、前記第２処理実行部に前記第２機能実行モジュールのプロセッサコアが割り当てられ、前記第２機能実行モジュールの前記第２処理実行部は運用系として動作し、前記第３機能実行モジュールは、前記第１処理実行部及び前記第２処理実行部を有し、前記第１処理実行部に前記第３機能実行モジュールのプロセッサコアが割り当てられ、前記第３機能実行モジュールの前記第１処理実行部は待機系として動作し、前記第２処理実行部に前記第３機能実行モジュールのプロセッサコアが割り当てられ、前記第３機能実行モジュールの前記第２処理実行部は待機系として動作することを特徴とする。
【発明の効果】
【００１０】
本願において開示される発明のうち代表的なものによって得られる効果を簡潔に説明すれば、下記の通りである。すなわち、機能実行カードを冗長化しつつ、省電力化を図る通信装置を提供できる。
【００１１】
上記した以外の課題、構成、及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１２】
【図１】実施例１のネットワーク装置の説明図である。
【図２】実施例１の転送エンジン管理テーブルの説明図である。
【図３】実施例１の省電力・冗長管理テーブルの説明図である。
【図４】実施例１の機能実行部ＩＰアドレス管理テーブルの説明図である。
【図５】実施例１の転送エンジンが有する転送テーブルの説明図である。
【図６】実施例１の機能実行カードの説明図である。
【図７】実施例１の機能実行部管理テーブルの説明図である。
【図８】実施例１の機能実行部管理テーブルの説明図である。
【図９】実施例１の冗長制御部によって実行される新運用系機能実行カード決定処理のフローチャートである。
【図１０】実施例１の冗長制御部によって実行される新運用系機能実行カード決定処理のフローチャートである。
【図１１】実施例１の冗長制御部によって実行される新運用系機能実行カード決定処理のフローチャートである。
【図１２】実施例１の省電力制御部によって実行される電源制御処理のフローチャートである。
【図１３】実施例１の転送エンジン制御部によって実行される転送テーブル更新処理のフローチャートである。
【図１４】実施例２の機能実行カードの説明図である。
【発明を実施するための形態】
【実施例１】
【００１３】
実施例１について図１〜図１３を用いて説明する。図１は、実施例１のネットワーク装置１００の説明図である。
【００１４】
ネットワーク装置１００は、基本制御部１０００、転送エンジン２０００、機能実行カード３０００−１〜３０００−４、ラインカード７０００−１及び７０００−２、並びに電源ユニット４００を備える。電源ユニット４００は、基本制御部１０００、転送エンジン２０００、機能実行カード３０００−１〜３０００−４、並びにラインカード７０００−１に電源を供給する。
【００１５】
基本制御部１０００は、機能実行カード３０００−１〜３０００−４の冗長化及び省電力化を実現するため、転送エンジン２０００、機能実行カード３０００−１〜３０００−４、並びにラインカード７０００−１及び７０００−２を制御する。
【００１６】
基本制御部１０００について説明する。基本制御部１０００は、ポート１０１、メモリ１１００、プロセッサ１２００を有する。ポート１０１は、基本制御部１０００と転送エンジン２０００及び各機能実行カード３０００−１〜３０００−４との間の接続のインタフェースとなる。
【００１７】
メモリ１１００は、転送エンジン制御部１１１０に対応するプログラム、冗長制御部１１３０に対応するプログラム、及び省電力制御部１１４０に対応するプログラム、並びに、転送エンジン管理テーブル１１２０、省電力・冗長管理テーブル１１５０、及び機能実行部ＩＰアドレス管理テーブル１１６０を記憶する。
【００１８】
プロセッサ１２００は、メモリ１１００に記憶された転送エンジン制御部１１１０に対応するプログラムを実行することによって、転送エンジン制御部１１１０を実装し、メモリ１１００に記憶された冗長制御部１１３０に対応するプログラムを実行することによって、冗長制御部１１３０を実装し、メモリ１１００に記憶された省電力制御部１１４０に対応するプログラムを実行することによって、省電力制御部１１４０を実装する。
【００１９】
転送エンジン制御部１１１０は、ラインカード７０００−１又は７０００−２が受信したパケットの転送先を制御するための転送エンジン管理テーブル１１２０を構築する。転送エンジン管理テーブル１１２０は、ユーザによって設定されたコンフィグレーション情報に基づいて構築される。転送エンジン管理テーブル１１２０は、図２で詳細を説明する。
【００２０】
また、転送エンジン制御部１１１０は、機能実行カード３０００−１〜３０００−４のいずれかに障害が発生したことを示す系切替通知を冗長制御部１１３０から受信した場合、転送エンジン２０００の転送テーブル２１００を更新する転送テーブル更新処理を実行する。転送テーブル更新処理は、図１３で詳細を説明する。
【００２１】
冗長制御部１１３０は、ネットワーク装置１００の複数の機能実行カード３０００−１〜３０００−４の冗長化と省電力とを両立させるための省電力・冗長管理テーブル１１５０を構築する。省電力・冗長管理テーブル１１５０は、ユーザによって設定されたコンフィグレーション情報に基づいて構築される。省電力・冗長管理テーブル１１５０は、図３で詳細を説明する。
【００２２】
また、冗長制御部１１３０は、機能実行カード３０００−１〜３０００−４の障害を検出する。冗長制御部１１３０は、障害を検出した場合、障害が発生した機能実行カード３０００−１で運用系として動作していた機能実行部を新たに動作させる機能実行カードを決定する新運用系機能実行カード決定処理を実行する。冗長制御部１１３０による新運用系機能実行カード決定処理は、図９〜図１１で詳細を説明する。
【００２３】
省電力制御部１１４０は、機能実行カード３０００−１〜３０００−４の電源状態を制御する。また、省電力制御部１１４０は、機能実行カード３０００−１〜３０００−４のいずれかに障害が発生したことを示す系切替通知を受信した場合、障害発生時における機能実行カード３０００−１〜３０００−４の電源制御処理を実行する。電源制御処理は、図１２で詳細を説明する。
【００２４】
ラインカード７０００−１〜７０００−２は、ポート７０１−１〜７０１−２を介して、外部の回線（例えばツイストペアケーブル又は光ファイバ等）を介してネットワークに接続し、パケットの送受信を制御する。
【００２５】
転送エンジン２０００は、機能実行カード３０００−１〜３０００−４及びラインカード７０００−１〜７０００−２にポート２００−１〜２００−６を介して接続される。転送エンジン２０００は、パケットの出力先が登録された転送テーブル２１００に基づいて、ラインカード７０００−１〜７０００−２が受信したパケットの出力先となる機能実行カード３０００−１〜３０００−４を決定する。転送テーブル２１００は、図５で詳細を説明する。
【００２６】
また、転送エンジン２０００は、転送テーブル２１００に基づいて、機能実行カード３０００−１〜３０００−４から受信したパケットの出力先となるラインカード７０００−１及び７０００−２を決定する。つまり、ラインカード７０００−１〜７０００−２が受信したパケットは機能実行カード３０００−１〜３０００−４のいずれかに送信され、機能実行カード３０００−１〜３０００−４の機能実行部によって所定の処理が実行される。機能実行カード３０００−１〜３０００−４は、所定の処理が実行されたパケットを転送エンジン２０００に送信し、転送エンジン２０００は機能実行カード３０００−１〜３０００−４から受信したパケットをラインカード７０００−１〜７０００−２に送信して、ラインカード７０００−１〜７０００−２からネットワークに送信する。
【００２７】
なお、転送エンジン２０００は、ラインカード７０００−１〜７０００−２から受信したパケットを機能実行カード３０００−１〜３０００−４に送信せずに、ラインカード７０００−１〜７０００−２に送信してもよい。
【００２８】
次に、機能実行カード３０００−１〜３０００−４について説明する。機能実行カード３０００−１は、メモリ３１００−１及び複数のプロセッサコア３２０１−１〜３２３２−１（図１ではコアと記載）を有する。なお、図１では、機能実行カード３０００−１は、３２個のプロセッサコアを有するが、プロセッサコアの数はこれに限定されない。
【００２９】
メモリ３１００−１は、機能実行カード３０００−１が転送エンジン２０００から受信したパケットに対して所定の処理を実行し、所定の処理を実行したパケットを転送エンジン２０００に送信する機能実行部Ａ３１１０−１を有し、機能実行部Ａ３１１０−１には少なくとも一つのプロセッサコア（本実施例では、３２個のプロセッサコア３２０１−１〜３２３２−１）が割り当てられる。なお、機能実行部Ａ３１１０−１の処理の例としては、カプセル化処理及びデカプセル化処理等があるが、機能実行部次第で他の処理も実行することができる。
【００３０】
なお、機能実行カード３０００−１は、図６で詳細を説明する。
【００３１】
機能実行カード３０００−２〜３０００−４は、機能実行カード３０００−１と同じく、メモリ（３１０００−２〜３１００−４）及び複数のプロセッサコア（３２０１−２〜３２３２−２、３２０１−３〜３２３２−３、及び３２０１−４〜３２３２−４）を備える。
【００３２】
なお、機能実行カード３０００−２のメモリ３１００−２は、機能実行部Ａ３１１０−１と異なる処理を実行する機能実行部Ｂ３１２０−２を有し、機能実行部Ｂ３１２０−２には少なくとも一つのプロセッサコア（本実施例では、３２個のプロセッサコア３２０１−１〜３２３２−１）が割り当てられる。
【００３３】
また、機能実行カード３０００−３のメモリ３１００−３は、機能実行部Ａ３１１０−３及び機能実行部Ｂ３１２０−３を有し、機能実行部Ａ３１１０−３及び機能実行部Ｂ３１２０−３には、それぞれ少なくとも一つのプロセッサコアが割り当てられる。本実施例では、機能実行部Ａ３１１０−３には１６個のプロセッサコアが割り当てられ、機能実行部Ｂ３１２０−３には１６個のプロセッサコアが割り当てられる。
【００３４】
また、機能実行カード３０００−４は電源ユニット４００から電源が供給されていないため、メモリ３１００−４は機能実行部を有さない。
【００３５】
機能実行部Ａは、機能実行カード３０００−１で動作する機能実行部Ａ３１１０−１と機能実行カード３０００−３で動作する機能実行部Ａ３１１０−３とによって冗長化される。機能実行部Ａ３１１０−１が実際に処理を実行する運用系として機能し、機能実行部Ａ３１１０−３が、機能実行カード３０００−１に障害が発生した場合に機能実行部Ａ３１１０−１の代わりに処理を実行する待機系として動作する。このため、機能実行カード３０００−１を機能実行部Ａの運用系機能実行カードといい、機能実行カード３０００−３を機能実行部Ａの待機系機能実行カードという。
【００３６】
同様に、機能実行カード３０００−２を機能実行部Ｂの運用系機能実行カードといい、機能実行カード３０００−３を機能実行部Ｂの待機系機能実行カードという。
【００３７】
本実施例では、機能実行カード３０００−３では、待機系として動作する機能実行部Ａ３１１０−３及び機能実行部Ｂ３１２０−３が動作するため、機能実行カード３０００−４に電源を供給する必要がなくなり、機能実行部を冗長化しつつ、省電力化を図ることができる。
【００３８】
機能実行カード３０００−１〜３０００−４は、機能実行カード３０００−１〜３０００−４と記載しているが、カードに限定されず、例えば、機能実行ボード等であってもよいし、アダプタ又はモジュールによって実現されてもよい。特許請求の範囲では、機能実行カード及び機能実行ボード等を含む概念を機能実行モジュールとして記載する。また、ラインカード７０００−１〜７０００−２も同様に、カードに限定されず、ラインボード等であってもよいし、アダプタ又はモジュールで実現されてもよく、特許請求の範囲では、これらを含む概念をラインモジュールと記載する。
【００３９】
なお、基本制御部１０００、転送エンジン２０００、機能実行カード３０００−１〜３０００−４及びラインカード７０００−１〜７０００−２は、バスで接続される。
【００４０】
また、ネットワーク装置１００が有する機能実行カード３０００−１〜３０００−４及びラインカード７０００−１〜７０００−２等の数は図１に限定されない。
【００４１】
図２は、実施例１の転送エンジン管理テーブル１１２０の説明図である。
【００４２】
転送エンジン管理テーブル１１２０には、機能実行カードの識別情報と、機能実行カードのＩＰアドレスと、転送先のポート番号との関連付けが登録される。
【００４３】
転送エンジン管理テーブル１１２０は、機能実行カードＩＤ１１２１、主信号Ｉ／Ｆ  ＩＰアドレス１１２２、及びポート番号１１２３を含む。
【００４４】
機能実行カードＩＤ１１２１には、ネットワーク装置１００に備わる機能実行カード３０００−１〜３０００−４の識別情報（機能実行カードＩＤ）が登録される。主信号Ｉ／Ｆ  ＩＰアドレス１１２２には、転送エンジン２０００の機能実行カードＩＤ１１２１に登録された機能実行カードＩＤによって識別される機能実行カード３０００−１〜３０００−４に接続されるポート２００−１〜２００−４に割り当てられたＩＰアドレス（主信号Ｉ／Ｆ  ＩＰアドレス）が登録される。このＩＰアドレスは、ユーザによって設定され、機能実行カード３０００−１〜３０００−４のＩＰアドレスである。ポート番号１１２３には、機能実行カードＩＤ１１２１に登録された機能実行カードＩＤによって識別される機能実行カード３０００−１〜３０００−４に接続されたポート２００−１〜２００−４の識別情報であるポート番号が登録される。ポート番号１１２３には、機能実行カード３０００−１〜３０００−４の搭載位置に応じて当該機能実行カードが接続されるポート２００−１〜２００−４が特定され、当該ポート２００−１〜２００−４のポート番号が自動的に登録される。
【００４５】
図３は、実施例１の省電力・冗長管理テーブル１１５０の説明図である。
【００４６】
省電力・冗長管理テーブル１１５０は、各機能実行カード３０００−１〜３０００−４で動作する機能実行部と、機能実行部の状態と、機能実行部のプロセッサコアの割り当てに関する情報と、各機能実行カード３０００−１〜３０００−４に電源が供給されているか否かを示す電源状態との関係が登録される。
【００４７】
省電力・冗長管理テーブル１１５０は、機能実行カードＩＤ１１５１、機能実行部ＩＤ１１５２、状態１１５３、コア割付マスク１１５４、及び電源状態１１５５を含む。
【００４８】
機能実行カードＩＤ１１５１には、ネットワーク装置１００に備わる機能実行カード３０００−１〜３０００−４の識別情報（機能実行カードＩＤ）が登録される。機能実行部ＩＤ１１５２には、機能実行カードＩＤ１１５１に登録された機能実行カードＩＤによって識別された機能実行カードで動作する機能実行部の識別情報（機能実行部ＩＤ）が登録される。なお、機能実行部ＩＤ１１５２には、ユーザが設定したコンフィグレーションに従って機能実行部ＩＤが登録される。
【００４９】
状態１１５３には、機能実行部ＩＤ１１５２に登録された機能実行部ＩＤによって識別される機能実行部が運用系であるか待機系であるかを示す状態情報が登録される。なお、状態１１５３には、ユーザが設定したコンフィグレーションに従って状態情報が登録される。例えば、状態１１５３に「ＡＣＴ」が登録されている場合、機能実行部が運用系として動作することを示し、状態１１５３に「ＳＢＹ」が登録されている場合、機能実行部が待機系として動作することを示す。
【００５０】
コア割付マスク１１５４には、機能実行部ＩＤ１１５２に登録された機能実行部ＩＤによって識別される機能実行部へのプロセッサコアの割り当てに関する情報が登録される。具体的には、コア割付マスク１１５４には４桁の１６進数を含む情報が登録され、１桁の１６進数で、４個のプロセッサコアのうちどのプロセッサコアが機能実行部に割り当てられるかを示すことができる。このため、コア割付マスク１１５４に「ＦＦＦＦ」が登録されていれば、機能実行カードが有する３２個の全てのプロセッサコアが機能実行部に割り当てられることを示す。また、コア割付マスク１１５４に「ＦＦ００」が登録されていれば、機能実行カードが有する１個目から１６個目のプロセッサコアが機能実行部に割り当てられることを示し、コア割付マスク１１５４に「００ＦＦ」が登録されていれば、機能実行カードが有する１７個目から３２個目のプロセッサコアが機能実行部に割り当てられることを示す。
【００５１】
なお、コア割付マスク１１５４には、ユーザが設定したコンフィグレーションに従って情報が登録される。また、コア割付マスク１１５４は、機能実行部に割り当てられたプロセッサコアの数を含めば他の形式であってもよい。
【００５２】
電源状態１１５５には、機能実行カードＩＤ１１５１に登録された機能実行カードＩＤによって識別される機能実行カードで電源が供給されているか否かを示す電源状態情報が登録される。例えば、電源状態１１５５に「ＯＮ」が登録されている場合、機能実行カードに電源が供給されていることを示し、電源状態１１５５に「ＯＦＦ」が登録されている場合、機能実行カードに電源が供給されていないことを示す。
【００５３】
以上によって、機能実行カード３０００−１では、運用系として稼働する機能実行部ＩＤ「Ａ」の機能実行部Ａ３１１０−１に全てのプロセッサコアが割り当てられ、機能実行カード３０００−２では、運用系として稼働する機能実行部ＩＤ「Ｂ」の機能実行部Ｂ３１２０−２に全てのプロセッサコアが割り当てられる。また、機能実行カード３０００−３では、待機系として稼働する機能実行部ＩＤ「Ａ」の機能実行部Ａ３１１０−３に１個目から１６個目のプロセッサコアが割り当てられ、待機系として稼働する機能実行部ＩＤ「Ｂ」の機能実行部Ｂ３１２０−３に１７個目から３２個目のプロセッサコアが割り当てられる。機能実行カード３０００−４には電源が供給されないので、いずれの機能実行部も稼働しない。
【００５４】
図４は、実施例１の機能実行部ＩＰアドレス管理テーブル１１６０の説明図である。
【００５５】
機能実行部ＩＰアドレス管理テーブル１１６０には、機能実行部ＩＤと機能実行部のＩＰアドレスとの関連付けが登録される。
【００５６】
機能実行部ＩＰアドレス管理テーブル１１６０は、機能実行部ＩＤ１１６１及びＩＰアドレス１１６２を含む。
【００５７】
機能実行部ＩＤ１１６１には、ネットワーク装置１００に備わる機能実行カード３０００−１〜３０００−４で動作する機能実行部の識別情報（機能実行部ＩＤ）が登録される。なお、機能実行部ＩＤ１１６１には、ユーザが設定したコンフィグレーションに従って機能実行部ＩＤが登録される。
【００５８】
ＩＰアドレス１１６２には、機能実行部ＩＤ１１６１に登録された機能実行部ＩＤによって識別される機能実行部のＩＰアドレスが登録される。なお、ＩＰアドレス１１６２には、ユーザが設定したコンフィグレーションに従って機能実行部のＩＰアドレスが登録される。
【００５９】
図５は、実施例１の転送エンジン２０００が有する転送テーブル２１００の説明図である。
【００６０】
転送テーブル２１００は、パケットの宛先とパケットの出力先との関連付けが登録され、宛先ＩＰアドレス２１０１、ネクストホップ２１０２、及び出力インタフェース２１０３を含む。
【００６１】
宛先ＩＰアドレス２１０１には、ネットワーク装置１００が有するＩＰアドレスが割り当てられた各ネットワークまでの経路が登録される。本実施例では、宛先ＩＰアドレス２１０１には、ラインカード７０００−１又は７０００−２を介して受信したパケットを機能実行カード３０００−１〜３０００−４に転送するために、機能実行部のＩＰアドレスが登録される。
【００６２】
ネクストホップ２１０２には、宛先ＩＰアドレス２１０１に登録されたＩＰアドレスが割り当てられたネットワークにパケットが到着するために、次にパケットを転送する隣接ルータのＩＰアドレスが登録される。本実施例では、ネクストホップ２１０２には、宛先ＩＰアドレス２１０１に登録されたＩＰアドレスが割り当てられた機能実行部が動作する機能実行カードのＩＰアドレス、すなわち、主信号Ｉ／Ｆ  ＩＰアドレスが登録される。
【００６３】
出力インタフェース２１０３には、ネクストホップ２１０２にパケットを出力するポート番号が登録される。
【００６４】
図６は、実施例１の機能実行カード３０００−１の説明図である。
【００６５】
機能実行カード３０００−１は、ポート３０１−１及び３０２−１、３２個のプロセッサコア３２０１−１〜３２３２−１、メモリ３１００−１、並びに電源制御部３３００−３を有する。
【００６６】
メモリ３１００−１は、機能実行部Ａ３１１０−１に対応するプログラム、及びコア割付部３１５０−１に対応するプログラム、並びに、機能実行部管理テーブル３１３０−１、及び主信号Ｉ／Ｆ  ＩＰアドレス３１４０−１を記憶する。
【００６７】
機能実行部Ａ３１１０−１に割り当てられたプロセッサコア３２０１−１〜３２３２−１は、機能実行部Ａ３１１０−１に対応するプログラムを実行することによって、機能実行部Ａ３１１０−１を実装し、また、プロセッサコア３２０１−１〜３２３２−１は、コア割付部３１５０−１に対応するプログラムを実行することによって、コア割付部３１５０−１を実装する。
【００６８】
機能実行部Ａ３１１０−１は、機能実行カード３０００−１が受信したパケットを処理し、転送エンジン２０００に送信する。
【００６９】
機能実行部管理テーブル３１３０−１には、機能実行部Ａ３１１０−１が運用系として動作するか待機系として動作するかを示す状態情報、機能実行部Ａ３１１０−１のＩＰアドレス、及び機能実行部Ａ３１１０−１のプロセッサコアの割り当てに関する情報が登録される。機能実行部管理テーブル３１３０−１は、図７で詳細を説明する。
【００７０】
主信号Ｉ／Ｆ  ＩＰアドレス３１４０−１には、転送エンジン２０００が有するポート２００−１〜２００−６のうち機能実行カード３０００−１に接続されたポート２００−１に割り当てられたＩＰアドレスが登録される。具体的には、主信号Ｉ／Ｆ  ＩＰアドレス３１４０−１には、基本制御部１０００が有する転送エンジン管理テーブル１１２０の機能実行カードＩＤ１１２１に機能実行カードＩＤ「３０００−１」が登録されたレコードの主信号Ｉ／Ｆ  ＩＰアドレス「１９８．５１．１００．１／２４」が登録される。
【００７１】
コア割付部３１６０−１は、機能実行部管理テーブル３１３０−１のコア割付マスク３１２４を参照し、機能実行部Ａ３１１０−１にプロセッサコア３２０１−１〜３２３２−１を割り当てる。
【００７２】
電源制御部３３００−１は、機能実行カード３０００−１に電源を供給するか否かを制御する。
【００７３】
機能実行カード３０００−２では機能実行部Ｂ３１２０−２が動作する点で機能実行カード３０００−１と相違し、機能実行カード３０００−３では機能実行部Ａ３１１０−３及び機能実行部Ｂ３１２０−３が動作する点で機能実行カード３０００−１と相違し、その他は同一であるので、説明を省略する。また、機能実行カード３０００−４には電源が供給されないので、機能実行カード３０００−４のメモリ３１００−４は何も記憶していない。
【００７４】
機能実行カード３０００−１では、機能実行部Ａ３１１０−１が運用系として動作し、機能実行カード３０００−２では、機能実行部Ｂ３１２０−２が運用系として動作し、機能実行カード３０００−３では、機能実行部Ａ３１１０−３が待機系として動作し、機能実行部Ｂ３１２０−３が待機系として動作する。
【００７５】
図７は、実施例１の機能実行部管理テーブル３１３０−１の説明図である。
【００７６】
機能実行部管理テーブル３１３０−１は、機能実行部ＩＤ３１３１、状態３１３２、ＩＰアドレス３１３３、及びコア割付マスク３１３４を含む。
【００７７】
機能実行部ＩＤ３１３１には、機能実行カード３０００−１で動作する機能実行部Ａ３１１０−１の識別情報（機能実行部Ａ）が登録される。なお、機能実行部Ａ３１１０−１の識別情報は、冗長制御部１１３０から指示され、機能実行部Ａ３１１０−１が機能実行部管理テーブル３１３０−１の機能実行部ＩＤ３１３１に登録する。
【００７８】
状態３１３２には、機能実行カード３０００−１で動作する機能実行部Ａ３１１０−１が運用系として動作するか待機系として動作するかを示す状態情報（ＡＣＴ・ＳＢＹ）が登録される。冗長制御部１１３０は、省電力・冗長管理テーブル１１５０の機能実行部Ａ３１１０−１のレコードの状態１１５３に登録された状態情報を機能実行カード３０００−１に指示し、機能実行部Ａ３１１０−１が機能実行部管理テーブル３１３０−１の状態３１３２に指示された情報を登録する。
【００７９】
ＩＰアドレス３１３３には、機能実行部Ａ３１１０−１のＩＰアドレスが登録される。冗長制御部１１３０は、機能実行部ＩＰアドレス管理テーブル１１６０の機能実行部Ａ３１１０−１のＩＰアドレスを機能実行カード３０００−１に指示し、機能実行部Ａ３１１０−１が機能実行部管理テーブル３１３０−１のＩＰアドレス３１３３に指示されたＩＰアドレスを登録する。
【００８０】
コア割付マスク３１３４には、機能実行カード３０００−１で動作する機能実行部Ａ３１１０−１のコア割付マスクが登録される。冗長制御部１１３０は、省電力・冗長管理テーブル１１５０の機能実行部Ａ３１１０−１のレコードのコア割付マスクを機能実行カード３０００−１に指示し、コア割付部３１５０−１は、機能実行部管理テーブル３１３０−１のコア割付マスク３１３４に指示されたコア割付マスクを登録する。
【００８１】
機能実行部管理テーブル３１３０−１には、機能実行カード３０００−１で動作する機能実行部Ａ３１１０−１が運用系で操作し、機能実行部Ａ３１１０−１のＩＰアドレスが「１９８．５１．１００．１」であり、コア割付マスクが「ＦＦＦＦ」であることが登録される。
【００８２】
なお、機能実行部ＩＤと状態との関連付け、機能実行部ＩＤとＩＰアドレスとの関連付け、及び機能実行部ＩＤとコア割付マスクとの関連付けを一つのテーブルに登録したが、これらをそれぞれ別のテーブルに登録してもよい。
【００８３】
図８は、実施例１の機能実行部管理テーブル３１３０−３の説明図である。
【００８４】
機能実行部管理テーブル３１３０−３は、機能実行カード３０００−３のメモリ３１００−３に記憶される。機能実行部管理テーブル３１３０−３は、機能実行部ＩＤ３１３１、状態３１３２、ＩＰアドレス３１３３、及びコア割付マスク３１３４を含む。
【００８５】
機能実行部管理テーブル３１３０−３は、機能実行カード３０００−３では、機能実行部Ａ３１１０−３及び機能実行部Ｂ３１２０−３が待機系として動作し、機能実行部Ａ３１１０−３のＩＰアドレスが「１９８．５１．１００．１」であり、機能実行部Ｂ３１２０−３のＩＰアドレスが「１９８．５１．２００．１」であり、機能実行部Ａ３１１０−３のコア割付マスクが「００ＦＦ」であり、機能実行部Ｂ３１２０−３のコア割付マスクが「ＦＦ００」であることが登録される。
【００８６】
図９は、実施例１の冗長制御部１１３０によって実行される新運用系機能実行カード決定処理のフローチャートである。
【００８７】
冗長制御部１１３０は、機能実行カード３０００−１〜３０００−４に障害が発生しているか否かを判定する（Ｓ１０１）。
【００８８】
Ｓ１０１の処理で、機能実行カード３０００−１〜３０００−４に障害が発生していないと判定された場合（Ｓ１０１：Ｎｏ）、冗長制御部１１３０は、再度Ｓ１０１の処理を実行する。
【００８９】
一方、Ｓ１０１の処理で機能実行カード３０００−１〜３０００−４に障害が発生していると判定された場合（Ｓ１０１：Ｙｅｓ）、冗長制御部１１３０は、障害が発生した機能実行カードの機能実行カードＩＤを特定する（Ｓ１０２）。以降、障害が発生した機能実行カードを障害中機能実行カードという。
【００９０】
冗長制御部１１３０は、機能実行カードＩＤと機能実行部ＩＤとの関連付けを参照し、障害中機能実行カード上で動作する機能実行部の識別情報（機能実行部ＩＤ）を抽出する（Ｓ１０３）。具体的には、冗長制御部１１３０は、省電力・冗長管理テーブル１１５０を参照し、機能実行カードＩＤ１１５１に、Ｓ１０２の処理で特定した機能実行カードＩＤが登録されたレコードの機能実行部ＩＤ１１５２に登録された機能実行部ＩＤを抽出する。
【００９１】
次に、冗長制御部１１３０は、機能実行カードＩＤと機能実行部ＩＤと機能実行部の状態との関連付けを参照し、Ｓ１０３の処理で抽出した機能実行カードＩＤと同じで、かつ待機系として動作する機能実行部が動作する機能実行カードが存在するか否かを判定する（Ｓ１０４）。具体的には、冗長制御部１１３０は、省電力・冗長管理テーブル１１５０を参照し、機能実行部ＩＤ１１５２にＳ１０３の処理で抽出した機能実行部ＩＤが登録され、かつ状態１１５３にＳＢＹが登録されたレコードが登録されているか否かを判定する。
【００９２】
Ｓ１０４の処理において、Ｓ１０３で抽出した機能実行カードＩＤと同じで、かつ待機系として動作する機能実行部が動作する機能実行カードが存在しないと判定された場合（Ｓ１０４：Ｎｏ）、冗長制御部１１３０は、図１１に示すＳ１１４〜Ｓ１１９の処理を実行する。Ｓ１１４〜Ｓ１１９の処理は、図１１で詳細を説明する。
【００９３】
一方、Ｓ１０４の処理において、Ｓ１０３で抽出した機能実行カードＩＤと同じで、かつ待機系として動作する機能実行部が動作する機能実行カードが存在すると判定された場合（Ｓ１０４：Ｙｅｓ）、冗長制御部１１３０は、当該機能実行カードで動作する機能実行部を運用系として動作するように、省電力・冗長管理テーブル１１５０を更新する（Ｓ１０５）。以降、運用系として動作するようにした機能実行部を有する機能実行カードを新運用系機能実行カードという。具体的には、冗長制御部１１３０は、省電力・冗長管理テーブル１１５０のレコードのうち、機能実行部ＩＤ１１５２にＳ１０３の処理で抽出した機能実行部ＩＤが登録され、かつ状態１１５３にＳＢＹが登録されたレコードの状態１１５３をＡＣＴに変更する。
【００９４】
次に、冗長制御部１１３０は、機能実行部ＩＤとコア割付マスクとの関連付けを参照し、障害中機能実行カードで動作していた機能実行部のコア割付マスクを抽出し、新運用系機能実行カードで動作する機能実行部のうち、障害中機能実行カードで動作していた機能実行部の機能実行部ＩＤと同じ機能実行部のコア割付マスクを、抽出したコア割付マスクに変更する（Ｓ１０６）。具体的には、冗長制御部１１３０は、省電力・冗長管理テーブル１１５０を参照し、機能実行カードＩＤ１１５１に障害中機能実行カードＩＤが登録され、かつ機能実行部ＩＤ１１５２にＳ１０３の処理で抽出した機能実行部ＩＤが登録されたレコードのコア割付マスク１１５４に登録されたコア割付マスクを抽出する。そして、冗長制御部１１３０は、機能実行カードＩＤ１１５１に新運用系機能実行カードＩＤが登録され、機能実行部ＩＤ１１５２にＳ１０３の処理で抽出した機能実行部ＩＤが登録されたレコードのコア割付マスク１１５４を、抽出したコア割付マスクに変更する。
【００９５】
冗長制御部１１３０は、Ｓ１０６の実行後、図１０に示すＳ１０７〜Ｓ１１３の処理に進む。Ｓ１０７〜Ｓ１１３の処理は、図１０で詳細を説明する。
【００９６】
図１０は、実施例１の冗長制御部１１３０によって実行される新運用系機能実行カード決定処理のフローチャートである。
【００９７】
まず、冗長制御部１１３０は、新運用系機能実行カードにおいて、待機系として動作する機能実行部が存在するか否かを判定する（Ｓ１０７）。具体的には、冗長制御部１１３０は、省電力・冗長管理テーブル１１５０を参照し、機能実行カードＩＤ１１５１に新運用系機能実行カードＩＤが登録され、かつ状態１１５３がＳＢＹであるレコードが存在するか否かを判定する。
【００９８】
Ｓ１０７の処理で、新運用系機能実行カードにおいて、待機系として動作する機能実行部が存在すると判定された場合（Ｓ１０７：Ｙｅｓ）、冗長制御部１１３０は、全プロセッサコア数から、新運用系機能実行カードで運用系として動作する機能実行部に割り当てられたプロセッサコア数を減算した未割当プロセッサコア数を算出し、新運用系機能実行カードで待機系として動作する機能実行部のコア割付マスクを未割当プロセッサコア数に基づいて変更する（Ｓ１０８）。具体的には、冗長制御部１１３０は、省電力・冗長管理テーブル１１５０のレコードのうち、機能実行カードＩＤ１１５１に新運用系機能実行カードＩＤが登録され、かつ状態１１５３がＳＢＹであるレコードのコア割付マスク１１５４に登録されたコア割付マスクを、未割当プロセッサコア数を満たすように変更する。
【００９９】
一方、Ｓ１０７で、新運用系機能実行カードにおいて、待機系として動作する機能実行部が存在しないと判定された場合（Ｓ１０７：Ｎｏ）、冗長制御部１１３０は、Ｓ１０８の処理を実行せず、Ｓ１０９の処理に進む。
【０１００】
次に、冗長制御部１１３０は、機能実行カードＩＤと状態とコア割付マスクとの関連付けを参照し、新運用系機能実行カードに、コア割付マスクが「００００」であって、待機系として動作する機能実行部が存在するか否かを判定する（Ｓ１０９）。具体的には、冗長制御部１１３０は、省電力・冗長管理テーブル１１５０を参照し、機能実行カードＩＤ１１５１に新運用系機能実行カードＩＤが登録され、状態１１５３にＳＢＹが登録され、コア割付マスク１１５４に「００００」が登録されたレコードが存在するか否かを判定する。
【０１０１】
なお、Ｓ１０９の処理では、冗長制御部１１３０は、Ｓ１０８の処理で算出した未割当プロセッサコア数が「００００」であるか否かを判定してもよい。
【０１０２】
Ｓ１０９の処理で、コア割付マスクが「００００」であって、待機系として動作する機能実行部が新運用系機能実行カードに存在すると判定された場合（Ｓ１０８：Ｙｅｓ）、冗長制御部１１３０は、機能実行カードＩＤと電源状態との関連付けを参照し、電源が供給されていない機能実行カードの識別情報を抽出する（Ｓ１１０）。以降、この機能実行カードを新待機系機能実行カードという。具体的には、冗長制御部１１３０は、省電力・冗長管理テーブル１１５０を参照し、電源状態１１５５に「ＯＦＦ」が登録されているレコードの機能実行カードＩＤ１１５１に登録された機能実行カードＩＤを抽出する。
【０１０３】
次に、冗長制御部１１３０は、新運用系機能実行カードで待機系として動作していた機能実行部の、機能実行部ＩＤ、待機系で動作することを示す状態情報、及びＳ１０８の処理で変更される前のコア割付マスクを含む状態変更通知を新待機系機能実行カードのコア割付部に送信し（Ｓ１１１）、Ｓ１１２の処理に進む。具体的には、冗長制御部１１３０は、省電力・冗長管理テーブル１１５０の状態１１５３にＳＢＹが登録され、コア割付マスク１１５４に「００００」が登録されたレコードの機能実行部ＩＤ１１５２に登録された機能実行部ＩＤ、状態１１５３に登録されたＳＢＹ、及びコア割付マスク１１５４にＳ１０８の処理で変更される前に登録されていたコア割付マスクを含む状態変更通知を、新待機系機能実行カードのコア割付部に送信し（Ｓ１１１）、Ｓ１１２の処理に進む。
【０１０４】
一方、Ｓ１０９の処理で、コア割付マスクが「００００」であって、待機系として動作する機能実行部が新運用系機能実行カードに存在しないと判定された場合（Ｓ１０８：Ｎｏ）、冗長制御部１１３０は、新待機系機能実行カードを必要としないので、Ｓ１１０及びＳ１１１の処理を実行せず、Ｓ１１２の処理に進む。
【０１０５】
次に、冗長制御部１１３０は、障害中機能実行カードで運用系として動作していた機能実行部の、機能実行部ＩＤ、運用系で動作することを示す状態情報、及びコア割付マスクを、新運用系機能実行カードのコア割付部に送信する（Ｓ１１２）。具体的には、冗長制御部１１３０は、省電力・冗長管理テーブル１１５０の機能実行カードＩＤ１１５１に新運用系機能実行カードＩＤが登録されたレコードのうち、機能実行部ＩＤ１１５２にＳ１０３の処理で抽出した機能実行部ＩＤが登録されたレコードを特定する。そして、冗長制御部１１３０は、抽出したレコードの機能実行部ＩＤ１１５２に登録された機能実行部ＩＤ、状態１１５３に登録されたＡＣＴ、及びコア割付マスク１１５４に登録されたコア割付マスクを含む状態変更通知を新運用系機能実行カードのコア割付部に送信する。
【０１０６】
次に、冗長制御部１１３０は、新運用系機能実行カードＩＤ、新待機系機能実行カードＩＤ、及び障害中機能実行カードＩＤを含む系切替通知を、省電力制御部１１４０及び転送エンジン制御部１１１０に送信し（Ｓ１１３）、処理を終了する。
【０１０７】
なお、Ｓ１０９の処理で、コア割付マスクが「００００」であって、待機系として動作する機能実行部が新運用系機能実行カードに存在すると判定された場合であっても、Ｓ１１０及びＳ１１１の処理を実行しなくてもよい。これによって、新待機系機能実行カードに電源が供給されないままなので、消費電力を低減できる。
【０１０８】
また、Ｓ１０９の処理では、コア割付マスクが「００００」の場合に限定されず、コア割付マスクが示す待機系の機能実行部への割り当てられたプロセッサコアの数が所定値以下であるか否かを判定してもよい。
【０１０９】
図１１は、実施例１の冗長制御部１１３０によって実行される新運用系機能実行カード決定処理のフローチャートである。
【０１１０】
Ｓ１０４の処理において、Ｓ１０３で抽出した機能実行カードＩＤと同じで、待機系として動作する機能実行部が動作する機能実行カードが存在しないと判定された場合（Ｓ１０４：Ｎｏ）、冗長制御部１１３０は、機能実行カードＩＤと電源状態との関連付けを参照し、電源が供給されていない機能実行カードが存在するか否かを判定する（Ｓ１１４）。具体的には、冗長制御部１１３０は、省電力・冗長管理テーブル１１５０を参照し、電源状態１１５５にＯＦＦが登録されたレコードが存在するか否かを判定する。
【０１１１】
Ｓ１１４の処理で、電源が供給されていない機能実行カードが存在しないと判定された場合（Ｓ１１４：Ｎｏ）、冗長制御部１１３０は、処理を終了する。
【０１１２】
一方、電源が供給されていない機能実行カードが存在すると判定された場合（Ｓ１１４：Ｙｅｓ）、冗長制御部１１３０は、機能実行カードＩＤと電源状態との関連付けを参照し、電源が供給されていない機能実行カードの機能実行カードＩＤを特定する（Ｓ１１５）。具体的には、冗長制御部１１３０は、省電力・冗長管理テーブル１１５０を参照し、電源状態１１５５にＯＦＦが登録されたレコードの機能実行カードＩＤ１１５１に登録された機能実行カードＩＤを特定する。なお、この機能実行カードＩＤによって識別される機能実行カードを新運用系機能実行カードという。
【０１１３】
次に、冗長制御部１１３０は、新運用系機能実行カードで、Ｓ１０３で抽出した機能実行部ＩＤによって識別される機能実行部が運用系として動作するように、省電力・冗長管理テーブル１１５０を更新する（Ｓ１１６）。具体的には、冗長制御部１１３０は、省電力・冗長管理テーブル１１５０のレコードのうち機能実行カードＩＤ１１５１に新運用系機能実行カードＩＤが登録されたレコードの機能実行部ＩＤ１１５２にＳ１０３の処理で抽出した機能実行部ＩＤを登録し、状態１１５３にＡＣＴを登録する。
【０１１４】
次に、冗長制御部１１３０は、機能実行部ＩＤとコア割付マスクとの関連付けを参照し、障害中機能実行カードで動作していた機能実行部のコア割付マスクを抽出し、新運用系機能実行カードで動作する機能実行部のうち、障害中機能実行カードで動作していた機能実行部の機能実行部ＩＤと同じ機能実行部のコア割付マスクを、抽出したコア割付マスクに変更する（Ｓ１１６）。具体的には、冗長制御部１１３０は、省電力・冗長管理テーブル１１５０を参照し、機能実行カードＩＤ１１５１に障害中機能実行カードＩＤが登録され、かつ機能実行部ＩＤ１１５２にＳ１０３の処理で抽出した機能実行部ＩＤが登録されたレコードのコア割付マスク１１５４に登録されたコア割付マスクを抽出する。そして、冗長制御部１１３０は、機能実行カードＩＤ１１５１に新運用系機能実行カードＩＤが登録さて、機能実行部ＩＤ１１５２にＳ１０３の処理で抽出した機能実行部ＩＤが登録されたレコードのコア割付マスク１１５４を、抽出したコア割付マスクに変更する。
【０１１５】
次に、冗長制御部１１３０は、新運用系機能実行カードＩＤ、及び障害中機能実行カードＩＤを含む系切替通知を、省電力制御部１１４０及び転送エンジン制御部１１１０に送信する（Ｓ１１８）。
【０１１６】
次に、冗長制御部１１３０は、障害中機能実行カードで運用系として動作していた機能実行部の、機能実行部ＩＤ、運用系で動作することを示す状態情報、及びコア割付マスクを、新運用系機能実行カードのコア割付部に送信し（Ｓ１１９）、処理を終了する。具体的には、冗長制御部１１３０は、省電力・冗長管理テーブル１１５０の機能実行カードＩＤ１１５１に新運用系機能実行カードＩＤが登録されたレコードのうち、機能実行部ＩＤ１１５２にＳ１０３の処理で抽出した機能実行部ＩＤが登録されたレコードを特定する。そして、冗長制御部１１３０は、抽出したレコードの機能実行部ＩＤ１１５２に登録された機能実行部ＩＤ、状態１１５３に登録されたＡＣＴ、及びコア割付マスク１１５４に登録されたコア割付マスクを含む状態変更通知を新運用系機能実行カードのコア割付部に送信する。
【０１１７】
図１２は、実施例１の省電力制御部１１４０によって実行される電源制御処理のフローチャートである。
【０１１８】
まず、省電力制御部１１４０は、冗長制御部１１３０から系切替通知を受信したか否かを判定する（Ｓ３０１）。
【０１１９】
Ｓ３０１の処理で系切替通知を受信していないと判定された場合（Ｓ３０１：Ｎｏ）、省電力制御部１１４０は、再度Ｓ３０１の処理を実行する。
【０１２０】
一方、Ｓ３０１の処理で系切替通知を受信したと判定された場合（Ｓ３０１：Ｙｅｓ）、省電力制御部１１４０は、機能実行カードＩＤと電源状態との関連付けを参照し、系切替通知に含まれる新運用系機能実行カードＩＤの電源状態を抽出する（Ｓ３０２）。具体的には、省電力制御部１１４０は、省電力・冗長管理テーブル１１５０のレコードのうち、機能実行カードＩＤ１１５１に新運用系機能実行カードＩＤが登録されたレコードの電源状態１１５５に登録された電源状態を抽出する。
【０１２１】
次に、省電力制御部１１４０は、Ｓ３０２の処理で抽出した電源状態に基づいて、新運用系機能実行カードに電源が供給されているか否かを判定する（Ｓ３０３）。具体的には、省電力制御部１１４０は、Ｓ３０２の処理で抽出した電源状態がＯＮであれば、新運用系機能実行カードに電源が供給されていると判定し、Ｓ３０２の処理で抽出した電源状態がＯＦＦであれば、新運用系機能実行カードに電源が供給されていないと判定する。
【０１２２】
Ｓ３０３の処理で、新運用系機能実行カードに電源が供給されていると判定された場合（Ｓ３０３：Ｙｅｓ）、省電力制御部１１４０は、Ｓ３０５の処理に進む。
【０１２３】
一方、Ｓ３０３の処理で、新運用系機能実行カードに電源が供給されていないと判定された場合（Ｓ３０３：Ｎｏ）、省電力制御部１１４０は、新運用系機能実行カードに電源を供給する指示を、新運用系機能実行カードの電源制御部に送信し（Ｓ３０４）、Ｓ３０５の処理に進む。新運用系機能実行カードの電源制御部は、上記指示を受信すると、新運用系機能実行カードに電源が供給されるように制御する。
【０１２４】
次に、省電力制御部１１４０は、機能実行カードＩＤと電源状態との関連付けを参照し、系切替通知に含まれる新待機系機能実行カードＩＤの電源状態を抽出する（Ｓ３０５）。具体的な処理はＳ３０１と同じであるので、説明を省略する。
【０１２５】
次に、省電力制御部１１４０は、Ｓ３０５の処理で抽出した電源状態に基づいて、新待機系機能実行カードに電源が供給されているか否かを判定する（Ｓ３０６）。具体的な処理は、Ｓ３０３と同じであるので、説明を省略する。
【０１２６】
Ｓ３０６の処理で、新待機系機能実行カードに電源が供給されていると判定された場合（Ｓ３０６：Ｙｅｓ）、冗長制御部１１３０は、Ｓ３０８に進む。
【０１２７】
一方、Ｓ３０６の処理で、新待機系機能実行カードに電源が供給されていないと判定された場合（Ｓ３０６：Ｎｏ）、冗長制御部１１３０は、新待機系機能実行カードに電源を供給する指示を、新待機系機能実行カードの電源制御部に送信し（Ｓ３０７）、Ｓ３０８の処理に進む。新待機系機能実行カードの電源制御部は、上記指示を受信すると、新待機系機能実行カードに電源が供給されるように制御する。
【０１２８】
次に、省電力制御部１１４０は、受信した系切替通知に含まれる障害中機能実行カードＩＤによって識別される障害中機能実行カードに電源を供給しない指示を、障害中機能実行カードの電源制御部に送信し（Ｓ３０８）、処理を終了する。障害中機能実行カードの電源制御部は、上記指示を受信すると、障害中機能実行カードに電源が供給されないように制御する。
【０１２９】
図１３は、実施例１の転送エンジン制御部１１１０によって実行される転送テーブル更新処理のフローチャートである。
【０１３０】
まず、転送エンジン制御部１１１０は、冗長制御部１１３０から系切替通知を受信したか否かを判定する（Ｓ４０１）。
【０１３１】
Ｓ４０１の処理で、系切替通知を受信していないと判定された場合（ステップＳ４０１：Ｎｏ）、転送エンジン制御部１１１０は、Ｓ４０１の処理を再度実行する。
【０１３２】
一方、Ｓ４０１の処理で系切替通知を受信したと判定された場合（Ｓ４０１：Ｙｅｓ）、転送エンジン制御部１１１０は、機能実行カードＩＤと機能実行部ＩＤとの関連付けを参照し、受信した系切替通知に含まれる障害中機能実行カードＩＤに対応する機能実行部ＩＤを抽出する（Ｓ４０２）。具体的には、転送エンジン制御部１１１０は、省電力・冗長管理テーブル１１５０の機能実行カードＩＤ１１５１に障害中機能実行カードＩＤが登録されたレコードの機能実行部ＩＤ１１５２に登録された機能実行部ＩＤを抽出する。
【０１３３】
次に、転送エンジン制御部１１１０は、機能実行部ＩＤと機能実行部のＩＰアドレスとの関連付けを参照し、Ｓ４０２の処理で抽出した機能実行部ＩＤによって識別される機能実行部のＩＰアドレスを抽出する（Ｓ４０３）。具体的には、転送エンジン制御部１１１０は、機能実行部ＩＰアドレス管理テーブル１１６０の機能実行部ＩＤ１１６１にＳ４０２で抽出した機能実行部ＩＤが登録されたレコードのＩＰアドレス１１６２に登録されたＩＰアドレスを抽出する。
【０１３４】
次に、転送エンジン制御部１１１０は、パケットの宛先とパケットの出力先との関連付けから、Ｓ４０３で抽出したＩＰアドレスが宛先となる出力先を削除する（Ｓ４０４）。具体的には、転送エンジン制御部１１１０は、転送テーブル２１００の宛先ＩＰアドレス２１０１にＳ４０３で抽出したＩＰアドレスが登録されたレコードのネクストホップ２１０２に登録されたＩＰアドレス及び出力インタフェース２１０３に登録されたポート番号を削除する。
【０１３５】
次に、転送エンジン制御部１１１０は、機能実行カードＩＤと機能実行部ＩＤとの関連付けを参照し、系切替通知に含まれる新運用系機能実行カードＩＤに対応する機能実行部ＩＤを抽出する（Ｓ４０５）。具体的な処理は、Ｓ４０２の処理と同じなので、説明を省略する。
【０１３６】
次に、転送エンジン制御部１１１０は、機能実行部ＩＤと機能実行部のＩＰアドレスとの関連付けを参照し、Ｓ４０５の処理で抽出した機能実行部ＩＤによって識別される機能実行部のＩＰアドレスを抽出する（Ｓ４０６）。具体的な処理は、Ｓ４０３の処理と同じなので、説明を省略する。
【０１３７】
次に、転送エンジン制御部１１１０は、機能実行カードＩＤと、機能実行カードのＩＰアドレスと、転送先のポート番号との関連付けを参照し、系切替通知に含まれる新運用系機能実行カードＩＤに対応する機能実行カードのＩＰアドレス及び転送先のポート番号を抽出する（Ｓ４０７）。具体的には、転送エンジン制御部１１１０は、転送エンジン管理テーブル１１２０の機能実行カードＩＤ１１２１に新運用系機能実行カードＩＤが登録されたレコードの主信号Ｉ／Ｆ  ＩＰアドレス１１２２に登録されたＩＰアドレス、及び当該レコードのポート番号１１２３に登録されたポート番号を抽出する。
【０１３８】
次に、転送エンジン制御部１１１０は、障害機能実行カードで動作していた機能実行部の転送先が新運用系機能実行カードとなるように、転送テーブル２１００を更新し（Ｓ４０８）、処理を終了する。具体的には、転送エンジン制御部１１１０は、転送テーブル２１００の宛先ＩＰアドレス２１０１にＳ４０６で抽出したＩＰアドレスが登録されたレコードの主信号Ｉ／Ｆ  ＩＰアドレス１１２２にＳ４０７で抽出したＩＰアドレスを登録し、当該レコードのポート番号１１２３にＳ４０７で抽出したポート番号を登録する。
【０１３９】
以上によって、新運用系機能実行カードで待機系として動作していた機能実行部が運用系として動作することとなった場合、転送テーブル２１００を当該機能実行部の転送先を障害中機能実行カードから新運用系機能実行カードに変更するので、当該機能実行部宛てのパケットを新運用系機能実行カードに転送できる。
【０１４０】
次に、機能実行カードのコア割付部が冗長制御部１１３０から状態変化通知を受信した場合の処理について説明する。
【０１４１】
まず、コア割付部は、状態変化通知を受信した場合、状態変化通知に含まれる機能実行部ＩＤに対応する状態を、状態変化通知に含まれる状態に変更する。具体的には、コア割付部は、機能実行部管理テーブルの機能実行部ＩＤ３１３１に状態変化通知に含まれる機能実行部ＩＤが登録されたレコードの状態３１３２を、状態変化通知に含まれる状態に変更する。
【０１４２】
次に、コア割付部は、状態変化通知に含まれる機能実行部ＩＤに対応するコア割付マスクを、状態変化通知に含まれるコア割付マスクに変更する。具体的には、コア割付部は、機能実行部管理テーブルの機能実行部ＩＤ１３１に状態変化通知に含まれる機能実行部ＩＤが登録されたレコードのコア割付マスク３１３４を、状態変化通知に含まれるコア割付マスクに変更する。
【０１４３】
次に、コア割付部は、機能実行部ＩＤと機能実行部のＩＰアドレスとの関連付けを参照し、状態変化通知に含まれる機能実行部ＩＤによって識別される機能実行部のＩＰアドレスを当該機能実行部に設定し、処理を終了する。具体的には、コア割付部は、機能実行部管理テーブルの機能実行部ＩＤ３１３１に状態変化通知に含まれる機能実行部ＩＤが登録されたレコードのＩＰアドレスを取得し、当該ＩＰアドレスを機能実行部ＩＤによって識別される機能実行部に設定する。
【０１４４】
以上によって、機能実行カード３０００−３で機能実行部Ａ３１１０−３及び機能実行部３１２０−３が待機系として動作する。これによって、運用系の機能実行カードと同数の待機系の機能実行カードを用意することがなくなり、機能実行カードを冗長化しながら、消費電力を低減することができる。
【０１４５】
また、機能実行カード３０００−３で機能実行部Ａ３１１０−３及び機能実行部Ｂ３１２０−１が待機系として動作している場合、機能実行カード３０００−４には電源が供給されない。これによって、機能実行カードの消費電力を低減できる。
【０１４６】
また、例えば、機能実行カード３０００−１に障害が発生した場合、機能実行カード３０００−３で待機系として動作していた機能実行部Ａ３１１０−３を運用系として動作させる。これによって、冗長化された機能実行部間で障害が発生したことに基づいて運用系と待機系を切り替えることができる。
【０１４７】
また、機能実行カード３０００−３で待機系として動作していた機能実行部Ａ３１１０−３を運用系として動作させる場合に、機能実行カード３０００−１の機能実行部Ａ３１１０−１に割り当てられていたプロセッサコアの数と同数のプロセッサコアを割り当てる。これによって、機能実行カード３０００−１で動作していた機能実行部Ａ３１１０−１の処理性能を機能実行カード３０００−３でも担保できる。
【０１４８】
また、機能実行カード３０００−１の機能実行部Ａ３１１０−１宛のパケットの転送先を機能実行カード３０００−３に変更するように、転送テーブル２１００を更新する。これによって、パケットが障害が発生した機能実行カードに転送されることを防止できる。
【実施例２】
【０１４９】
実施例２について、図２６を用いて説明する。本実施例では、機能実行部は、ＶＭ（仮想マシン）上で動作し、制御系の処理を実行するＣＰ（コントロールプレーン）と、当該ＶＭの外部で動作し、高速な処理が必要される転送系の処理を実行するＤＰ（データプレーン）とが連携することによって実装される点が実施例１と異なる。
【０１５０】
図１４は、実施例２の機能実行カード３０００−１の説明図である。図１４では、実施例１の図６に示す機能実行カード３０００−１と同じ構成は、同じ符号を付与し、説明を省略する。
【０１５１】
機能実行カード３０００−１のメモリ３１００−１は、仮想マシン（ＶＭ）９１１０−１、ＤＰ−機能実行部Ａ９１２０−１、機能実行部管理テーブル３１３０−１、及びＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）９１６０−１、及びハイパーバイザ９１７０−１を有する。
【０１５２】
ハイパーバイザ９１７０−１は、ネットワーク装置１００を仮想化し、複数の異なるＯＳを並列に実行可能に制御する制御プログラムである。機能実行カード３０００−１では、ハイパーバイザ９１７０−１の機能によって、ＯＳ９１６０−１とＶＭ９１１０−１上で動作するＯＳ９１１１−１とが並列して動作する。
【０１５３】
ＶＭ９１１０−１上では、ＯＳ９１１１−１が動作し、ＯＳ９１１１−１はＣＰ−機能実行部Ａ９１１２−１を提供する。ＣＰ−機能実行部Ａ９１１２−１とＤＰ−機能実行部Ａ９１２０−１とが連携して実施例１の機能実行部Ａ３１１０−１の機能を実現する。ＣＰ−機能実行部Ａ９１１２−１は、機能実行カード３０００−１が受信したパケットに対して、機能実行部Ａ３１１０−１の機能のうち制御系の処理を実行し、転送エンジン２０００に送信する。また、ＣＰ−機能実行部Ａ９１１２−１は、機能実行部Ａの機能実行部ＩＤと機能実行部Ａが運用系として動作するか待機系として動作するかの情報との関連付けを機能実行部管理テーブル３１３０−１に登録する。また、ＣＰ−機能実行部Ａ９１１２−１は、機能実行部Ａ３１１０−１の機能実行部ＩＤと機能実行部Ａ３１１０−１のＩＰアドレスとの関連付けを機能実行部管理テーブル３１３０−１に登録する。
【０１５４】
ＤＰ−機能実行部Ａ９１２０−１は、機能実行カード３０００−１が受信したパケットに対して、機能実行部Ａ３１１０−１の機能のうち転送系の処理を実行し、転送エンジン２０００に送信する。
【０１５５】
ＯＳ９１６０−１は、コア割付部３１５０−１を有する。コア割付部３１５０−１は、機能実行部Ａ３１１０−１の機能実行カードＩＤと機能実行部Ａ３１１０−１のコア割付マスクとの関連付けを機能実行部管理テーブル３１３０−１に登録する。
【０１５６】
機能実行カード３０００−２では機能実行部Ｂ３１２０−２が動作するため、ＶＭ上で稼働するＯＳがＣＰ−機能実行部Ｂを提供する。また、当該ＯＳの外部でＤＰ−機能実行部Ｂが稼働する。機能実行カード３０００−２のその他の点は機能実行カード３０００−１と同一であるので説明を省略する。
【０１５７】
機能実行カード３０００−３では、機能実行部Ａ３１１０−３及び機能実行部Ｂ３１２０−３が動作する。このため、二つのＶＭがメモリ３１００−３上に構築され、一つ目のＶＭ上で稼働するＯＳがＣＰ−機能実行部Ａを提供し、二つ目のＶＭ上で稼働するＣＰ−機能実行部Ｂを提供する。また、これらのＯＳの外部でＤＰ−機能実行部Ａ及びＤＰ−機能実行部Ｂが稼働する。機能実行カード３０００−３のその他の点は機能実行カード３０００−１と同一であるので説明を省略する。
【０１５８】
機能実行カード３０００−４は、実施例１と同じく電源が供給されないため、メモリ３１００−４は何も記憶していない。
【０１５９】
このように、機能実行カードにおいて、機能実行部の機能がＣＰ−機能実行部とＤＰ−機能実行部とが連携することによって実現される場合であっても、実施例１と同じ処理で機能実行カードの省電力化及び機能実行部の冗長化を図ることができる。
【０１６０】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることも可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【０１６１】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Solid State Drive）等の記録装置、又は、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【０１６２】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない、実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１６３】
１００    ネットワーク装置
１０００    基本制御部
２０００    転送エンジン
２１００    転送テーブル
３０００−１〜３０００−４    機能実行カード
７０００−１及び７０００−２    ラインカード
【図１】
2015142158.tif 000003
【図２】
2015142158.tif 000004
【図３】
2015142158.tif 000005
【図４】
2015142158.tif 000006
【図５】
2015142158.tif 000007
【図６】
2015142158.tif 000008
【図７】
2015142158.tif 000009
【図８】
2015142158.tif 000010
【図９】
2015142158.tif 000011
【図１０】
2015142158.tif 000012
【図１１】
2015142158.tif 000013
【図１２】
2015142158.tif 000014
【図１３】
2015142158.tif 000015
【図１４】
2015142158.tif 000016