説明

アプリケーションレイヤにおける複数のインターフェースの結合/集約

クライアントのバンドラユーティリティは、アプリケーションレイヤにおいて、2つ以上のネットワークインターフェースを結合/集約して、アプリケーションレイヤが使用できる帯域幅を増加させるという目的を達成する。デバイスのルーティングテーブルにおける最長プレフィックスマッチによって、このインターフェースが決定される。IPスタックに変更を課すというよりむしろ、バンドラユーティリティは、クライアントソフトウェアに対する何らかの変更を要求することなく(例えば、ブラウザの変更なく)、および、ウェブサーバ上での変更を要求することなく、実施することができる、リンクアグリゲーション問題に対するソリューションを提示する。

【発明の詳細な説明】
【合衆国法典第35部第119条の下での優先権の主張】
【0001】
本特許出願は、“HTTP最適化、マルチホーミング、移動性、および、優先度”と題され、2009年12月18日に出願され、この出願の譲受人に譲渡され、ここでの参照によりここに明確に組み込まれている仮出願番号第61/288,119号に対して優先権を主張する。
【分野】
【0002】
本開示は、一般的に通信に関し、さらに詳細には、ワイヤレス通信ネットワーク中で、ハイパーテキストパケットデータコンテンツを取り出すための技術に関連する。
【背景】
【0003】
ハイパーテキスト転送プロトコル(HTTP)は、ウェブブラウザおよびウェブアプリケーションにより使用されている主要な通信プロトコルである。コンテンツ配信ネットワークの形で、HTTPプロトコルの効率的な動作をサポートするために、インターネット内で大型インフラストラクチャが成長してきた。結果として、増加する数のアプリケーションが、HTTPプロトコルに移行している。この移行に対する他の理由(例えば、ネットワークアドレス変換(NAT)およびファイアウォールトラバーサル)がある一方で、主な動因は、ウェブインフラストラクチャの大規模なスケーラビリティを活用する能力である。
【0004】
今日、ウェブサイトは、極めて複雑であり、HTTPを使用してそれぞれが別々にリクエストされなければならない、数十または数百のオブジェクトを含んでいることが多い。サーバからクライアントにオブジェクトを伝送できるスピードを改善するために、さまざまな最適化がHTTP内で定義されている。ワイヤードネットワーク内でこれらの最適化を適用するときに、かなりの量の作業が行われてきた。しかしながら、高ラウンドトリップタイム(RTT)と非常に可変の帯域幅とを持つ、より挑戦的な移動体環境で、これらの特徴がどのように振る舞い、組み合わせられるのかを理解することは、依然として未解決の問題のままである。特に、移動体ネットワークの特性が、その当時、今日とは大きく異なっていた数年前に、多くのHTTP作業が実行されたことに留意すべきである。
【概要】
【0005】
以下のものは、開示されている態様のうちのいくつかの態様の基本的な理解を提供するために、簡略化した概要を提示する。この概要は、広範囲にわたる概略ではなく、キーエレメントまたは重要なエレメントを識別することや、このような態様の範囲を線引きすることのどちらも意図していない。この目的は、後に提示するさらに詳細な説明に対する前置きとして、説明されている特徴のうちのいくつかの概念を、簡略化した形で提示することである。
【0006】
1つの態様では、複数のネットワークインターフェースを束ねることと、束ねられた複数のネットワークインターフェースを介するパケットデータ通信のための、多数のパラレルな接続を確立することと、多数のパラレルな接続を介して、複数のリクエストを送信して、ウェブサーバ上にそれぞれ記憶されているパケットデータ部分から構成されるハイパーテキスト転送プロトコル(http)オブジェクトを取り出すこととによる、パケットデータ通信のための方法が提供されている。
【0007】
別の態様では、パケットデータ通信のための少なくとも1つのプロセッサが提供されている。第1のモジュールは、複数のネットワークインターフェースを束ねる。第2のモジュールは、束ねられた複数のネットワークインターフェースを介するパケットデータ通信のための、多数のパラレルな接続を確立する。第3のモジュールは、多数のパラレルな接続を介して、複数のリクエストを送信して、ウェブサーバ上にそれぞれ記憶されているパケットデータ部分から構成されるhttpオブジェクトを取り出す。
【0008】
追加の態様では、コードの組を記憶する一時的でないコンピュータ読取可能記憶媒体を具備する、パケットデータ通信のためのコンピュータプログラムプロダクトが提供されている。第1の組のコードは、コンピュータに、複数のネットワークインターフェースを束ねさせる。第2の組のコードは、コンピュータに、束ねられた複数のネットワークインターフェースを介するパケットデータ通信のための、多数のパラレルな接続を確立させる。第3の組のコードは、コンピュータに、多数のパラレルな接続を介して、複数のリクエストを送信させて、ウェブサーバ上にそれぞれ記憶されているパケットデータ部分から構成されるhttpオブジェクトを取り出させる。
【0009】
さらなる態様では、パケットデータ通信のための装置が提供されている。装置は、複数のネットワークインターフェースを束ねる手段を具備する。装置は、束ねられた複数のネットワークインターフェースを介するパケットデータ通信のための、多数のパラレルな接続を確立する手段を具備する。装置は、多数のパラレルな接続を介して、複数のリクエストを送信して、ウェブサーバ上にそれぞれ記憶されているパケットデータ部分から構成されるhttpオブジェクトを取り出す手段を具備する。
【0010】
さらに別の態様では、複数のネットワークインターフェースを使用する、パケットデータ通信のための装置が提供されている。バンドラユーティリティは、複数のネットワークインターフェースを束ねる。バンドラユーティリティは、束ねられた複数のネットワークインターフェースを介するパケットデータ通信のための、多数のパラレルな接続を確立する。複数のネットワークインターフェースは、多数のパラレルな接続を介して、複数のリクエストを送信して、ウェブサーバ上にそれぞれ記憶されているパケットデータ部分から構成されるhttpオブジェクトを取り出す。
【0011】
先の目的および関連する目的を達成するために、1つ以上の態様は、後に完全に説明する特徴、および、特許請求の範囲中で特に指摘する特徴を含んでいる。以下の説明および添付した図面により、ある例示的な態様を詳細に述べ、態様の原理を用いることができるさまざまな方法のうちのいくつかだけを示す。図面とともに考えるときに、他の利点および新規の特徴が、以下の詳細な説明から明らかになるだろう。開示されている態様は、このようなすべての態様とそれらの均等物とを含むことを意図している。
【図面の簡単な説明】
【0012】
同一の参照文字が全体を通して対応したものを識別している図面とともに考慮されたときに、以下で示される詳細な説明から、本開示の特徴、特質、および利点がより明白となろう。
【図1】図1は、ハイパーテキスト転送プロトコル(HTTP)最適化のために、ネットワークインターフェースを束ねることと、プロキシサーバとを使用する通信システムの概略図を示している。
【図2】図2は、HTTP最適化のための例示的な無線アクセス技術に対する通信システムの概略図を示している。
【図3】図3は、ネットワークインターフェースを束ねるための方法に対するフローダイヤグラムを示している。
【図4】図4は、ネットワークインターフェースを束ねるための電気コンポーネントの論理グルーピングのシステムを示している。
【図5】図5は、HTTP最適化のための通信システムの概略図を示している。
【図6】図6は、HTTP最適化を実行する移動端末に対するブロックダイヤグラムを示している。
【詳細な説明】
【0013】
増加するラウンドトリップタイム(RTT)の影響を克服するために、パラレルなHTTP接続とパイプライン化を組み合わせることに利益が存在する。一般的に知られているブラウザは、固定数のパラレルな接続と、固定数の未処理のリクエストを用いるが、接触しなければならない異なるサーバの組により、パラレルな接続の数は影響を受ける。
【0014】
図面を参照して、ここでさまざまな態様を説明する。以下の説明では、説明の目的上、1つ以上の態様の完全な理解を提供するために、多数の特定の詳細を述べる。しかしながら、これらの特定の詳細なしにさまざまな態様を実施できることが、明らかであることがある。他の例では、これらの態様の説明を促進するために、よく知られている構造およびデバイスは、ブロックダイヤグラムの形で示されている。
【0015】
図1において、通信システム10は、複数のインターフェース14を有するクライアント12を描写しており、複数のインターフェース14は、インターネット20として描写されているパケットデータネットワークを介しての、サーバ18へのパケットデータ通信のためのプロキシ16に対するものである。プロキシ16を介する、クライアント12のバンドラユーティリティ22は、アプリケーションレイヤ24が使用できる帯域幅を増加させる目的のために、アプリケーションレイヤ24において2つ以上のインターフェース14を共に結合/集約するという目的を達成する。
【0016】
したがって、多くの通信デバイス(例えば、ラップトップおよびハンドヘルドデバイス)には、1つより多いインターフェース(例えば、WIFI(登録商標)、3G、ワイヤラインイーサネット(登録商標)等)が装備されているという点で、クライアント12は、課題を克服することができる。クライアント上のアプリケーションが宛先IPアドレスにパケットを送るときに、パケットは、単一のインターフェースに進むことになる。このインターフェースは、デバイスのルーティングテーブルにおける最長プレフィックスマッチによって決定される。IPスタックに変更を課すというよりむしろ、本イノベーションは、クライアントソフトウェアに対する何らかの変更を要求することなく(すなわち、ブラウザの変更なく)、および、ウェブサーバ上での変更を要求することなく、実施することができる、リンクアグリゲーション問題に対するソリューションを提示する。
【0017】
図2において、例示的な態様は、通信システム40を描写しており、ここで、クライアント42は、2つ以上のNIC(ネットワークインターフェース制御装置)カードを持つプロキシ(サーバ)50を使用することにより、単一のインターフェースを規定するルーティングテーブル48を回避することによって、アプリケーション46の動作を最適化するバンドラユーティリティ44を組み込んでいる。
【0018】
クライアント42中のルーティングテーブル48は、プロキシIPアドレスのそれぞれに対する別のルート52、54を有するように構成されており、これらの別のルーティングテーブルエントリーのそれぞれは、クライアント上の異なるインターフェースに向けられている。例えば、プロキシのIPアドレスIP_1に宛てられているパケットは、クライアントのWIFIインターフェース上で送られ、プロキシのIPアドレスIP_2に宛てられているパケットは、クライアントの3Gインターフェース上で送られる。例示的な描写では、第1のルートは、高速パケットアクセス(HSPA)インターフェース56、エアインターフェース58、インターネット62を介するプロキシサーバ50へのHSPAネットワーク60を含み、さらには、宛先ウェブサーバ64にアクセスすることができる。第2のルートは、Evolution Data Only(EVDO)インターフェース66としても知られる、Evolution Data Optimized、エアインターフェース68、インターネット62を介するプロキシサーバ50へのEVDOネットワーク70を含み、さらには、宛先ウェブサーバ64にアクセスすることができる。
【0019】
代替的に、または、単一のプロキシサーバ50に加えて、同じネットワークインターフェース、異なるネットワークインターフェース、または、それらの組み合わせのいずれかを使用して、複数のプロキシサーバ50を用いることができる。別々のサーバを使用することは、クライアントのネットワークインターフェースのそれぞれに対する各プロキシサーバが、そのインターフェースに対するゲートウェイにより近い場所に存在することができるという利点を有する。例えば、HSPAインターフェースに対するプロキシは、HSPAネットワークゲートウェイの近くに存在してもよく、同じことがEVDOプロキシに対してもあてはまる。
【0020】
ここで、ブラウザのようなアプリケーション46は、複数のプロキシIPアドレスにわたって、HTTP GETコマンドを分配する必要がある。PACスクリプト(プロキシ自動設定スクリプト)を使用して、これを行うことができる。PACスクリプトは、URLをプロキシアドレスにマッピングする。ほとんどすべてのブラウザ/OSが、PACスクリプトをサポートしている。以下は、2つのクライアントインターフェースを束ねるための例示的なPACスクリプトである。このスクリプトでは、proxy_aおよびproxy_bは、プロキシ(単数)(または、プロキシ(複数))に関係付けられている2つのIPアドレスである。
【数1】

【0021】
表Aでは、EVDOに対するモデムアドレス(“インターフェース”)とHSPAに対するモデムアドレス(“インターフェース”)をそれぞれ含む2つのプロキシアドレスを、アクティブなルートが含むことがある。
【表A】

【0022】
図3では、データ通信に対する方法80が描写されている。ブロック82において、クライアントは、複数のネットワークインターフェースを束ねる。ブロック84において、クライアントは、束ねられた複数のネットワークインターフェースを介するパケットデータ通信のための、多数のパラレルな接続を確立する。ブロック86において、クライアントは、多数のパラレルな接続を介して、複数のリクエストを送信して、ウェブサーバ上にそれぞれ記憶されているパケットデータ部分から構成されるハイパーテキスト転送プロトコル(http)オブジェクトを取り出す。
【0023】
例えば、複数のオブジェクトをパラレルにダウンロードするために、あるいは、大きなオーディオビジュアルファイル(例えば、映画)をダウンロードする等、大きなオブジェクトの一部分をパラレルにダウンロードするために、バンドラユーティリティまたは方法を使用することができる。この目的のために、クライアントは、映画の異なるセグメントに対するリクエストを、異なるインターフェース上でパラレルに送り出すことができる。したがって、複数のネットワークインターフェースにわたって、HTTPオブジェクトの異なるセグメントをパラレルに受信することができる。
【0024】
別の態様では、複数のネットワークインターフェースを束ねることは、イーサネットと、第1の無線アクセス技術(RAT)のワイヤレスワイドエリアネットワーク(WWAN)と、第2のRATのWWANと、ワイヤードネットワークインターフェースと、ワイヤードローカルアクセスネットワーク(LAN)ローカルアクセスネットワーク(WLAN)と、ワイヤードLANとによることができる。選択される2つは、同じタイプのネットワークインターフェースであることがある。
【0025】
1つの態様では、多数のパラレルな接続の確立は、利用可能なインターフェースの帯域幅が同程度の大きさであるとの決定に応答したものとすることができる。
【0026】
追加の態様では、接続ラウンドロビンによりマルチホームのホストに対してリンクを集約することによって、フルなリンク利用を維持するために、複数のリクエストの送信を行うことができる。
【0027】
加えて、複数のリクエストの送信は、宛先アドレスとしての、プロキシサーバのそれぞれのIPアドレスを、クライアントのネットワークインターフェースのうちの1つに結合する、静的なルーティングテーブルエントリーを、ルーティングテーブル中にインストールすることによることができる。
【0028】
さらなる態様では、決定論的プロセスまたはランダムプロセスのいずれかによって、複数のプロキシサーバにわたってHTTPリクエストを分配するために、プロキシ自動設定(PAC)を使用することができる。
【0029】
1つの態様では、複数のネットワークインターフェースを束ねることは、クライアント上のそれぞれのインターフェースに各々向けられる複数の別のルーティングテーブルエントリーを定義することによることができ、例えば、プロキシサーバ上のそれぞれの対応するネットワークインターフェースにリンクすることによることができる。
【0030】
図4を参照すると、示されているのは、パケットデータ通信のためのシステム90である。例えば、システム90は、ユーザ機器(UE)内に少なくとも部分的に存在することができる。機能ブロックを含むものとして、システム90が表され、機能ブロックは、コンピューティングプラットフォーム、プロセッサ、ソフトウェア、または、それらの組み合わせ(例えば、ファームウェア)により実現される機能を表す機能ブロックとすることができることを、正しく認識すべきである。システム90は、共に動作することができる電気コンポーネントの論理グルーピング92を含む。例えば、論理グルーピング92は、複数のネットワークインターフェースを束ねる電気コンポーネント94を含むことができる。さらに、論理グルーピング92は、束ねられた複数のネットワークインターフェースを介するパケットデータ通信のための、多数のパラレルな接続を確立する電気コンポーネント95を含むことができる。加えて、論理グルーピング92は、多数のパラレルな接続を介して、複数のリクエストを送信して、ウェブサーバ上にそれぞれ記憶されているパケットデータ部分から構成されるHTTPオブジェクトを取り出す電気コンポーネント96を含むことができる。さらに、システム90は、電気コンポーネント94〜96に関係付けられている機能を実行するための命令を保持するメモリ98を含むことができる。メモリ98の外部にあるとして示されているが、電気コンポーネント94〜96のうちの1つ以上は、メモリ98内に存在することができることを理解すべきである。
【0031】
図5では、通信システム100において、移動デバイス、アクセス端末、または、ユーザ機器(UE)102が、ウェブサーバ112〜114上に記憶されているオブジェクト106、108、110を含むハイパーテキストコンテンツ104に対するパイプライン化リクエスト103を行う。例示的な態様では、移動デバイス102は、オブジェクト106〜110を受信するのに、したがって、ハイパーテキストコンテンツ104をレンダリングするのに必要とされるラウンドトリップタイム(RTT)を悪化させるエアリンク116を通して、アクセスを得る。1つの態様では、ワイヤレスワイドエリアネットワーク(WWAN)120の一部として役割を果たすノード(例えば、マクロセル、フェムトセル、リレー)119と通信する無線トランシーバ118を、移動デバイス102は有しており、このノード119は、コアネットワーク(CN)(例えば、インターネット)124においてホスト管理されているサーバ112〜114へのインターネットプロトコルマルチメディアサブシステム(IMS)122に向かうものである。
【0032】
代替的に、または、加えて、移動デバイス102は、ノード128と通信するトランシーバ126を有しており、ノード128は、CN124を介してサーバ112〜114にアクセスするためのワイヤレスローカルアクセスネットワーク(WLAN)130を担当する。
【0033】
代替的に、または、加えて、移動デバイス102は、ノード134と通信するトランシーバ132を有しており、ノード134は、パーソナルアクセスネットワーク(PAN)136を担当し、CN124を介してサーバ112〜114に到達するために、WWAN120またはWLAN130のいずれかに結合されている。
【0034】
1つの態様では、トランシーバ118、126、132は、パケットデータ通信のための多数のパラレルな接続を確立する。トランシーバ118、126、132は、さらに、ウェブサーバ上にそれぞれ記憶されているパケットデータ部分から構成されるハイパーテキストオブジェクトを取り出すために、多数のパラレルな接続を介して、複数のパイプライン化されたリクエストを送信する。
【0035】
移動デバイス102のコンピューティングシステム124は、HTTP最適化コンポーネント144を有しており、HTTP最適化コンポーネント144は、フルなリンク利用を維持しながら、未処理のリクエストを減少させるために、パラレルな接続の数と、パラレルな接続を介するパイプライン化されたリクエストの数とを動的に変化させる。
【0036】
図6は、ここで説明する機能性のさまざまな態様を実現するために利用することができる別のシステム800のブロックダイヤグラムである。1つの例では、システム800は、移動端末802を含む。示されているように、移動端末802は、1つ以上のアンテナ808を介して、信号を、1つ以上の基地局804から受信することができ、1つ以上の基地局804に送信することができる。さらに、移動端末802は、アンテナ808から情報を受け取る受信機810を備えることができる。1つの例では、受信機810は、受け取った情報を復調する復調器812に動作可能に関係付けることができる。復調されたシンボルは、その後、プロセッサ814により解析することができる。プロセッサ814は、メモリ816に結合することができ、メモリ816は、移動端末802に関連するデータおよび/またはプログラムコードを記憶することができる。さらに、移動端末802は、ここで説明する方法を実行するために、プロセッサ814を用いることができる。移動端末802は、アンテナ808を通して送信機820により送信するための信号を多重化することができる変調器818も備えることができる。
【0037】
移動端末802は、複数のネットワークインターフェース840、842を有することができ、後者は、アンテナ844を利用して、基地局846に到達するものとして描写されている。例えば、基地局804、846は、イーサネットと、第1の無線アクセス技術(RAT)のワイヤレスワイドエリアネットワーク(WWAN)と、第2のRATのWWANと、ワイヤードローカルアクセスネットワーク(LAN)と、ワイヤレスローカルアクセスネットワーク(WLAN)とのうちの1つ以上をサポートすることができる。バンドラユーティリティ850は、ここで開示されている態様にしたがって、アプリケーション854が、複数のネットワークインターフェース840、842を使用するように、ルーティングテーブル852を最適化することができる。
【0038】
ここで開示した態様に関連して説明した、さまざまな例示的な論理ブロック、モジュール、回路およびアルゴリズムステップを、電子ハードウェア、コンピュータソフトウェア、または、双方を組み合わせたものとして実現してもよいことを、当業者はさらに正しく認識するであろう。ハードウェアおよびソフトウェアのこの交換可能性を明確に示すために、さまざまな例示的なコンポーネント、ブロック、モジュール、回路、およびステップを、一般的にこれらの機能性に関して上述した。このような機能性がハードウェアまたはソフトウェアとして実現されるか否かは、特定の応用、および、システム全体に課せられた設計の制約に依存する。当業者は、それぞれの特定の応用に対して方法を変化させて、説明した機能性を実現してもよいが、このようなインプリメンテーション決定は、本開示の範囲からの逸脱を生じさせるものとして解釈すべきではない。
【0039】
本明細書で使用しているように、用語“コンポーネント”、“モジュール”、“システム”、および、これらに類するものは、ハードウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェア、または、実行中のソフトウェアのいずれかである、コンピュータ関連エンティティのことを指すことを意図している。例えば、コンポーネントは、これらに限定されないが、プロセッサ上で動作しているプロセス、プロセッサ、オブジェクト、実行ファイル、実行のスレッド、プログラム、および/または、コンピュータであってもよい。例として、サーバ上で動作しているアプリケーションとサーバの双方をコンポーネントとすることができる。1つ以上のコンポーネントが、プロセスおよび/または実行のスレッド内に存在することがあり、コンポーネントは、1つのコンピュータ上に局所化されていてもよく、および/または、2つ以上のコンピュータ間に分散されていてもよい。
【0040】
ここでは、例として、事例として、あるいは例示として機能することを意味するように、“例示的な”という単語を使用する。“例示的な”ものとして、ここで説明したいずれの態様または設計は、他の態様または設計と比較して、必ずしも好ましいものとして、または、利益のあるものとして、解釈すべきではない。
【0041】
多数のコンポーネント、モジュール、および、これらに類するものを含んでもよいシステムの観点から、さまざまな態様が提示されるだろう。さまざまなシステムが、追加のコンポーネント、モジュール等を含んでもよいこと、および/または、図面に関連して論じたコンポーネント、モジュール等のすべてを含まなくてもよいことを理解し、正しく認識すべきである。これらのアプローチの組み合わせもまた使用してもよい。ここで開示したさまざまな態様は、タッチスクリーンディスプレイ技術を、ならびに/あるいは、マウスおよびキーボードタイプのインターフェースを、利用するデバイスを含む電気デバイス上で実行することができる。このようなデバイスの例は、コンピュータ(デスクトップおよびモバイル)、スマートフォン、パーソナルデジタルアシスタント(PDA)、ならびに、ワイヤードおよびワイヤレス双方の他の電子デバイスを含む。
【0042】
加えて、ここで開示した態様に関連して説明した、さまざまな例示的な論理ブロック、モジュールおよび回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブル論理デバイス、ディスクリートゲートまたはトランジスタ論理、ディスクリートハードウェアコンポーネント、あるいは、ここで説明した機能を実行するように設計されているこれらの任意の組み合わせで、実現または実行されてもよい。汎用プロセッサは、マイクロプロセッサであってもよいが、代替的に、プロセッサは、何らかの従来のプロセッサ、制御装置、マイクロ制御装置、または、状態機械であってもよい。プロセッサはまた、コンピューティングデバイスの組み合わせとして、例えば、DSPとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、DSPコアを伴った1つ以上のマイクロプロセッサ、あるいは、このようなコンフィギュレーションの他の何らかのものとして実現されてもよい。
【0043】
さらに、開示した態様を実現するようにコンピュータを制御するために、標準のプログラミングおよび/またはエンジニアリング技法を使用して、ソフトウェア、ファームウェア、ハードウェア、または、これらの何らかの組み合わせを生成させることにより、方法、装置、または、製造物として、1つ以上のバージョンを実現してもよい。ここで使用するような用語“製造物”(または、代替的に、“コンピュータプログラムプロダクト”)は、何らかのコンピュータ読取可能デバイス、キャリア、または、媒体から、アクセス可能なコンピュータプログラムを含むことを意図している。例えば、コンピュータ読取可能媒体は、これらに限定されないが、磁気記憶デバイス(例えば、ハードディスク、フロッピー(登録商標)ディスク、磁気ストリップ...)や、光ディスク(例えば、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)...)や、スマートカードや、フラッシュメモリデバイス(例えば、カード、スティック)を含むことがある。さらに、電子メールを送受信する際に、あるいは、インターネットまたはローカルエリアネットワーク(LAN)のようなネットワークにアクセスする際に使用するもののような、コンピュータ読取可能な電子データを伝えるために、搬送波を用いることができることを正しく認識すべきである。当然、当業者は、開示した態様の範囲から逸脱することなく、このコンフィギュレーションに対して多くの改良がなされてもよいことを認識するだろう。
【0044】
ここで開示した態様に関連して説明した方法またはアルゴリズムのステップは、直接、ハードウェアで、プロセッサにより実行されるソフトウェアモジュールで、あるいは、2つの組み合わせで、具現化してもよい。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーブバルディスク、CD−ROM、あるいは、技術的に知られている他の何らかの形態の記憶媒体に存在していてもよい。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替実施形態では、記憶媒体は、プロセッサと一体化されてもよい。プロセッサおよび記憶媒体は、ASICに存在してもよい。ASICは、ユーザ端末に存在してもよい。代替実施形態では、プロセッサおよび記憶媒体は、ユーザ端末中のディスクリートコンポーネントとして存在してもよい。
【0045】
開示した態様の先の説明は、当業者が本開示を作り、または、使用できるように提供されている。これらの態様に対するさまざまな改良は、当業者に容易に明らかになるであろう。そして、ここで定義されている一般的な原理は、本開示の精神または範囲を逸脱することなく、他の実施形態に適用されてもよい。したがって、本開示は、ここに示した実施形態に限定されることを意図しているものではないが、ここに開示した原理および新規の特徴と矛盾しない最も広い範囲に一致させるべきである。
【0046】
先に説明した例示的なシステムを考慮して、開示した主題事項にしたがって実現されてもよい方法を、いくつかのフローダイヤグラムを参照して説明してきた。説明を簡略化する目的のために、一連のブロックとして、方法を示し、説明してきたが、いくつかのブロックは、ここで示し、説明したものとは異なる順序で、および/または、他のブロックと同時に、起こることがあるので、請求されている主題事項は、ブロックの順序によって限定されないことを理解し、正しく認識すべきである。さらに、ここで説明した方法を実現するのに、示されているブロックがすべて要求されるわけではない。さらに、ここで開示した方法は、このような方法をコンピュータに伝送および転送するのを促進するために、製造物上に記憶することができることをさらに正しく認識すべきである。ここで使用するような製造物という用語は、何らかのコンピュータ読取可能デバイス、キャリア、または、媒体からアクセス可能なコンピュータプログラムを含むように意図されている。
【0047】
ここでの参照により組み込まれていると言われた、何らかの特許、公報、または、他の開示資料は、組み込まれている資料が、本開示で述べた、既存の定義、ステートメント、または、他の開示資料と対立しない限りのみ、全体または一部として、ここに組み込まれることを正しく認識すべきである。そのようなものとして、および、必要である限り、ここで明示的に述べたような開示は、参照によりここに組み込まれている、対立するあらゆる資料に取って代わる。参照によりここに組み込まれていると言われた、何らかの資料あるいはその一部は、既存の定義、ステートメント、または、ここで述べた他の開示資料と対立するもの以外は、その組み込まれている資料と既存の開示資料との間で何ら対立が生じない限りのみ、組み込まれるだろう。

【特許請求の範囲】
【請求項1】
パケットデータ通信のための方法において、
前記方法は、
複数のネットワークインターフェースを束ねることと、
前記束ねられた複数のネットワークインターフェースを介するパケットデータ通信のための、多数のパラレルな接続を確立することと、
前記多数のパラレルな接続を介して、複数のリクエストを送信して、ウェブサーバ上にそれぞれ記憶されているパケットデータ部分から構成されるハイパーテキスト転送プロトコル(http)オブジェクトを取り出すこととを含む方法。
【請求項2】
前記HTTPオブジェクトを取り出すことは、HTTPオブジェクトの異なるセグメントを取り出すことをさらに含む請求項1記載の方法。
【請求項3】
前記複数のネットワークインターフェースを束ねることは、イーサネットと、第1の無線アクセス技術(RAT)のワイヤレスワイドエリアネットワーク(WWAN)と、第2のRATのWWANと、ワイヤードネットワークインターフェースと、ワイヤードローカルアクセスネットワーク(LAN)ローカルアクセスネットワーク(WLAN)とからなるグループから、少なくとも2つを選択することをさらに含み、前記選択される2つは、同じタイプのネットワークインターフェースであることがある請求項1記載の方法。
【請求項4】
前記多数のパラレルな接続を確立することは、利用可能なインターフェースの帯域幅が同程度の大きさであると決定することをさらに含む請求項1記載の方法。
【請求項5】
前記複数のリクエストを送信することは、接続ラウンドロビンによりマルチホームのホストに対してリンクを集約することによって、フルなリンク利用を維持することをさらに含む請求項1記載の方法。
【請求項6】
前記複数のリクエストを送信することは、宛先アドレスとしての、プロキシサーバのそれぞれのIPアドレスを、クライアントの前記ネットワークインターフェースのうちの1つに結合する、静的なルーティングテーブルエントリーを、ルーティングテーブル中にインストールすることをさらに含む請求項5記載の方法。
【請求項7】
複数のプロキシサーバにわたってHTTPリクエストを分配するために、プロキシ自動設定(PAC)を使用することをさらに含む請求項6記載の方法。
【請求項8】
前記PACを使用することは、決定論的プロセスおよびランダムプロセスのうちの選択された1つにしたがって分配することをさらに含む請求項7記載の方法。
【請求項9】
前記複数のネットワークインターフェースを束ねることは、クライアント上のそれぞれのインターフェースに各々向けられる複数の別のルーティングテーブルエントリーを定義することをさらに含む請求項1記載の方法。
【請求項10】
前記複数の別のルーティングテーブルエントリーを定義することは、プロキシサーバ上のそれぞれの対応するネットワークインターフェースにリンクすることをさらに含む請求項9記載の方法。
【請求項11】
パケットデータ通信のための少なくとも1つのプロセッサにおいて、
前記少なくとも1つのプロセッサは、
複数のネットワークインターフェースを束ねる第1のモジュールと、
前記束ねられた複数のネットワークインターフェースを介するパケットデータ通信のための、多数のパラレルな接続を確立する第2のモジュールと、
前記多数のパラレルな接続を介して、複数のリクエストを送信して、ウェブサーバ上にそれぞれ記憶されているパケットデータ部分から構成されるハイパーテキスト転送プロトコル(http)オブジェクトを取り出す第3のモジュールとを具備する少なくとも1つのプロセッサ。
【請求項12】
パケットデータ通信のためのコンピュータプログラムプロダクトにおいて、
前記コンピュータプログラムプロダクトは、
コンピュータに、複数のネットワークインターフェースを束ねさせるための第1の組のコードと、
前記コンピュータに、前記束ねられた複数のネットワークインターフェースを介するパケットデータ通信のための、多数のパラレルな接続を確立させるための第2の組のコードと、
前記コンピュータに、前記多数のパラレルな接続を介して、複数のリクエストを送信させて、ウェブサーバ上にそれぞれ記憶されているパケットデータ部分から構成されるハイパーテキスト転送プロトコル(http)オブジェクトを取り出させるための第3の組のコードとを含む一時的でないコンピュータ読取可能記憶媒体を具備するコンピュータプログラムプロダクト。
【請求項13】
パケットデータ通信のための装置において、
前記装置は、
複数のネットワークインターフェースを束ねる手段と、
前記束ねられた複数のネットワークインターフェースを介するパケットデータ通信のための、多数のパラレルな接続を確立する手段と、
前記多数のパラレルな接続を介して、複数のリクエストを送信して、ウェブサーバ上にそれぞれ記憶されているパケットデータ部分から構成されるハイパーテキスト転送プロトコル(http)オブジェクトを取り出す手段とを具備する装置。
【請求項14】
パケットデータ通信のための装置において、
前記装置は、
複数のネットワークインターフェースと、
前記複数のネットワークインターフェースを束ねるバンドラユーティリティとを具備し、
前記バンドラユーティリティは、前記束ねられた複数のネットワークインターフェースを介するパケットデータ通信のための、多数のパラレルな接続を確立するためのものであり、
前記複数のネットワークインターフェースは、前記多数のパラレルな接続を介して、複数のリクエストを送信して、ウェブサーバ上にそれぞれ記憶されているパケットデータ部分から構成されるハイパーテキスト転送プロトコル(http)オブジェクトを取り出すためのものである装置。
【請求項15】
前記バンドラは、さらに、HTTPオブジェクトの異なるセグメントを取り出すことにより、前記HTTPオブジェクトを取り出すためのものである請求項14記載の装置。
【請求項16】
前記バンドラは、さらに、イーサネットと、第1の無線アクセス技術(RAT)のワイヤレスワイドエリアネットワーク(WWAN)と、第2のRATのWWANと、ワイヤードネットワークインターフェースと、ワイヤードローカルアクセスネットワーク(LAN)ローカルアクセスネットワーク(WLAN)とからなるグループから、少なくとも2つを選択することにより、前記複数のネットワークインターフェースを束ねるためのものであり、前記選択される2つは、同じタイプのネットワークインターフェースであることがある請求項14記載の装置。
【請求項17】
前記バンドラは、さらに、利用可能なインターフェースの帯域幅が同程度の大きさであると決定することによって、前記多数のパラレルな接続を確立するためのものである請求項14記載の装置。
【請求項18】
前記バンドラは、さらに、接続ラウンドロビンによりマルチホームのホストに対してリンクを集約することによって、フルなリンク利用を維持するためのものである請求項14記載の装置。
【請求項19】
前記バンドラは、さらに、宛先アドレスとしての、プロキシサーバのそれぞれのIPアドレスを、クライアントの前記ネットワークインターフェースのうちの1つに結合する、静的なルーティングテーブルエントリーを、ルーティングテーブル中にインストールするためのものである請求項18記載の装置。
【請求項20】
前記バンドラは、さらに、複数のプロキシサーバにわたってHTTPリクエストを分配するために、プロキシ自動設定(PAC)を使用するためのものである請求項19記載の装置。
【請求項21】
前記バンドラは、さらに、決定論的プロセスおよびランダムプロセスのうちの選択された1つにしたがって分配することにより、前記PACを使用するためのものである請求項20記載の装置。
【請求項22】
前記バンドラは、さらに、クライアント上のそれぞれのインターフェースに各々向けられる複数の別のルーティングテーブルエントリーを定義することにより、前記複数のネットワークインターフェースを束ねるためのものである請求項14記載の装置。
【請求項23】
前記バンドラは、さらに、プロキシサーバ上のそれぞれの対応するネットワークインターフェースにリンクすることにより、前記複数の別のルーティングテーブルエントリーを定義するためのものである請求項22記載の装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公表番号】特表2013−515400(P2013−515400A)
【公表日】平成25年5月2日(2013.5.2)
【国際特許分類】
【出願番号】特願2012−544947(P2012−544947)
【出願日】平成22年12月20日(2010.12.20)
【国際出願番号】PCT/US2010/061362
【国際公開番号】WO2011/075739
【国際公開日】平成23年6月23日(2011.6.23)
【出願人】(595020643)クゥアルコム・インコーポレイテッド (7,166)
【氏名又は名称原語表記】QUALCOMM INCORPORATED
【Fターム(参考)】