IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グーグル インコーポレイテッドの特許一覧

<>
  • 特許-頻繁なサービスロスのための電力最適化 図1
  • 特許-頻繁なサービスロスのための電力最適化 図2
  • 特許-頻繁なサービスロスのための電力最適化 図3
  • 特許-頻繁なサービスロスのための電力最適化 図4
  • 特許-頻繁なサービスロスのための電力最適化 図5
  • 特許-頻繁なサービスロスのための電力最適化 図6
  • 特許-頻繁なサービスロスのための電力最適化 図7
  • 特許-頻繁なサービスロスのための電力最適化 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-21
(45)【発行日】2024-01-04
(54)【発明の名称】頻繁なサービスロスのための電力最適化
(51)【国際特許分類】
   H04W 48/16 20090101AFI20231222BHJP
   H04W 52/02 20090101ALI20231222BHJP
   H04W 72/0453 20230101ALI20231222BHJP
【FI】
H04W48/16 110
H04W52/02 110
H04W72/0453
H04W48/16 132
【請求項の数】 19
(21)【出願番号】P 2021576734
(86)(22)【出願日】2019-06-28
(65)【公表番号】
(43)【公表日】2022-09-06
(86)【国際出願番号】 US2019039774
(87)【国際公開番号】W WO2020263269
(87)【国際公開日】2020-12-30
【審査請求日】2021-12-23
【前置審査】
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ナヤック,シバンク
(72)【発明者】
【氏名】バンガル,スリニバス
(72)【発明者】
【氏名】レイ,シッダールタ
(72)【発明者】
【氏名】ジャン,チン
【審査官】望月 章俊
(56)【参考文献】
【文献】国際公開第2009/146435(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04W4/00-H04W99/00
H04B7/24-H04B7/26
3GPP TSG RAN WG1-4
SA WG1-4
CT WG1、4
(57)【特許請求の範囲】
【請求項1】
コンピュータによって実行される方法であって、
減少していく一連の走査比を求めるステップを備え、各走査比は、モバイルコンピューティングデバイスがワイヤレスネットワークから切断される切断された時間窓中に前記モバイルコンピューティングデバイスが前記ワイヤレスネットワークとの接続を試みるために1つまたは複数の周波数を走査する時間の比率を示し、前記方法はさらに、
前記モバイルコンピューティングデバイスが前記ワイヤレスネットワークに接続される接続された時間窓を求めるステップを備え、前記接続された時間窓は、前記切断された時間窓の後に発生し、前記方法はさらに、
少なくとも前記接続された時間窓の期間に基づいて前記モバイルコンピューティングデバイスのピンポン率を判断するステップと、
前記ピンポン率に基づいて、前回の切断された時間窓中に使用された前記減少していく一連の走査比から走査比を選択するステップと、
前記モバイルコンピューティングデバイスに前記ワイヤレスネットワークとの接続を試みさせるために、前記減少していく一連の走査比に従って、前記選択された走査比から開始して前記1つまたは複数の周波数を走査するステップとを備える、方法。
【請求項2】
コンピュータによって実行される方法であって、
減少していく一連の走査比を求めるステップを備え、各走査比は、モバイルコンピューティングデバイスがワイヤレスネットワークから切断される切断された時間窓中に前記モバイルコンピューティングデバイスが前記ワイヤレスネットワークとの接続を試みるために1つまたは複数の周波数を走査する時間の比率を示し、前記方法はさらに、
前記モバイルコンピューティングデバイスが前記ワイヤレスネットワークに接続される接続された時間窓を求めるステップを備え、前記接続された時間窓は、前記切断された時間窓の後に発生し、前記方法はさらに、
少なくとも前記接続された時間窓の期間に基づいて前記モバイルコンピューティングデバイスのピンポン率を判断するステップと、
前記ピンポン率に基づいて、前記減少していく一連の走査比から走査比を選択するステップと、
前記モバイルコンピューティングデバイスに前記ワイヤレスネットワークとの接続を試みさせるために、前記減少していく一連の走査比に従って、前記選択された走査比から開始して前記1つまたは複数の周波数を走査するステップとを備え、
前記期間が第1の閾値未満である場合、前記ピンポン率は、高いピンポン率であると判断され、前記選択された走査比は、前記減少していく一連の走査比からの最も最近使用された走査比である、方法。
【請求項3】
前記期間が前記第1の閾値よりも大きく、第2の閾値未満である場合、前記ピンポン率は、中程度のピンポン率であると判断され、前記選択された走査比は、前記減少していく一連の走査比からの前記最も最近使用された走査比と初期走査比との間の中間走査比である、請求項2に記載の方法。
【請求項4】
前記期間が前記第2の閾値よりも大きい場合、前記ピンポン率は、低いピンポン率であると判断され、前記選択された走査比は、前記減少していく一連の走査比からの前記初期走査比である、請求項3に記載の方法。
【請求項5】
各走査比は、スリープ期間に関連付けられ、前記選択された走査比から開始して前記1つまたは複数の周波数を走査するステップは、連続的な走査期間の合間の前記関連付けられたスリープ期間待つステップを備える、請求項1から請求項4のいずれか1項に記載の方法。
【請求項6】
前記1つまたは複数の周波数は、複数の周波数を備え、前記1つまたは複数の周波数を走査するステップは、前記複数の周波数のうちの各周波数を順番に走査するステップを備える、請求項1から請求項5のいずれか1項に記載の方法。
【請求項7】
前記減少していく一連の走査比は、一連の段階に対応し、前記減少していく一連の走査比に従って、前記選択された走査比から開始して前記1つまたは複数の周波数を走査するステップは、前記一連の段階を進んでいく段階タイマをリセットするステップを備える、請求項1から請求項6のいずれか1項に記載の方法。
【請求項8】
前記減少していく一連の走査比を求めるステップは、走査コンテキストに基づく、請求項1から請求項7のいずれか1項に記載の方法。
【請求項9】
前記走査比を選択するステップはさらに、前記走査コンテキストに基づく、請求項8に記載の方法。
【請求項10】
前記走査コンテキストは、モビリティ属性、位置属性、温度属性またはスクリーン属性のうちの少なくとも1つを備える、請求項8または請求項9に記載の方法。
【請求項11】
前記ピンポン率はさらに、少なくとも1つの以前の接続された時間窓の少なくとも1つの期間に基づく、請求項1から請求項10のいずれか1項に記載の方法。
【請求項12】
前記ピンポン率は、前記接続された時間窓の前記期間と前記少なくとも1つの以前の接続された時間窓の前記少なくとも1つの期間との加重平均に基づき、前記加重平均の重みは、時間窓が最近になるほど大きくなる、請求項11に記載の方法。
【請求項13】
前記減少していく一連の走査比は、第1のシーケンスであり、前記方法はさらに、
第2の減少していく一連の走査比を求めるステップを備え、各走査比は、前記切断された時間窓中に前記モバイルコンピューティングデバイスが前記ワイヤレスネットワークとの接続を試みるために1つまたは複数の異なる周波数を走査する時間の比率を示し、前記方法はさらに、
前記ピンポン率に基づいて、前記第2の一連の走査比から第2の走査比を選択するステップと、
前記モバイルコンピューティングデバイスに前記ワイヤレスネットワークとの接続を試みさせるために、前記第2の一連の走査比に従って、前記第2の選択された走査比から開始して1つまたは複数の異なる周波数を走査するステップとを備える、請求項1から請求項12のいずれか1項に記載の方法。
【請求項14】
前記1つまたは複数の周波数は、最近取得された周波数を含むセットから選択され、前記1つまたは複数の異なる周波数は、全帯域の周波数を含むセットから選択される、請求項13に記載の方法。
【請求項15】
前記モバイルコンピューティングデバイスのモビリティ属性を求めるステップをさらに備え、前記減少していく一連の走査比および前記第2の減少していく一連の走査比は、前記モビリティ属性に基づく、請求項14に記載の方法。
【請求項16】
前記モビリティ属性が高いモビリティを示し、前記ピンポン率が中程度のピンポン率であると判断される場合、前記選択された走査比は、前記減少していく一連の走査比からの最も最近使用された走査比と初期走査比との間の第1の中間走査比であり、前記第2の選択された走査比は、前記第2の減少していく一連の走査比からの最も最近使用された走査比と初期走査比との間の第2の中間走査比である、請求項15に記載の方法。
【請求項17】
モバイルコンピューティングデバイスであって、
1つまたは複数のプロセッサと、
コンピュータ読取可能な命令が格納された1つまたは複数のコンピュータ読取可能媒体とを備え、前記コンピュータ読取可能な命令は、前記1つまたは複数のプロセッサによって実行されると、前記モバイルコンピューティングデバイスに請求項1から請求項16のいずれか1項に記載の方法を備える機能を実行させる、モバイルコンピューティングデバイス。
【請求項18】
モバイルコンピューティングデバイスであって、
請求項1から請求項16のいずれか1項に記載の方法を実行するための手段を備える、モバイルコンピューティングデバイス。
【請求項19】
請求項1から請求項16のいずれか1項に記載の方法をコンピュータに実行させる、プログラム。
【発明の詳細な説明】
【背景技術】
【0001】
背景
スマートフォンを含む多くのモバイルコンピューティングデバイスは、ワイヤレスネットワークに接続してデータサービスおよび/または音声サービスを提供することができる。しかし、このようなモバイルコンピューティングデバイスは、時として、「アウトオブサービス」になる可能性があり、すなわち、一部または全ての以前に接続されたワイヤレスネットワークから切断される可能性がある。モバイルコンピューティングデバイスは、アウトオブサービスになると、以前に接続されたワイヤレスネットワークのうちの一部または全てに再接続しようと試みることができる。モバイルコンピューティングデバイスは、うまくいけば、以前に接続されたワイヤレスネットワークのうちの1つまたは複数に再接続してデータサービスおよび/または音声サービスを提供することによって「インサービス」になる。
【発明の概要】
【0002】
概要
一局面において、コンピュータによって実行される方法が提供される。上記方法は、減少していく一連の走査比を求めるステップを含み、各走査比は、モバイルコンピューティングデバイスがワイヤレスネットワークから切断される切断された時間窓中に上記モバイルコンピューティングデバイスが上記ワイヤレスネットワークとの接続を試みるために1つまたは複数の周波数を走査する時間の比率を示す。上記方法はさらに、上記モバイルコンピューティングデバイスが上記ワイヤレスネットワークに接続される接続された時間窓を求めるステップを含み、上記接続された時間窓は、上記切断された時間窓の後に発生する。上記方法はさらに、少なくとも上記接続された時間窓の期間に基づいて上記モバイルコンピューティングデバイスのピンポン率を判断するステップを含む。上記方法は、上記ピンポン率に基づいて、上記減少していく一連の走査比から走査比を選択するステップも含む。上記方法はさらに、上記モバイルコンピューティングデバイスに上記ワイヤレスネットワークとの接続を試みさせるために、上記減少していく一連の走査比に従って、上記選択された走査比から開始して上記1つまたは複数の周波数を走査するステップを含む。
【0003】
別の局面において、モバイルコンピューティングデバイスが提供される。上記モバイルコンピューティングデバイスは、1つまたは複数のプロセッサと、1つまたは複数のコンピュータ読取可能媒体を含む。上記1つまたは複数のコンピュータ読取可能媒体は、コンピュータによって実行可能な命令が格納されており、上記コンピュータによって実行可能な命令は、上記1つまたは複数のプロセッサによって実行されると、上記モバイルコンピューティングデバイスに機能を実行させる。上記機能は、減少していく一連の走査比を求めるステップを含み、各走査比は、モバイルコンピューティングデバイスがワイヤレスネットワークから切断される切断された時間窓中に上記モバイルコンピューティングデバイスが上記ワイヤレスネットワークとの接続を試みるために1つまたは複数の周波数を走査する時間の比率を示す。上記機能はさらに、上記モバイルコンピューティングデバイスが上記ワイヤレスネットワークに接続される接続された時間窓を求めるステップを含み、上記接続された時間窓は、上記切断された時間窓の後に発生する。上記機能はさらに、少なくとも上記接続された時間窓の期間に基づいて上記モバイルコンピューティングデバイスのピンポン率を判断するステップを含む。上記機能は、上記ピンポン率に基づいて、上記減少していく一連の走査比から走査比を選択するステップも含む。上記機能はさらに、上記モバイルコンピューティングデバイスに上記ワイヤレスネットワークとの接続を試みさせるために、上記減少していく一連の走査比に従って、上記選択された走査比から開始して上記1つまたは複数の周波数を走査するステップを含む。
【0004】
別の局面において、モバイルコンピューティングデバイスが提供される。上記モバイルコンピューティングデバイスは、減少していく一連の走査比を求めるための手段を含み、各走査比は、モバイルコンピューティングデバイスがワイヤレスネットワークから切断される切断された時間窓中に上記モバイルコンピューティングデバイスが上記ワイヤレスネットワークとの接続を試みるために1つまたは複数の周波数を走査する時間の比率を示す。上記モバイルコンピューティングデバイスはさらに、上記モバイルコンピューティングデバイスが上記ワイヤレスネットワークに接続される接続された時間窓を求めるための手段を含み、上記接続された時間窓は、上記切断された時間窓の後に発生する。上記モバイルコンピューティングデバイスはさらに、少なくとも上記接続された時間窓の期間に基づいて上記モバイルコンピューティングデバイスのピンポン率を判断するための手段を含む。上記モバイルコンピューティングデバイスは、上記ピンポン率に基づいて、上記減少していく一連の走査比から走査比を選択するための手段も含む。上記モバイルコンピューティングデバイスはさらに、上記モバイルコンピューティングデバイスに上記ワイヤレスネットワークとの接続を試みさせるために、上記減少していく一連の走査比に従って、上記選択された走査比から開始して上記1つまたは複数の周波数を走査するための手段を含む。
【0005】
別の局面において、製品が提供される。上記製品は、1つまたは複数のコンピュータ読取可能媒体を含む。上記1つまたは複数のコンピュータ読取可能媒体は、コンピュータによって実行可能な命令が格納されており、上記コンピュータによって実行可能な命令は、モバイルコンピューティングデバイスの1つまたは複数のプロセッサによって実行されると、上記モバイルコンピューティングデバイスに機能を実行させる。上記機能は、減少していく一連の走査比を求めるステップを含み、各走査比は、モバイルコンピューティングデバイスがワイヤレスネットワークから切断される切断された時間窓中に上記モバイルコンピューティングデバイスが上記ワイヤレスネットワークとの接続を試みるために1つまたは複数の周波数を走査する時間の比率を示す。上記機能はさらに、上記モバイルコンピューティングデバイスが上記ワイヤレスネットワークに接続される接続された時間窓を求めるステップを含み、上記接続された時間窓は、上記切断された時間窓の後に発生する。上記機能はさらに、少なくとも上記接続された時間窓の期間に基づいて上記モバイルコンピューティングデバイスのピンポン率を判断するステップを含む。上記機能は、上記ピンポン率に基づいて、上記減少していく一連の走査比から走査比を選択するステップも含む。上記機能はさらに、上記モバイルコンピューティングデバイスに上記ワイヤレスネットワークとの接続を試みさせるために、上記減少していく一連の走査比に従って、上記選択された走査比から開始して上記1つまたは複数の周波数を走査するステップを含む。1つまたは複数のプロセッサによって実行されると上記1つまたは複数のプロセッサに上記の機能を実行させる命令を備えたコンピューティングプログラムも提供されてもよい。
【0006】
上記の概要は、例示に過ぎず、限定的であるよう意図されているわけでは決してない。上記の例示的な局面、実施形態および特徴に加えて、さらなる局面、実施形態および特徴は、図および以下の詳細な説明および添付の図面を参照することによって明らかになるであろう。
【図面の簡単な説明】
【0007】
図1】例示的な実施形態に係る、モバイルコンピューティングデバイス(MCD)とワイヤレスネットワークのアクセスポイント(AP)との間の接続を示す図である。
図2】例示的な実施形態に係る、モバイルコンピューティングデバイスと3つのアクセスポイントとの間の接続および当該モバイルコンピューティングデバイスのための関連する走査プロファイルを示す図である。
図3】例示的な実施形態に係る、モバイルコンピューティングデバイスを1つまたは複数のネットワークと接続するための走査コンテキストの一例を示す図である。
図4】例示的な実施形態に係る、方法のフローチャートである。
図5】例示的な実施形態に係る、モバイルコンピューティングデバイスによって使用される経時的なさまざまな走査比を示す図である。
図6】例示的な実施形態に係る、実行され得る動作のフローチャートである。
図7】例示的な実施形態に係る、分散型コンピューティングアーキテクチャを示す図である。
図8】例示的な実施形態に係る、コンピューティングデバイスの一例の機能ブロック図である。
【発明を実施するための形態】
【0008】
詳細な説明
スマートフォンまたはタブレットなどのモバイルコンピューティングデバイスは、頻繁に1つまたは複数のワイヤレスネットワークに接続されて、データサービスおよび/または音声サービスなどのサービスを提供する。モバイルコンピューティングデバイスが現在ワイヤレスネットワークに接続されていない場合、当該モバイルコンピューティングデバイスは「アウトオブサービス」と呼ぶことができる。場合によっては、モバイルコンピューティングデバイスはネットワークに接続できるが、音声サービスまたはデータサービスなどの特定のサービスは利用できず、その場合、モバイルコンピューティングデバイスは、依然として、その特定のサービスに対してはアウトオブサービスであると分類することができる。
【0009】
バッテリ寿命が問題なければ、アウトオブサービスのモバイルコンピューティングデバイスは、ネットワークアクセスのために1つまたは複数の周波数を継続的に走査することができる。たとえば、モバイルコンピューティングデバイスは、特定の周波数を使用して特定のネットワークに接続しようと試みることによって、頻繁にまたは繰り返し特定の周波数の走査を実行してもよい。走査がうまくいけば、モバイルコンピューティングデバイスは、特定のネットワークから「サービスを取得する」または1つもしくは複数のサービスへのアクセスを得ることができる。
【0010】
しかし、一般的なモバイルコンピューティングデバイスは、バッテリ電力量に限りがある。さらに、一般的なモバイルコンピューティングデバイスは、「サービス」を走査する際に、すなわち、1つまたは複数のワイヤレスネットワークに接続するために1つまたは複数の周波数を走査する際に、相当な量の電力を使用する。いくつかの例では、モバイルコンピューティングデバイスは、サービスの走査中に、アイドル時よりも8~10倍多くの電力を使用する。
【0011】
実際には、サービスを走査する際の電力消費量とサービス取得の際の遅延との間にはトレードオフが存在する。アウトオブサービス走査アルゴリズムの中には、サービス回復および電力消費量の両方に対して十分な性能を有するように、デバイスがサービスを走査していないときとデバイスが走査しているときとのバランスをとるものもある。より具体的には、アウトオブサービス時間が増加するにつれてモバイルコンピューティングデバイスがサービスを走査する頻度を低くするインクリメンタルスリープアルゴリズムを使用することができる。モバイルコンピューティングデバイスがサービスを走査している所与の時間の比率は、走査比と称されてもよい。走査比は、スリープ期間に関連付けられてもよく、モバイルコンピューティングデバイスは、連続的な走査期間の合間の関連付けられたスリープ期間待つ。アウトオブサービス時間が増加するにつれて、モバイルコンピューティングデバイスは、このスリープ期間を増加させてもよい。たとえば、サービスの走査に費やされる時間は、スリープに費やされる時間が増加しても同じままであってもよく、それによって走査比を減少させる。
【0012】
モバイルコンピューティングデバイスがサービスを再取得すると、一般的な走査アルゴリズムは停止される。次にモバイルコンピューティングデバイスがアウトオブサービスになるときに、カバー範囲の検索が再び開始する(たとえば、常に同じ走査比で開始する)。モバイルコンピューティングデバイスが頻繁にカバー範囲に入ったりカバー範囲から出たりする状況では、これらのアルゴリズムは、モバイルコンピューティングデバイスに過度に頻繁に走査させて、バッテリを非効率に消費させる可能性がある。
【0013】
本明細書に記載されているのは、モバイルコンピューティングデバイスが頻繁にインサービスになったりアウトオブサービスになったりする場合に、使用される走査比をデバイスが賢く調整することを可能にするアウトオブサービス回復アルゴリズムである。いつモバイルコンピューティングデバイスに積極的に走査させるかを判断するサービス回復アルゴリズムの能力を向上させることによって、電力利用を最適化することができる。
【0014】
提案されている解決策は、2つの主な局面を含む。第1の局面は、ピンポン率を規定することによって、モバイルコンピューティングデバイスが頻繁にインサービスになったりアウトオブサービスになったりする程度を識別することを含む。ピンポン率は、モバイルコンピューティングデバイスがインサービス状態とアウトオブサービス状態との間で切り替わっている率を表す。第2の局面は、ピンポン率を考慮に入れて電力消費量を最適化するようにサービス回復アルゴリズムを調整することを含む。
【0015】
第1の局面に関して、ピンポン率は、モバイルコンピューティングデバイスがサービスに接続された最も最近接続された時間窓の期間に基づいて判断されてもよい。一般に、接続された時間窓の期間が長くなるほど、ピンポン率は低くなる。いくつかの例では、ピンポン率は、3つのクラスまたはバケット、すなわち高い、中程度または低い、のうちの1つに該当するように判断されてもよい。他の例では、より多くのまたはより少ないバケットが使用されてもよい。さらなる例では、ピンポン率は、最も最近接続された時間窓の期間の連続関数であるように判断されてもよい。さらなる例では、ピンポン率を判断するために複数の接続された時間窓(たとえば、以前の3つの接続された時間窓)の期間が考慮に入れられてもよい。
【0016】
第2の局面に関して、ピンポン率が判断されると、このピンポン率を使用してモバイルコンピューティングデバイスの開始走査比を選択してもよい。より具体的には、走査比は、デバイスがサービスから切断された以前の切断された時間窓中に、使用された減少していく一連の走査比のうちの特定の走査比にリセットされてもよい。減少していく一連の走査比は、シーケンスであって、各走査比が当該シーケンスの中の以前の走査比未満である(または、場合によっては、同一である)シーケンスである。ピンポン率は、シーケンスをどれぐらい遡って走査比をリセットするかを示し得る。たとえば、高いピンポン率は、まるで最も最近のサービス再取得が行われないかのように、最後に使用された走査比をデバイスが使用し続けるようにさせてもよい。その代わりに、中程度のピンポン率は、最後の切断された時間窓中に、使用された減少していく一連の走査比の中間点に走査比をリセットさせてもよい。低いピンポン率は、当該一連の走査比の初期走査比まで遡って走査比をリセットさせてもよい。このように、回復アルゴリズムは、デバイスが頻繁にインサービスになったりアウトオブサービスになったりする場合に走査比の効率的な低減を可能にすることができる。
【0017】
段階とは、モバイルコンピューティングデバイスが関連付けられた走査比でワイヤレスネットワークとの接続を試みる一定の期間のことである。たとえば、走査およびスリープ動作のサイクルは、段階の期間中に所与の走査比に従って繰り返し実行されてもよい。この段階の終わりに、一連の走査比からの次の関連付けられた走査比で走査が行われることで、一連の段階の中の次の段階が開始してもよい。一連の段階は、タイマに関連付けられてもよく、その場合、走査比を以前の走査比にリセットすることは、段階タイマを以前の段階タイマにリセットすることを含んでもよい。段階中、デバイスは、複数の周波数を順番に走査してもよい。周波数の各々についてさまざまな走査速度が使用されてもよい。各走査速度は、単位時間当たりに対応する周波数に対してモバイルコンピューティングデバイスが行う接続試行の回数を表し得る。走査比が低い段階ほど、特定の周波数についての走査速度が低くなってもよく、または他の段階と同一の走査速度で特定の周波数を走査し続けるが、単純に走査の時間が少なくなってもよい。
【0018】
さまざまな周波数のセット(たとえば、データベース)を検索するために、さまざまな一連の走査比(または、段階)が使用されてもよい。たとえば、回復走査アルゴリズムは、2つの別々の走査タイプを含んでもよく、各々は、それら自体のスケジューリングされた段階およびタイマを有する。1つの走査タイプ、すなわちacq_db走査は、最近発見された周波数のみを検索してもよい。最近発見された周波数のみを検索することは、全ての周波数を検索することよりも速いため、走査中のバッテリ使用が少なくなり得る。第2の走査タイプ、すなわちfull_band走査は、全ての許容周波数帯域を検索してもよい。1つの走査タイプについて走査比(または、段階タイマ)がリセットされると、この走査比(または、段階タイマ)は、異なる量だけリセットされるか、または異なる走査タイプについてはリセットされなくてもよい。
【0019】
周波数の特定のセットについての一連の走査比(または、段階)、および、どれぐらい積極的に走査比(または、段階タイマ)をリセットするかは、さまざまなコンテキスト情報に左右され得る。たとえば、モバイルコンピューティングデバイスの走査コンテキストを求めるために、モビリティ関連データ、バッテリ関連データ、スクリーン状態データおよび温度状態データなどのセンサデータを使用することができ、この走査コンテキストは、いくつかのデータ駆動型の属性を含む。たとえば、モビリティ関連データ、バッテリ関連データ、スクリーン状態データおよび温度状態データを使用して、走査コンテキストのそれぞれのモビリティ、バッテリ、スクリーン動作および温度属性を求めることができる。
【0020】
モビリティ関連データの使用は、モバイルコンピューティングデバイスが常に移動可能であるので急速に変化する無線周波数(RF)環境を有すると想定する他のアプローチに対して利点を提供することができる。急速に変化するRF環境の想定下では、アウトオブサービス回復アルゴリズムは、頻繁にサービスを走査してもよく、これらの走査を実行するために電力使用量が増加することになる可能性がある。しかし、本明細書に記載されているアウトオブサービス回復アルゴリズムは、モビリティ属性を求めるために、位置センサからの位置データ、ネットワークインターフェイスからのネットワーク接続データ、および/または、加速度計からのモーションデータなどのセンサ情報を取得することができる。本明細書に記載されているアウトオブサービス回復アルゴリズムは、モバイルコンピューティングデバイスがモビリティを増加(または、減少)させることをモビリティ属性が示すと、走査速度(または、走査比全体)を増加(または、減少)させることができる。したがって、バッテリ寿命を向上させることができる。
【0021】
バッテリ関連データに関して、本明細書に記載されているアウトオブサービス回復アルゴリズムは、走査コンテキストのバッテリ属性を求めるために、バッテリセンサからのバッテリ寿命データなどのセンサ情報を取得することができる。本明細書に記載されているアウトオブサービス回復アルゴリズムは、モバイルコンピューティングデバイスがより多くの(または、より少ない)利用可能なバッテリ電力を有することをバッテリ属性が示すと、走査速度(または、走査比全体)を増加(または、減少)させることができる。バッテリ電力が極めて低い(たとえば、5%、10%または20%など、予め定められたバッテリ寿命量未満である)ことをバッテリ属性が示す場合、本明細書に記載されているアウトオブサービス回復アルゴリズムは、走査速度(または、走査比全体)を減少させることによってできるだけ多くのバッテリ電力を節約しようとするように調整されることができる。したがって、バッテリ性能を向上させることができる。
【0022】
スクリーン状態データに関して、本明細書に記載されているアウトオブサービス回復アルゴリズムは、ユーザがモバイルコンピューティングデバイスによって提供される情報を見ているとき、すなわちモバイルコンピューティングデバイスに関連付けられたスクリーン(タッチスクリーンなど)がアクティブであるときにはインサービスであることがより重要であるという認識をモバイルコンピューティングデバイスのユーザが有し得るという見識に基づく。モバイルコンピューティングデバイスに関連付けられたスクリーンは、モバイルコンピューティングデバイスに物理的に取り付けられた視覚エンティティ、および/または、(たとえば、ワイヤードおよび/またはワイヤレス接続を介して)モバイルコンピューティングデバイスに通信可能に結合されて、モバイルコンピューティングデバイスからユーザまたは他のエンティティに少なくとも視覚的に情報を提供し得る視覚エンティティであってもよい。モバイルコンピューティングデバイスに関連付けられ得るスクリーンの例としては、タッチスクリーン、内部ディスプレイ、外部ディスプレイ、ダッシュボードディスプレイなどの車両に関連付けられたディスプレイ、スマートウォッチディスプレイ、頭部装着型ディスプレイテレビおよび/または仮想現実デバイスのうちの1つまたは複数が挙げられるが、これらに限定されるものではない。したがって、いつ走査を開始するかを決定するために、および/または、走査速度(または、走査比全体)を求める際に、スクリーン状態についての情報を使用することができる。たとえば、スクリーンがオンにされたことをスクリーン関連データが示すと、サービスを取得するための周波数のセットの中の周波数の走査を起動させることができ、および/または、スクリーンがオンにされたことをスクリーン関連データが示すと、周波数のセットに関連付けられた走査速度のセットを増加させることができる。さらなる例において、スクリーン状態データの代わりにまたは加えて、存在感知センサからのユーザ存在データが属性として使用されてもよい。たとえば、常時オンのスクリーンデバイスは、さまざまなレベルのスクリーン「オン」を有していてもよい。存在感知センサは、手ぶりなどのユーザ存在情報を検出してユーザ動作を評価するために使用されてもよい。次いで、ユーザ動作の程度は、走査速度を調整するための基準として使用されてもよい。
【0023】
本明細書に記載されているアウトオブサービス回復アルゴリズムは、走査コンテキストのスクリーン動作属性を求めるために、スクリーンに関連付けられたセンサからの(または、場合によっては、スクリーンから直接の)スクリーン活性化状態データなどのセンサ情報を取得することができる。次いで、モバイルコンピューティングデバイスのスクリーンがアクティブである(または、イナクティブである)ことをスクリーン動作属性が示すと、本明細書に記載されているアウトオブサービス回復アルゴリズムは、走査速度(または、走査比全体)を増加(または、減少)させることができる。また、上記のように、イナクティブのスクリーンに関連付けられた状態からアクティブなスクリーンに関連付けられた別の状態へのスクリーン動作属性の遷移は、サービスを取得するための周波数の走査を起動させることができる。
【0024】
温度状態データに関して、本明細書に記載されているアウトオブサービス回復アルゴリズムは、1つまたは複数のセンサから温度状態データを取得することができる。たとえば、デバイス温度情報および/またはモバイルコンピューティングデバイスに関連する環境についての環境温度情報が1つまたは複数の温度計および/または他の温度センサから取得可能である。本明細書に記載されているアウトオブサービス回復アルゴリズムは、温度状態データに基づいて温度属性を求めることができる。モバイルコンピューティングデバイスおよび/またはモバイルコンピューティングデバイスに関連する環境が暖かくなる(または、寒くなる)ことをバッテリ属性が示すと、本明細書に記載されているアウトオブサービス回復アルゴリズムは、走査速度(または、走査比全体)を減少(または、増加)させることができる。たとえば本明細書に記載されているような他のセンサ関連データおよび/または属性も可能である。
【0025】
いくつかの例では、モバイルコンピューティングデバイスがアウトオブサービスであると判断すると、走査コンテキストの属性を求めることができる。他の例では、モバイルコンピューティングデバイスがアウトオブサービスになる前に、走査コンテキストの属性のうちの一部または全てを求めることができる。
【0026】
モバイルコンピューティングデバイスがアウトオブサービスになると、本明細書に記載されているアウトオブサービス回復アルゴリズムは、走査コンテキストの属性を利用して走査プロファイルを求めることができる。走査プロファイルは、モバイルコンピューティングデバイスのためのサービスを取得するために、周波数のセットと、当該周波数のセットを走査するための関連する走査速度のセットとを含み得る。より特定的には、本明細書に記載されているアウトオブサービス回復アルゴリズムは、走査コンテキストの属性に表示されているセンサデータを見て、たとえばサービス取得時間と電力消費量との間のバランスをとるように、走査プロファイルの周波数のセットおよび関連する走査速度のセットを賢く調整することができる。
【0027】
本明細書に記載されているアウトオブサービス回復アルゴリズムを使用してサービスを取得するための走査比を求めることにより、モバイルコンピューティングデバイスのためのサービスを取得する(または、再取得する)のに必要な電力を従来技術よりも減少させることができる。電力消費量を減少させることによって、モバイルコンピューティングデバイスのバッテリ寿命を延ばすことができ、それによって、ユーザにとってのモバイルコンピューティングデバイスの利用可能性を向上させることができる。さらに、バッテリ寿命を延ばすことによって、本明細書に記載されているアウトオブサービス回復アルゴリズムは、モバイルコンピューティングデバイスのバッテリが切れる前にサービスを取得しようとさらに試みることができ、それによって、モバイルコンピューティングデバイスがサービスを取得する確率を経時的に高めることを可能にする。したがって、本明細書に記載されているアウトオブサービス回復アルゴリズムは、有益なことにバッテリ寿命を延ばすことができ、有益なことにアウトオブサービスのモバイルコンピューティングデバイスのためのサービス取得の確率を高めることができる。
【0028】
図1は、例示的な実施形態に係る、モバイルコンピューティングデバイスとワイヤレスネットワークのアクセスポイントとの間の接続を示す図100である。図1の左上には、その他のデバイスに接続されていないモバイルコンピューティングデバイス130が示されている。したがって、モバイルコンピューティングデバイス130は、アウトオブサービスであるものとして示されている。
【0029】
図1の上部中央には、モバイルコンピューティングデバイス132が、アクセスポイント120とのデータオンリ接続142を有するものとして示されている。いくつかの例において、アクセスポイント120は、ワイヤレスローカルエリアネットワーク(WLAN)の一部であり得る。このような例では、モバイルコンピューティングデバイス132は、Wi-Fiおよび/または1つもしくは複数の同様のプロトコルを利用して、データサービスのためにWLANアクセスポイント120とのWLAN接続を確立してもよい。このような接続により、モバイルコンピューティングデバイス132は、データサービスに関してはインサービスであるが、音声サービスに関してはアウトオブサービスである。
【0030】
図1の右上には、モバイルコンピューティングデバイス134が、アクセスポイント122との音声およびデータ接続(VDC)144を有するものとして示されている。いくつかの例において、アクセスポイント122は、WLANの一部であり得る。このような例では、モバイルコンピューティングデバイス134は、Wi-Fiまたは同様のプロトコルを利用して、データサービスおよび音声サービス(たとえば、ボイスオーバーWi-Fiサービス)のためにWLANアクセスポイント122とのWLAN接続を確立してもよい。このような接続により、モバイルコンピューティングデバイス134は、データサービスに関しても音声サービスに関してもインサービスである。
【0031】
図1の左下には、モバイルコンピューティングデバイス136が、アクセスポイント110との音声およびデータ接続146を有するものとして示されている。いくつかの例において、アクセスポイント110は、ワイヤレスワイドエリアネットワーク(WWAN)の一部であり得る。このような例では、モバイルコンピューティングデバイス136は、2G(第二世代ワイヤレスシステム)、3G(第三世代ワイヤレスシステム)、4G(第四世代ワイヤレスシステム)、5G(第五世代ワイヤレスシステム)、モバイル通信用グローバルシステム(GSM(登録商標))、時分割多元接続(TDMA)、符号分割多元接続(CDMA)および/または1つもしくは複数の同様のプロトコルを利用して、データサービスおよび音声サービスのためにWWANアクセスポイント110との接続を確立してもよい。このような接続により、モバイルコンピューティングデバイス136は、データサービスに関しても音声サービスに関してもインサービスである。他の例では、モバイルコンピューティングデバイス136は、WWANアクセスポイント110との音声オンリ接続を有し得る。このような接続により、モバイルコンピューティングデバイス136は、音声サービスに関してはインサービスであるが、データサービスに関してはアウトオブサービスである。
【0032】
図1の右下では、モバイルコンピューティングデバイス138は、2つの接続、すなわちWWANアクセスポイント112との音声およびデータ接続148aと、WLANアクセスポイント124との音声およびデータ接続148bとを有している。これらの接続148aおよび148bにより、モバイルコンピューティングデバイス138は、WWANおよびWLANの両方を介してデータに関しても音声に関してもインサービスである。他の例では、モバイルコンピューティングデバイス138は、1つのネットワークに関してはインサービスであるが、別のネットワークに関してはアウトオブサービスであることができる。たとえば、WLANアクセスポイント124は、モバイルコンピューティングデバイス138がWLANにより音声サービスについてはアウトオブサービスであるようにモバイルコンピューティングデバイス138にデータオンリサービスを提供することができ、WWANアクセスポイント112は、モバイルコンピューティングデバイス138がWWANによりデータサービスについてはアウトオブサービスであるようにモバイルコンピューティングデバイス138に音声オンリサービスを提供することができる。関連する例において、モバイルコンピューティングデバイスは、複数のWLANアクセスポイントおよび/または複数のWWANアクセスポイントに同時に接続することができる。
【0033】
他の例では、1つまたは複数のアクセスポイントを介して1つまたは複数のネットワークに接続されたモバイルコンピューティングデバイスに他のサービス(たとえば、映像サービス、ストリーミングデータサービス、テキストサービスおよび/または他のコンテンツサービス)を提供することができる。これらの他の例では、モバイルコンピューティングデバイスは、データサービスおよび音声サービスとともにおよび/またはそれらの代わりに、これらの他のサービスの各々に関してインサービスであったりアウトオブサービスであったりすると考えることができる。たとえば、モバイルコンピューティングデバイスは、テキストメッセージングなどの基本的な(たとえば、ナローバンド)データサービスに関してはインサービスであることができるが、ストリーミングデータおよび/または映像サービスなどのブロードバンドデータサービスに関してはアウトオブサービスであることができる。例示の目的で、音声サービスおよびデータサービスのみが本明細書において詳細に説明されている。しかし、当業者は、本明細書に記載されているアウトオブサービスアルゴリズムを音声サービスおよびデータサービス以外のサービスに容易に適用することができる。
【0034】
図2は、例示的な実施形態に係る、モバイルコンピューティングデバイス210とアクセスポイント220,222,224との間の接続および当該モバイルコンピューティングデバイスのための走査プロファイル250を示す図200である。図2の上部は、モバイルコンピューティングデバイス210とアクセスポイント220,222,224との間の接続を示しており、アクセスポイント220,222,224を使用して、周波数230a,230b,230n1,232a,232b,232n2,234a,234b,234n3およびおそらく他の周波数のうちの1つまたは複数によってモバイルコンピューティングデバイス210を1つまたは複数のWLANおよび/または1つまたは複数のWWANと接続することができる。
【0035】
図200は、モバイルコンピューティングデバイス210をアクセスポイントと接続するために使用可能な2つの異なるタイプの周波数を示しており、2つの異なるタイプの周波数とは、アクセスポイントに接続するために使用される接続された周波数と、アクセスポイントに接続するために使用できるが現在のところ接続に使用されていない代替周波数とである。図2の凡例によって示されるように、図2は、接続された周波数を使用したモバイルコンピューティングデバイス210とアクセスポイントとの間の接続を実線で示しており、代替周波数を使用したモバイルコンピューティングデバイス210とアクセスポイントとの間でなされ得る考えられる接続を破線で示している。他のタイプの接続および周波数も可能である。
【0036】
図200は、接続された周波数230aを使用してモバイルコンピューティングデバイス210がアクセスポイント220に接続され、周波数230b...230n1がモバイルコンピューティングデバイス210をアクセスポイント220に接続するために使用できる代替周波数であることを示している。図200に示される例では、モバイルコンピューティングデバイス210とアクセスポイント220とを接続するために使用できるであろう考えられる周波数は合計n1個である。すなわち、モバイルコンピューティングデバイス210とアクセスポイント220との間の接続に使用される1つの実際の周波数230aと、モバイルコンピューティングデバイス210とアクセスポイント220との間の考えられる接続のための(n1-1)個の代替周波数とが存在する。
【0037】
図200は、接続された周波数232aおよび232n2を使用してモバイルコンピューティングデバイス210がアクセスポイント222に接続され、少なくとも周波数232bがモバイルコンピューティングデバイス210をアクセスポイント222に接続するために使用できる代替周波数であることも示している。図200に示される例では、モバイルコンピューティングデバイス210とアクセスポイント222とを接続するために使用できるであろう考えられる周波数は合計n2個である。すなわち、モバイルコンピューティングデバイス210とアクセスポイント222との間の1つまたは複数の接続に使用される2つの実際の周波数232aおよび232n2と、モバイルコンピューティングデバイス210とアクセスポイント222との間の考えられる接続のための(n2-2)個の代替周波数とが存在する。
【0038】
図200は、接続された周波数234bを使用してモバイルコンピューティングデバイス210がアクセスポイント224に接続され、少なくとも周波数234aおよび234n3がモバイルコンピューティングデバイス210をアクセスポイント224に接続するために使用できる代替周波数であることをさらに示している。図200に示される例では、モバイルコンピューティングデバイス210とアクセスポイント224とを接続するために使用できるであろう考えられる周波数は合計n3個である。すなわち、モバイルコンピューティングデバイス210とアクセスポイント224との間の接続に使用される1つの実際の周波数234bと、モバイルコンピューティングデバイス210とアクセスポイント224との間の考えられる接続のための(n3-1)個の代替周波数とが存在する。他の例では、モバイルコンピューティングデバイス210は、図200に示されるよりも多くの、少ないおよび/または異なるアクセスポイントに接続することができ、および/または、図200に示されるものよりも多くの、少ないおよび/または異なる周波数を使用してアクセスポイントに接続することができる。
【0039】
図2の下部は、少なくともアクセスポイント220,222,224と接続するためのモバイルコンピューティングデバイス210の走査プロファイル250を示している。走査プロファイル250は、周波数のセット260と、対応する走査速度のセット262とを示している。他の例では、より多くの、より少ないおよび/または異なるデータ、たとえば周波数および/または走査速度の異なるセット、さらなるアクセスポイントおよび/または他の情報が走査プロファイル250に提供されることができる。
【0040】
モバイルコンピューティングデバイス210をアクセスポイントに接続するために周波数のセット260の中の周波数を使用することができる。本明細書に記載されているアウトオブサービス回復アルゴリズムは、走査速度のセット262の中の対応する走査速度で、周波数のセット260の中の周波数に接続しようと試みることができる。たとえば、走査プロファイル250は、「Freq 230a」(周波数230aの略)を使用して、「Rate 1」という走査速度で周波数230aを走査することによってモバイルコンピューティングデバイス210をアクセスポイント220と接続できることを示している。また、走査プロファイル250は、「Freq 230b」...「Freq 230n1」、すなわち周波数230b...230n1を使用して、「Rate 2」...「Rate n1」というそれぞれの走査速度でそれぞれの周波数230b...230n1を走査することによってモバイルコンピューティングデバイス210をアクセスポイント220と接続できることを示している。
【0041】
また、走査プロファイル250は、「Freq 232a」,「Freq 232b」...「Freq 232n2」、すなわち周波数232a,232b...232n2を使用して、「Rate n1+1」,「Rate n1+2」...「Rate n1+n2」というそれぞれの走査速度でそれぞれの周波数232a,232b...232n2を走査することによってモバイルコンピューティングデバイス210をアクセスポイント222と接続できることを示している。さらに、走査プロファイル250は、「Freq 234a」,「Freq 234b」...「Freq 234n3」、すなわち周波数234a,234b...234n3を使用して、「Rate n1+n2+1」,「Rate n1+n2+2」...「Rate n1+n2+n3」というそれぞれの走査速度でそれぞれの周波数234a,234b...234n3を走査することによってモバイルコンピューティングデバイス210をアクセスポイント224と接続できることを示している。
【0042】
本明細書に記載されているアウトオブサービス回復アルゴリズムは、走査プロファイル250におけるデータを使用して、モバイルコンピューティングデバイス210をネットワークに接続しようと試みる、および/または、モバイルコンピューティングデバイス210をサービス状態にしようと試みることができる。たとえば、本明細書に記載されているアウトオブサービス回復アルゴリズムは、走査プロファイル250の第1の行からのデータから開始して、Rate 1という走査速度で周波数230aを走査することができる。より特定的には、Rate 1が毎分20回の接続試行であれば、(a)モバイルコンピューティングデバイス210がアクセスポイント220と接続するか、または、(b)本明細書に記載されているアウトオブサービス回復アルゴリズムが周波数230aを使用したアクセスポイント220の走査を停止することを決定するまで、本明細書に記載されているアウトオブサービス回復アルゴリズムは、毎分20回、周波数230aを使用してモバイルコンピューティングデバイス210をアクセスポイント220に接続しようと試みることができる。これらの走査のうちの1つの走査がうまくいって、モバイルコンピューティングデバイス210が周波数230aを使用してアクセスポイント220に接続して、(少なくともアクセスポイント220によって提供されるサービスに関して)モバイルコンピューティングデバイス210がサービス状態になると、本明細書に記載されているアウトオブサービス回復アルゴリズムは、少なくとも周波数230aに対する走査を停止することができる。
【0043】
しかし、Rate 1で周波数230aを接続する試みがうまくいかなかった場合、本明細書に記載されているアウトオブサービス回復アルゴリズムは、周波数230aを使用したアクセスポイント220の走査を停止して、走査プロファイル250における次の周波数を選択して、モバイルコンピューティングデバイス210をサービス状態に戻すように試みることができる。
【0044】
たとえば、本明細書に記載されているアウトオブサービス回復アルゴリズムは、特定の周波数を使用したアクセスポイント(または、より一般的に、ネットワーク)の走査を停止することを決定する前に、予め定められた回数の走査および/または予め定められた時間の走査を実行するとする。そうすると、モバイルコンピューティングデバイス210をアクセスポイントに接続することなく予め定められた回数の走査および/または予め定められた時間が経過した後、本明細書に記載されているアウトオブサービス回復アルゴリズムは、特定の周波数を使用したアクセスポイントの走査を停止して、走査プロファイル250から別の周波数および別の関連する走査速度を選択して、アクセスポイントの走査を継続することができる。
【0045】
より特定的な例として、本明細書に記載されているアウトオブサービス回復アルゴリズムは、周波数230aを使用したアクセスポイント220の走査を停止することを決定して、その後、走査プロファイル250から次の周波数を選択することができる。この例では、走査プロファイル250における周波数のセット260の次の周波数は、周波数230bであり、本明細書に記載されているアウトオブサービス回復アルゴリズムは、図2の走査速度のセット262に「Rate 2」として示されている対応する走査速度で周波数230bを走査しようと試みることができる。本明細書に記載されているアウトオブサービス回復アルゴリズムは、(a)走査された周波数を介してモバイルコンピューティングデバイス210がネットワークに接続するおよび/またはサービス状態になるか、または、(b)本明細書に記載されているアウトオブサービス回復アルゴリズムが、うまくモバイルコンピューティングデバイス210をネットワークに接続するおよび/またはモバイルコンピューティングデバイス210をサービス状態にすることなく、走査プロファイル250における周波数のセット260の全ての周波数を走査し終えるまで、走査プロファイル250に記載されている対応する走査速度で周波数の走査を継続することができる。
【0046】
本明細書に記載されているアウトオブサービス回復アルゴリズムは、モバイルコンピューティングデバイスに関連付けられた走査コンテキストに基づいて、走査プロファイル250などの走査プロファイルを求めることができる。走査コンテキストは、走査プロファイル、周波数のセットおよび/または関連する走査速度のセットを求めるために利用できる1つまたは複数の属性を有し得る。
【0047】
図3は、例示的な実施形態に係る、モバイルコンピューティングデバイスを1つまたは複数のネットワークと接続するための走査コンテキスト300を示す図である。走査コンテキスト300は、それぞれの属性値312を取り得る1つまたは複数の属性310を含み、属性310の各属性は、走査コンテキスト300を使用して求められた走査プロファイルに対してそれぞれの影響314を及ぼし得る。属性310は、モビリティ属性と、バッテリ属性と、スクリーン動作属性と、温度属性と、ソフトウェアアプリケーション(または、略して「アプリ」)属性と、最も最近使用された(MRU)周波数属性と、予測された位置属性と、実際の位置属性とを含み得る。他の例では、走査コンテキスト300は、属性310よりも多くの、少ないおよび/または異なる属性を含み得る。
【0048】
属性310のいくつかまたは全ての値は、センサデータを含む、モバイルコンピューティングデバイスに関連付けられたデータに基づき得る。例として以下が挙げられる。
【0049】
・モビリティ属性の値は、位置センサ、グローバルポジショニングシステム(GPS)センサ、モーションセンサおよび/または加速度計からのセンサデータに基づき得る
・バッテリ属性の値は、バッテリセンサからのセンサデータに基づき得る
・スクリーン動作属性の値は、モバイルコンピューティングデバイスに関連付けられたスクリーンがアクティブであるか否かを示すデータに基づき得る
・温度属性の値は、温度計および/または別の温度センサからのセンサデータに基づき得る
・ソフトウェアアプリケーション属性の値は、モバイルコンピューティングデバイスのソフトウェアアプリケーションを実行していることおよび/または実行する準備が整っていることについてのオペレーティングシステムデータから求めることができる
・最も最近使用された(MRU)周波数属性の値は、モバイルコンピューティングデバイスをネットワークに接続するために使用される1つまたは複数の周波数についてのデータ、および/または、位置センサ、GPSセンサ、モーションセンサおよび/または加速度計からの位置データを格納することによって求めることができ、当該位置データは、モバイルコンピューティングデバイスをネットワーク(たとえば、WWAN、WLAN)に接続するために1つまたは複数の周波数を使用した1つまたは複数の位置を示す
・予測された位置属性の値は、モバイルコンピューティングデバイスの位置データの経時的な統計的分析、および、当該統計的分析に基づく特定の時刻におけるモバイルコンピューティングデバイスの位置の予測によって求めることができる
・実際の位置属性の値は、モバイルコンピューティングデバイスの1つまたは複数の位置を示す、位置センサ、GPSセンサ、モーションセンサおよび/または加速度計からの位置データに基づいて求めることができる
他の属性は、モバイルコンピューティングデバイスに関連付けられた他のデータに基づいて求めることができ、当該他のデータは、モバイルコンピューティングデバイスおよび/または1つもしくは複数の他のソースから得られる他のセンサデータを含むが、これに限定されるものではない。
【0050】
図3は、属性310のモビリティ属性が、少なくとも「静止、歩行、運転」から選択された値312を有し得て、「モビリティが増加するにつれて走査速度を増加させる」という走査プロファイルに対する影響314を有し得ることを示している。静止というモビリティ属性値は、モバイルコンピューティングデバイスが、予め定められた領域(たとえば、家または職場などの建物の一部または全てが位置している領域、モバイルコンピューティングデバイスの位置を取り囲む一定のサイズの円形形状、正方形形状、長方形形状または他の形状であって、この形状は、予め定められた領域を表す)の外に出ていないなど、1つの場所にとどまっているまたはほぼ1つの場所にとどまっていることを示し得る。歩行というモビリティ属性値は、モバイルコンピューティングデバイスが、一般に歩いている人に関連付けられた速度で移動しているなど、比較的遅い速度で移動していることを示し得る。このような移動速度は、たとえば約1~5マイル/時または約1~8キロメートル/時であってもよい。運転というモビリティ属性値は、モバイルコンピューティングデバイスが、一般に運転されている車両に関連付けられた速度で移動しているなど、比較的速い速度で移動していることを示し得る。このような移動速度は、たとえば約5~200マイル/時、約8~320キロメートル/時、または10マイル/時(または、18キロメートル/時)を超える移動速度であってもよい。他の例では、モビリティ属性は、上記の静止/歩行/運転の値とは異なる1つまたは複数の値(速度数値、速さベクトル値、速度、速さおよび/もしくは加速度値の組み合わせ、または、静止/歩行/運転とは異なるカテゴリを有する定性値など)を使用して表すことができる。
【0051】
モビリティ属性が求められると、本明細書に記載されているアウトオブサービス回復アルゴリズムは、モビリティ属性を、少なくとも走査プロファイルの走査速度、たとえば走査プロファイル250の走査速度のセット262からの1つまたは複数の走査速度を求めるのに使用することができる。特に、モバイルコンピューティングデバイスがより速く移動していることをモビリティ属性が示す場合、本明細書に記載されているアウトオブサービス回復アルゴリズムは、1つまたは複数の走査速度を増加させることができる。したがって、1つまたは複数の走査速度と、モビリティ属性によって示されるモバイルコンピューティングデバイスの移動速度とを正に相関付けることができる。たとえば、モバイルコンピューティングデバイスの移動速度が比較的速い(運転時など)ことをモビリティ属性が示す場合、走査速度は比較的速くなり得て、モバイルコンピューティングデバイスの移動速度が比較的遅い(静止時など)ことをモビリティ属性が示す場合、走査速度は比較的遅くなり得る。
【0052】
モバイルコンピューティングデバイスが速度を増加させるにつれて、モバイルコンピューティングデバイスが受信する信号の周波数および強度が変化する確率が増加し得るという知見に基づいて、モバイルコンピューティングデバイスが速度を増加させる(それによって、より速く移動する)につれて、本明細書に記載されているアウトオブサービス回復アルゴリズムは走査速度を増加させることができる。たとえば、モビリティ属性が上記の3つのカテゴリ:静止、歩行および運転を有するとする。この例では、本明細書に記載されているアウトオブサービス回復アルゴリズムは、走査プロファイルの周波数のセットのうちの特定の周波数F1についてのそれぞれの走査速度をX,X+d1およびX+d2として求めてもよい。この例では、Xは、モバイルコンピューティングデバイスに関連付けられたF1についてのベースライン走査速度であり、このベースライン走査速度は、静止モビリティ属性値に関連付けられ、X>0である。
【0053】
引き続きこの例では、値X+d1は、モビリティ属性値が歩行であるモバイルコンピューティングデバイスに関連付けられたF1についての走査速度であり、Xは、この例で上記した通りであり、d1>0である。したがって、X+d1は、Xよりも大きい。さらに、引き続きこの例では、値X+d2は、モビリティ属性値が運転であるモバイルコンピューティングデバイスに関連付けられたF1についての走査速度であり、Xは、この例で上記した通りであり、d2>d1である。したがって、X+d2は、Xよりも大きい。そうすると、静止モビリティ属性値に関連付けられた走査速度であるベースライン走査速度Xは、歩行モビリティ属性値に関連付けられた走査速度である走査速度X+d1未満であり、X+d1は、運転モビリティ属性値に関連付けられた走査速度であるX+d2未満である。モビリティ属性に基づいて走査速度を求めるための他の技術も可能である。
【0054】
図3は、属性310のバッテリ属性が、「バッテリ寿命%」を表す値312を有し得て、「バッテリ寿命が増加するにつれて走査速度を増加させる」という走査プロファイルに対する影響314を有し得ることを示している。バッテリ属性のバッテリ寿命%値は、モバイルコンピューティングデバイスのバッテリの電力が多くなるにつれて増加し得る。いくつかの例において、バッテリ属性は、バッテリ寿命%とは異なる値(バッテリ電力値、定性的なバッテリ値(たとえば、高いバッテリ電力、低いバッテリ電力)、バッテリ使用量値、および/または、最後のバッテリ充電からの時間に関連する値などであるが、これらに限定されるものではない)を使用することができる。
【0055】
バッテリ属性が求められると、本明細書に記載されているアウトオブサービス回復アルゴリズムは、バッテリ属性を、少なくとも走査プロファイルの走査速度、たとえば走査プロファイル250の走査速度のセット262のうちの1つまたは複数の走査速度を求めるのに使用することができる。特に、モバイルコンピューティングデバイスのバッテリ寿命がますます長くなることをバッテリ属性が示す場合、本明細書に記載されているアウトオブサービス回復アルゴリズムは、1つまたは複数の走査速度を増加させることができる。モバイルコンピューティングデバイスのバッテリ寿命が長くなるおよび/またはバッテリ電力が多くなると、モバイルコンピューティングデバイスはより頻繁におよび/またはより長い期間にわたって走査を行うことができるという知見に基づいて、モバイルコンピューティングデバイスのバッテリ寿命が長くなるにつれて、本明細書に記載されているアウトオブサービス回復アルゴリズムは走査速度を増加させることができる。したがって、1つまたは複数の走査速度と、バッテリ属性によって示されるモバイルコンピューティングデバイスのバッテリ電力とを正に相関付けることができる。たとえば、モバイルコンピューティングデバイスのバッテリ電力が比較的高い(バッテリ寿命%値が50%を上回るまたは90~100%である場合など)ことをバッテリ属性が示す場合、走査速度は比較的速くなり得て、モバイルコンピューティングデバイスのバッテリ電力が比較的低い(バッテリ寿命%値が50%を下回るまたは0~10%である場合など)ことをバッテリ属性が示す場合、走査速度は比較的遅くなり得る。
【0056】
たとえば、バッテリ属性の値が0~100であり、これは、モバイルコンピューティングデバイスの1つまたは複数のバッテリのバッテリ寿命のパーセンテージを示すとする。その場合、本明細書に記載されているアウトオブサービス回復アルゴリズムは、走査プロファイルの周波数のセットのうちの特定の周波数F1についてのそれぞれの走査速度をX*[(BA-c1)/c2]として求めることができ、ここで、Xは、モバイルコンピューティングデバイスに関連付けられたF1についてのベースライン走査速度であり、X>0であり、BAは、バッテリ属性の値であり、c1およびc2は、予め定められた値であり、100>c1,c2≧0であり、c1+c2<100である。c1およびc2の値は、予め定められた定数値であり得て、c1は、走査を実行するための最小バッテリ寿命を表し、c2は、バッテリ寿命を、ベースライン走査速度Xに乗算するために使用される走査乗数に変換するためのスケーリング値を表す。[(BA-c1)/c2]の値である走査乗数がマイナスまたはゼロである場合、走査速度はゼロであると判断することができ、走査は実行されない。なお、BA≦c1であれば走査乗数はゼロまたはマイナスになり、c1<BA≦(c1+c2)であれば走査乗数は0~1になり、(c1+c2)<BA≦(c1+2*c2)であれば走査乗数は1~2になる、などである。BAが0~100の範囲内であるので、最大走査乗数値は、(100-c1)/c2である。バッテリ属性値に基づいて走査速度を求めるための他の技術も可能である。
【0057】
図3は、属性310のスクリーン動作属性が、少なくとも「アクティブ、イナクティブ」から選択された値312を有し得て、「スクリーンがアクティブであれば、走査速度を増加させる」という走査プロファイルに対する影響314を有し得ることを示している。いくつかの例において、スクリーン動作属性は、「アクティブ」または「イナクティブ」という定性値とは異なる値を使用することができる。たとえば、スクリーン動作属性値は、スクリーン輝度レベル(おそらく、輝度レベルがゼロまたは別の予め定められた値であることは、モバイルコンピューティングデバイスに関連付けられたスクリーンがアクティブでないことを示す)、および/または、モバイルコンピューティングデバイスに関連付けられたスクリーンがどれぐらいの間アクティブであったか(または、アクティブでなかったか)を示すスクリーン動作タイマに基づき得る。
【0058】
モバイルコンピューティングデバイスに関連付けられた1つまたは複数のスクリーンについてスクリーン動作属性が求められると、本明細書に記載されているアウトオブサービス回復アルゴリズムは、スクリーン動作属性を、少なくとも走査プロファイルの走査速度、たとえば走査プロファイル250の走査速度のセット262のうちの1つまたは複数の走査速度を求めるのに使用することができる。特に、モバイルコンピューティングデバイスに関連付けられた少なくとも1つのスクリーンがアクティブであることをスクリーン動作属性が示す場合、本明細書に記載されているアウトオブサービス回復アルゴリズムは、1つまたは複数の走査速度を増加させることができる。モバイルコンピューティングデバイスに関連付けられた少なくとも1つのスクリーンがアクティブであるときにモバイルコンピューティングデバイスがアクティブに利用されているという知見に基づいて、スクリーン動作属性が増加するにつれて、本明細書に記載されているアウトオブサービス回復アルゴリズムは走査速度を増加させることができる。有益なことに、ユーザは、モバイルコンピューティングデバイスをアクティブに利用しているとき、モバイルコンピューティングデバイスがアウトオブサービスになるかどうかをより心配するので、走査速度は、それに応答して増加し得る。
【0059】
たとえば、スクリーン動作属性の値が0または1であり、0は、モバイルコンピューティングデバイスに関連付けられたスクリーンがアクティブでないことを示すスクリーン動作属性のイナクティブ値に対応し、1は、モバイルコンピューティングデバイスに関連付けられたスクリーンがアクティブであることを示すアクティブ値に対応するとする。複数のスクリーンがモバイルコンピューティングデバイスに関連付けられている例においては、複数のスクリーンのうちの少なくとも1つのスクリーンがアクティブである場合、SAは1に設定することができ、複数のスクリーンのうちのどのスクリーンもアクティブでない場合、SAは0に設定することができる。
【0060】
次いで、本明細書に記載されているアウトオブサービス回復アルゴリズムは、走査プロファイルの周波数のセットのうちの特定の周波数F1についてのそれぞれの走査速度をX*(1+c3*SA)として求めることができ、ここで、Xは、周波数F1についてのベースライン走査速度であり、X>0であり、SAは、バッテリ属性の値であり(SAは、上記のように0または1に等しい)、c3は、予め定められた値であり、c3≧0である。この例において、SA=0である場合(モバイルコンピューティングデバイスのスクリーンがイナクティブである場合など)、(1+c3*SA)=(1+0)=1であるため、SA=0である場合の周波数F1についてのそれぞれの走査速度Xは、Xになるであろう。引き続きこの例では、SA=1である場合(モバイルコンピューティングデバイスのスクリーンがアクティブである場合など)、(1+c3*SA)=1+c3であるため、SA=1である場合の周波数F1についてのそれぞれの走査速度Xは、X*(1+c3)になるであろう。c3>0であるので、SA=1である場合の周波数F1についてのそれぞれの走査速度Xは、SA=0である場合よりも大きくなるであろう。したがって、モバイルコンピューティングデバイスに関連付けられたスクリーンがアクティブである(上記の例では、SA=1である場合など)ことをスクリーン属性が示す場合、走査速度のセットのうちの特定の走査速度は比較的速くなり得る。同様に、モバイルコンピューティングデバイスに関連付けられたスクリーンがアクティブでない(上記の例では、SA=0である場合など)ことをスクリーン属性が示す場合、特定の走査速度は比較的遅くなり得る。スクリーン動作属性に基づいて走査速度を求めるための他の技術も可能である。
【0061】
図3は、属性310の温度属性が、「デバイス温度℃(または°F)」、すなわちモバイルコンピューティングデバイスの温度を表す値312を有し得て、「温度属性が増加するにつれて走査速度を減少させる」という走査プロファイルに対する影響314を有し得ることを示している。モバイルコンピューティングデバイスの一部または全ての温度および/またはモバイルコンピューティングデバイスの周囲の環境の温度が上昇するにつれて、温度属性の値は増加し得る。いくつかの例において、温度属性は、モバイルコンピューティングデバイスの一部または全ての温度値とは異なる値(モバイルコンピューティングデバイスの周囲の環境の温度値および/または定性的な温度測定値(たとえば、比較的暑い、比較的寒い、平均的な温度)などであるが、これらに限定されるものではない)を使用することができる。
【0062】
温度属性が求められると、本明細書に記載されているアウトオブサービス回復アルゴリズムは、温度属性を、少なくとも走査プロファイルの走査速度、たとえば走査プロファイル250の走査速度のセット262のうちの1つまたは複数の走査速度を求めるのに使用することができる。特に、モバイルコンピューティングデバイスがより高い温度を有することを温度属性が示す場合、本明細書に記載されているアウトオブサービス回復アルゴリズムは、1つまたは複数の走査速度を減少させることができる。モバイルコンピューティングデバイスがより頻繁におよび/またはより長い期間にわたって走査を実行するとモバイルコンピューティングデバイスが電力を使用することになり、それによってデバイス温度を上昇させるという知見に基づいて、モバイルコンピューティングデバイスの温度が高くなるにつれて、本明細書に記載されているアウトオブサービス回復アルゴリズムは走査速度を減少させることができる。したがって、1つまたは複数の走査速度と、温度属性によって示されるモバイルコンピューティングデバイスの温度とを負に相関付けることができる。たとえば、モバイルコンピューティングデバイスの温度が比較的低いことを温度属性が示す場合、走査速度は比較的速くなり得て、モバイルコンピューティングデバイスの温度が比較的高いことを温度属性が示す場合、走査速度は比較的遅くなり得る。
【0063】
たとえば、温度属性の値が、可能な限りの最低温度T1から可能な限りの最高温度T2までの範囲であり、これは、モバイルコンピューティングデバイスの温度を示すとする。その場合、本明細書に記載されているアウトオブサービス回復アルゴリズムは、走査プロファイルの周波数のセットのうちの特定の周波数F1についてのそれぞれの走査速度をX*{1+[c4*(T2-TA)]}として求めることができ、ここで、Xは、周波数F1についてのベースライン走査速度であり、X>0であり、TAは、温度属性の値であり、T1≦TA≦T2であり、c4は、予め定められた値であり、c4>0である。そして、TAが増加するにつれて、(T2-TA)は減少し、最終的にTA=T2になると0に到達する。c4>0であるので、値1+[c4*(T2-TA)]は、TA<T2である場合には1よりも大きくなり、TA=T2である場合には1に等しくなる。その結果、温度属性の値が減少するにつれて、走査速度は増加する。温度属性値に基づいて走査速度を求めるための他の技術も可能である。
【0064】
図3は、属性310のソフトウェアアプリケーション属性が、「アクティブなアプリケーションの数」を表す値312を有し得て、「1つまたは複数のアプリケーションがアクティブである」場合に「走査速度を増加させる」という走査プロファイルに対する影響314を有し得ることを示している。モバイルコンピューティングデバイスが実行するソフトウェアアプリケーションが多くなるにつれて、ソフトウェアアプリケーション属性の値は増加し得る。いくつかの例において、ソフトウェアアプリケーション属性は、アクティブなソフトウェアアプリケーションの数とは異なる値(ある期間中にアクティブであったソフトウェアアプリケーションの平均数、ある期間中に起動されたソフトウェアアプリケーションの数、および/または、ある期間中にユーザ入力を受信したソフトウェアアプリケーションの数などであるが、これらに限定されるものではない)を使用することができる。
【0065】
ソフトウェアアプリケーション属性が求められると、本明細書に記載されているアウトオブサービス回復アルゴリズムは、ソフトウェアアプリケーション属性を、少なくとも走査プロファイルの走査速度、たとえば走査プロファイル250の走査速度のセット262からの1つまたは複数の走査速度を求めるのに使用することができる。特に、ソフトウェアアプリケーション属性が増加するにつれて、本明細書に記載されているアウトオブサービス回復アルゴリズムは1つまたは複数の走査速度を増加させることができる。
【0066】
少なくとも1つのソフトウェアアプリケーションがアクティブである場合にモバイルコンピューティングデバイスがユーザによってアクティブに利用されているという知見に基づいて、ソフトウェアアプリケーション属性が増加するにつれて、本明細書に記載されているアウトオブサービス回復アルゴリズムは走査速度を増加させることができる。ユーザは、モバイルコンピューティングデバイスをアクティブに利用しているので、モバイルコンピューティングデバイスがアウトオブサービスになることに対してより注意を払っており、そのため、走査速度は、それに応答して増加し得る。たとえば、ソフトウェアアプリケーション属性の値が、0からAPPMAXまでの、アクティブなアプリケーションの数を特定する整数値であり、0という値は、アクティブなソフトウェアアプリケーションがないことを示し、APPMAXは、アクティブなアプリケーションの最大数を示す値であるとする。その場合、本明細書に記載されているアウトオブサービス回復アルゴリズムは、走査プロファイルの周波数のセットのうちの特定の周波数F1についてのそれぞれの走査速度をX*[SAA*c5+c6]として求めることができ、ここで、Xは、周波数F1についてのベースライン走査速度であり、X>0であり、SAAは、ソフトウェアアプリケーション属性の値であり、c5およびc6の各々は、予め定められた値であり、c5>0,c6≧0である。SAAに正の値c5を乗算することによって、アクティブなアプリケーションの数(SAAによって表される)が増加するにつれて走査速度は増加する。c6を加算することにより、SAAが0に等しい場合でさえ、正の走査速度が可能になる。
【0067】
したがって、1つまたは複数の走査比と、ソフトウェアアプリケーション属性によって示されるモバイルコンピューティングデバイスのアクティブなソフトウェアアプリケーションの数とを正に相関付けることができる。たとえば、モバイルコンピューティングデバイスのアクティブなソフトウェアアプリケーションの数が比較的多い(1よりも大きいまたはAPPMAXの80%よりも大きいなど)ことをソフトウェアアプリケーション属性が示す場合、走査速度は比較的速くなり得て、モバイルコンピューティングデバイスのアクティブなソフトウェアアプリケーションの数が比較的少ない(1以下またはAPPMAXの20%未満など)ことをソフトウェアアプリケーション属性が示す場合、走査速度は比較的遅くなり得る。
【0068】
別の例において、本明細書に記載されているアウトオブサービス回復アルゴリズムは、走査プロファイルの周波数のセットのうちの特定の周波数F1についてのそれぞれの走査速度をX*[(SAA>0)?c7:c8]として求めることができ、ここで、Xは、周波数F1についてのベースライン走査速度であり、X>0であり、SAAは、ソフトウェアアプリケーション属性の値であり、c7およびc8の各々は、予め定められた値であり、c7>0,c8≧0である。この例では、演算(SAA>0)?c7:c8は、最初に条件「(SAA>0)」の2進値を求めることを含み、次いで、この演算は、条件の2進値が真である場合にはc7の値を返し、条件の2進値が偽である場合にはc8の値を返す。このような演算は、少なくとも1つのアプリケーションがモバイルコンピューティングデバイス上でアクティブであったことをソフトウェアアプリケーション属性が示す場合にc7を返し、そうでなければc8を返すであろう。ソフトウェアアプリケーション属性値に基づいて走査速度を求めるための他の技術も可能である。
【0069】
図3は、属性310の最も最近使用された周波数属性が、「MRU周波数値」を表す値312を有し得て、「最も最近使用された(MRU)周波数を最初に選択し、および/または、MRU周波数の走査速度を変更する」という走査プロファイルに対する影響314を有し得ることを示している。最も最近使用された周波数属性の値は、特定のサービスを提供するため、および/または、特定のネットワーク、アクセスポイントおよび/または1つもしくは複数の他のネットワークエンティティに接続するために使用される最も最近使用された、またはより一般的には以前の、周波数の周波数値であり得る。いくつかの例では、最も最近使用された周波数属性は、特定のサービスを提供するため、および/または、特定のネットワーク、アクセスポイントおよび/または1つもしくは複数の他のネットワークエンティティに接続するために使用される1つの周波数をリストアップすることができる。他の例では、最も最近使用された周波数属性は、特定のサービスを提供するため、および/または、特定のネットワーク、アクセスポイントおよび/または1つもしくは複数の他のネットワークエンティティに接続するために以前に使用された複数の周波数をリストアップすることができる。たとえば、最も最近使用された周波数属性は、最も最近使用されたNUM_FREQ周波数をリストアップすることができ、NUM_FREQは、1よりも大きな整数であり得る。
【0070】
最も最近使用された周波数属性が求められると、本明細書に記載されているアウトオブサービス回復アルゴリズムは、最も最近使用された周波数属性を、少なくともサービスを走査するための周波数のセットを求めること、および/または、1つまたは複数の関連する走査速度を求めることに使用することができる。最も最近使用された周波数がアクセスポイント、ネットワークおよび/または他のネットワークエンティティに接続するために過去に機能していたという知見に基づいて、本明細書に記載されているアウトオブサービス回復アルゴリズムは、まず、最も最近使用された周波数および/または以前に使用された周波数を使用しようと試みることができる。したがって、当該アクセスポイント、ネットワークおよび/または他のネットワークエンティティに接続しようとその後試みる際には、まず、過去に機能した周波数を試すことができる。
【0071】
たとえば、最も最近使用された周波数属性が、ネットワークNET1のアクセスポイントAP1に接続するための最も最近使用された周波数NUM_FREQ1をリストアップしており、NUM_FREQ1>0であるとする。その場合、本明細書に記載されているアウトオブサービス回復アルゴリズムは、最も最近使用された周波数NUM_FREQ1を、アクセスポイントAP1および/またはネットワークNET1への考えられる接続の走査に使用される周波数のセットに追加することができる。より具体的には、NUM_FREQ1=3であり、モバイルコンピューティングデバイスがアクセスポイントAP1への考えられる接続を走査することができる考えられる周波数が10個あるとする。本明細書に記載されているアウトオブサービス回復アルゴリズムは、アクセスポイントAP1への考えられる接続のために10個の考えられる周波数のセットを生成することができ、10個のセットの中の最初のNUM_FREQ1=3個の周波数は、最も最近使用された周波数属性の3つの周波数であり得て、残り7個の考えられる周波数は、最も最近使用された周波数属性の3つの周波数の後にリストアップされることができる。すなわち、最も最近使用された周波数属性の3つの周波数は、10個の考えられる周波数のセットの中の残り7個の考えられる周波数に先行し得る。本明細書に記載されているアウトオブサービス回復アルゴリズムがこの10個の周波数のセットを使用してアクセスポイントAP1を走査する場合、走査される最初の3つの周波数は、最も最近使用された周波数属性の3つの周波数であり、走査される残り7個の周波数は、残りの考えられる周波数である。
【0072】
また、最も最近使用された周波数および/または以前に使用された周波数についての走査速度は、最も最近使用されたものではない周波数および/または以前に使用されたものではない周波数の走査速度から変更することができ、それによって、それらは異なっていることができる。たとえば、最も最近使用された周波数および/または以前に使用された周波数についての走査速度は、SR_MRUの値に関連付けられることができ、対応する最も最近使用されたものではない周波数および/または以前に使用されたものではない周波数についての走査速度は、値SR_NONMRUに関連付けられることができ、SR_MRU≠SR_NONMRUである。そして、周波数F1についてのベースライン走査速度の値として上記したXは、F1が最も最近使用された周波数および/または以前に使用された周波数である場合にはSR_MRU値に初期化することができ、Xは、F1が最も最近使用された周波数および/または以前に使用された周波数である場合にはSR_NONMRUに初期化することができる。いくつかの例において、SR_MRU>SR_NONMRUは、最も最近使用された周波数および/または以前に使用された周波数についての走査速度が、最も最近使用されたものではない周波数および/または以前に使用されたものではない周波数についての走査速度よりも高いことを示す。最も最近使用された周波数および/または以前に使用された周波数についての走査速度を、最も最近使用されたものではない周波数および/または以前に使用されたものではない周波数についての走査速度とは異なるように設定するための他の技術も可能である。そして、最も最近使用された周波数属性を求めるおよび/または利用するための他の技術も可能である。
【0073】
図3は、属性310の予測された位置属性が、「予測された位置の緯度/経度」(モバイルコンピューティングデバイスおよび/またはモバイルコンピューティングデバイスのユーザの1つまたは複数の予測された位置の緯度および経度値の略)を表す値312を有し得て、「実際のMCD位置に基づいて周波数を選択する」という走査プロファイルに対する影響314を有し得ることを示している。予測された位置は、モバイルコンピューティングデバイスおよび/またはモバイルコンピューティングデバイスのユーザが訪れることが予想される場所であり得る。いくつかの例では、予測された位置属性は、1つの予測された位置を含み得る。他の例では、予測された位置属性は、2つ以上の予測された位置を含み得る。
【0074】
予測された位置は、モバイルコンピューティングデバイスの位置データの経時的な統計的分析を使用して求めることができ、特定の時刻におけるモバイルコンピューティングデバイスの位置の予測は、この統計的分析に基づき得る。上記のように、予測された位置は、緯度および経度値を使用して特定することができる。他の例では、予測された位置は、特定の地図によって特定される座標を使用して、メーリングアドレスを使用して、郵便番号を使用して特定することができ、および/または、他の態様で特定することができる。
【0075】
予測された位置属性が求められると、本明細書に記載されているアウトオブサービス回復アルゴリズムは、予測された位置属性を、少なくともサービスを走査するための周波数のセットを求めるのに使用することができる。本明細書に記載されているアウトオブサービス回復アルゴリズムは、予測された位置属性において特定された予測された位置を使用して、予測された位置でサービスを提供することができる1つまたは複数のアクセスポイント、ネットワークおよび/または他のネットワークエンティティを求めることができ、予測された位置でサービスを提供することができる当該アクセスポイント、ネットワークおよび/または他のネットワークエンティティのための周波数(および、関連する走査速度)を含むことができる。
【0076】
たとえば、モバイルコンピューティングデバイスが位置L1にあると予測されることを予測された位置属性が示し、位置L1では、2つのアクセスポイントAPL1AおよびAPL1Bがモバイルコンピューティングデバイスにサービスを提供できるとする。この例では、本明細書に記載されているアウトオブサービス回復アルゴリズムは、予測された位置属性を使用してモバイルコンピューティングデバイスが位置L1にある可能性が高いと判断し、アクセスポイントAPL1AおよびAPL1Bが位置L1においてサービスを提供すると判断し、周波数のサブセットF_APL1AおよびF_APL1Bをプロファイルの周波数のセットに追加することができ、それぞれの周波数のサブセットF_APL1AおよびF_APL1Bを使用して、位置L1においてそれぞれのアクセスポイントAPL1AおよびAPL1Bに接続してモバイルコンピューティングデバイスにサービスを提供することができる。予測された位置属性を求めるおよび/または利用するための他の技術も可能である。
【0077】
図3は、属性310の実際の位置属性が、「実際の位置の緯度/経度」(モバイルコンピューティングデバイスおよび/またはモバイルコンピューティングデバイスのユーザの1つまたは複数の実際の位置の緯度および経度値の略)を表す値312を有し得て、「予測されたMCD位置に基づいて周波数を選択する」という走査プロファイルに対する影響314を有し得ることを示す。実際の位置は、モバイルコンピューティングデバイスおよび/またはモバイルコンピューティングデバイスのユーザが(最近)訪れた場所であり得る。いくつかの例では、実際の位置属性は、1つの実際の位置をリストアップし得る。他の例では、実際の位置属性は、2つ以上の実際の位置をリストアップし得る。
【0078】
実際の位置は、モバイルコンピューティングデバイスおよび/またはモバイルコンピューティングデバイスのユーザの実際の位置を示す位置データを提供するために、位置センサおよび/またはGPSデバイスなどの1つまたは複数のセンサを使用して求めることができる。上記のように、実際の位置は、緯度および経度値を使用して特定することができる。他の例では、実際の位置は、特定の地図によって特定される座標を使用して、メーリングアドレスを使用して、郵便番号を使用して特定することができ、および/または、他の態様で特定することができる。
【0079】
実際の位置属性が求められると、本明細書に記載されているアウトオブサービス回復アルゴリズムは、この実際の位置属性を、少なくともサービスを走査するための周波数のセットを求めるのに使用することができる。本明細書に記載されているアウトオブサービス回復アルゴリズムは、予測された位置属性において特定された実際の位置を使用して、実際の位置でサービスを提供することができる1つまたは複数のアクセスポイント、ネットワークおよび/または他のネットワークエンティティを求めることができ、実際の位置でサービスを提供することができる当該アクセスポイント、ネットワークおよび/または他のネットワークエンティティのための周波数(および、関連する走査速度)を含むことができる。
【0080】
たとえば、本明細書に記載されているアウトオブサービス回復アルゴリズムは、予測された位置属性の文脈において予測された位置について上記したものと同様の実際の位置のための技術を使用して、実際の位置でサービスを提供することができるアクセスポイント、ネットワークおよび/または他のネットワークエンティティのための周波数のサブセット(および、関連する走査速度)を追加することができる。実際の位置属性を求めるおよび/または利用するための他の技術も可能である。
【0081】
本明細書に記載されているアウトオブサービス回復アルゴリズムは、上記の走査コンテキスト300の属性310のうちの一部または全ての値を求めることができる。本明細書に記載されているアウトオブサービス回復アルゴリズムは、属性310の値を使用して、上記のように周波数のセットおよび関連する走査速度を求め、次いで、訓練された機械学習モデルを使用して、および/または、その他の態様で、属性310の影響を数学的に組み合わせて、周波数のセットおよび関連する走査速度のセットを取得することができる。次いで、本明細書に記載されているアウトオブサービス回復アルゴリズムは、取得された周波数のセットおよび関連する走査速度のセットを使用して、走査プロファイル250などの走査プロファイルを生成および/またはその他の態様で求めることができる。走査コンテキストの属性から走査プロファイルを求めるための他の技術も可能である。
【0082】
図4は、例示的な実施形態に係る、方法400のフローチャートである。方法400は、モバイルコンピューティングデバイス(モバイルコンピューティングデバイス130,132,134,136,138,210のうちの1つまたは複数などであるが、これらに限定されるものではない)によって、および/または、モバイルコンピューティングデバイスの役割を果たすコンピューティングデバイス(コンピューティングデバイス800など)によって実行することができる。方法400は、本明細書に記載されているアウトオブサービス回復アルゴリズムの少なくとも一部としてモバイルコンピューティングデバイスによって使用されて、(場合によっては、アウトオブサービスの)モバイルコンピューティングデバイスのためにサービスを取得することができる。
【0083】
ブロック410において、方法400は、減少していく一連の走査比を求めるステップを含む。各走査比は、モバイルコンピューティングデバイスがワイヤレスネットワークとの接続を試みるために1つまたは複数の周波数を走査する時間の比率を示す。モバイルコンピューティングデバイスは、モバイルコンピューティングデバイスがワイヤレスネットワークから切断される切断された時間窓中に一連の走査比の各走査比でサービスを走査してもよい。一例として、一連の走査比のうちの第1の走査比は、モバイルコンピューティングデバイスが当該時間のうちの80%にわたってサービスを走査している(当該時間のうちの20%は走査していない)ことを示してもよく、一連の走査比のうちの第2の走査比は、モバイルコンピューティングデバイスが当該時間のうちの60%にわたってサービスを走査していることを示してもよく、一連の走査比のうちの第3の走査比は、モバイルコンピューティングデバイスが当該時間のうちの40%にわたってサービスを走査していることを示してもよい。
【0084】
各走査比は、スリープ期間に関連付けられてもよい。選択された走査比でのサービスの走査は、連続的な走査期間の合間の関連付けられたスリープ期間待つことを含んでもよい。たとえば、走査比が80%である場合、連続的な4分の走査窓の間に1分のスリープ期間が適用されてもよい(その結果、合計時間は5分であり、デバイスは、当該時間のうちの20%はスリープ状態であるまたは走査を行っていない)。走査比が60%である場合、連続的な4分の走査窓の間に2分40秒のスリープ期間が適用されてもよい。走査比が40%である場合、連続的な4分の走査窓の間に6分のスリープ期間が適用されてもよい。
【0085】
一連の走査比は、対応する一連の段階にわたって適用されてもよく、各段階は、同一の期間(たとえば、1分または5分または10分)を有する。一連の段階は、段階タイマに関連付けられてもよい。段階タイマは、現在の段階(したがって、現在の走査比)および現在の段階のどれぐらいまでアルゴリズムが進んでいるかを示してもよい。さらなる例において、さまざまな段階は、さまざまな期間を有していてもよい。さらなる例において、減少していく一連の走査比は、一定の間隔を有する段階ではなく、連続的な減少関数に関連付けられてもよい。一般に、アウトオブサービスの時間が増加するにつれて走査比を減少させることによって、サービス回復アルゴリズムは、モバイルコンピューティングデバイスの電力利用を最適化することができる。
【0086】
一連の段階または走査比は、本明細書に別段の記載がある場合、走査コンテキスト情報に左右され得る。たとえば、機械学習モデルは、デバイスモビリティ、バッテリ情報、温度、位置および/または他のユーザコンテキスト情報を含む要素の組み合わせに基づいて一連の段階または走査比を生成するように訓練されてもよい。ある段階中に特定の走査比が適用される場合、これは、複数の異なる周波数が順番に走査されることを含んでもよい。個々の周波数についてさまざまな走査速度が適用されてもよい。さらに、さまざまな周波数のセットまたはデータベースについて、複数の一連の段階または走査比が求められてもよい。特に、第1の関連付けられた段階タイマを有する1つの一連の段階は、最近発見された周波数を含むacq_dbデータベースのみで使用されてもよい。第2の関連付けられた段階タイマを有する第2の一連の段階は、全ての許容周波数帯域を含むfull_bandデータベースで使用されてもよい。さまざまな周波数のセットを走査するための他の構成も考えられる。
【0087】
ブロック420において、方法400は、モバイルコンピューティングデバイスがワイヤレスネットワークに接続されると接続された時間窓を求めるステップを含む。接続された時間窓は、切断された時間窓の後に発生してもよい。より具体的には、接続された時間窓は、モバイルコンピューティングデバイスがインサービスである連続的な期間である。たとえば、接続された時間窓は、1分間、5分間または10分間続いてもよい。いくつかの例において、接続が十分に長い期間にわたって維持された後は、モバイルコンピューティングデバイスが頻繁にインサービスになったりアウトオブサービスになったりするとはもはや考えられず、サービス回復アルゴリズムは終了してもよい。しかし、より短い期間内にサービスが失われる場合、サービス回復アルゴリズムは、電力利用を最適化しながらサービスを回復しようとし続けてもよい。
【0088】
ブロック430において、方法400は、少なくとも接続された時間窓の期間に基づいてモバイルコンピューティングデバイスのピンポン率を判断するステップを含む。ピンポン率は、モバイルコンピューティングデバイスが頻繁にインサービスになったりアウトオブサービスになったりする程度を示す尺度である。一般に、最も最近の接続された時間窓の期間が長くなることは、ピンポン率が低くなることに関連付けられてもよい。
【0089】
いくつかの例において、ピンポン率は、最も最近の接続された時間窓の期間を3つのクラスまたはバケットのうちの1つに分類することによって、高い、中程度または低いと判断されてもよい。たとえば、期間が第1の閾値時間未満である場合、ピンポン率は高いと判断されてもよい。期間が第1の閾値時間よりも大きいが第2の閾値時間未満である場合、ピンポン率は中程度であると判断されてもよい。期間が第2の閾値時間よりも大きい場合、ピンポン率は低いと判断されてもよい。一例として、第1の閾値時間は、1分であってもよく、第2の閾値時間は、5分であってもよい。
【0090】
さらなる例において、ピンポン率は、その代わりに、最も最近の接続された時間窓の期間を2つのバケットのうちの1つまたは4つ以上のバケットのうちの1つに分類することによって判断されてもよい。さらなる例において、ピンポン率は、最も最近の接続された時間窓の期間の連続関数として判断されてもよい。
【0091】
さらなる例において、ピンポン率は、複数の接続された時間窓の期間に基づいて判断されてもよい。たとえば、最も最近の接続された時間窓のみを考慮に入れる代わりに、以前の2つまたは3つまたは5つの接続された時間窓の各々の期間を考慮に入れてもよい。このような例では、複数の接続された時間窓の各々の期間は、平均されてもよく、次いで、この平均値は、ピンポン率を確立するために評価(たとえば、複数のバケットのうちの1つに分類)されてもよい。この平均値は、接続された時間窓が最近になればなるほど大きな重みを割り当てる加重平均値であってもよい。
【0092】
ブロック440において、方法400は、ピンポン率に基づいて、減少していく一連の走査比から走査比を選択するステップを含む。ピンポン率は、現在の切断された時間窓において走査を開始するために、以前の切断された時間窓中に使用された減少していく一連の走査比をどれぐらい遡って走査比を巻き戻すかを判断するために使用されてもよい。一般に、走査比は、ピンポン率が低くなるほどさらに巻き戻されてもよい。このアプローチは、非常に短い接続された時間窓が走査比をリセットし過ぎることによって、バッテリ寿命に悪影響を及ぼし得る非効率な過剰走査を生じさせることを防ぐ。走査比をリセットすることは、一連の走査比に対応する一連の段階の進行量を表す特定の時刻に段階タイマをリセットすることを含んでもよい。
【0093】
いくつかの例において、ピンポン率は、高い、中程度または低いと判断されてもよい。ピンポン率が高いピンポン率であると判断される場合、選択された走査比は、一連の走査比からの最も最近使用された走査比に設定されてもよい。この場合、段階タイマは、全くリセットされなくてもよく、その代わりに、以前の切断された時間窓の終わりにサービスが最後に再取得された時点から継続してもよい。ピンポン率が中程度のピンポン率であると判断される場合、選択された走査比は、一連の走査比からの最も最近使用された走査比と初期走査比との間の中間走査比に設定されてもよい。この場合、段階タイマは、以前の切断された時間窓の初めと終わりとの間の時点に直接リセットされてもよい。ピンポン率が低いピンポン率であると判断される場合、選択された走査比は、一連の走査比からの初期走査比に設定されてもよい。この場合、段階タイマは、以前の切断された時間窓の冒頭にリセットされてもよい。
【0094】
さらなる例において、ピンポン率は、数値であってもよく、走査比は、当該数値に関連付けられた特定の時刻に段階タイマをリセットすることによって一連の走査比から選択されてもよい。たとえば、ピンポン率は、0と1との間のインデックス値であってもよく、これは、以前の切断された時間窓の初めと終わりとの間でどれぐらい段階タイマをリセットするかを示す。
【0095】
さらなる例において、さまざまな周波数のセットについてさまざまな走査比が選択されてもよい(または、さまざまな関連付けられた段階タイマがさまざまにリセットされてもよい)。たとえば、走査比および関連付けられた段階タイマは、最近発見された周波数を含むacq_dbデータベースについてのみリセットされてもよい。第2の関連付けられた段階タイマを有する第2の走査比は、全ての許容周波数帯域を含むfull_bandデータベースでは、リセットされなくてもよく、または積極的にリセットされなくてもよい。
【0096】
また、走査比および関連付けられた段階タイマが特定の周波数のセットについて巻き戻される程度は、走査コンテキスト情報に左右され得る。走査コンテキスト情報は、モビリティ属性を含み得る。同様にまたはその代わりに、走査コンテキスト情報は、位置属性、温度属性および/またはスクリーン属性も含み得る。機械学習モデルは、走査比および関連付けられた段階タイマが巻き戻される程度を判断するために属性情報の任意の組み合わせを処理するように訓練されてもよい。
【0097】
ブロック450において、方法400は、モバイルコンピューティングデバイスにワイヤレスネットワークとの接続を試みさせるために、減少していく一連の走査比に従って、選択された走査比から開始して1つまたは複数の周波数を走査するステップを含む。走査比がリセットされると、以前の切断された時間窓の終わりに使用された走査比よりも大きな走査比でアルゴリズムが開始してもよい。次いで、アルゴリズムは、サービスが再取得されるまで、減少していく走査比を再び進んでいってもよい。
【0098】
選択された走査比から開始することは、以前の切断された時間窓中に辿られた一連の段階からの特定の段階における特定の時点に段階タイマをリセットすることを含んでもよい。次いで、タイマは、一連の段階における次の段階に到達するまで、関連付けられた段階の走査比で走査し続けるように開始されてもよい。
【0099】
図5は、例示的な実施形態に係る、モバイルコンピューティングデバイスによって使用される経時的なさまざまな走査比を示す図である。より具体的には、走査比のプロット500は、経時的に示されている。実線のプロットセグメント502,504,506,508および510は、ピンポン率に基づいてどれぐらい遡って走査比をリセットするかを判断する本明細書に記載されているサービス回復アルゴリズムを適用するモバイルコンピューティングデバイスによって使用され得る走査比を示す。破線のプロットセグメント514,516,518および520は、一般的なサービス回復アルゴリズムによって使用される走査比が、本明細書に記載されているサービス回復アルゴリズムからどれぐらい逸脱しているかを表す。時間窓522,524,526および528は、モバイルコンピューティングデバイスが接続されているまたはインサービスである接続された時間窓(たとえば、デバイスがアウトオブサービスになった後にサービスを再取得した時間窓)を表す。とりわけ、図5が示すように、デバイスが頻繁な断続的な接続および切断に見舞われる期間においては、プロットセグメント514,516,518および520によって示される一般的なサービス回復アルゴリズムは、サービスが再取得されるたびにアルゴリズムを常に再開させる(および、走査比を完全にリセットする)ことによって、非効率かつ過剰な走査を使用し得る。
【0100】
プロットセグメント502は、第1の切断された時間窓中にモバイルコンピューティングデバイスによって適用される減少していく一連の2つの走査比を表す。デバイスは、第1の段階中の第1の一定の走査比を一定の期間にわたって適用してもよい。この期間が経過すると、走査比は、第2の段階中の第2の一定の走査比に低減されてもよい。各段階は、同一の期間を有していてもよい。段階タイマは、現在の段階および現在の段階の現在の進行量を示すために段階をカウントしてもよい。走査比は、デバイスがワイヤレスネットワークとの接続を確立するまで減少し続けてもよい。
【0101】
時間窓522は、デバイスがワイヤレスネットワークとの接続を確立した第1の期間を表す。接続が確立されると、デバイスはサービスの走査を停止してもよい。時間窓522の終わりに、走査が再開してもよい。後続の第2の切断された時間窓中に使用される初期走査比を求めるために、時間窓522の期間に基づいてピンポン率が判断されてもよい。この場合、時間窓522の期間は、第1の閾値よりも大きく第2の閾値未満であると判断されてもよい。したがって、ピンポン率は、中程度のピンポン率であると判断されてもよい。
【0102】
ピンポン率が中程度であるとして分類されたことに基づいて、第2の切断された時間窓中に走査を開始するために、走査比は、第1の切断された時間窓の中間走査比にリセットされてもよい。第2の切断された時間窓中に適用される走査比は、プロットセグメント504によって表される。第1の切断された時間窓の中間点では最も高い走査比が適用されていたので、プロットセグメント504によって表される走査比は、最初に最も高い走査比に設定されてもよい。また、段階タイマは、第1の切断された時間窓の中間点に設定されてもよい。段階タイマは、現在の段階および走査比だけでなく、段階の進行量も示す。その結果、プロットセグメント504は、最も高い走査比から開始するが、プロットセグメント514よりも速く次の段階(および、低減された走査比)に進む。プロットセグメント504とプロットセグメント514との間の差は、走査の低減(したがって、電力節約)を表す。プロットセグメント504は、第2の接続された時間窓524に到達する前に減少していく一連の3つの走査比を進んでいく。
【0103】
接続された時間窓524の終わりに、後続の第3の切断された時間窓中に使用される初期走査比を求めるために、ピンポン率が再び判断されてもよい。この場合、ピンポン率は、接続された時間窓524の期間に基づいて中程度であると判断されてもよい。その結果、第3の切断された時間窓の初めに使用される走査比(および、段階タイマ)は、第2の切断された時間窓の中間走査比に設定されてもよい。代替的に、第3の切断された時間窓の初めに使用される走査比(および、段階タイマ)は、減少していく一連の走査比の最も最近使用された走査比(第2の切断された時間窓の終わりに使用される現在の比)と第1の走査比との間の中間走査比に設定されてもよい。
【0104】
プロットセグメント506は、第3の切断された時間窓中に使用される一連の2つの走査比を表す。初期走査比は、第2の切断された時間窓の中間点におけるプロットセグメント504の走査比に基づいて、2番目に高い走査比に設定される。また、段階タイマは、プロットセグメント506の走査比が、最初に生じるであろう走査比よりも速い3番目に高い走査比に低減されるように、第2の切断された時間窓の中間点にリセットされる。プロットセグメント516とプロットセグメント506との間の差は、走査比を求める際にピンポン率を考慮に入れることによって電力節約をさらに向上させることを表す。
【0105】
時間窓526は、第3の接続された時間窓を表す。接続された時間窓526の終わりに、第4の切断された時間窓中に使用される初期走査比を求めるために、ピンポン率が再び判断されてもよい。この場合、ピンポン率は、接続された時間窓526の期間が短い(たとえば、期間が第1の閾値未満である)ことに基づいて高いと判断されてもよい。その結果、走査比および段階タイマは、第3の切断された時間窓の終わりの走査比および段階タイマと同一であるように設定されて、第4の切断された時間窓を開始してもよい。言い換えれば、減少していく一連の走査比および段階を進んでいくことは、まるで接続された時間窓526中のサービス再取得が行われないかのように継続してもよい。
【0106】
プロットセグメント508は、第4の切断された時間窓中に適用される減少していく一連の3つの走査比を表す。プロットセグメント518とプロットセグメント508との間の差は、さらなる電力節約を表す。図5に反映されるように、各々の切断された時間窓について開始走査比を求めるためにピンポン率を考慮に入れることの電力最適化メリットは、複数の断続的なサービスロスおよび再取得を有する期間中に拡大される。
【0107】
時間窓528は、第4の接続された時間窓を表す。ピンポン率は、時間窓528の期間に基づいて再び中程度であると判断されてもよい。したがって、第5の切断された時間窓を開始するための走査比および関連付けられた段階タイマは、第4の切断された時間窓の中間点にリセットされてもよい。代替的に、第5の切断された時間窓の初めに使用される走査比(および、段階タイマ)は、減少していく一連の走査比の最も最近使用された走査比(第4の切断された時間窓の終わりに使用される現在の比)と第1の走査比との間の中間走査比に設定されてもよい。プロットセグメント510は、最後の一連の2つの減少していく走査比を表す。とりわけ、ピンポン率を考慮に入れる場合、走査比は、最終的に、一連の走査比のうちの第1の走査比から4段階低減される。一方、ピンポン率を考慮に入れない場合、走査比は、第1の走査比から1段階しか低減されない。その結果、ピンポン率を考慮に入れることにより、サービスが再取得されてすぐに失われる場合にいくつかの短い接続された時間窓の後に走査を大幅に(たとえば、50%)減少させることができる。
【0108】
図6は、例示的な実施形態に係る、実行され得る動作のフローチャートである。動作600は、モバイルコンピューティングデバイス(モバイルコンピューティングデバイス130,132,134,136,138,210のうちの1つまたは複数などであるが、これらに限定されるものではない)および/またはモバイルコンピューティングデバイスの役割を果たすコンピューティングデバイス(コンピューティングデバイス800など)によって実行することができる。動作600は、本明細書に記載されているアウトオブサービス回復アルゴリズムの少なくとも一部としてモバイルコンピューティングデバイスによって使用されて、(場合によっては、アウトオブサービスの)モバイルコンピューティングデバイスのためにサービスを取得することができる。いくつかの例において、動作600は、図4の方法400と組み合わせて使用することができる。図6の動作600は、サービス回復アルゴリズムへの走査コンテキスト(具体的には、デバイスモビリティ)の組み込みの一例を示す。さらなる例において、デバイスモビリティは、さまざまな方法で組み込まれてもよく、および/または、同様にまたはその代わりに、走査コンテキストのさまざまな局面が組み込まれてもよい。
【0109】
動作600は、サービス回復アルゴリズムが最初に実行されると、ブロック602から開始してもよい。ブロック604において、モバイルコンピューティングデバイスが現在インサービスであるか(たとえば、ワイヤレスネットワークに接続されているか)否かを判断するために確認が行われてもよい。モバイルコンピューティングデバイスがインサービスであると判断されると、ブロック610において、タイマTは、Tがゼロでなければ最初にゼロにリセットされてもよい。ここで、タイマTは、現在の接続された時間窓の期間を表す。タイマTは、モバイルコンピューティングデバイスがインサービスのままである限り、増加してもよい。
【0110】
ブロック604においてモバイルコンピューティングデバイスがもはやインサービスでないと判断されると、動作600はブロック620に進む。ブロック620において、ピンポン率を判断するために、最も最近の接続された時間窓のタイマTが評価される。この場合、ピンポン率は、Tと第1の閾値時間T1および第2の閾値時間T2とを比較することによって、高い、中程度または低いと判断される。T<T1である場合、ピンポン率は高いと判断される。T1<T<T2である場合、ピンポン率は中程度であると判断される。T>T2である場合、ピンポン率は低いと判断される。
【0111】
次いで、動作600はブロック622に進んでもよく、ブロック622において、モバイルコンピューティングデバイスが静止しているか否かについて判断がなされる。モバイルコンピューティングデバイスは、デバイスがおよそ同じ場所(たとえば、セル境界またはRF制約領域内)にある場合に静止していると考えられてもよい。このシナリオでは、同一のセルが再取得されて再び失われる可能性がある。この状況を識別するために、低モビリティを示すデバイスセンサ情報、同一のセルが再取得されていることを示すセル識別情報、および/または、他の検出されたセルの測定された信号強度が(検出されたが取得基準を満たさないセルと)同様であること、を含むいくつかの要素が考慮に入れられてもよい。この状況の別のバリエーションは、デバイスがいくつかの利用可能なセルのうちの1つを再取得している場合である。
【0112】
ブロック622においてこれらの要素の任意の組み合わせに基づいてデバイスが静止していると考えられる場合、動作600はブロック630に進む。ブロック630において、走査比および関連付けられた段階タイマは、最近発見された周波数を含むacq_db段階では、以前の切断された時間窓の冒頭にリセットされるだけでよい。代替的に、ピンポン率に適用される閾値によっては、段階および走査比および関連付けられた段階タイマは、最近発見された周波数のacq_dbでは、一連の段階のうちの第1の段階にリセットされてもよい。走査比および関連付けられた段階タイマは、全ての許容周波数帯域を含むfull_band段階では、リセットされなくてもよい。ブロック630に基づいて、最近発見された周波数の走査は、デバイスが静止していると考えられる場合に優先される(たとえば、以前に使用された周波数と同一の周波数上でサービスが発見される可能性が高いからである)。したがって、全ての周波数のフル走査と比較して、最近発見された周波数を走査するのに必要な電力が少ないので、バッテリ性能を向上させることができる。
【0113】
一方、ブロック622において、デバイスは、その代わりに静止していないと考えられる場合もある。このシナリオは、一般に、デバイス(または、デバイスを有するユーザ)がさまざまなセルに出会うように移動している場合に起こる。このシナリオは、高モビリティを示すデバイスセンサ情報、取得されたセルが以前に取得されたセルとは異なっているというセル識別情報、および/または、異なるセルが発見されるかもしくは発見されたセルの信号強度が大きく異なっている、などの要素によって識別されてもよい。
【0114】
ブロック622においてこれらの要素の任意の組み合わせに基づいてデバイスが静止していないと考えられる場合、動作600はブロック632に進んで、タイマTに基づいて判断されたピンポン率を評価する。ブロック632においてピンポン率が中程度であると判断されると、走査比および関連付けられた段階タイマは、acq_db段階でもfull_band段階でも、減少していく一連の走査比の最も最近使用された走査比と初期走査比との間の中間点にリセットされてもよい。ブロック640において、この中間点は、以前の切断された時間窓の開始点と終了点との間の中間点であってもよい。
【0115】
そうでなければ、ブロック642においてピンポン率が低いと判断されると、走査比および関連付けられた段階タイマは、acq_db段階でもfull_band段階でも、アルゴリズムの選択された走査比が、減少していく一連の走査比の初期走査比であるようにリセットされてもよい。ブロック650において、選択された走査比は、以前の切断された時間窓の冒頭にリセットされてもよい。そうでなければ、ピンポン率は高いと判断されて、走査比または関連付けられた段階タイマのリセットは行われない。
【0116】
次いで、動作600はブロック660に進み、ブロック660において、走査比および段階タイマのいずれかのリセット後に現在のacq_db段階およびfull_band段階のスケジュールに従って回復走査が開始される。サービス回復アルゴリズムは、ブロック670において終了する。
【0117】
図7は、例示的な実施形態に係る、分散型コンピューティングアーキテクチャ700を示す図である。分散型コンピューティングアーキテクチャ700は、ネットワーク706を介してプログラマブルデバイス704a,704b,704c,704d,704eと通信するように構成されたサーバデバイス708,710を含む。ネットワーク706は、ネットワーク接続されたコンピューティングデバイス間に通信経路を提供するように構成されたローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、WLAN、WWAN、企業イントラネット、パブリックインターネットまたはその他のタイプのネットワークに対応してもよい。また、ネットワーク706は、1つまたは複数のLAN、WAN、企業イントラネットおよび/またはパブリックインターネットの組み合わせに対応してもよい。
【0118】
図7は、プログラマブルデバイスを5つしか示していないが、分散型アプリケーションアーキテクチャは、数十個、数百個または数千個のプログラマブルデバイスを取り扱ってもよい。さらに、プログラマブルデバイス704a,704b,704c,704d,704e(または、任意のさらなるプログラマブルデバイス)は、任意の種類のコンピューティングデバイス(通常のラップトップコンピュータ、デスクトップコンピュータ、ウェアラブルコンピューティングデバイス、モバイルコンピューティングデバイス、頭部装着可能なデバイス(HMD)、ネットワーク端末、ワイヤレス通信デバイス(たとえば、スマートフォンまたは携帯電話)など)であってもよい。プログラマブルデバイス704a,704b,704c,704eによって示されるようないくつかの例では、プログラマブルデバイスは、ネットワーク706に直接的に接続可能である。プログラマブルデバイス704dによって示されるような他の例では、プログラマブルデバイスは、プログラマブルデバイス704cなどの関連付けられたコンピューティングデバイスを介してネットワーク706に間接的に接続可能である。この例では、プログラマブルデバイス704cは、プログラマブルデバイス704dとネットワーク706との間で電子通信を渡すための関連付けられたコンピューティングデバイスの役割を果たすことができる。プログラマブルデバイス704eによって示されるような他の例では、コンピューティングデバイスは、車両(車、トラック、バス、ボートまたは船、飛行機など)の一部であってもよく、および/または、車両内にあってもよい。図7に図示されていない他の例では、プログラマブルデバイスは、直接的にも間接的にもネットワーク706に接続可能である。
【0119】
サーバデバイス708,710は、プログラマブルデバイス704a~704eによって要求される1つまたは複数のサービスを実行するように構成され得る。たとえば、サーバデバイス708および/または710は、プログラマブルデバイス704a~704eにコンテンツを提供することができる。このコンテンツは、コンパイルされたソフトウェア、画像、音声および/または映像などのウェブページ、ハイパーテキスト、スクリプト、バイナリデータを含み得るが、これらに限定されるものではない。このコンテンツは、圧縮されたコンテンツおよび/または圧縮されていないコンテンツを含み得る。このコンテンツは、暗号化されてもよく、および/または、暗号化されなくてもよい。他のタイプのコンテンツも可能である。
【0120】
別の例として、サーバデバイス708および/または710は、データベース、検索、演算、グラフィック、音声、映像、ワールドワイドウェブ/インターネット利用および/または他の機能のためのソフトウェアへのアクセスをプログラマブルデバイス704a~704eに提供することができる。サーバデバイスの多くの他の例も可能である。
【0121】
図8は、例示的な実施形態に係る、コンピューティングデバイス800の一例の機能ブロック図である。特に、図8に示されるコンピューティングデバイス800は、本明細書に記載されているアウトオブサービス回復アルゴリズム、アクセスポイント、モバイルコンピューティングデバイス、アクセスポイント110,112,120,122,124,220,222,224、モバイルコンピューティングデバイス130,132,134,136,138,210、走査プロファイル250、走査コンテキスト300、分散型コンピューティングアーキテクチャ700、ならびに/または、方法400および/もしくは動作600に関連する少なくとも1つの機能、のうちの少なくとも1つの機能を実行するように構成され得る。
【0122】
コンピューティングデバイス800は、ユーザインターフェイスモジュール801と、ネットワーク通信インターフェイスモジュール802と、1つまたは複数のプロセッサ803と、データストレージ804と、1つまたは複数のセンサ820と、電力システム822とを含み得て、これらは全て、システムバス、ネットワークまたは他の接続機構805を介して連結されてもよい。
【0123】
ユーザインターフェイスモジュール801は、外部ユーザ入力/出力デバイスとの間でデータを送受信するように動作可能であり得る。たとえば、ユーザインターフェイスモジュール801は、ユーザ入力デバイス(タッチスクリーン、コンピュータマウス、キーボード、キーパッド、タッチパッド、トラックボール、ジョイスティック、カメラ、音声認識モジュールおよび/または他の同様のデバイスなど)との間でデータを送受信するように構成され得る。また、ユーザインターフェイスモジュール801は、ユーザディスプレイデバイス(1つまたは複数の陰極線管(CRT)、液晶ディスプレイ、発光ダイオード(LED)、デジタル光処理(DLP)技術を使用したディスプレイ、プリンタ、電球、および/または、現在公知のまたは後に開発される他の同様のデバイスなど)に出力を提供するように構成され得る。また、ユーザインターフェイスモジュール801は、スピーカ、スピーカジャック、音声出力ポート、音声出力デバイス、イヤフォンおよび/または他の同様のデバイスなど、可聴出力を生成するように構成され得る。さらに、ユーザインターフェイスモジュール801は、振動などの触覚に基づく出力、ならびに/または、コンピューティングデバイス800とのタッチおよび/もしくは物理的接触によって検出可能な他の出力を生成することができる1つまたは複数の触覚デバイスを備え得る。いくつかの例において、ユーザインターフェイスモジュール801を使用して、コンピューティングデバイス800を利用するためのグラフィカルユーザインターフェイス(GUI)を提供することができる。
【0124】
ネットワーク通信インターフェイスモジュール802は、ネットワークを介して通信するように構成可能な1つまたは複数のワイヤレスインターフェイス807および/または1つまたは複数のワイヤーラインインターフェイス808を含み得る。ワイヤレスインターフェイス807は、ワイヤレスネットワークを介して通信するように構成可能な1つまたは複数のワイヤレス送信機、受信機および/または送受信機(ブルートゥース(登録商標)送受信機、ジグビー(登録商標)送受信機、Wi-Fi(商標)送受信機、WiMAX(商標)送受信機および/または他の同様のタイプのワイヤレス送受信機など)を含み得る。ワイヤーラインインターフェイス808は、ツイストペアケーブル、同軸ケーブル、光ファイバリンクまたはワイヤーラインネットワークと同様の物理的接続を介して通信するように構成可能な1つまたは複数のワイヤーライン送信機、受信機および/または送受信機(イーサネット(登録商標)送受信機、ユニバーサルシリアルバス(USB)送受信機または同様の送受信機など)を含み得る。
【0125】
いくつかの例において、ネットワーク通信インターフェイスモジュール802は、確実な、安全なおよび/または認証された通信を提供するように構成され得る。本明細書に記載されている各通信について、確実な通信(たとえば、保証されたメッセージ送達)を保証するための情報は、おそらくメッセージヘッダおよび/またはフッタ(たとえば、パケット/メッセージシーケンシング情報、カプセル化ヘッダおよび/またはフッタ、サイズ/時間情報、ならびに送信検証情報(巡回冗長検査(CRC)および/またはパリティ検査値など))の一部として提供されることができる。通信は、1つまたは複数の暗号化プロトコルおよび/またはアルゴリズムを使用して安全にされ(たとえば、符号化または暗号化され)、および/または、解読/復号されることができ、これらの1つまたは複数の暗号化プロトコルおよび/またはアルゴリズムは、データ暗号化標準(DES)、高度暗号化標準(AES)、リベスト・シャミア・エーデルマン(RSA)アルゴリズム、ディフィー・ヘルマンアルゴリズム、セキュアソケットプロトコル(セキュアソケットレイヤ(SSL)もしくはトランスポートレイヤセキュリティ(TLS)など)、および/または、デジタル署名アルゴリズム(DSA)などであるが、これらに限定されるものではない。通信を安全にする(次いで、解読/復号する)ために、同様にまたは本明細書に記載されているものに加えて、他の暗号化プロトコルおよび/またはアルゴリズムも使用することができる。
【0126】
1つまたは複数のプロセッサ803は、1つまたは複数の汎用プロセッサ、および/または、1つまたは複数の特別目的プロセッサ(たとえば、デジタル信号プロセッサ、グラフィックス処理ユニット、特定用途向け集積回路など)を含み得る。1つまたは複数のプロセッサ803は、データストレージ804に含まれるコンピュータ読取可能な命令806および/または本明細書に記載されている他の命令を実行するように構成され得る。
【0127】
データストレージ804は、1つまたは複数のプロセッサ803のうちの少なくとも1つによって読み取ることができるおよび/またはアクセス可能な1つまたは複数のコンピュータ読取可能記憶媒体を含み得る。1つまたは複数のコンピュータ読取可能記憶媒体は、揮発性および/または不揮発性ストレージコンポーネント(光、磁気、有機または他のメモリまたはディスクストレージなど)を含み得て、全体または一部が1つまたは複数のプロセッサ803のうちの少なくとも1つと一体化され得る。いくつかの例では、データストレージ804は、単一の物理的デバイス(たとえば、1つの光、磁気、有機または他のメモリまたはディスクストレージユニット)を使用して実現可能であるが、他の例では、データストレージ804は、2つまたはそれ以上の物理的デバイスを使用して実現可能である。
【0128】
データストレージ804は、コンピュータ読取可能な命令806と、おそらく追加データとを含み得る。いくつかの例において、データストレージ804はさらに、本明細書に記載されている方法、シナリオおよび技術の少なくとも一部、ならびに/または、本明細書に記載されているデバイスおよびネットワークの機能の少なくとも一部を実行するのに必要なストレージを含み得る。
【0129】
いくつかの例において、コンピューティングデバイス800は、1つまたは複数のセンサ820を含み得る。センサ820は、コンピューティングデバイス800内の状態および/またはコンピューティングデバイス800の環境内の状態を測定して、これらの状態についてのデータを提供するように構成され得る。たとえば、センサ820は、以下の(i)~(v)のうちの1つまたは複数を含み得る。
【0130】
(i)コンピューティングデバイス800についてのデータを取得するためのセンサ(コンピューティングデバイス800の温度を測定する温度計、電力システム822の1つまたは複数のバッテリの電力を測定するためのバッテリセンサ、および/または、コンピューティングデバイス800の状態を測定する他のセンサなどであるが、これらに限定されるものではない)
(ii)他の物体および/またはデバイスを識別するための識別センサ(無線周波数ID(RFID)リーダ、近接センサ、一次元バーコードリーダ、二次元バーコード(たとえば、クイックレスポンス(QR)コード(登録商標))リーダおよびレーザトラッカなどであるが、これらに限定されるものではなく、これらの識別センサは、読み取られて少なくとも識別情報を提供するように構成された識別子(RFIDタグ、バーコード、QRコード、ならびに/または、他のデバイスおよび/もしくは物体など)を読み取るように構成され得る)
(iii)コンピューティングデバイス800の位置および/または動きを測定するためのセンサ(傾斜センサ、ジャイロスコープ、加速度計、ドップラーセンサ、GPSデバイス、ソナーセンサ、レーダーデバイス、レーザ変位センサおよびコンパスなどであるが、これらに限定されるものではない)
(iv)コンピューティングデバイス800の環境を示すデータを取得するための環境センサ(赤外線センサ、光学センサ、光センサ、カメラ、バイオセンサ、容量センサ、タッチセンサ、温度センサ、ワイヤレスセンサ、無線センサ、動きセンサ、マイクロフォン、音センサ、超音波センサおよび/または煙センサなどであるが、これらに限定されるものではない)、および/または、
(v)コンピューティングデバイス800について作用する1つまたは複数の力(たとえば、慣性力および/またはG力)を測定するための力センサ(1つまたは複数の次元における力、トルク、接地力、摩擦を測定する1つもしくは複数のセンサ、ならびに/または、ゼロモーメントポイント(ZMP)および/もしくはZMPの位置を識別するZMPセンサなどであるが、これらに限定されるものではない)。
【0131】
センサ820の多くの他の例も可能である。
電力システム822は、電力をコンピューティングデバイス800に提供するための1つまたは複数のバッテリ824および/または1つまたは複数の外部電力インターフェイス826を含み得る。1つまたは複数のバッテリ824の各バッテリは、コンピューティングデバイス800に電気的に結合されると、コンピューティングデバイス800のための貯蔵電力の供給源の役割を果たすことができる。電力システム822の1つまたは複数のバッテリ824は、1つまたは複数のバッテリを有するコンピューティングデバイス800を携行する人によって持ち運び可能、たとえば容易に移動可能であるように構成され得る。1つまたは複数のバッテリ824のうちの一部または全ては、コンピューティングデバイス800から容易に取り外し可能であり得る。他の例では、1つまたは複数のバッテリ824のうちの一部または全ては、コンピューティングデバイス800の内部にあってもよいため、コンピューティングデバイス800から容易に取り外し可能でなくてもよい。1つまたは複数のバッテリ824のうちの一部または全ては、充電式であり得る。たとえば、充電式バッテリは、バッテリと別の電源(たとえば、1つまたは複数の外部電力インターフェイスを介してコンピューティングデバイス800に接続される、コンピューティングデバイス800の外部にある1つまたは複数の電源)との間の有線接続を介して充電することができる。他の例では、1つまたは複数のバッテリ824のうちの一部または全ては、非充電式バッテリであり得る。
【0132】
電力システム822の1つまたは複数の外部電力インターフェイス826は、コンピューティングデバイス800の外部にある1つまたは複数の電源との有線電力接続を可能にする1つまたは複数の有線電力インターフェイス(USBケーブルおよび/または電源コードなど)を含み得る。1つまたは複数の外部電力インターフェイス826は、Qiワイヤレス充電器を介するなどして1つまたは複数の外部電源とのワイヤレス電力接続を可能にする1つまたは複数のワイヤレス電力インターフェイス(Qiワイヤレス充電器など)を含み得る。1つまたは複数の外部電力インターフェイス826を使用して外部電源との電力接続が確立されると、コンピューティングデバイス800は、確立された電力接続を介して外部電源から電力を引き込むことができる。いくつかの例において、電力システム822は、関連するセンサ(たとえば、1つまたは複数のバッテリに関連付けられたバッテリセンサ、電力センサ)を含み得る。
【0133】
上記の詳細な説明では、添付の図面を参照しながら、開示されているシステム、デバイスおよび方法のさまざまな特徴および機能が説明されている。文脈上そうでないとする明確な指示がない限り、図中の同様の符号は一般に同様の構成要素を示す。詳細な説明、図面および特許請求の範囲に記載されている例示的な実施形態は、限定的であるよう意図されたものではない。本明細書に提示されている主題の精神または範囲から逸脱することなく、他の実施形態が利用されてもよく、他の変更がなされてもよい。本明細書に概して記載され、図面に示されている本開示の局面は、種々さまざまな異なる構成で配置、代用、結合、分離および設計されてもよく、これらは全て、本明細書において明確に意図されている、ということが容易に理解されるであろう。
【0134】
図中の、および本明細書に記載されているラダー図、シナリオおよびフローチャートのうちのいずれかまたは全てに関して、各ブロックおよび/または通信は、例示的な実施形態に係る情報の処理および/または情報の送信を表してもよい。代替的な実施形態は、これらの例示的な実施形態の範囲内に含まれる。これらの代替的な実施形態において、たとえば、ブロック、送信、通信、要求、応答および/またはメッセージとして記載されている機能は、関係している機能によっては、示されているまたは記載されている順序を外れて(実質的に同時または逆の順序を含む)実行されてもよい。さらに、本明細書に記載されているラダー図、シナリオおよびフローチャートのうちのいずれかとともに、より多くのまたはより少ないブロックおよび/または機能が使用されてもよく、これらのラダー図、シナリオおよびフローチャートは、一部または全部が互いに結合されてもよい。
【0135】
情報の処理を表すブロックは、本明細書に記載されている方法または技術の特定の論理機能を実行するように構成され得る回路に対応してもよい。代替的にまたは加えて、情報の処理を表すブロックは、モジュール、セグメントまたはプログラムコードの一部(関連するデータを含む)に対応してもよい。プログラムコードは、この方法または技術における特定の論理機能または動作を実行するためのプロセッサによって実行可能な1つまたは複数の命令を含んでもよい。プログラムコードおよび/または関連するデータは、任意のタイプのコンピュータ読取可能媒体(ディスクまたはハードドライブまたは他の記憶媒体を含む記憶装置など)に格納されてもよい。
【0136】
コンピュータ読取可能媒体は、レジスタメモリ、プロセッサキャッシュおよびランダムアクセスメモリ(RAM)のような、データを短期間にわたって格納する非一時的なコンピュータ読取可能媒体などの非一時的なコンピュータ読取可能媒体も含んでもよい。コンピュータ読取可能媒体は、たとえばリードオンリメモリ(ROM)、光または磁気ディスク、コンパクトディスクリードオンリメモリ(CD-ROM)のような、プログラムコードおよび/またはデータを長期間にわたって格納する、二次的または永久的長期記憶装置などの非一時的なコンピュータ読取可能媒体も含んでもよい。また、コンピュータ読取可能媒体は、その他の揮発性または不揮発性記憶システムであってもよい。コンピュータ読取可能媒体は、たとえばコンピュータ読取可能記憶媒体または有形の記憶装置であると考えられてもよい。
【0137】
さらに、1つまたは複数の情報送信を表すブロックは、同一の物理的デバイスにおけるソフトウェアモジュールおよび/またはハードウェアモジュール間の情報送信に対応してもよい。しかし、他の情報送信は、異なる物理的デバイスにおけるソフトウェアモジュールおよび/またはハードウェアモジュール間であってもよい。
【0138】
さまざまな局面および実施形態が本明細書に開示されてきたが、他の局面および実施形態は、当業者に明らかであろう。本明細書に開示されているさまざまな局面および実施形態は、説明の目的で提供されており、限定的であるよう意図されたものではなく、真の範囲は、以下の特許請求の範囲によって示される。
図1
図2
図3
図4
図5
図6
図7
図8