JP2008537254A - 同期マネジャによるコンフリクト解決 - Google Patents

同期マネジャによるコンフリクト解決 Download PDF

Info

Publication number
JP2008537254A
JP2008537254A JP2008507625A JP2008507625A JP2008537254A JP 2008537254 A JP2008537254 A JP 2008537254A JP 2008507625 A JP2008507625 A JP 2008507625A JP 2008507625 A JP2008507625 A JP 2008507625A JP 2008537254 A JP2008537254 A JP 2008537254A
Authority
JP
Japan
Prior art keywords
conflict
file
user
resolution
files
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.)
Pending
Application number
JP2008507625A
Other languages
English (en)
Inventor
カラス,ベンジャミン・ジェイ
オースト,ブライアン・エス
パーカー,ケネス・ダブリュ
マッケーブ,マーク
サムジ,モハメド・エイ
ドイッチュ,レベッカ・ジェイ
ポッター,ディヴィッド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2008537254A publication Critical patent/JP2008537254A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/273Asynchronous replication or reconciliation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/376Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a contention resolving method, e.g. collision detection, collision avoidance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/4031Coupling between buses using bus bridges with arbitration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • G06F5/12Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/312List processing, e.g. LISP programming language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44552Conflict resolution, i.e. enabling coexistence of conflicting executables

Abstract

同期マネジャにおけるコンフリクト解決を実現するシステム及び方法が提供される。コンフリクトの場合には、同期動作が、コンフリクト・オブジェクトを作成し記憶して、ユーザ入力を要求することなく同期動作を再開する。このように、同期動作をユーザ入力なしで完了することが可能であり、ユーザは便利な時刻にオンラインかオフラインかのいずれかにより未解決のコンフリクトを解決することを選択できる。更に、本発明は、標準化されたユーザ・フレンドリな同期動作を生じるプラットフォームを提供する。更に、本発明は、多くの装置から生じるコンフリクトをユーザが迅速かつ容易に解決することを可能にする集中位置を提供する。

Description

本発明の実施例は、コンフリクト解決のためのシステム及び方法に関し、特に、同期マネジャにおけるユーザ・フレンドリなコンフリクト解決を提供するシステム及び方法に関する。
今日の環境におけるコンピュータ・ユーザは、多数の異なる計算装置を用いることがある。例えば、ひとりのコンピュータ・ユーザが、静止型のコンピュータ端末と、ラップトップ・コンピュータと、ブラックベリーやそれ以外の携帯装置とを用いることがありうる。多くの場合、これらの計算装置は、類似する又は関連する情報を記憶するのに用いられる。例えば、ユーザの予定スケジュールが、静止型コンピュータ端末と、ラップトップ・コンピュータと、携帯装置とに存在する場合がある。他の例としては、ある文書が、静止型コンピュータ端末に記憶され、次にラップトップ・コンピュータにコピーされ、そこでユーザがこの文書を編集する場合がある。
ある1つの装置において情報を更新又は変更した後で、ユーザは、更新された情報を別の装置に転送することを希望する場合がある。例えば、携帯装置に記憶されているカレンダに新たな予定を入力した後で、ユーザは、この新しい情報をコンピュータ端末に記憶されているカレンダに転送することを望む可能性がある。別の例としては、ある文書をラップトップ・コンピュータ上で編集した後で、ユーザは、編集された文書を静止型コンピュータ端末に転送することを希望する場合がある。これ以外の例も存在する。
複数の装置の間で情報を転送するには、ユーザは、2つ又はそれより多くの装置を同期させることを選択する。これら複数の装置の中の1又は複数が、同期動作を実行する「同期マネジャ」(同期管理手段)を含むこともある。2つの装置が同期されるときには、どちらの装置が直近(most recent、最も近い時点)の情報を含むのかが決定されるのが通常である。例えば、直近の情報を含む装置が、情報を他方の装置に転送するのである。
同期をとること(syncing、同期化)は、ネットワーク用のアプリケーションにおいても有用である。例えば、2以上のユーザが、ネットワークで結合されている計算環境において、同一の文書、カレンダ又はそれ以外の情報にアクセスを有する場合がある。同期をとることは、このような環境では、情報の直近のコピーが用いられることを保証するのに用いられる。
ある情報に複数のバージョン(版)が存在するときには、同期マネジャは、典型的には、どのバージョンが直近であるかを判断しようとする。例えば、携帯装置と静止型コンピュータ端末との間での同期動作を実行した後で、ユーザは、新たな予定を携帯装置上のカレンダに入力することができる。他の例としては、ラップトップ・コンピュータと静止型コンピュータ端末との間で同期動作を実行した後で、ユーザは、ラップトップ・コンピュータの上で文書に変更を加えることができる。多くの場合に、同期マネジャは、ユーザ入力をまったく必要とすることなく、どのバージョンの情報を保持すべきであるのかを決定することができる。例えば、同期マネジャは、どのバージョンの情報が直近の時点で編集されたのかを判断することができ、直近のバージョンだけを保持する。
しかし、場合によっては、どのバージョンの情報を保持すべきか、必ずしも明らかではない。そのような状況は、コンフリクト(conflict、競合)として知られている。コンフリクトは、例えば、最後の同期動作の以後に複数のバージョンの情報が編集されているときに発生する。例えば、携帯装置と静止型コンピュータ端末との間で同期動作を実行した後で、ユーザは、新たな予定を携帯装置の上のカレンダに入力し、別の新たな予定を静止型コンピュータ端末の上のカレンダに入力することがありうる。別の例としては、ラップトップ・コンピュータと静止型コンピュータ端末との間での同期動作を実行した後で、ユーザは、ラップトップ・コンピュータ上で当該文書に変更を加え、静止型のコンピュータ端末では同じ当該文書に異なる変更を加えることがありうる。
コンフリクトの場合には、ユーザは、そのコンフリクトを解決するために用いられる入力をするように促されるのが典型的である。例えば、ユーザは、情報の第1のバージョンを保持するのか、情報の第2のバージョンを保持するのか、一方の名称を変更することによって両方のバージョンを保持するのか、手動でコンフリクトを解決するのかを質問される。ユーザが手動でコンフリクトを解決することを選択すると、ユーザには、例えば、更に、コンフリクトのリストを提示される、それぞれのコンフリクトをどのようにして解決するか質問される、など、更なる選択肢が提示される。例えば、ユーザは、ハンドヘルド装置に入力された第1の予定を維持するのか削除するのか質問される、静止型コンピュータ端末に入力された第2の予定を維持するのか削除するのか質問される、などである。別の例であるが、ユーザは、ラップトップ・コンピュータを介してある文書に対して行った変更のリストと、静止型コンピュータ端末を介してある文書に対して行った変更のリストとを提示されて、それぞれの変更を維持するのか削除するのか質問される。
どのファイル(1又は複数)を維持するのか、自動的に実行されるのかユーザ入力により実行されるのか、を判断するプロセスは、ファイルの調整として知られている。場合によっては、ファイルを調整する際にコンフリクトが生じることもある。その場合には、ファイルを調整するには、ユーザ入力が必要となるのが典型的である。別の場合には、最後の同期動作の後では当該ファイルのただ1つのバージョンが編集されただけなので、又は、最後の同期動作の後では当該ファイルのどのバージョンも編集されていないために、ファイルの調整の際にはコンフリクトが生じない。この場合には、ファイルの調整の際にユーザ入力は必要とならないのが典型的である。
通常、ユーザは、第1の装置を第2の装置に接続して同期動作を開始する。例えば、ユーザは、コンピュータ端末に接続されたクレードルにハンドヘルド装置を配置する、ラップトップ・コンピュータを静止型のコンピュータ端末に接続する、などを行う。すると、同期マネジャは、どのバージョンの情報が直近の時点で編集されたのかを判断することによって、ユーザ入力なしに、当該文書の複数のバージョンを調整することができる。別の場合には、同期マネジャは、ユーザ入力がなくては当該文書の複数のバージョンを調整することができず、コンフリクトが発生する。
同期マネジャは、コンフリクトに遭遇すると、例えば同期動作を中断してユーザに入力を促す。すると、ユーザは、同期動作が再開される前に入力を提供してコンフリクトを解決することが必要になる。従って、この技術分野においては、直ちにユーザ入力を要求することのない同期動作に対する必要性が存在する。
更に、それぞれの装置にはそれ自身の同期動作が含まれているために、コンフリクトを解決するためのユーザ・インターフェース及び方法は装置ごとに大きく異なっている。この結果として、ユーザにとっては、分裂的で混乱を生じさせる経験が生じる。従って、標準化された同期動作に対する必要性が存在する。
更に、ユーザはそれぞれの装置を順に同期させ、それぞれの同期動作に対する入力を提供することが要求されるため、複数の装置を同期させることはユーザにとって面倒で厄介であることが判明している。従って、この技術分野においては、多くの装置から生じている複数のコンフリクトをユーザが迅速かつ容易に解決することを可能にする一点集中型の場所に対する必要性が存在している。
発明の概要
本発明の実施例は、同期動作を実行する方法を含む。この方法は、第1のファイルを受け取るステップと、第2のファイルを受け取るステップと、前記第1のファイルと前記第2のファイルとの間にコンフリクトが存在するかどうかを判断するステップと、を含む。この方法は、更に、コンフリクトが存在しない場合には、前記第1のファイルと前記第2のファイルとを調整するステップと、コンフリクトが存在する場合には、前記第1のファイルと前記第2のファイルとを識別するコンフリクト・オブジェクトを作成し、前記コンフリクトを解決する少なくとも1つの方法を特定するステップと、を含む。
本発明の別の特徴においては、コンフリクト解決を実行する方法が、前記コンフリクト解決が開始することを示す選択をユーザから受け取るステップと、第1のファイルを記述する第1のファイル情報を表示するステップと、第2のファイルを記述する第2のファイル情報を表示するステップと、前記コンフリクトを解決する可能な方法をそれぞれが識別する少なくとも1つのコンフリクト解決オプションを表示するステップと、を含む。
本発明の更に別の特徴においては、同期動作を実行するシステムが、第1のファイルと第2のファイルとを比較し、前記第1のファイルと前記第2のファイルとの間にコンフリクトが存在するかどうかを判断し、コンフリクトが存在しない場合には前記第1のファイルと前記第2のファイルとを調整し、コンフリクトが存在する場合にはコンフリクト・オブジェクトを作成するように構成された同期マネジャと、を含む。このシステムは、更に、コンフリクト・オブジェクトを保持するように構成されたコンフリクト記憶装置と、コンフリクトを解決する少なくとも1つの方法を特定する解決手段と、を含む。
上述したシステム及び方法により、同期動作が、直ちにユーザ入力を要求するのではなくユーザが未解決のコンフリクトをオンライン又はオフラインで都合のいい時点で解決できることを可能にする。更に、本発明によるシステム及び方法は、標準化されたユーザ・フレンドリな同期動作を生じさせるプラットフォームを提供する。また、本発明によるシステム及び方法は、多くの装置から生じているコンフリクトを迅速かつ容易に解決することを可能にする集中位置を提供する。
I.システムの概観
システムと方法が、競合(コンフリクト)の解決マネジャをインプリメント(実現、実装)するために提供される。競合の解決マネジャは同期動作中に発生する競合を解決するために使用される。
システムは端末200を含み、端末200は同期マネジャ201を含む。端末200は、カップリング206、208を介して1つ以上の装置202及び204にそれぞれ接続される。装置202及び204は、それぞれが、移動通信装置、ラップトップ・コンピュータ、ゲーミング装置、カメラ、コンピュータ端末などであるか、又は、それらを含む場合がある。装置202は1又は複数のファイル210a、212aを含み、装置204は1又は複数のファイル214a、216aを含む。ファイル210a、212a、214a、216aは、例えば、端末200に記憶されているファイル210b、212b、214b、216bの複数のバージョンであるかもしれない。ファイル210a、212a、214a、216aは、従って、ファイルファイル210b、212b、214b、216bと同一であるか又は類似している可能性がある。
例えば、ユーザが結合206を介して端末200に装置202を接続する、及び/又は、結合208によって端末200に装置204を接続する場合、同期動作が始まる可能性がある。このポイントで、同期マネジャ201は、装置202に記憶されたファイル210a及び212aと端末200に記憶されたファイル210b及び212bとを調整することを試みる、及び/又は、装置204に記憶されたファイル214a及び216aと端末200に記憶されたファイル214b及び216bとを調整することを試みる。
同期マネジャ201は、ファイルを調整するのに使用される方法を含んでいる解決手段アプリケーション・プログラム・インターフェース(API)を含んでいる。解決手段API218は、例えば、一般的な解決手段220を含み、それはファイルを調整するために使用されるデフォルトの解決手段である。解決手段API218は、特定の装置及び/又はアプリケーションのための専門の解決手段を作成するように拡張される拡張可能なAPIであるか、又は、それを含んでいる。特別の例であるが、ワード(Word)の開発者は、ユーザが複数のワード文書の間のコンフリクトを解決することを可能にするコンフリクト・マネジャを書くことができる。図1に示されるように、専門の解決手段222は、装置202からのファイルを調整するために使用される解決手段API218の延長でありうる。特別の解決手段222は、例えば、端末200に、装置202に、又は両方の場所に、格納される。別の例として、専門の解決手段224は、特定のアプリケーションで作成されたファイルのような特別のファイル・タイプのファイルを調整するために使用される解決手段API218の延長でありうる。例えば、端末200に、装置204に、あるいは両方の場所に、専門の解決手段224は格納される。
同期動作が行なわれる場合、同期マネジャ201は、ファイル210b、212bを有するファイル210a、212aを調整し、及び/又は、ファイル214b、ファイル214bを有するファイル214a、216bを調整する。専門の解決手段222あるいは224が進行中の特別のファイル調整を扱うために定義されている場合、専門の解決手段222又は224が使用されうる。専門の解決手段222あるいは224が進行中の特別のファイル調整を扱うためには定義されていない場合、一般的な解決手段220が使用されてもよい。他の場合では、同期マネジャ201は、解決手段なしで、ファイルを調整する可能性がある。
同期マネジャ201は、同期マネジャ201内に提供される方法を使用し、及び/又は、解決手段220、222及び/又は224に提供される方法を使用して、例えばファイル調整を行なう。同期マネジャ201は、ファイルのどのバージョンを維持すべきかを判断できる場合には、例えば、文書の最も最近のバージョンを維持することにより、自動的にファイル調整を行なう。同期マネジャ201がファイルのどのバージョンを維持すべきか判断できない場合、コンフリクトが生じる。
コンフリクトが生じると、同期マネジャ201は、コンフリクト・オブジェクト226、228、230、232を作成する。コンフリクト・オブジェクト226、228、230、232は、それぞれが、2つのファイルの間のコンフリクトを特定する情報を含んでいる。例えば、コンフリクト・オブジェクト226は、ファイル210aと210bのコンフリクトを特定する情報を含んでいる。コンフリクト・オブジェクト228は、ファイル212aと212bのコンフリクトを特定する情報を含んでいる。コンフリクト・オブジェクト230は、ファイル214aと214bのコンフリクトを特定する情報を含んでいる。また、コンフリクト・オブジェクト232は、ファイル216aと216bのコンフリクトを特定する情報を含んでいる。
コンフリクト・オブジェクト226、228、230、232に含まれている情報は、例えば、コンフリクトの中のファイルを特定する情報と、コンフリクトが発生したときにコンフリクトに含まれる装置を含むことがある。コンフリクト・オブジェクト226、228、230、232に含まれている情報は促進するかもしれない、例えば、コンフリクトにコンフリクト中の2ファイルを識別する情報、あるいはファイルのコピーを含んでいる。
コンフリクト・オブジェクト226、228、230、232に含まれている情報は、さらに例えば、コンフリクトを解決するために使用される解決手段220、222、あるいは224を特定する情報を含んでいる。
コンフリクトは、端末200内のコンフリクト店234に、226、228、230、232が例えば格納されることに反対する。自由に、コンフリクトのうちのいくらかあるいはすべては、装置202及び(又は)装置204上に226、228、230、232も格納されることに反対する。装置202及び(又は)装置204は例えば、コンフリクト・オブジェクト226、228、230、232を格納するためにコンフリクト店236、238をそれぞれ含んでいる。
コンフリクトが同期動作中に生じる場合、同期マネジャ201はコンフリクト・オブジェクト226、228、230及び232を作成し、同期動作を再開する、やあ、発明の実施例、ユーザ入力は同期動作中に必要ではない。
同期マネジャ201はコンフリクト・マネジャ・ユーザ・インターフェース(UI)240及びディスプレイ242を含んでいる。1つ以上のコンフリクトが検知される場合、コンフリクトマネジャUIは非常に示すかもしれない、システム・トレーあるいは他の適切な手段の中でアイコンを使用して、例えばディスプレイ242によって。便利な時に、ユーザは、アイコンをダブルクリックすることにより、例えば未解決なコンフリクトを解決することに決定してもよい。
ユーザが未解決なコンフリクトを解決することに決定する場合、コンフリクト・マネジャUI240はディスプレイ242によってユーザに未解決なコンフリクトのリストを提示する。未解決なコンフリクトのリストは、例えば、コンフリクト店234の各コンフリクト・オブジェクト226、228、230、232のリストエントリを含んでいる。
各リストエントリについては、ユーザは、リストエントリのダブルクリックにより、例えばコンフリクトを解決することに決定してもよい。
その後、ユーザは、コンフリクト・オブジェクト226、228、230、あるいは232に特定された解決手段220、222、あるいは224を使用して、例えばコンフリクトを解決するように促される。
コンフリクトマネジャUI 240はディスプレイ242によっていくつかの解決オプションをユーザに提示するかもしれない。ユーザに提示された解決オプションは、解決手段220、222、あるいは224によって特定される。解決オプションは含んでいる、例えば、ファイルの最初のバージョンを保存するオプション、ファイルの第2のバージョンを保存するオプション、1つのリネームによる両方のバージョンを保存するオプション、手による不一致を解決するオプション、特定のアプリケーションの使用、又は、他の解決オプション、解決手段220、222、あるいは224によって特定された。
ユーザは1つ以上のコンフリクトを解決するかもしれないし、後で解決する残りのコンフリクトを保存することに決めるかもしれない。現在の発明のインプリメンテーションでは、ユーザは、どんな特別の時でも競合の解決に関して決定することは要求されない。
さらに、ユーザは、装置202及び204が装置200に接続されない時にコンフリクトを解決することに決定してもよい。ユーザは示された解決オプションから選択する。また、次の同期動作の時に、ユーザのセレクションはコンフリクトを解決するために実行されるだろう。
現在の発明のインプリメンテーションでは、例えばシステムの管理者のようなユーザは、前もって特定するインプットを提供してもよい、コンフリクトの特定タイプはどのようにして解決されることになっているか。そのようなインプットの提供は、コンフリクトの特定タイプ用の「コンフリクト保険証券」の作成として知られている。コンフリクトが検知され、コンフリクトの特定タイプを扱うためのコンフリクト保険証券が存在する場合、システムはユーザ入力を要求せずに、保険証券に従って例えばコンフリクトを解決するかもしれない。1つの特別の例として、システムの管理者は、特別のフォルダー中のワード・ドキュメントについては、ファイルの両方のバージョンが維持されるべきであることを明示することにより、コンフリクト保険証券を作成してもよい。また、両方のファイルの名前は、ファイル名に「vl」、「v2」という項をアペンドすることにより変更されるべきである。例えば(コンフリクト保険証券に従って、及びユーザ入力なしで)、ワード・ドキュメントのコンフリクトがこのフォルダーに生じる時、コンフリクトは解決されるだろう。
更に、装置202は、装置202上のディスプレイ246によって解決オプションをユーザに提示するために使用されるコンフリクトマネジャUI244を自由に含んでいる。また、装置204は、装置204上のディスプレイ250によって解決オプションをユーザに提示するために使用されるコンフリクトマネジャUI248を自由に含んでいる。
装置202及び204上のユーザによってなされたセレクションは、次の同期動作の時に実行される。
II.例示的な動作環境
図2は、競合の解決のためのシステムがインプリメントされる適切な計算機システム環境100の例を例証する。計算機システム環境100は適切なコンピュータ環境の単なる1つの例で、使用あるいは発明の機能性のスコープに関してどんな制限も示唆するようには意図されない。また、コンピュータ環境100はどんな従属性あるいは任意のものあるいは典型的な操作環境100に例証されたコンポーネントの組合せに関係のある要求も持っているとは解釈されるべきでない。
その発明は、コンピュータによって実行されて、プログラムモジュールのようなコンピュータ実行可能命令の一般情勢に述べられている。一般に、プログラムモジュールは、特別のタスクか道具項目抽象データ型を行なうルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含んでいる。さらに、当業者は、携帯端末、マルチプロセッサーシステム、マイクロプロセサーに基づいているかプログラム可能な家電、ミニコンピュータ、メインフレーム・コンピュータなどを含む他のコンピュータ・システム構成で発明が実行されることを認識するだろう。その発明も、通信網によってリンクされる遠隔処理装置によってタスクが行なわれる分散コンピューティング環境中で実行される。分散コンピューティング環境では、プログラムモジュールは、記憶装置装置を含むローカル・リモートコンピュータ記憶媒体の両方に位置するかもしれない。
図2に関して、発明を実行するための典型的なシステム100は汎用を計算する装置を演算処理装置120、システムメモリー130、及び演算処理装置120へのシステムメモリーを含む様々なシステムコンポーネントを接続するシステム・バス121を含むコンピュータ110の形で含んでいる。
コンピュータ110は典型的には様々なコンピュータ読取り可能な媒体を含んでいる。制限ではなく例経由で、コンピュータ読取り可能な媒体はコンピュータ記憶装置媒体及び通信メディアを含むかもしれない。システムメモリー130は、コンピュータ記憶装置媒体を揮発性及び(又は)読み取り専用メモリ(ROM)131及びランダムアクセス記憶装置(RAM)132のような不揮発性メモリーの形で含んでいる。操業開始中にのようにコンピュータ110内のエレメント間の情報を転送するのを支援する基礎的なルーチンを含んでいる基本入出力システム133(BIOS)は、ROM 131に典型的に格納される。RAM 132は典型的にはデータ及び(又は)直ちにアクセス可能なプログラムモジュールを含んでいる、に、又は演算処理装置120によってまもなく作動されること制限ではなく例経由で、図2はオペレーティングシステム134、アプリケーション・プログラム135、他のプログラムモジュール136及び番組データ137を例証する。
コンピュータ110はさらに他のものを含んでいる、取外し可能な/非取外し可能、揮発性の/不揮発性のコンピュータ記憶装置媒体。例のみ経由で、図2は、非取外し可能で不揮発性の磁気媒体から読むか、書くハードディスク・ドライブ141、取外し可能で不揮発性の磁気ディスク152から読むか、書く磁気ディスク装置151、及びCD ROMあるいは他の光学の媒体のような取外し可能で不揮発性の光ディスク156から読むか、書く光ディスクドライブ155を例証する。取外し可能な/非取外し可能な他のもの、揮発性の/不揮発性のコンピュータ記憶装置媒体、それは典型的な操作環境加算の中で使用することができるが、制限されない、磁気カセットテープ、フラッシュ・メモリカード、ディジタル・バーサタイル・ディスク、デジタルビデオテープ、ソリッドステートRAM、ソリッドステートROM、など。ハードディスク・ドライブ141は、インターフェース140のような非リムーバブルメモリ・インターフェースを通ってシステム・バス121に典型的に接続される。また、磁気ディスク装置151及び光ディスクドライブ155はインターフェース150のようなリムーバブルメモリ・インターフェースによってシステム・バス121に典型的に接続される。
上に議論され、図2で示されたドライブ及びそれらの関連するコンピュータ記憶装置媒体は、コンピュータ110のためにコンピュータ読取り可能な命令、データ構造、プログラムモジュール及び他のデータの記憶を提供する。図2では、例えば、ハードディスク・ドライブ141は、オペレーティングシステム144、アプリケーション・プログラム145、他のプログラムモジュール146及び番組データ147の格納として例証される。
これらのコンポーネントが同じでありえることに注目する、として、あるいはオペレーティングシステム134、アプリケーション・プログラム135、他のプログラムモジュール136及び番組データ137と異なるオペレーティングシステム144、アプリケーション・プログラム145、他のプログラムモジュール146及び番組データ147は、最小では、それらが異なるコピーであることを例証するためにここで異なる数を与えられる。ユーザは、マウス、トラックボールあるいはタッチパッドと一般に呼ばれるキーボード162のような入力装置及びポインティング・装置161によってコンピュータ110へコマンドと情報を入力してもよい。他の入力装置(図示せず)はマイクロホン、ジョイスティック、ゲーム・パッド、衛星放送アンテナ、スキャナーなどを含んでいる。これら及び他の入力装置は、ユーザ入力によって演算処理装置120にしばしば接続される、システム・バスにつながれるが、パラレルポート、ゲームポートあるいはユニバーサル・シリアル・バス(USB)のような、他のインターフェース及びバス構造によって接続される160を接続する。モニター191あるいは他のタイプの表示装置もビデオインタフェース190のようなインターフェース経由でシステム・バス121に接続される。モニターに加えて、コンピュータは、さらにスピーカー197及びプリンタ196のような他の周辺の出力装置を含んでいる。それはアウトプット周辺インタフェース195によって接続される。
現在の発明でのコンピュータ110は、リモートコンピュータ180のような1つ以上のリモートコンピュータへの論理結合を使用して、ネットワーク化された環境中で作動するだろう。記憶装置装置181だけは図2で示されたが、リモートコンピュータ180はパーソナルコンピュータで典型的には多数含んでいる。あるいは、要素はすべてコンピュータ110に関係詞上に記述した。図2に描かれた論理結合はローカルエリアネットワーク(LAN)171及び広域ネットワーク(WAN)173を含んでいるが、さらに他のネットワークを含んでいる。
LANネットワーキング環境の中で使用された時、コンピュータ110はネットワークインターフェイス又はアダプターの170によってLAN 171に接続される。WANネットワーキング環境の中で使用された時、コンピュータ110は典型的にはモデム172あるいはインターネットのようなWAN 173の上のコミュニケーションを確立するための他の手段を含んでいる。モデム172(それは内部かもしれないか外部かもしれない)は、ユーザ入力インターフェース160経由のシステム・バス121、あるいは他の適切な機構に接続される。ネットワーク化された環境では、コンピュータ110(すなわちそれの部分)へのプログラムモジュールに描かれた関係詞は、遠隔記憶記憶装置に格納される。制限ではなく例経由で、図2はメモリ・装置181上で駐在するとして遠隔のアプリケーション・プログラム185を例証する。示されたネットワーク接続がコンピュータ間の通信リンクが使用されてもよいと確証する典型的・他の手段であることが認識されるだろう。
コンピュータ110の他の多くの内部コンポーネントは示されないが、芸術における通常の熟練のものはそのようなコンポーネント及び相互接続が有名であることを認識するだろう。従って、現在の発明に関してコンピュータ110の内部構造に関する追加の詳細を示す必要はない。
III.発明のシステム及び方法
上述した通り、図1には、本発明の実施例によるコンフリクト解決機能を含む同期マネジャを実現するシステムが図解されている。図2との関係で既に述べたように、システムは、1又は複数のユーザ・コンピュータを含む。
図3は、本発明の実施例による同期動作を実行する方法を図解する流れ図である。図3に示されているように、ユーザは、2又はそれより多くの装置300を接続することによって、開始する。2又はそれより多くの装置300を接続することには、例えば、携帯装置を静止型コンピュータ端末に接続すること、コンピュータ端末をネットワークに接続すること、又は任意の他の類似の接続を実行することが含まれる。この方法の残りの部分は、例えば、接続された装置の中の1つにおいてなされる。しかし、他の実現例では、この方法は、2又はそれより多くの装置において生じる。
本発明による方法はステップ302に進み、調整すべきファイルを接続された装置がいくつか含んでいるかどうかが判断される。調整すべきファイルがこれ以上ない場合には、方法は終了する。
同期化するファイルが存在する場合には、ステップ304において、ファイルが例えばリモート装置から検索される。ステップ306では、検索されたファイルは、ローカルなファイルと比較される。ローカルなファイルは、例えば、検索されたファイルのあるバージョンであり、従って、検索されたファイルと類似している又は同一でありうる。
ステップ308において、検索されたファイルとローカルなファイルとの間にコンフリクトがあるかどうかが判断される。コンフリクトがない場合には、例えばファイルを調整するユーザ入力が要求されることはない。例えば、これらのファイルが同一であるか、又は、最後に同期動作がなされたとき以降にファイルの一方だけが編集された場合に、このような状況が生じる。コンフリクトがない場合には、これらのファイルはステップ310において自動的に調整がなされ、方法はステップ302に戻り、調整すべきファイルが更にあるかどうか判断される。
コンフリクトがあることがステップ308で決定される場合、コンフリクト・オブジェクトはステップ312で作成される。作成されたコンフリクト・オブジェクトは、例えば図1に関して上に記述されるようなコンフリクト・オブジェクトかもしれない。コンフリクト・オブジェクトは例えば情報(それは後でコンフリクトを解決するために使用されるだろう)を含んでいる。コンフリクト・オブジェクトは1つ以上のコンフリクト店に格納される。その後、方法はステップ302で継続する。そこでは調整するべきそれ以上のファイルがあるかどうかは決定される。
図4は、発明の実施例に従って競合の解決を行なう方法を例証するフロー・チャートである。図4に示されるように、方法は、システム・トレー中のアイコンのダブルクリックにより、あるいは他のある適切な方法により、ステップ400(そこではコンフリクトを解決するためにユーザは選択してもよい)で例えば始まるかもしれない。ステップ402で、ユーザに未解決なコンフリクトのリストが贈られるかもしれない。未解決なコンフリクトのリストは、例えばコンフリクト店のすべてのコンフリクト・オブジェクトのリストかもしれないし、まだ解決されていないコンフリクトをすべて表わすかもしれない。
ステップ404で、ユーザは、コンフリクトの、例えば、コンフリクトをダブルクリックすることによって、あるいは他のある適切な方法によってリストからコンフリクトを選んでもよい。あるいは、ユーザは、コンフリクトを選択することを断わるかもしれないし、競合の解決を終了することに代わりに決めるかもしれない。ユーザが競合の解決を終了することに決定すれば、コンフリクト店のコンフリクト・オブジェクトは不変かもしれない。また、ユーザは、コンフリクト中のどんな未解決なコンフリクトも後で格納すると決心するかもしれない。
ユーザがステップ404でコンフリクトのリストからコンフリクトを選べば、ユーザがGUIが贈られる。GUIは、コンフリクトマネジャUIによって例えば示される。コンフリクトマネジャUIは、例えば、どの解決手段がコンフリクトを解決するのに適切か決めるためにコンフリクト・オブジェクトを尋ねるかもしれない。適切な解決手段によって特定されるように、ユーザに提示されたGUIは例えば、コンフリクトの解決のために1つ以上のオプションを含んでいる。例えば、ユーザは、ファイルの1つのバージョンを保存するべきかファイルの別のバージョンを保存するべきか、1つのリネームにより両方のバージョンを保存するべきか、特定のアプリケーションを使用して、手によってコンフリクトを解決するべきか、あるいは解決手段によって特定された競合の解決の他のある形式を行なうべきであるかどうかを尋ねられるかもしれない。
ステップ410で、ファイルはユーザによって特定された方法で一致させられる。ステップ412で、コンフリクトを表わすコンフリクト・オブジェクトは、コンフリクト店から取り除かれる。これは含んでいる、例えば、完成したコンフリクト・オブジェクトをマークするコンフリクト・オブジェクトあるいは他のある適切な方法の削除。コンフリクト店からコンフリクトを取り除くことは、コンフリクトが解決されたことを示す。
ステップ414で、ユーザに、別のコンフリクトを解決するオプションが贈られるかもしれない。ユーザが別のコンフリクトを解決したくなければ、方法は終了するかもしれない。ユーザが別のコンフリクトを解決したければ、方法はステップ402に返るかもしれない。そこではユーザに未解決なコンフリクトのリストが贈られるかもしれない。
図5は、発明の実施例に従ってユーザに表示される典型的なGUIウィンドウ500を示す。図5に示されるように、ユーザはシステム・トレー504中のアイコン502によって、未解決なコンフリクトがあるという事実に例えば警告を受けてもよい。例えば、アイコン502は未解決なコンフリクトがあると合図して、特別の色に表示される。ユーザは、複式によって、例えばコンフリクトマネジャを呼び出してもよい−アイコン502上の、あるいは他のある適切な方法によるクリック。
ユーザがコンフリクトマネジャを呼び出す場合、ダイアログボックスとして、図5(それはインプリメントされる)に例えば示されるように、ユーザにコンフリクトマネジャGUI画面500が贈られるかもしれない。コンフリクトマネジャGUI画面500は、未解決なコンフリクトのリストを示すかもしれない。個々の未解決なコンフリクトについては、コンフリクトマネジャGUI画面506は、例えばコンフリクト中のファイルの名前、コンフリクトに含まれる装置、コンフリクトが検知された時、コンフリクト中のファイルのうちの1つへの最も最近の編集の時間あるいは他の関連情報のように、コンフリクトを識別する情報を表示するかもしれない。
ユーザがコンフリクトを解決したければ、ユーザはそのように示す、コンフリクトのリスト中のコンフリクトをダブルクリックすることにより、あるいは他のある適切な方法により、例えば。その後、ユーザに、図6の競合の解決GUI画面600が贈られるかもしれない。
図6は、発明の実施例に従ってユーザに表示される典型的なGUIウィンドウ600を示す。図6に示されるように、特別のコンフリクトを解決したいユーザにダイアログボックスとして、GUIウィンドウ600(それはインプリメントされる)が例えば贈られるかもしれない。GUIウィンドウ600は、コンフリクト中の2ファイルに関する情報を表示するかもしれない。更に、解決手段によって特定されるように、GUIウィンドウ600は未解決なコンフリクトの解決のために様々なオプションを表示するかもしれない。
例えば、GUIウィンドウ600は、ファイルの最初のバージョンを表わす最初のアイコン602、及びファイルの第2のバージョンを表わす別のアイコン604を表示するかもしれない。場合、ファイルのどちらかを見るユーザ所望、ユーザは、最初のアイコン602あるいは第2のアイコン604をダブルクリックすることにより、例えばそうしてもよい。GUIウィンドウ600は、さらに最初のファイルについて記述する情報606、及び第2のファイルについて記述する情報608を表示するかもしれない。情報606及び608のうちのいくつかあるいはすべては例えば、最初のファイルと第2のファイルの間の差を表示するためにダイナミックに選ばれるかもしれない。例えば、最初のファイル606及び第2のファイル608に異なる著者があることが決意する場合、著者情報は表示される、個々、ファイルの。したがって、ユーザに、コンフリクトを解決する方法の決定において有用になる情報が贈られるかもしれない。
更に、GUIウィンドウ600はコンフリクトの解決のために1つ以上のオプション610をユーザに提示するかもしれない。ユーザに提示されたオプション610は解決手段によって例えば特定されてあるかもしれない。ユーザは例えば、ファイルの最初のバージョンを保存するか、ファイルの第2のバージョンを保存する、1つのリネームにより両方のバージョンを保存する、あるいは専門の方法を使用して、ファイルを解決することために選んでもよい。GUIウィンドウ600中で表示された専門の方法は例えば解決手段中で特定された方法かもしれないし、特別の装置に特有かもしれないか、ワード・ドキュメントに特有のことのようなあるアプリケーションかファイル・タイプに特有かもしれない。
ユーザが最初のバージョンを保存するかあるいは第2のバージョンを保存するために選択すれば、競合の解決がそれ以上のユーザ入力なしで、例えば行なわれるかもしれない。ユーザが1つのリネームにより両方のバージョンを保存するために選択すれば、ユーザが、アイコン602、604のうちの1つの右クリックによって、あるいは他のある適切な手段によってのようにGUIウィンドウ600内のファイルのうちの1つのリネームにより例えば示される。ユーザが解決手段によって特定されるような専門の方法を使用して、コンフリクトを解決するために選択する場合。特別の例として、MS Wordを使用して、コンフリクトを解決することは含んでいる、例えば、ワード・ドキュメントを持ったユーザを示すこと、含んでいること、強調された変更あるいは不一致、また各変更あるいは不一致を認めるか拒絶するユーザを刺激すること
FIGに述べられていたGUIウィンドウ。5−6は単に実例となり、発明を制限するようには意図されない。他のユーザ・インターフェースは可能で、発明の範囲内である。
例えば、それは熟考される、競合の解決のためのユーザ・インターフェースはインプリメントされる、として、1つの「wizard”−タイプ・インターフェース、そのようなもの、その人、ウィンドウフレームは順番に各コンフリクトを表示するために使用されてもよい。また、ユーザが使用して、コンフリクトによってナビゲートするようなものは「発送する」そして「後ろに」ボタン。他のインターフェースは可能である。
発明の特別の実施例がここに例証され、詳細に記述された一方、様々な変更及び変更が発明のスコープ及び意図から外れずに、発明に行なわれるかもしれないことは理解されるに違いない。例えば、発明は定常のコンピュータ端末に接続するモバイルの装置の点から主として記述されているが、発明は、等しくコンピュータ端末あるいは他の適切な環境のネットワークのような他の環境に適する。さらに、装置はカップリングによって接続されると評されているが、例えば無線通信のようなどんな伝達方法も適切である。ここに記述された具体化は、限定的であるというよりむしろ実例となるためにすべての点で意図される。交互の具体化は、現在の発明がそのスコープから外れずに関係する当業者に明白になるだろう。
更に、発明は2ファイルあるいはそうでなければ調整する2ファイルのコンフリクトを解決する点では記述されているが、3ファイル以上を調整することは、本発明の範囲内である。例えば、3つ以上のユーザが各々同じか同様のファイルを変更した場合、そのようなシチュエーションが発生するかもしれない、あるいは他の状況で。n−方法コンフリクトの場合には、2を越えて整数であるnで、システムが、ファイルを調整するために適切な解決手段及びユーザ・インターフェースを選択するだろう。n−方法競合の解決の中のユーザに提示されたGUIは、例えば、コンフリクト中のファイルの2つの最新バージョンを表示し、ユーザがコンフリクト中のファイルのより古いバージョンを見るオプションを選択することを可能にするかもしれない。
から、先、この発明が上に発表された終了及びオブジェクトすべてに到達するのに他の利点(それらはシステムと方法にとって明白で、固有である)と一緒に、よく適して、1であることが理解されるだろう。ある特徴及びサブ組合せが有益で、他の特徴及びサブ組合せに関係なく雇われるかもしれないことが理解されるだろう。これは熟考され、アペンドされたものの範囲内で要求する。
本発明の実施例によるシステムの概要を図解するブロック図である。 本発明の実施例が実現されるコンピュータ化された環境を図解するブロック図である。 本発明の実施例による同期動作を実行する方法を図解する流れ図である。 本発明の実施例によるコンフリクト解決を実行する方法を図解する流れ図である。 本発明による例示的なグラフィカル・ユーザ・インターフェース(GUI)を示している。 本発明による例示的なグラフィカル・ユーザ・インターフェース(GUI)を示している。

Claims (20)

  1. 同期動作を実行する方法であって
    第1のファイルを受け取るステップと、
    第2のファイルを受け取るステップと、
    前記第1のファイルと前記第2のファイルとの間にコンフリクトが存在するかどうかを判断するステップと、
    コンフリクトが存在しない場合には、前記第1のファイルと前記第2のファイルとを調整するステップと、
    コンフリクトが存在する場合には、前記第1のファイルと前記第2のファイルとを識別するコンフリクト・オブジェクトを作成し、前記コンフリクトを解決する少なくとも1つの方法を特定するステップと、
    を含むことを特徴とする方法。
  2. 請求項1記載の方法において、コンフリクト解決入力をユーザから前記ユーザによって選択された時刻に受けとるステップを更に含むことを特徴とする方法。
  3. 請求項1記載の方法において、前記第1のファイルは外部装置から受けとられることを特徴とする方法。
  4. 請求項1記載の方法において、前記第2のファイルは外部装置から受けとられることを特徴とする方法。
  5. 請求項1記載の方法において、前記第1のファイルはネットワーク経由で受けとられることを特徴とする方法。
  6. 請求項1記載の方法において、前記第2のファイルはローカルな記憶装置から受けとられることを特徴とする方法。
  7. 請求項1記載の方法において、前記第1のファイルと前記第2のファイルとの間にコンフリクトが存在するかどうかを判断する前記ステップは、前記第1のファイルと前記第2のファイルとの両方が直近の同期動作の後で変更されたかどうかを判断するステップを含むことを特徴とする方法。
  8. 請求項1記載の方法において、前記第1のファイルと前記第2のファイルとを調整する前記ステップは、前記第1のファイルを前記第2のファイルで置き換えるステップと、前記第2のファイルを前記第1のファイルで置き換えるステップと、前記第1のファイルと前記第2のファイルとに基づいて第3のファイルを作成するステップとから構成されるグループの中の1つを含むことを特徴とする方法。
  9. 請求項1記載の方法において、コンフリクト規則に従って少なくとも1つのコンフリクトを解決するステップを更に含むことを特徴とする方法。
  10. コンフリクト解決を実行する方法であって、
    前記コンフリクト解決が開始することを示す選択をユーザから受け取るステップと、
    第1のファイルを記述する第1のファイル情報を表示するステップと、
    第2のファイルを記述する第2のファイル情報を表示するステップと、
    前記コンフリクトを解決する可能な方法をそれぞれが識別する少なくとも1つのコンフリクト解決オプションを表示するステップと、
    を含むことを特徴とする方法。
  11. 請求項10記載の方法において、1又は複数のコンフリクトのリストを表示するステップを更に含むことを特徴とする方法。
  12. 請求項11記載の方法において、前記コンフリクトのリストからユーザによって選択された解決すべきコンフリクトを受け取るステップを更に含むことを特徴とする方法。
  13. 請求項10記載の方法において、ユーザによって選択されたコンフリクト解決オプションを受け取るステップを更に含むことを特徴とする方法。
  14. 請求項13記載の方法において、前記ユーザによって選択されたコンフリクト解決オプションに従って前記コンフリクトを解決するステップを更に含むことを特徴とする方法。
  15. 請求項10記載の方法において、前記第1のファイル情報と前記第2のファイル情報とは、前記第1のファイルと前記第2のファイルとの間の差に基づいて選択されることを特徴とする方法。
  16. 請求項10記載の方法において、それぞれのコンフリクト解決オプションは解決手段において特定され、前記解決手段は解決手段アプリケーション・プログラム・インターフェースに従って実装されることを特徴とする方法。
  17. 同期動作を実行するシステムであって、
    第1のファイルと第2のファイルとを比較し、前記第1のファイルと前記第2のファイルとの間にコンフリクトが存在するかどうかを判断し、コンフリクトが存在しない場合には前記第1のファイルと前記第2のファイルとを調整し、コンフリクトが存在する場合にはコンフリクト・オブジェクトを作成するように構成された同期マネジャと、
    コンフリクト・オブジェクトを保持するように構成されたコンフリクト記憶装置と、
    コンフリクトを解決する少なくとも1つの方法を特定する解決手段と、
    を備えていることを特徴とするシステム。
  18. 請求項17記載のシステムにおいて、nを2以上の整数として、前記同期マネジャはn個のファイルを比較し、前記n個のファイルの間にコンフリクトが存在するかどうかを判断し、コンフリクトが存在しない場合には前記n個のファイルを調整し、コンフリクトが存在する場合にはコンフリクト・オブジェクトを作成するように構成されていることを特徴とするシステム。
  19. 請求項17記載のシステムにおいて、前記解決手段は拡張可能な解決手段アプリケーション・プログラム・インターフェースに従って実装されることを特徴とするシステム。
  20. 請求項17記載のシステムにおいて、コンフリクト・オブジェクトから受け取られたコンフリクト情報を表示するように構成されたコンフリクト・マネジャ・ユーザ・インターフェースを更に含むことを特徴とするシステム。
JP2008507625A 2005-04-22 2005-07-28 同期マネジャによるコンフリクト解決 Pending JP2008537254A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/111,733 US20060242204A1 (en) 2005-04-22 2005-04-22 Sync manager conflict resolution
PCT/US2005/026855 WO2006115519A2 (en) 2005-04-22 2005-07-28 Sync manager conflict resolution

Publications (1)

Publication Number Publication Date
JP2008537254A true JP2008537254A (ja) 2008-09-11

Family

ID=37188329

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008507625A Pending JP2008537254A (ja) 2005-04-22 2005-07-28 同期マネジャによるコンフリクト解決

Country Status (6)

Country Link
US (1) US20060242204A1 (ja)
EP (1) EP1872198A4 (ja)
JP (1) JP2008537254A (ja)
KR (1) KR20080007332A (ja)
CN (1) CN101167046B (ja)
WO (1) WO2006115519A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016530656A (ja) * 2013-12-17 2016-09-29 ヒタチ データ システムズ コーポレーションHitachi Data Systems Corporation 分散型ディザスタリカバリファイル同期サーバシステム
JP2019086867A (ja) * 2017-11-02 2019-06-06 富士ゼロックス株式会社 情報処理装置及びプログラム

Families Citing this family (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7870478B1 (en) * 2005-10-31 2011-01-11 Adobe Systems Incorporated Repurposing subsections and/or objects
US8515912B2 (en) 2010-07-15 2013-08-20 Palantir Technologies, Inc. Sharing and deconflicting data changes in a multimaster database system
US8326814B2 (en) 2007-12-05 2012-12-04 Box, Inc. Web-based file management system and service
US8745127B2 (en) 2008-05-13 2014-06-03 Microsoft Corporation Blending single-master and multi-master data synchronization techniques
US8019813B2 (en) * 2009-05-12 2011-09-13 Microsoft Corporation Synchronizing self-referencing fields during two-way synchronization
US8219526B2 (en) * 2009-06-05 2012-07-10 Microsoft Corporation Synchronizing file partitions utilizing a server storage model
US8473543B2 (en) 2009-07-06 2013-06-25 Microsoft Corporation Automatic conflict resolution when synchronizing data objects between two or more devices
US8572022B2 (en) * 2010-03-02 2013-10-29 Microsoft Corporation Automatic synchronization conflict resolution
WO2012099617A1 (en) 2011-01-20 2012-07-26 Box.Net, Inc. Real time notification of activities that occur in a web-based collaboration environment
US9015601B2 (en) 2011-06-21 2015-04-21 Box, Inc. Batch uploading of content to a web-based collaboration environment
US9063912B2 (en) 2011-06-22 2015-06-23 Box, Inc. Multimedia content preview rendering in a cloud content management system
US9978040B2 (en) 2011-07-08 2018-05-22 Box, Inc. Collaboration sessions in a workspace on a cloud-based content management system
WO2013009337A2 (en) 2011-07-08 2013-01-17 Arnold Goldberg Desktop application for access and interaction with workspaces in a cloud-based content management system and synchronization mechanisms thereof
US9197718B2 (en) 2011-09-23 2015-11-24 Box, Inc. Central management and control of user-contributed content in a web-based collaboration environment and management console thereof
US8515902B2 (en) 2011-10-14 2013-08-20 Box, Inc. Automatic and semi-automatic tagging features of work items in a shared workspace for metadata tracking in a cloud-based content management system with selective or optional user contribution
US9098474B2 (en) 2011-10-26 2015-08-04 Box, Inc. Preview pre-generation based on heuristics and algorithmic prediction/assessment of predicted user behavior for enhancement of user experience
WO2013062599A1 (en) 2011-10-26 2013-05-02 Box, Inc. Enhanced multimedia content preview rendering in a cloud content management system
US8990307B2 (en) 2011-11-16 2015-03-24 Box, Inc. Resource effective incremental updating of a remote client with events which occurred via a cloud-enabled platform
GB2500152A (en) 2011-11-29 2013-09-11 Box Inc Mobile platform file and folder selection functionalities for offline access and synchronization
US9904435B2 (en) 2012-01-06 2018-02-27 Box, Inc. System and method for actionable event generation for task delegation and management via a discussion forum in a web-based collaboration environment
US11232481B2 (en) 2012-01-30 2022-01-25 Box, Inc. Extended applications of multimedia content previews in the cloud-based content management system
US9965745B2 (en) 2012-02-24 2018-05-08 Box, Inc. System and method for promoting enterprise adoption of a web-based collaboration environment
US9195636B2 (en) 2012-03-07 2015-11-24 Box, Inc. Universal file type preview for mobile devices
US9054919B2 (en) 2012-04-05 2015-06-09 Box, Inc. Device pinning capability for enterprise cloud service and storage accounts
US9575981B2 (en) 2012-04-11 2017-02-21 Box, Inc. Cloud service enabled to handle a set of files depicted to a user as a single file in a native operating system
US9413587B2 (en) 2012-05-02 2016-08-09 Box, Inc. System and method for a third-party application to access content within a cloud-based platform
GB2514947B (en) 2012-05-04 2015-06-17 Box Inc Repository redundancy implementation of a system which incrementally updates clients with events that occured via a cloud-enabled platform
US9691051B2 (en) 2012-05-21 2017-06-27 Box, Inc. Security enhancement through application access control
US8914900B2 (en) 2012-05-23 2014-12-16 Box, Inc. Methods, architectures and security mechanisms for a third-party application to access content in a cloud-based platform
US9924002B1 (en) * 2012-06-21 2018-03-20 EMC IP Holding Company LLC Managing stateless processes
US9021099B2 (en) 2012-07-03 2015-04-28 Box, Inc. Load balancing secure FTP connections among multiple FTP servers
US9792320B2 (en) 2012-07-06 2017-10-17 Box, Inc. System and method for performing shard migration to support functions of a cloud-based service
US9712510B2 (en) 2012-07-06 2017-07-18 Box, Inc. Systems and methods for securely submitting comments among users via external messaging applications in a cloud-based platform
GB2505072A (en) 2012-07-06 2014-02-19 Box Inc Identifying users and collaborators as search results in a cloud-based system
US9473532B2 (en) 2012-07-19 2016-10-18 Box, Inc. Data loss prevention (DLP) methods by a cloud service including third party integration architectures
US9794256B2 (en) 2012-07-30 2017-10-17 Box, Inc. System and method for advanced control tools for administrators in a cloud-based service
US9369520B2 (en) 2012-08-19 2016-06-14 Box, Inc. Enhancement of upload and/or download performance based on client and/or server feedback information
US8745267B2 (en) 2012-08-19 2014-06-03 Box, Inc. Enhancement of upload and/or download performance based on client and/or server feedback information
US9558202B2 (en) 2012-08-27 2017-01-31 Box, Inc. Server side techniques for reducing database workload in implementing selective subfolder synchronization in a cloud-based environment
US9135462B2 (en) 2012-08-29 2015-09-15 Box, Inc. Upload and download streaming encryption to/from a cloud-based platform
US9117087B2 (en) 2012-09-06 2015-08-25 Box, Inc. System and method for creating a secure channel for inter-application communication based on intents
US9195519B2 (en) 2012-09-06 2015-11-24 Box, Inc. Disabling the self-referential appearance of a mobile application in an intent via a background registration
US9311071B2 (en) 2012-09-06 2016-04-12 Box, Inc. Force upgrade of a mobile application via a server side configuration file
US9292833B2 (en) 2012-09-14 2016-03-22 Box, Inc. Batching notifications of activities that occur in a web-based collaboration environment
US10200256B2 (en) 2012-09-17 2019-02-05 Box, Inc. System and method of a manipulative handle in an interactive mobile user interface
US9553758B2 (en) 2012-09-18 2017-01-24 Box, Inc. Sandboxing individual applications to specific user folders in a cloud-based service
US10915492B2 (en) 2012-09-19 2021-02-09 Box, Inc. Cloud-based platform enabled with media content indexed for text-based searches and/or metadata extraction
US9959420B2 (en) 2012-10-02 2018-05-01 Box, Inc. System and method for enhanced security and management mechanisms for enterprise administrators in a cloud-based environment
US9495364B2 (en) 2012-10-04 2016-11-15 Box, Inc. Enhanced quick search features, low-barrier commenting/interactive features in a collaboration platform
US9705967B2 (en) 2012-10-04 2017-07-11 Box, Inc. Corporate user discovery and identification of recommended collaborators in a cloud platform
US9665349B2 (en) 2012-10-05 2017-05-30 Box, Inc. System and method for generating embeddable widgets which enable access to a cloud-based collaboration platform
US9756022B2 (en) 2014-08-29 2017-09-05 Box, Inc. Enhanced remote key management for an enterprise in a cloud-based environment
EP2784717A1 (en) 2012-10-17 2014-10-01 Box, Inc. Remote key management in a cloud-based environment
US9081975B2 (en) 2012-10-22 2015-07-14 Palantir Technologies, Inc. Sharing information between nexuses that use different classification schemes for information access control
US9501761B2 (en) 2012-11-05 2016-11-22 Palantir Technologies, Inc. System and method for sharing investigation results
US10235383B2 (en) 2012-12-19 2019-03-19 Box, Inc. Method and apparatus for synchronization of items with read-only permissions in a cloud-based environment
US9396245B2 (en) 2013-01-02 2016-07-19 Box, Inc. Race condition handling in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US9953036B2 (en) 2013-01-09 2018-04-24 Box, Inc. File system monitoring in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
EP2755151A3 (en) * 2013-01-11 2014-09-24 Box, Inc. Functionalities, features and user interface of a synchronization client to a cloud-based environment
EP2757491A1 (en) 2013-01-17 2014-07-23 Box, Inc. Conflict resolution, retry condition management, and handling of problem files for the synchronization client to a cloud-based platform
US10635638B2 (en) 2013-03-13 2020-04-28 Ivanti Us Llc Systems, methods and media for deferred synchronization of files in cloud storage client device
US10725968B2 (en) 2013-05-10 2020-07-28 Box, Inc. Top down delete or unsynchronization on delete of and depiction of item synchronization with a synchronization client to a cloud-based platform
US10846074B2 (en) 2013-05-10 2020-11-24 Box, Inc. Identification and handling of items to be ignored for synchronization with a cloud-based platform by a synchronization client
GB2515192B (en) 2013-06-13 2016-12-14 Box Inc Systems and methods for synchronization event building and/or collapsing by a synchronization component of a cloud-based platform
US9805050B2 (en) 2013-06-21 2017-10-31 Box, Inc. Maintaining and updating file system shadows on a local device by a synchronization client of a cloud-based platform
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
US10110656B2 (en) 2013-06-25 2018-10-23 Box, Inc. Systems and methods for providing shell communication in a cloud-based platform
US9535924B2 (en) 2013-07-30 2017-01-03 Box, Inc. Scalability improvement in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US10509527B2 (en) 2013-09-13 2019-12-17 Box, Inc. Systems and methods for configuring event-based automation in cloud-based collaboration platforms
US9704137B2 (en) 2013-09-13 2017-07-11 Box, Inc. Simultaneous editing/accessing of content by collaborator invitation through a web-based or mobile application to a cloud-based collaboration platform
GB2518298A (en) 2013-09-13 2015-03-18 Box Inc High-availability architecture for a cloud-based concurrent-access collaboration platform
US10026064B2 (en) 2013-09-13 2018-07-17 Microsoft Technology Licensing, Llc Automatically recommending updates based on stored lifecycle information
US9535909B2 (en) 2013-09-13 2017-01-03 Box, Inc. Configurable event-based automation architecture for cloud-based collaboration platforms
US9213684B2 (en) 2013-09-13 2015-12-15 Box, Inc. System and method for rendering document in web browser or mobile device regardless of third-party plug-in software
US9665359B2 (en) * 2013-09-13 2017-05-30 Microsoft Technology Licensing, Llc Automatically resolving conflicts after installation of selected updates in a computer system
US8892679B1 (en) 2013-09-13 2014-11-18 Box, Inc. Mobile device, methods and user interfaces thereof in a mobile device platform featuring multifunctional access and engagement in a collaborative environment provided by a cloud-based platform
US10866931B2 (en) 2013-10-22 2020-12-15 Box, Inc. Desktop application for accessing a cloud collaboration platform
US9569070B1 (en) * 2013-11-11 2017-02-14 Palantir Technologies, Inc. Assisting in deconflicting concurrency conflicts
US9753967B2 (en) * 2014-03-31 2017-09-05 Samsung Electronics Co., Ltd. Computing system with error detection mechanism and method of operation thereof
US10530854B2 (en) 2014-05-30 2020-01-07 Box, Inc. Synchronization of permissioned content in cloud-based environments
US20150347966A1 (en) * 2014-05-31 2015-12-03 Hartford Fire Insurance Company Meeting management and project management element reconciliation
US9602514B2 (en) 2014-06-16 2017-03-21 Box, Inc. Enterprise mobility management and verification of a managed application by a content provider
US9503402B2 (en) 2014-08-18 2016-11-22 Dropbox, Inc. Managing drafts of electronic documents across client devices
US9894119B2 (en) 2014-08-29 2018-02-13 Box, Inc. Configurable metadata-based automation and content classification architecture for cloud-based collaboration platforms
US10038731B2 (en) 2014-08-29 2018-07-31 Box, Inc. Managing flow-based interactions with cloud-based shared content
US10574442B2 (en) 2014-08-29 2020-02-25 Box, Inc. Enhanced remote key management for an enterprise in a cloud-based environment
US9348880B1 (en) * 2015-04-01 2016-05-24 Palantir Technologies, Inc. Federated search of multiple sources with conflict resolution
US10489378B2 (en) * 2015-12-08 2019-11-26 Sap Se Detection and resolution of conflicts in data synchronization
US10936548B2 (en) 2016-03-15 2021-03-02 Microsoft Technology Licensing, Llc File synchronization pausing for individual files
CN107391536A (zh) * 2017-04-24 2017-11-24 阿里巴巴集团控股有限公司 社区应用的评论处理方法、装置和系统
CN107463657B (zh) * 2017-07-28 2018-08-17 腾讯科技(深圳)有限公司 文件操作方法及终端
US20190056929A1 (en) * 2017-08-17 2019-02-21 Ability Enterprise Co., Ltd. Data transmission method and communication system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000250799A (ja) * 1999-03-02 2000-09-14 Mitsubishi Electric Corp 複製ファイル管理システム
JP2001142766A (ja) * 1999-11-10 2001-05-25 Nec Corp データベース交換システム
JP2001337858A (ja) * 2000-05-25 2001-12-07 Mitsubishi Electric Corp 複製データ管理システム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5897640A (en) * 1994-08-08 1999-04-27 Microsoft Corporation Method and system of associating, synchronizing and reconciling computer files in an operating system
US5774717A (en) * 1995-12-15 1998-06-30 International Business Machines Corporation Method and article of manufacture for resynchronizing client/server file systems and resolving file system conflicts
US6275831B1 (en) * 1997-12-16 2001-08-14 Starfish Software, Inc. Data processing environment with methods providing contemporaneous synchronization of two or more clients
US6393434B1 (en) * 1999-09-14 2002-05-21 International Business Machines Corporation Method and system for synchronizing data using fine-grained synchronization plans
US7725523B2 (en) * 2000-04-11 2010-05-25 Bolnick David A System, method and computer program product for gathering and delivering personalized user information
US6993522B2 (en) * 2001-06-27 2006-01-31 Microsoft Corporation System and method for resolving conflicts detected during a synchronization session
CA2467404A1 (en) * 2001-11-15 2003-05-30 Visto Corporation System and methods for asychronous synchronization
US7340534B2 (en) * 2002-03-05 2008-03-04 Sun Microsystems, Inc. Synchronization of documents between a server and small devices
US20030220966A1 (en) * 2002-05-24 2003-11-27 International Business Machines Corporation System and method for dynamic content dependent conflict resolution
US20050177617A1 (en) * 2003-12-23 2005-08-11 Intel Corporation Conflict resolution during data synchronization
US7809682B2 (en) * 2004-05-24 2010-10-05 Apple Inc. Data synchronization between multiple devices
WO2006018843A2 (en) * 2004-08-16 2006-02-23 Beinsync Ltd. A system and method for the synchronization of data across multiple computing devices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000250799A (ja) * 1999-03-02 2000-09-14 Mitsubishi Electric Corp 複製ファイル管理システム
JP2001142766A (ja) * 1999-11-10 2001-05-25 Nec Corp データベース交換システム
JP2001337858A (ja) * 2000-05-25 2001-12-07 Mitsubishi Electric Corp 複製データ管理システム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016530656A (ja) * 2013-12-17 2016-09-29 ヒタチ データ システムズ コーポレーションHitachi Data Systems Corporation 分散型ディザスタリカバリファイル同期サーバシステム
JP2019086867A (ja) * 2017-11-02 2019-06-06 富士ゼロックス株式会社 情報処理装置及びプログラム
JP7020062B2 (ja) 2017-11-02 2022-02-16 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム

Also Published As

Publication number Publication date
CN101167046A (zh) 2008-04-23
EP1872198A2 (en) 2008-01-02
EP1872198A4 (en) 2010-05-05
WO2006115519A2 (en) 2006-11-02
KR20080007332A (ko) 2008-01-18
CN101167046B (zh) 2010-09-29
US20060242204A1 (en) 2006-10-26
WO2006115519A3 (en) 2007-07-12

Similar Documents

Publication Publication Date Title
JP2008537254A (ja) 同期マネジャによるコンフリクト解決
JP3613504B2 (ja) 版管理・構成管理方法および装置および版管理・構成管理プログラムを記録したコンピュータ読み取り可能な記録媒体
RU2417401C2 (ru) Пользовательский интерфейс переноса и фиксации по новому месту с широкими возможностями
RU2349952C2 (ru) Способ управления репликацией файлов в приложениях
US7464117B2 (en) Using directory historical data to facilitate automated file updates
US7403955B2 (en) Method and system for updating attachment files
JP4181555B2 (ja) コンピュータによって実施されるスライド・ショーのスピーカー・ノートを管理するためのシステム、および方法およびプログラム
US20160140139A1 (en) Local representation of shared files in disparate locations
US20060174054A1 (en) File Management Apparatus and Its Control Method
US20070005413A1 (en) Dynamic prioritization in a work management process
US20070174520A1 (en) Method and an apparatus for managing data of a portable device using a virtual device, and a user interface method using the same
JP2005198064A (ja) ファイル管理プログラム
JP2006309761A (ja) コンピュータシステムにおけるデジタル文書の管理
JP2008234213A (ja) 情報処理装置、情報処理方法、情報処理プログラム、及び情報処理プログラムを記録する記録媒体
US20050192973A1 (en) Visual database management system and method
JP2011165032A (ja) コンピュータプログラム及びデータバックアップ方法
JP2019086867A (ja) 情報処理装置及びプログラム
US20070006085A1 (en) Integrated work management and tracking
JP2019128859A (ja) 情報処理装置
JP7024330B2 (ja) 情報処理装置及びプログラム
US10277661B2 (en) Information processing apparatus and non-transitory computer readable medium
JP7119340B2 (ja) 情報処理装置及びプログラム
JP7192206B2 (ja) 情報処理装置及びプログラム
JP7013797B2 (ja) 情報処理装置及びプログラム
JP6922662B2 (ja) 情報処理装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110307

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110805

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20110906