(57)【特許請求の範囲】
【請求項１】
クライアント・デバイス及び作業スペース・データベースに接続されているコンピュータ・ネットワークとともに使用するためのコンピュータ・ベースの方法であって、
前記クライアント・デバイスがダウンローダブルの識別を前記コンピュータ・ネットワークから受信するステップと、
前記クライアント・デバイスがダウンローダブルをダウンロードするステップと、
前記クライアント・デバイスが前記ダウンローダブルの実行を開始するステップと、
前記クライアント・デバイスが同期化すべき作業スペース・データを指定し、かつ同期化モードを指定する情報を受信するステップであって、指定された作業スペース・データは、前記作業スペース・データベースに格納されている、前記受信するステップと、
前記クライアント・デバイスが前記ダウンローダブルを使用して、前記クライアント・デバイスに保持された個人情報マネージャ（ＰＩＭ）に、前記指定された作業スペース・データを検索するように指示するステップと、
前記クライアント・デバイスが前記ダウンローダブルを使用して、検索により得られた前記同期化すべき作業スペース・データおよび指定された前記同期化モードに基づいて、第１更新データを決定するステップと、そして
前記クライアント・デバイスが前記ダウンローダブルを使用して、前記第１更新データを前記コンピュータ・ネットワークに接続されたサーバ・データベースに供給するステップと
を含むコンピュータ・ベースの方法。
【請求項２】
前記クライアント・デバイスは、前記作業スペース・データベースを含む、請求項１に記載の方法。
【請求項３】
前記クライアント・デバイスは、ブラウザを保持し、方法はダウンローダブルの前記識別を前記ブラウザを介して受信することを含む請求項１に記載の方法。
【請求項４】
前記同期化モードが、一方向置換同期化、一方向マージ同期化、および両方向同期化のうちの１つである請求項１に記載の方法。
【請求項５】
前記クライアント・デバイスが、前記サーバ・データベースと通信を行って、検索により得られた前記作業スペース・データと関連する前記サーバ・データベース内容を認識するステップと、そして
前記サーバ・データベース内容と検索により得られた前記作業スペース・データとを比較するステップと
をさらに含む請求項１に記載の方法。
【請求項６】
第１更新データを決定するステップが、前記比較に基づく請求項５に記載の方法。
【請求項７】
前記クライアント・デバイスが第２更新データを前記比較に基づいて決定するステップであって、前記第２更新データは、前記作業スペース・データベースに格納された作業スペース・データを更新するためのものである、前記決定するステップと、そして
検索により得られた前記作業スペース・データを前記第２更新データによって変更するように、前記ＰＩＭに指示するステップと
をさらに含む請求項６に記載の方法。
【請求項８】
ダウンローダブルが前記サーバ・データベースからダウンロードされる、請求項１に記載の方法。
【請求項９】
前記作業スペース・データがEメール作業スペース・データを含む、請求項１−８のいずれかに記載の方法。
【請求項１０】
前記受信情報がEメール・サービスを識別する、請求項９に記載の方法。
【請求項１１】
同期化モードを選択し、そして前記同期化すべき作業スペース・データを含むデータベースを指定する、ことをユーザに可能にするためのユーザ・インタフェースを前記ダウンローダブルが含む、請求項１−１０のいずれかに記載の方法。
【請求項１２】
前記ダウンローダブルが前記更新データを計算するための同期化モジュールを含む、請求項１−１１に記載の方法。
【請求項１３】
前記ダウンローダブルがＪａｖａアプレットを含む、請求項１−１２に記載の方法。
【請求項１４】
前記ダウンローダブルがＡｃｔｉｖｅＸコントロールを含む、請求項１−１３に記載の方法。
【請求項１５】
前記ダウンローダブルがプラグインを含む、請求項１−１４に記載の方法。
【請求項１６】
請求項１−１５のいずれかに記載のステップをコンピュータに実行させるためのプログラム・コードを記憶しているコンピュータ可読記憶媒体。
【請求項１７】
クライアント・デバイスであって、
ダウンローダブルの識別をコンピュータ・ネットワークから受信する手段と、
ダウンローダブルを前記クライアント・デバイスにダウンロードする手段と、
前記ダウンローダブルの実行を開始する手段と、
作業スペース・データを指定し、かつ同期化モードを指定する情報を受信する手段であって、指定された作業スペース・データは、前記コンピュータ・ネットワークに接続された作業スペース・データベースに格納されている、前記情報を受信する手段と、
前記ダウンローダブルを使用して、前記クライアント・デバイスに保持された個人情報マネージャ（ＰＩＭ）に、指定された前記作業スペース・データを検索するように指示する手段と、
前記ダウンローダブルを使用して、第１更新データを検索により得られた前記作業スペース・データおよび前記同期化モードに基づいて決定する手段と、そして
前記ダウンローダブルを使用して、前記第１更新データを前記コンピュータ・ネットワークに接続されたサーバ・データベースに供給する手段と
を含むクライアント・デバイス。
【請求項１８】
前記クライアント・デバイスは、前記作業スペース・データベースを含む、請求項１７に記載のクライアント・デバイス。
【請求項１９】
前記同期化モードが一方向置換同期化、一方向マージ同期化、および両方向同期化のうちの１つである、請求項１７に記載のクライアント・デバイス。
【請求項２０】
前記ダウンローダブルが前記第１更新データを計算するための同期化モジュールを含む、請求項１８または１９に記載のクライアント・デバイス。
【請求項２１】
Ｅメール作業スペース・データに対応するサーバ・データベース・コンテンツを学習し、前記サーバ・データベース・コンテンツと前記同期化モジュールとを比較するように、前記同期化モジュールが配置されている、請求項２０に記載のクライアント・デバイス。
【請求項２２】
前記比較に基づいて前記第１更新データを決定するように前記同期化モジュールが配置されている、請求項２０に記載のクライアント・デバイス。
【請求項２３】
前記比較に基づいて前記作業スペース・データベースに格納された作業スペース・データを更新するためのものである第２更新データを決定し、前記第２更新データにより検索により得られた前記作業スペース・データを修正するように前記ＰＩＭに命令するように、前記同期化モジュールが配置されている、請求項２０に記載のクライアント・デバイス。
【請求項２４】
前記ダウンローダブルが前記サーバ・データベースからダウンロードされる、請求項１７−２３に記載のクライアント・デバイス。
【請求項２５】
前記作業スペース・データがユーザ・データ・ストアに含まれる、請求項１７−２４のいずれかに記載のクライアント・デバイス。
【請求項２６】
前記作業スペース・データがEメール作業スペース・データを含む、請求項１７−２５のいずれかに記載のクライアント・デバイス。
【請求項２７】
前記情報がＥメール・サービスの識別を含む、請求項１７−２６のいずれかに記載のクライアント・デバイス。
【請求項２８】
同期化モードを選択し、前記同期化すべき作業スペース・データを含むデータベースを指定する、ことをユーザに可能にするためのユーザ・インタフェースを前記ダウンローダブルが含む、請求項１７−２７のいずれかに記載のクライアント・デバイス。
【請求項２９】
前記ダウンローダブルが前記更新データを計算するための同期化モジュールを含む、請求項１７−２８に記載のクライアント・デバイス。
【請求項３０】
前記ダウンローダブルがＪａｖａアプレットを含む、請求項１７−２９に記載のクライアント・デバイス。
【請求項３１】
前記ダウンローダブルがＡｃｔｉｖｅＸコントロールを含む、請求項１７−３０に記載のクライアント・デバイス。
【請求項３２】
前記ダウンローダブルがプラグインを含む、請求項１７−３１に記載のクライアント・デバイス。
【請求項３３】
クライアント・コンピューティング・デバイスに実行させるプログラム・コードを記憶するコンピュータ可読記憶媒体であって、
ダウンローダブルの識別をコンピュータ・ネットワークから受信するステップと、
ダウンローダブルをダウンロードするステップと、
前記ダウンローダブルの実行を開始するステップと、
同期化すべき作業スペース・データを指定し、かつ同期化モードを指定する情報を受信するステップであって、指定された作業スペース・データは、作業スペース・データベースに格納されている、前記情報を受信するステップと、
前記ダウンローダブルを使用して、前記クライアント・コンピューティング・デバイスに保持された個人情報マネージャ（ＰＩＭ）に、指定された前記作業スペース・データを検索するように指示するステップと、
前記ダウンローダブルを使用して、検索により得られた前記作業スペース・データおよび前記同期化モードに基づいて、第１更新データを決定するステップと、そして
前記ダウンローダブルを使用して、前記第１更新データを前記コンピュータ・ネットワークに接続されたサーバ・データベースに供給するステップと
をコンピュータに実行させるプログラム・コードを記憶するコンピュータ可読記憶媒体。
【発明の詳細な説明】
【０００１】
（発明の背景）
（１．発明の分野）
本発明は、一般にコンピュータ・ネットワークに関し、より詳細には、コンピュータ・ネットワークにおいて遠隔データベースを更新するためのシステムおよび方法を提供するものである。
【０００２】
（２．背景技術の説明）
データのアクセス可能性および整合性は、コンピュータ・ユーザにとって重要な関心事である。例えば、ローミング・ユーザ、すなわち遠隔ロケーションに移動するユーザが、カレンダまたはアドレス情報などのデータを検討または操作する必要があるとき、ローミング・ユーザは、そのデータを遠隔ロケーションに運ぶか、または遠隔方式でワークステーションにアクセスしなければならない。データベースの真正コピーを保持することは、わずらわしいプロセスである。したがって、システム設計者は、遠隔端末をコンピュータ・ネットワークを介して、データを記憶するワークステーションに接続するための一連の技法を開発している。
【０００３】
ダウンロードしたデータの可読性を保証するため、ユーザは、ダウンロードしたデータを提示し、その操作を可能にするのに必要なすべてのアプリケーションを含んでいるラップトップ・コンピュータを携行するか、または必要なアプリケーション・プログラムを含んでいる、ネットワーク接続されたコンピュータを見つけなければならない。さらに、ユーザは、自分がアクセスしたいと望む各データベース・サイトごとに、すべての識別情報および認証情報のレコードを保持しなければならない。
【０００４】
したがって、ローミング・ユーザが、ネットワークを介して接続された任意のサイトから容易に、遠隔データベース上に記憶されている個人情報にアクセスできるようにするシステムおよび方法が必要とされている。また、そうしたシステムを使い易くして、遠隔データベースの分布を円滑にするために、ブラウザ技術およびインターネット通信インフラストラクチャなどの既存のインフラストラクチャを有利に使用しながら、ユーザのローカル・データ・ストアから遠隔データ・ストアに作業スペース・データ（ＰＩＭ内にあるような）を容易に移動するためのシステムおよび方法が必要とされている。
【０００５】
（発明の概要）
本発明は、コンピュータ・ネットワークにおいて遠隔データベースを更新するシステムおよび方法を提供する。コンピュータ・ネットワークは、ローカル・クライアントおよび遠隔クライアントに結合されたグローバル・サーバを含む。ローカル・クライアントは、グローバル・サーバ上のウェブ・サーバと通信リンクを確立するためにブラウザを使用する。グローバル・サーバは、ローカル・クライアント上の個人情報マネージャ（ＰＩＭ）によって維持される作業スペース・データ（ファイル、電子メール、カレンダ情報など）の独立に変更可能なコピーを記憶するためのメモリを有し、これらのＰＩＭとインターフェースを取るためのＰＩＭダウンローダブル（Ｄｏｗｎｌｏａｄａｂｌｅ）を有する。
【０００６】
ローカル・クライアントが、特定のＰＩＭに対する同期化機能を要求する。グローバル・サーバが、特定のＰＩＭに対応するＰＩＭダウンローダブルをローカル・クライアントに送信して、このクライアントが、ＰＩＭダウンローダブルをインストールして、その実行を開始する。したがって、ユーザ・インターフェースが、同期化すべき作業スペース・データを指定する情報、ならびに一方向置換同期化、一方向マージ同期化、両方向同期化などの同期化モードを選択する情報を受信する。ＰＩＭインターフェースは、同期化すべき作業スペース・データを検索するように特定のＰＩＭに指示する。同期化モジュールが、選択された同期化モードに基づき、また場合によっては、グローバル・サーバ上の対応する作業スペース・データ・コピーとの実際の比較に基づいて、更新データを決定する。通信エンジンが、第１更新データをグローバル・サーバに供給して、これが、サーバの作業スペース・データを更新する。
【０００７】
請求するシステムは、同期化すべき作業スペース・データを指定する情報を受信するため、かつ同期化モードを選択する情報を受信するためのユーザ・インターフェース、同期化すべき作業スペース・データを検索するように個人情報マネージャ（ＰＩＭ）に指示するためのＰＩＭインターフェース、ユーザ・インターフェースに結合された同期化モジュール、ならびに同期化すべき作業スペース・データおよび選択された同期化モードに基づいて、第１更新データを決定するためのＰＩＭインターフェース、ならびに第１更新データをサーバ・データベースに供給するための同期化モジュールに結合された通信エンジンを含む。
【０００８】
もう１つの請求のシステムは、作業スペース・データおよびＰＩＭダウンローダブルを記憶するメモリ、クライアントと通信リンクを確立するためのウェブ・サーバ、同期化機能に対するクライアントからの要求を受信するため、かつ同期化機能を含むＰＩＭダウンローダブルをインストールのためにクライアントに対して転送する、メモリに結合された個人情報マネージャ（ＰＩＭ）ダウンローダブル検索エンジン、ならびにダウンローダブルから更新データを受信するため、かつ受信した更新データに基づいて作業スペース・データを更新するための、メモリに結合されたユーザ・データ・ストア・マネージャ。
【０００９】
請求する方法は、同期化すべき作業スペース・データを指定する情報を受信するステップと、同期化モードを選択する情報を受信するステップと、同期化すべき作業スペース・データを検索するよう、個人情報マネージャ（ＰＩＭ）に指示するステップと、同期化すべき作業スペース・データおよび選択された同期化モードに基づいて第１更新データを決定するステップと、第１更新データをサーバ・データベースに供給するステップとを含む。
【００１０】
もう１つの請求する方法は、作業スペース・データおよびダウンローダブルを記憶するステップと、クライアントとの通信リンクを確立するステップと、同期化機能に対する要求をクライアントから受信するステップと、同期化機能を含むダウンローダブルをインストールのためにクライアントに転送するステップと、ダウンローダブルから更新データを受信するステップと、受信した更新データに基づいて作業スペース・データを更新するステップとを含む。
【００１１】
本発明のシステムおよび方法は、有利には、特定のＰＩＭに対応するデータの同期化、またはネットワークを介して、グローバル・サーバに対するその一方向インポートを可能にすることができる。このシステムおよび方法は、同期化またはインポートのモードを選択できる。このシステムおよび方法は、本発明を実行するために、ローカル・クライアントと遠隔クライアントの両方を自動構成することができる。つまり、ＰＩＭダウンローダブルは、グローバル・サーバからダウンロードされるので、ローカル・クライアントは、従来のブラウザによって提供されるような通信エンジン、ならびに同期化機能またはインポート機能を得るためのＰＩＭを有するだけでよい。
【００１２】
（好ましい実施形態の詳細な説明）
本発明は、ネットワーク・データベースを更新して、現行のＰＩＭデータを記憶するためのシステムおよび方法を提供し、このデータは、ネットワークに結合され、ウェブ・ブラウザなどの通信エンジンを実行する任意の遠隔サイトからアクセスすることができる。
【００１３】
図１は、本発明によるコンピュータ・ネットワーク１００を図示するブロック図である。コンピュータ・ネットワーク１００は、コンピュータ・ネットワーク、例えば、一般にインターネット１１０と呼ばれる広域ネットワーク（ＷＡＮ）を介して、一般にイントラネット１１５と呼ばれるローカル・エリア・ネットワーク（ＬＡＮ）に結合されたグローバル・サーバ１０５を含む。ローカル・クライアント１２０およびカレンダ付きパーソナル・コンピュータ（ＰＣ）１２５がイントラネット１１５に結合されている。イントラネット１１５、ローカル・クライアント１２０、およびカレンダ付きＰＣ１２５は、ファイアウォール１３０によって保護され得る。グローバル・サーバ１０５はグローバル・ファイアウォール（図示せず）によって保護されるであろう。コンピュータ・ネットワーク１００は、さらに、インターネット１１０に結合された遠隔クライアント１３５を含む。
【００１４】
グローバル・サーバ１０５は、ウェブ・ブラウザとの通信およびそれからの要求に応答するためのウェブ・サーバ１４０を含むコンピュータである。グローバル・サーバ１０５は、さらに、ユーザの作業スペース・データ（ファイル、カレンダ情報、電子メール、ブックマークなど）を記憶するためのユーザ・データ・ストア１５０を含む。図８は、ユーザ・データ・ストア１５０の詳細を図示するブロック図である。ユーザ・データ・ストア１５０は、ユーザ＃１に対する第１ストア８０５、ユーザ＃２に対する第２ストア８４５などを含んでいるであろう。さらに、各ストア８０５、８４５は、各プログラムごとに別個のフォルダーを含んでもよい。例えば、第１ストアは、カレンダ・データに対する第１フォルダ８１５、アドレス・データに対する第２フォルダ８２０、他のＰＩＭデータに対する第３フォルダ８２５などを含む。さらには、各フォルダ８１５、８２０、８２５は、ユーザによって指定される別々の作業スペース・データベースをも含むであろう。例えば、カレンダ・データ・フォルダ８１５は、個人カレンダに対する単一カレンダ・データベース８３０を含む。アドレス・データ・フォルダ８２０は、３つの別々のデータベース８３５（ビジネス・アドレスに対して１つ、個人アドレスに対して１つ、各種アドレスに対して１つ）を含んでいる。また、他のＰＩＭデータ・フォルダ８２５は、３つの別々のデータベース８４０を含み得る。同期化の目的で、個別レコードが、１つまたは複数のＰＩＭ作業スペース・データベースから選択され、単一データベースとして認識され得ることが理解されよう。
【００１５】
グローバル・サーバ１０５は、また、ＰＩＭダウンローダブル１４５も含む。ダウンローダブルは、実行可能または解釈可能なアプリケーション・コードであり、これが、ソース・コンピュータからダウンロードされて、宛先コンピュータ上で実行される。本明細書の場合、「実行可能」という用語は、「解釈可能」を含む。ダウンローダブルは、通常、インターネット・ブラウザまたはウェブ・クライアントなどによる進行中の処理によって要求される。ダウンローダブルの例は、Ｓｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓ，Ｉｎｃ．によって開発されたＪａｖａTMディストリビューティング環境での使用のために設計されたＪａｖａTMアプレット、やはりＳｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓ，Ｉｎｃ．によって開発されたＪａｖａＳｃｒｉｐｔTMスクリプト、Ｍｉｃｒｏｓｏｆｔ社によって開発されたＡｃｔｉｖｅＸTMディストリビューティング環境での使用のために設計されたＡｃｔｉｖｅＸTMコントロール、やはりＭｉｃｒｏｓｏｆｔ社によって開発されたＶｉｓｕａｌ  Ｂａｓｉｃを含む。ダウンローダブルは、また、プラグインを含むことも可能であり、これが、既存のアプリケーション・プログラムの機能性を高める。各ダウンローダブルは、１つまたは複数のアプレット、１つまたは複数のＡｃｔｉｖｅＸコントロール、１つまたは複数のプラグインなど、またはその組み合わせを含み得ることが理解されよう。さらに、ダウンローダブルは、ログオフ時に削除する必要はないことが理解されよう。各ＰＩＭダウンローダブル１４５は、対応するＰＩＭと通信を行うことができ、グローバル・サーバ１０５と通信を行って、ユーザ・データ・ストア１５０を更新することができる。ＰＩＭダウンローダブル１４５の詳細を図３に図示している。
【００１６】
グローバル・サーバ１０５は、さらに、更新エンジン１９５を含み、これが、適切なＰＩＭダウンローダブルを検索して、それをローカル・クライアント１２０にダウンロードする。更新エンジン１９５は、さらに、ユーザ・データ・ストア１５０内に含まれる作業スペース・データを検索して、それを更新する要求に応答する。更新エンジンは、図３Ｂとの関連でより詳細に記載している。
【００１７】
ローカル・クライアント１２０は、ウェブ・サーバ１４０を介してグローバル・サーバ１０５と通信を行うためのブラウザ１７５を含むコンピュータである。ブラウザ１７５は、従来のウェブ・ブラウザを含み得ることが理解されよう。ローカル・クライアント１２０は、さらに、第１ＰＩＭ１５５および第１ＰＩＭデータ１６０を含む。第１ＰＩＭ１５５は、カレンダ・データを管理するためのカレンダ・プログラム、アドレスを管理するための住所録プログラム、電子メールを制御するための電子メール・プログラム、ブックマークを制御するためのブラウザなどを含み得る。第１ＰＩＭ１５５の例は、Ｓｙｍａｎｔｅｃ社のＡＣＴ！、Ｌｏｔｕｓ  Ｄｅｖｅｌｏｐｍｅｎｔ社のＬｏｔｕｓ  Ｏｒｇａｎａｚｅｒ（Ｒ）独立型オーガナイザ、ＱｕｉｃｋｅｎTM、ＰｅｏｐｌｅＳｏｆｔTM、販売員自動化情報プログラム、汎用ファイル・マネージャなどを含む。ローカル・クライアントは、さらに、ローカル・クライアント１２０に接続された別のコンピュータ上に配置された第２ＰＩＭサーバと通信を行うための、第２ＰＩＭクライアント１６５、ならびに第２ＰＩＭデータ１７０を含む。
【００１８】
第２ＰＩＭ  ＰＣ１２５は、第２ＰＩＭクライアント１６５によって行われる要求に応答する第２ＰＩＭサーバ１８０を含んでいるコンピュータである。第２ＰＩＭサーバおよびそのインターフェースは、共同で、カレンダ・サービス、アドレス・サービス、電子サービスなどを提供することができる。第２ＰＩＭ  ＰＣ１２５は、ローカル・クライアント１２０上に記憶された第２ＰＩＭデータ１７０に固有の第２ＰＩＭデータ１８５を含む。当技術分野の専門家には、第２ＰＩＭ１８０および第２ＰＩＭクライアント１６５が、ローカル・クライアント１２０上のみに、第２ＰＩＭ  ＰＣ１２５上のみに、ローカル・クライアント１２０と第２ＰＩＭ  ＰＣ１２５の両方の上に共同で、あるいはローカル・クライアント１２０と第２ＰＩＭ  ＰＣ１２５の両方の上に重複して、第２ＰＩＭデータを記憶できることが理解されよう。例えば、電子メール・サービスに関して、第２ＰＩＭ  ＰＣ１２５は、受信した電子メールのコピーを記憶するが、電子メール・サーバ・インターフェースによる要求時に、そのコピーをローカル・クライアント１２０にダウンロードする。第２ＰＩＭクライアント１６５およびサーバ１８０の例は、Ｍｉｃｒｏｓｏｆｔ社のＯｕｔｌｏｏｋTMおよびＥｘｃｈａｎｇｅTM、Ｌｏｔｕｓ  Ｄｅｖｅｌｏｐｍｅｎｔ社のＬｏｔｕｓ  Ｏｒｇａｎｉｚｅｒ（Ｒ）およびＬｏｔｕｓ  ＮｏｔｅｓTM、Ｎｏｖｅｌｌ，Ｉｎｃ．によるＧｒｏｕｐＷｉｓｅTMなどである。
【００１９】
第１ＰＩＭ１５５は第１ＰＩＭデータ１６０のロケーションを知っている。第２ＰＩＭクライアント１６５はローカル・クライアント１２０上の第２ＰＩＭデータ１７０のロケーションを知っている。第２ＰＩＭサーバ１８０は、第２ＰＩＭ  ＰＣ１２５上に配置された第２ＰＩＭデータ１８５のロケーションを知っている。したがって、各コンポーネントは、その対応するデータを検索することができる。
【００２０】
遠隔クライアント１３５は、ブラウザ１９０を含み、グローバル・サーバ１０５のウェブ・サーバ１４０に接続を行うことができ、ユーザ・データ・ストア１５０内に記憶された作業スペース・データにアクセスし、それを検討し、かつ場合によっては、操作することができる。
【００２１】
図２は、グローバル・サーバ１０５、ローカル・クライアント１２０、第２ＰＩＭ  ＰＣ１２５、および遠隔クライアント１３５のそれぞれの詳細を示す、コンピュータ・システム２００を図示するブロック図である。コンピュータ・システム２００は、通信チャネル２２０に結合された、Ｉｎｔｅｌ  Ｐｅｎｔｉｕｍ（Ｒ）マイクロプロセッサまたはＭｏｔｏｒｏｌａ  Ｐｏｗｅｒ  ＰＣ（Ｒ）マイクロプロセッサなどのプロセッサ２０５を含む。コンピュータ・システム２００は、さらに、キーボードやマウスなどの入力デバイス２１０、陰極線管（ＣＲＴ）ディスプレイなどの出力デバイス２１５、通信デバイス２２５、磁気ディスクなどのデータ・ストーレッジ２３０、ランダム・アクセス・メモリ（ＲＡＭ）などの作業メモリ２３５を含み、このそれぞれが、通信チャネル２２０に結合されている。通信チャネル２２０は、インターネット１１０またはイントラネット１１５などのネットワークに結合することができる。当技術分野の専門家には、データ・ストーレッジ２３０および作業メモリ２３５は、別個のユニットとして図示されているが、データ・ストーレッジ２３０および作業メモリは、統合された、または部分的に統合されたユニットであり得ることが理解されよう。
【００２２】
オペレーティング・システム２４０は、プロセッサ２０５による処理を制御し、通常、データ・ストーレッジ２３０内に記憶されていて、実行のために作業メモリ２３５（図示する）内にロードされる。ブラウザ、サーバ、ダウンローダブル、データなどの他のプログラムもまた、データ・ストーレッジ２３０内に記憶され、プロセッサ２０５による実行のために作業メモリ２３５（図示する）内にロードされるであろう。
【００２３】
当技術分野の専門家は、コンピュータ・システム２００が、ネットワーク接続、追加メモリ、追加プロセッサ、ＬＡＮ、ならびにハードウェア・チャネル、インターネット、またはイントラネットを介して情報を伝送するための入力／出力ラインなども含み得ることを理解するであろう。当技術分野の専門家は、また、プログラムおよびデータが、代替方式でシステムによって受信され、その中に記憶され得ることを理解するであろう。例えば、フロッピー・ディスク・ドライブ、ハードディスク・ドライブ、ＣＤ−ＲＯＭ読取装置、光磁気読取装置、ＣＰＵ（ＲＡＭのための）などのコンピュータ可読記憶媒体（ＣＲＳＭ）読取装置２４５を、磁気ディスク、ハードディスク、光磁気ディスク、ＲＡＭなどのコンピュータ可読記憶媒体（ＣＲＳＭ）２５０を読み取るために、通信チャネル２２０に結合することができる。したがって、システム２００は、プログラムおよびデータを、ＣＲＳＭ読取装置２４０を介して受信することが可能である。
【００２４】
図３Ａは、ＰＩＭダウンローダブル１４５の詳細を示すブロック図である。各ＰＩＭダウンローダブル１４５は、ユーザ・インターフェース３０５、第１ＰＩＭアプリケーション・プログラム・インターフェース（ＡＰＩ）３１０、第２ＰＩＭクライアント・インターフェース３１５、通信エンジン３２０、および同期化モジュール３２５を含む。
【００２５】
ユーザ・インターフェース３０５は、ユーザが、同期化すべき作業スペース・データを指定できるようにし、ユーザが、同期化モード（一方向置換、一方向マージ、または両方向同期化）を選択できるようにし、かつユーザが、同期化を開始できるようにする。同期化の異なるモードの例は、図５、図６、図７にそれぞれ図示している。同期化すべき作業スペース・データを指定することは、図８に示すとおり、識別されたユーザ（例えば、ユーザ＃１）に対応するユーザ・データ・ストア（例えば、ユーザ＃１ストア８０５）内で別個のデータベース（例えば、データベース８３０）を、ウェブ・サーバ１４０に維持させる。例えば、ユーザは、同期化のために、ＯｕｔｌｏｏｋTM住所録によって維持されるユーザのビジネス・アドレス・データを選択することができる。同期化モジュール３２５が、同期化のためにこのデータベースを認識することになる。ウェブ・サーバ１４０が、対応するデータベースが既に存在するかどうかを判別する。存在しない場合には、ウェブ・サーバ１４０は、対応する空のデータベースを作成して、この空のデータベースをユーザ・データ・ストア１５０に追加する。
【００２６】
第１ＰＩＭインターフェース３１０は、ＰＩＭダウンローダブル１４５が、第１ＰＩＭ１５５と通信できるようにするためのプログラム・コードを含む。さらに、第１ＰＩＭインターフェース３１０は、同期化のために第１ＰＩＭデータ１６０の適切なデータベースを検索するように、第１ＰＩＭ１５５に要求する。第１ＰＩＭ１５５は、これに応答して、適切なデータベースを検索して、それらをＰＩＭダウンローダブル１４５に渡す。別法では、第１ＰＩＭ１５５が、ＰＩＭダウンローダブル１４５に適切なデータベースのロケーションを通知する。
【００２７】
第２ＰＩＭクライアント・インターフェース３１５は、ＰＩＭダウンローダブル１４５が、第２ＰＩＭクライアント１６５と通信できるようにするためのプログラム・コードを含む。さらに、第２ＰＩＭクライアント・インターフェース３１５は、第２ＰＩＭデータ１７０および第２ＰＩＭデータ１８５の適切なデータベースを検索するように、第２ＰＩＭクライアント１６５に要求する。第２ＰＩＭクライアント１６５は、これに応答して、第２ＰＩＭデータ１７０から適切な作業スペース・データを検索し、また第２ＰＩＭデータ１８５から適切な作業スペース・データを検索するように、第２ＰＩＭサーバ１８０に要求する。第２ＰＩＭクライアント１６５は、第２ＰＩＭデータ１７０および第２ＰＩＭデータ１８５からの作業スペース・データをＰＩＭダウンローダブル１４５に渡す。別法では、第２ＰＩＭクライアント１６５が、第２ＰＩＭデータ１７０および第２ＰＩＭデータ１８５上のデータベースのロケーションをＰＩＭダウンローダブル１４５に通知することができる。別の代替方式では、第２ＰＩＭクライアント１６５が、第２ＰＩＭ  ＰＣ１２５上の第２ＰＩＭデータ１８５から適切な作業スペース・データを検索して、それらをローカル方式で、第２ＰＩＭデータ１７０とともに記憶することができる。第２ＰＩＭクライアント１６５は、次に、適切なデータベースのロケーションをＰＩＭダウンローダブル１４５に通知することができる。ＰＩＭダウンローダブル１４５が作業スペース・データにアクセスできるようにする他の方法も可能であることが、理解されよう。第２ＰＩＭクライアント・インターフェース３１５は、ユーザ・インターフェース３０５の第２インスタンス、通信エンジン３２０、および同期化モジュール３２５を有する別個のＰＩＭダウンローダブル１４５内に含まれ得ることが理解されよう。
【００２８】
通信エンジン３２０は、ＰＩＭダウンローダブル１４５が、ウェブ・サーバ１４０と、オプションとしてブラウザ１７５を介して、通信できるようにするためのプログラム・コードを含む。
【００２９】
要求があると、同期化モジュール３２５は、第１ＰＩＭインターフェース３１０または第２ＰＩＭクライアント・インターフェース３１５に、同期化すべき作業スペース・データを検索するサービスを実行するように指示する。同期化モジュール３２５は、また、グローバル・サーバ１０５上のユーザ・データ・ストア１５０から作業スペース・データを検索するように、ウェブ・サーバ１４０に要求し、インターネットを介して、この情報をローカル・クライアント１２０に渡す。別法では、グローバル・サーバ１０５上に記憶されたデータベースの前の状況が既知である場合には、同期化モジュール３２５は、それ以来、行われた変更のみを要求することができる。いずれにしても、同期化モジュール３２５は、グローバル・サーバ１０５上のユーザ・データ・ストア２５０内に記憶された対応するデータベースの内容を知るだけでよい。同期化モジュール３２５は、ローカル・クライアント１２０データベース内に含まれるデータを、対応するグローバル・サーバ１０５データベース内に含まれるデータと比較して、それに応じて、同期化応答を実行する。同期化の３つのモード、すなわち、一方向マージ同期化、一方向置換同期化、および両方向同期化を下記に、図５、６、７との関連で図示し、記載している。同期化モジュール３２５は、一方向置換オペレーションを実行するときには、グローバル・サーバ１０５上のユーザ・データ・ストア１５０内に記憶された対応するデータベース内に含まれる内容を知る必要がない（というのは、その内容は上書きされ、したがって、関係がないからである）ことが理解されよう。
【００３０】
図３Ｂは、更新エンジン１９５の詳細を図示するブロック図である。更新エンジンは、通信エンジン３５０、ＰＩＭダウンローダブル検索エンジン３５５、およびユーザ・データ・ストア・マネージャ３６０を含む。通信エンジン３５０は、ＰＩＭダウンローダブル１４５の通信エンジン３２０と通信を行う。ＰＩＭダウンローダブル検索エンジン３５５は、同期化機能に対する要求をローカル・クライアント１２０から受信する。各要求は、特定のＰＩＭを識別することができる、または別法では、同期化が望まれている住所録、カレンダ、または電子メールなどのサービスを識別することができる。サービスだけが識別される場合、ＰＩＭダウンローダブル検索エンジン３５５は、識別されたサービスに対応する以前の選択に基づいてＰＩＭを決定する。ユーザ・データ・ストア・マネージャ３６０は、ユーザ・データ・ストア１５０内に含まれる作業スペース・データの検索および操作を制御する。つまり、ユーザ・データ・ストア・マネージャ３６０は、同期すべきデータベースとして、ＰＩＭダウンローダブル１４５によって識別されたサーバ・データベース用の作業スペース・データを検索する。ユーザ・データ・ストア・マネージャ３６０は、ＰＩＭによって維持されるデータベースとの比較のために、対応する作業スペース・データをＰＩＭダウンローダブル１４５に転送する。ユーザ・データ・ストア・マネージャ３６０は、また、ＰＩＭダウンローダブル１４５から受信した更新データに基づいて、サーバ・データベースを変更する。
【００３１】
図４は、本発明による、ＰＩＭデータをグローバル・サーバ１０５と同期化する方法４００を図示する流れ図である。方法４００は、ステップ４０５で、ローカル・クライアント１２０が、ブラウザ１７５および一般のＵＲＬ技術を使用してグローバル・サーバ１０５に対する接続を要求することで開始する。ブラウザ１７５およびウェブ・サーバ１４０が、ステップ４１０で、通信リンクを確立する。ウェブ・サーバ１４０が、ステップ４１５で、ユーザ・インターフェースをセットアップするためにＨＴＭＬデータをブラウザ１７５に送信する。これは、ユーザ識別と認証の情報に対する要求を含む。ブラウザ１７５が、ステップ４２０で、ユーザ識別と認証の情報をウェブ・サーバ１４０に送信して、これが、ユーザを識別し、認証する。
【００３２】
ローカル・クライアント１２０が、ステップ４２５で、第１ＰＩＭ１５５に対してなど、特定のＰＩＭに対する同期化機能の要求をする。ＰＩＭダウンローダブル検索エンジン３５５が、ステップ４３０で、必要であれば、特定のＰＩＭに対応するＰＩＭダウンローダブル１４５をローカル・クライアント１２０に、ブラウザ１７５を介してダウンロードする。ダウンローダブル１４５が、ローカル・クライアント１２０上に既にダウンロードされている、または記憶されている場合には、ステップ４３０は、不必要である。ブラウザ１７５が、ステップ４３５で、ＰＩＭダウンローダブル１４５をインストールする。ダウンローダブル１４５をインストールすることは、ダウンローダブルを実行のために作業メモリに移動することを含む。ローカル・クライアント１２０が、ステップ４４０で、特定のＰＩＭデータベースの同期化を要求する。ローカル・クライアント１２０が、ステップ４４３で、他のモードも可能ではあるが、図５〜７との関連で詳細に記載した、同期化の３つの利用可能なモードのうちの１つを選択することによって、ＰＩＭダウンローダブル１４５を構成する。ブラウザ１７５が、ステップ４４５で、ＰＩＭダウンローダブル１４５の実行を開始する。データベースを維持しているＰＩＭに対応するＰＩＭインターフェース（例えば、第１ＰＩＭインターフェース３１０）が、ステップ４５０で、ＰＩＭ作業スペース・データ（例えば、ＰＩＭデータベース内に含まれるＰＩＭデータ１６０）を検索するように、ＰＩＭ（例えば、ＰＩＭ１５５）に要求する。ＰＩＭダウンローダブル１４５が、ステップ４５５で、ステップ４４０で先に選択された同期化モードに従って、グローバル・サーバ１０５との同期化を実行する。方法４００は、ここで終了する。
【００３３】
図５は、本明細書で「置換同期化モード」とよぶ、データを置き換える方法５００を図示する流れ図である。方法５００は、ステップ４５５を実行することに対する第１例を示している。方法５００は、同期化モジュール３２５が、ステップ５０５で、選択されたデータベースに対するＰＩＭデータをＰＩＭ、例えば、第１ＰＩＭ１５５から受信することで開始する。同期化モジュール３２５が、ステップ５１０で、通信モジュールを使用して、ＰＩＭデータをウェブ・サーバ１４０に転送する。ユーザ・データ・ストア・マネージャ３６０が、ステップ５１５で、ユーザ・データ・ストア１５０内の選択されたデータベースの作業スペース・データを、転送された作業スペース・データで置き換える。方法５００は、ここで終了する。
【００３４】
例えば、ＰＩＭによって維持されるデータベースが、厳密にレコードＡ、Ｂ、Ｄを含む場合には、グローバル・サーバ１０５上のデータベースの内容に関わらず、同期化モジュール３２５が、グローバル・サーバ１０５に要素Ａ、Ｂ、Ｄをアップロードすることになる。ユーザ・データ・ストア・マネージャ３６０が、グローバル・サーバ１０５上の作業スペース・データをアップロードされた作業スペース・データで置き換えることになる。したがって、グローバル・サーバ１０５によって維持されるデータベースとＰＩＭによって維持されるデータベースの両方が、厳密にＡ、Ｂ、Ｄを記憶することになる。
【００３５】
図６は、本明細書で「マージング同期化モード」と呼ぶ、データをマージする方法６００を図示する流れ図である。方法６００は、ステップ４５５を実行することに対する第２例を示す。方法６００は、同期化モジュール３２５が、ステップ６０５で、選択されたデータベースに対するＰＩＭデータをＰＩＭ、例えば、第１ＰＩＭ１５５から受信することで開始する。同期化モジュール３２５が、ステップ６１０で、グローバル・サーバ１０５上の対応するデータベースの内容を知る。グローバル・サーバ１０５上のデータベースの内容を知ることは、データベースの内容全体をダウンロードすること、またはソフトウェア・キャッシュ技術を使用して、最終ダウンロードからの差をダウンロードすることを含み得る。同期化モジュール３２５が、ステップ６１５で、データベース内容を比較して、ＰＩＭによって維持されるデータベースが、グローバル・サーバ１０５上で維持されるデータベースとの関係で、どのように変更された（更新された）かを示す更新データを決定する。例えば、レコードが、最終接続以来、削除、追加、または変更されることが可能であり、文書が、最終接続以来、変更されていることが可能であるなどである。同期化モジュール３２５が、ステップ６２０で、更新データをグローバル・サーバ１０５に送信するように通信モジュールに指示する。ユーザ・データ・ストア・マネージャ３６０が、ステップ６２５で、更新データをユーザ・データ・ストア１５０内のデータベースに追加（操作など）する。方法６００は、ここで終了する。
【００３６】
例えば、ＰＩＭによって維持されるデータベースが、レコードＡ、Ｂ、Ｄを含み、グローバル・サーバ１０５によって維持されるデータベースが、レコードＡ、Ｂ、Ｃを含むということがある。同期化モジュール３２５が、データベースの内容を比較して、グローバル・サーバ１０５によって維持されるデータベースが、レコードＤを含まないことを知る。したがって、同期化モジュール３２５は、レコードＤをグローバル・サーバ１０５に転送して、これがその記録を対応するデータベース内に記録する。したがって、グローバル・サーバ１０５によって維持されるデータベースは、レコードＡ、Ｂ、Ｃ、Ｄを含むことになり、ＰＩＭによって維持されるデータベースは、レコードＡ、Ｂ、Ｄを含むことになる。
【００３７】
別の例では、ＰＩＭによって維持されるデータベースが、レコードＡ、Ｂ、Ｃ、Ｄを含み、グローバル・サーバ上のデータベースが、レコードＡ、Ｂ、Ｃ、Ｄを含むこともある。その場合、レコードＣが削除されると、同期化モジュール３２５が、バージョン情報に基づいて、レコードＣが削除されたことを判別する。したがって、同期化モジュール３２５は、スーパーセットがグローバル・サーバ１０５上に維持されるように、何もしない可能性がある。したがって、グローバル・サーバ１０５上のデータベースは、レコードＡ、Ｂ、Ｃ、Ｄを含み、ＰＩＭによって維持されるデータベースは、レコードＡ、Ｂ、Ｄを含むことになる。別法では、同期化モジュール３２５が、レコードＣが削除されたことをウェブ・サーバ１４０に通知することができ、ユーザ・データ・ストア・マネージャ３６０が、レコードＣをグローバル・サーバ１０５上の対応するデータベースから削除することができる。この場合、グローバル・サーバ１０５によって維持されるデータベースおよびＰＩＭによって維持されるデータベースが、それぞれ、レコードＡ、Ｂ、Ｄを含むことになる。
【００３８】
図７は、本明細書で「両方向同期化モード」と呼ぶ、両方向同期化を実行する方法７００を図示する流れ図である。方法７００は、同期化モジュール３２５が、ステップ７０５で、選択されたデータベースに対するＰＩＭデータをＰＩＭ、例えば、第１ＰＩＭ１５５から受信することで開始する。同期化モジュール３２５が、ステップ７１０で、グローバル・サーバ１０５上の対応するデータベースの内容を知る。同期化モジュール３２５が、ステップ７１５で、データベースからの作業スペース・データを比較して、ＰＩＭによって維持されるデータベースが、グローバル・サーバ１０５上で維持されるデータベースとの関係で、どのように更新されたかを示す更新データ、ならびにグローバル・サーバ上のデータベースが、ＰＩＭによって維持されるデータベースとの関係で、どのように更新されたかを示す更新データを判別する。前述のとおり、ＰＩＭによって維持されるデータベース内の作業スペース・データは、削除、追加、または変更されている可能性がある。同期化モジュール３２５が、ステップ７２０で、更新データをグローバル・サーバ１０５に送信する。ユーザ・データ・ストア・マネージャ３６０が、ステップ７２５で、更新データをユーザ・データ・ストア１５０内のデータベースに追加する。ＰＩＭインターフェース、例えば、第１ＰＩＭインターフェース３１０が、ステップ７３０で、ＰＩＭ、例えば、第１ＰＩＭ１５５に、その更新情報を適切なデータベース内のＰＩＭデータ１６０に追加するように指示する。ＰＩＭが、ステップ７３５で、その更新データをデータベースに追加する。方法７００は、ここで終了する。
【００３９】
例えば、ＰＩＭによって維持されるデータベースが、レコードＡ、Ｂ、Ｄを含み、グローバル・サーバ１０５上のデータベースが、レコードＡ、Ｂ、Ｃを含むことがある。同期化モジュール３２５が、作業スペース・データを比較して、ＰＩＭによって維持されるデータベースがレコードＣを含まず、グローバル・サーバ１０５上のデータベースがレコードＤを含まないことを知る。したがって、同期化モジュール３２５は、レコードＤをグローバル・サーバ１０５に送信することになり、ＰＩＭインターフェースは、ＰＩＭに、レコードＣを適切なデータベース内に記憶するように指示することになる。
【００４０】
本発明の好ましい実施形態の前述の説明は、単に例としてのものであり、前述の実施形態および方法の他の変形および変更が、前述の教示に照らして、可能である。例えば、本発明をブラウザとの関連で説明してきたが、ウェブ・サーバと通信を行うための任意のウェブ・エンジンを代替で使用することが可能である。このシステムは、２つのＰＩＭのみ（また、したがって、２つのＰＩＭインターフェースのみ、２つのＰＩＭダウンローダブルのみ、など）を有するものとして記載したが、当技術分野の専門家は、任意の数のＰＩＭが、本発明のシステムおよび方法によって管理され得ることを理解するであろう。作業スペース・データは、主に電子メール、カレンダ、ブックマークなどとの関係で定義したが、当技術分野の専門家は、作業スペース・データが、ファイル、金融取引など、他のタイプのデータを含み得ることを理解するであろう。ＰＩＭダウンローダブルは、ＰＩＭと通信を行って同期化すべきデータを得るために、ＰＩＭインターフェースを含んでいるものとして記載したが、当技術分野の専門家は、ダウンローダブルがデータのロケーションを知っている場合、ＰＩＭインターフェースが必要ないことを理解するであろう。したがって、ダウンローダブルは、ＰＩＭの援助なしに、既知のロケーションからデータを検索するためにエンジンを使用することができる。ネットワーク・サイトは、別々の異なるサイトとして記載したが、当技術分野の専門家は、これらのサイトが統合サイトの一部であってもよく、そのそれぞれが複数のサイトの部分を含み得る、または単一サイトと複数サイトの組み合せを含み得ることを理解するであろう。ネットワーク・サイトのそれぞれは、単一コンピュータとして記載したが、当技術分野の専門家は、各サイトが複数のコンピュータを含み得ることを理解するであろう。さらに、本発明のコンポーネントは、プログラムされた汎用デジタル・コンピュータを使用して、アプリケーション固有の集積回路を使用して、または相互接続された従来のコンポーネントと回路のネットワークを使用して実装することが可能である。接続は、配線式、無線、モデムなどであることが可能である。本明細書に記載の実施形態は、網羅的であること、または限定的であることを意図していない。本発明は、頭記の請求項のみによって制限される。
【図面の簡単な説明】
【図１】  本発明によるコンピュータ・ネットワークを図示するブロック図である。
【図２】  コンピュータの詳細を図示するブロック図である。
【図３Ａ】  図１のＰＩＭダウンローダブルの詳細を図示するブロック図である。
【図３Ｂ】  図１の更新エンジンの詳細を図示するブロック図である。
【図４】  本発明による、グローバル・サーバを更新する方法を図示する流れ図である。
【図５】  一方向データ置換の同期化モードを図示する流れ図である。
【図６】  一方向データマージングの同期化モードを図示する流れ図である。
【図７】  両方向データ同期化の同期化モードを図示する流れ図である。
【図８】  図１のユーザ・データ・ストアの詳細を図示するブロック図である。
【図１】
0004757384.tif 000002
【図２】
0004757384.tif 000003
【図３Ａ】
0004757384.tif 000004
【図３Ｂ】
0004757384.tif 000005
【図４】
0004757384.tif 000006
【図５】
0004757384.tif 000007
【図６】
0004757384.tif 000008
【図７】
0004757384.tif 000009
【図８】
0004757384.tif 000010