(57)【要約】  種々の通信システムは、ヘッダ又はデータのエンリッチメントから利益が得られる。例えば、ある移動通信システムは、プロキシー又は接続終端のないアプリケーションレイヤヘッダ又はデータエンリッチメントから利益が得られる。方法は、アプリケーションレイヤエンリッチメントをアプリケーションレイヤストリームに対して遂行すべきであることを送信側で決定することを含む（３１０）。この方法は、通信アプリケーションによりプレースホルダバイトをストリームに挿入することを含み、そのプレースホルダバイトは、アプリケーションレイヤエンリッチメントに対してオーバーライトされるように構成される（３２０）。プロキシー装置において、プレースホルダバイトがオーバーライトされる（３４０）。受信側において、オーバーライトされたプレースホルダバイトが読み取られる（３６０）。プレースホルダバイトには、例えば、セル負荷又はスループットのようなネットワーク状態に関する情報がオーバーライトされる。【選択図】      図３
2017536064.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションレイヤエンリッチメントをアプリケーションレイヤストリームに対して遂行すべきであると決定し；及び
通信アプリケーションによりプレースホルダバイトをストリームに挿入する；
ことを含み、前記プレースホルダバイトは、アプリケーションレイヤエンリッチメントに対してオーバーライトされるように構成される、方法。
【請求項２】
前記アプリケーションレイヤストリームは、ハイパーテキスト転送プロトコルストリームを含む、請求項１に記載の方法。
【請求項３】
前記方法は、アプリケーションレイヤストリームのための一対の通信アプリケーションエンドポイントの一方により遂行される、請求項１又は２に記載の方法。
【請求項４】
アプリケーションレイヤエンリッチメントをアプリケーションレイヤストリームに対して遂行すべきであると決定し；及び
アプリケーションレイヤエンリッチメントに対して通信アプリケーションエンドポイントによりストリームに挿入されるプレースホルダバイトにオーバーライトする；
ことを含む、方法。
【請求項５】
前記オーバーライトは、対応するパケットの全長を変化させない、請求項４に記載の方法。
【請求項６】
前記オーバーライトは、一対の通信エンドポイント間の中間ボックスにおいて遂行される、請求項４又は５に記載の方法。
【請求項７】
前記プレースホルダバイトにオーバーライトすることは、前記ストリームの全ての利用可能なプレースホルダバイトの少なくとも幾つかにオーバーライトすることを含む、請求項４から６のいずれかに記載の方法。
【請求項８】
前記プレースホルダバイトにオーバーライトすることは、アプリケーションペイロード内の通常有効でない特殊なバイトシーケンスを選択するか；プレースホルダが存在すべき特殊な専用位置に依存するか；又はパケットバイトシーケンスに動的オフセットを包囲させてプレースホルダバイトの位置を指示するか；の少なくとも１つを含む、請求項４から７のいずれかに記載の方法。
【請求項９】
アプリケーションレイヤエンリッチメントがアプリケーションレイヤストリームに対して遂行されたと決定し；及び
オーバーライトされたバイトを読み取る；
ことを含み、前記オーバーライトされたバイトは、アプリケーションレイヤエンリッチメントに対して中間ボックスにより、通信アプリケーションエンドポイントにより送信されたストリームに挿入されたものである、方法。
【請求項１０】
前記プレースホルダバイト又はオーバーライトされたバイトは、ヘッダ又はペイロードにある、請求項１から９のいずれかに記載の方法。
【請求項１１】
アプリケーションレイヤエンリッチメントをアプリケーションレイヤストリームに対して遂行すべきであると決定する手段；及び
通信アプリケーションによりプレースホルダバイトをストリームに挿入する手段；
を備え、前記プレースホルダバイトは、アプリケーションレイヤエンリッチメントに対してオーバーライトされるように構成される、装置。
【請求項１２】
前記アプリケーションレイヤストリームは、ハイパーテキスト転送プロトコルストリームを含む、請求項１１に記載の装置。
【請求項１３】
前記装置は、アプリケーションレイヤストリームのための一対の通信アプリケーションエンドポイントの一方を備えている、請求項１１又は１２のいずれかに記載の装置。
【請求項１４】
アプリケーションレイヤエンリッチメントをアプリケーションレイヤストリームに対して遂行すべきであると決定する手段；及び
アプリケーションレイヤエンリッチメントに対して通信アプリケーションエンドポイントによりストリームに挿入されるプレースホルダバイトにオーバーライトする手段；
を備えた装置。
【請求項１５】
前記オーバーライトは、対応するパケットの全長を変化させない、請求項１４に記載の装置。
【請求項１６】
前記装置は、一対の通信エンドポイント間に中間ボックスを備えている、請求項１４又は１５に記載の装置。
【請求項１７】
前記プレースホルダバイトにオーバーライトすることは、前記ストリームの全ての利用可能なプレースホルダバイトの少なくとも幾つかにオーバーライトすることを含む、請求項１４から１６のいずれかに記載の装置。
【請求項１８】
前記プレースホルダバイトにオーバーライトすることは、アプリケーションペイロード内で通常有効でない特殊なバイトシーケンスを選択するか；プレースホルダが存在すべき特殊な専用位置に依存するか；又はパケットバイトシーケンスに動的オフセットを包囲させてプレースホルダバイトの位置を指示するか；の少なくとも１つを含む、請求項１４から１７のいずれかに記載の装置。
【請求項１９】
アプリケーションレイヤエンリッチメントがアプリケーションレイヤストリームに対して遂行されたと決定する手段；及び
オーバーライトされたバイトを読み取る手段；
を備え、前記オーバーライトされたバイトは、アプリケーションレイヤエンリッチメントに対して中間ボックスにより、通信アプリケーションエンドポイントにより送信されたストリームに挿入されたものである、装置。
【請求項２０】
前記プレースホルダバイト又はオーバーライトされたバイトは、ヘッダ又はペイロードにある、請求項１１から１９のいずれかに記載の装置。
【請求項２１】
少なくとも１つのプロセッサ；及び
コンピュータプログラムコードを含む少なくとも１つのメモリ；
を備えた装置において、前記少なくとも１つのメモリ及びコンピュータプログラムコードは、少なくとも１つのプロセッサとで、装置が、少なくとも、
アプリケーションレイヤエンリッチメントをアプリケーションレイヤストリームに対して遂行すべきであると決定し；及び
通信アプリケーションによりプレースホルダバイトをストリームに挿入する；
ようにさせるよう構成され、前記プレースホルダバイトは、アプリケーションレイヤエンリッチメントに対してオーバーライトされるように構成される、装置。
【請求項２２】
前記アプリケーションレイヤストリームは、ハイパーテキスト転送プロトコルストリームを含む、請求項２１に記載の装置。
【請求項２３】
前記装置は、アプリケーションレイヤストリームのための一対の通信アプリケーションエンドポイントの一方を備えている、請求項２１又は２２のいずれかに記載の装置。
【請求項２４】
少なくとも１つのプロセッサ；及び
コンピュータプログラムコードを含む少なくとも１つのメモリ；
を備えた装置において、少なくとも１つのメモリ及びコンピュータプログラムコードは、少なくとも１つのプロセッサとで、装置が、少なくとも、
アプリケーションレイヤエンリッチメントをアプリケーションレイヤストリームに対して遂行すべきであると決定し；及び
アプリケーションレイヤエンリッチメントに対して通信アプリケーションエンドポイントによりストリームに挿入されるプレースホルダバイトにオーバーライトする；
ようにさせるよう構成される、装置。
【請求項２５】
少なくとも１つのメモリ及びコンピュータプログラムコードは、少なくとも１つのプロセッサとで、装置が、少なくとも、対応するパケットの全長を変化させずにプレースホルダバイトをオーバーライトするようにさせるよう構成された、請求項２４に記載の装置。
【請求項２６】
前記装置は、一対の通信エンドポイント間に中間ボックスを備えている、請求項２４又は２５に記載の装置。
【請求項２７】
少なくとも１つのメモリ及びコンピュータプログラムコードは、少なくとも１つのプロセッサとで、装置が、少なくとも、前記ストリームの全ての利用可能なプレースホルダバイトの少なくとも幾つかにオーバーライトするようにさせるよう構成された、請求項２４から２６のいずれかに記載の装置。
【請求項２８】
少なくとも１つのメモリ及びコンピュータプログラムコードは、少なくとも１つのプロセッサとで、装置が、少なくとも、アプリケーションペイロード内で通常有効でない特殊なバイトシーケンスを選択するか；プレースホルダが存在すべき特殊な専用位置に依存するか；又はパケットバイトシーケンスに動的オフセットを包囲させてプレースホルダバイトの位置を指示するか；の少なくとも１つを含むようにさせるよう構成された、請求項２４から２７のいずれかに記載の装置。
【請求項２９】
少なくとも１つのプロセッサ；及び
コンピュータプログラムコードを含む少なくとも１つのメモリ；
を備えた装置において、少なくとも１つのメモリ及びコンピュータプログラムコードは、少なくとも１つのプロセッサとで、装置が、少なくとも、
アプリケーションレイヤエンリッチメントがアプリケーションレイヤストリームに対して遂行されたと決定し；及び
オーバーライトされたバイトを読み取る；
ようにさせるよう構成され、前記オーバーライトされたバイトは、アプリケーションレイヤエンリッチメントに対する中間ボックスにより、通信アプリケーションエンドポイントにより送信されたストリームに挿入されたものである、装置。
【請求項３０】
前記プレースホルダバイト又はオーバーライトされたバイトは、ヘッダ又はペイロードにある、請求項２１から２９のいずれかに記載の装置。
【請求項３１】
請求項１から１０のいずれかに記載の方法を含むプロセスを遂行するインストラクションをエンコードするコンピュータプログラム製品。
【請求項３２】
ハードウェアで実行されたときに、請求項１から１０のいずれかに記載の方法を含むプロセスを遂行するインストラクションでエンコードされた非一時的コンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
種々の通信システムは、ヘッダ又はデータのエンリッチメントから利益が得られる。例えば、ある移動通信システムは、プロキシー又は接続終端のないアプリケーションレイヤヘッダ又はデータエンリッチメントから利益が得られる。
【背景技術】
【０００２】
プロトコルヘッダエンリッチメントは、中間ボックスによりパケットに情報をピギーバックするメカニズムであり、例えば、ローカルで入手できるコンテキスト情報を通信エンドポイントに与えるメカニズムである。長期進化（ＬＴＥ）のような移動システムでは、無線アクセスノード、例えば、進化型ノードＢ（ｅＮＢ）、無線アプリケーションクラウドサーバー（ＲＡＣＳ）又は無線ネットワークコントローラ（ＲＮＣ）において無線コンテキスト情報を露出するためにエンリッチメントが実施される。通信エンドポイントは、ユーザ装置（ＵＥ）及びコンテンツサーバー、並びにコンテンツ配信ネットワーク（ＣＤＮ）ノード又は中間最適化ゲートウェイ又はプロキシーである。
【０００３】
送信制御プロトコル（ＴＣＰ）ヘッダエンリッチメントは、例えば、ＴＣＰ及びメディア最適化のためにコンテンツサーバーにスループットガイダンス情報を与えることができる。このメカニズムは、ＴＣＰオプションフィールドを使用して、ヘッダを付加的な情報バイトで拡張することができる。ＴＣＰオプションフィールドが拡張されるとき、付加的な情報は、ＴＣＰシーケンス番号でカバーされないＴＣＰヘッダにおいて搬送される。それ故、シーケンス番号を無効化し且つＴＣＰプロキシーを要求することなく、軽いやり方でインバンドＴＣＰデータストリームに付加的なバイトを挿入することができる。
【０００４】
ある配備では、ＴＣＰオプションヘッダは、余計な情報を剥離するか或いはエンリッチパケットを廃棄し得るファイアウオールのような中間装置のためにエンド対エンドの情報配信を行うことができない。これに対処するために考えられる方法は、情報を、アプリケーションレイヤプロトコル、例えば、ＨＴＴＰへとエンリッチ化することである。アプリケーションレイヤは、ルーター又はファイアウオールにより解釈されないので、アプリケーションレイヤに対してエンリッチされる情報は、ＴＣＰヘッダエンリッチメントが働かないときでもエンド対エンドで配信することができる。アプリケーションレイヤエンリッチメントでは、ＴＣＰヘッダからデータを得るためにカーネルのＴＣＰスタックを変更する必要なく、受信者アプリケーションによりユーザスペース内でエンリッチデータを得て解釈することができる。
【０００５】
多数のアプリケーションがＴＣＰを経てデータを送信する。従って、アプリケーションレイヤのエンリッチメントは、ＴＣＰに適合する必要がある。アプリケーションレイヤのヘッダ又はデータは、ＴＣＰの観点からペイロードと考えられ、そしてＴＣＰシーケンス番号の範囲内である。ＴＣＰシーケンス番号を調整せずに付加的なバイトがアプリケーションレイヤへとエンリッチ化された場合には、エンリッチパケットが無効となり、ＴＣＰレベルにおいて接続を切断する。そのため、アプリケーションレイヤコンテンツ操作は、ＨＴＴＰプロキシーのようなプロキシーにより実施される。
【０００６】
プロキシーは、両方のオリジナルエンドポイント、例えば、ＵＥ及びコンテンツサーバーに向かってＴＣＰ接続を終端することができ、ＴＣＰエンドポイントそれ自体となる。そのような解決策は、スプリット接続ＴＣＰプロキシーと称される。しかしながら、そのようなプロキシーが、ＲＡＣＳ、ｅＮＢ又はＲＮＣのような無線アクセスノードにおいて実施されるときには、ハンドオーバー中に接続を遮断することがある。それ故、エンリッチメントが無線アクセスにおいて実施される場合には、プロキシーベースのアプリケーションレイヤエンリッチメントを適用することができない。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
アプリケーションがＴＣＰを使用してデータを転送する場合には、中間ボックスによるインバンドアプリケーションレイヤエンリッチメントが課題となる。というのは、付加的なアプリケーションレベルバイトがＴＣＰペイロードの長さを増加するからである。この長さ増加は、従来、ＴＣＰシーケンス番号を無効化し、そして受信側ＴＣＰエンドポイントにより廃棄される無効パケットを生成する。この問題を克服する１つの可能性は、エンド対エンドのＴＣＰ接続を分割しそして柔軟なアプリケーションレベルコンテンツ変更を可能にするプロキシーを配備することである。しかしながら、ＬＴＥ  ｅＮＢ、ＲＡＣＳ又はＲＮＣのようなある配備では、そのようなプロキシーの使用がハンドオーバー中にプロキシー欠陥を招くことがある。
【課題を解決するための手段】
【０００８】
ある実施形態によれば、方法は、アプリケーションレイヤエンリッチメントをアプリケーションレイヤストリームに対して遂行すべきであると決定することを含む。又、この方法は、通信アプリケーションによりプレースホルダバイトをストリームに挿入することを含み、そのプレースホルダバイトは、アプリケーションレイヤエンリッチメントに対してオーバーライトされるように構成される。
【０００９】
ある実施形態によれば、方法は、アプリケーションレイヤエンリッチメントをアプリケーションレイヤストリームに対して遂行すべきであると決定することを含む。又、この方法は、アプリケーションレイヤエンリッチメントに対して通信アプリケーションエンドポイントによりストリームに挿入されるプレースホルダバイトにオーバーライトすることも含む。
【００１０】
ある実施形態によれば、方法は、アプリケーションレイヤエンリッチメントがアプリケーションレイヤストリームに対して遂行されたと決定することを含む。又、この方法は、オーバーライトされたバイトを読み取ることを含み、そのオーバーライトされたバイトは、アプリケーションレイヤエンリッチメントに対して中間ボックスにより、通信アプリケーションエンドポイントにより送信されたストリームに挿入されたものである。
【００１１】
ある実施形態において、装置は、アプリケーションレイヤエンリッチメントをアプリケーションレイヤストリームに対して遂行すべきであると決定する手段を備えている。又、この装置は、通信アプリケーションによりプレースホルダバイトをストリームに挿入する手段も備え、そのプレースホルダバイトは、アプリケーションレイヤエンリッチメントに対してオーバーライトされるように構成される。
【００１２】
ある実施形態によれば、装置は、アプリケーションレイヤエンリッチメントをアプリケーションレイヤストリームに対して遂行すべきであると決定する手段を備えている。又、この装置は、アプリケーションレイヤエンリッチメントに対して通信アプリケーションエンドポイントによりストリームに挿入されるプレースホルダバイトにオーバーライトする手段も備えている。
【００１３】
ある実施形態において、装置は、アプリケーションレイヤエンリッチメントがアプリケーションレイヤストリームに対して遂行されたと決定する手段を備えている。又、この装置は、オーバーライトされたバイトを読み取る手段を備え、そのオーバーライトされたバイトは、アプリケーションレイヤエンリッチメントに対する中間ボックスにより、通信アプリケーションエンドポイントにより送信されたストリームに挿入されたものである。
【００１４】
ある実施形態によれば、装置は、少なくとも１つのプロセッサ、及びコンピュータプログラムコードを含む少なくとも１つのメモリを備えている。少なくとも１つのメモリ及びコンピュータプログラムコードは、少なくとも１つのプロセッサとで、装置が、少なくとも、アプリケーションレイヤエンリッチメントをアプリケーションレイヤストリームに対して遂行すべきであると決定するようにさせるよう構成される。又、少なくとも１つのメモリ及びコンピュータプログラムコードは、少なくとも１つのプロセッサとで、装置が、少なくとも、通信アプリケーションによりプレースホルダバイトをストリームに挿入するようにさせるよう構成され、そのプレースホルダバイトは、アプリケーションレイヤエンリッチメントに対してオーバーライトされるように構成される。
【００１５】
ある実施形態において、装置は、少なくとも１つのプロセッサ、及びコンピュータプログラムコードを含む少なくとも１つのメモリを備えている。少なくとも１つのメモリ及びコンピュータプログラムコードは、少なくとも１つのプロセッサとで、装置が、少なくとも、アプリケーションレイヤエンリッチメントをアプリケーションレイヤストリームに対して遂行すべきであると決定するようにさせるよう構成される。少なくとも１つのメモリ及びコンピュータプログラムコードは、少なくとも１つのプロセッサとで、装置が、少なくとも、アプリケーションレイヤエンリッチメントに対して通信アプリケーションエンドポイントによりストリームに挿入されるプレースホルダバイトにオーバーライトするようにさせるよう構成される。
【００１６】
ある実施形態によれば、装置は、少なくとも１つのプロセッサ、及びコンピュータプログラムコードを含む少なくとも１つのメモリを備えている。少なくとも１つのメモリ及びコンピュータプログラムコードは、少なくとも１つのプロセッサとで、装置が、少なくとも、アプリケーションレイヤエンリッチメントがアプリケーションレイヤストリームに対して遂行されたと決定するようにさせるよう構成される。少なくとも１つのメモリ及びコンピュータプログラムコードは、少なくとも１つのプロセッサとで、装置が、少なくとも、オーバーライトされたバイトを読み取るようにさせるよう構成される。そのオーバーライトされたバイトは、アプリケーションレイヤエンリッチメントに対する中間ボックスにより、通信アプリケーションエンドポイントにより送信されたストリームに挿入されたものである。
【００１７】
ある実施形態によれば、コンピュータプログラム製品は、プロセスを遂行するためのインストラクションをエンコードすることができる。そのプロセスは、前記方法のいずれかを含む。
【００１８】
非一時的コンピュータ読み取り可能な媒体は、ハードウェアで実行されたときにプロセスを遂行するインストラクションをエンコードすることができる。そのプロセスは、前記方法のいずれかを含む。
【００１９】
本発明を理解するために、添付図面を参照する。
【図面の簡単な説明】
【００２０】
【図１】ある実施形態によるアプリケーションレイヤエンリッチメントを示す。
【図２】ある実施形態による要求のエンリッチメントを示す。
【図３】ある実施形態による方法を示す。
【図４】ある実施形態によるシステムを示す。
【発明を実施するための形態】
【００２１】
ある実施形態は、ＴＣＰ接続終端又はプロキシーを要求しない中間ボックスにおけるＴＣＰに勝るアプリケーションレイヤエンリッチメントのための方法及び装置を提供すると同時に、ある実施形態は、ＴＣＰレベルにおいて無効パケットを生成しない。ある実施形態は、特殊なプレースホルダバイトをストリームに先見的に挿入することによりエンリッチメントのためのアプリケーションレイヤヘッダ又はデータを準備する通信アプリケーションエンドポイントを含む。プレースホルダは、パケットの全長を変化せずにエンリッチ中間ボックスによりオーバーライトされ、ＴＣＰシーケンス及びＡＣＫ番号が一貫したままとなることを確保する。それ故、接続は、プロキシー機能により分割されずに有効なエンド対エンドコンテキストを保持することができ、従って、解決策は、完全に機能的であり、且つハンドオーバーの場合でも欠陥を招くことはない。
【００２２】
ある実施形態は、プロキシーを配備し且つエンド対エンドＴＣＰ接続を分割する必要なく、ＨＴＴＰ、中間ボックスにおけるレイヤエンリッチメントのようなインバンドアプリケーションの実施を提供する。従って、ある実施形態は、プロキシーではなくて、ＴＣＰレベルでの無効パケットの生成を依然回避する解決策を提供する。
【００２３】
特に、ある実施形態は、ＴＣＰ接続終端又はプロキシーを要求しない中間ボックスにおけるアプリケーションレイヤヘッダ又はデータエンリッチメントのための方法及び装置を提供すると同時に、そのような実施形態は、ＴＣＰレベルでの無効パケットの生成を回避する。
【００２４】
ある実施形態では、アップリンクのユーザ装置（ＵＥ）又はダウンリンクのコンテンツサーバーのようなアプリケーションエンドポイントは、パケットの長さを変化することなく中間ボックスによりオーバーライトされる特殊なプレースホルダバイトを先見的に挿入することによりエンリッチメントのためのパケットのアプリケーションレイヤペイロードを準備する。このオーバーライト技術は、ＴＣＰシーケンス及びＡＣＫ番号が一貫したままであることを保証する。従って、接続は、エンリッチメントのポイントにおいてプロキシーにより分割されることなく有効なエンド対エンドコンテキストを保持することができる。更に、アプリケーションエンドポイントは、ＴＣＰレイヤへの洞察力を必要としない。というのは、プレースホルダバイトの挿入及びエンリッチ情報の解釈をアプリケーションレイヤに制限できるからである。従って、アプリケーションエンドポイントは、カーネルの変更なく、標準的なネットワークソケットＡＰＩを使用してユーザスペースにおいて完全に実施することができる。
【００２５】
ある実施形態は、ユーザ側への変更も含む。例えば、ＵＥ側のクライアントアプリケーション又はプラグインは、プレースホルダバイトを挿入することができる。更に、ある実施形態は、アプリケーションレイヤ内のインバンド通信の一般的なイネーブラーを提供し、そしてユーザ平面トラフィックを転送するノード、ネットワーク要素又は装置間でインバンド情報を搬送するのを許す。
【００２６】
図１は、ある実施形態によるアプリケーションレイヤエンリッチメントを示す。図１に示すように、アプリケーション送信者は、アプリケーションヘッダ及び／又はデータにおいてプレースホルダバイトを挿入することができる。アプリケーション送信者は、ウェブブラウザ又はコンテンツサーバーのようなデータ送信エンティティである。
【００２７】
それにより得られるＴＣＰ／ＩＰパケットは、付加的な情報のために予約されたスペースを含むことができる。中間ボックスは、プレースホルダを確認し、そしてアプリケーション受信者へ搬送する必要のある情報をプレースホルダに部分的又は完全にオーバーライトする。このステップは、パケットの長さを変更する必要がないので、ＴＣＰレベルシーケンス／ＡＣＫ番号は、同じで且つ有効なままである。従って、スプリット接続プロキシーは、必要とされない。アプリケーション受信者がパケットを得るとき、アプリケーション受信者は、エンリッチされた情報を確認し且つ解釈することができる。
【００２８】
ある実施形態は、ダウンリンク（ＤＬ）及びアップリンク（ＵＬ）の両パケットをエンリッチするのに適用される。ＵＬパケットのエンリッチメントは、外部ＯＴＴサーバー又はコンテンツサーバー、中間最適化ゲートウェイ、又は上流のプロキシーへ情報を搬送することができる。ＤＬパケットのエンリッチメントは、ＵＥへ情報を搬送することができる。
【００２９】
ある実施形態は、アプリケーションレイヤプロトコルに適用される。その一例は、ウェブトラフィックの大部分を現在搬送するＨＴＴＰである。ＨＴＴＰは、両方向プロトコルである。従って、ＨＴＴＰヘッダは、ＵＬ要求及びＤＬ応答の両方において送信されて、ＨＴＴＰヘッダエンリッチメントを、エンリッチ情報をＵＬにおいてコンテンツサーバーへ及びＤＬにおいてＵＥへ送信するのに適したものにする。
【００３０】
ＶｏＩＰコールを設定するのに使用されるＳＩＰは、ＳＩＰプロキシーへ、或いはそのコールを設定するピアのいずれかへも情報を搬送することができる。同様に、リアルタイムメディアコンテンツを記述するのに使用されるＳＤＰは、例えば、ＵＥの付加的な情報を搬送するためにＤＬのデータをエンリッチするのに使用される。他のアプリケーションレイヤプロトコルも、同様に、ここに述べるエンリッチ面と方法を受けることができる。
【００３１】
プレースホルダバイトは、アプリケーション送信者又は受信者により、アプリケーションレイヤデータストリームの任意の部分に挿入される。ＨＴＴＰのようなヘッダを伴うアプリケーションの場合には、ダミーバイトが充填された１つ以上の付加的なヘッダフィールドを挿入するのが適当な実施である。この文脈において「ダミー」という語は、エンリッチ中間ボックスにより後でオーバーライトできるバイトを指す。
【００３２】
プレースホルダは、ダミーバイトのみを含むものとして完全に再書き込みできるものでもよいし、又はプレースホルダは、プレースホルダの存在を指示するバイトであるリードオンリ部分を含み且つ付加的なコンテキストを搬送するものでもよい。リードオンリ部分は、中間ボックスによりオーバーライトできるバイトを有する書き込み可能なダミー部分に加わるものである。リードオンリ及び／又は書き込み可能な部分は、書き込み可能な部分においてどんなタイプの情報をエンリッチすべきか特に指示する。中間ボックスは、プレースホルダヘッダフィールド及びエンクロージングアプリケーションレイヤプロトコルの構造及び解釈が分かって、それを確認し且つ書き込み可能な部分内でエンリッチメントを適切に遂行する必要がある。プレースホルダは、人間が読めるテキスト、例えば、ＨＴＴＰヘッダのフィールド、バイナリーシーケンス、又はそれらの混合である。
【００３３】
それに加えて又はそれとは別に、プレースホルダバイトは、アプリケーションレイヤプロトコルのペイロードに挿入することもできる。この場合に、プレースホルダバイトシーケンスは、パケットペイロード内で独特のものであって、パケットヘッダに元々存在するバイトシーケンスと衝突しないことが必要である。これは、次のこと；即ちアプリケーションペイロード内で通常有効でない特殊なバイトシーケンスを選択し；プレースホルダが存在するペイロードの開始又は終了のような専用位置を指定し；或いはパケットバイトシーケンスに動的オフセットを包囲させてプレースホルダバイトの位置を指示する；ことを含む（が、これに限定されない）多数の方法で保証することができ、ここで、動的オフセットは、ＴＣＰオプションフィールド、ＩＰオプションフィールド、ＧＴＰ拡張ヘッダ、又は拡張を可能にする他のプロトコルヘッダへとエンリッチされる。単一パケットにおける複数のプレースホルダも考えられる。
【００３４】
プレースホルダの長さは、考えられる最も長いエンリッチ値に基づいて選択される。これは、仕様に従い且つアプリケーション送信者／受信者と共有されるエンリッチデータタイプの意味、単位及び範囲により定義される。
【００３５】
図２は、ある実施形態による要求のエンリッチメントを示す。図２は、特に、ある実施形態により、ＵＥにより発生されて中間ボックスによりエンリッチメントの準備がなされた規範的ＨＴＴＰ要求を示す。プレースホルダは、ＨＴＴＰヘッダに位置され、例えば、“Ｘ−”でスタートして付加的な任意のヘッダフィールドとしてエンコードされる。ダミーバイトは、“Ｘ”キャラクタとして実施される。ゼロ又は特殊キャラクタのような他の実施も許される。
【００３６】
中間ボックスは、プレースホルダに、それに対応する値をオーバーライトすることができる。それにより生じる変更されたＨＴＴＰヘッダが右側に示されている。エンリッチ値がプレースホルダに許されたものより短い場合には、未使用バイトが不変のままである。或いは又、そのようなバイトがオーバーライトされてもよい。オーバーライトされたが未使用のバイトには、スペース、ゼロ、或いは有効値の境界を指示する他のバイト又はキャラクタがオーバーライトされる。
【００３７】
プレースホルダバイトは、ソースのアイデンティティを確立するためにアプリケーションエンドポイントにより認証される。又、エンリッチ情報は、エンリッチ中間ボックスのアイデンティティ及び／又はエンリッチデータの完全性を検証するために認証され、暗号化され、又はその両方が行われる。エンリッチデータの認証又は暗号化の場合には、プレースホルダの長さが、認証コード及び／又は暗号ブロックを収容するのに充分なものとなる。認証コードは、例えば、ＨＭＡＣの２０バイトである。暗号ブロックは、例えば、ＡＥＳブロックの１６バイトである。
【００３８】
図３は、ある実施形態による方法を示す。この方法は、３１０において、アプリケーションレイヤエンリッチメントをアプリケーションレイヤストリームに対して遂行すべきであると決定することを含む。又、この方法は、３２０において、通信アプリケーションによりプレースホルダバイトをストリームに挿入することを含み、そのプレースホルダバイトは、アプリケーションレイヤエンリッチメントに対してオーバーライトされるよう構成される。アプリケーションレイヤストリームは、ハイパーテキスト転送プロトコルストリームである。従って、通信アプリケーションは、例えば、ウェブブラウザである。アプリケーションレイヤストリームに対する一対の通信アプリケーションエンドポイントの一方が前記決定及び挿入を遂行する。
【００３９】
又、この方法は、３３０において、アプリケーションレイヤエンリッチメントをアプリケーションレイヤストリームに対して遂行すべきであると決定する。この方法は、更に、３４０において、アプリケーションレイヤエンリッチメントに対して通信アプリケーションエンドポイントによりストリームに挿入されるプレースホルダバイトにオーバーライトすることを含む。オーバーライトは、対応するパケットの全長を変化させないように構成される。例えば、不必要なビットに適当なビットをオーバーライトして、それらがエンリッチメントに使用されないことを指示し、そしてオーバーライトは、プレースホルダバイトの数に制限される。オーバーライトは、一対の通信エンドポイント間の中間ボックスにおいて遂行される。上述したように、一対の通信エンドポイントは、ユーザ装置及びコンテンツサーバーを含む。
【００４０】
プレースホルダバイトにオーバーライトすることは、ストリームの全ての利用可能なプレースホルダバイトの少なくとも幾つかにオーバーライトすることを含む。従って、ある実施形態では、利用可能なプレースホルダバイトの幾つかだけがオーバーライトされ、一方、他の実施形態では、利用可能なプレースホルダバイトの全部がオーバーライトされる。プレースホルダバイトにオーバーライトすることは、アプリケーションペイロード内で通常有効でない特殊なバイトシーケンスを選択するか；プレースホルダが存在すべき特殊な専用位置に依存するか；又はパケットバイトシーケンスに動的オフセットを包囲させてプレースホルダバイトの位置を指示するか；の少なくとも１つを含む。
【００４１】
この方法は、更に、３５０において、アプリケーションレイヤエンリッチメントがアプリケーションレイヤストリームに対して遂行されたと決定することを含む。又、この方法は、３６０において、オーバーライトされたバイトを読み取ることを含み、前記オーバーライトされたバイトは、アプリケーションレイヤエンリッチメントに対して中間ボックスにより、通信アプリケーションエンドポイントにより送信されたストリームに挿入されたものである。
【００４２】
プレースホルダバイト又はオーバーライトされたバイトは、色々に実施することができる。例えば、ある実施形態では、プレースホルダバイトは、ヘッダ、ペイロード又はその両方にある。
【００４３】
図４は、本発明のある実施形態によるシステムを示す。１つの実施形態において、システムは、複数の装置、例えば、ユーザ装置又はコンテンツ配布ネットワークノードである少なくとも１つのアプリケーション送信者４１０；ｅＮＢ、ＲＡＣＳ、ＲＮＣ又は他のベースステーション或いはアクセスポイントである少なくとも１つの中間ボックス４１０；並びに適応ゲートウェイ、ＯＴＴサーバー、ＵＥ又は他のエンティティである少なくとも１つのアプリケーション受信者４３０；を備えている。中間ボックス４２０は、ＵＥとコンテンツサーバーとの間に位置するように構成された中間ボックスに置き換えられてもよい。
【００４４】
これら装置の各々は、４１４、４２４及び４３４として各々指示された少なくとも１つのプロセッサを備えている。各装置には、４１５、４２５及び４３５として各々指示された少なくとも１つのメモリが設けられる。このメモリには、コンピュータプログラムインストラクション又はコンピュータコードが含まれる。プロセッサ４１４、４２４及び４３４、並びにメモリ４１５、４２５及び４３５、或いはそのサブセットは、図３の種々のブロックに対応する手段を果たすように構成される。
【００４５】
図４に示すように、トランシーバ４１６、４２６及び４３６が設けられ、そして各装置は、４１７、４２７及び４３７として各々示されたアンテナも備えている。例えば、これら装置の他の構成が設けられてもよい。例えば、アプリケーション受信者４３０は、ワイヤレス通信に加えて、ワイヤード通信用として構成されてもよく、そのような場合、アンテナ４３７は、従来のアンテナを必要としない任意の形式の通信ハードウェアを表わす。
【００４６】
トランシーバ４１６、４２６及び４３６は、各々、独立して、送信器、受信器又はその両方であってもよいし、或いは送信及び受信の両方に構成されたユニット又は装置でもよい。
【００４７】
プロセッサ４１４、４２４及び４３４は、計算又はデータ処理装置、例えば、中央処理ユニット（ＣＰＵ）、特定用途向け集積回路（ＡＳＩＣ）又は同等の装置によって実施される。プロセッサは、単一のコントローラとして実施されるか、或いは複数のコントローラ又はプロセッサとして実施される。
【００４８】
メモリ４１５、４２５、及び４３５は、独立して、適当なストレージ装置、例えば、非一時的コンピュータ読み取り可能な媒体である。ハードディスクドライブ（ＨＤＤ）、ランダムアクセスメモリ（ＲＡＭ）、フラッシュメモリ、又は他の適当なメモリを使用することができる。メモリは、単一の集積回路においてプロセッサとして組み合わされてもよいし、又は１つ以上のプロセッサとは個別のものでもよい。更に、メモリに記憶されて、プロセッサにより処理されるコンピュータプログラムインストラクションは、適当な形態のコンピュータプログラムコード、例えば、適当なプログラミング言語で書かれたコンパイル型又は解釈型のコンピュータプログラムである。
【００４９】
メモリ及びコンピュータプログラムインストラクションは、特定装置のためのプロセッサと共に、アプリケーション送信者４１０、中間ボックス４２０及びアプリケーション受信者４３０のようなハードウェア装置が、ここに述べるプロセスのいずれか（例えば、図３を参照）を遂行するようにさせるよう構成される。それ故、ある実施形態では、非一時的コンピュータ読み取り可能な媒体は、ハードウェアで実行されたときに、ここに述べるプロセスの１つのようなプロセスを遂行するコンピュータインストラクションでエンコードされる。或いは又、本発明のある実施形態は、完全にハードウェアで遂行することができる。
【００５０】
更に、図４は、アプリケーション送信者、中間ボックス及びアプリケーション受信者を含むシステムを示しているが、本発明の実施形態は、他の構成、及び付加的な要素を含む構成にも適用できる。例えば、図示されていないが、付加的なＵＥが存在してもよく、そして図２に示すように、付加的なコアネットワーク要素が存在してもよい。
【００５１】
ある実施形態を、バイト全体がオーバーライトされることについて述べたが、ある実施形態では、バイトが部分的にオーバーライトされるだけでもよい。又、他の変更も許される。
【００５２】
当業者であれば、上述した本発明は、異なる順序のステップで、及び／又はここに開示したものとは異なる構成のハードウェア要素で、実施できることが容易に理解されよう。それ故、本発明は、好ましい実施形態に基づいて説明されたが、当業者であれば、本発明の精神及び範囲から逸脱せずに、幾つかの変更、修正及び代替構造が明らかであろう。それ故、本発明の境界及び限界を決定するためには、特許請求の範囲を参照しなければならない。
【００５３】
略語
ＡＣＫ：確認
ＡＥＳ：アドバンスト暗号規格
ＡＰＩ：アプリケーションプログラミングインターフェイス
ＣＡ：キャリアアグリゲーション
ＣＤＮ：コンテンツ配信ネットワーク
ＣＳＳ：カスケードスタイルシート
ＤＬ：ダウンリンク
ＤＮＳ：ドメイン名サービス
ｅＮＢ：進化型ノードＢ
ＧＢＲ：保証ビットレート
ＧＰＲＳ：汎用パケット無線サービス
ＧＴＰ：ＧＰＲＳトンネルプロトコル
ＧＷ：ゲートウェイ
ＨＭＡＣ：ハッシュメッセージ認証コード
ＨＳＰＡ：高速パケットアクセス
ＨＴＭＬ：ハイパーテキストマークアップ言語
ＨＴＴＰ：ハイパーテキスト転送プロトコル
ＩＰ：インターネットプロトコル
ＬＴＥ：長期進化
ＯＴＴ：オーバー・ザ・トップ
ＰＲＢ：物理的リソースブロック
ＲＡＣＳ：無線アプリケーションクラウドサーバー
ＲＮＣ：無線ネットワークコントローラ
ＲＲＣ：無線リソースコントロール
ＲＲＭ：無線リソースマネージメント
ＲＳＲＰ：参照信号受信電力
ＲＳＲＱ：参照信号受信クオリティ
ＲＴＴ：ラウンドトリップタイム
ＳＩＰ：セッションイニシエーションプロトコル
ＳＤＰ：セッション記述プロトコル
ＴＣＰ：送信制御プロトコル
ＴＧ：スループットガイダンス
ＵＥ：ユーザ装置
ＵＬ：アップリンク
ＷＣＤＭＡ（登録商標）：ワイドバンドコード分割多重アクセス
ＶｏＩＰ：ボイスオーバーＩＰ
【符号の説明】
【００５４】
４１０：アプリケーション送信者
４１４：プロセッサ
４１５：メモリ
４１６：トランシーバ
４２０：中間ボックス
４２４：プロセッサ
４２５：メモリ
４２６：トランシーバ
４３０：アプリケーション受信者
４３４：プロセッサ
４３５：メモリ
４３６：トランシーバ
【図１】
2017536064.tif 000003
【図２】
2017536064.tif 000004
【図３】
2017536064.tif 000005
【図４】
2017536064.tif 000006
【手続補正書】
【提出日】平成29年7月18日(2017.7.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
アプリケーションレイヤストリームの通信アプリケーションエンドポイントにおける方法において、
アプリケーションレイヤエンリッチメントをアプリケーションレイヤストリームに対して遂行すべきであると決定し；及び
通信アプリケーションによりプレースホルダバイトをストリームに挿入する；
ことを含み、前記プレースホルダバイトは、アプリケーションレイヤエンリッチメントに対してオーバーライトされるように構成された、方法。
【請求項２】
前記アプリケーションレイヤストリームは、ハイパーテキスト転送プロトコルストリームを含む、請求項１に記載の方法。
【請求項３】
前記プレースホルダバイトは、ヘッダ又はペイロードにある、請求項１に記載の方法。
【請求項４】
アプリケーションレイヤストリームの通信アプリケーションエンドポイント間の装置における方法において、
アプリケーションレイヤエンリッチメントをアプリケーションレイヤストリームに対して遂行すべきであると決定し；
アプリケーションレイヤエンリッチメントに対して通信アプリケーションエンドポイントによりストリームに挿入されたプレースホルダバイトを検出し；及び
プレースホルダバイトの少なくとも幾つかに情報をオーバーライトする；
ことを含む、方法。
【請求項５】
前記オーバーライトは、それに対応するパケットの全長を変化させない、請求項４に記載の方法。
【請求項６】
前記オーバーライトは、一対の通信エンドポイント間の中間ボックスにおいて遂行される、請求項４に記載の方法。
【請求項７】
前記オーバーライトされたバイトは、ヘッダ又はペイロードにある、請求項４に記載の方法。
【請求項８】
前記プレースホルダバイトにオーバーライトすることは、アプリケーションペイロード内の通常有効でない特殊なバイトシーケンスを選択するか；プレースホルダが存在すべき特殊な専用位置に依存するか；又はパケットバイトシーケンスに動的オフセットを包囲させてプレースホルダバイトの位置を指示するか；の少なくとも１つを含む、請求項４に記載の方法。
【請求項９】
アプリケーションレイヤエンリッチメントがアプリケーションレイヤストリームに対して遂行されたと決定し；及び
オーバーライトされたバイトを読み取る；
ことを含み、前記オーバーライトされたバイトは、アプリケーションレイヤエンリッチメントに対して中間ボックスにより、通信アプリケーションエンドポイントにより送信されたストリームに挿入されたものである、方法。
【請求項１０】
前記オーバーライトされたバイトは、ヘッダ又はペイロードにある、請求項９に記載の方法。
【請求項１１】
少なくとも１つのプロセッサ；及び
コンピュータプログラムコードを含む少なくとも１つのメモリ；
を備えた装置において、前記少なくとも１つのメモリ及びコンピュータプログラムコードは、少なくとも１つのプロセッサとで、装置が、少なくとも、
アプリケーションレイヤエンリッチメントをアプリケーションレイヤストリームに対して遂行すべきであると決定し；及び
通信アプリケーションによりプレースホルダバイトをストリームに挿入する；
ようにさせるよう構成され、前記プレースホルダバイトは、アプリケーションレイヤエンリッチメントに対してオーバーライトされるように構成された、装置。
【請求項１２】
前記アプリケーションレイヤストリームは、ハイパーテキスト転送プロトコルストリームを含む、請求項１１に記載の装置。
【請求項１３】
前記装置は、アプリケーションレイヤストリームに対して一対の通信アプリケーションエンドポイントの一方を備えている、請求項１１に記載の装置。
【請求項１４】
前記プレースホルダバイトはヘッダ又はペイロードにある、請求項１１に記載の装置。
【請求項１５】
少なくとも１つのプロセッサ；及び
コンピュータプログラムコードを含む少なくとも１つのメモリ；
を備えた装置において、少なくとも１つのメモリ及びコンピュータプログラムコードは、少なくとも１つのプロセッサとで、装置が、少なくとも、
アプリケーションレイヤエンリッチメントをアプリケーションレイヤストリームに対して遂行すべきであると決定し；
アプリケーションレイヤエンリッチメントに対して通信アプリケーションエンドポイントによりストリームに挿入されたプレースホルダバイトを検出し；及び
プレースホルダバイトの少なくとも幾つかにオーバーライトを行う；
ようにさせるよう構成された、装置。
【請求項１６】
少なくとも１つのメモリ及びコンピュータプログラムコードは、少なくとも１つのプロセッサとで、装置が、少なくとも、対応するパケットの全長を変化させずにプレースホルダバイトにオーバーライトするようにさせるよう構成された、請求項１５に記載の装置。
【請求項１７】
前記装置は、一対の通信エンドポイント間に中間ボックスを備えている、請求項１５に記載の装置。
【請求項１８】
少なくとも１つのメモリ及びコンピュータプログラムコードは、少なくとも１つのプロセッサとで、装置が、少なくとも、アプリケーションペイロード内で通常有効でない特殊なバイトシーケンスを選択するか；プレースホルダが存在すべき特殊な専用位置に依存するか；又はパケットバイトシーケンスに動的オフセットを包囲させてプレースホルダバイトの位置を指示するか；の少なくとも１つを使用してプレースホルダバイトにオーバーライトするようにさせるよう構成された、請求項１５に記載の装置。
【請求項１９】
少なくとも１つのプロセッサ；及び
コンピュータプログラムコードを含む少なくとも１つのメモリ；
を備えた装置において、少なくとも１つのメモリ及びコンピュータプログラムコードは、少なくとも１つのプロセッサとで、装置が、少なくとも、
アプリケーションレイヤエンリッチメントがアプリケーションレイヤストリームに対して遂行されたと決定し；及び
オーバーライトされたバイトを読み取る；
ようにさせるよう構成され、前記オーバーライトされたバイトは、アプリケーションレイヤエンリッチメントに対する中間ボックスにより、通信アプリケーションエンドポイントにより送信されたストリームに挿入されたものである、装置。
【請求項２０】
前記プレースホルダバイト又はオーバーライトされたバイトは、ヘッダ又はペイロードにある、請求項１９に記載の装置。
【請求項２１】
請求項１から１０のいずれかに記載の方法を含むプロセスを遂行するインストラクションをエンコードするコンピュータプログラム製品。
【国際調査報告】
2017536064.tif 000007
2017536064.tif 000008
2017536064.tif 000009