IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ベリタス テクノロジーズ エルエルシーの特許一覧

特許7516537認可されていないファイル変更からフォルダを保護するためのシステム及び方法
<>
  • 特許-認可されていないファイル変更からフォルダを保護するためのシステム及び方法 図1
  • 特許-認可されていないファイル変更からフォルダを保護するためのシステム及び方法 図2
  • 特許-認可されていないファイル変更からフォルダを保護するためのシステム及び方法 図3
  • 特許-認可されていないファイル変更からフォルダを保護するためのシステム及び方法 図4
  • 特許-認可されていないファイル変更からフォルダを保護するためのシステム及び方法 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-05
(45)【発行日】2024-07-16
(54)【発明の名称】認可されていないファイル変更からフォルダを保護するためのシステム及び方法
(51)【国際特許分類】
   G06F 21/62 20130101AFI20240708BHJP
【FI】
G06F21/62 318
【請求項の数】 14
(21)【出願番号】P 2022552835
(86)(22)【出願日】2021-03-17
(65)【公表番号】
(43)【公表日】2023-04-26
(86)【国際出願番号】 US2021022822
(87)【国際公開番号】W WO2021188716
(87)【国際公開日】2021-09-23
【審査請求日】2022-09-02
(31)【優先権主張番号】16/822,821
(32)【優先日】2020-03-18
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】516222277
【氏名又は名称】ベリタス テクノロジーズ エルエルシー
(74)【代理人】
【識別番号】100147485
【弁理士】
【氏名又は名称】杉村 憲司
(72)【発明者】
【氏名】サブラマニアン、ナラヤン
(72)【発明者】
【氏名】パンナ、アリンダム
(72)【発明者】
【氏名】スリダラン、スリニート
【審査官】吉田 歩
(56)【参考文献】
【文献】特開2008-293525(JP,A)
【文献】特開2007-249782(JP,A)
【文献】特開2008-085448(JP,A)
【文献】特開2019-125347(JP,A)
【文献】米国特許出願公開第2012/0110323(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/62
(57)【特許請求の範囲】
【請求項1】
認可されていないファイル変更からフォルダを保護するためのコンピュータ実装方法であって、前記方法の少なくとも一部分が、少なくとも1つのプロセッサを備えるコンピューティングデバイスによって実施され、及び前記方法の少なくとも別の部分が、リモートデバイスによって実施され、前記方法が、
前記リモートデバイスにより、前記リモートデバイス上のプロセスから、前記コンピューティングデバイスのフォルダ内のターゲットファイルの変更要求を検出することと、
前記リモートデバイスにより、前記フォルダの内容を読み取り、前記ターゲットファイルが保護フォルダ内にあるかどうかを判定することと
前記リモートデバイスにより、前記ターゲットファイルが前記保護フォルダ内にあると判定することに応答して、前記プロセスが認可されたプロセスであるかどうかを判定することと、
前記プロセスが前記認可されたプロセスであると判定することに応答して、前記変更要求を前記コンピューティングデバイスに送信することと、
前記コンピューティングデバイスにより、前記リモートデバイスから、前記フォルダ内の前記ターゲットファイルの前記変更要求を受信することと、
前記フォルダが前記保護フォルダであるかどうかを判定することと、
前記フォルダが前記保護フォルダであると判定することに応答して、前記リモートデバイスが信頼できるホストであるかどうかを判定することと、
前記リモートデバイスが前記信頼できるホストであると判定することに応答して、前記ターゲットファイルの前記変更要求を許可することと、を含む、コンピュータ実装方法。
【請求項2】
前記ターゲットファイルが前記保護フォルダ内にあるかどうかを判定することが、
前記フォルダがマーカーファイルを含むかどうかを判定することと、
前記フォルダが前記マーカーファイルを含むと判定することに応答して、前記フォルダが前記保護フォルダであると判定することと、を更に含む、請求項に記載の方法。
【請求項3】
前記変更要求を検出することが、前記リモートデバイスのミニフィルタによって、前記変更要求を阻止することを含む、請求項又はに記載の方法。
【請求項4】
前記変更要求が、前記リモートデバイスのネットワークアドレスを含み、前記リモートデバイスが前記信頼できるホストであるかどうかを判定することが、
前記ネットワークアドレスに基づく、請求項1~のいずれか一項に記載の方法。
【請求項5】
前記変更要求が、ロックダウンサーバによって維持された鍵のハッシュを含み、前記リモートデバイスが前記信頼できるホストであるかどうかを判定することが、前記ハッシュを認識することに基づく、請求項1~のいずれか一項に記載の方法。
【請求項6】
前記変更要求を受信することが、ミニフィルタによって、前記変更要求を阻止することを更に含む、請求項1~のいずれか一項に記載の方法。
【請求項7】
前記ミニフィルタが、ロックダウンサーバと通信して、前記リモートデバイスが前記信頼できるホストであるかどうかを判定する、請求項に記載の方法。
【請求項8】
前記リモートデバイスが前記信頼できるホストであるかどうかを判定することが、前記リモートデバイスに連絡することによって、前記変更要求を確認することを更に含む、請求項1~のいずれか一項に記載の方法。
【請求項9】
1つ以上のコンピュータ実行可能命令を含む非一時的コンピュータ可読媒体であって、前記命令は、コンピューティングデバイス及びリモートデバイスの少なくとも1つのプロセッサによって実行されるとき、前記コンピューティングデバイス及び前記リモートデバイスに、
前記リモートデバイスにより、前記リモートデバイス上のプロセスから、前記コンピューティングデバイスのフォルダ内のターゲットファイルの変更要求を検出することと、
前記リモートデバイスにより、前記フォルダの内容を読み取り、前記ターゲットファイルが保護フォルダ内にあるかどうかを判定することと,
前記ターゲットファイルが前記保護フォルダ内にあると判定することに応答して、前記プロセスが認可されたプロセスであるかどうかを判定することと、
前記リモートデバイスにより、前記プロセスが前記認可されたプロセスであると判定することに応答して、前記変更要求を送信することと、
前記コンピューティングデバイスにより、前記リモートデバイスから、前記フォルダ内の前記ターゲットファイルの前記変更要求を受信することと、
前記フォルダが保護フォルダであるかどうかを判定することと、
前記フォルダが前記保護フォルダであると判定することに応答して、前記リモートデバイスが信頼できるホストであるかどうかを判定することと、
前記リモートデバイスが前記信頼できるホストであると判定することに応答して、前記ターゲットファイルの前記変更要求を許可することと、を行わせる、非一時的コンピュータ可読媒体。
【請求項10】
前記リモートデバイスが、
前記リモートデバイス上のプロセスからの前記変更要求を検出することと、
前記フォルダがマーカーファイルを含むかどうかを判定することによって、前記ターゲットファイルが前記保護フォルダ内にあるかどうかを判定することと、に応答して、前記変更要求を送信すること、を行わせる、請求項に記載の非一時的コンピュータ可読媒体。
【請求項11】
前記変更要求を検出することが、前記リモートデバイスのミニフィルタによって、前記変更要求を阻止することを含む、請求項9又は10に記載の非一時的コンピュータ可読媒体。
【請求項12】
前記変更要求を受信することが、ミニフィルタによって、前記変更要求を阻止することを更に含む、請求項~1のいずれか一項に記載の非一時的コンピュータ可読媒体。
【請求項13】
前記ミニフィルタが、ロックダウンサーバと通信して、前記リモートデバイスが前記信頼できるホストであるかどうかを判定する、請求項1に記載の非一時的コンピュータ可読媒体。
【請求項14】
前記リモートデバイスが前記信頼できるホストであるかどうかを判定することが、前記リモートデバイスに連絡することによって、前記変更要求を確認することを更に含む、請求項~1のいずれか一項に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【背景技術】
【0001】
バックアップアプリケーションは、多くの場合、オペレーティングシステム、ファイル、アプリケーションなどのソフトウェア環境をバックアップするためのバックアップイメージを作成する。バックアップイメージは、マシンを安定状態に復元するため、マシンを更新するため、又は他のメンテナンス機能を実施するために使用され得る。バックアップイメージは、集中型サーバからアクセスされ得るか、又はローカルに配備され、例えば、ローカルフォルダ内若しくは共有フォルダ内に記憶され得る。バックアップイメージにリモートアクセスすること、例えば、管理サーバがクライアントマシン上のバックアップイメージにアクセスすることは、柔軟性を提供し得る。信頼できるホスト上で実行され得る正規プロセスは、バックアップイメージを更新するか、又は他のメンテナンス動作を実施するために、共有フォルダにアクセスする必要があり得る。
【0002】
しかしながら、バックアップイメージへのリモートアクセスを可能にすることは、セキュリティの脆弱性を引き起こす可能性がある。例えば、ランサムウェアソフトウェアが、バックアップイメージを含むフォルダにアクセスして、身代金のためにバックアップイメージを暗号化する可能性がある。他のマルウェアが、バックアップイメージにアクセスして破損する可能性がある。共有フォルダへのアクセスを制限することは、そのようなセキュリティの脆弱性を防止し得るが、正規プロセスが、適切に機能することを妨げられる可能性がある。バックアップアプリケーションに加えて、アーカイブソフトウェア、複製ソフトウェア、セキュリティソフトウェアなどの他のアプリケーションもまた、正規プロセスへのアクセスを許可しながら、マルウェアからデータを保護することを必要とし得る。
【0003】
したがって、本開示は、認可されていないファイル変更からフォルダを保護するためのシステム及び方法の必要性を特定し、それに対処する。
【発明の概要】
【0004】
以下でより詳細に説明されるように、本開示は、リモートデバイスから、フォルダ内のターゲットファイルの変更要求を受信することと、フォルダが保護フォルダであると判定することと、リモートデバイスが信頼できるホストであると判定することと、ターゲットファイルの変更要求を許可することとにより、認可されていないファイル変更からフォルダを保護するための様々なシステム及び方法を記載する。
【0005】
一実施形態では、認可されていないファイル変更からフォルダを保護するための方法は、(i)リモートデバイスから、フォルダ内のターゲットファイルの変更要求を受信することと、(ii)フォルダが保護フォルダであるかどうかを判定することと、(iii)フォルダが保護フォルダであると判定することに応答して、リモートデバイスが信頼できるホストであるかどうかを判定することと、(iv)リモートデバイスが信頼できるホストであると判定することに応答して、ターゲットファイルの変更要求を許可することと、を含み得る。
【0006】
いくつかの例では、リモートデバイスは、(a)リモートデバイス上のプロセスからの変更要求を検出することと、(b)ターゲットファイルが保護フォルダ内にあるかどうかを判定することと、(c)ターゲットファイルが保護フォルダ内にあると判定することに応答して、プロセスが認可されたプロセスであるかどうかを判定することと、(d)プロセスが認可されたプロセスであると判定することに応答して、変更要求を送信することと、に応答して、変更要求を送信し得る。
【0007】
いくつかの例では、ターゲットファイルが保護フォルダ内にあるかどうかを判定することは、フォルダがマーカーファイルを含むかどうかを判定することと、フォルダがマーカーファイルを含むと判定することに応答して、フォルダが保護フォルダであると判定することを更に含み得る。
【0008】
いくつかの例では、変更要求を検出することは、リモートデバイスのミニフィルタによって、変更要求を阻止することを含み得る。いくつかの例では、変更要求は、リモートデバイスのネットワークアドレスを含み得る。いくつかの例では、リモートデバイスが信頼できるホストであるかどうかを判定することは、ネットワークアドレスに基づき得る。いくつかの例では、変更要求は、ロックダウンサーバによって維持された鍵のハッシュを含み得、リモートデバイスが信頼できるホストであるかどうかを判定することは、ハッシュを認識することに基づき得る。
【0009】
いくつかの例では、変更要求を受信することは、ミニフィルタによって、変更要求を阻止することを更に含み得る。いくつかの例では、ミニフィルタは、ロックダウンサーバと通信して、リモートデバイスが信頼できるホストであるかどうかを判定し得る。いくつかの例では、リモートデバイスが信頼できるホストであるかどうかを判定することは、リモートデバイスに連絡することによって、変更要求を確認することを更に含み得る。いくつかの例では、ミニフィルタは、リモートデバイスと関連付けられたリモートミニフィルタと通信して、リモートデバイスが信頼できるホストであるかどうかを判定し得る。
【0010】
一例では、認可されていないファイル変更からフォルダを保護するためのシステムは、(i)リモートデバイスから、フォルダ内のターゲットファイルの変更要求を受信するための、メモリに記憶された受信モジュールと、(ii)フォルダが保護フォルダであるかどうかを判定するための、メモリに記憶されたフォルダモジュールと、(iii)フォルダが保護フォルダであると判定することに応答して、リモートデバイスが信頼できるホストであるかどうかを判定するための、メモリに記憶されたホスト検証モジュールと、(iv)リモートデバイスが信頼できるホストであると判定することに応答して、ターゲットファイルの変更要求を許可するための、メモリに記憶された変更モジュールと、(v)受信モジュール、フォルダモジュール、ホスト検証モジュール、及び変更モジュールを実行する、少なくとも1つの物理プロセッサとを含む、メモリに記憶されたいくつかのモジュールを含み得る。
【0011】
いくつかの例では、リモートデバイスは、(a)リモートデバイス上のプロセスからの変更要求を検出することと、(b)ターゲットファイルが保護フォルダ内にあるかどうかを判定することと、(c)ターゲットファイルが保護フォルダ内にあると判定することに応答して、プロセスが認可されたプロセスであるかどうかを判定することと、(d)プロセスが認可されたプロセスであると判定することに応答して、変更要求を送信することと、に応答して、変更要求を送信し得る。
【0012】
いくつかの例では、ターゲットファイルが保護フォルダ内にあるかどうかを判定することは、フォルダがマーカーファイルを含むかどうかを判定することと、フォルダがマーカーファイルを含むと判定することに応答して、フォルダが保護フォルダであると判定することを更に含み得る。
【0013】
いくつかの例では、変更要求を検出することは、リモートデバイスのミニフィルタによって、変更要求を阻止することを含み得る。いくつかの例では、変更要求は、リモートデバイスのネットワークアドレスを含み得る。いくつかの例では、リモートデバイスが信頼できるホストであるかどうかを判定することは、ネットワークアドレスに基づき得る。
【0014】
いくつかの例では、システムは、ミニフィルタを更に含み得る。変更要求を受信することは、ミニフィルタによって、変更要求を阻止することを更に含み得る。いくつかの例では、ミニフィルタは、ロックダウンサーバと通信して、リモートデバイスが信頼できるホストであるかどうかを判定し得る。
【0015】
いくつかの例では、上記の方法は、非一時的コンピュータ可読媒体上にコンピュータ可読命令としてコード化されてもよい。例えば、コンピュータ可読媒体は、コンピューティングデバイスの少なくとも1つのプロセッサによって実行されると、コンピューティングデバイスに、(i)リモートデバイスから、フォルダ内のターゲットファイルの変更要求を受信することと、(ii)フォルダが保護フォルダであるかどうかを判定することと、(iii)フォルダが保護フォルダであると判定することに応答して、リモートデバイスが信頼できるホストであるかどうかを判定することと、(iv)リモートデバイスが信頼できるホストであると判定することに応答して、ターゲットファイルの変更要求を許可することと、を行わせ得る1つ以上のコンピュータ実行可能命令を含み得る。
【0016】
いくつかの例では、リモートデバイスは、(a)リモートデバイス上のプロセスからの変更要求を検出することと、(b)フォルダがマーカーファイルを含むかどうかを判定することによって、ターゲットファイルが保護フォルダ内にあるかどうかを判定することと、(c)ターゲットファイルが保護フォルダ内にあると判定することに応答して、プロセスが認可されたプロセスであるかどうかを判定することと、(d)プロセスが認可されたプロセスであると判定することに応答して、変更要求を送信することと、に応答して、変更要求を送信し得る。
【0017】
いくつかの例では、変更要求を検出することは、リモートデバイスのミニフィルタによって、変更要求を阻止することを含み得る。いくつかの例では、変更要求を受信することは、ミニフィルタによって、変更要求を阻止することを更に含み得る。
【0018】
本明細書で述べた実施形態のうちのいずれかからの特性は、本明細書で説明する一般原理に従って互いと組み合わせて使用されてもよい。これらの及び他の実施形態、特性、及び利点は、添付の図面及び請求項と併せて、以下の詳細な説明を一読することで、より完全に理解されよう。
【図面の簡単な説明】
【0019】
添付の図面は、いくつかの例示的な実施形態を例解し、かつ本明細書の一部である。以下の説明と共に、これらの図面は、本開示の種々の原理を実証及び説明する。
図1】認可されていないファイル変更からフォルダを保護するための例示的なシステムブのロック図である。
図2】認可されていないファイル変更からフォルダを保護するための追加の例示的なシステムのブロック図である。
図3】認可されていないファイル変更からフォルダを保護するための例示的な方法のフロー図である。
図4】認可されていないファイル変更からフォルダを保護するための例示的なミニフィルタのブロック図である。
図5】保護される新しいフォルダを作成するデータフロー図である。
【0020】
図面を通じて、同一の参照文字及び説明は、類似であるが、必ずしも同一ではない要素を示す。本明細書において説明される例示的な実施形態は、種々の変更及び代替的な形態が可能であるが、具体的な実施形態が、図面において、例として示されており、かつ本明細書において詳細に説明される。しかしながら、本明細書において説明される例示的な実施形態は、開示される特定の形態に限定されることを意図しない。むしろ、本開示は、添付の請求項の範囲内にある全ての変更物、同等物、及び代替物を網羅する。
【発明を実施するための形態】
【0021】
本開示は、概して、認可されていないファイル変更からフォルダを保護するためのシステム及び方法に関する。以下でより詳細に説明されるように、フォルダ内のターゲットファイルの変更要求を阻止することと、フォルダを保護フォルダとして識別することと、変更要求を行っているリモートデバイスを信頼できるホストとして認証することと、信頼できるホストからの変更要求を許可することとにより、本明細書に記載の様々なシステム及び方法は、正規プロセスがファイルを変更することを可能にしながら、マルウェアが、共有フォルダ内のファイルの認可されていない変更を行うことを制限し得る。リモートデバイスからの変更要求を阻止することにより、本明細書に記載の様々なシステム及び方法は、正規プロセスの認証を簡素化することによって、バンド幅消費を潜在的に軽減し得る。代替的又は追加的に、システム及び方法は、ネットワークを介してアクセスされる保護フォルダの識別を容易にし得る。
【0022】
更に、本明細書に記載のシステム及び方法は、オーバーヘッドを増加させることなく、保護フォルダ上の変更要求を効率的に認証することによって、ネットワークコンピュータの機能及び/又はパフォーマンスを改善し得る。これらのシステム及び方法はまた、バックアップイメージの保護を提供することによって、ネットワークセキュリティ及び/又はバックアップシステムの分野を改善し得る。
【0023】
以下では、図1及び図2を参照して、認可されていないファイル変更からフォルダを保護するための例示的なシステムの詳細な説明を提供する。また、対応するコンピュータ実装方法の詳細な説明が、図3に関連して提供される。加えて、例示的なミニフィルタ及びフォルダの詳細な説明が、図4及び図5に関連して提供される。
【0024】
図1は、認可されていないファイル変更からフォルダを保護するための例示的なシステム100のブロック図である。この図に示されているように、例示的なシステム100は、1つ以上のタスクを実施するための1つ以上のモジュール102を含んでもよい。以下でより詳細に説明されるように、モジュール102は、受信モジュール104と、フォルダモジュール106と、ホスト検証モジュール108と、変更モジュール110とを含み得る。別個の要素として示されるが、図1のモジュール102のうちの1つ以上は、単一のモジュール又はアプリケーションの一部分を表し得る。
【0025】
特定の実施形態では、図1のモジュール102のうちの1つ以上は、コンピューティングデバイスによって実行されるとき、コンピューティングデバイスに、1つ以上のタスクを実施させてもよい1つ以上のソフトウェアアプリケーション又はプログラムを表してもよい。例えば、以下でより詳細に説明されるように、モジュール102のうちの1つ以上は、図2に例示されたデバイス(例えば、コンピューティングデバイス202、リモートデバイス208、及び/又はサーバ206)などの、1つ以上のコンピューティングデバイス上で記憶され、動作するように構成されたモジュールを表し得る。図1のモジュール102のうちの1つ以上はまた、1つ以上のタスクを実施するように構成された1つ以上の特殊目的のコンピュータの全て又は一部分を表してもよい。
【0026】
図1に示されているように、例示的なシステム100はまた、メモリ140など、1つ以上のメモリデバイスも含み得る。メモリ140は、概して、データ及び/又はコンピュータ可読命令を記憶できる、任意の種類又は形式の揮発性又は不揮発性の記憶デバイス又は媒体を表す。一例では、メモリ140は、モジュール102のうちの1つ以上を記憶、ロード、及び/又は維持し得る。メモリ140の例としては、限定することなく、ランダムアクセスメモリ(Random Access Memory、RAM)、読み取り専用メモリ(Read Only Memory、ROM)、フラッシュメモリ、ハードディスクドライブ(Hard Disk Drive、HDD)、ソリッドステートドライブ(Solid-State Drive、SSD)、光ディスクドライブ、キャッシュ、これらのうちの1つ以上の変形若しくは組み合わせ、又は任意の他の好適なストレージメモリが挙げられる。
【0027】
図1に示されているように、例示的なシステム100はまた、物理プロセッサ130など、1つ以上の物理プロセッサも含み得る。物理プロセッサ130は、概して、コンピュータ可読命令を解釈でき、かつ/又は実行できる任意のタイプ又は形式のハードウェア実装処理ユニットを表す。一例では、物理プロセッサ130は、メモリ140に記憶されたモジュール102のうちの1つ以上にアクセスし得、かつ/又はこれらを変更し得る。追加的又は代替的に、物理プロセッサ130は、モジュール102のうちの1つ以上を実行して、認可されていないファイル変更からフォルダを保護することを容易にし得る。物理プロセッサ130の例としては、マイクロプロセッサ、マイクロコントローラ、中央処理ユニット(Central Processing Unit、CPU)、ソフトコアプロセッサを実装しているフィールドプログラマブルゲートアレイ(Field-Programmable Gate Array、FPGA)、特定用途向け集積回路(Application-Specific Integrated Circuit、ASIC)、これらのうちの1つ以上の部分、これらのうちの1つ以上の変形若しくは組み合わせ、又は任意の他の好適な物理プロセッサが挙げられるが、これらに限定されない。
【0028】
図1に示されるように、例示的なシステム100はまた、フォルダ122、ターゲットファイル124、マーカーファイル126、ミニフィルタ128、及びプロセス132などの1つ以上の追加要素120を含み得る。フォルダ122は、ローカルアクセス及びリモートアクセスされ得る共有フォルダであり得る。ターゲットファイル124は、リモートアクセスされる対象であり得るフォルダ122内のファイルであり得る。ターゲットファイル124は、例えば、バックアップイメージファイル又は任意の他のタイプのデータファイルであり得る。マーカーファイル126は、以下で更に説明されるように、フォルダ122が保護フォルダである可能性があることのインジケータであり得る。ミニフィルタ128は、以下で更に説明されるように、ファイルシステム動作をフィルタリングするためのカーネルモードフィルタであり得る。プロセス132は、フォルダ122及び/又はターゲットファイル124にアクセスし得る、バックアップアプリケーションなどのプロセスであり得る。
【0029】
図1の例示的なシステム100は、様々な態様で実装され得る。例えば、例示的なシステム100の全て又は一部分は、図2の例示的なシステム200の部分を表し得る。図2に示されるように、システム200は、ネットワーク204を介してサーバ206と通信するコンピューティングデバイス202及びリモートデバイス208を含み得る。一例では、モジュール102の機能の全て又は一部分は、コンピューティングデバイス202、リモートデバイス208、サーバ206、及び/又は任意の他の好適なコンピューティングシステムによって実施され得る。以下でより詳細に説明されるように、図1のモジュール102のうちの1つ以上は、コンピューティングデバイス202、リモートデバイス208、及び/又はサーバ206のうちの少なくとも1つのプロセッサによって実行されるとき、コンピューティングデバイス202、リモートデバイス208、及び/又はサーバ206が、認可されていないファイル変更からフォルダを保護することを可能にし得る。
【0030】
コンピューティングデバイス202は、コンピュータ実行可能命令を読み出すことができる任意のタイプ又は形式のコンピューティングデバイスを概して表す。コンピューティングデバイス202は、例えば、クライアント側バックアップソフトウェアを実行するエンドポイントデバイスであり得る。コンピューティングデバイス202の追加例としては、ノートブック、タブレット、デスクトップ、サーバ、携帯電話、パーソナルデジタルアシスタント(Personal Digital Assistant、PDA)、マルチメディアプレイヤー、組み込みシステム、ウェアラブルデバイス(例えば、スマートウォッチ、スマートグラスなど)、スマートビークル、いわゆるIoTデバイス(例えば、スマート家電など)、ゲーム機、これらのうちの1つ以上の変形若しくは組み合わせ、又は任意の他の好適なコンピューティングデバイスが挙げられるが、これらに限定されない。
【0031】
リモートデバイス208は、コンピュータ実行可能命令を読み出すことができる任意のタイプ又は形態のコンピューティングデバイスを概して表す。リモートデバイス208は、例えば、エンドポイントデバイスを維持するための管理デバイスであり得る。リモートデバイス208の追加例としては、ノートブック、タブレット、デスクトップ、サーバ、携帯電話、パーソナルデジタルアシスタント(PDA)、マルチメディアプレイヤー、組み込みシステム、ウェアラブルデバイス(例えば、スマートウォッチ、スマートグラスなど)、スマートビークル、いわゆるIoTデバイス(例えば、スマート家電など)、ゲーム機、これらのうちの1つ以上の変形若しくは組み合わせ、又は任意の他の好適なコンピューティングデバイスが挙げられるが、これらに限定されない。
【0032】
サーバ206は、セキュリティのアクセス許可を管理することができる任意のタイプ又は形態のコンピューティングデバイスを概して表す。例えば、サーバ206は、ロックダウンサーバ又は集中型管理サーバであり得る。サーバ206の付加的な例としては、特定のソフトウェアアプリケーションを動作させ、かつ/又は様々なストレージ、データベース、及び/若しくはウェブサービスを提供するように構成された、ストレージサーバ、データベースサーバ、アプリケーションサーバ、及び/又はウェブサーバが挙げられるが、これらに限定されない。図2において単一体として例解されるが、サーバ206は、互いに連動して働き、かつ/又は動作する複数のサーバを含み、かつ/又は表してもよい。
【0033】
ネットワーク204は、通信又はデータ転送を容易にすることができる任意の媒体又はアーキテクチャを概して表す。一例では、ネットワーク204は、コンピューティングデバイス202と、リモートデバイス208と、サーバ206との間の通信を容易にし得る。この例では、ネットワーク204は、無線及び/又は有線接続を使用して、通信又はデータ転送を容易にし得る。ネットワーク204の例としては、限定するものではないが、イントラネット、ワイドエリアネットワーク(Wide Area Network、WAN)、ローカルエリアネットワーク(Local Area Network、LAN)、パーソナルエリアネットワーク(Personal Area Network、PAN)、インターネット、電力線通信(Power Line Communication、PLC)、セルラネットワーク(例えば、汎欧州デジタル移動電話方式(Global System for Mobile Communication、GSM)ネットワーク)、1つ以上の上記の部分、上記のうちの1つ以上の変形若しくは組み合わせ、又は任意の他の好適なネットワークを含む。
【0034】
多くの他のデバイス又はサブシステムは、図1のシステム100及び/又は図2のシステム200に接続され得る。逆に、図1及び図2に示す構成要素及びデバイスの全てが、本明細書において説明及び/又は例示される実施形態を実践するために存在する必要があるわけではない。上記で述べたデバイス及びサブシステムはまた、図2に示すものとは異なる様式で相互接続されてもよい。システム100及び200はまた、任意の数のソフトウェア、ファームウェア、及び/又はハードウェア構成を採用してもよい。例えば、本明細書において開示される例示的な実施形態のうちの1つ以上は、コンピュータ可読媒体上に、コンピュータプログラム(コンピュータソフトウェア、ソフトウェアアプリケーション、コンピュータ可読命令、及び/又はコンピュータ制御論理とも称される)としてコード化され得る。
【0035】
「コンピュータ可読媒体」という用語は、本明細書において使用される際、概して、コンピュータ可読命令を記憶又は担持することが可能な任意の形態のデバイス、キャリア、又は媒体を指す。コンピュータ可読媒体の例としては、限定することなく、搬送波などの伝送タイプ媒体、並びに磁気記憶媒体(例えば、ハードディスクドライブ、テープドライブ、及びフロッピーディスク)、光記憶媒体(例えば、コンパクトディスク(Compact Disk、CD)、デジタルビデオディスク(Digital Video Disk、DVD)、及びBLU-RAYディスク)、電子記憶媒体(例えば、ソリッドステートドライブ及びフラッシュ媒体)などの非一時的タイプ媒体、並びに他の分散システムが挙げられる。
【0036】
図3は、認可されていないファイル変更からフォルダを保護するための例示的なコンピュータ実装方法300のフローチャートである。図3に示されている工程は、図1のシステム100、図2のシステム200、及び/又はこれらのうちの1つ以上の変形若しくは組み合わせを含む、任意の好適なコンピュータ実行可能コード及び/又はコンピューティングシステムによって実施され得る。一例では、図3に示されている工程のそれぞれは、複数の副工程を含む及び/又はそれらによって表される構造を有するアルゴリズムを表すものであり得、これらの例を以下に詳細に示す。
【0037】
図3に示されるように、工程302で、本明細書に記載のシステムのうちの1つ以上が、リモートデバイスから、フォルダ内のターゲットファイルの変更要求を受信し得る。例えば、受信モジュール104は、図2のコンピューティングデバイス202の一部として、リモートデバイス208から、フォルダ122内のターゲットファイル124の変更要求を受信し得る。
【0038】
本明細書で使用されるとき、「変更要求」という用語は、一般に、指定されたファイルに対して動作を実施する要求を指す。変更要求の例としては、指定されたファイルのデータを変えるための書き込み動作、指定されたファイルを異なるフォルダに移動させるための移動動作、指定されたファイルの名前及び/又は経路を変えるための名前変更動作、指定されたファイルを圧縮するための圧縮動作、指定されたファイルを暗号化するための暗号化動作、並びに指定されたファイル、その属性、そのメタデータなどを変えるための他の動作が挙げられるが、これらに限定されない。
【0039】
本明細書に記載のシステムは、様々な方法で、工程302を実施し得る。一例では、変更要求を受信することは、ミニフィルタ128によって、変更要求を阻止することを含み得る。
【0040】
本明細書で使用されるとき、「ミニフィルタ」という用語は、概して、I/O要求がファイルシステムに到達する前に、ファイルシステムに対する入力/出力(input/output、I/O)要求を阻止し得る、オペレーティングシステムのファイルシステムのフィルタを指す。ミニフィルタの例としては、限定するものではないが、オペレーティングシステムで利用可能であり得るような、ファイルシステムの上にある任意のカーネルモードフィルタが挙げられる。図4は、ミニフィルタ128に対応し得る例示的なミニフィルタ428を示す。
【0041】
図4は、ファイルシステム442の動作環境400を示し、ファイルシステムドライバ444及びミニフィルタ428を含む。ファイルシステム442は、メモリ140などのメモリ又は記憶デバイスに記憶されたファイルを編成及び管理するためのファイルシステムを含み得る。ファイルシステムドライバ444は、ファイルシステム442にアクセスするためのソフトウェアサポートを提供し得、読み取り452、書き込み454、移動456、及び作成458を含むユーザモード動作をサポートし得る。
【0042】
図4に見られるように、ミニフィルタ428は、特定の動作を阻止することができ、かつ特定の他の動作を可能する(例えば、無視する)ことができる。図4では、ミニフィルタ428は、書き込み454及び移動456を阻止し得るが、読み取り452及び作成458を自動的に許可し得る。いくつかの実装例では、ミニフィルタ428は、特定のタイプの全ての動作(例えば、全ての書き込み及び移動動作)を阻止し、他の特定のタイプの動作(例えば、全ての読み取り及び作成動作)を無視し得る。図4には示されていないが、他の実装例では、所与の動作が、ファイルシステム442に到達する前に、様々なミニフィルタを通してフィルタリングされ得るように、追加のミニフィルタが、動作を更にフィルタリングし得る。ミニフィルタ428が動作を阻止すると、以下で更に説明されるように、ミニフィルタ428は、動作を許可又は拒否する前に、追加の処理を実施し得る。
【0043】
工程302に戻ると、受信モジュール104の一部であるか、又は受信モジュール104に関連して動作し得るミニフィルタ128は、受信モジュール104が、リモートデバイス208から変更要求を受信した後、ターゲットデバイス、例えば、コンピューティングデバイス202で変更要求を阻止し得る。例えば、ミニフィルタ128は、コンピューティングデバイス202のフォルダ122内のターゲットファイル124を変更するための、リモートデバイス208のプロセス132からの変更要求を阻止し得る。ミニフィルタ128は、変更要求を許可する前に、更なる処理のためのあらゆる変更要求を阻止するように構成され得る。
【0044】
いくつかの実装例では、リモートデバイス208は、リモートデバイス208が、変更要求をコンピューティングデバイス202に送信する前に、変更要求を阻止するための独自のミニフィルタ128を含み得る。そのような実装例では、リモートデバイス208のミニフィルタ128は、コンピューティングデバイス202のフォルダ122内のターゲットファイル124を変更するための、リモートデバイス208上のプロセス132からの変更要求を検出し得る。リモートデバイス208のミニフィルタ128は、工程304に関して以下に説明されるものと同様の決定因子を使用して、ターゲットファイル124が保護フォルダ内にあるかどうかを判定することを決定し得る。いくつかの実装例では、フォルダ122が保護フォルダではない場合、ミニフィルタ128は、変更要求が送信されることを許可し得る。
【0045】
ミニフィルタ128は、ターゲットファイル124が保護フォルダ内にある(例えば、フォルダ122が保護フォルダである)と判定することに応答して、リモートデバイス208のプロセス132(例えば、変更要求を行っているプロセス)が認可されたプロセスであるかどうかを判定し得る。例えば、ミニフィルタ128は、プロセス132のデジタル署名をチェックし得るか、又はさもなければ、プロセス132を識別し得る(例えば、プロセスIDを検出する)。ミニフィルタ128は、サーバ206などのロックダウンサーバと通信して、プロセス132を認可する(例えば、プロセス132のデジタル署名を検証する)ことができる。他の実装例では、ミニフィルタ128は、ホワイトリスト又は他の認証方法に基づいて、プロセス132を認可し得る。ミニフィルタ132がプロセス132を認可すると、ミニフィルタ128は、その後の変更要求に対するプロセス132の認可を容易にするために、プロセス132を、例えばそのプロセスIDによって覚えることができる。そのような実装例では、受信モジュール104又は別のモジュール102は、期限切れプロセスID(例えば、終了したプロセスに対応するプロセスID)が、対応する終了したプロセスをもはや認可しないように無効にされ得るように、プロセス作成及び終了を追跡し得る。例えば、プロセス132が終了する場合、ミニフィルタ128は、対応するプロセスIDをもはや認可しなくてもよい。プロセス132の新しいインスタンスが作成される場合、ミニフィルタ128は、プロセス132の新しいインスタンスを再認可し得る。
【0046】
ミニフィルタ128は、プロセス132が認可されたプロセスであると判定することに応答して、変更要求をコンピューティングデバイス202に送信し得る。プロセス132が認可されない場合、ミニフィルタ128は、例えば、変更要求を廃棄することによって、変更要求が送信されることをブロックし得る。いくつかの実装例では、変更要求はまた、変更要求を行っているリモートデバイス208を識別するための、ネットワークアドレスなどの識別子を含み得る。
【0047】
図3に示されるように、工程304で、本明細書に記載のシステムのうちの1つ以上は、フォルダが保護フォルダであるかどうかを判定し得る。例えば、フォルダモジュール106は、図2のコンピューティングデバイス202の一部として、フォルダ122が保護フォルダであるかどうかを判定し得る。
【0048】
本明細書で使用されるとき、「保護フォルダ」という用語は、一般に、ファイルを有するフォルダ(例えば、ディレクトリ、パス、レポジトリなど)を指す。保護フォルダ内のファイルへのアクセスは、認可されたプロセス及び/又は信頼できるホストに限定され得る。
【0049】
本明細書に記載のシステムは、様々な方法で、工程304を実施し得る。一例では、フォルダモジュール106は、コンピューティングデバイス202上の保護フォルダを列挙するリスト又はテーブルにアクセスし得る。例えば、ミニフィルタ128は、例えばローカルメモリに、保護フォルダのリストを維持し、リスト内のフォルダ122を認識し得る。しかしながら、ネットワーク環境におけるパス名の可変性により、そのようなリストは、特にリモートデバイス208などのリモートデバイスによってアクセスされる場合、保護フォルダを確実に識別しないことがある。
【0050】
いくつかの例では、ミニフィルタ128は、フォルダモジュール106の一部として、フォルダ122が、マーカーファイル126などのマーカーファイルを含むかどうかに基づいて、フォルダ122を保護フォルダとして識別し得る。ミニフィルタ128は、リモートデバイス208が、フォルダ122の内容を読み取り、かつマーカーファイル126の存在に基づいて、フォルダ122を保護フォルダとして識別することができるように、フォルダ122に対する読み取り要求を許可し得る。したがって、リモートデバイス208は、フォルダ122のパス名への任意の変動にもかかわらず、フォルダ122を保護フォルダとして確実に識別し得る。
【0051】
図5は、新しい保護フォルダを作成するための環境500を示す。プロセス132に対応し得るプロセス533は、新しい保護フォルダを作成し得る。プロセス533は、例えば、データをバックアップするためのバックアップアプリケーション、セキュリティアプリケーション、又は認可されていない変更から中にあるファイルを保護するための保護フォルダを作成し得る他の管理アプリケーションであり得る。プロセス533は、フォルダ122に対応し得るフォルダ522を作成し得る。プロセス533はまた、サーバ206に対応し得るサーバ506と通信し得る。サーバ506は、ロックダウンサーバ、集中型管理サーバ、又はセキュリティソフトウェアを管理することができる他のサーバなどのセキュリティサーバであり得る。プロセス533は、フォルダ522が保護フォルダであることをサーバ506に通知し得る。
【0052】
プロセス533によって通知されることに応答して、サーバ506は、ミニフィルタ128に対応し得るミニフィルタ528を通信することができる。ミニフィルタ528は、フォルダ522をホストするファイルシステム上に構成されたミニフィルタであり得る。ミニフィルタ528は、フォルダ522をレジストリ562及びミニフィルタメモリ564に追加し得る。レジストリ562は、ミニフィルタ528の範囲内の保護フォルダのリストを記憶するための永続的な記憶装置であり得る。ミニフィルタメモリ564は、ミニフィルタ528のランタイム中、保護フォルダのリストを保持するためのカーネルメモリであり得る。いくつかの実装例では、ミニフィルタメモリ564は、ミニフィルタ528が初期化すると、保護フォルダのリストをレジストリ562からロードし得る。
【0053】
ミニフィルタ528は、マーカーファイル526をフォルダ522に更に追加し得る。フォルダ522にマーカーファイル526を含めることは、フォルダ522が保護ファイルであることを示し得、その結果、マーカーファイル526自体は、データを含む必要はない。いくつかの実装例では、マーカーファイル526は、フォルダ522に関するメタデータなどのデータを含み得る。
【0054】
図3に戻ると、工程306で、本明細書に記載のシステムのうちの1つ以上は、フォルダが保護フォルダであることに応答して、リモートデバイスが信頼できるホストであるかどうかを判定し得る。例えば、ホスト検証モジュール108は、図2のコンピューティングデバイス202の一部として、フォルダが保護フォルダであると判定することに応答して、リモートデバイス208が信頼できるホストであるかどうかを判定し得る。
【0055】
本明細書で使用されるとき、「信頼できるホスト」という用語は、概して、認可又はさもなければ検証され得るコンピューティングデバイスを指す。信頼できるホストは、識別及びホワイトリスト、パスワード、鍵、又はトークンなどを介してなど、様々な方法で認証され得る。
【0056】
本明細書に記載のシステムは、様々な方法で、工程306を実施し得る。一例では、変更要求は、リモートデバイス208のネットワークアドレス又は他の識別子などの識別子を含み得る。ホスト検証モジュール108の一部であり得るミニフィルタ128は、識別子を用いて、サーバ206にクエリすることができる。ロックダウンサーバ又は他のセキュリティサーバであり得るサーバ206は、識別子に基づいて、リモートデバイス208を信頼できるホストとして認証し得る。
【0057】
他の例では、ホスト検証モジュール108及び/又はミニフィルタ128は、インバンドプロトコルを使用して、リモートデバイス208が信頼できるホストであるかどうかを確認し得る。例えば、変更要求は、ターゲットファイル124のファイル名を含み得る。このファイル名は、サーバ206によって維持される動的秘密鍵又は他の鍵のハッシュを含み得る。ホスト検証モジュール108は、サーバ206でハッシュを確認するか、又はさもなければ、ハッシュを認識し得る。ハッシュを含めることにより、サーバ206は、そのようなハッシュを信頼できるホストと共有し得るため、リモートデバイス208が信頼できるホストであることが、確立され得る。次いで、ホスト検証モジュール108は、ターゲットファイル124を識別するために、ファイル名からハッシュをストリップし得る。
【0058】
更に他の例では、ホスト検証モジュール108は、リモートデバイス208に連絡することによって、変更要求を確認し得る。例えば、コンピューティングデバイス202のミニフィルタ128は、リモートデバイス208のミニフィルタ128と通信して、リモートデバイス208が信頼できるホストであるかどうかを確認し得る。追加的又は代替的に、ホスト検証モジュール108は、リモートデバイス208が変更要求を送信したことを確認するために、リモートデバイス208と通信することをサーバ206に要求するか、又はさもなければ通知することができる。上で説明されたように、リモートデバイス208のミニフィルタ128は、最初に、リモートデバイス208から発信された変更要求を阻止し得、かつ変更要求がリモートデバイス208からであることをコンピューティングデバイス202及び/又はサーバ206のミニフィルタ128に知らせ得る。
【0059】
工程308で、本明細書に記載のシステムのうちの1つ以上は、リモートデバイスが信頼できるホストであると判定することに応答して、ターゲットファイルの変更要求を許可し得る。例えば、変更モジュール110は、図2のコンピューティングデバイス202の一部として、リモートデバイス208が信頼できるホストであると判定することに応答して、ターゲットファイル124の変更要求を許可し得る。
【0060】
本明細書に記載のシステムは、様々な方法で工程308を実施し得る。一例では、ミニフィルタ128は、ターゲットファイル124が、変更要求に従って変更され得るように、変更要求を許可し得る。
【0061】
図1図5に関連して上で説明されたように、バックアップアプリケーションは、ローカルマシンのローカルディスクフォルダ内にバックアップイメージを記憶するための一次記憶装置として、ディスクを使用し得る。ローカルディスクフォルダは、様々な管理サーバ上で実行されるバックアップサービスが、共有フォルダ内のバックアップイメージを協働して作成及び/又は更新することができるように、ネットワークアクセスのために共有され得る。共有フォルダは、共有フォルダが、保護されたネットワークフォルダであることを示すマーカーファイルを含み得る。
【0062】
一例では、管理サーバ上のバックアッププロセスは、共有フォルダ内のバックアップイメージを更新することを試行し得る。管理サーバ上のミニフィルタは、マーカーファイルの存在によって、共有フォルダが保護されたネットワークフォルダであることを認識し得る。次いで、ミニフィルタは、プロセスを認証し、プロセスが認証されると、更新試行をローカルマシンに送信し得る。ローカルマシン上のローカルミニフィルタは、更新試行を阻止し、フォルダを保護フォルダとして認識し、管理サーバを認証し、認証されると、更新試行が進行することを許可することができる。
【0063】
別の例では、管理サーバ上の編集プロセスは、共有フォルダ内のバックアップイメージを更新することを試行し得る。管理サーバ上のミニフィルタは、マーカーファイルの存在によって、共有フォルダが保護されたネットワークフォルダであることを認識し得る。ミニフィルタは、編集プロセスの認証を試行し得る。しかしながら、編集プロセスは、バックアップイメージを変更することを認可されない場合があり、ミニフィルタは、更新要求がローカルマシンに送信されないように、更新を拒否し得る。
【0064】
更に別の例では、ローカルマシンは、リモートマシンから、共有フォルダ内のバックアップイメージの更新要求を受信し得る。リモートマシンは、更新要求が送信されるように、更新要求の発信プロセスを認証するように構成されたミニフィルタを有しない場合がある。ローカルミニフィルタは、共有フォルダが保護フォルダであることを認識し、更新要求が、信頼できるホストから送信されなかったことを判定し、最終的に更新要求を拒否し得る。
【0065】
したがって、リモートマシン及び/又はローカルマシン内のミニフィルタを利用することにより、本明細書に記載のシステム及び方法は、共有フォルダ内のファイルを保護し得る。更新要求は、リモートマシン及び/又はローカルマシンで拒否され得る。更に、マーカーファイルを使用することにより、リモートミニフィルタが保護フォルダを識別することが容易になり得る。本開示は、バックアップソフトウェアの共有フォルダを保護することについて記載しているが、本明細書に記載の発明概念は、アーカイブソフトウェア、複製ソフトウェア、セキュリティソフトウェア、管理ソフトウェア、データベースなどを含む、データ保護を必要とする他のソフトウェアと共に使用され得る。
【0066】
上述の開示は、具体的なブロック図、フローチャート、及び実施例を使用して、種々の実施形態を記載するが、本明細書において説明及び/又は例解される各ブロック図の構成要素、フローチャートの工程、動作、及び/又は構成要素は、広範なハードウェア、ソフトウェア、又はファームウェア(又はこれらの任意の組み合わせ)構成を使用して、個々に、かつ/又は集合的に実装され得る。加えて、他の構成要素内に含まれる構成要素のいずれの開示も、多くの他のアーキテクチャを実装して、同じ機能を達成することができるため、事実上、例としてみなされるべきである。
【0067】
いくつかの例では、図1の例示的なシステム100の全て又は一部分は、クラウドコンピューティング又はネットワークベース環境の部分を表してもよい。クラウドコンピューティング環境は、インターネットを介して、種々のサービス及びアプリケーションを提供し得る。これらのクラウドベースのサービス(例えば、サービスとしてのソフトウェア、サービスとしてプラットフォーム、サービスとしてのインフラストラクチャなど)は、ウェブブラウザ又は他のリモートインターフェースを通じて、アクセス可能であり得る。本明細書において説明される種々の機能は、リモートデスクトップ環境又は任意の他のクラウドベースのコンピューティング環境を通じて提供され得る。
【0068】
種々の実施形態において、図1の例示的なシステム100の全て又は一部分は、クラウドベースのコンピューティング環境内のマルチテナンシーを容易にし得る。換言すると、本明細書において説明されるモジュールは、本明細書において説明される機能のうちの1つ以上に対するマルチテナンシーを容易にするように、コンピューティングシステム(例えば、サーバ)を構成し得る。例えば、本明細書において説明されるモジュールのうちの1つ以上は、2つ以上のクライアント(例えば、顧客)が、サーバ上で実行されているアプリケーションを共有することを可能にするように、サーバをプログラムし得る。このようにプログラムされたサーバは、複数の顧客(すなわち、テナント)間でアプリケーション、オペレーティングシステム、処理システム、及び/又は記憶システムを共有し得る。本明細書において説明されるモジュールのうちの1つ以上はまた、ある顧客が別の顧客のデータ及び/又は構成情報にアクセスすることができないように、各顧客に対して、マルチテナントアプリケーションのデータ及び/又は構成情報を分割し得る。
【0069】
種々の実施形態によれば、図1の例示的なシステム100の全て又は一部分は、仮想環境内で実装され得る。例えば、本明細書において説明されるモジュール及び/又はデータは、仮想マシン内に存在し得る、かつ/又はそこで実行し得る。本明細書において使用される際、「仮想マシン」という用語は、概して、仮想マシンマネージャ(例えば、ハイパーバイザ)によって、コンピューティングハードウェアから抽象化される任意のオペレーティングシステム環境を指す。
【0070】
いくつかの例では、図1の例示的なシステム100の全て又は一部分は、モバイルコンピューティング環境の部分を表し得る。モバイルコンピューティング環境は、モバイル電話、タブレットコンピュータ、電子書籍リーダ、パーソナルデジタルアシスタント、ウェアラブルコンピューティングデバイス(例えば、頭部装着型ディスプレイ、スマートウォッチなどを有するコンピューティングデバイス)、これらのうちの1つ以上の変形若しくは組み合わせ、又は任意の他の好適なモバイルコンピューティングデバイスを含む、広範なモバイルコンピューティングデバイスによって実装され得る。いくつかの例において、モバイルコンピューティング環境は、例えば、バッテリ電力への依存、任意の所与の時間に1つのフォアグラウンドアプリケーションのみを提示すること、遠隔管理特性、タッチスクリーン特性、場所及び移動データ(例えば、グローバルポジショニングシステム、ジャイロスコープ、加速度計などによって提供される)、システムレベルの構成への変更を制限する、かつ/又は第3者のソフトウェアが他のアプリケーションの挙動を検査する能力を制限する、制限されたプラットフォーム、アプリケーションのインストールを制限する(例えば、承認されたアプリケーションストアのみから得る)管理などを含む、1つ以上の異なる特性を含み得る。本明細書において説明される種々の機能は、モバイルコンピューティング環境に対して提供され得る、かつ/又はモバイルコンピューティング環境と相互作用し得る。
【0071】
本明細書において説明及び/又は例解される工程のプロセスパラメータ及び順序は、例として示されるに過ぎず、所望に応じて変化させることができる。例えば、本明細書において例解及び/又は説明される工程は、特定の順序で図示又は考察されるが、これらの工程は、必ずしも例解又は考察される順序で実施される必要はない。本明細書において説明及び/又は例解される種々の例示的な方法もまた、本明細書において説明若しくは例解される工程のうちの1つ以上を省略し得るか、又は開示されるものに加えて追加の工程を含み得る。
【0072】
種々の実施形態が、完全に機能的なコンピューティングシステムの文脈で、本明細書において説明及び/又は例解されているが、これらの例示的な実施形態のうちの1つ以上は、分散を実際に行うために使用される特定のタイプのコンピュータ可読媒体にかかわらず、様々な形態のプログラム製品として分散され得る。本明細書において開示される実施形態はまた、あるタスクを実施するモジュールを使用して、実装され得る。これらのモジュールは、コンピュータ可読記憶憶媒体上に、又はコンピューティングシステム内に記憶され得る、スクリプト、バッチ、又は他の実行可能なファイルを含み得る。いくつかの実施形態では、これらのモジュールは、本明細書において開示される例示的な実施形態のうちの1つ以上を実施するように、コンピューティングシステムを構成し得る。
【0073】
先述の説明は、当業者が、本明細書において開示される例示的な実施形態の種々の態様を最良に利用することを可能にするために提供されている。この例示的な説明は、網羅的であることを意図するものでも、開示されたいずれかの正確な形態に限定されることを意図するものでもない。多くの変更及び改変が、本開示の趣旨及び範囲から逸脱することなく、可能である。本明細書において開示される実施形態は、全ての点において、例解的であり、制限的ではないとみなされるべきである。本開示の範囲を判定する上では、添付の請求項及びそれらの同等物を参照するべきである。
【0074】
別途記載されない限り、「~に接続される(connected to)」及び「~に連結される(coupled to)」という用語(及びそれらの派生語)は、本明細書及び請求項において使用される際、直接的及び間接的(すなわち、他の要素又は構成要素を介した)接続の両方を許容するとして解釈されるものとする。加えて、「a」又は「an」という用語は、本明細書及び請求項において使用される際、「~のうちの少なくとも1つ(at least one of)」を意味するとして解釈されるものとする。最後に、使用を容易にするために、「含む(including)」及び「有する(having)」という用語(及びそれらの派生語)は、本明細書及び請求項において使用される際、「備える(comprising)」という語と同義的であり、かつ同じ意味を有する。
図1
図2
図3
図4
図5