(57)【特許請求の範囲】
【請求項１】
通信ゲートデバイスにより通信リンクを通じてデータを送信する方法であって、
該通信リンクは該通信リンクを介した複数の通信接続を使用する帯域幅を有しており、
通信接続のそれぞれに複数のワーカオブジェクトの各々を関連付けるステップと、
前記複数のワーカオブジェクトの各ワーカオブジェクトのパラメータに基づいて、該各ワーカオブジェクト内の分配データを使用してメッセージを形成するステップと、
各通信接続が帯域幅のうちの個別の所定部分を超えないで使用するように、各ワーカオブジェクト内で形成されるメッセージを複数の通信接続の下位層に伝送するステップと
を有し、
第１のワーカオブジェクトが、前記帯域幅のうちの第１の前記個別の所定部分を確立するよう設定された第１のパラメータ値を有し、第２のワーカオブジェクトが、前記第１の個別の所定部分とは異なる前記帯域幅のうちの第２の前記個別の所定部分を確立するよう設定された第２のパラメータ値を有することを特徴とするデータ送信方法。
【請求項２】
帯域幅の所定の部分を複数の通信接続のそれぞれに割り当てるステップを更に有することを特徴とする請求項１記載のデータ送信方法。
【請求項３】
帯域幅の所定の部分を複数の通信接続のそれぞれに割り当てるステップが、帯域幅の異なる所定の部分を複数の通信接続のうちの２つに割り当てるステップを有することを特徴とする請求項２記載のデータ送信方法。
【請求項４】
帯域幅の所定の部分を複数の通信接続のそれぞれに割り当てるステップが、複数の通信接続のそれぞれにコール間隔パラメータを設定するステップを有することを特徴とする請求項２記載のデータ送信方法。
【請求項５】
帯域幅の所定の部分を複数の通信接続のそれぞれに割り当てるステップが、複数の通信接続のそれぞれにメッセージサイズパラメータを設定するステップを有することを特徴とする請求項２記載のデータ送信方法。
【請求項６】
帯域幅の所定の部分を複数の通信接続のそれぞれに割り当てるステップが、複数の通信接続のそれぞれへ送信バッファサイズを設定するステップを有することを特徴とする請求項２記載のデータ送信方法。
【請求項７】
帯域幅の所定の部分を複数の通信接続のそれぞれに割り当てるステップが、複数の通信接続のそれぞれにメッセージサイズパラメータ、及びコール間隔パラメータを設定するステップを有することを特徴とする請求項２記載のデータ送信方法。
【請求項８】
複数の通信接続のそれぞれに前記ワーカオブジェクトを関連付けるステップが、複数の通信接続のうちの１つを形成するために、ワーカオブジェクトを使用するステップを有することを特徴とする請求項１記載のデータ送信方法。
【請求項９】
ワーカオブジェクトにデータを分配する前に、データを分割し、複数の分割データストリームを形成するステップを更に有することを特徴とする請求項１記載のデータ送信方法。
【請求項１０】
ワーカオブジェクトにデータを分配する前に、データを分割し、複数の分割データストリームを形成するステップが、データの種類に基づいてデータを分割するステップを有することを特徴とする請求項９記載のデータ送信方法。
【請求項１１】
データを分割し、複数の分割データストリームを形成するステップが、複数の分割データストリームとワーカオブジェクトとの間の１対１の対応を確立するステップを有することを特徴とする請求項９記載のデータ送信方法。
【請求項１２】
ワーカオブジェクトにデータを分配するステップが、ワーカオブジェクトのうちの１つに、該１つのワーカオブジェクトからのデータに対する要求に応えて、データのサブセットを転送するステップを有することを特徴とする請求項１記載のデータ送信方法。
【請求項１３】
ワーカオブジェクトにデータを分配するステップが、データ送信オブジェクトを使用するステップを有することを特徴とする請求項１記載のデータ送信方法。
【請求項１４】
各ワーカオブジェクト中で分配されたデータを使用してメッセージを形成するステップが、メッセージのサイズを制御するワーカオブジェクトのパラメータを使用して、各ワーカオブジェクト内でメッセージを形成するステップを有することを特徴とする請求項１記載のデータ送信方法。
【請求項１５】
ワーカオブジェクトのうちの１つの中で形成されるメッセージを伝送するステップが、該１つのワーカオブジェクト内で形成されるメッセージを、メッセージが下位層に伝送される速度に影響を及ぼす該１つのワーカオブジェクトのパラメータに基づいて、下位層に伝送するステップを有することを特徴とする請求項１記載のデータ送信方法。
【請求項１６】
１つのワーカオブジェクト内で形成されるメッセージを、メッセージが下位層に伝送される速度に影響を及ぼす該１つのワーカオブジェクトのパラメータに基づいて、下位層に伝送するステップが、コール間隔パラメータを使用するステップを有することを特徴とする請求項１５記載のデータ送信方法。
【請求項１７】
通信リンクを通じてデータを送信するシステムであって、該通信リンクは該通信リンクを介した複数の通信接続を使用する帯域幅を有しており、
複数の通信接続にデータを分配する通信オブジェクトと、
複数のワーカオブジェクトとを備え、
各ワーカオブジェクトは、複数の通信接続のうちの１つに関連付けられ、該ワーカオブジェクトのパラメータに基づいて該ワーカオブジェクトに関連付けられた通信接続に分配されるデータを使用してメッセージを形成するように構成され、
第１のワーカオブジェクトが、前記帯域幅のうちの第１の前記個別の所定部分を確立するよう設定された第１のパラメータ値を有し、第２のワーカオブジェクトが、前記第１の個別の所定部分とは異なる前記帯域幅のうちの第２の前記個別の所定部分を確立するよう設定された第２のパラメータ値を有し、
各ワーカオブジェクトは、各通信接続がその通信接続に割り当てられる前記帯域幅の前記個別の所定部分を超えないで使用するように、複数の通信接続の下位層にそのワーカオブジェクト内で形成されるメッセージを伝送するように構成されている
ことを特徴とするデータ送信システム。
【請求項１８】
複数のワーカオブジェクトのそれぞれが、通信接続を形成するように構成されていることを特徴とする請求項１７記載のデータ送信システム。
【請求項１９】
通信オブジェクトが、複数の通信接続にデータを分配する前に、複数の分割データストリームを形成するためにデータを分割することを特徴とする請求項１７記載のデータ送信システム。
【請求項２０】
通信プロセスが、データの種類に基づいてデータを分割することを特徴とする請求項１９記載のデータ送信システム。
【請求項２１】
通信オブジェクトが、複数の分割データストリームと複数のワーカオブジェクトとの間に１対１の対応を確立することを特徴とする請求項１９記載のデータ送信システム。
【請求項２２】
通信オブジェクトが、ワーカオブジェクトからのデータに対する要求に応えて、複数のワーカオブジェクトのうちの１つにデータの一部を転送することを特徴とする請求項１７記載のデータ送信システム。
【請求項２３】
通信オブジェクトがデータ送信オブジェクトであることを特徴とする請求項１７記載のデータ送信システム。
【請求項２４】
複数のワーカオブジェクトのそれぞれが、ユニークに設定可能な通信パラメータのセットを含むことを特徴とする請求項１７記載のデータ送信システム。
【請求項２５】
ユニークに設定可能な通信パラメータのセットが、メッセージのサイズを制御するパラメータを含むことを特徴とする請求項２４記載のデータ送信システム。
【請求項２６】
ユニークに設定可能な通信パラメータのセットが、メッセージが下位層に伝送される速度を制御するパラメータを含むことを特徴とする請求項２４記載のデータ送信システム。
【請求項２７】
メッセージが下位層に伝送される速度を制御するパラメータが、コール間隔のパラメータであることを特徴とする請求項２６記載のデータ送信システム。
【請求項２８】
ユニークに設定可能な通信パラメータのセットが、バッファサイズを制御するパラメータを含むことを特徴とする請求項２４記載のデータ送信システム。
【請求項２９】
複数の通信接続を使用する帯域幅を有した通信リンクを通じてデータを送信するシステムであって、
データを分割し、複数の分割データストリームを形成する通信プロセスと、
複数のワーカプロセスとを備え、
第１のワーカオブジェクトが、前記帯域幅のうちの第１の前記個別の所定部分を確立するよう設定された第１のパラメータ値を有し、第２のワーカオブジェクトが、前記第１の個別の所定部分とは異なる前記帯域幅のうちの第２の前記個別の所定部分を確立するよう設定された第２のパラメータ値を有し、
該ワーカプロセスのそれぞれが、ユニークに設定可能な通信パラメータのセットを有し、前記通信プロセスから分割データを受け取り、該分割データを使用してメッセージを形成し、そのワーカプロセスに対してユニークに設定可能な通信パラメータのセットに基づいて、複数の通信接続の下位層に該分割データを含むメッセージを伝送するように構成されている
ことを特徴とするデータ送信システム。
【請求項３０】
通信プロセスが、データ送信オブジェクトに基づいていることを特徴とする請求項２９記載のデータ送信システム。
【請求項３１】
通信プロセスが、データの種類に基づいてデータを分割することを特徴とする請求項２９記載のデータ送信システム。
【請求項３２】
複数のワーカプロセスのそれぞれが、ワーカオブジェクトに基づいていることを特徴とする請求項２９記載のデータ送信システム。
【請求項３３】
複数のワーカプロセス、複数の分割データストリーム、及び複数の通信接続の間に１対１の対応があることを特徴とする請求項２９記載のデータ送信システム。
【請求項３４】
ユニークに設定可能な通信パラメータのセットが、メッセージが下位層に伝送される速度を制御するパラメータを含むことを特徴とする請求項２９記載のデータ送信システム。
【請求項３５】
メッセージが下位層に伝送される速度を制御するパラメータが、コール間隔パラメータであることを特徴とする請求項３４記載のデータ送信システム。
【請求項３６】
ユニークに設定可能な通信パラメータのセットが、メッセージサイズパラメータを含むことを特徴とする請求項２９記載のデータ送信システム。
【請求項３７】
ユニークに設定可能な通信パラメータのセットが、送信バッファサイズパラメータを含むことを特徴とする請求項２９記載のデータ送信システム。
【請求項３８】
帯域幅を有する通信リンクを通じてデータを送信するシステムであって、プロセッサと該プロセッサに通信で結合されるメモリとを有する通信局を備え、
該プロセッサは、複数のワーカオブジェクトを提供するようにプログラムされ、
該複数のワーカオブジェクトのそれぞれは、複数の分割データストリームのうちの１つを使用してメッセージを形成し、前記通信リンクを通じて個別の通信接続を形成するように構成され、
複数のワーカオブジェクトのそれぞれは、前記メッセージが前記各ワーカオブジェクトによって通信リンクの下位層へ送信される方法を決定するようにユニークに設定可能である通信接続パラメータのセットを含むことを特徴とするデータ送信システム。
【請求項３９】
通信局が、送信側通信ゲートウェイであることを特徴とする請求項３８記載のデータ送信システム。
【請求項４０】
通信局が、受信側通信ゲートウェイであることを特徴とする請求項３８記載のデータ送信システム。
【請求項４１】
個別の通信接続のそれぞれが、接続指向型通信プロトコルを使用することを特徴とする請求項３８記載のデータ送信システム。
【請求項４２】
通信接続パラメータのセットが、コール間隔パラメータを含むことを特徴とする請求項３８記載のデータ送信システム。
【請求項４３】
通信接続パラメータのセットが、メッセージサイズパラメータを含むことを特徴とする請求項３８記載のデータ送信システム。
【請求項４４】
通信接続パラメータのセットが、メッセージサイズパラメータ、及びコール間隔パラメータを含むことを特徴とする請求項３８記載のデータ送信システム。
【請求項４５】
通信接続パラメータのセットが、送信バッファサイズパラメータを含むことを特徴とする請求項３８記載のデータ送信システム。
【請求項４６】
プロセッサが、特定の種類のデータを含むメッセージを、個別の通信接続のうちの特定の１つを通じて送信させるように更にプログラムされていることを特徴とする請求項３８記載のデータ送信システム。
【請求項４７】
プロセッサが、データの種類に基づいて複数の分割データストリームにデータを分割し、複数の分割データストリームのうちの１つから複数のワーカオブジェクトのうちの１つへ、分割データを転送するようにプログラムされていることを特徴とする請求項３８記載のデータ送信システム。
【請求項４８】
複数の分割データストリーム、複数のワーカオブジェクト、及び個別の通信接続の間に１対１の通信があることを特徴とする請求項４７記載のデータ送信システム。
【請求項４９】
通信ゲートウェイデバイスにより通信リンクを通じてデータを送信する方法であって、
データを受信して該データを含むメッセージを形成して該メッセージを帯域幅を有する通信リンクの下位層へ送信する複数のワーカプロセスのそれぞれを複数の通信接続のそれぞれに関連付けるステップと、
前記複数のワーカプロセスのそれぞれにユニークに関連付けられた通信接続パラメータのセットをユニークに設定するステップと、
前記複数のワーカプロセスのそれぞれに個別の通信接続を形成するステップと、
前記複数のワーカプロセスのうちの少なくとも１つにユニークに関連付けられた通信接続パラメータのセットのそれぞれに基づいて、通信リンクを通じた伝送のために、前記複数のワーカプロセスのうちの少なくとも１つから前記下位層に前記メッセージを伝送するステップと
を有し、
前記個別の通信接続を形成するステップにおいて、第１のワーカオブジェクトが前記帯域幅のうちの第１の個別の所定部分を設定するよう構成された第１のパラメータ値を有し、第２のワーカオブジェクトが前記第１の個別の所定部分とは異なる前記帯域幅のうちの第２の個別の所定部分を確立するよう設定された第２のパラメータ値を有することを特徴とするデータ送信方法。
【請求項５０】
複数のワーカプロセスを関連付けるステップが、特定の種類のデータを複数のワーカプロセスのそれぞれに割り当てるステップを有することを特徴とする請求項４９記載のデータ送信方法。
【請求項５１】
通信接続パラメータのセットをユニークに設定するステップが、ワーカプロセスのそれぞれにコール間隔パラメータを設定するステップを有することを特徴とする請求項４９記載のデータ送信方法。
【請求項５２】
通信接続パラメータのセットをユニークに設定するステップが、ワーカプロセスのそれぞれにメッセージサイズパラメータを設定するステップを有することを特徴とする請求項４９記載のデータ送信方法。
【請求項５３】
通信接続パラメータのセットをユニークに設定するステップが、ワーカプロセスのそれぞれにメッセージサイズパラメータを設定するステップと、ワーカプロセスのそれぞれにコール間隔パラメータを設定するステップとを有することを特徴とする請求項４９記載のデータ送信方法。
【請求項５４】
通信接続パラメータのセットをユニークに設定するステップが、ワーカプロセス毎に送信バッファサイズパラメータを設定するステップを有することを特徴とする請求項４９記載のデータ送信方法。
【請求項５５】
通信接続パラメータのセットをユニークに設定するステップが、再送信に確保された帯域幅を提供するために、通信接続パラメータのセットを設定するステップを有することを特徴とする請求項４９記載のデータ送信方法。
【請求項５６】
メッセージを伝送するステップが、１つのワーカプロセスが下位層にメッセージを伝送する速度を制御するために、１つのワーカプロセス内でタイマ機能を使用するステップを有することを特徴とする請求項４９記載のデータ送信方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、概して通信システムに関し、特に、高ディレイ帯域幅物及び／又は高いビット誤り率を有する通信リンクにおいて、データスループットを高めるために、また、平均データ転送ディレイを低減するために、複数の通信接続を通じてデータを多重化する通信技術に関する。
【０００２】
【従来の技術及び発明が解決しようとする課題】
化学プロセス、石油プロセス、又はそれ以外のプロセス等のプロセス制御ネットワークは、通常、例えば、バルブ位置決め装置、スイッチ、（温度センサ、圧力センサ、及び流量センサ等の）センサ等であってもよい一又は複数のフィールドデバイスに通信で接続されている一又は複数の集中プロセスを含む。これらのフィールドデバイスは、（バルブを開く又は閉じる等の）プロセス内の物理的な制御機能を実行したり、プロセスの動作を制御する上で使用するためにプロセス内で測定値を採取したり、プロセス内でその他の所望の機能を実行し得る。一般的には、プロセス制御装置は、一又は複数のフィールドデバイスによって行われる測定を示す信号、及び／又はフィールドデバイスに関するその他の情報を受信し、典型的には複雑な制御ルーチンを実現するためにこの情報を使用し、信号線路又はバスを介してプロセスの動作を制御するためにフィールドデバイスへ送信される制御信号を生成する。
【０００３】
さらに、プロセス制御装置は、通常、イーサネット（登録商標）バス等のデータハイウェイを介して一又は複数のワークステーション、及びデータヒストリアン等のその他のデバイスに結合される。これらのその他のデバイスは、典型的には、ユーザインタフェースを制御ルーチンに提供する、制御ルーチンの修正又は更新を可能にする、フィールドデバイスと接続する等、該一又は複数の制御装置によって提供される情報を使用するその他のアプリケーション又はプログラムを実行する。幾つかのプロセス制御システムにおいては、リモートサイトに位置する１台又は複数台のワークステーションが、インターネット接続等の追加通信ネットワークを介してデータハイウェイ、衛星又はセルラー通信リンク、（無線イーサネット（登録商標）接続で使用されるように）無線リンク等に結合され得る。典型的には、データは、それぞれが典型的には一又は複数のプロセス制御メッセージに関連する一又は複数のデータバイトを含むデータパケットとして、これらの追加通信リンクを通じて伝送される。各データパケットは、典型的にはプロトコルヘッダ、エラーチェックフィールド、フラグ等のカプセル化データも含み、通信リンクを通じたデータパケットの伝送及び受信を容易にする。これらの追加リンクは無線であるか、又は共有される結線されたリンクであるため、プロセス制御システムに関連するデータの伝送に使用できる帯域幅は、典型的には、専用データハイウェイの帯域幅よりはるかに低い。さらに、これらの遠隔リンクの多くは、送信中のメッセージ、又はリンク上でデータを送信するために要する時間を増大するメッセージ受信応答に追加のオーバヘッドを付加するエラー検出及び補正の方式を利用するローカルデータハイウェイで使用されているものに類似した通信プロトコルを使用する。何れにせよ、これらの通信プロトコルは、利用可能な通信リンク帯域幅を非効率に使用し、典型的には相対的に大きいデータ転送ディレイを有する。
【０００４】
一般的には、通信技術は、所望されるレベルのデータ完全性で、或る特定のレベルのデータスループットを提供する。典型的には、システム設計者は、システムコスト目標と対照して利用可能な通信技術のそれぞれによって提供される、データスループットとデータ完全性の固有の兼ね合いを平衡させることによって、用途に適切な通信技術を選択する。プロセス制御システムで使用される制御装置、コントローラ、及びワークステーションのような局所的に位置しているデバイス間の通信を含むもの等の幾つかの用途では、専用高速データバス（例えば、イーサネット（登録商標））は、高いレベルのデータスループット及び完全性を相対的に低いコストで提供するために使用することができる。ローカルデバイスと（プロセス制御システムで使用される制御装置、コントローラ、及びワークステーションのような）遠隔に位置するデバイス間での通信を含むもの等のそれ以外の用途では、実践的な考慮及び制限から、システム設計者は、相対的に低い帯域幅を有するモデムリンク、無線セルラーリンク、衛星リンク等の通信リンク、又は高ディレイ帯域幅物及び／又は高いビット誤り率を有するリンクを使用せざるを得ない。
【０００５】
前述された通信リンクを使用して、ローカルシステムとリモートシステム間で通信を達成することは、複数の重大な問題を提示する。例えば、衛星通信リンクは、典型的には、伝送中に失われるか、破壊されるデータの再送信を生じさせる高いビット誤り率を有する。特に衛星リンクを通じた大きな送信時間ディレイと組み合わされると、データの再送信はリンクのスループットを大幅に引き下げ、リンクのデータ転送ディレイを増大する。さらに、上記の通信リンクは、多くの場合、リンクを通じて送信されるデータの単位毎にかなりのコストを生じさせることがある、衛星トランスポンダ帯域幅内の電話回線、セルラーチャネル又はチャネル割当て等の購入されたサービスと関連する。このように、最小の通信オーバヘッドで通信リンクを通じたデータ完全性を高める通信技術、及びリンクの時間的な局面と周波数の局面の両方において通信リンクにデータを詰め込む通信技術は、それらが指定された通信リンクのデータスループットを高め、リンクを通って送信されるデータの単位あたりのコストを低下するためきわめて望ましい。
【０００６】
多くの用途にとって、データ完全性及び送信されるデータの単位あたりのコストの許容できるレベルは、従来のデータ符号化及びチャネル変調の技術を一方向通信リンク内で使用して達成できる。一方向通信技術は、データが通信リンクを通じて適切に伝送されたことを確認するために応答メッセージを使用しないため、一般的には「コネクションレス」と呼ばれる。例えば、デジタル音声／ビデオデータは、何らかの種類の順方向エラー補正及び／又は畳み込み符号化を使用して伝送の前に符号化され、スペクトル拡散変調技術を使用して一方向通信リンクを通じて効果的に伝送され得る。それから、受信局は、許容できる完全性レベルを有する音声信号及びビデオ信号を生成するために、伝送済みのデータを復調し、復号し得る。受信局は（例えば、応答メッセージを使用することによって）伝送局と通信しないため、破壊されたデータ又は失われたデータは受信局によって回復されず、それによりユーザに提供されるビデオ信号及び音声信号内でスプリアスエラーを引き起こす。これらのスプリアスエラーは望ましくないが、それらはユーザによって容易に感知されるため、全体的なシステム性能に重大な影響を及ぼさない。このように、デジタル音声／ビデオデータの伝送のための通信プロトコルは、システムの質的な性能に悪影響を及ぼさずに、（例えば、応答メッセージを送信することによって）完全ハンドシェイク通信プロトコルを使用する、通常、双方向通信技術と関連する通信オーバヘッドを排除することができる。
【０００７】
一方向通信リンクを通じてデータを伝送することに対する前述されたアプローチは音声情報及びビデオ情報の複製に許容できるレベルのデータ完全性を提供するが、これらのアプローチは、幾つかのその他の種類の用途で使用するために適切なデータ完全性のレベルを提供しない。例えば、アラーム状態に関するデータ等のプロセス制御システムに関連するデータは、見失われることがあり、また、破壊されたアラームデータは、人員に対する傷害及び／又は材料，工場設備等に対する損傷を生じさせることがあるため、きわめて重大な性質のものであってもよい。さらに、一方向又はコネクションレスの通信技術は、局所的な伝送局が、遠隔受信局が伝送局によってそれへ送信されるデータを実際に受信し、処理していることを認識することがきわめて望ましいため、通常、プロセス制御システムとの使用に適切ではない。
【０００８】
従来、相対的に高いレベルのデータ完全性を必要とする（プロセス制御用と等の）用途、及び大きなディレイ帯域幅物及び／又は高いビット誤り率を有する（衛星リンク等の）通信リンクを使用する用途は、完全ハンドシェイク通信方式を提供する伝送制御プロトコル（TCP）等の双方向又は接続指向型の通信技術を使用してきた。接続指向型通信技術にあっては、伝送局は、それ以降のデータを送信する前に、受信局によって応答される伝送済みのデータバイト又はパケットのウィンドウ（つまり、数）を必要とする。その結果、通信リンクの往復送信時間ディレイがウィンドウ送信時間（つまり、フルウィンドウのデータバイトをリンクへ送信するのに要する時間）より多い場合には、リンクはウィンドウ内の最後のデータバイトが送信されるときから、受信局の応答が伝送局によって受信されるまでアイドリング状態のままとなるであろう。これらの従来の接続指向型通信技術は、例えばプロセス制御システムで、許容できるレベルのデータ完全性を提供し、局所的な伝送局が、遠隔受信局が伝送されたデータを受信し、処理しているか否かを確かめることができるようにするが、これらの技術は、通常、低い通信リンクスループット及びかなりのデータ転送ディレイを生じさせ、それは、プロセス制御システム内のアラーム情報等の大規模な重大なデータが伝送される場合にきわめて不利である。
【０００９】
接続指向型通信技術は、衛星通信リンクと共に使用されるときに、これらのリンクが高い帯域幅及び数百ミリ秒という往復チャネル再送信時間ディレイを有する（つまり、衛星通信リンクは大きなディレイ帯域幅物を有する）ために、特に問題である。衛星通信リンクの相対的に大きな往復送信時間ディレイは、伝送局が、それ以降のデータパケットを伝送するためにウィンドウを再び開放する前に、伝送済みのデータバイトの各ウィンドウの応答を待機するためにかなりの量の通信リンクアイドリング状態時間を生じさせる。さらに、（例えば、ローカルワークステーションから遠隔に位置するワークステーションへ）大量の情報を送信することは、該情報を要求しているユーザにとっては知覚できるほど、又は実際的でないほどにも低速である可能性がある。いずれの場合にも、衛星通信リンクの非効率な使用は、伝送されるデータの単位あたりの受け入れ難いほど高いコストを生じさせる。
【００１０】
前述された双方向通信技術が、大きな伝送帯域幅物及び／又は高いビット誤り率を有する通信リンクを通じてデータを伝送する効率を高めるために、システム設計者は、通信リンクを通じてデータを送信するために複数の通信経路又はパイプラインを提供するために、通信リンク内で複数の接続を確立する通信技術を利用してきた。一般的に知られているように、これらの多接続通信技術は、単一接続通信技術より更に効果的に、大きなディレイ帯域幅物を有する通信リンクを一時的にパックすることができる。特に、これらの多接続通信技術にあっては、１つの接続がフルウィンドウのデータを送信し、受信局からの応答を待機してアイドリング状態中である場合、フルウィンドウのデータを送信していないその他の接続のうちの一又は複数がリンクの中にデータを送信し続けてもよい。
【００１１】
残念なことに、システム設計者は、従来、前述された多接続通信技術内で使用される通信プロセスのトランスポート層を、通信リンクを通じたトランスポート層への伝送のためにメッセージを伝送している、プロセス制御アプリケーション，コントローラ，フィールドデバイス，ユーザインタフェース等のデータソース及びシンクに直接的に結合されるエンドトゥエンド機構と見なしてきた。その結果、それぞれの通信接続は、その他の通信接続及びデータソースに関して非同期かつ独立した方法で動作することが許される。さらに、通信接続の全ては、通常、個々の接続のための最適性能に関連するパラメータを使用して同一の方法で構成される。これらの多接続通信技術は、複数の通信接続の動作又はデータがデータソースから通信接続に渡される方法を調整しないため、全体としての通信リンクのスループット及び平均データ転送ディレイは少しも最適ではない。代わりに、同一のデータリソース及び／又はその他のシステムリソースの通信接続、同時にリンクにデータを伝送しようと試みる複数の接続等の間の競争は、通信リンクの全体的なスループットを大幅に制限し、リンクを通じたデータ転送ディレイを増大することがある。
【００１２】
【課題を解決するための手段】
通信技術は、スループットを増大するため、また、通信リンクの平均データ転送ディレイを低減するために複数の通信接続を通じて一又は複数のデータソースからのデータの多重化を調整する。更に具体的には、ここに記述される通信技術は、或る特定の効果的な優先順位レベルで、特定の種類のデータを搬送するために、それぞれの通信接続をユニークに設定することが可能である。さらに、各通信接続は、或る特定の送信バッファサイズを有し、或る特定の長さを有するシステムメッセージを処理し、或る特定の速度で通信リンクの下位層にシステムメッセージを送信するようにユニークに設定されてもよい。その結果として、ここに記述される通信技術は、全体として通信リンクのスループットを高め、リンクの平均データ転送ディレイを低減するために複数の通信接続が通信リンクにデータを送信する方法に関して包括的な調整を可能にする。
【００１３】
本発明の１つの態様によれば、通信システム及び方法は、複数の通信接続を使用する帯域幅を有する通信リンクを通じたデータの伝送を可能にする。システム及び方法は、通信接続のそれぞれにワーカオブジェクトを確立し、該ワーカオブジェクト間でデータを分配する。さらに、システム及び方法は、各ワーカオブジェクト内で分配されたデータを使用してメッセージを形成し、各通信接続が、帯域幅の所定の部分を超えないで使用するように、複数の通信接続の下位層にメッセージを伝送することも可能である。
【００１４】
本発明の別の態様によれば、複数の通信接続を使用して通信リンクを通じてデータを送信するシステムは、それぞれがユニークに設定可能なデータ通信パラメータのセットを有する複数の分割データストリーム及び複数のワーカプロセスを形成するためにデータを分割する通信プロセスを含んでいる。ワーカプロセスのそれぞれは、複数の分割データストリームの対応する１つから特定のデータを受信し、そのワーカプロセスのためのユニークに設定可能な通信パラメータのセットに基づいて、特定のデータを含むメッセージを複数の通信接続の下位層に伝送する。
【００１５】
【発明の実施の形態】
ここに記述される多重化データ送信技術は、大きなディレイ帯域幅物及び／又は高いビット誤り率を有する衛星通信リンクに関連して詳細に記述されるが、該多重化データ送信技術は、例えば、モデム，無線セルラー，インターネット等の広帯域網を使用する低帯域幅システムを含む様々な通信システム内で有利に使用することができる。さらに、プロセス制御システムで使用されるように記述されるが、ここに記述される多重化データ送信技術は、大きなディレイ帯域幅物及び／又は高いビット誤り率を有する任意の通信リンクを通じて、又は任意の他の通信リンクを通じてデータを送信する任意の他の通信システムで有利に使用することができる。
【００１６】
多重化データ送信技術を更に詳細に説明する前に、現在の多接続通信技術が、典型的には、通信リンクを通じた送信のためにデータを供給するデータソース又はアプリケーションが、送信されるデータの種類（例えば、アラームデータ，測定データ等）に関係なく無制御の速度で下位層に直接的にデータを送信するように実現されることを認識することが重要である。換言すれば、これらの現在の複数制御通信技術にあっては、例えばプロセス制御アプリケーション等のデータソースから下位層へデータが伝えられるように制御する挿入プロセスは皆無である。さらに、これらの公知の多接続通信技術は、典型的には、通信接続のそれぞれが、その他の接続及びデータソースに対して独立及び非同期で動作できるようにする。さらに、これらの多接続通信技術にあっては、通信接続の全ては、典型的には、リンク，下位層のバッファ／スタック制限，リンク全体としてのスループットを考慮せずに、また、リンクを通じたデータ転送ディレイを考慮せずに、単一通信接続のスループットを最適化することに関連する接続パラメータ値を使用して同一に設定される。
【００１７】
上記の多接続通信技術は、一又は複数のデータソース又はアプリケーションからのデータが通信接続の下位層に伝送されるように全く調整又は制御しないため、通信リンクのスループット及びデータ転送ディレイは、最適とは程遠い可能性がある。例えば、通信接続は、通信リンクを通じた送信のためにメッセージを下位層に全て同時に伝送しようとするので、下位層（例えば、トランスファー層，データリンク層等）に関連するバッファ，スタック，キュー等は、過負荷され、データは失われるか、破壊される可能性があり、その結果、リンクの全体的なスループットを低下させ、平均データ転送ディレイを増大させる再送信を生じる。
【００１８】
ここに記述される多重化データ送信技術は、大きいディレイ帯域幅物及び／又は高いビット誤り率を有する通信リンク、又は一般的にはデータパケットを伝える任意の通信リンクを通じたデータの効率的な伝送を可能にする。一般的には、ここ記述される多重化データ送信技術は、データソースと、通信接続に関連する下位層（つまり、送信者と受信者と間の通信経路）との間に調整機構を挿入することにより、多接続通信リンクのスループットを向上させ、平均データ転送ディレイを低減する。調整機構は、データソースから通信接続のそれぞれへのデータの流れ、及び通信接続のそれぞれによって使用される通信リンク帯域幅の一部を制御し、それによって、接続と、送信エラー，再送信等を生じさせる下位層内でのバッファ又はスタックのオーバフローとの間の競合を低減又は完全に排除するために、接続単位で個別に調整し得る調整可能な設定パラメータのセットを使用し、これが通信リンクスループットを増大し、リンクを通じたデータ転送ディレイを低減する。
【００１９】
図１は、以下に更に詳細に記述される、多重化データ送信技術を使用して高ディレイ帯域幅物を有する通信リンク16を介してリモートシステム14と通信するローカルシステム12を示す例示的な概略ブロック図である。一例として、通信リンク16は、システム12及び14間で通信を確立するために、衛星中継器18と通信チャネル20及び22とを使用する無線リンクである。
【００２０】
ローカルシステム12は、システムレベルデータバス28を介して送信側通信ゲートウェイ26に通信ネットワーク内で接続され、また、ワークステーション又は任意の他の種類のコンピュータ又はプロセッサであり得るローカルユーザインタフェース24を含んでいる。送信側の通信ゲートウェイ26は、ここに記述される多重化データ送信技術を実行するために、メモリ36に記憶されている一又は複数のソフトウェアルーチン34を実行するプロセッサ32を有するワークステーションであってもよい。システムレベルデータバス28は、イーサネット（登録商標）データバス又はデータの伝送に適切な任意の他のデータバスであってもよい。送信側通信ゲートウェイ26は、通信チャネル20を通じて通信を可能にするアンテナ38に結合される。同様に、リモートシステム14は、リモートシステムレベルデータバス44を介して受信側通信ゲートウェイ42に接続されるリモートユーザインタフェース40を含んでいる。送信側通信ゲートウェイ26のように、受信側通信ゲートウェイ42は、ここに記述される多重化データ送信技術を実行するためにメモリ52に記憶される一又は複数のソフトウェアルーチン50を実行するプロセッサ48を有するワークステーションであってもよい。受信側通信ゲートウェイ42は、通信チャネル22を通じて通信を可能にするアンテナ54にも結合される。
【００２１】
第１及び第２コントローラ56及び58は、システムレベルデータバス28を介して、ユーザインタフェース24及び送信側通信ゲートウェイ26と接続中であるものとして図示されている。勿論、データ記憶装置，追加ユーザインタフェース，その他のコントローラ等（図示せず）のその他のデバイスが、システムレベルデータバス28に接続されてもよい。一例として、第２コントローラ58は、分散型制御システム（DCS）型のコントローラであってもよく、オープンの若しくは独自の通信プロトコルの何れかを使用するか、又は任意の他のプロトコルを使用して、システムレベルデータバス28を介してユーザインタフェース24と通信し得る。第２コントローラ58は、例えば、ユーザインタフェース24にアラーム情報及びステータス情報を送信してもよく、これに加えてシステムレベルデータバス28を介してユーザインタフェース24からユーザコマンド／要求を受信し得る。第２コントローラ58は、更に、任意の従来の方法又は任意の他の所望の方法でコントローラ58に接続されるフィールドデバイス60及び62を制御するのに使用する制御アルゴリズムを含んでよい。第２コントローラ58は、入力／出力（I/O）装置70を介してスマートフィールドデバイス64〜68と通信中であるものとして示されている。スマートフィールドデバイス64〜68は、独自のプロトコルデータバス72を使用して通信ネットワーク内で接続され、コントローラ58と共に、又はコントローラ58とは無関係の何れかで、一又は複数のプロセス制御ループを実行するために、お互いに、また、I/O装置70と通信する。スマートフィールドデバイス64〜68は、例えば、フィールドバスデバイスであってもよく、その場合、独自のプロトコルデータバス72は、フィールドバス信号プロトコルを利用する。しかしながら、HART（登録商標），PROFIBUS（登録商標），WORLDFIT（登録商標），Device-Net（登録商標），CAN，及びAS-Interfaceプロトコル等のその他の種類のデバイス及びプロトコルも使用できるであろう。同様に、リモートシステム14は、通信でリモートデータバス44に結合されるコントローラ74を含んでいる。リモートシステム14のコントローラ74は、所望される場合、データバス76を介してフィールドデバイスに、及び／又はI/Oデバイス82を介して、スマートフィールドデバイス78及び80に接続され得る。
【００２２】
一般的に既に知られているように、衛星18の軌道上の距離のために、通信チャネル20及び22（つまり、通信リンク16）を通じた往復送信時間ディレイは、約数百ミリ秒であり得る。TCPベースの通信技術等の従来の接続指向型通信技術にあっては、通信リンク16は、送信者によってリンク16へ送信される各ウィンドウ内のデータが、送信者があらゆるそれ以降のデータを送信する（つまり、ウィンドウを再び開く）前に受信者によって応答されなければならないため、往復送信ディレイの間、アイドリング状態である。数百ミリ秒というアイドリング状態時間は、典型的には、（数十ミリ秒であり得る）フルウィンドウのデータを送信するために要する実質的に大きいため、上記の接続指向型通信技術の一時的な効率及びデータスループットは非常に低く、リンク上を送信されるデータの単位あたりコストは比較的に高い。
【００２３】
ここに記述される多重化データ送信技術にあっては、送信側通信ゲートウェイ26内の調整機構は、通信リンク16の総合的なスループットが増大するように、また、平均データ転送ディレイが短縮されるように、アラーム情報，測定値，制御ステータス等を含み得るプロセス制御データを、複数の通信接続の下位層にインテリジェントに転送する。更に具体的には、送信側通信ゲートウェイ26内の調整機構は、通信接続の下位層に伝送されるメッセージの種類及びサイズ（つまり、そのうちのバイト数），通信接続のそれぞれに関連するトランスポート層送信バッファのサイズ，及びメッセージが通信リンク16を通じた送信のためにトランスポート層に伝送される速度を制御する。その結果として、ここに記述される多重化データ送信技術によって、例えば、送信側通信ゲートウェイ26内に常駐し得る送信側アプリケーションは、通信リンク16のデータ転送ディレイ及びアイドリング状態時間を短縮し、それにより通信リンク16の稼働率を改善することができる。
【００２４】
図２は、図１の送信側通信ゲートウェイ26が、通信リンク16内の複数の通信接続を通じてプロセス制御データを多重化するように構成され得る１つの方法を示す例示的な概略ブロック図である。図２に示されている多重化データ送信技術は、ここに記述される通信技術のオブジェクトに基づいた実施である。例示のみにあっては、図２に示されている実施は、よく知られているオブジェクトに基づいた接続指向型通信規格である分散コンポーネントオブジェクトモデル（DCOM）プロトコルに基づいていてもよい。DCOMの詳細な動作はよく知られており、従ってDCOMインフラストラクチャの、及びDCOMがどのように動作するかの、追加の記述はここに示されていない。さらに、当該技術でやはりよく知られているように、（図２及び図３に関して後述されるオブジェクト等の）オブジェクトは、オブジェクトのメソッドを実行するために必要とされるデータと共にカプセル化されるメソッド又はプロセス（つまり、ソフトウェアルーチン）の集合体を表すソフトウェア抽象概念である。このようなオブジェクト指向型ソフトウェアプログラミング技術は、当該技術でよく知られているため、ここに更に詳細に記述されないであろう。
【００２５】
図２に図示される多重化データ送信技術にあっては、送信側通信ゲートウェイ26は、アプリケーションオブジェクト100，データ送信オブジェクト102，及び複数のワーカオブジェクト104〜108を含んでいる。アプリケーションオブジェクト100は、ユーザインタフェース24（図１），コントローラ56及び58，又は通常はシステムレベルデータバス28を介して送信側通信ゲートウェイ26に通信で結合される任意の他のデバイス又はデータソースから、システムレベルデータバス28を介してプロセス制御データを受信する。プロセス制御データは、典型的には、フィールドデバイス60〜68並びにコントローラ56及び58のうちの一又は複数、ユーザインタフェース24等からのユーザ入力／コマンドを使用して得られる、測定値，アラーム等のプロセス制御情報を含んでいる。
【００２６】
アプリケーションオブジェクト100は、データ送信オブジェクト102上でメソッドを呼び出すことによってデータ送信オブジェクト102にプロセス制御データを整列させる。これに代えて、データ送信オブジェクト102は、プロセス制御データをバッファし、バッファされたプロセス制御データを、ワーカオブジェクト104〜108の利用可能性、バッファされたデータ中に含まれるデータの種類（つまり、アラームデータ，測定データ等）、及びワーカオブジェクト104〜108のそれぞれに関連する設定パラメータ値に基づいて、整列させるか、ワーカオブジェクト104〜108に分配する。例えば、データ送信オブジェクト102は、アラーム情報を表すデータをワーカオブジェクト104〜108のうちの１つに転送し、測定情報を表すデータをワーカオブジェクト104〜108の別の１つへ送信し得る。
【００２７】
さらに、データ送信オブジェクト102は、ワーカオブジェクト104〜108にデータを分配する前に、バッファされたプロセス制御データを分割し得る。例示のみにあっては、アプリケーションオブジェクト100は、様々な種類のデータをデータ送信オブジェクト102へ送信し、データ送信オブジェクト102は、各データストリーム又はキューが或る特定の種類又はカテゴリのデータを含むように、アプリケーションオブジェクトデータを複数のデータストリーム又はキューに分割し得る。それから、データ送信オブジェクト102は、データストリーム又はキューのそれぞれを、通信リンク16を通じた伝送のために（ワーカオブジェクト104〜108のそれぞれに関連する設定パラメータに基づいて）ワーカオブジェクト104〜108の特定のものに割り当ててもよい。例えば、ワーカオブジェクト104がアラームデータを搬送するように構成される場合、データ送信オブジェクト102は、アラームデータを含むデータストリーム又はキューをそのワーカオブジェクトに割り当ててもよい。同様に、ワーカオブジェクト106が測定データを搬送するように構成される場合には、データ送信オブジェクト102は、測定データを含むデータストリーム又はキューを、そのワーカオブジェクトに割り当ててもよい。このように、データ送信オブジェクト102内でのデータストリーム又はキュー間の１対１の対応は、ワーカオブジェクト104〜108と共に確立され得る。しかしながら、データ送信オブジェクト102及びワーカオブジェクト104〜108内でのデータストリーム又はキュー間の１対１の対応は確立される必要はない。例えば、アプリケーションデータの順序付けが必要とされない用途では、データ送信オブジェクト102は、個々のデータストリーム又はキューを複数のワーカオブジェクトに割り当ててもよい。
【００２８】
ワーカオブジェクト104〜108のそれぞれが利用可能になる（例えば、出た送信オブジェクト102に対し、データがワーカオブジェクトに転送され得ることを示す）ので、データ送信オブジェクト102は、多様なデータストリーム又はキューから、ワーカオブジェクト104〜108の適切なものにデータを転送する。これに代えて、ワーカオブジェクト104〜108は、データ送信オブジェクト102から受け取ったデータの個別のブロックを断片化し、ワーカオブジェクト104〜108に関連する設定パラメータに基づき複数のシステムメッセージを形成してもよい。例えば、データ送信オブジェクト102が、4096バイトの別々のブロックの中にアラームデータを含むデータストリーム又はキューを（アラームデータを送信するように構成され、1024バイトという最大システムメッセージサイズを指定する構成を有する）ワーカオブジェクト104に割り当てると、ワーカオブジェクト104はデータ送信オブジェクト102から受け取ったそれぞれの4096バイトのブロックを断片化し、４つの1024バイトのシステムメッセージを形成し、これらのシステムメッセージを一度に１つずつ下位層（つまり、TCP，UDP，DCOM等）に伝送する。
【００２９】
何れにせよ、通信リンク16を通じた伝送のために下位層へ送信されるワーカオブジェクト104〜108のそれぞれに関連するシステムメッセージは、それぞれ、或る特定の通信接続のメッセージサイズ設定パラメータに対応するサイズ（つまり、バイト数）を有する。データブロックをシステムサイズメッセージに断片化することは個々のワーカオブジェクト104〜108によって実行されているものとして記述されているが、断片化することは、代わりに、データのワーカオブジェクト104〜108への転送の前にデータ送信オブジェクト102によって実行されてもよいことが認識される必要がある。
【００３０】
データ送信オブジェクト102は、アプリケーションオブジェクト100から受け取るプロセス制御データをバッファ又はキューするデータがワーカオブジェクト104〜108へ送信されるために利用可能となるように制御するために、データの性質に応じて様々な技術の何れかを使用してもよい。例えば、プロセス制御データは、それがアプリケーションオブジェクト100から受け取る順序での利用可能性のためにバッファ又はキューされてもよい。代わりに、データは、データブロックのサイズ、データブロックの種類及び／又はコンテンツ等に基づいた利用可能性のためにバッファ又はキューされてもよい。これらの方法では、データ送信オブジェクト102は、データに優先順位を付け、通信リンク16のスループットを最大にするようにワーカオブジェクト104〜108にデータを送信するために、バッファ又はキューを編成し得る。勿論、データ送信オブジェクト102内でデータをバッファ又はキューするために、様々なその他の技術が使用されてもよい。さらに、１つのアプリケーションオブジェクト100が、データ送信オブジェクト102にデータを提供するものとして図２に示されているが、追加のアプリケーションオブジェクト，スレッド，又はプロセスが、データ送信オブジェクト102にデータを提供してもよい。
【００３１】
一般的には、ワーカオブジェクト104〜108のそれぞれは、それがデータ送信オブジェクト102から受信側通信ゲートウェイ42に受信するデータを整列させるというタスクを有する。更に具体的には、ワーカオブジェクト104〜108のそれぞれが、通信リンク16を通じて個別の通信接続を確立及び設定し、特定の種類のデータ（例えば、アラーム情報，測定値等）を受信するためにデータ送信オブジェクト102によって割り当てられてもよい。さらに、ワーカオブジェクト104〜108はタイマ機能110〜114を含み、そのそれぞれは、ワーカオブジェクト104〜108が、通信リンク16を通じた伝送のために下位層にシステムメッセージを伝送する速度を確立するようにユニークに設定されてもよい。
【００３２】
ワーカオブジェクト104〜108のそれぞれは、通信リンク16を介して、送信側通信ゲートウェイ26と受信側通信ゲートウェイ42との間で実行されている通信プロセス内で独自のコンテキストを有するように個別に設定されてもよい。特に、ワーカオブジェクト104〜108のそれぞれは、所望される場合、ワーカオブジェクト104〜108のそれぞれがパラメータ値の異なるセットを使用して設定され得るように個別に適合可能又は調整可能である複数の設定パラメータを有する。特に、ワーカオブジェクト104〜108のそれぞれは、それぞれのワーカオブジェクト104〜108中のタイマ機能110〜114に、メッセージが、例えば、TCP等の接続指向型プロトコルを使用し得る下位層に伝送される速度を調節させる「コール間隔」パラメータを含んでいる。さらに、ワーカオブジェクト104〜108のそれぞれは、ワーカオブジェクト104〜108によって下位層に伝送される各メッセージの中に含まれるデータバイトの数に、上限を設定する「メッセージサイズ」パラメータを含ませてもよい。更に上記のように、「メッセージサイズ」パラメータは、アプリケーションオブジェクト100によってデータ送信オブジェクト102に転送されるデータを、所定のバイト数を有するシステムメッセージ（つまり、通信リンク16を通じた伝送のために下位層に伝送されるメッセージ）に断片化するために、ワーカオブジェクト104〜108又はデータ送信オブジェクト102の何れかによって使用されてもよい。さらに、ワーカオブジェクト104〜108のそれぞれは、ワーカオブジェクトに関連する通信接続がメッセージを記憶する目的のために有するデータバイト数を指定する「送信バッファサイズ」パラメータを含んでいてもよい。下位のトランスポート層がTCPに基づいている場合には、通信接続毎の送信バッファサイズは、例えば128バイトと65,536バイトとの間等でサイズが変化してもよい。勿論、通信接続又は通信チャネルに関連するその他の又は異なるパラメータが含まれてもよい。
【００３３】
通信接続のそれぞれに関連する下位のトランスポートプロトコルは、ワーカオブジェクト104〜108のそれぞれのメッセージサイズパラメータ及び送信バッファサイズパラメータに選択される値に無関係に、通信リンク16へ送信される各データパケットの中に含まれる最大データバイト数を決定する。例えば、TCP等の接続指向型通信プロトコルが下位のトランスポート層で使用されると、トランスポート層が、更に、ワーカオブジェクト104〜108によって伝送されるメッセージを、ワーカオブジェクト104〜108によって下位層に伝送されるシステムメッセージの中に含まれるバイト数とは異なるバイト数を含むデータパケットに断片化又は結合してもよい。
【００３４】
さらに、トランスポート層によって生成されるデータパケットは、当該技術でよく知られている、通信接続識別子及びパケットシーケンス番号を有するプロトコルヘッダを含む。例えば、下位のトランスポート層がTCPを使用する場合、ソースTCPポート番号と宛先TCPポート番号とは、接続識別子としてプロトコルヘッダ内に含まれる。接続識別子は、ワーカオブジェクト104〜108のうちのどれがデータパケットを送信したのかを特定し、このように、或る特定のワーカオブジェクトが特定の種類のデータ（例えば、アラーム，測定値等）を送信している可能性があるため、接続識別子はその特定の種類のデータにも対応する。
【００３５】
図３は、図１の受信側通信ゲートウェイ42が、図１の送信側通信ゲートウェイ26によって送信される多重化データ送信を受け取るように構成され得る１つの方法を示す例示的な概略ブロック図である。送信側通信ゲートウェイ26と同様に、受信側通信ゲートウェイ42は、複数のワーカオブジェクト200〜204，データ受信オブジェクト206，及び受信側通信ゲートウェイアプリケーションオブジェクト208を含む。ワーカオブジェクト200〜204のそれぞれは、送信側通信ゲートウェイ26中のワーカオブジェクト104〜108のうちの１つにユニークに対応し得る。例えば、送信側通信ゲートウェイ26中でワーカオブジェクト104によって処理及び伝送されるメッセージは、受信側通信ゲートウェイ42内のワーカオブジェクト200によって独占的に受信及び処理されてもよい。このように、ワーカオブジェクトの対応する対は、通信リンク16を通じた各接続（つまり、通信チャネル）が特定の種類のデータを搬送するように構成されてもよい。さらに、コール間隔値，送信バッファサイズパラメータ値等は接続単位で変化することがあるため、各通信接続に割り当てられる通信リンク帯域幅の一部は、接続単位で変えられてもよい。結果として、各接続を通じて流れるデータの有効な優先順位は、その他の接続を基準にして制御することができる。例えば、ワーカオブジェクト104がアラームデータを搬送するように構成される場合、ワーカオブジェクト104及び200に関連する通信接続には、コール間隔パラメータの相対的に小さい値をその接続に割り当てることによって相対的に高い優先順位を与えられてもよい。その他の接続に使用される値と比較して相対的に大きな値のメッセージサイズパラメータは、この優先順位レベルを使用して、ワーカオブジェクト104及び200に関連する通信接続を通じてどのくらい多くのデータが送信されなければならないのかを制御するために使用されてもよい。しかしながら、以下に更に詳しく記述されるように、設定パラメータ値の他の組み合わせが、同様の結果を達成するために代わりに使用できるであろう。
【００３６】
下位のトランスポートプロトコルがTCPに基づいているTCPポート番号である接続識別子は、受信されたデータパケットをワーカオブジェクト200〜204の適切なものに送るために、受信側通信ゲートウェイ42で使用される。例えば、ワーカオブジェクト104は、下位層にメッセージを送信するときに、トランスポート層はデータパケットにメッセージを断片化し、接続識別子（例えば、TCPポート番号）及びシーケンス番号を含むプロトコルヘッダを各データパケットにプリペンドしてもよい。それから、トランスポート層は、通信リンク16を通じてデータパケットを受信側通信ゲートウェイ42に物理的に伝送する下位の通信層（例えば、データリンク層，物理層等）にデータパケットを転送する。受信側通信ゲートウェイ42で下位の通信端点（例えば、TCP接続端点）がデータパケットを受信すると、受信側通信ゲートウェイ42での通信端点は、データパケット内のデータをワーカオブジェクト200〜204の適切なものに伝送するために、各パケットのプロトコルヘッダ内で接続識別子を使用する。さらに、通信端点は、受信されたデータパケットのプロトコルヘッダ内のシーケンス番号を使用して、データパケット内のデータを順序付けし、メッセージを再構成する。このように、ワーカオブジェクト104〜108のそれぞれが別個に具体化（instantiate）され、トランスポート層を通じた独自の接続を確立するために、接続識別子が、通信リンク16を通じてデータを多重化し、受信側通信ゲートウェイ42等のリモート受信局でこれらのメッセージを多重分離するために使用されてもよい。
【００３７】
ワーカオブジェクト200〜204は、適切に受信されたメッセージを、内部でメッセージをバッファ又はキューするデータ受信オブジェクト206に対して整列させる。その後、データ受信オブジェクト206は、メッセージを、代わりに、遠隔システムレベルデータバス44に通信で結合される一又は複数のデバイスにメッセージを送る受信側通信ゲートウェイオブジェクト208に対して整列させる。前述されたデータ送信オブジェクト102によって利用されるものに類似した方法では、受信側通信ゲートウェイアプリケーションオブジェクト208が、メッセージが受信された順序，メッセージのサイズ，メッセージのコンテンツ，メッセージの相対的な重要性等に基づいて、データ受信オブジェクト206内にバッファ又はキューされるメッセージを削除してもよい。
【００３８】
作動中において、ワーカオブジェクト104〜108のそれぞれが、受信側通信ゲートウェイ42と通信リンク16を通じて個別の接続を確立する。接続は、コール間隔，メッセージサイズ，送信バッファサイズ，又はワーカオブジェクト104〜108に関連するその他の設定パラメータのデフォルト値のセットを使用して確立してもよく、また、デフォルトパラメータのセットが実行時にユーザ入力を介して無効にされ（つまり、修正され）てもよい。例えば、接続を確立するためには、ワーカオブジェクト104〜108のそれぞれがソケットを生成し、バッファサイズパラメータ値を使用して接続のためのバッファサイズを設定し、受信側通信ゲートウェイ42との通信を開く。具体的には、バッファサイズは、接続が開かれる前又は後の何れかに設定されてもよく、適合目的でデータ転送の間に修正されてもよい。接続が開かれた後、ワーカオブジェクト104〜108のそれぞれは、データ送信オブジェクト102に、ワーカオブジェクトの最大メッセージサイズ及びワーカオブジェクトが通信リンク16を通じて送信するデータの種類を報知する。
【００３９】
図４〜図６は、図２及び図３のデータ送信オブジェクト102並びにワーカオブジェクト104〜108及び200〜204が、通信リンク16内で複数の通信接続を通じてデータを多重化するために協働し得る１つの方法を示す例示的なフローチャートである。特に、図４は、データ送信オブジェクト102が、アプリケーションオブジェクト100から受け取るデータを処理し得る１つのメソッド300を示す例示的なフローチャートである。ブロック305は、任意のデータが、アプリケーションオブジェクト100によってデータ送信オブジェクト102へ送信されているか否かを判断する。データが送信されていない場合には、メソッド300は、ブロック305に再び入る。他方、データがアプリケーションオブジェクト100によって送信されている場合には、ブロック310は、例えば、データが表す情報の種類に基づいて複数のデータストリーム又はキューにデータを分割する。例えば、アラームデータは、１つのデータストリーム又はキュー中で分割されてもよく、測定データは、別のデータストリーム又はキュー等の中で分割されてもよい。必ずしもではないが好ましくは、データ送信オブジェクト102は、ワーカオブジェクト104〜108のそれぞれに１つのデータストリーム又はキューを維持する。換言すれば、ワーカオブジェクト104〜108と、データ送信オブジェクト102内で維持されるデータストリーム又はキューとの間には１対１の対応があってもよい。さらに、データストリーム（又はキュー）とワーカオブジェクトの対のそれぞれは、特定の種類のデータを伝えるように構成され得る。例えば、データ送信オブジェクト102は、通信リンク16を通じてアラームデータだけを伝えるように構成され得る、ワーカオブジェクト104にアラームデータだけを伝達するデータストリーム又はキューを維持してもよい。さらに、データ送信オブジェクト102は、通信リンク16を通じて測定データだけをワーカオブジェクト106に伝えるように構成されるワーカオブジェクト106に測定データだけを伝える、別のデータストリーム又はキューを維持してもよい。ブロック310がアプリケーションオブジェクト100から受け取るデータを分割した後、メソッド300は、ブロック305に再び入る。
【００４０】
図５は、データ送信オブジェクト102がその内部データストリーム又はキューからワーカオブジェクト104〜108にデータを転送し得る１つのメソッド315を示す例示的なフローチャートである。ブロック320は、ワーカオブジェクト104〜108のうちの１つがデータを受け取る準備ができているか否かを判断する。ワーカオブジェクト104〜108のどれも準備ができていない場合には、メソッド315は、ブロック320に再び入る。他方、ワーカオブジェクトの準備ができている場合には、ブロック325が、準備完了している（つまり、利用可能な）ワーカオブジェクトと関連するデータストリーム又はキューがデータを含んでいるか否かを判断する。関連するデータストリーム又はキューがデータを含まない場合、メソッド315は、ブロック320に再び入る。他方、メソッド315が、関連するデータストリームキューがデータを含んでいると判断する場合、ブロック330は、関連するデータストリーム又はキューから準備完了ワーカオブジェクトにデータを転送し、メソッド315がブロック320に再び入る。
【００４１】
図６は、ワーカオブジェクト104〜108のそれぞれがデータ送信オブジェクト102からデータを受け取り、通信リンク16内で下位層にデータを伝送し得る１つのメソッド335を示す例示的なフローチャートである。ブロック340は、データ送信オブジェクト102に対して、ワーカオブジェクトがデータに対して準備ができていることを示す。ワーカオブジェクトは、データに対する要求をデータ送信オブジェクト102へ送信することによって、それがデータに対して準備ができていることを示し得る。代わりに、ワーカオブジェクトは、更に多くのデータが必要とされ、データ送信オブジェクト102が、ワーカオブジェクトがデータを受信する準備ができている旨としてのアイドリング状態を認識し得るときにアイドリング状態のままとなってもよい。必ずしもではないが好ましくは、ブロック340は、要求ワーカオブジェクトの設定に基づいて、特定の種類のデータ（例えば、アラームデータ，測定データ等）を要求し、メソッド335がブロック345に入る。前述されたように、ワーカオブジェクト104〜108のそれぞれは、通信リンク16を通じて複数の通信接続のうちの１つとユニークに関連付けられてもよく、それぞれの通信接続は、特定の種類のデータを搬送し、所定の速度で下位層に最大数のバイトを有するメッセージを伝送するように構成されてもよい。ブロック345は、データ送信オブジェクト102がワーカオブジェクトにデータを転送したか否かを判断する。データ送信オブジェクト102がデータを転送していない場合には、メソッド335は、ブロック345に再び入る。他方、データ送信オブジェクト102がデータを転送した場合には、ブロック350は、転送済みのデータを、ワーカオブジェクトのメッセージサイズパラメータに基づく多数のバイトを有するシステムメッセージに断片化する。例えば、転送済みのデータが4096バイトに達する場合、また、ワーカオブジェクトが1024バイトという最大システムメッセージサイズを指定するメッセージサイズパラメータを有する場合には、ワーカオブジェクトは、4096バイトブロックのそれぞれを、４つの1024バイトシステムメッセージに断片化する。ブロック355は、通信リンク16を通じた伝送のために、下位層に一度に１つのシステムメッセージを伝送する。よく知られているように、下位層は、システムメッセージをパケット化する（つまり、使用するデータパケットを形成する）。さらに、各データパケットは、受信したパケットを多重分離し、メッセージを再構成するために、受信側通信ゲートウェイ42によって使用され得る接続識別子を有するプロトコルヘッダ、及びパケットシーケンス番号を含んでいる。下位層は、物理的にデータパケットを通信リンク16中に伝送する下位のデータリンク層及び物理層にデータパケットを送信する。ブロック357は、下位層が転送のためにシステムメッセージを受け入れたか否かを判断し、メッセージが受け入れられなかった場合、メソッドはブロック357に再び入る。他方、メッセージが転送のために受け入れられた場合には、メソッドはブロック360に入る。
【００４２】
ブロック360は、ワーカオブジェクトのコール間隔パラメータに基づいた値をタイマにロードし、ブロック365はタイマを作動開始する。ブロック370は、タイマが計時終了したか否かを判断し、タイマが計時終了していない場合、メソッド335は、ブロック370に再び入る。他方、タイマが計時終了している場合には、ブロック375は、送信する複数のメッセージがあるか否かを判断する。送信する更なるメッセージがある場合には、メソッド335がブロック355に再び入る。他方、送信する更なるメッセージがない場合には、メソッド335はブロック340に再び入る。
【００４３】
データ送信オブジェクト102並びにワーカオブジェクト104〜108及び200〜204の前述された動作から判るように、ワーカオブジェクト104〜108及び200〜204に関連する通信接続毎のパラメータは、メッセージがワーカオブジェクト104〜108のそれぞれによって下位層に伝送されるように、制御及び整合するために調整又は適合されてもよい。換言すれば、通信接続に関連する設定パラメータは、通信リンク16のスループットを高め、平均データ転送ディレイを低減するために、接続間の競合を低減又は完全に排除する調和のとれた多重化動作を達成するために個別に設定されてもよい。このように、データを通信リンク16の下位層に伝送するワーカオブジェクト104〜108のそれぞれは、特定の種類のデータを含む特定のサイズのメッセージを処理するように構成され得る。さらに、ワーカオブジェクト104〜108のそれぞれは、或る特定の速度で下位層にメッセージを伝送するように構成されてもよく、各通信接続は、当該技術でよく知られているように、最大伝送単位のサイズ、及び下位層が通信リンク16にパケットを送信する速度に影響を及ぼす異なる送信バッファサイズを有するように構成され得る。
【００４４】
任意のワーカオブジェクトが図２〜図４に示した通信方式を実行するために使用され得るが、トランスポート層によって使用されるパケットサイズ，通信リンクの往復送信時間，及びその他の要因は、一時的に通信リンク16をパックする（つまり、アイドリング状態時間を最小限に抑え、通信リンク16のスループットを増大する）ために必要とされる最小数のワーカオブジェクトを決定するであろう。一般的には、接続指向型通信プロトコルがトランスポート層内で使用される場合には、ワーカオブジェクトの数によって乗算されるデータバイトのウィンドウをリンク16に伝送するために要する時間が通信リンク16の往復送信時間ディレイより大きくなるように、通信リンク16を一時的にパックするために必要とされるワーカオブジェクトの数が設定される。例えば、フルウィンドウのデータバイトをリンク16へ送信するために20ミリ秒を要し、通信リンク16の往復送信時間が300ミリ秒である場合には、約15個のワーカオブジェクトが、通信リンク16を一時的にパックするために必要とされ得る。勿論、所望される場合、より多くの又はより少ないワーカオブジェクトが使用されてもよい。実際、データ送信オブジェクト102は、通信リンク16を通じたトラフィックの量（つまり、送信されるデータの量）に基づいて、それらが必要とされるに応じて追加ワーカオブジェクトを生成してもよい。このように、メッセージトラフィックが増加するにつれて、データ送信オブジェクト102は、通信リンク16を一時的にパックするために追加のワーカオブジェクトを生成してもよい。同様に、データ送信オブジェクト102は、メッセージトラフィックの量が減少するにつれて、ワーカオブジェクトを排除してもよい。
【００４５】
システム設計者は、任意の製造メーカによって作られ得る任意の受信側通信ゲートウェイ又はクライアントを使用してここに記述される通信技術を実現することができる。実際、図２に示した送信側通信ゲートウェイ構成は、受信側通信ゲートウェイ42が、送信側通信ゲートウェイ26が通信リンク16を通じてデータを多重化するために複数の接続を使用していることを時間より前に知る必要がないように、多接続通信を確立するために互換性のある受信側通信ゲートウェイの機能性を強制する。さらに、送信側通信ゲートウェイ26は、接続を具体化したものとして記述されているが、上記システムは、接続が代わりに受信側通信ゲートウェイ42によって具体化されるように代わりに構成されてもよい。
【００４６】
図２〜図４に関して前述されたオブジェクトに基づく接続指向型通信技術は、トランスポート層内でTCPを利用しているものとして記述されているが、DCOM，CORBA，JAVA（登録商標），BEANS，SOAP等のより高い層でのその他のオブジェクトに基づく通信プロトコルが代わりに使用されてもよいことは、理解されなければならない。
【００４７】
図１〜図４に関してここに記述される多重化データ送信技術は、通常、リンク、特に、大きいディレイ帯域幅物及び／又は高いビット誤り率を有する衛星通信リンク等の通信リンクのスループットを高め、平均データ転送ディレイを減少するために任意の通信リンクに有利に適用され得る。さらに、ここに記述される通信技術は、複数の通信接続のそれぞれを、メッセージサイズ，送信バッファサイズ，コール間隔等のパラメータ値の異なるセットを使用して構成できるようにするため、所望される場合、通信リンクを通じたデータの全体的な流れは、リンクのスループットを高め、平均データ転送ディレイを低減するために調整することができる。さらに、ここに記述される通信技術は、リンクの特徴（例えば、ビット誤り率，往復送信時間ディレイ等）が、環境上の条件，ハードウェアの状態等のために経時的に変化する可能性があるという事実にも拘わらず、通信リンクのスループットを最適化し、平均データ転送ディレイを減少するために（通信接続設定パラメータに適切な調整を加えることによって）使用されてもよい。何れにせよ、ここに記述される通信技術が複数の通信接続を通じてデータの流れを調整する方法は、ワーカオブジェクト104〜108のうちの一又は複数の通信接続設定パラメータのうちの一又は複数を変更することによって調整又は適合することができ、これにより、ここに開示されている通信技術は、様々な伝送特徴を有する様々な通信リンクのスループットを高めることができる。
【００４８】
図７は、図２及び図３に示した通信接続が、通信リンクを通じたプロセス制御データを多重化するようにユニークに設定され得る１つの方法を示す例示的なタイミングチャート400である。例示のみにあっては、タイミングチャート400は、第１〜第４通信接続402〜408が、通信リンク16を通じてデータを効率的に伝送するために協調する方法を線図で図示する。特に、通信接続402〜408の伝送は、通信リンク16内でのアイドリング状態時間とデータ転送ディレイの最適な均衡を維持するために一時的にインタリーブされる。例えば、第１通信接続402は、メッセージ伝送間での第１時間間隔410と第２時間間隔412との間にメッセージ送信時間を生じさせるメッセージサイズ及びコール間隔のパラメータ値で構成され、第２通信接続404は、メッセージ伝送間での第３時間間隔411と第４時間間隔413との間にメッセージ送信時間を生じさせるメッセージサイズ及びコール間隔のパラメータ値で構成される。よく知られているように、メッセージ送信時間は、通信リンク16のビット伝送速度を、この場合にはメッセージサイズパラメータによって制御されるメッセージ内のビット数で乗算することによって計算され得る。
【００４９】
図７から理解できるように、通信接続402〜408は、接続402〜408が通信リンク16の使用に関して競合しないように、メッセージサイズパラメータ値（つまり、メッセージ送信時間）及びコール間隔のパラメータ値（つまり、反復速度又は周波数）でユニークに設定されてもよい。換言すれば、メッセージ送信時間及びメッセージ伝送速度は、通信リンク16の接続402〜408による使用が一時的にインタリーブされる（つまり、１つの接続だけが指定時に通信リンク16を通じてデータを伝送しようとする）ように選択される。さらに、メッセージサイズ及びコール間隔のパラメータ値は、通信リンク16の合計利用可能帯域幅の一部が通信接続402〜408のそれぞれに割り当てられるように選択されてもよい。一般的には、メッセージサイズパラメータ値が増加するにつれて、及びコール間隔パラメータ値が（リンクを通じた他の全ての通信に関して）指定された通信接続に関して減少するにつれて、指定された通信接続が通信リンクの合計利用可能帯域幅の相対的に更に大きな部分を消費する。
【００５０】
やはり図７に示したように、通信接続402〜408は、通信リンク16の帯域幅全体を消費しない。代わりに、通信接続402〜408は、データ再送信を処理するために必要とされ、参照符号414で例示的な波形によって表される何らかのアイドリング状態時間を確保するように構成される。確保されたアイドリング状態時間を使用しないと、データ再送信は、通信リンク16を通じたデータ転送ディレイでかなりの増加を生じさせるであろう。このように、データ再送信を処理するために十分な確保されたアイドリング状態時間を提供するために通信接続402〜408を構成すると、通信リンク16のアイドリング状態時間を大幅に増大する（つまり、スループットを低下する）ことなく、データ転送ディレイは最小に維持される。一般的に既に知られているように、データ転送ディレイは、多くの用途の場合、また、特にプロセス制御用途の場合、大きな転送ディレイによって古いデータが受信側通信ゲートウェイに伝送されることになるために望ましくない。このように、幾つかの用途では、平均データ転送ディレイの短縮のためにスループットを犠牲にすることが望ましいことがある。
【００５１】
図８は、図７に示した調和のとれたデータ多重化動作を達成するために通信接続402〜408を構成するために使用され得る設定パラメータ値を、例示のみとして図示する図表である。図表中から理解できるように、接続402〜408のそれぞれは、バイト単位のメッセージサイズ値及びHz単位の周波数であるコール間隔パラメータ値の逆数を含む。各接続の帯域幅割当ては、接続のためのメッセージサイズを、接続のためのコール間隔の逆数で乗算することによって計算され得る。具体的には、接続402〜408間での競争を防止するために、チャネル402〜408のそれぞれに対する帯域幅割当てに、再送信のために予備に割り当てられた帯域幅を加えた合計は、通信リンク16の総利用可能帯域幅未満又は等しくなければならない。さらに、通信接続の相対的な優先順位は、その接続に割り当てられている帯域幅に直接的に関係していることが認識されなければならない。このように、図７及び図８に図示されるように、第１通信接続402は、それが最大の帯域幅割り当て（つまり、毎秒20.8キロビット（kb/s））を有するために最高の相対的な優先順位を有する。勿論、相対的な優先順位、従って帯域幅割当ては、接続402〜408のそれぞれによって搬送されるデータの種類に基づいて行われてもよい。例えば、第１通信接続402は、アラームデータだけを搬送してもよく、その結果、第１通信接続402に対する相対的に大きい帯域幅割当ては、通信リンク16を通じて大量のアラーム情報を迅速に伝えることができるようにする。対照的に、第２通信接続404は、重大ではない測定データだけを搬送してもよく、従って毎秒4.8 kbという帯域幅割当ては、限られた量のこのようなデータだけをアラームデータと比較して指定された時間期間内で通信リンク16を通じて送信できるようにする。さらに、予備（つまり、再送信）のために必要とされる帯域幅は、リンクのビット誤り率を使用して決定され得る。何れにせよ、帯域幅割当ては、所望されるように、通信リンク16の総利用可能帯域幅を最適に稼働率するために（ユニークに設定可能な接続設定パラメータを介して）接続単位で行われてもよい。
【００５２】
例示のみにあっては、或る特定のプロセス制御システム、又はそれ以外のシステム用に通信リンクを通じたデータの調和のとれた多重化を達成するために、ここに記述される技術を使用する複数の通信接続の構成は、少なくとも部分的には、大きな範囲でシステム設計者によって又はシステム自体の中の物理的な制限によって課される制約に依存する。例えば、通信リンクが、ローカルシステムによって生成されるデータをリモートシステムに伝送するために必要とされるより多くの帯域幅を提供する場合には、システム設計者は、ローカルシステムによって生成されるそれぞれの種類のデータの量に基づいてそれぞれの種類のデータに帯域幅を割り当ててもよい。このように、ローカルシステムが毎秒20.8 kbという帯域幅割当てを使用してリンクを通じて伝送できるアラームデータの量を生成する場合、システム設計者は、その接続に割り当てられる帯域幅が毎秒20.8 kbより大きく又は等しくなるように、アラームデータを搬送する通信接続のメッセージサイズ及びメッセージ間時間のパラメータを設定する。勿論、多数のメッセージサイズ及びメッセージ間時間のパラメータ値が所望される帯域幅割当てを生じさせるため、システム設計者は、これらのパラメータ値の一方を選択してから、所望される帯域幅割当てを使用して他を計算しなければならない。例えば、システム設計者は、スループットとデータ転送ディレイとの間で所望の均衡を提供し（図９〜図１２に関して以下の説明を参照すること）、所望の帯域幅割当てを生じさせるメッセージ間時間のパラメータ値を計算してもよい。同様にして、システム設計者は、それぞれが特定の種類のデータを搬送し得る、残りの通信接続のそれぞれに関連するパラメータを適切に設定することにより残りのデータの種類に帯域幅を割り当てることができる。
【００５３】
更に詳細に記述される図９〜図１２は、通常、通信接続設定パラメータと通信リンクのスループットとの相対的な関係を示す。しかしながら、指定されたリンクの最適なスループットを提供する設定パラメータ値の特定のセットは、幾つかのケースでは経時的に変化し得るリンクの特徴に依存する。
【００５４】
図９は、指定されたバッファサイズの場合の通信リンクのメッセージサイズ，コール間隔，及びスループットの相対的な関係を例示的に示す図である。図９に示したように、通信リンクスループットは、メッセージサイズが増大するにつれて、また、コール間隔（凡例では「TBC」として示されている）が減少するにつれて増大する。
【００５５】
図１０は、指定されたメッセージサイズの場合の通信リンクのバッファサイズ，コール間隔，及びスループットの相対的な関係を例示的に示す図である。図１０に示したように、通信リンクスループットは、バッファサイズが増大するにつれて、また、コール間隔が減少するにつれて増大する。さらに、図１０は、通信リンクスループットが、コール間隔が減少するにつれてバッファサイズに対してより敏感になることを示している。
【００５６】
図１１は、指定されたバッファサイズの場合の通信リンクのメッセージサイズ，コール間隔，ビット誤り率，及びメッセージ伝送ディレイの相対的な関係を例示的に示す図である。図１１に示したように、平均メッセージ伝送ディレイは、メッセージサイズが増大するにつれて、また、コール間隔が減少するにつれて増大する。さらに、図１１は、平均メッセージ伝送ディレイが、ビット誤り率（凡例では「BER」として示されている）が上昇するにつれて増大することを示す。
【００５７】
図１２は、指定されたメッセージサイズの場合の通信リンクの通信リンクのバッファサイズ，コール間隔，ビット誤り率，及び伝送ディレイの相対的な関係を例示的に示す図である。図１２に示したように、平均メッセージ伝送ディレイは、バッファサイズが増大するにつれて、また、コール間隔が増加するにつれて減少する。
【００５８】
図９〜図１２に関して前述されたグラフは、経験的な試験方法を用いて生成され得る。例えば、通信接続は、特徴付けられる通信リンクを通じて開かれてもよく、試験メッセージは（例えば、ループ動作を使用することによって）リンクを通じて繰り返し送信されてもよい。試験メッセージが通信リンク16へ送信される都度、通信接続設定パラメータのうちの一又は複数が、通信リンクスループット及びデータ転送ディレイを監視しつつ変えられてもよい。このように、通信設定パラメータ及び通信リンク性能（つまり、スループット及びデータ転送ディレイ）の関係が生成され得る。
【００５９】
前述された通信技術は、大きなディレイ帯域幅物及び／又は高いビット誤り率を有する通信リンクを通じたデータの効率的な伝送を可能にする。一般的には、ここに記述される通信技術は、複数の通信接続を通じたデータの流れを調整することによって、スループットを増大し、通信リンクの平均データ転送ディレイを低減する。前述されたように、ここに記述される通信技術は、通信リンクを介して通信する制御システムのローカル部分とリモート部分との間の効率的な（つまり、送信されるデータの高いスループット及び単位あたりの低コスト）通信を可能にするために、プロセス制御システムの中で使用することができる。
【００６０】
一般的には、前述された通信技術は、コンピュータが読み取り可能なメモリから検索される多くのソフトウェアコードセグメント又はモジュールを実行するために汎用プロセッサを使用して効率的に実現されてもよい。例えば、図２〜図４に示されているアプリケーションオブジェクト100，データ送信オブジェクト102，データ受信オブジェクト206，並びにワーカオブジェクト104〜108及び200〜204は、それぞれ、メモリ上に記憶されている一又は複数のソフトウェアルーチン，コードセグメント等を含んでいてもよい。しかしながら、例えば、特定用途向け集積回路（つまり、ASIC）又はそれ以外の種類のハードウェア又はファームウェアを使用するハードウェアとソフトウェアのその他との組み合わせが、本発明の範疇を逸脱することなく同一の機能を達成するために使用されてもよい。
【００６１】
ソフトウェアで実現される場合、ここに説明されている機能ブロック及びルーチンは、磁気，光学，又はその他の記憶媒体等の任意のコンピュータが読み取り可能なメモリ内に、また、コンピュータ，コントローラ，フィールドデバイス等のRAM又はROMに記憶されてもよい。同様に、このソフトウェアは、搬送波上で変調され、例えば、電話回線，インターネット等の通信チャネル上を含む公知の又は所望の伝送方法を通じてユーザ又はデバイスに伝送されてもよい。さらに、ここに記述される通信技術の多様な機能は、送信側通信ゲートウェイ26及び受信側通信ゲートウェイ42内に集中化しているものとして記述されているが、図１に示したプロセス制御システム内のコントローラ，ワークステーション等の間で分配されてもよい。
【００６２】
本発明は、例示を意図し、本発明の制約となることが意図されない特定の例に関して記述されてきたが、変更、追加、又は削除が、本発明の目的及び範疇から逸脱することなく、開示された実施の形態に対して加えられてもよいことは、当業者にとっては明らかである。
【図面の簡単な説明】
【図１】  通信リンクを通じてプロセス制御データを多重化するために、複数のユニークに設定可能な通信接続を使用するサーバを有するプロセス制御ネットワークの例示的なブロック図である。
【図２】  図１の送信側通信ゲートウェイが、通信リンク内で複数の通信接続を通じてプロセス制御データを多重化するように構成され得る１つの方法を示す例示的な概略ブロック図である。
【図３】  図１の受信側通信ゲートウェイが、図１に示した送信側通信ゲートウェイの多重化データ送信を受信するように構成され得る１つの方法を示す例示的な概略ブロック図である。
【図４】  図２のデータ送信オブジェクトが、図２に示したアプリケーションオブジェクトから受信したデータを処理し得る１つの方法を示す例示的なフローチャートである。
【図５】  図２のデータ送信オブジェクトが、図２に示したワーカオブジェクトにデータを転送し得る１つの方法を示す例示的なフローチャートである。
【図６】  図２のワーカオブジェクトのそれぞれが、通信リンクの下位層にデータを伝送し得る１つの方法を示す例示的なフローチャートである。
【図７】  図２及び図３に示した通信接続が、通信リンクを通じたデータの調和のとれた多重化を達成するようにユニークに設定され得る１つの方法を線図で図示する例示的なタイミングチャートである。
【図８】  図２及び図３の通信接続が、図７に示した調和のとれたデータ多重化動作を達成するようにユニークに設定され得る１つの方法を示す図表である。
【図９】  通信リンクのメッセージサイズ，コール間隔，及びスループットの相対的な関係の例示的な図である。
【図１０】  通信リンクのバッファサイズ，コール間隔，及びスループットの相対的な関係の例示的な図である。
【図１１】  通信リンクのメッセージサイズ，コール間隔，ビット誤り率，及びメッセージ伝送ディレイの相対的な関係の例示的な図である。
【図１２】  通信リンクのバッファサイズ，コール間隔，ビット誤り率，及び伝送ディレイの相対的な関係の例示的な図である。
【符号の説明】
12  ローカルシステム
14  リモートシステム
16  通信リンク
18  衛星中継器（衛星）
20  通信チャネル
22  通信チャネル
24  ローカルユーザインタフェース
26  送信側通信ゲートウェイ
28  システムレベルデータバス
32  プロセッサ
34  ソフトウェアルーチン
36  メモリ
38  アンテナ
40  リモートユーザインタフェース
42  受信側通信ゲートウェイ
44  リモートシステムレベルデータバス
44  リモートデータバス（遠隔システムレベルデータバス）
48  プロセッサ
50  ソフトウェアルーチン
52  メモリ
54  アンテナ
56  第１コントローラ
58  第２コントローラ
60，62  フィールドデバイス
64〜68  スマートフィールドデバイス
70  I/O装置
72  プロトコルデータバス
74  コントローラ
76  データバス
78，80  スマートフィールドデバイス
82  I/Oデバイス
100  アプリケーションオブジェクト
102  データ送信オブジェクト
104〜108  ワーカオブジェクト
110〜114  タイマ機能
200〜204  ワーカオブジェクト
206  データ受信オブジェクト
208  受信側通信ゲートウェイアプリケーションオブジェクト
402〜408  通信接続（チャネル）
410〜413  時間間隔
414  アイドリング状態時間
【図１】
0004535655.tif 000002
【図２】
0004535655.tif 000003
【図３】
0004535655.tif 000004
【図４】
0004535655.tif 000005
【図５】
0004535655.tif 000006
【図６】
0004535655.tif 000007
【図７】
0004535655.tif 000008
【図８】
0004535655.tif 000009
【図９】
0004535655.tif 000010
【図１０】
0004535655.tif 000011
【図１１】
0004535655.tif 000012
【図１２】
0004535655.tif 000013