(57)【要約】【課題】複数の論理パスにより構成される仮想パスを、外部ネットワークへの出力インターフェースのワイヤレートを実現するよう割り当てる。【解決手段】第１外部網から第１フローのパケットの入力を受け付ける第１通信装置と、第１通信装置との間に設定された複数のパスのいずれかを経由して第１通信装置から転送された第１フローのパケットを、第２外部網に対して出力する第２通信装置と、第１通信装置及び第２通信装置を制御する制御装置と、を含む通信システムにおいて、制御装置は、保証帯域の合計が要求帯域以上であり、かつ最大遅延差が第２通信装置の出力インターフェースの伝送速度及びメモリのメモリサイズから算出される許容遅延差以内である１以上のパスの組み合わせを、該複数のパスから選択する。【選択図】図１１
2016005123.tif 000002
【特許請求の範囲】
【請求項１】
第１外部網から第１フローのパケットの入力を受け付ける第１通信装置と、
前記第１通信装置との間に設定された複数のパスのいずれかを経由して前記第１通信装置から転送された前記第１フローのパケットを、第２外部網に対して出力する第２通信装置と、
前記第１通信装置及び前記第２通信装置を制御する制御装置と、を含み、
前記第２通信装置は、受信したパケットを一時的に格納するメモリを有し前記メモリから取り出したパケットを前記第２外部網に出力する出力インターフェースを含み、
前記制御装置は、
前記複数のパスそれぞれにおける保証帯域及び遅延を示す第１情報を保持し、
前記第１フローのパケットを転送する要求帯域を取得し、
前記複数のパスそれぞれにおける保証帯域及び遅延を、前記第１情報から取得し、
保証帯域の合計が前記取得した要求帯域以上であり、かつ最大遅延差が前記出力インターフェースの伝送速度及び前記メモリのメモリサイズから算出される許容遅延差以内である１以上のパスの第１組み合わせを、前記複数のパスから選択し、
前記第１組み合わせを、前記第１通信装置及び前記第２通信装置に対して通知し、
前記第１通信装置は、
前記第１外部網から入力された前記第１フローのパケットに対して、前記第１通信装置に到着した順序を示す順序情報を付与し、
前記順序情報を付与したパケットを、前記第１組み合わせに含まれるパスのいずれかを経由して前記第２通信装置に対して転送し、
前記第２通信装置は、
前記転送されたパケットを、前記メモリに格納し、
前記格納したパケットを、前記順序情報に従って前記メモリから前記第２外部網に対して出力する、通信システム。
【請求項２】
請求項１に記載の通信システムであって、
前記第１通信装置は、
前記第１組み合わせに含まれるパスそれぞれにおける保証帯域と遅延から算出される値の比に基づいて、前記第１フローの複数のパケットを前記第１組み合わせに含まれるパスに振り分ける、通信システム。
【請求項３】
請求項１に記載の通信システムであって、
前記制御装置は、
前記複数のパスの遅延の変化を取得し、
前記第１組み合わせに含まれるパスの変化後の最大遅延差が、閾値を超えたことを検出した場合、保証帯域の合計が前記取得した要求帯域以上であり、かつ変化後の遅延における最大遅延差が前記許容遅延差以内である１以上のパスの組み合わせを、前記複数のパスから再選択し、
前記再選択した組み合わせを、前記第１通信装置及び前記第２通信装置に対して通知する、通信システム。
【請求項４】
請求項３に記載の通信システムであって、
前記閾値は、前記許容遅延差である、通信システム。
【請求項５】
請求項３に記載の通信システムであって、
前記制御装置は、
前記第１フローの前記メモリの使用量を取得し、
前記第１組み合わせに含まれるパスの保証帯域と、前記出力インターフェースの伝送速度及び前記メモリのメモリサイズと、に基づいて、前記第１フローの前記メモリの想定使用量を算出し、
前記メモリの使用量が、前記算出した想定使用量より小さい場合、前記閾値を前記算出した想定使用量に基づき変更する、通信システム。
【請求項６】
請求項１に記載の通信システムであって、
前記制御装置は、
保証帯域の合計が前記取得した要求帯域以上であり、かつ最大遅延差が前記許容遅延差以内である、複数の組み合わせを前記複数のパスから選択し、
前記第１組み合わせとして、前記複数の組み合わせのうち、前記保証帯域の合計が最小である組み合わせを選択する、通信システム。
【請求項７】
請求項１に記載の通信システムであって、
前記制御装置は、
保証帯域の合計が前記取得した要求帯域以上であり、かつ最大遅延差が前記許容遅延差以内である、複数の組み合わせを前記複数のパスから選択し、
前記第１組み合わせとして、前記複数の組み合わせのうち、パスの本数が最小である組み合わせを選択する、通信システム。
【請求項８】
第１外部網から第１フローのパケットの入力を受け付ける第１通信装置と、前記第１通信装置との間に設定された複数のパスのいずれかを経由して、前記第１通信装置から転送された前記第１フローのパケットを、第２外部網に対して出力する第２通信装置と、を制御する制御装置であって、
前記第２通信装置は、受信したパケットを一時的に格納するメモリを有し前記メモリから取り出したパケットを前記第２外部網に出力する出力インターフェースを含み、
前記制御装置は、
前記複数のパスそれぞれにおける保証帯域及び遅延を示す第１情報を保持し、
前記第１フローのパケットを転送する要求帯域を取得し、
前記複数のパスそれぞれにおける保証帯域及び遅延を、前記第１情報から取得し、
保証帯域の合計が前記取得した要求帯域以上であり、かつ最大遅延差が前記出力インターフェースの伝送速度及び前記メモリのメモリサイズから算出される許容遅延差以内である１以上のパスの第１組み合わせを、前記複数のパスから選択し、
前記第１組み合わせを、前記第１通信装置及び前記第２通信装置に対して通知する、制御装置。
【請求項９】
請求項８に記載の制御装置であって、
前記複数のパスの遅延の変化を取得し、
前記第１組み合わせに含まれるパスの変化後の最大遅延差が、閾値を超えたことを検出した場合、保証帯域の合計が前記取得した要求帯域以上であり、かつ変化後の遅延における最大遅延差が前記許容遅延差以内である１以上のパスの組み合わせを、前記複数のパスから再選択し、
前記再選択した組み合わせを、前記第１通信装置及び前記第２通信装置に対して通知する、制御装置。
【請求項１０】
請求項９に記載の制御装置であって、
前記閾値は、前記許容遅延差である、制御装置。
【請求項１１】
請求項９に記載の制御装置であって、
前記第１フローの前記メモリの使用量を取得し、
前記第１組み合わせに含まれるパスの保証帯域と、前記出力インターフェースの伝送速度及び前記メモリのメモリサイズと、に基づいて、前記第１フローの前記メモリの想定使用量を算出し、
前記メモリの使用量が、前記算出した想定使用量より小さい場合、前記閾値を前記算出した想定使用量に基づき変更する、制御装置。
【請求項１２】
請求項８に記載の制御装置であって、
保証帯域の合計が前記取得した要求帯域以上であり、かつ最大遅延差が前記許容遅延差以内である、複数の組み合わせを前記複数のパスから選択し、
前記第１組み合わせとして、前記複数の組み合わせのうち、前記保証帯域の合計が最小である組み合わせを選択する、制御装置。
【請求項１３】
請求項８に記載の制御装置であって、
保証帯域の合計が前記取得した要求帯域以上であり、かつ最大遅延差が前記許容遅延差以内である、複数の組み合わせを前記複数のパスから選択し、
前記第１組み合わせとして、前記複数の組み合わせのうち、パスの本数が最小である組み合わせを選択する、制御装置。
【請求項１４】
第１外部網から第１フローのパケットの入力を受け付ける第１通信装置と、
前記第１通信装置との間に設定された複数のパスのいずれかを経由して、前記第１通信装置から転送された前記第１フローのパケットを、第２外部網に対して出力する第２通信装置と、を制御する方法であって、
前記第２通信装置は、受信したパケットを一時的に格納するメモリを有し前記メモリから取り出したパケットを前記第２外部網に出力する出力インターフェースを含み、
前記方法は、
前記第１フローのパケットを転送する要求帯域を取得する手順と、
前記複数のパスそれぞれにおける保証帯域及び遅延を取得する手順と、
保証帯域の合計が前記取得した要求帯域以上であり、かつ最大遅延差が前記出力インターフェースの伝送速度及び前記メモリのメモリサイズから算出される許容遅延差以内である１以上のパスの第１組み合わせを、前記複数のパスから選択する手順と、
前記第１組み合わせを、前記第１通信装置及び前記第２通信装置に対して通知する手順と、を含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、制御装置、及び通信装置を制御する方法に関する。
【背景技術】
【０００２】
近年、クラウドサービスの普及と共に、ネットワーク基盤の共通化及びネットワークリソースの効率的な運用を実現するために、共通のハードウェアを利用して、仮想的なネットワークを提供するネットワーク仮想化技術が注目されている。
【０００３】
ネットワーク仮想化技術の利用形態の一つとして、外部ネットワークに接続する通信装置と、通信装置間を接続する中継装置と、を含む通信ネットワークによって、外部ネットワーク間を接続する形態がある。当該通信ネットワークは、外部ネットワークを利用するユーザに対して、物理パス上に１以上の論理的な通信パス（以下、論理パスとする）を構築し、論理パスに帯域リソースを割り当てることで、ユーザごとに分割された仮想的なネットワーク（以下、仮想ネットワークとする）を提供することができる。
【０００４】
仮想ネットワークを構成する論理パスを構築する技術として、例えばＭＰＬＳ（Ｍｕｌｔｉ  Ｐｒｏｔｏｃｏｌ  Ｌａｂｅｌ  Ｓｗｉｔｃｈｉｎｇ）等がある。このような技術における、論理パスの帯域リソースは、通信装置間の物理リンクで提供可能なリソースにより制限される。つまり、通信ネットワークが、ある通信装置間の複数の物理パスでリソースを分散して保持している場合でも、単独のパスでユーザの要求を満たせなければ、リソースを活用することができない。
【０００５】
これに対して、複数の論理パスにユーザパケットを分散させることで、１本の仮想的なパス（以下、仮想パスとする）を構築し、物理パスに制限されずに、ユーザに対してリソース割り当てを行う技術がある。当該技術によれば、複数の論理パスに分散した帯域リソースを活用することで、ユーザの要求に対する柔軟性が向上させることができ、通信ネットワーク全体の利用効率を高めることができる。
【０００６】
しかしながら、通信ネットワークが複数の論理パスを１本の仮想パスとして提供した場合、当該複数の論理パス間の通信遅延差により、パケットの順序逆転が発生する可能性がある。パケットの順序逆転は、例えばＴＣＰ通信等ではパケットロスと判定されるため、スループットの低下につながる。これに対しては、出力側の通信装置におけるメモリが一時的にパケットを格納し、順序を戻して送信する順序制御が必要となる。
【０００７】
複数のパスを用いてパケットを送信した際の順序制御を行う背景技術として、特開平６−２７６２３０号公報（特許文献１）がある。特許文献１には、「パケット端末１で情報を複数パケットに分割して送出し、交換ノード２において、宛先ノード読み出し部３でパケットの宛先端末情報を読み出し、論理チャネル割り当て部５で論理チャネル割り当てテーブル４を参照して、宛先ノード番号対応に論理チャネルを割り当て、ルーティング部６で論理チャネル対応の物理リンクにパケットを出力し、バッファ７を経て他交換ノードに出力し、端末識別部８で宛先パケット端末を識別し、順序制御部９でパケットの順序を制御してパケット端末１０に出力することで、端末の伝送情報を複数の論理チャネルに分散して他交換ノードに送出し、他交換ノードからの複数のパケットを合成して宛先端末へ出力し、他交換ノードからのパケットを別の交換ノードへ中継する。」と記載されている（要約参照）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平６−２７６２３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
特許文献１に記載の技術は、ベストエフォート通信における中継ノードの経路制御負荷の軽減と特定ノードへのトラヒック集中を回避することを目的としているため、選択する論理チャネル間の遅延差に制限はない。しかし、順序制御に利用されるメモリのサイズは有限である。従って、当該遅延差が、パケットをメモリに格納しておくことが可能な時間、即ち通信装置が許容できる論理パスの遅延時間差を超過すると、通信装置における外部ネットワークへの出力インターフェースがワイヤレートを実現できない。
【００１０】
具体的には、共通の出力インターフェースに対する遅延時間差の平均が、メモリサイズと出力インターフェースの伝送速度の商、即ち出力インターフェースがメモリサイズと同量のデータを伝送する時間を超過すると、ワイヤレートを実現することができない。つまり、この遅延差が大きくなるほど出力インターフェースがボトルネックとなるため、仮想パスとしてユーザ毎に帯域リソースを割り当てる場合、割り当て可能なリソースが制限され、通信ネットワークの利用効率が低下しまう。
【００１１】
そこで本発明は、複数の論理パスにより構成される仮想パスをユーザに対して割り当て、出力側の通信装置でパケットの順序制御を行うシステムにおいて、物理リソースに依存せずに柔軟に帯域リソースを割り当てることを可能にしつつ、外部ネットワークへの出力インターフェースにおけるワイヤレートを実現し、ひいては、物理リソースを高効率に利用可能な通信システムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明は、例えば、以下のような構成を採用する。第１外部網から第１フローのパケットの入力を受け付ける第１通信装置と、前記第１通信装置との間に設定された複数のパスのいずれかを経由して前記第１通信装置から転送された前記第１フローのパケットを、第２外部網に対して出力する第２通信装置と、前記第１通信装置及び前記第２通信装置を制御する制御装置と、を含み、前記第２通信装置は、受信したパケットを一時的に格納するメモリを有し前記メモリから取り出したパケットを前記第２外部網に出力する出力インターフェースを含み、前記制御装置は、前記複数のパスそれぞれにおける保証帯域及び遅延を示す第１情報を保持し、前記第１フローのパケットを転送する要求帯域を取得し、前記複数のパスそれぞれにおける保証帯域及び遅延を、前記第１情報から取得し、保証帯域の合計が前記取得した要求帯域以上であり、かつ最大遅延差が前記出力インターフェースの伝送速度及び前記メモリのメモリサイズから算出される許容遅延差以内である１以上のパスの第１組み合わせを、前記複数のパスから選択し、前記第１組み合わせを、前記第１通信装置及び前記第２通信装置に対して通知し、前記第１通信装置は、前記第１外部網から入力された前記第１フローのパケットに対して、前記第１通信装置に到着した順序を示す順序情報を付与し、前記順序情報を付与したパケットを、前記第１組み合わせに含まれるパスのいずれかを経由して前記第２通信装置に対して転送し、前記第２通信装置は、前記転送されたパケットを、前記メモリに格納し、前記格納したパケットを、前記順序情報に従って前記メモリから前記第２外部網に対して出力する、通信システム。
【発明の効果】
【００１３】
本発明の一態様によれば、ユーザに対して、通信ネットワーク上の１以上の論理パスからなる仮想パスを、出力側のワイヤレートを実現するように提供することができ、ひいては、通信ネットワークの物理リソースを効率的に利用することができる。上記した以外の課題、構成、及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１４】
【図１】実施例１において、通信システムの概要例を示す説明図である。
【図２】実施例１において、パケットフォーマットの例である。
【図３】実施例１において、制御装置の構成例を示すブロック図である。
【図４】実施例１における、制御装置の物理情報管理部に格納された通信装置情報テーブルの例である。
【図５】実施例１における、制御装置の論理パス情報管理部に格納された論理パス情報テーブルの例である。
【図６】実施例１における、制御装置の仮想パス情報管理部に格納された仮想パス情報テーブルの例である。
【図７】実施例１において、パス制御部による論理パス選択処理の一例を示すフローチャートである。
【図８】実施例１において、通信装置の構成例を示すブロック図である。
【図９】実施例１における、外部ＮＷ側ＩＦカードの転送情報管理部に格納された仮想パス情報テーブルの例である。
【図１０】実施例１における、外部ＮＷ側ＩＦカードの転送情報管理部に格納された論理パス情報テーブルの例である。
【図１１】実施例１において、仮想パスの設定例を示す説明図である。
【図１２】実施例２における、外部ＮＷ側ＩＦカードの転送情報管理部に格納された仮想パス情報テーブルの例である。
【図１３】実施例２における、制御装置の仮想パス情報管理部に格納された仮想パス情報テーブルの例である。
【発明を実施するための形態】
【００１５】
以下、添付図面を参照して本発明の実施形態を説明する。本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。各図において共通の構成については同一の参照符号が付されている。
【実施例１】
【００１６】
図１は、本実施例の通信システムの概要例を示す。本実施例の通信システムは、通信ネットワーク１０及び制御装置３００を含み、通信ネットワーク１０を経由して外部ネットワーク２０と他の外部ネットワーク２０とを接続する。通信ネットワーク１０は、外部ネットワーク２０と接続する複数の通信装置１００と、通信装置１００間を中継する複数の中継装置２００と、を含む。外部ネットワーク２０は、１以上のノードを含む。
【００１７】
任意の通信装置１００間は、異なる中継装置２００により構成される複数の物理パスにより接続される。当該複数の物理パスそれぞれに対して、１以上の論理的な通信パス、即ち論理パスが設定され、当該論理パスそれぞれに対して帯域リソースが割り当てられる。
【００１８】
制御装置３００は、ユーザの要求に基づいて通信ネットワーク１０を制御し、１以上の論理パスを含む１本の仮想的なパス、即ち仮想パスを構築することで、外部ネットワーク２０間の接続を提供する。通信装置１００は、仮想パスに含まれる論理パスにパケットを分散して送信する。制御装置３００は、事前に運用者等による通信装置１００間の複数の論理パスの登録を受け付ける。制御装置３００は、登録された複数の論理パスの情報に基づいて通信装置１００及び中継装置２００の設定を行い、当該複数の論理パスを管理する。
【００１９】
また、制御装置３００は、通信装置１００の出力インターフェースの伝送速度とメモリサイズの情報を取得し、仮想パスを構築する論理パスの許容遅延差（＝メモリサイズ／伝送速度）を保持する。なお、許容遅延差は、例えば、メモリサイズ／伝送速度から正の定数を引いた値、又はメモリサイズ／伝送速度を１より大きい定数で割った値であってもよい。なお、制御装置３００が許容遅延差を算出してもよいし、例えば、運用者等によって算出された許容遅延差の入力を制御装置３００が受け付けてもよい。
【００２０】
通信装置１００は、設定された各論理パスに対して、例えばＯＡＭ（Ｏｐｅｒａｔｉｏｎ  Ａｄｍｉｎｉｓｔｒａｔｉｏｎ  Ｍａｉｎｔｅｎａｎｃｅ）機能等により周期的に通信遅延を測定し、測定した通信遅延を制御装置３００に通知する。制御装置３００は、通信装置１００から通知された通信遅延を管理する。以下、通信遅延を単に遅延とも呼ぶ。
【００２１】
制御装置３００は、例えば、接続する外部ネットワーク２０及び要求帯域等を含む仮想パス構築要求の入力をユーザから受けつけると、要求帯域を満たすように、接続する外部ネットワークに該当する通信装置１００間に構築されている１つ以上の論理パスを選択し、仮想パスとしてフローに割り当てる。なおフローとは、共通の属性（例えば、共通の宛先ＩＰアドレス及びＴＣＰ／ＵＤＰのポート番号）を有する通信のグループを示す。従って、通信装置１００は、例えば、受信したパケットの宛先ＩＰアドレスやＴＣＰ／ＵＤＰのポート番号等を参照して、当該パケットが属するフローを判定する。
【００２２】
制御装置３００は、仮想パスを構成する各論理パスを、保証帯域の合計が要求帯域を満たす最小の本数で、且つ保証帯域の合計が要求帯域に最も近く、最大遅延差が該当する通信装置１００における出力インターフェースの許容遅延差以下となるように選択する。最大遅延差とは、選択した論理パスにおける、最大の遅延から最小の遅延を引いた値である。なお、制御装置３００は、例えば、ユーザによる入力に従って、仮想パスに含まれる論理パスを選択してもよい。
【００２３】
制御装置３００は、仮想パスを構成する論理パスが決定した後に、通信装置１００に対して、当該論理パスとフローの判定条件との対応を設定する。フローの判定条件は、パケットが特定のフローに属するか否かを判定するための条件である。以下、フローの判定条件を、フロー条件とも呼ぶ。
【００２４】
外部ネットワーク２０からユーザパケットの入力を受け付ける通信装置１００（以下、入力側の通信装置１００とする）は、設定されたフローの判定条件に応じて、フロー識別子と、順序制御のためのシーケンス番号とを有するフローヘッダと、転送する論理パスの識別子と、を含む論理パスヘッダにより、受信したユーザパケットに対してカプセル化処理を行う（図２参照）。入力側の通信装置１００は、カプセル化処理を行ったパケットを、当該パケットが属するフローに対応する仮想パスを構成する論理パスに振り分けて出力する。
【００２５】
中継装置２００は、パケットに含まれる論理パスの識別子に従い、次ホップの装置へのスイッチ及び識別子の変換を行い、外部ネットワーク２０に対してパケットを出力する通信装置１００（以下、出力側の通信装置１００とする）にパケットを転送する。出力側の通信装置１００は、受信したパケットのフロー識別子とシーケンス番号とに基づいて順序制御を行い、当該パケットを外部ネットワーク２０に出力する。
【００２６】
また制御装置３００は、周期的に通信装置１００により通知される通信遅延情報から、構築した仮想パスを構成する論理パスの最大遅延差を算出する。例えば、ネットワークの輻輳などにより、算出した最大遅延差が許容遅延差以上になった場合、制御装置３００は最大遅延差が許容遅延差以下となるように、仮想パスを構成する論理パスを再選択する。制御装置３００は、当該再選択した論理パスから構成される仮想パスを、通信装置１００に対して再設定する。
【００２７】
図２は、入力側の通信装置１００がカプセル化処理を行ったパケット５００のフォーマットの例である。パケット５００は、Ｌ２ヘッダ５０１と、論理パスヘッダ５０２と、フローヘッダ５０３と、ユーザパケット５０４と、を含む。Ｌ２ヘッダ５０１は、ＯＳＩ（Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）参照モデルのデータリンク層の情報を含む。論理パスヘッダ５０２は、当該パケット５００を転送する論理パスの識別子を含む。
【００２８】
フローヘッダ５０３は、入力側の通信装置１００により判定された当該パケットが属するフロー識別子と、出力側の通信装置１００における順序制御に利用されるシーケンス番号と、を含む。ユーザパケット５０４は、入力側の通信装置１００が外部ネットワーク２０から受信した、カプセル化処理前のパケットである。
【００２９】
図３は、本実施例の制御装置３００の構成例を示す。制御装置３００は、例えば、ＣＰＵ３０１、記憶装置３０２、通信インターフェース３０３を含む計算機上に構成される。ＣＰＵ３０１は、プログラムに従って動作するプロセッサ及び／又は論理回路を含み、データの入力／出力、読み込み／書き込みを行い、さらに、後述する各プログラムを実行する。
【００３０】
記憶装置３０２は、ＣＰＵ３０１が実行するプログラム及びデータを一時的にロードして記憶し、さらに各プログラム及び各データを保持する。記憶装置３０２は、プログラムである、運用者設定部３１０と、リクエスト受付部３２０と、パス制御部３３０と、装置通信部３５０と、を保持する。また、記憶装置３０２は、データを格納する領域である情報管理部３４０を含む。通信インターフェース３０３は、通信装置１００等の外部装置と互いに通信処理を行うインターフェースである。
【００３１】
プログラムはＣＰＵ３０１によって実行されることで、定められた処理を記憶装置３０２及び通信インターフェース３０３を用いながら行う。従って、本実施例及び他の実施例においてプログラムを主語とする説明は、ＣＰＵ３０１を主語とした説明でもよい。若しくは、プログラムが実行する処理は、そのプログラムが動作する計算機及び計算機システムが行う処理である。
【００３２】
ＣＰＵ３０１は、プログラムに従って動作することによって、所定の機能を実現する機能部として動作する。例えば、ＣＰＵ３０１は、運用者設定部３１０に従って動作することで運用者設定部として機能し、リクエスト受付部３２０に従って動作することでリクエスト受付部として機能する。さらに、ＣＰＵ３０１は、各プログラムが実行する複数の処理のそれぞれを実現する機能部としても動作する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
【００３３】
情報管理部３４０は、物理情報管理部３４１と、論理パス情報管理部３４２と、仮想パス情報管理部３４３と、を含み、通信システムの情報を管理する。物理情報管理部３４１は、通信ネットワーク１０を構成する通信装置１００及び中継装置２００の物理的な装置情報を管理し、通信装置情報テーブル４００（図４参照）を含む。なお、通信装置情報テーブル４００の詳細は図４を用いて後述する。
【００３４】
論理パス情報管理部３４２は、運用者により通信ネットワーク１０に設定された論理パスの情報を管理し、論理パス情報テーブル４１０（図５参照）を含む。なお、論理パス情報テーブル４１０の詳細は図５を用いて後述する。仮想パス情報管理部３４３は、フローに対して複数の論理パスにより構築される仮想パスの情報を管理し、仮想パス情報テーブル４２０（図６参照）を含む。なお、仮想パス情報テーブル４２０の詳細は図６を用いて後述する。
【００３５】
運用者設定部３１０は、通信装置１００及び中継装置２００に関する物理的な装置情報を物理情報管理部３４１から取得し、運用者に提示する。また、運用者設定部３１０は、運用者が、提示された物理的な装置情報に基づいて設計した、論理パス設定要求を受けて、論理パス情報を論理パス情報管理部３４２に登録及び削除する。
【００３６】
リクエスト受付部３２０は、エンドユーザ等からの仮想パス構築要求及び削除要求を受けて、パス制御部３３０に通知する。仮想パス構築要求は、例えば、仮想ネットワークにより接続する外部ネットワーク情報、要求帯域、及びフロー判定条件等を含む。
【００３７】
装置通信部３５０は、論理パス設定要求、及び仮想パス設定要求に基づき、該当する通信装置１００及び中継装置２００に対して設定情報を通知する。また、装置通信部３５０は、通信装置１００が測定した論理パスの遅延情報を取得し、論理パス情報管理部３４２に登録する。
【００３８】
パス制御部３３０は、論理パス情報管理部３４２が管理する論理パス情報の登録及び削除を監視し、設定要求を装置通信部３５０に通知する。また、パス制御部３３０は、リクエスト受付部３２０からの仮想パス構築要求を受けて、論理パス情報管理部３４２が管理する論理パス情報を取得し、仮想パスを構成する１本以上の論理パスを選択し、仮想パス情報として仮想パス情報管理部３４３に登録する。パス制御部３３０は、仮想パス情報を通信装置１００に登録するために、装置通信部３５０に仮想パス設定要求を通知する。
【００３９】
パス制御部３３０は、リクエスト受付部３２０からの仮想パス削除要求を受けた場合、仮想パス情報管理部３４３が管理する当該仮想パス情報を削除すると共に、仮想パス情報を通信装置１００より削除するために、装置通信部３５０に仮想パス設定要求を通知する。さらに、パス制御部３３０は、仮想パス提供中において、当該仮想パスを構成する論理パスの遅延変化に基づいて、仮想パスを構成する論理パスを再選択する。
【００４０】
図４は、本実施例の制御装置３００の物理情報管理部３４１に格納された通信装置情報テーブル４００の例を示す。通信装置情報テーブル４００は、通信装置ＩＤ４０１、接続ＩＦＩＤ４０２、外部ＮＷＩＤ４０３、伝送速度４０４、メモリサイズ４０５、及び許容遅延差４０６を含む。
【００４１】
通信装置ＩＤ４０１は、通信装置１００の識別情報である。接続ＩＦＩＤ４０２は、当該通信装置１００が有する、外部ネットワーク２０と接続するインターフェースの識別情報である。外部ＮＷＩＤ４０３は通信装置１００が接続する外部ネットワーク２０の識別情報である。伝送速度４０４は、当該インターフェースの伝送速度である。メモリサイズ４０５は、当該インターフェースから外部ネットワークにパケットを出力する際に、パケットの順序制御を行うために、一時的にパケットを保持するメモリサイズを示す。
【００４２】
許容遅延差４０６は、当該インターフェースがワイヤレートを実現するための、パケットをメモリに保持可能な最大時間を示す。許容遅延差４０６として、メモリサイズ４０５と伝送速度４０４の商が登録される。通信装置情報テーブル４００の各セルの値は、例えば、運用者等によって予め登録される。
【００４３】
図５は、本実施例の制御装置３００の論理パス情報管理部３４２に格納された論理パス情報テーブル４１０の例を示す。論理パス情報テーブル４１０は、論理パスＩＤ４１１、入力側通信装置情報４１２、当該論理パスが物理的に経由する中継装置数分の中継装置情報４１３、出力側通信装置情報４１４、論理パス保証帯域４１５、遅延４１６、及び割当フラグ４１７を含む。
【００４４】
論理パスＩＤ４１１は、論理パスの識別情報である。入力側通信装置情報４１２は、外部ネットワーク２０からパケットを受信し、当該論理パスの始点となる通信装置１００に関する情報である。入力側通信装置情報４１２は、入力側の通信装置１００を識別する装置ＩＤ、当該通信装置１００の入力インターフェースを識別する入力ＩＦＩＤ、当該通信装置１００の出力インターフェースを識別する出力ＩＦＩＤ、及び論理パスの識別子を含む。論理パスの識別子は、パケットが入力側の通信装置１００から出力される際に、当該パケットの論理パスヘッダ５０２に付与される値である。
【００４５】
中継装置情報４１３は、当該論理パスが経由する中継装置２００の情報であり、入力側通信装置情報４１２と同様に、装置ＩＤ、入力ＩＦＩＤ、出力ＩＦＩＤ、及び識別子を含む。出力側通信装置情報４１４は、当該論理パスの終点となる通信装置１００に関する情報であり、装置ＩＤ、入力ＩＦＩＤ、及び出力ＩＦＩＤを含む。
【００４６】
論理パス保証帯域４１５は、当該論理パスがユーザに対して保証する帯域である。遅延４１６は、当該論理パスにおける通信遅延である。割当フラグ４１７は、当該論理パスが、仮想パスを構築する論理パスとして割当済みか否かを示す。
【００４７】
論理パスＩＤ４１１、入力側通信装置情報４１２、中継装置情報４１３、出力側通信装置情報４１４、及び論理パス保証帯域４１５は、運用者等が運用者設定部３１０に対して論理パス設定要求を行うことにより設定される。また遅延４１６は、論理パスの始点となる通信装置１００と終点となる通信装置１００との間で周期的に測定され、いずれかの通信装置１００によって、装置通信部３５０に通知された値が設定される。割当フラグ４１７は、パス制御部３３０が、仮想パスを構築する際に当該論理パスを割り当てた場合、又は仮想パスから当該論理パスが除外された場合に更新される。
【００４８】
パス制御部３３０が論理パス情報の登録を認識すると、装置通信部３５０は、当該登録情報を、各装置に通知する。具体的には、装置通信部３５０は、例えば、入力側通信装置情報４１２を入力側の通信装置１００に、出力側通信装置情報４１４を出力側の通信装置１００に、中継装置情報４１３を対応する中継装置２００に通知する。また、装置通信部３５０は、例えば、論理パス保証帯域４１５を、当該論理パスを構成する通信装置１００及び中継装置２００に通知する。上述の通知を受けた通信装置１００及び中継装置２００は、通知された情報に従って論理パスの設定を行う。
【００４９】
図６は、本実施例の制御装置３００の仮想パス情報管理部３４３に格納された仮想パス情報テーブル４２０の例を示す。仮想パス情報テーブル４２０は、仮想パスＩＤ４２１、フロー条件４２２、仮想パス保証帯域４２３、割当論理パスＩＤ４２４、最大遅延差４２５、及び再設定閾値４２６を含む。
【００５０】
仮想パスＩＤは、当該仮想パスの識別情報である。フロー条件４２２は、当該仮想パスを割り当てるフローについて、入力側の通信装置１００がフロー判定を行う条件であり、例えば、当該フローに属するパケットが有する共通の属性等を示す。仮想パス保証帯域４２３は、当該仮想パスが保証する帯域である。割当論理パスＩＤ４２４は、当該仮想パスを構成する論理パスＩＤを含む。当該仮想パスを構成する論理パスを選択する方法の詳細は、図７を用いて後述する。
【００５１】
最大遅延差４２５は、当該仮想パスを構成する論理パスにおける最大遅延差である。最大遅延差４２５は、論理パス情報テーブル４１０の当該論理パスの遅延４１６が変化に応じて更新される。再設定閾値４２６は、当該仮想パスを提供中に、構成する論理パスの遅延が変化し、最大遅延差が大きくなった場合に、当該仮想パスを構成する論理パスの再設定を決定するための最大遅延差の閾値である。
【００５２】
仮想パスＩＤ４２１は、パス制御部３３０が、リクエスト受付部３２０より仮想パス構築要求を受けた際に発行される。フロー条件４２２は、仮想パス構築要求により設定される。再設定閾値４２６は、パス制御部３３０が仮想パス構築要求により、出力側の外部ネットワークを認識し、通信装置情報テーブル４００に当該外部ＮＷＩＤ４０３が登録されたレコードを検索することにより、対応する許容遅延差４０６が登録される。
【００５３】
パス制御部３３０が仮想パスを構成する論理パスを選択し、当該仮想パスについての情報を仮想パス情報テーブル４２０に登録又は更新すると、装置通信部３５０は、仮想パス情報テーブル４２０の情報を各装置に通知する。具体的には、装置通信部３５０は、例えば、仮想パスＩＤ４２１、フロー条件４２２、及び割当論理パスＩＤ４２４を、当該仮想パスの入力側及び出力側の通信装置１００に対して通知する。
【００５４】
図７は、パス制御部３３０が、仮想パス構築要求を受けた際の仮想パスを構成する論理パスの選択処理の一例を示す。リクエスト受付部３２０がユーザ等から仮想パス構築要求の入力を受けると、パス制御部３３０は、当該仮想パス構築要求に含まれる外部ネットワーク情報が指定する外部ネットワークに接続する通信装置１００の情報を通信装置情報テーブル４００から取得する。そして、パス制御部３３０は、当該通信装置１００間に設定され、かつ既存の仮想パスに割り当てられていない（即ち割当フラグ４１７が０である）論理パスを、論理パス情報テーブル４１０より対象パスとして抽出する。当該対象パスの数をＮとする（Ｓ１０１）。
【００５５】
次にパス制御部３３０は、対象パスから、合計値が要求帯域以上となるまで、例えば保証帯域の大きい順に論理パスを選択する。ここで、要求帯域以上となるパスの選択数のうち最小の値をｎとする（Ｓ１０２）。パス制御部３３０は、対象パスから、ｎ本で要求帯域を満たす組み合わせを抽出し、各組み合わせに対し、構成する論理パスの最大遅延差を、論理パス情報テーブル４１０における当該論理パスの遅延４１６を用いて計算する。
【００５６】
パス制御部３３０は、算出した最大遅延差が、出力側の通信装置１００の出力インターフェースの許容遅延差４０６以内となる論理パスの組み合わせが存在するか否かを判定する（Ｓ１０４）。当該組み合わせが存在する場合は（Ｓ１０４：ＹＥＳ）、パス制御部３３０は、当該組み合わせの中から、保証帯域の合計が最小となる組み合わせを割当論理パスＩＤ４２４として選択する（Ｓ１０５）。このときの保証帯域の合計が、仮想パス保証帯域４２３となる。
【００５７】
なお、保証帯域の合計が最小かつ、許容遅延差４０６以内であるｎ本の論理パスの組み合わせが複数ある場合、パス制御部３３０は、例えば、最大遅延差が最も小さい組み合わせを割当論理パスＩＤ４２４として選択する。
【００５８】
一方、ステップＳ１０４において、許容遅延差４０６以内の論理パスの組み合わせが存在しない場合は（Ｓ１０４：ＮＯ）、パス制御部３３０は、論理パスの組み合わせの本数ｎを１本増加させる（Ｓ１０６）。増加させた本数が対象パスの全数Ｎ以下である場合（Ｓ１０７：ＹＥＳ）、ステップＳ１０３に遷移し、パス制御部３３０は、増加させた本数の論理パスから要求帯域を満たす組み合わせの抽出を再度行う。増加させた本数が対象パスの全数Ｎを超える場合は（Ｓ１０７：ＮＯ）、パス制御部３３０は、要求された仮想パスの提供が不可として処理を終了する。
【００５９】
制御装置３００は、上述の論理パス選択方法により、仮想パス構築要求に対して過剰な論理パスの本数及び保証帯域を割り当てることを抑制しつつ、割り当てる論理パスの最大遅延差が、出力インターフェースの許容遅延差以内となる論理パスの組み合わせを選択することができる。従って、制御装置３００は、外部ネットワークへの出力インターフェースのワイヤレートを実現する仮想パスを構築することができる。また、この論理パス選択方法は、既存の仮想パスにおける最大遅延差４２５が、再設定閾値４２６を超過したことをパス制御部３３０が検出した場合に行われる仮想パスの再設定においても利用される。
【００６０】
図８は、本実施例の通信装置１００の構成例を示す。通信装置１００は、少なくとも１つの外部ネットワーク（ＮＷ）側インターフェース（ＩＦ）カード１１０、スイッチ（ＳＷ）カード１３０、少なくとも１つの中継装置側インターフェース（ＩＦ）カード１４０、及び制御装置通信部１５０を含む。
【００６１】
制御装置通信部１５０は、制御装置３００に接続され、制御装置３００から受信した設定情報に基づいて、外部ＮＷ側ＩＦカード１１０、中継装置側ＩＦカード１４０、及びＳＷカード１３０を設定する。また、制御装置通信部１５０は、外部ＮＷ側ＩＦカード１１０においてＯＡＭ機能等を用いて測定された、論理パスの通信遅延を制御装置３００に通知する。
【００６２】
次に、ＳＷカード１３０について説明する。外部ＮＷ側ＩＦカード１１０は、外部ネットワーク２０に接続されるインターフェースである。外部ＮＷ側ＩＦカード１１０は、外部ＮＷ受信回路１１１、ＳＷ送信回路１１４、ＳＷ受信回路１１５、外部ＮＷ送信回路１１９、及びメモリ１１８を含む。また、外部ＮＷ側ＩＦカード１１０は、プログラムである、パケットカプセル化部１１２、スケジューラ１１３、パケット解析振分部１１６、パケット順序制御部１１７、ＯＡＭ処理部１２１、及びＩＦ制御部１２２を保持する。各プログラムはプロセッサによって実行されることで、定められた処理を記憶装置及び通信ポート（通信デバイス）を用いながら行う。また、外部ＮＷ側ＩＦカード１１０は、データを格納する領域を含む転送情報管理部１２０を含む。
【００６３】
ＩＦ制御部１２２は、制御装置通信部１５０に接続され、制御装置通信部１５０が制御装置３００から受信した論理パス及び仮想パスの設定情報の入力を受け付け、入力された設定情報に基づいて外部ＮＷ側ＩＦカード１１０の各部を設定する。また、ＩＦ制御部１２２は、外部ＮＷ側ＩＦカード１１０の各部に設定されている情報を読み出し、読み出した情報を制御装置通信部１５０に入力する。
【００６４】
外部ＮＷ受信回路１１１は、接続されている外部ネットワーク２０からパケットを受信し、受信したパケットをパケットカプセル化部１１２に入力する。また、外部ＮＷ受信回路１１１は、ＯＳＩ（Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）参照モデルのデータリンク層（Ｌ２）のプロトコルを終端する。
【００６５】
パケットカプセル化部１１２は、外部ＮＷ受信回路１１１から入力されたパケットを解析する。また、パケットカプセル化部１１２は、転送情報管理部１２０に格納された仮想パス情報テーブル４４０（図９参照）を検索し、フローの判定条件から、当該パケットが属するフローに対応する仮想パスを構成する論理パスを識別する。そして、パケットカプセル化部１１２は、転送情報管理部１２０に格納された論理パス情報テーブル４５０（図１０参照）を検索し、当該パケットの転送に利用する論理パスの識別子を含む論理パスヘッダ５０２で、当該パケットをカプセル化する。
【００６６】
ここで、当該パケットに対応するフローに対して複数の論理パスが割り当てられている場合、パケットカプセル化部１１２は、例えば当該複数の論理パスについて「保証帯域／遅延」により計算される振分指数の比でパケットが振り分けられるように、転送する論理パスを選択する。通信装置１００は、各論理パスの単位時間あたりの転送能力に応じてパケットを転送することで、順序逆転の発生を抑制することができる。
【００６７】
また、パケットカプセル化部１１２は、フローの判定条件から、フロー識別子と、フロー毎のパケットの送信順序を示すための連続的な数値であるシーケンス番号と、を含むフローヘッダ５０３で当該パケットをカプセル化する。そして、パケットカプセル化部１１２は、当該パケットをスケジューラ１１３に入力する。なお、仮想パス情報テーブル４４０及び論理パス情報テーブル４５０の詳細は図９及び図１０を用いて説明する。
【００６８】
スケジューラ１１３は、パケットカプセル化部１１２又はＯＡＭ処理部１２１から入力されたパケットの出力を調停して、当該パケットをＳＷ送信回路１１４に入力する。ＳＷ送信回路１１４は、スケジューラ１１３から入力されたパケットをＳＷカード１３０に入力する。ＳＷ受信回路１１５は、ＳＷカード１３０からパケットの入力を受け付け、入力されたパケットをパケット解析振分部１１６に入力する。
【００６９】
パケット解析振分部１１６は、入力されたパケットがＯＡＭパケットである場合、当該パケットをＯＡＭ処理部１２１に入力し、入力されたパケットがＯＡＭパケット以外である場合、当該パケットをパケット順序制御部１１７に入力する。
【００７０】
ＯＡＭ処理部１２１は、ＯＡＭパケットを生成し、スケジューラ１１３に入力する。また、ＯＡＭ処理部１２１は、パケット解析振分部１１６から入力されたＯＡＭパケットを終端し処理を行う。通信装置１００間で設定されている論理パスの遅延測定を周期的に行うことは、ＯＡＭ機能を用いた処理の一例である。メモリ１１８は、パケット順序制御部１１７が、パケットの順序制御を行うために、パケットを一時的に格納する。
【００７１】
パケット順序制御部１１７は、パケットカプセル化部１１２で付与されたヘッダを削除し、通信ネットワーク１０で転送されるフローに対して、受信したパケットのシーケンス番号をフロー毎に管理し、順序制御を行う。パケット順序制御部１１７は、パケット解析振分部１１６からパケットを受信すると、論理パスヘッダ５０２の削除を行う。
【００７２】
また、パケット順序制御部１１７は、受信したパケットのフローヘッダ５０３を参照し、当該パケットが属するフローのフロー識別子と、シーケンス番号と、を取得する。パケット順序制御部１１７は、フローヘッダ５０３を削除した当該パケットをメモリ１１８に格納する。パケット順序制御部１１７は、取得したフロー識別子とシーケンス番号とから、当該パケット以前に入力側の通信装置１００から送信されたパケットを全て受信済みであるか否かを判定する。
【００７３】
パケット順序制御部１１７は、当該パケット以前に入力側の通信装置１００から送信されたパケットが全て受信済みであると判定した場合は、当該パケットをメモリ１１８から読み出し、外部ＮＷ送信回路１１９に入力する。パケット順序制御部１１７は、当該パケット以前に入力側の通信装置１００で送信されたパケットのうち未到達のものがあると判定した場合は、未到達のパケットが全て外部ＮＷ送信回路１１９に入力されるまで、メモリ１１８が当該パケットを保持する。外部ＮＷ送信回路１１９は、パケット順序制御部１１７から入力されたパケットのＬ２ヘッダの処理を実行し、当該パケットを通信装置１００に送信する。
【００７４】
次に、ＳＷカード１３０について説明する。ＳＷカード１３０は、外部ＮＷ側ＩＦカード１１０及び中継装置側ＩＦカード１４０から入力されたパケットについて、入力元の外部ＮＷ側ＩＦカード１１０及び中継装置側ＩＦカード１４０と、論理パスヘッダ５０２が含む論理パス識別子から、対応するＩＦカードを特定し、特定したＩＦカードに当該パケットを入力する。
【００７５】
次に、中継装置側ＩＦカード１４０について説明する。中継装置側ＩＦカード１４０は、中継装置２００に接続されるインターフェースであり、ＳＷ受信回路１４１、中継装置送信回路１４２、中継装置受信回路１４３、及びＳＷ送信回路１４４を含む。ＳＷ受信回路１４１は、ＳＷカード１３０からパケットの入力を受け付け、入力されたパケットを中継装置送信回路１４２に入力する。
【００７６】
中継装置送信回路１４２は、ＳＷ受信回路１４１から入力されたパケットのＬ２ヘッダの処理を実行し、当該パケットを中継装置２００に送信する。中継装置受信回路１４３は、接続されている中継装置２００から入力されたパケットのＬ２ヘッダの処理を実行し、当該パケットをＳＷ送信回路１４４に入力する。ＳＷ送信回路１４４は、中継装置受信回路１４３から入力されたパケットをＳＷカード１３０に入力する。
【００７７】
図９は、本実施例の通信装置１００の転送情報管理部１２０に格納された仮想パス情報テーブル４４０の例を示す。仮想パス情報テーブル４４０は、仮想パスＩＤ４４１、フロー識別子４４２、フロー条件４４３、割当論理パスＩＤ４４４、及び振分指数４４５を含む。
【００７８】
仮想パスＩＤ４４１、フロー条件４４３、及び割当論理パスＩＤ４４４は、それぞれ、仮想パス情報テーブル４２０が含む、仮想パスＩＤ４２１、フロー条件４２２、割当論理パスＩＤ４２３とそれぞれ同じ情報である。仮想パスＩＤ４４１、フロー条件４４３、及び割当論理パスＩＤ４４４は、制御装置３００が、当該通信装置１００の制御装置通信部１５０に通知し、さらに制御装置通信部１５０が当該外部ＮＷ側ＩＦカード１１０のＩＦ制御部１２２に通知することによって設定される。
【００７９】
フロー識別子４４２は、フロー条件４４３に対応するフローを一意に識別する情報である。パケットカプセル化部１１２は、ユーザパケット５０４をカプセル化する際に、フロー識別子４４２をフローヘッダ５０３に含まれるフロー識別子として付与する。フロー識別子４４２は、例えば、仮想パスＩＤ４４１、フロー条件４４３、及び割当論理パスＩＤ４４４等が設定される際に、ＩＦ制御部１２２によって設定される。なお、仮想パス情報テーブル４４０は、フロー識別子４４２を含まなくてもよい。このとき、パケットカプセル化部１１２は、例えば、仮想パスＩＤ４４１を、フローヘッダ５０３に含まれるフロー識別子とすればよい。
【００８０】
また、振分指数４４５は当該論理パスの保証帯域と遅延の商として計算された値が登録される。転送情報管理部１２０は、仮想パス情報テーブル４４０の割当論理パスＩＤ４４４が登録されると、当該論理パスの保証帯域及び遅延を論理パス情報テーブル４５０から取得し、当該振分指数４４４を計算し登録する。
【００８１】
図１０は、本実施例の通信装置１００の転送情報管理部１２０に格納された論理パス情報テーブル４５０の例を示す。論理パス情報テーブル４５０は、論理パスＩＤ４５１、識別子４５２、保証帯域４５３、及び遅延４５４を含む。
【００８２】
論理パスＩＤ４５１、識別子４５２、及び保証帯域４５３は、制御装置３００の論理パス情報管理部３４２が格納する、論理パス情報テーブル４１０が含む、論理パスＩＤ４１１、入力側通信装置情報４１２が含む識別子、及び論理パス保証帯域４１５とそれぞれ同じ情報である。
【００８３】
論理パスＩＤ４５１、識別子４５２、及び保証帯域４５３は、制御装置３００が、当該通信装置１００の制御装置通信部１５０に通知し、さらに制御装置通信部１５０が当該外部ＮＷ側ＩＦカード１１０のＩＦ制御部１２２に通知することで設定される。また遅延４５４は、ＯＡＭ処理部１２１がＯＡＭ機能により測定した、当該論理パスの通信遅延が登録される。
【００８４】
パケットカプセル化部１１２は、外部ＮＷ受信回路１１１からパケットを受信すると、仮想パス情報テーブル４４０のフロー条件４４３を参照し、当該パケットが満たすフロー条件４４３に対応するレコードを検索する。そして、対応する仮想パスのフロー識別子４４２と、同一フロー内で連続的な番号として付与するシーケンス番号を含むフローヘッダ５０３でカプセル化する。
【００８５】
また、パケットカプセル化部１１２は、対応する割当論理パスＩＤ４４３から、論理パス情報テーブル４５０の論理パスＩＤ４５１について対応するレコードを検索し、対応する識別子４５２を含む論理パスヘッダ５０２でカプセル化し、スケジューラ１１３に入力する。ここで、対応する論理パスが複数存在する場合は、例えば各割当論理パスの振分指数４４４を検索し、当該論理パスで転送するパケットの割合が、振分指数４４４の比となるように、付与する論理パスの識別子を選択する。
【００８６】
パケットカプセル化部１１２がパケットに付与する論理パスの識別子を選択する方法の例を、図９の仮想パスＩＤ：Ａが示す仮想パスＡを用いて説明する。仮想パスＡを構成する論理パスａ、ｃ、及びｄの振分指数の比は５００：２００：１５０、即ち最小整数比で表すと１０：４：３である。パケットカプセル化部１１２は、例えば、論理パスそれぞれの振分指数の比に応じた確率に基づき、付与する論理パスの識別子を選択する。
【００８７】
具体的には、パケットカプセル化部１１２は、例えば、確率１０／（１０＋４＋３）で論理パスａの識別子を、確率４／（１０＋４＋３）で論理パスｃの識別子を、確率３／（１０＋４＋３）で論理パスｄの識別子を、仮想パスＡの最初のパケットに付与する。パケットカプセル化部１１２が、当該最初のパケットに対して論理パスａの識別子を付与した場合、当該振分指数の最小整数比における論理パスａに対応する項から１を引いた比、即ち（１０−１）：４：３＝９：４：３に応じた確率に基づき、仮想パスＡの２個目のパケットに付与する論理パスの識別子を選択する。
【００８８】
パケットカプセル化部１１２が、３個目から１７個目のパケットに対しても、同様に論理パスの識別子を選択すれば、１７個のパケットが１０：４：３の比で論理パスａ、ｃ、ｄにそれぞれ振り分けられる。パケットカプセル化部１１２は、１７個のパケットごとに上述の処理を繰り返すことにより、振分指数の比に応じて論理パスの識別子を付与することができる。
【００８９】
また、パケットカプセル化部１１２は、以下の方法で付与する論理パスの識別子を選択してもよい。例えば、パケットカプセル化部１１２は、仮想パスＡの最初の１０個のパケットに対して論理パスａの識別子を、次の４個のパケットに対して論理パスｃの識別子を、さらに次の３個のパケットに対して論理パスｄの識別子を付与する。上述の処理により１７個のパケットが１０：４：３の比で論理パスａ、ｃ、ｄにそれぞれ振り分けられる。パケットカプセル化部１１２は、１７個のパケットごとに上述の処理を繰り返すことにより、振分指数の比に応じて論理パスの識別子を付与することができる。
【００９０】
図１１は、本実施例における仮想パスの設定例を示す。ここでは、図５に示した論理パス情報テーブル４１０の設定例の通り、運用者が制御装置３００により入力側の通信装置１００から出力側の通信装置１００を接続する論理パスａ〜ｄを設定した状態において、入力側の通信装置１００から出力側の通信装置１００を、要求帯域１００Ｍで接続する仮想パス構築要求を制御装置３００が受けて、仮想パスＡを構築した結果を表している。
【００９１】
このとき、制御装置３００は、論理パスａ及びｂの組み合わせを選択すれば、最も少ない論理パスで要求帯域を満たす保証帯域を提供できる。しかし、論理パスａとｂにおける遅延差が当該出力側通信装置（通信装置ＩＤ：２）の許容遅延差０．５を超過するため、制御装置３００は論理パスａ及びｂの組み合わせを選択することができない。
【００９２】
一方、制御装置３００が、論理パスａ、ｃ、及びｄの組み合わせを選択すると、要求帯域を満たすための論理パスの本数は増加するが、論理パスａ、ｃ、及びｄの最大遅延差は許容遅延差以内となる。従って、当該組み合わせが当該仮想パスに対する割当論理パスとして設定される。入力側の通信装置１００は、入力されたパケットに対してシーケンス番号等を付与し、当該パケットを割当論理パスに振分けて出力側の通信装置１００に転送する。
【００９３】
本実施例の通信システムは、複数の論理パスにより構成される仮想パスをユーザに対して割り当て、出力側の通信装置でパケットの順序制御を行う。本実施例の通信システムは、物理リソースに依存せずにユーザに対して柔軟に帯域リソースを割り当てることを可能にしつつ、外部ネットワークへの出力インターフェースにおけるワイヤレートを実現することで、帯域リソースを高効率に利用することができる。
【実施例２】
【００９４】
本実施例の通信システムにおける、パケット順序制御部１１７は、フロー毎のメモリ１１８の使用量を監視し、周期的に制御装置３００に通知する。制御装置３００は、当該使用メモリ量に基づき、仮想パスを構成する論理パスの最大遅延差により、論理パスを再設定するか否かを決定する再設定閾値を変更する。
【００９５】
図１２は、本実施例の通信装置１００の転送情報管理部１２０に格納された仮想パス情報テーブル４６０の例である。仮想パス情報テーブル４６０は、実施例１の仮想パス情報テーブル４４０に含まれる情報に加えて、使用メモリ量４４６を含む。
【００９６】
使用メモリ量４４６は、パケット順序制御部１１７が仮想パスを利用するフローごとに測定する値であり、単位時間あたりの使用メモリ量を示し、周期的に更新される。転送情報管理部１２０は、当該使用メモリ量４４６が更新されると、ＩＦ制御部１２２及び制御装置通信部１５０を経由して、当該使用メモリ量４４６を制御装置３００に通知する。
【００９７】
図１３は、本実施例の制御装置３００の仮想パス情報管理部３４３に格納される仮想パス情報テーブル４７０の例である。仮想パス情報テーブル４７０は、実施例１における仮想パス情報テーブル４２０が保持する情報に加え、使用メモリ量４３７を含む。
【００９８】
使用メモリ量４３７は、通信装置１００からの通知により設定される。パス制御部３３０は、使用メモリ量４３７が更新されると、当該仮想パスの出力側通信装置のインターフェースの伝送速度、メモリサイズ、及び許容遅延差を、それぞれ通信装置情報テーブル４００の伝送速度４０４、メモリサイズ４０５、及び許容遅延差４０６から取得する。
【００９９】
パス制御部３３０は、仮想パスで転送されるフローの想定使用メモリ量を、当該フローの使用可能メモリサイズを表す数式「メモリサイズ４０５×（仮想パス保証帯域４３３／伝送速度４０４）」を用いて算出する。例えば、算出した想定使用メモリ量が使用メモリ量４３７より小さい場合、パス制御部３３０は、仮想パス情報テーブル４７０の再設定閾値４３６を変更する。このときパス制御部３３０は、新たな再設定閾値４３６を、例えば、「許容遅延差４０６×（（メモリサイズ４０５×（仮想パス保証帯域４３３／伝送速度４０４））／使用メモリ量４３７）」によって計算し、仮想パス情報テーブル４２０に登録する。
【０１００】
本実施例の制御装置３００は、フローの使用メモリ量が少ない場合において、論理パス間の最大遅延差の許容値を緩和することができる。ひいては、本実施例の制御装置３００は、論理パスの再設定頻度を少なくすることができ、論理パスの再設定時に発生する当該フローのパケットロスや、再設定に必要な制御装置３００の計算負荷を抑制することができる。
【０１０１】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることも可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【０１０２】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【０１０３】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【図１】
2016005123.tif 000003
【図２】
2016005123.tif 000004
【図３】
2016005123.tif 000005
【図４】
2016005123.tif 000006
【図５】
2016005123.tif 000007
【図６】
2016005123.tif 000008
【図７】
2016005123.tif 000009
【図８】
2016005123.tif 000010
【図９】
2016005123.tif 000011
【図１０】
2016005123.tif 000012
【図１２】
2016005123.tif 000013
【図１３】
2016005123.tif 000014
【図１１】
2016005123.tif 000015