(57)【要約】      （修正有）【課題】複数のデータ経路が提供される環境でインバウンド・データ及びアウトバウンド・データを同期化する装置、システム、及び方法を提供する。【解決手段】ホスト・コンピュータによるデータ送信試行が失敗した場合、ホスト・コンピュータは、その障害を別個のネットワーク接続を有する２次デバイスに通知する。２次デバイスは、それ自体の別個のネットワーク接続を介してデータ送信を試行する。２次デバイスによるデータ送信が失敗した場合、ホスト・コンピュータは、それ自体のネットワーク接続を介する新しいデータ送信試行を生成する。ホスト・コンピュータがデータ送信試行を継続することができなくなった場合は、２次デバイスが上記と同一の処理を実行する。【選択図】図１
2010136330.tif 000002
【特許請求の範囲】
【請求項１】
データ同期化のためのコンピュータに読み込み可能なプログラムを備えるコンピュータに読み込み可能な記録媒体であって、前記コンピュータに読み込み可能なプログラムは、それ自体がコンピュータ上で実行されたときに、
ホスト・コンピュータによる第１のネットワーク接続を介したアウトバウンド・データ・アイテムの送信が失敗したことに応答して、送信失敗イベントの通知が受信されたことに応答して第２のネットワーク接続を介する前記アウトバウンド・データ・アイテムの２次送信イベントを生成するように構成された２次デバイスに、前記送信失敗イベントを通知するステップと、
前記２次デバイスによる前記アウトバウンド・データ・アイテムの送信が失敗したことに応答して、前記ホスト・コンピュータ上の前記アウトバウンド・データ・アイテムに関する前記第１のネットワーク接続を介する新しい送信イベントを生成するステップと、
前記アウトバウンド・データ・アイテムを前記第１のネットワーク接続を介して送信する前記ホスト・コンピュータによる前記新しい送信イベントの実行が成功したことに応答して、前記２次デバイスに送信成功イベントを通知するステップと、
を前記コンピュータに実行させる、コンピュータに読み込み可能な記録媒体。
【請求項２】
前記２次デバイスからの確認通知を前記ホスト・コンピュータに受信させるステップを更に含み、前記２次デバイスは、前記２次デバイスによる前記アウトバウンド・データ・アイテムの送信が成功したことに応答して、前記確認通知を送信する、請求項１に記載のコンピュータに読み込み可能な記録媒体。
【請求項３】
前記２次デバイスは、送信成功イベントの前記通知が前記ホスト・コンピュータから受信されたことに応答して、前記第２のネットワーク接続上の前記アウトバウンド・データ・アイテムに関する２次送信イベントの生成を停止するように構成される、請求項１〜請求項２のいずれかに記載のコンピュータに読み込み可能な記録媒体。
【請求項４】
前記新しい送信イベントは、前記ホスト・コンピュータの状態変更、及び前記ホスト・コンピュータの前記ネットワーク接続の状態変更のうちの１つに応答して更に生成される、請求項１〜請求項３のいずれかに記載のコンピュータに読み込み可能な記録媒体。
【請求項５】
前記新しい送信イベントの生成に先立って、前記２次デバイスが前記アウトバウンド・データ・アイテムの送信に失敗したことを前記ホスト・コンピュータに検証させるステップを更に含む、請求項１〜請求項４のいずれかに記載のコンピュータに読み込み可能な記録媒体。
【請求項６】
前記ホスト・コンピュータが前記アウトバウンド・データ・アイテムを前記第１のネットワーク接続を介して送信したこと、及び前記２次デバイスが前記アウトバウンド・データ・アイテムを前記第２のネットワーク接続を介して送信したことのうちの１つに応答して、前記ホスト・コンピュータに前記アウトバウンド・データ・アイテムを「送信済み」として指定させるステップを更に含む、請求項１〜請求項５のいずれかに記載のコンピュータに読み込み可能な記録媒体。
【請求項７】
前記２次デバイスは、前記ホスト・コンピュータに直接接続された、前記ホスト・コンピュータと別個のカードを介して前記ホスト・コンピュータと通信可能に接続され、前記カードは、Ｂｌｕｅｔｏｏｔｈ接続によって前記２次デバイスと通信可能に接続される、請求項１〜請求項６のいずれかに記載のコンピュータに読み込み可能な記録媒体。
【請求項８】
前記カードは、前記ホスト・コンピュータがパワー・ダウン状態にあることに応答して、前記２次デバイスにデータを送信し、前記２次デバイスからデータを受信する、請求項７に記載のコンピュータに読み込み可能な記録媒体。
【請求項９】
前記第１のネットワーク接続を介して前記ホスト・コンピュータによって受信されていないインバウンド・データ・アイテムを前記２次デバイスが受信しているかどうかを判定するステップと、
前記ホスト・コンピュータによって受信されていない前記インバウンド・データ・アイテムを前記２次デバイスから受信するステップと、
を前記ホスト・コンピュータに実行させるステップ
を更に含む、請求項１〜請求項８のいずれかに記載のコンピュータに読み込み可能な記録媒体。
【請求項１０】
前記ホスト・コンピュータによって受信されていないインバウンド・データ・アイテムを前記２次デバイスが受信しているかどうかを判定する前記ステップは、
前記第１のネットワーク接続を介して前記ホスト・コンピュータに送信されるインバウンド・データ・アイテムに関する１組の固有ＩＤを取得するステップと、
前記第２のネットワーク接続を介して前記２次デバイスに送信されるインバウンド・データ・アイテムに関する１組の固有ＩＤを取得するステップと、
前記ホスト・コンピュータのインバウンド・データ・アイテムに関する前記１組の固有ＩＤ以外の固有ＩＤを有する前記インバウンド・データ・アイテムを前記２次デバイスから受信するステップと、
を更に含む、請求項９に記載のコンピュータに読み込み可能な記録媒体。
【請求項１１】
前記アウトバウンド・データ・アイテムは、電子メール、カレンダー・イベント、及びソフトウェア更新のうちの１つである、請求項１〜請求項１０のいずれかに記載のコンピュータに読み込み可能な記録媒体。
【請求項１２】
前記２次デバイスは、Ｂｌｕｅｔｏｏｔｈ接続によって前記ホストと通信可能に接続される、請求項１〜請求項６のいずれかに記載のコンピュータに読み込み可能な記録媒体。
【請求項１３】
前記コンピュータに読み込み可能なプログラムは、前記ホスト・コンピュータ及びカードのうちの一方で実行される、請求項７〜請求項８のいずれかに記載のコンピュータに読み込み可能な記録媒体。
【請求項１４】
マルチ・パス環境におけるデータ伝送の重複を減少させる装置であって、
ホスト・コンピュータによる第１のネットワーク接続を介したアウトバウンド・データ・アイテムの送信が失敗したことに応答して、送信失敗イベントの通知が受信されたことに応答して前記アウトバウンド・データ・アイテムを第２のネットワーク接続を介して送信するよう２次デバイスに命令する２次送信イベントを生成するように構成された前記２次デバイスに、前記送信失敗イベントを通知するように構成されたアウトバウンド・モジュールと、
前記アウトバウンド・データ・アイテムが前記第２のネットワークを介して送信されるように、前記２次デバイスが前記２次送信イベントの実行を成功させたことに応答して、前記２次デバイスから確認通知を受信するように構成された確認モジュールと、
前記確認モジュールが前記アウトバウンド・データ・アイテムに関する前記確認通知を有さないときに、前記アウトバウンド・データ・アイテムに関する前記ホスト・コンピュータ上の新しい送信イベントを生成するように構成された再試行モジュールと、
前記ホスト・コンピュータによる前記アウトバウンド・データ・アイテムの送信成功イベントを示す成功通知を前記２次デバイスに提供するように構成された同期モジュールと、
を備え、
前記２次デバイスは、前記成功通知が受信されたことに応答して、前記アウトバウンド・データ・アイテムに関する２次送信イベントの生成を停止するように構成される、
装置。
【請求項１５】
前記同期モジュールは更に、前記確認モジュールが前記確認通知を受信したことに応答して、前記アウトバウンド・データ・アイテムを「前記ホスト・コンピュータ上に送信済み」として指定するように構成される、請求項１４に記載の装置。
【請求項１６】
前記ホスト・コンピュータに送信される１つ又は複数のインバウンド・データ・アイテムに関する１組の固有ＩＤを取得し、
前記２次デバイスに送信される１つ又は複数のインバウンド・データ・アイテムに関する１つ又は複数の固有ＩＤと、前記ホスト・コンピュータに送信される前記１つ又は複数のインバウンド・データ・アイテムに関する前記１組の固有ＩＤとを比較し、
前記２次デバイスによって受信されたインバウンド・データ・アイテムであって、前記ホスト・コンピュータのインバウンド・データ・アイテムに関する前記１組の固有ＩＤ以外の固有ＩＤを有するインバウンド・データ・アイテムを前記２次デバイスから受信する
ように構成されたインバウンド・モジュールを更に備える、請求項１４〜請求項１５のいずれかに記載の装置。
【請求項１７】
前記再試行モジュールは、
前記ホスト・コンピュータがネットワークへの接続を検出したこと、
前記ホスト・コンピュータがパワー・オン状態に入ったこと、及び
所定の待ち時間が完了したこと
のうちの１つ又は複数に応答して前記新しい送信イベントを更に生成する、
請求項１４〜請求項１６のいずれかに記載の装置。
【請求項１８】
ホスト・コンピュータを備えるシステムであって、
前記ホスト・コンピュータは、
前記ホスト・コンピュータを第１のネットワークと通信可能に接続する第１のネットワーク接続と、
第１の同期化装置であって、
前記ホスト・コンピュータによる前記第１のネットワークを介したアウトバウンド・データ・アイテムの送信が失敗したことに応答して、送信失敗イベントを２次デバイスに通知するように構成されたアウトバウンド・モジュールと、
前記２次デバイスによる第２のネットワークを介した前記アウトバウンド・データ・アイテムの送信が成功したことに応答して、前記２次デバイスから確認通知を受信するように構成された確認モジュールと、
前記確認モジュールが前記アウトバウンド・データ・アイテムに関する前記確認通知を有さないことに応答して、前記アウトバウンド・データ・アイテムを前記ホスト・コンピュータ上で再送信するように構成された再試行モジュールと、
前記ホスト・コンピュータによる前記アウトバウンド・データ・アイテムの送信成功イベントに応答して、成功通知を前記２次デバイスに提供するように構成された同期モジュールと、
を備える第１の同期化装置と、
を備え、
前記２次デバイスは、
前記２次デバイスを前記第２のネットワークと通信可能に接続する第２のネットワーク接続と、
支援装置であって、
前記ホスト・コンピュータ上の送信失敗イベントの通知が前記アウトバウンド・モジュールから受信されたことに応答して、前記第２のネットワークを介する前記アウトバウンド・データ・アイテムに関する２次送信イベントを生成するように構成された送信モジュールと、
前記２次デバイスによる前記第２のネットワークを介した前記アウトバウンド・データ・アイテムの送信が成功したことに応答して、前記確認通知を前記ホスト・コンピュータに送信するように構成された検証モジュールと、
前記２次送信イベントが失敗したことに応答して、また、前記２次デバイスが前記成功通知を有さないことに応答して、前記アウトバウンド・データ・アイテムを前記２次デバイス上で再送信するように構成された２次再試行モジュールと、
を備える支援装置と、
を備える、
システム。
【請求項１９】
前記再試行モジュールは更に、前記ホスト・コンピュータによる前記アウトバウンド・データ・アイテムの送信成功イベントが発生するまで、又は前記確認モジュールが前記確認通知を受信するまで、前記アウトバウンド・データ・アイテムの再送信を継続するように構成される、請求項１８に記載のシステム。
【請求項２０】
前記ホスト・コンピュータと直接接続を介して通信可能に接続され、前記２次デバイスと通信可能に接続されるように構成されたカードを更に備える、請求項１８〜請求項１９のいずれかに記載のシステム。
【請求項２１】
前記カードは、前記ホスト・コンピュータがパワー・ダウン状態にあることに応答して、前記２次デバイスにデータを送信し、前記２次デバイスからデータを受信する、請求項２０に記載のシステム。
【請求項２２】
マルチ・パス環境におけるデータ伝送の重複を減少させる装置であって、
ホスト・コンピュータに対して、前記ホスト・コンピュータを第１のネットワークに接続する第１のネットワーク接続を介してアウトバウンド電子メールを送信するよう命令する、前記ホスト・コンピュータ上で動作するメール・ユーザ・エージェントの送信イベントを検出し、
前記ホスト・コンピュータと通信可能に接続され、第２のネットワーク接続によって第２のネットワークと通信可能に接続された２次デバイスに前記アウトバウンド電子メールをコピーし、
前記ホスト・コンピュータ上の前記アウトバウンド電子メールの前記送信イベントが失敗及び遅延のうちの１つに該当することを示す１つ又は複数の伝送イベントの有無を監視し、
１つ又は複数の伝送イベントの発生に応答して、前記送信要求が受信されたことに応答して前記アウトバウンド電子メールを送信するように構成された前記２次デバイスに送信要求を送信する
ように構成されたアウトバウンド・モジュールと、
前記２次デバイスによる前記アウトバウンド電子メールの送信が成功したことに応答して、前記２次デバイスから確認通知を受信するように構成された確認モジュールと、
前記確認モジュールが前記アウトバウンド電子メールに関する前記確認通知を有さないときに、前記ホスト・コンピュータ上の前記アウトバウンド電子メールに関する前記メール・ユーザ・エージェント内の新しい送信イベントを生成するように構成された再試行モジュールと、
を備える装置。
【請求項２３】
前記ホスト・コンピュータによる前記アウトバウンド電子メールの送信成功イベントを示す成功通知を前記２次デバイスに提供するように構成された同期モジュールを更に備え、前記２次デバイスは、前記成功通知が受信されたことに応答して、前記アウトバウンド電子メールを送信キューから削除するように構成される、請求項２２に記載の装置。
【請求項２４】
インバウンド・モジュールであって、
前記ホスト・コンピュータに送信される１つ又は複数のインバウンド電子メールに関する１組の固有ＩＤを取得し、
前記２次デバイスに送信される１つ又は複数のインバウンド電子メールに関する１つ又は複数の固有ＩＤと、前記ホスト・コンピュータに送信される前記１つ又は複数のインバウンド電子メールに関する前記１組の固有ＩＤとを比較し、
前記２次デバイスによって受信されたインバウンド電子メールであって、前記ホスト・コンピュータのインバウンド電子メールに関する前記１組の固有ＩＤ以外の固有ＩＤを有するインバウンド電子メールを前記２次デバイスから受信する
ように構成されたインバウンド・モジュール
を更に備える、請求項２２〜請求項２３のいずれかに記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データが別個の経路を通じて送受信され得る環境で適切に同期化されたデータを維持することに関するものである。
【背景技術】
【０００２】
近年のパーソナル・コンピューティング業界の成長により、多くの人々は複数のコンピューティング・デバイスを所有するようになっている。デスクトップ・コンピュータ、ラップトップ・コンピュータ、及び携帯電話や携帯情報端末（ＰＤＡ）のようなモバイル・コンピューティング・デバイスを個人が所有することは、もはや珍しいことではない。様々なコンピューティング・デバイスがユーザの様々なニーズを満たしている。例えば、電子メールの送信及び作成ではラップトップの方が快適なプラットフォームとなる可能性があるが、携帯電話（スマート・フォン等）は、サービス・プロバイダの無線ネットワークを使用してメッセージを送受信することができ、したがって一般により多くの場面で利用できるため、多くの場合、携帯電話の方が使い勝手の良い電子メール・ツールとなる。ユーザが携帯電話の受信範囲におり、対応する電子メール・アクセスを有する場合にも、ラップトップから接続可能なネットワークにアクセスすることができない状況が数多く見受けられる。
【０００３】
スマート・フォンを使用して電子メールを送る不便さが顕著となり、その結果、米国の文化語彙に「ブラックベリー・サム（Ｂｌａｃｋｂｅｒｒｙ  ｔｈｕｍｂ）」のような言い回しが追加されるに至っている。Ｌｅｎｏｖｏ社の「Ｃｏｎｓｔａｎｔ  Ｃｏｎｎｅｃｔ」は、ラップトップがネットワークに接続されていないときでもユーザがそのラップトップを使用して電子メールの送信を行うことができるようにすることにより、これらの問題を回避する。例えば、「Ｃｏｎｓｔａｎｔ  Ｃｏｎｎｅｃｔ」は、ラップトップがネットワークに接続されているときはラップトップのネットワークを使用し、ラップトップが互換ネットワークと直接通信することができないときは、携帯電話の接続を使用してラップトップからデータを通信する。この解決策は、ラップトップのネットワーク接続如何に関わらず、ラップトップを使用してデータの送受信を行う能力をユーザに提供するが、同期データの維持が困難となる。
【０００４】
上記は言うまでもなく、データがソースとの間の複数の経路を移動する可能性があるために発生し得る同期化問題の状況を示す単なる一例にすぎない。例えば、ラップトップ上の電子メール・クライアントの場合では、ラップトップに代わって携帯電話からメッセージが送られても、後にラップトップがネットワークに接続されたときにメッセージがラップトップからも送られるという重複が生じる可能性がある。同様に、電子メールがユーザのラップトップ上の受信ボックスに複数回現れるという問題も発生し得る。インバウンド・データ（ｉｎｂｏｕｎｄ  ｄａｔａ）とアウトバウンド・データ（ｏｕｔｂｏｕｎｄ  ｄａｔａ）の両方が重複し、受信ボックスに複数回現れる可能性もある。
【０００５】
データの送信及び再送信が複数回行われることにより、ユーザの処理が複雑となり、フラストレーションをもたらす恐れがある。重複した電子メールが何度も送受信されることになれば、送信済みの電子メールと未送信の電子メールとを手動で追跡し、重複した電子メールを受信ボックスから手動で削除し、いくつかのメッセージが２回も送信された理由を何度も説明するといった煩わしさが生じるために、多くのユーザは、複数の経路を提供するシステムを十分活用することができない可能性がある。また、そのようなデータがソフトウェア・パッチやソフトウェア更新のような情報である場合は、既に実行された実行可能ファイルの追加的なコピーが受信されることにより、受信側システムでエラーやインストール障害のような問題が発生する可能性もある。少なくとも、既にインストールされたものを不必要にコンピュータにインストールすれば、追加的なダウン・タイムとなる。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記の論述から分かるように、複数のデバイス間でデータを同期化する装置、システム、及び方法が必要とされている。有益なことに、そのような装置、システム、及び方法は、データの重複を防止する。
【課題を解決するための手段】
【０００７】
本発明は、当業界の現状、特に当業界でまだ解決されていない課題及び必要性に応じて開発されたものである。したがって、本発明は、当業界の多くの欠点又はすべての欠点を克服するデータ同期化装置、システム、及び方法を提供するために開発されたものである。
【０００８】
データ同期化のためのコンピュータに読み込み可能なプログラムを備えるコンピュータに読み込み可能な記録媒体であって、前記コンピュータに読み込み可能なプログラムは、それ自体が実行されたときに、ホスト・コンピュータに、前記ホスト・コンピュータがそれ自体のネットワーク接続を介したアウトバウンド・データ・アイテムの送信に失敗した場合は前記ホスト・コンピュータ上の送信失敗イベント（ｆａｉｌｅｄ  ｓｅｎｄ  ｅｖｅｎｔ）を２次デバイスに通知させる、コンピュータに読み込み可能な記録媒体が開示される。前記２次デバイスは、前記送信失敗イベントの前記通知が受信されたことに応答して、第２のネットワーク接続を介する前記アウトバウンド・データ・アイテムの２次送信イベント（ｓｅｃｏｎｄａｒｙ  ｓｅｎｄ  ｅｖｅｎｔ）を開始する。一実施形態において、前記アウトバウンド・データ・アイテムは電子メールであり、前記送信イベントは前記電子メールをサーバに送信する。他の実施形態において、前記アウトバウンド・データ・アイテムは、リモート・コンピュータに送信されるファイルやフォルダのようなデータである。前記アウトバウンド・データ・アイテム及びインバウンド・データ・アイテムは、カレンダー・イベントやソフトウェア更新のようなものである可能性もある。
【０００９】
また、前記コンピュータに読み込み可能なプログラムは、前記コンピュータに、前記２次デバイスがそれ自体のネットワーク接続を介した前記アウトバウンド・データ・アイテムの送信に失敗した場合は、前記ホスト・コンピュータ上の前記アウトバウンド・データ・アイテムに関する新しい送信イベントを開始させる。また、前記コンピュータは、前記アウトバウンド・データ・アイテムが前記第１のネットワーク接続を介して送信されるように前記ホスト・コンピュータが前記新しい送信イベントの実行を成功させた場合は、前記２次デバイスに送信成功イベント（ｓｕｃｃｅｓｓｆｕｌ  ｓｅｎｄ  ｅｖｅｎｔ）を通知する。
【００１０】
いくつかの実施形態において、前記コンピュータに読み込み可能なプログラムは更に、前記２次デバイスからの確認通知を前記ホスト・コンピュータに受信させる。前記２次デバイスは、前記アウトバウンド・データ・アイテムの送信に成功した場合に前記確認通知を送信する。また、前記２次デバイスは、送信成功イベントの前記通知を前記ホスト・コンピュータから受信したときに、前記アウトバウンド・データ・アイテムに関する２次送信イベントの生成を停止するように構成される。
【００１１】
いくつかの実施形態において、前記ホスト・コンピュータ上の前記新しい送信イベントは、前記ホスト・コンピュータの状態変更、又は前記ホスト・コンピュータの前記ネットワーク接続の状態変更があった場合に生成される。例えば、前記ホスト・コンピュータは、「スリープ」から「アクティブ」に状態を変更することができる。いくつかの実施形態において、前記ホスト・コンピュータは、前記新しい送信イベントの開始に先立って、前記２次デバイスが前記アウトバウンド・データ・アイテムの送信に失敗したことを検証する。
【００１２】
いくつかの実施形態において、前記ホスト・コンピュータは、前記ホスト・コンピュータが前記アウトバウンド・データ・アイテムを前記第１のネットワーク接続を介して送信した場合、又は前記２次デバイスが前記アウトバウンド・データ・アイテムを前記第２のネットワーク接続を介して送信した場合は、前記アウトバウンド・データ・アイテムを「前記ホスト・コンピュータによって送信済み」として指定する。
【００１３】
一実施形態において、前記２次デバイスは、前記ホスト・コンピュータに接続された、前記ホスト・コンピュータと別個のカードを介して前記ホスト・コンピュータに接続される。前記カードは、Ｂｌｕｅｔｏｏｔｈ（Ｒ）接続によって前記２次デバイスと通信可能に接続される。いくつかの実施形態において、前記カードは、前記ホスト・コンピュータがｓ３、ｓ４、ｓ５のようなパワー・ダウン状態にあるときに、前記２次デバイスにデータを送信し、前記２次デバイスからデータを受信する。いくつかの実施形態において、前記コンピュータに読み込み可能なプログラムは、前記カード上で実行される。
【００１４】
他の実施形態において、前記ホスト・コンピュータは、前記ホスト・コンピュータによって受信されていないインバウンド・データ・アイテムを前記２次デバイスが受信しているかどうかを判定する。受信している場合には、前記ホスト・コンピュータは、前記ホスト・コンピュータによって受信されていない前記インバウンド・データ・アイテムを前記２次デバイスから受信する。この判定は、前記ホスト・コンピュータに送信されるインバウンド・データ・アイテムに関する１組の固有ＩＤを取得し、前記第２のネットワーク接続を介して前記２次デバイスに送信されるインバウンド・データ・アイテムに関する１組の固有ＩＤを取得し、前記ホスト・コンピュータのインバウンド・データ・アイテムに関する前記１組の固有ＩＤ以外の固有ＩＤを有するインバウンド・データ・アイテムを前記２次デバイスから受信することによって実行することができる。
【００１５】
マルチ・パス環境におけるデータ伝送の重複を減少させる装置も開示される。前記装置は、ホスト・コンピュータによる第１のネットワーク接続を介したアウトバウンド・データ・アイテムの送信が失敗した場合に、前記ホスト・コンピュータ上の送信失敗イベントを前記２次デバイスに通知するアウトバウンド・モジュールを含む。前記２次デバイスは、前記送信失敗イベントの前記通知を受信した場合は、前記アウトバウンド・データ・アイテムを第２のネットワーク接続を介して送信するよう前記２次デバイスに命令する２次送信イベントを開始する。
【００１６】
前記装置は、前記アウトバウンド・データ・アイテムが前記第２のネットワークを介して送信されるように、前記２次デバイスが前記２次送信イベントの実行を成功させたときに、前記２次デバイスから確認通知を受信する確認モジュールも含む。再試行モジュールは、前記確認モジュールが前記アウトバウンド・データ・アイテムに関する前記確認通知を有さない（ｌａｃｋ）ときに、前記アウトバウンド・データ・アイテムに関する前記ホスト・コンピュータ上の新しい送信イベントを開始する。
【００１７】
また、同期モジュールは、前記ホスト・コンピュータによる前記アウトバウンド・データ・アイテムの送信成功イベントを示す成功通知を前記２次デバイスに提供する。前記２次デバイスは、前記成功通知を受信したときに、前記アウトバウンド・データ・アイテムに関する２次送信イベントの開始を停止する。また、前記同期モジュールは、前記確認モジュールが前記確認通知を受信したことに応答して、前記アウトバウンド・データ・アイテムを「前記ホスト・コンピュータ上に送信済み」として指定することもできる。
【００１８】
いくつかの実施形態において、前記装置は、前記ホスト・コンピュータに送信されるインバウンド・データ・アイテムに関する１組の固有ＩＤを取得し、それらの固有ＩＤと、前記２次デバイスに送信されるインバウンド・データ・アイテムに関する固有ＩＤとを比較するインバウンド・モジュールを含む。次に、前記装置は、前記２次デバイス上のインバウンド・データ・アイテムであって、前記ホスト・コンピュータのインバウンド・データ・アイテムに関する前記１組の固有ＩＤ以外の固有ＩＤを有するインバウンド・データ・アイテムを前記２次デバイスから受信する。
【００１９】
いくつかの実施形態において、前記再試行モジュールは、前記ホスト・コンピュータがネットワークへの接続を検出したこと、前記ホスト・コンピュータがパワー・オン状態に入ったこと、及び所定の待ち時間が完了したことに応答して、前記新しい送信イベントを更に開始する。
【００２０】
本発明によれば、第１のネットワークとの間の第１のネットワーク接続を有するホスト・コンピュータと、第２のネットワークとの間の第２のネットワーク接続を有する２次デバイスと、を含むシステムも開示される。前記ホスト・コンピュータは、上述のアウトバウンド・モジュールと、確認モジュールと、再試行モジュールと、同期モジュールと、を有する同期化装置を含む。前記２次デバイスは、送信モジュールと、検証モジュールと、２次再試行モジュールと、を有する支援装置（ｓｕｐｐｏｒｔ  ａｐｐａｒａｔｕｓ）を含む。
【００２１】
前記送信モジュールは、前記ホスト・コンピュータ上の送信失敗イベントの通知が前記アウトバウンド・モジュールから受信されたことに応答して、前記２次デバイス上の前記アウトバウンド・データ・アイテムに関する２次送信イベントを生成する。前記検証モジュールは、前記２次デバイスが前記第２のネットワークを介した前記アウトバウンド・データ・アイテムの送信に成功したときに、前記確認通知を前記ホスト・コンピュータに送信する。前記２次再試行モジュールは、前記２次送信イベントが失敗し、前記２次デバイスが前記成功通知を有さないときに、前記アウトバウンド・データ・アイテムを前記２次デバイス上に再送信する。
【００２２】
一実施形態において、前記再試行モジュールは、前記ホスト・コンピュータが前記アウトバウンド・データ・アイテムの送信に成功するまで、又は前記２次デバイスが前記アウトバウンド・データ・アイテムの送信に成功したことを示す前記確認通知が前記確認モジュールによって受信されるまで、前記アウトバウンド・データ・アイテムの再送信を継続する。
【００２３】
一実施形態において、前記アウトバウンド・モジュールは、ホスト・コンピュータに対してアウトバウンド電子メールを送信するよう命令する、前記ホスト・コンピュータ上で動作するメール・ユーザ・エージェントの送信イベントを検出する。前記アウトバウンド・モジュールは、前記アウトバウンド電子メールをＢｌｕｅｔｏｏｔｈのような通信接続を介して前記２次デバイスにコピーする。次に、前記アウトバウンド・モジュールは、前記ホスト・コンピュータ上の前記アウトバウンド電子メールの前記送信イベントが失敗又は遅延に該当することを示す伝送イベントの有無を監視する。前記アウトバウンド・モジュールは、伝送イベントの発生に応答して前記２次デバイスに送信要求を送信する。次に、前記２次デバイスは、前記送信要求が受信されたことに応答して前記アウトバウンド電子メールの送信を試行する。
【００２４】
かかる一実施形態において、前記再試行モジュールは、前記確認モジュールが前記アウトバウンド電子メールに関する前記確認通知を有さないときに、前記ホスト・コンピュータ上の前記アウトバウンド電子メールに関する前記メール・ユーザ・エージェント内の新しい送信イベントを開始するように構成することができる。前記同期モジュールは、前記ホスト・コンピュータによる前記アウトバウンド電子メールの送信成功イベントを示す成功通知を前記２次デバイスに提供するように構成することができ、前記２次デバイスは、前記成功通知が受信されたことに応答して、前記アウトバウンド電子メールを送信キューから削除する。
【００２５】
本明細書の全体において、各機能、利点、又は同様の表現への言及は、本発明を用いて実現され得る機能及び利点のすべてが本発明のどの単一の実施形態にも含まれるべきであり、あるいは含まれていることを意味するものではない。そうではなく、各機能及び利点についての言及は、一実施形態に関して説明される特定の機能、利点、又は特徴が本発明の少なくとも１つの実施形態に含まれることを意味するものと理解していただきたい。それ故、本明細書の全体において、各機能、利点、及び同様の表現に関する論述は、必ずしもそうではないが、同一の実施形態について言及している場合もある。
【００２６】
更に、本発明に関して記載される各機能、利点、及び特徴は、１つ又は複数の実施形態において任意の適切な形で組み合わせることができる。当業者なら、個々の実施形態に関する特定の機能又は利点のうちの１つ又は複数を備えていない場合にも、本発明が実施され得ることを理解するだろう。他の実例では、本発明の必ずしもすべての実施形態ではないが、いくつかの実施形態には追加的な機能及び利点が存在する可能性があることも理解されるだろう。
【００２７】
本発明は、単一のホストが複数のデータ経路を利用することが可能となる改良型データ同期を保証する解決策を提供する。本発明に関するこれらの機能及び利点は、以下の記載及び添付の特許請求範囲を読めばより完全に理解され、以下に示す本発明の実施形態から習得できるはずである。
【００２８】
本発明の上記利点の理解を容易にするために、以下では、添付図面に示される特定の実施形態を参照しながら、上記で簡潔に説明した本発明についてより具体的に説明する。添付図面は、本発明の典型的な実施形態を描写するものにすぎず、したがって本発明の範囲を限定するものと解釈されるべきではない。このような理解の下で、以下、各図面を参照しながら本発明の更に具体的且つ詳細な説明を行うものとする。
【図面の簡単な説明】
【００２９】
【図１】本発明を利用したデータ送受信システムの一実施形態を示す概略ブロック図である。
【図２】本発明を利用したデータ送受信システムの追加的な一実施形態を示す概略ブロック図である。
【図３】本発明を利用したデータ送受信システムの第３の実施形態を示す概略ブロック図である。
【図４】本発明の同期化装置の一実施形態を示す概略ブロック図である。
【図５】本発明の支援装置の一実施形態を示す概略ブロック図である。
【図６】本発明に係るアウトバウンド・データ同期化方法の一実施形態を示す概略フローチャートである。
【図７】本発明に係るインバウンド・データ同期化方法の一実施形態を示す概略フローチャートである。
【発明を実施するための形態】
【００３０】
本明細書に記載される機能ユニットの多くは、それぞれの実装環境の非依存性をより具体的に強調するためにモジュールとして標示されている。モジュールは、例えばメモリを有する１つ又は複数のプロセッサ、超大規模集積（ＶＬＳＩ）回路、ゲート・アレイ、プログラマブル・ロジック、又は個別部品、あるいはそれらのすべてを含むハードウェア回路を含むことができる。これらのハードウェア回路は、ハードワイヤード・ロジック機能の実行、又は有形のストレージ・デバイス上に記憶されたコンピュータに読み込み可能なプログラムの実行、又はプログラム化された機能の実行、あるいはそれらのすべてを実行することができる。コンピュータに読み込み可能なプログラムは、コンピュータ・システムによって実行されたときに本発明の各機能を実行することができる。
【００３１】
本明細書の全体をとおして、「１つの実施形態（ｏｎｅ  ｅｍｂｏｄｉｍｅｎｔ）」、「一実施形態（ａｎ  ｅｍｂｏｄｉｍｅｎｔ）」、又は同様の表現への言及は、当該実施形態に関して説明される特定の機能、構造、又は特徴が本発明の少なくとも１つの実施形態に含まれることを意味する。それ故、本明細書の全体で「１つの実施形態では（ｉｎ  ｏｎｅ  ｅｍｂｏｄｉｍｅｎｔ，）」、「一実施形態では（ｉｎ  ａｎ  ｅｍｂｏｄｉｍｅｎｔ，）」という文言及び同様の表現が見受けられるが、それらはすべて、必ずしもそうではないが同一の実施形態について言及している場合もある。
【００３２】
更に、ここに記載する本発明の各機能、構造、又は特徴は、１つ又は複数の実施形態に適する任意の形で互いに組み合わせることができる。以下の記載では、本発明の諸実施形態に関する完全な理解を与えるために、プログラミング、ソフトウェア・モジュール、ユーザ選択、ネットワーク・トランザクション、データベース照会、データベース構造、ハードウェア・モジュール、ハードウェア回路、ハードウェア・チップ等の実例に関する特定の詳細部分が様々な形で示されている。しかしながら、本発明は特定の詳細部分の１つ又は複数を伴わずに実施することができ、他の方法、構成要素、材料等と共に実施することもできることが当業者には理解されるだろう。他の実例では本発明の態様が曖昧になるのを避けるため、周知の構造、材料、又は処理については図示せず説明も省略する。
【００３３】
モジュールは、例えばコンピュータに読み込み可能な記録媒体に記憶することができる。そのようなメディアは、コンピュータに読み込むことが可能であり、プロセッサ上で実行される命令及びデータをそこから取り出すことが可能なすべての媒体を包含する。例えば、必ずしもそれだけに限定されるわけではないが、ＣＤ、ＤＶＤ、ハード・ドライブ、磁気媒体、光媒体、固定メモリ、及び当業界で知られる他の媒体が挙げられる。
【００３４】
図１には、サーバ１２０、ホスト・コンピュータ１０２、及び２次デバイス１１０を含むシステム１００が示されている。図示のとおり、ホスト・コンピュータ１０２は、第１のネットワーク１３０によってサーバ１２０と通信可能に接続される。ホスト・コンピュータ１０２は、第１のネットワーク接続１０８によって第１のネットワーク１３０と接続される。２次デバイス１１０は、第２のネットワーク１４０によってサーバ１２０と接続される。２次デバイス１１０は、第２のネットワーク接続１１４によって第２のネットワーク１４０と接続される。第１のネットワーク接続１０８及び第２のネットワーク接続１１４は、有線ネットワーク接続（イーサネット（Ｒ）等）であっても無線カードによって構成される無線接続であってもよい。ホスト・コンピュータ１０２と２次デバイス１１０は、第３のネットワーク接続１１６によって接続される。第３のネットワーク接続１１６もまた、有線ネットワーク接続であってもＢｌｕｅｔｏｏｔｈのような無線接続であってもよい。
【００３５】
いくつかの実施形態において、２次デバイス１１０及びホスト・コンピュータ１０２は、同一のネットワーク（例えば第１のネットワーク１３０）に接続されるが、第１のネットワーク接続１０８や第２のネットワーク接続１１４のような別個のネットワーク接続によって接続される。例えば、ホスト・コンピュータ１０２は、第１のネットワーク１３０との間のイーサネット接続を有する可能性がある一方、２次デバイス１１０は、第１のネットワーク１３０との間の無線接続を有する可能性がある。他の実施形態において、ホスト・コンピュータ１０２及び２次デバイス１１０は、第１のネットワーク１３０や第２のネットワーク１４０のような別個のネットワークに接続される。例えば、ホスト・コンピュータ１０２は、ケーブル又はＤＳＬプロバイダによって管理される第１のネットワーク１３０を介してサーバ１２０に接続され得る一方、２次デバイス１１０は、携帯電話会社のような国内無線サービス・プロバイダによって管理される第２のネットワーク１４０を介してサーバ１２０に接続され得る。ホスト・コンピュータ１０２及び２次デバイス１１０はそれぞれ、第１のネットワーク接続１０８及び第２のネットワーク接続１１４を構成する別個の物理デバイスを有する。各ネットワーク接続はそれぞれ別個のハードウェアを介して構成される（例えば、ホスト・コンピュータ１０２及び２次デバイス１１０は同一の無線カード又はイーサネット・ポートを共有しない）。
【００３６】
ホスト・コンピュータ１０２は、デスクトップ・コンピュータ、携帯情報端末（ＰＤＡ）、ラップトップ、あるいはサーバ１２０との間のネットワーク接続を介してデータを通信することが可能な他の電子デバイスとすることもできる。２次デバイス１１０は、コンピュータ、ＰＤＡ、携帯電話、あるいはサーバ１２０との間のネットワーク接続を介してデータを通信することが可能な他のデバイスとすることもできる。ホスト・コンピュータ１０２及び２次デバイス１１０は、それらが同一のネットワークを使用する場合も、サーバ１２０との間ではそれぞれ別個の物理接続を有する。例えば、ホスト・コンピュータ１０２が第１のネットワーク１３０との間の無線ネットワーク接続を介して通信する場合に、２次デバイス１１０もまた同一の無線ネットワークを介して通信することができる。
【００３７】
いくつかの実施形態において、ホスト・コンピュータ１０２及び２次デバイス１１０は、物理的に同一のフォーム・ファクタ（ｆｏｒｍ  ｆａｃｔｏｒ）に収まる。かかる実施形態において、２次デバイス１１０は、ＰＣＩエクスプレスである第３のネットワーク接続１１６によってホスト・コンピュータ１０２のマザーボードに直接接続することができる。他の実施形態において、２次デバイス１１０は、ＵＳＢのような周知の通信プロトコルを利用してホスト・コンピュータに接続されるカードである。また他の実施形態において、２次デバイス１１０は、ホスト・コンピュータ１０２と分離され、本願に記載の機能を含めた多数の機能を提供する。例えば、携帯電話は、Ｂｌｕｅｔｏｏｔｈ接続であるネットワーク接続１１６を使用してホスト・コンピュータ１０２に接続することができる。一方、各実施形態において、２次デバイス１１０は、ホスト・コンピュータ１０２によって提供される物理ネットワーク接続（第１のネットワーク接続１０８）とは別個の物理ネットワーク接続（第２のネットワーク接続１１４）を提供する。
【００３８】
ホスト・コンピュータ１０２は、ホスト・コンピュータ１０２がネットワークを介して情報を通信することを可能にする通信モジュール１０４も含む。ホスト・コンピュータ１０２は、通信モジュール１０４を使用して、第１のネットワーク接続１０８を介して情報を送受信する。同様に、２次デバイス１１０は、第２のネットワーク接続１１４を介して情報を送受信するのに使用する通信モジュール１１２を有する。
【００３９】
本発明によれば、ホスト・コンピュータ１０２は、以下でより詳細に説明する同期化装置１０６を含む。同期化装置１０６は、ホスト・コンピュータ１０２とサーバ１２０との間の複数の経路を介したデータ通信を容易にする。例えば、ホスト・コンピュータ１０２が第１のネットワーク接続１０８を失い、その結果サーバ１２０と通信することができなくなった場合、同期化装置１０６は、２次デバイス１１０を介したデータの送受信を容易にする。ホスト・コンピュータ１０２及び２次デバイス１１０がサーバ１２０と通信しているときに、同期化装置１０６は、ホスト・コンピュータ１０２及び２次デバイス１１０によって重複したデータが送受信されることがないように通信を調整する。また、同期化装置１０６は、ある期間中に第１のネットワーク接続１０８と第２のネットワーク接続１１４の両方がダウンした場合に、インバウンド・データ及びアウトバウンド・データが当該ダウン後最初に利用可能になったネットワーク接続を介して確実に経路指定されるようにする。
【００４０】
図２は、本発明に係る同期化装置１０６の利益を享受し得るシステム２００の一例を示している。ただし、ここで説明する実施形態は、本発明の利益を享受し得るシステム２００の単なる一例にすぎない。本発明は、本明細書で説明する電子メールに限定されるものではない。
【００４１】
システム２００において、サーバ１２０は、メール転送エージェント（ＭＴＡ）とも呼ばれる電子メール・サーバ２１０である。電子メール・サーバ２１０は、ユーザに代わって電子メールを受信し、各ユーザから他のアカウントへの電子メールの送信を調整する。電子メール・サーバ２１０は、電子メール・メッセージを受信すると、電子メール・クライアント２０２を実行しているホスト・コンピュータ１０２に当該電子メール・メッセージを転送する。電子メール・サーバ２１０は、ＳＭＴＰサーバ、ＰＯＰ３サーバ、ＩＭＡＰサーバ、あるいはそれらの組合せとすることができる。電子メール・サーバ２１０の動作は本願の説明から逸れるため、詳細に説明することはしない。特に重要な点として、電子メール・サーバ２１０は、インバウンド電子メール・メッセージをホスト・コンピュータ１０２上で実行されている電子メール・クライアント２０２に通信し、電子メール・クライアント２０２からのアウトバウンド電子メール・メッセージを受信する。ホスト・コンピュータ１０２と電子メール・サーバ２１０との間の通信は、図示の実施形態の第１のネットワーク１３０を介して行われる。電子メール・サーバ２１０は、例えばＭｉｃｒｏｓｏｆｔ（Ｒ）Ｅｘｃｈａｎｇｅ  Ｓｅｒｖｅｒ（ＴＭ）、Ｓｅｎｄｍａｉｌ（Ｒ）、Ｐｏｓｔｆｉｘ（Ｒ）、Ｅｘｉｍ、あるいは当業界で知られる他のサーバであってよい。他の実施形態において、電子メール・サーバ２１０は、Ｈｏｔｍａｉｌ（Ｒ）やＧｍａｉｌ（Ｒ）等のウェブメール・サービスとすることができる。
【００４２】
ホスト・コンピュータ１０２は、電子メール・クライアント２０２と、同期化装置１０６とを含む。電子メール・クライアント２０２（メール・ユーザ・エージェント（ＭＵＡ）としても知られる）は、電子メールを送受信するホスト・コンピュータ１０２のユーザとのインターフェースを提供する。電子メール・クライアント２０２の例としては、Ｍｉｃｒｏｓｏｆｔ  Ｏｕｔｌｏｏｋ（Ｒ）、Ｇｒｏｕｐｗｉｓｅ（Ｒ）、Ｅｕｄｏｒａ（Ｒ）、Ａｐｐｌｅ  Ｍａｉｌ（Ｒ）、又は当業界で知られる他の電子メール・クライアントがある。好ましい一実施形態において、電子メール・クライアント２０２は、第１のネットワーク接続１０８の状態に関わらずユーザが電子メールを読み、電子メールにアクセスし、電子メールを作成することが可能となるようなオフライン機能を提供する。
【００４３】
システム２００内には、通信モジュール１１２及び支援装置２２４を含む携帯電話２２０も示されている。一実施形態において、携帯電話２２０は、Ｒｅｓｅａｒｃｈ  ｉｎ  Ｍｏｔｉｏｎ（ＲＩＭ）社のＢｌａｃｋＢｅｒｒｙ（Ｒ）携帯電話２２０である。しかしながら、携帯電話２２０は、第２のネットワーク１４０を介した音声通信と共にデータ通信も実現する任意のブランドであってよい。携帯電話２２０は、本発明に係る支援装置２２４も含む。
【００４４】
ユーザは、携帯電話２２０を使用して電子メールを送受信することもできる。一実施形態において、携帯電話２２０は、インバウンド電子メールを電子メール・サーバ２１０から第２のネットワーク１４０を介して受信し、アウトバウンド電子メールを第２のネットワーク１４０を介して電子メール・サーバ２１０に送信する。いくつかの実施形態において、第２のネットワーク１４０は、かかる通信をサポートする上で追加的な要素を必要とすることもある。例えば、携帯電話２２０との間の電子メールの通信を容易にするために、ＢｌａｃｋＢｅｒｒｙ  Ｅｎｔｅｒｐｒｉｓｅサーバが使用されることもある。携帯電話２２０には、ユーザが電子メール・メッセージを容易に作成し受信することができるようにする独自の電子メール・クライアント（図示せず）を実装することもできる。携帯電話２２０上の電子メール・クライアントは、オフライン機能を有することもできる。
【００４５】
また、携帯電話２２０及びホスト・コンピュータ１０２は、第３のネットワーク接続１１６を介して情報を通信する。一実施形態において、第３のネットワーク接続１１６は、Ｂｌｕｅｔｏｏｔｈ接続である。携帯電話２２０の通信モジュール１１２及びホスト・コンピュータ１０２の通信モジュール１０４は、携帯電話２２０とホスト・コンピュータ１０２との間のデータ共有を可能にするように構成される。一実施形態において、携帯電話２２０は、ホスト・コンピュータ１０２上のシリアル・ポートとして見えるものを確立するＢｌｕｅｔｏｏｔｈシリアル・ポート接続を有する。その後、データは、このＢｌｕｅｔｏｏｔｈシリアル・ポート接続を介してホスト・コンピュータ１０２及び携帯電話２２０との間で受け渡される。
【００４６】
一実施形態において、ユーザが電子メール・クライアント２０２を使用して電子メールを作成し送信する際、同期化装置１０６は、当該ユーザが電子メール・クライアント２０２上の送信ボタンを押したときに電子メール・クライアント２０２によって生成される送信イベントを検出する。送信イベントは、ホスト・コンピュータ１０２に対して、ホスト・コンピュータ１０２を第１のネットワーク１３０を介して電子メール・サーバに接続する第１のネットワーク接続１０８を介してアウトバウンド電子メールを送信するよう命令する。
【００４７】
一実施形態において、同期化装置１０６は、送信イベントを検出すると、第３のネットワーク接続１１６を介して携帯電話２２０にアウトバウンド電子メールをコピーする。次に、同期化装置１０６は、アウトバウンド電子メールが失敗したこと又は遅延していることを示すホスト・コンピュータ１０２上の伝送イベント（ｔｒａｎｓｍｉｓｓｉｏｎ  ｅｖｅｎｔ）の有無を監視する。例えば、ホスト・コンピュータ１０２がネットワークに接続されていない場合は、ホスト・コンピュータ１０２を電子メール・サーバ２１０に接続するネットワーク接続が存在しないので、電子メールを送信することができないことが伝送イベントによって示される可能性がある。あるいは、電子メールの送信に先立ってホスト・コンピュータ１０２がスリープ状態に入った場合、又は電子メールの送信を妨げる何らかの障害が存在する場合には、その障害又は遅延を示す伝送イベントが生成される。
【００４８】
一実施形態において、同期化装置１０６が伝送イベントを検出した場合、同期化装置１０６は、携帯電話２２０に対して、第２のネットワーク接続１１４を介して電子メール・サーバ２１０にアウトバウンド電子メールを送信するよう指示する送信要求（ｔｒａｎｓｍｉｔ  ｒｅｑｕｅｓｔ）を送信する。その結果、ユーザは、第１のネットワーク接続１０８がホスト・コンピュータ１０２と電子メール・サーバ２１０との通信状態を実現していない場合にも、ホスト・コンピュータ１０２を使用して電子メールを送信することができる。ホスト・コンピュータ１０２が切断された場合、あるいは第１のネットワーク１３０又は第１のネットワーク接続１０８のいずれかに問題が発生した場合も、ユーザはなおホスト・コンピュータ１０２を使用して電子メールを送信することができる。上述のように、送信イベントの失敗又は遅延を示す伝送イベントが発生した場合、電子メールは携帯電話２２０にリダイレクトされる。
【００４９】
一実施形態において、同期化装置１０６は、携帯電話２２０上の支援装置２２４から、携帯電話２２０が送信要求の指示どおりにアウトバウンド電子メールを無事送信したかどうかを示す確認通知を受信する。次に、同期化装置１０６は、電子メール・クライアント２０２に対してそれ以上アウトバウンド電子メールの送信を試行しないよう命令する。一実施形態では、上記の確認通知が受信されると、同期化装置１０６は、特定の電子メールを「送信済み（ｓｅｎｔ）」としてマーク付けし、当該電子メールを「送信待ち状態（ｐｅｎｄｉｎｇ  ｓｔａｔｅ）」から「送信済み状態（ｓｅｎｔ  ｓｔａｔｅ）」に移行させる。この機能を有効にするために、同期化装置１０６は、電子メール・クライアント２０２向けのプラグイン・コンポーネントを含むことができる。
【００５０】
その結果、携帯電話２２０からアウトバウンド電子メールが送信されると、ホスト・コンピュータ１０２上で送信成功を示すドキュメントが作成される。次に、同期化装置１０６は、第１のネットワーク接続１０８を介した接続が確立された後に電子メールを再び送信しないように、送信成功を示すドキュメントが電子メール・クライアント２０２によって確実に作成されるようにする。その結果、ホスト・コンピュータ１０２がネットワークに接続されていない場合も、ホスト・コンピュータ１０２上でアウトバウンド電子メールを作成し送信することができる。同期化装置１０６は、ユーザに気付かれない形でアウトバウンド電子メールを第２のネットワーク接続１１４を介して送信するように動作する。同期化装置１０６は、アウトバウンド電子メールがまだホスト・コンピュータ１０２の第１のネットワーク接続１０８上に送信されていない場合でも、当該アウトバウンド電子メールを「ホスト・コンピュータ１０２上に送信済み（ｓｅｎｔ  ｏｎ  ｔｈｅ  ｈｏｓｔ  ｃｏｍｐｕｔｅｒ  １０２）」としてマーク付けすることにより、アウトバウンド電子メールの複写が２つの別個の通信経路を介して送信されないことも保証する。
【００５１】
一方、携帯電話２２０は、電子メール・サーバ２１０との間の接続を有さないこともある。その場合、携帯電話２２０は、第２のネットワーク接続１１４を介してアウトバウンド電子メールを送信することができない。いくつかの実施形態において、同期化装置１０６は、アウトバウンド電子メールが可能な限り迅速に送信されることを保証するために、携帯電話２２０からのアウトバウンド電子メールの送信が成功したことがホスト・コンピュータ１０２に知らされるまで、ホスト・コンピュータ１０２がアウトバウンド電子メールの送信を試行するように促す。一実施形態において、同期化装置１０６は、ホスト・コンピュータ１０２上にアウトバウンド電子メールが送信されたことを示す確認通知が受信されない限り、当該アウトバウンド電子メールに関する新しい送信イベントを電子メール・クライアント２０２に開始させる。同期化装置１０６は、この処理を電子メール・クライアント２０２に定期的な間隔で実行させることができる。また、同期化装置１０６は、電子メール・クライアント２０２が独自のルールに従って定期的な再送信試行を実行することを可能にすることができる。例えば、電子メール・クライアント２０２は、ホスト・コンピュータ１０２が第１のネットワーク接続１０８を介してネットワークに接続されていることを検出したときに、アウトバウンド電子メールの送信を試行することができる。
【００５２】
ホスト・コンピュータ１０２がアウトバウンド電子メールの送信に成功した場合、同期化装置１０６は、当該アウトバウンド電子メールに関する送信成功イベントがホスト・コンピュータ１０２上で発生したことを示す成功通知を携帯電話２２０に提供する。支援装置２２４は、成功通知を受信したときに当該アウトバウンド電子メールを携帯電話２２０内の送信キューから削除する。この場合も同様に、ホスト・コンピュータ１０２がアウトバウンド電子メールの送信に成功した場合に携帯電話２２０から重複した電子メールが送信されることが確実に解消される。
【００５３】
例えば、一実施形態では、ユーザによって電子メール・クライアント２０２上の送信ボタンが押されたときに、同期化装置１０６は、上述のとおりアウトバウンド電子メールを携帯電話２２０にコピーする。ホスト・コンピュータ１０２が電子メールの送信に成功した場合には、同期化装置１０６は、携帯電話２２０に対して当該アウトバウンド電子メールのコピーを削除するよう命令する。ホスト・コンピュータ１０２がアウトバウンド電子メールの送信に失敗した場合には、携帯電話２２０は、第２のネットワーク接続１１４を介してアウトバウンド電子メールの送信を試行する。この時点で、ホスト・コンピュータ１０２及び携帯電話２２０は、アウトバウンド電子メールの送信試行を継続する。一方のデバイスがアウトバウンド電子メールの送信に成功したときは、その旨が他方に通知される。この時点で、後続のアウトバウンド電子メールの送信試行はすべて停止され、当該アウトバウンド電子メールは、「ホスト・コンピュータ１０２上に送信済み」としてマーク付けされる。当該電子メールは、「携帯電話２２０上に送信済み（ｓｅｎｔ  ｏｎ  ｔｈｅ  ｃｅｌｌ  ｐｈｏｎｅ  ２２０）」としてマーク付けすることもできる。
【００５４】
一実施形態において、携帯電話２２０は、ホスト・コンピュータ１０２からの送信要求を待つ代わりに、アウトバウンド電子メールのコピーを受信した後単純に所定の期間待機する。携帯電話２２０は、その期間の間にアウトバウンド電子メールが送信されたことを示す通知をホスト・コンピュータ１０２から受信しない場合は、第２のネットワーク接続１１４を介してアウトバウンド電子メールの送信試行を開始する。このように、一実施形態において、携帯電話２２０は、同期化装置１０６からアウトバウンド電子メールが無事送信されたことが知らされないままある期間が経過したときは、アウトバウンド電子メールの送信が成功しなかったものと仮定する。
【００５５】
同期化装置１０６は、インバウンド電子メールが複数の経路を介して重複なく受信されることも容易にする。一実施形態において、同期化装置１０６は、第１のネットワーク接続１０８を介してホスト・コンピュータ１０２に送信されるインバウンド電子メール毎に固有ＩＤを導出する。例えば、同期化装置１０６は、ｄａｙ／ｔｉｍｅ／ｓｅｎｔメール・ヘッダを固有ＩＤとして使用することができる。同期化装置１０６は、第１のネットワーク接続１０８を介して受信されるインバウンド電子メールを一意に識別するために、上記のメール・ヘッダを、送信者、件名、それらの何らかの組合せのような他の情報と組み合わせて使用することもできる。当業者なら、電子メールを様々な手法で一意に識別することができることを理解するだろう。
【００５６】
同期化装置１０６は、第１のネットワーク接続１０８を介して受信されたインバウンド電子メールに関する１組の固有ＩＤと、第２のネットワーク接続１１４を介して携帯電話２２０によって受信されたインバウンド電子メールに関する固有ＩＤとを比較する。一実施形態において、支援装置２２４は、携帯電話２２０によって受信されるインバウンド電子メールに関する固有ＩＤを提供する。同期化装置１０６は、これらの２組の固有ＩＤを比較することにより、携帯電話２２０では受信されたが、ホスト・コンピュータ１０２では受信されていないインバウンド電子メールを判定する。次に、同期化装置１０６は、携帯電話２２０では受信されたが、ホスト・コンピュータ１０２では受信されていないインバウンド電子メールを受信する。
【００５７】
一実施形態において、同期化装置１０６は、携帯電話２２０によって受信されたインバウンド電子メールが、第１のネットワーク接続１０８を介して受信された場合と同様に電子メール・クライアント２０２内に現れるようにする。いくつかの実施形態において、携帯電話２２０によって受信されるインバウンド電子メールは、電子メール・サーバ２１０上に実際に存在するインバウンド電子メールの簡略バージョンである。このような簡略バージョンを送信することにより、第２のネットワーク１４０上の帯域幅を節約することができる。かかる実施形態において、同期化装置１０６は、携帯電話２２０から受信されたインバウンド電子メールのバージョンが、当該インバウンド電子メールが第１のネットワーク接続１０８を介して実際に到着したときに、第１のネットワーク接続１０８を介して受信されたバージョンに置き換えられるようにすることができる。
【００５８】
その結果、本発明を用いると、ユーザは、第１のネットワーク接続１０８の接続状態に関わらずホスト・コンピュータ１０２を使用して電子メールを利用することが可能となる。インバウンド電子メールとアウトバウンド電子メールは共に、最初に利用可能になったネットワーク接続を介して送受信される。また、同期化装置１０６は、電子メール・サーバ２１０との間に２つの別個のデータ経路が与えられた場合に通常発生する重複を抑える。
【００５９】
図２は、キャッシュ装置２０４を有するカード２０６も示している。カード２０６は、本願で提示される電子メール・ソリューションの多用性を高めるのに使用することができる。同期化装置１０６がホスト・コンピュータ１０２と連動するいくつかの実施形態において、同期化装置１０６は、ホスト・コンピュータ１０２が動作しているときにしか機能しない。いくつかの実施形態において、この状態は「ｓ０」と呼ばれる。ホスト・コンピュータ１０２が中断（ｓｕｓｐｅｎｄ）状態、ハイバネート（ｈｉｂｅｒｎａｔｅ）状態、又はソフト・オフ（それぞれｓ３、ｓ４、ｓ５）状態にある場合、同期化装置１０６は利用することができず、上述の機能が発揮されない。そのような状態では、ホスト・コンピュータ１０２によって第３のネットワーク接続１１６が維持されることもない。
【００６０】
好ましいことに、カード２０６はホスト・コンピュータ１０２と独立して動作するように構成されている。それ故、カード２０６は、ホスト・コンピュータ１０２が利用可能でないときも電力を維持する。いくつかの実施形態において、カード２０６は、独自のプロセッサ及びメモリも含み、それ自体がホスト・コンピュータ１０２と独立して機能することができるように独自の別個のオペレーティング・システムを実行する。
【００６１】
また、ホスト・コンピュータ１０２が利用可能であるときは、同期化装置１０６は携帯電話２２０に送信される情報をカード２０６に書き込む。一実施形態において、キャッシュ装置２０４は、同期化装置１０６によって適合（ａｆｆｅｃｔ）される電子メールだけを記憶する。即ち、キャッシュ装置２０４は、電子メール・クライアント２０２のメールボックス全体を複製するわけではない。上述のように送信又は受信される電子メールだけがキャッシュ装置２０４に記憶される。同期化が完了すると、それらの電子メールはキャッシュ装置２０４から削除される。そのため、携帯電話２２０への送信情報及び携帯電話２２０からの受信情報もキャッシュ装置２０４に記憶される。一実施形態において、ホスト・コンピュータ１０２が利用可能であるときは、携帯電話２２０はホスト・コンピュータ１０２と直接通信する。
【００６２】
ホスト・コンピュータ１０２が利用可能でないときは（ｓ３、ｓ４、ｓ５の状態にあるとき等）、携帯電話２２０は、第３のネットワーク接続１１６を介してカード２０６との間で情報を通信する。そのため、ホスト・コンピュータ１０２との間の接続は終了され、カード２０６との間の接続が確立される。カード２０６は利用可能なままなので、携帯電話２２０はカード２０６への情報の書き込みを継続することができる。それ故、上述の通知をカード２０６に送信し、キャッシュ装置２０４に記憶することができる。ホスト・コンピュータ１０２がオンライン状態に戻ったときは、同期化装置１０６は、送受信された電子メールの状態に関する情報をカード２０６から取り出すことにより、それらの電子メールの状態を迅速に判定することができる。
【００６３】
一実施形態において、同期化装置１０６は、ホスト・コンピュータ１０２ではなくカード２０６上で動作する。他の実施形態において、カード２０６は、キャッシュ装置２０４を提供するように構成され、また、２次デバイス１１０となるように構成される。例えば、カード２０６は、図示の実施形態における携帯電話２２０の役割を効果的に果たすことができるように、無線ネットワーク接続を用いて構成され得る。別法として、カード２０６は、電子メール・サーバ２１０への別の接続経路としても使用され得る。
【００６４】
システム２００のいくつかの実施形態において、ホスト・コンピュータ１０２は付属のカード２０６を有さない。それでもなお、同期化装置１０６は上述のサービスを提供するが、かかる実施形態では、ホスト・コンピュータ１０２が利用可能でないときは通信及び同期化情報を共有することができない。
【００６５】
図３は、ホスト・コンピュータ１０２と２次デバイス１１０が共に第１のネットワーク１３０によってサーバ１２０に接続されるシステム３００を示している。ただし、ホスト・コンピュータ１０２は第１のネットワーク接続１０８によって接続され、２次デバイス１１０は第２のネットワーク接続１１４によって接続されている。例えば、第１のネットワーク接続１０８をイーサネット接続とし、第２のネットワーク接続１１４を無線接続とすることができる。
【００６６】
かかる一実施形態では、ホスト・コンピュータ１０２及び２次デバイス１１０が別個のネットワークを介して通信することを可能にするシステムによって同一の保護範囲が提供されないこともあるが、その場合も、図示の実施形態は有用である可能性がある。例えば、第１のネットワーク接続１０８を介したデータ送信を妨げるホスト・コンピュータ１０２内の問題は、第２のネットワーク接続１１４を介したデータ移動を可能にすることによって回避することができる。システム３００はやはり高い信頼性及び強固なデータ通信を実現する。
【００６７】
図４は、本発明に係る同期化装置１０６の一実施形態を示している。図示の実施形態において、同期化装置１０６は、アウトバウンド・モジュール３１０と、確認（ｃｏｎｆｉｒｍａｔｉｏｎ）モジュール３１２と、再試行（ｒｅｔｒｙ）モジュール３１４と、同期（ｓｙｎｃｈ）モジュール３１６とを含む。
【００６８】
アウトバウンド・モジュール３１０は、ホスト・コンピュータ１０２がアウトバウンド・データ・アイテムを第１のネットワーク接続１０８を介して送信することができなかった場合は、送信失敗イベントを２次デバイス１１０に通知する。２次デバイス１１０は、送信失敗イベントの通知を受信したときに２次デバイス１１０上の２次送信イベントを開始する。それにより、２次デバイス１１０は、第２のネットワーク接続１１４を介してアウトバウンド・データ・アイテムの送信を試行する。
【００６９】
一実施形態において、２次デバイス１１０への通知処理は、２次デバイス１１０にアウトバウンド・データ・アイテムを送信するよう指示する肯定通知（ａｆｆｉｒｍａｔｉｖｅ  ｎｏｔｉｆｉｃａｔｉｏｎ）を２次デバイス１１０に提供することを含む。他の実施形態において、２次デバイス１１０への通知処理は、アウトバウンド・データ・アイテムのコピーを２次デバイス１１０に提供し、電子メールがホスト・コンピュータ１０２上に送信されたことを示す指示を提供しないことを含む。例えば、アウトバウンド・モジュール３１０は、アウトバウンド・データ・アイテムのコピーを２次デバイス１１０に提供することができる。２次デバイス１１０は、アウトバウンド・データ・アイテムがホスト・コンピュータ１０２から送信されなかったことを示す確認が規定の期間内に受信されなかった場合は、当該アウトバウンド・データ・アイテムの送信試行を開始するように構成することができる。そのため、送信失敗イベントの２次デバイス１１０への通知処理は、負の肯定（ｎｅｇａｔｉｖｅ  ａｆｆｉｒｍａｎｃｅ）、即ち、上記と対照的な通知の不存在下で障害が推定される一実施形態を含む。
【００７０】
別の実施形態において、２次デバイス１１０への通知処理は、ホスト・コンピュータ１０２上の送信イベントを検出し、第３のネットワーク接続１１６を介して２次デバイス１１０にアウトバウンド・データ・アイテムをコピーすることを含む。かかる一実施形態において、アウトバウンド・モジュール３１０は、ホスト上のアウトバウンド・データ・アイテムに関する送信イベントの失敗又は遅延を示す伝送イベントの有無を監視するように構成することもできる。伝送イベントは、ホスト・コンピュータ１０２上のオペレーティング・システム、あるいはホスト・コンピュータ１０２上で実行されるアプリケーションによって生成することができる。
【００７１】
一実施形態において、アウトバウンド・モジュール３１０は、伝送イベントを検出した場合は２次デバイス１１０に送信要求を送信する。アウトバウンド・モジュール３１０から送信要求が受信された場合、２次デバイス１１０は、アウトバウンド・データ・アイテムのコピーを第２のネットワーク接続１１４を介して送信するように構成される。
【００７２】
一実施形態において、同期化装置１０６は確認モジュール３１２も含む。確認モジュール３１２は、２次デバイス１１０が第２のネットワーク接続１１４を介したアウトバウンド・データ・アイテムの送信に成功したときは、２次デバイス１１０から確認通知を受信するように構成される。この確認通知は、フラグ、メッセージ（ＸＭＬ等）、アウトバウンド・データ・アイテムの状態変更（即ち、「未送信（ｕｎｓｅｎｔ）」から「送信済み」への状態変更）、あるいは２次デバイス１１０によってアウトバウンド・データ・アイテムが送信されたことを示す他の通知とすることができる。
【００７３】
一実施形態において、同期化装置１０６は再試行モジュール３１４も含む。再試行モジュール３１４は、確認モジュール３１２が２次デバイス１１０から送信されたアウトバウンド・データ・アイテムに関して当該アウトバウンド・データ・アイテムが送信されたことを示す確認通知を有さない場合は、アウトバウンド・データ・アイテムに関するホスト・コンピュータ１０２上の新しい送信イベントを開始する。再試行モジュール３１４は、ホスト・コンピュータ１０２に対して、確認モジュール３１２が確認通知を受信しない限り、新しい送信イベントを定期的な間隔で開始するよう命令することができる。別法として、再試行モジュール３１４は、ホスト・コンピュータ１０２に対して、ホスト・コンピュータ１０２がネットワーク設定の変更を検出したことに応答して（即ち、ホスト・コンピュータ１０２が第１のネットワーク接続１０８を介してそれ自体がネットワークに接続されたことを検出した場合）、あるいはホスト・コンピュータ１０２がそれ自体の状態変更を検出したことに応答して（即ち、ホスト・コンピュータ１０２がｓ３、ｓ４、又はｓ５からｓ０に変更）、新しい送信イベントを開始するよう命令することができる。
【００７４】
同期化装置１０６は、ホスト・コンピュータ１０２によってアウトバウンド・データ・アイテムに関する送信イベントが無事実行されたことを示す成功通知（ｓｕｃｃｅｓｓ  ｎｏｔｉｆｉｃａｔｉｏｎ）を２次デバイス１１０に提供する同期モジュール３１６も含むことができる。２次デバイス１１０は、同期モジュール３１６から成功通知を受信したときはアウトバウンド・データ・アイテムに関する２次送信イベントの開始を停止するように構成される。
【００７５】
同期モジュール３１６は、確認モジュール３１２が上述の確認通知を受信した場合は、アウトバウンド・データ・アイテムを「ホスト・コンピュータ上に送信済み」として指定するように構成することもできる。例えば、アウトバウンド・データ・アイテムが電子メールである場合、同期モジュール３１６は、電子メール・クライアント２０２に対してアウトバウンド電子メールを「送信待ち」フォルダから「送信済み」フォルダに移動させるよう指示することができる。その結果、ユーザはアウトバウンド電子メールが送信されたことを知る。ただし、アウトバウンド電子メールの送信の仕組み（即ち、２次デバイス１１０による送信手法）はユーザから隠蔽されている。一実施形態において、同期モジュール３１６は、そのアウトバウンド電子メールが２次デバイス１１０から送信されたことを示す情報をアウトバウンド電子メールのメタデータに書き込む。
【００７６】
一実施形態において、成功通知及び確認通知は、ホスト・コンピュータ１０２と２次デバイス１１０のいずれかの関連デバイスからアウトバウンド・データ・アイテムが無事送信された事実だけを示す。これらの通知は、アウトバウンド・データ・アイテムがサーバ１２０に無事送信されたことを必ずしも示す必要はない。
【００７７】
一実施形態において、同期化装置１０６は、インバウンド・データ・アイテムの受信及び同期化を管理するインバウンド・モジュール３１８も含む。一実施形態において、インバウンド・モジュール３１８は、ホスト・コンピュータ１０２に送信されるインバウンド・データ・アイテムに関する一組の固有ＩＤを取得する。インバウンド・モジュール３１８は、ホスト・コンピュータ１０２に送信されたインバウンド・データ・アイテムに関する１組の固有ＩＤと、２次デバイス１１０に送信されたインバウンド・データ・アイテムに関する固有ＩＤとを比較する。
【００７８】
この比較により、インバウンド・モジュール３１８は、２次デバイス１１０では受信されたが、ホスト・コンピュータ１０２では受信されていないインバウンド・データ・アイテムを判定する。インバウンド・モジュール３１８は、そのようなホスト・コンピュータ１０２によって受信されていないインバウンド・データ・アイテムを２次デバイス１１０から受信する。一実施形態において、２次デバイス１１０から受信されたインバウンド・データ・アイテムは、ホスト・コンピュータ１０２が第１のネットワーク接続１０８を介してサーバ１２０に接続可能となったときに置き換えられるものとしてフラグ付けされ、又は他の方法でマーク付けされる。
【００７９】
このように、同期化装置１０６は、アウトバウンド・データ・アイテム及びインバウンド・データ・アイテムが重複しないことを保証しながら、アウトバウンド・データ・アイテムを送信しインバウンド・データ・アイテムを受信する複数の経路を提供するように動作する。その結果、同期化装置１０６は、消費者、特に絶えず移動する消費者にとって貴重なより強固且つ使い勝手の良い解決策を提供する。
【００８０】
図５は、本発明に係る支援装置２２４の一実施形態を示している。支援装置２２４は２次デバイス１１０上に実装され、同期化装置１０６と連動してデータ重複リスクを最小限に抑える強固なデータ伝送システムを提供する。支援装置２２４は、送信モジュール５１０と、検証（ｖｅｒｉｆｉｃａｔｉｏｎ）モジュール５１２と、２次再試行モジュール５１４とを含む。
【００８１】
送信モジュール５１０は、ホスト・コンピュータ１０２上の送信失敗イベントの通知が同期化装置１０６のアウトバウンド・モジュール３１０から提供されたときは、アウトバウンド・データ・アイテムを２次デバイス１１０の第２のネットワーク接続１１４を介して送信するように構成される。一実施形態において、送信モジュール５１０は、２次デバイス１１０の通信モジュール１１２によって提供されるアウトバウンド・データ・アイテムの送信機能を呼び出す２次送信イベントを生成する。そのため、アウトバウンド・データ・アイテムが第１のネットワーク接続１０８を介して送信されない場合は、同期化装置１０６と支援装置２２４とが連動してアウトバウンド・データ・アイテムを第２のネットワーク接続１１４を介して送信する。
【００８２】
上述のとおり、同期化装置１０６の確認モジュール３１２は、２次デバイス１１０がアウトバウンド・データ・アイテムの送信に成功したときに確認通知を受信する。検証モジュール５１２は、アウトバウンド・データ・アイテムが２次デバイス１１０から第２のネットワーク接続１１４を介して無事送信されたときに、上記の確認通知を確認モジュール３１２に送信する。一実施形態において、検証モジュール５１２は、無事実行されたアウトバウンド・データ・アイテムに関する送信イベントが送信モジュール５１０によって生成されたことに応答して、確認通知を送信する。
【００８３】
２次再試行モジュール５１４は、送信モジュール５１０によって生成された２次送信イベントが失敗した場合は、アウトバウンド・データ・アイテムを２次デバイス１１０上に再送信する。一実施形態において、２次再試行モジュール５１４は、アウトバウンド・データ・アイテムに関する新しい２次送信イベントを生成する。２次再試行モジュール５１４は、２次送信イベントが失敗した後に、２次デバイス１１０のネットワークの状態変更、２次デバイス１１０の状態変更、又はそれらの何らかの組合せが２次デバイス１１０から報告された場合は、新しい２次送信イベントを特定の間隔で生成することができる。新しい２次送信イベントをいつ生成すべきかを判定する際は、上記以外のイベントを使用することもできる。また、本発明は、新しい２次送信イベントを生成するのに使用される特定のイベントに限定されるわけではない。
【００８４】
上記のとおり、同期化装置１０６がアウトバウンド・データ・アイテムの送信に成功したときは、送信モジュール５１０から２次デバイス１１０に成功通知が提供される。一実施形態において、２次再試行モジュール５１４は、新しい２次送信イベントの生成に先立って、２次デバイス１１０が成功通知を受信していないことを検証する。２次再試行モジュール５１４は、成功通知が送信されたかどうかを単純に確認すること、成功通知の有無を同期化装置１０６にポーリングすること、あるいはその２つの組合せを実行することができる。新しい２次送信イベントの生成に先立って、同期化装置１０６がアウトバウンド・データ・アイテムを第１のネットワーク接続１０８を介して送信していないことを検証することは、データ重複の減少を保証するのに役立つ。
【００８５】
図６は、予期しないデータ重複のリスクが低減された高可用性データ通信システムを提供する方法６００の一実施形態を示す例示的なフローチャートである。フローチャートの左側はホスト・コンピュータ１０２上のアクティビティを示し、右側は２次デバイス１１０上のアクティビティを示す。方法６００は、ホスト・コンピュータ１０２上の送信イベントを生成するステップ（６０２）から開始する。一実施形態において、ユーザは、ホスト・コンピュータ１０２に対してアウトバウンド・データ・アイテムを第１のネットワーク接続１０８を介して送信するよう命令する送信コマンドをホスト・コンピュータ１０２上で入力することによって送信イベントを生成する。別の実施形態において、ホスト・コンピュータ１０２又はホスト・コンピュータ１０２上で実行されるアプリケーションは、ユーザ入力を受信することなくアウトバウンド・データ・アイテムに関する送信イベントを生成する。例えば、ホスト・コンピュータ１０２は、レポートを自動的に生成し、当該レポートを特定の間隔でサーバ１２０に送信するように構成することができる。
【００８６】
送信イベントが生成された後、アウトバウンド・モジュール３１０は、２次デバイス１１０にアウトバウンド・データ・アイテムをコピーする（６０４）。上述のとおり、アウトバウンド・モジュール３１０は、アウトバウンド・データ・アイテムをカード２０６にコピーすることもできる。他の実施形態において、アウトバウンド・モジュール３１０は、送信イベントが生成される前にアウトバウンド・データ・アイテムを２次デバイス１１０及びカード２０６にコピーする。
【００８７】
一実施形態において、アウトバウンド・モジュール３１０は、ホスト・コンピュータ１０２を監視し、送信イベントが失敗したのかそれとも成功したのかを判定する（６０６）。アウトバウンド・モジュール３１０は、アウトバウンド・データ・アイテムに関する送信イベントが失敗したこと又は実行不可能であることを示す伝送イベントの有無についてホスト・コンピュータ１０２を監視することができる。アウトバウンド・データ・アイテムに関する送信イベントが無事実行された場合には、同期モジュール３１６から２次デバイス１１０に成功通知が提供される（６１６）。同期モジュール３１６は更に、アウトバウンド・データ・アイテムを「ホスト・コンピュータ１０２上に送信済み」として指定することができる（６３２）。これに応答して、２次デバイス１１０上の送信モジュール５１０は、当該データ・アイテムを２次デバイス１１０上の送信キューから削除する（６３０）。
【００８８】
一方、送信イベントが失敗した場合には、アウトバウンド・モジュール３１０は送信イベントが失敗したことを２次デバイス１１０に通知する（６０８）。一実施形態において、アウトバウンド・モジュール３１０は、２次デバイス１１０上の送信モジュール５１０に通知を提供する。これに応答して、送信モジュール５１０は、２次デバイス１１０上の２次送信イベントを生成する（６１８）。この２次送信イベントにより、２次デバイス１１０は、アウトバウンド・データ・アイテムを第２のネットワーク接続１１４を介して送信するよう指示される。
【００８９】
一実施形態において、検証モジュール５１２は、２次送信イベントが成功したかどうかを判定する（６２０）。２次送信イベントが成功した場合には、検証モジュール５１２は、その旨をホスト・コンピュータ１０２に通知する（６２８）。確認モジュール３１２は、２次デバイス１１０が２次送信イベントを無事実行したときに検証モジュール５１２から提供される確認通知を受信する。これに応答して、確認モジュール３１２は２次送信イベントが成功したことを判定し（６１０）、同期モジュール３１６は当該データ・アイテムを「送信済み」として指定する（６３２）。
【００９０】
２次送信イベントが成功しなかった場合には、２次デバイス１１０は、第２のネットワーク接続１１４を介したアウトバウンド・データ・アイテムの送信試行を継続する。一実施形態では、各試行に先立って、２次再試行モジュール５１４は、アウトバウンド・データ・アイテムがホスト・コンピュータ１０２から第１のネットワーク接続１０８を介して無事送信されたかどうかを判定する（６２２）。２次再試行モジュール５１４は、この判定を、アウトバウンド・データ・アイテムがホスト・コンピュータ１０２上に無事送信されたことを示す成功通知が同期モジュール３１６から送信されたかどうかを検査することによって実行することができる。別法として、２次再試行モジュール５１４は、ホスト・コンピュータ１０２をポーリングし、毎回の新しい送信試行に先立ってアウトバウンド・データ・アイテムの状態更新を要求することができる。
【００９１】
ホスト・コンピュータ１０２がアウトバウンド・データ・アイテムの送信に成功した場合には、２次デバイス１１０上の送信モジュール５１０は、当該データ・アイテムを２次デバイス１１０上の送信キューから削除する（６３０）。この時点でアウトバウンド・データ・アイテムが無事送信されたことになるので、２次デバイス１１０はそれ以上試行を行わない。２次再試行モジュール５１４によってホスト・コンピュータ１０２がアウトバウンド・データ・アイテムの送信に成功しなかったことが判定された場合には（６２２）、２次再試行モジュール５１４は、当該アウトバウンド・データ・アイテムに関する新しい２次送信イベントを生成する（６２４）。
【００９２】
検証モジュール５１２によってその新しい２次送信イベントが成功したことが判定された場合には（６２６）、送信モジュール５１０は、当該アイテムを送信キューから削除する（６３０）。２次送信イベントが成功しなかった場合には、ホスト・コンピュータ１０２がアウトバウンド・データ・アイテムを送信したかどうかを判定し、アウトバウンド・データ・アイテムの追加的な送信試行を行い、追加的な試行が成功したかどうかを判定するプロセスが繰り返される。
【００９３】
ステップ６１０、６１２、及び６１４に示されるように、同様のプロセスがホスト・コンピュータ１０２上で実行される。２次デバイス１１０に関して説明した場合と同様に、再試行モジュール３１４は、ホスト・コンピュータ１０２上の最初の試行が失敗した場合はアウトバウンド・データ・アイテムの追加的な送信試行を行う。一実施形態において、再試行モジュール３１４は、確認モジュール３１２が、２次デバイス１１０から第２のネットワーク接続１１４を介してアウトバウンド・データ・アイテムが無事送信されたことを示す確認通知を２次デバイス１１０から受信しない限り、新しい送信イベントを生成する。一代替実施形態において、再試行モジュール３１４は、新しい送信イベントの生成に先立って更新要求を行う。
【００９４】
２次デバイス１１０がアウトバウンド・データ・アイテムの送信に成功した場合には、同期モジュール３１６は、当該アウトバウンド・データ・アイテムを「ホスト・コンピュータ１０２上に送信済み」としてマーク付けする。２次デバイス１１０がアウトバウンド・データ・アイテムの送信にまだ成功していない場合には、再試行モジュール３１４は、当該アウトバウンド・データ・アイテムに関する新しい送信イベントを生成する（６１２）。この新しい送信イベントも失敗した場合には、ホスト・コンピュータ１０２又は２次デバイス１１０が当該アウトバウンド・データ・アイテムを送信するまで、検証及び再送信プロセスが繰り返される。当該データ・アイテムが無事送信されると、同期モジュール３１６から適切な通知が提供され、当該アウトバウンド・データ・アイテムが「送信済み」として指定される。
【００９５】
図７は、本発明に従ってインバウンド・データ・アイテムを受信する方法７００の一実施形態を示す例示的なフローチャートである。図６に示したように、フローチャートの左側はホスト・コンピュータ１０２上のアクティビティを示し、右側は２次デバイス１１０上のアクティビティを示す。
【００９６】
方法７００は、ホスト・コンピュータ１０２がインバウンド・データ・アイテムを受信するステップ（７０２）から開始する。インバウンド・モジュール３１８は、上述したようなインバウンド・データ・アイテムに関する固有ＩＤを取得する（７０４）。同様に、２次デバイス１１０もインバウンド・データ・アイテムを受信し（７１２）、各インバウンド・データ・アイテムに関する固有ＩＤを取得する（７１４）。次に、２次デバイス１１０は、固有ＩＤをホスト・コンピュータ１０２に送信する（７１６）。
【００９７】
一実施形態において、インバウンド・モジュール３１８は、２次デバイス１１０によって受信されたデータ・アイテムに関する１つ又は複数の固有ＩＤを要求する。２次デバイス１１０は、固有ＩＤをホスト・コンピュータ１０２にプッシュすることもできる。インバウンド・モジュール３１８は、固有ＩＤの内容を定義し、２次デバイス１１０上のインバウンド・データ・アイテムを識別するデータを要求することができる。例えば、インバウンド・モジュール３１８は、ｄａｙ／ｔｉｍｅ／ｓｅｎｔメール・ヘッダ、及び２次デバイス１１０によって受信される電子メールの件名を要求することができる。かかる一実施形態において、２次デバイス１１０は、ホスト・コンピュータ１０２からのデータ要求に応答することができれば、インバウンド・データ・アイテムの同期化について必要とされるインテリジェンスは限られたものとなる。
【００９８】
インバウンド・モジュール３１８は、２次デバイス１１０から受信された固有ＩＤと、ホスト・コンピュータ１０２によって受信されたインバウンド・データ・アイテムに関する固有ＩＤとを比較する（７０６）。ホスト・コンピュータ１０２が有さないインバウンド・データ・アイテムを２次デバイス１１０が有する場合、インバウンド・モジュール３１８は、それらのデータ・アイテムを要求する（７０８）。一実施形態において、インバウンド・モジュール３１８は、２次デバイス１１０では受信されたが、ホスト・コンピュータ１０２では受信されていないインバウンド・データ・アイテムに関する固有ＩＤに対応するデータ・アイテムを要求する。
【００９９】
これに応答して、２次デバイス１１０は、それらのインバウンド・データ・アイテムをホスト・コンピュータ１０２に送信する（７１８）。その結果、ホスト・コンピュータ１０２は、それ自体がアクティブ・ネットワーク接続を有していなくても、２次デバイス１１０がアクティブ・ネットワーク接続を有する限り、インバウンド・データ・アイテムについては現状のまま維持される。また、本発明は、ホスト・コンピュータ１０２によって受信されていないアイテムだけが２次デバイス１１０からホスト・コンピュータ１０２に送信されることを保証する。これにより重複事例が少なくなるとともに、システムの管理性及び安定性が高められる。
【０１００】
一実施形態において、ホスト・コンピュータ１０２が２次デバイス１１０から受信されたインバウンド・データ・アイテムを直接受信した場合は、インバウンド・モジュール３１８は、それらのインバウンド・データ・アイテムを置き換え用のデータ・アイテムとしてマーク付けする。一実施形態において、このようなマーク付けは、２次デバイス１１０から受信されるインバウンド・データ・アイテムに関する固有ＩＤに関するテーブルを維持することによって実現することができる。データ・アイテムが受信されると、インバウンド・モジュール３１８は、固有ＩＤを導出してテーブル内の固有ＩＤと比較する。固有ＩＤがテーブル内で発見された場合は、それに該当するインバウンド・データ・アイテムが置き換えられ、当該データ・アイテムのエントリがテーブルから除去される。
【０１０１】
本発明は、その趣旨又は本質的な特徴から逸脱しない限り他の特定の形態で実施することもできる。本明細書に記載される各実施形態は単なる例示にすぎず、決して限定的なものと解釈されるべきではない。したがって、本発明の範囲は、上記の説明によってではなく添付の特許請求範囲によって示される。各請求項の意義及び均等範囲に含まれるすべての変更は、各請求項の範囲に包含される。
【符号の説明】
【０１０２】
１００、２００、３００  システム
１０２  ホスト・コンピュータ
１０４  通信モジュール
１０６  同期化装置
１０８  第１のネットワーク接続
１１０  ２次デバイス
１１２  通信モジュール
１１４  第２のネットワーク接続
１１６  第３のネットワーク接続
１２０  サーバ
１３０  第１のネットワーク
１４０  第２のネットワーク
２０２  電子メール・クライアント
２０４  キャッシュ装置
２０６  カード
２１０  電子メール・サーバ
２２０  携帯電話
２２４  支援装置
３１０  アウトバウンド・モジュール
３１２  確認モジュール
３１４  再試行モジュール
３１６  同期モジュール
３１８  インバウンド・モジュール
５１０  送信モジュール
５１２  検証モジュール
５１４  ２次再試行モジュール
【図１】
2010136330.tif 000003
【図２】
2010136330.tif 000004
【図３】
2010136330.tif 000005
【図４】
2010136330.tif 000006
【図５】
2010136330.tif 000007
【図６】
2010136330.tif 000008
【図７】
2010136330.tif 000009