(57)【特許請求の範囲】
【請求項１】
パケットに含まれる第１の処理規則を参照し、該第１の処理規則にしたがってパケットを処理する第１のスイッチと、
識別子とパケットに対する第２の処理規則とを関連付けて保持するテーブルを有し、パケットに含まれる識別子を参照して該識別子に関連付けられた第２の処理規則にしたがってパケットを処理する第２のスイッチと、
前記第１の処理規則および前記識別子をパケットに格納するとともに、前記識別子と前記第２の処理規則とを関連付けて前記第２のスイッチのテーブルに格納する制御装置と、を備え、
前記第１のスイッチは、パケットに含まれるカウント値を参照して、該カウント値に応じて該パケットに含まれる前記第１の処理規則を参照し、
前記第２のスイッチは、パケットに含まれるカウント値を参照して、該カウント値に応じて該パケットに含まれる前記識別子を参照し、
前記第１のスイッチは、前記カウント値を更新した後に前記第１の処理規則にしたがってパケットを処理し、
前記第２のスイッチは、自身が前記識別子を最後に参照するスイッチである場合には、前記カウント値を更新した後に前記第２の処理規則にしたがってパケットを処理し、それ以外の場合には、前記カウント値を更新することなく前記第２の処理規則にしたがってパケットを処理することを特徴とする、通信システム。
【請求項２】
パケットに含まれる第１の処理規則を参照し、該第１の処理規則にしたがってパケットを処理する第１のスイッチと、
識別子とパケットに対する第２の処理規則とを関連付けて保持するテーブルを有し、パケットに含まれる識別子を参照して該識別子に関連付けられた第２の処理規則にしたがってパケットを処理する第２のスイッチと、
前記第１の処理規則および前記識別子をパケットに格納するとともに、前記識別子と前記第２の処理規則とを関連付けて前記第２のスイッチのテーブルに格納する制御装置と、を備え、
前記第２のスイッチは、自身が前記識別子を最後に参照するスイッチである場合には、パケットに含まれる識別子を削除するか、または、該識別子を参照済みであることをパケットに記載することを特徴とする、通信システム。
【請求項３】
パケットに含まれる第１の処理規則を参照し、該第１の処理規則にしたがってパケットを処理する第１のスイッチと、
識別子とパケットに対する第２の処理規則とを関連付けて保持するテーブルを有し、パケットに含まれる識別子を参照して該識別子に関連付けられた第２の処理規則にしたがってパケットを処理する複数の第２のスイッチと、
前記第１の処理規則および前記識別子をパケットに格納するとともに、前記識別子と前記第２の処理規則とを関連付けて前記第２のスイッチのテーブルに格納する制御装置と、を備え、
前記制御装置は、前記複数の第２のスイッチに対する経路木を求めるとともに、求めた経路木に基づくパケットの転送を前記第２の処理規則として、前記複数の第２のスイッチのそれぞれのテーブルに格納し、
前記制御装置は、スイッチの接続次数、スイッチが処理するパケットのトラフィック量、または、スイッチが処理するフロー数に応じて、前記複数の第２のスイッチの中から、前記経路木の根ノードに相当するスイッチを選択することを特徴とする、通信システム。
【請求項４】
前記第１のスイッチは、ポインタと前記第１の処理規則とを関連付けて保持するテーブルを有し、パケットに含まれるポインタを参照して該ポインタに関連付けられた前記第１の処理規則にしたがってパケットを処理し、
前記制御装置は、前記ポインタおよび前記識別子をパケットに格納するとともに、前記ポインタと前記第１の処理規則とを関連付けて前記第１のスイッチのテーブルに格納することを特徴とする、請求項１ないし３のいずれか１項に記載の通信システム。
【請求項５】
前記制御装置は、前記第１の処理規則と、前記識別子とをパケットのヘッダフィールドに格納することを特徴とする、請求項１ないし４のいずれか１項に記載の通信システム。
【請求項６】
第１のスイッチが、パケットに含まれる第１の処理規則を参照し、該第１の処理規則にしたがってパケットを処理する工程と、
識別子とパケットに対する第２の処理規則とを関連付けて保持するテーブルを有する第２のスイッチが、パケットに含まれる識別子を参照して該識別子に関連付けられた第２の処理規則にしたがってパケットを処理する工程と、
制御装置が、前記第１の処理規則および前記識別子をパケットに格納する工程と、
前記制御装置が、前記識別子と前記第２の処理規則とを関連付けて前記第２のスイッチのテーブルに格納する工程と、
前記第１のスイッチが、パケットに含まれるカウント値を参照して、該カウント値に応じて該パケットに含まれる前記第１の処理規則を参照する工程と、
前記第２のスイッチが、パケットに含まれるカウント値を参照して、該カウント値に応じて該パケットに含まれる前記識別子を参照する工程と、
前記第１のスイッチが、前記カウント値を更新した後に前記第１の処理規則にしたがってパケットを処理する工程と、
前記第２のスイッチが、自身が前記識別子を最後に参照するスイッチである場合には、前記カウント値を更新した後に前記第２の処理規則にしたがってパケットを処理し、それ以外の場合には、前記カウント値を更新することなく前記第２の処理規則にしたがってパケットを処理する工程と、を含むことを特徴とする、通信方法。
【請求項７】
第１のスイッチが、パケットに含まれる第１の処理規則を参照し、該第１の処理規則にしたがってパケットを処理する工程と、
識別子とパケットに対する第２の処理規則とを関連付けて保持するテーブルを有する第２のスイッチが、パケットに含まれる識別子を参照して該識別子に関連付けられた第２の処理規則にしたがってパケットを処理する工程と、
制御装置が、前記第１の処理規則および前記識別子をパケットに格納する工程と、
前記制御装置が、前記識別子と前記第２の処理規則とを関連付けて前記第２のスイッチのテーブルに格納する工程と、
前記第２のスイッチが、自身が前記識別子を最後に参照するスイッチである場合には、パケットに含まれる識別子を削除するか、または、該識別子を参照済みであることをパケットに記載する工程と、を含むことを特徴とする、通信方法。
【請求項８】
前記第１のスイッチは、ポインタと前記第１の処理規則とを関連付けて保持するテーブルを有し、
前記第１のスイッチが、パケットに含まれるポインタを参照して該ポインタに関連付けられた前記第１の処理規則にしたがってパケットを処理する工程と、
前記制御装置が、前記ポインタおよび前記識別子をパケットに格納する工程と、
前記制御装置が、前記ポインタと前記第１の処理規則とを関連付けて前記第１のスイッチのテーブルに格納する工程と、を含むことを特徴とする、請求項６または７に記載の通信方法。
【請求項９】
前記制御装置は、前記第１の処理規則と、前記識別子とをパケットのヘッダフィールドに格納することを特徴とする、請求項６ないし８のいずれか１項に記載の通信方法。
【請求項１０】
前記制御装置が、前記複数の第２のスイッチに対する経路木を求める工程と、
求めた経路木に基づくパケットの転送を前記第２の処理規則として、前記複数の第２のスイッチのそれぞれのテーブルに格納する工程と、を含むことを特徴とする、請求項６ないし９いずれか１項に記載の通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願についての記載）
本発明は、日本国特許出願：特願２０１０−２９００３７号（２０１０年１２月２７日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、通信システムおよび通信方法に関し、特に、ネットワークに配置された複数のスイッチを経由したパケット転送に基づいて通信を実現する通信システムおよび通信方法に関する。
【背景技術】
【０００２】
通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行うオープンフローが、非特許文献１、２に記載されている。パケット転送スイッチとして機能するオープンフロースイッチは、オープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合するルール（ＦｌｏｗＫｅｙ；マッチングキー）と、処理内容を定義したアクション（Ａｃｔｉｏｎ）と、フロー統計情報（Ｓｔａｔｓ）との組が定義される。
【０００３】
図１１は、非特許文献２で定義されているアクション名とアクションの内容を一例として示す。ＯＵＴＰＵＴは、パケットを指定ポート（インタフェース）に出力するアクションである。ＳＥＴ＿ＶＬＡＮ＿ＶＩＤからＳＥＴ＿ＴＰ＿ＤＳＴは、パケットヘッダのフィールドを修正するアクションである。
【０００４】
オープンフロースイッチは、例えば、最初のパケット（ｆｉｒｓｔ  ｐａｃｋｅｔ）を受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するルール（ＦｌｏｗＫｅｙ）を持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合には、オープンフロースイッチは、受信パケットに対して、当該エントリのアクションフィールドに記述された処理内容を実施する。一方、検索の結果、受信パケットに適合するエントリが見つからなかった場合には、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラへ受信パケットを転送し、受信パケットの送信元・送信先に基づいたパケットの経路の決定を依頼し、これを実現するフローエントリを受け取ってフローテーブルを更新する。
【０００５】
このように、オープンフローでは、オープンフロースイッチがオープンフローコントローラに対して経路決定およびフローエントリを要求し、フローテーブルを更新する必要があり、このフローテーブルの更新により通信遅延が生じる。この問題を解消するために、通常オープンフロースイッチに設けられているフローテーブルに対してフロー毎のエントリを定義する代わりに、パケットのヘッダ部分に各オープンフロースイッチで実行すべき処理のリストを記載する方法が、非特許文献３に記載されている。
【０００６】
図１２は、非特許文献３において定義されているフローテーブルを一例として示す図である。図１２を参照すると、各オープンフロースイッチに対して、そのスイッチが実行する可能性のあるアクションを定義するとともに、アクション毎にアドレスを付与する。また、パケットが経由するオープンフロースイッチの系列に従って、各オープンフロースイッチで実行されるアクションのアドレスを指すポインタの系列が、パケットヘッダに埋め込まれる。オープンフロースイッチは、パケットヘッダ中のポインタ系列を順に読み込み、各スイッチが実行すべきアクションを呼び出すことにより、パケットを転送する。このとき、各オープンフロースイッチは、パケット受信時のフローエントリを設定することなく、パケットを転送することができる。したがって、非特許文献３の方法によると、転送時にフローテーブルを更新することによって生じる遅延を解消することができる。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】Ｎｉｃｋ  ＭｃＫｅｏｗｎ  他７名，“ＯｐｅｎＦｌｏｗ：  Ｅｎａｂｌｉｎｇ  Ｉｎｎｏｖａｔｉｏｎ  ｉｎ  Ｃａｍｐｕｓ  Ｎｅｔｗｏｒｋｓ，”［ｏｎｌｉｎｅ］，［平成２２年１２月２７日検索］，インターネット〈ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｏｐｅｎｆｌｏｗｓｗｉｔｃｈ．ｏｒｇ／ｄｏｃｕｍｅｎｔｓ／ｏｐｅｎｆｌｏｗ−ｗｐ−ｌａｔｅｓｔ．ｐｄｆ〉．
【非特許文献２】“ＯｐｅｎＦｌｏｗ  Ｓｗｉｔｃｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｖｅｒｓｉｏｎ  １．０．０．（Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌ  ０ｘ０１），”［平成２２年１２月２７日検索］，インターネット〈ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｏｐｅｎｆｌｏｗｓｗｉｔｃｈ．ｏｒｇ／ｄｏｃｕｍｅｎｔｓ／ｏｐｅｎｆｌｏｗ−ｓｐｅｃ−ｖ１．０．０．ｐｄｆ〉．
【非特許文献３】千葉靖伸  他２名、「フローベースネットワークおけるフローエントリ削減手法の提案とＯｐｅｎＦｌｏｗネットワークへの適用」、電子情報通信学会研究会技報、ｖｏｌ．１０９、Ｎｏ．４４８、ＮＳ２００９−１６３、ｐｐ．７−１２．
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記の非特許文献の各開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明者によってなされたものである。
【０００９】
非特許文献３に記載された技術においては、パケットヘッダにアクションを表す系列が埋め込まれる。このとき、パケットヘッダ長を超えるアクション系列を埋め込むことはできない。アクション系列の長さは、経路上に存在するスイッチの数に比例するため、スイッチ数が多くなると、アクション系列の長さがパケットヘッダ長を超えるおそれがある。
【００１０】
アクション系列の長さがパケットヘッダ長を超えた場合には、パケット転送に必要なアクション系列がパケットヘッダ内に収まらなくなる。このような場合において、パケットの転送経路の途中でパケットヘッダ中のアクション系列が最後まで読み込まれると、スイッチは、制御装置に対して残りのアクション系列の計算を要求する。パケットの転送経路の途中のスイッチによるアクション系列の要求動作により、ネットワークに遅延および負荷が発生する。特に、広域ネットワークを経由したパケット転送のように、パケット転送の経路が長大となる場合には、スイッチによるアクション系列の要求動作が多発し、遅延および負荷が増大する。
【００１１】
そこで、スイッチが保持する処理規則の数を削減するとともに、大規模なネットワークにおいてパケットを転送する場合に、スイッチから制御装置に対する経路決定および処理規則の要求を削減することが課題となる。本発明の目的は、かかる課題を解決する通信システムおよび通信方法を提供することにある。
【課題を解決するための手段】
【００１２】
本発明の第１の視点に係る通信システムは、
パケットに含まれる第１の処理規則を参照し、該第１の処理規則にしたがってパケットを処理する第１のスイッチと、
識別子とパケットに対する第２の処理規則とを関連付けて保持するテーブルを有し、パケットに含まれる識別子を参照して該識別子に関連付けられた第２の処理規則にしたがってパケットを処理する第２のスイッチと、
前記第１の処理規則および前記識別子をパケットに格納するとともに、前記識別子と前記第２の処理規則とを関連付けて前記第２のスイッチのテーブルに格納する制御装置と、を備えている。
本発明の第２の視点に係る通信システムは、
パケットに含まれる第１の処理規則を参照し、該第１の処理規則にしたがってパケットを処理する第１のスイッチと、
識別子とパケットに対する第２の処理規則とを関連付けて保持するテーブルを有し、パケットに含まれる識別子を参照して該識別子に関連付けられた第２の処理規則にしたがってパケットを処理する第２のスイッチと、
前記第１の処理規則および前記識別子をパケットに格納するとともに、前記識別子と前記第２の処理規則とを関連付けて前記第２のスイッチのテーブルに格納する制御装置と、を備え、
前記第１のスイッチは、パケットに含まれるカウント値を参照して、該カウント値に応じて該パケットに含まれる前記第１の処理規則を参照し、
前記第２のスイッチは、パケットに含まれるカウント値を参照して、該カウント値に応じて該パケットに含まれる前記識別子を参照し、
前記第１のスイッチは、前記カウント値を更新した後に前記第１の処理規則にしたがってパケットを処理し、
前記第２のスイッチは、自身が前記識別子を最後に参照するスイッチである場合には、前記カウント値を更新した後に前記第２の処理規則にしたがってパケットを処理し、それ以外の場合には、前記カウント値を更新することなく前記第２の処理規則にしたがってパケットを処理する。
本発明の第３の視点に係る通信システムは、
パケットに含まれる第１の処理規則を参照し、該第１の処理規則にしたがってパケットを処理する第１のスイッチと、
識別子とパケットに対する第２の処理規則とを関連付けて保持するテーブルを有し、パケットに含まれる識別子を参照して該識別子に関連付けられた第２の処理規則にしたがってパケットを処理する第２のスイッチと、
前記第１の処理規則および前記識別子をパケットに格納するとともに、前記識別子と前記第２の処理規則とを関連付けて前記第２のスイッチのテーブルに格納する制御装置と、を備え、
前記第２のスイッチは、自身が前記識別子を最後に参照するスイッチである場合には、パケットに含まれる識別子を削除するか、または、該識別子を参照済みであることをパケットに記載する。
本発明の第４の視点に係る通信システムは、
パケットに含まれる第１の処理規則を参照し、該第１の処理規則にしたがってパケットを処理する第１のスイッチと、
識別子とパケットに対する第２の処理規則とを関連付けて保持するテーブルを有し、パケットに含まれる識別子を参照して該識別子に関連付けられた第２の処理規則にしたがってパケットを処理する複数の第２のスイッチと、
前記第１の処理規則および前記識別子をパケットに格納するとともに、前記識別子と前記第２の処理規則とを関連付けて前記第２のスイッチのテーブルに格納する制御装置と、を備え、
前記制御装置は、前記複数の第２のスイッチに対する経路木を求めるとともに、求めた経路木に基づくパケットの転送を前記第２の処理規則として、前記複数の第２のスイッチのそれぞれのテーブルに格納し、
前記制御装置は、スイッチの接続次数、スイッチが処理するパケットのトラフィック量、または、スイッチが処理するフロー数に応じて、前記複数の第２のスイッチの中から、前記経路木の根ノードに相当するスイッチを選択する。
【００１３】
本発明の第５の視点に係る通信方法は、
第１のスイッチが、パケットに含まれる第１の処理規則を参照し、該第１の処理規則にしたがってパケットを処理する工程と、
識別子とパケットに対する第２の処理規則とを関連付けて保持するテーブルを有する第２のスイッチが、パケットに含まれる識別子を参照して該識別子に関連付けられた第２の処理規則にしたがってパケットを処理する工程と、
制御装置が、前記第１の処理規則および前記識別子をパケットに格納する工程と、
前記制御装置が、前記識別子と前記第２の処理規則とを関連付けて前記第２のスイッチのテーブルに格納する工程と、を含む。
本発明の第６の視点に係る通信方法は、
第１のスイッチが、パケットに含まれる第１の処理規則を参照し、該第１の処理規則にしたがってパケットを処理する工程と、
識別子とパケットに対する第２の処理規則とを関連付けて保持するテーブルを有する第２のスイッチが、パケットに含まれる識別子を参照して該識別子に関連付けられた第２の処理規則にしたがってパケットを処理する工程と、
制御装置が、前記第１の処理規則および前記識別子をパケットに格納する工程と、
前記制御装置が、前記識別子と前記第２の処理規則とを関連付けて前記第２のスイッチのテーブルに格納する工程と、
前記第１のスイッチが、パケットに含まれるカウント値を参照して、該カウント値に応じて該パケットに含まれる前記第１の処理規則を参照する工程と、
前記第２のスイッチが、パケットに含まれるカウント値を参照して、該カウント値に応じて該パケットに含まれる前記識別子を参照する工程と、
前記第１のスイッチが、前記カウント値を更新した後に前記第１の処理規則にしたがってパケットを処理する工程と、
前記第２のスイッチが、自身が前記識別子を最後に参照するスイッチである場合には、前記カウント値を更新した後に前記第２の処理規則にしたがってパケットを処理し、それ以外の場合には、前記カウント値を更新することなく前記第２の処理規則にしたがってパケットを処理する工程と、を含む。
本発明の第７の視点に係る通信方法は、
第１のスイッチが、パケットに含まれる第１の処理規則を参照し、該第１の処理規則にしたがってパケットを処理する工程と、
識別子とパケットに対する第２の処理規則とを関連付けて保持するテーブルを有する第２のスイッチが、パケットに含まれる識別子を参照して該識別子に関連付けられた第２の処理規則にしたがってパケットを処理する工程と、
制御装置が、前記第１の処理規則および前記識別子をパケットに格納する工程と、
前記制御装置が、前記識別子と前記第２の処理規則とを関連付けて前記第２のスイッチのテーブルに格納する工程と、
前記第２のスイッチが、自身が前記識別子を最後に参照するスイッチである場合には、パケットに含まれる識別子を削除するか、または、該識別子を参照済みであることをパケットに記載する工程と、を含む。
【発明の効果】
【００１４】
本発明に係る通信システムおよび通信方法によると、スイッチが保持する処理規則の数を削減するとともに、大規模なネットワークにおいてパケットを転送する場合に、スイッチから制御装置に対する経路決定および処理規則の要求を削減することができる。
【図面の簡単な説明】
【００１５】
【図１】第１の実施形態に係る通信システムの構成を示す図である。
【図２】第１の実施形態に係る通信システムにおけるスイッチの構成を示すブロック図である。
【図３】第１の実施形態に係る通信システムにおける制御装置の構成を示すブロック図である。
【図４】第１の実施形態に係る通信システムにおけるパケット転送の様子を示す図である。
【図５】第１の実施形態に係る通信システムにおいて、スイッチＳＷ１およびスイッチＳＷ２に設定される第２の処理規則を示す図である。
【図６】第１の実施形態に係る通信システムにおけるパケットの構成を示す図である。
【図７】第２の実施形態に係る通信システムの構成を示す図である。
【図８】第２の実施形態に係る通信システムにおける制御装置の構成を示すブロック図である。
【図９】第２の実施形態に係る通信システムにおける制御装置が計算する経路木を示す図である。
【図１０】第３の実施形態に係る通信システムの構成を示す図である。
【図１１】非特許文献２に定義されているアクション名とアクションの内容を示す図である。
【図１２】非特許文献３において定義されているフローテーブルを示す図である。
【発明を実施するための形態】
【００１６】
はじめに、本発明の概要について説明する。なお、この概要に付記する図面参照符号は、専ら理解を助けるための例示であり、本発明を図示の態様に限定することを意図するものではない。
【００１７】
図４を参照すると、本発明の通信システムは、パケットに含まれる第１の処理規則を参照し、該第１の処理規則にしたがってパケットを処理する第１のスイッチ（ＳＷ３，ＳＷ４）と、識別子とパケットに対する第２の処理規則とを関連付けて保持するテーブルを有し、パケットに含まれる識別子に関連付けられた第２の処理規則にしたがってパケットを処理する第２のスイッチ（ＳＷ１，ＳＷ２）と、前記第１の処理規則および前記識別子をパケットに格納するとともに、前記識別子と前記第２の処理規則とを関連付けて前記第２のスイッチのテーブルに格納する制御装置（２０）と、を備えている。
【００１８】
スイッチ（ＳＷ３，ＳＷ４）は、パケットに含まれる処理規則列から、自装置に対応する処理規則を参照し、これにしたがってパケットを処理する。
【００１９】
また、スイッチ（ＳＷ３，ＳＷ４）は、自装置に設定された処理内容を特定するポインタにより、自装置に対応する処理規則を参照するようにしてもよい。
【００２０】
さらに、スイッチ（ＳＷ１，ＳＷ２）は、処理規則中に識別子が含まれ、かつ、その識別子が自装置に対応する場合、自装置の処理規則記憶部に設定された内容を参照し、識別子に対応する第２の処理規則に規定された処理内容（パケット書き換え、パケット転送、パケット廃棄等）を実行する。
【００２１】
制御装置（２０）は、識別子に応じて実行すべき処理規則を第２の処理規則として、スイッチ（ＳＷ１，ＳＷ２）の処理規則記憶部に設定する。
【００２２】
処理規則列は、通信システム中の任意のスイッチが参照すべき処理規則を並べたものとしてもよい。また、処理規則列は、処理規則以外に所定の識別子を含むようにしてもよい。各スイッチが処理規則列の中から自身が参照すべき処理規則または識別子を特定する方法として、処理規則列中の処理規則の位置を個々のスイッチに割り当てるようにしてもよい。また、処理規則列中の処理規則の順序にしたがって、各スイッチが先頭または末尾の処理規則を順次取り出すようにしてもよい。さらに、各スイッチが参照すべき部分を示すカウンタをパケット中に設けるようにしてもよい。
【００２３】
ここで、処理規則および処理規則記憶部は、それぞれ、上述のオープンフロー技術におけるフローエントリおよびフローテーブルに相当する。しかし、本発明を実装する方式は、オープンフローに限定されない。例えば、受信パケットに適合する処理規則を探索して、ヘッダの書き換え、パケットを指定ポートから出力する処理等を実行できる方式であれば、十分である（図１１および非特許文献２の４頁−６頁「３．３  Ａｃｔｉｏｎｓ」、「Ｔａｂｌｅ５」参照）。
【００２４】
また、パケットへ処理規則列を付加する方法として、制御装置（２０）が処理規則列を含んだパケットを作成してスイッチ（ＳＷ１）に送信し、スイッチ（ＳＷ１）が次ホップのスイッチ（ＳＷ２）に転送するようにしてもよい。さらに、スイッチ（ＳＷ１）が、制御装置（２０）から処理規則列を受け取ってパケットに付加し、次ホップのスイッチ（ＳＷ２）に転送するようにしてもよい。一方、制御装置（２０）から必要な処理規則を受け取って処理規則列を作成する専用装置を設けるようにしてもよい。また、スイッチのうち、外部のサーバや端末との境界に位置するスイッチが、制御装置（２０）から複数の処理規則を受け取って処理規則列を作成するようにしてもよい。なお、最初のパケットに付加された処理規則列の削除を、終端となるスイッチ（ＳＷ２）に行わせるようにしてもよい。
【００２５】
本発明の通信システムによると、制御装置の負荷を抑えることができる。なぜなら、所定のスイッチまでの転送に必要な処理規則列を単一の識別子に関連付けることで、パケットに含まれる処理規則列の数を削減し、転送途中の制御装置への問い合わせを削減することができるからである。
【００２６】
また、本発明の通信システムによると、通信時の遅延を抑えることができる。なぜなら、パケットの転送途中における制御装置への問い合わせを削減することができるからである。
【００２７】
さらに、本発明の通信システムによると、転送に必要な処理規則の設定処理を削減することができる。なぜなら、所定のスイッチまでの転送に必要な処理規則を単一の識別子に関連付けて、通信システム中のスイッチに設定しておくことにより、フローごとに処理規則を設定する処理を回避することができるからである。
【００２８】
なお、本発明において、下記の形態が可能である。
［形態１］
上記第１の視点に係る通信システムのとおりである。
［形態２］
前記第１のスイッチは、ポインタと前記第１の処理規則とを関連付けて保持するテーブルを有し、パケットに含まれるポインタを参照して該ポインタに関連付けられた前記第１の処理規則にしたがってパケットを処理し、
前記制御装置は、前記ポインタおよび前記識別子をパケットに格納するとともに、前記ポインタと前記第１の処理規則とを関連付けて前記第１のスイッチのテーブルに格納することが好ましい。
［形態３］
前記制御装置は、前記第１の処理規則または前記ポインタと、前記識別子とをパケットのヘッダフィールドに格納することが好ましい。
［形態４］
前記第１のスイッチは、パケットに含まれるカウント値を参照して、該カウント値に応じて該パケットに含まれる前記第１の処理規則または前記ポインタを参照し、
前記第２のスイッチは、パケットに含まれるカウント値を参照して、該カウント値に応じて該パケットに含まれる前記識別子を参照するようにしてもよい。
［形態５］
前記第１のスイッチは、前記カウント値を更新した後に前記第１の処理規則にしたがってパケットを処理し、
前記第２のスイッチは、自身が前記識別子を最後に参照するスイッチである場合には、前記カウント値を更新した後に前記第２の処理規則にしたがってパケットを処理し、それ以外の場合には、前記カウント値を更新することなく前記第２の処理規則にしたがってパケットを処理するようにしてもよい。
［形態６］
前記第２のスイッチは、自身が前記識別子を最後に参照するスイッチである場合には、パケットに含まれる識別子を削除するか、または、該識別子を参照済みであることをパケットに記載するようにしてもよい。
［形態７］
複数の前記第２のスイッチを備え、
前記制御装置は、前記複数の第２のスイッチに対する経路木を求めるとともに、求めた経路木に基づくパケットの転送を前記第２の規則として、前記複数の第２のスイッチのそれぞれのテーブルに格納するようにしてもよい。
［形態８］
前記制御装置は、スイッチの接続次数、スイッチが処理するパケットのトラフィック量、または、スイッチが処理するフロー数に応じて、前記複数の第２のスイッチの中から、前記経路木の根ノードに相当するスイッチを選択することが好ましい。
［形態９］
上記第２の視点に係る通信方法のとおりである。
［形態１０］
上記通信方法において、
前記第１のスイッチは、ポインタと前記第１の処理規則とを関連付けて保持するテーブルを有し、
前記第１のスイッチが、パケットに含まれるポインタを参照して該ポインタに関連付けられた前記第１の処理規則にしたがってパケットを処理する工程と、
前記制御装置が、前記ポインタおよび前記識別子をパケットに格納する工程と、
前記制御装置が、前記ポインタと前記第１の処理規則とを関連付けて前記第１のスイッチのテーブルに格納する工程と、を含むことが好ましい。
［形態１１］
上記通信方法において、前記制御装置は、前記第１の処理規則または前記ポインタと、前記識別子とをパケットのヘッダフィールドに格納することが好ましい。
［形態１２］
上記通信方法において、前記第１のスイッチが、パケットに含まれるカウント値を参照して、該カウント値に応じて該パケットに含まれる前記第１の処理規則または前記ポインタを参照する工程と、
前記第２のスイッチが、パケットに含まれるカウント値を参照して、該カウント値に応じて該パケットに含まれる前記識別子を参照する工程と、を含んでいてもよい。
［形態１３］
上記通信方法において、前記第１のスイッチが、前記カウント値を更新した後に前記第１の処理規則にしたがってパケットを処理する工程と、
前記第２のスイッチが、自身が前記識別子を最後に参照するスイッチである場合には、前記カウント値を更新した後に前記第２の処理規則にしたがってパケットを処理し、それ以外の場合には、前記カウント値を更新することなく前記第２の処理規則にしたがってパケットを処理する工程と、を含んでいてもよい。
［形態１４］
上記通信方法において、前記第２のスイッチが、自身が前記識別子を最後に参照するスイッチである場合には、パケットに含まれる識別子を削除するか、または、該識別子を参照済みであることをパケットに記載する工程を含んでいてもよい。
［形態１５］
上記通信方法において、前記制御装置が、前記複数の第２のスイッチに対する経路木を求める工程と、
求めた経路木に基づくパケットの転送を前記第２の規則として、前記複数の第２のスイッチのそれぞれのテーブルに格納する工程と、を含んでいてもよい。
【００２９】
（実施形態１）
第１の実施形態に係る通信システムについて、図面を参照して説明する。図１は、本実施形態に係る通信システムの構成を一例として示す図である。
【００３０】
図１を参照すると、５つのスイッチＳＷ１〜ＳＷ５と、制御装置（コントローラ）２０と、スイッチＳＷ１〜ＳＷ５を経由して通信するホストＡ〜Ｃが示されている。図１は、一例として、５つのスイッチＳＷ１〜ＳＷ５、制御装置２０、および、３つのホストＡ〜Ｃを示している。しかしながら、通信システムに含まれるこれらの装置の台数は、図１に示した態様に制限されない。
【００３１】
スイッチＳＷ１〜ＳＷ５は、パケットに含まれる処理規則列から、自身が実行すべきパケット処理に関する第１の規則を参照し、第１の規則にしたがってパケットを処理する。また、スイッチＳＷ１〜ＳＷ５は、パケットが所定の識別子を含む場合に自身が実行すべきパケット処理と当該識別子とを制御装置等から受け取り、これらを第２の処理規則として処理規則記憶部（例えば、オープンフローにおけるフローテーブル）に格納する。
【００３２】
図２は、スイッチＳＷ１〜ＳＷ５の詳細な構成を示すブロック図である。図２を参照すると、スイッチＳＷ１〜ＳＷ５は、制御装置２０と通信する制御装置通信部１１と、フローテーブル１３と、フローテーブル１３を管理するフローテーブル管理部１２と、転送処理部１５とを備えている。スイッチＳＷ１〜ＳＷ５は、パケットバッファ１４をさらに備えていてもよい。
【００３３】
フローテーブル管理部１２は、制御装置から受信した処理規則設定メッセージから自装置に設定すべき第２の処理規則を取り出す処理規則設定情報抽出部１２１を有する。
【００３４】
また、転送処理部１５は、処理規則列処理部１５１、識別子抽出部１５２、処理規則抽出部１５３、テーブル検索部１５４、および、アクション実行部１５５を有する。
【００３５】
処理規則列処理部１５１は、パケットに含まれる処理規則列を取得して自装置が参照すべき処理規則を抽出し、その処理規則が所定の識別子である場合には識別子抽出部１５２へ受け渡し、それ以外の場合には処理規則抽出部１５３へ受け渡す。識別子抽出部１５２は、処理規則列処理部１５１が受け渡した識別子を元に第２の処理規則の検索指示を出力する。処理規則抽出部１５３は、処理規則列処理部１５１が受け渡した処理規則をテーブル検索部１５４に出力する。テーブル検索部１５４は、識別子抽出部１５２または処理規則抽出部１５３からの出力を元に、該当する第１または第２の処理規則を検索し、定められた処理内容をアクション実行部１５５に出力する。アクション実行部１５５は、テーブル検索部１５４から出力された処理内容を実行する。テーブル検索部１５４は、フローテーブル１３を検索した結果、受信パケットに適合する処理規則がない場合には、当該受信パケットをパケットバッファ１４にバッファするとともに、制御装置２０に対し、処理規則の作成を依頼する。
【００３６】
スイッチＳＷ１〜ＳＷ５は、一例として、オープンフロースイッチに対して、処理規則設定情報抽出部１２１、処理規則列処理部１５１、識別子抽出部１５２および処理規則抽出部１５３を追加することで実現することもできる。
【００３７】
図３は、制御装置２０の構成を一例として示すブロック図である。図３を参照すると、制御装置２０は、フローエントリＤＢ２１、トポロジ管理部２２、経路・アクション計算部２３、識別子管理部２４、フローエントリ管理部２５、制御メッセージ処理部２６、および、スイッチ通信部２７を有する。
【００３８】
フローエントリＤＢ２１は、スイッチＳＷ１〜ＳＷ５に設定した処理規則（フローエントリ）を記憶する。経路・アクション計算部２３は、パケット転送に必要な経路と、その経路に沿って転送するために各スイッチが実行すべき処理を計算する。識別子管理部２４は、経路・アクション計算部２３で計算された処理内容に対して識別子を割り当てる。フローエントリ管理部２５は、識別子管理部２４によって関連付けられた識別子と処理内容を第２の処理規則として生成する。制御メッセージ処理部２６は、スイッチＳＷ１〜ＳＷ５への制御内容を制御メッセージとして変換する、または、スイッチＳＷ１〜ＳＷ５からの制御用メッセージを解析して処理する。スイッチ通信部２７は、スイッチＳＷ１〜ＳＷ５と通信する。
【００３９】
次に、具体的な事例に基づいて、本実施形態の通信システムの動作について説明する。図４は、第１の処理規則および識別子を含むパケットが転送される様子を概略的に示す。ここでは、所定の識別子を含むパケットをスイッチＳＷ１からスイッチＳＷ３まで転送するための第２の処理規則が、パケット転送前に、スイッチＳＷ１およびＳＷ２に設定される。
【００４０】
図５は、スイッチＳＷ１およびＳＷ２に設定された第２の処理規則を示す。図５に示した処理規則列に含まれる処理規則の数は例示にすぎない。すなわち、処理規則列には、任意の数の処理規則を含めることができる。
【００４１】
パケット中の処理規則列は、参照すべきスイッチ順に並べられた、処理規則および識別子を含む。パケットのうちの各スイッチが参照すべき部分を判別するために、パケット中にカウンタを設けるようにしてもよい。
【００４２】
図５のマッチ条件は、パケットに適合する処理規則を検索するために用いられる。カウンタに指定された箇所の処理規則と、パケットのうちの参照すべき箇所の処理規則とが一致した場合には、スイッチはその処理規則にしたがってパケットを処理する。
【００４３】
パケット中のカウンタは、各スイッチが処理規則列の何番目の処理規則を参照すべきかを表す。処理規則または識別子の参照が終わると、スイッチはパケット中のカウンタのカウント値をインクリメントする。
【００４４】
本実施形態では、参照すべき箇所を特定するためにカウンタを用いる場合について説明した。一方、参照するスイッチ順にパケット中の処理規則および識別子が並べられている場合には、処理規則または識別子を最後に参照するスイッチが、参照した処理規則または識別子をパケットから削除するようにしてもよい。また、処理規則または識別子を最後に参照するスイッチが、参照した処理規則または識別子を参照済みであることをパケットに記載するようにしてもよい。
【００４５】
次に、本実施形態の通信システムの動作について説明する。ここでは、識別子ｘと、スイッチＳＷ３およびＳＷ４における処理を規定する第１の処理規則とを含むパケットが、ホストＡから送信されるものとする。一例として、ホストＡが、図６（ａ）に示す構成を有するパケットを送出した場合を考える。
【００４６】
スイッチＳＷ１は、識別子ｘに対応する第２の処理規則を適用し、パケットをスイッチＳＷ２へ転送する。スイッチＳＷ１は識別子ｘを最後に参照するスイッチではないため、スイッチＳＷ１はカウンタのカウント値をインクリメントしない。したがって、スイッチＳＷ１からスイッチＳＷ２に転送されるパケットの構成は、図６（ａ）のままである。
【００４７】
次に、スイッチＳＷ２は、スイッチＳＷ１と同様に、識別子ｘに対応する第２の処理規則を適用する。スイッチＳＷ２は、識別子ｘを参照する最後のスイッチである。したがって、図５を参照すると、スイッチＳＷ２に設定された識別子ｘに対応する第２の処理規則には、スイッチＳＷ１に設定された規則とは相違し、パケットに含まれるカウンタのカウント値のインクリメント（「ｃｏｕｎｔｅｒ＋＋」）が規定されている。また、スイッチＳＷ２に設定された識別子ｘの処理規則には、スイッチＳＷ３へのパケットの転送（「ｏｕｔｐｕｔ  ｔｏ  ＳＷ３」）も同時に規定されている。したがって、スイッチＳＷ２は、カウンタのカウント値をインクリメントした後、スイッチＳＷ３へパケットを転送する。図６（ｂ）は、スイッチＳＷ２からスイッチＳＷ３へ転送されるパケットの構成を示す。図６（ｂ）を参照すると、カウンタのカウント値がインクリメントされて「１」となっている。
【００４８】
スイッチＳＷ３は、図６（ｂ）に示したパケットを受信すると、カウンタのカウント値「１」に応じて、パケットの２番目に記載された第１の処理規則「ｏｕｔｐｕｔ  ｔｏ  ＳＷ４」を参照する。したがって、スイッチＳＷ３は、パケットのカウント値をインクリメントした後、パケットをスイッチＳＷ４へ転送する。図６（ｃ）は、スイッチＳＷ３からスイッチＳＷ４に転送されるパケットの構成を示す。図６（ｃ）を参照すると、カウンタのカウント値がインクリメントされて「２」となっている。
【００４９】
スイッチＳＷ４は、図６（ｃ）に示したパケットを受信すると、カウンタのカウント値「２」に応じて、パケットの３番目に記載された第１の処理規則「ｏｕｔｐｕｔ  ｔｏ  ホストＢ」を参照し、この処理規則にしたがってパケットをホストＢへ転送する。
【００５０】
以上の動作により、ホストＡからホストＢへのパケットの送信が完了する。
【００５１】
ちなみに、図６（ａ）〜（ｃ）のパケットに含まれる第１の処理規則において、「ｏｕｔｐｕｔ  ｔｏ  ＳＷ４」を「ｏｕｔｐｕｔ  ｔｏ  ＳＷ５」とし、「ｏｕｔｐｕｔ  ｔｏ  ホストＢ」を「ｏｕｔｐｕｔ  ｔｏ  ホストＣ」とした場合には、パケットはホストＡからホストＣへ送信される。
【００５２】
本実施形態において、識別子に対応する第２の処理規則を設定するスイッチは、任意に選択することができる。また、必要に応じて、第２の処理規則を設定するスイッチを変更することもできる。
【００５３】
さらに、識別子および第１の処理規則をパケットに含めるときの順序も任意である。したがって、第１の処理規則でパケットを転送した後、第２の処理規則が設定されたスイッチに到達した時点で、第２の処理規則にしたがってパケットを転送するようにしてもよい。
【００５４】
また、本実施形態では、ホストＡから送出されたパケットに処理規則列が含まれる場合について説明したが、スイッチがパケットに処理規則列を埋め込むようにしてもよい。
【００５５】
第１の処理規則のみに基づいて、ホストＡからホストＢへのパケット通信を行う場合には、経由するすべてのスイッチにおける処理をパケットに含めなければならない。このとき、パケットに含まれる処理規則は、「ｏｕｔｐｕｔ  ｔｏ  ＳＷ２」、「ｏｕｔｐｕｔ  ｔｏ  ＳＷ３」、「ｏｕｔｐｕｔ  ｔｏ  ＳＷ４」、「ｏｕｔｐｕｔ  ｔｏ  ホストＢ」の４つとなる。
【００５６】
一方、図６を参照すると、本実施形態の通信システムのように識別子ｘを用いた場合には、パケットに含まれる識別子および処理規則は、３つとなる。したがって、本実施形態の通信システムによると、第１の処理規則のみに基づいてパケットを転送する場合と比較して、パケットサイズを小さくすることができる。
【００５７】
また、本実施形態の通信システムによると、処理規則列のサイズがパケットに含めることのできるサイズを超える場合においても、一部の処理規則を第１の処理規則とし、残部を第２の処理規則とすることにより、スイッチから制御装置２０への問い合わせを防ぐこともできる。すなわち、本実施形態の通信システムによると、第２の処理規則をスイッチに設定することで、スイッチ群が長い経路を形成し、アクション系列の長さがパケットヘッダ長を超える場合においても、スイッチは、制御装置への問い合わせを行うことなく、パケットを転送することができる。
【００５８】
（実施形態２）
第２の実施形態に係る通信システムについて、図面を参照して説明する。本実施形態の通信システムは多数のスイッチを含み、これらのスイッチには多数のスイッチと接続されたハブスイッチが含まれる。図７は、本実施形態に係る通信システムの構成を示すブロック図である。
【００５９】
図７を参照すると、本実施形態の通信システムは、制御装置３０、および、８つのスイッチＳＷ１〜ＳＷ８を備えている。ホストＡ〜Ｃは、スイッチＳＷ１〜ＳＷ８を経由して通信する。スイッチＳＷ５は、多数のスイッチ（図７においては、４つのスイッチＳＷ３、ＳＷ４、ＳＷ６、ＳＷ７）と接続されているハブスイッチである。図７においては、簡略化して表示したが、制御装置３０は、すべてのスイッチＳＷ１〜ＳＷ８に接続されている。
【００６０】
図７は、一例として、制御装置２０、８つのスイッチＳＷ１〜ＳＷ８、および、３つのホストＡ〜Ｃを示している。また、ハブスイッチはスイッチＳＷ５のみである。しかしながら、通信システムに含まれるこれらの装置の数は、図７に示した態様に制限されない。
【００６１】
図８は、本実施形態における制御装置３０の構成を一例として示すブロック図である。図８を参照すると、制御装置３０は、フローエントリＤＢ２１、トポロジ管理部２２、経路木・アクション計算部２８、識別子管理部２４、フローエントリ管理部２５、制御メッセージ処理部２６、および、スイッチ通信部２７を有する。
【００６２】
フローエントリＤＢ２１は、スイッチＳＷ１〜ＳＷ８に設定した処理規則（フローエントリ）を記憶する。経路木・アクション計算部２８は、ハブスイッチを根（ルート）とする経路木を計算するとともに、その経路に沿って転送するために各スイッチが実行すべき処理を計算する。識別子管理部２４は、経路木・アクション計算部２８で計算された処理内容に対して識別子を割り当てる。フローエントリ管理部２５は、識別子管理部２４によって関連付けられた識別子と処理内容を第２の処理規則として生成する。制御メッセージ処理部２６は、スイッチＳＷ１〜ＳＷ８への制御内容を制御メッセージに変換する、または、スイッチＳＷ１〜ＳＷ８からの制御用メッセージを解析して処理する。スイッチ通信部２７は、スイッチＳＷ１〜ＳＷ８と通信する。
【００６３】
制御装置３０は、パケット転送に必要な処理規則列に含まれる処理規則の数を削減するために、次の処理を行う。
【００６４】
まず、トポロジ管理部２２は、ネットワーク中のハブスイッチの検索および選定を行う。ハブスイッチを選定する評価基準として、スイッチの接続次数を用いるようにしてもよい。また、評価基準として、スイッチが処理するトラフィック量またはフロー数を採用してもよい。
【００６５】
経路木・アクション計算部２８は、トポロジ管理部２２によって選定されたハブスイッチを元にして、ハブスイッチを根とする経路木を計算し、計算した経路木に沿って転送を行う場合に、各スイッチで必要とされる処理内容を計算する。
【００６６】
図９は、経路木・アクション計算部２８によって計算された経路木を一例として示す図である。経路木・アクション計算部２８は、ホップ数をメトリックとしたダイクストラ法により、経路木を計算するようにしてもよい。また、経路木・アクション計算部２８は、これ以外のメトリック、アルゴリズムによる経路木を採用してもよい。
【００６７】
識別子管理部２４は、経路木とそれに従う処理内容に対して、一意の識別子を割り当てる。これによって、各スイッチに設定する第２の処理規則が得られる。第２の処理規則および識別子は、スイッチＳＷ１〜ＳＷ８に設定される。
【００６８】
制御装置３０は、パケット転送前に以上の処理を行う。このとき、第２の処理規則を設定されたスイッチからハブスイッチＳＷ５まで１つの識別子でパケットを転送することができる。また、各スイッチには、第２の処理規則を１つ設定すればよい。
【００６９】
一方、通信ネットワーク中のすべてスイッチからハブスイッチＳＷ５までの転送に必要な第２の処理規則を経路木に依らず、経路に基づいて設定する場合には、経路ごとに個別の処理規則を割り当てなければならず、複数の経路に使用されるスイッチには経路分の処理規則が設定される。
【００７０】
また、通信ネットワーク中のすべてのスイッチに対してハブスイッチへの転送に係る第２の処理規則を設定することで、パケットに含まれる処理規則列数を最大で半分に削減することができる。したがって、本実施形態の通信システムによると、転送の途中で制御装置３０に問い合わせることなく、パケットの転送を行うことができる段数を増加させることができる。
【００７１】
（実施形態３）
第３の実施形態に係る通信システムについて、図面を参照して説明する。本実施形態の通信システムは、ハブスイッチが存在しないものの、他スイッチと比較してトラフィックが集中するスイッチのように、特定の特徴ないし役割を有するスイッチを含む。図１０は、本実施形態に係る通信システムの構成を一例として示す図である。
【００７２】
図１０を参照すると、制御装置４０、７つのスイッチＳＷ１〜ＳＷ７、および、スイッチＳＷ１〜ＳＷ７を経由して通信するホストＡ〜Ｄが示されている。図１０においては、簡略化して表示したが、制御装置４０は、すべてのスイッチＳＷ１〜ＳＷ７に接続されている。
【００７３】
図１０は、一例として、１つの制御装置４０、７つのスイッチＳＷ１〜ＳＷ７、および、４つのホストＡ〜Ｄを示している。しかしながら、通信システムに含まれるこれらの装置の数は、図１０に示した態様に制限されない。
【００７４】
制御装置４０は、第１の実施形態における制御装置２０、または、第２の実施形態における制御装置３０と同一であってもよい。また、スイッチＳＷ１〜ＳＷ７も、第１の実施形態におけるスイッチと同一としてもよい。ここでは、制御装置４０は、第２の実施形態における制御装置３０と同一とする。
【００７５】
スイッチＳＷ７は、ホストＡ〜Ｄ間の通信においてトラフィックが集中しやすい。したがって、スイッチＳＷ７を経由するフロー数は、他のスイッチを経由するフローと比較して多いことが予想される。
【００７６】
このようにフローの集中するスイッチＳＷ７をゲートウェイスイッチとし、ゲートウェイスイッチまでパケットを転送するための識別子および第２の処理規則をすべてのスイッチＳＷ１〜ＳＷ７に設定する。
【００７７】
ここでは、制御装置４０の構成は、第２の実施形態における制御装置３０の構成と同一としている。そこで、制御装置４０は以下の処理を行う。
【００７８】
まず、制御装置４０のトポロジ管理部２２（図８参照）は、ネットワーク中のゲートウェイスイッチの検索および選定を行う。ゲートウェイスイッチを選定する評価基準として、トラフィック量を用いるようにしてもよい。また、評価基準として、フロー数等を採用してもよい。さらに、セキュリティ、ロードバランス、ネットワークオペレーション等、その他のポリシーに基づいてゲートウェイスイッチを決定するようにしてもよい。
【００７９】
経路木・アクション計算部２８は、トポロジ管理部２２によって選定されたゲートウェイスイッチを元にして、ゲートウェイスイッチを根（ルート）とする経路木を計算するとともに、計算した経路木に沿って転送を行う場合に、各スイッチで必要となる処理内容を計算する。経路木・アクション計算部２８は、ホップ数をメトリックとするダイクストラ法により、経路木を計算するようにしてもよい。また、経路木・アクション計算部２８は、これ以外のメトリック、アルゴリズムにより経路木を計算してもよい。
【００８０】
識別子管理部２４は、経路木とそれに従う処理内容に対して、一意の識別子を割り当てる。これによって、各スイッチに設定する第２の処理規則が得られる。第２の処理規則および識別子は、スイッチＳＷ１〜ＳＷ７に設定される。
【００８１】
制御装置４０は、パケット転送前に以上の処理を行う。このとき、第２の処理規則を設定されたスイッチからゲートウェイスイッチＳＷ７までは１つの識別子でパケットを転送することができる。また、各スイッチには、第２の処理規則も１つ設定すればよい。
【００８２】
トラフィックの集中するスイッチＳＷ７をゲートウェイスイッチとして選んだ場合には、ゲートウェイスイッチとして選択されたスイッチＳＷ７まで、多くのパケットを１つの識別子で転送することができる。したがって、本実施形態の通信システムによると、パケット中の処理規則列に含まれる処理規則の数を削減することができる。
【００８３】
また、本実施形態の通信システムによると、処理規則列の一部がパケットに含まれていない場合に、転送途中で生じる制御装置４０への問い合わせ数も削減することができることから、制御装置４０の負荷を軽減するとともに、通信遅延を削減することができる。
【００８４】
本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００８５】
１１    制御装置通信部
１２    フローテーブル管理部
１３    フローテーブル
１４    パケットバッファ
１５    転送処理部
２０，３０，４０    制御装置
２１    フローエントリＤＢ
２２    トポロジ管理部
２３    経路・アクション計算部
２４    識別子管理部
２５    フローエントリ管理部
２６    制御メッセージ処理部
２７    スイッチ通信部
２８    経路木・アクション計算部
１２１    処理規則設定情報抽出部
１５１    処理規則列処理部
１５２    識別子抽出部
１５３    処理規則抽出部
１５４    テーブル検索部
１５５    アクション実行部
Ａ〜Ｄ    ホスト
ＳＷ，ＳＷ１〜ＳＷ８    スイッチ
ｘ    識別子
【図１】
0005888338.tif 000002
【図２】
0005888338.tif 000003
【図３】
0005888338.tif 000004
【図４】
0005888338.tif 000005
【図５】
0005888338.tif 000006
【図６】
0005888338.tif 000007
【図７】
0005888338.tif 000008
【図８】
0005888338.tif 000009
【図９】
0005888338.tif 000010
【図１０】
0005888338.tif 000011
【図１１】
0005888338.tif 000012
【図１２】
0005888338.tif 000013