説明

サービスの質を伴う確かな通信のためのシステム及び方法

【課題】本発明の実施形態は、データの通信を容易にするシステム及び方法を提供する。
【解決手段】方法(600)は、データのブロックに優先順位を付ける工程と、そのデータブロックのヘッダにインジケータを設定する工程と、データのブロックを送信する工程と、データのブロックを再送信する工程とを有する。インジケータは、データのブロックの信頼できる配信が望まれていることを示す。インジケータは、少なくとも部分的にルールに基づいて設定される。インジケータは、メッセージ毎に設定される。データのブロックは、所定時間が経過し且つデータのブロックの配信の確認応答が受信されない場合に再送信される。

【発明の詳細な説明】
【技術分野】
【0001】
目下記載される技術は、概して、通信ネットワークに関する。より具体的に、目下記載される技術は、サービスの質(QoS)を伴う確かな通信のためのシステム及び方法に関する。
【背景技術】
【0002】
通信ネットワークは、様々な環境で利用されている。通信ネットワークには、通常、1又はそれ以上のリンクによって接続されている2又はそれ以上のノードが含まれている。一般的に、通信ネットワークは、リンク上の2又はそれ以上の参加者と通信ネットワーク内の中間ノードとの間の通信をサポートするために使用される。ネットワーク内には種々のノードが存在しうる。例えば、ネットワークには、クライアント、サーバ、ワークステーション、スイッチ、及び/又はルータ等のノードが含まれ得る。リンクは、例えば、電話回線、ワイヤ、イーサネット(登録商標)リンク、非同期転送モード(ATM)回路、衛星リンク、及び/又は光ファイバケーブルを介する最新の接続でありうる。
【0003】
通信ネットワークは、実際には、1又はそれ以上のより小さい通信ネットワークから構成され得る。例えば、インターネットは、しばしば、相互接続されているコンピュータネットワークのネットワークとして現される。各ネットワークは、異なるアーキテクチャ及び/又はトポロジを利用することができる。例えば、1のネットワークは、スター型トポロジを用いたスイッチド・イーサネット(登録商標)ネットワークであり、他のネットワークは、光ファイバ分散データインターフェース(FDDI)リングでありうる。
【0004】
通信ネットワークは、多種多様のデータを搬送することができる。例えば、ネットワークは、双方向の実時間での会話のためにデータと並行して大容量ファイル転送を運ぶことができる。ネットワーク上で送信されるデータは、しばしば、パケット、セル、又はフレームにおいて送信される。代替的に、データは、ストリームとして送信され得る。幾つかの事例で、データのストリーム又はフローは、実際には、パケットの列でありうる。インターネット等のネットワークは、一連のノード間の汎用データ経路を提供し、種々の要求を伴うありとあらゆるデータを搬送する。
【0005】
ネットワークを介する通信は、通常、多段階の通信プロトコルを含む。ネットワークスタック又はプロトコル群とも称されるプロトコルスタックは、通信に使用されるプロトコルの集合を現す。各プロトコルは、通信の特定の種類の能力又は形態に焦点を合わせられ得る。例えば、1のプロトコルは、銅線によって接続されている装置と通信するのに必要とされる電気信号に関係している。他のプロトコルは、例えば、多数の中間ノードによって分離されている2つのノードの間の順序付けられ且つ信頼できる送信をアドレス指定することができる。
【0006】
プロトコルスタック内のプロトコルは、通常、ヒエラルキーに存在する。しばしば、プロトコルは、層に分類される。プロトコル層のための1つの規範モデルは、開放型システム間相互接続(OSI)モデルである。OSI規範モデルは、7つの層、すなわち、物理層、データリンク層、ネットワーク層、トランスポート層、セッション層、プレゼンテーション層、及びアプリケーション層を有する。物理層は最下層であり、一方、アプリケーション層は最上層である。2つのよく知られているトランスポート層プロトコルは、トランスミッション制御プロトコル(TCP)及びユーザ・データグラム・プロトコル(UDP)である。よく知られているネットワーク層プロトコルはインターネット・プロトコル(IP)である。
【0007】
送信ノードで、送信されるべきデータは、最上位から最下位へとプロトコルスタックの層を下る。逆に、受信ノードでは、データは、最下位から最上位へと層を上る。各層で、データは、その層でのプロトコルハンドリング通信によって操作され得る。例えば、トランスポート層は、あて先ノードへの到着次第パケットの順序付けを可能にするヘッダをデータへ付加することができる。アプリケーションに依存して、幾つかの層は、用いられず、又は存在すらせず、データは単に通過する。
【0008】
1つの種類の通信ネットワークは戦術(tactical)データネットワークである。戦術データネットワークは、また、戦術通信ネットワークとも呼ばれる。戦術データネットワークは、軍隊(例えば、陸軍、海軍、及び/又は空軍。)等の組織内の部隊によって利用され得る。戦術データネットワーク内のノードには、例えば、個々の軍人、航空機、司令部隊、衛星、及び/又は無線が含まれる。戦術データネットワークは、声、位置の遠隔計測、センサデータ、及び/又は実時間映像等のデータをやり取りするために使用され得る。
【0009】
どのように戦術データネットワークが用いられ得るかという例は以下の通りである。後方支援部隊は、戦場内の戦闘部隊に補給品を提供するためにルート内にいる。後方支援部隊及び戦闘部隊は両方とも、衛星無線リンクを介して指令所へ遠隔測定により得た位置データを提供している。無人機(UAV)は、後方支援部隊が通る道に沿って巡回しており、同じく衛星無線リンクを介して指令所へ実時間映像データを送信している。指令所では、コントローラが道路の特定の区間に関して映像を提供するようUAVに指示しており、一方、分析専門家は映像データを調べることができる。次いで、分析専門家は、後方支援部隊が近づいている簡易爆発物(IED)を発見し、IEDの存在を後方支援部隊に警告するとともに、後方支援部隊が停止するよう指令を直接無線リンクを介して後方支援部隊に送出することができる。
【0010】
戦術データネットワーク内に存在しうる様々なネットワークは、多種多様なアーキテクチャ及び特徴を有することができる。例えば、司令部隊内のネットワークは、より一層低いスループット及びより高いレイテンシー(latency)を有して動くフィールドユニット及び衛星への無線リンクとともに、ギガビットのイーサネット(登録商標)ローカルエリアネットワーク(LAN)を有することができる。フィールドユニットは、衛星を介して及び直接経路無線周波数(RF)を介して通信することができる。データは、データの特性及び/又はネットワークの特定の物理的特徴に依存して、ポイント・ツー・ポイント、マルチキャスト、又はブロードキャストで送信され得る。ネットワークは、例えば、データを中継するよう構成されている無線通信を含みうる。加えて、ネットワークは、長距離通信を可能にする高周波(HF)ネットワークを含みうる。例えば、マイクロ波ネットワークがまた使用されても良い。リンク及びノードの種類の多様性により、他にも理由があるが、戦術ネットワークは、しばしば、過度に複雑なネットワークアドレッシング方式及びルーチングテーブルを有する。加えて、無線に基づくネットワーク等の幾つかのネットワークは、バースト(burst)を用いて動作することができる。すなわち、連続的にデータを送信するのではなく、それらは、周期的なデータのバーストを送信する。このことは、無線が全ての参加者によって共有されるべき特定のチャネルでのブロードキャスティングであって、唯1つの無線が1度に送信することができるために有用である。
【0011】
戦術データネットワークは、一般的に、帯域幅を制約される。すなわち、通常、通信されるべきデータは、如何なる所与の時点でも利用可能な帯域幅よりも多く存在する。かかる制約は、例えば、供給を超える帯域幅要求、及び/又は利用可能な通信技術がユーザの必要性を満足することができるほど十分に帯域幅を提供しないことのいずれかに起因する。例えば、幾つかのノードの間で、帯域幅はキロビット/秒のオーダーでありうる。帯域幅を制約される戦術データネットワークで、より重要でないデータはネットワークの動きを妨げ、より重要なデータがタイムリーに伝わり又はとにかく受信ノードに到達することを妨げる。加えて、ネットワークの一部分は、信頼できないリンクを補償するよう内部バッファリングを有することができる。これは、更なる遅延を引き起こしうる。更に、バッファがいっぱいになると、データは欠落することがある。
【0012】
多くの事例で、ネットワークが利用可能である帯域幅は増大され得ない。例えば、衛星通信リンク上で利用可能な帯域幅は固定され、他の衛星を配置しなければ有効に増大され得ない。かかる状況で、帯域幅は、要求を処理すべく単純に拡張されるのではなく管理されなければならない。大きなシステムでは、ネットワークの帯域幅は重大なリソースである。可能な限り効率良く帯域幅を利用することがアプリケーションにとっては望ましい。加えて、帯域幅が制限される場合に、アプリケーションが“パイプ詰まり(clogging the pipe)”、すなわち、データによるリンクの沈滞(overwhelming)を回避することが望ましい。帯域幅の割り当てが変わる場合に、望ましくは、アプリケーションは反応すべきである。帯域幅は、例えば、サービスの質、ジャミング、信号妨害、優先度再割り当て、及びライン・オブ・サイト(line-of-sight)等により動的に変化しうる。ネットワークは極めて不安定であり、利用可能な帯域幅は動的に且つ前触れもなく変化しうる。
【0013】
帯域幅の制約に加えて、戦術データネットワークは高いレイテンシーを欠点とする。例えば、衛星リンクを介する通信を含むネットワークは、2分の1秒又はそれ以上のオーダーでレイテンシーを負う。幾つかの通信に関しては、このことは問題ではないが、実時間通信、双方向通信(例えば、音声通信。)等の他の通信に関しては、可能な限りレイテンシーを最小限とすることが極めて望ましい。
【0014】
多数の戦術データネットワークに共通する他の特徴はデータ損失である。データは、様々な理由により失われ得る。例えば、送信すべきデータを有するノードは、損傷を与えられたり又は破壊されたりすることがある。他の例として、あて先ノードは、ネットワークから一時的に外れることがある。これは、例えば、ノードが範囲外に移動したり、通信リンクが遮断されたり、及び/又はノードが妨害されたりするために起こりうる。あて先ノードがデータを受信することができず、中間ノードが、あて先ノードが利用可能となるまでにデータをバッファリングすることができるほど十分な容量を欠いているために、データは失われ得る。更に、中間ノードは、全くデータをバッファリングせず、代わりに、データがこれまで実際にあて先ノードに到達したかどうかを判断するよう送信ノードに委ねる。
【0015】
しばしば、戦術データネットワークにおけるアプリケーションは、ネットワークの特定の特徴に気付かず、及び/又はそれを把握しない。例えば、アプリケーションは、単純に、必要とするだけの量の利用可能な帯域幅を有すると想定する。他の例として、アプリケーションは、データがネットワークにおいて失われないと想定する。基礎を成す通信ネットワークの特定の特徴を考慮しないアプリケーションは、実際に問題を悪化させるように振る舞う。例えば、アプリケーションは、より長い束でそれほど頻繁でなく有効に送信されうるデータのストリームを連続的に送信することができる。連続的なストリームは、例えば、他のノードに通信することを渇望させるブロードキャスト無線ネットワークで、より一層大きなオーバヘッドを抱え、一方、より少ない頻度のバーストは、共有される帯域幅がより有効に使用されることを可能にする。
【0016】
あるプロトコルは、戦術データネットワーク上では適切に作動しない。例えば、TCP等のプロトコルは、ネットワークが直面する高い損失レート及びレイテンシーのために、無線に基づく戦術ネットワーク上で適切に機能することができない。TCPは、データを送信するために現れるべきハンドシェイキング(handshaking)及び確認応答の幾つかの形態を必要とする。高いレイテンシー及び損失は、TCPのヒッティング(hitting)のタイムアウトをもたらし、もしあれば、意味のあるデータをこのようなネットワークを介してほとんど送信することができない。
【0017】
戦術データネットワークにより伝送される情報は、しばしば、ネットワーク内の他のデータに対して様々なレベルの優先度を有する。例えば、航空機における危険警報受信機は、数マイル離れた部隊に関する位置遠隔計測情報よりも高い優先度を有しうる。他の例として、交戦に関係する司令部からの命令は、味方の戦線の後方の兵站通信よりも高い優先度を有しうる。優先度レベルは、送信側及び/又は受信側の特定の状況に依存する。例えば、位置遠隔計測データは、部隊が単に標準の巡回ルートを辿っている場合に比べ、部隊が積極的に戦闘中である場合に、より一層高い優先度を有しうる。同様に、UAVからの実時間映像データは、UAVが単にルート内にある場合とは対照的に、UAVが目的の領域上にある場合に、より高い優先度を有しうる。
【0018】
ネットワーク上でデータを伝送するための幾つかのアプローチがある。多数の通信ネットワークにより使用される1つのアプローチは、ベストエフォート(best effort)型のアプローチである。すなわち、やり取りされるデータは、容量、レイテンシー、信頼性、順序付け、及びエラーに関して、他の要求を鑑み、ネットワークがそうすることができるのと同様に扱われ得る。このように、ネットワークは、如何なる所与のデータ片もタイムリーに又は何としてもそのあて先ノードに到達するという保証を与えない。更に、データが、送信される順序で、又はデータ内の1又はそれ以上のビットを変更するエラーを送信することなく到着するという保証はされない。
【0019】
他のアプローチは、サービスの質(Quality of Service(QoS))である。QoSは、搬送されるデータに関して様々な保証形態を提供するネットワークの1又はそれ以上の能力を表す。例えば、ネットワーク支援QoSは、データストリームに対して一定量の帯域幅を保証することができる。他の例として、ネットワークは、2つの特定のノードの間のパケットが一定の最大レイテンシーを有することを保証することができる。このような保証は、2つのノードがネットワークを介して会話する2人の人であるところの音声通話の場合に有用でありうる。このような場合におけるデータ伝送での遅延は、例えば、通信における腹立たしい途切れ、及び/又は沈黙をもたらしうる。
【0020】
QoSは、選択されたネットワークトラフィックへより良いサービスを提供するネットワーク能力と考えられる。QoSの主要目的は、専用の帯域幅、(ある実時間且つ双方向のトラフィックによって必要とされる)制御されるジッタ及びレイテンシー、並びに改善された損失特性を含む優先度を提供することである。他の重要な目的は、1つのフローに優先度を与えることにより他のフローが機能しなくなることがないことを確かにすることである。すなわち、後のフローのための保証は、既存のフローのための保証を中断させてはならない。
【0021】
QoSに対する現在のアプローチは、しばしば、ネットワーク内の全てのノードがQoSをサポートすることを要し、あるいは、最低限でも、特定の通信に含まれるネットワーク内の全てのノードがQoSをサポートすることを要する。例えば、現在のシステムでは、2つのノードの間でレイテンシー保証を提供するために、かかる2つのノードの間でトラフィックを搬送する全てのノードは、オナー(honor)に気付いて同意し、更に、保証を受け取る能力を有さなければならない。
【0022】
QoSを提供する幾つかのアプローチがある。1つのアプローチは、統合サービス(Integrated Service)、すなわち“IntServ.”である。IntServは、ネットワーク内の全てのノードがサービスをサポートし、それらのサービスが、接続がセットアップされる場合に留保されるところのQoSシステムを提供する。IntServは、全てのノードで保持されるべき大量のステート情報、及びこのような接続をセットアップすることに関連するオーバヘッドにより、適切な大きさにない。
【0023】
QoSを提供する他のアプローチは、分化サービス(differentiated service)、すなわち“DiffServ.”である。DiffServは、インターネット等のネットワークのベストエフォート型のサービスを高めるサービスのクラスである。DiffServは、ユーザ、サービス要求、及び他の基準によってトラフィックを区別する。次いで、DiffServはパケットにマークを付す。これにより、ネットワークノードは、優先順序列(priority queuing)又は帯域幅割り当てを介して、あるいは特定のトラフィックフローのための専用ルートを選択することによって、様々なレベルのサービスを提供することができる。通常、ノードは、サービスのクラスごとに様々なキューを有する。次いで、ノードは、クラスのカテゴリに基づいてそれらのキューから送信すべき次のパケットを選択する。
【0024】
既存のQoSによる解決法はしばしばネットワーク特有であり、各ネットワーク種類又はアーキテクチャは異なるQoS設定を必要としうる。既存のQoSによる解決法が利用するメカニズムに起因して、現在のQoSシステムに対して同じものに見えるメッセージは、実際には、メッセージのコンテンツに基づいて異なる優先度を有しうる。しかし、データの需要者は、より低い優先度のデータであふれることなく高い優先度のデータへのアクセスを必要としうる。既存のQoSシステムは、トランスポート層にあるメッセージコンテンツに基づくQoSを提供することができない。
【発明の概要】
【発明が解決しようとする課題】
【0025】
上述されるように、既存のQoSによる解決法は、少なくとも、特定の通信に含まれるノードがQoSをサポートすることを要する。しかし、ネットワークのエッジ(edge)にあるノードは、たとえそれらが全体的な保証を行うことができないとしても、幾らかの改善をQoSにおいて提供するよう適合され得る。ノードは、それらが通信中の加入ノード(すなわち、送信及び/又は受信ノード。)である場合に、及び/又はそれらがネットワーク内のチョークポイント(chokepoint)に配置されている場合に、ネットワークのエッジにあると見なされる。チョークポイントは、全てのトラフィックが他の部分に移動しなければならないところのネットワークのセクションである。例えば、LANから衛星リンクへのルータ又はゲートウェイは、LANからあらゆるノードへの全てのトラフィックがゲートウェイを通って衛星リンクへ至らなければならないので、チョークポイントでありうる。
【0026】
上述されるように、戦術データネットワークは、高いレイテンシー及び/又はデータ損失レートを有しうる。結果として、アプリケーションは、戦術データネットワークを介してノードと通信する場合に、望ましくない挙動を示すことがある。信頼できる配信(reliable delivery)等のサービスを提供するTCPのようなプロトコルは、このようなネットワーク上で使用される場合に適切に機能しないことがある。例えば、低い帯域幅、高いレイテンシー、及び/又は高いデータ損失レートを有して戦術データネットワークを介してノードと通信するアプリケーションは、TCP等のプロトコルが正確に動作することを妨げるタイムアウト及び欠落データにより、正確には、あるいは全く、機能しないことがある。このようにして、戦術データネットワークを介して確実にメッセージをやり取りすることができることが極めて望ましい。
【0027】
戦術データネットワークでのメッセージの送信側は、特定のメッセージに関して保証された配信を望む。例えば、戦場内の部隊からの位置遠隔計測データは、かかるデータが頻繁に更新され送信されるので、確実な配信を必要とせず、従って、たとえ幾らかのメッセージが落とされるとしても、十分に、有効であるよう戦術データネットワークを介して得られる。対照的に、命令等のメッセージは、一般に、確実な配信を有するよう望まれる。受信されない命令は、全く命令がないのと同じである。例えば、1つの部隊内の指揮官は、協力する戦場部隊に特定の地図位置にいるよう又はそのままの位置にいるよう命ずることができる。協力する部隊が命令を受け取らない場合は、それらの部隊は、夫々、互いに期待する位置にいないので、互いを敵部隊と取り違う可能性がある。このように、戦術データネットワークを介して特定のメッセージを確実にやり取りすることができることが極めて望ましい。
【0028】
従って、戦術データネットワークにおいてQoSを提供するシステム及び方法が必要である。戦術データネットワークのエッジでQoSを提供するシステム及び方法が必要である。更に、QoSを伴う確実な通信のためのシステム及び方法が必要である。
【課題を解決するための手段】
【0029】
本発明の実施形態は、データの通信を助けるシステム及び方法を提供する。方法は、データのブロックに優先順位を付ける工程と、インジケータを前記データのブロックのヘッダに設定する工程と、前記データのブロックを送信する工程と、前記データのブロックを再送信する工程とを有する。前記インジケータは、前記データのブロックの信頼できる配信が望まれていることを示す。前記インジケータは、少なくとも部分的にルールに基づいて設定される。前記インジケータは、メッセージ毎に設定される。前記データのブロックは、所定時間が経過した場合及び該データのブロックの配信の確認応答が受信されない場合に再送信される。
【0030】
ある実施形態は、通信コンポーネント、優先順位付けコンポーネント、及び信頼性コンポーネントを有する、ネットワークでコンテンツに基づくサービスの質を提供するデータ通信システムを提供する。前記通信コンポーネントは、データのブロックを受信するよう構成される。前記通信コンポーネントは、前記データのブロックを送信するよう構成される。前記優先順位付けコンポーネントは、少なくとも部分的に前記データのブロックのコンテンツ及び利用可能な優先順位付けルールの組から選択される優先順位付けルールに基づいて該データのブロックに優先順位を付けるよう構成される。前記信頼性コンポーネントは、利用可能な信頼性ルールの組から選択される信頼性ルールに少なくとも部分的に基づいて前記データのブロックにインジケータを設定するよう構成される。前記信頼性コンポーネントは、受信されるデータのブロック内の信頼性インジケータに少なくとも部分的に基づいて確認応答メッセージを送信するよう構成される。
【0031】
ある実施形態は、コンピュータで実行される命令の組であって、通信ルーチン、優先順位付けルーチン及び信頼性ルーチンを有する命令の組を有するコンピュータ読取可能な媒体を提供する。前記通信ルーチンは、データを受信するよう構成される。前記通信ルーチンは、前記データを送信するよう構成される。前記優先順位付けルーチンは、少なくとも部分的に前記データのコンテンツに基づいて該データに優先順位を付けるよう構成される。前記信頼性ルーチンは、利用可能な信頼性ルールの組から選択される信頼性ルールに少なくとも部分的に基づいて前記データにインジケータを設定するよう構成される。前記信頼性ルーチンは、受信されるデータのブロック内の信頼性インジケータに少なくとも部分的に基づいて確認応答メッセージを送信するよう構成される。
【図面の簡単な説明】
【0032】
【図1】本発明の実施形態により動作する戦術通信ネットワーク環境を表す。
【図2】本発明の実施形態に従う7層OSIネットワークモデルにおけるデータ通信システムの位置付けを示す。
【図3】本発明の実施形態に従うデータ通信システムにより円滑にされる複数ネットワークの例を表す。
【図4】本発明の実施形態により動作するデータ通信環境を表す。
【図5】本発明の実施形態に従うデータ通信システムを表す。
【図6】本発明の実施形態に従うデータ通信方法のフロー図を表す。
【発明を実施するための形態】
【0033】
以下の要約、及び本発明の特定の実施形態に関する以下の詳細な記載は、添付の図面とともに読まれる場合により良く理解される。本発明を表すために、特定の実施形態が図面には示されている。しかし、当然、本発明は、添付の図面に示される配置及び手段に限定されない。
【0034】
図1は、本発明の実施形態により動作する戦術通信ネットワーク環境100を表す。ネットワーク環境100は、複数の通信ノード110と、1又はそれ以上のネットワーク120と、ノード及びネットワークを接続する1又はそれ以上のリンク130と、ネットワーク環境100の構成要素上での通信を円滑にする1又はそれ以上の通信システム150とを有する。以下の検討では、ネットワーク環境100には1又はそれ以上のネットワーク120及び1よりも多いリンク13が含まれているとする。しかし、当然、他の環境が可能であり予測される。
【0035】
通信ノード110は、例えば、無線、送信機、衛星、受信機、ワークステーション、サーバ及び/又は他の計算又は処理デバイスでありうる、且つ/あるいは、それらを含みうる。
【0036】
ネットワーク120は、例えば、ノード110の間でデータを送信するためのハードウェア及び/又はソフトウェアでありうる。ネットワーク120は、例えば、1又はそれ以上のノード110を含みうる。
【0037】
リンク130は、ノード110及び/又はネットワーク120の間の送信を可能にする有線及び/又は無線の接続でありうる。
【0038】
通信システム150は、例えば、ノード110、ネットワーク120、及びリンク130の間でのデータ送信を助けるために使用されるソフトウェア、ファームウェア、及び/又はハードウェアを含みうる。図1に表されるように、通信システム150は、ノード110、ネットワーク120、及び/又はリンク130に対して実装され得る。ある実施形態では、全てのノード110が通信システム150を有する。ある実施形態では、1又はそれ以上のノード110が通信システム150を有する。ある実施形態では、1又はそれ以上のノード110は通信システム150を有することができない。
【0039】
通信システム150は、ネットワーク環境100等の戦術通信ネットワーク上の通信を確実にすることを助けるようデータの動的管理を提供する。図2に示されるように、ある実施形態で、システム150は、OSI7層プロトコルモデルにおけるトランスポート層の部分として及び/又はその上部で動作する。システム150は、例えば、トランスポート層へ送られる戦術ネットワーク内のより高い優先度のデータを優先することができる。システム150は、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)等の単一ネットワークにおいて、あるいは複数のネットワークにわたって、通信を円滑にするために使用され得る。複数ネットワークシステムの例が図3に示されている。システム150は、例えば、追加の帯域幅をネットワークへ付加するのではなく、利用可能な帯域幅を管理するために使用され得る。
【0040】
ある実施形態で、システム150はソフトウェアシステムである。しかし、システム150は、様々な実施形態においてハードウェア及びソフトウェア両方の構成要素を含みうる。システム150は、例えば、ネットワークハードウェアに依存しない。すなわち、システム150は、様々なハードウェア及びソフトウェアプラットフォームで機能するよう構成され得る。ある実施形態で、システム150は、ネットワークの内部でノードにおいてよりむしろネットワークのエッジで動作する。しかし、システム150は、ネットワーク内の“チョークポイント”等、ネットワークの内部で同様に動作することができる。
【0041】
システム150は、利用可能な帯域幅を最適化すること、情報に優先度を設定すること、及びネットワーク内のデータリンクを管理すること等のスループット管理機能を実行するためにルール及びモード又はプロファイルを使用することができる。帯域幅を最適化することによって、目下記載される技術は、1又はそれ以上のネットワークでデータをやり取りするよう帯域幅の使用の効率を高めるために用いられ得る。帯域幅の使用を最適化することには、例えば、機能的に余剰のメッセージを除くこと、メッセージストリームの管理又はシークエンシング(sequencing)、及びメッセージの圧縮が含まれ得る。情報に優先度を設定することには、例えば、インターネットプロトコル(IP)に基づく技術よりも精細にメッセージの種類を区別すること、及び選択された、ルールに基づくシークエンシングアルゴリズムを介してデータストリーム上にメッセージを配列することが含まれ得る。データリンクの管理には、例えば、ルール、モード、及び/又はデータトランスポートにおける変化に作用するネットワーク管理のルールに基づく解析が含まれ得る。モード又はプロファイルには、調子又は状態に関する特定のネットワークステートの動作上の必要性に関するルールの組が含まれ得る。システム150は、オンザフライで新しいモードを定義してそれに切り替わることを含め、モードに関する動的なオンザフライの再設定を提供する。
【0042】
通信システム150は、例えば、不安的な、帯域幅を制限されたネットワークで、変化する優先度及びサービスの程度に適合するよう構成され得る。システム150は、改善されたデータフローがネットワークにおける応答機能を増やし且つ通信レイテンシーを減らす助けとなるよう情報を管理するように構成され得る。更に、システム150は、通信の利用可能性、生存性、及び信頼性を改善するようアップグレード及び拡張が可能であるフレキシブルなアーキテクチャを介して相互接続性を提供することができる。システム150は、例えば、所定の予測可能なシステムリソース及び帯域幅を用いながら、動的に変化する環境に自動で適合可能であるデータ通信アーキテクチャをサポートする。
【0043】
ある実施形態で、システム150は、ネットワークを用いるアプリケーションに対して依然として透過的でありながら、帯域幅を制約された戦術通信ネットワークへスループット管理を提供する。
【0044】
システム150は、ネットワークへ、低減された複雑性で、複数のユーザ及び環境にわたるスループット管理を提供する。上述されるように、ある実施形態で、システム150は、OSI7層モデルの層4(トランスポート層)において及び/又はその上部でホストノードで動き、専門のネットワークハードウェアを必要としない。システム150は、層4インターフェースに対して透過的に動作することができる。すなわち、アプリケーションは、トランスポート層のための標準インターフェースを利用することができ、システム150の動作には気付かない。例えば、アプリケーションがソケットを開く場合に、システム150は、プロトコルスタック内のこの点でデータをフィルタリングすることができる。システム150は、アプリケーションが、システム150に特有のインターフェースではなく、例えば、ネットワーク上の通信デバイスでオペレーティングシステムによって提供されるTCP/IPソケットを使用することを可能にすることによって、透明性(transparency)を達成する。システム150のルールは、例えば、拡張マークアップ言語(XML)で書かれ、及び/又はカスタム動的リンクライブラリ(DLL)を介して提供され得る。
【0045】
ある実施形態で、システム150は、ネットワークのエッジでサービスの質(QoS)を提供する。システムのQoS機能は、例えば、コンテンツに基づく、ルールに基づくデータ優先順位付けをネットワークのエッジで提供する。優先順位付けには、例えば、差別化及び/又はシークエンシングが含まれ得る。システム150は、例えば、ユーザ設定可能な差別化ルールに基づいてメッセージをキューに区別することができる。メッセージは、ユーザによって設定されたシークエンシングルール(例えば、飢餓性(starvation)、ラウンドロビン(round robin)、相対頻度等。)によって指示される順序でデータストリームに配列される。エッジでQoSを用いると、例えば、従来のQoSアプローチによっては区別できないデータメッセージが、メッセージのコンテンツに基づいて区別され得る。ルールは、例えば、XMLで実施され得る。ある実施形態で、XMLを超える機能に適合するよう及び/又は極めて低いレイテンシー要求をサポートするよう、システム150は、例えば、動的リンクライブラリがカスタムコードを有して与えられることを可能にする。
【0046】
ネットワークにおける受信及び/又は送信データは、システム150を介してカスタマイズされ得る。優先順位付けは、例えば、優先度の低い大量のデータからクライアントアプリケーションを保護する。システム150は、特定の操作シナリオ又は制約をサポートするようアプリケーションがデータを受信することを確かにするのに役立つ。
【0047】
ある実施形態で、ホストが、帯域幅を制約された戦術ネットワークへのインターフェースとしてのルータを有するLANへ接続されている場合に、システムは、プロキシによってQoSとして知られている設定において動作することができる。この設定で、ローカルLAN行きのパケットはシステムを迂回して、即座にLANへ向かう。システムは、帯域幅を制約された戦術リンク行きのパケットへネットワークのエッジでのQoSを適用する。
【0048】
ある実施形態で、システム150は、命令されるプロファイルスイッチングを介して複数の操作シナリオ及び/又はネットワーク環境に動的なサポートを提供する。プロファイルには、ユーザ又はシステムが示されたプロファイルを変更することを可能にする名又は他の識別子が含まれ得る。プロファイルには、また、例えば、機能的冗長性ルール識別子、差別化ルール識別子、アーカイバル(archival)・インターフェース識別子、シークエンシングルール識別子、送信前(pre-transmit)インターフェース識別子、送信後(post-transmit)インターフェース識別子、トランスポート識別子、及び/又は他の識別子等の1又はそれ以上の識別子が含まれ得る。機能的冗長性ルール識別子は、例えば、データの陳腐化又はその後の同様のデータ等から機能的冗長性を検出するルールを特定する。差別化ルール識別子は、例えば、処理のためにメッセージをキューに区別するルールを特定する。アーカイバル・インターフェース識別子は、例えば、アーカイバル・システムへのインターフェースを特定する。シークエンシングルール識別子は、キューフロント(queue fronts)のサンプル、ひいては、データストリームにおけるデータのシークエンシングを制御するシークエンシングアルゴリズムを識別する。送信前インターフェース識別子は、例えば、暗号化及び圧縮等の特別の処理を提供する送信前処理のためのインターフェースを特定する。送信後インターフェース識別子は、例えば、復号化及び解凍等の処理を提供する送信後処理のためのインターフェースを特定する。トランスポート識別子は、選択されているトランスポートのためのネットワークインターフェースを識別する。
【0049】
プロファイルには、また、例えば、キューサイジング(queue sizing)情報等の他の情報が含まれ得る。キューサイジング情報は、例えば、キューの数並びに各キューのためのメモリ及び二次記憶装置の量を特定する。
【0050】
ある実施形態で、システム150は、帯域幅を最適化するための、ルールに基づくアプローチを提供する。例えば、システム150は、メッセージをメッセージキューに区別するためにキュー選択ルールを用いることができる。これにより、メッセージは、データストリームにおいて優先度及び適切な相対頻度を割り当てられ得る。システム150は、機能的に余剰のメッセージを管理するために機能的冗長性ルールを使用することができる。メッセージは、例えば、未だネットワーク上で送信されていない以前のメッセージと(ルールによって定義されるように)それほど異ならない場合には機能的に余剰である。すなわち、予め送信される予定になっているが未だ送信されていないより古いメッセージとそれほど異ならない新しいメッセージが提供される場合は、より古いメッセージは、機能的に等価なメッセージを搬送し且つ更にキューにおいて前方にあるので、より新しいメッセージは落とされても良い。加えて、機能的冗長性は、より古いメッセージが送信される前に到達するより新しいメッセージ及び実際の複製メッセージを多数含む。例えば、ノードは、耐障害性を理由として2つの異なる経路によって送信されたメッセージ等、基礎をなすネットワークの特徴に起因する特定のメッセージの同一の複製を受信することがある。他の例として、新しいメッセージは、未だ送信されていないより古いメッセージに取って代わるデータを含みうる。この状況で、システム150は、より古いメッセージを落として、新しいメッセージのみを送信することができる。システム150は、また、データストリームの、優先度に基づくメッセージシーケンスを決定する優先度シークエンシングルールを有することができる。更に、システム150は、圧縮及び/又は暗号化等の送信前及び送信後の特別の処理を提供する送信処理ルールを有することができる。
【0051】
ある実施形態で、システム150は、データのインテグリティ(integrity)及び信頼性を保護する助けをする耐障害性機能を提供する。例えば、システム150は、メッセージをキューに区別するために、ユーザにより定義されるキュー選択ルールを使用することができる。キューは、例えば、ユーザ定義の設定に従う大きさを有する。この設定は、例えば、キューが取ることができるメモリの最大量を特定する。更に、この設定は、ユーザが、キューのオーバフローのために使用され得る二次記憶装置の場所及び量を特定することを可能にする。キューにおけるメモリがいっぱいになった後、メッセージは二次記憶装置内のキューに入れられ得る。更に二次記憶装置もいっぱいになる場合は、システム150は、キューにおいて最も古いメッセージを除去し、エラーメッセージを記憶し、最新のメッセージをキューに入れることができる。アーカイビングが動作モードに有効にされる場合は、待機解除されたメッセージが、そのメッセージがネットワーク上で送信されなかったというインジケータ(indicator)を有してアーカイブに保管され得る。
【0052】
システム150におけるキューのためのメモリ及び二次記憶装置は、例えば、特定の用途のためにリンク毎に構成され得る。ネットワークを利用可能な期間の間の時間が長くなればなるほど、ネットワーク機能停止をサポートするために、メモリ及び二次記憶装置はますます大きくなる。システム150は、ネットワークモデリング及びシミュレーションアプリケーションと一体化され得、例えば、キューが適切な大きさにされ、更に、機能停止の時間間隔が定常状態を達成するのを助け且つ結果として生ずるキューのオーバフローを回避するのを助けるほど十分であることを確かにするのに役立つようサイジングを識別するのを助ける。
【0053】
更に、ある実施形態で、システム150は、受信(シェイピング(shaping))及び送信(ポリシング(policing))データを測定する機能を提供する。ポリシング及びシェイピング機能は、ネットワーク内でのタイミングの不整合に対処するのに役立つ。シェイピングは、ネットワークバッファがより低い優先度のデータの後ろに並べられている高い優先度のデータによりあふれることを防ぐ働きをする。ポリシングは、アプリケーションデータの需要者が低い優先度のデータによって圧倒(overrun)されることを防ぐ働きをする。ポリシング及びシェイピングは、2つのパラメータ、すなわち、有効リンク速度及びリンク比(proportion)によって管理され得る。システム150は、例えば、リンク比を乗じられた有効リンク速度に過ぎないデータストリームを形成することができる。かかるパラメータは、ネットワークが変わる場合に動的に変更され得る。システムは、また、データ計測でのアプリケーションレベル決定をサポートするよう、検出されたリンク速度へのアクセスを提供することができる。システム150によって提供される情報は、どのようなリンク速度が所与のネットワークシナリオによって適切であるかを決定するのを助けるよう他のネットワーク動作情報と結合され得る。
【0054】
図4は、本発明の実施形態により動作するデータ通信環境400を表す。環境400は、ソースノード410と、ソースデータ通信システム415と、あて先ノード420と、あて先データ通信システム425とを有する。
【0055】
ソースノード410は、あて先ノード420と通信する。ソースノード410は、例えば、リンクを介してあて先ノード420と通信することができる。リンクは、例えば、戦術データネットワークの一部でありうる。ソースノード410は、例えば、1よりも多いリンク及び/又は中間ノードを介してあて先ノード420と通信することができる。
【0056】
ソースデータ通信システム415は、あて先データ通信システム425と通信する。ソースデータ通信システム415は、例えば、リンクを介してあて先データ通信システム425と通信することができる。リンクは、例えば、戦術データネットワークの一部でありうる。ソースデータ通信システム415は、例えば、1よりも多いリンク及び中間ノードを介してあて先データ通信システム425と通信することができる。
【0057】
ソースノード410は、ソースデータ通信システム415と通信する。ある実施形態で、ソースデータ通信システム415はソースノード410で実行される。ある実施形態で、ソースデータ通信システム415は、ソースノード410とは異なるノードで実行され、リンクを介してソースノード110と通信する。
【0058】
あて先ノード420は、あて先データ通信システム425と通信する。ある実施形態で、あて先データ通信システム425はあて先ノード420で実行される。ある実施形態で、あて先データ通信システム425は、あて先ノード420とは異なるノードで実行され、リンクを介してあて先ノード420と通信する。
【0059】
ソースノード410は、ソースデータ通信システム415及びあて先データ通信システム425を通してあて先ノード420と通信することができる。
【0060】
ソースデータ通信システム415は、例えば、前出のデータ通信システム150と同じであっても良い。あて先データ通信システム425は、例えば、前出のデータ通信システム150と同じであっても良い。ソースデータ通信システム415は、例えば、あて先データ通信システム425と同じであっても良い。
【0061】
動作において、ソースノード410は、少なくとも部分的に、ソースデータ通信システム415を用いてあて先ノード420へ送られるべきデータを提供及び/又は生成する。ソースノード410は、例えば、アプリケーション、無線、衛星、又はネットワークを有することができる。ソースノード410は、上述されるように、リンクを介してソースデータ通信システム415と通信することができる。代替的に、ソースノード410は、ソースデータ通信システム415と同じ計算システムで実行されるアプリケーションであっても良く、更に、例えば、プロセス間通信を用いて、又はソケット等のアプリケーションプログラミングインターフェース(API)を用いてソースデータ通信システム415と通信することができる。アプリケーションの観点からすれば、アプリケーションは、データがインターフェースを介してソースデータ通信システム415へ送られていることに気付かない。このように、ある実施形態で、ソースデータ通信システム415は、例えば、計算システムのドライバとして動作し、及び/又はソースノード410によってそのようなドライバと見なされ得る。ソースノード410は、例えば、データの連続的なストリームを生成することができ、あるいは、データをバーストすることができる。
【0062】
ソースデータ通信システム415はデータを受信するよう構成される。例えば、ソースデータ通信システム415は、ソースノード410からデータを受信することができる。データは、通信コンポーネントによって受信され得る。
【0063】
ある実施形態で、ソースデータ通信システム415は、データに優先順位を付けるよう構成される。例えば、ソースデータ通信システム415は、データを記憶し、まとめ、及び/又はそれに優先順位を付けるための1又はそれ以上のキューを有することができる。代替的に、他のデータ構成が、データを記憶し、まとめ、及び/又はそれに優先順位を付けるために使用されても良い。例えば、テーブル、ツリー、又は連結リストが使用され得る。キュー又は他のデータ構成は、例えば、優先順位付けコンポーネントによって提供され得る。
【0064】
ソースデータ通信システム415は、メッセージ毎に信頼性を提供するよう構成される。すなわち、ソースノード410等の特定のソースからのデータに関して、ソースデータ通信システム415によって伝達される各メッセージは、ソースデータ通信システム415によって確実に配信され得る。例えば、信頼性は信頼性コンポーネントによって提供され得る。メッセージ又はデータのブロックが確実に配信されるかどうかは、信頼性ルールによって決定され得る。この信頼性ルールは、例えば、ソースアドレス、ソースポート、あて先アドレス、あて先ポート、及び/又はメッセージのコンテンツに基づきうる。例えば、信頼性ルールは、メッセージのあて先IPアドレスに基づいて、特定のメッセージの信頼できる配信が望まれていると判断することができる。信頼性ルールは、メッセージのコンテンツに基づいて、特定のメッセージの信頼できる配信が望まれているかどうかを決定することができる。例えば、メッセージは命令を含むとの識別子を有するメッセージは、信頼できる配信を必要とすると決定され得る。対照的に、位置遠隔計測値を含むメッセージは信頼できる配信を必要としない。このように、信頼できる配信が望まれているかどうかは、メッセージ毎に決定され得る。ある実施形態で、信頼性ルールは、ユーザによって少なくとも部分的に定義され得る。
【0065】
メッセージの信頼できる配信は、やり取りされるべきデータにインジケータを設定することによって、ソースデータ通信システム415によって提供され得る。このインジケータは、例えば、フラッグ、オプション、パラメータ、又は値でありうる。インジケータは、例えば、データのヘッダ内のブールフラッグ(Boolean flag)でありうる。ある実施形態で、インジケータは、利用可能な信頼性ルールの組から選択される信頼性ルールに少なくとも部分的に基づいて設定される。ある実施形態で、ヘッダは、インジケータを提供するよう、やり取りされるべきデータの先頭に付加される。ある実施形態で、ヘッダには、データが破損しているかどうかを決定するためにデータの受信者によって利用され得るエラー検出及び/又は補正値が含まれ得る。
【0066】
ソースデータ通信システム415は、データを送信した後に、そのデータの複製を保持することができる。例えば、データの複製は、データの配信が確認されるまで保持され得る。データの配信は、例えば、確認応答メッセージによって確認され得る。確認応答メッセージは、例えば、あて先データ通信システム425から送信され得る。データの配信が所定の時間期間内に確認されない場合は、ソースデータ通信システム415はデータを再送信することができる。データは、データの複製に少なくとも部分的に基づいて再送信され得る。ソースデータ通信システム415は、例えば、もともと送信されたデータが失われたという想定の下に、メッセージを再送信することができる。確認応答が元のデータ又は再送信されたデータの複製に関して受信されない場合は、データが無事に受信され確認されるまで、再び複製は再送信され得る。
【0067】
ある実施形態で、ソースデータ通信システム415は、あて先ノード420へデータを送信するよう構成される。あて先ノード420へのデータの送信には、あて先データ通信システム425へのデータの送信が含まれ得る。データは、例えば、前出の通信コンポーネントと同様の通信コンポーネントによってやり取りされ得る。やり取りされるデータは、例えば、通信コンポーネントによってソースノード410から受信されるデータであり、及び/又はそのようなデータを含みうる。例えば、やり取りされるデータは、優先順位付けコンポーネントによって優先順位を付けられるデータでありうる。ある実施形態で、データは、戦術データネットワークを介して少なくとも部分的にやり取りされる。例えば、データは、衛星無線リンクを介してソースデータ通信システム415から送信され得る。
【0068】
あて先データ通信システム425は、データを受信するよう構成される。あて先データ通信システム425は、少なくとも部分的に、ソースデータ通信システム415から送信されるデータを受信する。このデータは、例えば、通信コンポーネントによって受信され得る。
【0069】
あて先データ通信システム425は、ソースデータ通信システム415から送信されるデータの信頼できる配信をサポートするよう構成される。あて先データ通信システム425がデータを受信する場合に、データの信頼できる配信が望まれることを示すインジケータが設定されている場合は、あて先データ通信システム425はデータの受信を確認する。インジケータは、例えば、データのヘッダ内にありうる。データの受信は、例えば、確認応答メッセージによって確認され得る。あて先データ通信システム425は、データの受信を示すよう確認応答メッセージをソースノード410及び/又はソースデータ通信システム415へ送信することができる。ある実施形態で、データには、エラー検出及び/又は補正値が含まれ得る。エラー検出及び/又は補正値は、データが通信中に破損したかどうかを決定するために利用され得る。データが破損している場合は、あて先データ通信システム425は、データの受信の確認応答を送信することができない。
【0070】
データが受信され、確認応答が送信される場合に、確認応答はソースデータ通信システム415に達しないことが起こり得る。例えば、確認応答メッセージは、中間のリンク又はノードによって失われ及び/又は落とされることがある。この状況で、ソースデータ通信システム415は、データが無事に配信されなかったと確信して、データを再送信する。このようにして、あて先データ通信システム425は、データの二重の複製を受信することがある。ある実施形態で、あて先データ通信システム425は、このようなデータの二重の複製を削除するよう構成される。あて先データ通信システム425は、データの二重の複製を落とすことができる。あて先データ通信システム425は、元のデータ及び/又はデータの複製のうち一方又は両方を承認することができる。これにより、ソースデータ通信システム415はデータの受信を通知される。
【0071】
ある実施形態で、あて先データ通信システム425は、データに優先順位を付けるよう構成される。例えば、あて先データ通信システム425は、データを記憶し、まとめ、及び/又はそれに優先順位を付けるための1又はそれ以上のキューを有することができる。代替的に、他のデータ構成が、データを記憶し、まとめ、及び/又はそれに優先順位を付けるために使用されても良い。例えば、テーブル、ツリー、又は連結リストが使用され得る。キュー又は他のデータ構成は、例えば、優先順位付けコンポーネントによって提供され得る。データは、例えば、あて先ノード420への配信のために優先順位を付けられ得る。
【0072】
あて先データ通信システム425は、あて先ノード420へデータを送信するよう構成される。あて先データ通信システム425は、例えば、あて先ノード420へデータを送信することができる。あて先データ通信システム425は、リンクを介してデータを送信することができる。例えば、あて先データ通信システム425は、戦術データネットワークを介してデータを送信することができる。代替的に、あて先データ通信システム425は、あて先データ通信システム425と同じ計算システムで実行されるアプリケーションへデータを送信することができる。あて先データ通信システム425は、例えば、プロセス間通信を用いて、又はソケット等のAPIを用いてアプリケーションと通信することができる。アプリケーションの観点からすれば、アプリケーションは、データがインターフェースを介してあて先データ通信システム425から受信されていることに気付かない。このように、ある実施形態で、あて先データ通信システム425は、例えば、計算システムのドライバとして動作し、及び/又はアプリケーションによってそのようなドライバと見なされ得る。
【0073】
あて先ノード420は、少なくとも部分的に、あて先データ通信システム425によって扱われるデータを受信する。あて先ノード420は、上述されるように、リンクを介してあて先データ通信システム425と通信することができる。代替的に、あて先ノード420は、あて先データ通信システム425と同じ計算システムで実行されるアプリケーションであっても良く、更に、例えば、プロセス間通信を用いて、又はソケット等のAPIを用いてあて先データ通信システム425と通信することができる。アプリケーションの観点からすれば、アプリケーションは、データがインターフェースを介してあて先データ通信システム425から送信されていることに気付かない。このように、ある実施形態で、あて先データ通信システム425は、例えば、計算システムのドライバとして動作し、及び/又はあて先ノード420によってそのようなドライバと見なされ得る。
【0074】
ソースデータ通信システム415、あて先データ通信システム425、ソースノード410、及び/又はあて先ノード420によって受信され、記憶され、優先順位を付けられ、処理され、通信され、及び/又は送信されるデータには、データのブロックが含まれ得る。例えば、データのブロックは、パケット、セル、フレーム、及び/又はストリームでありうる。例えば、あて先データ通信システム425は、ソースデータ通信システム415からデータのパケットを受信することができる。他の例として、ソースデータ通信システム415は、ソースノード410からのデータのストリームを処理することができる。
【0075】
上述されるように、ソースデータ通信システム415及び/又はあて先データ通信システム425のコンポーネント、要素、及び/又は機能は、例えば、ハードウェア、ファームウェア、及び/又は、ソフトウェアにおける命令の組として様々な形態で、単独で又は組み合わされて実施され得る。ある実施形態は、汎用コンピュータ又は他の処理装置での実行のために、メモリ、ハードディスク、DVD、又はCD等のコンピュータ読取可能な媒体にある命令の組として提供され得る。
【0076】
図5は、本発明の実施形態に従うデータ通信システム500を表す。データ通信システム500は、通信コンポーネント510と、優先順位付けコンポーネント520と、信頼性コンポーネント530とを有する。通信コンポーネント510は、優先順位付けコンポーネント520と通信する。通信コンポーネント510は、信頼性コンポーネント530と通信する。
【0077】
データ通信システム500は、例えば、前出のデータ通信システム150と同じでありうる。データ通信システム500は、例えば、前出のソースデータ通信システム415と同じでありうる。データ通信システム500は、例えば、前出のあて先データ通信システム425と同じでありうる。
【0078】
動作において、通信コンポーネント510は、データを受信するよう構成される。通信コンポーネント510は、ソースノード410からデータを受信することができる。通信コンポーネント510は、あて先ノード420からデータを受信することができる。通信コンポーネント510は、ソースデータ通信システム415及び/又はあて先データ通信システム425等の他のデータ通信コンポーネントからデータを受信することができる。通信コンポーネント510は、例えば、リンクを介してデータを受信することができる。代替的に、通信コンポーネント510は、通信コンポーネント510と同じ計算システムで実行されるアプリケーションからデータを受信することができる。通信コンポーネント510は、例えば、プロセス間通信を用いて、又はソケット等のAPIを用いてアプリケーションと通信することができる。アプリケーションの観点からすれば、アプリケーションは、データがインターフェースを介して通信コンポーネント510へ送られていることに気付かない。このように、ある実施形態で、通信コンポーネント510は、例えば、計算システムのドライバとして動作し、及び/又はアプリケーションによってそのようなドライバと見なされ得る。
【0079】
通信コンポーネント510は、データを送信するよう構成される。通信コンポーネント510は、例えば、ソースノード410及び/又はあて先ノード420へデータを送信することができる。他の例として、通信コンポーネント510は、ソースデータ通信システム415及び/又はあて先データ通信システム425へデータを送信することができる。通信コンポーネント510は、リンクを介してデータを送信することができる。例えば、通信コンポーネント510は、戦術データネットワークを介してデータを送信することができる。代替的に、通信コンポーネント510は、通信コンポーネント510と同じ計算システムで実行されるアプリケーションへデータを送信することができる。通信コンポーネント510は、例えば、プロセス間通信を用いて、又はソケット等のAPIを用いてアプリケーションと通信することができる。アプリケーションの観点からすれば、アプリケーションは、データがインターフェースを介して通信コンポーネント510から受信されていることに気付かない。このように、ある実施形態で、通信コンポーネント510は、例えば、計算システムのドライバとして動作し、及び/又はアプリケーションによってそのようなドライバと見なされ得る。
【0080】
優先順位付けコンポーネント520は、データを体系化し、及び/又はそれに優先順位を付けるよう構成される。優先順位を付けられるべきデータは、通信コンポーネント510によって受信されるデータでありうる。ある実施形態で、優先順位付けコンポーネント520は、データのブロックに関して優先度を決定することができる。例えば、データのブロックが通信コンポーネント510によって受信される場合に、優先順位付けコンポーネント520は、そのデータのブロックに関して優先度を決定することができる。他の例として、データのブロックは、優先順位付けコンポーネント520においてキューで記憶され得、優先順位付けコンポーネント520は、データブロックに関して及び/又はキューに関して決定された優先度に基づいてキューからデータのブロックを取り出すことができる。
【0081】
優先順位付けコンポーネント520によるデータの優先順位付けは、例えば、QoSをサポート及び/又は提供するために使用され得る。例えば、優先順位付けコンポーネント520は、戦術データネットワークを介して受信されるデータに関して優先度を決定することができる。優先度は、例えば、データのコンテンツに基づくことができる。例えば、戦場内の部隊に対する命令を伴う軍司令官からのデータは、パトロール中でない2人の兵士の間のチャットセッションよりも高い優先度を与えられ得る。優先度は、通信システム510によるその後の通信のためにデータが複数のキューのうちのどれに置かれるべきかを決定するために使用され得る。例えば、より高い優先度のデータは、より高い優先度のデータを保持することを目的としたキューに置かれ、次いで、優先順位付けコンポーネント520は、次にやり取りすべきデータを決定する際に、このより高い優先度のキューを最初に見る。
【0082】
ある実施形態で、優先順位付けコンポーネント520は、少なくとも部分的に1又はそれ以上の優先順位付けルールに基づくことができる。上述されるように、優先順位付けルールは、ユーザにより定義され得る。ある実施形態で、ルールは、例えば、XMLで記述され、及び/又は、カスタムDLLを介して提供され得る。ルールは、例えば、1つのアプリケーション又はノードから受信されるデータが他のアプリケーション又はノードからのデータより優遇されることを定めることができる。
【0083】
信頼性コンポーネント530は、データの信頼できる配信が望まれることを示すよう構成される。信頼性コンポーネント530は、メッセージ毎に信頼性を提供するよう構成される。すなわち、ソースノード410等の特定のソースからのデータに関して、データ通信システム500によってやり取りされる各メッセージは、データ通信システム500によって確実に配信され得る。信頼性コンポーネント530は、データが確実に配信されるかどうかを判断するために1又はそれ以上の信頼性ルールを使用することができる。信頼性ルールは、例えば、ソースアドレス、ソースポート、あて先アドレス、あて先ポート、及び/又はメッセージのコンテンツに基づきうる。例えば、信頼性コンポーネント530は、メッセージのあて先IPアドレスに基づいて、特定のメッセージの信頼できる配信が望まれていると判断することができる。信頼性コンポーネント530は、メッセージのコンテンツに基づいて、特定のメッセージの信頼できる配信が望まれているかどうかを決定することができる。例えば、メッセージは命令を含むとの識別子を有するメッセージは、信頼できる配信を必要とすると決定され得る。対照的に、位置遠隔計測値を含むメッセージは信頼できる配信を必要としない。ある実施形態で、信頼性ルールは、ユーザによって少なくとも部分的に定義され得る。
【0084】
信頼性コンポーネント530は、データの信頼できる配信が望まれることを示すよう、やり取りされるべきデータにインジケータを設定することができる。このインジケータは、例えば、フラッグ、オプション、パラメータ、又は値でありうる。インジケータは、例えば、データのヘッダ内のブールフラッグでありうる。ある実施形態で、信頼性コンポーネント530は、利用可能な信頼性ルールの組から選択される信頼性ルールに少なくとも部分的に基づいてインジケータを設定するよう構成される。ある実施形態で、ヘッダは、インジケータを提供するよう、やり取りされるべきデータの先頭に付加される。ある実施形態で、ヘッダには、データが破損しているかどうかを決定するためにデータの受信者によって利用され得るエラー検出及び/又は補正値が含まれ得る。
【0085】
信頼性コンポーネント530は、データの信頼できる配信が望まれる場合に、そのデータの複製を保持することができる。例えば、データの複製は、データの配信が確認されるまで保持され得る。データの配信は、例えば、確認応答メッセージによって確認され得る。確認応答メッセージは、例えば、あて先データ通信システム425の信頼性コンポーネントから送信され得る。データの配信が所定の時間期間内に確認されない場合は、信頼性コンポーネントはデータを再送信することができる。データは、例えば、通信コンポーネント510によって再送信され得る。データは、データの複製に少なくとも部分的に基づいて再送信され得る。データは、例えば、もともと送信されたデータが失われたという想定の下に、再送信され得る。確認応答が元のデータ又は再送信されたデータの複製に関して受信されない場合は、データが無事に受信され確認されるまで、再び複製は再送信され得る。
【0086】
信頼性コンポーネント530は、ソースデータ通信システム415等のデータ通信システムから送信されるデータの信頼できる配信をサポートするよう構成される。通信コンポーネント510がデータを受信する場合に、データの信頼できる配信が望まれることを示すインジケータが設定されている場合は、信頼性コンポーネント530はデータの受信を確認する。インジケータは、例えば、データのヘッダ内にありうる。信頼性コンポーネント530は、例えば、確認応答メッセージによってデータの受信を確認することができる。信頼性コンポーネント530は、例えば、データの受信を示すよう確認応答メッセージをソースノード410及び/又はソースデータ通信システム415へ送信することができる。ある実施形態で、データには、エラー検出及び/又は補正値が含まれ得る。エラー検出及び/又は補正値は、データが通信中に破損したかどうかを決定するために信頼性コンポーネント530によって利用され得る。データが破損している場合は、信頼性コンポーネント530は、データの受信の確認応答を送信することができない。
【0087】
データが受信され、確認応答が送信される場合に、確認応答は、ソースデータ通信システム415等の信頼できる配信を要求した送り手に達しないことが起こり得る。例えば、確認応答メッセージは、中間のリンク又はノードによって失われ及び/又は落とされることがある。この状況で、送り手は、データが無事に配信されなかったと確信して、データを再送信する。このようにして、データ通信システム500は、データの二重の複製を受信することがある。ある実施形態で、信頼性コンポーネント530は、このようなデータの二重の複製を削除するよう構成される。信頼性コンポーネント530は、データの二重の複製を落とし、又は削除することができる。ある実施形態で、信頼性コンポーネント530は、前出の機能的冗長性ルールと同様の機能的冗長性ルールに少なくとも部分的に基づいて二重複製を処理することができる。信頼性コンポーネント530は、は、元のデータ及び/又はデータの複製のうち一方又は両方を承認することができる。これにより、送り手はデータの受信を通知される。
【0088】
ある実施形態で、データ通信システム500は、モード又はプロファイルインジケータを有する。モードインジケータは、例えば、データ通信システム500の現在のモード又はステートを表すことができる。上述されるように、データ通信システム500は、利用可能な帯域幅の最適化、情報優先度の設定、及びネットワークにおけるデータリンクの管理等のスループット管理機能を実行するために、優先順位付けルール及び信頼性ルール等のルール並びにモード又はプロファイルを使用することができる。例えば、様々なモードが、ルール及び/又はモードの変化に作用しうる。モード又はプロファイルには、調子又は状態に関する特定のネットワークステートの動作上の必要性に関するルールの組が含まれ得る。データ通信システム500は、例えば、オンザフライで新しいモードを定義してそれに切り替わることを含め、モードに関する動的な再設定を提供することができる。
【0089】
ある実施形態で、データ通信システム500は、他のアプリケーションに対して透過的である。例えば、ソースデータ通信システム415によって実行される処理、体系化、及び/又は優先順位付けは、ソースノード410又は他のアプリケーション若しくはデータソースに対して透過的でありうる。例えば、データ通信システム500と同じシステムで、又はデータ通信システム500へ接続されているノードで実行されるアプリケーションは、データ通信システム500によって実行されているデータの優先順位付けに気付かない。
【0090】
ある実施形態で、データ通信システム500及び/又はデータ通信システム500の構成要素は、データの全てを受信しないことがある。例えば、データの一部はバッファに格納され、データ通信システム500はヘッダ情報及びバッファへのポインタのみを受信することができる。例えば、データ通信システム500は、オペレーティングシステムのプロトコルスタックに引っ張り込まれ、アプリケーションがデータをトランスポート層インターフェース(例えば、ソケット。)を通ってオペレーティングシステムへデータを送る場合に、オペレーティングシステムは、データへのアクセスをデータ通信システム500へ提供することができる。
【0091】
上述されるように、データ通信システム500のコンポーネント、要素、及び/又は機能は、例えば、ハードウェア、ファームウェア、及び/又は、ソフトウェアにおける命令の組として様々な形態で、単独で又は組み合わされて実施され得る。ある実施形態は、汎用コンピュータ又は他の処理装置での実行のために、メモリ、ハードディスク、DVD、又はCD等のコンピュータ読取可能な媒体にある命令の組として提供され得る。
【0092】
一実施例で、例えば、戦車小隊長は、戦術データネットワークを介して小隊の他の構成員と通信するために無線を有する。無線はデータ通信システムへインターフェース接続される。データ通信システムは、例えば、前出のデータ通信システム500と同じでありうる。リーダは、毎秒、位置遠隔計測データを他の兵員へ送信する。加えて、リーダは、周期的に、命令を小隊の兵員へ送信する。データ通信システム500は、命令が他の兵員によって受信されることを保証するよう、かかる命令に信頼性を提供する。信頼性を伴って送信される命令は、受信ユニットが受信を確認するようにインジケータ設定を有する。命令が失われる場合に、データ通信システム500は、確認応答が受信されるまで、所定の時間期間の後に命令を再送する。対照的に、位置遠隔計測データに関しては、優先度がより低く且つより頻繁に伝送されることから、信頼性は必要とされない。
【0093】
図6は、本発明の実施形態に従うデータ通信方法600のフロー図を表す。方法600は、以下でより詳細に記載される下記のステップを有する。ステップ610で、データは優先順位を付される。ステップ620で、インジケータが設定される。ステップ630で、データが送信される。ステップ640で、確認応答が受信され得る。ステップ650で、データが再送信される。方法600は、前出のシステムの要素を参照して記載されるが、当然、他の実施が可能である。
【0094】
ステップ610で、データは優先順位を付される。データは、例えば、ノード又はアプリケーションから受信され得る。例えば、データは、ソースノード410から受信され得る。他の例として、データは、データ通信システム500と同じ計算システムで実行されるアプリケーションから受信され得る。データは、例えば、データ通信システム500、ソースデータ通信システム415、及び/又はあて先データ通信システム425によって優先順位を付けられ及び/又は体系化され得る。データは、例えば、優先順位付けコンポーネントによって優先順位を付けられ得る。優先順位付けコンポーネントは、例えば、優先順位付けコンポーネント520と同じでありうる。ある実施形態で、データ通信システム500は、データのブロックに関して優先度を決定することができる。例えば、データのブロックがデータ通信システム500によって受信される場合に、データ通信システム500の優先順位付けコンポーネント520は、そのデータのブロックに関して優先度を決定することができる。他の例として、データのブロックは、データ通信システム500においてキューで記憶され得、優先順位付けコンポーネント520は、データのブロック及び/又はキューに関して決定されている優先度に基づいてキューからデータのブロックを取り出すことができる。
【0095】
データの優先順位付けは、例えば、QoSを提供及び/又はサポートするために使用され得る。例えば、データ通信システム500は、戦術データネットワークを介して受信されるデータに関して優先度を決定することができる。優先度は、例えば、データのコンテンツに基づくことができる。例えば、戦場内の部隊に対する命令を伴う軍司令官からのデータは、パトロール中でない2人の兵士の間のチャットセッションよりも高い優先度を与えられ得る。優先度は、データ通信システム500によるその後の通信のためにデータが複数のキューのうちのどれに置かれるべきかを決定するために使用され得る。例えば、より高い優先度のデータは、より高い優先度のデータを保持することを目的としたキューに置かれ、次いで、データ通信システム500は、次にやり取りすべきデータを決定する際に、このより高い優先度のキューを最初に見る。
【0096】
データは、少なくとも部分的に1又はそれ以上の優先順位付けルールに基づくことができる。上述されるように、優先順位付けルールは、例えば、ユーザにより定義され、且つ/あるいは、システム及び/又は動作制約に基づいてプログラミングされ得る。ある実施形態で、ルールは、例えば、XMLで記述され、及び/又は、カスタムDLLを介して提供され得る。優先度ルールは、例えば、1つのアプリケーション又はノードから受信されるデータが他のアプリケーション又はノードからのデータより優遇されることを定めることができる。
【0097】
ある実施形態で、優先順位を付けられるべきデータは落とされない。すなわち、たとえデータが低い優先度であるとしても、そのデータはデータ通信システム500によって落とされない。むしろ、データは、潜在的に、受信されるより高い優先度のデータの量に依存して、一定期間遅らせられ得る。
【0098】
ステップ620では、インジケータが設定される。このインジケータは、例えば、ステップ610で優先順位を付けられたデータで設定され得る。インジケータは、例えば、データの信頼できる配信が望まれていることを示すために設定され得る。インジケータは、例えば、フラッグ、オプション、パラメータ、又は値でありうる。インジケータは、例えば、データのヘッダ内のブールフラッグでありうる。ある実施形態で、ヘッダは、インジケータを提供するよう、やり取りされるべきデータの先頭に付加される。ある実施形態で、インジケータは、利用可能な信頼性ルールの組から選択される信頼性ルールに少なくとも部分的に基づいて設定される。インジケータは、例えば、ソースデータ通信システム415と同様のデータ通信システムによって設定され得る。インジケータは、信頼性コンポーネント530等の信頼性コンポーネントによって設定され得る。
【0099】
インジケータは、メッセージ毎に設定され得る。インジケータは、少なくとも部分的に1又はそれ以上の信頼性ルールに基づいて設定され得る。信頼性ルールは、例えば、ソースアドレス、ソースポート、あて先アドレス、あて先ポート、及び/又はメッセージのコンテンツに基づきうる。例えば、インジケータは、信頼性ルールが、メッセージのあて先IPアドレスに基づいて、特定のメッセージの信頼できる配信が望まれていると判断する場合に、設定され得る。インジケータは、信頼性ルールが、メッセージのコンテンツに基づいて、特定のメッセージの信頼できる配信が望まれているかどうかを決定することに基づいて、設定され得る。例えば、メッセージは命令を含むとの識別子を有するメッセージは、信頼できる配信を必要とすると決定され得、このようにしてインジケータが設定され得る。対照的に、位置遠隔計測値を含むメッセージは信頼できる配信を必要せず、このようにしてインジケータは設定され得ない。ある実施形態で、信頼性ルールは、ユーザによって少なくとも部分的に定義され得る。
【0100】
ステップ630では、データが送信される。データは、例えば、ソースデータ通信システム415、あて先データ通信システム425、及び/又はデータ通信システム500によって送信され得る。データは、例えば、通信コンポーネントによって送信され得る。この通信コンポーネントは、例えば、通信コンポーネント510と同じでありうる。やり取りされるデータは、例えば、ステップ610で優先順位を付けられたデータでありうる。やり取りされるデータには、例えば、ステップ620で設定されたインジケータが含まれ得る。
【0101】
データは、例えば、データ通信システム500から送られ得る。データは、例えば、あて先ノード420及び/又はあて先データ通信システム425へ送られ得る。データは、例えば、1又はそれ以上のリンクを介して送られ得る。例えば、データは、戦術データネットワークを介してデータ通信システム500によって送られ得る。他の例として、データは、あて先データ通信システム425によって、プロセス間通信及び/又はソケット等のAPIによって同じシステムで動作するアプリケーションへと供給され得る。
【0102】
ステップ640では、確認応答が受信され得る。確認応答は、例えば、確認応答メッセージであっても良い。確認応答は、例えば、ステップ630で送信されたデータの受信を示すことができる。確認応答メッセージは、例えば、あて先データ通信システム425から送られ得る。あて先データ通信システム425は、例えば、データの受信を示すよう、ソースノード410及び/又はソースデータ通信システム415へ確認応答メッセージを送信することができる。ある実施形態で、データには、エラー検出及び補正値が含まれ得る。エラー検出及び/又は補正値は、データが通信中に破損されたかどうかを判断するために利用され得る。データが破損されている場合は、あて先データ通信システム425は、データの受信の確認応答を送信しない。
【0103】
ステップ650では、データが再送信され得る。例えば、データは、所定の時間期間が経過し且つ配信の確認応答がステップ640で受信されない場合に、再送信され得る。再送信されるべきデータは、例えば、少なくとも部分的に、ステップ630で送信されるデータの複製でありうる。データは、例えば、ソースデータ通信システム415によって再送信され得る。他の例として、データは、信頼性コンポーネント530によって再送信され得る。
【0104】
データは、例えば、元々送信されたデータが失われたとの想定の下に再送信され得る。確認応答が元のデータ又は再送信されたデータの複製に関して受信されない場合は、データが無事に受信され確認されるまで、再び複製は再送信され得る。
【0105】
ある実施形態では、データは受信される。データは、例えば、データ通信システム500で受信され得る。データは、例えば、通信コンポーネントによって受信され得る。通信コンポーネントは、例えば、通信コンポーネント510と同じでありうる。データは、例えば、1又はそれ以上のリンクを介して受信され得る。データは、例えば、ソースノード410によって提供及び/又は生成され得る。例えば、データは、コマンドセンタにあるワークステーションから高速LANを介してソースデータ通信システム415で受信され得る。他の例として、データは、プロセス間通信メカニズムによって同じシステムで実行されるアプリケーションによってデータ通信システム500へ供給され得る。上述されるように、データは、例えば、データのブロックでありうる。ある実施形態で、データは、戦術データネットワークを介して受信される。例えば、データは、戦場内の部隊から衛星無線を介して受信され得る。
【0106】
ある実施形態で、データ通信システム500は、データの全てを受信しないことがある。例えば、データの一部はバッファに格納され、データ通信システム500はヘッダ情報及びバッファへのポインタのみを受信することができる。例えば、データ通信システム500は、オペレーティングシステムのプロトコルスタックに引っ張り込まれ、アプリケーションがデータをトランスポート層インターフェース(例えば、ソケット。)を通ってオペレーティングシステムへデータを送る場合に、オペレーティングシステムは、データへのアクセスをデータ通信システム500へ提供することができる。
【0107】
ある実施形態で、モード又はプロファイルは、例えば、データ通信システム500の現在のモード又はステートを表すことができる。上述されるように、優先順位付けルール及び/又は信頼性ルール等のルール並びにモード又はプロファイルは、利用可能な帯域幅の最適化、情報優先度の設定、及びネットワーク内のデータリンクの管理等のスループット管理機能を実行するために使用され得る。例えば、様々なモードが、ルール及び/又はモードの変化に作用しうる。モード又はプロファイルには、調子又は状態に関する特定のネットワークステートの動作上の必要性に関するルールの組が含まれ得る。データ通信システム500は、例えば、オンザフライで新しいモードを定義してそれに切り替わることを含め、モードに関する動的な再設定を提供することができる。
【0108】
ある実施形態で、データ通信システム500は、他のアプリケーションに対して透過的である。例えば、ソースデータ通信システム415によって実行される処理、体系化、及び/又は優先順位付けは、ソースノード410又は他のアプリケーション若しくはデータソースに対して透過的でありうる。例えば、データ通信システム500と同じシステムで、又はデータ通信システム500へ接続されているノードで実行されるアプリケーションは、データ通信システム500によって実行されているデータの優先順位付けに気付かない。
【0109】
方法600のステップのうち1又はそれ以上は、例えば、ハードウェア、ファームウェア、及び/又は、ソフトウェアにおける命令の組として様々な形態で、単独で又は組み合わされて実施され得る。ある実施形態は、汎用コンピュータ又は他の処理装置での実行のために、メモリ、ハードディスク、DVD、又はCD等のコンピュータ読取可能な媒体にある命令の組として提供され得る。
【0110】
本発明のある実施形態は、これらのステップのうち1又はそれ以上を省略し、且つ/あるいは、挙げられている順序とは異なる順序でかかるステップを実行することができる。例えば、幾つかのステップは、本発明のある実施形態では実行されないことがある。更なる例として、あるステップは、同時を含む、前出の順序とは異なる時間的順序で実行されることがある。
【0111】
このように、本発明の特定の実施形態は、QoSを伴う確実な通信のためのシステム及び方法を提供する。ある実施形態は、QoSを伴う確実な通信の技術的効果を提供する。

【特許請求の範囲】
【請求項1】
データ通信方法であって、
ソースノードからメッセージを受信する工程と、
前記メッセージが、帯域幅を制約された通信ネットワークに向けられる場合にのみ、前記メッセージのコンテンツと、スループット管理機能を実行するために使用され且つネットワーク条件の変化に基づき動的に設定されるプロファイルに含まれる優先順位付けルールの組から選択される優先順位付けルールとに基づき前記メッセージに優先順位を割り当てることによって、前記メッセージに優先順位を付ける工程と、
前記メッセージが、帯域幅を制約された通信ネットワークに向けられる場合にのみ、前記メッセージのヘッダにおいて信頼性インジケータを設定する工程と、
前記メッセージをあて先ノードへ送信する工程と、
前記あて先ノードへの前記メッセージの送信から所定時間が経過し且つ前記メッセージの送信の確認応答が受信されない場合に前記メッセージを再送信する工程と
を有し、
少なくとも前記優先順位を付ける工程及び前記信頼性インジケータを設定する工程は、プロトコルスタックのトランスポート層で起こり、
前記信頼性インジケータは、前記プロファイルに含まれる信頼性ルールの組から選択される信頼性ルールに従って設定され、
前記信頼性インジケータは、前記メッセージの受信がそれによって確認されるべきことをあて先ノードに示し、
前記信頼性ルールは、ソースアドレス、ソースポート、あて先アドレス又はあて先ポートに基づき、前記メッセージの信頼できる配信が望まれることを特定する、データ通信方法。
【請求項2】
前記優先順位を付ける工程は、前記メッセージのコンテンツに基づいて複数のキューのうち少なくとも1つに前記メッセージを格納する工程を含む、請求項1記載のデータ通信方法。
【請求項3】
ネットワークにおいてメッセージを送信することに係るコンテンツに基づくサービスの質を提供するデータ通信システムであって、
前記データ通信システムにおけるソースノードからメッセージを受信し且つ該メッセージをあて先ノードへ送信するよう構成される通信コンポーネントと、
前記メッセージが、帯域幅を制約された通信ネットワークに向けられる場合にのみ、前記メッセージのコンテンツと、スループット管理機能を実行するために使用され且つネットワーク条件の変化に基づき動的に設定されるプロファイルに含まれる優先順位付けルールの組から選択される優先順位付けルールとに基づいて前記メッセージに優先順位を割り当てることによって、前記メッセージに優先順位を付けるよう構成される優先順位付けコンポーネントと、
前記メッセージが、帯域幅を制約された通信ネットワークに向けられる場合にのみ、前記メッセージにおいて信頼性インジケータを設定するよう構成される信頼性コンポーネントと
を有し、
前記信頼性インジケータは、前記プロファイルに含まれる信頼性ルールの組から選択される信頼性ルールに従って設定され、
前記信頼性インジケータは、前記メッセージの受信がそれによって確認されるべきことをあて先ノードに示し、
前記信頼性ルールは、ソースアドレス、ソースポート、あて先アドレス又はあて先ポートに基づき、前記メッセージの信頼できる配信が望まれることを特定する、データ通信システム。
【請求項4】
前記メッセージは、前記データ通信システムの現在のモードを示すモードインジケータを更に含む、請求項3記載のデータ通信システム。
【請求項5】
前記信頼性コンポーネントは、更に前記データ通信システムの現在のモードに基づいて、前記メッセージを処理するよう構成される、請求項4記載のデータ通信システム。
【請求項6】
前記通信コンポーネントは、更に、前記送信されたメッセージの確認応答が受信されず且つ前記信頼性コンポーネントが前記あて先ノードへの前記メッセージの送信から所定時間が経過したことを示す場合に、前記メッセージを再送信するよう構成される、請求項3記載のデータ通信システム。
【請求項7】
コンピュータで実行される命令の組を有するコンピュータ読取可能な媒体であって、
前記命令の組は、
データ通信システムにおけるソースノードからメッセージを受信し且つ該メッセージをあて先ノードへ送信するよう構成される通信ルーチンと、
前記メッセージが、帯域幅を制約された通信ネットワークに向けられる場合にのみ、前記メッセージのコンテンツと、スループット管理機能を実行するために使用され且つネットワーク条件の変化に基づき動的に設定されるプロファイルに含まれる優先順位付けルールの組から選択される優先順位付けルールとに基づいて前記メッセージに優先順位を割り当てることによって、前記メッセージに優先順位を付けるよう構成される優先順位付けルーチンと、
前記メッセージが、帯域幅を制約された通信ネットワークに向けられる場合にのみ、前記メッセージにおいて信頼性インジケータを設定するよう構成される信頼性ルーチンと
を有し、
前記信頼性インジケータは、前記プロファイルに含まれる信頼性ルールの組から選択される信頼性ルールに従って設定され、
前記信頼性インジケータは、前記メッセージの受信がそれによって確認されるべきことをあて先ノードに示し、
前記信頼性ルールは、ソースアドレス、ソースポート、あて先アドレス又はあて先ポートに基づき、前記メッセージの信頼できる配信が望まれることを特定する、コンピュータ読取可能な媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2012−239238(P2012−239238A)
【公開日】平成24年12月6日(2012.12.6)
【国際特許分類】
【出願番号】特願2012−192795(P2012−192795)
【出願日】平成24年9月3日(2012.9.3)
【分割の表示】特願2009−522976(P2009−522976)の分割
【原出願日】平成19年7月27日(2007.7.27)
【出願人】(594071675)ハリス コーポレイション (287)
【氏名又は名称原語表記】Harris Corporation
【Fターム(参考)】