(57)【要約】  本発明の特定の実施例は、ＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）を提供するため、ネットワークを介しメッセージコンテンツを有するデータを通信する方法を提供する。本方法は、ネットワークを介しデータを受信するステップと、前記データを優先順位付けするステップと、少なくとも部分的に前記データの優先順位に基づき、前記データを通信するステップとを有する。前記データを優先順位付けするステップは、メッセージコンテンツに少なくとも部分的に基づき前記データを区別することを含む。本発明の特定の実施例は、データ優先順位付けコンポーネントとデータ通信コンポーネントとを有するデータ通信システムを提供する。データ優先順位付けコンポーネントは、データを優先順位付けするよう構成される。データ優先順位付けコンポーネントは、区別コンポーネントを有する。区別コンポーネントは、少なくとも部分的にメッセージコンテンツに基づき前記データを区別するよう構成される。データ通信コンポーネントは、少なくとも部分的に前記データの優先順位に基づき、前記データを通信するよう構成される。
2009540745.tif 000002
【特許請求の範囲】
【請求項１】
ＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）を提供するため、ネットワークを介しメッセージコンテンツを有するデータを通信する方法であって、
ネットワークを介しデータを受信するステップと、
メッセージコンテンツに少なくとも部分的に基づき前記データを区別することを含む、前記データに優先順位を割り当てることにより前記データを優先順位付けするステップと、
少なくとも部分的に前記データの優先順位に基づき、前記データを通信するステップと、
を有する方法。
【請求項２】
前記データは、少なくとも部分的にプロトコル情報に基づき区別される、請求項１記載の方法。
【請求項３】
前記データは、少なくとも部分的にユーザにより規定されたルールに基づき区別される、請求項１記載の方法。
【請求項４】
前記優先順位付けするステップは、前記データをシーケンス化することを含む、請求項１記載の方法。
【請求項５】
前記データは、少なくとも部分的にユーザにより規定されたルールに基づきシーケンス化される、請求項４記載の方法。
【請求項６】
前記区別するステップは、アプリケーションプログラムに透過である、請求項１記載の方法。
【請求項７】
前記データは、ＱｏＳを提供するよう優先順位付けされる、請求項１記載の方法。
【請求項８】
データを通信するシステムであって、
少なくとも部分的にメッセージコンテンツに基づき前記データを区別するよう構成される区別コンポーネントを含む、前記データに優先順位を割り当てることにより前記データを優先順位付けするよう構成されるデータ優先順位付けコンポーネントと、
少なくとも部分的に前記データの優先順位に基づき、前記データを通信するよう構成されるデータ通信コンポーネントと、
を有するシステム。
【請求項９】
前記データ優先順位付けコンポーネントは、前記データをシーケンス化するよう構成されるシーケンス化コンポーネントを有する、請求項８記載のシステム。
【請求項１０】
前記データ優先順位付けコンポーネントは、少なくとも部分的に前記データの優先順位に基づき、前記データを整理するよう構成されるデータ整理コンポーネントを有する、請求項８記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に通信ネットワークに関する。より詳細には、本発明は、ＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）のためのコンテンツベースの区別及びシーケンス化のためのシステム及び方法に関する。
【背景技術】
【０００２】
様々な環境で通信ネットワークが利用されている。通信ネットワークは、典型的には、１以上のリンクにより接続された２以上のノードを有する。一般に、通信ネットワークは、リンク上の２以上の加入ノードと通信ネットワークの中間ノードとの間の通信をサポートするのに使用される。ネットワークには、多数のタイプのノードが存在するかもしれない。例えば、ネットワークは、クライアント、サーバ、ワークステーション、スイッチ及び／又はルータなどのノードを有するかもしれない。リンクは、例えば、電話線を介したモデム接続、配線、イーサネット（登録商標）リンク、ＡＴＭ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｔｒａｎｓｆｅｒ  Ｍｏｄｅ）回路、衛星リンク及び／又は光ファイバケーブルなどであるかもしれない。
【０００３】
通信ネットワークは、実際には、１以上の小規模な通信ネットワークから構成されるかもしれない。例えば、インターネットはしばしば、相互に接続されたコンピュータネットワークのネットワークとして説明される。各ネットワークは、異なるアーキテクチャ及び／又はトポロジーを利用するかもしれない。例えば、１つのネットワークは、スタートポロジーを備えたスイッチされるイーサネット（登録商標）ネットワークであるかもしれず、他のネットワークは、ＦＤＤＩ（Ｆｉｂｅｒ−Ｄｉｓｔｒｉｂｕｔｅｄ  Ｄａｔａ  Ｉｎｔｅｒｆａｃｅ）リングであるかもしれない。
【０００４】
通信ネットワークは、広範なデータを伝送するかもしれない。例えば、ネットワークは、インタラクティブなリアルタイムの会話のためのデータと共に、一括ファイル転送を伝送するかもしれない。ネットワーク上で送信されるデータはしばしば、パケット、セル又はフレームにより送信される。あるいは、データはストリームとして送信されるかもしれない。いくつかの具体例では、データのストリーム又はフローは、実際にはパケットのシーケンスであるかもしれない。インターネットなどのネットワークは、ある範囲のノード間のものであって、異なる要求により膨大なデータアレイを伝送する一般的な目的のためのデータパスを提供する。
【０００５】
ネットワークを介した通信は、典型的には、複数レベルの通信プロトコルを伴う。ネットワーキングスタック又はプロトコルパッケージとも呼ばれるプロトコルスタックは、通信に利用されるプロトコル群を意味する。各プロトコルは、特定タイプの能力又は特定形式の通信に利用されるかもしれない。例えば、１つのプロトコルは、銅線により接続される各装置と通信するのに必要とされる電気信号に関するものであるかもしれない。他のプロトコルは、例えば、多数の中間ノードにより分離される２つのノードの間の順序付け及び確実な送信に関するものであるかもしれない。
【０００６】
プロトコルスタックの各プロトコルは、典型的には、階層により存在する。しばしば、各プロトコルはレイヤに分類される。プロトコルレイヤの１つの参照モデルは、ＯＳＩ（Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）モデルである。ＯＳＩ参照モデルは、物理レイヤ、データリンクレイヤ、ネットワークレイヤ、トランスポートレイヤ、セッションレイヤ、プレゼンテーションレイヤ及びアプリケーションレイヤの７つのレイヤを含む。物理レイヤが“最下位”レイヤであり、アプリケーションレイヤが“最上位”レイヤである。２つの周知なトランスポートレイヤプロトコルは、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）とＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）である。周知のネットワークレイヤプロトコルは、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）である。
【０００７】
送信ノードにおいて、送信対象となるデータが、最上位から最下位にプロトコルスタックの各レイヤに下っていく。他方、受信ノードでは、データは、最下位から最上位に各レイヤを昇っていく。各レイヤでは、データは当該レイヤにおけるプロトコル処理通信により処理されるかもしれない。例えば、トランスポートレイヤプロトコルは、送信先ノードにおける到着に対するパケットの順序付けを可能にするヘッダをデータに追加するかもしれない。アプリケーションに応じて、一部のレイヤは利用されず又は存在しないかもしれず、またデータは単に通過するかもしれない。
【０００８】
１つのタイプの通信ネットワークは、戦術データネットワーク（ｔａｃｔｉｃａｌ  ｄａｔａ  ｎｅｔｗｏｒｋ）である。戦術データネットワークはまた、戦術通信ネットワークと呼ばれるかもしれない。戦術データネットワークは、軍隊（陸軍、海軍及び／又は空軍など）などの組織内の各ユニットにより利用されるかもしれない。戦術データネットワーク内の各ノードは、例えば、各兵士、航空機、コマンドユニット、衛星及び／又はラジオなどを含むかもしれない。戦術データネットワークは、音声、位置測定情報、センサデータ及び／又はリアルタイムビデオなどのデータを通信するのに利用されるかもしれない。
【０００９】
戦術データネットワークの利用方法の一例は、以下の通りである。後方支援部隊が、戦場の戦闘ユニットのための供給を提供するため展開中であるかもしれない。当該部隊と戦闘ユニットは共に、衛星無線リンクを介し指揮所に位置測定情報を提供しているかもしれない。無人航空機（ＵＡＶ）が、当該部隊がリアルタイムビデオデータを取得し、衛星無線リンクを介し指揮所に送信している道路に沿ってパトロールしているかもしれない。指揮所では、アナリストがビデオデータを調べながら、コントローラが道路の特定セクションのビデオを提供するようＵＡＶに指示している。このとき、アナリストは、当該部隊が近づいている即席爆発装置（ＩＥＤ）を検出し、停止するよう部隊に直接的な無線リンクを介し命令を送信し、部隊にＩＥＤの存在を警告する。
【００１０】
戦術データネットワーク内に存在するかもしれない各種ネットワークは、多数の異なるアーキテクチャ及び特性を有するかもしれない。例えば、戦闘ユニットにおけるネットワークは、極めて低いスループットと大きな遅延により動作する戦場ユニット及び衛星との無線リンクと共に、ギガビットイーサネット（登録商標）ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を有するかもしれない。戦場ユニットは、衛星と直接的なパス無線周波数（ＲＦ）の双方を介して通信するかもしれない。データは、当該データの性質及び／又はネットワークの具体的な物理的特性に応じて、ポイント・ツー・ポイント、マルチキャスト又はブロードキャストにより送信されるかもしれない。ネットワークは、例えば、データを設定から中継までの各無線を含むかもしれない。さらに、ネットワークは、広範囲の通信を可能にする高周波数（ＨＦ）ネットワークを含むかもしれない。例えば、マイクロ波ネットワークがまた、利用されるかもしれない。他の理由のうちで、リンク及びノードのタイプの多様性によって、戦術ネットワークはしばしば、過度に複雑なネットワークアドレッシングスキームとルーティングテーブルとを有する。さらに、無線ベースネットワークなどの一部のネットワークは、バーストを利用して動作するかもしれない。すなわち、データを連続的に送信するのでなく、断続的なバーストデータを送信する。これは、無線がすべての参加者により共有される必要がある特定チャネル上でブロードキャストしていて、１つの無線しか一時に伝送しないため、有用である。
【００１１】
戦術データネットワークは、一般に帯域幅制限される。すなわち、典型的には、所与の時点において利用可能な帯域幅より大きな通信対象となるデータが存在する。これらの制約は、供給を超える帯域幅の要求、及び／又はユーザの要求を満たすのに十分な帯域幅を供給する利用可能な通信技術がないことによるかもしれない。例えば、いくつかのノードの間では、帯域幅は毎秒キロビットのオーダであるかもしれない。帯域幅制限のある戦術データネットワークでは、重要性の低いデータがネットワークを占有する可能性があり、重要性の高いデータがタイムリーに伝送されず、又は受信ノードに全く到着しない可能性もある。さらに、ネットワークの一部は、信頼性の低いリンクを補償するための内部バッファを含むかもしれない。これは、さらなる遅延をもたらすかもしれない。さらに、バッファが一杯になると、データが欠落されるかもしれない。
【００１２】
多くの例では、ネットワークに利用可能な帯域幅は、増やすことができない。例えば、衛星通信リンクを介し利用可能な帯域幅は、固定されており、他の衛星を配置させることなく効果的に増やすことはできない。これらの状況では、帯域幅は需要を処理するため単に拡大されずに管理される必要がある。大規模システムでは、ネットワーク帯域幅は重要なリソースである。アプリケーションが可能な限り効率的に帯域幅を利用することが望ましい。さらに、アプリケーションが“パイプの詰まり”、すなわち、帯域幅が制限されているときにデータがリンクを圧倒することを回避することが望ましい。帯域幅の割当てが変更されると、好ましくは、アプリケーションは反応すべきである。帯域幅は、例えば、ＱｏＳ、ジャミング（ｊａｍｍｉｎｇ）、信号障害、優先順位再割当、及び見通しなどにより動的に変化しうる。ネットワークは極めて不安定であり、利用可能な帯域幅は、急激にかつ通知なく変化しうる。
【００１３】
帯域幅制約に加えて、戦術データネットワークは大きな遅延が生じるかもしれない。例えば、衛星リンクを介した通信を伴うネットワークは、０．５秒又はそれ以上のオーダによる遅延を引き起こすかもしれない。いくつかの通信では、これは問題とはならないが、リアルタイムのインタラクティブ通信（音声通信など）などの他の通信では、可能な限り遅延を最小化することは望ましい。
【００１４】
多くの戦術データネットワークに共通する他の特徴は、データ欠落である。データは、様々な理由により欠落する。例えば、送信すべきデータを有したノードが故障又は損傷するかもしれない。他の例として、送信先ノードがネットワークから一時的に欠落するかもしれない。これは、例えば、ノードが範囲外に移動したため、通信リンクが遮断されたため、及び／又はノードが混雑しているためなどにより発生するかもしれない。送信先ノードが受信できず、中間ノードが送信先ノードが利用可能になるまでデータをバッファするのに十分な容量を欠いているため、データが欠落するかもしれない。さらに、中間ノードは、データを全くバッファリングせず、その代わりにデータが送信先に今まで実際に到達したか判断するため、送信ノードに任せる。
【００１５】
しばしば、戦術データネットワークにおけるアプリケーションは、ネットワークの特定の特性を認識せず、及び／又は考慮しない。例えば、あるアプリケーションは、それが必要とするのと同じくらい利用可能な帯域幅を有していると単に仮定するかもしれない。他の例として、アプリケーションは、データがネットワークにおいて欠落しないと仮定するかもしれない。基礎となる通信ネットワークの具体的特性を考慮しないアプリケーションは、実際に問題を悪化させないように動作するかもしれない。例えば、アプリケーションは、より大きな束によりより少ない頻度で効果的に送信可能なデータのストリームを連続的に送信するかもしれない。この連続的なストリームは、例えば、通信から他のノードを効果的に枯渇させるブロードキャスト無線ネットワークなどにおいて極めて大きなオーバヘッドをもたらし、より頻度の低いバーストは、共有されている帯域幅がより効果的に使用されることを可能にするであろう。
【００１６】
特定のプロトコルは、戦術データネットワークに対して良好に機能しない。例えば、ＴＣＰなどのプロトコルは、無線ベース戦術ネットワーク上では良好に機能しないかもしれない。なぜなら、当該ネットワークが高い損失レートと遅延に直面する可能性があるためである。ＴＣＰは、データを送信するため複数の形式のハンドシェイク及びアクノリッジメントが行われることを要求する。高い遅延とロスにより、ＴＣＰはタイムアウトに至り、当該ネットワークを介し存在する場合に多くの有意なデータを送信することができないかもしれない。
【００１７】
戦術データネットワークにより通信される情報はしばしば、ネットワークにおいて他のデータに関して様々なレベルの優先度を有する。例えば、航空機における脅威警告受信機は、数マイル離れた地上部隊の位置測定情報より高い優先度を有するかもしれない。他の例として、戦闘に関する本部からかの命令は、味方のラインの後方の後方支援通信より高い優先度を有するかもしれない。優先レベルは、送信者及び／又は受信者の特定の状況に依存するかもしれない。例えば、位置測定データは、ユニットが単に標準的なパトロールルートに従っているときより、ユニットが戦闘状態に積極的に従事しているときにはるかに大きな優先度を有するかもしれない。同様に、ＵＡＶからのリアルタイムビデオデータは、それが単にルート上にあるときより、ターゲットエリアにあるときに高い優先度を有するかもしれない。
【００１８】
ネットワークを介しデータを送信するアプローチは複数ある。多くの通信ネットワークにより利用される１つのアプローチは、“ベストエフォート”アプローチである。すなわち、通信されるデータが処理されると共に、他の要求が与えられると、ネットワークが能力、遅延、信頼性、順序付け及びエラーに関して処理可能である。従って、ネットワークは、所与のデータ部分がそれの送信先にタイムリーに又はすべて到達するということを保証しない。さらに、データが送信順序により又はデータの１以上のビットを変更する送信エラーなく到達するということは保証されない。
【００１９】
他のアプローチはＱｏＳである。ＱｏＳは、伝送されるデータに関して各種形式の保証を提供するためのネットワークの１以上の能力を表す。例えば、ＱｏＳをサポートするネットワークは、データストリームに対して特定量の帯域幅を保証するかもしれない。他の例として、ネットワークは、２つの特定ノードの間のパケットがある最大遅延しか有しないことを保証するかもしれない。このような保証は、これら２つのノードがネットワークを介し会話する２人の人である音声通信の場合に有用であるかもしれない。このようなケースでのデータ送信の遅延は、例えば、通信における苛々するギャップ及び／又は無音状態をもたらすかもしれない。
【００２０】
ＱｏＳは、選択されたネットワークトラフィックにより良好なサービスを提供するためのネットワークの能力としてみなされるかもしれない。ＱｏＳの主要な目的は、専用の帯域幅、制御されたジッタ及び遅延（リアルタイムでインタラクティブなトラフィックにより要求される）並びに向上した損失特性を含む優先度を提供することである。他の重要な目的は、１つのフローに優先順位を提供することが他のフローを失敗させないことを確実にすることである。すなわち、以降のフローについてなされる保証が、既存のフローについてなされる保証を破ってはならない。
【００２１】
ＱｏＳに対する現在のアプローチは、しばしばネットワークのすべてのノードがＱｏＳをサポートするか、又は少なくとも特定の通信に関係するネットワークのすべてのノードに対してＱｏＳをサポートすることを要求する。例えば、現在のシステムでは、２つのノードの間の遅延保証を提供するため、これら２つのノードの間のトラフィックを伝送するすべてのノードが、その保証を認識し、それを尊重することに同意し、尊重することができなければならない。
【００２２】
ＱｏＳを提供するアプローチは複数存在する。１つのアプローチは、Ｉｎｔｅｇｒａｔｅｄ  Ｓｅｒｖｉｃｅｓ、すなわち、“ＩｎｔＳｅｒｖ”である。ＩｎｔＳｅｒｖは、ネットワークのすべてのノードがサービスをサポートし、接続が設定されるとこれらのサービスが予約されるＱｏＳシステムを提供する。ＩｎｔＳｅｒｖは、すべてのノードにおいて維持される必要がある大量の状態情報と、当該接続を設定することに係るオーバヘッドとにより良好にはスケーリングできない。
【００２３】
ＱｏＳを提供する他のアプローチは、Ｄｉｆｆｅｒｅｎｔｉａｔｅｄ  Ｓｅｒｖｉｃｅｓ、すなわち、“ＤｉｆｆＳｅｒｖ”である。ＤｉｆｆＳｅｒｖは、インターネットなどのネットワークのベストエフォートサービスを向上させるサービスモデルのクラスである。ＤｉｆｆＳｅｒｖは、ユーザ、サービス要求及び他の基準によってトラフィックを区別する。このとき、ネットワークノードが優先キュー処理又は帯域幅割当てを介し、又は特定のトラフィックフローのための専用のルートを選択することによって、異なるレベルのサービスを提供できるように、ＤｉｆｆＳｅｒｖはパケットをマーク付けする。典型的には、ノードは、各サービスクラスについて各種キューを有する。このとき、ノードは、クラスカテゴリに基づきこれらのキューから送信する次のパケットを選択する。
【００２４】
既存のＱｏＳソリューションはしばしばネットワークに固有のものであり、各ネットワークタイプ又はアーキテクチャは異なるＱｏＳコンフィギュレーションを要求するかもしれない。既存のＱｏＳソリューションが利用するメカニズムによって、現在のＱｏＳシステムと同様のメッセージは、実際にメッセージコンテンツに基づき異なる優先順位を有するかもしれない。しかしながら、データ消費者は、優先度の低いデータにより充填されることなく高い優先度のデータへのアクセスを要求するかもしれない。既存のＱｏＳシステムは、トランスポートレイヤにおけるメッセージコンテンツに基づくＱｏＳを提供することができない。
【００２５】
上述されるように、既存のＱｏＳソリューションは、少なくとも特定の通信に関係するノードがＱｏＳをサポートすることを要求する。しかしながら、ネットワークの“エッジ”にあるノードは、それらがトータルの保証をすることができない場合でさえ、ＱｏＳの向上を提供するよう構成されるかもしれない。各ノードは、それらが通信に参加するノード（すなわち、送信及び／又は受信ノード）である場合、及び／又はそれらがネットワークのチョークポイントにある場合、ネットワークのエッジにいるとみなされる。チョークポイントは、すべてのトラフィックが他の部分にわたされる必要があるネットワークのセクションである。例えば、ＬＡＮから衛星リンクへのルータ又はゲートウェイは、チョークポイントとなるであろう。なぜなら、ＬＡＮからＬＡＮ上にない何れかのノードへのすべてのトラフィックは、ゲートウェイを介し衛星リンクにわたされる必要があるためである。
【発明の概要】
【発明が解決しようとする課題】
【００２６】
従って、戦術データネットワークにおいてＱｏＳを提供するシステム及び方法が必要とされる。戦術データネットワークのエッジ上でＱｏＳを提供するシステム及び方法が必要とされる。さらに、戦術データネットワークにおける適応的でコンフィギュラブルなＱｏＳシステム及び方法が必要とされる。
【課題を解決するための手段】
【００２７】
本発明の特定の実施例は、ＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）を提供するため、ネットワークを介しメッセージコンテンツを有するデータを通信する方法を提供する。本方法は、ネットワークを介しデータを受信するステップと、前記データを優先順位付けするステップと、少なくとも部分的に前記データの優先順位に基づき、前記データを通信するステップとを有する。前記データを優先順位付けするステップは、メッセージコンテンツに少なくとも部分的に基づき前記データを区別することを含む。
【００２８】
本発明の特定の実施例は、データ優先順位付けコンポーネントとデータ通信コンポーネントとを有するデータ通信システムを提供する。データ優先順位付けコンポーネントは、データを優先順位付けするよう構成される。データ優先順位付けコンポーネントは、区別コンポーネントを有する。区別コンポーネントは、少なくとも部分的にメッセージコンテンツに基づき前記データを区別するよう構成される。データ通信コンポーネントは、少なくとも部分的に前記データの優先順位に基づき、前記データを通信するよう構成される。
【００２９】
本発明の特定の実施例は、データ優先順位付けルーチンとデータ通信ルーチンとを有するコンピュータ上で実行される命令セットを含むコンピュータ可読媒体を提供する。データ優先順位付けルーチンは、データを優先順位付けするよう構成される。データ優先順位付けルーチンは、区別ルーチンを含む。区別ルーチンは、少なくとも部分的にメッセージコンテンツに基づきデータを区別するよう構成される。データ通信ルーチンは、少なくとも部分的に優先順位に基づき、データを通信するよう構成される。
【図面の簡単な説明】
【００３０】
【図１】図１は、本発明の実施例により動作する戦術通信ネットワーク環境を示す。
【図２】図２は、本発明の実施例による７レイヤＯＳＩネットワークモデルにおけるデータ通信システムの配置を示す。
【図３】図３は、本発明の実施例によるデータ通信システムを利用して実現される複数のネットワークの一例を示す。
【図４】図４は、本発明の実施例によるデータ通信システムにより利用されるデータ優先度及びネットワーク状態のいくつかの例を示す。
【図５】図５は、本発明の実施例によるデータ通信環境内で動作するデータ通信システムを示す。
【図６】図６は、本発明の実施例によるデータ通信方法のフロー図を示す。
【図７】図７は、本発明の実施例によるデータを優先順位付けするシステムを示す。
【図８】図８は、本発明の実施例によるデータを優先順位付けする方法を示す。
【発明を実施するための形態】
【００３１】
上記概要と、本発明の特定の実施例の以下の詳細な説明は、添付した図面と共に参照されるときより良好に理解されるであろう。本発明を説明するため、特定の実施例が図面に示される。しかしながら、本発明は添付した図面に示される構成及び装置に限定されるものでないことが理解されるべきである。
【００３２】
図１は、本発明の実施例により動作する戦術通信ネットワーク環境１００を示す。ネットワーク環境１００は、複数の通信ノード１１０と、１以上のネットワーク１２０と、ノード及びネットワークを接続する１以上のリンク１３０と、ネットワーク環境１００の各コンポーネントの通信を実現する１以上の通信システム１５０とを有する。以下の説明は、複数のネットワーク１２０と複数のリンク１３０とを有するネットワーク環境１００を想定するが、他の環境もまた可能であり想定されることが理解されるべきである。
【００３３】
通信ノード１１０は、無線、送信機、衛星、受信機、ワークステーション、サーバ及び／又は他の計算若しくは処理装置などであり、及び／又はそれらを含むかもしれない。
【００３４】
ネットワーク１２０は、例えば、ノード１１０の間でデータを送信するハードウェア及び／又はソフトウェアであるかもしれない。ネットワーク１２０は、例えば、１以上のノード１１０を含むかもしれない。
【００３５】
リンク１３０は、ノード１１０及び／又はネットワーク１２０の間の送信を可能にする有線及び／又は無線接続であるかもしれない。
【００３６】
通信システム１５０は、例えば、ノード１１０、ネットワーク１２０及びリンク１３０の間のデータ送信を実現するため使用されるソフトウェア、ファームウェア及び／又はハードウェアを含むかもしれない。図１に示されるように、通信システム１５０は、ノード１１０、ネットワーク１２０及び／又はリンク１３０に関して実現されてもよい。特定の実施例では、すべてのノード１１０は通信システム１５０を含む。特定の実施例では、１以上のノード１１０は通信システム１５０を含む。特定の実施例では、１以上のノード１１０は通信システム１５０を含まないかもしれない。
【００３７】
通信システム１５０は、ネットワーク環境１００などの戦術通信ネットワーク上の通信を確保するのに役立つためのデータの動的管理を提供する。図２に示されるように、特定の実施例では、システム１５０は、ＯＳＩの７レイヤプロトコルモデルにおけるトランスポートレイヤの一部として及び／又は上位において動作する。システム１５０は、トランスポートレイヤなどにわたされる戦術ネットワークにおける優先順位の高いデータに優先度を提供するかもしれない。システム１５０は、ＬＡＮ、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などの単一ネットワークにおける通信又は複数のネットワーク間の通信を実現するのに利用されるかもしれない。図３において、マルチネットワークシステムの一例が示される。システム１５０は、例えば、追加的な帯域幅をネットワークに追加するのでなく、利用可能な帯域幅を管理するのに利用されるかもしれない。
【００３８】
特定の実施例では、システム１５０は、各種実施例においてハードウェアコンポーネントとソフトウェアコンポーネントの両方を有してもよいが、ソフトウェアシステムである。システム１５０は、例えば、ネットワークハードウェアに依存しないかもしれない。すなわち、システム１５０は、各種ハードウェア及びソフトウェアプラットフォーム上で機能するよう構成されるかもしれない。特定の実施例では、システム１５０は、ネットワークの内部のノード上でなく、ネットワークのエッジ上で動作する。しかしながら、システム１５０は、ネットワークの“チョークポイント（ｃｈｏｋｅ  ｐｏｉｎｔ）”など、ネットワークの内部においても動作可能である。
【００３９】
システム１５０は、ルール及びモード又はプロファイルを利用して、ネットワークにおける利用可能な帯域幅の最適化、情報優先順位の設定及びデータリンクの管理などのスループット管理機能を実行するかもしれない。帯域幅の“最適化”とは、ここに記載される技術が１以上のネットワークにおいてデータを通信するための帯域幅の使用の効率性を高めるのに利用可能であることを意味する。帯域幅使用の最適化は、機能的に冗長なメッセージの削除、メッセージストリーム管理若しくはシーケンス化、及びメッセージ圧縮などを含むかもしれない。情報優先順位の設定は、ＩＰベース技術より詳細な単位によりメッセージタイプを区別すること、選択されたルールベースシーケンス化アルゴリズムを介しメッセージをデータストリームにシーケンス化することなどを含むかもしれない。データリンク管理は、例えば、ルール、モード及び／又はデータトランスポートの変化に影響を与えるネットワーク測定結果のルールベースの解析を含むかもしれない。モード又はプロファイルは、特定のネットワーク健全性状態の動作要求に関するルールセットを含むかもしれない。システム１５０は、無線による新たなモードの定義及びスイッチを含む、動的なモードの“無線（ｏｎ−ｔｈｅ−ｆｌｙ）”リコンフィギュレーション又は再設定を提供する。
【００４０】
通信システム１５０は、不安定な帯域幅制限のあるネットワークなどにおけるサービスの優先順位及びグレードの変更に適応するよう構成されるかもしれない。システム１５０は、ネットワークにおけるレスポンス能力の向上と通信遅延の低下に役立つように、改良されたデータフローのための情報を管理するよう構成されるかもしれない。さらに、システム１５０は、通信の利用性、生存性及び信頼性を向上させるようアップグレード可能かつスケーラブルなフレキシブルアーキテクチャを介し相互互換性を提供するかもしれない。システム１５０は、所定の予測可能なシステムリソース及び帯域幅などを利用しながら、動的に変化する環境に自律的に適応可能なデータ通信アーキテクチャをサポートする。
【００４１】
特定の実施例では、システム１５０は、ネットワークを利用するアプリケーションに対する透過性を維持しながら、帯域幅制限された戦術通信ネットワークにスループット管理を提供する。システム１５０は、低減された複雑さにより複数のユーザ及び環境におけるスループット管理をネットワークに提供する。上述されるように、特定の実施例では、システム１５０は、ＯＳＩの７レイヤモデルの第４レイヤ（トランスポートレイヤ）にある及び／又はの上位にあるホストノード上で実行され、特殊なネットワークハードウェアを必要としない。システム１５０は、第４レイヤインタフェースに透過的に動作するかもしれない。すなわち、アプリケーションは、トランスポートレイヤの標準的なインタフェースを利用し、システム１５０の動作に気付かないかもしれない。例えば、アプリケーションがソケットをオープンするとき、システム１５０は、プロトコルスタックの当該ポイントにおいてデータをフィルタリングするかもしれない。システム１５０は、アプリケーションがシステム１５０に固有のインタフェースでなくネットワーク上の通信装置におけるオペレーティングシステムにより提供されるＴＣＰ／ＩＰソケットインタフェースなどを利用することを可能にすることによって、透過性を実現する。システム１５０のルールは、ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）により記述されるか、及び／又はカスタムＤＬＬ（Ｄｙｎａｍｉｃ  Ｌｉｎｋ  Ｌｉｂｒａｒｙ）を介し提供されるかもしれない。
【００４２】
特定の実施例では、システム１５０は、ネットワークのエッジ上でＱｏＳを提供する。システムのＱｏＳ能力は、ネットワークのエッジ上でコンテンツベース、ルールベースデータ優先順位付けを提供する。優先順位付けは、例えば、区別及び／又はシーケンス化を含むかもしれない。システム１５０は、例えば、ユーザコンフィギュラブルな区別ルールに基づきメッセージをキューに区別するかもしれない。これらのメッセージは、ユーザにより設定されたシーケンス化ルール（スタベーション、ラウンドロビン、相対頻度など）により規定される順序によりデータストリームにシーケンス化される。エッジ上のＱｏＳを利用して、従来のＱｏＳアプローチにより区別できないデータメッセージは、メッセージコンテンツなどに基づく区別されてもよい。ルールは、例えば、ＸＭＬにより実現されてもよい。特定の実施例では、ＸＭＬを超える能力を収容し、及び／又は極端に低い遅延要求をサポートするため、システム１５０は、例えば、ＤＬＬにカスタムコードを設けることを可能にする。
【００４３】
ネットワーク上の入力及び／又は出力データは、システム１５０を介しカスタマイズされるかもしれない。優先順位付けは、クライアントアプリケーションを大容量低優先順位データなどからプロテクトする。システム１５０は、アプリケーションが特定の動作シナリオ又は制約をサポートするようデータを受信することを確実にするのに供する。
【００４４】
特定の実施例では、ホストが帯域幅制限のある戦術ネットワークとのインタフェースとしてのルータを有するＬＡＮに接続されると、システムは、プロキシによりＱｏＳとして知られるコンフィギュレーションにより動作するかもしれない。このコンフィギュレーションでは、ローカルなＬＡＮ宛のパケットはシステムをバイパスし、ＬＡＮにすぐに向かう。システムは、ネットワークのエッジ上のＱｏＳを帯域幅制限のある戦術リンクに向かうパケットに適用する。
【００４５】
特定の実施例では、システム１５０は、命令されたプロファイルスイッチングを介し複数の動作シナリオ及び／又はネットワーク環境の動的サポートを提供する。プロファイルは、ユーザ又はシステムが指名されたプロファイルに変更を加えることを可能にする名称又は他の識別子を含むかもしれない。プロファイルはまた、例えば、機能冗長性ルール識別子、区別ルール識別子、アーカイブインタフェース識別子、シーケンス化ルール識別子、送信前インタフェース識別子、送信後インタフェース識別子、トランスポート識別子、及び／又は他の識別子などの１以上の識別子を含むかもしれない。機能冗長性ルール識別子は、古いデータ又は実質的に同様のデータなどから機能冗長性を検出するルールを規定する。区別ルール識別子は、例えば、処理のためメッセージをキューに区別するルールを規定する。アーカイブインタフェース識別子は、例えば、アーカイブシステムとのインタフェースを規定する。シーケンス化ルール識別子は、キューフロントのサンプルと、データストリームのデータのシーケンス化とを制御するシーケンス化アルゴリズムを特定する。送信前インタフェース識別子は、例えば、暗号化及び圧縮などの特別な処理を提供する送信前処理のためのインタフェースを特定する。送信後インタフェース識別子は、例えば、解読及び伸張などの処理を提供する送信後処理のためのインタフェースを特定する。トランスポート識別子は、選択されたトランスポートのネットワークインタフェースを規定する。
【００４６】
プロファイルはまた、例えば、キューサイジング情報などの他の情報を含むかもしれない。キューサイジング情報は、例えば、各キューに専用のメモリ及びセカンダリストレージの大きさとキューの個数を特定する。
【００４７】
特定の実施例では、システム１５０は、帯域幅を最適化するためのルールベースアプローチを提供する。例えば、システム１５０は、各メッセージに優先順位とデータストリーム上の適切な相対頻度とを割当てるよう、メッセージをメッセージキューに区別するためのキュー選択ルールを利用するかもしれない。システム１５０は、機能冗長性ルールを利用して、機能的に冗長なメッセージを管理するかもしれない。メッセージは、それが例えば、ネットワーク上でまだ送信されていない前のメッセージと十分異なるものでない場合（ルールにより規定されるように）、機能的に冗長である。すなわち、すでに送信がスケジューリングされたが、まだ送信されていない古いメッセージと十分異なるものでない新たなメッセージが提供された場合、この新たなメッセージは排除されてもよい。なぜなら、古いメッセージが機能的に等価な情報を搬送し、さらにキューにおいて前にあるためである。さらに、機能冗長性は、古いメッセージが送信される前に到着した新しいメッセージと実質的に重複したメッセージを含むかもしれない。例えば、ノードは、フォルトトレラント（ｆａｕｌｔ  ｔｏｌｅｒａｎｔ）であるため、２つの異なるパスにより送信されたメッセージなど、基礎となるネットワークの特性により特定のメッセージの同一のコピーを受信するかもしれない。他の例として、新たなメッセージは、まだ送信されていない古いメッセージに優先するデータを含むかもしれない。この状況では、システム１５０は、古いメッセージを排除し、新たなメッセージのみを送信するようにしてもよい。システム１５０はまた、データストリームの優先順位ベースメッセージシーケンスを決定するための優先順位シーケンス化ルールを含むようにしてもよい。さらに、システム１５０は、圧縮及び／又は暗号化などの送信前及び送信後の特別な処理を提供するため、送信処理ルールを有してもよい。
【００４８】
特定の実施例では、データ完全性及び信頼性を保護するのに役立つように、フォルトトレラント機能を提供する。例えば、システム１５０は、ユーザにより規定されたキュー選択ルールを利用して、メッセージをキューに区別するようにしてもよい。キューは、例えば、ユーザにより規定されるコンフィギュレーションに従ってサイジングされる。コンフィギュレーションは、例えば、キューが使用するメモリの最大量を規定する。さらに、コンフィギュレーションは、ユーザがキューのオーバフローのために利用可能なセカンダリストレージの位置及び大きさを規定することを可能にするかもしれない。キューのメモリが充填された後、メッセージはセカンダリストレージにキュー処理されるかもしれない。セカンダリストレージがまたフルになると、システム１５０は、キューの最も古いメッセージを削除し、エラーメッセージを記録し、最も新しいメッセージをキュー処理する。この動作モードに対してアーカイブ処理が可能である場合、キュー解除されたメッセージは、当該メッセージがネットワーク上で送信されなかったという表示と共にアーカイブ化されてもよい。
【００４９】
システム１５０のキューのためのメモリ及びセカンダリストレージは、例えば、特定のアプリケーションについてリンク毎に設定されてもよい。ネットワーク利用可能期間の間の時間が長いことは、ネットワークの停止をサポートするためより大きなメモリ及びセカンダリストレージとなることに対応するかもしれない。システム１５０は、例えば、キューが適切にサイジングされ、停止時間が安定状態をアーカイブし、最終的なキューのオーバフローを回避するのに役立つよう十分なものとなることを保証するのに役立つようなサイジングを特定するのに供するためなどのネットワークモデリング及びシミュレーションアプリケーションと統合されてもよい。
【００５０】
さらに、特定の実施例では、システム１５０は、入力（シェイピング）と出力（ポリシング）データを測定する機能を提供する。ポリシングとシェイピング機能は、ネットワークにおけるタイミングミスマッチに対処するのに役立つ。シェイピングは、ネットワークバッファが低優先順位データの後に高優先順位データがキューされることによるフラッディングを防ぐのに役立つ。ポリシングは、アプリケーションデータ利用者が低優先順位データにより圧倒されることを防ぐのに役立つ。ポリシングとシェイピングは、有効リンクスピードとリンク比率という２つのパラメータにより決定される。システム１５０は、例えば、リンク比率と乗算された有効リンクスピードより大きくないデータストリームを構成するかもしれない。これらのパラメータは、ネットワークの変更に従って動的に変更されるかもしれない。システムはまた、データ測定に関するアプリケーションレベルの結果をサポートするため、検出されたリンクスピードへのアクセスを提供するかもしれない。システム１５０により提供される情報は、所与のネットワークシナリオに対して何れのリンクスピードが適切であるか決定するのに役立つ他のネットワーク動作情報と組み合わされてもよい。
【００５１】
図４は、本発明の実施例による図１のデータ通信システム１５０及び／又は図５のデータ通信システム５５０などのデータ通信システムにより利用されるデータ優先順位及びネットワーク状態のいくつかの例を示す。これらの例は低待機幅無線ネットワークを介した軍用機の間のデータ通信に関して提供されるが、当該データ通信システムは、データ通信ネットワーク１２０及び／若しくは５２０などの広範なデータ通信ネットワーク、並びに／又はデータ通信環境１００及び／若しくは５００などの広範なデータ通信環境において機能するかもしれない。
【００５２】
データには、優先順位が割り当てられ、及び／又は関連付けされるかもしれない。例えば、データ優先順位は、図４に示されるように、“高い”、“やや高い”、“普通”、“やや低い”又は“低い”を含むかもしれない。他の例として、データ優先順位は、図４に示されるように、“ＫＥＥＰ  ＰＩＬＯＴ  ＡＬＩＶＥ”、“ＫＩＬＬ  ＥＮＥＭＹ”又は“ＩＮＦＯＲＭＡＴＩＯＮＡＬ”を含むかもしれない。
【００５３】
データ優先順位は、少なくとも部分的にはデータのタイプ、カテゴリ及び／又はグループに基づくかもしれない。例えば、データのタイプは、図４に示されるように、位置データ、近くの脅威に対するエミッタデータ、次の発射データ、トップテン発射リストデータ、数百マイル離れた脅威に対する発射データ、衛星通信からの状況認識（ＳＡ）データ（ＳＡＴＣＯＭ）、一般的な状態データを含むかもしれない。さらに、データは、図４に示されるように、“ＫＥＥＰ  ＰＩＬＯＴ  ＡＬＩＶＥ”、“ＫＩＬＬ  ＥＮＥＭＹ”又は“ＩＮＦＯＲＭＡＴＩＯＮＡＬ”などの各カテゴリにグループ化されるかもしれない。例えば、位置データや近くの脅威に対するエミッタデータなどの“ＫＥＥＰ  ＰＩＬＯＴ  ＡＬＩＶＥ”データは、パイロットの健康と安全に関するものであるかもしれない。他の例として、次の発射データ、トップテン発射リストデータ及び数百マイル離れた脅威に対する発射データなどの“ＫＩＬＬ  ＥＮＥＭＹ”は、戦闘システムに関するものであるかもしれない。他の例として、ＳＡＴＣＯＭからのＳＡデータや一般状態データなどの“ＩＮＦＯＲＭＡＴＩＯＮＡＬ”データは、非戦闘システムに関するものであるかもしれない。
【００５４】
上述されるように、データタイプ、カテゴリ及び／又はグループは、データ優先順位と同一及び／又は類似しているかもしれない。例えば、位置データや近くの脅威に対するエミッタデータなどの“ＫＥＥＰ  ＰＩＬＯＴ  ＡＬＩＶＥ”データは、“ＫＥＥＰ  ＰＩＬＯＴ  ＡＬＩＶＥ”の優先順位に関連付けされ、それは、“ＫＩＬＬ  ＥＮＥＭＹ”に係る次の発射データ、トップテン発射リストデータ及び数百マイル離れた脅威に対する発射データなどの“ＫＩＬＬ  ＥＮＥＭＹ”データより重要である。他の例として、次の発射データ、トップテン発射リストデータ及び数百マイル離れた脅威に対する発射データなどの“ＫＩＬＬ  ＥＮＥＭＹ”データは、“ＫＩＬＬ  ＥＮＥＭＹ”の優先順位に関連付けされ、それは、“ＩＮＦＯＲＭＡＴＩＯＮＡＬ”の優先順位に係るＳＡＴＣＯＭからのＳＡデータや一般状態データなどの“ＩＮＦＯＲＭＡＴＩＯＮＡＬ”データより重要である。
【００５５】
ネットワークについて、状態が決定されるかもしれない。例えば、ネットワーク状態は、“ＢＡＮＤＷＩＤＴＨ  ＣＨＡＬＬＥＮＧＥＤ”、“ＢＡＮＤＷＩＤＴＨ  ＣＯＮＳＴＲＡＩＮＥＤ”、“ＤＥＳＩＧＮ  ＰＯＩＮＴ  ＢＡＮＤＷＩＤＴＨ”又は“ＭＡＸＩＭＵＭ  ＢＡＮＤＷＩＤＴＨ”を含むかもしれない。これらの用語は、列記される順序により、観察されたパフォーマンスの増加を示し、障害のないリンクに関する損傷量の減少、機能の低いリンクの置換による不足量の減少、及び／又は機能要求に関する不足量の減少としてみなすことができる。ネットワーク状態は、ネットワークの動作状態に関するかもしれない。例えば、“ＭＡＸＩＭＵＭ  ＢＡＮＤＷＩＤＴＨ”のネットワーク状態は、帯域幅のすべてがデータ伝送に利用可能であることを示すかもしれない。他の例として、“ＤＥＳＩＧＮ  ＰＯＩＮＴ  ＢＡＮＤＷＩＤＴＨ”のネットワーク状態は、一部の帯域幅が利用されているが、正常に機能するのに必要とされる量の帯域幅がまだ利用可能であることを示すかもしれない。他の例として、“ＢＡＮＤＷＩＤＴＨ  ＣＨＡＬＬＥＮＧＥＤ”は、設計よりシステムにより使用されている帯域幅が大きいことを示すかもしれない。この点で、問題が生じ始めるかもしれない。他の例として、“ＢＡＮＤＷＩＤＴＨ  ＣＯＮＳＴＲＡＩＮＥＤ”は、帯域幅の大部分が使用されており、ほとんど又は全く帯域幅が残っていないことを示すかもしれない。この点で、“ＢＡＮＤＷＩＤＴＨ  ＣＯＮＳＴＲＡＩＮＥＤ”ネットワークを使用するシステムは、破綻し始める。これらの例は帯域幅に関して与えられるが、ネットワーク状態は、遅延及び／又はジッタなどの広範な他のネットワーク特性を含むかもしれない。
【００５６】
ネットワーク状態は、少なくとも部分的にネットワーク環境に基づき変化するかもしれない。例えば、帯域幅は、高度、距離及び／又は天候により影響を受けるかもしれない。航空機が接近し、空がクリアである場合、例えば、ネットワーク状態は、“ＭＡＸＩＭＵＭ  ＢＡＮＤＷＩＤＴＨ”か“ＤＥＳＩＧＮ  ＰＯＩＮＴ  ＢＡＮＤＷＩＤＴＨ”であるかもしれない。他方、航空機が離れていて、空が曇りである場合、例えば、ネットワーク状態は、“ＢＡＮＤＷＩＤＴＨ  ＣＯＮＳＴＲＡＩＮＥＤ”又は“ＢＡＮＤＷＩＤＴＨ  ＣＨＡＬＬＥＮＧＥＤ”であるかもしれない。
【００５７】
データは、少なくとも部分的にデータ優先順位及び／又はネットワーク状態に基づきネットワークを介し通信されるかもしれない。例えば、ネットワークの状態が“ＢＡＮＤＷＩＤＴＨ  ＣＨＡＬＬＥＮＧＥＤ”である場合、位置データや近くの脅威に対するエミッタデータなどの“高い”優先順位に係るデータのみがネットワークを介し通信されるかもしれない。
【００５８】
他の例として、ネットワークの状態が“ＢＡＮＤＷＩＤＴＨ  ＣＯＮＳＴＲＡＩＮＥＤ”である場合、次の発射データなどの“やや高い”及びトップテン発射リストデータなどの“普通”の優先順位に係るデータがまた、ネットワークを介し通信されるかもしれない。すなわち、“高い”、“やや高い”及び“普通”の優先順位に係るデータは、ネットワーク状態が図４に示されるように“ＢＡＮＤＷＩＤＴＨ  ＣＯＮＳＴＲＡＩＮＥＤ”である場合、ネットワークを介し通信されるかもしれない。特定の実施例では、データはまた、例えば、“高い”、その後に“やや高い”、その後に“普通”などの優先順位により通信されるかもしれない。
【００５９】
他の例として、ネットワークの状態が“ＤＥＳＩＧＮ  ＰＯＩＮＴ  ＢＡＮＤＷＩＤＴＨ”である場合、数百マイル離れた脅威に対するエミッタデータやＳＡＴＣＯＭからのＳＡデータなどの“やや低い”優先順位を有するデータがまた、ネットワークを介し通信されるかもしれない。すなわち、“高い”、“やや高い”、“普通”及び“やや低い”の優先順位に係るデータは、図４に示されるように、ネットワーク状態が“ＤＥＳＩＧＮ  ＰＯＩＮＴ  ＢＡＮＤＷＩＤＴＨ”である場合、ネットワークを介し通信されるかもしれない。特定の実施例では、データはまた、例えば、“高い”、その後に“やや高い”、その後に“普通”、その後に“やや低い”などの優先順位により通信されるかもしれない。
【００６０】
他の例として、ネットワークの状態が“ＭＡＸＩＭＵＭ  ＢＡＮＤＷＩＤＴＨ”である場合、一般状態データなどの“低い”優先順位に係るデータがまた、ネットワークを介し通信されるかもしれない。すなわち、“高い”、“やや高い”、“普通”、“やや低い”及び“低い”の優先順位に係るデータは、図４に示されるように、ネットワーク状態が“ＭＡＸＩＭＵＭ  ＢＡＮＤＷＩＤＴＨ”である場合、ネットワークを介し通信されるかもしれない。特定の実施例では、データは、例えば、“高い”、その後に“やや高い”、その後に“普通”、その後に“やや低い”、その後に“低い”などの優先順位により通信されるかもしれない。
【００６１】
図５は、本発明の実施例によるデータ通信環境５００内で動作するデータ通信システム５５０を示す。図１のデータ通信環境１００などのデータ通信環境５００は、ノード１１０などの１以上のノード５１０と、ノード５１０、ネットワーク５２０及びデータ通信システム１５０などのデータ通信システム５５０を接続し、データ通信環境５００のコンポーネントを介した通信を実現するリンク１３０などの１以上のリンク５３０とを含む。
【００６２】
特定の実施例では、データ通信システム５５０は、データを受信、格納、整理、優先順位付け、処理、送信及び／又は通信するよう構成される。データ通信システム５５０により受信、格納、整理、優先順位付け、処理、送信及び／又は通信されるデータは、例えば、パケット、セル、フレーム及び／又はストリームなどのデータブロックを含むかもしれない。例えば、データ通信システム５５０は、ノード５１０からデータのパケットを受信するかもしれない。他の例として、データ通信システム５５０は、ノード５１０からデータストリームを処理するかもしれない。
【００６３】
データ通信システム５５０は、データ優先順位付けコンポーネント５６０と、ネットワーク解析コンポーネント５７０と、データ通信コンポーネント５８０とを有する。特定の実施例では、データ優先順位付けコンポーネント５６０は、区別コンポーネント５６２と、シーケンス化コンポーネント５６６と、データ整理コンポーネント５６８とを有する。区別コンポーネント５６２は、図１に関して説明されたように、区別ルール識別子５６３と、機能冗長性ルールセット５６５とを有するかもしれない。シーケンス化コンポーネント５６６は、図１に関して説明されたように、シーケンス化ルール識別子５６７を有するかもしれない。特定の実施例では、ネットワーク解析コンポーネント５７０は、ネットワーク解析ルール識別子５７２と、ネットワーク解析データ５７４とを有するかもしれない。
【００６４】
データ優先順位付けコンポーネント５６０は、ネットワーク５２０を介した通信についてデータを優先順位付けする。より詳細には、データ優先順位付けコンポーネント５６０は、少なくとも部分的に区別、シーケンス化及び／又は機能冗長性などの優先順位付けルール及び／又はアルゴリズムに基づきデータを優先順位付けするかもしれない。例えば、図４に示されるように、位置データと近くの脅威に対するエミッタデータは“高い”優先順位に係り、次の発射データは“やや高い”優先順位に係り、トップテン発射リストデータは“普通”の優先順位に係り、数百マイル離れた脅威に対するエミッタデータとＳＡＴＣＯＭからのＳＡデータは“やや低い”優先順位に係り、一般状態データは“低い”優先順位に係るかもしれない。
【００６５】
特定の実施例では、データの優先順位は、少なくとも部分的にはメッセージコンテンツに基づくかもしれない。例えば、データ優先順位は、少なくとも部分的には、ビデオ、オーディオ、遠隔測定データ及び／又は位置データなどのデータのタイプに基づくかもしれない。他の例として、データ優先順位は、少なくとも部分的には、送信アプリケーション及び／又は送信ユーザに基づくかもしれない。例えば、司令官からの通信は、より下位の階級の将校からの通信より高い優先順位が割当てられるかもしれない。
【００６６】
特定の実施例では、データの優先順位は、少なくとも部分的にはソースアドレス及び／又はトランスポートプロトコルなどのデータに係る及び／又は含まれるプロトコル情報に基づく。プロトコル情報は、例えば、上述されたプロトコル情報と同様のものであってもよい。例えば、データ通信システム５５０は、データのブロックのソースアドレスに基づきデータのブロックの優先順位を決定するかもしれない。他の例では、データ通信システム５５０は、データのブロックを通信するのに使用されるトランスポートプロトコルに基づき、データのブロックの優先順位を決定するかもしれない。
【００６７】
特定の実施例では、データ優先順位付けコンポーネント５６０は、後述される区別コンポーネント５６２と、シーケンス化コンポーネント５６６と、データ整理コンポーネント５６８とを有するかもしれない。
【００６８】
区別コンポーネント５６２は、データを区別する。特定の実施例では、区別コンポーネント５６２は、少なくとも部分的に区別ルール識別子５６３に基づきデータを区別するかもしれない。特定の実施例では、区別コンポーネント５６２は、ネットワーク５２０を介した通信のため、データをデータ整理コンポーネント５６８に追加するかもしれない。例えば、区別コンポーネント５６２は、図１に関して上述されたように、少なくとも部分的には区別ルール識別子５６３に基づきデータ整理コンポーネント５６８にデータを付加するかもしれない。
【００６９】
特定の実施例では、区別コンポーネント５６２は、上述されるように、少なくとも部分的にはメッセージコンテンツ及び／又はプロトコル情報に基づきデータを区別するかもしれない。
【００７０】
区別ルール識別子５６３は、図１に関して上述されるように、キュー選択などの１以上の区別ルール及び／又はアルゴリズムを特定する。特定の実施例では、区別ルール及び／又はアルゴリズムは、ユーザにより規定されてもよい。特定の実施例では、区別ルール及び／又はアルゴリズムは、図１に関して上述されるように、ＸＭＬにより記述されてもよく、又は１以上のＤＬＬに与えられてもよい。
【００７１】
特定の実施例では、区別コンポーネント５６２は、データ整理コンポーネント５６８からデータを削除及び／又は保留するかもしれない。例えば、区別コンポーネント５６２は、図１に関して上述されたように、少なくとも部分的に機能冗長性ルール識別子５６５に基づき、データ整理コンポーネント５６８からデータを削除するかもしれない。
【００７２】
機能冗長性ルール識別子５６５は、図１に関して上述されたように、１以上の機能冗長性ルール及び／又はアルゴリズムを特定する。特定の実施例では、機能冗長性ルール及び／又はアルゴリズムは、ユーザにより規定されてもよい。特定の実施例では、機能冗長性ルール及び／又はアルゴリズムは、図１に関して上述されるように、ＸＭＬにより記述されてもよく、又は１以上のＤＬＬに与えられてもよい。
【００７３】
シーケンス化コンポーネント５６６は、データをシーケンス化する。特定の実施例では、シーケンス化コンポーネント５６６は、少なくとも部分的にシーケンスルール識別子５６７に基づきデータをシーケンス化するかもしれない。特定の実施例では、シーケンス化コンポーネント５６６は、ネットワーク５２０を介した通信のため、データ整理コンポーネント５６８からデータを選択及び／又は削除するかもしれない。例えば、シーケンス化コンポーネント５６６は、図１に関して上述されるように、少なくとも部分的にシーケンス化ルール識別子５６７に基づきデータ整理コンポーネント５６８からデータを削除するかもしれない。
【００７４】
シーケンス化ルール識別子５６７は、図１に関して説明されたように、スタベーション、ラウンドロビン及び相対頻度などの１以上のシーケンス化ルール及び／又はアルゴリズムを特定する。特定の実施例では、シーケンス化ルール及び／又はアルゴリズムは、ユーザにより規定されてもよい。特定の実施例では、シーケンス化ルール及び／又はアルゴリズムは、図１に関して上述されるように、ＸＭＬにより記述されてもよく、又は１以上のＤＬＬに与えられてもよい。
【００７５】
データ整理コンポーネント５６８は、データを格納及び／又は整理する。特定の実施例では、データ整理コンポーネント５６８は、“ＫＥＥＰ  ＰＩＬＯＴ  ＡＬＩＶＥ”、“ＫＩＬＬ  ＥＮＥＭＹ”及び“ＩＮＦＯＲＭＡＴＩＯＮＡＬ”などの優先順位に少なくとも部分的に基づき、データを格納及び／又は整理するかもしれない。データ整理コンポーネント５６８は、例えば、Ｑ１，Ｑ２，Ｑ３，Ｑ４及びＱ５などの１以上のキューを有するかもしれない。例えば、位置データや近くの脅威に対するエミッタデータなどの“高い”優先順位に係るデータはＱ１に格納され、次の発射データなどの“やや高い”優先順位に係るデータはＱ２に格納され、トップテン発射リストデータなどの“普通”の優先順位に係るデータはＱ３に格納され、数百マイル離れた脅威に対するエミッタデータやＳＡＴＣＯＭからのＳＡデータなどの“やや低い”優先順位に係るデータはＱ４に格納され、一般状態データなどの“低い”優先順位に係るデータはＱ５に格納されるかもしれない。あるいは、データ整理コンポーネント５６８は、例えば、１以上のツリー、テーブル、リンク付けリスト及び／又はデータを格納及び／又は整理するための他のデータ構造などを含むかもしれない。
【００７６】
ネットワーク解析コンポーネント５７０は、ネットワーク５２０を解析する。特定の実施例では、ネットワーク解析コンポーネント５７０は、少なくとも部分的にネットワーク解析ルール識別子５７２に基づきネットワーク５２０を解析する。
【００７７】
ネットワーク解析ルール識別子５７２は、ラウンドトリップピング、ピア・ツー・ピア解析及び／又は測定されたスループットなどの１以上のネットワーク解析ルール及び／又はアルゴリズムを特定する。例えば、ラウンドトリップピングは、ピング（ｐｉｎｇ）がエンドノードまで往復するのにかかる時間を計測することによって、ネットワーク遅延を解析するかもしれない。他の例として、ピア・ツー・ピア解析は、最も遅いリンクが最初及び最後であると仮定するかもしれない。この結果、ネットワークパフォーマンスは、リンクスピードデータを要求する遠くのエンドにメッセージを送信し、その後このデータと現在のリンクスピードの知識を利用して現在のスループット又はパフォーマンスを評価することによって、評価されるかもしれない。他の例として、測定されたスループットは、データのブロックをセグメント化し、ネットワークの遠くのエンドにこれらを送信するかもしれない。遠くのエンドは、それが受信する各データブロックを記録する。このタイミング情報を利用し、送信されたデータブロックのサイズを知ることによって、ネットワークするープットが経時的に近似できる。
【００７８】
特定の実施例では、１以上のネットワーク解析ルール及び／又はアルゴリズムは、ルールドリブンな時間インターバルに関するネットワークの健全性の状態を、当該状態に対するルールドリブンな反応により決定するかもしれない。例えば、ネットワーク安定性を参照する解析ルールは、データ欠落が妥当なレベルを超えるときに出力データをオフにするかもしれず、又はラウンドトリップパケット回数が妥当なレベルを超える場合、データをより低いレートで測定するかもしれない。
【００７９】
特定の実施例では、ネットワーク解析ルール及び／又はアルゴリズムは、ユーザにより規定されてもよい。特定の実施例では、ネットワーク解析ルール及び／又はアルゴリズムは、ＸＭＬにより記述されてもよく、又は１以上のＤＬＬに与えられてもよい。
【００８０】
特定の実施例では、ネットワーク解析コンポーネント５７０は、ネットワーク５２０の状態を決定する。より詳細には、ネットワーク解析コンポーネント５７０は、帯域幅、遅延及び／又はジッタなどのネットワーク５２０の１以上の特性に少なくとも部分的に基づき、ネットワーク５２０の状態を決定するかもしれない。例えば、図４に示されるように、ネットワーク解析コンポーネント５７０は、ネットワーク５２０の状態が、“ＭＡＸＩＭＵＭ  ＢＡＮＤＷＩＤＴＨ”、“ＤＥＳＩＧＮ  ＰＯＩＮＴ  ＢＡＮＤＷＩＤＴＨ”、“ＢＡＮＤＷＩＤＴＨ  ＣＯＮＳＴＲＡＩＮＥＤ”又は“ＢＡＮＤＷＩＤＴＨ  ＣＨＡＬＬＥＮＧＥＤ”であることを決定するかもしれない。
【００８１】
特定の実施例では、ネットワーク解析コンポーネント５７０は、２つのノード間のパスなど、ネットワーク５２０の１以上のパスを解析する。
【００８２】
ノードＡにおけるネットワーク解析コンポーネントは、ネットワーク解析データを生成する。より詳細には、ノードＡにおけるネットワーク解析コンポーネント５７０は、ネットワーク解析ルール識別子５７２に少なくとも部分的に基づき、ネットワーク解析データを生成する。ネットワーク解析データは、パケット、セル、フレーム及び／又はストリームなどのデータのブロックを含むかもしれない。ノードＡは、ネットワーク５２０を介しネットワーク解析データをノードＢに送信する。
【００８３】
ノードＢは、ノードＡからネットワーク解析データを受信する。ノードＢにおけるネットワーク解析コンポーネント５７０は、ノードＡからのネットワーク解析データを処理する。より詳細には、ノードＢにおけるネットワーク解析コンポーネント５７０は、ネットワーク解析ルール識別子５７２に少なくとも部分的に基づき、ネットワーク解析データを処理する。例えば、ノードＢにおけるネットワーク解析コンポーネントは、タイムスタンプをネットワーク解析データに追加するかもしれない。ノードＢは、処理されたネットワーク解析データをネットワーク５２０を介しノードＡに送信する。
【００８４】
ノードＡは、ノードＢから処理されたネットワーク解析データを受信する。ノードＡにおけるネットワーク解析コンポーネント５７０は、ネットワーク解析ルール識別子５７２に少なくとも部分的に基づきネットワーク５２０を解析する。
【００８５】
特定の実施例では、ノードＡにおけるネットワーク解析コンポーネント５７０は、帯域幅、遅延及び／又はジッタなどのネットワーク５２０の１以上の特性に少なくとも部分的に基づき、ネットワーク５２０の状態を決定するかもしれない。例えば、図４に示されるように、ネットワーク解析コンポーネント５７０は、ネットワーク５２０の状態が、“ＭＡＸＩＭＵＭ  ＢＡＮＤＷＩＤＴＨ”、“ＤＥＳＩＧＮ  ＰＯＩＮＴ  ＢＡＮＤＷＩＤＴＨ”、“ＢＡＮＤＷＩＤＴＨ  ＣＯＮＳＴＲＡＩＮＥＤ”又は“ＢＡＮＤＷＩＤＴＨ  ＣＨＡＬＬＥＮＧＥＤ”であることを決定するかもしれない。
【００８６】
特定の実施例では、ノードＡにおけるネットワーク解析コンポーネント５７０は、ノードＡからノードＢまでのパスなどのネットワーク５２０における１以上のパスを解析する。
【００８７】
データ通信コンポーネント５８０は、データを通信する。特定の実施例では、データ通信コンポーネント５８０は、例えば、ノード５１０及び／又はノード５１０上で実行されるアプリケーションから、ネットワーク５２０及び／又はノード５１０とネットワーク５２０とを接続するリンクを介し、データを受信する。特定の実施例では、データ通信コンポーネント５８０は、例えば、ノード５１０及び／又はノード５１０上で実行されるアプリケーションに、ネットワーク５２０及び／又はノード５１０とネットワーク５２０とを接続するリンクを介し、データを送信する。
【００８８】
特定の実施例では、データ通信コンポーネント５８０は、データ優先順位付けコンポーネント５６０と通信する。より詳細には、データ通信コンポーネント５８０は、データを区別コンポーネント５６２に送信し、シーケンス化コンポーネント５６６からデータを受信する。あるいは、データ通信コンポーネント５８０は、データ整理コンポーネント５６８と通信するかもしれない。特定の実施例では、データ通信コンポーネント５８０は、ネットワーク解析コンポーネント５７０と通信する。特定の実施例では、データ優先順位付けコンポーネント５６０及び／又はネットワーク解析コンポーネント５７０は、データ通信コンポーネント５８０の１以上の機能を実行するかもしれない。
【００８９】
特定の実施例では、データ通信コンポーネント５８０は、少なくとも部分的にデータ優先順位及び／又はネットワーク状態に基づきデータを通信するかもしれない。
【００９０】
動作について、データは、データ通信システム５５０により受信される。より詳細には、データは、データ通信システム５５０のデータ通信コンポーネント５８０により受信されてもよい。データは、例えば、ノード５１０及び／又はノード５１０上で実行されるアプリケーションなどから受信されるかもしれない。例えば、データは、ネットワーク５２０を介し及び／又はノード５１０とネットワーク５２０とを接続するリンクを介し受信されるかもしれない。例えば、データは、戦術データネットワークを介し無線からデータ通信システム５５０において受信されるかもしれない。他の例として、データは、プロセス間通信機構により同一のシステム上で実行されるアプリケーションによりデータ通信システム５５０に提供されるかもしれない。上述されるように、データは、例えば、データのパケット、セル、フレーム及び／又はストリームなどのデータのブロックを含むかもしれない。
【００９１】
特定の実施例では、データ通信システム５５０は、データのすべてを受信するとは限らないかもしれない。例えば、データの一部はバッファに格納され、データ通信システム５５０は、ヘッダ情報とバッファへのポインタしか受信しないかもしれない。他の例として、データ通信システム５５０は、オペレーティングシステムのプロトコルスタックにフックされ、アプリケーションがデータをトランスポートレイヤインタフェース（ソケットなど）を介しオペレーティングシステムにわたすろ、オペレーティングシステムは、その後にデータへのアクセスをデータ通信システム５５０に提供するかもしれない。
【００９２】
データは、データ通信システム５５０により優先順位付けされる。特定の実施例では、データは、少なくとも部分的にデータ通信順位付けルールに基づき、データ通信システム５５０のデータ優先順位付けコンポーネント５６０により優先順位付けされるかもしれない。
【００９３】
特定の実施例では、データは、区別コンポーネント５６２により区別されるかもしれない。例えば、データは、少なくとも部分的にキュー選択ルール及び／又は機能冗長性ルールに基づき、データ整理コンポーネント５６８に追加、削除及び／又は保留されるかもしれない。他の例として、データは、少なくとも部分的に上述されるように、メッセージコンテンツ及び／又はプロトコル情報に基づき、区別コンポーネント５６２により区別されるかもしれない。
【００９４】
特定の実施例では、データは、シーケンス化コンポーネント５６６によりシーケンス化されるかもしれない。例えば、データは、スタベーション、ラウンドロビン及び相対頻度などのシーケンス化ルールに少なくとも部分的に基づき、データ整理コンポーネント５６８から削除及び／又は保留されるかもしれない。
【００９５】
特定の実施例では、データは、データ整理コンポーネント５６８に格納、整理及び／又は優先順位付けされるかもしれない。特定の実施例では、データ整理コンポーネント５６８は、キュー、ツリー、テーブル、リンク付けリスト及び／又はデータを格納、整理及び／又は優先順位付けするための他のデータ構造を含むかもしれない。
【００９６】
特定の実施例では、データ通信システム５５０は、データを優先順位付けするかもしれない。特定の実施例では、データ通信システム５５０は、データのブロックの優先順位を決定するかもしれない。例えば、データのブロックがデータ通信システム５５０により受信されると、データ通信システム５５０のデータ優先順位付けコンポーネント５６０が、当該データブロックの優先順位を決定するかもしれない。他の例として、データブロックは、データ通信システム５５０のキューに格納されてもよく、データ優先順位付けコンポーネント５６０は、データブロック及び／又はキューに対して決定された優先順位に基づき、キューからデータブロックを抽出するかもしれない。
【００９７】
特定の実施例では、データブロックの優先順位は、データブロックの優先順位は、少なくとも部分的にはメッセージコンテンツに基づくかもしれない。例えば、データ優先順位は、ビデオ、オーディオ、遠隔測定データ及び／又は位置データなどのデータのタイプに少なくとも部分的に基づくかもしれない。他の例として、データ優先順位は、送信アプリケーション及び／又は送信ユーザに少なくとも部分的に基づくかもしれない。例えば、司令官からの通信は、より下位の階級の将校からの通信より高い優先順位を割り当てられるかもしれない。
【００９８】
特定の実施例では、データブロックの優先順位は、ソースアドレス及び／又はトランスポートプロトコルなど、データに係る及び／又は含まれるプロトコル情報に少なくとも部分的に基づくかもしれない。プロトコル情報は、例えば、上述されたプロトコル情報と同様のものであるかもしれない。例えば、データ通信システム５５０は、データブロックのソースアドレスに基づき、データブロックの優先順位を決定するかもしれない。他の例として、データ通信システム５５０は、データブロックを通信するのに使用されるトランスポートプロトコルに基づき、データブロックの優先順位を決定するかもしれない。
【００９９】
データ通信システム５５０によるデータの優先順位付けは、例えば、ＱｏＳを提供するのに利用されるかもしれない。例えば、データ通信システム５５０は、戦術データネットワークを介し受信されるデータの優先順位を決定するかもしれない。この優先順位は、例えば、データのソースアドレスに基づくかもしれない。例えば、データ通信システム５５０が属する小隊と同じ小隊のメンバーの無線からのデータのソースＩＰアドレスには、異なる作戦エリアの異なる部隊のユニットから発信されたデータより高い優先順位が付与されるかもしれない。この優先順位は、データ通信システム５５０による以降の通信のため、データが配置されるべき複数のキューの何れかを決定するのに利用されるかもしれない。例えば、より高い優先順位のデータを保持するためのキューに、より高い優先順位のデータが配置され、次に通信すべきデータを決定するのに、データ通信システム５５０は、このより高い優先順位のキューをまず参照するかもしれない。
【０１００】
データは、少なくとも部分的に１以上のルールに基づき優先順位付けされるかもしれない。上述されるように、ルールはユーザにより規定されるかもしれない。特定の実施例では、ルールは、ＸＭＬにより記述されてもよく、及び／又はカスタムＤＬＬを介し提供されてもよい。ルールは、例えば、１つのプロトコルを利用して受信されたデータが他のプロトコルを利用したデータより優先されることを規定するかもしれない。例えば、命令データは、他のプロトコルを使用して送信される位置遠隔測定データに対する優先順位をルールを介し与える特定のプロトコルを利用するかもしれない。他の例として、ルールは、第１アドレス範囲からの位置遠隔測定データが第２アドレス範囲からの位置遠隔測定データに対して優先順位が与えられるかもしれないことを規定するかもしれない。第１アドレス範囲は、例えば、航空機上で実行されるデータ通信システム５５０を有する航空機と同じ飛行隊の他の航空機のＩＰアドレスを表すかもしれない。第２アドレス範囲は、例えば、異なる作戦エリアにいて、このためデータ通信システム５５０が実行される航空機にあまり関心のない他の航空機のＩＰアドレスなどを表すかもしれない。
【０１０１】
特定の実施例では、データ通信システム５５０はデータを排除しない。すなわち、データが低い優先順位であっても、データ通信システム５５０により排除されない。むしろ、データは、受信されるより上位の優先順位のデータのデータ量に潜在的には依存して、ある期間遅延されるかもしれない。
【０１０２】
特定の実施例では、データ通信システム５５０は、モード又はプロファイルインジケータを有する。モード又はプロファイルインジケータは、例えば、データ通信システム５５０の現在のモード又はプロファイルを表すかもしれない。上述されるように、データ通信システム５５０は、ルール及びモード又はプロファイルを利用して、ネットワーク５２０における利用可能な帯域幅の最適化、情報優先順位の設定及びデータリンク５３０の管理など、スループット管理機能を実行するかもしれない。異なるモードは、例えば、ルール、アルゴリズム、モード及び／又はデータトランスポートなどの変化に影響を与えるかもしれない。モード又はプロファイルは、特定のネットワークの健全性状態に対する動作要求に関するルールセットを含むかもしれない。データ通信システム５５０は、新たなモード“無線（ｏｎ−ｔｈｅ−ｆｌｙ）”の定義及びスイッチングなどを含むモードの動的な再設定を提供するかもしれない。
【０１０３】
特定の実施例では、データ通信システム５５０は、他のアプリケーションに透過である。例えば、データ通信システム５５０により実行される処理、整理及び／又は優先順位付けは、１以上のノード５１０又は他のアプリケーション若しくはデータソースに透過であるかもしれない。他の例として、データ通信システム５５０と同一のシステム又はデータ通信システム５５０に接続されるノード５１０上で実行されるアプリケーションは、データ通信システム５５０により実行されるデータの優先順位付けを認識しなくてもよい。
【０１０４】
ネットワーク５２０は、データ通信システム５５０により解析される。より詳細には、ネットワーク５２０は、少なくとも部分的にネットワーク解析ルールに基づき、データ通信システム５５０のネットワーク解析コンポーネント５７０により解析されてもよい。
【０１０５】
特定の実施例では、ネットワーク解析コンポーネント５７０は、ネットワーク５２０の状態を決定する。より詳細には、ネットワーク解析コンポーネント５７０は、少なくとも部分的に帯域幅、遅延及び／又はジッタなどのネットワーク５２０の１以上の特性に基づき、ネットワーク５２０の状態を決定するかもしれない。例えば、図４に示されるように、ネットワーク解析コンポーネント５７０は、ネットワーク５２０の状態が“ＭＡＸＩＭＵＭ  ＢＡＮＤＷＩＤＴＨ”、“ＤＥＳＩＧＮ  ＰＯＩＮＴ  ＢＡＮＤＷＩＤＴＨ”、“ＢＡＮＤＷＩＤＴＨ  ＣＯＮＳＴＲＡＩＮＥＤ”及び／又は“ＢＡＮＤＷＩＤＴＨ  ＣＨＡＬＬＥＮＧＥＤ”であることを決定するかもしれない。
【０１０６】
特定の実施例では、ネットワーク解析コンポーネント５７０は、ノードＡからノードＢまでのパスなどのネットワーク５２０における１以上のパスを解析する。
【０１０７】
データは、データ通信システム５５０により通信される。より詳細には、データは、データ通信システム５５０のデータ通信コンポーネント５８０により通信されてもよい。データは、例えば、ノード５１０及び／又はノード５１０上で実行されるアプリケーションに通信されるかもしれない。データは、例えば、ネットワーク５２０及び／又はノード５１０とネットワーク５２０とを接続するリンクを介し通信されるかもしれない。例えば、データは、戦術データネットワークを介しデータ通信システム５５０により無線に通信されるかもしれない。他の例として、データは、プロセス間通信機構により同一システム上で実行されるアプリケーションにデータ通信システム５５０により提供されてもよい。上述されるように、データは、例えば、データのパケット、セル、フレーム及び／又はストリームなどのデータのブロックを含むかもしれない。
【０１０８】
特定の実施例では、データは、少なくも部分的にデータ優先順位及び／又はネットワーク状態に基づき、データ通信システム５５０により通信される。例えば、図４に示されるように、ネットワーク５２０の状態が“ＢＡＮＤＷＩＤＴＨ  ＣＨＡＬＬＥＮＧＥＤ”である場合、位置データや近くの脅威に対するエミッタデータなどの“高い”優先順位に係るデータのみがネットワーク５２０を介し通信されるかもしれない。
【０１０９】
他の例として、ネットワーク５２０の状態が“ＢＡＮＤＷＩＤＴＨ  ＣＯＮＳＴＲＡＩＮＥＤ”である場合、次の発射データなどの“やや高い”優先順位と、トップテン発射リストデータなどの“普通”の優先順位に係るデータがまた、ネットワーク５２０を介し通信されるかもしれない。すなわち、“高い”、“やや高い”及び“普通”の優先順位に係るデータが、図４に示されるように、ネットワーク状態が“ＢＡＮＤＷＩＤＴＨ  ＣＯＮＳＴＲＡＩＮＥＤ”である場合、ネットワーク５２０を介し通信されてもよい。特定の実施例では、データはまた、例えば、“高い”、その後に“やや高い”、その後に“普通”などの優先順位の順序で通信されるかもしれない。
【０１１０】
他の例として、ネットワーク５２０の状態が“ＤＥＳＩＧＮ  ＰＯＩＮＴ  ＢＡＮＤＷＩＤＴＨ”である場合、数百マイル離れた脅威に対するエミッタデータ及びＳＡＴＣＯＭからのＳＡデータなどの“やや低い”優先順位に係るデータがまた、ネットワーク５２０を介し通信されるかもしれない。すなわち、“高い”、“やや高い”、“普通”及び“やや低い”の優先順位に係るデータが、図４に示されるように、ネットワーク状態が“ＤＥＳＩＧＮ  ＰＯＩＮＴ  ＢＡＮＤＷＩＤＴＨ”である場合、ネットワーク５２０を介し通信されてもよい。特定の実施例では、データはまた、例えば、“高い”、その後に“やや高い”、その後に“普通”、その後に“やや低い”などの優先順位の順序で通信されるかもしれない。
【０１１１】
他の例として、ネットワーク５２０の状態が“ＭＡＸＩＭＵＭ  ＢＡＮＤＷＩＤＴＨ”である場合、一般状態データなどの“低い”優先順位に係るデータがまた、ネットワーク５２０を介し通信されるかもしれない。すなわち、“高い”、“やや高い”、“普通”、“やや低い”及び“低い”の優先順位に係るデータが、図４に示されるように、ネットワーク状態が“ＭＡＸＩＭＵＭ  ＢＡＮＤＷＩＤＴＨ”である場合、ネットワーク５２０を介し通信されてもよい。特定の実施例では、データはまた、例えば、“高い”、その後に“やや高い”、その後に“普通”、その後に“やや低い”、その後に“低い”などの優先順位の順序で通信されるかもしれない。
【０１１２】
上述されるように、データ通信システム５５０のコンポーネント、要素及び／又は機能は、ハードウェア、ファームウェア及び／又はソフトウェアの命令セットの各種形式により単独で又は組み合わせて実現可能である。特定の実施例は、汎用コンピュータ又は他の処理装置上で実行するため、メモリ、ハードディスク、ＤＶＤ又はＣＤなどのコンピュータ可読媒体上の命令セットとして提供されるかもしれない。
【０１１３】
図６は、本発明の実施例によるデータ通信方法６００のフロー図を示す。本方法６００は、以下で詳細に説明される以下の各ステップを含む。ステップ６１０において、データが受信される。ステップ６２０において、データは優先順位付けされる。ステップ６３０において、ネットワークが解析される。ステップ６４０において、データは通信される。本方法６００は、上述したシステムの要素を参照して説明されるが、他の実現形態もまた可能であることが理解されるべきである。
【０１１４】
ステップ６１０において、データが受信される。データは、上述されるように、図５のデータ通信システム５５０などにより受信されるかもしれない。他の例として、データは、ノード５１０及び／又はノード５１０上で実行されるアプリケーションから受信されるかもしれない。他の例として、データは、例えば、ネットワーク５２０及び／又はノード５１０とネットワーク５２０とを接続するリンクを介し受信されるかもしれない。データは、例えば、データのパケット、セル、フレーム及び／又はストリームなどのデータのブロックなどを含むかもしれない。特定の実施例では、データ通信システム５５０は、データのすべてを受信するとは限らないかもしれない。
【０１１５】
ステップ６２０において、データは優先順位付けされる。優先順位付けされるデータは、例えば、ステップ６１０において受信されるデータであるかもしれない。データは、例えば、上述されるように、図５のデータ通信システム５５０などにより優先順位付けされるかもしれない。他の例として、データは、少なくとも部分的にデータ優先順位付けルールに基づき、データ通信システム５５０のデータ優先順位付けコンポーネント５６０により優先順位付けされるかもしれない。
【０１１６】
特定の実施例では、データ優先順位は、データタイプ、送信アプリケーション及び／又は送信ユーザなどのメッセージコンテンツに少なくとも部分的に基づくかもしれない。特定の実施例では、データ優先順位は、ソースアドレス及び／又はトランスポートプロトコルなど、データに係る及び／又は含まれるプロトコル情報に少なくとも部分的に基づくかもしれない。特定の実施例では、データ優先順位付けコンポーネント５６０は、例えば、ＱｏＳを提供するのに利用されるかもしれない。特定の実施例では、データの優先順位付けは他のアプリケーションに透過である。
【０１１７】
ステップ６３０において、ネットワークが解析される。ネットワークは、例えば、上述されるように、図５のデータ通信システム５５０などにより解析されてもよい。他の例として、ネットワークは、少なくとも部分的にネットワーク解析ルールに基づき、データ通信システム５５０のネットワーク解析コンポーネント５７０により解析されてもよい。
【０１１８】
特定の実施例では、ネットワーク解析コンポーネント５７０は、ネットワーク５２０の状態を決定する。より詳細には、ネットワーク解析コンポーネント５７０は、帯域幅、遅延及び／又はジッタなどのネットワーク５２０の１以上の特性に少なくとも部分的に基づき、ネットワーク５２０の状態を決定するかもしれない。
【０１１９】
特定の実施例では、ネットワーク解析コンポーネント５７０は、ノードＡからノードＢへのパスなど、ネットワーク５２０の１以上のパスを解析する。
【０１２０】
ステップ６４０において、データが通信される。通信されるデータは、例えば、ステップ６１０において受信されたデータであってもよい。データは、例えば、上述されるような図５のデータ通信システム５５０により通信されるかもしれない。他の例として、データは、ノード５１０及び／又はノード５１０上で実行されるアプリケーションに通信されるかもしれない。他の例として、データは、ネットワーク５２０及び／又はノード５１０とネットワーク５２０とを接続するリンクを介し通信されるかもしれない。
【０１２１】
特定の実施例では、データは、上述されるように、少なくとも部分的にデータ優先順位及び／又はネットワーク状態に基づき通信されるかもしれない。データ優先順位は、例えば、ステップ６２０において決定されるデータ優先順位であるかもしれない。ネットワーク状態は、例えば、ステップ６３０において決定されるネットワーク状態であるかもしれない。
【０１２２】
本方法６００の各ステップの１以上は、例えば、ハードウェア、ファームウェア及び／又はソフトウェアによる命令セットとして単独で又は組み合わせて実現可能である。特定の実施例は、汎用コンピュータ又は他の処理装置上で実行するため、メモリ、ハードディスク、ＤＶＤ又はＣＤなどのコンピュータ可読媒体にある命令セットとして提供されるかもしれない。
【０１２３】
本発明の特定の実施例は、リストされた順序と異なる順序により各ステップを実行してもよく、及び／又はこれらのステップの１以上を省略してもよい。例えば、いくつかのステップは、本発明の特定の実施例においては実行されないかもしれない。さらなる例として、特定のステップは、上記以外の異なる時間的順序により同時を含み実行されてもよい。
【０１２４】
図７は、本発明の実施例によるデータ優先順位付けシステム７００を示す。本システム７００は、区別コンポーネント７１０と、シーケンス化コンポーネント７２０と、データ整理コンポーネント７３０とを有する。区別コンポーネント７１０は、キュー選択ルール及び／又は機能冗長性ルールなどの区別ルール７１５を有するかもしれない。シーケンス化コンポーネント７２０は、スタベーション、ラウンドロビン及び／又は相対頻度などのシーケンス化ルール７２５を有する。データ整理コンポーネント７３０は、例えば、キュー、ツリー、テーブル、リスト及び／又はデータを格納及び／又は整理するための他のデータ構造を含む。システム７００のコンポーネントは、データ優先順位付けコンポーネント７６０と総称されるかもしれず、例えば、上述されるように、図５のデータ優先順位付けコンポーネント５６０のコンポーネントと同様であるかもしれない。
【０１２５】
データが、データ優先順位付けコンポーネント７６０において受信される。データは、戦術データネットワークなどのネットワークを介し及び／又はアプリケーションプログラムなどから受信されるかもしれない。他の例として、データは、上述されるように、図５のデータ通信コンポーネント５８０から受信されるかもしれない。データは、例えば、セル、フレーム、パケット及び／又はストリームなどのデータのブロックを含むかもしれない。データ優先順位付けコンポーネント７６０は、データを優先順位付けする。特定の実施例では、データ優先順位付けコンポーネント７６０は、区別ルール７１５及び／又はシーケンス化ルール７２５などのデータ優先順位付けルールに少なくとも部分的に基づき、データを優先順位付けするかもしれない。
【０１２６】
特定の実施例では、データはデータ優先順位付けコンポーネント７６０の区別コンポーネント７１０において受信される。区別コンポーネント７１０は、データを区別する。特定の実施例では、区別コンポーネント７１０は、キュー選択ルール及び／又は機能冗長性ルール７６５などの区別ルール７１５に少なくとも部分的に基づき、データを区別するかもしれない。特定の実施例では、区別ルール及び／又は機能冗長性ルールは、ユーザにより規定されてもよい。特定の実施例では、区別コンポーネント７１０は、データタイプ、送信アドレス及び／又は送信アプリケーションなどのメッセージコンテンツ及び／又はソースアドレス及び／又はトランスポートプロトコルなどのプロトコル情報に少なくとも部分的に基づき、データを区別するかもしれない。特定の実施例では、区別コンポーネント７１０は、例えば、キュー選択ルールなどに少なくとも部分的に基づき、データをデータ整理コンポーネント７３０に追加してもよい。例えば、区別コンポーネント７１０は、ビデオデータを第１キューに、オーディオデータを第２キューに、遠隔測定データを第３キューに、位置データを第４キューに追加してもよい。特定の実施例では、区別コンポーネント７１０は、例えば、機能冗長性ルールなどに少なくとも部分的に基づき、データ整理コンポーネント７３０からデータを削除及び／又は保留するかもしれない。例えば、区別コンポーネント７１０は、第４キューから古い及び／又は冗長な位置データを削除するかもしれない。
【０１２７】
特定の実施例では、区別されたデータが通信されるかもしれない。例えば、区別されたデータは、上述されるように、図５のデータ通信コンポーネント５８０に送信されてもよい。他の例として、区別されたデータは、戦術データネットワークなどのネットワークを介し及び／又はアプリケーションプログラムに通信されてもよい。
【０１２８】
特定の実施例では、データが、データ優先順位付けコンポーネント７６０のシーケンス化コンポーネント７２０において受信される。シーケンス化コンポーネント７２０は、データをシーケンス化する。特定の実施例では、シーケンス化コンポーネント７２０は、スタベーション、ラウンドロビン及び／又は相対頻度などのシーケンス化ルール７２５に少なくとも部分的に基づき、データをシーケンス化するかもしれない。特定の実施例では、シーケンス化ルール７２５は、ユーザにより規定されてもよい。特定の実施例では、シーケンス化コンポーネント７２０は、例えば、シーケンス化ルール７３５に少なくとも部分的に基づき、データを選択及び／又は削除する。例えば、シーケンス化コンポーネント７２０は、第４キューから位置データを削除し、その後に第２キューからオーディオデータを削除し、その後に第３キューから遠隔測定データを削除し、その後に第１キューからビデオデータを削除するかもしれない。
【０１２９】
特定の実施例では、シーケンス化されたデータが通信されるかもしれない。例えば、シーケンス化されたデータは、上述されるように、図５のデータ通信コンポーネント５８０に送信されるかもしれない。他の例として、シーケンス化されたデータは、戦術データネットワークなどのネットワークを介し及び／又はアプリケーションプログラムに通信されてもよい。
【０１３０】
特定の実施例では、区別コンポーネント７１０、シーケンス化コンポーネント７２０及び／又はデータ整理コンポーネント７３０を有するデータ優先順位付けコンポーネント７００は、上述されるように、ＱｏＳを提供するのに利用されるかもしれない。特定の実施例では、区別コンポーネント７１０、シーケンス化コンポーネント７２０及び／又はデータ整理コンポーネント７３０を有するデータ優先順位付けコンポーネント７００は、上述されるように、他のアプリケーションに透過であってもよい。
【０１３１】
上述されるように、データ優先順位付けコンポーネント７００のコンポーネント、要素及び／又は機能は、例えば、ハードウェア、ファームウェア及び／又はソフトウェアの命令セットとして各種形式により単独で又は組み合わせて実現可能である。特定の実施例は、汎用コンピュータ又は他の処理装置上での実行のため、メモリ、ハードディスク、ＤＶＤ又はＣＤなどのコンピュータ可読媒体にある命令セットとして提供されてもよい。
【０１３２】
図８は、本発明の実施例によるデータ優先順位付け方法８００のフロー図を示す。本方法８００は、以下でより詳細に説明される以下の各ステップを含む。ステップ８１０において、データが受信される。ステップ８２０において、データが優先順位付けされる。ステップ８３０において、データが通信される。本方法８００は、上述したシステムの各要素を参照して説明されるが、他の実現形態もまた可能であることが理解されるべきである。
【０１３３】
ステップ８１０において、データが受信される。上述されるように、データは、戦術データネットワークなどのネットワークを介し及び／又はアプリケーションプログラムなどから受信されるかもしれない。他の例として、データは、上述されるように、図５のデータ通信コンポーネント５８０から受信されてもよい。
【０１３４】
ステップ８２０において、データが区別される。区別されるデータは、例えば、ステップ８１０において受信されたデータであってもよい。データは、上述されるように、例えば、図７の区別コンポーネント７１０により区別されてもよい。
【０１３５】
ステップ８３０において、データがシーケンス化される。シーケンス化されるデータは、例えば、ステップ８１０において受信されたデータ及び／又はステップ８２０において区別されたデータであってもよい。データは、上述されるように、例えば、図７のシーケンス化コンポーネント７２０によりシーケンス化されてもよい。
【０１３６】
ステップ８４０において、データが通信される。通信されるデータは、ステップ８１０において受信されたデータ、ステップ８２０において区別されたデータ及び／又はステップ８３０においてシーケンス化されたデータなどであってもよい。データは、戦術データネットワークなどのネットワークを介し及び／又はアプリケーションプログラムなどから受信されるかもしれない。他の例として、データは、上述されるように、図５のデータ通信コンポーネント５８０に通信されてもよい。
【０１３７】
本方法８００の各ステップの１以上は、例えば、ハードウェア、ファームウェア及び／又はソフトウェアの命令セットとして各種形式により単独で又は組み合わせて実現可能である。特定の実施例は、汎用コンピュータ又は他の処理装置上での実行のため、メモリ、ハードディスク、ＤＶＤ又はＣＤなどのコンピュータ可読媒体にある命令セットとして提供されてもよい。
【０１３８】
本発明の特定の実施例は、列記された順序以外の異なる順序により各ステップを実行してもよく、及び／又はこれらのステップの１以上を省略してもよい。例えば、一部のステップは、本発明の特定の実施例では実行されないかもしれない。さらなる例として、特定のステップは上記リストされた以外の時間的順序により同時を含めて実行されてもよい。
【０１３９】
本発明の一実施例では、ＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）を提供するため、ネットワークを介しメッセージコンテンツを有するデータを通信する方法は、ネットワークを介しデータを受信するステップと、前記データを優先順位付けするステップと、少なくとも部分的に前記データの優先順位に基づき、前記データを通信するステップとを有する。前記データを優先順位付けするステップは、メッセージコンテンツに少なくとも部分的に基づき前記データを区別することを含む。
【０１４０】
本発明の一実施例では、データ通信システムは、データ優先順位付けコンポーネントとデータ通信コンポーネントとを有する。データ優先順位付けコンポーネントは、データを優先順位付けするよう構成される。データ優先順位付けコンポーネントは、区別コンポーネントを有する。区別コンポーネントは、少なくとも部分的にメッセージコンテンツに基づき前記データを区別するよう構成される。データ通信コンポーネントは、少なくとも部分的に前記データの優先順位に基づき、前記データを通信するよう構成される。
【０１４１】
本発明の一実施例では、コンピュータ可読媒体は、コンピュータ上で実行される命令セットを含む。命令セットは、データ優先順位付けルーチンとデータ通信ルーチンとを有する。データ優先順位付けルーチンは、データを優先順位付けするよう構成される。データ優先順位付けルーチンは、区別ルーチンを含む。区別ルーチンは、少なくとも部分的にメッセージコンテンツに基づきデータを区別するよう構成される。データ通信ルーチンは、少なくとも部分的に優先順位に基づき、データを通信するよう構成される。
本発明の特定の実施例は、ＱｏＳのためのコンテンツベース区別化とシーケンス化のためのシステム及び方法を提供する。特定の実施例は、ＱｏＳのためのコンテンツベース区別化とシーケンス化のための技術的効果を提供する。
【図１】
2009540745.tif 000003
【図２】
2009540745.tif 000004
【図３】
2009540745.tif 000005
【図４】
2009540745.tif 000006
【図５】
2009540745.tif 000007
【図６】
2009540745.tif 000008
【図７】
2009540745.tif 000009
【図８】
2009540745.tif 000010
【手続補正書】
【提出日】平成21年2月13日(2009.2.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）を提供するため、ネットワークを介しメッセージコンテンツを有するデータを通信する方法であって、
ネットワークを介しデータを受信するステップと、
メッセージコンテンツに少なくとも部分的に基づき前記データを区別することを含む、前記データに優先順位を割り当てることにより前記データを優先順位付けするステップと、
少なくとも部分的に前記データの優先順位に基づき、前記データを通信するステップと、
を有し、
前記受信するステップと優先順位付けするステップは、データ通信システムのネットワーク通信プロトコルスタックのトランスポートレイヤにおいて及び／又はの上位で実行される方法。
【請求項２】
前記データは、少なくとも部分的にプロトコル情報に基づき区別される、請求項１記載の方法。
【請求項３】
前記データは、少なくとも部分的にユーザにより規定されたルールに基づき区別される、請求項１記載の方法。
【請求項４】
前記優先順位付けするステップは、前記データをシーケンス化することを含む、請求項１記載の方法。
【請求項５】
前記データは、少なくとも部分的にユーザにより規定されたルールに基づきシーケンス化される、請求項４記載の方法。
【請求項６】
前記区別するステップは、アプリケーションプログラムに透過である、請求項１記載の方法。
【請求項７】
前記データは、ＱｏＳを提供するよう優先順位付けされる、請求項１記載の方法。
【請求項８】
データを通信するシステムであって、
少なくとも部分的にメッセージコンテンツに基づき前記データを区別するよう構成される区別コンポーネントを含む、前記データに優先順位を割り当てることにより前記データを優先順位付けするよう構成されるデータ優先順位付けコンポーネントと、
少なくとも部分的に前記データの優先順位に基づき、前記データを通信するよう構成されるデータ通信コンポーネントと、
を有し、
前記優先順位付けは、データ通信システムのネットワーク通信プロトコルスタックのトランスポートレイヤにおいて又はの上位で実行されるシステム。
【請求項９】
前記データ優先順位付けコンポーネントは、前記データをシーケンス化するよう構成されるシーケンス化コンポーネントを有する、請求項８記載のシステム。
【請求項１０】
前記データ優先順位付けコンポーネントは、少なくとも部分的に前記データの優先順位に基づき、前記データを整理するよう構成されるデータ整理コンポーネントを有する、請求項８記載のシステム。
【国際調査報告】
2009540745.tif 000011