(57)【要約】コンピューティングデバイスが、ワークスペースデータをデータストレージに向けるように構成されているレイヤリングエンジンを含み、データストレージは、少なくとも１つの永続的なレイヤ、および非永続的なレイヤを含む。ポリシーエンジンが、レイヤリングエンジンと協働し、ワークスペースデータが少なくとも１つの永続的なレイヤに格納されるべきであるか、または非永続的なレイヤに格納されるべきであるかをストレージポリシーに基づいて決定するように構成されている。
2020535552.tif 000002
【特許請求の範囲】
【請求項１】
ワークスペースデータをデータストレージに向けるように構成されたレイヤリングエンジンであって、前記データストレージは、少なくとも１つの永続的なレイヤ、および非永続的なレイヤを含む、該レイヤリングエンジンと、
前記レイヤリングエンジンと協働するポリシーエンジンであって、前記ワークスペースデータが前記少なくとも１つの永続的なレイヤまたは前記非永続的なレイヤに格納されるべきであるかをストレージポリシーに基づいて決定するように構成されたポリシーエンジンと
を含むことを特徴とするコンピューティングデバイス。
【請求項２】
前記ワークスペースデータは、異なるタイプのデータを含み、データのそれぞれのタイプは、それに関連付けられたストレージポリシーを有することを特徴とする請求項１に記載のコンピューティングデバイス。
【請求項３】
アプリケーション固有タイプのデータは、前記少なくとも１つの永続的なレイヤに格納され、非アプリケーション固有タイプのデータは、前記非永続的なレイヤに格納されたことを特徴とする請求項２に記載のコンピューティングデバイス。
【請求項４】
前記ワークスペースデータは異なるユーザによって生成され、前記ストレージポリシーは、前記ユーザの識別に基づき、それぞれのユーザは永続的なレイヤおよび非永続的なレイヤのユーザ自身のセットを有することを特徴とする請求項１に記載のコンピューティングデバイス。
【請求項５】
前記異なるユーザは第１のユーザおよび第２のユーザを含み、前記第１のユーザによって生成された前記ワークスペースデータは前記少なくとも１つの永続的なレイヤに格納され、前記第２のユーザによって生成された前記ワークスペースデータは前記非永続的なレイヤに格納されたことを特徴とする請求項４に記載のコンピューティングデバイス。
【請求項６】
前記コンピューティングデバイスは、オペレーティングシステムを含むゴールドレイヤイメージを使用してブートされ、前記ストレージポリシーは、使用されている前記オペレーティングシステムのバージョンに基づくことを特徴とする請求項１に記載のコンピューティングデバイス。
【請求項７】
少なくとも１つのアプリケーションは前記コンピューティングデバイスのユーザに対して割り当てられ、前記ストレージポリシーは前記ユーザに対して割り当てられたアプリケーションに基づくことを特徴とする請求項１に記載のコンピューティングデバイス。
【請求項８】
前記少なくとも１つの割り当てられたアプリケーションによって生成されたワークスペースデータは、前記少なくとも１つの永続的なレイヤに格納され、割り当てられていないアプリケーションによって生成されたワークスペースデータは、前記非永続的なレイヤに格納されたことを特徴とする請求項７に記載のコンピューティングデバイス。
【請求項９】
前記コンピューティングデバイスは、オペレーティングシステムを含むゴールドレイヤイメージを使用してブートされ、前記レイヤリングエンジンおよび前記ポリシーエンジンは、前記オペレーティングシステム内に存在することを特徴とする請求項１に記載のコンピューティングデバイス。
【請求項１０】
コンピューティングデバイスを動作させるための方法であって、
ワークスペースデータを生成するステップと、
前記ワークスペースデータをデータストレージに向けるようにレイヤリングエンジンを動作させるステップであって、前記データストレージは、少なくとも１つの永続的なレイヤ、および非永続的なレイヤを含む、ステップと、
前記ワークスペースデータが前記少なくとも１つの永続的なレイヤまたは前記非永続的なレイヤに格納されるべきであるかをストレージポリシーに基づいて決定するように、前記レイヤリングエンジンと協働するポリシーエンジンを動作させるステップと
を含むことを特徴とする方法。
【請求項１１】
前記ワークスペースデータは異なるタイプのデータを含み、データのそれぞれのタイプはそれに関連付けられているストレージポリシーを有することを特徴とする請求項１０に記載の方法。
【請求項１２】
アプリケーション固有タイプのデータは前記少なくとも１つの永続的なレイヤに格納され、非アプリケーション固有タイプのデータは前記非永続的なレイヤに格納されたことを特徴とする請求項１１に記載の方法。
【請求項１３】
前記ワークスペースデータは異なるユーザによって生成され、前記ストレージポリシーは前記ユーザの識別に基づき、それぞれのユーザは永続的なレイヤおよび非永続的なレイヤのユーザ自身のセットを有することを特徴とする請求項１０に記載の方法。
【請求項１４】
前記異なるユーザは第１のユーザおよび第２のユーザを含み、前記第１のユーザによって生成された前記ワークスペースデータは前記少なくとも１つの永続的なレイヤに格納され、前記第２のユーザによって生成された前記ワークスペースデータは前記非永続的なレイヤに格納されたことを特徴とする請求項１３に記載の方法。
【請求項１５】
オペレーティングシステムを含むゴールドレイヤイメージを使用して前記コンピューティングデバイスをブートするステップをさらに含み、前記ストレージポリシーは、使用されている前記オペレーティングシステムのバージョンに基づくことを特徴とする請求項１０に記載の方法。
【請求項１６】
少なくとも１つのアプリケーションは前記コンピューティングデバイスのユーザに対して割り当てられ、前記ストレージポリシーは前記ユーザに対して割り当てられたアプリケーションに基づくことを特徴とする請求項１０に記載の方法。
【請求項１７】
オペレーティングシステムを含むゴールドレイヤイメージを使用して前記コンピューティングデバイスをブートするステップをさらに含み、前記レイヤリングエンジンおよび前記ポリシーエンジンは、前記オペレーティングシステム内に存在することを特徴とする請求項１０に記載の方法。
【請求項１８】
コンピューティングデバイスのための非一時的コンピュータ可読媒体であって、
ワークスペースデータをデータストレージに向けるようにレイヤリングエンジンを動作させるステップであって、前記データストレージは、少なくとも１つの永続的なレイヤ、および非永続的なレイヤを含む、該ステップと、
前記ワークスペースデータが前記少なくとも１つの永続的なレイヤまたは前記非永続的なレイヤに格納されるべきであるかをストレージポリシーに基づいて決定するように、前記レイヤリングイメージと協働するポリシーエンジンを動作させるステップと
を含むステップを前記コンピューティングデバイスに実行させるための複数のコンピュータ実行可能命令を有することを特徴とする非一時的コンピュータ可読媒体。
【請求項１９】
前記ワークスペースデータは異なるタイプのデータを含み、データのそれぞれのタイプはそれに関連付けられているストレージポリシーを有することを特徴とする請求項１８に記載の非一時的コンピュータ可読媒体。
【請求項２０】
前記ワークスペースデータは異なるユーザによって生成され、前記ストレージポリシーは前記ユーザの識別に基づき、それぞれのユーザは永続的なレイヤおよび非永続的なレイヤのユーザ自身のセットを有することを特徴とする請求項１８に記載の非一時的コンピュータ可読媒体。
【請求項２１】
オペレーティングシステムを含むゴールドレイヤイメージを使用して前記コンピューティングデバイスをブートするステップをさらに含み、前記ストレージポリシーは、使用されている前記オペレーティングシステムのバージョンに基づくことを特徴とする請求項１８に記載の非一時的コンピュータ可読媒体。
【請求項２２】
前記レイヤリングエンジンおよび前記ポリシーエンジンは、前記オペレーティングシステム内に存在することを特徴とする請求項１８に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、コンピューティングデバイスの分野に関し、より詳細には、ユーザのワークスペースにおけるデータの格納および編成に対するポリシールールの適用に関する。
【背景技術】
【０００２】
コンピューティングデバイスにおける格納に関しては、一般に、永続的と非永続的の２つのタイプのワークスペースがある。永続的なワークスペースは、ユーザまたはアプリケーションが変更する情報がセッション間で保持される場所である。非永続的なワークスペースは、ユーザまたはアプリケーションが変更する情報がセッション間で保持されない場所である。
【０００３】
永続的なワークスペースは、素晴らしいユーザ経験をもたらすことが可能であるが、ＤＬＬヘルおよび偶発的な構成障害などのアプリケーション問題に対処して管理が高くつくことがある。コンピューティングにおいて、ＤＬＬヘルは、ダイナミックリンクライブラリ（ＤＬＬ）を扱うときに生じる複雑さを表す用語である。この問題は、コンピュータ上のＤＬＬのバージョンが、プログラムが作成されていたときに使用されたバージョンとは異なっており、ＤＬＬがバックワード互換性のための組込みメカニズムを有していないときに生じる。
【０００４】
非永続的なワークスペースは、動作させるコストは低いが、永続的な情報の欠如のために、動作させるのが困難であることがよくある。一般には、ドキュメントおよびレジストリキーなど、（ポリシーに基づいて）特定の情報を保護するためにプロフィールマネージャーが使用される。しかしこれらのポリシーアプローチは、情報をコピーすることまたはストリーミングすること（これらは遅くなることがある）などのオーバーヘッドを伴うか、またはアプリケーションとの互換性の問題を提示する。
【０００５】
加えて、プロフィールに関するポリシーを管理することは複雑である。なぜなら、プロフィールに関するポリシー管理と、ユーザによって使用されているアプリケーションとの間には密接な関係があるからである。しかしながら、これらは、複数のポリシーエンジンを通じて管理されて、予期せぬ管理上の課題をもたらす。
【０００６】
レイヤリングが、非永続的なワークスペースの上でユーザまたはワークスペースに関してすべての情報が永続されることが可能であるモデルを作成している。これは、永続的なワークスペースの経験を依然として提供しながらワークスペースの共通のプールを管理するという利点を有する。しかしながら、このモデルは、ワークスペースにおいて発生するあらゆるものを永続させ、これは、望まれていない構成上の変化として管理上の課題をもたらす可能性があり、アプリケーションおよびＤＬＬの破損が、そしてウイルスでさえ、ワークスペースの使用の全体にわたって永続する可能性がある。
【０００７】
アプリケーションはしばしば、永続性に関する要件を定義し、ポリシーは、使用中のアプリケーションに関連付けられるべきである。たとえば、ユーザがＯｆｆｉｃｅ  ３６５を割り当てられている場合には、ユーザがパフォーマンス上の課題を伴わずに良好な経験を有することを確実にするためにＯｕｔｌｏｏｋ  ＯＳＴファイルおよびシステム検索インデックスが永続されるべきである。しかしこれは、標準的なプロフィールマネージャーでは可能ではない。なぜなら、オブジェクトが非常に大きい（このケースにおいてはＯＳＴファイル）か、または情報がシステム統合内の深部にある（このケースにおいては検索インデックス）からである。
【０００８】
レイヤリングは、この問題をさらに深刻にする。なぜなら、はるかに多い数のユースケースが単一のサイロ／ゴールドイメージからもたらされることがあるからである。弾力的なレイヤリングは、レイヤがオンデマンドで（セッションＩＤおよびユーザＩＤによってなどで）ユーザセッションに対して接続されることを可能にすることによって、アプリケーションレイヤリングを拡張させてよい。したがって、弾力的なレイヤリングは、割り当てられたイメージに単に基づくよりもむしろユーザ識別に基づいてアプリケーションをもたらすことが可能である。これは、永続性に関するポリシーを管理することをいっそう難しくする。なぜなら、アドミニストレータたちは、彼らがアプリケーションの割り振りを変更するたびにプロフィールポリシーを必ず調整する必要があるからである。これは、アクティブディレクトリグループメンバーシップに起因して明らかではない場合がある。
【０００９】
最後に、いくつかのアプリケーションユースケースは、情報の永続性が特定のディレクトリまたはレジストリキーなどの特定のルールによって定義されず、代わりにアプリケーション使用そのものに基づいて定義されることを必要とする。たとえば、開発者ユースケースは、ストレージに対して書き込まれているアプリケーションおよびＤＬＬファイルを有することが可能である。たとえそれらが、アドミニストレータに知られていないシステムディレクトリまたは場所に格納されていても、それらは永続する必要がある。しかしながら、ウイルスがマシン上で実行された場合には、ウイルスプロセスによって行われたいかなる変更も永続するべきではない。これらのケースにおいては、シンプルなファイルおよびキーのルールは、十分ではない。
【発明の概要】
【００１０】
複数の書き込み可能なレイヤを使用してユーザのワークスペースの永続的なコンテンツおよび非永続的なコンテンツ（セッション、ＶＤＩ、および物理的など）を管理することが、ポリシーに基づく非永続的なおよび永続的なファイルおよびレジストリコンテンツの混合を可能にする。ポリシーは、ログインしたユーザの識別、使用中のイメージ、割り当てられたアプリケーションレイヤ、および実行されているアプリケーションに個々にまたは組合せで基づくことが可能である。
【００１１】
より詳細には、コンピューティングデバイスが、ワークスペースデータをデータストレージに向けるためのレイヤリングエンジンを含み、データストレージは、少なくとも１つの永続的なレイヤ、および非永続的なレイヤを含む。ポリシーエンジンが、レイヤリングエンジンと協働して、ワークスペースデータが少なくとも１つの永続的なレイヤまたは非永続的なレイヤに格納されるべきであるかをストレージポリシーに基づいて決定することが可能である。
【００１２】
ワークスペースデータは、異なるタイプのデータを含むことが可能であり、データのそれぞれのタイプは、それに関連付けられているストレージポリシーを有する。それぞれのユーザは、永続的なレイヤおよび非永続的なレイヤのユーザ自身のセットを有することが可能である。アプリケーション固有タイプのデータが、少なくとも１つの永続的なレイヤに格納されることが可能であり、非アプリケーション固有タイプのデータが、非永続的なレイヤに格納されることが可能である。
【００１３】
ワークスペースデータは、異なるユーザによって生成されることが可能であり、ストレージポリシーは、ユーザの識別に基づくことが可能である。異なるユーザは、アドミニストレータ（たとえば、第１のユーザ）および作業者（たとえば、第２のユーザ）を含むことが可能であり、アドミニストレータによって生成されたワークスペースデータは、少なくとも１つの永続的なレイヤに格納され、作業者によって生成されたワークスペースデータは、非永続的なレイヤに格納される。
【００１４】
コンピューティングデバイスは、オペレーティングシステムを含むゴールドレイヤイメージを使用してブートされてよく、ストレージポリシーは、使用されているオペレーティングシステムのバージョンに基づいてよい。
【００１５】
少なくとも１つのアプリケーションがコンピューティングデバイスのユーザに割り当てられてよく、ストレージポリシーは、ユーザに割り当てられたアプリケーションに基づいてよい。少なくとも１つの割り当てられたアプリケーションによって生成されたワークスペースデータが、少なくとも１つの永続的なレイヤに格納されてよく、割り当てられていないアプリケーションによって生成されたワークスペースデータは、非永続的なレイヤに格納されてよい。
【００１６】
コンピューティングデバイスは、オペレーティングシステムを含むゴールドレイヤイメージを使用してブートされてよく、レイヤリングエンジンおよびポリシーエンジンは、オペレーティングシステム内に存在してよい。
【００１７】
別の態様は、上述のコンピューティングデバイスを動作させるための方法に対して向けられている。この方法は、ワークスペースデータを生成するステップと、ワークスペースデータをデータストレージに向けるようにレイヤリングエンジンを動作させるステップとを含む。データストレージは、少なくとも１つの永続的なレイヤ、および非永続的なレイヤを含んでよい。この方法は、ワークスペースデータが少なくとも１つの永続的なレイヤまたは非永続的なレイヤに格納されるべきであるかをストレージポリシーに基づいて決定するように、レイヤリングエンジンと協働するポリシーエンジンを動作させるステップをさらに含んでよい。
【００１８】
さらに別の態様は、コンピューティングデバイスのための非一時的コンピュータ可読媒体に対して向けられており、この非一時的コンピュータ可読媒体は、ワークスペースデータをデータストレージに向けるようにレイヤリングエンジンを動作させるステップであって、データストレージは、少なくとも１つの永続的なレイヤ、および非永続的なレイヤを含む、ステップを含むステップをコンピューティングデバイスに実行させるための複数のコンピュータ実行可能命令を有する。レイヤリングエンジンと協働するポリシーエンジンが、ワークスペースデータが少なくとも１つの永続的なレイヤまたは非永続的なレイヤに格納されるべきであるかをストレージポリシーに基づいて決定するように動作させてよい。
【図面の簡単な説明】
【００１９】
【図１】本開示による、ファイルシステムポリシールールに基づく永続的なレイヤリングまたは非永続的なレイヤリングに沿ったデータの格納および編成を示す図である。
【図２】本開示による、ユーザベースのポリシールールに基づく永続的なレイヤリングまたは非永続的なレイヤリングに沿ったデータの格納および編成を示す図である。
【図３】本開示による、動的に構築されるポリシールールに基づく永続的なレイヤリングまたは非永続的なレイヤリングに沿ったデータの格納および編成を示す図である。
【図４】本開示による、レイヤリングエンジンとポリシーエンジンとを含むコンピューティングデバイスを動作させるための方法を示すフローチャートである。
【発明を実施するための形態】
【００２０】
次いで本発明が、以降で添付の図面を参照しながらさらに十分に記述されることになり、添付の図面においては、本発明の好ましい実施形態が示されている。しかしながら本発明は、多くの異なる形態で具体化されることが可能であり、本明細書において示されている実施形態に限定されると解釈されるべきではない。むしろ、これらの実施形態は、本開示が徹底的かつ完全になるように、および本発明の範囲を当業者に対して十分に伝達するように提供されている。同様の数字は、本明細書を通じて同様の要素を指す。
【００２１】
仮想ハードドライブが、コンピューティングデバイス、たとえば、サーバまたはデスクトップに対してもたらされたときには、それは、仮想読み取り専用と呼ばれる場合がある。仮想ハードドライブは、当初のイメージが読み取り専用であるという意味で仮想読み取り専用であるかもしれないが、仮想ハードドライブがサーバまたはデスクトップに対してもたらされたときには、それは、読み取り／書き込み兼用となる。なぜなら、オペレーティングシステムは情報を永続させることができる必要があるからである。マシンが再始動されたときには、イメージは、その元の状態へ戻される。仮想ハードドライブは、読み取り専用イメージと、変更だけを取り込む書き込み可能セクションとを併せたものとして実施されることが可能である。
【００２２】
仮想ハードドライブは、最小限として、オペレーティングシステムを含み、１つまたは複数のアプリケーションおよびデータを含んでもよい。仮想ハードドライブは、ベースイメージレイヤまたはゴールドイメージレイヤと呼ばれる場合があり、数百人のユーザによって、さらには数千人のユーザによって共有されてよい単一のコピーである。
【００２３】
仮想ハードドライブは仮想読み取り専用であることが可能であるので、これは、同じ仮想ハードドライブを共有しているユーザの全員の間で相互交流がないことを確実にする。ゴールドイメージに対して何らかの変更またはパッチが必要とされる場合には、ＩＴアドミニストレータが新たなバージョンを作成する。
【００２４】
仮想ハードドライブは、レイヤリングされたイメージであることが可能である。レイヤリングされたイメージとは、複数のアプリケーションレイヤと合成された単一のディスクを意味する。レイヤリングされたイメージは、オペレーティングシステムがブートするために必要とされる最小量の情報を含んでよい。レイヤリングされたイメージは、合成されたレイヤを介してもたらされたその他の多くのアプリケーションを含むことが可能であるが、いったんオペレーティングシステムレイヤがブートしている状態になった時点で、またはブートした時点でさらなるレイヤが接続されることも可能である。
【００２５】
いったんユーザのコンピューティングデバイスがブートアップして、ゴールドイメージレイヤから離れて動作している状態になると、ユーザまたはアプリケーションが変更するいかなる情報も、セッション間で保持される必要がある場合がある。この情報は、保存または永続されることになる。これは、ユーザレイヤにおいて行われ、ユーザレイヤは、書き込み可能である。ユーザレイヤは、パーソナライゼーションレイヤ、永続的なレイヤ、または書き込み可能なレイヤとさえ呼ばれる場合もある。
【００２６】
ユーザレイヤは、ユーザごとであってよく、すなわち、単一のコンピューティングデバイスが、複数のユーザをサポートしてよい（セッションとして知られているＣｉｔｒｉｘ  ＸｅｎＡｐｐサーバなど）。言い換えれば、複数の永続的なユーザレイヤが使用されてよい。ユーザレイヤのようなマシンレイヤもあるが、特定のユーザとは無関係にマシン固有の情報を永続させることが可能である。
【００２７】
ユーザレイヤは、ユーザ固有のデータが保存される場所である。現在、ユーザレイヤは、デスクトップまたはサーバ上で変化するありとあらゆるもののための包括的なものである。これが、コンピューティングデバイスの永続性である。ファイルシステムにおいて行われたいかなる変更も、ユーザレイヤに格納される。
【００２８】
ユーザレイヤは、ユーザに対して一意であり、一般には、共有されているファイルサーバに格納され、それによってユーザレイヤは、ユーザがログインするマシンならどのマシンの上でもユーザに追随する。ユーザが次にログインするときに、デスクトップを稼働させている物理サーバは、それがゴールドイメージレイヤにおいてアプリケーションレイヤをマウントするのとちょうど同じようにユーザレイヤをマウントする。
【００２９】
しかしながら、背景技術において言及されているように、完全に永続的なデスクトップは、ＩＴにとって保持するのに高くつく。たとえば、もしもユーザがウイルスをダウンロードするならば、そのウイルスは、ユーザレイヤに保存される。もしもユーザが、デスクトップを破損させるアプリケーションをダウンロードするならば、そのアプリケーションも、ユーザレイヤに保存される。ユーザが次にログインするときに、そのウイルスおよび破損したアプリケーションは、デスクトップ上に残っている。
【００３０】
その対極にあるのが、完全に非永続的なデスクトップである。非永続的なデスクトップにユーザがログインするたびに、ユーザは、新たなデスクトップを提示される。すべてが動作しており、ＩＴに関するコストは非常に低い。非永続的なデスクトップは、行われたいかなるユーザおよびアプリケーションの変更もセッション間で保存されないという点で限定的である。
【００３１】
この問題に対処するために、本開示による半永続的なデスクトップが提供される。詳細には、どの情報が永続されるべきであるかをセグメント化および制御するためのポリシールールが、ユーザレイヤに対して付加される。好ましい実施形態においては、複数の書き込み可能なレイヤが、個々のワークスペースに提供される。
【００３２】
永続的なレイヤである少なくとも１つの書き込み可能なレイヤと、非永続的なレイヤである単一の書き込み可能なレイヤとがある。たとえ複数の非永続的なレイヤがあることが可能であっても、ユーザごとに複数の非永続的なレイヤを有することに対する利点はない。なぜなら、セッションが終了した後にデータが破棄されるからである。しかしながら、永続されているデータのさらにきめ細かい制御を可能にするためにユーザごとに複数の永続的なレイヤを有する利点はある。それぞれのユーザは、非永続的なレイヤを有することが可能であり、それによって、共有されているサーバ（セッション）上では、ユーザがログアウトして再びログインしたときに、そのユーザに関する非永続的なデータは破棄されるが、その他のユーザに関する非永続的なデータは、彼らのセッションの有効期間にわたって引き続き永続的である。
【００３３】
ポリシーは次いで、どの情報またはデータが永続的なレイヤおよび非永続的なレイヤに対して書き込まれるべきであるかを決定するためのルールを定義するために使用される。それらのルールは、ファイルシステムポリシールール、ユーザポリシールール、または動的に構築されるポリシールールであることが可能である。ワークスペースセッションが完了したときに、非永続的なレイヤは破棄され、すべての永続的なレイヤは保持される。
【００３４】
次いで図１を参照して、ファイルシステムポリシールールに基づく永続的なレイヤリングまたは非永続的なレイヤリングに沿ったデータの格納および編成が論じられる。示されているコンピューティングシステム２０は、レイヤリングエンジン３０と、そのレイヤリングエンジンに関連付けられているポリシーエンジン４０とを含む。
【００３５】
コンピューティングデバイス２０が仮想読み取り専用ゴールドイメージレイヤ５０からブートアップする際に、レイヤリングエンジン３０およびポリシーエンジン４０は稼働している。レイヤリングエンジン３０は、ワークスペースデータ６０をデータストレージに向けるように構成されており、データストレージは、少なくとも１つの永続的なレイヤ７０、および非永続的なレイヤ８０を含む。この例においては、１つの永続的なレイヤ７０がある。
【００３６】
ポリシーエンジン４０は、レイヤリングエンジン３０と協働し、ワークスペースデータ６０が永続的なレイヤ７０または非永続的なレイヤ８０に格納されるべきであるかをストレージポリシーに基づいて決定するように構成されている。この例におけるストレージポリシーは、ファイルシステムポリシールールに基づく。
【００３７】
示されているワークスペースデータ６０は、複数の異なるファイルシステム書き込みを含む。それらのファイルシステム書き込みは、ＤＡＴＡフォルダに対して書き込まれるドキュメントＭＹＤＯＣ．ｄｏｃ６２と、ＡＰＰＳフォルダに対して書き込まれるアプリケーションＦＵＮＡＰＰ．ｅｘｅ６４と、ＤＯＷＮＬＯＡＤＳフォルダに対して書き込まれるダウンロードＢＩＧＦＩＬＥ．ｐｄｆ６６と、ＣＡＣＨＥフォルダに対して書き込まれるウェブページＷＥＢＰＡＧＥ．ｈｔｍｌ６８とを含む。ポリシーエンジン４０は、ファイル書き込みＭＹＤＯＣ．ｄｏｃ６２およびＦＵＮＡＰＰ．ｅｘｅ６４を永続的なレイヤ７０に格納するようにレイヤリングエンジン３０に指示する。ファイル書き込みＢＩＧＦＩＬＥ．ＰＤＦ６６およびＷＥＢＰＡＧＥ．ｈｔｍｌ６８に関しては、ポリシーエンジン４０は、これらのファイル書き込みを非永続的なレイヤ８０に格納するようにレイヤリングエンジン３０に指示する。ワークスペースセッションが完了したときに、非永続的なレイヤ８０は破棄され、永続的なレイヤ７０は保持されることが可能である。
【００３８】
ポリシーエンジン４０は、セッションが終了したときにファイルシステム書き込み６６、６８を破棄することによってセキュリティーリスクおよびサポートリスクを除去することに向けられる。しかしながら、コンピューティングデバイス２０の生産性は保持される。なぜなら、ファイルシステム書き込み６２、６４は、永続的なレイヤ７０に保存されており、それによって、ユーザが次にログインするときに、これらのファイルシステム書き込みがユーザにとって利用可能であるからである。
【００３９】
レイヤリングエンジン３０およびポリシーエンジン４０は、ゴールドイメージレイヤ５０内のオペレーティングシステムの一部である。詳細には、レイヤリングエンジン３０およびポリシーエンジン４０は、ファイルシステムおよびレジストリ内にある。
【００４０】
本開示による半永続的なデスクトップのコンセプトは、管理されているマシンについて、または管理されているマシンが使用している仮想化のタイプ、すなわち、物理かまたは仮想かについて問題にしない。このコンセプトは、異なるルールに基づく別々の情報を複数のユーザレイヤ内に保存するためにオペレーティングシステムの動作を修正することに関する。このコンセプトは、有利なことに、よりきめ細かい制御を提供し、セキュリティーを改善し、ＩＴコストを低減する。
【００４１】
レイヤリングエンジン３０は、ファイルシステムまたはレジストリの要求を見たとき、ポリシーエンジン４０に基づいてその要求を識別すること、およびどの書き込み可能なレイヤに対してその情報が書き込まれるべきであるかを決定することが可能である。レイヤリングエンジン３０は次いで、その後の要求上で情報が開かれると、適切なレイヤ（永続的なレイヤ７０または非永続的なレイヤ８０）にＩ／Ｏを向けることが可能である。この方法においては、ポリシーエンジン４０のポリシーは、どのレイヤに情報が格納されるかを制御する。セッションの有効期限が切れたときには、非永続的なレイヤ８０は破棄され、その一方で永続的なレイヤ７０は、その後のセッションのために保持される。
【００４２】
次いで図２を参照して、ユーザベースのポリシーの点からポリシーエンジン４０が論じられる。ユーザベースのポリシーは、ユーザの識別に基づいてワークスペースデータを永続的なレイヤ７０に、または非永続的なレイヤ８０に向ける。
【００４３】
示されている例においては、２人のユーザがいる。一方のユーザは、ＩＴアドミニストレータ１００であり、他方のユーザは、作業者１０２である。ポリシーエンジン４０は、ＩＴアドミニストレータ１００が変更するいかなるものも永続的なレイヤ７０に向けるようにレイヤリングエンジン３０に指示する。対照的に、ポリシーエンジン４０は、作業者１０２がダウンロードするいかなるものも非永続的なレイヤ８０に向けるようにレイヤリングエンジン３０に指示する。
【００４４】
例として、ＩＴアドミニストレータ１００は、有用なアプリケーションＵＳＥＦＵＬ−ＡＰＰ．ｅｘｅ１１０をダウンロードし、それは、作業者１０２によって必要とされるプリントドライバまたはユーザ固有のアプリケーションである場合がある。ポリシーエンジン４０は、ＵＳＥＦＵＬ−ＡＰＰ．ｅｘｅ１１０を永続的なレイヤ７０に格納するようにレイヤリングエンジン３０に指示する。作業者１０２は、アプリケーションＢＯＧＵＳ−ＡＰＰ．ｅｘｅ１１２をダウンロードし、それは、たとえば、ゲームまたはウイルスでさえある場合がある。ポリシーエンジン４０は、ＢＯＧＵＳ−ＡＰＰ．ｅｘｅ１１２を非永続的なレイヤ８０に格納するようにレイヤリングエンジン３０に指示する。ワークスペースセッションが完了したときに、非永続的なレイヤ８０におけるＢＯＧＵＳ−ＡＰＰ．ｅｘｅ１１２は破棄され、永続的なレイヤ７０におけるＵＳＥＦＵＬ−ＡＰＰ．ｅｘｅ１１０は保持される。
【００４５】
次いで図３を参照して、動的に構築されるポリシーの点からポリシーエンジン４０が論じられる。この例示は、ポリシーエンジン４０によって使用されることが可能である異なるタイプのルールに関してさらに深く掘り下げる。ファイルシステムポリシールールとユーザベースのポリシールールとの組合せが適用されることが可能である。示されている例においては、動的に構築されるポリシーエンジン４０は、ログインしたユーザの識別１２０、使用中のイメージ１３０、割り当てられたアプリケーションレイヤ１４０、および実行されているアプリケーション１５０などのソースの組合せに基づく。
【００４６】
ポリシーエンジン４０に対するログインしたユーザの識別入力１２０は、上述されているとおりである。一方のユーザは、ＩＴアドミニストレータ１００であり、他方のユーザは、作業者１０２である。ポリシーエンジン４０は、ＩＴアドミニストレータ１００がダウンロードするいかなるものも、参照７０ｃによって示されているように、およびボックス１２２において示されているように、永続的なレイヤＣに向けるようにレイヤリングエンジン３０に指示する。ポリシーエンジン４０は、作業者１０２がダウンロードするいかなるものも、やはりボックス１２２において示されているように、非永続的なレイヤ８０に向けるようにレイヤリングエンジン３０に指示する。たとえば、ＩＴアドミニストレータ１００によって開始されて「．ｅｘｅ」で終わるいかなるファイル書き込みも、永続的なレイヤＣ７０ｃに格納される。
【００４７】
ポリシーエンジン４０に対する別の入力は、イメージ１３０に基づく。イメージ１３０は、ユーザベースのルールの変形である。このポリシーは、ユーザに基づいてではなく、どのゴールドイメージレイヤ５０が適用されているかに基づいて適用される。ユーザがＷｉｎｄｏｗｓ  １０（商標）を使用している場合には、ボックス１３２において示されているように、ポリシールールの特定のセットが当てはまることになる。ユーザがＷｉｎｄｏｗｓ  ７（商標）を使用している場合には、やはりボックス１３２において示されているように、ポリシールールの異なるセットが当てはまることになる。
【００４８】
したがってポリシーエンジン４０は、ユーザがログインしたこと、またはどのゴールドイメージレイヤ上でデスクトップがブートされているかなど、現実世界のアクションに基づくことが可能である。示されている例においては、デスクトップがＷｉｎｄｏｗｓ  １０で動作している間に行われたいかなる変更も、参照７０ａによって示されているように、永続的なレイヤＡに格納されることになる。デスクトップがＷｉｎｄｏｗｓ  ７で動作している間に行われたいかなる変更も、参照７０ｂによって示されているように、永続的なレイヤＢに格納されることになる
【００４９】
ポリシーエンジン４０に対する別の入力は、割り当てられたアプリケーションレイヤ１４０に基づく。ユーザに対して割り当てられていないアプリケーションに関しては、行われたいかなる変更も永続されない。しかしながら、Ｍｉｃｒｏｓｏｆｔ  Ｏｆｆｉｃｅ  ３６５（商標）、とりわけＯｕｔｌｏｏｋなど、ユーザに割り当てられているアプリケーションに関しては、ユーザのメールファイルは、永続されるべきである。メールファイルは、ボックス１４２において示されているように、永続的なレイヤＣ７０ｃに格納されるべきである。ポリシーエンジン４０のこの態様は、ポリシーを簡略化することになり、したがってＩＴアドミニストレータは、ユーザごとにポリシーを宣言する必要はなく、代わりに、ユーザに対して既に指定されているレイヤおよびアクションに基づいてポリシーを宣言する必要がある。
【００５０】
ポリシーエンジン４０に対するさらに別の入力は、実行されているアプリケーション１５０に基づく。割り当てられたアプリケーションが稼働していて、Ｉ／Ｏを引き起こしている場合には、ポリシールールの特定のセットが当てはまることになる。
【００５１】
たとえば、ユーザが、ボックス１５２において示されているように、Ｌｅｇａｌ  Ｆｉｌｅｓ（商標）などの法律関係書類管理アプリケーションを使用している場合には、このアプリケーションからのいかなるファイル書き込みも、永続的なレイヤＣ７０ｃに格納されることになる。しかしながら、ユーザが何か他のものをダウンロードして、それを法律関係書類管理システムと同じストレージフォルダの上にまたはその中に置いた場合には、このダウンロードは、非永続的なレイヤ８０に格納されることになる。ポリシールールのこのセットに伴って、ファイル書き込みは、法律関係書類管理システムによって書き込まれた場合にのみ永続することになる。
【００５２】
複数の永続的なレイヤは、有利なことに、サブグラニュラーレベルの制御を提供する。ポリシーは、どの永続的なレイヤが情報を受信することになるかを定義し、それによってデータを、たとえば、完全な永続性、アプリケーション固有の永続性、および非永続性の間において分別する。これは、一般的な永続性を破棄する一方でアプリケーション固有の永続性を保持することによってワークスペースを修復することを可能にするという利点を有する。
【００５３】
加えて、ポリシーを通じて管理される永続性は、オペレーティングシステムにわたる可搬性がはるかに高い。なぜなら、限られたレジストリキーおよびシステム情報が保持されるからである。これは、異なるレイヤが、たとえば、ＸｅｎＡｐｐ（商標）からＸｅｎＤｅｓｋｔｏｐ（商標）、またはＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  ７からＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ  １０など、プラットフォーム間において移行されることを可能にする。
【００５４】
より詳細には、ポリシーは、有利なことに、たとえば、すべての永続的なオブジェクト（ファイル、ディレクトリ、レジストリキー、レジストリハイブなど）をカバーして、包含および除外ルールを用いて定義されることが可能である。上で示されているように、ポリシーは、（いつ特定のアプリケーションが情報を書き込んでいるかを知るために）アプリケーションプロセスツリーを含むことも可能である。
【００５５】
上で示されているように、ポリシーは、ユーザ識別および／またはユーザ権利ならびにシステム識別およびシステムプロセスによって、情報のユーザを定義することも可能である。たとえば、アドミニストレータレイヤは、アドミニストレータがマシンにログインしたときに、彼らの変更（たとえば、プリントドライバを付加すること）は永続するが、ユーザの変更は非永続的なままであるように定義されることが可能である。加えて、ユーザが高速ユーザ切り替え（複数のユーザが同時にログインされるがユーザ間において切り替えを行うことを可能にするＭＳＦＴ  Ｗｉｎｄｏｗｓ（商標）における機能）を使用する場合には、ユーザが高速切り替えを行う際に、正しい書き込み可能なレイヤが選択されることが可能である。
【００５６】
ポリシーはさらに、ユーザの識別（アクティブディレクトリグループメンバーシップなど）に基づいて、またはユーザがアクセスできるアプリケーションに基づいてグローバルであることが可能である。アプリケーションポリシーは、アプリケーションレイヤおよびオペレーティングシステムイメージ（レイヤリングシステムにおける）に関連付けられることが可能であり、それによって、アプリケーションを使用する権利をユーザが割り当てられたときには、永続的なポリシーは自動的に更新される。これは、レイヤリングされたイメージ（ＯＳイメージ）ならびにアプリケーションを伴う弾力的なレイヤの両方の上で機能することが可能である。
【００５７】
ポリシーは、静的である必要はなく、ワイルドカード（％ＵＳＥＲＮＡＭＥ％または*．*など）を用いて、または（たとえば、アプリケーションレイヤに関連付けられている）アプリケーション固有のロジックが、正しいポリシーをプログラムでルックアップすることを実行するのを可能にするＡＰＩを用いて、動的であることが可能である。たとえば、ＡＰＩを使用することは、厳密にどのファイルが、レジストリキールックアップ、またはサードパーティー製品のＡＰＩを呼び出すことを用いて保護される必要があるかを決定することが可能である。
【００５８】
次いで図４におけるフローチャート２００を参照すると、本開示の別の態様が、上述のコンピューティングデバイス２０を動作させるための方法に対して向けられている。詳細には、開始（ブロック２０２）から、この方法は、ブロック２０４においてワークスペースデータを生成するステップと、ワークスペースデータをデータストレージに向けるようにレイヤリングエンジン３０を動作させるステップとを含む。データストレージは、少なくとも１つの永続的なレイヤ７０、および非永続的なレイヤ８０を含む。この方法は、ワークスペースデータが少なくとも１つの永続的なレイヤ７０または非永続的なレイヤ８０に格納されるべきであるかをストレージポリシーに基づいて決定するように、ブロック２０８において、レイヤリングエンジン３０と協働するポリシーエンジン４０を動作させるステップをさらに含む。この方法は、ブロック２１０において終了する。
【００５９】
さらに別の態様は、コンピューティングデバイス２０のための非一時的コンピュータ可読メモリに対して向けられており、この非一時的コンピュータ可読媒体は、ワークスペースデータをデータストレージに向けるようにレイヤリングエンジン３０を動作させるステップであって、データストレージは、少なくとも１つの永続的なレイヤ７０、および非永続的なレイヤ８０を含む、ステップをコンピューティングデバイス２０に実行させるための複数のコンピュータ実行可能命令を有する。コンピューティングデバイス２０は、ワークスペースデータが少なくとも１つの永続的なレイヤ７０または非永続的なレイヤ８０に格納されるべきであるかをストレージポリシーに基づいて決定するように、レイヤリングエンジン３０と協働するポリシーエンジン４０を動作させるステップをさらに実行する。
【００６０】
前述の説明および関連付けられている図面において提示されている教示の利点を有する当業者には、本発明の多くの修正およびその他の実施形態が想起されるであろう。したがって、本発明は、開示されている特定の実施形態に限定されるべきではないということ、ならびに修正および実施形態は、前述の説明の範囲内に含まれることを意図されているということが理解される。
【図１】
2020535552.tif 000003
【図２】
2020535552.tif 000004
【図３】
2020535552.tif 000005
【図４】
2020535552.tif 000006
【国際調査報告】
2020535552.tif 000007