(57)【特許請求の範囲】
【請求項１】
携帯機器の私的環境によって提示されるロックスクリーンから前記携帯機器内の仕事環境へのアクセスを提供する方法であって、前記仕事環境は、前記私的環境内で実行されるハイパーバイザによってサポートされる仮想マシン内で実行され、前記私的環境は前記携帯機器のホストオペレーティングシステム（ＯＳ）であり、前記方法は、
前記携帯機器のユーザインターフェイス（ＵＩ）上に前記ロックスクリーンが提示されることに応答し、前記ホストＯＳにおいてユーザから確認認証情報を受け取ること、
前記確認認証情報が前記私的環境又は前記仕事環境に対して有効かどうかを判定すること、
前記確認認証情報が前記私的環境に対して有効である場合、前記私的環境に対してのみアクセスする権限を与えること、
前記確認認証情報が前記仕事環境に対して有効である場合、前記私的環境及び前記仕事環境の両方にアクセスする権限を与えることを備える、方法。
【請求項２】
前記確認認証情報が前記仕事環境に対して有効である場合、前記私的環境及び前記仕事環境の両方にアクセスする権限を与えることは、前記仮想マシンのハードウェア・エミュレーションレイヤに電源オンコマンドを伝送するよう前記ハイパーバイザに要求することを更に含む、請求項１に記載の方法。
【請求項３】
前記電源オンコマンドは、前記ユーザが既に認証されているという指示を含み、前記仮想マシンの前記ハードウェア・エミュレーションレイヤが、前記仕事環境のロックスクリーンのデフォルトの提示をバイパスするよう前記仮想マシンのゲストＯＳに要求する、請求項２に記載の方法。
【請求項４】
前記確認認証情報が前記仕事環境に対して有効である場合、前記私的環境及び前記仕事環境の両方にアクセスする権限を与えることは、ユーザインターフェイス（ＵＩ）プロキシアプリケーションを起動するよう前記ホストＯＳに要求することを更に含み、
前記ＵＩプロキシアプリケーションは、メモリバッファのコンテンツに対する前記携帯機器のハードウェアフレームバッファによるアクセスを促進させ、
前記メモリバッファは、電源がオンにされるときに前記仮想マシンが前記ハードウェア・エミュレーションレイヤ内の仮想フレームバッファに表示データを投入するとき、前記仕事環境の前記表示データでアップデートされる、請求項２に記載の方法。
【請求項５】
前記ロックスクリーンが、（ｉ）前記確認認証情報が前記私的環境を意図する場合に第１の方向に指をスワイプする動作を発生させ、且つ（ｉｉ）前記確認認証情報が前記仕事環境を意図する場合に第２の方向に指をスワイプする動作を発生させるように前記ユーザに要求する、請求項１に記載の方法。
【請求項６】
前記ロックスクリーンが、前記確認認証情報としてパターン動作を発生させるように前記ユーザに要求する、請求項１に記載の方法。
【請求項７】
前記ロックスクリーンが、前記確認認証情報としてパスワードを提示するように前記ユーザに要求する、請求項１に記載の方法。
【請求項８】
コンピュータ可読記憶媒体であって、
携帯機器内のプロセッサ上で実行されるとき、
前記携帯機器のユーザインターフェイス（ＵＩ）上にロックスクリーンが提示されることに応答し、ホストＯＳにおいてユーザから確認認証情報を受け取ること、
前記確認認証情報が私的環境又は仕事環境に有効かどうかを判定すること、
前記確認認証情報が前記私的環境に対して有効である場合、前記私的環境に対してのみアクセスする権限を与えること、
前記確認認証情報が前記仕事環境に対して有効である場合、前記私的環境及び前記仕事環境の両方にアクセスする権限を与えること
を実行することにより、前記携帯機器の前記私的環境によって提示される前記ロックスクリーンから前記携帯機器内の前記仕事環境へのアクセスを前記プロセッサに提供させる命令を含み、
前記仕事環境は、前記私的環境内で実行されるハイパーバイザによってサポートされる仮想マシン内で実行され、
前記私的環境は、前記携帯機器のホストオペレーティングシステム（ＯＳ）である、コンピュータ可読記憶媒体。
【請求項９】
前記確認認証情報が前記仕事環境に対して有効である場合、前記私的環境及び前記仕事環境の両方にアクセスする権限を与えることは、前記仮想マシンのハードウェア・エミュレーションレイヤに電源オンコマンドを伝送するよう前記ハイパーバイザに要求することを更に含む、請求項８に記載のコンピュータ可読記憶媒体。
【請求項１０】
前記電源オンコマンドは、前記ユーザが既に認証されているという指示を含み、前記仮想マシンの前記ハードウェア・エミュレーションレイヤが、前記仕事環境のロックスクリーンのデフォルトの提示をバイパスするよう前記仮想マシンのゲストＯＳに要求する、請求項９に記載のコンピュータ可読記憶媒体。
【請求項１１】
前記確認認証情報が前記仕事環境に対して有効である場合、前記私的環境及び前記仕事環境の両方にアクセスする権限を与えることは、ユーザインターフェイス（ＵＩ）プロキシアプリケーションを起動するよう前記ホストＯＳに要求することを更に含み、
前記ＵＩプロキシアプリケーションは、メモリバッファのコンテンツに対する前記携帯機器のハードウェアフレームバッファによるアクセスを促進させ、
前記メモリバッファは、電源がオンにされるときに前記仮想マシンが前記ハードウェア・エミュレーションレイヤ内の仮想フレームバッファに表示データを投入するとき、前記仕事環境の前記表示データでアップデートされる、請求項９に記載のコンピュータ可読記憶媒体。
【請求項１２】
前記ロックスクリーンが、（ｉ）前記確認認証情報が前記私的環境を意図する場合に第１の方向に指をスワイプする動作を発生させ、且つ（ｉｉ）前記確認認証情報が前記仕事環境を意図する場合に第２の方向に指をスワイプする動作を発生させるように前記ユーザに要求する、請求項８に記載のコンピュータ可読記憶媒体。
【請求項１３】
前記ロックスクリーンが、前記確認認証情報としてパターン動作を発生させるように前記ユーザに要求する、請求項８に記載のコンピュータ可読記憶媒体。
【請求項１４】
前記ロックスクリーンが、前記確認認証情報としてパスワードを提示するように前記ユーザに要求する、請求項８に記載のコンピュータ可読記憶媒体。
【請求項１５】
携帯機器であって、
携帯機器のユーザインターフェイス（ＵＩ）上にロックスクリーンが提示されることに応答し、ホストオペレーティングシステム（ＯＳ）においてユーザから確認認証情報を受け取ること、
前記確認認証情報が私的環境又は仕事環境に有効かどうかを判定すること、
前記確認認証情報が前記私的環境に対して有効である場合、前記私的環境に対してのみアクセスする権限を与えること、
前記確認認証情報が前記仕事環境に対して有効である場合、前記私的環境及び前記仕事環境の両方にアクセスする権限を与えること
を実行することにより、前記携帯機器の前記私的環境によって提示される前記ロックスクリーンから前記携帯機器内の前記仕事環境へのアクセスを提供するように構成されるプロセッサを含み、
前記仕事環境は、前記私的環境内で実行されるハイパーバイザによってサポートされる仮想マシン内で実行され、
前記私的環境は、前記携帯機器のホストＯＳである、携帯機器。
【請求項１６】
前記確認認証情報が前記仕事環境に対して有効である場合、前記私的環境及び前記仕事環境の両方にアクセスする権限を与えることは、前記仮想マシンのハードウェア・エミュレーションレイヤに電源オンコマンドを伝送するよう前記ハイパーバイザに要求することを更に含む、請求項１５に記載の携帯機器。
【請求項１７】
前記電源オンコマンドは、前記ユーザが既に認証されているという指示を含み、前記仮想マシンの前記ハードウェア・エミュレーションレイヤが、前記仕事環境のロックスクリーンのデフォルトの提示をバイパスするよう前記仮想マシンのゲストＯＳに要求する、請求項１６に記載の携帯機器。
【請求項１８】
前記確認認証情報が前記仕事環境に対して有効である場合、前記私的環境及び前記仕事環境の両方にアクセスする権限を与えることは、ユーザインターフェイス（ＵＩ）プロキシアプリケーションを起動するよう前記ホストＯＳに要求することを更に含み、
前記ＵＩプロキシアプリケーションは、メモリバッファのコンテンツに対する前記携帯機器のハードウェアフレームバッファによるアクセスを促進させ、
前記メモリバッファは、電源がオンにされるときに前記仮想マシンが前記ハードウェア・エミュレーションレイヤ内の仮想フレームバッファに表示データを投入するとき、前記仕事環境の表示データでアップデートされる、請求項１６に記載の携帯機器。
【請求項１９】
前記ロックスクリーンが、（ｉ）前記確認認証情報が前記私的環境を意図する場合に第１の方向に指をスワイプする動作を発生させ、及び（ｉｉ）前記確認認証情報が前記仕事環境を意図する場合に第２の方向に指をスワイプする動作を発生させるように前記ユーザに要求する、請求項１５に記載の携帯機器。
【請求項２０】
前記ロックスクリーンが、前記確認認証情報としてパスワードを提示するように前記ユーザに要求する、請求項１５に記載の携帯機器。
【発明の詳細な説明】
【背景技術】
【０００１】
この１０年で、企業は自社の従業員に業務用携帯機器を提供したとき、従業員の生産性の大幅な増加を経験してきた。過去、その費用が高いことに起因して、業務用携帯機器は主に経営管理に割り当てられ、電子メールへのアクセス及び携帯電話機能を従業員に与えることに焦点を当ててきた。しかし、ハードウェア費用の継続的な下落と共に、携帯機器の計算能力、モバイル表示技術、及び接続速度が近年改善されたことにより、高性能の携帯機器を個人使用目的で一般の人々にさえ入手できるようになった。携帯電話としての機能を果たすことに加え、電子メールへのアクセス、文書やインターネットの閲覧、ゲームをすること、音声を聴くことや映像を見ること、個人情報管理（ＰＩＭ:personal information management）など、デスクトップ又はラップトップと同じ多くの方法で使用可能なスマートフォンなどの高性能の携帯機器をますます多くの人々が個人的に所有している。
【０００２】
携帯機器の上記の傾向により、企業は仕事場への個人用機器の「侵入」を現在経験している。自身の個人用携帯機器の高度な機能を所与として、従業員はもはや別個の個人用携帯機器と業務用携帯機器とを保持することに起因して、仕事場に持ち込んだ個人用機器をサポートするよう情報技術（ＩＴ:information technology）部門に対して圧力をかけ続けている。そのためＩＴ部門は、個人用機器上での企業データへの一定水準のアクセス（例えば電子メール、連絡先、文書等へのアクセスなど）を許容すること、およびかかる企業データ内の企業知的財産を保護するのに十分なセキュリティ対策を確実にすることの間の適切なバランスを維持するのが困難となる。この現象は、ＩＴに対する「ＢＹＯＤ」（自分の端末を持ち込む（Ｂｒｉｎｇ  Ｙｏｕｒ  Ｏｗｎ  Ｄｅｖｉｃｅ））戦略の実現可能性を企業が確認することにつながり、このＢＹＯＤでは、個人用携帯機器が完全な業務用携帯機器として安全な方法で動作する機能はＩＴ部門によって設定される。
【０００３】
かかるＢＹＯＤ戦略は（例えばハードウェア装置を購入し設定する必要を無くすか又は減らすことにより）ＩＴ費用を著しく減らし、（例えば費用の問題で）以前可能であったよりもはるかに多くの従業員にモバイル企業アクセスを提供し、それにより以前よりも生産性の大幅な向上を達成することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
携帯機器上での「私的世界」と「仕事世界」との間の十分なセキュリティ及びデータの区分化を依然として維持しながら、個人用携帯環境から業務用携帯環境にユーザがシームレスに切り替えることを可能にする能率化されたユーザインターフェイスを携帯機器上に提供する際に重大な問題が生じる。
【課題を解決するための手段】
【０００５】
本発明の１つ又は複数の実施形態は、携帯機器の私的環境によって提示されるロックスクリーンから携帯機器内の仕事環境へのアクセスを提供し、仕事環境は私的環境内で実行されるハイパーバイザによってサポートされる仮想マシン内で実行され、私的環境は携帯機器のホストオペレーティングシステム（ＯＳ:operating system）である。或る方法によれば、携帯機器のユーザインターフェイス（ＵＩ:user interface）上にロックスクリーンが提示されることに応答し、ホストＯＳがユーザから確認認証情報を受け取り、その確認認証情報が私的環境又は仕事環境に有効かどうかを判定する。確認認証情報が私的環境について有効な場合、私的環境に対してのみアクセスする権限が与えられる。しかし、確認認証情報が仕事環境について有効な場合、私的環境及び仕事環境の両方にアクセスする権限が与えられる。
【図面の簡単な説明】
【０００６】
【図１Ａ】本発明の１つ又は複数の実施形態によるモバイルコンピューティング装置の概略図である。
【図１Ｂ】図１Ａのモバイルコンピューティング装置のコンポーネントを示すブロック図である。
【図２】個人用携帯機器及び仕事用携帯機器のユーザインターフェイス、それらの間の切り替えプロセス、及び両方のユーザインターフェイス内に存続する通知バーを示す。
【図３Ａ】個人用携帯機器から仕事用携帯機器に切り替えるプロセスを示すフローチャートである。
【図３Ｂ】仕事用携帯機器から個人用携帯機器に切り替えるプロセスを示すフローチャートである。
【図４】個人用携帯機器及び仕事用携帯機器のユーザインターフェイス、並びにそれらの間で切替えを行うための別のプロセスを示す。
【図５Ａ】個人用携帯機器及び仕事用携帯機器の両方のＵＩ要素を含む統合ホームスクリーンを示す。
【図５Ｂ】個人用携帯機器及び仕事用携帯機器の両方のアクティブアプリケーション用の統合タスクマネージャの表示を示す。
【図５Ｃ】図５Ａの統合ホームスクリーン内に仕事用携帯機器のＵＩ要素を提示し、そのＵＩ要素の選択に応じてアプリケーションを起動するプロセスを示すフローチャートである。
【図５Ｄ】図５Ｂの統合タスクマネージャの表示内に仕事用携帯機器のアクティブアプリケーションを提示するプロセスを示すフローチャートである。
【図６Ａ】ユーザを仕事用携帯機器に切り替えるための仕事アイコンを有する通知バーを含む、個人用携帯機器用のユーザインターフェイスを示す。
【図６Ｂ】ユーザを個人用携帯機器に切り替えるための個人アイコンを有する通知バーを含む、仕事用携帯機器用のユーザインターフェイスを示す。
【図７Ａ】自身が作業しているコンピューティング装置をユーザに知らせるための、異なる方法で構成されたモバイルコンピューティング装置の概略図である。
【図７Ｂ】自身が作業しているコンピューティング装置をユーザに知らせるための、異なる方法で構成されたモバイルコンピューティング装置の概略図である。
【図８Ａ】モバイルコンピューティング装置のロックスクリーン、及びピンロックスクリーンから個人用携帯機器又は仕事用携帯機器に入るための異なるプロセスをそれぞれ示す。
【図８Ｂ】モバイルコンピューティング装置のロックスクリーン、及びピンロックスクリーンから個人用携帯機器又は仕事用携帯機器に入るための異なるプロセスをそれぞれ示す。
【図８Ｃ】モバイルコンピューティング装置のロックスクリーン、及びピンロックスクリーンから個人用携帯機器又は仕事用携帯機器に入るための異なるプロセスをそれぞれ示す。
【図９】モバイルコンピューティング装置のロックスクリーンから仕事用携帯機器に直接アクセスするためのプロセスを示すフローチャートである。
【図１０】通知バーをそれぞれ含む個人用携帯機器及び仕事用携帯機器用のユーザインターフェイス、個人用携帯機器及び仕事用携帯機器から通知バーを展開するプロセス、及び展開された通知バーを示す。
【図１１】仕事用携帯機器から受け取られる通知を受信し提示するためのプロセスを示すフローチャートである。
【図１２Ａ】通知バーの異なる実施形態をそれぞれ示す。
【図１２Ｂ】通知バーの異なる実施形態をそれぞれ示す。
【図１２Ｃ】通知バーの異なる実施形態をそれぞれ示す。
【図１３Ａ】個人用携帯機器と仕事用携帯機器との間のカレンダ情報のフィルタリングが無い状態で、モバイルコンピューティング装置内で実行されるカレンダアプリケーションを示す。
【図１３Ｂ】仕事用携帯機器からカレンダ情報が部分的にフィルタリングされた状態で、モバイルコンピューティング装置の個人用携帯機器内で実行されるカレンダアプリケーションを示す。
【図１３Ｃ】個人用携帯機器からカレンダ情報が部分的にフィルタリングされた状態で、モバイルコンピューティング装置の仕事用携帯機器内で実行されるカレンダアプリケーションを示す。
【図１４】個人用携帯機器と仕事用携帯機器との間で情報を共有するためのプロセスを示すフローチャートである。
【図１５】個人用携帯機器で使用されるのと同一であるように、仕事用携帯機器向けにソフトキーボードを構成するためのプロセスを示す。
【図１６】個人用携帯機器及び仕事用携帯機器用のユーザインターフェイスを示し、例えユーザが個人用携帯機器に切り替えても、仕事用携帯機器内で実行されるウィジェットが表示される。
【発明を実施するための形態】
【０００７】
図１Ａは、本発明の１つ又は複数の実施形態による携帯機器の概略図である。図１Ａに示す携帯機器は、タッチスクリーン１０１及び複数のキー１０２を有する個人用携帯機器１００である。個人用携帯機器１００は、スマートフォン、タブレットコンピューティング装置、及び一般的に携帯可能であり、ネットワークと無線通信するように構成される任意のコンピューティング装置とすることができる。個人用携帯機器１００は、個人用携帯機器１００から全体的に分離され、別々に動作する完全に別の仕事用携帯機器１０５へのアクセスを概念的に提供する（仕事用携帯機器１０５が個人用携帯機器１００内のソフトウェアコンポーネントとして実行されていることを示すために破線で示す）。以下で更に論じるように、一実施形態では仕事用携帯機器１０５が、個人用携帯機器１００のオペレーティングシステム上で実行される仮想化プラットフォーム内で実行される仮想マシンとして動作する。図１Ｂに更に詳細に示すように、個人用携帯機器１００は、表示データを記憶しタッチスクリーン１０１上でユーザインターフェイス表示を駆動する、フレームバッファ１１５を含むハードウェア１１０を含む。個人用携帯機器１００は、ホストオペレーティングシステム（ＯＳ）１２０、及びホストＯＳ１２０上で実行されるホストアプリケーション１３５を含むファームウェアも含む。一実施形態では、ホストＯＳ１２０がグーグル株式会社（Ｇｏｏｇｌｅ，Ｉｎｃ．）によって提供されるアンドロイド（Ａｎｄｒｏｉｄ）（商標）オペレーティングシステムであり、タッチスクリーン１０１上にユーザインターフェイスを表示するための、ホストアプリケーション１３５によるフレームバッファ１１５へのアクセスを管理し制御する、（アンドロイド（Ａｎｄｒｏｉｄ）オペレーティングシステムではサーフェイスフリンガ（ＳｕｒｆａｃｅＦｌｉｎｇｅｒ）として知られる）複合ウィンドウマネージャ１２５を含む。図１Ｂの実施形態では、個人用携帯機器１００のファームウェアが、ホストＯＳ１２０上で実行される特定のアプリケーション又はコンポーネントへの特権的（例えばスーパユーザ）アクセスをサインし、認証し、或いは付与することができる、オペレーティングシステムレベルの高信頼コンポーネントである仮想化モジュール１３０も含む。具体的には、高められた機能を得て特権モードで実行するために、ホストＯＳ１２０上にインストールされるハイパーバイザアプリケーション１４０が仮想化モジュール１３０と対話する。一実施形態では、ハイパーバイザ１４０が、個人用携帯機器１００のユーザにより、アプリケーションストア（例えばアンドロイドマーケット（Ａｎｄｒｏｉｄ  Ｍａｒｋｅｔ）、アイフォンアプリケーションストア（ｉＰｈｏｎｅ  Ａｐｐ  Ｓｔｏｒｅ）、アマゾンアプリケーションストア（Ａｍａｚｏｎ  Ａｐｐｓｔｏｒｅ）、様々なキャリア又は装置製造業者ベースのアプリケーションストア等）からダウンロードされインストールされる。インストールされると、ハイパーバイザ１４０（又はそれに関係する管理コンポーネント）がユーザの雇用主のＩＴ部門と通信を確立し、仕事用携帯機器１０５として機能するためにハイパーバイザ１４０によって起動される仮想マ���ンによってアクセス可能な（例えばホストＯＳ１２０のファイルシステム上に記憶される）仕事用機器イメージ１６０をダウンロードすることができる。代替的実施形態では、仕事用携帯機器１０５がハードウェア１１０上で直接実行され、仕事用携帯機器１０５とハードウェア１１０との間にホストＯＳ１２０を介在させないように（かかる実施形態は、図１Ｂに示す「ホスト型」ハイパーバイザに対立するものとして「ベアメタル」ハイパーバイザと呼ばれることがある）、仕事用携帯機器１０５は、ハードウェア１１０と直接インターフェイスするためのドライバ及び他の適切な仮想化ソフトウェアを用いて構成されても良いことを理解すべきである。
【０００８】
図１Ｂに示すように、仕事用携帯機器１０５はハイパーバイザ１４０上で実行される仮想マシンとして動作し、概念上、仮想マシンモニタ（ＶＭＭ）１４５を含み、仕事用機器イメージ１６０として図示する「仮想ディスク」にアクセスする。ＶＭＭ１４５は、仕事用携帯機器１０５用の表示バッファとして機能する仮想フレームバッファ１５０など、仕事用携帯機器１０５用のハードウェア資源をエミュレートする（それ自体で優先度の高いユーザレベルアプリケーションとしてホストＯＳ１２０上で実行される）ハイパーバイザ１４０のコンポーネントと見なすことができる。仕事用機器イメージ１６０は、アンドロイド（Ａｎｄｒｏｉｄ）オペレーティングシステムなど、任意の商品オペレーティングシステムとすることができるゲストＯＳ１７０と、ゲストＯＳ１７０上で実行されるアプリケーション１７５とを含む。図１Ｂの実施形態では、アプリケーション１７５が、（それ自体がホストＯＳ１２０上で実行される）ハイパーバイザ１４０への直接の通信路を確立するバックドアサービス・アプリケーション１８０を含む。バックドアサービス・アプリケーション１８０は、ゲストＯＳ１７０上で実行される典型的なアプリケーションが仮想マシン内で実行されていることに気付かないため、「バックドア」アプリケーションである。但し、バックドアサービス・アプリケーション１８０は自らがハイパーバイザ１４０上の仮想マシン内で実行されていることに気付いており、従って、例えば以下で更に説明する個人用携帯機器１００と仕事用携帯機器１０５との間の特定のユーザインターフェイスの強化が望ましい場合、ハイパーバイザ１４０との間で専用のデータ及びサービスを要求するか又は提供することができる。一実施形態では、バックドアサービス１８０は、ハイパーバイザ１４０が空けてリスンしている（has opened and listening）独自のネットワークポートに接続することによりハイパーバイザ１４０との直接の通信路を確立するが、代替的実施形態では別の技法を使ってかかる通信路を確立できることを理解すべきである。更に論じるように、バックドアサービス１８０とハイパーバイザ１４０との間の直接の通信路は、個人用携帯機器１００及び仕事用携帯機器１０５内に存在するコンポーネント間の遠隔手続き呼出し（ＲＰＣ:remote procedure call）を円滑化する。
【０００９】
図１Ｂに更に示すように、ハイパーバイザ１４０は、本明細書で更に詳述するように、個人用携帯機器１００のＵＩ環境（以下、「私的環境」と呼ぶ）の代わりに仕事用携帯機器１０５のＵＩ環境（以下、「仕事環境」と呼ぶ）を表示できるように、仮想フレームバッファ１５０のコンテンツを要求時にハードウェアフレームバッファ１１５内にコピーすることにより、個人用携帯機器１００と仕事用携帯機器１０５との間のユーザインターフェイス媒介として働くユーザインターフェイス（ＵＩ）プロキシアプリケーション１５５も含む。
【００１０】
図２は、個人用携帯機器１００及び仕事用携帯機器１０５のＵＩ環境の一実施形態、及びそれらの間で切替えを行うためのメカニズムを示す。図示のように、個人用携帯機器１００の私的環境は、個人用携帯機器１００からアクセス可能な様々なインストール済みアプリケーション用のアイコンを含む個人用デスクトップ２１０を含む。個人用デスクトップ２１０は更に、仕事アイコン２００、及び個人用携帯機器１００向けのシステム情報（例えば時間、電池強度、ネットワーク信号強度等）並びに様々なアプリケーションからの通知を表示する通知バー２２０を含む。ユーザが私的環境内で仕事アイコン２００に触れると、タッチスクリーン１０１が仕事用携帯機器１０５の仕事環境に切り替わり、仕事用デスクトップ２１５を表示する。図示のように、仕事用デスクトップ２１５は、仕事用携帯機器１０５からアクセス可能な様々なインストール済みアプリケーション用のアイコン、並びにユーザが私的環境に切り替え復帰することを可能にするホームアイコン２０５を含む。図２の実施形態に更に示すように、仕事用デスクトップ２１５内に表示される通知バーは、個人用デスクトップ２１０によって生成され、ホストＯＳ１２０によって制御されるのと同じ通知バー２２０である（即ちゲストＯＳ１７０によって仕事用携帯機器１０５専用に生成される別の通知バーではない）。そのため例えユーザが仕事環境である間でも、私的環境内のアプリケーションによって生成される通知が仕事用デスクトップ２１５内の通知バー２２０内に表示される。
【００１１】
理解されるように、図２の個人用携帯機器１００のユーザインターフェイスを表示するとき、ホストＯＳ１２０のコンポーネント（例えばメインナビゲーションユーザインターフェイス、つまり個人用デスクトップ２１０を生成して管理するランチャアプリケーション（launcher application）など）が、通知バー２２０を含む個人用デスクトップ２１０用の表示データをハードウェアフレームバッファ１１５に投入することを複合ウィンドウマネージャ１２５に要求することができる。同様に、及び以下で更に詳述するように、ユーザが仕事環境に入るために仕事アイコン２００を選択すると、仕事用携帯機器１０５のゲストＯＳ１７０（例えば仕事用デスクトップ２１５を生成して管理するランチャアプリケーションなど）が、ハードウェアフレームバッファ１１５内に、仕事用デスクトップ２１５を描画するための複合ウィンドウマネージャ１２５の表示データを最終的に提供する。しかし先に論じたように、通知バー２２０は個人用携帯機器１００から生じるので、通知バー２２０の表示データは仕事用デスクトップ２１５内でさえ、仕事用携帯機器１０５のゲストＯＳ１７０からではなくホストＯＳ１２０によって引き続き与えられる。
【００１２】
図３Ａは、個人用携帯機器１００から仕事用携帯機器１０５に切り替えるプロセスを示すフローチャートである。このプロセスは、個人用携帯機器１００のホストＯＳ１２０、ＵＩプロキシ１５５、及びハイパーバイザ１４０によって実行されるステップ、並びに仕事用携帯機器１０５のＶＭＭ１４５によって実行されるステップを含む。このプロセスは、ホストＯＳ１２０が、（例えば一実施形態ではランチャアプリケーションにより）個人用携帯機器１００から仕事用携帯機器１０５への切替えのユーザ指示を受け取るステップ３０２から始まる。上記のユーザ指示は、個人用デスクトップ２１０上の仕事アイコン２００のユーザによる選択とすることができる。切替えについてのユーザ指示（例えば仕事アイコン２００の選択）に応答し、ステップ３０４で、ホストＯＳ１２０がＵＩプロキシ１５５に起動するか又はウェイクアップするように要求する。例えば、仕事アイコン２００に関連する起動動作は、他のアプリケーション１３５用に個人用デスクトップ２１０内に表示される他のアイコンの動作を起動するのと似た方法で、ホストＯＳ１２０にＵＩプロキシ１５５を起動（又はウェイクアップ）させる。そのような一実施形態では、仕事アイコン２００に関連する起動動作は、ＵＩプロキシ１５５に対応する実行可能ファイルを起動又はウェイクアップするファイルシステムコマンドを実行すること（及びことによると、仕事用携帯機器１０５の「電源をオン」にすることに関係する一連の特定の動作を実行すべきことをＵＩプロキシ１５５に知らせる追加のコマンドラインフラグ又はパラメータを更に提供すること）であり得る。
【００１３】
ステップ３０６において、ＵＩプロキシ１５５が、ホストＯＳ１２０からの要求に応答して起動又はウェイクアップする。次いでステップ３０８で、仕事用携帯機器１０５にアクセスするために自身を認証するために、認証情報（例えばパスワード、ピン、又はパターン等）を提出するためのロックスクリーン表示をユーザに提示するようにＵＩプロキシ１５５がハイパーバイザ１４０に要求する。それに応答して、ステップ３１０〜ステップ３１６において、ハイパーバイザ１４０がユーザ認証を実行する。ステップ３１０で、ハイパーバイザ１４０がロックスクリーンをユーザに提示し、仕事用携帯機器１０５にアクセスするための認証情報をユーザに促す。ステップ３１２で、ユーザが適切な認証情報を与えない場合、ステップ３１４で認証は失敗する。ステップ３１２でユーザが適切な認証情報を入力する場合、ハイパーバイザ１４０はＶＭＭ１４５スレッドを起動し或いはウェイクアップし、仕事用携帯機器１０５をウェイクアップするために仮想的な電源オンコマンドをＶＭＭ１４５に伝送する（ステップ３１６）。
【００１４】
ステップ３１８で、ＶＭＭ１４５がハイパーバイザ１４０から仮想的な電源オンコマンドを受け取り、ステップ３２０で、仕事用携帯機器１０５のハードウェア電源オン動作をエミュレートすることにより、仕事用携帯機器１０５をウェイクアップする。このエミュレーションは、ゲストＯＳ１７０に仮想フレームバッファ１５０をウェイクアップさせ、仕事用デスクトップ２１５を含む表示データを仮想フレームバッファ１５０に投入することを開始させる。
【００１５】
ＵＩプロキシ１５５に戻り、仕事用携帯機器１０５の電源がオンになった確認をＶＭＭ１４５から受け取ると、ＵＩプロキシ１５５はステップ３２２で、仮想フレームバッファ１５０のコンテンツをホストＯＳ１２０から入手できるローカルメモリバッファ内にコピー又はアップデートする。次いでステップ３２４で、仕事用デスクトップ２１５を含むローカルバッファのコンテンツをタッチスクリーン１０１上に表示するために、ＵＩプロキシ１５５は、ローカルバッファのコンテンツをハードウェアフレームバッファ１１５内にコピーするように複合ウィンドウマネージャ１２５に要求する（通知バー２２０はタッチスクリーン１０１上に既に表示されており、従ってローカルメモリバッファから取られる表示データの一部でないことを理解すべきである）。代替的実施形態では、ＵＩプロキシ１５５が個人用携帯機器１００のハードウェア１１０によって提供されるハードウェア機能強化を活用して性能を高め、例えばハードウェアフレームバッファ１１５をリダイレクトして仮想フレームバッファ１５０からデータを直接受け取るように複合ウィンドウマネージャ１２５に要求することにより、（例えば仮想フレームバッファ１５０からローカルメモリバッファ、ハードウェアフレームバッファ１１５等の間の）表示データのコピー量を減らせる場合があることを理解すべきである。代替的実施形態では、図３Ａに示す全てのステップを実施しなくても良いことも理解すべきである。例えば（本明細書で更に説明するように）或る代替的実施形態は、ユーザが仕事環境にアクセスすることを可能にする前に、ハイパーバイザ１４０がユーザ認証用のロックスクリーンを提示することを必要としない場合がある。
【００１６】
図３Ｂは、仕事用携帯機器１０５から個人用携帯機器１００に切り替えるプロセスを示すフローチャートである。このプロセスは、仕事用携帯機器１０５のゲストＯＳ１７０、バックドアサービス１８０、及びＶＭＭ１４５によって実行されるステップ、並びに個人用携帯機器１００のホストＯＳ１２０によって実行されるステップを含む。このプロセスは、ゲストＯＳ１７０が（例えばゲストＯＳ１７０上で実行されるランチャアプリケーションにより）、仕事用携帯機器１０５から個人用携帯機器１００への切替えのユーザ指示を受け取るステップ３３０から始まる。上記のユーザ指示は、仕事用デスクトップ２１５上のホームアイコン２０５のユーザによる選択とすることができる。切替えについてのユーザ指示に応答し、ステップ３３２で、ゲストＯＳ１７０がＵＩプロキシ１５５を終了するようにバックドアサービス１８０に要求する。
【００１７】
ステップ３３４で、バックドアサービス１８０がゲストＯＳ１７０からの要求に応答し、ＶＭＭ１４５内の仕事用携帯機器１０５に対して電源オフ動作をトリガし、このトリガに応答し、ＶＭＭ１４５はステップ３３６でハードウェア電源ボタンを押すことをエミュレートし、仮想フレームバッファ１５０をアップデートすることを仕事用携帯機器１０５に止めさせる。次いでステップ３３８で、バックドアサービス１８０が、終了するためのメッセージをハイパーバイザ１４０を介してＵＩプロキシ１５５に伝送する。
【００１８】
ステップ３４０で、仮想フレームバッファ１５０の変更に基づくハードウェアフレームバッファ１１５に対する如何なるアップデートも終了することになる、ＵＩプロキシ１５５を終了するためのメッセージをホストＯＳ１２０がハイパーバイザ１４０から受け取る。そのためステップ３４２で、ホストＯＳ１２０がＵＩプロキシ１５５を終了又はスリープ状態にする。ＵＩプロキシ１５５が終了されるか又はスリープ状態にされた後、ステップ３４４で、ホストＯＳ１２０がタッチスクリーン１０１の制御を、個人用携帯機器１００の最後に（即ち仕事環境に切り替える前に）訪れられたアプリケーションに返し、それにより、そのアプリケーションのユーザインターフェイスをタッチスクリーン１０１上に描画するために、複合ウィンドウマネージャ１２５がハードウェアフレームバッファ１１５にデータ投入することをそのアプリケーションに要求させる。一実施形態では、かかる最後に訪れられたアプリケーションは、個人用デスクトップ２１０を描画するホストＯＳ１２０自体のランチャアプリケーションであり得る。代替的実施形態では、ＵＩプロキシ１５５が終了されるか又はスリープ状態にされた後、ホストＯＳ１２０は代わりに、個人用携帯機器１００へのアクセスを与える前に自身を再度認証することをユーザに求めるロックスクリーンに戻っても良い。
【００１９】
私的環境と仕事環境との間の切替えは、図２に示し図３Ａ及び図３Ｂで詳述する方法を含む幾つかの異なる方法で行われても良いことを理解すべきである。或る代替的実施形態では、個人用携帯機器１００が、上記の私的環境と仕事環境との間の切替えをトリガするハードウェアボタンを含むことができる。図４は、個人用携帯機器１００及び仕事用携帯機器１０５用の別のユーザインターフェイス、並びにそれらの間で切替えを行うための別のプロセスを更に示す。この実施形態では、ページインジケータ４００によって示されているように、私的環境を（「グローバル」デスクトップの７ページのうちの）中央又はメインページ４に表示し、仕事環境をページ５に表示した状態で私的環境と仕事環境とを並べて配置している。私的環境から仕事環境への切替えは、タッチスクリーン１０１上での右から左へのスワイプによって行われる。仕事環境から私的環境への切替えは、タッチスクリーン１０１上での左から右へのスワイプによって行われる。
【００２０】
図４に関して上記で説明した切替え機能を実施するために、右から左へのスワイプ動作及び左から右へのスワイプ動作を認識するようにホストＯＳ１２０（又はそのランチャアプリケーション）を修正する。つまり、右から左へのスワイプ動作は、図２内の仕事アイコン２００に触れるときに取るべき、図３Ａ内で詳述したのと同じ動作を引き起こし、即ちタッチスクリーン１０１上に表示するために仮想フレームバッファ１５０のコンテンツがハードウェアフレームバッファ１１５内にコピーされるように、ＵＩプロキシ１５５が起動され又はウェイクアップされる。同様に左から右へのスワイプ動作は、図２内のホームアイコン２０５に触れるときに取るべき、図３Ｂ内で詳述したのと同じ動作を引き起こし、即ちタッチスクリーン１０１上に表示するために仮想フレームバッファ１５０のコンテンツがもはやハードウェアフレームバッファ１１５内にコピーされないように、ＵＩプロキシ１５５が終了されるか又はスリープ状態にされる。図２及び図４内の私的環境と仕事環境との間の切替えを行うためのユーザインターフェイス技法は単に例示的であり、本明細書の教示に一致する代替的なユーザインターフェイス切替え技法が実施されても良いことを理解すべきである。例えば、代替的なユーザインターフェイス切替え技法は、個人用携帯機器１００上のハードウェアボタンを利用して図３Ａ及び図３Ｂに示すのと同様の切替えプロセスをトリガすることができる。同様に、他のスワイプ動作（上下方向、対角線方向等）を利用してかかる切替えを行っても良い。
【００２１】
上記の技法を実施する特定の実施形態でユーザが私的環境から仕事環境に切り替えるとき、（例えば図３Ａのステップ３０８〜３１６に示されているように）仕事環境へのアクセスを認める前に自身の認証情報（パスワード、パターン等）を入力するようユーザに求めるロックスクリーンが表示されても良いことに更に留意すべきである。但し、仕事環境へのアクセスを認証したユーザは私的環境にアクセスする権限も有すると推定できるので、ユーザが仕事環境から私的環境に切り替える場合、ロックスクリーンが必要ない場合もある。同様に、図８Ａ〜図８Ｃに関して以下に記載する方法であり得るように、ユーザが個人用携帯機器１００によって提示される初期ロックスクリーンから仕事環境に直接進む場合、ユーザが同じ推定に基づき私的環境に切り替えるとき、ロックスクリーンが必要ない場合がある。個人用パスワード又はパターンはユーザの家族によって共有されている可能性があるので、その逆は当てはまらず、結果として仕事環境に切り替えるときのロックスクリーンが必要になる場合があることを理解すべきである。仕事用パスワード又はパターンが、例えば企業のＩＴ従業員と共有され得る状況では、仕事環境から私的環境に切り替えるときにロックスクリーンを表示することが有益であることを更に理解すべきである。
【００２２】
私的環境及び仕事環境のユーザインターフェイス間を切り替える機能を提供する前述の実施形態に加え、図５Ａは、個人用携帯機器１００及び仕事用携帯機器１０５の両方のＵＩ要素を含む統合ホームスクリーン５００を示す。図５Ａの特定の実施形態では、統合ホームスクリーン５００がホストＯＳ１２０によって管理され、細い枠線で示す個人用携帯機器１００のＵＩ要素（例えばフォトギャラリーアプリケーション用のアイコン５０１）並びに太い枠線で示す仕事用携帯機器１０５のＵＩ要素（例えば連絡先アプリケーション用のアイコン５０２）を含む。そのような一実施形態では、統合ホームスクリーン５００を表示する前に、ユーザは自身の仕事用パスワード又はパターンを促される（及び成功裏に認証される）ことになる。かかる実施形態の特定のものでは、ユーザが自身の仕事用パスワードを使用して成功裏に認証できず、自身の個人用パスワードを使って認証する代替的オプションを提供された場合（即ち個人用パスワードが成功裏に認証される場合）、統合ホームスクリーン５００は個人用携帯機器１００のＵＩ要素だけを表示する。細い枠線及び太い枠線は、私的環境及び仕事環境内のアプリケーションを区別するためにアプリケーションアイコンを実装し得る方法の例示に過ぎないことを理解すべきである。例えば或る代替的実施形態は、アプリケーションアイコンの周りに異なる色の枠を使用することができ、又はアプリケーションアイコンの上にオーバレイされる私的「バッジ（badge）」若しくは仕事「バッジ」（即ちより小さいアイコン）を使用しても良い。
【００２３】
図５Ｃは、図５Ａの統合ホームスクリーン５００内に仕事用携帯機器１０５のＵＩ要素を提示し、そのＵＩ要素の選択に応じてアプリケーションを起動するプロセスを示すフローチャートである。このプロセスは、仕事用携帯機器１０５のバックドアサービス１８０によって実行されるステップ、並びに個人用携帯機器１００のＵＩプロキシ１５５、ハイパーバイザ１４０、及びホストＯＳ１２０によって実行されるステップを含む。
【００２４】
ステップ５１０で、バックドアサービス１８０が、統合ホームスクリーン５００内に表示するためにホストＯＳ１２０に転送するためのインストール済みアプリケーションのリストを、ゲストＯＳ１７０から（例えば一実施形態ではゲストＯＳ１７０のインストール済みアプリケーションを管理するパッケージマネージャ・アプリケーションから）取得する。仕事環境内で操作しているユーザが仕事用携帯機器１０５上に（例えばゲストＯＳ１７０上で実行されるランチャアプリケーションに追加される）新たなアプリケーションをインストールするときはいつも通知を受け取るように、バックドアサービス１８０は更にゲストＯＳ１７０に登録する。ステップ５１２で、バックドアサービス１８０がリストを転送し、その後、ゲストＯＳ１７０内に新たなアプリケーションがインストールされたという通知に基づき、その通知をハイパーバイザ１４０に転送する。ステップ５１４で、ハイパーバイザ１４０がリスト又は通知をバックドアサービス１８０から受け取り、次いでステップ５１６で、アプリケーションが統合ホームスクリーン５００から選択されるときにＵＩプロキシ１５５を起動するためのコールバックを含めるために、ハイパーバイザ１４０がインストールされたアプリケーションごとにメタデータを生成するか又は修正する。例えば一実施形態では、ステップ５１４で、リスト内の仕事環境アプリケーションごとの起動動作に関係するメタデータ（例えばアプリケーションアイコン、アプリケーションの実行可能ファイルの名前等）がリストと共に提供される。仕事環境アプリケーションの実行可能ファイルの名前は、そのファイルがホストＯＳ１２０によって管理されるファイルシステム内に無いことを理由にホストＯＳ１２０によって理解されないので、ホストＯＳ１２０がアプリケーション自体の実行可能ファイルの名前を呼び出すか又は実行する代わりに（かかる実行可能ファイルが存在しないときそのような呼出又は実行はホストＯＳ１２０内のエラーの原因となるので）、ＵＩプロキシ１５５をプロキシとして呼び出すか又は実行するように、ステップ５１６で、ハイパーバイザが受け取ったメタデータを生成すか又は（例えばアプリケーションアイコン、ＵＩプロキシ１５５の名前、及び仕事環境内のアプリケーションの実行可能ファイルの名前をＵＩプロキシ１５５によって理解されるパラメータとして含めるように）修正することができる。
【００２５】
ステップ５１８で、ハイパーバイザ１４０がインストール済みアプリケーションの修正されたメタデータをホストＯＳ１２０に転送し、それによりホストＯＳ１２０は仕事環境内のアプリケーションに関係する仕事用アプリケーションアイコンを表示することができる。ステップ５２０で、ホストＯＳ１２０がインストール済みアプリケーションの修正されたメタデータを（例えばランチャアプリケーションを介して）ハイパーバイザ１４０から受け取り、そのアプリケーションに関係する（例えば修正されたメタデータの一部として受け取られる）仕事用アプリケーションアイコンを統合ホームスクリーン５００内に表示する。上記で論じたように、ホストＯＳ１２０（例えばランチャアプリケーション）はＵＩプロキシ１５５への呼出し（即ちメタデータの一部として受け取る仕事環境内のアプリケーションの実行可能ファイルの名前などの一意識別子を含む）を、かかる仕事用アプリケーションアイコンに関係する起動動作に更に関連させることができる。
【００２６】
そのため、仕事環境内にあるアプリケーションを統合ホームスクリーン５００から起動するために、ステップ５２２で、ホストＯＳ１２０が仕事用アプリケーションアイコンのユーザによる選択を（例えばランチャアプリケーションを介して）受け取る。次いでステップ５２４で、仕事用アプリケーションアイコンに関連する起動動作の一部として、ホストＯＳ１２０がＵＩプロキシ１５５に起動又はウェイクアップするように要求する。この要求は、仕事アイコンに対応する仕事用携帯機器１０５内にインストールされたアプリケーション（以下「被選択アプリケーション」と呼ぶ）をＵＩプロキシ１５５に明らかにするパラメータ（例えば仕事環境内のアプリケーションの実行可能ファイルの名前）を含む。ステップ５２６で、ＵＩプロキシ１５５は、ホストＯＳ１２０からその要求を受け取り次第起動又はウェイクアップする。ステップ５２８で、ＵＩプロキシ１５５は、仕事用携帯機器１０５をウェイクアップし被選択アプリケーションを起動するようにハイパーバイザ１４０に要求する。次いでステップ５３０で、ハイパーバイザ１４０が、ＶＭＭ１４５により電源オンをエミュレートすることにより仕事用携帯機器１０５をウェイクアップし、被選択アプリケーションを起動するための要求をバックドアサービス１８０に転送する。ステップ５３２で、バックドアサービス１８０が、被選択アプリケーションを起動するようにゲストＯＳ１７０に要求する。その結果、仮想フレームバッファ１５０が被選択アプリケーションの表示データで満たされ始める。ステップ５３０及び５３２と非同期的に、ステップ５３４で、ＵＩプロキシ１５５は仮想フレームバッファ１５０のコンテンツ（又はかかるコンテンツに対するアップデート）を私的環境内のローカルメモリバッファ内に継続的にコピーし、被選択アプリケーションの表示データをタッチスクリーン１０１上に表示できるように、ステップ５３６で、ローカルバッファのコンテンツをハードウェアフレームバッファ１１５内にコピーするよう複合ウィンドウマネージャ１２５に要求する。上記のように一部の実施形態では、ＵＩプロキシ１５５が、コピー数を減らすために個人用携帯機器１００内で提供されるハードウェア加速機能を使用し、ハードウェアフレームバッファ１１５をリダイレクトして仮想フレームバッファ１５０からデータを受け取るように複合ウィンドウマネージャ１２５に要求する。
【００２７】
仕事要素及び私的要素を統合された方法で表示する別のユーザインターフェイスの一例として、図５Ｂは、個人用携帯機器１００及び仕事用携帯機器１０５の両方のアクティブアプリケーション用の統合タスクマネージャ５０５の表示を示す。図５Ｂに示すように「ホーム」キーを長押しすることに応答して現れるこの表示では、個人用携帯機器１００のアクティブアプリケーション（例えばブラウザアプリケーション５０６及び音楽アプリケーション）及び仕事用携帯機器１０５のアクティブアプリケーション（例えば電子メールアプリケーション５０７及び連絡先アプリケーション）の両方が一覧表示される。
【００２８】
図５Ｄは、図５Ｂの統合タスクマネージャ５０５の表示内に仕事用携帯機器１０５のアクティブアプリケーションを提示するプロセスを示すフローチャートである。このプロセスは、個人用携帯機器１００のホストＯＳ１２０、及びハイパーバイザ１４０によって実行されるステップ、並びに仕事用携帯機器１０５のバックドアサービス１８０によって実行されるステップを含む。ステップ５４０で、ユーザがアクティブアプリケーションを閲覧したいことを示すユーザ入力（例えばホームキー上での長押し）をホストＯＳ１２０が認識する。次いでステップ５４２で、ホストＯＳ１２０が、仕事環境内で実行されているアクティブアプリケーションのリストを（例えばゲストＯＳ１７０内で実行されているアクティビティ管理サービスから）得るために、ハイパーバイザ１４０にバックドアサービス１８０と通信するよう要求する。一実施形態では、ハイパーバイザ１４０とバックドアサービス１８０との間の通信路が遠隔手続き呼出し（ＲＰＣ）を使用して確立される。ステップ５４４で、ハイパーバイザ１４０がホストＯＳ１２０から要求を受け取り、ステップ５４６で、その要求をバックドアサービス１８０に転送する。ステップ５４８で、バックドアサービス１８０がハイパーバイザ１４０によって転送された要求を受け取り、ステップ５５０で、アクティブアプリケーションのリストを得るためにゲストＯＳ１７０（例えばそのアクティビティ管理サービス）に問い合せを行う。ステップ５５２で、バックドアサービス１８０がゲストＯＳ１７０からリストを受け取り、そのリストをハイパーバイザ１４０に転送する。ステップ５５４で、ハイパーバイザ１４０がバックドアサービス１８０によって転送されたリストを受け取り、そのリストをホストＯＳ１２０に転送する。ステップ５５６で、ホストＯＳ１２０がリストを受け取り、ステップ５５８で、私的環境内で実行されているアクティブアプリケーションのリストを取得するためにホストＯＳ１２０上で実行されているアクティビティ管理サービスに問い合わせを行う。ステップ５６０で、２つのリストが組み合わせられ、図５Ｂに示すようにタッチスクリーン１０１内で一緒に表示される。
【００２９】
図２にあるような仕事アイコン及び個人アイコン、図４にあるようなスワイプ動作、又は図５Ａにあるような統合ホームスクリーンを利用して私的環境と仕事環境とを切り替えることに加え、代替的実施形態は私的環境と仕事環境とを切り替えるための他の技法を利用しても良い。図６Ａ及び図６Ｂは、かかる切替えのための別の代替的ユーザインターフェイスを示す。図６Ａでは、個人用携帯機器１００が、ユーザを仕事用携帯機器１０５に切り替えるための仕事アイコン６００を有する通知バー２２０を含む。同様に図６Ｂは、ユーザを個人用携帯機器１００に切り替えるための個人アイコン６０５を有する、通知バー２２０を含む仕事用携帯機器１０５のユーザインターフェイスを示す。どちらの場合にも、例えば通知バー２２０上で下にスワイプして通知バー２２０を展開することにより、ユーザは仕事アイコン６００又は個人アイコン６０５を選択して仕事環境又は私的環境のそれぞれに切り替えることができる。一実施形態では、（図３Ａのステップ３０６、３０８、３２２、及び３２４で更に詳述するように）ハードウェアフレームバッファ１１５に仕事用デスクトップ２１５を提供するためにＵＩプロキシ１５５が起動されるか又はウェイクアップされると、ＵＩプロキシ１５５は、通知バー２２０内に個人アイコン６０５を表示することを要求する通知要求をホストＯＳ１２０に更に伝送することができ、この個人アイコン６０５は、ユーザによって選択されるとき、図３Ｂのステップと同様の方法でユーザを仕事環境から私的環境に切り替える。同様に、ユーザが個人アイコン６０５を選択して私的環境に切り替えるとき、図３Ｂのステップ３４０〜３４２で説明したＵＩプロキシ１５５の終了が、通知バー２２０内に仕事アイコン６００を表示することをホストＯＳ１２０に要求する追加のステップを含むことができ、この仕事アイコン６００は、ユーザによって選択されるとき、図３Ａのステップと同様の方法でユーザを仕事環境に再び切り替える。
【００３０】
上記で説明した私的環境と仕事環境とを切り替える問題に加え、アプリケーションが起動されたとき、仕事環境から起動されたアプリケーションに現在アクセスしているのか、私的環境から起動されたアプリケーションに現在アクセスしているのかをユーザに気付かせる問題も存在する。それを踏まえ、図７Ａ及び図７Ｂは、自身が作業している環境をユーザに知らせるための、異なる方法で構成されたモバイルコンピューティング装置の概略図である。本明細書に記載の通知メカニズムは有用であり、それはユーザが起動するアプリケーションは多くの場合に全表示領域を占有し、アプリケーションの別々のインスタンスが私的環境及び仕事環境の両方で利用可能な場合があるからである。結果として、ユーザはアプリケーションの起動元の環境を思い出せない場合がある。
【００３１】
図７Ａに示す通知メカニズムは、アプリケーションが私的環境から起動されるときに或る色、例えば緑色に変わり、アプリケーションが仕事環境から起動されるときに別の色、例えば青色に変わる点灯するトラックボール７０１である。図７Ｂに示す通知メカニズムは、アプリケーションの枠の周りに現れる着色バックライト（colored back light）７０２である。このバックライトは、アプリケーションが私的環境から起動されるときに或る色、例えば緑色に変わり、アプリケーションが仕事環境から起動されるときに別の色、例えば青色に変わる。
【００３２】
私的環境及び仕事環境へのアクセスもセキュリティの観点から問題を提起する。特に、私的環境と仕事環境とを切り替えながら、私的環境及び仕事環境の両方のロックスクリーンへの反復アクセスを最低限に抑えることにより、私的環境及び仕事環境へのアクセスを能率化することが望ましい場合がある。先に論じたように、特定の実施形態では、私的環境及び仕事環境の両方へのアクセスを与えるのに仕事用パスワードで十分な場合がある。それを踏まえ、図８Ａ〜図８Ｃは、個人用携帯機器１００のロックスクリーン、及びロックスクリーンから個人用携帯機器又は仕事用携帯機器に入るための異なるプロセスをそれぞれ示す。図８Ａのロックスクリーン８００は、パスワードの入力及び私的環境又は仕事環境の何れかに入るためのスワイプを必要とする。右から左へのスワイプと併せて正しい個人用パスワードを入力すると、私的環境にアクセスできるようになる。対照的に左から右へのスワイプと併せて正しい仕事用パスワードを入力すると、仕事環境にアクセスできるようになる。図８Ｂのロックスクリーン８０５は、私的環境及び仕事環境に入るために異なるパスワードを入力することを必要とする。正しい個人用パスワードを（更なるスワイプ動作なしに）入力すると私的環境にアクセスできるようになるのに対し、正しい仕事用パスワードを（更なるスワイプ動作なしに）入力すると仕事環境にアクセスできるようになる。図８Ｃのロックスクリーン８１０は、私的環境及び仕事環境に入るために異なるパターンを入力することを必要とする。正しい個人用パターンを入力すると私的環境にアクセスできるようになるのに対し、正しい仕事用パターンを入力すると仕事環境にアクセスできるようになる。
【００３３】
図９は、図８Ａ〜図８Ｃに示すロックスクリーンなど、個人用携帯機器１００によって提示されるロックスクリーンから仕事用携帯機器１０５に直接アクセスするためのプロセスを示すフローチャートである。但し、代替的実施形態は、異なるスワイプ動作（例えば上下動作、対角線動作等）又は代替的なユーザ対話と共に他のロックスクリーンを利用しても良いことを理解すべきである。このプロセスは、個人用携帯機器１００のホストＯＳ１２０、及びＵＩプロキシ１５５によって実行されるステップ、並びに仕事用携帯機器１０５のＶＭＭ１４５によって実行されるステップを含む。このプロセスは、ホストＯＳ１２０がユーザ認証情報（例えばパスワードやパターン）をロックスクリーンを通じて受け取るステップ９０２から始まる。ステップ９０４で、ホストＯＳ１２０がそのユーザ認証情報を認証するステップを実行する。認証に失敗した場合、このプロセスはステップ９０７で失敗に終わる。ステップ９０４で認証に成功した場合、ステップ９０６で、そのユーザ認証情報が私的環境にアクセスするのに有効かどうかをホストＯＳ１２０が判定し、そうである場合、ステップ９０８で私的環境へのアクセスを提供する。ステップ９０６で、そのユーザ認証情報が仕事環境にアクセスするのに有効だとホストＯＳ１２０が判定する場合、ステップ９１０〜９２２が実行される。
【００３４】
ステップ９１０で、仮想的な電源オンコマンドを仕事用携帯機器１０５に伝送するために、ホストＯＳ１２０がＶＭＭ１４５のスレッドを起動するか又はウェイクアップするようハイパーバイザ１４０に要求する。ステップ９１０でホストＯＳ１２０が行う動作は、図３Ａのステップ３０８でホストＯＳ１２０が行う動作に似ているが、ホストＯＳ１２０はステップ９０２〜９０６で個人用携帯機器１００によって提示されたロックスクリーンによりユーザを既に認証しているので、ホストＯＳ１２０は、図３Ａのステップ３０８にあるように仕事用携帯機器１０５にアクセスするためのロックスクリーンをユーザに再度提示することをハイパーバイザに要求するのではなく、ハイパーバイザ１４０に「信頼済み」要求を伝送することができる。ステップ９１２で、信頼済み要求がＶＭＭ１４５によって受け取られる。次いでステップ９１４で、ＶＭＭ１４５が（例えば図３Ａのステップ３２０と同様に）仕事用携帯機器１０５をウェイクアップさせ、仕事環境用の表示データを仮想フレームバッファ１５０に投入することを開始させる。次いでステップ９１６で、ＵＩプロキシ１５５が仮想フレームバッファ１５０のコンテンツ（又はかかるコンテンツに対するアップデート）を個人用携帯機器１００内のローカルメモリバッファ内に継続的にコピーし、仕事環境の表示データをタッチスクリーン１０１上に表示できるように、ステップ９１８で、ローカルメモリバッファのコンテンツをハードウェアフレームバッファ１１５内にコピーするよう複合ウィンドウマネージャ１２５に要求する。ステップ９１２〜９１８とは非同期的に、ステップ９２０及び９２２はステップ９１０の後で実行される。ステップ９２０で、（例えばＵＩプロキシ１５５がステップ９１６〜９１８を実行できるように）ホストＯＳ１２０が、ＵＩプロキシ１５５を起動するか又はウェイクアップするようハイパーバイザ１４０に要求し、ステップ９２２で、ＵＩプロキシ１５５が起動されるか又はウェイクアップされる。上記の実施形態では、仕事用パスワードがホストＯＳ１２０によって認証されることを理解すべきである。代替的実施形態では、仕事用パスワードがホストＯＳ１２０によって提示されるロックスクリーンによって引き続き捕捉されても良いが（例えばステップ９０２）、仕事用携帯機器１０５がオンにされるとゲストＯＳ１７０に渡され、ゲストＯＳ１７０によって認証される。
【００３５】
私的環境と仕事環境とを切り替えること並びに反復的なロックスクリーンによって引き起こされるユーザインターフェイスの問題に加え、ユーザが私的環境内で作業している間、仕事環境内のアプリケーションによって生成される通知が適切に受け取られることを確実にする場合（及びその逆の場合）更なる問題が生じる。先に論じたように、図２に示すような実施形態では、ユーザが私的環境内にいようと仕事環境内にいようと、ホストＯＳ１２０によって生成され管理される同一の通知バー２２０が表示される。図１０は、かかる通知バー２２０がどのように通知を受け取ることができるのか、並びに通知バー２２０がユーザによって展開されるときに通知に関する詳細な情報をどのように表示できるのかを更に詳述する。具体的には、図１０は、個人用携帯機器１００及び仕事用携帯機器１０５の両方に表示され、個人用携帯機器１００又は仕事用携帯機器１０５の何れかで実行されている個々のアプリケーションから生成される通知１０００を（通知バーの左側に）含む通知バー２２０（並びに典型的には私的環境及び仕事環境の両方に共通している時間、電池寿命、ネットワーク信号強度などのシステムレベル機能に関する通知バーの右側に表示される通知）を示す。図示のように、通知１０００は、私的環境内の電子メールアプリケーションからの新着電子メールの通知、仕事環境内の電子メールアプリケーションからの新着電子メールの通知、及び私的環境内の電話アプリケーションからの不在着信通知を含む。
【００３６】
図１０に示すように、通知バー２２０上で上から下にスワイプすると通知バー２２０が展開され、表示された通知に関する更なる詳細が提供される（並びに展開されたビュー内の通知を選択することにより、ユーザがかかる通知に関するアプリケーションを更に起動できるようにする）。図１０の実施形態では、通知が私的環境から生成されたのか仕事環境から生成されたのかを含め、展開された通知バー１００５が通知に関する更なる詳細を提供する。図１０の実施形態は、私的環境内のアプリケーション又は仕事環境内のアプリケーションによって生成される通知１０００に対応する別々のリストを表示するが、他の代替的実施形態は、異なる環境から生成される通知を区別するために、通知を色分けすることを含む他の技法を利用しても良いことを理解すべきである。
【００３７】
図１１は、仕事用携帯機器１０５内で実行されるアプリケーションから受け取られる通知を受信し通知バー２２０内に提示するためのプロセスを示すフローチャートである。先に述べたように、通知バー２２０用の表示データはホストＯＳ１２０によって制御され管理されるので、このプロセスは仕事用携帯機器１０５がフォアグラウンドにあるかバックグラウンドにあるかに関係なく実行される。このプロセスは、その動作が通知バー２２０内に通知を表示させることを促す、両方とも仕事用携帯機器１０５の、アプリケーション１７５、及びバックドアサービス１８０によって実行されるステップ、並びに個人用携帯機器１００のハイパーバイザ１４０、及びホストＯＳ１２０によって実行されるステップを含む。
【００３８】
図１１の実施形態によれば、ステップ１１０２で、（上記のように、ホストＯＳ１２０によって制御される通知バー２２０が常に表示されるのでタッチスクリーン１０１上に実際には表示されず又は描画されない）ゲストＯＳ１７０によって制御される通知バー内に通知を提示することをゲストＯＳ１７０に要求する、ゲストＯＳ１７０上で実行される他のアプリケーション又はサービスからの任意の要求を知らされるように、バックドアサービス１８０が、通常（例えば起動時に）ゲストＯＳ１７０（又はその通知管理サービス）に登録する。そのためステップ１１０４で、アプリケーション１７５における何らかの活動が、通知バー２２０内に通知を表示させることをアプリケーション１７５に促す場合（例えば電子メールアプリケーションが新着電子メールを受信している場合があり、カレンダアプリケーションがもうすぐやって来る間近の約束を有する場合があり、不在着信がある場合等がある）、ステップ１１０６で、バックドアサービス１８０がアプリケーション１７５の通知要求の知らせをゲストＯＳ１７０から受け取る。ステップ１１０８で、バックドアサービス１８０が通知要求をハイパーバイザ１４０に転送する。ハイパーバイザ１４０は、ステップ１１１０で転送された通知要求を受け取り、ステップ１１１２で、対応する要求をホストＯＳ１２０内の通知管理サービスに伝送し、要求された通知を通知バー２２０内に表示する。一実施形態では、かかる対応する通知要求が、通知をハイパーバイザ１４０に関連させるための情報及び通知を一意に識別するタグ（例えば仕事用携帯機器内のアプリケーション１７５の名前等）を含み、それにより、ユーザが通知を選択したとき、仕事用携帯機器１０５内で実行される対応するアプリケーション１７５の起動をハイパーバイザ１４０が支援することができる。ステップ１１１４で、ホストＯＳ１２０の通知管理サービスが転送された通知要求を受け取る。次いでステップ１１１６で、ホストＯＳ１２０の通知管理サービスが、要求された通知を通知バー２２０内に表示する。その後、（私的環境又は仕事環境内で作業している）ユーザが（例えば図１０に示すように）通知バー２２０を展開し、表示された通知を選択すると、ホストＯＳ１２０（又はその通知管理サービス）が、対応する通知要求内でステップ１１１２においてハイパーバイザ１４０によって提供された情報を利用してハイパーバイザ１４０を呼び出し、アプリケーション１７５を識別する一意のタグをハイパーバイザ１４０に与え、それにより、ハイパーバイザ１４０が仕事用携帯機器１０５内のアプリケーション１７５を起動するか又はウェイクアップするようバックドアサービス１８０に要求することを可能にする（及び必要な場合、仕事用携帯機器１０５内のアプリケーション１７５を表示するためにＵＩプロキシ１５５により仕事用携帯機器１０５の「電源をオン」にする）。
【００３９】
上記で先に論じたように、仕事環境及び私的環境の両方の通知を提示するために個人用携帯機器１００の通知バー２２０の既存の構造及び機能を活用することに加え、代替的実施形態は、通知バー２２０の機能を高めることができ、さもなければ私的環境と仕事環境との区別を認識する完全に新しい通知バー（及び通知管理システム）を実装することができる。図１２Ａ〜図１２Ｃは、かかる通知バーの異なる実施形態の例をそれぞれ示す。図１２Ａは、私的通知と仕事通知とを分ける「フィルタ済み」通知バー１１００を示す。私的通知インジケータ１１０５はユーザが私的通知を識別するのを助け、仕事通知インジケータ１１１０はユーザが仕事通知を識別するのを助ける。図１２Ｂは、色によって区別された私的通知１１２０及び仕事通知１１２５を有する同様のフィルタ済み通知バー１１１５を示す。全ての私的通知が或る色、例えば緑色で表示され、全ての仕事通知が別の色、例えば青色で表示される。
【００４０】
特定のシナリオでは、典型的には通知バーの右側に表示され、私的環境と仕事環境との間で共有され得るネットワーク信号強度などのシステムレベルの通知が、かかる環境によって異なり得る。例えばそのような或るシナリオでは、個人用携帯機器１００が或るキャリアの電話サービスにアクセスする電話番号を有し得る一方で、仕事用携帯機器１０５は別のキャリアの電話サービスにアクセスする別の電話番号を有し得る。特定の地理的位置において、２つのキャリアのセルラ信号強度が異なる場合がある。それを踏まえ、図１２Ｃは、１つ又は複数の「バッジ」を有する「消滅しない」仕事アイコン１２００を表示するフィルタ済み通知バー１１３０を示し、これらのバッジは仕事用携帯機器１０５に特有のシステムレベル状態情報に関係し得る。図１２Ｃに示すように、仕事用携帯機器１０５が利用するキャリア（個人用携帯機器１００が利用するキャリアとは異なる）のセルラネットワークの信号強度を示すために、消滅しない仕事アイコン１２００上にバッジ１２０５がオーバレイされている。図１０〜図１２Ｃ内の通知に関する特定のユーザインターフェイスは単に例示的であり、本明細書の教示に一致する他のユーザインターフェイスが利用されても良いことを理解すべきである。例えば代替的実施形態は、通知の出所（例えば私的環境や仕事環境）に応じて異なる音を発生させるように構成可能な音声通知を提供することができる。同様に、通知の出所に応じて異なる振動パターンを発生させるように振動による通知も構成することができる。トラックボール又はＬＥＤによる色通知も可能であり、私的通知及び仕事通知に異なる色がそれぞれ割り当てられる。
【００４１】
仕事環境と私的環境とを切り替えること、ロックスクリーンによる保護されたアクセスを能率化すること、及び通知を提示することに関係する先に論じたユーザインターフェイスの問題に加え、仕事環境又は私的環境内のデータへのある程度のアクセスを、ユーザが他の環境内で操作している間に与えたい場合、ユーザインターフェイスの他の問題が更に存在する。例えばユーザは、私的環境内の自らの個人的カレンダアプリケーションにアクセスしながら（即ち環境及びアプリケーションを完全に切り替えることなしに）、仕事環境内に記憶された仕事関連の約束にアクセスすることが望ましいと思う場合がある。それを踏まえ、図１３Ａは、私的環境と仕事環境との間のカレンダ情報のフィルタリングが無い状態で、（私的環境又は仕事環境の）モバイルコンピューティング装置内で実行されるカレンダアプリケーション１３００を示す。約束及び他のカレンダイベントが個人用携帯機器１００と仕事用携帯機器１０５との間で公に共有されているので、カレンダアプリケーション１３００を「統合」カレンダアプリケーションと呼ぶ。
【００４２】
しかし、図１３Ａに示す実施形態は雇用主のセキュリティポリシに反する場合がある。例えばユーザの雇用主は、仕事関連の約束にアクセスするとき明らかにされ得る特定の情報（例えば同僚の電子メールアドレス、機密の件名表題等）を機密扱いと判断する場合がある。同様にユーザは、とりわけ自身の仕事関連のカレンダが他の従業員によってアクセスされ得る場合、私的な約束の中の特定の情報が仕事環境内では不適切だと考える場合がある。それを踏まえ、図１３Ｂ及び図１３Ｃは、私的環境と仕事環境との間の情報の「部分的共有」を更に実施する統合カレンダアプリケーションの実施形態を示す。図１３Ｂに示すように、私的環境内の統合カレンダアプリケーション１３０５は、その時間枠が仕事関連の約束で「塞がっている」ことを示す表示以外に、仕事関連の約束で占められている時間枠に関する如何なる詳細も提供しない。同様に、図１３Ｃ内に示す仕事環境内の統合カレンダアプリケーション１３１０は、その時間枠が私的な約束で「塞がっている」ことを示す表示以外に、私的な約束で占められている時間枠に関する如何なる詳細も提供しない。
【００４３】
図１３Ａ〜図１３Ｃに示したカレンダアプリケーションの例は単に例示的であり、カレンダ情報は私的環境と仕事環境との間で異なる詳細レベルで共有できる一種の情報に過ぎないことを理解すべきである。例えば、連絡先情報は、同様に考えることができる別の種類の情報である。私的環境内で操作しているユーザは、仕事用携帯機器１０５内に保持される連絡先の名前と電話番号は見ることができるが、連絡先の役職及び電子メールアドレスを得るのは妨げられる場合がある。そのため、着信がユーザの個人回線を介してだが、仕事の連絡先からある場合、発呼者として仕事の連絡先が識別できるという２つの環境間の十分な情報の共有がある。２つの環境間で幾らかの連絡先情報を共有することが有用であり得るもう１つの例は、私的環境から仕事の連絡先に又は仕事環境から私的連絡先にユーザによって発呼される通話である。そのような事例では、私的連絡先への通話が個人用無線加入プランを使用し、仕事の連絡先への通話が仕事用無線加入プランを使用するように、環境内にトランスペアレント・スイッチ（transparent switch）があるべきである。私的環境と仕事環境との間の一定の共有の利益を受けることができるアプリケーションのもう１つの例は、ピクチャギャラリー・アプリケーション（picture gallery application）などのマルチメディア・アプリケーションである。例えば雇用主は、仕事関連のピクチャギャラリーからの画像が、より低い解像度で私的なピクチャギャラリーによってアクセスされることを許可することができる。例えばユーザの仕事関連のピクチャギャラリーが機密の建築設計（architectural design）及び詳細な建築設計を含む場合、低解像度バージョンは十分な詳細を与えないので、私的環境内でアクセス可能な低解像度バージョンの設計によって設計の機密性が損なわれることはない。
【００４４】
図１４は、図１３Ａ〜図１３Ｃと同様のユーザインターフェイス機能を実現するために、個人用携帯機器１００及び仕事用携帯機器１０５内の対応するアプリケーション間で情報を共有するためのプロセスを示すフローチャートである。このプロセスは、仕事用携帯機器１０５のバックドアサービス１８０によって実行されるステップ、及び個人用携帯機器１００のハイパーバイザ１４０によって実行されるステップを含む。
【００４５】
ステップ１４０２で、バックドアサービス１８０が（例えば仕事用携帯機器１０５の電源がオンにされたとき）、利用可能な「情報プロバイダ」のリストをゲストＯＳ１７０から得る。かかる情報プロバイダは、ユーザがアクセスするために特定のアプリケーションによって登録し得る、ローカルデータベース又は遠隔データ源とすることができる。例えば電子メールアプリケーションに関して、情報プロバイダは雇用主の電子メールサーバ又はユーザのオンライン電子メールアカウントであり得る。カレンダ又は連絡先アプリケーションに関して、情報プロバイダは装置上のローカルカレンダ若しくは連絡先データベース、雇用主のＰＩＭサーバ、又はユーザのオンライン電子メール若しくはソーシャルネットワークアカウント内のカレンダリング機能（calendaring functions）であり得る。ステップ１４０４で、取得した情報プロバイダのリストをホストＯＳ１２０に登録するようバックドアサービス１８０がハイパーバイザ１４０に要求する。ステップ１４０６で、ハイパーバイザ１４０が情報プロバイダのリストをバックドアサービス１８０から受け取ると、ステップ１４０８で、私的環境内で実行されるアプリケーションによってアクセスされるように、ハイパーバイザ１４０が、仕事環境からの情報プロバイダのリストを登録するために、ホストＯＳ１２０に提供する登録情報を生成し（又は情報プロバイダのリストから得た情報を修正し）、ステップ１４０８でその登録情報をホストＯＳ１２０に提供する。一実施形態では、かかる登録を生成することが、ハイパーバイザ１４０を（例えばコールバックにより）情報プロバイダに関連付けることを含み、そのため私的環境内のアプリケーション（例えばカレンダアプリケーション、連絡先アプリケーション等）が情報プロバイダに情報を要求するとき、ホストＯＳ１２０がハイパーバイザ１４０を呼び出して仕事環境内の情報プロバイダに到達するのを（例えばバックドアサービス１８０とのＲＰＣ通信用のスタブとして働くこと等により）支援する。
【００４６】
ステップ１４１２で、ホストＯＳ１２０から生じる情報プロバイダのリストを提供するようバックドアサービス１８０がハイパーバイザ１４０に更に要求し、それにより仕事環境内のゲストＯＳ１７０上で実行されるアプリケーションがそれらの情報プロバイダにアクセスできるようにすることができる。ステップ１４１４でハイパーバイザ１４０がこの要求を受け取ると、ステップ１４１６で、ハイパーバイザ１４０はホストＯＳ１２０に登録された情報プロバイダのリストを取得し、そのリストをバックドアサービス１８０に提供する。ステップ１４１８で、バックドアサービス１８０がハイパーバイザ１４０から情報プロバイダのリストを受け取ると、ステップ１４０８でハイパーバイザ１４０が実行するのと同様の方法で、（ステップ１４２０で）バックドアサービス１８０が、受け取った情報プロバイダのリストについて、情報プロバイダを（ステップ１４２２で）ゲストＯＳ１７０に登録するためにバックドアサービス１８０が使用する登録情報を生成し、それにより、仕事環境内のアプリケーションが私的環境内の情報プロバイダに情報を要求するとき、私的環境内の情報プロバイダに到達するのを（例えばハイパーバイザ１４０とのＲＰＣ通信用のスタブとして働くこと等により）支援するためにバックドアサービス１８０がゲストＯＳ１７０によって呼び出される。
【００４７】
ステップ１４１０で、ハイパーバイザ１４０が仕事環境からの情報プロバイダを私的環境内に登録し、ステップ１４２２で、バックドアサービス１８０が私的環境からの情報を仕事環境内に登録すると、各環境内のアプリケーションはもう一方の環境内の情報プロバイダにアクセスできるようになる。例えば、仕事環境内のカレンダアプリケーションが私的環境内のローカルカレンダデータベース（例えば情報プロバイダ）にアクセスすることを要求する場合、バックドアサービス１８０はそれに応じてコールバックをステップ１４２４で受け取り、ステップ１４２６で、私的環境内のローカルカレンダデータベースとの接続を確立するためにハイパーバイザ１４０との（例えばＲＰＣ）通信路を確立する。ステップ１４２８で、ハイパーバイザ１４０がバックドアサービス１８０との通信路を確立し、ローカルカレンダデータベースに接続する場合、ステップ１４３０で、（図１３Ｃの実施形態にあるように）必要な場合、ハイパーバイザ１４０が、ローカルカレンダデータベースによって提供された情報を仕事環境内のカレンダアプリケーションに（バックドアサービス１８０とのＲＰＣ通信路を介して）伝送する前に、かかる情報を関連する任意のフィルタにかける。ステップ１４３２〜１４３８は、例えば私的環境内の連絡先アプリケーションが仕事環境内のローカル連絡先データベースにアクセスすることを要求する場合の私的環境側の同様のフローを示す。
【００４８】
図１４のフローは、図１３Ａ〜図１３Ｃに示すようなユーザインターフェイス機能を提供するために、どのようにデータをフィルタし、私的環境と仕事環境との間で共有できるのかについての例示に過ぎないことを理解すべきである。具体的には、図１４は、ホストＯＳ１２０のファイルシステムとゲストＯＳ１７０のファイルシステムとが分かれており、他方のオペレーティングシステムによってアクセスできない（例えば仕事用携帯機器１０５によってアクセス可能な仮想ディスクを表す仕事用機器イメージ１６０はホストＯＳ１２０のファイルシステム上に記憶された暗号化ファイルだが、かかる暗号化のためゲストＯＳ１７０によってのみアクセス可能であり、ホストＯＳ１２０はアクセスできない）場合の、私的環境と仕事環境との間でデータを共有するためのフローを示す。しかし、ゲストＯＳ１７０及びホストＯＳ１２０が共通のファイルシステムへのアクセスを共有できる代替的実施形態では、図１４のフローとは異なる方法で図１３Ａ〜図１３Ｃに示したユーザインターフェイスを実装することができる。
【００４９】
図１３Ａ〜図１４に詳述したような、対応する私的環境のアプリケーションと仕事環境のアプリケーションとの間で情報を様々なレベルで共有できるようにするユーザインターフェイスを提供することに加え、ユーザは、私的環境と仕事環境との間で特定のユーザインターフェイスを自分だけで共有することが望ましいと更に思う場合がある。例えば、私的仕事環境内のソフトキーボードの或る一定のルック・アンド・フィールに慣れると、ユーザは同じソフトキーボードを仕事環境内でも利用したいと思う場合がある。それを踏まえ、図１５は、個人用携帯機器１００で使用されるのと同一であるように、仕事用携帯機器１０５向けにソフトキーボードを構成するためのプロセスを示す。図１５に、個人用デスクトップ２１０の一部として個人用携帯機器１００のソフトキーボード１５００を示す。ソフトキーボード１５００は、デフォルトのソフトキーボードアプリケーションとすることができ、又は他の手段（例えばアプリケーションストア又はマーケットからのダウンロード等）によって得られるソフトキーボードアプリケーションとすることもできる。雇用主のＩＴ部門の仕事用機器イメージ１６０に対する標準構成により、仕事用携帯機器１０５のデフォルトのソフトキーボードアプリケーション１５０５は、個人用携帯機器１００で使用されるソフトキーボードアプリケーション１５００ではない場合がある。図１５の実施形態に示すように、携帯仕事用機器１０５の立上げ時に、ハイパーバイザ１４０が、ホストＯＳ１２０のアクティブソフトキーボードアプリケーションを得るためにホストＯＳ１２０に問い合わせを行い、そのソフトキーボードアプリケーションのアプリケーションパッケージをゲストＯＳ１７０内に（例えば、ゲストＯＳ１７０のアクティブソフトキーボードとしてアプリケーションパッケージをゲストＯＳ１７０内にインストールするバックドアサービス１８０にアプリケーションパッケージを提供することにより）アップロードしてインストールする。この特定の実施形態では、同一のソフトキーボードアプリケーションの２つの別個のインスタンスが異なる環境内で実行されており、従って各インスタンスが自らの環境内で独自の状態（例えば認識した言語の辞書等）を維持することに留意すべきである。その結果、仕事環境内のソフトキーボードインスタンスに対応する辞書が何らかの機密扱いの用語に関する語彙を含む場合、その用語の機密性は仕事環境内で守られ、私的環境に漏れることはない。
【００５０】
同様に、ユーザは、或る環境内で実行されているアプリケーションに対応する「ウィジェット」のユーザインターフェイスを他の環境内で閲覧する又はアクセスすることが望ましいと思う場合がある。例えば、ＩＴ管理者であるユーザの仕事環境内には、雇用主のＩＴインフラを遠隔管理することを可能にするＩＴ管理アプリケーションがインストールされている場合がある。モバイルアプリケーションには普通にあることだが、ＩＴ管理アプリケーションは、雇用主のＩＴシステムの状態の「ミニ」ビューを提供するために仕事用デスクトップ２１５の一部分に（即ちＩＴ管理アプリケーション全体をそれ自体で起動することなしに）表示可能な「ウィジェット」オプションを含む場合がある。それを踏まえ、図１６は、他の環境内で表示可能な、或る環境内のアプリケーションに対応するかかるウィジェットの一例を示す。図示のように、ユーザは、そのウィジェット１６０５を仕事用デスクトップ２１５内に表示するようにＩＴ管理アプリケーション１６００を構成できるだけでなく、例えＩＴ管理アプリケーション自体が私的環境内にインストールされていなくてもウィジェットを表示するように私的環境内の個人用デスクトップ２１０を構成することも可能である。仕事環境内にインストールされたＩＴ管理アプリケーションに対応するウィジェットを表示するように、ユーザが個人用デスクトップ２１０を構成できるようにするために、個人用デスクトップ２１０を管理し制御するホストＯＳ１２０のランチャアプリケーションが、そのウィジェットを見つけてインストールできなければならない。或る環境内の情報プロバイダを他の環境に公開するための図１４に示したステップと同様に、バックドアサービス１８０とハイパーバイザ１４０とが、そのそれぞれの仕事環境及び私的環境内のランチャアプリケーションによって表示可能なウィジェットに関する情報をやり取りするために（例えばＲＰＣ等を介して）通信を行う。例えば、仕事用携帯機器１０５の立上げ時に、バックドアサービス１８０はゲストＯＳ１７０からハイパーバイザ１４０にウィジェットのリストを提供することができる。ハイパーバイザ１４０は、ウィジェットのリストをホストＯＳ１２０（又はそのランチャアプリケーション）に提供することができ、その後、私的環境内のユーザが個人用デスクトップ２１０上に表示させるために仕事環境のウィジェットの１つを選択するとき、（ウィジェットの対応するアプリケーションと更に通信する）バックドアサービス１８０と通信するためのプロキシＲＰＣ通信路としての役割を果たすことができる。このようにして、私的環境内で表示されるウィジェットに対応する仕事環境内のアプリケーションは、アップデートされた表示データを個人用デスクトップ２１０上に表示される「ライブ」ウィジェットに定期的に伝送する（即ちアップデートされたデータを継続的に表示する）ための（バックドアサービス１８０及びハイパーバイザ１４０を介した）ＲＰＣ接続を有する。このようなウィジェット共有機能に対し、更なる特徴又は機能強化を加えても良いことを理解すべきである。例えば、ホワイトリスト及びブラックリストを用いてウィジェットの共有ポリシを強化しても良く、又はウィジェットによって表示されるデータを更にフィルタし、共有され得る情報のレベルを制御しても良い。
【００５１】
本発明の１つ又は複数の実施形態を理解を明確にするために幾らか詳細に説明してきたが、特許請求の範囲に記載の範囲内で一定の変更及び修正を加えても良いことは明らかである。例えば、本明細書の実施形態はアンドロイド（Ａｎｄｒｏｉｄ）などの特定のモバイルオペレーティングシステムに言及してきたが、代替的実施形態では、アップル（Ａｐｐｌｅ）のｉＯＳ、リサーチインモーション（Ｒｅｓｅａｒｃｈ  ｉｎ  Ｍｏｔｉｏｎ）のブラックベリー（Ｂｌａｃｋｂｅｒｒｙ）ＯＳ、マイクロソフト（Ｍｉｃｒｏｓｏｆｔ）のウィンドウズフォン（Ｗｉｎｄｏｗｓ  Ｐｈｏｎｅ）（登録商標）、ヒューレットパッカード（Ｈｅｗｌｅｔｔ  Ｐａｃｋａｒｄ）のｗｅｂＯＳ、シンビアン（Ｓｙｍｂｉａｎ）、ジャヴァ（Ｊａｖａ）（登録商標）などの任意のモバイルオペレーティングシステムを利用している場合があることを理解すべきである。同様に、本明細書の実施形態は、他のモバイルオペレーティングシステムと比べ、特定のモバイルオペレーティングシステムでより一般的に使用される用語（例えばランチャアプリケーション、パッケージマネージャ・アプリケーション、複合ウィンドウマネージャ等）を使って特定の機能及びコンポーネントに言及してきた可能性がある。かかる用語を使用することは、本明細書の教示の範囲を或る特定のオペレーティングシステムに限定することを意図しない例示に過ぎず、他のオペレーティングシステムプラットフォーム内の対応する機能及びコンポーネントも本明細書の教示の恩恵を受けることができることを理解すべきである。更に、本明細書に記載したユーザインターフェイスを実現するために本明細書に記載したプロセスフローの多くは、現行のモバイルオペレーティングシステムの関数構造、レイヤ、及び制約を考慮に入れる実施形態に関係することができ、従ってかかるモバイルオペレーティングシステムの制約を強制することを理解すべきである。例えば現行のモバイルオペレーティングシステムは、本明細書でこれまでに論じたような私的環境と仕事環境とを分離するための支援は行わない。そのため、本明細書のユーザインターフェイスは、仕事用携帯機器を実行する仮想マシンとして仕事環境を提供するために、仮想化技法を使用する脈絡の中で説明してきた。但し、代替的実施形態は、現行のモバイルオペレーティングシステムの制約に限定されなくても良く、私的環境と仕事環境とを分けるように設計された完全に新しいモバイルオペレーティングシステムを作成することにより、本明細書に記載したユーザインターフェイスを実装しても良いことを理解すべきである。従って、記載した実施形態は制限的でなく例示的であると解釈すべきであり、特許請求の範囲は本明細書で示した詳細に限定されず、特許請求の範囲に記載の範囲及び均等物の範囲内で修正されても良い。特許請求の範囲では、明示的に別段の定めをした場合を除き、要素及び／又はステップが或る特定の操作順序を含意することはない。
【００５２】
本明細書に記載した様々な実施形態は、コンピュータシステム内に記憶されたデータを用いる様々なコンピュータによって実施される操作を使用することができる。例えばこれらの操作は物理量の物理的操作を必要とする場合があり、必ずしもそうとは限らないが通常、それらの量は電気信号又は磁気信号の形を取ることができ、それら又はそれらの表現は記憶し、転送し、組み合わせ、比較し、又は他の方法で操作することができる。更に、かかる操作は多くの場合、作成する、識別する、判定する、比較するなどの用語で言及される。本発明の１つ又は複数の実施形態の一部を形成する本明細書に記載の如何なる操作も、有用な機械操作とすることができる。更に、本発明の１つ又は複数の実施形態は、それらの操作を行うための装置又は機器にも関する。機器は、特定の所要の目的のために特別に構築されても良く、又はコンピュータ内に記憶されたコンピュータプログラムによって選択的に活性化され若しくは構成される汎用コンピュータとすることもできる。特に、本明細書の教示に従って書かれるコンピュータプログラムと共に様々な汎用機を使用することができ、又は所要の操作を行うためのより特化した機器を構築する方がより便利な場合もある。
【００５３】
本明細書に記載した様々な実施形態は、携帯端末、マイクロプロセッサシステム、マイクロプロセッサベースの又はプログラム可能な消費者家電、ミニコンピュータ、メインフレームコンピュータ等を含む、他のコンピュータシステム構成を用いて実施しても良い。
【００５４】
本発明の１つ又は複数の実施形態は、１つ又は複数のコンピュータプログラムとして、又は１つ又は複数のコンピュータ可読媒体の中に具体化される１つ又は複数のコンピュータプログラムモジュールとして実装することができる。コンピュータ可読媒体という用語は、後でコンピュータシステムに入力可能なデータを記憶することができる任意のデータ記憶装置を指し、コンピュータ可読媒体は、コンピュータプログラムがコンピュータによって読み取られることを可能にする方法でコンピュータプログラムを具体化する既存の任意の技術、又は後に開発される技術に基づくことができる。コンピュータ可読媒体の例には、ハードドライブ、ネットワーク接続ストレージ（ＮＡＳ:network attached storage）、読取専用メモリ、ランダムアクセスメモリ（例えばフラッシュメモリデバイス）、ＣＤ（コンパクトディスク（Compact Disc））、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ（デジタル多用途ディスク（Digital Versatile Disc））、磁気テープ、並びに他の光学的及び非光学的データ記憶装置が含まれる。コンピュータ可読コードが分散された方法で記憶され実行されるように、コンピュータ可読媒体をネットワークに結合されたコンピュータシステムにわたって分散させることもできる。
【００５５】
様々な実施形態による仮想化システムは、ホスト型の実施形態、非ホスト型の実施形態、又はその２つの区別を曖昧にする傾向がある実施形態として実装することができ、その全てが想定されている。更に、様々な仮想化操作がハードウェアにより完全に又は部分的に実施されても良い。例えば、ハードウェアの実装形態は、非ディスクデータを保護するためにストレージアクセス要求を修正するためのルックアップテーブルを用いることができる。
【００５６】
仮想化の程度に関係なく、多くの改変、修正、追加、及び改善が可能である。従って仮想化ソフトウェアは、仮想化機能を実行するホスト、コンソール、又はゲストオペレーティングシステムのコンポーネントを含むことができる。単一の例として本明細書に記載したコンポーネント、操作、又は構造について複数の例が実現されても良い。最後に、様々なコンポーネント、操作、及びデータストア間の境界は幾らか恣意的であり、特定の操作を特定の例示的構成との関連で解説した。他の機能の割当ても想定されており、本発明の範囲に含まれ得る。概して、例示的構成の中で別個のコンポーネントとして提示した構造及び機能は、複合構造又は複合コンポーネントとして実装しても良い。同様に、単一のコンポーネントとして提示した構造及び機能を別個のコンポーネントとして実装しても良い。これらの及び他の改変形態、修正形態、追加形態、及び改善形態は添付の特許請求の範囲に含まれ得る。
【図１Ａ】
0005865496.tif 000002
【図１Ｂ】
0005865496.tif 000003
【図２】
0005865496.tif 000004
【図３Ａ】
0005865496.tif 000005
【図３Ｂ】
0005865496.tif 000006
【図４】
0005865496.tif 000007
【図５Ａ】
0005865496.tif 000008
【図５Ｂ】
0005865496.tif 000009
【図５Ｃ】
0005865496.tif 000010
【図５Ｄ】
0005865496.tif 000011
【図６Ａ】
0005865496.tif 000012
【図６Ｂ】
0005865496.tif 000013
【図７Ａ】
0005865496.tif 000014
【図７Ｂ】
0005865496.tif 000015
【図８Ａ】
0005865496.tif 000016
【図８Ｂ】
0005865496.tif 000017
【図８Ｃ】
0005865496.tif 000018
【図９】
0005865496.tif 000019
【図１０】
0005865496.tif 000020
【図１１】
0005865496.tif 000021
【図１２Ａ】
0005865496.tif 000022
【図１２Ｂ】
0005865496.tif 000023
【図１２Ｃ】
0005865496.tif 000024
【図１３Ａ】
0005865496.tif 000025
【図１３Ｂ】
0005865496.tif 000026
【図１３Ｃ】
0005865496.tif 000027
【図１４】
0005865496.tif 000028
【図１５】
0005865496.tif 000029
【図１６】
0005865496.tif 000030