(57)【要約】      （修正有）【課題】携帯プラットフォームデバイス用のコンピューティング環境を変更するシステムおよび方法を提供する。【解決手段】携帯プラットフォーム１００は、ポリシーエンジン１０４に連結された感覚および位置判断エンジン１０２を含む。感覚および位置判断エンジンは、携帯プラットフォームデバイスの現在位置を判断し、ポリシーエンジンは起動すべきアプリケーション、起動すべきでないアプリケーション、および携帯プラットフォームデバイスの判断された位置に関して呼び出すべきコア利用を判断する。【選択図】図１
2012256336.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティング環境を変更するシステムであって、
コンピューティングデバイスのコアをシャットダウンするシャットダウンモードにおいても動作して、コンピューティングデバイスの現在位置を常に判断できる感覚および位置判断エンジンと、
前記感覚および位置判断エンジンに連結され、前記コンピューティングデバイスの判断された位置において起動すべきアプリケーション、起動すべきでないアプリケーション、および呼び出すべきコア利用を判断するポリシーエンジンと、
を備え、
前記ポリシーエンジンは、動的仮想化を用いることで、前記現在位置で利用されるアプリケーションを、他の位置で利用されるアプリケーションからパーティショニングするシステム。
【請求項２】
前記ポリシーエンジンは、動的仮想化を用いて、現在利用していないアプリケーションを低電力状態仮想パーティションにパーティションして、現在必要とされているアプリケーションを仮想アクティブパーティションに移動する請求項１に記載のシステム。
【請求項３】
前記コンピューティングデバイスの前記現在位置で利用されるアプリケーションは、アクティブな仮想パーティションに配置され、前記他の位置で利用されるアプリケーションは１以上の他の仮想パーティションに配置される、請求項２に記載のシステム。
【請求項４】
前記１以上の他の仮想パーティションは、最後の利用状態を維持する必要のあるアプリケーション用に少なくとも１つのハイバーネート仮想パーティションを含む、請求項３に記載のシステム。
【請求項５】
前記１以上の他の仮想パーティションは、最後の利用状態を維持する必要のないアプリケーション用に少なくとも１つの終了仮想パーティションを含む、請求項３に記載のシステム。
【請求項６】
前記１以上の他の仮想パーティションは、スタンバイにする必要のあるアプリケーション用に少なくとも１つのスタンバイ仮想パーティションを含む、請求項３に記載のシステム。
【請求項７】
前記１以上の他の仮想パーティションは、前記コンピューティングデバイスが利用される位置毎に仮想パーティションを含む、請求項３から６のいずれか一項に記載のシステム。
【請求項８】
複数のコアをさらに備え、
前記ポリシーエンジンが呼び出すべきコア利用は、前記コンピューティングデバイスの位置、利用されている仮想パーティションの数、利用されている仮想パーティションの種類、および、前記コンピューティングデバイスが前記現在位置で利用される時間長、のうち１以上に基づく、請求項３から７のいずれか一項に記載のシステム。
【請求項９】
前記ポリシーエンジンは、前記コンピューティングデバイスが判断された位置に基づき、前記システムの１以上のコアを前記仮想アクティブパーティションに割り当て、残りのコアを前記低電力状態仮想パーティションに割り当てる請求項８に記載のシステム。
【請求項１０】
前記コンピューティングデバイスは携帯プラットフォームデバイスである、請求項１から９のいずれか一項に記載のシステム。
【請求項１１】
前記感覚および位置判断エンジンは、前記コンピューティングデバイスからの感覚データを取得し、前記感覚データを利用して前記コンピューティングデバイスの位置を判断する、請求項１から１０のいずれか一項に記載のシステム。
【請求項１２】
前記コンピューティングデバイスからの前記感覚データは、ビデオデータ、音声データ、無線データ、およびＧＰＳ（全地球測位システム）データのうち１以上を含み、１以上の感覚データ入力を利用して前記コンピューティングデバイスの位置を判断する、請求項１１に記載のシステム。
【請求項１３】
前記ビデオデータは、前記コンピューティングデバイスの現在位置の前記コンピューティングデバイスのウェブカメラにより撮像されたビデオデータを含み、受け取られた前記ビデオデータを画像データベースと比較することで、前記コンピューティングデバイスの位置を判断する、請求項１２に記載のシステム。
【請求項１４】
前記無線データは、ＷｉＦｉ無線、Ｂｌｕｅｔｏｏｔｈ（登録商標）無線、ＷｉＭＡＸ無線、または前記コンピューティングデバイスをネットワークと通信させる任意の他の無線のうち１以上からの無線信号データを含み、前記無線信号データを無線データベースと比較することで、受信された前記無線信号データの位置を判断する、請求項１２または１３に記載のシステム。
【請求項１５】
前記音声データは、背景ノイズが高いか低いかを判断されることで、前記コンピューティングデバイスの位置判断の助けをする、請求項１２から１４のいずれか一項に記載のシステム。
【請求項１６】
前記ＧＰＳデータは、前記コンピューティングデバイスの位置を提供するＧＰＳ座標を提供し、受信された前記ＧＰＳ座標が急速に変化している場合、前記位置は動いている車両内に在ると判断される、請求項１２から１５のいずれか一項に記載のシステム。
【請求項１７】
コンピューティング環境を変更する方法であって、
コンピューティングデバイスの位置に変更が検知されたか否かを、前記コンピューティングデバイスのコアがシャットダウンされた低電力状態時を含んで常に判断する段階と、
前記コンピューティングデバイスの位置に変更が検知された場合に、現在位置が電力調整を要するか否かを決定する段階と、
前記現在位置が電力調整を要する場合に、位置、仮想パーティショニング、および前記コンピューティングデバイスが前記現在位置で利用される時間長に基づいてコア利用を割り当てる段階と、
仮想パーティションの生成の必要性を判断する段階と、
前記仮想パーティションを生成する必要がある場合に、前記現在位置で利用される前記仮想パーティションを生成する段階と、
前記現在位置で利用されるアプリケーションと他の位置で利用されるアプリケーションに基づいて、前記仮想パーティションの各々に配置すべきアプリケーションを判断する段階と、
前記アプリケーションの各々を、それぞれ指定された仮想パーティションに移動する段階と、
各仮想パーティションを適宜処理する段階と、を備える方法。
【請求項１８】
少なくとも１つの仮想パーティションは、前記現在位置で利用されるアプリケーションの実行用にアクティブな仮想パーティションを含む、請求項１７に記載の方法。
【請求項１９】
少なくとも１つの仮想パーティションは、前記現在位置では利用されないが、前記他の位置での処理に備えて最後の利用状態を維持する必要のあるアプリケーションのハイバーネート用にハイバーネート仮想パーティションを含む、請求項１７に記載の方法。
【請求項２０】
前記各仮想パーティションを適宜処理する段階は、
前記現在位置用の仮想パーティションで利用されるアプリケーションを起動し、残りの１以上の仮想パーティションで利用されているアプリケーションをハイバーネートまたは終了する段階を含む、請求項１７から１９のいずれか一項に記載の方法。
【請求項２１】
前記コンピューティングデバイスの位置に変更が検知されたか否かを検知する段階は、
前記コンピューティングデバイスの１以上の感覚入力を処理して前記コンピューティングデバイスの位置を判断する段階を含み、
前記１以上の感覚入力は、画像データベースと比較されるウェブカメラからのビデオ入力と、処理されて背景ノイズが高いか低いかを判断される音声入力と、無線信号が利用されている位置を判断すべく無線信号データベースと比較される、ＷｉＦｉ無線、Ｂｌｕｅｔｏｏｔｈ（登録商標）無線、またはＷｉＭＡＸ無線のうち１つからの無線入力と、位置決定に利用されるＧＰＳ座標を有するＧＰＳ（全地球測位システム）入力と、を含む、請求項１７から２０のいずれか一項に記載の方法。
【請求項２２】
コンピュータシステムにより実行されるプログラムであって、
前記プログラムは、プロセッサにより実行されることで、
コンピューティングデバイスの位置に変更が検知されたか否かを、前記コンピューティングデバイスのコアがシャットダウンされた低電力状態時を含んで常に判断して、
前記コンピューティングデバイスの位置に変更が検知された場合に、現在位置が電力調整を要するか否かを決定して、
前記現在位置が電力調整を要する場合に、位置、仮想パーティショニング、および前記コンピューティングデバイスが前記現在位置で利用される時間長に基づいてコア利用を割り当て、
仮想パーティション生成の必要性を判断して、
仮想パーティションを生成する必要がある場合に、前記現在位置で利用される仮想パーティションを生成して、
前記現在位置で利用されるアプリケーションと他の位置で利用されるアプリケーションに基づいて、前記仮想パーティションの各々に配置すべきアプリケーションを判断して、
前記アプリケーションの各々を、それぞれ指定された仮想パーティションに移動して、
各仮想パーティションを適宜処理するプログラム。
【請求項２３】
前記各仮想パーティションを適宜処理する段階を行うプログラムは、
前記現在位置用の前記仮想パーティションで利用されるアプリケーションを起動し、残りの１以上の仮想パーティションで利用されているアプリケーションをハイバーネートまたは終了する段階を行う複数の命令を含む、請求項２２に記載のプログラム。
【請求項２４】
少なくとも１つの仮想パーティションは、前記現在位置で利用されるアプリケーションの実行用にアクティブな仮想パーティションを含み、
少なくとも１つの仮想パーティションは、前記現在位置では利用されないが、他の位置での処理に備えて最後の利用状態を維持する必要のあるアプリケーションのハイバーネート用にハイバーネート仮想パーティションを含む、請求項２２または２３記載のプログラム。
【請求項２５】
前記コンピューティングデバイスの位置に変更が検知されたか否かを検知させるプログラムは、
前記コンピューティングデバイスの１以上の感覚入力を処理して前記コンピューティングデバイスの位置を判断する段階を行う複数の命令を含み、
前記１以上の感覚入力は、画像データベースと比較されるウェブカメラからのビデオ入力と、処理されて背景ノイズが高いか低いかを判断される音声入力と、無線信号が利用されている位置を判断すべく無線信号データベースと比較される、ＷｉＦｉ無線、Ｂｌｕｅｔｏｏｔｈ（登録商標）無線、またはＷｉＭＡＸ無線のうち１つからの無線入力と、位置決定に利用されるＧＰＳ座標を有するＧＰＳ（全地球測位システム）入力と、を含む、請求項２２から２４のいずれか一項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユビキタスコンピューティングに係る。より詳しくは、本発明は、位置に基づきコンピューティング環境を変更するシステムおよび方法に関する。
【背景技術】
【０００２】
今日の社会では人々は、ラップトップ型、超携帯型パーソナルコンピュータ（ＵＭＰＣ）、携帯型ンターネットデバイス（ＭＩＤ）などを含むがこれらに限られない携帯デバイスを何処においても携帯する。携帯デバイスは、例えば、オフィス、自動車または他の形態の輸送機関、空港、自宅、および他の建物など、殆ど全ての場所または環境で利用されうる。これら環境各々において、携帯デバイスは、該携帯デバイスの位置に応じて異なる用途に具される場合がある。
【図面の簡単な説明】
【０００３】
ここに組み込み、明細書の一部を形成する添付図面は、本発明の実施形態を例示し、且つ、記載とともに、さらに本発明の原理を説明して当業者が本発明を実行および利用するのに役立つ。図面において、同様の参照番号は、概して同一の、機能的に類似した、および／または構造的に類似した部材を示す。部材が初出する図面は、対応する参照番号の左端のデジットに示している。
【０００４】
【図１】本発明の様々な実施形態による、その周辺を認識し、位置に基づいてそのコンピューティング環境を変更させる部材を有する携帯プラットフォーム１００の一例を示す図である。
【０００５】
【図２】本発明の一実施形態による、携帯デバイスの位置／環境を判断する助けとなる人間に近い感覚特性を提供する携帯デバイスの感覚属性の一例を示す図である。
【０００６】
【図３】本発明の一実施形態による、感覚および位置判断エンジンの一例を示す図である。
【０００７】
【図４】本発明の一実施形態による、アクティブな位置の動的仮想化の一例を示す図である。
【０００８】
【図５】本発明の一実施形態によるポリシーエンジンフローの方法の一例を示すフロー図である。
【発明を実施するための最良の形態】
【０００９】
本発明は特定の用途の例示的な実施形態を参照しながら記載されるが、本発明はそれに限定されないことを理解されたい。ここで提供される教示を読む当業者であれば、その範囲内で、追加的な変形例、用途、実施形態について想到するであろうし、本発明の実施形態のさらなる利用分野も十分な実用性を有しよう。
【００１０】
本明細書内の「一実施形態」「１つの実施形態」「別の実施形態」といった記載は、実施形態との関連で記載される特定のフィーチャ、構造、または特性が、本発明の少なくとも１つの実施形態に含まれることを示している。故に、「一実施形態」といった言い回しが明細書の諸所にあっても、それは、同じ実施形態についての言及であるとは限らない。
【００１１】
本発明の実施形態は、例えば、ラップトップ型、超携帯型パーソナルコンピュータ（ＵＭＰＣ）、携帯型ンターネットデバイス（ＭＩＤ）等の携帯プラットフォームに、その周辺を認識し、その位置に基づいてコンピューティング環境を変更させるシステムおよび方法に関する。これは、感覚および位置判断エンジン（ＳＬＤＥ）およびポリシーエンジン（ＰＥ）を携帯プラットフォーム上に組み込むことで達成される。
【００１２】
図１は、本発明の様々な実施形態による、その周辺を認識し、位置に基づいてそのコンピューティング環境を変更させる部材を有する携帯プラットフォーム１００の一例を示す図である。携帯プラットフォーム１００は、とりわけ、感覚および位置判断エンジン（ＳＬＤＥ）１０２およびポリシーエンジン（ＰＥ）１０４を含む。ＳＬＤＥ１０２はＰＥ１０４に連結される。
【００１３】
ＳＬＤＥ１０２は、音声、ビデオ、およびＧＰＳ（全地球測位システム）などを含むがそれらに限定されない様々な感覚データを総計し、該感覚データを利用して携帯デバイスの位置を判断する。本発明の実施形態においては、ＳＬＤＥ１０２は、シャットダウンモードでも動作して、常に携帯プラットフォームの位置判断をイネーブルにしてもよい。これは、常時接続（Ａｌｗａｙｓ  Ｏｎ）などの公知の技術を利用して達成されうる。本発明は携帯プラットフォームの現在のセンサーを利用して位置判断を行うが、携帯プラットフォームで現在利用されているまたは将来利用される他のセンサーを利用した位置判断も可能である。
【００１４】
ポリシーエンジン１０４は、起動すべきアプリケーション、終了／スタンバイモード／ハイバーネート状態等にすべきアプリケーション、および呼び出すべきコア利用を判断する。さらに、ポリシーエンジン１０４は、動的仮想化を用いて、現在位置に利用するアプリケーションを、他の位置に利用するアプリケーションからパーティショニングする。
【００１５】
明細書にわたり、携帯プラットフォームおよび携帯デバイスについて言及する。携帯デバイスは、携帯プラットフォームが組み込まれたデバイスである。このようなデバイスは、ラップトップ型コンピュータ、ＵＭＰＣ、ＭＩＤなどを含みうる。
【００１６】
先に示したように、本発明の実施形態は、携帯デバイスに、その周辺を認識し、位置／環境に基づいてそのコンピューティング環境を変更させる。携帯デバイスは今日の社会では何処でも携帯されるが、携帯デバイスの用途は、携帯デバイスの位置に応じて異なる場合がある。例えば、携帯デバイスがオフィス環境で利用される場合には、オフィスのアドレス帳等を利用したインスタントメッセージング（ＩＭ）、ＶｏＩＰ（ボイスオーバインターネットプロトコール）などの電子メール、オフィスアプリケーション、同僚との共同作業への利用が考えられる。携帯デバイスが自動車環境で利用される場合には、音楽およびビデオの再生、音声作動ＧＰＳ（全地球測位システム）を利用した運転指示、例えば個人のアドレス帳等を利用し、ＶｏＩＰをＢｌｕｅｔｏｏｔｈを介して利用した電話の送受信、等の利用が考えられる。携帯デバイスがユーザの自宅の居間にある場合には、パーソナルメディアファイルの再生および個人のアドレス帳を利用したＶｏＩＰ等を含むがそれらに限られない利用法が考えられる。携帯デバイスがユーザの自宅の書斎／仕事スペースにある場合には、ユーザの会社でのオフィスモードと類似する利用法に加えて、パーソナルバンキング、税申請、およびその他のユーザの私的な用途も考えられる。このように、携帯デバイスの位置／環境に応じて、異なる利用モデルが利用されうる。
【００１７】
先に示したように、感覚および位置判断エンジン（ＳＬＤＥ）１０２は、携帯デバイスの感覚データを利用して携帯デバイスの位置を導出する。ＳＬＤＥ１０２は、様々な感覚入力を捉え、携帯デバイスの位置を判断する。図２は、本発明の一実施形態による、携帯デバイスの位置／環境を判断する助けとなる人間に近い感覚特性を提供する携帯デバイスの感覚属性の一例を示す図２００である。図２００は、ラップトップ型携帯デバイス２０２および人間のフィギュアの頭２０４を有する。ラップトップ２０２は、利用しうる種類の携帯デバイスの一例として利用される。本発明の実施形態は、ラップトップ型携帯デバイスに限定されず、実際には、１以上の感覚入力を提供して携帯デバイスの位置判断の助けとする任意の携帯プラットフォームデバイスを利用することができる。
【００１８】
携帯デバイス２０２の感覚属性は、人間のフィギュアの頭２０４の人間の感覚属性と対比される。視覚（ビジョン）は、携帯デバイス２０２ではウェブカメラ２０６を利用して提供される。ウェブカメラ２０６はビデオ入力を取得するのに利用されうる。このように、ウェブカメラ２０６は、人間のフィギュアの頭２０４の目２０８として機能して、携帯デバイス２０２に視覚を提供する。聴覚は、携帯デバイス２０２では、マイクロフォン２１０を利用して提供される。マイクロフォン２１０は、音声入力を受信するのに利用されうる。このように、マイクロフォン２１０は、人間のフィギュアの頭２０４の耳２１２として機能して、携帯デバイス２０２に聴力を提供する。聴覚および他の感覚は、携帯デバイス２０２では無線２１４を利用して提供される。無線２１４は、ＷｉＦｉ無線、Ｂｌｕｅｔｏｏｔｈ無線、およびＷｉＭＡＸ無線のうち１以上を含みうる。無線２１４は、携帯デバイス２０２を例えばインターネットまたはイントラネットなどのネットワークと無線で通信させる入力信号を受け取るのに利用されうる。
【００１９】
携帯デバイス２０２の処理能力は、人間の脳に対応する。上述の感覚入力は、上述のように、プロセッサへ供給され、そこで処理されて携帯デバイス２０２の正確な位置を取得するが、これは、人間の脳が携帯プラットフォームの正確な位置を、人間の感覚をデータ入力として用いて判断する方法に類似している。
【００２０】
感覚および位置判断エンジン（ＳＬＤＥ）１０２は、様々な感覚入力を総計して、それれらを処理することで携帯プラットフォーム１００の位置を判断する。図３は、本発明の一実施形態による、感覚および位置判断エンジン（ＳＬＤＥ）１０２の一例を示す図である。ＳＬＤＥ１０２は、入力部３０２、処理部３０４、および出力部３０６を含む。入力部３０２は処理部３０４に連結される。処理部３０４は出力部３０６に連結される。
【００２１】
入力部３０２は、図２の携帯デバイス２０２を参照して上述した携帯プラットフォーム１００の感覚部材を利用して、携帯プラットフォーム１００により抽出される感覚入力データを含む。入力データは、ウェブカメラ２０６からのビデオデータ、ＷｉＦｉ無線／Ｂｌｕｅｔｏｏｔｈ２１４からのＷｉＦｉ無線／Ｂｌｕｅｔｏｏｔｈ無線データ、マイクロフォン２１０からの音声データ、および携帯プラットフォーム１００の内蔵ＧＰＳ３０８からのＧＰＳデータを含む。示してはいないが、他の入力を利用して、位置判断を行ってもよい。このような入力には、それに限られないが、温度および方向が含まれる。温度は携帯デバイスからは熱ダイオードを利用して取得されてよく、方向は携帯デバイスから加速度計を利用して取得されてよい。
【００２２】
処理部３０４は、入力データ全てを総計して、携帯デバイスの位置を判断する。図３に示すように、処理部３０４は、ウェブカメラ２０６からビデオ入力を受け取り、該ビデオ入力を、ウェブカメラデータベース３１０に記憶されているデータと比較して、位置判断を行う。例えば、携帯デバイス１００が自動車内にある場合、携帯プラットフォームは、撮像されたビデオ入力と、車の中に見られる一般的なオブジェクトまたはユーザの自動車内に実際にあるオブジェクトを表す記憶ビデオデータとを比較することで、ウェブカメラ２０６が撮像した、例えばダッシュボード、車の座席、ハンドル等の車の部材を認識することができる。
【００２３】
処理部３０４は、ＷｉＦｉ無線、ＷｉＭａｘ無線、Ｂｌｕｅｔｏｏｔｈ無線等の無線から無線入力を受信して、無線入力信号を無線データベース３１２の無線信号と比較して、入ってきた無線信号の位置を判断する。例えば、携帯プラットフォームは、無線入力信号が、ユーザのオフィスネットワーク、自宅のネットワーク、車のネットワーク、または他のネットワークからのものであるかを見分けることで、携帯デバイスの位置を判断する助けとしてよい。例えば、受信した無線信号が、無線データベース３１２に記憶されているユーザのオフィスネットワークを表す無線信号と合致する場合、携帯デバイスはユーザのオフィスに位置していると思われる。
【００２４】
処理部３０４は、マイクロフォン２１０を介して音声入力を受信し、これは、音声カード（不図示）を利用して処理される。処理部３０４は、音声が示す背景ノイズが高いか低いかをチェックしてよい。例えば、背景ノイズが高い場合、携帯デバイスは空港に位置していると思われ、逆に背景ノイズが低い場合、携帯デバイスは自宅の書斎／仕事スペースに位置していると思われる。
【００２５】
携帯プラットフォーム１００にＧＰＳが内蔵されている場合、処理部３０４はＧＰＳ座標入力も受け取ることができる。ＧＰＳ座標は、当業者には公知な方法で携帯デバイスの位置を判断してよい。さらに、座標が急速に変化している場合、ＧＰＳ座標は、動いている自動車、飛行機、電車、または他の形態の輸送機関の位置を示していると思われる。座標は変化しているが、遅いペースで変化している場合、ＳＬＤＥ１０２は、ユーザが動きながら携帯デバイスを携帯している、と判断してよい（つまり、歩く、走る、等することで）。
【００２６】
処理部３０４は、入力の１以上を利用して、携帯デバイスの位置を判断してよい。例えば、処理部３０４は、ウェブカメラ２０６、無線２１４、およびＧＰＳ３０８からの入力を利用して、携帯デバイスが動いている自動車内に位置していると判断してよい。別の例においては、処理部３０４は、無線入力信号を利用して、無線信号が自宅の無線信号であることを判断し、ウェブカメラ２０６を利用して携帯デバイスがユーザの自宅の居間に位置していると判断してよい。また別の例においては、処理部３０４は、ウェブカメラ２０６からの入力を利用して、冷蔵庫、電子レンジ、オーブン等のビデオを、台所の機器に見えるウェブカメラデータベース３１０の一般的なまたは実際のユーザの入力と比較して、携帯デバイスが自宅の台所に位置していると判断してよい。
【００２７】
出力部３０６は、携帯プラットフォームの位置を出力する。判断される位置の幾らかは、オフィスの会議室、オフィスの作業スペース、自宅の居間、自宅の書斎／仕事スペース、自宅の台所、空港、飛行機、および自動車を含むが、それらに限られないし、これらはほんの少ない例にすぎない。
【００２８】
先に示したように、携帯プラットフォームの位置に基づいて、ポリシーエンジン１０４は、起動すべきアプリケーション、終了／スタンバイモード／ハイバーネートにすべきアプリケーション、および呼び出すべきコア利用を判断する。例えば、オフィスから自動車内に動いた場合、起動する必要のあるアプリケーションには、それらに限られないが、音声作動ＧＰＳ、音声ストリーミングメディアプレーヤ、およびＢｌｕｅｔｏｏｔｈを利用するＶｏＩＰなどが含まれよう。終了／スタンバイモード／ハイバーネートにすべきアプリケーションには、ＭＳアウトルック、ＭＳオフィス、およびオフィス環境のみで利用される他のアプリケーションが含まれよう。一実施形態では、携帯デバイスをオフィス環境内で作動する場合、全てのコアを呼び出す場合があるが、例えば、携帯デバイスがオフィス環境から自動車内へ移動すると、携帯デバイスは自動車内では充電機能を行えない場合があるので、単一のコアを呼び出す、といったことが考えられよう。
【００２９】
先に示したように、ポリシーエンジン１０４は、動的仮想化を用いて、現在利用していないアプリケーションを低電力状態仮想パーティションにパーティションして、現在必要とされているアプリケーションを仮想アクティブパーティションに移動してよい。ポリシーエンジン１０４はさらに、コア管理を行って、コア利用を仮想パーティションに最適に割り当ててよい。これにより、コア割り当ておよび携帯デバイスが動作中の環境に基づいた最適な電力利用が保証される。例えば、例えば自動車内など、携帯デバイスが電源につなげないような環境下では、携帯デバイスは低電力状態で動作して利用可能な電池の電力を保持する必要がある場合がある。これには、コアをシャットダウンして、携帯デバイスで利用可能な電池の電力を最大化すること、が含まれよう。別の例においては、例えばオフィスまたは自宅にあるときなど、携帯デバイスが電源を容易に利用可能な位置にある場合、全てのコアを起動してよい。このように、本発明の実施形態によると、環境／位置および仮想パーティショニングは、協同して、携帯デバイス用に最適なコア利用を判断する。
【００３０】
図４は、本発明の一実施形態による、コア管理の動的仮想化の一例を示す図４００である。図４００は、複数の仮想パーティション（仮想パーティション１、仮想パーティション２...仮想パーティションｎ）および、複数のコア（コア１、コア２...コアｎ）を示す。仮想パーティション１はアクティブな仮想パーティションとして指定されてよい。アクティブな仮想パーティション（仮想パーティション１）は、現在位置／環境におけるアクティブなアプリケーションを含む。例えば、デバイスが自動車内環境にある場合、仮想パーティション１のアクティブなアプリケーションは、音楽および／または映画再生用のメディアストリーミングアプリケーション、音声作動ＧＰＳシステム、およびＢｌｕｅｔｏｏｔｈ動作用のＶｏＩＰアプリケーションを含みうるが、それらに限られない。デバイスが居間環境にある場合、仮想パーティション１のアクティブなアプリケーションは、それらに限られないが、音楽、映画、ビデオ、および画像再生用のメディアストリーミングアプリケーション、電話受信用ＶｏＩＰアプリケーション、およびウェブコンテンツ閲覧用のインターネットプログラムを含みうる。デバイスが会社のオフィス環境等のオフィス環境にある場合、仮想パーティション１のアクティブなアプリケーションは、それらに限られないが、オフィスアプリケーション、ＩＭアプリケーション、ＶｏＩＰアプリケーション、イントラネットおよびインターネットのインタフェース用のインターネットアプリケーションを含みうる。
【００３１】
仮想パーティション２は、現在の状態を維持する必要のあるアプリケーション用のハイバーネート仮想パーティションとして指定されうる。一実施形態では、ハイバーネート仮想パーティション（仮想パーティション２）は、アクティブな仮想パーティション（仮想パーティション１）で利用されていない全てのアプリケーションを含みうる。代替実施形態では、２つを超える数の仮想パーティション（ファントムで示す仮想パーティション１...仮想パーティションｎ）があってよい。例えば、現在の環境で利用されているアクティブなアプリケーション用のアクティブなパーティションと、現在の環境では現在は利用されていないが、最後の利用状態を維持する必要のあるアプリケーション用のハイバーネート仮想パーティションと、現在の環境では利用されておらず、現在の状態を維持することなく終了された、または終了する必要のあるアプリケーション用の終了仮想パーティションと、があってよい。スタンバイ仮想パーティション等、その他の仮想パーティションも利用可能である。
【００３２】
本発明のまた別の実施形態では、仮想パーティションは位置に基づいて実装されうる。例えば、仮想パーティション１は、自動車内で利用される全てのアプリケーションを含んでよく、仮想パーティション２は会社等のオフィスで利用される全てのアプリケーションを含んでよく、仮想パーティション３は自宅の仕事スペースで利用される全てのアプリケーションを含んでよく、仮想パーティション４は居間で利用される全てのアプリケーションを含んでよく、仮想パーティション５は台所で利用される全てのアプリケーションを含んでよい、等である。本実施形態では、アクティブな仮想パーティションは、携帯デバイスが位置している仮想パーティションである。
【００３３】
一実施形態では、あるコアは、ある仮想パーティション専用としてよい。例えば、一実施形態では、大多数のコアがアクティブな仮想パーティションであってよく、少数のコアがハイバーネート仮想パーティションおよび／または任意の残りのパーティションであってよい。また別の実施形態では、コアは環境のみに基づいて割り当てられてよい。例えば、環境がオフィス環境の場合、全てのコアが、アクティブなパーティションとして割り当てられ、ハイバーネートパーティションとなるコアの割り当てがなくてもよいし、１つ以外の全てのコアだけがアクティブなパーティションとして割り当てられて、１つのコアがハイバーネートパーティションとして割り当てられてもよい。別の例では、環境が自動車内である場合、１つまたは２つのコアがアクティブなパーティションに割り当てられ、１つまたは２つのコアがハイバーネートパーティションに割り当てられるかもしれない。また別の実施形態においては、維持可能な数を超える数のコアも、必要未満のコアも、不許可とするポリシーにしてもよい。例えば、携帯デバイスのユーザが通勤に２時間かかるとして、携帯デバイスは２時間に電池の電力を利用して２つのコアを維持できるが、アクティブなアプリケーションを動かすのに１つのコアしか必要ではない場合、１つのコアのみをアクティブな仮想パーティションに割り当てる。このようにコア管理は、位置／環境、仮想パーティション利用、利用時間長など多くのファクタに基づいている。
【００３４】
図５は、本発明の一実施形態によるポリシーエンジン管理の方法の一例を示すフロー図５００である。本発明はフロー図５００についての実施形態に限定されない。本教示を読んだ当業者には明らかなように、他の機能フロー図も本発明の範囲に含まれる。処理はブロック５０２から始まり、直ぐに決定ブロック５０４へ移る。
【００３５】
決定ブロック５０４では、位置変更が検知されたかどうか判断する。先に示したように、位置変更は、ＳＬＤＥ１０２を利用して１以上の感覚入力を処理することで判断される。位置変更が検知されなかった場合には、処理は決定ブロック５０４を続ける。位置変更が検知されると、処理は決定ブロック５０６へ移る。
【００３６】
決定ブロック５０６では、現在位置が電力調整（つまりコア利用調整）を要するか否かを判断する。現在位置が電力調整を要する場合、処理はブロック５０８に移る。
【００３７】
ブロック５０８では、ポリシーエンジン１０２は、位置／環境、仮想パーティションの数、利用中の仮想パーティションの種類、利用時間長等に基づいてコア利用を割り当てうる。例えば、現在位置が自動車内であり、前の位置がオフィスであった場合、自動車内環境では充電機能がない場合がありオフィスで利用していたより少ないアプリケーションが自動車内で動いているので、オフィス環境で利用していたよりも低電力状態が必要である。故に処理は決定ブロック５１０に移る。
【００３８】
決定ブロック５０６に戻り、現在位置が電力調整を要しないと判断されると、処理は決定ブロック５１０へ移る。例えば、現在位置が自動車内であり、前の位置が居間であって、自動車内の電力状態は居間の電力状態に略等しいとすると、電力調整は不要である。
【００３９】
決定ブロック５１０では、仮想パーティションの生成の必要性を判断する。仮想パーティション生成が必要である場合には、処理はブロック５１２に移る。
【００４０】
ブロック５１２では、仮想パーティションを生成する（まだ存在しない場合）。一実施形態では、現在位置に仮想パーティションを１つ、ハイバーネート位置に仮想パーティションを１つ、それぞれ生成する。本発明の他の実施形態はこれら２つの仮想パーティションに限定されない。先に示したように、他の仮想パーティションを生成してもよい。例えば、一実施形態では、終了した仮想パーティションを、現在の状態を維持する必要のなくなったアプリケーション用に生成してもよい。仮想パーティション生成の後、処理はブロック５１４に移る。
【００４１】
決定ブロック５１０に戻り、仮想パーティション生成の必要がないと判断された場合には、処理はブロック５１４に移る。
【００４２】
ブロック５１４では、アプリケーションを仮想パーティションに配置する必要があると判断される。例えば、アクティブな仮想パーティションに配置すべきアプリケーションを判断し、他の残りの全ての位置についてハイバーネート仮想パーティションに配置すべきアプリケーションを判断する。２を超える数の仮想パーティションを利用する実施形態では、決定は、どのアプリケーションが仮想パーティション各々に属するかを判断してもよい。さらには、本発明の実施形態では、多くのアプリケーションが位置／環境の境界を越えて移動する場合がある。例えば、ＶｏＩＰアプリケーションはオフィス環境、自動車内環境、および自宅環境で利用されうるので、これらの位置／環境各々のアクティブなパーティションに配される可能性がある。また、異なる位置／環境について１つのアプリケーションの異なるバージョンが存在しうる。この場合には、適切なバージョンを適切な仮想パーティションに配置してもよい。そして処理はブロック５１６へ移る。
【００４３】
ブロック５１６では、全てのアプリケーションを、それぞれ指定された仮想パーティションへ移動させる。そして処理はブロック５１８へ移る。
【００４４】
ブロック５１８では、様々な仮想パーティションのアプリケーションを、それぞれが配置された仮想パーティションに従って処理する。例えば、ハイバーネート仮想パーティションに移動されたアプリケーションをハイバーネート状態にして、アクティブなパーティションに移動されたアプリケーションを起動する。また別の仮想パーティションを利用してアプリケーションをそれらに配置した場合には、それらアプリケーションも同様に処理する。例えば、終了した仮想パーティションが生成された場合、この仮想パーティションに配置された、終了すべきアプリケーションを終了する。そして処理は決定ブロック５０４に移り、位置／環境変更が発生したか否かを判断する。
【００４５】
本発明の実施形態のある側面は、ハードウェア、ソフトウェア、またはそれらの組み合わせにより実装されてもよいし、１以上のコンピュータシステムまたは他の処理システムで実装されてもよい。実際、一実施形態では、方法は、プログラム可能な機械上で実行されるプログラムに実装されてよく、該プログラム可能な機械には、携帯型または固定型コンピュータ、携帯情報端末（ＰＤＡ）、セットトップボックス、携帯電話機およびページャ、および各々が複数のプロセッサコア、該プロセッサコアが読み取り可能な記憶媒体（揮発性メモリおよび不揮発性メモリおよび／または記憶素子）、少なくとも１つの入力デバイス、および１以上の出力デバイスを含む、他の電子デバイスが含まれてよい。プログラムコードを、入力デバイスを利用して入力されたデータに適用することで、記述された関数を行い、出力情報を生成する。出力情報は１以上の出力デバイスに適用してよい。当業者であれば、本発明の実施形態が、マルチプロセッサシステム、ミニコンピュータ、メインフレームコンピュータ等の様々なコンピュータシステム構成で実行できることを理解するであろう。
【００４６】
各プログラムは、ハイレベルプロシージャまたはオブジェクト指向のプログラミング言語で実装されて、処理システムと通信してよい。しかしながら、プログラムは、所望であれば、アセンブリ言語または機械言語で実装されてもよい。いずれの場合にも、言語はコンパイルまたは解釈されてよい。
【００４７】
命令を利用してプログラムされた、汎用または専用の処理システムに、ここで記載した方法をプログラム命令を利用して行わせてよい。また、方法は、該方法実行用にハードワイヤードロジックを含む専用のハードウェアコンポーネントにより行われてもよく、あるいは、プログラムされたコンピュータコンポーネントおよびカスタムハードウェアコンポーネントの任意の組み合わせにより行われてもよい。ここで記載した方法は、該方法を行う処理システムまたは他の電子デバイスのプログラミングに利用されうる命令を記憶した機械読み取り可能な媒体を含みうるコンピュータプログラム製品として提供されてもよい。ここで利用される「機械読み取り可能な媒体」または「機械アクセス可能な媒体」は、該機械が実行することで該機械にここで記載した該方法のうちの任意のものを実行させる命令シーケンスを記憶またはコード化できる任意の媒体を含んでよい。故に、「機械読み取り可能な媒体」または「機械アクセス可能な媒体」は、それらに限定はされないが、固体状態記憶装置、光学および磁気ディスク、およびデータ信号をコード化する搬送波を含む。さらに、当技術分野ではよく行われるが、様々な形態のソフトウェア（例えば、プログラム、プロシージャ、プロセス、アプリケーション、モジュール、ロジック等）が、動作をしたり、結果を生じたりする、という言い方をする。このような表現は、処理システムがプロセッサに動作させたり結果を生成させたりするソフトウェア実行のことを説明する簡略化した言い方にすぎない。
【００４８】
本発明の様々な実施形態を上述したが、これらは例示であって限定ではないことを理解されたい。当業者であれば、添付請求項が定義する本発明の精神および範囲を逸脱することなしに、形態および詳細を様々に変更することができることを理解しよう。このように、本発明の範囲およびスコープは、上述の例示的な実施形態のいずれに限定されるべきではなく、以下の請求項およびその均等物によって定義される。
【図１】
2012256336.tif 000003
【図２】
2012256336.tif 000004
【図３】
2012256336.tif 000005
【図４】
2012256336.tif 000006
【図５】
2012256336.tif 000007
【手続補正書】
【提出日】平成24年7月31日(2012.7.31)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピューティング環境を変更するシステムであって、
コンピューティングデバイスの現在位置を判断する感覚および位置判断エンジンと、
前記感覚および位置判断エンジンに連結され、前記コンピューティングデバイスの判断された現在位置において起動すべきアプリケーション、起動すべきでないアプリケーション、および呼び出すべきプロセッサコア利用を判断するポリシーエンジンと、
を備え、
前記ポリシーエンジンは、コンピューティングデバイスの決定された位置に基づいて、どのアプリケーションをアクティブな仮想パーティションに移動するか、及び、どのアプリケーションを低電力仮想パーティションに移動するかを決定し、
前記ポリシーエンジンは、前記システムの複数のプロセッサコアのうち第１の数のプロセッサコアを、決定された位置に基づいて前記アクティブな仮想パーティションに割り当て、
前記ポリシーエンジンは、前記複数のプロセッサコアのうち第２の数のプロセッサコアを、決定された位置に基づいて前記低電力仮想パーティションに割り当てる
システム。
【請求項２】
前記感覚および位置判断エンジンは、前記コンピューティングデバイスのプロセッサコアをシャットダウンするシャットダウンモードにおいて動作し、常に位置を決定できる
請求項１に記載のシステム。
【請求項３】
前記感覚および位置判断エンジンは、前記コンピューティングデバイスからの感覚データを取得し、前記感覚データを利用して前記コンピューティングデバイスの現在位置を判断する、請求項１に記載のシステム。
【請求項４】
前記コンピューティングデバイスからの前記感覚データは、ビデオデータ、音声データ、無線データ、およびＧＰＳ（全地球測位システム）データのうち１以上を含み、１以上の感覚データ入力は、前記コンピューティングデバイスの現在位置を判断するのに利用される、請求項３に記載のシステム。
【請求項５】
前記ビデオデータは、前記コンピューティングデバイスの現在位置の前記コンピューティングデバイスのウェブカメラにより撮像されたビデオデータを含み、受け取られた前記ビデオデータを画像データベースと比較することで、前記コンピューティングデバイスの現在位置を判断する、請求項４に記載のシステム。
【請求項６】
前記無線データは、ＷｉＦｉ無線、Ｂｌｕｅｔｏｏｔｈ無線、ＷｉＭＡＸ無線、または前記コンピューティングデバイスをネットワークと通信させる任意の他の無線のうち１以上からの無線信号データを含み、前記無線信号データを無線データベースと比較することで、受信された前記無線信号データの現在位置を判断する、請求項４に記載のシステム。
【請求項７】
前記音声データは、背景ノイズが高いか低いかを判断されることで、前記コンピューティングデバイスの現在位置判断の助けをする、請求項４に記載のシステム。
【請求項８】
前記ＧＰＳデータは、前記コンピューティングデバイスの現在位置を提供するＧＰＳ座標を提供し、受信された前記ＧＰＳ座標が急速に変化している場合、前記現在位置は動いている車両内に在ると判断される、請求項４に記載のシステム。
【請求項９】
前記ポリシーエンジンは、動的仮想化を用いることで、前記現在位置で利用されるアプリケーションを、他の位置で利用されるアプリケーションからパーティショニングする、請求項１に記載のシステム。
【請求項１０】
前記コンピューティングデバイスの前記現在位置で利用されるアプリケーションは、アクティブな仮想パーティションに配置され、前記他の位置で利用されるアプリケーションは１以上の低電力パーティション又は１以上の他の仮想パーティションに配置される、請求項９に記載のシステム。
【請求項１１】
前記１以上の低電力仮想パーティション又は前記１以上の他の仮想パーティションは、最後の利用状態を維持する必要のあるアプリケーション用に少なくとも１つのハイバーネート仮想パーティションを含む、請求項１０に記載のシステム。
【請求項１２】
前記１以上の低電力仮想パーティション又は前記１以上の他の仮想パーティションは、最後の利用状態を維持する必要のないアプリケーション用に少なくとも１つの終了仮想パーティションを含む、請求項１０に記載のシステム。
【請求項１３】
前記１以上の低電力仮想パーティション又は前記１以上の他の仮想パーティションは、スタンバイにする必要のあるアプリケーション用に少なくとも１つのスタンバイ仮想パーティションを含む、請求項１０に記載のシステム。
【請求項１４】
前記１以上の低電力仮想パーティション又は前記１以上の他の仮想パーティションは、前記コンピューティングデバイスが利用される位置毎に仮想パーティションを含む、請求項１０に記載のシステム。
【請求項１５】
前記ポリシーエンジンにより呼び出される前記第１の数のプロセッサコアは、前記コンピューティングデバイスの現在位置、利用される仮想パーティションの数、利用される仮想パーティションの種類、および、前記コンピューティングデバイスが前記現在位置で利用される時間長の１以上に基づく、請求項１０に記載のシステム。
【請求項１６】
前記コンピューティングデバイスは携帯プラットフォームデバイスである、請求項１に記載のシステム。
【請求項１７】
コンピューティング環境を変更する方法であって、
コンピューティングデバイスの位置に変更が検知されたか否かを判断する段階と、
前記コンピューティングデバイスの位置に変更が検知された場合に、仮想パーティションを生成する必要があるか否かを決定し、前記仮想パーティションを生成する必要がある場合に、現在位置で利用される１以上のアクティブな仮想パーティション及び低電力仮想パーティションを生成する段階と、
現在位置が電力調整を要するか否かを決定し、前記現在位置が電力調整を要する場合に、複数のプロセッサコアのうち第１の数のプロセッサコアを、前記コンピューティングデバイスの前記位置に基づいて前記アクティブな仮想パーティションに割り当て、前記複数のプロセッサコアのうち第２の数のプロセッサコアを、前記コンピューティングデバイスの位置に基づいて前記低電力仮想パーティションに割り当てる段階と、
前記コンピューティングデバイスの位置に基づいて、どのアプリケーションを前記アクティブな仮想パーティション及び低電力仮想パーティションの各々に配置すべきかを決定する段階と、
当該どのアプリケーションを前記アクティブな仮想パーティション及び低電力仮想パーティションの各々に配置すべきかの決定に基づいて、前記アプリケーションを、それぞれ指定された仮想パーティションに移動する段階と、
前記アクティブな仮想パーティション及び前記低電力仮想パーティションの各々を適宜処理する段階と、を備える方法。
【請求項１８】
前記コンピューティングデバイスの位置に変更が検知されたか否かを判断する段階は、
前記コンピューティングデバイスの１以上の感覚入力を処理して前記コンピューティングデバイスの位置を判断する段階を含み、
前記１以上の感覚入力は、画像データベースと比較されるウェブカメラからのビデオ入力と、処理されて背景ノイズが高いか低いかを判断される音声入力と、無線信号が利用されている位置を判断すべく無線信号データベースと比較される、ＷｉＦｉ無線、Ｂｌｕｅｔｏｏｔｈ無線、またはＷｉＭＡＸ無線のうち１つからの無線入力と、位置決定に利用されるＧＰＳ座標を有するＧＰＳ（全地球測位システム）入力と、を含む、請求項１７に記載の方法。
【請求項１９】
少なくとも１つの仮想パーティションは、前記現在位置で利用されるアプリケーションの実行用にアクティブな仮想パーティションを含む、請求項１７に記載の方法。
【請求項２０】
少なくとも１つの仮想パーティションは、前記現在位置では利用されないが、他の位置での処理に備えて最後の利用状態を維持する必要のあるアプリケーションのハイバーネート用にハイバーネート仮想パーティションを含む、請求項１７に記載の方法。
【請求項２１】
前記仮想パーティションの各々を適宜処理する段階は、
前記現在位置用の仮想パーティションで利用されるアプリケーションを起動し、残りの１以上の仮想パーティションで利用されているアプリケーションをハイバーネートまたは終了する段階を含む、請求項１７に記載の方法。
【請求項２２】
機械アクセス可能な複数の命令を有する記憶媒体であって、
前記複数の命令は、プロセッサにより実行されることで、
コンピューティングデバイスの位置に変更が検知されたか否かを判断する段階と、
前記コンピューティングデバイスの位置に変更が検知された場合に、仮想パーティションを生成する必要があるか否かを決定し、前記仮想パーティションを生成する必要がある場合に、現在位置で利用される１以上のアクティブな仮想パーティション及び低電力仮想パーティションを生成する段階と、
現在位置が電力調整を要するか否かを決定し、前記現在位置が電力調整を要する場合に、複数のプロセッサコアのうち第１の数のプロセッサコアを、前記コンピューティングデバイスの前記位置に基づいて前記アクティブな仮想パーティションに割り当て、前記複数のプロセッサコアのうち第２の数のプロセッサコアを、前記コンピューティングデバイスの位置に基づいて前記低電力仮想パーティションに割り当てる段階と、
前記コンピューティングデバイスの位置に基づいて、どのアプリケーションを前記アクティブな仮想パーティション及び低電力仮想パーティションの各々に配置すべきかを決定する段階と、
当該どのアプリケーションを前記アクティブな仮想パーティション及び低電力仮想パーティションの各々に配置すべきかを決定する段階に基づいて、前記アプリケーションを、それぞれ指定された仮想パーティションに移動する段階と、
前記アクティブな仮想パーティション及び前記低電力仮想パーティションの各々を適宜処理する段階と、
を実行する記憶媒体。
【請求項２３】
前記コンピューティングデバイスの位置に変更が検知されたか否かを判断する段階を行う複数の命令は、
前記コンピューティングデバイスの１以上の感覚入力を処理して前記コンピューティングデバイスの位置を判断する段階を実行する複数の命令を含み、
前記１以上の感覚入力は、画像データベースと比較されるウェブカメラからのビデオ入力と、処理されて背景ノイズが高いか低いかを判断される音声入力と、無線信号が利用されている位置を判断すべく無線信号データベースと比較される、ＷｉＦｉ無線、Ｂｌｕｅｔｏｏｔｈ無線、またはＷｉＭＡＸ無線のうち１つからの無線入力と、位置決定に利用されるＧＰＳ座標を有するＧＰＳ（全地球測位システム）入力と、を含む、請求項２２に記載の記憶媒体。
【請求項２４】
前記アクティブな仮想パーティション及び前記低電力仮想パーティションの各々を適宜処理する段階を行う複数の命令は、
前記現在位置用の前記アクティブな仮想パーティションで利用されるアプリケーションを起動し、前記低電力仮想パーティションで利用されているアプリケーションをハイバーネートまたは終了する段階を行う複数の命令を含む、請求項２２に記載の記憶媒体。
【請求項２５】
少なくとも１つの仮想パーティションは、前記現在位置で利用されるアプリケーションの実行用にアクティブな仮想パーティションを含み、
少なくとも１つの仮想パーティションは、前記現在位置では利用されないが、他の位置での処理に備えて最後の利用状態を維持する必要のあるアプリケーションのハイバーネート用にハイバーネート仮想パーティションを含む、請求項２２に記載の記憶媒体。