説明

位置に基づきコンピューティング環境を変更するポリシーシステムおよび方法

【課題】携帯プラットフォームデバイス用のコンピューティング環境を変更するシステムおよび方法を提供する。
【解決手段】携帯プラットフォーム100は、ポリシーエンジン104に連結された感覚および位置判断エンジン102を含む。感覚および位置判断エンジンは、携帯プラットフォームデバイスの現在位置を判断し、ポリシーエンジンは起動すべきアプリケーション、起動すべきでないアプリケーション、および携帯プラットフォームデバイスの判断された位置に関して呼び出すべきコア利用を判断する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユビキタスコンピューティングに係る。より詳しくは、本発明は、位置に基づきコンピューティング環境を変更するシステムおよび方法に関する。
【背景技術】
【0002】
今日の社会では人々は、ラップトップ型、超携帯型パーソナルコンピュータ(UMPC)、携帯型ンターネットデバイス(MID)などを含むがこれらに限られない携帯デバイスを何処においても携帯する。携帯デバイスは、例えば、オフィス、自動車または他の形態の輸送機関、空港、自宅、および他の建物など、殆ど全ての場所または環境で利用されうる。これら環境各々において、携帯デバイスは、該携帯デバイスの位置に応じて異なる用途に具される場合がある。
【図面の簡単な説明】
【0003】
ここに組み込み、明細書の一部を形成する添付図面は、本発明の実施形態を例示し、且つ、記載とともに、さらに本発明の原理を説明して当業者が本発明を実行および利用するのに役立つ。図面において、同様の参照番号は、概して同一の、機能的に類似した、および/または構造的に類似した部材を示す。部材が初出する図面は、対応する参照番号の左端のデジットに示している。
【0004】
【図1】本発明の様々な実施形態による、その周辺を認識し、位置に基づいてそのコンピューティング環境を変更させる部材を有する携帯プラットフォーム100の一例を示す図である。
【0005】
【図2】本発明の一実施形態による、携帯デバイスの位置/環境を判断する助けとなる人間に近い感覚特性を提供する携帯デバイスの感覚属性の一例を示す図である。
【0006】
【図3】本発明の一実施形態による、感覚および位置判断エンジンの一例を示す図である。
【0007】
【図4】本発明の一実施形態による、アクティブな位置の動的仮想化の一例を示す図である。
【0008】
【図5】本発明の一実施形態によるポリシーエンジンフローの方法の一例を示すフロー図である。
【発明を実施するための最良の形態】
【0009】
本発明は特定の用途の例示的な実施形態を参照しながら記載されるが、本発明はそれに限定されないことを理解されたい。ここで提供される教示を読む当業者であれば、その範囲内で、追加的な変形例、用途、実施形態について想到するであろうし、本発明の実施形態のさらなる利用分野も十分な実用性を有しよう。
【0010】
本明細書内の「一実施形態」「1つの実施形態」「別の実施形態」といった記載は、実施形態との関連で記載される特定のフィーチャ、構造、または特性が、本発明の少なくとも1つの実施形態に含まれることを示している。故に、「一実施形態」といった言い回しが明細書の諸所にあっても、それは、同じ実施形態についての言及であるとは限らない。
【0011】
本発明の実施形態は、例えば、ラップトップ型、超携帯型パーソナルコンピュータ(UMPC)、携帯型ンターネットデバイス(MID)等の携帯プラットフォームに、その周辺を認識し、その位置に基づいてコンピューティング環境を変更させるシステムおよび方法に関する。これは、感覚および位置判断エンジン(SLDE)およびポリシーエンジン(PE)を携帯プラットフォーム上に組み込むことで達成される。
【0012】
図1は、本発明の様々な実施形態による、その周辺を認識し、位置に基づいてそのコンピューティング環境を変更させる部材を有する携帯プラットフォーム100の一例を示す図である。携帯プラットフォーム100は、とりわけ、感覚および位置判断エンジン(SLDE)102およびポリシーエンジン(PE)104を含む。SLDE102はPE104に連結される。
【0013】
SLDE102は、音声、ビデオ、およびGPS(全地球測位システム)などを含むがそれらに限定されない様々な感覚データを総計し、該感覚データを利用して携帯デバイスの位置を判断する。本発明の実施形態においては、SLDE102は、シャットダウンモードでも動作して、常に携帯プラットフォームの位置判断をイネーブルにしてもよい。これは、常時接続(Always On)などの公知の技術を利用して達成されうる。本発明は携帯プラットフォームの現在のセンサーを利用して位置判断を行うが、携帯プラットフォームで現在利用されているまたは将来利用される他のセンサーを利用した位置判断も可能である。
【0014】
ポリシーエンジン104は、起動すべきアプリケーション、終了/スタンバイモード/ハイバーネート状態等にすべきアプリケーション、および呼び出すべきコア利用を判断する。さらに、ポリシーエンジン104は、動的仮想化を用いて、現在位置に利用するアプリケーションを、他の位置に利用するアプリケーションからパーティショニングする。
【0015】
明細書にわたり、携帯プラットフォームおよび携帯デバイスについて言及する。携帯デバイスは、携帯プラットフォームが組み込まれたデバイスである。このようなデバイスは、ラップトップ型コンピュータ、UMPC、MIDなどを含みうる。
【0016】
先に示したように、本発明の実施形態は、携帯デバイスに、その周辺を認識し、位置/環境に基づいてそのコンピューティング環境を変更させる。携帯デバイスは今日の社会では何処でも携帯されるが、携帯デバイスの用途は、携帯デバイスの位置に応じて異なる場合がある。例えば、携帯デバイスがオフィス環境で利用される場合には、オフィスのアドレス帳等を利用したインスタントメッセージング(IM)、VoIP(ボイスオーバインターネットプロトコール)などの電子メール、オフィスアプリケーション、同僚との共同作業への利用が考えられる。携帯デバイスが自動車環境で利用される場合には、音楽およびビデオの再生、音声作動GPS(全地球測位システム)を利用した運転指示、例えば個人のアドレス帳等を利用し、VoIPをBluetoothを介して利用した電話の送受信、等の利用が考えられる。携帯デバイスがユーザの自宅の居間にある場合には、パーソナルメディアファイルの再生および個人のアドレス帳を利用したVoIP等を含むがそれらに限られない利用法が考えられる。携帯デバイスがユーザの自宅の書斎/仕事スペースにある場合には、ユーザの会社でのオフィスモードと類似する利用法に加えて、パーソナルバンキング、税申請、およびその他のユーザの私的な用途も考えられる。このように、携帯デバイスの位置/環境に応じて、異なる利用モデルが利用されうる。
【0017】
先に示したように、感覚および位置判断エンジン(SLDE)102は、携帯デバイスの感覚データを利用して携帯デバイスの位置を導出する。SLDE102は、様々な感覚入力を捉え、携帯デバイスの位置を判断する。図2は、本発明の一実施形態による、携帯デバイスの位置/環境を判断する助けとなる人間に近い感覚特性を提供する携帯デバイスの感覚属性の一例を示す図200である。図200は、ラップトップ型携帯デバイス202および人間のフィギュアの頭204を有する。ラップトップ202は、利用しうる種類の携帯デバイスの一例として利用される。本発明の実施形態は、ラップトップ型携帯デバイスに限定されず、実際には、1以上の感覚入力を提供して携帯デバイスの位置判断の助けとする任意の携帯プラットフォームデバイスを利用することができる。
【0018】
携帯デバイス202の感覚属性は、人間のフィギュアの頭204の人間の感覚属性と対比される。視覚(ビジョン)は、携帯デバイス202ではウェブカメラ206を利用して提供される。ウェブカメラ206はビデオ入力を取得するのに利用されうる。このように、ウェブカメラ206は、人間のフィギュアの頭204の目208として機能して、携帯デバイス202に視覚を提供する。聴覚は、携帯デバイス202では、マイクロフォン210を利用して提供される。マイクロフォン210は、音声入力を受信するのに利用されうる。このように、マイクロフォン210は、人間のフィギュアの頭204の耳212として機能して、携帯デバイス202に聴力を提供する。聴覚および他の感覚は、携帯デバイス202では無線214を利用して提供される。無線214は、WiFi無線、Bluetooth無線、およびWiMAX無線のうち1以上を含みうる。無線214は、携帯デバイス202を例えばインターネットまたはイントラネットなどのネットワークと無線で通信させる入力信号を受け取るのに利用されうる。
【0019】
携帯デバイス202の処理能力は、人間の脳に対応する。上述の感覚入力は、上述のように、プロセッサへ供給され、そこで処理されて携帯デバイス202の正確な位置を取得するが、これは、人間の脳が携帯プラットフォームの正確な位置を、人間の感覚をデータ入力として用いて判断する方法に類似している。
【0020】
感覚および位置判断エンジン(SLDE)102は、様々な感覚入力を総計して、それれらを処理することで携帯プラットフォーム100の位置を判断する。図3は、本発明の一実施形態による、感覚および位置判断エンジン(SLDE)102の一例を示す図である。SLDE102は、入力部302、処理部304、および出力部306を含む。入力部302は処理部304に連結される。処理部304は出力部306に連結される。
【0021】
入力部302は、図2の携帯デバイス202を参照して上述した携帯プラットフォーム100の感覚部材を利用して、携帯プラットフォーム100により抽出される感覚入力データを含む。入力データは、ウェブカメラ206からのビデオデータ、WiFi無線/Bluetooth214からのWiFi無線/Bluetooth無線データ、マイクロフォン210からの音声データ、および携帯プラットフォーム100の内蔵GPS308からのGPSデータを含む。示してはいないが、他の入力を利用して、位置判断を行ってもよい。このような入力には、それに限られないが、温度および方向が含まれる。温度は携帯デバイスからは熱ダイオードを利用して取得されてよく、方向は携帯デバイスから加速度計を利用して取得されてよい。
【0022】
処理部304は、入力データ全てを総計して、携帯デバイスの位置を判断する。図3に示すように、処理部304は、ウェブカメラ206からビデオ入力を受け取り、該ビデオ入力を、ウェブカメラデータベース310に記憶されているデータと比較して、位置判断を行う。例えば、携帯デバイス100が自動車内にある場合、携帯プラットフォームは、撮像されたビデオ入力と、車の中に見られる一般的なオブジェクトまたはユーザの自動車内に実際にあるオブジェクトを表す記憶ビデオデータとを比較することで、ウェブカメラ206が撮像した、例えばダッシュボード、車の座席、ハンドル等の車の部材を認識することができる。
【0023】
処理部304は、WiFi無線、WiMax無線、Bluetooth無線等の無線から無線入力を受信して、無線入力信号を無線データベース312の無線信号と比較して、入ってきた無線信号の位置を判断する。例えば、携帯プラットフォームは、無線入力信号が、ユーザのオフィスネットワーク、自宅のネットワーク、車のネットワーク、または他のネットワークからのものであるかを見分けることで、携帯デバイスの位置を判断する助けとしてよい。例えば、受信した無線信号が、無線データベース312に記憶されているユーザのオフィスネットワークを表す無線信号と合致する場合、携帯デバイスはユーザのオフィスに位置していると思われる。
【0024】
処理部304は、マイクロフォン210を介して音声入力を受信し、これは、音声カード(不図示)を利用して処理される。処理部304は、音声が示す背景ノイズが高いか低いかをチェックしてよい。例えば、背景ノイズが高い場合、携帯デバイスは空港に位置していると思われ、逆に背景ノイズが低い場合、携帯デバイスは自宅の書斎/仕事スペースに位置していると思われる。
【0025】
携帯プラットフォーム100にGPSが内蔵されている場合、処理部304はGPS座標入力も受け取ることができる。GPS座標は、当業者には公知な方法で携帯デバイスの位置を判断してよい。さらに、座標が急速に変化している場合、GPS座標は、動いている自動車、飛行機、電車、または他の形態の輸送機関の位置を示していると思われる。座標は変化しているが、遅いペースで変化している場合、SLDE102は、ユーザが動きながら携帯デバイスを携帯している、と判断してよい(つまり、歩く、走る、等することで)。
【0026】
処理部304は、入力の1以上を利用して、携帯デバイスの位置を判断してよい。例えば、処理部304は、ウェブカメラ206、無線214、およびGPS308からの入力を利用して、携帯デバイスが動いている自動車内に位置していると判断してよい。別の例においては、処理部304は、無線入力信号を利用して、無線信号が自宅の無線信号であることを判断し、ウェブカメラ206を利用して携帯デバイスがユーザの自宅の居間に位置していると判断してよい。また別の例においては、処理部304は、ウェブカメラ206からの入力を利用して、冷蔵庫、電子レンジ、オーブン等のビデオを、台所の機器に見えるウェブカメラデータベース310の一般的なまたは実際のユーザの入力と比較して、携帯デバイスが自宅の台所に位置していると判断してよい。
【0027】
出力部306は、携帯プラットフォームの位置を出力する。判断される位置の幾らかは、オフィスの会議室、オフィスの作業スペース、自宅の居間、自宅の書斎/仕事スペース、自宅の台所、空港、飛行機、および自動車を含むが、それらに限られないし、これらはほんの少ない例にすぎない。
【0028】
先に示したように、携帯プラットフォームの位置に基づいて、ポリシーエンジン104は、起動すべきアプリケーション、終了/スタンバイモード/ハイバーネートにすべきアプリケーション、および呼び出すべきコア利用を判断する。例えば、オフィスから自動車内に動いた場合、起動する必要のあるアプリケーションには、それらに限られないが、音声作動GPS、音声ストリーミングメディアプレーヤ、およびBluetoothを利用するVoIPなどが含まれよう。終了/スタンバイモード/ハイバーネートにすべきアプリケーションには、MSアウトルック、MSオフィス、およびオフィス環境のみで利用される他のアプリケーションが含まれよう。一実施形態では、携帯デバイスをオフィス環境内で作動する場合、全てのコアを呼び出す場合があるが、例えば、携帯デバイスがオフィス環境から自動車内へ移動すると、携帯デバイスは自動車内では充電機能を行えない場合があるので、単一のコアを呼び出す、といったことが考えられよう。
【0029】
先に示したように、ポリシーエンジン104は、動的仮想化を用いて、現在利用していないアプリケーションを低電力状態仮想パーティションにパーティションして、現在必要とされているアプリケーションを仮想アクティブパーティションに移動してよい。ポリシーエンジン104はさらに、コア管理を行って、コア利用を仮想パーティションに最適に割り当ててよい。これにより、コア割り当ておよび携帯デバイスが動作中の環境に基づいた最適な電力利用が保証される。例えば、例えば自動車内など、携帯デバイスが電源につなげないような環境下では、携帯デバイスは低電力状態で動作して利用可能な電池の電力を保持する必要がある場合がある。これには、コアをシャットダウンして、携帯デバイスで利用可能な電池の電力を最大化すること、が含まれよう。別の例においては、例えばオフィスまたは自宅にあるときなど、携帯デバイスが電源を容易に利用可能な位置にある場合、全てのコアを起動してよい。このように、本発明の実施形態によると、環境/位置および仮想パーティショニングは、協同して、携帯デバイス用に最適なコア利用を判断する。
【0030】
図4は、本発明の一実施形態による、コア管理の動的仮想化の一例を示す図400である。図400は、複数の仮想パーティション(仮想パーティション1、仮想パーティション2...仮想パーティションn)および、複数のコア(コア1、コア2...コアn)を示す。仮想パーティション1はアクティブな仮想パーティションとして指定されてよい。アクティブな仮想パーティション(仮想パーティション1)は、現在位置/環境におけるアクティブなアプリケーションを含む。例えば、デバイスが自動車内環境にある場合、仮想パーティション1のアクティブなアプリケーションは、音楽および/または映画再生用のメディアストリーミングアプリケーション、音声作動GPSシステム、およびBluetooth動作用のVoIPアプリケーションを含みうるが、それらに限られない。デバイスが居間環境にある場合、仮想パーティション1のアクティブなアプリケーションは、それらに限られないが、音楽、映画、ビデオ、および画像再生用のメディアストリーミングアプリケーション、電話受信用VoIPアプリケーション、およびウェブコンテンツ閲覧用のインターネットプログラムを含みうる。デバイスが会社のオフィス環境等のオフィス環境にある場合、仮想パーティション1のアクティブなアプリケーションは、それらに限られないが、オフィスアプリケーション、IMアプリケーション、VoIPアプリケーション、イントラネットおよびインターネットのインタフェース用のインターネットアプリケーションを含みうる。
【0031】
仮想パーティション2は、現在の状態を維持する必要のあるアプリケーション用のハイバーネート仮想パーティションとして指定されうる。一実施形態では、ハイバーネート仮想パーティション(仮想パーティション2)は、アクティブな仮想パーティション(仮想パーティション1)で利用されていない全てのアプリケーションを含みうる。代替実施形態では、2つを超える数の仮想パーティション(ファントムで示す仮想パーティション1...仮想パーティションn)があってよい。例えば、現在の環境で利用されているアクティブなアプリケーション用のアクティブなパーティションと、現在の環境では現在は利用されていないが、最後の利用状態を維持する必要のあるアプリケーション用のハイバーネート仮想パーティションと、現在の環境では利用されておらず、現在の状態を維持することなく終了された、または終了する必要のあるアプリケーション用の終了仮想パーティションと、があってよい。スタンバイ仮想パーティション等、その他の仮想パーティションも利用可能である。
【0032】
本発明のまた別の実施形態では、仮想パーティションは位置に基づいて実装されうる。例えば、仮想パーティション1は、自動車内で利用される全てのアプリケーションを含んでよく、仮想パーティション2は会社等のオフィスで利用される全てのアプリケーションを含んでよく、仮想パーティション3は自宅の仕事スペースで利用される全てのアプリケーションを含んでよく、仮想パーティション4は居間で利用される全てのアプリケーションを含んでよく、仮想パーティション5は台所で利用される全てのアプリケーションを含んでよい、等である。本実施形態では、アクティブな仮想パーティションは、携帯デバイスが位置している仮想パーティションである。
【0033】
一実施形態では、あるコアは、ある仮想パーティション専用としてよい。例えば、一実施形態では、大多数のコアがアクティブな仮想パーティションであってよく、少数のコアがハイバーネート仮想パーティションおよび/または任意の残りのパーティションであってよい。また別の実施形態では、コアは環境のみに基づいて割り当てられてよい。例えば、環境がオフィス環境の場合、全てのコアが、アクティブなパーティションとして割り当てられ、ハイバーネートパーティションとなるコアの割り当てがなくてもよいし、1つ以外の全てのコアだけがアクティブなパーティションとして割り当てられて、1つのコアがハイバーネートパーティションとして割り当てられてもよい。別の例では、環境が自動車内である場合、1つまたは2つのコアがアクティブなパーティションに割り当てられ、1つまたは2つのコアがハイバーネートパーティションに割り当てられるかもしれない。また別の実施形態においては、維持可能な数を超える数のコアも、必要未満のコアも、不許可とするポリシーにしてもよい。例えば、携帯デバイスのユーザが通勤に2時間かかるとして、携帯デバイスは2時間に電池の電力を利用して2つのコアを維持できるが、アクティブなアプリケーションを動かすのに1つのコアしか必要ではない場合、1つのコアのみをアクティブな仮想パーティションに割り当てる。このようにコア管理は、位置/環境、仮想パーティション利用、利用時間長など多くのファクタに基づいている。
【0034】
図5は、本発明の一実施形態によるポリシーエンジン管理の方法の一例を示すフロー図500である。本発明はフロー図500についての実施形態に限定されない。本教示を読んだ当業者には明らかなように、他の機能フロー図も本発明の範囲に含まれる。処理はブロック502から始まり、直ぐに決定ブロック504へ移る。
【0035】
決定ブロック504では、位置変更が検知されたかどうか判断する。先に示したように、位置変更は、SLDE102を利用して1以上の感覚入力を処理することで判断される。位置変更が検知されなかった場合には、処理は決定ブロック504を続ける。位置変更が検知されると、処理は決定ブロック506へ移る。
【0036】
決定ブロック506では、現在位置が電力調整(つまりコア利用調整)を要するか否かを判断する。現在位置が電力調整を要する場合、処理はブロック508に移る。
【0037】
ブロック508では、ポリシーエンジン102は、位置/環境、仮想パーティションの数、利用中の仮想パーティションの種類、利用時間長等に基づいてコア利用を割り当てうる。例えば、現在位置が自動車内であり、前の位置がオフィスであった場合、自動車内環境では充電機能がない場合がありオフィスで利用していたより少ないアプリケーションが自動車内で動いているので、オフィス環境で利用していたよりも低電力状態が必要である。故に処理は決定ブロック510に移る。
【0038】
決定ブロック506に戻り、現在位置が電力調整を要しないと判断されると、処理は決定ブロック510へ移る。例えば、現在位置が自動車内であり、前の位置が居間であって、自動車内の電力状態は居間の電力状態に略等しいとすると、電力調整は不要である。
【0039】
決定ブロック510では、仮想パーティションの生成の必要性を判断する。仮想パーティション生成が必要である場合には、処理はブロック512に移る。
【0040】
ブロック512では、仮想パーティションを生成する(まだ存在しない場合)。一実施形態では、現在位置に仮想パーティションを1つ、ハイバーネート位置に仮想パーティションを1つ、それぞれ生成する。本発明の他の実施形態はこれら2つの仮想パーティションに限定されない。先に示したように、他の仮想パーティションを生成してもよい。例えば、一実施形態では、終了した仮想パーティションを、現在の状態を維持する必要のなくなったアプリケーション用に生成してもよい。仮想パーティション生成の後、処理はブロック514に移る。
【0041】
決定ブロック510に戻り、仮想パーティション生成の必要がないと判断された場合には、処理はブロック514に移る。
【0042】
ブロック514では、アプリケーションを仮想パーティションに配置する必要があると判断される。例えば、アクティブな仮想パーティションに配置すべきアプリケーションを判断し、他の残りの全ての位置についてハイバーネート仮想パーティションに配置すべきアプリケーションを判断する。2を超える数の仮想パーティションを利用する実施形態では、決定は、どのアプリケーションが仮想パーティション各々に属するかを判断してもよい。さらには、本発明の実施形態では、多くのアプリケーションが位置/環境の境界を越えて移動する場合がある。例えば、VoIPアプリケーションはオフィス環境、自動車内環境、および自宅環境で利用されうるので、これらの位置/環境各々のアクティブなパーティションに配される可能性がある。また、異なる位置/環境について1つのアプリケーションの異なるバージョンが存在しうる。この場合には、適切なバージョンを適切な仮想パーティションに配置してもよい。そして処理はブロック516へ移る。
【0043】
ブロック516では、全てのアプリケーションを、それぞれ指定された仮想パーティションへ移動させる。そして処理はブロック518へ移る。
【0044】
ブロック518では、様々な仮想パーティションのアプリケーションを、それぞれが配置された仮想パーティションに従って処理する。例えば、ハイバーネート仮想パーティションに移動されたアプリケーションをハイバーネート状態にして、アクティブなパーティションに移動されたアプリケーションを起動する。また別の仮想パーティションを利用してアプリケーションをそれらに配置した場合には、それらアプリケーションも同様に処理する。例えば、終了した仮想パーティションが生成された場合、この仮想パーティションに配置された、終了すべきアプリケーションを終了する。そして処理は決定ブロック504に移り、位置/環境変更が発生したか否かを判断する。
【0045】
本発明の実施形態のある側面は、ハードウェア、ソフトウェア、またはそれらの組み合わせにより実装されてもよいし、1以上のコンピュータシステムまたは他の処理システムで実装されてもよい。実際、一実施形態では、方法は、プログラム可能な機械上で実行されるプログラムに実装されてよく、該プログラム可能な機械には、携帯型または固定型コンピュータ、携帯情報端末(PDA)、セットトップボックス、携帯電話機およびページャ、および各々が複数のプロセッサコア、該プロセッサコアが読み取り可能な記憶媒体(揮発性メモリおよび不揮発性メモリおよび/または記憶素子)、少なくとも1つの入力デバイス、および1以上の出力デバイスを含む、他の電子デバイスが含まれてよい。プログラムコードを、入力デバイスを利用して入力されたデータに適用することで、記述された関数を行い、出力情報を生成する。出力情報は1以上の出力デバイスに適用してよい。当業者であれば、本発明の実施形態が、マルチプロセッサシステム、ミニコンピュータ、メインフレームコンピュータ等の様々なコンピュータシステム構成で実行できることを理解するであろう。
【0046】
各プログラムは、ハイレベルプロシージャまたはオブジェクト指向のプログラミング言語で実装されて、処理システムと通信してよい。しかしながら、プログラムは、所望であれば、アセンブリ言語または機械言語で実装されてもよい。いずれの場合にも、言語はコンパイルまたは解釈されてよい。
【0047】
命令を利用してプログラムされた、汎用または専用の処理システムに、ここで記載した方法をプログラム命令を利用して行わせてよい。また、方法は、該方法実行用にハードワイヤードロジックを含む専用のハードウェアコンポーネントにより行われてもよく、あるいは、プログラムされたコンピュータコンポーネントおよびカスタムハードウェアコンポーネントの任意の組み合わせにより行われてもよい。ここで記載した方法は、該方法を行う処理システムまたは他の電子デバイスのプログラミングに利用されうる命令を記憶した機械読み取り可能な媒体を含みうるコンピュータプログラム製品として提供されてもよい。ここで利用される「機械読み取り可能な媒体」または「機械アクセス可能な媒体」は、該機械が実行することで該機械にここで記載した該方法のうちの任意のものを実行させる命令シーケンスを記憶またはコード化できる任意の媒体を含んでよい。故に、「機械読み取り可能な媒体」または「機械アクセス可能な媒体」は、それらに限定はされないが、固体状態記憶装置、光学および磁気ディスク、およびデータ信号をコード化する搬送波を含む。さらに、当技術分野ではよく行われるが、様々な形態のソフトウェア(例えば、プログラム、プロシージャ、プロセス、アプリケーション、モジュール、ロジック等)が、動作をしたり、結果を生じたりする、という言い方をする。このような表現は、処理システムがプロセッサに動作させたり結果を生成させたりするソフトウェア実行のことを説明する簡略化した言い方にすぎない。
【0048】
本発明の様々な実施形態を上述したが、これらは例示であって限定ではないことを理解されたい。当業者であれば、添付請求項が定義する本発明の精神および範囲を逸脱することなしに、形態および詳細を様々に変更することができることを理解しよう。このように、本発明の範囲およびスコープは、上述の例示的な実施形態のいずれに限定されるべきではなく、以下の請求項およびその均等物によって定義される。

【特許請求の範囲】
【請求項1】
コンピューティング環境を変更するシステムであって、
コンピューティングデバイスのコアをシャットダウンするシャットダウンモードにおいても動作して、コンピューティングデバイスの現在位置を常に判断できる感覚および位置判断エンジンと、
前記感覚および位置判断エンジンに連結され、前記コンピューティングデバイスの判断された位置において起動すべきアプリケーション、起動すべきでないアプリケーション、および呼び出すべきコア利用を判断するポリシーエンジンと、
を備え、
前記ポリシーエンジンは、動的仮想化を用いることで、前記現在位置で利用されるアプリケーションを、他の位置で利用されるアプリケーションからパーティショニングするシステム。
【請求項2】
前記ポリシーエンジンは、動的仮想化を用いて、現在利用していないアプリケーションを低電力状態仮想パーティションにパーティションして、現在必要とされているアプリケーションを仮想アクティブパーティションに移動する請求項1に記載のシステム。
【請求項3】
前記コンピューティングデバイスの前記現在位置で利用されるアプリケーションは、アクティブな仮想パーティションに配置され、前記他の位置で利用されるアプリケーションは1以上の他の仮想パーティションに配置される、請求項2に記載のシステム。
【請求項4】
前記1以上の他の仮想パーティションは、最後の利用状態を維持する必要のあるアプリケーション用に少なくとも1つのハイバーネート仮想パーティションを含む、請求項3に記載のシステム。
【請求項5】
前記1以上の他の仮想パーティションは、最後の利用状態を維持する必要のないアプリケーション用に少なくとも1つの終了仮想パーティションを含む、請求項3に記載のシステム。
【請求項6】
前記1以上の他の仮想パーティションは、スタンバイにする必要のあるアプリケーション用に少なくとも1つのスタンバイ仮想パーティションを含む、請求項3に記載のシステム。
【請求項7】
前記1以上の他の仮想パーティションは、前記コンピューティングデバイスが利用される位置毎に仮想パーティションを含む、請求項3から6のいずれか一項に記載のシステム。
【請求項8】
複数のコアをさらに備え、
前記ポリシーエンジンが呼び出すべきコア利用は、前記コンピューティングデバイスの位置、利用されている仮想パーティションの数、利用されている仮想パーティションの種類、および、前記コンピューティングデバイスが前記現在位置で利用される時間長、のうち1以上に基づく、請求項3から7のいずれか一項に記載のシステム。
【請求項9】
前記ポリシーエンジンは、前記コンピューティングデバイスが判断された位置に基づき、前記システムの1以上のコアを前記仮想アクティブパーティションに割り当て、残りのコアを前記低電力状態仮想パーティションに割り当てる請求項8に記載のシステム。
【請求項10】
前記コンピューティングデバイスは携帯プラットフォームデバイスである、請求項1から9のいずれか一項に記載のシステム。
【請求項11】
前記感覚および位置判断エンジンは、前記コンピューティングデバイスからの感覚データを取得し、前記感覚データを利用して前記コンピューティングデバイスの位置を判断する、請求項1から10のいずれか一項に記載のシステム。
【請求項12】
前記コンピューティングデバイスからの前記感覚データは、ビデオデータ、音声データ、無線データ、およびGPS(全地球測位システム)データのうち1以上を含み、1以上の感覚データ入力を利用して前記コンピューティングデバイスの位置を判断する、請求項11に記載のシステム。
【請求項13】
前記ビデオデータは、前記コンピューティングデバイスの現在位置の前記コンピューティングデバイスのウェブカメラにより撮像されたビデオデータを含み、受け取られた前記ビデオデータを画像データベースと比較することで、前記コンピューティングデバイスの位置を判断する、請求項12に記載のシステム。
【請求項14】
前記無線データは、WiFi無線、Bluetooth(登録商標)無線、WiMAX無線、または前記コンピューティングデバイスをネットワークと通信させる任意の他の無線のうち1以上からの無線信号データを含み、前記無線信号データを無線データベースと比較することで、受信された前記無線信号データの位置を判断する、請求項12または13に記載のシステム。
【請求項15】
前記音声データは、背景ノイズが高いか低いかを判断されることで、前記コンピューティングデバイスの位置判断の助けをする、請求項12から14のいずれか一項に記載のシステム。
【請求項16】
前記GPSデータは、前記コンピューティングデバイスの位置を提供するGPS座標を提供し、受信された前記GPS座標が急速に変化している場合、前記位置は動いている車両内に在ると判断される、請求項12から15のいずれか一項に記載のシステム。
【請求項17】
コンピューティング環境を変更する方法であって、
コンピューティングデバイスの位置に変更が検知されたか否かを、前記コンピューティングデバイスのコアがシャットダウンされた低電力状態時を含んで常に判断する段階と、
前記コンピューティングデバイスの位置に変更が検知された場合に、現在位置が電力調整を要するか否かを決定する段階と、
前記現在位置が電力調整を要する場合に、位置、仮想パーティショニング、および前記コンピューティングデバイスが前記現在位置で利用される時間長に基づいてコア利用を割り当てる段階と、
仮想パーティションの生成の必要性を判断する段階と、
前記仮想パーティションを生成する必要がある場合に、前記現在位置で利用される前記仮想パーティションを生成する段階と、
前記現在位置で利用されるアプリケーションと他の位置で利用されるアプリケーションに基づいて、前記仮想パーティションの各々に配置すべきアプリケーションを判断する段階と、
前記アプリケーションの各々を、それぞれ指定された仮想パーティションに移動する段階と、
各仮想パーティションを適宜処理する段階と、を備える方法。
【請求項18】
少なくとも1つの仮想パーティションは、前記現在位置で利用されるアプリケーションの実行用にアクティブな仮想パーティションを含む、請求項17に記載の方法。
【請求項19】
少なくとも1つの仮想パーティションは、前記現在位置では利用されないが、前記他の位置での処理に備えて最後の利用状態を維持する必要のあるアプリケーションのハイバーネート用にハイバーネート仮想パーティションを含む、請求項17に記載の方法。
【請求項20】
前記各仮想パーティションを適宜処理する段階は、
前記現在位置用の仮想パーティションで利用されるアプリケーションを起動し、残りの1以上の仮想パーティションで利用されているアプリケーションをハイバーネートまたは終了する段階を含む、請求項17から19のいずれか一項に記載の方法。
【請求項21】
前記コンピューティングデバイスの位置に変更が検知されたか否かを検知する段階は、
前記コンピューティングデバイスの1以上の感覚入力を処理して前記コンピューティングデバイスの位置を判断する段階を含み、
前記1以上の感覚入力は、画像データベースと比較されるウェブカメラからのビデオ入力と、処理されて背景ノイズが高いか低いかを判断される音声入力と、無線信号が利用されている位置を判断すべく無線信号データベースと比較される、WiFi無線、Bluetooth(登録商標)無線、またはWiMAX無線のうち1つからの無線入力と、位置決定に利用されるGPS座標を有するGPS(全地球測位システム)入力と、を含む、請求項17から20のいずれか一項に記載の方法。
【請求項22】
コンピュータシステムにより実行されるプログラムであって、
前記プログラムは、プロセッサにより実行されることで、
コンピューティングデバイスの位置に変更が検知されたか否かを、前記コンピューティングデバイスのコアがシャットダウンされた低電力状態時を含んで常に判断して、
前記コンピューティングデバイスの位置に変更が検知された場合に、現在位置が電力調整を要するか否かを決定して、
前記現在位置が電力調整を要する場合に、位置、仮想パーティショニング、および前記コンピューティングデバイスが前記現在位置で利用される時間長に基づいてコア利用を割り当て、
仮想パーティション生成の必要性を判断して、
仮想パーティションを生成する必要がある場合に、前記現在位置で利用される仮想パーティションを生成して、
前記現在位置で利用されるアプリケーションと他の位置で利用されるアプリケーションに基づいて、前記仮想パーティションの各々に配置すべきアプリケーションを判断して、
前記アプリケーションの各々を、それぞれ指定された仮想パーティションに移動して、
各仮想パーティションを適宜処理するプログラム。
【請求項23】
前記各仮想パーティションを適宜処理する段階を行うプログラムは、
前記現在位置用の前記仮想パーティションで利用されるアプリケーションを起動し、残りの1以上の仮想パーティションで利用されているアプリケーションをハイバーネートまたは終了する段階を行う複数の命令を含む、請求項22に記載のプログラム。
【請求項24】
少なくとも1つの仮想パーティションは、前記現在位置で利用されるアプリケーションの実行用にアクティブな仮想パーティションを含み、
少なくとも1つの仮想パーティションは、前記現在位置では利用されないが、他の位置での処理に備えて最後の利用状態を維持する必要のあるアプリケーションのハイバーネート用にハイバーネート仮想パーティションを含む、請求項22または23記載のプログラム。
【請求項25】
前記コンピューティングデバイスの位置に変更が検知されたか否かを検知させるプログラムは、
前記コンピューティングデバイスの1以上の感覚入力を処理して前記コンピューティングデバイスの位置を判断する段階を行う複数の命令を含み、
前記1以上の感覚入力は、画像データベースと比較されるウェブカメラからのビデオ入力と、処理されて背景ノイズが高いか低いかを判断される音声入力と、無線信号が利用されている位置を判断すべく無線信号データベースと比較される、WiFi無線、Bluetooth(登録商標)無線、またはWiMAX無線のうち1つからの無線入力と、位置決定に利用されるGPS座標を有するGPS(全地球測位システム)入力と、を含む、請求項22から24のいずれか一項に記載のプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2012−256336(P2012−256336A)
【公開日】平成24年12月27日(2012.12.27)
【国際特許分類】
【出願番号】特願2012−168157(P2012−168157)
【出願日】平成24年7月30日(2012.7.30)
【分割の表示】特願2008−315032(P2008−315032)の分割
【原出願日】平成20年12月10日(2008.12.10)
【出願人】(591003943)インテル・コーポレーション (1,101)
【Fターム(参考)】