JP4255373B2 - ネットワークファイルシステムのための管理および同期化アプリケーション - Google Patents

ネットワークファイルシステムのための管理および同期化アプリケーション Download PDF

Info

Publication number
JP4255373B2
JP4255373B2 JP2003500739A JP2003500739A JP4255373B2 JP 4255373 B2 JP4255373 B2 JP 4255373B2 JP 2003500739 A JP2003500739 A JP 2003500739A JP 2003500739 A JP2003500739 A JP 2003500739A JP 4255373 B2 JP4255373 B2 JP 4255373B2
Authority
JP
Japan
Prior art keywords
item
work item
version
file system
information
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.)
Expired - Lifetime
Application number
JP2003500739A
Other languages
English (en)
Other versions
JP2005507100A (ja
JP2005507100A5 (ja
Inventor
キルノス,イルヤ
Original Assignee
オラクル・インターナショナル・コーポレイション
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by オラクル・インターナショナル・コーポレイション filed Critical オラクル・インターナショナル・コーポレイション
Publication of JP2005507100A publication Critical patent/JP2005507100A/ja
Publication of JP2005507100A5 publication Critical patent/JP2005507100A5/ja
Application granted granted Critical
Publication of JP4255373B2 publication Critical patent/JP4255373B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • G06F16/1787Details of non-transparently synchronising file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Document Processing Apparatus (AREA)

Description

発明の分野
この発明はネットワークファイルを管理するためのアプリケーションに関する。特に、この発明の実施例は、同期化のためにファイルシステムへの変更を検出することに関係する。
発明の背景
多数のファイルシステムが全く同じ内容を含んでいる場合、それらのファイルシステムは「同期している」と言われる。ファイルシステムを同期した状態に保つために、同期化アプリケーションがファイルシステム間の違いを検出し、次にその違いをなくすよう動作を実行する。通常、同期化アプリケーションは、同じファイルの異なるコピーにアクセスする必要がある、異なるコンピュータのファイルシステムを同期させるために使用される。互いに同期されるべき1組のファイルシステムはここで「同期化セット」と呼ばれる。所与の同期化セットに属する各ファイルシステムは「同期システム」と呼ばれる。
同期化セットを同期させる行為は同期化動作と呼ばれる。各同期化動作中、同期化アプリケーションは通常、以前の同期化動作以降に任意の同期システムにおいていつ項目が削除されたかまたは追加されたかを検出しようとする。
一般に、同期化アプリケーションは、以前の同期化動作以降に任意の同期システムに追加されていると検出された項目を、すべての同期システムへ追加しようとする。同様に、同期化アプリケーションは、以前の同期化動作以降に任意の同期システムから削除されていると検出された項目を、すべての同期システムから削除しようとする。
通常、同期化アプリケーションは(1)他の項目のコピーである追加項目と(2)オリジナルとして作成された追加項目とを区別しない。加えて、改名された項目が変更された場合、元の項目が削除されて新規項目が追加されたように見える。したがって、元の項目がすべての同期システムにおいて削除されるかもしれず、新規の変更された項目がすべての同期システムに追加される。また、これに代えて、同期化アプリケーションは、変更された項目と変更されていない項目の双方をともに同じファイル内に置くかもしれない。
現行の同期化手法の下では、ユーザがある項目に対して多数の動作を実行し、次にその項目を別のものと同期させようとする場合、アプリケーションはその項目を、変更されたかまたは新規であるとして検出する。アプリケーションは、その項目に対して実行された特定の動作を検出できないであろう。その結果、同期化動作が、あるファイルを別のものの代わりに削除したり、または、元のファイルが同じファイルシステム内にある状態で、変更されたファイルを記憶されるよう追加するかもしれない。
同期化動作はしばしば、著しい量の資源消費を伴う。たとえば、同期化アプリケーションがある同期システムへの新規ファイルの追加を検出した場合、他のすべての同期システムへの新規ファイルの内容のデータ転送が必要とされる。ファイルが大きい場合、および/または同期システムの数が多い場合、資源消費はかなりのものとなり得る。
現行の同期化手法での別の問題は、新規ファイルまたは置換されたファイルが、ファイルシステムに対するそれらの転送または再作成の前からのメタデータ情報を保持していないということである。このため、時刻T1で作成されたファイルが変更される場合、そのファイルが元々時刻T1で作成されたという事実は、同期化アプリケーションが、変更されたファイルを新規ファイルとして、元のファイルを削除されたファイルとして扱う場合によって損失されるであろう。
発明の概要
この発明の実施例は、同期されるべき第1のファイルシステムに対して実行された1つ以上の動作を検出可能なアプリケーションを提供する。同期化アプリケーションは、第1のファイルシステムの検出された動作を用いて、第2のファイルシステムを更新する。
この発明の一実施例は、項目のコピー、項目の移動、新規項目の作成、項目の削除、および項目の編集を含む、第1のファイルシステムにおける動作を検出可能である。この発明の一実施例は、第1のファイルシステムに対して実行された多数の動作も検出する。検出された動作は、同期化動作中、第2のファイルシステムに対して再現されてもよい。
この発明の実施例で説明される同期化手法は、使用される他の同期化プロセスよりも、被るオーバーヘッドが少ない。さらに、この発明の実施例は、同期化されたファイルについてのメタデータ情報を保存する同期化手法を提供しており、これはそのような情報の損失を被る他の同期化プロセスとは対照的である。
この発明を添付図面の図において、限定のためではなく例示のために説明する。図中、同じ参照符号は同様の要素を指す。
発明の詳細な説明
ファイルを管理するための方法および装置を記載する。以下の記載では、説明のため、この発明の完全な理解を提供するために多数の特定の詳細が述べられている。しかしながら、この発明がこれらの特定の詳細なしで実践されてもよいことは明らかである。他の場合、この発明を不必要に不明瞭にするのを避けるために、周知の構造および装置をブロック図の形で示す。
提供される利点の中でも、この発明の実施例は、同期システムに属するファイル項目へ実行された特定の行為を識別する同期化動作が実行されることを可能にする。同期化動作中、特定の動作は他の同期システムの対応するファイル項目に対して再現される。その結果、ファイル項目が単にどこか変更または移動されただけである多くの場合において、そのようなファイル項目の完全な転送が回避され得る。結果として通信資源が節約される。加えて、他の同期システムの対応するファイル項目は、それらの項目についてのメタデータ情報を失うことなく更新され得る。
A.機能概要
一実施例では、1つ以上のクライアント端末がサーバ上のファイルシステムにアクセス可能である。1つ以上のファイルがファイルシステムからダウンロードされ、クライアント端末上で処理され得る。特に、ユーザはダウンロードされたファイルの内容に対して、文書の編集、項目の削除、ファイル用の新規文書の作成、ファイル内の項目の移動または項目のコピー、もしくはこれらの行為の組合せを含むある行為を実行してもよい。一実施例の下では、ダウンロードされたファイルに対して実行された行為を管理システムが検出する。管理システムは次に、ダウンロードされたファイルをファイルシステムの対応する
部分と同期させる。
ここに記載するように、ファイルシステムは、多数のクライアント用に多くのファイルを保持する管理システム全体の一部である。クライアントはファイルシステムの一部のみをダウンロードしてもよい。ファイルシステムの一部は、ディレクトリ、サブファイル、アプリケーション、実行ファイル、文書、および異なるデータ種類の個々の資源などの項目を含んでいてもよい。
ファイルシステムの一部がクライアントによってダウンロードされる場合、結果として生じるローカルファイルは作業バージョンと呼ばれる。作業バージョンは、クライアント用にダウンロードされるよう選択されたファイルシステムの一部から項目をコピーする。情報が、作業バージョンについての比較ファイル内に、それが作成される際に記録される。比較ファイルは、ダウンロードされたファイルシステムの一部についての情報も含んでいてもよい。この情報は、ファイル項目を識別するためにその後使用され得るメタデータ情報と、作業バージョンが作成された後でそれになされた修正とを含む。作業バージョンが修正された後、作業バージョンは、作業バージョンをダウンロードするために使用されたファイルシステムの一部と同期され得る。比較ファイル内に記録された情報を用いて、作業バージョンへなされた変更が検出される。
ここで用いられるように、用語「項目」への言及は、ファイルシステム内で維持および/または管理可能なデータ構造を意味する。上述のように、項目は、ディレクトリ、ファイル、アプリケーション、実行ファイル、文書、および異なるデータ種類の個々の資源を含む。項目は特定のデータ種類の文書または資源を含んでいてもよい。たとえば、第1の項目はワープロ文書であってもよく、第2の項目はその文書を他の資源とともに記憶するフォルダであってもよい。
一実施例の下では、比較ファイルに含まれる情報は主としてメタデータ情報である。メタデータ情報は、特定の項目についての位置情報、作成時刻、修正時刻、項目の大きさ、およびファイル名を含んでいてもよい。
位置は、メモリアドレスおよびコンピュータ位置によって識別可能である。位置情報は、コンピュータ上の項目の記憶位置を識別するために使用可能なデータを指す。位置情報はファイル名または資源名を含んでいてもよい。位置情報は、メモリ内の特定の項目の位置を特定するファイル経路も含んでいてもよい。
この発明の実施例は、ファイルを管理するシステムおよび方法を含む。一実施例によれば、第1の同期化動作の後、情報がファイルシステムから比較ファイルへマッピングされる。その情報は、第1の同期化動作後の第1の項目のステータスについての情報を含む。たとえば、比較ファイル内の情報は、第1の同期化動作の後、第1の項目が第1の位置に位置したことを示してもよい。ファイルシステム情報を比較ファイルへマッピングすることに加え、ファイルシステムの作業バージョンが作成される。初めに、作業バージョンは第1の項目が第1の位置にあることを示す。作業バージョンに含まれる情報は、第1の同期化動作後に第1のファイルのステータスへなされたあらゆる変更を反映するよう修正される。その後の第2の同期化動作中、ファイルシステムの作業バージョンに示された位置は、比較ファイルに示された位置と比較され、第1の同期化動作と第2の同期化動作の合間に第1の項目が移動されたかどうかが判断される。
一実施例では、ファイルシステム内の第1の項目は、新しい位置情報によって識別可能な新しい位置へ移動されてもよい。したがって、第1の作業項目が移動される場合、ファイルシステムは第1の作業項目を再作成しなくてもよい。むしろ、ファイルシステムは、
第1の作業ファイルに対応する第1の項目を、ファイルシステム内の対応する位置へ移動させることができる。以前の同期化アプリケーションとは対照的に、この発明のそのような実施例は、第1の作業項目が、作業バージョン上で移動されたというだけの理由で、ファイルシステムの新しい部分として再作成されることを必要としない。その結果、第1の作業項目の内容のデータ転送が不必要であるため、通信資源が保存される。さらに、ファイルシステム内の第1の項目についてのメタデータ情報が保存される。
この発明の別の実施例は、ファイルシステムについての情報を比較ファイルへマッピングする。作業バージョンはファイルシステムの一部から作成される。同期化動作中、比較ファイルと作業バージョンとを用いて、最後の同期化動作以降に項目がコピーされたかどうかが判断される。
この発明の別の実施例は、ネットワーク管理アプリケーションを動作可能なコンピュータシステムを提供する。このコンピュータシステムは、第2のコンピュータと通信をやり取りするためのネットワークインターフェイスを含む。この通信は、第2のコンピュータ上でアクセス可能なファイルシステム部分の作業バージョンを作成することになっている。第1のコンピュータは、作業バージョンを記憶するメモリを含む。第1のコンピュータ上のプロセッサは、作業バージョン内の少なくとも1つの作業項目についての作成時刻を記録し、第1の作業項目はファイルシステムの第1の項目から生じている。プロセッサはその後、作成時刻を用いて、第1の作業項目に対して動作が実行されたかどうかを判断する。
他の利点の中でも、この発明の実施例は、作業バージョンが作成された後である項目が新しい位置へ移動されたかどうか、作業バージョンが別のファイルから作成された際にある項目が作業バージョン内に存在する別の項目からコピーされたかどうか、または、ある項目が作業バージョンの作成後に作業バージョンに追加された項目からコピーされたかどうかを検出可能である。この発明の一実施例の下で検出可能な他の動作は、項目が編集されたかどうか、または作業バージョンから削除されたかどうかを含む。この発明の一実施例は、作業バージョン内の項目に対してまたは項目のために実行された多数の動作も検出可能である。
結果として、作業バージョンを作成するために使用されたファイルシステムの一部は、作業バージョンにおけるその後の変更を反映するよう更新され得る。しかしながら、作業バージョン項目によってその後更新されるファイルシステム内の項目は、作業バージョン項目によってすべて置換されたりまたは再作成される必要はない。むしろ、同期化方法またはアプリケーションは、作業バージョンの対応する項目への変更、または作業バージョンへの項目の追加を反映するようにファイルシステムを更新可能である。別の利点は、作業バージョン内で動作されるファイルシステム項目がそれらの起源を追跡する情報を維持できるということである。その結果、ファイルシステムは、作業バージョンに対して実行された動作のみを反映するよう更新可能である。
B.システム概要
図1は、この発明の一実施例の下で、コンピュータ間で共有されるファイルを管理するためのシステムを示す。このシステムは、ネットワーク15を介してサーバ20へ結合された第1の端末10を含む。複数の他の端末25もネットワーク15を通してサーバ20へ結合されていてもよい。第1の端末10は、サーバ20と通信するクライアントとして動作されてもよい。一実施例では、サーバ20と共有されるファイル項目および資源を管理するために、クライアントアプリケーションが第1の端末10上で動作可能である。
ユーザは第1の端末10を動作させて、1つ以上の資源および他の項目を含むファイル
システム40へサーバ20からアクセスしてもよい。ユーザがファイルシステム40の一部の借りられたまたは作業用のバージョン上で作業している間、ファイルシステム40の元々のバージョンはサーバ20上に残っていてもよい。図1によって説明されるようなシステムにより、ユーザは、遠隔サーバ20からアクセスされた項目に対して局所的に作業し、次に、第1の端末10上でそれらの項目へなされた変更を反映するよう、遠隔サーバ上のファイルシステム40を更新することができる。
一実施例では、端末10上のユーザは、サーバ20からアクセスされた項目に対して動作を実行可能である。これらの動作は、内容の編集、サーバから検索された特定の項目の削除、項目の新しい位置への移動、サーバ20から検索された項目のコピー、および、その後サーバ20上に含むための新規項目の追加を含んでいてもよい。加えて、この発明の一実施例により、ユーザは、項目に対して実行された動作の組合せを反映するよう、サーバ20を更新できるようになる。この発明の一実施例は、ユーザによって実行された動作の可能な組合せを、同等の複合動作へ削減させる。同等の複合動作は、項目を編集し、かつコピーすること、新規項目を作成し、次にそれらを編集および/またはコピーすること、および、既存の項目を編集し、次にそれらを編集することを含んでいてもよい。
一実施例では、端末10はネットワークインターフェイス12を用いてサーバ20と通信をやり取りする。一実現化例では、ネットワークインターフェイス12は、インターネットなどのネットワークを通した通信を可能とするためのインターネットプロトコル(IP)通信、および特に伝送制御プロトコル(TCP/IP)を可能とする。また、これに代えて、この発明の実施例は、ローカルエリアネットワーク(LAN)、および他の種類の広域ネットワーク(WAN)などのネットワークを通して、コンピュータ間で通信を伝送してもよい。
サーバ20は、ファイルシステム40を記憶するために、または他の方法で管理するために使用されてもよい。一実施例では、ファイルシステム40は複数の部分を含み、各々の部分はユーザまたはアカウントと関連している。ファイルシステム40の第1の部分46は、第1の端末10へまたは第1の端末10のユーザへアクセス可能な、サーバ20上に記憶されたファイルであってもよい。第1の部分46は、特定のデータ種類のファイルおよび資源などの複数の項目を含んでいてもよい。
第1の部分46の第1の項目44が図1に識別されている。説明のため、第1の項目44は文書などの資源であると仮定する。また、これに代えて、第1の項目44は他の項目を含むファイルであり得る。第1の項目44は、メタデータ情報および内容を含むかまたは他の方法でそれらと関連している。第1の項目44のメタデータ情報は、サーバ20のメモリ(図示せず)上の特定の位置(L1)を識別してもよい。第1の項目44のメタデータ情報は、サーバ20上の第1の位置(L1)を特定するために使用される位置識別情報(LI1)も含んでいてもよい。第1の項目44は資源であると仮定されているため、第1の項目44はメタデータ情報に関連する内容も含んでいる。
図示された一実施例では、第1の端末10は、ネットワークインターフェイス12およびネットワーク15を通して伝送された第1の通信32をサーバ20から受取る。第1の通信32はファイルシステム40の第1の部分46を含む。一実現化例では、第1の端末10を動作させるユーザは、第1の部分46へのアクセス権を有する。このアクセス権により、ユーザは、第1の項目44を含む第1の部分46の一部またはすべてをダウンロードするかまたは他の方法で検索することができる。ユーザは、第1の通信32を受取った後で、第1の部分46の作業バージョン50を作成できる。作業バージョン50は第1の部分46内の項目からの内容を含む。作業バージョン50についてのあるメタデータ情報が、サーバ20から転送されて第1の通信32に含まれてもよい。作業バージョン50が
作成される際、他のメタデータ情報が第1の端末10上で作成されてもよい。ファイルシステムから転送されるメタデータ情報は、たとえば、ある項目の位置を特定するためのファイル経路および名前などの位置情報を含んでいてもよい。
第1の通信32で伝送されたデータを用いて、少なくとも第1の作業項目56を含む作業バージョン50を作成してもよい。第1の作業項目56は、ファイルシステム40の第1の項目44から生じている。一実施例では、第1の作業項目56の内容部分58が第1の項目44の対応する内容部分48からコピーされているために、第1の作業項目56は第1の項目44から生じている。
ファイルシステム40から搬送され得るメタデータ情報は、第1の項目46の第1の位置情報(LI1)を含む。第1の位置情報(LI1)は、第1の端末10上の第1の作業項目56についての第2の位置(L2)を識別するために使用されてもよい。たとえば、第1の位置情報(LI1)はファイル経路および名前を含んでいてもよい。作業バージョン50上にファイル経路を再作成して、第1の作業項目56が第2の位置(L2)に位置づけられ得るようにしてもよい。名前も付加的な位置情報として転送されてもよい。多くのアプリケーションでは、名前はファイル経路の包含的部分である。
作業バージョン50が第1のコンピュータ10上で作成されると、新しいメタデータ情報が記録される。新しいメタデータ情報は、第1の作業項目56についてのある事象をマークする時刻値を含んでいてもよい。一実施例では、第1の時刻値62は第1の作業項目についての作成時刻に対応してもよい。第2の時刻値64は第1の作業項目56についての修正時刻に対応してもよい。第1の時刻値62および第2の時刻値64は、作業バージョン50が第1のコンピュータ10上で作成され次第、またはその直後に初期化される。一例として、ユーザがワープロ文書を第1の作業項目56としてダウンロードする場合がある。文書がダウンロードされると、第1の時刻値62(作成時刻)および第2の時刻値64(修正時刻)が、第1の端末10上のオペレーティングシステム(または他のアプリケーション)によって記録される。たとえば、第1の作業項目56が作成されると、第1の端末10は、作成時刻値と修正時刻値とを自動的に記録するウィンドウズ(R)タイプのオペレーティングシステムを実行してもよい。作成時刻とは、特定のコンピュータシステム上で特定の項目に割当てられた、その作成の時刻をマークする値である。作成時刻は、対応する作業項目を、その作業項目が新しいアドレスまたは新しい名前を有していてもその後識別するのに使用可能な静的な値として記憶される。修正時刻とは、作業項目に関連する、項目が編集または作成された最後の時点をマークする値である。修正時刻はしたがって、作業バージョン50がファイルシステム40からダウンロードされた後で変わり得る。
一実施例では、第1のコンピュータ10は比較ファイル70を維持するかまたは他の方法で比較ファイル70にアクセスして、メタデータ情報を記憶する。比較ファイル70に記憶されたメタデータ情報は、第1の作業項目56が第1のコンピュータ10上で作成される際に記録された新しいメタデータ情報と、ファイルシステム40の第1の項目44から搬送されたかもしれないあるメタデータ情報とを含んでいてもよい。
提供された例では、比較ファイル70は、第1の作業項目56および第1の項目44の第1の位置情報(LI1)、第1の作業項目56の第2の位置(L2)、第1の作業項目56の第1の時刻値62(作成時刻)、および第1の作業項目56の第2の時刻値64(修正時刻)を記憶する。第1の位置情報(LI1)はサーバから転送され、一方、比較ファイル70内の他のメタデータ情報は作業バージョン50の作成とともに作成される。作業バージョン50内の項目についての最初の時点でのメタデータ情報が作成され、比較ファイル70に記憶される。以下により詳細に説明するように、このメタデータ情報は、作
業バージョン50が作成された後で第1の作業項目56に対して実行された特定の動作を識別するために使用される。特定の動作を知ることにより、同期化がより効率よく実行され得る。
比較ファイル70が検出に使用され得る動作は、項目の編集、項目の移動、新規項目の作成、項目のコピー、項目の削除、およびそれらの組合せという動作を含む。比較ファイル70は、第1の通信32で伝送された各項目についてのメタデータ情報へのアクセスを提供する。動作が作業バージョン50に対して実行された後で、この発明の一実施例は、作業バージョン50の項目内のメタデータが比較ファイル70に対して比較されることを提供する。作業バージョン項目とファイルシステム項目との違いを判断するために、メタデータ情報の比較が、作業バージョン50に対して実行された動作を検出するために用いられる。比較を行なう際、作業バージョン50内の項目は、比較ファイル70により記録された対応する項目のメタデータとは異なるメタデータ情報を有すると検出されるかもしれない。加えて、作業バージョン50内の項目は、比較ファイル70により識別された対応する項目を有していないと検出されるかもしれない。比較を行なう際に識別された違いは注記され、作業バージョン50をファイルシステム40上の第1の部分46と同期させるために使用される。
この発明の一実施例の下では、第1の部分46は、他の端末25がサーバ20からアクセス可能な共有ファイルである。第1の部分46は、その一部が第1の端末10へ伝送された後で別のコンピュータにより変更され得る。他の端末25は、たとえば、第1の部分46内の項目にアクセスし、それに対して動作してもよく、そのため第1の部分46は、それが第1の端末10へ伝送された時点から変更される。作業バージョン50における変更を識別するための、共有されたファイルシステムとの比較を行なうために、第2の通信34がサーバ20から第1の端末10へ伝送される。第2の通信34は、同期化が第1の端末10で行なわれるべき時点でサーバ20上に存在するようなメタデータ情報を含む。一実施例では、同期化要求が第1の端末10からされ次第、第2の通信34が第1の端末10へ伝送される。
一実施例では、第1の端末10は同期化動作を実行する。同期化動作は、作業ファイル50の変更されたまたは追加された項目と第1の部分46の項目との間でメタデータ情報を比較してもよい。変更されたまたは追加された作業バージョン項目は、第1の端末のユーザが作業バージョン50に対して1つ以上の動作を実行した結果である。変更されたまたは追加されたファイルシステム項目は、他のユーザがファイルシステム40の彼らのバージョンに対して1つ以上の動作を実行した結果である。作業バージョン50と第1の部分46の項目との違いが識別され、第1の端末10のユーザによって調整される。この違いは調整されたメタデータ情報として記録される。一実施例では、調整されたメタデータ情報を第1の端末10からサーバ20へ伝送するために、第3の通信36が用いられる。調整されたメタデータ情報をサーバ20へ伝送して、作業バージョン50に対して実行された動作からの変更を反映するようにファイルシステム40を更新する1つ以上の動作をサーバ20に実行させてもよい。さらに、調整された情報がユーザ50によって表示され、ファイルシステム40を更新するのに使用される変更された項目をユーザが選択できるようにしてもよい。
別の実施例では、第1の部分46は他のユーザと共有されておらず、第1の端末10のユーザのみと共有されている。そのため、第2の通信34は必要でないかもしれない。むしろ、比較ファイル70は、同期化動作を実行し、調整されたメタデータ情報を識別するために使用される。同期化動作が第1の端末10上で実行された後で、次に調整されたメタデータ情報がサーバ20へ伝送される。調整されたメタデータ情報はサーバ20へ伝送されて、それに作業バージョン50の変更を用いてファイルシステム40を更新させるよ
うにする。
C.同期化動作
図2は、作業バージョン50を作成し、その後作業バージョン50(図1)をファイルシステム40の対応する部分と同期させるための方法を示す。図1の構成要素への言及は、用いられる例示的な構成要素をその実施例と通じさせるよう意図されている。図2で説明されるような一実施例では、第1のファイルシステム40は他のユーザと共有されていないと仮定されている。
ステップ210で、ファイルシステム40部分の作業バージョンが第1の端末10上へダウンロードされる。たとえば、第1の端末10はインターネットを通してサーバ20と接続していてもよい。第1の端末10のユーザは、ファイルシステム40の第1の部分46を識別するためのアカウントを有していてもよい。ファイルシステム40の第1の部分46は、第1の端末10上へダウンロードされるよう、ユーザにより選択可能である。
ステップ220で、作業バージョン50が作成される際に比較ファイル70が作成される。比較ファイルは作業バージョン50の初期メタデータ情報を記録する。そのメタデータ情報の一部はまた、ファイルシステム40の第1の部分46の項目から転送されてもよい。ステップ210および220は、作業バージョン50に影響を与え得るあらゆる動作に先立って、t=0で実行される。ステップ230−250はある時刻t=iたった後で起こり、そのためユーザは作業バージョン50に対する動作を既に実行したかもしれない。その時点で、ユーザは作業バージョン50をファイルシステム40と同期させる要求を行なっている。
ステップ230で、修正された作業バージョン50と比較ファイル70が作成された時点での作業バージョン50との違いが識別される。この違いはデルタ項目と呼ばれてもよい。デルタ項目は、後の時点での作業バージョン50内の新規項目、コピーされた項目、移動された項目、または修正された項目を含む。デルタ項目は、作業バージョン50に対応していない、比較ファイル70により識別された項目も含んでいてもよい。たとえば、第1の作業項目56は編集および移動を通して動作されるかもしれず、その場合、それは作業バージョン50におけるデルタ項目である。また、これに代えて、比較ファイル70は作業項目56を識別するものの、作業項目56は作業バージョン50から既に削除されているかもしれない。この場合、第1の作業項目56は比較ファイル70におけるデルタ項目である。同様に、比較ファイル70が作成された後で他の作業項目が作業バージョン50へコピーされるかまたは追加されるかもしれず、その場合、これらの項目は作業バージョン50におけるデルタ項目として識別される。
ステップ240で、作業バージョン50および比較ファイル70内の項目の違いが識別される。上述のように、これらの違いもデルタ項目と呼ばれる。
ステップ250で、作業バージョン50と比較ファイル70により識別された項目との間で識別された違いが調整される。調整のため、ファイルシステム40に更新を指示するためにデルタ項目が選択されてもよい。たとえば、デルタ項目が第1の作業項目56の編集バージョンである場合、その選択は、ファイルシステム40が第1の項目44の編集バージョンを含むべきかオリジナルバージョンを含むべきかを特定する。デルタ項目が作業バージョン50への追加項目(新規項目またはコピーされた項目など)である場合、その選択は、ファイルシステム40がこれらの追加を保持すべきかどうかを判断する。デルタ項目が新しい位置へ移動された第1の作業項目56である場合、その選択は、ファイルシステム40が第1の項目44についての新しい位置情報を使用すべきか、またはファイルシステムが古い位置を維持すべきかを判断する。デルタが作業バージョン50から削除さ
れた第1の作業項目56である場合、その選択は、ファイルシステム40が第1の項目44を削除すべきかどうかを特定する。同様の方法が、この出願の他のどこかで詳述されているように、動作の組合せを用いて実行されてもよい。
図3は、この発明の一実施例の下で、システム40が他のコンピュータと共有されている場合に、作業バージョン50をサーバ20上のファイルシステム40と同期させるための方法を詳述している。図3では、作業バージョン50は図2の一実施例で説明されたように作成されている。ステップ310で、作業バージョン50はファイルシステム40からダウンロードされる。ステップ320で、比較ファイル70が作成されて作業バージョン50およびファイルシステム40についてのメタデータ情報を記録する。ステップ330で、変更が作業バージョン50へなされる。ステップ340で、作業バージョン50と比較ファイル70により識別された項目との違いが識別される。デルタ項目と呼ばれるこれらの項目は、ある時点で1つ以上の動作を介して移動、削除、編集、および追加された作業バージョン項目を含んでいてもよい。
ステップ350で、第1の端末10のユーザがサーバ20で同期化要求を行なう。この時点までに、作業バージョン50は1つ以上の動作によりその元々の状態から修正されているかもしれない。
ステップ360で、第1の端末10上のファイルシステム40についての新しい情報が受取られる。作業バージョン50が第1の端末10上で作成された時点以降に、ファイルシステム40が他の端末によってアクセスされ、変更されたかもしれない。したがって、ファイルシステム40についての新しい情報は、他のユーザによりファイルシステム40の項目へなされた変更を識別するかもしれない。一実現化例では、ファイルシステム40についての情報はメタデータの形をしており、第1の端末10のユーザによりダウンロードされた第1の部分46の項目に独特のものであってもよい。メタデータ情報は、ダウンロードされた項目に対応するファイルシステム項目の位置情報を含んでいてもよい。加えて、ファイルシステム項目についての新しいメタデータ情報は時刻値を含んでいてもよい。たとえば、ファイルシステム40のデルタ項目を判断するため、同期化が要求された時点でのファイルシステム項目の作成時刻値および修正時刻値が、第1の端末10へ伝送されてもよい。
ステップ370で、更新ファイルシステム40と作業バージョンが作成された時点でのファイルシステムとの違い、つまりデルタ項目が検出される。これらのデルタ項目は、ステップ360で受取られた新しいメタデータ情報が、ステップ320で比較ファイルが作成された際に比較ファイル70により識別された項目と比較されることによって識別される。このステップで識別されたデルタ項目は、比較ファイル70によって、またはファイルシステム40について受取られた新しいメタデータ情報によって識別されてもよい。ファイルシステム40についての新しいメタデータ情報によって識別されたデルタ項目は、他のユーザにより移動または編集された項目に対応してもよい。加えて、ファイルシステム40のデルタ項目は、他のユーザにより第1の部分46へ追加された項目を、新規項目または他の項目のコピーとして含んでいてもよい。比較ファイル70によって識別されたデルタ項目は、作業バージョン50が第1のコンピュータ10上で作成された後でファイルシステム40から削除された項目を含む。
ステップ380で、ステップ340およびステップ370で識別されたデルタ項目について選択が行なわれる。選択はユーザによって行なわれてもよい。選択は比較ファイル70、作業バージョン50およびファイルシステム40のデルタ項目を特定してもよい。各デルタ項目について、選択はそのデルタ項目を残すべきか否かを判断してもよい。
ステップ390で、ステップ340および370で識別された違いの間の矛盾が検出され、解決される。たとえば、作業バージョン50内のある項目が編集される場合があり、そのためそれは、作業バージョン50が作成された時点での対応するファイルシステム項目と比較された場合に、デルタ項目として識別される。比較ファイル70において識別されたそのファイルシステム項目はその後、サーバ20へアクセスを有する別のコンピュータによって変更されるかもしれない。このため、2つのデルタ項目が、比較ファイル70により識別された同じ項目に関連するかもしれない。一実施例では、第1の端末10のユーザは、ファイルシステム40に含めるために2つのデルタ項目のどちらを使用すべきかを選択できる。
また、これに代えて、デルタ項目間での矛盾の選択は、各デルタ項目が同期化されたファイルシステム40へ取入れられるべきかどうかを選択する矛盾プロトコルを介して行なわれてもよい。
ステップ395で、選択されたデルタ項目を使用してファイルシステム40が更新される。ステップ340および370で識別された各デルタ項目は、ファイルシステムの更新において省略または包含されてもよい。ユーザは矛盾するデルタ項目間で選択できる。
図4は、この発明の別の実施例の下でサーバ20を動作させるための方法を示す。図4で説明されるような一実施例では、多数のユーザがサーバ20上の共有されるファイルシステムへアクセスすると仮定される。説明のため、図1を参照する。第1の端末10が同期化要求を行なっていると仮定する。ファイルシステム40の一部はサーバ20にアクセス可能な他のクライアント25と共有されている。
ステップ410で、共有されるファイルシステム40の一部が、第1の端末10およびクライアント25へ伝送される。各クライアントは別個に動作されて、共有されるファイルシステムの一部へアクセスし、それを受取ってもよい。
ステップ420で、同期化要求が第1の端末10から受取られる。同期化要求は、ファイルシステム40への変更を実施したいユーザと対応していてもよい。ユーザはまた、ファイルシステム40の一部をダウンロードした他のユーザから入力されたあらゆる変更を受取ることを望んでもよい。
ステップ430で、ファイルシステム40についての更新された情報が、同期化を要求しているクライアントへ伝送され得る。ファイルシステム40は、そのクライアントがファイルシステムをダウンロードした時点から更新されて、クライアント25から入力された変更を含んでいるかもしれない。
ステップ440で、サーバ20は、作業バージョン50に対して実行された動作の結果ファイルシステム40へなすべき変更についての情報を受取る。この変更は、編集、追加(新規項目およびコピー)、削除、および移動などの動作の結果であり得る。
ステップ450で、ファイルシステム40は、第1の端末10(同期化要求を行なっているクライアント)から伝送された変更を用いて更新される。更新される変更は、特定のユーザによって、その端末のファイルシステム40の作業バージョンに対する1つ以上の動作の実行後に決定される選択であってもよい。
ステップ460で、ファイルシステム40へアクセスする他の端末から他に要求が行なわれているか、またはこれから行なわれるかどうかについて判断が下される。同期の要求が他にある場合、要求を行なっている次のクライアントに対してステップ430−460
が繰返される。そのような実現化例の下では、共有されるファイルシステム40へのアクセスを有する各クライアントは、それへ付加的な変更を行なう。同期化要求が行なわれると、他のユーザによって行なわれた変更がファイルシステム40に取入れられる。したがってファイルシステム40は、クライアントのうちの1つでの各同期化動作の後で変わり、そのため次のクライアントは以前に更新されたファイルシステム40と同期している。
D.作業ファイルに対する動作の検出
図1の例示的な構成要素を参照すると、この発明の実施例は、作業バージョン50の項目とファイルシステム40の項目との同期化を、それらの項目が多数の異なる種類の動作を受けた後でも可能にする。作業バージョン50に対して実行可能な動作は、主要動作または複合動作として特徴付けられてもよい。一実施例の下では、ある項目に対して実行された多数の動作は、1組の同等の複合動作のうちの1つとして検出され得る。
一実施例では、主要機能は編集、削除、コピー、移動および新規作成である。編集動作は、作業バージョン50内の項目の内容が変更されることをもたらす。削除動作は、項目が作業バージョン50から除去されるようにする。コピー動作は、作業バージョン50内の項目の内容を、新規項目または追加項目として再作成する。移動動作は、作業バージョン50のある位置に位置する項目が、新しい位置を与えられるようにする。位置は、名前、メモリアドレスおよび記憶装置によって規定されてもよい。このように、移動動作は、項目を新しいフォルダ位置へ移動させるため、項目の名前を変えるため、または項目を新しい記憶装置へ移動させるために実行されてもよい。新規作成動作は、付加的な項目を作業バージョン50へ作成するために作業バージョン50上で実行される。
複合動作は、作業バージョン項目を作成するため、および/または作業バージョン項目に影響を与えるために、作業バージョン50上で実行される多数の動作の組合せである。この発明の実施例とは対照的に、以前の同期化システムは、主要動作のいくつかの実行を検知できるが、ある主要動作または動作の組合せを検知できない。この発明の実施例によって提供される利点により、作業バージョン50の個々の項目に対して実行されたすべての主要動作、および多数の動作の組合せの検出および同期化が可能になる。
ファイル管理の動作を説明するための分析的表現が、フォーマットaObを用いて説明されてもよい。ここで、大文字は動作を表わし、動作の前の項目は動作についての源を表わし、動作の後の項目は動作についての宛先を表わしている。主要動作を要約すると、以下のようになる。
Ex−−ファイルXを編集
Dx−−ファイルXを削除
Nx−−新規項目Xを作成
xMy−−XをYへ移動
xCy−−XをYとしてコピー
この発明の一実施例の下では、複合動作は、有限数の同等の複合動作へ削減および要約可能である。これらの要約を作成する際に用いられる原則のいくつかの例は、以下を含む。(1)項目が削除されている場合、その項目に対して実行された以前の動作は無視され得る。(2)ある項目の多数の移動は、最初の源から最後の宛先への1回の移動として扱われ得る。(3)動作の組合せに対して実行されたあらゆる移動動作は、他の動作に関して任意の順序で分析可能であり、そのため、移動が別の動作の前に実行されたと仮定することが、真の、かつ簡略化された結果を提供する。これらの原則を用いると、どの作業項目も9つの可能な動作または動作の組合せのうちの1つを受けると仮定することができ、ここで、動作の組合せは他の動作組合せの同等物である。作業バージョン50の項目に対して実行される動作は、5つの主要動作のうちの1つとして、または4つの同等の複合動
作のうちの1つとして、ファイルシステム40のために再現可能である。一実施例では、4つの同等な動作の組合せは以下のとおりである。
ExMy−−Xを編集し、それをYへ移動
(Nx)Cy−−Xを作成し、それをYとしてコピー
E((Nx)Cy)−−Xを作成し、それをYとしてコピーし、Yを編集
E(xCy)−−XをYとしてコピーし、Yを編集
挿入句は、どの同等の複合動作においても、最初に実行されるべきである。
図5は、この発明の一実施例の下で、ユーザが作業バージョン50をファイルシステム40と同期させるよう要求した時点で作業バージョン50内の項目について実行されている動作を検出するための方法を示す。図示されたような一実施例では、同期化の時点で作業バージョン50内の各項目につき10の可能な結果がある。つまり、変更なし、5つの主要動作、および4つの動作の同等の組合せである。
ステップ502で、ファイルシステム40の一部から作業バージョン50が作成される。ステップ504で、作業バージョン50についての情報を含む比較ファイル70が作成される。ステップ502および504は双方とも、任意の動作が作業バージョン項目について実行される前に(つまりt=0で)起こると仮定される。後の時点で(つまりt=fで)、ユーザがファイルシステムとの同期化を要求する。t=0とt=fとの間から、ユーザは作業バージョン50を変更する1つ以上の動作を実行してもよい。
同期化要求を受取ると、ステップ506で、比較ファイル70により識別され位置が特定された項目が作業バージョン50内の対応する項目と同じ位置を有しているかどうかについて、判断が行なわれる。最初に比較ファイル70が作られた際に、各項目の位置が記録される。このため、ステップ506は、比較ファイル70において識別された項目の位置がまだ特定可能かどうかを、その項目について最初に記録された位置情報を用いて判断する。
ステップ506が、比較ファイル70により識別された項目はまだ作業バージョン50内の同じ位置を有すると判断した場合、ステップ508が、その項目が比較ファイル70に記録された後で編集されたかどうかに関する別の判断とともに続く。ステップ508がその項目は編集されなかったと判断した場合、次にステップ510が、その特定の項目は作業バージョン50内で変更されなかったと結論付ける。ステップ508が特定の項目は編集されたと判断した場合、次にステップ512が、比較ファイル70により識別された項目を、編集されたとして注記する。
ステップ506が、比較ファイル70により識別された項目がその項目について記録された情報によって位置を特定されなかったと判断した場合、次にステップ514が、その項目が移動されたかどうかについての判断を行なう。判断がその項目は移動されなかったというものであれば、ステップ516がその項目を、削除されているとして注記する。判断がその項目は移動されたというものであれば、次にステップ518が作業バージョン50内の項目の新しい位置を注記する。次にステップ520で、移動された項目が編集もされたかどうかについての判断が行われる。判断が肯定的であれば、ステップ522で項目は、移動され、かつ編集されたとしてマークされる。
ステップ524は、比較ファイル70により識別された、チェックされるべき項目が他に残っているかどうかについての判断を行なう。前の項目が変更なしと判断された場合、ステップ524はステップ510に続く。前の項目が編集されているとして注記された場合、ステップ524はステップ512に続く。前の項目が削除されたとして注記された場
合、ステップ524はステップ516に続く。前の項目が移動されたとして注記された場合、ステップ524はステップ520に続く。前の項目が移動され、かつ編集されたとして注記された場合、ステップ524はステップ522に続く。ステップ524が、比較ファイル70により識別された項目が残っており、これらの項目はまだチェックされていないと判断した場合、次にステップ526が、比較ファイル70により識別された、チェックされるべき次の項目を提供する。次の項目について、この方法がステップ506から始まって繰返される。
ステップ524が、比較ファイル70により識別された、チェックされるべき項目が残っていないと判断した場合、ステップ528が、作業バージョン50に未チェックのまま残っている項目があるかどうか判断する。未チェックの項目とは、ステップ506−524で比較ファイル項目がチェックされた結果、チェックされなかった作業バージョン項目である。作業バージョン50に未チェックの項目がない場合、この方法は終了する。その他の場合、ステップ530で、作業バージョン50内に残った項目がチェック済とマークされる。
ステップ532は、作業バージョン50内の未チェック項目がコピーであるかどうかを判断する。判断が肯定的である場合、ステップ534はその項目をコピーとして注記する。ステップ536は、コピーされた項目が作業バージョン50内で新規作成された別の項目からコピーされたかどうかを判断する。
ステップ536での判断が否定的である場合、ステップ538が、コピーされた項目が作成後に編集もされたかどうかをステップ538で判断する。ステップ538での判断が肯定的である場合、ステップ540が、コピーされ、かつ編集されたと注記する。
ステップ536での判断が肯定的である場合、ステップ542で、その項目は新規かつコピーされたとしてマークされる。言換えれば、その項目は、作業バージョン50がファイルシステム40から作成された後で、オリジナルとして作成された別の項目からコピーされているとして注記される。ステップ544で、新規かつコピーされた項目が編集もされたかどうかについて判断がなされる。ステップ544での判断が肯定的である場合、その項目は、新規でコピーされかつ編集されたとして注記される。
ステップ532で判断がその項目はコピーではないというものである場合、次にステップ548でその項目は新規であるとして注記される。
ステップ554は、未チェックとしてマークされた項目が作業バージョン50内に残っているかどうかを判断する。ステップ544は、ステップ538での判断が否定的で項目はコピーされているとしてのみ注記される場合;項目はコピーされかつ編集されていると判断された場合にはステップ540;項目は新規のみであると判断された場合にはステップ548;ステップ544での判断が否定的で項目は新規かつコピーされていると判断された場合;および、項目は新規で編集されかつコピーされていると判断された場合にはステップ546というこれらのステップのうちの1つに続く。ステップ554が作業バージョン50に未チェック項目が残っていると判断した場合、ステップ556が次の未チェック項目へ反復する。それからこの方法が次の項目について、ステップ532から始まって繰返される。ステップ554が作業バージョン50に未チェック項目が残っていないと判断した場合、この方法は終了する。
図5の実施例によって示すように、同期化動作は、同期化される各項目について10の可能な結果を検出し得る。各項目は、ダウンロード以降変更なしと判断されるかもしれない(ステップ510)。その他の場合、同期化される各項目は、作業バージョン50が作
成された後でユーザにより実行された1つ以上の動作の結果であると判断され得る。5つの主要動作、つまり、編集(ステップ512)、移動(ステップ518)、削除(ステップ516)、新規作成(ステップ548)、およびコピー作成(ステップ534)が検出される。加えて、4つの複合動作、つまり、移動かつ編集(ステップ522)、新規かつコピー(ステップ542)、新規、編集かつコピー(ステップ546)、およびコピーかつ編集(ステップ540)が検出される。
一実施例では、作業バージョン項目が削除され、次に同じ名前および位置情報で再作成される特別の場合が起こり得る。そのような項目は、ステップ506がその特別な場合用にチェックを導入していれば、移動された項目というよりもむしろ新規項目として識別され得る。具体的には、再作成された項目の作成時刻値などの識別情報を用いて、その項目がステップ506において削除および再作成の対象とならなかったことをチェックしてもよい。
図6−9は、この発明の実施例の下で、図5において実行された動作を検出するためのさらなる詳細を提供するフローチャートを示す。図6は、ある項目が移動または削除されたかどうかを判断するための方法である。この発明の一実施例の下では、図6は図5のステップ514−518に対応していてもよい。
ステップ610では、作業バージョン50が第1の端末10上に作成される際、作業バージョン50内の各項目について第1の時刻値が記録される。一実施例では、第1の時刻値は項目の作成時刻に対応していてもよい。作成時刻は、ウィンドウズ(R)などのあるオペレーティングシステムの下で項目に付加される特性である。作成時刻は、第1の端末10上で作成された項目についての時刻値を、その項目が別のコンピュータからダウンロードされる際に記録してもよい。このため、作業バージョン50の項目がファイルシステム40からダウンロードされる際に、第1の端末10はその項目の作成時刻を記録してもよい。作成時刻は、1秒の1000分の1まで、または数倍大きい規模まで有意であってもよい。
ステップ620で、作業バージョン50の作成時に、各項目について位置情報が作成される。位置情報は、ファイルシステム40上または作業バージョン50上の項目の位置を特定するために使用可能なファイル経路または名前のセグメントに対応していてもよい。ステップ610および620の双方は、作業バージョン50が作成されるときに対応して、および任意の動作が実行される前に、t=0で起こる。第1の時刻値および初期位置情報は、比較ファイル70に位置してもよい。
ステップ620の後、同期化要求がなされたときまたはt=fで、フローチャートは前進する。ステップ630は、最初に(t=0で)記録された位置情報がt=fで作業バージョン50内の項目の位置を特定するかどうかを判断する。ステップ630での判断が肯定的である場合、次にステップ640がその項目を移動されていないとして記録する。判断が否定的である場合、ステップ650が続く。ステップ650は、t=fでの作業バージョン50内の任意の項目が、ステップ610で位置が未特定の項目について記録された時刻値と整合する、対応する第1の時刻値を有するかどうかを判断する。一実施例では、位置が未特定の項目の作成時刻に整合する作成時刻について、作業バージョン50内の他の項目がチェックされてもよい。
作成時刻が1秒の1000分の1またはさらに100万分の1を超えて実行され得ることを仮定すると、行方不明の項目と同じ作成時刻を有する作業バージョン50内の別の項目は、新しい位置にある、位置が未特定の項目であると仮定することができる。ステップ650での判断が肯定的である場合、ステップ660で、同じ時刻値を有する項目が移動
されているとして記録される。ステップ650が、行方不明の項目の作成時刻を有する項目が作業バージョン50内にないと判断した場合、ステップ670がその項目を、削除されているとして注記する。
図7は、この発明の一実施例の下で、作業バージョン50内の任意の項目が編集動作の対象となったかどうかを判断するためのフローチャートである。図7により図示される方法は、図5のステップ508、510および512に対応していてもよい。ステップ710で、作業バージョン50において第1の時刻値が識別される。時刻値はその項目の作成時刻に対応していてもよい。ステップ720で、第2の時刻値が同じ項目について、その項目の修正時刻に対応して識別される。前述のように、作成時刻および修正時刻は双方とも、ウィンドウズ(R)などのオペレーティングシステムによって自動的に記録される時刻値である。これらの時刻値は双方とも、1秒の1000分の1まで、またはさらにはるかに大きな精度の桁数まで有意であってもよい。このため、図7によって示すような実施例については、作成時刻および修正時刻は双方とも、その項目に固有のものであると仮定される。
ステップ730で、修正時刻が作成時刻と異なるかどうかについての判断がなされる。項目がオリジナル、コピーまたはダウンロードのいずれかとして作成されると、一実施例は、作成時刻と修正時刻とは同じであると規定する。このため、作成時刻と修正時刻とが異なっている場合、ステップ740がその項目を編集されたとして注記する。その他の場合、ステップ750がその項目を編集されていないとして注記する。
作成時刻と修正時刻とが当初、必ずしも全く同じではないものの、互いの範囲内にあるということは可能である。一実施例は、修正時刻が作成時刻の範囲外にあるかどうかを判断するようチェックしてもよい。
図8は、この発明の一実施例の下で、編集かつ移動という複合動作を識別するための方法である。一実現化例では、図8によって示すような方法が、図5のステップ514、518、520および522のサブステップとして使用されてもよい。
ステップ810で、作業バージョンがファイルシステム40からダウンロードされる際、作業バージョン50内の各項目について多数の時刻値が記録される。他の実施例において注記されているように、記録された時刻値のうちの第1のものは作成時刻に対応する。作成時刻は、作業バージョン50を使用しているコンピュータのオペレーティングシステムによって自動的に作成されてもよい。作成時刻および修正時刻は各々、比較ファイル70に記録され、対応する項目に関連付けられてもよい。
ステップ820で、作業バージョン50が作成される際に各項目について位置情報が記録される。位置情報は、作業バージョン50内の項目の位置を特定し得るファイル経路のセグメントを含んでいてもよい。位置情報は項目の名前も含んでいてもよい。作業バージョン内の各項目についての初期位置情報が比較ファイル70に記録されてもよい。
ステップ830で、最初に記録された位置情報がその後、作業バージョン50内の対応する項目の位置を特定できるかどうかについて判断がなされる。位置情報が対応する項目の位置を特定する場合、ステップ840で、その項目は移動されていないとして記録される。最初に記録された位置情報が対応する項目の位置を特定しない場合には、ステップ850において別の判断がなされる。ステップ850は、作業バージョン50内の別の項目が、位置が未特定の項目と同じ作成時刻を有するかどうかを判断する。この判断が否定的である場合には、ステップ860が、位置が未特定の項目を削除されたとして注記する。
その他の場合、ステップ870が、修正時刻がその項目についての作成時刻と整合するかどうかについての判断を行なう。ステップ870での判断が肯定的である場合、ステップ880で、その項目は移動のみされているとして注記される。ステップ870での判断が否定的である場合、ステップ890で、その項目は移動かつ編集されているとして注記される。
図9は、この発明の一実施例の下で、作業バージョン50内の未チェック項目に対する1つ以上の動作を検出するためのプロセスを示す。図9によって示すプロセスで、未チェック項目に対して実行される動作は、新規作成、コピー、および編集からなる群からの少なくとも2つの動作を含んでいてもよい。一実施例では、図9によって示すようなプロセスが、図5のステップ532−546のサブステップを形成してもよい。
ステップ910−980は、同期化が要求された時点で、作業バージョン50内の個々の未チェック項目に対して実行される。ステップ910−980は、作業バージョン50上で実行されたかもしれない他の動作を検出するためにある他のステップが既に実行された、ということを仮定している。具体的には、910−980は作業バージョン50内の未チェック項目に対して実行される。図5に示すように、未チェック項目とは、比較ファイル70によって識別された項目が作業バージョン50の項目と比較された後で残された項目である。未チェック項目はしたがって、作業バージョン50が作成された後で作成されたと仮定され得る。このため、未チェック項目はコピーおよび/または新規項目である。未チェック項目は、作成された後で編集もされているかもしれない。
ステップ910で、作業バージョン内の各未チェック項目について時刻値が記録される。作業バージョン50がダウンロードされた後で作成された項目については、作成時刻は、ユーザがその項目を作成し、それをダウンロードされた項目とともに作業バージョン50に記憶させた時点に対応していてもよい。作成時刻は、作業バージョン50内の各未チェック項目に、固有の識別子を提供すべきである。加えて、作業バージョン50内の各項目についての修正時刻が記録される。修正時刻は、対応する項目が編集されるたびに変わる。しかしながら、項目が編集されない場合、修正時刻は、その同じ項目についての作成時刻と同じであるかまたは非常に近いものであるべきである。一実施例では、作業バージョン50内の各項目についての作成時刻が、その項目について比較ファイル70に記憶された作成時刻と整合する、ということが仮定できる。
ステップ920は、各未チェック項目についての修正時刻が比較ファイル70に記憶された項目のうちの1つの修正時刻と整合するかどうかを判断する。一実施例は、コピーの修正時刻はそのオリジナルの修正時刻と同じであると規定する。この特徴は、第1の端末10上で動作されるアプリケーションを通して実現されてもよい。一実施例では、第1の端末10は、この属性または特徴を含むオペレーティングシステムを動作させる。そのようなオペレーティングシステムの一例はウィンドウズ(R)タイプのオペレーティングシステムである。
判断が肯定的である場合、ステップ930が、その項目はもともとファイルシステム40からダウンロードされた別の項目のコピーとして作成されているとして注記されると規定する。編集動作が修正時刻を変更しているため、その項目はその後編集されなかったと仮定され得る。判断が否定的である場合には、ステップ940が続く。
ステップ940は、未チェック項目の修正時刻が作成時刻の前であるかどうかを判断する。修正時刻が作成時刻の後である場合、ステップ950が、その項目を別の項目のコピーとして注記する。これは、別の項目のコピーはオリジナルの修正時刻を保持するものの、作成時に新しい作成時刻を割当てられるためである。ステップ940は、コピーとして
作成された項目がその後編集されたかどうかを判断するのには使用できない。なぜなら、それは修正時刻を作成時刻の後になるよう変更するからである。
修正時刻が作成時刻の後である場合、ステップ960が、修正時刻が作成時刻と整合するかどうかについての判断を行なう。項目が新規としてまたは別の項目のコピーとして作成されている場合、修正時刻と作成時刻とは全く同じであるか、またはオペレーティングシステムの構成もしくは作業バージョン50に影響を与える他のアプリケーションに依存して若干異なるかもしれない。ステップ960からの判断が肯定的である場合、ステップ970が、その項目は新規項目を作成する動作の結果として作成されていると規定する。
ステップ960からの判断が否定的である場合、ステップ980が、その項目は編集され、新規でかつおそらくコピーでもあると規定する。このため、ステップ980は2つの可能性を提供する。この時点で、修正時刻と作成時刻とは、2つの可能性を区別するためには使用できない。2つの可能性間で解決するため、一実施例が、ステップ980で識別された全項目も内容整合の1つ以上のステップの対象となると規定してもよい。ファイルが新規でかつ編集されているか、または新規でコピーされかつ編集されているかを判断するために、アルゴリズムを用いて、ステップ980における全ファイルの内容を、作業バージョン50内の新規であるとして識別された他のファイルの内容と比較してもよい。その前提は、後者が、新規であるとして識別された別の項目と同様の内容を有するであろうということであってもよい。
E.ユーザインターフェイス
図10は、この発明の一実施例で使用されるユーザインターフェイス1000を示す。ユーザインターフェイス1000により、ユーザは、異なるコンピュータ上で変更された同じ項目間で選択できるようになる。たとえば、図1を参照すると、第1の端末10上のユーザは、ファイルシステム40からダウンロードされた作業バージョン項目に対して動作を実行してもよい。ファイルシステム40は共有されてもよいため、他のユーザがネットワークを通してそれにアクセスするかもしれない。他のユーザがファイルシステム40内のある項目に対して動作を行なう一方、第1の端末10上のユーザがその対応する作業バージョン項目に対して動作を行なうかもしれない。同期化要求が行なわれると、矛盾が提示されるかもしれない。作業バージョンの変更された項目に対応するファイルシステム項目は、ファイルシステム40にアクセスした別のユーザによってすでに変更されている。
この発明の一実施例により、同期化要求を行なうユーザは、ファイルシステム40内の項目と対応する作業バージョン50内の項目との間で選択できるようになる。また、一実施例により、要求を行なっているユーザは、他のコンピュータにより更新されたファイルシステム項目と、同期化要求を行なっているコンピュータ上の作業バージョン項目との間の矛盾をいかに解決するかを選択できるようになる。
ユーザインターフェイス1000は、第1の列1110と第2の列1120とを含む。第1の列は、第1のコンピュータ10上のデルタ項目についての情報を提供する。第2の列1120は、ファイルシステム40のデルタ項目についての情報を提供する。ファイルシステム40のデルタ項目は、更新されたファイルシステムを比較ファイル70と比較することによって識別されてもよい。第1の列1110の第1の部分1125は、作業バージョン50のデルタ項目を識別する。第2の列1120の第1の部分は、他のユーザによって更新されたような、ファイルシステム40のデルタ項目を識別する。第1の列1110の第2のセグメント1118は、作業バージョン50のデルタ項目に対して実行された動作または同等の複合動作を識別する。同様に、第2の列1120の第2のセグメント1128は、更新されたファイルシステムのデルタ項目に対して実行された動作または同等
の複合動作を識別する。第2のセグメント1128に列挙された動作は、共有されるファイルシステム40へアクセスする他者により実行されたと仮定される。
第1の列1110および第2の列1120に列挙された各デルタ項目について、ユーザは、変更を保持するかまたは項目をそのままファイルシステム40上に維持するかを選択してもよい。第1の列110に列挙されたデルタ項目が第2の列1120のデルタ項目と矛盾する場合、ユーザはその矛盾をいかに解決するかを決定してもよい。たとえば、ファイルシステム40内のある項目が作業バージョン50上へダウンロードされ、その後作業バージョン50内で動作される場合がある。ダウンロードされた同じ項目が別のコンピュータによってアクセスされ、異なる態様で動作されるかもしれない。同期化要求がなされると、その要求をしたコンピュータは矛盾を提示される。そのコンピュータのユーザはその矛盾を解決する能力を与えられてもよい。そのユーザはどのデルタ項目を保持すべきか選択し、ファイルシステム40との調整時にその項目を使用することができる。
F.ハードウェアの説明
図11は、この発明の一実施例が実現され得るコンピュータシステム1100を示すブロック図である。コンピュータシステム1100は、情報を通信するためのバス1102または他の通信機構と、情報を処理するためにバス1102と結合されたプロセッサ1104とを含む。コンピュータシステム1100は、プロセッサ1104により実行されるべき命令および情報を記憶するためにバス1102に結合された、ランダムアクセスメモリ(RAM)または他のダイナミック記憶装置などのメインメモリ1106も含む。メインメモリ1106は、プロセッサ1104により実行されるべき命令の実行中に、一時的な変数または他の中間情報を記憶するためにも使用されてもよい。コンピュータシステム1100はさらに、プロセッサ1104用の命令およびスタティック情報を記憶するためにバス1102に結合された読出専用メモリ(ROM)1108または他のスタティック記憶装置を含む。磁気ディスクまたは光ディスクなどの記憶装置1110が、情報および命令を記憶するために提供され、バス1102へ結合されている。
コンピュータシステム1100は、バス1102を介して、情報をコンピュータユーザへ表示するための陰極線管(CRT)などのディスプレイ1112へ結合されてもよい。英数字キーおよび他のキーを含む入力装置1114が、情報およびコマンド選択をプロセッサ1104へ通信するためにバス1102へ結合されている。ユーザ入力装置の別の種類はマウス、トラックボールまたはカーソル方向キーなどのカーソル制御1116であり、方向情報およびコマンド選択をプロセッサ1104へ通信し、ディスプレイ1112上のカーソルの動きを制御する。この入力装置は通常、2つの軸、つまり第1の軸(たとえばx)および第2の軸(たとえばy)において2つの自由度を有しており、それによりこの装置は平面における場所を特定することができる。
この発明は、ここに記載された手法を実現するためのコンピュータシステム1100の使用に関する。この発明の一実施例によれば、これらの手法は、プロセッサ1104がメインメモリ1106に含まれた1つ以上の命令の1つ以上の連続を実行するのに応答して、コンピュータシステム1100により実施される。そのような命令は、記憶装置1110などの別のコンピュータ可読媒体からメインメモリ1106へ読込まれてもよい。メインメモリ1106に含まれる命令の連続の実行により、プロセッサ1104はここに記載されたプロセスステップを行なうようになる。代替的な実施例では、この発明を実施するために、ソフトウェア命令の代わりにまたはそれと組合せて、配線回路が使用されてもよい。このため、この発明の実施例は、配線回路とソフトウェアのどの特定の組合せにも限定されない。
ここに使用されるような用語「コンピュータ可読媒体」は、実行用にプロセッサ110
4へ命令を提供することに関与するあらゆる媒体を指す。そのような媒体は、不揮発性媒体、揮発性媒体および通信媒体を含むもののそれらに限定されない多くの形態をとってもよい。不揮発性媒体は、たとえば、記憶装置1110などの光ディスクまたは磁気ディスクを含む。揮発性媒体はメインメモリ1106などのダイナミックメモリを含む。通信媒体は、バス1102を構成する配線を含む同軸ケーブル、銅線および光ファイバを含む。通信媒体は、電波および赤外線データ通信中に発生するものなどの音波または光波の形もとり得る。
コンピュータ可読媒体の通常の形態は、たとえば、フロッピー(R)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、または他の磁気媒体、CD−ROM(コンパクトディスクROM)、他の光媒体、パンチカード、紙テープ、孔のパターンを有する他の物理的媒体、RAM、PROM(プラグラマブルROM)、EPROM(消去可能プラグラマブルROM)、フラッシュEPROM、他のメモリチップまたはカートリッジ、以下に記載されるような搬送波、またはそこからコンピュータが読出可能なあらゆる媒体を含む。
コンピュータ可読媒体のさまざまな形態は、実行用にプロセッサ1104へ1つ以上の命令の1つ以上の連続を搬送することに関与してもよい。たとえば、命令はまず遠隔コンピュータの磁気ディスクに載って搬送されてもよい。遠隔コンピュータは命令をそのダイナミックメモリへロードし、モデムを用いた電話回線を通して命令を送ることができる。コンピュータシステム1100にとって局所的なモデムは、電話回線上のデータを受取り、赤外線送信機を用いてデータを赤外線信号に変換することができる。赤外線検出器は赤外線信号において搬送されたデータを受取可能であり、適切な回路がそのデータをバス1102上へ置くことができる。バス1102はデータをメインメモリ1106へ搬送し、そこからプロセッサ1104が命令を検索して実行する。メインメモリ1106によって受取られた命令は、プロセッサ1104による実行の前または後のいずれかで、随意に記憶装置1110上に記憶されてもよい。
コンピュータシステム1110は、バス1102に結合された通信インターフェイス1118も含む。通信インターフェイス1118は、ローカルネットワーク1122へ接続されたネットワークリンク1120へ双方向データ通信結合を提供する。たとえば、通信インターフェイス1118は、データ通信接続を対応する種類の電話回線へ提供するデジタル総合サービス網(ISDN)カードまたはモデムであってもよい。別の例として、通信インターフェイス1118は、データ通信接続を互換性があるLANへ提供するローカルエリアネットワーク(LAN)カードであってもよい。無線リンクも実現されてもよい。そのような実現化例では、通信インターフェイス1118は、さまざまな種類の情報を表わすデジタルデータストリームを搬送する電気、電磁または光信号を送り、受取る。
ネットワークリンク1120は通常、1つ以上のネットワークを通して他のデータ装置へデータ通信を提供する。たとえば、ネットワークリンク1120は、ホストコンピュータ1124へ、またはインターネットサービスプロバイダ(ISP)1126により動作されるデータ装置へ、ローカルネットワーク1122を通して接続を提供してもよい。ISP1126は次に、現在では一般に「インターネット」1128と呼ばれる全世界的パケットデータ通信ネットワークを通して、データ通信サービスを提供する。ローカルネットワーク1122およびインターネット1128は双方とも、デジタルデータストリームを搬送する電気、電磁または光信号を使用する。コンピュータシステム1100へ、またはコンピュータシステム1100からデジタルデータを搬送する、さまざまなネットワークを通る信号、および、ネットワークリンク1120上の、ならびに通信インターフェイス1118を通る信号は、情報を伝達する搬送波の例示的な形態である。
コンピュータシステム1100は、ネットワーク、ネットワークリンク1120および通信インターフェイス1118を通して、メッセージを送り、プログラムコードを含むデータを受取る。インターネットの例では、サーバ1130は、アプリケーションプログラムについての要求されたコードを、インターネット1128、ISP1126、ローカルネットワーク1122、および通信インターフェイス1118を通して送信してもよい。
受取られたコードは、それが受取られたときにプロセッサ1104によって実行されてもよく、および/または後の実行のために記憶装置1110または他の不揮発性記憶装置に記憶されてもよい。このように、コンピュータシステム1100は、搬送波の形をしたアプリケーションコードを獲得し得る。
G.代替的な実施例
ここに提供された実施例(たとえば図1を参照)は調整情報をメタデータ情報の形態であるとして説明しているが、他の実施例は、第1の部分46(図1)内の項目についての内容の一部またはすべてを用いて、作業バージョン50(図1)の項目への変更を識別してもよい。特に、ある項目が別のものからコピーされたかどうかを判断するために内容整合が用いられてもよい。知的なアルゴリズムを採用し、特定の種類の類似性を有する項目は互いのコピーであるという仮定を用いて、項目の内容間の類似性を検出してもよい。
内容整合は、図9で説明されたようなプロセスでのさらなるステップとしても用いられてもよい。たとえば、ステップ970によって示すように同等の動作が検出された場合、その項目が新規で、編集されかつコピーもされているかどうかを判断することができないかもしれない。ある項目が、新規項目であった別の項目の編集されたコピーであるかどうかを判断するために、内容整合が必要とされるかもしれない。
内容整合の別の使用は、項目の一方または双方の時刻値が別の項目と全く同じである場合に、決着をつけるものとしてである。ウィンドウズ(R)などの一般的なオペレーティングシステムに適用された時刻値の著しい桁(つまり1秒の100万分の1)を考慮すると、2つの項目が全く同じ作成時刻または修正時刻を有する可能性はわずかしかない。しかしながら、異なる項目の時刻値間に完全な整合がある場合、この発明の実施例は、2つの項目間で解読するために内容整合を可能とする。
この発明の実施例は異なるコンピュータ上で動作されるファイルの同期化について説明されてきたが、他の実施例がスタンドアローンまたは単一のコンピュータシステムへ適用され得ることが留意されるべきである。たとえば、この発明の一実施例についてのある用途は、多数の入力を含む1つのファイルを、アーカイブとして作成されたバックアップファイルと同期させることである。他のコンピュータシステムとの対話は必要とされないであろう。
いくつかの用途では、ある同等の複合動作を検出せず、むしろより簡単な動作がある項目に対して行なわれたと仮定することがより有用であるかもしれない。また、これに代えて、同等の複合動作が検出されるものの、他の動作を用いてファイルシステム40を更新してもよい。たとえば、この発明の一実施例は、(Nx)Cyという同等の複合動作を、NxかつNyとして扱ってもよい。このため、同期化の最中、ファイルシステム40は2つの新規項目を追加するよう命令されるであろう。同様に、E(xCy)という複合動作はNyとして扱われてもよく、この場合ファイルシステム40は、XをYへコピーして次にそれを編集するというよりもむしろ、1つの新しいファイルを作成するよう命令されるであろう。
H.結論
前述の明細書で、この発明がその特定の実施例を参照して説明されてきた。しかしながら、さまざまな修正および変更がそれに対して、この発明のより幅広い精神および範囲から逸脱することなくなされることは明らかである。したがって、明細書および図面は限定的な意味というよりもむしろ例示的な意味において考えられるべきである。
この発明の一実施例の下でのシステムアーキテクチャの概要を示す図である。 この発明の一実施例の下での、端末上での同期化を説明するフローチャートである。 この発明の一実施例の下での、システムの端末上での、多くのユーザにより共有されているファイルの同期化を説明するフローチャートである。 この発明の一実施例の下での、多数の端末上での共有されたファイルシステムの同期化を詳述するフローチャートである。 この発明の一実施例の下での、ファイルシステムの作業バージョンに対する多数の動作および複合動作の検出を詳述するフローチャートである。 同期化動作中に移動または削除された項目を識別するためのフローチャートである。 この発明の一実施例の下での、同期化動作中に編集された項目を識別するためのフローチャートである。 この発明の一実施例の下での、編集され、および/または移動され、もしくは削除された項目についての1つ以上の動作を識別するためのフローチャートである。 この発明の一実施例の下での、新規または他の項目からのコピーとして作成され、かつおそらく編集された項目を識別するためのフローチャートである。 この発明の一実施例で使用されるユーザインターフェイスを示す図である。 この発明の一実施例で使用されるハードウェアブロック図である。

Claims (66)

  1. ファイルシステムにおいてファイルを管理するための方法であって、
    前記ファイルシステム少なくとも第1の項目を含み前記第1の項目は、前記ファイルシステムのオリジナルバージョンにおける第1の位置に配置されており、前記第1の位置は第1の位置情報により識別可能であり、前記方法は、
    第1の通信に応答して、
    前記ファイルシステムの一部の作業バージョンを作成するステップを備え、前記作業バージョンは前記第1の項目に対応する少なくとも第1の作業項目を含み
    前記作業バージョンを作成するステップは、
    前記第1の位置情報に基づいて、前記作業バージョンにおける第2の位置を識別するステップと、
    前記第1の作業項目記第2の位置に格納するステップと、
    前記第1の作業項目の生成時刻を比較ファイルに記録するステップとを含み、
    前記ファイルシステムについての情報を前記比較ファイルに記録するステップを備え、前記情報は少なくとも前記第1の項目および前記第1の位置情報を識別し、
    前記第1の通信の後に生じる同期要求に応答して、
    前記同期要求の時刻に、少なくとも、前記比較ファイルに記録された前記ファイルシステムについての情報と、前記作業バージョンの状態についての情報とに基づいて前記作業バージョンにおける1つまたはそれよりも多い変化を判断するステップを備え、
    前記作業バージョンにおける1つまたはそれよりも多い変化を判断する前記ステップは、
    前記生成時刻に基づいて前記作業バージョンにおける第1の作業項目を検索するステップと、
    前記作業バージョンにおける前記第2の位置と異なる第3の位置において前記第1の作業項目が位置しているか否かを判断するステップとを含み、
    前記第3の位置は第2の位置情報により識別可能であり、前記第2の位置情報は第1の位置情報とは異なる、方法。
  2. 第1の作業項目が第3の位置に位置する場合、前記方法は、
    前記第2の位置情報に基づいて、前記ファイルシステムのオリジナルバージョンにおける第4の位置を決定するステップと、
    前記ファイルシステムの前記オリジナルバージョンにおける第1の項目を、前記第4の位置へ移動させるステップを含む、請求項1に記載の方法。
  3. 前記ファイルシステムの作業バージョンにおける1つまたはそれよりも多い変化を判断する前記ステップは、第1の作業項目が新しい名前を有しているかどうかを判断するステップを含む、請求項1に記載の方法。
  4. 前記ファイルシステムの一部の作業バージョンを作成する前記ステップは、第1の作業項目の作成時刻を比較ファイルに記録するステップを含む、請求項3に記載の方法。
  5. 前記ファイルシステムの作業バージョンにおける1つまたはそれよりも多い変化を判断する前記ステップは、作業バージョン内の第1の作業項目の位置を、作成時刻を用いて特定するステップを含む、請求項3に記載の方法。
  6. 第1の作業項目が作業バージョンから省略されている場合、第1の項目を削除するよう前記ファイルシステムのオリジナルバージョンに信号を送るステップをさらに含む、請求項1に記載の方法。
  7. 第1の作業項目の作成時刻を用いて、第1の作業項目が作業バージョンから削除されたと判断するステップをさらに含む、請求項6に記載の方法。
  8. ファイルシステムの一部の作業バージョンを作成するステップは、第1の作業項目の修正時刻を比較ファイルに記録するステップを含む、請求項4に記載の方法。
  9. 作業バージョンの作成後に第1の作業項目が編集されたかどうかを判断するステップをさらに含む、請求項1に記載の方法。
  10. 作業バージョンの作成後に第1の作業項目が編集されたかどうかを、第1の作業項目の修正時刻を用いて判断するステップをさらに含む、請求項8に記載の方法。
  11. 第1の作業項目のその後の修正時刻が、第1の作業項目についての記録された修正時刻と異なるかどうかを判断するステップをさらに含む、請求項10に記載の方法。
  12. コンピュータがオリジナルバージョンを維持するためのファイルシステムにおいてファイルを管理するための方法であって、
    第1の通信に応答して、
    前記ファイルシステムについての情報を比較ファイルへ記録するステップと、
    前記ファイルシステムの一部の作業バージョンを作成するステップとを含み
    前記第1の通信の後の同期要求に応答して、
    前記比較ファイルに記録された前記ファイルシステムの情報と、前記同期要求の時刻における前記作業バージョンの状態についての情報を用いて、作業バージョン内の第1の作業項目がかつて作業バージョン内の第2の作業項目からコピーされたかどうかを判断するステップを含む、方法。
  13. 第1の作業項目がかつて第2の作業項目からコピーされたと判断したことに応答して前記ファイルシステムの前記オリジナルバージョンに、第1の作業項目を含めさせるステップをさらに含む、請求項12に記載の方法。
  14. 第2の作業項目は、前記ファイルシステムの前記オリジナルバージョンにおける第1の項目から生じている、請求項12に記載の方法。
  15. 作業バージョンが作成された後で、第2の作業項目が新規として作成される、請求項13に記載の方法。
  16. 第1の作業項目の内容は第2の作業項目の内容と異なっている、請求項13に記載の方法。
  17. 作業バージョンを作成するステップは、第2の作業項目について作成時刻および修正時刻の双方を比較ファイルに記録するステップを含む、請求項14に記載の方法。
  18. 前記比較ファイルに記録された情報と、前記同期要求の時刻に前記作業バージョンの状態についての情報を用いて、作業バージョン内の第1の作業項目がかつて作業バージョン内の第2の作業項目からコピーされたかどうかを判断するステップは、前記第1の作業項目についての作成時刻および修正時刻を識別するステップを含む、請求項17に記載の方法。
  19. 前記比較ファイルに記録された情報と、前記同期要求の時刻における前記作業バージョンの状態についての情報を用いて、作業バージョン内の第1の作業項目がかつて作業バージョン内の第2の作業項目からコピーされたかどうかを判断するステップは、第1の作業項目の修正時刻が第1の作業項目の作成時刻の前であることを検出するステップを含む、請求項18に記載の方法。
  20. 前記比較ファイルに記録された情報と、前記同期要求の時刻における前記作業バージョンについての情報を用いて、作業バージョン内の第1の作業項目がかつて作業バージョン内の第2の作業項目からコピーされたかどうかを判断するステップは、第1の作業項目の修正時刻を第2の作業項目の修正時刻と整合させるステップを含む、請求項19に記載の方法。
  21. 第1の作業項目が第2の作業項目からコピーされた後で編集されたかどうかを判断するステップをさらに含む、請求項12に記載の方法。
  22. 第1の作業項目の作成時刻が比較ファイルにより識別されたいずれかの項目の作成時刻と異なる場合、および第1の作業項目についての修正時刻が第1の作業項目についての作成時刻よりも大きいかまたはそれと等しい場合、第1の作業項目は新規であると判断するステップをさらに含む、請求項12に記載の方法。
  23. 第1の作業項目が新規であると判断した後で、ファイルシステムの一部に、第1の作業項目を含めさせるステップをさらに含む、請求項22に記載の方法。
  24. 前記比較ファイルに記録された情報と、前記同期要求の時刻における前記作業バージョンの状態についての情報を用いて、作業バージョン内の第1の作業項目がかつて作業バージョン内の第2の作業項目からコピーされたかどうかを判断するステップは、第1の作業項目の内容を第2の作業項目の内容と比較するステップを含む、請求項12に記載の方法。
  25. ファイルシステムのファイルを管理するための方法であって、前記ファイルシステムは、少なくとも第1の項目を含み、前記第1の項目は、前記ファイルシステムのオリジナル
    バージョンにおける第1の位置に位置しており、前記第1の位置は第1の位置情報により識別可能であり、前記方法は、
    第1の通信に応答して、
    前記ファイルシステムの一部の作業バージョンを作成するステップを含み、前記作業バージョンは前記第1の項目から生じる少なくとも第1の作業項目を含み
    前記作業バージョンを作成するステップは、
    前記第1の位置情報に基づいて、前記作業バージョンにおける第2の位置を識別するステップと、
    前記第1の作業項目を前記第2の位置に格納するステップと、
    前記第1の作業項目の生成時刻を比較ファイルに記録するステップと、
    前記ファイルシステムについての情報を前記比較ファイルに記録するステップとを含み、前記情報は、少なくとも前記第1の項目と前記第1の位置情報とを識別し、
    前記第1の通信の後に生じる同期要求に応答して、
    前記比較ファイルに記録された前記ファイルシステムについての情報と、前記同期要求の時刻における作業バージョンの状態についての情報を用いて、2つの動作のうちの少なくとも一つが前記第1の通信以降に作業バージョンに対して実行されたかどうかを検出するステップを含み、動作は、第1の作業項目についての第1の位置情報の変更と、第1の作業項目の内容の編集とを含み、
    前記比較ファイルに記録された前記ファイルシステムについての情報と、前記同期要求の時刻における作業バージョンの状態についての情報とを用いて、2つの動作のうちの少なくとも1つが前記作業バージョンに対して実行されたかどうかを検出する前記ステップは、前記生成時刻を用いて前記作業バージョンにおける第1の作業項目の位置を特定するステップを含む、方法。
  26. ファイルシステムの一部の作業バージョンを作成するステップは、第1の作業項目についての初期修正時刻を比較ファイルに記録するステップを含み、初期修正時刻は第1の作業項目が編集または作成された最後の時点を記録する、請求項25に記載の方法。
  27. 第1の作業項目の内容を編集する動作を検出するステップは、初期修正時刻が変更されたかどうかをその後判断するステップを含む、請求項26に記載の方法。
  28. ファイルシステムの第1の項目に、第1の作業項目の編集された内容を含めさせるステップをさらに含む、請求項27に記載の方法。
  29. ファイルシステムにおいてファイルを管理するための方法であって、
    前記ファイルシステム少なくとも第1の項目を含み、前記第1の項目は前記ファイルシステムのオリジナルバージョンにおける第1の位置に位置しており前記第1の位置は第1の位置情報により識別可能であり、前記方法は、
    第1の通信に応答して、
    前記ファイルシステムの一部の作業バージョンを作成するステップを含み、作業バージョンは前記第1の項目に対応する第1の作業項目を含み
    前記作業バージョンを作成するステップは、
    前記第1の位置情報に基づいて、前記作業バージョンにおける第2の位置を識別するステップと、
    前記第1の作業項目を前記第2の位置に格納するステップとを含み、
    前記ファイルシステムについての情報を比較ファイルに記録するステップを含み、前記情報は、少なくとも前記第1の項目と前記第1の位置情報とを含み、
    前記第1の通信の後に続けて生じる同期要求に応答して、
    前記比較ファイルに記録された前記ファイルシステムについての情報と、前記同期要求の時刻における作業バージョンの状態についての情報を用いて、複合動作が第1の作
    業項目に対して実行されたかどうかを判断するステップを含み、複合動作は、第1の作業項目についての第1の位置情報の変更、第1の作業項目からの第1の作業コピーの作成、および第1の作業項目の内容の編集からなる一組の動作からの少なくとも2つの連続する動作を含む、方法。
  30. 第1の項目が第1の作業項目に整合するように、前記ファイルシステムのオリジナルバージョンに、作業バージョンに対して実行された動作によりなされた変更を取入れさせるステップをさらに含む、請求項29に記載の方法。
  31. 少なくとも2つの複合動作のうちの1つが第1の作業項目から第1の作業コピーを作成するために、作業バージョン内の選択された作業項目がかつて第1の作業項目からコピーされたかどうかを判断するステップをさらに含む、請求項29に記載の方法。
  32. ファイルシステムにおいてファイルを管理するための命令を格納したコンピュータ可読記録媒体であって、前記ファイルシステムは少なくとも第1の項目を含み、前記第1の項目は、前記ファイルシステムのオリジナルバージョンにおける第1の位置に配置されており、前記第1の位置は第1の位置情報により識別可能であり、命令は、
    第1の通信に応答して、
    前記ファイルシステムの一部の作業バージョンを作成するステップを行なうための命令を含み、前記作業バージョンは前記第1の項目に対応する少なくとも第1の作業項目を含み、第1の作業項目は最初、第1の位置情報によって第2の位置に位置しており、
    前記作業バージョンを作成するステップは、
    前記第1の位置情報に基づいて、前記作業バージョンにおける第2の位置を識別するステップと、
    前記第1の作業項目記第2の位置に格納するステップと、
    前記第1の作業項目の生成時刻を比較ファイルに記録するステップとを含み、
    前記ファイルシステムについての情報を前記比較ファイルに記録するステップを行なうための命令を含み、前記情報は少なくとも前記第1の項目および前記第1の位置情報を識別し、
    前記第1の通信の後に生じる同期要求に応答して、
    前記同期要求の時刻に、少なくとも、前記比較ファイルに記録された前記ファイルシステムについての情報と、前記作業バージョンの状態についての情報とに基づいて、前記作業バージョンにおける1つまたはそれよりも多い変化を判断するステップを行なうための命令を含み、
    前記作業バージョンにおける1つまたはそれよりも多い変化を判断する前記ステップは、
    前記生成時刻に基づいて前記作業バージョンにおける第1の作業項目を検索するステップと、
    前記作業バージョンにおける前記第2の位置と異なる第3の位置において前記第1の作業項目が位置しているか否かを判断するステップとを含み、
    前記第3の位置は第2の位置情報により識別可能であり、前記第2の位置情報は第1の位置情報とは異なる、コンピュータ可読記録媒体。
  33. 第1の作業項目が第3の位置に位置する場合、コンピュータ可読記録媒体の命令は
    前記第2の位置情報に基づいて、前記ファイルシステムのオリジナルバージョンにおける第4の位置を決定するステップを行なうための命令と、
    前記ファイルシステムの前記オリジナルバージョンにおける第1の項目を、前記第4の位置へ移動させるための命令を含む、請求項32に記載のコンピュータ可読記録媒体。
  34. 前記ファイルシステムの作業バージョンにおける1つまたはそれよりも多い変化を判断
    するステップを行なうための命令は、第1の作業項目が新しい名前を有しているかどうかを判断するための命令を含む、請求項32に記載のコンピュータ可読記録媒体。
  35. ファイルシステムの一部の作業バージョンを作成するステップを行なうための命令は、第1の作業項目の作成時刻を比較ファイルに記録するための命令を含む、請求項34に記載のコンピュータ可読記録媒体。
  36. 前記ファイルシステムの作業バージョンにおける1つまたはそれよりも多い変化を判断するステップを行なうための命令は、作業バージョン内の第1の作業項目の位置を、作成時刻を用いて特定するための命令を含む、請求項34に記載のコンピュータ可読記録媒体。
  37. 第1の作業項目が作業バージョンから省略されている場合、第1の項目を削除するよう前記ファイルシステムのオリジナルバージョンに信号を送るための命令をさらに含む、請求項32に記載のコンピュータ可読記録媒体。
  38. 第1の作業項目の作成時刻を用いて、第1の作業項目が作業バージョンから削除されたと判断するための命令をさらに含む、請求項37に記載のコンピュータ可読記録媒体。
  39. ファイルシステムの作業バージョンを作成するステップは、第1の作業項目の修正時刻を比較ファイルに記録するための命令を含む、請求項35に記載のコンピュータ可読記録媒体。
  40. 作業バージョンの作成後に第1の作業項目が編集されたかどうかを判断するための命令をさらに含む、請求項32に記載のコンピュータ可読記録媒体。
  41. 作業バージョンの作成後に第1の作業項目が編集されたかどうかを、第1の作業項目の修正時刻を用いて判断するための命令をさらに含む、請求項39に記載のコンピュータ可読記録媒体。
  42. 第1の作業項目の修正時刻を用いるステップを行なうための命令は、第1の作業項目のその後の修正時刻が第1の作業項目についての記録された修正時刻と異なるかどうかを判断するための命令を含む、請求項41に記載のコンピュータ可読記録媒体。
  43. コンピュータがオリジナルバージョンを維持するためのファイルシステムにおいてファイルを管理するための命令を格納したコンピュータ可読記録媒体であって、命令は、
    第1の通信に応答して、
    前記ファイルシステムについての情報を比較ファイルへ記録するステップを行なうための命令と、
    前記ファイルシステムの一部の作業バージョンを作成するステップを行なうための命令を含み
    前記第1の通信の後の同期要求に応答して、
    前記比較ファイルに記録された前記ファイルシステムの情報と、前記同期要求の時刻における前記作業バージョンの状態についての情報を用いて、作業バージョン内の第1の作業項目がかつて作業バージョン内の第2の作業項目からコピーされたかどうかを判断するステップを行なうための命令を含む、コンピュータ可読記録媒体。
  44. 第1の作業項目がかつて第2の作業項目からコピーされたと判断したことに応答して、前記ファイルシステムのオリジナルバージョン第1の作業項目を含めさせるための命令をさらに含む、請求項43に記載のコンピュータ可読記録媒体。
  45. 第2の作業項目は、前記ファイルシステムのオリジナルバージョンにおける第1の項目から生じている、請求項43に記載のコンピュータ可読記録媒体。
  46. 作業バージョンが作成された後で、第2の作業項目が新規として作成さ れる、請求項43に記載のコンピュータ可読記録媒体
  47. 第1の作業項目の内容は第2の作業項目の内容と異なっている、請求項44に記載のコンピュータ可読記録媒体。
  48. 作業バージョンを作成するステップを行なうための命令は、第2の作業項目について作成時刻および修正時刻の双方を比較ファイルに記録するための命令を含む、請求項45に記載のコンピュータ可読記録媒体。
  49. 前記比較ファイルに記録された情報と、前記同期要求の時刻における前記作業バージョンの状態についての情報を用いて、作業バージョン内の第1の作業項目がかつて作業バージョン内の第2の作業項目からコピーされたかどうかを判断するステップを行なうための命令は、前記第1の作業項目についての作成時刻および修正時刻を識別するための命令を含む、請求項48に記載のコンピュータ可読記録媒体。
  50. 前記比較ファイルに記録された情報と、前記同期要求の時刻における前記作業バージョンの状態についての情報を用いて、作業バージョン内の第1の作業項目がかつて作業バージョン内の第2の作業項目からコピーされたかどうかを判断するステップのための命令は、第1の作業項目の修正時刻が第1の作業項目の作成時刻の前であることを検出するための命令を含む、請求項49に記載のコンピュータ可読記録媒体。
  51. 前記比較ファイルに記録された情報と、前記同期要求の時刻における前記作業バージョンの状態についての情報を用いて、作業バージョン内の第1の作業項目がかつて作業バージョン内の第2の作業項目からコピーされたかどうかを判断するステップを行なうための命令は、第1の作業項目の修正時刻を第2の作業項目の修正時刻と整合させるための命令を含む、請求項50に記載のコンピュータ可読記録媒体。
  52. 第1の作業項目が第2の作業項目からコピーされた後で編集されたかどうかを判断するステップを行なうための命令をさらに含む、請求項45に記載のコンピュータ可読記録媒体。
  53. 第1の作業項目の作成時刻が比較ファイルにより識別されたいずれかの項目の作成時刻と異なる場合、および第1の作業項目についての修正時刻が第1の作業項目についての作成時刻よりも大きいかまたはそれと等しい場合、第1の作業項目は新規ファイルであると判断するステップを行なうための命令をさらに含む、請求項43に記載のコンピュータ可読記録媒体。
  54. 第1の作業項目が新規であると判断した後でファイルシステムに第1の作業項目を含めさせるステップを行なうための命令をさらに含む、請求項52に記載のコンピュータ可読記録媒体。
  55. 前記比較ファイルに記録された情報と、前記同期要求の時刻における前記作業バージョンについての情報を用いて、作業バージョン内の第1の作業項目がかつて作業バージョン内の第2の作業項目からコピーされたかどうかを判断するステップを行なうための命令は、第1の作業項目の内容を第2の作業項目の内容と比較するための命令を含む、請求項
    に記載のコンピュータ可読記録媒体。
  56. ファイルシステムにおいてファイルを管理するための命令を格納したコンピュータ可読記録媒体であって、前記ファイルシステムは、少なくとも第1の項目を含み、前記第1の項目は、前記ファイルシステムのオリジナルバージョンにおける第1の位置に位置しており、前記第1の位置は第1の位置情報により識別可能であり、前記命令は、
    第1の通信に応答して、
    前記ファイルシステムの一部の作業バージョンを作成するステップを行なうための命令を含み、前記作業バージョンは第1の項目から生じる少なくとも第1の作業項目を含み、
    前記作業バージョンを作成するステップは、
    前記第1の位置情報に基づいて、前記作業バージョンにおける第2の位置を識別するステップと、
    前記第1の作業項目を前記第2の位置に格納するステップと、
    前記第1の作業項目の生成時刻を比較ファイルに記録するステップと、
    前記ファイルシステムについての情報を前記比較ファイルに記録するステップとを含み、前記情報は、少なくとも前記第1の項目と前記第1の位置情報とを識別し、
    前記第1の同期イベントの後に生じる同期要求に応答して、
    前記比較ファイルに記録された前記ファイルシステムについての情報と、前記同期要求の時刻における作業バージョンの状態についての情報を用いて、2つの動作のうちの少なくとも一つが前記第1の通信以降に作業バージョンに対して実行されたかどうかを検出するステップを行なうための命令を含み、動作は、第1の作業項目についての第1の位置情報の変更と、第1の作業項目の内容の編集とを含み、
    前記比較ファイルに記録された前記ファイルシステムについての情報と、前記同期要求の時刻における作業バージョンの状態についての情報とを用いて、2つの動作のうちの少なくとも1つが前記作業バージョンに対して実行されたかどうかを検出するステップを行なうための前記命令は、前記生成時刻を用いて前記作業バージョンにおける第1の作業項目の位置を特定するステップを行なうための命令を含む、コンピュータ可読記録媒体。
  57. ファイルシステムの一部の作業バージョンを作成するステップは、第1の作業項目についての初期修正時刻を比較ファイルに記録するための命令を含み、初期修正時刻は第1の作業項目が編集または作成された最後の時点を記録する、請求項56に記載のコンピュータ可読記録媒体。
  58. 比較ファイル内のおよび作業バージョンについての情報を用いて、2つの動作のうちの少なくとも一つが作業バージョンに対して実行されたかどうかを判断するステップは、初期修正時刻が変更されたかどうかをその後判断するための命令を含む、請求項57に記載のコンピュータ可読記録媒体。
  59. ファイルシステムに第1の作業項目の編集された内容を含めさせるステップを行なうための命令をさらに含む、請求項58に記載のコンピュータ可読記録媒体。
  60. ファイルシステムにおいてファイルを管理するための命令を格納したコンピュータ可読記録媒体であって、前記ファイルシステムは、少なくとも第1の項目を含み、前記第1の項目は、前記ファイルシステムのオリジナルバージョンにおける第1の位置に位置しており、前記第1の位置は第1の位置情報によって識別可能であり、前記命令は、
    第1の通信に応答して、
    ファイルシステムの一部の作業バージョンを作成するステップを行なうための命令を含み、前記作業バージョンは第1の項目に対応する第1の作業項目を含み
    前記作業バージョンを生成するステップは、
    前記第1の位置情報に基づいて、前記作業バージョンにおける第2の位置を識別するステップと、
    前記第1の作業項目を前記第2の位置に格納するステップとを含み、
    前記ファイルシステムについての情報を比較ファイルに記録するステップを含み、前記情報は、少なくとも前記第1の項目と前記第1の位置情報とを含み、
    前記第1の通信の後に続けて生じる同期要求に応答して、
    前記比較ファイルに記録された前記ファイルシステムについての情報と、前記同期要求の時刻における作業バージョンの状態についての情報を用いて、複合動作が第1の作業項目に対して実行されたかどうかを判断するステップを行なうための命令を含み、複合動作は、第1の作業項目についての第1の位置情報の変更、第1の作業項目からの第1の作業コピーの作成、および第1の作業項目の内容の編集からなる一組の動作からの少なくとも2つの連続する動作を含む、コンピュータ可読記録媒体。
  61. 複合動作が実行されたと判断された場合、ファイルシステム内の第1の項目を変更するためにどちらの動作が第1の作業項目に対して実行されたかを示すための命令をさらに含む、請求項60に記載のコンピュータ可読記録媒体。
  62. 少なくとも2つの複合動作のうちの1つが第1の作業項目から第1の作業コピーを作成するために、作業バージョン内の選択された作業項目がかつて第1の作業項目からコピーされたかどうかを判断するための命令をさらに含む、請求項60に記載のコンピュータ可読記録媒体。
  63. ファイルシステムにおいてファイルを管理するための装置であって、前記ファイルシステムは少なくとも第1の項目を含み、前記第1の項目は、前記ファイルシステムのオリジナルバージョンにおける第1の位置に配置されており、前記第1の位置は第1の位置情報により識別可能であり、前記装置は、
    第1の通信に応答して、前記ファイルシステムの一部の作業バージョンを作成するための作成手段を備え、前記作業バージョンは前記第1の項目に対応する少なくとも第1の作業項目を含み、
    前記作成手段は、
    前記第1の位置情報に基づいて、前記作業バージョンにおける第2の位置を識別するための手段と、
    前記第1の作業項目を前記第2の位置に格納するための手段と、
    前記第1の作業項目の生成時刻を比較ファイルに記録するための手段とを含み、
    前記ファイルシステムについての情報を前記比較ファイルに記録するための手段をさらに備え、前記情報は少なくとも前記第1の項目および前記第1の位置情報を識別し、
    前記第1の通信の後に生じる同期要求の時刻に、少なくとも、前記比較ファイルに記録された前記ファイルシステムについての情報と、前記作業バージョンの状態についての情報とに基づいて、前記作業バージョンにおける1つまたはそれよりも多い変化を判断するための判断手段をさらに備え、
    前記判断手段は、
    前記生成時刻に基づいて前記作業バージョンにおける第1の作業項目を検索するための手段と、
    前記作業バージョンにおける前記第2の位置と異なる第3の位置において前記第1の作業項目が位置しているか否かを判断するための手段とを含み、
    前記第3の位置は第2の位置情報により識別可能であり、前記第2の位置情報は第1の位置情報とは異なる、ファイルを管理するための装置。
  64. コンピュータがオリジナルバージョンを維持するためのファイルシステムにおいてファイルを管理するための装置であって、
    第1の通信に応答して、前記ファイルシステムについての情報を比較ファイルへ記録するための手段と、
    前記ファイルシステムの一部の作業バージョンを作成するための作成手段と、
    前記第1の通信の後の同期要求に応答して、前記比較ファイルに記録された前記ファイルシステムの情報と、前記同期要求の時刻における前記作業バージョンの状態についての情報とを用いて、作業バージョン内の第1の作業項目がかつて作業バージョン内の第2の作業項目からコピーされたかどうかを判断するための判断手段とを備える、ファイルを管理するための装置。
  65. ファイルシステムのファイルを管理するための装置であって、前記ファイルシステムは、少なくとも第1の項目を含み、前記第1の項目は、前記ファイルシステムのオリジナルバージョンにおける第1の位置に位置しており、前記第1の位置は第1の位置情報により識別可能であり、
    第1の通信に応答して、前記ファイルシステムの一部の作業バージョンを作成するための作成手段を備え、前記作業バージョンは前記第1の項目から生じる少なくとも第1の作業項目を含み、
    前記作成手段は、
    前記第1の位置情報に基づいて、前記作業バージョンにおける第2の位置を識別するための手段と、
    前記第1の作業項目を前記第2の位置に格納するための手段と、
    前記第1の作業項目の生成時刻を比較ファイルに記録するための手段と、
    前記ファイルシステムについての情報を前記比較ファイルに記録するための手段とを含み、前記情報は、少なくとも前記第1の項目と前記第1の位置情報とを識別し、
    前記第1の通信の後に生じる同期要求に応答して、前記比較ファイルに記録された前記ファイルシステムについての情報と、前記同期要求の時刻における作業バージョンの状態についての情報とを用いて、2つの動作のうちの少なくとも一つが前記第1の通信以降に作業バージョンに対して実行されたかどうかを検出するための検出手段を備え、前記動作は、第1の作業項目についての第1の位置情報の変更と、第1の作業項目の内容の編集とを含み、
    前記検出手段は、前記生成時刻を用いて前記作業バージョンにおける第1の作業項目の位置を特定するための手段を含む、ファイルを管理するための装置。
  66. ファイルシステムにおいてファイルを管理するための装置であって、前記ファイルシステムは少なくとも第1の項目を含み、前記第1の項目は前記ファイルシステムのオリジナルバージョンにおける第1の位置に位置しており、前記第1の位置は第1の位置情報により識別可能であり、
    前記装置は、
    第1の通信に応答して、前記ファイルシステムの一部の作業バージョンを作成するための作成手段を備え、作業バージョンは前記第1の項目に対応する第1の作業項目を含み、
    前記作成手段は、
    前記第1の位置情報に基づいて、前記作業バージョンにおける第2の位置を識別するための手段と、
    前記第1の作業項目を前記第2の位置に格納するための手段とを含み、
    前記ファイルシステムについての情報を比較ファイルに記録するための手段をさらに備え、前記情報は、少なくとも前記第1の項目と前記第1の位置情報とを含み、
    前記第1の通信の後に続けて生じる同期要求に応答して、前記比較ファイルに記録された前記ファイルシステムについての情報と、前記同期要求の時刻における作業バージョンの状態についての情報とを用いて、複合動作が第1の作業項目に対して実行されたかどうかを判断するための判断手段をさらに備え、複合動作は、第1の作業項目についての第1の位置情報の変更、第1の作業項目からの第1の作業コピーの作成、および第1の作業項
    目の内容の編集からなる一組の動作からの少なくとも2つの連続する動作を含む、ファイルを管理するための装置。
JP2003500739A 2001-05-25 2002-05-24 ネットワークファイルシステムのための管理および同期化アプリケーション Expired - Lifetime JP4255373B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/866,143 US7711771B2 (en) 2001-05-25 2001-05-25 Management and synchronization application for network file system
PCT/US2002/016481 WO2002097623A2 (en) 2001-05-25 2002-05-24 Management and synchronization application for network file system

Publications (3)

Publication Number Publication Date
JP2005507100A JP2005507100A (ja) 2005-03-10
JP2005507100A5 JP2005507100A5 (ja) 2006-01-05
JP4255373B2 true JP4255373B2 (ja) 2009-04-15

Family

ID=25347011

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003500739A Expired - Lifetime JP4255373B2 (ja) 2001-05-25 2002-05-24 ネットワークファイルシステムのための管理および同期化アプリケーション

Country Status (10)

Country Link
US (1) US7711771B2 (ja)
EP (1) EP1390846B1 (ja)
JP (1) JP4255373B2 (ja)
CN (1) CN1246776C (ja)
AT (1) ATE381060T1 (ja)
AU (1) AU2002344297B2 (ja)
CA (1) CA2447516C (ja)
DE (1) DE60224030T2 (ja)
HK (1) HK1058713A1 (ja)
WO (1) WO2002097623A2 (ja)

Families Citing this family (121)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002056181A2 (en) 2001-01-11 2002-07-18 Force Communications Inc Z File switch and switched file system
US20040133606A1 (en) 2003-01-02 2004-07-08 Z-Force Communications, Inc. Directory aggregation for files distributed over a plurality of servers in a switched file system
US7509322B2 (en) 2001-01-11 2009-03-24 F5 Networks, Inc. Aggregated lock management for locking aggregated files in a switched file system
US7512673B2 (en) * 2001-01-11 2009-03-31 Attune Systems, Inc. Rule based aggregation of files and transactions in a switched file system
US8239354B2 (en) * 2005-03-03 2012-08-07 F5 Networks, Inc. System and method for managing small-size files in an aggregated file system
US8195760B2 (en) 2001-01-11 2012-06-05 F5 Networks, Inc. File aggregation in a switched file system
JP2004021786A (ja) * 2002-06-19 2004-01-22 Sharp Corp 情報処理システムおよび情報処理方法
CA2391717A1 (en) * 2002-06-26 2003-12-26 Ibm Canada Limited-Ibm Canada Limitee Transferring data and storing metadata across a network
US7234117B2 (en) * 2002-08-28 2007-06-19 Microsoft Corporation System and method for shared integrated online social interaction
US20040068523A1 (en) * 2002-10-07 2004-04-08 Keith Robert Olan Method and system for full asynchronous master-to-master file synchronization
EP1581894A4 (en) * 2003-08-21 2006-04-26 Microsoft Corp SYSTEMS AND METHODS FOR PROVIDING SYNCHRONIZATION SERVICES FOR INFORMATION UNITS MAY BE MANAGED BY A HARDWARE / SOFTWARE INTERFACE SYSTEM
US8166101B2 (en) 2003-08-21 2012-04-24 Microsoft Corporation Systems and methods for the implementation of a synchronization schemas for units of information manageable by a hardware/software interface system
US7590643B2 (en) * 2003-08-21 2009-09-15 Microsoft Corporation Systems and methods for extensions and inheritance for units of information manageable by a hardware/software interface system
EP1573508A4 (en) * 2003-08-21 2006-04-26 Microsoft Corp SYSTEMS FOR IMPLEMENTING SYNCHRONIZATION LOGIC
US7483923B2 (en) * 2003-08-21 2009-01-27 Microsoft Corporation Systems and methods for providing relational and hierarchical synchronization services for units of information manageable by a hardware/software interface system
US8238696B2 (en) 2003-08-21 2012-08-07 Microsoft Corporation Systems and methods for the implementation of a digital images schema for organizing units of information manageable by a hardware/software interface system
US7412496B2 (en) * 2003-08-22 2008-08-12 Emc Corporation Management of the file-modification time attribute in a multi-processor file server system
US7761794B1 (en) * 2004-01-22 2010-07-20 Cisco Technology, Inc. Integrated audit and configuration techniques
US7529818B2 (en) * 2004-05-20 2009-05-05 Bea Systems, Inc. System and method for performing validation of a configuration
US7660824B2 (en) * 2004-05-20 2010-02-09 Bea Systems, Inc. System and method for performing batch configuration changes
US7502344B2 (en) * 2004-06-25 2009-03-10 Fujifilm Corporation Communications terminal, server, playback control method and program
US7529745B2 (en) * 2004-11-19 2009-05-05 International Business Machines Corporation Method of verifying metadata of a migrated file
US7953794B2 (en) * 2005-01-14 2011-05-31 Microsoft Corporation Method and system for transitioning between synchronous and asynchronous communication modes
US7885970B2 (en) 2005-01-20 2011-02-08 F5 Networks, Inc. Scalable system for partitioning and accessing metadata over multiple servers
US7958347B1 (en) 2005-02-04 2011-06-07 F5 Networks, Inc. Methods and apparatus for implementing authentication
US7620668B2 (en) * 2005-05-06 2009-11-17 Microsoft Corporation Authoritative and non-authoritative restore
US8417746B1 (en) * 2006-04-03 2013-04-09 F5 Networks, Inc. File system management with enhanced searchability
US7853566B2 (en) 2006-08-04 2010-12-14 Apple Inc. Navigation of electronic backups
US20080034017A1 (en) * 2006-08-04 2008-02-07 Dominic Giampaolo Links to a common item in a data structure
US20080126442A1 (en) * 2006-08-04 2008-05-29 Pavel Cisler Architecture for back up and/or recovery of electronic data
US20080034019A1 (en) * 2006-08-04 2008-02-07 Pavel Cisler System for multi-device electronic backup
US7860839B2 (en) 2006-08-04 2010-12-28 Apple Inc. Application-based backup-restore of electronic information
US9009115B2 (en) 2006-08-04 2015-04-14 Apple Inc. Restoring electronic information
US8370853B2 (en) 2006-08-04 2013-02-05 Apple Inc. Event notification management
US20080034004A1 (en) * 2006-08-04 2008-02-07 Pavel Cisler System for electronic backup
US8166415B2 (en) 2006-08-04 2012-04-24 Apple Inc. User interface for backup management
US8311988B2 (en) 2006-08-04 2012-11-13 Apple Inc. Consistent back up of electronic information
US7856424B2 (en) * 2006-08-04 2010-12-21 Apple Inc. User interface for backup management
US7716247B2 (en) * 2006-12-18 2010-05-11 Microsoft Corporation Multi-protocol access to files and directories
US8682916B2 (en) 2007-05-25 2014-03-25 F5 Networks, Inc. Remote file virtualization in a switched file system
US8010900B2 (en) 2007-06-08 2011-08-30 Apple Inc. User interface for electronic backup
US20080307017A1 (en) * 2007-06-08 2008-12-11 Apple Inc. Searching and Restoring of Backups
US8745523B2 (en) * 2007-06-08 2014-06-03 Apple Inc. Deletion in electronic backups
US8099392B2 (en) 2007-06-08 2012-01-17 Apple Inc. Electronic backup of applications
US8725965B2 (en) * 2007-06-08 2014-05-13 Apple Inc. System setup for electronic backup
US8307004B2 (en) 2007-06-08 2012-11-06 Apple Inc. Manipulating electronic backups
US8468136B2 (en) * 2007-06-08 2013-06-18 Apple Inc. Efficient data backup
US8230417B1 (en) 2007-06-08 2012-07-24 Adobe Systems Incorporated Combined application and execution environment install
US8429425B2 (en) * 2007-06-08 2013-04-23 Apple Inc. Electronic backup and restoration of encrypted data
US8375381B1 (en) 2007-07-30 2013-02-12 Adobe Systems Incorporated Management user interface for application execution environment
US8448161B2 (en) 2007-07-30 2013-05-21 Adobe Systems Incorporated Application tracking for application execution environment
US7930273B1 (en) 2007-07-30 2011-04-19 Adobe Systems Incorporated Version management for application execution environment
US8117244B2 (en) * 2007-11-12 2012-02-14 F5 Networks, Inc. Non-disruptive file migration
US8548953B2 (en) 2007-11-12 2013-10-01 F5 Networks, Inc. File deduplication using storage tiers
US8180747B2 (en) 2007-11-12 2012-05-15 F5 Networks, Inc. Load sharing cluster file systems
US8352785B1 (en) 2007-12-13 2013-01-08 F5 Networks, Inc. Methods for generating a unified virtual snapshot and systems thereof
US8423592B2 (en) * 2008-04-11 2013-04-16 Sandisk Technologies Inc. Method and system for accessing a storage system with multiple file systems
US20090327405A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Enhanced Client And Server Systems for Operating Collaboratively Within Shared Workspaces
US8549582B1 (en) 2008-07-11 2013-10-01 F5 Networks, Inc. Methods for handling a multi-protocol content name and systems thereof
EP2184670A1 (en) * 2008-10-31 2010-05-12 Research In Motion Limited Method and system for remote media management on a touch screen device
US8171419B2 (en) * 2008-10-31 2012-05-01 Research In Motion Limited Method and system for remote media management on a touch screen device
US8918482B2 (en) * 2008-10-31 2014-12-23 Hewlett-Packard Development Company, L.P. User profile synchronization
US9535959B2 (en) * 2008-11-21 2017-01-03 Li Sun Method and apparatus for reconciliation of multiple sets of data
US8639661B2 (en) * 2008-12-01 2014-01-28 Microsoft Corporation Supporting media content revert functionality across multiple devices
US20110040788A1 (en) * 2009-08-14 2011-02-17 Ic Manage, Inc. Coherent File State System Distributed Among Workspace Clients
US10721269B1 (en) 2009-11-06 2020-07-21 F5 Networks, Inc. Methods and system for returning requests with javascript for clients before passing a request to a server
US8204860B1 (en) 2010-02-09 2012-06-19 F5 Networks, Inc. Methods and systems for snapshot reconstitution
US9195500B1 (en) 2010-02-09 2015-11-24 F5 Networks, Inc. Methods for seamless storage importing and devices thereof
JP4829368B1 (ja) * 2010-06-15 2011-12-07 株式会社東芝 ファイル処理プログラム、装置及び方法
US8347100B1 (en) 2010-07-14 2013-01-01 F5 Networks, Inc. Methods for DNSSEC proxying and deployment amelioration and systems thereof
US8660996B2 (en) * 2010-09-29 2014-02-25 Red Hat, Inc. Monitoring files in cloud-based networks
US9286298B1 (en) 2010-10-14 2016-03-15 F5 Networks, Inc. Methods for enhancing management of backup data sets and devices thereof
CN102567388B (zh) * 2010-12-17 2013-10-09 日电(中国)有限公司 数据更新设备和方法
US8943026B2 (en) 2011-01-14 2015-01-27 Apple Inc. Visual representation of a local backup
US8984029B2 (en) 2011-01-14 2015-03-17 Apple Inc. File system management
US9665594B2 (en) * 2011-01-14 2017-05-30 Apple Inc. Local backup
US8671073B2 (en) * 2011-03-23 2014-03-11 Verizon Patent And Licensing Inc. Synchronizing human resource database with authorization database
US20120310879A1 (en) * 2011-05-31 2012-12-06 Research In Motion Limited Method and system for data synchronization including file system abstraction
US8332357B1 (en) * 2011-06-10 2012-12-11 Microsoft Corporation Identification of moved or renamed files in file synchronization
US8396836B1 (en) 2011-06-30 2013-03-12 F5 Networks, Inc. System for mitigating file virtualization storage import latency
US8463850B1 (en) 2011-10-26 2013-06-11 F5 Networks, Inc. System and method of algorithmically generating a server side transaction identifier
US8370341B1 (en) * 2012-01-06 2013-02-05 Inkling Systems, Inc. Systems and methods for determining and facilitating content updates for a user device
US9020912B1 (en) 2012-02-20 2015-04-28 F5 Networks, Inc. Methods for accessing data in a compressed file system and devices thereof
US20130232178A1 (en) * 2012-03-01 2013-09-05 Sony Pictures Technologies, Inc. Connecting storyboard system to editorial system
CN102946403B (zh) * 2012-07-20 2015-09-09 珠海金山办公软件有限公司 一种用于云存储系统的解决文件冲突的方法及装置
US9519501B1 (en) 2012-09-30 2016-12-13 F5 Networks, Inc. Hardware assisted flow acceleration and L2 SMAC management in a heterogeneous distributed multi-tenant virtualized clustered system
US10348821B2 (en) * 2012-12-21 2019-07-09 Dropbox, Inc. Prioritizing structural operations and distributing changes in a synced online content management system
US9542423B2 (en) 2012-12-31 2017-01-10 Apple Inc. Backup user interface
US10375155B1 (en) 2013-02-19 2019-08-06 F5 Networks, Inc. System and method for achieving hardware acceleration for asymmetric flow connections
US9554418B1 (en) 2013-02-28 2017-01-24 F5 Networks, Inc. Device for topology hiding of a visited network
EP2796954B1 (de) * 2013-04-23 2015-11-25 Siemens Aktiengesellschaft Numerische Steuerung mit Benachrichtigung eines CAM-Systems bei Änderung des Teileprogramms
US10229134B2 (en) * 2013-06-25 2019-03-12 Box, Inc. Systems and methods for managing upgrades, migration of user data and improving performance of a cloud-based platform
US9531722B1 (en) 2013-10-31 2016-12-27 Google Inc. Methods for generating an activity stream
US9542457B1 (en) 2013-11-07 2017-01-10 Google Inc. Methods for displaying object history information
US9614880B1 (en) 2013-11-12 2017-04-04 Google Inc. Methods for real-time notifications in an activity stream
CN103699571A (zh) * 2013-11-25 2014-04-02 小米科技有限责任公司 一种文件同步方法、装置及电子设备
US9336228B2 (en) * 2013-12-18 2016-05-10 Verizon Patent And Licensing Inc. Synchronization of program code between revision management applications utilizing different version-control architectures
US9509772B1 (en) 2014-02-13 2016-11-29 Google Inc. Visualization and control of ongoing ingress actions
US9898520B2 (en) 2014-03-25 2018-02-20 Open Text Sa Ulc Systems and methods for seamless access to remotely managed documents using synchronization of locally stored documents
US20150347447A1 (en) * 2014-05-27 2015-12-03 Acer Cloud Technology Inc. Method and architecture for synchronizing files
US9536199B1 (en) 2014-06-09 2017-01-03 Google Inc. Recommendations based on device usage
US9507791B2 (en) 2014-06-12 2016-11-29 Google Inc. Storage system user interface with floating file collection
US10078781B2 (en) 2014-06-13 2018-09-18 Google Llc Automatically organizing images
US11838851B1 (en) 2014-07-15 2023-12-05 F5, Inc. Methods for managing L7 traffic classification and devices thereof
US20160055194A1 (en) * 2014-08-19 2016-02-25 Subodh C. Gupta Data synchronization management between devices
JP6037469B2 (ja) 2014-11-19 2016-12-07 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 情報管理システム、情報管理方法およびプログラム
US10182013B1 (en) 2014-12-01 2019-01-15 F5 Networks, Inc. Methods for managing progressive image delivery and devices thereof
US9870420B2 (en) 2015-01-19 2018-01-16 Google Llc Classification and storage of documents
US11895138B1 (en) 2015-02-02 2024-02-06 F5, Inc. Methods for improving web scanner accuracy and devices thereof
US10834065B1 (en) 2015-03-31 2020-11-10 F5 Networks, Inc. Methods for SSL protected NTLM re-authentication and devices thereof
US10404698B1 (en) 2016-01-15 2019-09-03 F5 Networks, Inc. Methods for adaptive organization of web application access points in webtops and devices thereof
US10797888B1 (en) 2016-01-20 2020-10-06 F5 Networks, Inc. Methods for secured SCEP enrollment for client devices and devices thereof
US10412198B1 (en) 2016-10-27 2019-09-10 F5 Networks, Inc. Methods for improved transmission control protocol (TCP) performance visibility and devices thereof
US11003632B2 (en) 2016-11-28 2021-05-11 Open Text Sa Ulc System and method for content synchronization
US10567492B1 (en) 2017-05-11 2020-02-18 F5 Networks, Inc. Methods for load balancing in a federated identity environment and devices thereof
US11301431B2 (en) 2017-06-02 2022-04-12 Open Text Sa Ulc System and method for selective synchronization
US10831719B2 (en) * 2017-08-29 2020-11-10 Western Digital Technologies, Inc. File consistency in shared storage using partial-edit files
US11223689B1 (en) 2018-01-05 2022-01-11 F5 Networks, Inc. Methods for multipath transmission control protocol (MPTCP) based session migration and devices thereof
US10833943B1 (en) 2018-03-01 2020-11-10 F5 Networks, Inc. Methods for service chaining and devices thereof
US12003422B1 (en) 2018-09-28 2024-06-04 F5, Inc. Methods for switching network packets based on packet data and devices
CN114521256A (zh) * 2019-09-16 2022-05-20 阿韦瓦软件有限责任公司 用于在网络上和通过网络进行双向文件共享和同步的计算机化的系统和方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3012254B2 (ja) * 1989-08-16 2000-02-21 日本電気株式会社 一覧情報送信方式
JPH06324928A (ja) * 1993-05-14 1994-11-25 Mitsubishi Electric Corp ログ生成装置とファイルの異なるバージョンの調停のための装置及び異なる場所にあるコンピュータファイルの異なるバージョンを調停するための装置
JPH07225709A (ja) * 1994-02-15 1995-08-22 Fujitsu Ltd データベース更新システム
US5745766A (en) 1994-09-19 1998-04-28 International Business Machines Corporation PC product registration and tracking
GB2305271A (en) 1995-09-15 1997-04-02 Ibm Proxy object recovery in an object-oriented environment
JPH09153056A (ja) * 1995-11-29 1997-06-10 Mitsubishi Electric Corp データ抽出処理方式
JP2830826B2 (ja) 1996-03-27 1998-12-02 日本電気株式会社 分散ファイルの同期システムと方法
JPH09330262A (ja) 1996-06-11 1997-12-22 Toshiba Corp バックアップシステム
US6298386B1 (en) * 1996-08-14 2001-10-02 Emc Corporation Network file server having a message collector queue for connection and connectionless oriented protocols
US6101508A (en) * 1997-08-01 2000-08-08 Hewlett-Packard Company Clustered file management for network resources
JP3471203B2 (ja) * 1997-10-17 2003-12-02 Necエレクトロニクス株式会社 ネットワークシステム
US6374266B1 (en) * 1998-07-28 2002-04-16 Ralph Shnelvar Method and apparatus for storing information in a data processing system
JP2000259473A (ja) * 1999-03-08 2000-09-22 Fuji Xerox Co Ltd データベース管理方式
US6647400B1 (en) * 1999-08-30 2003-11-11 Symantec Corporation System and method for analyzing filesystems to detect intrusions
GB9930124D0 (en) * 1999-12-21 2000-02-09 Ibm File system for a computer and method of synchronising sets of files
US6856993B1 (en) * 2000-03-30 2005-02-15 Microsoft Corporation Transactional file system
JP2001297025A (ja) * 2000-04-14 2001-10-26 Babcock Hitachi Kk データベース複製装置
US6636878B1 (en) * 2001-01-16 2003-10-21 Sun Microsystems, Inc. Mechanism for replicating and maintaining files in a spaced-efficient manner

Also Published As

Publication number Publication date
JP2005507100A (ja) 2005-03-10
WO2002097623A3 (en) 2003-04-03
DE60224030D1 (de) 2008-01-24
DE60224030T2 (de) 2008-11-13
CN1246776C (zh) 2006-03-22
EP1390846B1 (en) 2007-12-12
CA2447516A1 (en) 2002-12-05
AU2002344297B2 (en) 2008-01-10
US7711771B2 (en) 2010-05-04
EP1390846A2 (en) 2004-02-25
WO2002097623A2 (en) 2002-12-05
HK1058713A1 (en) 2004-05-28
CA2447516C (en) 2011-09-27
CN1516832A (zh) 2004-07-28
ATE381060T1 (de) 2007-12-15
US20020188667A1 (en) 2002-12-12

Similar Documents

Publication Publication Date Title
JP4255373B2 (ja) ネットワークファイルシステムのための管理および同期化アプリケーション
US11500897B2 (en) Allocation and reassignment of unique identifiers for synchronization of content items
AU2002344297A1 (en) Management and synchronization application for network file system
JP4359448B2 (ja) ファイルシステムフィルタドライバのためのファイルネームを管理するシステム及び方法
US10936547B2 (en) Filesystem replication using a minimal filesystem metadata changelog
EP1513065B1 (en) File system and file transfer method between file sharing devices
US7472254B2 (en) Systems and methods for modifying a set of data objects
US6665675B1 (en) Shared file system having a token-ring style protocol for managing meta-data
JP2009515264A (ja) 文書およびソースコードの制御のための方法およびシステム
US20080052307A1 (en) Composite user interface and framework
US20070150433A1 (en) Method for managing file in version control system
JPH0756789A (ja) ファイルシステム装置およびその操作方法
JPH07175704A (ja) ファイル装置およびデータオブジェクトアクセス方法
EP1422901A1 (en) Client driven synchronization of file and folder content in web publishing
KR20060121803A (ko) 모바일 디바이스 사용자 설정을 유지하기 위한 방법,시스템 및 프로그램 제품
JPH1021061A (ja) クライアントソフトウェア自動バージョンアップシステム
US7373393B2 (en) File system
JP4971717B2 (ja) ディレクトリ分散型記憶装置及びデータ処理要求移譲プログラム
US8667034B1 (en) System and method for preserving symbolic links by a storage virtualization system
JP2006031608A (ja) 計算機、ストレージシステム、計算機が行うファイル管理方法、およびプログラム
EP4002143A1 (en) Storage of file system items related to a versioned snapshot of a directory-based file system onto a key-object storage system
AU2021248108A1 (en) Data migration
JPH117445A (ja) 統合化文書管理装置
JP2006004024A (ja) ディレクトリサーバに実行させるためのプログラム
JPH0844609A (ja) データバックアップ方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050512

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080520

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080819

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080826

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080919

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080929

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081017

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20081024

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081119

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090106

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090127

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120206

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4255373

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120206

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130206

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130206

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140206

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term