(57)【要約】【課題】柔軟にパスの役割を変更することで、通信機器を効率的に動作させる。【解決手段】１つのＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）接続が、異なるパスを経由し及び異なる優先度を有する複数のトランスポート層の接続を含んでいるＴＣＰ接続を確立して、他の通信装置との間で通信を行うトランシーバと、トランシーバにより他の通信装置との間でＴＣＰ接続を確立した後に、通信装置の設定情報又はパスに関する使用履歴情報の少なくともいずれか１つに基づいて、複数のトランスポート層の接続に関する優先度を変更するコントローラと、を備える。【選択図】図２
2018142951.tif 000002
【特許請求の範囲】
【請求項１】
通信装置であって、
１つのＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）接続が、異なるパスを経由し及び異なる優先度を有する複数のトランスポート層の接続を含んでいるＴＣＰ接続を確立して、他の通信装置との間で通信を行うトランシーバと、
前記トランシーバにより前記他の通信装置との間で前記ＴＣＰ接続を確立した後に、前記通信装置の設定情報又は前記パスに関する使用履歴情報の少なくともいずれか１つに基づいて、前記複数のトランスポート層の接続に関する優先度を変更するコントローラと、
を備えることを特徴とする通信装置。
【請求項２】
前記通信装置は、消費電力が異なる複数の電力モードのいずれかで動作し、前記電力モードを移行する際に、前記コントローラは、前記設定情報又は前記使用履歴情報の少なくともいずれか１つに基づいて、前記複数のトランスポート層の接続に関する優先度を変更することを特徴とする、請求項１に記載の通信装置。
【請求項３】
前記設定情報は、それぞれの前記パスのセキュリティポリシーを示す情報を含むことを特徴とする、請求項１又は２に記載の通信装置。
【請求項４】
前記通信装置は、通信におけるセキュリティ確保処理を行う処理部をさらに備え、
前記処理部への電源供給を減らす場合、前記コントローラは、前記処理部によるセキュリティ確保処理が行われるパスがバックアップパスになるように前記複数のトランスポート層の接続に関する優先度を変更することを特徴とする、請求項１から３のいずれか１項に記載の通信装置。
【請求項５】
前記トランシーバは、前記通信装置によってセキュリティ確保処理が行われる第１のパスを経由するトランスポート層の接続と、外部装置によってセキュリティ確保処理が行われる第２のパスを経由するトランスポート層の接続と、を確立し、
前記通信装置が第１の電力モードから前記第１の電力モードよりも消費電力の少ない第２の電力モードへ移行する場合、前記コントローラは、前記第１のパスがバックアップパスになるように前記複数のトランスポート層の接続に関する優先度を変更することを特徴とする、請求項１から４のいずれか１項に記載の通信装置。
【請求項６】
前記通信装置が前記第２の電力モードから前記第１の電力モードへ移行する場合、前記コントローラは、前記第２のパスがバックアップパスになるように前記複数のトランスポート層の接続に関する優先度を変更することを特徴とする、請求項５に記載の通信装置。
【請求項７】
前記設定情報は、それぞれの前記パスごとに、前記パスを経由する通信時の消費電力量を示す情報を含むことを特徴とする、請求項１又は２に記載の通信装置。
【請求項８】
前記トランシーバは、第１のパスを介して通信を行う第１の通信インタフェースと、第２のパスを介して通信を行う第２の通信インタフェースと、を備え、
前記第１の通信インタフェースは、ＥＥＥ（Ｅｎｅｒｇｙ  Ｅｆｆｉｃｉｅｎｔ  Ｅｔｈｅｒｎｅｔ）に非対応の有線ＬＡＮインタフェースであり、
前記第２の通信インタフェースは、ＥＥＥに対応の有線ＬＡＮインタフェース、又は無線ＬＡＮインタフェースであり、
前記通信装置が第１の電力モードから前記第１の電力モードよりも消費電力の少ない第２の電力モードへ移行する場合、前記コントローラは、前記複数のトランスポート層の接続に関する優先度を変更することを特徴とする、請求項１、２又は７に記載の通信装置。
【請求項９】
ユーザ、前記他の通信装置、又は前記他の通信装置とは異なる外部装置の少なくともいずれか１つからの指示に応じて、前記コントローラは、前記複数のトランスポート層の接続に関する優先度を変更することを特徴とする、請求項１から８のいずれか１項に記載の通信装置。
【請求項１０】
前記コントローラは、データ受信時における前記パスの優先度を変更する要求を前記他の通信装置に送信することにより、データ受信時における前記複数のトランスポート層の接続に関する優先度を変更することを特徴とする、請求項１から９のいずれか１項に記載の通信装置。
【請求項１１】
前記トランシーバは、マルチパスＴＣＰを用いて、前記他の通信装置とＴＣＰ接続を確立することを特徴とする、請求項１から１０のいずれか１項に記載の通信装置。
【請求項１２】
前記優先度は、第１のパスであることを示す優先度と、前記第１のパスを経由する通信に支障がある場合に用いられるバックアップパスであることを示す優先度と、から選択されることを特徴とする、請求項１から１１のいずれか１項に記載の通信装置。
【請求項１３】
通信装置が行う通信方法であって、
１つのＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）接続が、異なるパスを経由し及び異なる優先度を有する複数のトランスポート層の接続を含んでいるＴＣＰ接続を確立して、他の通信装置との間で通信を行う工程と、
前記他の通信装置との間で前記ＴＣＰ接続を確立した後に、前記通信装置の設定情報又は前記パスに関する使用履歴情報の少なくともいずれか１つに基づいて、前記複数のトランスポート層の接続に関する優先度を変更する工程と、
を有することを特徴とする通信方法。
【請求項１４】
コンピュータを、請求項１から１２のいずれか１項に記載の通信装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信処理装置、通信制御方法、及びプログラムに関し、特にマルチパス接続における動的なサブフロー優先度制御に関する。
【背景技術】
【０００２】
近年、ネットワーク通信で利用するインタフェースの多様化に伴い、複数のネットワークインタフェースを搭載した機器が増加している。一方で、従来利用されているＴＣＰでは、同一コネクションにおいて異なるインタフェースに割り当てられたＩＰアドレスを使い分けることはできないので、結果として１つのインタフェースを用いた１つのパスでしか接続先との通信は行われない。このため、ＴＣＰコネクションを一度確立しても、１つのパスを介した通信ができない状態になると、このＴＣＰコネクションは切断されてしまう。再度コネクションを確立するためには時間がかかるため、これはユーザ体験の低下につながっていた。
【０００３】
このような問題を解決するためにマルチパスＴＣＰ（ＭＰＴＣＰ）というプロトコルが提案されている（特許文献１）。ＭＰＴＣＰは既存のＴＣＰの拡張であり、複数のパスを同時に使用して通信相手とのＴＣＰコネクションを実現する技術である。それぞれのパスを経由するデータフローはサブフローと呼ばれる。ＭＰＴＣＰでは、パスの役割を定めることができる。例えば、複数のパスを通常パスに設定することで、複数のサブフローを用いて帯域を拡大することができる。また、複数のパスを冗長的に利用することもできる。例えば、いくつかのパスを通常パスに設定し、残りのパスをバックアップパスに設定することで、通常パスの通信品質が低下した際にバックアップパスを利用して通信品質を回復することができる。これらパスの役割は、サブフロー確立時に送受信するパケットのヘッダ内の、優先度を示すビットの値によって決定できる。また、利用可能なパスが変化した際には、サブフローへと送信するパケットのヘッダに優先度変更を要求する情報を格納することで、パスの役割を変更することができる。ＭＰＴＣＰコネクションにおけるデータ送受信を制御する層は、各サブフローの優先度にしたがって、データの送信時にどのサブフローを用いるかを決定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２０１４−５３０５６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
これまでマルチパスＴＣＰでは、パスの役割の変更は、利用可能なパスが変わった場合に行われていたにすぎなかった。そのため、回線の状況によらず機器の状態や設定等に応じてパスの役割を動的に切り替えるということは行われていなかった。
【０００６】
本発明は、柔軟にパスの役割を変更することで、通信機器を効率的に動作させることを目的とする。
【課題を解決するための手段】
【０００７】
本発明の目的を達成するために、例えば、本発明の通信処理装置は以下の構成を備える。すなわち、
通信装置であって、
１つのＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）接続が、異なるパスを経由し及び異なる優先度を有する複数のトランスポート層の接続を含んでいるＴＣＰ接続を確立して、他の通信装置との間で通信を行うトランシーバと、
前記トランシーバにより前記他の通信装置との間で前記ＴＣＰ接続を確立した後に、前記通信装置の設定情報又は前記パスに関する使用履歴情報の少なくともいずれか１つに基づいて、前記複数のトランスポート層の接続に関する優先度を変更するコントローラと、
を備えることを特徴とする。
【発明の効果】
【０００８】
柔軟にパスの役割を変更することで、通信機器を効率的に動作させることができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係る通信処理装置のハードウェア構成例を示す図。
【図２】実施形態に係る通信処理装置のソフトウェア構成例を示す図。
【図３】実施形態１に係る通信制御方法を示すフローチャート。
【図４】実施形態２で用いられるネットワーク構成を示す図。
【図５】実施形態２，３における通信処理装置の状態遷移図。
【図６】実施形態２，３に係る通信制御方法を示すフローチャート。
【図７】実施形態２における優先度決定処理を示すフローチャート。
【図８】実施形態２，３における優先度決定処理を示すフローチャート。
【図９】実施形態３で用いられるネットワーク構成を示す図。
【図１０】実施形態３における優先度決定処理を示すフローチャート。
【発明を実施するための形態】
【００１０】
以下、本発明の実施例を図面に基づいて説明する。ただし、本発明の範囲は以下の実施例に限定されるものではない。
【００１１】
［実施形態１］
実施形態１に係る通信処理装置１０１のハードウェア構成の例について図１を用いて説明する。通信処理装置１０１は、メインＣＰＵ１０２、暗号処理部１０３、電力制御部１０４、通信制御部Ａ１０５、通信制御部Ｂ１０６、システムバス１０７、ＲＡＭ１０８、及びＲＯＭ１０９を有している。
【００１２】
システムバス１０７には、メインＣＰＵ１０２、システムプログラムが格納されているＲＯＭ１０９、及びシステムソフトウェア若しくはアプリケーションソフトウェアの実行時に使用される一時記憶装置であるＲＡＭ１０８、が接続されている。システムバス１０７には、通信処理装置１０１全体の電力を制御する電力制御部１０４、ネットワークに接続してフレームの送受信を行う（すなわちトランシーバとして動作する）通信制御部Ａ１０５及び通信制御部Ｂ１０６、並びにデータの暗号化及び復号化を行う暗号処理部１０３も接続されている。
【００１３】
本実施形態に係る処理は、処理を実行するための命令を含むソフトウェアプログラムがＲＯＭ１０９からＲＡＭ１０８に読み込まれ、メインＣＰＵ１０２によって実行されることにより実現できる。メインＣＰＵ１０２は、通信処理装置１０１の全体のシステム制御を行い、また通信処理装置１０１のアプリケーションソフトウェア処理や通信接続先との通信を行うためのプロトコル処理を行う。
【００１４】
電力制御部１０４は、通信処理装置１０１の動作状態の変更指示を受け取る。そして、変更指示に従って通信処理装置１０１の動作状態を変更する。例えば、電力制御部１０４は、通信処理装置１０１の電力モードの移行指示を受け取り、通信処理装置１０１の電力モード移行を制御することができる。本実施形態において、通信処理装置１０１は、電力制御部１０４の制御に従って、消費電力が異なる複数の電力モードのいずれかで動作することができる。例えば、通信処理装置１０１は、通常電力状態と省電力状態との間で、動作状態を変更することができる。
【００１５】
具体的には、電力制御部１０４は、ボタン等を用いてユーザにより入力された動作状態の変更指示を受け取ることができる。また、電力制御部１０４は、通信処理装置１０１が有する各ユニット、通信処理装置１０１の接続先、通信処理装置１０１とは異なる外部装置、又は通信の中継装置等から、動作状態の変更指示を受け取ることもできる。また、メインＣＰＵ１０２が、通信処理装置１０１が所定時間以上アイドル状態となっていることに応じて生成した動作状態の変更指示を、電力制御部１０４は受け取ることができる。なお、後述するように、動作状態の変更指示には、パスの役割が変更されるように接続先へのデータ送信時の動作状態を変更する指示も含まれ、電力制御部１０４以外の制御部がこの変更指示を取得することもできる。
【００１６】
また、動作状態の変更指示の別の例には、通信処理装置１０１のアプリケーション実行モードを変更する指示も含まれる。具体的には、通信処理装置１０１は、通常モードと、アプリケーションを高速に実行するモードとを有してもよい。そして、後者のモードにおいては、メインＣＰＵ１０２への負荷を小さくするために、例えばメインＣＰＵ１０２によるセキュリティ確保処理が不要なパスを優先して用いるように、パスの役割を変更することができる。
【００１７】
そして、電力制御部１０４は、通信処理装置１０１全体の電源を制御することができる。例えば、電力制御部１０４は、通信処理装置１０１の主機能をオフにして待ち受ける場合に、各部の動作クロックを低減すること、及び一時的に動作を停止できるハードウェア回路の電源を遮断することができる。また、電力制御部１０４は、各部の電源投入制御、ハードウェアリセット制御、及び通信処理装置１０１全体を起動又は停止するためのシーケンス制御を行うことができる。
【００１８】
暗号処理部１０３は、通信におけるセキュリティ確保処理を行う。例えば、暗号処理部１０３は、メインＣＰＵ１０２の制御に従い、ＲＡＭ１０８上で管理されている暗号鍵を用いて、他の通信装置との間で通信されるデータの暗号化及び復号化を行うことができる。また、暗号通信が行われない場合には、電力制御部１０４の制御に従い、暗号処理部１０３の動作周波数を低減すること又は暗号処理部１０３の電源を遮断することが可能である。
【００１９】
通信処理装置１０１は、通信制御部Ａ１０５を介してネットワークＡ１１１に接続し、通信制御部Ｂ１０６を介してネットワークＢ１１２に接続する。ネットワークＡ１１１及びネットワークＢ１１２の種類は限定されない。例えばイーサネット（登録商標）又は光ファイバーネットワーク等の有線ネットワーク、又はＩＥＥＥ８０２．１１で規定される無線ＬＡＮ、３Ｇ、ＬＴＥ、若しくはＢｌｕｅｔｏｏｔｈ（登録商標）等の無線ネットワークでありうる。一実施形態において、ネットワークＡ１１１とネットワークＢ１１２とは、異なる方式のネットワークである。例えば、ネットワークＡ１１１とネットワークＢ１１２は一方が有線ネットワークで他方が無線ネットワークであってもよく、又は一方が第１の仕様に従う無線ネットワークで他方が第２の仕様に従う無線ネットワークであってもよい。本実施形態において、通信処理装置１０１を操作するリモートコントローラは、ネットワークＡ１１１又はネットワークＢ１１２を介してＭＰＴＣＰプロトコルを用いた通信を行えるものとする。ここで、ＭＰＴＣＰとはＭｕｌｔｉ  Ｐａｔｈ  ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）の略である。
【００２０】
通信制御部Ａ１０５はネットワークＡ１１１に対して伝送フレームの送受信を行い、通信制御部Ｂ１０６はネットワークＢ１１２に対して伝送フレームの送受信を行う。例えばネットワークＡ１１１がイーサネット（登録商標）の場合、通信制御部Ａ１０５は、イーサネット（登録商標）のＭＡＣ処理（伝送メディア制御処理）及び伝送フレームの送受信処理を行う。
【００２１】
メインＣＰＵ１０２は、汎用的なＴＣＰ／ＩＰプロトコルの通信処理に加えて、ＭＰＴＣＰ処理を行う。より具体的には、メインＣＰＵ１０２は、ＩＰｖ４、ＩＰｖ６、ＩＰｓｅｃ、ＩＣＭＰ、ＵＤＰ、又はＴＣＰ等の通信プロトコル処理、送信フロー制御、輻輳制御、及び通信エラー制御等を行う。また、メインＣＰＵ１０２は、ＭＰＴＣＰのサブフローパス管理、複数サブフローのための輻輳制御、パケットスケジューリング、及びＭＰＴＣＰプロトコルに係る処理を行う。このようなメインＣＰＵ１０２のプロトコル処理機能は、別の機能ブロックにより実行されてもよい。また、複数のマイクロプロセッサによるマルチプロセッサ構成を用いて、これらの処理を行ってもよい。さらには、マイクロプロセッサによる処理に加えて、一部の機能を別のハードウェアによって実行することによりアクセラレーションを行ってもよい。これらのマイクロプロセッサ及びハードウェアに対しては、それぞれ独立に電源を制御することができる。
【００２２】
このような通信処理装置１０１は、様々なデバイスと組み合わせて用いることができる。例えば、通信処理装置１０１はプロジェクタのような画像表示装置であってもよく、通信処理装置１０１はＰＣのような画像生成装置と接続されていてもよい。また、上述のように、通信処理装置１０１が利用可能なネットワークの種類は特に限定されない。例えば、通信処理装置１０１は、公衆無線を介した通信先との接続と、ＬＡＮを介した通信先との接続と、の双方を同時に利用することができる。このような構成によれば、通信処理装置１０１は、通信先が遠隔して存在する場合でも継続した通信が可能となる。また、通信処理装置１０１は、社内インフラを経由した通信先との接続と、社内インフラを経由しない通信先との接続と、の双方を同時に利用することができる（例えば図４）。メンテナンス時等に社外の業者が社内インフラを経由せずに通信処理装置１０１に接続できるよう、社内インフラを経由しない通信経路を設けることにより、社内インフラのセキュリティを高める構成が考えられる。このような構成においても、２つの接続を同時に利用することで、継続した通信が可能となる。
【００２３】
図２はメインＣＰＵ１０２が処理を行う通信処理におけるソフトウェア階層図を示す。アプリケーションレイヤ２０１では、アプリケーションの制御及び通信接続先との間でアプリケーションが送受信したデータの処理が実行される。また、アプリケーションレイヤ２０１では、ＭＰＴＣＰレイヤ２０３に対するパケット送受信要求が行われる。本実施形態では、通信処理装置１０１と通信接続先との間でＭＰＴＣＰを用いた通信が行われる。なお、通信接続先とＭＰＴＣＰを用いた通信を行わない場合、アプリケーションレイヤ２０１は、ＭＰＴＣＰレイヤ２０３を介さずＴＣＰレイヤを介して通信接続先と通信を行う。また、通信接続先とのＭＰＴＣＰ通信を試みたが、通信接続先がＭＰＴＣＰに対応していない場合には、通常のＴＣＰコネクションを用いて通信接続先との通信が行われる。なお、ＭＰＴＣＰはアプリケーションレイヤ２０１よりも下のレイヤの拡張である。したがって、図２におけるＭＰＴＣＰレイヤとアプリケーションレイヤ２０１との境界は、従来のＴＣＰレイヤとアプリケーションレイヤ２０１との境界と同じである。したがって、アプリケーションレイヤ２０１内で複数のパスを制御及び管理をすることは必要なく、アプリケーションレイヤ２０１は従来のＴＣＰコネクションを利用した通信と同様の制御を行うことで複数のパスを利用した通信を行うことができる。
【００２４】
アプリケーションレイヤ２０１は、優先度管理部２０２の設定を変えることにより、後述する所定の条件が発生した場合にＭＰＴＣＰサブフローの優先度制御を行うか否かを制御することができる。アプリケーションレイヤ２０１は、ＭＰＴＣＰを帯域拡大目的で利用するか、複数の回線の冗長接続のために利用するか、を優先度管理部２０２に通知することができる。また、アプリケーションレイヤ２０１が制御を行うのではなく、ＭＰＴＣＰレイヤ２０３の判断により、ＭＰＴＣＰを帯域拡大目的で利用するか、冗長接続のために利用するかを、決定してもよい。
【００２５】
ＭＰＴＣＰレイヤ２０３は、複数のＩＰアドレス及びポート番号を用いてデータを送受信する。すなわち、ＭＰＴＣＰレイヤ２０３は、複数のサブフローを用いて通信接続先との通信を行う。本実施形態では、ＴＣＰレイヤのサブフローＡ２０４及びサブフローＢ２０５を用いて、すなわち複数のパスを用いて、通信接続先との通信が行われる。このように、アプリケーションレイヤ２０１と通信接続先との間の単一のコネクションに基づく通信が、複数のパスを用いて行われる。これらのサブフローＡ２０４及びサブフローＢ２０５は、ＭＰＴＣＰレイヤ２０３によって管理される。
【００２６】
このように、通信制御部Ａ１０５及び通信制御部Ｂ１０６は、接続先との間で、互いに異なるパスを経由する複数のトランスポート層接続を確立して通信を行う。本実施形態において接続先との間で確立される接続は、１つのＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）接続が、異なるパスを経由する複数のトランスポート層接続を含む、ＴＣＰ接続である。サブフローＡ２０４によって通信接続先と接続されるパスは、インタフェースＡ２０６を介してネットワーク（例えばネットワークＡ１１１）に接続される。また、サブフローＢ２０５によって通信接続先と接続されるパスは、インタフェースＢ２０７を介してネットワーク（例えばネットワークＢ１１２）に接続される。図２には、ＭＰＴＣＰレイヤ２０３が管理するサブフローとしてサブフローＡ２０４及びサブフローＢ２０５が示されているが、本実施形態におけるＭＰＴＣＰ接続では、２つ以上の任意の数のサブフローを利用することができる。ここで、後述するように、パスのそれぞれは優先度（又は役割）を有しており、例えば、通常パスとしての優先度（役割）、又はバックアップパスとしての優先度（役割）を有することができる。
【００２７】
ＭＰＴＣＰレイヤ２０３は、優先度管理部２０２を有している。優先度管理部２０２は、予め定められている設定情報を参照して、電力制御部１０４、通信制御部Ａ１０５、又は通信制御部Ｂ１０６が取得した変更指示に応じたパスの役割の変更方法を判定する。この設定情報は、パスの役割の変更動作を制御するために、通信処理装置１０１に設定される情報である。例えば、設定情報は、変更指示に応じてパスの役割の変更方法を判定する際に用いられる情報、又は変更指示に応じたパスの役割の変更方法を規定する情報である。そして、優先度管理部２０２は、判定された変更方法に従ってパスの役割を変更する制御を行う。この処理については、図３及び図６を参照して後に詳しく説明する。
【００２８】
アプリケーションレイヤ２０１はＭＰＴＣＰ接続を行うことにより、複数の経路を利用して通信帯域を拡大することができる。ここで、それぞれのパスの役割は、通常パスと、通常パスを経由する通信に支障がある場合に用いられるバックアップパスと、から選択することができる。例えば、優先度管理部２０２の制御に従って、通常パスに設定されたサブフローＡ２０４及びサブフローＢ２０５の双方を用いて通信を行うことにより、通信帯域を拡大することができる。また、アプリケーションレイヤ２０１はＭＰＴＣＰ接続を行うことにより、通常パスとバックアップパスを利用する冗長接続が可能となる。この場合通常パスの通信経路切断時に高速にバックアップパスを利用して通信接続を回復できる。例えば、優先度管理部２０２の制御に従って、通常はサブフローＡ２０４を用いて通信を行う一方、サブフローＡ２０４を用いた通信が行えなくなった場合、サブフローＢ２０５を用いた通信を行うことができる。また、通常パスを経由する通信において帯域が足りなくなったことで通信に支障が生じている場合に、バックアップパスを用いて通信を行うことにより帯域を拡大してもよい。本実施形態において、パスの役割は、優先的に用いられるサブフローが通る通常パスと、パックアップとして用いられるサブフローが通るパックアップパスから選択されるため、以下ではパスの役割を示す情報をサブフローの優先度と呼ぶことがある。
【００２９】
次に、図３を参照して、優先度管理部２０２における、サブフローの優先度を変更する処理のフローについて説明する。本実施形態において、通信制御部Ａ１０５又は通信制御部Ｂ１０６は、通信接続先へのデータ送信時におけるパスの役割を変更する要求を、通信接続先から受信する（ステップＳ３０１）。この要求は、パスの役割が変更されるように接続先へのデータ送信時の動作状態を変更する指示であるといえる。そして、この要求の受信に応じて、通信接続先からのデータ受信時におけるパスの役割を変更する制御を行う（ステップＳ３０３）。具体例としては、接続先へのデータ送信時におけるパスの役割と同じになるように、接続先からのデータ受信時におけるパスの役割を変更することができる。ここでは、通信接続先からのデータ受信時におけるパスの役割を変更する要求を通信接続先に送信することにより、通信接続先からのデータ受信時におけるパスの役割を変更することができる。
【００３０】
ステップＳ３０１は、ＭＰＴＣＰレイヤ２０３が通信接続先からサブフローの優先度を変更することを示す優先度変更パケットを受信するまで繰り返される。ＭＰＴＣＰレイヤ２０３が優先度変更パケットを受信すると、処理はステップＳ３０２へ進む。なお、本実施形態において、優先度変更パケットとはＭＰＴＣＰオプションの１つであるＭＰ＿ＰＲＩＯオプションが付与されたパケットのことを指す。ＭＰＴＣＰプロトコルによれば、ＭＰ＿ＰＲＩＯオプションを用いた優先度の変更はデータ受信側だけが要求できるように規定されており、データ送信側はこの要求に従うよう規定されている。すなわち、この優先度変更パケットは、通信処理装置１０１が送信側となり、通信接続先に対してデータを送信する際の、サブフローの優先度を変更する通知といえる。
【００３１】
ステップＳ３０２において、優先度管理部２０２は、設定情報を参照して、変更指示に応じたパスの役割の変更方法を判定する。本実施形態において設定情報は、変更指示に応じてパスの役割を変更するか否かを示す情報である。すなわち、優先度管理部２０２は、この設定情報を参照して、変更指示に応じてパスの役割を変更するか否かを判定する。例えば、設定情報は、通信処理装置１０１が送信側となる際のサブフローの優先度を変更する通知を受信した際に、通信処理装置１０１が受信側となる際のサブフローの優先度を同一にする設定が有効である否かを示すことができる。優先度管理部２０２は、この設定を確認することができる。この設定が無効な場合、図３の処理は終了する。この場合、優先度管理部２０２は、通知に従って、通信処理装置１０１が送信側となる場合のサブフローの優先度を変更することができる。一方、この設定が有効な場合、処理はステップＳ３０３に進む。
【００３２】
ステップＳ３０３において、優先度管理部２０２は、通信処理装置１０１が受信側となり、通信接続先からデータを受信する際の、サブフローの優先度を変更する通知を、通信接続先に送る。例えば、優先度管理部２０２は、ＭＰ＿ＰＲＩＯオプションを付与したパケットを通信接続先へとサブフローを介して送信することができる。このようにして、優先度管理部２０２は、サブフローの優先度を制御することができる。例えば、通信処理装置１０１が送信側となる際のパスの役割をバックアップパスに変更する通知を受け取った場合、通信処理装置１０１が受信側となる際のパスの役割をバックアップパスに変更する通知を送信することができる。
【００３３】
以上のように、通信処理装置１０１は、所定の条件、例えば通信処理装置１０１が送信側となる際のサブフローの優先度を同一にする設定が有効であること、に応じて、通信処理装置１０１が用いるサブフローの優先度を制御することができる。具体的には、優先度管理部２０２は、所定の条件が満たされるか否かに応じて、通信処理装置１０１がデータの受信に用いるサブフローの優先度を制御することができる。もっとも、所定の条件の種類は特に限定されない。例えば、優先度管理部２０２は、単に通信接続先へのデータ送信時におけるパスの役割を変更する要求を通信接続先から受信したことを条件として、通信接続先からのデータ受信時におけるパスの役割を変更する制御を行ってもよい。
【００３４】
このような構成を用いることで、通信接続先は、通信処理装置１０１が用いるサブフローの優先度を制御することができる。具体的には、通信接続先は、優先度変更パケットの送信を通じて、通信接続先がデータの受信に用いるサブフローの優先度を制御するだけでなく、通信処理装置１０１がデータの受信に用いるサブフローの優先度を制御することができる。さらなる実施例においては、優先度管理部は、通信接続先からの制御と、通信処理装置１０１の設定等の条件との双方に基づいて、通信処理装置１０１が用いるサブフローの優先度を制御することもできる。
【００３５】
本実施形態では、通信接続先からの優先度変更パケットを受信した際に、サブフローの優先度を変更する処理について説明した。しかしながら、優先度の変更方法は特に限定されない。他の方法を用いても、回線の状況によらず、例えば通信処理装置１０１の設定又は通信接続先からの制御等に基づいて、動的にサブフロー優先度を変更することができる。
【００３６】
本実施形態によれば、通信処理装置１０１において、回線状況によらずサブフローの優先度を動的に変更することができる。本実施形態によれば、通信処理装置の設定等の端末条件、又は通信接続先からの制御等の条件に基づいて、動的にサブフローの優先度を変更できるため、効率的な通信処理が可能となる。また、このようにパスの優先度を切り替える本実施形態においては、ＴＣＰセッションを張り直すことによりパスを切り替える構成と比較して、切り替え先のパスを用いた通信をより早く行うことができる。
【００３７】
本実施形態に示した通信処理装置１０１は、例えば、後述する実施形態２又３に係る通信処理装置の通信接続先として動作することで、より効率的な動作が可能となる。すなわち、本実施形態に係る通信処理装置が通信接続先である場合、実施形態２又は３に係る通信処理装置は、優先度変更パケットを送信することで、上り通信におけるサブフローの優先度だけではなく、下り通信におけるサブフローの優先度も制御できる。
【００３８】
また、通信接続先が通常パスの通信品質の低下を検知した際に、通信接続先が通信処理装置１０１に対してサブフローの優先度を変更させる通知を行うことができる。この場合、ＭＰＴＣＰプロトコルによれば、通信接続先からの通知を受けた通信処理装置は、データ送信時に用いるサブフローの優先度を変更するだけであった。このため、通信処理装置が独立して通常パスの通信品質の低下を検知した際に、通信接続先に対して送信時に用いるサブフローの優先度を変更させる通知を送ることで、通信処理装置がデータの受信時に用いるサブフローの優先度を変更していた。このように、通信処理装置１０１がデータ受信時に用いるサブフローの優先度を変更するためには、通信処理装置１０１が別途サブフローの通信品質の低下を検知して通信接続先に優先度を変更する通知を行う必要があり、効率的ではなかった。本実施形態の方法によれば、通信接続先が通信品質の低下を検出した際に行われる一方向の通信におけるサブフローの優先度の変更を、逆方向の通信にも迅速に適用することが可能となるため、より効率的な動作が可能となる。
【００３９】
［実施形態２］
実施形態１では、通信接続先に向かう通信におけるサブフローの優先度を変更する要求を受信したことに応じて、通信処理装置の設定に応じて反対方向の通信におけるサブフローの優先度を決定した。実施形態２では、通信処理装置の状態変化に応じて、セキュリティ設定に応じて通信におけるサブフローの優先度を決定する。本実施形態に係る通信処理装置１０１の構成は、実施形態１に係る図１及び図２に示される構成と同様である。以下では、実施形態１とは異なる構成について説明し、類似する構成についての説明は省略する。
【００４０】
実施形態２に係る通信処理装置１０１が接続されるネットワークの構成例を、図４を用いて説明する。図４では、通信処理装置１０１と通信相手装置４０１との間のコネクションにおいて、ネットワークＡ１１１を介したサブフローと、ネットワークＢ１１２を介したサブフローと、を用いる例が示されている。もっとも、用いるサブフローの数は限定されず、２つ以上の任意の数のサブフローを用いることができる。
【００４１】
通信処理装置１０１が接続されるネットワークＡ１１１は、直接インターネット４０３を経由して通信相手装置４０１に接続している。また、通信処理装置１０１が接続されるネットワークＢ１１２は、社内ネットワーク等のローカルネットワーク４０４に接続されている。そして、ネットワークＢを介して通信処理装置１０１と通信相手装置４０１との間で送受信されるパケットは、ローカルネットワーク４０４とインターネット４０３とを接続するセキュリティＧＷ４０２を経由する。
【００４２】
また、通信相手装置４０１は、ＩＰｓｅｃプロトコルを利用してセキュリティが担保された通信を行う。例えば、通信処理装置１０１と通信相手装置４０１との間のネットワークＡ１１１を介したサブフローは、トランスポートモード又はトンネルモードによって、通信処理装置１０１と通信相手装置４０１との間でセキュリティコネクションを維持する。一方で、通信処理装置１０１と通信相手装置４０１との間のネットワークＢ１１２を介したサブフローは、トンネルモードによってセキュリティＧＷ４０２と通信相手装置４０１との間でセキュリティコネクションを維持する。セキュリティＧＷ４０２によってＩＰｓｅｃ処理されるパケットは、ローカルネットワーク４０４内、すなわちセキュリティＧＷ４０２と通信処理装置１０１との間では、平文パケットとして送受信される。
【００４３】
通信処理装置１０１は、通常電力状態又は省電力状態をとることができる。図５は、通信処理装置１０１の状態の遷移図である。通信処理装置１０１の主要機能が動作中である間は、通信処理装置１０１は通常電力状態５０１を維持する（５０３）。通常電力状態５０１では、通信処理装置１０１全体に電力が供給される。一方で、通常電力状態５０１において主要機能が実行されていないアイドル状態になると、例えばメインＣＰＵ１０２の制御に従って、通信処理装置１０１は省電力状態５０２へ移行することができる。また、通信処理装置１０１は、例えば通信処理装置１０１がネットワークからシステムの起動要求を受信した場合（５０５）に、省電力状態５０２から通常電力状態５０１へ移行することができる。
【００４４】
また、電力制御部１０４が、ユーザによる操作が可能な外部のスイッチと接続されていてもよい。この場合、スイッチの押下に応じて通信処理装置１０１は通常電力状態５０１から省電力状態５０２に移行することができ、また省電力状態５０２から通常電力状態５０１に移行することができる。
【００４５】
省電力状態５０２では、電力制御部１０４の制御により通信処理装置１０１全体において動作周波数の低減が行われる。また、通信処理装置１０１が各機能ブロックを実現する専用のハードウェア回路を有する場合、省電力状態５０２では、省電力待ち受け時に必要となる最小限のハードウェア回路に電源を供給することができる。通信処理装置１０１が複数のマイクロプロセッサによるマルチプロセッサ構成を有する場合、又はハードウェアによるアクセラレーションを行う構成を有する場合も、同様に最小限のハードウェアに電源を供給することができる。このように、省電力状態５０２においては、通常電力状態５０１にある場合よりも、通信処理装置１０１の電力消費量を低減することができる。省電力状態５０２が、ユーザの設定又はネットワークの使用状況等に応じて選択される複数のモードを備えていてもよい。この場合、電力制御部１０４は、モードごとに通信処理装置１０１の電力消費量が異なるように電源制御を行うことができる。
【００４６】
本実施形態において、通常電力状態５０１では、通信処理装置１０１と通信相手装置４０１との間のＭＰＴＣＰコネクションにおいて、ネットワークＡ１１１を介するサブフローが通常パスとして用いられる。また、ネットワークＢ１１２を介するサブフローがバックアップパスとして用いられる。上述のように、ネットワークＡ１１１を介するサブフローは、通信処理装置１０１によってセキュリティが確保される。一方、ネットワークＢ１１２を介するサブフローは、すなわちローカルネットワーク４０４を介し、セキュリティＧＷ４０２によりセキュリティが確保される。このように、ネットワークＡ１１１を介するサブフローを通常パスとして用いることにより、ローカルネットワーク４０４に掛かる負荷を軽減することができる。
【００４７】
一方で、通信処理装置１０１が省電力状態５０２へ移行すると、後述する方法を用いてサブフロー優先度が変更される。これにより、ネットワークＡ１１１を介したサブフローがバックアップパスとして用いられ、ネットワークＢ１１２を介したサブフローが通常パスとして用いられるように、優先度の切り替えが行われる。省電力状態５０２では、通信相手装置４０１からの起動要求の待ち受けが行われ、また一定時間毎に状態問い合わせのパケットが通信処理装置１０１に到達するが、行われる通信量は通常電力状態に比べて非常に少ない。このため、省電力状態５０２においては、ネットワークＢ１１２を介したサブフローを通常パスとして用い、ネットワークＡ１１１を介したサブフローのセキュリティを確保するために用いられる暗号処理部１０３に対する電源供給を停止することができる。
【００４８】
なお、例えばネットワークＢ１１２を介したサブフローの通信品質が低下した場合に、通信相手装置４０１はバックアップパスであるネットワークＡ１１１を介して問い合わせパケットを送信することができる。この場合、電力制御部１０４は、暗号処理部１０３への電源供給を行うことができる。具体例として、通信処理装置１０１は、電源が供給された暗号処理部１０３が低動作周波数で動作する第２の省電力状態に移行してもよいし、通常電力状態５０１に復帰してもよい。
【００４９】
ここで、図６を参照して、通常電力状態５０１から省電力状態５０２へ遷移する際、又は省電力状態５０２から通常電力状態５０１へ遷移する際の、通信処理装置１０１の状態移行フローについて説明する。
【００５０】
ステップＳ６０１において、電力制御部１０４は、電力モードの移行を検知するまで待機を行う。電力制御部１０４は、通信処理装置１０１の動作状態の変更指示を受け取る。本実施形態の場合、電力制御部１０４は、特に、電力モードの移行指示を受け取る。電力制御部１０４は、この移行指示を受け取ったことに応じて、電力モードの移行を検知する。電力モードの移行が検知されると、処理はステップＳ６０２へ進む。ステップＳ６０２において、優先度管理部２０２は、サブフローの優先度を決定する処理を行う。ステップＳ６０２において、通常電力状態５０１から省電力状態５０２へ移行する際には、図７に示す処理が行われる。また、省電力状態５０２から通常電力状態５０１へ移行する際には、図８に示す処理が行われる。
【００５１】
ここで、図７を参照して、通常電力状態５０１から省電力状態５０２へ移行する際におけるステップＳ６０２の処理について説明する。本実施形態において、優先度管理部２０２は、予め定められている設定情報を参照して、電力モードの移行指示に応じたパスの役割の変更方法を判定し、判定された変更方法に従ってパスの役割を変更する制御を行う。本実施形態における設定情報は、通信処理装置１０１に設定されているセキュリティポリシー、特に複数のサブフローのそれぞれで用いられるセキュリティポリシーを示す情報を含む。そして、優先度管理部２０２は、セキュリティポリシーを参照して、パスの役割の変更方法を判定する。一方で、電力モードの種類と、この電力モードにおけるパスの役割と、の対応関係を示す設定情報を用いることもできる。この場合、ステップＳ６０２において、優先度管理部２０２は、指示された電力モードに対応する各パスの役割を、図７の処理を行うことなく決定することができる。
【００５２】
ステップＳ７０１において、優先度管理部２０２は、省電力状態の移行を検知した場合に、サブフローの優先度を変更する設定が有効かどうかを判定する。優先度を変更しない設定の場合、図７の処理は終了する。優先度を変更する設定の場合、処理はステップＳ７０２へ進む。この設定は、アプリケーション毎に設定可能であってもよいし、ユーザがインタフェースを操作することによって設定可能であってもよいし、通信相手装置４０１による制御に従って設定可能であってもよい。
【００５３】
ステップＳ７０２において、優先度管理部２０２は、通信処理装置１０１に設定されているセキュリティポリシーを取得する。ステップＳ７０３において、優先度管理部２０２は、複数のサブフローのそれぞれで用いられるセキュリティポリシーが異なっているかを確認する。異なっていない場合は、図７の処理は終了する。異なっている場合、処理はステップＳ７０４へ進む。
【００５４】
ステップＳ７０４において、優先度管理部２０２は、通信処理装置１０１がセキュリティ確保を行っていないパスがあるかどうかを確認する。このようなパスがない場合、図７の処理は終了する。このようなパスがある場合、処理はステップＳ７０５へ進む。また、優先度管理部２０２は、暗号処理部１０３によらずセキュリティ確保を行っているパスがあるかどうかを確認してもよい。例えば、メインＣＰＵ１０２の処理のみによってセキュリティが確保できるパスが存在する場合に、ステップＳ７０５へ進んでもよい。
【００５５】
ステップＳ７０５において、優先度管理部２０２は、通信処理装置１０１がセキュリティ確保を行っていないパス、又は暗号処理部１０３によらずセキュリティ確保を行っているパスを選択し、通常パスとして決定する。例えば、優先度管理部２０２は、メインＣＰＵ１０２のみでセキュリティを確保可能なパスを１つ選択し、通常パスに決定してもよい。ステップＳ７０６において、優先度管理部２０２は、通常パスとして選択されたパス以外のパスをバックアップパスに決定する。このように、ローカルネットワーク４０４がセキュリティを確保するネットワークＢ１１２経由のサブフローを優先的に使うように優先度を決定することにより、省電力状態移行時に暗号処理部１０３の電源を遮断した際に、省電力効果を高めることができる。
【００５６】
このように、本実施形態においては、優先度管理部２０２は、消費電力がより少ない電力モードへの移行指示、例えば通常電力状態５０１から省電力状態５０２への移行指示に応じて、パスの役割を変更する。図４の例において、ネットワークＡ１１１経由のサブフローは、通信処理装置１０１によってセキュリティ確保処理が行われるパスを経由する、確立されたトランスポート層接続である。また、ネットワークＢ１１２経由のサブフローは、外部装置によってセキュリティ確保処理が行われるパスを経由する、確立されたトランスポート層接続である。この例において、優先度管理部２０２は、消費電力がより少ない電力モードへの移行指示に応じて、通信処理装置１０１によってセキュリティ確保処理が行われるパスの役割を、バックアップパスに設定することができる。また、優先度管理部２０２は、外部装置によってセキュリティ確保処理が行われるパスの役割を、通常パスに設定することができる。
【００５７】
また、本実施形態において、優先度管理部２０２は、暗号処理部１０３への電源供給を減らす指示、例えば通常電力状態５０１から省電力状態５０２への移行指示に応じて、パスの役割を変更する。図４の例において、優先度管理部２０２は、この指示に応じて、暗号処理部１０３によるセキュリティ確保処理が行われるパスの役割を、バックアップパスに設定することができる。また、優先度管理部２０２は、暗号処理部１０３によるセキュリティ確保処理が行われないパスの役割を、通常パスに設定することができる。
【００５８】
また、図８を参照して、省電力状態５０２から通常電力状態５０１へ移行する際の処理について説明する。ステップＳ８０１において、優先度管理部２０２は、省電力状態５０２へ移行した際にサブフローの優先度を変更したか否かを確認する。優先度の変更を行っていない場合、図８の処理は終了する。また、優先度の変更を行っていた場合、処理はステップＳ８０２に進む。ステップＳ８０２において、優先度管理部２０２は、省電力状態移行前のサブフローの優先度を、通常電力状態５０１へ移行した際に用いる優先度として決定する。このように、優先度管理部２０２は、通常電力状態５０１から省電力状態５０２への変更指示にしたがって、例えば、ネットワークＡ１１１を介したパスの役割を通常パスからバックアップパスに変更することができる。また、優先度管理部２０２は、省電力状態５０２から通常電力状態５０１への変更指示にしたがって、例えば、ネットワークＡ１１１を介したパスの役割を、バックアップパスから通常パスに戻すことができる。このように、省電力状態５０２から通常電力状態５０１へと移行する際には、省電力状態５０２へ移行する前に通常電力状態５０１において用いていたサブフローの優先度が用いられる。
【００５９】
ステップＳ６０３において、優先度管理部２０２は、ステップＳ６０２で決定したサブフローの優先度と現在のサブフローの優先度とを比較する。サブフローの優先度に変更がある場合、処理はステップＳ６０４に進み、変更がない場合、処理はステップＳ６０５に進む。ステップＳ６０４において、優先度管理部２０２は、優先度を変更するサブフローに対してＭＰ＿ＰＲＩＯオプションを付与したＭＰＴＣＰパケットを送信する。こうして、ステップＳ６０２で決定された優先度に従って、サブフローの優先度が変更される。具体的には、通信相手装置４０１がこのＭＰＴＣＰパケットを受け取ると、通信相手装置４０１は優先度が高いサブフローを用いてデータを通信処理装置１０１に送るようになる。
【００６０】
ステップＳ６０５において、電力制御部１０４は、電力モード移行処理を行い、処理を終了する。例えば、電力制御部は、通常電力状態５０１から省電力状態５０２へ移行するとともに、暗号処理部１０３への電源供給を遮断することができる。また、電力制御部１０４は、省電力状態５０２から通常電力状態５０１へ移行するとともに、暗号処理部１０３への電源供給を再開することができる。
【００６１】
本実施形態によれば、通信処理装置１０１において、回線状況によらず、サブフローの優先度を動的に変更することができる。本実施形態においては、電力モードの移行に応じてサブフローの優先度を決定したが、通信処理装置１０１の他の状態変化に応じてサブフローの優先度を決定してもよい。また、本実施形態では、セキュリティポリシーの設定に応じてサブフロー優先度を変更してよいかどうかを判断したが、設定情報として他の情報を参照して判断を行ってもよい。一方、セキュリティポリシーを決定する管理者が、又は通信相手装置４０１が、電力モードの移行に応じてサブフロー優先度を変更してよいかどうかを、通信処理装置１０１に設定してもよい。このような構成によれば、セキュリティレベルを落とすことなく、省電力状態移行時に優先されるサブフローを決定し、省電力効果を高めることができる。また前述したように、実施形態１に係る通信処理装置を通信相手装置４０１として用いることにより、上り下り双方のサブフローの優先度を制御できるため、より効率的に省電力効果を高めることが可能となる。
【００６２】
本実施形態に従い、ネットワークＡ１１１経由のサブフローがバックアップパスに変更されたとしても、このサブフローを用いた通信は可能である。したがって、省電力状態時にネットワークＢ１１２経由のサブフローに障害が発生したとしても、継続して代わりにネットワークＡ１１１を介した通信を行うことができる。このため、ＭＰＴＣＰのメリットを生かしつつも効率的な動作が可能となる。なお、バックアップパスで通信する際には、電源をオフにしているハードウェア（暗号処理部１０３）に一時的に電力を供給することができる。
【００６３】
［実施形態３］
実施形態２では、電力モードの移行に応じて、通信処理装置のセキュリティ設定に応じてサブフローの優先度を決定する方法を示した。実施形態３では、電力モードの移行に応じて、通信処理装置が有する通信インタフェースの消費電力に基づいてサブフローの優先度を決定する。本実施形態に係る通信処理装置１０１の構成は、実施形態２に係る図１及び図２に示される構成と同様である。また、通信処理装置１０１の状態遷移も図５と同様に行われ、電力モードの移行処理も図６に従って行われる。本実施形態に係る処理は、実施形態２と比較して、ステップＳ６０２におけるサブフローの優先度決定処理が異なる。以下では、実施形態２と同様の点については説明を省略する。
【００６４】
図９は、実施形態３に係る通信処理装置１０１が接続されるネットワークの一例を示す。通信処理装置１０１は、ネットワークＡ１１１を介して通信相手装置９０６に接続される。ネットワークＡはギガビットイーサネット（登録商標）による有線ＬＡＮ接続であり、最大で１Ｇｂｐｓの通信スループットを得ることができる。ネットワークＡ１１１は、通信を中継するスイッチングハブ９０５に接続される。さらにスイッチングハブ９０５は、ギガビットイーサネット（登録商標）９０８を介して通信相手装置９０６に接続される。なお、スイッチングハブ９０５の代わりに、ネットワークＡ１１１は、ブリッジ又はルータ等の通信中継機器を介して通信相手装置９０６に接続されていてもよい。
【００６５】
また、通信処理装置１０１は、ネットワークＢ１１２を介して通信相手装置９０６に接続される。ネットワークＢは８０２．１１ａｃＷＡＶＥ２の無線ＬＡＮネットワークであり、複数のアンテナを利用することで１Ｇｂｐｓを超える通信スループットを得ることができる。通信処理装置１０１は、このような無線ＬＡＮを介してアクセスポイント９０４に接続される。また、アクセスポイント９０４と通信相手装置９０６とは１０Ｇビットイーサネット（登録商標）によって接続される。
【００６６】
本実施形態において、通常電力状態５０１では、ネットワークＢ１１２を介して通信相手装置９０６に到達するＭＰＴＣＰサブフローが、通常パスとして優先的に利用される。また、ネットワークＡ１１１を介して通信相手装置９０６に到達するサブフローは、バックアップパスとして利用される。このように、通常電力状態５０１では、通信帯域がより大きいネットワークが優先的に利用される。なお、通常電力状態５０１において、ネットワークＡ１１１を介して通信相手装置９０６に到達するサブフローを通常パスとして利用することにより、通信帯域を拡大してもよい。
【００６７】
本実施形態では２つ以上のサブフローを利用することもでき、サブフローの数は任意である。また、ネットワークＡ１１１とネットワークＢ１１２の仕様も任意である。例えば、通信処理装置１０１は、互いに異なる２つの種別のネットワークインタフェースを有することができる。また、通信処理装置１０１は、Ｅｎｅｒｇｙ  Ｅｆｆｉｃｉｅｎｔ  Ｅｔｈｅｒｎｅｔ（ＥＥＥ）に対応した有線ＬＡＮインタフェースを２つ備えていてもよい。また、通信処理装置１０１は、上述のように無線ＬＡＮインタフェースを備えていてもよい。この場合にも、詳細については後述するが、通信処理装置１０１との直接接続リンクを確立する機器がＥＥＥに対応しているか否かに応じて、優先度を切り替えることができる。
【００６８】
次に、図１０を参照して、本実施形態におけるステップＳ６０２のサブフロー優先度決定処理について説明する。本実施形態における設定情報は、それぞれのパスごとの、パスを経由する通信時の消費電力量を示す情報を含む。とりわけ、設定情報は、パスを経由する通信時における、通信処理装置１０１が有するインタフェースの消費電力量を示す情報を含んでいる。そして、優先度管理部２０２は、この消費電力量を参照して、パスの役割の変更方法を判定する。
【００６９】
ステップＳ１００１は実施形態２のステップＳ７０１と同様であり、説明を省略する。ステップＳ１００２において、優先度管理部２０２は、通信処理装置１０１が有するそれぞれのインタフェースとリンク先との間のリンク種別を取得する。リンク種別には、例えば、ギガビットイーサネット（登録商標）、ＩＥＥＥ８０２．１１ａｃ、ＥＥＥ対応機器とのリンク、及びＥＥＥ非対応機器とのリンク、等が含まれる。
【００７０】
ステップＳ１００３において、優先度管理部２０２は、それぞれのインタフェースが、異なる種別のリンクを有しているか否かを判定する。リンク種別が同一である場合、図１０の処理は終了する。また、異なる種別のリンクがある場合、処理はステップＳ１００４に進む。例えば、図９の場合、ネットワークＡ１１１を介したリンクとネットワークＢ１１２を介したリンクの種別は異なる。
【００７１】
また、通信処理装置１０１がＥＥＥに対応した機器と対応していない機器にそれぞれ接続される場合も、異なる種別のリンクがあると判定できる。さらに、通信処理装置１０１がギガビットイーサネット（登録商標）に対応した機器とファーストイーサネット（登録商標）等の１００Ｂａｓｅ−Ｔにのみ対応した機器とにそれぞれ接続される場合も、異なる種別のリンクがあると判定できる。これらの場合、通信処理装置１０１が有するインタフェースの種別は同一であるかもしれないが、リンク種別は別であると判定することができる。
【００７２】
ステップＳ１００４において、優先度管理部２０２は、各通信インタフェースが現在のリンクを用いて通信する際に消費する電力の情報を取得する。ステップＳ１００５において、優先度管理部２０２は、消費電力が、パケットを送受信しているか否かに関わらず消費電力が一定である通信インタフェースが存在するか否かを判定する。このようなインタフェースリンクがある場合処理はステップＳ１００６へ進み、ない場合処理はステップＳ１００７へ進む。例えば、ＥＥＥに従うリンク及び無線リンクは、送受信が発生したタイミングでインタフェースの消費電力量が一時的に増加し、送受信が発生していない場合は一定以下に消費電力が抑えられるため、消費電力は一定ではない。
【００７３】
ステップＳ１００６において、優先度管理部２０２は、パケットを送受信しているか否かに関わらず消費電力が一定である通信インタフェースを経由するサブフローを、通常パスに決定する。これにより、通信時に消費電力が増加するインタフェースを用いた通信量が減るため、省電力状態において消費される電力を抑えることができる。ステップＳ１００７において、優先度管理部２０２は、最も送受信時の消費電力が少ないインタフェース経由するサブフローを、通常パスに決定する。これにより、省電力状態動作時に消費される電力を抑えることができる。ステップＳ１００８において、優先度管理部２０２は、通常パスとして決定されたサブフロー以外のサブフローを、バックアップパスとして決定する。
【００７４】
このように、本実施形態において優先度管理部２０２は、消費電力がより少ない電力モードへの移行指示、例えば通常電力状態５０１から省電力状態５０２への移行指示に応じて、パスの役割を変更する。図９の例において、通信処理装置１０１は、ネットワークＡ１１１を通るパスを介して通信を行うインタフェースＡ２０６と、ネットワークＢ１１２を通るパスを介して通信を行うインタフェースＢ２０７と、を有している。そして、インタフェースＡ２０６は、通信の有無にかかわらず消費電力が一定であり、インタフェースＢ２０７は、非通信時よりも通信時において消費電力が大きくなる。この例において、優先度管理部２０２は、消費電力がより少ない電力モードへの移行指示に応じて、インタフェースＡ２０６を介するパスを通常パスに設定することができる。また、優先度管理部２０２は、インタフェースＢ２０７を介するパスをバックアップパスに設定することができる。
【００７５】
以上のように、本実施形態では電力モード状態の移行に応じて、インタフェースの消費電力に基づいてサブフローの優先度を変更することにより、省電力状態においては通信処理装置１０１全体の総消費電力を低減することができる。一方、電力モード状態以外の通信処理装置１０１の状態変化に応じて、回線の状況によらず動的にサブフローの優先度を変更することもできる。サブフローの優先度の変更方法は特に限定されず、消費電力を抑えられるように任意の方法を用いることができる。例えば、通信処理装置１０１単体の消費電力だけでなく、システム全体の消費電力を考慮して、管理者や外部装置からの制御によってサブフローの優先度の変更方法が決定されてもよい。具体例としては、システム全体が省電力状態に移行する際には、システム全体の消費電力が少なくなるように、サブフローの優先度を変更する方法が挙げられる。
【００７６】
［実施形態４］
上述の通り、優先度の変更方法は特に限定されず、回線の状況によらない他の方法を用いて動的にサブフロー優先度を変更することができる。例えば、パスについての使用履歴情報に基づいて、優先度を変更することが可能である。パスについての使用履歴情報とは、過去の所定期間における、データ通信のためのこのパスの使用状況、又はこのパスが通る回線若しくはネットワークの使用状況でありうる。使用状況としては、例えば通信量又は通信料金が挙げられ、一実施形態においては、通信量又は通信料金が閾値を超えた場合に優先度を変更することができる。このような処理は、実施形態１〜３の処理と組み合わせて用いてもよい。
【００７７】
具体例として、優先度管理部２０２は、ネットワークＡ１１１を通るパスについての使用履歴情報を取得することができる。この使用履歴情報は、例えば、ネットワークＡ１１１を介した通信量又は通信料金であってもよく、これらを監視することにより取得することができる。そして、優先度管理部２０２は、予め定められた設定情報を参照して使用履歴情報に応じたパスの優先度の変更方法を判定し、判定された変更方法に従ってパスの優先度を変更する制御を行うことができる。ここで、設定情報は所定期間内の通信量又は通信料金の閾値であってもよく、通信量又は通信料金が閾値を超えた場合に、優先度管理部２０２はネットワークＡ１１１を介するサブフローを通常パスからバックアップパスに変更することができる。また、優先度管理部２０２は、同時にネットワークＢ１１２を介するサブフローをバックアップパスから通常パスに変更することができる。このような構成は、例えば、ネットワークＡ１１１を使うよりもネットワークＢ１１２を使う方が通信料金を抑えられる場合に使用することができ、通信料が予算を大きく超える可能性を減らすことができる。一方、このような構成は、例えば、ネットワークＡ１１１の方がネットワークＢ１１２よりも高速な場合に使用することができ、予算の範囲内で高速な通信を実現することができる。このような構成は一例にすぎず、優先度管理部２０２は、例えばネットワークＢ１１２を介した通信量又は通信料金にさらに基づいて優先度を変更してもよい。
【００７８】
上述の各実施形態においては、このようにＭＰＴＣＰサブフローの優先度が動的に制御可能とされる。単に回線品質又はコストにのみ基づいてサブフロー優先度を制御するだけでなく、情報処理装置の状態若しくはその設定、又は外部装置からの制御によってサブフロー優先度を変更可能となった。アプリケーションは、ＭＰＴＣＰを利用することで、複数の通信経路の存在を意識することなくＴＣＰコネクションにおいて複数のパスを利用することが可能となる。その際に、各実施形態に従って状況に応じた優先度の変更を行うことで、効率的な動作が可能となる。
【００７９】
（他の実施形態）
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムコードを読み出して実行する。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【００８０】
１０１：通信処理装置、１０３：暗号処理部、１０４：電力制御部、１０５：通信制御部Ａ、１０６：通信制御部Ｂ、２０２：優先度管理部、２０６：インタフェースＡ、２０７：インタフェースＢ
【図１】
2018142951.tif 000003
【図２】
2018142951.tif 000004
【図３】
2018142951.tif 000005
【図４】
2018142951.tif 000006
【図５】
2018142951.tif 000007
【図６】
2018142951.tif 000008
【図７】
2018142951.tif 000009
【図８】
2018142951.tif 000010
【図９】
2018142951.tif 000011
【図１０】
2018142951.tif 000012