(57)【要約】【課題】  第２のコンピュータデバイスからのデータを要求し受け取る（プルする）ために、第１のコンピュータデバイス上に存在する同期化ウィザードを利用した同期化システムを提供する。【解決手段】  第１のコンピュータデバイス（「シンサー」）は第２のコンピュータデバイス（「シンシー」）上の共有フォルダから、その同期化の範囲および程度を定義するシンサー上で確立された特定のプル型同期化規則ＰＳＲに従って、ファイルをコピーする。コピー動作は、ネットワーク接続を介して既存の明確に定義されたプロトコルを使用して生起する。ＰｕｌｌＳｙｎｃウィザードソフトウェアは、第１のコンピュータシステム（シンサー）上にのみ存在する必要があり、第２のコンピュータシステムから選択的にファイルをコピーするために、ネットワーキングのための既存のプロトコルを利用する。【選択図】  図３
2005332388.tif 000002
【特許請求の範囲】
【請求項１】
第１のコンピュータシステムを第２のコンピュータシステムに同期化させる方法であって、前記第１のコンピュータシステムはプル型同期のためのソフトウェアコンポーネントを備え、前記方法（「同期化動作」）は、
前記第１のコンピュータシステムが、前記第１のコンピュータシステムおよび前記第２のコンピュータシステムの間でネットワーク接続を確立するステップ、または同一コンピュータシステム間で既存のネットワーク接続を利用するステップ（「接続要素」）と、
前記第１のコンピュータシステムが、前記第２のコンピュータシステム上の少なくとも１つのファイルを閲覧するステップ（「閲覧要素」）と、
前記第１のコンピュータシステムを前記第２のコンピュータシステムと同期化させるために、前記第２のコンピュータシステム上の前記少なくとも１つのファイルのいずれかを前記第１のコンピュータシステムに対してコピーする必要があるか否かを、前記第１のコンピュータシステムが確認するステップ（「論理要素」）と、
標準ネットワーキングプロトコルを使用することにより前記ネットワーク接続を介して前記第２のコンピュータシステムから少なくとも１つのファイルを、前記第１のコンピュータシステムがコピーするステップ（「コピー要素」）とを具備し、
前記第２のコンピュータシステムは、前記要素群を備えた前記同期化動作に対して、前記同期化動作のための標準ネットワーキングプロトコル機能のみを利用する、ことを特徴とする方法。
【請求項２】
前記第２のコンピュータシステム（シンシー）は、前記第１のコンピュータシステム（シンサー）と同期化されていることを意識していない、ことを特徴とする請求項１に記載の方法。
【請求項３】
前記接続要素の前記ネットワーク接続はワイヤレス接続である、ことを特徴とする請求項１に記載の方法。
【請求項４】
ある時には前記第１のコンピュータシステムが前記接続要素（および、引き続く要素群）を実行することができ、また別の時には前記第１のコンピュータシステムが前記接続要素（および、引き続く要素群）を実行することができないように、前記第１のコンピュータシステムは、前記第２のコンピュータシステムに対する動的ネットワーク接続を有するモバイルコンピュータシステムである、ことを特徴とする請求項１に記載の方法。
【請求項５】
前記同期化動作は、さらに加えて、前記第１のコンピュータシステムと前記第２のコンピュータシステムとの間の前記ネットワーク接続に関して、既存の標準ネットワークセキュリティプロトコルを利用する、ことを特徴とする請求項１に記載の方法。
【請求項６】
前記論理要素は、一組の同期化規則に従って前記第１のコンピュータシステムにより実行される、ことを特徴とする請求項１に記載の方法。
【請求項７】
前記一組の同期化規則は、
同期化するための一組のコンピュータシステムを表す同期パラメータ、
同期化するためのコンピュータシステム上の一組のフォルダを表す同期パラメータ、
同期化するためのコンピュータシステム上の一組のファイルを表す同期パラメータ、
同期化するためのコンピュータシステム上のファイルに対する一組の特性を表す同期パラメータ、
上記同期パラメータの少なくとも２つの組み合わせ、
の中から少なくとも１つの同期パラメータを定義する、ことを特徴とする請求項６に記載の方法。
【請求項８】
前記一組の同期化規則は、前記第１のコンピュータシステム上の前記ファイルを管理し、保守するための規則の部分集合をさらに備える、ことを特徴とする請求項６に記載の方法。
【請求項９】
前記第１のコンピュータシステムは、同期化する相手として少なくとも１つの追加的コンピュータシステムを前記同期化動作を利用して活発に捜し出し、
一組の同期化規則は、さらに、前記同期化動作を実行することを試みる頻度を管理するための規則の部分集合を備える、ことを特徴とする請求項６に記載の方法。
【請求項１０】
ネットワークにおける少なくとも２つのコンピュータシステムに対する双方向ピア・ツー・ピア同期化のための方法であって、前記少なくとも２つのコンピュータシステムはそれぞれプル型のみの同期化ソフトウェアコンポーネントを使用し、
前記方法（「同期化動作」）は、
前記第１のコンピュータシステムが、前記第１のコンピュータシステムおよび前記第２のコンピュータシステムの間でネットワーク接続を確立するステップ、または同一コンピュータシステム間で既存のネットワーク接続を利用するステップ（「接続要素」）と、
前記第１のコンピュータシステムが、前記第２のコンピュータシステム上の少なくとも１つのファイルを閲覧するステップ（「閲覧要素」）と、
前記第１のコンピュータシステムを前記第２のコンピュータシステムと同期化させるために、前記第２のコンピュータシステム上の前記少なくとも１つのファイルのいずれかを前記第１のコンピュータシステムに対してコピーする必要があるか否かを、前記第１のコンピュータシステムが確認するステップ（「論理要素」）と、
標準ネットワーキングプロトコルを使用することにより前記ネットワーク接続を介して前記第２のコンピュータシステムから少なくとも１つのファイルを、前記第１のコンピュータシステムがコピーするステップ（「コピー要素」）と、
前記第２のコンピュータシステムが、前記第２のコンピュータシステムおよび前記第１のコンピュータシステムの間でネットワーク接続を確立するステップ、または同一コンピュータシステム間で既存のネットワーク接続を利用するステップ（「接続要素」）と、
前記第２のコンピュータシステムが、前記第１のコンピュータシステム上の少なくとも１つのファイルを閲覧するステップ（「閲覧要素」）と、
前記第２のコンピュータシステムを前記第１のコンピュータシステムと同期化させるために、前記第１のコンピュータシステム上の前記少なくとも１つのファイルのいずれかを前記第２のコンピュータシステムに対してコピーする必要があるか否かを、前記第２のコンピュータシステムが確認するステップ（「論理要素」）と、
標準ネットワーキングプロトコルを使用することにより前記ネットワーク接続を介して前記第１のコンピュータシステムから少なくとも１つのファイルを、前記第２のコンピュータシステムがコピーするステップ（「コピー要素」）とを具備し、
前記第１のコンピュータシステムの前記要素群は、前記第２のコンピュータシステムの前記要素群から独立して実行され、前記第２のコンピュータシステムは、前記第１のコンピュータシステムにより実行される前記要素群を備えた前記同期化動作に対して、標準ネットワーキングプロトコル機能のみを利用し、前記第１のコンピュータシステムは、前記第２のコンピュータシステムにより実行される前記要素群を備えた前記同期化動作に対して、標準ネットワーキングプロトコル機能のみを利用する、ことを特徴とする方法。
【請求項１１】
第１のコンピュータシステムを第２のコンピュータシステムに同期化させるシステムであって、前記第１のコンピュータシステムはプル型同期のためのソフトウェアコンポーネントを備え、前記システム（「同期化システム」）は、少なくとも１つのサブシステムとして、
前記第１のコンピュータシステムが、前記第１のコンピュータシステムおよび前記第２のコンピュータシステムの間でネットワーク接続を確立すること、または同一コンピュータシステム間で既存のネットワーク接続を利用すること（「接続サブシステムコンポーネント」）と、
前記第１のコンピュータシステムが、前記第２のコンピュータシステム上の少なくとも１つのファイルを閲覧すること（「閲覧サブシステムコンポーネント」）と、
前記第１のコンピュータシステムを前記第２のコンピュータシステムと同期化させるために、前記第２のコンピュータシステム上の前記少なくとも１つのファイルのいずれかを前記第１のコンピュータシステムに対してコピーする必要があるか否かを、前記第１のコンピュータシステムが確認すること（「論理サブシステムコンポーネント」）と、
標準ネットワーキングプロトコルを使用することにより前記ネットワーク接続を介して前記第２のコンピュータシステムから少なくとも１つのファイルを、前記第１のコンピュータシステムがコピーすること（「コピーサブシステムコンポーネント」）とを行い、
前記第２のコンピュータシステムは、前記サブシステムコンポーネント群を備えた前記同期化動作に対して、前記同期化システムのための標準ネットワーキングプロトコル機能のみを利用する、ことを特徴とするシステム。
【請求項１２】
前記第２のコンピュータシステム（シンシー）は、前記第１のコンピュータシステム（シンサー）と同期化されていることを意識していない、少なくとも１つのサブシステムをさらに備える、ことを特徴とする請求項１１に記載のシステム。
【請求項１３】
前記接続サブシステムコンポーネントの前記ネットワーク接続はワイヤレス接続である少なくとも１つのサブシステムをさらに有する、ことを特徴とする請求項１１に記載のシステム。
【請求項１４】
ある時には前記第１のコンピュータシステムが前記接続サブシステムコンポーネント（および、引き続くサブシステムコンポーネント）を実行することができ、また別の時には前記第１のコンピュータシステムが前記接続サブシステムコンポーネント（および、引き続くサブシステムコンポーネント）を実行することができないように、前記第１のコンピュータシステムは、前記第２のコンピュータシステムに対する動的ネットワーク接続を有するモバイルコンピュータシステムである少なくとも１つのサブシステムをさらに備える、ことを特徴とする請求項１１に記載のシステム。
【請求項１５】
前記同期化システムは、前記第１のコンピュータシステムと前記第２のコンピュータシステムとの間の前記ネットワーク接続に関して、既存の標準ネットワークセキュリティプロトコルを利用する少なくとも１つのサブシステムをさらに備える、ことを特徴とする請求項１１に記載のシステム。
【請求項１６】
前記論理サブシステムコンポーネントは、一組の同期化規則に従って前記第１のコンピュータシステムにより実行される少なくとも１つのサブシステムをさらに備える、ことを特徴とする請求項１１に記載のシステム。
【請求項１７】
前記一組の同期化規則は、
同期化するための一組のコンピュータシステムを表す同期パラメータ、
同期化するためのコンピュータシステム上の一組のフォルダを表す同期パラメータ、
同期化するためのコンピュータシステム上の一組のファイルを表す同期パラメータ、
同期化するためのコンピュータシステム上のファイルに対する一組の特性を表す同期パラメータ、
上記同期パラメータの少なくとも２つの組み合わせ、
の中から少なくとも１つの同期パラメータを定義する少なくとも１つのサブシステムをさらに有する、ことを特徴とする請求項１６に記載のシステム
【請求項１８】
前記一組の同期化規則は、前記第１のコンピュータシステム上の前記ファイルを管理し、保守するための規則の部分集合をさらに備えた少なくとも１つのサブシステムをさらに備える、ことを特徴とする請求項１６に記載のシステム。
【請求項１９】
前記第１のコンピュータシステムは、同期化する相手として少なくとも１つの追加的コンピュータシステムを前記同期化動作を利用して活発に捜し出し、
一組の同期化規則は、さらに、前記同期化システムを実行することを試みる頻度を管理するための規則の部分集合を備える、ことを特徴とする請求項１６に記載のシステム。
【請求項２０】
ネットワークにおける少なくとも２つのコンピュータシステムに対する双方向ピア・ツー・ピア同期化のためのシステムであって、前記少なくとも２つのコンピュータシステムはそれぞれプル型のみの同期化ソフトウェアコンポーネントを使用し、前記システム（「同期化システム」）は、少なくとも１つのサブシステムとして、
前記第１のコンピュータシステムが、前記第１のコンピュータシステムおよび前記第２のコンピュータシステムの間でネットワーク接続を確立すること、または同一コンピュータシステム間で既存のネットワーク接続を利用すること（「接続サブシステムコンポーネント」）と、
前記第１のコンピュータシステムが、前記第２のコンピュータシステム上の少なくとも１つのファイルを閲覧すること（「閲覧サブシステムコンポーネント」）と、
前記第１のコンピュータシステムを前記第２のコンピュータシステムと同期化させるために、前記第２のコンピュータシステム上の前記少なくとも１つのファイルのいずれかを前記第１のコンピュータシステムに対してコピーする必要があるか否かを、前記第１のコンピュータシステムが確認すること（「論理サブシステムコンポーネント」）と、
標準ネットワーキングプロトコルを使用することにより前記ネットワーク接続を介して前記第２のコンピュータシステムから少なくとも１つのファイルを、前記第１のコンピュータシステムがコピーすること（「コピーサブシステムコンポーネント」）と、
前記第２のコンピュータシステムが、前記第２のコンピュータシステムおよび前記第１のコンピュータシステムの間でネットワーク接続を確立すること、または同一コンピュータシステム間で既存のネットワーク接続を利用すること（「接続サブシステムコンポーネント」）と、
前記第２のコンピュータシステムが、前記第１のコンピュータシステム上の少なくとも１つのファイルを閲覧すること（「閲覧サブシステムコンポーネント」）と、
前記第２のコンピュータシステムを前記第１のコンピュータシステムと同期化させるために、前記第１のコンピュータシステム上の前記少なくとも１つのファイルのいずれかを前記第２のコンピュータシステムに対してコピーする必要があるか否かを、前記第２のコンピュータシステムが確認すること（「論理サブシステムコンポーネント」）と、
標準ネットワーキングプロトコルを使用することにより前記ネットワーク接続を介して前記第１のコンピュータシステムから少なくとも１つのファイルを、前記第２のコンピュータシステムがコピーすること（「コピーサブシステムコンポーネント」）とを行い、
前記第１のコンピュータシステムの前記サブシステムコンポーネント群は、前記第２のコンピュータシステムの前記サブシステムコンポーネント群から独立して実行され、前記第２のコンピュータシステムは、前記第１のコンピュータシステムにより実行される前記サブシステムコンポーネント群を備えた前記同期化システムに対して、標準ネットワーキングプロトコル機能のみを利用し、前記第１のコンピュータシステムは、前記第２のコンピュータシステムにより実行される前記サブシステムコンポーネント群を備えた前記同期化システムに対して、標準ネットワーキングプロトコル機能のみを利用する、ことを特徴とするシステム。
【請求項２１】
第１のコンピュータシステムを第２のコンピュータシステムに同期化させるためのコンピュータ可読命令を有するコンピュータ可読媒体であって、前記第１のコンピュータシステムはプル型同期のためのソフトウェアコンポーネントを備え、前記コンピュータ可読命令（「同期化命令」）は、
前記第１のコンピュータシステムが、前記第１のコンピュータシステムおよび前記第２のコンピュータシステムの間でネットワーク接続を確立するステップ、または同一コンピュータシステム間で既存のネットワーク接続を利用するステップ（「接続命令」）と、
前記第１のコンピュータシステムが、前記第２のコンピュータシステム上の少なくとも１つのファイルを閲覧するステップ（「閲覧命令」）と、
前記第１のコンピュータシステムを前記第２のコンピュータシステムと同期化させるために、前記第２のコンピュータシステム上の前記少なくとも１つのファイルのいずれかを前記第１のコンピュータシステムに対してコピーする必要があるか否かを、前記第１のコンピュータシステムが確認するステップ（「論理命令」）と、
標準ネットワーキングプロトコルを使用することにより前記ネットワーク接続を介して前記第２のコンピュータシステムから少なくとも１つのファイルを、前記第１のコンピュータシステムがコピーするステップ（「コピー命令」）とを具備し、
前記第２のコンピュータシステムは、前記命令群を備えた前記同期化命令に対して、前記同期化命令のための標準ネットワーキングプロトコル機能のみを利用する、ことを特徴とするコンピュータ可読媒体。
【請求項２２】
前記第２のコンピュータシステム（シンシー）は、前記第１のコンピュータシステム（シンサー）と同期化されていることを意識しないようにする命令をさらに備える、ことを特徴とする請求項２１に記載のコンピュータ可読命令。
【請求項２３】
前記接続命令の前記ネットワーク接続はワイヤレス接続でとする命令をさらに備える、ことを特徴とする請求項２１に記載のコンピュータ可読命令。
【請求項２４】
ある時には前記第１のコンピュータシステムが前記接続要素（および、引き続く命令群）を実行することができ、また別の時には前記第１のコンピュータシステムが前記接続命令（および、引き続く命令群）を実行することができないように、前記第１のコンピュータシステムは、前記第２のコンピュータシステムに対する動的ネットワーク接続を有するモバイルコンピュータシステムであるようにする命令をさらに備える、ことを特徴とする請求項２１に記載のコンピュータ可読命令。
【請求項２５】
前記同期化命令は、前記第１のコンピュータシステムと前記第２のコンピュータシステムのと間の前記ネットワーク接続に関して、既存の標準ネットワークセキュリティプロトコルを利用する命令をさらに備える、ことを特徴とする請求項２１に記載のコンピュータ可読命令。
【請求項２６】
前記論理命令は、前記第１のコンピュータシステムにより一組の同期化規則に従って実行される命令をさらに備える、ことを特徴とする請求項２１に記載のコンピュータ可読命令。
【請求項２７】
前記一組の同期化規則は、
同期化するための一組のコンピュータシステムを表す同期パラメータ、
同期化するためのコンピュータシステム上の一組のフォルダを表す同期パラメータ、
同期化するためのコンピュータシステム上の一組のファイルを表す同期パラメータ、
同期化するためのコンピュータシステム上のファイルに対する一組の特性を表す同期パラメータ、
上記同期パラメータの少なくとも２つの組み合わせ、
の中から少なくとも１つの同期パラメータを定義する命令をさらに備える、ことを特徴とする請求項２６に記載のコンピュータ可読命令。
【請求項２８】
前記一組の同期化規則は、前記第１のコンピュータシステム上の前記ファイルを管理し、保守するための規則の部分集合を備える命令をさらに備える、ことを特徴とする請求項２６に記載のコンピュータ可読命令。
【請求項２９】
前記第１のコンピュータシステムは、同期化する相手として少なくとも１つの追加的コンピュータシステムを前記同期化動作を利用して活発に捜し出し、一組の同期化規則は、さらに、前記同期化動作を実行することを試みる頻度を管理するための規則の部分集合を有する命令をさらに備える、ことを特徴とする請求項２６に記載のコンピュータ可読命令。
【請求項３０】
ネットワークにおける少なくとも２つのコンピュータシステムに対する双方向ピア・ツー・ピア同期化のためのコンピュータ可読命令を有するコンピュータ可読媒体であって、前記少なくとも２つのコンピュータシステムはそれぞれプル型のみの同期化ソフトウェアコンポーネントを使用し、
前記コンピュータ可読命令（「同期化命令」）は、
前記第１のコンピュータシステムが、前記第１のコンピュータシステムおよび前記第２のコンピュータシステムの間でネットワーク接続を確立するステップ、または同一コンピュータシステム間で既存のネットワーク接続を利用するステップ（「接続命令」）と、
前記第１のコンピュータシステムが、前記第２のコンピュータシステム上の少なくとも１つのファイルを閲覧するステップ（「閲覧命令」）と、
前記第１のコンピュータシステムを前記第２のコンピュータシステムと同期化させるために、前記第２のコンピュータシステム上の前記少なくとも１つのファイルのいずれかを前記第１のコンピュータシステムに対してコピーする必要があるか否かを、前記第１のコンピュータシステムが確認するステップ（「論理命令」）と、
標準ネットワーキングプロトコルを使用することにより前記ネットワーク接続を介して前記第２のコンピュータシステムから少なくとも１つのファイルを、前記第１のコンピュータシステムがコピーするステップ（「コピー命令」）と、
前記第２のコンピュータシステムが、前記第２のコンピュータシステムおよび前記第１のコンピュータシステムの間でネットワーク接続を確立するステップ、または同一コンピュータシステム間で既存のネットワーク接続を利用するステップ（「接続命令」）と、
前記第２のコンピュータシステムが、前記第１のコンピュータシステム上の少なくとも１つのファイルを閲覧するステップ（「閲覧命令」）と、
前記第２のコンピュータシステムを前記第１のコンピュータシステムと同期化させるために、前記第１のコンピュータシステム上の前記少なくとも１つのファイルのいずれかを前記第２のコンピュータシステムに対してコピーする必要があるか否かを、前記第２のコンピュータシステムが確認するステップ（「論理命令」）と、
標準ネットワーキングプロトコルを使用することにより前記ネットワーク接続を介して前記第１のコンピュータシステムから少なくとも１つのファイルを、前記第２のコンピュータシステムがコピーするステップ（「コピー命令」）とを具備し、
前記第１のコンピュータシステムの前記命令群は、前記第２のコンピュータシステムの前記命令群から独立して実行され、前記第２のコンピュータシステムは、前記第１のコンピュータシステムにより実行される前記命令群を有する前記同期化命令に対して、標準ネットワーキングプロトコル機能のみを利用し、前記第１のコンピュータシステムは、前記第２のコンピュータシステムにより実行される前記命令群を有する前記同期化命令に対して、標準ネットワーキングプロトコル機能のみを利用する、ことを特徴とするコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般には、ピア・ツー・ピア同期化(peer-to-peer synchronization)に関する。本発明はより詳細には、ラップトップおよびハンドヘルドコンピュータなどのモバイルデバイスに対する特定のアプリケーションを有する、ピア・ツー・ピア規則に基づいたプル型自律的同期化システム(peer-to-peer rule-based pull autonomous synchronization system)に関する。
【背景技術】
【０００２】
当業者には既知であり、容易に理解されるように、２つ以上のコンピュータシステムの間でデータを同期化することに関してはいくつかの理由があり、そうするための多くの体系、方略、および技術的解決法がある。しかしながら、既存の技術におけるこれらの同期化体系の多くには、ネットワーク、特に動的ネットワークにおける、同期化の効率および効力を減退させる機能的な限界がある。たとえば、典型的なクライアント−サーバの同期化体系は、高度に構造化されており、コンピュータシステムのそれぞれにつき、クライアント−サーバ関係において「サーバ」により通常維持される明確に定義された関係を必要とする。このことは動的同期化に対して特に問題が多く、同期化ネットワークに加わるあるシステムは、同期化が生起し得る前に、第１にそのネットワークにおいて識別され、そして／または、定義されねばならない。さらに、これらの同期化体系の多くはまた、両方のコンピュータシステム上で特化した同期化ソフトウェアを必要とし、したがって、この特化した同期化ソフトウェアを欠いているコンピュータシステムは、特化した同期化ソフトウェアを有する別のコンピュータに、動的に同期化すること(sync)ができない。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
これら多くの短所は、一般に、同期化に有害となることがあり得るが、ある通信ネットワークや同期化ネットワークに入ったり出たり動的に移動するモバイル計算デバイスに対してそれらは特に問題になる。特にモバイルデバイスは必要なオーバヘッドが最小限の、高度に柔軟性のある動的な同期化体系を必要とする。ここで記述される本発明はこれらの問題点を取り扱う。
【課題を解決するための手段】
【０００４】
本発明の様々な実施形態は、ピア・ツー・ピアにおける規則に基づくプル型の自律的同期化のためのシステムおよび方法を対象としており、特にモバイルデバイスによく適合する。また、既存の同期化体系に比較して動作的に重要な利点を有する。
【０００５】
本発明のいくつかの実施形態は、同期化ウィザード（以下、「ＰｕｌｌＳｙｎｃ」と呼ぶ）を利用することを含む同期化システムを対象としており、このウィザードは、第１のコンピュータデバイスが第２のコンピュータデバイスに同期化するために、第２のコンピュータデバイスにデータを要求し受け取る（すなわち「プル（pull）する」）第１のコンピュータデバイス上に存在する（すなわち、インストールされ、実行される）。同期化するために、第１のコンピュータデバイス（「シンサー(syncer)」）は、同期化の範囲および程度（後でこの文書中で議論する）を定義する、シンサー上で確立された特定のＰｕｌｌＳｙｎｃ規則（PullSync Rule：ＰＳＲ）に従って、第２のコンピュータデバイス（「シンシー(syncee)」）上の共有フォルダからファイルをコピーする。前述のコピーは、ネットワーク接続を介して、既存の明確に定義されたプロトコル（それにより、１つのコンピュータシステムが第２のコンピュータシステムの利用可能な共有フォルダからのファイルを閲覧し、コピーすることが可能な）を用いて生起する。本発明のある実施形態に対して、ＰｕｌｌＳｙｎｃウィザードソフトウェアは第１のコンピュータシステム（シンサー側）上のみに存在していて、当該の第１のコンピュータシステム上のＰｕｌｌＳｙｎｃウィザードのＰＳＲに基づき、第２のコンピュータシステムから選択的にファイルをコピーするために、これら既存のネットワークプロトコル（限定的ではなく、ワイヤレス通信プロトコルを含む）を利用する。そのうえ、ＰｕｌｌＳｙｎｃはまた、標準ネットワーク通信でのこれらのコンピュータシステムに対して既に定着しているであろう既存のセキュリティプロトコルおよび技術（限定的ではなく、ワイヤレス通信プロトコルを含む）を利用する場合がある。
【発明を実施するための最良の形態】
【０００６】
以上述べた概要、および、最良な実施形態としえの以下の詳細な記述は、この明細書に含まれている図面、表、および／または、他の可視表現に関連させることにより、より深く理解されるであろう。本発明を例証する目的のために、これらの図面において、本発明の例示的構造、あるいは機能および方法を図示する場合がある。しかしながら、本発明はこれらの開示された特定の方法および手段に限定されるものではない。
【０００７】
本発明の主題について、法的要件を満たすべく、特定性をもって記述してあるる。しかしながら、記述自体は特許の範囲を限定することを意図するものではない。むしろ、発明者は、クレームされた主題が他の現在のあるいは将来の技術に関連して、本明細書において記述されたものと異なるステップ、あるいは同様なステップの組み合わせを含む、他の方法で具体化される場合があると想定している。さらに、用語「ステップ」は、ここで採用される方法とは異なる要素を含意するために用いられる場合があるが、個々のステップの順序が明示的に記述されない限りかつその場合を除いて、ここに開示された様々なステップに亘る、あるいはその間のどんような特定の順序も、この用語が意味すると解釈されるべきでない。
【０００８】
（コンピュータ環境）
本発明の多数の実施形態はコンピュータ上で実行される場合がある。図１および引き続く議論は、本発明を実施する場合がある適切な計算環境の簡潔な概説を提供することを意図する。必須ではないが、本発明は、クライアントワークステーションあるいはサーバなどの、コンピュータにより実行される、プログラムモジュールなどのコンピュータで実行可能な命令での一般的表現にて記述してある。一般に、プログラムモジュールは特定のタスクを実行するか、あるいは特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造、および同様なものを含む。さらに、携帯型デバイス、マルチプロセッサーシステム、マイクロプロセッサーに基づくすなわちプログラム式家庭電化製品、ネットワークＰＣ、ミニコンピュータ、汎用計算機、および同様なものを含む、他のコンピュータシステム構成においても、本発明を実施できる場合があることを当業者は理解できるであろう。通信ネットワークを介してリンクされる遠隔処理デバイスによりタスクが実行される分散型計算環境にてもまた、本発明を実施する場合がある。分散型計算環境では、プログラムモジュールがローカル、および遠隔の両方のメモリストレージデバイスに置かれる場合がある。
【０００９】
図１に示すように、例示的汎用目的の計算システムは、従来型のパーソナルコンピュータ２０、あるいは処理ユニット２１、システムメモリ２２、およびシステムメモリを含む様々なシステムの構成要素を処理ユニット２１に結合するシステムバス２３を含む、同様なものを含む。システムバス２３は、さまざまなバス構成の任意のものを使用するメモリバスあるいはメモリ制御装置、周辺バス、およびローカルバスを含むいくつかのタイプのバス構造のいずれかである場合がある。システムメモリは読み出し専用メモリ（Read Only Memory：ＲＯＭ）２４およびランダム・アクセス・メモリ（Random Access Memory：ＲＡＭ）２５を含む。起動時などに、パーソナルコンピュータ２０の中の要素の間での情報転送に役立つ基本的なルーチンを含む、基本入出力システム（Basic Input/Output System：ＢＩＯＳ）２６はＲＯＭ２４に格納される。パーソナルコンピュータ２０はさらに、ハードディスク（図示せず）と読み書きするためのハードディスクドライブ２７、着脱可能な磁気ディスク２９と読み書きするための磁気ディスクドライブ２８、およびＣＤ−ＲＯＭや他の光学媒体などの着脱可能な光ディスク３１と読み書きするための光ドライブ３０を含む場合がある。ハードディスクドライブ２７、磁気ディスクドライブ２８、および光ドライブ３０はそれぞれ、ハードディスクドライブインターフェース３２、磁気ディスクドライブインターフェース３３、および光ドライブインターフェース３４によりシステムバス２３に接続される。ドライブ類およびそれらの関連付けられたコンピュータで読み取り可能な媒体は、パーソナルコンピュータ２０のためのコンピュータで読み取り可能な命令、データ構造、プログラムモジュール、および他のデータの不揮発性記憶装置を提供する。ここに記述された例示的環境はハードディスク、着脱可能な磁気ディスク２９、および着脱可能な光ディスク３１を採用しているが、磁気カセット、フラッシュ・メモリ・カード、デジタル・ビデオ・ディスク、ベルヌーイカートリッジ、ランダム・アクセス・メモリ（Random Access Memory：ＲＡＭ）、読み出し専用メモリ（Read Only Memory：ＲＯＭ）、および同様なものなどの、コンピュータによりアクセス可能なデータを格納できる他のタイプのコンピュータで読み取り可能な媒体もまた、この例示的動作環境にて使用する場合があることは当業者により理解されるべきである。
【００１０】
ハードディスク、磁気ディスク２９、光ディスク３１、ＲＯＭ２４、あるいはＲＡＭ２５に、オペレーティングシステム３５、１つまたは複数のアプリケーションプログラム３６、他のプログラムモジュール３７、およびプログラムデータ３８を含む、多くのプログラムモジュールが格納される場合がある。ユーザーは、キーボード４０や指示デバイス４２などの入力デバイスを介してパーソナルコンピュータ２０にコマンドや情報を入力する場合がある。他の入力デバイス（示されない）として、マイクロホン、ジョイスティック、ゲームパッド、衛星アンテナ、スキャナー、または同様なものを含む場合もある。これらおよび他の入力デバイスはしばしば、システムバスに結合されるシリアル・ポート・インターフェース４６を介して処理ユニット２１に接続されるが、パラレルポート、ゲームポート、またはユニバーサル・シリアル・バス（universal serial bus：ＵＳＢ）などの他のインターフェースにより接続される場合もある。また、モニタ４７あるいは他のタイプの表示デバイスは、ビデオアダプタ４８などのインターフェースを介してシステムバス２３に接続される。モニタ４７に加えて、パーソナルコンピュータは通常は、スピーカーやプリンタなどの、他の周辺出力デバイス（示されない）を含む。図１の例示的システムはまた、ホストアダプタ５５、ＳＣＳＩ（Small Computer System Interface）インターフェースバス５６、およびＳＣＳＩバス５６に接続された外部ストレージデバイス６２を含む。
【００１１】
パーソナルコンピュータ２０は、１つまたは複数のリモートコンピュータ４９などのリモートコンピュータとの論理的接続を使用して、ネットワーキングされた環境で動作する場合がある。リモートコンピュータ４９は、別のパーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、あるいは他の一般ネットワークノードである場合があり、図１ではメモリストレージデバイス５０のみが図示されているが、通常は、上でパーソナルコンピュータ２０に関して記述された要素の多くあるいはすべてを含む。図１に表現された論理的接続には、ＬＡＮ（Local Area Network）５１、および広域ネットワーク（Wide Area Network：ＷＡＮ）５２が含まれる。このようなネットワーク環境は、事務所、企業規模のコンピュータネットワーク、イントラネット、およびインターネットで一般的である。
【００１２】
ＬＡＮネットワーク環境にて使用される場合には、パーソナルコンピュータ２０はネットワークインターフェースすなわちアダプタ５３を介してＬＡＮ５１に接続される。ＷＡＮネットワーク環境で使用される場合には、パーソナルコンピュータ２０は通常、インターネットなどの、ＷＡＮ５２上で通信を確立するために、モデム５４あるいは他の手段を含む。モデム５４は、内蔵の場合、あるいは外付けの場合があるが、シリアル・ポート・インターフェース４６を介してシステムバス２３に接続される。ネットワーキングされた環境では、パーソナルコンピュータ２０に対して説明されたプログラムモジュール、またはその部分が遠隔メモリストレージデバイスに格納される場合がある。ここで示されたネットワーク接続は例示的なものであり、コンピュータ間の通信リンクを確立する他の手段が使用される場合があることが理解されるであろう。
【００１３】
本発明に関する多数の実施形態は、コンピュータ化されたシステムに対して特に良く適合する。しかし本明細書においては、本発明をそのような実施形態に限定するものではない。一方、使用す用語「コンピュータシステム」は、情報を格納し、処理することが可能であり、かつ／または、デバイス自体の動作や実行を制御するために格納された情報を使用することが可能な、ありとあらゆるデバイスを、それらのデバイスが本質的に電子的であるか機械的であるか論理的であるか、あるいは仮想的であるかにかかわらず、包含することを意図する。
【００１４】
（ネットワーク環境）
図２は、本発明の形態である例示的ネットワーク環境を示す。もちろん、実際のネットワークおよびデータ構造環境はさまざまな構成に編成し得るが、しかしながら、ここで示した例示的環境は、本発明が動作する環境の型を理解するための枠組みを提供する。
【００１５】
ネットワークは、クライアントコンピュータ２０ａ、サーバコンピュータ２０ｂ、データソースのコンピュータ２０ｃ、およびデータ構造７０、７２ａ、および７２ｂを含む。クライアントコンピュータ２０ａおよびデータソースコンピュータ２０ｃは、通信ネットワーク８０、たとえばイントラネット、を介してサーバコンピュータ２０ｂと電子的通信の状態にある。クライアントコンピュータ２０ａおよびデータソースコンピュータ２０ｃは、通信インターフェース８２により通信ネットワークに接続される。通信インターフェース８２はイーサネット（登録商標）接続、モデム接続などの周知の通信インターフェースの任意のものであることが可能である。
【００１６】
サーバコンピュータ２０ｂは、以下に詳述する、データ構造サーバ・システム・ソフトウェアによるデータ構造７０の管理を提供する。このように、サーバ２０ｂはさまざまなデータソースから来るデータの倉庫として機能し、さまざまなデータ需要者にそのデータを提供する。
【００１７】
図２の例では、データソースはデータソースコンピュータ２０ｃにより提供されている。データソースコンピュータ２０ｃは、通信ネットワーク８０（ＬＡＮ、ＷＡＮ、イントラネット、インターネット、または同様なものである場合がある）を介して、サーバコンピュータ２０ｂにデータを通信する。データソースコンピュータ２０ｃは、データ構造７２ａ、７２ｂ（関係データ構造サーバ、Ｅｘｃｅｌスプレッドシート、ファイル、または同様なものである場合がある）に、データをローカルに格納する。たとえばデータ構造７２ａでは、表１５０、１５２、および１５４中に格納されたデータを示す。データソース２０ｃにより提供されたデータは結合され、サーバ２０ｂにより維持されるデータウェアハウスなどの大きいデータ構造に格納される。サーバコンピュータ２０ｂにより格納されたデータを使用する必要があるクライアントコンピュータ２０ａは、通信ネットワーク８０を介してデータ構造７０にアクセスすることが可能である。クライアントコンピュータ２０ａは、データ構造７０に格納されたデータに関してＳＱＬ照会（query：たとえば、更新、挿入、削除）によりデータを要求する。
【００１８】
（ＰｕｌｌＳｙｎｃ）
本発明の様々な実施形態は、コンピュータデバイス間のデータの同期化のためのシステムおよび方法を対象にしている。いくつかの実施形態に関しては、同期化システムが同期化ウィザード（以下に「ＰｕｌｌＳｙｎｃ」と呼ぶ）を利用することを含む。第１のコンピュータデバイスが第２のコンピュータデバイスに同期化するために、第２のコンピュータデバイスからのデータを要求しそれを受け取る（すなわち「プルする（pull）」）であろう第１のコンピュータデバイス上にＰｕｌｌＳｙｎｃは存在する（すなわち、インストールされて、実行される）。
【００１９】
同期化するために、第１のコンピュータデバイス（「シンサー」）は、シンサーにおいて確立された、同期化の範囲および程度を定義する、特定のプル型同期化規則（Pull-Synchronization Rule：ＰＳＲ、後で本文書中で議論する）に従い、第２のコンピュータデバイス（「シンシー」）上の共有フォルダからファイルをコピーする。前述のコピーは、ネットワーク接続を介して、既存の明確に定義されたプロトコル（それにより、１つのコンピュータシステムが第２のコンピュータシステムの利用可能な共有フォルダからのファイルを閲覧し、コピーすることが可能な）を用いて生起する。当業者により、公知でありかつ容易に理解されるように、コンピュータシステム（この場合、第２のコンピュータデバイス（シンシー））の共有フォルダ中のファイルは、既存のネットワークプロトコルの動作により、ある種のネットワーク接続を介して第２のコンピュータシステム（シンシー）にアクセスする、標準のネットワーク通信能力を有する他のコンピュータシステム（この場合、第１のコンピュータデバイス（シンサー））に完全に見えている。実際に、コンピュータシステムが別のコンピュータシステムの共有フォルダからのファイルをコピーする（すなわち、「プルする」）場合に、第２のコンピュータシステムは、その共有フォルダ中のファイルの第１のコンピュータシステムへのコピーを意識してさえいないと（第２のコンピュータシステムが実際には、たとえば第２のコンピュータシステムの永続的データ記憶から読出しを行うために必要なコマンドを実行することにより、第１のコンピュータシステムへのファイルコピーを支援する特定のシステムレベルのコマンドを実行しているにも拘わらず）。このようにして本発明のいくつかの実施形態に関して、第１のコンピュータシステム（シンサー）上のみに存在するＰｕｌｌＳｙｎｃウィザードソフトウェアは、第１のコンピュータシステム上のＰｕｌｌＳｙｎｃウィザードのＰＳＲに基づき、第２のコンピュータシステムから選択的にファイルをコピーするために、これら既存のネットワーキングプロトコル（限定的ではなく、ワイヤレス通信プロトコルを含む）を利用する。そのうえ、ＰｕｌｌＳｙｎｃはまた、標準ネットワーク通信に関してこれらのコンピュータシステムにとって既に定着しているであろう既存のセキュリティプロトコルおよび技術（限定的ではなく、ワイヤレス通信プロトコルを含む）を利用する場合がある。
【００２０】
このように、既存のネットワークプロトコルを使用することにより、ＰｕｌｌＳｙｎｃは、シンサーコンピュータシステムが、ネットワーク（有線あるいはワイヤレスの）を介してそれがアクセスすることが可能な、他（第２の／シンシー）のコンピュータシステムと同期化するためだけに、当該のシンサーコンピュータシステム（すなわち、第２のコンピュータシステムからファイルを「プルする」第１のコンピュータシステム）上に存在する必要があり、一方シンシーは、ネットワーキングされたコンピュータシステム上に既に存在し、この継目なしの閲覧およびコピーが生起することを可能にする充分安定しているネットワークプロトコルの他には、特別なプログラミングは必要としない。その結果、共有フォルダにファイルを有する、ネットワーク上に存在するどんなコンピュータシステムも、ネットワークを介してその共有フォルダの内容を別のコンピュータシステムが閲覧し、コピーできるというまさにその事実により、シンシーとなる可能性があることになる。
【００２１】
同様に、必須ではないが、特定のコンピュータシステムが、シンシー（ネットワーク上のコンピュータシステムであり、共有フォルダ中にファイルを有することにより）、およびシンサー（ローカルなＰＳＲに従い、ネットワーク上の他のコンピュータシステムの共有フォルダからファイルをプルするためにＰｕｌｌＳｙｎｃウィザードをインストールし実行することにより）の両方であることが可能である。したがって、２つのコンピュータシステムが、それぞれが共有フォルダ中にファイルを有し、かつそれぞれがＰｕｌｌＳｙｎｃを実行することにより、それぞれの個々のコンピュータ上で確立されたＰＳＲにより定義された範囲で、互いに完全に同期化することが可能である。
【００２２】
図３は、一般的なモバイル計算デバイス、および／または、互いに少なくとも１回は通信している有線およびワイヤレスの両方のデバイスを含む動的な構成を有する、現在の特別な目的のためのネットワークについて、本発明のいくつかの実施形態に対する同期化体系を表すブロック図である。本図では、一般的モバイル計算デバイス３００はウルトラモバイル（ultra-mobile）型計算デバイス（たとえば、Ｍｉｃｒｏｓｏｆｔ社のＧｏＰＣ）であり、標準のワイヤレスネットワークプロトコルを使用して、限定的ではないワークデスクトップ３１０、および対応するワークタブレットＰＣ３２０、それぞれ仕事同僚のデスクトップ３３０と３４０、ラップトップ３５０、配偶者のポケットＰＣ３６０、およびホームデスクトップ３７０を含む他のコンピュータシステムと通信する。ＧｏＰＣ３００は、ＰｕｌｌＳｙｎｃソフトウェアコンポーネント（図示されるように）を含み、異なった時（すなわち、ＧｏＰＣ３００から、そのようなそれぞれの他のコンピュータシステムとのアクティブなネットワーク接続が成立したときに）に、プル型のデータフロー３１２、３２２、３３２、３４２、３５２、３６２、および３７２により示されるような、それぞれのそれらデバイスとのワイヤレス接続を介して標準のネットワークプロトコルを使用して、これらのシステムのそれぞれからのファイルを閲覧し、コピーすることができる。
【００２３】
ＰｕｌｌＳｙｎｃソフトウェアコンポーネントを有さないシステム、すなわちコンピュータシステム３２０、３３０、３４０、および３７０に関しては、何らかの同期化動作が生起していること、あるいはこの同期化がＧｏＰＣ３００上でＰｕｌｌＳｙｎｃ動作が生起するために当該のシステム上で何らかの特化されたソフトウェア（当該の標準ネットワークプロトコル以外に）が必要となること、を当該のシステムが意識することなしに、この同期化が生起する。同様に、ＰｕｌｌＳｙｎｃソフトウェアコンポーネントを有する他のコンピュータシステム（すなわち、コンピュータシステム３１０、３５０、および３６０）もまた、プル型の同期化がＧｏＰＣにより実行されていることを必ずしも意識しているわけではない（ＧｏＰＣを含むそのようなシステムが、いくつかの手段のいずれかによりそのような同期化を特定するための論理をＰｕｌｌＳｙｎｃソフトウェアコンポーネントの一部として含んでいるにも拘わらず）。しかしながらこれらのシステムは、ＧｏＰＣ、およびそれらがネットワーク接続を介して通信することができる他のいかなるコンピュータシステムの両方との間で、それら自身のｓｙｎｃ動作を実行する能力がある。たとえば、職場の同僚のコンピュータシステム３３０および３４０は、ＧｏＰＣに対してシンシーにすぎないかもしれないが、配偶者のポケットＰＣ３６０は、ＧｏＰＣ３００自身（データフロー３６４）はもちろん、ラップトップ３５０（データフロー３５６）およびホームデスクトップ３７０（データフロー３７６）の両方と同期化することができる。
【００２４】
たとえば、ＧｏＰＣ３００、ラップトップ３５０、および配偶者のポケットＰＣ３６０は、それぞれのコンピュータシステムのＰＳＲにより許される範囲で互いに完全にｓｙｎｃできることに注意すべきである。その上、配偶者のポケットＰＣ３６０、あるいはＧｏＰＣ３００、あるいは両方を介して、３台のＰｕｌｌＳｙｎｃシステムのすべてでのＰＳＲに基づく、同期化制限の組み合わせの結果に対応して、ラップトップ３５０がホームデスクトップ３７０と間接的に同期化することができることにも注意すべきである。他のいずれのコンピュータシステムともネットワーク接続を確立できるＰｕｌｌＳｙｎｃを有するいずれのコンピュータシステムに関してもそうであるであるように、ラップトップ３５０はまたもちろん、直接のネットワーク接続が確立された場合（図示せず）には、ホームデスクトップ３７０と直接同期化することができる。
【００２５】
ＰＳＲに関し、ここに記述した本発明の様々な実施形態に対してＰＳＲは、それが存在するコンピュータシステムに対して、他のコンピュータシステムからそれ自身までコピー／プルされる特定のファイルを定義する−すなわち、ＰＳＲはそれが存在するコンピュータシステムの「シンサー」（すなわちファイルをプルしている方）の特性を定義する−のみであることに注意すべきである。逆にＰＳＲは、その特定のＰＳＲが存在するコンピュータシステムから、他のシステムがプルする場合あるいはしない場合があるファイルに関して、それらのコンピュータシステムの動作を記述することはできない（他のコンピュータシステムが、それらがファイルをコピーするためにまた、ＰｕｌｌＳｙｎｃを使用している場合には、それら自体の明確な別個のＰＳＲを有する場合があるにも拘わらず）。代わりに、どのファイルが１つのコンピュータシステムから別のコンピュータシステム（後者がＰｕｌｌＳｙｎｃを使用している）へコピーでき、あるいはコピーできないかをシンシーが指定する唯一の手段は、共有の、あるいは個人のフォルダ（共有フォルダの内容はコピー可能であり、個人フォルダの内容がコピー不可である）にそれらのファイルを適宜置き替えることであり、これにより事実上、そのコンピュータシステムのシンシーとしての（「ファイル共有」の）特性を定義することになる。
【００２６】
本発明のいくつかの実施形態に関して、ＰｕｌｌＳｙｎｃのＰＳＲは、ＰｕｌｌＳｙｎｃのエンドユーザにより指定された、他のパラメータとの組み合わせで、それぞれの他のコンピュータシステムからコピー／プルするために、特定のコンピュータシステム、特定のフォルダ、および特徴的ファイルを明示的に定義する。ここでは、Ａがシンサー（ＰｕｌｌＳｙｎｃを有する）であり、Ｂ，Ｃ，ＤおよびＥが潜在的シンシーである、Ａ，Ｂ，Ｃ，ＤおよびＥを考慮する。すなわち、Ａは、Ｂ、Ｃ、Ｄ、およびＥのそれぞれと少なくとも１つの共通ネットワークを共有し、Ｂ、Ｃ、Ｄ、およびＥはそれぞれの間では、いずれのネットワークも共有する場合がないものとする。この例では、Ａは以下のようなＰＳＲを有する。
【００２７】
【表１】
2005332388.tif 000003
【００２８】
この例において、ＡがＢと同期化する場合、Ａは、Ｂ上に存在する共有フォルダＭｙＰｉｃｔｕｒｅｓからのすべての＊．ｊｐｇファイル、Ｂの共有フォルダＭｙＨｏｍｅＤｏｃｓ中のすべてのファイル、およびＢの共有フォルダＭｙＭｕｓｉｃからここ２８日前未満のすべてのファイルをプルする。Ｃと同期化する場合には、ＡはＣの共有フォルダＭｙＷｏｒｋＤｏｃｓで、ファイル名が「ｓｔａｔｕｓ」で始まるファイルだけ（すなわち、たとえば「ｓｔａｔｕｓｌｏｇ．ｄｏｃ」および「ｓｔａｔｕｓ−０４０４２８−ｕｐｄａｔｅ．ｘｌｓ」は含まれるであろうが、たとえば「ｂａｃｋｏｒｄｅｒｓｔａｔｕｓ．ｔｘｔ」は含まれない）をプルする。Ｅと同期化する場合には、ＡはＥの共有フォルダＭｙＶｉｄｅｏから＊．ｍｐｇ、＊．ｗｍｖ、および＊．ｍｏｖファイルのみ、Ｅの共有フォルダＭｙＰｉｃｔｕｒｅｓからここ９０日未満のすべてのファイル、およびＥの共有フォルダＭｙＭｕｓｉｃから２メガバイト未満のすべてのＷＭＡファイルをプルする。さらに、Ｄ（およびその共有フォルダとファイル）はＡのＰＳＲに記載されていないので、Ａは、Ｄからはいずれのファイルもプルしない。
【００２９】
本発明のある実施形態において、他のコンピュータシステム（Ｂ、Ｃ、およびＥ）からプルされたファイルに対するシンサー（この例におけるＡ）上の宛先は、デフォルトとして、同じ名前を有するＡ上の対応する共有フォルダである場合がある。しかしながら他の実施形態では、代わりに規則ごとに、あるいは追加条件付きの規則によりＰＳＲ中でそのようなファイルに対する位置を指定する場合がある。さらに、ＰＳＲはそのコンピュータシステム（Ａ）が他のコンピュータシステム（Ｂ、Ｃ、およびＥ）からの、ＰＳＲにより包含されてはいるが、しかし以前にコピーされているか、あるいはそのコンピュータシステム（Ａ）上にそれらの現在の形式にて既に存在する、ファイルをコピーすることを防ぐ論理を含む場合がある。これは、ファイル名、ファイル期日や時間、あるいは他のある種の論理的なメカニズムで決定される場合がある。対応するフォルダ中に既に名前があるファイルにつき、より最近の日付／タイムスタンプがあるファイルを別のコンピュータシステムからプルする場合には、ある実施形態では、単に旧ファイルを新ファイルで上書きするか、あるいは代わりに、旧ファイルを改名（rename）し、そして／または、それを旧ファイルアーカイブに移動するか、あるいは代わりに全体的に別の技法を用いる場合がある。
【００３０】
本発明のいくつかの実施形態に関して、ＰＳＲはまた、前述の規則（「第１の規則集」あるいは「１ＳＲ」）に加えて、第２の追加の規則集（「２ＳＲ」）を含む場合がある。第１の規則集（１ＳＲ）はＰｕｌｌＳｙｎｃの「プルする」要素のみに関係し得る（すなわち、以前に記述されたように、どこからいつどのファイルをプルするべきか）が、この第２の規則集（２ＳＲ）は、それ自身のシステム上に存在するファイルに適用される場合がある（すなわち、本質的に、ファイルの保守および管理の規則集である）。この第２の規則集（２ＳＲ）は、ある実施形態に対して、そのコンピュータシステム上の共有フォルダの内容のみに適用し、たとえば、長くあるファイルを保持する期間を（すなわち、共有フォルダＭｙＰｉｃｔｕｒｅｓ中の＊．ｊｐｇファイルは６０日間未満、および共有フォルダＭｙＶｉｄｅｏの＊．ｍｐｇファイルは３日間未満に）定義する場合がある。とにかく、１ＳＲと同様に、機能、能力、および実施において２ＳＲはいろいろ変化して、それらが適用されるコンピュータシステムに多数のオプションを提供することができる。本発明のいくつかの実施形態に関して、ＰＳＲ中の規則自体が修正可能であるばかりでなく、規則構文、適用可能性、機能、そして内容もまた、たとえば、付加的（add-on）モジュールや動的ライブラリー、他により、拡張可能（extendable）である。
【００３１】
本発明のいくつかの実施形態に関して、ＰＳＲはまた、特にモバイル計算デバイスに対して有益な機能である、同期化の頻度、そして／または方法に関する規則集（３ＳＲ）をさらに含む場合がある。３ＳＲに対して、および同期化の頻度に関して、ネットワークに立ち入り、また立ち去る（たとえば、それらのワイヤレス通信デバイスを介して）、モバイル計算デバイスーラップトップコンピュータ、小型コンピュータシステム（たとえば、ウルトラモバイルＰＣ）、あるいは擬コンピュータデバイス（たとえば、ＰＤＡ）などは、ネットワークに加わっていないときのネットワーク／同期化の検査の頻度が低減することにより利益を得るであろう。たとえば、次々に場所を変えるＧｏＰＣ（Ｍｉｃｒｏｓｏｆｔ社からのウルトラモバイル型コンピュータデバイス）はさまざまな時間に１つまたは複数の異なるネットワークへのアクセス権を有するが、他の時間にはいずれのネットワークへのアクセス権も持たないであろう。ネットワークに接続できない場合には、３ＳＲを用いて、ＧｏＰＣは初めは５分間の間、１分間隔でネットワークに接続する（１つもないかどうかを確認する）ために再試行する。ネットワークが見つからない場合には、５分間隔で１５分間チェックし、て再度、ネットワークが見つからない場合には、１つのネットワークが見つかるまで、１５分間隔でチェックする（次に再度、新しいネットワークを探し始める場合には、１分間隔に戻る）。同期化の頻度および期間は、デバイスの電池寿命、プロセッサ負荷、および他の様々なパラメータに関連する他の規則に従う場合がある。ある実施形態に関しては、ＰＳＲの第３の規則集（３ＳＲ）は、１つのネットワーク中の複数のコンピュータから同期化するために、同期化する相手として利用可能な、１つのコンピュータを選択するため（「接続優先順位」）の、あるいは他の状況においては、所与の時間に２つ以上のネットワークの中から同期化するために利用可能な、同期化するべき相手のネットワークを選択するため（「ネットワーク優先順位」）の規則を含む場合がある。そのような規則は、速度，リソース費用，財務上の原価（有料ネットワークの場合），ネットワーク負荷、および／または、多くの他の際限のない条件に基づく場合がある。
【００３２】
ここで使用されるように、ＰＳＲを３つの規則集に分割をすることは、本発明のいくつかの態様および実施形態の機能に関する記述を単にするために為されるものであり、ここで記述されているどの部分も、ＰＳＲを特定の規則の組み分け、その数、あるいはその特性に限定するように、解釈されるべきではない。
【００３３】
さらに、本発明のある実施形態は、ＰｕｌｌＳｙｎｃを使用することにより、少なくとも他の１つのコンピュータシステムへのネットワーク接続を有する複数のコンピュータシステムが、ｓｙｎｃウェブの全体を介して、１つのマシンから別のマシンへの共有フォルダファイルの自然な伝播を通して互いに同期化する（何らかのレベルでそれぞれのマシンにおける個々のＰＳＲの機能に対応して制約されるが）ように、ウェブを同期化することを対象としているる。このように本発明のある実施形態は、単方向(one-way)ｓｙｎｃのＰｕｌｌＳｙｎｃデバイスを２つのコンピュータシステム上にインストールすることにより、それらが互いに効果的に同期化できる（そしてその結果、自然な双方向ｓｙｎｃの関係(a natural two-way sync relationship)を形成する）ように双方向同期化(two-way synchronization)を対象とする。他の実施形態では、複数のコンピュータシステム（それらの一部のみがＰｕｌｌＳｙｎｃを稼働させている）が互いに限定的な同期化を遂行し、いくつかの場合では、同様の自然な伝播(natural propagation)を介して互いをスルーさせるような、複数方向同期化(multi-direction synchronization)を対象とする。
【００３４】
（概括および付加的な機能）
以上のことを言い換え、拡張し、あるいは付け加えると、（１）本発明の様々な代替の実施形態に対する特定の発明的な要素の簡潔な、しかし非限定的な概括、そして／または（２）本発明の様々な代替の実施形態に対する追加的な発明的特徴は次のようになる。
【００３５】
１．ＰｕｌｌＳｙｎｃコンピュータシステムあるいはデバイス−特に（ａ）ラップトップコンピュータおよびＧｏＰＣなどの小型コンピュータデバイスなどのモバイル計算デバイス、そして／または、（ｂ）モバイル計算デバイスと対話する他のコンピュータデバイスを包含する動的に変化するネットワークと一体となったデバイス−が遭遇するネットワークやデバイスを求めて定期的にポーリングし、そして定期的に新たな、そして／または更新されたファイルを、当該のネットワークにおけるシンシーコンピュータシステム上の共有フォルダからプルする。
【００３６】
２．ＰｕｌｌＳｙｎｃウィザードを有するコンピュータシステムがネットワークを検出し、そのネットワーク上で、ｓｙｎｃに対する自身のＰＳＲに合致するコンピュータを見付けたときに、そのＰｕｌｌＳｙｎｃシステムにとっての同期化は、完全に自動化される（すなわち、エンドユーザーの介入は全くなしで、自動的に生起する）。
【００３７】
３．ＰＳＲは、直接的にエンドユーザ、他のアプリケーションにより、改訂され、変更され、拡張され、あるいは限定され、そして／または、いくつかの実施形態では、自動的に生成される。
【００３８】
４．他のいくつかの実施形態に関しては、「共有フォルダ」の概念にはまた、２つのデバイス間でのように、他の場合には共有フォルダであると扱われないであろうが、標準のネットワークコピープロトコルあるいは他の手段でコピー可能な、少なくとも１つの「個人のフォルダ（private folder）」が含まれる。
【００３９】
５．共有フォルダは、ある実施形態に対して、既存のセキュリティの、認証のプロトコル、および同様なものを利用する「信頼されるフォルダ（trusted folder）」を含む。
【００４０】
６．いずれのファイルも１つのシステムにより別のシステムにかつて「プッシュ（push）されていない」状態での純粋な「プル型」同期化の実施を形成するためにＰｕｌｌＳｙｎｃウィザードが用いられる場合がある。
【００４１】
７．ＰｕｌｌＳｙｎｃは、集中型同期化サーバを全く必要としない、完全に分散化されたピア・ツー・ピア同期化システムであり、そして、いくつかの実施形態に対しては、全体的な同期化ネットワークの範囲あるいは程度にて同期化されつつある異なるコンピュータシステム上のＰｕｌｌＳｙｎｃ動作の異なるインスタンスの中で、あるいはその間で、調整が為されることは（あるいはその意識さえ）全くない。それにもかかわらず、いくつかの実施形態は、ＰｕｌｌＳｙｎｃをまた有する別のコンピュータシステムと同期化する場合に、同期化経験を増すために認識論理（awareness logic）を含む場合があり、あるいは代わりに、定義された、あるいは動的なネットワークにおける１つまたは複数のＰｕｌｌＳｙｎｃウィザードシステムを介して生起する全体的な同期化を識別し、追跡するためのソフトウェアを含む場合がある。
【００４２】
８．ＰｕｌｌＳｙｎｃはネットワークに独立（ネットワーク特有なソフトウェアを必要としない）であり、いずれの既存ネットワークにおいても、そのネットワークに対する明確に確立されたプロトコルを使用して動作するように設計されている。
【００４３】
９．本発明のある実施形態は特に、ピア・ツー・ピア（中央同期化サーバを必要としない）の、規則に基づく（ローカルなＰＳＲに基づきそれぞれの個々のコンピュータシステム上で同期化が実行される）、全プル型（ファイルがプッシュされることがない）の同期化システムを対象にする。代替の実施形態では、「ローミング方式」の（モバイルの）コンピュータデバイスに対して、同じことを対象にする。追加的な代替実施形態では、ネットワーク独立性（すなわち、マルチネットワーク性）、恒常的ｓｙｎｃ（同期化）、自律的動作およびｓｙｎｃ（同期化）、および既存のネットワーキング、セキュリティ、そして／または、認証プロトコルの利用に対して、同じことを対象にする。
【００４４】
１０．動作上は、ＰｕｌｌＳｙｎｃは、（絶え間なく変化し続ける可能性がある）そのネットワーク（群）、および他のコンピュータおよびその中のフォルダおよびファイルへのネットワーク接続の幅および範囲を、同期化するために、およびいくつかのそのような実施形態に関しては自律的的に検出し、同様に同期化するために、検索する「横断的エンジン（traversal engine）」（ウェブクローラー（web crawler)のような）である場合がある。
【００４５】
１１．別の実施形態では、ＰｕｌｌＳｙｎｃがまた、専用化されたデバイスとともに使用され得る。たとえば、ハードディスク駆動デバイスでは、ＰｕｌｌＳｙｎｃを使用して、コンピュータシステムとｓｙｎｃし、そしてそれ自身のローカルＰＳＲに従ってそのコンピュータシステムの共有フォルダの内容をバックアップする。代替の実施形態では、そのようなバックアップデバイスが、それが同期化するコンピュータシステム全体をコピー／バックアップするための付加的手段を含む場合がある。
【００４６】
１２．別の実施形態では、ＰｕｌｌＳｙｎｃを利用する同期化システムはまた、プル型専用であり、そこでは、同期化処理の一部としてもデータをプッシュすることはなく、かわりにデータをプルする（ＰｕｌｌＳｙｎｃウィザードを介して）ことにより、同期化が完全に達成される。
【００４７】
（結論）
ここに記述された様々なシステム、方法、および技法は、ハードウェアあるいはソフトウェアで、あるいは適切である場合には両方の組み合わせで、実施される場合がある。したがって、本発明の方法および装置、あるいはある形態あるいはその部分は、フロッピー（登録商標）ディスク、ＣＤ−ＲＯＭ、ハードディスクドライブ、あるいは他の任意の機械読み取り可能な記憶媒体などの、具体的な媒体に具現化されたプログラムコード（すなわち、命令）の形をなす場合があり、そのプログラムコードがコンピュータなどのマシンによりロードされ、実行された場合に、マシンは本発明を実施するための装置となる。プログラム式コンピュータ上でのプログラムコード実行の場合には、コンピュータは一般に、プロセッサ、プロセッサで読み取り可能な記憶媒体（揮発性および不揮発性メモリ、そして／または、記憶要素を含む）、少なくとも１つの入力デバイス、および少なくとも１つの出力デバイス、を含むであろう。１つまたは複数のプログラムが、コンピュータシステムと通信するために、望ましくは高水準の手続き型、あるいはオブジェクト指向プログラミング言語にて、実施される。しかしながら、必要に応じて、プログラムがアセンブラ、あるいは機械語で実施されることも可能である。いずれの場合においても、言語は、コンパイルされ、あるいは解釈された（interpreted）言語となり、ハードウェアの実行と結合される場合がある。
【００４８】
本発明の方法および装置はまた、電気配線やケーブルを経由し、光ファイバを通し、あるいは他のいずれかの伝送の形によるなど、ある伝送媒体上を伝えられるプログラムコードの形にて具現化される場合もあり、プログラムコードは、ＥＰＲＯＭ、ゲートアレイ、プログラム可能論理デバイス（Programmable Logic Device：ＰＬＤ）、クライアントコンピュータ、ビデオ記録器、あるいは同様なものなどの、マシンにより受信され、ロードされ、実行されると、そのマシンが本発明を実施するための装置となる。汎用プロセッサ上で実施される場合には、プログラムコードはプロセッサと結合し、本発明の関連付けられた機能を実行するべく動作する固有な装置を提供する。
【００４９】
本発明は様々な図面について好適な実施形態との関連で記述してきたが、本発明と同一な機能を逸脱することなく遂行させるために、他の同様な実施形態を使用する場合がある。また、記述した実施形態に変更および追加をなす場合があることを理解されたい。たとえば、本発明の例示的実施形態はパーソナルコンピュータの機能を有するデジタルデバイスでの表現として記述してあるが、本発明はそのようなデジタルデバイスに限定されず、本明細書に記述した事柄は、ゲームコンソール、ハンドヘルドコンピュータ、ポータブルコンピュータなどの、有線かワイヤレスかに関係なく、さまざまな既存の、あるいは新たに生起する、計算デバイスあるいは環境に適用される場合があり、かつ、通信ネットワークを介して接続され、そしてネットワークを通して会話する、多数のそのような計算デバイスに適用される場合があることを当業者は認めるであろう。さらに、携帯デバイスのオペレーティングシステムおよび他のアプリケーション特有なハードウェア／ソフトウェア・インターフェース・システムを含む、さまざまなコンピュータプラットフォームが、特に多くのネットワーキングされたワイヤレスデバイスが増加し続けて行くものとして、ここで考慮されていることが、強調されるべきである。したがって、本発明はいずれの一つの実施形態にも限定されるべきものではなく、請求範囲による幅および範囲において解釈されるべきである。
【図面の簡単な説明】
【００５０】
【図１】本発明を実施するためのコンピュータシステムを示すブロック図である。
【図２】本発明を実施するための伝統的ネットワーク構成を示すブロック図である。
【図３】有線デバイスおよびワイヤレスデバイスの両デバイスを含むネットワーク構成における、本発明のいくつかの実施形態に対する同期化体系を示すブロック図である。
【符号の説明】
【００５１】
２０  コンピュータ
２１  処理ユニット
２２  システムメモリ
２３  システムバス
２７  ハードディスクドライブ
２８  フロッピー（登録商標）ディスクドライブ
２９  着脱可能ストレージ
３０  光ドライブ
３２  ハードディスクドライブインターフェース
３３  磁気ディスクドライブインターフェース
３４  光ドライブインターフェース
３５  オペレーティングシステム
３６  アプリケーションプログラム
３６’  アプリケーション
３７  他のプログラム
３８  プログラムデータ
４０  キーボード
４２  マウス
４６  シリアルポートインターフェース
４７  モニタ
４９  リモートコンピュータ
５０  フロッピー（登録商標）ドライブ
５３  ネットワークインターフェース
５４  モデム
５５  ホストアダプタ
５６  ＳＣＳＩバス
６２  ストレージデバイス
２０ａ  クライアントコンピュータ
２０ｂ  サーバコンピュータ
２０ｃ  データソースのコンピュータ
７０  データ
７２ａ  データ
７２ｂ  データ
８０  通信ネットワーク
【図１】
2005332388.tif 000004
【図２】
2005332388.tif 000005
【図３】
2005332388.tif 000006
【外国語明細書】
2005332388000001.pdf