(57)【要約】  同期マネジャにおけるコンフリクト解決を実現するシステム及び方法が提供される。コンフリクトの場合には、同期動作が、コンフリクト・オブジェクトを作成し記憶して、ユーザ入力を要求することなく同期動作を再開する。このように、同期動作をユーザ入力なしで完了することが可能であり、ユーザは便利な時刻にオンラインかオフラインかのいずれかにより未解決のコンフリクトを解決することを選択できる。更に、本発明は、標準化されたユーザ・フレンドリな同期動作を生じるプラットフォームを提供する。更に、本発明は、多くの装置から生じるコンフリクトをユーザが迅速かつ容易に解決することを可能にする集中位置を提供する。
2008537254.tif 000002
【特許請求の範囲】
【請求項１】
同期動作を実行する方法であって
第１のファイルを受け取るステップと、
第２のファイルを受け取るステップと、
前記第１のファイルと前記第２のファイルとの間にコンフリクトが存在するかどうかを判断するステップと、
コンフリクトが存在しない場合には、前記第１のファイルと前記第２のファイルとを調整するステップと、
コンフリクトが存在する場合には、前記第１のファイルと前記第２のファイルとを識別するコンフリクト・オブジェクトを作成し、前記コンフリクトを解決する少なくとも１つの方法を特定するステップと、
を含むことを特徴とする方法。
【請求項２】
請求項１記載の方法において、コンフリクト解決入力をユーザから前記ユーザによって選択された時刻に受けとるステップを更に含むことを特徴とする方法。
【請求項３】
請求項１記載の方法において、前記第１のファイルは外部装置から受けとられることを特徴とする方法。
【請求項４】
請求項１記載の方法において、前記第２のファイルは外部装置から受けとられることを特徴とする方法。
【請求項５】
請求項１記載の方法において、前記第１のファイルはネットワーク経由で受けとられることを特徴とする方法。
【請求項６】
請求項１記載の方法において、前記第２のファイルはローカルな記憶装置から受けとられることを特徴とする方法。
【請求項７】
請求項１記載の方法において、前記第１のファイルと前記第２のファイルとの間にコンフリクトが存在するかどうかを判断する前記ステップは、前記第１のファイルと前記第２のファイルとの両方が直近の同期動作の後で変更されたかどうかを判断するステップを含むことを特徴とする方法。
【請求項８】
請求項１記載の方法において、前記第１のファイルと前記第２のファイルとを調整する前記ステップは、前記第１のファイルを前記第２のファイルで置き換えるステップと、前記第２のファイルを前記第１のファイルで置き換えるステップと、前記第１のファイルと前記第２のファイルとに基づいて第３のファイルを作成するステップとから構成されるグループの中の１つを含むことを特徴とする方法。
【請求項９】
請求項１記載の方法において、コンフリクト規則に従って少なくとも１つのコンフリクトを解決するステップを更に含むことを特徴とする方法。
【請求項１０】
コンフリクト解決を実行する方法であって、
前記コンフリクト解決が開始することを示す選択をユーザから受け取るステップと、
第１のファイルを記述する第１のファイル情報を表示するステップと、
第２のファイルを記述する第２のファイル情報を表示するステップと、
前記コンフリクトを解決する可能な方法をそれぞれが識別する少なくとも１つのコンフリクト解決オプションを表示するステップと、
を含むことを特徴とする方法。
【請求項１１】
請求項１０記載の方法において、１又は複数のコンフリクトのリストを表示するステップを更に含むことを特徴とする方法。
【請求項１２】
請求項１１記載の方法において、前記コンフリクトのリストからユーザによって選択された解決すべきコンフリクトを受け取るステップを更に含むことを特徴とする方法。
【請求項１３】
請求項１０記載の方法において、ユーザによって選択されたコンフリクト解決オプションを受け取るステップを更に含むことを特徴とする方法。
【請求項１４】
請求項１３記載の方法において、前記ユーザによって選択されたコンフリクト解決オプションに従って前記コンフリクトを解決するステップを更に含むことを特徴とする方法。
【請求項１５】
請求項１０記載の方法において、前記第１のファイル情報と前記第２のファイル情報とは、前記第１のファイルと前記第２のファイルとの間の差に基づいて選択されることを特徴とする方法。
【請求項１６】
請求項１０記載の方法において、それぞれのコンフリクト解決オプションは解決手段において特定され、前記解決手段は解決手段アプリケーション・プログラム・インターフェースに従って実装されることを特徴とする方法。
【請求項１７】
同期動作を実行するシステムであって、
第１のファイルと第２のファイルとを比較し、前記第１のファイルと前記第２のファイルとの間にコンフリクトが存在するかどうかを判断し、コンフリクトが存在しない場合には前記第１のファイルと前記第２のファイルとを調整し、コンフリクトが存在する場合にはコンフリクト・オブジェクトを作成するように構成された同期マネジャと、
コンフリクト・オブジェクトを保持するように構成されたコンフリクト記憶装置と、
コンフリクトを解決する少なくとも１つの方法を特定する解決手段と、
を備えていることを特徴とするシステム。
【請求項１８】
請求項１７記載のシステムにおいて、ｎを２以上の整数として、前記同期マネジャはｎ個のファイルを比較し、前記ｎ個のファイルの間にコンフリクトが存在するかどうかを判断し、コンフリクトが存在しない場合には前記ｎ個のファイルを調整し、コンフリクトが存在する場合にはコンフリクト・オブジェクトを作成するように構成されていることを特徴とするシステム。
【請求項１９】
請求項１７記載のシステムにおいて、前記解決手段は拡張可能な解決手段アプリケーション・プログラム・インターフェースに従って実装されることを特徴とするシステム。
【請求項２０】
請求項１７記載のシステムにおいて、コンフリクト・オブジェクトから受け取られたコンフリクト情報を表示するように構成されたコンフリクト・マネジャ・ユーザ・インターフェースを更に含むことを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施例は、コンフリクト解決のためのシステム及び方法に関し、特に、同期マネジャにおけるユーザ・フレンドリなコンフリクト解決を提供するシステム及び方法に関する。
【背景技術】
【０００２】
今日の環境におけるコンピュータ・ユーザは、多数の異なる計算装置を用いることがある。例えば、ひとりのコンピュータ・ユーザが、静止型のコンピュータ端末と、ラップトップ・コンピュータと、ブラックベリーやそれ以外の携帯装置とを用いることがありうる。多くの場合、これらの計算装置は、類似する又は関連する情報を記憶するのに用いられる。例えば、ユーザの予定スケジュールが、静止型コンピュータ端末と、ラップトップ・コンピュータと、携帯装置とに存在する場合がある。他の例としては、ある文書が、静止型コンピュータ端末に記憶され、次にラップトップ・コンピュータにコピーされ、そこでユーザがこの文書を編集する場合がある。
【０００３】
ある１つの装置において情報を更新又は変更した後で、ユーザは、更新された情報を別の装置に転送することを希望する場合がある。例えば、携帯装置に記憶されているカレンダに新たな予定を入力した後で、ユーザは、この新しい情報をコンピュータ端末に記憶されているカレンダに転送することを望む可能性がある。別の例としては、ある文書をラップトップ・コンピュータ上で編集した後で、ユーザは、編集された文書を静止型コンピュータ端末に転送することを希望する場合がある。これ以外の例も存在する。
【０００４】
複数の装置の間で情報を転送するには、ユーザは、２つ又はそれより多くの装置を同期させることを選択する。これら複数の装置の中の１又は複数が、同期動作を実行する「同期マネジャ」（同期管理手段）を含むこともある。２つの装置が同期されるときには、どちらの装置が直近（most recent、最も近い時点）の情報を含むのかが決定されるのが通常である。例えば、直近の情報を含む装置が、情報を他方の装置に転送するのである。
【０００５】
同期をとること（syncing、同期化）は、ネットワーク用のアプリケーションにおいても有用である。例えば、２以上のユーザが、ネットワークで結合されている計算環境において、同一の文書、カレンダ又はそれ以外の情報にアクセスを有する場合がある。同期をとることは、このような環境では、情報の直近のコピーが用いられることを保証するのに用いられる。
【０００６】
ある情報に複数のバージョン（版）が存在するときには、同期マネジャは、典型的には、どのバージョンが直近であるかを判断しようとする。例えば、携帯装置と静止型コンピュータ端末との間での同期動作を実行した後で、ユーザは、新たな予定を携帯装置上のカレンダに入力することができる。他の例としては、ラップトップ・コンピュータと静止型コンピュータ端末との間で同期動作を実行した後で、ユーザは、ラップトップ・コンピュータの上で文書に変更を加えることができる。多くの場合に、同期マネジャは、ユーザ入力をまったく必要とすることなく、どのバージョンの情報を保持すべきであるのかを決定することができる。例えば、同期マネジャは、どのバージョンの情報が直近の時点で編集されたのかを判断することができ、直近のバージョンだけを保持する。
【０００７】
しかし、場合によっては、どのバージョンの情報を保持すべきか、必ずしも明らかではない。そのような状況は、コンフリクト（conflict、競合）として知られている。コンフリクトは、例えば、最後の同期動作の以後に複数のバージョンの情報が編集されているときに発生する。例えば、携帯装置と静止型コンピュータ端末との間で同期動作を実行した後で、ユーザは、新たな予定を携帯装置の上のカレンダに入力し、別の新たな予定を静止型コンピュータ端末の上のカレンダに入力することがありうる。別の例としては、ラップトップ・コンピュータと静止型コンピュータ端末との間での同期動作を実行した後で、ユーザは、ラップトップ・コンピュータ上で当該文書に変更を加え、静止型のコンピュータ端末では同じ当該文書に異なる変更を加えることがありうる。
【０００８】
コンフリクトの場合には、ユーザは、そのコンフリクトを解決するために用いられる入力をするように促されるのが典型的である。例えば、ユーザは、情報の第１のバージョンを保持するのか、情報の第２のバージョンを保持するのか、一方の名称を変更することによって両方のバージョンを保持するのか、手動でコンフリクトを解決するのかを質問される。ユーザが手動でコンフリクトを解決することを選択すると、ユーザには、例えば、更に、コンフリクトのリストを提示される、それぞれのコンフリクトをどのようにして解決するか質問される、など、更なる選択肢が提示される。例えば、ユーザは、ハンドヘルド装置に入力された第１の予定を維持するのか削除するのか質問される、静止型コンピュータ端末に入力された第２の予定を維持するのか削除するのか質問される、などである。別の例であるが、ユーザは、ラップトップ・コンピュータを介してある文書に対して行った変更のリストと、静止型コンピュータ端末を介してある文書に対して行った変更のリストとを提示されて、それぞれの変更を維持するのか削除するのか質問される。
【０００９】
どのファイル（１又は複数）を維持するのか、自動的に実行されるのかユーザ入力により実行されるのか、を判断するプロセスは、ファイルの調整として知られている。場合によっては、ファイルを調整する際にコンフリクトが生じることもある。その場合には、ファイルを調整するには、ユーザ入力が必要となるのが典型的である。別の場合には、最後の同期動作の後では当該ファイルのただ１つのバージョンが編集されただけなので、又は、最後の同期動作の後では当該ファイルのどのバージョンも編集されていないために、ファイルの調整の際にはコンフリクトが生じない。この場合には、ファイルの調整の際にユーザ入力は必要とならないのが典型的である。
【００１０】
通常、ユーザは、第１の装置を第２の装置に接続して同期動作を開始する。例えば、ユーザは、コンピュータ端末に接続されたクレードルにハンドヘルド装置を配置する、ラップトップ・コンピュータを静止型のコンピュータ端末に接続する、などを行う。すると、同期マネジャは、どのバージョンの情報が直近の時点で編集されたのかを判断することによって、ユーザ入力なしに、当該文書の複数のバージョンを調整することができる。別の場合には、同期マネジャは、ユーザ入力がなくては当該文書の複数のバージョンを調整することができず、コンフリクトが発生する。
【００１１】
同期マネジャは、コンフリクトに遭遇すると、例えば同期動作を中断してユーザに入力を促す。すると、ユーザは、同期動作が再開される前に入力を提供してコンフリクトを解決することが必要になる。従って、この技術分野においては、直ちにユーザ入力を要求することのない同期動作に対する必要性が存在する。
【００１２】
更に、それぞれの装置にはそれ自身の同期動作が含まれているために、コンフリクトを解決するためのユーザ・インターフェース及び方法は装置ごとに大きく異なっている。この結果として、ユーザにとっては、分裂的で混乱を生じさせる経験が生じる。従って、標準化された同期動作に対する必要性が存在する。
【００１３】
更に、ユーザはそれぞれの装置を順に同期させ、それぞれの同期動作に対する入力を提供することが要求されるため、複数の装置を同期させることはユーザにとって面倒で厄介であることが判明している。従って、この技術分野においては、多くの装置から生じている複数のコンフリクトをユーザが迅速かつ容易に解決することを可能にする一点集中型の場所に対する必要性が存在している。
【発明の概要】
【００１４】
本発明の実施例は、同期動作を実行する方法を含む。この方法は、第１のファイルを受け取るステップと、第２のファイルを受け取るステップと、前記第１のファイルと前記第２のファイルとの間にコンフリクトが存在するかどうかを判断するステップと、を含む。この方法は、更に、コンフリクトが存在しない場合には、前記第１のファイルと前記第２のファイルとを調整するステップと、コンフリクトが存在する場合には、前記第１のファイルと前記第２のファイルとを識別するコンフリクト・オブジェクトを作成し、前記コンフリクトを解決する少なくとも１つの方法を特定するステップと、を含む。
【００１５】
本発明の別の特徴においては、コンフリクト解決を実行する方法が、前記コンフリクト解決が開始することを示す選択をユーザから受け取るステップと、第１のファイルを記述する第１のファイル情報を表示するステップと、第２のファイルを記述する第２のファイル情報を表示するステップと、前記コンフリクトを解決する可能な方法をそれぞれが識別する少なくとも１つのコンフリクト解決オプションを表示するステップと、を含む。
【００１６】
本発明の更に別の特徴においては、同期動作を実行するシステムが、第１のファイルと第２のファイルとを比較し、前記第１のファイルと前記第２のファイルとの間にコンフリクトが存在するかどうかを判断し、コンフリクトが存在しない場合には前記第１のファイルと前記第２のファイルとを調整し、コンフリクトが存在する場合にはコンフリクト・オブジェクトを作成するように構成された同期マネジャと、を含む。このシステムは、更に、コンフリクト・オブジェクトを保持するように構成されたコンフリクト記憶装置と、コンフリクトを解決する少なくとも１つの方法を特定する解決手段と、を含む。
【００１７】
上述したシステム及び方法により、同期動作が、直ちにユーザ入力を要求するのではなくユーザが未解決のコンフリクトをオンライン又はオフラインで都合のいい時点で解決できることを可能にする。更に、本発明によるシステム及び方法は、標準化されたユーザ・フレンドリな同期動作を生じさせるプラットフォームを提供する。また、本発明によるシステム及び方法は、多くの装置から生じているコンフリクトを迅速かつ容易に解決することを可能にする集中位置を提供する。
【発明を実施するための最良の形態】
【００１８】
Ｉ．システムの概観
システムと方法が、競合（コンフリクト）の解決マネジャをインプリメント（実現、実装）するために提供される。競合の解決マネジャは同期動作中に発生する競合を解決するために使用される。
【００１９】
システムは端末２００を含み、端末２００は同期マネジャ２０１を含む。端末２００は、カップリング２０６、２０８を介して１つ以上の装置２０２及び２０４にそれぞれ接続される。装置２０２及び２０４は、それぞれが、移動通信装置、ラップトップ・コンピュータ、ゲーミング装置、カメラ、コンピュータ端末などであるか、又は、それらを含む場合がある。装置２０２は１又は複数のファイル２１０ａ、２１２ａを含み、装置２０４は１又は複数のファイル２１４ａ、２１６ａを含む。ファイル２１０ａ、２１２ａ、２１４ａ、２１６ａは、例えば、端末２００に記憶されているファイル２１０ｂ、２１２ｂ、２１４ｂ、２１６ｂの複数のバージョンであるかもしれない。ファイル２１０ａ、２１２ａ、２１４ａ、２１６ａは、従って、ファイルファイル２１０ｂ、２１２ｂ、２１４ｂ、２１６ｂと同一であるか又は類似している可能性がある。
【００２０】
例えば、ユーザが結合２０６を介して端末２００に装置２０２を接続する、及び／又は、結合２０８によって端末２００に装置２０４を接続する場合、同期動作が始まる可能性がある。このポイントで、同期マネジャ２０１は、装置２０２に記憶されたファイル２１０ａ及び２１２ａと端末２００に記憶されたファイル２１０ｂ及び２１２ｂとを調整することを試みる、及び／又は、装置２０４に記憶されたファイル２１４ａ及び２１６ａと端末２００に記憶されたファイル２１４ｂ及び２１６ｂとを調整することを試みる。
【００２１】
同期マネジャ２０１は、ファイルを調整するのに使用される方法を含んでいる解決手段アプリケーション・プログラム・インターフェース（ＡＰＩ）を含んでいる。解決手段ＡＰＩ２１８は、例えば、一般的な解決手段２２０を含み、それはファイルを調整するために使用されるデフォルトの解決手段である。解決手段ＡＰＩ２１８は、特定の装置及び／又はアプリケーションのための専門の解決手段を作成するように拡張される拡張可能なＡＰＩであるか、又は、それを含んでいる。特別の例であるが、ワード（Word）の開発者は、ユーザが複数のワード文書の間のコンフリクトを解決することを可能にするコンフリクト・マネジャを書くことができる。図１に示されるように、専門の解決手段２２２は、装置２０２からのファイルを調整するために使用される解決手段ＡＰＩ２１８の延長でありうる。特別の解決手段２２２は、例えば、端末２００に、装置２０２に、又は両方の場所に、格納される。別の例として、専門の解決手段２２４は、特定のアプリケーションで作成されたファイルのような特別のファイル・タイプのファイルを調整するために使用される解決手段ＡＰＩ２１８の延長でありうる。例えば、端末２００に、装置２０４に、あるいは両方の場所に、専門の解決手段２２４は格納される。
【００２２】
同期動作が行なわれる場合、同期マネジャ２０１は、ファイル２１０ｂ、２１２ｂを有するファイル２１０ａ、２１２ａを調整し、及び／又は、ファイル２１４ｂ、ファイル２１４ｂを有するファイル２１４ａ、２１６ｂを調整する。専門の解決手段２２２あるいは２２４が進行中の特別のファイル調整を扱うために定義されている場合、専門の解決手段２２２又は２２４が使用されうる。専門の解決手段２２２あるいは２２４が進行中の特別のファイル調整を扱うためには定義されていない場合、一般的な解決手段２２０が使用されてもよい。他の場合では、同期マネジャ２０１は、解決手段なしで、ファイルを調整する可能性がある。
【００２３】
同期マネジャ２０１は、同期マネジャ２０１内に提供される方法を使用し、及び／又は、解決手段２２０、２２２及び／又は２２４に提供される方法を使用して、例えばファイル調整を行なう。同期マネジャ２０１は、ファイルのどのバージョンを維持すべきかを判断できる場合には、例えば、文書の最も最近のバージョンを維持することにより、自動的にファイル調整を行なう。同期マネジャ２０１がファイルのどのバージョンを維持すべきか判断できない場合、コンフリクトが生じる。
【００２４】
コンフリクトが生じると、同期マネジャ２０１は、コンフリクト・オブジェクト２２６、２２８、２３０、２３２を作成する。コンフリクト・オブジェクト２２６、２２８、２３０、２３２は、それぞれが、２つのファイルの間のコンフリクトを特定する情報を含んでいる。例えば、コンフリクト・オブジェクト２２６は、ファイル２１０ａと２１０ｂのコンフリクトを特定する情報を含んでいる。コンフリクト・オブジェクト２２８は、ファイル２１２ａと２１２ｂのコンフリクトを特定する情報を含んでいる。コンフリクト・オブジェクト２３０は、ファイル２１４ａと２１４ｂのコンフリクトを特定する情報を含んでいる。また、コンフリクト・オブジェクト２３２は、ファイル２１６ａと２１６ｂのコンフリクトを特定する情報を含んでいる。
【００２５】
コンフリクト・オブジェクト２２６、２２８、２３０、２３２に含まれている情報は、例えば、コンフリクトの中のファイルを特定する情報と、コンフリクトが発生したときにコンフリクトに含まれる装置を含むことがある。コンフリクト・オブジェクト２２６、２２８、２３０、２３２に含まれている情報は促進するかもしれない、例えば、コンフリクトにコンフリクト中の２ファイルを識別する情報、あるいはファイルのコピーを含んでいる。
コンフリクト・オブジェクト２２６、２２８、２３０、２３２に含まれている情報は、さらに例えば、コンフリクトを解決するために使用される解決手段２２０、２２２、あるいは２２４を特定する情報を含んでいる。
【００２６】
コンフリクトは、端末２００内のコンフリクト店２３４に、２２６、２２８、２３０、２３２が例えば格納されることに反対する。自由に、コンフリクトのうちのいくらかあるいはすべては、装置２０２及び（又は）装置２０４上に２２６、２２８、２３０、２３２も格納されることに反対する。装置２０２及び（又は）装置２０４は例えば、コンフリクト・オブジェクト２２６、２２８、２３０、２３２を格納するためにコンフリクト店２３６、２３８をそれぞれ含んでいる。
【００２７】
コンフリクトが同期動作中に生じる場合、同期マネジャ２０１はコンフリクト・オブジェクト２２６、２２８、２３０及び２３２を作成し、同期動作を再開する、やあ、発明の実施例、ユーザ入力は同期動作中に必要ではない。
【００２８】
同期マネジャ２０１はコンフリクト・マネジャ・ユーザ・インターフェース（ＵＩ）２４０及びディスプレイ２４２を含んでいる。１つ以上のコンフリクトが検知される場合、コンフリクトマネジャＵＩは非常に示すかもしれない、システム・トレーあるいは他の適切な手段の中でアイコンを使用して、例えばディスプレイ２４２によって。便利な時に、ユーザは、アイコンをダブルクリックすることにより、例えば未解決なコンフリクトを解決することに決定してもよい。
【００２９】
ユーザが未解決なコンフリクトを解決することに決定する場合、コンフリクト・マネジャＵＩ２４０はディスプレイ２４２によってユーザに未解決なコンフリクトのリストを提示する。未解決なコンフリクトのリストは、例えば、コンフリクト店２３４の各コンフリクト・オブジェクト２２６、２２８、２３０、２３２のリストエントリを含んでいる。
各リストエントリについては、ユーザは、リストエントリのダブルクリックにより、例えばコンフリクトを解決することに決定してもよい。
その後、ユーザは、コンフリクト・オブジェクト２２６、２２８、２３０、あるいは２３２に特定された解決手段２２０、２２２、あるいは２２４を使用して、例えばコンフリクトを解決するように促される。
【００３０】
コンフリクトマネジャＵＩ  ２４０はディスプレイ２４２によっていくつかの解決オプションをユーザに提示するかもしれない。ユーザに提示された解決オプションは、解決手段２２０、２２２、あるいは２２４によって特定される。解決オプションは含んでいる、例えば、ファイルの最初のバージョンを保存するオプション、ファイルの第２のバージョンを保存するオプション、１つのリネームによる両方のバージョンを保存するオプション、手による不一致を解決するオプション、特定のアプリケーションの使用、又は、他の解決オプション、解決手段２２０、２２２、あるいは２２４によって特定された。
【００３１】
ユーザは１つ以上のコンフリクトを解決するかもしれないし、後で解決する残りのコンフリクトを保存することに決めるかもしれない。現在の発明のインプリメンテーションでは、ユーザは、どんな特別の時でも競合の解決に関して決定することは要求されない。
【００３２】
さらに、ユーザは、装置２０２及び２０４が装置２００に接続されない時にコンフリクトを解決することに決定してもよい。ユーザは示された解決オプションから選択する。また、次の同期動作の時に、ユーザのセレクションはコンフリクトを解決するために実行されるだろう。
【００３３】
現在の発明のインプリメンテーションでは、例えばシステムの管理者のようなユーザは、前もって特定するインプットを提供してもよい、コンフリクトの特定タイプはどのようにして解決されることになっているか。そのようなインプットの提供は、コンフリクトの特定タイプ用の「コンフリクト保険証券」の作成として知られている。コンフリクトが検知され、コンフリクトの特定タイプを扱うためのコンフリクト保険証券が存在する場合、システムはユーザ入力を要求せずに、保険証券に従って例えばコンフリクトを解決するかもしれない。１つの特別の例として、システムの管理者は、特別のフォルダー中のワード・ドキュメントについては、ファイルの両方のバージョンが維持されるべきであることを明示することにより、コンフリクト保険証券を作成してもよい。また、両方のファイルの名前は、ファイル名に「ｖｌ」、「ｖ２」という項をアペンドすることにより変更されるべきである。例えば（コンフリクト保険証券に従って、及びユーザ入力なしで）、ワード・ドキュメントのコンフリクトがこのフォルダーに生じる時、コンフリクトは解決されるだろう。
【００３４】
更に、装置２０２は、装置２０２上のディスプレイ２４６によって解決オプションをユーザに提示するために使用されるコンフリクトマネジャＵＩ２４４を自由に含んでいる。また、装置２０４は、装置２０４上のディスプレイ２５０によって解決オプションをユーザに提示するために使用されるコンフリクトマネジャＵＩ２４８を自由に含んでいる。
装置２０２及び２０４上のユーザによってなされたセレクションは、次の同期動作の時に実行される。
ＩＩ．例示的な動作環境
図２は、競合の解決のためのシステムがインプリメントされる適切な計算機システム環境１００の例を例証する。計算機システム環境１００は適切なコンピュータ環境の単なる１つの例で、使用あるいは発明の機能性のスコープに関してどんな制限も示唆するようには意図されない。また、コンピュータ環境１００はどんな従属性あるいは任意のものあるいは典型的な操作環境１００に例証されたコンポーネントの組合せに関係のある要求も持っているとは解釈されるべきでない。
【００３５】
その発明は、コンピュータによって実行されて、プログラムモジュールのようなコンピュータ実行可能命令の一般情勢に述べられている。一般に、プログラムモジュールは、特別のタスクか道具項目抽象データ型を行なうルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含んでいる。さらに、当業者は、携帯端末、マルチプロセッサーシステム、マイクロプロセサーに基づいているかプログラム可能な家電、ミニコンピュータ、メインフレーム・コンピュータなどを含む他のコンピュータ・システム構成で発明が実行されることを認識するだろう。その発明も、通信網によってリンクされる遠隔処理装置によってタスクが行なわれる分散コンピューティング環境中で実行される。分散コンピューティング環境では、プログラムモジュールは、記憶装置装置を含むローカル・リモートコンピュータ記憶媒体の両方に位置するかもしれない。
【００３６】
図２に関して、発明を実行するための典型的なシステム１００は汎用を計算する装置を演算処理装置１２０、システムメモリー１３０、及び演算処理装置１２０へのシステムメモリーを含む様々なシステムコンポーネントを接続するシステム・バス１２１を含むコンピュータ１１０の形で含んでいる。
【００３７】
コンピュータ１１０は典型的には様々なコンピュータ読取り可能な媒体を含んでいる。制限ではなく例経由で、コンピュータ読取り可能な媒体はコンピュータ記憶装置媒体及び通信メディアを含むかもしれない。システムメモリー１３０は、コンピュータ記憶装置媒体を揮発性及び（又は）読み取り専用メモリ（ＲＯＭ）１３１及びランダムアクセス記憶装置（ＲＡＭ）１３２のような不揮発性メモリーの形で含んでいる。操業開始中にのようにコンピュータ１１０内のエレメント間の情報を転送するのを支援する基礎的なルーチンを含んでいる基本入出力システム１３３（ＢＩＯＳ）は、ＲＯＭ  １３１に典型的に格納される。ＲＡＭ  １３２は典型的にはデータ及び（又は）直ちにアクセス可能なプログラムモジュールを含んでいる、に、又は演算処理装置１２０によってまもなく作動されること制限ではなく例経由で、図２はオペレーティングシステム１３４、アプリケーション・プログラム１３５、他のプログラムモジュール１３６及び番組データ１３７を例証する。
【００３８】
コンピュータ１１０はさらに他のものを含んでいる、取外し可能な／非取外し可能、揮発性の／不揮発性のコンピュータ記憶装置媒体。例のみ経由で、図２は、非取外し可能で不揮発性の磁気媒体から読むか、書くハードディスク・ドライブ１４１、取外し可能で不揮発性の磁気ディスク１５２から読むか、書く磁気ディスク装置１５１、及びＣＤ  ＲＯＭあるいは他の光学の媒体のような取外し可能で不揮発性の光ディスク１５６から読むか、書く光ディスクドライブ１５５を例証する。取外し可能な／非取外し可能な他のもの、揮発性の／不揮発性のコンピュータ記憶装置媒体、それは典型的な操作環境加算の中で使用することができるが、制限されない、磁気カセットテープ、フラッシュ・メモリカード、ディジタル・バーサタイル・ディスク、デジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭ、など。ハードディスク・ドライブ１４１は、インターフェース１４０のような非リムーバブルメモリ・インターフェースを通ってシステム・バス１２１に典型的に接続される。また、磁気ディスク装置１５１及び光ディスクドライブ１５５はインターフェース１５０のようなリムーバブルメモリ・インターフェースによってシステム・バス１２１に典型的に接続される。
【００３９】
上に議論され、図２で示されたドライブ及びそれらの関連するコンピュータ記憶装置媒体は、コンピュータ１１０のためにコンピュータ読取り可能な命令、データ構造、プログラムモジュール及び他のデータの記憶を提供する。図２では、例えば、ハードディスク・ドライブ１４１は、オペレーティングシステム１４４、アプリケーション・プログラム１４５、他のプログラムモジュール１４６及び番組データ１４７の格納として例証される。
これらのコンポーネントが同じでありえることに注目する、として、あるいはオペレーティングシステム１３４、アプリケーション・プログラム１３５、他のプログラムモジュール１３６及び番組データ１３７と異なるオペレーティングシステム１４４、アプリケーション・プログラム１４５、他のプログラムモジュール１４６及び番組データ１４７は、最小では、それらが異なるコピーであることを例証するためにここで異なる数を与えられる。ユーザは、マウス、トラックボールあるいはタッチパッドと一般に呼ばれるキーボード１６２のような入力装置及びポインティング・装置１６１によってコンピュータ１１０へコマンドと情報を入力してもよい。他の入力装置（図示せず）はマイクロホン、ジョイスティック、ゲーム・パッド、衛星放送アンテナ、スキャナーなどを含んでいる。これら及び他の入力装置は、ユーザ入力によって演算処理装置１２０にしばしば接続される、システム・バスにつながれるが、パラレルポート、ゲームポートあるいはユニバーサル・シリアル・バス（ＵＳＢ）のような、他のインターフェース及びバス構造によって接続される１６０を接続する。モニター１９１あるいは他のタイプの表示装置もビデオインタフェース１９０のようなインターフェース経由でシステム・バス１２１に接続される。モニターに加えて、コンピュータは、さらにスピーカー１９７及びプリンタ１９６のような他の周辺の出力装置を含んでいる。それはアウトプット周辺インタフェース１９５によって接続される。
【００４０】
現在の発明でのコンピュータ１１０は、リモートコンピュータ１８０のような１つ以上のリモートコンピュータへの論理結合を使用して、ネットワーク化された環境中で作動するだろう。記憶装置装置１８１だけは図２で示されたが、リモートコンピュータ１８０はパーソナルコンピュータで典型的には多数含んでいる。あるいは、要素はすべてコンピュータ１１０に関係詞上に記述した。図２に描かれた論理結合はローカルエリアネットワーク（ＬＡＮ）１７１及び広域ネットワーク（ＷＡＮ）１７３を含んでいるが、さらに他のネットワークを含んでいる。
【００４１】
ＬＡＮネットワーキング環境の中で使用された時、コンピュータ１１０はネットワークインターフェイス又はアダプターの１７０によってＬＡＮ  １７１に接続される。ＷＡＮネットワーキング環境の中で使用された時、コンピュータ１１０は典型的にはモデム１７２あるいはインターネットのようなＷＡＮ  １７３の上のコミュニケーションを確立するための他の手段を含んでいる。モデム１７２（それは内部かもしれないか外部かもしれない）は、ユーザ入力インターフェース１６０経由のシステム・バス１２１、あるいは他の適切な機構に接続される。ネットワーク化された環境では、コンピュータ１１０（すなわちそれの部分）へのプログラムモジュールに描かれた関係詞は、遠隔記憶記憶装置に格納される。制限ではなく例経由で、図２はメモリ・装置１８１上で駐在するとして遠隔のアプリケーション・プログラム１８５を例証する。示されたネットワーク接続がコンピュータ間の通信リンクが使用されてもよいと確証する典型的・他の手段であることが認識されるだろう。
【００４２】
コンピュータ１１０の他の多くの内部コンポーネントは示されないが、芸術における通常の熟練のものはそのようなコンポーネント及び相互接続が有名であることを認識するだろう。従って、現在の発明に関してコンピュータ１１０の内部構造に関する追加の詳細を示す必要はない。
ＩＩＩ．発明のシステム及び方法
上述した通り、図１には、本発明の実施例によるコンフリクト解決機能を含む同期マネジャを実現するシステムが図解されている。図２との関係で既に述べたように、システムは、１又は複数のユーザ・コンピュータを含む。
【００４３】
図３は、本発明の実施例による同期動作を実行する方法を図解する流れ図である。図３に示されているように、ユーザは、２又はそれより多くの装置３００を接続することによって、開始する。２又はそれより多くの装置３００を接続することには、例えば、携帯装置を静止型コンピュータ端末に接続すること、コンピュータ端末をネットワークに接続すること、又は任意の他の類似の接続を実行することが含まれる。この方法の残りの部分は、例えば、接続された装置の中の１つにおいてなされる。しかし、他の実現例では、この方法は、２又はそれより多くの装置において生じる。
【００４４】
本発明による方法はステップ３０２に進み、調整すべきファイルを接続された装置がいくつか含んでいるかどうかが判断される。調整すべきファイルがこれ以上ない場合には、方法は終了する。
【００４５】
同期化するファイルが存在する場合には、ステップ３０４において、ファイルが例えばリモート装置から検索される。ステップ３０６では、検索されたファイルは、ローカルなファイルと比較される。ローカルなファイルは、例えば、検索されたファイルのあるバージョンであり、従って、検索されたファイルと類似している又は同一でありうる。
【００４６】
ステップ３０８において、検索されたファイルとローカルなファイルとの間にコンフリクトがあるかどうかが判断される。コンフリクトがない場合には、例えばファイルを調整するユーザ入力が要求されることはない。例えば、これらのファイルが同一であるか、又は、最後に同期動作がなされたとき以降にファイルの一方だけが編集された場合に、このような状況が生じる。コンフリクトがない場合には、これらのファイルはステップ３１０において自動的に調整がなされ、方法はステップ３０２に戻り、調整すべきファイルが更にあるかどうか判断される。
【００４７】
コンフリクトがあることがステップ３０８で決定される場合、コンフリクト・オブジェクトはステップ３１２で作成される。作成されたコンフリクト・オブジェクトは、例えば図１に関して上に記述されるようなコンフリクト・オブジェクトかもしれない。コンフリクト・オブジェクトは例えば情報（それは後でコンフリクトを解決するために使用されるだろう）を含んでいる。コンフリクト・オブジェクトは１つ以上のコンフリクト店に格納される。その後、方法はステップ３０２で継続する。そこでは調整するべきそれ以上のファイルがあるかどうかは決定される。
【００４８】
図４は、発明の実施例に従って競合の解決を行なう方法を例証するフロー・チャートである。図４に示されるように、方法は、システム・トレー中のアイコンのダブルクリックにより、あるいは他のある適切な方法により、ステップ４００（そこではコンフリクトを解決するためにユーザは選択してもよい）で例えば始まるかもしれない。ステップ４０２で、ユーザに未解決なコンフリクトのリストが贈られるかもしれない。未解決なコンフリクトのリストは、例えばコンフリクト店のすべてのコンフリクト・オブジェクトのリストかもしれないし、まだ解決されていないコンフリクトをすべて表わすかもしれない。
【００４９】
ステップ４０４で、ユーザは、コンフリクトの、例えば、コンフリクトをダブルクリックすることによって、あるいは他のある適切な方法によってリストからコンフリクトを選んでもよい。あるいは、ユーザは、コンフリクトを選択することを断わるかもしれないし、競合の解決を終了することに代わりに決めるかもしれない。ユーザが競合の解決を終了することに決定すれば、コンフリクト店のコンフリクト・オブジェクトは不変かもしれない。また、ユーザは、コンフリクト中のどんな未解決なコンフリクトも後で格納すると決心するかもしれない。
【００５０】
ユーザがステップ４０４でコンフリクトのリストからコンフリクトを選べば、ユーザがＧＵＩが贈られる。ＧＵＩは、コンフリクトマネジャＵＩによって例えば示される。コンフリクトマネジャＵＩは、例えば、どの解決手段がコンフリクトを解決するのに適切か決めるためにコンフリクト・オブジェクトを尋ねるかもしれない。適切な解決手段によって特定されるように、ユーザに提示されたＧＵＩは例えば、コンフリクトの解決のために１つ以上のオプションを含んでいる。例えば、ユーザは、ファイルの１つのバージョンを保存するべきかファイルの別のバージョンを保存するべきか、１つのリネームにより両方のバージョンを保存するべきか、特定のアプリケーションを使用して、手によってコンフリクトを解決するべきか、あるいは解決手段によって特定された競合の解決の他のある形式を行なうべきであるかどうかを尋ねられるかもしれない。
【００５１】
ステップ４１０で、ファイルはユーザによって特定された方法で一致させられる。ステップ４１２で、コンフリクトを表わすコンフリクト・オブジェクトは、コンフリクト店から取り除かれる。これは含んでいる、例えば、完成したコンフリクト・オブジェクトをマークするコンフリクト・オブジェクトあるいは他のある適切な方法の削除。コンフリクト店からコンフリクトを取り除くことは、コンフリクトが解決されたことを示す。
【００５２】
ステップ４１４で、ユーザに、別のコンフリクトを解決するオプションが贈られるかもしれない。ユーザが別のコンフリクトを解決したくなければ、方法は終了するかもしれない。ユーザが別のコンフリクトを解決したければ、方法はステップ４０２に返るかもしれない。そこではユーザに未解決なコンフリクトのリストが贈られるかもしれない。
【００５３】
図５は、発明の実施例に従ってユーザに表示される典型的なＧＵＩウィンドウ５００を示す。図５に示されるように、ユーザはシステム・トレー５０４中のアイコン５０２によって、未解決なコンフリクトがあるという事実に例えば警告を受けてもよい。例えば、アイコン５０２は未解決なコンフリクトがあると合図して、特別の色に表示される。ユーザは、複式によって、例えばコンフリクトマネジャを呼び出してもよい−アイコン５０２上の、あるいは他のある適切な方法によるクリック。
【００５４】
ユーザがコンフリクトマネジャを呼び出す場合、ダイアログボックスとして、図５（それはインプリメントされる）に例えば示されるように、ユーザにコンフリクトマネジャＧＵＩ画面５００が贈られるかもしれない。コンフリクトマネジャＧＵＩ画面５００は、未解決なコンフリクトのリストを示すかもしれない。個々の未解決なコンフリクトについては、コンフリクトマネジャＧＵＩ画面５０６は、例えばコンフリクト中のファイルの名前、コンフリクトに含まれる装置、コンフリクトが検知された時、コンフリクト中のファイルのうちの１つへの最も最近の編集の時間あるいは他の関連情報のように、コンフリクトを識別する情報を表示するかもしれない。
【００５５】
ユーザがコンフリクトを解決したければ、ユーザはそのように示す、コンフリクトのリスト中のコンフリクトをダブルクリックすることにより、あるいは他のある適切な方法により、例えば。その後、ユーザに、図６の競合の解決ＧＵＩ画面６００が贈られるかもしれない。
【００５６】
図６は、発明の実施例に従ってユーザに表示される典型的なＧＵＩウィンドウ６００を示す。図６に示されるように、特別のコンフリクトを解決したいユーザにダイアログボックスとして、ＧＵＩウィンドウ６００（それはインプリメントされる）が例えば贈られるかもしれない。ＧＵＩウィンドウ６００は、コンフリクト中の２ファイルに関する情報を表示するかもしれない。更に、解決手段によって特定されるように、ＧＵＩウィンドウ６００は未解決なコンフリクトの解決のために様々なオプションを表示するかもしれない。
【００５７】
例えば、ＧＵＩウィンドウ６００は、ファイルの最初のバージョンを表わす最初のアイコン６０２、及びファイルの第２のバージョンを表わす別のアイコン６０４を表示するかもしれない。場合、ファイルのどちらかを見るユーザ所望、ユーザは、最初のアイコン６０２あるいは第２のアイコン６０４をダブルクリックすることにより、例えばそうしてもよい。ＧＵＩウィンドウ６００は、さらに最初のファイルについて記述する情報６０６、及び第２のファイルについて記述する情報６０８を表示するかもしれない。情報６０６及び６０８のうちのいくつかあるいはすべては例えば、最初のファイルと第２のファイルの間の差を表示するためにダイナミックに選ばれるかもしれない。例えば、最初のファイル６０６及び第２のファイル６０８に異なる著者があることが決意する場合、著者情報は表示される、個々、ファイルの。したがって、ユーザに、コンフリクトを解決する方法の決定において有用になる情報が贈られるかもしれない。
【００５８】
更に、ＧＵＩウィンドウ６００はコンフリクトの解決のために１つ以上のオプション６１０をユーザに提示するかもしれない。ユーザに提示されたオプション６１０は解決手段によって例えば特定されてあるかもしれない。ユーザは例えば、ファイルの最初のバージョンを保存するか、ファイルの第２のバージョンを保存する、１つのリネームにより両方のバージョンを保存する、あるいは専門の方法を使用して、ファイルを解決することために選んでもよい。ＧＵＩウィンドウ６００中で表示された専門の方法は例えば解決手段中で特定された方法かもしれないし、特別の装置に特有かもしれないか、ワード・ドキュメントに特有のことのようなあるアプリケーションかファイル・タイプに特有かもしれない。
【００５９】
ユーザが最初のバージョンを保存するかあるいは第２のバージョンを保存するために選択すれば、競合の解決がそれ以上のユーザ入力なしで、例えば行なわれるかもしれない。ユーザが１つのリネームにより両方のバージョンを保存するために選択すれば、ユーザが、アイコン６０２、６０４のうちの１つの右クリックによって、あるいは他のある適切な手段によってのようにＧＵＩウィンドウ６００内のファイルのうちの１つのリネームにより例えば示される。ユーザが解決手段によって特定されるような専門の方法を使用して、コンフリクトを解決するために選択する場合。特別の例として、ＭＳ  Ｗｏｒｄを使用して、コンフリクトを解決することは含んでいる、例えば、ワード・ドキュメントを持ったユーザを示すこと、含んでいること、強調された変更あるいは不一致、また各変更あるいは不一致を認めるか拒絶するユーザを刺激すること
ＦＩＧに述べられていたＧＵＩウィンドウ。５−６は単に実例となり、発明を制限するようには意図されない。他のユーザ・インターフェースは可能で、発明の範囲内である。
例えば、それは熟考される、競合の解決のためのユーザ・インターフェースはインプリメントされる、として、１つの「ｗｉｚａｒｄ”−タイプ・インターフェース、そのようなもの、その人、ウィンドウフレームは順番に各コンフリクトを表示するために使用されてもよい。また、ユーザが使用して、コンフリクトによってナビゲートするようなものは「発送する」そして「後ろに」ボタン。他のインターフェースは可能である。
【００６０】
発明の特別の実施例がここに例証され、詳細に記述された一方、様々な変更及び変更が発明のスコープ及び意図から外れずに、発明に行なわれるかもしれないことは理解されるに違いない。例えば、発明は定常のコンピュータ端末に接続するモバイルの装置の点から主として記述されているが、発明は、等しくコンピュータ端末あるいは他の適切な環境のネットワークのような他の環境に適する。さらに、装置はカップリングによって接続されると評されているが、例えば無線通信のようなどんな伝達方法も適切である。ここに記述された具体化は、限定的であるというよりむしろ実例となるためにすべての点で意図される。交互の具体化は、現在の発明がそのスコープから外れずに関係する当業者に明白になるだろう。
【００６１】
更に、発明は２ファイルあるいはそうでなければ調整する２ファイルのコンフリクトを解決する点では記述されているが、３ファイル以上を調整することは、本発明の範囲内である。例えば、３つ以上のユーザが各々同じか同様のファイルを変更した場合、そのようなシチュエーションが発生するかもしれない、あるいは他の状況で。ｎ−方法コンフリクトの場合には、２を越えて整数であるｎで、システムが、ファイルを調整するために適切な解決手段及びユーザ・インターフェースを選択するだろう。ｎ−方法競合の解決の中のユーザに提示されたＧＵＩは、例えば、コンフリクト中のファイルの２つの最新バージョンを表示し、ユーザがコンフリクト中のファイルのより古いバージョンを見るオプションを選択することを可能にするかもしれない。
【００６２】
から、先、この発明が上に発表された終了及びオブジェクトすべてに到達するのに他の利点（それらはシステムと方法にとって明白で、固有である）と一緒に、よく適して、１であることが理解されるだろう。ある特徴及びサブ組合せが有益で、他の特徴及びサブ組合せに関係なく雇われるかもしれないことが理解されるだろう。これは熟考され、アペンドされたものの範囲内で要求する。
【図面の簡単な説明】
【００６３】
【図１】本発明の実施例によるシステムの概要を図解するブロック図である。
【図２】本発明の実施例が実現されるコンピュータ化された環境を図解するブロック図である。
【図３】本発明の実施例による同期動作を実行する方法を図解する流れ図である。
【図４】本発明の実施例によるコンフリクト解決を実行する方法を図解する流れ図である。
【図５】本発明による例示的なグラフィカル・ユーザ・インターフェース（ＧＵＩ）を示している。
【図６】本発明による例示的なグラフィカル・ユーザ・インターフェース（ＧＵＩ）を示している。
【図２】
2008537254.tif 000003
【図３】
2008537254.tif 000004
【図４】
2008537254.tif 000005
【図５】
2008537254.tif 000006
【図６】
2008537254.tif 000007
【図１】
2008537254.tif 000008
【国際調査報告】
2008537254.tif 000009
2008537254.tif 000010