(57)【要約】  ここに記載の技術は、１つ以上のQoSアルゴリズムを選択的に適用する方法を提供する。この方法は、第１のネットワークと第２のネットワークとのうち１つ以上で宛先ノードに送信されるデータを受信し、データの対象の宛先に基づいてデータにQoSアルゴリズムのうち少なくとも１つを適用することを有する。ここに記載の技術はまた、コンピュータの一式の命令を有するコンピュータ可読記憶媒体を提供する。一式の命令は、データ宛先ルーチンと適用ルーチンとを有する。データ宛先ルーチンは、ルーティングノードで受信したデータの対象の宛先を決定するように構成される。適用ルーチンは、データの対象の宛先に基づいて、データの少なくとも一部に少なくとも１つのQoSアルゴリズムを適用するように構成される。
2009535990.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上のサービス品質（“QoS”）アルゴリズムを選択的に適用する方法であって、
第１のネットワークと第２のネットワークとのうち少なくとも１つで所定の宛先のノードに送信されるデータを受信し、
前記宛先に基づいて前記データに前記QoSアルゴリズムのうち少なくとも１つを適用することを有する方法。
【請求項２】
前記適用するステップは、前記宛先が前記第２のネットワークにある場合にのみ、前記少なくとも１つのQoSアルゴリズムを適用することを有する、請求項１に記載の方法。
【請求項３】
前記宛先が前記第１のネットワークにある場合、前記QoSアルゴリズムを前記データに適用することなく、前記データを前記第１のネットワークの前記宛先にルーティングすることを更に有する、請求項２に記載の方法。
【請求項４】
前記第１のネットワークは高速ネットワークであり、前記第２のネットワークは低速ネットワークである、請求項２に記載の方法。
【請求項５】
前記高速ネットワークは、前記低速ネットワークより少なくとも100倍の速さのレートでデータを通信することができるネットワークである、請求項４に記載の方法。
【請求項６】
プロキシによりネットワークにサービス品質（“QoS”）アルゴリズムを適用する方法であって、
ルーティングノードで前記データを受信し、
高速ネットワークでの前記データの第１のデータ部分の対象の宛先と、低速ネットワークでの前記データの第２のデータ部分の対象の宛先とを決定し、
前記第１のデータ部分に前記QoSアルゴリズムを適用することなく、前記高速ネットワークで前記第１のデータ部分を前記第１のデータ部分の前記対象の宛先にルーティングし、
前記第２のデータ部分に前記QoSアルゴリズムを適用し、
前記低速ネットワークで前記第２のデータ部分を前記第２のデータ部分の前記対象の宛先にルーティングすることを有する方法。
【請求項７】
第２の高速ネットワークから前記第１及び第２のデータ部分を送信することを更に有する、請求項６に記載の方法。
【請求項８】
前記適用するステップは、前記第２のデータ部分の１つ以上のデータパケットが前記ルーティングするステップの間に前記低速ネットワークの前記対象の宛先に送信される優先順序を変更する、請求項６に記載の方法。
【請求項９】
前記第１及び第２の高速ネットワークのそれぞれは、前記低速ネットワークより少なくとも100倍の速さのレートでデータを送信することができる、請求項６に記載の方法。
【請求項１０】
前記接続するステップは、無線リンクで前記ルーティングノードを前記低速ネットワークに接続することを有する、請求項６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
ここに開示された技術は、概して通信ネットワークに関する。特に、ここに開示された技術は、サービス品質（Quality  of  Service）のプロトコルフィルタリングシステム及び方法に関する。
【背景技術】
【０００２】
通信ネットワークは、様々な環境で利用されている。典型的には、通信ネットワークは、１つ以上のリンクにより接続された２つ以上のノードを含む。一般的に、通信ネットワークは、リンク上の２つ以上の参加ノードと通信ネットワークの中間ノードとの間の通信をサポートするために使用される。ネットワークに多くの種類のノードが存在してもよい。例えば、ネットワークは、クライアント、サーバ、ワークステーション、スイッチ、及び／又はルータのようなノードを含んでもよい。例えば、リンクは、電話回線上のモデム接続、配線、Ethernet（登録商標）リンク、非同期転送モード（“ATM”：Asynchronous  Transfer  Mode）回線、衛星リンク、及び／又は光ファイバケーブルでもよい。
【０００３】
実際に、通信ネットワークは、１つ以上の小さい通信ネットワークで構成されてもよい。例えば、インターネットは、相互接続されたコンピュータネットワークのネットワークとして、しばしば記載されている。各ネットワークは、異なるアーキテクチャ及び／又はトポロジを利用してもよい。例えば、１つのネットワークはスタートポロジーの交換Ethernet（登録商標）ネットワークでもよく、他のネットワークは、FDDI（Fiber-Distributed  Data  Interface）リングでもよい。
【０００４】
通信ネットワークは広範囲のデータを伝達してもよい。例えば、ネットワークは、インタラクティブなリアルタイム会話のデータと共にバルクファイル転送を伝達してもよい。ネットワークで送信されるデータは、しばしばパケット、セル又はフレームで送信される。代替として、データはストリームとして送信されてもよい。或る場合には、データのストリーム又はフローは、実際のパケットのシーケンスでもよい。インターネットのようなネットワークは、一連のノードの間で汎用のデータパスを提供し、異なる要件の多くのデータを伝達する。
【０００５】
ネットワークでの通信は、典型的には複数のレベルの通信プロトコルを含む。プロトコルスタック（ネットワーキングスタック又はプロトコルスイートとも呼ばれる）は、通信に使用されるプロトコルの集合を示す。各プロトコルは、特定の種類の機能又は特定の形式の通信を専門としてもよい。例えば、１つのプロトコルは、導線により接続された装置と通信するために必要な電気信号に関係してもよい。例えば、他のプロトコルは、多くの中間ノードにより分離された２つのノードの間での順序のある信頼できる送信を扱ってもよい。
【０００６】
典型的には、プロトコルスタックのプロトコルは階層に存在する。しばしば、プロトコルはレイヤに分類される。プロトコルレイヤの１つの参照モデルは、“OSI”（Open  Systems  Interconnection）モデルである。OSI参照モデルは、７つのレイヤ（物理レイヤ、データリンクレイヤ、ネットワークレイヤ、トランスポートレイヤ、セッションレイヤ、プレゼンテーションレイヤ、及びアプリケーションレイヤ）を含む。物理レイヤは、“最も低い”レイヤであり、アプリケーションレイヤは、“最も高い”レイヤである。２つの周知のトランスポートレイヤプロトコルは、“TCP”（Transmission  Control  Protocol）及び“UDP”（User  Datagram  Protocol）である。周知のネットワークレイヤプロトコルは、“IP”（Internet  Protocol）である。
【０００７】
送信ノードでは、送信されるデータは、最も高いものから最も低いものに、プロトコルスタックのレイヤを下に伝えられる。逆に、受信ノードでは、データは、最も低いものから最も高いものに、レイヤを上に伝えられる。各レイヤでは、データは、そのレイヤのプロトコル処理通信により扱われ得る。例えば、トランスポートレイヤプロトコルは、宛先ノードに到達したときにパケットの並び替えを可能にするヘッダをデータに追加してもよい。アプリケーションに応じて、或るレイヤは存在しても使用されなくてもよく、データは単に通過してもよい。
【０００８】
１つの種類の通信ネットワークは、戦術データネットワーク（tactical  data  network）である。戦術データネットワークはまた、戦術通信ネットワークとも呼ばれることがある。戦術データネットワークは、軍隊（例えば、陸軍、海軍及び／又は空軍）のような組織内の部隊により利用され得る。例えば、戦術データネットワーク内のノードは、個々の軍人、航空機、指揮部隊、衛星、及び／又は無線機を含んでもよい。戦術データネットワークは、音声、位置測定データ、センサデータ、及び／又はリアルタイムビデオのようなデータを通信するために使用され得る。
どのように戦術データネットワークが使用され得るかの例は以下の通りである。後方支援部隊は、戦場の戦闘部隊に供給品を提供するためにルート内に存在し得る。後方支援部隊及び戦闘部隊は、衛星無線リンクで位置測定データを指揮所に提供していてもよい。無人機（“UAV”：unmanned  aerial  vehicle）は、部隊がいる道路を巡回しており、同様に衛星無線リンクでリアルタイムビデオデータを指揮所に送信していてもよい。指揮所では、コントローラが道路の特定の部分のビデオを提供するようにUAVに作業させている間に、分析者はビデオデータを検査していてもよい。分析者は、部隊が近づいている簡易爆発物（“IED”：improvised  explosive  device）を見つけ、直接無線リンクで部隊に止まるように命令を送信し、IEDの存在を部隊に警告する。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
戦術データネットワーク内に存在し得る様々なネットワークは、多くの異なるアーキテクチャ及び特性を有し得る。例えば、指揮部隊のネットワークは、衛星への無線リンクと共に、ギガビットEthernet（登録商標）ローカルエリアネットワーク（“LAN”）を含んでもよく、作業部隊は、かなり低いスループット及び高い待ち時間で動作してもよい。作業部隊は、衛星及び直接パス無線周波数（“RF”：radio  frequency）を介して通信してもよい。データは、データの性質及び／又はネットワークの特定の物理特性に応じて、ポイント・ツー・ポイント、マルチキャスト、又はブロードキャストで送信されてもよい。例えば、ネットワークは、データを中継するために設定された無線機を含んでもよい。更に、ネットワークは、長距離通信を可能にする高周波数（“HF”：high  frequency）ネットワークを含んでもよい。例えば、マイクロ波ネットワークも使用されてもよい。他にも理由があるが、リンク及びノードの種類の多様性のため、戦術ネットワークは、しばしば過度に複雑なネットワークアドレス方式及びルーティングテーブルを有する。更に、無線型ネットワークのような或るネットワークは、バーストを使用して動作してもよい。すなわち、継続的にデータを送信するのではなく、データの定期的なバーストを送信する。無線機は全ての参加者により共有されなければならない特定のチャネルでブロードキャストしており、一度に唯一の無線機が送信してもよいため、このことは有用である。
【００１０】
戦術データネットワークは、一般的に帯域に制約される。すなわち、何らかの所定の時点で、利用可能な帯域より一般的に多くのデータが通信される。例えば、これらの制約は、供給を超える帯域の需要のためであることがあり、及び／又はユーザの需要を満たすのに十分な帯域を供給しない利用可能な通信技術のためであることがある。例えば、或るノードの間で、帯域はキロビット／秒の単位になり得る。帯域に制約のある戦術データネットワークでは、あまり重要でないデータがネットワークを詰まらせ、より重要なデータが時間通りに通過することを妨げることがあり、或いは受信ノードに全く到達しないこともある。更に、ネットワークの一部は、信頼のないリンクを補うために内部バッファを含み得る。これは更なる遅延を生じることがある。更に、バッファが一杯になると、データが破棄されることがある。
【００１１】
多くの場合に、ネットワークに利用可能な帯域は増加不可能である。例えば、衛星通信リンクで利用可能な帯域は固定され、他の衛星を配置せずには有効に増加できない。これらの場合、帯域は需要に対処するように単に拡張されるのではなく、管理されなければならない。大規模システムでは、ネットワーク帯域は重要なリソースである。アプリケーションができるだけ効率的に帯域を利用することが望ましい。更に、アプリケーションが“パイプを詰まらせる（clogging  the  pipe）”ことを回避することが望ましい。すなわち、帯域が制限されているときに、データでリンクを圧倒することを回避することが望ましい。帯域割り当てが変化すると、好ましくは、アプリケーションは反応すべきである。帯域は、例えば、サービス品質、電波妨害、信号障害、優先度再割り当て、及び視野方向のため、動的に変化し得る。ネットワークはかなり不安定になる可能性があり、利用可能な帯域が急激に予告なしに変化する可能性がある。
【００１２】
帯域の制約に加えて、戦術データネットワークは、高い待ち時間を受けることがある。例えば、衛星リンクで通信に関与するネットワークは、0.5秒以上のオーダーの待ち時間を生じ得る。或る通信では、これは問題にならない可能性があるが、他の場合（リアルタイム、インタラクティブ通信（例えば、音声通信）等）では、できるだけ待ち時間を最小化することがかなり望ましい。
【００１３】
多くの戦術データネットワークに共通する他の特性は、データ損失である。データは、様々な理由で失われ得る。例えば、送信するデータを有するノードが損傷又は破壊されることがある。他の例として、宛先ノードは、一時的にネットワークから見えなくなることがある。これは、例えば、ノードが範囲外に移動したため、通信リンクが妨害されたため、及び／又はノードが電波妨害されたために生じることがある。宛先ノードが受信することができず、宛先ノードが利用可能になるまで中間ノードがデータをバッファするのに十分な容量を欠いているため、データが失われることがある。更に、中間ノードは、データを全くバッファしないことがあり、その代わりに、データが実際に宛先に到達したか否かを決定することを送信ノードに任せる。
【００１４】
しばしば、戦術データネットワークのアプリケーションは、ネットワークの特定の特性を認識及び／又は考慮しない。例えば、アプリケーションは、必要なだけ利用可能な大きい帯域を有することを単に仮定し得る。他の例として、アプリケーションは、データがネットワークで失われないことを仮定し得る。基礎となる通信ネットワークの特定の特性を考慮しないアプリケーションは、実際に問題を悪化させるように振る舞うことがある。例えば、アプリケーションは、大きい束であまり頻繁でなく有効に送信され得るかのように、データのストリームを継続して送信し得る。例えば、連続するストリームは、他のノードが通信することを有効に不足させるブロードキャスト無線ネットワークでは、かなり大きいオーバーヘッドを生じる可能性があり、その一方で、あまり頻繁でないバーストは、共有帯域が有効に使用されることを可能にする。
【００１５】
特定のプロトコルは、戦術データネットワークではうまく動作しない。例えば、TCPのようなプロトコルは、このようなネットワークが直面し得る高い損失率及び待ち時間のため、無線型戦術ネットワークでうまく機能しない可能性がある。TCPは、データを送信するために、いくつかの種類のハンドシェーク及び送達確認が生じることを必要とする。高い待ち時間及び損失は、TCPがタイムアウトになり、存在しても多くの重要なデータをこのようなネットワークで送信することができないことを生じ得る。
【００１６】
戦術データネットワークで通信される情報は、ネットワークの他のデータに対してしばしば様々なレベルの優先度を有する。例えば、飛行機の危険警告受信機は、数マイル離れた地上の部隊の位置測定情報より高い優先度を有し得る。他の例として、交戦に関する本部からの命令は、友好ラインの背後での後方支援の通信より高い優先度を有し得る。優先レベルは、送信機及び／又は受信機の特定の状況に依存し得る。例えば、位置測定データは、部隊が標準的な巡回ルートに単に従っているときに比べて、部隊が積極的に戦闘に関与しているときにかなり高い優先度になり得る。同様に、UAVからのリアルタイムデータは、単にルート内にいるときに比べて、目標地域上にいるときに高い優先度を有し得る。
【００１７】
ネットワークでデータを配信する複数の手法が存在する。多くの通信ネットワークにより使用される１つの手法は、“ベストエフォート型”手法である。すなわち、通信されるデータは、他の需要を前提として、容量、待ち時間、信頼性、並び替え及びエラーに関してネットワークが可能な限り処理される。従って、ネットワークは、何らかの所定のデータが時間通りに、又はとにかく宛先に到達するという保証を提供しない。更に、送信された順序で、又はデータの１つ以上のビットを変更する送信エラーなしにデータが到達するという保証も行われない。
【００１８】
他の手法は、サービス品質（QoS：Quality  of  Service）である。QoSは、伝達されるデータに関して様々な種類の保証を提供するネットワークの１つ以上の機能を示す。例えば、QoSをサポートするネットワークは、データストリームに対して特定の量の帯域を保証し得る。他の例として、ネットワークは、２つの特定のノードの間のパケットが何らかの最大の待ち時間を有することを保証し得る。このような保証は、２つのノードがネットワークで会話を有する２人の人間である音声通信の場合に有用になり得る。例えば、このような場合のデータ配信の遅延は、通信の不愉快な途切れ及び／又は全くの静寂を生じ得る。
【００１９】
QoSは、選択されたネットワークトラヒックにより良いサービスを提供するネットワークの機能としてみなされ得る。QoSの主な目標は、専用の帯域と、制御されたジッタ及び待ち時間（何らかのリアルタイムのインタラクティブなトラヒックにより要求される）と、改善した損失特性とを含む優先度を提供することである。他の重要な目標は、１つのフローの優先度を提供することで他のフローが失敗しないことを確保することである。すなわち、次のフローについて行われる保証は、既存のフローに行われた保証を壊してはならない。
【００２０】
QoSへの現在の手法は、しばしばネットワークの各ノードがQoSをサポートすること、或いは最低限でも特定の通信に関与するネットワークの各ノードがQoSをサポートすることを必要とする。例えば、現在のシステムでは、２つのノードの間の待ち時間の保証を提供するために、これらの２つのノードの間でトラヒックを伝達する各ノードは、特典（honor）を認識して合意し、保証を履行することができなければならない。
【００２１】
QoS又はQoSパラメータ／機構／アルゴリズムを提供する複数の手法が存在する。１つの手法は、Integrated  Services又は“IntServ”である。IntServは、ネットワークの各ノードがサービスをサポートし、接続が設定されるときにこれらのサービスが確保されるQoSシステムである。IntServは、各ノードで維持されなければならない大量の状態情報と、このような接続を設定することに関連するオーバーヘッドとのため、あまりスケーラビリティがない。
【００２２】
QoSを提供する他の手法は、Differentiated  Services又は“DiffServ”である。DiffServは、インターネットのようなネットワークのベストエフォート型サービスを拡張したサービスモデルの一種である。DiffServは、ユーザ、サービス要件及び他の基準により、トラヒックを区別する。次に、DiffServは、優先キュー若しくは帯域割り当てを介して、又は特定のトラヒックフローの専用ルートを選択することにより、ネットワークノードが異なるレベルのサービスを提供できるようにパケットにマークを付ける。典型的には、ノードはサービスのクラス毎に様々なキューを有する。ノードは、クラスのカテゴリに基づいて、これらのキューから送信する次のパケットを選択する。
【００２３】
既存のQoSの対策は、しばしばネットワーク特有であり、各ネットワーク形式又はアーキテクチャは、異なるQoS構成を必要とし得る。既存のQoSの対策が利用する機構のため、現在のQoSシステムと同じように見えるメッセージは、メッセージ内容に基づいて実際に異なる優先度を有し得る。しかし、データ消費者は、低優先度のデータで溢れることなく、高優先度のデータにアクセスすることを必要とし得る。既存のQoSシステムは、トランスポートレイヤでのメッセージ内容に基づくQoSを提供することができない。
【００２４】
前述のように、既存のQoSの対策は、QoSをサポートするために特定の通信に関与するノードを少なくとも必要とする。しかし、ネットワークの“エッジ”にあるノードは、総合的な保証を行うことができなくても、QoSへの何らかの改善を提供するように適合され得る。ノードは、通信の参加ノード（すなわち、送信及び／又は受信ノード）である場合、及び／又はネットワークの関所（chokepoint）に位置する場合、ネットワークのエッジにあると考えられる。関所は、他の部分に対して全てのトラヒックが通過しなければならないネットワークの部分である。LANから衛星リンクへのルータ又はゲートウェイは関所である。この理由は、LANからLAN上にない何らかのノードへの全てのトラヒックは衛星リンクへのゲートウェイを通過しなければならないからである。
【００２５】
従って、戦術データネットワークでQoSを提供するシステム及び方法の必要性が存在する。戦術データネットワークのエッジでQoSを提供するシステム及び方法の必要性が存在する。更に、戦術データネットワークで適応可能な構成可能なQoSシステム及び方法の必要性が存在する。
【００２６】
更に、或るネットワーク環境（例えば、軍事戦術ネットワークを含む）では、データは、広帯域のネットワークから高レートでストリーミングされ、他の大きい帯域及び小さい帯域のネットワークへルーティングされ得る。例えば、大量のデータは、毎秒500キロビット（“kbps）以上のスループットでデータを送信することができるネットワーク（例えば、“EPLRS”（Enhanced  Position  Location  Reporting  System）ネットワーク又はEthernet（登録商標）ネットワーク）から高レートで送信され得る。このデータは、高帯域のネットワークと同じレートの高さでデータを送信することができないネットワークにルーティングされ得る。例えば、このようなネットワークは、無線ネットワーク、戦術衛星ネットワーク、又は高周波数ネットワークを含み得る。更に、地理的な障害（すなわち、山岳地帯等）のような外部要因は、低帯域のネットワークでデータのフローを妨げる。このような外部要因は、戦場の軍事戦術ネットワークで一般的になり得る。低帯域のネットワークにルーティングされる高レートの大量のデータは、ネットワークを溢れさせ得る。例えば、小さい又は低い帯域のネットワークでの宛先ノードは、ノードに送信された大量のデータを処理することができない可能性がある。
【００２７】
このようなシナリオでは、高い優先度又は重要度のデータは、低い優先度又は重要度のデータにより溢れる可能性がある。例えば、大量のオーディオ及びビデオデータは、戦場の兵士に送信される高優先度の位置データを溢れさせ得る。オーディオ及びビデオデータは、位置データが時間通りに受信され、領域内のIED又は敵の兵士ついて戦場の兵士に警告することを妨げ得る。
【課題を解決するための手段】
【００２８】
この問題への１つの対策は、低い又は小さい帯域のネットワークの宛先ノードを対象としたデータ又は宛先となるデータにQoSパラメータ／アルゴリズム／機構を選択的に適用することである。このようなネットワーク宛のデータのみにQoSアルゴリズムを適用することにより、低帯域のネットワークのノードで高優先度データのタイムリーな配信が確保され得る。従って、低帯域のネットワークに向かうデータに選択的にQoSを提供するシステム及び方法の必要性が存在する。このような必要性は、ルーティングノードにおいて、低帯域のネットワークのノード宛のデータにQoSパラメータ／アルゴリズム／機構を選択的に適用することにより満たされ得る。
【００２９】
ここに記載の技術は、１つ以上のQoSアルゴリズムを選択的に適用する方法を提供する。この方法は、第１のネットワークと第２のネットワークとのうち少なくとも１つで所定の宛先のノードに送信されるデータを受信し、宛先に基づいてデータにQoSアルゴリズムのうち少なくとも１つを適用することを有する。
【００３０】
ここに記載の技術はまた、コンピュータの一式の命令を有するコンピュータ可読記憶媒体を提供する。一式の命令は、データ宛先ルーチンと適用ルーチンとを有する。データ宛先ルーチンは、ルーティングノードで受信したデータの対象の宛先を決定するように構成される。適用ルーチンは、データの少なくとも一部に少なくとも１つのQoSアルゴリズムを適用するように構成され、アルゴリズムは宛先に基づく。
【００３１】
ここに記載の技術はまた、プロキシによりネットワークにQoSアルゴリズムを適用する方法を提供する。この方法は、ルーティングノードでデータを受信し、高速ネットワークでの第１のデータ部分の対象の宛先と、低速ネットワークでの第２のデータ部分の対象の宛先とを決定し、第１のデータ部分にQoSアルゴリズムを適用することなく、高速ネットワークで第１のデータ部分をその対象の宛先にルーティングし、第２のデータ部分にQoSアルゴリズムを適用し、低速ネットワークで第２のデータ部分を第２のデータ部分の対象の宛先にルーティングすることを有する。
【発明を実施するための最良の形態】
【００３２】
前述の要約及びここに記載の技術の特定の実施例の以下の詳細な説明は、添付図面と共に読まれたときに良く理解される。ここに記載の技術を説明する目的で、特定の実施例が図面に示されている。しかし、ここに記載の技術は、添付図面に示す構成及び手段に限定されない。
【００３３】
図１は、ここに記載の技術の実施例で動作する戦術通信ネットワーク環境100を示している。ネットワーク環境100は、複数の通信ノード110と、１つ以上のネットワーク120と、ノード及びネットワークを接続する１つ以上のリンク130と、ネットワーク環境100の構成要素での通信を容易にする１つ以上の通信システム150とを含む。以下の説明は、１つより多くのネットワーク120と１つより多くのリンク130とを含むネットワーク環境100を仮定するが、他の環境も可能であり想定されることがわかる。
【００３４】
例えば、通信ノード110は、無線機、送信機、衛星、受信機、ワークステーション、サーバ、及び／又は他の計算若しくは処理装置でもよく、及び／又はこれらを含んでもよい。
【００３５】
例えば、ネットワーク120は、ノード110の間でデータを送信するハードウェア及び／又はソフトウェアでもよい。例えば、ネットワーク120は、１つ以上のノード110を含んでもよい。
【００３６】
リンク130は、ノード110及び／又はネットワーク120の間での送信を可能にする有線及び／又は無線接続でもよい。
【００３７】
例えば、通信システム150は、ノード110とネットワーク120とリンク130との間でデータ送信を容易にするために使用されるソフトウェア、ファームウェア及び／又はハードウェアを含んでもよい。図１に示すように、通信システム150は、ノード110、ネットワーク120及び／又はリンク130に関して実装されてもよい。特定の実施例では、各ノード110が通信システム150を含む。特定の実施例では、１つ以上のノード110が通信システム150を含む。すなわち、特定の実施例では、１つ以上のノード110が通信システム150を含まなくてもよい。
【００３８】
通信システム150は、戦術通信ネットワーク（ネットワーク環境100等）での通信を確保するために役立つデータの動的な管理を提供する。図２に示すように、特定の実施例では、システム150（又はコンピュータシステム150で動作する一式の命令）は、OSIの7レイヤのプロトコルモデルにおけるトランスポートレイヤ240の一部として及び／又は上位で動作する（以下に詳細に説明する）。例えば、システム150は、戦術ネットワークでトランスポートレイヤに渡される高優先度のデータを優先してもよい。システム150は、単一のネットワーク（LAN又は広域ネットワーク（“WAN”）等）での通信又は複数のネットワークを通じた通信を容易にするために使用されてもよい。複数ネットワークシステムの例が図３に示されている。例えば、システム150は、ネットワークに更なる帯域を追加するのではなく、利用可能な帯域を管理するために使用されてもよい。
【００３９】
特定の実施例では、システム150は、ソフトウェアシステムであるが、様々な実施例で、システム150は、ハードウェア構成要素とソフトウェア構成要素との双方を含んでもよい。例えば、システム150は、ネットワークハードウェアと独立してもよい。すなわち、システム150は、様々なハードウェア及びソフトウェアプラットフォームで機能するように適合されてもよい。特定の実施例では、システム150は、ネットワークの内部のノードではなく、ネットワークのエッジで動作する。しかし、システム150は、ネットワークの“関所（choke  point）”のようなネットワークの内部で同様に動作してもよい。
【００４０】
システム150は、利用可能な帯域の最適化、情報優先度の設定、及びネットワークでのデータリンク（例えば、QoSパラメータ／機構／アルゴリズム）の管理のようなスループット管理機能を実行するために、ルール及びモード又はプロファイルを使用してもよい。帯域を“最適化”することは、ここに記載の技術が１つ以上のネットワークでデータを通信するための帯域使用の効率を増加させるために使用され得ることを意味する。例えば、帯域使用の最適化は、機能的に冗長なメッセージを除去すること、メッセージストリーム管理又は順序付け、及びメッセージ圧縮を含んでもよい。例えば、情報優先度の設定は、IP型技術より細かい精度でメッセージ形式を区別すること、及び選択されたルール型順序付けアルゴリズムを介してデータストリームにメッセージを順序付けることを含んでもよい。例えば、データリンク管理は、ルール、モード及び／又はデータ転送における変化に影響を及ぼすネットワーク測定のルール型分析を含んでもよい。モード又はプロファイルは、特定のネットワーク健康状態又は状況の動作上の必要性に関する一式のルールを含んでもよい。システム150は、進行中に新しいモードを規定して切り替えることを含み、モードの動的な“進行中（on-the-fly）”の再構成を提供する。
【００４１】
通信システム150は、例えば不安定な帯域に制約のあるネットワークで、変化する優先度及びサービスのグレードに適応するように構成されてもよい。システム150は、ネットワークの応答能力を増加させ、通信待ち時間を低減することに役立つように、改善したデータフローの情報を管理するように構成されてもよい。更に、システム150は、通信の可用性と残存力と信頼性とを改善するようにアップグレード可能でスケーラブルである柔軟なアーキテクチャを介して、相互運用性を提供してもよい。例えば、システム150は、所定の予測可能なシステムリソース及び帯域を使用しつつ、動的に変化する環境に自律的に適応可能になり得るデータ通信アーキテクチャをサポートする。
【００４２】
特定の実施例では、システム150は、ネットワークを使用するアプリケーションに対してトランスペアレントのままで、帯域に制約のある戦術通信ネットワークにスループット管理を提供する。システム150は、ネットワークへの低減した複雑性で、複数のユーザ及び環境を通じたスループット管理を提供する。前述のように、特定の実施例では、システム150は、OSIの7レイヤのモデルのレイヤ4（トランスポートレイヤ）で及び／又はその上位でホストノードを動作し、専用のネットワークハードウェアを必要としない。システム150は、レイヤ4インタフェースに対してトランスペアレントに動作してもよい。すなわち、アプリケーションは、トランスポートレイヤについて標準的なインタフェースを利用し、システム150の動作を認識しなくてもよい。例えば、アプリケーションがソケットをオープンすると、システム150は、プロトコルスタックのこのポイントでデータをフィルタリングしてもよい。システム150は、アプリケーションがシステム150に特有のインタフェースではなく、例えばネットワーク上の通信装置のオペレーティングシステムにより提供されるTCP/IPソケットインタフェースを使用することを可能にすることにより、トランスペアレント性を実現する。例えば、システム150のルールは、“XML”（extensible  markup  language）で記述されてもよく、及び／又はカスタムの“DLL”（dynamic  link  library）を介して提供されてもよい。
【００４３】
特定の実施例では、システム150は、ネットワークのエッジでQoSを提供する。例えば、システムのQoS機能は、ネットワークのエッジでコンテンツ型のルール型のデータ優先付けを提供する。例えば、優先付けは、区別及び／又は順序付けを含んでもよい。例えば、システム150は、ユーザ構成可能な区別ルールに基づいて、メッセージをキューに区別してもよい。メッセージは、ユーザ構成の順序付けルール（例えば、スターベーション（starvation）、ラウンドロビン、相対頻度等）により記述される順序で、データストリームに順序付けされてもよい。例えば、エッジでQoSを使用して、通常のQoSの手法で区別不可能なデータメッセージは、メッセージ内容に基づいて区別されてもよい。例えば、ルールは、XMLで実装されてもよい。特定の実施例では、XMLを超える機能に適応するため、及び／又は極めて低い待ち時間の要件をサポートするため、例えば、システム150は、動的リンクライブラリがカスタムコードを備えることを可能にする。
【００４４】
ネットワークのインバウンド及び／又はアウトバウンドデータは、システム150を介してカスタマイズされてもよい。例えば、優先付けは、大量の低優先度のデータからクライアントアプリケーションを保護する。システム150は、アプリケーションが特定の動作シナリオ又は制約をサポートするデータを受信することを確保することに役立つ。
【００４５】
特定の実施例では、帯域に制約のある戦術ネットワークへのインタフェースとしてのルータを含むLANにホストが接続されると、システムは、プロキシによるQoSとして知られる構成で動作してもよい。この構成では、ローカルLANに向かうパケットは、システムをバイパスし、直ちにLANに進む。システムは、帯域に制約のある戦術ネットワークに向かうパケットにネットワークのエッジでQoSを適用する。
【００４６】
特定の実施例では、システム150は、命令プロファイル交換（commanded  profile  switching）を介して、複数の動作シナリオ及び／又はネットワーク環境について動的なサポートを提供する。プロファイルは、ユーザ又はシステムが指名されたプロファイルに変更することを可能にする名前又は他の識別子を含んでもよい。例えば、プロファイルはまた、機能的冗長ルール識別子、区別ルール識別子、アーカイバル（archival）インタフェース識別子、順序付けルール識別子、事前送信インタフェース識別子、事後送信インタフェース識別子、トランスポート識別子、及び／又は他の識別子のような１つ以上の識別子を含んでもよい。例えば、機能的冗長ルール識別子は、データの陳腐化又は実質的に類似のデータのような機能的な冗長性を検出するルールを指定する。例えば、区別ルール識別子は、メッセージを処理するキューに区別するルールを指定する。例えば、アーカイバルインタフェース識別子は、アーカイバルシステムへのインタフェースを指定する。順序付けルール識別子は、キューのフロントのサンプルを制御する順序付けアルゴリズムを特定し、従って、データストリームでのデータの順序付けを特定する。例えば、事前送信インタフェース識別子は、暗号化及び圧縮のような特別の処理を提供する事前送信処理のインタフェースを指定する。例えば、事後送信インタフェース識別子は、復号化及び解凍のような処理を提供する事後送信処理のインタフェースを特定する。トランスポート識別子は、選択されたトランスポートのネットワークインタフェースを指定する。
【００４７】
例えば、プロファイルはまた、キューサイズ情報のような他の情報を含んでもよい。例えば、キューサイズ情報は、キューの数と、各キューに専用の二次記憶装置及びメモリの量とを特定する。
【００４８】
特定の実施例では、システム150は、帯域を最適化するためにルール型手法を提供する。この場合も同様に、帯域の“最適化”は、ここに記載の技術が１つ以上のネットワークでデータを通信するための帯域使用の効率を増加させるために使用され得ることを意味する。例えば、システム150は、メッセージをメッセージキューに区別するためにキュー選択ルールを使用してもよく、これにより、メッセージがデータストリームの優先度と適切な相対頻度とを割り当てられてもよい。システム150は、機能的に冗長なメッセージを管理するために、機能的冗長ルールを使用してもよい。例えば、ネットワークでまだ送信されていない前のメッセージと（ルールにより規定されるように）十分に異ならない場合、メッセージは機能的に冗長である。すなわち、送信されるように既にスケジューリングされた古いメッセージと十分に異ならないが、まだ送信されていない新しいメッセージが提供された場合、新しいメッセージは破棄されてもよい。この理由は、古いメッセージが機能的に同等の情報を伝達しており、キューの更に前にあるからである。更に、機能的冗長の多くは、実際に重複したメッセージと、古いメッセージが送信される前に到達する新しいメッセージとを含んでいる。例えば、ノードは、基礎のネットワークの特性のため、耐障害性の理由で２つの異なるパスにより送信されたメッセージのように、特定のメッセージの同一のコピーを受信してもよい。他の例として、新しいメッセージは、まだ送信されていない古いメッセージに取り代わるデータを含んでもよい。この状態で、システム150は、古いメッセージを破棄し、新しいメッセージのみを送信してもよい。システム150はまた、データストリームの優先度型メッセージシーケンスを決定する優先度順序付けルールを含んでもよい。更に、システム150は、圧縮及び／又は暗号化のように、事前送信及び事後送信専用の処理を提供する送信処理ルールを含んでもよい。
【００４９】
特定の実施例では、システム150は、データインテグリティ及び信頼性を保護することに役立つため、耐障害性機能を提供する。例えば、システム150は、メッセージをキューに区別するために、ユーザ定義のキュー選択ルールを使用してもよい。例えば、キューは、ユーザ定義の構成に従ってサイズ決定される。例えば、この構成は、キューが消費し得る最大量のメモリを指定する。更に、この構成は、ユーザがキューのオーバーフローに使用され得る二次記憶装置の位置及び量を指定することを可能にし得る。キューのメモリが一杯になった後に、メッセージは、二次記憶装置のキューに入れられてもよい。二次記憶装置も一杯になると、システム150は、キューの最も古いメッセージを除去し、エラーメッセージをログ記録し、最新のメッセージをキューに入れてもよい。動作モードでアーカイブが可能である場合、キューから外れたメッセージは、メッセージがネットワークで送信されていないというインジケータと共にアーカイブされてもよい。
【００５０】
例えば、システム150のキューのメモリ及び二次記憶装置は、特定のアプリケーションについてリンク毎に構成されてもよい。ネットワークの可用性の期間の間の長い時間は、ネットワーク故障をサポートする多くのメモリ及び二次記憶装置に相当し得る。例えば、キューが適切にサイズ決定されることを確保するのに役立ち、故障の間の時間が定常状態を実現するのに役立ち、最終的なキューのオーバーフローを回避することに役立つのに十分であることを確保するのに役立つように、サイズ決定を特定することに役立つため、システム150は、ネットワークモデリング及びシミュレーションアプリケーションと統合されてもよい。
【００５１】
更に、特定の実施例では、システム150は、インバウンド（“シェーピング処理（shaping）”）データ及びアウトバウンド（“ポリシー処理（policing）”）データを測定（調節）する機能を提供する。ポリシー処理及びシェーピング処理機能は、ネットワークのタイミングの不一致に対処することに役立つ。シェーピング処理は、ネットワークバッファが低優先度のデータの後のキューに入れられた高優先度のデータで溢れることを回避するのに役立つ。ポリシー処理は、データ消費者が低優先度のデータで溢れることを回避するのに役立つ。ポリシー処理及びシェーピング処理は、２つのパラメータ（有効リンク速度及びリンク比率）により支配される。例えば、システム150は、リンク比率で乗算された有効リンク速度より大きくないデータストリームを形成してもよい。パラメータは、ネットワークが変化すると共に動的に変更されてもよい。システムはまた、検出されたリンク速度へのアクセスを提供し、データ測定でアプリケーションレベルの判定をサポートしてもよい。システム150により提供される情報は、何のリンク速度が所定のネットワークシナリオに適切であるかを判定することに役立つ他のネットワーク動作情報と結合されてもよい。
【００５２】
図４は、ここに記載の技術の実施例に従ってネットワークに送信されたデータにプロキシによるQoSアルゴリズムを選択的に適用するシステム400を示している。システム400は、コンピュータ装置410を含む。例えば、コンピュータ装置410は、前述の図１の通信システム150に含まれてもよい。コンピュータ装置410は、データの電子処理を実行することができる何らかのシステム、装置、機器、又はシステム、装置若しくは機器のグループを有する。例えば、コンピュータ装置410は、パーソナルコンピュータ（デスクトップ若しくはラップトップコンピュータ又はサーバコンピュータ等）を有してもよい。
【００５３】
好ましい実施例では、コンピュータ装置410は、低速ネットワーク420と、第１の高速ネットワーク430と、第２の高速ネットワーク440とに接続される。前述のように、装置410はネットワークのエッジに位置してもよい。前述のように、また、以下に詳細に説明するように、装置410は、低速ネットワーク420のプロキシによるQoSを実行する。
【００５４】
コンピュータ装置410と第１の高速ネットワーク430及び第２の高速ネットワーク440との間の接続450及び460は、高速又は大きい帯域の接続である。コンピュータ装置410と低速ネットワーク420との間の接続470は、低速又は小さい帯域の接続である。接続450、460及び470は、１つ以上の有線若しくは無線接続、又は有線及び無線接続の組み合わせをそれぞれ含んでもよい。
【００５５】
低速ネットワーク420は、限られた帯域能力又は可用性を有する如何なるネットワークを含んでもよい。例えば、低速ネットワーク420は、軍事戦術ネットワークのようなLANを有してもよい。好ましい実施例では、低速ネットワーク420は、“TACSAT”（Tactical  Satellite）ネットワーク及び戦術HFネットワークのような戦術ネットワークである。他の例では、低速ネットワーク420は、無線又はIP型無線ネットワークを含んでもよい。
【００５６】
高速ネットワーク430、440は、大きい帯域能力又は可用性を有する如何なるネットワークをそれぞれ含んでもよい。一般的に、高速ネットワーク430、440は、低速ネットワーク420より大きい帯域又はスループットを有する。例えば、各高速ネットワーク430、440は、従来から大きい帯域の接続及び高データスループットを有する１つ以上のネットワークを有してもよい。好ましい実施例では、高速ネットワーク430、440は、Ethernet（登録商標）接続及び／又はEPLRSネットワークを有するネットワークである。
【００５７】
他の実施例では、高速ネットワーク430、440は、低速ネットワーク420のスループット能力より少なくとも100倍の速さ又は大きさのスループットでデータ（IPパケット等）を通信又は送信することができるネットワークである。例えば、高速ネットワーク430、440は、毎秒10メガバイト（“mbps”）のレートでデータを送信又は通信することができるEthernet（登録商標）ネットワークをそれぞれ有してもよい。他の例では、高速ネットワーク430、440は、500kbpsのレートでデータを送信又は通信することができるEPLRSネットワークをそれぞれ有してもよい。逆に、低速ネットワーク420は、5kbpsのレートでデータを送信又は通信することができるTACSAT又はHFネットワークを有してもよい。
【００５８】
コンピュータ装置410は、コンピュータ可読記憶媒体を含んでもよい。例えば、コンピュータ装置410は、１つ以上のコンピュータハードドライブ、CDドライブ及び／又はDVDドライブを含んでもよい。コンピュータ可読記憶媒体は、コンピュータ装置410のローカルにあることが好ましい。換言すると、コンピュータ可読記憶媒体は、コンピュータ装置410内にあることが好ましく、或いは、コンピュータ装置410に物理的に接続又は配線される。
【００５９】
他の実施例では、コンピュータ可読記憶媒体は、コンピュータ装置410から離れている。換言すると、コンピュータ可読記憶媒体は、コンピュータ装置410が配置された位置以外の位置に存在しており、或いは、無線接続でコンピュータ装置410に接続される。例えば、コンピュータ可読記憶媒体は、コンピュータ装置410から離れた位置にあるが、ネットワーク接続で装置410にアクセス可能なコンピュータサーバに配置されてもよい。
【００６０】
コンピュータ可読記憶媒体は、コンピュータ装置410を動作する一式の命令を有する。一式の命令は、コンピュータ装置410で動作又は実行可能な１つ以上のソフトウェアアプリケーションに具現されることが好ましい。好ましい実施例では、一式の命令は、コンピュータ装置410が第１の高速ネットワーク430から低速ネットワーク420に送信されるデータにプロキシによる１つ以上のQoSアルゴリズムを適用することを可能にする１つ以上のソフトウェアルーチンを含む。他の実施例では、一式の命令はまた、コンピュータ装置410が第１の高速ネットワーク430から第２の高速ネットワーク440に送信されるデータにプロキシによる１つ以上のQoSアルゴリズムを適用することを可能にする。
【００６１】
コンピュータ装置410の一式の命令により、装置410は、低速ネットワーク420に送信されるデータがネットワーク420に到達する前に、低速ネットワーク420のデータスループットの動的な管理を提供することが可能になる。すなわち、装置がネットワーク420に配線又は固定されずに、データがネットワーク420に到達する前に、装置410は、ネットワーク420に送信されるデータに１つ以上のQoSアルゴリズムを適用することができる。
【００６２】
QoSアルゴリズムは、データが所定の宛先に送信される優先度又は順序の何らかのルール又はパラメータに基づく調整を含んでもよい。換言すると、QoSアルゴリズムは、高優先度のデータを優先させる１つ以上のルール又はパラメータを含んでもよい。これを行うことで、前述のように、QoSアルゴリズムは、帯域を最適化し、データに含まれる情報に優先度を確立又は設定し、帯域が所定のデータリンク又は所定のネットワーク内で制約されるときにデータリンクを管理することができる。この場合も同様に、帯域の“最適化”は、QoSアルゴリズムが１つ以上のネットワークでデータを通信するための帯域使用の効率を増加させるために使用され得ることを意味する。
【００６３】
例えば、例えば、帯域使用の最適化は、機能的に冗長なメッセージを除去すること、メッセージストリーム管理又は順序付け、及びメッセージ圧縮を含んでもよい。例えば、情報優先度の設定は、IP型技術より細かい精度でメッセージ形式を区別すること、及び選択されたルール型順序付けアルゴリズムを介してデータストリームにメッセージを順序付けることを含んでもよい。例えば、データリンク管理は、ルール、モード及び／又はデータ転送における変化に影響を及ぼすネットワーク測定のルール型分析を含んでもよい。
【００６４】
前述のように、QoSパラメータ又はアルゴリズムはまた、ユーザ構成可能なルールに基づくデータの優先付けを含んでもよい。例えば、メッセージは、ユーザ構成の順序付けルール（例えば、スターベーション（starvation）、ラウンドロビン、相対頻度等）により記述される順序で、データストリームに順序付けされてもよい。例えば、従来のQoS手法で区別不可能なメッセージは、メッセージ内容に基づいて区別されてもよい。
【００６５】
QoSアルゴリズムはまた、選択されたモードに従ってリンクを動的に変更することにより、データリンクを管理するために使用されてもよい。モードは、ネットワークリンクでトランスポートレイヤへ及びトランスポートレイヤからデータ伝搬を制御するルール及び設定情報の集合を有する。モードは、スループット管理ルール、アーカイバル（archival）構成、事前及び事後送信ルール、並びにトランスポート選択を指定してもよい。
【００６６】
一式の命令は、OSIの7レイヤモデルのトランスポートレイヤの上位で動作する。図２は、（前述の）OSIの7レイヤモデル200の概略図を示しており、ここに記載の技術の実施例によるコンピュータ装置410の一式の命令の動作を示している。OSIモデル200は、7のレイヤ（すなわち、アプリケーションレイヤ210、プレゼンテーションレイヤ220、セッションレイヤ230、トランスポートレイヤ240、ネットワークレイヤ250、データリンクレイヤ260及び物理レイヤ270）を含む。送信ユーザ280は、リンク294で受信ユーザ292にデータ290を通信する。
【００６７】
ここに記載の技術によれば、コンピュータ装置410で動作する一式の命令は、OSIモデル200のトランスポートレイヤ240の上のレベル296で１つ以上のQoSアルゴリズムを実施する。これを行うことで、一式の命令は、ここに記載の技術と独立したネットワークを提供しつつ、低速ネットワーク240に利用可能な帯域を最適化することができる。この場合も同様に、帯域の“最適化”は、QoSアルゴリズムが１つ以上のネットワークでデータを通信するための帯域使用の効率を増加させるために使用され得ることを意味する。換言すると、従来のQoSの対策は、ネットワーク形式毎に異なる構成のQoSの対策を有し、ネットワーク特有である。しかし、ここに記載の技術によれば、コンピュータ装置410は、ネットワーク420のハードウェアに“配線”又は制限されることなく、低速ネットワーク420に送信されるデータにQoSアルゴリズムを適用することができる。更に、コンピュータ装置410はまた、プロキシにより（すなわち、ネットワーク420内でデータにQoSアルゴリズムを適用するネットワーク420に限られたノード又はスイッチなしに）低速ネットワーク420に送信されるデータにQoSアルゴリズムを適用することができる。これを行うことで、コンピュータ装置410は、複数の異なるネットワーク（高速及び／又は低速）に接続され、様々なネットワークにプロキシによる様々なQoSアルゴリズムを適用することができる。
【００６８】
好ましい実施例では、コンピュータ装置410の一式の命令は、少なくとも２つのルーチン（データ宛先ルーチン及びQoSアルゴリズム適用ルーチン（“適用ルーチン”））を含む。しかし、一式の命令は、ここに記載の技術に従って単一のルーチン又はより多くのルーチンを含んでもよい。好ましい実施例では、一式の命令は、標準的な“XML”（Extensible  Markup  Language）で記述される。他の実施例では、一式の命令は、カスタマイズ“DLL”（dynamic  link  library）を介してコンピュータ装置410に提供される。極めて低い待ち時間の要件をサポートしなければならない場合に、カスタマイズDLLの使用は、XMLより好ましい。
【００６９】
アプリケーションがデータを送信するためにネットワークソケットをオープンしたときに、一式の命令は、プロトコルスタックの上でデータをフィルタリングしてもよい。命令が装置410のオペレーティングシステムにより提供されるTCP/IPソケットインタフェースを使用するため、一式の命令は、ユーザにトランスペアレントでもよい。
【００７０】
好ましい実施例では、一式の命令は、方法500に従ってQoSアルゴリズムを選択的に適用する。図５は、ここに記載の技術の実施例に従ってネットワークに送信されるデータにプロキシによるQoSアルゴリズムを選択的に適用する方法500のフローチャートを示している。
【００７１】
方法500によれば、まずステップ510において、データ480又は“高速”データ480が高速ネットワーク接続450で第１の高速ネットワーク430から送信される。次にステップ520において、データ480はルーティングノード（コンピュータ装置410等）で受信される。ステップ530において、（コンピュータ装置410で動作する一式の命令の）データ宛先ルーチンは、データ480の全部又はデータ480の一部の宛先を決定する。例えば、宛先は、データ480のIP宛先アドレスを検査することにより決定されてもよい。
【００７２】
ステップ540において、適用ルーチンは、データ480又はデータ480の一部の宛先が低速ネットワークであるか否かを決定する。例えば、適用ルーチンは、データ480の対象又は所定の宛先が低速ネットワーク420であるか否かを決定する。ステップ540において宛先が低速ネットワーク420で有ることが決定されると、方法500はステップ550に進む。
【００７３】
ここに記載の技術の他の実施例では、ステップ540において、適用ルーチンは、データ480又はデータ480の一部の宛先が、低速接続でデータ480又はデータ480の一部の送信を必要とするネットワークであるか否かを決定する。例えば、適用ルーチンは、宛先が低速接続470で送信を必要とするネットワークであるか否かを決定する。ステップ540において宛先が低速接続470で送信を必要とすることが決定されると、方法500はステップ550に進む。
【００７４】
ステップ550において、適用ルーチンは、コンピュータ装置が低速ネットワーク420のデータ480又はデータ480の一部に１つ以上のQoSアルゴリズムを適用するか否かを決定する。適用ルーチンは、QoSアルゴリズムが前述の１つ以上のQoSルール又はパラメータに基づいて適用されることを決定する。１つ以上のQoSアルゴリズムがデータ480又はデータ480の一部に適用されることを適用ルーチンが決定すると、方法500はステップ560に進む。
【００７５】
ステップ560において、適用ルーチンは、データ480又はデータ480の一部にQoSアルゴリズムを適用する。前述のアプリケーションで説明したように、適用される的確なQoSアルゴリズムは、選択されたプロファイル又はモードにより決定されてもよい。QoSアルゴリズムを適用することにより、データ480の１つ以上の部分又はデータ480の１つ以上のデータパケットの優先順序が確立される。QoSアルゴリズムを適用した後に、方法500はステップ580に進む。
【００７６】
ステップ580において、QoSアルゴリズムが適用されたデータ480又はデータ480の一部は、QoSアルゴリズムに従ってデータ492又は“低速”データ492として低速ネットワーク420にルーティング又は送信される。データ492は、低速接続470を通じてルーティング又は送信されてもよい。データ480の全部が低速ネットワーク420にルーティングされることをQoSアルゴリズムが示す場合、データ480の全部は、QoSアルゴリズムに従ってデータ492として送信される。１つ以上のQoSアルゴリズムが適用された後にデータ480の一部のみが低速ネットワーク420にルーティングされる場合、アルゴリズムが適用されたデータ480の一部は、QoSアルゴリズムに従ってデータ492として送信される。
【００７７】
データ480の全部又は一部にQoSアルゴリズムを適用することにより、他のデータ又はデータ480の他の部分は、高い又は低い優先度を受けることができ、それに従って低速ネットワーク420で受信ノードに送信されることができる。例えば、ステップ560においてデータ480の第１の部分がデータ480の第２の部分より高い優先度を受ける場合、ステップ580において、データ480の第１の部分は、データ480の第２の部分の前に低速ネットワーク420の受信ノードに送信される。他の例では、ステップ560において複数のデータ480の部分にQoSアルゴリズムを適用することにより、データ480の部分の優先順序が確立される。ステップ580において、データ480の部分は、優先順序に従って低速ネットワーク420の所定の宛先ノードに送信されてもよい。
【００７８】
ステップ550において、適用ルーチンによりQoSアルゴリズムがデータ480又はデータ480の一部に適用されないことが決定されると、方法500はステップ550からステップ570に進む。ステップ570において、コンピュータ装置410は、QoSアルゴリズムを適用することなく、データ480又はデータ480の一部を低速ネットワーク420にルーティングする。
【００７９】
ステップ540においてデータ480又はデータ480の一部の宛先が第２の高速ネットワーク440であることが決定されると、方法500はステップ540からステップ590に進む。ステップ590において、第２の高速ネットワーク440を対象とするデータ480又はデータ480の一部は、データ490又は“高速”データ490として第２の高速ネットワーク440に送信される。例えば、データ490は、高速接続で送信されてもよい。
【００８０】
従って、方法500は、大きい帯域のネットワーク（第１の高速ネットワーク430）から低速ネットワーク（ネットワーク420）に送信されるデータに１つ以上のQoSアルゴリズムを選択的に適用する方法を提供する。前述のように、データが大きい帯域のネットワークからストリーミングされ、他の大きい及び小さい帯域のネットワークにルーティングされる場合、小さい帯域のネットワークはデータで溢れ得る。部分的に、小さい帯域のネットワークの宛先ノードは大量の情報を処理することができない可能性があるため、小さい帯域のネットワークは溢れ得る。ここに記載の技術によれば、小さい帯域のネットワークに適応するため、ルーティングノード（コンピュータ装置410等）は、小さい帯域のネットワーク（低速ネットワーク420等）のみの宛先のデータにQoSアルゴリズムを選択的に適用し得る。更に、小さい帯域のネットワークに到達する前にルーティングノードがデータにQoSアルゴリズムを適用するため、ルーティングノードは、プロキシにより小さい帯域のネットワークにQoSアルゴリズムを適用することができる。
【００８１】
ここに記載の技術の他の実施例では、コンピュータ装置410はまた、１つの高速ネットワークから他のものに送信されるデータに１つ以上のQoSアルゴリズムをプロキシにより選択的に適用するために使用されてもよい。高速ネットワーク430から低速ネットワーク420に送信されるデータ480にQoSアルゴリズムを選択的に適用することと同様に、コンピュータ装置410で動作する一式の命令はまた、第１の高速ネットワーク430から第２の高速ネットワーク440に送信されるデータ480にQoSアルゴリズムを選択的に適用するために使用されてもよい。図６は、ここに記載の技術の実施例に従って１つの高速ネットワークから他のものに送信されるデータにプロキシによるQoSアルゴリズムを選択的に適用する方法のフローチャートを示している。方法600は、前述の方法500と同様の複数のステップを含む。特に、方法500及び方法600は、共通して以下のステップ：510、520、530、540、550、560、570及び580を有する。
【００８２】
方法600に関して、ステップ540においてデータ480又はデータ480の一部の宛先が第２の高速ネットワーク440であることが決定されると、方法600はステップ540からステップ610に進む。ステップ610において、適用ルーチンは、１つ以上のQoSアルゴリズムが第２の高速ネットワーク440のデータ480又はデータ480の一部に適用されるか否かを決定する。１つ以上のQoSアルゴリズムが適用される場合、方法600はステップ610からステップ620に進む。
【００８３】
ステップ620において、適用ルーチンは、データ480又はデータ480の一部にQoSアルゴリズムを適用する。前述のように、適用される的確なアルゴリズムは、前述の選択されたプロファイル又はモードにより決定されてもよい。QoSアルゴリズムを適用した後に、方法600はステップ630に進む。
【００８４】
ステップ630において、QoSアルゴリズムが適用されたデータ480又はデータ480の一部は、QoSアルゴリズムに従ってデータ490として第２の高速ネットワーク440にルーティング又は送信される。データ490は、高速接続460を通じてルーティング又は送信されてもよい。データ480の全部が第２の高速ネットワーク440にルーティングされることをQoSアルゴリズムが示す場合、データ480の全部は、QoSアルゴリズムに従ってデータ490として送信される。１つ以上のQoSアルゴリズムが適用された後にデータ480の一部のみが第２の高速ネットワーク440にルーティングされる場合、アルゴリズムが適用されたデータ480の一部は、QoSアルゴリズムに従ってデータ490として送信される。
【００８５】
ステップ610において、適用ルーチンによりQoSアルゴリズムがデータ480又はデータ480の一部に適用されないことが決定されると、方法600はステップ610からステップ640に進む。ステップ640において、コンピュータ装置410は、QoSアルゴリズムを適用せずに、データ480又はデータ480の一部を第２の高速ネットワーク440にルーティングする。
【図面の簡単な説明】
【００８６】
【図１】ここに記載の技術の実施例で動作する戦術通信ネットワーク環境
【図２】ここに記載の技術の実施例によるコンピュータ装置の一式の命令の動作及びOSIの7レイヤモデルの概略図
【図３】ここに記載の技術の実施例によるデータ通信システムを使用して容易になる複数ネットワークの例
【図４】ここに記載の技術の実施例に従ってネットワークに送信されたデータにプロキシによるQoSアルゴリズムを選択的に適用するシステム
【図５】ここに記載の技術の実施例に従ってネットワークに送信されたデータにプロキシによるQoSアルゴリズムを選択的に適用する方法のフローチャート
【図６】ここに記載の技術の実施例に従って１つの高速ネットワークから他のものに送信されたデータにプロキシによるQoSアルゴリズムを選択的に適用する方法のフローチャート
【図１】
2009535990.tif 000003
【図２】
2009535990.tif 000004
【図３】
2009535990.tif 000005
【図４】
2009535990.tif 000006
【図５】
2009535990.tif 000007
【図６】
2009535990.tif 000008
【手続補正書】
【提出日】平成20年12月26日(2008.12.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
１つ以上のサービス品質（“QoS”）アルゴリズムを選択的に適用する方法であって、
第２のネットワークと第３のネットワークとのうち少なくとも１つで所定の宛先のノードに送信される第１のネットワークのソースからのデータを受信し、
前記宛先の前記ネットワークに少なくとも部分的に基づいて前記データに前記QoSアルゴリズムのうち少なくとも１つを適用することを有する方法。
【請求項２】
前記適用するステップは、前記宛先が前記第３のネットワークにある場合にのみ、前記少なくとも１つのQoSアルゴリズムを適用することを有する、請求項１に記載の方法。
【請求項３】
前記宛先が前記第２のネットワークにある場合、前記QoSアルゴリズムを前記データに適用することなく、前記データを前記第２のネットワークの前記宛先にルーティングすることを更に有する、請求項２に記載の方法。
【請求項４】
前記第２のネットワークは高速ネットワークであり、前記第３のネットワークは低速ネットワークである、請求項２に記載の方法。
【請求項５】
前記高速ネットワークは、前記低速ネットワークより少なくとも100倍の速さのレートでデータを通信することができるネットワークである、請求項４に記載の方法。
【請求項６】
プロキシによりネットワークにサービス品質（“QoS”）アルゴリズムを適用する方法であって、
第１高速ネットワークからルーティングノードで前記データを受信し、
第２の高速ネットワークでの前記データの第１のデータ部分の対象の宛先と、低速ネットワークでの前記データの第２のデータ部分の対象の宛先とを決定し、
前記第１のデータ部分に前記QoSアルゴリズムを適用することなく、前記第２の高速ネットワークで前記第１のデータ部分を前記第１のデータ部分の前記対象の宛先にルーティングし、
前記第２のデータ部分に前記QoSアルゴリズムを適用し、
前記低速ネットワークで前記第２のデータ部分を前記第２のデータ部分の前記対象の宛先にルーティングすることを有する方法。
【請求項７】
前記適用するステップは、前記第２のデータ部分の１つ以上のデータパケットが前記ルーティングするステップの間に前記低速ネットワークの前記対象の宛先に送信される優先順序を変更する、請求項６に記載の方法。
【請求項８】
前記第１及び第２の高速ネットワークのそれぞれは、前記低速ネットワークより少なくとも100倍の速さのレートでデータを送信するように構成される、請求項６に記載の方法。
【請求項９】
無線リンクで前記ルーティングノードを前記低速ネットワークに接続することを有する、請求項６に記載の方法。
【国際調査報告】
2009535990.tif 000009