(57)【特許請求の範囲】
【請求項１】
一つ以上のコンピューティング・デバイスによって実行される方法であって、
インスタントメッセージング・アカウントに関するダイアログ内で、前記アカウントが現在の端末を介してログインされたときに、メッセージ受信者によって、サーバから未読メッセージの情報を取得すること、
前記現在の端末内に前記未読メッセージの前記情報を表示すること、及び
前記インスタントメッセージング・アカウントに基づき前記現在の端末上での前記ダイアログ内でメッセージ交換が実行されているときに、前記ダイアログ内で受信されたメッセージが既読であるかどうかを判定すること
を含み、
前記未読メッセージが、前記ダイアログ内の第一のタイムスタンプよりも後の時間情報を有する第一のメッセージであり、前記第一のタイムスタンプが、前記インスタントメッセージング・アカウントによって提出される前記ダイアログ内の直近既読メッセージの時間情報であり、前記インスタントメッセージング・アカウントの前記ダイアログに対応する前記第一のタイムスタンプが、前記サーバ内に保存され、
進行中の前記ダイアログ内で受信された前記メッセージが既読であるかどうかの判定が、さらに、
進行中の前記ダイアログに対応するウィンドウが、デフォルト適用範囲面積を超過しているかどうかを判定すること、否定であれば、進行中の前記ダイアログ内で受信された前記メッセージが既読メッセージであると確定することを含む、
前記方法。
【請求項２】
前記未読メッセージの前記情報が、前記ダイアログ内の前記第一のタイムスタンプ、前記ダイアログ内の未読メッセージの数、前記ダイアログ内の最終メッセージ、または、それらの組み合わせを含む、請求項１に記載の方法。
【請求項３】
他の端末が、前記現在の端末以外の、同じ前記インスタントメッセージング・アカウントがログインされる、あるいはログインされた端末に相当する、請求項１に記載の方法。
【請求項４】
前記未読メッセージの前記情報内の前記第一のタイムスタンプを適用して、前記現在の端末上の前記ダイアログ内の第二のタイムスタンプを更新することをさらに含む、請求項１に記載の方法。
【請求項５】
進行中の前記ダイアログ内で受信された前記メッセージが既読であるとの確定に応じて、前記直近既読メッセージの前記時間情報を前記サーバへ送信することからさらになり、
前記サーバが、前記時間情報を用いて、前記ダイアログに対応する前記第一のタイムスタンプを更新するために使用される、請求項１に記載の方法。
【請求項６】
進行中の前記ダイアログ内で受信された前記メッセージが既読であるかどうかの判定が、さらに、
進行中の前記ダイアログに対応する前記ウィンドウにフォーカスがあるかどうかを判定すること、肯定であれば、進行中の前記ダイアログ内で受信された前記メッセージが既読メッセージであると確定することを含む、
請求項５に記載の方法。
【請求項７】
前記直近既読メッセージの時間情報を用いて、前記サーバ内に保存されている前記ダイアログに対応する前記第一のタイムスタンプを更新することをさらに含む、請求項５に記載の方法。
【請求項８】
前記直近既読メッセージの時間情報を用いて、前記現在の端末内に保存されている前記ダイアログに対応する第二のタイムスタンプを更新することをさらに含む、請求項５に記載の方法。
【請求項９】
前記サーバから、前記インスタントメッセージング・アカウントの前記ダイアログに対応する前記第一のタイムスタンプを受信することをさらに含み、前記第一のタイムスタンプが、他の端末から送信された前記ダイアログ内の直近既読メッセージの時間情報である、請求項１に記載の方法。
【請求項１０】
前記ダイアログに対応する前記第一のタイムスタンプを適用して、前記現在の端末内に保存されている前記ダイアログ内の第二のタイムスタンプを更新することをさらに含む、請求項９に記載の方法。
【請求項１１】
前記サーバから、一つ以上のダイアログに対応するローミング・メッセージを、前記一つ以上のダイアログに対応するウィンドウに入るときにダウンロードすることであって、インスタントメッセージング・アカウントから送信されたメッセージ及び前記インスタントメッセージング・アカウントによって受信されたメッセージを含む前記ローミング・メッセージをダウンロードすること、
前記送信されたメッセージを既読メッセージと設定し、前記既読メッセージを表示すること、
前記第二のタイムスタンプよりも大きな各時間情報を有する受信メッセージを未読メッセージと設定し、前記未読メッセージを表示すること、及び／または
前記第二のタイムスタンプよりも小さな、あるいはそれに等しい各時間情報を有する受信メッセージを既読メッセージと設定し、前記既読メッセージを表示すること
をさらに含む、請求項１０に記載の方法。
【請求項１２】
前記未読メッセージが、前記第一のタイムスタンプよりも大きな時間情報を有する前記ダイアログ内のメッセージに相当する、請求項１に記載の方法。
【請求項１３】
インスタント通信における未読メッセージの同期システムであって、
一つ以上のプロセッサ、
メモリ、
前記メモリ内に記憶された未読メッセージ取得モジュールであって、インスタントメッセージング・アカウントに関する各ダイアログ内で、前記アカウントが現在の端末を介してログインされたときに、メッセージ受信者によって、サーバから未読メッセージの情報を取得するよう、前記一つ以上のプロセッサによって実行可能な前記未読メッセージ取得モジュール、
前記メモリ内に記憶された未読メッセージ表示モジュールであって、前記現在の端末内で前記未読メッセージの前記情報を表示するよう、前記一つ以上のプロセッサによって実行可能な前記未読メッセージ表示モジュール、
前記インスタントメッセージング・アカウントに基づき前記現在の端末上での前記ダイアログ内でメッセージ交換が実行されているときに、進行中のダイアログ内で受信されたメッセージが既読であるかどうかを判定するために使用される既読判定モジュールであって、肯定であれば、時間情報送信モジュールを呼び出す前記既読判定モジュール、及び
進行中の前記ダイアログに対応するウィンドウが、デフォルト適用範囲面積を超過しているかどうかを判定するために使用される適用範囲判定サブモジュールであって、否定であれば、既読確定サブモジュールを呼び出す前記適用範囲判定サブモジュール
を含み、
前記未読メッセージが、各ダイアログ内の第一のタイムスタンプよりも大きな時間情報を有するメッセージであり、前記第一のタイムスタンプが、前記インスタントメッセージング・アカウントによって提出される各ダイアログ内の直近既読メッセージの時間情報であり、前記インスタントメッセージング・アカウントの各ダイアログに対応する前記第一のタイムスタンプが、前記サーバ内に保存される、前記システム。
【請求項１４】
前記未読メッセージの前記情報内の前記第一のタイムスタンプを適用して、前記現在の端末上の各ダイアログ内の第二のタイムスタンプを更新するために使用される第一の更新モジュールをさらに含む、請求項１３に記載のシステム。
【請求項１５】
前記直近既読メッセージの前記時間情報を前記サーバへ送信するために使用される前記時間情報送信モジュールをさらに含み、
前記サーバは、前記時間情報を用いて、前記ダイアログに対応する前記第一のタイムスタンプを更新するために使用され、前記第一のタイムスタンプよりも大きな各時間情報を有する前記ダイアログ内のメッセージが、未読メッセージであると確定する、請求項１３に記載のシステム。
【請求項１６】
進行中の前記ダイアログに対応する前記ウィンドウにフォーカスがあるかどうかを判定するために使用されるフォーカス判定サブモジュールであって、肯定であれば、前記既読確定サブモジュールを呼び出す前記フォーカス判定サブモジュール、及び
前記ダイアログ内で現行受信された前記メッセージが既読であると確定するために使用される前記既読確定サブモジュールをさらに含む、請求項１５に記載のシステム。
【請求項１７】
前記直近既読メッセージの時間情報を用いて、前記現在の端末内に保存されている前記ダイアログに対応する第二のタイムスタンプを更新するために使用される第二の更新モジュールをさらに含む、請求項１５に記載のシステム。
【請求項１８】
前記直近既読メッセージの時間情報を用いて、前記サーバ内に保存されている前記ダイアログに対応する前記第一のタイムスタンプを更新するために使用される第二の更新モジュールをさらに含む、請求項１５に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連特許出願の相互参照
本出願は、参照によりその全文を本明細書に援用する２０１４年２月１１日に申請のＣｈｉｎｅｓｅ  Ｐａｔｅｎｔ  Ａｐｐｌｉｃａｔｉｏｎ  Ｎｏ．２０１４１００４８４６０．１、名称「インスタント通信における未読メッセージを同期化させる方法及びシステム」への外国優先権を主張する。
【０００２】
本開示は、通信技術の技術分野に関し、より詳しくは、インスタント通信における未読メッセージを同期化させる方法及びシステムに関する。
【背景技術】
【０００３】
インターネット及び通信技術の継続的発展、及びインターネット・ユーザーの恒常的増加と共に、インターネット及び通信分野は先例のない成功を得て、インターネット・ユーザー数は数十億に到達している。
【０００４】
インターネット及び通信技術に基づく通信システムは、ますます多くの人々によって受け入れられ続け、仕事場で、勉強のために、また、人々の日常生活で、平易に用いられるようになっている。通信システムは、人々の日常生活の必須要素になってきていると言える。特に近年の（ｉＰａｄ（登録商標）のようなスマートフォンまたはタブレット等の）モバイル・デバイスの普及により、この種の携帯用モバイル・デバイスを仕事に使用する需要が、種々の商業または産業分野において、特にインスタントメッセージングにおいて増している。
【０００５】
しかしながら、既存の技術においては、現在、メッセージを移動端末間でシームレスに同期化させることができないために、それらメッセージのステータスが種々の端末で異なることが発生し、ユーザー体験に深刻な影響を及ぼしている。インスタント通信を例に挙げれば、インスタント通信は、二人以上の間での会話をサポート可能であり、当ユーザーがオフラインである場合には未読メッセージ（すなわち、当ユーザーによってまだ読まれていないチャット・メッセージ）が生成されるが、他のユーザーはチャットし続ける、あるいは、当ユーザーは他のことで忙しく、メッセージを読み損ねる。当ユーザーが、端末Ａでログインし、（彼または彼女の仲間によって残されたメッセージ等の）未読メッセージを読んだ後、未読メッセージのステータスは「既読」へ変わる。しかしながら、当ユーザーがもう一つの端末Ｂで再びログインすると、彼または彼女は、端末Ａで読んだはずの（仲間が残した上記メッセージ等の）メッセージが、端末Ｂ上では依然として未読ステータスであると気づくことがある。未読メッセージを繰り返し送信することは、サーバ及び端末のリソースの占有率を増加させるばかりでなく、ユーザーに繰り返し同じメッセージを読ませることにもなり、ユーザー体験に著しい悪影響を及ぼす。
【０００６】
したがって、当業者が解決すべき技術的問題は、異なる端末間で未読メッセージを同期化させるために使用される、未読メッセージに対する同期機構を提供することである。これにより、サーバ及び端末のリソースの占有率を減少させ、ユーザー体験を向上させる。
【発明の概要】
【０００７】
この概要は、以下の「発明を実施するための形態」で更に詳述される概念を、簡略形式に抜粋して導入するために提供される。この概要は、請求項の内容のすべての重要な特徴または必須の特徴を特定することを意図せず、また、請求項の内容の範囲を確定する支援として単独で用いられることを意図していない。用語「技術」は、本開示の前述の及び全文を通しての文脈から解釈が可能な、例えば、デバイス、システム、方法及び／またはコンピュータ可読命令に言及してもよい。
【０００８】
本開示は、異なる端末間での未読メッセージの同期化に使用される、インスタント通信における未読メッセージの同期方法を提供する。これにより、サーバ及び端末のリソースの占有率を減少させ、ユーザー体験を向上させる。
【０００９】
同様に、本開示は、上記方法の実施及び適用を保証するために使用される、インスタント通信における未読メッセージの同期システムを提供する。
【００１０】
前述の問題を解決するために、本開示は、以下のことからなる、インスタント通信における未読メッセージの同期方法を提供する。
【００１１】
現在の端末を介してインスタントメッセージング・アカウントがログインされたとき、サーバからそのアカウントに関連する各ダイアログ内の未読メッセージの情報を得ること。
【００１２】
及び、現在の端末内に未読メッセージの情報を表示すること。
【００１３】
この場合の未読メッセージは、各ダイアログにおいて第一のタイムスタンプよりも大きな時間情報を有するメッセージであり、第一のタイムスタンプは、インスタントメッセージング・アカウントによって提出される各ダイアログ内の直近既読メッセージの時間情報であり、インスタントメッセージング・アカウントの各ダイアログに対応する第一のタイムスタンプは、サーバ内に記憶される。
【００１４】
一つの実施形態における未読メッセージの情報は、各ダイアログ内の第一のタイムスタンプ、各ダイアログ内の未読メッセージ数、及び／または各ダイアログ内の最終メッセージからなる。
【００１５】
一つの実施形態においては、他の端末は、現在の端末以外の、同じインスタントメッセージング・アカウントがログインされる、あるいはログインされた端末に相当する。
【００１６】
一つの実施形態における上記方法は、さらに、現在の端末上で、未読メッセージの情報内の第一のタイムスタンプを、各ダイアログ内の第二のタイムスタンプを更新するために適用することからなる。
【００１７】
一つの実施形態における上記方法は、さらに、以下のことからなる。
【００１８】
インスタントメッセージング・アカウントに基づき現在の端末上でのダイアログ内でメッセージ交換が実行されるときに、進行中のダイアログ内で受信されたメッセージが読まれたかどうかを判定すること。
【００１９】
この判定が肯定であれば、既読メッセージの時間情報をサーバへ送信すること。サーバは、時間情報を用いてダイアログに対応する第一のタイムスタンプを更新するために使用され、ダイアログ内の、第一のタイムスタンプよりも大きな各時間情報を有するメッセージが、未読メッセージであると確定する。
【００２０】
一つの実施形態においては、進行中のダイアログ内で受信されたメッセージが既読であるかどうかの判定が、さらに、以下のことからなる。
【００２１】
進行中のダイアログに対応するウィンドウにフォーカスがあるかどうかを判定すること。
【００２２】
この判定が肯定であれば、進行中のダイアログ内で受信されたメッセージは、既読メッセージであると確定すること。
【００２３】
及び／または、進行中のダイアログに対応するウィンドウが、デフォルト適用範囲面積を超過しているかどうかを判定すること。
【００２４】
及び、この判定が否定であれば、進行中のダイアログ内で受信されたメッセージは、既読メッセージであると確定すること。
【００２５】
一つの実施形態における上記方法は、さらに、既読メッセージの時間情報を用いて、サーバ内に保存されるダイアログに対応する第二のタイムスタンプを更新することからなる。
【００２６】
一つの実施形態における上記方法は、さらに、以下のことからなる。
【００２７】
サーバから、インスタントメッセージング・アカウントのダイアログに対応する第一のタイムスタンプを受信すること。第一のタイムスタンプは、他の端末から送信されたダイアログ内の直近既読メッセージの時間情報である。
【００２８】
一つの実施形態における上記方法は、さらに、以下のことからなる。
【００２９】
ダイアログに対応する第一のタイムスタンプを、サーバ内に保存されたダイアログ内の第二のタイムスタンプを更新するために適用すること。
【００３０】
一つの実施形態における上記方法は、さらに、以下のことからなる。
【００３１】
一つ以上のダイアログに対応するウィンドウに入るときに、サーバから、一つ以上のダイアログに対応するローミング・メッセージをダウンロードすること。ローミング・メッセージは、インスタントメッセージング・アカウントから送信されたメッセージ及びインスタントメッセージング・アカウントによって受信されたメッセージを含む。
【００３２】
送信メッセージを既読メッセージと設定し、既読メッセージを表示すること。
【００３３】
及び／または、第二のタイムスタンプよりも大きな各時間情報を有する受信メッセージを未読メッセージと設定し、その未読メッセージを表示すること。
【００３４】
及び／または、第二のタイムスタンプよりも小さい、あるいはそれに等しい各時間情報を有する受信メッセージを既読メッセージと設定し、その既読メッセージを表示すること。
【００３５】
本開示は、さらに、以下のことを含むインスタント通信における未読メッセージの同期方法を提供する。
【００３６】
現在の端末でインスタントメッセージング・アカウントがログインされたときに、インスタントメッセージング・アカウントに対応する各ダイアログ内の未読メッセージの情報を読み出すこと。
【００３７】
現在の端末へのインスタントメッセージング・アカウントに対応する各ダイアログ内の未読メッセージの情報を送信すること。この場合の各ダイアログ内の未読メッセージは、第一のタイムスタンプよりも大きな時間情報を有するメッセージであり、第一のタイムスタンプは、インスタントメッセージング・アカウントによって提出される各ダイアログ内の直近既読メッセージの時間情報であり、インスタントメッセージング・アカウントの各ダイアログに対応する第一のタイムスタンプは、サーバ内に保存される。
【００３８】
一つの実施形態における未読メッセージの情報は、各ダイアログ内の第一のタイムスタンプ、各ダイアログ内の未読メッセージ数及び／または各ダイアログ内の最終メッセージからなる。
【００３９】
一つの実施形態においては、他の端末は、現在の端末以外の、同じインスタントメッセージング・アカウントがログインされる、あるいはログインされた端末に相当する。
【００４０】
一つの実施形態における上記方法は、さらに、以下のことからなる。
【００４１】
現在の端末から提出される既読メッセージの時間情報を受信すること。この場合の既読メッセージの時間情報は、インスタントメッセージング・アカウントに基づき進行中のダイアログ内でメッセージ交換が行われているときに、進行中のダイアログによって受信され、現在の端末によって既読と確定されたメッセージの時間情報である。
【００４２】
時間情報を用いてダイアログに対応する第一のタイムスタンプを更新すること。
【００４３】
及び、第一のタイムスタンプよりも大きな時間情報を有するメッセージを未読メッセージと設定すること。
【００４４】
一つの実施形態における上記方法は、さらに、以下のことからなる。
【００４５】
ダイアログ内の未読メッセージの情報に関する統計処理を実行するよう第一のタイムスタンプを適用すること。
【００４６】
一つの実施形態における上記方法は、さらに、以下のことからなる。
【００４７】
インスタントメッセージング・アカウントが複数の端末でログインされ、現在の端末によってダイアログ内でのメッセージ交換が行われているとき、現在の端末からダイアログ内で現行受信された既読メッセージの時間情報を受信すること。
【００４８】
その時間情報を、ダイアログに対応する第一のタイムスタンプを更新するよう適用すること。
【００４９】
及び、ダイアログに対応する第一のタイムスタンプを他の端末へ送信すること。
【００５０】
本開示は、さらに、以下のものを含むインスタント通信における未読メッセージの同期システムを提供する。
【００５１】
現在の端末を介してアカウントがログインされると、サーバから、インスタントメッセージング・アカウントに関連する各ダイアログ内の未読メッセージの情報を取得するために使用される未読メッセージ取得モジュール。
【００５２】
及び、現在の端末内に未読メッセージの情報を表示するために使用される未読メッセージ表示モジュール。
【００５３】
この場合の未読メッセージは、各ダイアログ内の第一のタイムスタンプよりも大きな時間情報を有するメッセージであり、第一のタイムスタンプは、インスタントメッセージング・アカウントによって提出される各ダイアログ内の直近既読メッセージの時間情報であり、インスタントメッセージング・アカウントの各ダイアログに対応する第一のタイムスタンプは、サーバ内に保存される。
【００５４】
一つの実施形態における未読メッセージの情報は、各ダイアログ内の第一のタイムスタンプ、各ダイアログ内の未読メッセージ数及び／または各ダイアログ内の最終メッセージからなる。
【００５５】
一つの実施形態においては、他の端末は、現在の端末以外の、同じインスタントメッセージング・アカウントがログインされる、あるいはログインされた端末に相当する。
【００５６】
一つの実施形態におけるシステムは、さらに、以下のものからなる。
【００５７】
未読メッセージの情報内の第一のタイムスタンプを、現在の端末上の各ダイアログ内の第二のタイムスタンプを更新するよう適用するために使用される第一の更新モジュール。
【００５８】
一つの実施形態におけるシステムは、さらに、以下のものからなる。
【００５９】
インスタントメッセージング・アカウントに基づき現在の端末上でのダイアログ内でメッセージ交換が実行されているときに、進行中のダイアログ内で受信されたメッセージが、既読であるかどうかを判定するために使用される既読判定モジュール。この判定が肯定であれば、時間情報送信モジュールを呼び出す。
【００６０】
既読メッセージの時間情報をサーバへ送信するために使用される時間情報送信モジュール。サーバは、時間情報を用いて、ダイアログに対応する第一のタイムスタンプを更新するために使用され、第一のタイムスタンプよりも大きな各時間情報を有するダイアログ内のメッセージが、未読メッセージであると確定される。
【００６１】
一つの実施形態における既読判定モジュールは、さらに、以下のものからなる。
【００６２】
進行中のダイアログに対応するウィンドウにフォーカスがあるかどうかを判定するために使用されるフォーカス判定サブモジュール。この判定が肯定であれば、既読確定サブモジュールを呼び出す。
【００６３】
及び／または、進行中のダイアログに対応するウィンドウが、デフォルト適用範囲面積を超過しているかどうかを判定するために使用される適用範囲判定サブモジュール。この判定が否定であれば、既読確定サブモジュールを呼び出す。
【００６４】
ダイアログ内で現行受信されたメッセージが既読であると確定するために使用される既読確定サブモジュール。
【００６５】
一つの実施形態におけるシステムは、さらに、以下のものからなる。
【００６６】
既読メッセージの時間情報を用いて、サーバ内に保存されたダイアログに対応する第二のタイムスタンプを更新するために使用される第二の更新モジュール。
【００６７】
一つの実施形態におけるシステムは、さらに、以下のものからなる。
【００６８】
サーバから、インスタントメッセージング・アカウントのダイアログに対応する第一のタイムスタンプを受信するために使用される第一のタイムスタンプ受信モジュール。第一のタイムスタンプは、他の端末から送信されたダイアログ内の直近既読メッセージの時間情報である。
【００６９】
一つの実施形態におけるシステムは、さらに、以下のものからなる。
【００７０】
ダイアログに対応する第一のタイムスタンプを、現在の端末内に保存されたダイアログ内の第二のタイムスタンプを更新するよう適用するために使用される第三の更新モジュール。
【００７１】
一つの実施形態におけるシステムは、さらに、以下のものからなる。
【００７２】
一つ以上のダイアログに対応するウィンドウに入るときに、サーバから、一つ以上のダイアログに対応するローミング・メッセージをダウンロードするために使用されるローミング・メッセージ・ダウンロード・モジュール。ローミング・メッセージは、インスタントメッセージング・アカウントから送信されたメッセージ及びインスタントメッセージング・アカウントによって受信されたメッセージを含む。
【００７３】
送信メッセージを既読メッセージと設定し且つその既読メッセージを表示するために使用される第一の既読メッセージ処理サブモジュール。
【００７４】
及び／または、第二のタイムスタンプよりも大きな各時間情報を有する受信メッセージを未読メッセージと設定し且つその未読メッセージを表示するために使用される未読メッセージ処理サブモジュール。
【００７５】
及び／または、第二のタイムスタンプよりも小さな、あるいはそれに等しい各時間情報を有する受信メッセージを既読メッセージと設定し且つその既読メッセージを表示するために使用される第二の既読メッセージ処理サブモジュール。
【００７６】
本開示は、さらに、以下のものを含むインスタントメッセージング・アカウントにおける未読メッセージの同期システムを提供する。
【００７７】
現在の端末でインスタントメッセージング・アカウントがログインされたときに、インスタントメッセージング・アカウントに対応する各ダイアログ内の未読メッセージの情報を読み出すために使用される未読メッセージ検索モジュール。
【００７８】
及び、現在の端末へ、インスタントメッセージング・アカウントに対応する各ダイアログ内の未読メッセージの情報を送信するために使用される未読メッセージ送信モジュール。この場合の各ダイアログ内の未読メッセージは、第一のタイムスタンプよりも大きな時間情報を有するメッセージであり、第一のタイムスタンプは、インスタントメッセージング・アカウントによって提出される各ダイアログ内の直近既読メッセージの時間情報であり、インスタントメッセージング・アカウントの各ダイアログに対応する第一のタイムスタンプは、サーバ内に保存される。
【００７９】
一つの実施形態における未読メッセージの情報は、各ダイアログ内の第一のタイムスタンプ、各ダイアログ内の未読メッセージ数及び／または各ダイアログ内の最終メッセージからなる。
【００８０】
一つの実施形態においては、他の端末は、現在の端末以外の、同じインスタントメッセージング・アカウントがログインされる、あるいはログインされた端末に相当する。
【００８１】
一つの実施形態におけるシステムは、さらに、以下のものからなる。
【００８２】
現在の端末から提出される既読メッセージの時間情報を受信するために使用される第一の時間情報受信モジュール。この場合の既読メッセージの時間情報は、インスタントメッセージング・アカウントに基づき進行中のダイアログ内でメッセージ交換が行われているときに、進行中のダイアログによって受信され、現在の端末によって既読と確定されたメッセージの時間情報である。
【００８３】
その時間情報を用いて、ダイアログに対応する第一のタイムスタンプを更新するために使用される第四の更新モジュール。
【００８４】
及び、第一のタイムスタンプよりも大きな時間情報を有するメッセージを未読メッセージと設定するために使用される未読メッセージ確定モジュール。
【００８５】
一つの実施形態におけるシステムは、さらに、以下のものからなる。
【００８６】
ダイアログ内の未読メッセージの情報に関する統計処理を実行するよう第一のタイムスタンプを適用するために使用される未読メッセージ統計処理モジュール。
【００８７】
一つの実施形態におけるシステムは、さらに、以下のものからなる。
【００８８】
複数の端末でインスタントメッセージング・アカウントがログインされ、現在の端末によってダイアログ内でのメッセージ交換が行われているときに、現在の端末からダイアログ内で現行受信された既読メッセージの時間情報を受信するために使用される第二の時間情報受信モジュール。
【００８９】
その時間情報を、ダイアログに対応する第一のタイムスタンプを更新するよう適用するために使用される第五の更新モジュール。
【００９０】
及び、ダイアログに対応する第一のタイムスタンプを他の端末へ送信するために使用される第一のタイムスタンプ送信モジュール。
【００９１】
既存の技術に比べ、本開示は、以下の利点を含む。
【００９２】
本開示の実施形態においては、サーバが、インスタントメッセージング・アカウントの各ダイアログに対応する第一のタイムスタンプを保存してもよい。第一のタイムスタンプは、インスタントメッセージング・アカウントによって提出される各ダイアログ内で受信された直近既読メッセージの時間情報である。したがって、第一のタイムスタンプよりも大きな時間情報を有するインスタントメッセージング・アカウントのダイアログ内のメッセージは、未読メッセージと確定されてもよい。インスタントメッセージング・アカウントへログインすると、現在の端末は、未読メッセージの情報を同期させる。第一のタイムスタンプに基づき未読メッセージを同期化させるためのメカニズムは、複数の端末へ未読メッセージを繰り返し送信するという問題を回避し、さらに、未読メッセージの情報に対する非同期統計の問題を避けるため、サーバ及び端末におけるリソースの占有率を減少させ、ユーザー体験を向上させる。
【００９３】
進行中のダイアログ内で受信された既読メッセージを確定する際、本開示の実施形態は、その時間情報を、第一のタイムスタンプを更新するためのサーバへ送信する。本開示の実施形態を用いると、他の端末も同様に第一のタイムスタンプを更新するため、サーバ内の第一のタイムスタンプは、現在の端末または他の端末内のインスタントメッセージング・アカウントによって提出される各ダイアログ内で受信された直近既読メッセージの時間情報に対応する。サーバは、第一のタイムスタンプに基づいて未読メッセージを確定するため、未読メッセージの特徴及び精度を保証し、異なる端末間での未読メッセージのシームレス同期を達成し、ユーザー体験を向上させる。
【００９４】
本開示の実施形態における現在の端末は、インスタントメッセージング・アカウントが現在の端末へ最初にログインされたときに、サーバによって送信された第一のタイムスタンプを使用して各ダイアログの第二のタイムスタンプを更新する。択一的に、ダイアログ内で現行受信されたメッセージが未読メッセージであるかどうかを判定して、その未読メッセージの時間情報が、ダイアログに対応する第二のタイムスタンプを更新するために使用される。択一的に、サーバから送信された第一のタイムスタンプは、同じインスタントメッセージング・アカウントが複数の端末でログインされたときに、対応する第二のタイムスタンプを更新するために使用される。したがって、各ダイアログの第二のタイムスタンプは、現在の端末または他の端末でインスタントメッセージング・アカウントによって提出される各ダイアログ内で受信された直近既読メッセージの時間情報として維持されてもよい。現在の端末は、第二のタイムスタンプを使用して、未読メッセージと既読メッセージとの間で判定し、それに応じた結果を表示するため、高度な実用性及び柔軟性を有し、異なる端末間での未読メッセージのシームレス同期を達成し、ユーザー体験を向上させる。
【図面の簡単な説明】
【００９５】
【図１】インスタント通信における未読メッセージの同期方法の第一の実施例を表すフローチャートである。
【図２】本開示によるインスタント通信システムを表す構造図である。
【図３】インスタント通信における未読メッセージの同期方法の第二の実施例を表すフローチャートである。
【図４】本開示による未読メッセージの情報を表す例示図である。
【図５】インスタント通信における未読メッセージの同期方法の第三の実施例を表すフローチャートである。
【図６】本開示によるダイアログに対応するウィンドウの範囲領域を表す例示図である。
【図７】インスタント通信における未読メッセージの同期方法の第四の実施例を表すフローチャートである。
【図８】インスタント通信における未読メッセージの同期方法の第五の実施例を表すフローチャートである。
【図９】インスタント通信における未読メッセージの同期方法の第六の実施例を表すフローチャートである。
【図１０】インスタント通信における未読メッセージの同期方法の第七の実施例を表すフローチャートである。
【図１１】インスタント通信における未読メッセージの同期システムの第一の実施例を表す構造図である。
【図１２】インスタント通信における未読メッセージの同期システムの第二の実施例を表す構造図である。
【図１３】図１１及び１２に示すシステムを表す構造図である。
【発明を実施するための形態】
【００９６】
本開示の目的、特徴及び利点を理解するのが、より明確でより容易なように、本開示の実施形態を、添付図面及び例示的実施形態を用いて、より詳細に本明細書に説明する。
【００９７】
図１は、以下のことを含んでもよいインスタント通信における未読メッセージの同期方法の第一の実施例を表すフローチャートである。
【００９８】
ブロック１０１は、現在の端末を介してアカウントがログインされたときに、インスタントメッセージング・アカウントの各ダイアログ内の未読メッセージの情報を得る。
【００９９】
ブロック１０２は、現在の端末内で未読メッセージの情報を表示する。
【０１００】
未読メッセージは、第一のタイムスタンプよりも大きな時間情報を有するダイアログ内のメッセージに相当する。未読メッセージが、第一のタイムスタンプよりも大きな時間情報を有するダイアログ内のメッセージに相当するということは、未読メッセージが、第一のタイムスタンプよりも大きな時間情報を有するダイアログ内のメッセージに対応することを意味する。第一のタイムスタンプは、インスタントメッセージング・アカウントによって提出される各ダイアログ内で以前に読まれたメッセージの時間情報であり、インスタントメッセージング・アカウントの各ダイアログに対応する第一のタイムスタンプは、サーバ内に保存される。
【０１０１】
図２に示すように、インスタント通信は、ＣＳ（すなわち、クライアント／サーバ）アーキテクチャを用いてもよい。ユーザーは、最初にＩＭサーバからバディリストを読み出し、ユーザー間のポイント・ツー・ポイント通信を確立する。ユーザー（クライアント１）と彼または彼女の友人（クライアント２）は、ポイント・ツー・ポイント方式を介して、テキスト、画像、ビデオまたは他のファイルを含むメッセージを送信してもよい。ユーザーに対してポイント・ツー・ポイント通信が実施できない場合、メッセージはＩＭサーバを通して中継される。
【０１０２】
クライアントは、インスタント通信を実施するユーザーと向き合ってもよい。具体的には、クライアントは以下のように分類されてもよい。ポイント・ツー・ポイント方式でメッセージを送信する、あるいはファイルを送信するときに、発信動作を実行するメッセージ・センダ、及び、ポイント・ツー・ポイント方式でメッセージを送信する、あるいはファイルを送信するときに、メッセージ・センダに対して反対に受信動作を実行するメッセージ・レシーバ。
【０１０３】
一つの実施形態におけるインスタント通信は、Ｐ２Ｐ（すなわち、ピア・ツー・ピア）アーキテクチャを用いてもよい。具体的には、ネットワーク内の各ノードが、等しく、クライアント及びサーバとして作用する、すなわち、同時に他のノードへサービスを提供し、他のノードからサービスを受ける。インスタント通信は、他のアーキテクチャを用いてもよい。本開示は、この点に関し、少しの制限も課さない。
【０１０４】
クライアントは、パーソナル・コンピュータのクライアント、ウェブ・ページのクライアント、モバイル・デバイスのクライアント等であってもよいことに注意すべきである。モバイル・デバイスは、機能性に応じて、タブレット型コンピュータ、パーソナル・ディジタル・アシスタント、携帯電話等のモバイル機器を含んでもよい。モバイル・デバイスは、オペレーションシステムに基づき、ＩＯＳ（アイフォーン・オペレーティング・システム）、アンドロイド、ＷＰ（ウィンドウズ・フォーン）等のモバイル機器を含んでもよい。本開示は、この点に関し、いかなる制限も課さない。
【０１０５】
言い換えれば、本開示は、コンピュータまたはモバイル・デバイス内のアプリケーション・プログラムへ適用されてもよい。具体的に、実際のアプリケーションにおいては、作動中に、本開示の実施形態における各々の作動を実行するようアプリケーション・プログラムが開発されてもよい。一つの実施形態におけるアプリケーション・プログラムは、独立したアプリケーション・プログラム、あるいは他のアプリケーション・プログラムの機能モジュールであってもよい。例えば、未読メッセージの情報を読み出す、未読メッセージを表示する等の本開示の実施形態の機能が、インスタントメッセージング・ツールに追加されてもよい。
【０１０６】
本開示の実施形態におけるサーバは、インスタントメッセージング・アカウントの各ダイアログに対応する第一のタイムスタンプを保存してもよい。他のインスタントメッセージング・アカウント（現在のインスタントメッセージング・アカウントのコンタクトのアカウント、バディリストまたはグループリスト等）を有する現在のインスタントメッセージング・アカウントの一つの通信ウィンドウは、ダイアログに対応する。異なるインスタントメッセージング・アカウントを有する現在のインスタントメッセージング・アカウントの複数の通信ウィンドウは、異なるダイアログへ別個に対応する。
【０１０７】
新しいメッセージはダイアログのウィンドウ内へロードされ、その新しいメッセージは、「既読」標識でマークされてもよい。ダイアログの第一のタイムスタンプは、ダイアログ内で直近既読の新しいメッセージへ「既読」標識がスタンプされた時刻に一致する。ダイアログ内で第一のタイムスタンプよりも大きな時間情報を有するメッセージは、未読メッセージとして確定される。現在の端末でインスタントメッセージング・アカウントがログインされたときに、その端末上の未読メッセージの情報が、サーバと同期化される。第一のタイムスタンプに基づく同期機構によれば、既読メッセージの時間情報は、ユーザーが現在の端末内で未読メッセージを読んだ後に、直近既読メッセージの時間情報がサーバ内に保存されることを保証するために、サーバと同期化される。ユーザーが他の端末を介してログインした場合、以前に未読であったメッセージは、既読メッセージと標識されている。したがって、他の端末が未読メッセージを処理する場合、異なる端末へ未読メッセージを繰り返し送信する問題、及び、未読メッセージの情報の統計処理の同期化に失敗する問題が回避できる。このため、サーバ及び端末のリソースの占有率は減少し、異なる端末間における未読メッセージ情報のシームレス同期が達成され、ユーザー体験が向上する。
【０１０８】
図３は、以下のことを含んでもよいインスタント通信における未読メッセージの同期方法の第二の実施例を表すフローチャートである。
【０１０９】
ブロック３０１は、現在の端末を介してアカウントがログインされたときに、サーバから、インスタントメッセージング・アカウントの各ダイアログ内の未読メッセージの情報を得る。
【０１１０】
インスタントメッセージング・アカウントは、一つ以上の端末でログインされてもよいことに注意すべきである。現在の端末を介してログインしているときに、同じアカウントで他の端末を介してログインしてもよい。本開示は、この点に関し、いかなる制限も課さない。具体的には、他の端末とは、ログインしている、あるいはログインしていた同じインスタントメッセージング・アカウントを有する現在の端末ではない別の端末のことである。
【０１１１】
具体的な実施例における現在の端末は、サーバから、未読メッセージの情報を能動的に読み出してもよい、あるいは未読メッセージの情報を受動的に受信してもよい。
【０１１２】
具体的には、ブロック３０１は、さらに、以下のサブブロックからなる。
【０１１３】
サブブロックＳ１１（図示せず）は、現在の端末を介してインスタントメッセージング・アカウントがログインされたときに、サーバへ未読メッセージに対する検索要求を送信し、サーバは、インスタントメッセージング・アカウントに対応する各ダイアログ内の未読メッセージの情報を読み出すために使用される。
【０１１４】
サブブロックＳ１２（図示せず）は、サーバから、インスタントメッセージング・アカウントに対応する各ダイアログ内の未読メッセージの情報を受信する。
【０１１５】
現在の端末は、現在の端末を介してインスタントメッセージング・アカウントがログインされた後に、アカウントの識別子、例えばＩＤに基づき、インスタントメッセージング・アカウントの各ダイアログ内の未読メッセージの情報に対する検索要求を送信してもよい。
【０１１６】
あるいは、サブブロックＳ１３（図示せず）は、現在の端末を介してインスタントメッセージング・アカウントがログインされたときに、インスタントメッセージング・アカウントの各ダイアログ内の未読メッセージの情報を受信する。
【０１１７】
現在の端末を介してインスタントメッセージング・アカウントがログインされたことの検出に応じて、サーバは、現在の端末へ、アカウントの各ダイアログ内の未読メッセージの情報を送信してもよい。
【０１１８】
本開示の一つの実施形態として、未読メッセージの情報は、各ダイアログ内の第一のタイムスタンプ、各ダイアログ内の未読メッセージの数、及び／または各ダイアログ内の最終メッセージからなる。
【０１１９】
各ダイアログの第一のタイムスタンプは、インスタントメッセージング・アカウントに対して提出される各ダイアログ内で以前に（すなわち、直近）既読のメッセージの時間情報に対応する。
【０１２０】
各ダイアログ内の未読メッセージは、各ダイアログ内の第一のタイムスタンプよりも大きな時間情報を有するメッセージに対応する。
【０１２１】
各ダイアログ内の最終メッセージは、現在ログイン中のインスタントメッセージング・アカウントから送信された、あるいはそれによって受信されたメッセージに相当し、最終メッセージの内容及び／または時間情報を含んでもよい。
【０１２２】
サーバは、端末へ、一つ以上のダイアログ内の直近未読メッセージの情報を送信する。このため、送信されるメッセージの数が減少し、サーバ内のシステム・リソース占有率も減少し、現在の端末内で処理すべきデータ量が減少し、現在の端末内のシステム・リソース占有率も減少する。
【０１２３】
ブロック３０２は、現在の端末内で未読メッセージの情報を表示する。
【０１２４】
未読メッセージは、各ダイアログ内の第一のタイムスタンプよりも大きな時間情報を有するメッセージである。第一のタイムスタンプは、アカウントによって提出される各ダイアログ内の直近既読メッセージの時間情報である。アカウントの各ダイアログに対応する第一のタイムスタンプは、サーバ内に保存される。
【０１２５】
実際のアプリケーションにおける未読メッセージの情報は、テキスト、画像、その他の形式で表示されてもよい。本開示は、この点に関し、いかなる制限も課さない。
【０１２６】
一実施例として、ウィンドウズ・フォーン・システムのモバイル・デバイスを用いると、図４に示すように、未読メッセージの数に関して、本実施形態は、インスタントメッセージング・ツールの拡張ＡＰＩ（アプリケーション・ソフトウェア・プログラミング・インターフェイス）を介して、数字の形式で、インスタントメッセージング・ツールのアイコン内に未読メッセージ数を表示してもよい。例えば、現在のインスタントメッセージング・アカウントと、ニックネーム「ヴィッキー」を有するもう一つのアカウントとの間のダイアログ内に六つの未読メッセージがある。さらに、ユーザー体験を向上させるために、未読メッセージ数が１００に到達する、あるいはそれを超過するなら、標識「９９＋」を用いてもよい。例えば、インスタントメッセージングＩＭアカウントと、ニックネーム「ロバート・リー」を有するもう一つのアカウントとの間のダイアログ内には、９９を超える未読メッセージがある。一つの実施形態においては、ダイアログ内に未読メッセージがない場合、アイコン内に標識「０」を表示してもよい、または、特定の方式で表示しなくてもよい。例えば、現在のインスタントメッセージング・アカウントと、ニックネーム「ボー・ファン」等を有する四つの他のアカウントとの間のダイアログ内には、未読メッセージがない。本実施形態は、ユーザーが容易にダイアログを識別できるよう、インスタントメッセージング・ツールの各アイコン近くに最終メッセージを表示してもよい。
【０１２７】
ブロック３０３は、現在の端末内の各ダイアログ内の第二のタイムスタンプを更新するよう、未読メッセージの情報内の第一のタイムスタンプを適用する。
【０１２８】
実際のアプリケーションにおいては、各ダイアログに対応する第二のタイムスタンプは、現在の端末内に保存されてもよい。アカウントにログインした後にアカウントの各ダイアログの第二のタイムスタンプをサーバから受信する場合、第一のタイムスタンプが、対応する第二のタイムスタンプを更新するために使用されるため、現在の端末が、各ダイアログの直近既読メッセージの時間情報を維持してもよい。
【０１２９】
ブロック３０４は、一つ以上のダイアログに対応するチャット・ウィンドウに入るとき、サーバから、一つ以上のダイアログに対応するローミング・メッセージをダウンロードする。
【０１３０】
ローミング・メッセージは、アカウントから送信された、または、それによって受信されたメッセージを含む。ローミング・メッセージは、現在の端末以外の端末の履歴メッセージ記録に相当し、ユーザーが、複数の端末で、あるいは異なる時間に、同じインスタントメッセージング・アカウントでログインした場合に読むことができる。
【０１３１】
本開示のこの実施形態を用いれば、ユーザーが、端末内のインスタントメッセージング・クライアントを開くことによって、特定のインスタント・メッセージ・アカウントにログインする度に、インスタントメッセージング・クライアントは、最初にユーザーがそのアカウント内の特定の仲間のチャット・ウィンドウを開いたことを検出することに応じて、現在の数の第一の履歴メッセージ記録をサーバと同期させる。第一の履歴メッセージ記録の所定数は、チャット・ウィンドウに関してサーバ内に保存された最新の履歴メッセージ記録に対応する。所定数は、チャット・ウィンドウが単一ページ内に表示可能な履歴メッセージ記録の数であり、チャット・ウィンドウのサイズに従って変化し、また、ユーザーまたは開発者によって構成されてもよいことに注意すべきである。例えば、チャット・ウィンドウの単一ページ内で、ユーザーに最高の読み易さを提供する履歴メッセージ記録数が２０であるならば、所定数を２０と設定してもよい。所定数を設定する上記アプローチは、本開示の実施形態の単に一実施例である。本開示は、所定数に対して特定数を課すこと、また、数の設定方式を限定することはしない。
【０１３２】
具体的な実施例においては、インスタントメッセージング・クライアントで特定のインスタントメッセージング・アカウントがログインされた後、特定の仲間に関連するチャット・ウィンドウが初めて開かれたかどうかを判定する。その判定には、以下の方法を採用してもよい。特定のインスタントメッセージング・アカウントに対して開かれた各チャット・ウィンドウの仲間ＩＤを保存するために、データコンテナを確立すること。そのインスタントメッセージング・アカウントがインスタント・メッセージ・クライアントで正しくログインされた後にデータコンテナを空にすること。チャット・ウィンドウが開かれる度に、仲間関係を有するチャット・ウィンドウに対応する仲間ＩＤを読み出すこと。データコンテナ内の仲間ＩＤを検索すること。ＩＤが見つかった場合、それは、仲間ＩＤのチャット・ウィンドウが初めて開かれたのではないことを示す。または、仲間ＩＤのチャット・ウィンドウが初めて開かれたことを示し、仲間ＩＤがデータコンテナ内に保存される。明らかなように、同じ端末で同じインスタントメッセージング・アカウントがログインされる度にデータコンテナが空にされるため、各仲間に関わるチャット・ウィンドウには、インスタントメッセージング・アカウントが再びログインされたときに初めて開かれる機会がある。チャット・ウィンドウが初めて開かれたとき、関連する仲間の直近履歴メッセージ記録が、サーバから読み出される。例えば、ユーザーは、端末を介して、特定のインスタントメッセージング・アカウントにログインし、午前１０時に仲間Ａのチャット・ウィンドウを開いた。その時、インスタントメッセージング・クライアントは、サーバと、仲間Ａの最新２０の履歴メッセージ記録を同期させる。ユーザーは、仲間Ａのチャット・ウィンドウを閉じ、その後、インスタントメッセージング・アカウントからサインオフした。午後１２時に、ユーザーは、同じ端末を介して、同じインスタントメッセージング・アカウントで再びログインし、仲間Ａのチャット・ウィンドウを開いた。この時、インスタントメッセージング・クライアントは、仲間Ａのチャット・ウィンドウが初めて開かれたことを確定し、サーバと再び、直近２０の履歴メッセージ記録を同期させる。ユーザーは、仲間Ａのチャット・ウィンドウを閉じたが、インスタントメッセージング・アカウントからログオフしなかった。午後１時に、ユーザーは、再び仲間Ａのチャット・ウィンドウを開いた。この時、インスタントメッセージング・クライアントは、チャット・ウィンドウが初めて開かれたのではないことを確定し、サーバとの直近メッセージの同期化を行わない。
【０１３３】
ブロック３０５は、送信メッセージを既読メッセージとして設定し、その既読メッセージを表示する。
【０１３４】
既読メッセージは、ユーザーによって読まれたメッセージに相当する。ダイアログ内のメッセージがユーザーから送信されたメッセージである場合、そのメッセージは既読メッセージとして確定できる。その後、テキストに対してグレースケール処理を実行してもよい、あるいは、「上記は履歴メッセージである」ことを示すプロンプトを、対応させて表示してもよい。
【０１３５】
及び／または、ブロック３０６は、第二のタイムスタンプよりも大きな時間情報を有する受信メッセージを未読メッセージとして設定し、その未読メッセージを表示する。
【０１３６】
未読メッセージは、ユーザーによって読まれていないメッセージに相当し、第二のタイムスタンプ（すなわち、インスタントメッセージング・アカウントに対して提出され、且つ、現在の端末または他の端末によって受信された各ダイアログ内の直近既読メッセージの時間情報）よりも大きな時間情報を有するメッセージは、未読メッセージとして設定される。そのテキストはハイライト化されてもよい、あるいは、「上記のものは、未読メッセージである」と示すプロンプトを対応させて表示してもよい。
【０１３７】
時間情報は、数値比較のために、秒へ変換されてもよいことに注意すべきである。例えば、特定の受信メッセージの時間情報が、２０１３年１１月２０日１７：３５であり、第二のタイムスタンプが、２０１３年１１月１９日２３：４２である。このケースでは、時間情報が、第二のタイムスタンプよりも大きい。
【０１３８】
及び／または、ブロック３０７は、第二のタイムスタンプよりも小さい、あるいはそれにｎしい時間情報を有する受信メッセージが既読メッセージであることを確定し、その既読メッセージを表示する。
【０１３９】
第二のタイムスタンプ（すなわち、インスタントメッセージング・アカウントに対して提出され、且つ、現在の端末または他の端末によって受信された各ダイアログ内の直近既読メッセージの時間情報）よりも小さな、あるいはそれに等しい時間情報を有する受信メッセージは、既読メッセージである。テキスト色をグレーへ変えてもよい、あるいは、「上記のものは、既読メッセージである」と示すプロンプトを対応させて表示してもよい。
【０１４０】
時間情報は、数値比較のために、秒へ変換されてもよいことに注意すべきである。例えば、特定の受信メッセージの時間情報が、２０１３年１１月１８日１７：３５であり、第二のタイムスタンプが、２０１３年１１月１９日２３：４２である。このケースでは、時間情報が、第二のタイムスタンプよりも小さい。
【０１４１】
図５は、以下のことを含んでもよいインスタントメッセージングにおける未読メッセージの同期方法の第三の実施例を表すフローチャートである。
【０１４２】
ブロック５０１は、現在の端末を介してアカウントがログインされたときに、サーバから、インスタントメッセージング・アカウントの各ダイアログ内の未読メッセージの情報を得る。
【０１４３】
ブロック５０２は、現在の端末内に未読メッセージの情報を表示する。
【０１４４】
未読メッセージは、各ダイアログ内の第一のタイムスタンプよりも大きな時間情報を有するメッセージである。第一のタイムスタンプは、アカウントによって提出される各ダイアログ内の直近既読メッセージの時間情報に対応し、アカウントの各ダイアログに対応する第一のタイムスタンプは、サーバ内に保存される。
【０１４５】
ブロック５０３は、現在の端末がアカウントのダイアログ内でメッセージ交換を実施しているときに、進行中のダイアログ内で受信されたメッセージが、既読であるかどうかを判定し、肯定である場合、ブロック５０４が実行される。
【０１４６】
既読は、ユーザーによって読まれたことを意味する。したがって、既読メッセージ以外のメッセージは、未読メッセージである。実際のアプリケーションにおいては、各ダイアログ内で受信されたメッセージに対して、直近既読メッセージの時間情報が、既読メッセージと未読メッセージとの間の境界線として採用されてもよい。直近既読メッセージの時間情報よりも大きな時間情報を有するメッセージは、未読メッセージであり、直近既読メッセージの時間情報よりも小さな、あるいはそれに等しい時間情報を有するメッセージは、既読メッセージである。
【０１４７】
本開示の一つの実施形態におけるブロック５０３は、以下のサブブロックを含んでもよい。
【０１４８】
サブブロックＳ２１（図示せず）は、進行中のダイアログのウィンドウにフォーカスがあるかどうかを判定し、肯定であれば、サブブロックＳ２２が実行される。
【０１４９】
サブブロックＳ２２（図示せず）は、ダイアログ内で現行受信されたメッセージが既読メッセージであると確定する。
【０１５０】
この実施形態においては、（チャット・ウィンドウ等の）インスタントメッセージング・ツール内のダイアログに対応するウィンドウが、ユーザーによってアクティヴにされてフォーカスされていることを検出することに応じて、ダイアログ内で現行受信されたメッセージは、既読メッセージとして確定される。具体的には、フォーカスされたオブジェクトは、ダイアログに対応するウィンドウであって、現在の端末内で最上層に配置され、他のウィンドウで隠されていない。
【０１５１】
及び／または、サブブロックＳ２３（図示せず）は、進行中のダイアログのウィンドウがデフォルト適用範囲面積を超過しているかどうかを判定し、否定であれば、サブブロックＳ２４が実行される。
【０１５２】
サブブロック２４（図示せず）は、ダイアログ内で現行受信されたメッセージが既読メッセージであると確定する。
【０１５３】
端末、すなわち、複数のウィンドウを開いているＰＣにおいては、ユーザーは、通常、（グループ・チャット等の）ダイアログ内のチャット・メッセージを読みながら、（ムービーを見る等の）他の作業を行う。ダイアログに対応するウィンドウは前面にはないが、それでもユーザーはダイアログ内のメッセージを読むことができる。この状況においては、現在のダイアログのウィンドウの、他のウィンドウによって隠された面積が、ダイアログ内で受信されたメッセージがユーザーによって読まれたかどうかを判定するために用いられてもよい。
【０１５４】
所定面積の一実施例として、ダイアログに対応するウィンドウの面積の半分が用いられる。図６に示すように、上側ウィンドウが、ダイアログのメッセージ通信ウィンドウであり、下側ウィンドウが、メッセージ入力ウィンドウである。ダイアログ内のメッセージ通信ウィンドウの四隅には、４点Ａ、Ｂ、Ｃ及びＤが設定され、その４点の中心に、点Ｏが設定される。点Ａ、Ｂ、Ｃ、Ｄ及びＯからのいずれか３点が覆われたことを検出することに応じて、ダイアログに対応するウィンドウは、所定面積よりも大きいと確定される。
【０１５５】
この実施形態は、進行中のダイアログ内に受信されたメッセージが既読であるかどうかを判定することによって、直近既読メッセージの識別を確実にする。
【０１５６】
ブロック５０４は、既読メッセージの時間情報をサーバへ送信する。サーバは、時間情報を用いて、ダイアログに対応する第一のタイムスタンプを更新するために使用され、ダイアログ内の第一のタイムスタンプよりも大きな時間情報を有するメッセージが未読メッセージであると確定される。
【０１５７】
現在の端末に関して、ダイアログ内のメッセージの時間情報は、他の端末の送信時刻及び現在の端末の受信時刻の伝送を含んでもよいことに注意すべきである。ダイアログ内のメッセージの時間情報は、基準としてサーバの時間情報を用いてもよい。送受間の時間遅延を考慮しなければ、メッセージの送信時刻及び受信時刻は、同じと考えてもよい。送受間の時間遅延が考慮され、メッセージの送信時刻と受信時刻との間に特定の関係が存在する場合は、送信時刻または受信時刻のいずれかが、本開示の実施形態における時間情報として、全般的に用いられてもよい。
【０１５８】
現在の端末から送信された既読メッセージの時間情報には、ダイアログＩＤ等のダイアログの識別子が含まれてもよい。現在の端末によって提出されるダイアログ内の直近既読メッセージの時間情報を受信すると、ダイアログ内の未読メッセージの情報に関連する統計処理を実行してもよいように、サーバは、ダイアログに対応する第一のタイムスタンプを更新し、第一のタイムスタンプよりも大きな時間情報を有するメッセージを未読メッセージと確定するよう時間情報を用いてもよい。
【０１５９】
この実施形態においては、進行中のダイアログ内で受信されたメッセージが既読メッセージであるかどうかを判定するときに、第一のタイムスタンプを更新するために、その時間情報がサーバへ送信される。本開示の実施形態を用いれば、他の端末も、サーバの第一のタイムスタンプは、現在の端末または他の端末を介してアカウントに対して提出されるダイアログ内で受信された直近既読メッセージの時間情報に対応するように、同様に第一のタイムスタンプを更新する。サーバは、第一のタイムスタンプに基づいて、メッセージが未読であるかどうかを判定するため、未読メッセージのユニーク性及び精度を保証し、異なる端末間での未読メッセージのシームレス同期を達成する。これにより、ユーザー体験が向上される。
【０１６０】
ブロック５０５は、現在の端末内に保存されたダイアログに対応する第二のタイムスタンプを更新するよう、既読メッセージの時間情報を適用する。
【０１６１】
もう一つの態様においては、ブロック５０４の前に、あるいはブロック５０６の後に、現在の端末は、既読メッセージの時間情報を用いて、ダイアログに対応する第二のタイムスタンプを更新してもよい。
【０１６２】
ブロック５０６は、一つ以上のダイアログに対応するウィンドウに入るときに、サーバから、一つ以上のダイアログに対応するローミング・メッセージをダウンロードする。ローミング・メッセージは、アカウントから送信されたメッセージ及びアカウントによって受信されたメッセージを含む。
【０１６３】
この実施形態においては、現在の端末及び他の端末を介して、ユーザーが同じインスタントメッセージング・アカウントにログインすると、サーバは、現在の端末及び他の端末内の各ダイアログ内のメッセージを同期させてもよい。直近既読メッセージの時間情報がブロック５０５で更新された第二のタイムスタンプである場合は、第二のタイムスタンプが、既読メッセージと未読メッセージとを区別するために使用されてもよい。また、それらの表示は、対応させて実行してもよい。例えば、第二のタイムスタンプが更新された後に現在の端末及び他の端末を介してユーザーによって読まれないメッセージ、あるいは、第二のタイムスタンプが更新された後にユーザーによって送信されたメッセージへ、ダイアログ内の他のユーザーが未だに返信を行っていない、等。
【０１６４】
ブロック５０７は、送信メッセージを既読メッセージと確定し、その既読メッセージを表示する。
【０１６５】
及び／または、ブロック５０８は、第二のタイムスタンプよりも大きな時間情報を有する受信メッセージを未読メッセージと確定し、その未読メッセージを表示する。
【０１６６】
及び／または、ブロック５０９は、第二のタイムスタンプよりも小さい、あるいはそれに等しい時間情報を有する受信メッセージを既読メッセージと確定し、その既読メッセージを表示する。
【０１６７】
図７は、以下のことを含んでもよいインスタント通信における未読メッセージの同期方法の第四の実施例を表すフローチャートである。
【０１６８】
ブロック７０１は、現在の端末を介してアカウントがログインされたときに、サーバから、インスタントメッセージング・アカウントの各ダイアログ内の未読メッセージの情報を得る。
【０１６９】
ブロック７０２は、現在の端末内に未読メッセージの情報を表示する。
【０１７０】
各ダイアログ内の未読メッセージは、第一のタイムスタンプよりも大きな時間情報を有するメッセージである。第一のタイムスタンプは、インスタントメッセージング・アカウントによって提出される各ダイアログ内の直近既読メッセージの時間情報に対応し、インスタントメッセージング・アカウントの各ダイアログに対応する第一のタイムスタンプは、サーバ内に保存される。
【０１７１】
ブロック７０３は、サーバから、インスタントメッセージング・アカウントのダイアログに対応する第一のタイムスタンプを受信する。第一のタイムスタンプは、他の端末から送信されたダイアログ内の直近既読メッセージの時間情報である。
【０１７２】
この実施形態においては、現在の端末及び他の端末を介して同時に、ユーザーが同じインスタントメッセージング・アカウントでログインした場合に、サーバは、現在の端末及び他の端末で各ダイアログ内のメッセージを同期させてもよい。他の複数の端末のうちの特定の端末が、各ダイアログ内の直近既読メッセージの時間情報を識別した場合、その既読メッセージの時間情報がサーバへ送信される。サーバは、その時間情報を、ダイアログ内の第二のタイムスタンプを更新するよう適用し、その第二のタイムスタンプを、同じインスタントメッセージング・アカウントが現在ログインされている（現在の端末を含む）他の残りの端末へ送信する。
【０１７３】
ブロック７０４は、現在の端末内に保存されているダイアログに対応する第二のタイムスタンプを更新するために、ダイアログに対応する第一のタイムスタンプを使用する。
【０１７４】
第一のタイムスタンプの受信後に、現在の端末は、第一のタイムスタンプを用いて、ダイアログに対応する第二のタイムスタンプを更新してもよい。
【０１７５】
ブロック７０５は、一つ以上のダイアログに対応するウィンドウに入るときに、サーバから、一つ以上のダイアログに対応するローミング・メッセージをダウンロードする。ローミング・メッセージは、アカウントから送信されたメッセージ及びアカウントによって受信されたメッセージからなる。
【０１７６】
直近既読メッセージの時間情報が、ブロック７０４で更新された第二のタイムスタンプである場合、第二のタイムスタンプが、既読メッセージと未読メッセージとを区別するために用いられてもよい。また、それらの表示は、対応させて実行してもよい。例えば、第二のタイムスタンプが更新された後に現在の端末及び他の端末を介してユーザーによって読まれないメッセージ、あるいは、第二のタイムスタンプが更新された後にユーザーによって送信されたメッセージへ、ダイアログ内の他のユーザーが未だに返信を行っていない、等。
【０１７７】
ブロック７０６は、送信メッセージが既読メッセージであると確定し、その既読メッセージを表示する。
【０１７８】
及び／または、ブロック７０７は、第二のタイムスタンプよりも大きな時間情報を有する受信メッセージが未読メッセージであると確定し、その未読メッセージを表示する。
【０１７９】
及び／または、ブロック７０８は、第二のタイムスタンプよりも小さい、あるいはそれに等しい時間情報を有する受信メッセージが、既読メッセージであると確定し、その既読メッセージを表示する。
【０１８０】
本開示の実施形態においては、現在の端末を介して初めてインスタントメッセージング・アカウントがログインされた場合、サーバから送信された第一のタイムスタンプが、各ダイアログの第二のタイムスタンプを更新するために使用される。択一的に、ダイアログ内で現行受信されたメッセージが未読メッセージであると確定されたら、ダイアログに対応する第二のタイムスタンプは、その未読メッセージの時間情報を用いて更新される。択一的に、複数の端末を介して同じインスタントメッセージング・アカウントがログインされた場合、サーバから送信された第一のタイムスタンプが、対応する第二のタイムスタンプを更新するよう適用される。したがって、各ダイアログの第二のタイムスタンプは、現在の端末または他の端末上のインスタントメッセージング・アカウントによって提出される各ダイアログ内で受信された直近既読メッセージの時間情報であるよう維持されてもよい。現在の端末は、第二のタイムスタンプに基づき、メッセージが既読であるか未読であるかを判定し、さらに、対応させて情報を表示する。このため、実用性及び柔軟性が高く、異なる端末間での未読メッセージのシームレス同期を達成し、ユーザー体験を向上させる。
【０１８１】
図８は、以下のことを含んでもよいインスタント通信における未読メッセージの同期方法の第五の実施例を表すフローチャートである。
【０１８２】
ブロック８０１は、現在の端末を介してアカウントがログインされたときに、インスタントメッセージング・アカウントに対応する各ダイアログ内の未読メッセージの情報を読み出す。
【０１８３】
ブロック８０２は、現在の端末へ、インスタントメッセージング・アカウントに対応する各ダイアログ内の未読メッセージの情報を送信する。
【０１８４】
未読メッセージは、各ダイアログ内の第一のタイムスタンプよりも大きな時間情報を有するメッセージである。第一のタイムスタンプは、インスタントメッセージング・アカウントによって提出される各ダイアログ内の直近既読メッセージの時間情報に対応し、インスタントメッセージング・アカウントの各ダイアログに対応する第一のタイムスタンプは、サーバ内に保存される。
【０１８５】
第五の実施例方法及び第一の実施例方法は相互に対応しているので、この説明は比較的に単純である。第一の実施例方法の関連要素を参照できるので、この実施例方法をここに詳細に説明することはしない。
【０１８６】
図９は、以下のことを含んでもよいインスタント通信における未読メッセージの同期方法の第六の実施例を表すフローチャートである。
【０１８７】
ブロック９０１は、現在の端末を介してアカウントがログインされたときに、インスタントメッセージング・アカウントに対応する各ダイアログ内の未読メッセージの情報を読み出す。
【０１８８】
インスタントメッセージング・アカウントは、一つ以上の端末を介してログインされてもよい、すなわち、現在の端末を介してインスタントメッセージング・アカウントがログインされているときに、他の端末を介してログインされてもよいことに注意すべきである。本開示は、この点に関し、いかなる制限も課さない。他の端末は、現在の端末以外の、同じインスタントメッセージング・アカウントがログインされる、あるいはログインされた端末に相当する。
【０１８９】
具体的な実施例における現在の端末は、サーバから未読メッセージの情報を能動的に読み出してもよいし、サーバから未読メッセージの情報を受動的に受信してもよい。
【０１９０】
ブロック９０１は、さらに、以下のサブブロックからなる。
【０１９１】
サブブロックＳ３１（図示せず）は、アカウントがログインされて、未読メッセージの情報に対する検索要求が現在の端末内で受信されたときに、インスタントメッセージング・アカウントに対応する各ダイアログ内の未読メッセージの情報を読み出す。
【０１９２】
及び／または、サブブロックＳ３２（図示せず）は、現在の端末を介してアカウントがログインされたときに、インスタントメッセージング・アカウントに対応する各ダイアログ内の未読メッセージの情報を読み出す。
【０１９３】
実施形態として、未読メッセージの情報は、各ダイアログの第一のタイムスタンプ、各ダイアログ内の未読メッセージ数及び／または各ダイアログ内の最終メッセージからなる。
【０１９４】
ブロック９０２は、現在の端末へ、インスタントメッセージング・アカウントに対応する各ダイアログ内の未読メッセージの情報を送信する。
【０１９５】
各ダイアログ内の未読メッセージは、第一のタイムスタンプよりも大きな時間情報を有するメッセージである。第一のタイムスタンプは、インスタントメッセージング・アカウントによって提出される各ダイアログ内の直近既読メッセージの時間情報に対応し、インスタントメッセージング・アカウントの各ダイアログに対応する第一のタイムスタンプは、サーバ内に保存される。
【０１９６】
ブロック９０３は、現在の端末によって提出される既読メッセージの時間情報を受信する。既読メッセージの時間情報は、アカウントに基づくダイアログ内でメッセージ対話が行われているときに、進行中のダイアログ内で受信されて現在の端末によって既読と確定されたメッセージの時間情報である。
【０１９７】
ブロック９０４は、その時間情報を使用して、ダイアログに対応する第一のタイムスタンプを更新する。
【０１９８】
ブロック９０５は、第一のタイムスタンプよりも大きな時間情報を有するメッセージが、未読メッセージであると確定する。
【０１９９】
ブロック９０６は、第一のタイムスタンプを用いて、ダイアログ内の未読メッセージの情報に関する統計処理を実行する。
【０２００】
具体的な実施例におけるサーバが、ダイアログが終了した後で、未読メッセージの情報についての統計処理を実施してもよい。この処理は、各ダイアログ内の第一のタイムスタンプを読み取ること、各ダイアログ内の未読メッセージ数を計数すること、及び／または各ダイアログ内の直近メッセージを読み出すことを含んでもよい。
【０２０１】
第六の実施例方法及び第二の実施例方法は相互に対応しているので、この説明は比較的に単純である。第二の実施例方法の関連要素を参照するため、この実施例方法をここに詳細に説明することはしない。
【０２０２】
図１０は、以下のことを含んでもよいインスタント通信における未読メッセージの同期方法の第七の実施例を表すフローチャートである。
【０２０３】
ブロック１００１は、現在の端末を介してアカウントがログインされたときに、インスタントメッセージング・アカウントに対応する各ダイアログ内の未読メッセージの情報を読み出す。
【０２０４】
ブロック１００２は、現在の端末へ、アカウントに対応する各ダイアログ内の未読メッセージの情報を送信する。
【０２０５】
未読メッセージは、各ダイアログ内の第一のタイムスタンプよりも大きな時間情報を有するメッセージである。第一のタイムスタンプは、アカウントによって提出される各ダイアログ内の直近既読メッセージの時間情報に対応し、アカウントの各ダイアログに対応する第一のタイムスタンプは、サーバ内に保存される。
【０２０６】
ブロック１００３は、複数の端末を介してインスタントメッセージング・アカウントがログインされて、ダイアログのメッセージ対話が現在の端末によって実行されているときに、現在の端末からダイアログ内に受信された現時点で読まれているメッセージの時間情報を受信する。
【０２０７】
ブロック１００４は、その時間情報を用いて、ダイアログに対応する第一のタイムスタンプを更新する。
【０２０８】
ブロック１００５は、ダイアログに対応する第一のタイムスタンプを、他の端末へ送信する。
【０２０９】
第七の実施例方法及び第四の実施例方法は相互に対応しているので、この説明は比較的に単純である。第四の実施例方法の関連要素を参照するため、この実施例方法をここに詳細に説明することはしない。
【０２１０】
本開示の方法実施形態は、説明が容易なよう、一連の動作として説明されていることに注意すべきである。しかしながら、当業者は、本開示は、説明された動作の順序に限定されず、いくつかの方法ブロックが、本開示の実施形態に基づき同時に、あるいは異なる順序で実行されてもよいことを理解すべきである。さらに、当業者は、この開示において説明された実施形態が、例示的実施形態であり、それに関与する動作及びモジュールが、本開示の実施形態に必須なものではないことも理解すべきである。
【０２１１】
図１１は、以下のモジュールを含んでもよいインスタント通信における未読メッセージの同期システムの第一の実施例を表す構造図である。
【０２１２】
現在の端末を介してアカウントがログインされたときに、サーバから、インスタントメッセージング・アカウントに関連する各ダイアログ内の未読メッセージの情報を得るために使用される未読メッセージ取得モジュール１１０１。
【０２１３】
及び、現在の端末内で未読メッセージの情報を表示するために使用される未読メッセージ表示モジュール１１０２。
【０２１４】
この場合、未読メッセージは、各ダイアログ内の第一のタイムスタンプよりも大きな時間情報を有するメッセージであり、第一のタイムスタンプは、インスタントメッセージング・アカウントによって提出される各ダイアログ内の直近既読メッセージの時間情報であり、インスタントメッセージング・アカウントの各ダイアログに対応する第一のタイムスタンプは、サーバ内に保存される。
【０２１５】
本開示の一つの実施形態における未読メッセージの情報は、各ダイアログ内の第一のタイムスタンプ、各ダイアログ内の未読メッセージ数及び／または各ダイアログ内の最終メッセージからなる。
【０２１６】
本開示の一つの実施形態においては、他の端末は、現在の端末以外の、同じインスタントメッセージング・アカウントがログインされる、あるいはログインされた端末に相当する。
【０２１７】
本開示の一つの実施形態におけるシステムは、さらに、以下のモジュールを含んでもよい。
【０２１８】
未読メッセージの情報内の第一のタイムスタンプを、現在の端末上の各ダイアログ内の第二のタイムスタンプを更新するよう適用するために使用される第一の更新モジュール（図示せず）。
【０２１９】
本開示の一つの実施形態におけるシステムは、さらに、以下のモジュールを含んでもよい。
【０２２０】
インスタントメッセージング・アカウントに基づき現在の端末上でのダイアログ内でメッセージ交換が実行されているときに、進行中のダイアログ内で受信されたメッセージが、既読であるかどうかを判定するために使用される既読判定モジュール（図示せず）。この判定が肯定であれば、時間情報送信モジュール（図示せず）を呼び出す。
【０２２１】
既読メッセージの時間情報をサーバへ送信するために使用される時間情報送信モジュール。サーバは、時間情報を用いて、ダイアログに対応する第一のタイムスタンプを更新するために使用され、第一のタイムスタンプよりも大きな各時間情報を有するダイアログ内のメッセージが、未読メッセージであると確定する。
【０２２２】
本開示の一つの実施形態における既読判定モジュールは、さらに、以下のモジュールを含んでもよい。
【０２２３】
進行中のダイアログに対応するウィンドウにフォーカスがあるかどうかを判定するために使用されるフォーカス判定サブモジュール（図示せず）。この判定が肯定であれば、既読確定サブモジュールを呼び出す。
【０２２４】
及び／または、進行中のダイアログに対応するウィンドウが、デフォルト適用範囲面積を超過しているかどうかを判定するために使用される適用範囲判定サブモジュール（図示せず）。この判定が否定であれば、既読確定サブモジュール（図示せず）を呼び出す。
【０２２５】
及び、ダイアログ内で現行受信されたメッセージが既読であると確定するために使用される既読確定サブモジュール。
【０２２６】
本開示の一つの実施形態におけるシステムは、さらに、以下のモジュールを含んでもよい。
【０２２７】
既読メッセージの時間情報を用いて、サーバ内に保存されたダイアログに対応する第二のタイムスタンプを更新するために使用される第二の更新モジュール（図示せず）。
【０２２８】
本開示の一つの実施形態におけるシステムは、さらに、以下のモジュールを含んでもよい。
【０２２９】
サーバから、インスタントメッセージング・アカウントのダイアログに対応する第一のタイムスタンプを受信するために使用される第一のタイムスタンプ受信モジュール（図示せず）。第一のタイムスタンプは、他の端末から送信されたダイアログ内の直近既読メッセージの時間情報である。
【０２３０】
本開示の一つの実施形態におけるシステムは、さらに、以下のモジュールを含んでもよい。
【０２３１】
ダイアログに対応する第一のタイムスタンプを、現在の端末内に保存されたダイアログ内の第二のタイムスタンプを更新するよう適用するために使用される第三の更新モジュール（図示せず）。
【０２３２】
本開示の一つの実施形態におけるシステムは、さらに、以下のモジュールを含んでもよい。
【０２３３】
一つ以上のダイアログに対応するウィンドウに入るときに、サーバから、一つ以上のダイアログに対応するローミング・メッセージをダウンロードするために使用されるローミング・メッセージ・ダウンロード・モジュール（図示せず）。ローミング・メッセージは、インスタントメッセージング・アカウントから送信されたメッセージ及びインスタントメッセージング・アカウントによって受信されたメッセージを含む。
【０２３４】
送信メッセージを既読メッセージと設定し且つその既読メッセージを表示するために使用される第一の既読メッセージ処理サブモジュール（図示せず）。
【０２３５】
及び／または、第二のタイムスタンプよりも大きな各時間情報を有する受信メッセージを未読メッセージと設定し且つその未読メッセージを表示するために使用される未読メッセージ処理サブモジュール（図示せず）。
【０２３６】
及び／または、第二のタイムスタンプよりも小さな、あるいはそれに等しい各時間情報を有する受信メッセージを既読メッセージと設定し且つその既読メッセージを表示するために使用される第二の既読メッセージ処理サブモジュール（図示せず）。
【０２３７】
図１２は、以下のモジュールを含んでもよいインスタント通信における未読メッセージの同期システムを表す構造図である。
【０２３８】
現在の端末でインスタントメッセージング・アカウントがログインされたときに、インスタントメッセージング・アカウントに対応する各ダイアログ内の未読メッセージの情報を読み出すために使用される未読メッセージ検索モジュール１２０１。
【０２３９】
現在の端末へ、インスタントメッセージング・アカウントに対応する各ダイアログ内の未読メッセージの情報を送信するために使用される未読メッセージ送信モジュール１２０２。この場合、各ダイアログ内の未読メッセージは、第一のタイムスタンプよりも大きな時間情報を有するメッセージであり、第一のタイムスタンプは、インスタントメッセージング・アカウントによって提出される各ダイアログ内の直近既読メッセージの時間情報であり、インスタントメッセージング・アカウントの各ダイアログに対応する第一のタイムスタンプは、サーバ内に保存される。
【０２４０】
本開示の一つの実施形態における未読メッセージの情報は、各ダイアログ内の第一のタイムスタンプ、各ダイアログ内の未読メッセージ数及び／または各ダイアログ内の最終メッセージからなる。
【０２４１】
本開示の一つの実施形態においては、他の端末は、現在の端末以外の、同じインスタントメッセージング・アカウントがログインされる、あるいはログインされた端末に相当する。
【０２４２】
本開示の一つの実施形態におけるシステムは、さらに、以下のモジュールを含んでもよい。
【０２４３】
現在の端末から提出される既読メッセージの時間情報を受信するために使用される第一の時間情報受信モジュール（図示せず）。この場合の既読メッセージの時間情報は、インスタントメッセージング・アカウントに基づき進行中のダイアログ内でメッセージ交換が行われているときに、進行中のダイアログによって受信され、現在の端末によって既読と確定されたメッセージの時間情報である。
【０２４４】
その時間情報を用いて、ダイアログに対応する第一のタイムスタンプを更新するために使用される第四の更新モジュール（図示せず）。
【０２４５】
及び、第一のタイムスタンプよりも大きな時間情報を有するメッセージを未読メッセージと設定するために使用される未読メッセージ確定モジュール（図示せず）。
【０２４６】
本開示の一つの実施形態におけるシステムは、さらに、以下のモジュールを含んでもよい。
【０２４７】
第一のタイムスタンプを、ダイアログ内の未読メッセージの情報に関する統計処理を実行するよう適用するために使用される未読メッセージ統計処理モジュール（図示せず）。
【０２４８】
本開示の一つの実施形態におけるシステムは、さらに、以下のモジュールを含んでもよい。
【０２４９】
複数の端末でインスタントメッセージング・アカウントがログインされ、現在の端末によってダイアログ内でのメッセージ交換が行われているときに、現在の端末からダイアログ内で現行受信された既読メッセージの時間情報を受信するために使用される第二の時間情報受信モジュール（図示せず）。
【０２５０】
その時間情報を、ダイアログに対応する第一のタイムスタンプを更新するよう適用するために使用される第五の更新モジュール（図示せず）。
【０２５１】
ダイアログに対応する第一のタイムスタンプを他の端末へ送信するために使用される第一のタイムスタンプ送信モジュール（図示せず）。
【０２５２】
システム実施形態は、本開示の方法実施形態と基本的に類似しているので、その説明は比較的単純である。方法実施形態における関連要素を相互参照してもよい。
【０２５３】
本開示の各々の実施形態は、累進的な方式で説明されている。各実施形態の重点は、他の実施形態のものとは異なる。種々の実施形態の同じ、あるいは類似部分は、相互に参照されてもよい。
【０２５４】
当業者は、本開示の実施形態が、コンピュータ・プログラムの方法、システムまたは製品として提供可能であることを理解すべきである。したがって、本開示は、ハードウェアのみの実施形態、ソフトウェアのみの実施形態、あるいはハードとソフトとの組み合わせの実施形態として実現可能である。さらに、本開示は、コンピュータ実行可能なインストラクションを記憶する（磁気ディスク、ＣＤ‐ＲＯＭまたは光ディスク等を、限定せずに含む）一つ以上のコンピュータ可読記憶メディアに保存可能なコンピュータ・プログラムの製品として実現できる。
【０２５５】
典型的な構成においては、コンピューティング・デバイスが、一つ以上のプロセッサ（ＣＰＵ）、入出力インターフェイス、ネットワーク・インターフェイス及びメモリを含む。
【０２５６】
例えば、図１３は、上記説明のシステム等の実施例システム１３００をより詳細に示す。一つの実施形態におけるシステム１３００は、一つ以上のプロセッサ１３０１、ネットワーク・インターフェイス１３０２、メモリ１３０３及び／または入出力インターフェイス１３０４を含んでもよいが、これらに限定されるものではない。
【０２５７】
メモリ１３０３は、コンピュータ可読媒体の形態、例えば、非永久記憶デバイス、ランダム・アクセス・メモリ（ＲＡＭ）及び／または、読み出し専用メモリ（ＲＯＭ）またはフラッシュＲＡＭ等の不揮発性内部記憶装置であってもよい。メモリ１３０３は、コンピュータ可読媒体の実施例である。コンピュータ可読媒体は、永久または非永久タイプ、リムーバブルまたは非リムーバブル・メディアを含んでもよく、いずれの方法または技術を用いて情報記憶を達成してもよい。情報は、コンピュータ可読コマンド、データ構造、プログラム・モジュールまたは他のデータを含んでもよい。コンピュータ記憶媒体の実施例は、限定せずに、相変化メモリ（ＰＲＡＭ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）、他のタイプのランダム・アクセス・メモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、電子的に消去可能なプログラマブル・リードオンリ・メモリ（ＥＥＰＲＯＭ）、クイック・フラッシュメモリまたは他の内部記憶技術、コンパクトディスク・リードオンリ・メモリ（ＣＤ‐ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）または他の光記憶装置、磁気カセットテープ、磁気ディスク記憶装置または他の磁気記憶デバイス、あるいは他の非透過メディアを含む。これらを、コンピューティング・デバイスがアクセス可能な情報を記憶するために用いてもよい。ここに定義するように、コンピュータ可読メディアは、変調データ信号及び搬送波等の一時的なメディアを含まない。
【０２５８】
メモリ１３０３は、プログラム・モジュール１３０５及びプログラム・データ１３０６を含んでもよい。一つの実施形態におけるプログラム・モジュール１３０５は、未読メッセージ取得モジュール１３０７、未読メッセージ表示モジュール１３０８、第一の更新モジュール１３０９、既読判定モジュール１３１０（これは、フォーカス判定サブモジュール１３１１、適用範囲判定サブモジュール１３１２、既読確定サブモジュール１３１３を含んでもよい）、時間情報送信モジュール１３１４、第二の更新モジュール１３１５、第一のタイムスタンプ受信モジュール１３１６、第三の更新モジュール１３１７、ローミング・メッセージ・ダウンロード・モジュール１３１８、第一の既読メッセージ処理サブモジュール１３１９、未読メッセージ処理サブモジュール１３２０、第二の既読メッセージ処理サブモジュール１３２１、未読メッセージ検索モジュール１３２２、未読メッセージ送信モジュール１３２３、第一の時間情報受信モジュール１３２４、第四の更新モジュール１３２５、未読メッセージ確定モジュール１３２６、未読メッセージ統計処理モジュール１３２７、第二の時間情報受信モジュール１３２８、第五の更新モジュール１３２９及び／または第一のタイムスタンプ送信モジュール１３３０を含んでもよい。これらのモジュール及びサブモジュールの詳細は、前述の説明から理解できるものであり、本明細書では冗長に説明しない。
【０２５９】
本開示は、例示的方法、モバイル機器（システム）及びコンピュータ・プログラム製品に関するフローチャート及び／またはブロック図に従って説明されている。フローチャート及び／またはブロック図の各プロセス及び／またはブロック、及びプロセス及び／またはブロックの組み合わせは、コンピュータ・プログラム・インストラクションの形態で実現されてもよいことは理解すべきである。そのようなコンピュータ・プログラム・インストラクションは、汎用コンピュータ、専用コンピュータ、埋め込み型プロセッサ、あるいは機械を製作するためのプログラマブルデータ処理モバイル・デバイスを有する他の処理装置へ提供されてもよい。そのことにより、フローチャートの一つ以上のプロセス及び／またはブロック図の一つ以上のブロックに説明された一つ以上のブロックに示された機能を有する装置が、コンピュータによって、またはプログラマブルデータ処理モバイル・デバイスを有する他の処理装置によって、インストラクションを実行することにより実現されてもよい。
【０２６０】
そのようなコンピュータ・プログラム・インストラクションは、コンピュータ可読メモリ・デバイス内に記憶され、コンピュータまたは他のプログラマブルデータ処理モバイル機器が特定の方式で機能するよう作動させてもよい。それによって、インストラクション装置を含む製造が、コンピュータ可読メモリ・デバイス内に記憶されたインストラクションに基づいて構築されてもよい。そのインストラクション・デバイスは、フローチャートの一つ以上のプロセス及び／またはブロック図の一つ以上のブロックによって示された機能を実現する。
【０２６１】
コンピュータ・プログラム・インストラクションは、また、コンピュータまたは他のプログラマブルデータ処理モバイル機器内へロードされてもよい。それによって、コンピュータ実行処理を生じるよう、一連の動作が、コンピュータまたは他のデータ処理モバイル機器によって実行されてもよい。したがって、コンピュータまたは他のプログラム可能な装置によって実行されるインストラクションが、フローチャートの一つ以上のプロセス及び／またはブロック図の一つ以上のブロックを実現するよう使用されてもよい。
【０２６２】
本開示の例示的実施形態が本明細書に説明されたので、当業者は、本開示の基本的な創造概念を理解した後に、これらの実施形態に変更及び改変することができる。本明細書に添付の請求項は、本開示の実施形態に包含される好適な実施形態及びすべての変更及び改変を含むことを意図している。
【０２６３】
最後に、「第一」及び「第二」等の用語は、単に、実体または動作を、他の実体または動作と区別するために使用されるもので、必ずしも、実体または動作間に、この種の実在関係または順位付けが存在することを要求する、あるいは意味するわけではないことに注意すべきである。さらに、「からなる」、「含む」、または他のそれらの変化形等の用語は、非排他的に含むことを意味する。一連の素子を含むプロセス、方法、製品またはモバイル機器は、それらの素子ばかりでなく、明示的に列挙されていない他の素子をも含む、あるいは、さらに、そのようなプロセス、方法、製品またはモバイル機器内に既に存在していた素子を含む。さらに制限することのない条件において、語句「ａ／ａｎ．．．を含む」によって定義される素子は、他の類似素子を、プロセス、方法、製品または装置内に存在することから除外しない。
【０２６４】
本開示によるインスタント通信における未読メッセージの同期方法及びシステムの詳細な説明を上述した。明細書は、特定な実施形態を用いて、本開示の原理及び実施例を説明している。前述の実施形態は、単に、本開示の方法及び本質的概念の理解を支援するためにのみ用いるものである。また、本開示の概念に基づき、当業者は、具体的実施例及び用途範囲を変化させてもよい。要するに、本明細書は、本開示を制限するものとして解釈されるべきではない。
【図１】
0006577477.tif 000002
【図２】
0006577477.tif 000003
【図３】
0006577477.tif 000004
【図４】
0006577477.tif 000005
【図５】
0006577477.tif 000006
【図６】
0006577477.tif 000007
【図７】
0006577477.tif 000008
【図８】
0006577477.tif 000009
【図９】
0006577477.tif 000010
【図１０】
0006577477.tif 000011
【図１１】
0006577477.tif 000012
【図１２】
0006577477.tif 000013
【図１３】
0006577477.tif 000014