(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-06-09
(45)【発行日】2022-06-17
(54)【発明の名称】ポリシーベースの永続性
(51)【国際特許分類】
G06F 21/62 20130101AFI20220610BHJP
G06F 9/4401 20180101ALI20220610BHJP
【FI】
G06F21/62 309
G06F9/4401
(21)【出願番号】P 2020518004
(86)(22)【出願日】2018-05-16
(86)【国際出願番号】 US2018032895
(87)【国際公開番号】W WO2019067018
(87)【国際公開日】2019-04-04
【審査請求日】2020-03-27
(32)【優先日】2017-09-28
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】508045099
【氏名又は名称】シトリックス・システムズ・インコーポレイテッド
【氏名又は名称原語表記】Citrix Systems,Inc.
(74)【代理人】
【識別番号】110001243
【氏名又は名称】特許業務法人 谷・阿部特許事務所
(72)【発明者】
【氏名】クリストファー ミジリー
【審査官】吉田 歩
(56)【参考文献】
【文献】米国特許出願公開第2015/0186045(US,A1)
【文献】特開2002-229911(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/62
G06F 9/4401
(57)【特許請求の範囲】
【請求項1】
メモリと、
少なくとも1つのプロセッサであって、前記メモリと協働して、
ワークスペースデータをデータストレージに格納し、前記データストレージは、少なくとも1つの永続的なレイヤ、および非永続的なレイヤを含み、
前記ワークスペースデータが前記少なくとも1つの永続的なレイヤまたは前記非永続的なレイヤに格納されるべきであるかをストレージポリシーに基づいて決定するように構成された、該少なくとも1つのプロセッサと、
を含み、
前記ワークスペースデータは、異なるタイプのデータを含み、データのそれぞれのタイプは、それに関連付けられたストレージポリシーを有することを特徴とするコンピューティングデバイス。
【請求項2】
第1のタイプのデータは、前記少なくとも1つの永続的なレイヤに格納され、
第2のタイプのデータは、前記非永続的なレイヤに格納されることを特徴とする請求項1に記載のコンピューティングデバイス。
【請求項3】
前記ワークスペースデータは異なるユーザによって生成され、前記ストレージポリシーは、前記ユーザの識別に基づき、それぞれのユーザは永続的なレイヤおよび非永続的なレイヤのセットを有することを特徴とする請求項1に記載のコンピューティングデバイス。
【請求項4】
前記異なるユーザは第1のユーザおよび第2のユーザを含み、前記第1のユーザによって生成された前記ワークスペースデータは前記少なくとも1つの永続的なレイヤに格納され、前記第2のユーザによって生成された前記ワークスペースデータは前記非永続的なレイヤに格納されたことを特徴とする請求項3に記載のコンピューティングデバイス。
【請求項5】
前記コンピューティングデバイスは、オペレーティングシステムを含むゴールドレイヤイメージを使用してブートされ、前記ストレージポリシーは、使用されている前記オペレーティングシステムのバージョンに基づくことを特徴とする請求項1に記載のコンピューティングデバイス。
【請求項6】
少なくとも1つのアプリケーションは前記コンピューティングデバイスのユーザに対して割り当てられ、前記ストレージポリシーは前記ユーザに対して割り当てられたアプリケーションに基づくことを特徴とする請求項1に記載のコンピューティングデバイス。
【請求項7】
前記少なくとも1つの割り当てられたアプリケーションによって生成されたワークスペースデータは、前記少なくとも1つの永続的なレイヤに格納され、割り当てられていないアプリケーションによって生成されたワークスペースデータは、前記非永続的なレイヤに格納されたことを特徴とする請求項6に記載のコンピューティングデバイス。
【請求項8】
前記コンピューティングデバイスは、オペレーティングシステムを含むゴールドレイヤイメージを使用してブートされ
ることを特徴とする請求項1に記載のコンピューティングデバイス。
【請求項9】
コンピューティングデバイスを動作させるための方法であって、
ワークスペースデータを生成するステップと、
前記ワークスペースデータをデータストレージに格納するステップであって、前記データストレージは、少なくとも1つの永続的なレイヤ、および非永続的なレイヤを含む、該ステップと、
前記ワークスペースデータが前記少なくとも1つの永続的なレイヤまたは前記非永続的なレイヤに格納されるべきであるかをストレージポリシーに基づいて決定するステップと、
を含み、
前記ワークスペースデータは異なるタイプのデータを含み、データのそれぞれのタイプはそれに関連付けられているストレージポリシーを有することを特徴とする方法。
【請求項10】
第1のタイプのデータは前記少なくとも1つの永続的なレイヤに格納され、
第2のタイプのデータは前記非永続的なレイヤに格納されることを特徴とする請求項9に記載の方法。
【請求項11】
前記ワークスペースデータは異なるユーザによって生成され、前記ストレージポリシーは前記ユーザの識別に基づき、それぞれのユーザは永続的なレイヤおよび非永続的なレイヤのセットを有することを特徴とする請求項9に記載の方法。
【請求項12】
前記異なるユーザは第1のユーザおよび第2のユーザを含み、前記第1のユーザによって生成された前記ワークスペースデータは前記少なくとも1つの永続的なレイヤに格納され、前記第2のユーザによって生成された前記ワークスペースデータは前記非永続的なレイヤに格納されたことを特徴とする請求項11に記載の方法。
【請求項13】
オペレーティングシステムを含むゴールドレイヤイメージを使用して前記コンピューティングデバイスをブートするステップをさらに含み、前記ストレージポリシーは、使用されている前記オペレーティングシステムのバージョンに基づくことを特徴とする請求項9に記載の方法。
【請求項14】
少なくとも1つのアプリケーションは前記コンピューティングデバイスのユーザに対して割り当てられ、前記ストレージポリシーは前記ユーザに対して割り当てられたアプリケーションに基づくことを特徴とする請求項9に記載の方法。
【請求項15】
オペレーティングシステムを含むゴールドレイヤイメージを使用して前記コンピューティングデバイスをブートするステップをさらに含
むことを特徴とする請求項9に記載の方法。
【請求項16】
請求項9ないし15のいずれか1つに記載の方法を実行することを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンピューティングデバイスの分野に関し、より詳細には、ユーザのワークスペースにおけるデータの格納および編成に対するポリシールールの適用に関する。
【背景技術】
【0002】
コンピューティングデバイスにおける格納に関しては、一般に、永続的と非永続的の2つのタイプのワークスペースがある。永続的なワークスペースは、ユーザまたはアプリケーションが変更する情報がセッション間で保持される場所である。非永続的なワークスペースは、ユーザまたはアプリケーションが変更する情報がセッション間で保持されない場所である。
【0003】
永続的なワークスペースは、素晴らしいユーザ経験をもたらすことが可能であるが、DLLヘルおよび偶発的な構成障害などのアプリケーション問題に対処して管理が高くつくことがある。コンピューティングにおいて、DLLヘルは、ダイナミックリンクライブラリ(DLL)を扱うときに生じる複雑さを表す用語である。この問題は、コンピュータ上のDLLのバージョンが、プログラムが作成されていたときに使用されたバージョンとは異なっており、DLLがバックワード互換性のための組込みメカニズムを有していないときに生じる。
【0004】
非永続的なワークスペースは、動作させるコストは低いが、永続的な情報の欠如のために、動作させるのが困難であることがよくある。一般には、ドキュメントおよびレジストリキーなど、(ポリシーに基づいて)特定の情報を保護するためにプロフィールマネージャーが使用される。しかしこれらのポリシーアプローチは、情報をコピーすることまたはストリーミングすること(これらは遅くなることがある)などのオーバーヘッドを伴うか、またはアプリケーションとの互換性の問題を提示する。
【0005】
加えて、プロフィールに関するポリシーを管理することは複雑である。なぜなら、プロフィールに関するポリシー管理と、ユーザによって使用されているアプリケーションとの間には密接な関係があるからである。しかしながら、これらは、複数のポリシーエンジンを通じて管理されて、予期せぬ管理上の課題をもたらす。
【0006】
レイヤリングが、非永続的なワークスペースの上でユーザまたはワークスペースに関してすべての情報が永続されることが可能であるモデルを作成している。これは、永続的なワークスペースの経験を依然として提供しながらワークスペースの共通のプールを管理するという利点を有する。しかしながら、このモデルは、ワークスペースにおいて発生するあらゆるものを永続させ、これは、望まれていない構成上の変化として管理上の課題をもたらす可能性があり、アプリケーションおよびDLLの破損が、そしてウイルスでさえ、ワークスペースの使用の全体にわたって永続する可能性がある。
【0007】
アプリケーションはしばしば、永続性に関する要件を定義し、ポリシーは、使用中のアプリケーションに関連付けられるべきである。たとえば、ユーザがOffice 365を割り当てられている場合には、ユーザがパフォーマンス上の課題を伴わずに良好な経験を有することを確実にするためにOutlook OSTファイルおよびシステム検索インデックスが永続されるべきである。しかしこれは、標準的なプロフィールマネージャーでは可能ではない。なぜなら、オブジェクトが非常に大きい(このケースにおいてはOSTファイル)か、または情報がシステム統合内の深部にある(このケースにおいては検索インデックス)からである。
【0008】
レイヤリングは、この問題をさらに深刻にする。なぜなら、はるかに多い数のユースケースが単一のサイロ/ゴールドイメージからもたらされることがあるからである。弾力的なレイヤリングは、レイヤがオンデマンドで(セッションIDおよびユーザIDによってなどで)ユーザセッションに対して接続されることを可能にすることによって、アプリケーションレイヤリングを拡張させてよい。したがって、弾力的なレイヤリングは、割り当てられたイメージに単に基づくよりもむしろユーザ識別に基づいてアプリケーションをもたらすことが可能である。これは、永続性に関するポリシーを管理することをいっそう難しくする。なぜなら、アドミニストレータたちは、彼らがアプリケーションの割り振りを変更するたびにプロフィールポリシーを必ず調整する必要があるからである。これは、アクティブディレクトリグループメンバーシップに起因して明らかではない場合がある。
【0009】
最後に、いくつかのアプリケーションユースケースは、情報の永続性が特定のディレクトリまたはレジストリキーなどの特定のルールによって定義されず、代わりにアプリケーション使用そのものに基づいて定義されることを必要とする。たとえば、開発者ユースケースは、ストレージに対して書き込まれているアプリケーションおよびDLLファイルを有することが可能である。たとえそれらが、アドミニストレータに知られていないシステムディレクトリまたは場所に格納されていても、それらは永続する必要がある。しかしながら、ウイルスがマシン上で実行された場合には、ウイルスプロセスによって行われたいかなる変更も永続するべきではない。これらのケースにおいては、シンプルなファイルおよびキーのルールは、十分ではない。
【発明の概要】
【0010】
複数の書き込み可能なレイヤを使用してユーザのワークスペースの永続的なコンテンツおよび非永続的なコンテンツ(セッション、VDI、および物理的など)を管理することが、ポリシーに基づく非永続的なおよび永続的なファイルおよびレジストリコンテンツの混合を可能にする。ポリシーは、ログインしたユーザの識別、使用中のイメージ、割り当てられたアプリケーションレイヤ、および実行されているアプリケーションに個々にまたは組合せで基づくことが可能である。
【0011】
より詳細には、コンピューティングデバイスが、ワークスペースデータをデータストレージに向けるためのレイヤリングエンジンを含み、データストレージは、少なくとも1つの永続的なレイヤ、および非永続的なレイヤを含む。ポリシーエンジンが、レイヤリングエンジンと協働して、ワークスペースデータが少なくとも1つの永続的なレイヤまたは非永続的なレイヤに格納されるべきであるかをストレージポリシーに基づいて決定することが可能である。
【0012】
ワークスペースデータは、異なるタイプのデータを含むことが可能であり、データのそれぞれのタイプは、それに関連付けられているストレージポリシーを有する。それぞれのユーザは、永続的なレイヤおよび非永続的なレイヤのユーザ自身のセットを有することが可能である。アプリケーション固有タイプのデータが、少なくとも1つの永続的なレイヤに格納されることが可能であり、非アプリケーション固有タイプのデータが、非永続的なレイヤに格納されることが可能である。
【0013】
ワークスペースデータは、異なるユーザによって生成されることが可能であり、ストレージポリシーは、ユーザの識別に基づくことが可能である。異なるユーザは、アドミニストレータ(たとえば、第1のユーザ)および作業者(たとえば、第2のユーザ)を含むことが可能であり、アドミニストレータによって生成されたワークスペースデータは、少なくとも1つの永続的なレイヤに格納され、作業者によって生成されたワークスペースデータは、非永続的なレイヤに格納される。
【0014】
コンピューティングデバイスは、オペレーティングシステムを含むゴールドレイヤイメージを使用してブートされてよく、ストレージポリシーは、使用されているオペレーティングシステムのバージョンに基づいてよい。
【0015】
少なくとも1つのアプリケーションがコンピューティングデバイスのユーザに割り当てられてよく、ストレージポリシーは、ユーザに割り当てられたアプリケーションに基づいてよい。少なくとも1つの割り当てられたアプリケーションによって生成されたワークスペースデータが、少なくとも1つの永続的なレイヤに格納されてよく、割り当てられていないアプリケーションによって生成されたワークスペースデータは、非永続的なレイヤに格納されてよい。
【0016】
コンピューティングデバイスは、オペレーティングシステムを含むゴールドレイヤイメージを使用してブートされてよく、レイヤリングエンジンおよびポリシーエンジンは、オペレーティングシステム内に存在してよい。
【0017】
別の態様は、上述のコンピューティングデバイスを動作させるための方法に対して向けられている。この方法は、ワークスペースデータを生成するステップと、ワークスペースデータをデータストレージに向けるようにレイヤリングエンジンを動作させるステップとを含む。データストレージは、少なくとも1つの永続的なレイヤ、および非永続的なレイヤを含んでよい。この方法は、ワークスペースデータが少なくとも1つの永続的なレイヤまたは非永続的なレイヤに格納されるべきであるかをストレージポリシーに基づいて決定するように、レイヤリングエンジンと協働するポリシーエンジンを動作させるステップをさらに含んでよい。
【0018】
さらに別の態様は、コンピューティングデバイスのための非一時的コンピュータ可読媒体に対して向けられており、この非一時的コンピュータ可読媒体は、ワークスペースデータをデータストレージに向けるようにレイヤリングエンジンを動作させるステップであって、データストレージは、少なくとも1つの永続的なレイヤ、および非永続的なレイヤを含む、ステップを含むステップをコンピューティングデバイスに実行させるための複数のコンピュータ実行可能命令を有する。レイヤリングエンジンと協働するポリシーエンジンが、ワークスペースデータが少なくとも1つの永続的なレイヤまたは非永続的なレイヤに格納されるべきであるかをストレージポリシーに基づいて決定するように動作させてよい。
【図面の簡単な説明】
【0019】
【
図1】本開示による、ファイルシステムポリシールールに基づく永続的なレイヤリングまたは非永続的なレイヤリングに沿ったデータの格納および編成を示す図である。
【
図2】本開示による、ユーザベースのポリシールールに基づく永続的なレイヤリングまたは非永続的なレイヤリングに沿ったデータの格納および編成を示す図である。
【
図3】本開示による、動的に構築されるポリシールールに基づく永続的なレイヤリングまたは非永続的なレイヤリングに沿ったデータの格納および編成を示す図である。
【
図4】本開示による、レイヤリングエンジンとポリシーエンジンとを含むコンピューティングデバイスを動作させるための方法を示すフローチャートである。
【発明を実施するための形態】
【0020】
次いで本発明が、以降で添付の図面を参照しながらさらに十分に記述されることになり、添付の図面においては、本発明の好ましい実施形態が示されている。しかしながら本発明は、多くの異なる形態で具体化されることが可能であり、本明細書において示されている実施形態に限定されると解釈されるべきではない。むしろ、これらの実施形態は、本開示が徹底的かつ完全になるように、および本発明の範囲を当業者に対して十分に伝達するように提供されている。同様の数字は、本明細書を通じて同様の要素を指す。
【0021】
仮想ハードドライブが、コンピューティングデバイス、たとえば、サーバまたはデスクトップに対してもたらされたときには、それは、仮想読み取り専用と呼ばれる場合がある。仮想ハードドライブは、当初のイメージが読み取り専用であるという意味で仮想読み取り専用であるかもしれないが、仮想ハードドライブがサーバまたはデスクトップに対してもたらされたときには、それは、読み取り/書き込み兼用となる。なぜなら、オペレーティングシステムは情報を永続させることができる必要があるからである。マシンが再始動されたときには、イメージは、その元の状態へ戻される。仮想ハードドライブは、読み取り専用イメージと、変更だけを取り込む書き込み可能セクションとを併せたものとして実施されることが可能である。
【0022】
仮想ハードドライブは、最小限として、オペレーティングシステムを含み、1つまたは複数のアプリケーションおよびデータを含んでもよい。仮想ハードドライブは、ベースイメージレイヤまたはゴールドイメージレイヤと呼ばれる場合があり、数百人のユーザによって、さらには数千人のユーザによって共有されてよい単一のコピーである。
【0023】
仮想ハードドライブは仮想読み取り専用であることが可能であるので、これは、同じ仮想ハードドライブを共有しているユーザの全員の間で相互交流がないことを確実にする。ゴールドイメージに対して何らかの変更またはパッチが必要とされる場合には、ITアドミニストレータが新たなバージョンを作成する。
【0024】
仮想ハードドライブは、レイヤリングされたイメージであることが可能である。レイヤリングされたイメージとは、複数のアプリケーションレイヤと合成された単一のディスクを意味する。レイヤリングされたイメージは、オペレーティングシステムがブートするために必要とされる最小量の情報を含んでよい。レイヤリングされたイメージは、合成されたレイヤを介してもたらされたその他の多くのアプリケーションを含むことが可能であるが、いったんオペレーティングシステムレイヤがブートしている状態になった時点で、またはブートした時点でさらなるレイヤが接続されることも可能である。
【0025】
いったんユーザのコンピューティングデバイスがブートアップして、ゴールドイメージレイヤから離れて動作している状態になると、ユーザまたはアプリケーションが変更するいかなる情報も、セッション間で保持される必要がある場合がある。この情報は、保存または永続されることになる。これは、ユーザレイヤにおいて行われ、ユーザレイヤは、書き込み可能である。ユーザレイヤは、パーソナライゼーションレイヤ、永続的なレイヤ、または書き込み可能なレイヤとさえ呼ばれる場合もある。
【0026】
ユーザレイヤは、ユーザごとであってよく、すなわち、単一のコンピューティングデバイスが、複数のユーザをサポートしてよい(セッションとして知られているCitrix XenAppサーバなど)。言い換えれば、複数の永続的なユーザレイヤが使用されてよい。ユーザレイヤのようなマシンレイヤもあるが、特定のユーザとは無関係にマシン固有の情報を永続させることが可能である。
【0027】
ユーザレイヤは、ユーザ固有のデータが保存される場所である。現在、ユーザレイヤは、デスクトップまたはサーバ上で変化するありとあらゆるもののための包括的なものである。これが、コンピューティングデバイスの永続性である。ファイルシステムにおいて行われたいかなる変更も、ユーザレイヤに格納される。
【0028】
ユーザレイヤは、ユーザに対して一意であり、一般には、共有されているファイルサーバに格納され、それによってユーザレイヤは、ユーザがログインするマシンならどのマシンの上でもユーザに追随する。ユーザが次にログインするときに、デスクトップを稼働させている物理サーバは、それがゴールドイメージレイヤにおいてアプリケーションレイヤをマウントするのとちょうど同じようにユーザレイヤをマウントする。
【0029】
しかしながら、背景技術において言及されているように、完全に永続的なデスクトップは、ITにとって保持するのに高くつく。たとえば、もしもユーザがウイルスをダウンロードするならば、そのウイルスは、ユーザレイヤに保存される。もしもユーザが、デスクトップを破損させるアプリケーションをダウンロードするならば、そのアプリケーションも、ユーザレイヤに保存される。ユーザが次にログインするときに、そのウイルスおよび破損したアプリケーションは、デスクトップ上に残っている。
【0030】
その対極にあるのが、完全に非永続的なデスクトップである。非永続的なデスクトップにユーザがログインするたびに、ユーザは、新たなデスクトップを提示される。すべてが動作しており、ITに関するコストは非常に低い。非永続的なデスクトップは、行われたいかなるユーザおよびアプリケーションの変更もセッション間で保存されないという点で限定的である。
【0031】
この問題に対処するために、本開示による半永続的なデスクトップが提供される。詳細には、どの情報が永続されるべきであるかをセグメント化および制御するためのポリシールールが、ユーザレイヤに対して付加される。好ましい実施形態においては、複数の書き込み可能なレイヤが、個々のワークスペースに提供される。
【0032】
永続的なレイヤである少なくとも1つの書き込み可能なレイヤと、非永続的なレイヤである単一の書き込み可能なレイヤとがある。たとえ複数の非永続的なレイヤがあることが可能であっても、ユーザごとに複数の非永続的なレイヤを有することに対する利点はない。なぜなら、セッションが終了した後にデータが破棄されるからである。しかしながら、永続されているデータのさらにきめ細かい制御を可能にするためにユーザごとに複数の永続的なレイヤを有する利点はある。それぞれのユーザは、非永続的なレイヤを有することが可能であり、それによって、共有されているサーバ(セッション)上では、ユーザがログアウトして再びログインしたときに、そのユーザに関する非永続的なデータは破棄されるが、その他のユーザに関する非永続的なデータは、彼らのセッションの有効期間にわたって引き続き永続的である。
【0033】
ポリシーは次いで、どの情報またはデータが永続的なレイヤおよび非永続的なレイヤに対して書き込まれるべきであるかを決定するためのルールを定義するために使用される。それらのルールは、ファイルシステムポリシールール、ユーザポリシールール、または動的に構築されるポリシールールであることが可能である。ワークスペースセッションが完了したときに、非永続的なレイヤは破棄され、すべての永続的なレイヤは保持される。
【0034】
次いで
図1を参照して、ファイルシステムポリシールールに基づく永続的なレイヤリングまたは非永続的なレイヤリングに沿ったデータの格納および編成が論じられる。示されているコンピューティングシステム20は、レイヤリングエンジン30と、そのレイヤリングエンジンに関連付けられているポリシーエンジン40とを含む。
【0035】
コンピューティングデバイス20が仮想読み取り専用ゴールドイメージレイヤ50からブートアップする際に、レイヤリングエンジン30およびポリシーエンジン40は稼働している。レイヤリングエンジン30は、ワークスペースデータ60をデータストレージに向けるように構成されており、データストレージは、少なくとも1つの永続的なレイヤ70、および非永続的なレイヤ80を含む。この例においては、1つの永続的なレイヤ70がある。
【0036】
ポリシーエンジン40は、レイヤリングエンジン30と協働し、ワークスペースデータ60が永続的なレイヤ70または非永続的なレイヤ80に格納されるべきであるかをストレージポリシーに基づいて決定するように構成されている。この例におけるストレージポリシーは、ファイルシステムポリシールールに基づく。
【0037】
示されているワークスペースデータ60は、複数の異なるファイルシステム書き込みを含む。それらのファイルシステム書き込みは、DATAフォルダに対して書き込まれるドキュメントMYDOC.doc62と、APPSフォルダに対して書き込まれるアプリケーションFUNAPP.exe64と、DOWNLOADSフォルダに対して書き込まれるダウンロードBIGFILE.pdf66と、CACHEフォルダに対して書き込まれるウェブページWEBPAGE.html68とを含む。ポリシーエンジン40は、ファイル書き込みMYDOC.doc62およびFUNAPP.exe64を永続的なレイヤ70に格納するようにレイヤリングエンジン30に指示する。ファイル書き込みBIGFILE.PDF66およびWEBPAGE.html68に関しては、ポリシーエンジン40は、これらのファイル書き込みを非永続的なレイヤ80に格納するようにレイヤリングエンジン30に指示する。ワークスペースセッションが完了したときに、非永続的なレイヤ80は破棄され、永続的なレイヤ70は保持されることが可能である。
【0038】
ポリシーエンジン40は、セッションが終了したときにファイルシステム書き込み66、68を破棄することによってセキュリティーリスクおよびサポートリスクを除去することに向けられる。しかしながら、コンピューティングデバイス20の生産性は保持される。なぜなら、ファイルシステム書き込み62、64は、永続的なレイヤ70に保存されており、それによって、ユーザが次にログインするときに、これらのファイルシステム書き込みがユーザにとって利用可能であるからである。
【0039】
レイヤリングエンジン30およびポリシーエンジン40は、ゴールドイメージレイヤ50内のオペレーティングシステムの一部である。詳細には、レイヤリングエンジン30およびポリシーエンジン40は、ファイルシステムおよびレジストリ内にある。
【0040】
本開示による半永続的なデスクトップのコンセプトは、管理されているマシンについて、または管理されているマシンが使用している仮想化のタイプ、すなわち、物理かまたは仮想かについて問題にしない。このコンセプトは、異なるルールに基づく別々の情報を複数のユーザレイヤ内に保存するためにオペレーティングシステムの動作を修正することに関する。このコンセプトは、有利なことに、よりきめ細かい制御を提供し、セキュリティーを改善し、ITコストを低減する。
【0041】
レイヤリングエンジン30は、ファイルシステムまたはレジストリの要求を見たとき、ポリシーエンジン40に基づいてその要求を識別すること、およびどの書き込み可能なレイヤに対してその情報が書き込まれるべきであるかを決定することが可能である。レイヤリングエンジン30は次いで、その後の要求上で情報が開かれると、適切なレイヤ(永続的なレイヤ70または非永続的なレイヤ80)にI/Oを向けることが可能である。この方法においては、ポリシーエンジン40のポリシーは、どのレイヤに情報が格納されるかを制御する。セッションの有効期限が切れたときには、非永続的なレイヤ80は破棄され、その一方で永続的なレイヤ70は、その後のセッションのために保持される。
【0042】
次いで
図2を参照して、ユーザベースのポリシーの点からポリシーエンジン40が論じられる。ユーザベースのポリシーは、ユーザの識別に基づいてワークスペースデータを永続的なレイヤ70に、または非永続的なレイヤ80に向ける。
【0043】
示されている例においては、2人のユーザがいる。一方のユーザは、ITアドミニストレータ100であり、他方のユーザは、作業者102である。ポリシーエンジン40は、ITアドミニストレータ100が変更するいかなるものも永続的なレイヤ70に向けるようにレイヤリングエンジン30に指示する。対照的に、ポリシーエンジン40は、作業者102がダウンロードするいかなるものも非永続的なレイヤ80に向けるようにレイヤリングエンジン30に指示する。
【0044】
例として、ITアドミニストレータ100は、有用なアプリケーションUSEFUL-APP.exe110をダウンロードし、それは、作業者102によって必要とされるプリントドライバまたはユーザ固有のアプリケーションである場合がある。ポリシーエンジン40は、USEFUL-APP.exe110を永続的なレイヤ70に格納するようにレイヤリングエンジン30に指示する。作業者102は、アプリケーションBOGUS-APP.exe112をダウンロードし、それは、たとえば、ゲームまたはウイルスでさえある場合がある。ポリシーエンジン40は、BOGUS-APP.exe112を非永続的なレイヤ80に格納するようにレイヤリングエンジン30に指示する。ワークスペースセッションが完了したときに、非永続的なレイヤ80におけるBOGUS-APP.exe112は破棄され、永続的なレイヤ70におけるUSEFUL-APP.exe110は保持される。
【0045】
次いで
図3を参照して、動的に構築されるポリシーの点からポリシーエンジン40が論じられる。この例示は、ポリシーエンジン40によって使用されることが可能である異なるタイプのルールに関してさらに深く掘り下げる。ファイルシステムポリシールールとユーザベースのポリシールールとの組合せが適用されることが可能である。示されている例においては、動的に構築されるポリシーエンジン40は、ログインしたユーザの識別120、使用中のイメージ130、割り当てられたアプリケーションレイヤ140、および実行されているアプリケーション150などのソースの組合せに基づく。
【0046】
ポリシーエンジン40に対するログインしたユーザの識別入力120は、上述されているとおりである。一方のユーザは、ITアドミニストレータ100であり、他方のユーザは、作業者102である。ポリシーエンジン40は、ITアドミニストレータ100がダウンロードするいかなるものも、参照70cによって示されているように、およびボックス122において示されているように、永続的なレイヤCに向けるようにレイヤリングエンジン30に指示する。ポリシーエンジン40は、作業者102がダウンロードするいかなるものも、やはりボックス122において示されているように、非永続的なレイヤ80に向けるようにレイヤリングエンジン30に指示する。たとえば、ITアドミニストレータ100によって開始されて「.exe」で終わるいかなるファイル書き込みも、永続的なレイヤC70cに格納される。
【0047】
ポリシーエンジン40に対する別の入力は、イメージ130に基づく。イメージ130は、ユーザベースのルールの変形である。このポリシーは、ユーザに基づいてではなく、どのゴールドイメージレイヤ50が適用されているかに基づいて適用される。ユーザがWindows 10(商標)を使用している場合には、ボックス132において示されているように、ポリシールールの特定のセットが当てはまることになる。ユーザがWindows 7(商標)を使用している場合には、やはりボックス132において示されているように、ポリシールールの異なるセットが当てはまることになる。
【0048】
したがってポリシーエンジン40は、ユーザがログインしたこと、またはどのゴールドイメージレイヤ上でデスクトップがブートされているかなど、現実世界のアクションに基づくことが可能である。示されている例においては、デスクトップがWindows 10で動作している間に行われたいかなる変更も、参照70aによって示されているように、永続的なレイヤAに格納されることになる。デスクトップがWindows 7で動作している間に行われたいかなる変更も、参照70bによって示されているように、永続的なレイヤBに格納されることになる
【0049】
ポリシーエンジン40に対する別の入力は、割り当てられたアプリケーションレイヤ140に基づく。ユーザに対して割り当てられていないアプリケーションに関しては、行われたいかなる変更も永続されない。しかしながら、Microsoft Office 365(商標)、とりわけOutlookなど、ユーザに割り当てられているアプリケーションに関しては、ユーザのメールファイルは、永続されるべきである。メールファイルは、ボックス142において示されているように、永続的なレイヤC70cに格納されるべきである。ポリシーエンジン40のこの態様は、ポリシーを簡略化することになり、したがってITアドミニストレータは、ユーザごとにポリシーを宣言する必要はなく、代わりに、ユーザに対して既に指定されているレイヤおよびアクションに基づいてポリシーを宣言する必要がある。
【0050】
ポリシーエンジン40に対するさらに別の入力は、実行されているアプリケーション150に基づく。割り当てられたアプリケーションが稼働していて、I/Oを引き起こしている場合には、ポリシールールの特定のセットが当てはまることになる。
【0051】
たとえば、ユーザが、ボックス152において示されているように、Legal Files(商標)などの法律関係書類管理アプリケーションを使用している場合には、このアプリケーションからのいかなるファイル書き込みも、永続的なレイヤC70cに格納されることになる。しかしながら、ユーザが何か他のものをダウンロードして、それを法律関係書類管理システムと同じストレージフォルダの上にまたはその中に置いた場合には、このダウンロードは、非永続的なレイヤ80に格納されることになる。ポリシールールのこのセットに伴って、ファイル書き込みは、法律関係書類管理システムによって書き込まれた場合にのみ永続することになる。
【0052】
複数の永続的なレイヤは、有利なことに、サブグラニュラーレベルの制御を提供する。ポリシーは、どの永続的なレイヤが情報を受信することになるかを定義し、それによってデータを、たとえば、完全な永続性、アプリケーション固有の永続性、および非永続性の間において分別する。これは、一般的な永続性を破棄する一方でアプリケーション固有の永続性を保持することによってワークスペースを修復することを可能にするという利点を有する。
【0053】
加えて、ポリシーを通じて管理される永続性は、オペレーティングシステムにわたる可搬性がはるかに高い。なぜなら、限られたレジストリキーおよびシステム情報が保持されるからである。これは、異なるレイヤが、たとえば、XenApp(商標)からXenDesktop(商標)、またはMicrosoft Windows 7からMicrosoft Windows 10など、プラットフォーム間において移行されることを可能にする。
【0054】
より詳細には、ポリシーは、有利なことに、たとえば、すべての永続的なオブジェクト(ファイル、ディレクトリ、レジストリキー、レジストリハイブなど)をカバーして、包含および除外ルールを用いて定義されることが可能である。上で示されているように、ポリシーは、(いつ特定のアプリケーションが情報を書き込んでいるかを知るために)アプリケーションプロセスツリーを含むことも可能である。
【0055】
上で示されているように、ポリシーは、ユーザ識別および/またはユーザ権利ならびにシステム識別およびシステムプロセスによって、情報のユーザを定義することも可能である。たとえば、アドミニストレータレイヤは、アドミニストレータがマシンにログインしたときに、彼らの変更(たとえば、プリントドライバを付加すること)は永続するが、ユーザの変更は非永続的なままであるように定義されることが可能である。加えて、ユーザが高速ユーザ切り替え(複数のユーザが同時にログインされるがユーザ間において切り替えを行うことを可能にするMSFT Windows(商標)における機能)を使用する場合には、ユーザが高速切り替えを行う際に、正しい書き込み可能なレイヤが選択されることが可能である。
【0056】
ポリシーはさらに、ユーザの識別(アクティブディレクトリグループメンバーシップなど)に基づいて、またはユーザがアクセスできるアプリケーションに基づいてグローバルであることが可能である。アプリケーションポリシーは、アプリケーションレイヤおよびオペレーティングシステムイメージ(レイヤリングシステムにおける)に関連付けられることが可能であり、それによって、アプリケーションを使用する権利をユーザが割り当てられたときには、永続的なポリシーは自動的に更新される。これは、レイヤリングされたイメージ(OSイメージ)ならびにアプリケーションを伴う弾力的なレイヤの両方の上で機能することが可能である。
【0057】
ポリシーは、静的である必要はなく、ワイルドカード(%USERNAME%または*.*など)を用いて、または(たとえば、アプリケーションレイヤに関連付けられている)アプリケーション固有のロジックが、正しいポリシーをプログラムでルックアップすることを実行するのを可能にするAPIを用いて、動的であることが可能である。たとえば、APIを使用することは、厳密にどのファイルが、レジストリキールックアップ、またはサードパーティー製品のAPIを呼び出すことを用いて保護される必要があるかを決定することが可能である。
【0058】
次いで
図4におけるフローチャート200を参照すると、本開示の別の態様が、上述のコンピューティングデバイス20を動作させるための方法に対して向けられている。詳細には、開始(ブロック202)から、この方法は、ブロック204においてワークスペースデータを生成するステップと、ワークスペースデータをデータストレージに向けるようにレイヤリングエンジン30を動作させるステップとを含む。データストレージは、少なくとも1つの永続的なレイヤ70、および非永続的なレイヤ80を含む。この方法は、ワークスペースデータが少なくとも1つの永続的なレイヤ70または非永続的なレイヤ80に格納されるべきであるかをストレージポリシーに基づいて決定するように、ブロック208において、レイヤリングエンジン30と協働するポリシーエンジン40を動作させるステップをさらに含む。この方法は、ブロック210において終了する。
【0059】
さらに別の態様は、コンピューティングデバイス20のための非一時的コンピュータ可読メモリに対して向けられており、この非一時的コンピュータ可読媒体は、ワークスペースデータをデータストレージに向けるようにレイヤリングエンジン30を動作させるステップであって、データストレージは、少なくとも1つの永続的なレイヤ70、および非永続的なレイヤ80を含む、ステップをコンピューティングデバイス20に実行させるための複数のコンピュータ実行可能命令を有する。コンピューティングデバイス20は、ワークスペースデータが少なくとも1つの永続的なレイヤ70または非永続的なレイヤ80に格納されるべきであるかをストレージポリシーに基づいて決定するように、レイヤリングエンジン30と協働するポリシーエンジン40を動作させるステップをさらに実行する。
【0060】
前述の説明および関連付けられている図面において提示されている教示の利点を有する当業者には、本発明の多くの修正およびその他の実施形態が想起されるであろう。したがって、本発明は、開示されている特定の実施形態に限定されるべきではないということ、ならびに修正および実施形態は、前述の説明の範囲内に含まれることを意図されているということが理解される。