(57)【特許請求の範囲】
【請求項１】
ネットワーク通信における、オブジェクトベースのトランスポートレイヤを提供する方法であって、
リモートネットワークノードに伝達するための１つまたは複数のオブジェクトを、アプリケーションから受信することと、
前記１つまたは複数のオブジェクトについてのメタデータを、前記アプリケーションから受信することと、ここにおいて、前記メタデータは、ネットワークプロトコルレイヤを介して送信するためのオブジェクトベーストランスポートレイヤにより前記１つまたは複数のオブジェクトを順序づけるための優先度を備える、
前記リモートネットワークノードに前記１つまたは複数のオブジェクトを伝達するためのセッションを選択することと、
前記メタデータ中で指示された前記１つまたは複数のオブジェクトの前記優先度に少なくとも部分的に基づいて、前記セッションのチャネルに関連した少なくとも１つのネットワークインターフェースを介して送信するための前記１つまたは複数のオブジェクトを前記オブジェクトベーストランスポートレイヤからネットワークプロトコルレイヤに提供することとを備える方法。
【請求項２】
前記少なくとも１つのネットワークインターフェースについての送信機会を検出することと、
前記１つまたは複数のオブジェクトの前記優先度が、前記セッション、または前記少なくとも１つのネットワークインターフェースに関連した前記チャネルもしくは異なるチャネルをもつ異なるセッション中の異なるオブジェクトの少なくとも異なる優先度よりも高いと判断することであって、前記１つまたは複数のオブジェクトを前記提供することが、前記判断に少なくとも部分的に基づくこととをさらに備える、請求項１に記載の方法。
【請求項３】
前記送信機会を前記検出することが、前記チャネルのための輻輳制御を分析して、前記チャネルが、前記少なくとも１つのネットワークインターフェースを介して前記１つまたは複数のオブジェクトを送信するために利用可能であると判断することを含む、請求項２に記載の方法。
【請求項４】
前記送信機会を前記検出することが、前記セッションの状態を分析して、前記セッションが、前記少なくとも１つのネットワークインターフェースを介して前記１つまたは複数のオブジェクトを送信するために利用可能であると判断することを含む、請求項２に記載の方法。
【請求項５】
前記セッション中の１つまたは複数の異なるオブジェクトに関連した送信期限を判断することと、
前記送信期限の経過に少なくとも部分的に基づいて、前記１つまたは複数の異なるオブジェクトの送信を取り消すこととをさらに備える、請求項１に記載の方法。
【請求項６】
前記１つまたは複数のオブジェクトに関連した後続オブジェクトの１つまたは複数のプロパティを修正することを求める要求を前記リモートネットワークノードから受信することをさらに備える、請求項１に記載の方法。
【請求項７】
前記１つまたは複数のオブジェクトに関連した、１つまたは複数の後続オブジェクトの前記１つまたは複数のプロパティを修正することであって、前記１つまたは複数のプロパティが、修正された優先度を含むことと、
前記修正された優先度に少なくとも部分的に基づいて、前記セッションの前記チャネルに関連した前記少なくとも１つのネットワークインターフェースを介して送信するための前記１つまたは複数の後続オブジェクトを、前記ネットワークプロトコルレイヤに提供することとをさらに備える、請求項６に記載の方法。
【請求項８】
前記チャネルまたは前記セッションの状態を修正することを求める要求を前記リモートネットワークノードから受信することをさらに備える、請求項１に記載の方法。
【請求項９】
前記要求に少なくとも部分的に基づいて、前記セッションを保留することをさらに備える、請求項８に記載の方法。
【請求項１０】
前記リモートネットワークノードと通信するための前記セッションへの、異なるネットワークインターフェースに関連した追加チャネルを確立することをさらに備える、請求項１に記載の方法。
【請求項１１】
少なくとも部分的には、前記チャネルを介して前記リモートネットワークノードから受信したセキュリティアソシエーションを含む前記追加チャネルを確立することを求める要求を伝達することによって、前記リモートネットワークノードとの前記追加チャネルを確立することをさらに備える、請求項１０に記載の方法。
【請求項１２】
前記セッションから前記チャネルを削除することと、
前記１つまたは複数の後続オブジェクトについて指示された前記優先度に少なくとも部分的に基づいて、前記追加チャネルに関連した前記異なるネットワークインターフェースを介して送信するための前記１つまたは複数のオブジェクトに関連した１つまたは複数の後続オブジェクトを、前記ネットワークプロトコルレイヤに提供することとをさらに備える、請求項１０に記載の方法。
【請求項１３】
消失符号を使って前記１つまたは複数のオブジェクトを符号化して、複数のオブジェクトコード化プロトコルデータ単位（ＰＤＵ）を生成することであって、前記ネットワークプロトコルレイヤに前記１つまたは複数のオブジェクトを前記提供することが、前記１つまたは複数のオブジェクトコード化ＰＤＵを前記ネットワークプロトコルレイヤに提供することを含むことをさらに備える、請求項１に記載の方法。
【請求項１４】
前記１つまたは複数のオブジェクトに少なくとも部分的に基づいて、前記リモートネットワークノードから、１つまたは複数の応答オブジェクトの少なくとも一部分を受信することと、
前記１つまたは複数の応答オブジェクトを、前記１つまたは複数のオブジェクトに関連したものとして識別したことに少なくとも部分的に基づいて、前記１つまたは複数の応答オブジェクトを前記アプリケーションに提供することとをさらに備える、請求項１に記載の方法。
【請求項１５】
前記セッションの前記チャネルに関連した前記少なくとも１つのネットワークインターフェースを介して送信するための前記メタデータを、前記ネットワークプロトコルレイヤに提供することであって、前記メタデータが、前記１つまたは複数の応答オブジェクトについての応答プロパティを含むことをさらに備える、請求項１４に記載の方法。
【請求項１６】
前記リモートネットワークノードに、前記応答プロパティを修正することを求める要求を送信することをさらに備える、請求項１５に記載の方法。
【請求項１７】
前記１つまたは複数の応答オブジェクトに関連した、異なるセッションまたは異なるチャネルの状態を修正することを求める要求を、前記リモートネットワークノードに送信することをさらに備える、請求項１５に記載の方法。
【請求項１８】
前記１つまたは複数の応答オブジェクトに対応する１つまたは複数の異なるオブジェクトコード化プロトコルデータ単位（ＰＤＵ）を、異なるリモートネットワークノードから受信することと、
前記１つまたは複数の異なるオブジェクトコード化ＰＤＵが前記１つまたは複数の応答オブジェクトに関連すると判断することと、
前記１つまたは複数の異なるオブジェクトコード化ＰＤＵを、前記リモートネットワークノードから受信した１つまたは複数のオブジェクトコード化ＰＤＵとマージして、前記１つまたは複数の応答オブジェクトを形成することとをさらに備える、請求項１４に記載の方法。
【請求項１９】
前記１つまたは複数のオブジェクトが、サイズにおいて異なる、請求項１に記載の方法。
【請求項２０】
ネットワーク通信における、オブジェクトベースのトランスポートレイヤを提供するための装置であって、
リモートネットワークノードに伝達するための１つまたは複数のオブジェクトを、アプリケーションから取得し、
前記１つまたは複数のオブジェクトについてのメタデータを、前記アプリケーションから取得し、ここにおいて、前記メタデータは、ネットワークプロトコルレイヤを介して送信するためのオブジェクトベーストランスポートレイヤにより前記１つまたは複数のオブジェクトを順序づけるための優先度を備える、
前記リモートネットワークノードに前記１つまたは複数のオブジェクトを伝達するためのセッションを決定し、
前記メタデータ中で指示された前記優先度に少なくとも部分的に基づいて、前記セッションのチャネルに関連した少なくとも１つのネットワークインターフェースを介して送信するための前記１つまたは複数のオブジェクトをネットワークプロトコルレイヤに前記オブジェクトベースのトランスポートレイヤから伝達するように構成された少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに結合されたメモリとを備える装置。
【請求項２１】
ネットワーク通信における、オブジェクトベースのトランスポートレイヤを提供するための装置であって、
リモートネットワークノードに伝達するための１つまたは複数のオブジェクトを、アプリケーションから受信するための手段と、
前記１つまたは複数のオブジェクトについてのメタデータを、前記アプリケーションから受信するための手段と、ここにおいて、前記メタデータは、ネットワークプロトコルレイヤを介して送信するためのオブジェクトベーストランスポートレイヤにより前記１つまたは複数のオブジェクトを順序づけるための優先度を備える、
前記メタデータ中で指示された前記優先度に少なくとも部分的に基づいて、選択されたセッションのチャネルに関連した少なくとも１つのネットワークインターフェースを介して送信するための前記１つまたは複数のオブジェクトを、前記オブジェクトベーストランスポートレイヤからネットワークプロトコルレイヤに与えるため手段とを備える装置。
【請求項２２】
ネットワーク通信における、オブジェクトベースのトランスポートレイヤを提供するためのコンピュータ読取可能記録媒体であって、
少なくとも１つのコンピュータに、リモートネットワークノードに伝達するための１つまたは複数のオブジェクトをアプリケーションから受信させるためのコードと、
前記少なくとも１つのコンピュータに、前記１つまたは複数のオブジェクトについてのメタデータを前記アプリケーションから取得させるためのコードと、ここにおいて、前記メタデータは、ネットワークプロトコルレイヤを介して送信するためのオブジェクトベーストランスポートレイヤにより前記１つまたは複数のオブジェクトを順序づけるための優先度を備える、
前記少なくとも１つのコンピュータに、前記１つまたは複数のオブジェクトを前記リモートネットワークノードに伝達するためのセッションを決定させるためのコードと、
前記少なくとも１つのコンピュータに、前記メタデータ中で指示された前記優先度に少なくとも部分的に基づいて、前記セッションのチャネルに関連した少なくとも１つのネットワークインターフェースを介して送信するための前記１つまたは複数のオブジェクトをネットワークプロトコルレイヤに前記オブジェクトベーストランスポートレイヤ伝達させるためのコードとを備えるコンピュータ読取可能記録媒体。
【請求項２３】
ネットワーク通信における、オブジェクトベースのトランスポートレイヤを提供するための装置であって、
リモートネットワークノードに伝達するための１つまたは複数のオブジェクトを、アプリケーションから取得するためのオブジェクト受信構成要素と、
前記１つまたは複数のオブジェクトについてのメタデータを、前記アプリケーションから受信するためのオブジェクトプロパティ関連付け構成要素と、ここにおいて、前記メタデータは、ネットワークプロトコルレイヤを介して送信するためのオブジェクトベーストランスポートレイヤにより前記１つまたは複数のオブジェクトを順序づけるための優先度を備える、
前記メタデータ中で指示された前記１つまたは複数のオブジェクトについての前記優先度に少なくとも部分的に基づいて、選択されたセッションのチャネルに関連した少なくとも１つのネットワークインターフェースを介して送信するための前記１つまたは複数のオブジェクトを前記オブジェクトベーストランスポートレイヤからネットワークプロトコルレイヤに与えるためのオブジェクト通信構成要素とを備える装置。
【請求項２４】
前記オブジェクト通信構成要素が、前記少なくとも１つのネットワークインターフェースについての送信機会を検出したこと、および前記１つまたは複数のオブジェクトについての前記優先度が、少なくとも、前記選択されたセッション、または前記チャネルもしくは前記少なくとも１つのネットワークインターフェースを介した異なるチャネルを有する異なるセッション中の異なるオブジェクトの異なる優先度よりも高いと判断したことに少なくとも部分的に基づいて、前記１つまたは複数のオブジェクトを前記ネットワークプロトコルレイヤに提供する、請求項２３に記載の装置。
【請求項２５】
前記オブジェクト通信構成要素が、少なくとも部分的には、前記チャネルに対する輻輳制御を分析することによって、前記送信機会を検出して、前記少なくとも１つのネットワークインターフェースを介して前記１つまたは複数のオブジェクトを送信するのに前記チャネルが利用可能かどうか判断する、請求項２４に記載の装置。
【請求項２６】
前記オブジェクト通信構成要素が、少なくとも部分的には、前記選択されたセッションの状態を分析することによって前記送信機会を検出して、前記少なくとも１つのネットワークインターフェースを介して前記１つまたは複数のオブジェクトを送信するのに前記選択されたセッションが利用可能かどうか判断する、請求項２４に記載の装置。
【請求項２７】
前記オブジェクト通信構成要素が、前記選択されたセッション中の１つまたは複数の異なるオブジェクトに関連した送信期限を決定し、前記送信期限に少なくとも部分的に基づいて、前記１つまたは複数の異なるオブジェクトの送信を取り消すようにさらに構成される、請求項２３に記載の装置。
【請求項２８】
前記１つまたは複数のオブジェクトに関連した後続オブジェクトの１つまたは複数のプロパティを修正することを求める要求を前記リモートネットワークノードから受信するためのオブジェクトプロパティ修正構成要素をさらに備える、請求項２３に記載の装置。
【請求項２９】
前記オブジェクトプロパティ修正構成要素が、前記１つまたは複数のオブジェクトに関連した１つまたは複数の後続オブジェクトの前記１つまたは複数のプロパティを修正し、前記オブジェクト通信構成要素が、前記選択されたセッションの前記チャネルに関連した前記少なくとも１つのネットワークインターフェースを介して送信するための前記１つまたは複数の後続オブジェクトを前記ネットワークプロトコルレイヤに提供する、請求項２８に記載の装置。
【請求項３０】
前記チャネルまたは前記選択されたセッションの状態を修正することを求める要求を前記リモートネットワークノードから受信するためのオブジェクトプロパティ修正構成要素をさらに備える、請求項２３に記載の装置。
【請求項３１】
前記リモートネットワークノードからの前記要求に少なくとも部分的に基づいて、前記チャネルまたは前記選択されたセッションを保留するためのセッション状態更新構成要素をさらに備える、請求項３０に記載の装置。
【請求項３２】
前記オブジェクト通信構成要素が、前記リモートネットワークノードと通信するための前記選択されたセッションに、異なるネットワークインターフェースに関連した追加チャネルを追加する、請求項２３に記載の装置。
【請求項３３】
前記オブジェクト通信構成要素が、少なくとも部分的には、前記チャネルを介して前記リモートネットワークノードから受信したセキュリティアソシエーションを含む前記追加チャネルを確立することを求める要求を伝達することによって、前記リモートネットワークノードとの前記追加チャネルを確立する、請求項３２に記載の装置。
【請求項３４】
前記オブジェクト通信構成要素が、前記選択されたセッションから前記チャネルを削除する、請求項３２に記載の装置。
【請求項３５】
消失符号を使って前記１つまたは複数のオブジェクトを符号化して、複数のオブジェクトコード化プロトコルデータ単位（ＰＤＵ）を生成するためのオブジェクトコード化構成要素をさらに備え、前記オブジェクト通信構成要素が、前記複数のオブジェクトコード化ＰＤＵを前記ネットワークプロトコルレイヤに提供する、請求項２３に記載の装置。
【請求項３６】
１つまたは複数の応答オブジェクトを前記アプリケーションに送るオブジェクト提供構成要素をさらに備え、前記オブジェクト通信構成要素が、前記チャネルを介して前記１つまたは複数の応答オブジェクトを受信する、請求項２３に記載の装置。
【請求項３７】
前記オブジェクト通信構成要素が、前記メタデータを前記ネットワークプロトコルレイヤにさらに伝達し、前記メタデータが、前記１つまたは複数の応答オブジェクトについての応答プロパティを含む、請求項３６に記載の装置。
【請求項３８】
前記応答プロパティを修正することを求める要求を前記リモートネットワークノードに送信するオブジェクトプロパティ指定構成要素をさらに備える、請求項３７に記載の装置。
【請求項３９】
前記１つまたは複数の応答オブジェクトに関連した異なるセッションまたは異なるチャネルの状態を修正することを求める要求を前記リモートネットワークノードに送信するオブジェクトプロパティ指定構成要素をさらに備える、請求項３７に記載の装置。
【請求項４０】
前記リモートネットワークノードから受信した１つまたは複数のオブジェクトコード化プロトコルデータ単位（ＰＤＵ）が、異なるリモートネットワークノードから受信した１つまたは複数の異なるオブジェクトコード化ＰＤＵに関連すると判断し、前記１つまたは複数のオブジェクトコード化ＰＤＵを前記１つまたは複数の異なるオブジェクトコード化ＰＤＵとマージして、前記１つまたは複数の応答オブジェクトを形成するためのオブジェクトマージ構成要素をさらに備える、請求項３６に記載の装置。
【請求項４１】
前記１つまたは複数のオブジェクトが、サイズにおいて異なる、請求項２３に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
以下の説明は概して、ネットワーク通信に関し、より詳細には、オブジェクトベースのトランスポートレイヤプロトコルの提供に関する。
【背景技術】
【０００２】
ネットワークは、ワイヤレスおよび／またはワイヤード媒体によって相互接続された複数のノードの間での通信を可能にする。典型的なネットワークアーキテクチャは、複数のノードの間での通信を円滑にする複数の通信レイヤを備える。一例では、ネットワークアーキテクチャは、ノードが通信用に使用することができる、メディアレイヤ（たとえば、物理レイヤ、データリンクレイヤ、ネットワークレイヤなど）、ホストレイヤ（たとえば、トランスポートレイヤ、セッションレイヤ、表示レイヤ、アプリケーションレイヤなど）などを備え得る。たとえば、メディアレイヤは、ネットワークケーブル、ワイヤレス信号などのような物理媒体を介して低レベルデータを送信するのを円滑にすることができ、ホストレイヤは、アプリケーションに提示するための低レベルデータを解釈することができる。ある例では、インターネットアーキテクチャ内のトランスポートレイヤは、ネットワーク上のあるノードから、ネットワーク上の別のノードへの（上位レイヤに関連した）バイトストリームの順序配信を可能にする伝送制御プロトコル（ＴＣＰ）を含み得る。
【０００３】
ネットワークレイヤでは、（たとえば、ルータまたは直接接続による）ノードの間の接続を確立し、ノードの間でデータをルーティングするのに、たとえば、インターネットプロトコル（ＩＰ）を使用することができる。たとえば、ＩＰレイヤは、ＴＣＰレイヤからデータパケットを生成し、ルーティングを円滑にするために、１つまたは複数のヘッダーをパケットに含めることができる。さらに、ＴＣＰは、順序付きバイトストリームの信頼できる配信を確実にするＩＰ接続を管理することができる。たとえば、ＴＣＰはまた、正しく受信されないパケットのための再送信機構と、信頼性のために送信レートを制限するためのフロー制御と、閾レベルを上回る着信データの受信からネットワークを保護するための輻輳制御とを提供し得る。別の例では、トランスポートレイヤは、再送信、フロー制御、または輻輳制御を提供しない、ＴＣＰよりも堅牢でないユーザデータグラムプロトコル（ＵＤＰ）であり得る。
【０００４】
ネットワーク通信に対する改善により、ネットワークデバイスは、様々なネットワーク技術を同時に活用して、インターネットまたは別のネットワークへの複数の接続を提供できるようになった。この点において、ネットワークデバイスは、どの所与の時点でも、異なるネットワーク（および／またはネットワークアーキテクチャ）を介した１つまたは複数の異なるインターネットまたは他のネットワーク接続を有することができる。たとえば、ネットワークデバイスは、１つまたは複数のＷｉＦｉ接続とともに１つまたは複数の第３世代パートナーシッププロジェクト（３ＧＰＰ）接続を有することができ、この接続は、１つまたは複数の異種ネットワークデバイスにある同様または異なるインターネットコンテンツにアクセスするのに使用することができる。さらに、ネットワークデバイスは、インターネットまたは別のネットワークを介して、複数のアプリケーションについてのデータを同時に受信することができ、ネットワークデバイスのユーザは、もはや（少なくとも当分の間）必要ない、要求されたデータをレンダリングするアプリケーションの間を切り替えることができる。ＴＣＰ、ＵＤＰ、および他のトランスポートレイヤプロトコルは、そのような機能性を最適化するには装備不十分である。
【発明の概要】
【０００５】
以下で、１つまたは複数の態様の基本的理解を与えるために、そのような態様の簡略化された概要を提示する。この概要は、すべての企図された態様の包括的な概観ではなく、すべての態様の主要または重要な要素を識別するものでも、いずれかまたはすべての態様の範囲を定めるものでもない。その唯一の目的は、後で提示するより詳細な説明の導入として、１つまたは複数の態様のいくつかの概念を簡略化された形で提示することである。
【０００６】
１つまたは複数の実施形態およびその対応する開示に従って、ネットワーク通信におけるオブジェクトベースのトランスポートプロトコルに関して、様々な態様について説明する。たとえば、オブジェクトベースのトランスポートプロトコルは、１つまたは複数のネットワークノードの間での、任意のサイズのオブジェクトの伝達を可能にする。さらに、たとえば、オブジェクトは、オブジェクトの伝達を制御するのに使用することができる、優先度、送信期限などのような、関連付けられたメタデータパラメータを有し得る。一例では、オブジェクトの受信側が、メタデータパラメータを使用することによって、送付側によるオブジェクトの伝達を制御することができる。さらに、オブジェクトベースのトランスポートプロトコルは、物理接続に関して透明性をもたらすように時間とともに修正され得る、１つまたは複数のネットワークへの物理接続セットを介してオブジェクトを伝達するためのセッションを管理することができる。
【０００７】
ある例によると、リモートネットワークノードに伝達するための１つまたは複数のオブジェクトをアプリケーションから受信することと、１つまたは複数のオブジェクトについてのメタデータをアプリケーションから受信することとを含む、ネットワーク通信におけるオブジェクトベースのトランスポートレイヤを提供する方法が示される。この方法はまた、リモートネットワークノードに１つまたは複数のオブジェクトを伝達するためのセッションを選択することと、メタデータ中で指示された優先度に少なくとも部分的に基づいて、セッションのチャネルに関連した少なくとも１つのネットワークインターフェースを介して送信するための１つまたは複数のオブジェクトをネットワークプロトコルレイヤに提供することとを含む。
【０００８】
別の態様では、リモートネットワークノードに伝達するための１つまたは複数のオブジェクトをアプリケーションから取得し、１つまたは複数のオブジェクトについてのメタデータをアプリケーションから取得するように構成された少なくとも１つのプロセッサを含む、ネットワーク通信におけるオブジェクトベースのトランスポートレイヤを提供するための装置が提供される。この少なくとも１つのプロセッサは、リモートネットワークノードに１つまたは複数のオブジェクトを伝達するためのセッションを決定し、メタデータ中で指示された優先度に少なくとも部分的に基づいて、セッションのチャネルに関連した少なくとも１つのネットワークインターフェースを介して送信するための１つまたは複数のオブジェクトをネットワークプロトコルレイヤに伝達するようにさらに構成される。さらに、本ワイヤレス通信装置は、少なくとも１つのプロセッサに結合されたメモリを含む。
【０００９】
さらに別の態様では、リモートネットワークノードに伝達するための１つまたは複数のオブジェクトをアプリケーションから受信するための手段と、１つまたは複数のオブジェクトについてのメタデータをアプリケーションから受信するための手段とを含む、ネットワーク通信におけるオブジェクトベースのトランスポートレイヤを提供するための装置が提供される。この装置は、メタデータ中で指示された優先度に少なくとも部分的に基づいて、選択されたセッションのチャネルに関連した少なくとも１つのネットワークインターフェースを介して送信するための１つまたは複数のオブジェクトを、ネットワークプロトコルレイヤに提供するため手段をさらに含み得る。
【００１０】
さらに、別の態様では、少なくとも１つのコンピュータに、リモートネットワークノードに伝達するための１つまたは複数のオブジェクトをアプリケーションから取得させるためのコードと、少なくとも１つのコンピュータに、１つまたは複数のオブジェクトについてのメタデータをアプリケーションから取得させるためのコードとを有するコンピュータ可読媒体を含む、ネットワーク通信におけるオブジェクトベースのトランスポートレイヤを提供するためのコンピュータプログラム製品が提供される。このコンピュータ可読媒体は、少なくとも１つのコンピュータに、１つまたは複数のオブジェクトをリモートネットワークノードに伝達するためのセッションを決定させるためのコードをさらに含む。さらに、このコンピュータ可読媒体は、少なくとも１つのコンピュータに、メタデータ中で指示された優先度に少なくとも部分的に基づいて、セッションのチャネルに関連した少なくとも１つのネットワークインターフェースを介して送信するための１つまたは複数のオブジェクトをネットワークプロトコルレイヤに伝達させるためのコードをさらに含む。
【００１１】
さらに、ある態様では、リモートネットワークノードに伝達するための１つまたは複数のオブジェクトをアプリケーションから取得するためのオブジェクト受信構成要素と、１つまたは複数のオブジェクトについてのメタデータをアプリケーションから受信するためのオブジェクトプロパティ関連付け構成要素とを含む、ネットワーク通信におけるオブジェクトベースのトランスポートレイヤを提供するための装置が提供される。この装置は、メタデータ中で指示された１つまたは複数のオブジェクトについての優先度に少なくとも部分的に基づいて、選択されたセッションのチャネルに関連した少なくとも１つのネットワークインターフェースを介して送信するための１つまたは複数のオブジェクトをネットワークプロトコルレイヤに提供するためのオブジェクト通信構成要素をさらに含む。
【００１２】
上記および関連する目的を達成するために、１つまたは複数の態様は、以下で十分に説明される、特に特許請求の範囲で指摘される特徴を備える。以下の説明および添付の図面に、１つまたは複数の態様のうちのいくつかの例示的な特徴を詳細に記載する。ただし、これらの特徴は、様々な態様の原理を採用することができる様々な方法のほんのいくつかを示すものであり、この説明は、すべてのそのような態様およびそれらの均等物を含むものとする。
【００１３】
添付の図面とともに以下に説明する開示する態様は、開示する態様を限定するためではなく、開示する態様を例示するために与えられ、同様の符号は同様の要素を示す。
【図面の簡単な説明】
【００１４】
【図１】複数のレイヤを介した、ノードの間のネットワーク通信を円滑にするための例示的システムを示す図。
【図２】任意のサイズのオブジェクトの伝達を可能にするための例示的なオブジェクトベースのトランスポートプロトコルを示す図。
【図３】オブジェクトベースのトランスポートプロトコルの１つまたは複数のセッションを介してオブジェクトを伝達するための例示的システムを示す図。
【図４】アプリケーションプログラミングインターフェース（ＡＰＩ）によるオブジェクトベースのトランスポートプロトコルを活用するアプリケーションをもつ例示的ネットワークノードを示す図。
【図５】オブジェクトベースのトランスポートプロトコルの１つまたは複数の機能を使って通信する例示的ネットワークノードを示す図。
【図６】オブジェクトベースのトランスポートプロトコルを介して通信するための例示的システムを示す図。
【図７】オブジェクトベースのトランスポートプロトコルを介したオブジェクトの伝達を円滑にする例示的方法を示す図。
【図８】送信期限に従ってオブジェクトの送信を取り消す例示的方法を示す図。
【図９】受信されるべきオブジェクトの１つまたは複数のプロパティを修正するための例示的方法を示す図。
【図１０】セッション中の複数のチャネルを維持する例示的方法を示す図。
【図１１】複数のソースから受信されたオブジェクトをマージする例示的方法を示す図。
【図１２】受信されるべき１つまたは複数のオブジェクトに関連したプロパティの修正を要求するための例示的方法を示す図。
【図１３】オブジェクトベースのトランスポートプロトコルを介してオブジェクトを伝達するための例示的システムを示す図。
【図１４】本明細書に記載する様々な態様によるワイヤレス通信システムを示す図。
【図１５】本明細書で説明する様々なシステムおよび方法とともに採用され得る例示的なコンピュータデバイスを示す図。
【発明を実施するための形態】
【００１５】
次に、図面を参照しながら様々な態様について説明する。以下の説明では、説明のために、１つまたは複数の態様の完全な理解を与えるために多数の具体的な詳細を記載する。ただし、そのような（１つまたは複数の）態様は、これらの具体的な詳細なしに実施できることは明らかであろう。
【００１６】
本明細書にさらに記載するように、ネットワークノードが、オブジェクトの伝達に優先度を与え、オブジェクトを受信するための期限を関連付け、オブジェクトが送信され得る際に経由する、他のネットワークノードへの複数のチャネルを管理することなどを可能にする、オブジェクトベースのトランスポートプロトコルが提供される。一例では、オブジェクトベースのトランスポートプロトコルはさらに、複数のチャネルのうちの１つまたは複数と、それらのチャネルを介したオブジェクトの伝達とを各々が管理し得る１つまたは複数のセッションを定義する。この点において、オブジェクトベースのトランスポートプロトコルは、少なくとも、任意のサイズのオブジェクトの送信、オブジェクトに関連付けられた強制力のある優先度、もはや必要とされないオブジェクトを送信するのを避けるための、オブジェクトについての送信期限、上位レイヤに対して透明な複数の接続の管理（たとえば、移動性、ならびに場合によっては複数の接続からのデータレート向上を提供する）などを可能にするので、他のトランスポートプロトコルを上回る改良である。
【００１７】
本出願で使用される「構成要素」、「モジュール」、「システム」などの用語は、限定はされないが、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアなど、コンピュータ関連のエンティティを含むものとする。たとえば、構成要素は、プロセッサ上で実行されるプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行スレッド、プログラム、および／またはコンピュータであってよいが、これらに限定されない。例として、コンピューティングデバイス上で実行されるアプリケーションと、そのコンピューティングデバイスの両方を構成要素とすることができる。１つまたは複数の構成要素がプロセスおよび／または実行スレッド内に常駐することができ、１つの構成要素を１つのコンピュータ上に配置すること、および／または２つ以上のコンピュータ間に分散することができる。さらに、これらの構成要素は、様々なデータ構造を記憶している様々なコンピュータ可読媒体から実行することができる。これらの構成要素は、信号を介して、ローカルシステム、分散システム内の別の構成要素と相互作用し、ならびに／あるいはインターネットなどのネットワーク上で他のシステムと相互作用する１つの構成要素からのデータのような、１つまたは複数のデータパケットを有する信号に従うことなどによって、ローカルプロセスおよび／またはリモートプロセスを介して通信し得る。
【００１８】
さらに、本明細書では、ワイヤード端末またはワイヤレス端末とすることができる端末に関する様々な態様について説明する。端末は、システム、デバイス、加入者ユニット、加入者局、移動局、モバイル、モバイルデバイス、リモート局、リモート端末、アクセス端末、ユーザ端末、端末、通信デバイス、ユーザエージェント、ユーザデバイス、またはユーザ機器（ＵＥ）と呼ばれることもある。ワイヤレス端末は、セルラー電話、衛星電話、コードレス電話、セッション開始プロトコル（ＳＩＰ）電話、ワイヤレスローカルループ（ＷＬＬ）局、携帯情報端末（ＰＤＡ）、ワイヤレス接続機能を有するハンドヘルドデバイス、コンピューティングデバイス、またはワイヤレスモデムに接続された他の処理デバイスであり得る。さらに、本明細書では基地局に関する様々な態様について説明する。基地局は、（１つまたは複数の）ワイヤレス端末と通信するために利用され得、アクセスポイント、ノードＢ、発展型ノードＢ（ｅＮＢ）、または何らかの他の用語で呼ばれることもある。
【００１９】
さらに、「または」という用語は、排他的な「または」ではなく、包括的な「または」を意味するものとする。すなわち、別段の規定がない限り、または文脈から明白でない限り、「ＸはＡまたはＢを使用する」という句は、自然な包括的置換のいずれかを意味するものとする。つまり、語句「ＸはＡまたはＢを使用する」は、以下の場合、すなわち、ＸがＡを使用する場合、ＸがＢを使用する場合、またはＸがＡとＢの両方を使用する場合のうちのいずれかによって満足される。その上、本出願と添付の特許請求の範囲とで使用されるとき、冠詞「ａ」と「ａｎ」とは、別段指定されない限り、または単数形を対象とすべきであると文脈から明らかでない限り、通常、「１つまたは複数」を意味すると解釈されるべきである。
【００２０】
本明細書で説明する技法は、ＣＤＭＡ、ＴＤＭＡ、ＦＤＭＡ、ＯＦＤＭＡ、ＳＣ−ＦＤＭＡおよび他のシステムなど、様々なワイヤレス通信システムに使用できる。「システム」および「ネットワーク」という用語は、しばしば互換的に使用される。ＣＤＭＡシステムは、Ｕｎｉｖｅｒｓａｌ  Ｔｅｒｒｅｓｔｒｉａｌ  Ｒａｄｉｏ  Ａｃｃｅｓｓ（ＵＴＲＡ）、ｃｄｍａ２０００などの無線技術を実装し得る。ＵＴＲＡは、Ｗｉｄｅｂａｎｄ−ＣＤＭＡ（Ｗ−ＣＤＭＡ）およびＣＤＭＡの他の変形態を含む。さらに、ｃｄｍａ２０００は、ＩＳ−２０００、ＩＳ−９５およびＩＳ−８５６規格をカバーする。ＴＤＭＡシステムは、Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ（ＧＳＭ(登録商標））などの無線技術を実装することができる。ＯＦＤＭＡシステムは、Ｅｖｏｌｖｅｄ  ＵＴＲＡ（Ｅ−ＵＴＲＡ）、ウルトラモバイルブロードバンド（ＵＭＢ）、ＩＥＥＥ８０２．１１（Ｗｉ−Ｆｉ）、ＩＥＥＥ８０２．１６（ＷｉＭＡＸ）、ＩＥＥＥ８０２．２０、Ｆｌａｓｈ−ＯＦＤＭ（登録商標）などの無線技術を実装し得る。ＵＴＲＡおよびＥ−ＵＴＲＡは、Ｕｎｉｖｅｒｓａｌ  Ｍｏｂｉｌｅ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓｙｓｔｅｍ（ＵＭＴＳ）の一部である。３ＧＰＰロングタームエボリューション（ＬＴＥ）は、Ｅ−ＵＴＲＡを使用するＵＭＴＳのリリースであり、これは、ダウンリンク上ではＯＦＤＭＡを採用し、アップリンク上ではＳＣ−ＦＤＭＡを採用する。ＵＴＲＡ、Ｅ−ＵＴＲＡ、ＵＭＴＳ、ＬＴＥおよびＧＳＭは、「第３世代パートナーシッププロジェクト」（３ＧＰＰ）と称する組織からの文書に記載されている。さらに、ｃｄｍａ２０００およびＵＭＢは、「第３世代パートナーシッププロジェクト２」（３ＧＰＰ２）と称する組織からの文書に記載されている。さらに、そのようなワイヤレス通信システムは、不対無資格スペクトル、８０２．ｘｘワイヤレスＬＡＮ、ＢＬＵＥＴＯＯＴＨ（登録商標）および任意の他の短距離または長距離ワイヤレス通信技法をしばしば使用するピアツーピア（たとえば、モバイルツーモバイル）アドホックネットワークシステムをさらに含み得る。
【００２１】
様々な態様または特徴は、いくつかのデバイス、構成要素、モジュールなどを含むことができるシステムに関して提示される。様々なシステムは、追加のデバイス、構成要素、モジュールなどを含んでもよく、および／または各図に関連して論じるデバイス、構成要素、モジュールなどのすべてを含まなくてもよいことを理解および諒解されたい。これらの手法の組合せを使用することもできる。
【００２２】
図１を参照すると、オブジェクトベースのトランスポートプロトコルを使って、ネットワーク内のノードの間の通信を円滑にする例示的システム１００が示されている。システム１００は、それぞれ、ネットワーク内のクライアントおよびサーバノードであり得るネットワークノード１０２および１０４を備える。たとえば、ネットワークノード１０２および１０４は、各々、ワイヤードまたはワイヤレスネットワーク内で通信することができる、ＵＥ、コンピュータ、および／または実質的に任意のノードなどのモバイルデバイスであり得る。さらに、１つもしくは複数のルータ、ゲートウェイ、ファイアウォールなど、通信を円滑にするための、ネットワークノード１０２と１０４との間の追加ノード、および／または１つもしくは複数の基地局、リレーノードなどのワイヤレスネットワーク構成要素があってもよい。これらの構成要素は、説明を簡単にするために示されていないが、ネットワークノード１０２および１０４は、この点において、実質的にどのネットワーク技術でも、および／または複数のネットワーク技術を介して通信することができる。一例では、ネットワークノード１０２は、ネットワークノード１０２と１０４との間の様々な構成要素との異なる物理ネットワーク接続を越えて、３ＧＰＰインターフェースおよびＷｉＦｉインターフェースを通してネットワークノード１０４と同時に通信して、複数のネットワークを介した通信を円滑にすることができる。
【００２３】
ある例によると、ネットワークノード１０２は、１つまたは複数のホストまたはメディアレイヤプロトコルを活用して、ネットワークノード１０４にあるアプリケーション１１２と通信することができるアプリケーション１０６を含むことができ、逆もまた同様である。たとえば、アプリケーション１０６および１１２は、ネットワークノード１０２および１０４におけるアプリケーション、サービス、オブジェクト、ウィジェット、または実質的にどの実行可能コードでもよい。さらに、ネットワークノード１０２および１０４は、それぞれ、アプリケーション１０６および１１２から、それぞれ、ネットワークレイヤプロトコル１１０および１１６を介してオブジェクトを伝達することができるオブジェクトベースのトランスポートプロトコル１０８および１１４を含む。一例では、ネットワークレイヤプロトコル１１０および１１６は、ＩＰまたは同様のプロトコルを使用することができる。たとえば、アプリケーション１０６は、ネットワークノード１０４にある（たとえば、アプリケーション１１２にある）コンテンツについての要求を定式化することができる。ある例では、アプリケーション１０６は、アプリケーションプログラミングインターフェース（ＡＰＩ）、またはオブジェクトベースのトランスポートプロトコル１０８によって提供される同様のインターフェースを活用して、コンテンツについての要求に関連した１つまたは複数のオブジェクトを作成することができる。この点において、たとえば、アプリケーション１０６は、オブジェクトに関する優先度、送信期限、応答プロパティ、１つまたは複数のパラメータなどのような、要求および／または応答用データに関連付けられるべきメタデータを指定することができる。オブジェクトベースのトランスポートプロトコル１０８は、この例では、メタデータを、コンテンツについての要求に関連した１つまたは複数のオブジェクトと関連付けることができる。メタデータに少なくとも部分的に基づいて、オブジェクトベースのトランスポートプロトコル１０８は、コンテンツについての要求を備えるオブジェクトをネットワークノード１０４に送るために経由すべき１つまたは複数のチャネルを選択することができる。
【００２４】
記載するように、たとえば、オブジェクトベースのトランスポートプロトコル１０８は、ネットワークノード１０４など、所与のエンドホストへの、１つまたは複数のネットワークインターフェースを介した１つまたは複数のチャネルを各々が備え得る複数のセッションを管理することができる。さらに、オブジェクトベースのトランスポートプロトコル１０８は、コンテンツについての要求に関連したオブジェクトを、ネットワークノード１０４向けの適切なセッションに与えることができる。一例では、オブジェクトベースのトランスポートプロトコル１０８は、オブジェクトが全体的に受信されると、そのオブジェクトを与えることができ、順序にかかわらずオブジェクトを与えることができる（たとえば、後で説明するように、アプリケーション１１２によって順序配信が要求されない限り）。ネットワークノード１０２向けの、オブジェクトベースのトランスポートプロトコル１０８におけるセッションは、関連したメタデータ中の優先度に従ってオブジェクトを順序付けることができ、ネットワークノード１０４にオブジェクトを送るためのネットワークレイヤプロトコル１１０を活用することができる。したがって、ある例では、ネットワークノード１０４は、ネットワークレイヤプロトコル１１６を介してネットワークノード１０２からオブジェクトを（たとえば、ネットワークレイヤプロトコル１１０によって作成された１つまたは複数のパケットまたは他のネットワークフレーム化ユニットに入れて）受信することができる。ネットワークレイヤプロトコル１１６は、オブジェクトを（たとえば、１つまたは複数のパケットとして）オブジェクトベースのトランスポートプロトコル１１４に与えることができる。オブジェクトベースのトランスポートプロトコル１１４は、オブジェクトをフレーム化し直し（たとえば、パケットが受信された場合）、ネットワークノード１０２から全体が受信されると、オブジェクトをアプリケーション１１２に配信することができる。したがって、アプリケーション１１２は、オブジェクトを処理し、オブジェクトおよびそれに関連付けられたメタデータ中の、コンテンツについての要求を判断することができる。
【００２５】
ある例では、アプリケーション１１２は、コンテンツについての要求を満たすことができ、このことは、ネットワークノード１０２に１つまたは複数の応答オブジェクトを伝達すること、１つまたは複数の応答オブジェクトをストリーミングすることなどを含み得る。さらに、アプリケーション１１２は、応答オブジェクトについての優先度、１つまたは複数の応答オブジェクトへの任意の起こり得る応答についての送信期限、識別子などのような、応答オブジェクトについての他のメタデータ（コンテンツオブジェクトについての要求の応答プロパティ中で指定され得る）を、オブジェクトベースのトランスポートプロトコル１１４によりセットすることができる。同様に、ある例では、アプリケーション１１２は、オブジェクトベースのトランスポートプロトコル１１４を使って、１つまたは複数の応答オブジェクトについての応答プロパティをセットすることができる。上述したように、オブジェクトベースのトランスポートプロトコル１１４は、関連したメタデータ中で指定される優先度または他のパラメータに従って、１つまたは複数のチャネルを介してネットワークノード１０２に伝達するための１つまたは複数の応答オブジェクトを、１つまたは複数のセッションに与えることができる。この例では、記載するように、１つまたは複数のセッションは、ネットワークレイヤプロトコル１１６を活用して、１つまたは複数のデータオブジェクトを（たとえば、１つまたは複数のパケットとして）ネットワークノード１０２に伝達することができる。
【００２６】
さらに、たとえば、オブジェクトベースのトランスポートプロトコル１１４は、１つまたは複数のオブジェクトについてのメタデータに少なくとも部分的に基づいて、ネットワークノード１０２への送信前または送信中に、１つまたは複数のオブジェクトについて送信期限に達したと判断することができる。この例では、オブジェクトベースのトランスポートプロトコル１１４は、関連したセッションから１つまたは複数のオブジェクトを削除し、１つまたは複数のオブジェクトの送信をやめるなどすればよい。さらに、アプリケーション１０６は、優先度など、コンテンツについての要求の応答データに関連した１つまたは複数のプロパティを修正することができる。この例では、オブジェクトベースのトランスポートプロトコル１０８は、ネットワークレイヤプロトコル１１０〜ネットワークレイヤプロトコル１１６を介してネットワークノード１０４にメッセージを伝達して、オブジェクトプロパティを更新することができる。ネットワークレイヤプロトコル１１６は、記載するように、オブジェクトベースのトランスポートプロトコル１１４にメッセージを与えることができ、オブジェクトベースのトランスポートプロトコル１１４は、コンテンツについての要求の応答データに関連したプロパティを適切に修正することができる。この点において、たとえば、アプリケーション１０６は、応答データについての優先度を、そのデータの送信に影響を与えるように修正する。
【００２７】
さらに、たとえば、オブジェクトベースのトランスポートプロトコル１０８は、記載するように、ネットワークノード１０４に取消しメッセージを伝達することによって、オブジェクトの送信を取り消すことができる。同様に、オブジェクトベースのトランスポートプロトコル１１４は、ネットワークノード１０２に関連メッセージを伝達することによって、オブジェクトの受信を取り消すことができる。さらに、オブジェクトベースのトランスポートプロトコル１１４は、記載するように、関連した送信期限の経過に少なくとも部分的に基づいて、ネットワークノード１０２へのオブジェクトの送信を取り消すことができる。さらに、オブジェクトベースのトランスポートプロトコル１０８が、ネットワークノード１０４および別のネットワークノードから、同じデータをもつ２つのオブジェクトを受信した場合、オブジェクトベースのトランスポートプロトコル１０８は、これらのオブジェクトをマージして、受信を加速すればよい。さらに別の例では、オブジェクトは、送信中にオブジェクトベースのトランスポートプロトコル１１４に記憶することができるので、オブジェクトベースのトランスポートプロトコル１０８は、対応するメッセージをオブジェクトベースのトランスポートプロトコル１１４に発行することによって、ネットワークノード１０４からのオブジェクトの送信または（たとえば、アプリケーション１０６から受信された要求に少なくとも部分的に基づいて）関連セッションを中断および再開することができる。さらに、オブジェクトベースのトランスポートプロトコル１０８は、オブジェクトベースのトランスポートプロトコル１１４に、１つまたは複数のセッションが、オブジェクトを送信するのを中断するよう命令することができる。
【００２８】
図２に移ると、本明細書に記載する態様による例示的なオブジェクトベースのトランスポートプロトコル２００が示されている。たとえば、オブジェクトベースのトランスポートプロトコル２００は、ＵＥ、エンドコンピュータ、サーバなどのネットワークノード（たとえば、クライアントもしくはサーバノード）、またはワイヤレスネットワーク内で通信し得る実質的にどのノード内にも実装され得る。さらに、オブジェクトベースのトランスポートプロトコル２００は、本明細書に記載するように、ネットワークノードの間でのオブジェクトの伝達を実現するために、ネットワークノード内の他のプロトコル（たとえば、ＩＰプロトコル、もしくは他のネットワークレイヤプロトコル、アプリケーションプロトコル、または他のホストもしくはメディアレイヤプロトコル）とインターフェースをとるように実装され得る。オブジェクトベースのトランスポートプロトコル２００は、リモートネットワークノードと通信されるべき１つまたは複数のオブジェクトを扱うオブジェクトレイヤ２０２と、１つまたは複数のチャネルを介してオブジェクトを伝達するための１つまたは複数のセッションを確立するセッションレイヤ２０４と、リモートネットワークノードおよび／または１つもしくは複数の追加リモートネットワークノードとの１つまたは複数のチャネルを維持するチャネルレイヤ２０６とを含み得る。
【００２９】
さらに、たとえば、オブジェクトレイヤ２０２は、（たとえば、消失符号または他の符号化アルゴリズムを使用して）リモートネットワークノードに送信するためのオブジェクトを符号化するオブジェクトコード化プロトコル２０８と、優先度、期限、および／または他のパラメータ（たとえば、識別情報など）など、オブジェクトに関連したメタデータを伝達するオブジェクト制御プロトコル２１０とを備え得る。さらに、セッションレイヤ２０４は、記載するように、リモートネットワークノードにオブジェクトを送信するためのセッションを確立し、維持し、削除し、セッションに／からチャネルを追加／削除などをするセッション制御プロトコル２１２と、セッションを１つまたは複数のチャネルにマップする接続制御プロトコル２１４とを備え得る。さらに、チャネルレイヤ２０６は、符号化されたオブジェクトを、１つまたは複数のチャネルを介した送信用のネットワークレイヤパケットにカプセル化するパケットフレーミングプロトコル２１６と、チャネルのスループットを改善するために１つまたは複数のチャネルの各々における輻輳制御を提供する輻輳制御プロトコル２１８とを備え得る。
【００３０】
ある例によると、アプリケーションレイヤまたは他の上位ホストレイヤは、オブジェクトベースのトランスポートプロトコル２００を使用して、（たとえば、オブジェクトベースのトランスポートプロトコル２００などによって提供されるＡＰＩにより）リモートネットワークノードにオブジェクトを伝達することができる。記載するように、たとえば、オブジェクトベースのトランスポートプロトコル２００は、アプリケーションまたは他の上位ホストレイヤが、リモートネットワークノードへの伝達用のオブジェクトおよび／またはリモートネットワークノードから伝達される応答オブジェクトに優先度を与えること、リモートネットワークノードへ／からのオブジェクトを伝達するための期限を関連付け、強制することなどの少なくとも１つを行うことを可能にし得る。したがって、オブジェクトレイヤ２０２は、優先度を強制し、部分的に受信されたオブジェクトを、オブジェクトの残りの部分が受信されるまで記憶することなどを、各オブジェクトが円滑にするための状態を維持することができる。この例では、オブジェクトベースのトランスポートプロトコル２００は、オブジェクトを（たとえば、アプリケーションから）受信することができ、オブジェクトコード化プロトコル２０８は、消失符号、または他のコードなど、１つまたは複数の符号化アルゴリズムを使ってオブジェクトを符号化して、オブジェクトを伝達する信頼性を増すことができ、したがってオブジェクトのための１つまたは複数の前方誤り訂正（ＦＥＣ）シンボルを生成する。
【００３１】
さらに、オブジェクト制御プロトコル２１０は、優先度、送信期限、オブジェクトタグまたは識別子などのようなメタデータを、オブジェクトに関連付けることができ、ここでメタデータは、アプリケーションまたは他の上位ホストレイヤから（たとえば、ＡＰＩを通して）受信され、符号化されたオブジェクトの受信側によって指定され、または場合によっては受信側と交渉されるものなどの少なくとも１つであり得る。さらに、たとえば、オブジェクトレイヤ２０２は、オブジェクトレイヤ２０２に関連した１つまたは複数のヘッダーを含み得るＦＥＣシンボルから、オブジェクトコード化プロトコルデータ単位（ＰＤＵ）を作成することができる。さらに、たとえば、オブジェクトレイヤ２０２は、優先送信のために、セッションレイヤ２０４にオブジェクトコード化ＰＤＵ（および／または対応するオブジェクトに関連したメタデータ）を与えることができる。
【００３２】
この例では、セッションレイヤ２０４は、記載するように、リモートネットワークノードとのセッションを確立し維持することができる。セッションは、リモートネットワークノードにネットワークレイヤパケットを伝達するための、１つまたは複数のネットワークインターフェースを介する１つまたは複数のチャネルを備え得る。さらに、複数のアプリケーションからのオブジェクトコード化ＰＤＵが、リモートネットワークノードに伝達するために、（たとえば、オブジェクトレイヤ２０２による）セッションに与えられ得る。さらに、セッションレイヤ２０４は、インターフェースを介したリモートネットワークノードへの接続に各々が対応し得るチャネルを追加し、および所与のセッションから削除することができる。別の例では、セッションレイヤ２０４は、リモートネットワークノードがセッションにおける少なくとも別のチャネルに関して同じであることを検証するとともに、リモートネットワークノードへの１つまたは複数のチャネルの追加を可能にする、リモートネットワークノードとのセキュリティアソシエーションを確立し維持することができる。この例では、セッションレイヤ２０４は、リモートネットワークノードとの追加チャネルを確立するとき、セキュリティアソシエーションを含めることができ、リモートネットワークノードは、チャネルの確立を可能にするかどうか判断する際、セキュリティアソシエーションを検証することができる。
【００３３】
セッション制御プロトコル２１２はこのように、たとえば、セッションを確立し、維持し、削除し、セッションに／からチャネルを追加または削除することなどができる。接続制御プロトコル２１４は、１つまたは複数のホストに接続された１つまたは複数のネットワークインターフェースを使って、１つまたは複数のリモートネットワークノードとのチャネルを確立および削除することができる。上記の例において、セッションレイヤ２０４は、１つまたは複数のオブジェクトコード化ＰＤＵを、セッション制御プロトコル２１２によって、リモートネットワークノードと確立されたセッションに関連付けることができる。たとえば、これは、オブジェクトコード化ＰＤＵを用いて（たとえば、メタデータ中で、符号化されたオブジェクトに関連付けられたヘッダー中で、またはそれ以外で）指定されるリモートネットワークノードに関連付けられた識別子に少なくとも部分的に基づき得る。所与のセッションの場合、たとえば、セッション制御プロトコル２１２は、セッション中のオブジェクトコード化ＰＤＵを、オブジェクトコード化ＰＤＵに関連付けられたメタデータ中の優先度、送信期限、および／または他のプロパティに従って順序付けることができる。
【００３４】
セッション制御プロトコル２１２は、接続制御プロトコル２１４によって、セッションに関連付けられた１つまたは複数のチャネルを介して、１つまたは複数のオブジェクトコード化ＰＤＵを送信することができる。この点において、たとえば、セッション制御プロトコル２１２は、セッションの透明性を維持するように、接続制御プロトコル２１４を使ってセッションのチャネルを修正しながら、セッションを維持することができる。したがって、１つまたは複数のホストが、リモートネットワークノードへの通信経路内で修正されることが可能であり、セッション制御プロトコル２１２は、修正を鑑みて、修正をアプリケーションに（たとえば、またはオブジェクトレイヤ２０２にさえも）公開することなく、セッションの１つまたは複数のチャネルを更新することができる。一例では、こうすることにより、関連ネットワークノードの移動性が可能になり得る。
【００３５】
さらに、この例では、チャネルレイヤ２０６は、１つまたは複数のネットワークインターフェースを介して、リモートネットワークノードとの１つまたは複数のチャネルを管理することができる。チャネルレイヤ２０６は、１つまたは複数のチャネルについての輻輳制御、パケットフレーミング、ネットワークアドレス変換（ＮＡＴ）およびファイアウォール横断などを扱うことができる。たとえば、パケットフレーミングプロトコル２１６は、１つまたは複数のオブジェクトコード化ＰＤＵを、チャネルを介した（たとえば、１つまたは複数のネットワークレイヤプロトコルを使う）送信用の１つまたは複数のパケット（たとえば、および／またはＰＤＵ）にコンバートすることができる。輻輳制御プロトコル２１８は、輻輳制御プロセスに従って、チャネルが、１つまたは複数のパケットのうちの少なくとも一部分の送信を扱うことができるかどうか判断することができる。輻輳制御は、たとえば、インターフェースに過負荷をかけないように、関連インターフェースを介して通信フローを制御するためのチャネルの能力を指すことがき、輻輳制御プロセスは、関連したチャネルにおいてそのような機能性を提供し得る。チャネルレイヤ２０６は次いで、１つまたは複数のパケットを、リモートネットワークノードへの送信のためにネットワークレイヤプロトコルに与えることができる。一例では、チャネルレイヤ２０６は、伝送制御プロトコル（ＴＣＰ）を使用して、パケットフレーミング、輻輳制御などを遂行することができる。
【００３６】
同様に、たとえば、チャネルレイヤ２０６は、ネットワークインターフェースを介して、リモートネットワークノードから１つまたは複数のパケットを（たとえば、ノードに送られたオブジェクトへの応答として）受信することができる。パケットフレーミングプロトコル２１６は、１つまたは複数のパケットを、（たとえば、送信パケットに関して同様のフレーミングを使って）１つまたは複数のオブジェクトコード化ＰＤＵに変換し、ネットワークインターフェースおよびリモートネットワークノードに関連したチャネルを介して、オブジェクトコード化ＰＤＵをセッションレイヤ２０４に与えることができる。接続制御プロトコル２１４は、オブジェクトコード化ＰＤＵを取得することができ、セッション制御プロトコル２１２は、（たとえば、パケットが受信されるときに経由するチャネルに基づいて）オブジェクトコード化ＰＤＵをセッションに関連付けることができる。セッションレイヤ２０４は、オブジェクトコード化ＰＤＵをオブジェクトレイヤ２０２に伝達することができる。オブジェクトコード化プロトコル２０８は、たとえば、使用される符号化に従ってオブジェクトコード化ＰＤＵを復号することができ、復号オブジェクトを関連アプリケーションレイヤ（たとえば、セッションに関連したアプリケーション）に与えることができる。上記により、現行のトランスポートプロトコルを上回る様々な利点が可能になる。たとえば、アプリケーションレイヤには、フレーミングデータに対する何らかの制御が与えられる。たとえば、オブジェクトベースのトランスポートプロトコル２００を介して送信されるオブジェクトを作成することにより、アプリケーションレイヤは、任意のサイズのオブジェクト（たとえば、サイズが異なるオブジェクト）を作成し、さらに、記載するように、優先度および時間切れタイマなどのような、オブジェクトを伝達するためのパラメータを指定することが可能になる。
【００３７】
図３を参照すると、ネットワークを越えてオブジェクトを伝達するためのオブジェクトベースのトランスポートプロトコル３０６の提供を円滑にする例示的通信システム３００が示されている。システム３００は、ワイヤードまたはワイヤレスネットワーク内で互いと通信するネットワークノード３０２および３０４を備える。図示していないが、ネットワークノード３０２および３０４は、１つまたは複数のゲートウェイ、ルータ、基地局、他のデバイスなどのような、１つまたは複数の追加ネットワークノードを通して通信することができる。さらに、ネットワークノード３０２および３０４は、各々が、ＵＥ、コンピュータ、サーバなどのような、実質的にどのネットワークノードまたはエンドポイントであってもよい。ネットワークノード３０２は、本明細書に記載するように、ネットワークノード３０４（やはりオブジェクトベースのトランスポートプロトコルを有し得るが、図示していない）と通信するための、オブジェクトベースのトランスポートプロトコル３０６を含み得る。
【００３８】
オブジェクトベースのトランスポートプロトコル３０６は、たとえば、ネットワークノード３０４と通信するための、ネットワークノード３０２の１つまたは複数のネットワークインターフェース３１４および３１６を使用する複数のセッション３０８、３１０、および３１２を含み得る。記載するように、たとえば、オブジェクトベースのトランスポートプロトコル３０６は、ネットワークノード３０４と通信するためのセッション１  ３０８を確立することができる。さらに、オブジェクトベースのトランスポートプロトコル３０６は、ネットワークインターフェース３１４および３１６のうちの１つまたは複数を介して、他のネットワークノード（図示せず）と通信するためのセッション２  ３１０とセッション３  ３１２とを確立することができる。さらに、図示するように、セッション１
３０８およびセッション２  ３１０は、それぞれ、ネットワークノードと通信するためのチャネル３１８および３２０を介してインターフェース１  ３１４とインターフェース２  ３１６とを使用することができ、セッション３  ３１２は、インターフェース２  ３１６へのチャネルをもつが、インターフェース１  ３１４へのチャネルはもたない。一例では、すべてのセッションが、すべてのインターフェースを介するチャネルをもち得るような完全なメッシュ化が可能であることを諒解されたい。さらに、各セッション３０８、３１０、および３１２は、オブジェクトについてのメタデータ中で指示された優先度に従って、セッション内のオブジェクトを順序付けることができる。
【００３９】
さらに、インターフェース１  ３１４およびインターフェース２  ３１６は、３ＧＰＰインターフェース、ＷｉＦｉインターフェース、ＷｉＭＡＸインターフェース、ＬＴＥインターフェース、ローカルエリアネットワーク（ＬＡＮ）インターフェースなどのような、実質的にどのネットワークインターフェースでもよい。記載するように、たとえば、オブジェクトベースのトランスポートプロトコル３０６は、１つまたは複数のセッション３０８、３１０、または３１２を介して送信するための１つまたは複数のオブジェクトを、アプリケーションから受信することができる。たとえば、アプリケーションは、オブジェクトを受信するべきネットワークノード３０４を識別することができ、オブジェクトベースのトランスポートプロトコル３０６は、ネットワークノード３０４をセッション１  ３０８に関連付けられたものとして識別したことに少なくとも部分的に基づいて、オブジェクトをセッション１  ３０８に関連付けることができる。したがって、オブジェクトベースのトランスポートプロトコル３０６は、オブジェクトを、（たとえば、記載するように、オブジェクトの符号化、オブジェクトへのメタデータの関連付けなどに続いて）送信のためにセッション１  ３０８に置くことができる。
【００４０】
オブジェクトベースのトランスポートプロトコル３０６は、インターフェース１  ３１４および／またはインターフェース２  ３１６におけるインターフェース送信機会の判断に従ってオブジェクトを送信することができる。たとえば、インターフェース１  ３１４およびインターフェース２  ３１６は、インターフェースに過負荷がかからないことを確実にするように管理することができる発信パケットのキューを有し得る。したがって、インターフェース１  ３１４および／またはインターフェース２  ３１６が、そのバッファに、データの最大送信ユニット（ＭＴＵ）のための余地を残しているとき、インターフェースには送信機会がある。各チャネル、たとえばチャネル３１８および３２０は、記載するように、輻輳制御を維持することができる。したがって、チャネルに関連したインターフェース（たとえば、チャネル３１８用のインターフェース１  ３１４またはチャネル３２０用のインターフェース２  ３１６）においてインターフェース送信機会が起きたとき、各チャネルは、その輻輳制御プロセスに従ってデータを送ることができるかどうか判断し得る。この情報に少なくとも部分的に基づいて、セッション３０８、３１０、および３１２のサブセットは、送付に適格と判断され得る。たとえば、インターフェース１  ３１４がインターフェース送信機会をもつ場合、セッション１  ３０８およびセッション２  ３１０は、一例では、送付に適格であると識別され得る。
【００４１】
さらに、ただし、オブジェクトベースのトランスポートプロトコル３０６は、１つまたは複数のセッションを保留することができる。この保留は、たとえば、ネットワークノード３０４が別のネットワークノードとの別のセッションを選好する場合、ネットワークノード３０４によって開始することができる。たとえば、ネットワークノード３０２は、ネットワークノード３０４にストリーミングデータを与えることができるが、ネットワークノード３０４は、ストリーミングアプリケーションから、別のネットワークノードをもつ別のアプリケーションに切り替えることができる。この場合、ネットワークノード３０４は、セッション１  ３０８を、少なくとも一定の期間はそこからデータを受信しないように保留することを望み得る。この例では、オブジェクトベースのトランスポートプロトコル３０６は、セッションが送付に適格であるかどうか判断するとき、セッションの状態を考慮すればよい。したがって、上の例では、オブジェクトベースのトランスポートプロトコル３０６は、セッション１  ３０８が保留状態にあると示されるとき、セッション２  ３１０を、送付に適格と判断することができる。
【００４２】
この例では、オブジェクトベースのトランスポートプロトコル３０６が、送付に適格なセッション（たとえば、この例ではセッション１  ３０８およびセッション２  ３１０）のサブセットを識別すると、オブジェクトに関連したメタデータによる、適格なものの中で優先度が最も高いオブジェクトをもつセッション（たとえば、送信期限が過ぎていないもの）が、インターフェース送信機会を使用することができる。この点において、たとえば、一意のオブジェクト、セッション、およびインターフェースの組合せを識別することができ、オブジェクトについてのデータが、インターフェースを介して送られ得る。２つ以上の適格なセッションが、同じまたは同様の優先度のオブジェクトをもつ場合、たとえば、追加情報を分析して、どのセッションがインターフェース送信機会を使用することができるか判断すればよい（たとえば、インターフェース送信機会を使うことができなかった最後のセッション、最後の送信時間がより早いセッションなど）。
【００４３】
さらに、たとえば、インターフェース送信機会による送信用に選択されたオブジェクトのサイズが、インターフェース送信機会用の、インターフェースにおける利用可能ＭＴＵよりも小さい場合、オブジェクトがそこから選択されるセッション（たとえば、セッション１  ３０８）が、インターフェース送信機会中に１つまたは複数の追加オブジェクトの一部分を送信することができる。別の例では、１つまたは複数の追加オブジェクトよりも優先度が高い異なるオブジェクトをもつ別のセッション、たとえばセッション３１０が、インターフェース送信機会中に異なるオブジェクトを送信することができる。一例では、本明細書における、オブジェクトの送付または送信へのどの言及も、所与のインターフェース送信機会中に適格なセッションを判断し、セッションのうちの１つまたは複数から、優先度が最も高いオブジェクトを選択する上記プロセスを含み得る。
【００４４】
一例では、オブジェクトベースのトランスポートプロトコル３０６は、記載するように、セッション１  ３０８への送信のための送信機会または命令を与えることができる。この例では、オブジェクトベースのトランスポートプロトコル３０６は、関連インターフェース（たとえば、インターフェース１  ３１４）を介して送信するための許容サイズ、関連チャネル（たとえば、チャネル３１８）についての推定ラウンドトリップ時間などを含み得る。ある例では、セッション１  ３０８は、送信機会を拒否することができ、そのケースでは、オブジェクトベースのトランスポートプロトコル３０６は、送信機会を、セッション２  ３１０など、優先度が次に高いオブジェクトをもつセッションに与えてよい。別の例では、セッション１  ３０８およびセッション２  ３１０は、送信機会を拒否することができる。この例では、セッション１  ３０８および／またはセッション２  ３１０は、ネットワークノード３０４にデータを送信することを必要とされるとき（たとえば、オブジェクトベースのトランスポートプロトコル３０６が、セッション１  ３０８またはセッション２  ３１０に追加オブジェクトを与える場合、オブジェクトベースのトランスポートプロトコル３０６が、たとえば、ネットワークノード３０４の要求において以前保留されたセッションを再開するよう指示する場合など）、オブジェクトベースのトランスポートプロトコル３０６における送信機会を要求することができる。
【００４５】
さらに、ネットワークノード３０４は、記載するように、ネットワークノード３０２と通信するための１つまたは複数のインターフェースへの１つまたは複数のセッションおよび／またはチャネルを実装するオブジェクトベースのトランスポートプロトコルを含み得る。この例では、ネットワークノード３０４は、インターフェース１  ３１４またはインターフェース２  ３１６との接続を使用することによって、ネットワークノード３０２に応答オブジェクトを送信することができ、ノード３０２はしたがって、応答オブジェクトをセッション１  ３０８にフォワードすることができる。さらに、上で説明し、ここでさらに説明するように、オブジェクトベースのトランスポートプロトコル３０６は、ネットワークノード３０４からの応答オブジェクトの伝達の１つまたは複数の側面を制御する（たとえば、対応する要求中の応答データパラメータを使い、応答オブジェクトについてのパラメータの修正に関するコマンドをネットワークノードに送る、など）ことができる。
【００４６】
一例では、本明細書に記載するように、図１を再び参照すると、ネットワークノード１０２および１０４は、エンドポイント、オブジェクトトランスポート（ＯＴ）サービスアクセスポイント（ＳＡＰ）などと呼ばれ得る。たとえば、オブジェクトトランスポートサービスアクセスポイントとは、アプリケーションがそこでオブジェクトトランスポートサービスにアクセスする論理ポイントである。たとえば、様々なタイプのＯＴサービスアクセスポイントがあり得る。コネクションレスＯＴ  ＳＡＰが、任意のリモートコネクションレスＯＴ  ＳＡＰにオブジェクトを送り、そこからオブジェクトを受信する。コネクション型ＯＴ  ＳＡＰは、特定のリモートコネクション型ＯＴ  ＳＡＰにオブジェクトを送り、そこからオブジェクトを受信する。このタイプのＳＡＰは、リモートコネクション型ＯＴ  ＳＡＰから、新規ローカルコネクション型ＯＴ  ＳＡＰの確立についての要求を受信するのにも使うことができる。マルチキャストＯＴ  ＳＡＰは、ＩＰマルチキャストグループにオブジェクトを送り、そのグループからオブジェクトを受信する。
【００４７】
さらに、特定の例示的実装形態では、ＯＴエンドポイントが、可能ＯＴサービスアクセスポイントをアドレス指定し、（ホストアイデンティティ、ＯＴポート）ペアによって識別され、ここでホストアイデンティティとは、エンドホスト用の識別子（たとえば、ホストアイデンティティプロトコル（ＨＩＰ）によるホストアイデンティティ）であり、ＯＴポートは、そのホスト内のＯＴエンドポイント用の識別子である。たとえば、ＨＩＰは、エンドポイント識別子とロケータとの間を区別するのに、ＩＰネットワーク内で使われるホスト識別技術であり得る。ＯＴロケータは、ＯＴホストのネットワークレイヤアドレス（たとえば、ＩＰアドレス）であり得る。ＯＴロケータは、ＯＴエンドポイントとの通信を開始するのに使われ得る。コネクション型ＳＡＰの目的は、たとえば、関連オブジェクトが扱われ得るコンテキストをもつ、アプリケーション１０６および／または１１２などのアプリケーションを提供することである。これは、セキュリティアソシエーションが、ソケットレベルで作成することができ、その接続を通して交換されるオブジェクトに適用されるので、オブジェクトベースのトランスポートプロトコル１０８および／または１１４によってセキュリティが求められるときに有用であり得る。たとえば、ソケットは、ネットワークノードの間で通信するのに使用することができ、ここでソケットはＴＣＰソケットであり得る。この例では、２つの接続確立モード、すなわち要求があると直ちに接続が確立される正常モードと、データが送られるようになるまで接続確立が遅延されるレイジーモードとを与えることができる。こうすることにより、データ交換と接続確立が同時に起こることが可能になり、データが転送され得る前の接続セットアップ遅延を避けることができる。
【００４８】
さらに、たとえば、前に記載したオブジェクトプロパティ（たとえば、優先度、送信期限など）が、ある具体的な例示的実装形態では、次のように定義され得る。
【００４９】
優先度：オブジェクト優先度は、オブジェクトの相対優先度についての、オブジェクトトランスポートレイヤへのヒントである。セッション用のリソースは、より高優先度のオブジェクトに割り振られてから、より低優先度のオブジェクトに割り振られ得る。優先度レベルは、以下のテーブルにおいて定義される。
【表１】
0005701995.tif 000002
【００５０】
期限：オブジェクトが受信側にとってもはや有用でなくなる時間期限である。この後は、オブジェクトを配信するためのそれ以上の試行は行われない。本明細書では送信期限と呼ぶ場合もある。
【００５１】
応答プロパティ：オブジェクトの送付側が、いかなる応答も戻すために、オブジェクトの受信側に使ってもらいたいプロパティセットである。このセットは、応答にどのような優先度が使われるべきか、および応答がそれ以降有用でなくなる期限があるかどうかについての意見を送付側が表すのを可能にする。
【００５２】
さらに、例示的な一実装形態では、オブジェクトの完全な受信より前にオブジェクトを識別する際にアプリケーションを支援するために、図１のオブジェクトベースのトランスポートプロトコル１０８および１１４ならびに図３のオブジェクトベースのトランスポートプロトコル３０６は、アプリケーションが、各オブジェクトにオブジェクトタグを関連付けることを可能にし得る。オブジェクトタグは、オブジェクトと一緒に移送される不透明なデータフィールドである。送信途中にあるオブジェクト用のオブジェクトタグは、オブジェクトが到着し始めると、オブジェクトを識別するために、受信側にとって直ちに利用可能である。
【００５３】
さらに、たとえば、図１のオブジェクトベースのトランスポートプロトコル１０８および１１４ならびに図３のオブジェクトベースのトランスポートプロトコル３０６は、オブジェクトレベルで動作する基本的な送付および受信動作を提供し得るとともに、オブジェクトの送付または受信を取り消す。オブジェクト送付は非同期でよく、受信は同期でも非同期でもよい。非同期のケースでは、新規オブジェクトが到着し始めたというイベント、新規オブジェクトが完全に受信されたというイベント、オブジェクトの配信が成功したというイベント、オブジェクトのトランスポートが送付側によって取り消されたというイベント、オブジェクトが受信されないうちにオブジェクト期限が満了したというイベント、および／または受信側における不十分なメモリが原因でオブジェクトが破棄されたというイベントをユーザに通知するためのイベント通知機構が提供される。
【００５４】
再び図２を参照すると、以下は、オブジェクトベースのトランスポートプロトコル２００についての具体的な一実装形態である。記載するように、複数のネットワークノードは、各々がオブジェクトベースのトランスポートプロトコルを備えることができ、オブジェクトベースのトランスポートプロトコルを使って互いと通信することができる。以下の説明において、送付側は、オブジェクトベースのトランスポートプロトコルを使って受信側（別のネットワークノード）にオブジェクトを送信するネットワークノードであり得る。
【００５５】
ある例では、オブジェクトコード化プロトコル２０８は、以下の態様によって実装され得る。たとえば、上述したオブジェクトコード化ＰＤＵが、可能性としては複数のオブジェクトについて、オブジェクト情報とフィードバック情報の両方を備え得る。オブジェクト情報は、オブジェクトコード化ＰＤＵのオブジェクトブロックに入れて、フィードバック情報はフィードバックブロックに入れて搬送され得る。さらに、オブジェクトコード化プロトコル２０８は、オブジェクトメタデータに入れて伝達され得る、各ネットワークノードによって割り振られる符号なし整数オブジェクト識別子でオブジェクトを識別することができる。ネットワークノードの間でオブジェクト送付が始まるとき、たとえば、送付側は、送付側が割り振ったローカルオブジェクト識別子を含む。送付側が、オブジェクト制御プロトコル２１０メッセージを受信側と交換すると、送付側は、オブジェクトについての、受信側の識別子へのアクセスを手に入れ、この識別子は次いで、オブジェクトデータパケット内で使われ得る。受信側のオブジェクト識別子の使用により、受信側におけるオブジェクトルックアップが簡素化し得る。オブジェクトタグ、プロパティ、ＦＥＣオブジェクト送信情報（たとえば、オブジェクトサイズ）、およびオブジェクト識別子との関連付けなどのオブジェクト情報は、オブジェクト制御プロトコル２１０によって、受信側におけるオブジェクトベースのトランスポートプロトコルに伝達され得る。一例では、このオブジェクト情報が受信される前に、オブジェクト受信が受信側において始まり得ることが可能である。
【００５６】
さらに、オブジェクト制御プロトコル２１０は、送付側と受信側との間でのフィードバックの伝達を可能にし得る。フィードバックは、受信側における、オブジェクトの受信の進行についての情報を送付側に提供する。この情報は、オブジェクトについて、いつ、どれだけ多くの追加データが送られるか判断するのに使うことができる。小さいオブジェクトの場合、たとえば、オブジェクト制御プロトコル２１０からオブジェクト情報が受信される前にフィードバックが送られ得ることが望まれ得る。この理由により、１つまたは複数のオブジェクトコード化ＰＤＵのオブジェクトブロック内にシンボルサイズをコード化すればよく、そうすることにより、ＦＥＣオブジェクト送信情報を受信する前に、受信シンボルのカウントが行われ得る。このカウントは次いで、フィードバックにおいて報告され得る。大きいオブジェクトの場合、たとえば、オブジェクトの受信がほぼ完了したときにフィードバックが伝達され得る。この理由により、ＦＥＣオブジェクト送信情報が受信される（およびオブジェクトサイズが既知である）と、必要とされる残りのシンボル数が報告され得る。
【００５７】
一例によると、オブジェクトコード化ＰＤＵフォーマットは、以下に示すように定義され得る。アプリケーションレイヤのフレーミングをサポートするために、２つのメッセージフォーマット、すなわちＯｂｊｅｃｔＣｏｄｉｎｇＨｅａｄｅｒおよびＯｂｊｅｃｔＣｏｄｉｎｇＢｏｄｙが定義される。オブジェクトコード化ＰＤＵは、ＯｂｊｅｃｔＣｏｄｉｎｇＨｅａｄｅｒメッセージ、その後に続くゼロ以上のＯｂｊｅｃｔＣｏｄｉｎｇＢｏｄｙメッセージを含み得る。
【数１】
0005701995.tif 000003
【００５８】
送られるべき各オブジェクトについて、送付側におけるオブジェクト制御プロトコル２１０は、オブジェクトについてまだ送られていないシンボルの数を表す、未解決シンボルのカウント、すなわちＮsendと、オブジェクトについてデータが最後に送られた時間、すなわちＴsendとを維持することができる。送られるべきオブジェクトは、セッション内で（たとえば、上述したように、セッションレイヤ２０４によって）優先度順でソートされる。優先度が等しいオブジェクトは、オブジェクトについての最後の送信時間の逆順で（たとえば、最も遅い時間に送信されたオブジェクトが先頭になるように）ソートされ得る。受信中の各オブジェクトについて、受信側におけるオブジェクト制御プロトコル２１０は、受信シンボルの数のカウント、すなわちＮrecv、データが最後に受信された時間、すなわちＴrecv、オブジェクトについてフィードバックが最後に送られた時間、すなわちＴfeedback、最後のフィードバックにおいて指示される必要シンボルの数、すなわちＮfeedbackなどを維持することができる。
【００５９】
たとえば、アプリケーションによる送信用に新規オブジェクトが与えられると、オブジェクト制御プロトコル２１０は、オブジェクトを、その優先度に従ってオブジェクト序列に挿入することができる。セッションについての送信機会を通知されると、オブジェクトコード化プロトコル２０８は最初に、フィードバックが送られるべきかどうかを識別することができ、この識別は、オブジェクトが完了し、完了を示すどのフィードバックも送られていない、またはラウンドトリップ時間にフィードバックが送られており、最後のラウンドトリップ時間に、オブジェクトについてデータが受信されているという判断、オブジェクトが完了しておらず、フィードバックが最後に送られてから、ラウンドトリップ時間が経過したという判断、またはオブジェクトが完了しておらず、フィードバックが最後に送られてから、より低優先度のオブジェクトについてデータが受信されており、ラウンドトリップ時間に、この規則によってフィードバックがトリガされていないという判断のうちの１つまたは複数に少なくとも部分的に基づき得る。オブジェクトについてフィードバックが含まれるべきであるとき、このオブジェクトについての残りのシンボルの数は、既知である場合は、オブジェクトコード化ＰＤＵに含めればよい。ＦＥＣオブジェクト送信情報が受信されていないために、オブジェクトについての残りのシンボルの数が既知でない場合は、受信シンボルの数を含めればよい。
【００６０】
送付側は次いで、Ｎsend！＝０である、送られるべき最初のオブジェクトを識別し、Ｎsendと、オブジェクトコード化ＰＤＵに収まるシンボルの最大数の小さい方に等しいシンボル数をオブジェクトコード化ＰＤＵに追加する。Ｎsendは、ＰＤＵに含まれるシンボルの数だけ減分され得る。オブジェクトコード化ＰＤＵに余地が残っている場合、Ｎsend＞０である次のオブジェクトに対してこの手順を繰り返せばよい。Ｎsend＝０をもつ各オブジェクトについて、送付側は、このオブジェクトについて最後のシンボルが送られた時間（Ｔsend）から、タイマを維持することができる。このタイマが満了した場合、オブジェクトについての未解決シンボルの数を増大すればよい。
【００６１】
オブジェクトコード化ＰＤＵを受信すると、受信側は、オブジェクトコード化ＰＤＵのフィードバックブロックから、フィードバックメッセージがある場合はそれを最初に処理する。各フィードバックメッセージについて、受信側は、受信したフィードバック情報に基づいて、オブジェクトについてのＮsendの値を更新することができる。受信側は次いで、オブジェクトブロックまたはオブジェクトコード化ＰＤＵを処理する。各エントリについて、受信側は、オブジェクト識別子に基づいてオブジェクトを識別することができる。オブジェクト識別子が分からない場合は、新規オブジェクトを作成すればよい。受信側は、受信したシンボルを、オブジェクトに関連付けて（たとえば、メモリまたはデータ記憶装置に）記憶し、オブジェクトを復元するのに十分な情報が受信されているかどうか識別する。
【００６２】
さらに、たとえば、オブジェクト制御プロトコル２１０は、１つまたは複数のオブジェクトの配信を制御するために、リモートネットワークノードの異種オブジェクト制御プロトコルとの間で、１つまたは複数のオブジェクトに関するメタデータを伝達することができる。たとえば、オブジェクトメタデータは、オブジェクトＩＤ、オブジェクトタグ、ＦＥＣオブジェクト送信情報（たとえば、オブジェクトサイズを含む）、オブジェクトプロパティなどを含み得る。たとえば、オブジェクトＩＤは、前に記載したように、符号なし整数による、オブジェクトのローカルアイデンティティでよく、オブジェクトタグは、送付側によって生成された識別子でよく、ＦＥＣオブジェクト送信情報は、オブジェクトコード化ＰＤＵに関連したＦＥＣの受信に関する詳細を含むことができ、オブジェクトプロパティは、優先度、送信期限などを含むことができる。オブジェクト制御プロトコル２１０は、たとえば、オブジェクトに関連付けられたデータ項目の一部または全部についての値を提案する、あるメッセージタイプを有し得る。受信メッセージ中の値が、最後に提案された値と一致する場合、たとえば、メッセージ交換は停止してよく、一致しない場合、メッセージ交換は、送付側および受信側がデータの値について合意に達するまで続いてよい。
【００６３】
さらに、たとえば、メッセージは冪等でよく、このことは、同じメッセージの反復受信が、一度受信されるメッセージと同じまたは同様の効果を有し得ることを意味する。さらに、メッセージ中で提案される状態変化の全または無が定められるように、メッセージは最小であり得る。さらに、各メッセージは、単一オブジェクトを標的にし得る。インスタンスは、ローカルおよびリモートオブジェクトＩＤによって識別することができる。リモートオブジェクトＩＤは、所与のインスタンスに送られる最初のメッセージ中では与えられない（このメッセージは、リモートピアにおける状態インスタンスを確立する）。さらに、メッセージは、シーケンス番号を搬送することができ、順序が乱れたメッセージは黙って破棄される。各オブジェクトインスタンスごとに、別個のシーケンス番号空間がある。各ネットワークノードは、現在の所望の状態を含む、最も早く送られるメッセージのシーケンス番号を保持することができる。さらに、所望の状態がネットワークノードによって確認されていないときはいつでも、反復メッセージが送られ得る。また、競合条件を識別するために、リモートピアから受信された最も高いシーケンス番号が、送られるすべてのメッセージ中で反響され得る。競合条件を解決するために、１つのノードが、主トークンをもつものと指定される。
【００６４】
一例では、オブジェクト制御ＰＤＵは、次のように実装され得る。
【数２】
0005701995.tif 000004
【００６５】
ＦｅｃＯｂｊｅｃｔＴｒａｎｓｍｉｓｓｉｏｎＩｎｆｏｒｍａｔｉｏｎメッセージの要素は、ＲａｐｔｏｒＧまたは同様の仕様において定義することができる。
【００６６】
オブジェクトプロパティは、次のように定義される。
【００６７】
ｐｒｉｏｒｉｔｙは、ＵＲＧＥＮＴ、ＥＸＰＥＤＩＴＥ、ＳＴＡＮＤＡＲＤ、ＢＡＣＫＧＲＯＵＮＤという値のうちの１つである。
【００６８】
ｄｅａｄｌｉｎｅは、オブジェクトの第１のパケットの送付／受信からカウントする、オブジェクト受信についての期限をミリ秒で与える、負でない整数である。
【００６９】
ＯｂｊｅｃｔＣｏｎｔｒｏｌメッセージのフィールドは、次のように定義される。
【００７０】
ｌｏｃａｌ＿ｏｂｊｅｃｔ＿ｉｄｅｎｔｉｆｉｅｒは、メッセージの送付側によって割り振られたオブジェクトを識別する、負でない整数である。これは、オブジェクト識別子値を反響するｒｅｍｏｔｅ＿ｏｂｊｅｃｔ＿ｉｄｅｎｔｉｆｉｅｒフィールドを含むメッセージをエンドポイントがピアから受信するまで、エンドポイントによって送られるすべてのメッセージに含まれ得る。
【００７１】
ｒｅｍｏｔｅ＿ｏｂｊｅｃｔ＿ｉｄｅｎｔｉｆｉｅｒは、メッセージの受信側によって割り振られたオブジェクトを識別する、負でない整数である。これは、リモートピアからのどのメッセージの受信にも続いて送られるすべてのメッセージに含まれ得る。
【００７２】
ｌｏｃａｌ＿ｓｅｑｕｅｎｃｅは、メッセージの送付側によって割り振られる、このメッセージについてのシーケンス番号である。所与のオブジェクトについて送られる第１のメッセージは、ｌｏｃａｌ＿ｓｅｑｕｅｎｃｅゼロをもち、第２のメッセージは、ｌｏｃａｌ＿ｓｅｑｕｅｎｃｅ１をもち、などのようになる。
【００７３】
ｒｅｍｏｔｅ＿ｓｅｑｕｅｎｃｅは、ピアノードから受信された、最も高いｌｏｃａｌ＿ｓｅｑｕｅｎｃｅ番号を含み、またはピアからどのメッセージも受信されていない場合は省かれる。
【００７４】
ｏｔｐｏｒｔは、コネクションレスソケットを介して送られるオブジェクトについて、オブジェクトが向けられる先のＯＴポート番号を含む。ｒｅｍｏｔｅ＿ｏｂｊｅｃｔ＿ｉｄｅｎｔｉｆｉｅｒを含まないすべてのメッセージに含まれ得る。
【００７５】
ｌｏｃａｌ＿ｃｏｎｎｅｃｔｉｏｎ＿ｉｄｅｎｔｉｆｉｅｒは、新規接続についてのローカル識別子を含む
ｒｅｍｏｔｅ＿ｃｏｎｎｅｃｔｉｏｎ＿ｉｄｅｎｔｉｆｉｅｒは、接続のためのリモートエンドポイントによって割り振られた接続識別子を含む
ｏｂｊｅｃｔ＿ｓｅｑｕｅｎｃｅ＿ｎｕｍｂｅｒは、順序配信との接続のためのオブジェクトについての、ゼロから始まるシーケンス番号を含む
ｆｅｃ＿ｏｔｉは、ソースブロックの数はシグナリングしなくてよく、１であると仮定され得ることを除いて、ＲａｐｔｏｒＧについて定義されるＦＥＣオブジェクト送信情報を含む。ｒｅｍｏｔｅ＿ｏｂｊｅｃｔ＿ｉｄｅｎｔｉｆｉｅｒを含まないすべてのメッセージに含まれ得る。
【００７６】
ｏｂｊｅｃｔ＿ｔａｇは、送付側アプリケーションによって与えられるオブジェクトタグを含む
ｐｒｏｐｅｒｔｉｅｓは、提案されたオブジェクトプロパティ値を含む。
【００７７】
各オブジェクトについて、オブジェクト制御プロトコル２１０は、以下の状態情報を維持することができる。
【表２】
0005701995.tif 000005
【００７８】
一例では、オブジェクト制御プロトコル２１０の動作の一般原理は、いずれかのピアが、任意のときに、新規オブジェクトプロパティセットを提案し得ることである。新規提案を受信したピアは、提案を確認して返答し、または、たとえば対抗提案で返答することができる。メッセージ交換は、プロパティセットについてピアが合意するまで続き得る。
【００７９】
新規オブジェクトを作成すると、オブジェクト状態情報は、以下に示すように初期化され得る。
【表３】
0005701995.tif 000006
【００８０】
送付側または受信側においてプロパティがローカルに変化すると、所望プロパティを、新たなプロパティ値にセットすることができ、提案送付時間をヌルにセットすることができる。送信機会があると、所望プロパティがヌルではなく、提案送付時間がヌルであるか、もしくは現在時刻が、提案を送った時間にラウンドトリップ時間の２倍を加えたものよりも大きいという条件、またはコンフォメーションフラグが真であるという条件のうちの少なくとも１つが成り立つ場合、プロパティを変えるためのメッセージが、リモートネットワークノードに送られ得る。メッセージが送られようとしている場合、メッセージフィールドは、オブジェクト制御プロトコル２１０によって次のようにセットされ得る。
【００８１】
・ローカルオブジェクト識別子フィールドは、ローカルオブジェクト識別子値にセットされ得る。
【００８２】
・リモートオブジェクト識別子フィールドは、リモートオブジェクト識別子値にセットすることができ、またはその値がヌルである場合は省かれる。
【００８３】
・最後のローカルシーケンス番号は、ヌルである場合、ゼロにセットされ得る。ヌルでない場合、最後のローカルシーケンス番号は１だけ増分され得る。
【００８４】
・ローカルシーケンス番号フィールドは、最後のローカルシーケンス番号にセットされ得る・リモートシーケンス番号フィールドは、最後のリモートシーケンス番号値にセットすることができ、またはその値がヌルである場合は省いてよい。
【００８５】
・最後のリモートシーケンス番号がヌルである場合は、以下の手順に従えばよい
○ｆｅｃ＿ｏｔｉフィールドは、ＦＥＣオブジェクト送信情報にセットされ得る
○ｏｂｊｅｃｔ＿ｔａｇフィールドは、送付側アプリケーションによって与えられたオブジェクトタグを含み得る
○コネクションレスソケットの場合、ｏｔｐｏｒｔフィールドは、オブジェクトについての宛先ＯＴポートにセットされ得る
○コネクション型ソケットの場合、リモート接続識別子が分かっている場合、ｒｅｍｏｔｅ＿ｃｏｎｎｅｃｔｉｏｎ＿ｉｄｅｎｔｉｆｉｅｒフィールドが含まれてよく、分からない場合、ｌｏｃａｌ＿ｃｏｎｎｅｃｔｉｏｎ＿ｉｄｅｎｔｉｆｉｅｒフィールドが含まれてよい
○順序配信を伴うコネクション型ソケットの場合、ｏｂｊｅｃｔ＿ｓｅｑｕｅｎｃｅ＿ｎｕｍｂｅｒが含まれ得る。
【００８６】
・プロパティフィールドは、所望のプロパティ値がヌルでない場合はその値にセットすることができ、ヌルの場合は現在のプロパティ値にセットすることができる。
【００８７】
オブジェクト制御プロトコル２１０のメッセージを受信すると、受信側は、目標オブジェクトを最初に識別することができる。メッセージが、リモートオブジェクト識別子フィールドを含む場合、このフィールドは、オブジェクトを直接ルックアップするのに使うことができる。この識別子をもつオブジェクトが存在しない場合、メッセージは黙って破棄され得る。存在する場合、メッセージは、記載するように処理され得る。メッセージがリモートオブジェクト識別子を含まない場合、ノードは、メッセージのローカルオブジェクト識別子フィールドと等しいリモートオブジェクト識別子値をもつ任意のオブジェクトを検索することができる。そのようなオブジェクトが見つかった場合、メッセージは、記載するように処理され得る。そのようなオブジェクトが見つからない場合、次のように初期化された状態値をもつ新規オブジェクトを作成すればよい。
【表４】
0005701995.tif 000007
【００８８】
受信メッセージのローカルシーケンス番号フィールドが、最後のリモートシーケンス番号値以下である場合、メッセージは黙って破棄され得る。そうでない場合、最後のリモートシーケンス番号は、ローカルシーケンス番号フィールドに等しくセットされ得る。受信メッセージのリモートシーケンス番号フィールドが、最後のローカルシーケンス番号値未満であり、この値が送信ノードである場合、メッセージは黙って破棄され得る。さらに、所望プロパティがヌルでなく、メッセージのプロパティフィールドが所望プロパティ値と一致する場合、現在のプロパティは、所望プロパティ値にセットすることができ、所望プロパティはヌルにセットすることができ、確認フラグは真にセットされなければならない。そうでない場合、ノードは、提案されたプロパティが受諾可能であるかどうか判断することができる。そうである場合、現在のプロパティはプロパティフィールドにセットすることができ、所望のプロパティはヌルにセットすることができ、確認フラグは真にセットすることができる。提案されたプロパティが受諾可能でない場合、ノードは、受諾可能である最も近いプロパティ値を判断すればよい。所望プロパティは、この値にセットすることができ、提案を送った時間は、ヌルにセットされなければならない。
【００８９】
さらに、たとえば、セッション制御プロトコル２１２は、一例では、以下の態様によって実装され得る。セッション確立は、ホストアイデンティティプロトコル基本交換によって達成することができる。この交換の結果、セッションの両方のネットワークノードのホスト識別情報が確立され、キーマテリアルが生成される。セッションの初期確立により、セッション確立が起きた際に経由したチャネルが暗黙的に有効になる。ホストアイデンティティプロトコル更新手順を使って、新規チャネルが、セッションに追加され、またはセッションから削除され得る。
【００９０】
さらに、たとえば、接続制御プロトコル２１４は、オブジェクト制御プロトコル２１０と同様に実装することができ、一例では、オブジェクト制御プロトコル２１０は、接続制御プロトコル２１４の代わりに接続の確立と管理とを含むように実装することができる。一例では、接続制御プロトコル２１４は、追加または代替として、以下の態様を含み得る。
【００９１】
接続制御ＰＤＵは、次のように定義され得る。
【数３】
0005701995.tif 000008
【００９２】
さらに、ＣｏｎｎｅｃｔｉｏｎＣｏｎｔｒｏｌメッセージのフィールドは、次のように定義され得る。
【００９３】
ｌｏｃａｌ＿ｃｏｎｎｅｃｔｉｏｎ＿ｉｄｅｎｔｉｆｉｅｒは、メッセージの送付側によって割り振られた接続を識別する、負でない整数である。これは、接続識別子値を反響するｒｅｍｏｔｅ＿ｃｏｎｎｅｃｔｉｏｎ＿ｉｄｅｎｔｉｆｉｅｒフィールドを含むメッセージをエンドポイントがピアから受信するまで、エンドポイントによって送られるすべてのメッセージに含まれ得る。
【００９４】
ｒｅｍｏｔｅ＿ｃｏｎｎｅｃｔｉｏｎ＿ｉｄｅｎｔｉｆｉｅｒは、メッセージの受信側によって割り振られた接続を識別する、負でない整数である。これは、リモートピアからのどのメッセージの受信にも続いて送られるすべてのメッセージに含まれ得る。
【００９５】
ｌｏｃａｌ＿ｓｅｑｕｅｎｃｅは、メッセージの送付側によって割り振られる、このメッセージについてのシーケンス番号である。所与のオブジェクトについて送られる第１のメッセージは、ｌｏｃａｌ＿ｓｅｑｕｅｎｃｅゼロをもち、第２のメッセージは、ｌｏｃａｌ＿ｓｅｑｕｅｎｃｅ１をもち、などのようになる。
【００９６】
ｒｅｍｏｔｅ＿ｓｅｑｕｅｎｃｅは、ピアノードから受信された、ｈｉｇｈｅｓｔ＿ｓｅｑｕｅｎｃｅ番号を含み、またはピアからいかなるメッセージも受信されていない場合は省かれる。
【００９７】
ｏｔｐｏｒｔは、接続が向けられるＯＴポート番号を含む。ｒｅｍｏｔｅ＿ｃｏｎｎｅｃｔｉｏｎ＿ｉｄｅｎｔｉｆｉｅｒを含まないすべてのメッセージに含まれ得る。
【００９８】
ｉｎ＿ｏｒｄｅｒ＿ｄｅｌｉｖｅｒｙは、接続が、オブジェクトの順序配信を行うかどうかを示す。
【００９９】
各オブジェクトについて、たとえば、接続制御プロトコル２１４は、以下の状態情報を維持することができる。
【表５】
0005701995.tif 000009
【０１００】
接続制御プロトコル２１４の動作の一般原理は、いずれかのネットワークノードが、任意のときに、新規接続状態を提案し得ることである。新規提案を受信したネットワークノードは、提案を確認して返答し、または、対抗提案で返答することができる。メッセージ交換は、オブジェクト制御プロトコル２１０とのプロパティメッセージ交換のように、ネットワークノードが新規状態について合意するまで続く。
【０１０１】
開始側エンドポイントにおいて新規接続が作成されると、接続状態情報は、以下に示すように初期化され得る。
【表６】
0005701995.tif 000010
【０１０２】
状態がローカルに変化する（たとえば、接続が閉じられる）と、所望の状態は、新規状態にセットすることができ、提案送付時間はヌルにセットすることができる。送信機会があると、所望の状態がヌルではなく、提案送付時間がヌルであるか、もしくは現在時刻が、提案を送った時間にラウンドトリップ時間の２倍を加えたものよりも大きいという条件、またはコンフォメーションフラグが真であるという条件のうちの少なくとも１つが成り立つ場合、ネットワークノードによって、別のネットワークノードにメッセージが送られ得る。メッセージが送られようとしている場合、メッセージフィールドは、次のようにセットされ得る。
【０１０３】
・ローカル接続識別子フィールドは、ローカル接続識別子値にセットされ得る。
【０１０４】
・リモート接続識別子フィールドは、リモート接続識別子値にセットすることができ、またはその値がヌルである場合は省かれる。
【０１０５】
・最後のローカルシーケンス番号は、ヌルである場合、ゼロにセットされ得る。ヌルでない場合、最後のローカルシーケンス番号は１だけ増分され得る。
【０１０６】
・ローカルシーケンス番号フィールドは、最後のローカルシーケンス番号にセットされ得る・リモートシーケンス番号フィールドは、最後のリモートシーケンス番号値にセットすることができ、またはその値がヌルである場合は省いてよい。
【０１０７】
・最後のリモートシーケンス番号がヌルである場合は、以下の手順に従えばよい
○ｏｔｐｏｒｔフィールドは、接続についての宛先ＯＴポートにセットされ得る
○ｉｎ＿ｏｒｄｅｒ＿ｄｅｌｉｖｅｒｙフィールドは、この接続について順序配信が求められる場合にのみ、真にセットされ得る。
【０１０８】
・状態フィールドは、所望の状態値がヌルでない場合はその値にセットすることができ、ヌルの場合は現在の状態値にセットすることができる。
【０１０９】
接続制御メッセージを受信すると、受信側ネットワークノードは、目標接続を最初に識別することができる。メッセージが、リモート接続識別子フィールドを含む場合、このフィールドは、接続を直接ルックアップするのに使うことができる。この識別子をもつ接続が存在しない場合、メッセージは黙って破棄され得る。存在する場合、メッセージは処理され得る。メッセージがリモート接続識別子を含まない場合、ノードは、メッセージのローカル接続識別子フィールドと等しいリモート接続識別子値をもつ任意の接続を検索することができる。そのような接続が見つかった場合、メッセージは、処理することができる。そのような接続が見つからない場合、次のように初期化された状態値をもつ新規接続を作成すればよい。
【表７】
0005701995.tif 000011
【０１１０】
受信メッセージのローカルシーケンス番号フィールドが、最後のリモートシーケンス番号値以下である場合、メッセージは黙って破棄され得る。そうでない場合、最後のリモートシーケンス番号は、ローカルシーケンス番号フィールドに等しくセットされ得る。受信メッセージのリモートシーケンス番号フィールドが、最後のローカルシーケンス番号値未満であり、このネットワークノードが接続の開始側ネットワークノードでない場合、メッセージは黙って破棄され得る。所望の状態がヌルでなく、メッセージの状態フィールドが所望の状態値と一致する場合、現在の状態は、所望の状態値にセットすることができ、所望の状態はヌルにセットすることができ、確認フラグは真にセットすることができる。そうでない場合、ネットワークノードは、提案された状態が受諾可能であるかどうか判断することができる。ＣＬＯＳＥＤまたはＲＥＪＥＣＴＥＤの状態は、ネットワークノードによって常に受諾され得る。そうである場合、現在の状態は状態フィールドにセットすることができ、所望の状態はヌルにセットすることができ、確認フラグは真にセットすることができる。提案された状態が受諾可能でない場合、ノードは、ＲＥＪＥＣＴＥＤなど、受諾可能な状態値を、ＯＰＥＮ状態についての要求に応答して指定すればよい。所望の状態は、この値にセットすることができ、提案を送った時間は、ヌルにセットされ得る。
【０１１１】
さらに、ある例によると、パケットフレーミングプロトコル２１６は、ネットワークノードの間で送信するためのパケット中に、他のレイヤの複数のＰＤＵ（たとえば、オブジェクトコード化ＰＤＵ、オブジェクト制御ＰＤＵ、接続制御ＰＤＵなど）を含むように実装され得る。さらに、パケットフレーミングプロトコル２１６は、ホストアイデンティティプロトコルヘッダーなど、１つまたは複数のヘッダーをパケットに追加することができる。この点において、リモートネットワークノードにおけるパケットフレーミングプロトコル２１６は、パケットフレーミングに少なくとも部分的に基づいて、様々なＰＤＵを判断することができ、リモートノードにおけるオブジェクトコード化プロトコル２０８、オブジェクト制御プロトコル２１０、接続制御プロトコル２１４などは、ＰＤＵを処理するのに使用することができる。
【０１１２】
図４に移ると、１つまたは複数のネットワークノードと通信するための、オブジェクトベースのトランスポートプロトコルの使用を円滑にする例示的ネットワークノード４００が示されている。記載したように、ネットワークノード４００は、実質的に、本明細書で言及するデバイス、ＵＥ、コンピュータ、サーバ、任意のノードまたはネットワークノードなどのような、ネットワーク内で通信するどのノードでもよい。ネットワークノード４００は、記載するように、異種ネットワークノードにおいて実行するアプリケーションを実行し、そのアプリケーションと通信するアプリケーション４０２を備え得る。さらに、ネットワークノード４００は、ＡＰＩ４０４と、対応するオブジェクトベースのトランスポートプロトコル４０６とを備え得る。たとえば、ＡＰＩ４０４は、アプリケーション４０２による、オブジェクトベースのトランスポートプロトコル４０６へのアクセスを円滑にし得る。
【０１１３】
ある例によると、ＡＰＩ４０４は、アプリケーション４０２（または１つもしくは複数の異種アプリケーション）が、ネットワークを介して送信するための１つまたは複数の任意のサイズのオブジェクトを作成し、オブジェクトについてのプロパティを指定し、オブジェクトを伝達する態様を制御することなどを可能にし得る。さらに、ＡＰＩ４０４は、アプリケーション４０２が、ネットワークを介して（たとえば、ソケットを使って）リモートネットワークノードに接続するためのパラメータを指定することなどを可能にし得る。したがって、アプリケーション４０２は、リモートネットワークノードにアプリケーションレイヤオブジェクトを移送するのにオブジェクトベースのトランスポートプロトコル４０６を使用するための、ＡＰＩ４０４への関数呼出しを実装し得る。
【０１１４】
一例では、ＡＰＩ４０４は、以下の態様に対応する実装形態を有し得る。ＡＰＩ４０４は、リモートネットワークノード（本明細書ではエンドポイントとも呼ばれる）、オブジェクトについてのプロパティなどを指定するためのデータ構造ＡＰＩと、リモートネットワークノードとの接続を管理するためのソケットＡＰＩと、オブジェクトの伝達の管理を円滑にするオブジェクトＡＰＩとを含む複数のＡＰＩを含み得る。ある例では、ＡＰＩ４０４は、ソケットの抽象化に基づいてよく、ここでソケットは、上の例で説明したオブジェクトトランスポートサービスアクセスポイントに対応する。作成後、ソケットは、ｏｔ＿ｂｉｎｄ（）ＡＰＩコールを使って、ローカルＯＴポートに束縛され得る。上述したコネクションレスソケットのケースでは、ソケットは、任意のリモートＯＴエンドポイントにオブジェクトを送るのに、または任意のコネクションレスＯＴ  ＳＡＰからオブジェクトを受信するのに使うことができる。
【０１１５】
コネクション型ソケットは、たとえば、リモートＯＴエンドポイントを指定するｃｏｎｎｅｃｔ（）ＡＰＩコールを発行することによって、リモートＯＴ  ＳＡＰに接続することができる。ＯＴエンドポイントは、ＯＴホストアイデンティティ、ＯＴロケータまたは両方のいずれかを与えることによって指定され得る。上述したように、正常接続モードおよびレイジー接続モードが与えられ得る。デフォルトで、コネクション型ソケットは、オブジェクトの順序配信を行うことができない。ただし、順序配信を可能にするためのソケットオプションが提供され得る。さらに、コネクション型ソケットにおける新規接続を受諾するためのｌｉｓｔｅｎ（）およびａｃｃｅｐｔ（）関数が提供される。
【０１１６】
ソケット記述子によって、ＡＰＩ４０４においてソケットが識別され得る。ネットワークノード４００向けのオペレーティングシステムｐｏｌｌ（）関数の類似物が、以下に示す、非同期プログラミングに使われ得るｏｔ＿ｐｏｌｌ（）関数によって与えられる。ｏｔ＿ｐｏｌｌ（）には、ネットワークノード４００において、オペレーティングシステム記述子についてのイベントを検出するためのｐｏｌｌｆｄ配列、さらにはオブジェクトトランスポートソケット記述子についてのイベントを検出するための新規ｏｔｐｏｌｌｆｄ配列が与えられ得る。オブジェクト記述子によって、ＡＰＩ４０４においてオブジェクトが識別され得る。
【０１１７】
例示的な一実装形態では、以下のテーブルが、ＡＰＩ４０４内で使われるデータタイプを記述し得る。
【表８】
0005701995.tif 000012
【０１１８】
例示的な一実装形態では、以下のテーブルが、ＡＰＩ４０４内で使われるいくつかの定数を記述し得る。
【表９】
0005701995.tif 000013
【０１１９】
0005701995.tif 000014
【０１２０】
ＯＴによって管理されるデータオブジェクトのいくつかは、ＯＴＨａｎｄｌｅデータタイプの使用に付託される。基底オブジェクト内のデータへのアクセスは、関数呼出しを通して達成され、ＯＴＨａｎｄｌｅ構造体自体はアプリケーションにとって不透明である。ＯＴによって管理されるデータオブジェクト（ＯＴＥｎｄｐｏｉｎｔ、ＯＴＨｏｓｔＩｄｅｎｔｉｔｙ、ＯＴＬｏｃａｔｏｒ、ＯＴＯｂｊｅｃｔ、ＯＴＰｒｏｐｅｒｔｉｅｓを含む）は、参照カウントされ得る。参照カウントは、ＯＴＨａｎｄｌｅオブジェクトに対するｏｔ＿ｒｅｔａｉｎ（）関数とｏｔ＿ｒｅｌｅａｓｅ（）関数とを使って増減され得る。これらのタイプのオブジェクトを戻す関数は、アプリケーションに割り振られた単一参照をもつオブジェクトを戻し、それゆえ、アプリケーションは、そのようなオブジェクトに対して、リソースの正しい割振り解除を確実にするためのｏｔ＿ｒｅｌｅａｓｅ（）を呼び出すことができる。さらに、ＯＴＨａｎｄｌｅはヌルでよく、その場合は、どのオブジェクトも参照しない。関数ｏｔ＿ｉｓ＿ｎｕｌｌ（）は、この条件をテストするのに使うことができる。関数ｏｔ＿ｎｕｌｌ＿ｈａｎｄｌｅ（）は、ヌルＯＴＨａｎｄｌｅを戻し、これは、ＯＴＨａｎｄｌｅデータタイプを初期化するのに使うことができる。
【数４】
0005701995.tif 000015
【０１２１】
一例では、ＡＰＩ４０４のデータ構造ＡＰＩは、以下の態様によって実装され得る。ＯＴＥｎｄｐｏｉｎｔオブジェクトは、（ホストアイデンティティ、ＯＴポート）ペア、もしくは（ＯＴロケータ、ＯＴポート）ペアまたは両方のいずれかによって、ＯＴエンドポイントを識別することができる。ＯＴ通信が開始されると、初期ＯＴロケータが与えられ得る。通信の確立中、与えられたＯＴロケータにおけるエンドポイントのホストアイデンティティが発見され得る。ホストの間の後続通信は、確立中に与えられるＯＴロケータを使っても使わなくてもよく、概してアプリケーションは、通信に使われるＯＴロケータセット中の変化に気づかない。上述したように、ＯＴロケータは、ＩＰｖ４またはＩＰｖ６アドレスでよく、したがって、標準ｓｔｒｕｃｔ  ｓｏｃｋａｄｄｒ構造体が、（ロケータ、ＯＴポート）ペアを表すのに使われ得る。ＯＴホスト識別情報は、ホストアイデンティティプロトコル識別情報であってよく、したがって、標準ｓｔｒｕｃｔ  ｓｏｃｋａｄｄｒ構造体が、（ホストアイデンティティ、ＯＴポート）ペアを表すのにも使うことができ、ここで、構造体に含まれるのは、１２８ビットのホストアイデンティティタグである。ＯＴＥｎｄｐｏｉｎｔ構造体は、ｏｔ＿ｅｎｄｐｏｉｎｔ（）関数を使って初期化され得る。エンドポイントアイデンティティおよびエンドポイントロケータが照会され得る。
【数５】
0005701995.tif 000016
【０１２２】
さらに、ＯＴＰｒｏｐｅｒｔｉｅｓ構造体は、ｏｔ＿ｉｎｉｔｐｒｏｐｅｒｔｉｅｓ（）関数と、ｏｔ＿ｇｅｔｐｒｏｐｅｒｔｙ（）関数と、ｏｔ＿ｓｅｔｐｒｏｐｅｒｔｙ（）関数と、ｏｔ＿ｃｌｅａｒｐｒｏｐｅｒｔｙ（）関数とを使って管理することができる。
【数６】
0005701995.tif 000017
【０１２３】
さらに、一例では、ＡＰＩ４０４のソケットＡＰＩが、以下の態様によって実装され得る。ｏｔ＿ｓｏｃｋｅｔ（）関数を使って、ソケットが作成される。
【数７】
0005701995.tif 000018
【０１２４】
ｏｔ＿ｃｌｏｓｅ（）関数を使って、ソケットが破壊される。
【数８】
0005701995.tif 000019
【０１２５】
ｏｔ＿ｂｉｎｄ（）関数を使って、ソケットがローカルＯＴポートに束縛される。
【数９】
0005701995.tif 000020
【０１２６】
さらに、たとえば、ローカルＯＴポートに束縛されているソケットは、ｏｔ＿ｃｏｎｎｅｃｔ（）関数を使ってリモートエンドポイントに接続することができる。ソケットがコネクションレスソケットである場合、このコールは、ソケットが関連付けられるべきピアを指定する。このアドレスは、データグラムが送られるべきアドレスであり、データグラムがそこから受信されるべき唯一のアドレスである。ソケットがコネクション型である場合、このコールは、別のソケットへの接続が確立されるべきであることを示す。この場合、上述したように、ＯＴ＿ＣＯＮＮＥＣＴ＿ＮＯＲＭＡＬおよびＯＴ＿ＣＯＮＮＥＣＴ＿ＬＡＺＹという２つの接続モードがある。
【数１０】
0005701995.tif 000021
【０１２７】
ローカルＯＴポートに束縛されているコネクション型ソケットは、ｏｔ＿ｌｉｓｔｅｎ（）関数を使って着信ＯＴ接続をリッスンするのに使うことができる。この関数は直ちにリターンし、続いて、ｏｔ＿ａｃｃｅｐｔ（）関数が、着信接続を受諾するのに使われる。
【数１１】
0005701995.tif 000022
【０１２８】
リスナーとしてマークされているソケットは、着信接続要求のキューを維持する。ｏｔ＿ａｃｃｅｐｔ（）関数は、キューに対する第１の要求についての新規コネクション型ソケットを取得し、またはキューが空の場合は新規要求を待つのに使われる。
【数１２】
0005701995.tif 000023
【０１２９】
ＯＴソケットは、ｏｔ＿ｐｏｐ＿ｅｖｅｎｔ（）関数で照会され得る、保留イベントのキューを維持する。新規イベントの存在は、ｏｔ＿ｐｏｌｌ（）関数を使って検出することができる。ｏｔ＿ｐｏｐ＿ｅｖｅｎｔ（）関数は、キューから供給されるイベントマスクによって選択されるタイプの、最も古いイベントをポップし、またはマスクと一致するどのイベントもキューが含まない場合は次のイベントが起こるのを待つ。
【数１３】
0005701995.tif 000024
【０１３０】
ソケットオプションは、ｏｔ＿ｓｅｔｓｏｃｋｏｐｔ（）コールとｏｔ＿ｇｅｔｓｏｃｋｏｐｔ（）コールとを使って読み取り、書き込むことができる。サポートされるソケットオプションは、たとえば以下の通りである。
【表１０】
0005701995.tif 000025
【数１４】
0005701995.tif 000026
【０１３１】
ソケットイベントは、ｏｔ＿ｐｏｌｌ（）関数を使って検出することができる。この関数により、複数のＯＴソケットならびにオペレーティングシステムソケット／ファイル記述子にわたるイベントが検出される（ＰＯＳＩＸ  ｐｏｌｌ（）関数の場合と同様）。ｏｔ＿ｐｏｌｌ（）関数は、次のように定義されるｐｏｌｌｆｄおよびｏｔｐｏｌｌｆｄデータ構造を使う。
【数１５】
0005701995.tif 000027
【０１３２】
標準オペレーティングシステムイベントマスクは、ｆｄｓ配列中で使われるが、ｏｔｆｄｓ配列の場合、イベントマスクは、ＯＴ＿ＳＥＮＤ＿ＣＯＭＰＬＥＴＥ、ＯＴ＿ＲＥＣＶ＿ＳＴＡＲＴＥＤ、ＯＴ＿ＲＥＣＶ＿ＣＯＭＰＬＥＴＥ、ＯＴ＿ＣＡＮＣＥＬＬＥＤ、ＯＴ＿ＥＸＰＩＲＥＤ、ＯＴ＿ＡＢＯＲＴＥＤのようなＯＴ系である。
【０１３３】
一例では、ＡＰＩ４０４のオブジェクトＡＰＩは、以下の態様によって実装され得る。ｏｔ＿ｓｅｎｄ（）およびｏｔ＿ｓｅｎｄｔｏ（）関数は、それぞれ、コネクションレスまたはコネクション型ソケットにおいて、オブジェクトの送付を開始するのに使われる。これらの関数は遮断せず、すなわちオブジェクトの送付の完了についての通知が求められる場合、ｏｔ＿ｐｏｌｌ（）および／またはｏｔ＿ｐｏｐ＿ｅｖｅｎｔ（）のいずれかを使って、ソケット上でオブジェクト完了イベントを検出する。
【数１６】
0005701995.tif 000028
【０１３４】
ｏｔ＿ｒｅｃｖ（）およびｏｔ＿ｒｅｃｖｆｒｏｍ（）関数は、それぞれ、コネクション型またはコネクションレスソケット上でオブジェクトを受信するのに使うことができる。各ソケットは、受信オブジェクトのキューを維持し、明示的オブジェクト記述子が指定されない場合、これらの関数は、最初の完全受信オブジェクトをソケット受信キューに入れて戻し、またはキューが空の場合はオブジェクトが利用可能になるまで遮断する。明示的オブジェクト記述子が指定されている場合、これらの関数は、そのオブジェクトが利用可能になり、取り消され、または満了されるまで遮断する。非同期動作の場合、ｓｅｌｅｃｔ（）およびｏｔ＿ｐｏｐ＿ｅｖｅｎｔ（）関数を使って、オブジェクトの受信を検出する。
【数１７】
0005701995.tif 000029
【０１３５】
これらの関数の呼出し側は、ｌｅｎ、ｔａｇ、ｐｒｏｐｓおよびｄａｔａ  ｐｏｉｎｔｅｒｓについて、その情報が求められていない場合はヌルを渡せばよい。入るとき、ｂｕｆｆｅｒｌｅｎによってポイントされるフィールドは、データによってポイントされるバッファにおけるバッファサイズを含むべきである。出るとき、このフィールドは、戻されたバイト数で上書きされる。バッファがオブジェクトサイズよりも小さい場合、同じオブジェクトについてのｏｔ＿ｒｅｃｖｆｒｏｍまたはｏｔ＿ｒｅｃｖへの反復呼出しが、オブジェクトの後続部分を戻すことになる。
【０１３６】
さらに、ｏｔ＿ｏｂｊ＿ｐｏｐ＿ｅｖｅｎｔ（）関数は、指定されたオブジェクトに関連した次のイベントを取得するのに使われ得る。２つのスレッドが、（ｏｔ＿ｐｏｐ＿ｅｖｅｎｔ（）またはｏｔ＿ｐｏｌｌ（）をもたない）ソケット上およびオブジェクト上で同時に待つ場合、オブジェクト上で待つスレッドのみが、イベントが起きたときに通知されることに留意されたい。
【数１８】
0005701995.tif 000030
【０１３７】
ｏｔ＿ｇｅｔｂｙｔｅｓ（）関数は、受信オブジェクトからバイトを取り出す。
【数１９】
0005701995.tif 000031
【０１３８】
ｏｔ＿ｇｅｔｉｎｆｏ（）は、オブジェクトタグと、長さと、プロパティとを含む、オブジェクトについての情報を取得するのに使われ得る。
【数２０】
0005701995.tif 000032
【０１３９】
オブジェクトについてのプロパティは、ｏｔ＿ｓｅｔｐｒｏｐｅｒｔｉｅｓ（）関数を使って、送付または受信中に変えることができる。
【数２１】
0005701995.tif 000033
【０１４０】
オブジェクトの、進行中の送付または受信は、ｏｔ＿ｃａｎｃｅｌ（）メソッドで取り消すことができる。オブジェクトを移送するのに十分なデータが送られた後、ただし受信側が受信を確認する前に、送付側においてｏｔ＿ｃａｎｃｅｌ（）が発行された場合、またはオブジェクトの受信が完了した後で受信側においてｏｔ＿ｃａｎｃｅｌ（）が発行された場合、取り消されたオブジェクトは、受信側において受信されることが依然として可能であることに留意されたい。
【数２２】
0005701995.tif 000034
【０１４１】
いくつかの通信モデルでは、同じまたは異なるソケット上で受信される２つのオブジェクトが、全く同じデータを含むものとして識別されることが起こり得る。この場合、ｏｔ＿ｍｅｒｇｅ（）関数を使って２つのオブジェクトを１つにマージすることによって、オブジェクトの受信が加速され得る。この関数に続いて、２つのオブジェクト記述子は同義になる。
【数２３】
0005701995.tif 000035
【０１４２】
オブジェクト記述子によって識別されるオブジェクトは、ｏｔ＿ｆｒｅｅｚｅ（）関数を使って、オブジェクトが明示的に記憶されるまで、オブジェクトが作成される、プロセスに関連付けられた存続期間をもつ。ｏｔ＿ｔｈａｗ（）関数は、以前凍結されたオブジェクトを取り出すのに使うことができ、ｏｔ＿ｄｉｓｃａｒｄ（）関数は、凍結されたオブジェクトを破棄するのに使うことができる。
【数２４】
0005701995.tif 000036
【０１４３】
したがって、ＡＰＩ４０４は、オブジェクトベースのトランスポートプロトコル４０６を介して伝達するためのオブジェクトを、アプリケーション４０２がフレーム化するのを可能にする。たとえば、アプリケーション４０２は、オブジェクトのサイズを決定することができ、ＴＣＰの場合のように、固定長パケットには制限されない。さらに、アプリケーション４０２は、記載したように、優先度、送信期限、応答プロパティ、オブジェクトタグなどのようなオブジェクトプロパティを指定することができる。さらに、アプリケーション４０２は、前に記載したように、リモートネットワークノードからネットワークノード４００へのオブジェクトの送信を制御することができる。
【０１４４】
図５を参照すると、オブジェクトベースのトランスポートプロトコルを使って、１つまたは複数のリモートネットワークノードにオブジェクトを送信するのを円滑にするネットワークノード５００が示されている。ネットワークノード５００は、記載するように、デバイス、ＵＥ、コンピュータ、サーバ、本明細書に記載する、実質的に任意のノードもしくはネットワークノード、および／または１つもしくは複数のリモートネットワークノードと通信する同様の構成要素、もしくはその部分でよい。ネットワークノード５００は、アプリケーションまたはオブジェクトベースのトランスポートプロトコルレイヤの上の他のプロトコルレイヤからオブジェクトを取得するためのオブジェクト受信構成要素５０２と、メタデータを受信し、かつ／またはオブジェクトと相関させるオブジェクトプロパティ関連付け構成要素５０４と、１つまたは複数のネットワークインターフェースを介してリモートネットワークノード（図示せず）にオブジェクトを送信するオブジェクト通信構成要素５０６とを備え得る。ネットワークノード５００はまた、オブジェクトまたはそれに関連付けられたプロパティの少なくとも一部分を符号化する随意のオブジェクトコード化構成要素５０８と、１つまたは複数の受信オブジェクトを復号する随意のオブジェクト復号構成要素５１０と、復号オブジェクトをアプリケーションレイヤに送るオブジェクト提供構成要素５１２とを備え得る。一例では、オブジェクト受信構成要素５０２、オブジェクトプロパティ関連付け構成要素５０４、オブジェクト通信構成要素５０６、オブジェクトコード化構成要素５０８、オブジェクト復号構成要素５１０、およびオブジェクト提供構成要素５１２は、本明細書に記載するように、プロトコルの機能性を提供するための、オブジェクトベースのトランスポートプロトコルの一部として実装され得る。
【０１４５】
ある例によると、オブジェクト受信構成要素５０２は、ネットワークノード５００における１つまたは複数のアプリケーションからオブジェクトを受信し得る。さらに、オブジェクトプロパティ関連付け構成要素５０４は、オブジェクトと相関させるためのプロパティ、タグなどを、アプリケーションから受信し得る。この点において、記載するように、アプリケーションは、オブジェクトをフレーム化し、記載するように、オブジェクトと関連付けるための優先度、送信期限、同様の応答プロパティ、および／または他のメタデータを判断することができる。たとえば、ネットワークノード５００は、アプリケーションによって使用することができる、オブジェクトと関連メタデータとを、オブジェクト受信構成要素５０２およびオブジェクトプロパティ関連付け構成要素５０４に送るのを円滑にするＡＰＩを実装することができる。
【０１４６】
たとえば、オブジェクト通信構成要素５０６は、記載するように、１つまたは複数のチャネルを介してネットワークノードと通信するのを円滑にする、１つまたは複数のリモートネットワークノードとの１つまたは複数のコネクション型セッションを維持することができる。別の例では、オブジェクト通信構成要素５０６は、アプリケーションから受信したオブジェクトを送信するために初期化され使用され得る１つまたは複数のコネクションレスセッションを含み得る。いずれのケースでも、たとえば、オブジェクト通信構成要素５０６は、リモートネットワークノードに送信するためのオブジェクト（たとえば、および／または関連メタデータ）用のセッションを選択することができる。オブジェクト通信構成要素５０６は、リモートネットワークノードにオブジェクトを送信することができる。
【０１４７】
たとえば、オブジェクト通信構成要素５０６におけるオブジェクトの送信は、前に記載したように、セッションに関連した１つまたは複数のチャネルによる送信機会の判断に少なくとも部分的に基づいてよく、この判断は、記載するように、１つまたは複数のチャネルに関連した少なくとも１つのネットワークインターフェースについての送信機会の検出に少なくとも部分的に基づき得る。オブジェクト通信構成要素５０６は、１つまたは複数のオブジェクトについて指示された優先度が、少なくとも１つのネットワークインターフェースへのチャネルを有する異なるセッション中の異なるオブジェクトの異なる優先度よりも高い（たとえば、および／またはオブジェクトメタデータ中で指定された送信期限が過ぎていない）という判断に少なくとも部分的に基づいて、１つまたは複数のチャネルについての送信機会を判断することもできる。さらに、記載するように、オブジェクト通信構成要素５０６は、上述したように、送信機会を判断する際、１つまたは複数のチャネルが送信に利用可能であるかどうか判断するために、１つまたは複数のチャネルについての輻輳制御の分析を始めることができる。たとえば、このことは、１つまたは複数のチャネルが、１つもしくは複数のオブジェクトを送るために利用可能であるかどうか、または１つもしくは複数のチャネルに対する輻輳制御がそのような送付を防止するかどうか判断することを含み得る。
【０１４８】
さらに、たとえば、セッションは、コネクション型であるかコネクションレスであるかにかかわらず、リモートネットワークノードへのアクセスを可能にし得る。さらに、オブジェクトコード化構成要素５０８は、セッション中の１つまたは複数のチャネルに関連したオブジェクト、関連メタデータ、プロパティなどを符号化することができる。したがって、記載するように、オブジェクトコード化構成要素５０８は、（たとえば、消失符号を使うなどして）オブジェクトをオブジェクトコード化ＰＤＵに、オブジェクトメタデータをオブジェクト制御ＰＤＵに、および／またはチャネルプロパティ（たとえば、接続状態）を接続制御ＰＤＵに符号化することができる。この例ではオブジェクト通信構成要素５０６は、リモートネットワークノードにＰＤＵを送信することができる。
【０１４９】
たとえば、いずれの場合にも、オブジェクト通信構成要素５０６は、ＰＤＵを、１つまたは複数のネットワークレイヤプロトコルを介して伝達するための１つまたは複数のパケットにフレーム化することができる。一例では、オブジェクト通信構成要素５０６は、記載するように、リモートネットワークノードとのセッションを維持することができ、オブジェクト通信構成要素５０６が１つまたは複数のホストへのチャネルを追加し、消去し、または修正することができるように、セッション用のチャネルを管理することができる。したがって、たとえば、ネットワークノード５００がワイヤレスネットワークノードである場合、オブジェクト通信構成要素５０６は、ネットワークノード５００がワイヤレスネットワークを越えて移動するとき、セッション用のホストチャネルを修正することによって、ノードの移動性を可能にし得る。したがって、オブジェクト通信構成要素５０６は、記載するように、リモートネットワークノードとのセッションを通して、ホスト切替えの透明性を維持することができる。さらに、たとえば、オブジェクト通信構成要素５０６は、記載するように、１つまたは複数のホストを介して、リモートネットワークノードとの複数のチャネルを確立することができる。この例では、オブジェクト通信構成要素５０６は、記載するように、リモートネットワークノードとの追加チャネルを確立することを求める要求において、リモートネットワークノードから（たとえば、ノードとの初期チャネルを介して）受信したセキュリティアソシエーションを含めることによって、リモートネットワークノードへのチャネルを追加することができる。
【０１５０】
さらに、オブジェクト通信構成要素５０６は、リモートネットワークノードに送信されたオブジェクトに応答して、そのノードから１つまたは複数のパケットを受信することができる。たとえば、パケットは、（たとえば、オブジェクトとともにリモートネットワークノードに送信された応答プロパティによる）応答オブジェクト、関連した符号化ＰＤＵなどを含み得る。ＰＤＵが受信された場合、たとえば、オブジェクト復号構成要素５１０は、オブジェクトおよび／または関連メタデータをＰＤＵに従って復号することができる。いずれのケースでも、オブジェクト提供構成要素５１２は、記載するように、オブジェクトまたは関連ＰＤＵが受信される際に経由したチャネルに少なくとも部分的に基づいて、オブジェクトをアプリケーションレイヤに伝達することができる。さらに、たとえば、受信オブジェクトは、（たとえば、記載するように、起こり得るマージのために）オブジェクトを早期に識別するための、オブジェクトの識別子、タグなどを含み得るメタデータ、オブジェクト通信構成要素５０６が受信オブジェクトに応答して任意のオブジェクトを伝達する際に使用し得る応答プロパティなども有し得る。さらに、たとえば、オブジェクト通信構成要素５０６は、記載するように、（たとえば、１つまたは複数のオブジェクトコード化ＰＤＵ内などの）リモートネットワークノードとの通信に関するフィードバックを送信および／または受信することができる。
【０１５１】
ここで図６に移ると、ネットワークノードの間でのオブジェクトの伝達を円滑にする例示的通信システム６００が示されている。システム６００は、本明細書に記載する態様によって、オブジェクトを伝達することができるネットワークノード６０２および６０４を備える。ネットワークノード６０２および６０４は、各々が、本明細書に記載するデバイス、ＵＥ、コンピュータ、サーバ、ノードもしくはネットワークノード、または実質的にはワイヤードもしくはワイヤレスネットワーク内で通信するどのノードでもあり得る。ネットワークノード６０２は、同様の機能性の提供を円滑にするために、ネットワークノード６０４と同様の構成要素をさらに備えてよく、逆もまた同様であることを諒解されたい。さらに、ネットワークノード６０２および６０４は、記載する構成要素が実装されるオブジェクトベースのトランスポートプロトコルを含み得る。
【０１５２】
たとえば、ネットワークノード６０２は、セッションによりリモートネットワークノードに／からオブジェクトを送信および／または受信するオブジェクト通信構成要素６０６と、リモートネットワークノードから受信したオブジェクトに関連付けられたプロパティの修正を指示し得る随意のオブジェクトプロパティ指定構成要素６０８と、複数のネットワークノードから受信したパケットを受信し、１つまたは複数のオブジェクトを形成するように組み合わせることができる随意のオブジェクトマージ構成要素６１０とを備え得る。ネットワークノード６０４は、セッション中にリモートネットワークノードに／からオブジェクトを送信および／または受信するオブジェクト通信構成要素６１２と、リモートネットワークノードに送信される１つまたは複数のオブジェクトのプロパティを更新する随意のオブジェクトプロパティ修正構成要素６１４と、リモートネットワークノードにオブジェクトを送信するために、１つまたは複数のセッションの状態を制御する随意のセッション状態更新構成要素６１６とを含み得る。
【０１５３】
ある例によると、オブジェクト通信構成要素６１２は、ネットワークノード６０２にオブジェクトを送信することができ、このオブジェクトは、オブジェクト通信構成要素６０６において受信され得る。ある例では、オブジェクト通信構成要素６０６は、ネットワークノード６０４にオブジェクトを送信することによって、ネットワークノード６０４に対してコンテンツを要求することができる。さらに、オブジェクトプロパティ指定構成要素６０８は、要求の中の応答プロパティ（たとえば、応答オブジェクトについてのプロパティ）を関連付けることができる。オブジェクト通信構成要素６１２は要求を受信することができ、オブジェクトプロパティ修正構成要素６１４は、コンテンツについての要求に応答するのに関連したオブジェクトについてのプロパティを、コンテンツについての要求に関連付けられた応答プロパティに従ってセットすることができる。一例では、記載するように、応答オブジェクトについてのプロパティの交渉を円滑にするために、オブジェクトプロパティ修正構成要素６１４は、オブジェクトプロパティ指定構成要素６０８に代替オブジェクトプロパティを送信することができ、逆もまた同様である。オブジェクト通信構成要素６１２は、応答オブジェクトについてのプロパティセットに従って、ネットワークノード６０２に応答オブジェクトを送信することができる。
【０１５４】
さらに、オブジェクトプロパティ指定構成要素６０８は、記載するように、ネットワークノード６０４からオブジェクトを受信する間に、オブジェクトプロパティの修正を要求するオブジェクトをネットワークノード６０４に送信することができる。この例では、オブジェクト通信構成要素６１２は、記載するように、オブジェクトプロパティのオブジェクト要求修正を受信することができ、オブジェクトプロパティ修正構成要素６１４は、それに従ってプロパティを修正し、交渉するための代替プロパティを送信することなどができる。この点において、一例では、ネットワークノード６０２は、ネットワークノード６０４によってノード６０２に送信されたオブジェクトの優先度を修正することができる。したがって、たとえば、そのようなオブジェクトを要求するアプリケーションが、閉じ、または場合によっては以前指示された優先度でオブジェクトを受信する必要がもはやない場合、ネットワークノード６０２は、ネットワークノード６０２においてオブジェクトが受信されるレートを低下させるように、優先度の変化を起こし得る。たとえば、この変化により、ネットワークノード６０４または１つもしくは複数の他のネットワークノードからの他のオブジェクトについての受信レートを増大させ、オブジェクトを受信し処理するのに求められる電力消費を減少させることなどが可能になり得る。
【０１５５】
さらに、記載するように、オブジェクトプロパティ指定構成要素６０８は、チャネルまたはセッションの状態の修正を要求することができる。一例では、オブジェクトプロパティ指定構成要素６０８は、ネットワークノード６０４が一定の期間、セッションを中止する（たとえば、セッションを保留することを含む）ことを要求し得る。この例では、オブジェクトプロパティ指定構成要素６０８は、セッションまたはセッション内のチャネルに関連したプロパティを（たとえば、オブジェクト通信構成要素６０８によって伝達されるオブジェクト中で）指示することができる。プロパティが受信されると、セッション状態更新構成要素６１６は、セッションの状態を適切に修正し、代替プロパティをネットワークノード６０２に伝達して、状態について交渉することなどができる。たとえば、セッション状態更新構成要素６１６がセッションを保留した場合、前に記載したように、セッションからオブジェクトを送信するのをやめるために、送信機会についてセッションを検討するとき、セッションは無視してよい。
【０１５６】
さらに別の例では、オブジェクト通信構成要素６０６は、ネットワークノード６０４および（たとえば、分散型実装形態において）別のリモートネットワークノードから、要求されたオブジェクトを受信することができる。この点において、オブジェクトマージ構成要素６１０は、オブジェクト通信構成要素６０６において受信されたオブジェクトが、同じデータについてであるかどうか検出する（たとえば、記載したように、オブジェクト中で指定されたプロパティまたはタグに少なくとも部分的に基づいて）。同じデータについてのオブジェクトの場合、オブジェクトマージ構成要素６１０は、複数のネットワークノードからそのオブジェクトについて受信されたＰＤＵを組み合わせることができる。記載するように、ＰＤＵは、消失符号を使って符号化することができ、したがって、オブジェクトマージ構成要素６１０は、各ネットワークノードから、ＰＤＵ中でいくつかの消失符号化シンボルを受信することができ、オブジェクトのシンボルの総数に対応するいくつかの消失符号化シンボルが受信されると、ネットワークノード６０２は、オブジェクトを復号することができる。さらに、たとえば、オブジェクト通信構成要素６１２は、ネットワークノード６０２および複数の他のネットワークノードにオブジェクトをマルチキャストすることができる。
【０１５７】
図７〜図１２を参照すると、オブジェクトベースのトランスポートプロトコルの提供に関する例示的方法が示されている。説明を簡単にするために、方法を一連の行為として図示し説明するが、いくつかの行為は、１つまたは複数の実施形態によれば、本明細書で図示し説明する順序とは異なる順序で、および／または他の行為と同時に行われるので、方法は行為の順序によって限定されないことを理解および諒解されたい。たとえば、方法は、状態図など、一連の相互に関係する状態またはイベントとして代替的に表現され得ることを諒解されたい。さらに、１つまたは複数の実施形態による方法を実施するために、図示のすべての行為が必要とされるとは限らない。
【０１５８】
図７を参照すると、オブジェクトベースのトランスポートプロトコルを使ったオブジェクトの伝達を円滑にする例示的方法７００が示されている。７０２で、リモートネットワークノードに伝達するための１つまたは複数のオブジェクトが、アプリケーションから受信され得る。記載するように、オブジェクトは、アプリケーションによってフレーム化することができ、任意のサイズであってよい。７０４で、１つまたは複数のオブジェクトについてのメタデータが、アプリケーションから受信され得る。たとえば、メタデータは、１つまたは複数のオブジェクトの優先度、送信期限、識別子、または他の側面に関し得る。７０６で、リモートネットワークノードに１つまたは複数のオブジェクトを伝達するためのセッションが選択され得る。たとえば、セッションは、リモートネットワークノードとの関連付けに少なくとも部分的に基づいて選択することができ、セッションは、記載するように、リモートネットワークノードへの１つまたは複数のチャネルを有し得る。７０８で、セッションのチャネルに関連した少なくとも１つのネットワークインターフェースを介して送信するための１つまたは複数のオブジェクトが、ネットワークプロトコルレイヤに与えられ得る。記載するように、１つまたは複数のオブジェクトは、判断された送信機会において、少なくとも１つのネットワークインターフェースを介して送信され得る。
【０１５９】
図８に移ると、オブジェクトについて指定される送信期限の使用を円滑にする例示的方法８００が示されている。８０２で、セッション中のオブジェクトの送信期限を、オブジェクトに関連したメタデータから取り出すことができる。記載するように、たとえば、送信期限は、アプリケーションによって指定され、メタデータ中でオブジェクトに関連付けられ得る。８０４で、（たとえば、送信期限と現在時刻の比較に基づいて）送信期限が過ぎたと判断することができる。したがって、８０６で、オブジェクトの送信が取り消され得る。この取消しは、たとえば、セッションからのオブジェクトの削除、オブジェクトに関連した状況の修正などを含み得る。
【０１６０】
図９を参照すると、リモートネットワークノードからの要求に基づいてオブジェクトプロパティを修正するための例示的方法９００が示されている。９０２で、コンテンツについての要求に関連したオブジェクトの１つまたは複数のプロパティを修正することを求める要求が、リモートネットワークノードから受信され得る。記載するように、たとえば、この要求は、１つまたは複数のオブジェクトとして受信され得る。１つまたは複数のプロパティは、コンテンツについての要求に関連した１つまたは複数のオブジェクトの優先度、送信期限などに関し得る。一例では、オブジェクトの一部分の送信は既に始まっていてよい。９０４で、１つまたは複数のオブジェクトの１つまたは複数のプロパティは、要求に少なくとも部分的に基づいて修正され得る。この修正は、たとえば、セッション中のオブジェクトのプロパティを変える（たとえば、アプリケーションが非アクティブである場合は優先度を下げる）ことを含み得る。９０６で、１つまたは複数のオブジェクトが、１つまたは複数のプロパティに従って送信され得る。別の例では、プロパティを修正することを求める要求は、セッションまたはそのチャネルに関連してよく、９０４で、セッションまたはチャネル状態を、記載するように修正することができ、９０６で、１つまたは複数のオブジェクトを、状態修正に従って送信することができる（または送信しなくてよい）。
【０１６１】
図１０に移ると、オブジェクトベースのトランスポートプロトコルによる通信のために、リモートネットワークノードとの複数のチャネルを確立するのを円滑にする例示的方法１０００が示されている。１００２で、リモートネットワークノードが、１つまたは複数のチャネルを介して通信し得る。記載するように、１つまたは複数のチャネルは、セッションにおけるスループットを最大限にするためのセッションの一部であり得る。１００４で、セキュリティアソシエーションが、初期チャネルを介してリモートネットワークノードから受信され得る。１００６で、セキュリティアソシエーションが、異なるネットワークインターフェースによる、リモートネットワークノードからの追加チャネルについての要求中で指定され得る。この指定により、リモートネットワークノードは、たとえば、別の接続を可能にする前に、初期接続を検証することができる。
【０１６２】
図１１を参照すると、複数のソースからオブジェクトが受信された場合にオブジェクトをマージするための例示的方法１１００が示されている。１１０２で、オブジェクトに関連したオブジェクトコード化ＰＤＵが、複数のネットワークノードから受信され得る。たとえば、オブジェクトコード化ＰＤＵは、（たとえば、記載するように、関連識別子またはタグに少なくとも部分的に基づいて識別され得る）同一のオブジェクトの固有の消失符号シンボルであり得る。１１０４で、オブジェクトコード化ＰＤＵがマージされ、ＰＤＵの受信時間を増すことができる。
【０１６３】
図１２に移ると、リモートネットワークノードからオブジェクトを受信する１つまたは複数のプロパティを修正するための例示的方法１２００が示されている。１２０２で、あるアプリケーションから異なるアプリケーションへの切替えが決定され得る。たとえば、アプリケーションは、リモートネットワークノードからストリーミングデータを受信中であってよく、異なるアプリケーションは、異なるネットワークノードに対してデータを要求することができる。したがって、１２０４で、アプリケーションに関連したオブジェクトの１つまたは複数のプロパティを修正することを求める要求が、リモートネットワークノードに送信され得る。１つまたは複数のプロパティは、たとえば、オブジェクトの優先度（たとえば、アプリケーションに関連した同じ数のオブジェクトを受信しないように、異なるアプリケーションへの切替えを鑑みて、送信優先度を下げる）などを含み得る。１２０６で、アプリケーションに関連したオブジェクトが、記載するように、１つまたは複数のプロパティに従って受信され得る。
【０１６４】
本明細書に記載する１つまたは複数の態様によると、記載するように、ネットワークインターフェースを介して送信機会を受信するためのセッションの決定などに関する推論が行われ得ることが諒解されよう。本明細書で使用する「推論する」または「推論」という用語は、概して、事象および／またはデータを介して捕捉された観察のセットから、システム、環境、および／またはユーザの状態について推理する、またはその状態を推論するプロセスを指す。推論は、特定のコンテキストまたはアクションを識別するために採用でき、あるいは、たとえば、状態の確率分布を生成することができる。推論は、確率的、すなわち、データおよび事象の考察に基づく当該の状態の確率分布の計算とすることができる。推論は、事象および／またはデータのセットからより高いレベルの事象を構成するために採用される技法を指すこともある。そのような推論から、イベントが時間的に緊切して相関するか否かにかかわらず、ならびにイベントおよびデータが１つまたは複数のイベントおよびデータの発生源に由来するかどうかにかかわらず、観測されたイベントおよび／または記憶されたイベントデータのセットから新しいイベントまたはアクションが構成される。
【０１６５】
図１３を参照すると、オブジェクトベースのトランスポートプロトコルを介した通信を円滑にするシステム１３００が示されている。たとえば、システム１３００は、少なくとも部分的に基地局、モバイルデバイス、コンピュータ、サーバなどの内部に常駐することができる。システム１３００は機能ブロックを含むものとして表されており、その機能ブロックは、プロセッサ、ソフトウェア、またはそれらの組合せ（たとえば、ファームウェア）によって実装される機能を表す機能ブロックであってよいことを諒解されたい。システム１３００は、連携して動作することができる電気構成要素の論理グルーピング１３０２を含む。たとえば、論理グルーピング１３０２は、リモートネットワークノード伝達するための１つまたは複数のオブジェクトをアプリケーションから受信するための電気構成要素１３０４を含み得る。記載するように、オブジェクトは、アプリケーションによってフレーム化することができ、任意のサイズであってよい。さらに、論理グルーピング１３０２は、１つまたは複数のオブジェクトについてのメタデータをアプリケーションから受信する電気構成要素１３０６を備え得る。
【０１６６】
記載するように、たとえば、メタデータは、オブジェクトの優先度、送信期限、識別子、タグなどを含み得る。さらに、論理グルーピング１３０２は、メタデータ中で指示された優先度に少なくとも部分的に基づいて、選択されたセッションのチャネルに関連した少なくとも１つのネットワークインターフェースを介して送信するための１つまたは複数のオブジェクトを、ネットワークプロトコルレイヤに与えるための電気構成要素１３０８を含み得る。記載するように、電気構成要素１３０８は、セッションについての送信機会の決定に少なくとも部分的に基づいて、セッション中の１つまたは複数のオブジェクトを送ることができ、送信機会の決定も、１つまたは複数のオブジェクトの優先度に基づき得る。たとえば、一態様では、電気構成要素１３０４は、上記で説明したように、オブジェクト受信構成要素５０２などを含むことができる。さらに、たとえば、上記で説明したように、電気構成要素１３０６は、一態様では、オブジェクトプロパティ関連付け構成要素５０４などを含むことができる。さらに、ある例では、上記で説明したように、電気構成要素１３０８は、一態様では、オブジェクト通信構成要素５０６などを含むことができる。
【０１６７】
さらに、システム１３００は、電気構成要素１３０４、１３０６、および１３０８に関連する機能を実行するための命令を保持するメモリ１３１０を含むことができる。メモリ１３１０の外部にあるものとして示されているが、電気構成要素１３０４、１３０６、および１３０８のうちの１つまたは複数は、メモリ１３１０の内部に存在することができることを理解されたい。一例では、電気構成要素１３０４、１３０６、および１３０８は、少なくとも１つのプロセッサを備えることができるか、または、各電気構成要素１３０４、１３０６、もしくは１３０８は、少なくとも１つのプロセッサの対応するモジュールであり得る。さらに、追加または代替の例では、電気構成要素１３０４、１３０６、および１３０８は、コンピュータ可読媒体を備えるコンピュータプログラム製品であり得、各電気構成要素１３０４、１３０６、および１３０８は、対応するコードであり得る。
【０１６８】
次に図１４を参照すると、本明細書で提示される様々な実施形態によるワイヤレス通信システム１４００が示されている。システム１４００は、複数のアンテナグループを含むことができる基地局１４０２を備える。たとえば、１つのアンテナグループはアンテナ１４０４および１４０６を含み、別のグループはアンテナ１４０８および１４１０を備え、さらなるグループはアンテナ１４１２および１４１４を含むことができる。アンテナグループごとに２つのアンテナが示されているが、グループごとにより多いまたはより少ないアンテナが利用されてよい。基地局１４０２はさらに、送信機チェーンと受信機チェーンとを含んでよく、そして送信機チェーンおよび受信機チェーンの各々は、諒解されるように、信号の送信および受信に関連する複数のコンポーネント（たとえば、プロセッサ、変調器、マルチプレクサ、復調器、デマルチプレクサ、アンテナなど）を備え得る。
【０１６９】
基地局１４０２は、モバイルデバイス１４１６およびモバイルデバイス１４２２など１つまたは複数のモバイルデバイスと通信することができるが、基地局１４０２は、モバイルデバイス１４１６および１４２２と同様の実質的にいかなる数のモバイルデバイスとも通信できることを諒解されたい。モバイルデバイス１４１６および１４２２は、たとえば、セルラー電話、スマートフォン、ラップトップ、ハンドヘルド通信デバイス、ハンドヘルドコンピューティングデバイス、衛星ラジオ、全地球測位システム、ＰＤＡ、および／またはワイヤレス通信システム１４００を介して通信するための他の適切なデバイスであってよい。図示のように、モバイルデバイス１４１６は、アンテナ１４１２および１４１４と通信しており、アンテナ１４１２および１４１４は、順方向リンク１４１８を通じて情報をモバイルデバイス１４１６に送信し、逆方向リンク１４２０を通じてモバイルデバイス１４１６から情報を受信する。さらに、モバイルデバイス１４２２は、アンテナ１４０４および１４０６と通信しており、アンテナ１４０４および１４０６は、順方向リンク１４２４を介して情報をモバイルデバイス１４２２に送信し、逆方向リンク１４２６を介してモバイルデバイス１４２２から情報を受信する。周波数分割複信（ＦＤＤ）システムでは、たとえば、順方向リンク１４１８は、逆方向リンク１４２０によって使用される周波数帯とは異なる周波数帯を利用し、順方向リンク１４２４は、逆方向リンク１４２６によって使用される周波数帯とは異なる周波数帯を使用することができる。さらに、時分割複信（ＴＤＤ）システムでは、順方向リンク１４１８および逆方向リンク１４２０は共通の周波数帯を利用し、順方向リンク１４２４および逆方向リンク１４２６は共通の周波数帯を利用することができる。
【０１７０】
アンテナの各グループおよび／またはそれらが通信するように指定されたエリアを、基地局１４０２のセクタと呼ぶことができる。たとえば、基地局１４０２によってカバーされるエリアのセクタ中のモバイルデバイスに通信するようにアンテナグループを設計することができる。順方向リンク１４１８および１４２４を介した通信では、基地局１４０２の送信アンテナは、モバイルデバイス１４１６および１４２２についての順方向リンク１４１８および１４２４の信号対雑音比を向上させるためにビームフォーミングを利用することができる。さらに、基地局１４０２が、関連するカバレージ中に不規則に散在するモバイルデバイス１４１６および１４２２に送信するためにビームフォーミングを利用する間は、基地局が単一のアンテナを介してその基地局のすべてのモバイルデバイスに送信する場合と比較して、隣接セル内のモバイルデバイスは干渉を受けにくい。さらに、モバイルデバイス１４１６および１４２２は、図示のようにピアツーピアまたはアドホック技術を使用して互いに直接通信することができる。一例によれば、システム１４００は、多入力多出力（ＭＩＭＯ）通信システムであってよい。
【０１７１】
図１５を参照すると、一態様では、ネットワークノード１０２、１０４、３０２、３０４、４００、５００、６０２、または６０４（たとえば、図１および図３〜図６）のうちのいずれもが、コンピュータデバイス１５００によって表され得る。コンピュータデバイス１５００は、本明細書で説明する構成要素および機能のうちの１つまたは複数に関連する処理機能を実行するためのプロセッサ１５０２を含む。プロセッサ１５０２は、プロセッサまたはマルチコアプロセッサの単一または複数のセットを含むことができる。さらに、プロセッサ１５０２は、統合処理システムおよび／または分散処理システムとして実装され得る。
【０１７２】
コンピュータデバイス１５００は、プロセッサ１５０２によって実行されているアプリケーションのローカルバージョンを記憶するなどのためのメモリ１５０４をさらに含む。メモリ１５０４は、ランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、テープ、磁気ディスク、光ディスク、揮発性メモリ、不揮発性メモリ、およびそれらの任意の組合せなど、コンピュータが使用できる実質的にどんなタイプのメモリでも含むことができる。
【０１７３】
さらに、コンピュータデバイス１５００は、本明細書で説明するように、ハードウェア、ソフトウェア、およびサービスを利用して、１つまたは複数の相手との通信を確立し、維持することを行う通信構成要素１５０６を含む。通信構成要素１５０６は、コンピュータデバイス１５００上の構成要素間、ならびにコンピュータデバイス１５００と、通信ネットワーク上に位置するデバイス、および／またはコンピュータデバイス１５００に直列またはローカルに接続されたデバイスなどの外部デバイスとの間の通信を伝え得る。たとえば、通信構成要素１５０６は、１つまたは複数のバスを含むことができ、それぞれ送信機および受信機に関連する、外部デバイスとインターフェースするように動作可能な送信チェーン構成要素および受信チェーン構成要素をさらに含むことができる。さらに、たとえば、通信構成要素１５０６は、本明細書に記載した、オブジェクトベースのトランスポートプロトコル（たとえば、図２のオブジェクトベースのトランスポートプロトコル２００）を活用することができる。
【０１７４】
さらに、コンピュータデバイス１５００は、データストア１５０８をさらに含むことができ、データストア１５０８は、本明細書で説明する態様に関連して採用される情報、データベース、およびプログラムの大容量記憶を与えるハードウェアおよび／またはソフトウェアの任意の適切な組合せとすることができる。たとえば、データストア１５０８は、プロセッサ１５０２によって現在実行されていないアプリケーションのためのデータリポジトリであり得る。
【０１７５】
コンピュータデバイス１５００は、さらに、コンピュータデバイス１５００のユーザから入力を受けるように動作可能であり、ユーザへの提示のための出力を生成するようにさらに動作可能なユーザインターフェース構成要素１５１０を含む。ユーザインターフェース構成要素１５１０は、限定はしないが、キーボード、テンキー、マウス、タッチセンシティブディスプレイ、ナビゲーションキー、ファンクションキー、マイクロフォン、音声認識構成要素、ユーザから入力を受けることが可能な他の機構、またはそれらの任意の組合せを含む、１つまたは複数の入力デバイスを含むことができる。さらに、ユーザインターフェース構成要素１５１０は、限定はしないが、ディスプレイ、スピーカ、触覚フィードバック機構、プリンタ、出力をユーザに提示することが可能な他の機構、またはそれらの任意の組合せを含む、１つまたは複数の出力デバイスを含むことができる。
【０１７６】
さらに、図示した例において、コンピュータデバイス１５００は、上述したように、オブジェクト受信構成要素５０２と、オブジェクトプロパティ関連付け構成要素５０４と、オブジェクト通信構成要素５０６とを含み得る。したがって、これらの構成要素５０２、５０４、および５０６は、説明したように、これらの構成要素に関連する命令を実行するためのプロセッサ１５０２、これらの構成要素に関連する情報を記憶するためのメモリ１５０４、オブジェクトベースのトランスポートレイヤにおける操作を実行するための通信構成要素１５０６などを利用することができる。さらに、コンピュータデバイス１５００が、本明細書で説明する追加または代替の構成要素を含むことができることを諒解されたい。
【０１７７】
本明細書で開示した実施形態に関して説明した様々な例示的な論理、論理ブロック、モジュール、構成要素、および回路は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または他のプログラマブル論理デバイス、個別ゲートまたはトランジスタ論理、個別ハードウェア構成要素、あるいは本明細書で説明した機能を実行するように設計されたそれらの任意の組合せを用いて実装または実行され得る。汎用プロセッサはマイクロプロセッサとすることができるが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態マシンとすることができる。プロセッサは、コンピューティングデバイスの組合せ、たとえば、ＤＳＰとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと連携する１つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装することもできる。さらに、少なくとも１つのプロセッサは、上述のステップおよび／またはアクションの１つまたは複数を実行するように動作可能な１つまたは複数のモジュールを備えることができる。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるようにプロセッサに結合される。代替として、記憶媒体はプロセッサに一体化することができる。さらに、いくつかの態様では、プロセッサおよび記憶媒体はＡＳＩＣ中に常駐することができる。さらに、ＡＳＩＣはユーザ端末中に常駐することができる。代替として、プロセッサおよび記憶媒体は、ユーザ端末内に個別構成要素として常駐することもできる。
【０１７８】
１つまたは複数の態様では、説明した機能、方法またはアルゴリズムは、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装する場合、機能は、１つまたは複数の命令またはコードとして、コンピュータプログラム製品に組み込まれ得る、コンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体上で送信され得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体とコンピュータ通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスできる任意の利用可能な媒体とすることができる。限定ではなく例として、そのようなコンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、あるいは他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気記憶デバイス、もしくは命令またはデータ構造の形態の所望のプログラムコードを搬送または記憶するために使用でき、コンピュータによってアクセスできる任意の他の媒体を備えることができる。また、実質的にいかなる接続もコンピュータ可読媒体と呼ばれ得る。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線（ＤＳＬ）、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用されるディスク（disk）およびディスク（disc）は、コンパクトディスク（disc）（ＣＤ）、レーザーディスク（登録商標）（disc）、光ディスク（disc）、デジタル多用途ディスク（disc）（ＤＶＤ）、フロッピー（登録商標）ディスク（disk）およびブルーレイ（登録商標）ディスク（disc）を含み、ディスク（disk）は、通常、データを磁気的に再生し、ディスク（disc）は、通常、データをレーザで光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲内に含めるべきである。
【０１７９】
上記の開示では、例示的な態様および／または実施形態について論じたが、添付の特許請求の範囲によって定義された記載の態様および／または実施形態の範囲から逸脱することなく、様々な変更および改変を本明細書で行うことができることに留意されたい。さらに、記載の態様および／または実施形態の要素は、単数形で説明または請求されていることがあるが、単数形に限定することが明示的に述べられていない限り、複数形が企図される。さらに、任意の態様および／または実施形態の全部または一部は、別段の規定がない限り、任意の他の態様および／または実施形態の全部または一部とともに利用できる。
以下に、出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ネットワーク通信における、オブジェクトベースのトランスポートレイヤを提供する方法であって、
リモートネットワークノードに伝達するための１つまたは複数のオブジェクトを、アプリケーションから受信することと、
前記１つまたは複数のオブジェクトについてのメタデータを、前記アプリケーションから受信することと、
前記リモートネットワークノードに前記１つまたは複数のオブジェクトを伝達するためのセッションを選択することと、
前記メタデータ中で指示された前記１つまたは複数のオブジェクトの優先度に少なくとも部分的に基づいて、前記セッションのチャネルに関連した少なくとも１つのネットワークインターフェースを介して送信するための前記１つまたは複数のオブジェクトをネットワークプロトコルレイヤに提供することとを備える方法。
［Ｃ２］
前記少なくとも１つのネットワークインターフェースについての送信機会を検出することと、
前記１つまたは複数のオブジェクトの前記優先度が、前記セッション、または前記少なくとも１つのネットワークインターフェースに関連した前記チャネルもしくは異なるチャネルをもつ異なるセッション中の異なるオブジェクトの少なくとも異なる優先度よりも高いと判断することであって、前記１つまたは複数のオブジェクトを前記提供することが、前記判断に少なくとも部分的に基づくこととをさらに備える、請求項１に記載の方法。［Ｃ３］
前記送信機会を前記検出することが、前記チャネルのための輻輳制御を分析して、前記チャネルが、前記少なくとも１つのネットワークインターフェースを介して前記１つまたは複数のオブジェクトを送信するために利用可能であると判断することを含む、請求項２に記載の方法。
［Ｃ４］
前記送信機会を前記検出することが、前記セッションの状態を分析して、前記セッションが、前記少なくとも１つのネットワークインターフェースを介して前記１つまたは複数のオブジェクトを送信するために利用可能であると判断することを含む、請求項２に記載の方法。
［Ｃ５］
前記セッション中の１つまたは複数の異なるオブジェクトに関連した送信期限を判断することと、
前記送信期限の経過に少なくとも部分的に基づいて、前記１つまたは複数の異なるオブジェクトの送信を取り消すこととをさらに備える、請求項１に記載の方法。
［Ｃ６］
前記１つまたは複数のオブジェクトに関連した後続オブジェクトの１つまたは複数のプロパティを修正することを求める要求を前記リモートネットワークノードから受信することをさらに備える、請求項１に記載の方法。
［Ｃ７］
前記１つまたは複数のオブジェクトに関連した、１つまたは複数の後続オブジェクトの前記１つまたは複数のプロパティを修正することであって、前記１つまたは複数のプロパティが、修正された優先度を含むことと、
前記修正された優先度に少なくとも部分的に基づいて、前記セッションの前記チャネルに関連した前記少なくとも１つのネットワークインターフェースを介して送信するための前記１つまたは複数の後続オブジェクトを、前記ネットワークプロトコルレイヤに提供することとをさらに備える、請求項６に記載の方法。
［Ｃ８］
前記チャネルまたは前記セッションの状態を修正することを求める要求を前記リモートネットワークノードから受信することをさらに備える、請求項１に記載の方法。
［Ｃ９］
前記要求に少なくとも部分的に基づいて、前記セッションを保留することをさらに備える、請求項８に記載の方法。
［Ｃ１０］
前記リモートネットワークノードと通信するための前記セッションへの、異なるネットワークインターフェースに関連した追加チャネルを確立することをさらに備える、請求項１に記載の方法。
［Ｃ１１］
少なくとも部分的には、前記チャネルを介して前記リモートネットワークノードから受信したセキュリティアソシエーションを含む前記追加チャネルを確立することを求める要求を伝達することによって、前記リモートネットワークノードとの前記追加チャネルを確立することをさらに備える、請求項１０に記載の方法。
［Ｃ１２］
前記セッションから前記チャネルを削除することと、
前記１つまたは複数の後続オブジェクトについて指示された前記優先度に少なくとも部分的に基づいて、前記追加チャネルに関連した前記異なるネットワークインターフェースを介して送信するための前記１つまたは複数のオブジェクトに関連した１つまたは複数の後続オブジェクトを、前記ネットワークプロトコルレイヤに提供することとをさらに備える、請求項１０に記載の方法。
［Ｃ１３］
消失符号を使って前記１つまたは複数のオブジェクトを符号化して、複数のオブジェクトコード化プロトコルデータ単位（ＰＤＵ）を生成することであって、前記ネットワークプロトコルレイヤに前記１つまたは複数のオブジェクトを前記提供することが、前記１つまたは複数のオブジェクトコード化ＰＤＵを前記ネットワークプロトコルレイヤに提供することを含むことをさらに備える、請求項１に記載の方法。
［Ｃ１４］
前記１つまたは複数のオブジェクトに少なくとも部分的に基づいて、前記リモートネットワークノードから、１つまたは複数の応答オブジェクトの少なくとも一部分を受信することと、
前記１つまたは複数の応答オブジェクトを、前記１つまたは複数のオブジェクトに関連したものとして識別したことに少なくとも部分的に基づいて、前記１つまたは複数の応答オブジェクトを前記アプリケーションに提供することとをさらに備える、請求項１に記載の方法。
［Ｃ１５］
前記セッションの前記チャネルに関連した前記少なくとも１つのネットワークインターフェースを介して送信するための前記メタデータを、前記ネットワークプロトコルレイヤに提供することであって、前記メタデータが、前記１つまたは複数の応答オブジェクトについての応答プロパティを含むことをさらに備える、請求項１４に記載の方法。
［Ｃ１６］
前記リモートネットワークノードに、前記応答プロパティを修正することを求める要求を送信することをさらに備える、請求項１５に記載の方法。
［Ｃ１７］
前記１つまたは複数の応答オブジェクトに関連した、異なるセッションまたは異なるチャネルの状態を修正することを求める要求を、前記リモートネットワークノードに送信することをさらに備える、請求項１５に記載の方法。
［Ｃ１８］
前記１つまたは複数の応答オブジェクトに対応する１つまたは複数の異なるオブジェクトコード化プロトコルデータ単位（ＰＤＵ）を、異なるリモートネットワークノードから受信することと、
前記１つまたは複数の異なるオブジェクトコード化ＰＤＵが前記１つまたは複数の応答オブジェクトに関連すると判断することと、
前記１つまたは複数の異なるオブジェクトコード化ＰＤＵを、前記リモートネットワークノードから受信した１つまたは複数のオブジェクトコード化ＰＤＵとマージして、前記１つまたは複数の応答オブジェクトを形成することとをさらに備える、請求項１４に記載の方法。
［Ｃ１９］
前記１つまたは複数のオブジェクトが、サイズにおいて異なる、請求項１に記載の方法。［Ｃ２０］
ネットワーク通信における、オブジェクトベースのトランスポートレイヤを提供するための装置であって、
リモートネットワークノードに伝達するための１つまたは複数のオブジェクトを、アプリケーションから取得し、
前記１つまたは複数のオブジェクトについてのメタデータを、前記アプリケーションから取得し、
前記リモートネットワークノードに前記１つまたは複数のオブジェクトを伝達するためのセッションを決定し、
前記メタデータ中で指示された優先度に少なくとも部分的に基づいて、前記セッションのチャネルに関連した少なくとも１つのネットワークインターフェースを介して送信するための前記１つまたは複数のオブジェクトをネットワークプロトコルレイヤに伝達するように構成された少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに結合されたメモリとを備える装置。
［Ｃ２１］
ネットワーク通信における、オブジェクトベースのトランスポートレイヤを提供するための装置であって、
リモートネットワークノードに伝達するための１つまたは複数のオブジェクトを、アプリケーションから受信するための手段と、
前記１つまたは複数のオブジェクトについてのメタデータを、前記アプリケーションから受信するための手段と、
メタデータ中で指示された優先度に少なくとも部分的に基づいて、選択されたセッションのチャネルに関連した少なくとも１つのネットワークインターフェースを介して送信するための前記１つまたは複数のオブジェクトを、ネットワークプロトコルレイヤに与えるため手段とを備える装置。
［Ｃ２２］
ネットワーク通信における、オブジェクトベースのトランスポートレイヤを提供するためのコンピュータプログラム製品であって、
少なくとも１つのコンピュータに、リモートネットワークノードに伝達するための１つまたは複数のオブジェクトをアプリケーションから受信させるためのコードと、
前記少なくとも１つのコンピュータに、前記１つまたは複数のオブジェクトについてのメタデータを前記アプリケーションから取得させるためのコードと、
前記少なくとも１つのコンピュータに、前記１つまたは複数のオブジェクトを前記リモートネットワークノードに伝達するためのセッションを決定させるためのコードと、
前記少なくとも１つのコンピュータに、前記メタデータ中で指示された優先度に少なくとも部分的に基づいて、前記セッションのチャネルに関連した少なくとも１つのネットワークインターフェースを介して送信するための前記１つまたは複数のオブジェクトをネットワークプロトコルレイヤに伝達させるためのコードとを備えるコンピュータ可読媒体を備えるコンピュータプログラム製品。
［Ｃ２３］
ネットワーク通信における、オブジェクトベースのトランスポートレイヤを提供するための装置であって、
リモートネットワークノードに伝達するための１つまたは複数のオブジェクトを、アプリケーションから取得するためのオブジェクト受信構成要素と、
前記１つまたは複数のオブジェクトについてのメタデータを、前記アプリケーションから受信するためのオブジェクトプロパティ関連付け構成要素と、
前記メタデータ中で指示された前記１つまたは複数のオブジェクトについての優先度に少なくとも部分的に基づいて、選択されたセッションのチャネルに関連した少なくとも１つのネットワークインターフェースを介して送信するための前記１つまたは複数のオブジェクトをネットワークプロトコルレイヤに与えるためのオブジェクト通信構成要素とを備える装置。
［Ｃ２４］
前記オブジェクト通信構成要素が、前記少なくとも１つのネットワークインターフェースについての送信機会を検出したこと、および前記１つまたは複数のオブジェクトについての前記優先度が、少なくとも、前記選択されたセッション、または前記チャネルもしくは前記少なくとも１つのネットワークインターフェースを介した異なるチャネルを有する異なるセッション中の異なるオブジェクトの異なる優先度よりも高いと判断したことに少なくとも部分的に基づいて、前記１つまたは複数のオブジェクトを前記ネットワークプロトコルレイヤに提供する、請求項２３に記載の装置。
［Ｃ２５］
前記オブジェクト通信構成要素が、少なくとも部分的には、前記チャネルに対する輻輳制御を分析することによって、前記送信機会を検出して、前記少なくとも１つのネットワークインターフェースを介して前記１つまたは複数のオブジェクトを送信するのに前記チャネルが利用可能かどうか判断する、請求項２４に記載の装置。
［Ｃ２６］
前記オブジェクト通信構成要素が、少なくとも部分的には、前記選択されたセッションの状態を分析することによって前記送信機会を検出して、前記少なくとも１つのネットワークインターフェースを介して前記１つまたは複数のオブジェクトを送信するのに前記選択されたセッションが利用可能かどうか判断する、請求項２４に記載の装置。
［Ｃ２７］
前記オブジェクト通信構成要素が、前記選択されたセッション中の１つまたは複数の異なるオブジェクトに関連した送信期限を決定し、前記送信期限に少なくとも部分的に基づいて、前記１つまたは複数の異なるオブジェクトの送信を取り消すようにさらに構成される、請求項２３に記載の装置。
［Ｃ２８］
前記１つまたは複数のオブジェクトに関連した後続オブジェクトの１つまたは複数のプロパティを修正することを求める要求を前記リモートネットワークノードから受信するためのオブジェクトプロパティ修正構成要素をさらに備える、請求項２３に記載の装置。［Ｃ２９］
前記オブジェクトプロパティ修正構成要素が、前記１つまたは複数のオブジェクトに関連した１つまたは複数の後続オブジェクトの前記１つまたは複数のプロパティを修正し、前記オブジェクト通信構成要素が、前記選択されたセッションの前記チャネルに関連した前記少なくとも１つのネットワークインターフェースを介して送信するための前記１つまたは複数の後続オブジェクトを前記ネットワークプロトコルレイヤに提供する、請求項２８に記載の装置。
［Ｃ３０］
前記チャネルまたは前記選択されたセッションの状態を修正することを求める要求を前記リモートネットワークノードから受信するためのオブジェクトプロパティ修正構成要素をさらに備える、請求項２３に記載の装置。
［Ｃ３１］
前記リモートネットワークノードからの前記要求に少なくとも部分的に基づいて、前記チャネルまたは前記選択されたセッションを保留するためのセッション状態更新構成要素をさらに備える、請求項３０に記載の装置。
［Ｃ３２］
前記オブジェクト通信構成要素が、前記リモートネットワークノードと通信するための前記選択されたセッションに、異なるネットワークインターフェースに関連した追加チャネルを追加する、請求項２３に記載の装置。
［Ｃ３３］
前記オブジェクト通信構成要素が、少なくとも部分的には、前記チャネルを介して前記リモートネットワークノードから受信したセキュリティアソシエーションを含む前記追加チャネルを確立することを求める要求を伝達することによって、前記リモートネットワークノードとの前記追加チャネルを確立する、請求項３２に記載の装置。
［Ｃ３４］
前記オブジェクト通信構成要素が、前記選択されたセッションから前記チャネルを削除する、請求項３２に記載の装置。
［Ｃ３５］
消失符号を使って前記１つまたは複数のオブジェクトを符号化して、複数のオブジェクトコード化プロトコルデータ単位（ＰＤＵ）を生成するためのオブジェクトコード化構成要素をさらに備え、前記オブジェクト通信構成要素が、前記複数のオブジェクトコード化ＰＤＵを前記ネットワークプロトコルレイヤに提供する、請求項２３に記載の装置。
［Ｃ３６］
１つまたは複数の応答オブジェクトを前記アプリケーションに送るオブジェクト提供構成要素をさらに備え、前記オブジェクト通信構成要素が、前記チャネルを介して前記１つまたは複数の応答オブジェクトを受信する、請求項２３に記載の装置。
［Ｃ３７］
前記オブジェクト通信構成要素が、前記メタデータを前記ネットワークプロトコルレイヤにさらに伝達し、前記メタデータが、前記１つまたは複数の応答オブジェクトについての応答プロパティを含む、請求項３６に記載の装置。
［Ｃ３８］
前記応答プロパティを修正することを求める要求を前記リモートネットワークノードに送信するオブジェクトプロパティ指定構成要素をさらに備える、請求項３７に記載の装置。［Ｃ３９］
前記１つまたは複数の応答オブジェクトに関連した異なるセッションまたは異なるチャネルの状態を修正することを求める要求を前記リモートネットワークノードに送信するオブジェクトプロパティ指定構成要素をさらに備える、請求項３７に記載の装置。
［Ｃ４０］
前記リモートネットワークノードから受信した１つまたは複数のオブジェクトコード化プロトコルデータ単位（ＰＤＵ）が、異なるリモートネットワークノードから受信した１つまたは複数の異なるオブジェクトコード化ＰＤＵに関連すると判断し、前記１つまたは複数のオブジェクトコード化ＰＤＵを前記１つまたは複数の異なるオブジェクトコード化ＰＤＵとマージして、前記１つまたは複数の応答オブジェクトを形成するためのオブジェクトマージ構成要素をさらに備える、請求項３６に記載の装置。
［Ｃ４１］
前記１つまたは複数のオブジェクトが、サイズにおいて異なる、請求項３２に記載の装置。
【図１】
0005701995.tif 000037
【図２】
0005701995.tif 000038
【図３】
0005701995.tif 000039
【図４】
0005701995.tif 000040
【図５】
0005701995.tif 000041
【図６】
0005701995.tif 000042
【図７】
0005701995.tif 000043
【図８】
0005701995.tif 000044
【図９】
0005701995.tif 000045
【図１０】
0005701995.tif 000046
【図１１】
0005701995.tif 000047
【図１２】
0005701995.tif 000048
【図１３】
0005701995.tif 000049
【図１４】
0005701995.tif 000050
【図１５】
0005701995.tif 000051