(57)【特許請求の範囲】
【請求項１】
モバイルデバイス上で実行されるように構成されたアプリケーションを管理するための方法であって、
前記モバイルデバイス上で実行される1つまたは複数のアプリケーションから1つまたは複数のネットワークアクセス要求を受信するステップと、
前記モバイルデバイスがバックグラウンドモードで動作していると判定するステップと、
前記判定に基づいて前記1つまたは複数のネットワークアクセス要求のネットワークへの送信を抑制するステップであって、前記抑制するステップは、前記1つまたは複数のネットワークアクセス要求を削除するステップ、前記1つまたは複数のアプリケーションを登録するとともに、前記モバイルデバイスがフォアグラウンドモードに入ったときに前記1つまたは複数のアプリケーションを呼び出すステップ、または前記1つまたは複数のネットワークアクセス要求に基づいて前記1つまたは複数のアプリケーションの各々に更新時間および頻度を指定するステップを含む、ステップと、
前記バックグラウンドモードからの遷移時に前記1つまたは複数のネットワークアクセス要求のサブセットを送信するステップと、
を含むことを特徴とする方法。
【請求項２】
前記判定するステップは、
前記モバイルデバイスが前記バックグラウンドモードに入ったときにタイマーを始動させるステップと、
前記タイマーがまだ動作しているかどうかを判定するステップと、
前記タイマーがまだ動作している場合、前記モバイルデバイスが前記バックグラウンドモードであると判定するステップとを含む、請求項1に記載の方法。
【請求項３】
前記タイマーは、前記モバイルデバイスが前記バックグラウンドモードである期間を規定する、請求項2に記載の方法。
【請求項４】
前記モバイルデバイスは、前記タイマーが満了したときにフォアグラウンドモードに入る、請求項2に記載の方法。
【請求項５】
前記判定するステップは、
前記モバイルデバイスが前記バックグラウンドモードで動作しているかどうかを示すゲートオン/オフ周期を設定するステップと、
前記ゲートが「オフ」に設定されている場合、前記モバイルデバイスが前記バックグラウンドモードで動作していると判定するステップと、
を含む、請求項1に記載の方法。
【請求項６】
前記ゲートオフ周期は、前記モバイルデバイスが前記バックグラウンドモードである期間を規定する、請求項5に記載の方法。
【請求項７】
前記モバイルデバイスは、
前記モバイルデバイスのモデムが接続モードであること、
前記モバイルデバイスのディスプレイがオンであること、
第１のあらかじめ規定された期間内にキープレスが行われたこと、
第２のあらかじめ規定された期間内にGPSベースのロケーションサービスがアクティブに更新されたこと、
あらかじめ規定された期間内に少なくとも1つのショートメッセージサービス(SMS)メッセージが受信されたこと、
前記モバイルデバイスのスピーカーおよび/またはマイクロホンがオンであり、かつ前記モデムが第３のあらかじめ規定された期間内に接続モードであったこと、ならびに
前記モバイルデバイスのカメラがオンであること、
の各条件のうちの少なくとも1つが満たされたときには前記バックグラウンドモードでは動作していない、請求項1に記載の方法。
【請求項８】
前記抑制するステップは、
前記モバイルデバイスがフォアグラウンドモードに入るまで前記1つまたは複数のネットワークアクセス要求を保持するステップを含む、請求項1に記載の方法。
【請求項９】
前記保持するステップは、
前記1つまたは複数のアプリケーションに関連する１つまたは複数の実行スレッドをフリーズさせるステップを含む、請求項8に記載の方法。
【請求項１０】
前記1つまたは複数のネットワークアクセス要求は1つまたは複数のソケットを開くための1つまたは複数の要求を含む、請求項8に記載の方法。
【請求項１１】
前記抑制するステップは、
前記1つまたは複数のネットワークアクセス要求を削除するステップを含む、請求項1に記載の方法。
【請求項１２】
前記1つまたは複数のネットワークアクセス要求は1つまたは複数のソケット接続を含む、請求項11に記載の方法。
【請求項１３】
前記抑制するステップは、
前記1つまたは複数のアプリケーションを登録するステップと、
前記モバイルデバイスがフォアグラウンドモードに入ったときに前記1つまたは複数のアプリケーションを呼び出すステップを含む、請求項1に記載の方法。
【請求項１４】
前記1つまたは複数のネットワークアクセス要求は1つまたは複数のアプリケーションからの1つまたは複数のコールバック関数を含む、請求項13に記載の方法。
【請求項１５】
前記抑制するステップは、
前記1つまたは複数のネットワークアクセス要求に基づいて前記1つまたは複数のアプリケーションの各々に更新時間および頻度を指定するステップを含む、請求項1に記載の方法。
【請求項１６】
前記1つまたは複数のネットワークアクセス要求は前記1つまたは複数のアプリケーションからの1つまたは複数の登録要求を含む、請求項15に記載の方法。
【請求項１７】
前記1つまたは複数の登録要求は前記1つまたは複数のアプリケーションの好ましい更新頻度を含む、請求項16に記載の方法。
【請求項１８】
前記1つまたは複数のネットワークアクセス要求は1つまたは複数の同期要求を含む、請求項1に記載の方法。
【請求項１９】
前記モバイルデバイスを動作させるフォアグラウンドモードに入るステップをさらに含む、請求項1に記載の方法。
【請求項２０】
前記入るステップは、
バックグラウンドモードタイマーが満了したと判定するステップと、
前記バックグラウンドモードタイマーが満了したことに応答して前記フォアグラウンドモードに入るステップと、
を含む、請求項19に記載の方法。
【請求項２１】
前記入るステップは、
前記モバイルデバイスがユーザ入力を受信したと判定するステップと、
前記ユーザ入力に応答して前記フォアグラウンドモードに入るステップと、
を含む、請求項19に記載の方法。
【請求項２２】
前記入るステップは、
前記モバイルデバイスがネットワーク主導型データを受信したと判定するステップと、
前記ネットワーク主導型データを受信したことに応答して前記フォアグラウンドモードに入るステップと、
を含む、請求項19に記載の方法。
【請求項２３】
前記送信するステップは、
前記1つまたは複数のアプリケーションの前記サブセットが1つまたは複数のソケット接続を確立するのを可能にするステップを含む、請求項1に記載の方法。
【請求項２４】
前記送信するステップは、
前記1つまたは複数のアプリケーションに関連する１つまたは複数の実行スレッドをアンフリーズさせるステップを含む、請求項1に記載の方法。
【請求項２５】
前記送信するステップは、
1つまたは複数のコールバック関数によって前記1つまたは複数のアプリケーションを呼び出すステップを含む、請求項1に記載の方法。
【請求項２６】
前記モバイルデバイスは、
第１のあらかじめ規定された持続時間にわたってモデムデータ活動がなく、
第２のあらかじめ規定された持続時間にわたってユーザの相互作用がなく、かつ
前記モバイルデバイスがテザードモードではないときに前記バックグラウンドモードに入る、請求項1に記載の方法。
【請求項２７】
モバイルデバイス上で実行されるように構成されたアプリケーションを管理するための装置であって、
前記モバイルデバイス上で実行される1つまたは複数のアプリケーションから1つまたは複数のネットワークアクセス要求を受信し、前記モバイルデバイスがバックグラウンドモードで動作していると判定し、前記判定に基づいて前記1つまたは複数のネットワークアクセス要求のネットワークへの送信を抑制するように構成されたコネクティビティマネージャであって、前記送信を抑制するように構成されたコネクティビティマネージャは、前記1つまたは複数のネットワークアクセス要求を削除するか、前記1つまたは複数のアプリケーションを登録するとともに、前記モバイルデバイスがフォアグラウンドモードに入ったときに前記1つまたは複数のアプリケーションを呼び出すか、または前記1つまたは複数のネットワークアクセス要求に基づいて前記1つまたは複数のアプリケーションの各々に更新時間および頻度を指定するように構成される、コネクティビティマネージャと、
前記バックグラウンドモードからの遷移時に前記1つまたは複数のネットワークアクセス要求のサブセットを送信するように構成された送信器と、
を備えることを特徴とする装置。
【請求項２８】
モバイルデバイス上で実行されるように構成されたアプリケーションを管理するための装置であって、
前記モバイルデバイス上で実行される1つまたは複数のアプリケーションから1つまたは複数のネットワークアクセス要求を受信するための手段と、
前記モバイルデバイスがバックグラウンドモードで動作していると判定するための手段と、
前記判定に基づいて前記1つまたは複数のネットワークアクセス要求のネットワークへの送信を抑制するための手段であって、前記抑制するための手段は、前記1つまたは複数のネットワークアクセス要求を削除するための手段、前記1つまたは複数のアプリケーションを登録するとともに、前記モバイルデバイスがフォアグラウンドモードに入ったときに前記1つまたは複数のアプリケーションを呼び出すための手段、または前記1つまたは複数のネットワークアクセス要求に基づいて前記1つまたは複数のアプリケーションの各々に更新時間および頻度を指定するための手段を含む、手段と、
前記バックグラウンドモードからの遷移時に前記1つまたは複数のネットワークアクセス要求のサブセットを送信するための手段と、
を備えることを特徴とする装置。
【請求項２９】
モバイルデバイス上で実行されるように構成されたアプリケーションを管理するための非一時的コンピュータ可読記録媒体であって、
前記モバイルデバイス上で実行される1つまたは複数のアプリケーションから1つまたは複数のネットワークアクセス要求を受信するための少なくとも1つの命令と、
前記モバイルデバイスがバックグラウンドモードで動作していると判定するための少なくとも1つの命令と、
前記判定に基づいて前記1つまたは複数のネットワークアクセス要求のネットワークへの送信を抑制するための少なくとも1つの命令であって、前記抑制するための少なくとも1つの命令は、前記1つまたは複数のネットワークアクセス要求を削除するための少なくとも1つの命令、前記1つまたは複数のアプリケーションを登録するとともに、前記モバイルデバイスがフォアグラウンドモードに入ったときに前記1つまたは複数のアプリケーションを呼び出すための少なくとも1つの命令、または前記1つまたは複数のネットワークアクセス要求に基づいて前記1つまたは複数のアプリケーションの各々に更新時間および頻度を指定するための少なくとも1つの命令を含む、命令と、
前記バックグラウンドモードからの遷移時に前記1つまたは複数のネットワークアクセス要求のサブセットを送信するための少なくとも1つの命令と、
を含むことを特徴とするコンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、バックグラウンドアプリケーションのためのシグナリング負荷オーバヘッドおよびバッテリー消費量の最適化に関する。
【背景技術】
【０００２】
ワイヤレス通信システムは、第1世代アナログワイヤレス電話サービス(1G)、第2世代(2G)デジタルワイヤレス電話サービス(暫定の2.5Gおよび2.75Gネットワークを含む)、ならびに第3世代(3G)高速データ/インターネット対応ワイヤレスサービスを含む、様々な世代を通じて発展してきた。現在、セルラーシステムおよびパーソナル通信サービス(PCS)システムを含む、多くの様々なタイプのワイヤレス通信システムが使用されている。知られているセルラーシステムの例には、セルラーAMPS(Analog Advanced Mobile Phone System)、および、符号分割多元接続(CDMA)、周波数分割多元接続(FDMA)、時分割多元接続(TDMA)、TDMAのGSM（登録商標）(Global System for Mobile access)変形に基づくデジタルセルラーシステム、および、TDMA技術とCDMA技術の両方を使用するより新しいハイブリッドデジタル通信システムがある。
【０００３】
CDMAモバイル通信を提供するための方法は、本明細書ではIS-95と呼ぶ、「Mobile Station-Base Station Compatibility Standard for Dual-Mode Wideband Spread Spectrum Cellular System」と題するTIA/EIA/IS-95-Aにおいて、米国電気通信工業会/米国電子工業会によって米国で規格化された。複合AMPS&CDMAシステムは、TIA/EIA規格IS-98に記載されている。他の通信システムは、広帯域CDMA(W-CDMA（登録商標）)、CDMA2000(たとえばCDMA2000 1xEV-DO規格など)またはTD-SCDMAと呼ばれるものを対象とする、IMT-2000/UM、すなわちInternational Mobile Telecommunications System 2000/Universal Mobile Telecommunications System規格に記載されている。
【０００４】
「スマートフォン」、タブレット、ラップトップなどのモバイルデバイスは、動的に更新する必要がある、同時に実行されるいくつかのアプリケーション(「apps」)を有することがある(Twitter(登録商標)、Facebook(登録商標)、Yahoo! Finance(登録商標)など)。各アプリケーションはそれ自体の実装形態固有のタイミングに基づいて定期的にアプリケーションのコンテンツを更新する。これらの更新は、更新されたコンテンツがユーザによってただちに使用されないことがあるにもかかわらず行われる。さらに、これらの更新が各アプリケーションにおいて調整されることはなく、無線接続がより頻繁に行われ、したがって、シグナリング負荷および/またはバッテリー消費量が増大する。
【発明の概要】
【課題を解決するための手段】
【０００５】
本開示は、モバイルデバイス上で実行されるように構成されたアプリケーションを管理することに関する。本開示の実施形態は、モバイルデバイス上で実行される1つまたは複数のアプリケーションからの1つまたは複数のネットワークアクセス要求を受信し、モバイルデバイスがバックグラウンドモードで動作していると判定し、判定に基づいてネットワークに対する1つまたは複数のネットワークアクセス要求のネットワークへの送信を抑制し、バックグラウンドモードからの遷移時に1つまたは複数のネットワークアクセス要求のサブセットを送信する。
【０００６】
添付の図面は、本発明の実施形態の説明を助けるために提示され、実施形態の限定ではなく、実施形態の例示のためのみに提供される。
【図面の簡単な説明】
【０００７】
【図１】本発明の少なくとも1つの実施形態による、アクセス端末とアクセスネットワークとをサポートするワイヤレスネットワークアーキテクチャの図である。
【図２】図1のワイヤレス通信システムの一例をより詳細に示す図である。
【図３】本発明の少なくとも1つの実施形態によるユーザ機器(UE)を示す図である。
【図４】機能を実行するように構成された論理回路を含む通信デバイスを示す図である。
【図５】本発明のある実施形態による方法を示す図である。
【図６】本発明の例示的な実施形態を示す図である。
【図７】本発明の例示的な実施形態を示す図である。
【図８】本発明の一実施形態の例示的なタイムラインを示す図である。
【図９】本発明の例示的な実施形態を示す図である。
【図１０】本発明のある実施形態による方法を示す図である。
【図１１】本発明の例示的な実施形態を示す図である。
【図１２】本発明の一実施形態の試験結果を示す図である。
【図１３】本発明の一実施形態の試験結果を示す図である。
【図１４】本発明の一実施形態の試験結果を示す図である。
【図１５】本発明の一実施形態の試験結果を示す図である。
【発明を実施するための形態】
【０００８】
本発明の特定の実施形態を対象とする以下の説明および関連する図面において、本発明の態様が開示される。本発明の範囲から逸脱することなく、代替の実施形態が考案され得る。さらに、本発明の関連する詳細を不明瞭にしないように、本発明のよく知られている要素は詳細に記載されないか、または省略される。
【０００９】
「例示的な」という言葉は、「例、実例、または例示として機能すること」を意味するために本明細書で使用される。「例示的な」として本明細書で説明される任意の実施形態は、必ずしも他の実施形態よりも好ましいか、または有利であると解釈されるべきではない。同様に、「本発明の実施形態」という用語は、本発明のすべての実施形態が、論じられた特徴、利点または動作モードを含むことを必要としない。
【００１０】
本明細書で使用される用語は、特定の実施形態の説明のみを目的とするものであり、本発明の実施形態を限定するものではない。本明細書で使用する単数形「a」、「an」、および「the」は、文脈が別段に明確に示すのでなければ、複数形をも含むものとする。さらに、本明細書で使用する「含む(comprises)」、「含んでいる(comprising)」、「含む(includes)」、および/または「含んでいる(including)」という用語は、述べられた特徴、整数、ステップ、動作、要素、および/またはコンポーネントの存在を明示するが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、コンポーネント、および/またはそれらのグループの存在または追加を排除しないことを理解されよう。
【００１１】
さらに、多くの実施形態について、たとえばコンピューティングデバイスの要素によって実行されるべき、一連の動作に関して説明する。本明細書で説明される様々な動作は、特定の回路(たとえば、特定用途向け集積回路(ASIC))によって、1つまたは複数のプロセッサによって実行されるプログラム命令によって、あるいは両方の組合せによって実行され得ることが認識されよう。加えて、本明細書で説明されるこれらの一連の動作は、実行時に、関連するプロセッサに本明細書で説明される機能を実行させるコンピュータ命令の対応するセットを記憶した、任意の形式のコンピュータ可読記憶媒体内で全体として具現化されるものと見なされ得る。したがって、本発明の様々な態様は、特許請求する主題の範囲内にすべて入ることが企図されているいくつかの異なる形式で具現化され得る。さらに、本明細書で説明する実施形態ごとに、任意のそのような実施形態の対応する形式について、本明細書では、たとえば、記載されたアクションを実行する「ように構成された論理回路(logic)」として説明することがある。(たとえば、以下に図4に関してより詳しく説明する)。
【００１２】
本明細書ではユーザ機器(UE)と呼ばれるHigh Data Rate(HDR)加入者局は、移動式でも固定式でもよく、Node Bと呼ばれ得る1つまたは複数のアクセスポイント(AP)と通信することができる。UEは、Node Bのうちの1つまたは複数を介して、無線ネットワークコントローラ(RNC)との間でデータパケットを送受信する。Node BおよびRNCは、無線アクセスネットワーク(RAN)と呼ばれるネットワークの部分である。無線アクセスネットワークは、複数のアクセス端末間で音声パケットおよびデータパケットを運ぶことができる。
【００１３】
無線アクセスネットワークは、無線アクセスネットワークの外部の追加のネットワークにさらに接続されていてもよく、そのようなコアネットワークは、特定のキャリア関連のサーバおよびデバイス、ならびに企業内イントラネット、インターネット、公衆交換電話網(PSTN)、Serving General Packet Radio Service (GPRS) Support Node(SGSN)、Gateway GPRS Support Node(GGSN)のような他のネットワークへの接続を含んでおり、各UEとそのようなネットワークとの間で音声パケットおよびデータパケットを運ぶことができる。1つまたは複数のNode Bとのアクティブなトラフィックチャネル接続を確立したUEは、アクティブなUEと呼ばれることがあり、トラフィック状態であると呼ばれることがある。1つまたは複数のNode Bとのアクティブなトラフィックチャネル(TCH)接続を確立する過程にあるUEは、接続セットアップ状態であると呼ばれることがある。UEは、ワイヤレスチャネルまたは有線チャネルを介して通信する任意のデータデバイスであり得る。UEは、さらに、限定はされないが、PCカード、コンパクトフラッシュ（登録商標）デバイス、外付けまたは内蔵のモデム、またはワイヤレスもしくは有線の電話を含むいくつかのタイプのデバイスのうちのいずれかであり得る。UEが信号をNode Bに送る通信リンクは、アップリンクチャネル(たとえば、逆方向トラフィックチャネル、制御チャネル、アクセスチャネルなど)と呼ばれる。Node Bが信号をUEに送る通信リンクは、ダウンリンクチャネル(たとえば、ページングチャネル、制御チャネル、ブロードキャストチャネル、順方向トラフィックチャネルなど)と呼ばれる。本明細書で使用される場合、トラフィックチャネル(TCH)という用語は、アップリンク/逆方向トラフィックチャネル、またはダウンリンク/順方向トラフィックチャネルのいずれかを指し得る。
【００１４】
図1は、本発明の少なくとも1つの実施形態による、ワイヤレス通信システム100の1つの例示的な実施形態のブロック図を示す。システム100は、パケット交換データネットワーク(たとえばイントラネット、インターネット、および/またはコアネットワーク126)とUE102、108、110、112との間にデータ接続を提供するネットワーク機器にUE102を接続することができるアクセスネットワークまたは無線アクセスネットワーク(RAN)120と、エアインターフェース104を介して通信している、携帯電話102のようなUEを含み得る。本明細書で示されるように、UEは、携帯電話102、携帯情報端末108、本明細書では双方向テキストページャとして示されるページャ110、さらにはワイヤレス通信ポータルを有する個別のコンピュータプラットフォーム112であってよい。したがって、本発明の実施形態は、ワイヤレスモデム、PCMCIAカード、パーソナルコンピュータ、電話、またはそれらの任意の組合せもしくは部分的な組合せを限定することなく含む、ワイヤレス通信ポータルを含みまたはワイヤレス通信機能を有する、任意の形態のUE上で実現され得る。さらに、本明細書で使用するように、他の通信プロトコル(すなわちW-CDMA（登録商標）以外)における「UE」という用語は、互換的に「アクセス端末」、「AT」、「ワイヤレスデバイス」、「クライアントデバイス」、「モバイル端末」、「移動局」、およびそれらの変形と呼ばれ得る。
【００１５】
再び図1を参照すると分かるように、ワイヤレス通信システム100のコンポーネント、および本発明の例示的な実施形態の要素の相互関係は、図示の構成に限定されない。システム100は、例にすぎず、ワイヤレスクライアントコンピューティングデバイス102、108、110、112などのリモートUEが、無線で互いの間で、かつ/または、限定はされないが、コアネットワーク126、インターネット、PSTN、SGSN、GGSN、および/もしくは他のリモートサーバを含む、エアインターフェース104およびRAN120を介して接続されるコンポーネントの間で通信することを可能にする、任意のシステムを含み得る。
【００１６】
RAN120は、RNC122に送信される(一般的にデータパケットとして送信される)メッセージを制御する。RNC122は、Serving General Packet Radio Services (GPRS) Support Node(SGSN)とUE102/108/110/112との間のベアラチャネル(すなわち、データチャネル)のシグナリング、確立、および切断を担う。また、リンクレイヤ暗号化が可能な場合、RNC122は、エアインターフェース104を介してコンテンツを転送する前に、コンテンツを暗号化する。RNC122の機能は、当技術分野でよく知られており、簡潔のためにこれ以上は説明しない。コアネットワーク126は、ネットワーク、インターネット、および/または公衆交換電話網(PSTN)によってRNC122と通信することができる。代替として、RNC122は、インターネットまたは外部ネットワークに直接接続することができる。一般的に、コアネットワーク126とRNC122との間のネットワークまたはインターネット接続は、データを転送し、PSTNは、音声情報を転送する。RNC122は、複数のNode B124に接続され得る。コアネットワーク126と同様の方法で、RNC122は一般的に、データ転送および/または音声情報のために、ネットワーク、インターネット、および/またはPSTNによってNode B124に接続される。Node B124は、データメッセージを、携帯電話102のようなUEへワイヤレスにブロードキャストすることができる。当技術分野で知られているように、Node B124、RNC122、および他のコンポーネントが、RAN120を形成することができる。しかしながら、代替構成が使用されてもよく、本発明は、図示の構成に限定されない。たとえば、別の実施形態では、RNC122、およびNode B124のうちの1つまたは複数の機能は、RNC122とNode B124の両方の機能を有する単一の「ハイブリッド」モジュールに収められてよい。
【００１７】
図2は、図1のワイヤレス通信システム100の一例をより詳細に示す。具体的には、図2を参照すると、UE1...Nは、異なるパケットデータネットワークのエンドポイントによってサービスされる位置でRAN120に接続するものとして示されている。図2の例示は、W-CDMA（登録商標）システムおよび専門用語に固有のものであるが、様々な他のワイヤレス通信プロトコル(たとえば、LTE、EV-DO、UMTSなど)に適合するように図2をどのように修正することができるか、および様々な実施形態が例示されたシステムまたは要素に限定されないことが諒解されよう。
【００１８】
したがって、UE1およびUE3は、第1のパケットデータネットワークエンドポイント162(たとえば、SGSN、GGSN、PDSN、ホームエージェント(HA)、外部エージェント(FA)などに対応し得る)によってサービスされる部分でRAN120に接続する。第1のパケットデータネットワークエンドポイント162は、次に、ルーティングユニット188を介して、インターネット175、ならびに/または、認証、認可およびアカウンティング(AAA)サーバ182、プロビジョニングサーバ184、インターネットプロトコル(IP)マルチメディアサブシステム(IMS)/セッション開始プロトコル(SIP)登録サーバ186、および/もしくはアプリケーションサーバ170のうちの1つもしくは複数に接続する。UE2およびUE5...Nは、第2のパケットデータネットワークエンドポイント164(たとえば、SGSN、GGSN、PDSN、FA、HAなどに対応し得る)によってサービスされる部分でRAN120に接続する。第1のパケットデータネットワークエンドポイント162と同様に、第2のパケットデータネットワークエンドポイント164は、次に、ルーティングユニット188を介して、インターネット175、ならびに/またはAAAサーバ182、プロビジョニングサーバ184、IMS/SIP登録サーバ186、および/もしくはアプリケーションサーバ170のうちの1つもしくは複数に接続する。UE4は、直接インターネット175に接続し、次いでインターネット175を通じて、上記のシステムコンポーネントのうちのいずれかに接続することができる。
【００１９】
図2を参照すると、UE1、UE3、およびUE4...Nはワイヤレス携帯電話として示され、UE2はワイヤレスタブレットおよび/またはラップトップPCとして示されている。しかし、他の実施形態では、ワイヤレス通信システム100を任意の種類のUEに接続することができ、かつ図2に示されている例がシステム内に実装できるUEの種類を限定するものではないことが諒解されよう。
【００２０】
図3を参照すると、たとえば携帯電話などのUE200(ここではワイヤレスデバイス)は、プラットフォーム202を有し、プラットフォーム202は、RAN120から送信され、最終的にはコアネットワーク126、インターネット、および/または他のリモートサーバおよびネットワークから来る可能性がある、ソフトウェアアプリケーション、データ、および/またはコマンドを受信し、実行することができる。プラットフォーム202は、特定用途向け集積回路(「ASIC」208)または他のプロセッサ、マイクロプロセッサ、論理回路、または他のデータ処理デバイスに動作可能に結合された送受信機206を含み得る。ASIC208または他のプロセッサは、ワイヤレスデバイスのメモリ212中の任意の常駐プログラムとインターフェースするアプリケーションプログラミングインターフェース(「API」)210レイヤを実行する。メモリ212は、読取り専用メモリまたはランダムアクセスメモリ(RAMおよびROM)、EEPROM、フラッシュカード、またはコンピュータプラットフォームに共通の任意のメモリから構成され得る。プラットフォーム202は、メモリ212中でアクティブに使用されないアプリケーションを保持することができるローカルデータベース214も含み得る。ローカルデータベース214は、一般的にフラッシュメモリセルであるが、磁気媒体、EEPROM、光学媒体、テープ、ソフトまたはハードディスクなど、当技術分野で知られている任意の二次記憶デバイスであってもよい。内部プラットフォーム202のコンポーネントはまた、当技術分野で知られていているように、コンポーネントのうちでもとりわけ、アンテナ222、ディスプレイ224、プッシュツートークボタン228およびキーパッド226のような外部デバイスに動作可能に結合され得る。
【００２１】
したがって、本発明のある実施形態は、本明細書で説明された機能を実行する能力を含むUEを含み得る。当業者が諒解するように、様々な論理回路要素は、本明細書で開示される機能を達成するために、個別の要素、プロセッサ上で実行されるソフトウェアモジュール、またはソフトウェアとハードウェアとの任意の組合せで具現化され得る。たとえば、ASIC208、メモリ212、API210およびローカルデータベース214がすべて協働的に使用されて、本明細書で開示される様々な機能をロードし、記憶し、実行することができ、したがってこれらの機能を実行するための論理回路は様々な要素にわたって分散され得る。代替的に、機能は、1つの個別構成要素に組み込まれ得る。したがって、図3のUE200の特徴は、単に例示にすぎないものと見なされ、本発明は、示された特徴または構成に限定されない。
【００２２】
UE102またはUE200とRAN120との間のワイヤレス通信は、たとえば符号分割多元接続(CDMA)、W-CDMA（登録商標）、時分割多元接続(TDMA)、周波数分割多元接続(FDMA)、直交周波数分割多元(OFDM)、Global System for Mobile Communications(GSM（登録商標）)、3GPPロングタームエボリューション(LTE)、またはワイヤレス通信ネットワークもしくはデータ通信ネットワークで使用され得る他のプロトコルなどの、様々な技術に基づき得る。したがって、本明細書で提供される例は、本発明の実施形態を限定するためのものではなく、単に本発明の実施形態の態様の説明を助けるためのものにすぎない。
【００２３】
図4は、機能を実行するように構成された論理回路を含む通信デバイス400を示す。通信デバイス400は、限定はしないが、UE102、108、110、112または200、ノードBまたは基地局120、RNCまたは基地局制御装置122、パケットデータネットワークエンドポイント(たとえば、SGSN160、GGSN165、Long Term Evolution(LTE)のモビリティ管理エンティティ(MME)など)、サーバ170〜186のいずれかなどを含む上記の通信デバイスのいずれかに対応し得る。したがって、通信デバイス400は、ネットワークを介して1つまたは複数の他のエンティティと通信する(または通信を容易にする)ように構成されたどの電子デバイスにも対応し得る。
【００２４】
図4を参照すると、通信デバイス400は、情報を受信および/または送信するように構成された論理回路405を含む。ある例では、通信デバイス400がワイヤレス通信デバイス(たとえば、UE200、Node B124など)に対応する場合、情報を受信および/または送信するように構成された論理回路405は、ワイヤレス送受信機および関連するハードウェア(たとえば、RFアンテナ、モデム、変調器および/または復調器など)のようなワイヤレス通信インターフェース(たとえば、Bluetooth（登録商標）、WiFi（登録商標）、2G、3Gなど)を含み得る。別の例では、情報を受信および/または送信するように構成された論理回路405は、有線通信インターフェース(たとえば、インターネット175にアクセスする手段となり得るシリアル接続、USBまたはFirewire（登録商標）接続、イーサネット（登録商標）接続など)に対応し得る。したがって、通信デバイス400が何らかのタイプのネットワークベースのサーバ(たとえば、SGSN160、GGSN165、アプリケーションサーバ170など)に対応する場合、情報を受信および/または送信するように構成された論理回路405は、一例では、ネットワークベースのサーバをイーサネット（登録商標）プロトコルを介して他の通信エンティティに接続するイーサネット（登録商標）カードに対応し得る。さらなる一例では、情報を受信および/または送信するように構成された論理回路405は、通信デバイス400がそのローカル環境を監視する手段となり得る知覚または測定ハードウェア(たとえば、加速度計、温度センサ、光センサ、ローカルRF信号を監視するためのアンテナなど)を含むことができる。情報を受信および/または送信するように構成された論理回路405は、実行されると、その受信および/または送信機能を実施するための、情報を受信および/または送信するように構成された論理回路405の関連ハードウェアを許可するソフトウェアも含み得る。ただし、情報を受信および/または送信するように構成された論理回路405は、ソフトウェア単体に対応するのではなく、情報を受信および/または送信するように構成された論理回路405は、その機能性を遂行するためのハードウェアに少なくとも部分的に依拠する。
【００２５】
図4を参照すると、通信デバイス400は、情報を処理するように構成された論理回路410をさらに含む。一例では、情報を処理するように構成された論理回路410は、少なくともプロセッサを含み得る。情報を処理するように構成された論理回路410によって実施することができる処理タイプの例示的実装形態は、判断を実施すること、接続を確立すること、異なる情報選択肢の間での選択を行うこと、データに関連した評価を実施すること、測定動作を実施するための、通信デバイス400に結合されたセンサと対話すること、ある形式から別の形式に(たとえば、.wmvから.aviなど、異なるプロトコルの間で)情報を変換することなどを含むが、それに限定されない。たとえば、情報を処理するように構成された論理回路410に含まれるプロセッサは、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブル論理回路デバイス、個別ゲートまたはトランジスタ論理回路、個別ハードウェア構成要素、あるいは本明細書で説明する機能を実施するように設計されたそれらの任意の組合せに相当し得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。情報を処理するように構成された論理回路410は、実行されると、情報を処理するように構成された論理回路410の関連ハードウェアがその処理機能を実施することを可能にするソフトウェアも含み得る。ただし、情報を処理するように構成された論理回路410は、ソフトウェア単体に対応するのではなく、情報を処理するように構成された論理回路410は、その機能性を遂行するためのハードウェアに少なくとも部分的に依拠する。
【００２６】
図4を参照すると、通信デバイス400は、情報を記憶するように構成された論理回路415をさらに含む。一例では、情報を記憶するように構成された論理回路415は、少なくとも非一時的メモリおよび関連ハードウェア(たとえば、メモリコントローラなど)を含み得る。たとえば、情報を記憶するように構成された論理回路415に含まれる非一時的メモリは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意の他の形態の記憶媒体に相当し得る。情報を記憶するように構成された論理回路415は、実行されると、情報を記憶するように構成された論理回路415の関連ハードウェアがその記憶機能を実施することを可能にするソフトウェアも含み得る。ただし、情報を記憶するように構成された論理回路415は、ソフトウェア単体に対応するのではなく、情報を記憶するように構成された論理回路415は、その機能性を遂行するためのハードウェアに少なくとも部分的に依拠する。
【００２７】
図4を参照すると、通信デバイス400はさらに、情報を提示するように構成された論理回路420を任意選択で含む。ある例では、情報を表示するように構成された論理回路420は、少なくとも出力デバイスおよび関連ハードウェアを含み得る。たとえば、出力デバイスは、ビデオ出力デバイス(たとえば、ディスプレイスクリーン、USB、HDMI（登録商標）のようなビデオ情報を搬送することができるポートなど)、オーディオ出力デバイス(たとえば、スピーカー、マイクロホンジャック、USB、HDMI（登録商標）のようなオーディオ情報を搬送することができるポートなど)、振動デバイス、および/または、情報が出力のためにフォーマットされる際、または通信デバイス400のユーザもしくは操作者によって実際に出力される際の手段となり得る任意の他のデバイスを含み得る。たとえば、通信デバイス400が、図3に示されるようなUE200に対応する場合、情報を提示するように構成された論理回路420は、ディスプレイ224を含み得る。さらに別の例では、情報を提示するように構成された論理回路420は、ローカルユーザをもたないネットワーク通信デバイス(たとえば、ネットワークスイッチやルータ、リモートサーバなど)のような、いくつかの通信デバイスに対しては省略されてよい。情報を提示するように構成された論理回路420は、実行されると、情報を提示するように構成された論理回路420の関連ハードウェアがその提示機能を実行することを可能にする、ソフトウェアも含み得る。しかしながら、情報を提示するように構成された論理回路420は、ソフトウェア単体に対応するのではなく、情報を提示するように構成された論理回路420は、その機能を達成するためのハードウェアに少なくとも部分的に依拠する。
【００２８】
図4を参照すると、通信デバイス400はさらに、ローカルユーザ入力を受け取るように構成された論理回路425を任意選択で含む。一例では、ローカルユーザ入力を受信するように構成された論理回路425は、少なくともユーザ入力デバイスおよび関連ハードウェアを含むことができる。たとえば、ユーザ入力デバイスは、ボタン、タッチスクリーンディスプレイ、キーボード、カメラ、オーディオ入力デバイス(たとえば、マイクロホンジャックのようなオーディオ情報を搬送することができるマイクロホンもしくはポートなど)、および/または、通信デバイス400のユーザもしくは操作者から情報を受け取る際の手段となり得る任意の他のデバイスを含み得る。たとえば、通信デバイス400が、図3に示されるようなUE200に対応する場合、ローカルユーザ入力を受け取るように構成された論理回路425は、ディスプレイ224(タッチスクリーンを実装した場合)、キーパッド226などを含み得る。さらに別の例では、ローカルユーザ入力を受け取るように構成された論理回路425は、ローカルユーザをもたないネットワーク通信デバイス(たとえば、ネットワークスイッチやルータ、リモートサーバなど)のような、いくつかの通信デバイスに対しては省略されてよい。ローカルユーザ入力を受け取るように構成された論理回路425は、実行されると、ローカルユーザ入力を受け取るように構成された論理回路425の関連ハードウェアがその入力受取機能を実行することを可能にする、ソフトウェアも含み得る。しかしながら、ローカルユーザ入力を受け取るように構成された論理回路425は、ソフトウェア単体に対応するのではなく、ローカルユーザ入力を受け取るように構成された論理回路425は、その機能を達成するためのハードウェアに少なくとも部分的に依拠する。
【００２９】
図4を参照すると、405〜425の構成された論理回路は、図4では別個または相異なるブロックとして示されているが、それぞれの構成された論理回路がその機能性を実施するためのハードウェアおよび/またはソフトウェアは、部分的に重複し得ることが諒解されよう。たとえば、405〜425の構成された論理回路の機能性を容易にするのに使われるどのソフトウェアも、情報を記憶するように構成された論理回路415に関連付けられた非一時的メモリに記憶することができ、そうすることによって、405〜425の構成された論理回路は各々、その機能性(すなわち、この場合、ソフトウェア実行)を、情報を記憶するように構成された論理回路405によって記憶されたソフトウェアの動作に部分的に基づいて実施する。同様に、構成された論理回路のうちの1つに直接関連付けられたハードウェアは、他の構成された論理回路によって時々借り、または使うことができる。たとえば、情報を処理するように構成された論理回路410のプロセッサは、データを、情報を受信および/または送信するように構成された論理回路405によって送信される前に、適切な形式にフォーマットすることができ、そうすることによって、情報を受信および/または送信するように構成された論理回路405は、その機能性(すなわち、この場合、データの送信)を、情報を処理するように構成された論理回路410に関連付けられたハードウェア(すなわち、プロセッサ)の動作に部分的に基づいて実施する。
【００３０】
様々なブロックにおける構成された論理回路または「ように構成された論理回路」は、特定の論理回路ゲートまたは論理回路要素に限定されるのではなく、概して、本明細書に記載した機能性を、(ハードウェアまたはハードウェアとソフトウェアの組合せのいずれかを介して)実施するための能力を指すことが諒解されよう。したがって、様々なブロックに示す構成された論理回路または「ように構成された論理回路」は、「論理回路」という言葉を共有するにもかかわらず、必ずしも論理回路ゲートまたは論理回路要素として実装されるわけではない。様々なブロックのロジック間の他の対話または協働が、後でより詳しく説明する実施形態の検討から、当業者には明らかになるであろう。
【００３１】
モバイルデバイスは、周期的な更新を必要とする3種類のアプリケーションを有してよい。第1の種類のアプリケーションは、アプリケーション主導型更新セッション、すなわち、「プル」サービスを使用する。この例にはFacebook(登録商標)、Twitter(登録商標)、Yahoo! Finance(登録商標)などが含まれる。第2の種類のアプリケーションは、ネットワーク主導型更新セッション、すなわち、「プッシュ」サービスを有する。一例としてeメールサービスがある。第3の種類のアプリケーションは、周期的な間隔で更新しなければならない。その理由はネットワークが周期的な更新を予期しているからであり、すなわち、これは「キープアライブ」サービスである。一例としてインスタントメッセージングアプリケーションがある。第1の種類のアプリケーションについての待機時間の改善はデバイスに基づいて行うことができ、一方、他の2つの種類のアプリケーションについての改善にはネットワーク支援が有効であり得る。
【００３２】
本発明の一実施形態は、モバイルデバイス用のバックグラウンドモードおよび非バックグラウンドモードを規定し、アプリケーションの更新同士を同期させることによってシグナリング負荷オーバヘッドおよびバッテリー消費量を低減させる、バックグラウンドモードにおいて動作するモバイルデバイスの新しい挙動を規定する。
【００３３】
モバイルデバイスは、あらかじめ規定された持続時間にわたってモデムデータ活動が行われないとき、あらかじめ規定された期間にわたってユーザの相互作用がない(たとえば、キープレスがない、ディスプレイがオフである、カメラがオフである、など)とき、モバイルデバイスが「テザード」モードではない(すなわち、ラップトップなどの外部デバイスに接続されていない)ときに「バックグラウンドモード」に入る。モバイルデバイスは、特定の期間にわたって(たとえば、キーパッド、ディスプレイ、付属装置などからの)周辺アクセスがなくかつデータ活動がなかったと判定することによってバックグラウンドモードに入ってよいと判定し得る。モバイルデバイスは、バックグラウンドモードではない場合、フォアグラウンドモードである。
【００３４】
モバイルデバイスがフォアグラウンドモードであるとき、アプリケーション更新要求は修正されない。しかしながら、バックグラウンドモードであるとき、モバイルデバイスはアプリケーション更新同士を同期させることによってシグナリング負荷オーバヘッドおよびバッテリー消費量を低減させる措置を講じてよい。たとえば、モバイルデバイスは次の「ウェイクアップ」周期まですべてのソケット作成要求を保持してよい。別の例では、モバイルデバイスは、「無線ゲートオフ」周期の間任意のソケット接続をブロックまたは削除してよい。別の例では、モバイルデバイスが「ウェイクアップ」した(すなわち、フォアグラウンドモードに入った)ときに、モバイルデバイスの高レベルオペレーティングシステム(「HLOS」)が登録されているアプリケーションを呼び出してよく、それらのアプリケーションがネットワークに接続するのが可能になる。別の例では、HLOSは、登録されているアプリケーションに所与の更新率を指定し、それらのアプリケーションにアプリケーション自体の更新タイマーを維持することを要求してよい。
【００３５】
図5は、本発明の一実施形態によるバックグラウンドアプリケーションのためにシグナリング負荷オーバヘッドおよびバッテリー消費量を最適化するための方法500を示す。本発明の例示的な実施形態では、QUALCOMM'S(登録商標)コネクティビティエンジン(「CnE」)が方法500を実施してよい。代替として、モバイルデバイス上で実行される任意のコネクティビティマネージャまたはHLOSが方法500を実施してよい。
【００３６】
505において、モバイルデバイスは、更新要求などのネットワークにアクセスするための要求をアプリケーションから受信する。たとえば、要求は、図6に示すようにソケットを開くための要求(たとえば、Connect()メソッド)であってよい。別の例では、要求は、図7に示すようにソケットが作成された後の同期要求(たとえば、SYNパケット)であってよい。さらに別の例では、要求は図9に示すようにコールバック関数登録であってよい。
【００３７】
510において、モバイルデバイスは、モバイルデバイスがバックグラウンドモードであるか否かを判定する。上述のように、モバイルデバイスは、あらかじめ規定された持続時間にわたってモデムデータ活動がなく、あらかじめ規定された期間にわたってユーザとデバイスとの相互作用がなく、モバイルデバイスが「テザード」モードではないと判定したときに、バックグラウンドモードに入る。「テザード」モードは、外部デバイスが、モバイルデバイスのセルラー事業者とのコネクティビティをバックホールとして使用するために有線接続またはワイヤレス接続のいずれかを介してモバイルデバイスに接続するときのモードである。モバイルデバイスがバックグラウンドモードであることをどのように判定し得るかの例として、モバイルデバイスは、バックグラウンドモードに入るときに「ウェイクアップ」タイマーをセットしてよい。ウェイクアップタイマーが満了すると、デバイスは、図9に示すようにフォアグラウンドモードに切り替える。このようにして、ウェイクアップタイマーは、モバイルデバイスがバックグラウンドモードにおいて費やす期間を規定する。モバイルデバイスは、たとえば、ユーザ入力またはネットワーク活動に起因してウェイクアップタイマーが満了する前に「ウェイクアップ」した場合、タイマーを停止させ、次いでバックグラウンドモードに戻るときにタイマーをリセットする。したがって、モバイルデバイスは、モバイルデバイスがバックグラウンドモードであるか否かを判定するために、ウェイクアップタイマーがまだ動作しているか否かを確認するだけでよい。モバイルデバイスは、ウェイクアップすると、待ち行列に入れられた要求を処理してネットワークに転送する。
【００３８】
別の例では、追加または代替として、モバイルデバイスは図6および図7に示すように無線「ゲートオン/オフ」周期を規定する。無線ゲートは、モバイルデバイスがフォアグラウンドモードであるときに「オン」になり、モバイルデバイスがバックグラウンドモードであるときに「オフ」になる。モバイルデバイスは、無線ゲートがオフになるべき特定の期間を規定する。モバイルデバイスは、ゲートが「オン」であるかそれとも「オフ」であるかを確認してモバイルデバイスがバックグラウンドモードであるかどうかを判定してよい。モバイルデバイスは、バックグラウンドモードではない場合、525においてアプリケーションがネットワークにアクセスするのを可能にする。
【００３９】
515において、モバイルデバイスは、バックグラウンドモードである場合、アプリケーション要求をあらかじめ規定されたウェイクアップスケジュールと同期させる。たとえば、モバイルデバイスは、図6に示すように「ゲートオン」周期の開始時にフォアグラウンドモードに入るかまたはウェイクアップタイマーの満了時にフォアグラウンドモードに入るまですべてのソケットオープン要求を保持する。別の例では、モバイルデバイスは、モバイルデバイスがバックグラウンドモードである間、すなわち、図7に示すように「ゲートオフ」周期の間すべてのソケット接続をブロックまたは削除してよく、またはウェイクアップタイマーが満了するまですべてのソケット接続をブロックまたは削除してよい。別の例では、モバイルデバイスは、図9に示すようにアプリケーションから受信されたコールバック関数を登録してよい。この例では、モバイルデバイスは、モバイルデバイスがバックグラウンドモードであると判定する前または後にコールバック関数を登録してよい。
【００４０】
520において、モバイルデバイスは「ウェイクアップ」し、フォアグラウンドモードに入る。モバイルデバイスは、ウェイクアップタイマーが満了することに起因して、またはユーザ活動もしくはネットワーク活動に起因してウェイクアップしてよい。モバイルデバイスは、フォアグラウンドモードに入ったときに、(まだ、満了していない場合)ウェイクアップタイマーを停止させかつ/または無線ゲートを「オン」に設定してよい。
【００４１】
525において、モバイルデバイスは任意のアプリケーションがネットワークにアクセスするのを可能にする。たとえば、モバイルデバイスは、図6に示すように保持していたソケットオープン要求を解放してよい。別の例では、モバイルデバイスは、図7に示すようにソケット接続をブロックまたは削除することを停止してよい。別の例では、モバイルデバイスは、図9に示すようにコールバック関数を登録したアプリケーションを呼び出してよい。モバイルデバイスは、フォアグラウンド周期の間すべてのネットワークアクセス要求を可能にする。フォアグラウンド周期の満了時にまたは活動がないことに起因して、モバイルデバイスはバックグラウンドモードに再び入り、方法500が繰り返されてよい。
【００４２】
図6は、モバイルデバイスがフォアグラウンドモードに入るまですべてのソケットオープン要求を保持する本発明の例示的な実施形態を示す。図6は、様々なアプリケーションAおよびB(それぞれ、601aおよび601b)からのアクセス要求を制御するQUALCOMM'S(登録商標)CnEラッパー605を示すが、任意のコネクティビティマネージャがCnEラッパー605の機能を実施してよいことが明らかであろう。
【００４３】
図6において、CnEラッパー605はまず、「ゲートオフ」周期610を設定する(CnEラッパー605は、追加または代替として、上述のようにウェイクアップタイマーを始動させてよい)。この「ゲートオフ」周期610は、モバイルデバイスがバックグラウンドモードであることに対応する。「ゲートオフ」周期610の間、CnEラッパー605は、すべてのソケットオープン要求、たとえば、Connect()メソッド602aを遮断し、モバイルデバイスが「ウェイクアップ」し(すなわち、フォアグラウンドモードに入り)「ゲートオン」周期620に遷移するまでソケットオープン要求を保持する(615)。「ゲートオン」周期620の開始は、ウェイクアップタイマーが満了することに起因してまたはユーザ主導型データもしくはネットワーク主導型データに起因して行われてよい。「ゲートオン」周期620の間、CnEラッパー605は、CnEラッパー605が保持していたソケット要求(たとえば、602a)を含むあらゆるソケットオープン要求(たとえば、602b)をソケットライブラリ607およびTCP/IPスタックに転送する。TCP/IPレイヤ608は次いで、さらにCnEドライバ609を関与させることなく要求(ここでは、たとえば、SYN要求603aおよび603b)をネットワーク104に送信する。
【００４４】
CnEラッパー605は、615において、たとえば、アプリケーションスレッドをフリーズさせることによってソケットオープン要求602aを「保持」してよい。次いで、モバイルデバイスがフォアグラウンドモード、すなわち、「ゲートオン」周期620に入ると、CnEラッパー605は、アプリケーションスレッドを引き続き実行できるように解放する。
【００４５】
図7は、モバイルデバイスが「無線ゲートオフ」周期の間ソケット接続を削除する本発明の例示的な実施形態を示す。図7は、様々なアプリケーションAおよびB(それぞれ、701aおよび701b)からのアクセス要求を制御するQUALCOMM'S(登録商標)CnEドライバ709を示すが、任意のコネクティビティマネージャがCnEドライバ709の機能を実施してよいことが明らかであろう。
【００４６】
図7において、CnEドライバ709はまず、「ゲートオフ」周期710を設定する(CnEラッパー705は、追加または代替として、上述のようにウェイクアップタイマーを始動させてよい)。この「ゲートオフ」周期710は、モバイルデバイスがバックグラウンドモードであることに対応する。CnEドライバ709は、発信同期パケット、たとえば、Connect()702aからのSYN要求703aを遮断して削除する(715)が、任意の他の種類のパケットを転送する(それによって無線接続が確立される)。「ゲートオフ」周期710が満了するかまたは「ゲートオフ」周期710がユーザ主導型データもしくはネットワーク主導型データによって中断されたことに起因してモバイルデバイスが「ウェイクアップ」すると、CnEドライバ709は「ゲートオン」周期720、すなわち、フォアグラウンドモードに遷移する。Connect()702bからのSYN要求703bなど、「ゲートオン」周期720の間に受信されたすべてのパケットは、CnEラッパー705、ソケットライブラリ707、TCP/IP708を通過してネットワーク104に転送される。しかしながら、「ゲートオフ」周期710の間に受信されるどの同期パケットも転送されない。CnEドライバ709は725において別の「ゲートオフ」周期を設定する。
【００４７】
図8に示すように、図7の「ゲートオフ」周期710またはウェイクアップタイマーは、すべてのアプリケーションの経時的な更新が成功するようにウェイクアップサイクルが終了するたびに修正されてよい。すなわち、所与の「ゲートオフ」周期710の間にアプリケーション主導型更新の一部のみが成功する。たとえば、図8に示す30分間の「ゲートオフ」周期では、アプリケーションA 701aは更新に失敗するが、アプリケーションB 701bは次のウェイクアップ時に成功する。この結果は28分間の「ゲートオフ」周期の場合と同じである。しかしながら、26分間の「ゲートオフ」周期の後で、アプリケーションA 701aが更新に成功し、一方、アプリケーションB 701bが更新に失敗する。モバイルデバイスは、最適な周期が求められるまで「ゲートオフ」周期を変更し続けてよい。図8は「ゲートオフ」間隔を短くすることを示すが、間隔を長くすることも可能であることが明らかになろう。タイミングは、長い期間のうちにすべてのアプリケーションがデータを送信できるように選択される。ゲートオン/ゲートオフ周期の選択は、様々なアプリケーションによって登録されたタイミング周期に基づいて行われてよい。
【００４８】
図9は、HLOS905が、ウェイクアップタイマーの満了時に、登録されているアプリケーションを呼び出してネットワークに接続するのを可能にする本発明の実施形態を示す。例示的なアプリケーションAおよびB(それぞれ、901aおよび901b)はコールバック関数912aおよび912bをHLOS905に登録する。ある時点において、HLOS905は、ウェイクアップタイマーが満了したと判定し(910)、フォアグラウンドモードに入る。HLOS905は、フォアグラウンドモードに入った後、それぞれ登録されているコールバック関数913aおよび913bによってアプリケーションAおよびB、901aおよび901bを呼び出す。アプリケーションは次いで、更新動作を実行し、たとえば、HLOS905にConnect()関数902aおよび902bを送り、HLOS905はネットワーク104にSYN要求903aおよび903bを送る。
【００４９】
図10は、登録されているアプリケーションが更新タイマーを維持し、HLOSによって指定された更新率に従って更新する本発明の一実施形態による方法1000を示す。1005において、アプリケーションはHLOSに登録し、所望の更新頻度を要求する。1010において、HLOSはアプリケーションにその更新インスタント(たとえば、更新時間および頻度)を指定する。すべてのアプリケーションにそれらの所望の更新頻度に関して調整された同じ更新インスタントが指定される。すなわち、すべてのアプリケーションに同じ更新時間および頻度が指定されるが、特定のアプリケーションをその頻度で更新する必要がない場合はその限りではない。たとえば、HLOSが、すべてのアプリケーションを2時間おきに更新すべきであると判定しているにもかかわらず、所与のアプリケーションが12時間おきに更新することを要求することがある。この状況では、所与のアプリケーションに12時間おきの更新インスタントが指定される。一方、所与のアプリケーションが毎時間更新することを要求しており、HLOSが、すべてのアプリケーションを2時間おきに更新すべきであると判定している場合、そのアプリケーションには2時間おきの更新インスタントが指定される。さらに、すべてのアプリケーションが2時間おきに同時に更新される。たとえば、HLOSは、各アプリケーションを正午、午後2時、午後4時などに更新すべきであると判定してよい。登録されている各アプリケーションはそれ自体の更新タイマーを維持し、指定された更新インスタントにおいて、ネットワークに更新要求を送る(1015)。
【００５０】
図11は、アプリケーションがHLOS1105に登録し、アプリケーションに特定の更新率が指定される本発明の例示的な実施形態を示す。具体的には、アプリケーションAおよびB(それぞれ、1101aおよび1101b)がHLOS1105に登録要求1112aおよび1112bを送る。これに応じて、HLOS1105はアプリケーションAおよびBにそのそれぞれの更新インスタント1113aおよび1113bを送る。上記に図10に関して説明したように、アプリケーションAの更新インスタントとアプリケーションBの更新インスタントは同じであってよい。アプリケーションAおよびBは、次いでアプリケーション自体のウェイクアップタイマーを指定された更新インスタントに設定する。1110においてウェイクアップタイマーが満了すると、アプリケーションAおよびBはHLOS1105に更新要求(たとえば、Connect()関数1102aおよび1102b)を送る。HLOS1105は、更新要求を受信してネットワークに送信する(たとえば、SYN要求1103aおよび1103bとして)。
【００５１】
図12〜図15は、本発明の様々な実施形態を試験した結果を示す。商業的なEV-DOネットワークにアクセスするスマートフォン上で本発明の実施形態を試験した。試験したアプリケーションは、好ましいリフレッシュレートが5分おきであるSMSブロギングサービスアプリケーション、金融アプリケーション、およびニュースフィードアプリケーションと、好ましいリフレッシュレートが1時間おきであるソーシャルメディアアプリケーションおよび気象アプリケーションと可変リフレッシュレートを有するvoice-over-IP(VolP)テキストメッセージングアプリケーションおよびインスタントメッセージングアプリケーションであった。試験時間は1時間であった。ネットワーク休止タイマーは4秒であった。追跡したメトリクスは総接続数、総接続時間、および平均接続時間であった。
【００５２】
以下のTable1(表1)は、ベースラインを設定するために本発明の実施形態を使用せずに実施された4回のテストケースを示す。テストケース1では、SMSブロギングサービスアプリケーション、ソーシャルメディアアプリケーション、およびVolPテキストメッセージングアプリケーションを試験した。テストケース2では、テストケース1のアプリケーションと金融アプリケーションおよび気象アプリケーションを試験した。テストケース3では、テストケース2のアプリケーションとニュースフィードアプリケーションを試験した。テストケース4では、テストケース2のアプリケーションとインスタントメッセージングアプリケーションを試験した。
【００５３】
【表１】
0005872715.tif 000002
【００５４】
上述のように、本発明の実施形態ではバックグラウンドアプリケーションの接続を時間アライメントする。本発明の試験実施形態では、関連する因子は、アプリケーションの数、モバイルデバイスがアクティブに使用される時間の割合、アクティブなデバイス使用時(すなわち、フォアグラウンドモード)に対する同じ1組のアプリケーションのバックグラウンド(すなわち、バックグラウンドモード)のときの更新の相対的な電力消費量、バックグラウンドモードにおけるアプリケーションの更新の時間アライメントであった。
【００５５】
図12は、アクティブなデバイス使用が行われていないときのデバイス電力消費量の減少率を示す。図13は、デバイスを1時間おきに5分間アクティブに使用したときのアプリケーションの組合せの推定電力減少率を示す。
【００５６】
本発明の実施形態の他の試験では、フォアグラウンドとバックグラウンドの電力消費量比を求めた。検証すべき仮定は、フォアグラウンドモードの間の電力消費量が、使用するアプリケーションの有力な関数ではないことであった。SMSブロギングサービスアプリケーション、ソーシャルメディアアプリケーション、および金融アプリケーションをバックグラウンドモードで実行すると、平均電流ドローは、データ活動の間は320mAであり、データ活動がないときには約0mAであった。フォアグラウンドモードの間にウェブブラウザアプリケーションを実行すると、平均電流ドローは、データ活動の間は780mAであり、データ活動がないときには約200mAであった。したがって、フォアグラウンドモードとバックグラウンドモードの電力消費量比は約2.5である。
【００５７】
図14は、モバイルデバイスが1時間当たり5分間フォアグラウンドモードになり、フォアグラウンドとバックグラウンドの電力比が2.5であると仮定した場合の、バックグラウンドモードにおいてアプリケーション更新同士を時間アライメントさせることによる推定電力減少率を示す。図15は、この場合もフォアグラウンドとバックグラウンドの電力比を2.5と仮定した場合の、100%アライメント時のアプリケーションの組合せの推定電力減少率を示す。
【００５８】
情報および信号は、多種多様な技術および技法のいずれかを使用して表され得ることを当業者は諒解されよう。たとえば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界または磁性粒子、光場または光学粒子、あるいはそれらの任意の組合せによって表され得る。
【００５９】
さらに、本明細書で開示した実施形態に関連して説明した様々な例示的な論理回路ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装できることを、当業者は諒解されよう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップを、上記では概してそれらの機能に関して説明した。そのような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈すべきではない。
【００６０】
本明細書で開示された実施形態と関連して説明された方法、シーケンス、および/またはアルゴリズムは、ハードウェアで、プロセッサによって実行されるソフトウェアモジュールで、またはその2つの組合せで直接具現化され得る。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意の他の形態の記憶媒体中に常駐し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサと一体であり得る。
【００６１】
したがって、本発明の一実施形態は、バックグラウンドアプリケーションについてのシグナリング負荷オーバヘッドおよびバッテリー消費量を最適化するための方法を実施するコンピュータ可読記録媒体を含んでもよい。したがって、本発明は図示の例に限定されず、本明細書で説明した機能を実行するためのいかなる手段も、本発明の実施形態中に含まれる。
【００６２】
上記の開示は本発明の例示的な実施形態を示すが、添付の特許請求の範囲によって規定される本発明の範囲から逸脱することなく、本明細書において様々な変更および修正を行えることに留意されたい。本明細書で説明された本発明の実施形態による方法クレームの機能、ステップおよび/または動作は、特定の順序で実行されなくてもよい。さらに、本発明の要素は、単数形で説明または特許請求されていることがあるが、単数形に限定することが明示的に述べられていない限り、複数形が企図される。
【符号の説明】
【００６３】
100  ワイヤレス通信システム
102  携帯電話
104  エアインターフェース
108  携帯情報端末
110  ページャ
112  コンピュータプラットフォーム
120  無線アクセスネットワーク(RAN)
122  RNC
124  Node B
126  コアネットワーク
162  第1のパケットデータネットワークエンドポイント
170  アプリケーションサーバ
175  インターネット
182  認証、認可およびアカウンティング(AAA)サーバ
184  プロビジョニングサーバ
186  インターネットプロトコル(IP)マルチメディアサブシステム(IMS)/セッション開始プロトコル(SIP)登録サーバ
188  ルーティングユニット
202  プラットフォーム
208  特定用途向け集積回路(ASIC)
210  アプリケーションプログラミングインターフェース(API)
212  メモリ
214  ローカルデータベース
222  アンテナ
224  ディスプレイ
226  キーパッド
228  プッシュツートークボタン
400  通信デバイス
405、410、415、420、425  論理回路
601a、601b  アプリケーション
602a  Connect()メソッド、ソケットオープン要求
602b  Connect()メソッド、ソケットオープン要求
603a、603b  SYN要求
605  CnEラッパー
607  ソケットライブラリ
610  「ゲートオフ」周期
620  「ゲートオン」周期
701a、701b  アプリケーション
702a、702b  Connect()
705  CnEラッパー
707  ソケットライブラリ
708  TCP/IP
709  CnEドライバ
710  「ゲートオフ」周期
720  「ゲートオン」周期
901a、901b  アプリケーション
902a、902b  Connect()関数
903a、903b  SYN要求
905  HLOS
912a、912b  コールバック関数
913a、913b  コールバック関数
1101a、1101b  アプリケーション
1102a、1102b  Connect()関数
1112a、1112b  登録要求
1113a、1113b  更新インスタント
1105  HLOS
【図１】
0005872715.tif 000003
【図２】
0005872715.tif 000004
【図３】
0005872715.tif 000005
【図４】
0005872715.tif 000006
【図５】
0005872715.tif 000007
【図６】
0005872715.tif 000008
【図７】
0005872715.tif 000009
【図８】
0005872715.tif 000010
【図９】
0005872715.tif 000011
【図１０】
0005872715.tif 000012
【図１１】
0005872715.tif 000013
【図１２】
0005872715.tif 000014
【図１３】
0005872715.tif 000015
【図１４】
0005872715.tif 000016
【図１５】
0005872715.tif 000017