(57)【特許請求の範囲】
【請求項１】
パケットに対応する処理を記憶するための複数の記憶手段と、
前記複数の記憶手段の少なくとも１つを参照し、受信パケットに対応する処理を検索する第一の手段と、
複数の制御装置のうち、前記第一の手段が所定の条件を検出した記憶手段に対応付けられている制御装置に、前記受信パケットに対応する処理を問い合せる第二の手段と、を備える、通信装置。
【請求項２】
前記第二の手段は、前記第一の手段が制御装置への問い合わせの契機となる条件を検出した記憶手段に対応付けられた制御装置に、前記受信パケットに対応する処理を問合せる、請求項１に記載の通信装置。
【請求項３】
前記第二の手段は、制御装置への問合せを実行する処理が検索された記憶手段に対応する制御装置に、前記受信パケットに対応する処理を問合せる、請求項１または２に記載の通信装置。
【請求項４】
前記第二の手段は、検索した記憶手段に前記受信パケットに対応する処理が存在しない場合に、検索した記憶手段に対応する制御装置に前記受信パケットに対応する処理を問合せる、請求項１または２に記載の通信装置。
【請求項５】
前記複数の制御装置の少なくとも１つから、前記複数の記憶手段の少なくとも１つと該少なくとも１つの制御装置とを対応付ける要求を受信し、該要求に従って該少なくとも１つの記憶手段と該少なくとも１つの制御装置との対応付けを行う第三の手段を備える、請求項１乃至４のいずれか１項に記載の通信装置。
【請求項６】
前記問合せに対する制御装置からの応答について、前記複数の記憶手段のそれぞれに対して設定された該制御装置の権限を参照して、該応答を受け入れるか否かを判定する第四の手段を備える、請求項１乃至５のいずれか１項に記載の通信装置。
【請求項７】
前記第４の手段は、前記複数の制御装置のいずれかから、前記複数の記憶手段のうちの少なくとも１つに対する前記権限の設定要求を受信し、該設定要求を受け入れるか否かを判定する、請求項６に記載の通信装置。
【請求項８】
前記第一の手段は、前記複数の記憶手段を所定の順序で参照する、請求項１乃至７のいずれか１項に記載の通信装置。
【請求項９】
通信装置が、パケットに対応する処理を複数の記憶手段の少なくとも１つに記憶する工程と、
前記複数の記憶手段の少なくとも１つを参照して、受信パケットに対応する処理を検索する工程と、
複数の制御装置のうち、前記検索工程において所定の条件を検出した記憶手段に対応付けられている制御装置に、前記受信パケットに対応する処理を問い合せる工程と、を含む、通信方法。
【請求項１０】
前記検索工程において制御装置への問い合わせの契機となる条件を検出した記憶手段に対応付けられた制御装置に、前記受信パケットに対応する処理を問合せる、請求項９に記載の通信方法。
【請求項１１】
制御装置への問合せを実行する処理が検索された記憶手段に対応する制御装置に、前記受信パケットに対応する処理を問合せる、請求項９または１０に記載の通信方法。
【請求項１２】
検索した記憶手段に前記受信パケットに対応する処理が存在しない場合に、検索した記憶手段に対応する制御装置に前記受信パケットに対応する処理を問合せる、請求項９または１０に記載の通信方法。
【請求項１３】
前記複数の制御装置の少なくとも１つから、前記複数の記憶手段の少なくとも１つと該少なくとも１つの制御装置とを対応付ける要求を受信し、該要求に従って該少なくとも１つの記憶手段と該少なくとも１つの制御装置との対応付けを行う、請求項９乃至１２のいずれか１項に記載の通信方法。
【請求項１４】
前記問合せに対する制御装置からの応答について、前記複数の記憶手段のそれぞれに対して設定された該制御装置の権限を参照して、該応答を受け入れるか否かを判定する工程を含む、請求項９乃至１３のいずれか１項に記載の通信方法。
【請求項１５】
前記複数の制御装置のいずれかから、前記複数の記憶手段のうちの少なくとも１つに対する前記権限の設定要求を受信し、該設定要求を受け入れるか否かを判定する、請求項１４に記載の通信方法。
【請求項１６】
前記複数の記憶手段を所定の順序で参照する、請求項９乃至１５のいずれか１項に記載の通信方法。
【請求項１７】
複数の制御装置と、
通信装置と、を備え、
前記通信装置は、パケットに対応する処理を記憶するための複数の記憶手段と、
前記複数の記憶手段の少なくとも１つを参照し、受信パケットに対応する処理を検索する検索手段と、
前記複数の制御装置のうち、前記第一の手段が所定の条件を検出した記憶手段に対応付けられている制御装置に、前記受信パケットに対応する処理を問い合せる第二の手段と、を有する、通信システム。
【請求項１８】
通信装置に、
パケットに対応する処理を複数の記憶手段に記憶する処理と、
前記複数の記憶手段の少なくとも１つを参照し、受信パケットに対応する処理を検索する処理と、
複数の制御装置のうち、前記検索処理において所定の条件を検出した記憶手段に対応付けられている制御装置に、前記受信パケットに対応する処理を問い合せる処理と、を通信装置に設けられたコンピュータに実行させるプログラム。
【請求項１９】
前記検索処理において制御装置への問い合わせの契機となる条件を検出した記憶手段に対応付けられた制御装置に、前記受信パケットに対応する処理を問合せる、請求項１８に記載のプログラム。
【請求項２０】
前記制御装置への問合せを実行する処理が検索された記憶手段に対応する制御装置に、前記受信パケットに対応する処理を問合せる、請求項１８または１９に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願についての記載）
本発明は、日本国特許出願：特願２０１２−０４２７４２号（２０１２年２月２９日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。本発明は、ネットワークに接続する通信装置、通信方法、通信システムおよびプログラムに関する。
【背景技術】
【０００２】
近年、オープンフロー（OpenFlow）という技術が提案されている。このオープンフローについては、非特許文献１、非特許文献２、また特許文献１、特許文献２に記載されている。オープンフローでは、オープンフロースイッチ（OpenFlow Switch、以下ＯＦＳ）の機能と、それに対する制御装置であるオープンフローコントローラ（OpenFlow Controller、以下ＯＦＣ）との通信方法が規定されている。ＯＦＳとＯＦＣは、セキュアチャネルと呼ばれる制御パスによって接続される。また、ＯＦＳは、単一のＯＦＣによって制御される。
【０００３】
ＯＦＳは、内部にフローテーブルを持つ。フローテーブルには、少なくともパケットのフローを識別するためのヘッダフィールドと、パケットに対する処理の組が、エントリとして登録される。パケットを識別するためのヘッダフィールドは、マッチングルールとも呼ばれる。ヘッダフィールドは複数のタプルから構成され、それぞれにワイルドカードを指定できる。ワイルドカードを指定することにより、集合としてフローの範囲を表すことができる。例えば、あるエントリのヘッダフィールドの送信元ＩＰ（Internet Protocol）アドレスだけを指定しておき、残りのタプルをワイルドカードに設定したとする。このとき、設定したエントリは、指定したＩＰアドレスから送信されるすべてのフローの集合を表すことになる。すなわち、指定したＩＰアドレスから送信されるパケットは、その宛先によらずすべてが設定したエントリに対応する。
【０００４】
また、パケットに対する処理は、アクションとも呼ばれる。アクションには少なくとも、指定ポートへの転送、ＯＦＣへの転送、入力ポートへの折り返し転送、廃棄等がある。
指定ポートへの転送はパケットの次段のスイッチへの転送に用いられる。ＯＦＣへの転送は、主にパケットの処理方法の問い合わせに用いられる。
【０００５】
ＯＦＳは、パケットを受信すると、まずフローテーブルを検索する。受信パケットにマッチするエントリが存在する場合には、マッチしたエントリのアクションに従ってパケットを処理する。エントリには優先度を設定することができ、パケットが複数のエントリにマッチする場合には、優先度が最も高いエントリのアクションが適用される。
【０００６】
フローテーブルに受信パケットにマッチするエントリが存在しない場合、ＯＦＳは、ＯＦＣに対して、受信パケットにどのような処理をするかを問い合わせる。その際、ＯＦＳは、セキュアチャネルを介して、パケットの一部または全部をＯＦＣに転送する。処理の問い合わせを受けたＯＦＣは、必要に応じてフローテーブルにエントリを追加し、ＯＦＳに処理方法を通知する。
【０００７】
また、特許文献３および特許文献４には、制御機能を有する制御装置と、転送機能を有し、制御装置によって制御されるスイッチとが設けられるネットワークアーキテクチャが開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１１−０８２８３４号公報
【特許文献２】特開２０１１−１０１２４５号公報
【特許文献３】特開２００６―１３５９７１号公報
【特許文献４】特開２００６−１３５９７５号公報
【非特許文献】
【０００９】
【非特許文献１】Nick  McKeown  ほか７名、OpenFlow:  Enabling  Innovation  in  Campus  Networks、［２０１１年６月２８日検索］、インターネット＜URL：  http://www.openflowswitch.org/documents/openflow-wp-latest.pdf＞
【非特許文献２】OpenFlow  Switch  Specification  Version  1.１.0  (Wire  Protocol  0x01)、２００９年１２月３１日、［２０１２年２月１６日検索］、インターネット＜URL:  http://www.openflowswitch.org/documents/openflow-spec-v1.１.0.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上記の特許文献および非特許文献の全開示内容は、本書に引用をもって繰り込み記載されているものとする。以下の分析は、本発明者によってなされたものである。
非特許文献１、非特許文献２、特許文献１、特許文献２に開示されたオープンフローや、特許文献３や特許文献４に開示されたアーキテクチャは、単一のコントローラによってスイッチの動作が細かく制御されることを前提としたネットワークシステムである。
【００１１】
よって、上記の先行技術文献は、複数のコントローラがある場合に、複数のコントローラによってスイッチを制御する手法を開示していない。
【００１２】
また、非特許文献２には、コントローラから設定された指示を記憶する複数のテーブルを有するスイッチが開示されている。しかし、非特許文献２は、複数のコントローラが存在する場合に、スイッチが有する複数のテーブルと複数のコントローラとの対応関係を制御する手法を開示していない。
【課題を解決するための手段】
【００１３】
本発明の第１の視点に係る通信装置は、パケットに対応する処理を記憶するための複数の記憶手段と、前記複数の記憶手段の少なくとも１つを参照し、受信パケットに対応する処理を検索する第一の手段と、複数の制御装置のうち、前記第一の手段が所定の条件を検出した記憶手段に対応付けられている制御装置に、前記受信パケットに対応する処理を問い合せる第二の手段とを備える。
【００１４】
本発明の第２の視点に係る通信方法は、パケットに対応する処理を複数の記憶手段の少なくとも１つに記憶する工程と、前記複数の記憶手段の少なくとも１つを参照して、受信パケットに対応する処理を検索する工程、複数の制御装置のうち、前記検索工程において所定の条件を検出した記憶手段に対応付けられている制御装置に、前記受信パケットに対応する処理を問い合せる工程と、を含む。
【００１５】
本発明の第３の視点に係る通信システムは、複数の制御装置と、通信装置と、を備え、前記通信装置は、パケットに対応する処理を記憶するための複数の記憶手段と、前記複数の記憶手段の少なくとも１つを参照し、受信パケットに対応する処理を検索する第一の手段と、前記複数の制御装置のうち、前記第一の手段が所定の条件を検出した記憶手段に対応付けられている制御装置に、前記受信パケットに対応する処理を問い合せる第二の手段と、を有する。
【００１６】
本発明によると、パケットに対応する処理を記憶するための複数の記憶手段と、前記複数の記憶手段の少なくとも１つを参照し、受信パケットに対応する処理を検索する第一の手段と、複数の制御装置のうち、前記第一の手段が所定の条件を検出した記憶手段に対応付けられている制御装置に、前記受信パケットに対応する処理を問い合せる第二の手段と、を備えるパケット転送装置が提供される。
【００１７】
本発明の第４の視点に係るプログラムは、パケットに対応する処理を複数の記憶手段に記憶する処理と、前記複数の記憶手段の少なくとも１つを参照し、受信パケットに対応する処理を検索する処理と、複数の制御装置のうち、前記検索処理において所定の条件を検出した記憶手段に対応付けられている制御装置に、前記受信パケットに対応する処理を問い合せる処理と、を通信装置に設けられたコンピュータに実行させる。
なお、プログラムは、非一時的なコンピュータ可読記録媒体（non-transitory computer-readable storage medium）に記録されたプログラム製品として提供することができる。
【発明の効果】
【００１８】
本発明によれば、スイッチや通信装置を制御するコントローラまたは制御装置が複数存在する場合であっても、複数のコントローラまたは制御装置によって、スイッチや通信装置を制御することが可能となる。
【図面の簡単な説明】
【００１９】
【図１】第１の実施形態による通信装置の構成例を示す図である。
【図２】第１の実施形態による動作例を示すフローチャートである。
【図３】第２の実施形態による通信システムの構成例を示す図である。
【図４】第２の実施形態によるスイッチの構成例を示す図である。
【図５】第２の実施形態によるスイッチの構成例を示す図である。
【図６】第２の実施形態によるフローテーブルの構成例を示す図である。
【図７】第２の実施形態によるエントリ編集コマンドの例を示す図である。
【図８】第２の実施形態によるスイッチの構成例を示す図である。
【図９】第２の実施形態によるエントリ付加情報の例を示す図である。
【図１０】第２の実施形態による動作例を示すフローチャートである。
【図１１】第２の実施形態による動作例を示すフローチャートである。
【図１２】第２の実施形態による動作例を示すフローチャートである。
【図１３】第２の実施形態による動作例を示すフローチャートである。
【図１４】第３の実施形態によるスイッチの構成例を示す図である。
【図１５】第３の実施形態によるフローテーブルの構成例を示す図である。
【図１６】第３の実施形態による動作例を示すフローチャートである。
【図１７】第４の実施形態によるスイッチの構成例を示す図である。
【図１８】第４の実施形態によるコントローラフローテーブルの構成例を示す図である。
【図１９】第４の実施形態による動作例を示すフローチャートである。
【図２０】第４の実施形態による動作例を示すフローチャートである。
【図２１】第５の実施形態の通信装置の構成例を示す図である。
【図２２】第５の実施形態の動作例を示すフローチャートである。
【図２３】第６の実施形態の動作例を示す図である。
【図２４】第６の実施形態の動作例を示す図である。
【図２５】第７の実施形態の通信装置の構成例を示す図である。
【図２６】第７の実施形態の構成例を示す図である。
【図２７】第７の実施形態の構成例を示す図である。
【図２８】第７の実施形態の構成例を示す図である。
【図２９】第７の実施形態の構成例を示す図である。
【図３０】第７の実施形態の構成例を示す図である。
【図３１】第７の実施形態の動作例を示す図である。
【発明を実施するための形態】
【００２０】
次に、本発明の実施形態について図面を参照して詳細に説明する。
【００２１】
［第１の実施形態］
［構成］
図１は、第１の実施形態による通信装置１０００の構成例を示している。図１によれば、通信装置１０００は、記憶手段１００１と、検索手段１００２と、問い合わせ手段１００３と、を含む。また、通信装置１０００は、図示されていない制御装置と接続しているものとする。さらに、通信装置１０００は、制御装置によって制御されている。
【００２２】
記憶手段１００１は、パケットを識別する情報と、パケットに対する処理とを対応付けて記憶する。
【００２３】
検索手段１００２は、パケットを受信した場合に、受信パケットに対応する処理を記憶手段１００１から検索する。
【００２４】
問い合わせ手段１００３は、検索手段１００２が検索した処理が、制御装置に対する問い合わせであった場合に、以下の動作を行う。問い合わせ手段１００３は、まず、受信パケットに対応する記憶手段１００１のエントリに基づいて、問い合わせを行う制御装置を決定する。続いて、問い合わせ手段１００３は、決定した制御装置を宛先として、問い合わせを行う。
【００２５】
［動作］
以下、図２のフローチャートを用いて第１の実施形態の動作について説明する。
【００２６】
まず、検索手段１００２は、受信パケットに対応する処理を記憶手段１００１から検索する（Ｓ１００１）。
【００２７】
次に、問い合わせ手段１００３は、検索手段１００２が検索した処理が、制御装置に対する問い合わせであった場合に、受信パケットに対応する記憶手段１００１のエントリに基づいて、問い合わせを行う制御装置を決定する（Ｓ１００２）。
【００２８】
続いて、問い合わせ手段１００３は、Ｓ１００２で決定した制御装置を宛先として、問い合わせを行う（Ｓ１００３）。
【００２９】
以上の通り、第１の実施形態では、通信装置１０００が記憶手段１００１、検索手段１００２、問い合わせ手段１００３を有するとして説明した。しかしながら、上記の各手段は、通信装置に限らず、通信端末など、その他の通信機器が備えていても良い。
【００３０】
［効果］
以上説明した通り、第１の実施形態によれば、通信装置は、受信パケットの処理問い合わせ先の制御装置を決定して、問い合わせを行っている。その結果、問い合わせを受けた制御装置は、受信パケットに対する処理を決定することができる。従って、第１の実施形態によれば、通信装置を制御する制御装置が複数存在する場合であっても、受信パケットを制御する制御装置を１つに決定することができるため、複数の制御装置による通信装置の制御が可能となる。
【００３１】
［第２の実施形態］
［構成］
図３は、第２の実施形態における通信システム１の構成例を示す図である。通信システム１は、図示されていないネットワークに接続された複数のコントローラ１１と、複数のスイッチ１２を備えている。図３の例では、コントローラ１１は、コントローラ１１−Ａ、コントローラ１１−Ｂ、コントローラ１１−Ｃ、コントローラ１１−Ｄの４個存在する。以降、特に区別する必要のない限りは、この４個のコントローラをコントローラ１１と呼称する。
【００３２】
スイッチ１２は、制御パスによって複数のコントローラ１１と接続される。コントローラ１１は、コントローラ１１が制御するスイッチ１２と接続され、制御メッセージのやり取りを行う。
【００３３】
図３の例では、スイッチ１２は２個存在し、それぞれがコントローラ１１−Ａとコントローラ１１−Ｂに接続している。また、図３のコントローラ１１−Ｃからコントローラ１１−Ａと、コントローラ１１−Ｄからコントローラ１１−Ｂの２区間は、破線矢印で接続関係が示されている。これは、あるコントローラが、他のコントローラが制御する通信範囲を制限できても良いことを示している。
【００３４】
図４は、スイッチ１２の構成例を示している。図４によれば、スイッチ１２は、制御通信手段１２１と、フローテーブル管理手段１２２と、フロー識別手段１２３と、データ処理手段１２４と、フローテーブル１２５を備える。
【００３５】
制御通信手段１２１は、コントローラ１１と、フローテーブル管理手段１２２と、フロー識別手段１２３と接続される。制御通信手段１２１は、コントローラ１１から制御メッセージを受け取ると、フローテーブル管理手段１２２に制御指示を送る。フローテーブル管理手段１２２が制御結果を返すと、制御通信手段１２１は、必要に応じてコントローラ１１に制御メッセージを送る。
【００３６】
図５は、制御通信手段１２１の構成例を示した図である。図５によれば、制御通信手段１２１は、コントローラ指定処理問い合わせ手段１２１１を備える。
【００３７】
コントローラ指定処理問い合わせ手段１２１１は、パケットの処理内容の問い合わせとコントローラの指定を受け、コントローラへ処理の問い合わせを行う。
【００３８】
フローテーブル管理手段１２２は、フローテーブル１２５に記載された情報を管理する。このフローテーブル管理手段１２２については、後に詳しく説明する。
【００３９】
フロー識別手段１２３は、データ処理手段１２４に到着したパケットの属するフローを識別する。フロー識別手段１２３は、フローテーブル１２５と接続されている。また、フロー識別手段１２３は、識別したフローに対する処理をフローテーブル１２５から検索する。
【００４０】
フローテーブル１２５は、フローの処理内容を記憶する。フローテーブル１２５の構成は、例えば図６のようなものである。フローテーブル１２５のエントリには、少なくとも優先度（Priority）、マッチングルール（Matching Rule）、アクション（Action）が含まれる。優先度のａ、ｋ、ｎ、ｍは自然数であり、大小関係は、ｋ＜ｎ＜ｍ＜ａであるとする。従って、図６の例では、優先度の降順にエントリが並べられている。マッチングルールには、背景技術の項で述べた通り、ＩＰアドレスやＭＡＣ（Media Access Control）アドレス等のタプルが記憶されている。アクションには、マッチングルールに適合したパケットをどのように処理するかが記載されている。
【００４１】
第２の実施形態では、マッチングルールに適合したパケットに対して、コントローラを指定して処理を問い合わせるというアクションを登録することができる。例えば、フローＡに属するパケットに対しては、コントローラＡに処理の問い合わせを行い、フローＣに属するパケットに対しては、コントローラＢに処理の問い合わせを行う。これにより、例えば、スイッチ１２がフローＡに属するパケットを受信した場合には、コントローラＡに処理を問い合わせるので、コントローラＡはフローＡに対する操作権限を得ることになる。なお、アクションとしては、背景技術で述べた処理を登録することも可能である。例えば、フローＢに属するパケットに対しては、指定のポートへ転送するという処理が行われる。
【００４２】
データ処理手段１２４は、スイッチ１２が接続する他のスイッチ等から、パケットを受信する。データ処理手段１２４は、パケットを受信すると、パケットの一部分、全部、またはコピーをフロー識別手段１２３に送信する。フロー識別手段１２３は、フローテーブル１２５のエントリとのマッチングを行うことでフローの識別を行い、アクションを出力する。データ処理手段１２４は、マッチしたエントリのアクションを受信し、パケットの処理を行う。
【００４３】
コントローラ１１が、スイッチ１２のフローテーブル１２５のエントリに操作権限を設定する方法について以下に説明する。コントローラ１１は、フローテーブル１２５のエントリの操作をスイッチ１２に指示する制御メッセージの付加情報として、操作権限情報を記述する。もしくは、コントローラ１１は、制御メッセージとは別に、操作権限を指定する特別なメッセージをスイッチ１２に送信しても良い。
【００４４】
図７は、コントローラ１１からスイッチ１２に送信されるエントリ編集コマンドの一例を示したものである。図７のエントリは、優先度はａ、マッチングルールがフローＡのパケットに対して、アクションとしてコントローラＡに処理を問い合わせることを規定している。コントローラ１１は、スイッチ１２に図７のエントリを送信して、スイッチ１２のフローテーブル１２５に図７のエントリを設定させる。また、「Others:ReadOnly」の項は、図７のエントリの操作権限を示している。操作権限のターゲットは、コントローラＡ、Ｂ等、個別で指定できても良いし、コントローラのグループで指定できても良い。また、権限を指定するコントローラと他のコントローラの関係を利用したマクロで指定できても良い。図７の例では、権限を指定するコントローラ以外のコントローラからは、読み込みのみ許可することを指定している。図７のエントリ編集コマンドは、その操作権限をコントローラＡに与えるものであるので、「Others:ReadOnly」は、コントローラＡ以外のコントローラは読み込みのみ許可されることを示している。
【００４５】
次に、フローテーブル管理手段１２２について説明する。図８に示すように、フローテーブル管理手段１２２は、権限管理・判定手段１２２１と、エントリ付加情報記憶手段１２２２と、フローテーブル操作手段１２２３を備える。
【００４６】
まず、権限管理・判定手段１２２１は、エントリ操作権限管理・判定手段１２２１１とフロー範囲判定手段１２２１２を備える。エントリ操作権限管理・判定手段１２２１１は、制御通信手段１２１、フロー範囲判定手段１２２１２、エントリ付加情報記憶手段１２２２、フローテーブル操作手段１２２３と接続される。また、フロー範囲判定手段１２２１２は、フローテーブル操作手段１２２３と接続される。さらに、エントリ付加情報記憶手段１２２２はフローテーブル操作手段１２２３と接続される。フローテーブル操作手段１２２３は、フローテーブル１２５と接続される。
【００４７】
権限管理・判定手段１２２１は、図７に示したようなコントローラ１１からのエントリの操作要求に対して権限の判定を行い、判定結果に従って処理を行う。
【００４８】
エントリ付加情報記憶手段１２２２には、フローテーブル１２５のエントリに対応する権限情報が記憶されている。権限情報としては、例えば、コントローラごとに一意に定まるパーミッションと、所有者情報（即ち、エントリを設定したコントローラを示す情報）などが含まれる。
【００４９】
エントリ操作権限管理・判定手段１２２１１は、エントリの操作権限を管理するとともに、コントローラ１１からのエントリに対する操作要求に対して操作の可否を判定する。
エントリ操作権限管理・判定手段１２２１１は、フローテーブル１２５のエントリに、制御通信手段１２１を通して操作権限が設定されるとき、エントリ付加情報記憶手段１２２２に操作権限の情報を記憶する。制御通信手段１２１を通してコントローラ１１がエントリを参照・編集するときは、エントリ操作権限管理・判定手段１２２１１は、エントリ付加情報記憶手段１２２２の操作権限情報を参照する。さらに、エントリ操作権限管理・判定手段１２２１１は、エントリの編集がマッチングルールの変更を含むときはフロー範囲判定手段１２２１２に問い合わせ、返された判定結果を含めて、操作の可否を判定する。
【００５０】
フロー範囲判定手段１２２１２は、コントローラ１１がエントリを登録する際に、コントローラ１１による制御の可否を判定する。具体的には、制御を許可されているフロー範囲内に、コントローラ１１が制御を要求する範囲が収まっているかを判定する。例えば、フロー範囲判定手段１２２１２は、マッチングルール（即ちフローの識別条件）の包含関係を参酌して、コントローラ１１による制御可否を判定する。フロー範囲判定手段１２２１２は、例えば、所定の送信元ＩＰアドレスに合致するか否かのみをマッチングルール（送信元ＩＰアドレス以外は任意（ワイルドカード））とするフローは、所定の送信元ＩＰアドレス、所定のＶＬＡＮ（Virtual Local Area Network）タグに合致するか否かをマッチングルールとするフローを包含すると判定する。
【００５１】
許可するフロー範囲は、例えば、そのコントローラに問い合わせるアクションを持つエントリのマッチングルールの和集合とすることが考えられる。また、無効化するフロー範囲は、その他のコントローラに問い合わせるアクションを持つ、許可範囲の根拠になったエントリよりも高い優先度のマッチングルールとすることが考えられる。
【００５２】
図９は、フローテーブル１２５のエントリと、エントリ付加情報記憶手段１２２２に対応して記憶されているエントリ付加情報の一例を示したものである。図９を用いて、フロー範囲判定手段１２２１２で行う判断の一例を示す。まず、フローテーブルの一列目は優先度、二列目はマッチングルール、三列目はアクションを示している。また、エントリ付加情報の一列目はフローテーブル１２５の対応するエントリの操作権限（Permission）、二列目は対応するエントリの所有者（Owner）を示している。図９の例でも、図６と同様に、優先度の降順にエントリが並べられている。図９の例では、コントローラＡは、コントローラＢが通信を制御するフローの範囲を制限するものとする。アクションの列の「コントローラ：Ａ」は、スイッチ１２が、フローＡにマッチするパケットを受信した場合に、コントローラＡに対して処理を問い合わせることを意味する。このとき、コントローラＢが、フローＢというマッチングルールを持つエントリを登録できる条件は、２つある。まず１つは、フローＢが示すフローの範囲が、コントローラＢに問い合わせるアクションを持つコントローラＡのエントリのマッチングルールであるフローＣが示すフロー範囲に包含されることである。２つ目は、エントリの優先度の大小関係が、ａ−ｎ＜ａ−ｋ＜ａとなることである。
【００５３】
［動作］
図１０、図１１、図１２、図１３は、第２の実施形態における、通信システム１の動作を示すフローチャートである。以下、これらのフローチャートを用いて、第２の実施形態の動作について説明する。
【００５４】
図１０は、第２の実施形態において、スイッチ１２がパケットを受信した際の動作を示すフローチャートである。
【００５５】
まず、データ処理手段１２４は、ネットワーク上の図示しない他の通信装置からのパケットを受信する（Ｓ１１）。次に、フロー識別手段１２３は、受信パケットがフローテーブル１２５のエントリのマッチングルールにマッチするか否かを判断する（Ｓ１２）。
【００５６】
受信パケットにマッチするフローテーブル１２５のエントリが存在する場合、フロー識別手段１２３は、マッチしたエントリのアクションが、コントローラ指定の処理問い合わせであるか否かを判断する（Ｓ１３）。
【００５７】
マッチしたエントリのアクションが、コントローラ指定の処理問い合わせであると判断された場合、コントローラ指定処理問い合わせ手段１２１１は、指定されたコントローラに対する処理問い合わせを行う（Ｓ１４）。
【００５８】
コントローラ指定の処理問い合わせではないと判断された場合、データ処理手段１２４は、マッチしたエントリのアクションに従って、パケットを処理する（ステップＳ１６）。データ処理手段１２４は、例えば、受信パケットを他の通信装置に転送したり、受信パケットを破棄したりする。
【００５９】
Ｓ１２でパケットがフローテーブルのエントリのマッチングルールにマッチしないと判断された場合、制御通信手段１２１は、デフォルトとして設定されているコントローラに処理の問い合わせを行う（Ｓ１５）。
【００６０】
図１１および図１２は、スイッチ１２がコントローラ１１からエントリ編集コマンドを受信した際の動作を示すフローチャートである。
【００６１】
まず、制御通信手段１２１は、コントローラ１１からエントリ編集コマンドを受信する（Ｓ２１）。
【００６２】
続いて、フローテーブル管理手段１２２は、受信したコマンドが、フローテーブル１２５にエントリを追加するコマンドであるか否かを判断する（Ｓ２２）。
【００６３】
Ｓ２２において、受信したコマンドが、フローテーブルにエントリを追加するコマンドではないと判断された場合、Ｓ２３の動作が行われる。エントリ操作権限管理・判定手段１２２１１は、エントリ付加情報記憶手段１２２２に記憶されている権限情報を参照する（Ｓ２３）。その後、エントリ操作権限管理・判定手段１２２１１は、コマンドを送信したコントローラに編集対象のエントリへの要求操作が許可されているかを判断する（Ｓ２４）。
【００６４】
Ｓ２２において、エントリ編集コマンドが、フローテーブルにエントリを追加するコマンドであると判断された場合、Ｓ２６の処理を行う。Ｓ２６の処理については後述する。
【００６５】
Ｓ２４で、編集対象のエントリへの要求操作が許可されていると判断された場合、権限管理・判定手段１２２１は、Ｓ２５の処理を行う。権限管理・判定手段１２２１は、エントリ編集コマンドが、エントリの優先度またはマッチングルールを変更するコマンドであるか否かを判断する（Ｓ２５）。
【００６６】
また、Ｓ２４において、エントリ編集コマンドを送信したコントローラに編集対象のエントリへの要求操作が許可されていないと判断された場合、操作コマンドを拒否する（ステップＳ３０）。
【００６７】
Ｓ２５で、エントリの優先度またはマッチングルールを変更するコマンドであると判断された場合、フロー範囲判定手段１２２１２は、Ｓ２６の処理を行う。フロー範囲判定手段１２２１２は、エントリ編集コマンドで要求されている変更後のエントリの優先度やマッチングルールが、要求元のコントローラに許可されている範囲内であるか否かを判断する（Ｓ２６）。
【００６８】
Ｓ２６で、エントリ編集コマンドで要求されている変更後のエントリの優先度やマッチングルールが、コントローラに許可されている範囲内であると判断された場合、エントリ操作権限管理・判定手段１２２１１は、Ｓ２７の処理を行う。エントリ操作権限管理・判定手段１２２１１は、エントリ操作権限指定に新規追加があるか、もしくは変更があるか、または新規追加も変更もないかを判断する（Ｓ２７）。
【００６９】
Ｓ２７で、エントリ操作権限指定に新規追加または変更があると判断された場合、エントリ操作権限管理・判定手段１２２１１は、Ｓ２８の処理を行う。エントリ操作権限管理・判定手段１２２１１において、エントリ付加情報記憶手段１２２２のエントリ操作権限を編集する（ステップＳ２８）。その後、フローテーブル操作手段１２２３が、操作コマンドを実行する（ステップＳ２９）。また、Ｓ２７で、エントリ操作権限指定に新規追加または変更がないと判断された場合には、Ｓ２８の処理を飛ばして、Ｓ２９の処理が行われる。
【００７０】
コントローラ１１は、スイッチ１２の管理等のため、スイッチ１２に対してフローテーブルを参照するコマンドを送信することができる。以下、このコマンドをフローテーブル参照コマンドと呼ぶ。図１３は、スイッチ１２がコントローラ１１からフローテーブル参照コマンドを受信したときの動作を示すフローチャートである。
【００７１】
まず、スイッチ１２は、コントローラ１１から、制御通信手段１２１を介して、フローテーブル参照コマンドを受信する（Ｓ３１）。
【００７２】
次に、エントリ操作権限管理・判定手段１２２１１は、エントリ付加情報記憶手段１２２２に記憶されている権限情報を参照する（Ｓ３２）。
【００７３】
Ｓ３２の後、エントリ操作権限管理・判定手段１２２１１は、コマンド送信元のコントローラに参照権限があるエントリを抽出する（Ｓ３３）。
【００７４】
フローテーブル操作手段１２２３は、Ｓ３３で抽出したエントリをフローテーブル１２５から取得する（Ｓ３４）。
【００７５】
エントリ操作権限管理・判定手段１２２１１において、ステップＳ３２で抽出したエントリに対応するエントリ付加情報を、エントリ付加情報記憶部１２２２から取得する（Ｓ３５）。
【００７６】
次に、エントリ操作権限管理・判定手段１２２１１は、Ｓ３５で取得したエントリ付加情報を複製する（Ｓ３６）。
【００７７】
さらに、エントリ操作権限管理・判定手段１２２１１は、Ｓ３６で複製したエントリ付加情報の中の権限情報を、参照を要求するコントローラが持つ権限に変換する（Ｓ３７）。
【００７８】
最後に、制御通信手段１２１は、Ｓ３４で取得したエントリと、Ｓ３７で変換したエントリ付加情報を、参照を要求するコントローラ１１に送信する（Ｓ３８）。
【００７９】
［効果］
以上説明した通り、第２の実施形態における通信システム１は、フローテーブル１２５のエントリのアクションとして、コントローラ１１のうちいずれかを指定するアクションを用いている。これにより、フロー範囲ごとに、パケットの処理を問い合わせるコントローラを分けることが可能となる。その結果、例えば、ある特定のフローに対して制御するコントローラを１つに定めるような制御が可能になる。
【００８０】
また、スイッチ１２は、エントリごとにコントローラ１１の権限情報を保持して、フローテーブル１２５のエントリに対する操作を制限している。これにより、コントローラ１１が制御可能なフロー範囲を制限している。従って、異なるコントローラによる制御ポリシの意図しない上書きを防ぐことが可能になる。
【００８１】
以上の動作によって、スイッチ１２を、制御範囲と権限範囲を定め、複数のコントローラ１１から直接制御することが可能になる。従って、第２の実施形態によれば、スイッチ１２を制御するコントローラ１１が複数存在する場合であっても、受信パケットを制御するコントローラ１１を１つに決定することができるため、複数のコントローラ１１によるスイッチ１２の制御が可能となる。
【００８２】
［第３の実施形態］
［構成］
以下、本発明の第３の実施形態について説明する。第３の実施形態は、第２の実施形態と比較して、スイッチ１２のフローテーブル管理手段１２２と、フローテーブル１１５が変更されている。従って、以下では、フローテーブル管理手段１２２からの変更点に焦点を当てて説明し、第２の実施形態と同様の構成および動作については説明を省略する。
【００８３】
図１４は、第３の実施形態によるフローテーブル管理手段２２２を示すブロック図である。図１４によれば、フローテーブル管理手段２２２は、権限管理・判定手段２２２１と、フローテーブル操作手段１２２２を備える。権限管理・判定手段２２２１は、エントリ操作権限管理・判定手段２２２１１と、フロー範囲判定手段２２２１２を含む。エントリ操作権限管理・判定手段２２２１１は、制御通信手段１２１と、フロー範囲判定手段２２２１２と、フローテーブル操作手段１２２２と接続されている。
【００８４】
また、第２の実施形態のフローテーブル管理手段１２２と比較すると、エントリ付加情報記憶手段１２２２が削除されている。第３の実施形態では、フローテーブル２２５が、第２の実施形態のエントリ付加情報記憶手段１２２２が記憶していた情報を記憶している。図１５は、第３の実施形態によるフローテーブル２２５の一例を示している。図１５によれば、フローテーブル２２５には、第２の実施形態のフローテーブル１２５が記憶する情報に追加して、権限情報が記憶されている。
【００８５】
［動作］
第３の実施形態によるスイッチ１２では、コントローラ１１からエントリ編集コマンドを受信時の動作において、エントリ付加情報を参照または編集する必要がある場合には、フローテーブル２２５を参照または編集すれば良い。
【００８６】
図１６は、第３の実施形態によるスイッチ１２がフローテーブル参照コマンドを受信した場合の動作を示すフローチャートである。図１６に示す動作は、図１３の第２の実施形態の動作と比べて、Ｓ３４以降の動作に違いがある。なお、その他の第２の実施形態と同様の動作については、それぞれ図１３と同一の符号を付し、詳細な説明を省略する。
【００８７】
エントリ操作権限管理・判定手段２２２１１は、Ｓ３３とＳ３４によって取得されたエントリを複製する（Ｓ２３６）。
【００８８】
続いて、エントリ操作権限管理・判定手段２２２１１は、Ｓ２３６において複製したエントリが持つ権限情報を、参照を要求するコントローラが持つ権限に変換する（Ｓ２３７）。
【００８９】
最後に、制御通信手段１２１は、Ｓ２３７で変換したエントリを、参照を要求するコントローラ１１に通知する（Ｓ２３８）。
【００９０】
［効果］
第３の実施形態における通信システム１は、第２の実施形態の通信システム１と同様の効果を奏する。すなわち、第３の実施形態によるフローテーブル２２５のエントリのアクションとして、コントローラ１１のうちいずれかを指定するアクションを用いている。これにより、フロー範囲ごとに、パケットの処理を問い合わせるコントローラを分けることが可能となる。その結果、例えば、ある特定のフローに対して制御するコントローラを１つに定めるような制御が可能になる。
【００９１】
また、スイッチ１２は、エントリごとにコントローラ１１の権限情報を保持して、フローテーブル２２５のエントリに対する操作を制限している。これにより、コントローラ１１が制御可能なフロー範囲を制限している。従って、異なるコントローラによる制御ポリシの意図しない上書きを防ぐことが可能になる。
【００９２】
以上の動作によって、スイッチ１２を、制御範囲と権限範囲を定め、複数のコントローラ１１から直接制御することが可能になる。従って、第３の実施形態によれば、スイッチ１２を制御するコントローラ１１が複数存在する場合であっても、受信パケットを制御するコントローラ１１を１つに決定することができるため、複数のコントローラ１１によるスイッチ１２の制御が可能となる。
【００９３】
［第４の実施形態］
［構成］
図１７は、第４の実施形態によるスイッチ３２を示している。図１７に示されるように、第４の実施形態によるスイッチ３２は、制御通信手段３２１とフローテーブル管理手段３２２とフローテーブル３２５が、第２の実施形態と異なっている。なお、その他の構成要素は第２の実施形態および第３の実施形態と同様である。また、第２の実施形態と同様の構成要素については、図４、図５、図８と同一の符号を付し、詳細な説明を省略する。
【００９４】
第４の実施形態では、フローテーブル３２５には、コントローラを指定した処理問い合わせをアクションとして登録しなくてもよい。フローテーブル３２５のアクションに、コントローラを指定した処理問い合わせを登録しない場合について、以下に説明する。
【００９５】
第４の実施形態では、制御通信手段３２１は、コントローラ指定処理問い合わせ手段１２１１と、処理問い合わせ先振り分け手段３２１２と、コントローラフローテーブル３２１３を備える。また、第４の実施形態では、第２の実施形態と比べて、フローテーブル管理手段３２２には、処理問い合わせ先管理手段３２２４が追加されている。
【００９６】
以下、第４の実施形態で新たに追加された要素について説明する。まず、処理問い合わせ先振り分け手段３２１２は、コントローラ１１へのパケットの処理内容の問い合わせに対して、どのコントローラに問い合わせるのかを選択する。また、処理問い合わせ先振り分け手段３２１２は、コントローラを指定していない処理問い合わせ指示を、コントローラを指定した処理問い合わせ指示に変換する。
【００９７】
図１８は、コントローラフローテーブル３２１３の一例を示している。図１８によれば、コントローラフローテーブル３２１３は、少なくとも優先度と、マッチングルールと、宛先となるコントローラの識別子をエントリとして持つ。コントローラの識別子は、コントローラに対して一意に定まるものであればどのようなものでも良い。
【００９８】
また、処理問い合わせ先管理手段３２２４は、処理問い合わせ先の振り分け基準を管理し、エントリのアクション部分を変換する。
【００９９】
［動作］
図１９、図２０は、本発明の第４の実施形態におけるスイッチ３２の動作を示すフローチャートである。第２の実施形態と同様の動作については、それぞれ図１０と同一の符号を付し、詳細な説明を省略する。
【０１００】
図１９は、スイッチ３２がパケットを受信した際の動作を示すフローチャートである。
まず、スイッチ３２は、パケットを受信し、フローテーブルのエントリのマッチングルールにマッチするか否かを判断する（Ｓ１１、Ｓ１２）。
【０１０１】
Ｓ１２で、受信パケットがフローテーブルのエントリのマッチングルールにマッチすると判断された場合、フロー識別手段１２３は、マッチしたマッチングルールのエントリのアクションが、コントローラへの処理問い合わせであるか否かを判断する（Ｓ１３）。
【０１０２】
Ｓ１３で、マッチしたエントリのアクションが、コントローラへの処理問い合わせであると判断された場合、Ｓ３１７の処理が行われる。処理問い合わせ先振り分け手段３２１２は、受信パケットの処理を問い合わせるべきコントローラを、コントローラフローテーブル３２１３を参照して検索する（Ｓ３１７）。具体的には、処理問い合わせ先振り分け手段３２１２は、受信パケットがマッチしたマッチングルールに対応するコントローラフローテーブル３２１３のマッチングルールを有するエントリを検索する。処理問い合わせ先振り分け手段３２１２は、検索したエントリの宛先コントローラを、問い合わせ先として取得する。
【０１０３】
次に、処理問い合わせ先振り分け手段３２１２が、宛先を指定しないコントローラへの処理問い合わせを、検索したコントローラを宛先として指定した処理問い合わせに変換する（Ｓ３１８）。
【０１０４】
その後、コントローラ指定処理問い合わせ手段１２１１は、指定されたコントローラに対する処理問い合わせを行う（Ｓ１４）。
【０１０５】
図２０は、スイッチ３２がコントローラ１１から処理問い合わせ先を指定するエントリの登録を指示されたときの動作を示すフローチャートである。第２の実施形態および第３の実施形態では、エントリの登録指示を受けた場合には、そのままフローテーブルに登録していたが、第４の実施形態では、コントローラフローテーブル３２１３への登録も必要となる。
【０１０６】
まず、制御通信手段３２１は、コントローラ１１から、処理の問い合わせ先を指定するエントリの登録指示を受信する（Ｓ３４１）。
【０１０７】
次に、権限管理・判定手段１２２１は、第２の実施形態と同様に、エントリの権限判定を行う（Ｓ３４２）。
【０１０８】
続いて、処理問い合わせ先管理手段３２２４は、コントローラフローテーブル３２１３に、マッチングルールをキー、コントローラの識別子をバリューとするエントリを登録し、エントリに優先度を付ける（Ｓ３４３）。
【０１０９】
さらに、処理問い合わせ先管理手段３２２４は、エントリ登録指示中のアクションを、コントローラを指定しない処理問い合わせに置換する（Ｓ３４４）。
【０１１０】
最後に、フローテーブル操作手段１２２３は、フローテーブル３２５にエントリを登録する（Ｓ３４５）。
【０１１１】
［効果］
第４の実施形態における通信システム１は、第２の実施形態および第３の実施形態の通信システム１と同様の効果を奏する。すなわち、第４の実施形態によるフローテーブル３２５のエントリ中の、コントローラに対する処理問い合わせのアクションに対して、スイッチ３２は、問い合わせの宛先となるコントローラがどれであるかをコントローラフローテーブル３２１３に記憶している。これにより、フロー範囲ごとに、パケットの処理を問い合わせるコントローラを分けることが可能となる。その結果、例えば、ある特定のフローに対して制御するコントローラを１つに定めるような制御が可能になる。
【０１１２】
また、スイッチ３２は、エントリごとにコントローラ１１の権限情報を保持して、フローテーブル３２５のエントリに対する操作を制限している。これにより、コントローラ１１が制御可能なフロー範囲を制限している。従って、異なるコントローラによる制御ポリシの意図しない上書きを防ぐことが可能になる。
【０１１３】
以上の動作によって、スイッチ３２を、制御範囲と権限範囲を定め、複数のコントローラ１１から直接制御することが可能になる。従って、第４の実施形態によれば、スイッチ３２を制御するコントローラ１１が複数存在する場合であっても、受信パケットを制御するコントローラ１１を１つに決定することができるため、複数のコントローラ１１によるスイッチ３２の制御が可能となる。
［第５の実施形態］
［構成］
図２１は、第５の実施形態の通信装置５の構成例を示す。
【０１１４】
通信装置５は、検索手段５０、問合せ手段５１及び複数のテーブル５２を有する。
【０１１５】
通信装置５は、複数のコントローラ１１と通信し、コントローラ１１からの制御に従ってパケットを処理する。
【０１１６】
なお、通信装置５は、モバイル端末、モバイルルータ、サーバ等の通信機能を有する装置、若しくは、ネットワーク上でパケットを転送する装置（スイッチやルータ等）である。なお、モバイルルータは、例えば、携帯電話の３Ｇ回線や無線ＬＡＮのネットワークを中継する端末である。また、通信装置５は、モバイル端末、モバイルルータ、サーバ等にソフトウェアとして実装されてもよい。
【０１１７】
複数のテーブル５２のそれぞれは、コントローラ１１から送信されたエントリを格納する。各エントリは、例えば、パケットを識別するための規則（即ち、パケットが属するフローを識別するための規則）と、その規則に対応するパケットの処理方法とを含む。
【０１１８】
検索手段５０は、複数のテーブル５２の少なくとも１つを検索し、通信装置５が受信したパケットに対応するエントリを検索する。検索手段５０は、例えば、受信パケットのヘッダと、エントリの規則とを照合し、受信パケットに対応するエントリを検索する。検索手段５０は、受信パケットに対応するエントリが検索された場合、検索されたエントリに規定されている処理方法に従って、受信パケットを処理する。検索手段５０は、エントリに従って、例えば、受信パケットを通信装置５の通信ポートに転送する処理、受信パケットのヘッダの書き換え処理、受信パケットの廃棄、他のテーブルの検索等の処理を実行する。
【０１１９】
なお、検索手段５０は、複数のテーブル５２それぞれに対して設けられていてもよい。
【０１２０】
各テーブル５２は、通信装置５を制御する複数のコントローラ１１の少なくとも１つに対応付けられている。例えば、テーブルＡはコントローラＡに対応し、テーブルＢはコントローラＢに対応する。
【０１２１】
問い合わせ手段５１は、複数のコントローラ１１の少なくとも１つと通信する。問い合わせ手段５１は、コントローラ１１と通信することで、テーブル５２に設定するためのエントリの問い合わせ等を行う。
【０１２２】
検索手段５０がテーブル５２を検索した結果、所定の条件を検出した場合、問い合わせ手段５１は、検索手段５０が所定の条件を検出したテーブル５２に対応付けられているコントローラ１１に対して、受信パケットに対応するエントリを問合せる。
【０１２３】
例えば、検索手段５０が受信パケットに対応するエントリを検索し、そのエントリに規定されている処理方法がコントローラへの問い合わせ処理である場合や、受信パケットに対応するエントリが存在しない場合等に、問い合わせ手段５１は、エントリが検索されたテーブル５２に対応付けられているコントローラ１１に対して、受信パケットの処理方法を問合せる。エントリが検索されたテーブル５２に、コントローラＡが対応付けられている場合、問い合わせ手段５１は、コントローラＡに対して、受信パケットの処理方法を問合せる。
［動作］
図２２のフローチャートを参照し、第５の実施形態の動作を説明する。
【０１２４】
検索手段５０は、受信パケットに対応するエントリを、テーブル５２から検索する。検索手段５０は、例えば、識別番号が小さいテーブルから順に検索する（Ｓ５０）。
【０１２５】
検索手段５０が所定の条件を検出した場合（Ｓ５１、Ｙｅｓ）、問い合わせ手段５１は、所定の条件が検索されたテーブル５２に対応付けられているコントローラ１１に、受信パケットの処理方法を問合せる（Ｓ５２）。所定の条件は、例えば、検索手段５０が検索したエントリに規定された処理方法が、コントローラへの問い合わせ処理の場合である。なお、受信パケットに対応するエントリが存在しなかった場合（ミスヒット）、問い合わせ手段５１は、ミスヒットが確認されたテーブル５２に対応するコントローラ１１に問い合わせをしてもよい。
【０１２６】
検索手段５０が受信パケットに対応する処理方法（コントローラへの問い合わせ以外の処理）を検索した場合（即ち、所定の条件が検出されなかった場合）、検索手段５０は検索した処理方法に従って受信パケットを処理する（Ｓ５３）。
［効果］
通信装置５が有する複数のテーブル５２のそれぞれに、少なくとも１つのコントローラ１１が対応付けられている。通信装置５は、受信パケットの処理方法をテーブル５２から検索し、所定の条件が検出されたテーブル５２に対応付けられているコントローラ１１に、受信パケットの処理方法を問合せる。従って、通信装置５は、各テーブル５２とコントローラ１１との対応関係を参照し、複数のコントローラ１１の中から、問い合わせをすべきコントローラ１１を特定することができる。
［第６の実施形態］
第６の実施形態は、第５の実施形態のテーブル５２の構成例を具体的に示す実施形態である。
［構成］
通信装置５の構成は、第５の実施形態と同様なので、詳細な説明は省略する。
［動作］
図２３を参照し、第６の実施形態のテーブル５２の構成例と、通信装置５の動作を説明する。
【０１２７】
通信装置５は、２つのテーブル５２を有する。但し、テーブル５２の数は例示であり、本発明は、図２３の構成例に限定されない。
【０１２８】
テーブル５２のそれぞれのエントリは、図６に示した例と同様に、優先度（Priority）、マッチングルール（Matching Rule）、アクション（Action）が規定されたフィールドを有する。
【０１２９】
各テーブル５２は、テーブルを識別するための識別子（Ｔａｂｌｅ  ＩＤ）が割り振られている。図２３の例では、通信装置５は、Ｔａｂｌｅ  ＩＤが“０”と“１”のテーブル５２を有する（以下、各テーブル５２を、それぞれＴａｂｌｅ（０）、Ｔａｂｌｅ（１）と標記する）。
【０１３０】
各テーブル５２は、複数のコントローラ１１の少なくとも１つと対応付けられている。
例えば、図２３の例では、Ｔａｂｌｅ（０）はコントローラＡに、Ｔａｂｌｅ（１）はコントローラＢに、それぞれ対応付けられているものとする。問い合わせ手段５１は、例えば、複数のコントローラ１１と、各テーブル５２との対応関係の管理表を有し、当該管理表を参照して、各テーブル５２に対応するコントローラ１１に問い合わせを行う。
【０１３１】
例えば、通信装置５は、コントローラ１１からの要求に応じて、当該コントローラ１１とテーブル５２との対応付けを行う。また、例えば、通信装置５は、装置起動等の初期動作時に、予めテーブル５２とコントローラ１１との対応付けを行ってもよい。
【０１３２】
Ｔａｂｌｅ（０）には、Ｆｌｏｗ  Ａに属するパケットはコントローラへの問い合わせ処理を実行することを規定したエントリが規定されている（図２３のＴａｂｌｅ（０）の一つ目のエントリ）。また、Ｔａｂｌｅ（０）には、Ｆｌｏｗ  Ｂに属するパケットについては、“ＧＯＴＯ：１”というアクションが設定されたエントリが規定されている。“ＧＯＴＯ：１”というアクションは、Ｆｌｏｗ  Ｂに属するパケットについて、検索対象のテーブルをＴａｂｌｅ（０）からＴａｂｌｅ（１）に変更することを意味する。例えば、複数のコントローラ１１のうちのいずれかのコントローラ１１が、これらのエントリを、通信装置５の初期設定時などの所定のタイミングで予め設定してもよい。なお、本発明では検索対象のテーブルを変更するアクションを用いて説明したが、実行することにより所定のテーブルで検索を行うアクションであれば、どのようなものでもよい。
【０１３３】
コントローラ１１は、フローの範囲（即ち、フローのマッチングルールで規定される条件の範囲）に応じて、エントリを設定するテーブル５２を選択してもよい。例えば、コントローラ１１は、ＶＬＡＮ  ＩＤや受信パケットを受信したポートの番号（Ｉｎｐｏｒｔ番号）で定められる条件に応じて、エントリを設定するテーブル５２を選択する。コントローラ１１は、例えば、ＶＬＡＮ  ＩＤやＩｎｐｏｒｔ番号が所定の範囲（範囲（ａ）とする）のフローについてはＴａｂｌｅ（０）にエントリを設定し、またＶＬＡＮ  ＩＤやＩｎｐｏｒｔ番号が他の所定の範囲（範囲（ｂ）とする）のフローについてはＴａｂｌｅ（１）にエントリを設定する。なお、フローの範囲の条件は例示であり、上記の例に限定されない。
【０１３４】
Ｔａｂｌｅ（１）には、Ｆｌｏｗ  Ｃに属するパケットに対応する所定のアクション（特定のポートからのパケット転送、ヘッダの書き換え等）が規定されている。
【０１３５】
図２３に示したエントリは例示であり、また、図中に示されたエントリ以外にも他のエントリが設定されていてもよい。
【０１３６】
通信装置５が受信パケット（Ｆｌｏｗ  Ｂに属するパケットであるとする）を受信した場合、検索手段５０は、テーブル５２を検索する。検索手段５０は、例えば、Ｔａｂｌｅ  ＩＤが小さいテーブル５２から順に検索する。検索手段５０は、任意のＴａｂｌｅ  ＩＤのテーブル５２から検索を開始してもよい。図２３の例では、検索手段５０は、Ｔａｂｌｅ（０）から順に検索するものとする。検索手段５０は、例えば、各テーブルのエントリを、降順に検索する。
【０１３７】
検索手段５０は、Ｔａｂｌｅ（０）において、受信パケットに対応するエントリを検索した結果、“ＧＯＴＯ：１”のアクションが規定されたエントリを検出する。検索手段５０は、エントリに従って、検索対象のテーブルを、Ｔａｂｌｅ（０）からＴａｂｌｅ（１）に変更する。
【０１３８】
検索手段５０は、Ｔａｂｌｅ（１）を検索した結果、Ｆｌｏｗ  Ｂに対応するエントリがＴａｂｌｅ（１）に存在しないことを検出する（ミスヒット）。つまり、検索手段５０は、Ｔａｂｌｅ（１）において、ミスヒットという所定の条件を検出する。
【０１３９】
検索手段５０が所定の条件を検出したことにより、問い合わせ手段５１は、Ｔａｂｌｅ（１）に対応するコントローラ１１（例えば、コントローラＢ）に、Ｆｌｏｗ  Ｂに属する受信パケットに対応するエントリを問合せる。
【０１４０】
問い合わせを受けたコントローラ１１（例えば、コントローラＢ）は、所定のテーブル５２に、問い合わせに対応するエントリを設定する。なお、コントローラ１１は、通信装置５の各テーブル５２に対するアクセス権限に基づいて、エントリを設定するテーブル５２を選択してもよい（後述の実施形態で詳細に説明する）。
【０１４１】
図２４を参照し、第６の実施形態のテーブル５２の他の構成例と、通信装置５の他の動作を説明する。なお、図２３の相違点を詳細に説明し、図２３と同様な部分は説明を省略する。
【０１４２】
Ｔａｂｌｅ（０）は、Ｆｌｏｗ  Ｂに対応するエントリを有しない。また、Ｔａｂｌｅ（１）は、Ｆｌｏｗ  Ｂについてコントローラへの問い合わせ処理を規定したエントリを有する。
【０１４３】
Ｔａｂｌｅ（０）を検索した結果、Ｆｌｏｗ  Ｂに対応するエントリがＴａｂｌｅ（０）に存在しないこと（ミスヒット）を検出すると、検索手段５０は、検索対象のテーブルをＴａｂｌｅ（０）からＴａｂｌｅ（１）に変更する。
【０１４４】
検索手段５０は、Ｔａｂｌｅ（１）において、Ｆｌｏｗ  Ｂに対応するエントリを検出する。検出されたエントリは、アクションとしてコントローラへの問い合わせ処理を規定する。つまり、検索手段５０は、Ｔａｂｌｅ（１）において、コントローラへの問い合わせ処理を定めたエントリへのヒットという所定の条件を検出する。
【０１４５】
検索手段５０が所定の条件を検出したことにより、問い合わせ手段５１は、Ｔａｂｌｅ（１）に対応するコントローラ１１（例えば、コントローラＢ）に、Ｆｌｏｗ  Ｂに属する受信パケットに対応するエントリを問合せる。
【０１４６】
問い合わせを受けたコントローラ１１（例えば、コントローラＢ）は、所定のテーブル５２に、問い合わせに対応するエントリを設定する。なお、コントローラ１１は、通信装置５の各テーブル５２に対するアクセス権限に基づいて、エントリを設定するテーブル５２を選択してもよい（後述の実施形態で詳細に説明する）。
［効果］
通信装置５が有する複数のテーブル５２のそれぞれに、少なくとも１つのコントローラ１１が対応付けられている。通信装置５は、受信パケットの処理方法をテーブル５２から検索し、所定の条件が検出されたテーブル５２に対応付けられているコントローラ１１に、受信パケットの処理方法を問合せる。従って、通信装置５は、各テーブル５２とコントローラ１１との対応関係を参照し、複数のコントローラ１１の中から、問い合わせをすべきコントローラ１１を特定することができる。
［第７の実施形態］
［構成］
図２５は、第７の実施形態の通信装置５００の構成例を示す。
【０１４７】
通信装置５００は、テーブル管理手段５３を有する。その他の構成は、上述の実施形態の通信装置５の構成と同様である。
【０１４８】
テーブル管理手段５３は、複数のテーブル５２のそれぞれに関して設定されたコントローラ１１の権限に応じて、テーブル５２を管理する。
【０１４９】
テーブル管理手段５３によるテーブル５２の管理方法は、例えば、以下がある。なお、以下の管理方法は例示であり、テーブル管理手段５３の機能が以下の例に限定されるものではない。
（１）テーブルの参照・操作に関するコントローラ権限の管理
（２）テーブルの参照・操作に関する権限設定の要求の管理
（３）テーブルとコントローラとの対応付け要求の管理
以下、各管理方法について説明する。
（１）テーブルの参照・操作に関するコントローラ権限の管理
図２６は、テーブル管理手段５３が有する、各コントローラ１１の、テーブル５２に対するアクセス権限管理テーブル５３０である。なお、図２６は例示であり、アクセス権限管理テーブル５３０の構成は図２６に限定されない。例えば、アクセス権管理テーブル５３０は、各テーブル５２のエントリ毎に、コントローラの権限を管理してもよい。
【０１５０】
また、テーブル管理手段５３は、アクセス権限管理テーブル５３０を有しなくてもよい。例えば、テーブル管理手段５３は、テーブル５２の各エントリに、コントローラ毎のアクセス権限を追加して、コントローラの権限を管理してもよい。
【０１５１】
テーブル管理手段５３は、アクセス権限管理テーブル５３０を参照し、各コントローラ１１からのテーブル５２に対するアクセス要求を管理する。テーブル管理手段５３は、例えば、コントローラ１１から送信されたアクセス要求に関するコマンドに応じて、コントローラ１１の権限を参照して、コマンドの実行可否を判定する。
【０１５２】
図２６の例では、コントローラＡは、Ｔａｂｌｅ（０）とＴａｂｌｅ（１）の両方に対して、参照及び操作（テーブルの書き換えや変更）を行う権限を有する。コントローラＢは、Ｔａｂｌｅ（１）に対して参照及び操作を行う権限を有するが、Ｔａｂｌｅ（０）に対しては参照のみの権限を有する。
【０１５３】
テーブル管理手段５３は、例えば、コントローラＡから、Ｔａｂｌｅ（０）のエントリを変更する要求を受信した場合、テーブル５３０を参照して、コントローラＡの権限を確認する。テーブル管理手段５３は、Ｔａｂｌｅ（０）に対するコントローラＡの権限は、参照・操作ともに許可されていることを確認し、コントローラＡからの要求を許可する。
【０１５４】
テーブル管理手段５３は、例えば、コントローラＢから、Ｔａｂｌｅ（０）のエントリを変更する要求を受信した場合、テーブル５３０を参照して、コントローラＢの権限を確認する。テーブル管理手段５３は、Ｔａｂｌｅ（０）に対するコントローラＢの権限は、参照のみが許可されていることを確認し、コントローラＢからの要求を拒否する。
（２）テーブルの参照・操作に関する権限設定の要求の管理
コントローラ１１は、通信装置５００に対して、各テーブル５２に対する権限の変更要求を送信する。
【０１５５】
テーブル管理手段５３は、権限の変更要求の受け入れ可否を判定する。
【０１５６】
テーブル管理手段５３は、例えば、変更権限管理テーブル５３１を有し、当該テーブルを参照して、コントローラ１１から送信された権限の変更要求の受け入れ可否を判定する。
【０１５７】
図２７は、変更権限管理テーブル５３１の構成例を示す。なお、図２７は例示であり、変更権限管理テーブル５３１の構成は図２７に限定されない。
【０１５８】
図２７の“Ｃｏｎｔｒｏｌｌｅｒ  ＩＤ”は、権限の変更要求を送信した送信元のコントローラ１１のＩＤである。“Ｔａｂｌｅ  ＩＤ”は、権限の変更要求の対象となるテーブル５２のＩＤである。図２７のテーブル５３１の１つ目のエントリは、コントローラＡから送信された、Ｔａｂｌｅ（０）に対する権限の変更要求について、コントローラＡが有する変更権限（“Ａｕｔｈｏｒｉｔｙ”）を規定する。テーブル５３１の１つ目のエントリは、コントローラＡは、Ｔａｂｌｅ（０）に対するコントローラＡとＢの双方のアクセス権限（テーブルの参照や変更に対する権限）を変更する変更権限を有することを意味する。つまり、コントローラＡは、Ｔａｂｌｅ（０）に関し、コントローラＡとＢの両方のアクセス権限を変更する変更権限を有する。また、テーブル５３１の１つ目のエントリは、コントローラＡは、参照及び操作の両方のアクセス権限を変更する変更権限を有していることを意味する。
【０１５９】
図２８は、コントローラ１１から送信される、権限の変更要求コマンドの例を示す。
【０１６０】
“Ｔａｂｌｅ  ＩＤ”は、権限の変更要求の対象となるテーブル５２のＩＤである。
【０１６１】
“Ｃｏｎｔｒｏｌｌｅｒ  ＩＤ”は、変更要求コマンドを送信したコントローラのＩＤと、権限の変更要求の対象となるコントローラのＩＤを示す。つまり、図２８の例における変更要求コマンドは、コントローラＡから、コントローラＢのアクセス権限の変更を要求するコマンドであることを意味する。
【０１６２】
“Ｃｏｍｍａｎｄ”は、権限の変更要求の内容である。図２８の例における変更要求コマンドは、コントローラＡが通信装置５００に対して、コントローラＢのＴａｂｌｅ（０）に対する操作権限（エントリの変更等）を設定することを要求するコマンドであることを意味する。
【０１６３】
テーブル管理手段５３は、変更要求コマンドを受信すると、コマンドの内容と、変更権限管理テーブル５３１とを参照し、変更要求コマンドの受け入れ可否を判定する。
【０１６４】
図２８の例の場合、変更要求コマンドの送信元はコントローラＡであり、権限の変更対象となるテーブル５２はＴａｂｌｅ（０）である。よって、テーブル管理手段５３は、図２７のテーブル５３１の１つ目のエントリを確認する。テーブル管理手段５３は、テーブル５３１の１つ目のエントリから、コントローラＡは、コントローラＡ及びＢの双方の権限を変更する権限と、参照及び操作の双方のアクセス権限を変更する変更権限を有することを確認する。よって、テーブル管理手段５３は、図２８の変更要求コマンドを許可し、Ｔａｂｌｅ（０）に対してコントローラＢがエントリの修正・変更をできるアクセス権限を設定する。
（３）テーブルとコントローラとの対応付け要求の管理
コントローラ１１は、通信装置５００に対して、テーブル５２とコントローラ１１との対応付けの設定要求を送信する。
【０１６５】
テーブル管理手段５３は、対応付けの設定要求の受け入れ可否を判定する。
【０１６６】
テーブル管理手段５３は、例えば、変更権限管理テーブル５３２を有し、当該テーブルを参照して、コントローラ１１から送信された権限の変更要求の受け入れ可否を判定する。
【０１６７】
図２９は、変更権限管理テーブル５３２の構成例を示す。なお、図２９は例示であり、変更権限管理テーブル５３２の構成は図２９に限定されない。
【０１６８】
図２９の“Ｃｏｎｔｒｏｌｌｅｒ  ＩＤ”は、対応付けの設定要求を送信した送信元のコントローラ１１のＩＤである。“Ｔａｂｌｅ  ＩＤ”は、対応付けの設定要求の対象となるテーブル５２のＩＤである。図２９のテーブル５３２の１つ目のエントリは、コントローラＡから送信された、Ｔａｂｌｅ（０）に対する対応付けの設定要求について、コントローラＡが有する設定権限（“Ａｕｔｈｏｒｉｔｙ”）を規定する。テーブル５３２の１つ目のエントリは、コントローラＡは、Ｔａｂｌｅ（０）に対するコントローラＡとＢの両方に関する対応付けを設定する権限を有することを意味する。つまり、図２９の１つ目のエントリは、コントローラＡは、Ｔａｂｌｅ（０）に対してコントローラＡを対応付けること、及び、Ｔａｂｌｅ（０）に対してコントローラＢを対応付けることに対する権限を有する。また、テーブル５３２の２つ目のエントリは、コントローラＢは、Ｔａｂｌｅ（０）に対する設定変更の権限を有していないことを意味する（“Ｎｏｔ  Ｐｅｒｍｉｔｔｅｄ”）。
【０１６９】
図３０は、コントローラ１１から送信される、権限の変更要求コマンドの例を示す。
【０１７０】
“Ｔａｂｅｌ  ＩＤ”は、対応付けの設定要求の対象となるテーブル５２のＩＤである。
【０１７１】
“Ｃｏｎｔｒｏｌｌｅｒ  ＩＤ”は、対応付け設定要求コマンドを送信したコントローラのＩＤと、対応付けの設定要求の対象となるコントローラのＩＤを示す。つまり、図３０の例における対応付け設定要求コマンドは、コントローラＢから、Ｔａｂｌｅ（０）とコントローラＢとを対応付ける要求するコマンドであることを意味する。
【０１７２】
“Ｃｏｍｍａｎｄ”は、テーブルとコントローラとの対応付け設定を要求することを意味する。
【０１７３】
テーブル管理手段５３は、対応付け設定要求コマンドを受信すると、変更権限管理テーブル５３２とを参照し、コマンドの受け入れ可否を判定する。
【０１７４】
図３０の例の場合、コマンドの送信元はコントローラＢであり、対応付け設定の対象となるテーブル５２はＴａｂｌｅ（０）である。よって、テーブル管理手段５３は、図２９のテーブル５３２の２つ目のエントリを確認する。テーブル管理手段５３は、テーブル５３２の２つ目のエントリから、コントローラＢは、コントローラＢとＴａｂｌｅ（０）との対応付けを設定する権限を有していないことを確認する。よって、テーブル管理手段５３は、図３０のコマンドを拒否する。
【０１７５】
なお、テーブル管理手段５３は、設定装置５０１を介した権限設定操作に基づいて、各テーブルに対するコントローラ１１の権限を設定してもよい。テーブル管理手段５３は、例えば、設定装置５０１を介して入力されたコマンド等に基づいて、各テーブルに対するコントローラ１１の権限を設定してもよい。
［動作］
図３１を参照し、第７の実施形態の動作例を説明する。
【０１７６】
テーブル管理手段５３は、コントローラ１１から各種のコマンドを受信する（Ｓ７１）。コマンドは、上述のように、テーブルの参照・操作、権限の変更要求、テーブルの対応付け要求に関するものである。
【０１７７】
テーブル管理手段５３は、コマンドについて、権限の有無を判定する（Ｓ７１）。
【０１７８】
テーブル管理手段５３は、コマンドを発行したコントローラ１１に権限がある場合（Ｓ７１でＹｅｓ）、コマンドに対応する処理を実行する（Ｓ７２）。
【０１７９】
テーブル管理手段５３は、コマンドを発行したコントローラ１１に権限がない場合（Ｓ７１でＮｏ）、コマンドの実行を拒否する（Ｓ７３）。
［効果］
第７の実施形態によれば、通信装置５００は、複数のテーブル５２について、コントローラ１１の権限に応じた制御を行うことができる。
【０１８０】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。また、本願発明の構成は、各実施形態を組み合わせた実施形態も含む。
【０１８１】
上記の各実施形態のスイッチは、通信端末や、その他の通信機器類等に適宜適用することが可能であり、スイッチに限られるものではない。
【０１８２】
また、上記の実施形態では、オープンフローを適用したネットワークについて説明したが、これに限られるものではない。オープンフロー以外であっても、制御サーバ等がスイッチの集中管理を行うようなネットワークであれば、適用可能である。
【０１８３】
また、上記の実施形態によるスイッチ、またはスイッチと同等の機能を有する通信端末、もしくはその他の通信機器は、その有する機能をハードウェアで実現することも可能である。また、上記の実施形態によるスイッチ、またはスイッチと同等の機能を有する通信端末、もしくはその他の通信機器は、コンピュータと、コンピュータ上で実行されるプログラムとで実現することも可能である。プログラムは、磁気ディスクや半導体メモリ等の記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られる。このようにコンピュータの動作を制御し、コンピュータを上述の各実施形態におけるスイッチ、またはスイッチと同等の機能を有する通信端末や通信機器として機能させ、前述した処理を行わせる。
【０１８４】
本書に用いた「手段（means）」の語は、当該手段に対応する機能または作用を行う少なくとも１つのユニット（unit）を意味する。
【０１８５】
なお、上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施形態の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得る各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【０１８６】
１    通信システム
１１    コントローラ
１２、３２    スイッチ
１２１、３２１    制御通信手段（ユニット）
１２２、２２２、３２２    フローテーブル管理手段（ユニット）
１２３    フロー識別手段（ユニット）
１２４    データ処理手段（ユニット）
１２５、２２５、３２５    フローテーブル
１２１１    コントローラ指定処理問い合わせ手段（ユニット）
１２２１、２２２１    権限管理・判定手段（ユニット）
１２２２    エントリ付加情報記憶手段（ユニット）
１２２３    フローテーブル操作手段（ユニット）
３２１２    処理問い合わせ先振り分け手段（ユニット）
３２１３    コントローラフローテーブル
３２２４    処理問い合わせ先管理手段（ユニット）
１２２１１、２２２１１    エントリ操作権限管理・判定手段（ユニット）
１２２１２、２２２１２    フロー範囲判定手段（ユニット）
５    通信装置
５０  検索手段（ユニット）
５１  問い合わせ手段（ユニット）
５２  テーブル
５００  通信装置
５０１  設定装置
５３０  アクセス権限管理テーブル
５３１  変更権限管理テーブル
５３２  変更権限管理テーブル
【図１】
0006011632.tif 000002
【図２】
0006011632.tif 000003
【図３】
0006011632.tif 000004
【図４】
0006011632.tif 000005
【図５】
0006011632.tif 000006
【図６】
0006011632.tif 000007
【図７】
0006011632.tif 000008
【図８】
0006011632.tif 000009
【図９】
0006011632.tif 000010
【図１０】
0006011632.tif 000011
【図１１】
0006011632.tif 000012
【図１２】
0006011632.tif 000013
【図１３】
0006011632.tif 000014
【図１４】
0006011632.tif 000015
【図１５】
0006011632.tif 000016
【図１６】
0006011632.tif 000017
【図１７】
0006011632.tif 000018
【図１８】
0006011632.tif 000019
【図１９】
0006011632.tif 000020
【図２０】
0006011632.tif 000021
【図２１】
0006011632.tif 000022
【図２２】
0006011632.tif 000023
【図２３】
0006011632.tif 000024
【図２４】
0006011632.tif 000025
【図２５】
0006011632.tif 000026
【図２６】
0006011632.tif 000027
【図２７】
0006011632.tif 000028
【図２８】
0006011632.tif 000029
【図２９】
0006011632.tif 000030
【図３０】
0006011632.tif 000031
【図３１】
0006011632.tif 000032