(57)【特許請求の範囲】
【請求項１】
モバイルデバイスであって、
前記モバイルデバイスに関連付けられたローカル環境の1つまたは複数の観測を実行するように構成された環境モニタモジュールと、
前記環境モニタモジュールに通信可能に結合され、前記1つまたは複数の観測が、前記モバイルデバイスのワイヤレス接続性が回復したことを示すかどうかを判定するように構成された接続性トラッカーモジュールと、
前記接続性トラッカーモジュールに通信可能に結合され、前記モバイルデバイスの前記ワイヤレス接続性が回復したと判定された場合、少なくとも1つの現行の再送信タイムアウト(RTO)値に関連付けられた少なくとも1つの現行のRTO期間の終了前に、所定の初期RTO値で前記モバイルデバイスの少なくとも1つの現行のRTO値を置き換えるように構成され、前記所定の初期RTO値は、前記少なくとも1つの現行のRTO値より小さく、さらに前記少なくとも1つの現行のRTO値および前記所定の初期RTO値は、伝送制御プロトコル(TCP)バックオフ機構パラメータである、再送信タイムアウト(RTO)マネージャモジュールと
を備えるモバイルデバイス。
【請求項２】
前記所定の初期RTO値が、ほぼゼロである、請求項1に記載のモバイルデバイス。
【請求項３】
前記RTOマネージャモジュールが、前記モバイルデバイスに関連付けられた1つまたは複数のアクティブなTCPセッションを特定し、前記1つまたは複数のアクティブなTCPセッションに対応するRTO値を置き換えるようにさらに構成される、請求項1に記載のモバイルデバイス。
【請求項４】
前記RTOマネージャモジュールが、ランダムなオフセットを前記1つまたは複数のアクティブなTCPセッションに対応する前記RTO値に適用するようにさらに構成される、請求項3に記載のモバイルデバイス。
【請求項５】
前記RTOマネージャモジュールが、前記モバイルデバイスに関連付けられた1つまたは複数のアクティブなアプリケーションを特定し、前記1つまたは複数のアクティブなアプリケーションに関連付けられたTCPセッションに対応するRTO値を置き換えるようにさらに構成される、請求項1に記載のモバイルデバイス。
【請求項６】
前記環境モニタモジュールが、前記モバイルデバイスとのユーザ対話をモニタするように構成されたユーザアクティビティトラッカーモジュールを備える、請求項1に記載のモバイルデバイス。
【請求項７】
前記RTOマネージャモジュールが、前記ユーザ対話に関連付けられたアプリケーションを特定し、前記ユーザ対話に関連付けられた前記アプリケーションが少なくとも1つのオープンTCPセッションを有する場合、前記モバイルデバイスの前記少なくとも1つの現行のRTO値を置き換えるようにさらに構成される、請求項6に記載のモバイルデバイス。
【請求項８】
前記環境モニタモジュールが、前記モバイルデバイスに関連付けられたローカルリンクレイヤ接続性を観測するように構成された無線リンクレイヤ(RLL)観測モジュールを備える、請求項1に記載のモバイルデバイス。
【請求項９】
前記RTOマネージャモジュールが、前記RLL観測モジュールが、前記モバイルデバイスに関連付けられたリンクレイヤ接続性が回復したことを示す場合、前記モバイルデバイスの前記少なくとも1つの現行のRTO値を置き換えるようにさらに構成される、請求項8に記載のモバイルデバイス。
【請求項１０】
前記RTOマネージャモジュールが、前記モバイルデバイスに関連付けられた少なくとも1つのTCPセッションが送信または受信を完了し得た場合、前記モバイルデバイスの前記少なくとも1つの現行のRTO値を置き換えるようにさらに構成される、請求項1に記載のモバイルデバイス。
【請求項１１】
前記RTOマネージャモジュールが、前記モバイルデバイスの前記ワイヤレス接続性が回復したと判定された場合、前記モバイルデバイスの前記少なくとも1つの現行のRTO値に関連付けられた再送信タイマーをリセットするようにさらに構成される、請求項1に記載のモバイルデバイス。
【請求項１２】
モバイルデバイスの伝送制御プロトコル(TCP)再送信タイムアウト(RTO)値を調整する方法であって、
前記モバイルデバイスに関連付けられたローカル環境の1つまたは複数の観測を実行するステップと、
前記1つまたは複数の観測が、前記モバイルデバイスのワイヤレス接続性が回復したことを示すかどうかを判定するステップと、
前記モバイルデバイスの前記ワイヤレス接続性が回復したと判定された場合、少なくとも1つの現行のRTO値に関連付けられた少なくとも1つの現行のRTO期間の終了前に、所定の初期RTO値で前記モバイルデバイスの少なくとも1つの現行のRTO値を置き換えるステップであって、前記所定の初期RTO値は、前記少なくとも1つの現行のRTO値より小さく、さらに前記少なくとも1つの現行のRTO値および前記所定の初期RTO値は、TCPバックオフ機構パラメータである、ステップと、
を備える方法。
【請求項１３】
前記所定の初期RTO値がほぼゼロである、請求項12に記載の方法。
【請求項１４】
前記モバイルデバイスに関連付けられた1つまたは複数のアクティブなTCPセッションを特定するステップをさらに備え、置き換える前記ステップが、前記1つまたは複数のアクティブなTCPセッションに対応するRTO値を置き換えるステップを備える、請求項12に記載の方法。
【請求項１５】
リセットする前記ステップが、ランダムなオフセットを前記1つまたは複数のアクティブなTCPセッションに対応する前記RTO値に適用するステップをさらに備える、請求項14に記載の方法。
【請求項１６】
前記モバイルデバイスに関連付けられた1つまたは複数のアクティブなアプリケーションを特定するステップをさらに備え、置き換える前記ステップが、前記1つまたは複数のアクティブなアプリケーションに関連付けられたTCPセッションに対応するRTO値を置き換えるステップを備える、請求項12に記載の方法。
【請求項１７】
実行する前記ステップが、前記モバイルデバイスとのユーザ対話をモニタするステップを備える、請求項12に記載の方法。
【請求項１８】
前記ユーザ対話に関連付けられたアプリケーションを特定するステップをさらに備え、置き換える前記ステップが、前記ユーザ対話に関連付けられた前記アプリケーションが少なくとも1つのオープンTCPセッションを有する場合、前記モバイルデバイスの前記少なくとも1つの現行のRTO値を置き換えるステップを備える、請求項17に記載の方法。
【請求項１９】
実行する前記ステップが、前記モバイルデバイスに関連付けられたローカルリンクレイヤ接続性を観測するステップを備える、請求項12に記載の方法。
【請求項２０】
置き換える前記ステップが、前記モバイルデバイスに関連付けられたローカルリンクレイヤ接続性が回復したことが示される場合、前記モバイルデバイスの前記少なくとも1つの現行のRTO値を置き換えるステップを備える、請求項19に記載の方法。
【請求項２１】
置き換える前記ステップが、前記モバイルデバイスに関連付けられた少なくとも1つのTCPセッションが送信または受信を完了し得た場合、前記モバイルデバイスの前記少なくとも1つの現行のRTO値を置き換えるステップを備える、請求項12に記載の方法。
【請求項２２】
前記モバイルデバイスの前記ワイヤレス接続性が回復したと判定された場合、前記モバイルデバイスの前記少なくとも1つの現行のRTO値に関連付けられた再送信タイマーを置き換えるステップをさらに備える、請求項12に記載の方法。
【請求項２３】
モバイルデバイスであって、
前記モバイルデバイスに関連付けられたローカル環境の1つまたは複数の観測を実行するための手段と、
前記1つまたは複数の観測が、前記モバイルデバイスのワイヤレス接続性が回復したことを示すかどうかを判定するための手段と、
前記モバイルデバイスの前記ワイヤレス接続性が回復したと判定された場合、少なくとも1つの現行の再送信タイムアウト(RTO)値に関連付けられた少なくとも1つの現行のRTO期間の終了前に、所定の初期RTO値で前記モバイルデバイスの少なくとも1つの現行のRTO値を置き換えるための手段であって、前記所定の初期RTO値は、前記少なくとも1つの現行のRTO値より小さく、さらに前記少なくとも1つの現行のRTO値および前記所定の初期RTO値は、伝送制御プロトコル(TCP)バックオフ機構パラメータである、手段と、
を備えるモバイルデバイス。
【請求項２４】
前記所定の初期RTO値がほぼゼロである、請求項23に記載のモバイルデバイス。
【請求項２５】
前記モバイルデバイスに関連付けられた1つまたは複数のアクティブなTCPセッションを特定するための手段をさらに備え、置き換えるための前記手段が、ランダムなオフセットを前記1つまたは複数のアクティブなTCPセッションに対応するRTO値に適用することによって、少なくとも部分的に前記1つまたは複数のアクティブなTCPセッションに対応する前記RTO値を置き換えるための手段を備える、請求項23に記載のモバイルデバイス。
【請求項２６】
1つまたは複数の観測を実行するための前記手段が、前記モバイルデバイスとのユーザ対話をモニタするための手段を備える、請求項23に記載のモバイルデバイス。
【請求項２７】
前記ユーザ対話に関連付けられたアプリケーションを特定するための手段をさらに備え、置き換えるための前記手段が、前記ユーザ対話に関連付けられた前記アプリケーションが少なくとも1つのオープンTCPセッションを有する場合、前記モバイルデバイスの前記少なくとも1つの現行のRTO値を置き換えるための手段を備える、請求項26に記載のモバイルデバイス。
【請求項２８】
前記1つまたは複数の観測を実行するための前記手段が、前記モバイルデバイスに関連付けられたローカルリンクレイヤ接続性を観測するための手段を備える、請求項23に記載のモバイルデバイス。
【請求項２９】
置き換えるための前記手段が、前記モバイルデバイスに関連付けられた前記ローカルリンクレイヤ接続性が回復したことが示される場合、前記モバイルデバイスの前記少なくとも1つの現行のRTO値を置き換えるための手段を備える、請求項28に記載のモバイルデバイス。
【請求項３０】
置き換えるための前記手段が、前記モバイルデバイスに関連付けられた少なくとも1つのTCPセッションが送信または受信を完了し得た場合、前記モバイルデバイスの前記少なくとも1つの現行のRTO値を置き換えるための手段を備える、請求項23に記載のモバイルデバイス。
【請求項３１】
前記モバイルデバイスの前記ワイヤレス接続性が回復したと判定された場合、前記モバイルデバイスの前記少なくとも1つの現行のRTO値に関連付けられた再送信タイマーをリセットするための手段をさらに備える、請求項23に記載のモバイルデバイス。
【請求項３２】
プロセッサにより実行可能なプロセッサ可読命令を備えるコンピュータプログラムであって、前記プロセッサ可読命令が、プロセッサに、
モバイルデバイスに関連付けられたローカル環境の1つまたは複数の観測を実行させ、
前記1つまたは複数の観測が、前記モバイルデバイスのワイヤレス接続性が回復したことを示すかどうかを判定させ、
前記モバイルデバイスの前記ワイヤレス接続性が回復したと判定された場合、少なくとも1つの現行の再送信タイムアウト(RTO)値に関連付けられた少なくとも1つの現行のRTO期間の終了前に、所定の初期RTO値で前記モバイルデバイスの少なくとも1つの現行の再送信タイムアウト(RTO)値を置き換えさせ、前記所定の初期RTO値は、前記少なくとも1つの現行のRTO値より小さく、さらに前記少なくとも1つの現行のRTO値および前記所定の初期RTO値は、伝送制御プロトコル(TCP)バックオフ機構パラメータである、
コンピュータプログラム。
【請求項３３】
前記所定の初期RTO値が、ほぼゼロである、請求項32に記載のコンピュータプログラム。
【請求項３４】
前記プロセッサに、前記モバイルデバイスに関連付けられた1つまたは複数のアクティブなTCPセッションを特定させるように構成されたプロセッサ可読命令をさらに備え、前記プロセッサに置き換えさせるように構成された前記プロセッサ可読命令が、ランダムなオフセットを前記1つまたは複数のアクティブなTCPセッションに対応するRTO値に適用することによって、前記プロセッサに、少なくとも部分的に前記1つまたは複数のアクティブなTCPセッションに対応する前記RTO値を置き換えさせるように構成されたプロセッサ可読命令を備える、請求項32に記載のコンピュータプログラム。
【請求項３５】
前記プロセッサに、前記1つまたは複数の観測を実行させるように構成された前記プロセッサ可読命令が、前記プロセッサに、前記モバイルデバイスとのユーザ対話をモニタさせるように構成されたプロセッサ可読命令を備える、請求項32に記載のコンピュータプログラム。
【請求項３６】
前記プロセッサに、前記ユーザ対話に関連付けられたアプリケーションを特定させるように構成されたプロセッサ可読命令をさらに備え、前記プロセッサに置き換えさせるように構成された前記プロセッサ可読命令が、前記ユーザ対話に関連付けられた前記アプリケーションが少なくとも1つのオープンTCPセッションを有する場合、前記プロセッサに、前記モバイルデバイスの前記少なくとも1つの現行のRTO値を置き換えさせるように構成されたプロセッサ可読命令を備える、請求項35に記載のコンピュータプログラム。
【請求項３７】
前記プロセッサに、前記1つまたは複数の観測を実行させるように構成された前記プロセッサ可読命令が、前記プロセッサに、前記モバイルデバイスに関連付けられたローカルリンクレイヤ接続性を観測させるように構成されたプロセッサ可読命令を備える、請求項32に記載のコンピュータプログラム。
【請求項３８】
前記プロセッサに置き換えさせるように構成された前記プロセッサ可読命令が、前記モバイルデバイスに関連付けられた前記ローカルリンクレイヤ接続性が回復したことが示される場合、前記プロセッサに、前記モバイルデバイスの前記少なくとも1つの現行のRTO値を置き換えさせるように構成されたプロセッサ可読命令を備える、請求項37に記載のコンピュータプログラム。
【請求項３９】
前記プロセッサに置き換えさせるように構成された前記プロセッサ可読命令が、前記モバイルデバイスに関連付けられた少なくとも1つのTCPセッションが送信または受信を完了し得た場合、前記プロセッサに、前記モバイルデバイスの前記少なくとも1つの現行のRTO値を置き換えさせるように構成されたプロセッサ可読命令を備える、請求項32に記載のコンピュータプログラム。
【請求項４０】
前記モバイルデバイスの前記ワイヤレス接続性が回復したと判定された場合、前記プロセッサに、前記モバイルデバイスの前記少なくとも1つの現行のRTO値に関連付けられた再送信タイマーをリセットさせるように構成されたプロセッサ可読命令をさらに備える、請求項32に記載のコンピュータプログラム。
【発明の詳細な説明】
【背景技術】
【０００１】
ワイヤレス通信デバイスは、今日の社会において信じられないほど普及している。たとえば、無数の位置からワイヤレスでデータを送受信するために、人々は、携帯電話、スマートフォン、携帯情報端末、ラップトップコンピュータ、ページャ、タブレットコンピュータなどのモバイルデバイスを使用する。さらに、ワイヤレス通信技術の向上は今日のワイヤレス通信デバイスの汎用性を大幅に増加させ、ユーザが、複数のデバイス、またはより大きな非ポータブル機器を従来は必要とした広範囲にわたる作業を、単一のポータブルデバイスから実行することを可能にしている。
【０００２】
伝送制御プロトコル(TCP)は、インターネットを介して通信するための、広く展開され利用されているプロトコルである。TCPによって規定されているように、通信デバイスは受信したデータセグメントの肯定応答を与えるように構成される。セグメントが適時に確認応答されない場合、送信側は否定応答されたセグメントを再送信する。この再送信は、再送信タイムアウト(RTO)と呼ばれる時間間隔によって管理される。
【０００３】
従来、RTOは、RTOがそのような各再送信とともに指数関数的に増加するように、連続する再送信で指数関数的「バックオフ」機構を利用する。しかしながら、このRTOバックオフ機構は、モバイルデバイスの接続性に悪影響を及ぼす可能性がある。たとえば、モバイルデバイスは、たとえば、接続性が高い領域と接続性が低い領域との間を移動しているときなどに、バースト的な接続性パターンに遭遇する可能性がある。そのようなシナリオでは、指数関数的RTOバックオフは、接続性が高い領域に入るときに通信を再確立するのにかなりの遅延を引き起こす可能性がある。さらに、RTOが十分に高い値にバックオフされた場合、接続性が高い領域と接続性が低い領域との間を通過するモバイルデバイスは、所与の高通信領域内でまったく通信を再確立することができないことがある。
【発明の概要】
【課題を解決するための手段】
【０００４】
モバイルデバイスの一例は、モバイルデバイスに関連付けられたローカル環境の1つまたは複数の観測を実行するように構成された環境モニタモジュールと、環境モニタモジュールに通信可能に結合され、1つまたは複数の観測が、モバイルデバイスのワイヤレス接続性が回復したことを示すかどうかを判定するように構成された接続性トラッカーモジュールと、接続性トラッカーモジュールに通信可能に結合され、モバイルデバイスのワイヤレス接続性が回復したと判定された場合、モバイルデバイスの少なくとも1つのRTO値をリセットするように構成された再送信タイムアウト(RTO)マネージャモジュールとを含む。
【０００５】
モバイルデバイスの実装形態は、以下の特徴のうちの1つまたは複数を含むことができる。RTOマネージャモジュールは、少なくとも1つのRTO値をほぼゼロに設定することによって少なくとも1つのRTO値をリセットするようにさらに構成される。RTOマネージャモジュールは、モバイルデバイスに関連付けられた1つまたは複数のアクティブな伝送制御プロトコル(TCP)セッションを特定し、1つまたは複数のアクティブなTCPセッションに対応するRTO値をリセットするようにさらに構成される。RTOマネージャモジュールは、ランダムなオフセットを1つまたは複数のアクティブなTCPセッションに対応するRTO値に適用するようにさらに構成される。RTOマネージャモジュールは、モバイルデバイスに関連付けられた1つまたは複数のアクティブなアプリケーションを特定し、1つまたは複数のアクティブなアプリケーションに関連付けられたTCPセッションに対応するRTO値をリセットするようにさらに構成される。環境モニタモジュールは、モバイルデバイスとのユーザ対話をモニタするように構成されたユーザアクティビティトラッカーモジュールを含む。RTOマネージャモジュールは、ユーザ対話に関連付けられたアプリケーションを特定し、ユーザ対話に関連付けられたアプリケーションが少なくとも1つのオープンTCPセッションを有する場合、モバイルデバイスの少なくとも1つのRTO値をリセットするようにさらに構成される。環境モニタモジュールは、モバイルデバイスに関連付けられたローカルリンクレイヤ接続性を観測するように構成された無線リンクレイヤ(RLL)観測モジュールを含む。RTOマネージャモジュールは、RLL観測モジュールが、モバイルデバイスに関連付けられたリンクレイヤ接続性が回復したことを示す場合、モバイルデバイスの少なくとも1つのRTO値をリセットするようにさらに構成される。RTOマネージャモジュールは、モバイルデバイスに関連付けられた少なくとも1つのTCPセッションが送信または受信を首尾よく完了した場合、モバイルデバイスの少なくとも1つのRTO値をリセットするようにさらに構成される。RTOマネージャモジュールは、モバイルデバイスのワイヤレス接続性が回復したと判定された場合、モバイルデバイスの少なくとも1つのRTO値に関連付けられた再送信タイマー
をリセットするようにさらに構成される。
【０００６】
モバイルデバイスのTCP RTO値を調整する方法の一例は、モバイルデバイスに関連付けられたローカル環境の1つまたは複数の観測を実行するステップと、1つまたは複数の観測が、モバイルデバイスのワイヤレス接続性が回復したことを示すかどうかを判定するステップと、モバイルデバイスのワイヤレス接続性が回復したと判定された場合、モバイルデバイスの少なくとも1つのRTO値をリセットするステップとを含む。
【０００７】
方法の実装形態は、以下の特徴のうちの1つまたは複数を含むことができる。少なくとも1つのRTO値をほぼゼロに設定すること。モバイルデバイスに関連付けられた1つまたは複数のアクティブなTCPセッションを特定することであって、リセットすることは、1つまたは複数のアクティブなTCPセッションに対応するRTO値をリセットすることを含む。ランダムなオフセットを1つまたは複数のアクティブなTCPセッションに対応するRTO値に適用すること。モバイルデバイスに関連付けられた1つまたは複数のアクティブなアプリケーションを特定することであって、リセットすることは、1つまたは複数のアクティブなアプリケーションに関連付けられたTCPセッションに対応するRTO値をリセットすることを含む。モバイルデバイスとのユーザ対話をモニタすること。ユーザ対話に関連付けられたアプリケーションを特定することであって、リセットすることは、ユーザ対話に関連付けられたアプリケーションが少なくとも1つのオープンTCPセッションを有する場合、モバイルデバイスの少なくとも1つのRTO値をリセットすることを含む。モバイルデバイスに関連付けられたローカルリンクレイヤ接続性を観測すること。モバイルデバイスに関連付けられたローカルリンクレイヤ接続性が回復したことが示される場合、モバイルデバイスの少なくとも1つのRTO値をリセットすること。モバイルデバイスに関連付けられた少なくとも1つのTCPセッションが送信または受信を首尾よく完了した場合、モバイルデバイスの少なくとも1つのRTO値をリセットすること。モバイルデバイスのワイヤレス接続性が回復したと判定された場合、モバイルデバイスの少なくとも1つのRTO値に関連付けられた再送信タイマーをリセットすること。
【０００８】
モバイルデバイスの別の例は、モバイルデバイスに関連付けられたローカル環境の1つまたは複数の観測を実行するための手段と、1つまたは複数の観測が、モバイルデバイスのワイヤレス接続性が回復したことを示すかどうかを判定するための手段と、モバイルデバイスのワイヤレス接続性が回復したと判定された場合、モバイルデバイスの少なくとも1つのRTO値をリセットするための手段とを含む。
【０００９】
モバイルデバイスの実装形態は、以下の特徴のうちの1つまたは複数を含むことができる。少なくとも1つのRTO値をほぼゼロに設定するための手段。モバイルデバイスに関連付けられた1つまたは複数のアクティブなTCPセッションを特定するための手段であって、リセットするための手段は、ランダムなオフセットを1つまたは複数のアクティブなTCPセッションに対応するRTO値に適用することによって、少なくとも部分的に1つまたは複数のアクティブなTCPセッションに対応するRTO値をリセットするための手段を含む。モバイルデバイスとのユーザ対話をモニタするための手段。ユーザ対話に関連付けられたアプリケーションを特定するための手段であって、リセットするための手段は、ユーザ対話に関連付けられたアプリケーションが少なくとも1つのオープンTCPセッションを有する場合、モバイルデバイスの少なくとも1つのRTO値をリセットするための手段を含む。モバイルデバイスに関連付けられたローカルリンクレイヤ接続性を観測するための手段。モバイルデバイスに関連付けられたローカルリンクレイヤ接続性が回復したことが示される場合、モバイルデバイスの少なくとも1つのRTO値をリセットするための手段。モバイルデバイスに関連付けられた少なくとも1つのTCPセッションが送信または受信を首尾よく完了した場合、モバイルデバイスの少なくとも1つのRTO値をリセットするための手段。モバイルデバイスのワイヤレス接続性が回復したと判定された場合、モバイルデバイスの少なくとも1つのRTO値に関連付けられた再送信タイマーをリセットするための手段。
【００１０】
コンピュータプログラム製品の一例は、プロセッサ可読媒体に常駐し、プロセッサに、モバイルデバイスに関連付けられたローカル環境の1つまたは複数の観測を実行させ、1つまたは複数の観測が、モバイルデバイスのワイヤレス接続性が回復したことを示すかどうかを判定させ、モバイルデバイスのワイヤレス接続性が回復したと判定された場合、モバイルデバイスの少なくとも1つのRTO値をリセットさせるように構成されたプロセッサ可読命令を含む。
【００１１】
コンピュータプログラム製品の実装形態は、以下の特徴のうちの1つまたは複数を含むことができる。プロセッサに、少なくとも1つのRTO値をほぼゼロに設定させるように構成されたプロセッサ可読命令。プロセッサに、モバイルデバイスに関連付けられた1つまたは複数のアクティブなTCPセッションを特定させるように構成されたプロセッサ可読命令と、ランダムなオフセットを1つまたは複数のアクティブなTCPセッションに対応するRTO値に適用することによって、プロセッサに、少なくとも部分的に1つまたは複数のアクティブなTCPセッションに対応するRTO値をリセットさせるように構成されたプロセッサ可読命令。プロセッサに、モバイルデバイスとのユーザ対話をモニタさせるように構成されたプロセッサ可読命令。プロセッサに、ユーザ対話に関連付けられたアプリケーションを特定させるように構成されたプロセッサ可読命令と、ユーザ対話に関連付けられたアプリケーションが少なくとも1つのオープンTCPセッションを有する場合、プロセッサに、モバイルデバイスの少なくとも1つのRTO値をリセットさせるように構成されたプロセッサ可読命令。プロセッサに、モバイルデバイスに関連付けられたローカルリンクレイヤ接続性を観測させるように構成されたプロセッサ可読命令。モバイルデバイスに関連付けられたローカルリンクレイヤ接続性が回復したことが示される場合、プロセッサに、モバイルデバイスの少なくとも1つのRTO値をリセットさせるように構成されたプロセッサ可読命令。モバイルデバイスに関連付けられた少なくとも1つのTCPセッションが送信または受信を首尾よく完了した場合、プロセッサに、モバイルデバイスの少なくとも1つのRTO値をリセットさせるように構成されたプロセッサ可読命令。モバイルデバイスのワイヤレス接続性が回復したと判定された場合、プロセッサに、モバイルデバイスの少なくとも1つのRTO値に関連付けられた再送信タイマーをリセットさせるように構成されたプロセッサ可読命令。
【図面の簡単な説明】
【００１２】
【図１】ワイヤレス電気通信システムの概略図である。
【図２】図1に示す移動局の構成要素のブロック図である。
【図３】モバイルデバイスの再送信スケジュールを管理するためのシステムのブロック図である。
【図４】ユーザ対話データに基づいてモバイルデバイスのRTO長を制御するためのシステムのブロック図である。
【図５】リンクレイヤ接続性データに基づいてモバイルデバイスのRTO長を制御するためのシステムのブロック図である。
【図６】環境観測に基づいてモバイルデバイスのRTOパラメータを管理するプロセスのブロック流れ図である。
【図７】環境観測に基づいてモバイルデバイスのRTOパラメータを管理するプロセスのブロック流れ図である。
【発明を実施するための形態】
【００１３】
たとえば、TCP RTOパラメータによって定義される、モバイルデバイスの再送信スケジュールを管理するための技法について本明細書で説明する。RTOは、(たとえば、数ある要因の中でも、接続性が低いまたは接続性がないことによって)失敗した送信に関連付けられた情報の再送信を遅延させるTCPのネットワーク輻輳回避パラメータである。RTOは、失敗した連続送信のたびに再送信間の遅延が増加するように、指数関数的バックオフを利用する。ただし、このRTOバックオフは、様々な場合でユーザエクスペリエンスの喪失の原因となる。たとえば、モバイルデバイスが、ワイヤレス接続性が高いゾーンとワイヤレス接続性が低いゾーンとの間を急速に移動するシナリオでは、RTOバックオフは、モバイルデバイスが高接続性ゾーンに入るとき、モバイルデバイスに関連付けられたTCPセッションを遅延させる可能性がある。場合によっては、高接続性ゾーンで費やされる時間が現在のRTOよりも少ない場合、TCPセッションがまったく再開できない可能性がある。したがって、本明細書における技法は、RTOをリセットする(たとえば、RTOをゼロまたは小さいゼロでない値に設定する)ためのモバイルデバイスに関連付けられたローカル環境の観測、ならびに、観測に基づいて接続性が低いゾーンから接続性が高いゾーンへの通過を検出すると、RTOに従って動作する1つまたは複数のタイマー機構を活用する。
【００１４】
本明細書で説明する項目および/または技法は、以下の能力のうちの1つまたは複数、ならびに言及されていない他の能力を提供することができる。モバイルデバイスを、周囲のワイヤレス接続性の変化に対してより適応可能にすることができる。デバイス応答性およびユーザエクスペリエンスを改善することができる。モバイルデバイスでのネットワーク通信を改善された効率で行うことができる。モバイルユースケースに対する適応性を与えるために、従来のTCP RTOパラメータを修正することができる。少なくとも1つの項目/技法の効果ペアについて説明しているが、言及される効果を、言及される手段以外の手段によって達成することも可能であり、言及される項目/技法は、必ずしも言及される効果をもたらすとは限らない。
【００１５】
図1を参照すると、ワイヤレス通信システム10は、セル16中に配設されたモバイルアクセス端末12(AT)、トランシーバ基地局(BTS)14、および基地局コントローラ(BSC)18など、様々なデバイスを含む。システム10は、複数のキャリア(様々な周波数の波形信号)上の動作をサポートすることができる。マルチキャリア送信機は、複数のキャリアで変調信号を同時に送信することができる。各変調信号は、符号分割多元接続(CDMA)信号、時分割多元接続(TDMA)信号、直交周波数分割多元接続(OFDMA)信号、シングルキャリア周波数分割多元接続(SC-FDMA)信号などであり得る。各変調信号は、異なるキャリアで送られてもよく、パイロット、オーバーヘッド情報、データなどを運ぶことができる。
【００１６】
BTS14は、アンテナを介してAT12とワイヤレス通信することができる。BTS14の各々は、基地局、アクセスポイント、アクセスノード(AN)、Node B、evolved Node B(eNB)などとも呼ばれ得る。BTS14は、複数の搬送波を介して、BSC18の制御下にあるAT12と通信するように構成される。BTS14の各々は、それぞれの地理的エリア、ここではそれぞれのセル16に通信カバレージを提供することができる。BTS14のセル16の各々は、基地局アンテナに応じて複数のセクタに分割される。
【００１７】
システム10はマクロ基地局14だけを含んでもよく、または、たとえばマクロ、ピコおよび/またはフェムト基地局など、異なるタイプの基地局14を有することができる。マクロ基地局は、比較的広い地理的エリア(たとえば、半径数キロメートル)をカバーすることができ、サービスに加入している端末による無制限アクセスを許容することができる。ピコ基地局は、比較的小さい地理的エリア(たとえば、ピコセル)をカバーすることができ、サービスに加入している端末による無制限アクセスを許容することができる。フェムトまたはホーム基地局は、比較的小さい地理的エリア(たとえば、フェムトセル)をカバーすることができ、フェムトセルに関連する端末(たとえば、自宅内のユーザ用端末)による制限付きアクセスを許容することができる。
【００１８】
AT12は、セル16全体にわたって分散され得る。AT12は、端末、移動局、モバイルデバイス、ユーザ機器(UE)、加入者ユニットなどと呼ばれ得る。図1に示すAT12は移動電話、携帯情報端末(PDA)、ならびに車両ナビゲーションおよび/または通信システムを含むが、ワイヤレスルータ、他のハンドヘルドデバイス、ネットブック、ノートブックコンピュータなども含み得る。
【００１９】
図2も参照すると、AT12の例示的な1つは、プロセッサ20、ソフトウェア24を含むメモリ22、入力/出力(I/O)デバイス26(たとえば、ディスプレイ、スピーカー、キーパッド、タッチスクリーン、またはタッチパッドなど)、および1つまたは複数のアンテナ28を含む、コンピュータシステムを備える。アンテナ28は、AT12に通信機能を提供し、BTS14との双方向通信を容易にする。アンテナ28は、送信機および/または受信機モジュールからの命令に基づいて動作することができるが、これらの命令は、プロセッサ20を介して(たとえば、メモリ22に記憶されたソフトウェア24に基づいて)、および/または、ハードウェア、ソフトウェア、またはハードウェアおよび/もしくはソフトウェアの組合せにおける、AT12の他の構成要素によって実施され得る。
【００２０】
プロセッサ20は、インテリジェントハードウェアデバイス、たとえば、Intel(登録商標)CorporationまたはAMD(登録商標)によって製作されるものなどの中央処理装置(CPU)、マイクロコントローラ、特定用途向け集積回路(ASIC)などである。メモリ22は、ランダムアクセスメモリ(RAM)および読取り専用メモリ(ROM)などの非一時的記憶媒体を含む。メモリ22は、ソフトウェア24を記憶し、ソフトウェア24は、実行されたときに、本明細書で説明する様々な機能をプロセッサ20に実行させるように構成された命令を含む、コンピュータ可読コンピュータ実行可能ソフトウェアコードである。代替的に、ソフトウェア24は、プロセッサ20によって直接実行できないことがあるが、たとえばコンパイルされ実行されるとき、これらの機能をコンピュータに実行させるように構成される。
【００２１】
モバイルデバイス12は、1つまたは複数のネットワークもしくはインターネットワーク、たとえば、インターネットを介して他のデバイスと通信するように動作可能である。モバイルデバイス12は、TCPおよびインターネットプロトコル(IP)などの様々なプロトコルを使用して、他のデバイスへのおよび/または他のデバイスからのデータを通信する。TCPに関して、前記プロトコルは、エンドポイントは受信したデータセグメントの肯定応答を与えるものであると規定している。セグメントが適時に確認応答されない場合、セグメントの送信側は前記セグメントを再送信することによって回復する。
【００２２】
TCPにおけるデータセグメントの再送信は、RTOとして知られる動的に計算されたタイムアウトによって管理される。従来、RTOは、部分的には、連続する再送信で指数関数的バックオフ機構を使用して計算される。TCP実装形態で広く利用されているこのバックオフ機構は、ネットワークが過負荷になった場合のネットワーク安定性を促進する。ただし、ワイヤレスリンクで動作するTCPエンドポイント(たとえば、ワイヤレスネットワークで通信するモバイルデバイス12)は、ネットワーク輻輳以外の理由でパケットロスを経験することがある。たとえば、地下鉄内のモバイルデバイスには、列車が移動中である間、かなりの期間のゼロ接続性(たとえば、数分)によって分離された駅において、比較的短いバースト(たとえば、約60秒の)での接続性しかないことがある。同様のバースト的な接続性パターンは、ユーザがビルを動き回ってワイヤレス「デッドゾーン」を出入りするときなどに生じ得る。
【００２３】
接続性が数分間失われると、TCP内に提供された指数関数的バックオフ機構はRTOを急速に増加させる。いくつかの従来のTCP実装形態では、RTOは、試行される再送信の最大期間(たとえば、127秒)の後に60秒に達するまたは60秒を超えることが許容される。実際には、いくつかの状況では、長いRTOになお一層急速に達することがある。さらに、いくつかの従来のTCP実装形態はRTOの限界を60秒程度に定義しているが、他の実装形態はRTOがそれよりもかなり大きくなることを許可している。
【００２４】
このRTOバックオフのために、短い期間に接続性が高いゾーンを通過しているTCPエンドポイント(たとえば、モバイルデバイス12)は、エンドポイントが、再送信し、確認応答を受信し、リンクが再び有効であることを確認するためにRTOに関連付けられたかなり長い期間待機するように構成されるので、前記接続性を活用できないことがある。この比較的長い待機は、対話型アプリケーションに対する低減された最適でないユーザエクスペリエンスをもたらす。たとえば、ユーザは一般に、地下鉄で移動しているとき、デバイスディスプレイに低い信号強度が示されているときなどは接続性が悪いと予想する。しかしながら、駅にいる間に、デバイスディスプレイに示された高い信号強度、または他のそのようなシナリオを見ると、RTOによるTCPアクティビティおよびアプリケーション応答性の欠如は、ユーザに混乱を招く、および/または、かなりの不便となり得る。
【００２５】
さらに、接続性が高い領域および接続性が低い領域を急速に移動している間にRTOがアプリケーション応答性に及ぼす影響は、確率論的であり、ランダムな可能性を生じやすい。たとえば、RTOはTCPエンドポイントが接続性が高いゾーンに到達した直後に再送信タイマーを終了させることがある、またはその代わりにRTOは高接続性領域に滞在している間中、持続することがある。所与のデバイスでの各TCPセッションは別個のRTOを維持するので、複数のTCP接続を使用するアプリケーション(たとえば、Ajaxベースのウェブサイトなど)は、ユーザには、部分的に機能し部分的にフリーズして見えることがある。そのようなシナリオでは、この決定性の欠如はユーザエクスペリエンスをさらに低下させる。
【００２６】
接続性が低いゾーンから接続性が高いゾーンへの通過を検出すると、RTOをリセットする(たとえば、RTOをゼロまたは約1秒もしくは任意の他の適切な値などの小さいゼロでない値に設定する)ためにモバイルデバイスに関連付けられたローカル環境の観測を活用する技法について、本明細書で説明する。加えて、RTOに関連付けられた1つまたは複数の再送信タイマーをRTOと組み合わせてリセットすることができる。そうする際に、ワイヤレスモバイル環境で動作するTCP実装形態は、最適なユーザエクスペリエンス向けにRTO値を調整するためにコンテキスト認識を利用することができる。
【００２７】
図3は、コンテキスト認識を活用して1つまたは複数のRTOパラメータを管理するためのシステムを実装する例示的なモバイルデバイス12を示す。アンテナ28は上記で説明したように実装されて、モバイルデバイス12に通信機能を提供するために1つまたは複数のトランシーバ30と対話する。トランシーバ30は、送信動作と受信動作の両方を制御することができ、または別個の専用の送信機モジュールおよび受信機モジュールを利用することができる。さらに、トランシーバ30をハードウェアおよび/またはソフトウェアで(たとえば、メモリ22に記憶された命令を実行するプロセッサ20を介して)実装することができる。
【００２８】
モバイルデバイス12とモバイルデバイス12に関連付けられたネットワーク内の他のエンティティとの間の通信を規制するために、トランシーバ30は接続性トラッカーモジュール34およびRTOマネージャモジュール36と対話する。接続性トラッカーモジュール34は、様々なソースおよび/または接続性トラッカーモジュール34自体によって提供された情報に基づいて、モバイルデバイス12の接続性およびその周囲のローカル領域をモニタする。たとえば、トランシーバ30は、位置データ、観測された信号強度データ、チャネル品質データなどを接続性トラッカーモジュール34に報告することができる。さらに、トランシーバ30は、トランシーバ30によって送られた送信に応答して確認応答が受信されたかどうかを報告することができる。
【００２９】
RTOマネージャモジュール36は、モバイルデバイス12に関連付けられたそれぞれのTCPセッションまたは接続のRTOパラメータを維持する。TCP接続をモバイルデバイス12におけるそれぞれのアプリケーションに関連付けることができ、追加または代替として、単一のアプリケーションは複数のTCP接続を活用することができる。RTOマネージャモジュール36は、TCP接続のRTOパラメータを初期値、たとえばゼロまたは小さいゼロでない値に初期化する。トランシーバ30が以前に送ったデータの確認応答を受信するのに失敗すると、そのデータの再送信は、そのデータに関連付けられたTCP接続のRTOパラメータによって示される時間にスケジュールされる。データの送信に連続して失敗すると、RTOマネージャモジュール36は対応するRTOパラメータを(たとえば、指数関数的に)増加させる。
【００３０】
RTOバックオフに応答したモバイルデバイス12の無応答性を軽減するために、環境モニタモジュール32はモバイルデバイス12に関連付けられたローカル環境およびその周囲の領域を観測する。たとえば、環境モニタモジュール32は、モバイルデバイス12とのユーザ対話、モバイルデバイス12を取り囲む領域におけるリンクレイヤ接続性などを追跡することができる。環境モニタモジュール32は、環境観測に関するデータを接続性トラッカーモジュール34に提供し、接続性トラッカーモジュール34はそのデータを現在の接続性のインジケータとして利用する。環境モニタモジュール32から受信した情報に基づいて、接続性トラッカーモジュール34がモバイルデバイスはワイヤレス接続性が高い領域にあると推測する場合、接続性トラッカーモジュールは、モバイルデバイスによって利用されるそれぞれのオープンTCP接続に関連付けられたRTOリセット手順を受けるようRTOマネージャモジュール36に命令することができる。この手順は、たとえば、対応するRTOパラメータを所定の値(たとえば、ゼロまたは小さいゼロでない値など)に設定すること、ならびにRTOパラメータに関連付けられた再送信タイマーをリセットすることを含むことができる。所与のTCP接続に関連付けられたRTOリセット手順が完了すると、RTOマネージャモジュール36は、対応する再送信タイマーの終了を待機することなく、TCP接続での通信を再試行するようトランシーバに命令することもできる。TCP接続での通信を再試行した際に、トランシーバ30が依然として首尾よく確認応答を送受信することができない場合、RTOマネージャモジュール36は、接続のRTOパラメータをリセット時にRTOに割り当てられた初期値またはリセットの直前にRTOに関連付けられた値のいずれかから増加させることができる。
【００３１】
上記で説明したように動作することによって、RTOマネージャモジュール36は、環境モニタモジュール32によって得られた、モバイルデバイス12に関連付けられたローカル環境の観測を活用して、所与のRTOパラメータを調整し、前記パラメータをアクションに関連付ける。環境モニタモジュール、接続性トラッカーモジュール、および/またはRTOマネージャモジュール36を、ソフトウェアで、メモリ22に記憶された命令を実行するプロセッサ20を介して、ハードウェアでなどで実装することができる。たとえば、モジュール32〜36のうちの1つまたは複数をモバイルデバイス12のオペレーティングシステム内に実装することができる。他の実装形態も可能である。
【００３２】
環境モニタモジュール32によって得られたローカル環境観測は、関連するモバイルデバイス12とのユーザ対話を含むことができる。一般に、モバイルデバイス12のユーザはモバイルデバイス12の近くの物理環境を認識しており、接続性を予測することができる。したがって、ユーザが1つまたは複数のI/Oデバイス26を介して(たとえば、キーパッドまたはキーボード上のボタンを押し、タッチスクリーンまたはタッチパッドなどのタッチセンシティブ面を操作することによって)モバイルデバイス12との対話を開始するときに、1つまたは複数のTCP接続に対応するRTO値をリセットすることができる。ユーザアクティビティモニタモジュール40などを環境モニタモジュール32内に実装して、そのようなユーザ対話を追跡することができ、そのようなユーザ対話は今度は上記で説明したように接続性トラッカーモジュール34に提供される。
【００３３】
接続性が高いゾーンおよび接続性が低いゾーンを通過する間、モバイルデバイス12のユーザは一般に、接続性が改善すると、モバイルデバイス12上で動作するアプリケーションを何とか動かして再びアクティブにしたいと思うのが普通である。たとえば、地下鉄の列車でモバイルウェブブラウザを操作するユーザは、地下鉄の駅に入ると、駅内のワイヤレス接続性が増加するので、そのブラウザに関連付けられた更新ボタンを押すことがある。従来、モバイルウェブブラウザは、ユーザ入力とは無関係にTCP接続を介してデータを要求することができるようになる前に、RTOによって制御される再送信タイマーが経過するのを待機する必要がある。対照的に、接続性トラッカーモジュール34は、RTOがバックオフされた理由(たとえば、接続性の喪失)はユーザ入力のせいでもはや当てはまらないと判定し、RTOをリセットする。RTOをリセットすることに加えて、接続性が回復したと確認されたときに、現行のRTO期間が終了するのを待機することなく(たとえば、RTOパラメータに加えて関連する再送信タイマーをリセットすることによって)、トランシーバ30を有効にし、ユーザエクスペリエンスを改善することができる。
【００３４】
RTOマネージャモジュール36は、すべてのオープンアプリケーションおよび/またはTCPセッションのRTOパラメータを調整することができる、または代替的にアプリケーションおよび/またはセッションの選択を処理することができる。たとえば、アクティブセッションに関連付けられたRTO値のみが調整されるように、モバイルデバイス12でアクティブな1つまたは複数のアプリケーションを特定することができる。さらに、任意のセッションが首尾よく回復した場合、RTOマネージャモジュール36は同様に1つまたは複数の他のセッションのRTOを調整することができる。すべてのセッションが再送信を同時に試行するのを防ぐために、ランダム分布および/または他の基準に基づいて、異なるRTO値をそれぞれのセッションに割り当てることができる。アクティブなまたはフォアグラウンドのアプリケーションがオープンTCP接続を有する場合にのみ、ユーザ対話がモバイルデバイス12に関連付けられたRTO値をリセットするための基礎として使用されるように、(たとえば、モバイルデバイス12のオペレーティングシステムおよび/または他の構成要素によって)アクティブなまたはフォアグラウンドのアプリケーションを特定することができる。この場合、アクティブなアプリケーションを特定することが知られる必要はなく、その代わりに、RTOマネージャモジュール36は、任意のアクティブなアプリケーションがオープンTCP接続を有するかどうかに基づいて動作することができる。
【００３５】
加えて、モバイルデバイス12に関連付けられた無線リンクレイヤ(RLL)はそのローカルワイヤレス環境を認識しており、データ接続性が利用可能になったときを検出することができる。したがって、図5に示すように、データ接続性が回復したときにRTO値を低減するために、RLL観測モジュール50を環境モニタモジュール32内におよび/または環境モニタモジュール32とは別々に実装することができる。一実施形態では、(たとえば、オペレーティングシステムまたは他の手段を介して実装された)RTOマネージャモジュール36は、データ接続性が回復したときはいつでも、すべての現行のTCPセッションのRTOを低い値または最小値(たとえば、ほぼゼロ)に設定する。上記で述べたように、すべてのセッションが再送信を同時に試行しないように、ランダムな係数を異なるセッションのRTO値に導入することができる。さらに上記で述べたように、場合によっては、RTOマネージャモジュール36はアクティブなアプリケーションに対してのみRTOを調整することができる。RLL観測モジュール50が、任意のセッションが首尾よく回復したことを検出した場合、すべての他のセッションのRTOも同様に調整することができる。
【００３６】
RLL観測モジュール50をモバイルデバイス12に関連付けられたモデムまたは他の機構に実装することができる。そのような実装形態では、RLL観測モジュール50はモデムでリンクレイヤ接続性を観測し、無線信号が観測された場合、RTOを低減するようRTOマネージャモジュールに命令する。RLL観測モジュール50の他の実装形態も可能である。
【００３７】
図1〜図5をさらに参照して図6を参照すると、環境観測に基づいてモバイルデバイスのRTOパラメータを管理するプロセス60は、図示される段階を含む。しかしながら、プロセス60は例にすぎず、限定的ではない。プロセス60は、たとえば、段階を追加、除去、再配置、結合、および/または同時に実行することによって、改変できる。図示および説明したようなプロセス60に対するさらに他の改変も可能である。
【００３８】
段階62で、モバイルデバイス12に関連付けられたローカル環境の1つまたは複数の観測が実行される。環境モニタモジュール32などによってそのような観測を実行することができ、数ある実装形態の中でも、メモリ22に記憶された命令を実行するプロセッサ20を介して環境モニタモジュール32などを実装することができる。
【００３９】
段階64で、段階62で実行された観測に基づいて、モバイルデバイス12のワイヤレス接続性が回復したかどうかが判定される。段階66で、ワイヤレス接続性が回復したと判定された場合、モバイルデバイス12の少なくとも1つのRTO値がリセットされる。段階64および段階66での動作を接続性トラッカーモジュール34、RTOマネージャモジュール36などによって実行することができる。メモリ22に記憶された命令を実行するプロセッサ20を介しておよび/または任意の他の適切な手段によって前記モジュール34〜36を実装することができる。
【００４０】
図1〜図5をさらに参照して図7を参照すると、環境観測に基づいてモバイルデバイスのRTOパラメータを管理する別のプロセス70は、図示される段階を含む。しかしながら、プロセス70は例にすぎず、限定的ではない。プロセス70は、たとえば、段階を追加、除去、再配置、結合、および/または同時に実行することによって、改変できる。図示および説明したようなプロセス70に対するさらに他の改変も可能である。
【００４１】
モバイルデバイス12に対応するRTO値は段階72で初期化され、段階74で、初期のワイヤレス接続性がモバイルデバイスに関連付けられたローカル環境内に存在するかどうかが判定される。接続性が存在しない場合、段階76で示すように、RTO値に関連付けられた任意の要求された通信が現在のRTO値に従ってバックオフされ、(たとえば、当技術分野で一般に知られているような指数関数的RTOバックオフ手順に従って)RTO値が増加する。
【００４２】
段階76で示すようにRTOをバックオフした後、モバイルデバイス12のローカル環境の1つまたは複数の観測が段階78および段階80で示すように行われる。特に、段階78で、(たとえば、I/Oデバイス26を介した)モバイルデバイス12とのユーザ対話は、たとえば、ユーザアクティビティトラッカーモジュール40を使用してモニタされる。段階80で、モバイルデバイス12の通信範囲内の無線リンクアクティビティは、たとえば、RLL観測モジュール50を使用して追跡される。ユーザアクティビティトラッカーモジュール40およびRLL観測モジュールを、メモリ22に記憶されプロセッサ20によって実行されるソフトウェア24を介してなど、様々な方法で実装することができる。
【００４３】
段階78および/または段階80での観測に基づいて、段階82で、前記観測が、接続性が回復したことを示すかどうかが判定される。接続性が回復したことが示された場合、または段階74で接続性が存在するとわかった場合、検討中のRTO値は、たとえば、ソフトウェアおよび/またはハードウェアで実装されたRTOマネージャモジュール36を介して段階84でリセットされる。そうでない場合、プロセス70は段階76に戻り、RTOがさらに増加し、観測が再び実行される。
【００４４】
段階78および段階80で示されるモニタリングまたは観測の動作は(たとえば、オペレーティングシステムのバックグラウンドプロセスを介してなど)同時に行われてもよく、または代替的に前記動作は(たとえば、スケジュールに従って、様々なトリガイベントに応答してなど)それぞれの時間間隔で行われてもよい。加えて、段階82および/または段階74で接続性を特定した際にRTO値が段階84でリセットされると、RTO値に関連付けられたTCPセッションに、現在のRTO値を無視し、送信を再試行するように命令することができる。別の例では、RTOリセット値がゼロまたはほぼゼロである場合に実質的に直ちに再送信が再試行されるように、既存のRTOをリセットしたRTOと置き換えることができる。
【００４５】
図1、図2、図3、図4、図5、図6および/または図7に示す構成要素、ステップ、特徴および/または機能のうちの1つまたは複数は、単一の構成要素、ステップ、特徴または機能に再構成され、および/または組み合わせられ、あるいは、いくつかの構成要素、ステップ、または機能で具現化され得る。また、本発明から逸脱することなく追加の要素、構成要素、ステップ、および/または機能が追加され得る。図1、図2、図3、図4および/または図5に示す装置、デバイス、および/または構成要素は、図6および/または図7で説明する方法、特徴、またはステップのうちの1つまたは複数を実行するように構成され得る。本明細書で説明する新規のアルゴリズムはまた、効率的にソフトウェアに実装することができ、かつ/またはハードウェアに埋め込むことができる。
【００４６】
また、少なくともいくつかの実装形態が、フローチャート、流れ図、構造図、またはブロック図として描写されたプロセスとして説明したことに留意されたい。フローチャートは動作を逐次プロセスとして説明し得るが、動作の多くは並行してまたは同時に実行することができる。加えて、動作の順序は並び替えることができる。プロセスは、その動作が完了したときに終了する。プロセスは、方法、関数、手順、サブルーチン、サブプログラムなどに対応し得る。プロセスが関数に対応するとき、プロセスの終了は、関数呼出しまたはメイン関数に対する関数のリターンに対応する。
【００４７】
さらに、実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、またはそれらの任意の組合せによって実装され得る。ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコードで実装されるとき、必要なタスクを実行するプログラムコードまたはコードセグメントは、記憶媒体または他のストレージなどの機械可読媒体に記憶され得る。プロセッサは必要なタスクを実行し得る。コードセグメントは、手順、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、または命令、データ構造もしくはプログラムステートメントの任意の組合せを表し得る。コードセグメントは、情報、データ、引数、パラメータ、またはメモリ内容をパスおよび/または受信することによって、別のコードセグメントまたはハードウェア回路に結合され得る。情報、引数、パラメータ、データなどは、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク送信などを含む、任意の適切な手段を介してパス、転送、または送信され得る。
【００４８】
「機械可読媒体」、「コンピュータ可読媒体」、および/または「プロセッサ可読媒体」という用語は、限定はしないが、ポータブルまたは固定のストレージデバイス、光ストレージデバイス、ならびに命令および/またはデータを記憶、含有または搬送することができる様々な他の非一時的媒体を含み得る。したがって、本明細書で説明する様々な方法は、「機械可読媒体」、「コンピュータ可読媒体」および/または「プロセッサ可読媒体」に記憶され、1つまたは複数のプロセッサ、機械および/またはデバイスによって実行され得る命令および/またはデータによって、部分的にまたは完全に実装され得る。
【００４９】
本明細書で開示する例に関して説明する方法またはアルゴリズムは、ハードウェアで、プロセッサによって実行可能なソフトウェアモジュールで、または両方の組合せで、処理ユニット、プログラム命令、または他の指示の形態で直接具現化され得、単一のデバイスに含まれるかまたは複数のデバイスにわたって分散され得る。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意の他の形態の記憶媒体に常駐し得る。記憶媒体は、プロセッサがその記憶媒体から情報を読み取り、その記憶媒体に情報を書き込むことができるようにプロセッサに結合され得る。代替として、記憶媒体はプロセッサと一体であり得る。
【００５０】
さらに、本明細書で開示する実施形態に関して説明する様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得ることを当業者は諒解されよう。ハードウェアおよびソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップについて、それらの機能に関して概括的に上記で説明してきた。そのような機能をハードウェアとして実装するか、またはソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課される設計制約に依存する。
【００５１】
本明細書で説明する本発明の様々な特徴は、本発明から逸脱することなく様々なシステムで実装され得る。上記の実施形態は例にすぎず、本発明を限定するものと解釈すべきではないことに留意されたい。実施形態の説明は、例示的なものであり、特許請求の範囲を限定するものではない。したがって、本教示は、他のタイプの装置、ならびに多くの代替形態、変更形態、および変形形態に容易に適用され得ることが当業者には明らかであろう。
【符号の説明】
【００５２】
10  ワイヤレス通信システム
12  モバイルアクセス端末(AT)
14  ランシーバ基地局(BTS)
16  セル
18  基地局コントローラ(BSC)
20  プロセッサ
22  メモリ
24  ソフトウェア
26  I/Oデバイス
28  アンテナ
30  トランシーバ
32  環境モニタモジュール
34  接続性トラッカーモジュール
36  RTOマネージャモジュール
40  ユーザアクティビティトラッカーモジュール
50  無線リンクレイヤ観測モジュール
60  プロセス
70  プロセス
【図１】
0005856300.tif 000002
【図２】
0005856300.tif 000003
【図３】
0005856300.tif 000004
【図４】
0005856300.tif 000005
【図５】
0005856300.tif 000006
【図６】
0005856300.tif 000007
【図７】
0005856300.tif 000008