(57)【特許請求の範囲】
【請求項１】
簡易ブログの単一メッセージを集約するための方法であって、
ユーザ指示を受け取る段階と、
前記ユーザ指示に従って、前記簡易ブログの単一メッセージを集約するためのトリガメッセージをサーバに送信する段階と、
前記簡易ブログの単一メッセージの集約データを、前記サーバから受信または獲得する段階と、
前記簡易ブログの単一メッセージの前記集約データを表示する段階と
を含み、
前記簡易ブログの単一メッセージの前記集約データを表示する段階が、
前記簡易ブログの単一メッセージの記載事項を有する独立したメッセージページを使用することによって、前記簡易ブログの単一メッセージの前記集約データを表示する段階を含み、
前記簡易ブログの単一メッセージの前記記載事項を有する前記独立したメッセージページを使用することによって、前記簡易ブログの単一メッセージの前記集約データを表示する段階が、
前記独立したメッセージページがメッセージを含む場合に、前記メッセージの発信元を表示する段階と、
前記メッセージがリプライメッセージを含む場合に、更に前記リプライメッセージの原文を表示する段階と、
前記メッセージがコメントを備えたまたはコメントを備えないリツイートメッセージを含むと共に、コメントを備えたまたはコメントを備えない前記リツイートメッセージのリツイート数が事前に設定された数より大きいかもしくは事前に設定された数に等しい場合に、更にリツイート原文及び前記リツイート数を表示する段階と、
前記リプライメッセージ、または前記コメントを備えたリツイートメッセージ、または前記コメントを備えないリツイートメッセージが画像を有する場合に、更に前記画像のサムネイルを表示する段階と
を含む
ことを特徴とする方法。
【請求項２】
前記簡易ブログの単一メッセージがリツイートメッセージを含む場合に、前記簡易ブログの単一メッセージの前記集約データを表示する段階が、
前記ユーザによってフォローされた各ユーザの識別子を、前記ユーザによってフォローされた各ユーザによってリツイートされた前記リツイートメッセージのリツイート時間系列に従って表示することにより、前記リツイートメッセージの前記リツイートプロセスを表示する段階を含み、
前記簡易ブログの単一メッセージがリツイートされたリプライメッセージを含む場合に、前記簡易ブログの単一メッセージの前記集約データを表示する段階が、
前記リプライメッセージをリツイートした各ユーザの識別子を、リツイート時間系列に従って表示することにより、前記リプライメッセージの前記リツイートプロセスを表示する段階を含む
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記ユーザによってフォローされた各ユーザの前記識別子を、前記ユーザによってフォローされた各ユーザによってリツイートされた前記リツイートメッセージの前記リツイート時間系列に従って表示することにより、前記リツイートメッセージの前記リツイートプロセスを表示する場合に、前記方法が、
前記ユーザによってフォローされた全ての前記ユーザの識別子の内のいずれかをトリガする場合に、前記リツイートメッセージをリツイートした各ユーザの前記識別子を表示する段階を更に含む
ことを特徴とする請求項２に記載の方法。
【請求項４】
前記ユーザによってフォローされた各ユーザの前記識別子を、前記ユーザによってフォローされた各ユーザによってリツイートされた前記リツイートメッセージの前記リツイート時間系列に従って表示することにより、前記リツイートメッセージの前記リツイートプロセスを表示する場合に、前記方法が、
前記ユーザによってフォローされたユーザの識別子の内のいずれかをトリガする場合に、前記トリガされたユーザ識別子に対応するユーザによってリツイートされた前記リツイートメッセージのリツイート時間、リツイート場所、リツイート数のうちの少なくとも１つに関する情報を表示する段階を更に含む
ことを特徴とする請求項２に記載の方法。
【請求項５】
対話モジュール、データ受信及び獲得モジュールの他に、表示モジュールを備えた、簡易ブログの単一メッセージを集約するためのクライアントであって、
前記対話モジュールは、ユーザ指示を受け取ることができると共に、前記ユーザ指示に従って、前記簡易ブログの単一メッセージを集約するためのトリガメッセージを、サーバに送信することができ、
前記データ受信及び獲得モジュールは、前記簡易ブログの単一メッセージの集約データを、前記サーバから受信または獲得することができ、
前記表示モジュールは、前記簡易ブログの単一メッセージの前記集約データを表示することができると共に、
前記クライアントが、第１データ保存モジュール、及び構築モジュールを更に備え、
前記第１データ保存モジュールは、前記データ受信及び獲得モジュールによって受信または獲得された前記簡易ブログの単一メッセージの前記集約データを保存することができ、
前記構築モジュールは、前記第１データ保存モジュールが前記データ受信及び獲得モジュールによって前記サーバから受信または獲得された前記簡易ブログの単一メッセージの前記集約データを保存していた場合に、前記簡易ブログの単一メッセージの記載事項を有する独立したメッセージページを構築することができ、
前記独立したメッセージページがメッセージを含む場合に、前記表示モジュールは、更に、前記メッセージの発信元を表示することができ、
前記メッセージがリプライメッセージを含む場合に、前記表示モジュールは、更に、前記リプライメッセージの原文を表示することができ、
前記メッセージがコメントを備えたまたはコメントを備えないリツイートメッセージを含むと共に、コメントを備えたまたはコメントを備えない前記リツイートメッセージのリツイート数が事前に設定された数より大きいかもしくは事前に設定された数に等しい場合に、前記表示モジュールは、更に、リツイート原文及び前記リツイート数を表示することができ、
前記リプライメッセージ、または前記コメントを備えたリツイートメッセージ、または前記コメントを備えないリツイートメッセージが画像を有する場合に、前記表示モジュールは、更に、前記画像のサムネイルを表示することができる
ことを特徴とするクライアント。
【請求項６】
前記簡易ブログの単一メッセージが前記リツイートメッセージである場合に、前記表示モジュールは、前記ユーザによってフォローされた各ユーザの識別子を、前記ユーザによってフォローされた各ユーザによってリツイートされた前記リツイートメッセージのリツイート時間系列に従って表示することにより、前記リツイートメッセージの前記リツイートプロセスを表示することができ、
前記簡易ブログの単一メッセージがリツイートされたリプライメッセージである場合に、前記表示モジュールは、前記リプライメッセージをリツイートした各ユーザの識別子を、リツイート時間系列に従って表示することにより、前記リプライメッセージの前記リツイートプロセスを表示することができる
ことを特徴とする請求項５に記載のクライアント。
【請求項７】
前記表示モジュールが、前記ユーザによってフォローされた各ユーザの識別子を、前記ユーザによってフォローされた各ユーザによってリツイートされた前記リツイートメッセージのリツイート時間系列に従って表示することにより、前記リツイートメッセージの前記リツイートプロセスを表示する場合に、
前記ユーザによってフォローされた全ての前記ユーザの識別子の内のいずれかをトリガする場合に、前記表示モジュールは、前記リツイートメッセージをリツイートした各ユーザの識別子を表示することができるか、あるいは、
前記ユーザによってフォローされたユーザの識別子の内のいずれかをトリガする場合に、前記表示モジュールは、前記トリガされたユーザ識別子に対応するユーザによってリツイートされた前記リツイートメッセージのリツイート時間、リツイート場所、リツイート数のうちの少なくとも１つに関する情報を表示することができる
ことを特徴とする請求項６に記載のクライアント。
【請求項８】
前記第１データ保存モジュールが、画像保存モジュールを更に備え、
前記データ受信及び獲得モジュールが、画像抽出モジュールを更に備え、
メッセージテキストがサムネイルを含む場合に、前記画像抽出モジュールは、前記画像保存モジュールが首尾良くダウンロードされた前記サムネイルを保存したかどうかを判定することができ、
前記画像保存モジュールが首尾良くダウンロードされた前記サムネイルを保存していた場合に、前記表示モジュールは、更に、首尾良くダウンロードされた前記サムネイルを表示することができ、
前記画像保存モジュールが首尾良くダウンロードされた前記サムネイルを保存していない場合に、前記画像抽出モジュールは、更に、前記サーバから前記サムネイルをダウンロードし、ダウンロードリストにダウンロードされるべき前記サムネイルを追加すると共に、プロセスアニメーションを開始することができ、ダウンロードが成功した場合に、前記画像抽出モジュールは、更に、前記プロセスアニメーションを停止して、前記ダウンロードリストから前記サムネイルを削除すると共に、前記表示モジュールが表示することを促進するように、首尾良くダウンロードされた前記サムネイルを保存されるべき前記画像保存モジュールに送信することができる
ことを特徴とする請求項５に記載のクライアント。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、コンピュータ技術に関係すると共に、より詳しくは、簡易ブログの単一メッセージを集約するための方法、サーバ、クライアント、及びシステムに関係する。
【背景技術】
【０００２】
我々の国の簡易ブログ製品は、初期段階にあり、そして多数のユーザによって使用されている。簡易ブログ製品は、通常の娯楽においてばかりでなく、ユーザの毎日の仕事において、広く使用されていた。
【０００３】
現在の主流の簡易ブログクライアントソフトウェアにおいて、簡易ブログメッセージは、完全に時系列で、“ＱＱ”ソフトウェアのメインパネル上で公開される。簡易ブログメッセージを多数のユーザがフォローした場合に、ホームページメッセージが、より速く、スクロールしてリフレッシュする一方、その場合に、メインパネル上の比較的限られた空間内に多くの情報を提示することが難しくなる。従って、単一メッセージの詳細について表示することは、十分に、明瞭ではないと共に、完全ではない可能性があり、それは、ユーザの製品経験に直接影響を及ぼす。
【０００４】
それに加えて、既存の簡易ブログクライアントソフトウェアは、現在のユーザが、現在のユーザによってフォローされた各ユーザに関するメッセージを見ることができるだけなので、現在のユーザが、各メッセージについてのリツイートチェーン（retweeting chain）を知ることはない。現在のユーザが前のリツイートチェーンの発行者をフォローしないので、前のリツイートチェーンに関するメッセージは、現在のユーザには見えない。例えば、単一メッセージチェーンの全パス（全経路）が“Ａ−Ｂ−Ｃ−Ｄ−Ｅ”であり、現在のユーザは“Ｅ”に関するメッセージだけをフォローしている。それ故に、現在のユーザは、“Ｅ”だけを見ることができると共に、前のメッセージチェーンを知ることはない。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従って、現在の主流の簡易ブログクライアントソフトウェアアプリケーションにおいて、ユーザは、簡易ブログソフトウェアの使い易さ、安定性、及び安全性に関する更に高い要求を提案する。更に都合よく簡易ブログ関係チェーン（relationship chain）を知るために、ユーザは、特定の簡易ブログメッセージに関する詳細な情報を知ることを望み得ると共に、特定の簡易ブログメッセージのリツイートプロセスを見ることを望み得る。
【課題を解決するための手段】
【０００６】
上記を考慮した結果、本願の実施例は、ユーザが記載事項（entry：エントリー、記事）を有する興味のあるメッセージに関する独立したページにアクセスすることを可能にするために、そして、ユーザがメッセージに関するリツイートプロセスを明確に見ることを可能にするために、簡易ブログの単一メッセージを集約するための方法、サーバ、クライアント、及びシステムを提供する。
【０００７】
本願の実施例は、簡易ブログの単一メッセージを集約するための方法であって、ユーザ指示を受け取る段階と、前記ユーザ指示に従って、前記簡易ブログの単一メッセージを集約するためのトリガメッセージをサーバに送信する段階と、前記簡易ブログの単一メッセージの集約データを、前記サーバから受信または獲得する段階と、前記簡易ブログの単一メッセージの前記集約データを表示する段階とを含み、前記簡易ブログの単一メッセージの前記集約データを表示する段階が、前記簡易ブログの単一メッセージの記載事項を有する独立したメッセージページを使用することによって、前記簡易ブログの単一メッセージの前記集約データを表示する段階を含み、前記簡易ブログの単一メッセージの前記記載事項を有する前記独立したメッセージページを使用することによって、前記簡易ブログの単一メッセージの前記集約データを表示する段階が、前記独立したメッセージページがメッセージを含む場合に、前記メッセージの発信元を表示する段階と、前記メッセージがリプライメッセージを含む場合に、更に前記リプライメッセージの原文を表示する段階と、前記メッセージがコメントを備えたまたはコメントを備えないリツイートメッセージを含むと共に、コメントを備えたまたはコメントを備えない前記リツイートメッセージのリツイート数が事前に設定された数より大きいかもしくは事前に設定された数に等しい場合に、更にリツイート原文及び前記リツイート数を表示する段階と、前記リプライメッセージ、または前記コメントを備えたリツイートメッセージ、または前記コメントを備えないリツイートメッセージが画像を有する場合に、更に前記画像のサムネイルを表示する段階とを含むことを特徴とする方法を提供する。
【０００９】
本願の実施例は、対話モジュールと、データ受信及び獲得モジュールと、表示モジュールとを備えた、簡易ブログの単一メッセージを集約するためのクライアントであって、前記対話モジュールは、ユーザ指示を受け取ることができると共に、前記ユーザ指示に従って、前記簡易ブログの単一メッセージを集約するためのトリガメッセージを、サーバに送信することができ、前記データ受信及び獲得モジュールは、前記簡易ブログの単一メッセージの集約データを、前記サーバから受信または獲得することができ、前記表示モジュールは、前記簡易ブログの単一メッセージの前記集約データを表示することができると共に、前記クライアントが、第１データ保存モジュール、及び構築モジュールを更に備え、前記第１データ保存モジュールは、前記データ受信及び獲得モジュールによって受信または獲得された前記簡易ブログの単一メッセージの前記集約データを保存することができ、前記構築モジュールは、前記第１データ保存モジュールが前記データ受信及び獲得モジュールによって前記サーバから受信または獲得された前記簡易ブログの単一メッセージの前記集約データを保存していた場合に、前記簡易ブログの単一メッセージの記載事項を有する独立したメッセージページを構築することができ、前記独立したメッセージページがメッセージを含む場合に、前記表示モジュールは、更に、前記メッセージの発信元を表示することができ、前記メッセージがリプライメッセージを含む場合に、前記表示モジュールは、更に、前記リプライメッセージの原文を表示することができ、前記メッセージがコメントを備えたまたはコメントを備えないリツイートメッセージを含むと共に、コメントを備えたまたはコメントを備えない前記リツイートメッセージのリツイート数が事前に設定された数より大きいかもしくは事前に設定された数に等しい場合に、前記表示モジュールは、更に、リツイート原文及び前記リツイート数を表示することができ、前記リプライメッセージ、または前記コメントを備えたリツイートメッセージ、または前記コメントを備えないリツイートメッセージが画像を有する場合に、前記表示モジュールは、更に、前記画像のサムネイルを表示することができることを特徴とするクライアントを提供する。
【００１１】
本願の前述の技術的解決法を採用することによって、あらゆるページのユーザは、記載事項を有する興味のあるメッセージに関する独立したページにアクセスすることを可能にされ得る。その上、ユーザは、提供された単一メッセージに関する集約機能によって、メッセージリツイートプロセスを明確に見ることができ得る。一方、そのユーザは、更に都合よく簡易ブログに対応する関係チェーン（relationship chain）を知ることを可能にされ得る。従って、ユーザの経験が向上し得る。
【図面の簡単な説明】
【００１２】
【図１】本願の実施例による簡易ブログの単一メッセージを集約するための方法を例証するフローチャートである。
【図２】本願の別の実施例による簡易ブログの単一メッセージを集約するための方法を例証するフローチャートである。
【図３】本願の更に別の実施例による簡易ブログの単一メッセージを集約するための方法を例証するフローチャートである。
【図４】本願の実施例による、独立したメッセージページの原文またはメッセージテキストに画像が存在する場合に、サムネイルをダウンロードするための方法を例証するフローチャートである。
【図５】本願の実施例による、ユーザがサムネイルに関する操作を実行する場合に、サムネイルに関する対応する操作を実行するための方法を例証するフローチャートである。
【図６】本願の実施例による簡易ブログの単一メッセージを集約するためのサーバの構造を例証する構成図である。
【図７】本願の別の実施例による簡易ブログの単一メッセージを集約するためのサーバの構造を例証する構成図である。
【図８】本願の実施例による簡易ブログの単一メッセージを集約するためのクライアントの構造を例証する構成図である。
【図９】本願の別の実施例による簡易ブログの単一メッセージを集約するためのクライアントの構造を例証する構成図である。
【図１０】本願の更に別の実施例による簡易ブログの単一メッセージを集約するためのクライアントの構造を例証する構成図である。
【図１１】本願の別の実施例による簡易ブログの単一メッセージを集約するための方法を例証するフローチャートである。
【発明を実施するための形態】
【００１３】
本願の目的、技術的解決法、及び利点を更に明確にするために、本願に関する詳細な説明が、添付の図面及び特定の実施例と共に、下記において提供される。
【００１４】
図１は、本願の実施例による簡易ブログの単一メッセージを集約するための方法を例証するフローチャートである。図１において示されたように、その方法は、下記のブロックを含む。
【００１５】
ブロック１０１：ユーザが、簡易ブログの単一メッセージを集約することをトリガ（trigger）する。
【００１６】
ユーザが特定の興味のある簡易ブログの単一メッセージについてリツイートプロセスを見ることを望む場合に、ユーザは、簡易ブログの単一メッセージを集約することをトリガし得る。
【００１７】
ブロック１０２：ユーザに対して、簡易ブログの単一メッセージに関するリツイートプロセスを表示する。
【００１８】
図２は、本願の別の実施例による簡易ブログの単一メッセージを集約するための方法を例証するフローチャートである。図２において示されたように、その方法は、下記のブロックを含む。
【００１９】
ブロック２０１：ユーザは、簡易ブログの単一メッセージの集約をトリガするために、簡易ブログクライアントのホームページ、＠ページ（@ page）、及びゲストページの内のいずれかが提供する特定の簡易ブログの単一メッセージをダブルクリックし得る。その代りに、ユーザは、簡易ブログの単一メッセージの集約をトリガするために、簡易ブログの単一メッセージを選択すると共に、“集約”を選択するための適切なボタンをクリックし得る。
【００２０】
ブロック２０２：簡易ブログの単一メッセージの記載事項を伝達する独立したメッセージページを使用することによって、簡易ブログの単一メッセージのリツイートプロセスを表示する。
【００２１】
独立したメッセージページが少なくとも１つのメッセージを含む場合に、各メッセージの発信元を表示する、すなわち各メッセージがどの端末またはユーザによって送信されたかを表示する。
【００２２】
メッセージがリプライメッセージ含む場合に、リプライメッセージの発信元及び原文が表示され得る。ユーザに到達する全てのリツイートチェーンが、更に、原文と共に見られ得る。
【００２３】
メッセージがコメントを備えたまたはコメントを備えないリツイートメッセージを含み、その一方で、コメントを備えたまたはコメントを備えないリツイートメッセージのリツイート数が事前に設定された数、例えば１０より大きいか、もしくは事前に設定された数、例えば１０に等しい場合に、リツイート原文及びリツイート数が表示され得る。
【００２４】
メッセージテキスト、例えばリプライメッセージ、またはコメントを備えたリツイートメッセージ、またはコメントを備えないリツイートメッセージが画像を含む場合に、画像のサムネイルが表示され得る。一方、サムネイルは、コピー（copy）、開く（open）等のような、様々な操作をサポートし得る。
【００２５】
図３は、本願の別の実施例による簡易ブログの単一メッセージを集約するための方法を例証するフローチャートである。図３において示されたように、その方法は、下記のブロックを含む。
【００２６】
ブロック３０１：ユーザが、簡易ブログの単一メッセージを集約することをトリガ（trigger）する。
【００２７】
ブロック３０２：集約されるようにユーザによって要求された簡易ブログの単一メッセージが、リツイートメッセージであるか、またはリプライメッセージであるかどうかを判定する。集約されるようにユーザによって要求された簡易ブログの単一メッセージがリツイートメッセージである場合に、ブロック３０３へ進行し、そうでなければ、ブロック３０４へ進行する。
【００２８】
ブロック３０３：現在のユーザによってフォローされたユーザの識別子を使用することによって、現在のユーザによってフォローされたユーザによってリツイートされたリツイートメッセージの時間系列に従って、現在のユーザに対して、リツイートメッセージのリツイートプロセスを表示する。
【００２９】
具体的には、そのブロックは、下記の２つの方式によって実行され得るが、しかし下記における２つの方式に限定されない。
【００３０】
第１の方式は、集約されるように要求された簡易ブログの単一メッセージ、すなわちリツイートメッセージに対応するノードの識別子に基づいて、ノードの各先祖ノードの識別子を検索する。前記先祖ノードは、簡易ブログの単一メッセージに対応するノードの父親ノードのことを指すと共に、ルートノードまで、父親ノードの父親ノードが捜し出される。
【００３１】
そして、その場合に、捜し出された全ての先祖ノードに基づいて、現在のユーザによってどの先祖ノードがフォローされたかを判定する。現在のユーザによってフォローされたユーザの識別子を使用することによって、現在のユーザによってフォローされたユーザによってリツイートされたリツイートメッセージの時間系列に従って、現在のユーザに対して、リツイートメッセージのリツイートプロセスを表示する。
【００３２】
前記方式は、現在のユーザによってフォローされた全てのユーザの識別子、及び、現在のユーザによってフォローされた全てのユーザによってリツイートされたメッセージを、クライアントに保存することができる。
【００３３】
現在のユーザによってフォローされた各ユーザによってリツイートされたメッセージにおいて、現在のユーザによってフォローされたメッセージの時間系列に従って、集約されるように要求された簡易ブログの単一メッセージ、すなわちリツイートメッセージを、順々に検索する。現在のユーザによってフォローされたユーザによってリツイートされたメッセージから、リツイートメッセージが捜し出された場合に、現在のユーザによってフォローされた全てのユーザによってリツイートされた全てのメッセージが詳しく考察されるまで、現在のユーザによってフォローされたユーザの識別子を記録する。
【００３４】
そして、その場合に、リツイート時間系列、及び、現在のユーザによってフォローされた各ユーザの記録された識別子に従って、現在のユーザに対して、リツイートメッセージのリツイートプロセスを表示する。
【００３５】
ブロック３０４：リプライメッセージをリツイートした各ユーザの識別子を使用することによって、リツイート時間系列に従って、現在のユーザに対して、リプライメッセージのリツイートプロセスを表示する。
【００３６】
ブロック３０５：現在のユーザによってフォローされたユーザの識別子の内のいずれかが再度トリガされたかどうかを判定すると共に、もしイエス（yes）であれば、ブロック３０６へ進行し、そうでなければ、ブロック３０７へ進行する。
【００３７】
ブロック３０６：リツイートメッセージをリツイートした各ユーザの識別子を使用することによって、現在のユーザに対して、リツイートメッセージのリツイートプロセスを表示する。
【００３８】
ブロック３０７：もはや更に詳細な情報を表示しない。
【００３９】
図４は、本願の実施例による、現在のユーザに対して独立したメッセージページによって特定の簡易ブログの単一メッセージのリツイートプロセスを表示するプロセスの間、独立したメッセージページの原文またはメッセージテキストに画像が存在する場合に、サムネイルをダウンロードするための方法を例証するフローチャートである。図４において示されたように、その方法は、下記のブロックを含む。
【００４０】
ブロック４０１：図２において示された実施例によって説明された方法に基づいて、簡易ブログの単一メッセージの記載事項を伝達する独立したメッセージページによって簡易ブログの単一メッセージのリツイートプロセスを表示するプロセスの間、独立したメッセージページのメッセージテキストまたは原文に画像が存在する場合に、ブロック４０２へ進行する。
【００４１】
ブロック４０２：画像に対応するサムネイルが首尾良くダウンロードされたかどうかを判定すると共に、もしイエス（yes）であれば、ブロック４０７へ進行し、そうでなければ、ブロック４０３へ進行する。
【００４２】
ブロック４０３：ダウンロードされるべきサムネイルを置換するようにデフォルト画像を配置し、ダウンロードリストにダウンロードされるべき画像を追加すると共に、プロセスアニメーション（process animation）を開始し、そしてブロック４０４へ進行する。
【００４３】
ブロック４０４：画像に対応するサムネイルが首尾良くダウンロードされたかどうかを判定すると共に、もしイエス（yes）であれば、ブロック４０５へ進行し、そうでなければ、ブロック４０６へ進行する。
【００４４】
ブロック４０５：プロセスアニメーションを停止して、ダウンロードリストから画像を削除し、ブロック４０７へ進行する。
【００４５】
ブロック４０６：別のデフォルト画像をオリジナルのサムネイルの場所に配置し、例えば、ダウンロードの失敗を示す画像を表示する。
【００４６】
ブロック４０７：オリジナルのサムネイルの場所に首尾よくダウンロードされたサムネイルを配置する。
【００４７】
図５は、本願の実施例による、独立したメッセージページのメッセージテキストまたは原文に画像が含まれる独立したメッセージページによってユーザに対して特定の簡易ブログの単一メッセージのリツイートプロセスを表示するプロセスの間に、ユーザがサムネイルに関する操作を実行する場合に、サムネイルに関する対応する操作を実行するための方法を例証するフローチャートである。図５において示されたように、その方法は、下記のブロックを含む。
【００４８】
ブロック５０１：ユーザが、例えば“オリジナルの画像を見る（view an original picture）”、“コピーする（copy）”、“名前を付けて保存する（save as）”のようなサムネイルに関する操作を実行する場合に、ユーザによって最近選択された現在の画像に関して実行されるべき対応する操作を記録する。
【００４９】
ブロック５０２：オリジナルの画像がダウンロードされたかどうかを判定すると共に、もしイエス（yes）であれば、ブロック５０７へ進行し、そうでなければ、ブロック５０３へ進行する。
【００５０】
ブロック５０３：ダウンロードリストにダウンロードされるべき画像を追加し、プロセスアニメーションを開始すると共に、ブロック５０４へ進行する。
【００５１】
ブロック５０４：画像が首尾良くダウンロードされたかどうかを判定すると共に、もしイエス（yes）であれば、ブロック５０５へ進行し、そうでなければ、ブロック５０６へ進行する。
【００５２】
ブロック５０５：プロセスアニメーションを停止して、ダウンロードリストから画像を削除する。
【００５３】
ブロック５０６：別のデフォルト画像を配置し、ダウンロードの失敗を表示する。
【００５４】
ブロック５０７：ブロック５０１で記録された現在の画像に関して実行されるべき操作に従って、対応する操作を実行する。
【００５５】
例えば、ユーザが適切なボタンによって“オリジナルの画像を見る”をクリックする場合に、オリジナルの画像をダウンロードするためのロジックをトリガすることが必要になる。この時に、画像に対応するサムネイルに関するダウンロードアニメーション（downloading animation）が存在し得る。この時、ネットワークの速度が比較的遅い場合に、ユーザが、例えば“オリジナルの画像を見る”、“コピーする（copy）”、“名前を付けて保存する（save as）”のような、画像または他の画像に関する操作を、繰り返し実行し得ることに注意が必要である。従って、新しいダウンロードがトリガされ得る。不必要な新しいダウンロードを回避するために、下記の方式が使用され得る。
【００５６】
例えば、画像の繰り返されたダウンロードを保護するように、ダウンロード画像のリストを保存するために、プログラム内のマッピングテーブルが利用される。一方、ブロック５０１で記録された対応画像に関して実行されるべき最後の操作を保存するために、別のマッピングテーブルを使用する。画像のダウンロードが終了した場合に、最後の操作だけを実行する。例えば、ユーザがまず“オリジナルの画像を見る（view an original picture）”を選択し、そして次に即座に“名前を付けて保存する（save as）”を選択する場合である。従って、最後の操作は、“名前を付けて保存する（save as）”になる。
【００５７】
実施例において、ユーザが“オリジナルの画像を見る”を選択する場合に、外部プログラムを実行するための関数を呼び出す。例えば、ウィンドウズ（登録商標）ＸＰやウィンドウズ（登録商標）２０００システムのようなウィンドウズ（登録商標）システムにおいて、シェル実行（ShellExecute）関数が呼び出され得る。例えばウィンドウズ（登録商標）ＸＰシステムを例にとると、画像のためのデフォルト画像ビューアが存在しない場合に、呼び出されたシェル実行（ShellExecute）関数の戻り値（return value）は３２未満であろう。この時、ユーザが画像を見るための画像ビューアを選択することを容易にするように、シェル実行（ShellExecute）関数の戻り値に基づいて、“オープン方式（open mode）”選択ボックスが開かれ得る。
【００５８】
図６は、本願の実施例による簡易ブログの単一メッセージを集約するためのサーバの構造を例証する構成図である。図６において示されたように、サーバ６０１は、受信モジュール６０２と、獲得モジュール６０３と、送信モジュール６０４とを備える。
【００５９】
受信モジュール６０２は、クライアント７０１から簡易ブログの単一メッセージを集約するためのトリガメッセージを受信することができる。
【００６０】
獲得モジュール６０３は、トリガメッセージに基づいて、簡易ブログの単一メッセージの集約データを獲得することができる。
【００６１】
送信モジュール６０４は、クライアント７０１がユーザに対して表示することを促進するように、獲得モジュール６０３によって獲得された簡易ブログの単一メッセージの集約データを、クライアント７０１に送信することができる。
【００６２】
図７は、本願の別の実施例による簡易ブログの単一メッセージを集約するためのサーバの構造を例証する構成図である。図７において示されたように、受信モジュール６０２、獲得モジュール６０３、及び送信モジュール６０４に加えて、サーバ６０１は、保存モジュール６０５を更に備える。
【００６３】
受信モジュール６０２の機能は、図６で例証された実施例における受信モジュール６０２と同じであり、その詳細はここで繰り返して説明されない。
【００６４】
保存モジュール６０５は、簡易ブログの単一メッセージの集約データを保存することができる。簡易ブログの単一メッセージの集約データは、簡易ブログの単一メッセージに対応するノードに関する情報、及びそれらのノードの先祖ノードに関する情報を含む。先祖ノードは、簡易ブログの単一メッセージに対応するノードの父親ノードのことを指すと共に、ルートノードまでの父親ノードの父親ノードのことを指す。
【００６５】
獲得モジュール６０３は、更に、簡易ブログの単一メッセージに対応するノードの各先祖ノードの識別子を獲得することができる。
【００６６】
送信モジュール６０４は、更に、ユーザに対して表示するために、その両方が獲得モジュール６０３によって獲得された、簡易ブログの単一メッセージに対応するノードの識別子、及び、それらの各先祖ノードの識別子を、クライアント７０１に送信することができる。
【００６７】
すなわち、各リツイートされた簡易ブログのメッセージに関して、サーバは、ルートノードの識別子情報まで、簡易ブログのメッセージに対応するノードの父親ノードに関する識別子情報、及び、父親ノードの父親ノードに関する識別子情報を保存する。集約が必要である場合に、単一メッセージの集約チェーン（aggregation chain）を形成するために、現在のノードは、父親チェーン（father chain）における全てのノードを上へ向かって獲得するための基本と考えられ得る。
【００６８】
もちろん、簡易ブログの単一メッセージを集約するために、サーバによって他の方式が使用され得る。例えば、サーバは、単一メッセージをリツイートすると共に集約するためのアクセス階層（layer）、単一メッセージに関するロジックプロセス（logic process）を集約すると共に実行するためのモジュール、単一メッセージを集約するためのデータキャッシュ階層、及び簡易ブログデータ保存モジュール（図示せず）によって形成され得る。
【００６９】
単一メッセージをリツイートすると共に集約するためのアクセス階層は、禁じられたアクセスを回避するために、上位層の端末によってアクセスされた場合の統一されたアクセスを管理している。一方、処理モジュールの配置が比較的独立していることを可能にするために、単一メッセージをリツイートすると共に集約するためのアクセス階層は、更に、単一メッセージに関するロジックプロセスを集約すると共に実行するための下位層のモジュールを保護することができる。クライアント、例えばＱＱクライアントまたは他のクライアントによって送信された特定の簡易ブログのメッセージを集約するためのトリガメッセージを受信した場合に、単一メッセージをリツイートすると共に集約するためのアクセス階層は、トリガメッセージが指定されたプロトコルによって送信されたかどうかを判定し得ると共に、もしイエス（yes）であれば、単一メッセージに関するロジックプロセスを集約すると共に実行するためのモジュールに、トリガメッセージを送信する。
【００７０】
続いて、受信したトリガメッセージに基づいて、単一メッセージに関するロジックプロセスを集約すると共に実行するためのモジュールは、集約されるように要求された簡易ブログの単一メッセージに対応するノードのＩＤに従って、簡易ブログデータ保存モジュールから父親ノードの識別子（ＩＤ）を獲得し得ると共に、その場合に、ルートノードのＩＤが獲得されるまで、既に獲得された父親ノードＩＤの父親ノードのＩＤを獲得し得る。従って、サービス階層によって期待された全体の集約チェーン（aggregation chain）は、何度も抽出（pull：プル）した後で獲得され得る。一方、抽出の効率性を保証するために、同時発生及び非同期のプロセスが実行され得る。簡易ブログデータ保存モジュールにあまりにも多くの圧力を加えることを回避するために、部分的な中間のデータ及び結果データがバッファされ得る。
【００７１】
図８は、本願の実施例による簡易ブログの単一メッセージを集約するためのクライアントの構造を例証する構成図である。図８において示されたように、クライアント７０１は、対話モジュール７０２と、データ受信及び獲得モジュール７０３と、表示モジュール７０４とを備える。
【００７２】
対話モジュール７０２は、ユーザと対話することができると共に、ユーザ指示に従って、簡易ブログの単一メッセージを集約するためのトリガメッセージを、サーバ６０１に送信することができ、そして、データ受信及び獲得モジュール７０３に、簡易ブログの単一メッセージの集約データをサーバから受信するかまたは獲得することを指示するためのメッセージを送信することができる。
【００７３】
データ受信及び獲得モジュール７０３は、対話モジュール７０２によって送信されたメッセージに従って、サーバ６０１から、簡易ブログの単一メッセージの集約データを、受信または獲得することができる。
【００７４】
表示モジュール７０４は、ユーザに対して、データ受信及び獲得モジュール７０３によって獲得された、簡易ブログの単一メッセージの集約データを表示することができる。
【００７５】
サービス品質が満足されている場合にサーバ負荷をできる限り低くすることを可能にするために、メッセージのリツイートチェーンが比較的長い状況の下で、リツイートチェーンに関する全てのメッセージを同時に抽出する場合に、大きな負荷がサーバにもたらされ得る。クライアントアプリケーションのシナリオを考慮すると、バッチ処理及び多数回の抽出の戦略が、本願の実施例において使用され得る。データ受信及び獲得モジュール７０３は、サーバ６０１に保存された簡易ブログの単一メッセージの集約データから、事前に設定された数のメッセージを、同時に受信または獲得することができる。リツイートされると共に集約されたメッセージの平均長さと同様に、ネットワークにおけるクライアントとサーバとの間のネットワーク交換機の最小のバイト数の長さ制限を考慮すると、本実施例において、リツイートされると共に集約された１５個のメッセージが、同時に抽出されることが許される。ユーザが現在のページを見て、そして下側にスクロールダウンした場合に、事前に設定された数のメッセージが抽出されるまで、次のバッチ処理抽出プロセス（next batch pulling process）がトリガされることができ、例えば１２０個のメッセージが抽出されたあとで、スクロールバーの下端において、もはやトリガした事象に対する応答として抽出することはなくなる。その代りに、対応するウェブページにユーザがマニュアルでクリックしてジャンプすることを可能にするように、ユーザにもっと見ることを促す。
【００７６】
図９は、本願の別の実施例による簡易ブログの単一メッセージを集約するためのクライアントの構造を例証する構成図である。図９において示されたように、対話モジュール７０２、データ受信及び獲得モジュール７０３、表示モジュール７０４に加えて、クライアント７０１は、第１データ保存モジュール７０５、第２データ保存モジュール７０６、判定モジュール７０７、及び構築モジュール７０８を更に備える。
【００７７】
対話モジュール７０２とデータ受信及び獲得モジュール７０３の機能は、図８で例証された実施例における機能と同じであり、その詳細はここで繰り返して説明されない。
【００７８】
第１データ保存モジュール７０５は、データ受信及び獲得モジュール７０３によってサーバ６０１から受信または獲得された簡易ブログの単一メッセージの集約データを保存することができる。集約データは、簡易ブログの単一メッセージに対応するノードの識別子、及び、そのノードの各先祖ノードの識別子を含む。先祖ノードは、ルートノードまで、簡易ブログの単一メッセージに対応するノードの父親ノード、その父親ノードの父親ノードを含む。
【００７９】
第２データ保存モジュール７０６は、簡易ブログの単一メッセージがリツイートメッセージである場合に、時間系列に従って、現在のユーザによってフォローされた各ユーザの識別子を保存することができる。
【００８０】
判定モジュール７０７は、簡易ブログの単一メッセージがリツイートメッセージである場合に、リツイートメッセージに対応するノードの識別子、及び、第１データ保存モジュール７０５に保存されたそのノードの各先祖ノードの識別子のどちらが第２データ保存モジュール７０６に保存されているかを判定し、第２データ保存モジュール７０６に保存された各ノード識別子を、表示モジュール７０４に送信することができる。
【００８１】
第１データ保存モジュール７０５が、データ受信及び獲得モジュール７０３によってサーバ６０１から受信または獲得された簡易ブログの単一メッセージの集約データを保存したあとで、すなわち下記において構築されるべき独立したメッセージページに関するデータを獲得したあとで、構築モジュール７０８は、簡易ブログの単一メッセージの記載事項を有する独立したメッセージページを構築することができる。
【００８２】
簡易ブログの単一メッセージがリツイートメッセージである場合に、表示モジュール７０４は、更に、判定モジュール７０７によって送信された、第２データ保存モジュール７０６に保存されたノード識別子を受信し、構築モジュール７０８によって構築された独立したメッセージページ、及び、ノード識別子を使用することによって、リツイート時間系列に従って、現在のユーザに対して、現在のユーザによってフォローされたユーザによってリツイートされたリツイートメッセージのリツイートプロセスを表示することができる。簡易ブログの単一メッセージがリツイートされたリプライメッセージである場合に、表示モジュール７０４は、構築モジュール７０８によって構築された独立したメッセージページを使用することによって、リツイート時間系列に従って、第１データ保存モジュール７０５に保存された集約データに基づいて、現在のユーザに対して、簡易ブログの単一メッセージに対応するノードの識別子、及び、そのノードの各先祖ノードの識別子を表示することができる。
【００８３】
具体的には、独立したメッセージページが少なくとも１つのメッセージを含む場合に、表示モジュール７０４は、更に、各メッセージの発信元、例えばメッセージがどの端末またはユーザによって送信されたかを、表示することができる。メッセージがリプライメッセージ含む場合に、表示モジュール７０４は、更に、リプライメッセージの原文を表示することができる。メッセージがコメントを備えたまたはコメントを備えないリツイートメッセージを含み、そしてコメントを備えたまたはコメントを備えないリツイートメッセージのリツイート数が事前に設定された数より大きいか、もしくは事前に設定された数に等しい場合に、表示モジュール７０４は、更に、リツイート数及びオリジナルのリツイート内容を表示することができる。メッセージの中にリツイートメッセージまたはリプライメッセージのいずれも存在しない場合に、表示モジュール７０４は、メッセージの詳細な内容のみを表示することができる。メッセージテキスト、例えばリプライメッセージ、コメントを備えたまたはコメントを備えないリツイートメッセージ、またはメッセージ原文が画像を含む場合に、表示モジュール７０４は、更に、画像のサムネイルを表示することができる。サムネイルは、“コピー（copy）”、“開く（open）”、“名前を付けて保存する（save as）”、“見る（view）”のような、様々な操作をサポートすることができ、それは、図４及び図５によって例証された前述の実施例を参照し得ると共に、その詳細はここで繰り返して説明されない。
【００８４】
簡易ブログの単一メッセージがリツイートメッセージである場合に、クライアント７０１は、同様に、下記の方式によって実施され得る。例えば、クライアント７０１は、現在のユーザによってフォローされた全てのユーザの識別子、及び、現在のユーザによってフォローされた全てのユーザによってリツイートされたメッセージを保存するように構成され得る。
【００８５】
現在のユーザによってフォローされたユーザによってリツイートされた全てのメッセージにおいて、集約されるように要求された簡易ブログの単一メッセージ、すなわちリツイートメッセージを、現在のユーザによってフォローされた各ユーザの時間系列に従って検索する。リツイートメッセージが、現在のユーザによってフォローされた特定のユーザによってリツイートされたメッセージから発見される場合に、現在のユーザによってフォローされた全てのユーザによってリツイートされた全てのメッセージが詳しく考察されるまで、その特定のユーザの識別子を記録する。
【００８６】
そして、その場合に、リツイート系列に従って、そして、現在のユーザによってフォローされた各ユーザの記録された識別子を使用することによって、現在のユーザによってフォローされた各ユーザによってリツイートされたリツイートメッセージのリツイートプロセスを表示する。
【００８７】
本願の実施例のクライアント及びサーバを設計するためのプロセスにおいては、疎結合の構造（loosely coupled structure）、及びできる限り低いサーバ負荷が、達成されるべき目標とされる。疎結合の（loosely coupled）コード設計フレームワーク（code design framework）を獲得するために、関連する論理関数（logic function）を１つの階層にカプセル化するための階層型モジュールの設計上のアイデアが使用される。コード再利用性が更に良くなることを可能にするように、例えばインタフェースまたは純然たる仮想関数（virtual function）のような、理論上のデータ構造が、異なる階層の間の関係を表すために使用され得る。
【００８８】
前述の設計構想に基づいて、クライアント７０１は、更に、他の方式によって実施され得る。例えば、クライアント７０１を、プレゼンテーション階層、サービスロジック階層、及びデータ階層に分割する（それらは図示されない）。プレゼンテーション階層は、その中に、ユーザとの対話をカプセル化することができる。クライアントのコア機能階層と考えられるサービスロジック階層は、主として、機能的なロジック（logic：論理）プロセス、及び状態記憶装置（state storage）を担当している。データ階層は、サーバから、例えば抽出データ（pull data：プルデータ）のようなデータを獲得すると共に、獲得されたデータを体系化することができる。
【００８９】
図１０は、本願の別の実施例による簡易ブログの単一メッセージを集約するためのクライアントの構造を例証する構成図である。図１０と図９との間の差異は、下記のとおりである。図１０において、第１データ保存モジュール７０５は、更に、画像保存モジュール７０５１を備え、データ受信及び獲得モジュール７０３は、更に、画像抽出モジュール７０３１を備える。
【００９０】
図１０における対話モジュール７０２、第２データ保存モジュール７０６、判定モジュール７０７、及び構築モジュール７０８の各々の機能は、それぞれ、図９における機能と同じであり、その詳細はここで繰り返して説明されない。
【００９１】
メッセージテキストが画像を含む場合に、現在のユーザに対して、データ受信及び獲得モジュール７０３によって獲得された簡易ブログの単一メッセージの集約データを表示することに加えて、図１０における表示モジュール７０４は、更に、首尾よくダウンロードされたサムネイルを表示することができる。具体的な説明は、下記のとおりである。
【００９２】
メッセージテキスト、例えばリプライメッセージ、コメントを備えたまたはコメントを備えないリツイートメッセージ、またはメッセージ原文がサムネイルを含む場合に、画像抽出モジュール７０３１は、画像保存モジュール７０５１が首尾よくダウンロードされたサムネイルを保存したかどうかを判定することができる。もしイエス（yes）ならば、表示モジュール７０４は、更に、首尾よくダウンロードされたサムネイルを表示することができ、そうでなければ、画像抽出モジュール７０３１は、更に、サーバ６０１からサムネイルをダウンロードし、ダウンロードリストにダウンロードされるべき画像を追加し、そしてプロセスアニメーションを開始することができる。ダウンロードが成功した場合に、画像抽出モジュール７０３１は、プロセスアニメーションを停止して、ダウンロードリストから画像を削除し、首尾よくダウンロードされたサムネイルを、格納されるべき画像保存モジュール７０５１に送信することができる。
【００９３】
本願の実施例は、更に、（図において示されない）サーバ６０１とクライアント７０１によって形成される、簡易ブログの単一メッセージを集約するためのシステムを提供する。サーバ６０１の構造は、図６及び図７を参照し得る。クライアント７０１の構造は、図８、図９、及び図１０を参照し得る。サーバ６０１の構造は、図６及び図７で例証された２つの種類の構造に限定されないことに、注意するべきである。クライアント７０１の構造は、同様に、図８及び図９で例証された２つの構造に限定されない。
【００９４】
図１１は、本願の別の実施例による簡易ブログの単一メッセージを集約するための方法を例証するフローチャートである。図１１において示されたように、ブロック１１０１、１１０２、１１０３、１１０５、及び１１０７は、それぞれ、図３におけるブロック３０１、３０２、３０３、３０５、及び３０７と同じであり、その詳細はここで繰り返して説明されない。
【００９５】
図１１において示されたように、ブロック１１０２を実行した後で、簡易ブログの単一メッセージがリプライメッセージであると判定した場合には、ブロック１１０４に進行する。リプライメッセージがリツイートされなかった場合には、リプライメッセージの発信元、及び原文を表示する。リプライメッセージがリツイートされた場合には、リプライメッセージをリツイートした各ユーザの識別子を使用することによって、リツイート時間系列に従って、現在のユーザに対して、リプライメッセージのリツイートプロセスを表示する。
【００９６】
ブロック１１０５に関して、補足として、コンピュータは、その他の方式によって現在のユーザによってフォローされた全てのユーザの識別子の内のいずれかの現在の操作ユーザのダブルクリックを、もしくは、その他の方式によって現在のユーザによってフォローされた全てのユーザの識別子の内のいずれかをトリガすることを、待つことができる。現在のユーザによってフォローされた全てのユーザの識別子の内のいずれかがトリガされたと判定した場合には、ブロック１１０６に進行する。すなわち、独立したメッセージページによって、トリガされたユーザ識別子に対応するユーザによってリツイートされたリツイートメッセージに関する詳細な情報、例えばユーザアカウント、リツイート時間、リツイート場所、ユーザによってリツイートされた後でどのくらいのユーザがメッセージをリツイートしたか、を表示すると共に、更なる操作、例えばコピー、リツイート等を実行するために、現在のユーザに対して記載事項を提供する。
【００９７】
上記は、本願の単に好ましい実施例であって、本願を限定するために使用されない。容易に当業者の心に浮かぶ、本願によって開示された技術的な範囲内のあらゆる変更または置換は、本願の保護範囲によってカバーされるべきである。従って、本願の保護範囲は、特許請求の範囲によって決定されるべきである。
【符号の説明】
【００９８】
６０１    サーバ
６０２    受信モジュール
６０３    獲得モジュール
６０４    送信モジュール
６０５    保存モジュール
７０１    クライアント
７０２    対話モジュール
７０３    データ受信及び獲得モジュール
７０４    表示モジュール
７０５    第１データ保存モジュール
７０６    第２データ保存モジュール
７０７    判定モジュール
７０８    構築モジュール
７０３１    画像抽出モジュール
７０５１    画像保存モジュール
【図１】
0005646038.tif 000002
【図２】
0005646038.tif 000003
【図３】
0005646038.tif 000004
【図４】
0005646038.tif 000005
【図５】
0005646038.tif 000006
【図６】
0005646038.tif 000007
【図７】
0005646038.tif 000008
【図８】
0005646038.tif 000009
【図９】
0005646038.tif 000010
【図１０】
0005646038.tif 000011
【図１１】
0005646038.tif 000012