(57)【要約】ワイヤレスネットワークを介して移動通信デバイスからリモートサーバにデータを伝送するための方法が記載される。方法は、以下のステップを含む。標準的な信頼性のある通信プロトコルを使用して、移動通信デバイス上で実行されているアプリケーションからデータが伝送される。ワイヤレスネットワークを介してデータを伝送する前に、データの受信が承認され、それにより、アプリケーションに対して、リモートサーバによるデータの受信がシミュレートされる。中間通信プロトコルを使用して、移動通信デバイスからリモートサーバにデータが伝送される。この方法を実装する移動通信デバイスおよびシステムもまた記載される。【選択図】なし
2013535131.tif 000002
【特許請求の範囲】
【請求項１】
リモートサーバにデータを伝送するように構成される移動通信デバイスであって、
ワイヤレスネットワークを介して通信するためのワイヤレス通信インターフェースと、
コンピュータ可読命令を実行するためのプロセッサと、
前記コンピュータ可読命令を保存するためのメモリと、
を備え、前記コンピュータ可読命令は、
信頼性のある通信プロトコルを使用して、前記移動通信デバイス上で実行されているアプリケーションからデータを伝送し、
前記ワイヤレスネットワークを介して前記データを伝送する前に、クライアントプロトコルコントローラを通して前記データの受信を承認し、それにより、前記アプリケーションに対して、前記リモートサーバによる前記データの受信をシミュレートし、
中間通信プロトコルを使用して、前記移動通信デバイスから前記リモートサーバにデータを伝送するように動作可能である、移動通信デバイス。
【請求項２】
前記中間通信プロトコルは、前記ワイヤレスネットワーク用にカスタマイズされている、請求項１に記載の移動通信デバイス。
【請求項３】
データを同時に伝送するための複数の通信インターフェースをさらに備え、各通信インターフェースは、異なるネットワークパスを介してデータを伝送するように構成される、請求項１に記載の移動通信デバイス。
【請求項４】
前記中間通信プロトコルは、前記複数の通信インターフェースを通して同時にデータを伝送するために構成される、請求項３に記載の移動通信デバイス。
【請求項５】
前記中間通信プロトコルは、信頼性のある伝送プロトコルである、請求項３に記載の移動通信デバイス。
【請求項６】
前記クライアントプロトコルコントローラは、移動通信デバイス上に実装される、請求項１に記載の移動通信デバイス。
【請求項７】
前記クライアントプロトコルコントローラは、クライアント側デバイス上に実装され、前記データの受信を承認するために、前記移動通信デバイスに承認メッセージが伝送される、請求項１に記載の移動通信デバイス。
【請求項８】
ワイヤレスネットワークを介して移動通信デバイスからリモートサーバにデータを伝送するための方法であって、
標準的な信頼性のある通信プロトコルを使用して、前記移動通信デバイス上で実行されているアプリケーションからデータを伝送することと、
前記ワイヤレスネットワークを介して前記データを伝送する前に、前記データの受信を承認し、それにより、前記アプリケーションに対して、前記リモートサーバによる前記データの受信をシミュレートすることと、
中間通信プロトコルを使用して、前記移動通信デバイスから前記リモートサーバにデータを伝送することと、
を含む方法。
【請求項９】
前記中間通信プロトコルは、前記ワイヤレスネットワーク用にカスタマイズされている、請求項８に記載の方法。
【請求項１０】
前記データは、複数の通信インターフェースを介して同時に伝送され、前記複数の通信インターフェースのそれぞれは、異なるネットワークパスを介してデータを伝送するように構成される、請求項８に記載の方法。
【請求項１１】
前記中間通信プロトコルは、前記複数の通信インターフェースを通して同時にデータを伝送するために構成される、請求項１０に記載の方法。
【請求項１２】
前記中間通信プロトコルは、信頼性のある伝送プロトコルである、請求項１０に記載の方法。
【請求項１３】
前記移動通信デバイスから前記リモートサーバに前記データを伝送する前記ステップは、前記中間通信プロトコルを使用して、プロキシサーバに前記データを伝送することと、規定の信頼性のあるプロトコルを使用して、前記プロキシサーバから前記リモートサーバに前記データを伝送することとを含む、請求項８に記載の方法。
【請求項１４】
前記規定の信頼性のあるプロトコルは、前記標準的な信頼性のある通信プロトコルである、請求項１３に記載の方法。
【請求項１５】
前記標準的な信頼性のある通信プロトコルは、伝送制御プロトコル（ＴＣＰ）である、請求項１４に記載の方法。
【請求項１６】
前記データの受信を承認する前記ステップは、前記移動通信デバイスにより実行される、請求項８に記載の方法。
【請求項１７】
前記データの受信を承認する前記ステップは、前記移動通信デバイスと通信しているクライアント側デバイスにより実行される、請求項８に記載の方法。
【請求項１８】
移動通信デバイスとリモートサーバとの間でプロキシサーバを通してデータを交換するように構成されるシステムであって、
前記リモートサーバは、信頼性のある伝送プロトコルを使用して通信するように構成され、
前記移動通信デバイスは、
ワイヤレスネットワークを介して通信するためのワイヤレス通信インターフェースと、
コンピュータ可読命令を実行するためのプロセッサと、
前記コンピュータ可読命令を保存するためのメモリと、を備え、
前記コンピュータ可読命令は、
標準的な信頼性のある通信プロトコルを使用して、アプリケーションとクライアントプロトコルコントローラとの間でデータを交換し、
中間通信プロトコルを使用して、前記プロキシサーバと前記データを交換する
ように動作可能であり、
前記プロキシサーバは、
前記ワイヤレスネットワークを介して通信するための通信インターフェースと、
コンピュータ可読命令を実行するためのプロセッサと、
前記コンピュータ可読命令を保存するためのメモリと、を備え、
前記コンピュータ可読命令は、
前記中間通信プロトコルを使用して、前記移動通信デバイスと前記データを交換し、
前記標準的な信頼性のある通信プロトコルを使用して、前記サーバプロトコルコントローラを通して前記リモートサーバと前記データを交換する
ように動作可能である、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、移動通信デバイスとサーバとの間の通信に関し、具体的には、特にワイヤレスデバイスが２つ以上の異なる通信インターフェースを使用している場合に、ワイヤレスデバイスとサーバとの間の改善された通信を提供するように通信プロトコルを構成することに関する。本出願は、２０１０年６月９日出願の米国仮特許出願第６１／３５２，９８０号からの優先権を主張する。
【背景技術】
【０００２】
インターネット、移動通信デバイスおよびワイヤレスネットワークの急増により、データおよび音声信号を無線で伝送することができる通信デバイスが広範に使用されるようになった。製造されているほとんどの通信デバイスは、データを伝送するための少なくとも２つの異なるワイヤレス技術、すなわちワイヤレス広域ネットワーク（ＷＷＡＮ）技術およびワイヤレスローカルエリアネットワーク（ＷＬＡＮ）技術を提供する。
【０００３】
ＷＷＡＮの例は、携帯電話技術である。最初に、携帯電話サービスプロバイダは、既に確立したインフラストラクチャに応じて異なるデータパケット無線技術を提供した。例えば、符号分割多重アクセス（ＣＤＭＡ）インフラストラクチャ上で動作している携帯電話サービスプロバイダは、データパケット転送を提供するために進化−データ最適化（ＥＶ−ＤＯ）を導入した。グローバル・システム・フォー・モバイル通信（ＧＳＭ（登録商標））インフラストラクチャ上で動作している携帯電話プロバイダは、データパケット転送を提供するために汎用パケット無線サービス（ＧＰＲＳ）を導入した。現在、ＧＳＭ（登録商標）およびＣＤＭＡインフラストラクチャは、３Ｇ規格を実行している。しかしながら、技術が進化するに従い、ほとんどの携帯電話サービスプロバイダは、ロング・ターム・エボリューション（ＬＴＥ）と呼ばれる第４世代の無線技術に向かって動いているようである。携帯電話技術は進展および進化し続けるものと予測される。しかしながら、携帯電話技術はまだ比較的未発達段階であり、帯域幅へのアクセスは、まだ比較的高価で遅い。
【０００４】
ＷＬＡＮの例は、Ｗｉ−Ｆｉアライアンスにより開発されたＷｉ−Ｆｉである。Ｗｉ−Ｆｉにより、ローカルエリアネットワーク（ＬＡＮ）をクライアントデバイスへ線なしに配備することが可能であり、典型的にはネットワーク配備および拡張のコストが削減される。屋外エリアおよび歴史的建造物等のケーブルを実行することができない空間は、ＷＬＡＮをホストすることが出来る。したがって、ノートブックコンピュータ、ビデオゲーム機、携帯電話および無線携帯端末等の可搬式デバイスは、インターネットに接続されたＷＬＡＮの範囲内にある場合、インターネットに接続することができる。Ｗｉ−Ｆｉの使用は、典型的には、帯域幅への比較的安価なアクセスを提供する。しかしながら、Ｗｉ−Ｆｉネットワークは、範囲が限定されている。
【０００５】
したがって、通信デバイスの性能は、ＷＷＡＮおよびＷＬＡＮを含む複数の通信インターフェースを同時に使用して通信できるようにすることにより、改善することができる。したがって、通信デバイスに利用可能な帯域幅は、一度に１つだけの通信インターフェースを使用した場合に比べて増加する。そのような解決策の例は、ＰＣＴ公開第ＷＯ／２０１０／０６３１１９号、名称「ＭＵＬＴＩ−ＴＲＡＮＳＰＯＲＴ  ＭＯＤＥ  ＤＥＶＩＣＥＳ  ＨＡＶＩＮＧ  ＩＭＰＲＯＶＥＤ  ＤＡＴＡ  ＴＨＲＯＵＧＨＰＵＴ」に記載されている。
【０００６】
通信デバイス上で実行されるアプリケーションは、信頼性のあるプロトコル、例えば伝送制御プロトコル（ＴＣＰ）を使用して、データパケットをサーバに伝達する。ＴＣＰを使用することの利点の１つは、自動的に問題を検出し、それに応じて伝送速度を調節することができることである。例えば、従来のＴＣＰは、落ちたデータパケットを検出した際に伝送速度を低減するネットワーク輻輳アルゴリズムを実装する。データパケットが落ちることなしに伝送が継続すると、最大速度または次の落ちたパケットが検出されるまで、伝送速度は徐々に増加する。
【０００７】
ＴＣＰは、有線ネットワークには良好に機能するが、ワイヤレスネットワークでは、ネットワーク輻輳以外の理由でデータパケットが落ちることが多い。しかし、それにもかかわらず、このようにデータパケットが落ちることにより、ネットワーク上に輻輳が存在しない可能性がある場合でも、ＴＣＰ輻輳制御アルゴリズムが発動する。これは、データパケットの転送の不要な遅速化をもたらし、これは望ましくない。
【０００８】
この問題を克服するために、間接ＴＣＰと呼ばれるスキームが提案されており、Ａｊａｙ  ＢａｋｒｅおよびＢ．  Ｒ．  Ｂａｄｒｉｎａｔｈ，  「Ｉ−ＴＣＰ：  Ｉｎｄｉｒｅｃｔ  ＴＣＰ  ｆｏｒ  ｍｏｂｉｌｅ  ｈｏｓｔｓ，  １９９５」に記載されている。しかしながら、間接ＴＣＰの解決策は、単一通信インターフェースを介したワイヤレス通信に対して提案されている。複数の異なる通信インターフェースを介して通信する通信デバイスに対しては、間接ＴＣＰは、複数のインターフェースを使用して並行してデータを伝送することができないため、不十分である。
【０００９】
したがって、本発明の目的は、上述の欠点の少なくともいくつかを防ぐ、または軽減することである。
【発明の概要】
【００１０】
本発明の一態様によれば、リモートサーバにデータを伝送するように構成される移動通信デバイスであって、ワイヤレスネットワークを介して通信するためのワイヤレス通信インターフェースと、コンピュータ可読命令を実行するためのプロセッサと、コンピュータ可読命令を保存するためのメモリと、を備え、コンピュータ可読命令は、信頼性のある通信プロトコルを使用して、移動通信デバイス上で実行されているアプリケーションからデータを伝送し、ワイヤレスネットワークを介してデータを伝送する前に、クライアントプロトコルコントローラを通してデータの受信を承認し、それにより、アプリケーションに対して、リモートサーバによるデータの受信をシミュレートし、中間通信プロトコルを使用して、移動通信デバイスからリモートサーバにデータを伝送するように動作可能である、移動通信デバイスが提供される。
【００１１】
本発明のさらなる態様によれば、ワイヤレスネットワークを介して移動通信デバイスからリモートサーバにデータを伝送するための方法であって、標準的な信頼性のある通信プロトコルを使用して、移動通信デバイス上で実行されているアプリケーションからデータを伝送するステップと、ワイヤレスネットワークを介してデータを伝送する前に、データの受信を承認し、それにより、アプリケーションに対して、リモートサーバによるデータの受信をシミュレートするステップと、中間通信プロトコルを使用して、移動通信デバイスからリモートサーバにデータを伝送するステップと、を含む方法が提供される。
【００１２】
本発明のさらなる態様によれば、移動通信デバイスとリモートサーバとの間でプロキシサーバを通してデータを交換するように構成されるシステムであって、リモートサーバは、信頼性のある伝送プロトコルを使用して通信するように構成され、移動通信デバイスは、ワイヤレスネットワークを介して通信するためのワイヤレス通信インターフェースと、コンピュータ可読命令を実行するためのプロセッサと、コンピュータ可読命令を保存するためのメモリと、を備え、該コンピュータ可読命令は、標準的な信頼性のある通信プロトコルを使用して、アプリケーションとクライアントプロトコルコントローラとの間でデータを交換し、中間通信プロトコルを使用して、プロキシサーバとデータを交換するように動作可能であり、プロキシサーバは、ワイヤレスネットワークを介して通信するための通信インターフェースと、コンピュータ可読命令を実行するためのプロセッサと、コンピュータ可読命令を保存するためのメモリと、を備え、該コンピュータ可読命令は、中間通信プロトコルを使用して、移動通信デバイスとデータを交換し、標準的な信頼性のある通信プロトコルを使用して、サーバプロトコルコントローラを通してリモートサーバとデータを交換するように動作可能である、システムが提供される。
【図面の簡単な説明】
【００１３】
ここで、例示のみを目的として、以下の図面を参照しながら本発明の実施形態を説明する。
【図１】本発明の実施形態によるネットワークのブロック図である。
【図２】図１におけるネットワークの要素をより詳細に示すさらなるブロック図である。
【図３】移動通信デバイスからリモートサーバにデータを伝送するために行われるステップを示すフローチャートである。
【図４】リモートサーバから移動通信デバイスにデータを伝送するために行われるステップを示すフローチャートである。
【発明を実施するための形態】
【００１４】
利便性のために、説明における同様の番号は、図面において同様の構造を指す。図１を参照すると、本発明の実施形態によるネットワークを示すブロック図が、番号１００により概略的に示されている。
【００１５】
ネットワーク１００は、移動通信デバイス１１０、通信ネットワーク１０４、プロキシサーバ１４０およびリモートサーバ１６０を含む。移動通信デバイス１１０およびリモートサーバ１６０は、両方とも、伝送制御プロトコル（ＴＣＰ）等の標準的な信頼できるデータ伝送プロトコルを実装するように構成される。
【００１６】
当該技術分野において知られているように、通信ネットワーク１０４は、実装に応じて異なる構成で複数の異なるコンポーネントを備える。説明を容易とすることのみを目的として、本実施形態において、通信ネットワーク１０４は、ＷＷＡＮ  １０４ａ、ＷＬＡＮ  １０４ｂ、およびＷＡＮ  １０４ｃを含む。ＷＷＡＮ  １０４ａは、携帯電話ネットワークを介して通信するための携帯電話基地局である。当該技術分野において知られているように、携帯電話基地局１０４ａは、ＧＳＭ（登録商標）ベース高速パケットアクセス（ＨＳＰＡ）等のデータパケットサービスを提供する。ＷＬＡＮ  １０４ｂは、Ｗｉ−Ｆｉアクセスポイントである。当該技術において知られているように、Ｗｉ−Ｆｉアクセスポイント１０４ｂは、電気電子学会（ＩＥＥＥ）  ８０２．１１規格に基づくワイヤレス通信を提供する。ＷＡＮ  １０４ｃは、ワイヤレス通信デバイス１１０に近接したモデムおよび／またはルータ１０７により提供される接続性を有する、デジタル加入者回線（ＤＳＬ）またはケーブルネットワークであってもよい。
【００１７】
実装に応じて、異なるネットワーク構成を使用することができ、また異なるＷＷＡＮ  １０４ａおよびＷＬＡＮ  １０４ｂが同時に移動通信デバイスに利用可能となり得ることが、当業者に理解される。同様に、他のＷＡＮ  １０４ｃ、例えばイントラネットまたは他の既知のもしくは独占ネットワークもまた、移動通信デバイスに利用可能であってもよい。通信ネットワーク１０４はまた、ＷＷＡＮ  １０４ａ、ＷＬＡＮ  １０４ｂおよびＷＡＮ  １０４ｃの間の通信を促進するために、例えばインターネット等の公衆ネットワーク１２０を含んでもよい。
【００１８】
図２を参照すると、図１に示される移動通信デバイス１１０およびプロキシサーバ１４０のより詳細な図が、番号２００により概略的に示されている。
【００１９】
示されるように、移動通信デバイス１１０は、１つ以上のアプリケーション２０２、ＴＣＰレイヤ２０４、非ＴＣＰレイヤ２０６、インターネットプロトコル（ＩＰ）レイヤ２０７、ＴＣＰコントローラ２０８、スケジューラ２１０、バッファ２１２および１つ以上の通信インターフェース２１４を含む。バッファは、伝送バッファ２１２ａおよび受信バッファ２１２ｂを備える。通信インターフェース２１４は、ＨＳＰＡインターフェース２１４ａおよびＷｉ−Ｆｉインターフェース２１４ｂを含む。ＴＣＰコントローラ２０８は、後述するように、１つのプロトコルを使用したアプリケーション２０２との通信、および別のプロトコルを使用したプロキシサーバ１４０との通信を促進する、クライアントプロトコルコントローラである。
【００２０】
プロキシサーバ１４０は、ＴＣＰコントローラ２４２、スケジューラ２４４、バッファ２４６、ＩＰレイヤ２４８および複数のインターフェース２５０を含む。バッファ２４６は、伝送バッファ２４６ａおよび受信バッファ２４６ｂを含む。ＴＣＰコントローラ２４２は、後述するように、１つのプロトコルを使用した移動通信デバイス１１０との通信、および別のプロトコルを使用したリモートサーバ１４０との通信を促進する、サーバプロトコルコントローラである。複数のインターフェース２５０は、仮想インターフェースであってもよく、プロキシサーバ１４０は、通信ネットワーク１０４に対するわずか１つの物理インターフェースを有してもよい。
【００２１】
移動通信デバイス１１０およびプロキシサーバ１４０のコンポーネントのそれぞれは、説明を容易とするために別個に示されている。実際には、これらのコンポーネントの多くは、当業者に理解されるように、一緒に実装されてもよい。したがって、コンポーネントの１つに帰属する以下で説明される機能性のいくつかは、実際にはコンポーネントの別の１つにより実装されてもよい。例えば、ＴＣＰコントローラ２０８により実行されるものとして説明されるいくつかのステップはまた、本発明から逸脱することなく、スケジューラ２１０により実行されてもよい。
【００２２】
図３を参照すると、データがＴＣＰを使用してアプリケーション２０２からリモートサーバ１６０に伝達される様子を示すフローチャートが、番号３００により概略的に示されている。ステップ３０２において、アプリケーション２０２は、データを当該技術において標準的であるＩＰパケットに分割することにより、データを伝送するように準備する。すなわち、アプリケーション２０２は、移動通信デバイス１１０により提供されるＴＣＰレイヤ２０４にデータを伝送する。ＴＣＰレイヤ２０４は、データをＴＣＰセグメントに分け、各ＴＣＰセグメントをＩＰレイヤ２０７にフォワードする。ＩＰレイヤ２０７は、宛先ＩＰアドレスを含むヘッダを追加することにより、各ＴＣＰセグメントをＩＰパケットにカプセル化する。
【００２３】
ステップ３０４において、ＩＰレイヤ２０７は、仮想インターフェースを介してＩＰパケットをＴＣＰコントローラ２０８に伝送する。ステップ３０６において、ＴＣＰコントローラ２０８は、ＩＰパケットをカプセル除去し、データを伝送バッファ２１２ａに保存する。ＴＣＰコントローラ２０８はまた、仮想インターフェースを使用して、ＴＣＰ承認信号（ＴＣＰ  ＡＣＫ）をＴＣＰレイヤ２０４に送信する。したがって、ＴＣＰレイヤ２０４にとっては、ＩＰパケットはリモートサーバ１６０に送達されたように見え、ＴＣＰレイヤ２０４は、リモートサーバ１６０からのＴＣＰ承認信号（ＴＣＰ  ＡＣＫ）に対し普通反応する様に反応する。ステップ３０８において、スケジューラ２１０は、規定のスケジューリングアルゴリズムに基づき、移動通信デバイス１１０からプロキシサーバ１４０にデータを伝送する。ワイヤレス通信デバイス１１０とプロキシとの間でデータを伝送するために、中間通信プロトコルと呼ばれる通信プロトコルが使用される。中間通信プロトコルは、本明細書において後述される。
【００２４】
ＴＣＰレイヤ２０４とＴＣＰコントローラ２０８との間の伝送は、ＴＣＰフロー制御を使用して調整することができる。すなわち、ＴＣＰコントローラ２０８は、伝送バッファ２１２ａに保存されたデータの量を監視し、それに応じてバッファサイズアドバタイズメントを送信する。したがって、ＴＣＰコントローラは、伝送バッファ２１２ａにおける利用可能なスペースを監視し、規定のアドバタイズ閾値に達したら、バッファサイズアドバタイズメントの送信を開始する。ＴＣＰレイヤ２０４は、バッファサイズアドバタイズメントの受信を開始したら、アドバタイズメントにおいて指定されたデータの量のみを伝送し、さらにデータを送信する前に、ＴＣＰコントローラ２０８からのさらなる更新を待つ。バッファサイズアドバタイズメントは、伝送バッファ２１２ａにおけるデータの量が規定の保持閾値に達すると、ゼロに設定され得る。規定の保持閾値は、伝送バッファ２１２ａの最大容量であってもよく、または、そのオーバーフローを制限するために、伝送バッファ２１２ａの最大容量未満の値であってもよい。
【００２５】
ＴＣＰレイヤ２０４は、一時的にその伝送を休止したが、スケジューラ２１０は、データをプロキシサーバ１４０に伝送し続ける。したがって、伝送バッファ２１２ａにおける利用可能なスペースが増加する。したがって、ＴＣＰコントローラ２０８は、伝送バッファ２１２ａにおいて利用可能なスペースを監視し、それに応じてバッファサイズアドバタイズメントを送信する。伝送バッファ２１２ａにおける利用可能なスペースが増加すると、ＴＣＰレイヤ２０４からＴＣＰコントローラ２０８へのデータの伝送速度が増加する。伝送バッファ２１２ａがフルになっているためにバッファサイズアドバタイズメントのサイズが低下するまで、または、最大伝送速度に達するまで、伝送速度は増加する。
【００２６】
したがって、バッファサイズアドバタイズメントは、伝送バッファ２１２ａに保存されたデータの量を制御するために使用される。したがって、ＴＣＰコントローラ２０８は、所望の最大量のデータがバッファされるまで、バッファサイズアドバタイズメントを適切に設定することによりＴＣＰレイヤ２０４プロトコルから規定数のデータセグメントを「引き出す」ことができる。所望の最大量のデータが伝送バッファ２１２ａに記憶されたら、バッファサイズアドバタイズメントはゼロに設定され得、ＴＣＰレイヤ２０４はデータの送信を停止する。
【００２７】
ＴＣＰ承認信号（ＴＣＰ  ＡＣＫ）は、実際のＴＣＰパケットがリモートサーバ１６０により受信される前にＴＣＰレイヤにより受信されるため、厳密に言えば、提案される解決策はＴＣＰ動作に違反する。しかしながら、本実施形態において、ネットワーク１００は、この違反の事実上の影響を最小化するように設計されている。したがって、ＴＣＰコントローラ１１４がＴＣＰ承認信号（ＴＣＰ  ＡＣＫ）をＴＣＰレイヤに送信する際、ＴＣＰレイヤはその送達の責任を引き継ぐ。この機能を促進するために、ＴＣＰの信頼性を維持することが望ましい場合、ワイヤレス通信デバイス１１０とプロキシサーバ１４０との間でデータを伝送するために使用される通信プロトコルは、特に、信頼性メカニズムを含む。
【００２８】
したがって、ステップ３０８において、スケジューラ２１０は、中間通信プロトコルに従って伝送バッファ２１２ａからのデータをカプセル化し、規定のスケジューリングアルゴリズムに基づき、プロキシサーバ１４０にデータを伝送する。信頼性を促進するために、プロキシサーバ１４０に到達しなかった場合のために、データのコピーが伝送バッファ２１２ａに保持される。
【００２９】
ステップ３１０において、カプセル化されたデータの受信後、プロキシサーバ１４０は、データをカプセル除去し、受信バッファ２４６ｂに保存する。プロキシサーバ１４０はまた、移動通信デバイス１１０に承認信号を送信する。ステップ３１２において、プロキシサーバ１４０からの承認信号の受信後、ＴＣＰコントローラ２０８は、伝送バッファ２１２ａから対応するデータを削除する。ＴＣＰコントローラ２０８は、プロキシサーバ１４０へのＩＰパケットの安全な送達を確実にするための義務を果たした。一方、プロキシサーバ１４０は、リモートサーバ１６０にデータを送達するための責任を負う。
【００３０】
ステップ３１２において、プロキシサーバ１４０は、受信バッファ２４６ｂに保存されたデータを、標準的ＴＣＰを使用してリモートサーバ１６０に伝送する。
【００３１】
したがって、ネットワーク１００は、従来のＴＣＰ挙動が良好に機能するプロキシサーバ１４０とリモートサーバ１６０との間の有線ネットワークと、従来のＴＣＰ挙動が改善され得る移動通信デバイス１１０とプロキシサーバ１４０との間のネットワークのワイヤレス部分とを効果的に分離する。さらに、ネットワーク１００は、データパケットが複数の異なる通信ネットワーク１０４を介して伝送され得るという事実を隠す。例えば、説明されるように、アプリケーション２０２とＴＣＰコントローラ２０８との間の通信は、ＴＣＰを使用して行われる。同様に、リモートサーバ１６０とプロキシサーバ１４０との間の通信は、ＴＣＰを使用して行われる。この構成は、中間通信プロトコルとしてＴＣＰを使用する要件を効果的に排除する。これにより、データパケットが複数の異なる通信ネットワーク１０４を介して伝送されているという事実を考慮することができる、新たな改善されたプロトコルを開発することができる。新たなプロトコルはこの目的に特定して設計され得るため、移動通信デバイス１１０とプロキシサーバ１４０との間の通信がより効率的に行われ得ることが予想される。
【００３２】
ＴＣＰの信頼性保証を満たすことが必要な場合または所望される場合は、信頼性プロトコルは、必要に応じてデータパケットを承認および伝送することができるべきである。移動通信に関連した問題により良く対処するために、新たなプロトコルはまた、輻輳によるデータパケット損失とワイヤレス問題によるデータパケット損失とを区別するメカニズムを使用すべきである。そのようなメカニズムの例は、Ｓａｖｅｒｉｏ  Ｍａｓｃｏｌｏ，  Ｃｌａｕｄｉｏ  Ｃａｓｅｔｔｉ，  Ｍａｒｉｏ  Ｇｅｒｌａ，  Ｍ．  Ｙ．  Ｓａｎａｄｉｄｉ，  ａｎｄ  Ｒｅｎ  Ｗａｎｇ，  「ＴＣＰ  Ｗｅｓｔｗｏｏｄ：  Ｂａｎｄｗｉｄｔｈ  ｅｓｔｉｍａｔｉｏｎ  ｆｏｒ  ｅｎｈａｎｃｅｄ  ｔｒａｎｓｐｏｒｔ  ｏｖｅｒ  ｗｉｒｅｌｅｓｓ  ｌｉｎｋｓ」，  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｍｏｂｉｌｅ  Ｃｏｍｐｕｔｉｎｇ  ａｎｄ  Ｎｅｔｗｏｒｋｉｎｇ，  ２００１に詳細に記載されるＴＣＰ  Ｗｅｓｔｗｏｏｄ、ならびにＬｕｉｇｉ  Ａｌｆｒｅｄｏ  Ｇｒｉｅｃｏ  ａｎｄ  Ｓａｖｅｒｉｏ  Ｍａｓｃｏｌｏ，  「Ｅｎｄ−ｔｏ−Ｅｎｄ  Ｂａｎｄｗｉｄｔｈ  Ｅｓｔｉｍａｔｉｏｎ  ｆｏｒ  Ｃｏｎｇｅｓｔｉｏｎ  Ｃｏｎｔｒｏｌ  ｉｎ  Ｐａｃｋｅｔ  Ｎｅｔｗｏｒｋｓ」，  ２００３に詳細に記載されるＴＣＰ  Ｗｅｓｔｗｏｏｄ＋に見出すことができる。輻輳制御メカニズムもまた使用されるべきであり、またそれが、通常のＴＣＰフローが他のＴＣＰフローに影響を与えるレベルを超えて、ネットワーク内の他の既存のＴＣＰフローに悪影響を及ぼさないことが検証されるべきである。さらに、新たなプロトコルは、他の全ての非ＴＣＰのＩＰパケット型を伝送するスケジューラ２１０の部分と統合される必要がある。
【００３３】
中間通信プロトコルは、完全に新しい通信プロトコルであってもよく、または、既存のプロトコルの拡張として開発されてもよい。例えば、中間通信プロトコルは、ＴＣＰ、ストリーム制御伝送プロトコル（ＳＣＴＰ）、ユーザデータグラムプロトコル（ＵＤＰ）または他の既知のもしくは独占プロトコルに基づいてもよい。本実施形態において、中間通信プロトコルは、トランスポートプロトコルとしてＵＤＰを使用する。しかしながら、制御のため、および信頼性保証を満たすために、カスタムヘッダが追加される。
【００３４】
しかしながら、移動通信デバイス１１０とプロキシサーバ１４０との間でデータを伝送するための通信プロトコルの詳細は、本発明の範囲外であることに留意されたい。請求される本発明から逸脱せずに、いかなる数の既知の、または独占通信プロトコルでも、様々な成功度をもって使用することができる。
【００３５】
上述のように、クライアント側では、ＴＣＰは、移動通信デバイス１１０上のアプリケーション２０２と、同じ移動通信デバイス１１０上のＴＣＰコントローラ２０８との間の通信に使用される。サーバ側では、ＴＣＰは、プロキシサーバ１４０とリモートサーバ１６０との間の通信に使用される。プロキシサーバ１４０および移動通信デバイス１１０は、アプリケーション２０２およびリモートサーバ１０６の両方に透過的な中間伝送プロトコル（新たなプロトコルか既存のプロトコルへの修正かに関わらない）を使用して自由に通信する。この実施形態は、最適な信頼性のあるプロトコルとしてＴＣＰを使用する、および使用し続けるであろう多くのレガシーリモートサーバ１０６に特に有用である。しかしながら、移動通信デバイス１１０とプロキシサーバ１４０との間の通信に使用されるプロトコルの選択、およびリモートサーバ１６０の能力に依存して、プロキシサーバ１４０がデータの伝送の責任を負う必要はなくてもよい。
【００３６】
例えば、中間通信プロトコルがＴＣＰベースのプロトコルである場合、プロキシサーバ１４０は、伝送の責任を負うことなく、ＩＰパケットをリモートサーバ１６０にルーティングすることができてもよい。すなわち、移動通信デバイス１１０上のアプリケーション２０２と、同じ移動通信デバイス１１０上のＴＣＰコントローラ２０８との間で通信する為の、クライアント側のＴＣＰの使用が維持される。しかしながら、ＴＣＰコントローラ２０８は、中間としてプロキシサーバ１４０を使用してリモートサーバ１６０と通信するためにＴＣＰベース通信プロトコルを使用する。リモートサーバ１６０は、プロキシサーバ１４０を通して、承認メッセージＡＣＫをＴＣＰコントローラ２０８に伝送する。しかしながら、この例では、プロキシサーバ１４０は中間ノードとしてのみ機能し、受信する任意のＩＰパケットを送達する責任を有さない。
【００３７】
別の例として、中間通信プロトコルは、非ＴＣＰベースであり、リモートサーバ１６０は、それに適合するプロトコルを使用して通信するように変更され、次いで、プロキシサーバ１４０は、伝送の責任を負うことなくＩＰパケットをリモートサーバ１６０にルーティングすることが可能となり得る。以前の例と同様に、ワイヤレス通信デバイス１１０上のアプリケーション２０２と、同じ移動通信デバイス１１０上のＴＣＰコントローラ２０８との間の通信のための、クライアント側のＴＣＰの使用が維持される。しかしながら、ＴＣＰコントローラ２０８は、中間としてプロキシサーバ１４０を使用してリモートサーバ１６０と通信するために非ＴＣＰベース通信プロトコルを使用する。リモートサーバ１６０は、プロキシサーバ１４０を通して、新たな通信プロトコルにより定義されるように、承認メッセージをＴＣＰコントローラ２０８に伝送する。したがって、この例では、プロキシサーバ１４０は中間ノードとしてのみ機能し、受信する任意のパケットを送達する責任を有さない。
【００３８】
上記の例の両方において、実装に応じて、プロキシサーバ１４０は全く必要とされなくてもよい。
【００３９】
図４を参照すると、データがＴＣＰを使用してリモートサーバ１６０からアプリケーション２０２に伝達される様子を示すフローチャートが、番号４００により概略的に示されている。ステップ４０２において、リモートサーバ１６０は、データを当該技術において標準的であるＩＰパケットに分割することにより、データを伝送するように準備する。すなわち、リモートサーバ１６０は、データをＴＣＰレイヤ（図示せず）に伝送し、これがデータをＴＣＰセグメントに分け、各ＴＣＰセグメントをＩＰレイヤ（図示せず）にフォワードする。ＩＰレイヤは、宛先ＩＰアドレスを含むヘッダを追加することにより、各ＴＣＰセグメントをＩＰパケットにカプセル化する。
【００４０】
ステップ４０４において、リモートサーバ１６０におけるＩＰレイヤは、通信ネットワーク１０４を通して、ＩＰパケットをプロキシサーバ１４０におけるＴＣＰコントローラ２４２に伝送する。通常、伝送は、通信ネットワーク１０４の有線部分を介する。ステップ４０６において、ＴＣＰコントローラ２４２は、ＩＰパケットからのＴＣＰパケットをカプセル除去し、ＴＣＰパケットからのデータをカプセル除去する。カプセル除去されたデータは、伝送バッファ２４６ａに保存され、ＴＣＰ承認パケット（ＴＣＰ  ＡＣＫ）は、リモートサーバ１６０に送信される。したがって、リモートサーバ１６０にとっては、ＴＣＰパケットは移動通信デバイス１１０に送達されたように見え、リモートサーバ１６０は、ＴＣＰ承認パケット（ＴＣＰ  ＡＣＫ）に対し普通反応する様に反応する。
【００４１】
ステップ４０８において、スケジューラ２４４は、規定のスケジューリングアルゴリズムに基づき、プロキシサーバ１４０から移動通信デバイス１１０にデータを伝送する。プロキシサーバ１４０におけるスケジューラ２４４上で実行されるスケジューリングアルゴリズムは、移動通信デバイス１１０におけるスケジューラ２１０上で実行されるスケジューリングアルゴリズムと同じであってもよく、または同じでなくてもよい。信頼性を促進するために、移動通信デバイス１１０に到達しなかった場合のために、データのコピーが伝送バッファ２４６ａに保持される。
【００４２】
ステップ４１０において、ＩＰパケットの受信後、移動通信デバイス１１０は、それを受信バッファ２１２ｂに保存し、承認信号ＡＣＫをプロキシサーバ２４０に送信する。ステップ４１２において、移動通信デバイスからの承認信号ＡＣＫの受信後、ＴＣＰコントローラ２４２は、伝送バッファ２４６ａから対応するデータを削除する。ＴＣＰコントローラ２４２は、移動通信デバイスへのデータの安全な送達を確実にするための義務を果たした。一方、移動通信デバイス１１０におけるＴＣＰコントローラ２０８は、アプリケーション２０２にデータを送達するための責任を負う。
【００４３】
ステップ４１２において、ＴＣＰコントローラ２０８は、受信バッファ２１２ｂに保存されたデータを、標準的ＴＣＰを使用してアプリケーション２０２に伝送することができる。
【００４４】
したがって、上記実施形態の１つを使用したシステムを実装することにより、ワイヤレスの問題に関連したデータパケット損失により良く反応する改善されたＴＣＰアルゴリズムを使用することだけでなく、複数のインターフェースおよびワイヤレスパケット損失に明確に対処するように設計された完全に異なるプロトコルを使用することが可能となる。
【００４５】
さらに、上述の実施形態は、通信プロトコルとしてＴＣＰを具体的に挙げているが、本発明は、データのワイヤレス転送および複数の通信インターフェースを介したデータの転送には信頼性メカニズムの反応が不十分である他のプロトコルに対して適用されてもよい。
【００４６】
代替の実施形態によれば、ＴＣＰコントローラ２０８、バッファ２１２およびスケジューラ２１０は、移動通信デバイス１１０とは別個のデバイス上に実装されてもよい。例えば、それらは、移動通信デバイス１１０の外部であるが、それと同じ側の通信ネットワーク１０４上にあるルータまたはモデム上に実装されてもよい。
【００４７】
上記明細を使用して、本発明は、プログラミングソフトウェア、ファームウェア、ハードウェアまたはそれらの任意の組合せを製造するための標準的なプログラミングおよび／または工学的技術を使用することにより、機械、プロセスまたは製造品として実装されてもよい。
【００４８】
コンピュータ可読命令を有する任意の得られるプログラム（複数を含む）は、メモリデバイスまたは伝送デバイス等の１つ以上のコンピュータが使用できる媒体内に保存され、それにより本発明によるコンピュータプログラム製品または製造品が作製されてもよい。したがって、「ソフトウェア」および「アプリケーション」という用語は、本明細書において使用される場合、プロセッサにより実行される、任意のメモリデバイス上または任意の伝送デバイス内等の任意のコンピュータ可読媒体上の命令として存在するコンピュータプログラムを包含することを意図する。
【００４９】
メモリデバイスの例は、ハードディスクドライブ、ディスケット、光学ディスク、磁気テープ、半導体メモリ、例えばＦＬＡＳＨ、ＲＡＭ、ＲＯＭ、ＰＲＯＭＳ等を含む。ネットワークの例は、インターネット、イントラネット、電話／モデムベースネットワーク通信、配線接続／ケーブル通信ネットワーク、携帯電話通信、電波通信、衛星通信、および他の固定または移動ネットワークシステム／通信リンクを含むが、これらに限定されない。
【００５０】
本発明を使用する機械は、例えば、特許請求の範囲に記載される本発明を具現化する、ＣＰＵ、メモリ／記憶デバイス、通信リンク、通信／伝送デバイス、サーバ、Ｉ／Ｏデバイスを含む１つ以上の処理システム、あるいは、ソフトウェア、ファームウェア、ハードウェアまたはそれらの任意の組合せもしくは部分的組合せを含む、１つ以上の処理システムの任意のサブコンポーネントまたは個々の部品を含んでもよい。
【００５１】
本明細書に記載の説明を使用して、当業者は、記載のように作成されたソフトウェアを、適切な汎用または特殊用途のコンピュータハードウェアと容易に組み合わせ、本発明を具現化するコンピュータシステムおよび／またはコンピュータサブコンポーネント、ならびに、本発明の方法を実行するためのコンピュータシステムおよび／またはコンピュータサブコンポーネントを作製することができる。
【００５２】
本発明の好ましい実施形態を本明細書において説明したが、当業者には、添付の特許請求の範囲から逸脱せずに、本発明の変形および組合せを行うことができることが理解される。
【図１】
2013535131.tif 000003
【図２】
2013535131.tif 000004
【図３】
2013535131.tif 000005
【図４】
2013535131.tif 000006
【国際調査報告】
2013535131.tif 000007
2013535131.tif 000008