(57)【要約】      （修正有）【課題】データの伝送制御に係る設定を容易にできる情報伝送システム、情報通信装置、情報伝送装置、及びプログラムを提供する。【解決手段】情報通信装置１で取得可能な情報を付加情報として、付加情報とパケットデータとを送出する情報通信装置と、通信可能に接続された情報伝送装置２が、情報通信装置からパケットデータを受け入れる。記憶部２２は受信される付加情報に基づく条件と、処理指示情報とを関連付けて記憶している。制御部２１は、記憶されている条件のうち情報通信装置から受け入れた付加情報が満足する条件を探索し、付加情報が満足する条件があれば、情報通信装置から受け入れたパケットデータに関する所定の特徴情報を抽出し、条件に関連付けて記憶している処理指示情報に基づいて、当該パケットデータを処理するとともに、抽出した特徴情報と処理指示情報とを関連付けて記憶する。【選択図】図１
2015164295.tif 000002
【特許請求の範囲】
【請求項１】
情報通信装置と、情報伝送装置とを含む情報伝送システムであって、
前記情報通信装置は、
通信に係るパケットデータを、前記情報伝送装置との間で送受する通信手段と、
情報通信装置側で取得可能な情報を保持する保持手段と、
前記保持手段が保持する情報を付加情報として、当該付加情報を送出する手段と、
を含み、
前記情報伝送装置は、
前記情報通信装置からパケットデータを受け入れる手段と、
受信される付加情報に基づく条件と、処理指示情報とを関連付けて記憶する記憶手段と、
前記記憶手段に記憶されている前記条件のうち、前記情報通信装置から受け入れた付加情報が満足する条件を探索し、当該付加情報が満足する条件があれば、当該情報通信装置から受信したパケットデータに関する所定の特徴情報を抽出し、当該条件に関連付けて記憶している処理指示情報に基づいて、当該パケットデータを処理するとともに、当該抽出した特徴情報と処理指示情報とを関連付けて記憶する第１の処理と、
前記情報通信装置から受け入れたパケットデータから所定の特徴情報を抽出し、当該抽出した特徴情報と処理指示情報とが関連付けて記憶されているときに、当該記憶された特徴情報に関連付けられた処理指示情報に基づいて、受け入れたパケットデータを処理する第２の処理と、を実行する処理手段と、
を有する情報伝送システム。
【請求項２】
通信に係るパケットデータを送受する通信手段と、
通信に係るパケットデータを、前記情報伝送装置との間で送受する通信手段と、
情報通信装置側で取得可能な情報を保持する保持手段と、
前記保持手段が保持する情報を付加情報として、当該付加情報を送出する手段と、
を含む情報通信装置。
【請求項３】
情報通信装置側で取得可能な情報を付加情報として、当該付加情報とパケットデータとを送出する情報通信装置と通信可能に接続され、
前記情報通信装置からパケットデータを受け入れる手段と、
受信される付加情報に基づく条件と、処理指示情報とを関連付けて記憶する記憶手段と、
前記記憶手段に記憶されている前記条件のうち、前記情報通信装置から受け入れた付加情報が満足する条件を探索し、当該付加情報が満足する条件があれば、当該情報通信装置から受け入れたパケットデータに関する所定の特徴情報を抽出し、当該条件に関連付けて記憶している処理指示情報に基づいて、当該パケットデータを処理するとともに、当該抽出した特徴情報と処理指示情報とを関連付けて記憶する第１の処理と、
前記情報通信装置から受け入れたパケットデータから所定の特徴情報を抽出し、当該抽出した特徴情報と処理指示情報とが関連付けて記憶されているときに、当該記憶された特徴情報に関連付けられた処理指示情報に基づいて、受け入れたパケットデータを処理する第２の処理と、を実行する処理手段と、
を有する情報伝送装置。
【請求項４】
請求項３記載の情報伝送装置であって、
前記特徴情報は、パケットデータの送信元を特定する情報と、パケットデータの送信先を特定する情報との少なくとも一方であることを特徴とする情報伝送装置。
【請求項５】
請求項３または４記載の情報伝送装置であって、
前記処理手段は、さらに、一連の通信の終了を表す情報を含むパケットデータを受け入れた時に、前記記憶している、当該パケットデータから抽出される特徴情報とそれに関連付けられた処理指示情報とを削除する処理を実行する情報伝送装置。
【請求項６】
情報通信装置側で取得可能な情報を付加情報として、当該付加情報とパケットデータとを送出する情報通信装置と通信可能に接続されるコンピュータを、
前記情報通信装置からパケットデータを受け入れる手段と、
受信される付加情報に基づく条件と、処理指示情報とを関連付けて記憶する記憶手段と、
前記記憶手段に記憶されている前記条件のうち、前記情報通信装置から受け入れた付加情報が満足する条件を探索し、当該付加情報が満足する条件があれば、当該情報通信装置から受け入れたパケットデータに関する所定の特徴情報を抽出し、当該条件に関連付けて記憶している処理指示情報に基づいて、当該パケットデータを処理するとともに、当該抽出した特徴情報と処理指示情報とを関連付けて記憶する第１の処理と、
前記情報通信装置から受け入れたパケットデータから所定の特徴情報を抽出し、当該抽出した特徴情報と処理指示情報とが関連付けて記憶されているときに、当該記憶された特徴情報に関連付けられた処理指示情報に基づいて、受け入れたパケットデータを処理する第２の処理と、を実行する処理手段と、
として機能させるプログラム。
【請求項７】
コンピュータを、
通信に係るパケットデータを、前記情報伝送装置との間で送受する通信手段と、
情報通信装置側で取得可能な情報を保持する保持手段と、
前記保持手段が保持する情報を付加情報として、当該付加情報を送出する手段と、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報の伝送を行う情報伝送システム、情報通信装置、情報伝送装置、及びプログラムに関する。
【背景技術】
【０００２】
近年では、ネットワークの構成を動的に変化させるなどの要望に応えるため、ネットワーク上でのデータの伝送経路をソフトウエアによって動的に制御する、ソフトウエア・デファインド・ネットワーク（ＳＤＮ：Software Defined Network）が研究・開発されている。
【０００３】
一例として、OpenFlow（オープンフロー）と呼ばれるＳＤＮでは、ネットワーク上に配されたスイッチ装置が、中央に配されたコントローラからの指示に従ってデータ伝送処理を行う。オープンフローでは、コントローラはパケットデータのヘッダ部に含まれる情報についてのパターンと、当該パターンがヘッダ部に含まれるパケットデータについて実行するべき処理とをスイッチ装置側へ伝達する。スイッチ装置では、このパターンと処理とを関連付けて記憶しておく。また、スイッチ装置は、入力されたパケットデータのヘッダ部を参照し、コントローラから指定されたパターンに合致する場合に、当該パターンに関連付けられた処理を実行する。
【０００４】
なお、パケットデータのヘッダ部には、パケットデータの通信フローを識別するための情報、具体的には受信ポートの識別情報、送信元ＭＡＣ（Media Access Controller）アドレス、宛先ＭＡＣアドレス、ＶＬＡＮ（Virtual Local Area Network）の情報、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号等が含まれる。
【０００５】
また、実行するべき処理としては、パケットデータを特定のポートを介して送出する処理や、破棄する処理、ヘッダ部の情報を書き換える処理等が指定され、スイッチ装置において実行される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】国際公開第２０１０−１０３９０９号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記従来のオープンフロー等のＳＤＮ技術においては、パケットデータは、その通信フローを識別する情報、つまりはヘッダ情報に基づいて制御が行われるため、設定が容易でないことが多い。例えば、動画配信を行うサイトからのパケットデータと、そうでないパケットデータとで送信経路を異ならせたい場合に、当該動画配信を行うサイトのＩＰアドレスを予め知らなければならず、設定の利便性が低い。
【０００８】
また通信先のＩＰアドレスが固定されているとは限らないピア・ツー・ピアの通信等に対応したい場合、ヘッダ部の情報では設定が困難な場合もある。また、送信元端末のアプリケーションや、ユーザの操作状況、端末の地理的位置等に依存した通信経路制御を行うことが可能となれば、応用範囲は広いが、現状ではアプリケーション種別がヘッダ等に記録されないため、現状のままではネットワーク機器側での制御を行うことができない。
【０００９】
本発明は上記実情に鑑みて為されたもので、データの伝送制御に係る設定を容易にできる情報伝送システム、情報通信装置、情報伝送装置、及びプログラムを提供することを、その目的の一つとする。
【課題を解決するための手段】
【００１０】
上記従来例の問題点を解決するための本発明は、情報通信装置と、情報伝送装置とを含む情報伝送システムであって、前記情報通信装置は、通信に係るパケットデータを、前記情報伝送装置との間で送受する通信手段と、情報通信装置側で取得可能な情報を保持する保持手段と、前記保持手段が保持する情報を付加情報として、当該付加情報を送出する手段と、を含み、前記情報伝送装置は、前記情報通信装置からパケットデータを受け入れる手段と、受信される付加情報に基づく条件と、処理指示情報とを関連付けて記憶する記憶手段と、前記記憶手段に記憶されている前記条件のうち、前記情報通信装置から受け入れた付加情報が満足する条件を探索し、当該付加情報が満足する条件があれば、当該情報通信装置から受信したパケットデータに関する所定の特徴情報を抽出し、当該条件に関連付けて記憶している処理指示情報に基づいて、当該パケットデータを処理するとともに、当該抽出した特徴情報と処理指示情報とを関連付けて記憶する第１の処理と、前記情報通信装置から受け入れたパケットデータから所定の特徴情報を抽出し、当該抽出した特徴情報と処理指示情報とが関連付けて記憶されているときに、当該記憶された特徴情報に関連付けられた処理指示情報に基づいて、受け入れたパケットデータを処理する第２の処理と、を実行する処理手段と、を有することとしたものである。
【００１１】
また、本発明の一態様に係る情報通信装置は、通信に係るパケットデータを送受する通信手段と、通信に係るパケットデータを、前記情報伝送装置との間で送受する通信手段と、情報通信装置側で取得可能な情報を保持する保持手段と、前記保持手段が保持する情報を付加情報として、当該付加情報を送出する手段と、を含むこととしたものである。
【００１２】
さらに本発明の別の態様に係る情報伝送装置は、情報通信装置側で取得可能な情報を付加情報として、当該付加情報とパケットデータとを送出する情報通信装置と通信可能に接続され、前記情報通信装置からパケットデータを受け入れる手段と、受信される付加情報に基づく条件と、処理指示情報とを関連付けて記憶する記憶手段と、前記記憶手段に記憶されている前記条件のうち、前記情報通信装置から受け入れた付加情報が満足する条件を探索し、当該付加情報が満足する条件があれば、当該情報通信装置から受け入れたパケットデータに関する所定の特徴情報を抽出し、当該条件に関連付けて記憶している処理指示情報に基づいて、当該パケットデータを処理するとともに、当該抽出した特徴情報と処理指示情報とを関連付けて記憶する第１の処理と、前記情報通信装置から受け入れたパケットデータから所定の特徴情報を抽出し、当該抽出した特徴情報と処理指示情報とが関連付けて記憶されているときに、当該記憶された特徴情報に関連付けられた処理指示情報に基づいて、受け入れたパケットデータを処理する第２の処理と、を実行する処理手段と、を有することとしたものである。
【００１３】
ここで前記特徴情報は、パケットデータの送信元を特定する情報と、パケットデータの送信先を特定する情報との少なくとも一方であることとしてもよい。
また前記処理手段は、さらに、一連の通信の終了を表す情報を含むパケットデータを受け入れた時に、前記記憶している、当該パケットデータから抽出される特徴情報とそれに関連付けられた処理指示情報とを削除する処理を実行することとしてもよい。
【００１４】
さらに本発明の一態様に係るプログラムは、情報通信装置側で取得可能な情報を付加情報として、当該付加情報とパケットデータとを送出する情報通信装置と通信可能に接続されるコンピュータを、前記情報通信装置からパケットデータを受け入れる手段と、受信される付加情報に基づく条件と、処理指示情報とを関連付けて記憶する記憶手段と、前記記憶手段に記憶されている前記条件のうち、前記情報通信装置から受け入れた付加情報が満足する条件を探索し、当該付加情報が満足する条件があれば、当該情報通信装置から受け入れたパケットデータに関する所定の特徴情報を抽出し、当該条件に関連付けて記憶している処理指示情報に基づいて、当該パケットデータを処理するとともに、当該抽出した特徴情報と処理指示情報とを関連付けて記憶する第１の処理と、前記情報通信装置から受け入れたパケットデータから所定の特徴情報を抽出し、当該抽出した特徴情報と処理指示情報とが関連付けて記憶されているときに、当該記憶された特徴情報に関連付けられた処理指示情報に基づいて、受け入れたパケットデータを処理する第２の処理と、を実行する処理手段と、として機能させることとしたものである。
【００１５】
さらに、本発明の別の態様に係るプログラムは、コンピュータを、通信に係るパケットデータを、前記情報伝送装置との間で送受する通信手段と、情報通信装置側で取得可能な情報を保持する保持手段と、前記保持手段が保持する情報を付加情報として、当該付加情報を送出する手段と、として機能させることとしたものである。
【発明の効果】
【００１６】
本発明によると、データの伝送制御に係る設定を容易にできる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態に係る情報伝送システムの構成例を表すブロック図である。
【図２】本発明の実施の形態に係る情報伝送システムが送受するパケットデータの内容例を表す説明図である。
【図３】本発明の実施の形態に係る情報伝送装置が保持するフロー設定データベースの内容例を表す説明図である。
【図４】本発明の実施の形態に係る情報通信装置の例を表す機能ブロック図である。
【図５】本発明の実施の形態に係る情報伝送装置の例を表す機能ブロック図である。
【図６】本発明の実施の形態に係る情報伝送装置が記憶する通信フローデータベースの内容例を表す説明図である。
【図７】本発明の実施の形態に係る情報伝送装置の動作例を表すフローチャート図である。
【発明を実施するための形態】
【００１８】
本発明の実施の形態について図面を参照しながら説明する。本実施の形態に係る情報伝送システムは、図１に示すように、情報通信装置１と、情報伝送装置２とを含んで構成されている。またこれら情報通信装置１と情報伝送装置２とは互いにゲートウェイ装置やネットワークを介して通信可能に接続されている。本実施の形態の一例において情報通信装置１は、ネットワークを介したデータ通信が可能な携帯端末（スマートフォン等）であり、情報伝送装置２は、例えばスイッチである。
【００１９】
本実施の形態の一例に係る情報通信装置１は、図１に例示するように、制御部１１と、記憶部１２と、操作部１３と、表示部１４と、通信部１５とを含んで構成される。また、情報伝送装置２は、制御部２１と、記憶部２２と、複数の通信ポート２３０ａ，ｂ，…を備えた通信部２３と、を含んで構成されている。
【００２０】
制御部１１は、ＣＰＵ等のプログラム制御デバイスであり、記憶部１２に格納されたプログラムに従って動作する。本実施の形態の制御部１１は、情報通信装置１としての本来の処理（例えば情報通信装置１がスマートフォンであれば、電話の着信や発信等の処理を含む）を実行するほか、情報伝送装置２との間で通信を行う。ここでの通信は、具体的にはソケット通信（例えばＢＳＤソケット、及びそれと互換性のあるＡＰＩ（Application Program Interface）を用いた通信）である（IEEE Std. 1003.1-2001 Standard for Information Technology -- Portable Operating System Interface(POSIX) ）。このソケット通信では、アプリケーションプログラム（以下、アプリケーションと略称する）は、少なくとも一つのソケット（仮想的な通信インタフェース）を介してパケットデータの送受を行う。
【００２１】
またこの制御部１１は、情報通信装置１において取得可能な情報（アプリケーションが送出しようとするデータそのものとは異なる情報）を取得して、当該取得した情報を記憶部１２に格納して保持する。具体的にここでの取得可能な情報は、通信中のソケットに関する情報であり、例えば、通信中のソケットを用いて通信を行っているアプリケーションの名称や、プロセス・ステータス（フォアグラウンドで実行されているか、バックグラウンドで実行されているか、あるいは、アイドル状態か、停止された状態か、など）、アプリケーションを実行中の利用者名や、端末の地理的な位置情報などである。さらに制御部１１は、通信を行う際、送出するパケットデータの少なくとも一つに対して、ここで保持した情報を付加情報として付加し、当該付加情報を付加したパケットデータを送出する。この制御部１１の詳しい動作については、後に述べる。
【００２２】
記憶部１２は、メモリ素子あるいは、ディスクデバイス等であり、制御部１１によって実行されるプログラムを保持している。このプログラムは、ＤＶＤ−ＲＯＭ等の、非一時的（non-transitory）かつ、コンピュータ可読な記録媒体に格納されて提供され、この記憶部１２に複写されたものであってもよい。本実施の形態では、この記憶部１２は制御部１１のワークメモリとしても動作する。
【００２３】
操作部１３は、タッチパネル等であり、利用者の操作を受け入れて、当該操作の内容を制御部１１に出力する。表示部１４は、ディスプレイ等であり、制御部１１から入力される指示に従って情報を表示出力する。通信部１５は、無線ＬＡＮ（Local Area Network）による通信を行うネットワークインタフェース等であり、制御部１１から入力される指示に従い、ネットワークを介してパケットデータを送出する。またこの通信部１５はネットワークを介して到来する自己宛のパケットデータ、またはブロードキャストされたパケットデータを受信して制御部１１に出力する。
【００２４】
情報伝送装置２の制御部２１は、ＣＰＵ等のプログラム制御デバイスであり、記憶部２２に格納されたプログラムに従って動作する。本実施の形態の制御部２１は、通信部２３のいずれかの通信ポート２３０を介して、パケットデータを受け入れて次の処理を行う。ここでパケットデータは図２に例示するようにヘッダ部（Ｈ）と、ペイロード部（Ｐ）とを含んでなる。このパケットデータには、トレイラ部（Ｔ）が付加されてもよい。
【００２５】
ヘッダ部には、パケットデータの通信フローを識別するための情報、具体的には受信ポートの識別情報、送信元ＭＡＣ（Media Access Controller）アドレス、宛先ＭＡＣアドレス、ＶＬＡＮ（Virtual Local Area Network）の情報、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号等が含まれる。またペイロード部はユーザデータを含む部分である。ここでユーザデータは、例えばＨＴＴＰプロトコルにより、ＵＲＬ「http://aaa.bbb.ccc/ddd」を要求するデータであれば、「GET http://aaa.bbb.ccc/ddd」といったコマンド文字列を含むものとなる。
【００２６】
本実施の形態の制御部２１は、情報通信装置１からパケットデータを受け入れたとき、当該パケットデータに付加情報が付加されていれば次の処理を行う。すなわちこの制御部２１は、後に述べる記憶部１２に格納された付加情報に基づく条件のうち、受け入れたパケットデータに付加されている付加情報が満足する条件があるか否かを探索する。ここで当該付加情報が満足する条件があれば、制御部２１は、当該付加情報が付加されたパケットデータに関する所定の特徴情報を抽出する。一例としてこの特徴情報は、一般にフロー情報と呼ばれる、送信元と送信先の間の通信を特定するために必要な、ヘッダ部に含まれる情報の組み合わせ、あるいはその一部である。例えばオープンフロー（OpenFlow 1.3）では４０個のヘッダ部に含まれる情報の部分をフロー情報として用いているが、ここでの例でもこのオープンフローの場合と同じフロー情報を特徴情報として用いてもよい。また複数の通信をまとめて扱う時には、ヘッダ部に含まれる情報の一部だけをフロー情報として指定してもよい。つまり、ここでの特徴情報は例えばヘッダ部（Ｈ）に含まれる情報として例えば送信元ＩＰアドレスまたは宛先ＩＰアドレスそのものでもよい。そして制御部２１は、当該付加情報が満足する条件に関連付けて記憶部２２に格納されている処理指示情報を読み出し、当該受け入れたパケットデータを読み出した処理指示情報に従って処理するとともに、抽出した特徴情報と当該読み出した処理指示情報とを関連付けて記憶する（第１の処理）。
【００２７】
またこの制御部２１は、情報通信装置１からパケットデータを受け入れたとき、当該パケットデータに付加情報が付加されているか否かに関わらず（もっとも、既に第１の処理において処理指示情報に従った処理が行われていれば、以下の処理を行う必要はない）、受け入れたパケットデータから所定の特徴情報を抽出する。この特徴情報は、第１の処理において抽出したものと同じものとする。制御部２１は、当該抽出した特徴情報と共通した特徴情報が記憶されているときに、当該記憶された特徴情報に関連付けられた処理指示情報に基づいて、受け入れたパケットデータを処理する（第２の処理）。この制御部２１の具体的な処理についても、後に述べる。
【００２８】
記憶部２２は、メモリ素子あるいは、ディスクデバイス等であり、制御部２１によって実行されるプログラムを保持している。このプログラムは、ＤＶＤ−ＲＯＭ等の非一時的に（non-transitory）、かつコンピュータ可読な記録媒体に格納されて提供され、この記憶部２２に複写されたものであってもよい。
【００２９】
本実施の形態において、この記憶部２２には、予め、図３に例示するように、情報通信装置１が付加する付加情報に係る複数の条件の各々に対し、それぞれ処理指示情報が関連付けて、フロー設定データベースとして記憶されている。具体的に付加情報としてアプリケーションの名称が用いられる場合、例えばYouTube動画再生アプリケーションのように、アプリケーション名に「YouTube」（YouTubeは登録商標）が含まれる、との条件に対し、特定の通信ポート２３０ｎを介してパケットデータを送出するべき旨の処理指示情報が関連付けられ、またアプリケーション名にウェブブラウザの名称（Chromeなど）が含まれる、との条件に対し、また別の通信ポート２３０ｍを介してパケットデータを送出するべき旨の処理指示情報が関連付けて記憶されている。
【００３０】
またこの記憶部２２は、制御部２１のワークメモリとしても動作し、特徴情報と処理指示情報とを関連付けて記憶する。
【００３１】
通信部２３は、ネットワークインタフェース等であり、本実施の形態では複数の通信ポート２３０ａ，ｂ…を含んで構成されている。この通信部２３は、いずれかの通信ポート２３０に到来したパケットデータに、当該パケットデータを受け入れた通信ポートを識別する情報（受信ポートの識別情報）を追加して、制御部２１に出力する。またこの通信部２３は、いずれかの通信ポート２３０を特定する情報とともに、制御部２１からパケットデータを受け入れると、当該情報で特定される通信ポート２３０を介して、当該パケットデータを送出する。
【００３２】
次に本実施の形態の制御部１１の動作について説明する。本実施の形態の制御部１１は、機能的には、図４に例示するように、情報取得部３１と、情報保持部３２と、パケットデータ生成部３３と、ソケット通信部３４とを含んで構成される。
【００３３】
情報取得部３１は、情報通信装置１で取得可能な情報（アプリケーションが送出しようとするデータそのものとは異なる情報）を取得する。ここではかかる情報として、通信に用いられているソケットに関する情報を取得するものとする。この例では、情報取得部３１は、netstatコマンドまたはlsofコマンドなどを用いて、開かれている（LISTEN（待機中）やCLOSE_WAIT（終了待ち）等の状態にあるものを含む）ソケットを特定する情報（送信元となる情報通信装置１のＩＰアドレスと、ポート番号とを含む情報）と、各ソケットを用いて通信を行っているアプリケーションの名称とを取得する。なお、この情報取得部３１は、オペレーティングシステムのカーネルの機能として実装されてもよく、その場合はコマンド実行ではなく、システムコールプログラムによって各種情報を取得することとしてもよいし、カーネルが管理している情報を読み出すことにより、各種情報を取得することとしてもよい。
【００３４】
情報保持部３２は、情報取得部３１が取得した情報を格納する。具体的にここでの例では、ソケットを特定する情報の各々に対して、当該情報で特定される各ソケットを用いて通信を行っているアプリケーションの名称を関連付けて記憶部１２に格納する。
【００３５】
パケットデータ生成部３３は、アプリケーション側からソケットを特定する情報と、送出しようとするデータとを受け入れる。そしてパケットデータ生成部３３は、当該受け入れたデータを複数のパケットデータに分割する。パケットデータ生成部３３は、分割して得たパケットデータの少なくとも一つに、情報保持部３２が保持する情報を付加情報として付加する。上述のように、情報保持部３２が、ソケットを特定する情報の各々に対して、当該情報で特定される各ソケットを用いて通信を行っているアプリケーションの名称を関連付けて保持している場合、このパケットデータ生成部３２は、分割して得たパケットデータの少なくとも一つに、当該パケットデータを送出する際に用いるソケットに関する情報（例えばアプリケーションの名称）を付加情報として付加する。ここで付加情報は、例えばトレイラ部に含めてもよいし、ペイロード部が空（データサイズが「０」）であれば、ペイロード部に含めてもよい。また、ＩＰヘッダにおけるオプションとして定義しておき、ＩＰヘッダに含めてもよい。パケットデータ生成部３３は、生成したパケットデータ（付加情報を付加したものを含む）と、当該パケットデータの元となったデータとともにアプリケーション側から受け入れた、ソケットを特定する情報とを出力する。
【００３６】
ソケット通信部３４は、パケットデータ生成部３３からパケットデータとソケットを特定する情報とを受け入れ、当該情報で特定されるソケットを介して各パケットデータを逐次的に送出する。
【００３７】
本実施の形態の一例では、この情報通信装置１は、ＴＣＰ（Transmission Control Protocol）を用いたソケット通信を行う際に、その先頭のパケットデータ（ソケットを開設した後、通信を開始するときに最初に送出するパケットデータ）に、ソケットに関する情報を付加する。ＴＣＰを用いた通信において、この先頭のパケットデータはＳＹＮパケットデータと呼ばれる、ペイロード部にデータを含まない（ペイロード部のデータサイズが「０」である）パケットデータである。
【００３８】
次に、情報伝送装置２の制御部２１の動作について説明する。制御部２１は、機能的には、図５に例示するように、受入部４１と、分類部４２と、判断部４３と、処理部４４とを含んで構成される。
【００３９】
受入部４１は、通信部２３の通信ポート２３０のいずれかを介して受信されたパケットデータを受け入れる。分類部４２は、受入部４１が受け入れたパケットデータから所定の特徴情報を抽出して、次の処理を行う。本実施の形態の一例では、パケットデータから抽出する所定の特徴情報として、パケットデータの送信元を特定する情報と、パケットデータの送信先を特定する情報との少なくとも一方を用いるものとする。これらの情報は、パケットデータのヘッダ部（Ｈ）に、送信元ＩＰアドレスと宛先ＩＰアドレスとして含まれるものである。
【００４０】
そして本実施の形態のこの例では、後に述べる処理により、図６に例示するように、特徴情報としてのヘッダ部（Ｈ）に含まれる情報（例えば送信元ＩＰアドレスまたは宛先ＩＰアドレス）に対し、処理指示情報を関連付けた組を少なくとも一つ含む、通信フローデータベースが記憶部２２に格納されるものとする。ここで処理指示情報は、例えば特定の通信ポート２３０を介してパケットデータを送出するべき旨の指示や、パケットデータを破棄するべき旨などの指示、あるいはヘッダ部の情報を書き換えるべき旨の指示などである。
【００４１】
そこでこの例に係る分類部４２は、受入部４１が受け入れたパケットデータに付加情報が含まれているか否かを調べる。例えば付加情報はトレイラ部に含められる場合、この分類部４２は受入部４１が受け入れたパケットデータに、トレイラ部が含まれるか否かを調べることとすればよい。あるいはＴＣＰを用いた通信において最初に送出されるＳＹＮパケットに必ず付加情報を付加することとしておき、この分類部４２はＳＹＮパケットから付加情報を検出することとしてもよい。またさらに別の方法として、情報通信装置１が送出する全てのパケットデータのトレイラ部に必ず付加情報を付加しておき、情報伝送装置２が送出するパケットデータを中継するゲートウェイ装置が、トレイラ部を検出して判断を行い、その後トレイラ部を除去して送出して、その後に通過するネットワーク機器（トレイラ部があることで誤動作をする可能性がある）ではトレイラ部がない通信を行わせることとしても良い。受入部４１が受け入れたパケットデータに、付加情報が付加されていると判断すると、分類部４２は、当該パケットデータを処理対象として判断部４３に出力する。
【００４２】
またこの分類部４２は、受入部４１が受け入れたパケットデータに付加情報が含まれていない場合には、当該パケットデータのヘッダ部に含まれる情報が、通信フローデータベースに保持されているか否かを調べる。ここで当該ヘッダ部に含まれる情報に対して処理指示情報が関連付けられて記憶部２２の通信フローデータベースに保持されていれば、分類部４２は、当該処理指示情報（ヘッダ部に含まれる情報に関連付けられている処理指示情報）を読み出して、受け入れたパケットデータと読み出した処理指示情報とを処理部４４に出力する。つまり、この分類部４２は、本発明における第２の処理を実現するものである。またこの分類部４２は、参照したヘッダ部に含まれる情報が記憶部２２の通信フローデータベースに保持されていなければ、当該パケットデータをそのまま処理部４４に出力する。
【００４３】
さらにこの分類部４２は、受入部４１が受け入れたパケットデータのヘッダ部に含まれる情報が、通信フローデータベースに保持されている場合であって、かつ、当該受け入れたパケットデータが、一連の通信の終了を表す情報を含むパケットデータ（ＴＣＰを用いた通信であればＦＩＮパケットデータ）である場合に、当該通信フローデータベースに保持されているデータ（受入部４１が受け入れたパケットデータのヘッダ部に含まれる情報と、それに関連付けられた処理指示情報）を、通信フローデータベースから削除してもよい。
【００４４】
判断部４３は、分類部４２から、受入部４１が受け入れたパケットデータのうち、処理対象となったパケットデータの入力を受け入れる。そして判断部４３は、処理対象となったパケットデータから付加情報を取り出す。
【００４５】
本実施の形態では、記憶部２２には予め、受信されるパケットデータに付加される付加情報に基づく条件と、処理指示情報とが関連付けられて、フロー設定データベースとして格納されている。このフロー設定データベースは、図３に例示したように、付加情報に基づく条件と、処理指示情報とを関連付けたものであり、ここで付加情報に基づく条件は、既に述べたように、例えばアプリケーション名そのものでよい。またこの条件は、付加情報に係るパターン（例えば正規表現パターンなど）であってもよい。
【００４６】
ここでフロー設定データベースは、管理者によって書き換え可能なものであり、具体的には制御部２１は、外部（例えば通信ポート２３０のいずれか、または図示しないＵＳＢ（Universal Serial Bus）等のインタフェースを介して接続されたパーソナルコンピュータ等）からフロー設定データベースの書き換え指示を受け入れて、当該指示に従って、フロー設定データベース内に、付加情報に基づく条件と処理指示情報とを関連付けて記録し、またいずれかの付加情報に基づく条件と処理指示情報とを関連付けたエントリを、フロー設定データベースから削除する等の処理を行う。またこのフロー設定データベースは、オープンフローと同様に、コントローラからの指示によって書き換えられてもよい。この場合制御部２１は、通信ポート２３０のいずれかを介して接続されたネットワークを介して、コントローラからの指示を受け入れ、当該指示に従って、フロー設定データベースを書き換える。
【００４７】
判断部４３は、記憶部２２のフロー設定データベースに格納された条件のうち、処理対象となったパケットデータから取り出した付加情報が満足する条件を探索する。例えば条件としてアプリケーション名そのものがフロー設定データベースに格納されている場合、判断部４３は、取り出した付加情報に含まれるアプリケーション名に一致するアプリケーション名がフロー設定データベースに格納されているか否かを調べることになる。そして当該付加情報が満足する条件があれば、判断部４３は、当該条件に関連付けられた処理指示情報を読み出す。
【００４８】
また判断部４３は、処理対象となったパケットデータから特徴情報を抽出する。ここで抽出する特徴情報は分類部４２におけるものと同じ種類の情報とする。すなわち本実施の形態の一例では、ヘッダ部に含まれる送信元ＩＰアドレスや宛先ＩＰアドレス等の情報を抽出することになる。判断部４３は、ここで読み出した処理指示情報と処理対象のパケットデータとを処理部４４に出力する。また判断部４３は、抽出した特徴情報（ここではヘッダ部に含まれる情報）に対して、読み出した処理指示情報を関連付けて、通信フローデータベースに追記して格納する。つまり本実施の形態では、この判断部４３が本発明における第１の処理を実行することになる。なお、ここで一旦、特徴情報が抽出された後は（通信において以降に通過するネットワーク機器では、この特徴情報を共有し、通信制御をすることが可能となるため）トレイラ部を用いた処理をする必要はない。従って、ここで情報伝送装置２はトレイラ部を除去することとしてもよい。
【００４９】
処理部４４は、基本的には一般的なスイッチ、またはOpenFlowスイッチのようなＳＤＮスイッチとしての動作を行う。すなわち、この処理部４４は、通信ポート２３０ａ，ｂ…ごとに、当該通信ポート２３０に対して外部から到来するパケットデータの送信元ＭＡＣアドレスを関連付けて記憶する（ラーニング）。そして処理部４４は、入力されたパケットデータのヘッダ部を参照し、当該ヘッダ部に含まれる宛先ＭＡＣアドレスが関連付けられた通信ポート２３０を介して当該パケットデータを送出する（フォワーディング）。また、処理部４４は、入力されたパケットデータのヘッダ部に含まれる宛先ＭＡＣアドレスがどの通信ポート２３０にも関連付けられて記憶されていない場合、すべての通信ポート２３０を介して当該パケットデータを送出する（フラッディング）。そのほか、フィルタリング、エージングといった一般的なスイッチとしての動作をこの処理部４４が行うか、またはOpenFlowスイッチ等のＳＤＮスイッチとしての動作（フロー情報にパターンマッチの処理を行い、条件に合致するパケットデータに対して予め設定された処理を実行する動作）を行ってもよい。
【００５０】
また本実施の形態の処理部４４は、分類部４２または判断部４３から、処理指示情報とともにパケットデータが入力された場合、当該処理指示情報によって特定される処理を実行し、例えば、パケットデータを特定の通信ポート２３０を介して送出し、または当該パケットデータを破棄するなどの処理を行う。
【００５１】
具体的に処理部４４は、分類部４２または判断部４３から、パケットデータとともに入力される処理指示情報が、特定の通信ポート２３０ｘを介してパケットデータを送出するべき旨を表すものである場合、当該入力されたパケットデータを、指定された特定の通信ポート２３０ｘを介して送出する。
【００５２】
本実施の形態の情報伝送システムは、以上の構成を備えており、一例として次のように動作する。以下の例では、情報伝送装置２が、通信ポート２３０ａを介して情報通信装置１との間で通信可能に接続されており、通信ポート２３０ｘが比較的低速なネットワークを介してインターネットに接続され、また通信ポート２３０ｙが比較的高速なネットワークを介してインターネットに接続され、デフォルトの送出先として設定されているものとする。
【００５３】
またここでは記憶部２２内のフロー設定データベースに、エントリ（Ａ）として動画データをネットワーク上のコンピュータから取得して再生するアプリケーション名の文字列「MoviePlayer」が、付加情報に係る条件として設定される。またこの条件に関連付けて、特定の通信ポート２３０ｘを介して送出するべき旨の処理指示情報が設定されているものとする。
【００５４】
情報通信装置１の利用者が、ブラウザ（アプリケーション名が「MoviePlayer」でない）を用いてＩＰアドレスがαであるサーバへアクセスすると、ヘッダ部に宛先ＩＰアドレスとしてαを含むＳＹＮパケットデータＰ１や、データを要求するユーザデータを含んだ後続のパケットデータＰ２，Ｐ３…を生成する。また情報通信装置１はソケットを開設し、この開設したソケットを介して、生成したパケットデータを送出する。
【００５５】
さらに情報通信装置１は、所定のタイミングごとに繰返してnetstatやlsofなどのプロセスを実行してソケットの情報を取得して記録している。そしてブラウザとしての動作を行っているときに開設したソケットに関する情報として、例えば当該ソケットを特定する情報（情報通信装置１のＩＰアドレスとポート番号との組など）と、ブラウザのアプリケーション名とを取得する。
【００５６】
情報通信装置１は、ＳＹＮパケットデータＰ１の、例えばペイロード部（本来データサイズが「０」である部分）に、このソケットに関する情報を含めて情報伝送装置２へ送出する。また情報通信装置１は、後続のパケットデータＰ２，Ｐ３…を続けて送出する。
【００５７】
情報伝送装置２は、通信ポート２３０ａを介してパケットデータＰ１，Ｐ２…を受け入れる。すると情報伝送装置２の制御部２１が、分類部４２としての動作を開始する。すなわち制御部２１は、図７に例示するように、通信フローデータベースを参照し、このパケットデータの特徴情報（ここではヘッダ部に含まれる宛先ＩＰアドレス）に対し、処理指示情報を関連付けた組が保持されているか否かを調べる（Ｓ１）。
【００５８】
ここで保持されていない（Noである）と判断すると、制御部２１は、当該パケットデータＰ１に付加情報が含まれているか否かを調べる（Ｓ２）。ここでパケットデータＰ１はＳＹＮパケットデータであり、そのペイロード部に付加情報が含まれていることが事前に定められているとすると、制御部２１はパケットデータＰ１がＳＹＮパケットデータであるか否かを調べることになる。ここではパケットデータＰ１はＳＹＮパケットデータなので、制御部２１は、付加情報が含まれると判断して（処理Ｓ２にてYesと判断して）、判断部４３としての動作を開始する。
【００５９】
制御部２１は、判断部４３の動作として、受け入れたパケットデータＰ１のペイロード部から付加情報を取り出す。そして記憶部２２に格納されているフロー設定データベースに含まれる条件のうち、当該取り出した付加情報が満足する条件を探索する。具体的にここでは付加情報が満足する条件として、付加情報に含まれるアプリケーション名が一致するものを探索する（Ｓ３）。
【００６０】
ここでフロー設定データベースに、ブラウザのアプリケーション名と処理指示情報とを関連付けたエントリが記録されていなかった（処理Ｓ３にてNoであった）とすると、制御部２１は、受け入れたパケットデータをそのまま処理部４４としての処理に供する（Ｓ４）。
【００６１】
この場合、制御部２１は、処理部４４の動作として、当該受け入れたパケットデータＰ１を、デフォルトの送出先となっている通信ポート２３０ｙを介してインターネット側へ送出する。なお、このとき制御部２１は、付加情報を取り除いて（ＳＹＮパケットデータであるパケットデータＰ１のペイロード部を元の通り空にして）から、パケットデータＰ１を送出してもよい。
【００６２】
また以降のパケットデータＰ２，Ｐ３…には、付加情報が付加されていないので、制御部２１は、処理Ｓ２の動作において、当該パケットデータＰ２，Ｐ３…をそのまま処理部４４としての処理に供する。すなわち、以降のパケットデータＰ２，Ｐ３…は、いずれも、デフォルトの送出先となっている通信ポート２３０ｙを介してインターネット側へ送出される（処理Ｓ４）。なお、ここで処理部４４がOpenFlowスイッチ等ＳＤＮスイッチとしての動作をする場合は、設定された処理により定めた通信ポートを介してパケットデータを送出してもよい。
【００６３】
一方、情報通信装置１の利用者が、動画閲覧のためのアプリケーション（アプリケーション名が「MoviePlayer」のもの）を用いてＩＰアドレスがβであるサーバへアクセスすると、情報通信装置１は、ヘッダ部に宛先ＩＰアドレスとしてβを含むＳＹＮパケットデータＰ′１や、データを要求するユーザデータを含んだ後続のパケットデータＰ′２，Ｐ′３…を生成する。また情報通信装置１はソケットを開設し、この開設したソケットを介して、当該生成したパケットデータを送出する。
【００６４】
情報通信装置１は、所定のタイミングごとに繰返してnetstatやlsofなどのプロセスを実行してソケットの情報を取得して記録しており、アプリケーション名「MoviePlayer」のアプリケーションとしての動作を行っているときに開設したソケットに関する情報として、例えば当該ソケットを特定する情報（情報通信装置１のＩＰアドレスとポート番号との組など）と、アプリケーション名「MoviePlayer」とを取得する。
【００６５】
情報通信装置１は、ＳＹＮパケットデータＰ′１の、例えばペイロード部（本来データサイズが「０」である部分）に、このソケットに関する情報を含めて情報伝送装置２へ送出する。また情報通信装置１は、後続のパケットデータＰ′２，Ｐ′３…を続けて送出する。
【００６６】
情報伝送装置２は、通信ポート２３０ａを介してパケットデータＰ′１，Ｐ′２…を受け入れる。すると情報伝送装置２の制御部２１が、分類部４２としての動作を開始する。すなわち制御部２１は、図７に例示したように、通信フローデータベースを参照し、このパケットデータの特徴情報（ここではヘッダ部に含まれる宛先ＩＰアドレス）に対し、処理指示情報を関連付けた組が保持されているか否かを調べる（Ｓ１）。
【００６７】
ここで保持されていない（Noである）と判断すると、制御部２１は、当該パケットデータＰ′１に付加情報が含まれているか否かを調べる（Ｓ２）。ここでパケットデータＰ′１はＳＹＮパケットデータであり、そのペイロード部に付加情報が含まれていることが事前に定められているとすると、制御部２１はパケットデータＰ′１がＳＹＮパケットデータであるか否かを調べることになる。ここではパケットデータＰ′１はＳＹＮパケットデータなので、制御部２１は、付加情報が含まれると判断して、判断部４３としての動作を開始する。
【００６８】
制御部２１は、判断部４３の動作として、受け入れたパケットデータＰ′１のペイロード部から付加情報を取り出す。そして記憶部２２に格納されているフロー設定データベースに含まれる条件のうち、当該取り出した付加情報が満足する条件を探索する。具体的にここでは付加情報が満足する条件として、付加情報に含まれるアプリケーション名が一致するものを探索する（Ｓ３）。
【００６９】
ここでフロー設定データベースに、アプリケーション名「MoviePlayer」と、処理指示情報として「通信ポート２３０ｘを介してデータを送出するべき旨の指示」とを関連付けたエントリが記録されていた（処理Ｓ３にてYesであった）とすると、制御部２１は、パケットデータＰ′１から特徴情報としてヘッダ部に含まれる宛先ＩＰアドレスを取り出し、この取り出した宛先ＩＰアドレスと、通信ポート２３０ｘを介してデータを送出するべき旨の指示を表す処理指示情報とを関連付けて、通信フローデータベースに格納する（Ｓ５）。
【００７０】
また制御部２１は、受け入れたパケットデータＰ′１と、当該通信ポート２３０ｘを介してデータを送出するべき旨の指示を表す処理指示情報とを処理部４４としての処理に供する（Ｓ６）。そして制御部２１は、処理部４４の処理として、このパケットデータＰ′１を、処理指示情報に従い、通信ポート２３０ｘを介してインターネット側へ送出する。なお、このとき制御部２１は、付加情報を取り除いて（ＳＹＮパケットデータであるパケットデータＰ′１のペイロード部を元の通り空にして）から、パケットデータＰ′１を送出してもよい。
【００７１】
また以降のパケットデータＰ′２，Ｐ′３…ついては、上記処理Ｓ５の処理により、それぞれのヘッダに含まれる宛先ＩＰアドレス（特徴情報に相当）が、通信フローデータベースに保持されている。そこで制御部２１は、処理Ｓ１の動作において、通信フローデータベースから当該宛先ＩＰアドレスに関連付けられた処理指示情報を読み出し、当該処理指示情報とパケットデータＰ′２，Ｐ′３…のそれぞれとを処理部４４としての処理に供する（Ｓ６）。そうして制御部２１は、処理部４４の処理として、このパケットデータＰ′１を、処理指示情報に従い、通信ポート２３０ｘを介してインターネット側へ送出するようになる。
【００７２】
その後、制御部２１は、宛先ＩＰアドレスとしてヘッダ部にＩＰアドレスβを含んだＦＩＮパケットデータが受信されると、当該宛先ＩＰアドレスと、それに関連付けられた処理指示情報とを通信フローデータベースから削除する。
【００７３】
本実施の形態のこの動作例によると、専ら動画の再生に用いられるアプリケーションから送出されるパケットを、故意に通信速度の比較的遅いネットワークを介して送出することで、通信品質を低下させ、例えば学校等のネットワーク環境において授業と関わりの少ないパケットの送出を控えさせることが可能になる。
【００７４】
またここでの例では、ＳＹＮパケットデータのペイロード部に付加情報を含めていた。このように、そもそもペイロード部に含まれるデータが空であり、かつセッションの開始時に必ず送出されるパケットデータを用いることで、パケットデータ長が増大したパケットデータを送出する必要をなくし、ネットワークにおいてパケットデータ長の最大値（ＭＴＵ）が比較的小さく定められている場合にも対応できる。
【００７５】
なお、ここまでの説明では主としてＴＣＰを用いる例について述べたが、ソケット通信を行うものであれば、ＵＤＰ（User Datagram Protocol）を用いるものであっても、その他のプロトコルを用いるものであってもよい。
【００７６】
［プロキシを異ならせる例］
またここまでの説明においてフロー設定データベースに格納される処理指示情報は、ウェブプロキシやメールプロキシ（以下、総称して単にプロキシと呼ぶ）を特定する情報と、当該情報で特定されるプロキシを利用して情報を送受するべき旨の指示であってもよい。
具体的に付加情報としてアプリケーションの名称が用いられるときには、例えばアプリケーション名に「YouTube」が含まれる、との条件に対し、第１のプロキシを特定する情報（第１のプロキシのＵＲＬでよい）と、当該情報で特定される第１のプロキシを介して情報を送受するべき旨の処理指示情報が関連付けられ、またアプリケーション名にウェブブラウザの名称（Chromeなど）が含まれる、との条件に対し、また別の第２のプロキシを特定する情報（第２のプロキシのＵＲＬでよい）と、当該情報で特定される第２のプロキシを介して情報を送受するべき旨の処理指示情報が関連付けてフロー設定データベースに記憶される。このようにすることで、例えばアプリケーションごとに異なるプロキシを介して、ウェブサーバ等にアクセスさせることが可能となる。
【００７７】
［ネットワークを異ならせる例］
さらにフロー設定データベースに格納される処理指示情報は、仮想ＬＡＮ（ＶＬＡＮ）タグを付加する指示であってもよい。この場合、具体的に付加情報としてアプリケーションの名称などアプリケーションを特定する情報を用い、例えばアプリケーション名に「YouTube」が含まれる、との条件に対し、第１のＶＬＡＮのタグ情報を付加するべき旨の処理指示情報が関連付けられ、またアプリケーション名にウェブブラウザの名称（Chromeなど）が含まれる、との条件に対し、また別の第２のＶＬＡＮのタグ情報を付加するべき旨の処理指示情報が関連付けてフロー設定データベースに記憶される。
【００７８】
この例では情報伝送装置２は、タグＶＬＡＮに対応した他のスイッチ装置等（もう一つの、本実施の形態に係る情報伝送装置であってもよい）に対していずれかの通信ポート２３０を介して有線にて接続され、この、他のスイッチ装置等を介してインターネット等のＷＡＮに接続されるものとする。なお本実施の形態の一例ではこの通信ポート２３０をトランクポートとして設定しておく。
【００７９】
そして、例えば情報通信装置１の利用者がウェブブラウザを起動し、当該ウェブブラウザを用いてインターネット上のウェブサイトに対してデータを要求するパケットデータを送出すると、情報伝送装置２は、このパケットデータを受け入れて、第２のＶＬＡＮのタグ情報を付して、トランクポートとして設定された通信ポート２３０を介して他のスイッチ装置等へ送出する。
なお、上記ウェブサイトのサーバが上記要求に応答して送出するデータを、上記他のスイッチ装置等から受信する。このとき、当該データ（の各部）を含むパケットデータには、第２のＶＬＡＮのタグ情報が付されることとなるが、この動作はタグＶＬＡＮの広く知られた動作と同じものとなるので、詳しい説明を省略する。
【００８０】
本実施の形態のこの例では、例えばアプリケーションごとに、異なるＶＬＡＮを介してパケットデータの送受を行わせることが可能となる。つまり、アプリケーションごとのＶＬＡＮが構築できることとなる。
【００８１】
［ＵＤＰによる例］
またここまでの例において、情報通信装置１は、ＴＣＰ（Transmission Control Protocol）を用いたソケット通信を行う際に、その先頭のパケットデータであるＳＹＮパケットデータ（ソケットを開設した後、通信を開始するときに最初に送出するパケットデータ）に、ソケットに関する情報を付加することとしていた。このように情報伝送装置２において、先頭のパケットデータが他のパケットデータと区別できるプロトコルが用いられる場合には、当該先頭のデータにソケットに関する情報を付加すればよい。しかしＵＤＰ（User Datagram Protocol）等、先頭のパケットデータと他のパケットデータとが区別し難いプロトコルが用いられる場合もある。このときには次のようにして、情報伝送装置２が、ソケットに関する情報を含むパケットデータを識別できるようにすればよい。
【００８２】
すなわち本実施の形態のある例では、パケットデータのＴＯＳ（Type of Service）としてソケットに関する情報を付加してもよい。もっとも、広く利用されているネットワーク機器のうちには、ＴＯＳフィールドを削除するものがあるので、このような機器が利用されている場合には、ＴＯＳにソケットに関する情報を付加することが適当でないことがある。
【００８３】
そこで、本実施の形態の別の例では、上記のＵＤＰ等のプロトコルに係る、専ら付加情報を含んだパケットデータを伝送するために用いるポート番号Ｔ０を定めておく。そしてこのポート番号Ｔ０を情報通信装置１と情報伝送装置２とに記憶させておく。またこの例において情報通信装置１は、ポート番号Ｔ０のソケットを、情報伝送装置２との間に設定しておく。
この例に係る情報通信装置１の制御部１１は、図４に例示した機能的構成と同様の構成をとるが、パケットデータ生成部３３とソケット通信部３４との動作が少々異なるので、以下、パケットデータ生成部３３とソケット通信部３４との動作について説明する。
【００８４】
本実施の形態のこの例におけるパケットデータ生成部３３は、既に説明した例と同様に、アプリケーション側からソケットを特定する情報と、送出しようとするデータとを受け入れる。そしてパケットデータ生成部３３は、当該受け入れたデータを複数のパケットデータに分割する。パケットデータ生成部３３は、分割して得たパケットデータの少なくとも一つに、情報保持部３２が保持する情報を付加情報として付加する。上述のように、情報保持部３２が、ソケットを特定する情報の各々に対して、当該情報で特定される各ソケットを用いて通信を行っているアプリケーションの名称を関連付けて保持している場合、このパケットデータ生成部３２は、分割して得たパケットデータの少なくとも一つに、当該パケットデータを送出する際に用いるソケットに関する情報（例えばアプリケーションの名称）を付加情報として付加する。ここで付加情報は、例えばトレイラ部に含めてもよいし、ペイロード部が空（データサイズが「０」）であれば、ペイロード部に含めてもよい。また、ＩＰヘッダにおけるオプションとして定義しておき、ＩＰヘッダに含めてもよい。パケットデータ生成部３３は、生成したパケットデータ（付加情報を付加したものを含む）と、当該パケットデータの元となったデータとともにアプリケーション側から受け入れた、ソケットを特定する情報（送信元となる情報通信装置１のＩＰアドレスと、ポート番号（本来当該パケットデータを送受するのに用いるべきであったポート番号であってＴ０とは一般に異なるポート番号である）とを含む情報）とをソケット通信部３４に出力する。
【００８５】
本実施の形態のここでの例では、パケットデータ生成部３３は、付加情報を付加したパケットデータを出力するときにはさらに、付加情報を付加した旨の情報をソケット通信部３４に出力する。
そしてソケット通信部３４は、パケットデータ生成部３３からパケットデータとソケットを特定する情報とを受け入れる。またソケット通信部３４は、パケットデータ生成部３３からパケットデータとともに付加情報を付加した旨の情報の入力を受け入れたときには、当該パケットデータに対して、パケットデータ生成部３３から受け入れた、ソケットを特定する情報を付加する。この情報も付加情報と同様、トレイラ部に付加することとしてもよい。そして当該パケットデータを、ポート番号Ｔ０のソケットを介して送出する。これにより当該パケットデータのヘッダ部に含まれる宛先のポート番号が、本来当該パケットデータを送出するのに用いるべきポート番号（アプリケーション側の処理で指定されたポート番号）ではなく、ポート番号Ｔ０となる。
また、ソケット通信部３４は、パケットデータ生成部３３からパケットデータとともに付加情報を付加した旨の情報の入力を受け入れていないときには、パケットデータ生成部３３から受け入れた情報で特定されるソケットを介して、各パケットデータを逐次的に送出する。
【００８６】
情報伝送装置２では、分類部４２が、受入部４１が受け入れたパケットデータに付加情報が含まれているか否かを調べる。本実施の形態のここでの例では、付加情報が付加されているパケットデータは専らポート番号Ｔ０のソケットを介して受信される。そこでこの分類部４２はポート番号Ｔ０のソケットを介して受信したパケットデータから付加情報を取り出す。分類部４２は、取り出した付加情報に含まれるソケットを特定する情報を参照し、本来当該パケットデータを送受するのに用いるべきであったポート番号を読み出して、当該パケットデータのヘッダ部に含まれる、宛先ポート番号を、当該読み出したポート番号に書き換え、当該書き換えを行った後のパケットデータを処理対象として、判断部４３に出力する。
またこの分類部４２は、受入部４１が受け入れたパケットデータがポート番号Ｔ０以外のポートに係るソケットを介して受信されている場合、付加情報が含まれていないと判断して、当該パケットデータのヘッダ部に含まれる情報（ヘッダ部に含まれる送信元ポート番号や宛先ポート番号等）が、通信フローデータベースに保持されているか否かを調べる。ここで当該ヘッダ部に含まれる情報に対して処理指示情報が関連付けられて記憶部２２の通信フローデータベースに保持されていれば、分類部４２は、当該処理指示情報（ヘッダ部に含まれる情報に関連付けられている処理指示情報）を読み出して、受け入れたパケットデータと読み出した処理指示情報とを処理部４４に出力する。またこの分類部４２は、参照したヘッダ部に含まれる情報が記憶部２２の通信フローデータベースに保持されていなければ、当該パケットデータをそのまま処理部４４に出力する。
【００８７】
さらにこの分類部４２は、通信フローデータベースに保持されているヘッダ部に含まれる情報ごとに、当該情報がヘッダ部に含まれているパケットデータを最後に受信した時刻の情報を関連付けて記憶しておいてもよい。分類部４２は、通信フローデータベースに保持されているヘッダ部に含まれる情報ごとに、当該情報がヘッダ部に含まれているパケットデータを最後に受信した時刻からの経過時間が、予め定めた時間を経過したか否かを調べ、経過していれば、当該情報と、それに関連付けられた処理指示情報とを、通信フローデータベースから削除してもよい。
【００８８】
判断部４３は、分類部４２から、受入部４１が受け入れたパケットデータのうち、処理対象となったパケットデータの入力を受け入れる。そして判断部４３は、処理対象となったパケットデータから付加情報を取り出す。
【００８９】
判断部４３は、記憶部２２のフロー設定データベースに格納された条件のうち、処理対象となったパケットデータから取り出した付加情報が満足する条件を探索する。例えば条件としてアプリケーション名そのものがフロー設定データベースに格納されている場合、判断部４３は、取り出した付加情報に含まれるアプリケーション名に一致するアプリケーション名がフロー設定データベースに格納されているか否かを調べることになる。そして当該付加情報が満足する条件があれば、判断部４３は、当該条件に関連付けられた処理指示情報を読み出す。
【００９０】
また判断部４３は、処理対象となったパケットデータから特徴情報を抽出する。ここで抽出する特徴情報は分類部４２におけるものと同じ種類の情報とする。すなわちここでの例では、ヘッダ部に含まれる送信元ポート番号や宛先ポート番号等の情報を抽出することになる。判断部４３は、ここで読み出した処理指示情報と処理対象のパケットデータとを処理部４４に出力する。
また判断部４３は、抽出した特徴情報（ここではヘッダ部に含まれる情報）に対して、読み出した処理指示情報を関連付けて、通信フローデータベースに追記して格納する。ここで一旦、特徴情報が抽出された後は（通信において以降に通過するネットワーク機器では、この特徴情報を共有し、通信制御をすることが可能となるため）付加情報を用いた処理をする必要はない。従って、ここで情報伝送装置２は付加情報を除去することとしてもよい。
本実施の形態のこの例によれば、ＵＤＰを用いる場合であっても、付加情報が含まれるパケットデータを確実に識別できる。
【００９１】
［変形例］
またここまでの説明において、付加情報に含めるソケットに関する情報は、アプリケーション名であるものとしたが、本実施の形態はこれに限られない。例えば、ここでソケットに関する情報は、当該ソケットを利用しているアプリケーション名だけでなく、当該アプリケーションのプロセスの状態を含んでもよい。ここでプロセスの状態とは、アプリケーションが、利用者から指示入力を直ちに受け入れ可能な状態にある（フォアグラウンド）か、直ちに受け入れ可能な状態にない（バックグラウンド）であるか等の情報であり、情報通信装置１において例えばプロセスコマンド（psコマンド）を用いて取得可能な情報である。
【００９２】
このような情報を用いると、情報伝送装置２において、例えば、バックグラウンドで動作しているメールアプリケーションが送出したパケットデータについては、比較的低速なネットワークを介して送出し、どんなアプリケーションであっても終了待ち合わせ中（ウェイト、またはゾンビ・プロセス）となっている場合には当該アプリケーションが送出したパケットデータを破棄するといった処理が可能となる。
【００９３】
また、ここまでの例では、ソケットに関する情報を、netstatや、lsof等の別のプロセスにより取得する例について述べたが、オペレーティングシステムのカーネルやサービスにおいてソケットに関する情報を取得することとしてもよい。例えば、ソケットを実装するライブラリ自体において、ソケットをオープンしたアプリケーションの名称等を管理するようにしてもよい。
【００９４】
またさらに情報通信装置１が付加情報に含める情報（情報通信装置１にて取得可能な情報）は、ソケットに関する情報のみならず、またはソケットに関する情報に代えて、情報通信装置１の機種名や、デバイス種類（スマートフォンであるか、パーソナルコンピュータであるか、などの別）や、バッテリ残量（バッテリで駆動されている場合）、端末固有情報（携帯電話機におけるＩＭＥＩや、キャリアが付与する個体識別情報など）、利用者の操作履歴、行動履歴（例えばアップル社のiPhone（登録商標）5sのモーション・コプロセッサ等から得られる情報など）、各通信インタフェース（物理的なインタフェース）のオン、オフや、接続されている外部機器の種類、マウントされている記憶媒体の種類や容量など、機器に関する情報を含んでもよい。またＧＰＳ（Global Positioning System）等により位置情報が得られた場合は当該位置情報や、信号を受信できたＧＰＳ衛星の数など、利用者の位置に関する情報がソケットに関する情報とともに、またはソケットに関する情報に代えて、この付加情報に含まれてもよい。
【００９５】
これらを用いると、情報伝送装置２において、例えば、屋外にいる（ＧＰＳから得られる位置情報が付加情報に含まれるなどにより判断する）場合にパケットを破棄する、あるいは、屋外に居て、かつバッテリ残量が所定しきい値より大きい場合には比較的低速な回線を介してパケットを送出するなどの処理が可能となる。
【００９６】
なお、ここまでの説明では、情報通信装置１で得られた付加情報が、当該情報通信装置１が送出するパケットデータに付加されて情報伝送装置２に伝達されるものとしていた（いわゆるインバウンド方式）。しかしながら、本実施の形態はこれに限られず、別の通信路（仮想的な通信路でもよい）があれば、当該別の通信路を介して、情報通信装置１から情報伝送装置２へと付加情報を伝達してもよい（いわゆるアウトオブバウンド方式）。このような別の通信を用いる例は、例えば情報通信装置に、Open vSwitchを実装することで実現できる。
【００９７】
さらに本実施の形態では、例えば情報伝送装置２において、付加情報に含まれる情報と、通信フローデータベースに保持した情報とを用いて、アプリケーションの種類ごとの時間別のトラフィック（パケットデータの分量）情報を集計してもよい。このような集計情報は、ネットワークサービスの計画策定に役立てることができる。
【００９８】
また本実施の形態の情報伝送装置２を用いると、例えば、予め設定されたアプリケーション名のアプリケーションからのパケットデータのみ通過させる動作や、時間ごとにフロー設定データベースの内容を変更することなどにより、夜間は特定の端末からのパケットデータを通過させないなどといった処理、さらには、特定の端末を用いた特定の通信先との通信を阻害するなどといった動作も可能であり、いわゆるペアレンタルコントロールを実現でき、またマルウェア攻撃等を抑制できる。
【符号の説明】
【００９９】
１１，２１  制御部、１２，２２  記憶部、１３  操作部、１４  表示部、１５，２３  通信部、３１  情報取得部、３２  情報保持部、３３  パケットデータ生成部、３４  ソケット通信部、４１  受入部、４２  分類部、４３  判断部、４４  処理部、２３０  通信ポート。
【図１】
2015164295.tif 000003
【図２】
2015164295.tif 000004
【図３】
2015164295.tif 000005
【図４】
2015164295.tif 000006
【図５】
2015164295.tif 000007
【図６】
2015164295.tif 000008
【図７】
2015164295.tif 000009