(57)【要約】本発明の実施形態は、データの通信を容易にするシステム及び方法を提供する。方法（６００）は、データのブロックに優先順位を付ける工程と、そのデータブロックのヘッダにインジケータを設定する工程と、データのブロックを送信する工程と、データのブロックを再送信する工程とを有する。インジケータは、データのブロックの信頼できる配信が望まれていることを示す。インジケータは、少なくとも部分的にルールに基づいて設定される。インジケータは、メッセージ毎に設定される。データのブロックは、所定時間が経過し且つデータのブロックの配信の確認応答が受信されない場合に再送信される。
2009545275.tif 000002
【特許請求の範囲】
【請求項１】
データの通信方法であって、
データのブロックに優先順位を付ける工程と、
前記データのブロックの信頼できる配信が望まれていることを示し且つ少なくとも部分的にルールに基づいて設定され且つメッセージ毎に設定されるインジケータを、前記データのブロックのヘッダに設定する工程と、
前記データのブロックを送信する工程と、
所定時間が経過し且つ前記データのブロックの配信の確認応答が受信されない場合に前記データのブロックを再送信する工程と
を有する方法。
【請求項２】
前記優先順位を付ける工程は、少なくとも部分的に前記データのコンテンツに基づいて複数のキューのうち少なくとも１つに前記データのブロックを挿入する工程を含む、請求項１記載の方法。
【請求項３】
前記インジケータは、少なくとも部分的に前記データのブロックのコンテンツに基づく、請求項１記載の方法。
【請求項４】
ネットワークでコンテンツに基づくサービスの質を提供するデータ通信システムであって、
データのブロックを受信するよう構成され且つ該データのブロックを送信するよう構成される通信コンポーネントと、
少なくとも部分的に前記データのブロックのコンテンツ及び利用可能な優先順位付けルールの組から選択される優先順位付けルールに基づいて該データのブロックに優先順位を付けるよう構成される優先順位付けコンポーネントと、
利用可能な信頼性ルールの組から選択される信頼性ルールに少なくとも部分的に基づいて前記データのブロックにインジケータを設定するよう構成され且つ受信されるデータのブロック内の信頼性インジケータに少なくとも部分的に基づいて確認応答メッセージを送信するよう構成される信頼性コンポーネントと
を有するシステム。
【請求項５】
モードインジケータを更に有し、
該モードインジケータは現在のモードを示す、請求項４記載のシステム。
【請求項６】
前記信頼性コンポーネントは、少なくとも部分的に前記現在のモードに基づいて前記データのブロックを処理するよう構成される、請求項５記載のシステム。
【請求項７】
前記通信コンポーネントは、前記信頼性コンポーネントが、所定時間が経過しており且つ前記データに関する確認応答メッセージが受信されていないことを示す場合に、前記データを再送信するよう構成される、請求項４記載のシステム。
【請求項８】
コンピュータで実行される命令の組を有するコンピュータ読取可能な媒体であって、
前記命令の組は、
データを受信するよう構成され且つ該データを送信するよう構成される通信ルーチンと、
少なくとも部分的に前記データのコンテンツに基づいて該データに優先順位を付けるよう構成される優先順位付けルーチンと、
利用可能な信頼性ルールの組から選択される信頼性ルールに少なくとも部分的に基づいて前記データにインジケータを設定するよう構成され且つ受信されるデータのブロック内の信頼性インジケータに少なくとも部分的に基づいて確認応答メッセージを送信するよう構成される信頼性ルーチンと
を有する、コンピュータ読取可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
目下記載される技術は、概して、通信ネットワークに関する。より具体的に、目下記載される技術は、サービスの質（ＱｏＳ）を伴う確かな通信のためのシステム及び方法に関する。
【背景技術】
【０００２】
通信ネットワークは、様々な環境で利用されている。通信ネットワークには、通常、１又はそれ以上のリンクによって接続されている２又はそれ以上のノードが含まれている。一般的に、通信ネットワークは、リンク上の２又はそれ以上の参加者と通信ネットワーク内の中間ノードとの間の通信をサポートするために使用される。ネットワーク内には種々のノードが存在しうる。例えば、ネットワークには、クライアント、サーバ、ワークステーション、スイッチ、及び／又はルータ等のノードが含まれ得る。リンクは、例えば、電話回線、ワイヤ、イーサネット（登録商標）リンク、非同期転送モード（ＡＴＭ）回路、衛星リンク、及び／又は光ファイバケーブルを介する最新の接続でありうる。
【０００３】
通信ネットワークは、実際には、１又はそれ以上のより小さい通信ネットワークから構成され得る。例えば、インターネットは、しばしば、相互接続されているコンピュータネットワークのネットワークとして現される。各ネットワークは、異なるアーキテクチャ及び／又はトポロジを利用することができる。例えば、１のネットワークは、スター型トポロジを用いたスイッチド・イーサネット（登録商標）ネットワークであり、他のネットワークは、光ファイバ分散データインターフェース（ＦＤＤＩ）リングでありうる。
【０００４】
通信ネットワークは、多種多様のデータを搬送することができる。例えば、ネットワークは、双方向の実時間での会話のためにデータと並行して大容量ファイル転送を運ぶことができる。ネットワーク上で送信されるデータは、しばしば、パケット、セル、又はフレームにおいて送信される。代替的に、データは、ストリームとして送信され得る。幾つかの事例で、データのストリーム又はフローは、実際には、パケットの列でありうる。インターネット等のネットワークは、一連のノード間の汎用データ経路を提供し、種々の要求を伴うありとあらゆるデータを搬送する。
【０００５】
ネットワークを介する通信は、通常、多段階の通信プロトコルを含む。ネットワークスタック又はプロトコル群とも称されるプロトコルスタックは、通信に使用されるプロトコルの集合を現す。各プロトコルは、通信の特定の種類の能力又は形態に焦点を合わせられ得る。例えば、１のプロトコルは、銅線によって接続されている装置と通信するのに必要とされる電気信号に関係している。他のプロトコルは、例えば、多数の中間ノードによって分離されている２つのノードの間の順序付けられ且つ信頼できる送信をアドレス指定することができる。
【０００６】
プロトコルスタック内のプロトコルは、通常、ヒエラルキーに存在する。しばしば、プロトコルは、層に分類される。プロトコル層のための１つの規範モデルは、開放型システム間相互接続（ＯＳＩ）モデルである。ＯＳＩ規範モデルは、７つの層、すなわち、物理層、データリンク層、ネットワーク層、トランスポート層、セッション層、プレゼンテーション層、及びアプリケーション層を有する。物理層は最下層であり、一方、アプリケーション層は最上層である。２つのよく知られているトランスポート層プロトコルは、トランスミッション制御プロトコル（ＴＣＰ）及びユーザ・データグラム・プロトコル（ＵＤＰ）である。よく知られているネットワーク層プロトコルはインターネット・プロトコル（ＩＰ）である。
【０００７】
送信ノードで、送信されるべきデータは、最上位から最下位へとプロトコルスタックの層を下る。逆に、受信ノードでは、データは、最下位から最上位へと層を上る。各層で、データは、その層でのプロトコルハンドリング通信によって操作され得る。例えば、トランスポート層は、あて先ノードへの到着次第パケットの順序付けを可能にするヘッダをデータへ付加することができる。アプリケーションに依存して、幾つかの層は、用いられず、又は存在すらせず、データは単に通過する。
【０００８】
１つの種類の通信ネットワークは戦術（tactical）データネットワークである。戦術データネットワークは、また、戦術通信ネットワークとも呼ばれる。戦術データネットワークは、軍隊（例えば、陸軍、海軍、及び／又は空軍。）等の組織内の部隊によって利用され得る。戦術データネットワーク内のノードには、例えば、個々の軍人、航空機、司令部隊、衛星、及び／又は無線が含まれる。戦術データネットワークは、声、位置の遠隔計測、センサデータ、及び／又は実時間映像等のデータをやり取りするために使用され得る。
【０００９】
どのように戦術データネットワークが用いられ得るかという例は以下の通りである。後方支援部隊は、戦場内の戦闘部隊に補給品を提供するためにルート内にいる。後方支援部隊及び戦闘部隊は両方とも、衛星無線リンクを介して指令所へ遠隔測定により得た位置データを提供している。無人機（ＵＡＶ）は、後方支援部隊が通る道に沿って巡回しており、同じく衛星無線リンクを介して指令所へ実時間映像データを送信している。指令所では、コントローラが道路の特定の区間に関して映像を提供するようＵＡＶに指示しており、一方、分析専門家は映像データを調べることができる。次いで、分析専門家は、後方支援部隊が近づいている簡易爆発物（ＩＥＤ）を発見し、ＩＥＤの存在を後方支援部隊に警告するとともに、後方支援部隊が停止するよう指令を直接無線リンクを介して後方支援部隊に送出することができる。
【００１０】
戦術データネットワーク内に存在しうる様々なネットワークは、多種多様なアーキテクチャ及び特徴を有することができる。例えば、司令部隊内のネットワークは、より一層低いスループット及びより高いレイテンシー（latency）を有して動くフィールドユニット及び衛星への無線リンクとともに、ギガビットのイーサネット（登録商標）ローカルエリアネットワーク（ＬＡＮ）を有することができる。フィールドユニットは、衛星を介して及び直接経路無線周波数（ＲＦ）を介して通信することができる。データは、データの特性及び／又はネットワークの特定の物理的特徴に依存して、ポイント・ツー・ポイント、マルチキャスト、又はブロードキャストで送信され得る。ネットワークは、例えば、データを中継するよう構成されている無線通信を含みうる。加えて、ネットワークは、長距離通信を可能にする高周波（ＨＦ）ネットワークを含みうる。例えば、マイクロ波ネットワークがまた使用されても良い。リンク及びノードの種類の多様性により、他にも理由があるが、戦術ネットワークは、しばしば、過度に複雑なネットワークアドレッシング方式及びルーチングテーブルを有する。加えて、無線に基づくネットワーク等の幾つかのネットワークは、バースト（burst）を用いて動作することができる。すなわち、連続的にデータを送信するのではなく、それらは、周期的なデータのバーストを送信する。このことは、無線が全ての参加者によって共有されるべき特定のチャネルでのブロードキャスティングであって、唯１つの無線が１度に送信することができるために有用である。
【００１１】
戦術データネットワークは、一般的に、帯域幅を制約される。すなわち、通常、通信されるべきデータは、如何なる所与の時点でも利用可能な帯域幅よりも多く存在する。かかる制約は、例えば、供給を超える帯域幅要求、及び／又は利用可能な通信技術がユーザの必要性を満足することができるほど十分に帯域幅を提供しないことのいずれかに起因する。例えば、幾つかのノードの間で、帯域幅はキロビット／秒のオーダーでありうる。帯域幅を制約される戦術データネットワークで、より重要でないデータはネットワークの動きを妨げ、より重要なデータがタイムリーに伝わり又はとにかく受信ノードに到達することを妨げる。加えて、ネットワークの一部分は、信頼できないリンクを補償するよう内部バッファリングを有することができる。これは、更なる遅延を引き起こしうる。更に、バッファがいっぱいになると、データは欠落することがある。
【００１２】
多くの事例で、ネットワークが利用可能である帯域幅は増大され得ない。例えば、衛星通信リンク上で利用可能な帯域幅は固定され、他の衛星を配置しなければ有効に増大され得ない。かかる状況で、帯域幅は、要求を処理すべく単純に拡張されるのではなく管理されなければならない。大きなシステムでは、ネットワークの帯域幅は重大なリソースである。可能な限り効率良く帯域幅を利用することがアプリケーションにとっては望ましい。加えて、帯域幅が制限される場合に、アプリケーションが“パイプ詰まり（clogging  the  pipe）”、すなわち、データによるリンクの沈滞（overwhelming）を回避することが望ましい。帯域幅の割り当てが変わる場合に、望ましくは、アプリケーションは反応すべきである。帯域幅は、例えば、サービスの質、ジャミング、信号妨害、優先度再割り当て、及びライン・オブ・サイト（line-of-sight）等により動的に変化しうる。ネットワークは極めて不安定であり、利用可能な帯域幅は動的に且つ前触れもなく変化しうる。
【００１３】
帯域幅の制約に加えて、戦術データネットワークは高いレイテンシーを欠点とする。例えば、衛星リンクを介する通信を含むネットワークは、２分の１秒又はそれ以上のオーダーでレイテンシーを負う。幾つかの通信に関しては、このことは問題ではないが、実時間通信、双方向通信（例えば、音声通信。）等の他の通信に関しては、可能な限りレイテンシーを最小限とすることが極めて望ましい。
【００１４】
多数の戦術データネットワークに共通する他の特徴はデータ損失である。データは、様々な理由により失われ得る。例えば、送信すべきデータを有するノードは、損傷を与えられたり又は破壊されたりすることがある。他の例として、あて先ノードは、ネットワークから一時的に外れることがある。これは、例えば、ノードが範囲外に移動したり、通信リンクが遮断されたり、及び／又はノードが妨害されたりするために起こりうる。あて先ノードがデータを受信することができず、中間ノードが、あて先ノードが利用可能となるまでにデータをバッファリングすることができるほど十分な容量を欠いているために、データは失われ得る。更に、中間ノードは、全くデータをバッファリングせず、代わりに、データがこれまで実際にあて先ノードに到達したかどうかを判断するよう送信ノードに委ねる。
【００１５】
しばしば、戦術データネットワークにおけるアプリケーションは、ネットワークの特定の特徴に気付かず、及び／又はそれを把握しない。例えば、アプリケーションは、単純に、必要とするだけの量の利用可能な帯域幅を有すると想定する。他の例として、アプリケーションは、データがネットワークにおいて失われないと想定する。基礎を成す通信ネットワークの特定の特徴を考慮しないアプリケーションは、実際に問題を悪化させるように振る舞う。例えば、アプリケーションは、より長い束でそれほど頻繁でなく有効に送信されうるデータのストリームを連続的に送信することができる。連続的なストリームは、例えば、他のノードに通信することを渇望させるブロードキャスト無線ネットワークで、より一層大きなオーバヘッドを抱え、一方、より少ない頻度のバーストは、共有される帯域幅がより有効に使用されることを可能にする。
【００１６】
あるプロトコルは、戦術データネットワーク上では適切に作動しない。例えば、ＴＣＰ等のプロトコルは、ネットワークが直面する高い損失レート及びレイテンシーのために、無線に基づく戦術ネットワーク上で適切に機能することができない。ＴＣＰは、データを送信するために現れるべきハンドシェイキング（handshaking）及び確認応答の幾つかの形態を必要とする。高いレイテンシー及び損失は、ＴＣＰのヒッティング（hitting）のタイムアウトをもたらし、もしあれば、意味のあるデータをこのようなネットワークを介してほとんど送信することができない。
【００１７】
戦術データネットワークにより伝送される情報は、しばしば、ネットワーク内の他のデータに対して様々なレベルの優先度を有する。例えば、航空機における危険警報受信機は、数マイル離れた部隊に関する位置遠隔計測情報よりも高い優先度を有しうる。他の例として、交戦に関係する司令部からの命令は、味方の戦線の後方の兵站通信よりも高い優先度を有しうる。優先度レベルは、送信側及び／又は受信側の特定の状況に依存する。例えば、位置遠隔計測データは、部隊が単に標準の巡回ルートを辿っている場合に比べ、部隊が積極的に戦闘中である場合に、より一層高い優先度を有しうる。同様に、ＵＡＶからの実時間映像データは、ＵＡＶが単にルート内にある場合とは対照的に、ＵＡＶが目的の領域上にある場合に、より高い優先度を有しうる。
【００１８】
ネットワーク上でデータを伝送するための幾つかのアプローチがある。多数の通信ネットワークにより使用される１つのアプローチは、ベストエフォート（best  effort）型のアプローチである。すなわち、やり取りされるデータは、容量、レイテンシー、信頼性、順序付け、及びエラーに関して、他の要求を鑑み、ネットワークがそうすることができるのと同様に扱われ得る。このように、ネットワークは、如何なる所与のデータ片もタイムリーに又は何としてもそのあて先ノードに到達するという保証を与えない。更に、データが、送信される順序で、又はデータ内の１又はそれ以上のビットを変更するエラーを送信することなく到着するという保証はされない。
【００１９】
他のアプローチは、サービスの質（Quality  of  Service（ＱｏＳ））である。ＱｏＳは、搬送されるデータに関して様々な保証形態を提供するネットワークの１又はそれ以上の能力を表す。例えば、ネットワーク支援ＱｏＳは、データストリームに対して一定量の帯域幅を保証することができる。他の例として、ネットワークは、２つの特定のノードの間のパケットが一定の最大レイテンシーを有することを保証することができる。このような保証は、２つのノードがネットワークを介して会話する２人の人であるところの音声通話の場合に有用でありうる。このような場合におけるデータ伝送での遅延は、例えば、通信における腹立たしい途切れ、及び／又は沈黙をもたらしうる。
【００２０】
ＱｏＳは、選択されたネットワークトラフィックへより良いサービスを提供するネットワーク能力と考えられる。ＱｏＳの主要目的は、専用の帯域幅、（ある実時間且つ双方向のトラフィックによって必要とされる）制御されるジッタ及びレイテンシー、並びに改善された損失特性を含む優先度を提供することである。他の重要な目的は、１つのフローに優先度を与えることにより他のフローが機能しなくなることがないことを確かにすることである。すなわち、後のフローのための保証は、既存のフローのための保証を中断させてはならない。
【００２１】
ＱｏＳに対する現在のアプローチは、しばしば、ネットワーク内の全てのノードがＱｏＳをサポートすることを要し、あるいは、最低限でも、特定の通信に含まれるネットワーク内の全てのノードがＱｏＳをサポートすることを要する。例えば、現在のシステムでは、２つのノードの間でレイテンシー保証を提供するために、かかる２つのノードの間でトラフィックを搬送する全てのノードは、オナー（honor）に気付いて同意し、更に、保証を受け取る能力を有さなければならない。
【００２２】
ＱｏＳを提供する幾つかのアプローチがある。１つのアプローチは、統合サービス（Integrated  Service）、すなわち“ＩｎｔＳｅｒｖ．”である。ＩｎｔＳｅｒｖは、ネットワーク内の全てのノードがサービスをサポートし、それらのサービスが、接続がセットアップされる場合に留保されるところのＱｏＳシステムを提供する。ＩｎｔＳｅｒｖは、全てのノードで保持されるべき大量のステート情報、及びこのような接続をセットアップすることに関連するオーバヘッドにより、適切な大きさにない。
【００２３】
ＱｏＳを提供する他のアプローチは、分化サービス（differentiated  service）、すなわち“ＤｉｆｆＳｅｒｖ．”である。ＤｉｆｆＳｅｒｖは、インターネット等のネットワークのベストエフォート型のサービスを高めるサービスのクラスである。ＤｉｆｆＳｅｒｖは、ユーザ、サービス要求、及び他の基準によってトラフィックを区別する。次いで、ＤｉｆｆＳｅｒｖはパケットにマークを付す。これにより、ネットワークノードは、優先順序列（priority  queuing）又は帯域幅割り当てを介して、あるいは特定のトラフィックフローのための専用ルートを選択することによって、様々なレベルのサービスを提供することができる。通常、ノードは、サービスのクラスごとに様々なキューを有する。次いで、ノードは、クラスのカテゴリに基づいてそれらのキューから送信すべき次のパケットを選択する。
【００２４】
既存のＱｏＳによる解決法はしばしばネットワーク特有であり、各ネットワーク種類又はアーキテクチャは異なるＱｏＳ設定を必要としうる。既存のＱｏＳによる解決法が利用するメカニズムに起因して、現在のＱｏＳシステムに対して同じものに見えるメッセージは、実際には、メッセージのコンテンツに基づいて異なる優先度を有しうる。しかし、データの需要者は、より低い優先度のデータであふれることなく高い優先度のデータへのアクセスを必要としうる。既存のＱｏＳシステムは、トランスポート層にあるメッセージコンテンツに基づくＱｏＳを提供することができない。
【発明の概要】
【発明が解決しようとする課題】
【００２５】
上述されるように、既存のＱｏＳによる解決法は、少なくとも、特定の通信に含まれるノードがＱｏＳをサポートすることを要する。しかし、ネットワークのエッジ（edge）にあるノードは、たとえそれらが全体的な保証を行うことができないとしても、幾らかの改善をＱｏＳにおいて提供するよう適合され得る。ノードは、それらが通信中の加入ノード（すなわち、送信及び／又は受信ノード。）である場合に、及び／又はそれらがネットワーク内のチョークポイント（chokepoint）に配置されている場合に、ネットワークのエッジにあると見なされる。チョークポイントは、全てのトラフィックが他の部分に移動しなければならないところのネットワークのセクションである。例えば、ＬＡＮから衛星リンクへのルータ又はゲートウェイは、ＬＡＮからあらゆるノードへの全てのトラフィックがゲートウェイを通って衛星リンクへ至らなければならないので、チョークポイントでありうる。
【００２６】
上述されるように、戦術データネットワークは、高いレイテンシー及び／又はデータ損失レートを有しうる。結果として、アプリケーションは、戦術データネットワークを介してノードと通信する場合に、望ましくない挙動を示すことがある。信頼できる配信（reliable  delivery）等のサービスを提供するＴＣＰのようなプロトコルは、このようなネットワーク上で使用される場合に適切に機能しないことがある。例えば、低い帯域幅、高いレイテンシー、及び／又は高いデータ損失レートを有して戦術データネットワークを介してノードと通信するアプリケーションは、ＴＣＰ等のプロトコルが正確に動作することを妨げるタイムアウト及び欠落データにより、正確には、あるいは全く、機能しないことがある。このようにして、戦術データネットワークを介して確実にメッセージをやり取りすることができることが極めて望ましい。
【００２７】
戦術データネットワークでのメッセージの送信側は、特定のメッセージに関して保証された配信を望む。例えば、戦場内の部隊からの位置遠隔計測データは、かかるデータが頻繁に更新され送信されるので、確実な配信を必要とせず、従って、たとえ幾らかのメッセージが落とされるとしても、十分に、有効であるよう戦術データネットワークを介して得られる。対照的に、命令等のメッセージは、一般に、確実な配信を有するよう望まれる。受信されない命令は、全く命令がないのと同じである。例えば、１つの部隊内の指揮官は、協力する戦場部隊に特定の地図位置にいるよう又はそのままの位置にいるよう命ずることができる。協力する部隊が命令を受け取らない場合は、それらの部隊は、夫々、互いに期待する位置にいないので、互いを敵部隊と取り違う可能性がある。このように、戦術データネットワークを介して特定のメッセージを確実にやり取りすることができることが極めて望ましい。
【００２８】
従って、戦術データネットワークにおいてＱｏＳを提供するシステム及び方法が必要である。戦術データネットワークのエッジでＱｏＳを提供するシステム及び方法が必要である。更に、ＱｏＳを伴う確実な通信のためのシステム及び方法が必要である。
【課題を解決するための手段】
【００２９】
本発明の実施形態は、データの通信を助けるシステム及び方法を提供する。方法は、データのブロックに優先順位を付ける工程と、インジケータを前記データのブロックのヘッダに設定する工程と、前記データのブロックを送信する工程と、前記データのブロックを再送信する工程とを有する。前記インジケータは、前記データのブロックの信頼できる配信が望まれていることを示す。前記インジケータは、少なくとも部分的にルールに基づいて設定される。前記インジケータは、メッセージ毎に設定される。前記データのブロックは、所定時間が経過した場合及び該データのブロックの配信の確認応答が受信されない場合に再送信される。
【００３０】
ある実施形態は、通信コンポーネント、優先順位付けコンポーネント、及び信頼性コンポーネントを有する、ネットワークでコンテンツに基づくサービスの質を提供するデータ通信システムを提供する。前記通信コンポーネントは、データのブロックを受信するよう構成される。前記通信コンポーネントは、前記データのブロックを送信するよう構成される。前記優先順位付けコンポーネントは、少なくとも部分的に前記データのブロックのコンテンツ及び利用可能な優先順位付けルールの組から選択される優先順位付けルールに基づいて該データのブロックに優先順位を付けるよう構成される。前記信頼性コンポーネントは、利用可能な信頼性ルールの組から選択される信頼性ルールに少なくとも部分的に基づいて前記データのブロックにインジケータを設定するよう構成される。前記信頼性コンポーネントは、受信されるデータのブロック内の信頼性インジケータに少なくとも部分的に基づいて確認応答メッセージを送信するよう構成される。
【００３１】
ある実施形態は、コンピュータで実行される命令の組であって、通信ルーチン、優先順位付けルーチン及び信頼性ルーチンを有する命令の組を有するコンピュータ読取可能な媒体を提供する。前記通信ルーチンは、データを受信するよう構成される。前記通信ルーチンは、前記データを送信するよう構成される。前記優先順位付けルーチンは、少なくとも部分的に前記データのコンテンツに基づいて該データに優先順位を付けるよう構成される。前記信頼性ルーチンは、利用可能な信頼性ルールの組から選択される信頼性ルールに少なくとも部分的に基づいて前記データにインジケータを設定するよう構成される。前記信頼性ルーチンは、受信されるデータのブロック内の信頼性インジケータに少なくとも部分的に基づいて確認応答メッセージを送信するよう構成される。
【図面の簡単な説明】
【００３２】
【図１】本発明の実施形態により動作する戦術通信ネットワーク環境を表す。
【図２】本発明の実施形態に従う７層ＯＳＩネットワークモデルにおけるデータ通信システムの位置付けを示す。
【図３】本発明の実施形態に従うデータ通信システムにより円滑にされる複数ネットワークの例を表す。
【図４】本発明の実施形態により動作するデータ通信環境を表す。
【図５】本発明の実施形態に従うデータ通信システムを表す。
【図６】本発明の実施形態に従うデータ通信方法のフロー図を表す。
【発明を実施するための形態】
【００３３】
以下の要約、及び本発明の特定の実施形態に関する以下の詳細な記載は、添付の図面とともに読まれる場合により良く理解される。本発明を表すために、特定の実施形態が図面には示されている。しかし、当然、本発明は、添付の図面に示される配置及び手段に限定されない。
【００３４】
図１は、本発明の実施形態により動作する戦術通信ネットワーク環境１００を表す。ネットワーク環境１００は、複数の通信ノード１１０と、１又はそれ以上のネットワーク１２０と、ノード及びネットワークを接続する１又はそれ以上のリンク１３０と、ネットワーク環境１００の構成要素上での通信を円滑にする１又はそれ以上の通信システム１５０とを有する。以下の検討では、ネットワーク環境１００には１又はそれ以上のネットワーク１２０及び１よりも多いリンク１３が含まれているとする。しかし、当然、他の環境が可能であり予測される。
【００３５】
通信ノード１１０は、例えば、無線、送信機、衛星、受信機、ワークステーション、サーバ及び／又は他の計算又は処理デバイスでありうる、且つ／あるいは、それらを含みうる。
【００３６】
ネットワーク１２０は、例えば、ノード１１０の間でデータを送信するためのハードウェア及び／又はソフトウェアでありうる。ネットワーク１２０は、例えば、１又はそれ以上のノード１１０を含みうる。
【００３７】
リンク１３０は、ノード１１０及び／又はネットワーク１２０の間の送信を可能にする有線及び／又は無線の接続でありうる。
【００３８】
通信システム１５０は、例えば、ノード１１０、ネットワーク１２０、及びリンク１３０の間でのデータ送信を助けるために使用されるソフトウェア、ファームウェア、及び／又はハードウェアを含みうる。図１に表されるように、通信システム１５０は、ノード１１０、ネットワーク１２０、及び／又はリンク１３０に対して実装され得る。ある実施形態では、全てのノード１１０が通信システム１５０を有する。ある実施形態では、１又はそれ以上のノード１１０が通信システム１５０を有する。ある実施形態では、１又はそれ以上のノード１１０は通信システム１５０を有することができない。
【００３９】
通信システム１５０は、ネットワーク環境１００等の戦術通信ネットワーク上の通信を確実にすることを助けるようデータの動的管理を提供する。図２に示されるように、ある実施形態で、システム１５０は、ＯＳＩ７層プロトコルモデルにおけるトランスポート層の部分として及び／又はその上部で動作する。システム１５０は、例えば、トランスポート層へ送られる戦術ネットワーク内のより高い優先度のデータを優先することができる。システム１５０は、ローカルエリアネットワーク（ＬＡＮ）又はワイドエリアネットワーク（ＷＡＮ）等の単一ネットワークにおいて、あるいは複数のネットワークにわたって、通信を円滑にするために使用され得る。複数ネットワークシステムの例が図３に示されている。システム１５０は、例えば、追加の帯域幅をネットワークへ付加するのではなく、利用可能な帯域幅を管理するために使用され得る。
【００４０】
ある実施形態で、システム１５０はソフトウェアシステムである。しかし、システム１５０は、様々な実施形態においてハードウェア及びソフトウェア両方の構成要素を含みうる。システム１５０は、例えば、ネットワークハードウェアに依存しない。すなわち、システム１５０は、様々なハードウェア及びソフトウェアプラットフォームで機能するよう構成され得る。ある実施形態で、システム１５０は、ネットワークの内部でノードにおいてよりむしろネットワークのエッジで動作する。しかし、システム１５０は、ネットワーク内の“チョークポイント”等、ネットワークの内部で同様に動作することができる。
【００４１】
システム１５０は、利用可能な帯域幅を最適化すること、情報に優先度を設定すること、及びネットワーク内のデータリンクを管理すること等のスループット管理機能を実行するためにルール及びモード又はプロファイルを使用することができる。帯域幅を最適化することによって、目下記載される技術は、１又はそれ以上のネットワークでデータをやり取りするよう帯域幅の使用の効率を高めるために用いられ得る。帯域幅の使用を最適化することには、例えば、機能的に余剰のメッセージを除くこと、メッセージストリームの管理又はシークエンシング（sequencing）、及びメッセージの圧縮が含まれ得る。情報に優先度を設定することには、例えば、インターネットプロトコル（ＩＰ）に基づく技術よりも精細にメッセージの種類を区別すること、及び選択された、ルールに基づくシークエンシングアルゴリズムを介してデータストリーム上にメッセージを配列することが含まれ得る。データリンクの管理には、例えば、ルール、モード、及び／又はデータトランスポートにおける変化に作用するネットワーク管理のルールに基づく解析が含まれ得る。モード又はプロファイルには、調子又は状態に関する特定のネットワークステートの動作上の必要性に関するルールの組が含まれ得る。システム１５０は、オンザフライで新しいモードを定義してそれに切り替わることを含め、モードに関する動的なオンザフライの再設定を提供する。
【００４２】
通信システム１５０は、例えば、不安的な、帯域幅を制限されたネットワークで、変化する優先度及びサービスの程度に適合するよう構成され得る。システム１５０は、改善されたデータフローがネットワークにおける応答機能を増やし且つ通信レイテンシーを減らす助けとなるよう情報を管理するように構成され得る。更に、システム１５０は、通信の利用可能性、生存性、及び信頼性を改善するようアップグレード及び拡張が可能であるフレキシブルなアーキテクチャを介して相互接続性を提供することができる。システム１５０は、例えば、所定の予測可能なシステムリソース及び帯域幅を用いながら、動的に変化する環境に自動で適合可能であるデータ通信アーキテクチャをサポートする。
【００４３】
ある実施形態で、システム１５０は、ネットワークを用いるアプリケーションに対して依然として透過的でありながら、帯域幅を制約された戦術通信ネットワークへスループット管理を提供する。
【００４４】
システム１５０は、ネットワークへ、低減された複雑性で、複数のユーザ及び環境にわたるスループット管理を提供する。上述されるように、ある実施形態で、システム１５０は、ＯＳＩ７層モデルの層４（トランスポート層）において及び／又はその上部でホストノードで動き、専門のネットワークハードウェアを必要としない。システム１５０は、層４インターフェースに対して透過的に動作することができる。すなわち、アプリケーションは、トランスポート層のための標準インターフェースを利用することができ、システム１５０の動作には気付かない。例えば、アプリケーションがソケットを開く場合に、システム１５０は、プロトコルスタック内のこの点でデータをフィルタリングすることができる。システム１５０は、アプリケーションが、システム１５０に特有のインターフェースではなく、例えば、ネットワーク上の通信デバイスでオペレーティングシステムによって提供されるＴＣＰ／ＩＰソケットを使用することを可能にすることによって、透明性（transparency）を達成する。システム１５０のルールは、例えば、拡張マークアップ言語（ＸＭＬ）で書かれ、及び／又はカスタム動的リンクライブラリ（ＤＬＬ）を介して提供され得る。
【００４５】
ある実施形態で、システム１５０は、ネットワークのエッジでサービスの質（ＱｏＳ）を提供する。システムのＱｏＳ機能は、例えば、コンテンツに基づく、ルールに基づくデータ優先順位付けをネットワークのエッジで提供する。優先順位付けには、例えば、差別化及び／又はシークエンシングが含まれ得る。システム１５０は、例えば、ユーザ設定可能な差別化ルールに基づいてメッセージをキューに区別することができる。メッセージは、ユーザによって設定されたシークエンシングルール（例えば、飢餓性（starvation）、ラウンドロビン（round  robin）、相対頻度等。）によって指示される順序でデータストリームに配列される。エッジでＱｏＳを用いると、例えば、従来のＱｏＳアプローチによっては区別できないデータメッセージが、メッセージのコンテンツに基づいて区別され得る。ルールは、例えば、ＸＭＬで実施され得る。ある実施形態で、ＸＭＬを超える機能に適合するよう及び／又は極めて低いレイテンシー要求をサポートするよう、システム１５０は、例えば、動的リンクライブラリがカスタムコードを有して与えられることを可能にする。
【００４６】
ネットワークにおける受信及び／又は送信データは、システム１５０を介してカスタマイズされ得る。優先順位付けは、例えば、優先度の低い大量のデータからクライアントアプリケーションを保護する。システム１５０は、特定の操作シナリオ又は制約をサポートするようアプリケーションがデータを受信することを確かにするのに役立つ。
【００４７】
ある実施形態で、ホストが、帯域幅を制約された戦術ネットワークへのインターフェースとしてのルータを有するＬＡＮへ接続されている場合に、システムは、プロキシによってＱｏＳとして知られている設定において動作することができる。この設定で、ローカルＬＡＮ行きのパケットはシステムを迂回して、即座にＬＡＮへ向かう。システムは、帯域幅を制約された戦術リンク行きのパケットへネットワークのエッジでのＱｏＳを適用する。
【００４８】
ある実施形態で、システム１５０は、命令されるプロファイルスイッチングを介して複数の操作シナリオ及び／又はネットワーク環境に動的なサポートを提供する。プロファイルには、ユーザ又はシステムが示されたプロファイルを変更することを可能にする名又は他の識別子が含まれ得る。プロファイルには、また、例えば、機能的冗長性ルール識別子、差別化ルール識別子、アーカイバル（archival）・インターフェース識別子、シークエンシングルール識別子、送信前（pre-transmit）インターフェース識別子、送信後（post-transmit）インターフェース識別子、トランスポート識別子、及び／又は他の識別子等の１又はそれ以上の識別子が含まれ得る。機能的冗長性ルール識別子は、例えば、データの陳腐化又はその後の同様のデータ等から機能的冗長性を検出するルールを特定する。差別化ルール識別子は、例えば、処理のためにメッセージをキューに区別するルールを特定する。アーカイバル・インターフェース識別子は、例えば、アーカイバル・システムへのインターフェースを特定する。シークエンシングルール識別子は、キューフロント（queue  fronts）のサンプル、ひいては、データストリームにおけるデータのシークエンシングを制御するシークエンシングアルゴリズムを識別する。送信前インターフェース識別子は、例えば、暗号化及び圧縮等の特別の処理を提供する送信前処理のためのインターフェースを特定する。送信後インターフェース識別子は、例えば、復号化及び解凍等の処理を提供する送信後処理のためのインターフェースを特定する。トランスポート識別子は、選択されているトランスポートのためのネットワークインターフェースを識別する。
【００４９】
プロファイルには、また、例えば、キューサイジング（queue  sizing）情報等の他の情報が含まれ得る。キューサイジング情報は、例えば、キューの数並びに各キューのためのメモリ及び二次記憶装置の量を特定する。
【００５０】
ある実施形態で、システム１５０は、帯域幅を最適化するための、ルールに基づくアプローチを提供する。例えば、システム１５０は、メッセージをメッセージキューに区別するためにキュー選択ルールを用いることができる。これにより、メッセージは、データストリームにおいて優先度及び適切な相対頻度を割り当てられ得る。システム１５０は、機能的に余剰のメッセージを管理するために機能的冗長性ルールを使用することができる。メッセージは、例えば、未だネットワーク上で送信されていない以前のメッセージと（ルールによって定義されるように）それほど異ならない場合には機能的に余剰である。すなわち、予め送信される予定になっているが未だ送信されていないより古いメッセージとそれほど異ならない新しいメッセージが提供される場合は、より古いメッセージは、機能的に等価なメッセージを搬送し且つ更にキューにおいて前方にあるので、より新しいメッセージは落とされても良い。加えて、機能的冗長性は、より古いメッセージが送信される前に到達するより新しいメッセージ及び実際の複製メッセージを多数含む。例えば、ノードは、耐障害性を理由として２つの異なる経路によって送信されたメッセージ等、基礎をなすネットワークの特徴に起因する特定のメッセージの同一の複製を受信することがある。他の例として、新しいメッセージは、未だ送信されていないより古いメッセージに取って代わるデータを含みうる。この状況で、システム１５０は、より古いメッセージを落として、新しいメッセージのみを送信することができる。システム１５０は、また、データストリームの、優先度に基づくメッセージシーケンスを決定する優先度シークエンシングルールを有することができる。更に、システム１５０は、圧縮及び／又は暗号化等の送信前及び送信後の特別の処理を提供する送信処理ルールを有することができる。
【００５１】
ある実施形態で、システム１５０は、データのインテグリティ（integrity）及び信頼性を保護する助けをする耐障害性機能を提供する。例えば、システム１５０は、メッセージをキューに区別するために、ユーザにより定義されるキュー選択ルールを使用することができる。キューは、例えば、ユーザ定義の設定に従う大きさを有する。この設定は、例えば、キューが取ることができるメモリの最大量を特定する。更に、この設定は、ユーザが、キューのオーバフローのために使用され得る二次記憶装置の場所及び量を特定することを可能にする。キューにおけるメモリがいっぱいになった後、メッセージは二次記憶装置内のキューに入れられ得る。更に二次記憶装置もいっぱいになる場合は、システム１５０は、キューにおいて最も古いメッセージを除去し、エラーメッセージを記憶し、最新のメッセージをキューに入れることができる。アーカイビングが動作モードに有効にされる場合は、待機解除されたメッセージが、そのメッセージがネットワーク上で送信されなかったというインジケータ（indicator）を有してアーカイブに保管され得る。
【００５２】
システム１５０におけるキューのためのメモリ及び二次記憶装置は、例えば、特定の用途のためにリンク毎に構成され得る。ネットワークを利用可能な期間の間の時間が長くなればなるほど、ネットワーク機能停止をサポートするために、メモリ及び二次記憶装置はますます大きくなる。システム１５０は、ネットワークモデリング及びシミュレーションアプリケーションと一体化され得、例えば、キューが適切な大きさにされ、更に、機能停止の時間間隔が定常状態を達成するのを助け且つ結果として生ずるキューのオーバフローを回避するのを助けるほど十分であることを確かにするのに役立つようサイジングを識別するのを助ける。
【００５３】
更に、ある実施形態で、システム１５０は、受信（シェイピング（shaping））及び送信（ポリシング（policing））データを測定する機能を提供する。ポリシング及びシェイピング機能は、ネットワーク内でのタイミングの不整合に対処するのに役立つ。シェイピングは、ネットワークバッファがより低い優先度のデータの後ろに並べられている高い優先度のデータによりあふれることを防ぐ働きをする。ポリシングは、アプリケーションデータの需要者が低い優先度のデータによって圧倒（overrun）されることを防ぐ働きをする。ポリシング及びシェイピングは、２つのパラメータ、すなわち、有効リンク速度及びリンク比（proportion）によって管理され得る。システム１５０は、例えば、リンク比を乗じられた有効リンク速度に過ぎないデータストリームを形成することができる。かかるパラメータは、ネットワークが変わる場合に動的に変更され得る。システムは、また、データ計測でのアプリケーションレベル決定をサポートするよう、検出されたリンク速度へのアクセスを提供することができる。システム１５０によって提供される情報は、どのようなリンク速度が所与のネットワークシナリオによって適切であるかを決定するのを助けるよう他のネットワーク動作情報と結合され得る。
【００５４】
図４は、本発明の実施形態により動作するデータ通信環境４００を表す。環境４００は、ソースノード４１０と、ソースデータ通信システム４１５と、あて先ノード４２０と、あて先データ通信システム４２５とを有する。
【００５５】
ソースノード４１０は、あて先ノード４２０と通信する。ソースノード４１０は、例えば、リンクを介してあて先ノード４２０と通信することができる。リンクは、例えば、戦術データネットワークの一部でありうる。ソースノード４１０は、例えば、１よりも多いリンク及び／又は中間ノードを介してあて先ノード４２０と通信することができる。
【００５６】
ソースデータ通信システム４１５は、あて先データ通信システム４２５と通信する。ソースデータ通信システム４１５は、例えば、リンクを介してあて先データ通信システム４２５と通信することができる。リンクは、例えば、戦術データネットワークの一部でありうる。ソースデータ通信システム４１５は、例えば、１よりも多いリンク及び中間ノードを介してあて先データ通信システム４２５と通信することができる。
【００５７】
ソースノード４１０は、ソースデータ通信システム４１５と通信する。ある実施形態で、ソースデータ通信システム４１５はソースノード４１０で実行される。ある実施形態で、ソースデータ通信システム４１５は、ソースノード４１０とは異なるノードで実行され、リンクを介してソースノード１１０と通信する。
【００５８】
あて先ノード４２０は、あて先データ通信システム４２５と通信する。ある実施形態で、あて先データ通信システム４２５はあて先ノード４２０で実行される。ある実施形態で、あて先データ通信システム４２５は、あて先ノード４２０とは異なるノードで実行され、リンクを介してあて先ノード４２０と通信する。
【００５９】
ソースノード４１０は、ソースデータ通信システム４１５及びあて先データ通信システム４２５を通してあて先ノード４２０と通信することができる。
【００６０】
ソースデータ通信システム４１５は、例えば、前出のデータ通信システム１５０と同じであっても良い。あて先データ通信システム４２５は、例えば、前出のデータ通信システム１５０と同じであっても良い。ソースデータ通信システム４１５は、例えば、あて先データ通信システム４２５と同じであっても良い。
【００６１】
動作において、ソースノード４１０は、少なくとも部分的に、ソースデータ通信システム４１５を用いてあて先ノード４２０へ送られるべきデータを提供及び／又は生成する。ソースノード４１０は、例えば、アプリケーション、無線、衛星、又はネットワークを有することができる。ソースノード４１０は、上述されるように、リンクを介してソースデータ通信システム４１５と通信することができる。代替的に、ソースノード４１０は、ソースデータ通信システム４１５と同じ計算システムで実行されるアプリケーションであっても良く、更に、例えば、プロセス間通信を用いて、又はソケット等のアプリケーションプログラミングインターフェース（ＡＰＩ）を用いてソースデータ通信システム４１５と通信することができる。アプリケーションの観点からすれば、アプリケーションは、データがインターフェースを介してソースデータ通信システム４１５へ送られていることに気付かない。このように、ある実施形態で、ソースデータ通信システム４１５は、例えば、計算システムのドライバとして動作し、及び／又はソースノード４１０によってそのようなドライバと見なされ得る。ソースノード４１０は、例えば、データの連続的なストリームを生成することができ、あるいは、データをバーストすることができる。
【００６２】
ソースデータ通信システム４１５はデータを受信するよう構成される。例えば、ソースデータ通信システム４１５は、ソースノード４１０からデータを受信することができる。データは、通信コンポーネントによって受信され得る。
【００６３】
ある実施形態で、ソースデータ通信システム４１５は、データに優先順位を付けるよう構成される。例えば、ソースデータ通信システム４１５は、データを記憶し、まとめ、及び／又はそれに優先順位を付けるための１又はそれ以上のキューを有することができる。代替的に、他のデータ構成が、データを記憶し、まとめ、及び／又はそれに優先順位を付けるために使用されても良い。例えば、テーブル、ツリー、又は連結リストが使用され得る。キュー又は他のデータ構成は、例えば、優先順位付けコンポーネントによって提供され得る。
【００６４】
ソースデータ通信システム４１５は、メッセージ毎に信頼性を提供するよう構成される。すなわち、ソースノード４１０等の特定のソースからのデータに関して、ソースデータ通信システム４１５によって伝達される各メッセージは、ソースデータ通信システム４１５によって確実に配信され得る。例えば、信頼性は信頼性コンポーネントによって提供され得る。メッセージ又はデータのブロックが確実に配信されるかどうかは、信頼性ルールによって決定され得る。この信頼性ルールは、例えば、ソースアドレス、ソースポート、あて先アドレス、あて先ポート、及び／又はメッセージのコンテンツに基づきうる。例えば、信頼性ルールは、メッセージのあて先ＩＰアドレスに基づいて、特定のメッセージの信頼できる配信が望まれていると判断することができる。信頼性ルールは、メッセージのコンテンツに基づいて、特定のメッセージの信頼できる配信が望まれているかどうかを決定することができる。例えば、メッセージは命令を含むとの識別子を有するメッセージは、信頼できる配信を必要とすると決定され得る。対照的に、位置遠隔計測値を含むメッセージは信頼できる配信を必要としない。このように、信頼できる配信が望まれているかどうかは、メッセージ毎に決定され得る。ある実施形態で、信頼性ルールは、ユーザによって少なくとも部分的に定義され得る。
【００６５】
メッセージの信頼できる配信は、やり取りされるべきデータにインジケータを設定することによって、ソースデータ通信システム４１５によって提供され得る。このインジケータは、例えば、フラッグ、オプション、パラメータ、又は値でありうる。インジケータは、例えば、データのヘッダ内のブールフラッグ（Boolean  flag）でありうる。ある実施形態で、インジケータは、利用可能な信頼性ルールの組から選択される信頼性ルールに少なくとも部分的に基づいて設定される。ある実施形態で、ヘッダは、インジケータを提供するよう、やり取りされるべきデータの先頭に付加される。ある実施形態で、ヘッダには、データが破損しているかどうかを決定するためにデータの受信者によって利用され得るエラー検出及び／又は補正値が含まれ得る。
【００６６】
ソースデータ通信システム４１５は、データを送信した後に、そのデータの複製を保持することができる。例えば、データの複製は、データの配信が確認されるまで保持され得る。データの配信は、例えば、確認応答メッセージによって確認され得る。確認応答メッセージは、例えば、あて先データ通信システム４２５から送信され得る。データの配信が所定の時間期間内に確認されない場合は、ソースデータ通信システム４１５はデータを再送信することができる。データは、データの複製に少なくとも部分的に基づいて再送信され得る。ソースデータ通信システム４１５は、例えば、もともと送信されたデータが失われたという想定の下に、メッセージを再送信することができる。確認応答が元のデータ又は再送信されたデータの複製に関して受信されない場合は、データが無事に受信され確認されるまで、再び複製は再送信され得る。
【００６７】
ある実施形態で、ソースデータ通信システム４１５は、あて先ノード４２０へデータを送信するよう構成される。あて先ノード４２０へのデータの送信には、あて先データ通信システム４２５へのデータの送信が含まれ得る。データは、例えば、前出の通信コンポーネントと同様の通信コンポーネントによってやり取りされ得る。やり取りされるデータは、例えば、通信コンポーネントによってソースノード４１０から受信されるデータであり、及び／又はそのようなデータを含みうる。例えば、やり取りされるデータは、優先順位付けコンポーネントによって優先順位を付けられるデータでありうる。ある実施形態で、データは、戦術データネットワークを介して少なくとも部分的にやり取りされる。例えば、データは、衛星無線リンクを介してソースデータ通信システム４１５から送信され得る。
【００６８】
あて先データ通信システム４２５は、データを受信するよう構成される。あて先データ通信システム４２５は、少なくとも部分的に、ソースデータ通信システム４１５から送信されるデータを受信する。このデータは、例えば、通信コンポーネントによって受信され得る。
【００６９】
あて先データ通信システム４２５は、ソースデータ通信システム４１５から送信されるデータの信頼できる配信をサポートするよう構成される。あて先データ通信システム４２５がデータを受信する場合に、データの信頼できる配信が望まれることを示すインジケータが設定されている場合は、あて先データ通信システム４２５はデータの受信を確認する。インジケータは、例えば、データのヘッダ内にありうる。データの受信は、例えば、確認応答メッセージによって確認され得る。あて先データ通信システム４２５は、データの受信を示すよう確認応答メッセージをソースノード４１０及び／又はソースデータ通信システム４１５へ送信することができる。ある実施形態で、データには、エラー検出及び／又は補正値が含まれ得る。エラー検出及び／又は補正値は、データが通信中に破損したかどうかを決定するために利用され得る。データが破損している場合は、あて先データ通信システム４２５は、データの受信の確認応答を送信することができない。
【００７０】
データが受信され、確認応答が送信される場合に、確認応答はソースデータ通信システム４１５に達しないことが起こり得る。例えば、確認応答メッセージは、中間のリンク又はノードによって失われ及び／又は落とされることがある。この状況で、ソースデータ通信システム４１５は、データが無事に配信されなかったと確信して、データを再送信する。このようにして、あて先データ通信システム４２５は、データの二重の複製を受信することがある。ある実施形態で、あて先データ通信システム４２５は、このようなデータの二重の複製を削除するよう構成される。あて先データ通信システム４２５は、データの二重の複製を落とすことができる。あて先データ通信システム４２５は、元のデータ及び／又はデータの複製のうち一方又は両方を承認することができる。これにより、ソースデータ通信システム４１５はデータの受信を通知される。
【００７１】
ある実施形態で、あて先データ通信システム４２５は、データに優先順位を付けるよう構成される。例えば、あて先データ通信システム４２５は、データを記憶し、まとめ、及び／又はそれに優先順位を付けるための１又はそれ以上のキューを有することができる。代替的に、他のデータ構成が、データを記憶し、まとめ、及び／又はそれに優先順位を付けるために使用されても良い。例えば、テーブル、ツリー、又は連結リストが使用され得る。キュー又は他のデータ構成は、例えば、優先順位付けコンポーネントによって提供され得る。データは、例えば、あて先ノード４２０への配信のために優先順位を付けられ得る。
【００７２】
あて先データ通信システム４２５は、あて先ノード４２０へデータを送信するよう構成される。あて先データ通信システム４２５は、例えば、あて先ノード４２０へデータを送信することができる。あて先データ通信システム４２５は、リンクを介してデータを送信することができる。例えば、あて先データ通信システム４２５は、戦術データネットワークを介してデータを送信することができる。代替的に、あて先データ通信システム４２５は、あて先データ通信システム４２５と同じ計算システムで実行されるアプリケーションへデータを送信することができる。あて先データ通信システム４２５は、例えば、プロセス間通信を用いて、又はソケット等のＡＰＩを用いてアプリケーションと通信することができる。アプリケーションの観点からすれば、アプリケーションは、データがインターフェースを介してあて先データ通信システム４２５から受信されていることに気付かない。このように、ある実施形態で、あて先データ通信システム４２５は、例えば、計算システムのドライバとして動作し、及び／又はアプリケーションによってそのようなドライバと見なされ得る。
【００７３】
あて先ノード４２０は、少なくとも部分的に、あて先データ通信システム４２５によって扱われるデータを受信する。あて先ノード４２０は、上述されるように、リンクを介してあて先データ通信システム４２５と通信することができる。代替的に、あて先ノード４２０は、あて先データ通信システム４２５と同じ計算システムで実行されるアプリケーションであっても良く、更に、例えば、プロセス間通信を用いて、又はソケット等のＡＰＩを用いてあて先データ通信システム４２５と通信することができる。アプリケーションの観点からすれば、アプリケーションは、データがインターフェースを介してあて先データ通信システム４２５から送信されていることに気付かない。このように、ある実施形態で、あて先データ通信システム４２５は、例えば、計算システムのドライバとして動作し、及び／又はあて先ノード４２０によってそのようなドライバと見なされ得る。
【００７４】
ソースデータ通信システム４１５、あて先データ通信システム４２５、ソースノード４１０、及び／又はあて先ノード４２０によって受信され、記憶され、優先順位を付けられ、処理され、通信され、及び／又は送信されるデータには、データのブロックが含まれ得る。例えば、データのブロックは、パケット、セル、フレーム、及び／又はストリームでありうる。例えば、あて先データ通信システム４２５は、ソースデータ通信システム４１５からデータのパケットを受信することができる。他の例として、ソースデータ通信システム４１５は、ソースノード４１０からのデータのストリームを処理することができる。
【００７５】
上述されるように、ソースデータ通信システム４１５及び／又はあて先データ通信システム４２５のコンポーネント、要素、及び／又は機能は、例えば、ハードウェア、ファームウェア、及び／又は、ソフトウェアにおける命令の組として様々な形態で、単独で又は組み合わされて実施され得る。ある実施形態は、汎用コンピュータ又は他の処理装置での実行のために、メモリ、ハードディスク、ＤＶＤ、又はＣＤ等のコンピュータ読取可能な媒体にある命令の組として提供され得る。
【００７６】
図５は、本発明の実施形態に従うデータ通信システム５００を表す。データ通信システム５００は、通信コンポーネント５１０と、優先順位付けコンポーネント５２０と、信頼性コンポーネント５３０とを有する。通信コンポーネント５１０は、優先順位付けコンポーネント５２０と通信する。通信コンポーネント５１０は、信頼性コンポーネント５３０と通信する。
【００７７】
データ通信システム５００は、例えば、前出のデータ通信システム１５０と同じでありうる。データ通信システム５００は、例えば、前出のソースデータ通信システム４１５と同じでありうる。データ通信システム５００は、例えば、前出のあて先データ通信システム４２５と同じでありうる。
【００７８】
動作において、通信コンポーネント５１０は、データを受信するよう構成される。通信コンポーネント５１０は、ソースノード４１０からデータを受信することができる。通信コンポーネント５１０は、あて先ノード４２０からデータを受信することができる。通信コンポーネント５１０は、ソースデータ通信システム４１５及び／又はあて先データ通信システム４２５等の他のデータ通信コンポーネントからデータを受信することができる。通信コンポーネント５１０は、例えば、リンクを介してデータを受信することができる。代替的に、通信コンポーネント５１０は、通信コンポーネント５１０と同じ計算システムで実行されるアプリケーションからデータを受信することができる。通信コンポーネント５１０は、例えば、プロセス間通信を用いて、又はソケット等のＡＰＩを用いてアプリケーションと通信することができる。アプリケーションの観点からすれば、アプリケーションは、データがインターフェースを介して通信コンポーネント５１０へ送られていることに気付かない。このように、ある実施形態で、通信コンポーネント５１０は、例えば、計算システムのドライバとして動作し、及び／又はアプリケーションによってそのようなドライバと見なされ得る。
【００７９】
通信コンポーネント５１０は、データを送信するよう構成される。通信コンポーネント５１０は、例えば、ソースノード４１０及び／又はあて先ノード４２０へデータを送信することができる。他の例として、通信コンポーネント５１０は、ソースデータ通信システム４１５及び／又はあて先データ通信システム４２５へデータを送信することができる。通信コンポーネント５１０は、リンクを介してデータを送信することができる。例えば、通信コンポーネント５１０は、戦術データネットワークを介してデータを送信することができる。代替的に、通信コンポーネント５１０は、通信コンポーネント５１０と同じ計算システムで実行されるアプリケーションへデータを送信することができる。通信コンポーネント５１０は、例えば、プロセス間通信を用いて、又はソケット等のＡＰＩを用いてアプリケーションと通信することができる。アプリケーションの観点からすれば、アプリケーションは、データがインターフェースを介して通信コンポーネント５１０から受信されていることに気付かない。このように、ある実施形態で、通信コンポーネント５１０は、例えば、計算システムのドライバとして動作し、及び／又はアプリケーションによってそのようなドライバと見なされ得る。
【００８０】
優先順位付けコンポーネント５２０は、データを体系化し、及び／又はそれに優先順位を付けるよう構成される。優先順位を付けられるべきデータは、通信コンポーネント５１０によって受信されるデータでありうる。ある実施形態で、優先順位付けコンポーネント５２０は、データのブロックに関して優先度を決定することができる。例えば、データのブロックが通信コンポーネント５１０によって受信される場合に、優先順位付けコンポーネント５２０は、そのデータのブロックに関して優先度を決定することができる。他の例として、データのブロックは、優先順位付けコンポーネント５２０においてキューで記憶され得、優先順位付けコンポーネント５２０は、データブロックに関して及び／又はキューに関して決定された優先度に基づいてキューからデータのブロックを取り出すことができる。
【００８１】
優先順位付けコンポーネント５２０によるデータの優先順位付けは、例えば、ＱｏＳをサポート及び／又は提供するために使用され得る。例えば、優先順位付けコンポーネント５２０は、戦術データネットワークを介して受信されるデータに関して優先度を決定することができる。優先度は、例えば、データのコンテンツに基づくことができる。例えば、戦場内の部隊に対する命令を伴う軍司令官からのデータは、パトロール中でない２人の兵士の間のチャットセッションよりも高い優先度を与えられ得る。優先度は、通信システム５１０によるその後の通信のためにデータが複数のキューのうちのどれに置かれるべきかを決定するために使用され得る。例えば、より高い優先度のデータは、より高い優先度のデータを保持することを目的としたキューに置かれ、次いで、優先順位付けコンポーネント５２０は、次にやり取りすべきデータを決定する際に、このより高い優先度のキューを最初に見る。
【００８２】
ある実施形態で、優先順位付けコンポーネント５２０は、少なくとも部分的に１又はそれ以上の優先順位付けルールに基づくことができる。上述されるように、優先順位付けルールは、ユーザにより定義され得る。ある実施形態で、ルールは、例えば、ＸＭＬで記述され、及び／又は、カスタムＤＬＬを介して提供され得る。ルールは、例えば、１つのアプリケーション又はノードから受信されるデータが他のアプリケーション又はノードからのデータより優遇されることを定めることができる。
【００８３】
信頼性コンポーネント５３０は、データの信頼できる配信が望まれることを示すよう構成される。信頼性コンポーネント５３０は、メッセージ毎に信頼性を提供するよう構成される。すなわち、ソースノード４１０等の特定のソースからのデータに関して、データ通信システム５００によってやり取りされる各メッセージは、データ通信システム５００によって確実に配信され得る。信頼性コンポーネント５３０は、データが確実に配信されるかどうかを判断するために１又はそれ以上の信頼性ルールを使用することができる。信頼性ルールは、例えば、ソースアドレス、ソースポート、あて先アドレス、あて先ポート、及び／又はメッセージのコンテンツに基づきうる。例えば、信頼性コンポーネント５３０は、メッセージのあて先ＩＰアドレスに基づいて、特定のメッセージの信頼できる配信が望まれていると判断することができる。信頼性コンポーネント５３０は、メッセージのコンテンツに基づいて、特定のメッセージの信頼できる配信が望まれているかどうかを決定することができる。例えば、メッセージは命令を含むとの識別子を有するメッセージは、信頼できる配信を必要とすると決定され得る。対照的に、位置遠隔計測値を含むメッセージは信頼できる配信を必要としない。ある実施形態で、信頼性ルールは、ユーザによって少なくとも部分的に定義され得る。
【００８４】
信頼性コンポーネント５３０は、データの信頼できる配信が望まれることを示すよう、やり取りされるべきデータにインジケータを設定することができる。このインジケータは、例えば、フラッグ、オプション、パラメータ、又は値でありうる。インジケータは、例えば、データのヘッダ内のブールフラッグでありうる。ある実施形態で、信頼性コンポーネント５３０は、利用可能な信頼性ルールの組から選択される信頼性ルールに少なくとも部分的に基づいてインジケータを設定するよう構成される。ある実施形態で、ヘッダは、インジケータを提供するよう、やり取りされるべきデータの先頭に付加される。ある実施形態で、ヘッダには、データが破損しているかどうかを決定するためにデータの受信者によって利用され得るエラー検出及び／又は補正値が含まれ得る。
【００８５】
信頼性コンポーネント５３０は、データの信頼できる配信が望まれる場合に、そのデータの複製を保持することができる。例えば、データの複製は、データの配信が確認されるまで保持され得る。データの配信は、例えば、確認応答メッセージによって確認され得る。確認応答メッセージは、例えば、あて先データ通信システム４２５の信頼性コンポーネントから送信され得る。データの配信が所定の時間期間内に確認されない場合は、信頼性コンポーネントはデータを再送信することができる。データは、例えば、通信コンポーネント５１０によって再送信され得る。データは、データの複製に少なくとも部分的に基づいて再送信され得る。データは、例えば、もともと送信されたデータが失われたという想定の下に、再送信され得る。確認応答が元のデータ又は再送信されたデータの複製に関して受信されない場合は、データが無事に受信され確認されるまで、再び複製は再送信され得る。
【００８６】
信頼性コンポーネント５３０は、ソースデータ通信システム４１５等のデータ通信システムから送信されるデータの信頼できる配信をサポートするよう構成される。通信コンポーネント５１０がデータを受信する場合に、データの信頼できる配信が望まれることを示すインジケータが設定されている場合は、信頼性コンポーネント５３０はデータの受信を確認する。インジケータは、例えば、データのヘッダ内にありうる。信頼性コンポーネント５３０は、例えば、確認応答メッセージによってデータの受信を確認することができる。信頼性コンポーネント５３０は、例えば、データの受信を示すよう確認応答メッセージをソースノード４１０及び／又はソースデータ通信システム４１５へ送信することができる。ある実施形態で、データには、エラー検出及び／又は補正値が含まれ得る。エラー検出及び／又は補正値は、データが通信中に破損したかどうかを決定するために信頼性コンポーネント５３０によって利用され得る。データが破損している場合は、信頼性コンポーネント５３０は、データの受信の確認応答を送信することができない。
【００８７】
データが受信され、確認応答が送信される場合に、確認応答は、ソースデータ通信システム４１５等の信頼できる配信を要求した送り手に達しないことが起こり得る。例えば、確認応答メッセージは、中間のリンク又はノードによって失われ及び／又は落とされることがある。この状況で、送り手は、データが無事に配信されなかったと確信して、データを再送信する。このようにして、データ通信システム５００は、データの二重の複製を受信することがある。ある実施形態で、信頼性コンポーネント５３０は、このようなデータの二重の複製を削除するよう構成される。信頼性コンポーネント５３０は、データの二重の複製を落とし、又は削除することができる。ある実施形態で、信頼性コンポーネント５３０は、前出の機能的冗長性ルールと同様の機能的冗長性ルールに少なくとも部分的に基づいて二重複製を処理することができる。信頼性コンポーネント５３０は、は、元のデータ及び／又はデータの複製のうち一方又は両方を承認することができる。これにより、送り手はデータの受信を通知される。
【００８８】
ある実施形態で、データ通信システム５００は、モード又はプロファイルインジケータを有する。モードインジケータは、例えば、データ通信システム５００の現在のモード又はステートを表すことができる。上述されるように、データ通信システム５００は、利用可能な帯域幅の最適化、情報優先度の設定、及びネットワークにおけるデータリンクの管理等のスループット管理機能を実行するために、優先順位付けルール及び信頼性ルール等のルール並びにモード又はプロファイルを使用することができる。例えば、様々なモードが、ルール及び／又はモードの変化に作用しうる。モード又はプロファイルには、調子又は状態に関する特定のネットワークステートの動作上の必要性に関するルールの組が含まれ得る。データ通信システム５００は、例えば、オンザフライで新しいモードを定義してそれに切り替わることを含め、モードに関する動的な再設定を提供することができる。
【００８９】
ある実施形態で、データ通信システム５００は、他のアプリケーションに対して透過的である。例えば、ソースデータ通信システム４１５によって実行される処理、体系化、及び／又は優先順位付けは、ソースノード４１０又は他のアプリケーション若しくはデータソースに対して透過的でありうる。例えば、データ通信システム５００と同じシステムで、又はデータ通信システム５００へ接続されているノードで実行されるアプリケーションは、データ通信システム５００によって実行されているデータの優先順位付けに気付かない。
【００９０】
ある実施形態で、データ通信システム５００及び／又はデータ通信システム５００の構成要素は、データの全てを受信しないことがある。例えば、データの一部はバッファに格納され、データ通信システム５００はヘッダ情報及びバッファへのポインタのみを受信することができる。例えば、データ通信システム５００は、オペレーティングシステムのプロトコルスタックに引っ張り込まれ、アプリケーションがデータをトランスポート層インターフェース（例えば、ソケット。）を通ってオペレーティングシステムへデータを送る場合に、オペレーティングシステムは、データへのアクセスをデータ通信システム５００へ提供することができる。
【００９１】
上述されるように、データ通信システム５００のコンポーネント、要素、及び／又は機能は、例えば、ハードウェア、ファームウェア、及び／又は、ソフトウェアにおける命令の組として様々な形態で、単独で又は組み合わされて実施され得る。ある実施形態は、汎用コンピュータ又は他の処理装置での実行のために、メモリ、ハードディスク、ＤＶＤ、又はＣＤ等のコンピュータ読取可能な媒体にある命令の組として提供され得る。
【００９２】
一実施例で、例えば、戦車小隊長は、戦術データネットワークを介して小隊の他の構成員と通信するために無線を有する。無線はデータ通信システムへインターフェース接続される。データ通信システムは、例えば、前出のデータ通信システム５００と同じでありうる。リーダは、毎秒、位置遠隔計測データを他の兵員へ送信する。加えて、リーダは、周期的に、命令を小隊の兵員へ送信する。データ通信システム５００は、命令が他の兵員によって受信されることを保証するよう、かかる命令に信頼性を提供する。信頼性を伴って送信される命令は、受信ユニットが受信を確認するようにインジケータ設定を有する。命令が失われる場合に、データ通信システム５００は、確認応答が受信されるまで、所定の時間期間の後に命令を再送する。対照的に、位置遠隔計測データに関しては、優先度がより低く且つより頻繁に伝送されることから、信頼性は必要とされない。
【００９３】
図６は、本発明の実施形態に従うデータ通信方法６００のフロー図を表す。方法６００は、以下でより詳細に記載される下記のステップを有する。ステップ６１０で、データは優先順位を付される。ステップ６２０で、インジケータが設定される。ステップ６３０で、データが送信される。ステップ６４０で、確認応答が受信され得る。ステップ６５０で、データが再送信される。方法６００は、前出のシステムの要素を参照して記載されるが、当然、他の実施が可能である。
【００９４】
ステップ６１０で、データは優先順位を付される。データは、例えば、ノード又はアプリケーションから受信され得る。例えば、データは、ソースノード４１０から受信され得る。他の例として、データは、データ通信システム５００と同じ計算システムで実行されるアプリケーションから受信され得る。データは、例えば、データ通信システム５００、ソースデータ通信システム４１５、及び／又はあて先データ通信システム４２５によって優先順位を付けられ及び／又は体系化され得る。データは、例えば、優先順位付けコンポーネントによって優先順位を付けられ得る。優先順位付けコンポーネントは、例えば、優先順位付けコンポーネント５２０と同じでありうる。ある実施形態で、データ通信システム５００は、データのブロックに関して優先度を決定することができる。例えば、データのブロックがデータ通信システム５００によって受信される場合に、データ通信システム５００の優先順位付けコンポーネント５２０は、そのデータのブロックに関して優先度を決定することができる。他の例として、データのブロックは、データ通信システム５００においてキューで記憶され得、優先順位付けコンポーネント５２０は、データのブロック及び／又はキューに関して決定されている優先度に基づいてキューからデータのブロックを取り出すことができる。
【００９５】
データの優先順位付けは、例えば、ＱｏＳを提供及び／又はサポートするために使用され得る。例えば、データ通信システム５００は、戦術データネットワークを介して受信されるデータに関して優先度を決定することができる。優先度は、例えば、データのコンテンツに基づくことができる。例えば、戦場内の部隊に対する命令を伴う軍司令官からのデータは、パトロール中でない２人の兵士の間のチャットセッションよりも高い優先度を与えられ得る。優先度は、データ通信システム５００によるその後の通信のためにデータが複数のキューのうちのどれに置かれるべきかを決定するために使用され得る。例えば、より高い優先度のデータは、より高い優先度のデータを保持することを目的としたキューに置かれ、次いで、データ通信システム５００は、次にやり取りすべきデータを決定する際に、このより高い優先度のキューを最初に見る。
【００９６】
データは、少なくとも部分的に１又はそれ以上の優先順位付けルールに基づくことができる。上述されるように、優先順位付けルールは、例えば、ユーザにより定義され、且つ／あるいは、システム及び／又は動作制約に基づいてプログラミングされ得る。ある実施形態で、ルールは、例えば、ＸＭＬで記述され、及び／又は、カスタムＤＬＬを介して提供され得る。優先度ルールは、例えば、１つのアプリケーション又はノードから受信されるデータが他のアプリケーション又はノードからのデータより優遇されることを定めることができる。
【００９７】
ある実施形態で、優先順位を付けられるべきデータは落とされない。すなわち、たとえデータが低い優先度であるとしても、そのデータはデータ通信システム５００によって落とされない。むしろ、データは、潜在的に、受信されるより高い優先度のデータの量に依存して、一定期間遅らせられ得る。
【００９８】
ステップ６２０では、インジケータが設定される。このインジケータは、例えば、ステップ６１０で優先順位を付けられたデータで設定され得る。インジケータは、例えば、データの信頼できる配信が望まれていることを示すために設定され得る。インジケータは、例えば、フラッグ、オプション、パラメータ、又は値でありうる。インジケータは、例えば、データのヘッダ内のブールフラッグでありうる。ある実施形態で、ヘッダは、インジケータを提供するよう、やり取りされるべきデータの先頭に付加される。ある実施形態で、インジケータは、利用可能な信頼性ルールの組から選択される信頼性ルールに少なくとも部分的に基づいて設定される。インジケータは、例えば、ソースデータ通信システム４１５と同様のデータ通信システムによって設定され得る。インジケータは、信頼性コンポーネント５３０等の信頼性コンポーネントによって設定され得る。
【００９９】
インジケータは、メッセージ毎に設定され得る。インジケータは、少なくとも部分的に１又はそれ以上の信頼性ルールに基づいて設定され得る。信頼性ルールは、例えば、ソースアドレス、ソースポート、あて先アドレス、あて先ポート、及び／又はメッセージのコンテンツに基づきうる。例えば、インジケータは、信頼性ルールが、メッセージのあて先ＩＰアドレスに基づいて、特定のメッセージの信頼できる配信が望まれていると判断する場合に、設定され得る。インジケータは、信頼性ルールが、メッセージのコンテンツに基づいて、特定のメッセージの信頼できる配信が望まれているかどうかを決定することに基づいて、設定され得る。例えば、メッセージは命令を含むとの識別子を有するメッセージは、信頼できる配信を必要とすると決定され得、このようにしてインジケータが設定され得る。対照的に、位置遠隔計測値を含むメッセージは信頼できる配信を必要せず、このようにしてインジケータは設定され得ない。ある実施形態で、信頼性ルールは、ユーザによって少なくとも部分的に定義され得る。
【０１００】
ステップ６３０では、データが送信される。データは、例えば、ソースデータ通信システム４１５、あて先データ通信システム４２５、及び／又はデータ通信システム５００によって送信され得る。データは、例えば、通信コンポーネントによって送信され得る。この通信コンポーネントは、例えば、通信コンポーネント５１０と同じでありうる。やり取りされるデータは、例えば、ステップ６１０で優先順位を付けられたデータでありうる。やり取りされるデータには、例えば、ステップ６２０で設定されたインジケータが含まれ得る。
【０１０１】
データは、例えば、データ通信システム５００から送られ得る。データは、例えば、あて先ノード４２０及び／又はあて先データ通信システム４２５へ送られ得る。データは、例えば、１又はそれ以上のリンクを介して送られ得る。例えば、データは、戦術データネットワークを介してデータ通信システム５００によって送られ得る。他の例として、データは、あて先データ通信システム４２５によって、プロセス間通信及び／又はソケット等のＡＰＩによって同じシステムで動作するアプリケーションへと供給され得る。
【０１０２】
ステップ６４０では、確認応答が受信され得る。確認応答は、例えば、確認応答メッセージであっても良い。確認応答は、例えば、ステップ６３０で送信されたデータの受信を示すことができる。確認応答メッセージは、例えば、あて先データ通信システム４２５から送られ得る。あて先データ通信システム４２５は、例えば、データの受信を示すよう、ソースノード４１０及び／又はソースデータ通信システム４１５へ確認応答メッセージを送信することができる。ある実施形態で、データには、エラー検出及び補正値が含まれ得る。エラー検出及び／又は補正値は、データが通信中に破損されたかどうかを判断するために利用され得る。データが破損されている場合は、あて先データ通信システム４２５は、データの受信の確認応答を送信しない。
【０１０３】
ステップ６５０では、データが再送信され得る。例えば、データは、所定の時間期間が経過し且つ配信の確認応答がステップ６４０で受信されない場合に、再送信され得る。再送信されるべきデータは、例えば、少なくとも部分的に、ステップ６３０で送信されるデータの複製でありうる。データは、例えば、ソースデータ通信システム４１５によって再送信され得る。他の例として、データは、信頼性コンポーネント５３０によって再送信され得る。
【０１０４】
データは、例えば、元々送信されたデータが失われたとの想定の下に再送信され得る。確認応答が元のデータ又は再送信されたデータの複製に関して受信されない場合は、データが無事に受信され確認されるまで、再び複製は再送信され得る。
【０１０５】
ある実施形態では、データは受信される。データは、例えば、データ通信システム５００で受信され得る。データは、例えば、通信コンポーネントによって受信され得る。通信コンポーネントは、例えば、通信コンポーネント５１０と同じでありうる。データは、例えば、１又はそれ以上のリンクを介して受信され得る。データは、例えば、ソースノード４１０によって提供及び／又は生成され得る。例えば、データは、コマンドセンタにあるワークステーションから高速ＬＡＮを介してソースデータ通信システム４１５で受信され得る。他の例として、データは、プロセス間通信メカニズムによって同じシステムで実行されるアプリケーションによってデータ通信システム５００へ供給され得る。上述されるように、データは、例えば、データのブロックでありうる。ある実施形態で、データは、戦術データネットワークを介して受信される。例えば、データは、戦場内の部隊から衛星無線を介して受信され得る。
【０１０６】
ある実施形態で、データ通信システム５００は、データの全てを受信しないことがある。例えば、データの一部はバッファに格納され、データ通信システム５００はヘッダ情報及びバッファへのポインタのみを受信することができる。例えば、データ通信システム５００は、オペレーティングシステムのプロトコルスタックに引っ張り込まれ、アプリケーションがデータをトランスポート層インターフェース（例えば、ソケット。）を通ってオペレーティングシステムへデータを送る場合に、オペレーティングシステムは、データへのアクセスをデータ通信システム５００へ提供することができる。
【０１０７】
ある実施形態で、モード又はプロファイルは、例えば、データ通信システム５００の現在のモード又はステートを表すことができる。上述されるように、優先順位付けルール及び／又は信頼性ルール等のルール並びにモード又はプロファイルは、利用可能な帯域幅の最適化、情報優先度の設定、及びネットワーク内のデータリンクの管理等のスループット管理機能を実行するために使用され得る。例えば、様々なモードが、ルール及び／又はモードの変化に作用しうる。モード又はプロファイルには、調子又は状態に関する特定のネットワークステートの動作上の必要性に関するルールの組が含まれ得る。データ通信システム５００は、例えば、オンザフライで新しいモードを定義してそれに切り替わることを含め、モードに関する動的な再設定を提供することができる。
【０１０８】
ある実施形態で、データ通信システム５００は、他のアプリケーションに対して透過的である。例えば、ソースデータ通信システム４１５によって実行される処理、体系化、及び／又は優先順位付けは、ソースノード４１０又は他のアプリケーション若しくはデータソースに対して透過的でありうる。例えば、データ通信システム５００と同じシステムで、又はデータ通信システム５００へ接続されているノードで実行されるアプリケーションは、データ通信システム５００によって実行されているデータの優先順位付けに気付かない。
【０１０９】
方法６００のステップのうち１又はそれ以上は、例えば、ハードウェア、ファームウェア、及び／又は、ソフトウェアにおける命令の組として様々な形態で、単独で又は組み合わされて実施され得る。ある実施形態は、汎用コンピュータ又は他の処理装置での実行のために、メモリ、ハードディスク、ＤＶＤ、又はＣＤ等のコンピュータ読取可能な媒体にある命令の組として提供され得る。
【０１１０】
本発明のある実施形態は、これらのステップのうち１又はそれ以上を省略し、且つ／あるいは、挙げられている順序とは異なる順序でかかるステップを実行することができる。例えば、幾つかのステップは、本発明のある実施形態では実行されないことがある。更なる例として、あるステップは、同時を含む、前出の順序とは異なる時間的順序で実行されることがある。
【０１１１】
このように、本発明の特定の実施形態は、ＱｏＳを伴う確実な通信のためのシステム及び方法を提供する。ある実施形態は、ＱｏＳを伴う確実な通信の技術的効果を提供する。
【図１】
2009545275.tif 000003
【図２】
2009545275.tif 000004
【図３】
2009545275.tif 000005
【図４】
2009545275.tif 000006
【図５】
2009545275.tif 000007
【図６】
2009545275.tif 000008
【手続補正書】
【提出日】平成21年1月29日(2009.1.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データの通信方法であって、
データ通信システム（４１５，４２５，５００）でアプリケーションから受信されるデータのブロックに優先順位を付ける工程（６１０）と、
前記データのブロックの信頼できる配信が望まれていることを示し且つ利用可能な信頼性ルールの組から選択される信頼性ルールに少なくとも部分的に基づいて設定され且つメッセージ毎に設定されるインジケータを、前記データのブロックのヘッダに設定する工程（６２０）と、
前記データのブロックを送信する工程（６３０）と、
所定時間が経過し且つ前記データのブロックの配信の確認応答が受信されない場合に前記データのブロックを再送信する工程（６５０）と
を有し、
前記信頼性ルールは、前記データのブロックのコンテンツに基づいて、前記インジケータが設定されているかどうかを決定する、方法。
【請求項２】
前記優先順位を付ける工程（６１０）は、少なくとも部分的に前記データのコンテンツに基づいて複数のキューのうち少なくとも１つに前記データのブロックを挿入する工程を含む、請求項１記載の方法。
【請求項３】
ネットワークでコンテンツに基づくサービスの質を提供するデータ通信システム（４１５，４２５，５００）であって、
前記データ通信システム（４１５，４２５，５００）でアプリケーションからデータのブロックを受信するよう構成され且つ該データのブロックを送信するよう構成される通信コンポーネント（５１０）と、
少なくとも部分的に前記データのブロックのコンテンツ及び利用可能な優先順位付けルールの組から選択される優先順位付けルールに基づいて該データのブロックに優先順位を付けるよう構成される優先順位付けコンポーネント（５２０）と、
利用可能な信頼性ルールの組から選択される信頼性ルールに少なくとも部分的に基づいて前記データのブロックにインジケータを設定するよう構成され且つ受信されるデータのブロック内の信頼性インジケータに少なくとも部分的に基づいて確認応答メッセージを送信するよう構成される信頼性コンポーネント（５３０）と
を有するシステム。
【請求項４】
モードインジケータを更に有し、
該モードインジケータは現在のモードを示す、請求項３記載のシステム。
【請求項５】
前記信頼性コンポーネント（５３０）は、少なくとも部分的に前記現在のモードに基づいて前記データのブロックを処理するよう構成される、請求項４記載のシステム。
【請求項６】
前記通信コンポーネント（５１０）は、前記信頼性コンポーネント（５３０）が、所定時間が経過しており且つ前記データに関する確認応答メッセージが受信されていないことを示す場合に、前記データを再送信するよう構成される、請求項３記載のシステム。
【請求項７】
コンピュータで実行される命令の組を有するコンピュータ読取可能な媒体であって、
前記命令の組は、
データ通信システム（４１５，４２５，５００）でアプリケーションからデータを受信するよう構成され且つ該データを送信するよう構成される通信ルーチンと、
少なくとも部分的に前記データのコンテンツに基づいて該データに優先順位を付けるよう構成される優先順位付けルーチンと、
利用可能な信頼性ルールの組から選択される信頼性ルールに少なくとも部分的に基づいて前記データにインジケータを設定するよう構成され且つ受信されるデータのブロック内の信頼性インジケータに少なくとも部分的に基づいて確認応答メッセージを送信するよう構成される信頼性ルーチンと
を有する、コンピュータ読取可能な媒体。
【国際調査報告】
2009545275.tif 000009
2009545275.tif 000010
2009545275.tif 000011