(57)【要約】アプリケーションが送出する通信信号は、通信信号制御部に渡され、その後、通信信号制御モジュールにより、制御もしくは観測処理され、次の通信信号制御モジュールに順次受け渡されてネットワークに送出される。通信制御調整部に含まれる通信制御調整モジュールは、通信者からの要求条件に応じて、該通信フローの制御に使用する通信信号制御モジュールの実行位置を決定する。通信信号制御モジュール及び通信制御調整モジュールは、通信途中にもその構成を変更することが可能である。
2004100469.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して存在する通信フローに対し、通信フロー制御を実行するモジュールを通信フロー経路上に配置することにより、通信フローを制御する通信制御方法において、
通信フロー経路上に配置された通信信号制御モジュールにより、通信フローの信号に制御もしくは観測処理を行なった後、処理後の信号を送出し、
アプリケーションもしくは通信者から与えられた、もしくは自動的に検出した、通信フローについての要求条件に基づき、通信フローに関する情報を監視し、
フロー状態がアプリケーションもしくは通信者から与えられた要求条件に合致していない場合、前記要求条件に合致させるための通信フロー制御を行なう通信信号制御モジュールと、通信フロー経路上に通信信号制御モジュールの配置または除去を実施する通信制御調整モジュールとの２種類のモジュールの集合により構成し、
前記通信信号制御モジュールと前記通信制御調整モジュールとを、モジュールが格納されているネットワーク内のサーバ装置から、通信端末及び通信機器にネットワークを介してダウンロードして起動することにより、通信フローの制御を実現し、上記要求条件を満たすことを特徴とする通信制御方法。
【請求項２】
前記通信制御調整モジュールもしくは前記通信信号制御モジュールは、
モジュール内にディジタル署名を内包する構成とし、該モジュールを実行する通信端末及び通信装置においてディジタル署名を検証し、作成者の同定、及びモジュールの改ざんが無いことが検証されたモジュールのみを動作し、検証されないモジュールに関しては廃棄もしくは、管理者に判断を問い合わせた上で実行することを特徴とする請求項１記載の通信制御方法。
【請求項３】
通信端末上に、アプリケーションインターフェース部と送信フレーム処理部と受信フレーム処理部とを配置し、
送信側の通信端末上のアプリケーションインターフェース部と送信フレーム処理部との間の通信信号制御モジュール内にデータが存在しないことを担保し、
受信側の通信端末上のアプリケーションインターフェース部と受信フレーム処理部との間の通信信号制御モジュール内にデータが存在しないことを担保し、
前記送信フレーム処理部にて、フレーム付与処理を行なうことにより、送信側の通信信号制御モジュールの集合を特定するためのチェイン番号をフレーム中に記載し、
前記受信フレーム処理部にて、前記チェイン番号を監視することで送信側の通信信号制御モジュールの集合が変化したデータの境界を検出し、そのタイミングで受信側の通信信号制御モジュールの挿抜を実施し、
送信アプリケーションが送出した通信データを同一の形で受信側アプリケーションへ届けることを保証して、通信信号制御モジュールを挿入または抜去することを特徴とする請求項１記載の通信制御方法。
【請求項４】
送信側の通信端末上の通信信号制御モジュールに対して、直ちにデータを処理することを要求し、
通信に供している通信網の遅延時間に比べ十分大きい時間、データの処理を停止し、受信側にそのタイミングを通知し、
送信側の通信信号制御モジュール内、受信側の通信信号制御モジュール内、あるいは通信網内に通信に関するデータが存在しないことを保証し、
送信側の通信信号制御モジュールの集合が変化したデータの境界を検出し、
送信アプリケーションが送出した通信データを同一の形で受信側アプリケーションへ届けることを保証して、通信信号制御モジュールを挿入または抜去することを特徴とする請求項１記載の通信制御方法。
【請求項５】
送信側の通信端末から通信で送られたデータのバイト数をカウントし、
送信側の通信信号制御モジュールの集合の変更が行われたバイト数を受信側の通信端末に通知し、
送信側の通信信号制御モジュールの集合が変化したデータの境界を検出し、
送信アプリケーションが送出した通信データを同一の形で受信側アプリケーションへ届けることを保証して、通信信号制御モジュールを挿入または抜去することを特徴とする請求項１記載の通信制御方法。
【請求項６】
送信側の通信信号制御モジュールの集合の変更が行われた直後に、アプリケーションが通信に用いることのない、または確率的に用いることが十分に小さい、特定のバイト列を通信網上に出力することで、
送信側の通信信号制御モジュールの集合が変化したデータの境界を検出し、
送信アプリケーションが送出した通信データを同一の形で受信側アプリケーションへ届けることを保証して、通信信号制御モジュールを挿入または抜去することを特徴とする請求項１記載の通信制御方法。
【請求項７】
前記通信制御調整モジュールもしくは前記通信信号制御モジュールは、
モジュール内にディジタル署名を内包する構成とし、該モジュールを実行する通信端末及び通信装置においてディジタル署名を検証し、作成者の同定、及びモジュールの改ざんが無いことが検証されたモジュールのみを動作し、検証されないモジュールに関しては廃棄もしくは、管理者に判断を問い合わせた上で実行することを特徴とする請求項３記載の通信制御方法。
【請求項８】
前記通信制御調整モジュールもしくは前記通信信号制御モジュールは、
モジュール内にディジタル署名を内包する構成とし、該モジュールを実行する通信端末及び通信装置においてディジタル署名を検証し、作成者の同定、及びモジュールの改ざんが無いことが検証されたモジュールのみを動作し、検証されないモジュールに関しては廃棄もしくは、管理者に判断を問い合わせた上で実行することを特徴とする請求項４記載の通信制御方法。
【請求項９】
前記通信制御調整モジュールもしくは前記通信信号制御モジュールは、
モジュール内にディジタル署名を内包する構成とし、該モジュールを実行する通信端末及び通信装置においてディジタル署名を検証し、作成者の同定、及びモジュールの改ざんが無いことが検証されたモジュールのみを動作し、検証されないモジュールに関しては廃棄もしくは、管理者に判断を問い合わせた上で実行することを特徴とする請求項５記載の通信制御方法。
【請求項１０】
前記通信制御調整モジュールもしくは前記通信信号制御モジュールは、
モジュール内にディジタル署名を内包する構成とし、該モジュールを実行する通信端末及び通信装置においてディジタル署名を検証し、作成者の同定、及びモジュールの改ざんが無いことが検証されたモジュールのみを動作し、検証されないモジュールに関しては廃棄もしくは、管理者に判断を問い合わせた上で実行することを特徴とする請求項６記載の通信制御方法。
【請求項１１】
ネットワークを介して存在する通信フローに対し、通信フロー制御を実行するモジュールを通信フロー経路上に配置することにより、通信フローを制御する通信制御装置において、
通信フロー経路上に配置され、通信フローの信号を入力とし、入力された信号に制御もしくは観測処理を行なった後、処理後の信号を送出する通信信号制御モジュールと、
アプリケーションもしくは通信者から与えられた、もしくは自動的に検出した、通信フローについての要求条件に基づき、通信フローに関する情報を監視する監視手段と、
前記監視手段により監視されたフロー状態がアプリケーションもしくは通信者から与えられた前記要求条件に合致していない場合、前記要求条件に合致させるための通信フロー制御を行なう通信信号制御モジュールと、通信フロー経路上への配置または除去を実施するフロー制御を行なう通信信号制御モジュールの配置を行なう通信制御調整モジュールとの２種類のモジュールの集合により構成するモジュール構成手段と、
前記通信信号制御モジュールと前記通信制御調整モジュールとを、モジュールが格納されているネットワーク内のサーバ装置から、通信端末及び通信機器にネットワークを介してダウンロードし、ダウンロードした前記通信信号制御モジュールと前記通信制御調整モジュールとを起動するモジュールダウンロード手段と
を具備することを特徴とする通信制御装置。
【請求項１２】
通信端末上に配置され、アプリケーションインターフェース部と送信フレーム処理部と受信フレーム処理部と、
送信側の通信端末上のアプリケーションインターフェース部と送信フレーム処理部との間の通信信号制御モジュール内にデータが存在しないことを担保する第１の担保手段と、
受信側の通信端末上のアプリケーションインターフェース部と受信フレーム処理部との間の通信信号制御モジュール内にデータが存在しないことを担保する第２の担保手段と、
前記受信側の通信端末にて、フレーム付与処理を行なうことにより、送信側の通信信号制御モジュールの集合を特定するためのチェイン番号をフレーム中に記載するチェイン番号記載手段と、
前記受信側の通信端末にて、前記チェイン番号を監視することで送信側の通信信号制御モジュールの集合が変化したデータの境界を検出する検出手段と、
送信アプリケーションが送出した通信データを同一の形で受信側アプリケーションへ届けることを保証して、通信信号制御モジュールを挿入または抜去する挿抜手段と
を具備することを特徴とする請求項１１記載の通信制御装置。
【請求項１３】
送信側の通信端末上に配置され、送信側の通信信号制御モジュールに対して、直ちにデータを処理することを要求するアプリケーションインターフェース部と、
通信に供している通信網の遅延時間に比べ十分大きい時間、データの処理を停止し、受信側にそのタイミングを通知する通知手段と、
送信側の通信信号制御モジュール内、受信側の通信信号制御モジュール内、通信網内に通信に関するデータが存在しないことを保証する保証手段と、
送信側の通信端末における通信信号制御モジュールの集合が変化したデータの境界を検出する検出手段と、
送信アプリケーションが送出した通信データを同一の形で受信側アプリケーションへ届けることを保証して、通信信号制御モジュールを挿入または抜去する挿抜手段と
を具備することを特徴とする請求項１１記載の通信制御装置。
【請求項１４】
送信側の通信端末上に配置され、通信で送られたデータのバイト数をカウントする送信カウンタ処理部と、
送信側の通信信号制御モジュールの集合の変更が行われたバイト数を受信側の通信端末に通知する通知手段と、
受信側の通信端末上に配置され、送信側の通信信号制御モジュールの集合が変化したデータの境界を検出する受信カウンタ処理手段と、
送信アプリケーションが送出した通信データを同一の形で受信側アプリケーションへ届けることを保証して、通信信号制御モジュールを挿入または抜去する挿抜手段と
を具備することを特徴とする請求項１１記載の通信制御装置。
【請求項１５】
送信側の通信信号制御モジュールの集合の変更が行われた直後に、アプリケーションが通信に用いることのない、または確率的に用いることが十分に小さい、特定のバイト列を通信網上に出力する出力手段と、
受信側の通信端末上に配置され、送信側の通信信号制御モジュールの集合が変化したデータの境界を検出する受信側デリミタ同期処理手段と、
送信アプリケーションが送出した通信データを同一の形で受信側アプリケーションへ届けることを保証して、通信信号制御モジュールを挿入または抜去する挿抜手段と
を具備することを特徴とする請求項１１記載の通信制御装置。
【請求項１６】
通信フロー経路上に配置された通信信号制御モジュールにより、通信フローの信号に制御もしくは観測処理を行なった後、処理後の信号を送出するステップと、
アプリケーションもしくは通信者から与えられた、もしくは自動的に検出した、通信フローについての要求条件に基づき、通信フローに関する情報を監視するステップと、
フロー状態がアプリケーションもしくは通信者から与えられた要求条件に合致していない場合、前記要求条件に合致させるための通信フロー制御を行なう通信信号制御モジュールと、通信フロー経路上に配置または除去を実施するフロー制御を行なう通信信号制御モジュールの配置を行なう通信制御調整モジュールとの２種類のモジュールの集合により構成するステップと、
前記通信信号制御モジュールと前記通信制御調整モジュールとを、モジュールが格納されているネットワーク内のサーバ装置から、通信端末及び通信機器にネットワークを介してダウンロードして起動するステップと
をコンピュータに実行させることを特徴とする通信制御プログラム。
【請求項１７】
送信側の通信端末上に配置された、アプリケーションインターフェース部と送信フレーム処理部との間の通信信号制御モジュール内にデータが存在しないことを担保するステップと、
受信側の通信端末上に配置された、アプリケーションインターフェース部と受信フレーム処理部との間の通信信号制御モジュール内にデータが存在しないことを担保するステップと、
前記受信側にて、フレーム付与処理を行なうことにより、送信側の通信信号制御モジュールの集合を特定するためのチェイン番号をフレーム中に記載するステップと、
前記受信側にて、前記チェイン番号を監視することで送信側の通信信号制御モジュールの集合が変化したデータの境界を検出するステップと、
送信アプリケーションが送出した通信データを同一の形で受信側アプリケーションへ届けることを保証して、通信信号制御モジュールを挿入または抜去するステップと
をコンピュータに実行させることを特徴とする請求項１６記載の通信制御プログラム。
【請求項１８】
送信側の通信端末上の通信信号制御モジュールに対して、直ちにデータを処理することを要求するステップと、
通信に供している通信網の遅延時間に比べ十分大きい時間、データの処理を停止し、受信側にそのタイミングを通知するステップと、
送信側の通信信号制御モジュール内、受信側の通信信号制御モジュール内、あるいは通信網内に通信に関するデータが存在しないことを保証するステップと、
送信側の通信信号制御モジュールの集合が変化したデータの境界を検出するステップと、
送信アプリケーションが送出した通信データを同一の形で受信側アプリケーションへ届けることを保証して、通信信号制御モジュールを挿入または抜去するステップと
をコンピュータに実行させることを特徴とする請求項１６記載の通信制御プログラム。
【請求項１９】
送信側の通信端末から通信で送られたデータのバイト数をカウントするステップと、
送信側の通信信号制御モジュールの集合の変更が行われたバイト数を受信側の通信端末に通知するステップと、
送信側の通信信号制御モジュールの集合が変化したデータの境界を検出するステップと、
送信アプリケーションが送出した通信データを同一の形で受信側アプリケーションへ届けることを保証して、通信信号制御モジュールを挿入または抜去するステップと
をコンピュータに実行させることを特徴とする請求項１６記載の通信制御プログラム。
【請求項２０】
送信側の通信信号制御モジュールの集合の変更が行われた直後に、アプリケーションが通信に用いることのない、または確率的に用いることが十分に小さい、特定のバイト列を通信網上に出力するステップと、
送信側の通信信号制御モジュールの集合が変化したデータの境界を検出するステップと、
送信アプリケーションが送出した通信データを同一の形で受信側アプリケーションへ届けることを保証して、通信信号制御モジュールを挿入または抜去するステップと
をコンピュータに実行させることを特徴とする請求項１６記載の通信制御プログラム。
【請求項２１】
通信フロー経路上に配置された通信信号制御モジュールにより、通信フローの信号に制御もしくは観測処理を行なった後、処理後の信号を送出するステップと、
アプリケーションもしくは通信者から与えられた、もしくは自動的に検出した、通信フローについての要求条件に基づき、通信フローに関する情報を監視するステップと、
フロー状態がアプリケーションもしくは通信者から与えられた要求条件に合致していない場合、前記要求条件に合致させるための通信フロー制御を行なう通信信号制御モジュールと、通信フロー経路上にフロー制御を行なう通信信号制御モジュールの配置または除去を実施する通信制御調整モジュールとの２種類のモジュールの集合により構成するステップと、
前記通信信号制御モジュールと前記通信制御調整モジュールとを、モジュールが格納されているネットワーク内のサーバ装置から、通信端末及び通信機器にネットワークを介してダウンロードして起動するステップと
をコンピュータに実行させる通信制御プログラムを記録したことを特徴とする記録媒体。
【発明の詳細な説明】
【優先権の主張】
本願は、２００３年５月８日に日本国に出願された特願２００３−１３００４７号に対し優先権を主張し、その内容をここに援用する。
【技術分野】  本発明は、通信フローを制御するソフトウエア単位を組み合わせて通信フロー制御を行なう通信制御方法、通信制御装置、通信制御プログラムおよび記録媒体に関する。
【背景技術】通信フローを制御するソフトウエア単位を組み合わせて通信フロー制御を行なう方法として、ＳＴＲＥＡＭＳ／ＸＴＩや、Ｊａｖａ（登録商標）言語におけるＦｉｌｔｅｒＳｔｒｅａｍｓ機能に代表される動的プロトコルスタック方式がある。例えば、ＡＴ＆Ｔ，Ｕｎｉｘ  Ｓｙｓｔｅｍ  Ｖ  Ｒｅｌｅａｓｅ４：Ｐｒｏｇｒａｍｍｅｒ’ｓ  Ｇｕｉｄｅ：Ｓｔｒｅａｍｓ，Ｊｕｎｅ  １９９２，ＩＳＢＮ０１３０２０６６０１、ＮＴＴ報道発表、「２００２年２月２７日」、インターネット＜ｈｔｔｐ：／／ｗｗｗ．ｎｔｔ．ｃｏ．ｊｐ／ｎｅｗｓ／ｎｅｗｓ０２／０２０２／０２０２２７．ｈｔｍｌ＞、筒井、″先進的ネットワーク利用技術研究プロジェクトＮ＊Ｖｅｃｔｏｒ、″ＮＴＴ  Ｒ＆Ｄ、Ｖｏｌ．５１、Ｎｏ．２、ｐｐ．７６−８５、２００２、及び、柿沼、藤井、″次世代ホームネットワーク技術、″ＮＴＴ技術ジャーナル、Ｖｏｌ．１４、Ｎｏ．１１、ｐｐ．５１−５５、２００２を参照されたい。
これら従来の方式では、プロトコルや、信号のフィルタに代表される通信信号処理を実行するソフトウエア単位を、選択的に組み合わせ、アプリケーションから送出する通信信号を該ソフトウエア単位に順次通過させることにより通信フローの制御を行なう。
上述した従来技術による動的プロトコルスタック方式では、通信制御を行なうソフトウエア単位は通信端末内でのみ構成されるため、通信制御を端末でしかできないという問題がある。このため、例えば計算能力の低い移動端末の通信制御をネットワーク機器内で実行するようなことができないという問題がある。また、ネットワーク内でのみ知りうる輻輳の情報に基づくソフトウエア単位の構成ができないという問題がある。
ソフトウエア単位の構成はアプリケーションが起動される時点にだけ実行され、その後アプリケーションの動作中には変更できないため、ネットワークや通信状態の変化や、ユーザからの要求に合わせて通信制御を動的に変更することができないという問題がある。
構成されるソフトウエア単位は、通信端末に事前に存在するものに限られている。従って、使用する可能性のあるソフトウエア単位を、常に保有していなければならないという問題がある。また、新しいソフトウエア単位の出現、もしくは既存のソフトウエア単位の変更が生じた場合、それらを用いるためには、何らかの手段を用いてそれらのソフトウエア単位を通信端末内にインストールする必要があるという問題がある。
ソフトウエア単位が不特定多数の開発者によって開発されることを想定していないため、そのソフトウエア単位が誰によって作成されたかを同定し、更に作成後、改ざんがなされていないかの検証を行なう機能が無いという問題がある。
【発明の開示】
本願発明は上述した事情に鑑みてなされたもので、通信信号制御モジュールを、通信端末だけではなく通信網内の通信機器を含む装置に配置し、動作させ、更に、通信信号制御モジュールを通信状態や環境の状況変化に応じて動的に変更することができる通信制御方法、通信制御装置、通信制御プログラムおよび記録媒体を提供することを目的とする。
上述した問題点を解決するために、本願発明の通信制御方法は、ネットワークを介して存在する通信フローに対し、通信フロー制御を実行するモジュールを通信フロー経路上に配置することにより、通信フローを制御する通信制御方法において、通信フロー経路上に配置された通信信号制御モジュールにより、通信フローの信号に制御もしくは観測処理を行なった後、処理後の信号を送出し、アプリケーションもしくは通信者から与えられた、もしくは自動的に検出した、通信フローについての要求条件に基づき、通信フローに関する情報を監視し、フロー状態がアプリケーションもしくは通信者から与えられた要求条件に合致していない場合、前記要求条件に合致させるための通信フロー制御を行なう通信信号制御モジュールと、通信フロー経路上に通信信号制御モジュールの配置または除去を実施する通信制御調整モジュールとの２種類のモジュールの集合により構成し、前記通信信号制御モジュールと前記通信制御調整モジュールとを、モジュールが格納されているネットワーク内のサーバ装置から、通信端末及び通信機器にネットワークを介してダウンロードして起動することにより、通信フローの制御を実現し、上記要求条件を満たすことを特徴とする。
本願発明の通信制御方法では、前記通信制御調整モジュールもしくは前記通信信号制御モジュールは、モジュール内にディジタル署名を内包する構成とし、該モジュールを実行する通信端末及び通信装置においてディジタル署名を検証し、作成者の同定、及びモジュールの改ざんが無いことが検証されたモジュールのみを動作し、検証されないモジュールに関しては廃棄もしくは、管理者に判断を問い合わせた上で実行することを特徴とする。
本願発明の通信制御方法では、通信端末上に、アプリケーションインターフェース部と送信フレーム処理部と受信フレーム処理部とを配置し、送信側の通信端末上のアプリケーションインターフェース部と送信フレーム処理部との間の通信信号制御モジュール内にデータが存在しないことを担保し、受信側の通信端末上のアプリケーションインターフェース部と受信フレーム処理部との間の通信信号制御モジュール内にデータが存在しないことを担保し、前記送信フレーム処理部にて、フレーム付与処理を行なうことにより、送信側の通信信号制御モジュールの集合を特定するためのチェイン番号をフレーム中に記載し、前記受信フレーム処理部にて、前記チェイン番号を監視することで送信側の通信信号制御モジュールの集合が変化したデータの境界を検出し、そのタイミングで受信側の通信信号制御モジュールの挿抜を実施し、送信アプリケーションが送出した通信データを同一の形で受信側アプリケーションへ届けることを保証して、通信信号制御モジュールを挿入または抜去することを特徴とする。
本願発明の通信制御方法では、送信側の通信端末上の通信信号制御モジュールに対して、直ちにデータを処理することを要求し、通信に供している通信網の遅延時間に比べ十分大きい時間、データの処理を停止し、受信側にそのタイミングを通知し、送信側の通信信号制御モジュール内、受信側の通信信号制御モジュール内、あるいは通信網内に通信に関するデータが存在しないことを保証し、送信側の通信信号制御モジュールの集合が変化したデータの境界を検出し、送信アプリケーションが送出した通信データを同一の形で受信側アプリケーションへ届けることを保証して、通信信号制御モジュールを挿入または抜去することを特徴とする。
本願発明の通信制御方法では、送信側の通信端末から通信で送られたデータのバイト数をカウントし、送信側の通信信号制御モジュールの集合の変更が行われたバイト数を受信側の通信端末に通知し、送信側の通信信号制御モジュールの集合が変化したデータの境界を検出し、送信アプリケーションが送出した通信データを同一の形で受信側アプリケーションへ届けることを保証して、通信信号制御モジュールを挿入または抜去することを特徴とする。
本願発明の通信制御方法では、送信側の通信信号制御モジュールの集合の変更が行われた直後に、アプリケーションが通信に用いることのない、または確率的に用いることが十分に小さい、特定のバイト列を通信網上に出力することで、送信側の通信信号制御モジュールの集合が変化したデータの境界を検出し、送信アプリケーションが送出した通信データを同一の形で受信側アプリケーションへ届けることを保証して、通信信号制御モジュールを挿入または抜去することを特徴とする。
また、上述した問題点を解決するために、本願発明の通信制御装置は、ネットワークを介して存在する通信フローに対し、通信フロー制御を実行するモジュールを通信フロー経路上に配置することにより、通信フローを制御する通信制御装置において、通信フロー経路上に配置され、通信フローの信号を入力とし、入力された信号に制御もしくは観測処理を行なった後、処理後の信号を送出する通信信号制御モジュールと、アプリケーションもしくは通信者から与えられた、もしくは自動的に検出した、通信フローについての要求条件に基づき、通信フローに関する情報を監視する監視手段と、前記監視手段により監視されたフロー状態がアプリケーションもしくは通信者から与えられた前記要求条件に合致していない場合、前記要求条件に合致させるための通信フロー制御を行なう通信信号制御モジュールと、通信フロー経路上への配置または除去を実施するフロー制御を行なう通信信号制御モジュールの配置を行なう通信制御調整モジュールとの２種類のモジュールの集合により構成するモジュール構成手段と、前記通信信号制御モジュールと前記通信制御調整モジュールとを、モジュールが格納されているネットワーク内のサーバ装置から、通信端末及び通信機器にネットワークを介してダウンロードし、ダウンロードした前記通信信号制御モジュールと前記通信制御調整モジュールとを起動するモジュールダウンロード手段とを具備することを特徴とする。
本願発明の通信制御装置では、通信端末上に配置され、アプリケーションインターフェース部と送信フレーム処理部と受信フレーム処理部と、送信側の通信端末上のアプリケーションインターフェース部と送信フレーム処理部との間の通信信号制御モジュール内にデータが存在しないことを担保する第１の担保手段と、受信側の通信端末上のアプリケーションインターフェース部と受信フレーム処理部との間の通信信号制御モジュール内にデータが存在しないことを担保する第２の担保手段と、前記受信側の通信端末にて、フレーム付与処理を行なうことにより、送信側の通信信号制御モジュールの集合を特定するためのチェイン番号をフレーム中に記載するチェイン番号記載手段と、前記受信側の通信端末にて、前記チェイン番号を監視することで送信側の通信信号制御モジュールの集合が変化したデータの境界を検出する検出手段と、送信アプリケーションが送出した通信データを同一の形で受信側アプリケーションへ届けることを保証して、通信信号制御モジュールを挿入または抜去する挿抜手段とを具備することを特徴とする。
本願発明の通信制御装置では、送信側の通信端末上に配置され、送信側の通信信号制御モジュールに対して、直ちにデータを処理することを要求するアプリケーションインターフェース部と、通信に供している通信網の遅延時間に比べ十分大きい時間、データの処理を停止し、受信側にそのタイミングを通知する通知手段と、送信側の通信信号制御モジュール内、受信側の通信信号制御モジュール内、通信網内に通信に関するデータが存在しないことを保証する保証手段と、送信側の通信端末における通信信号制御モジュールの集合が変化したデータの境界を検出する検出手段と、送信アプリケーションが送出した通信データを同一の形で受信側アプリケーションへ届けることを保証して、通信信号制御モジュールを挿入または抜去する挿抜手段とを具備することを特徴とする。
本願発明の通信制御装置では、送信側の通信端末上に配置され、通信で送られたデータのバイト数をカウントする送信カウンタ処理部と、送信側の通信信号制御モジュールの集合の変更が行われたバイト数を受信側の通信端末に通知する通知手段と、受信側の通信端末上に配置され、送信側の通信信号制御モジュールの集合が変化したデータの境界を検出する受信カウンタ処理手段と、送信アプリケーションが送出した通信データを同一の形で受信側アプリケーションへ届けることを保証して、通信信号制御モジュールを挿入または抜去する挿抜手段と、送信アプリケーションが送出した通信データを同一の形で受信側アプリケーションへ届けることを保証して、通信信号制御モジュールを挿入または抜去する挿抜手段とを具備することを特徴とする。
本願発明の通信制御装置では、送信側の通信信号制御モジュールの集合の変更が行われた直後に、アプリケーションが通信に用いることのない、または確率的に用いることが十分に小さい、特定のバイト列を通信網上に出力する出力手段と、受信側の通信端末上に配置され、送信側の通信信号制御モジュールの集合が変化したデータの境界を検出する受信側デリミタ同期処理手段と、送信アプリケーションが送出した通信データを同一の形で受信側アプリケーションへ届けることを保証して、通信信号制御モジュールを挿入または抜去する挿抜手段とを具備することを特徴とする。
また、上述した問題点を解決するために、本願発明の通信制御プログラムは、通信フロー経路上に配置された通信信号制御モジュールにより、通信フローの信号に制御もしくは観測処理を行なった後、処理後の信号を送出するステップと、アプリケーションもしくは通信者から与えられた、もしくは自動的に検出した、通信フローについての要求条件に基づき、通信フローに関する情報を監視するステップと、フロー状態がアプリケーションもしくは通信者から与えられた要求条件に合致していない場合、前記要求条件に合致させるための通信フロー制御を行なう通信信号制御モジュールと、通信フロー経路上に配置または除去を実施するフロー制御を行なう通信信号制御モジュールの配置を行なう通信制御調整モジュールとの２種類のモジュールの集合により構成するステップと、前記通信信号制御モジュールと前記通信制御調整モジュールとを、モジュールが格納されているネットワーク内のサーバ装置から、通信端末及び通信機器にネットワークを介してダウンロードして起動するステップとをコンピュータに実行させることを特徴とする。
本願発明の通信制御プログラムでは、送信側の通信端末上に配置された、アプリケーションインターフェース部と送信フレーム処理部との間の通信信号制御モジュール内にデータが存在しないことを担保するステップと、受信側の通信端末上に配置された、アプリケーションインターフェース部と受信フレーム処理部との間の通信信号制御モジュール内にデータが存在しないことを担保するステップと、前記受信側にて、フレーム付与処理を行なうことにより、送信側の通信信号制御モジュールの集合を特定するためのチェイン番号をフレーム中に記載するステップと、前記受信側にて、前記チェイン番号を監視することで送信側の通信信号制御モジュールの集合が変化したデータの境界を検出するステップと、送信アプリケーションが送出した通信データを同一の形で受信側アプリケーションへ届けることを保証して、通信信号制御モジュールを挿入または抜去するステップとをコンピュータに実行させることを特徴とする。
本願発明の通信制御プログラムでは、送信側の通信端末上の通信信号制御モジュールに対して、直ちにデータを処理することを要求するステップと、通信に供している通信網の遅延時間に比べ十分大きい時間、データの処理を停止し、受信側にそのタイミングを通知するステップと、送信側の通信信号制御モジュール内、受信側の通信信号制御モジュール内、あるいは通信網内に通信に関するデータが存在しないことを保証するステップと、送信側の通信信号制御モジュールの集合が変化したデータの境界を検出するステップと、送信アプリケーションが送出した通信データを同一の形で受信側アプリケーションへ届けることを保証して、通信信号制御モジュールを挿入または抜去するステップとをコンピュータに実行させることを特徴とする。
本願発明の通信制御プログラムでは、送信側の通信端末から通信で送られたデータのバイト数をカウントするステップと、送信側の通信信号制御モジュールの集合の変更が行われたバイト数を受信側の通信端末に通知するステップと、送信側の通信信号制御モジュールの集合が変化したデータの境界を検出するステップと、送信アプリケーションが送出した通信データを同一の形で受信側アプリケーションへ届けることを保証して、通信信号制御モジュールを挿入または抜去するステップとをコンピュータに実行させることを特徴とする。
本願発明の通信制御プログラムでは、送信側の通信信号制御モジュールの集合の変更が行われた直後に、アプリケーションが通信に用いることのない、または確率的に用いることが十分に小さい、特定のバイト列を通信網上に出力するステップと、送信側の通信信号制御モジュールの集合が変化したデータの境界を検出するステップと、送信アプリケーションが送出した通信データを同一の形で受信側アプリケーションへ届けることを保証して、通信信号制御モジュールを挿入または抜去するステップとをコンピュータに実行させることを特徴とする。
また、上述した問題点を解決するために、本願発明の記録媒体は、通信フロー経路上に配置された通信信号制御モジュールにより、通信フローの信号に制御もしくは観測処理を行なった後、処理後の信号を送出するステップと、アプリケーションもしくは通信者から与えられた、もしくは自動的に検出した、通信フローについての要求条件に基づき、通信フローに関する情報を監視するステップと、フロー状態がアプリケーションもしくは通信者から与えられた要求条件に合致していない場合、前記要求条件に合致させるための通信フロー制御を行なう通信信号制御モジュールと、通信フロー経路上に配置または除去を実施するフロー制御を行なう通信信号制御モジュールの配置を行なう通信制御調整モジュールとの２種類のモジュールの集合により構成するステップと、前記通信信号制御モジュールと前記通信制御調整モジュールとを、モジュールが格納されているネットワーク内のサーバ装置から、通信端末及び通信機器にネットワークを介してダウンロードして起動するステップとをコンピュータに実行させる通信制御プログラムを記録したことを特徴とする。
本願発明では、通信フロー経路上に配置された通信信号制御モジュールにより、通信フローの信号に制御もしくは観測処理を行なった後、処理後の信号を送出し、アプリケーションもしくは通信者から与えられた、もしくは自動的に検出した、通信フローについての要求条件に基づき、通信フローに関する情報を監視し、フロー状態がアプリケーションもしくは通信者から与えられた要求条件に合致していない場合、前記要求条件に合致させるための通信フロー制御を行なう通信信号制御モジュールと、通信フロー経路上に配置または除去を実施するフロー制御を行なう通信信号制御モジュールの配置を行なう通信制御調整モジュールとの２種類のモジュールの集合により構成し、前記通信信号制御モジュールと前記通信制御調整モジュールとを、モジュールが格納されているネットワーク内のサーバ装置から、通信端末及び通信機器にネットワークを介してダウンロードして起動することにより、通信フローの制御を実現し、上記要求条件を満たす。したがって、通信信号制御モジュールを、通信端末だけではなく通信網内の通信機器を含む装置に配置し、動作させ、更に、通信信号制御モジュールを通信状態や環境の状況変化に応じて動的に変更することが可能となる。
【図面の簡単な説明】  図１は、本発明の実施形態による全体構成を示すブロック図である。
図２は、通信端末１、及び通信機器３の構成を比較したブロック図である。
図３は、本発明の第１実施形態による通信端末１，２における通信信号制御部１０，１１の構成を示すブロック図である。
図４は、通信機器３，４，５における通信信号制御部１２，１３，１４の構成を示すブロック図である。
図５は、通信制御調整部１５（１６，１７，１８）の構成を示すブロック図である。
図６は、通信制御調整モジュールと通信信号制御モジュールの配置例を説明するためのブロック図である。
図７及び図８は、本発明の第２実施形態による通信信号制御部の構成を示すブロック図である。
図９は、通信信号制御モジュール２１の構造を示す概念図である。
図１０は、データ構造２００を示す概念図である。
図１１は、アプリケーションインターフェース部２６の構成を示すブロック図である。
図１２は、送信フレーム処理部６００の構成を示すブロック図である。
図１３は、受信フレーム処理部７００の構成を示すブロック図である。
図１４は、フレーム付与処理を説明するための概念図である。
図１５は、本発明の第３実施形態によるモジュールを挿入する際の手順を示すシーケンス図である。
図１６は、本発明の第３実施形態によるモジュールを抜去する際の処理を示すシーケンス図である。
図１７は、本発明の第４実施形態によるモジュール挿入（ガードタイム方式）の処理を示すシーケンス図である。
図１８は、本発明の第５実施形態による送信カウンタ処理部の構成を示すブロック図である。
図１９は、本発明の第５実施形態による受信カウンタ処理部の構成を示すブロック図である。
図２０は、本発明の第５実施形態によるモジュール構成変更の手順を示すシーケンス図である。
図２１は、本発明の第６実施形態による送信デリミタ処理部の構成を示すブロック図である。
図２２は、本発明の第６実施形態による受信デリミタ処理部の構成を示すブロック図である。
図２３は、デリミタ動作を補足するための概念図である。
図２４は、本発明の第６実施形態によるモジュール構成変更の手順を示すシーケンス図である。
図２５〜図５２は、フレーム化方式によるモジュール挿入の動作例を示す概念図である。
図５３は、フレーム化方式でモジュールを挿入できる場所（その１）を説明するための概念図である。
図５４は、フレーム化方式でモジュールを挿入できる場所（その２）を説明するための概念図である。
【発明を実施するための最良の形態】  以下、図面を用いて本発明の実施の形態を説明する。
Ａ．第１の実施形態の構成
図１は、本発明の実施形態による全体構成を示すブロック図である。図１において、通信端末１，２及び通信機器３，４，５により、対向する通信端末１，２において動作しているアプリケーション間に通信フローが形成される。通信フローは、アプリケーションが送受信する通信信号が伝達される経路を論理的に示したものであり、例えばＩＰ網により実現される。
通信端末１，２及び通信機器３には、各々、通信信号制御部１０，１１，１２，１３，１４と通信制御調整部１５，１６，１７とが含まれる。ただし、図中の通信網管理装置６のように、通信制御調整部１８のみが含まれる装置、あるいは通信信号制御部１３，１４のみが含まれる通信機器４，５があっても構わない。
通信フローを構成する全ての通信機器、通信端末が本発明の構成を持つ必要は必ずしもない。仮に途中に本発明の構成をとらない装置が経由していても、本発明は部分的に機能することが可能である。
アプリケーションＡＰが送出する通信信号は、通信信号制御部１０，１１に渡され、その後、通信信号制御部１０，１１内の通信信号制御モジュール２１に渡される。通信信号制御モジュール２１は、通信信号を入力とし、入力された信号に制御もしくは観測処理を行ない、処理後の信号を次に配置された通信信号制御モジュールに受け渡すか、もしくは該モジュールが装置内で最後のモジュールであった場合、ネットワークに対して送出する。
通信信号制御モジュール２１の例としては、暗号化、圧縮、通信品質制御、シェーピング（情報流の平滑化）、ポリシング（情報流の一定帯域化）、同期制御、フィルタリング、映像符号化・変換が挙げられる。
中継の通信機器３，４，５においては、ネットワークから制御対象となる通信フローの通信信号を選択的に抽出し、その通信信号を上記と同様に通信信号制御部１２，１３，１４内の通信信号制御モジュール２１に経由させることにより、通信信号の制御を実施する。
一方、通信制御調整部１５、１６、１７、１８は、通信フローの経路上に、通信信号制御モジュール２１を配置する機能を持つ。通信制御調整部１５、１６、１７、１８に含まれる通信制御調整モジュール５１は、通信者からの要求条件、もしくは使用しているアプリケーションの種別の条件に応じて、その通信フローの制御に使用する通信信号制御モジュール２１の選択と、それらのモジュールの実行位置を決定する機能を有する。
通信信号制御モジュール２１の実行位置は、状況に応じて選択することが可能である。例えば、携帯端末に代表されるように、通信端末の計算能力が、所望の通信信号制御モジュールの実行には不十分であることを、通信制御調整モジュール５１が判断または検出した場合、該通信信号制御モジュール２１の実行を、通信端末の前段の通信機器において、通信端末に代行して実行させることが可能である。
通信制御調整部１５，１６，１７，１８及び通信制御調整モジュール５１は、通信フローの経路上の複数の装置上に分散的に実行することができ、分散されたモジュール間は、互いに通信することができる。例えば、通信網内の通信品質計測を行なう通信信号制御モジュール２１を管理する通信制御調整モジュール５１が、その品質情報を、通信端末１，２で動作する通信制御調整モジュールに伝えて、その結果を元に通信信号の圧縮処理などを行なうことが考えられる。
一方では、上記のように通信制御調整部１５，１６，１７，１８が複数の装置に分散して動作するのではなく、単一の装置において集中的に動作することも可能である。
通信制御調整モジュール５１は、通信信号制御モジュール２１と同様、その組み合わせが動的に変化することができる。通信制御調整部１５，１６，１７，１８及び通信信号制御部１０，１１，１２，１３，１４は、アプリケーションが通信を行なうのに先立って、それらが動作する機器に導入されている。一方、それらの内部で動作する通信信号制御モジュール２１及び通信制御調整モジュール５１は、アプリケーションの起動とは独立にそれらのダウンロード及び起動ができる。つまり、アプリケーションに先立って全てのモジュールを事前に配置する方法、アプリケーション及びその通信が確立後適宜モジュールを配置する方法、及び通信途中にモジュール構成を変更すること等がいずれも可能である。
このようにして、通信フローの経路上に、動的に通信信号制御モジュール５１を配置する構成となり、通信フローの制御が自由度高く行なうことができる。
図２は、通信端末１及び通信機器３の構成を比較したブロック図である。通信端末１及び通信機器３において、通信制御調整部１５，１７の構成には相違は無い。通信信号制御部１０，１２には、少々相違があり、通信端末１では通信フローの通信信号を、一方ではアプリケーションと送受を行ない、他方ではネットワークと送受を行なう構成となる。通信機器３では、通信機器に到着する通信信号の中から、通信制御調整部１７により制御を施す通信フローのみを選択抽出し、それを通信信号制御部１２に入力し、その結果を再度通信網３１に送出する。
通信信号制御部１０，１２内の構成上の相違は僅かであるため、主に通信端末１の構成を持って実施例を説明するが、同様の構成が通信機器３においても適用できる。
図中の通信網３１は、通信端末１及び通信機器３間において、信号を転送する機能を有し、例えばインターネットで使われているＩＰ網が例として挙げられる。通信信号制御部１０，１２と通信網３１との境界におけるデータの受け渡し形態（すなわちプロトコルレイヤ）は、用いる通信網及び搭載される機器のＯＳが提供するインターフェースによって異なる。代表的な形態はソケット抽象によって定義する方法である。
通信制御調整部１５，１７及び両通信信号制御部１０，１２とモジュールサーバ間は、各装置間が何らかの方法（例えばインターネット）を用いて通信が可能であることを前提としている。
図３は、通信端末１，２における通信信号制御部１０，１１の構成を示すブロック図であって、本発明の第１実施形態を示す。図３において、通信信号制御部１０（１１）は、通信信号制御モジュール挿入部２０、通信信号制御モジュール２１、通信信号制御モジュール列管理部２２、通信信号制御モジュール挿抜制御部２３、通信信号制御モジュールダウンロード部２４、モジュール制御インターフェース部２５、アプリケーションインターフェース部２６、通信網インターフェース部２７により構成される。
アプリケーションインターフェース部２６は、通信信号をアプリケーション３０との間で送受する機能を有し、アプリケーションから受け取った通信信号を通信信号制御モジュール挿入部２０内における最初の通信信号制御モジュール２１に受け渡す。一方、反対向きの通信フローに関して、最後段の通信信号制御モジュール２１で処理が完了した通信信号をアプリケーション３０に渡す。
通信信号制御モジュール挿入部２０は、通信信号制御モジュール２１を配置することが可能な機能部であり、この中に、双方向の通信フローに関して２本の反対向きの方向に、通信信号制御モジュール２１の連鎖を構成する。例えば、通信開始時の場合のように通信信号制御モジュール２１が無い場合、アプリケーションインターフェース部２６からの通信信号を、直接、通信網インターフェース部２７へ、反対に通信網インターフェース部２７からの通信信号を、直接、アプリケーションインターフェース部２６へ渡す。
通信信号制御モジュール２１は、上記の通り情報流を入力として、その情報流を制御または観測処理を施し、上記連鎖上の次の通信信号制御モジュール２１もしくは、最後段のモジュール２１の場合、通信網インターフェース部２７に処理の終了した通信信号を送出する。
通信網インターフェース部２７は、通信信号制御モジュール２１において処理の完了した通信信号を受け取り、それを通信網３１に送出する。反対方向の該通信端末が受け取る通信信号方向に関しては、通信網３１から受信する通信信号を通信信号制御モジュール２１に送信する。
通信信号制御モジュール列管理部２２は、通信信号制御モジュール挿入部２０内に、２本の連鎖状に構成された通信信号制御モジュール２１のモジュール名と、それらの連鎖接続状態を情報として常に保持する。
モジュール制御インターフェース部２５は、通信制御調整部１５との通信を行なう機能を有し、通信制御調整部１５（１６）から要求される通信信号制御モジュール２１の構成変更（例えば、新たな通信信号制御モジュールの起動）の受付、及び結果等の報告を行なう。
通信信号制御モジュールダウンロード部２４は、モジュール制御インターフェース部２５を介して指示されることによって新たに起動する必要が生じた通信信号制御モジュール２１を、ネットワークを介してモジュールサーバ３２からダウンロードして起動する。
通信信号制御モジュール挿抜制御部２３は、モジュール制御インターフェース部２５を介して命令を受け付けた通信信号制御モジュール２１の構成変更を実施する。新たなモジュールを追加する場合、追加するモジュール名とモジュール連鎖における位置の指定を受け、通信信号制御モジュール挿抜制御部２３は、指定モジュールを通信信号制御モジュールダウンロード部２４より取り出し、通信信号制御モジュール挿入部２０に指定し、その通信信号制御モジュール２１を所定の位置に挿入する。一方、通信信号制御モジュール２１を抜去する場合、通信信号制御モジュール挿入部２０内から指定の通信信号制御モジュール２１を抜き去り、通信信号制御モジュール挿入部２０では、抜去したモジュールの前段、後段を新たに接続して連鎖を維持する。
モジュールサーバ３２は、周知のＷｅｂサーバや、ＦＴＰサーバ、ＬＤＡＰサーバ、ＷｅｂＤＡＶサーバを用いて実現される。
図４は、通信機器３，４，５における通信信号制御部１２，１３，１４の構成を示すブロック図である。上記通信端末１（２）の構成と異なるのは、通信フロー選択部４０のみである。通信フロー選択部４０は、通信機器が受信した通信信号から、この機器で通信信号制御モジュール２１により制御を施す通信フローに属する通信信号のみを選択し、その通信信号を通信信号制御モジュール２１の最上段に渡す。処理を行なわない通信信号に関しては通信網３１に再び送信する。
処理を行なう通信信号は、上記の通信端末１（２）での説明と同様に、通信信号制御モジュール２１の連鎖によって処理を受け、通信網インターフェース部２７を介して処理された後の通信情報が再び通信網３１に送信される。
この図では、通信フローの流れが通信端末１（２）とは異なり、対称形であるため、通信信号の流れは一方向で記述してある。
図５は、通信制御調整部１５（１６，１７，１８）の構成を示すブロック図である。図において、通信制御調整部１５（１６，１７，１８）は、通信制御調整モジュール挿入部５０、通信制御調整モジュール５１、通信制御調整モジュール管理部５２、通信制御調整モジュール制御部５３、通信制御調整モジュールダウンロード部５４、通信制御調整モジュール制御インターフェース部５６から構成される。
通信制御調整モジュール挿入部５０は、通信制御調整モジュール５１を挿入する機能部である。通信制御調整モジュール５１は、通信フローに対する（例えば品質の）要求条件に合致するように、通信信号制御モジュールの選択及び配置を行なうためのアルゴリズムを有する。通信制御調整モジュール５１は、このアルゴリズムに従って、通信制御調整モジュールがコンソール上に提示するＧＵＩや設定ファイルなどによって通信者から与えられた、もしくは通信制御調整モジュールがアプリケーションと通信することによってアプリケーションから与えられた、もしくはモジュール内に包含されるアルゴリズムによって算出した（＊１）、通信フローについての要求条件（例えば、通信帯域、遅延、通信情報秘匿の必要性）に基づき、通信フローに関する情報を監視する（例えば、通信網管理システムを介して、または通信端末内からその状態情報を入手して）。フローの状態が要求条件に合致していない場合、通信制御調整モジュール５１は、要求に合致する手段を判断し（＊２）、その手段を実現する通信フロー制御を行なう通信信号制御モジュールを、通信フロー経路上に配置または除去を実施する。
（＊１）算出するアルゴリズムの例
例えば、通信を行なうアプリケーションがＴＶ会議アプリケーション（例えば、Ｎｅｔ  ｍｅｅｔｉｎｇ）の場合、その快適な利用に必要な通信帯域、遅延の要求条件は通信制御調整モジュール内のアルゴリズム（知識、情報）によって算出できる。
（＊２）要求に合致する手段の判断例
例えば、５００ｋｂｐｓの通信帯域が必要な動画映像伝送アプリケーションにおいて、通信網部分の輻輳により情報損失（パケットロス）が発生し、映像が乱れている場合、パケットの優先度を高く設定する通信信号制御モジュールを送信側通信端末内に挿入する判断ができる。パケットの優先度を高くする方法は、網側の方式に関連しているため、複数の方法が有り得るが、１つの典型的な方法はパケット（例えば、ＩＰ）のヘッダ内の優先度識別フィールドによって指定する方法である。
通信制御調整モジュール５１は、必要に応じて通信制御調整モジュール制御インターフェース部５６を介して他の機器で動作している通信制御調整モジュールと通信を行ない、例えば観測した通信フロー状態の結果を通知することができる。また、通信制御調整モジュール５１は、状況に応じて（＊３）、別の通信制御調整モジュールを、自機器もしくは異なる機器上で動作させる。反対に不要な通信制御調整モジュールの消去も行なう。
（＊３）別の通信制御調整モジュールを動作させる例
例えば、通信制御調整モジュールは、通信帯域の使用率や端末のＣＰＵ負荷などのネットワークや端末の状況と通信制御調整モジュールの識別子とを対応づけた表を内包する。通信制御調整モジュールは、逐次、観測された状況とこの対応表を比較する。観測された状況が対応表における状況を満たした場合、その状況に対応する通信制御調整モジュールを起動させる。
また、通信制御調整モジュールがユーザアプリケーションからのコマンドを受け付けるためのポートを開いておき、そのコマンドが含む通信制御調整モジュールの指定に基づいて、通信制御調整モジュールを新たに動作させる方法もある。
通信制御調整モジュール管理部５２は、その機器内で動作している通信制御調整モジュール５１の名前を管理する。通信制御調整モジュールダウンロード部５４は、通信制御調整モジュール制御インターフェース部５６を介して指示されることによって新たに起動する必要が生じた通信制御調整モジュール５１を、ネットワークを介してモジュールサーバ３２からダウンロードし起動する。
通信制御調整モジュール制御インターフェース部５６は、通信制御調整モジュール５１が他の機器上の動作する通信制御調整モジュールとの間で行なう通信の提供と、通信信号制御部１２（１３，１４）との間の通信を提供する。通信制御調整モジュール制御部５３は、通信制御調整モジュール５１からの要求、もしくはその他の要求に基づいて、該機器において指定の通信制御調整部を新たに起動する、もしくは指定の通信制御調整モジュールの消去を実行する。
通信制御調整モジュール５１及び通信信号制御モジュール２１の「配置法」について説明する。上述したように、通信制御調整モジュール５１及び通信信号制御モジュール２１は、通信の経路上に配置されて動作する。
通信制御調整モジュール５１の典型的な配置手順の例としては、最初に何らかの方法により起動された（例えば起動専用のアプリケーションによって通信者が起動する方法や、制御対象のアプリケーションが利用開始されたことを検出しそれに適合するモジュールを起動するアプリケーションによるものが考えられる）１つの通信制御調整モジュール５１が、同時に動作が必要な通信制御調整モジュール５１と、その起動場所を決定し、通信制御調整モジュール制御インターフェース部５６を介して、起動先の通信制御調整部１５（１６，１７，１８）に命令し、所望の通信制御調整モジュール５１をダウンロードして起動する。新たに起動された通信制御調整モジュール５１が更に新たな通信制御調整モジュール５１を起動することもある。このように最初に起動された通信制御調整モジュール５１から連鎖的に通信制御調整モジュール５１を通信経路上に起動させる方法が１つの起動例である。
通信信号制御モジュール２１の配置手順の例としては、上述した通り、通信経路上に起動された通信制御調整モジュール５１が配置する通信信号制御モジュール２１をその配置位置を決定し、モジュール制御インターフェース部を介して所望の通信信号制御モジュールをダウンロードして起動する。
図６は、通信制御調整モジュールと通信信号制御モジュールの配置例を説明するためのブロック図である。図示の例では、通信端末Ａと通信端末Ｂとが途中に通信機器Ｃを介して通信している構成である。上記の方法によって通信制御調整モジュールａが通信端末Ａに起動される。
通信制御調整モジュールａは、この通信に秘匿性の必要を判断し、暗号化を行なう通信信号制御モジュールの使用を決定する。秘匿必要性の判断手段としては、例えば通信対地である通信端末Ｂが接続するネットワークのアドレスとそのネットワークに接続する場合に信頼できないネットワーク区間を通過するか否かを通信制御調整モジュールａ内にデータとして保有することにより判断できる。
通信制御調整モジュールａは、暗号の復号化を実行する場所として通信端末Ｂを判断し、通信端末Ｂ内に復号化を調整する通信制御調整モジュールｂの起動を命令し起動する。復号化の実行場所の判断方法としては、例えば本例の暗号化は、より端末に近い部分間で暗号化を行なうことが効果的であることは自明であり、その旨通信制御調整モジュールａが判断できる。
通信制御調整モジュールａは、通信端末Ａ内に暗号化を行なう通信信号制御モジュールｉを、また、通信制御調整モジュールｂは、通信端末Ｂ内に暗号化を行なう通信信号制御モジュールｊをそれぞれ起動し、この時点で通信端末Ａ−Ｂ間の情報の暗号化が実行される。
例えば通信制御調整モジュールａ、ｂが、通信端末Ｂにおける複合処理が適切でないと判断した場合（例えば通信端末Ｂが携帯機器であり、計算能力が比較的小さい場合）、通信制御調整モジュールａ、ｂは、復号化実行の代替場所として通信機器Ｃを選択するかもしれない。この場合は、通信機器Ｃ内に復号化を実行する通信信号制御モジュールｋが起動され使用される。このように状況に応じてモジュールの配置を決定するために、アルゴリズムは、通信制御調整モジュール内に包含されている。
上記の状況において通信網の輻輳が発生し、通信端末Ａ−Ｂ間の通信帯域が低下した場合、更に上記構成に加えて「圧縮」を行なう通信信号制御モジュールを加えることを通信制御調整モジュールが判断するかもしれない。通信網の輻輳発生は、例えば通信端末Ｂにおいて、通信制御調整モジュールが通信端末内の通信品質を示すデータを参照することによる、もしくは通信品質を測定する通信信号制御モジュールを予め挿入しておくことにより検出できる。
この場合、通信制御調整モジュールｄ、ｅは、圧縮・伸張を行なう通信信号制御モジュールｌ、ｍをそれぞれ起動し、通信信号の圧縮を行なう。この際、注意すべき点は、既に使用されている通信信号制御モジュール（例では暗号化・復号化を行なう通信信号制御モジュールｉ、ｊ）と新たに起動する通信信号制御モジュールとの間で、通信フローに配置する「順序」に相関がある場合があることである。
例えば、圧縮（ｌ）→暗号化（ｉ）→復号化（ｊ）→伸張（ｍ）となっており、正常に動作するが、仮に、圧縮（ｌ）→暗号化（ｉ）→伸張（ｍ）→復号化（ｊ）の配置にしてしまうと、伸張（ｍ）のところで、暗号化された通信信号を伸張できないという問題が起こる。このように、通信信号制御モジュールには、配置順序に相関関係がある物が存在し、この相関について適切に配置するための情報が通信制御調整モジュールに含まれている。
Ｂ．第２実施形態
本発明の第２実施形態について説明する。図７は、第２実施形態による通信信号制御部の構成を示すブロック図であり、図８は、第２実施形態による通信制御調整部の構成を示すブロック図である。
前述した第１実施形態と異なるのは、モジュールサーバ３２からダウンロードしたモジュールを検査することなく実行しているのに対し、本第２実施形態では、通信機器１０（１６）に、モジュールの起動可否を検証する、通信信号制御モジュール検証部６０および通信制御調整モジュール検証部６２を設けた点にある。
本第２実施形態による構成が利用される前提として、通信信号制御モジュールおよび通信制御調整モジュールは、モジュール内にディジタル署名を含むものとし、更に、ディジタル署名は、モジュール改ざんの検出、モジュール作成者の同定（例えば公開鍵証明書）を含むものとする。
通信信号制御モジュール検証部６０、および通信制御調整モジュール検証部６２では、起動が要求されダウンロードしたモジュールに対して、モジュールが内包している該ディジタル署名を検証し、作成者の同定、及びモジュールの改ざんが無いことが検証されたモジュールのみを動作させる。検証されないモジュールに関しては、廃棄、もしくはコンソール部６１，６３を介して検証情報を管理者に提示し、その情報に基づき管理者が実行の可否を判断し、その結果を、コンソール部６１，６３を介して入力することにより、実行もしくは廃棄が行なわれる。
この機能によって、信頼性の低いモジュールもしくは何者かに改ざんを施されたモジュール、起動に危険のあるモジュールを起動することを防止することができる。
Ｃ．第３〜第６実施形態での共通事項の説明Ｃ−１．排出要求
排出要求は、データ構造の形で通信信号制御モジュールに渡される。
データ構造の中の排出フラグ領域に「１」がかかれているものである。
Ｃ−２．通信信号制御モジュールの説明
通信信号制御モジュール２１は、図９に示す構造を有している。データ受付部１０１でデータ構造２００を受け取ると、先入れ先出しバッファであるデータ蓄積部１０２にデータ構造２００を蓄積する。演算部１０３は、マルチスレッドプログラムとして構成されており、他の通信信号制御モジュールや、通信アプリケーションと並行して動作が可能である。演算部１０３は、データ蓄積部１０２に蓄積されたデータ構造２００を受け取り、プロトコル演算処理を行なった後、接続されている次の通信信号制御モジュールのデータ受付部１０１に渡す。排出要求を受け取った場合には、直ちにデータ蓄積部１０２に蓄積されているデータを処理した後、受け取った排出要求をそのまま、次の通信信号制御モジュールに渡すよう作成される。
Ｃ−３．通信網インターフェース部の説明
通信網インターフェース部２７は、隣接している通信信号制御モジュールより送られてきた、図１０に示すデータ構造２００の内部から、通信データ領域に保持されているデータを通信網に送り出す機能を持っている。通信網よりデータが送られてきた場合は逆にデータ構造２００の通信データ領域部２０１に上記データを割り付け、排出フラグ領域２０３および排出番号領域２０４には「０」を書き込む。通信の終了を検知したときは、通信終了フラグ領域２０２に「１」を、そうでないときには「０」を書き込み、隣接している通信信号制御モジュールに送る機能を有する。
Ｃ−４．排出要求送出処理
排出要求送出処理は、後述するいくつかの処理部で実行できる機能であるため、ここでまとめて記述する。排出要求送出処理を実行できる処理部は、アプリケーションインターフェース部２６、受信フレーム処理部７００（後述）、受信カウンタ処理部９００（後述）、受信デリミタ処理部９４０（後述）である。
以下に、排出要求送出処理の手順について説明する。
（Ｓ１）データ構造２００を作成し、そのデータ構造中の排出番号領域２０４に図１１に示す送信排出番号管理部５０５に書かれている数値を書き込み、排出フラグ領域２０３に「１」を書き込む。
（Ｓ２）このデータ構造２００を接続されている通信信号制御モジュールへ渡す。
（Ｓ３）その後、図１１に示す送信排出番号管理部５０５に書かれている値を、「１」大きな値に書き換える。
（Ｓ４）要求元にＳ１の手順で書き込んだ数値を返す。
Ｃ−５．待ち命令
待ち命令は、後述するいくつかの処理部で実行できる機能であるため、ここでまとめて記述する。待ち命令を実行できる処理部は、アプリケーションインターフェース部２６、送信フレーム処理部６００（後述）、送信カウンタ処理部８００（後述）、送信デリミタ処理部９２０（後述）である。
待ち命令には、１つの整数値パラメータが伴って、図１２に示すコマンド受付部６０５に伝えられる。コマンド受付部が待ち命令を受け取ると、図１２に示す受信排出番号管理部６０６で保持されている値がパラメータと同じ値となるまで「待ち命令」の応答を返さない。待ち命令の応答を返すことで、「到着通知」を行うことができる。
当該の処理部が、「整数値パラメータで指定されたと同じ値が排出番号領域に書き込まれたデータ構造」に対する処理を行ったことを意味する。
Ｃ−６．アプリケーションインターフェース部
アプリケーションインターフェース部２６は、通信アプリケーション３０からデータを受け取ると、図１１に示す送信処理部５０１で処理が行われる。データ構造２００中の通信データ領域２０１に割り付け、通信終了フラグ領域２０２、排出フラグ領域２０３、排出番号領域２０４に「０」を書き込み、通信信号制御モジュール１２へ渡す。アプリケーション３０から通信終了を告げられると、送信処理部５０１にて通信終了フラグ領域２０２に「１」を書き込んだデータ構造２００を作成し、通信信号制御モジュール２１に渡す。
逆に、通信信号制御モジュール２１から、データ構造２００を受け取ると、処理は、図１１に示す受信処理部５０２で行われる。データ構造２００中の通信データ領域２０１のデータをアプリケーション３０に渡す。データ構造２００の排出フラグ領域２０３が「１」であった場合には、排出番号を取得し、図１１に示す受信排出番号管理部５０３へ書き込みを行う。通信終了フラグ領域２０２に「１」が書き込まれたデータ構造２００を受け取った場合には、アプリケーション３０に通信終了を通知する。
アプリケーションインターフェース部２６のコマンド受付部５０４にて、「停止および排出実行要求」、「処理再開要求」、「待ち命令」を受け付ける。「停止および排出実行要求」を受け取ると、送信処理部５０１は、上述した動作を、処理再開要求を受け取るまで停止する。
前述した排出要求送出処理を行なう。
「処理再開要求」を受け取ると、上記の停止および排出実行要求で停止していた送信処理部５０１の動作を再開する。
「待ち命令」を受け付けると、前記の待ち命令の処理を行う。
Ｄ．第３実施形態
本発明の第３実施形態について説明する。
本第３実施形態では、図１２に示す送信フレーム処理部６００が、フローを送信する側の端末において、データの流れからみて通信網インターフェース部２７の以前に配置され、図１３に示す受信フレーム処理部７００が、フローを受信する側の端末において、データの流れからみて通信網インターフェース部２７の以前に挿入される。これにより、送信側端末のアプリケーションインターフェース部２６と送信フレーム処理部６００との間、および受信側端末のアプリケーションインターフェース部２６と受信フレーム処理部７００との間に、新たな通信信号制御モジュールを追加することができるようになる。
図２５〜５２では、挿入することのできる範囲が最大にできるように送信フレーム処理部６００、受信フレーム処理部７００は、最下段に挿入されている。送信フレーム処理部６００、受信フレーム処理部７００は、通常、１つずつ挿入されるが、２個以上挿入されていても正しく動作する。
Ｄ−１．チェイン番号の説明
チェイン番号は、送信側チェインの構成のバージョンのようなもので、送信側チェインの構成が変わるたびに１ずつ増えていく番号である。この番号は、送信フレーム処理部のチェイン番号管理部６０４で管理されている。
送信フレーム処理部が配置されたときに、「０」が付与される。
Ｄ−２．送信フレーム処理部６００の説明
送信フレーム処理部６００は、通信信号制御モジュール２１の一種で、演算部１０３において、図１４に示すフレーム付与処理を行なうものであり、図１２に示す構成を有する。送信フレーム処理部６００は、データ蓄積部６０２よりデータ構造２００を受け取り、その中に含まれている通信データ４００をフレーム化された通信データ４０１の通信データ４０４部分に割り付ける。通信データ４０４の長さを、データ長４０３に書き込む。演算部６０３は、チェイン番号管理部６０４で保持しているチェイン番号を取得し、チェイン番号４０２部分に書き込みを行なう。このようにして、フレーム化された通信データを作成し、データ構造２００に設定した後、次の処理部へ渡す。演算部６０３は、データ構造２００において、排出フラグ領域２０３が「１」となっているものを処理すると、排出番号領域２０４の番号を受信排出番号管理部６０６に通知し、最新の排出番号を保持する機能を有する。
コマンド受付部６０５において、「待ち命令」を受け付ける。
「待ち命令」を受け付けると、前記の「待ち命令」の処理を行なう。
Ｄ−３．受信フレーム処理部
受信フレーム処理部７００は、通信信号制御モジュール２１の一種で、演算部１０３において、図１４に示すフレーム除去処理を行なうものであり、図１３に示す構成を有する。受信フレーム処理部７００は、データ蓄積部７０２よりデータ構造２００を受け取り、その中に含まれている通信データ４０４をフレーム化された通信データ４０１の通信データ４０４部分に割り付ける。通信データ４０４の長さを、データ長４０３部分に書き込む。演算部７０３は、チェイン番号管理部７０４で保持しているチェイン番号を取得し、チェイン番号４０２部分に書き込みを行なう。このようにして、フレーム化された通信データを作成し、データ構造２００に設定した後、次の処理部へ渡す。
演算部７０３は、データ構造２００において、排出フラグ領域２０３が「１」となっているものを処理すると、排出番号領域２０４の番号を受信排出番号管理部７０６に通知し最新の排出番号を保持する機能を有する。
演算部７０３は、フレーム除去処理の過程でチェイン番号４０２が現在のチェイン番号と異なる値であった場合には、演算部７０３の処理を停止し、排出実行を行なう機能を有する。
コマンド受付部７０５において  「待ち命令」、「処理再開要求」を受け付ける。そして、「待ち命令」を受け付けると、前記の「待ち命令」の処理を行なう。また、「処理再開要求」を受け付けると、演算部７０３の動作を再開する。
Ｄ−４．ＴＣＰのデータ境界検出と２次データ蓄積部
ＴＣＰ／ＩＰのように、パケットロスがなく、通信データの順序が保障されるが、アプリケーションが書き込んだ境界の失われるプロトコルを下位のレイヤで使っていた場合には、受信側には、図１４に示すフレーム化された通信データ４０１の全体の単位で届けられる保障はなく、フレーム化された通信データ４０１の前の部分が届く場合もある。このような状況では、フレーム除去処理を行うことができないため、受信フレーム処理部７００において、演算処理部７０３は、二次データ蓄積部７０７にデータを一旦蓄積し、フレーム化された通信データ４０１の全体が到着した後、フレーム除去処理を行なう。
Ｄ−５．ＵＤＰの順序逆転による、チェイン構成変更後にチェイン構成変更前に処理すべきであったパケットが届く場合の処理
ＵＤＰ／ＩＰのような、パケットロスが存在し、パケット到着順序も保証されないプロトコルを下位レイヤで使っていた場合には、チェイン構成変更後に、チェイン構成変更前に処理すべきであったパケットが到着する可能性がある。このような現象が発生したことは、上記フレーム中のチェイン番号と、受信フレーム処理部７００のチェイン番号管理部７０４で最後に受信されたチェイン番号４０２を比較することで検出できる。
正常なパケット順序で受信できている場合には、受信したフレームに付与されているチェイン番号４０２は、受信フレーム処理部７００のチェイン番号管理部７０４で管理されている番号と同じか、大きい。この条件が満たされなかった場合には、パケットの順序が入れ替わったことが分かる。
フレームのチェイン番号４０２は、有限ビット数（ｎ）で構成されているため、最大値（ｍ＝２＾ｎ−１）に達した後、「０」に戻る。この点を考慮して、閾値ｋ（１＜ｋ＜ｍ）を導入し、受信したフレームに付与されているチェイン番号４０２は、受信フレーム処理部７００のチェイン番号管理部７０４で管理されている番号よりも小さかったとしても、ｋ以上小さければ、正常な到着順であったと判定することで、チェイン番号４０２の桁あふれにも対応できる。
パケット順序逆転の現象がチェイン構成変更のタイミングをはさんで発生した場合には、受信フレーム処理部において受信したパケットを廃棄する。ＵＤＰ／ＩＰのアプリケーションは、ネットワーク中でのパケット廃棄を前提に記述されているので、このような廃棄を行っても、アプリケーションの動作に影響を与えない。なお、ＵＤＰ順序逆転の検出、処理に関係するのは受信フレーム処理部のみで、他の部分は動作に関係しない。
Ｄ−６．切り替えの手順Ｄ−６−１．モジュール挿入
図１５は、モジュールを挿入する際の手順を示すシーケンス図である。また、図２５ないし図５２は、フレーム化方式によるモジュール挿入の動作例を示す概念図である。また、図５３および図５４は、フレーム化方式でモジュールを挿入できる場所（その１、その２）を説明するための概念図である。
まず、通信制御調整部１５は、通信信号制御部１０に対してチェイン番号取得要求を出す（Ｓ７０１、図２５、図２６を参照）。この要求を受けると、通信信号制御部（のモジュール制御インターフェース部２５）１０は、送信フレーム処理部６００に対してチェイン番号取得要求を出す（Ｓ７０２、図２６を参照）。
この要求が送信フレーム処理部６００のコマンド受付部６０５で処理され、チェイン番号管理部６０４で管理されている番号を通信信号制御部１０に返す。通信信号制御部１０は、その値を通信制御調整部１５に対して返す。
次に、通信制御調整部１５は、受信側の通信信号制御部（のモジュール制御インターフェース部２５）１０に対し、「受信側モードの挿入準備」要求を送る（Ｓ７０３、図２７を参照）。この要求には、モジュール識別子、０個以上の初期化パラメータが含まれている。初期化パラメータは、モジュールのインスタンス化をする際に使われ、通信信号制御モジュール２１の演算部の振る舞いを変更するためのものである。通信信号制御モジュール２１の種類によって初期化パラメータの種類は異なるし、初期化パラメータを取らない通信信号制御モジュール２１も存在する。
この要求を受けた、受信側の通信信号制御部１０のモジュール制御インターフェース部２５は次の動作を行なう。通信信号制御モジュールダウンロード部２４において、ネットワークを介して、モジュールサーバ３２より、モジュールをダウンロードする。
通信信号制御モジュール検証部６０にて、モジュールに内包されているディジタル署名を検証し、安全性を確認する。安全性を確認できない場合は処理を中断する（ディジタル署名の確認を行う場合のみ）。
続いて、モジュールのインスタンス化を行ない、通信信号制御モジュール２１を実体化する（手順Ｅ）。
通信信号制御部１０は、受信フレーム処理部７００に「変更待ち状態設定」を行なう（Ｓ７０４、図２７を参照）。
通信制御調整部１５は、通信信号制御部１０に対して「送信側モードの挿入要求」を送る（Ｓ７０５、図２８を参照）。
この要求を受けた、受信側の通信信号制御部１１のモジュール制御インターフェース部２５は次の動作を行なう。通信信号制御モジュールダウンロード部２４において、ネットワークを介して、モジュールサーバ３２よりモジュールをダウンロードする。その後、通信信号制御モジュール検証部６０において、モジュールに内包されているディジタル署名を検証し、安全性を確認する。安全性を確認できない場合は処理を中断する（第２実施形態の場合のみ）。モジュールのインスタンス化を行ない、通信信号制御モジュール２１を実体化する（手順Ａ）。
通信信号制御部１０は、アプリケーションインターフェース部２６に対して「停止及び排出実行要求」を送る（Ｓ７０６、図２８、図２９を参照）。この要求に伴い、アプリケーションインターフェース部２６は、データの処理を一時停止し（手順Ｂ）、前述した排出要求送出処理を行なう。
通信信号制御部１０は、送信フレーム処理部６００に「待ち命令」を送る（Ｓ７０７、図３０、図３１を参照）。ここで、上記アプリケーションインターフェース部２６から戻された「排出番号管理部の数値」を渡す。
送信フレーム処理部６００は、渡された排出番号管理部６０６の数字を、排出番号管理部６０６に持つデータ構造２００を処理した段階で、通信信号制御部１０に対してタイミングを通知する（Ｓ７１５、図３２を参照）。この段階で、アプリケーションインターフェース部２６と送信フレーム処理部６００との間には処理中のデータ構造２００は存在しないことが担保される。
通信信号制御部１０は、上記手順Ａで作った通信信号制御モジュール２１を送信モジュールの列に組み込む（図３３を参照）。アプリケーションインターフェース部２６と送信フレーム処理部６００との間には、処理中のデータ構造２００は存在しないことが担保されているため、組換え中に送信側の通信信号制御モジュールがデータを処理することはない。
続いて、通信信号制御部１０は、送信フレーム処理部６００に対し、チェイン番号を「１」増やすことを要求する（Ｓ７０８、図３４を参照）。これは送信側のチェイン構成が変化したことをデータ上で示すためである。
ここで、次に示す手順の一つを実行することも可能である。これらの手順を実行することで、たまにしかデータを送出しないアプリケーションにおいて、モジュール挿入の手順を迅速に完了することが可能である。
送信フレーム処理部にデータが指定した時間到着しない場合は、送信フレーム処理部は０バイトのデータにフレーム付与処理を行い、通信信号制御モジュールに渡す。
送信フレーム処理部はただちに０バイトのデータにフレーム付与処理を行い、通信信号制御モジュールに渡す。
通信信号制御部１０は、アプリケーションインターフェース部２６に対し、処理再開要求を送る（Ｓ７０９、図３５を参照）。これに伴いアプリケーションインターフェース部２６は、上記手順Ｂで、停止していたデータ処理を再開する。その後、データが処理され始めると、送信フレーム処理部６００に届いたデータには新しいチェイン番号が書き込まれることとなる。
Ｓ７１０において、受信側の受信フレーム処理部７００にこの新規チェイン番号を伴ったデータが届くと、受信フレーム処理部７００は、自分自身のデータ処理を一旦停止し、排出要求送出処理（前述）を行なう（手順Ｃ、図３６〜図４２を参照）。
受信フレーム処理部７００は、通信信号制御部１１に到着通知を行なう（Ｓ７１１、図４３、図４４を参照）。このとき、手順Ｃの際に送出したデータ構造の、排出番号も渡す（手順Ｄ）。この到着通知に基づき、通信信号制御部１１は、アプリケーションインターフェース部２６に対し、待ち命令を出す（Ｓ７１２、図４５、図４６を参照）。このとき、手順Ｄで受け取った排出番号も渡す。アプリケーション部２６は、伝えられた排出番号をもつ、データ構造２００を処理すると、通信信号制御部１１に対し、到着通知を行なう（Ｓ７１３、図４７を参照）。
この時点で、受信側端末の受信側の受信フレーム処理部７００とアプリケーションインターフェース部２６との間の通信信号制御モジュールには、処理中のデータ構造２００は存在しないことが担保される。
通信信号制御部１１は、手順Ｅでインスタンス化した通信信号制御モジュールを、Ｓ７０３で指定された、受信側の通信信号制御モジュール列の場所に挿入する（図４８を参照）。その後、通信信号制御部は、受信フレーム処理部７００に処理再開要求を送り、通信を再開する（Ｓ７１４、図４９〜図５２を参照）。以上で、モジュール挿入の手順は完了する。
Ｄ−６−２．モジュール抜去
図１６は、モジュールを抜去する際の処理を示すシーケンス図である。
図１６に示すＳ８０１〜Ｓ８１４は、図１５に示すＳ７０１〜Ｓ７１４と同様であるので、説明を省略する。違いは、受信側、送信側の双方で、ダウンロード、ディジタル署名確認、インスタンス化の過程がない点と、図１５におけるモジュール挿入が、図１６のモジュール削除になっている点である。
Ｓ８０８の手順の次に、下記の手順の一つを実行することも可能である。これらの手順を実行することで、たまにしかデータを送出しないアプリケーションにおいて、モジュール抜去の手順を迅速に完了することが可能である。
送信フレーム処理部にデータが指定した時間到着しない場合は、送信フレーム処理部は０バイトのデータにフレーム付与処理を行い、通信信号制御モジュールに渡す。
送信フレーム処理部はただちに０バイトのデータにフレーム付与処理を行い、通信信号制御モジュールに渡す。
Ｅ．第４実施形態Ｅ−１．モジュール挿入（ガードタイム方式）
図１７は、モジュール挿入（ガードタイム方式）の処理を示すシーケンス図である。通信制御調整部１５から受信側の通信信号制御部１１へ受信側モードの挿入準備要求を送ると（Ｓ９０１）、受信側の通信信号制御部１１において、通信信号制御モジュールダウンロード部２４において、ネットワークを介してモジュールサーバ３２よりモジュールをダウンロードする。そして、モジュールに書かれたディジタル署名を確認し、信頼できるモジュールかどうか判断する。信頼できないと判断した場合、処理を中断する。
通信制御調整部１５より送信側の通信信号制御部１０に送信側モードの挿入準備要求を送る（Ｓ９０２）。送信側の通信信号制御部１０において、通信信号制御モジュールダウンロード部２４において、ネットワークを介してモジュールサーバ３２から、モジュールをダウンロードする（Ｓ９０３）。そして、通信信号制御モジュール検証部６０においてモジュールに書かれたディジタル署名を確認し、信頼できるモジュールかどうか判断する。信頼できないと判断した場合、処理を中断する。
この処理が終了すると、通信信号制御部１０は、アプリケーションインターフェース部２６に対して停止及び排出実行要求を送る（Ｓ９０４）。アプリケーションインターフェース部２６は、これを受け取ると、それ以後のデータ処理を一旦中断し、さらに前述した排出要求送出処理を行なう。
通信制御調整部１５において、ａ秒間処理を中断する。これは、送信側の通信信号制御部において、データが送信側データチェインで、すべて処理されてネットワークに送出される十分な時間である。この時間を置いたことにより、送信側チェインの中には処理中のデータが残っていないことが担保される。
通信制御調整部１５は、送信側の通信信号制御部１０に対して、モジュール挿入要求を送出する（Ｓ９０５）。その要求を受け取ると、送信側の通信信号制御部１０は、送信側チェインにモジュール挿入を行なう。続いて、通信制御調整部１５は、ｂ秒間処理を中断する。この時間は、ネットワークの遅延と、受信側の受信チェインでデータが処理される十分な時間である。この時間を置いたことにより、通信網中にデータがないことと、受信側の受信チェインにデータがないことが担保される。
続いて、通信制御調整部１５は、受信側の通信信号制御部１１にモジュール挿入要求を送る（Ｓ９０６）。この要求を受けると、通信信号制御部側１１はモジュール挿入を行なう。
この後、通信制御調整部１５は、送信側の通信信号制御部１０に対し、処理再開要求を送る（Ｓ９０７）。この要求を受け、迩信信号制御部１０は、アプリケーションインターフェース部２６に処理再開要求を送る（Ｓ９０８）。アプリケーションインターフェース部２６は、それを受け、中止していたデータ処理を再開する。
Ｆ．第５実施形態
本発明の第５実施形態（カウンタ方式）について説明する。前述した第３実施形態では、フレームを用いて送信側のチェイン変更タイミングを検出するのに対し、本第５実施形態では、転送したバイト数を用いて送信側のチェイン変更タイミングを検出する。
Ｆ−１．送信カウンタ処理部
図１８は、本第５実施形態による送信カウンタ処理部の構成を示すブロック図である。図１２と同等の機能を有する部分には同一の符号を付けて説明を省略する。送信カウンタ処理部８００は、通信信号制御モジュールの一種である。カウンタ管理部８０１では、送信カウンタ処理部８００を通過した、通信データの合計が管理される。演算部８０２は、受け取ったデータ構造の通信データ領域内のデータの長さを算出し、カウンタ管理部８０１で管理されている値に加える。演算部８０２では、受け取ったデータ構造はそのまま、次の通信信号制御モジュールに渡す。コマンド受付部８０３は、「待ち命令」と「カウンタ値取得」要求を受け付ける。「待ち命令」を受けると、前述の待ち命令の処理を行う。「カウンタ値取得」要求を受けると、カウンタ管理部８０１で管理されている数値を要求元に返す。
Ｆ−２．受信カウンタ処理部
図１９は、本第５実施形態による受信カウンタ処理部の構成を示すブロック図である。受信カウンタ処理部９００は、通信信号制御モジュールの一種である。
カウンタ値指定部９０１は、数値を管理しており、初期状態では「０」である。
カウンタ管理部９０２では、受信カウンタ処理部９００を通過した、通信データの合計が管理される。受信カウンタ処理部９００は、２次データ蓄積部９０３にデータ構造が蓄積されていると、データ蓄積部９０４のデータ構造よりも先に処理を行なう。カウンタ値指定部９０１に「０」が指定されている状態では、演算部９０５は、受け取ったデータ構造の通信データ領域内のデータの長さを算出し、カウンタ管理部９０２で管理されている値に加え、受け取ったデータ構造をそのまま次の通信信号制御モジュールに送る。
また、カウンタ値指定部９０１に「０」以外の数値が指定されている場合には、演算部９０５は、データ構造を受け取ると以下の処理を行なう。
Ｌ：受け取ったデータ構造の通信データ領域の長さＰ：カウンタ管理部９０２の値Ｔ：カウンタ値指定部９０１の値とすると、
Ｐ＋Ｌ＜Ｔの場合には、Ｐ＋Ｌの値を格納し、データ構造をそのまま次の通信信号制御モジュールに渡す。
Ｐ＋Ｌ＝Ｔの場合には、Ｐ＋Ｌの値を格納し、データ構造をそのまま次の通信信号制御モジュールに渡し、演算部９０５の処理を停止し、前述した排出要求送出処理を行なう。通信信号制御部１０のモジュール制御インターフェース部２５に対して「到着通知」を伝える。また、カウンタ値指定部９０１に「０」を設定する。
Ｐ＋Ｌ＞Ｔ、かつＴ＞Ｐの場合には、受け取ったデータ構造の通信データ領域のデータの先頭から（Ｔ−Ｐ）バイトのバイト列を抜き出し、新たにデータ構造を作成し、通信データ領域部にこのバイト列を書き込む。この新たなデータ構造を次の通信信号制御モジュールに渡す。受け取ったデータ構造の通信データ領域中の（Ｔ−Ｐ）バイト目から、Ｌバイト目のデータを通信データ領域部に書き込んだデータ構造を作成し、２次データ蓄積部９０３に蓄積する。その後、演算部９０５の処理を停止し、前述した排出実行処理を行なう。また、通信信号制御部１０のモジュール制御インターフェース部２５に対して「到着通知」を伝える。また、カウンタ値指定部９０１に「０」を設定する。
コマンド受付部９０６では、「待ち状態設定」と、「処理再開要求」を受け付ける。「待ち状態設定」には数値パラメータを伴う。「待ち状態設定」を受け取ると、このパラメータの値をカウンタ値指定部に書き込む。「処理再開要求」を受け付けると、演算部９０５の処理を再開する。
Ｆ−３．モジュール構成変更の手順
図２０は、本第５実施形態によるモジュール構成変更の手順を示すシーケンス図である。図２０に示すＳ１００１〜Ｓ１０１７における各動作は、図１５に示すＳ７０１〜Ｓ７１４、図１６に示すＳ８０１〜Ｓ８１４、または図１７に示すＳ９０１〜Ｓ９０８と同様であるので、説明を省略する。異なる点は、カウンタ値取得（Ｓ１００６、Ｓ１００８）、カウンタ通知（Ｓ１００９、Ｓ１０１０）があることである。
Ｇ．第６実施形態
本発明の第６実施形態（デリミタ方式）について説明する。前述した第３実施形態では、フレームを用いて送信側のチェイン変更タイミングを検出するのに対し、本第６実施形態では、ストリームに出現しないバイト列（デリミタ）を用いて送信側のチェイン変更タイミングを検出する。
本第６実施形態では、送信側端末の送信チェインに送信デリミタ処理部を配置し、受信側端末の受信チェインに受信デリミタ処理部を配置することで、送信側端末内の送信チェインの送信デリミタ処理部とアプリケーションインターフェース部との間と、受信側端末内の受信チェインの受信デリミタ処理部とアプリケーションインターフェース部との間に、新たなモジュールを挿入することができる。
本第６実施形態では、送信側端末内の送信チェインの送信デリミタ処理部とアプリケーションインターフェース部との間と、受信側端末内の受信チェインの受信デリミタ処理部とアプリケーションインターフェース部との間にあるモジュールを抜くことができる。
Ｇ−１．送信デリミタ処理部
図２１は、本第６実施形態による送信デリミタ処理部の構成を示すブロック図である。送信デリミタ処理部９２０は、通信信号制御モジュールの一種である。
コマンド受付部９２１、「処理再開要求」「待ち命令」「デリミタ取得」を受け付ける。「待ち命令」を受け付けると、前記「待ち命令」の処理を行う。「処理再開要求」を受け付けると、演算部９２２の処理を再開する。「デリミタ取得」要求を受け付けると、デリミタ候補選択部９２３に対して、通信に使われていないか、使われる確率が小さいバイト列を問い合わせ、そのバイト列を返す。
演算部９２２は、通常の「通信信号制御モジュール」の演算部の処理に加え、受け取ったデータをデリミタ候補選択部９２３に渡しておく。デリミタ候補選択部９２３は渡されたデータを元にデリミタを選択する。
デリミタ候補選択部の実装例について説明する。ある通信において特定のパターンの最大長を数えておく。その最大長＋１回繰り返せば、そのパターンは、当該の通信において現れたことのないバイト列であり、デリミタとして使用可能である。
そのパターンには、例えば、値が０  バイト  （パターン長１ｂｙｔｅ）の繰り返し、０、ｆｆ  のバイトパターン（パターン長２ｂｙｔｅ）の繰り返し、０、１、２、３  のバイトパターン（パターン長４ｂｙｔｅ）の繰り返し、といったものがあげられる。
Ｇ−２．受信デリミタ処理部
図２２は、本第６実施形態による受信デリミタ処理部の構成を示すブロック図である。受信デリミタ処理部９４０は、通信信号制御モジュールの一種であり、デリミタデータが設定されている場合には、デリミタを検出すると、所定の動作を行ない、検出したデリミタを破棄して、次の通信信号制御モジュールには送らない仕組みを持つ。
コマンド受付部９４１は、「デリミタ通知」「処理再開要求」を受け付ける。
「処理再開要求」受け付けると、演算部９４２の処理を再開する。「デリミタ通知」を受けると、この要求に伴って渡されるバイト列データをデリミタ管理部９４３にて保管する。演算部９４２は、デリミタ管理部９４３にバイト列が設定されていない場合（長さ「０」のバイト列が設定されている場合）には、受け取ったバイト列をそのまま次の通信信号制御モジュールに渡す。
演算部９４２は、デリミタ管理部９４３にバイト列が設定されている場合には、受け取った通信データの中にそのバイト列（以後、デリミタ）が含まれていないか確認する。デリミタを受信した場合には、デリミタより前にあるデータを通信データ領域に書き込んだデータ構造を作成し、次の通信信号制御モジュールに渡す。その後、演算部９４２の処理を停止し、排出処理実行を行い、通信信号制御部１０のモジュール制御インターフェース部２５に通知する。その後、デリミタ管理部９４３に設定されているバイト列を解除する（長さ「０」のバイト列を設定する）。
また、受け取ったデータ構造中のデータのうち、デリミタのデータ以降にまだデータが残っている場合には、そのデータを通信データ領域に持つ新たなデータ構造を作成し、２次データ蓄積部９４４に蓄積する（演算部９４２はこの２次データ蓄積部９４４にデータが入っている場合は、データ蓄積部９４５に優先して処理を行なう）。
演算部９４２が受け取ったデータ構造の中の通信データが短く、デリミタに適合するか否か判断できない場合には、２次データ蓄積部９４４に蓄積して、次のデータ構造を受け取る。デリミタに適合しないと判断されたデータ構造は、判断された段階で次の通信信号制御モジュールへ送られる。図２３は、デリミタ動作を補足するための概念図である。デリミタがＡＢＣＤとすると、最初のＡＢＣまでの段階では、デリミタであるか判断できないので、２次データ蓄積部へ送出し、ＸＹときた時点で、上記ＡＢＣがデリミタでないと判明するため、次の通信信号制御モジュールへ送られる。次いで、ＺＡＢＣとくると、現段階では、デリミタであるか判断できないので、２次データ蓄積部へ送出し、次のＤにくると、先のＡＢＣと今回のＤとでデリミタであることが判明するので、先の「Ｚ」を次の通信信号制御モジュールへ送った後、モジュール構成を変更する。
図２４は、本第６実施形態によるモジュール構成変更の手順を示すシーケンス図である。図２４に示すＳ１１０１〜Ｓ１１１７は、図２０に示すＳ１００１〜Ｓ１０１７と基本的に同様の処理であるので説明を省略する。図２０と異なる点は、カウンタ値を取得して通知するのではなく、デリミタ値を取得して通知することであり、具体的には、デリミタ取得（Ｓ１１０７、Ｓ１１０８）、デリミタ通知（Ｓ１１０９、Ｓ１１１０）がある。
【産業上の利用の可能性】
以上説明したように、本願発明の通信制御方法、通信制御装置及び通信制御プログラムによれば、通信フロー経路上に配置された通信信号制御モジュールにより、通信フローの信号に制御もしくは観測処理を行なった後、処理後の信号を送出し、アプリケーションもしくは通信者から与えられた、もしくは自動的に検出した、通信フローについての要求条件に基づき、通信フローに関する情報を監視し、フロー状態がアプリケーションもしくは通信者から与えられた要求条件に合致していない場合、前記要求条件に合致させるための通信フロー制御を行なう通信信号制御モジュールと、通信フロー経路上に配置または除去を実施するフロー制御を行なう通信信号制御モジュールの配置を行なう通信制御調整モジュールとの２種類のモジュールの集合により構成し、前記通信信号制御モジュールと前記通信制御調整モジュールとを、モジュールが格納されているネットワーク内のサーバ装置から、通信端末及び通信機器にネットワークを介してダウンロードして起動することにより、通信フローの制御を実現し、上記要求条件を満たすようにしたので、通信信号制御モジュールを、通信端末だけではなく通信網内の通信機器を含む装置に配置し、動作させ、更に、通信信号制御モジュールを通信状態や環境の状況変化に応じて動的に変更することができるという利点が得られる。また、通信端末や通信機器は利用する通信信号制御モジュール，通信制御調整モジュールを必要な時にのみダウンロードし利用することができるため，常に使用可能性があるモジュール群を全て保有しつづける必要がない。さらに、サーバ装置に蓄えられたモジュールを変更することによって、新たなモジュールの追加、既存モジュールの変更が容易に実現できるという利点が得られる。
本願発明の通信制御方法によれば、前記通信制御調整モジュールは、通信信号の制御及び観測を行なう通信信号制御モジュールもしくはそのモジュールを構成し、モジュール内にディジタル署名を内包する構成とし、該モジュールを実行する通信端末及び通信装置においてディジタル署名を検証し、作成者の同定、及びモジュールの改ざんが無いことが検証されたモジュールのみを動作し、検証されないモジュールに関しては廃棄もしくは、管理者に判断を問い合わせた上で実行するようにしたので、通信信号制御モジュールを、通信網内の通信機器に、通信状態や環境の状況変化に応じて動的に変更可能に配置、動作させることができるという利点が得られる。
本願発明の通信制御方法、通信制御装置及び通信制御プログラムによれば、通信端末上に、アプリケーションインターフェース部と送信フレーム処理部と受信フレーム処理部とを配置し、送信側の通信端末上のアプリケーションインターフェース部と送信フレーム処理部との間の通信信号制御モジュール内にデータが存在しないことを担保し、受信側の通信端末上のアプリケーションインターフェース部と受信フレーム処理部との間の通信信号制御モジュール内にデータが存在しないことを担保し、前記受信側にて、フレーム付与処理を行なうことにより、送信側の通信信号制御モジュールの集合を特定するためのチェイン番号をフレーム中に記載し、前記受信側にて、前記チェイン番号を監視することで送信側の通信信号制御モジュールの集合が変化したデータの境界を検出するようにしたので、送信アプリケーションが送出した通信データを同一の形で受信側アプリケーションへ届けることを保証して、通信信号制御モジュールを挿入または抜去することができ、通信信号制御モジュールを、通信網内の通信機器に、通信状態や環境の状況変化に応じて動的に変更可能に配置、動作させることができるという利点が得られる。
本願発明の通信制御方法、通信制御装置及び通信制御プログラムによれば、送信側の通信端末上の通信信号制御モジュールに対して、直ちにデータを処理することを要求し、通信に供している通信網の遅延時間に比べ十分大きい時間、データの処理を停止し、受信側にそのタイミングを通知し、送信側の通信信号制御モジュール内、受信側の通信信号制御モジュール内、あるいは通信網内に通信に関するデータが存在しないことを保証し、送信側の通信信号制御モジュールの集合が変化したデータの境界を検出するようにしたので、送信アプリケーションが送出した通信データを同一の形で受信側アプリケーションへ届けることを保証して、通信信号制御モジュールを挿入または抜去することができ、通信信号制御モジュールを、通信網内の通信機器に、通信状態や環境の状況変化に応じて動的に変更可能に配置、動作させることができるという利点が得られる。
本願発明の通信制御方法、通信制御装置及び通信制御プログラムによれば、送信側の通信端末から通信で送られたデータのバイト数をカウントし、送信側の通信信号制御モジュールの集合の変更が行われたバイト数を受信側の通信端末に通知し、送信側の通信信号制御モジュールの集合が変化したデータの境界を検出するようにしたので、送信アプリケーションが送出した通信データを同一の形で受信側アプリケーションへ届けることを保証して、通信信号制御モジュールを挿入または抜去することができ、通信信号制御モジュールを、通信網内の通信機器に、通信状態や環境の状況変化に応じて動的に変更可能に配置、動作させることができるという利点が得られる。
本願発明の通信制御方法、通信制御装置及び通信制御プログラムによれば、送信側の通信信号制御モジュールの集合の変更が行われた直後に、アプリケーションが通信に用いることのない、または確率的に用いることが十分に小さい、特定のバイト列を通信網上に出力することで、送信側の通信信号制御モジュールの集合が変化したデータの境界を検出するようにしたので、送信アプリケーションが送出した通信データを同一の形で受信側アプリケーションへ届けることを保証して、通信信号制御モジュールを挿入または抜去することができ、通信信号制御モジュールを、通信網内の通信機器に、通信状態や環境の状況変化に応じて動的に変更可能に配置、動作させることができるという利点が得られる。
【図１】
2004100469.tif 000003
【図２】
2004100469.tif 000004
【図３】
2004100469.tif 000005
【図４】
2004100469.tif 000006
【図５】
2004100469.tif 000007
【図６】
2004100469.tif 000008
【図７】
2004100469.tif 000009
【図８】
2004100469.tif 000010
【図９】
2004100469.tif 000011
【図１０】
2004100469.tif 000012
【図１１】
2004100469.tif 000013
【図１２】
2004100469.tif 000014
【図１３】
2004100469.tif 000015
【図１４】
2004100469.tif 000016
【図１５】
2004100469.tif 000017
【図１６】
2004100469.tif 000018
【図１７】
2004100469.tif 000019
【図１８】
2004100469.tif 000020
【図１９】
2004100469.tif 000021
【図２０】
2004100469.tif 000022
【図２１】
2004100469.tif 000023
【図２２】
2004100469.tif 000024
【図２３】
2004100469.tif 000025
【図２４】
2004100469.tif 000026
【図２５】
2004100469.tif 000027
【図２６】
2004100469.tif 000028
【図２７】
2004100469.tif 000029
【図２８】
2004100469.tif 000030
【図２９】
2004100469.tif 000031
【図３０】
2004100469.tif 000032
【図３１】
2004100469.tif 000033
【図３２】
2004100469.tif 000034
【図３３】
2004100469.tif 000035
【図３４】
2004100469.tif 000036
【図３５】
2004100469.tif 000037
【図３６】
2004100469.tif 000038
【図３７】
2004100469.tif 000039
【図３８】
2004100469.tif 000040
【図３９】
2004100469.tif 000041
【図４０】
2004100469.tif 000042
【図４１】
2004100469.tif 000043
【図４２】
2004100469.tif 000044
【図４３】
2004100469.tif 000045
【図４４】
2004100469.tif 000046
【図４５】
2004100469.tif 000047
【図４６】
2004100469.tif 000048
【図４７】
2004100469.tif 000049
【図４８】
2004100469.tif 000050
【図４９】
2004100469.tif 000051
【図５０】
2004100469.tif 000052
【図５１】
2004100469.tif 000053
【図５２】
2004100469.tif 000054
【図５３】
2004100469.tif 000055
【図５４】
2004100469.tif 000056
【国際調査報告】
2004100469.tif 000057
2004100469.tif 000058