複数の外部ネットワークに接続され、設定されたフローテーブルのエントリの内容に従って受信パケットを処理するスイッチと、前記スイッチがフローを構成する各パケットを一律に制御するためのルールと動作が定義されたエントリを、前記スイッチのフローテーブルに設定するコントローラとを含み、前記コントローラは、フローをクラスに分け、前記スイッチからパケットの問い合わせを受けた際に、該パケットを基に、該パケットの送信元に対するユーザ認証を行い、ユーザ認証の結果を基にQoSクラスを決定し、ネットワークの接続状態及び帯域を基に、認証した送信元のQoSクラスに見合った外部ネットワークを経由する通信経路を決定し、前記QoSポリシーを基に、前記スイッチがフローを構成する各パケットを一律に制御するためのルールと動作が定義されたエントリを生成し、前記スイッチのフローテーブルに前記エントリを設定するネットワークシステム。請求項1に記載のネットワークシステムであって、前記コントローラは、前記スイッチから問い合わせを受けたパケットに該当するQoSポリシーを特定する手段と、ネットワークの接続状態を表すトポロジ情報とQoSポリシーから、該QoSポリシーに見合った外部ネットワークを選択し、最適な経路を算出する手段と、該パケットと経路情報とQoSポリシーから、経路上のスイッチの送信ポートとキューを決定し、フローテーブルのエントリを生成する手段と、前記経路上のスイッチのフローテーブルに該エントリを設定する手段とを具備するネットワークシステム。請求項2に記載のネットワークシステムであって、前記コントローラは、認証した送信元のフローを識別して、フロー毎に、経路上のスイッチにおける送信ポート、送信キュー、及びマーキングするDSCP値を決定し、フローテーブルのエントリを生成する手段を更に具備するネットワークシステム。請求項3に記載のネットワークシステムであって、前記コントローラは、送信方向のフローテーブルのエントリにルールとして定義されたヘッダ情報、及び、該エントリに動作として定義された送信ポートと送信キュー、を書き換えるDSCP値を決定する手段と、該DSCP値から、受信方向のフローテーブルのエントリに動作として定義される送信キューを決定する手段とを更に具備するネットワークシステム。請求項1乃至4のいずれか一項に記載のネットワークシステムであって、前記コントローラは、前記パケットに該当するQoSポリシーが存在しない場合、前記パケットの送信元に認証情報を要求する手段と、該要求に対する応答結果を基に、前記パケットの送信元に対するQoSポリシーを決定する手段とを更に具備するネットワークシステム。請求項1乃至5のいずれか一項に記載のネットワークシステムであって、前記コントローラに接続された認証サーバを更に含み、前記認証サーバは、前記コントローラから問い合わせを受けたパケットに該当するQoSポリシーが存在しない場合、前記パケットの送信元に認証情報を要求し、該要求に対する応答結果を基に、前記パケットの送信元に対するQoSポリシーを決定し、前記コントローラに通知するネットワークシステム。複数の外部ネットワークに接続されたスイッチのうち、設定されたフローテーブルのエントリの内容に従って受信パケットを処理するスイッチから、パケットの問い合わせを受けた際に、該パケットを基に、該パケットの送信元に対するユーザ認証を行うユーザ認証部と、ユーザ認証の結果を基にQoSクラスを決定するQoS制御部と、ネットワークの接続状態及び帯域を基に、認証した送信元のQoSクラスに見合った外部ネットワークを経由する通信経路を決定する経路計算部と、前記QoSポリシーを基に、前記スイッチがフローを構成する各パケットを一律に制御するためのルールと動作が定義されたエントリを生成するフローテーブル生成部と、前記スイッチのフローテーブルに前記エントリを設定するスイッチ制御部とを具備するコントローラ。請求項7に記載のコントローラであって、前記QoS制御部は、前記スイッチから問い合わせを受けたパケットに該当するQoSポリシーを特定し、前記経路計算部は、ネットワークの接続状態を表すトポロジ情報とQoSポリシーを基に、該QoSポリシーに見合った外部ネットワークを選択し、最適な経路を算出し、前記フローテーブル生成部は、該パケットと経路情報とQoSポリシーを基に、経路上のスイッチの送信ポートとキューを決定し、フローテーブルのエントリを生成し、前記スイッチ制御部は、前記経路上のスイッチのフローテーブルに該エントリを設定するコントローラ。請求項8に記載のコントローラであって、前記フローテーブル生成部は、認証した送信元のフローを識別して、フロー毎に、経路上のスイッチにおける送信ポート、送信キュー、及びマーキングするDSCP値を決定するコントローラ。請求項9に記載のコントローラであって、前記フローテーブル生成部は、送信方向のフローテーブルのエントリにルールとして定義されたヘッダ情報、及び、該エントリに動作として定義された送信ポートと送信キュー、を書き換えるDSCP値を決定し、該DSCP値を基に、受信方向のフローテーブルのエントリに動作として定義される送信キューを決定するコントローラ。コントローラにより実施されるQoS制御方法であって、複数の外部ネットワークに接続されたスイッチのうち、設定されたフローテーブルのエントリの内容に従って受信パケットを処理するスイッチからパケットの問い合わせを受けた際に、該パケットを基に、該パケットの送信元に対するユーザ認証を行うことと、ユーザ認証の結果を基にQoSクラスを決定することと、ネットワークの接続状態及び帯域を基に、認証した送信元のQoSクラスに見合った外部ネットワークを経由する通信経路を決定することと、決定された通信経路を基に、前記スイッチがフローを構成する各パケットを一律に制御するためのルールと動作が定義されたエントリを生成することと、前記スイッチのフローテーブルに前記エントリを設定することとを含むQoS制御方法。複数の外部ネットワークに接続されたスイッチのうち、設定されたフローテーブルのエントリの内容に従って受信パケットを処理するスイッチから、パケットの問い合わせを受けた際に、該パケットを基に、該パケットの送信元に対するユーザ認証を行うステップと、ユーザ認証の結果を基にQoSクラスを決定するステップと、ネットワークの接続状態及び帯域を基に、認証した送信元のQoSクラスに見合った外部ネットワークを経由する通信経路を決定するステップと、前記QoSポリシーを基に、前記スイッチがフローを構成する各パケットを一律に制御するためのルールと動作が定義されたエントリを生成するステップと、前記スイッチのフローテーブルに前記エントリを設定するステップとを計算機に実行させるためのプログラムを格納した記憶媒体。<前提>本発明に係るネットワークシステムでは、外部のコントローラコントロールプレーンからスイッチや端末等ユーザプレーンを制御するCUC:コントロールプレーン/U:ユーザプレーン分離型ネットワークを対象としている。CU分離型ネットワークの一例として、コントローラからスイッチを制御してネットワークの経路制御を行うオープンフローOpenFlow技術を利用したオープンフローネットワークが挙げられる。なお、オープンフローネットワークは一例に過ぎない。[オープンフローネットワークの説明]オープンフローネットワークでは、OFCOpenFlowController等のコントローラが、OFSOpenFlowSwitch等のスイッチのフローテーブルを操作することによりスイッチの挙動を制御する。コントローラとスイッチの間は、コントローラがオープンフロープロトコルに準拠した制御メッセージを用いてスイッチを制御するためのセキュアチャネルSecureChannelにより接続されている。オープンフローネットワークにおけるスイッチとは、オープンフローネットワークを形成し、コントローラの制御下にあるエッジスイッチ及びコアスイッチのことである。オープンフローネットワークにおける入力側エッジスイッチでのパケットの受信から出力側エッジスイッチでの送信まで同じ経路を流れる一連のパケットをフローFlowと呼ぶ。パケットは、フレームと読み替えても良い。フローテーブルとは、所定のマッチ条件ルールに適合するパケット通信データに対して行うべき所定の処理アクションを定義したフローエントリFlowentryが登録されたテーブルである。フローエントリのルールは、パケットの各プロトコル階層のヘッダ領域に含まれる宛先アドレスDestinationAddress、送信元アドレスSourceAddress、宛先ポートDestinationPort、送信元ポートSourcePortのいずれか又は全てを用いた様々な組み合わせにより定義され、区別可能である。なお、上記のアドレスには、MACアドレスMediaAccessControlAddressやIPアドレスInternetProtocolAddressを含むものとする。また、上記に加えて、入口ポートIngressPortの情報も、フローエントリのルールとして使用可能である。フローエントリのアクションは、特定のポートに出力する、廃棄する、ヘッダを書き換えるといった動作を示す。例えば、スイッチは、フローエントリのアクションに出力ポートの識別情報出力ポート番号等が示されていれば、これに該当するポートにパケットを出力し、出力ポートの識別情報が示されていなければ、パケットを破棄する。或いは、スイッチは、フローエントリのアクションにヘッダ情報が示されていれば、当該ヘッダ情報に基づいてパケットのヘッダを書き換える。オープンフローネットワークにおけるスイッチは、フローエントリのルールに適合するパケット群パケット系列に対して、フローエントリのアクションを実行する。オープンフロー技術の詳細については、非特許文献1に記載されている。なお、スイッチの送信ポートには、複数の送信キューがある。スイッチの送信ポートは、キューの種別により最小レート、最大レート、優先度等転送時の振る舞いが決定され、QoS制御を行うために利用される。また、フローテーブルのエントリには、パケットのヘッダ情報送信元IPアドレス、宛先IPアドレス、プロトコル、TCP/UDP送信元ポート番号、TCP/UDP宛先ポート番号と比較するためのマッチ条件が定義されており、当該マッチ条件に合致した場合にそのアクションとして送信ポートと送信キューを決定するために利用される。また、フローをクラスに分け、それらを優先度付けしてQoSを制御する方法として、非特許文献2で示されるDiffServDifferentiatedServices等が知られている。<第1実施形態>以下に、本発明の第1実施形態について添付図面を参照して説明する。[全体構成]図1に示すように、本発明に係るネットワークシステムは、ユーザ端末10と、スイッチ2020-i、i=1~nと、コントローラ30と、サーバ40とを含む。ユーザ端末10は、ユーザが利用する入出力装置であり、パケットを生成し、サーバ40宛に送信する。スイッチ2020-i、i=1~nの各々は、受信したパケットを、自身のフローテーブルに登録されたエントリに従って転送する。スイッチ2020-i、i=1~nの各々は、ネットワークを介して接続されている。このとき、スイッチ2020-i、i=1~nの各々は、受信したパケットに該当するエントリが無い場合、当該受信パケットをファーストパケット未登録の新規のパケット、未知のパケットとしてコントローラ30に通知し、当該受信パケットについてのエントリ登録を要求する。ここでは、スイッチ20-1とスイッチ20-2との間に、ネットワークA及びネットワークBという複数の外部ネットワークが存在する。コントローラ30は、スイッチ2020-i、i=1~nのいずれかからのファーストパケットの受信通知に応じて経路を計算し、当該経路に関連するスイッチのフローテーブルにエントリの登録を行う。サーバ40は、ユーザ端末10へネットワーク経由でサービスを提供するサーバであり、パケットを受信する。[ハードウェアの例示]ユーザ端末10、コントローラ30、及びサーバ40の例として、PCパソコン、アプライアンスappliance、シンクライアント端末/サーバ、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。また、ユーザ端末10、コントローラ30、及びサーバ40は、計算機に搭載される拡張ボードや、物理マシン上に構築された仮想マシンVM:VirtualMachineでも良い。なお、ユーザ端末10は、携帯電話機、スマートフォン、スマートブック、カーナビカーナビゲーションシステム、携帯型ゲーム機、家庭用ゲーム機、携帯型音楽プレーヤー、ハンディターミナル、ガジェット電子機器、双方向テレビ、デジタルチューナー、デジタルレコーダー、情報家電informationhomeappliance、OAOfficeAutomation機器等でも良い。また、ユーザ端末10は、車両や船舶、航空機等の移動体に搭載されていても良い。スイッチ2020-i、i=1~nの例として、ネットワークスイッチnetworkswitch、ルータrouter、プロキシproxy、ゲートウェイgateway、ファイアウォールfirewall、ロードバランサloadbalancer:負荷分散装置、帯域制御装置packetshaper、セキュリティ監視制御装置SCADA:SupervisoryControlAndDataAcquisition、ゲートキーパーgatekeeper、基地局basestation、アクセスポイントAP:AccessPoint、通信衛星CS:CommunicationSatellite、或いは、複数の通信ポートを有する計算機等が考えられる。また、スイッチ2020-i、i=1~nは、仮想スイッチでも良い。図示しないが、ユーザ端末10、スイッチ2020-i、i=1~n、コントローラ30、及びサーバ40の各々は、プログラムに基づいて駆動し所定の処理を実行するプロセッサと、当該プログラムや各種データを記憶するメモリと、ネットワークに接続するための通信用インターフェースによって実現される。上記のプロセッサの例として、CPUCentralProcessingUnit、マイクロプロセッサmicroprocessor、マイクロコントローラ、或いは、専用の機能を有する半導体集積回路IC:IntegratedCircuit等が考えられる。上記のメモリの例として、RAMRandomAccessMemory、ROMReadOnlyMemory、EEPROMElectricallyErasableandProgrammableReadOnlyMemoryやフラッシュメモリ等の半導体記憶装置、HDDHardDiskDriveやSSDSolidStateDrive等の補助記憶装置、又は、DVDDigitalVersatileDisk等のリムーバブルディスクや、SDメモリカードSecureDigitalmemorycard等の記憶媒体メディア等が考えられる。なお、上記のプロセッサ及び上記のメモリは、一体化していても良い。例えば、近年では、マイコン等の1チップ化が進んでいる。従って、電子機器等に搭載される1チップマイコンが、プロセッサ及びメモリを備えている事例が考えられる。上記の通信用インターフェースの例として、ネットワーク通信に対応した基板マザーボード、I/Oボードやチップ等の半導体集積回路、NICNetworkInterfaceCard等のネットワークアダプタや同様の拡張カード、アンテナ等の通信装置、接続口コネクタ等の通信ポート等が考えられる。また、ネットワークの例として、インターネット、LANLocalAreaNetwork、無線LANWirelessLAN、WANWideAreaNetwork、バックボーンBackbone、ケーブルテレビCATV回線、固定電話網、携帯電話網、WiMAXIEEE802.16a、3G3rdGeneration、専用線leaseline、IrDAInfraredDataAssociation、Bluetooth登録商標、シリアル通信回線、データバス等が考えられる。ユーザ端末10、スイッチ2020-i、i=1~n、コントローラ30、及びサーバ40の各々の内部の構成要素は、モジュールmodule、コンポーネントcomponent、或いは専用デバイス、又はこれらの起動呼出プログラムでも良い。但し、実際には、これらの例に限定されない。[コントローラの詳細構成]コントローラ30は、ユーザ情報記憶部31と、QoSポリシー記憶部32と、トポロジ情報記憶部33と、フローテーブル記憶部34と、ユーザ認証部35と、QoS制御部36と、経路計算部経路制御部37と、フローテーブル生成部38と、スイッチ制御部39とを備えている。ユーザ情報記憶部31は、ユーザ情報を予め事前に記憶している。ユーザ情報は、図2に示すように、ユーザ名、パスワード、QoSポリシー等を含む。なお、ユーザ名及びパスワードは、認証情報の一例に過ぎない。QoSポリシー記憶部32は、QoSポリシー対応テーブルを記憶する。QoSポリシー対応テーブルは、図3に示すように、認証されたユーザのIPアドレスとQoSポリシーの対応付けで表される。トポロジ情報記憶部33は、トポロジ情報ネットワークの接続状態を予め記憶している。トポロジ情報は、図4に示すように、リンクの両端に接続されている2つのスイッチのスイッチ名とポート名の組と、そのリンクの帯域で表される。フローテーブル記憶部34は、スイッチ2020-i、i=1~nに登録したフローテーブル及びそのエントリを記憶する。フローテーブルのエントリは、図5に示すように、マッチ条件となるパケットのヘッダ情報送信元IPアドレス、宛先IPアドレス、プロトコル、TCP/UDP送信元ポート番号、TCP/UDP宛先ポート番号、DSCP値と、アクションとなる送信ポートと、その送信キューと、書き換えるDSCP値で表される。一般的に、DSCP値DifferentiatedServicesCodePointは、IPPriority及びTypeofServiceフィールドの組み合わせである。ユーザ認証部35は、ユーザ端末10の接続時に認証情報ユーザ名とパスワード等を要求し、その応答結果からユーザ情報記憶部31を検索してQoSポリシーを割り当てる。QoS制御部36は、ユーザ認証部35で割り当てられたQoSポリシーとユーザ端末10のIPアドレスとを対応付け、QoSポリシー記憶部32に記憶する。経路計算部37は、トポロジ情報記憶部33を検索し、QoSポリシーに基づいて、例えば、優先度の高いフローが契約帯域の高いIPネットワーク41を経由するように経路を決定する。フローテーブル生成部38は、入力されたフロー、経路、QoSポリシーに対して、経路上のスイッチ2020-i、i=1~nのフローテーブルを生成し、フローテーブル記憶部34に登録状態を記憶する。スイッチ制御部39は、スイッチ2020-i、i=1~nとの通信を行い、スイッチ2020-i、i=1~nからの通知の受信と、スイッチ2020-i、i=1~nへのフローテーブルの登録を行う。[本実施形態のQoS制御処理]次に、図6を参照して、本実施形態におけるQoS制御について詳細に説明する。1ステップA1ユーザ端末10は、ネットワークに接続すると、パケットを送信する。スイッチ2020-i、i=1~nは、パケットを受信した際、受信パケットのヘッダ情報をキーにフローテーブル記憶部34を検索し、フローテーブルに該当するエントリが登録されていなければ、コントローラ30のスイッチ制御部39に、受信パケットを通知する。2ステップA2スイッチ制御部39は、通知を受け取ると、QoS制御部36にパケットを渡す。QoS制御部36は、入力されたパケットを保持し、送信元IPアドレスをキーにQoSポリシー記憶部32を検索する。3ステップA3QoS制御部36は、QoSポリシー記憶部32の検索で、該当するIPアドレスが存在するか確認する。QoS制御部36は、QoSポリシー記憶部32の検索で該当するIPアドレスが存在する場合、当該IPアドレスに対応付けられたQoSポリシーを特定し、保持していたパケットを経路計算部37へ渡す。また、QoSポリシー記憶部32の検索で該当するIPアドレスが存在しない場合、ユーザ未認証であるため、ユーザ認証部35へ通知する。4ステップA4ユーザ認証部35は、認証情報ユーザ名とパスワード等をユーザ端末10へ要求し、その応答により認証を行い、ユーザ情報記憶部31を検索し、QoSポリシーを決定してQoS制御部36へ通知する。5ステップA5QoS制御部36は、入力されたQoSポリシーと保持していたパケットの送信元IPアドレスを対応付けてQoSポリシー記憶部32へ記録して、保持していたパケットとQoSポリシーを経路計算部37へ渡す。6ステップA6経路計算部37は、入力されたパケットとQoSポリシーを基にトポロジ情報記憶部33を検索し、例えば、優先度の高いフローが契約帯域の高いIPネットワーク41を経由するよう経路を決定して、パケットとQoSポリシーと経路情報をフローテーブル生成部38へ通知する。7ステップA7フローテーブル生成部38は、入力されたパケットとQoSポリシーと経路情報から、ネットワークA及びBへの送信方向のスイッチ2020-i、i=1~nのフローテーブルのヘッダ情報と送信ポートと送信キューと書き換えるDSCP値を決定する。また、フローテーブル生成部38は、DSCP値から、ネットワークA及びBから受信方向のスイッチ2020-i、i=1~nのフローテーブルの送信キューを決定する。フローテーブルの具体例は、図5の通りである。このように、フローテーブル生成部38は、スイッチ20-1及びスイッチ20-2の往復分のフローテーブルを生成し、スイッチ制御部39へ渡す。8ステップA8スイッチ制御部39は、入力されたフローテーブルを経路上のスイッチ2020-i、i=1~nの各々にそれぞれ登録する。以降、当該経路上のスイッチ2020-i、i=1~nの各々は、登録されたフローテーブルのエントリに従って転送を行う。スイッチ2020-i、i=1~nの各々は、パケットを受信した際、該当するエントリを参照し、経路に従ったポートからパケットを送信する。ネットワークA及びBを挟んだスイッチ2020-i、i=1~nの間では、DSCP値を参照することでDiffServによるQoS制御が行われる。[本実施形態の効果]本実施形態では、ユーザのQoSポリシーに見合ったネットワークを経由するように、コントローラで経路を決定することができるため、通信経路の間に複数の外部ネットワークが存在する場合でも、ユーザ単位のQoS制御を行うことができる。また、本実施形態では、認証したユーザのフローを識別してDSCP値のマーキングを行い、外部ネットワークでDSCP値を参照してQoS制御を行うことができるため、外部ネットワークがDiffServによるQoSを提供している場合、ユーザ単位のQoS制御を行うことができる。<第2実施形態>以下に、本発明の第2実施形態について説明する。本実施形態は、外部の汎用的な認証サーバにおいてユーザ認証を行い、QoSポリシーを決定する点で異なる。汎用的な認証サーバではQoSの属性は定められていないが、ベンダ固有の属性があり、ここにQoSポリシーを含むことができる。例えば、RADIUSRemoteAuthenticationDialInUserServiceではVSAVendorSpecificAttributeが用意されていてユーザの属性として利用することができる。図7を参照すると、本実施形態におけるネットワークシステムは、ユーザ端末10と、スイッチ2020-i、i=1~n:nはスイッチ数と、コントローラ30と、サーバ40と、認証サーバ50を含む。ユーザ端末10、スイッチ2020-i、i=1~n、コントローラ30と、及びサーバ40に関しては、基本的に、図1に示す第1実施形態と同じである。本実施形態では、第1実施形態のコントローラ30におけるユーザ認証に関する機能を、認証サーバ50として独立させている。[コントローラの詳細構成]コントローラ30は、QoSポリシー記憶部32と、トポロジ情報記憶部33と、フローテーブル記憶部34と、QoS制御部36と、経路計算部37と、フローテーブル生成部38と、スイッチ制御部39とを備える。QoSポリシー記憶部32、トポロジ情報記憶部33、フローテーブル記憶部34、QoS制御部36、経路計算部37、フローテーブル生成部38、及びスイッチ制御部39に関しては、基本的に、図1に示す第1実施形態と同じである。[認証サーバの詳細構成]認証サーバ50は、ユーザ情報記憶部51と、ユーザ認証部55を備える。ユーザ情報記憶部51は、基本的に、図1に示す第1実施形態のユーザ情報記憶部31と同じである。すなわち、ユーザ情報記憶部51は、ユーザ情報を予め記憶している。ユーザ情報は、図2に示すように、ユーザ名、パスワード、QoSポリシー等を含む。ユーザ認証部55は、基本的に、図1に示す第1実施形態のユーザ認証部35と同じである。すなわち、ユーザ認証部55は、ユーザ端末10の接続時に認証情報ユーザ名とパスワード等を要求し、その応答結果からユーザ情報記憶部51を検索してQoSポリシーを割り当てる。[本実施形態のQoS制御処理]図8を参照して、本実施形態のQoS制御処理について詳細に説明する。1ステップB1ユーザ端末10は、ネットワークに接続すると、パケットを送信する。スイッチ2020-i、i=1~nは、パケットを受信した際、受信パケットのヘッダ情報をキーにフローテーブル記憶部34を検索し、フローテーブルに該当するエントリが登録されていなければ、コントローラ30のスイッチ制御部39に、受信パケットを通知する。2ステップB2スイッチ制御部39は、通知を受け取ると、QoS制御部36にパケットを渡す。QoS制御部36は、入力されたパケットを保持し、送信元IPアドレスをキーにQoSポリシー記憶部32を検索する。3ステップB3QoS制御部36は、QoSポリシー記憶部32の検索で、該当するIPアドレスが存在するか確認する。QoS制御部36は、QoSポリシー記憶部32の検索で該当するIPアドレスが存在する場合、当該IPアドレスに対応付けられたQoSポリシーを特定し、保持していたパケットを経路計算部37へ渡す。また、QoSポリシー記憶部32の検索で該当するIPアドレスが存在しない場合、ユーザ未認証であるため、認証サーバ50のユーザ認証部55へ通知する。4ステップB4ユーザ認証部55は、認証情報ユーザ名とパスワード等をユーザ端末10へ要求し、その応答により認証を行い、ユーザ情報記憶部51を検索し、ベンダ固有属性からQoSポリシーを決定してコントローラ30のQoS制御部36へ通知する。5ステップB5QoS制御部36は、入力されたQoSポリシーと保持していたパケットの送信元IPアドレスを対応付けてQoSポリシー記憶部32へ記録して、保持していたパケットと当該QoSポリシーを経路計算部37へ渡す。6ステップB6経路計算部37は、入力されたパケットとQoSポリシーを基にトポロジ情報記憶部33を検索し、例えば、優先度の高いフローが契約帯域の高いIPネットワーク41を経由するよう経路を決定して、パケットとQoSポリシーと経路情報をフローテーブル生成部38へ通知する。7ステップB7フローテーブル生成部38は、入力されたパケットとQoSポリシーと経路情報から、ネットワークA及びBへの送信方向のスイッチ2020-i、i=1~nのフローテーブルのヘッダ情報と送信ポートと送信キューと書き換えるDSCP値を決定する。また、フローテーブル生成部38は、DSCP値から、ネットワークA及びBから受信方向のスイッチ2020-i、i=1~nのフローテーブルの送信キューを決定する。フローテーブルの具体例は、図5の通りである。このように、フローテーブル生成部38は、スイッチ20-1及びスイッチ20-2の往復分のフローテーブルを生成し、スイッチ制御部39へ渡す。8ステップB8スイッチ制御部39は、入力されたフローテーブルを経路上のスイッチ2020-i、i=1~nの各々にそれぞれ登録する。以降、当該経路上のスイッチ2020-i、i=1~nの各々は、登録されたフローテーブルのエントリに従って転送を行う。スイッチ2020-i、i=1~nの各々は、パケットを受信した際、該当するエントリを参照し、経路に従ったポートからパケットを送信する。ネットワークA及びBを挟んだスイッチ2020-i、i=1~nの間では、DSCP値を参照することでDiffServによるQoS制御が行われる。<他の実施形態>本発明の第2実施形態では、コントローラ30のユーザ情報31及びユーザ認証部35を認証サーバ50として独立させているが、実際には、コントローラ30の他の構成要素を外部サーバとして独立させることも可能である。例えば、QoSポリシー記憶部32及びQoS制御部36をQoSサーバとして独立させたり、トポロジ情報記憶部33及び経路計算部37を経路制御サーバとして独立させたりすることも考えられる。<各実施形態の関係>なお、上記の各実施形態は、組み合わせて実施することも可能である。例えば、第1実施形態におけるコントローラ30が、自身のユーザ情報31及びユーザ認証部35に該当する情報がない場合に、第2実施形態における認証サーバ50に問い合わせるようにすることも可能である。また、第1実施形態におけるコントローラ30と、第2実施形態におけるコントローラ30及び認証サーバ50とは、互いに置換可能である。<まとめ>以上のように、本発明では、ユーザ端末からサーバへ通信を行うと、ファーストパケットをスイッチが受信して外部のコントローラに通知を行い、コントローラのユーザ認証部が該当ユーザに対するフローのQoSポリシーを決定する。経路の間に複数のネットワークA及びBが存在する場合、経路計算部がQoSポリシーとトポロジ情報記憶部のトポロジ情報から適切なIPネットワークを経由するように経路を選択する。フローテーブル生成部は、選択されたIPネットワークにパケットを送信する際に、QoSポリシーに基づいたキューイングとIPヘッダのDSDiffServフィールドへDSCP値のマーキングを行うフローテーブルを生成し、スイッチに往復分のフローテーブルを登録する。以降、スイッチは、登録されたフローテーブルのQoSに従ったパケット転送を行い、ネットワークA及びBでは、IPヘッダのDSフィールドのDSCP値を参照することでDiffServによるQoS制御が行われる。本発明では、ユーザ端末からのネットワーク接続時にユーザ認証を行い、割り当てられたQoSポリシーに従った通信を可能にする。また、スイッチの制御を外部コントローラで行い、該当ユーザのパケットを識別してマーキングし、適切なネットワークを経由するよう通信経路を選択することで、通信経路の間に外部ネットワークが存在する場合でも、ユーザ単位のQoS制御を行うことを可能とする。<付記>上記の実施形態の一部又は全部は、以下の付記のように記載することも可能である。但し、実際には、以下の記載例に限定されない。[付記1]複数の外部ネットワークに接続され、パケット受信時に、フローを構成する各パケットを一律に制御するためのルールと動作が定義されたエントリが設定されたフローエントリを検索して、エントリに定義されたルールに適合する受信パケットに対して、エントリに定義された動作を行う機能を持つスイッチと、スイッチからパケットの問い合わせを受け、該パケットを一律に制御するためのルールと動作が定義されたエントリを、スイッチのフローテーブルに設定する機能を持つコントローラとを含み、コントローラは、スイッチから問い合わせを受けたパケットに該当するQoSポリシーを特定する機能を持つQoS制御部と、ネットワークの接続状態を表すトポロジ情報とQoSポリシーから、該QoSポリシーに見合った外部ネットワークを選択し、最適な経路を算出する機能を持つ経路計算部と、該パケットと経路情報とQoSポリシーから、経路上のスイッチの送信ポートとキューを決定し、フローテーブルのエントリを生成する機能を持つフローテーブル生成部と、経路上のスイッチのフローテーブルに該エントリを設定する機能を持つスイッチ制御部とを具備するネットワークシステム。[付記2]付記1に記載のネットワークシステムであって、フローテーブル生成部は、送信方向のフローテーブルのエントリにルールとして定義されたヘッダ情報、及び、該エントリに動作として定義された送信ポートと送信キュー、を書き換えるDSCP値を決定する機能を持ち、該DSCP値から、受信方向のフローテーブルのエントリに動作として定義される送信キューを決定する機能を持つネットワークシステム。[付記3]付記1又は2に記載のネットワークシステムであって、コントローラは、パケットに該当するQoSポリシーが存在しない場合、パケットの送信元に認証情報ユーザ名とパスワード等を要求し、該要求に対する応答結果を基に、パケットの送信元に対するQoSポリシーを決定する機能を持つユーザ認証部を更に具備するネットワークシステム。[付記4]付記1乃至3のいずれか一項に記載のネットワークシステムであって、コントローラに接続された認証サーバを更に含み、認証サーバは、パケットに該当するQoSポリシーが存在しない場合、パケットの送信元に認証情報ユーザ名とパスワード等を要求し、該要求に対する応答結果を基に、パケットの送信元に対するQoSポリシーを決定する機能を持つユーザ認証部を具備するネットワークシステム。[付記5]複数の外部ネットワークに接続されたスイッチから問い合わせを受けたパケットに該当するQoSポリシーを特定する機能を持つQoS制御部と、ネットワークの接続状態を表すトポロジ情報とQoSポリシーから、該QoSポリシーに見合った外部ネットワークを選択し、最適な経路を算出する機能を持つ経路計算部と、該パケットと経路情報とQoSポリシーから、経路上のスイッチの送信ポートとキューを決定し、フローテーブルのエントリを生成する機能を持つフローテーブル生成部と、経路上のスイッチのフローテーブルに該エントリを設定する機能を持つスイッチ制御部とを具備するコントローラ。<備考>以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。なお、本出願は、日本出願番号2011-009720に基づく優先権を主張するものであり、日本出願番号2011-009720における開示内容は引用により本出願に組み込まれる。