(57)【特許請求の範囲】
【請求項１】
方法であって、
コンピュータが、データファイルが第１のクライアントデバイスによって生成されたという指示を受けて、前記データファイルに関係付けられたセキュリティ分類を判断することと、
コンピュータが、前記データファイルに関係付けられた前記セキュリティ分類が、分類済みファイルを含むことを判断することと、
コンピュータが、１つ以上のプロセッサを使用し、前記データファイルを指定の仮想ストレージエリアに格納することと、
コンピュータが、前記データファイルの元のストレージ場所において、前記データファイルに関係付けられたビュー許可及び前記指定の仮想ストレージエリアにおける前記データファイルのストレージ場所を含む第１のスタブファイルを生成することと、
コンピュータが、第１のユーザから、前記データファイルを第２のユーザとシェアするための第１の命令を受信することと、
コンピュータが、前記第２のユーザに関係付けられたユーザ情報を判断することと、
コンピュータが、前記第２のユーザに関係付けられた前記ユーザ情報に少なくとも部分的に基づいて、前記第２のユーザが前記データファイルにアクセスする許可を有することを判断することと、
コンピュータが、前記第２のユーザに関係付けられた第２のクライアントデバイスに、前記第２のユーザに関係付けられた前記第２のクライアントデバイスにおいて前記データファイルに対応する、前記指定の仮想ストレージエリアにおける前記データファイルを得るのに使用可能なように構成された第２のスタブファイルを生成するように構成された第２の命令を送信することと、
を備える方法。
【請求項２】
請求項１に記載の方法であって、
前記指定の仮想ストレージエリアは、クラウドサーバに関係付けられる、方法。
【請求項３】
請求項１に記載の方法であって、
前記データファイルに関係付けられた前記セキュリティ分類を判断することは、
コンピュータが、前記データファイルに関係付けられた内容情報を既定の条件と比較することと、
コンピュータが、前記比較の結果に少なくとも部分的に基づいて、前記セキュリティ分類を判断することと、を含む、
方法。
【請求項４】
請求項１に記載の方法であって、
前記データファイルに関係付けられた前記セキュリティ分類は、第３のユーザによって設定される、方法。
【請求項５】
請求項１に記載の方法であって、更に、
コンピュータが、前記データファイルに関係付けられた前記元のストレージ場所に前記第１のスタブファイルを格納すること、
を備える方法。
【請求項６】
請求項１に記載の方法であって、更に、
コンピュータが、前記データファイルにアクセスするための、前記第１のスタブファイルに関係付けられたユーザ選択を受信することと、
コンピュータが、前記ユーザ選択に関係付けられた第３のユーザが、前記データファイルにアクセスするための許可を有するかどうかを判断することと、
コンピュータが、前記第３のユーザが、前記データファイルにアクセスするための許可を有する場合に、前記データファイルに対応する仮想アプリケーションを実行することと、
コンピュータが、前記仮想アプリケーションを使用して、前記指定の仮想ストレージエリアにおける前記データファイルへのアクセスを提供することと、
を備える方法。
【請求項７】
請求項１に記載の方法であって、更に、
コンピュータが、前記データファイルにアクセスするための、前記第１のスタブファイルに関係付けられたユーザ選択を受信することと、
コンピュータが、前記ユーザ選択に関係付けられた第３のユーザが、前記データファイルにアクセスするための許可を有するかどうかを判断することと、
コンピュータが、前記第３のユーザが、前記データファイルにアクセスするための許可を有する場合に、前記データファイルに対応する仮想アプリケーションを実行することと、
コンピュータが、前記仮想アプリケーションを使用して、前記指定の仮想ストレージエリアにおける前記データファイルへのアクセスを提供することであって、
コンピュータが、前記指定の仮想ストレージエリアに関係付けられたクラウドサーバに、前記第１のスタブファイルに含まれる情報を伝送することと、
コンピュータが、前記クラウドサーバから、ドキュメントエディタプログラムに関係付けられたユーザインターフェースを受信することと、を含むことと、
を備える方法。
【請求項８】
請求項１に記載の方法であって、更に、
コンピュータが、前記データファイルにアクセスするための、前記第１のスタブファイルに関係付けられたユーザ選択を受信することと、
コンピュータが、前記ユーザ選択に関係付けられた第３のユーザが、前記データファイルにアクセスするための許可を有するかどうかを判断することと、
コンピュータが、前記第３のユーザが、前記データファイルにアクセスするための許可を有する場合に、前記データファイルに対応する仮想アプリケーションを実行することと、
コンピュータが、前記仮想アプリケーションを使用して、前記指定の仮想ストレージエリアにおける前記データファイルへのアクセスを提供することであって、
コンピュータが、前記指定の仮想ストレージエリアに関係付けられたクラウドサーバに、前記第１のスタブファイルに含まれる情報を伝送することと、
コンピュータが、前記クラウドサーバから、ドキュメントエディタプログラムに関係付けられたユーザインターフェースを受信することと、
コンピュータが、前記ユーザインターフェースを通じて、前記データファイルに対して実施されようとしている動作を受信することと、
コンピュータが、前記動作を前記クラウドサーバに送信することと、を含むことと、
を備える方法。
【請求項９】
コンピュータプログラムであって、
データファイルが第１のクライアントデバイスによって生成されたという指示を受けて、前記データファイルに関係付けられたセキュリティ分類を判断する機能と、
前記データファイルに関係付けられた前記セキュリティ分類が、分類済みファイルを含むことを判断する機能と、
前記データファイルを指定の仮想ストレージエリアに格納する機能と、
前記データファイルの元のストレージ場所において、前記データファイルに関係付けられたビュー許可及び前記指定の仮想ストレージエリアにおける前記データファイルのストレージ場所を含む第１のスタブファイルを生成する機能と、
第１のユーザから、前記データファイルを第２のユーザとシェアするための第１の命令を受信する機能と、
前記第２のユーザに関係付けられたユーザ情報を判断する機能と、
前記第２のユーザに関係付けられた前記ユーザ情報に少なくとも部分的に基づいて、前記第２のユーザが前記データファイルにアクセスする許可を有することを判断する機能と、
前記第２のユーザに関係付けられた第２のクライアントデバイスに、前記第２のユーザに関係付けられた前記第２のクライアントデバイスにおいて前記データファイルに対応する、前記指定の仮想ストレージエリアにおける前記データファイルを得るのに使用可能なように構成された第２のスタブファイルを生成するように構成された第２の命令を送信する機能と、
をコンピュータに実現させるコンピュータプログラム。
【請求項１０】
請求項９に記載のコンピュータプログラムであって、
前記指定の仮想ストレージエリアは、クラウドサーバに関係付けられる、コンピュータプログラム。
【請求項１１】
請求項９に記載のコンピュータプログラムであって、
前記データファイルに関係付けられた前記セキュリティ分類を判断する機能は、
前記データファイルに関係付けられた内容情報を既定の条件と比較する機能と、
前記比較の結果に少なくとも部分的に基づいて、前記セキュリティ分類を判断する機能と、を含む、
コンピュータプログラム。
【請求項１２】
請求項９に記載のコンピュータプログラムであって、
前記データファイルに関係付けられた前記セキュリティ分類は、第３のユーザによって設定される、コンピュータプログラム。
【請求項１３】
請求項９に記載のコンピュータプログラムであって、更に、
前記データファイルに関係付けられた前記元のストレージ場所に前記第１のスタブファイルを格納する機能、
をコンピュータに実現させるコンピュータプログラム。
【請求項１４】
請求項９に記載のコンピュータプログラムであって、更に、
前記データファイルにアクセスするための、前記第１のスタブファイルに関係付けられたユーザ選択を受信する機能と、
前記ユーザ選択に関係付けられた第３のユーザが、前記データファイルにアクセスするための許可を有するかどうかを判断する機能と、
前記第３のユーザが、前記データファイルにアクセスするための許可を有する場合に、前記データファイルに対応する仮想アプリケーションを実行する機能と、
前記仮想アプリケーションを使用して、前記指定の仮想ストレージエリアにおける前記データファイルへのアクセスを提供する機能と、
をコンピュータに実現させるコンピュータプログラム。
【請求項１５】
請求項９に記載のコンピュータプログラムであって、更に、
前記データファイルにアクセスするための、前記第１のスタブファイルに関係付けられたユーザ選択を受信する機能と、
前記ユーザ選択に関係付けられた第３のユーザが、前記データファイルにアクセスするための許可を有するかどうかを判断する機能と、
前記第３のユーザが、前記データファイルにアクセスするための許可を有する場合に、前記データファイルに対応する仮想アプリケーションを実行する機能と、
前記仮想アプリケーションを使用して、前記指定の仮想ストレージエリアにおける前記データファイルへのアクセスを提供する機能であって、
前記指定の仮想ストレージエリアに関係付けられたクラウドサーバに、前記第１のスタブファイルに含まれる情報を伝送する機能と、
前記クラウドサーバから、ドキュメントエディタプログラムに関係付けられたユーザインターフェースを受信する機能と、を含む機能と、
をコンピュータに実現させるコンピュータプログラム。
【請求項１６】
請求項９に記載のコンピュータプログラムであって、更に、
前記データファイルにアクセスするための、前記第１のスタブファイルに関係付けられたユーザ選択を受信する機能と、
前記ユーザ選択に関係付けられた第３のユーザが、前記データファイルにアクセスするための許可を有するかどうかを判断する機能と、
前記第３のユーザが、前記データファイルにアクセスするための許可を有する場合に、前記データファイルに対応する仮想アプリケーションを実行する機能と、
前記仮想アプリケーションを使用して、前記指定の仮想ストレージエリアにおける前記データファイルへのアクセスを提供する機能であって、
前記指定の仮想ストレージエリアに関係付けられたクラウドサーバに、前記第１のスタブファイルに含まれる情報を伝送する機能と、
前記クラウドサーバから、ドキュメントエディタプログラムに関係付けられたユーザインターフェースを受信する機能と、
前記ユーザインターフェースを通じて、前記データファイルに対して実施されようとしている動作を受信する機能と、
前記動作を前記クラウドサーバに送信する機能と、を含む機能と、
をコンピュータに実現させるコンピュータプログラム。
【請求項１７】
システムであって、
１つ以上のプロセッサと、
前記１つ以上のプロセッサに結合され、前記１つ以上のプロセッサに命令を提供するように構成された１つ以上のメモリと、
を備え、
前記１つ以上のプロセッサは、
データファイルが第１のクライアントデバイスによって生成されたという指示を受けて、前記データファイルに関係付けられたセキュリティ分類を判断し、
前記データファイルに関係付けられた前記セキュリティ分類が、分類済みファイルを含むことを判断し、
前記データファイルを指定の仮想ストレージエリアに格納し、
前記データファイルの元のストレージ場所において、前記データファイルに関係付けられたビュー許可及び前記指定の仮想ストレージエリアにおける前記データファイルのストレージ場所を含む第１のスタブファイルを生成し、
第１のユーザから、前記データファイルを第２のユーザとシェアするための第１の命令を受信し、
前記第２のユーザに関係付けられたユーザ情報を判断し、
前記第２のユーザに関係付けられた前記ユーザ情報に少なくとも部分的に基づいて、前記第２のユーザが前記データファイルにアクセスする許可を有することを判断し、
前記第２のユーザに関係付けられた第２のクライアントデバイスに、前記第２のユーザに関係付けられた前記第２のクライアントデバイスにおいて前記データファイルに対応する、前記指定の仮想ストレージエリアにおける前記データファイルを得るのに使用可能なように構成された第２のスタブファイルを生成するように構成された第２の命令を送信する、
ように構成される、システム。
【請求項１８】
請求項１７に記載のシステムであって、
前記指定の仮想ストレージエリアは、クラウドサーバに関係付けられる、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
［他の出願の相互参照］
本出願は、２０１５年６月２日に出願され名称を「Ａ  ＭＥＴＨＯＤ，ＤＥＶＩＣＥ，ＡＮＤ  ＴＥＲＭＩＮＡＬ  ＥＱＵＩＰＭＥＮＴ  ＦＯＲ  ＰＲＯＴＥＣＴＩＮＧ  ＤＡＴＡ  ＦＩＬＥＳ（データファイルを保護するための方法、デバイス、および端末機器）」とする中国特許出願第２０１５１０２９５４０１．９号の優先権を主張する。この出願は、あらゆる目的のために、参照によって本明細書に組み込まれる。
【０００２】
本出願は、インターネット技術の分野に関する。特に、本出願は、データフェイルを保護するための技術に関する。
【背景技術】
【０００３】
自由で開かれたインターネット環境では、データの使用、格納、及び伝送の全てが漏出のリスクを冒している。従来、データは、透過的なファイル暗号化・復号化の方法によって保護される。具体的には、従来のデータ保護技術の一例として、以下が挙げられる。先ず、クライアントデバイスオペレーティングシステムがベースレベル処理を実施している間に、データファイルが暗号化処理を施される。ユーザがデータファイルを取り出すときに、オペレーティングシステムは、データファイルを復号化し、次いで、ユーザによる使用に備えてメモリに入れる。ユーザがデータファイルを保存する必要があるときに、オペレーティングシステムは、データファイルを暗号化し、磁気ディスクに書き込む。したがって、ユーザは、データファイルに対して実施される暗号化及び復号化の行為に全く気付かない。したがって、従来のやり方では、暗号化されたデータを磁気ディスクに書き込み、メモリの中のデータに対して暗号化を実施することによって、データの漏出が阻止される。しかしながら、これらの従来の技術は、メモリの中のファイルが漏出しないことを保証するものではない。
【図面の簡単な説明】
【０００４】
本発明の各種の実施形態が、以下の詳細な説明及び添付の図面で開示される。
【０００５】
【図１】データファイルを保護するためのシステムの一実施形態を示した図である。
【０００６】
【図２】データファイルを保護するためのプロセスの一実施形態を示したフローチャートである。
【０００７】
【図３】保護されたデータファイルをシェアするためのプロセスの一実施形態を示したフローチャートである。
【０００８】
【図４】保護されたデータファイルを使用するためのプロセスの一実施形態を示したフローチャートである。
【０００９】
【図５】保護されたデータファイルにアクセスするためのプロセスの一例を示したフローチャートである。
【００１０】
【図６】データファイルを保護するためのクライアントデバイスの一例を示した図である。
【００１１】
【図７】データファイルを保護するためのクライアントデバイスの一例を示した図である。
【００１２】
【図８】データファイルを保護するためのクライアントデバイスの一例を示した図である。
【００１３】
【図９】データファイル取り出しデバイスの一例を示した図である。
【００１４】
【図１０】データファイル取り出しデバイスの一例を示した図である。
【００１５】
【図１１】データファイルを保護するためのプログラムドコンピュータシステムの一実施形態を示した機能図である。
【発明を実施するための形態】
【００１６】
本発明は、プロセス、装置、システム、合成物、コンピュータ読み取り可能ストレージ媒体に実装されたコンピュータプログラム製品、並びに／又は接続先のメモリに格納された命令及び／若しくは接続先のメモリによって提供される命令を実行するように構成されたプロセッサなどのプロセッサを含む、数々の形態で実現できる。本明細書では、これらの実現形態、又は本発明がとりえるその他のあらゆる形態が、技術と称されてよい。総じて、開示されるプロセスのステップの順番は、発明の範囲内で変更されてよい。別途明記されない限り、タスクを実施するように構成されるものとして説明されるプロセッサ又はメモリなどのコンポーネントは、所定時にタスクを実施するように一時的に構成される汎用コンポーネントとして、又はタスクを実施するように製造された特殊コンポーネントとして実装されてよい。本書で使用される「プロセッサ」という用語は、コンピュータプログラム命令などのデータを処理するように構成された１つ以上のデバイス、回路、及び／又は処理コアを言う。
【００１７】
本発明の原理を例示した添付の図面とともに、以下で、本発明の１つ以上の実施形態の詳細な説明が提供される。本発明は、このような実施形態との関連のもとで説明されるが、いずれの実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定され、本発明は、数々の代替形態、変更形態、及び等価物を包含している。以下の説明では、本発明の完全な理解を与えるために、数々の具体的詳細が明記されている。これらの詳細は、例示を目的として提供されるものであり、本発明は、これらの詳細の一部又は全部を伴わずとも特許請求の範囲にしたがって実施されてよい。明瞭を期するために、本発明に関連する技術分野で知られる技工物は、本発明が不必要に不明瞭にならないように、詳細な説明を省略されている。
【００１８】
代表的な実施形態が、本書で詳細に説明される。これらの実施形態の例が、図に提示されている。以下の説明が、図に関するものである場合は、別途記されない限り、異なる図中の同じ番号は、同じ又は類似の要素を表している。以下の代表的な実施形態で説明される実装形態は、本出願との整合性を有する全ての実装形態を表しているのではなく、反対に、これらは、特許請求の範囲で詳細に説明される、本出願の幾つかの態様との整合性を有するデバイス及び方法の例に過ぎない。
【００１９】
本出願で使用される用語は、特定の実施形態の説明に有用であるに過ぎず、本出願を制限することを意図していない。本出願及び添付の特許請求の範囲で使用される単数形の冠詞「a」、「said（前記又は上記）」、及び「the」は、文脈中に別途明記されない限り、複数形も含むことを意図している。また、本文書で使用される用語「and / or（及び／又は）」は、１つ以上の関連要素からなるありとあらゆる組み合わせ候補を指す及びそのような組み合わせ候補を内包すると理解される。
【００２０】
本出願は、様々な情報を説明するために、「first（第１の）」、「second（第２の）」、「third（第３の）」などの用語を用いているが、この情報は、これらの用語によって制限されないことが理解される。これらの用語は、同じカテゴリ内の情報どうしを区別するのに役立つに過ぎない。例えば、これらの情報が本出願の範囲内にとどまる限り、第１の情報が第２の情報と呼ばれてもよい。同様に、第２の情報が第１の情報と呼ばれてもよい。文脈次第では、例えば、本書で使用される「if（もし）」という用語が、「when（〜とき）」又は「upon being confirmed（確認されると）」と解釈されてよい。
【００２１】
データファイルの保護の実施形態が、本書で説明される。クライアントデバイスにおけるデータファイル生成の指示を受けて、データファイルに関係付けられたセキュリティ分類が判断される。データファイルに関係付けられたセキュリティ分類は、分類済みファイルであると判断される。データファイルは、次いで、指定の仮想ストレージエリアに格納される。例えば、指定の仮想ストレージエリアは、クラウドサーバの一部である。各種の実施形態において、「クラウドサーバ」は、１つ以上のサービスを提供するために協働する１つ以上のサーバを言う。データファイルの元のストレージ場所において、スタブ（stub）ファイルが生成される。更に、クライアントデバイスから、データファイルのコピーが除去／削除される。スタブファイルは、データファイルの実際の内容ではなく、データファイルに関係付けられたビュー許可と、指定の仮想ストレージエリアにおけるデータファイルのストレージ場所とを含む。スタブファイルは、データファイル自体からのデータは何も含まないので、クライアントデバイスにおいてスタブファイルに対してユーザによって実施される動作が、クラウドサーバに格納されたデータファイルに影響を及ぼすことはない。
【００２２】
図１は、データファイルを保護するためのシステムの一実施形態を示した図である。この例では、システム１００は、クライアントデバイス１０２と、ネットワーク１０４と、クラウドサーバ１０６とを含む。一部の実施形態では、ネットワーク１０４は、高速ネットワーク及び／又は電気通信ネットワークを含む。
【００２３】
クライアントデバイス１０２は、データファイルを生成する。クライアントデバイス１０２の例として、モバイル機器、スマートフォン、ラップトップコンピュータ、デスクトップコンピュータ、タブレット端末、又は任意の計算機器が挙げられる。一部の実施形態では、クライアントデバイス１０２は、別のクライアントデバイスからデータファイルを受信することによって、データファイルを生成する。一部の実施形態では、クライアントデバイス１０２は、クライアントデバイス１０２において受信されたメッセージからの添付としてデータファイルをダウンロードすることによって及び／又はウェブサイトからデータファイルをダウンロードすることによって、データファイルを生成する。データファイルは、任意の適切なやり方でクライアントデバイス１０２において生成できる。クライアントデバイス１０２は、受信されたデータファイルに関係付けられたセキュリティ分類を判断する。セキュリティ分類は、データファイルが分類済みファイルであることを示す。データファイルが分類済みファイルであるという判断を受けて、クライアントデバイス１０２は、指定の仮想ストレージエリアにデータファイルを格納するように構成される。各種の実施形態において、指定のストレージエリアは、クラウドサーバ１０６におけるディスク（又は固体）ストレージである。クライアントデバイス１０２は、ネットワーク１０４を通じてクラウドサーバ１０６にデータファイルを送信した後、データファイルに関係付けられたスタブファイルを生成し、スタブファイルのコピーを除去し、スタブライフをクライアントデバイス１０２におけるデータファイルの元のストレージ場所に格納する。このように、クライアントデバイス１０２は、ひとたびクラウドサーバ１０６にデータファイルをアップロードすると、データファイルのコピーをこれ以上は保持せず、データファイルに関係付けられたスタブファイルのみを保持する。クラウドサーバ１０６は、データファイルの格納に成功したら、指定の仮想ストレージエリアにおけるデータファイルのストレージ場所をネットワーク１０４を通じてクライアントデバイス１０２に送信するように構成される。各種の実施形態において、スタブファイルは、データファイルに関係付けられたビュー許可及びクラウドサーバ１０６の指定の仮想ストレージエリアにおけるデータファイルのストレージ場所を含む、データファイルに関係付けられた様々な情報を記録する。データファイルに関係付けられたビュー許可は、どの個別ユーザ及び／又はユーザ役割がデータファイルにアクセス（例えば、読み出し、書き込み、読み書き）してよいかを指定する。
【００２４】
データファイルにアクセスするために、クライアントデバイス１０２のユーザは、クライアントデバイス１０２において実行される仮想化された制御・管理アプリケーションを使用してスタブファイルを選択するように構成される。例えば、クライアントデバイス１０２のユーザは、クライアントデバイス１０２における仮想化された制御・管理アプリケーションを通じて、クラウドサーバ１０６に格納されたデータファイルのスタブファイルを閲覧することができる。クライアントデバイス１０２のユーザは、アクセスしようとしているデータファイルに対応するスタブファイルを選択することができる。スタブファイルをシェアするためのユーザ選択を受けて、仮想化された制御・管理アプリケーションは、クライアントデバイス１０２のユーザがデータファイルにアクセスする許可を有するかどうかを、選択されたスタブファイルに記録されたビュー許可とユーザの識別情報とを比較することによって判断するように構成される。例えば、もし、選択されたスタブファイルによって、ユーザの識別情報がそのスタブファイルを読み出すことを少なくとも許可されることが指定されているならば、仮想化された制御・管理アプリケーションは、アクセス行為を許可するように構成される。ユーザが、データファイルにアクセス可能であると判断された場合は、仮想アプリケーションが、クライアントデバイス１０２において起動／実行されてクラウドサーバ１０６との間に接続を確立するように構成される。クライアントデバイス１０２のユーザは、データファイルに対してワード処理動作を実施するなどによって、クラウドサーバ１０６に格納されたデータファイルにアクセスするために、クライアントデバイス１０２において実行される仮想アプリケーションを使用することができる。仮想アプリケーションは、クライアントデバイス１０２のオペレーティングシステムから分離され、これは、仮想アプリケーション内で実施される動作がクライアントデバイス１０２のストレージから及び／又はクライアントデバイス１０２のメモリから分離されることを意味する。
【００２５】
一部の実施形態では、クライアントデバイス１０２のユーザは、クライアントデバイス１０２において実行される仮想化された制御・管理アプリケーションを使用して、別のクライアントデバイス（図には示されていない）とデータファイルをシェアすることができる。クライアントデバイス１０２のユーザは、別のクライアントデバイスに関係付けられたユーザとシェアしようとしているデータファイルに対応するスタブファイルを選択することができる。スタブファイルをシェアするためのユーザ選択を受けて、仮想化された制御・管理アプリケーションは、データファイルがシェアされようとしている上記別のユーザが、そのデータファイルにアクセスする許可を有するかどうかを、選択されたスタブファイルに記録されたビュー許可と上記別のユーザの識別情報とを比較することによって判断するように構成される。例えば、もし、選択されたスタブファイルによって、ユーザの識別情報がそのスタブファイルを読み出すことを少なくとも許可されることが指定されるならば、仮想化された制御・管理アプリケーションは、シェア行為を許可するように構成される。上記別のユーザが、データファイルにアクセス可能であると判断された場合は、仮想化された制御・管理アプリケーションは、データファイルがシェアされようとしているユーザのクライアントデバイスに命令を送信するように構成される。送信された命令は、データファイルがシェアされようとしているユーザのクライアントデバイスにおいて、その別のユーザがスタブファイルを使用してクラウドサーバ１０６においてデータファイルにアクセスすることができるように、選択されたスタブファイルのコピーを生成するように構成される。
【００２６】
このように、クライアントデバイス１０２からのアクセスを提供しつつ、クラウドサーバ１０６の指定の仮想ストレージエリアに分類済みデータファイルを格納することによって、データファイルに対して実施される動作を仮想環境内に分離することができる。仮想環境の使用は、したがって、適切なアクセス許可を伴わない又はクライアントデバイス１０２の改ざんを通じたユーザ及び／又はプログラムによる、クライアントデバイス１０２におけるデータファイルへの悪意あるアクセスを阻止することができる。スタブファイルは、データファイルに対するビュー許可と、指定の仮想ストレージエリアにおけるデータファイルのストレージ場所とを記録し、しかしながら、データファイル自体のデータは何も含まないので、クライアントデバイス１０２に格納されたスタブファイルに対してユーザによって実施される動作が、クラウドサーバ１０６に格納されているデータファイルに影響を及ぼすことはない。
【００２７】
図２は、データファイルを保護するためのプロセスの一実施形態を示したフローチャートである。一部の実施形態では、プロセス２００は、図１のシステム１００において実行に移される。
【００２８】
２０２では、データファイルがクライアントデバイスによって生成されたという指示を受けて、データファイルに関係付けられたセキュリティ分類が判断される。
【００２９】
例えば、データファイルは、新しいファイルをコピーする、新しいファイルをダウンロードする、又は新しいファイルを作成することを通じてクライアントデバイスにおいて生成できる。
【００３０】
各種の実施形態において、データファイルのセキュリティ分類は、例えばそのファイルを生成したユーザなどのユーザによって設定される。一部の実施形態では、データファイルのセキュリティ分類は、そのデータファイルについての機密性等級を含む。例えば、セキュリティ分類は、レベル０、レベル１、又はレベル２に設定されてよく、各レベルは、そのデータファイルに関わる異なる機密性等級を表す。例えば、レベル０は、ユーザがそのデータファイルのためにセキュリティ対策を用いる必要がないことを示し、レベル１は、ユーザがそのデータファイルのためにセキュリティ対策を用いる必要があることを示す。別の例では、レベル０は、ユーザがそのデータファイルのためにセキュリティ対策を用いる必要がないことを示し、レベル１は、ユーザがそのデータファイルのためにクライアントデバイス上ではセキュリティ対策を用いる必要があることを示し、レベル２は、ユーザがそのデータファイルのためにクライアントデバイス上で及びクラウドサーバ上でセキュリティ対策を用いる必要があることを示す。
【００３１】
一部の実施形態では、先ず、データファイルの内容情報が、そのデータファイルに関係付けられたセキュリティ分類を判断するために判断される。例えば、データファイルの内容情報は、第１の既定の条件に突き合わせでき、データファイルのセキュリティ分類は、この第１の突き合わせ結果にしたがって判断される。例えば、第１の既定の条件は、「暗号化された」、「私的な」、又は「非公開の」などの複数のキーフレーズを含んでいてよい。システムが、データファイルの内容情報が「暗号化された」又は「私的な」などの内容を含むことを検出したときは、第１の突き合わせ結果にしたがったデータファイルのセキュリティ分類は、レベル１であると判断でき、これは、ユーザがデータファイルのためにセキュリティ対策をとる必要があることを示す。もし、内容情報が、上述されたキーフレーズを含まないならば、第１の突き合わせ結果にしたがったデータの分類レベルは、レベル０であると判断でき、これは、ユーザがデータファイルのためにセキュリティ対策をとる必要がないことを示す。第２の例では、データファイルのファイル名が、第２の既定の条件と突き合わせでき、データファイルのセキュリティ分類は、この第２の突き合わせ結果にしたがって判断される。例えば、第２の既定の条件は、「秘密の」又は「暗号化された」などの複数のキーフレーズを含んでいてよい。もし、システムが、データファイルのファイル名が「秘密の」又は「暗号化された」などの内容を含むことを検出したならば、第１の突き合わせ結果にしたがったデータファイルのセキュリティ分類は、レベル１であると判断でき、これは、ユーザがデータファイルのためにセキュリティ対策をとる必要があることを示す。もし、ファイル名が、上記のキーフレーズを含まないならば、第２の突き合わせ結果にしたがったデータの分類レベルをレベル０であると判断することが可能であり、これは、ユーザがデータファイルのためにセキュリティ対策をとる必要がないことを示す。
【００３２】
２０４では、データファイルに関係付けられたセキュリティ分類が、分類済みファイルを含むことが判断される。
【００３３】
データファイルに関係付けられたセキュリティ分類は、上述された技術などの技術に基づいて判断され、セキュリティ分類に基づいて、データファイルが分類済みファイルであることが判断される。
【００３４】
データファイルが、非分類済みファイル（例えば、セキュリティ対策を必要としないファイル）であると判断された場合は、そのデータファイルは、通常通りに格納できる及び／又は通常通りにユーザに提供できる。非分類済みファイルの格納及び／又は使用は、これ以上詳しく説明されない。
【００３５】
２０６では、データファイルは、指定の仮想ストレージエリアに格納される。
【００３６】
分類済みファイルであると判断されたデータファイルは、指定の仮想ストレージエリアに格納される。一部の実施形態では、仮想ストレージエリアは、クライアントデバイスの磁気ディスク上にある、セキュリティ対策を必要とするデータファイル（例えば、分類済みファイル）を格納するための特定の磁気ディスクアレイ区域であってよい。ユーザが、仮想ストレージエリアに格納されているデータファイルにアクセスする必要があるときは、クライアントデバイスオペレーティングシステムから分離された（ストレージ分離やメモリ分離なども含んでいてよい）仮想アプリケーションが、クライアントデバイスにおいて起動され、クライアントデバイスの仮想ストレージエリアに格納されたデータファイルは、この仮想アプリケーションを通じてアクセスできる。
【００３７】
一部の実施形態では、仮想ストレージエリアは、（例えば、リモート）クラウドサーバの磁気ディスク上にある、セキュリティ対策を必要とするデータファイル（例えば、分類済みファイル）を格納するための特定の磁気ディスクアレイ区域であってよい。ユーザのクライアントデバイスが、データファイルを格納することができない又はデータファイルのためにセキュリティ対策をとることができないときは、クライアントデバイスオペレーティングシステムから分離された（ストレージ分離やメモリ分離なども含んでいてよい）仮想アプリケーションが、クライアントデバイスにおいて起動され、クライアントデバイスの仮想ストレージエリアに格納されたデータファイルは、この仮想アプリケーションを通じてアクセスできる。したがって、クラウドサーバ上で仮想ストレージエリアに格納されたデータファイルに対して実施されるあらゆる動作を仮想環境内に分離し、そのデータファイルの漏出を阻止することが可能である。
【００３８】
２０８では、データファイルの元のストレージ場所において、スタブファイルが生成され、該スタブファイルは、データファイルに関係付けられたビュー許可と、指定の仮想ストレージエリアにおけるデータファイルのストレージ場所とを含む。
【００３９】
データファイルは、指定の仮想ストレージエリアにおけるストレージ場所に格納される前に、（例えば、クライアントデバイスに関係付けられたストレージにおける）元のストレージ場所に格納された。各種の実施形態において、データファイルがひとたび指定の仮想ストレージエリアに格納されると、そのデータファイルのコピーが元のストレージ場所から削除され、その代わりに、スタブファイルが元のストレージ場所に格納される。各種の実施形態において、スタブファイルは、データファイルに関係付けられた（１つ又は複数の）ビュー許可と、指定の仮想ストレージエリアにおけるデータファイルのストレージ場所とを記録する。各種の実施形態において、データファイルに関係付けられた（１つ又は複数の）ビュー許可は、データファイルへのアクセス（例えば、読み出し、書き込み、読み書き）を許可される具体的なユーザ及び／又はユーザ役割（例えば、管理者ユーザ、ゲストユーザ、特定のユーザグループのゲスト）を指定する。
【００４０】
各種の実施形態において、ユーザがクライアントデバイスにおいてスタブファイルを選択するときに、この選択しているユーザがビュー許可を有するかどうかを判断するために、データファイルの元のストレージ場所に格納されたスタブファイルが、クライアントデバイス（の例えばオペレーティングシステム）によって読み出される。データファイルは、選択しているユーザがデータファイルにアクセスするビュー許可を有すると判断された場合にのみ、指定の仮想ストレージエリアにおけるストレージ場所から取り出されてよい。その際に、データファイルは、指定の仮想ストレージエリアにおけるストレージ位置からビューされる。以下で更に詳しく説明されるように、指定の仮想ストレージシステムからデータファイルにアクセスすることは、（例えばクラウドサーバの）指定の仮想ストレージエリアにおけるデータファイルへのアクセスを提供する仮想化された環境を走らせることを含む。しかしながら、もし、選択しているユーザがビュー許可を有さないならば、その選択しているユーザは、指定の仮想ストレージエリアの中のデータファイルにアクセスすることを拒絶される。
【００４１】
図３は、保護されたデータファイルをシェアするためのプロセスの一実施形態を示したフローチャートである。一部の実施形態では、プロセス３００は、図１のシステム１００において実行に移される。
【００４２】
３０２では、第１のユーザから、第２のユーザとデータファイルをシェアするための第１の命令が受信される。
【００４３】
一部の実施形態では、第１のユーザは、クライアントデバイスアプリケーション又はスタブファイルシェアリングキーを使用し、指定の別のユーザとのスタブファイルのシェアリングを開始させることによって、別のユーザとデータファイルをシェアすることができる。一部の実施形態では、シェアされようとしているデータファイルは、既にクラウドサーバにアップロードされており、データファイルに対応するスタブファイルのみが、別のユーザとデータファイルをシェアすることを希望しているユーザのクライアントデバイスに格納されている。
【００４４】
３０４では、第２のユーザに関係付けられたユーザ情報が判断される。一部の実施形態では、ユーザ情報は、クライアントアプリケーションにおける別のユーザのアカウント番号を含んでいてよい、又は別のユーザがデータファイルを受信することができるｅ−ｍａｉｌアドレスを含んでいてよい。要するに、本出願は、データファイルがシェアできるユーザ情報に含まれるアドレスに関して制約を課さない。必要なのは、別のユーザがデータファイルの受信を可能にされることのみである。
【００４５】
３０６では、第２のユーザがデータファイルにアクセスする許可を有するかどうかが、第２のユーザに関係付けられたユーザ情報に少なくとも部分的に基づいて判断される。第２のユーザが、データファイルにアクセスする許可を有すると判断された場合は、３０８に制御が移される。そうではなく、第２のユーザが、データファイルにアクセスする許可を有さないと判断された場合は、第２のユーザは、データファイルにアクセスすることを拒絶され（例えば、データファイルがシェアできないというメッセージが第２のユーザに送信され）、プロセス３００は、終了する。
【００４６】
第２のユーザに関係付けられたユーザ情報は、第２のユーザがデータファイルにアクセスする許可を有するかどうかを判断するために、データファイルのスタブファイルに含まれる、データファイルに関係付けられたビュー許可と比較される。例えば、第２のユーザに関係付けられたユーザ情報は、第２のユーザに関係付けられた識別情報及び／又は第２のユーザに関係付けられた役割を含むことができる。
【００４７】
３０８では、データファイルは、クラウドサーバの指定の仮想ストレージエリアにアップロード及び格納される。
【００４８】
一部の実施形態では、もし、データファイルのコピーが、クラウドサーバの指定の仮想ストレージエリアに（例えばバックアップストレージのために）既にアップロード及び格納されていないならば、データファイルのコピーが、クラウドサーバの指定の仮想ストレージエリアにアップロードされる。例えば、第２のユーザとデータファイルをシェアすることを希望している第１のユーザは、クライアントデバイスアプリケーション又はスタブファイルアップロードキーを使用して、クラウドサーバにデータファイルをアップロードしてよい。一部の実施形態では、クライアントアプリケーションは、クライアントデバイスにインストールされた仮想化された制御・管理ソフトウェアであってよい。
【００４９】
３１０では、第２のユーザに関係付けられたクライアントデバイスに、第２の命令が送信され、該第２の命令は、第２のユーザに関係付けられたクライアントデバイスにおいて、データファイルに対応するスタブファイルを生成するように構成される。
【００５０】
一部の実施形態では、第２のユーザに関係付けられた識別情報が、第２のユーザに関係付けられたユーザ情報から判断される。第２のユーザが、対応するクライアントデバイスを通じて第２の命令を受信した後、該第２の命令に基づいて、第２のユーザのクライアントデバイス上で、データファイルのためのスタブファイルが生成される。例えば、生成されたスタブファイルのコピーは、第２のユーザのクライアントデバイスにおいてデータファイルが格納されただろう元の場所に格納される。第２のユーザのクライアントデバイスは、次いで、クラウドサーバの指定の仮想ストレージエリアからデータファイルを取得するためのベースとしてスタブファイルを使用することができる。上述のように、各種の実施形態において、スタブファイルは、データファイルに関係付けられた（１つ又は複数の）ビュー許可と、指定の仮想ストレージエリアにおけるデータファイルのストレージ場所とを記録する。
【００５１】
プロセス３００で説明されたように、データファイルをシェアする必要があるときは、第２の命令が、ユーザ情報にしたがって第２のユーザに送信される。第２のユーザが、それらのクライアントデバイスを通じてデータファイルの受信を確認した後、第２のユーザのクライアントデバイス上で、データファイルスタブファイルが生成される。したがって、機密性が維持される必要があるデータファイルのシェアリングは、スタブファイルをシェアすることによって仮想的にシェアされる。データファイルの下層データは、第２のユーザに送信されず、シェアされているスタブファイルは、仮想ストレージエリアにおけるデータファイルのストレージ場所及びビュー許可を格納しているに過ぎず、データファイル自体のいかなるデータ情報も含まないので、第２のユーザによってそのスタブファイルのコピーに対して実施される動作が、データファイルに影響を及ぼすことはない。これは、シェアリングプロセスでデータファイルから機密情報が漏出しないことを保証する。
【００５２】
図４は、保護されたデータファイルを使用するためのプロセスの一実施形態を示したフローチャートである。一部の実施形態では、プロセス４００は、図１のシステム１００において実行に移される。
【００５３】
４０２では、スタブファイルに関係付けられたユーザ選択が、クライアントデバイスにおいて受信される。
【００５４】
スタブファイルに関係付けられたユーザ選択が、クライアントデバイスにおいて受信される。各種の実施形態において、スタブファイルは、クラウドサーバの指定の仮想ストレージエリアに格納されたデータファイルに対応し、図２のプロセス２００又は図３のプロセス３００などのプロセスに基づいて生成される。例えば、スタブファイルは、クライアントデバイスにおいて実行されるファイルブラウザアプリケーションに表示された。一部の実施形態では、スタブファイルは、クラウドサーバの指定の仮想ストレージエリアの代わりに、関係付けられているデータファイルがもしクライアントデバイスにローカルに格納されたとしたら表示されただろう方式と同じ方式でファイルブラウザアプリケーションに表示される。
【００５５】
一部の実施形態では、クライアントデバイスにインストールされたクライアントアプリケーションが、スタブファイル関連のクリックイベントを監視するために使用されてよい。一部の実施形態では、ユーザは、自身の認証情報を使用して既にクライアントアプリケーションにログインしている。一部の実施形態では、クリックイベントは、スタブファイルに対するダブルクリックイベントであることができる、又は提示されたメニュー上に若しくはファイルブラウザアプリケーション上にスタブファイルが表示されているときのそのスタブファイルに対するクリックイベントであってよい。一部の実施形態では、クライアントアプリケーションは、スタブファイルを記録してよく、したがって、クリックされたファイルがスタブファイルであるか又は通常のデータファイルであるかを判断することができる。
【００５６】
４０４では、ユーザ選択に関係付けられたユーザが、スタブファイルに関係付けられたデータファイルにアクセスする許可を有するかどうかが、スタブファイルに含まれる、データファイルに関係付けられたビュー許可に少なくとも部分的に基づいて判断される。ユーザ選択に関係付けられたユーザが、データファイルにアクセスする許可を有する場合は、４０６に制御が移される。そうではなく、ユーザ選択に関係付けられたユーザが、データファイルにアクセスする許可を有さない場合は、ユーザは、データファイルにアクセスすることを拒絶され、プロセス４００は、終了する。
【００５７】
上述のように、スタブファイルは、対応するデータファイルのビュー許可と、クラウドサーバの指定の仮想ストレージエリアにおけるデータファイルのストレージ場所とを記録する。スタブファイルの選択を行ったユーザに関係付けられたユーザ情報は、その選択に関係付けられたユーザがデータファイルのビュー許可を有するユーザであるかどうかを判断するために、スタブファイルに含まれるビュー許可と比較される。
【００５８】
４０６では、データファイルに対応する仮想アプリケーションが、クライアントデバイスにおいて起動される。
【００５９】
４０８では、指定の仮想ストレージエリアにおけるデータファイルへのアクセスが、仮想アプリケーションを使用して提供される。
【００６０】
各種の実施形態において、仮想アプリケーションは、クライアントデバイスにインストールされた仮想化された制御・管理アプリケーションである。各種の実施形態において、仮想アプリケーションは、クライアントデバイスのオペレーティングシステムから分離される。各種の実施形態において、オペレーティングシステムからの仮想アプリケーションの分離は、オペレーティングシステムからのストレージ分離を含んでいてよく、また、オペレーティングシステムからのメモリ分離も含んでいてよい。したがって、仮想アプリケーションは、データファイルに対してユーザによって実施されるあらゆる動作が、仮想アプリケーションによって提供される仮想環境内に分離されることを保証し、それによって、仮想アプリケーションへのアクセスを与えられていない悪意あるユーザが、仮想アプリケーション内からデータリソースを得ることを阻止することができる。一部の実施形態では、仮想アプリケーションを通じたデータファイルへのユーザアクセスは、例えば、通常の読み出し、編集、及びクリップボードの使用を含んでいてよい。一部の実施形態では、データファイルに対してユーザによって実施される動作は、スタブファイルが格納されるクライアントデバイス上ではなく、データファイルが格納されるクラウドサーバで実行される。各種の実施形態において、仮想アプリケーションは、スタブファイルに含まれるデータファイルのストレージ場所を使用して、クラウドサーバの指定の仮想ストレージエリアに格納されたデータファイルを見つけるように構成される。下記の図５は、クラウドサーバの指定の仮想ストレージエリアに格納されたデータファイルにアクセスするために仮想アプリケーションを使用する一例を示している。
【００６１】
図５は、保護されたデータファイルにアクセスするためのプロセスの一例を示したフローチャートである。一部の実施形態では、プロセス５００は、図１のシステム１００において実行に移される。
【００６２】
各種の実施形態において、（例えば分類済み）データファイルに対応するスタブファイルが、クライアントデバイス上に格納される一方で、データファイルは、クラウドサーバ上の指定の仮想ストレージエリアに格納される。プロセス５００は、（上記の図４のプロセス４００で説明されたように、）クライアントデバイスにおいてスタブファイルが選択された後に、仮想アプリケーションを使用してクラウドサーバ上の指定の仮想ストレージエリアからデータファイルを得るためのプロセスの一例である。
【００６３】
５０２では、クライアントデバイスが、データファイルに関係付けられたスタブファイルに含まれる情報に少なくとも部分的に基づいて、データファイルが格納されるクラウドサーバに接続するためのリモートデスクトッププロトコル（ＲＤＰ）コンポーネントを起動させる。
【００６４】
（例えば、上記の図４のプロセス４００などのプロセスを使用して、）ユーザがクライアントデバイスにおいてスタブファイルを選択したことが検出された後、クライアントデバイスは、スタブファイルに記録された情報にしたがって、リモートデスクトッププロトコル（ＲＤＰ）コンポーネントを開始させる。ＲＤＰコンポーネントは、データファイルがアクセスされるクラウドサーバにおいてデータファイルにアクセスするために使用される仮想アプリケーションの一例である。ＲＤＰコンポーネントは、データファイルが格納されるクラウドサーバに接続するために使用される。
【００６５】
５０４では、クライアントデバイスは、ＲＤＰコンポーネントを通じて、スタブファイルに含まれる情報をクラウドサーバに伝送する。
【００６６】
一部の実施形態では、スタブファイルに記録されたデータ情報は、全て、クライアントアプリケーションによって暗号化されている。暗号化されたデータアプリケーションは、例えば、クラウドサーバの指定の仮想ストレージエリアにおけるデータファイルのストレージ場所、データファイルに対するユーザ許可、データファイルシェアリング手続き、及びデータファイルの使用に関する過去の記録のうちの、１つ以上を含む、スタブファイルに対応するデータファイルに関係付けられた情報を記録する。一部の実施形態では、クライアントデバイスからクラウドサーバに伝送されるスタブファイルに含まれる情報は、例えば、データファイルが格納されるクラウドサーバの指定の仮想ストレージエリアにおけるストレージ場所、クライアントアプリケーションユーザ許可、ユーザが検証する必要がある情報、及び開かれようとしているデータファイルのための、サーバ上の仮想ストレージ経路のうちの、１つ以上を含む。
【００６７】
５０６では、伝送された情報を認証した後、クラウドサーバは、クライアントデバイス上でリモート仮想化プログラムを開始させ、スタブファイルに含まれる指定の仮想ストレージエリアストレージ場所にしたがってクラウドサーバ上でデータファイルを開く。
【００６８】
５０８では、クラウドサーバは、ドキュメントエディタプログラムをクライアントデバイス上へマッピングする。
【００６９】
一部の実施形態では、クラウドサーバは、ドキュメントエディタプログラム（例えばＭｉｃｒｏｓｏｆｔ  Ｗｏｒｄ）を使用して新しい編集可能ファイルを確立し、次いで、該編集可能ファイルのための可視ウィンドウ全体をクライアントデバイス上へ伝送してよい。リモートドキュメントエディタは、こうして、クライアントデバイス上へマッピングできる。一部の実施形態では、クライアントデバイス上へのドキュメントエディタのマッピングは、ドキュメントエディタのユーザインターフェースを、クライアントデバイスに提示されるように送信することを含む。
【００７０】
５１０では、クライアントデバイスは、クラウドサーバ上に格納されたデータファイルに対して動作を実施するために、ドキュメントエディタプログラムを使用する。
【００７１】
一部の実施形態では、クラウドサーバによってクライアントデバイス上へマッピングされるドキュメントエディタプログラムを使用してデータファイルに対して実施するためにユーザからクライアントデバイスにおいて受信される動作は、例えば、データファイル内容を見る又は編集すること、及びデータファイルをコピーすることを含んでいてよい。ドキュメントエディタプログラムユーザインターフェースを通じてクライアントデバイスにおいて実施されるユーザ動作は、クラウドサーバに送信され、次いで、クラウドサーバにおいてデータファイルに対して実行される。本出願は、データファイルに対する具体的な動作についていかなる制約も課さない。
【００７２】
第１の例では、第１のユーザが、（例えば図３のプロセス３００などのプロセスを使用して）第２のユーザと（例えば分類済みデータファイルを）シェアした後、第２のユーザは、自身のクライアントデバイスにおいて、データファイル自体ではなくスタブファイルのみを受信する。第２のユーザは、クラウドサーバからデータファイルを得るためのベースとしてスタブファイルを使用する必要があるときに、第２のユーザのクライアントデバイスに格納されたスタブファイルを選択することができ、図４のプロセス４００及び図５のプロセス５００などのプロセスが、クラウドサーバの指定の仮想ストレージエリアに格納されたデータファイルへのアクセスをユーザに提供するために使用できる。
【００７３】
第２の例では、もし、クライアントデバイス磁気ディスクが、限られたストレージスペースを有するゆえに又は仮想ストレージエリアをセットアップされていないゆえに、データファイルが、クラウドサーバの指定の仮想ストレージエリアに格納されるならば、ユーザが、スタブファイルに基づいてクラウドサーバからデータファイルを得る必要があるときに、図４のプロセス４００及び図５のプロセス５００などのプロセスが、クラウドサーバの仮想エリアからデータファイルへのアクセスをクライアントデバイスのユーザに提供するために使用できる。
【００７４】
第３の例では、ユーザが、異なるクライアントデバイスを通じてクラウドサーバからデータファイルに対して動作を実施する必要があるときに、図４のプロセス４００及び図５のプロセス５００が、データファイルにリモートからアクセスを提供するために使用できる。例えば、クライアントデバイスＡ上のユーザが、データファイルのためのスタブファイルを生成し、該データファイルをクライアントデバイスＡの仮想エリアに格納する。ユーザが、スタブファイルをクライアントデバイスＡからクライアントデバイスＢに送信し、且つクライアントデバイスＡが、データファイルをクラウドサーバにアップロードした後、ユーザは、もし、クライアントデバイスＢからデータファイルを取り出す必要があるならば、図４のプロセス４００及び図５のプロセス５００を使用して、クラウドサーバからデータファイルに対して動作を実施することができる。
【００７５】
Ｃｉｔｒｉｘ  ＸｅｎＡｐｐ及びその他の類似のアプリケーションなどのアプリケーションは、仮想化コストが極めて高いことがある。したがって、上述のように、本出願は、例えば、ＲＤＰをベースにしたアプリケーションによる仮想化スキームを用いることによって、Ｗｉｎｄｏｗｓオペレーティングシステムを使用することができる。ＲＤＰ制御コンポーネント、メッセージフック、及びウィンドウクリップ技術を使用することによって、リモートアプリケーション仮想化技術が実現でき、そうして、クライアントデバイス自身のオペレーティングシステムへの依存を回避し、クラウドサーバが任意のＷｉｎｄｏｗｓオペレーティングシステムを用いることを可能にし、これは、データファイルのユーザにとって、より柔軟性がある。
【００７６】
以下の例は、上述された実施形態に基づく。データファイルが、ユーザによる動作を経るときに、クライアントデバイスにインストールされたクライアントアプリケーションが、データファイルに対してユーザによって実施される動作を監視するために使用されてもよい。一部の実施形態では、データファイルに対してユーザによって実施される動作は、クライアントデバイス上で実施されてよく、又はクラウドサーバからクライアントデバイス上へマッピングされたドキュメントエディタを通じてデータファイルに対してユーザによって実施されてよく、それによって、ユーザによって実施されるデータファイルを開く行為、動作させる行為、流れさせる行為、及びその他のあらゆるデータファイル関連行為の効果的な監視と管理とを可能にしてよい。
【００７７】
図６は、データファイルを保護するためのクライアントデバイスの一例を示した図である。この例に示されるように、クライアントデバイスは、プロセッサと、内部バスと、ネットワークポートと、内部メモリと、不揮発性メモリとを含む。実際は、クライアントデバイスは、ビジネスサービスを実施するために必要とされるその他のハードウェアも含んでいてよい。プロセッサは、対応するコンピュータプログラムを不揮発性メモリから内部メモリへ取得して実行することができる。データファイル保護デバイスは、論理層内に形成される。本出願は、例えば論理デバイス、又はソフトウェアとハードウェアとの組み合わせなどの、ソフトウェア実装形態以外のその他の実装形態を排除しない。要するに、上述のようなプロセスを実行する主体は、各種の論理ユニットに限定される必要はなく、ハードウェア、ソフトウェア、又は両者の組み合わせであることができる。
【００７８】
図７は、データファイルを保護するためのクライアントデバイスの一例を示した図である。この例では、デバイス７００は、第１の判断モジュール７１と、ストレージモジュール７２と、スタブ生成モジュール７３とを含む。
【００７９】
モジュール及びユニットは、１つ以上のプロセッサ上で実行されるソフトウェアコンポーネントとして、プログラマブル論理デバイスなどのハードウェアとして、及び／又は特殊用途向け集積回路として実装できる。一部の実施形態では、設計された要素は、本発明の実施形態で説明される方法を（パソコン、サーバ、ネットワーク機器等などの）コンピュータデバイスに実行させるための幾つかの命令を含み且つ（光ディスク、フラッシュストレージデバイス、モバイルハードディスク等などの）不揮発性のストレージ媒体に格納できるソフトウェア製品の形態で具現化できる。これらのモジュール及びユニットは、１つのデバイス上に実装されてよい、又は複数のデバイスに分散されてよい。
【００８０】
第１の判断モジュール７１は、クライアントデバイス上でのデータファイルの生成を受けて、データファイルのセキュリティ分類と、データファイルの元のストレージ場所とを判断するように構成される。
【００８１】
ストレージモジュール７２は、第１の判断モジュールによって判断されたセキュリティ分類が、データファイルが分類済みファイルであることを示す場合に、データファイルを指定の仮想ストレージエリアに格納するように構成される。
【００８２】
スタブ生成モジュール７３は、第１の判断モジュール７１によって判断された元のストレージ場所においてスタブファイルを生成するように構成される。スタブファイルは、データファイルに対するビュー許可と、指定の仮想ストレージエリアにおけるデータファイルのストレージ場所とを記録するように構成される。
【００８３】
図８は、データファイルを保護するためのクライアントデバイスの一例を示した図である。一部の実施形態では、デバイス８００は、図７のデバイス７００の実装形態の一例である。デバイス８００の例では、デバイス７００の第１の判断モジュール７１は、第１の判断ユニット７１１と、第１の突き合わせユニット７１２と、第２の判断ユニット７１３と、第２の突き合わせユニット７１４とを含む。デバイス８００は、更に、監視モジュール７８と、ストレージモジュール７２と、第２の判断モジュール７４と、送信モジュール７５と、第３の判断モジュール７６と、アップロードモジュール７７と、スタブ生成モジュール７３とを含む。
【００８４】
第１の判断ユニット７１１は、データファイルの内容情報を判断するように構成される。
【００８５】
一部の実施形態では、第１の突き合わせユニット７１２は、第１の判断ユニット７１１によって判断された内容情報を第１の既定の条件と突き合わせ、第１の突き合わせ結果にしたがってデータファイルのセキュリティ分類を判断するように構成される。
【００８６】
一部の実施形態では、第２の判断ユニット７１３は、データファイルのファイル名を判断するように構成される。
【００８７】
第２の突き合わせユニット７１４は、第２の判断ユニット７１３によって判断されたファイル名を第２の既定の条件と突き合わせ、第２の突き合わせ結果にしたがってデータファイルのセキュリティ分類を判断するように構成される。
【００８８】
第２の判断モジュール７４は、第１のユーザが、ストレージモジュール７２によって格納されたデータファイルを第１のユーザによって指定された第２のユーザのクライアントデバイスとシェアすることを選択したことを示す、第１の命令の検出を受けて、第２のユーザについてのユーザ情報を判断するように構成される。
【００８９】
送信モジュール７５は、第２の判断モジュール７４によって判断されたユーザ情報を、データファイルを受信するように第２のユーザに指示するための第２の命令を第２のユーザに送信するためのベースとして使用するように構成される。第２のユーザが、対応するクライアントデバイスを通じてデータファイルを受信した後、一部の実施形態では、送信モジュール７５が、第２のユーザのクライアントデバイス上でデータファイルのためのスタブファイルを生成するように構成される。
【００９０】
第３の判断モジュール７６は、第２の判断モジュール７４によって判断されたユーザ情報を、第２のユーザがデータファイルに関してビュー許可を有するかどうかを判断するためのベースとして使用するように構成される。
【００９１】
アップロードモジュール７７は、第２のユーザがデータファイルに関してビュー許可を有するという判断に関係付けられた指示を、第３の判断モジュール７６から受信するように構成される。指示を受けて、アップロードモジュール７７は、結果として第２のユーザが、クラウドサーバからデータファイルを得るためのベースとしてスタブファイルを使用できるように、データファイルをクラウドサーバにアップロードして格納するように構成される。
【００９２】
監視モジュール７８は、データファイルに対してユーザによって実施されるユーザ動作を監視するために、クライアントデバイスにインストールされたクライアントアプリケーションを使用するように構成される。
【００９３】
図９は、データファイル取り出しデバイスの一例を示した図である。この例では、デバイス９００は、第４の判断モジュール９１と、開始モジュール９２と、アクセスモジュール９３とを含む。
【００９４】
第４の判断モジュール９１は、スタブファイルによって記録されたビュー許可にしたがって、スタブファイルの選択に関係付けられたユーザがデータファイルにアクセスする許可を有するかどうかを判断するように構成される。
【００９５】
第４の判断モジュール９１が、ユーザがデータファイルにアクセスする許可を有すると判断した場合に、開始モジュール９２は、データファイルに対応する仮想アプリケーションを起動させるように構成される。
【００９６】
アクセスモジュール９３は、スタブファイルによって記録されている指定の仮想ストレージエリアストレージ場所に格納されたデータファイルにアクセスするために、開始モジュール９２によって開始された仮想アプリケーションを使用するように構成される。
【００９７】
図１０は、データファイル取り出しデバイスの一例を示した図である。一部の実施形態では、図９のデバイス９００は、デバイス１０００の例を使用して実装できる。デバイス１０００の例では、アクセスモジュール９３は、ネットワーク接続ユニット９３１と、伝送ユニット９３２と、動作ユニット９３３とを含む。
【００９８】
ネットワーク接続ユニット９３１は、アクセスされようとしているデータファイルに関係付けられたスタブファイルによって記録されている情報に基づいて、リモートデスクトッププロトコルコンポーネントを通じてクラウドサーバに接続するように構成される。
【００９９】
伝送ユニット９３２は、クラウドサーバが、ストレージファイルによって記録された情報の認証に成功した後に、クライアントデバイス上でリモート仮想化プログラムを起動させ、スタブファイルによって記録されている指定の仮想ストレージ場所をクラウドサーバ上に格納されたデータファイルを編集するためのドキュメントエディタプログラムをクライアントデバイス上へマッピングするためのベースとして使用するように、スタブファイルによって記録された情報をリモートデスクトッププロトコルコンポーネントを通じてクラウドサーバに伝送するように構成される。
【０１００】
動作ユニット９３３は、クラウドサーバ上に格納されているデータファイルに対してドキュメントエディタを通じて動作を実施するように構成される。
【０１０１】
図１１は、データファイルを保護するためのプログラムドコンピュータシステムの一実施形態を示した機能図である。データファイルを保護するために、その他のアーキテクチャ及び構成のコンピュータシステムも使用できることが明らかである。後述のような様々なサブシステムを含むコンピュータシステム１１００は、少なくとも１つのマイクロプロセッササブシステム（プロセッサ又は中央演算処理装置（ＣＰＵ）とも呼ばれる）１１０２を含む。例えば、プロセッサ１１０２は、シングルチッププロセッサによって又は複数のプロセッサによって実現できる。一部の実施形態では、プロセッサ１１０２は、コンピュータシステム１１００の動作を制御する汎用デジタルプロセッサである。メモリ１１１０から取り出された命令を使用して、プロセッサ１１０２は、入力データの受信及び操作、並びに出力デバイス（例えば、ディスプレイ１１１８）へのデータの出力及び表示を制御する。
【０１０２】
プロセッサ１１０２は、メモリ１１１０に双方向に接続され、メモリ１１１０は、通常はランダムアクセスメモリ（ＲＡＭ）である第１の一次ストレージエリアと、通常は読み出し専用メモリ（ＲＯＭ）である第２の一次ストレージエリアとを含むことができる。当該分野で周知のように、一次ストレージは、汎用ストレージエリアとして及びスクラッチパッドメモリとして使用でき、入力データ及び処理済みデータを格納するためにも使用できる。一次ストレージは、プログラミング命令及びデータも、プロセッサ１１０２上で起きるプロセスのためのその他のデータ及び命令に加えてデータオブジェクト及びテキストオブジェクトの形態で格納することができる。やはり当該分野で周知のように、一次ストレージは、通常は、プロセッサ１１０２がその機能（例えば、プログラムされた命令）を実施するために使用する基本的な動作命令、プログラムコード、データ、及びオブジェクトを含む。例えば、メモリ１１１０は、例えば、データアクセスが双方向又は単方向のいずれである必要があるかに応じて、後述される任意の適切なコンピュータ読み取り可能ストレージ媒体を含むことができる。例えば、プロセッサ１１０２は、頻繁に必要とされるデータを直接的に且つ非常に迅速に取り出してキャッシュメモリ（不図示）に格納することもできる。
【０１０３】
着脱式大容量ストレージデバイス１１１２が、コンピュータシステム１１００のための追加のデータストレージ容量を提供し、双方向（読み出し／書き込み）又は単方向（読み出しのみ）のいずれかでプロセッサ１１０２に接続される。例えば、ストレージ１１１２は、磁気テープ、フラッシュメモリ、ＰＣカード、ポータブル大容量ストレージデバイス、ホログラフィックストレージデバイス、及びその他のストレージデバイスなどの、コンピュータ読み取り可能媒体を含むこともできる。例えば、固定大容量ストレージ１１２０も、追加のデータストレージ容量を提供することができる。固定大容量ストレージ１１２０として最も一般的な例は、ハードディスクドライブである。大容量ストレージ１１１２及び１１２０は、一般に、プロセッサ１１０２によって通常は能動的に使用されていない追加のプログラミング命令やデータなどを格納する。大容量ストレージ１１１２及び１１２０に保持される情報は、必要に応じて、仮想メモリとしてメモリ１１１０（例えば、ＲＡＭ）の一部として標準的に組み込めることがわかる。
【０１０４】
バス１１１４は、プロセッサ１１０２に、ストレージサブシステムへのアクセスを提供することに加えて、その他のサブシステム及びデバイスへのアクセスを提供するためにも使用できる。図に示されるように、これらとしては、ディスプレイモニタ１１１８、ネットワークインターフェース１１１６、キーボード１１０４、及びポインティングデバイス１１０８はもちろん、必要に応じて、補助入出力デバイスインターフェース、サウンドカード、スピーカ、及びその他のサブシステムが挙げられる。例えば、ポインティングデバイス１１０８は、マウス、スタイラス、トラックボール、又はタブレットであることができ、グラフィカルユーザインターフェースとのやり取りに有用である。
【０１０５】
ネットワークインターフェース１１１６は、図に示されるようにネットワーク接続を使用してプロセッサ１１０２が別のコンピュータ、コンピュータネットワーク、又は電気通信ネットワークに接続されることを可能にする。例えば、ネットワークインターフェース１１１６を通じて、プロセッサ１１０２は、方法／プロセスのステップを実施する過程において、別のネットワークから情報（例えば、データオブジェクト若しくはプログラム命令）を受信する又は別のネットワークに情報を出力することができる。情報は、プロセッサ上で実行される一連の命令として表されることが多く、別のネットワークから受信できる又は別のネットワークに出力できる。コンピュータシステム１１００を外部ネットワークに接続するために及びデータを標準プロトコルにしたがって転送するために、インターフェースカード又は類似のデバイス、及びプロセッサ１１０２によって実現される（例えば、プロセッサ１１０２上で実行される／実施される）適切なソフトウェアが使用できる。例えば、本書で開示される様々なプロセスの実施形態は、プロセッサ１１０２上で実行できる、又は処理の一部を共有するリモートプロセッサと協働してインターネット、イントラネットネットワーク、若しくはローカルエリアネットワークなどのネットワークで実施できる。プロセッサ１１０２には、ネットワークインターフェース１１１６を通じて追加の大容量ストレージデバイス（不図示）も接続できる。
【０１０６】
コンピュータシステム１１００と協働して、補助入出力デバイスインターフェース（不図示）が使用できる。補助入出力デバイスインターフェースは、プロセッサ１１０２が、マイク、タッチセンサ式ディスプレイ、トランスデューサカードリーダ、テープリーダ、音声又は手書き認識装置、生体認証リーダ、カメラ、ポータブル大容量ストレージデバイス、及びその他のコンピュータなどの他のデバイスにデータを送信することを、及び更に一般的にはこれらの他のデバイスからデータを受信することを可能にする、汎用並びに専用のインターフェースを含むことができる。
【０１０７】
上記の各種の実施形態で説明されたように、データファイルは、分類済みファイルであると判断されると、指定の仮想ストレージエリアに格納される。したがって、指定の仮想ストレージエリアに格納されたデータファイルに対するユーザ動作は、仮想環境内に分離でき、データファイルが悪意あるユーザ及び／又はデータファイルにアクセスしているクライアントデバイスにおける悪意あるプログラムによって改ざんされることを阻止できる。クライアントデバイスにおけるデータファイルの元のストレージ場所において、スタブファイルが生成される。スタブファイルは、データファイルに対するビュー許可及び仮想ストレージエリアにおけるデータファイルのストレージ場所のみを記録し、データファイル自体からのいかなるデータも含まないので、スタブファイルに対してユーザによって実施される動作は、データファイルに対していかなる影響も有さない。
【０１０８】
本書で説明の中で及び実際面で開示されている発明を考慮する際に、当業者ならば、当然、本出願を実現するためのその他のやり方を容易に思いつくだろう。本出願は、本出願のあらゆる変形、使用形態、又は適応形態を網羅することを意図し、これらの変形、使用形態、又は適応形態は、本出願の原則に適合し、本出願では開示されていない当該分野における公知の又は慣例の技術的手段を含む。説明及び実施形態は、例示的に過ぎないと見なされる。本出願の真の範囲及び趣旨は、以下の特許請求の範囲によって示される。
【０１０９】
また、用語「comprise（を含む）」又は「contain（を内包する）」又はこれらのあらゆる異形語が、非排他的な意味で捉えられることに留意せよ。したがって、一連の要素を含むプロセス、方法、商品、又は機器は、これらの要素を含むのみならず、明確に挙げられていないその他の要素又はこのようなプロセス、方法、商品、若しくは機器に本来備わっているその他の要素も含む。更なる制限がなければ、「comprises a (n) … （ａ（ｎ） … を含む）」という表現は、上記要素を含むプロセス、方法、商品、又は機器の中に更なる同一要素が存在することを排除しない。
【０１１０】
以上は、本出願の好ましい実施形態に過ぎず、本出願を制限する働きをするものではない。実施されるあらゆる変更形態、等価な置換、又は改善が、本出願の保護範囲に内包されるものとする。
【０１１１】
以上の実施形態は、理解を明瞭にする目的で幾らか詳細に説明されてきたが、本発明は、提供された詳細に限定されない。本発明を実現するためには、多くの代替的手法がある。開示された実施形態は、例示的なものであり、制限的なものではない。
本発明は以下の適用例としても実現できる。
［適用例１］
方法であって、
データファイルがクライアントデバイスによって生成されたという指示を受けて、前記データファイルに関係付けられたセキュリティ分類を判断することと、
前記データファイルに関係付けられた前記セキュリティ分類が、分類済みファイルを含むことを判断することと、
１つ以上のプロセッサを使用し、前記データファイルを指定の仮想ストレージエリアに格納することと、
前記データファイルの元のストレージ場所において、前記データファイルに関係付けられたビュー許可及び前記指定の仮想ストレージエリアにおける前記データファイルのストレージ場所を含むスタブファイルを生成することと、
を備える方法。
［適用例２］
適用例１に記載の方法であって、
前記指定の仮想ストレージエリアは、クラウドサーバに関係付けられる、方法。
［適用例３］
適用例１に記載の方法であって、
前記データファイルに関係付けられた前記セキュリティ分類を判断することは、
前記データファイルに関係付けられた内容情報を既定の条件と比較することと、
前記比較の結果に少なくとも部分的に基づいて、前記セキュリティ分類を判断することと、を含む、
方法。
［適用例４］
適用例１に記載の方法であって、
前記データファイルに関係付けられた前記セキュリティ分類は、ユーザによって設定される、方法。
［適用例５］
適用例１に記載の方法であって、更に、
前記データファイルに関係付けられた前記元のストレージ場所に前記スタブファイルを格納すること、
を備える方法。
［適用例６］
適用例１に記載の方法であって、更に、
前記データファイルにアクセスするための、前記スタブファイルに関係付けられたユーザ選択を受信することと、
前記ユーザ選択に関係付けられたユーザが、前記データファイルにアクセスするための許可を有するかどうかを判断することと、
前記ユーザが、前記データファイルにアクセスするための許可を有する場合に、前記データファイルに対応する仮想アプリケーションを実行することと、
前記仮想アプリケーションを使用して、前記指定の仮想ストレージエリアにおける前記データファイルへのアクセスを提供することと、
を備える方法。
［適用例７］
適用例１に記載の方法であって、更に、
前記データファイルにアクセスするための、前記スタブファイルに関係付けられたユーザ選択を受信することと、
前記ユーザ選択に関係付けられたユーザが、前記データファイルにアクセスするための許可を有するかどうかを判断することと、
前記ユーザが、前記データファイルにアクセスするための許可を有する場合に、前記データファイルに対応する仮想アプリケーションを実行することと、
前記仮想アプリケーションを使用して、前記指定の仮想ストレージエリアにおける前記データファイルへのアクセスを提供することであって、
前記指定の仮想ストレージエリアに関係付けられたクラウドサーバに、前記スタブファイルに含まれる情報を伝送することと、
前記クラウドサーバから、ドキュメントエディタプログラムに関係付けられたユーザインターフェースを受信することと、を含むことと、
を備える方法。
［適用例８］
適用例１に記載の方法であって、更に、
前記データファイルにアクセスするための、前記スタブファイルに関係付けられたユーザ選択を受信することと、
前記ユーザ選択に関係付けられたユーザが、前記データファイルにアクセスするための許可を有するかどうかを判断することと、
前記ユーザが、前記データファイルにアクセスするための許可を有する場合に、前記データファイルに対応する仮想アプリケーションを実行することと、
前記仮想アプリケーションを使用して、前記指定の仮想ストレージエリアにおける前記データファイルへのアクセスを提供することであって、
前記指定の仮想ストレージエリアに関係付けられたクラウドサーバに、前記スタブファイルに含まれる情報を伝送することと、
前記クラウドサーバから、ドキュメントエディタプログラムに関係付けられたユーザインターフェースを受信することと、
前記ユーザインターフェースを通じて、前記データファイルに対して実施されようとしている動作を受信することと、
前記動作を前記クラウドサーバに送信することと、を含むことと、
を備える方法。
［適用例９］
適用例１に記載の方法であって、
前記スタブファイルは、第１のスタブファイルを含み、前記方法は、更に、
第１のユーザから、前記データファイルを第２のユーザとシェアするための第１の命令を受信することと、
前記第２のユーザに関係付けられたユーザ情報を判断することと、
前記第２のユーザに関係付けられた前記ユーザ情報に少なくとも部分的に基づいて、前記第２のユーザが前記データファイルにアクセスする許可を有することを判断することと、
前記第２のユーザに関係付けられたクライアントデバイスに、前記第２のユーザに関係付けられた前記クライアントデバイスにおいて前記データファイルに対応する第２のスタブファイルを生成するように構成された第２の命令を送信することと、
を備える方法。
［適用例１０］
非一時的なコンピュータ読み取り可能ストレージ媒体を含むコンピュータプログラム製品であって、
データファイルがクライアントデバイスによって生成されたという指示を受けて、前記データファイルに関係付けられたセキュリティ分類を判断することと、
前記データファイルに関係付けられた前記セキュリティ分類が、分類済みファイルを含むことを判断することと、
前記データファイルを指定の仮想ストレージエリアに格納することと、
前記データファイルの元のストレージ場所において、前記データファイルに関係付けられたビュー許可及び前記指定の仮想ストレージエリアにおける前記データファイルのストレージ場所を含むスタブファイルを生成することと、
のためのコンピュータ命令を備えるコンピュータプログラム製品。
［適用例１１］
適用例１０に記載のコンピュータプログラム製品であって、
前記指定の仮想ストレージエリアは、クラウドサーバに関係付けられる、コンピュータプログラム製品。
［適用例１２］
適用例１０に記載のコンピュータプログラム製品であって、
前記データファイルに関係付けられた前記セキュリティ分類を判断することは、
前記データファイルに関係付けられた内容情報を既定の条件と比較することと、
前記比較の結果に少なくとも部分的に基づいて、前記セキュリティ分類を判断することと、を含む、
コンピュータプログラム製品。
［適用例１３］
適用例１０に記載のコンピュータプログラム製品であって、
前記データファイルに関係付けられた前記セキュリティ分類は、ユーザによって設定される、コンピュータプログラム製品。
［適用例１４］
適用例１０に記載のコンピュータプログラム製品であって、更に、
前記データファイルに関係付けられた前記元のストレージ場所に前記スタブファイルを格納すること、
を備えるコンピュータプログラム製品。
［適用例１５］
適用例１０に記載のコンピュータプログラム製品であって、更に、
前記データファイルにアクセスするための、前記スタブファイルに関係付けられたユーザ選択を受信することと、
前記ユーザ選択に関係付けられたユーザが、前記データファイルにアクセスするための許可を有するかどうかを判断することと、
前記ユーザが、前記データファイルにアクセスするための許可を有する場合に、前記データファイルに対応する仮想アプリケーションを実行することと、
前記仮想アプリケーションを使用して、前記指定の仮想ストレージエリアにおける前記データファイルへのアクセスを提供することと、
ことを備えるコンピュータプログラム製品。
［適用例１６］
適用例１０に記載のコンピュータプログラム製品であって、更に、
前記データファイルにアクセスするための、前記スタブファイルに関係付けられたユーザ選択を受信することと、
前記ユーザ選択に関係付けられたユーザが、前記データファイルにアクセスするための許可を有するかどうかを判断することと、
前記ユーザが、前記データファイルにアクセスするための許可を有する場合に、前記データファイルに対応する仮想アプリケーションを実行することと、
前記仮想アプリケーションを使用して、前記指定の仮想ストレージエリアにおける前記データファイルへのアクセスを提供することであって、
前記指定の仮想ストレージエリアに関係付けられたクラウドサーバに、前記スタブファイルに含まれる情報を伝送することと、
前記クラウドサーバから、ドキュメントエディタプログラムに関係付けられたユーザインターフェースを受信することと、を含むことと、
を備えるコンピュータプログラム製品。
［適用例１７］
適用例１０に記載のコンピュータプログラム製品であって、更に、
前記データファイルにアクセスするための、前記スタブファイルに関係付けられたユーザ選択を受信することと、
前記ユーザ選択に関係付けられたユーザが、前記データファイルにアクセスするための許可を有するかどうかを判断することと、
前記ユーザが、前記データファイルにアクセスするための許可を有する場合に、前記データファイルに対応する仮想アプリケーションを実行することと、
前記仮想アプリケーションを使用して、前記指定の仮想ストレージエリアにおける前記データファイルへのアクセスを提供することであって、
前記指定の仮想ストレージエリアに関係付けられたクラウドサーバに、前記スタブファイルに含まれる情報を伝送することと、
前記クラウドサーバから、ドキュメントエディタプログラムに関係付けられたユーザインターフェースを受信することと、
前記ユーザインターフェースを通じて、前記データファイルに対して実施されようとしている動作を受信することと、
前記動作を前記クラウドサーバに送信することと、を含むことと、
備えるコンピュータプログラム製品。
［適用例１８］
適用例１０に記載のコンピュータプログラム製品であって、
前記スタブファイルは、第１のスタブファイルを含み、前記コンピュータプログラム製品は、更に、
第１のユーザから、前記データファイルを第２のユーザとシェアするための第１の命令を受信することと、
前記第２のユーザに関係付けられたユーザ情報を判断することと、
前記第２のユーザに関係付けられた前記ユーザ情報に少なくとも部分的に基づいて、前記第２のユーザが前記データファイルにアクセスする許可を有することを判断することと、
前記第２のユーザに関係付けられたクライアントデバイスに、前記第２のユーザに関係付けられた前記クライアントデバイスにおいて前記データファイルに対応する第２のスタブファイルを生成するように構成された第２の命令を送信することと、
を備えるコンピュータプログラム製品。
［適用例１９］
システムであって、
１つ以上のプロセッサと、
前記１つ以上のプロセッサに結合され、前記１つ以上のプロセッサに命令を提供するように構成された１つ以上のメモリと、
を備え、
前記１つ以上のプロセッサは、
データファイルがクライアントデバイスによって生成されたという指示を受けて、前記データファイルに関係付けられたセキュリティ分類を判断し、
前記データファイルに関係付けられた前記セキュリティ分類が、分類済みファイルを含むことを判断し、
前記データファイルを指定の仮想ストレージエリアに格納し、
前記データファイルの元のストレージ場所において、前記データファイルに関係付けられたビュー許可及び前記指定の仮想ストレージエリアにおける前記データファイルのストレージ場所を含むスタブファイルを生成する、
ように構成される、システム。
［適用例２０］
適用例１９に記載のシステムであって、
前記指定の仮想ストレージエリアは、クラウドサーバに関係付けられる、システム。
【図１】
0006511161.tif 000002
【図２】
0006511161.tif 000003
【図３】
0006511161.tif 000004
【図４】
0006511161.tif 000005
【図５】
0006511161.tif 000006
【図６】
0006511161.tif 000007
【図７】
0006511161.tif 000008
【図８】
0006511161.tif 000009
【図９】
0006511161.tif 000010
【図１０】
0006511161.tif 000011
【図１１】
0006511161.tif 000012