JP2010519637A - 複数のコンピューティング装置上のファイル管理 - Google Patents
複数のコンピューティング装置上のファイル管理 Download PDFInfo
- Publication number
- JP2010519637A JP2010519637A JP2009550613A JP2009550613A JP2010519637A JP 2010519637 A JP2010519637 A JP 2010519637A JP 2009550613 A JP2009550613 A JP 2009550613A JP 2009550613 A JP2009550613 A JP 2009550613A JP 2010519637 A JP2010519637 A JP 2010519637A
- Authority
- JP
- Japan
- Prior art keywords
- file
- computing device
- partner
- computer
- space
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本発明の技術は、複数のパートナー・コンピューティング装置からのファイルに対する結合ファイル空間を提供する。各パートナー・コンピューティング装置に関連する個々のキャッシュ・ポリシーにより、結合ファイル空間内のファイルをそれぞれのパートナー・コンピューティング装置に対してフィルタリングする方法を判定する。ローカルに格納されているコンテンツをもたないファイルデータは、結合ファイル空間にローカルに格納されたそのファイルに関連するメタデータをもつ。
Description
本発明は、複数のコンピューティング装置上のファイル管理に関する。
多くの種類のコンピューティング装置が使用および所有されている。これらのコンピューティング装置の範囲は、モバイル装置から従来のデスクトップ・コンピューティング装置にまで渡る。一般に、個人は幾つかの異なる種類のコンピューティング装置を日々使用することがある。例えば、個人はデスクトップ・コンピューティング装置を職場で使用して仕事関係の情報を作成および格納することができる。その人が職場から離れているときには、その人はラップトップコンピューターおよび/またはパーソナル・デジタル・アシスタントを使用して仕事関係の情報を参照することもできる。
複数のコンピューティング装置を使用することに関する問題の1つは、各コンピューティング装置上に存在するデータの管理である。個人がこれらのファイルを手動で管理する場合、各コンピューティング装置が複製データファイルをもつことがある。そして、これらの複製データファイルは個々に更新されることがあり、その結果、バージョンの衝突が生じる。そうすると、その人はこれらのバージョンの衝突を手動で解決しなければならない。したがって、ユーザーデータをこのようなやり方で管理すると、面倒で時間がかかってしまう。
複数のコンピューティング装置上のユーザーデータを管理するための代替的なアプローチは、複数のコンピューティング装置の各々にある一組のフォルダをリンクして、各コンピューティング装置の各組にあるファイルを複製するものである。しかし、モバイル装置は、一般にデスクトップ・コンピューティング装置ほど強力ではなく、一般にメモリも少ないので、これらのコンピューティング装置には、リンクした組のフォルダにある全てのファイルを複製するのに十分な記憶空間がないことがある。これが生じると、個人はあるファイルにアクセスできないことに気付かなくなる。さらに、このアプローチでは、リンクした組のフォルダ内でファイルをどのように編成すべきかを、個人が慎重に計画する必要がある。
したがって、複数のコンピューティング装置上のデータを管理するこれらの現在の技術は理想的ではない。今日まで、当業者は適切な技術を見つけられていなかった。
本明細書では、とりわけ、複数のコンピューティング装置上のファイルを管理する様々な技術および技法の実装形態を説明する。これらの実装形態では、結合ファイル空間を使用して、パートナー・コンピューティング装置(partner computing device)として指定されている複数のコンピューティング装置からのファイルを参照する。各パートナー・コンピューティング装置に関連する個々のキャッシュ・ポリシーにより、結合ファイル空間内のファイルをそれぞれのパートナー・コンピューティング装置に対してフィルタリングする方法を判定する。結合ファイル空間にローカルに格納されたコンテンツをもたないファイルは、結合ファイル空間にローカルに格納されたファイルに関連するメタデータをもつ。
本概要は、以下の発明の詳細な説明でさらに説明されている選択した概念を簡略化した形式で紹介するために提供するものである。本概要は、特許請求の範囲に記載されている主題事項の重要な特徴または本質的な特徴を特定することを目的とするものでも、特許請求の範囲に記載されている主題事項の範囲の限定として使用することを目的とするものでもない。
本発明の技術に付随する利点の多くは、以下の発明の詳細を参照することでより容易に、より良く理解されよう。ここで各図面を簡潔に説明する。
複数のパートナー・コンピューティング装置がそれぞれの結合ファイル空間を利用してパートナー・コンピューティング装置からのファイルを管理する動作環境をグラフィカルに示す図である。
図1に示すパートナー・コンピューティング装置内で使用される結合ファイル空間に対する組織構造の例を示す図である。
図1に示す結合ファイル空間内のファイルおよびフォルダに関連付けることができる幾つかの状態の例を示す表である。
図1に示す1つまたは複数のパートナー・コンピューティング装置に常駐することができ、複数のパートナー・コンピューティング装置間の共有ファイルを管理する、幾つかのファイル管理コンポーネントを一般的に示す機能ブロック図である。
どの状態を結合ファイル空間内のファイルに関連付けるべきかを判定することを支援する、キャッシュ・ポリシー・フィルタの幾つかの例を示す図である。
図1に示すパートナー・コンピューティング装置の1つに対して、図4に示すパートナーシップ・データを作成するプロセスの一実施形態を示すフロー図である。
キャッシュ・ポリシー・フィルタを適用して、1つのパートナー・コンピューティング装置により共有されるものとして指定されるファイルを別のパートナー・コンピューティング装置上の結合ファイル空間に追加する方法を判定するプロセスの一実施形態を示す動作フロー図である。
図1に示す結合ファイル空間の1つにファイルを追加または更新するプロセスの一実施形態を示す動作フロー図である。
図1に示す結合ファイル空間の1つからファイルを削除するプロセスの一実施形態を示す動作フロー図である。
結合ファイル空間内のファイルを開くプロセスの一実施形態を示す動作フロー図である。
複数のパートナー・コンピューティング装置上のファイルを管理するための図4に示すファイル管理コンポーネントを実装できるパートナー・コンピューティング装置の機能ブロック図である。
複数のパートナー・コンピューティング装置上にあるファイルを管理する本発明のインフラおよび技術の実施形態を、添付の図面を参照してここで詳細に説明する。図面全体を通じて、同様の数字は同様の要素を表す。
以下の解説では、まず、結合ファイル空間を利用して、パートナー・コンピューティング装置として構成される複数のコンピューティング装置からのファイルを管理する動作環境を説明する。次に、1つまたは複数のパートナー・コンピューティング装置に常駐でき、各パートナー・コンピューティング装置の結合ファイル空間内のファイルを管理するように構成される、ファイル管理コンポーネントに絞って解説する。次に、ファイル管理コンポーネントを実装するのに適した幾つかのプロセスの例を説明する。最後に、パートナー・コンピューティング装置に対する一実施形態を説明する。
しかし、上の項目を説明する前に、様々な実施形態が添付図面を参照して以下で完全に説明されており、当該添付図面は、その様々な実施形態の一部を形成し、様々な実施形態を実施するための具体的な実装形態を示すことに留意することが重要である。他の実施形態を多数の異なる形態で実装してもよく、本明細書で説明する実施形態に限定されるとして解釈すべきではない。むしろ、これらの実施形態は、本開示が徹底的で完全となるように提供されている。実施形態を方法、システムまたは装置として実施することができる。したがって、実施形態はハードウェアによる実装形態、完全にソフトウェアによる実装形態、またはソフトウェアとハードウェアとの態様を組み合わせた実装形態を取ることができる。したがって、以下の詳細な説明を限定的な意味で捉えるべきではない。
様々な実施形態において、論理的な動作を(1)コンピューター装置上で実行している一連のコンピューター実装型のステップとして、および/または(2)コンピューティング装置内部で相互接続されたマシンモジュール(すなわち、コンポーネント)として実装することができる。実装形態は、本実施形態を実装するコンピューティング装置の性能要件に依存した選択上の問題である。したがって、本明細書で説明する実施形態を構成する論理動作を、代替的に動作、ステップ、またはモジュールと称する。
(複数のパートナー・コンピューティング装置に対する動作環境)
図1は、複数のパートナー・コンピューティング装置102〜110が、様々なパートナー・コンピューティング装置からのファイルをそれぞれの結合ファイル空間(例えば、結合ファイル空間112)を介して管理するように構成される、動作環境100をグラフィカルに示したものである。以降、短縮した用語「パートナー」を、用語「パートナー・コンピューティング装置」と同じ意味で使用することがある。用語「ローカル」を使用してパートナー・コンピューティング装置(すなわち、ローカル・パートナー・コンピューティング装置)、および結合ファイル空間(すなわち、ローカル結合ファイル空間)を修飾し、パートナー・コンピューティング装置がその特定の結合ファイル空間と関連付けられていることを示す。
図1は、複数のパートナー・コンピューティング装置102〜110が、様々なパートナー・コンピューティング装置からのファイルをそれぞれの結合ファイル空間(例えば、結合ファイル空間112)を介して管理するように構成される、動作環境100をグラフィカルに示したものである。以降、短縮した用語「パートナー」を、用語「パートナー・コンピューティング装置」と同じ意味で使用することがある。用語「ローカル」を使用してパートナー・コンピューティング装置(すなわち、ローカル・パートナー・コンピューティング装置)、および結合ファイル空間(すなわち、ローカル結合ファイル空間)を修飾し、パートナー・コンピューティング装置がその特定の結合ファイル空間と関連付けられていることを示す。
各パートナー・コンピューティング装置102〜110は、それぞれの結合ファイル空間を含む。簡潔にするため、図1ではパートナー・コンピューティング装置102および104に対する結合ファイル空間のみを示してある。パートナー・コンピューティング装置102は結合ファイル空間112を含み、パートナー・コンピューティング装置104は結合ファイル空間114を含む。
概要として、結合ファイル空間に対して割り当てた記憶空間がパートナー間で異なることがある。例えば、デスクトップ・コンピューティング装置に関連する結合ファイル空間は、パーソナル・デジタル・アシスタントの結合ファイル空間より大きいことがある。しかし、パートナー・コンピューティング装置の各々にある結合ファイル空間により、各パートナーからの一組の共有ファイルが特定される。したがって、各パートナー上の結合ファイル空間は、いずれのパートナー・コンピューティング装置上のいずれの結合ファイル空間内の共有ファイルも同じ表示を提供する。有限の空間をもつ結合ファイル空間内の共有ファイルの同じ表示を提供するため、結合ファイル空間は、関連するファイルに対する実際のコンテンツ(例えば、コンテンツ118)の代わりに「ゴーストファイル」(例えば、ゴーストファイル116)を含むことができる。以下で図2に関連してさらに詳細に説明するように、結合ファイル空間内の各ファイルは、幾つかの状態の1つとすることができる。これらの状態の1つは、ゴースト状態とすることができる。「ゴースト」状態である結合ファイル空間内のファイルを「ゴーストファイル」と称する。ゴーストファイルは、ローカル結合ファイル空間に格納されるファイルのコンテンツはもたず、ローカル・パートナー・コンピューティング装置上のローカル結合ファイル空間に格納されるファイルに関連するメタデータをもつ。このメタデータにより、ユーザーは、ローカル・パートナー・コンピューティング装置がオフラインであるときでも、コンテンツがローカルに格納されていないファイルを検索することができる。しかし、ゴーストファイルに対するコンテンツは、ローカル・パートナー・コンピューティング装置がオンラインになり、そのコンテンツが他のパートナー・コンピューティング装置の1つから使用可能となるまで使用できない。
パートナー・コンピューティング装置は、ローカルエリアネットワーク、無線ネットワーク、広域ネットワーク、セルラーネットワーク、インターネット、等のネットワーク120を介して通信することができる。各パートナー・コンピューティング装置は、パートナー・コンピューティング装置を特定のアカウント(図示せず)に対するパートナーとして識別する、一意な識別子をもつことができる。当該一意な識別子は分かりやすい名前(例えば、「HomeComputer」)、GUID、またはパートナー・コンピューティング装置を一意に識別する他の任意の機構であってもよい。アカウントを、1人のコンピューターユーザー、1つの関連するコンピューターユーザーのグループ、等に関連付けることができる。ローカルまたはインターネット指向の探索および認証機構を使用して、パートナー・コンピューティング装置を認証し、当該アカウントに関連する他のパートナーを探索することができる。
図2に、図1に示したパートナー・コンピューティング装置内で結合ファイル空間を実装するために使用できる組織構造の例を示す。この実装形態の例では、結合ファイル空間を、ユーザーのログイン・ルート・フォルダなどの、所定の位置に配置したフォルダ202により表す。所定の位置をレジストリから、または所定の位置を指定する他の任意の手段を通して取得することができる。パートナーのサブフォルダ(例えば、サブフォルダ204〜208)は、ローカル・パートナー以外の各パートナーに関連付けられる。パートナーのサブフォルダは、各パートナーのファイル空間のルートを表す。ローカルサブフォルダ(例えば、ローカルサブフォルダ210)は、ローカル・パートナー・コンピューティング装置上のローカルなファイル空間と関連付けられる。マウント・ポイント212は、結合ファイル空間に対するローカルフォルダの別名である。当業者に周知であるように、マウント・ポイント212は、ディレクトリを参照するためにドライブ名のみを使用するという制限を克服し、より論理的なファイルおよびフォルダの編成を可能する機構を提供する。マウント・ポイントを、既知のローカルフォルダの別名として自動的に作成することができ、またはローカルフォルダもしくはネットワーク上のリモート・フォルダの別名としてユーザーが作成することができる。一実施形態では、各パートナーに対するサブフォルダのデフォルト・セット220を作成することができる。デフォルト・セット220は、ユーザーのファイル空間内の既知のフォルダを特定することができ、オペレーティングシステム固有とすることができる。
図3は、図1に示した結合ファイル空間内のファイルおよびフォルダに関連付けることができる、幾つかの状態の例を示す表である。本例では、通常フォルダ状態304、別名フォルダ状態306、および代理フォルダ状態308の3つのフォルダの状態302がある。通常フォルダ状態304は、ローカル・パートナー・コンピューティング装置上のローカルフォルダを指す。別名フォルダ状態306は、結合ファイル空間外にあるローカル・パートナー・コンピューティング装置上のフォルダを指す。結合フォルダ空間内の別名フォルダは、ローカル・パートナー・コンピューティング装置上の実際のフォルダに対するマウント・ポイントである。代理フォルダ状態308は、図1のネットワーク120を介してローカル・パートナー・コンピューティング装置にアクセスできるコンピューティング装置上の実際のフォルダを表す、結合ファイル空間内のフォルダを指す。以降、ローカル・パートナー・コンピューティング装置にアクセスできるコンピューティング装置をリモート・コンピューティング装置と称する。代理フォルダ状態により、ユーザーが所有しないパブリック・サーバーにあるファイルを特定することができる。フォルダを代理フォルダとすることにより、ファイルをローカル・パートナー・コンピューティング装置上のユーザーの結合ファイル空間に含めることができる。一実施形態では、代理フォルダ状態を、無線ネットワークなどの一定の接続性をもたないリモート・コンピューティング装置上のフォルダと関連付けることはできない。さらに、さらなる改良版では、ファイルシステムオブジェクトが追加、削除、または修正された時点を特定できるように、リモート・コンピューティング装置上のオペレーティングシステムのファイルシステムによって変更通知をサポートすることができる。これにより、結合ファイル空間内で更新の必要がありうる共有ファイルの特定を支援する。
これらのファイルおよびフォルダの状態の例について説明を続けると、結合ファイル空間内のファイルは、キャッシュファイル状態312、ゴーストファイル状態314、およびマスタファイル状態316の3つのファイル状態310の1つとすることができる。マスタファイル状態316は、ローカル・パートナー・コンピューティング装置上に存在する実際のファイルを指す。キャッシュファイル状態312は、コンテンツがローカル・パートナー・コンピューティング装置にローカルにキャッシュされたリモート・パートナー・コンピューティング装置上のマスタファイルを表す。ゴーストファイル状態314は、コンテンツがローカル・パートナー・コンピューティング装置上にローカルにキャッシュされていないが、当該ローカル・パートナー・コンピューティング装置上にローカルに格納されたマスタファイルに関連するメタデータをもつ、リモート・パートナー・コンピューティング装置上のマスタファイルを表す。ゴースト・スタブはマスタファイルに関連するメタデータを含むことができる。
通常フォルダ304は、キャッシュファイル状態312、ゴーストファイル状態314、およびマスタファイル状態316の3つのファイル状態のいずれかであるファイルを有することができる。別名フォルダ306および代理フォルダ308は、マスタファイル状態316のファイルを有することができる。便宜上、当該3つのファイル状態の1つにあるファイルをその状態によって呼ぶことがある。例えば、ゴーストファイル状態にあるファイルを「ゴースト」ファイルと称することがある。一実施形態では、結合ファイル空間内の全てのファイルは、パートナー・コンピューティング装置の1つにある1つのマスタコピー(すなわち、ローカルファイル)を有し、場合によっては異なるリモート・コンピューティング装置に渡って複数のキャッシュコピーを有する。アカウントに関連する各パートナー・コンピューティング装置に対して、ローカルなファイル空間内にあるファイルがマスタファイルであり、結合ファイル空間内の他のフォルダにあるファイルはキャッシュファイルかまたはゴーストファイルのいずれかである。
(パートナー・コンピューティング装置の1つに対するコンポーネント)
図4は、図1に示した1つまたは複数のパートナー・コンピューティング装置に常駐することができ、および複数のパートナー・コンピューティング装置上の共有ファイルを管理する、幾つかのファイル管理コンポーネントを一般的に示す機能ブロック図である。ファイル管理コンポーネント400は、結合ファイル空間リダイレクタ(redirector)402、ファイルシステムモニタ404、同期マネージャ406、キャッシュマネージャ408、およびキャッシュ・ポリシー・フィルタ410を含む。コンポーネントの任意の1つにより実行される処理ステップを別のコンポーネントにより実行してもよいことは当業者には理解されよう。したがって、図4は、複数のパートナー・コンピューティング装置間でファイルを管理するファイル管理コンポーネントの1つの可能な構成を示している。
図4は、図1に示した1つまたは複数のパートナー・コンピューティング装置に常駐することができ、および複数のパートナー・コンピューティング装置上の共有ファイルを管理する、幾つかのファイル管理コンポーネントを一般的に示す機能ブロック図である。ファイル管理コンポーネント400は、結合ファイル空間リダイレクタ(redirector)402、ファイルシステムモニタ404、同期マネージャ406、キャッシュマネージャ408、およびキャッシュ・ポリシー・フィルタ410を含む。コンポーネントの任意の1つにより実行される処理ステップを別のコンポーネントにより実行してもよいことは当業者には理解されよう。したがって、図4は、複数のパートナー・コンピューティング装置間でファイルを管理するファイル管理コンポーネントの1つの可能な構成を示している。
概要として、結合ファイル空間リダイレクタ402は、複数のコンピューティング装置からのファイルに対して結合ファイル空間を提供する。ファイルシステムモニタ404は、結合ファイル空間内のファイルに対する、ファイル作成、ファイル削除、ファイルの名前変更、等のような動作を監視する。ファイルシステムモニタが動作を検出すると、当該ファイルシステムモニタは、動作イベントを同期マネージャ406に送る。同期マネージャ406は、結合ファイル空間内のそれぞれのファイルのファイル状態を更新し、全てのパートナー・コンピューティング装置に渡って同じファイルのファイル状態を追跡する。同期マネージャは、パートナー・コンピューティング装置と通信して、ファイルの変更を他のパートナー・コンピューティング装置に伝播する役割も担う。
キャッシュマネージャは、どのファイルをローカルにキャッシュし、どのファイルを「ゴースト」にするかを判定する。上述のように、ゴーストファイルは、ローカルに格納されたコンテンツをもたず、その代わり結合ファイル空間内にローカルに格納されたファイルに関連するメタデータをもつファイルである。メタデータには、ファイル名、ファイルサイズ、作成者、タイトル、作成日付、最終更新日付、等の任意数の項目を含めることができる。メタデータをゴースト・スタブに格納してもよく、そのゴースト・スタブは次いで結合ファイル空間に格納される。メタデータは、結合ファイル空間でのファイルのオフライン検索をサポートする。ファイルには、データファイルの形で格納したユーザーまたはアプリケーションの状態(例えば、レジストリ)、URLファイルとして格納したお気に入りのウェブリンク、アプリケーションデータファイル、プログラムファイル、等の任意の種類のファイルを含めることができる。
ファイル管理コンポーネント400はさらに、結合ファイル空間を使用するパートナー・コンピューティング装置を構成するパートナーシップ・ウィザード412を含むことができる。パートナーシップ・ウィザード・コンポーネント412により作成された構成データは、パートナーシップ・データ414として格納される。
図5に、結合ファイル空間内のファイルにどの状態を関連付けるかを判定することを支援するキャッシュ・ポリシー・フィルタの幾つかの例を示す。キャッシュ・ポリシー・フィルタは、データ構造、テキスト、等の様々な形態を取ることができる。異なるパートナー・コンピューティング装置が、異なるキャッシュ・ポリシー・フィルタをもつ可能性が高いことに留意されたい。これは一つには、異なるパートナー・コンピューティング装置が異なる記憶能力をもつことがあることに起因する。どのようなパートナー・コンピューティング装置上でも、結合ファイル空間内の全てのファイルをローカルにキャッシュすることは困難である。図4に示すキャッシュ・ポリシー・フィルタ410は、複数のキャッシュ・ポリシー・フィルタとキャッシュ・ポリシー優先順位リストを含む。
キャッシュ・ポリシー・フィルタの例に対して、各キャッシュ・ポリシー・フィルタは、フィルタ名510、ファイルリスト512、およびフィルタ規則514を含むことができる。フィルタ名510は、キャッシュ・ポリシー・フィルタの1つを一意に識別する。ファイルリスト512は、キャッシュ・ポリシー・フィルタが適用されるファイルを含む1つまたは複数のフォルダを識別する。フィルタ規則514は、ファイルをフィルタリングする基準を識別する。フィルタ規則は、ファイルタイプ、時間規則、ファイルサイズ、等の幾つかのカテゴリによるものとすることができる。例えば、フィルタ規則に、「ファイルの修正日付が過去1年以内である」、「ファイルのアクセス日付が過去3ケ月以内である」、等を含めることができる。ファイルの各々をローカルに格納することが望ましい場合は、フィルタ規則514を「なし」として指定することもできる。さらなる改良版では、各ポリシー・フィルタに、ファイルに対して行うある動作を特定する専用動作516を含めてもよい。例えば、当該専用動作は、大規模なメディアファイルを大規模な記憶容量をもたないパートナーのモバイル・コンピューティング装置にキャッシュするために有用な「トランスコード・ダウン(transcode down)」であってもよい。以上のフィルタ規則は幾つかのフィルタ規則の例を示すものであって、包括的なものではない。他の多くのフィルタ規則がキャッシュ・ポリシー・フィルタとして想定されている。
さらに、ユーザー定義のキャッシュ・ポリシー・フィルタに対して一組の組込みのキャッシュ・ポリシー・フィルタを提供することができる。当該ユーザー定義のキャッシュ・ポリシー・フィルタおよび一組の組込みのキャッシュ・ポリシー・フィルタを優先順位リストへと優先順位を付けることができる。図5に示したポリシー・フィルタの例502〜506を用いると、優先順位リストは次のように、1)最近の仕事用ファイル、2)過去6ケ月に購入したお気に入りの音楽、および3)モバイル形式の最近のホームビデオ、することができる。後で説明するように、各キャッシュ・ポリシー・フィルタに対して、キャッシュマネージャは結合した作業空間にフィルタ規則を適用して、フィルタリングされたファイルリストを生成する。次に複数のファイルリストを優先順位に基づいて連結し、そのファイルリストを使用して、割り当てた記憶容量までローカル結合ファイル空間を埋めることができる。記憶容量に収まらない低優先順位のファイルは、ゴーストになる。
別の実施形態では、キャッシュマネージャにより、第三者がフィルタ規則に対するプラグインを登録することを可能とし、特定の第三者のファイルに対して規則を作成できるようにすることができる。例えば、第三者は以下の2つのフィルタ規則、すなわち、1)ファイルタイプがMIDIであり、およびMIDI形式はタイプ1であること、ならびに2)ファイルタイプがPDFであり、かつ作成者がTom Doeであること、を登録することができるかもしれない。
(コンポーネントの実装に適したプロセスの例)
以下のフロー図は、図4に示したファイル管理コンポーネントを実装するために使用できるプロセスの例を提供する。これらのフロー図における動作の順序は、説明したものと異なってもよく、図示したもの以外の追加の処理を含んでもよい。さらに、複数のコンピューティング装置からのファイルを管理するための一実施形態を実装するめに、フロー図に示した全ての処理を実行する必要はない。
以下のフロー図は、図4に示したファイル管理コンポーネントを実装するために使用できるプロセスの例を提供する。これらのフロー図における動作の順序は、説明したものと異なってもよく、図示したもの以外の追加の処理を含んでもよい。さらに、複数のコンピューティング装置からのファイルを管理するための一実施形態を実装するめに、フロー図に示した全ての処理を実行する必要はない。
図6は、パートナー・コンピューティング装置をアカウントに追加するときに生じるパートナーシップ・データを作成するプロセス600の一実施形態を示すフロー図である。プロセス600は判定ブロック602で始まり、ブロック602で、パートナー・コンピューティング装置が既にアカウントに関連付けられているかどうかを判定する。パートナー・コンピューティング装置の特定のユーザーのために特定のパートナー・コンピューティング装置に対してプロセス600を初めて実行したとき、処理はブロック604に続く。
ブロック604でアカウントを作成する。アカウントは、他の識別されたパートナー・コンピューティング装置との間でファイルを共有したい各パートナー・コンピューティング装置を識別する。各アカウントは、各パートナー・コンピューティング装置に対するパートナーシップ・データを含み、当該パートナーシップ・データは構成データおよびキャッシュ・ポリシー・フィルタを含む。処理はブロック606に続く。
ブロック606で、パートナーシップ・データを、プロセス600を開始したパートナー・コンピューティング装置に対して作成する。一実施形態では、パートナーシップ・データを入力するためのユーザーインターフェース要素を表示することができる。しかし、様々な機構を使用して、パートナーシップ・データを生成することができる。ブロック608で、パートナー・コンピューティング装置を識別する名前を入力することができる。当該名前は、分かりやすい名前、GUID、等とすることができる。ブロック610で、ローカルフォルダのリストを識別することができる。当該リストは、結合ファイル空間に含めるべき(すなわち、「共有すべき」)フォルダおよびその対応するマッピングされた位置を識別する。デフォルトでは、フォルダのリストに、パートナー・コンピューティング装置に存在する既知のフォルダを自動的に含めることができる。例えば、「ドキュメント」、「ミュージック」、「ピクチャ」、および「ビデオ」を自動的に結合ファイル空間へとマッピングすることができる。これらの既知のフォルダはパートナー・コンピューティング装置上で実行しているオペレーティングシステムに依存してもよく、オペレーティングシステム間で異なってもよいことは当業者には理解されよう。
ブロック612で、1つまたは複数のキャッシュ・ポリシー・フィルタを作成または修正することができる。ローカル・パートナー・コンピューティング装置に関連するキャッシュ・ポリシー・フィルタは、一組の組込みのキヤッシュ・ポリシー・フィルタを含むことができる。さらに、高度な技術を有するユーザーは独自の追加のキャッシュ・ポリシー・フィルタを作成することができる。プロセス600は、キャッシュ・ポリシー・フィルタを作成するためのユーザーインターフェースを提供することができ、ファイルを読んでキャッシュ・ポリシー・フィルタを作成することができ、またはキャッシュ・ポリシー・フィルタを作成するための他の任意の機構を提供することができる。
ブロック614で、キャッシュ・ポリシー・フィルタの優先順位リストを識別することができる。優先順位リストは、ポリシー・フィルタのランキングである。ユーザーは、リスト内のポリシー・フィルタを追加または削除することができるだけでなく、フィルタの優先順序も再構成することができる。ブロック616で、結合ファイル空間の最大記憶容量を設定することができる。最大記憶容量を、ローカル・パートナー・コンピューティング装置のユーザーにより設定するか、1つまたは複数の基準に基づいて自動的に設定することができる。例えば、最大記憶容量を、パートナー・コンピューティング装置上で使用可能な空き記憶容量の合計に基づいて計算することができる。さらに、最大記憶サイズを判定するため、他の基準に基づく他の自動型の技術を想定している。最大記憶容量により、結合ファイル空間のサイズが判定される。処理はブロック618に続く。
ブロック618で、ローカル・パートナー・コンピューティング装置に対するサブフォルダを作成する。一実施形態では、当該サブフォルダをユーザーのログイン・ルート・フォルダに作成することができる(例えば、c:\Users\somebody\MyStuffまたはc:\Documents and Settings\somebody\MyStuff)。ユーザーのログイン・ルート・フォルダは、コンピューティング装置のオペレーティングシステムに依存することに留意されたい。別の実施形態では、サブフォルダの位置を指定するために所定の位置を作成してもよい。そうすると、当該所定の位置を使用して、パートナー・コンピューティング装置の各々に対してサブフォルダを追加する位置を判定することができる。処理はブロック620に続く。
ブロック620で、構成データおよびローカル・キャッシュ・ポリシーを保存する。一実施形態では、構成データおよびキャッシュ・ポリシー・フィルタは、ローカルにオンラインで保存される。さらに、構成データおよびキャッシュ・ポリシー・フィルタを複製し、アカウントに関連する各パートナー・コンピューティング装置に保存することができる。
アカウントが既に存在しユーザーが新たなパートナー・コンピューティング装置をアカウントに追加したい場合、処理は判定ブロック602からブロック630へ続く。ブロック630で、アカウントに関連するパートナーに対するパートナーシップ・データをダウンロードする。ブロック632で、ダウンロードしたパートナーシップ・データ中で識別した各パートナーに対して、サブフォルダを作成する。ブロック634で、ローカル・キャッシュ・ポリシーを設定するためにブロック614で使用される、パートナー・コンピューティング装置により保存したユーザー定義のキャッシュ・ポリシー・フィルタをダウンロードすることができる。次に処理は上術のようにブロック606に続く。ブロック612で、ダウンロードしたユーザー定義のキャッシュ・ポリシー・フィルタを追加して、ローカル・パートナー・コンピューティング装置に対するキャッシュ・ポリシーを作成できることに留意されたい。
プロセス600は、パートナーの削除、ローカルマシンのキャッシュ・ポリシーの変更、ローカル結合ファイル空間内のマッピングの追加もしくは削除、または結合ファイル空間の記憶容量の変更などの、パートナーシップの保守タスクも含むことができる。図6ではこれらの保守タスクを個別に示していないが、図6に示したブロックを単独で実行してもよいことは当業者には理解されよう。例えば、ブロック612を単独で実行してローカル・キャッシュ・ポリシー・フィルタを修正することができ、およびブロック616を単独で実行してローカル結合ファイル空間の最大記憶容量を修正することができる。
図7は、キャッシュ・ポリシー・フィルタを適用して、共有と指定したファイルをパートナー・コンピューティング装置上の結合ファイル空間に追加する方法を判定するプロセス700の、一実施形態を示す動作フロー図である。プロセス700は、ローカル・パートナー・コンピューティング装置が別のパートナーとしてアカウントに追加されるときに起こることができる。さらに、プロセス700を、ある期間オフラインであった後にオンラインになったとき、パートナー・コンピューティング装置により実行してもよい。オンラインになったパートナー・コンピューティング装置は、アカウントに関連する各パートナー・コンピューティング装置に対してファイルの列挙を要求することができる。プロセス700はブロック702で始まり、ブロック702で、パートナーのローカルなファイル空間に対するファイル列挙要求を受け取る。処理はブロック704に続く。
ブロック704で、変更されたか新規のものである各列挙されたファイルに対してブロック706〜718を実行する。ブロック706で、キャッシュ・ポリシー・フィルタを、前述のキャッシュ・フィルタの優先順位リストに基づいて選択し、列挙されたファイルに適用する。判定ブロック708で、ファイルをキャッシュ・ポリシー・フィルタに基づいて追加/更新すべきかどうか判定する。ファイルを追加/更新すべきでないと判定された場合、処理は判定ブロック710に続く。
判定ブロック710で、キャッシュ・ポリシー・フィルタがフィルタ優先順位リスト内にまだあるかどうか判定する。別のキャッシュ・ポリシー・フィルタがある場合、処理はブロック712に続き、そこで次のキャッシュ・ポリシー・フィルタを取得する。処理は次に一巡してブロック706に戻り、上述のように続く。判定ブロック710で全てのキャッシュ・ポリシー・フィルタが適用済みである場合、処理はブロック716に続き、ブロック716でファイルをゴーストファイルとして追加/更新する。ファイルをゴーストファイルとして追加/更新することには、ファイルに関するメタデータを取得し、ファイルのコンテンツを結合ファイル空間に格納する代わりに、当該メタデータを結合ファイル空間に格納すること(ブロック718)が関与する。
判定ブロック708で、ファイルを追加/更新すべきと判定された場合、処理はブロック714に続く。ファイルを結合ファイル空間に追加/更新するプロセスを図8に示す。
図8は、ファイルを結合ファイル空間に追加または更新するプロセス800の一実施形態を示す動作フロー図である。プロセス800はブロック802で始まり、ブロック802で、追加/更新すべきファイルを取得する。処理は判定ブロック804に続く。
判定ブロック804で、ファイルを追加/更新すると結合ファイル空間の記憶空間を超過するかどうか判定する。ユーザーが記憶空間のサイズを設定できること、またはローカル・コンピューティング装置のリソースに基づいて計算できるデフォルトのサイズをユーザーが受け入れることができることに留意されたい。ファイルの追加/更新により最大記憶空間を超過しない場合、処理はブロック810に続き、ブロック810で、ファイルのコンテンツのコピーをローカル結合ファイル空間に格納する。そうすると、ファイルを追加/更新する処理は完了する。
ここでブロック804に戻り、ファイルの追加/更新により結合ファイル空間の記憶容量を超過すると判定された場合、処理はブロック806に続き、ブロック806で、結合ファイルのリストを分析して、優先順位が最も低いキャッシュ・ポリシーをもつ1つまたは複数のファイルを判定する。次にこの1つまたは複数のファイルを選択して、ゴーストとすることができる。別の実施形態では、結合すると合計で所定の容量となる複数のファイルを選択することができる。複数のファイルを選択することにより、ブロック806に関連するオーバヘッドを最小化することができる。処理はブロック808に続く。
ブロック808で、選択したファイル(単数または複数)をゴーストにする。上述のように、ファイルをゴーストにすると、ファイルのコンテンツを結合ファイル空間に格納する代わりに、メタデータが当該ファイル用の結合ファイル空間に格納される。次に、ブロック810で、追加または更新すべきファイルのコンテンツのコピーを、ローカル結合ファイル空間に格納する。そうすると、プロセス800は完了する。
図9は、結合ファイル空間内のファイルを削除するプロセス900の一実施形態を示す動作フロー図である。プロセス900はブロック902で始まり、ブロック902でファイルの状態をチェックする。上述のように、ファイルには、キャッシュ、ゴースト、およびマスタの3つの状態がある。処理は判定ブロック904に続く。
判定ブロック904で、ファイルがマスタファイルであるかどうか判定する。ファイルがマスタファイルである場合、処理はブロック906に続き、ブロック906でファイルを破棄する。一実施形態では、ファイルをローカルなごみ箱に移動することにより破棄することができる。そうすると、処理が完了する。ファイルがマスタファイルでない場合、処理は判定ブロック908に続く。
判定ブロック908で、ファイルがキャッシュファイルかどうか判定する。ファイルがキャッシュファイルである場合、処理はブロック910および912に続く。ブロック910で、キャッシュファイルをゴーストにする。ブロック912で、ゴーストファイルを破棄する。そうすると、キャッシュファイルに対する処理は完了する。ファイルがキャッシュファイルでない場合、ファイルはゴーストファイルであり、処理は上述のようにブロック912に続く。
以上のプロセスにより、不慮の削除からファイルを回復できるが、それでも結合ファイルシステム内の不要な空間が消費されないことに留意されたい。
図10は、結合ファイル空間においてファイルを開くプロセス1000の一実施形態を示す動作フロー図である。プロセス1000はブロック1002で始まり、ブロック1002でファイルの状態をチェックする。ここでも、ファイルにはキャッシュ、ゴースト、およびマスタの3つの状態がある。キャッシュおよびマスタのファイル状態をもつファイルは、それ自体のファイルコンテンツをローカルに格納している。処理は判定ブロック1004に続く。
判定ブロック1004で、ファイルのコンテンツがローカルに格納されているかどうか判定する。コンテンツがローカルに格納されている場合、処理はブロック1006に続き、ブロック1006で、ファイルにアクセスしてファイルを開く。そうすると、プロセス1000はこのファイルに対して完了する。ファイルのコンテンツがローカルに存在しない場合、処理はブロック1008に続く。
ブロック1008で、ファイルのコンテンツを取得する。一実施形態では、これを、ファイルのコンテンツを得るためのSendFile要求をパートナー・コンピューティング装置に送ることで達成する。処理はブロック1010に続く。
ブロック1010で、結合ファイル空間に格納したメタデータをコンテンツで置換し、ファイルの状態をキャッシュに変更する。次に、ブロック1012でファイルにアクセスできる。そうすると、処理はこのファイルに対して完了する。
(パートナー・コンピューティング装置に対する一実施形態)
図11は、ファイル管理コンポーネント1122の一実施形態を実装できるパートナー・コンピューティング装置1100の機能ブロック図である。パートナー・コンピューティング装置1100は、1つの基本構成では、少なくとも処理装置1102とメモリ1104とを含む。コンピューティング装置の正確な構成と種類に応じて、メモリ1104は(RAM等の)揮発性、(ROM、フラッシュメモリ、等の)不揮発性、またはその2つの何らかの組合せとすることができる。システムメモリ1104は、一般にオペレーティングシステム1120、1つまたは複数のアプリケーション1124を含み、プログラムデータ(図示せず)を含んでもよい。メモリ1104は、ファイル管理コンポーネント1122も含む。この基本構成を点線1106により図11に示す。
図11は、ファイル管理コンポーネント1122の一実施形態を実装できるパートナー・コンピューティング装置1100の機能ブロック図である。パートナー・コンピューティング装置1100は、1つの基本構成では、少なくとも処理装置1102とメモリ1104とを含む。コンピューティング装置の正確な構成と種類に応じて、メモリ1104は(RAM等の)揮発性、(ROM、フラッシュメモリ、等の)不揮発性、またはその2つの何らかの組合せとすることができる。システムメモリ1104は、一般にオペレーティングシステム1120、1つまたは複数のアプリケーション1124を含み、プログラムデータ(図示せず)を含んでもよい。メモリ1104は、ファイル管理コンポーネント1122も含む。この基本構成を点線1106により図11に示す。
さらに、コンピューティング装置1100は、他の特徴および機能性を含んでもよい。例えば、コンピューティング装置1100は、(取り外し可能および/または取り外し不可能な)追加の記憶装置を含んでもよい。この記憶装置には、磁気ディスクもしくは光ディスクまたは磁気テープもしくは光テープが含まれるが、これらに限定されない。図11では、このような追加の記憶装置を取り外し可能な記憶装置1108および取り外し不可能な記憶装置1110により示してある。コンピューター読み取り可能な記憶媒体には、コンピューター読み取り可能な命令、データ構造、プログラムモジュールまたは他のデータ等の情報を記憶するための任意の方法または技術で実装した揮発性および不揮発性媒体、取り外し可能および取り外し不可能な媒体の両方が含まれる。メモリ1104、取り外し可能な記憶装置1108および取り外し不可能な記憶装置1110は、すべてコンピューター読み取り可能な記憶媒体の例である。コンピューター読み取り可能な記憶媒体には、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD−ROM、DVD(Digital Versatile Disk)もしくは他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または、所望の情報を記憶するために使用でき、かつコンピューティング装置1100によってアクセスすることができる他の任意の媒体が含まれるが、これらに限定されない。このような任意のコンピューター読み取り可能な記憶媒体は、コンピューティング装置1100の一部とすることができる。
コンピューティング装置1100は、コンピューティング装置1100が1つまたは複数のコンピューターおよび/またはアプリケーション1118と通信することを可能とする1つまたは複数の通信接続1116を含む。装置1100は、キーボード、マウス、ペン、音声入力装置、タッチ入力装置、等の入力装置(単数または複数)1114も含むことができる。モニタ、スピーカ、プリンタ、PDA、携帯電話、および他種のデジタルディスプレイ装置等の出力装置(単数または複数)1112を含んでもよい。これらの装置は当技術分野で周知であり、ここでは詳細に説明する必要はない。
上述のプロセスを、ソフトウェアまたはファームウェアでのコンピューター実行可能な命令を用いて実装することができるが、プログラム可能なロジック、電子回路、等の他の方法で実装してもよい。幾つかの代替実施形態では、動作のうちある特定のものを人間の限定的な介入により実行してもよい。さらに、本プロセスは他の実施形態を排除するものとして解釈すべきではなく、例示としてのみ提供されている。
本発明の主題事項を構造的特徴および/または方法論的動作に固有の言語で説明したが、添付の特許請求の範囲で定義される本発明の主題事項は、必ずしも説明した特定の特徴または動作に必ずしも限定されないことを理解されたい。むしろ、特定の特徴および動作は、添付の特許請求の範囲を実装する形態の例として開示されている。
Claims (20)
- 複数のコンピューティング装置上のファイルを管理するためのコンピューター実行可能な命令を有するコンピューター読み取り可能な媒体であって、前記コンピューター実行可能な命令は、実行時に、
複数のパートナー・コンピューティング装置(102〜110)を識別するアカウントを作成するステップ(604)であって、前記複数のパートナー・コンピューティング装置は、ローカル・パートナー・コンピューティング装置(210)と少なくとも1つのリモート・パートナー・コンピューティング装置(204)とを含むステップと、
少なくとも1つのリモート・パートナー・コンピューティング装置から1つまたは複数のファイル(116)を特定する、ローカル・コンピューティング装置上の結合ファイル空間(114)を提供するステップと、
基準が満たされる場合(706)、前記リモート・コンピューティング装置にある前記ファイルのコンテンツを前記結合ファイル空間にキャッシュするステップ(714)と、
前記基準が満たされない場合、前記ファイルに関連するメタデータを前記結合ファイル空間に格納するステップ(718)と
を含む方法を実施することを特徴とするコンピューター読み取り可能な媒体。 - 前記基準は、前記ファイルの前記コンテンツをキャッシュすべきかどうかを判定する少なくとも1つのキャッシュ・ポリシー・フィルタを備えることを特徴とする請求項1に記載のコンピューター読み取り可能な媒体。
- 前記結合ファイル空間は、前記複数のパートナー・コンピューティング装置の各々に関連するサブフォルダを伴うルートフォルダとして編成されることを特徴とする請求項1に記載のコンピューター読み取り可能な媒体。
- 前記ローカル・パートナー・コンピューティング装置に関連する前記サブフォルダは、前記ローカル・パートナー・コンピューティング装置上のローカルフォルダから別名をつけられるファイルを含むことを特徴とする請求項3に記載のコンピューター読み取り可能な媒体。
- 前記基準は、前記結合ファイル空間に関連する使用可能な記憶容量に基づくことを特徴とする請求項1に記載のコンピューター読み取り可能な媒体。
- 前記アカウントを作成するステップは、前記パートナー・コンピューティング装置のいずれかにあるアカウントにログインするために使用されるアカウントに名前を関連付けるステップを含むことを特徴とする請求項1に記載のコンピューター読み取り可能な媒体。
- 前記アカウントを作成するステップはさらに、フォルダのリストと、前記リスト内の各フォルダに対してそれぞれマップされた位置とを特定するステップを含むことを特徴とする請求項6に記載のコンピューター読取可能媒体。
- 前記アカウントを作成するステップはさらに、前記ファイルのメタデータまたはコンテンツのどちらが格納されるかを判定するために適用される複数のキャッシュ・ポリシー・フィルタの優先順位リストを作成するステップを含むことを特徴とする請求項7に記載のコンピューター読み取り可能な媒体。
- パートナーシップ・コンピューティング装置のいずれかによりアクセスするための、前記アカウントに関連するパートナーシップ・データを保存するステップをさらに備えることを特徴とする請求項1に記載のコンピューター読み取り可能な媒体。
- 前記パートナー・コンピューティング装置がオンラインになったときに、前記パートナー・コンピューティング装置の1つに対するユーザーデータを同期するステップをさらに備えることを特徴とする請求項1に記載のコンピューター読み取り可能な媒体。
- 複数のパートナー・コンピューティング装置間でファイルを同期するコンピューター実装型の方法であって、
リモート・コンピューティング装置(110)からのファイルにフィルタを適用するステップ(706)であって、前記リモート・コンピューティング装置は、前記複数のパートナー・コンピューティング装置(102〜110)の1つであるステップと、
前記ファイルが前記ローカル・コンピューティング装置に関連するキャッシュ・ポリシー・フィルタ(706)を通った場合(708)に、前記ファイルをローカル・コンピューティング装置(102)の結合ファイル空間(102)にキャッシュするステップ(810)であって、前記ローカル・コンピューティング装置は、前記複数のパートナー・コンピューティング装置の1つであるステップと、
前記ファイルが前記キャッシュ・ポリシーを満たさない場合、前記ファイルに関連するメタデータを前記結合ファイル空間に格納するステップ(718)と
を含むことを特徴とする方法。 - 前記メタデータは前記ファイルに関する一組の情報を含み、前記ローカル・コンピューティング装置がオフラインであるとき、前記メタデータにより前記ファイルに関する詳細を検索中に取得できることを特徴とする請求項11に記載のコンピューター実装型の方法。
- 前記ファイルを開く要求を受け取ったとき、前記メタデータを前記ファイルのコンテンツで置換するステップをさらに含むことを特徴とする請求項11に記載のコンピューター実装型の方法。
- 前記キャッシュ・ポリシーは、キャッシュ・ポリシー・フィルタの優先順位リストを備え、前記ファイルが前記キャッシュ・ポリシー・フィルタのいずれか1つを通った場合に前記ファイルは前記キャッシュ・ポリシーを満たすことを特徴とする請求項11に記載のコンピューター実装型の方法。
- より高いキャッシュ優先順位をもつ別のファイルをキャッシュするための十分な空間が前記結合ファイル空間にない場合、前記ファイルを前記結合ファイル空間から除去し、前記ファイルに関連するメタデータで前記ファイルを置換するステップをさらに含むことを特徴とする請求項11に記載のコンピューター実装型の方法。
- 複数のパートナー・コンピューティング装置間でユーザーデータを同期するように構成されたコンピューティング装置であって、
プロセッサ(1102)と、
メモリ(1104)であって、前記メモリから結合ファイル空間(112)を割り当て、前記メモリに複数の命令(1122)をロードし、前記複数の命令は、
前記結合ファイル空間内の複数のファイルの各々に関連する複数の動作を監視するように構成されたファイルシステムモニタ(404)と、
前記結合ファイル空間内でどのファイルをキャッシュし、およびどのファイルをゴーストとするかを判定するように構成されたキャッシュマネージャ(408)と、
前記キャッシュマネージャが前記1つのファイルをキャッシュすべきと判定した場合は、前記ファイルの1つに関連するコンテンツをリモート・コンピューティング装置から取り出し、前記キャッシュマネージャが前記1つのファイルをゴーストとすべきと判定した場合は、前記1つのファイルに関連するメタデータを前記リモート・コンピューティング装置から取り出すように構成された同期マネージャ(406)であって、前記リモート・コンピューティング装置が前記複数のパートナー・コンピューティング装置の1つである同期マネージャと、
を備える、メモリと
を備えることを特徴とするコンピューティング装置。 - 前記キャッシュマネージャは、キャッシュ・ポリシー・フィルタの優先順位リストを利用して、前記1つのファイルをキャッシュすべきかゴーストとすべきかを判定することを特徴とする請求項16に記載のコンピューティング装置。
- 前記動作がゴーストファイルを開く要求を示す場合、前記同期マネージャは前記ゴーストファイルに対するコンテンツを関連するリモート・コンピューティング装置から取り出し、前記ゴーストファイルを前記コンテンツで置換することを特徴とする請求項16に記載のコンピューティング装置。
- 前記結合ファイル空間は、階層型組織構造を有することを特徴とする請求項16に記載のコンピューティング装置。
- 前記階層型組織構造は、前記パートナー・コンピューティング装置の各々に対して別々のサブフォルダを備えることを特徴とする請求項19に記載のコンピューティング装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/710,800 US7930270B2 (en) | 2007-02-26 | 2007-02-26 | Managing files on multiple computing devices |
PCT/US2008/052234 WO2008106260A1 (en) | 2007-02-26 | 2008-01-28 | Managing files on multiple computing devices |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010519637A true JP2010519637A (ja) | 2010-06-03 |
Family
ID=39717100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009550613A Withdrawn JP2010519637A (ja) | 2007-02-26 | 2008-01-28 | 複数のコンピューティング装置上のファイル管理 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7930270B2 (ja) |
EP (1) | EP2115687A4 (ja) |
JP (1) | JP2010519637A (ja) |
CN (1) | CN101622639B (ja) |
WO (1) | WO2008106260A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013531296A (ja) * | 2010-06-24 | 2013-08-01 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ハイブリッド・メモリ・サーバにおけるデータ・アクセス管理 |
US8954490B2 (en) | 2010-06-24 | 2015-02-10 | International Business Machines Corporation | Speculative and coordinated data access in a hybrid memory server |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9239686B2 (en) * | 2003-07-22 | 2016-01-19 | Sheng Tai (Ted) Tsao | Method and apparatus for wireless devices access to external storage |
US20060101064A1 (en) | 2004-11-08 | 2006-05-11 | Sharpcast, Inc. | Method and apparatus for a file sharing and synchronization system |
US8959248B2 (en) * | 2008-02-22 | 2015-02-17 | Microsoft Corporation | Personal computing environment with virtual computing device |
US9032295B1 (en) * | 2008-03-19 | 2015-05-12 | Dropbox, Inc. | Method for displaying files from a plurality of devices in a multi-view interface and for enabling operations to be performed on such files through such interface |
US9141483B1 (en) | 2008-03-27 | 2015-09-22 | Dropbox, Inc. | System and method for multi-tier synchronization |
US8650498B1 (en) | 2009-05-04 | 2014-02-11 | SugarSync, Inc. | User interface for managing and viewing synchronization settings in a synchronization system |
KR101755421B1 (ko) * | 2011-01-10 | 2017-07-10 | 삼성전자주식회사 | 클라이언트 장치를 이용한 호스트 장치의 파일 정보 시스템 편집 방법 및 시스템 |
US10057318B1 (en) | 2012-08-10 | 2018-08-21 | Dropbox, Inc. | System, method, and computer program for enabling a user to access and edit via a virtual drive objects synchronized to a plurality of synchronization clients |
US9633125B1 (en) * | 2012-08-10 | 2017-04-25 | Dropbox, Inc. | System, method, and computer program for enabling a user to synchronize, manage, and share folders across a plurality of client devices and a synchronization server |
US20140189063A1 (en) * | 2012-12-27 | 2014-07-03 | Dropbox, Inc. | Content delivery via an online synchronized content management system |
FR3015071B1 (fr) * | 2013-12-12 | 2015-12-11 | Wooxo | Procede de synchronisation de donnees entre un ensemble de terminaux |
US10146437B2 (en) | 2014-03-17 | 2018-12-04 | Primaryio, Inc. | Tier aware caching solution to increase application performance |
US10133488B2 (en) * | 2014-03-17 | 2018-11-20 | Primaryio, Inc. | Apparatus and method for cache provisioning, configuration for optimal application performance |
CN104537518A (zh) * | 2014-12-18 | 2015-04-22 | 四川联友电讯技术有限公司 | 基于群组的企业移动办公系统 |
US10001913B2 (en) * | 2015-04-01 | 2018-06-19 | Dropbox, Inc. | Shared workspaces with selective content item synchronization |
US9922201B2 (en) | 2015-04-01 | 2018-03-20 | Dropbox, Inc. | Nested namespaces for selective content sharing |
US10963430B2 (en) * | 2015-04-01 | 2021-03-30 | Dropbox, Inc. | Shared workspaces with selective content item synchronization |
US9479567B1 (en) | 2015-10-29 | 2016-10-25 | Dropbox, Inc. | Synchronization protocol for multi-premises hosting of digital content items |
US10691718B2 (en) | 2015-10-29 | 2020-06-23 | Dropbox, Inc. | Synchronization protocol for multi-premises hosting of digital content items |
US9537952B1 (en) | 2016-01-29 | 2017-01-03 | Dropbox, Inc. | Apparent cloud access for hosted content items |
US11334596B2 (en) | 2018-04-27 | 2022-05-17 | Dropbox, Inc. | Selectively identifying and recommending digital content items for synchronization |
US11290531B2 (en) | 2019-12-04 | 2022-03-29 | Dropbox, Inc. | Immediate cloud content item creation from local file system interface |
US11921680B2 (en) * | 2020-07-13 | 2024-03-05 | Red Hat, Inc. | Speedup containers in production by ignoring sync to file system |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060129627A1 (en) * | 1996-11-22 | 2006-06-15 | Mangosoft Corp. | Internet-based shared file service with native PC client access and semantics and distributed version control |
US6023706A (en) * | 1997-07-11 | 2000-02-08 | International Business Machines Corporation | Parallel file system and method for multiple node file access |
US6571245B2 (en) * | 1998-12-07 | 2003-05-27 | Magically, Inc. | Virtual desktop in a computer network |
US7165096B2 (en) * | 2000-12-22 | 2007-01-16 | Data Plow, Inc. | Storage area network file system |
US6938042B2 (en) * | 2002-04-03 | 2005-08-30 | Laplink Software Inc. | Peer-to-peer file sharing |
US6947940B2 (en) * | 2002-07-30 | 2005-09-20 | International Business Machines Corporation | Uniform name space referrals with location independence |
US7743022B2 (en) * | 2003-02-28 | 2010-06-22 | Microsoft Corporation | Method and system for synchronizing data shared among peer computing devices |
US7496607B2 (en) * | 2003-08-29 | 2009-02-24 | Yahoo! Inc. | Method and system for maintaining synchronization between a local data cache and a data store |
US7567987B2 (en) * | 2003-10-24 | 2009-07-28 | Microsoft Corporation | File sharing in P2P group shared spaces |
US20050091595A1 (en) * | 2003-10-24 | 2005-04-28 | Microsoft Corporation | Group shared spaces |
US7395446B2 (en) * | 2004-05-03 | 2008-07-01 | Microsoft Corporation | Systems and methods for the implementation of a peer-to-peer rule-based pull autonomous synchronization system |
US20050273486A1 (en) * | 2004-06-03 | 2005-12-08 | Keith Robert O Jr | Virtual distributed file system |
US7685128B2 (en) * | 2004-06-10 | 2010-03-23 | International Business Machines Corporation | Remote access agent for caching in a SAN file system |
US20060041527A1 (en) * | 2004-08-03 | 2006-02-23 | Aaron Fessler | Virtual file system |
US7660809B2 (en) * | 2005-01-31 | 2010-02-09 | Microsoft Corporation | Using a file server as a central shared database |
US7392263B2 (en) * | 2005-02-28 | 2008-06-24 | Microsoft Corporation | File system represented inside a database |
US20060242206A1 (en) * | 2005-04-22 | 2006-10-26 | Microsoft Corporation | System and method for peer to peer synchronization of files |
US20060248040A1 (en) * | 2005-05-02 | 2006-11-02 | Nokia Corporation | System and method for adaptive remote file caching |
-
2007
- 2007-02-26 US US11/710,800 patent/US7930270B2/en active Active
-
2008
- 2008-01-28 CN CN2008800059737A patent/CN101622639B/zh active Active
- 2008-01-28 JP JP2009550613A patent/JP2010519637A/ja not_active Withdrawn
- 2008-01-28 EP EP08714052A patent/EP2115687A4/en not_active Withdrawn
- 2008-01-28 WO PCT/US2008/052234 patent/WO2008106260A1/en active Application Filing
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013531296A (ja) * | 2010-06-24 | 2013-08-01 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ハイブリッド・メモリ・サーバにおけるデータ・アクセス管理 |
US8898324B2 (en) | 2010-06-24 | 2014-11-25 | International Business Machines Corporation | Data access management in a hybrid memory server |
US8914528B2 (en) | 2010-06-24 | 2014-12-16 | International Business Machines Corporation | Multiplexing users and enabling virtualization on a hybrid system |
US8954490B2 (en) | 2010-06-24 | 2015-02-10 | International Business Machines Corporation | Speculative and coordinated data access in a hybrid memory server |
US9069977B2 (en) | 2010-06-24 | 2015-06-30 | International Business Machines Corporation | Hybrid server with heterogeneous memory |
US9418235B2 (en) | 2010-06-24 | 2016-08-16 | International Business Machines Corporation | Hierarchical pre-fetch pipelining in a hybrid memory server |
US9542322B2 (en) | 2010-06-24 | 2017-01-10 | International Business Machines Corporation | Data access management in a hybrid memory server |
US9857987B2 (en) | 2010-06-24 | 2018-01-02 | International Business Machines Corporation | Hierarchical pre-fetch pipelining in a hybrid memory server |
US9933949B2 (en) | 2010-06-24 | 2018-04-03 | International Business Machines Corporation | Data access management in a hybrid memory server |
US9952774B2 (en) | 2010-06-24 | 2018-04-24 | International Business Machines Corporation | Hierarchical pre-fetch pipelining in a hybrid memory server |
US10222999B2 (en) | 2010-06-24 | 2019-03-05 | International Business Machines Corporation | Hierarchical pre-fetch pipelining in a hybrid memory server |
US10228863B2 (en) | 2010-06-24 | 2019-03-12 | International Business Machines Corporation | Hierarchical pre-fetch pipelining in a hybrid memory server |
US10235051B2 (en) | 2010-06-24 | 2019-03-19 | International Business Machines Corporation | Data access management in a hybrid memory server |
US10452276B2 (en) | 2010-06-24 | 2019-10-22 | International Business Machines Corporation | Hierarchical pre-fetch pipelining in a hybrid memory server |
US10585593B2 (en) | 2010-06-24 | 2020-03-10 | International Business Machines Corporation | Data access management in a hybrid memory server |
US10592118B2 (en) | 2010-06-24 | 2020-03-17 | International Business Machines Corporation | Hierarchical pre-fetch pipelining in a hybrid memory server |
US10831375B2 (en) | 2010-06-24 | 2020-11-10 | International Business Machines Corporation | Hierarchical pre-fetch pipelining in a hybrid memory server |
Also Published As
Publication number | Publication date |
---|---|
EP2115687A1 (en) | 2009-11-11 |
US20080208870A1 (en) | 2008-08-28 |
EP2115687A4 (en) | 2012-08-15 |
US7930270B2 (en) | 2011-04-19 |
WO2008106260A1 (en) | 2008-09-04 |
CN101622639B (zh) | 2013-12-25 |
CN101622639A (zh) | 2010-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2010519637A (ja) | 複数のコンピューティング装置上のファイル管理 | |
JP7050931B2 (ja) | クライアント同期更新の効率的な管理 | |
US8332357B1 (en) | Identification of moved or renamed files in file synchronization | |
US10289692B2 (en) | Preserving file metadata during atomic save operations | |
JP7150830B2 (ja) | クライアントデバイスによって実施されるコンテンツ管理システムのワークフロー機能 | |
US20100057785A1 (en) | Minimal extensions required for multi-master offline and collaboration for devices and web services | |
US9031906B2 (en) | Method of managing data in asymmetric cluster file system | |
JP7374232B2 (ja) | コンテキスト付きのコンテンツ・アイテム共有 | |
US20220103565A1 (en) | Team member transfer tool | |
JP7407275B2 (ja) | 同期のためのローカルデバイスフォルダのコンテンツ管理システムへのバインディング | |
US9934240B2 (en) | On demand access to client cached files | |
CN107408239B (zh) | 通过多个邮箱在通信应用中进行海量数据管理的架构 | |
AU2017256162A1 (en) | Storage constrained synchronization engine | |
JP2020502605A (ja) | プレースホルダーを介したコンテンツ管理システムの履歴コンテンツアイテムへのアクセス | |
JP2021521502A (ja) | コンテンツアイテム内のコンテキストで表示されるコメントプレビュー | |
US20080270453A1 (en) | Keyword-based content management | |
JP2023547439A (ja) | 非同期動作のための意図トラッキング |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20101215 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20121004 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121017 |