(57)【特許請求の範囲】
【請求項１】
多数のアクティブ物理インタフェースの複数の帯域幅をアプリケーション層フレームワークで動的にアグリゲートするシステムであって、前記システムは、
(a) ルーティングテーブルからデフォルト及び非デフォルト物理インタフェースのＩＰアドレス及びゲートウェイを決定するためにユーザ定義入力を受信するように構成されたユーザインタフェース、
(b) 決定されたデフォルト及び非デフォルト物理インタフェースのＩＰアドレスおよびゲートウェイに基づいて、帯域幅アグリゲーションのために使用される多数のアクティブ物理インタフェースのルーティングテーブルを生成し更新するように構成された少なくとも一つのルーティングテーブル更新装置、及び
(c) プロトコルスタックのアプリケーション層に存在し、帯域幅アグリゲーションに加入する多数のアクティブ物理インタフェースを決定するように構成され、更に、前記多数のアクティブ物理インタフェースでのデータ分配、データ送信、データ受信及びデータアセンブリを実行するように構成された少なくとも一つの制御モジュール、
を備える、システム。
【請求項２】
前記ユーザ定義入力は、それらの帯域幅をアグリゲートするインタフェースの総数、それらのインタフェース識別子、前記インタフェースのデフォルト帯域幅又はデータレート、ＵＲＬ（uniform resource locator）又はアドレスの宛先、動作モード、前記物理インタフェースにより更に処理されるファイル名を備える、請求項１記載のシステム。
【請求項３】
前記ルーティングテーブル更新装置が、デフォルトアクティブインタフェースのＩＰアドレス及びそれらのゲートウェイのＩＰアドレスを決定するために、「デフォルト」というキーワードで前記ルーティングテーブルを検索する、請求項１記載のシステム。
【請求項４】
前記制御モジュールが、前記多数のアクティブ物理インタフェースによる送信及び受信のためのデータ分配比を決定し、前記データ分配比を前記多数のアクティブ物理インタフェースのデフォルトデータレートの比に等しく維持する、請求項１記載のシステム。
【請求項５】
前記制御モジュールが各インタフェースに対して割り当てられたデータの送信又は受信を同時に実行する操作スレッドを生成する、請求項１記載のシステムにおいて、前記操作スレッドの数が多数のアクティブ物理インタフェースの数と同数である、システム。
【請求項６】
前記システムは外部ネットワークとの通信に対するデータレートを単一の物理インタフェースを用いるデータレートのｎ倍に高め、ここで、ｎは同様のネットワークと通信する同一のデータレート／帯域幅からなる物理インタフェースの数である、請求項１記載のシステム。
【請求項７】
前記外部ネットワークは有線又は無線ネットワーク又はその組み合わせを備える、請求項６記載のシステム。
【請求項８】
前記システムはコンピュータシステムの多数の物理インタフェースのデータレートをアグリゲートし、それによって各物理インタフェースのデータレートを加え合わせる、請求項１記載のシステム。
【請求項９】
前記システムを実装するためにトランスポート層プロトコルを利用する、請求項１記載のシステム。
【請求項１０】
多数のアクティブ物理インタフェースの複数の帯域幅をアプリケーション層フレームワークで動的にアグリゲートするシステムであって、前記システムは
ルーティングテーブル更新装置が、
(a)コマンドを実行することによって、システム内の多数のアクティブ物理インタフェースを決定し、
(b)ルーティングテーブルを検索することによって、前記多数のアクティブ物理インタフェースのＩＰアドレス及びそれらのゲートウェイのＩＰアドレスを決定し、
(c)多数のアクティブ物理インタフェースを、アクティブ物理インタフェース毎に、それらのゲートウェイと一緒にルーティングテーブルに加えることによって、ルーティングテーブルを生成し更新し、
制御モジュールが、
(d)多数のアクティブ物理インタフェースによる送信及び受信のためのデータ分配比を決定し、前記データ分配比を前記多数のアクティブ物理インタフェースのデフォルトデータレートの比に等しく維持し、
(e)前記多数のアクティブ物理インタフェースの各々対して多数の操作スレッドを生成し、
(f)送信又は受信のためにデータを前記多数のアクティブ物理インタフェースの各々に分配し、
(g)前記多数のアクティブ物理インタフェースからのデータを同時に受信し、
(h)前記多数のアクティブ物理インタフェースの各々を、帯域幅アグリゲーションに加えるために、それぞれの操作スレッドと結び付けることを特徴とするシステム。
【請求項１１】
多数のアクティブ物理インタフェースの複数の帯域幅をアプリケーション層フレームワークで動的にアグリゲートする方法であって、前記方法は以下のプロセッサ実行ステップ、
(a) ルーティングテーブル更新装置を用いてコマンドを実行することによって、システム内の多数のアクティブ物理インタフェースを決定するステップ、
(b) 前記ルーティングテーブル更新装置を用いてルーティングテーブルを検索することによって、前記多数のアクティブ物理インタフェースのＩＰアドレス及びそれらのゲートウェイのＩＰアドレスを決定するステップ、
(c) 前記ルーティングテーブル更新装置を用いて多数のアクティブ物理インタフェースを、アクティブ物理インタフェース毎に、それらのゲートウェイと一緒にルーティングテーブルに加えることによって、ルーティングテーブルを生成し更新するステップ、
(d) 制御モジュールを用いて、多数のアクティブ物理インタフェースによる送信及び受信のためのデータ分配比を決定し、前記データ分配比を前記多数のアクティブ物理インタフェースのデフォルトデータレートの比に等しく維持するステップ、
(e) 前記制御モジュールを用いて、前記多数のアクティブ物理インタフェースの各々対して多数の操作スレッドを生成するステップ、
(f) 前記制御モジュールを用いて、送信又は受信のためにデータを前記多数のアクティブ物理インタフェースの各々に分配するステップ、
(g) 前記制御モジュールを用いて、前記多数のアクティブ物理インタフェースからのデータを同時に受信するステップ、及び
(h) 前記制御モジュールを用いて、前記多数のアクティブ物理インタフェースの各々を、帯域幅アグリゲーションに加えるために、それぞれの操作スレッドと結び付けるステップ、
を備える、方法。
【請求項１２】
前記方法は帯域幅アグリゲーションを実行するのに特定のネットワーク構成と無関係である、請求項１１記載の方法。
【請求項１３】
前記方法は帯域幅アグリゲーションを実行するのにネットワークプロキシ又はコントローラと無関係である、請求項１１記載の方法。
【請求項１４】
前記方法はファイナルシステム又は宛先ノードにクライアントサーバ構成のような対応モジュール／コンポーネント又はカウンタコンポーネントと無関係である、請求項１１記載の方法。
【請求項１５】
前記方法はサービスレベル合意と無関係である、請求項１１記載の方法。
【請求項１６】
前記方法はアプリケーション層でランする、請求項１１記載の方法。
【請求項１７】
前記方法は、外部ネットワークとの通信に対するデータレートを単一の物理インタフェースを用いるデータレートのｎ倍に高め、ここで、ｎは同様のネットワークと通信する同一データレート又は帯域幅からなる物理インタフェースの数である、請求項１１記載の方法。
【請求項１８】
前記外部ネットワークは有線又は無線ネットワーク又はその組み合わせを備える、請求項１７記載の方法。
【請求項１９】
多数のアクティブ物理インタフェースの複数の帯域幅をアプリケーション層フレームワークで動的にアグリゲートするコンピュータプログラムであって、前記コンピュータプログラムはコンピュータに、
(i) ルーティングテーブル更新装置を用いてコマンドを実行することによって、多数のアクティブ物理インタフェースを決定する手順と、
(j) 前記ルーティングテーブル更新装置を用いてルーティングテーブルを検索することによって、前記多数のアクティブ物理インタフェースのＩＰアドレス及びそれらのゲートウェイのＩＰアドレスを決定する手順と、
(k) 前記ルーティングテーブル更新装置を用いて多数のアクティブ物理インタフェースを、アクティブ物理インタフェース毎に、それらのゲートウェイと一緒にルーティングテーブルに加えることによって、ルーティングテーブルを生成し更新する手順と、
(l) 制御モジュールを用いて、多数のアクティブ物理インタフェースによる送信及び受信のためのデータ分配比を決定し、前記データ分配比を前記多数のアクティブ物理インタフェースのデフォルトデータレートの比に等しく維持する手順と、
(m) 前記制御モジュールを用いて、前記多数のアクティブ物理インタフェースの各々対して多数の操作スレッドを生成する手順と、
(n) 前記制御モジュールを用いて、送信又は受信のためにデータを前記多数のアクティブ物理インタフェースの各々に分配する手順と、
(o) 前記制御モジュールを用いて、前記多数のアクティブ物理インタフェースからのデータを同時に受信する手順と、及び
(p) 前記制御モジュールを用いて、前記多数のアクティブ物理インタフェースの各々を、帯域幅アグリゲーションに加えるために、それぞれの操作スレッドと結び付ける手順と、
を実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電気通信の分野に関する。特に、本発明はネットワーク通信に関し、システムの多数の物理通信リンクの帯域幅アグリゲーション（集約）をアプリケーション層に基づいて達成し、システムの総合帯域幅を高めようとするものである。
【背景技術】
【０００２】
帯域幅は通信資源であり、有効消費データとして測定され、ビット／秒で表される。その測定量はチャネル／通信リンクの状態／容量を決定するためのパラメータとして使用される。
【０００３】
帯域幅は情報理論、無線通信、信号処理及びスペクトロスコピーなどの多くの分野における主要な概念である。一定量の時間内に送信できるデータの量はビット／秒（bps）又はバイト／秒で表される。
【０００４】
例えば：
ａ．Ｖ．９０モデムは５６Ｋｂｐｓの理論的最大帯域幅をサポートする。高速イーサネットは１００Ｍｂｐｓの理論的最大帯域幅をサポートする。同様に、
ｂ．いくつかの特性に関して機能するアンテナの周波数範囲は指定の標準規格に準拠する（２．４−２．５ＧＨｚアンテナは１００ＭＨｚの帯域幅を有する）。
【０００５】
通信リンクは固有の帯域幅を有する。帯域幅の減少はリンクのデータレートを減少し、情報の消失を生じ得る。情報消失はアプリケーションの品質を低下させ、よってサービスの質（ＱｏＳ）を低下させる。これに対し、帯域幅の増大はデータレートを高め、サービスの質を向上させ、ダウンロード及びアップロードの伝送時間を減少する。
【０００６】
サービスの質（ＱｏＳ）の目標は、予測可能な結果を送るネットワークの能力を保証することにある。ＱｏＳの範囲内のネットワーク性能の要素は、多くの場合、可用性（使用可能時間）、帯域幅（スループット）、レイテンシ（遅延）及びエラーレートを含む。ＱｏＳはネットワークトラフィックの優先順位付けも含む。
【０００７】
特に、種々の物理インタフェースと関連する多数の物理層の帯域幅をアグリゲート（集約）し、有線及び無線ネットワークの種々の通信リンクで通信を実行することによって、システムの総合帯域幅を増大させることができる。この帯域幅アグリゲーションに関連する問題に対処する周知の従来技術のいくつかは以下の通りである。
【０００８】
特許文献１は通信ネットワーク帯域幅のダイナミックアグリゲーションシステム及び方法を教示する。この従来技術は、帯域幅アグリゲーションを達成するために制御ネットワーク及びネットワークコントローラを必要とする。この技術はアグリゲーションのために制御ネットワーク、ペイロードネットワーク及び出口ネットワークの組み合わせのような特定のネットワーク構成を必要とする。
【０００９】
特許文献２は、第１及び第２エンドポイント間に複数の並列物理リンクを含む論理リンクでデータを伝送するために保証された帯域幅を設定する方法を教示する。この従来技術はサービスレベル合意を必要とし、アグリゲーションはリンク層に基づいており、ＩＥＥＥ標準規格８０２．３に従ってリンクアグリゲーショングループを使用し、リンクアグリゲーションは別個のシステムで実行され、中央制御システムを必要とする。
【００１０】
特許文献３は物理通信リンクをより高い帯域幅の論理リンクにアグリゲート又は結合する方法、装置及びシステムを教示する。この従来技術はリンク層ベースのアグリゲーションを実行する。この技術は送信側及び受信側の両方にカウンタ要素を有するリンク結合エンジンを使用する。この技術は更にデータリンクフレームサイズを変更し、スーパーフレームを導入する。
【００１１】
特許文献４は無線広域ネットワーク（ＷＷＡＮ）において無線クライアントのために動的に帯域幅を拡張する方法を教示する。この従来技術はプールクライアント間のトラヒックを管理する通信マネージャを必要とし、この技術は更にデータを含む各パケットからのパケット情報を公表し、データを外部ネットワークに送信する前にパケットを並べ直すアグリゲーションサーバを必要とし、無線通信を用いる特定のネットワーク構成を必要とする。
【００１２】
特許文献５は「スーパー」トランスポート及びキャッシング構造を通常のＴＣＰ／ＩＰ通信ネットワーク上でオーバレイすることによって通信ネットワークの有効帯域幅を増大するシステム及び方法を教示する。この従来技術は多数の物理インタフェースを用いて帯域幅アグリゲーションを実行するものではない。この特許文献は、通信ネットワークを介して第２のコンピュータシステムにデータを転送するためにデータを第１のコンピュータシステムで圧縮し、更に（通信リンクで接続された２つ以上のコンピュータシステムを必要とする）仮想プライベートネットワークを生成する方法を開示し、この方法はファイナルエンドに対応モジュールを必要とする。
【００１３】
特許文献６は、通信ネットワークからの情報をユーザに送付するための時間を短縮するシステム及び方法を教示する。この従来技術は多数のインタフェースを用いて帯域幅アグリゲーションを実行するものではない。この技術はアプリケーション又はブラウザの使用のためにデータのキャッシングを行い、選択したデータをホストサーバから通信ネットワーク上の複数のキャッシュに分配する。この技術は特定のネットワーク構成を使用し、ＶＡＮ（仮想プライベートネットワーク）を構築する。
【００１４】
特許文献７は、データ分配用の最適化されたネットワーク機構の実用的で有効な生成のために未使用のリソースを動的に見つけ出し利用する方法及び装置を教示する。この従来技術は、帯域幅拡大を実行するために特定のネットワーク構成を必要とする。このネットワーク構成はネットワーク層及びアプリケーション層に基づき、アプリケーション層に完全に基づくわけではない。
【００１５】
特許文献８は、多数の帯域幅をアグリゲートして広帯域通信サービスを提供する帯域幅アグリゲーションシステムを教示する。この従来技術は、帯域幅アグリゲーションを実行するために多数の帯域幅の重みを計算する対応モジュールを宛先に必要とする。この重みはベースステーション及びモバイルシステムに適用され、一般に無線ネットワークのリソース割り当て機構に使用される。
【００１６】
特許文献９は、通信サイト間の通信のために使用されるサイト間接続ネットワークにおいて帯域幅予約のための所要のリソースを減少させることができるようにする方法及びシステムを教示する。この従来技術は特定のネットワークシステムを必要とし、第２のユーザより割り当て帯域幅が小さい関心ユーザサイトに対してパスをアグリゲートする。
【００１７】
特許文献１０は、リンクアグリゲーションロジックによって、（複数のネットワークインタフェースカード（ＮＩＣ）と結合される）アグリゲートされたリンクのチームを経て通信するネットワークトラヒックの負荷がそのチームの一以上のアグリゲートされたリンクの不活性化を許容するかどうかを決定する構成及び技術を教示する。この従来技術は、アグリゲートされたリンクのチームの一以上のリンクの不活性化によって負荷バランシングを実行し、その一以上のアグリゲートされたリンクに対応する一以上のＮＩＣをパワーオフするかパワーセーブモードにする。
【００１８】
非特許文献１は、トランスポート層におけるチャネルアグリゲーションの問題解決を教示し、モバイルノードに対する帯域幅の増大を提供する。この従来技術は宛先ノードに対応モジュールを必要とし、モバイル環境に役立つ。
【００１９】
非特許文献２は、モバイルユーザがインターネットコンテンツへアクセスするのに利用し得る種々の無線インタフェースを開示している。この従来技術は帯域幅アグリゲーションを実行するインフラプロキシからなるネットワーク層構成を必要とする。
【００２０】
非特許文献３は、ユーザが所望のサービスレベルを動的にネゴシエートし、帯域幅アグリゲーションの使用によって所望のサービスレベルを達成することを可能にする帯域幅アグリゲーションアウェアＱｏＳネゴシエーション機構を開示している。この従来技術はサービスレベル合意及びパケット再注文に基づく帯域幅アグリゲーションを使用する。
【先行技術文献】
【特許文献】
【００２１】
【特許文献１】Allen他による米国特許第７８０５１５６号
【特許文献２】Bruckman他による米国特許第７３３６６０５号
【特許文献３】Predersen他による米国特許第６８７９５９０号
【特許文献４】Allen他による米国特許第７７２００９８号
【特許文献５】Parrella他による米国特許第７２６０６５１号
【特許文献６】Parrella他による米国特許出願第２００３０７８９６４号
【特許文献７】Izmailov他による米国特許出願第２００５００１５５１１号
【特許文献８】Lee他による米国特許出願第２０１０２０２３１０号
【特許文献９】Nomura他による米国特許第６９７３５０４号
【特許文献１０】Mater他による米国特許出願第２０１０００１１２３０号
【非特許文献】
【００２２】
【非特許文献１】Magalhaes et al “Transport Level Mechanisms for Bandwidth Aggregation on Mobile Hosts”
【非特許文献２】Chebrolu et al “Bandwidth Aggregation for Real-Time Applications in Heterogeneous Wireless Networks”
【非特許文献３】Taleb et al “A Bandwidth Aggregation-Aware QoS Negotiation Mechanism for Next-Generation Wireless Networks”
【００２３】
上述した先行技術文献に開示されるシステム及び方法に存在する欠点のいくつかは、第１に、制御ネットワーク、ペイロードネットワーク及び出口ネットワークの組み合わせのような特定のネットワーク構成を必要とすることにある。第２に、従来技術の殆どは、帯域幅アグリゲーションを達成するために制御ネットワーク及びネットワークコントローラも必要とするとともに、帯域幅アグリゲーションを達成するためにサービスレベル合意、カウンタ又は対応モジュール／コンポーネント及びネットワークプロキシを必要とする。第３に、従来技術のいくつかは帯域幅アグリゲーションではなく、帯域幅割当て及び管理を実行する。最後に、これらの方法は帯域幅アグリゲーションのためにアプリケーション層を何ら利用していない。
【発明の概要】
【発明が解決しようとする課題】
【００２４】
従って、多数のアクティブ物理インタフェースの帯域幅アグリゲーションを、特定のネットワーク構成、プロキシシステム、サービスレベル合意又は送信元及び送信先間に位置するネットワーク制御システムを使用することなく、重要なことには、ファイナルエンドで対応モジュール又はコンポーネントを使用することなく、アプリケーション層に基づいて達成するという長年の問題を解決する必要がある。
【００２５】
本発明の主な目的は、多数のアクティブ物理インタフェースの帯域幅アグリゲーションをアプリケーション層で達成するシステム及び方法を提供することにある。
【００２６】
本発明の別の目的は、アプリケーション層にあって、関連するコンピュータシステムの総合帯域幅を増大する制御モジュールを用いて、アクティブ物理インタフェースによるダウンロード及びアップロードのデータ伝送レートを高めるシステム及び方法を提供することにある。
【００２７】
本発明の別の目的は、帯域幅アグリゲーションプロセスに加えることができるアクティブ物理インタフェースをアプリケーション層で決定するシステム及び方法を提供することにある。
【００２８】
本発明の別の目的は、データを同時に多数の物理インタフェースを通して送受することによって総合データ操作時間を減少させることができる帯域幅アグリゲーションを提供するシステム及び方法を提供することにある。
【００２９】
本発明の更に別の目的は、物理層、媒体アクセス制御（ＭＡＣ）及び他の上位層の機能ブロック／機能を不変に維持したまま物理インタフェースのデータ転送及び受信パスをアセンブルするシステム及び方法を提供することにある。
【００３０】
本発明の更に別の目的は、多数のアクティブ物理インタフェースの帯域幅をアグリゲートすることができるアプリケーション層フレームワークを提供することにある。
【課題を解決するための手段】
【００３１】
システム、コンポーネント及び方法について記載する前に、本発明の可能な実施例は多数存在し、それらは本明細書において明確に特定されないので、本発明は記載される特定のシステム及び不法に限定されるものではないことを理解されたい。また、本明細書で使用される用語は特定のバージョン又は実施例を記述するためにのみ使用され、本発明の範囲を限定することを意図するものでなく、本発明の範囲は添付の特許請求の範囲によってのみ限定されることも理解されたい。
【００３２】
本発明は多数のアクティブ物理インタフェースの帯域幅をアグリゲートするシステムを想定する。
【００３３】
本発明の一つの態様においては、システム内に存在するアクティブ物理インタフェース及びそれらの関連ＩＰ（インターネット・プロトコル）アドレスを決定する方法及びシステムが提供される。
【００３４】
本発明の別の態様においては、これらのインタフェースのゲートウェイのＩＰアドレスを決定する方法及びシステムが提供される。これらのインタフェースはルーティングテーブルに新しいルートとして、等しい重み／優先順位を有する次のホップとして、加えられる。
【００３５】
更に他の態様においては、多数の操作スレッドを並列に維持する方法及びシステムが提供される。操作スレッドの数はそれらの帯域幅がアグリゲートされるインタフェースの数と同数である。操作スレッドはデータフェッチ並びにデータ転送アクティビティを同時に実行することができる。前記システムは操作すべき全データを関連するインタフェースに分割し、そのデータ分割比をインタフェースのデフォルトデータレートの比に等しく維持する。
【００３６】
更に本発明によれば、総合データ送信及び受信レートを増大し、それによって、物理層、媒体アクセス層、ネットワーク層、トランスポート層などのＯＳＩ（Open Systems Interconnection）又はＴＣＰ／ＩＰスタックの種々の層の機能を不変に維持したまま、データをフェッチ又は送信するアプリケーションの総合動作時間を減少させる方法及びシステムが提供される。
【００３７】
帯域幅アグリゲーションシステムは多数のアクティブ物理インタフェース及び２つ以上のネットワーク接続を必要とする。本発明によれば、システムを実現するために、ユーザ定義入力として以下の前提条件：
(a)  アグリゲートすべきインタフェースの総数
(b)  eth0/eth1,ppp0/ppp1などのインタフェース識別子
(c)  インタフェースのデータレート（kbps単位）
(d)  データ処理の「ＵＲＬ」（uniform resource locator）；例えばストリーミングするビデオのＵＲＬ（uniform resource locator）又はダウンロード又はアップロードするファイルのＵＲＬ
が要求される。
【００３８】
上記の概要及び次の好適実施例の詳細の説明は、添付図面とともに読むと良く理解される。本発明の説明のために、本発明の例示的構成が示されるが、本発明は図に示される特定のシステム及び方法に限定されるものではない。
【図面の簡単な説明】
【００３９】
【図１】本発明の種々の模範的実施例による、多数の通信リンクの帯域幅のアグリゲーションをアプリケーション層で実行し得るシステムの構成を示す。
【図２】本発明の種々の模範的な実施例による、システム内の多数の通信リンクの帯域幅をアプリケーション層に基づいてアグリゲートする方法の流れ図を示す。
【発明を実施するための形態】
【００４０】
次に添付図面を参照して本発明を説明する。
【００４１】
本発明のいくつかの実施例が、そのすべての特徴を例示して以下に詳しく説明される。「備える」、「有する」及び「含む」という語、およびそれらの変化形は、同等の意味であり、また、これらの語の前に位置する要素はそれらの要素の網羅的列挙であることを意味するものでなく、列挙されている要素のみに限定されることを意味するのではない。また、本明細書および添付の請求項において数を特定してない要素は複数の存在を除外するものではないことに注意されたい。本明細書に記載されるものと類似あるいは同等の如何なるシステム及び方法も本発明の実施や試験に用いることができるが、以下では好ましい方法およびシステムについて説明する。開示される実施例は模範例にすぎない。
【００４２】
本発明は電気通信の分野に関する。特に、本発明はネットワーク通信に関し、システムの多数の物理通信リンクの帯域幅アグリゲーションをアプリケーション層に基づいて達成し、システムの総合帯域幅を高めようとするものである。
【００４３】
本発明による、多数の通信リンクの帯域幅をアプリケーション層でアグリゲートするシステムは、
（a）ユーザ定義入力を受信するユーザインタフェース、
（b）帯域幅アグリゲーションのために使用される多数のアクティブ物理インタフェースのルーティングテーブルを生成し更新するための少なくとも一つのルーティングテーブル更新装置、及び
（c）プロトコルスタックのアプリケーション層に存在し、前記多数のアクティブ物理インタフェースへのデータ分配並びに前記多数の物理インタフェースからのデータアセンブリを実行する少なくとも一つの制御モジュール、
を備える。
【００４４】
図１は、本発明の種々の模範的な実施例による、多数の通信リンクの帯域幅をアプリケーション層に基づいてアグリゲートするシステム構成１００を示す。システム１００は、ユーザインタフェース１０２、ルーティングテーブル更新装置１０４、ルーティングテーブル１０６、制御モジュール１０８、物理インタフェース３００、及びＴＣＰ／ＩＰプロトコルスタック２００の最上位で動作するアプリケーション層を備える。ＴＣＰ／ＩＰスタック２００は更にハイパーテキスト・トランスファー・プロトコル（ＨＴＴＰ）２０１（図示せず）、ファイル・トランスファー・プロトコル（ＦＴＰ）２２０、トランスポート・プロトコル２２２、インターネット・プロトコル（ＩＰ）２２４、媒体アクセス制御（ＭＡＣ）プロトコル２２６及び物理層プロトコル２２８を備える。
【００４５】
本発明の一つの模範的な実施例によれば、前記ユーザインタフェース１０２は、前記システム１００で使用されるインタフェースＩＤ、インタフェースのデフォルト帯域幅、ＵＲＬ（uniform resource locator）／宛先アドレス、アプリケーションのモード（アップロード、ダウンロード、ストリーミング等）、ファイル名などのユーザ定義入力を受信する。前記ユーザインタフェース１０２は、コンピュータ、ＰＤＡ、ラップトップなどのコンピュータデバイスのユーザインタフェースを備える。
【００４６】
本発明の一実施例では、システムを実現するために、ユーザ定義入力として下記の前提条件：
(a)  アグリゲートすべきインタフェースの総数
(b)  eth0/eth1,ppp0/ppp1などのインタフェース識別子
(c)  インタフェースのデータレート（kbps単位）
(d)  データ処理の「ＵＲＬ」（uniform resource locator）；例えばストリーミングビデオのＵＲＬ（uniform resource locator）又はダウンロード又はアップロードするファイルのＵＲＬ
が要求される。
【００４７】
本発明の他の実施例では、ルーティングテーブル更新装置１０４は当該コンピュータシステムに存在するアクティブインタフェースを決定する。本発明の一つの模範的な実施例によれば、通信リンクの特定の宛先までのルートを記録するルーティングテーブル１０６を更新するためにルーティングテーブル更新装置１０４を使用する。
【００４８】
ルーティングテーブル更新装置１０４は、デフォルトルートとして既に存在するデフォルトアクティブインタフェース３００のＩＰアドレス及びそれらのゲートウェイのＩＰアドレスを決定するために、「デフォルト」というキーワードでルーティングテーブル１０６を検索する。
【００４９】
ルーティングテーブル更新装置１０４は、更に、これらのインタフェース３００のＩＰアドレス及びそれらのゲートウェイのＩＰアドレスを決定するために、インタフェース識別子、即ちeth0/eth1,ppp0などのキーワードでルーティングラフィックテーブル１０６を検索する。
【００５０】
本発明の一つの本質的な実施例によれば、ルーティングテーブル更新装置１０４は帯域幅アグリゲーションシステム１００の一つのコンポーネントである。
【００５１】
更に、ルーティングテーブル更新装置１０４は、帯域幅アグリゲーションのために選択されたインタフェースについてルーティングテーブル１０６を修正する。更新装置１０４はそれらのインタフェースをそれらのゲートウェイアドレスと一緒にデフォルトルートとして、次のホップとして、システム１００の既存のルーティングテーブル１０６に加える。
【００５２】
制御モジュール１０８はＴＣＰ／ＩＰプロトコルスタック２００を構成するアプリケーション層に存在する。ＴＣＰ／ＩＰプロトコルスタック２００は更にハイパーテキスト・トランスファー・プロトコル（ＨＴＴＰ）２０１（図示せず）、ファイル・トランスファー・プロトコル（ＦＴＰ）２０２、トランスポート・プロトコル２０４、インターネット・プロトコル（ＩＰ）２０６、媒体アクセス制御（ＭＡＣ）プロトコル２０８及び物理層プロトコル２１０などの種々のプロトコル層及びそれらの組み合わせを備える。
【００５３】
本発明の一つの実施例によれば、制御モジュール１０８はインタフェースのデフォルトデータレートに応じてインタフェースによる送信又は受信のために分配すべきデータの量を決定する。ｎ個のインタフェースのデータレート／帯域幅がｎ１，ｎ２．．．ｎｎである場合、ｎ個のインタフェースにより処理されるデータの比はｎ１：ｎ２．．．：ｎｎである。即ち、制御モジュール１０８はそれらのインタフェースにより分配されるデータ量の比をそれらのインタフェースのデフォルトデータレートの比に等しく維持する。
【００５４】
本発明の別の実施例では、制御モジュール１０８はアクティブ物理インタフェースと同数の多数の操作スレッド１１６を生成し、制御モジュール１０８は主マスタスレッドのままである。これらの操作スレッド１１６は制御モジュール１０８によりそれらに割り当てられるデータのデータ送信又は受信を異なる物理インタフェース３００を通して独立に実行する。制御モジュール１０８はローカルシステム内のインタフェースで受信されるデータを併合する。また、制御モジュール１０８はアクティブ物理インタフェース３００により送信されるデータを分配する。システムのデータ送信レート及び受信レートは物理インタフェース３００のデータレートの和になる。
【００５５】
本発明によれば、物理インタフェース３００を経るデータの送信及び受信の生起は制御モジュール１０８のそれぞれの操作スレッド１１６に拘束される。物理インタフェース３００はそれらの特定のＩＰアドレス／インタフェース識別子に拘束される。それゆえ物理インタフェース３００によるデータの分配及び結合はアプリケーション層のみで生起する。
【００５６】
上記の提案のシステム１００は帯域幅アグリゲーションを実行するために如何なる特定のネットワーク構成も必要とせず、また帯域幅アグリゲーションを実行するために如何なるネットワークプロキシ又はコントローラも必要としない。更に、上記の提案のシステム１００はファイナルシステム／宛先ノードに（クライアントサーバ構成のような）如何なる対応モジュール／コンポーネント又はカウンタコンポーネントも必要とせず、サービスレベル合意も必要としない。上記の提案のシステム１００はアプリケーション層でランし、よってシステム統合が容易である。
【００５７】
図２は、本発明の種々の模範的実施例による、システム内の多数の通信リンクの帯域幅をアプリケーション層でアグリゲートする方法の流れ図を示す。提案の方法は、初期ステップ１０において、ルーティングテーブル更新装置によりコマンドを実行することによって、システム内の多数のアクティブ物理インタフェースが決定される。多数のアクティブインタフェースの決定後に、ステップ２０において、ルーティングテーブル更新装置を用いてルーティングテーブルを検索することによって、これらのインタフェースのＩＰアドレス及びそれらのゲートウェイのＩＰアドレスが決定される。次のステップ３０において、ルーティングテーブル更新装置を用いて、多数のアクティブ物理インタフェースの各々をそれらのゲートウェイと一緒にルーティングテーブルに加えることによってルーティングテーブルが更新される。次のステップ４０において、制御モジュールによって、多数のアクティブ物理インタフェースによる送信及び受信のためのデータの分配比がアクティブ物理インタフェースの所定のデータレートに基づいて決定される。次のステップ５０において、制御モジュールによって、アクティブ物理インタフェースの各々対して多数の操作スレッドが生成される。次のステップ６０において、制御モジュールによって、アクティブ物理インタフェースの各々がそれぞれの操作スレッドと結び付けられる。次のステップ７０において、データが送信のために多数のアクティブ物理インタフェースの各々に分配される。提案の方法の最終ステップ８０において、制御モジュールによって、多数のアクティブ物理インタフェースからのデータが同時に受信される。
【００５８】
本明細書においては本発明の特定の特徴に重点が置かれているが、多くの変更が可能であり、発明の原理から逸脱することなく多くの変更を好適な実施例に加えることができることはいうまでもない。本発明の本質又は好適実施例におけるこれらの及び他の変更は本明細書の開示内容から当業者に明白であり、よって上述の記載事項は本発明の単なる例示であって、限定として解釈されるべきでないことは明確に理解されたい。
【００５９】
発明の利点
本発明の技術的利点は、
(1)  （有線および無線の両方に適用可能な）外部ネットワークへの通信に対するシステムのデータレートを単一の物理インタフェースを用いるデータレートのｎ倍に高めるシステムを提供すること（ここで、ｎは類似のネットワークと通信する同じデータレート／帯域幅からなる物理インタフェースの数である）；
(2)  コンピュータシステムの多数の物理インタフェースのデータレート／帯域幅をアグリゲートし得るシステムを提供すること、即ちデータレートb1,b2,...bnを有するｎ個のインタフェースがある場合、コンピュータシステムのデータレートをb1+b2+...bn、即ちΣbi（ここでi=1~n）にすること；
(3)  データを同時に多数の物理インタフェースを経て送信又は受信することができるシステムを提供すること；
(4)  データを同時に多数の物理インタフェースを経て送信又は受信することによってデータ操作の総操作時間を減少し得るシステムを提供すること；
(5)  ネットワーク層のルーティングテーブルへの書き加えを行う以外は、物理層、媒体アクセス制御（ＭＡＣ）層及び他の上位層の機能ブロック／機能を不変に維持したまま物理インタフェースのデータ転送及び受信パスをアセンブルするシステムを提供すること；
(6)  ＴＣＰ／ＩＰスタックのアプリケーションのみとインタフェースするだけでなく、データ転送及び受信レートをアグリゲートすることによって、動作中のコンピュータシステムの総帯域幅を増大するシステムを提供すること；
にある。
【図１】
0005633049.tif 000002
【図２】
0005633049.tif 000003