(57)【要約】データストアとサービスデータを使用する装置間で、サービスデータを同期する技術を開示したものである。これらの同期技術は、同期インターバル、同期データの量などの同期パラメータを、エンドユーザ毎に、エンドユーザの実際の行動に応じて適宜調整する同期方法及び装置に用いられる。特に、サービスデータのヘビーユーザは、より短い同期インターバルと、増加した同期データ量の組み合わせなどの、「直接アクセス」能力に近い、改善された同期パラメータで報いられる。一方、サービスのライトユーザは、より長い同期インターバル、及び／又は減少された同期データ量などの、より低コストの同期パラメータを割り振られる。【特許請求の範囲】
【請求項１】
ユーザに対するサービスデータを同期する方法において、
ユーザに対するサービスプロバイダによるサービスデータの使用頻度の増加を検出するステップと；
ユーザに対するサービスプロバイダによるサービスデータの使用頻度が増加したときに、サービスプロバイダとユーザに関連するデータ格納装置間のサービスデータの同期頻度を増加させるステップと；
を具えることを特徴とする方法。
【請求項２】
請求項１に記載のユーザに対するサービスデータを同期する方法が、更に、
ユーザに対するサービスプロバイダによるサービスデータの使用頻度の減少を検出するステップと；
ユーザに対するサービスプロバイダによるサービスデータの使用頻度が減少したときに、サービスプロバイダとユーザに関連するデータ格納装置間のサービスデータの同期頻度を減少させるステップと；
を具えることを特徴とする方法。
【請求項３】
請求項２に記載のユーザに対するサービスデータを同期する方法において、前記サービスデータの同期頻度が、サービスデータの使用頻度のしきい値以下の各減少に対する増加量によって減少し、サービスデータの使用頻度の前記しきい値以上の各減少に対する減少量によって減少することを特徴とする方法。
【請求項４】
請求項１に記載のユーザに対するサービスデータを同期する方法において、サービスデータの同期頻度が、サービスデータの使用頻度のしきい値以下の各増加に対する増加量によって増加し、サービスデータの使用頻度の前記しきい値以上の各増加に対する減少量によって増加することを特徴とする方法。
【請求項５】
請求項１に記載のユーザに対するサービスデータを同期する方法が、更に；
ユーザに対するサービスプロバイダによるサービスデータの使用頻度の増加が検出されたときに、サービスプロバイダとユーザに関連するデータ格納装置間のサービスデータの同期において同期されたサービスデータ量を増加させるステップを具えることを特徴とする方法。
【請求項６】
請求項５に記載のユーザに対するサービスデータを同期する方法において、サービスデータの同期の間に同期されたサービスデータ量が、サービスデータの使用頻度のしきい値以下の各増加に対する増加量によって増加し、サービスデータの使用頻度の各前記しきい値以上の増加に対する減少量によって増加することを特徴とする方法。
【請求項７】
請求項５に記載のユーザに対するサービスデータを同期する方法が更に、
ユーザに対するサービスプロバイダによるサービスデータの使用頻度の減少を検出するステップと；
ユーザに対するサービスプロバイダによるサービスデータの使用頻度の減少が検出されたときに、サービスプロバイダとユーザに関連するデータ格納装置間で、サービスデータを同期させる間に同期されるサービスデータの量を減少させるステップと；
を具えることを特徴とする方法。
【請求項８】
請求項７に記載のユーザに対するサービスデータを同期する方法において、データの同期を行う間に同期されたサービスデータ量が、サービスデータの使用頻度のしきい値以下の各減少に対する増加量によって減少し、サービスデータの使用頻度の前記しきい値以上の各減少に対する減少量によって減少することを特徴とする方法。
【請求項９】
請求項１に記載のユーザに対するサービスデータを同期する方法において、ユーザに関連するデータ格納装置が、ユーザに関連する組織によって維持されている組織データベースであることを特徴とする方法。
【請求項１０】
請求項９に記載のユーザに対するサービスデータを同期する方法において、ユーザに関連するデータ格納装置が、ユーザの雇用者によって維持されている企業データストアであることを特徴とする方法。
【請求項１１】
請求項９に記載のユーザに対するサービスデータを同期する方法において、前記データストアが、マイクロソフトエクスチェンジ（Microsoft Exchange:登録商標）データベースまたは、ロータスノート（Lotus Notes:登録商標）データベースであることを特徴とする方法。
【請求項１２】
ユーザに対するサービスデータを同期する方法において、
ユーザのためにサービスプロバイダによって使用されているサービスデータの量の増加を検出するステップと；
ユーザのためにサービスプロバイダによって使用されているサービスデータの量の増加が検出されたときに、サービスプロバイダとユーザに関連するデータ格納装置間のサービスデータを同期する間に同期されたサービスデータの量を増加させるステップとを具えることを特徴とする方法。
【請求項１３】
請求項１２に記載のユーザに対するサービスデータを同期する方法が、更に、
ユーザのためのサービスプロバイダによって使用されているサービスデータの量の減少を検出するステップと；
ユーザのためのサービスプロバイダによって使用されているサービスデータの量の減少が検出されたときに、サービスプロバイダとユーザに関連するデータ格納装置間のサービスデータを同期する間に、同期されたサービスデータの量を減少させるステップとを具えることを特徴とする方法。
【請求項１４】
請求項１３に記載のユーザに対するサービスデータを同期する方法において、サービスデータを同期する間に同期されたサービスデータの量が、サービスプロバイダによって使用されたサービスデータ量のしきい値以下の各減少に対する増加量によって減少し、サービスプロバイダによって使用されたサービスデータの量の前記しきい値以上の各減少に対する減少量によって減少することを特徴とする方法。
【請求項１５】
請求項１２に記載のユーザに対するサービスデータを同期する方法において、サービスデータの同期の間に同期されたサービスデータの量が、サービスプロバイダによって使用されたサービスデータの量のしきい値以下の各増加に対する増加量によって増加し、サービスプロバイダによって使用されたサービスデータの量の前記しきい値以上の各増加に対する減少量によって増加することを特徴とする方法。
【請求項１６】
請求項１２に記載のユーザに対するサービスデータを同期する方法が、更に、
ユーザのためのサービスプロバイダによって使用されたサービスデータの量の増加が検出されたときに、サービスプロバイダとユーザに関連するデータ格納装置間のサービスデータの同期頻度が増加させるステップを具えることを特徴とする方法。
【請求項１７】
請求項１６に記載のユーザに対するサービスデータを同期する方法において、サービスデータの同期頻度が、サービスプロバイダによって使用されたサービスデータの量のしきい値以下の各増加に対する増加量によって増加し、サービスプロバイダによって使用されたサービスデータの量の前記しきい値以上の各増加に対する減少量によって増加することを特徴とする方法。
【請求項１８】
請求項１６に記載のユーザに対するサービスデータを同期する方法が、更に、
ユーザのためにサービスプロバイダによって使用されたサービスデータの量の減少を検出するステップと；
ユーザのためのサービスプロバイダによって使用されたサービスデータ量の減少が検出されたときに、サービスプロバイダとユーザに関連するデータ格納装置間でのサービスデータの同期頻度を低減するステップと；
を具えることを特徴とする方法。
【請求項１９】
請求項１８に記載のユーザに対するサービスデータを同期する方法において、サービスデータの同期頻度が、サービスプロバイダによって使用されたサービスデータの量のしきい値以下の各減少に対する増加量によって減少し、サービスプロバイダによって使用されたサービスデータの量の前記しきい値以上の各減少に対する減少量が減少することを特徴とする方法。
【請求項２０】
請求項１２に記載のユーザに対するサービスデータの同期方法において、前記ユーザに関連するデータ格納装置が、ユーザに関連する組織によって維持されている組織データストアであることを特徴とする方法。
【請求項２１】
請求項２０に記載のユーザに対するサービスデータを同期する方法において、前記データ格納装置が、ユーザの雇用者によって維持されている企業データストアであることを特徴とする方法。
【請求項２２】
請求項２０に記載のユーザに対するサービスデータを同期する方法において、前記データストアが、マイクロソフトエクスチェンジ（Microsoft Exchange:登録商標）データストア、又は、マイクロソフトアウトルックデータストア、又は、ロータスドミノデータストア、又は、ロータスノート（Lotus Notes:登録商標）データストアであることを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２００２年４月３０日に出願された、「適応性のあるサービスデータの同期」と題する同時係属中の米国暫定特許出願第６０／３７６，９６２号について、３５Ｕ．Ｓ．Ｃ．§１１９（ｅ）に基づく優先権を主張するものである。この出願は、全て、本明細書に引用されている。
【０００２】
発明の属する技術分野
本発明の様々な特徴は、ユーザに関連する組織のデータストアとユーザに通信サービスを提供するサービスプロバイダとの間のサービスデータを同期させるための同期パラメータを適宜変更する方法および装置に関する。
【背景技術】
【０００３】
発明の背景
多くの通信サービスのユーザが、会社またはその他の組織用の、あるいは会社またはその他の組織を介して、サービスを受けている。従って、ユーザは無線電話サービス、電子メールサービス、音声ダイアルサービスなどを、会社の従業員として自分用に受けることができる。このやり方では、組織、ユーザ、あるいはその双方が、組織のデータベースに格納されているデータを含んだ特定のデータを使用してサービスを提供するサービスプロバイダを望むことがある。この特定のデータを、以下、サービスデータと呼ぶ。例えば、ユーザは、仕事用に音声でアクティベートされるダイアルサービス（Voice Activated Dialing: VAD）を申し込むことがある。ユーザ、あるいはユーザの雇用者はその場合、サービスプロバイダに雇用者の会社のデータベースに格納されている連絡情報を含むサービスデータを用いてサービスを提供することを望む。
【０００４】
しかしながら、サービスプロバイダは、組織所有のデータベースに基づいてエンドユーザにサービスを提供しようとする際に、「ファイヤーウオールチャレンジ」に直面する。具体的に言うと、サービスプロバイダは、自身のデータセンタ及び／又はネットワーク内に収容されているインフラストラクチャを用いてそのサービスを展開しなければならない。しかしながら、これらのデータセンタおよびネットワークは、多くの組織が自身が所有するネットワークやインフラストラクチャを権限のないアクセスから保護するために使用しているセキュリティシステムや、「ファイヤーウオール」の外側にある。従って、上述した音声アクティベートダイヤルサービスの例では、雇用者の連絡情報は、マイクロソフトエクスチェンジ（Microsoft Exchang:登録商標）サーバやロータスドミノ（Lotus Domino :登録商標）サーバなどの、雇用者の会社のファイヤーウオールの背後にあるサーバ内に保管され維持されている。
【０００５】
この例におけるエンドユーザにとって最も簡単な解決は、サービスプロバイダのＶＡＤシステムに、雇用者のマイクロソフトエクスチェンジやロータスドミノサーバに直接アクセスさせ、ユーザを巻き込むことなく（おそらく、雇用者のマイクロソフトエクスチェンジやロータスドミノサーバにプロバイダの初期アクセスを与えるために、ユーザのユーザ名、パスワードを提供すること以外）ユーザの連絡情報を直接抽出させることであろう。しかしながら、このアプローチは、エンドユーザにとっては最も簡単であり、サービスプロバイダの観点からは好ましいものではあるが、通常は組織の是認に合致するといったものではない。一方で、組織はそのエンドユーザが、組織のドメインの外にあるシステム上に会社の信用証明物（組織のサーバにアクセスするのに使用される）を保存することを望まない。一方、サービスプロバイダの単一のシステムが、複数のエンドユーザのために組織のサーバ内のデータにアクセスしようとすると、組織がこの正当なアクセスをハッカーの攻撃と区別するのは、両者が似たような特性を有しているため、困難である。
【０００６】
この「ファイヤーウオールチャレンジ」に対する従来の解決法の一つは、サービスプロバイダのネットワークとインフラストラクチャを、組織のネットワークとインフラストラクチャに安全に橋を架ける、バーチャルプライベートネットワーク（Virtual Private Network: VPN）を展開することである。しかしながら、バーチャルプライベートネットワークは、これを展開してサポートするのに、組織の関与と有意な財源が要求されるという欠点がある。この欠点は、特に、いくつかの異なるサービスプロバイダ及び／又は多数のネットワーク(例えば、異なる地理的領域、ビジネスユニット、関連子会社、などの為の)と関係を持つような大会社や大組織には煩わしい。
【０００７】
バーチャルプライベートネットワークの更なる欠点は、このネットワークが、パブリックインターネット上を転送される安全でない通信セッション内の、安全な通信セッションを「トンネリング（tunneling）」することに基づくという点である。この技術は、大きなプライベートネットワークを作るためのコストがかからない一方で、この「トンネリング」プロセスが、インターネットによる通信にすでに内在する待ち時間（latency）の上に更に待ち時間（latency）を生じさせるため、能力的な問題を起こすことがある。更に、バーチャルプライベートネットワークは、サービスプロバイダも組織も完全にコントロールをすることができないインターネット上に構築されるので、バーチャルプライベートネットワークの能力は、時間帯、地理、及び他の多くの外的要因に基づいて著しく変化し得る。
【０００８】
「ファイヤーウオールチャレンジ」に対する他の従来の解決法は、同期技術を用いている。この技術によれば、マイクロソフトエクスチェンジ（Microsoft Exchange:登録商標）サーバやロータスドミノ（Lotus Domino:登録商標）サーバのような組織のプラットフォーム内に通常格納され管理されている、組織のファイヤーウオールの背後にあるデータは、サービスプロバイダによって維持される一又はそれ以上のプラットフォーム内に複製される。より詳細には、組織のファイヤーウオールの背後の装置は、（１）ユーザと組織のシステムとの通常の相互作用によってユーザのデータに加えられた変更を伝達するために、（２）サービスプロバイダとエンドユーザの相互作用の結果、ユーザのサービスデータに変更が加えられているかを判断するために、及び、（３）必要に応じて、組織のシステムとサービスプロバイダのシステム間でデータを転送、さもなければユーザのサービスデータの複数のインスタンスを同期させるために、サービスプロバイダのシステムに定期的に接続する。このアプローチは、「ファイヤーウオールチャレンジ」を克服するものである。なぜならば、この同期プロセスは、組織のドメイン内で動くシステムによって、ＨＴＴＰ、その暗号化された変形、ＨＴＴＰＳ、あるいは他の適当なデータ転送プロトコル、のような承認されたデータ転送プロトコルを用いて開始することができるからである。
【０００９】
このアプローチは、このような定期的な接続、あるいは「ポーリング」、を宛てにしている。なぜなら、組織のファイヤーウオールは、このような変更イベントがまさに生じた時点でサービスプロバイダが“変更リクエスト”を組織のシステムに送信することを防止するものであるからである。言い換えると、サービスプロバイダのシステムはこのような変更が発生したときおよび変更が発生したときのみに、サービスデータに変更を直接伝達することができないため、組織のシステムは、その代わりに、例え変更が生じてなくとも、変更が生じたか否かを判断するためにサービスプロバイダのシステムに定期的に「チェック・イン」しなくてはならない。定期的なチェックを規則正しく行わないと、重要な変更を同期させずに放置しかねず、ユーザの混乱あるいはそれ以上に悪い結果をまねくことになる。例えば、サービスプロバイダのシステムを介して開始される時間的にきわどい（time-critical）電子メールメッセージが、受信可能でない期間に、一又はそれ以上の受取人に配信されなかったり、サービスプロバイダのシステムを介して開始したミーティングが、タイムリに組織のシステム内で反映されずに、ユーザのスケジュールに「ダブルブッキング」やその他の摩擦を起こすことがある。
【００１０】
しかしながら、同期による従来の解決法には、いくつかの問題がある。同期プロセスは、組織のファイヤーウオールの背後の、組織のドメイン内で動作する装置あるいはシステムによって開始されるので、このような解決には、上述したように、組織のシステムが定期的にサービスプロバイダにポーリングする「ポーリング」アプローチを用いることが必要である。ポーリングインターバル、あるいは「同期インターバル」の選択には、有意なトレードオフがある。なぜなら、各々の同時接続が、固定され、繰り返し発生するコスト成分を持っているからで、一定時間内において同期インターバルが短ければ短いほど、同時接続のピーク数が大きくなるからだ。
【００１１】
各同期プロセスの間の同期すべきデータ量とデータのタイプの選択にも、有意なトレードオフが存在する。同期動作のように、データストレージも、固定され繰り返し発生するコストを持っており、必要とされる以上のデータを保存することは好ましくない。また、一又はそれ以上のデータセットを同期するのに有限量の時間がかかるので、同期したデータの量は同期のインターバルに関連する。従って、同期した各々のデータセットのサイズが大きくなればなるほど、及び／又は、このようなセットの数が増えれば増えるほど、必要な同期インターバルが長くなる。さもなければ、各エンドユーザにサービスを提供するのに必要とされる同時発生する同期通信セッションの数は、エンドユーザの総数に近いものとなり、コストが極めて高いものになってしまう。
【００１２】
更に、同期のインターバルと同期データ量の双方が、エンドユーザの満足度に影響を与える。同期インターバルが短いほど、同期プロセスは、サービスプロバイダが組織のアプリケーションとシステムからリアルタイムで直接データにアクセスできる、直接アクセスモデルの応答性により近くなる。同様に、同期プロセスで同期するデータ量が多くなるほど、同期プロセスは、組織のアプリケーションとシステムに直接的にインターフェースを取ることによって入手可能な全てのデータにアクセスするサービスプロバイダの応答性により近いものになる。
【００１３】
このような同期のトレードオフに対する標準的な解決法は、以下のアプローチのいずれかを取ることである：（１）固定同期インターバル、固定同期データ量、（２）固定同期インターバル、ユーザ定義同期データ量、（３）ユーザ定義同期インターバル、固定同期データ量、（４）ユーザ定義同期インターバル、ユーザ定義同期データ量。しかしながら、これらの各アプローチは、欠点がある。例えば、固定同期インターバル、固定同期データ量アプローチは、コストが予想可能であり、エンドユーザが決定を下したり、構成を決定したりする必要がなくシンプルであるが、このアプローチは、任意の同期インターバルと任意の同期データ量を用いており、このことが全てのエンドユーザのニーズに合致しないことがある。
【００１４】
固定同期インターバル、ユーザ定義同期データ量の取り合わせでは、格納コストを予測することができないし、エンドユーザが、同期データ量を決定して構成する必要がある。更に、ユーザは同期データ量を「最大」にしてしまう傾向にあり、これによって格納コストが上がることになる。ユーザ定義同期インターバル、固定同期データ量のアプローチでは、接続コストを予測することができず、エンドユーザは、同期インターバルを決定し構成する必要がある。更に、ユーザは、同期インターバルを「最小」にしてしまう傾向があり、これによって同時接続コストが上がってしまう。最後に、ユーザ定義同期インターバル、ユーザ定義同期データ量の組み合わせでは、接続コストと格納コストの双方が予測不能であり、エンドユーザは同期インターバルと同期データ量の双方を決定するべくかなりな量の決定と構成を行う必要がある。さらに、ユーザは、同期インターバルを最小にして、同期データ量を最大にする傾向があり、接続コストと格納コストの両方が高くなってしまう。
【００１５】
発明の概要
従って、サービスプロバイダが、ユーザに関連する組織のデータストアに格納されているサービスデータ間と自身のサービスデータを同期させるためのより効果的な同期パラメータを得られるようにする同期技術が必要とされている。本発明の様々な実施例は、実際のエンドユーザの行動に応じて、エンドユーザ毎に、同期インターバルや、同期データ量などの同期パラメータを適応性があるように調整する同期方法および装置を、有利に提供するものである。特に、サービスデータのヘビーユーザは、「直接的なアクセス」能力に近い、より短い同期インターバルと、増加した同期データ量の組み合わせなど、改善された同期パラメータで報いられる。一方、サービスのライトユーザは、長い同期インターバル、及び／又は、減じられた同期データ量などの、より低いコストの同期パラメータが割り振られる。
【００１６】
本発明の様々な実施例は、従って、ライトユーザにとっては無駄になってしまうような同期のリソースを、ヘビーユーザに割り当てることができる。本発明によれば、同期パラメータは、ライトユーザがサービスをより多く使用しつつあるような場合など、ユーザの活動が変化するときに、同期パラメータが継続的に変化して、個人ベースおよび総合ベースの両方でサービスプロバイダの使用するリソースを継続的に最適化するようにしている。
【図面の簡単な説明】
【００１７】
【図１】図１は、本発明の様々な実施例を実行するのに使用することができるプログラム可能なコンピュータの構成例を示す図である。
【図２】図２は、本発明の一実施例にかかる同期装置を実行するネットワークを示す図である。
【図３】図３は、本発明の一実施例にかかる同期装置の構成を示す図である。
【図４】図４は、サービスデータの使用の増加あるいは減少に応じて同期量が増えるあるいは減少する、ベルカーブの一例を示す図である。
【００１８】
発明の実施例の詳細な説明
従来技術に良く知られているように、無線電話サービス、電子メール、ボイスメールなどの、通信サービスに使用される通信サービスデータは、従来は、プログラム可能なコンピュータに格納され、ここで操作されている。このタイプのコンピュータは、例えば、電子メールアカウントサーバ、無線アプリケーションプロトコル（Wireless Application Protocol: WAP）ゲートウエイ装置、あるいはボイスメールサービスサーバなどによって、組織化することができる。さらに、このタイプのコンピュータは、本発明の様々な実施例にかかる適応性のある同期装置を実行するのに使用することができる。
【００１９】
図１は、通信サービスプロバイダと、このサービスプロバイダの通信サービスのエンドユーザに関連するデータストア間で、サービスデータを同期することができるプログラム可能なコンピュータシステム１０１の一例を示す図である。コンピュータシステム１０１は、プロセッシングユニット１０３と、システムメモリ１０５と、システムメモリ１０５を含む様々なシステムコンポネントをプロセッシングユニット１０３に連結するシステムバス１０７を具える。システムメモリ１０５は、読出専用メモリ（ＲＯＭ）１０９と、ランダムアクセスメモリ（ＲＡＭ）１１１を具えていても良い。
【００２０】
スタートアップの間など、コンピュータシステム１０１内のエレメント間で情報を転送するのに役立つルーチンを含む、基本入力／出力システム１１３（Basic Input/Output System:BIOS）が、読出専用メモリ（ＲＯＭ）１０９に格納されていても良い。コンピュータシステム１０１が、パーソナルコンピュータである場合は、このシステムは更に、ハードディスク(図示せず)から読み出したり、ハードディスクに書き込んだりするためのハードディスクドライブ１１５、取り外し可能な磁気ディスク（図示せず）から読み出したり、このディスクに書き込んだりするための、磁気ディスクドライブ１１７、あるいは、例えばＣＤ−ＲＯＭあるいは他の光媒体など、取り外し可能な光ディスク（図示せず）から読み出したり、このディスクに書き込んだりする光ディスクドライブ１１９を更に含むものであっても良い。
【００２１】
いくつものプログラムモジュールを、ＲＯＭ１０９、ハードディスクドライブ１１５、磁気ディスクドライブ１１７、および光ディスクドライブ１１９に格納することができる。ユーザは、キーボード、ポインティング装置、タッチスクリーン、マイクロホン、ジョイスティック、またはその他の好適なインターフェース装置などの入力装置１２３を介してコマンドおよび情報をコンピュータシステム１０１に入力することができる。もちろん、コンピュータシステム１０１は公知の様々な入力装置１２３を使用することができる。モニタや、他のタイプのディスプレイ装置などの出力装置１２５も、コンピュータシステム１０１からユーザへ情報を伝えるものに含まれる。当業者には明らかな通り、スピーカや、プリンタなどの様々な出力装置１２５は代替的にあるいは追加的にコンピュータシステム１０１に含まれていても良い。
【００２２】
一又はそれ以上のサービスプロバイダで使用されているコンピュータシステムおよびエンドユーザに関連する一又はそれ以上のデータストアの双方にアクセスするためには、コンピュータシステム１０１は、リモートコンピュータ１２７などの、一又はそれ以上のリモートコンピュータに対する論理接続を用いたネットワーク環境において動作可能であることが好ましい。コンピュータシステム１０１は、ローカルエリアネットワーク（Local Area Network:LAN）１２９、あるいは、インターネットなどのワイドエリアネットワーク（Wide Area Network:WAN）１３１を介してリモートコンピュータ１２７に接続可能であってもよい。ネットワーク環境において使用されているときに、コンピュータシステム１０１は、無線トランシーバ、モデム、イーサネット接続、あるいはその他のインターフェース、などのインターフェース１３３を介してネットワークに接続することができる。インターフェース１３３は、図１では内部インターフェースとして示されているが、代替的に、従来良く知られているような外部インターフェースであってもよい。もちろん、この図に示されているネットワーク接続は、例示的なものであり、他のコンピュータと通信リンクを設定して、電子メールアカウントにアクセスする他の方法を使用するようにしてもよい。
【００２３】
図２は、適応可能な同期装置２０３を含む装置のネットワーク２０１を示す図である。ネットワーク２０１は、様々なサービスプロバイダ（あるいはサービスキャリア）インフラストラクチァシステム２０５も具える。従来知られている通り、これらのサービスプロバイダインフラストラクチャシステム２０５は、エンドユーザ２０９に使用されている様々な通信装置２０７に通信サービスを提供するのに使用されている。例えば、サービスプロバイダインフラストラクチャシステム２０５Ａは、無線マークアップ言語（Wireless mark-up Language:  WML）、ハンドヘルドデバイスマークアップ言語（Hand-held device mark-up Language:  HDML）、またはその他の適当な通信言語を用いて、無線電話あるいは個人情報マネージャなどの無線通信装置に通信する無線アプリケーションプロトコルゲートウエイであってもよい。
【００２４】
同様に、サービスプロバイダインフラストラクチャシステム２０５Ｂは、例えば、パーム（Palm）またはポケットピーシーベースコンピューディング装置（Pocket PC-based computing device）などの、携帯個人情報マネージャに情報を転送し、受信するパケットデータゲートウエイであってもよい。パケットデータゲートウエイ２０５Ｂは、バイナリ同期プロセス、または拡張マークアップ言語（ＸＭＬ）などの、好適な通信方法を用いて、携帯個人情報マネージメント装置２０７Ｂと通信することができる。更に、図２に示すように、サービスプロバイダインフラストラクチャシステム２０５Ｃは、無線電話２０７Ｃとボイスメッセージを転送したりボイスメッセージを受け取ったりするボイスサービスプラットフォームであってもよい。更に、ネットワーク２０１は、一又はそれ以上のサービスプロバイダのサービスデータストア２１１を含んでいても良い。公知のとおり、これらのサービスデータストア２１１（例えばインターネット電子メールサービス）は、サービスキャリアが電子メールサービスなどの通信サービスをエンドユーザ２０９に提供する為に使用するサービスデータを格納する。
【００２５】
図２を参照すると、適応性のある同期装置２０３は、エンドユーザ２０９に関連するサブネットワーク２１３内に含まれている。例えば、サブネットワーク２１３は、エンドユーザの雇用者、あるいは、学校、リサーチセンタなど、エンドユーザが関連している他のいかなる組織によって維持されているネットワークであっても良い。サブネットワーク２１３は、エンドユーザ２０９に関連するデータを格納するデータストア２１５を具える。従って、このデータストア２１５は、エンドユーザに関連する接続情報を持つ、マイクロソフトエクスチェンジ（Microsoft Exchange:登録商標）サーバや、ロータスドミノ（Lotus Domino:登録商標）サーバによって使用されるデータを格納する。エンドユーザ２０９がサブネットワーク２１３を維持する雇用者の販売代理人である場合は、データストア２１５は、例えば、名前、電話番号、電子メールアドレス、および、その雇用者の販売予想に関連する他のアドレス情報を含むものであっても良い。サブネットワーク２１３は、また、サブネットワーク２１３を権限のないアクセスから保護するファイヤーウオール２１７を含むものであっても良い。このようなファイヤーウオールは公知であるので、ここで詳細には説明しない。
【００２６】
下記に詳細に説明するとおり、適応性のある同期装置２０３は、ファイヤーウオール２１７の一方の側のデータストア２１５内に格納されているエンドユーザのサービスデータを、ファイヤーウオール２１７の他方の側に保持されている同期サービスデータストア２１９内に格納されているエンドユーザ２０９用のサービスデータと同期させる。図２に示すとおり、同期サービスデータストア２１９は、サービスプロバイダインフラストラクチャシステム２０５と、サービスプロバイダデータストア２１１にサービスデータを提供する。この構成を用いて、サービスプロバイダは、ファイヤーウオール２１７の背後でデータストア２１５内に格納されているサービスデータを、ファイヤーウオール２１７を実質的に通すことなく使用することができる。代わりに、サービスプロバイダインフラストラクチャシステム２０５とサービスプロバイダデータストア２１１は、同期サービスデータストア２１９からサービスデータに直接的にアクセスすることができる。
【００２７】
図３は、適応性のある同期装置２０３のより詳細な構成を示す図である。図に示すとおり、適応性のある同期装置２０３は、制御ユニット３０１と、入力ユニット３０３と、出力ユニット３０５を具える。適応性のある同期装置２０３は、また、同期処理ユニット３０７と、ユーザサービスデータアクセス検出ユニット３０９と、同期適応ユニット３１１を具える。制御ユニット３０１は、他の制御ユニット３０３〜３１１の各々の間の情報の交換を制御するよう動作する。
【００２８】
当業者には明らかなとおり、適応性のある同期装置２０３の一又はそれ以上のコンポネントは、上記図１で説明したコンピュータシステム１０１などの、コンピュータシステムで実行されるソフトウエアを用いて実施することができる。例えば、入力ユニット３０３、出力ユニット３０５、同期処理ユニット３０７、ユーザサービスデータアクセス検出ユニット３０９、および同期適応ユニット３１１は、それぞれ、ソフトウエアのサブルーチンによって実施することができる。制御ユニット３０１は、異なるユニット３０３〜３１１を実施するさまざまなソフトウエアサブルーチンを呼び出す制御ソフトウエアルーチンであってもよい。もちろん、当業者には、ユニット３０１〜３１１の一またはそれ以上が電子回路によって実行されることは自明である。
【００２９】
入力ユニット３０３は、適応性のある同期装置２０３の外部から提供される情報を受信する。例えば、入力ユニット３０３は、同期サービスデータストア２１９からメッセージを受信したり、データストア３１５からサービスデータを受信することができる。同様に、出力ユニット３０５は、適応性のある同期装置２０３の外部の装置に情報を転送する。従って、出力ユニット２０３は、同期サービスデータストア２１９へ制御メッセージを転送したり、データストア３１５から情報を要求するリクエストメッセージを転送したり、データストア３１５から入力ユニット３０３によって受信されるサービスデータを同期サービスデータストア２１９へ転送することができる。入力ユニット３０３および出力ユニット３０５の動作は、公知であるので、ここではその詳細は説明しない。
【００３０】
同期ユニット３０７は、データストア２１５と同期サービスデータストア２１９間のデータの同期を制御する。すなわち、同期ユニット３０７は、同期サービスデータストア２１９内に格納されているユーザサービスデータが、データストア２１５内に格納されているユーザサービスデータに確実に同期するように動作する。従って、データストア２１５が、同期サービスデータストア２１９内に格納されていない新しいユーザサービスデータ（またはユーザのサービスデータの新規削除）を含んでいる場合、同期ユニット３０７は、同期プロセスの間に同期サービスデータストア２１９をアップデートして、この新規データ（新規データの削除）を含めるようにする。同様に、同期サービスデータストア２１９が、ユーザがサービスプロバイダの通信サービスを使用することによって加えられたデータストア２１５に格納されていない新規ユーザサービスデータ（または、ユーザサービスデータの新規削除）を含む場合は、同期ユニット３０７は、同期プロセス中にデータストア２１５をアップデートして、この新規データ（または、データの新規削除）を含めるようにする。
【００３１】
従って、同期ユニット３０７は、出力ユニット３０５に対してデータストア２１５にサービスデータのリクエストを送信するよう指示を出し、入力ユニット３０３に対してデータストア２１５からリクエストされたサービスデータを受信するよう指示を出し、ついで、出力ユニット３０５に、同期サービスデータストア２１９へ受信したサービスデータを送るように指示をする。代替として、同期ユニット３０７は、適応性のある同期装置２０３の外部で動作する同期プロセス（例えば、データストア２１５と同期サービスデータストア２１９の間の直接通信を含む、または、データストア２１５と同期サービスデータストア２１９間の他の中間装置を含む同期プロセス）を制御するようにしても良い。
【００３２】
ユーザサービスデータ検索検出ユニット３０９は、同期サービスデータストア２１９からエンドユーザ２０９に対するサービスデータの検索を検出する。特に、ユーザサービスデータ検索検出ユニット３０９は、サービスプロバイダインフラストラクチャシステム２０５あるいはサービスプロバイダサービスデータストア２１１によるユーザに対するサービスデータの検索を検出する。本発明のいくつかの実施例によれば、ユーザサービスデータ検索検出ユニット３０９は、同期サービスデータストア２１９からエンドユーザ２０９に関連するサービスデータの各検索の発生を検出し記録する。本発明の代替の実施例では、ユーザサービスデータ検索検出ユニット３０９は、エンドユーザ２０９に関連するサービスデータが同期サービスデータストア２１９から検索されるごとに、検索したサービスデータ量を検出し記録する。本発明の更なる実施例によれば、ユーザサービスデータ検索検出ユニット３０９は、エンドユーザ２０９に関連するサービスデータの各検索の発生と、検索したサービスデータ量の双方を検出して記録する。
【００３３】
同期適応ユニット３１１は、次いで、ユーザサービスデータ検索検出ユニット３０９によって得た情報を用いて、同期サービスデータストア２１９からのユーザのサービスデータの検索量と、この検索量が増えたのか、減ったのかを決定する。同期適応ユニット３１１は、検索量を様々な方法で決定することができる。例えば、本発明のいくつかの実施例では、同期適応ユニット３１１は、同期サービスデータストア２１９内のユーザサービスデータの検索の頻度に基づいて検索量を決定している。
【００３４】
さらに、同期適応ユニット３１１がサービスデータの検索された頻度に基づいてユーザサービスデータの検索量を決定する場合、その頻度値も様々な方法で決定することができる。例えば、同期適応ユニット３１１は、同期サービスデータストア２１９からのユーザサービスデータの最も新しい二つの検索にのみ基づいてサービスデータの検索頻度を決定することができる。従って、サービスプロバイダインフラストラクチャシステム２０５Aが、１：００A.M.にユーザのサービスデータの最初のリクエストを行い、サービスプロバイダインフラストラクチャシステム２０５Ｂが、１：３０A.M.にユーザのサービスデータの２回目のリクエストを行い、サービスプロバイダインフラストラクチャシステム２０５Ｃが、１：４５A.M.にユーザのサービスデータの第３回目のリクエストを行った場合、同期適応ユニット３１１は、１５分に１回というユーザサービスデータへのアクセス頻度を決定するだろう。
【００３５】
代替として、同期適応ユニット３１１は、同期サービスデータストア２１９からリクエストされた所定量の検索の間のインターバルを平均することによって検索頻度を決定することができる。従って、同期適応ユニット３１１が、ユーザのサービスデータに対して行った最も新しい３回の検索リクエスト間のインターバルを平均することによって検索頻度を決定する場合、同期適応ユニットは、第１回目のリクエストと第２回目のリクエスト間のインターバル（すなわち、３０分）と、第２回目のリクエストと第３回目のリクエスト間のインターバル（すなわち１５分）を平均化することによって、２２．５分という検索頻度を決定するだろう。更に、同期適応ユニット３１１は、所定の期間、例えば１時間など、に受信されたユーザのサービスデータのリクエスト数に基づいて、検索頻度を決定することができる。この実施例では、上述の例によると、同期適応ユニット３１１は、２０分おきという検索頻度を決定するだろう（すなわち、６０分以内の３回の検索リクエストの平均）。
【００３６】
本発明の代替の実施例では、同期適応ユニット３１１は、ユーザのサービスデータの検索量を、同期サービスデータストア２１９から検索したサービスデータ量に基づいて決定できる。上述したとおり、検索したサービスデータ量も、様々な方法で決定することができる。従って、検索量の値は、個々に検索されたサービスデータの記録フィールドを用いて、検索したサービスデータが蓄積された特定の時間枠に基づいて、又は、同期サービスデータストア２１９から検索した記録数を用いて決定することができる。
【００３７】
例えば、ユーザの検索したサービスデータが電子メールメッセージであれば、検索したサービスデータ量の値は、検索した電子メールファイルホルダの数に基づいて決定することができる。本発明の代替の実施例では、検索したサービスデータ量の値は、検索したメッセージが受信された特定の期間(例えば５日間)に基づいて決定することができる。本発明の更に別の実施例では、検索されたサービスデータ量の値は、単純に、検索されたメッセージ数（例えば５０電子メールメッセージ）に基づいて決定することができる。当業者にはあきらかなように、ユーザに対する検索したサービスデータ量を決定する特別な方法は、本発明の所望のアプリケーションに適した、どのような技術によっても決定することができる。
【００３８】
本発明の更に他の実施例では、同期適応ユニット３１１は、ユーザが開始した選択イベントに基づいて検索量を決定するようにしている。例えば、現在同期されている量に含まれない電子メールメッセージやアポイントメント（その量が当初、例えば、その時点−現在の日付についての日付範囲によって決定されている場合など）などのデータの選択する試みをユーザが失敗した場合、同期適応ユニット３１１は、直ちに、ユーザに対して適用可能なデータ量を調整して、データの続けてのリクエストが確実に成功するようにする。これを行うとき、同期適応ユニット３１１は、同時にこの調整がなされたことをユーザに連絡し、その時点−現在の時間間隔に基づき、いつユーザがリクエストを再度行うべきであるかを連絡する。本発明の他の実施例は、成功しないデータリクエストが実際に発生する前に、予測ベースでデータ量を調整するようにさえできる。例えば、ユーザが、その特定のデータタイプのその時点−現在の「境界線」近くにあるようなデータを短期間に複数リクエストした場合、同期適応ユニット３１１は、「境界線」近くにおける活動の急増が「境界線」を越えるデータのリクエストが起こりそうな指標であるという仮定のもと、この「境界線」を前もって調整するようにしてもよい。同期適応ユニット３１１は、この行動パターンが静まるのであれば、データ量を再調整することができる。
【００３９】
本発明の更なる実施例によれば、同期適応ユニット３１１は、検索リクエストの頻度と、各検索で得られたデータ量の双方に基づいて、そのユーザの為に検索したサービスデータ量を決定することができる。従って、同期適用ユニット３１１は、検索頻度値と、検索したサービスデータ量の値の双方を決定することができる。代替的に、同期適応ユニット３１１は、決定した検索頻度と、決定した検索サービスデータ量の双方を用いて単一の検索量の値を決定することができる。例えば、同期適応ユニット３１１は、決定した検索頻度に第１の定数をかけて、決定した検索量に第２の定数をかけて、さらに、二つの計算値を加算して、単一のサービスデータ検索量の値を得るようにしても良い。また、当業者にはあきらかなように、ユーザに対する検索したサービスデータの検索量を決定する特定の方法は、本発明の所望のアプリケーションに好適なあらゆる技術を用いて決定することができる。
【００４０】
上述したとおり、同期適応ユニット３１１は、あるユーザの為に検索したサービスデータの決定された検索量が、そのユーザの為に検索したサービスデータの前回決定した検索量より増えているのか、減っているのかも、決定することができる。従って、同期適応ユニット３１１が、最も新しい二つの検索リクエスト間のインターバルに基づいて検索頻度である検索量を決定するのであれば、上述の例（第１、第２、第３のリクエストを用いる）において、同期適応ユニット３１１は、３０分に一回の第１の検索頻度と１５分に一回の第２の検索頻度を決定する。この例では、同期適応ユニット３１１は、次いで、第２の検索頻度、つまり検索量が、第１の検索頻度より増えたことを決定する。
【００４１】
ユーザに対する検索サービスデータの検索量を決定し、この検索量が前回決定した検索量より増えているのか減っているのかを決定することに加えて、同期適応ユニット３１１は、データストア２１５と同期サービスデータストア２１９との間で同期しているサービスデータの同期量も決定する。より詳しくは、同期適応ユニット３１１は、決定した検索量が前回決定した検索量より増えているか減っているかに基づいて、同期量を決定する。
【００４２】
ここで用いられているように、同期量という用語は、増えている場合に、同期プロセスの動作（例えば、同期プロセスの間に同期されるデータ量）を改善するいかなる同期パラメータも含む。この同期量という用語は、減っている場合に、同期プロセスの動作を改善するあらゆる同期パラメータの逆数（例えば、同期プロセスの間のインターバルの逆数、あるいは同期頻度の逆数）を含む。
【００４３】
したがって、同期適応ユニット３１１は、様々な技術によって同期量を決定することができる。本発明のいくつかの実施例では、同期適応ユニット３１１は、データストア２１５に格納されているユーザのサービスデータが、同期サービスデータストア２１９に格納されているユーザのサービスデータに同期する頻度となる同期量を決定する。本発明の更なる実施例によれば、同期量は、一の同期プロセス中にデータストア２１５と同期サービスデータストア２１９間で同期したサービスデータ量である。本発明の更なる実施例によれば、同期量は、データストア２１５と同期サービスデータストア２１９間で同期したサービスデータの量と、同期頻度の双方を含む。もちろん、同期量は、本発明の特定のアプリケーションに望ましい他の同期パラメータ（またはその逆数）であるか、それを含むものであっても良い。
【００４４】
同期適応ユニット３１１は、いかなるタイプの決定された検索量の増加あるいは減少に基づいて同期量を決定することができる。従って、同期適応ユニット３１１は、検索頻度と、検索したサービスデータの量の双方を含む検索量の増加あるいは減少を用いて、同期頻度と同期サービスデータの量の双方を含む同期量を決定することができる。この例において、同期適応ユニット３１１は、検索頻度が増加したときに同期頻度を増加させ、検索頻度が減少したときに同期頻度を減少させることができる。同様に、同期適応ユニット３１１は、検索サービスデータの量が増加したときに同期サービスデータの量を増加させ、検索サービスデータの量が減少したときに、同期サービスデータの量を減少させることができる。
【００４５】
本発明の更なる実施例によれば、同期適応ユニット３１１は、検索頻度と検索したサービスデータの量の双方を含む検索量の増加あるいは減少を用いて、同期頻度のみを含む同期量、あるいは同期サービスデータの量のみを含む同期量を決定することができる。本発明の代替の実施例では、同期適応ユニット３１１は、検索頻度のみを含む検索量、あるいは検索したサービスデータの量のみを含む検索量の増加あるいは減少を用いて、同期頻度と同期サービスデータの量の双方を含む同期量を決定することができる。本出願を検討した当業者にはあきらかであるように、検索量の値のタイプのいかなる組み合わせにおける増加あるいは減少も、本発明の所望のアプリケーションに適応するかぎり、同期量の値のタイプのいかなる組み合わせにおける増加または減少を決定するのに使用することができる。
【００４６】
同期適応ユニット３１１が様々な技術に応じて同期量の特定の増加または減少を決定することができることに留意すべきである。本発明のいくつかの実施例では、例えば、同期適応ユニット３１１は、図４に示すようなハーフベルカーブなどの、ベルカーブの下側半分に応じた検索量の増加に基づいて同期量を増加させる。
【００４７】
この図に見られるように、検索量の値がゼロからしきい値Ｘへ増加するに従って、同期量の増加する角度は著しい。次いで、検索量の値がしきい値Ｘから最大値まで増加し続けていくにつれて、同期量の増加する角度はゼロに向けて下がる。例えば、自分のサービスプロバイダに、ユーザのサービスデータに対して比較的少量のサービスデータ検索量を有することしか求めない程度の通信使用量の「ライト」エンドユーザは、初期の同期インターバルが４５分間であるとする。そのユーザのサービスデータ検索量が増えると、同期適応ユニット３１１は、同期を１／３の１５分に短縮し、次いで、更に検索量が増加すると、再び１／３に短縮し、５分の同期インターバルとするかもしれない。
【００４８】
この取り合わせは、ユーザの行動の突然の変化を有利に説明する。特にリスクのあるこのような行動の変化の一つは「見本市効果」、つまり、時折短期間だけ急速にヘビーユーザとなるライトユーザである（同期パラメータが大変高く調整してあるので、ユーザの経験が少ないことがリスクになる）。例えば、プロダクトマネージャとして雇用されているエンドユーザは、一般的にライトユーザである（すなわち、サービスプロバイダに対して、同期サービスデータストア２９１から自分のサービスデータをたまに検索することしか要求しない）が、見本市への出張中はサービスプロバイダの通信サービスにむしろ大きく頼っている。見本市にいる間、ユーザは、初期的にのみあきらかなサービスデータの同期の欠陥を経験することになる。なぜなら、本発明によれば、サービスデータの同期量は、通信サービスが使用されるほど、増加するからである。
【００４９】
本発明のいくつかの実施例によれば、同期適応ユニット３１１は、ベルカーブの１／２に対応するレートに基づいて同期量を減少させる。従って、エンドユーザがサービスデータを最初に利用した後、キャリアが急激に同期量（すなわち同期インターバル）を短縮することを選択したとしても（これによってユーザの経験が敏速に改善される）、そのコストが大幅に増えることはない。なぜなら、ユーザが装置の使用をやめたときに同期量が再度調整されて少なくなるからである。短い時間インターバルのみがプロバイダに高コストを必要とし、時間を越えたトータルコストは、同期頻度が一定であったら、より低くなる。なお、ベルカーブは、増加レートを決定するベルカーブと同じであっても良い。代替として、同期適応ユニット３１１は、同期量の増加レートと異なるベルカーブを用いて、あるいはまったく異なるレートパターンによって同期量を減少させて、ヒステリシス効果を提供するものであっても良い。
【００５０】
本発明を、特定の実施例を示して上記説明した。記載とは別に、本発明の多くの特徴や利点がある。したがって、特許請求の範囲は、このような本発明の特徴や利点を全てカバーすることを意図している。更に、多くの変形例や変更が当業者には容易であると考えられるので、本明細書は、図に示したり、記載されている構成および動作そのものに限定されるものではない。例えば、本発明はここに記載した装置及び方法から一又はそれ以上の要素を、組み合わせ、またはサブコンビネーションで、含むものであってもよい。従って、本発明を規定するいくつもの代替の組み合わせがあり、この組み合わせは、明細書（図面、特許請求の範囲、要約書を含む）からの一又はそれ以上の要素を、組み合わせあるいはサブコンビネーションの形で組み込んだものである。よって、全ての好適な変形例、均等物は、特許請求の範囲内にあると考えられる。
【図１】
2005524173.tif 000002
【図２】
2005524173.tif 000003
【図３】
2005524173.tif 000004
【図４】
2005524173.tif 000005
【国際調査報告】
2005524173.tif 000006