(57)【特許請求の範囲】
【請求項１】
プロセッサおよび前記プロセッサに結合されたメモリを含むベースハードウェアと、
前記ベースハードウェア上で動作するように構成されたハイパーバイザであって、前記ハイパーバイザは、複数のオペレーティングシステムの間で前記ベースハードウェアのリソースを割り当てるように適合される、ハイパーバイザと、
前記ハイパーバイザ上で動作するように構成された職場オペレーティングシステムを含む職場仮想計算機であって、前記職場オペレーティングシステムは、前記職場仮想計算機にインストールされた職場アプリケーションを走らせるように適合される、職場仮想計算機と、
前記ハイパーバイザ上で動作するように構成された家庭オペレーティングシステムを含む家庭仮想計算機であって、前記家庭オペレーティングシステムは、前記家庭仮想計算機にインストールされた家庭アプリケーションを走らせるように適合される、家庭仮想計算機と、
前記ハイパーバイザ上で動作するように構成されたアービトレータオペレーティングシステムと、
前記アービトレータオペレーティングシステム上で動作するように構成されたスマートアービトレータサーバであって、
前記職場仮想計算機と前記家庭仮想計算機との間のゲートウェイを提供することと、
ポリシーに従って前記職場アプリケーションへのアクセスを管理することであって、前記ポリシーは、ユーザエンティティによる前記職場仮想計算機への前記職場アプリケーションのインストールおよび除去を、非ユーザエンティティが制限することを許す、管理することと、
前記ポリシーに従って前記家庭アプリケーションへのアクセスを管理することであって、前記ポリシーは、前記ユーザエンティティによる前記家庭仮想計算機への前記家庭アプリケーションのインストールおよび除去を、前記非ユーザエンティティが制限することを許さない、管理することとを行うように適合されたスマートアービトレータサーバとを含む、マルチモーダルデバイス。
【請求項２】
前記ポリシーに従って前記職場アプリケーションへのアクセスを管理するために、前記スマートアービトレータサーバは、前記非ユーザエンティティが前記職場仮想計算機に前記職場アプリケーションをインストールし、除去することを許し、前記ユーザエンティティが前記職場仮想計算機に前記職場アプリケーションをインストールし、除去することを制限するようにさらに適合され、
前記ポリシーに従って前記家庭アプリケーションへのアクセスを管理するために、前記スマートアービトレータサーバは、前記ユーザエンティティが前記家庭仮想計算機に前記家庭アプリケーションをインストールし、除去することを許し、前記非ユーザエンティティが前記家庭仮想計算機に前記家庭アプリケーションをインストールし、除去することを制限するようにさらに適合される
請求項１に記載のマルチモーダルデバイス。
【請求項３】
前記スマートアービトレータサーバは、
前記職場仮想計算機にリモートでアクセスする要求を前記非ユーザエンティティから受信し、
前記要求に応答して、前記非ユーザエンティティに前記職場仮想計算機にアクセスすることを許可することを認証し、
前記非ユーザエンティティが認証された時に、前記非ユーザエンティティが前記職場仮想計算機にアクセスすることを許し、前記非ユーザエンティティが前記家庭仮想計算機にアクセスするのを制限する
ようにさらに適合される、請求項２に記載のマルチモーダルデバイス。
【請求項４】
前記ポリシーが、プライベートにアクセス可能な企業アプリケーションストアから取り出された１つまたは複数のアプリケーションを前記職場仮想計算機へインストールすることを許可すること、および公にアクセス可能な消費者アプリケーションストアから取り出された１つまたは複数のアプリケーションを前記職場仮想計算機へインストールすること制限することを指定し、
前記ポリシーが、前記公にアクセス可能な消費者アプリケーションストアから取り出された１つまたは複数のアプリケーションを前記家庭仮想計算機へインストールすることを許可すること、および前記プライベートにアクセス可能な企業アプリケーションストアから取り出された１つまたは複数のアプリケーションを前記家庭仮想計算機へインストールすることを制限することを指定する
請求項２に記載のマルチモーダルデバイス。
【請求項５】
前記ポリシーは、前記職場仮想計算機にインストールされた前記職場アプリケーションからの選択された職場アプリケーションを、前記家庭仮想計算機へインストールすることを許可することと、前記職場アプリケーションからの他の職場アプリケーションを、前記家庭仮想計算機へインストールすることを制限することとをさらに指定する、請求項４に記載のマルチモーダルデバイス。
【請求項６】
前記ポリシーに従って前記職場アプリケーションへのアクセスを管理するために、前記スマートアービトレータサーバは、前記職場仮想計算機と職場サーバコンピュータとの間のデータ同期化を許し、前記家庭仮想計算機と家庭サーバコンピュータとの間のデータ同期化を制限するようにさらに適合され、
前記ポリシーに従って前記家庭アプリケーションへのアクセスを管理するために、前記スマートアービトレータサーバは、前記家庭仮想計算機と前記家庭サーバコンピュータとの間のデータ同期化を許し、前記職場仮想計算機と前記職場サーバコンピュータとの間のデータ同期化を制限するようにさらに適合される
請求項１に記載のマルチモーダルデバイス。
【請求項７】
前記職場仮想計算機と前記家庭仮想計算機との間の前記ゲートウェイを提供するために、前記スマートアービトレータサーバは、
前記マルチモーダルデバイスが家庭ネットワークの範囲内にあるかどうかを検出し、
前記マルチモーダルデバイスが前記家庭ネットワークの範囲内にあると判定される場合に、前記家庭仮想計算機をアクティブ化し、前記家庭ネットワークに接続し、
前記マルチモーダルデバイスが職場ネットワークの範囲内にあるかどうかを検出し、
前記マルチモーダルデバイスが前記職場ネットワークの範囲内にあると判定される場合に、前記職場仮想計算機をアクティブ化し、前記職場ネットワークに接続する
ようにさらに適合される、請求項１に記載のマルチモーダルデバイス。
【請求項８】
前記職場仮想計算機と前記家庭仮想計算機との間の前記ゲートウェイを提供するために、前記スマートアービトレータサーバは、
前記職場仮想計算機または前記家庭仮想計算機の選択を要求するように適合されたグラフィカルユーザインターフェースを提供し、
前記グラフィカルユーザインターフェースを介して、前記職場仮想計算機または前記家庭仮想計算機の前記選択を受信し、
前記職場仮想計算機の前記選択が受信される時に、前記職場仮想計算機をアクティブ化し、職場ネットワークに接続し、
前記家庭仮想計算機の前記選択が受信される時に、前記家庭仮想計算機をアクティブ化し、家庭ネットワークに接続する
ようにさらに適合される、請求項１に記載のマルチモーダルデバイス。
【請求項９】
前記マルチモーダルデバイスが、複数のデバイスセンサを含み、前記スマートアービトレータサーバが、
前記マルチモーダルデバイスにインストールされた前記職場アプリケーションおよび前記家庭アプリケーションによって利用されていない、前記複数のデバイスセンサからの未利用デバイスセンサをディスエーブルし、
前記マルチモーダルデバイス内にインストールされた前記職場アプリケーションおよび前記家庭アプリケーションによって利用されると予想され、かつ現在利用されていない、前記複数のデバイスセンサからの利用デバイスセンサの第１のセットを省電力モードでイネーブルし、
前記マルチモーダルデバイス内にインストールされた前記職場アプリケーションおよび前記家庭アプリケーションによって利用されると予想され、かつ現在利用されている、前記複数のデバイスセンサからの利用デバイスセンサの第２のセットをフル電力モードでイネーブルする
ようにさらに適合される、請求項１に記載のマルチモーダルデバイス。
【請求項１０】
前記スマートアービトレータサーバは、
前記職場アプリケーションまたは前記家庭アプリケーションからのインストールされたアプリケーションが一時停止されることの指示を受信し、
前記インストールされたアプリケーションが一時停止された時の、前記インストールされたアプリケーションおよび前記インストールされたアプリケーションに関連するデータの状態をファイルに格納し、
インストール済みアプリケーション同期化サーバコンピュータに前記ファイルを送信するようにさらに適合され、
前記インストール済みアプリケーション同期化サーバコンピュータは、前記インストールされたアプリケーションを前記状態で再開するために別のデバイスに前記ファイルを提供するように適合される、請求項１に記載のマルチモーダルデバイス。
【請求項１１】
前記スマートアービトレータサーバは、
ストリーミングアプリケーションが一時停止されることの第２の指示を受信し、
前記ストリーミングアプリケーションが一時停止された時の、前記ストリーミングアプリケーションおよび前記ストリーミングアプリケーションに関連するデータの第２の状態をストリーミングアプリケーション同期化サーバコンピュータに送信するようにさらに適合され、
前記ストリーミングアプリケーション同期化サーバコンピュータは、前記ストリーミングアプリケーションを前記第２の状態で再開するために別のデバイスに前記第２の状態を提供するように適合される、請求項１０に記載のマルチモーダルデバイス。
【請求項１２】
前記ハイパーバイザは、ベアメタルハイパーバイザを含む、請求項１に記載のマルチモーダルデバイス。
【請求項１３】
ベースハードウェア上で動作するように構成されたベアメタルハイパーバイザを有するマルチモーダルデバイスを調停する方法であって、
前記ベアメタルハイパーバイザ上で動作するように構成された職場オペレーティングシステムを含む職場仮想計算機を提供することであって、前記職場オペレーティングシステムは、前記職場仮想計算機にインストールされた職場アプリケーションを走らせるように適合される、提供することと、
前記ベアメタルハイパーバイザ上で動作するように構成された家庭オペレーティングシステムを含む家庭仮想計算機を提供することであって、前記家庭オペレーティングシステムは、前記家庭仮想計算機にインストールされた家庭アプリケーションを走らせるように適合される、提供することと、
前記職場仮想計算機と前記家庭仮想計算機との間のゲートウェイを提供することと、
ポリシーに従って前記職場アプリケーションへのアクセスを管理することであって、前記ポリシーは、ユーザエンティティによる前記職場仮想計算機への前記職場アプリケーションのインストールおよび除去を、非ユーザエンティティが制限することを許す、管理することと、
前記ポリシーに従って前記家庭アプリケーションへのアクセスを管理することであって、前記ポリシーは、前記ユーザエンティティによる前記家庭仮想計算機への前記家庭アプリケーションのインストールおよび除去を、前記非ユーザエンティティが制限することを許さない、管理することとを含む、方法。
【請求項１４】
前記ポリシーに従って前記職場アプリケーションへのアクセスを管理することは、前記非ユーザエンティティが、前記職場仮想計算機に前記職場アプリケーションをインストールし、除去することを許し、前記ユーザエンティティが前記職場仮想計算機に前記職場アプリケーションをインストールし、除去することを制限することを含み、
前記ポリシーに従って前記家庭アプリケーションへのアクセスを管理することは、前記ユーザエンティティが、前記家庭仮想計算機に前記家庭アプリケーションをインストールし、除去することを許し、前記非ユーザエンティティが前記家庭仮想計算機に前記家庭アプリケーションをインストールし、除去することを制限することを含む、
請求項１３に記載の方法。
【請求項１５】
前記職場仮想計算機にリモートでアクセスする要求を前記非ユーザエンティティから受信することと、
前記要求に応答して、前記非ユーザエンティティに前記職場仮想計算機へのアクセスを許可することを認証することと、
前記非ユーザエンティティの認証に応答して、前記非ユーザエンティティが前記職場仮想計算機にアクセスすることを許し、前記非ユーザエンティティが前記家庭仮想計算機にアクセスすることを制限することと
をさらに含む、請求項１４に記載の方法。
【請求項１６】
前記ポリシーが、プライベートにアクセス可能な企業アプリケーションストアから取り出された１つまたは複数のアプリケーションを前記職場仮想計算機へインストールすることを許可すること、および公にアクセス可能な消費者アプリケーションストアから取り出された１つまたは複数のアプリケーションを前記職場仮想計算機へインストールすることを制限することを指定し、
前記ポリシーが、前記公にアクセス可能な消費者アプリケーションストアから取り出された１つまたは複数のアプリケーションを前記家庭仮想計算機へインストールすることを許可すること、および前記プライベートにアクセス可能な企業アプリケーションストアから取り出された１つまたは複数のアプリケーションを前記家庭仮想計算機へインストールすることを制限することを指定する
請求項１４に記載の方法。
【請求項１７】
前記ポリシーが、前記職場仮想計算機にインストールされた前記職場アプリケーションからの選択された職場アプリケーションを、前記家庭仮想計算機へインストールすることを許可することと、前記職場アプリケーションからの他の職場アプリケーションを、前記家庭仮想計算機へインストールすることを制限することとをさらに指定する、請求項１６に記載の方法。
【請求項１８】
前記ポリシーに従って前記職場アプリケーションへのアクセスを管理することは、前記職場仮想計算機と職場サーバコンピュータとの間のデータ同期化を許し、前記家庭仮想計算機と家庭サーバコンピュータとの間のデータ同期化を制限することを含み、
前記ポリシーに従って前記家庭アプリケーションへのアクセスを管理することは、前記家庭仮想計算機と前記家庭サーバコンピュータとの間のデータ同期化を許し、前記職場仮想計算機と前記職場サーバコンピュータとの間のデータ同期化を制限することを含む
請求項１３に記載の方法。
【請求項１９】
前記職場仮想計算機と前記家庭仮想計算機との間の前記ゲートウェイを提供することは、
前記マルチモーダルデバイスが家庭ネットワークの範囲内にあるかどうかを検出することと、
前記マルチモーダルデバイスが前記家庭ネットワークの範囲内にあることの検出に応答して、前記家庭仮想計算機をアクティブ化し、前記マルチモーダルデバイスを前記家庭ネットワークに接続することと、
前記マルチモーダルデバイスが職場ネットワークの範囲内であることを検出することと、
前記マルチモーダルデバイスが前記職場ネットワークの範囲内にあることの検出に応答して、前記職場仮想計算機をアクティブ化し、前記マルチモーダルデバイスを前記職場ネットワークに接続することと
を含む、請求項１３に記載の方法。
【請求項２０】
前記職場仮想計算機と前記家庭仮想計算機との間の前記ゲートウェイを提供することは、
前記職場仮想計算機または前記家庭仮想計算機の選択を要求するように適合されたグラフィカルユーザインターフェースを、前記マルチモーダルデバイスを介して提供することと、
前記グラフィカルユーザインターフェースを介して、前記職場仮想計算機または前記家庭仮想計算機の前記選択を受信することと、
前記職場仮想計算機の前記選択が受信されることに応答して、前記職場仮想計算機をアクティブ化し、前記マルチモーダルデバイスを職場ネットワークに接続することと、
前記家庭仮想計算機の前記選択が受信されることに応答して、前記家庭仮想計算機をアクティブ化し、前記マルチモーダルデバイスを家庭ネットワークに接続することと
を含む、請求項１３に記載の方法。
【請求項２１】
前記マルチモーダルデバイスにインストールされた前記職場アプリケーションおよび前記家庭アプリケーションによって利用されていない、前記マルチモーダルデバイス内の未利用デバイスセンサをディスエーブルすることと、
前記マルチモーダルデバイス内にインストールされた前記職場アプリケーションおよび前記家庭アプリケーションによって利用されると予想され、かつ現在利用されていない利用デバイスセンサの第１のセットを省電力モードでイネーブルすることと、
前記マルチモーダルデバイス内にインストールされた前記職場アプリケーションおよび前記家庭アプリケーションによって利用されると予想され、かつ現在利用されている利用デバイスセンサの第２のセットをフル電力モードでイネーブルすることと
をさらに含む、請求項１３に記載の方法。
【請求項２２】
前記職場アプリケーションまたは前記家庭アプリケーションからのインストールされたアプリケーションが一時停止されることの指示を受信することと、
前記インストールされたアプリケーションが一時停止された時の、前記インストールされたアプリケーションおよび前記インストールされたアプリケーションに関連するデータの状態をファイルに格納することと、
インストール済みアプリケーション同期化サーバコンピュータに前記ファイルを送信することとをさらに含み、
前記インストール済みアプリケーション同期化サーバコンピュータは、前記インストールされたアプリケーションを前記状態で再開するために別のデバイスに前記ファイルを提供するように適合される、請求項１３に記載の方法。
【請求項２３】
ストリーミングアプリケーションが一時停止されることの第２の指示を受信することと、
前記ストリーミングアプリケーションが一時停止される時の、前記ストリーミングアプリケーションおよび前記ストリーミングアプリケーションに関連するデータの第２の状態をストリーミングアプリケーション同期化サーバコンピュータに送信することとを含み、
前記ストリーミングアプリケーション同期化サーバコンピュータは、前記ストリーミングアプリケーションを前記第２の状態で再開するために別のデバイスに前記第２の状態を提供するように適合される、請求項２２に記載の方法。
【請求項２４】
前記マルチモーダルデバイスは、タブレットコンピュータを含む、請求項１３に記載の方法。
【請求項２５】
プロセッサおよび前記プロセッサに結合されたメモリを含むベースハードウェアと、
前記ベースハードウェア上で動作するように構成されたベアメタルハイパーバイザであって、前記ベアメタルハイパーバイザは、複数のオペレーティングシステムの間で前記ベースハードウェアのリソースを割り当てるように適合される、ベアメタルハイパーバイザと、
前記ベアメタルハイパーバイザ上で動作するように構成された職場オペレーティングシステムを含む職場仮想計算機であって、前記職場オペレーティングシステムは、前記職場仮想計算機にインストールされた職場アプリケーション、および共有アプリケーションを走らせるように適合される、職場仮想計算機と、
前記ベアメタルハイパーバイザ上で動作するように構成された家庭オペレーティングシステムを含む家庭仮想計算機であって、前記家庭オペレーティングシステムは、前記家庭仮想計算機にインストールされた家庭アプリケーション、および共有アプリケーションを走らせるように適合される、家庭仮想計算機と、
前記ベアメタルハイパーバイザ上で動作するように構成されたアービトレータオペレーティングシステムと、
前記アービトレータオペレーティングシステム上で動作するように構成されたスマートアービトレータサーバであって、
前記職場仮想計算機と前記家庭仮想計算機との間のゲートウェイを提供することと、
ポリシーに従って前記職場アプリケーションへのアクセスを管理することであって、前記ポリシーは、ユーザエンティティによる前記職場仮想計算機への前記職場アプリケーションのインストールおよび除去を、非ユーザエンティティが制限することを許す、管理することと、
前記ポリシーに従って前記家庭アプリケーションへのアクセスを管理することであって、前記ポリシーは、前記ユーザエンティティによる前記家庭仮想計算機への前記家庭アプリケーションのインストールおよび除去を、前記非ユーザエンティティが制限することを許さない、管理することとを行うように適合されたスマートアービトレータサーバとを含む、タブレットコンピュータ。
【請求項２６】
前記職場アプリケーションは、前記ポリシーで指定されない限り前記家庭仮想計算機にインストールされることを制限され、前記家庭アプリケーションは、前記職場仮想計算機にインストールされることを制限され、前記共有アプリケーションは、前記家庭仮想計算機と前記職場仮想計算機との間で共有される、請求項２５に記載のタブレットコンピュータ。
【発明の詳細な説明】
【背景技術】
【０００１】
本明細書でそうではないと示されない限り、このセクションで説明される材料は、本願の特許請求の範囲に対する従来技術ではなく、このセクションに含まれることによって従来技術と認められるものではない。
【０００２】
タブレットコンピューティングデバイス（以下では「タブレット」と称する）は、個人使用とビジネス使用の両方について近年人気が高まってきた。ユーザは、個人使用とビジネス使用の両方について単一のタブレットを持ち運ぶことができる。しかし、個人使用の目的とビジネス使用の目的とが異なる場合がある。個人使用の目的は、通常、ユーザによって定義される。たとえば、ユーザが、ゲームおよびソーシャルネットワーキングアプリケーションをタブレットにインストールする自由を望む場合がある。ユーザが、タブレットに格納されるパーソナルデータに関するプライバシーを望む場合もある。ビジネス使用の目的は、通常、企業によって定義される。たとえば、企業が、タブレットにインストールされるアプリケーションを制御することを望む場合がある。企業が、タブレット上のアプリケーションおよびビジネスデータへのアクセスを望む場合もある。
【０００３】
個人使用とビジネス使用との間のこれらの衝突する目的に対処するために、ユーザは、その代わりに、すべての所与の時に２つのタブレットすなわち、個人使用用の１つのタブレットおよびビジネス使用用のもう１つのタブレットを持ち運ぶことができる。しかし、複数のタブレットの持ち運びは、面倒で不便になる可能性がある。さらに、各タブレットが、別々のサービスプランに関連付けられ、これによって追加のコストをこうむる場合がある。
【発明の概要】
【０００４】
本開示は、一般的に、少なくとも二重使用を提供するように構成されたマルチモーダルデバイスを説明するものである。いくつかの例のマルチモーダルデバイスは、ベースハードウェア、ハイパーバイザ、職場仮想計算機（work virtual machine）、家庭仮想計算機（home virtual machine）、アービトレータオペレーティングシステム、およびスマートアービトレータサーバを含むことができる。ベースハードウェアは、プロセッサおよびプロセッサに結合されたメモリを含むことができる。ハイパーバイザを、ベースハードウェア上で動作するように構成することができる。ハイパーバイザは、複数のオペレーティングシステムの間でベースハードウェアのリソースを割り当てるように適合され得る。職場仮想計算機は、ハイパーバイザ上で動作するように構成された職場オペレーティングシステムを含むことができる。職場オペレーティングシステムは、職場仮想計算機にインストールされた職場アプリケーションを走らせるように適合され得る。家庭仮想計算機は、ハイパーバイザ上で動作するように構成された家庭オペレーティングシステムを含むことができる。家庭オペレーティングシステムは、家庭仮想計算機にインストールされた家庭アプリケーションを走らせるように適合され得る。アービトレータオペレーティングシステムは、ハイパーバイザ上で動作するように構成され得る。スマートアービトレータサーバは、アービトレータオペレーティングシステム上で動作するように構成され得る。スマートアービトレータサーバは、職場仮想計算機と家庭仮想計算機との間のゲートウェイを提供し、ポリシーに従って職場アプリケーションへのアクセスを管理し、ポリシーに従って家庭アプリケーションへのアクセスを管理するように適合され得る。職場アプリケーションへのアクセスと家庭アプリケーションへのアクセスとの間でポリシーが異なることができる。
【０００５】
本開示は、一般的に、ベースハードウェア上で動作するように構成されたベアメタルハイパーバイザ（ｂａｒｅ  ｍｅｔａｌ  ｈｙｐｅｒｖｉｓｏｒ）を有するマルチモーダルデバイスを調停する技法をも説明するものである。いくつかの例の方法は、ベアメタルハイパーバイザ上で動作するように構成された職場オペレーティングシステムを含む職場仮想計算機を提供することを含むことができる。職場オペレーティングシステムは、職場仮想計算機にインストールされた職場アプリケーションを走らせるように適合され得る。例の方法は、ベアメタルハイパーバイザ上で動作するように構成された家庭オペレーティングシステムを含む家庭仮想計算機を提供することを含むことができる。家庭オペレーティングシステムは、家庭仮想計算機にインストールされた家庭アプリケーションを走らせるように適合され得る。例の方法は、職場仮想計算機と家庭仮想計算機との間のゲートウェイを提供することを含むことができる。例の方法は、ポリシーに従って職場アプリケーションへのアクセスを管理することを含むこともできる。例の方法は、さらに、ポリシーに従って家庭アプリケーションへのアクセスを管理することを含むことができる。職場アプリケーションへのアクセスと家庭アプリケーションへのアクセスとの間でポリシーが異なることができる。
【０００６】
本開示は、一般的に、少なくとも二重使用を提供するように適合されたタブレットコンピュータをさらに説明するものである。いくつかの例のタブレットコンピュータは、ベースハードウェア、ハイパーバイザ、職場仮想計算機、家庭仮想計算機、アービトレータオペレーティングシステム、およびスマートアービトレータサーバを含むことができる。ベースハードウェアは、プロセッサおよびプロセッサに結合されたメモリを含むことができる。ベアメタルハイパーバイザを、ベースハードウェア上で動作するように構成することができる。ベアメタルハイパーバイザは、複数のオペレーティングシステムの間でベースハードウェアのリソースを割り当てるように適合され得る。職場仮想計算機は、ベアメタルハイパーバイザ上で動作するように構成された職場オペレーティングシステムを含むことができる。職場オペレーティングシステムは、職場仮想計算機にインストールされた職場アプリケーションおよび共有アプリケーションを走らせるように適合され得る。家庭仮想計算機は、ベアメタルハイパーバイザ上で動作するように構成された家庭オペレーティングシステムを含むことができる。家庭オペレーティングシステムは、家庭仮想計算機にインストールされた家庭アプリケーションおよび共有アプリケーションを走らせるように適合され得る。アービトレータオペレーティングシステムは、ベアメタルハイパーバイザ上で動作するように構成され得る。スマートアービトレータサーバを、アービトレータオペレーティングシステム上で動作するように構成することができる。スマートアービトレータサーバを、職場仮想計算機と家庭仮想計算機との間のゲートウェイを提供し、ポリシーに従って職場アプリケーションへのアクセスを管理し、ポリシーに従って家庭アプリケーションへのアクセスを管理するように適合させることができる。職場アプリケーションへのアクセスと家庭アプリケーションへのアクセスとの間でポリシーが異なることができる。
【０００７】
前述の要約は、例示的であるのみであって、いかなる形でも限定的であることは意図されていない。上で説明した例示的な態様、実施形態、および特徴に加えて、さらなる態様、実施形態、および特徴が、図面および次の詳細な説明を参照することによって明白になる。
【０００８】
本開示の前述および他の特徴は、添付図面と共に解釈される次の説明および添付された特許請求の範囲からより十分に明白になる。これらの図面が、本開示による複数の実施形態のみを示し、したがって、その範囲について限定的と考えられてはならないことを理解して、本開示を、添付図面の使用を介してさらなる特定性および詳細を伴って説明する。
【図面の簡単な説明】
【０００９】
【図１】本明細書で提示される少なくともいくつかの実施形態に従って構成された、例のマルチモーダルコンピューティングデバイスを示す機能ブロック図である。
【図２】本明細書で提示される少なくともいくつかの実施形態に従って構成された、スマートアービトレータサーバの例の実施態様を示す機能ブロック図である。
【図３】本明細書で提示される少なくともいくつかの実施形態に従って構成された、複数のコンピューティングデバイスの間で転送可能なアプリケーションを実施するように適合された例の企業クラウドアーキテクチャを示す機能ブロック図である。
【図４】本明細書で提示される少なくともいくつかの実施形態に従って構成された、マルチモーダルデバイスを調停するように適合された例のプロセス４００を示す流れ図である。
【図５】本明細書で提示される少なくともいくつかの実施形態に従って構成された、例のコンピューティングシステムのコンピュータハードウェアアーキテクチャを示すブロック図である。
【図６】本明細書で提示される少なくともいくつかの実施形態に従って構成された、コンピューティングデバイス上でコンピュータプロセスを実行するコンピュータプログラムを含むコンピュータプログラム製品を示す概略図である。
【発明を実施するための形態】
【００１０】
次の詳細な説明では、本明細書の一部を形成する添付図面を参照する。図面では、文脈がそうではないと規定しない限り、類似する記号が、通常は同様の構成要素を識別する。発明を実施するための形態、図面、および特許請求の範囲で説明される例示的実施形態は、限定的であることを意図されたものではない。本明細書で提示される主題の趣旨または範囲から逸脱せずに、他の実施形態を利用することができ、他の変更を行うことができる。本明細書で全般的に説明され、図面に示された本開示の諸態様を、さまざまな異なる構成で配置し、置換し、組み合わせ、分離し、設計することができ、そのすべてが、本明細書で明示的に企図されることが、たやすく理解されるであろう。
【００１１】
本開示は、全般的に、なかんずく、少なくとも２つの自己完結的な個別に管理される分離された環境を提供するように構成されたマルチモーダルコンピューティングデバイスに引き付けられる。いくつかの実施形態では、マルチモーダルコンピューティングデバイスを、家庭仮想計算機を提供するように適合されたパーソナルモードまたは家庭モードおよび職場仮想計算機を提供するように適合された職場モードという２つのモードのうちのいずれか１つで動作し、この２つのモードの間で遷移するように構成することができる。家庭仮想計算機は、個人使用に専用の単一モーダルコンピューティングデバイスのように動作する。たとえば、ユーザは、ユーザが専用のパーソナルコンピューティングデバイス上で有するものと同一の、家庭仮想計算機上でのアプリケーションの選択およびインストールに対する自由を有することができる。職場仮想計算機は、企業（たとえば、ユーザの雇用主）によってユーザに支給され、職場使用に専用である単一モーダルコンピューティングデバイスに似て動作する。たとえば、企業は、専用職場固有コンピューティングデバイスに対して有するのと同一の、職場仮想計算機上のアプリケーションの選択およびインストールに対する制御を有することができる。
【００１２】
図１は、本明細書で提示される少なくともいくつかの実施形態に従って構成された、例のマルチモーダルコンピューティングデバイス１００を示す機能ブロック図である。マルチモーダルコンピューティングデバイス１００を、タブレット、スマートホン、ラップトップコンピュータ、車載コンピュータ、または少なくとも二重使用を有する他のコンピューティングデバイスとして実施することができる。マルチモーダルコンピューティングデバイス１００は、ベースハードウェア１０２およびベースハードウェア１０２上で走るように構成されたハイパーバイザ１０４を含むことができる。マルチモーダルコンピューティングデバイス１００は、家庭オペレーティングシステム１０６、職場オペレーティングシステム１０８、およびアービトレータオペレーティングシステム１１０をも含むことができ、これらのそれぞれは、ハイパーバイザ１０４上で走るように構成される。家庭オペレーティングシステム１０６を、１つまたは複数の家庭アプリケーション１１２を走らせ、家庭データ１１４にアクセスするように構成することができる。職場オペレーティングシステム１０８を、１つまたは複数の職場アプリケーション１１６を走らせ、職場データ１１８にアクセスするように構成することができる。アービトレータオペレーティングシステム１１０を、スマートアービトレータサーバ１２０を走らせるように構成することができる。マルチモーダルコンピューティングデバイス１００は、１つもしくは複数のセンサ１２２および／または１つもしくは複数の無線通信部１２４をも含むことができる。
【００１３】
ハイパーバイザ１０４は、いくつかの実施形態によるベアメタルハイパーバイザとすることができる。ベアメタル実施態様では、ハイパーバイザ１０４は、ハイパーバイザ１０４とベースハードウェア１０２との間の介在するソフトウェアなしでベースハードウェア１０２上で直接に実行しまたは走らせることができる。ハイパーバイザ１０４を、プロセッサ、キャッシュメモリ、メインメモリ、およびベースハードウェア１０２の他の共有リソースへのアクセスを管理し、制御するように構成することができる。ハイパーバイザ１０４を介して、家庭オペレーティングシステム１０６、職場オペレーティングシステム１０８、およびアービトレータオペレーティングシステム１１０を含む複数のオペレーティングシステムを、同一のベースハードウェア１０２上にインストールし、実行するまたは走らせることができる。
【００１４】
家庭オペレーティングシステム１０６は、自己完結的で職場オペレーティングシステム１０８から分離されたものとすることができる。家庭オペレーティングシステム１０６は、個人使用シナリオに適合された家庭仮想計算機を形成することができる。家庭仮想計算機内では、ユーザまたはユーザエンティティが、家庭アプリケーション１１２および家庭データ１１４の制御を有し、これらへの制限されないアクセスを有することができる。家庭アプリケーション１１２のいくつかの例は、写真表示アプリケーション、ナビゲーションアプリケーション、音楽アプリケーション、ソーシャルネットワーキングアプリケーション、映画表示アプリケーション、ゲーム、パーソナルバックアップアプリケーション、または個人使用シナリオに関連する他のパーソナルアプリケーションを含むことができる。家庭データ１１４のいくつかの例は、個人的な写真、音楽、映画、または個人使用シナリオに関連する他のパーソナルデータを含むことができる。
【００１５】
職場オペレーティングシステム１０８は、自己完結的で家庭オペレーティングシステム１０６から分離されたものとすることができる。職場オペレーティングシステム１０８は、職場使用シナリオに適合された職場仮想計算機を形成することができる。職場仮想計算機内では、企業の情報技術（「ＩＴ」）マネージャまたは他の許可された代理人（非ユーザエンティティとも称する）が、職場アプリケーション１１６および職場データ１１８の制御を有し、これらへのアクセスを有することができる。ＩＴマネージャは、職場アプリケーション１１６および／または職場データ１１８へのユーザのアクセスを制限することもできる。職場アプリケーション１１６のいくつかの例は、支出アプリケーション、企業電子メールアプリケーション、カスタマリレーションシップ管理アプリケーション、企業バックアップアプリケーション、または職場使用シナリオに関連する他の企業固有アプリケーションを含むことができる。職場データ１１８のいくつかの例は、支出データ、クライアントデータ、企業電子メール、または職場使用シナリオに関連する他の企業固有データを含むことができる。
【００１６】
スマートアービトレータサーバ１２０を、アービトレータオペレーティングシステム１１０上で走るように構成することができる。家庭オペレーティングシステム１０６および職場オペレーティングシステム１０８は、所与のオペレーティングシステムの、より完全なバージョンとすることができるが、アービトレータオペレーティングシステム１１０は、オペレーティングシステムの必要最低限のバージョン（stripped-down version）とすることができる。スマートアービトレータサーバ１２０を、制限された個数のタスクを実行するように構成することができる。その結果、アービトレータオペレーティングシステム１１０を、これらのタスクを実行するためにスマートアービトレータサーバ１２０によって利用されるコンポーネントだけに縮小することができる。この形で、アービトレータオペレーティングシステム１１０は、高められた性能および下げられた電力消費を提供することができる。
【００１７】
さまざまな実施形態によれば、マルチモーダルコンピューティングデバイス１００を、２つのモードのうちのいずれか１つすなわち家庭モードまたは職場モードで動作するように構成することができる。マルチモーダルコンピューティングデバイス１００が家庭モードで動作する時には、マルチモーダルコンピューティングデバイス１００を、家庭オペレーティングシステム１０６を走らせるように構成することができる。ユーザの展望から、家庭モードで構成されまたは家庭モードで動作するマルチモーダルコンピューティングデバイス１００は、個人使用専用の単一モーダルコンピューティングデバイスのように動作することができる。マルチモーダルコンピューティングデバイス１００が職場モードで動作する時には、マルチモーダルコンピューティングデバイス１００を、職場オペレーティングシステム１０８を走らせるように構成することができる。ユーザの展望から、職場モードで構成されまたは職場モードで動作するマルチモーダルコンピューティングデバイス１００は、企業によってユーザに支給された、職場使用に専用の単一モーダルコンピューティングデバイスのように動作することができる。
【００１８】
スマートアービトレータサーバ１２０は、家庭仮想計算機または職場仮想計算機のいずれかへのインテリジェントゲートウェイとして働くことができる。スマートアービトレータサーバ１２０を、職場仮想計算機に対するＩＴマネージャの制御を提供するように構成することができる。たとえば、ＩＴマネージャは、職場アプリケーション１１６および職場データ１１８へのユーザのアクセスを制限することができる。スマートアービトレータサーバ１２０を、複数のデバイス上でアプリケーションを走らせる柔軟性を提供するように構成することもできる。たとえば、スマートアービトレータサーバ１２０を、ユーザが、所与の状態でマルチモーダルコンピューティングデバイス１００上で走るアプリケーションを一時停止し、その後、同一の状態での別のコンピューティングデバイス上でのそのアプリケーションの実行を再開することを可能にするように構成することができる。スマートアービトレータサーバ１２０を、センサ１２２および／または無線通信部１２４のうちで少なくとも利用されていない部分をターンオフするかスタンバイモードに遷移させることによって、電力消費を管理するようにさらに構成することができる。スマートアービトレータサーバ１２０に関するさらなる詳細を、図２を参照して下で提供する。
【００１９】
センサ１２２のいくつかの例は、コンパス、カメラ、マイクロホン、加速度計、ジャイロスコープ、または全地球測位システム（「ＧＰＳ」）受信器を含むことができる。センサ１２２によって入手されたデータを、家庭アプリケーション１１２、職場アプリケーション１１６、および／またはマルチモーダルコンピューティングデバイス１００にインストールされた他のアプリケーションによって利用することができる。無線通信部１２４のいくつかの例は、３Ｇネットワークにアクセスするように構成された３Ｇ無線通信部、４Ｇネットワークにアクセスするように構成された４Ｇ無線通信部、ＷＩ−ＦＩネットワークにアクセスするように構成されたＷＩ−ＦＩ無線通信部、またはＢＬＵＥＴＯＯＴＨネットワーク（ＢＬＵＥＴＯＯＴＨは登録商標）にアクセスするように構成されたＢＬＵＥＴＯＯＴＨ無線通信部を含むことができる。無線通信部１２４は、マルチモーダルコンピューティングデバイス１００が、さまざまな公衆ネットワークおよび私有ネットワークならびにインターネットを介して他のコンピューティングデバイスと通信することを可能にすることができる。
【００２０】
図２は、本明細書で提示される少なくともいくつかの実施形態に従って構成された、スマートアービトレータサーバ１２０の例の実施態様を示す機能ブロック図である。スマートアービトレータサーバ１２０は、接続マネージャ２０２、システムセッティングモジュール２０４、通知サービスモジュール２０６、共有サービスモジュール２０８、アクティビティマネージャ２１０、メタデータリポジトリ２１２、および１つまたは複数の共有アプリケーション２１４を含むことができる。
【００２１】
マルチモーダルコンピューティングデバイス１００にインストールされ、そこで走るアプリケーションのいくつかの例は、家庭アプリケーション１１２、職場アプリケーション１１６、および共有アプリケーション２１４を含むことができる。家庭アプリケーション１１２は、個人使用シナリオに関連するパーソナルアプリケーションを含むことができる。たとえば、家庭アプリケーション１１２は、職場環境に関してまたは職場環境内で適切ではないエンターテイメントアプリケーションおよびゲームアプリケーションを含むことができる。家庭アプリケーション１１２を、家庭データ１１４にアクセスするように構成することができる。ユーザは、マルチモーダルコンピューティングデバイス１００が家庭モードで動作する時に、家庭アプリケーション１１２を走らせることができる。
【００２２】
ユーザは、家庭アプリケーション１１２および家庭データ１１４の制御およびこれらへの制限されないアクセスを有することができる。ＩＴマネージャは、家庭アプリケーション１１２または家庭データ１１４の制御、これらへのアクセス、またはこれらの可視性を有しないものとすることができる。いくつかの実施形態では、ユーザは、アクティビティマネージャ２１０を介して、公にアクセス可能なアプリケーションストアにアクセスし、ある種の家庭アプリケーションを選択することができる。選択された家庭アプリケーションを公にアクセス可能なアプリケーションストアからダウンロードし、選択された家庭アプリケーションを家庭オペレーティングシステム１０６上でインストールするように、アクティビティマネージャ２１０を構成することができる。公にアクセス可能なアプリケーションストアを、マルチモーダルコンピューティングデバイス１００のプラットフォームに関連付けることができる。特定のプラットフォームに関連する公にアクセス可能なアプリケーションストアのいくつかの例は、ＡＰＰＬＥ，ＩＮＣ．のＡＰＰ  ＳＴＯＲＥ、ＧＯＯＧＬＥ社のＡＮＤＲＯＩＤ  ＭＡＲＫＥＴ（ＡＮＤＲＯＩＤは登録商標）、またはＭＩＣＲＯＳＯＦＴ社のＷＩＮＤＯＷＳ  ＰＨＯＮＥ  ＭＡＲＫＥＴＰＬＡＣＥ（ＷＩＮＤＯＷＳは登録商標）を含むことができる。
【００２３】
職場アプリケーション１１６は、職場使用シナリオに関連する職場アプリケーションを含むことができる。たとえば、職場アプリケーション１１６は、独占的なトレードシークレットまたは機密クライアントデータにアクセスする企業アプリケーションを含むことができる。職場アプリケーション１１６を、職場データ１１８にアクセスするように構成することができる。ユーザは、マルチモーダルコンピューティングデバイス１００が職場モードで動作する時に、職場アプリケーション１１６を走らせることができる。
【００２４】
ＩＴマネージャは、職場アプリケーション１１６および職場データ１１８の制御およびこれらへのアクセスを有することができる。ＩＴマネージャは、アクティビティマネージャ２１０を介して、職場アプリケーション１１６および職場データ１１８に関してユーザが有するアクセスのレベルを定義することができる。ＩＴマネージャは、マルチモーダルコンピューティングデバイス１００にインストールできる特定の職場アプリケーションを定義することもできる。いくつかの実施形態では、ＩＴマネージャは、プライベートにアクセス可能なアプリケーションストア内で、マルチモーダルコンピューティングデバイス１００にダウンロードし、インストールすることのできるある種の職場アプリケーションを承認し、供給することができる。ユーザまたはＩＴマネージャは、アクティビティマネージャ２１０を介して、プライベートにアクセス可能なアプリケーションストアにアクセスすることができる。プライベートにアクセス可能なアプリケーションストアから、供給された職場アプリケーションをダウンロードし、供給された職場アプリケーションを職場オペレーティングシステム１０８上でインストールするように、アクティビティマネージャ２１０を構成することができる。プライベートにアクセス可能なアプリケーションストアを、企業に関連付けることができる。プライベートにアクセス可能なアプリケーションストアは、ある種のユーザ（たとえば、従業員または企業）にアクセスを制限することができる。また、マルチモーダルコンピューティングデバイス１００が家庭モードである時に、ユーザがプライベートにアクセス可能なアプリケーションストアにアクセスするのを制限することができる。
【００２５】
共有アプリケーション２１４は、家庭オペレーティングシステム１０６と職場オペレーティングシステム１０８の両方によって利用されるアプリケーションを含むことができる。ＩＴマネージャは、共有アプリケーション２１４に対する制御を有することができる。ＩＴマネージャは、マルチモーダルコンピューティングデバイス１００にインストールすることのできる特定の共有アプリケーションを定義することができる。いくつかの実施形態では、ＩＴマネージャは、マルチモーダルコンピューティングデバイス１００にダウンロードし、インストールすることのできる、プライベートにアクセス可能なアプリケーションストア内のある種の共有アプリケーションを承認し、供給することができる。ユーザまたはＩＴマネージャは、アクティビティマネージャ２１０を介して、プライベートにアクセス可能なアプリケーションストアにアクセスすることができる。プライベートにアクセス可能なアプリケーションストアから供給された共有アプリケーションをダウンロードし、供給された共有アプリケーションをマルチモーダルコンピューティングデバイス１００にインストールするように、アクティビティマネージャ２１０を構成することができる。共有アプリケーション２１４のいくつかの例は、さまざまなユーティリティアプリケーション（たとえば、クロックアプリケーション、カレンダアプリケーションなど）ならびにさまざまなプロダクティビティアプリケーション（たとえば、ワードプロセッシングアプリケーション、スプレッドシートアプリケーションなど）を含むことができる。共有アプリケーション２１４を、区別された家庭データおよび職場データ、および／または共有データに関連付けることができる。
【００２６】
ＩＴマネージャまたはユーザのどちらがインストールを開始するのかに応じて、マルチモーダルコンピューティングデバイス１００の異なるエリアに共有アプリケーション２１４をインストールするように、アクティビティマネージャ２１０を構成することができる。ＩＴマネージャが共有アプリケーションのインストールを開始する場合には、スマートアービトレータサーバ１２０および／または職場オペレーティングシステム１０８上に共有アプリケーションをインストールするように、アクティビティマネージャ２１０を構成することができる。ユーザが共有アプリケーションのインストールを開始する場合には、家庭オペレーティングシステム１０６上に共有アプリケーションをインストールするように、アクティビティマネージャ２１０を構成することができる。ＩＴマネージャは、アクティビティマネージャ２１０を介して、ユーザが共有アプリケーションのインストールを許されるかどうかを定義することができる。いくつかの実施態様は、スマートアービトレータサーバ１２０、家庭オペレーティングシステム１０６、および／または職場オペレーティングシステム１０８上での共有アプリケーション２１４の重複インストールを可能にすることができる。ユーザは、家庭オペレーティングシステム１０６上の共有アプリケーション２１４のインストールの、より大きい制御を有することができ、ＩＴマネージャは、スマートアービトレータサーバ１２０または職場オペレーティングシステム１０８上の共有アプリケーション２１４のインストールの、より大きい制御を有することができる。
【００２７】
マルチモーダルコンピューティングデバイス１００にインストールされる家庭アプリケーション１１２および／または職場アプリケーション１１６のうちの少なくともいくつかを、転送可能アプリケーションとすることができる。他の転送可能アプリケーションは、完全にクラウド内（たとえば、リモートサーバコンピュータ上）に配置されるストリーミングアプリケーション、ならびに、各転送可能アプリケーションの一部がクラウド内に配置され、各転送可能アプリケーションの別の部分がマルチモーダルコンピューティングデバイス１００内に配置される、ハイブリッドアプリケーションを含むことができる。ユーザは、第１のコンピューティングデバイス上の転送可能アプリケーションを所与の状態で一時停止し、その後、第２のコンピューティングデバイス上のその転送可能アプリケーションを同一の状態で再開することができる。第１のコンピューティングデバイスおよび／または第２のコンピューティングデバイスを、マルチモーダルコンピューティングデバイス１００とすることができる。転送可能アプリケーションに関する追加の詳細は、下で図３を参照して提供する。
【００２８】
アプリケーション開発者が、家庭アプリケーション１１２および職場アプリケーション１１６などのアプリケーションを作成する時に、アプリケーション開発者は、そのアプリケーションに関連するメタデータをも作成することができる。スマートアービトレータサーバ１２０、家庭オペレーティングシステム１０６、および職場オペレーティングシステム１０８上の各インストールされたアプリケーションに関連するメタデータを読み取るように、アクティビティマネージャ２１０を構成することができる。メタデータリポジトリ２１２を作成し、メタデータをメタデータリポジトリ２１２に格納するように、アクティビティマネージャ２１０を構成することができる。各アプリケーションに関連するメタデータは、制御情報、構成情報、および／またはアプリケーションに関連する位置情報を含むことができる。各アプリケーションに関連するメタデータは、そのアプリケーションが転送可能アプリケーションであるかどうかを指定することもできる。転送可能アプリケーションについて、関連するメタデータは、転送可能アプリケーションによってサポートされるデバイスタイプ、転送を実行するように適合された同期化サーバのアイデンティティおよび位置、転送をもたらすための他の情報、および／または状態情報を指定することもできる。転送可能アプリケーションに関する追加の詳細は、下で図３を参照して提供する。
【００２９】
メタデータは、各インストールされたアプリケーションによって利用されるセンサ１２２および／または無線通信部１２４がどれであるのかを指定することもできる。マルチモーダルコンピューティングデバイス１００上に存在するセンサ１２２および無線通信部１２４を指定する目録を維持するように、アクティビティマネージャ２１０を構成することができる。この目録をメタデータリポジトリ２１２に格納するように、アクティビティマネージャ２１０を構成することもできる。さらに、目録とセンサ１２２のどれおよび無線通信部１２４のどれが各インストールされたアプリケーションによって利用されるのかを指定するメタデータとの間のマップを生成するように、アクティビティマネージャを構成することができる。アプリケーション、センサ、および／または無線通信部が、マルチモーダルコンピューティングデバイス１００に追加され、これから除去される時に、それに応じてメタデータリポジトリ２１２を更新するように、アクティビティマネージャ２１０を構成することができる。どのアプリケーションが、インストールされたが走っていないのか、どのアプリケーションが、走っておりアクティブであるのか（たとえば、フォアグラウンドで走っており、ユーザに露出されるアプリケーション）、および／またはどのアプリケーションが、走っているがアクティブではないのか（たとえば、バックグラウンドで走っており、ユーザに露出されないアプリケーション）を指定するアプリケーションリストを維持するように、アクティビティマネージャ２１０を構成することができる。
【００３０】
３つの電力セッティングすなわち、デフォルトセッティング、自動セッティング、およびカスタムセッティングのうちの１つに従ってセンサ１２２のそれぞれおよび／または無線通信部１２４のそれぞれの電力レベルをセットするように、アクティビティマネージャ２１０を構成することができる。デフォルトセッティングでは、センサ１２２のそれぞれおよび／または無線通信部１２４のそれぞれをパワーオンするように、アクティビティマネージャ２１０を構成することができる。センサ１２２および／または無線通信部１２４を、インストールされた特定のアプリケーションに関わりなく、または、インストールされたアプリケーションが走っている、かつ／もしくはアクティブであるかどうかに関わりなく、パワーオンすることができる。
【００３１】
自動セッティングでは、目録に基づいて、マルチモーダルコンピューティングデバイス１００上に存在するセンサ１２２および／または無線通信部１２４を識別するように、アクティビティマネージャ２１０を構成することができる。インストールされたアプリケーションによって利用されないセンサおよび／または無線通信部をターンオフするように、アクティビティマネージャ２１０を構成することができる。現在走っていないインストールされたアプリケーションおよび／または走っているがアクティブではないアプリケーションによって利用されるセンサおよび／または無線通信部を、スタンバイ電力モードに遷移させるように、アクティビティマネージャ２１０を構成することができる。スタンバイ電力モードは、パワーオンモードより大幅に少ない電力を消費する可能性がある。たとえば、パワーオンモードを、フル電力モードとすることができ、スタンバイ電力モードを、省電力モードとすることができる。現在走っていてアクティブなインストールされたアプリケーションによって利用されるセンサおよび／または無線通信部をパワーオンするように、アクティビティマネージャ２１０を構成することができる。
【００３２】
カスタムセッティングでは、目録に基づいて、マルチモーダルコンピューティングデバイス１００上に存在するセンサ１２２および／または無線通信部１２４を識別するように、アクティビティマネージャ２１０を構成することができる。ユーザ定義のセッティングに基づいて、センサ１２２のそれぞれおよび／または無線通信部１２４のそれぞれをターンオフし、スタンバイ電力モードに遷移させ、かつ／またはパワーオンするように、アクティビティマネージャ２１０を構成することができる。ユーザがある種の変更を行うのを制限するように、アクティビティマネージャ２１０を構成することができる。たとえば、現在走っていてアクティブなインストールされたアプリケーションによって利用されるセンサおよび／または無線通信部をユーザがターンオフするのを防ぐように、アクティビティマネージャ２１０を構成することができる。
【００３３】
ＩＴマネージャは、マルチモーダルコンピューティングデバイス１００を占有する時に、マルチモーダルコンピューティングデバイス１００を構成することができる。ＩＴマネージャは、リモートでマルチモーダルコンピューティングデバイス１００を構成することもできる。ＩＴマネージャは、接続マネージャ２０２を介してマルチモーダルコンピューティングデバイス１００にリモートで接続することができる。接続マネージャ２０２を、ＩＴマネージャを認証するように構成することができる。ＩＴマネージャが、接続マネージャ２０２を介してマルチモーダルコンピューティングデバイス１００にリモートで接続済みである時に、ＩＴマネージャは、さまざまなネットワークを接続マネージャ２０２に登録することができる。ユーザは、これらの登録されたネットワークを利用して、企業ネットワーク２１６および１つまたは複数の非企業ネットワーク２１８を介して通信することができる。企業ネットワーク２１６は、企業のプライベートネットワークを指すことができる。企業ネットワーク２１６を、企業ＷＩ−ＦＩネットワークまたは仮想プライベートネットワーク（「ＶＰＮ」）を介してアクセス可能とすることができる。非企業ネットワーク２１８は、ユーザに関連するパーソナルネットワーク、公にアクセス可能なネットワーク、および／または企業に関連しない他のネットワークを指すことができる。登録される公にネットワークのいくつかの例は、３Ｇ／４Ｇネットワークおよび／または公衆ＷＩ−ＦＩネットワークを含むことができる。
【００３４】
ＩＴマネージャが、接続マネージャ２０２を介してマルチモーダルコンピューティングデバイス１００にリモートに接続済みである時に、ＩＴマネージャは、職場仮想計算機にさまざまなポリシーを割り当てることもできる。下でより詳細に説明する、ポリシーのいくつかの例は、同期化ポリシー、セキュリティポリシー、およびアクセスポリシーを含むことができる。アクティビティマネージャ２１０を、これらのポリシーを実施するように構成することができる。
【００３５】
アクティビティマネージャ２１０を、家庭仮想計算機と職場仮想計算機との間の分離を管理するように構成することができる。アクティビティマネージャ２１０を、企業が職場仮想計算機へのアクセスを有するが、家庭仮想計算機へのアクセスを有しないと規定するように構成することができる。企業が企業ＷＩ−ＦＩネットワークまたはＶＰＮなどのある種の登録されたネットワークを介して職場仮想計算機にリモートでアクセスできると規定するように、アクティビティマネージャ２１０を構成することができる。ユーザが職場仮想計算機へのアクセスを有するようにするために、ＩＴマネージャが職場仮想計算機をロックダウンすることを可能にするように、アクティビティマネージャ２１０を構成することができる。ロックダウン中に、ＩＴマネージャは、アクティビティマネージャ２１０を利用して、職場仮想計算機のコンプライアンス機能、監査機能、アップグレード、および／または保守を実行することができる。
【００３６】
マルチモーダルコンピューティングデバイス１００の位置に基づいて、職場仮想計算機および家庭仮想計算機を特定のネットワークに接続するように、アクティビティマネージャ２１０を構成することができる。たとえば、アクティビティマネージャ２１０を、ＧＰＳ受信器を介してマルチモーダルコンピューティングデバイス１００の位置を判定するように構成することができる。マルチモーダルコンピューティングデバイスの位置は、ユーザが職場にいるのか職場以外にいるのかを示すことができる。
【００３７】
ユーザが職場にいる場合に、アクティビティマネージャ２１０を、接続マネージャ２０２によって指定される企業ＷＩ−ＦＩネットワークが使用可能であるかどうかを判定するように構成することができる。企業ＷＩ−ＦＩネットワークは、企業ネットワーク２１６へのローカルアクセスを提供することができる。企業ＷＩ−ＦＩネットワークが使用可能である場合には、接続マネージャ２０２を介して職場仮想計算機を企業ＷＩ−ＦＩネットワークに接続するように、アクティビティマネージャ２１０を構成することができる。企業ＷＩ−ＦＩネットワークが使用可能ではない場合には、接続マネージャ２０２を介して、３Ｇ／４Ｇネットワークを使用して職場仮想計算機をＶＰＮに接続するように、アクティビティマネージャ２１０を構成することができる。ＶＰＮは、企業ネットワーク２１６へのリモートアクセスを提供することができる。接続マネージャ２０２を介して、家庭仮想計算機を公衆ＷＩ−ＦＩネットワークまたは３Ｇ／４Ｇネットワークに接続するように、アクティビティマネージャ２１０を構成することができる。
【００３８】
ユーザが職場にいない場合に、アクティビティマネージャ２１０を、ＷＩ−ＦＩネットワークが使用可能であるかどうかを判定するように構成することができる。ＷＩ−ＦＩネットワークが使用可能である場合には、接続マネージャ２０２を介して、ＷＩ−ＦＩネットワークを使用して職場仮想計算機をＶＰＮに接続するように、アクティビティマネージャ２１０を構成することができる。ＷＩ−ＦＩネットワークが使用可能である場合には、接続マネージャ２０２を介して、家庭仮想計算機をＷＩ−ＦＩネットワークに接続するように、アクティビティマネージャ２１０を構成することができる。ＷＩ−ＦＩネットワークが使用可能ではない場合には、接続マネージャ２０２を介して、３Ｇ／４Ｇネットワークを使用して職場仮想計算機をＶＰＮに接続するように、アクティビティマネージャ２１０を構成することができる。ＷＩ−ＦＩネットワークが使用可能ではない場合には、接続マネージャ２０２を介して、家庭仮想計算機を３Ｇ／４Ｇネットワークに接続するように、アクティビティマネージャ２１０を構成することもできる。
【００３９】
アクティビティマネージャ２１０を、同期化ポリシーを実施するように構成することができる。例示的実施態様では、企業サーバを、職場アプリケーション１１６および／または職場データ１１８をバックアップするように構成することができる。ユーザのパーソナルコンピュータを、家庭アプリケーション１１２および／または家庭データ１１４をバックアップするように構成することができる。同期化ポリシーは、企業サーバが、職場アプリケーション１１６および／または職場データ１１８をバックアップすることを許すことができる。同期化ポリシーは、企業サーバが家庭アプリケーション１１２および／または家庭データ１１４をバックアップすることを制限することができる。同期化ポリシーは、ユーザのパーソナルコンピュータが家庭アプリケーション１１２および／または家庭データ１１４をバックアップすることを許すことができる。同期化ポリシーは、ユーザのパーソナルコンピュータが職場アプリケーション１１６および／または職場データ１１８をバックアップするのを制限することができる。
【００４０】
アクティビティマネージャ２１０を、セキュリティポリシーを実施するように構成することができる。セキュリティポリシーは、ＩＴマネージャが、職場仮想計算機上で構成動作、バックアップ動作、ロード動作、および／またはアンロード動作を実行することを許すことができる。セキュリティポリシーは、ＩＴが、家庭仮想計算機上で同一の動作を実行することを制限することができる。
【００４１】
マルチモーダルコンピューティングデバイス１００の位置またはユーザの過去の挙動に基づいて職場仮想計算機または家庭仮想計算機をアクティブ化するように、アクティビティマネージャ２１０を構成することができる。たとえば、ＧＰＳ受信器を介してマルチモーダルコンピューティングデバイス１００の位置を判定するように、アクティビティマネージャ２１０を構成することができる。マルチモーダルコンピューティングデバイスの位置は、ユーザが職場にいるのか職場以外にいるのかを示すことができる。ユーザが職場にいる場合には、職場仮想計算機をアクティブ化するように、アクティビティマネージャ２１０を構成することができる。ユーザが職場以外にいる場合には、家庭仮想計算機をアクティブ化するように、アクティビティマネージャ２１０を構成することができる。
【００４２】
ユーザが当初にマルチモーダルコンピューティングデバイス１００にアクセスする（たとえば、ターンオンする）時に、ウェルカムスクリーンを表示するように、アクティビティマネージャ２１０を構成することができる。ウェルカムスクリーンは、職場アイコンまたは家庭アイコンを含むグラフィカルユーザインターフェースとすることができる。ユーザが、マルチモーダルコンピューティングデバイス１００の位置に基づいて職場により近い場合には、職場アイコンを、家庭アイコンより大きく示すことができる。ユーザが、マルチモーダルコンピューティングデバイス１００の位置に基づいて職場により遠い場合には、家庭アイコンを、職場アイコンと同一のサイズまたはこれより大きく示すことができる。ユーザが、グラフィカルユーザインターフェースを介して職場アイコンを選択する場合には、職場仮想計算機をアクティブ化するようにアクティビティマネージャ２１０を構成することができる。ユーザが、グラフィカルユーザインターフェースを介して家庭アイコンを選択する場合には、家庭仮想計算機をアクティブ化するようにアクティビティマネージャ２１０を構成することができる。
【００４３】
システムセッティングモジュール２０４を、ユーザがマルチモーダルコンピューティングデバイス１００のさまざまなシステムセッティングを変更することを可能にするように構成することができる。たとえば、現在のシステムセッティングの下で、マルチモーダルコンピューティングデバイス１００のマイクロホンを、ターンオフすることができる。ユーザは、システムセッティングモジュール２０４を使用して、マイクロホンをターンオンすることができる。
【００４４】
通知サービスモジュール２０６を、ユーザ、ＩＴマネージャ、および／または他のデバイスにさまざまな通知を提供するように構成することができる。通知のいくつかの例は、情報通知（たとえば、アプリケーションがインストールされた、ジャイロスコープが停止されたなど）、使用可能通知（たとえば、アプリケーションが一時停止され、別のデバイスに転送された）、または人間介入通知（たとえば、アプリケーションがクラッシュし、技術的応答を必要とする、ハードウェアがクラッシュし、技術的応答を必要とするなど）を含むことができる。いくつかの実施形態では、通知サービスモジュール２０６を利用して、マルチモーダルコンピューティングデバイス１００と他のコンピューティングデバイスとの間の転送可能アプリケーションを実施することができる。通知サービスモジュール２０６に関する追加の詳細は、下で図３を参照して提供する。
【００４５】
家庭オペレーティングシステム１０６と職場オペレーティングシステム１０８とによって共有されるさまざまなサービスを提供するように、共有サービスモジュール２０８を構成することができる。共有サービスのいくつかの例は、クロックタイム、バックアップサービス、またはバッテリ寿命を含むことができる。共有サービスのいくつかの他の例は、画面解像度または画面明るさなど、グローバルデバイスコントロールを含むことができる。
【００４６】
いくつかの実施形態では、アクティビティマネージャ２１０、通知サービスモジュール２０６、および／または共有サービスモジュール２０８を、ユーザおよび／またはＩＴマネージャによってプログラム可能とすることができる。したがって、アクティビティマネージャ２１０、通知サービスモジュール２０６、および／または共有サービスモジュール２０８の初期構成の後であっても、ユーザおよび／またはＩＴマネージャは、新しいユースケースシナリオに対処するために、アクティビティマネージャ２１０、通知サービスモジュール２０６、および／または共有サービスモジュール２０８を変更することができる。
【００４７】
図３は、本明細書で提示される少なくともいくつかの実施形態に従って構成された、複数のコンピューティングデバイスの間で転送可能なアプリケーションを実施するように適合された例の企業クラウドアーキテクチャ３００を示す機能ブロック図である。企業クラウドアーキテクチャ３００は、アプリケーションテーブル３０２、プロビジョニングサーバ３０４、ユーザデバイスレジストリ３０６、および複数の同期化サーバ３０８を含むことができる。同期化サーバ３０８のいくつかの例は、ストリーミングアプリケーション同期化サーバ３１０、インストール済みアプリケーション同期化サーバ３１２、およびハイブリッドアプリケーション同期化サーバ３１４を含むことができる。同期化サーバ３０８を、ネットワーク３１８を介して、第１のコンピューティングデバイス３１６Ａおよび第２のコンピューティングデバイス３１６Ｂに結合することができる。第１のコンピューティングデバイス３１６Ａおよび第２のコンピューティングデバイス３１６Ｂを、集合的に、コンピューティングデバイス３１６と称する場合がある。第１のコンピューティングデバイス３１６Ａおよび／または第２のコンピューティングデバイス３１６Ｂを、マルチモーダルコンピューティングデバイス１００として実施することができる。
【００４８】
ユーザは、ユーザデバイスレジストリ３０６を介して複数のコンピューティングデバイスを登録することができる。アプリケーションテーブル３０２は、アプリケーションおよびアプリケーションのそれぞれに関連するアプリケーション属性のリストを含むことができる。アプリケーション属性は、各アプリケーションがストリーミングアプリケーション、インストールされたアプリケーション、またはハイブリッドアプリケーションのどれであるのかを指定する情報を含むことができる。プロビジョニングサーバ３０４は、ユーザデバイスレジストリ３０６からコンピューティングデバイスのリストを取り出すように構成され得る。プロビジョニングサーバ３０４は、コンピューティングデバイスのそれぞれに関連する、メタデータリポジトリ２１２などのメタデータリポジトリからメタデータを取り出すように構成され得る。
【００４９】
プロビジョニングサーバ３０４を、メタデータに基づいて転送可能アプリケーションを識別するように構成することができる。アプリケーション属性に基づいて、各転送可能アプリケーションが、ストリーミングアプリケーション、インストールされたアプリケーション、またはハイブリッドアプリケーションのいずれかであると識別されるようにプロビジョニングサーバ３０４を構成することができる。転送可能アプリケーションを識別する時およびアプリケーション属性に基づいてアプリケーションのタイプを識別する時に、転送可能アプリケーションがストリーミングアプリケーション、インストールされたアプリケーション、またはハイブリッドアプリケーションのどれであるのかに依存して、同期化サーバ３０８のうちの１つを各転送可能アプリケーションに関連付けるように、プロビジョニングサーバ３０４を構成することができる。
【００５０】
転送可能アプリケーションのアプリケーション属性が、転送可能アプリケーションがストリーミングアプリケーションであることを示す場合には、ストリーミングアプリケーション同期化サーバ３１０にストリーミングアプリケーションを割り当てるようにプロビジョニングサーバ３０４を構成することができる。ストリーミングアプリケーションは、完全にクラウド内に常駐するアプリケーションを指すことができる。たとえば、コンピューティングデバイス３１６を、リモートサーバコンピュータを介してストリーミングアプリケーションにアクセスするように構成することができる。
【００５１】
図示の実施態様では、ユーザは、第１のコンピューティングデバイス３１６Ａ上でストリーミングアプリケーションにアクセスすることができる。その後、ユーザは、ストリーミングアプリケーションを一時停止することができる。ストリーミングアプリケーションが一時停止されたこと、ユーザを識別するユーザ識別子、ストリーミングアプリケーションを識別するアプリケーション識別子（たとえば、ストリーミングアプリケーションの名前）、ならびに、ストリーミングアプリケーションの状態および通知サービスモジュール２０６への一時停止の時の関連するデータなどの通知を送信するように、アクティビティマネージャ２１０を構成することができる。接続マネージャ２０２を介して、ストリーミングアプリケーションが一時停止されたことの通知、ユーザ識別子、アプリケーション識別子、および状態をストリーミングアプリケーション同期化サーバ３１０に送信するように、通知サービスモジュール２０６を構成することができる。
【００５２】
第２のコンピューティングデバイス３１６Ｂを、ストリーミングアプリケーション同期化サーバ３１０にユーザ識別子およびアプリケーション識別子をサブミットするように構成することができる。ストリーミングアプリケーション同期化サーバ３１０へ送られたユーザ識別子およびアプリケーション識別子の受信時に、ストリーミングアプリケーション同期化サーバ３１０を、一時停止の時のストリーミングアプリケーションおよび関連するデータの状態を取り出すように構成することができる。ストリーミングアプリケーション同期化サーバ３１０を、一時停止の時のストリーミングアプリケーションおよび関連するデータの状態を第２のコンピューティングデバイス３１６Ｂに提供するように構成することができる。第２のコンピューティングデバイス３１６Ｂを、一時停止の時のストリーミングアプリケーションおよび関連するデータの状態でストリーミングアプリケーションを再開するように構成することができる。
【００５３】
いくつかの実施形態では、ユーザが、ストリーミングアプリケーションを一時停止する時に、アクティビティマネージャ２１０を、コンピューティングデバイスのドロップダウンリストを有するグラフィカルユーザインターフェースをユーザに提供するように構成することができる。具体的には、ドロップダウンリストは、ユーザデバイスレジストリ３０６内に登録されたコンピューティングデバイスを含むことができる。たとえば、このドロップダウンリストは、第２のコンピューティングデバイス３１６Ｂを選択するためのオプションを含むことができる。ユーザが、ドロップダウンリストを介して第２のコンピューティングデバイス３１６Ｂを選択する時に、ストリーミングアプリケーションが一時停止されたことの通知と、ストリーミングアプリケーションを再始動するために、一時停止時のストリーミングアプリケーション、ストリーミングアプリケーションおよび関連するデータの状態を識別するアプリケーション識別子、ならびに第２のコンピューティングデバイス３１６Ｂを識別するデバイス識別子とを送信するように、アクティビティマネージャ２１０を構成することができる。接続マネージャ２０２を介して、ストリーミングアプリケーションが一時停止されていることの通知と、ストリーミングアプリケーションを再始動するためにアプリケーション識別子、状態、およびデバイス識別子とをストリーミングアプリケーション同期化サーバ３１０に送信するように、通知サービスモジュール２０６を構成することができる。ストリーミングアプリケーションを再始動し、一時停止の時のストリーミングアプリケーションおよび関連するデータの状態でストリーミングアプリケーションを再開するように第２のコンピューティングデバイス３１６Ｂに指示するように、ストリーミングアプリケーション同期化サーバ３１０を構成することができる。この形で、第２のコンピューティングデバイス３１６Ｂは、さらなるユーザ入力なしで、正しい状態でストリーミングアプリケーションを自動的に再始動し、再開することができる。
【００５４】
転送可能アプリケーションのアプリケーション属性が、転送可能アプリケーションがインストールされたアプリケーションであることを示す場合に、インストール済みアプリケーション同期化サーバ３１０を、インストールされたアプリケーションに割り当てるように、プロビジョニングサーバ３０４を構成することができる。インストールされたアプリケーションは、デバイス上にローカルに存在するアプリケーションを指すことができる。インストールされたアプリケーションのいくつかの例は、家庭仮想計算機にインストールされた家庭アプリケーション１１２および職場仮想計算機にインストールされた職場アプリケーション１１６を含むことができる。
【００５５】
例示的実施態様では、ユーザは、第１のコンピューティングデバイス３１６Ａ上のインストールされたアプリケーションにアクセスすることができる。ユーザは、その後、インストールされたアプリケーションを一時停止することができる。アクティビティマネージャ２１０を、インストールされたアプリケーションおよび関連するデータの状態を１つまたは複数のファイルに格納するように構成することができる。たとえば、インストールされたアプリケーションの状態を制御ファイルに格納することができ、関連するデータの状態をデータファイルに格納することができる。インストールされたアプリケーションが一時停止されたことの通知、ユーザを識別するユーザ識別子、インストールされたアプリケーションを識別するアプリケーション識別子、およびファイルを通知サービスモジュール２０６に送信するように、アクティビティマネージャ２１０を構成することができる。インストールされたアプリケーションが一時停止されたことの通知、ユーザ識別子、アプリケーション識別子、およびファイルをインストール済みアプリケーション同期化サーバ３１０に送信するように、通知サービスモジュール２０６を構成することができる。
【００５６】
ユーザ識別子およびアプリケーション識別子を、インストール済みアプリケーション同期化サーバ３１２にサブミットするように、第２のコンピューティングデバイス３１６Ｂを構成することができる。インストール済みアプリケーション同期化サーバ３１２が、インストール済みアプリケーション同期化サーバ３１０へのユーザ識別子およびアプリケーション識別子を受信する時に、ファイルを第２のコンピューティングデバイス３１６Ｂに送信するように、インストール済みアプリケーション同期化サーバ３１０を構成することができる。ファイルに基づいて、一時停止の時のインストールされたアプリケーションおよび関連するデータの状態でインストールされたアプリケーションを再開するように、第２のコンピューティングデバイス３１６Ｂを構成することができる。
【００５７】
転送可能アプリケーションのアプリケーション属性が、転送可能アプリケーションがハイブリッドアプリケーションであることを示す場合には、ハイブリッドアプリケーション同期化サーバ３１４をハイブリッドアプリケーションに割り当てるようにプロビジョニングサーバ３０４を構成することができる。ハイブリッドアプリケーションは、アプリケーションの第１の部分がクラウド内に存在し、アプリケーションの第２の部分がデバイス上にローカルに存在するアプリケーションを指すことができる。すなわち、ハイブリッドアプリケーションは、ストリーミングアプリケーションと、インストールされたアプリケーションとの組合せとすることができる。ハイブリッドアプリケーションの場合に、クラウド内に存在するハイブリッドアプリケーションの第１の部分の転送を処理するために、ストリーミングアプリケーション同期化サーバ３１０について説明した上のプロセスを実施するように、ハイブリッドアプリケーション同期化サーバ３１４を構成することができる。デバイス上にローカルに存在するハイブリッドアプリケーションの第２の部分の転送を処理するために、インストール済みアプリケーション同期化サーバ３１２に関して説明した上のプロセスを実施するように、ハイブリッドアプリケーション同期化サーバ３１４を構成することもできる。
【００５８】
図４は、本明細書で提示される少なくともいくつかの実施形態に従って構成された、マルチモーダルデバイスを調停するように適合された例のプロセス４００を示す流れ図である。マルチモーダルコンピューティングデバイス１００などのマルチモーダルデバイスは、ベースハードウェア上で動作するように構成されたベアメタルハイパーバイザを含むことができる。プロセス４００は、１つまたは複数のブロック４０２から４１０によって示されるように、さまざまな動作、機能、またはアクションを含むことができる。
【００５９】
プロセス４００は、ブロック４０２（職場仮想計算機を提供する）で開始することができ、ここで、マルチモーダルデバイスを、職場オペレーティングシステムを含むように構成することができる。職場オペレーティングシステムは、職場仮想計算機を形成することができる。職場オペレーティングシステムは、ベアメタルハイパーバイザ上で走ることができる。職場オペレーティングシステムを、職場オペレーティングシステムにインストールされた職場アプリケーションを走らせるように適合させることができる。ブロック４０２に、ブロック４０４が続くことができる。
【００６０】
ブロック４０４（家庭仮想計算機を提供する）では、マルチモーダルデバイスを、家庭オペレーティングシステムを含むように構成することができる。家庭オペレーティングシステムは、家庭仮想計算機を形成することができる。家庭仮想計算機は、職場仮想計算機とは別々でこれから分離されるものとすることができる。家庭オペレーティングシステムは、ベアメタルハイパーバイザ上で走らせることができる。家庭オペレーティングシステムを、家庭オペレーティングシステムにインストールされた家庭アプリケーションを走らせるように適合させることができる。ブロック４０４に、ブロック４０６が続くことができる。
【００６１】
ブロック４０６（職場仮想計算機と家庭仮想計算機との間のゲートウェイを提供する）では、マルチモーダルデバイスを、スマートアービトレータサーバを含むように構成することができる。スマートアービトレータサーバを、職場仮想計算機と家庭仮想計算機との間のゲートウェイとして働くように適合させることができる。スマートアービトレータサーバを、職場仮想計算機と家庭仮想計算機との間でさまざまなポリシーを実施するように適合させることができる。ポリシーのいくつかの例は、同期化ポリシー、セキュリティポリシー、およびアクセスポリシーを含むことができる。ブロック４０６に、ブロック４０８が続くことができる。
【００６２】
ブロック４０８（ポリシーに従って職場アプリケーションへのアクセスを提供する）では、スマートアービトレータサーバを、職場仮想計算機に対して指示された通りにアクセスポリシーを実施するように構成することができる。たとえば、アクセスポリシーは、企業の代理人などの非ユーザエンティティが、職場仮想計算機に、プライベートにアクセス可能なアプリケーションストアから取り出された職場アプリケーションをインストールすることを許すことができる。アクセスポリシーは、ユーザエンティティが、職場仮想計算機に、公にアクセス可能なアプリケーションストアから取り出された家庭アプリケーションをインストールするのを制限することもできる。ブロック４０８に、ブロック４１０が続くことができる。
【００６３】
ブロック４１０（ポリシーに従って家庭アプリケーションへのアクセスを提供する）では、スマートアービトレータサーバを、家庭仮想計算機に対して指示された通りにアクセスポリシーを実施するように構成することができる。たとえば、アクセスポリシーは、ユーザエンティティが、家庭仮想計算機に、公にアクセス可能なアプリケーションストアから取り出された家庭アプリケーションをインストールすることを許すことができる。アクセスポリシーは、非ユーザエンティティが、家庭仮想計算機に、プライベートにアクセス可能なアプリケーションストアから取り出された職場アプリケーションをインストールするのを制限することができる。ブロック４１０の後に、プロセス４００は、繰り返す（たとえば、周期的に、継続的に、または必要に応じてオンデマンドで）または終了するのいずれかを行うことができる。
【００６４】
図５は、本明細書で提示される少なくともいくつかの実施形態に従って構成された、例のコンピューティングシステムのコンピュータハードウェアアーキテクチャを示すブロック図である。図５は、プロセッサ５１０、メモリ５２０、および１つまたは複数のドライブ５３０を含むコンピュータ５００を含む。コンピュータ５００を、従来のコンピュータシステム、組込み制御コンピュータ、ラップトップ、またはサーバコンピュータ、モバイルデバイス、セットトップボックス、キオスク、車載情報システム、携帯電話機、カスタマイズされた機械、もしくは他のハードウェアプラットフォームとして実施することができる。
【００６５】
ドライブ５３０およびそれに関連するコンピュータ記憶媒体は、コンピュータ５００のコンピュータ読取可能命令、データ構造、プログラムモジュール、および他のデータのストレージを提供する。ドライブ５３０は、オペレーティングシステム５４０、アプリケーションプログラム５５０、プログラムモジュール５６０、およびデータベース５８０を含むことができる。プログラムモジュール５６０のいくつかの例は、アービトレータオペレーティングシステム１１０およびスマートアービトレータサーバ１２０を含むことができる。プログラムモジュール５６０のいくつかの他の例は、家庭オペレーティングシステム１０６および職場オペレーティングシステム１０８を含むことができる。コンピュータ５００は、さらに、それを介してユーザがコマンドおよびデータを入力できるユーザ入力デバイス５９０を含む。入力デバイスは、電子ディジタイザ、マイクロホン、キーボード、および、一般にマウス、トラックボール、またはタッチパッドと称するポインティングデバイスを含むことができる。他の入力デバイスは、ジョイスティック、ゲームパッド、衛星パラボラアンテナ、スキャナ、または類似物を含むことができる。
【００６６】
上記および他の入力デバイスを、システムバスに結合されたユーザ入力インターフェースを介してプロセッサ５１０に結合することができるが、パラレルポート、ゲームポート、またはｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ（「ＵＳＢ」）などの他のインターフェースおよびバス構造によって結合することができる。コンピュータ５００などのコンピュータは、出力周辺インターフェース５９４などを介して結合できる、スピーカなどの他の周辺出力デバイスをも含むことができる。
【００６７】
コンピュータ５００は、ネットワークインターフェース５９６に結合されたリモートコンピュータなど、１つまたは複数のコンピュータへの論理接続を使用して、ネットワーク化された環境で動作することができる。リモートコンピュータは、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、または他の一般的なネットワークノードとすることができ、コンピュータ５００に関して上で説明した要素の多くまたはすべてを含むことができる。ネットワーキング環境は、オフィス、企業広域ネットワーク（「ＷＡＮ」）、ローカルエリアネットワーク（「ＬＡＮ」）、イントラネット、およびインターネットでありふれたものである。
【００６８】
ＬＡＮネットワーキング環境またはＷＬＡＮネットワーキング環境で使用される時に、コンピュータ５００を、ネットワークインターフェース５９６またはアダプタを介してＬＡＮに結合することができる。ＷＡＮネットワーキング環境で使用される時に、コンピュータ５００は、通常、インターネットまたはネットワーク３１８などのＷＡＮを介する通信を確立するモデムまたは他の手段を含む。ＷＡＮは、インターネット、図示のネットワーク３１８、さまざまな他のネットワーク、またはその任意の組合せを含むことができる。通信リンク、リング、メッシュ、バス、クラウド、またはコンピュータの間のネットワークを確立する他の機構を使用できることを了解されたい。
【００６９】
いくつかの実施形態によれば、コンピュータ５００を、ネットワーキング環境に結合することができる。コンピュータ５００は、物理的なコンピュータ可読記憶媒体またはドライブ５３０もしくは他のストレージデバイスに関連する媒体の１つまたは複数の実例を含むことができる。システムバスは、プロセッサ５１０が、コンピュータ可読記憶媒体へ／からコードおよび／またはデータを読み取ることを可能にすることができる。媒体は、半導体、磁気材料、光学媒体、電子ストレージ、電気化学ストレージ、もしくは任意の他のそのようなストレージ技術を含むがこれに限定されない任意の適切な技術を使用して実施されるストレージ要素の形の装置を表すことができる。媒体は、ＲＡＭ、ＲＯＭ、フラッシュ、または他のタイプの揮発性もしくは不揮発性のメモリ技術のいずれとして特徴を表されるものであれ、メモリ５２０に関連するコンポーネントを表すことができる。媒体は、ストレージドライブ５３０または他の形のいずれとして実施されるものであれ、副ストレージを表すこともできる。ハードドライブ実施態様は、ソリッドステートとして特徴を表すことができ、あるいは、磁気的に符号化された情報を格納する回転する媒体を含むことができる。
【００７０】
記憶媒体は、１つまたは複数のプログラムモジュール５６０を含むことができる。プログラムモジュール５６０は、プロセッサ５１０にロードされ、実行される時に、汎用コンピューティングシステムを特殊目的コンピューティングシステムに変換するソフトウェア命令を含むことができる。この説明全体を通じて詳細に述べられるように、プログラムモジュール５６０は、それによってコンピュータ５００が本明細書で説明されるコンポーネント、論理フロー、および／またはデータ構造を使用して全体的なシステムまたはオペレーティング環境内に参加することのできる、さまざまなツールまたは技法を提供することができる。
【００７１】
プロセッサ５１０を、個別にまたは集合的に任意の個数の状態をとることができる、任意の個数のトランジスタまたは他の回路要素から構成することができる。より具体的には、プロセッサ５１０は、状態機械または有限状態機械として動作することができる。そのような機械を、プログラムモジュール５６０内に含まれる実行可能命令をロードすることによって、第２の機械または特定の機械に変換することができる。これらのコンピュータ実行可能命令は、プロセッサ５１０が状態の間でどのように遷移するのかを指定し、これによって、プロセッサ５１０を構成するトランジスタまたは他の回路要素を第１の機械から第２の機械に変換することによって、プロセッサ５１０を変換することができる。いずれかの機械の状態を、１つもしくは複数のユーザ入力デバイス５９０、ネットワークインターフェース５９６、他の周辺機器、他のインターフェース、または１つもしくは複数のユーザもしくは他のアクタから入力を受け取ることによって、変換することもできる。いずれの機械もが、プリンタ、スピーカ、ビデオディスプレイ、またはその他などのさまざまな出力デバイスの状態またはさまざまな物理的特性を変換することができる。
【００７２】
プログラムモジュール５６０の符号化は、記憶媒体の物理的構造を変換することもできる。物理的構造の特定の変換は、この説明の異なる実施態様で、さまざまな要因に依存する可能性がある。そのような要因の例は、記憶媒体を実施するのに使用される技術、記憶媒体が主ストレージまたは副ストレージのどちらとして特徴を表されるのか、および類似物を含むことができるが、これに限定されない。たとえば、記憶媒体が、半導体ベースのメモリとして実施される場合に、プログラムモジュール５６０は、ソフトウェアがその中で符号化される時に、半導体メモリ５２０の物理的状態を変換することができる。たとえば、ソフトウェアは、半導体メモリ５２０を構成するトランジスタ、キャパシタ、または他のディスクリート回路要素の状態を変換することができる。
【００７３】
もう１つの例として、記憶媒体を、ドライブ５３０などの磁気技術または光技術を使用して実施することができる。そのような実施態様では、プログラムモジュール５６０は、ソフトウェアがその中で符号化される時に、磁気媒体または光媒体の物理的状態を変換することができる。これらの変換は、所与の磁気媒体内の特定の位置の磁気特性の変更を含むことができる。これらの変換は、所与の光媒体内の特定の位置の光学特性を変更するための、これらの位置の物理的特徴または物理特性の変更を含むこともできる。物理媒体のさまざまな他の変換が、この説明の範囲および趣旨から逸脱せずに可能であることを了解されたい。
【００７４】
図６は、本明細書で提示される少なくともいくつかの実施形態に従って構成された、コンピューティングデバイス上でコンピュータプロセスを実行するコンピュータプログラムを含むコンピュータプログラム製品６００を示す概略図である。例のコンピュータプログラム製品の例示的実施形態は、信号担持媒体６０２を使用して提供され、６０４すなわち、ベアメタルハイパーバイザ上で動作するように構成された職場オペレーティングシステムを含む職場仮想計算機を提供する１つまたは複数の命令、ベアメタルハイパーバイザ上で動作するように構成された家庭オペレーティングシステムを含む家庭仮想計算機を提供する１つまたは複数の命令、職場仮想計算機と家庭仮想計算機との間のゲートウェイを提供する１つまたは複数の命令、ポリシーに従って職場アプリケーションへのアクセスを管理する１つまたは複数の命令、またはポリシーに従って家庭アプリケーションへのアクセスを管理する１つまたは複数の命令のうちの少なくとも１つの命令を含むことができる。いくつかの実施形態では、１つまたは複数のコンピュータプログラム製品６００の信号担持媒体６０２は、コンピュータ可読媒体６０６、記録可能媒体６０８、および／または通信媒体６１０を含む。
【００７５】
本明細書で説明される主題は、コンピュータシステム上でのオペレーティングシステムおよびアプリケーションプログラムの実行に関連して実行されるプログラムモジュールの全体的文脈で提示されるが、当業者は、他の実施態様を他のタイプのプログラムモジュールと組み合わせて実行できることを認めるであろう。一般に、プログラムモジュールは、特定のタスクを実行するか特定の抽象データ型を実施するルーチン、プログラム、コンポーネント、データ構造、および他のタイプの構造を含む。さらに、当業者は、本明細書で説明される主題を、ハンドヘルドデバイス、マルチコアプロセッサシステム、マイクロプロセッサベースのもしくはプログラマブルな消費者エレクトロニクス、ミニコンピュータ、メインフレームコンピュータ、および類似物を含む他のコンピュータシステム構成を用いて実践できることを了解するであろう。
【００７６】
本開示は、さまざまな態様の例示であることを意図された、本願で説明される特定の実施形態に関して限定されてはならない。当業者に明白であるように、多数の修正形態および変形形態を、その趣旨および範囲から逸脱せずに作ることができる。本開示の範囲内の機能的に同等の方法および装置は、本明細書に列挙された方法および装置に加えて、前述の説明から当業者に明白であろう。そのような修正形態および変形形態は、添付の特許請求の範囲に含まれることが意図されている。本開示は、添付の特許請求の範囲が権利を与えられる同等物の全範囲と一緒に、添付の特許請求の範囲の言葉によってのみ限定されなければならない。本開示が、特定の方法、試薬、化合物合成物、または生体系に限定されず、これらの方法、試薬、化合物合成物、または生体系が、もちろん変化し得ることを理解されたい。本明細書で使用される用語法が、特定の実施形態を説明するのみのためのものであって、限定的であることを意図されていないことをも理解されたい。
【００７７】
本明細書における実質的にすべての複数形および／または単数形の用語の使用に対して、当業者は、状況および／または用途に適切なように、複数形から単数形に、および／または単数形から複数形に変換することができる。さまざまな単数形／複数形の置き換えは、理解しやすいように、本明細書で明確に説明することができる。
【００７８】
通常、本明細書において、特に添付の特許請求の範囲（たとえば、添付の特許請求の範囲の本体部）において使用される用語は、全体を通じて「オープンな（ｏｐｅｎ）」用語として意図されていることが、当業者には理解されよう（たとえば、用語「含む（ｉｎｃｌｕｄｉｎｇ）」は、「含むがそれに限定されない（ｉｎｃｌｕｄｉｎｇ  ｂｕｔ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」と解釈されるべきであり、用語「有する（ｈａｖｉｎｇ）」は、「少なくとも有する（ｈａｖｉｎｇ  ａｔ  ｌｅａｓｔ）」と解釈されるべきであり、用語「含む（ｉｎｃｌｕｄｅｓ）」は、「含むがそれに限定されない（ｉｎｃｌｕｄｅｓ  ｂｕｔ  ｉｓ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」と解釈されるべきである、など）。導入される請求項で具体的な数の記載が意図される場合、そのような意図は、当該請求項において明示的に記載されることになり、そのような記載がない場合、そのような意図は存在しないことが、当業者にはさらに理解されよう。たとえば、理解の一助として、添付の特許請求の範囲は、導入句「少なくとも１つの（ａｔ  ｌｅａｓｔ  ｏｎｅ）」および「１つまたは複数の（ｏｎｅ  ｏｒ  ｍｏｒｅ）」を使用して請求項の記載を導くことを含む場合がある。しかし、そのような句の使用は、同一の請求項が、導入句「１つまたは複数の」または「少なくとも１つの」および「ａ」または「ａｎ」などの不定冠詞を含む場合であっても、不定冠詞「ａ」または「ａｎ」による請求項の記載の導入が、そのように導入される請求項の記載を含む任意の特定の請求項を、単に１つのそのような記載を含む実施形態に限定する、ということを示唆していると解釈されるべきではない（たとえば、「ａ」および／または「ａｎ」は、「少なくとも１つの」または「１つまたは複数の」を意味すると解釈されるべきである）。同じことが、請求項の記載を導入するのに使用される定冠詞の使用にも当てはまる。また、導入される請求項の記載で具体的な数が明示的に記載されている場合でも、そのような記載は、少なくとも記載された数を意味すると解釈されるべきであることが、当業者には理解されよう（たとえば、他の修飾語なしでの「２つの記載（ｔｗｏ  ｒｅｃｉｔａｔｉｏｎｓ）」の単なる記載は、少なくとも２つの記載、または２つ以上の記載を意味する）。さらに、「Ａ、ＢおよびＣ、などの少なくとも１つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている（たとえば、「Ａ、Ｂ、およびＣの少なくとも１つを有するシステム」は、Ａのみ、Ｂのみ、Ｃのみ、ＡおよびＢを共に、ＡおよびＣを共に、ＢおよびＣを共に、ならびに／またはＡ、Ｂ、およびＣを共に、などを有するシステムを含むが、それに限定されない）。「Ａ、Ｂ、またはＣ、などの少なくとも１つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている（たとえば、「Ａ、Ｂ、またはＣの少なくとも１つを有するシステム」は、Ａのみ、Ｂのみ、Ｃのみ、ＡおよびＢを共に、ＡおよびＣを共に、ＢおよびＣを共に、ならびに／またはＡ、Ｂ、およびＣを共に、などを有するシステ���を含むが、それに限定されない）。２つ以上の代替用語を提示する事実上いかなる離接する語および／または句も、明細書、特許請求の範囲、または図面のどこにあっても、当該用語の一方（ｏｎｅ  ｏｆ  ｔｈｅ  ｔｅｒｍｓ）、当該用語のいずれか（ｅｉｔｈｅｒ  ｏｆ  ｔｈｅ  ｔｅｒｍｓ）、または両方の用語（ｂｏｔｈ  ｔｅｒｍｓ）を含む可能性を企図すると理解されるべきであることが、当業者にはさらに理解されよう。たとえば、句「ＡまたはＢ」は、「Ａ」または「Ｂ」あるいは「ＡおよびＢ」の可能性を含むことが理解されよう。
【００７９】
さらに、本開示の特徴または態様が、マーカッシュグループに関して説明される場合に、当業者は、本開示が、これによってマーカッシュグループの任意の個々のメンバまたはメンバのサブグループに関しても説明されることを認めるであろう。
【００８０】
当業者によって理解されるように、書かれた説明を提供することに関してなど、すべてにおいて、本明細書で開示されるすべての範囲は、任意のすべての可能な部分範囲およびその部分範囲の組合せをも包含する。すべてのリストされた範囲を、少なくとも等しい半分、１／３、１／４、１／５、１／１０などに分割された同一の範囲を十分に記述し、可能にするものとしてたやすく認めることができる。非限定的な例として、本明細書で述べられる各範囲を、下側１／３、中央１／３、および上側１／３などにたやすく分解することができる。やはり当業者によって理解されるように、「ｕｐ  ｔｏ（まで）」、「ａｔ  ｌｅａｓｔ（少なくとも）」、「ｇｒｅａｔｅｒ  ｔｈａｎ（より大きい）」、「ｌｅｓｓ  ｔｈａｎ（より小さい）」、および類似物などのすべての言葉は、具陳された数を含み、その後に上で述べたように部分範囲に分割され得る範囲に言及する。最後に、当業者によって理解されるように、範囲は、各個々のメンバを含む。したがって、たとえば、１〜３個の要素を有する群は、１個、２個、または３個の要素を有する群に言及する。同様に、１〜５個の要素を有する群は、１個、２個、３個、４個、または５個の要素を有する群に言及するなどである。
【００８１】
さまざまな態様および実施形態を本明細書で開示したが、他の態様および実施形態が、当業者に明白であろう。本明細書で開示されたさまざまな態様および実施形態は、例示のためのものであって、限定的であることは意図されておらず、真の範囲および趣旨は、次の特許請求の範囲によって示される。
【図１】
0005718525.tif 000002
【図２】
0005718525.tif 000003
【図３】
0005718525.tif 000004
【図４】
0005718525.tif 000005
【図５】
0005718525.tif 000006
【図６】
0005718525.tif 000007