(57)【要約】  リアルタイムでチャットを行う際或いは行った後に、そのチャットのログが有する情報としての貴重な価値を不特定多数の第三者も享受し得るコミュニケーションシステムを提供する。そのチャットのログを記録して保存し、さらにそのログを公開し閲覧可能とする。さらに、公開したログはキーワードを入力することによって検索することができ、自分の知りたい内容について展開されたチャットを、チャットに参加した当事者でなくても、その場で取り出し閲覧することを可能とする。  インターネットブラウザを経由して情報交換が可能な複数の通信端末と、前記複数の通信端末間でやりとりされたチャットデータを受信するアプリケーションサーバと、前記アプリケーションサーバで受信した前記チャットデータを蓄積するデータベースサーバと、前記データベースサーバに記憶された情報を表示するｗｗｗサーバとを具備する。
2011077501.tif 000002
【特許請求の範囲】
【請求項１】
インターネットを経由して情報交換が可能な複数の通信端末と、前記複数の通信端末間でやりとりされた情報を受信するアプリケーションサーバと、前記アプリケーションサーバで受信したチャットに係る文字情報を蓄積するデータベースサーバと、前記データベースサーバに記憶された情報の少なくとも一部を表示するｗｗｗサーバとを具備するリアルタイムチャットシステムにおいて、
前記ｗｗｗサーバは前記チャットに係る文字情報をやりとりした前記複数の通信端末に対して該チャットに係る文字情報の記録の公開を許容する指令を受ける公開許可受付ルーチンを備え、
前記アプリケーションサーバは、前記公開を許容する指令を前記チャットに係る文字情報に関わる全ての前記複数の通信端末から受けた場合に前記データベースサーバに蓄積された前記チャットに係る文字情報の少なくとも一部を前記ｗｗｗサーバにて表示可能にする表示可能化ルーチンを備え、
前記システムは、所望の検索キーデータを受け付ける検索キー受付ルーチンと、前記受けつけられた検索キーデータを検索キーとして前記ｗｗｗサーバにて表示可能とされたチャットに係る文字情報について検索する検索ルーチンと、前記検索の結果を前記検索キーデータを受け付けた先に転送する転送ルーチンとを備えることを特徴とするコミュニケーションシステム。
【請求項２】
インターネットブラウザを経由してチャット及びメールを含む文字による情報交換が可能な複数の通信端末と、前記複数の通信端末間でやりとりされたチャット及び／もしくはメールに係る文字情報を受信するアプリケーションサーバと、前記アプリケーションサーバで受信した前記文字情報を蓄積するデータベースサーバと、前記データベースサーバに記憶された文字情報の少なくとも一部を表示するｗｗｗサーバとを具備するリアルタイムチャットシステムにおいて、
前記ｗｗｗサーバは前記文字情報をやりとりした前記複数の通信端末に対して該文字情報の記録の公開を許容する指令を受ける公開許可受付ルーチンを備え、
前記アプリケーションサーバは、前記公開を許容する指令を前記文字情報に関わる全ての前記複数の通信端末から受けた場合に前記データベースサーバに蓄積された前記文字情報の少なくとも一部を前記ｗｗｗサーバにて表示可能にする表示可能化ルーチンを備え、
前記システムは、所望の検索キーデータを受け付ける検索キー受付ルーチンと、前記受けつけられた検索キーデータを検索キーとして前記ｗｗｗサーバにて表示可能とされた文字情報について検索する検索ルーチンと、前記検索の結果を前記検索キーデータを受け付けた先に転送する転送ルーチンとを備えることを特徴とするコミュニケーションシステム。
【請求項３】
インターネットブラウザを経由して情報交換が可能な複数の通信端末と、前記複数の通信端末間でやりとりされたチャットに係る文字情報を受信するアプリケーションサーバと、前記アプリケーションサーバで受信した前記チャットに係る文字情報を蓄積するデータベースサーバと、前記データベースサーバに記憶された情報を表示するｗｗｗサーバとを具備するリアルタイムチャットシステムにおいて、
前記リアルタイムチャットシステムは、所望の検索キーデータを受け付ける検索キー受付ルーチンと、前記受けつけられた検索キーデータを検索キーとして前記データベースサーバに格納されたチャットに係る文字情報について検索する検索ルーチンと、前記検索の結果を前記検索キーデータを受け付けた先に転送する転送ルーチンとを備えることを特徴とするコミュニケーションシステム。
【請求項４】
インターネットブラウザを経由して情報交換が可能な複数の通信端末と、前記複数の通信端末間でやりとりされたチャット及び／もしくはメールに係る文字情報を受信するアプリケーションサーバと、前記アプリケーションサーバで受信した前記文字情報を蓄積するデータベースサーバと、前記データベースサーバに記憶された文字情報を表示するｗｗｗサーバとを具備するリアルタイムチャットシステムにおいて、
前記リアルタイムチャットシステムは、所望の検索キーデータを受け付ける検索キー受付ルーチンと、前記受けつけられた検索キーデータを検索キーとして前記データベースサーバに格納された文字情報について検索する検索ルーチンと、前記検索の結果を前記検索キーデータを受け付けた先に転送する転送ルーチンとを備えることを特徴とするコミュニケーションシステム。
【請求項５】
定期的に前記データベースサーバにメッセージの受信の有無を問い合わせる問合せ手段と、前記問合せにより受け取った結果を画面に表示する表示手段とをさらに具備することを特徴とする請求項１乃至４記載のうち１項記載のコミュニケーションシステム。
【請求項６】
前記リアルタイムチャットシステムは、
位置情報システム（ＧＰＳ）と、
前期位置情報システムを用いて特定の地域にいる全通信端末を抽出して該当全端末に係る利用者一覧を表示するルーチンと、
前記該当全端末に対しての同報もしくはそのうちの特定の端末に対しての発信を選択的に実行するルーチンと
をさらに備えることを特徴とする請求項１乃至４記載のうち１項記載のコミュニケーションシステム。
【請求項７】
前記チャットに関わるメッセージが前記該当全端末の画面にテロップで表示させる機能をさらに備えることを特徴とする請求項６記載のコミュニケーションシステム。
【請求項８】
前記アプリケーションサーバと前記ｗｗｗサーバは１台のサーバが兼務することを特徴とする請求項１乃至４記載のうち１項記載のコミュニケーションシステム。
【請求項９】
前記チャットが行われる場を意味するルームに係る複数の画面を重畳的に表示できる複数ルーム機能と、第１のルームに係る画面から第２のルームに係る画面に切り替える切替機能とをさらに具備することを特徴とする請求項１もしくは３記載のコミュニケーションシステム。
【請求項１０】
前記通信端末は、携帯電話、ＰＨＳ、ＰＤＡ、スマートフォンおよびコンピュータを含む通信可能な端末であることを特徴とする請求項１乃至４記載のうち１項記載のコミュニケーションシステム。
【請求項１１】
前記アプリケーションサーバは、前記複数の通信端末の少なくとも一つと会話情報の交換を行い、かつ前記データベースサーバに情報の蓄積を依頼するアプリケーションをさらに備えることを特徴とする請求項１乃至４記載のうち１項記載のコミュニケーションシステム。
【請求項１２】
前記アプリケーションサーバは、前記チャット内容をリアルタイムで所望の言語に翻訳する翻訳処理部をさらに備えることを特徴とする請求項１乃至４記載のうち１項記載のコミュニケーションシステム。
【請求項１３】
前記チャット内容は、前記翻訳前の情報及び該翻訳後の情報が併記して前記通信端末に表示可能であることを特徴とする請求項１２記載のコミュニケーションシステム。
【請求項１４】
前記データベースサーバは、会員情報、および／または会話情報の記憶を行い、該記憶された情報は利用者からの削除指示を受ける場合を除いて削除されず、蓄積され検索に供され得ることを特徴とする請求項１乃至４記載のうち１項記載のコミュニケーションシステム。
【請求項１５】
前記ｗｗｗサーバは、前記会員情報の管理及び／もしくは表示、前記データベースサーバに格納された文字情報の管理及び／もしくは表示、ユーザ情報の管理及び／もしくは表示、画像ファイルの管理及び／もしくは表示、公開された会話の検索の各機能をコンピュータに果たさせるルーチンを備えることを特徴とする請求項１乃至４記載のうち１項記載のコミュニケーションシステム。
【請求項１６】
前記携帯電話は、各キャリアに対応する携帯電話用チャットアプリケーションを起動させ、或いはブラウザ経由でチャットを行うことを特徴とする請求項１乃至４記載のうち１項記載のコミュニケーションシステム。
【請求項１７】
前記通信端末におけるＰＨＳ、ＰＤＡ、スマートフォンまたはコンピュータは、前記ｗｗｗサーバに配置されたチャットアプリケーションのプログラムを実行し、その結果をＰＨＳ、ＰＤＡ、スマートフォンまたはコンピュータのブラウザもしくはプログラムが受信して画面表示することを特徴とする請求項１乃至４記載のうち１項記載のコミュニケーションシステム。
【請求項１８】
前記通信端末は、前記アプリケーションサーバに対し、所与の時間の経過、前記通信端末からのチャットに係る文字情報の送信、発着信、および／または会話終了を含む所定のイベントが発生した際、ｈｔｔｐリクエストを送信することを特徴とする請求項１もしくは３記載のコミュニケーションシステム。
【請求項１９】
前記通信端末は、ｈｔｔｐリクエストに対する返答が一定時間ない場合、再度前記アプリケーションサーバへｈｔｔｐリクエストを送信することを特徴とする請求項１もしくは３記載のコミュニケーションシステム。
【請求項２０】
前記通信端末は、前記アプリケーションサーバに対してｈｔｔｐリクエストに対する返答を一定回数再送信してもなお返答がない場合、会話を終了することを特徴とする請求項１もしくは３記載のコミュニケーションシステム。
【請求項２１】
前記通信端末は、ｈｔｔｐリクエストを一定回数再送信したのち、前記アプリケーションサーバから応答が返ってきた場合には、正常にチャットを行っていた時点のルーム番号、チャット開始時刻を含む前記データベースサーバに格納された会話情報を復旧させ、会話の継続を行うことを特徴とする請求項１もしくは３記載のコミュニケーションシステム。
【請求項２２】
前記通信端末は、前記アプリケーションサーバに対するｈｔｔｐリクエストの送信をＧＥＴ方式で行うことを特徴とする請求項１乃至４記載のうち１項記載のコミュニケーションシステム。
【請求項２３】
前記携帯電話は、前記携帯電話用アプリケーションの起動において、電波状態の変動、または他の電話の着信およびメールの受信を含む所定のイベントによってアプリケーションが中断した場合、一定時間内でのアプリケーションの再起動により、中断前の状態に復旧できることを特徴とする請求項１もしくは３記載のコミュニケーションシステム。
【請求項２４】
前記通信端末は、前記アプリケーションサーバにｈｔｔｐリクエストを送信するが、ｈｔｔｐリクエストに対する返答はＸＭＬ形式であることを特徴とする請求項１もしくは３記載のコミュニケーションシステム。
【請求項２５】
前記通信端末は、前記アプリケーションサーバからｈｔｔｐリクエストに対する返信をＸＭＬ形式で受信するが、ＸＭＬレイアウトからＸＭＬ文を解析し、その内容に基づいて画面表示を行うことを特徴とする請求項１もしくは３記載のコミュニケーションシステム。
【請求項２６】
会話相手を呼び出す発信機能、および／または会話相手が呼出に応答する着信機能をさらに備えることを特徴とする請求項１もしくは３記載のコミュニケーションシステム。
【請求項２７】
前記チャットアプリケーションを起動しチャット内容を入力する際、チャット内容の入力が開始されかつ入力中であることを前記アプリケーションサーバ経由で前記データベースサーバに送信して情報を格納し、会話相手がメッセージの確認を行った際に前記データベースサーバ内の前記情報を会話相手の通信端末に送信することを特徴とする請求項１６もしくは１７記載のコミュニケーションシステム。
【請求項２８】
任意の通信端末のアプリケーションに係る現在の稼働状況を把握するための現状把握手段と、前記現状把握手段によって把握された現状に応じた表示を行う現状表示手段とをさらに具備することを特徴とする請求項１乃至４記載のうち１項記載のコミュニケーションシステム。
【請求項２９】
前記リアルタイムチャットシステムは、発信者からの会話を受信者が最初に着信を了解した時点から、会話終了、または一定時間メッセージのやりとりが行われなかった時点までを少なくとも会話時間として計測する会話時間計測機能をさらに備えることを特徴とする請求項１もしくは３記載のコミュニケーションシステム。
【請求項３０】
前記会話時間計測機能により計測された時間に応じて課金する課金機能をさらに具備することを特徴とする請求項２９記載のコミュニケーションシステム。
【請求項３１】
インターネットブラウザを経由して情報交換が可能な複数の通信端末と、前記複数の通信端末間でやりとりされたチャットデータを受信する第１のサーバと、前記第１のサーバで受信した前記チャット及び／もしくはメールに係る文字情報を蓄積する第２のサーバと、前記第２のサーバに記憶された情報を表示する第３のサーバサーバとを具備するコミュニケーションシステムにおいて、
前記第１のサーバは前記文字情報をやりとりした前記複数の通信端末に対して該文字情報の記録の公開を許容する指令を受ける公開許可受付ルーチンと、前記公開を許容する指令を前記文字情報に関わる全ての前記複数の通信端末から受けた場合に前記第２のサーバに蓄積された前記文字情報を前記第３のサーバにて表示可能にする表示可能化ルーチンを備え、
前記システムは、所望の検索キーデータを受け付ける検索キー受付ルーチンと、前記受けつけられた検索キーデータを検索キーとして前記第３のサーバにて表示可能とされた文字情報について検索する検索ルーチンと、前記検索の結果を前記検索キーデータを受け付けた先に転送する転送ルーチンとを備えることを特徴とするコミュニケーションシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、たとえばコミュニケーションシステムに係り、特に携帯電話、パーソナルコンピュータを含むネットワーク通信が可能な通信端末を使用してチャット及び／もしくはメールを含む文字情報によってソーシャルかつリアルタイムに会話し、かつ会話の内容を記録して公開し、実際にその会話に参加していなかった第三者によっても会話の内容を検索することが可能となるコミュニケーションシステムに関する。
【背景技術】
【０００２】
ネットワーク通信が可能な通信端末を使用して離れた人との意見交換を行うチャット及び／もしくはメールを含む文字情報によるコミュニケーションシステムは、主に電話のように音声ではなく、文字による情報のやりとりを基本とする。このため、相手の発言は相手が発信した文字によって表現されることになり、音声が不鮮明で聞き取れないというトラブルもなく、かつ会ったことがない人とも、より個人情報として重要度の高い音声は利用せずに文字でのやりとりであるため気軽にチャットを行うことが可能となる。【０００３】
特許文献１の発明によれば、携帯電話からサーバに対してチャットしたい相手方の携帯電話番号を通知してチャット要求すれば、サーバはそれに応じて相手方の携帯電話にチャット依頼を送信する。チャット依頼を受信した相手方は都合に応じて応答する。相手方から要求許可があれば、サーバから、要求側に要求許可を送信し参加者全員に参加者リストを送信し、チャットモードが確立する。参加者からのメッセージをサーバが受信するとサーバはそのメッセージを参加者全員に送信し、各参加者の携帯電話の表示部にメッセージ内容を表示する。相手方は、途中からチャットに参加することができる。【０００４】
しかし、一度にチャットできるのは１つのチャットを共有する参加者に限定されるため、複数のチャットを別の参加者（グループ）と同時に進行することはできず、急を要する場合でも相手を待たせてしまうか、限られた時間にアクセスしチャットによって話を進めたい際にも、どのチャットを優先させ、どのチャットを後にするかの取捨選択が迫られてしまう恐れがあった。【０００５】
特許文献２の発明によれば、チャットプログラムにおいて、処理手段が、閲覧要求を送信した外部の端末のアドレスとログファイルにアクセスすることを許可された外部の端末のアドレスとが一致する場合に、ログファイルに格納されたチャットのメッセージを読み出して、外部の端末に通信手段を介して送信するので、ログファイルにアクセスすることを許可された外部の端末に対して、ログファイルに格納された過去のメッセージを提供できる。【０００６】
しかしチャットは、実生活においても交流のある友人と行う場合もあれば、実生活において会ったことはないものの、主にチャットシステム上で交流のある人と行う場合もある。チャットシステム上で交流のある人と行うチャットの場合、お互いに共通して興味を持つ話題によってチャットが展開されることが多く、そのチャットに参加はしていないが同じくその話題に興味を持つ複数の第三者にとっても、そのチャット内容は興味深く、価値を有するものである。限定的に許可された端末からのみログファイルにアクセスが可能であるシステムでは、このチャットの有する価値は十分に享受されるとは言えない。【０００７】
【特許文献１】特開２００２−１３２６９４号公報
【特許文献２】特開２００７−１０８９５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
インターネットブラウザ経由で閲覧が可能な通信端末は、今や企業やそれに準ずる組織・団体に限らず、個人生活においても広く浸透し、そのニーズはますます高くなりつつある。さらに通信端末は、公的な情報を単に受けるだけでなく、個人レベルで情報を発信する役割を果たすようになってきている。【０００９】
このような状況下において、文字によって情報を交換するチャットは、音声を使用しないものの、電話と同様にリアルタイム性があり、かつ文字による情報交換であるため、聞き間違い、または言い間違いなどを招きにくく、より正確な情報交換を行うことに有効なシステムである。さらに、自分の声は伝えず、文字による情報交換であるため、実生活で会ったことのない人とも、通信ネットワーク上で気軽にやりとりをすることが可能となる。したがって、自分が興味のある話題によってチャットを行う対象が異なり、それぞれの話題に基づいてリアルタイムで相手に質問したり、お互いに議論したりすることによって、チャットが有意義に展開されることも多かった。【００１０】
従来、このチャットをログとして保存し、または閲覧することが可能であるのは、チャットに参加した当事者と、許可された第三者に限定されていた。しかし、それぞれの人が持つ興味の対象は様々であり、またそれぞれの人がある分野で有する「専門性」も様々である。したがって、ある話題に関して展開されたチャットのログは、それ自体が貴重な情報の宝庫であり、特にその話題に同様に興味を持つ第三者にとって非常に価値のある情報である。【００１１】
この発明の目的は、リアルタイムでチャットを行う際或いは行った後に、そのチャットのログ及び／もしくはメールを含む文字情報としての貴重な価値を不特定多数の第三者も享受し得るソーシャルかつリアルタイム性のあるコミュニケーションシステムを提供することである。本願の更なる目的は、そのチャットのログ及び／もしくはメールを含む文字情報を記録して保存し、さらにそのログを公開し閲覧可能とするコミュニケーションシステムを提供することである。さらに、公開したログはキーワードを入力することによって検索することができ、自分の知りたい内容について展開されたチャットを、チャットに参加した当事者でなくても、その場で取り出し閲覧することを可能とするコミュニケーションシステムを提供することも本願の目的である。【００１２】
ここでソーシャルとは、最初にある話題、ある目的が存在することによって集まった集団ではなく、自分の世界を持った個人個人が、互いを尊重しつつ、かつ互いに共通する部分、または重なる部分によって部分的につながる流動的で自由度の高い関係性のことである。本発明におけるコミュニケーションシステムは、１つ１つの情報が閉鎖的ではなく、開放的で無限に広がる可能性を有する多角的な情報交換の場を提供し、その場の構築を可能とするものである。【００１３】
さらに、このチャットを行うアプリケーションは、携帯電話、ＰＨＳ、ＰＤＡ、スマートフォン、またはコンピュータを含む、ブラウザ経由でネットワークに接続出来る機器であれば、いずれによっても起動し、利用可能にするコミュニケーションシステムを提供することも本願の目的である。【００１４】
また、通信ネットワークによって国内のみならず海外ともリアルタイムかつ容易に情報交換ができ、チャットに並行してログの内容をアプリケーションサーバ側で翻訳して表示することで、使用する言語が異なる人ともリアルタイムでチャットを行うことが可能となるコミュニケーションシステムを提供することも本願の目的である。【００１５】
加えて、チャットに参加して欲しい相手に対して、チャットへの参加要求を発信する機能、チャットへの参加要求を着信する機能、及び留守番電話機能を備えさせ、チャットを行うアプリケーションに接続していなくても、電話と同等のリアルタイム同等性を有する情報交換が可能となるコミュニケーションシステムを提供することも本願の目的である。【００１６】
さらに、チャットを行う際に、希望の相手がチャットを行うアプリケーションに接続しているかどうか、または他者とチャット中であるかどうかが端末の画面上で認識でき、相手の状況を把握した上でチャットへの参加を要求できるコミュニケーションシステムを提供することも本願の目的である。
【課題を解決するための手段】
【００１７】
かかる課題を解決するために、請求項１記載の本発明に係るコミュニケーションシステムは、インターネットを経由して情報交換が可能な複数の通信端末と、前記複数の通信端末間でやりとりされた情報を受信するアプリケーションサーバと、前記アプリケーションサーバで受信したチャットに係る文字情報を蓄積するデータベースサーバと、前記データベースサーバに記憶された情報の少なくとも一部を表示するｗｗｗサーバとを具備するリアルタイムチャットシステムにおいて、
前記ｗｗｗサーバは前記チャットに係る文字情報をやりとりした前記複数の通信端末に対して該チャットに係る文字情報の記録の公開を許容する指令を受ける公開許可受付ルーチンを備え、
前記アプリケーションサーバは、前記公開を許容する指令を前記チャットに係る文字情報に関わる全ての前記複数の通信端末から受けた場合に前記データベースサーバに蓄積された前記チャットに係る文字情報の少なくとも一部を前記ｗｗｗサーバにて表示可能にする表示可能化ルーチンを備え、
前記システムは、所望の検索キーデータを受け付ける検索キー受付ルーチンと、前記受けつけられた検索キーデータを検索キーとして前記ｗｗｗサーバにて表示可能とされたチャットに係る文字情報について検索する検索ルーチンと、前記検索の結果を前記検索キーデータを受け付けた先に転送する転送ルーチンとを備えることを特徴とする。【００１８】
本発明におけるコミュニケーションシステムとは、チャット及び／もしくはメールを含む、主に文字情報によってコミュニケーションを行うシステムを指し、好ましくは利用者による更新ボタンの押下を要せずに、チャットを行う相手方が発信した入力情報（文字情報、イメージデータ、音声情報もしくは音声情報をたとえば音声認識ソフト等を用いて文字化したデータを含む）を表示し、かつチャットを行う自方の発言した言葉がリアルタイムにチャットに参加している相手の画面に表示されるようにすることができるシステムである。さらに、本発明におけるコミュニケーションシステムにおいて、チャットを行うアプリケーションに接続しているユーザと接続していないユーザとを識別して表示する機能を持っており、かつその情報を随時（自動的に、或いは所定の時間間隔ごとに）更新する機能を備えることが好ましい。また、利用者同士がチャットを行っている際には、相手が発信する情報を入力中であることが受信側の画面において認識できるよう表示する機能を備えている。【００１９】
また、本発明における文字情報とは、チャットに係る文字情報及びメールに係る文字情報を含む、通信端末の表示画面において、主に文字によってやりとりされる情報である。さらに当該文字情報は、入力が文字によって行われるものに限定されず、音声による入力であっても音声認識ソフトなどを含む変換機能によって文字情報に変換されたものも含む。これによって、手または足を使って文字を入力することができなくても、受信側の通信端末での画面において文字情報による表示が可能であれば、本発明におけるコミュニケーションシステムは適応することができる。【００２０】
さらに本発明では、会話したい相手がチャットアプリケーションにログイン、またはログインしていなくてもチャットが可能な状況であればチャットに、会話したい相手がチャットアプリケーションにログインしておらず、チャットできない状況であればメールと、受信する側の状況、または送信する側の状況にしたがって、送受信する文字情報はどちらにも切替可能であり、代替も可能である。【００２１】
本発明における通信端末とは、インターネットブラウザ経由で閲覧できるコンピュータ、ＮＴＴドコモ（登録商標）、ａｕ（登録商標）、ソフトバンク（登録商標）等を含む各キャリアの携帯電話とＷｉｌｌｃｏｍ（登録商標）、Ｅ−Ｍｏｂｉｌｅ（登録商標）、ｉＰｈｏｎｅ（登録商標）、Ａｎｄｒｏｉｄ（登録商標）、ＢｌａｃｋＢｅｒｒｙ（登録商標）などを含む携帯端末など、携帯電話、ＰＨＳ、ＰＤＡ、およびコンピュータを含む通信可能な端末である。【００２２】
上記の構成において、アプリケーションサーバは、前記複数の通信端末の少なくとも一つと会話情報の交換を行い、かつ前記データベースサーバに情報の蓄積を依頼するアプリケーションをさらに備えることもできる。【００２３】
本発明における「通信端末」は、複数を基本に想定しているが、単数の場合であってもよい。単数の場合にはサーバとの間で文字情報をやりとりし、たとえば時間、日にちをずらして特定の相手先（自機を含む）に対して当該文字情報を時限的に送受信することができる。これによって、遺言、ＴｏＤｏリスト、タイムカプセル的に「〜年後の自分に対するメッセージ」などのデータを予め一時的にデータベースサーバに格納し、任意の時間、日にちに送受信することが可能となる。【００２４】
さらに本発明におけるチャットは、複数の通信端末から同時に同一のチャットグループに接続し、大勢が参加する会議としての使用も可能である。また、前述された同一のチャットグループに所属する通信端末の数には上限はない。【００２５】
さらに、上記の構成において、データベースサーバは、会員情報、および／または会話情報の記憶を行うようにすることもできる。【００２６】
上記の構成を備えることにより、チャットでのログを保存し、それを公開して検索可能にすることで、そのサービスを受ける誰もが会話情報を共有することが可能となる。また、各キャリアの携帯電話、ＰＨＳ、ＰＤＡ、スマートフォン、携帯端末など、ブラウザ経由でネットワークに接続可能な機器であれば、いずれの通信端末でもチャットを行うアプリケーションを起動し、チャットを行うことが可能となる。さらに、自分がチャットを行っているとき、他にチャットを行いたい相手がチャットを行うアプリケーションに接続し他の人物とチャット中であるかが分かるため、相手の状況を把握した上でチャットへの参加を要求するかどうかを決定することができる。【００２７】
また、課題を解決するために、請求項２記載の本発明に係るコミュニケーションシステムは、インターネットブラウザを経由してチャット及びメールを含む文字による情報交換が可能な複数の通信端末と、前記複数の通信端末間でやりとりされたチャット及び／もしくはメールに係る文字情報を受信するアプリケーションサーバと、前記アプリケーションサーバで受信した前記文字情報を蓄積するデータベースサーバと、前記データベースサーバに記憶された文字情報の少なくとも一部を表示するｗｗｗサーバとを具備するリアルタイムチャットシステムにおいて、
前記ｗｗｗサーバは前記文字情報をやりとりした前記複数の通信端末に対して該文字情報の記録の公開を許容する指令を受ける公開許可受付ルーチンを備え、
前記アプリケーションサーバは、前記公開を許容する指令を前記文字情報に関わる全ての前記複数の通信端末から受けた場合に前記データベースサーバに蓄積された前記文字情報の少なくとも一部を前記ｗｗｗサーバにて表示可能にする表示可能化ルーチンを備え、
前記システムは、所望の検索キーデータを受け付ける検索キー受付ルーチンと、前記受けつけられた検索キーデータを検索キーとして前記ｗｗｗサーバにて表示可能とされた文字情報について検索する検索ルーチンと、前記検索の結果を前記検索キーデータを受け付けた先に転送する転送ルーチンとを備えて構成される。【００２８】
本発明に係るコミュニケーションシステムの対象としてはチャットのみならず、チャット及びメールを含む文字情報とすることが可能である。これにより、コミュニケーションに用いる手段の選択肢は広がり、より利用者の便宜になる。【００２９】
また、課題を解決するために、請求項３記載の本発明に係るコミュニケーションシステムは、インターネットブラウザを経由して情報交換が可能な複数の通信端末と、前記複数の通信端末間でやりとりされたチャットに係る文字情報を受信するアプリケーションサーバと、前記アプリケーションサーバで受信した前記チャットに係る文字情報を蓄積するデータベースサーバと、前記データベースサーバに記憶された情報を表示するｗｗｗサーバとを具備するリアルタイムチャットシステムにおいて、
前記リアルタイムチャットシステムは、所望の検索キーデータを受け付ける検索キー受付ルーチンと、前記受けつけられた検索キーデータを検索キーとして前記データベースサーバに格納されたチャットに係る文字情報について検索する検索ルーチンと、前記検索の結果を前記検索キーデータを受け付けた先に転送する転送ルーチンとを備えて構成される。【００３０】
すなわち、チャットされた情報は公開されたもののみならず、たとえば公開されていないものであっても自身のチャット発信したものは検索の対象とすることができる。これにより、以前に作成した文書等を新規用途に活かすことが可能となり、情報の効率的利用を促進する。【００３１】
また、課題を解決するために、請求項４記載の本発明に係るコミュニケーションシステムは、インターネットブラウザを経由して情報交換が可能な複数の通信端末と、前記複数の通信端末間でやりとりされたチャット及び／もしくはメールに係る文字情報を受信するアプリケーションサーバと、前記アプリケーションサーバで受信した前記文字情報を蓄積するデータベースサーバと、前記データベースサーバに記憶された文字情報を表示するｗｗｗサーバとを具備するリアルタイムチャットシステムにおいて、
前記リアルタイムチャットシステムは、所望の検索キーデータを受け付ける検索キー受付ルーチンと、前記受けつけられた検索キーデータを検索キーとして前記データベースサーバに格納された文字情報について検索する検索ルーチンと、前記検索の結果を前記検索キーデータを受け付けた先に転送する転送ルーチンとを備えて構成される。【００３２】
すなわち、チャットのみならず、チャット及びメールを含む文字情報についても、公開されたもののみならず、公開されていないものであって自身の作成した情報（チャット及びメールコンテンツ）は検索の対象とすることができる。これにより、以前に作成した文書等を新規用途に活かすことが可能となり、情報の効率的利用を促進する。【００３３】
上記構成においては、請求項５にあるように、定期的に前記データベースサーバにメッセージの受信の有無を問い合わせる問合せ手段と、前記問合せにより受け取った結果を画面に表示する表示手段とをさらに具備してもよい。これにより、更新ボタンを押さずとも文字が流れてくるチャットが実現される。【００３４】
また、上記構成においては、請求項６にあるように、前記リアルタイムチャットシステムは、
位置情報システム（ＧＰＳ）と、
前期位置情報システムを用いて特定の地域にいる全通信端末を抽出して該当全端末に係る利用者一覧を表示するルーチンと、
前記該当全端末に対しての同報もしくはそのうちの特定の端末に対しての発信を選択的に実行するルーチンと
をさらに備える構成とすることもできる。これにより、（個別でも全員とでも）位置情報と連動させて、近くにいる人とチャットできる。
【００３５】
さらに、上記構成においては、請求項７にあるように、前記チャットに関わるメッセージが前記該当全端末の画面にテロップで表示させる機能をさらに備える構成とすることもできる。【００３６】
また、上記構成においては、請求項８にあるように、前記アプリケーションサーバと前記ｗｗｗサーバは１台のサーバが兼務する構成とすることもできる。【００３７】
さらに、上記構成においては、請求項９にあるように、前記チャットが行われる場を意味するルームに係る複数の画面を重畳的に表示できる複数ルーム機能と、第１のルームに係る画面から第２のルームに係る画面に切り替える切替機能とを具備する構成とすることもできる。これにより、上限なく複数のグループで同時に並行して会話ができる、すなわち、ウィンドウの切り替えが可能となる。【００３８】
また、上記構成においては、請求項１０にあるように、前記通信端末は、携帯電話、ＰＨＳ、ＰＤＡ、スマートフォンおよびコンピュータを含む通信可能な端末であるとすることもできる。【００３９】
さらに、上記構成においては、請求項１１にあるように、前記アプリケーションサーバは、前記複数の通信端末の少なくとも一つと会話情報の交換を行い、かつ前記データベースサーバに情報の蓄積を依頼するアプリケーションをさらに備える構成とすることもできる。【００４０】
また、上記構成においては、請求項１２にあるように、前記アプリケーションサーバは、前記チャット内容をリアルタイムで所望の言語に翻訳する翻訳処理部をさらに備える構成とすることもできる。これにより、入力と同時に自動でメイン言語に翻訳されることが可能になる。【００４１】
さらに、上記構成においては、請求項１３にあるように、前記チャット内容は、前記翻訳前の情報及び該翻訳後の情報が併記して前記通信端末に表示可能である構成とすることもできる。これにより、翻訳前の文章も並列して表示されることが可能になる。【００４２】
また、上記構成においては、請求項１４にあるように、前記データベースサーバは、会員情報、および／または会話情報の記憶を行い、該記憶された情報は利用者からの削除指示を受ける場合を除いて削除されず、蓄積され検索に供され得る構成とすることもできる。これにより、チャット、メールの文字情報は無期限で保存されることが可能になる。【００４３】
さらに、上記構成においては、請求項１５にあるように、前記ｗｗｗサーバは、前記会員情報の管理及び／もしくは表示、前記データベースサーバに格納された文字情報の管理及び／もしくは表示、ユーザ情報の管理及び／もしくは表示、画像ファイルの管理及び／もしくは表示、公開された会話の検索の各機能をコンピュータに果たさせるルーチンを備える構成とすることもできる。【００４４】
また、上記構成においては、請求項１６にあるように、前記携帯電話は、各キャリアに対応する携帯電話用チャットアプリケーションを起動させ、或いはブラウザ経由でチャットを行うとすることもできる。【００４５】
さらに、上記構成においては、請求項１７にあるように、前記通信端末におけるＰＨＳ、ＰＤＡ、スマートフォンまたはコンピュータは、前記ｗｗｗサーバに配置されたチャットアプリケーションのプログラムを実行し、その結果をＰＨＳ、ＰＤＡ、スマートフォンまたはコンピュータのブラウザもしくはプログラムが受信して画面表示するとすることもできる。【００４６】
この場合には、インストールして使うパターンとＡＳＰ（アプリケーション・サービス・プロバイダ）形式として使うパターンの双方が可能である。【００４７】
また、上記構成においては、請求項１８にあるように、前記通信端末は、前記アプリケーションサーバに対し、所与の時間の経過、前記通信端末からのチャットに係る文字情報の送信、発着信、および／または会話終了を含む所定のイベントが発生した際、ｈｔｔｐリクエストを送信するようにすることもできる。【００４８】
さらに、上記構成においては、請求項１９にあるように、前記通信端末は、ｈｔｔｐリクエストに対する返答が一定時間ない場合、再度前記アプリケーションサーバへｈｔｔｐリクエストを送信する構成とすることもできる。【００４９】
また、上記構成においては、請求項２０にあるように、前記通信端末は、前記アプリケーションサーバに対してｈｔｔｐリクエストに対する返答を一定回数再送信してもなお返答がない場合、会話を終了する構成とすることもできる。【００５０】
さらに、上記構成においては、請求項２１にあるように、前記通信端末は、ｈｔｔｐリクエストを一定回数再送信したのち、前記アプリケーションサーバから応答が返ってきた場合には、正常にチャットを行っていた時点のルーム番号、チャット開始時刻を含む前記データベースサーバに格納された会話情報を復旧させ、会話の継続を行う構成とすることもできる。【００５１】
また、上記構成においては、請求項２２にあるように、前記通信端末は、前記アプリケーションサーバに対するｈｔｔｐリクエストの送信をＧＥＴ方式で行う構成とすることもできる。【００５２】
さらに、上記構成においては、請求項２３にあるように、前記携帯電話は、前記携帯電話用アプリケーションの起動において、電波状態の変動、または他の電話の着信およびメールの受信を含む所定のイベントによってアプリケーションが中断した場合、一定時間内でのアプリケーションの再起動により、中断前の状態に復旧できる構成とすることもできる。【００５３】
また、上記構成においては、請求項２４にあるように、前記通信端末は、前記アプリケーションサーバにｈｔｔｐリクエストを送信するが、ｈｔｔｐリクエストに対する返答はＸＭＬ形式である構成とすることもできる。【００５４】
さらに、上記構成においては、請求項２５にあるように、前記通信端末は、前記アプリケーションサーバからｈｔｔｐリクエストに対する返信をＸＭＬ形式で受信するが、ＸＭＬレイアウトからＸＭＬ文を解析し、その内容に基づいて画面表示を行う構成とすることもできる。【００５５】
また、上記構成においては、請求項２６にあるように、会話相手を呼び出す発信機能、および／または会話相手が呼出に応答する着信機能をさらに備える構成とすることもできる。【００５６】
さらに、上記構成においては、請求項２７にあるように、前記チャットアプリケーションを起動しチャット内容を入力する際、チャット内容の入力が開始されかつ入力中であることを前記アプリケーションサーバ経由で前記データベースサーバに送信して情報を格納し、会話相手がメッセージの確認を行った際に前記データベースサーバ内の前記情報を会話相手の通信端末に送信する構成とすることもできる。これにより、書き中であることが利用者に判別できる。【００５７】
また、上記構成においては、請求項２８にあるように、任意の通信端末のアプリケーションに係る現在の稼働状況を把握するための現状把握手段と、前記現状把握手段によって把握された現状に応じた表示を行う現状表示手段とをさらに具備する構成とすることもできる。【００５８】
さらに、上記構成においては、請求項２９にあるように、前記リアルタイムチャットシステムは、発信者からの会話を受信者が最初に着信を了解した時点から、会話終了、または一定時間メッセージのやりとりが行われなかった時点までを少なくとも会話時間として計測する会話時間計測機能をさらに備える構成とすることもできる。これにより、チャット時間が秒単位で把握できる。【００５９】
また、上記構成においては、請求項３０にあるように、前記会話時間計測機能により計測された時間に応じて課金する課金機能をさらに具備する構成とすることもできる。これにｙｐり、チャット通話時間によって一部有料で課金することが可能になる。【００６０】
また、上記課題を解決するために、請求項３１記載の本発明に係るコミュニケーションシステムは、インターネットブラウザを経由して情報交換が可能な複数の通信端末と、前記複数の通信端末間でやりとりされたチャットデータを受信する第１のサーバと、前記第１のサーバで受信した前記チャット及び／もしくはメールに係る文字情報を蓄積する第２のサーバと、前記第２のサーバに記憶された情報を表示する第３のサーバサーバとを具備するコミュニケーションシステムにおいて、
前記第１のサーバは前記文字情報をやりとりした前記複数の通信端末に対して該文字情報の記録の公開を許容する指令を受ける公開許可受付ルーチンと、前記公開を許容する指令を前記文字情報に関わる全ての前記複数の通信端末から受けた場合に前記第２のサーバに蓄積された前記文字情報を前記第３のサーバにて表示可能にする表示可能化ルーチンを備え、
前記システムは、所望の検索キーデータを受け付ける検索キー受付ルーチンと、前記受けつけられた検索キーデータを検索キーとして前記第３のサーバにて表示可能とされた文字情報について検索する検索ルーチンと、前記検索の結果を前記検索キーデータを受け付けた先に転送する転送ルーチンとを備えて構成される。【００６１】
また、上記の構成において、データベースサーバに記憶されるデータベースは、ルーム番号テーブル、およびルーム番号詳細テーブルを有し、前記ルーム番号テーブル、および前記ルーム番号詳細テーブルから会話日時および／または会話したユーザに係るデータに基づいて前記会話情報をデータマッチングにより照合し、該照合の結果マッチングするデータを表示する機能を備えるようにすることもできる。【００６２】
本発明におけるルームとは一つの会話単位を意味するが、そのルームを同時に複数立てる（設ける）ことができる。これを達成するに当たっては、複数のルームに係る画面を各ウィンドウとして重畳的に表示可能とする機能、ルーム番号を付番する機能、ルーム番号の変更入力を受けると画面を切り替える切替機能を持たせることによる。当該切替機能とは、たとえばＴａｂキーの押下により、同時に並行して行われている違うチャットのルームからルームへ、瞬時かつ容易に画面の表示を切り替えすることが可能な機能を指す。【００６３】
また、上記の構成において、前記データベースサーバに記憶されるデータベースは、ルーム番号テーブル、およびルーム番号詳細テーブルを有し、前記ルーム番号テーブル、および前記ルーム番号詳細テーブルから会話日時および／または会話したユーザに係るデータに基づいて前記会話情報をデータマッチングにより照合し、該照合の結果マッチングするデータを表示する機能を備えるようにすることもできる。
【発明の効果】
【００６４】
本発明により、チャットでのログを保存し、それを公開して検索可能にすることで、そのサービスを受ける誰もが会話情報を共有することが可能となる。また、各キャリアの携帯電話、ＰＨＳ、ＰＤＡ、携帯端末など、ブラウザ経由でネットワークに接続可能な機器であれば、いずれの通信端末でもチャットを行うアプリケーションを起動し、チャットを行うことが可能となる。さらに、自分がチャットを行っているとき、他にチャットを行いたい相手がチャットを行うアプリケーションに接続し他の人物とチャット中であるかが分かるため、相手の状況を把握した上でチャットへの参加を要求するかどうかを決定することができる。【００６５】
また本発明により、相手がチャットアプリケーションに接続していない場合、電話と同様にチャットへの参加要求を相手に発信したり、または他人からのチャットへの参加要求を受信したりすることも可能であるため、アプリケーションに常時接続していなくてもメンバの都合が合えばチャットを行うことができる。このため、今知りたい、今情報交換を行いたいという欲求を解消できる即時性も有することとなり、より有意義なチャットが展開され、蓄積され公開される会話情報がより充実して、情報価値の向上につながる。【００６６】
さらに本発明が有するリアルタイム翻訳機能によって、他言語を使用する人ともリアルタイムにチャットを行うことができる。これによって、言語の壁を越え、同じく興味のある事柄について議論しあい、情報交換をすることが可能となる。高度情報化社会と言われながらも、個人個人が却って孤立する傾向にある現代において、音声ではなく文字によって適宜な距離関係を保ち、かつ他言語の人とも繋がることのできるチャットは、老若男女問わず気軽に情報を受発信することが可能なシステムであり、さらに他者の会話情報を検索し閲覧できることで、それぞれの好奇心が満たされてなお刺激されることにもつながる。
【図面の簡単な説明】
【００６７】
【図１】本発明の一実施形態に係る通信ネットワークの全体構成を示す概念図である。
【図２Ａ】本発明の一実施形態に係る通信ネットワークにおけるデータベースサーバ、アプリケーションサーバ、およびｗｗｗサーバの構成を示す機能ブロック図である。
【図２Ｂ】本発明の一実施形態に係る通信ネットワークにおけるネットワーク回線の構成を示す機能ブロック図である。
【図２Ｃ】本発明の一実施形態に係る通信ネットワークにおける携帯電話端末の構成を示す機能ブロック図である。
【図２Ｃ１】本発明の一実施形態に係る通信ネットワークにおける携帯電話端末のプロフィール登録サブ機能（以下、図面及び／もしくは発明の実施の形態中で「サブ機能」との記載を省略する場合もある。以下、同じ。）の構成を示す機能ブロック図である。
【図２Ｃ２】本発明の一実施形態に係る通信ネットワークにおける携帯電話端末のお友達サブ機能構成を示す機能ブロック図である。
【図２Ｃ３】本発明の一実施形態に係る通信ネットワークにおける携帯電話端末のお気に入り一覧サブ機能構成を示す機能ブロック図である。
【図２Ｃ４】本発明の一実施形態に係る通信ネットワークにおける携帯電話端末のユーザページサブ機能構成を示す機能ブロック図である。
【図２Ｃ５】本発明の一実施形態に係る通信ネットワークにおける携帯電話端末のブラウザ表示サブ機能構成を示す機能ブロック図である。
【図２Ｄ】本発明の一実施形態に係る通信ネットワークにおけるＰＨＳまたはＰＤＡの構成を示す機能ブロック図である。
【図２Ｅ】本発明の一実施形態に係る通信ネットワークにおけるコンピュータの構成を示す機能ブロック図である。
【図３】本発明の一実施形態に係るリアルタイムチャットシステムにおけるアプリケーションサーバ、データベースサーバ、および携帯電話端末でのチャット機能の構成を示す機能ブロック図である。
【図４】本発明の一実施形態に係るマイページ機能の構成を示す機能ブロック図である。
【図５】本発明の一実施形態に係るリアルタイムチャットシステムにおいて、ユーザが使用する各通信端末の画面に表示されるチャットを示すイメージ図である。
【図６】本発明の一実施形態に係るリアルタイムチャットシステムにおいて、コミュニケーションサーバとユーザ間との発信および着信のプロセスを示すタイミングフローチャートである。
【図７Ａ】本発明の一実施形態に係るメッセージの送信手順を示すフローチャートである。
【図７Ｂ】本発明の一実施形態に係るメッセージの送信手順を示すフローチャートである。
【図８Ａ】本発明の一実施形態に係るメッセージの確認手順を示すフローチャートである。
【図８Ｂ】本発明の一実施形態に係るメッセージの確認手順を示すフローチャートである。
【図９】本発明の一実施形態に係る会話中のステータスを表す概略図である。
【図１０】本発明の一実施形態に係る会話のデータテーブルを示す概略図である。
【図１１】本発明の一実施形態に係るルーム番号テーブルを示す概略図である。
【図１２】本発明の一実施形態に係るルーム番号詳細テーブルを示す概略図である。
【図１３】本発明の一実施形態に係る公開される会話の設定を示すイメージ図である。
【図１４】本発明の一実施形態に係る公開される会話の詳細な画面を示すイメージ図である。
【図１５】本発明の一実施形態に係る公開された会話の検索画面を示すイメージ図である。
【図１６】本発明の一実施形態に係る公開された会話の詳細な検索画面を示すイメージ図である。
【図１７】本発明の一実施形態に係る会話データの作成を示すイメージ図である。
【図１８】本発明の一実施形態に係る会話データの作成を示す詳細なイメージ図である。
【図１９】本発明の一実施形態に係る絵文字の変換手順を示すタイミングフローチャートである。
【図２０】本発明の一実施形態に係るマイページログを示すイメージ図である。
【図２１】本発明の一実施形態に係るマイページログを示す詳細なイメージ図である。
【図２２】本発明の一実施形態に係るメッセージ送信リクエストを示す概略図である。
【図２３】本発明の一実施形態に係るメッセージ受信リクエストのＸＭＬレイアウトを示す概略図である。
【図２４】本発明の一実施形態に係るアプリサーバ、データベースサーバの構成を示す概略図である。
【図２５】本発明の一実施形態に係るＮＴＴＤｏｃｏｍｏ、ａｕ、ＳｏｆｔＢａｎｋを含む携帯電話の構成を示す概略図である。
【図２６】本発明の一実施形態に係るＮＴＴＤｏｃｏｍｏ、ａｕ、ＳｏｆｔＢａｎｋ以外の通信端末の構成を示す概略図である。
【図２７】本発明の一実施形態に係る各機能とユーザ登録を示す概略図である。
【図２８】本発明の一実施形態に係る携帯電話のチャットアプリケーションシステムを示すタイミングフローチャートである。
【図２９】本発明の一実施形態に係る会話公開の手順を示すタイミングフローチャートである。
【図３０】本発明の別の実施形態に係るリアルタイムチャットシステムにおいて、１対１会話機能を利用する際の利用者端末の画面イメージを示した概念図である。
【図３１】本発明の別の実施形態に係るリアルタイムチャットシステムにおいて、トークログ表示機能を利用する際の利用者端末の画面イメージを示した概念図である。
【図３２】本発明の別の実施形態に係るリアルタイムチャットシステムにおいて、オープントーク会話機能を利用する際の利用者端末の画面イメージを示した概念図である。
【図３３】本発明の別の実施形態に係るリアルタイムチャットシステムにおいて、公開されたチャットデータについての検索機能を利用する際の利用者端末の画面イメージを示した概念図である。
【図３４】本発明の別の実施形態に係るリアルタイムチャットシステムにおいて、四人同時の会話機能を利用する際の利用者端末の画面イメージを示した概念図である。
【図３５】本発明の別の実施形態に係るリアルタイムチャットシステムにおいて、有料トーク機能を利用する際の利用者端末の画面イメージを示した概念図である。
【発明を実施するための形態】
【００６８】
以下、図面を参照して本発明の実施形態を説明する。
【００６９】
図１は、本発明の一実施形態に係るリアルタイムチャットシステムの全体構成を示す概念図である。また図２は、本発明の一実施形態に係る通信ネットワークの全体構成とそれぞれの役割を示す機能ブロック図であり、図２Ａは当該通信ネットワークにおけるデータベースサーバの構成を示す概念図、図２Ｂは当該通信ネットワークにおけるネットワーク回線の構成を示す機能ブロック図、図２Ｃは当該通信ネットワークにおける携帯電話端末の構成を示す機能ブロック図である。
【００７０】
図１に示されるように、本発明に係るリアルタイムチャットシステムは、携帯端末（２−Ａ、２−Ｂ、２−Ｃ）、ＰＨＳまたはＰＤＡまたはスマートフォン３、およびコンピュータ４を含む通信端末から送信されたチャットデータをアプリケーションサーバ１で受信し、さらに当該会話データをデータベースサーバ５に格納し蓄積する機能を有している。
【００７１】
ここでの「リアルタイムチャット」とは、文字による会話（チャット）を行う際に、ユーザが使用する各通信端末において会話情報（ログ）を更新するために更新ボタンを押さなくても、相手の発信した言葉が表示画面上に表示されるものである。また、自分の発言した言葉がすぐに相手の画面に表示される。さらに、チャットを行うアプリケーションにログインしているユーザおよびログインしていないユーザがこの通信端末の画面上で識別できる。加えて、チャットを行っている相手が発言を入力中であることも画面上で認知することができる（図示は省略する）。
【００７２】
また、ここでの通信端末とは、ＮＴＴＤｏｃｏｍｏ、ａｕ、Ｓｏｆｔｂａｎｋなどを含む各キャリアの携帯電話、Ｗｉｌｌｃｏｍ、Ｅ−ｍｏｂｉｌｅ、ｉＰｈｏｎｅ、Ａｎｄｒｏｉｄ携帯およびＢｌａｃｋＢｅｒｒｙ携帯などを含むＰＨＳおよびＰＤＡおよびスマートフォン、およびコンピュータなど、インターネットブラウザ経由で閲覧できる通信端末を指す。
【００７３】
当該通信ネットワークは、主にサーバおよび通信端末に分けることができる。アプリケーションサーバ１は、チャットを行う通信端末（２、３および４）と会話情報の交換を行う機能を備えるほか、受信処理部１−Ａ、送信処理部１−Ｂ、登録リクエスト部１−Ｃ、翻訳処理部１−Ｄ、および画像送信部１−Ｄを備えて構成される。データベースサーバ５に情報の蓄積を依頼するアプリケーションが記憶されている。データベースサーバ５は、会話ログを記憶する会話ログ記憶部５−Ａ−１、会話情報を記憶する会話情報記憶部５−Ａ−２、およびユーザ情報を記憶するプロフィール記憶部５−Ａ−３を有する記憶部５−Ａを備え、会話情報、ユーザ情報の記憶を行う。さらに会話情報記憶部は、会話データテーブル５−Ａ−２１、チャットを行うグループもしくは仮想上の場所もしくは機会を表すルーム番号テーブル５−Ａ−２２１、およびルーム番号詳細テーブル５−Ａ−２２２を含む。
【００７４】
ｗｗｗサーバ６は、会員情報の管理画面、過去に行った会話の管理、ユーザ情報の照会、画像ファイルの管理、公開された会話の検索などを行い、ＨＴＭＬ情報を記憶するＨＴＭＬ記憶部６−Ａ−１、および画像を記憶する画像ファイル６−Ａ−２を有する記憶部６−Ａと、検索部６−Ｂを備える。
【００７５】
これら上記のサーバとネットワークを経由して接続する通信端末は、ＮＴＴＤｏｃｏｍｏ、ａｕ、Ｓｏｆｔｂａｎｋなどを含む各キャリアの携帯電話２、Ｗｉｌｌｃｏｍ、Ｅ−ｍｏｂｉｌｅ、ｉＰｈｏｎｅ、Ａｎｄｒｏｉｄ携帯およびＢｌａｃｋＢｅｒｒｙ携帯などを含むＰＨＳおよびＰＤＡおよびスマートフォン３、およびコンピュータ４など、インターネットブラウザ経由で閲覧できる通信端末を指す。
【００７６】
携帯電話２は、携帯アプリケーション部２−Ｄ、ブラウザ表示部２−Ｅを備えており、携帯アプリケーション部２‐Ｄは、チャット機能２−Ｄ−１、ルーム機能２−Ｄ−２、マイページ部２−Ｄ−３、およびオープントーク検索機能２−Ｄ−４を（或いはそれぞれの「機能を装置もしくはプロセッサ或いはコンピュータ端末によって実行させる（サブ）ルーチンを」とすることもできる。以下「機能」について同じ。）備える。ブラウザ表示部２−Ｅは、マイページ機能２−Ｅ−１、およびオープントーク検索機能２−Ｅ−２を備える。
【００７７】
ＰＨＳおよびＰＤＡ３、およびコンピュータ４は、それぞれチャット機能、ルーム機能、マイページ機能、オープントーク検索機能を有するブラウザ表示部を備える。
【００７８】
次に、本願に係る動作を説明する。図５は、本発明の一実施形態に係るリアルタイムチャットシステムにおいて、ユーザが使用する各通信端末の画面に表示されるチャットを示すイメージ図、図６は、当該リアルタイムチャットシステムにおいて、アプリケーションサーバ１とユーザ間との発信および着信のプロセスを示すタイミングフローチャートである。さらに図７は、本発明の一実施形態に係るメッセージの送信手順を示すフローチャートである。
【００７９】
また、図２２は本発明の一実施形態に係るメッセージ送信リクエストを示す概略図であり、図２３は、本発明の一実施形態に係るメッセージ受信リクエストを示す概略図である。以下、それぞれの構成に係る機能を当該機能を用いるユーザ（利用者）視点からの動作として説明する。本システムは、利用者に下記の動作或いは作用をもたらす機能を有しているものである。
【００８０】
会話（チャット）を送信する際、ユーザＡは通信端末のメッセージ入力画面においてメッセージを入力する。メッセージ入力画面が表示された際に、ユーザＡが使用する通信端末からアプリケーションサーバ１に「メッセージを書き込み中」の状態であることが通知される。すると、データベースサーバ５にあるユーザＡの状況に関するデータは「書き込み中」に更新され、ユーザＢの通信端末からアプリケーションサーバ１にメッセージ確認が行われた際には、ユーザＡが書き込み中であることを送信し、ユーザＢの通信端末に書き込み中であることが通知される。
【００８１】
図２２に示されるように、通信端末側で最初の発信が行われると、アプリケーションサーバ１側にｈｔｔｐプロトコルのＧＥＴ方式で情報が送信され、データベースサーバ５の会話ログ記憶部５−Ａ−１にある会話ログテーブル５−Ａ−１１と会話情報記憶部５−Ａ−２にある会話データテーブル５−Ａ−２１に情報が蓄積される。同時に、同じくデータベースサーバ５のルーム番号情報記憶部５−Ａ−２２にあるルーム番号テーブル５−Ａ−２２１に登録処理を実行することでルーム番号が付番される。ルーム番号が付番されると、ルーム番号情報記憶部５−Ａ−２２のルーム番号詳細テーブル５−Ａ−２２２に、ルーム番号および発信したユーザ番号が登録される。
【００８２】
メッセージ入力画面でメッセージを入力して送信すると（登録機能を選択）、アプリケーションサーバ１にメッセージが送信される。アプリケーションサーバ１で受信したメッセージは、データベースサーバ５の会話ログ記憶部５−Ａ−１に記録される。次に、データベースサーバ５の会話情報記憶部５−Ａ−２にあるルーム番号詳細テーブル５−Ａ−２２２から、同一のルーム番号に参加しているユーザが検索され、ユーザ人数分の会話データが作成される。会話データが作成される際に、作成するユーザの言語が会話したユーザの言語と異なる場合には、アプリケーションサーバ１にある翻訳処理部１−Ｄにおいて翻訳処理が実行され、会話データのメッセージは、翻訳後のメッセージがデータベースサーバ５の会話情報記憶部５−Ａ−２に格納される。また、メッセージの中に絵文字が含まれる場合には、絵文字の変換処理が実行され（Ｓ７１３）、作成するユーザの通信端末に合わせた絵文字がメッセージとして会話情報処理部５―Ａ−２に登録される。
【００８３】
会話ログが会話ログ記憶部５−Ａ−１、会話データが会話情報記憶部５―Ａ−２にそれぞれ登録されると（Ｓ７１７）、ユーザが使用する通信端末へ送信する情報の生成が次のような手順で行われる。まず、アプリケーションサーバ１からデータベースサーバ５に対してお友達情報リクエストが発信される（Ｓ７１６）と、データベースサーバ５のお友達テーブル５−Ａ−３１から、お友達登録しているユーザ番号とユーザ名と利用状況が検索され（Ｓ７１９）、その検索結果をアプリケーションサーバ１が受信し（Ｓ７１９）、送信用データに書き込む。
【００８４】
次に、現在会話中であるかどうかを端末からのリクエストでルーム番号が入っているか否かが判断され、会話中の場合、アプリケーションサーバ１からデータベースサーバ５へ会話情報リクエストを発信し（Ｓ７２１）、一連の会話情報がデータベースサーバ５からアプリケーションサーバ１に発信される（Ｓ７２３）。このとき、アプリケーションサーバ１は、データベースサーバ５の会話データテーブル５−Ａ―２１から、該当するルーム番号の会話データを古い会話データから新しい会話データの順に取得し、会話ユーザと会話メッセージの組み合わせを送信用データに書き込む。
【００８５】
さらに、会話相手の状況（情報）が取得される。データベースサーバ５のルーム番号詳細テーブル５−Ａ−２２２から同一のルーム番号を持つユーザ情報を把握し、プロフィール記憶部５−Ａ−３にあるユーザ情報テーブル５−Ａ−３２から、そのユーザのログイン状況や書き込み状況を取得する。取得したユーザ番号、ユーザ名、および接続状況は、送信用データにさらに書き込まれる。
【００８６】
最後に、会話しているユーザ以外からの着信、会話情報を取得する。データベースサーバ５のルーム番号テーブル５−Ａ−２２１から現在会話しているルーム番号以外で会話が終了していないルーム番号と最新の会話を取得する（Ｓ７２９）。会話が存在した場合には、ルーム番号と最新のメッセージを送信用データに追加する。また、着信情報があった場合には、着信ユーザを送信用データに追記する。さらに会話や着信が前回アプリケーションサーバ１とやりとりした後に作成された場合、新規メッセージであることを送信用データに書き込む。送信用データ作成が完了した後、ユーザが使用する通信端末へＸＭＬ形式で送信する（Ｓ７３３）。
【００８７】
本発明の一実施形態におけるｈｔｔｐリクエストのレイアウトは、次のとおりである。
１．       
デベロッパID（developerid）
携帯キャリアや端末の種類を送信する。
⇒端末独自の処理に対応する為の項目。
２．バージョン(version)
⇒新バージョンがリリースされた時に旧バージョンのプログラムの動作を保証する為の項目
３．       
ユーザID(userid)
ユーザを特定する為の項目。
docomo,au,SoftBankでは各端末の端末固有番号になる。
（端末個別番号の送信を許しているユーザのみ）
４．       
オペレーション(operation)
以下５つの状態を示す。
sync
⇒ ハートビート
send
⇒ メッセージ送信
req
⇒ 発信
ans
⇒ 着信
stp
⇒ 会話終了
５．       
会話時間(time)
会話時間を秒単位で送信
６．       
メッセージ(msg)
会話内容
７．       
ルーム番号(roomid)
８．       
送信先ユーザID(s_userid)
送信相手のユーザID。複数のユーザの場合はカンマ区切り
９．       
接続終了(close)
アプリケーション終了ボタンが押された場合1を送信する。
１０．                       
再接続(reconnect)
長時間の電話やメールでアプリケーションが終了し、再接続する場合に1を送信する。
（送信例）
http://(domain)/(program).php?developerid=docomo&version=20091116&userid=111&operation=sync&time=10&roomid=2222&s_userid=222,333,444
【００８８】
また、本発明の一実施形態におけるメッセージ受信リクエストの出力例は、次のとおりである。
（出力例１）
<?xml
version="1.0" encoding="Shift-JIS" ?>
<resultset>       
<result>                
<message>メッセージがあります。</message>
<status>1</status>      
</result>               
<owner>                 
<user>            
<id>111</id>
<name>中村  五郎</name>
</user>           
<message>田中さんからメッセージがありました。</message>
</owner>                
<friend>                
<user>            
<id>222</id>
<name>田中  一郎</name>
<status>1</status>
</user>           
<user>            
<id>444</id>
<name>山本  三郎</name>
<status>2</status>
</user>           
</friend>               
<communication>         
<room>            
<id>xxx</id>
<name>xxx</name>
</room>           
<user>            
<id>333</id>
<name>鈴木  二郎</name>
<status>1</status>
</user>           
<user>            
<id>444</id>
<name>山本  三郎</name>
<status>2</status>
</user>           
<user>            
<id>555</id>
<name>田村  四郎</name>
<status>9</status>
</user>           
</communication>        
<messages>        
<message>   
<user>      
<id>333</id>
<name>鈴木  二郎</name>
</user>     
<comment>元気ですか？</comment>
</message>  
<message>   
<user>      
<message>   
<user>      
<id>444</id>
<name>山本  三郎</name>
</user>     
<comment>自宅</comment>
</message>  
</messages>       
<interrupts>            
<interrupt> 
<room>      
<id>xxx</id>
<name>xxx</name>
</room>     
<user>      
<id>333</id>
<name>鈴木  二郎</name>
<status>1</status>
</user>     
</interrupt>      
<interrupt> 
<room>      
<id>xxx</id>
<name>xxx</name>
</room>     
<user>      
<id>444</id>
<name>山本  三郎</name>
<status>2</status>
</user>     
</interrupt>      
</interrupts>           
</resultset>            
（出力例２）
<id>444</id>
<name>山本  三郎</name>
</user>     
<comment>元気です！</comment> 
</message>        
<message>         
<user>      
<id>111</id>
<name>津田  隆</name>
</user>     
<comment>いまどこにいますか？</comment>   
</message>        
<message>         
<user>      
<id>333</id>
<name>鈴木  二郎</name>
</user>     
<comment>電車の中</comment>   
</message>        
<message>         
<user>      
<id>444</id>
<name>山本  三郎</name>
</user>     
<comment>自宅</comment> 
</message>        
</messages>             
<interrupts>                  
<interrupt>       
<room>      
<id>xxx</id>
<name>xxx</name>
</room>     
<user>      
<id>333</id>
<name>鈴木  二郎</name>
<status>1</status>
</user>     
</interrupt>            
<interrupt>       
<room>      
<id>xxx</id>
<name>xxx</name>
</room>     
<user>      
<id>444</id>
<name>山本  三郎</name>
<status>2</status>
</user>     
</interrupt>            
</interrupts>                 
</resultset>                  
【００８９】
また、図５において各ユーザを示すアイコン表示画面（５０１）は、ユーザが使用する通信端末において、動画に対応するカメラを備えることで、ユーザ側がチャットを行う際にカメラで撮影される動画がアイコン表示画面に表示されるようにしてもよい。また、そのアイコンをクリックすることで、アイコン部分をより大きく表示できるようにし、必要があればそのアイコン表示部分に入力されたチャットのログが表示できるようにしてもよい。これによって、遠く離れて住む家族や友人なども相手の状況が動画で確認しながらチャットを行うことも可能となる。
【００９０】
さらに、本発明の上記システムにおいて、チャットアプリケーションの起動時に行うユーザＩＤでの使用者認証に加えて、当該通信端末に接続された指紋、または角膜などによる生体認証を並行して行ってもよい。これによって他人へのなりすましによるチャット利用を防ぐことができ、より信頼性のあるチャットシステムの構築につながる。
【００９１】
上述のように、本発明の上記システムにより、文字データによって行われるチャットは、周りが静かで話しづらい場所であっても、または音声が正しく聞き取れないほど騒音が多い場所であっても、環境に左右されることなく必要な情報交換を可能にする。また、ルーム番号情報をルーム番号テーブルで記憶し、データを紐付けすることから、限られた時間を有効に活用しつつ複数のルーム（グループ）で並行してチャットを進めることが可能となる。ここで、ルームとは一つの会話単位を意味し、そのルームを同時に複数立てる（設ける）ことができる。これを達成するに当たっては、複数のルームに係る画面を各ウィンドウとして重畳的に表示可能とする機能、ルーム番号を付番する機能、ルーム番号の変更入力を受けると画面を切り替える切替機能を持たせることによる。
【００９２】
（会話公開システム）
次に、本発明に係るチャットでの会話を公開する会話公開システムの動作について説明する。
【００９３】
図１１は、本発明の一実施形態に係るデータベースに係るルーム番号テーブルを示す概略図、図１２は、同ルーム番号詳細テーブルを示す概略図である。また、図１３は本発明の一実施形態に係る公開される会話の設定を示すイメージ図であり、図１４は本発明の一実施形態に係る公開される会話の詳細な画面を示すイメージ図、さらに図２９は本発明の一実施形態に係る会話公開の手順を示すタイミングフローチャートである。
【００９４】
発信から会話終了までの一連の会話を公開する際、種々の操作はマイページにある公開会話設定画面で行われる。図１３または図２９において、会話日時や会話したユーザを入力して指定し検索すると、データベースサーバ５にあるルーム番号テーブル５−Ａ−２２１とルーム番号詳細テーブル５−Ａ−２２２から該当データを照合し、照合結果を一覧で表示する。表示された一覧から公開したい会話にチェックをつけ登録ボタンをクリックすると（Ｓ２９０３）、ｗｗｗサーバ６を経由してデータベースサーバ５に蓄積されたルーム番号テーブル５−Ａ−２２１における該当ルーム番号の公開区分が仮公開に更新される（Ｓ２９０５）。公開区分が「仮公開」に更新されると、会話に参加したユーザがデータベースサーバ５のルーム番号詳細テーブル５−Ａ−２２２から検索され（Ｓ２９０７）、ユーザ全員にｗｗｗサーバ６から公開確認メールが送信される（Ｓ２９１０）。
【００９５】
公開確認メールには、公開したい内容を照会するＵＲＬと公開を許可するプログラムを実行するＵＲＬ、拒否するプログラムを実行するＵＲＬが記載されている。ユーザ全員が許可した時点で、ルーム番号テーブルの公開区分が「公開」に変更され、公開会話検索の検索結果に会話が表示されるようになる。
【００９６】
なお、図１４において、公開する会話の中で一部会話のみ非公開にすることも可能である。その際、公開会話設定で表示されている会話の中で、公開したい会話の詳細機能を選択すると、その会話のやりとりが表示される。やりとりの中で非公開にしたい会話のチェックを外して「更新」ボタンをクリックすれば、その会話のみ非公開となる。会話の非公開は、会話に参加しているユーザであれば誰でも設定することができる。
【００９７】
本発明の上記システムにより、チャットの内容はその場限りのものではなく、保存及び公開が可能であるということをユーザ共通の理解としてチャットが進められるため、より中身の充実した情報交換が可能となる。また、チャット情報はユーザ間で合意が得られれば公開できるため、個人や企業の情報発信の場であるホームページやブログなどに、そのまま活用することも可能である。また、チャットの内容があらゆるユーザによって共有され、享受されうるという利点ばかりではなく、公開されうるという可能性自体が、チャット上で問題となりがちな個人に対する誹謗中傷行為にも精神的な抑止力となり、開かれた対談の場、語り場へと発展する原動力となりうる。
【００９８】
さらにまた、本発明の上記システムにより公開される（べくデータベースに蓄積される）チャット情報の内容はテキストベースで保存されるため、検索が可能かつ容易である。したがって、何気ない会話の中に重要な示唆、情報、発想等があった場合に、これまでではその場限り情報として消滅していたものでも、蓄積貯蔵され、必要な人間が必要に応じて（後述されるように）検索されることが可能となる。すなわち、いわゆるクラウド化がチャットで交わされた会話程度の情報にまで及ぼし得ることとなり、利便性のある情報の流通、利用、再利用を通じた産業、人間生活一般の向上まで図ることが、本願によって初めて可能となる。
【００９９】
次に、本発明に係る公開会話検索システムの動作について説明する。
【０１００】
ｗｗｗサーバ６にある公開会話検索プログラムのＵＲＬを表示すると、検索画面が表示される。図１５は、本発明の一実施形態に係る公開された会話の検索画面を示すイメージ図、図１６は、かかる公開された会話の詳細な検索画面を示すイメージ図である。検索画面で検索ワードを入力し検索ボタンをクリックすると検索結果が表示される（図１６参照）。検索処理は、データベースサーバ５にあるルーム番号テーブル５−Ａ−２２１に公開が設定されていて、かつ会話ログテーブル５−Ａ−１１のメッセージにキーワードを含む会話を検索し、検索結果を一覧表示する。本発明における公開会話検索システムは、会員登録をしていないユーザも利用することが可能である。
【０１０１】
これにより、自分が参加していなくても、過去に行われた会話の内容を閲覧し、情報を共有することが可能となる。ある限定されたグループの会話は、本来ならその場限りで保存されたり公開されたりすることもないが、本発明によれば、情報の辞典としてキーワードからひも解き活用することができる。
【０１０２】
さらに、一般ユーザ、または消費者の生の声がデータとして保存されるため、より大規模でより高度な市場調査として利用することも可能となる。
【０１０３】
また、データベースサーバ内に保存された会話ログのデータは、公開・非公開にかかわらず、常に一定時間において一定回数に、予め定められたキーワードによって自動的に検索されたり抽出されたりする機能を備えてもよい。これによって犯罪、または特定の個人や団体に対するいやがらせなども未然に防ぐことが可能となり、本来閉鎖的になりがちだと言われるチャットを、さらに開放的で安全なシステムとして普及させていくことが可能となる。
【０１０４】
次に、本発明に係る一実施形態におけるＮＴＴＤｏｃｏｍｏ、ａｕ、ＳｏｆｔＢａｎｋを含む各キャリアの携帯電話におけるチャットアプリケーションシステムの動作について説明する。
【０１０５】
図２８は、本発明の一実施形態に係る携帯電話のチャットアプリケーションシステムを示すタイミングフローチャートである。
【０１０６】
ｄｏｃｏｍｏ、ａｕ、ＳｏｆｔＢａｎｋは、ｗｗｗサーバ６にプログラムを配置してブラウザ経由で実行した場合、携帯用ブラウザがサーバとの定期的な通信を行う機能を有していないため、更新ボタンを押さずに、相手の発信した言葉が表示される動作を実現することができない。その為、携帯電話側にアプリケーションを配置することで本発明におけるリアルタイムチャットシステムを実現する。
【０１０７】
携帯電話のアプリケーションは、ｗｗｗサーバ６にあるプログラムを携帯電話にダウンロードすることで実行が可能になる。対象は、携帯各社の「パケット定額サービス」に加入しているユーザとし、ダウンロード時とアプリ起動時に「パケット定額サービス」を利用していないユーザは、別途通信費用が発生する旨のメッセージを表示する。プログラムでは、ユーザへの発着信、チャットを使った会話、ルームへの参加、登録情報の追加・修正・削除・照会ができるマイページ機能、公開された会話を検索する機能を持つ。
【０１０８】
また、携帯電話には、端末固有番号が登録されており、その番号を外部に送信することを許可している端末においては、データベースサーバのユーザ情報テーブルに端末固有番号を登録し、ログインすることなしにユーザの判別が可能となる。端末固有番号を送信することを許可していない端末においては、一回目のアプリケーション起動時にログイン画面が表示され、ユーザ名、パスワードの入力が必要となる。
【０１０９】
アプリケーションは、ｄｏｃｏｍｏ、ａｕ、ＳｏｆｔＢａｎｋで動作環境仕様が異なるので、各キャリア対応のアプリケーションが必要となる。本発明の一実施形態におけるＮＴＴｄｏｃｏｍｏに対応するアプリケーションのソースコードの一例は、以下のとおりである。
[メインプログラム(LapeaceMobileChat.java)]
import java.io.*;
import java.lang.*;
import java.util.*;
import javax.microedition.io.Connector;
import com.nttdocomo.io.*;
import com.nttdocomo.ui.*;
import com.nttdocomo.util.*;
import com.nttdocomo.net.*;
import org.xmlpull.v1.XmlPullParserException;
public class LapeaceMobileChat extends IApplication 
implements SoftKeyListener,
ComponentListener, TimerListener {
public static final boolean TEST_MODE_FLAG
= true;
public static final String
TEST_MODE_UID = "10001";
public static final int WAIT_TYPE_TALK
= 1;
public static final int
WAIT_TYPE_INTERRUPT = 2;
String myUserId = "";
ChatItem item = new ChatItem();
ChatItemParser parser = new ChatItemParser();
Panel mainPanel;
HTMLLayout layoutMgr;
Label titleLabel;
ListBox userList;
TextBox chatArea;
TextBox talkText;
Button talkButton;
ListBox interruptList;
Button interruptButton;
Timer heartbeatTimer;
Timer timeTimer;
Timer waitTimer;
int heatbeatTime = 3000;
int timerTime = 0;
int addedDispTime = 0;
boolean timerFlag = false;
Hashtable timerTimes = new Hashtable();
Vector userIdArray = new Vector();
int interruptSelectedRoomId = 0;
int lock = 0;
int waitType = 0;
void error(String msg) {
System.out.println(msg);
}
void message(String msg) {
Dialog message
= new Dialog(Dialog.DIALOG_INFO, "メッセージ");
message.setText(msg);
message.show();
}
boolean confirmInterrupt() {
Dialog confirm
= new Dialog(Dialog.DIALOG_YESNO, "割り込み確認");
confirm.setText("割り込みの場合「はい」、呼び込みの場合「いいえ」を選択してください。");
int ret =
confirm.show();
return
ret == Dialog.BUTTON_YES ? true : false;
}
void sendTerminateMessage() {
try
{
String
url = getSourceURL() +
"?developerid=docomo&version=20091116&userid=" + myUserId +
"&operation=sync&time=" + timerTime +
"&close=1";
HttpConnection
conn = (HttpConnection) Connector.open(url, Connector.READ, true);
conn.setRequestMethod(HttpConnection.GET);
conn.connect();
InputStream
is = conn.openInputStream();
parser.setItem(item);
parser.parse(is);
is.close();
conn.close();
}
catch (Exception e) {
error("エラー("
+ e + ")");
}
}
int getRoomId() {
if(item.communications
!= null && item.communications.room != null &&
item.communications.room.id > 0) {
return
item.communications.room.id;
}
else {
return
0;
}
}
String makeParamByCommunications() {
String
param = "";
if(item.communications
!= null) {
int
roomId = getRoomId();
if(roomId
> 0) {
param
+= "&roomid=" + roomId;
}
if(item.communications.users
!= null && item.communications.users.size() > 0) {
String
to = "";
for(int
i = 0; i < item.communications.users.size(); i++) {
User
user = (User)item.communications.users.elementAt(i);
if(!user.id.equals(myUserId))
{
if(to.length()
> 0) {
to
+= ",";
}
to
+= user.id;
}
}
if(to.length()
> 0) {
param
+= "&s_userid=" + URLEncoder.encode(to);
}
}
}
return
param;
}
boolean inCommunications(String userId)
{
if(item.communications.users
!= null && item.communications.users.size() > 0) {
for(int
i = 0; i < item.communications.users.size(); i++) {
User
user = (User)item.communications.users.elementAt(i);
if(user.id.equals(userId))
{
return
true;
}
}
}
return
false;
}
void sendMessage(String talk) {
lock
= 1;
InputStream
is = null;
HttpConnection
conn = null;
try
{
if(item.friends
!= null && item.friends.size() > 0) {
userIdArray.removeAllElements();
int
i = userList.getSelectedIndex();
if(i
>= 0 && item.friends.size() >= i) {
User
user = (User)item.friends.elementAt(i);
userIdArray.addElement(user.id);
}
}
if(item.interrupts
!= null && item.interrupts.size() > 0) {
int
i = interruptList.getSelectedIndex();
if(i
>= 0 && item.interrupts.size() >= i) {
Interrupt
interrupt = (Interrupt)item.interrupts.elementAt(i);
interruptSelectedRoomId
= interrupt.room.id;
}
}
String
userIds = "";
if(item.friends
!= null && item.friends.size() > 0) {
for(int
i = 0; i < userList.getItemCount(); i++) {
if(userList.isIndexSelected(i))
{
if(userIds.length()
> 0) {
userIds
+= ",";
}
User
user = (User)item.friends.elementAt(i);
if(!user.id.equals(myUserId))
{
userIds
+= user.id;
}
}
}
}
String
operation = "sync";
String
param = "";
if(talk
!= null && talk.length() > 0 && (userIds.length() > 0 ||
getRoomId() > 0)) {
operation
= "send";
param
= "&msg=" + URLEncoder.encode(talk);
if(userIds.length()
> 0) {
if(getRoomId()
> 0) {
if(confirmInterrupt())
{
param
+= "&s_userid=" + URLEncoder.encode(userIds);
}
else {
param
+= makeParamByCommunications();
for(int
i = 0; i < userList.getItemCount(); i++) {
if(userList.isIndexSelected(i))
{
User
user = (User)item.friends.elementAt(i);
if(!user.id.equals(myUserId)
&& !inCommunications(user.id)) {
param
+= URLEncoder.encode(",") + user.id;
}
}
}
}
}
else
{
param
+= "&s_userid=" + URLEncoder.encode(userIds);
}
userIdArray.removeAllElements();
interruptSelectedRoomId
= 0;
}
else
if(item.communications != null) {
param
+= makeParamByCommunications();
}
}
else
{
String
nowTalk = talkText.getText();
if(nowTalk.length()
> 0) {
param
+= "&msg=" + URLEncoder.encode(nowTalk);
}
param
+= makeParamByCommunications();
}
String
url = getSourceURL() +
"?developerid=docomo&version=20091116&userid=" + myUserId +
"&operation=" + operation + "&time=" + timerTime +
param;
conn
= (HttpConnection) Connector.open(url, Connector.READ, true);
conn.setRequestMethod(HttpConnection.GET);
conn.connect();
is
= conn.openInputStream();
ChatItem
newItem = new ChatItem();
parser.setItem(newItem);
parser.parse(is);
is.close();
conn.close();
initPanel(newItem);
} catch
(XmlPullParserException pe) {
error("パースエラー(" + pe + ")");
} catch
(IOException ie) {
error("I/O エラー(" + ie + ")");
}
catch (Exception e) {
error("XML読み込みエラー("
+ e + ")");
} finally {
try
{
if(is
!= null) {
is.close();
}
if(conn
!= null) {
conn.close();
}
}
catch (IOException ioe) {}
}
lock
= 0;
}
boolean checkUserList(ChatItem oldItem,
ChatItem newItem) {
if(oldItem.friends
== null) {
return
true;
}
if(oldItem.friends.size()
!= newItem.friends.size()) {
return
true;
}
for(int
i = 0; i < oldItem.friends.size(); i++) {
User
oldUser = (User)oldItem.friends.elementAt(i);
User
newUser = (User)newItem.friends.elementAt(i);
if(!oldUser.id.equals(newUser.id))
{
return
true;
}
if(!oldUser.name.equals(newUser.name))
{
return
true;
}
if(oldUser.status
!= newUser.status) {
return
true;
}
}
return
false;
}
boolean checkChatText(ChatItem oldItem,
ChatItem newItem) {
if(oldItem.messages
== null) {
return
true;
}
if(oldItem.messages.size()
!= newItem.messages.size()) {
return
true;
}
for(int
i = 0; i < oldItem.messages.size(); i++) {
Message
oldMessage = (Message)oldItem.messages.elementAt(i);
Message
newMessage = (Message)newItem.messages.elementAt(i);
if(!oldMessage.user.id.equals(newMessage.user.id))
{
return
true;
}
if(!oldMessage.comment.equals(newMessage.comment))
{
return
true;
}
}
return
false;
}
boolean checkInterruptList(ChatItem
oldItem, ChatItem newItem) {
if(oldItem.interrupts
== null) {
return
true;
}
if(oldItem.interrupts.size()
!= newItem.interrupts.size()) {
return
true;
}
for(int
i = 0; i < oldItem.interrupts.size(); i++) {
Interrupt
oldInterrupt = (Interrupt)oldItem.interrupts.elementAt(i);
Interrupt
newInterrupt = (Interrupt)newItem.interrupts.elementAt(i);
if(oldInterrupt.room.id
!= newInterrupt.room.id) {
return
true;
}
if(!oldInterrupt.user.id.equals(newInterrupt.user.id))
{
return
true;
}
}
return
false;
}
void initPanel(ChatItem newItem) {
if(checkUserList(item,
newItem)) {
userList.removeAll();
for(int
i = 0; i < newItem.friends.size(); i++) {
User
user = (User)newItem.friends.elementAt(i);
String
mark = "○ ";
if(user.status
== 2) {
mark
= "● ";
}
else if(user.status == 3) {
mark
= "◎ ";
}
else if(user.status == 4) {
mark
= "▲ ";
}
else if(user.status == 9) {
mark
= "× ";
}
userList.append(mark
+ user.name);
if(userIdArray
!= null && userIdArray.size() > 0) {
for(int
j = 0; j < userIdArray.size(); j++) {
String
userId = (String)userIdArray.elementAt(j);
if(userId.equals(user.id))
{
userList.select(i);
break;
}
}
}
}
}
if(checkChatText(item,
newItem)) {
String
str = "";
for(int
i = 0; i < newItem.messages.size(); i++) {
Message
message = (Message)newItem.messages.elementAt(i);
String
name = message.user.name;
String
comment = message.comment;
str
+= "[" + name + "]:" + comment + "\n";
}
chatArea.setText(str);
}
if(checkInterruptList(item,
newItem)) {
interruptList.removeAll();
for(int
i = 0; i < newItem.interrupts.size(); i++) {
Interrupt
interrupt = (Interrupt)newItem.interrupts.elementAt(i);
interruptList.append(interrupt.user.name
+ "(" + interrupt.room.id + ")");
if(interruptSelectedRoomId
== interrupt.room.id) {
interruptList.select(i);
}
}
}
item
= newItem;
}
void uncheckUserList() {
for(int
i = 0; i < userList.getItemCount(); i++) {
if(userList.isIndexSelected(i))
{
userList.deselect(i);
}
}
}
void uncheckInterruptList() {
for(int
i = 0; i < interruptList.getItemCount(); i++) {
if(interruptList.isIndexSelected(i))
{
interruptList.deselect(i);
}
}
}
public void start() {
myUserId
=  Phone.getProperty(Phone.TERMINAL_ID);
if(TEST_MODE_FLAG)
myUserId = TEST_MODE_UID;
mainPanel
= new Panel();
layoutMgr
= new HTMLLayout();
mainPanel.setLayoutManager(layoutMgr);
mainPanel.setTitle("Lapeace携帯チャット");
mainPanel.setSoftKeyListener(this);
mainPanel.setComponentListener(this);
mainPanel.setSoftLabel(Frame.SOFT_KEY_1,
"終了");
titleLabel
= new Label("接続時間 00:00");
userList
= new ListBox(ListBox.CHECK_BOX, 3);
chatArea
= new TextBox("", 40, 5, TextBox.DISPLAY_ANY);
chatArea.setEditable(false);
talkText
= new TextBox("", 20, 1, TextBox.DISPLAY_ANY);
talkButton
= new Button("会話");
interruptList
= new ListBox(ListBox.SINGLE_SELECT, 2);
interruptButton
= new Button("切替");
sendMessage("");
layoutMgr.begin(HTMLLayout.RIGHT);
mainPanel.add(titleLabel);
layoutMgr.begin(HTMLLayout.LEFT);
mainPanel.add(userList);
mainPanel.add(chatArea);
mainPanel.add(talkText);
mainPanel.add(talkButton);
layoutMgr.br();
mainPanel.add(interruptList);
mainPanel.add(interruptButton);
layoutMgr.end();
makeTimeTimer();
makeHeatbeatTimer();
Display.setCurrent((Frame)mainPanel);
}
public void resume() {
lock
= 0;
makeTimeTimer();
makeHeatbeatTimer();
}
public void softKeyPressed(int key) {
Frame
f = Display.getCurrent();
if
(f == mainPanel) {
if (key == Frame.SOFT_KEY_1) {
sendTerminateMessage();
terminate();
}
}
}
public void softKeyReleased(int key) {}
public void componentAction(Component
source, int type, int param) {
if(source
== talkButton && type == ComponentListener.BUTTON_PRESSED) {
String
talk = talkText.getText();
if(lock
== 1) {
makeWaitTimer(WAIT_TYPE_TALK);
}
else {
int
nowRoomId = getRoomId();
sendMessage(talk);
uncheckUserList();
talkText.setText("");
if(talk!=null
&& talk.length()>0) {
resetTime(nowRoomId,
getRoomId());
}
}
}
else
if(source == interruptButton && type ==
ComponentListener.BUTTON_PRESSED) {
if(item.interrupts
!= null && item.interrupts.size() > 0) {
int
i = interruptList.getSelectedIndex();
if(i
>= 0 && item.interrupts.size() >= i) {
Interrupt
interrupt = (Interrupt)item.interrupts.elementAt(i);
int
nowRoomId = getRoomId();
item.communications.room.id
= interrupt.room.id;
if(lock
== 1) {
makeWaitTimer(WAIT_TYPE_INTERRUPT);
}
else {
uncheckUserList();
sendMessage("");
talkText.setText("");
uncheckInterruptList();
resetTime(nowRoomId,
interrupt.room.id);
}
}
}
}
else
if(source == interruptList && type == ComponentListener.SELECTION_CHANGED)
{
int
i = interruptList.getSelectedIndex();
if(i
>= 0 && item.interrupts.size() >= i) {
Interrupt
interrupt = (Interrupt)item.interrupts.elementAt(i);
interruptSelectedRoomId
= interrupt.room.id;
}
}
}
public void timerExpired(Timer source)
{
if(source
== timeTimer) {
String
min = "--";
String
sec = "--";
if(timerFlag)
{
timerTime
+= 1;
min
= "" + (addedDispTime + timerTime) / 60;
sec
= "" + (addedDispTime + timerTime) % 60;
if(min.length()
== 1) {
min
= "0" + min;
}
if(sec.length()
== 1) {
sec
= "0" + sec;
}
}
String
labelText = "接続時間 " + min + ":" + sec;
titleLabel.setText(labelText);
}
else if(source == heartbeatTimer) {
if(lock
== 0) {
sendMessage("");
}
makeHeatbeatTimer();
}
else if(source == waitTimer) {
if(lock
== 0) {
if(waitType
== WAIT_TYPE_TALK) {
componentAction(talkButton,
ComponentListener.BUTTON_PRESSED, 0);
}
else if(waitType == WAIT_TYPE_INTERRUPT) {
componentAction(interruptButton,
ComponentListener.BUTTON_PRESSED, 0);
}
}
else {
makeWaitTimer(waitType);
}
}
}
private void makeTimeTimer() {
timeTimer
= new Timer();
timeTimer.setTime(1000);
timeTimer.setRepeat(true);
timeTimer.setListener(this);
timeTimer.start();
}
private void makeHeatbeatTimer() {
heartbeatTimer
= new Timer();
heartbeatTimer.setTime(heatbeatTime);
heartbeatTimer.setRepeat(false);
heartbeatTimer.setListener(this);
heartbeatTimer.start();
}
private void makeWaitTimer(int type) {
waitType
= type;
waitTimer
= new Timer();
waitTimer.setTime(100);
waitTimer.setRepeat(false);
waitTimer.setListener(this);
waitTimer.start();
}
private void resetTime(int nowRoomId,
int reqRoomId) {
timerFlag
= true;
if(nowRoomId
!= reqRoomId) {
Integer
nowKey = new Integer(nowRoomId);
Integer
reqKey = new Integer(reqRoomId);
Integer
savedTime = new Integer(addedDispTime + timerTime);
timerTimes.put(nowKey,
savedTime);
addedDispTime
= (timerTimes.get(reqKey)!=null) ? ((Integer)timerTimes.get(reqKey)).intValue()
: 0;
timerTime
= 0;
}
}
}
【０１１０】
図２８において、携帯電話でアプリケーションが起動されると、メッセージ確認用のタイマがセットされる（Ｓ２８０２）。このタイマがセットされるイベント発生を受けて、ｈｔｔｐリクエストが生成される（Ｓ２８０４）。このｈｔｔｐリクエストは、特定の時間の経過、端末からのチャットメッセージ送信、発着信時、または会話終了時等を含む携帯電話端末側でのイベント発生時に送信される。
【０１１１】
生成されたｈｔｔｐリクエストがアプリケーションサーバ１に送信されると（Ｓ２８０５）、アプリケーションサーバ１からデータベースサーバ６へ受信情報登録リクエストが発信され（Ｓ２８０７）、それに基づいてデータベースサーバ６で受信情報が登録される（Ｓ２８０８）。次にアプリケーションサーバ１で送信情報検索リクエストがデータベースサーバ６へ発信されると（Ｓ２８０９）、送信情報が検索される（Ｓ２８１０）。検索結果はデータベースサーバ６からアプリケーションサーバ１に送信されてＸＭＬ化され（Ｓ２８１１）、該ＸＭＬデータは携帯電話へ送信される（Ｓ２８１３）。携帯電話で受信したＸＭＬデータを解析し（Ｓ２８１３）、その内容に基づいて携帯電話の画面に表示される（Ｓ２８１５）。
【０１１２】
携帯電話端末側で再度、上記イベントが発生すると、同様にｈｔｔｐリクエストが生成され、上記と同様の手順で携帯電話の画面に表示される。
【０１１３】
発着信が完了し、着信者が最初のメッセージを返してきた段階のタイマをセットすると、タイマの時間から会話時間を算出する。算出された会話時間は携帯電話端末の画面に表示される。
【０１１４】
本発明では上記のように、ｈｔｔｐリクエストに対する返答は、ＸＭＬの形式で戻す。通信端末側では、ＸＭＬレイアウトからＸＭＬ分を解析し、解析した内容に基づいて画面が表示される。図２３は、本発明の一実施形態に係るメッセージ受信リクエストのＸＭＬレイアウトを示す概略図である。本発明の一実施形態におけるＸＭＬレイアウトは、次のとおりである。
XMLレイアウト（図２３対応）
１．       
共通パラメータ(result)
(ア)                 
出力結果（status）
httpリクエストに対するサーバの処理結果が表示される
Success（成功）
/ NotFount（URL,オペレーションエラー） / 
ServerError（サーバ側エラー：versionエラー、データベース登録失敗等）
/ 
ClientError（クライアント側エラー：機器エラー等）
(イ)                 
出力結果メッセージ(message)
エラーメッセージが表示。
２．       
オーナー情報(owner → user)
(ア)                 
ユーザID（id）
端末利用者のユーザID
(イ)                 
ユーザ名(name)
端末利用者のユーザ名
(ウ)                 
ユーザ向けメッセージ(message)
ユーザに対するメッセージを表示。
アプリのバージョンアップ情報やシステム運営側からのメッセージを表示する。
３．       
お友達情報(friend → user)
(ア)                 
ユーザID（id）
お友達のユーザID
(イ)                 
ユーザ名(name)
お友達のユーザ名
(ウ)                 
接続状況(status)
お友達の接続状態
1：接続中
2：会話中（同一会話に）
3：書き込み中（同一会話に）
4：会話中（別の会話に)
9：停止中
４．       
会話相手情報(communication → room)
(ア)                 
ルームID（id）
会話中のルームID
ルームIDが空白の場合、会話無し（サーバへの定期問い合わせ）
または、発着信
(イ)                 
ルーム名(name)
コミュニティの会話の場合、名称が表示される。
(ウ)                 
ユーザ情報(user)
(1)ユーザID（id）
会話相手のユーザID
(2)ユーザ名(name)
会話相手のユーザ名
(3)接続状況(status)
会話相手の接続状態
1：接続中
2：会話中（同一会話に）
3：書き込み中（同一会話に）
4：会話中（別の会話に)
9：停止中
５．       
メッセージ(messages → message)
(ア)                 
ユーザID（id）
メッセージ送信者のユーザID
(イ)                 
ユーザ名(name)
メッセージ送信者のユーザ名
(ウ)                 
メッセージ(comment)
メッセージ送信者が発信したメッセージ
６．       
メッセージ(interrupts → interrupt)
(ア)                 
ルームID（id）
割込みルームID
(イ)                 
ルーム名(name)
コミュニティの会話の場合、名称が表示される。
(ウ)                 
ユーザ情報(user)
(1)ユーザID（id）
割込み会話に参加しているユーザID
(2)ユーザ名(name)
割込み会話に参加しているユーザ名
(3)接続状況(status)
割込み会話に参加しているユーザの接続状態
1：接続中
2：会話中（同一会話に）
3：書き込み中（同一会話に）
4：会話中（別の会話に)
9：停止中
【０１１５】
本発明において、汎用的な受信方式であるＸＭＬによりデータのやりとりを行うことで、通信端末の機器の種類やプログラム言語に対する通信性の依存度が低くなり、さらに安定した状態での使用が可能となる。また、チャットＡＰＩを外部に公開することもできる。
【０１１６】
本発明の上記システムにより、携帯電話の各キャリアでチャットアプリケーションの稼働が可能となる。家や仕事場でコンピュータを使用したチャットも、外出先で携帯電話を使用したチャットも可能であるため、場所を選ばず、好きな時間にその時必要な情報をやりとりすることができる。
【０１１７】
次に、本発明に係る一実施形態におけるＮＴＴＤｏｃｏｍｏ、ａｕ、ＳｏｆｔＢａｎｋ以外の通信端末でのチャットアプリケーションシステムについて説明する。
【０１１８】
ＮＴＴＤｏｃｏｍｏ、ａｕ、ＳｏｆｔＢａｎｋ以外の通信端末において、まず通信端末側のログイン画面から、ユーザＩＤを取得する。ｗｗｗサーバ側でＨＴＭＬ文中にメッセージ確認用タイマが埋め込まれる。次に、ｗｗｗサーバ６からアプリケーションサーバ１へｈｔｔｐリクエストが送信される。アプリケーションサーバ１側でｈｔｔｐリクエストのレスポンスを受け取ると、アプリケーションサーバ１で処理が実行され、ＸＭＬレスポンスがｗｗｗサーバ６へ返される。ｗｗｗサーバ６がアプリケーションサーバ１から受信したＸＭＬデータを解析し、この結果が通信端末側のブラウザが受け取って画面（ＨＴＭＬ）を生成し画面を表示する。
【０１１９】
通信端末においてアプリケーションのＵＲＬを表示されるとログイン画面が表示される。ユーザ名とパスワードを入力し、ログインボタンをクリックすると、ｗｗｗサーバ６経由でデータベースサーバ５のユーザ情報と照合が行われ、認証された場合には、チャット画面が表示される。認証されなかった場合には、エラーメッセージが表示される。
【０１２０】
アプリケーションサーバ１とのメッセージの定期的な交換は、ｈｔｍｌのｍｅｔａタグにあるｒｅｆｒｅｓｈ機能を使って実現している。ｒｅｆｒｅｓｈ機能を利用できないブラウザに於いては、ＪａｖａＳｃｒｉｐｔを使って実現する。
【０１２１】
アプリケーションサーバ１に対して、ｈｔｔｐリクエストに対する返答が一定時間内に返ってこなかった場合は、再送信を行う。一定回数再送信しても返答が返ってこない場合は、会話を終了する。一定回数の再送信中に応答が返ってきた場合には、正常にチャットができていた時点のルーム番号、チャット開始からの経過時間をメモリが記憶しているので、メモリからの復旧処理を行い、会話を継続させる。
【０１２２】
本発明の一実施態様においては、ＮＴＴＤｏｃｏｍｏ、ａｕ、ＳｏｆｔＢａｎｋを含む各キャリアの携帯電話端末からサーバへの送信手段としてｈｔｔｐを使用している。汎用的な伝送手段であるｈｔｔｐリクエストのＧＥＴ方式を使用することで、各キャリアの様々な携帯電話からチャットを可能にする。また、汎用性のあるＧＥＴ方式の採用は、各キャリアの携帯電話メーカーで随時行われるバージョンアップにも対応が可能となる。さらに、携帯電話でチャットを行っている最中に、電波状態や電話、メール等でアプリケーションの中断、またはチャット不能の状態が起こっても、一定時間内にアプリケーションを再開すれば、中断前の状態に復旧することができる。
【０１２３】
次に、本発明に係る一実施形態におけるチャットを平行して行うリアルタイム翻訳システムの動作について説明する。
【０１２４】
本発明によれば、会員登録を行う時に、ユーザの言語を設定することが可能である。言語を入力すると、このデータはデータベースサーバ５のユーザ情報記憶部のユーザデータテーブルに蓄積される。リアルタイムチャットの会話において、設定されたチャット受信者の言語がチャット送信者の言語と異なる場合、アプリケーションサーバ１の翻訳プログラムが実行される。
【０１２５】
翻訳は送信者の言語から、あらかじめ設定された発信者の言語に翻訳される。翻訳対象言語は、アラビア語、アルバニア語、イタリア語、インドネシア語、ウクライナ語、エストニア語、オランダ語、カタロニア語、ガリシア語、ギリシャ語、クロアチア語、スウェーデン語、スペイン語、スロバキア語、スロベニア語、セルビア語、タイ語、タガログ語、チェコ語、デンマーク語、ドイツ語、トルコ語、ノルウェー語、ハンガリー語、ヒンディー語、フィンランド語、フランス語、ブルガリア語、ベトナム語、ヘブライ語、ポーランド語、ポルトガル語、マルタ語、ラトビア語、リトアニア語、ルーマニア語、ロシア語、英語、韓国語、中国語を含む各国言語とする。翻訳した結果は、データベースサーバ５の会話情報記憶部５−Ａ−２に保存され、受信者が使用する通信端末からメッセージの確認が行われた際に、データベースサーバ５からアプリケーションサーバ１が翻訳された情報を受け取り、それを受信者が使用する通信端末に表示する。
【０１２６】
本発明の上記システムでは、母国語でチャットをするのとまったく変わらない動作により、国内にいながらにして海外と世界規模でのチャットも容易に可能となる。様々な分野の情報は、国内に限定されることなく、広く世界中からも求められている。本発明はそのニーズを十分に且つ老若男女を問わず容易に満たすものである。
【０１２７】
さらに、本発明の上記システムにおいて、ユーザの希望があれば会話相手が母国語を使って入力した、翻訳前の会話情報も保存し閲覧可能としてもよい。これによって、外国語を学習したいと考えるユーザは、実際に自分が使用する言語での会話内容と、自分が学習したい外国語との内容を、チャット後に時間をかけて対比しつつ確認することが可能となる。
【０１２８】
次に、本発明に係る一実施形態におけるチャットの発着信システムの動作について説明する。
【０１２９】
本発明において、チャットにおける発着信システムとは、チャットを行う相手を呼び出す発信機能と、チャット相手が呼出に応答するための着信システムを指す。図５において、チャットを開始する際、相手を呼び出す場合は、ユーザＡの使用する通信端末のメニュー画面５０６から新規コンタクト５０７を選択し、ユーザの検索画面を表示する。ユーザＢを検索して着信ボタンを押すと着信情報がアプリケーションサーバ１に送信される。
【０１３０】
同時にデータベースサーバ５の会話ログテーブル５−Ａ−１１、会話データテーブル５−Ａ−２１に発信情報が登録される（図６参照）。
【０１３１】
発信相手側の端末からアプリケーションサーバ１に通信が発生したときに、データベースサーバ５に格納された会話データの情報が読み込まれ、着信情報が送信される。着信ユーザＡが、着信情報を認識し、着信情報が表示されているメッセージエリア５０４をクリックすると、着信した情報がアプリケーションサーバ１に送信される。同時にデータベースサーバ５の会話ログテーブル５−Ａ−１１、および会話データテーブル５−Ａ−２１に着信情報が登録される。発信側通信端末に着信情報が表示された後、チャットが開始される。
【０１３２】
もし、一定時間着信が無かった場合には、留守番メッセージ入力画面が表示される。メッセージを入力して送信を行うと、アプリケーションサーバ１にメッセージが送信される。アプリケーションサーバ１はメッセージをデータベースサーバ５の会話ログテーブル５−Ａ−１１、会話データテーブル５−Ａ−２１に登録する。着信ユーザ側の端末からアプリケーションサーバ１に通信が行われた際に、会話データテーブル５−Ａ−２１の留守番メッセージを検索し、通信端末にメッセージを送信する。着信側ユーザのメッセージエリア５０４に着信メッセージが表示され、そのメッセージをクリックすると、留守番メッセージの照会が可能となる。
【０１３３】
留守番メッセージの照会が可能であることによって、その時にチャットに応答できなくても、時間を置いて双方が都合の良い時にチャットを行うことができる。本システムは、チャットをその場限りの関係に終始するものではなく、継続して交流し情報交換を行っていくことができるコミュニケーションツールとして活用することを可能とする。
【０１３４】
また、会話を終了する場合には、メニュー画面から会話終了を選択する。会話終了は発着信側双方のユーザで実行する事ができる。会話終了ボタンをクリックすると、会話終了メッセージがアプリケーションサーバ１に送信される。同時に会話ログテーブル５−Ａ−１１、会話データテーブル５−Ａ−２１に情報が送信される。相手側がアプリケーションサーバ１に問い合わせを行った際に、会話が終了された情報を受け取ると、通信端末に送信される。端末側では、相手が会話を終了した旨が表示される。会話していたユーザ全員が会話を終了すると、一連の会話が完了したこととなる。
【０１３５】
会話終了は、一定時間通信が無かった場合にも適用される。通信端末からアプリケーションサーバ１へメッセージの確認が行われた際に、前回メッセージを送受信してからどの位時間が経過したか計算し、一定時間を上回る時間にメッセージの送受信が無い場合に会話終了と判断し、同時に会話ログテーブル５−Ａ−１１、会話データテーブル５−Ａ−１１に会話終了情報を登録し端末に通知する。
【０１３６】
本システムにより、チャットのアプリケーションを起動していない場合でも、今チャットしたい相手の状況を把握した上でチャットの参加を要請することが可能となる。個人個人の知りたいこと、人と話題を共有したいことは、一日のうちでも刻一刻と変化することが多く、その欲求により的確に適合することが可能となる。
【０１３７】
また、上記の発着信システムは、単に個人のチャットで語り合いたいという欲求を解消するためだけでなく、話題が旬であるうちに他者と共有することでより闊達な議論が実現できる。さらにこのログが公開されれば、情報としての価値も高まることとなり、さらに多くの人に役立つ内容を提供することが可能となる。
【０１３８】
さらに、次に、本発明に係る一実施形態におけるチャットの入力中通知システムの動作について説明する。
【０１３９】
リアルタイムチャットアプリケーションで各端末から会話を書き込む際は、会話ボタンをクリックする（図５  ５−２参照）。会話ボタンがクリックされた時点で、会話の書き込みが開始されたことをアプリケーションサーバ１に送信する。送信された情報はデータベースサーバ５に蓄積される。会話相手がアプリケーションサーバ１にメッセージの確認を行ったときにデータベースサーバ５にある書き込み中の情報を受け取り、通信端末に送信する。通信端末側は書き込み中の表示を行う。
【０１４０】
チャット中に相手の入力状況が分かることで、お互いに集中してチャットを行うことができ、よりスムーズな議論の進行が可能となる。また、相手に突発的なトラブルが起こったり、またはチャットをしながら寝てしまったりなどにも、相手の入力状況が分かれば入力されない状態が長く続くことが分かるため、早い段階で察知することが可能となり、トラブルへの対処を行ったり、余分な通信料の課金を防いだりすることができる。
【０１４１】
次に、本発明に係る一実施形態の会話時間計測システムの動作について説明する。
【０１４２】
図６において、会話の発着信が完了し、着信者からの会話を発信者が最初に受け取った時点から会話時間の計測を開始する。会話終了または、一定時間メッセージのやりとりが行われなかった場合、会話時間の計測が終了する。
【０１４３】
この時間を通話時間と定義し、特定のユーザとの会話に課金する際に利用できる。会話中に電話や電子メールがあった場合は、計測を継続するが、一定時間応答が無い場合には、会話を終了し、会話終了迄の時間を通話時間とする。通話料への課金は発信側のユーザから徴収され、一定の割合によって部分的に着信を受けたユーザへと支払われる。
【０１４４】
これによって、それぞれの個人が持つ専門性とその情報に価値が見出され、与えられる。発信する側のユーザは、聞きたいこと、知りたいことをそれに詳しいユーザにチャットで質問する。音声ではなく、文字によるやりとりであるため、聞き漏らすこともなくより高度な理解を得ることが可能となる。また、その質問に対してチャットで答える側のユーザは、自分の持つ知識や情報を社会に役立てることが可能となり、さらにそれに対して対価が支払われるため、あらゆる事業のコンサルティングの場としても活用でき、経済の活性化にもつながる。
【０１４５】
次に、本発明に係る一実施形態である位置情報把握システムについて説明する。
【０１４６】
ＮＴＴＤｏｃｏｍｏ、ａｕ、ＳｏｆｔＢａｎｋを含む通信端末に搭載されたＧＰＳ機能を利用し、位置情報をアプリケーションサーバ１に送信して、データベースサーバ５の会員情報に位緯度・経度を登録する。これによって、チャット相手に現在地を知らせることや、相手との距離を測定したり、近くにいるお友達を検索し会話したりすることが可能となる。
【０１４７】
本発明の上記システムによって、一般的には一人の閉鎖的な世界にこもり、人との関係性が希薄となりがちなチャットシステムであるが、近くにいるユーザが一目瞭然で分かるようになることで、地域や各エリア内で人と人とのつながりが生まれ、より解放的なコミュニティとして発展していくきっかけとなりうる。
【０１４８】
さらに、本発明の上記位置情報把握システムは、ある一定の地域内にいれば、同じチャットに参加して発言できる公開会議機能を有してもよい。これによって、１つの議題に対して大勢で議論し意見しあうことも可能となり、有意義で建設的な議論の場として活用することもできる。これは、位置情報システム（ＧＰＳ）を用いて、特定の地域にいる利用者全員を抽出して該当者一覧を表示する機能と、当該該当者全員に対して同報しもしくはその一部の特定の人間に対して発信する機能とを備えることで、本システムによるチャットを利用できるようにする。これによれば、たとえば犯罪が起こって犯人が一定の領域に逃亡している際に犯人確保する場合とか、近所の人とのコミュニケーションをとりたい場合とかに有用である。この場合、位置情報付きでメッセージ（チャットへの参加呼びかけ、参加要求もしくはチャットで話された内容）を送信すると、当該メッセージがテロップで一画面に流される機能をさらに備えてもよい。これにより、同じエリア内のユーザのチャットに、そのテロップに興味を持った人が参加することで、開かれたチャット、明るいチャットが実現され、それにより地域のコミュニケーションが活性化することが期待される。
【０１４９】
なお、本発明は上述した実施形態に限定されるものではなく、本発明の主旨を逸脱しない範囲内で種々変更して実施することが可能である。たとえば、上記とは別の実施形態に係るリアルタイムチャットシステムにおいて、１対１会話機能を利用する際の利用者端末の画面イメージとして、たとえば図３０に示すような構成とすることも可能である。さらに、別の実施形態に係るリアルタイムチャットシステムにおいて、トークログ表示機能を利用する際の利用者端末の画面イメージとして、たとえば図３１に示すような構成とすることも可能である。利用者にとっての利便性が高まる可能性がある。
【０１５０】
また、別の実施形態に係るリアルタイムチャットシステムにおいて、オープントーク会話機能を利用する際の利用者端末の画面イメージとして、たとえば図３２に示すような構成とすることも可能である。さらに、別の実施形態に係るリアルタイムチャットシステムにおいて、公開されたチャットデータについての検索機能を利用する際の利用者端末の画面イメージとして、たとえば図３３に示すような構成とすることも可能である。
【０１５１】
さらにまた、別の実施形態に係るリアルタイムチャットシステムにおいて、四人同時の会話機能を利用する際の利用者端末の画面イメージとして、たとえば図３４に示すような構成とすることも可能である。さらに、別の実施形態に係るリアルタイムチャットシステムにおいて、有料トーク機能を利用する際の利用者端末の画面イメージとして、たとえば図３５に示すような構成とすることも可能である。
【０１５２】
また、上述したものは本願にかかる技術思想を具現化するための実施形態の一例を示したにすぎないものであり、他の実施形態でも本願にかかる技術思想を適用することが可能である。たとえば、上記の説明では主に、携帯電話、ＰＣを実施形態として取り入れるものを説明したが、本願に係る思想は、任意の複数または組み合わせプロセッサ又は記憶デバイスを装備するもの、コンピュータシステム、掌タイプコンピュータ、ラップトップ／ノートブックコンピュータ、ミニコンピュータ、メインフレームコンピュータ、スーパーコンピュータ、ならびに、これらの処理システムネットワーク組合わせ、ｉＰｈｏｎｅ（登録商標）、ＰＨＳ、モバイルフォン等によって実現するものであってもよい。
【０１５３】
さらにまた、本願発明を用いて生産される装置、方法、システムが、その２次的生産品に登載されて商品化された場合であっても、本願発明の価値は何ら減ずるものではない。
【産業上の利用可能性】
【０１５４】
以上詳述したように、音声ではなく文字データのやりとりで行われるチャットを、各キャリアの携帯電話、ＰＨＳやＰＤＡ、またはコンピュータを含むインターネットブラウザを経由して閲覧が可能な通信端末で可能とすることにより、媒体を限定することなく、多くの利用者によって享受できるチャットサービスを実現することができる。【０１５５】
相手の声を実際に聞き、さらに自分の声で応答する電話は、現代において非常に便宜性の高いコミュニケーションの手段であるが、音声（口調）には、感情がストレートに伝わりやすい傾向があり、直接的な関わりが煩わしく感じる場合には敬遠されることが多い。しかし、文字データによるチャットは、電話よりも感情の伝わり方が鈍くなるため、それゆえに見知らぬ人、初めて情報交換を行う人、直接やりとりすることが億劫な場合にとても有効な手段となる。【０１５６】
現代は、携帯電話やコンピュータなどを含む通信機器の普及率が増加する一方で、人と人との関係は疎遠となり、自殺者は年々増加の一途をたどっている。誰かに相談したい、誰かと話をしたいと思う場合、直接的な電話よりも、チャットの方が無理なく他者とつながることができ自分の心情を吐露することが可能となる。【０１５７】
本発明におけるチャットシステムは、上述のようにインターネットブラウザを経由して閲覧が可能な通信端末で可能であるため、媒体を限定せず、誰でも利用することが可能である。上記のように本発明のチャットシステムは、ビジネス関連の情報交換、家族や友人間での近況報告、または悩みを相談するコンサルティングを含む、あらゆるコミュニケーションの場として活用できる。また、各グループで行われたチャットの内容は、その場限りの情報交換としてだけではなく、公開し、キーワードによる検索も可能にすることで、同じようにその話題に興味を持つ人も会話内容を閲覧し、情報を共有することができる。これによって、ビジネス上の相談から、心の悩みまで、本発明のチャットシステムを活用して解決した事例は、公開されることによって、同様の疑問や悩みを持つ人々を苦悩から解放することにもつながる。【０１５８】
さらに、消費者動向に大きな力を持つ消費者自身の生の声「口コミ」を、公開会話から検索して探ることもできるため、より大規模で高度な市場調査さらには市場獲得も可能となる。また、チャットと並行して翻訳が行われるため、チャットを行う相手の言語を気にすることなく誰でも世界中の人と情報交換ができ、チャットの対象やテーマも国内に限定されることなく広げることが可能となる。さらに、本発明の会話時間計測システムを通話時間による課金システムとして利用することが可能となるため、あるテーマについて専門的な知識を有する人は本システムをコンサルティングの場として活用することが可能となり、情報を必要とする人にとっては実際に会って話をするよりも、気軽にチャットによる利用ができ、かつコンサルティングを行う側にとっても事務所などを構える投資を行わずにサービスの提供ができるため、より多くの、また細部にわたったニーズに応えることが可能となり、非常に大きなマーケティングを生み出すことが現実的に期待できる。このように、本発明は情報産業を初めとする、人と人とのコミュニケーションが行われるあらゆる産業において利用可能性を有する。
【図１】
2011077501.tif 000003
【図２Ａ】
2011077501.tif 000004
【図２Ｂ】
2011077501.tif 000005
【図２Ｃ】
2011077501.tif 000006
【図２Ｃ１】
2011077501.tif 000007
【図２Ｃ２】
2011077501.tif 000008
【図２Ｃ３】
2011077501.tif 000009
【図２Ｃ４】
2011077501.tif 000010
【図２Ｃ５】
2011077501.tif 000011
【図２Ｄ】
2011077501.tif 000012
【図２Ｅ】
2011077501.tif 000013
【図３】
2011077501.tif 000014
【図４】
2011077501.tif 000015
【図５】
2011077501.tif 000016
【図６】
2011077501.tif 000017
【図７Ａ】
2011077501.tif 000018
【図７Ｂ】
2011077501.tif 000019
【図８Ａ】
2011077501.tif 000020
【図８Ｂ】
2011077501.tif 000021
【図９】
2011077501.tif 000022
【図１０】
2011077501.tif 000023
【図１１】
2011077501.tif 000024
【図１２】
2011077501.tif 000025
【図１３】
2011077501.tif 000026
【図１４】
2011077501.tif 000027
【図１５】
2011077501.tif 000028
【図１６】
2011077501.tif 000029
【図１７】
2011077501.tif 000030
【図１８】
2011077501.tif 000031
【図１９】
2011077501.tif 000032
【図２０】
2011077501.tif 000033
【図２１】
2011077501.tif 000034
【図２２】
2011077501.tif 000035
【図２３】
2011077501.tif 000036
【図２４】
2011077501.tif 000037
【図２５】
2011077501.tif 000038
【図２６】
2011077501.tif 000039
【図２７】
2011077501.tif 000040
【図２８】
2011077501.tif 000041
【図２９】
2011077501.tif 000042
【図３０】
2011077501.tif 000043
【図３１】
2011077501.tif 000044
【図３２】
2011077501.tif 000045
【図３３】
2011077501.tif 000046
【図３４】
2011077501.tif 000047
【図３５】
2011077501.tif 000048
【国際調査報告】
2011077501.tif 000049
2011077501.tif 000050
2011077501.tif 000051
2011077501.tif 000052