(57)【特許請求の範囲】
【請求項１】
コンピューティング装置のプロセッサを有する装置であって、
前記プロセッサは、同期トリガーに応答して、前記コンピューティング装置のローカル・フォルダーとオンライン文書管理システムのリモート・フォルダーとの間のマッピングを同定し、前記ローカル・フォルダー内のローカル・ファイルを同定し、該ローカル・ファイルのリモート・コピーが前記リモート・フォルダーに存在するかどうかを判定するよう構成されるており、
前記プロセッサは、前記リモート・コピーが存在しないとき、前記ローカル・ファイルが前の同期トリガー後に修正されたかどうかを判定し、
前記ローカル・ファイルが前の同期トリガー後に修正されたときは前記ローカル・ファイルを前記リモート・フォルダーにアップロードし、あるいは
前記ローカル・ファイルが前の同期トリガー後に修正されなかったときは前記ローカル・ファイルを前記コンピューティング装置上のアーカイブ・フォルダーに移動させるよう構成されており、
前記プロセッサは、前記リモート・コピーが前記リモート・フォルダーに存在するとき、前記ローカル・コピーが前の同期トリガー後に修正されたかどうかを判定し、前記ローカル・ファイルが前記リモート・コピーより後に修正されたかどうかを判定し、前記ローカル・ファイルおよび前記リモート・コピーが異なるファイル・サイズをもつかどうかを判定し、
前記リモート・コピーが前の同期トリガー後に修正されており、前記ローカル・ファイルが前記リモート・コピーより後に修正されており、前記ローカル・ファイルおよび前記リモート・コピーが異なるファイル・サイズをもつときは、前記ローカル・ファイルを前記リモート・フォルダーにアップロードし、あるいは
前記リモート・コピーが前の同期トリガー後に修正されていない、または前記ローカル・ファイルが前記リモート・コピーより後に修正されていない、または前記ローカル・ファイルおよび前記リモート・コピーが異なるファイル・サイズをもたないときは、前記ローカル・ファイルの前記リモート・フォルダーへのアップロードをスキップするよう構成される、
装置。
【請求項２】
請求項１記載の装置であって、
前記プロセッサが、前記リモート・フォルダー内のリモート・ファイルを同定するよう構成され、前記リモート・ファイルのローカル・コピーが前記ローカル・フォルダーに存在するかどうかを判定するよう構成されており、
前記プロセッサが、前記ローカル・コピーが存在しないとき、前記リモート・ファイルが前の同期トリガー後に修正されたかどうかを判定し、
前記リモート・ファイルが前の同期トリガー後に修正されたときは前記リモート・ファイルを前記ローカル・フォルダーにダウンロードし、あるいは
前記リモート・ファイルが前の同期トリガー後に修正されなかったときは前記リモート・ファイルを前記オンライン文書管理システムのアーカイブ・フォルダーに移動させるよう構成されている、
装置。
【請求項３】
請求項２記載の装置であって、
前記プロセッサは、前記ローカル・コピーが存在するとき、前記リモート・ファイルが前の同期トリガー後に修正されたかどうかを判定し、前記リモート・ファイルが前記ローカル・コピーより後に修正されたかどうかを判定し、前記リモート・ファイルおよび前記ローカル・コピーが異なるファイル・サイズをもつかどうかを判定し、
前記リモート・ファイルが前の同期トリガー後に修正されており、前記リモート・ファイルが前記ローカル・コピーより後に修正されており、前記リモート・ファイルおよび前記ローカル・コピーが異なるファイル・サイズをもつときは、前記リモート・ファイルを前記ローカル・フォルダーにダウンロードし、あるいは
前記リモート・ファイルが前の同期トリガー後に修正されていない、前記リモート・ファイルが前記ローカル・コピーより後に修正されていない、または前記リモート・ファイルおよび前記ローカル・コピーが異なるファイル・サイズをもたないときは、前記リモート・ファイルの前記ローカル・フォルダーへのダウンロードをスキップするよう構成される、
装置。
【請求項４】
前記プロセッサが、前記ローカル・ファイルのリモート・コピーが前記リモート・フォルダーに存在するかどうかを判定するために、
前記リモート・フォルダーに記憶されているファイルを同定するためにアプリケーション・プログラミング・インターフェース（API）要求を前記オンライン文書管理システムに送信し、前記API要求への応答を前記ローカル・ファイルの名前と照合して前記ローカル・ファイルのリモート・コピーが前記リモート・フォルダーに存在するかどうかを判定するよう構成されている、
請求項１記載の装置。
【請求項５】
前記プロセッサが、前記ローカル・ファイルが前記リモート・コピーより後に修正されたかどうかを判定するために、前記リモート・コピーの最後に修正されたタイムスタンプを同定するためにアプリケーション・プログラミング・インターフェース（API）要求を前記オンライン文書管理システムに送信し、前記API要求への応答を前記ローカル・ファイルについての最後に修正されたタイムスタンプと比較して前記ローカル・ファイルが前記リモート・コピーより後に修正されたかどうかを判定するよう構成されている、
請求項１記載の装置。
【請求項６】
前記プロセッサが、前記ローカル・ファイルおよび前記リモート・ファイルが異なるファイル・サイズをもつかどうかを判定するために、
前記リモート・コピーのファイル・サイズを同定するためにアプリケーション・プログラミング・インターフェース（API）要求を前記オンライン文書管理システムに送信し、前記API要求への応答を前記ローカル・ファイルのファイル・サイズと比較して前記ローカル・ファイルおよび前記リモート・コピーが異なるファイル・サイズをもつかどうかを判定するよう構成されている、
請求項１記載の装置。
【請求項７】
コンピューティング装置のプロセッサによって実行される方法であって：
同期トリガーに応答して、前記コンピューティング装置のローカル・フォルダーとオンライン文書管理システムのリモート・フォルダーとの間のマッピングを同定する段階と、
前記ローカル・フォルダー内のローカル・ファイルを同定する段階と、
前記ローカル・ファイルのリモート・コピーが前記リモート・フォルダーに存在するかどうかを判定する段階と、
前記リモート・コピーが存在しないとき、前記ローカル・ファイルが前の同期トリガー後に修正されたかどうかを判定し、
前記ローカル・ファイルが前の同期トリガー後に修正されたときは前記ローカル・ファイルを前記リモート・フォルダーにアップロードし、あるいは
前記ローカル・ファイルが前の同期トリガー後に修正されなかったときは前記ローカル・ファイルを前記コンピューティング装置上のアーカイブ・フォルダーに移動させるステップを実行する段階と、
前記リモート・コピーが存在するとき、
前記ローカル・コピーが前の同期トリガー後に修正されたかどうかを判定し、
前記ローカル・ファイルが前記リモート・コピーより後に修正されたかどうかを判定し、
前記ローカル・ファイルおよび前記リモート・コピーが異なるファイル・サイズをもつかどうかを判定し、
前記リモート・コピーが前の同期トリガー後に修正されており、前記ローカル・ファイルが前記リモート・コピーより後に修正されており、前記ローカル・ファイルおよび前記リモート・コピーが異なるファイル・サイズをもつときは、前記ローカル・ファイルを前記リモート・フォルダーにアップロードし、あるいは、
前記リモート・コピーが前の同期トリガー後に修正されていない、前記ローカル・ファイルが前記リモート・コピーより後に修正されていないまたは前記ローカル・ファイルおよび前記リモート・コピーが異なるファイル・サイズをもたないときは、前記ローカル・ファイルの前記リモート・フォルダーへのアップロードをスキップするステップを実行する段階とを含む、
方法。
【請求項８】
請求項７記載の方法であって、
前記リモート・フォルダー内のリモート・ファイルを同定する段階と、
前記リモート・ファイルのローカル・コピーが前記ローカル・フォルダーに存在するかどうかを判定する段階と、
前記ローカル・コピーが存在しないとき、前記リモート・ファイルが前の同期トリガー後に修正されたかどうかを判定し、
前記リモート・ファイルが前の同期トリガー後に修正されたときは前記リモート・ファイルを前記ローカル・フォルダーにダウンロードし、あるいは
前記リモート・ファイルが前の同期トリガー後に修正されなかったときは前記リモート・ファイルを前記オンライン文書管理システムのアーカイブ・フォルダーに移動させる段階とをさらに含む、
方法。
【請求項９】
請求項８記載の方法であって、
前記ローカル・コピーが存在するとき、
前記リモート・ファイルが前の同期トリガー後に修正されたかどうかを判定し、
前記リモート・ファイルが前記ローカル・コピーより後に修正されたかどうかを判定し、
前記リモート・ファイルおよび前記ローカル・コピーが異なるファイル・サイズをもつかどうかを判定し、
前記リモート・ファイルが前の同期トリガー後に修正されており、前記リモート・ファイルが前記ローカル・コピーより後に修正されており、前記リモート・ファイルおよび前記ローカル・コピーが異なるファイル・サイズをもつときは、前記リモート・ファイルを前記ローカル・フォルダーにダウンロードし、あるいは
前記リモート・ファイルが前の同期トリガー後に修正されていない、前記リモート・ファイルが前記ローカル・コピーより後に修正されていない、または前記リモート・ファイルおよび前記ローカル・コピーが異なるファイル・サイズをもたないときは、前記リモート・ファイルの前記ローカル・フォルダーへのダウンロードをスキップするステップを実行することをさらに含む、
方法。
【請求項１０】
前記ローカル・ファイルのリモート・コピーが前記リモート・フォルダーに存在するかどうかを判定することが、
前記リモート・フォルダーに記憶されているファイルを同定するためにアプリケーション・プログラミング・インターフェース（API）要求を前記オンライン文書管理システムに送信し、
前記API要求への応答を前記ローカル・ファイルの名前と照合して前記ローカル・ファイルのリモート・コピーが前記リモート・フォルダーに存在するかどうかを判定することを含む、
請求項７記載の方法。
【請求項１１】
前記ローカル・ファイルが前記リモート・コピーより後に修正されたかどうかを判定することが、
前記リモート・コピーの最後に修正されたタイムスタンプを同定するためにアプリケーション・プログラミング・インターフェース（API）要求を前記オンライン文書管理システムに送信し、
前記API要求への応答を前記ローカル・ファイルについての最後に修正されたタイムスタンプと比較して前記ローカル・ファイルが前記リモート・コピーより後に修正されたかどうかを判定することを含む、
請求項７記載の方法。
【請求項１２】
前記ローカル・ファイルおよび前記リモート・ファイルが異なるファイル・サイズをもつかどうかを判定することが、
前記リモート・コピーのファイル・サイズを同定するためにアプリケーション・プログラミング・インターフェース（API）要求を前記オンライン文書管理システムに送信し、
前記API要求への応答を前記ローカル・ファイルのファイル・サイズと比較して前記ローカル・ファイルおよび前記リモート・コピーが異なるファイル・サイズをもつかどうかを判定することを含む、
請求項７記載の方法。
【請求項１３】
命令を具現する非一時的なコンピュータ可読媒体であって、前記命令は、コンピューティング装置のプロセッサによって実行されたときに、該プロセッサに、
同期トリガーに応答して、前記コンピューティング装置のローカル・フォルダーとオンライン文書管理システムのリモート・フォルダーとの間のマッピングを同定する段階と、
前記ローカル・フォルダー内のローカル・ファイルを同定する段階と、
前記ローカル・ファイルのリモート・コピーが前記リモート・フォルダーに存在するかどうかを判定する段階と、
前記リモート・コピーが存在しないとき、前記ローカル・ファイルが前の同期トリガー後に修正されたかどうかを判定し、
前記ローカル・ファイルが前の同期トリガー後に修正されたときは前記ローカル・ファイルを前記リモート・フォルダーにアップロードし、あるいは
前記ローカル・ファイルが前の同期トリガー後に修正されなかったときは前記ローカル・ファイルを前記コンピューティング装置上のアーカイブ・フォルダーに移動させる段階と、
前記リモート・コピーが存在するとき、
前記ローカル・コピーが前の同期トリガー後に修正されたかどうかを判定し、
前記ローカル・ファイルが前記リモート・コピーより後に修正されたかどうかを判定し、
前記ローカル・ファイルおよび前記リモート・コピーが異なるファイル・サイズをもつかどうかを判定し、
前記リモート・コピーが前の同期トリガー後に修正されており、前記ローカル・ファイルが前記リモート・コピーより後に修正されており、前記ローカル・ファイルおよび前記リモート・コピーが異なるファイル・サイズをもつときは、前記ローカル・ファイルを前記リモート・フォルダーにアップロードし、あるいは、
前記リモート・コピーが前の同期トリガー後に修正されていない、前記ローカル・ファイルが前記リモート・コピーより後に修正されていないまたは前記ローカル・ファイルおよび前記リモート・コピーが異なるファイル・サイズをもたないときは、前記ローカル・ファイルの前記リモート・フォルダーへのアップロードをスキップすることを実行する段階とを実行するよう指令する、
非一時的なコンピュータ可読媒体。
【請求項１４】
請求項１３記載の非一時的なコンピュータ可読媒体であって、前記命令が前記プロセッサにさらに、
前記リモート・フォルダー内のリモート・ファイルを同定する段階と、
前記リモート・ファイルのローカル・コピーが前記ローカル・フォルダーに存在するかどうかを判定する段階と、
前記ローカル・コピーが存在しないとき、前記リモート・ファイルが前の同期トリガー後に修正されたかどうかを判定し、
前記リモート・ファイルが前の同期トリガー後に修正されたときは前記リモート・ファイルを前記ローカル・フォルダーにダウンロードし、あるいは
前記リモート・ファイルが前の同期トリガー後に修正されなかったときは前記リモート・ファイルを前記オンライン文書管理システムのアーカイブ・フォルダーに移動させる段階とを実行するよう指令する、
非一時的なコンピュータ可読媒体。
【請求項１５】
請求項１４記載の非一時的なコンピュータ可読媒体であって、前記命令が前記プロセッサにさらに、
前記ローカル・コピーが存在するとき、
前記リモート・ファイルが前の同期トリガー後に修正されたかどうかを判定し、
前記リモート・ファイルが前記ローカル・コピーより後に修正されたかどうかを判定し、
前記リモート・ファイルおよび前記ローカル・コピーが異なるファイル・サイズをもつかどうかを判定し、
前記リモート・ファイルが前の同期トリガー後に修正されており、前記リモート・ファイルが前記ローカル・コピーより後に修正されており、前記リモート・ファイルおよび前記ローカル・コピーが異なるファイル・サイズをもつときは、前記リモート・ファイルを前記ローカル・フォルダーにダウンロードし、あるいは
前記リモート・ファイルが前の同期トリガー後に修正されていない、前記リモート・ファイルが前記ローカル・コピーより後に修正されていない、または前記リモート・ファイルおよび前記ローカル・コピーが異なるファイル・サイズをもたないときは、前記リモート・ファイルの前記ローカル・フォルダーへのダウンロードをスキップするステップを実行するよう指令する、
非一時的なコンピュータ可読媒体。
【請求項１６】
前記ローカル・ファイルのリモート・コピーが前記リモート・フォルダーに存在するかどうかを判定するための命令が、
前記リモート・フォルダーに記憶されているファイルを同定するためにアプリケーション・プログラミング・インターフェース（API）要求を前記オンライン文書管理システムに送信し、
前記API要求への応答を前記ローカル・ファイルの名前と照合して前記ローカル・ファイルのリモート・コピーが前記リモート・フォルダーに存在するかどうかを判定するための命令を含む、
請求項１３記載の非一時的なコンピュータ可読媒体。
【請求項１７】
前記ローカル・ファイルが前記リモート・コピーより後に修正されたかどうかを判定するための命令が、
前記リモート・コピーの最後に修正されたタイムスタンプを同定するためにアプリケーション・プログラミング・インターフェース（API）要求を前記オンライン文書管理システムに送信し、
前記API要求への応答を前記ローカル・ファイルについての最後に修正されたタイムスタンプと比較して前記ローカル・ファイルが前記リモート・コピーより後に修正されたかどうかを判定するための命令を含む、
請求項１３記載の非一時的なコンピュータ可読媒体。
【請求項１８】
前記ローカル・ファイルおよび前記リモート・ファイルが異なるファイル・サイズをもつかどうかを判定するための命令が、
前記リモート・コピーのファイル・サイズを同定するためにアプリケーション・プログラミング・インターフェース（API）要求を前記オンライン文書管理システムに送信し、
前記API要求への応答を前記ローカル・ファイルのファイル・サイズと比較して前記ローカル・ファイルおよび前記リモート・コピーが異なるファイル・サイズをもつかどうかを判定するための命令を含む、
請求項１３記載の非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オンライン文書管理の分野に、詳細にはクライアント間での文書の同期およびオンライン文書管理システムに関する。
【背景技術】
【０００２】
オンライン文書管理システムによりユーザーはクラウドにおいてリモートに文書を記憶し、アクセスし、管理することができる。基本的な記憶および検索サービスに加え、文書管理システムは、カスタム文書型の生成、文書についてのメタデータの割り当て、文書のインデックス付け、文書についての光学式文字認識（OCR）サービス、文書についてのバージョン管理などといった追加的なサービスをユーザーに提供することがある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
クライアント・コンピュータは、該クライアント・コンピュータから文書管理システムにファイルをアップロードし、文書管理システムから該クライアント・コンピュータに文書をダウンロードするために、典型的には複製サービスを利用する。この同期プロセスは定期的に行なわれる。クライアントにおいてアップロード複製プロセスが行なわれるとき、クライアントにおいて作成された新規文書とともに最後の複製以来クライアントにおいて修正された文書が文書管理システムにアップロードされる。ダウンロード複製プロセスが行なわれるときには、文書管理システムにおいて作成された新規文書とともに文書管理システムにおいて修正された文書がクライアントにダウンロードされる。しかしながら、文書管理システムにおける共通の文書にアクセスをもつ調整する複数のクライアントの協働的性質のため、クライアントにおいてまたは文書管理システムにおいて、もしあるとすればどの文書がアーカイブされるべきかについての問題が生じることがある。結果として、時間とともに、もはや必要ないかもしれない文書が蓄積していく。文書を修正および／または作成するために多くのユーザーが協働すると、どの文書が古い、あるいはそうでなくても最新でないかを決定するのは難しくなる。これは、文書管理システムにおける文書へのアクセスを共有するユーザーの間に混乱を増進することがある。
【課題を解決するための手段】
【０００４】
本稿に記載される実施形態は、クライアントと文書管理システムとの間の文書同期機能を提供する。同期プロセスの間、文書の修正時刻およびサイズが解析されて、該文書がクライアントと文書管理システムとの間で同期されるべきかまたはアーカイブされるべきかが決定される。アーカイブされたファイルは、ユーザーによって、最新でない、古くなっているまたはもはや協働プロセスにおいてアクティブでないと考えられる。これは、文書管理システムにおける共通の文書が時間がたつとともに修正または削除されるので、ユーザーが経験する混乱の量を減らすことができる。
【０００５】
ある実施形態では、コンピューティング装置のプロセッサが、同期トリガーに応答して、コンピューティング装置のローカル・フォルダーとオンライン文書管理システムのリモート・フォルダーとの間のマッピングを同定し、ローカル・フォルダー内のローカル・ファイルを同定し、該ローカル・ファイルのリモート・コピーが前記リモート・フォルダーに存在するかどうかを判定するよう構成される。プロセッサはさらに、リモート・コピーが存在しないとき、前記ローカル・ファイルが前の同期トリガー後に修正されたかどうかを判定し、前記ローカル・ファイルが前の同期トリガー後に修正されたときは前記ローカル・ファイルを前記リモート・フォルダーにアップロードし、あるいは前記ローカル・ファイルが前の同期トリガー後に修正されなかったときは前記ローカル・ファイルを前記コンピューティング装置上のアーカイブ・フォルダーに移動させるよう構成される。プロセッサはさらに、リモート・コピーが存在するとき、前記ローカル・コピーが前の同期トリガー後に修正されたかどうかを判定し、前記ローカル・ファイルが前記リモート・コピーより後に修正されたかどうかを判定し、前記ローカル・ファイルおよび前記リモート・コピーが異なるファイル・サイズをもつかどうかを判定するよう構成される。プロセッサはさらに、前記リモート・コピーが前の同期トリガー後に修正されており、前記ローカル・ファイルが前記リモート・コピーより後に修正されており、前記ローカル・ファイルおよび前記リモート・コピーが異なるファイル・サイズをもつときは、前記ローカル・ファイルを前記リモート・フォルダーにアップロードするよう構成される。プロセッサはさらに、前記リモート・コピーが前の同期トリガー後に修正されていない、前記ローカル・ファイルが前記リモート・コピーより後に修正されていないまたは前記ローカル・ファイルおよび前記リモート・コピーが異なるファイル・サイズをもたないときは、前記ローカル・ファイルの前記リモート・フォルダーへのアップロードをスキップするよう構成される。
【０００６】
もう一つの実施形態は、クライアントをオンライン文書管理システムと同期させる方法である。本方法は、同期トリガーに応答して、コンピューティング装置のローカル・フォルダーとオンライン文書管理システムのリモート・フォルダーとの間のマッピングを同定する段階と、ローカル・フォルダー内のローカル・ファイルを同定する段階と、該ローカル・ファイルのリモート・コピーが前記リモート・フォルダーに存在するかどうかを判定する段階とを含む。本方法はさらに、リモート・コピーが存在しないとき、前記ローカル・ファイルが前の同期トリガー後に修正されたかどうかを判定する段階と、前記ローカル・ファイルが前の同期トリガー後に修正されたときは前記ローカル・ファイルを前記リモート・フォルダーにアップロードし、あるいは前記ローカル・ファイルが前の同期トリガー後に修正されなかったときは前記ローカル・ファイルを前記コンピューティング装置上のアーカイブ・フォルダーに移動させるステップを実行する段階とを含む。本方法はさらに、リモート・コピーが存在するとき、前記ローカル・コピーが前の同期トリガー後に修正されたかどうかを判定し、前記ローカル・ファイルが前記リモート・コピーより後に修正されたかどうかを判定し、前記ローカル・ファイルおよび前記リモート・コピーが異なるファイル・サイズをもつかどうかを判定するステップを実行することを含む。本方法はさらに、前記リモート・コピーが前の同期トリガー後に修正されており、前記ローカル・ファイルが前記リモート・コピーより後に修正されており、前記ローカル・ファイルおよび前記リモート・コピーが異なるファイル・サイズをもつときは、前記ローカル・ファイルを前記リモート・フォルダーにアップロードし、あるいは、前記リモート・コピーが前の同期トリガー後に修正されていない、前記ローカル・ファイルが前記リモート・コピーより後に修正されていないまたは前記ローカル・ファイルおよび前記リモート・コピーが異なるファイル・サイズをもたないときは、前記ローカル・ファイルの前記リモート・フォルダーへのアップロードをスキップするステップを実行することを含む。
【０００７】
もう一つの実施形態は、命令を具現する非一時的なコンピュータ可読媒体である。前記命令は、コンピューティング装置のプロセッサによって実行されたときに、該プロセッサに、同期トリガーに応答して、コンピューティング装置のローカル・フォルダーとオンライン文書管理システムのリモート・フォルダーとの間のマッピングを同定する段階と、ローカル・フォルダー内のローカル・ファイルを同定する段階と、該ローカル・ファイルのリモート・コピーが前記リモート・フォルダーに存在するかどうかを判定する段階とを実行するよう指令するものである。前記命令はさらに、前記プロセッサに、リモート・コピーが存在しないとき、前記ローカル・ファイルが前の同期トリガー後に修正されたかどうかを判定する段階と、前記ローカル・ファイルが前の同期トリガー後に修正されたときは前記ローカル・ファイルを前記リモート・フォルダーにアップロードし、あるいは前記ローカル・ファイルが前の同期トリガー後に修正されなかったときは前記ローカル・ファイルを前記コンピューティング装置上のアーカイブ・フォルダーに移動させるよう指令する。前記命令はさらに、前記プロセッサに、リモート・コピーが存在するとき、前記ローカル・コピーが前の同期トリガー後に修正されたかどうかを判定し、前記ローカル・ファイルが前記リモート・コピーより後に修正されたかどうかを判定し、前記ローカル・ファイルおよび前記リモート・コピーが異なるファイル・サイズをもつかどうかを判定するよう指令する。前記命令はさらに、前記プロセッサに、前記リモート・コピーが前の同期トリガー後に修正されており、前記ローカル・ファイルが前記リモート・コピーより後に修正されており、前記ローカル・ファイルおよび前記リモート・コピーが異なるファイル・サイズをもつときは、前記ローカル・ファイルを前記リモート・フォルダーにアップロードし、あるいは、前記リモート・コピーが前の同期トリガー後に修正されていない、前記ローカル・ファイルが前記リモート・コピーより後に修正されていないまたは前記ローカル・ファイルおよび前記リモート・コピーが異なるファイル・サイズをもたないときは、前記ローカル・ファイルの前記リモート・フォルダーへのアップロードをスキップするよう指令する。
【０００８】
他の例示的実施形態は後述されることがありうる。
【図面の簡単な説明】
【０００９】
本発明のいくつかの実施形態についてここで単に例として、付属の図面を参照して記述する。すべての図面において同じ参照符号は同じ要素または同じ型の要素を表わす。
【図１】ある例示的実施形態における文書協働システムのブロック図である。
【図２】ある例示的実施形態における図１のコンピューティング装置のブロック図である。
【図３】ある例示的実施形態における、ファイル・アップロードを利用してコンピューティング装置をオンライン文書管理システムと同期させる方法を示すフローチャートである。
【図４】ある例示的実施形態における、ファイル・ダウンロードを利用してコンピューティング装置をオンライン文書管理システムと同期させる方法を示すフローチャートである。
【図５】ある例示的実施形態における、もう一つの文書協働システムのブロック図である。
【図６】ある例示的実施形態における、所望される機能を実行するよう、プログラムされた命令を実行するよう構成された処理システムのブロック図である。
【発明を実施するための形態】
【００１０】
図面および以下の記述は、本発明の個別的な例示的実施形態を例解する。よって、本稿において明示的に記述または図示されなくても、本発明の原理を具現し、本発明の範囲内に含まれるさまざまな構成を当業者が考案できるであろうことは理解される。さらに、本稿に記載される任意の例は、本発明の原理を理解することにおいて助けとなることが意図されており、そのように個別的に記載される例および条件に限定されることなく解釈されるものである。結果として、本発明は、以下に記述する個別的な実施形態または例にではなく、請求項およびその等価物によって限定される。
【００１１】
図１は、ある例示的実施形態における文書協働システム（document  collaboration  system）のブロック図である。この実施形態では、システム１００は、オンライン文書管理システム１１０を含む。オンライン文書管理システム１１０は、コンピューティング装置１０２が協働文書環境に参加することを許容するよう、インターネット１０８に結合されている。この実施形態では、文書管理システム１１０は、コンピューティング装置１０２のための文書をリモートに記憶し、管理することができる任意のコンポーネント、システムまたは装置を含む。たとえば、文書管理システム１１０は、コンピューティング装置１０２がファイルを文書管理システム１１０にアップロードする、ファイルを文書管理システム１１０からダウンロードする、ファイルをチェックする、ファイルをロックするなどすることを許容する一つまたは複数のファイル・サーバーを含んでいてもよい。文書管理システム１１０は、クラウド記憶システムまたはオンライン・ファイル管理システムおよび／またはサービスとも称されることがある。
【００１２】
この実施形態では、三つのコンピューティング装置１０２が示されているが、システム１００の実装は実装上の選択として、より多数またはより少数のコンピューティング装置１０２を含んでいてもよい。また、システム１００は必ずしも図１に示される特定のコンピューティング装置１０２に限定されない。図１では、コンピューティング装置１０２の一つは、ローカル・エリア・ネットワーク（LAN）１０４を利用してインターネット１０８に結合されるコンピュータを含む。LAN  １０４の一例はイーサネット〔登録商標〕である。図１ではまた、コンピューティング装置１０２のもう一つが、電波アクセス・ネットワーク（RAN）１０６を使ってインターネット１０８に結合されるスマートフォンを含む。RAN  １０６のいくつかの例はWi-Fiネットワーク、グローバル移動通信システム（GSM〔登録商標〕）ネットワーク、符号分割多重アクセス（CDMA）ネットワークなどといったセルラー・ネットワークを含む。コンピューティング装置１０２のもう一つのものは、やはりRAN  １０６を使ってインターネット１０８に結合するタブレット・コンピュータを含む。
【００１３】
この実施形態では、コンピューティング装置１０２は、ローカルに記憶されたファイルを文書管理システム１１０と同期させることができる任意のコンポーネント、システムまたは装置を有する。たとえば、コンピュータは、該コンピュータのユーザー（図示せず）が他のユーザー（たとえば前記スマートフォンおよび／または前記タブレットのユーザーたち）と協働することを許容するよう、LAN  １０４およびインターネット１０８を介して、ローカルに記憶されたファイルを文書管理システム１１０と同期させてもよい。同様に、前記スマートフォンは、該スマートフォンのユーザー（図示せず）が他のユーザー（たとえば前記コンピュータおよび／または前記タブレットのユーザーたち）と協働することを許容するよう、RAN  １０６およびインターネット１０８を介して、ローカルに記憶されたファイルを文書管理システム１１０と同期させてもよい。前記タブレットは、該タブレットのユーザー（図示せず）が他のユーザー（たとえば前記コンピュータおよび／または前記スマートフォンのユーザーたち）と協働することを許容するよう、RAN  １０６およびインターネット１０８を介して、ローカルに記憶されたファイルを文書管理システム１１０と同期させてもよい。
【００１４】
文書協働に関する一つの問題は、望まれないファイルが、文書管理システム１１０でリモートに、あるいはコンピューティング装置１０２において増殖する可能性があることである。たとえば、文書管理システム１１０においてリモート・ファイルが削除される場合、そのリモート・ファイルのローカル・コピーがコンピューティング装置１０２においてどのように扱われるべきかを決定することが難しいことがある。一つの可能性は、単に、そのローカル・コピーがその後の同期プロセスにおいて無視されるということである。しかしながら、これは、コンピューティング装置１０２において多数の使われないファイルが記憶される結果となりうる。その結果、ユーザーはそのローカル・ファイルが無視されるべきか、保存されるべきか、そのファイルの将来の編集のためのテンプレートとして使われるべきかなどについて不確かになりうる。もう一つの可能性は、前記リモート・ファイルのそのローカル・コピーがコンピューティング装置１０２において自動的に削除されるというものである。だが、これは、ユーザーが、リモート・ファイルが（たとえば別のユーザーによって）文書管理システム１１０から削除されたことに気づかずにローカル・コピーを修正してしまった場合に、作業が失われる結果となりうる。
【００１５】
逆の場合において、コンピューティング装置１０２においてローカル・ファイルが削除される場合、そのローカル・ファイルのリモート・コピーが文書管理システム１１０においてどのように扱われるべきかを決定することが難しいことがある。一つの可能性は、単に、そのリモート・コピーがその後の同期プロセスにおいて無視されるということである。しかしながら、これは、多数の使われないファイルが文書管理システム１１０によって記憶される結果となりうる。その結果、ユーザーはそのリモート・ファイルが無視されるべきか、保存されるべきか、そのファイルの将来の編集のためのテンプレートとして使われるべきかなどについて不確かになりうる。もう一つの可能性は、前記ローカル・ファイルのそのリモート・コピーが文書管理システム１１０において自動的に削除されるというものである。だが、これは、ユーザーが、前記ローカル・ファイルがコンピューティング装置１０２から削除されたことに気づかずにリモート・コピーを修正してしまった場合に、作業が失われる結果となりうる。
【００１６】
記載した実施形態では、コンピューティング装置１０２は、ファイルが（ローカルにまたはリモートに）同期されるべきかアーカイブされるべきかを決定するために解析プロセスを利用して、文書管理システム１１０との同期プロセスを実行することができる。アーカイブされたファイルについては、ユーザーは、最新でない、古くなっている、あるいは協働プロセスにおいてもはやアクティブでないと考えることができる。これは、文書管理システム１１０における共通の文書が時間がたつとともに修正または削除されるので、ユーザーが経験しうる混乱の量を減らすことができる。
【００１７】
図２は、ある例示的実施形態における図１のコンピューティング装置１０２のブロック図である。この実施形態では、コンピューティング装置１０２はプロセッサ２０２およびメモリ２０４を含む。プロセッサ２０２は、機能を実行することができる任意のハードウェア装置を含む。プロセッサ２０２は、一つまたは複数の中央処理ユニット（CPU）、マイクロプロセッサ、デジタル信号プロセッサ（DSP）、特定用途向け集積回路（ASIC）などを含みうる。プロセッサのいくつかの例は、インテル（登録商標）コア（商標）プロセッサ、アドバンスト・リスク・マシーンズ（ARM（登録商標））プロセッサなどを含む。
【００１８】
メモリ２０４は、データを記憶することができる任意のハードウェア装置を含む。たとえば、メモリ２０４は、ユーザーがローカル・ファイルを吟味および／または修正することを許容するために、文書管理システム１１０からダウンロードされたファイルのローカル・コピーを記憶してもよい。メモリ２０４はまた、ユーザーによって作成された、文書管理システム１１０とまだ同期されていないファイルをも記憶してもよい。たとえば、ユーザーは、ワードプロセシング・アプリケーションを使って新規ファイルを作成し、該ファイルについての編集プロセスの間に該ファイルをメモリ２０６に記憶してもよい。メモリ２０６は、一つまたは複数の揮発性または不揮発性動的ランダム・アクセス・メモリ（DRAM）デバイス、フラッシュ・デバイス、揮発性または不揮発性静的RAMデバイス、ハードドライブ、ソリッドステートディスク（SSD）などを含んでいてもよい。不揮発性DRAMおよびSRAMのいくつかの例は、バックアップ・バッテリー付きのDRAMおよびバックアップ・バッテリー付きのSRAMを含む。
【００１９】
この実施形態について、コンピューティング装置１０２が文書管理システム１１０へのアクセスをもち、オンライン文書協働環境に参加すると想定する。図３は、ある例示的実施形態における、ファイル・アップロードを利用してコンピューティング装置をオンライン文書管理システムと同期させる方法を示すフローチャートである。方法３００のステップは、図１〜図２を参照して記述されるが、当業者は方法３００は他のシステムで実行されてもよいことを理解するであろう。本稿で記述するフローチャートのステップはすべてを含んだものではなく、示されない他のステップを含むこともある。本稿に記載されるステップは、別の順序で実行されてもよい。一般に、方法３００は同期トリガーに応答してコンピューティング装置１０２によって実行される。同期トリガーは定期的に発生してもよく（たとえば一時間に一回、毎日特定の時刻に、ファイルのローカル・コピーの保存時になど）、あるいは要求があったときに発生してもよい（たとえば、ユーザーによって手動で同期される）。
【００２０】
同期トリガーに応答して、プロセッサ２０２は、コンピューティング装置１０２のローカル・フォルダーと文書管理システム１１０のリモート・フォルダーとの間のマッピングを同定する（図３のステップ３０２参照）。マッピングは、ユーザーが他のユーザーとの文書協働プロセスに参加することを許容するよう、該ユーザーによってあらかじめ決定されていてもよい。たとえば、ユーザーは、「ファイナンス」と呼ばれるコンピューティング装置１０２におけるローカル・フォルダーを作成し、該ローカル・フォルダーを文書管理システム１１０に記憶されている「ファイナンス・プロジェクト」と呼ばれるリモート・フォルダーにマッピングしてもよい。これは、ユーザーが、ローカル・フォルダーに格納されているファイルをリモート・フォルダーと同期させることを許容する。
【００２１】
プロセッサ２０２は、ローカル・フォルダー内に記憶されているローカル・ファイルを同定する（ステップ３０４参照）。ユーザーは、ファイルをローカル・フォルダーにドラッグアンドドロップしてもよいし、ユーザーは文書管理システム１１０からファイルをローカル・フォルダーに以前にダウンロードしたのであってもよい、など。プロセッサ２０２は、ローカル・ファイルのリモート・コピーが文書管理システム１１０に存在するかどうかを判定する（ステップ３０６）。文書管理システム１１０が、リモート・フォルダーに格納されているファイルの内容をリストすることをコンピューティング装置１０２に許容するアプリケーション・プログラミング・インターフェース（API）を含む場合、リモート・フォルダーに格納されているファイルまたは文書を同定するファイル・リストまたは他の情報を求めるAPIクエリーがコンピューティング装置１０２によって生成され、文書管理システム１１０に伝送されてもよい。リモート・コピーが文書管理システム１１０に存在しない場合には、プロセッサ２０２は、前記ローカル・ファイルが前の同期トリガー後に修正されたかどうかを判定する（ステップ３０８）。
【００２２】
先に論じたように、同期トリガーまたは同期プロセスは、定期的に、スケジュールに基づいて、あるいはユーザーからの要求時に、などに行なわれてもよい。プロセッサ２０２は、ローカル・ファイルのタイムスタンプを、前の同期トリガーが発生した時刻と比較して、前の同期トリガー以降ローカル・ファイルが変化したかどうかを判定してもよい。これは、前の同期トリガー後にユーザーがローカル・ファイルに対して変更を行なった場合に生起しうる。ローカル・ファイルが変化していたら、プロセッサ２０２は、前記ローカル・ファイルを文書管理システム１１０における前記リモート・フォルダーにアップロードする（ステップ３１８参照）。しかしながら、ローカル・ファイルが前の同期トリガー以来変化していなければ、プロセッサ２０２は、前記ローカル・ファイルをアーカイブ・フォルダーに移動させる（ステップ３１０参照）。ローカル・ファイルをアーカイブ・フォルダーに移動させることは、そのローカル・ファイルをローカル・フォルダーから除去し、それでいてそのローカル・ファイルのコピーをユーザーのためにアーカイブ・フォルダーにおいて保持する。この場合、そのファイルは文書管理システム１１０には存在していなかったものであり、ローカル・ファイルは前の同期トリガー以来変化していなかった。このことは、文書管理システム１１０において記憶されているローカル・ファイルのリモート・バージョンが削除される（たとえば別のユーザーによって削除される）ときに起こりうる。協働環境では、ファイルは、もはや必要とされない場合には、文書管理システム１１０において削除されうる。ユーザーにとってまだ有用であるかもしれない前記ローカル・ファイルをコンピューティング装置１０２において単に削除するのではなく、ローカル・ファイルはコンピューティング装置１０２においてアーカイブされる。同様に、コンピューティング装置１０２においてローカル・ファイルを単に無視することは無用にローカル・フォルダーをユーザーにとってより混乱したものとしてしまうかもしれず、そうではなく、ローカル・ファイルはコンピューティング装置１０２においてアーカイブされる。
【００２３】
再びステップ３０６に戻って、ローカル・ファイルのリモート・コピーがリモート・フォルダーに存在する場合、プロセッサ２０２は、前記ローカル・ファイルが前の同期トリガー後に修正されていなければ、前記ローカル・ファイルの前記リモート・フォルダーへのアップロードをスキップする（ステップ３１２参照）。このことは、ファイルがコンピューティング装置１０２のユーザーによってアクティブに編集されていないときに起こりうる。この場合、ローカル・ファイルに変更がされていないのだから、ローカル・ファイルを文書管理システム１１０にアップロードすることは不要であろう。しかしながら、前の同期トリガー以来ローカル・ファイルが変更されていた場合、プロセッサ２０２は、前記ローカル・ファイルが前記リモート・コピーより後に修正されたかどうかを判定する（ステップ３１４参照）。そうするために、プロセッサ２０２は、リモート・ファイルに関する文書管理システム１１０へのAPI要求を生成してもよい。該API要求は、文書管理システム１１０がリモート・ファイルについてのタイムスタンプ情報を返すことを許容し、該タイムスタンプ情報は、プロセッサ２０２により、ローカル・ファイルがリモート・ファイルより後に修正されたかどうかを判定するために使用されることができる。ローカル・ファイルがリモート・ファイルより後に修正されていなかったら、プロセッサ２０２はローカル・ファイルのリモート・フォルダーへのアップロードをスキップする。
【００２４】
ローカル・ファイルがリモート・ファイルより後に修正されていたら、プロセッサ２０２は、ローカル・ファイルおよびリモート・ファイルが異なるサイズをもつかどうかを判定する（ステップ３１６参照）。場合によっては、ファイルが開かれ、変更がなされないことがある。そのファイルがその後閉じられたとき、そのファイルについてのタイムスタンプが修正されることがある。ローカル・ファイルのサイズをリモート・ファイルのサイズと比較することによって、プロセッサ２０２はこの場合を検出できる。そうするために、プロセッサ２０２は、リモート・ファイルに関する文書管理システム１１０へのAPI要求を生成してもよい。該API要求は、文書管理システム１１０がリモート・ファイルについてのサイズ情報を返すことを許容し、該サイズ情報は、プロセッサ２０２により、ローカル・ファイルがリモート・ファイルと異なるサイズであるかどうかを判定するために使用されることができる。両者のサイズが同じであれば、プロセッサ２０２は、ローカル・ファイルのアップロードをスキップする。サイズが異なれば、プロセッサ２０２はローカル・ファイルを文書管理システム１１０におけるリモート・フォルダーにアップロードする（ステップ３１８参照）。これにより、そのローカル・ファイルは協働環境における他のユーザーに利用可能になる。ファイルをアップロードするとき、プロセッサ２０２は、リモート・フォルダーに記憶されているリモート・ファイルをそのローカル・ファイルで上書きしてもよく、あるいはそのローカル・ファイルでリモート・ファイルの新しいバージョンを作成してもよい。ファイルのアップロードに応答して、プロセッサ２０２はステップ３０４に戻って、コンピューティング装置１０２のローカル・フォルダー内の追加的なファイルを（もしあれば）同定し、該追加的ファイルについて文書管理システム１１０との同期プロセスを改めて開始する。
【００２５】
図４は、ある例示的実施形態における、ファイル・ダウンロードを利用してコンピューティング装置をオンライン文書管理システムと同期させる方法を示すフローチャートである。方法４００のステップは、図１〜図２を参照して記述されるが、当業者は方法４００は他のシステムで実行されてもよいことを理解するであろう。方法４００は、いくつかの実施形態では方法３００に加えて、コンピューティング装置１０２によって実行されてもよい。たとえば、ローカル・フォルダーからリモート・フォルダーへのファイルのアップロードを実行したのちに、プロセッサ２０２は次いで方法４００を実行して、文書管理システム１１０からコンピューティング装置１０２にダウンロードされるべきリモート・フォルダー中のファイルがあるかどうかを判定してもよい。
【００２６】
プロセッサ２０２は、リモート・フォルダーに格納されているリモート・ファイルを同定する（図４のステップ４０２参照）。リモート・フォルダーにおいて格納されているファイルまたは文書を同定するファイル・リストまたは他の情報を求めるAPIクエリーがプロセッサ２０２によって生成されて文書管理システム１１０に伝送されてもよい。この情報は、ローカル・フォルダー中のファイルと比較されてもよい。ローカル・コピーがコンピューティング装置１０２に存在しない場合には、プロセッサ２０２は、前記リモート・ファイルが前の同期トリガー後に修正されたかどうかを判定する（ステップ４０６）。
【００２７】
プロセッサ２０２は、リモート・ファイルのタイムスタンプを、前の同期トリガーが発生した時刻と比較して、前の同期トリガー以降リモート・ファイルが変化したかどうかを判定してもよい。これは、前の同期トリガー後にユーザーがリモート・ファイルに対して変更を行なった場合に生起しうる。リモート・ファイルが変化していたら、プロセッサ２０２は、前記リモート・ファイルをコンピューティング装置１０２におけるローカル・フォルダーにダウンロードする（ステップ４１６参照）。しかしながら、リモート・ファイルが前の同期トリガー以来変化していなければ、プロセッサ２０２は、前記リモート・ファイルを文書管理システム１１０上のアーカイブ・フォルダーに移動させる（ステップ４０８参照）。リモート・ファイルをアーカイブ・フォルダーに移動させることは、そのリモート・ファイルをリモート・フォルダーから除去し、それでいてそのリモート・ファイルのコピーをユーザーのためにアーカイブ・フォルダーにおいて保持する。この場合、そのファイルはコンピューティング装置１０２には存在していなかったものであり、リモート・ファイルは前の同期トリガー以来変化していなかった。このことは、コンピューティング装置１０２において記憶されているリモート・ファイルのローカル・バージョンが削除される（たとえばコンピューティング装置１０２のユーザーによって削除される）ときに起こりうる。協働環境では、ファイルは、もはや必要とされない場合には、コンピューティング装置１０２において削除されうる。他のユーザーにとってまだ有用であるかもしれない前記リモート・ファイルを文書管理システム１１０において単に削除するのではなく、リモート・ファイルは文書管理システム１１０においてアーカイブされる。同様に、文書管理システム１１０において前記リモート・ファイルを単に無視することはリモート・フォルダーを無用に諸ユーザーにとってより混乱したものとしてしまうかもしれず、そうではなく、リモート・ファイルは文書管理システム１１０においてアーカイブされる。
【００２８】
再びステップ４０４に戻って、リモート・ファイルのローカル・コピーがローカル・フォルダーに存在する場合、プロセッサ２０２は、前記リモート・ファイルが前の同期トリガー後に修正されていなければ、前記リモート・ファイルの前記ローカル・フォルダーへのダウンロードをスキップする（ステップ４１０参照）。このことは、ファイルが他のユーザーによってアクティブに編集されていないときに起こりうる。この場合、リモート・ファイルに変更がされていないのだから、リモート・ファイルをコンピューティング装置１０２にダウンロードすることは不要であろう。しかしながら、前の同期トリガー以来リモート・ファイルが変更されていた場合、プロセッサ２０２は、前記リモート・ファイルが前記ローカル・ファイルより後に修正されたかどうかを判定する（ステップ４１２参照）。そうするために、プロセッサ２０２は、リモート・ファイルに関する文書管理システム１１０へのAPI要求を生成してもよい。該API要求は、文書管理システム１１０がリモート・ファイルについてのタイムスタンプ情報を返すことを許容し、該タイムスタンプ情報は、プロセッサ２０２により、リモート・ファイルがローカル・ファイルより後に修正されたかどうかを判定するために使用されることができる。リモート・ファイルがローカル・ファイルより後に修正されていなかったら、プロセッサ２０２はリモート・ファイルのローカル・フォルダーへのダウンロードをスキップする。
【００２９】
しかしながら、リモート・ファイルがローカル・ファイルより後に修正されていたら、プロセッサ２０２は、リモート・ファイルおよびローカル・ファイルが異なるサイズをもつかどうかを判定する（ステップ４１４参照）。場合によっては、ファイルが開かれ、変更がなされないことがある。そのファイルがその後閉じられたとき、そのファイルについてのタイムスタンプが修正されることがある。リモート・ファイルのサイズをローカル・ファイルのサイズと比較することによって、プロセッサ２０２はこの場合を検出できる。そうするために、プロセッサ２０２は、リモート・ファイルに関する文書管理システム１１０へのAPI要求を生成してもよい。該API要求は、文書管理システム１１０がリモート・ファイルについてのサイズ情報を返すことを許容し、該サイズ情報は、プロセッサ２０２により、ローカル・ファイルがリモート・ファイルと異なるサイズであるかどうかを判定するために使用されることができる。両者のサイズが同じであれば、プロセッサ２０２は、リモート・ファイルのダウンロードをスキップする。サイズが異なれば、プロセッサ２０２はリモート・ファイルをローカル・フォルダーにダウンロードする（ステップ４１６参照）。これにより、そのリモート・ファイルは協働環境におけるコンピューティング装置１０２のユーザーに利用可能になる。ファイルをダウンロードするとき、プロセッサ２０２は、ローカル・フォルダーに記憶されているローカル・ファイルをそのリモート・ファイルで上書きしてもよく、あるいはそのリモート・ファイルでローカル・ファイルの新しいバージョンを作成してもよい。ファイルのダウンロードに応答して、プロセッサ２０２はステップ４０２に戻って、文書管理システム１１０のリモート・フォルダー内の追加的なファイルを（もしあれば）同定し、該追加的ファイルについてコンピューティング装置１０２との同期プロセスを改めて開始する。
【実施例】
【００３０】
次の例は、図５のオンライン協働システム５００に関して論じられる。この例は、好ましい実施形態を定義することも、請求項の範囲を限定することも意図されておらず、むしろ、コンピューティング装置とオンライン文書管理システムとの間で文書を同期させることの一つの可能な実装を提供することが意図されている。
【００３１】
この実施形態について、ユーザー５０４がコンピュータ５０２に接近し、ローカル同期エージェントを立ち上げるとする。同期エージェントは文書管理システム１１０によって記憶されている文書５０８がコンピュータ５０２にローカルに記憶されていないことを判別し、該エージェントは文書５０８をコンピュータ５０２にダウンロードする。この時点では、コンピュータ５０２に記憶されているローカル文書５１０は文書管理システム１１０に記憶されているリモート文書５０８と同じである。これは、図５では、文書５０８と文書５１０が同じタイムスタンプ（12:10AM）およびファイル・サイズ（1256バイト）を共有することによって示されている。
【００３２】
また、この実施形態について、ユーザー５０６がタブレット５０３に接近し、同期エージェントを立ち上げるとする。同期エージェントは文書管理システム１１０によって記憶されている文書５０８がタブレット５０３にローカルに記憶されていないことを判別し、該エージェントは文書５０８をタブレット５０３にダウンロードする。この時点では、タブレット５１３に記憶されているローカル文書５１２は文書管理システム１１０に記憶されているリモート文書５０８と同じである。これは、図５では、文書５０８と文書５１２が同じタイムスタンプ（12:10AM）およびファイル・サイズ（1256バイト）を共有することによって示されている。
【００３３】
ユーザー５０６は、タブレット５０３にローカルに記憶されている文書５１２に対する作業を開始し、ある時間後に、文書５１２を保存する。何らかの時点において、タブレット５０３において同期プロセスが開始される。たとえば、ユーザー５０６は、四時間毎にタブレット５０３を文書管理システム１１０と同期させるよう同期エージェントを構成設定していてもよい。同期エージェントは文書５１２をタブレット５０３から文書管理システム１１０にアップロードし、文書５０８を文書５１２で上書きする。
【００３４】
ユーザー５０４はコンピュータ５０２において文書５１０を修正していないので、コンピュータ５０２上で実行される同期エージェントは文書５１０を文書管理システム１１０にアップロードしない。しかしながら、コンピュータ５０２上で実行される同期エージェントは、文書５１０が最新でないことを判別し、文書５１２を文書管理システム１１０からコンピュータ５０２にダウンロードし、コンピュータ５０２における文書５１０を上書きする。次にユーザー５０４がコンピュータ５０２において作業するとき、ユーザー５０４は、タブレット５０３において修正された文書５１２へのアクセスをもつ。
【００３５】
何らかの時点において、ユーザー５０４がダウンロードされた文書５１２のローカル・バージョンを削除する場合、コンピュータ５０２上で実行される同期エージェントはこのことを検出し、文書管理システム１１０に、リモート・ファイルをアーカイブ・フォルダーに移動するよう命令する。この場合、次にタブレット５０３が文書管理システム１１０と同期するとき、タブレット５０３で実行されている同期エージェントは、文書管理システム１１０が前にアップロードされた文書５１２をもはや記憶していないことを検出し、タブレット５０３上に記憶されている文書５１２をアーカイブする。次にユーザー５０６がタブレット５０３で作業するとき、ユーザー５０６は、文書５１２が別のユーザー（たとえばユーザー５０４）によってアーカイブされたこと、文書５１２に対する作業が中止されるべきであることを判別することができる。
【００３６】
本稿に開示される実施形態は、ソフトウェア、ハードウェア、ファームウェアまたはそれらのさまざまな組み合わせの形を取ることができる。図６は、ある例示的実施形態における、所望される機能を実行するよう、プログラムされた命令を実行するよう構成された処理システムのブロック図である。
【００３７】
処理システム６００は、コンピュータ可読記憶媒体６１２上に有体に具現されたプログラムされた命令を実行することによって上記の動作を実行するよう動作可能である。これに関し、本発明の実施形態は、コンピュータまたは他の任意の命令実行システムによる使用のためのプログラム・コードを提供するコンピュータ可読媒体６１２を介してアクセス可能なコンピュータ・プログラムの形を取ることができる。本稿の目的のためには、コンピュータ可読記憶媒体６１２は、コンピュータによる使用のためのプログラムを含むまたは記憶することができる任意のものであることができる。
【００３８】
コンピュータ可読記憶媒体６１２は、電子式、磁気式、光学式、電磁式、赤外線または半導体のデバイスであることができる。コンピュータ可読記憶媒体６１２の例は、ソリッドステート・メモリ、磁気テープ、リムーバブル・コンピュータ・ディスケット、ランダム・アクセス・メモリ（RAM）、読み出し専用メモリ（ROM）、剛性の磁気ディスクおよび光ディスクを含む。光ディスクの現行の例は、コンパクトディスク読み出し専用メモリ（CD-ROM）、読み出し／書き込み型コンパクトディスク（CD-R/W）およびDVDを含む。
【００３９】
プログラム・コードを記憶および／または実行するのに好適な処理システム６００は、システム・バス６５０を通じてプログラムおよびデータ・メモリ６０４に結合された少なくとも一つのプロセッサ６０２を含む。プログラムおよびデータ・メモリ６０４は、プログラム・コードの実際の実行の間に用いられるローカル・メモリ、大容量記憶装置、少なくともいくらかのプログラム・コードおよび／またはデータの一時的な記憶を提供して該コードおよび／またはデータが実行中に大容量記憶装置から取り出される回数を減らすためのキャッシュ・メモリを含むことができる。
【００４０】
入出力またはI/O装置６０６（キーボード、ディスプレイ、印刷装置などを含むがそれに限られない）は、直接または介在するI/Oコントローラを通じて結合されることができる。介在する私設または公共ネットワークを通じて処理システム６００が他のデータ処理システムまたは記憶装置と結合されることを可能にするために、ネットワーク・アダプター・インターフェース６０８もシステムと統合されていてもよい。モデム、ケーブル・モデム、IBMチャネル・アタッチメント、SCSI、ファイバーチャネルおよびイーサネットカードは現在利用可能な型のネットワークまたはホスト・インターフェース・アダプターのほんの数例である。プロセッサ６０２によって生成された呈示データの呈示のために、印刷システムおよびディスプレイのような一つまたは複数の呈示装置とインターフェースをもつために、呈示装置インターフェース６１０がシステムと統合されてもよい。
【００４１】
本稿では個別的な実施形態が記述されたが、本発明の範囲はそうした個別的な実施形態に限定されるものではない。本発明の範囲は請求項およびその等価物によって定義される。
【符号の説明】
【００４２】
３００  ある例示的実施形態における、ファイル・アップロードを利用してコンピューティング装置をオンライン文書管理システムと同期させる方法を示すフローチャート
３０２  ローカル・フォルダーとリモート・フォルダーとの間のマッピングを同定
３０４  ローカル・フォルダー内のローカル・ファイルを同定
３０６  ローカル・ファイルのリモート・コピーがリモート・フォルダーに存在するか？
３０８  ローカル・ファイルは前の同期後に修正されたか？
３１０  ローカル・ファイルをアーカイブ・フォルダーに移動
３１２  ローカル・ファイルは前の同期後に修正されたか？
３１４  ローカル・ファイルはリモート・ファイルより後に修正されたか？
３１６  ローカル・ファイルとリモート・ファイルは異なるサイズをもつか？
３１８  ローカル・ファイルをリモート・フォルダーにアップロード
４００  ある例示的実施形態における、ファイル・ダウンロードを利用してコンピューティング装置をオンライン文書管理システムと同期させる方法を示すフローチャート
４０２  リモート・フォルダー内のリモート・ファイルを同定
４０４  リモート・ファイルのローカル・コピーがローカル・フォルダーに存在するか？
４０６  ローカル・ファイルは前の同期後に修正されたか？
４０８  リモート・ファイルをアーカイブ・フォルダーに移動
４１０  ローカル・ファイルは前の同期後に修正されたか？
４１２  リモート・ファイルはローカル・ファイルより後に修正されたか？
４１４  リモート・ファイルはローカル・ファイルと異なるファイル・サイズをもつか？
４１６  リモート・ファイルをローカル・フォルダーにダウンロード
【図１】
0006610189.tif 000002
【図２】
0006610189.tif 000003
【図３】
0006610189.tif 000004
【図４】
0006610189.tif 000005
【図５】
0006610189.tif 000006
【図６】
0006610189.tif 000007