(57)【特許請求の範囲】
【請求項１】
データを送受信する通信装置であって、
部分再構成が可能な論理回路と、
前記論理回路の回路構成を管理する管理部とを有し、
前記論理回路は、
前記論理回路の部分再構成が可能な領域上にあって、受信したデータに所定の処理を実行する複数のモジュールと、
前記受信したデータに基づいて、前記複数のモジュールの中から前記受信したデータの振分先となるモジュールを決定し、前記受信したデータを前記決定したモジュールに振り分けるデータ振分部と、を有し、
前記管理部は、
前記データ振分部がデータの振分先に決定したモジュールに該データを送るための、前記複数のモジュールとそれぞれ結合可能な複数の接続インタフェースを、前記論理回路上の所定の位置に固定的に配置し、
前記論理回路の部分再構成が可能な領域上に、前記複数の接続インタフェースのいずれかと結合するように前記モジュールを作成し、
前記論理回路の部分再構成が可能な領域上に、新たなモジュールを配置可能な空き領域がないとき、
前記論理回路の部分再構成が可能な領域において、既存のモジュールを他の位置に退避させることにより、前記新たなモジュールを配置可能な空き領域を確保し、
前記新たなモジュールを前記空き領域に作成する、
通信装置において、
前記管理部が、前記既存のモジュールである第１モジュールを他の位置へ退避させるとき、前記空き領域に前記第１モジュールと同じ機能の第２モジュールを作成し、
前記データ振分部は、前記第１モジュールへ送るデータを前記第２モジュールへも送り、
前記管理部が、前記第１モジュールおよび前記第２モジュールから前記処理を実行した処理結果を取得し、
前記データ振分部が、前記第１モジュールの処理結果と前記第２モジュールの処理結果に基づき、前記第２モジュールの処理が前記第１モジュールの処理と同期したことを確認し、
前記データ振分部が、前記第１モジュールへ前記データを送るのを止める、
通信装置。
【請求項２】
請求項１に記載の通信装置と、
前記通信装置を管理するネットワーク管理装置と、を有し、
前記論理回路の部分再構成が可能な領域上に、新たなモジュールを配置可能な空き領域がないとき、
前記ネットワーク管理装置は、前記空き領域に前記第２モジュールを配置できることを確認して、前記第２モジュールを前記空き領域に配置する回路構成情報を前記通信装置に通知し、
前記通信装置は、通知された前記回路構成情報に基づいて前記空き領域に前記第２モジュールを作成して、配置変更完了を前記ネットワーク管理装置に通知し、
前記ネットワーク管理装置は、前記空き領域に前記新たなモジュールを配置できることを確認して、前記新たなモジュールを前記空き領域に配置する回路構成情報を前記通信装置に通知し、
前記通信装置は、通知された前記回路構成情報に基づいて前記空き領域に前記新たなモジュールを作成して、回路追加完了を前記ネットワーク管理装置に通知する、
通信システム。
【請求項３】
請求項２に記載の通信システムにおいて、
前記ネットワーク管理装置は、
前記空き領域に前記第２モジュールを配置できるか否か判定し、
前記空き領域に前記第２モジュールを配置できないのであればその旨を保守者端末に通知し、
前記空き領域に前記第２モジュールを配置できるのであればその旨を前記保守者端末に通知して、前記第２モジュールを前記空き領域に配置する回路構成情報を前記通信装置に通知し、
前記通信装置から前記配置変更完了を通知されると、前記空き領域に前記新たなモジュールを配置できるか否か判定し、
前記空き領域に前記新たなモジュールを配置できないのであればその旨を前記保守者端末に通知し、
前記空き領域に前記新たなモジュールを配置できるのであればその旨を前記保守者端末に通知して、前記新たなモジュールを前記空き領域に配置する回路構成情報を前記通信装置に通知する、
通信システム。
【請求項４】
通信装置が、部分再構成が可能な論理回路と、前記論理回路の回路構成を管理する管理部とを有し、前記論理回路が、前記論理回路の部分再構成が可能な領域上にあって、受信したデータに所定の処理を実行する複数のモジュールと、前記受信したデータに基づいて、前記複数のモジュールの中から前記受信したデータの振分先となるモジュールを決定し、前記受信したデータを前記決定したモジュールに振り分けるデータ振分部と、を有する前記通信装置における回路構成制御方法であって、
前記管理部が、
前記データ振分部がデータの振分先に決定したモジュールに該データを送るための、前記複数のモジュールとそれぞれ結合可能な複数の接続インタフェースを、前記論理回路上の所定の位置に固定的に配置し、
前記論理回路の部分再構成が可能な領域上に、前記複数の接続インタフェースのいずれかと結合するように前記モジュールを作成し、
前記論理回路の部分再構成が可能な領域上に、新たなモジュールを配置可能な空き領域がないとき、
前記論理回路の部分再構成が可能な領域において、既存のモジュールを他の位置に退避させることにより、前記新たなモジュールを配置可能な空き領域を確保し、
前記新たなモジュールを前記空き領域に作成する、
回路構成制御方法において、
前記管理部が、前記既存のモジュールである第１モジュールを他の位置へ退避させるとき、前記空き領域に前記第１モジュールと同じ機能の第２モジュールを作成し、
前記データ振分部は、前記第１モジュールへ送るデータを前記第２モジュールへも送り、
前記管理部が、前記第１モジュールおよび前記第２モジュールから前記処理を実行した処理結果を取得し、
前記データ振分部が、前記第１モジュールの処理結果と前記第２モジュールの処理結果に基づき、前記第２モジュールの処理が前記第１モジュールの処理と同期したことを確認し、
前記データ振分部が、前記第１モジュールへ前記データを送るのを止める、
回路構成制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路構成を変更可能な論理回路を用いて構成される通信装置に関する。
【背景技術】
【０００２】
近年、クラウドやIｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）の進展により、ネットワークを介して提供されるサービスの多様化が進み、様々なサービスの機器がネットワークに接続されるようになった。従来はサービス毎に専用の通信装置やネットワークが構築されていたが、多様なサービスを統合して収容するために、汎用サーバ上に、より具体的には汎用サーバのＣＰＵ上に、各サービスに対応する処理を実施する仮想化マシンを構築する仮想化技術の検討が進んでいる。
【０００３】
その一方で、事業やサービスの多様化に伴って通信システムにおけるトラヒックは大容量化しており、ＣＰＵのソフトウェア処理性能の限界が懸念されている。そのため、ソフトウェア処理の一部を抽出し、ハードウェアで処理することで高性能化するハードウェアオフロードの検討が進んでいる。
【０００４】
ハードウェアオフロードは、クラウド事業者のデータ検索などで利用が開始されており、今後更に、多様な機能をハードウェア上にオフロードして各機能の処理性能を向上する必要性が出てくることが考えられる。
【０００５】
ハードウェアオフロードを実現するため、消費電力当りの処理性能が高いハードウェアとしてＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）が注目されている。ＦＰＧＡは、そのＦＰＧＡで実現しようとする機能に応じた回路構成情報を記載した回路ファイルを書き込むことにより、全体または一部の回路構成を設定したり変更したりすることができる。ＦＰＧＡに回路ファイルを書き込む作業をコンフィグレーションという。ＦＰＧＡは、製造後にも、購入者や設計者がコンフィグレーションを行うことで回路構成の設定や変更が可能である。例えば、現場で論理回路をプログラミングすることも可能である。
【０００６】
このＦＰＧＡ等のプログラマブルなハードウェアについて、以下の先行技術がある。
【０００７】
特開２０００−２５２８１４号公報（特許文献１）には、プログラマブル論理回路上に再構成すると論理回路上の物理的な形状がそれぞれ異なる複数のハードウェアモジュール（以下単に「モジュール」ともいう）の情報を蓄積手段に格納しておき、部分的書き換えを行なうときには、プログラマブル論理回路中の空き領域の形状に適合するモジュールを優先的に使用する技術が開示されている。空き領域の形状に合ったモジュールを使用することで回路領域を効率よく利用することができる。
【０００８】
特開２０１０−１７１９９４号公報（特許文献２）には、それぞれが論理演算を指示する多ビットのファンクションコードが入力され入力データにより出力データを選択するセレクタを備えた演算コアを備えておき、演算コアにファンクションコードを供給して演算を変更する、論理回路の動的再構成技術が開示されている。
【０００９】
特許文献２に記載の技術では、ファンクションコードにより論理を変更することができるので、ＦＰＧＡのように回路の構成をルックアップテーブル（ＬＵＴ）に記憶するハードウェアによりも再構成に要する時間を短くすることができる。これにより、瞬間瞬間で必要な回路だけを回路インスタンスとしてハードウェア空間に動的に生成することができる。
【００１０】
特許文献２の技術により再構成可能な論理回路を有するデータ処理装置は、装置の使用中にも、緊急性を要する機能に対してハードウェア資源の割り当てを増加したり、緊急性を要しない機能に対するハードウェア資源の割り当てを減らしたりすることが可能である。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２０００−２５２８１４号公報
【特許文献２】特開２０１０−１７１９９４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
上述したように、それぞれ異なるサービスには異なる仕様の通信機能が利用されることがある。多様なサービスを収容する通信装置においてハードウェアオフロードを行う場合、部分再構成が可能な論理回路において、各サービスの通信機能をそれぞれ個別のモジュールによって実現し、通信装置に収容するサービスの通信機能に対応するモジュールをトラフィック量に応じた数だけ設定する。そして、通信装置では、モジュール構成を変更する間も通信処理を継続できることが望ましい。
【００１３】
しかしながら、特許文献１および特許文献２のいずれにおいても、モジュール構成を変更するときに通信処理を継続することはできない。そのため、プログラマブルハードウェアのモジュール構成を変更するときに通信処理が中断される場合がある。
【００１４】
本発明の目的は、部分再構成が可能な論理回路でデータを送受信する通信装置において通信処理を継続しながらモジュールを構成することを可能にする技術を提供することである。
【課題を解決するための手段】
【００１５】
本発明の一態様による通信装置は、データを送受信する通信装置であって、部分再構成が可能な論理回路と、前記論理回路の回路構成を管理する管理部とを有している。前記論理回路は、前記論理回路の部分再構成が可能な領域上にあって、受信したデータに所定の処理を実行する複数のモジュールと、前記受信したデータに基づいて、前記複数のモジュールの中から前記受信したデータの振分先となるモジュールを決定し、前記受信したデータを前記決定したモジュールに振り分けるデータ振分部と、を有している。前記管理部は、前記データ振分部がデータの振分先に決定したモジュールに該データを送るための、前記複数のモジュールとそれぞれ結合可能な複数の接続インタフェースを、前記論理回路上の所定の位置に固定的に配置し、前記論理回路の部分再構成が可能な領域上に、前記複数の接続インタフェースのいずれかと結合するように前記モジュールを作成する。
【発明の効果】
【００１６】
本発明によれば、部分再構成が可能な論理回路でデータを送受信する通信装置において通信処理を継続しながらモジュールを構成することを可能にする。上記以外の課題、構成、及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１７】
【図１】実施例の通信システムの構成図である。
【図２】実施例の通信装置のブロック図である。
【図３】実施例のパケット振分管理テーブルについて説明するための図である。
【図４】実施例のパケット振分処理のフローチャートである。
【図５】実施例のネットワーク管理装置のブロック図である。
【図６Ａ】実施例の部分書替え領域の回路資源を各モジュールに均等に割当てて使用する場合のサービスリソース管理データベースについて説明するための図である。
【図６Ｂ】実施例の部分書替え領域の回路資源を全モジュールで共有して使用する場合のサービスリソース管理データベースについて説明するための図である。
【図７】実施例の通信システムにおける既存モジュールの回路配置変更を伴う新規モジュール追加の例を示すシーケンス図である。
【図８】実施例のモジュールプログラム計算処理のフローチャートである。
【図９Ａ】実施例の通信装置における回路配置変更の例を示すシーケンス図である。
【図９Ｂ】実施例の通信装置における回路追加の例を示すシーケンス図である。
【図１０】実施例の保守者端末におけるモジュールプログラム計算要求画面の例について説明するための図である。
【図１１】実施例の保守者端末におけるモジュールプログラム計算結果通知画面の例について説明するための図である。
【図１２Ａ】実施例の部分書替え可能な回路資源をモジュール単位で分割する場合の保守者端末における回路配置確認画面の例について説明するための図である。
【図１２Ｂ】実施例の部分書替え可能な回路資源をモジュール間で共有する場合の保守者端末における回路配置確認画面の例について説明するための図である。
【図１３】実施例の保守者端末における回路配置変更設定画面の例について説明するための図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施例について、図面を参照して説明する。以下に述べる実施例は本発明の一例であって、本発明を制限するものではない。
【００１９】
＜通信システムの構成例＞
図１は、実施例の通信システムの構成図である。
【００２０】
本実施例による通信システムは、複数の通信装置２−１〜２−２（総称する場合「通信装置２と」記載する）、ネットワーク管理装置１０１、及び、保守者端末１０２を備え、社会インフラ用端末１０５−１、企業ユーザ用端末１０５−２、一般モバイルユーザ用端末１０５−３等の、多様なユーザ端末１０５（総称する場合「ユーザ端末１０５」と記載する）のサービスを収容する。
【００２１】
複数の通信装置２は、通信ネットワーク１０４を構築し、多様なユーザ端末１０５のサービスを収容する。通信ネットワーク１０４上を流れるデータは通信装置２で処理される。
【００２２】
図１では、通信装置２−１は、複数のユーザ端末１０５に接続され、通信ネットワーク１０４を介して通信装置２−２に接続される。通信装置２−２は、データセンタ１０６及びインターネット１０７に接続され、通信ネットワーク１０４を介して通信装置２−１に接続される。なお、通信装置２の数は、図１に示した数に限定されない。また、通信装置２は、エッジ装置（通信装置２−１）やコア装置（通信装置２−２）など異なる役割を持つ場合があるが、本実施例では特に区別をしない。
【００２３】
ネットワーク管理装置１０１は、複数の通信装置２を管理する計算機であって、制御ネットワーク１０３を介して各通信装置２に接続される。保守者端末１０２は、ネットワーク管理装置１０１と接続され、複数の通信装置２の設定の入力を通信事業者等の保守者から受け付け、複数の通信装置２及び通信ネットワーク１０４の状況を保守者に通知する。
【００２４】
＜通信装置の構成例＞
次に、通信装置２について図２を用いて説明する。図２は、実施例の通信装置２のブロック図である。
【００２５】
通信装置２は、データを処理するとともに、他の装置（他の通信装置２、ユーザ端末１０５、データセンタ１０６、あるいはインターネット１０７）とデータを送受信する装置である。図２には、通信装置２は、複数のネットワークインタフェースボード（ＮＩＦ）を搭載する、シェルフ型マルチサービス収容装置の例を示す。
【００２６】
通信装置２は、複数のＮＩＦ２００−１〜２００−Ｋ（Ｋは任意の自然数）（総称する場合「ＮＩＦ２００」と記載する）、スイッチ部２０６、及び装置管理部２０７を有する。
【００２７】
通信装置２は、ＮＩＦ２００を介して他の装置との間でデータを送受信する。ＮＩＦ２００は、スイッチ部２０６に接続され、スイッチ部２０６は、ＮＩＦ２００から受信したデータを送信すべき装置に接続されたＮＩＦ２００に転送する。
【００２８】
装置管理部２０７は、制御ネットワーク１０３を介してネットワーク管理装置１０１に接続され、ネットワーク管理装置１０１との間で制御情報を送受信する。また、装置管理部２０７は、所定のタイミングで、各ＮＩＦ２００及びスイッチ部２０６から各種情報を収集する。
【００２９】
また、装置管理部２０７は、ネットワーク管理装置１０１からの指示に基づいて、各ＮＩＦ２００並びにスイッチ部２０６に対してパラメータを設定し、各ＮＩＦ２００の複数のモジュール２５３−１〜２５３−Ｍ（Ｍは任意の自然数）（総称する場合「モジュール２５３」と記載する）に、モジュール２５３がデータに対して所定の処理を実行するためのプログラムファイル（回路構成情報を記載した回路ファイル）をインストールする。
【００３０】
各ＮＩＦ２００は、インタフェース２０１、論理回路２０２、回路記憶部２０４、及び、ＮＩＦ管理部２０５を備える。
【００３１】
インタフェース２０１は、一般的な通信装置で用いられるインタフェースであり、通信装置２は、インタフェース２０１を介して他の装置（他の通信装置２、ユーザ端末１０５、データセンタ１０６、あるいはインターネット１０７）に接続され、データを送受信する。また、データを受信したＮＩＦ２００と異なる他のＮＩＦ２００から他の装置にデータを出力する場合は、スイッチ部２０６を介して他のＮＩＦ２００のインタフェース２０１からデータを送信する。
【００３２】
回路記憶部２０４は、論理回路２０２にインストールするプログラムファイルを格納する。回路記憶部２０４が格納するプログラムファイルは、共通回路と各モジュール２５３へインストールするデータ処理回路に分けられる。共通回路とは、例えば、パケット振分部２５１、パケット多重部２５２、及び、回路制御部２５４などである。通信装置２は、ネットワーク管理装置１０１からの指示に基づいて、回路記憶部２０４が格納するプログラムファイルを更新する。
【００３３】
ＮＩＦ管理部２０５は、装置管理部２０７からの指示に基づいて、論理回路２０２の回路制御部２５４を制御し、回路記憶部２０４のプログラムファイルを更新する。図示しないメモリにＮＩＦ管理部２０５に対応するプログラムが格納され、ＣＰＵがこれらのプログラムを実行することによってＮＩＦ管理部２０５が実現される。なお、ＮＩＦ管理部２０５の機能は、ＣＰＵがプログラムを実行する以外の方法で実現されてもよく、ＦＰＧＡなどのハードウェアで実現されてもよい。
【００３４】
論理回路２０２は、データに対して所定の処理を実行する回路であり、ＦＰＧＡなどの回路構成が変更可能なハードウェアで実現される。論理回路２０２は、パケット振分部２５１、パケット多重部２５２、Ｍ個のモジュール２５３、及び、回路制御部２５４を有する。
【００３５】
また、パケット振分部２５１の図示しないメモリには、パケット振分管理テーブル３が記憶される。なお、パケット振分管理テーブル３は、論理回路２０２の回路制御部２５４に格納されてもよい。
【００３６】
また、Ｍ個のモジュール２５３は、論理回路２０２における部分再構成が可能な部分書替え領域２０３に構成され、部分書替え領域２０３の範囲の中で回路の再構成が実施される。例えば、１個のモジュール２５３に部分書替え領域２０３の全ての回路資源を割当てても良いし、Ｍ個の各モジュール２５３に部分書替え領域２０３の回路資源を均等に割当てても良い。
【００３７】
また、部分書替え領域２０３は、パケット振分部２５１、パケット多重部２５２、及び、回路制御部２５４などを含む共通回路部分とＭ個のモジュール２５３との接続部分は固定される。すなわち、Ｍ個の各モジュール２５３は、回路を再構成しても、パケット振分部２５１およびパケット多重部２５２と結合するする接続インタフェース、および回路制御部２５４と結合する制御インタフェースなど、共通回路部分との接続部分は同じとする。これにより、Ｍ個の各モジュール２５３が回路を再構成しても、共通回路部分の各処理部（パケット振分部２５１、パケット多重部２５２、及び、回路制御部２５４）は回路を再構成する必要はない。
【００３８】
なお、論理回路２０２が有するパケット振分部２５１、パケット多重部２５２、Ｍ個のモジュール２５３、及び、回路制御部２５４の物理的な回路構成の配置は、図２に限定されない。
【００３９】
パケット振分部２５１は、パケット振分管理テーブル３を参照し、入力されたデータを、当該データのサービス種別に対応するモジュール２５３に振り分ける。パケット振分管理テーブル３には、データのサービス種別と振分先となるモジュール２５３の識別情報とが対応付けて登録される。パケット振分管理テーブル３の詳細は図３で説明する。また、パケット振分部２５１の処理の詳細は図４で説明する。
【００４０】
パケット多重部２５２は、Ｍ個のモジュール２５３から入力されたデータを多重して、到着順にインタフェース２０１に出力する。
【００４１】
モジュール２５３は、部分書替え領域２０３の上に構成され、任意のデータ処理を実行する回路である。ＮＩＦ管理部２０５によって、収容するサービスに応じたデータ処理を実行するためのプログラムがインストールされる。モジュール２５３は、パケット振分部２５１から入力されたデータに対してインストールされたプログラムに対応する処理を実行し、パケット多重部２５２にデータを出力する。
【００４２】
回路制御部２５４は、データが一時的に格納される記憶領域を有し、論理回路２０２が有する各処理部（パケット振分部２５１、パケット多重部２５２、及び、Ｍ個のモジュール２５３）のレジスタ値を保持する。
【００４３】
回路制御部２５４は、論理回路２０２が有する各処理部に制御線を介して接続される。論理回路２０２が有する各処理部は、回路制御部２５４の設定用のレジスタ値を用いて処理を実行し、処理結果を回路制御部２５４の通知用のレジスタ値に格納する。
【００４４】
ＮＩＦ２００が受信するデータは、インタフェース２０１、パケット振分部２５１、モジュール２５３、パケット多重部２５２、及び、インタフェース２０１の順に転送される。データを受信したＮＩＦ２００と異なる他のＮＩＦ２００から他の装置にデータを出力する場合は、さらに、スイッチ部２０６に転送され、スイッチ部２０６を介して他のＮＩＦ２００のインタフェース２０１からデータを送信する。
【００４５】
本実施例の通信装置２の基本構成を以下のように整理することができる。
【００４６】
論理回路２０２には、論理回路２０２の部分再構成が可能な領域上にあって、通信装置２が受信したデータに所定の処理を実行する複数のモジュール２５３と、受信したデータに基づいて、複数のモジュール２５３の中から、その受信したデータの振分先となるモジュール２５３を決定し、そのデータをその決定したモジュール２５３に振り分けるパケト振分部２５１と、を有する。ＮＩＦ管理部２０５は、パケット振分部２５１がデータの振分先に決定したモジュール２５３にそのデータを送るための、複数のモジュールとそれぞれ結合可能な複数の接続インタフェースを、論理回路２０２上の所定の位置に固定的に配置する。そして、ＮＩＦ管理部２０５は、論理回路２０２の部分再構成が可能な領域上に、複数の接続インタフェースのいずれかと結合するようにモジュール２５３を作成する。パケット振分部２５１とモジュール２５３を結合する接続インタフェールが固定されているので、パケット振分部２５１と既存のモジュール２５３の動作に影響を与えないようにモジュール２５３を作成でき、通信処理を継続しながらモジュール２５３を作成することが可能である。
【００４７】
また、論理回路２０２は、複数のモジュール２５３を制御する回路制御部２５４を更に備える。ＮＩＦ管理部２０５は、回路制御部２５４が複数のモジュール２５３のそれぞれを制御するための、複数のモジュール２５３とそれぞれ結合可能な複数の制御インタフェースを、論理回路２０２上の所定の位置に固定的に配置する。そして、ＮＩＦ管理部２０５は、複数の制御インタフェースのいずれかと結合するようにモジュールを作成する。複数のモジュール２５３を回路制御部２５４から制御する構成において、回路制御部２５４とモジュール２５３を結合する制御インタフェースが固定されているので、回路制御部２５４と既存のモジュール２５３の動作に影響を与えないようにモジュール２５３を作成でき、通信処理を継続しながらモジュール２５３を作成することができる。
【００４８】
ここで、本実施例で通信装置２が送受信するデータのフォーマットの一例を説明する。本実施例のデータは、例えば、イーサネット（登録商標）のパケットであるとする。当該パケットは、宛先ＭＡＣアドレス、送信元ＭＡＣアドレス、ＶＬＡＮヘッダ、イーサタイプ値、ペイロード、及びフレームチェックシーケンス（ＦＣＳ）を含む。
【００４９】
宛先ＭＡＣアドレスには、宛先の通信装置２のＭＡＣアドレスが登録され、送信元ＭＡＣアドレスには、送信元の装置（例えば他の通信装置２）のＭＡＣアドレスが設定される。イーサタイプ値には、パケットが運ぶ上位層のプロトコルの識別子が設定される。ＶＬＡＮヘッダには、フローの識別子となるＶＬＡＮ  ＩＤが設定される。フレームチェックシーケンス（ＦＣＳ）には、フレームの誤りを検出するための値が設定される。なお、パケットのペイロードには、ＭＰＬＳ（Ｍｕｌｔｉ−Ｐｒｏｔｏｃｏｌ  Ｌａｂｅｌ  Ｓｗｉｔｃｈｉｎｇ）ヘッダ、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ヘッダ、又は他のプロトコルのヘッダを含んでもよい。また、他のプロトコルのヘッダを含む場合、ＭＰＬＳラベルや宛先ＩＰアドレス等の値をフローの識別子として利用しても良い。
【００５０】
通信装置２が複数のサービスを収容する場合、パケット振分部２５１は、パケットのプロトコル種別やフローの識別子などに基づいてパケットを該当するモジュール２５３に振り分ける。収容するサービスにおけるモジュール２５３のデータ処理としては、例えば、カプセル化、ファイアウォール（ＦＷ）、ポリシングやカラーリング等のトラヒック制御、ＤＰＩ（Ｄｅｅｐ Ｐａｃｋｅｔ Ｉｎｓｐｅｃｔｉｏｎ）等種々の機能のものがある。本実施例では、部分書替え領域２０３の上の回路資源を最適化するように各モジュール２５３に回路資源を割当てる（すなわち、各モジュール２５３の回路を再構成する）ことによって、これらの回路構成が大小異なる多様なサービス機能を収容するようにできる。
【００５１】
＜パケット振分管理テーブルの内容例＞
図３は、実施例のパケット振分管理テーブル３について説明するための図である。
【００５２】
パケット振分管理テーブル３は、パケット振分部２５１が入力されたパケットをモジュール２５３に振り分けるときに参照する。パケット振分管理テーブル３は、利用サービス３０１及び利用モジュールＩＤ３０２を含む。利用サービス３０１には、受信したパケットのサービス種別を識別する種別識別情報が登録され、例えば、種別識別情報としてイーサタイプやポート番号が登録される。利用モジュールＩＤ３０２には、振分先のモジュール２５３の識別情報が登録される。また、パケット振分管理テーブル３は、回路制御部２５４から設定される。
【００５３】
すなわち、ＮＩＦ管理部２０５は、論理回路２０２におけるモジュール２５３の回路構成に基づいて、パケット振分部２５１によるモジュール２５３へのデータの振り分けを行うためのパケット振分管理テーブル３を決定する。パケット振分部２５１は、パケット振分管理テーブル３に基づいて、受信したデータの振分先を決定する。モジュール２５３の回路構成を管理しているＮＩＦ管理部２０５がその回路構成からパケット振分管理テーブル３を作成するので、パケット振分部２５１はそのパケット振分管理テーブル３を用いてデータの振分先を容易に決定することができる。
【００５４】
＜パケット振分処理＞
次に、パケット振分部２５１が実行するパケット振分処理Ｓ４５０について、図４を用いて説明する。図４は、実施例のパケット振分処理を示すフローチャートである。
【００５５】
パケット振分部２５１は、インタフェース２０１からパケットを受信した場合（Ｓ４００）、パケットデータを解析し、サービス種別を判定する（Ｓ４０１）。Ｓ４０１の後、パケット振分部２５１は、パケット振分管理テーブル３を検索し、該当するサービスの利用モジュールＩＤを取得する（Ｓ４０２）。Ｓ４０２の後、パケット振分部２５１は、取得した利用モジュールＩＤ３０２に対応するモジュール２５３にパケットを転送し（Ｓ４０３）、パケット振分処理Ｓ４５０を終了する（Ｓ４０４）。
【００５６】
＜ネットワーク管理装置の構成例＞
図５は、実施例のネットワーク管理装置１０１のブロック図である。
【００５７】
ネットワーク管理装置１０１は、サービスリソース管理データベース５０１、利用者管理データベース５０２、モジュールプログラムデータベース５０３、ＣＰＵ５０７、通信装置制御インタフェース５０８、及び、保守者端末接続インタフェース５０９を備える。
【００５８】
ＣＰＵ５０７は、図示しないメモリに格納されたプログラム等を実行することによって、ネットワーク管理装置１０１の機能を実装する演算装置である。ＣＰＵ５０７は、サービス管理部５０４、モジュールダウンロード部５０５、及び、モジュールプログラム計算部５０６を備える。
【００５９】
サービス管理部５０４は、サービスリソース管理データベース５０１を参照し、通信装置２に設定するサービス種別やモジュール２５３に使用するリソース（回路資源）を管理する。サービスリソース管理データベース５０１の詳細は図６で説明する。また、サービス管理部５０４は、利用者管理データベース５０２を参照し、通信システムに収容する利用者の情報を管理する。
【００６０】
モジュールダウンロード部５０５は、モジュールプログラムデータベース５０３を参照し、通信装置制御インタフェース５０８に接続される制御ネットワーク１０３を介して、通信装置２へモジュール２５３のプログラムデータを転送する。
【００６１】
モジュールプログラム計算部５０６は、保守者端末接続インタフェース５０９を介して接続される保守者端末１０２から計算要求を受信すると、モジュール２５３にインストールするべき回路構成をとり得るプログラムを計算し、モジュールプログラムデータベース５０３にそのプログラムファイルを格納する。モジュールプログラム計算部５０６の処理の詳細は図８で説明する。
【００６２】
通信装置制御インタフェース５０８は、ネットワーク管理装置１０１が通信装置２（２−１〜２−２）と通信するためのインタフェースである。保守者端末接続インタフェース５０９は、ネットワーク管理装置１０１が保守者端末１０２と通信するためのインタフェースである。
【００６３】
＜サービス情報管理データベースの内容例＞
次に、サービスリソース管理データベース５０１について図６Ａ及び図６Ｂを用いて説明する。
【００６４】
図６Ａは、実施例の部分書替え領域２０３の回路資源を各モジュール２５３に均等に割当てて使用する場合のサービスリソース管理データベース５０１を説明するための図である。
【００６５】
サービスリソース管理データベース５０１は、通信装置２（２−１、２−２）を識別する装置ＩＤ６０１と、通信装置２に搭載されているラインカードを識別するラインカードＩＤ（すなわちＮＩＦ２００のＩＤ）６０２と、ラインカードに搭載されているモジュール２５３の数（すなわちＭ、ここではＭが８である例を示す）を保持する全モジュール数６０３と、ラインカードに収容するサービス情報６０４と、各サービスの使用モジュールＩＤ６０５（すなわちサービスで使用するモジュール２５３のＩＤ情報）の情報を保持する。
【００６６】
図６Ａの場合では、部分書替え領域２０３の回路資源を各モジュール２５３に均等に割当てて使用するため、サービスリソース管理データベース５０１で使用するモジュール２５３のＩＤを管理することで、ネットワーク管理装置１０１は、各ラインカードの部分書替え領域２０３における回路資源の使用状況を把握することができる。例えば、サービス情報６０４がＤＰＩである部分においては、使用モジュールＩＤ６０５は４と５を示しており、全モジュール数６０３が８のうちモジュール二つ分のリソース（部分書替え領域２０３における８分の２の回路資源）を使用していることを示す（後述する図１２Ａ参照）。
【００６７】
図６Ｂは、実施例の部分書替え領域２０３の回路資源を全モジュール２５３で共有して使用する場合のサービスリソース管理データベース５０１を説明するための図である。
【００６８】
サービスリソース管理データベース５０１は、通信装置２（２−１、２−２）を識別する装置ＩＤ６１１と、通信装置２に搭載されているラインカードを識別するラインカードＩＤ（すなわちＮＩＦ２００のＩＤ）６１２と、ラインカードに搭載されているモジュール２５３に割り当て可能な全モジュールリソース６１３（すなわち部分書替え領域２０３の回路資源）と、ラインカードに搭載されている各モジュール２５３のモジュールＩＤ６１４と、各モジュールに収容するサービス情報６１５と、各モジュール２５３の使用リソース量６１６と、各モジュールが構成する回路配置情報６１７を保持する。
【００６９】
図６Ｂでは、部分書替え領域２０３の回路資源を全モジュール２５３で共有して使用するため、サービスリソース管理データベース５０１は、各モジュール２５３に割り当てる使用リソース量６１６と、その回路配置情報６１７を管理することで、ネットワーク管理装置１０１は、各ラインカードの部分書替え領域２０３における回路資源の使用状況を把握することができる。例えば、モジュールＩＤ６１４が４であり、サービス情報６１５がＤＰＩである部分においては、使用リソース６１６は２５０，０００、回路配置は配置Ｂを示しており、全モジュールリソース６１３が１，０００，０００のうち２５０，０００分のリソースを、モジュールＩＤ６１４＝４のモジュールが使用していることを示す。また、そのモジュールは、部分書替え領域２０３における配置Ｂの回路資源を使用していることを示す（後述する図１２Ｂ参照）。
【００７０】
本実施例では、ネットワーク管理装置１０１がサービスリソース管理データベース６０１を備え、モジュールプログラム計算部５０６において、ラインカードの論理回路２０２における部分書替え領域２０３の回路資源を最適化できるかどうかを判断することで、回路構成が大小異なる多様なサービス機能を収容するようにできる。
【００７１】
＜通信システムのシーケンス例＞
図７は、実施例の通信システムにおける既存モジュールの回路配置変更を伴う新規モジュール追加の例を示すシーケンス図である。図７では、新しいサービスに対応するためのプログラムファイルを追加する際に、使用中の既存モジュール２５３の回路配置のままではプログラムファイルを作成できない場合において、既存モジュール２５３で提供しているサービスを継続したまま、既存モジュール２５３の回路配置変更を行って部分書替え領域２０３を最適化し、新しいモジュール２５３にプログラムファイルを追加するまでのシーケンスを示す。
【００７２】
はじめに、保守者端末１０２は、新しいサービスに対応するためのプログラムファイルを現在の通信装置２に追加できるかどうか、ネットワーク管理装置１０１にモジュールプログラムの計算を要求する（Ｓ７０１）。保守者端末１０２におけるモジュールプログラム計算要求画面の例は図１０を用いて後述する。
【００７３】
次に、ネットワーク管理装置１０１は、受信した計算要求に従って、後述するモジュールプログラム計算処理（詳細は図８に示す）を実施し（Ｓ７０２）、計算結果を保守者端末１０２に通知する（Ｓ７０３）。ここで、図７では、新しいサービスに対応するためのプログラムファイルを追加する際に、使用中の既存モジュール２５３の回路配置のままではプログラムファイルを作成できない場合を例示している。そのため、ステップＳ７０３では、計算結果は不可であること、すなわち、回路配置できず、プログラムファイルを追加できないことが通知される。
【００７４】
次に、保守者端末１０２は、ネットワーク管理装置１０１から受信した計算結果を確認する（Ｓ７０４）。ステップＳ７０４では、計算結果が不可であること、すなわち、回路配置できず、プログラムファイルを追加できないことが確認される。保守者端末１０２におけるモジュールプログラム計算結果通知画面、回路配置確認画面の各例は図１１、図１２Ａ、及び図１２Ｂを用いて後述する。
【００７５】
次に、保守者端末１０２は、既存モジュール２５３の回路配置の変更を行う前に、既存モジュール２５３の回路を変更先の他のモジュール２５３に配置するためのプログラムファイルを追加できるかどうか、ネットワーク管理装置１０１にモジュールプログラムの計算を要求する（Ｓ７０５）。
【００７６】
次に、ネットワーク管理装置１０１は、受信した計算要求に従って、ステップＳ７０２と同様に、モジュールプログラム計算処理を実施し（Ｓ７０６）、計算結果を保守者端末１０２に通知する（Ｓ７０７）。ステップＳ７０７では、計算結果は可であること、すなわち、回路配置でき、プログラムファイルを追加できることが通知される。ここで、ステップＳ７０７においては、保守者端末１０２が回路の使用状況、すなわち、部分書替え領域２０３の空き回路資源の状況を確認して計算を要求しているため、計算結果は可であることが期待される。しかし、計算結果が不可であった場合は、ステップＳ７０４から再度実施してもよい。
【００７７】
次に、保守者端末１０２は、ネットワーク管理装置１０１から受信した計算結果を確認する（Ｓ７１４）。ステップＳ７１４では、計算結果が可であること、すなわち、回路配置でき、プログラムファイルを追加できることが確認される。
【００７８】
次に、保守者端末１０２は、ネットワーク管理装置１０１に既存モジュール２５３の回路配置の変更を要求する（Ｓ７０８）。保守者端末１０２における回路配置変更設定画面の例は図１３を用いて後述する。
【００７９】
次に、ネットワーク管理装置１０１は、通信装置２に既存モジュール２５３の回路配置変更の指示を入力する（Ｓ７０９）。ステップＳ７０９の指示には、追加インストールするプログラムファイル、すなわち、既存モジュール２５３の回路を変更先の他のモジュール２５３に配置するためのプログラムファイルが含まれる。
【００８０】
次に、通信装置２は、受信した指示に従って、後述する回路配置変更の処理（詳細は図９Ａに示す）を実施し（Ｓ７１０）、配置変更完了をネットワーク管理装置１０１に通知する（Ｓ７１１）。
【００８１】
通信装置２から配置変更完了を受信した後、ネットワーク管理装置１０１は、サービスリソース管理データベース５０１を更新し（Ｓ７１２）、保守者端末１０２に配置変更完了を通知する（Ｓ７１３）。
【００８２】
ここで、保守者端末１０２は、再度、新しいサービスに対応するためのプログラムファイルを現在の通信装置２に追加できるかどうか、ネットワーク管理装置１０１にモジュールプログラムの計算を要求する（Ｓ７１５）。
【００８３】
次に、ネットワーク管理装置１０１は、受信した計算要求に従って、ステップＳ７０２と同様に、モジュールプログラム計算処理を実施し（Ｓ７１６）、計算結果を保守者端末１０２に通知する（Ｓ７１７）。ステップＳ７１７では、計算結果は可であることが通知される。なお、ステップＳ７１７において、計算結果が不可であった場合は、ステップＳ７０４から再度実施してもよいし、あるいは、新しいサービスに要求する処理性能や収容ユーザ端末数を削減し、ステップＳ７１５から再度実施してもよい。
【００８４】
次に、保守者端末１０２は、ネットワーク管理装置１０１に新しいサービスに対応するための新規モジュール２５３の登録を要求する（Ｓ７１８）。
【００８５】
次に、ネットワーク管理装置１０１は、通信装置２に新規モジュール２５３の回路追加の指示を入力する（Ｓ７１９）。ステップＳ７１９の指示には、追加インストールする新規モジュール２５３のプログラムファイルが含まれる。
【００８６】
次に、通信装置２は、受信した指示に従って、後述する回路追加の処理（詳細は図９Ｂに示す）を実施し（Ｓ７２０）、回路追加完了をネットワーク管理装置１０１に通知する（Ｓ７２１）。
【００８７】
通信装置２から回路追加完了を受信した後、ネットワーク管理装置１０１は、サービスリソース管理データベース５０１を更新し（Ｓ７２２）、保守者端末１０２に登録完了を通知する（Ｓ７２３）。
【００８８】
以上説明したように、論理回路２０２の部分再構成が可能な領域上に、新たなモジュール２５３を配置可能な空き領域がないとき、ＮＩＦ管理部２０５は、論理回路２０２の部分再構成が可能な領域において、既存のモジュール２５３を他の位置に退避させることにより、新たなモジュール２５３を配置可能な空き領域を確保し、新たなモジュールをその空き領域に作成する。論理回路２０２上に新たに追加したいモジュール２５３を配置できる空き領域がないとき、既存のモジュール２５３を移動して空き領域を作成するので、論理回路２０２上にモジュール２５３を効率よく配置することができる。
【００８９】
すなわち、本実施例では、前述したように、既存モジュール２５３の回路配置を変更し、ラインカードの論理回路２０２における部分書替え領域２０３の回路資源を最適化することで、必要となる回路構成が大小異なる多様なサービス機能を新たに収容することができる。
【００９０】
＜モジュールプログラム計算処理＞
次に、モジュールプログラム計算部５０６が実行するモジュールプログラム計算処理Ｓ８５０について、図８を用いて説明する。図８は、実施例のモジュールプログラム計算処理のフローチャートである。
【００９１】
モジュールプログラム計算部５０６は、保守者端末１０２からモジュールプログラムの計算要求を受信した場合（Ｓ８００）、サービスリソース管理データベース５０１から該当する装置ＩＤ６０１あるいは６１１およびラインカードＩＤ６０２あるいは６１２が登録済のサービスの使用リソース６１６や回路配置６１７などの情報を取得する（Ｓ８０１）。ステップＳ８０１の後、モジュールプログラム計算部５０６は、計算要求されたモジュールプログラムを未使用の回路資源上に配置できるかどうかを計算し、プログラムファイルを生成する（Ｓ８０２）。
【００９２】
次に、モジュールプログラム計算部５０６は、ステップＳ８０２で計算した結果から、計算要求されたモジュールプログラムを未使用の回路資源上に配置できるか否かを判定する（Ｓ８０３）。ステップＳ８０３の処理で、計算要求されたモジュールプログラムを未使用の回路資源上に配置できると判定された場合（Ｙｅｓ）、モジュールプログラム計算部５０６は、保守者端末１０２に計算結果が可であることを通知し（Ｓ８０４）、ステップＳ８０２の処理で生成したプログラムファイルをモジュールプログラムデータベース５０３に格納する（Ｓ８０５）。そして、ステップＳ８０５の後、モジュールプログラム計算処理Ｓ８５０を終了する（Ｓ８０７）。
【００９３】
上記ステップＳ８０３の処理で、計算要求されたモジュールプログラムを未使用の回路資源上に配置できないと判定された場合（Ｎｏ）、モジュールプログラム計算部５０６は、保守者端末１０２に計算結果が不可であることを通知し（Ｓ８０６）、モジュールプログラム計算処理Ｓ８５０を終了する（Ｓ８０７）。
【００９４】
以上、説明したように本実施例によれば、論理回路２０２の部分再構成が可能な領域上に、新たなモジュール２５３を配置可能な空き領域がないとき、ネットワーク管理装置１０１は、空き領域に、退避させたいモジュール（第１モジュール）２５３と同じ機能のモジュール（第２モジュール）２５３を配置できることを確認して、第２モジュール２５３を空き領域に配置する回路構成情報を通信装置２に通知する。通信装置２は、通知された回路構成情報に基づいて空き領域に第２モジュール２５３を作成して、配置変更完了をネットワーク管理装置１０１に通知する。ネットワーク管理装置１０１は、空き領域に新たなモジュール２５３を配置できることを確認して、新たなモジュール２５３を空き領域に配置する回路構成情報を通信装置２に通知する。、通信装置２は、通知された回路構成情報に基づいて空き領域に新たなモジュール２５３を作成して、回路追加完了をネットワーク管理装置１０１に通知する。通信装置２を管理するネットワーク管理装置１０１を設け、そこから通信装置２の回路構成を制御するので、保守者は通信システム内の通信装置２の回路構成を一元管理することができる。
【００９５】
また、ネットワーク管理装置１０１は、空き領域に第２モジュールを配置できるか否か判定し、配置できないのであればその旨を保守者端末１０２に通知し、配置できるのであればその旨を保守者端末１０２に通知して、第２モジュールを空き領域に配置する回路構成情報を通信装置２に通知する。通信装置２から配置変更完了を通知されると、ネットワーク管理装置１０１は、空き領域に新たなモジュール２５３を配置できるか否か判定する。配置できないのであればその旨を保守者端末１０２に通知し、配置できるのであればその旨を保守者端末１０２に通知して、新たなモジュール２５３を空き領域に配置する回路構成情報を通信装置２に通知する。回路構成を変更する前にそれが可能かどうかを保守者に通知するので、回路構成の変更を保守者が事前に確認できる。
【００９６】
＜回路配置変更のシーケンス例＞
次に、実施例の通信装置２において実施する回路配置変更の処理について、図９Ａを用いて説明する。図９Ａは、実施例の通信装置２における回路配置変更の例を示すシーケンス図である。図９Ａでは、図７のステップＳ７１０の処理において、通信装置２が有する各処理部（装置管理部２０７、ＮＩＦ管理部２０５、回路記憶部２０４、回路制御部２５４、パケット振分部２５１、及び、モジュール２５３（利用中モジュール２５３−Ｐ、退避先モジュール２５３−Ｑ）（Ｐ、Ｑは１〜Ｍの間の任意の自然数））のシーケンスを示す。
【００９７】
はじめに、装置管理部２０７は、ネットワーク管理装置１０１から配置変更指示（既存モジュール２５３の回路を変更先の他のモジュール２５３に配置するためのプログラムファイルを含む）を受信すると、回路記憶部２０４にプログラムファイルを格納し（Ｓ９０１）、ＮＩＦ管理部２０５に配置変更を指示する（Ｓ９０２）。配置変更指示には、例えば、当該ＮＩＦ２００のＩＤ、当該サービス種別、利用中モジュール２５３−ＰのＩＤ、退避先モジュール２５３−Ｑ（回路を再配置するモジュール２５３）のＩＤなどを含む。
【００９８】
次に、ＮＩＦ管理部２０５は、プログラムファイルのインストール開始を回路制御部２５４に通知する（Ｓ９０３）。ここで、回路制御部２５４は、回路構成変更のためのコンフィグレーションによる使用中回路への影響に備え、例えば、退避先モジュール２５３−Ｑと共通回路（パケット振分部２５１、パケット多重部２５２、及び、回路制御部２５４）との接続部分に対して、図示しないリセット入力を実施しても良い。このリセット入力により、コンフィグレーションを行っている途中の回路から、既に使用中である回路へ影響が及ぶのを防止することができる。
【００９９】
次に、ＮＩＦ管理部２０５は、回路記憶部２０４にインストール指示を送信し（Ｓ９０４）、回路記憶部２０４は、退避先モジュール２５３−Ｑにプログラムファイルをインストールする（Ｓ９０５）。
【０１００】
インストールが完了すると、回路記憶部２０４は、ＮＩＦ管理部２０５へインストール完了を通知し（Ｓ９０６）、ＮＩＦ管理部２０５は、回路制御部２５４にインストール完了通知を送信する（Ｓ９０７）。ここで、回路制御部２５４は、前述した図示しないリセット入力を実施している場合はリセット入力を解除し、退避先モジュール２５３−Ｑと共通回路（パケット振分部２５１、パケット多重部２５２、及び、回路制御部２５４）の接続部分を有効化する。
【０１０１】
次に、ＮＩＦ管理部２０５は、回路制御部２５４に利用するモジュール２５３の設定変更を指示する（Ｓ９０８）。ステップＳ９０８では、運用中であるサービスが使用するモジュール２５３を、利用中モジュール２５３−Ｐから退避先モジュール２５３−Ｑに変更する指示となる。
【０１０２】
次に、回路制御部２５４は、利用中モジュール２５３−Ｐに設定していたパラメータ（収容するユーザ端末１０５に対応するフロー情報など）と同じパラメータを退避先モジュール２５３−Ｑに設定する（Ｓ９０９）。ここで、退避先モジュール２５３−Ｑにデータを振分ける準備が完了する。
【０１０３】
次に、回路制御部２５４は、パケット振分部２５１にパケット振分管理テーブル３の更新を指示し（Ｓ９１０）、パケット振分部２５１は、該当する利用サービス３０１の利用モジュールＩＤ３０２の情報を、Ｐ（すなわち、利用中モジュール２５３−Ｐ）からＱ（すなわち、退避先モジュール２５３−Ｑ）に更新する（Ｓ９１１）。ステップＳ９１１以降、パケット振分部２５１は、パケット振分処理Ｓ４５０を実施することで、当該サービスにおけるデータを退避先モジュール２５３−Ｑに振分ける。
【０１０４】
ここで、論理回路２０２が有する各処理部（パケット振分部２５１、パケット多重部２５２、及び、Ｍ個のモジュール２５３）は、処理結果を回路制御部２５４の通知用のレジスタ値に格納することを前述した。例えば、各処理部は、周期的に処理結果を回路制御部２５４の通知用のレジスタ値に格納する場合、パケット振分管理テーブル３を更新したタイミングでは、利用中モジュール２５３−Ｐにも処理結果が残っている場合がある。
【０１０５】
このため、回路制御部２５４は、パケット振分管理テーブル３を更新した後も、利用中モジュール２５３−Ｐと退避先モジュール２５３−Ｑの双方から処理結果を取得する（Ｓ９１２）。
【０１０６】
そして、回路制御部２５４が全モジュールの情報をＮＩＦ管理部２０５に通知し（Ｓ９１３）、ＮＩＦ管理部２０５は、利用中モジュール２５３−Ｐと退避先モジュール２５３−Ｑのモジュール切替えの間の同期が取れていることを確認する（Ｓ９１４）。これにより、１つのデータ処理も断絶させることなく、当該サービスを継続することができる。
【０１０７】
そして、ＮＩＦ管理部２０５は、配置変更の完了を装置管理部２０７に通知し（Ｓ９１５）、装置管理部２０７は、ネットワーク管理装置１０１へ配置変更の完了を通知する。
【０１０８】
なお、本実施例は以下のように変形が可能である。
【０１０９】
ＮＩＦ管理部２０５が、既存の第１モジュール２５３を他の位置へ退避させるとき、まず空き領域に第１モジュールと同じ機能の第２モジュールを作成する。パケット振分部２５１は、第１モジュールへ送るデータを第２モジュールへも並行して送る。ＮＩＦ管理部２０５が、第１モジュール２５３および第２モジュール２５３から処理を実行した処理結果を取得する。パケット振分部２５１が、第１モジュール２５３の処理結果と第２モジュール２５３の処理結果に基づき、第２モジュール２５３の処理が第１モジュール２５３の処理と同期したことを確認する。その確認がされた後、パケット振分部２５１が、第１モジュール２５３へデータを送るのを止める。第２モジュールを作成したら第１モジュールと第２モジュールへ並列にデータを送り、第２モジュールのデータの処理の状態が第１モジュールのそれと同期してから、第１モジュールへのデータ送信を止めるので、データを途絶えさせることなくモジュールの退避を行うことができる。
【０１１０】
＜回路追加のシーケンス例＞
次に、実施例の通信装置２において実施する回路追加の処理について、図９Ｂを用いて説明する。図９Ｂは、実施例の通信装置２における回路追加の例を示すシーケンス図である。図９Ｂでは、図７のＳ７２０の処理において、通信装置２が有する各処理部（装置管理部２０７、ＮＩＦ管理部２０５、回路記憶部２０４、回路制御部２５４、パケット振分部２５１、及び、モジュール２５３（利用中モジュール２５３−Ｐ、追加利用モジュール２５３−Ｒ）（Ｒは１〜Ｍの間の任意の自然数））のシーケンスを示す。
【０１１１】
はじめに、装置管理部２０７は、ネットワーク管理装置１０１から回路追加指示（追加インストールする新規モジュール２５３のプログラムファイルを含む）を受信すると、回路記憶部２０４にプログラムファイルを格納し（Ｓ９３１）、ＮＩＦ管理部２０５に回路追加を指示する（Ｓ９３２）。回路追加指示には、例えば、当該ＮＩＦ２００のＩＤ、当該サービス種別、新規モジュール２５３のＩＤなどを含む。ここで、新規モジュール２５３のＩＤは、当該サービスで配置変更前に使用していた利用中モジュール２５３−Ｐにプログラムファイルを上書きする場合は利用中モジュール２５３−ＰのＩＤ、新たなモジュールを追加して利用する場合は追加利用モジュール２５３−ＲのＩＤとなる。
【０１１２】
次に、ＮＩＦ管理部２０５は、プログラムファイルのインストール開始を回路制御部２５４に通知する（Ｓ９３３）。ここで、回路制御部２５４は、回路構成変更のためのコンフィグレーションによる使用中回路への影響に備え、例えば、新規モジュール２５３（利用中モジュール２５３−Ｐ、あるいは、追加利用モジュール２５３−Ｒ）と共通回路（パケット振分部２５１、パケット多重部２５２、及び、回路制御部２５４）の接続部分に対して、図示しないリセット入力を実施しても良い。
【０１１３】
次に、ＮＩＦ管理部２０５は、回路記憶部２０４にインストール指示を送信し（Ｓ９３４）、回路記憶部２０４は、新規モジュール２５３（利用中モジュール２５３−Ｐ（実線）、あるいは、追加利用モジュール２５３−Ｒ（点線））にプログラムファイルをインストールする（Ｓ９３５）。
【０１１４】
インストールが完了すると、回路記憶部２０４は、ＮＩＦ管理部２０５へインストール完了を通知し（Ｓ９３６）、ＮＩＦ管理部２０５は、回路制御部２５４にインストール完了通知を送信する（Ｓ９３７）。ここで、回路制御部２５４は、前述した図示しないリセット入力を実施している場合はリセット入力を解除し、新規モジュール２５３（利用中モジュール２５３−Ｐ、あるいは、追加利用モジュール２５３−Ｒ）と共通回路（パケット振分部２５１、パケット多重部２５２、及び、回路制御部２５４）の接続部分を有効化する。
【０１１５】
次に、ＮＩＦ管理部２０５は、回路制御部２５４に新規モジュール２５３の設定追加を指示する（Ｓ９３８）。
【０１１６】
次に、回路制御部２５４は、新しいサービスのパラメータを新規モジュール２５３（利用中モジュール２５３−Ｐ、あるいは、追加利用モジュール２５３−Ｒ）に設定する（Ｓ９３９）。ここで、新規モジュール２５３にデータを振分ける準備が完了する。
【０１１７】
次に、回路制御部２５４は、パケット振分部２５１にパケット振分管理テーブル３の更新を指示し（Ｓ９４０）、パケット振分部２５１は、新しい利用サービス３０１を割り当て、利用モジュールＩＤ３０２の情報を、Ｐ（すなわち、利用中モジュール２５３−Ｐ）あるいはＲ（すなわち、追加利用モジュール２５３−Ｒ）に設定する（Ｓ９４１）。Ｓ９４１以降、パケット振分部２５１は、パケット振分処理Ｓ４５０を実施することで、新しいサービスにおけるデータを新規モジュール２５３に振分ける。
【０１１８】
そして、ＮＩＦ管理部２０５は、回路追加の完了を装置管理部２０７に通知し（Ｓ９４２）、装置管理部２０７は、ネットワーク管理装置１０１へ回路追加の完了を通知する。
【０１１９】
＜モジュールプログラム計算要求画面の例＞
次に、保守者端末１０２におけるモジュールプログラム計算要求画面について、図１０を用いて説明する。図１０は、実施例の保守者端末１０２におけるモジュールプログラム計算要求画面の例について説明するための図である。
【０１２０】
画面にはモジュールプログラム計算要求ウィンドウ１００１が開く。モジュールプログラム計算要求ウィンドウ１００１では、モジュールプログラムのインストール先を設定するための、装置ＩＤやラインカードＩＤの情報が表示される。また、プログラムファイルを作成するための計算要求内容として、サービス種別、収容ユーザ端末数、処理性能などの情報が表示される。
【０１２１】
さらに、モジュールプログラム計算要求ウィンドウ１００１には、「上記内容でモジュールプログラムの計算を開始します。開始する場合は「ＯＫ」、内容を修正または開始しない場合は「キャンセル」を押して下さい。」など、保守者端末１０２のオペレーションを促す情報が表示される。例えば、本画面において「ＯＫ」を押すことにより、保守者端末１０２は、図７のＳ７０１の計算要求を開始する。
【０１２２】
＜モジュールプログラム計算結果通知画面の例＞
次に、保守者端末１０２におけるモジュールプログラム計算結果通知画面について、図１１を用いて説明する。図１１は、実施例の保守者端末１０２におけるモジュールプログラム計算結果通知画面の例について説明するための図である。
【０１２３】
画面にはモジュールプログラム計算結果通知ウィンドウ１１０１が開く。モジュールプログラム計算結果通知ウィンドウ１１０１では、モジュールプログラムの計算結果を通知するための、配置可否の情報（プログラムファイルの追加可否の情報）が表示される。また、計算結果の詳細内容として、必要リソース、不足リソース、空きリソース合計などの情報が表示される。
【０１２４】
さらに、モジュールプログラム計算結果通知ウィンドウ１１０１は、計算結果が否であるが使用中の回路の配置を変更することでモジュールプログラムを構成できる可能性がある場合（例えば、図７のＳ７０４）、「使用中モジュールの回路配置を変更することで配置可となる可能性があります。回路配置確認画面にて現在の配置を確認してください。」など、保守者端末１０２の回路配置確認のオペレーションを促す情報が表示される。
【０１２５】
＜回路配置確認画面の例＞
次に、保守者端末１０２における回路配置確認画面について、図１２Ａ、及び、図１２Ｂを用いて説明する。
【０１２６】
図１２Ａは、実施例の部分書替え可能な回路資源をモジュール単位で分割する場合の保守者端末１０２における回路配置確認画面の例について説明するための図である。
【０１２７】
画面には回路配置確認ウィンドウ１２０１が開く。回路配置確認ウィンドウ１２０１では、回路配置の確認先の装置ＩＤ、ラインカードＩＤ、ＦＰＧＡリソースなどの情報が表示される。また、当該ラインカードにおけるサービス収容状況として、各モジュール２５３と収容サービスの対応表などの情報が表示される。
【０１２８】
さらに、回路配置確認ウィンドウ１２０１には、当該ラインカードの論理回路２０２が有する各処理部（パケット振分部２５１、パケット多重部２５２、及び、モジュール２５３）（回路制御部２５４は省略）の回路の配置状況が表示される。ここでは、共通回路（パケット振分部２５１及びパケット多重部２５２）と各モジュール２５３の接続部分については、実線の矢印が接続中であり、点線の矢印が未使用の接続かつ割当て可能であり、実線の直線が未使用の接続かつ割当て不可能であること（他のサービスなどで接続部分周辺の回路資源を使用されている）が示されている。
【０１２９】
図１２Ａは、部分書替え領域２０３の回路資源を各モジュール２５３に均等に割当てて使用する場合の例であり、図６Ａのサービスリソース管理データベース５０１の内容に対応する例を示している。図６Ａでは、サービスリソース管理データベース５０１で使用するモジュール２５３のＩＤを管理することで回路資源の使用状況を把握した。例えば、サービス情報６０４がＤＰＩである部分においては、使用モジュールＩＤ６０５は４と５を示したが、図３に示すパケット振分管理テーブル３で利用モジュールＩＤ３０２：４として管理し、均等に割当てた２モジュール分の回路資源を１つのモジュール２５３として使用する。
【０１３０】
図１２Ｂは、実施例の部分書替え可能な回路資源をモジュール間で共有する場合の保守者端末１０２における回路配置確認画面の例を示す説明図である。
【０１３１】
画面には回路配置確認ウィンドウ１２１１が開く。回路配置確認ウィンドウ１２１１では、図１２Ａの回路配置確認ウィンドウ１２０１と比較し、回路資源の管理が異なるため、回路の配置状況の表示が異なる。
【０１３２】
図１２Ｂは、部分書替え領域２０３の回路資源を全モジュール２５３で共有して使用する場合の例であり、図６Ｂのサービスリソース管理データベース５０１の内容に対応する例を示している。図６Ｂでは、サービスリソース管理データベース５０１で各モジュール２５３に割り当てる使用リソース量６１６と、その回路配置情報６１７を管理することで回路資源の使用状況を把握した。例えば、モジュールＩＤ６１４が４であり、サービス情報６１５がＤＰＩである部分においては、使用リソース６１６は２５０，０００、回路配置は配置Ｂを示したが、図３に示すパケット振分管理テーブル３で利用モジュールＩＤ３０２：４として管理し、全モジュールリソース６１３が１，０００，０００のうち２５０，０００分のリソースを１つのモジュール２５３として使用する。
【０１３３】
＜回路配置変更設定画面の例＞
次に、保守者端末１０２における回路配置変換要求ウィンドウ１３０１について、図１３を用いて説明する。図１３は、実施例の保守者端末１０２における回路配置変更設定画面の例について説明するための図である。
【０１３４】
画面には回路配置変換要求ウィンドウ１３０１が開く。回路配置変換要求ウィンドウ１３０１では、変換前の回路の配置状況、及び、変換後の回路の配置状況が表示される。
【０１３５】
さらに、回路配置変換要求ウィンドウ１３０１には、「上記内容で回路配置の変換を開始します。開始する場合は「ＯＫ」、内容を修正または開始しない場合は「キャンセル」を押して下さい。」など、保守者端末１０２のオペレーションを促す情報が表示される。例えば、本画面において「ＯＫ」を押すことにより、保守者端末１０２は、図７のＳ７０８の配置変更要求を開始する。
【０１３６】
図１３では、図１２Ａの部分書替え領域２０３の回路資源を各モジュール２５３に均等に割当てて使用する場合の例において、モジュール：４として管理していたＤＰＩサービスをモジュール：２に変換する例を示している。これにより、空きリソースが集約されるため、新しいサービスのためのプログラムファイルを配置できるようになる。
【０１３７】
前述のとおり、本実施例によれば、通信装置２は、利用中のサービスの回路資源を、１つのデータ処理も断絶させることなく、使用していたモジュール２５３から他のモジュール２５３に変更することが可能である。また、各モジュール２５３に割当てる回路資源を管理し、サービス毎に異なる回路資源を提供することが可能である。
【０１３８】
従って、本実施例によれば、使用中のサービスに影響を与えず、ＦＰＧＡの回路構成などハードウェア資源を最適化し、多様なサービス機能に対応した大小異なる回路構成を収容することができる通信装置を提供することができる。
【０１３９】
なお、本実施例では、保守者端末１０２を介して保守者自ら回路資源の最適化を実施したが、例えば、ネットワーク管理装置１０１のモジュールプログラム計算部５０６において、回路資源の最適化処理を実行させてもよい。
【０１４０】
また、本実施例では、ネットワーク管理装置１０１のモジュールプログラム計算部５０６においてプログラムファイルを作成したが、例えば、保守者端末１０２を介して保守者自ら作成したプログラムファイルをネットワーク管理装置１０１のモジュールプログラムデータベース５０３に格納させてもよい。
【０１４１】
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されるものではない。
【０１４２】
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１４３】
１００１…モジュールプログラム計算要求ウィンドウ、１０１…ネットワーク管理装置、１０２…保守者端末、１０３…制御ネットワーク、１０４…通信ネットワーク、１０５…ユーザ端末、１０７…インターネット、１１０１…モジュールプログラム計算結果通知ウィンドウ、１２０１…回路配置確認ウィンドウ、１２１１…回路配置確認ウィンドウ、１３０１…回路配置変換要求ウィンドウ、２…通信装置、２０１…インタフェース、２０２…論理回路、２０３…領域、２０４…回路記憶部、２０５…ＮＩＦ管理部、２０６…スイッチ部、２０７…装置管理部、２５１…データ振分部、２５２…パケット多重部、２５３…モジュール、２５４…回路制御部、３…パケット振分管理テーブル、３０１…利用サービス、３０２…利用モジュールＩＤ、４５０…パケット振分処理Ｓ、５０１…サービスリソース管理データベース、５０２…利用者管理データベース、５０３…モジュールプログラムデータベース、５０４…サービス管理部、５０５…モジュールダウンロード部、５０６…モジュールプログラム計算部、５０７…ＣＰＵ、５０８…通信装置制御インタフェース、５０９…保守者端末接続インタフェース、６０１…サービスリソース管理データベース
【図１】
0006522531.tif 000002
【図２】
0006522531.tif 000003
【図３】
0006522531.tif 000004
【図４】
0006522531.tif 000005
【図５】
0006522531.tif 000006
【図６Ａ】
0006522531.tif 000007
【図６Ｂ】
0006522531.tif 000008
【図７】
0006522531.tif 000009
【図８】
0006522531.tif 000010
【図９Ａ】
0006522531.tif 000011
【図９Ｂ】
0006522531.tif 000012
【図１０】
0006522531.tif 000013
【図１１】
0006522531.tif 000014
【図１２Ａ】
0006522531.tif 000015
【図１２Ｂ】
0006522531.tif 000016
【図１３】
0006522531.tif 000017