(57)【要約】本発明の特定の実施例は、データ通信のためのサービス品質を制御するシステム及び方法を提供する。方法は、データ・セットのタイムスタンプを調べる段階を有する。タイムスタンプは時間値を有する。時間値は、データ・セットが期限切れになる時刻である。或いは、時間値は、データ・セットが取得された時刻である。更に別の例では、前記タイムスタンプは、前記データ・セットが期限切れになる時刻、及び前記データ・セットが取得された時刻を有する。方法は、タイムスタンプの時間値が現在の時刻より大きいかどうかを決定する段階を有する。時間値がデータ・セットが期限切れになる時刻であり、タイムスタンプが現在の時刻より大きい場合、データ・セットは古くなっておりドロップされる。
2010515284.tif 000002
【特許請求の範囲】
【請求項１】
データ通信のサービス品質を制御する方法であって、
時間値を有するデータ・セットのタイムスタンプを調べる段階、
データ・セットの識別子を調べ、前記データ・セットを、それぞれ所定の閾時間値と関連付けられた複数のグループの１つと関連付ける段階、
前記タイムスタンプの前記時間値と現在の時刻との間の差を計算する段階、及び
前記タイムスタンプの前記時間値と現在の時刻との間の前記差が前記所定の閾時間値を超えている場合は、前記データ・セットをドロップする段階、を有する方法。
【請求項２】
前記ドロップする段階は、前記データ・セットを待ち行列からドロップする段階を有する、請求項１に記載の方法。
【請求項３】
前記時間値は、前記データ・セットが取得された時刻である、請求項１に記載の方法。
【請求項４】
前記所定の閾時間値は、選択されたモードにより決定される、請求項１記載の方法。
【請求項５】
前記選択されたモードは、ネットワーク状態に基づき動的に選択される、請求項４記載の方法。
【請求項６】
前記タイムスタンプは、前記データ・セットが取得された時刻、及び前記データ・セットが期限切れになる時刻を有する、請求項１に記載の方法。
【請求項７】
コンピューター可読媒体であって、処理装置で実行される命令セットを有し、前記命令セットは、
データ・セットの時間値を有するタイムスタンプを調べる検査ルーチン、
前記タイムスタンプの値が現在の時刻より大きいかどうかを決定する比較ルーチン、及び
前記現在の時刻が前記タイムスタンプの時間値を超えている場合に、前記データ・セットをドロップするドロップ・ルーチン、を有する、コンピューター可読媒体。
【請求項８】
前記時間値は、前記データ・セットが期限切れになる時刻である、請求項７に記載の命令セット。
【発明の詳細な説明】
【技術分野】
【０００１】
本願明細書に記載される技術は、一般に通信ネットワークに関する。より詳細には、本願明細書に記載される技術は、データ通信のサービス品質を制御するシステム及び方法に関する。
【背景技術】
【０００２】
通信ネットワークは、種々の環境で利用される。通信ネットワークは、標準的に、１又は複数のリンクにより接続された２以上のノードを有する。一般に、通信ネットワークは、２以上の参加ノードの間のリンクを介した通信を支援し、通信ネットワークでノードを仲介するために用いられる。ネットワークには多くの種類のノードが存在しうる。例えば、ネットワークは、クライアント、サーバー、ワークステーション、スイッチ、及び／又はルーターのようなノードを有してよい。リンクは、例えば電話回線、配線、イーサーネット・リンク、非同期転送モード（ＡＴＭ）回路、衛星リンク、及び／又は光ファイバー・ケーブルを介したモデム接続であってよい。
【０００３】
通信ネットワークは、実際には１又は複数の更に小さい通信ネットワークを有してよい。例えば、インターネットは、屡々コンピューター・ネットワークを相互接続したネットワークとして記述される。各ネットワークは、異なるアーキテクチャ及び／又はトポロジーを用いてよい。例えば、あるネットワークは、スター型のトポロジーを有するスイッチ型イーサネット（登録商標）・ネットワークであってよい。また別のネットワークは、ＦＤＤＩ（Fiber-Distributed  Data  Interface）リングであってよい。
【０００４】
通信ネットワークは、種々のデータを伝達しうる。例えば、ネットワークは、双方向の実時間の対話のためのデータと平行してバルク・ファイルの転送を実行してよい。ネットワークで送信されるデータは、屡々パケット、セル、又はフレームの形式で送信される。或いは、データはストリームとして送信されてよい。幾つかの例では、データのストリーム又はフローは、実際にはパケットのシーケンスであってよい。インターネットのようなネットワークは、種々のノードの間に用途の広い、及び異なる要件を備えたありとあらゆるデータを伝達するデータ経路を提供する。
【０００５】
ネットワークを介した通信は、標準的に複数のレベルの通信プロトコルと関連する。プロトコル・スタックは、ネットワーク・スタック又はプロトコル・スーツとも称され、通信に用いられるプロトコルの集合を示す。各プロトコルは、特定の種類の能力に焦点を合わせるか、又は通信を形成する。例えば、あるプロトコルは、銅線により接続された装置との通信に必要な電気信号に関連する。別のプロトコルは、例えば多くの仲介ノードにより隔てられた２つのノードの間の順序付け及び信頼性の高い伝送を解決する。
【０００６】
プロトコル・スタックの中のプロトコルは、標準的に階層構造の中に存在する。屡々、プロトコルは層に分類される。プロトコルの層についてのある参照モデルは、開放型システム間相互接続（ＯＳＩ）モデルである。ＯＳＩ参照モデルは、７つの層を有する。つまり、物理層、データ・リンク層、ネットワーク層、トランスポート層、セッション層、プレゼンテーション層、及びアプリケーション層である。物理層は「最下位」層であり、アプリケーション層は「最上位」層である。２つの良く知られたトランスポート層プロトコルは、通信制御プロトコル（ＴＣＰ）及びユーザー・データグラム・プロトコル（ＵＤＰ）である。良く知られたネットワーク層プロトコルは、インターネット・プロトコル（ＩＰ）である。
【０００７】
送信ノードでは、送信されるべきデータは、プロトコル・スタックの層を最上位から最下位へと下へ渡される。反対に、受信ノードでは、データは層を最下位から最上位へと上へ渡される。各層では、データは、その層で通信を処理するプロトコルにより操作されうる。例えば、トランスポート層プロトコルは、宛先ノードに到着したときにパケットを順序付けることが可能なように、データにヘッダーを付加してよい。アプリケーションに依存して、幾つかの層は用いられず、又は存在せず、データは単に通過するだけでよい。
【０００８】
ある種の通信ネットワークは、軍事用データ・ネットワークである。軍事用データ・ネットワークは、軍事用通信ネットワークとも称される。軍事用データ・ネットワークは、軍隊（例えば、陸軍、海軍、及び／又は空軍）のような組織内の部隊により用いられる。軍事用データ・ネットワーク内のノードは、例えば、個々の軍人、航空機、指揮部隊、衛星、及び／又はラジオを含んでよい。軍事用データ・ネットワークは、音声、位置の遠隔計測、センサー・データ、及び／又は実時間のビデオのようなデータを通信するために用いられてよい。
【０００９】
以下に軍事用データ・ネットワークがどのように利用されるかという例を記載する。物流部隊は、戦場の戦闘部隊への補給品を提供する途中であってよい。物流部隊と戦闘部隊の両者は、衛星無線リンクを介して指揮所へ位置の遠隔測定を提供してよい。無人機（ＵＡＶ）は、物流部隊が辿った道に沿って巡回し、衛星無線リンクを介して実時間のビデオ・データを指揮所へ送信してよい。指揮所では、分析専門家がビデオ・データを検査し、同時に制御装置がＵＡＶに道の特定区間のビデオを提供させてよい。分析専門家は、次に、ＵＡＶが接近している簡易爆発物（ＩＥＤ）を発見し、直接無線リンクを介し物流部隊へ停止するよう命令を送出し、物流部隊にＩＥＤの存在を警告してよい。
【００１０】
軍事用データ・ネットワークの中に存在する種々のネットワークは、種々の異なるアーキテクチャと特性を有してよい。例えば、指揮部隊のネットワークは、ギガビット・イーサネット（登録商標）・ローカル・エリア・ネットワーク（ＬＡＮ）と共に、遙かに低いスループットと高い待ち時間を備えた衛星及び戦場の部隊への無線リンクを有してよい。戦場の部隊は、衛星、及び直接経路の無線周波数（ＲＦ）の両方を介して通信してよい。データは、データの性質及び／又はネットワークの特定の物理的特性に依存して、ポイント・ツー・ポイント、マルチキャスト、又はブロードキャストで送信されてよい。
【００１１】
ネットワークは、例えばデータを中継するために設置されたラジオを有してよい。更に、ネットワークは、長距離通信を可能にする高周波数（ＨＦ）ネットワークを有してよい。例えば、マイクロ波ネットワークも用いられてよい。リンク及びノードの種類の多様性により、特に、軍事用ネットワークは、屡々非常に複雑なネットワーク・アドレス付与方式及びルーティング・テーブルを有する。更に、無線に基づくネットワークのような幾つかのネットワークは、バーストを用いて動作しうる。つまり、連続的にデータを送信するのではなく、周期的にデータのバーストを送信する。これは、ラジオが参加者により共有される特定のチャンネルでブロードキャストしているので、及び同時に１つのラジオが送信するので、有用である。
【００１２】
軍事用データ・ネットワークは、一般に帯域幅が制限される。つまり、標準的に、任意の時間点において利用可能な帯域幅よりも多くの通信されるべきデータが存在する。これらの制約は、例えば帯域幅に対する供給を超えた要求によるか、及び／又は利用可能な通信技術がユーザーの必要を満たすために十分な帯域を供給しないことによる。例えば、幾つかのノードの間で、帯域幅はキロビット／秒の程度であってよい。帯域幅の制限された軍事用データ・ネットワークでは、重要度の低いデータがネットワークを渋滞させ、より重要なデータがタイムリーに通過するのを妨げるか、又は受信ノードに全く到着しない。更に、一部のネットワークは、信頼性の低いリンクを補償するため、内部バッファーを有してよい。これは、追加の遅延を引き起こしうる。更に、バッファーが一杯になると、データが落ちてしまう。
【００１３】
多くの場合には、ネットワークに利用可能な帯域幅は、増大することができない。例えば、衛星通信リンクを介して利用可能な帯域幅は、固定され、別の衛星を配備することなく増大させることは事実上できない。このような状況では、帯域幅は、需要を処理するために、単に拡張されるのではなく管理されなければならない。大規模システムでは、ネットワーク帯域幅は、重要な資源である。アプリケーションは可能な限り効率的に帯域幅を利用することが望ましい。更に、帯域幅が限られている場合に、アプリケーションは「パイプを詰まらせること」、つまりデータでリンクに負担をかけることを避けることが望ましい。帯域幅の割り当てが変化する場合、アプリケーションが反応することが望ましい。帯域幅は、例えばサービス品質、妨害電波、信号障害、優先度の再割り当て、及び見通し距離により動的に変化しうる。ネットワークは、非常に不安定であり、利用可能な帯域幅は動的に且つ予告なく変化しうる。
【００１４】
帯域幅の制限に加え、軍事用データ・ネットワークは高い待ち時間を経験しうる。例えば、衛星リンクを介した通信を含むネットワークは、２分の１以上の程度の待ち時間を生じうる。幾つかの通信では、これは問題ではない。しかし、実時間、双方向通信（例えば、音声通信）のような他の通信では、可能な限り待ち時間を最小化することが望ましい。
【００１５】
多くの軍事用データ・ネットワークに共通する別の特性は、データ損失である。データは、種々の理由により失われうる。例えば、送信すべきデータを有するノードは損傷又は破壊されうる。
【００１６】
別の例として、宛先ノードは、ネットワークから一時的に脱落しうる。これは、例えば、ノードが範囲から出てしまったため、通信のリンクが妨害されたため、及び／又はノードが窮地に陥ったために生じうる。データは、宛先ノードがデータを受信できないため、及び中間ノードが、宛先ノードが利用可能になるまでにデータをバッファーするための十分な容量を有しないため、失われうる。更に、中間ノードは、データを全くバッファーしなくてよく、代わりにデータのバッファーを送信ノードに任せ、データが宛先ノードに実際に到着したか否かを決定してよい。
【００１７】
屡々、軍事用データ・ネットワークのアプリケーションは、ネットワークの特定の特性に気付かず、及び／又は当該特性を考慮しない。例えば、アプリケーションは、アプリケーションが必要とするだけ利用可能な帯域幅を有すると単に想定してよい。
【００１８】
別の例として、アプリケーションは、データがネットワークで失われないと仮定してよい。実行されている通信に固有の特性を考慮しないアプリケーションは、実際に問題を悪化させるように動作しうる。例えば、アプリケーションは、より大きな塊で少ない頻度で且つ効率的に送信されうるデータ・ストリームを連続的に送信してよい。連続的なストリームは、例えば事実上他のノードの通信を不足させる放送ラジオ・ネットワークで非常に大きいオーバーヘッドを生じうる。一方で、頻度の少ないバーストは、共有帯域幅をより効率的に使用することを可能にする。
【００１９】
特定のプロトコルは、軍事用データ・ネットワークを介して良好に機能しない。例えば、ＴＣＰのようなプロトコルは、ネットワークが直面する高損失レート及び待ち時間のため、無線に基づく軍事用ネットワークで良好に機能しない。ＴＣＰは、データを送信するため、幾つかの形式のハンドシェーク及び受信確認を要求する。高い待ち時間及び損失は、結果としてＴＣＰにタイムアウトを起こし、非常に重要なデータがあってもこのようなネットワークを介して送信することができない。
【００２０】
軍事用データ・ネットワークと通信される情報は、屡々、ネットワークの他のデータに対し種々のレベルの優先度を有する。例えば、航空機の危険警告受信機は、地上の数マイル離れた部隊の遠隔測位情報よりも優先度が高い。
【００２１】
別の例では、指令部からの交戦に関する命令は、味方の物流の通信より優先度が高い。優先度のレベルは、送信側及び／又は受信側の個々の状況に依存する。例えば、遠隔測位データは、部隊が活発に戦闘に従事しているときは、部隊が単に標準的な巡回経路を辿っているときよりも優先度が高い。同様に、ＵＡＶからの実時間ビデオ・データは、目標領域にあるときには、単に経路上にあるときよりも優先度が高い。
【００２２】
ネットワークを介してデータを分配するための複数の方法がある。１つの方法は、多くの通信ネットワークにより用いられる「ベスト・エフォート型」の方法である。つまり、通信されているデータは、容量、待ち時間、信頼性、順序、及びエラーに関する他の要求を前提として、ネットワークが処理できるだけ処理される。従って、ネットワークは、如何なる又は全ての所与のデータも適時に宛先に到着することを保証しない。従って、データが送信された順序で到着する、又はデータ内の１又は複数のビットを変化させる送信エラーを伴わないという如何なる保証もない。
【００２３】
別の方法は、サービス品質（ＱｏＳ）である。ＱｏＳは、伝達されるデータに関する種々の形式の保証を提供するための、ネットワークの１又は複数の能力を表す。例えば、ＱｏＳに対応するネットワークは、データ・ストリームに特定量の帯域幅を保証する。別の例では、ネットワークは、２つの特定のノード管のパケットが特定の最大待ち時間を有することを保証する。このような保証は、２つのノードがネットワークを介して会話をする２人の人間である音声通信の場合に有用である。このような場合のデータ分配の遅延は、例えば通信中の不愉快な間隔及び／又は静寂を生じる。
【００２４】
ＱｏＳは、選択されたネットワーク・トラフィックに、より良好なサービスを提供するためのネットワークの能力と考えられる。ＱｏＳの主な目的は、専用の帯域幅、（実時間及び双方向トラフィックにより要求される）制御されたジッター及び待ち時間、並びに改善された損失特性を含む優先度を提供することである。別の重要な目的は、１つのフローのために優先度を提供することが、他のフローに障害を生じさせないことを保証することである。つまり、次のフローに対する保証は、既存のフローに対する保証を中断させてはならない。
【００２５】
ＱｏＳのこの方法は、屡々、ネットワーク内の各ノードがＱｏＳに対応することを要求し、又は少なくとも特定の通信に関与するネットワーク内の各ノードがＱｏＳに対応することを要求する。例えば、現在のシステムでは、２つのノード間の待ち時間を保証する目的で、当該２つのノード間でトラフィックを伝達する各ノードは、当該保証を知っていて合意しており、且つ合意する能力がなければならない。
【００２６】
ＱｏＳを提供する複数の方法がある。１つの方法は、イントサーブ又は「ＩｎｔＳｅｒｖ」である。ＩｎｔＳｅｒｖは、ネットワーク内の各ノードがサービスに対応し、接続が確立したときに当該サービスが予約されるＱｏＳシステムを提供する。ＩｎｔＳｅｒｖは、各ノードに維持されなければならない大量の状態情報、及び当該接続の確立に関連するオーバーヘッドのために、十分に拡張できない。
【００２７】
ＱｏＳを提供する別の方法は、ディフサーブ又は「ＤｉｆｆＳｅｒｖ」である。ＤｉｆｆＳｅｒｖは、インターネットのようなネットワークのベスト・エフォート型サービスを強化するサービス・クラスのモデルである。ＤｉｆｆＳｅｒｖは、ユーザー、サービス要件、及び他の基準によりトラフィックを差別化する。
【００２８】
次に、ＤｉｆｆＳｅｒｖは、ネットワーク・ノードが優先待ち行列、又は帯域幅割り当てを介して、或いは特定のトラフィック・フローのために専用の経路を選択することにより、異なるレベルのサービスを提供するよう、パケットをマーク付けする。標準的に、ノードは、サービス・クラス毎に種々の待ち行列を有する。ノードは、次に、当該待ち行列から送出すべき次のパケットを、クラス種別に基づき選択する。
【００２９】
既存のＱｏＳの方法は、屡々、ネットワークに固有であり、各ネットワークの種類又はアーキテクチャは異なるＱｏＳ設定を要求する。既存のＱｏＳの方法が利用する機構により、現在のＱｏＳシステムで同じように見えるメッセージは、実際には、メッセージの内容に基づき異なる優先度を有する。
【００３０】
しかしながら、データの消費者は、低い優先度のデータにより溢れることなく、高い優先度のデータにアクセスすることを望む。既存のＱｏＳシステムは、トランスポート層でメッセージの内容に基づきＱｏＳを提供することができない。
【発明の概要】
【発明が解決しようとする課題】
【００３１】
上述のように、既存のＱｏＳの方法では、少なくとも特定の通信に関与するノードがＱｏＳに対応する必要がある。しかしながら、ネットワークの「エッジ」にあるノードは、全てを保証する能力がない場合でも、ＱｏＳを幾らか向上させるために用いられる。ノードは、通信に参加している（つまり、送信側ノード及び／又は受信側ノードである）場合に、及び／又はネットワーク内のネックにある場合に、ネットワークのエッジにあると考えられる。ネックは、全てのトラフィックが別の部分へ渡される、ネットワークの部分である。例えば、ＬＡＮから衛星リンクへのルーター又はゲートウェイは、ＬＡＮから当該ＬＡＮにない任意のノードへの全てのトラフィックが、衛星リンクへ行くためにゲートウェイを通過しなければならないので、ネックである。
【００３２】
従って、軍事用データ・ネットワークでＱｏＳを提供するシステム及び方法が必要である。軍事用データ・ネットワークのエッジでＱｏＳを提供するシステム及び方法が必要である。更に、軍事用データ・ネットワークで、適応型の設定可能なＱｏＳシステム及び方法が必要である。
【課題を解決するための手段】
【００３３】
本発明の特定の実施例は、データ通信のためのサービス品質を制御する方法を提供する。方法は、データ・セットのタイムスタンプを調べる段階を有する。タイムスタンプは時間値を有する。方法は、タイムスタンプの時間値が現在の時刻より大きいかどうかを決定する段階を有する。タイムスタンプの時間値が現在の時刻より大きい場合、方法はデータ・セットをドロップする段階を有する。
【００３４】
本発明の特定の実施例は、データ通信のためのサービス品質を制御する方法を提供する。方法は、データ・セットのタイムスタンプを調べる段階を有する。タイムスタンプは時間値を有する。方法は、データ・セットを複数のグループの１つと関連付けるために、データ・セットの識別子を調べる段階を有する。各グループは、所定の閾時間期間に関連付けられる。方法は、タイムスタンプの時間値と現在の時刻との間の差を計算する段階を有する。最後に、方法は、タイムスタンプの時間値と現在の時刻との間の差が所定の閾時間値を超えている場合に、データ・セットをドロップする段階を有する。
【００３５】
本発明の特定の実施例は、処理装置で実行される命令セットを有するコンピューター可読媒体を提供する。命令セットは、データ・セットのタイムスタンプを調べる段階を有する。タイムスタンプは時間値を有する。命令セットは、タイムスタンプの値が現在の時刻より大きいかどうかを決定する比較ルーチンを含む。命令セットは、現在の時刻がタイムスタンプの時刻値を超えている場合には、データ・セットをドロップするドロップ・ルーチンを有する。
【図面の簡単な説明】
【００３６】
【図１】本発明の実施例により動作する軍事用通信ネットワークの環境を図示する。
【図２】本発明の実施例と関連するデータ通信システムの、７層のＯＳＩネットワーク・モデルへの位置づけを示す。
【図３】本発明の実施例と関連するデータ通信システムを用いて実現された複数のネットワークの例を示す。
【図４】本発明の実施例により動作するデータ通信環境を図示する。
【図５】本発明の実施例により動作するデータ通信環境を図示する。
【図６】本発明の実施例に関連するフロー図を示す。
【図７】本発明の実施例に関連するフロー図を示す。
【図８】本発明の実施例に関連する方法を示す。
【図９】本発明の実施例に関連する方法を示す。
【発明を実施するための形態】
【００３７】
上述の手段、及び以下の本発明の特定の実施例の詳細な説明は、添付の図面を参照することにより一層理解される。本発明を説明する目的で、特定の実施例が図示された。しかしながら、本発明は、添付の図面に示された構成及び手段に限定されない。
【００３８】
図１は、本発明の実施例により動作する軍事用通信ネットワークの環境１００を図示する。ネットワーク環境１００は、複数の通信ノード１１０、１又は複数のネットワーク１２０、ノードとネットワークを接続する１又は複数のリンク１３０、及びネットワーク環境１００の構成要素の間で通信を実現する１又は複数の通信システム１５０、を有する。以下の議論では、ネットワーク環境１００は、１つより多いネットワーク１２０、及び１つより多いリンク１３０を含むと仮定する。しかしながら、他の環境も可能であり想定されることが理解されるだろう。
【００３９】
通信ノード１１０は、例えばラジオ、送信機、衛星、受信機、ワークステーション、サーバー、及び／又は他の計算装置若しくは処理装置であってよく、及び／又はそれらを有してよい。
【００４０】
ネットワーク１２０は、例えばノード１１０間でデータを送信するためのハードウェア及び／又はソフトウェアであってよい。ネットワーク１２０は、例えば１つ以上のノード１１０を更に有してよい。
【００４１】
接続１３０は、ノード１１０間及び／又はネットワーク１２０間の通信を可能にする有線及び／又は無線接続であってよい。
【００４２】
通信システム１５０は、例えばノード１１０、ネットワーク１２０、及びリンク１３０の間でデータ送信を実現するために用いられるソフトウェア、ファームウェア、及び／又はハードウェアを有してよい。図１に示されるように、通信システム１５０は、ノード１１０、ネットワーク１２０、及び／又はリンク１３０に対して実施される。ある実施例では、各ノード１１０は通信システム１５０を有する。ある実施例では、１又は複数のノード１１０が通信システム１５０を有する。ある実施例では、１又は複数のノード１１０が通信システム１５０を有さない。
【００４３】
通信システム１５０は、データの動的管理を提供し、ネットワーク環境１００のような軍事用データ・ネットワークの通信を保証することを助ける。図２に示されるように、ある実施例では、システム１５０はＯＳＩの７層のプロトコル・モデルの内のトランスポート層の一部及び／又はトランスポート層の上で動作する。システム１５０は、例えば、トランスポート層に渡される、軍事用ネットワークのデータを優先してよい。システム１５０は、ローカル・エリア・ネットワーク（ＬＡＮ）若しくは広域ネットワーク（ＷＡＮ）のような単一のネットワークで、又は複数のネットワークに渡り通信を実現するために用いられる。
【００４４】
図３は複数のネットワークのシステムの例を示す。システム１５０は、例えば追加の帯域幅を加えるのではなく、利用可能な帯域幅を管理するために用いられる。
【００４５】
ある実施例では、システム１５０は、ソフトウェア・システムである。しかしながら、システム１５０は、種々の実施例では、ハードウェア構成要素とソフトウェア構成要素の両方を有してよい。システム１５０は、例えば独立したネットワークのハードウェアであってよい。つまり、システム１５０は、種々のハードウェア及びソフトウェア・プラットフォームで機能するよう適応されてよい。ある実施例では、システム１５０は、ネットワーク内部のノードではなく、ネットワークのエッジで動作する。しかしながら、システム１５０は、ネットワーク内の「ネック」のようなネットワーク内部で動作してもよい。
【００４６】
システム１５０は、利用可能な帯域幅を最適化する、情報の優先度を設定する、及びネットワーク内のデータ・リンクを管理する等の性能管理機能を実行するために、ルール及びモード又はプロファイルを用いてよい。帯域幅を最適に使用することは、例えば、機能上、冗長なメッセージを除去すること、メッセージ・ストリーム管理又は順序付け、及びメッセージの圧縮を含む。
【００４７】
帯域幅の「最適化」とは、１又は複数のネットワークでデータを通信するために用いられる帯域幅の効率を向上するために、記載された技術が用いられることを意味する。
【００４８】
情報の優先度を設定することは、例えばインターネット・プロトコル（ＩＰ）に基づく技術よりも高い精度でメッセージの種類を識別すること、及びデータ・ストリームのメッセージを選択されたルールに基づく順序付けアルゴリズムに基づき順序付けることを含む。
【００４９】
データ・リンク管理は、例えばルール、モード、及び／又はデータ伝送の変化に影響を与えるために、ネットワークに関する測定結果をルールに基づき分析することを含む。モード又はプロファイルは、健全さ又は状態のような特定のネットワーク状態に対する動作上の必要性に関連するルールのセットを含む。
【００５０】
システム１５０は、オン・ザ・フライで新たなモードを定義すること及び新たなモードに切り替えることを含む、動的な「オン・ザ・フライ」のモードの再構成を提供する。
【００５１】
通信システム１５０は、例えば不安定な帯域幅の制限されたネットワークで、変動する優先度及びサービス程度を許容するよう構成される。システム１５０は、ネットワークの応答性能を向上し、通信の待ち時間を低減させるために、改善されたデータ・フローに対し情報を管理するよう構成される。
【００５２】
更に、システム１５０は、通信の可用性、生存性、及び信頼性を改善するために高度化可能な及び拡張可能な柔軟なアーキテクチャにより相互接続性を提供する。システム１５０は、例えば所定の及び予測可能なシステム資源及び帯域幅を用いながら、動的に変化する環境に自律的に適応可能なデータ通信アーキテクチャに対応する。
【００５３】
ある実施例では、システム１５０は、ネットワークを用いたアプリケーションに対し透過的でありながら、帯域幅の制限された軍事用通信ネットワークに性能管理を提供する。システム１５０は、ネットワークの複雑性を低減しつつ、複数のユーザー及び環境に渡り性能管理を提供する。
【００５４】
上述のように、ある実施例では、システム１５０は、７層のＯＳＩモデルの第４層（トランスポート層）の中で及び／又は第４層の上位のホスト・ノードで動作し、特殊なネットワーク・ハードウェアを必要としない。システム１５０は、第４層のインターフェースに対し透過的に動作する。つまり、アプリケーションは、トランスポート層の標準的なインターフェースを利用し、システム１５０の動作を意に介さない。例えば、アプリケーションがソケットを開けると、システム１５０は、プロトコル・スタックのこの点でデータをフィルターする。
【００５５】
システム１５０は、アプリケーションに例えばＴＣＰ／ＩＰソケットのインターフェースを使用させることにより、透過性を達成する。ＴＣＰ／ＩＰソケットのインターフェースは、システム１５０の専用インターフェースではなく、ネットワークの通信装置でオペレーティング・システムにより提供される。システム１５０は、例えば拡張マークアップ言語（ＸＭＬ）で記述され、及び／又は動的リンク・ライブラリ（ＤＬＬ）により提供される。
【００５６】
ある実施例では、システム１５０は、ネットワークのエッジでサービス品質（ＱｏＳ）を提供する。システムのＱｏＳ能力は、例えばコンテンツに基づくデータの優先順位付け、ルールに基づくデータの優先順位付けをネットワークのエッジで提供する。優先順位付けは、例えば差別化及び／又は順序付けを含む。
【００５７】
システム１５０は、例えばユーザーが設定可能な差別化ルールに基づき、メッセージを待ち行列に振り分ける。メッセージは、ユーザーにより設定された順序付けルールにより記述された順序で（例えば、スタベーション、ラウンドロビン、相対頻度、等）、データ・ストリームで順序付けられる。ＱｏＳをエッジで使用することにより、従来のＱｏＳ手法では区別できなかったデータ・メッセージは、例えばメッセージの内容に基づき差別化される。ルールは、例えばＸＭＬで実装されてよい。ある実施例では、ＸＭＬを超える能力を実現するため、及び／又は非常に短い待ち時間の要件に対応するため、システム１５０は、例えば動的リンク・ライブラリをカスタム・コードで提供してもよい。
【００５８】
ネットワークの入りデータ及び／又は出データは、システム１５０を介してカスタマイズされる。優先順位付けは、例えばクライアント・アプリケーションを大きいサイズの低い優先度のデータから保護する。システム１５０は、アプリケーションが確実にデータを受信し、個々の動作シナリオ又は制約に対応するよう支援する。
【００５９】
ある実施例では、帯域幅の制限された軍事用ネットワークへのインターフェースとしてルーターを含むＬＡＮにホストが接続されると、システムはＱｏＳとして知られる設定に従いプロキシとして動作する。この構成では、ローカルなＬＡＮへ向かうパケットは、システムを迂回し、直接にＬＡＮへ行く。システムは、ネットワークのエッジで、帯域幅の制限された軍事用リンクに向かうパケットに対しＱｏＳを適用する。
【００６０】
ある実施例では、システム１５０は、複数の動作シナリオ及び／又は環境に対し、指示されたプロファイルを切り替えることにより、動的な支援を提供する。プロファイルは、ユーザー又はシステムに指名されたプロファイルを変更させるよう名称又は他の識別子を含む。
【００６１】
プロファイルは、１又は複数の識別子を含む。識別子は、例えば機能的な冗長性ルールの識別し、差別化ルールの識別子、アーカイブ・インターフェースの識別子、順序付けルールの識別子、送信前インターフェースの識別子、送信後インターフェースの識別子、伝送の識別子、及び／又は他の識別子である。
【００６２】
機能的な冗長性ルールの識別子は、例えば古いデータ又は実質的に同一のデータから機能的な冗長性を検出するルールを特定する。
【００６３】
差別化ルールの識別子は、例えば処理のためにメッセージを待ち行列に振り分けるルールを特定する。
【００６４】
アーカイブ・インターフェースの識別子は、例えばアーカイブ・システムとのインターフェースを特定する。
【００６５】
順序付けルールの識別子は、待ち行列の先頭のサンプルを制御する順序付けアルゴリズム、及びデータのデータ・ストリームへの順序付けを識別する。
【００６６】
送信前インターフェースの識別子は、例えば符号化及び圧縮のような特定の処理を提供する送信前の処理のためのインターフェースを特定する。
【００６７】
送信後インターフェースの識別子は、例えば復号化及び伸張のような特定の処理を提供する送信後の処理のためのインターフェースを特定する。
【００６８】
伝送の識別子は、選択された伝送のためのネットワーク・インターフェースを特定する。
【００６９】
プロファイルは、例えば待ち行列のサイズに関する情報のような他の情報を含んでもよい。待ち行列のサイズに関する情報は、例えば待ち行列の数、各待ち行列に専用のメモリー及び二次記憶の量である。
【００７０】
ある実施例では、システム１５０は、帯域幅を最適化するためのルールに基づく方法を提供する。例えば、システム１５０は、待ち行列の選択ルールを用い、メッセージをメッセージ待ち行列に振り分け、メッセージがデータ・ストリーム上で優先度及び適切な相対頻度を割り当てられるようにする。
【００７１】
システム１５０は、機能的な冗長性ルールを用い、機能的に冗長なメッセージを管理する。メッセージは、例えばネットワークで未だ送信されていない先行するメッセージと十分な（ルールにより定められる程の）違いがない場合、機能的に冗長である。つまり、新しいメッセージが供給されたが、既に送信されるようスケジュールされ未だ送信されていない古いメッセージと有意な差がない場合、新しいメッセージはドロップされる。何故なら、古いメッセージは機能的に等価な情報を伝達し、待ち行列内で先にあるからである。更に、多くの機能的な冗長性は、実際に重複するメッセージ、及び古いメッセージが送信される前に到着した新しいメッセージを含む。
【００７２】
例えば、ノードは、実施されているネットワークの特性により、フォールト・トレランスを目的として２つの異なる経路により送信されたメッセージのような、特定のメッセージの同一のコピーを受信する。
【００７３】
別の例では、新たなメッセージは、未だ送信されていない古いメッセージにとって代わるデータを含む。この状況では、システム１５０は、古いメッセージをドロップし、新しいメッセージのみを送信する。
【００７４】
システム１５０はまた、優先度順序付けルールを有し、データ・ストリーム内で優先度に基づくメッセージの順序を決定する。
【００７５】
更に、システム１５０は、送信処理ルールを有し、送信前及び送信後の特定の処理、例えば圧縮及び／又は符号化を提供する。
【００７６】
ある実施例では、システム１５０は、フォールト・トレランス機能を提供し、データの完全性及び信頼性を守る。例えば、システム１５０は、ユーザーの定めた待ち行列選択ルールを用い、メッセージを待ち行列に振り分ける。待ち行列の大きさは、例えばユーザーの定めた設定に従い定められる。設定は、例えば待ち行列が使用するメモリーの最大量を特定する。
【００７７】
更に、設定は、ユーザーに、待ち行列がオーバーフローした場合に用いられる２次記憶の位置及び量を特定させてよい。待ち行列内のメモリーが一杯になった後、メッセージは２次記憶内の待ち行列に入れられる。２次記憶も一杯になると、システム１５０は、待ち行列内の最も古いメッセージを削除し、エラー・メッセージのログを採り、最も新しいメッセージを待ち行列に入れる。動作モードでアーカイブが可能な場合、待ち行列から外されたメッセージは、当該メッセージがネットワークへ送信されなかったことを示す表示と共に保管される。
【００７８】
システム１５０内の待ち行列のためのメモリー及び２次記憶は、例えば特定の用途のリンク毎に設定される。ネットワークの可用性の期間と期間の間の時間が長いほど、ネットワークの機能停止に対応するためのメモリー及び２次記憶の容量が大きくなる。システム１５０は、ネットワーク・モデル、シミュレーション・アプリケーションと統合され、例えば、機能停止と機能停止の間の時間が通常状態の保管に十分であるよう、及び最終的な待ち行列のオーバーフローを回避するのに十分なであるよう、待ち行列の大きさを適切に決定するのを支援する。
【００７９】
更に、特定の実施例では、システム１５０は、入り（「シェーピング」）及び出（「ポリシング」）データを計測する機能を提供する。ポリシング及びシェーピング機能は、ネットワーク内のタイミングの不一致を解決する。
【００８０】
シェーピングは、ネットワーク・バッファーが、低優先度のデータの後ろに待ち行列に入れられた高優先度のデータが溢れるのを防ぐ。ポリシングは、アプリケーション・データの使用者が低優先度のデータでオーバーランするのを防ぐ。ポリシング及びシェーピングは、２つのパラメータ、つまり有効リンク速度及びリンク比により制御される。
【００８１】
システム１５０は、例えばリンク比を乗算された有効リンク速度より速くないデータ・ストリームを形成する。パラメータは、ネットワークの変化に従い動的に変更される。システムは、検出したリンク速度でのアクセスを提供し、データ計測に関するアプリケーション・レベルの決定を支援する。システム１５０により提供される情報は、他のネットワーク動作情報と結合され、どのリンク速度が所与のネットワーク・シナリオに対し適切かを決定するのを支援する。
【００８２】
図４は、本発明の実施例により動作するデータ通信環境４００を図示する。環境４００は、１又は複数の送信元ノード４２０、データ通信システム４１０、及び１又は複数の宛先ノード４３０を有する。データ通信システム４１０は、送信元ノード４２０及び宛先ノード４３０と通信する。データ通信システム４１０は、送信元ノード４２０及び／又は宛先ノード４３０とリンク、例えば有線、無線、ネットワーク・リンクを介して、及び／又はプロセス間通信を通じて相互通信する。
【００８３】
特定の実施例では、データ通信システム４１０は、１又は複数の送信元ノード４２０及び／又は宛先ノード４３０と、１又は複数の軍事用データ・ネットワークを介して通信する。システム４００の構成要素は、単一のユニット、別個のユニットであってよく、種々の形式で統合されてよく、及びハードウェア及び／又はソフトウェアで実施されてよい。
【００８４】
データ通信システム４１０は、例えば上述の通信システム１５０と同様である。特定の実施例では、データ通信システム４１０は、１又は複数の送信元ノード４２０からデータを受信する。
【００８５】
特定の実施例では、データ通信システム４１０は、コンピューター命令及びル―ルを格納するメモリー・ユニット及び／又はデータ・ベースを有する。データ通信システム４１０はまた、データ、ルール、及び命令を処理するプロセッサーを有する。
【００８６】
特定の実施例では、データ通信システム４１０は、データを格納し、構成し、及び／又は優先度を付与する１又は複数の待ち行列を有する。或いは、データを格納し、構成し、及び／又は優先度を付与するために他のデータ構造が用いられてもよい。例えば、テーブル、ツリー、又はリンク付けされたリストが用いられてよい。
【００８７】
特定の実施例では、データ通信システム４１０は、１又は複数の宛先ノード４３０とデータを通信する。
【００８８】
特定の実施例では、データ通信システム４１０は、他のアプリケーションと透過である。例えば、データ通信システム４１０により実行される処理、構成、及び／又は優先度の付与は、１又は複数の送信元ノード４２０又は他のアプリケーション又はデータ・ソースと透過であってよい。例えば、データ通信システム４１０、又はデータ通信システム４１０と接続された送信元ノード４２０のような同一のシステムで動作するアプリケーションは、データ通信システム４１０により実行されたデータの優先度の付与を知らない。
【００８９】
データ通信システム４１０の構成要素、要素、及び／又は機能は、例えば単独で又はハードウェア、ファームウェアの種々の形式の組み合せで、及び／又はソフトウェアの命令セットで実施されてよい。特定の実施例は、メモリー、ハードディスク、ＤＶＤ、又はＣＤのようなコンピューター可読媒体に存在し、汎用コンピューター又は他の処理装置で実行される命令セットとして提供される。
【００９０】
送信元ノード４２０は、センサー又は測定装置を有し、データ又は遠隔情報を収集する。例えば、送信元ノード４２０は、全地球測位システムであり、タンク、高機動多用途装輪車両、個人用輸送車のような移動する車両、又は個々の兵士の位置データを示す。別の例では、送信元ノード４２０は、ビデオ又は画像を取得するビデオ又は静止画カメラのような写真撮影ユニットであってよい。
【００９１】
別の例では、送信元ノードは、ラジオ又はマイクのような通信モジュールであってよい。宛先ノード４３０は、送信元ノード４２０により取得されたデータに関心のある如何なる装置又はシステムであってもよい。例えば、宛先ノ―ド４３０は、司令部又は調査部により用いられる受信機、中央コンピューター・システム、及び／又はコンピューターであってよい。
【００９２】
データ通信システム４１０により受信され、格納され、優先順位付けされ、処理され、通信され、及び／又は送信されたデータは、データのブロックを有する。データのブロックは、例えば、パケット、セル、フレーム、及び／又はストリームであってよい。例えば、データ通信システム４１０は、送信元ノード４２０からデータのパケットを受信する。別の例では、データ通信システム４１０は、送信元ノード４２０からのデータのストリームを処理する。
【００９３】
特定の実施例では、データはプロトコル情報を含む。プロトコル情報は、１又は複数のプロトコルにより、例えばデータを通信するために使用される。プロトコル情報は、例えば送信元アドレス、宛先アドレス、送信元ポート、宛先ポート、及び／又はプロトコルの種類を有する。送信元及び／又は宛先アドレスは、例えば、送信元ノード４２０及び／又は宛先ノード４３０のＩＰアドレスである。
【００９４】
プロトコルの種類は、データ通信の１又は複数の層で用いられるプロトコルの種類を含む。例えば、プロトコルの種類は、送信制御プロトコル（ＴＣＰ）、ユーザー・データグラム・プロトコル（ＵＤＰ）、又はストリーム制御送信プロトコル（ＳＣＴＰ）のようなトランスポート・プロトコルである。
【００９５】
別の例では、プロトコルの種類は、インターネット・プロトコル（ＩＰ）、インターネットワーク・パケット・エクスチェンジ（ＩＰＸ）、イーサネット（登録商標）、非同期転送モード（ＡＴＭ）、ファイル転送プロトコル（ＦＴＰ）、及び／又はリアルタイム・トランスポート・プロトコル（ＲＴＰ）を含む。
【００９６】
特定の実施例では、データはタイムスタンプ情報を含む。タイムスタンプ情報は、例えば、送信元ノード４２０がデータを取得した時間である。タイムスタンプ情報はまた、例えば、データが期限切れになる、又は「古く」なる時間を示す。
【００９７】
特定の実施例では、データはヘッダー及びペイロードを含む。ヘッダーは、例えば、プロトコル情報及びタイムスタンプ情報の幾つか又は全てを有する。
【００９８】
特定の実施例では、プロトコル情報及びタイムスタンプ情報の幾つか又は全てはペイロードに含まれる。例えば、プロトコル情報は、データのブロックのペイロード部分に格納された上位のプロトコルに関する情報を含む。
【００９９】
特定の実施例では、データはメモリー内で連続していない。つまり、１又は複数のデータ部分は、メモリーの異なる領域に配置される。例えば、プロトコル情報はメモリーのある領域に格納され、ペイロードは別のバッファーに格納され、タイムスタンプ情報は更に別のバッファーに格納される。
【０１００】
ある実施例では、送信元ノード４２０及びデータ通信システム４１０は、同一の移動ユニットの部分である。移動ユニットは、タンク、高機動多用途装輪車両、個人用輸送車、個々の兵士、無人機、又は他の移動するユニットである。タンクは、ＧＰＳセンサーを有し、送信元ユニット４２０の位置データを示してよい。位置データは、データ通信システム４１０へ伝達される。データ通信システム４１０は、タンクに設置される。データ通信システム４１０は、宛先ノード４３０へ伝達するデータを準備する。
【０１０１】
宛先ノードへの通信の準備の一環として、データ通信システム４１０は、ある種のネットワーク・アクセス・プロトコルを実行する。ネットワーク・アクセス・プロトコルは、制御ユニットからネットワークへのアクセスを要求する段階、媒体の利用可能性を検知する段階、又は他の形式のアクセス制御を有する。
【０１０２】
ある例では、データ通信システム４１０がアクセスを要求しようとしているネットワークは、帯域が制限されている。更に、１又は複数のリンクが信頼性がなく及び／又は間欠的に切断される。従って、データ通信システム４１０は、データ通信システム４１０がネットワークにアクセス可能になり、宛先４３０へデータを伝達できるまで、送信元４２０から受信したデータを一時的に待ち行列に入れる。
【０１０３】
例えば、送信元４２０は、データ・セットを取得する。送信元４２０は、データ・セットをデータ通信システム４１０へ伝達する。データ通信システム４１０は、現在、ネットワークへアクセスできず、データ・セットを宛先４３０へ送信できない。従って、データ・セットは、データ通信システム４１０がネットワークにアクセスするまで、待ち行列に一時的に入れられる。
【０１０４】
データがデータのタイミングに関する種類である場合、データが待ち行列内で費やす時間量は、データの妥当性に影響を与える。例えば、データ・セットがリアルタイム・データである場合、データ・セットは、送信前に待ち行列内で多くの時間を費やし、無関係なデータ・セットになる可能性がある。換言すると、データ・セットは「古く」なる。
【０１０５】
別の例では、データ・セットの取得と送信との間の時間が比較的大きく、データ・セットが無関係になり、「古く」なる。古いデータの宛先４３０への送信は、ネットワーク帯域を不必要に消費してしまう。
【０１０６】
図５は、本発明の実施例により動作するデータ通信環境５００を図示する。環境５００では、３つのノード、つまりノードＡ５１０、ノードＢ５２０、及びノードＣ５３０が示される。
【０１０７】
更に、ノードＡ、Ｂ、Ｃを接続する２つのネットワークが示される。ネットワークＡ５４０は、ノードＡ５１０とノードＢ５２０を接続する。ネットワークＢ５５０は、ノードＢ５２０とノードＣ５３０を接続する。ノードＡ、Ｂ、Ｃ５１０−５３０のそれぞれ、及びネットワークＡ５４０とネットワークＢ５５０は、システム４００を表す。
【０１０８】
例えば、ノードＡ５１０とネットワークＡ５４０は、送信元４２０及びデータ通信システム４１０を表す。ノードＢは宛先４３０を表す。ノードＡ−Ｃ５１０−５３０は、任意のデータ取得、送信、又は受信ハードウェア、ソフトウェア、及び／又はファームウェアである。ネットワークＡ、Ｂ５４０、５３０は、任意のネットワーク接続ハードウェア、ソフトウェア、及び／又はファームウェアである。
【０１０９】
説明のための実施例では、ノードＡ５１０は、データ・セット・メッセージ＃１  ５６０、以後データ・セット５６０を取得する。データ・セット５６０は、現在の時刻ｔ−１で取得される。
【０１１０】
ある実施例では、現在の取得時刻ｔ−１は、データ・セット５６０のタイムスタンプに含まれる。或いは、データ・セット５６０のタイムスタンプは、データ・セットの「古い」時刻を含む。「古い」時刻は、データ・セットが無関係になる、つまり期限切れになる時刻を示す。データ・セットが期限切れになる時刻は、選択されたモードに基づく。ある実施例では、モードはユーザーにより選択される。
【０１１１】
別の実施例では、モードは、ネットワーク状態に基づき動的に選択される。図５に示された例では、データ・セット５６０の「古い」時刻は、ｔ＋１である。更に別の実施例では、タイムスタンプは、データ・セットの現在の取得時刻及び「古い」時刻の両方を含む。
【０１１２】
図５に示されるように、データ・セット５６０は、ネットワークＡ５４０を介して通信され、ノードＢ５２０により受信される。図５に示されるように、ノードＢ５２０がデータ・セット５６０をノードＣ５３０へ送信する前に、データ・セット５６０のタイムスタンプが検査される。
【０１１３】
図５の図示された実施例では、データ・セット５６０のタイムスタンプは、データ・セット５６０の古いデータ時刻を有する。タイムスタンプは、データ・セット５６０の古いデータ時刻がｔ＋１であることを示す。古いデータ時刻が得られると、ノードＢ５２０は、自身の内部クロックで現在の時刻を評価する。現在の時刻を古い時刻と比較することにより、データ・セット５６０が古いデータか否かを決定する。
【０１１４】
図５に図示された実施例では、ノードＢ５２０は、データ・セット５６０の古いデータ時刻（ｔ＋１）を現在の時刻（ｔ＋２）と比較する。現在の時刻ｔ＋２が古い時刻ｔ＋１より大きいので、データ・セット５６０は期限切れである。従って、データ・セット５６０は「古い」と見なされ、ノードＢからの送信からドロップされる。ある実施例では、データ・セットは送信待ち行列からドロップされる。
【０１１５】
図６は、本発明の実施例に関連するフロー図６００を示す。段階６１０で、データ・セットのタイムスタンプが検査される。フロー図６００に示された実施例では、タイムスタンプは、データが期限切れ又は「古く」なる時刻を表す。データ・セットが期限切れになる時刻は、選択されたモードに基づく。
【０１１６】
ある実施例では、モードはユーザーにより選択される。別の実施例では、モードは、ネットワーク状態に基づき動的に選択される。古い時刻が現在の時刻と比較され、データが期限切れかどうかが決定される。
【０１１７】
段階６２０で、タイムスタンプの値が現在の時刻と比較される、現在の時刻がタイムスタンプの時刻値より小さい場合、データ・セットは古くなく、フロー図６００は段階６５０へ進む。
段階６５０で、データ・セットが送信される。現在の時刻がタイムスタンプの時刻値より大きい場合、データ・セットは古く、フロー図６００は段階６４０へ進む。
【０１１８】
段階６４０で、データ・セットはドロップされ、送信されない。
【０１１９】
図７は、本発明の実施例に関連するフロー図７００を示す。フロー図７００に示された実施例では、タイムスタンプは、データが送信元から「取得された」時刻を表す。
【０１２０】
本実施例では、タイムスタンプは、データが送信元から取得された時刻を表し、データ・セットは、データ・セットがどのグループに属するかを識別するためのフィールドを含む。例えば、データ・セットが位置データのようなリアルタイムのデ―タを有するグループに属する場合、データの期限は比較的短い。データ・セットが周期的な状態報告のような非リアルタイムのデ―タを有するグループに属する場合、データの期限は比較的長い。
【０１２１】
データ・セットの識別子フィールドは、当該データ・セットがどのグループに属するかを示す。受信機はこの情報を用い、データ・セットが超えてはならない所定の閾値を決定する。
【０１２２】
識別子フィールドは、データが発生する送信元に基づき、動的に割り当てられた値である。識別子フィールドはまた、ユーザーが通信システムのモードを選択するときに、ユーザーにより制御される。データ・セットが期限切れになる時刻は、選択されたモードに基づく。
【０１２３】
ある実施例では、モードはユーザーにより選択される。別の実施例では、モードは、ネットワーク状態に基づき動的に選択される。
【０１２４】
図７に示された実施例では、段階７１０で、タイムスタンプが検査される。段階７２０で、識別子フィールドが検査される。識別子フィールドは、特定のグループに関連付けられる。グループは、所定の閾時間期間に関連付けられる。データ・セットの期限切れ時刻は、データ・セットがどのグループに属するかに依存する。
【０１２５】
段階７３０で、タイムスタンプと現在の時刻との間の値の差が計算される、
段階７４０で、タイムスタンプと現在の時刻との間の値の差が、データ・セットが属するグループの所定の閾値と比較される。
【０１２６】
タイムスタンプと現在の時刻との間の値の差が、所定の閾値より小さい場合、フロー図は段階７５０へ進み、データ・セットを送信する。
【０１２７】
タイムスタンプと現在の時刻との間の値の差が、所定の閾値より大きい場合、フロー図は段階７６０へ進み、データ・セットを送信からドロップする。ある実施例では、データ・セットは送信待ち行列からドロップされる。
【０１２８】
図８は、本発明の実施例に関連する方法８００を示す。
段階８１０で、データ・セットが受信される。
【０１２９】
段階８２０で、データ・セットのタイムスタンプが検査される。
【０１３０】
ある実施例では、現在の取得時刻は、データ・セットのタイムスタンプに含まれる。或いは、データ・セットのタイムスタンプは、データ・セットの「古い」時刻を含む。「古い」時刻は、データ・セットが無関係になる、つまり期限切れになる時刻を示す。データ・セットが期限切れになる時刻は、選択されたモードに基づく。
【０１３１】
ある実施例では、モードはユーザーにより選択される。
【０１３２】
別の実施例では、モードは、ネットワーク状態に基づき動的に選択される。更に別の実施例では、タイムスタンプは、データ・セットの現在の取得時刻及び「古い」時刻の両方を含む。方法８００に示される実施例では、タイムスタンプは、データ・セットの「古い」時刻を含む。
【０１３３】
段階８３０で、タイムスタンプの時間値、つまりデータ・セットの「古い」時刻値が現在の時刻より大きいかどうかが決定される。
【０１３４】
段階８４０で、現在の時刻がタイムスタンプの時刻値より大きい場合、データ・セットは期限切れであり、データ・セットはドロップされる。
【０１３５】
図９は、本発明の実施例に関連する方法９００を示す。
【０１３６】
段階９１０で、データ・セットが受信される。
【０１３７】
段階９２０で、データ・セットのタイムスタンプが検査される。
【０１３８】
ある実施例では、現在の取得時刻は、データ・セットのタイムスタンプに含まれる。或いは、データ・セットのタイムスタンプは、データ・セットの「古い」時刻を含む。「古い」時刻は、データ・セットが無関係になる時刻を示す。
【０１３９】
更に別の実施例では、タイムスタンプは、データ・セットの現在の取得時刻及び「古い」時刻の両方を含む。方法９００に示される実施例では、タイムスタンプは、送信元からデータ・セットを取得した時刻を含む。
【０１４０】
段階９３０で、データ・セットは、データ・セットがどのグループに属するかを識別するフィールドを有する。例えば、データ・セットが位置データのようなリアルタイムのデ―タを有するグループに属する場合、データの期限は比較的短い。データ・セットが周期的な状態報告のような非リアルタイムのデ―タを有するグループに属する場合、データの期限は比較的長い。
【０１４１】
データ・セットの識別子フィールドは、当該データ・セットがどのグループに属するかを示す。受信機はこの情報を用い、データ・セットが超えてはならない所定の閾値を決定する。
【０１４２】
識別子フィールドは、データが発生する送信元に基づき、動的に割り当てられた値である。識別子フィールドはまた、ユーザーが通信システムのモードを選択するときに、ユーザーにより制御される。
段階９３０で、識別子、特定のグループに関連付けられたデータ・セット、及び所定の時間期間が検査される。
【０１４３】
段階９４０で、タイムスタンプと現在の時刻との間の値の差が計算される、
段階９５０で、タイムスタンプと現在の時刻との間の値の差が、所定の閾値より大きい場合、データ・セットはドロップされ、送信されない。
【０１４４】
方法８００及び９００の１又は複数の段階は、例えば単独で又はハードウェア、ファームウェアの種々の形式の組み合せで、及び／又はソフトウェアの命令セットで実施されてよい。特定の実施例は、メモリー、ハードディスク、ＤＶＤ、又はＣＤのようなコンピューター可読媒体に存在し、汎用コンピューター又は他の処理装置で実行される命令セットとして提供される。
【０１４５】
本発明の特定の実施例は、方法８００及び９００の１又は複数の段階を省略してもよく、及び／又は示された順序と異なる順序で段階を実行してもよい。例えば、幾つかの段階は、本発明の特定の実施例では実行されない。更なる例として、特定の段階は、上述と異なる時間的順序、例えば同時に実行される。
【０１４６】
上述のシステム及び方法８００は、コンピューターのための命令セットを有するコンピューター可読記憶媒体の一部として実施されてよい。命令セットは、データ・セットを受信する受信ルーチンを有する。
【０１４７】
ある実施例では、現在の取得時刻は、データ・セットのタイムスタンプに含まれる。或いは、データ・セットのタイムスタンプは、データ・セットの「古い」時刻を含む。「古い」時刻は、データ・セットが無関係になる時刻を示す。
【０１４８】
更に別の実施例では、タイムスタンプは、データ・セットの現在の取得時刻及び「古い」時刻の両方を含む。
【０１４９】
命令セットは、データ・セットのタイムスタンプを検査する検査ルーチンを有する。タイムスタンプは、タイムスタンプの値を決定するために検査される。命令セットは、タイムスタンプの値が現在の時刻より大きいかどうかを決定する比較ルーチンを含む。命令セットは、現在の時刻がタイムスタンプの時刻値を超えている場合には、データ・セットをドロップするドロップ・ルーチンを有する。
【０１５０】
上述のシステム及び方法９００は、コンピューターのための命令セットを有するコンピューター可読記憶媒体の一部として実施されてよい。命令セットは、データ・セットを受信する受信ルーチンを有する。命令セットは、データ・セットのタイムスタンプを検査する検査ルーチンを有する。
【０１５１】
ある実施例では、現在の取得時刻は、データ・セットのタイムスタンプに含まれる。或いは、データ・セットのタイムスタンプは、データ・セットの「古い」時刻を含む。「古い」時刻は、データ・セットが無関係になる時刻を示す。更に別の実施例では、タイムスタンプは、データ・セットの現在の取得時刻及び「古い」時刻の両方を含む。
【０１５２】
命令セットは、データ・セットの識別子を検査し、データ・セットを所定の時間期間と関連付ける識別ルーチンを有する。
【０１５３】
ある実施例では、データ・セットは、データ・セットがどのグループに属するかを識別するフィールドを有する。例えば、データ・セットが位置データのようなリアルタイムのデ―タを有するグループに属する場合、データの期限は比較的短い。データ・セットが周期的な状態報告のような非リアルタイムのデ―タを有するグループに属する場合、データの期限は比較的長い。
【０１５４】
データ・セットの識別子フィールドは、当該データ・セットがどのグループに属するかを示す。受信機はこの情報を用い、データ・セットが超えてはならない所定の閾値を決定する。
【０１５５】
識別子フィールドは、データが発生する送信元に基づき、動的に割り当てられた値である。識別子フィールドはまた、ユーザーが通信システムのモードを選択するときに、ユーザーにより制御される。識別子、特定のグループに関連付けられたデータ・セット、及び所定の時間期間が検査される。
【０１５６】
命令セットは、タイムスタンプの値が現在の時刻より大きいかどうかを決定する比較ルーチンを含む。命令セットは、現在の時刻がタイムスタンプの時刻値を超えている場合には、データ・セットをドロップするドロップ・ルーチンを有する。
【図１】
2010515284.tif 000003
【図２】
2010515284.tif 000004
【図３】
2010515284.tif 000005
【図４】
2010515284.tif 000006
【図５】
2010515284.tif 000007
【図６】
2010515284.tif 000008
【図７】
2010515284.tif 000009
【図８】
2010515284.tif 000010
【図９】
2010515284.tif 000011
【手続補正書】
【提出日】平成20年5月30日(2008.5.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データ通信のサービス品質を制御する方法であって、
前記方法は、
時間値を有するデータ・セットのタイムスタンプを調べる段階、を有し、前記タイムスタンプは、前記データ・セットの内容が生成された時刻を表し、前記時間値は前記データ・セットが受信された時刻より前であり、
前記方法は、
データ・セットの識別子を調べ、前記データ・セットを、それぞれ所定の閾時間値と関連付けられた複数のグループの１つと関連付ける段階、
前記タイムスタンプの前記時間値と現在の時刻との間の差を計算する段階、及び
前記タイムスタンプの前記時間値と現在の時刻との間の前記差が前記所定の閾時間値を超えている場合は、前記データ・セットをドロップする段階、を有する方法。
【請求項２】
前記ドロップする段階は、前記データ・セットを待ち行列からドロップする段階を有する、請求項１に記載の方法。
【請求項３】
前記所定の閾時間値は、選択されたモードにより決定される、請求項１記載の方法。
【請求項４】
前記選択されたモードは、ネットワーク状態に基づき動的に選択される、請求項３記載の方法。
【請求項５】
前記タイムスタンプは、前記データ・セットが取得された時刻、及び前記データ・セットが期限切れになる時刻を有する、請求項１に記載の方法。
【国際調査報告】
2010515284.tif 000012
2010515284.tif 000013
2010515284.tif 000014