実施の形態1
以下本発明の実施の形態を、図面を参照して説明する。図1は連携システムの概要を示す模式図である。連携システムはチャットサーバ1、情報処理装置2A、2B、3、Webサーバ5、記憶部55及びブログサーバ4等を含んで構成される。チャットサーバ1、情報処理装置2A、2B、3、Webサーバ5、記憶部55及びブログサーバ4はインターネット及び携帯電話網等の通信網Nを介して相互に接続されており、HTTP(HyperText Transfer Protocol)等のプロトコルにより必要な情報の送受信を行う。
情報処理装置2AはチャットのユーザAが用いる装置であり、情報処理装置2BはチャットのユーザBが用いる装置であり、また情報処理装置3はブロガーCが用いる装置である。情報処理装置2A、2B、3は例えばパーソナルコンピュータ、携帯電話機、及び、PDA(Personal Digital Assistant)等が用いられる。以下では情報処理装置2A、2Bをパーソナルコンピュータ2A、2B(場合により2で代表する)といい、情報処理装置3をブロガーコンピュータ3という。
パーソナルコンピュータ2A、2Bはチャット用のクライアントプログラムをダウンロードし、チャットサーバにアクセスすることにより通信網Nを介してリアルタイムでのメッセージのやりとり、即ちチャットを行う。なお、本実施の形態においては説明を容易にするためにチャットを行うユーザをユーザA及びBの2名としたが、これ以上であっても良い。一方、ブログサーバ4はブロガーCが作成したブログを記憶し、またパーソナルコンピュータ2等へブログを送信する。ここでブログとはウェブログの略であり、Webサイトの一種である。個人または数人のグループで運営される日記形式のもので、情報提供、意見交換(コメント)及びトラックバック機能等が付加されている。
以下に、本発明の概要を説明する。チャットサーバ1はパーソナルコンピュータ2から送信されるメッセージを監視する。メッセージ中にブログに係るURLを検出した場合、メッセージを抽出すると共に生成URLを新たに生成する。チャットサーバ1は検出したURLに基づきブログサーバ4からブログのトラックバックURL(トラックバックPing URL)を取得する。チャットサーバ1は内部の記憶部または図1に示すWebサーバ5の記憶部55に生成URLに対応付けてメッセージ及びトラックバックURLを記憶する。トラックバックURLの記憶により生成URLを含むトラックバックPingがチャットサーバ1またはWebサーバ5からブログサーバ4へ送信される。
ブロガーCはブロガーコンピュータ3によりブログサーバ4にアクセスした場合、自身のブログ内に生成URLを含むトラックバックを認識することができる。ブロガーCはこのトラックバック内の生成URLを用いてチャットサーバ1またはWebサーバ5へアクセスし、メッセージの閲覧または当該メッセージに対するコメントの送信等を実行することが可能となる。以下に詳細を説明する。
図2はチャットサーバ1及びWebサーバ5のハードウェア構成を示すブロック図である。なお、以下では、本実施の形態においては記憶部55をチャットサーバ1外のWebサーバ5内に設置し、Webサーバ5が記憶部55に記憶した生成URLに係るWebページを送信する形態について説明する。しかしながら、チャットサーバ1が記憶部55を格納し、チャットサーバ1自体がWebサーバ5と同様に、記憶部55に記憶した生成URLに係るWebページを送信するようにしても良い。
チャットサーバ1は制御部としてのCPU(Central Processing Unit)11、RAM(Random Access Memory)12、通信部16、入力部13、表示部14、時計部18及び記憶部15等を含んで構成される。CPU11は、バス17を介してチャットサーバ1のハードウェア各部と接続されていて、それらを制御すると共に、記憶部15に格納された制御プログラム15Pに従って、種々のソフトウェア的機能を実行する。
通信部16はファイアウォールとしての機能を果たすゲートウェイ等である。表示部14は例えば液晶ディスプレイ等であり、入力部13はキーボード及びマウス等から構成される。時計部18は日時情報をCPU11へ出力する。記憶部15は例えばハードディスクで構成され、内部には上述した制御プログラム15Pの他、チャット処理を実行するためのチャット処理プログラム151、履歴ファイル152及びチャットログファイル153等が記憶されている。CPU11はパーソナルコンピュータ2A及び2Bが通信部を介して接続され、チャットルームに入室した場合、チャット処理プログラムに従い各種チャット処理を行う。
具体的には、パーソナルコンピュータ2Aからメッセージが送信された場合、現在チャットルームに入室中の他のユーザ、例えばパーソナルコンピュータ2Bへメッセージを送信する。CPU11は履歴ファイル152及びチャットログファイル153のフィールドのキーを関連づけたスキーマにおいてSQL(Structured Query Language)を用いて対話することにより、必要な情報の記憶、検索等の処理を実行する。
Webサーバ5は後述するブログサーバ4と実質的に同一のハードウェアにより構成される。具体的には、CPU51、RAM52及び記憶部55により構成される。CPU51はこれらハードウェア及び通信部56に相互に接続されており、記憶部55内の制御プログラム55Pに従い、各種処理を実行する。記憶部55内にはWebページファイル551が格納されている。なお、Webページファイル551、履歴ファイル152及びチャットログファイル153の詳細については後述する。
続いてパーソナルコンピュータ2について説明する。図3はパーソナルコンピュータ2のハードウェア構成を示すブロック図である。パーソナルコンピュータ2は制御部としてのCPU21、RAM22、入力部23、表示部24、通信部26、及び記憶部25等を含んで構成される。CPU21は、バス27を介してパーソナルコンピュータ2のハードウェア各部と接続されていて、それらを制御する。記憶部25にはチャットサーバ1等からダウンロードしたチャットクライアントプログラム251が記憶されている。
表示部24は例えば液晶ディスプレイ等であり、入力部23はキーボード及びマウス等から構成される。通信部26はモデムまたはLANカード等であり、チャットサーバ1、Webサーバ5及びブログサーバ4等とHTTP等のプロトコルにより情報を送受信する。記憶部25は例えばハードディスクまたは大容量メモリで構成され、インターネットエクスプローラ(登録商標)等のWebブラウザ252が記憶されている。CPU21は入力部23からの指示に従い、Webブラウザ252を起動する。チャットを開始する場合、CPU21は入力部23の指示に基づき、チャットクライアントプログラム251を起動する。
CPU21は通信部26を介してチャットサーバ1との通信を確立する。CPU21は通信の確立後、入力部23からの指示に従い、入室するチャットルームの選択を受け付ける。CPU21はチャットルームの情報をチャットサーバ1へ送信する。チャットサーバ1のCPU11はチャット処理プログラム151に従い、パーソナルコンピュータ2のチャットルームへの入室を許可する。パーソナルコンピュータ2のCPU21は入力部23からメッセージの入力を受け付け、受け付けたメッセージをチャットサーバ1へ送信する。チャットサーバ1のCPU11は受け付けたメッセージを現在入室中のユーザに係るパーソナルコンピュータ2へ送信する。
図4はチャットのイメージを示す説明図である。ユーザBのパーソナルコンピュータ2Bの表示部24に図4に示す画面が表示される。図4の例ではチャットルームは「温暖化」であり、ユーザA及びBの2名が現在入室していることを示している。ユーザAのメッセージに対し、ユーザBは自身が認識しているブロガーCのブログを紹介すべく、入力部23から「以下のブログが参考になります。」を入力ボックス241へ入力する。CPU21は入力部23からの送信ボタン242の操作入力を受け付けた場合、入力ボックス241に入力されたメッセージをチャットサーバ1へ送信する。
さらに、紹介するブロガーCのブログのURL「http://blog.sample.com/001234」を入力ボックス241へカット&ペーストにより貼り付ける。CPU21は入力部23からの送信ボタン242の操作入力を受け付けた場合、入力ボックス241に入力されたURLをチャットサーバ1へ送信する。チャットサーバ1のCPU11はこれら入力されたメッセージをユーザA及びBに係るパーソナルコンピュータ2へ送信する。パーソナルコンピュータ2の表示部24には図4に示すブログのURLが表示される。チャットサーバ1のCPU11は以上の処理を実行するチャット処理プログラム151と共に、制御プログラム15Pを実行しており、受信したメッセージを監視する。またCPU11はチャットに関する履歴をチャットログファイル153に記憶する。
図5はチャットログファイル153のレコードレイアウトを示す説明図である。チャットログファイル153はチャットルーム別に日時及びメッセージ等が履歴として記憶されている。チャットルームは例えば「温暖化」、「趣味」及び「車」等があり、本例では「温暖化」の履歴を表示している。チャットログファイル153は日時フィールド、イベントフィールド、ユーザIDフィールド、メッセージフィールド及びメッセージIDフィールド等を含んで構成される。日時フィールドには各イベントが実行された日時を時計部18から出力される日時情報に基づき日時を記憶している。イベントフィールドには日時に対応付けてイベントが記憶されている。イベント「入室」はパーソナルコンピュータ2がチャットルームに入室したことを示し、イベント「発言」はパーソナルコンピュータ2からのメッセージを受信したことを示す。
ユーザIDフィールドには日時及びイベントに対応付けてメッセージを送信した者を特定するための送信者識別情報(以下、ユーザID)が記憶されている。本例ではユーザID「A」及び「B」の2つが記憶されている。メッセージフィールドには日時及びユーザIDに対応付けてパーソナルコンピュータ2から送信されたメッセージがテキストデータとして記憶されている。またメッセージIDフィールドにはメッセージに対応付けてメッセージを特定するためのIDが記憶されている。
本例では10時0分10秒にユーザAが「現在、温暖化が問題になっています。」と発言し、その5秒後にユーザBが「以下のブログが参考になります。」と発言している。その3秒後にはユーザBが「http://blog.sample.com/001234」のメッセージを送信している。チャットサーバ1のCPU11は、受信したメッセージにURLが存在すると判断した場合、URLを検出する。そして検出したURLに基づきブログサーバ4からトラックバックURLの取得を行う。このトラックバックURLの取得処理の詳細については後述する。
図6はブログサーバ4のハードウェア構成を示すブロック図である。ブログサーバ4は、制御部としてのCPU41、RAM42、通信部46、入力部43、表示部44、時計部48及び記憶部45等を含んで構成される。CPU41は、バス47を介してブログサーバ4のハードウェア各部と接続されていて、それらを制御すると共に、記憶部45に格納された制御プログラム45Pに従って、種々のソフトウェア的機能を実行する。なお各ハードウェアの詳細については説明を省略する。記憶部45にはブログファイル451が格納されている。ブログファイル451はブロガーコンピュータ3から送信されたブログに関する各種データを記憶している。
図7はブロガーコンピュータ3のハードウェア構成を示すブロック図である。ブロガーコンピュータ3は制御部としてのCPU31、RAM32、入力部33、表示部34、通信部36、及び記憶部35等を含んで構成される。CPU31は、バス37を介してブロガーコンピュータ3のハードウェア各部と接続されていて、それらを制御する。記憶部35にはブログサーバ4から送信されるブログ等を表示部34に表示するためのWebブラウザ351が記憶されている。なお、ブロガーコンピュータ3とパーソナルコンピュータ2とは実質的に同一であるため詳細な説明は省略する。
図8はブログのイメージを示す説明図である。ブロガーCは温暖化に関するブログを作成している。ブロガーCのブログのURL(以下、ブログURL)は「http://blog.sample.com/001234」であり、ブログサーバ4のブログファイル451内にブログの記事に関する情報が記憶されている。ブログサーバ4のCPU41はブログに対するコメントを受信し、受信したコメントをブログURLに対応付けてブログファイル451に記憶している。さらに、CPU41はブログURLを生成した場合、併せてトラックバックURLを生成する。このトラックバックURLもブログURLに対応付けてブログファイル451に記憶される。
図8に示すように、ブログURLに対してトラックバックURLが「http://blog.sample.com/tb?id=001234」と表示されている。現段階ではブロガーDによるトラックバックが一つ作成されている。図9はブログファイル451のレコードレイアウトを示す説明図である。ブログファイル451はブログURLフィールド、トラックバックURLフィールド、記事フィールド、トラックバックフィールド及びコメントフィールド等を含んで構成される。なお上述した及び下記に述べる各種ファイル等のデータの持ち方はあくまで一例であり、対応関係が明確であればこれに限るものではない。
ブログURLフィールドには各ユーザの日々のブログに付与されるブログURLが記憶されている。このブログURLは新たなブログが生成される度にCPU41が生成する。トラックバックURLフィールドにはブログURLのトラックバック機能を実行する際に必要とされるトラックバックURLが各ブログURLに対応付けて記憶されている。記事フィールドにはブログに関する記事が記憶されている。トラックバックフィールドには、トラックバックURLが他の図示しないブログサーバ等により他人のブログにて利用されたことに伴う情報が記憶されている。
具体的には、トラックバックPingと共に送信された他のブログのブログURL、ブロガー名、ブログタイトル及びブログの要約等が記憶されている。図8の例ではブロガーDのブログ「私も温暖化を研究しています。」にてブロガーCのブログに対しトラックバックがなされたことを示している。このタイトルにはブロガーDのブログへアクセスするためのブログURL(http://otherblog.sample.jp/0005555)が埋め込まれたハイパーリンクが設定されている。ブロガーCはブロガーコンピュータ3の入力部33からこのハイパーリンクをクリックすることにより、ブロガーDのブログを閲覧することが可能となる。
チャットサーバ1のトラックバックURLの取得処理について説明する。チャットサーバ1のCPU11は図4及び図5に示す如くメッセージ内にブログURLを検出した場合、検出したブログURLをブログサーバ4へ送信し、トラックバックURLの取得要求を行う。ブログサーバ4のCPU41はこの取得要求に応じて、ブログURLをもとに、ブログファイル451を検索し、対応するトラックバックURLをブログファイル451から読み出す。そしてブログサーバ4のCPU41は読み出したトラックバックURLをチャットサーバ1へ送信する。
その他、トラックバックURLの取得は、以下のように処理しても良い。チャットサーバ1のCPU11はHTTPのヘッダ情報を取得するヘッドコマンドを検出したブログURLをもとにブログサーバ4へ送信する。具体的にはブログURLが「http://blog.sample.com/001234」の場合、「HEAD /001234 HTTP/1.1 HOST:blog.sample.jp」のリクエストをブログサーバ4へ送信する。ブログサーバ4のCPU41はこのリクエストを受けて、「HTTP/1.1 200 Ok Trackback: http://blog.sample.com/tb?id=001234」のレスポンスをチャットサーバ1へ送信する。ここでは、例としてTrackbackというヘッダを拡張している。これによりチャットサーバ1のCPU11はトラックバックURLを取得することが可能となる。トラックバックURLの取得が完了すると、以下の処理を行う。
チャットサーバ1のCPU11はチャットログファイル153を参照し、メッセージを抽出する。具体的にはCPU11はブログURLに係るメッセージを受信した日時以前の所定時間内(例えば5分内)のメッセージや同一のキーワードが出現した複数のメッセージを抽出する。なお、本実施の形態においてはブログURLを検出した日時から遡って5分内に同一チャットルームにて受信したメッセージを抽出する例を説明する。本例ではメッセージIDがM01乃至M03のメッセージが抽出される。ただしこれに限るものではなく、送信したメッセージ数の多い複数のユーザIDに係るメッセージを抽出するほか、特定のキーワード(例えば温暖化)をメッセージ内に含むメッセージを抽出するようにしても良い。
CPU11はブログURLを受信した日時、抽出したメッセージ、メッセージID、メッセージを送信したユーザに係るユーザIDを履歴ファイル152に記憶する。なお、併せてチャットルーム名(温暖化)をも記憶する。さらに、CPU11は新たにWebページを生成すべく、新たな生成URLを生成する。例えば、CPU11は「http://chatlog.sample.com/log01.html」とする生成URLを生成する。図10は履歴ファイル152のレコードレイアウトを示す説明図である。履歴ファイル152は日時フィールド、ユーザIDフィールド、メッセージフィールド、メッセージIDフィールド、及び生成URL・トラックバックURLフィールド等を含んで構成される。
CPU11はブログURLを抽出した日時、生成URL及び取得したトラックバックURLを履歴ファイル152に記憶する。そして日時、生成URL及び取得したトラックバックURLに対応付けて、ユーザIDフィールドに抽出したユーザIDを記憶し、メッセージフィールドに抽出したメッセージを記憶し、メッセージIDフィールドに抽出した各メッセージに対応するメッセージIDを記憶する。CPU11は適宜のタイミングで履歴ファイル152に記憶した生成URL、チャットルーム名、ユーザID、メッセージ及びトラックバックURLを、履歴ファイル152から読み出しWebサーバ5へ送信する。
Webサーバ5のCPU51はチャットサーバ1から送信された生成URL、チャットルーム名、ユーザID、メッセージ及びトラックバックURLを受信し、Webページファイル551に記憶する。図11はWebページファイル551のレコードレイアウトを示す説明図である。Webページファイル551は生成URLフィールド、ユーザIDフィールド、メッセージ・コメントフィールド、及びトラックバックURLフィールド等を含んで構成される。生成URLフィールドには、チャットユーザA、BとブロガーCとを結びつける新たなWebサイトのアドレスとなる生成URL「http://chatlog.sample.com/log01.html」が記憶されている。なお図示しないがチャットルーム名も生成URLに対応付けて記憶されている。
ユーザIDフィールドにはメッセージの送信者であるユーザのユーザIDが記憶されている。メッセージ・コメントフィールドには、ユーザIDに対応付けて送信されたメッセージが記憶されている。なお後述するように本Webサイトにはコメントを記入することができる。コメントが送信された場合、CPU51は当該フィールドにコメントを記憶する。トラックバックURLフィールドには、ブロガーCのブログのトラックバックURLが記憶されている。CPU51は記憶部55に予め記憶したテンプレートとなるHTML文書に、Webページファイル551に記憶した情報を記述する。これによりCPU51は、メッセージが記述された新たなWebページを生成する。
図12は生成されたWebページのイメージを示す説明図である。URLは生成URLフィールドに記憶された生成URL「http://chatlog.sample.com/log01.html」であり、読み出されたチャットルーム名、ユーザID及びメッセージが表示される。Webサーバ5はブログサーバと同じく、生成したWebページ内にコメント入力ボックス512及び送信ボタン513を備えている。またトラックバックを可能とすべく、トラックバックURL「http://chatlog.sample.com/tb?id=01」を記述している。なお新たに生成したWebページは記憶部55内に記憶される。
CPU51はWebページファイル551にトラックバックURLが記憶された場合、またはWebページを生成した場合、ブログサーバ4に対しトラックバックを実行したことを通知すべくトラックバックPingを送信する。具体的には、CPU51は生成URL、チャットルーム名及びメッセージの一部を、トラックバックURL「http://blog.sample.com/tb?id=001234」を宛先として送信する。ブログサーバ4のCPU41はトラックバックPingを受信した場合、トラックバックされたブログまたはWebページに対応付けてブログファイル451に、送信された生成URL及びメッセージを含むトラックバックを記憶する。
CPU41はブロガーCのブロガーコンピュータ3からブログの送信要求を受け付けた場合、新たに記憶したトラックバックに関する情報をブログに記述した上で、送信する。図13はトラックバック後のブログのイメージを示す説明図である。トラックバックとして、チャットルーム名「温暖化」、生成URL「http://chatlog.sample.com/log01.html」をリンク先とするハイパーリンクに係るメッセージ一文、及び、送信された一部のメッセージが表示される。ブロガーCを含むブロガーはチャットルームにて、ブログに関する話題が取り上げられていることを知ることができる。ここで、一部のメッセージである「現在、温暖化が問題となっています。」に埋め込まれた生成URL「http://chatlog.sample.com/log01.html」に係るハイパーリンクをクリックすることにより、ブロガーコンピュータ3はWebサーバ5からWebページをダウンロードすることができる。
ブロガーCのブロガーコンピュータ3のWebブラウザ351には図12に示すWebページが表示される。ブロガーCはこれを閲覧することにより、どのような経緯で、ブログにて述べている意見が、チャットルームにて議論されているかを知ることが可能となる。ブロガーコンピュータ3のCPU31は入力部33からコメントの入力を受け付ける。ここで、ブロガーCは「Cです。現在以下の解決法を考えています。・・・」と入力したとする。CPU31は入力部33から送信ボタン513の入力を受け付けた場合、コメント入力ボックス512に入力されたコメント及び生成URLをWebサイト5へ送信する。
図14はコメントが追加された後のWebページファイル551のレコードレイアウトを示す説明図である。Webサーバ5のCPU51は生成URLと共に、送信されたコメントを受信した場合、Webページファイル551に生成URLに対応付けて、送信されたコメントをメッセージ・コメントフィールドに記憶する。CPU51は再びパーソナルコンピュータ2またはブロガーコンピュータ3から生成URLに対応するWebページの取得要求を受け付けた場合、チャットルーム名、ユーザID、メッセージ及びコメント、並びにトラックバックURLの情報を含むHTML文書を生成する。CPU51は生成したHTML文書を記憶部55に記憶すると共に、生成したHTMLをリクエスト先のパーソナルコンピュータ2またはブロガーコンピュータ3へ送信する。
図15はパーソナルコンピュータ2のWebブラウザ252に表示されるイメージを示す説明図である。図15の例では、ブロガーCのコメント「Cです。現在以下の解決法を考えています。」とするコメントがメッセージの下段に表示される。さらに、チャットのユーザA及びBもコメント入力ボックス512にコメントを入力することにより、さらなる議論を行うことが可能となる。図の例はブロガーCの後に、さらにユーザAが「Aです。それはよい方法と思います。・・」とするコメントを送信している。
以上のハードウェア構成において、各ソフトウェア処理の手順を、フローチャートを用いて説明する。図16はチャットサーバにおける生成URLの生成処理の手順を示すフローチャートである。チャットサーバ1のCPU11はパーソナルコンピュータ2A、2Bによるチャットルーム「温暖化」への入室を許可した後、制御プログラム15Pに従い、以下の処理を行う。CPU11はパーソナルコンピュータ2から送信されるユーザID、及び、メッセージを受け付ける(ステップS161)。CPU11は受け付けたユーザID、メッセージ及び時計部18から出力される日時をチャットログファイル153に記憶する(ステップS162)。
CPU11はチャットログファイル153を参照し、メッセージ中にURLが存在するか否かを判断する(ステップS163)。具体的にはメッセージ中に「http」または「www」等の文字が含まれているか否かにより判断する。CPU11はURLが存在しないと判断した場合(ステップS163でNO)、ステップS161へ処理を戻す。一方、CPU11はメッセージ中にURLが存在すると判断した場合(ステップS163でYES)、URLを抽出し、抽出したURLに基づき、トラックバックURLのリクエストを行う(ステップS164)。
CPU11はトラックバックURLのリクエストに対し、トラックバックURLの返信に係るレスポンスがあったか否かを判断する(ステップS165)。CPU11はトラックバックに係るレスポンスがなかった場合(ステップS165でNO)、抽出したURLはブログに係るURLではない可能性があることから、処理を再びステップS161へ戻す。一方、CPU11はトラックバックに係るレスポンスがあった場合(ステップS165でYES)、チャットログファイル153に記憶したメッセージ及び日時を参照し、URLを受け付けた日時から所定時間前までのメッセージを抽出する(ステップS166)。
CPU11は新たなWebページのための生成URLを生成する(ステップS167)。CPU11は履歴ファイル152に、日時、チャットルーム名、ステップS166で抽出したメッセージに対応するユーザID、ステップS166で抽出したメッセージ、ステップS166で抽出したメッセージに対応するメッセージID、ステップS167で生成した生成URL及びステップS165でレスポンスのあったトラックバックURLをそれぞれ対応付けて記憶する(ステップS168)。最後にCPU11はWebサーバ5へ通信部16を介して履歴ファイル152に記憶した生成URL、チャットルーム名、ユーザID、メッセージ及びトラックバックURLを送信する(ステップS169)。
なお、トラックバックURLのリクエスト及びレスポンスは以下の手順により実行しても良い。図17及び図18はトラックバックURLの他の形態に係る取得手順を示すフローチャートである。チャットサーバ1のCPU11はステップS163でYESの後、以下の処理を実行しても良い。CPU11は抽出したURLを参照し、ブログサーバ4へPOSTコマンドを送信する(ステップS171)。ブログサーバ4のCPU41はPOSTコマンドを含むHTTPのリクエストを受け付ける(ステップS172)。なお、ブログサーバ4はチャットサーバ1の他、パーソナルコンピュータ2及びブロガーコンピュータ3からもHTTPリクエストを受け付ける。
ブログサーバ4のCPU41は受け付けたHTTPのリクエストがGETコマンドであるか否かを判断する(ステップS173)。CPU41はGETコマンドであると判断した場合(ステップS173でYES)、対応するブログをブログファイル451から読み出し送信する(ステップS174)。一方、CPU41はGETコマンドでないと判断した場合(ステップS173でNO)、HTTPのリクエストがPOSTコマンドであるか否かを判断する(ステップS175)。CPU41はPOSTコマンドでないと判断した場合(ステップS175でNO)、処理を終了する。
一方、CPU41はPOSTコマンドであると判断した場合(ステップS175でYES)、HTTPリクエストからUser-Agentヘッダを取り出す(ステップS176)。CPU41はこの取り出したUser-Agentヘッダが記憶部45に予め記憶されているものに一致するか否かを判断する(ステップS177)。図19は記憶部45に予め記憶したUser-Agentの一覧を示す説明図である。記憶部45には、インターネットエクスプローラ(登録商標)等のブラウザの種類を示す情報が記憶されている。
CPU41はUser-Agentヘッダが記憶部45に記憶されているものに一致すると判断した場合(ステップS177でYES)、ブラウザによるアクセス、つまりコメント書き込み処理と認識する(ステップS178)。そしてCPU41は受信したコメントをブログファイル451に記憶する(ステップS179)。一方CPU41はUser-Agentヘッダが記憶部45に記憶されているものに一致しないと判断した場合(ステップS177でNO)、チャットサーバ1によるトラックバックURLの取得処理であると認識する(ステップS1711)。CPU41はブログファイル451に記憶したトラックバックURLを読み出しチャットサーバ1へ、通信部46を介して送信する(ステップS1712)。チャットサーバ1のCPU11は送信されたトラックバックURLを受信する(ステップS1713)。
図20及び図21はWebサーバ5によるWebページの生成処理及びトラックバックPingの送信処理の手順を示すフローチャートである。Webサーバ5のCPU51はステップS169に基づき送信された生成URL、チャットルーム名、ユーザID、メッセージ及びトラックバックURLを受信する(ステップS201)。CPU51は生成URL、ユーザID、メッセージ及びトラックバックURLをWebページファイル551に記憶する(ステップS202)。Webサーバ5のCPU51はステップS202における情報の記憶をトリガに制御プログラム55Pを実行し以下の処理を行う。
CPU51は本Webサーバ5により生成されるWebページ用のトラックバックURLを図12に示す如く生成する(ステップS203)。CPU51は記憶部55に予め記憶されたテンプレート文書を読み出す(ステップS204)。CPU51はこの読み出したテンプレート文書に、Webページファイル551に記憶した生成URL、ユーザID、メッセージ及びトラックバックURL、並びに、ステップS203で生成したトラックバックURLを追記することにより、Webページに係るHTML文書を生成する(ステップS205)。
CPU51はこの生成したHTML文書を生成URLに対応付けて記憶部55に記憶する(ステップS206)。CPU51はトラックバックURLの受信または記憶部55への記憶をトリガに、トラックバックURLを参照し、トラックバックPing、生成URL及びメッセージをブログサーバ4へ送信する(ステップS207)。なお、上述したように、チャットサーバ1内の記憶部15へのトラックバックURLの記憶をトリガに、チャットサーバ1のCPU11が、トラックバックPing、生成URL及びメッセージをブログサーバ4へ直接送信するようにしても良い。
ブログサーバ4のCPU41はトラックバックPing、生成URL、及び、メッセージを受信する(ステップS208)。CPU41はブログファイル451に生成URL及びメッセージを記憶する(ステップS209)。このトラックバックPingにより、図13に示す如く、ブロガーCのブログには生成URLに係るWebページへアクセスするためのハイパーリンク(トラックバック)が作成される。その後、パーソナルコンピュータ2またはブロガーコンピュータ3からWebサーバ5へ生成URLに対応するWebページの取得要求があった場合、これを受け付ける(ステップS210)。以下では、パーソナルコンピュータ2から取得要求があった例を説明する。
CPU51は生成URLに対応するHTML文書を記憶部55から読み出し(ステップS211)、読み出したHTML文書をパーソナルコンピュータ2へ送信する(ステップS212)。パーソナルコンピュータ2のCPU21はコメント入力ボックス512に入力されたコメントを送信ボタン513の操作に従い、Webサーバ5へ送信する。Webサーバ5のCPU51は送信されたコメントを受け付ける(ステップS213)。CPU51は生成URLに対応付けて送信されたコメントをWebページファイル551に記憶する(ステップS214)。
CPU51はステップS205と同じくメッセージと共に、Webページファイル551に記憶されたコメントを追加したHTML文書を生成する(ステップS215)。CPU51は生成URLに対応付けてHTML文書を記憶部55に記憶する(ステップS216)。これにより、チャットとブログとが融合された新たなブログ乃至Webページが形成される。そしてこのWebページにコメントを書き込んで多数当事者による新たな会話が可能となり、新たなコミュニケーションの場を提供することが可能となる。
実施の形態2
実施の形態2はブロガーがWebサーバ5へアクセスした際の、チャットユーザのログイン状態を通知する形態に関する。図22は実施の形態2に係るWebページファイル551のレコードレイアウトを示す説明図である。Webサーバ5のCPU51は生成URLに係るWebページの送信要求を受け付けた場合、送信要求の存在を示す要求信号をチャットサーバ1へ送信する。チャットサーバ1のCPU11は要求信号を受信した場合、ブロガーコンピュータ3等から生成URLに対応するメッセージの送信要求があったことを検出する。チャットサーバ1のCPU11は、履歴ファイル152を参照し、生成URLに対応するユーザIDを抽出し、抽出したユーザIDに係るユーザの現在のログイン状況を検出する。
ログイン状況としては例えば、現在ログインしているユーザのユーザID自体、現在ログインしているユーザのユーザID数を、抽出したユーザIDの総数で除し100をかけた値(以下、ログイン率という)、または現在ログインしているユーザのユーザID数とすればよい。以下ではログイン状況としてログイン率を用いた例を説明する。
CPU11は検出したログイン率をWebサーバ5へ送信する。Webサーバ5はログイン率をWebページファイル551内に記憶する。図22に示すように生成URLに対応付けて、現在のログイン率が記憶されている。本例ではユーザIDの総数が「A」及び「B」の2つであるところ、ユーザID「A」及び「B」の双方がログインしていることから、100%と記憶されている。Webサーバ5のCPU51はこのログイン率をWebページにメッセージと共に記述する。
図23は生成されたWebページのイメージを示す説明図である。CPU51はHTML文書内にWebページファイル551に記憶されたログイン率を記述する。またCPU51はログイン率を視認できるよう、ログイン率に応じたアイコン514を記憶部55から読み出しHTML文書に記述する。例えば記憶部55にはログイン率0%以上30%未満に対応付けて、×のアイコンが記憶され、ログイン率30%以上70%未満に対応付けて△のアイコンが記憶され、ログイン率70%以上に対応付けて○のアイコンが記憶されている。図23の例ではログイン率100%が表示され、また対応するアイコン514として○が表示されている。
図24乃至図26はログイン率の記憶処理の手順を示すフローチャートである。なお、本実施の形態においても、チャットサーバ1とWebサーバ5とが分離した形態を示すが、チャットサーバ1内にWebページファイル551を記憶部として格納し、チャットサーバ1のCPU11が、以下に述べるWebサーバ5のCPU51が実行する処理を全て実行するようにしても良いことはもちろんである。ブロガーコンピュータ3のCPU31は生成URLの入力部33によるクリックをトリガに生成URLに係るWebページの送信要求をWebサーバ5へ行う(ステップS241)。Webサーバ5のCPU51は送信された生成URLに係る送信要求を受信する(ステップS242)。
CPU51は、チャットサーバ1に送信要求があったことを通知すべく、生成URL及び要求信号をチャットサーバ1へ送信する(ステップS243)。チャットサーバ1のCPU11は生成URL及び要求信号を検出したか否かを判断する(ステップS244)。具体的には、通信部16を介して生成URL及び要求信号を受信したか否かを判断している。CPU11は生成URL及び要求信号を検出していないと判断した場合(ステップS244でNO)、以上の処理を繰り返す。一方、CPU11は生成URL及び要求信号を検出したと判断した場合(ステップS244でYES)、生成URLに対応するユーザIDを履歴ファイル152から読み出す(ステップS245)。
CPU11はさらに読み出したユーザIDの数に基づくユーザ総数を記憶部15に記憶する(ステップS246)。CPU11は読み出したユーザIDに対応するユーザの現在のログイン数を検出する(ステップS247)。具体的にはCPU11は生成URLに対応するチャットルームにログインしているユーザのユーザIDを読み出す。そして、読み出したユーザIDとステップS245で読み出したユーザIDとの一致数を計数する。そしてCPU11はこの計数したログイン数を、ステップS246で記憶したユーザ総数で除し、さらに100を乗じてログイン率を算出する(ステップS248)。
CPU11は算出したログイン率をWebサーバ5へ送信する(ステップS249)。Webサーバ5のCPU51は送信されたログイン率を受信する(ステップS251)。CPU51はWebページファイル551に生成URLに対応付けてログイン率を記憶する(ステップS252)。CPU51はステップS206またはS216で記憶した生成URLに対応するHTML文書を読み出す(ステップS253)。CPU51はログイン率をHTML文書に記述する(ステップS254)。
CPU51はログイン率に対応するアイコン514を記憶部55から読み出す(ステップS255)。CPU51は読み出したアイコン514をHTML文書に記述する(ステップS256)。CPU51は以上の如くログイン率及びこれに基づくアイコン514がさらに記述されたHTML文書を生成URLに対応付けて記憶部55に記憶する(ステップS257)。CPU51はブロガーコンピュータ3へHTML文書を送信する(ステップS258)。CPU31は送信されたHTML文書を受信する(ステップS259)。そしてCPU31はHTML文書を解析し、Webブラウザ351に図23の如く、生成URLに係るWebページを表示する(ステップS261)。これにより、ブロガー等が生成URLに係るWebページにアクセスする度に、当該議論を行っていたチャットユーザの現在のログイン状況を把握することが可能となる。その結果、ログイン状況に応じて速やかにコメントを入力することで、チャットユーザとブロガーとの間で、リアルタイムに近い情報交換が可能となる。
本実施の形態2は以上の如き構成としてあり、その他の構成及び作用は実施の形態1と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
実施の形態3
実施の形態3は生成URLに係るWebページの内容が更新された場合の通知処理に関する。まずチャットユーザに通知する際の処理について説明する。図27は実施の形態3に係るチャットサーバ1及びWebサーバ5のハードウェア構成を示すブロック図である。実施の形態1の構成に加えて、記憶部15にはアドレスファイル154が設けられている。図28はアドレスファイル154のレコードレイアウトを示す説明図である。アドレスファイル154はユーザIDフィールド、電子メールアドレスフィールド、IP(Internet Protocol)アドレスフィールド、及び、状態フィールドを含んで構成される。
ユーザIDフィールドにはチャットユーザのユーザIDが記憶されており、電子メールアドレスフィールドにはユーザIDに対応付けて各ユーザの電子メールアドレスが記憶されている。CPU11は、チャットユーザのユーザ登録の際にパーソナルコンピュータ2からユーザID及び電子メールアドレスが送信された場合に、ユーザIDに対応付けて送信された電子メールアドレスを記憶している。IPアドレスフィールドには、チャットにログインしているユーザのユーザIDに対応付けてパーソナルコンピュータ2に付与されたIPアドレスを記憶している。なお、パーソナルコンピュータ2がログアウトした場合は、記憶されたIPアドレスはいったん消去される。
状態フィールドには、IPアドレスに対応付けてチャットユーザの現在のチャットに関する状態を記憶している。状態には、ログイン、ログアウト及びチャットルームへの入室等の情報がある。CPU11はパーソナルコンピュータ2からログイン要求を受け付けた場合、ユーザIDに対応付けて、状態フィールドにログインを記憶する。さらに、パーソナルコンピュータ2からユーザIDと共に、チャットルームへの入室要求を受け付けた場合、該当するチャットルームの情報を状態フィールドに記憶する。具体的には、ユーザID「E」のユーザは現在チャットにログインしているが、どのチャットルームにも入室していない状態を示す。
一方、ユーザID「A」のユーザ及びユーザID「B」のユーザはログイン後、チャットルーム「温暖化」に入室している状態を示している。CPU11はパーソナルコンピュータ2からログアウトの要求を受け付けた場合、ユーザIDに対応付けてログアウトの情報を状態フィールドに記憶する。ユーザID「D」のユーザはログアウトの状態であることが記憶されている。
図29及び図30は通知処理の手順を示すフローチャートである。Webサーバ5のCPU51は図12に示す生成URLに係るWebページに関し、コメントを受信したか否かを判断する(ステップS291)。CPU51はコメントを受信していないと判断した場合(ステップS291でNO)、以上の処理を繰り返す。一方CPU51はコメントを受信したと判断した場合(ステップS291でYES)、受信したコメントを生成URLに対応付けて図14に示すWebページファイル551に記憶する(ステップS292)。
CPU51はコメント及び生成URLをチャットサーバ1へ送信する(ステップS293)。チャットサーバ1のCPU11はコメント及び生成URLを受信する(ステップS294)。CPU11はコメントを生成URLに対応付けて履歴ファイル152に記憶する(ステップS295)。CPU11は履歴ファイル152から生成URLに対応するチャットルーム及びユーザIDを読み出す(ステップS296)。続いて、読み出したユーザIDに係るユーザの状態を判断する処理に移行する。
CPU11は読み出したユーザIDに係るユーザが読み出したチャットルームに入室しているか否かを、図28に示すアドレスファイル154を参照して判断する(ステップS297)。CPU11は入室していると判断した場合(ステップS297でYES)、履歴ファイル152に記憶したコメント、生成URL及び案内文を読み出す(ステップS298)。なお、案内文は記憶部15に記憶されており、例えば「追加のコメントです。」等のテキスト文である。CPU11は現在入室中のチャットユーザに追加のコメントがあったことを通知すべく、チャットルーム入室中のパーソナルコンピュータ2のIPアドレスをアドレスファイル154から読み出し、読み出したIPアドレスに係るパーソナルコンピュータ2へ通信部16を介してコメント、生成URL及び案内文を送信する(ステップS299)。
図31はチャットのイメージを示す説明図である。図31の例ではユーザA及びユーザBがログイン中に、生成URLに係るWebページにコメントがブロガーCにより記入され、このコメントに関する通知がなされている。パーソナルコンピュータ2の表示部24には、システムマネージャのメッセージとして、生成URL、案内文及びブロガーCのコメントが表示されている。この生成URLにはWebページにアクセスするためのハイパーリンクが設定されている。これにより、ブロガーとチャットユーザとの間の新たなコミュニケーションを瞬時に構築することが可能となる。
ステップS297において、CPU11はチャットルームに入室していないと判断した場合(ステップS297でNO)、ステップS296で読み出したユーザIDに係るユーザが、ログイン中であるか否かを、アドレスファイル154を参照して判断する(ステップS301)。CPU11はログイン中であると判断した場合(ステップS301でYES)、履歴ファイル152に記憶したチャットルーム名、コメント、生成URL及び案内文を読み出す(ステップS302)。CPU11は現在ログイン中のチャットユーザにチャットルームへの参加依頼を行うべく、チャットルーム入室中のパーソナルコンピュータ2のIPアドレスをアドレスファイル154から読み出し、読み出したIPアドレスに係るパーソナルコンピュータ2へ通信部16を介してチャットルーム名、コメント、生成URL及び案内文を送信する(ステップS303)。ステップS302で読み出す案内文は、「参加しませんか?」等のテキスト文である。
CPU11は参加依頼として、チャットルーム名及び案内文を結合したテキストをパーソナルコンピュータ2へ送信する。例えば、「チャットルーム「温暖化」 参加しませんか?」とするテキストを送信する。これにより、チャットにおける会話を促進することが可能となる。また生成URLも送信されることから、生成URLに係るWebページをも当該ユーザは閲覧することが可能となる。ステップS301においてログイン中でないと判断した場合(ステップS301でNO)、当該ユーザはログアウトしていることから、アドレスファイル154から電子メールアドレスを読み出す(ステップS304)。
CPU11は履歴ファイル152に記憶したコメント、生成URL及び案内文を読み出す(ステップS305)。CPU11は記憶部15に予め記憶したテンプレートとなるテキスト文を読み出し、読み出したコメント、生成URL及び案内文を記述し電子メールを生成する(ステップS306)。CPU11はステップS304で読み出した電子メールアドレス宛に生成した電子メールを送信する(ステップS307)。その後、新たにログインしたユーザにコメントに関する情報を通知すべく以下の処理を行う。CPU11はステップS296で読み出したユーザIDに基づくログインがあったか否かを判断する(ステップS308)。
具体的には、CPU11はステップS296で読み出したユーザIDと、新たにログインしたユーザIDとが一致するか否かを判断する。CPU11は読み出したユーザIDに基づくログインがない場合(ステップS308でNO)、ステップS308の処理を繰り返す。一方、CPU11はログインがあったと判断した場合(ステップS308でYES)、履歴ファイル152に記憶したコメント、生成URL及び案内文を読み出す(ステップS309)。この案内文は例えば「新たなコメントがあります。」等のテキスト文である。CPU11はログインしたユーザのIPアドレスをアドレスファイル154に記憶する。CPU11は読み出したコメント、生成URL及び案内文を、アドレスファイル154に記憶したIPアドレスを参照し、当該IPアドレスに係るパーソナルコンピュータ2へ送信する(ステップS3010)。
続いて、コメントが追加された場合のブロガーへの通知処理について説明する。Webサーバ5がコメントをパーソナルコンピュータ2等から受信した場合、ブロガーCへコメントが追加されたことを通知すべく以下の処理を行う。図32及び図33はブロガーへの通知処理の手順を示すフローチャートである。Webサーバ5のCPU51はパーソナルコンピュータ2等から生成URLに対応するWebページについてコメントを受信したか否かを判断する(ステップS321)。CPU51はコメントを受信していないと判断した場合(ステップS321でNO)、以上の処理を繰り返す。一方、CPU51はコメントを受信したと判断した場合(ステップS321でYES)、生成URLに対応付けてコメントをWebページファイル551に記憶する(ステップS322)。
CPU51はWebページファイル551から当該生成URL、コメント及びトラックバックURLをWebページファイル551から読み出す(ステップS323)。CPU51はコメントを受信したということは既に第1回目のトラックバックPingの送信はステップS207で述べたように終了していることから、2回目以降であることを示す再通知フラグを記憶部55から読み出す(ステップS324)。CPU51はトラックバックPing、生成URL、コメント及び再通知フラグをブログサーバ4へ送信する(ステップS325)。ブログサーバ4のCPU41はトラックバックPing、生成URL、コメント及び再通知フラグを受信する(ステップS326)。
CPU41は受信した情報中に再通知フラグが存在するか否かを判断する(ステップS327)。CPU41は受信した情報中に再通知フラグが存在しない場合(ステップS327でNO)、これは第1回目のトラックバックPingの送信であるとしてステップS209へ移行する。具体的には、CPU41はブログファイル451内のトラックバックURLに対応付けて、生成URL及びメッセージ(コメント)等を記憶する。ここで、パーソナルコンピュータ2またはブロガーコンピュータ3から当該ブログの送信要求をCPU41が受け付けた場合、ブログファイル451を参照し、記事、並びに、生成URLへのハイパーリンク及びコメントを含むトラックバックに関する情報をパーソナルコンピュータ2またはブロガーコンピュータ3へ送信する。これにより図13の如くブログ内にトラックバックが表示される。
CPU41は受信した情報中に再通知フラグが存在すると判断した場合(ステップS327でYES)、記憶部45に予め記憶した通知文を読み出す(ステップS329)。この通知文はコメントが追加されたことを示す文章であり、例えば「コメントが追加されました」等のテキスト文とすればよい。CPU41はブログファイル451にトラックバックに関する情報として、ステップS326で受信した生成URLに一致する生成URLに対応付けてコメント及び通知文を記憶する(ステップS331)。例えば図13の例では一致する生成URLとして「http://chatlog.sample.com/log01.html」が存在することから、ブログファイル451のトラックバックフィールド内の生成URLに対応付けてコメント及び通知文を記憶する。
ここで、パーソナルコンピュータ2またはブロガーコンピュータ3から当該ブログの送信要求をCPU41が受け付けた場合、ブログファイル451を参照し、記事、並びに、生成URLへのハイパーリンク及びコメントを含むトラックバックに関する情報をパーソナルコンピュータ2またはブロガーコンピュータ3へ送信する。図34はコメントが追加された場合のブログのイメージを示す説明図である。図34における一のトラックバックは生成URL「http://chatlog.sample.com/log01.html」のハイパーリンクが設定された「現在、温暖化が問題となっています。」である。このトラックバックには、追加のコメント「Cです。現在以下の解決法を考えています。・・」が新たに表示され、また追加であることを喚起すべく通知文「コメントが追加されました」が表示される。これにより、チャットユーザとブロガーとの会話をより迅速に活性化させることが可能となる。
CPU41は記憶部45から当該ブログに対応するブロガーの電子メールアドレスを読み出す(ステップS332)。なお、この電子メールアドレスは、ブロガーの初期登録の際に送信されたものである。CPU41はブロガーコンピュータ3から送信された電子メールアドレスを、ブロガーのID及びブログURLに対応付けて記憶部45に予め記憶している。CPU41はステップS326のトラックバックPingに対応するブログURLをブログファイル451から読み出す。そして、CPU41は、ステップS329で読み出した通知文、ステップS326で受信した生成URL及びコメント、並びに、ブログファイル451から読み出したブログURLを含む電子メールを生成する(ステップS333)。CPU41はステップS332で読み出した電子メールアドレス宛へ生成した電子メールを送信する(ステップS334)。
本実施の形態3は以上の如き構成としてあり、その他の構成及び作用は実施の形態1及び2と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
実施の形態4
実施の形態4はキーパーソンを特定する形態に関する。図35は実施の形態4に係る履歴ファイル152のレコードレイアウトを示す説明図である。履歴ファイル152は日時フィールド、チャットルーム名フィールド、生成URL・トラックバックURLフィールド、ユーザIDフィールド及びメッセージフィールドを含んで構成される。日時フィールドにはCPU11がメッセージ内にブログURL「http://blog.sample.com/001234」が存在することを検出した日時が記憶されている。チャットルーム名フィールドには、CPU11が検出したブログURLが送信されたチャットルーム名が記憶されている。本例では「温暖化」が記憶されている。
生成URL・トラックバックURLフィールドには実施の形態1で述べた如く、生成された生成URL「http://chatlog.sample.com/log01.html」及び取得したブログURLに対応するトラックバックURL「http://blog.sample.com/tb?id=001234」が記憶されている。ユーザIDフィールドにはメッセージを送信したユーザのユーザIDが記憶されている。メッセージフィールドにはユーザIDに対応付けてユーザIDと共に送信されたメッセージが記憶されている。本例ではユーザIDが「A」、「B」及び「D」の3ユーザによるチャットが行われている。
本実施の形態においては、CPU11は履歴ファイル152を参照し、複数のユーザIDから代表送信者識別情報(以下、キーパーソンID)を選択する。このキーパーソンIDの選択処理としては、例えば、メッセージの送信回数の多いユーザに係るユーザIDを選択する(本例では回数3のB)ほか、ブログURLを含むメッセージを送信したユーザIDに係るユーザを選択する(本例ではB)、またはチャットルーム名に関連するキーワードを含むメッセージを送信したユーザIDに係るユーザを選択する(例えば、チャットルーム名「温暖化」と同一の文言を多く送信したユーザ。本例ではA)。なお選択するユーザID数は少なくとも一つであり、複数であっても良い。以下では、選択処理として最も多くの回数、メッセージを送信したユーザに係るユーザIDを一つ選択する例を説明する。
CPU11はアドレスファイル154を参照し、選択したユーザIDに係るユーザが対応するチャットルームに入室した場合、履歴ファイル152に記憶した生成URL及び記憶部15に記憶した案内文を読み出し、パーソナルコンピュータ2へ送信する。この案内文は以前の議論をキーパーソン主体で再開させるべく、例えば「以下の生成URLにより議論を再開できます。」とするテキスト文とすればよい。図36は議論の再開を示す案内文が表示されたチャットのイメージを示す説明図である。図36の例ではチャットルーム「温暖化」に関し、後日ユーザIDがA及びDのユーザがチャットしている。その後、ユーザIDがBのユーザが入室した。この場合、CPU11はユーザIDがBのユーザはキーパーソンであることから、チャットルームに入室している全てのユーザIDに係るIPアドレスを、アドレスファイル154から読み出す。そしてCPU11は、案内文及び対応する生成URLを読み出したIPアドレス宛のパーソナルコンピュータ2へ送信する。
図37はキーパーソンの特定処理及び議論再開処理手順を示すフローチャートである。チャットサーバ1のCPU11はステップS168の処理に基づき、履歴ファイル152に生成URLが記憶されたか否かを判断する(ステップS371)。CPU11は記憶されていないと判断した場合(ステップS371でNO)、以上の処理を繰り返す。一方、CPU11は、履歴ファイル152に生成URLが記憶されたと判断した場合(ステップS371でYES)、履歴ファイル152を参照し、当該生成URLに関連して記憶されているメッセージの送信数が最も多いユーザIDをキーパーソンとして選択する(ステップS372)。
CPU11は選択したユーザID及び生成URLに対応するチャットルーム名を記憶部15に記憶する(ステップS373)。CPU11は、選択したユーザIDに係るユーザがログアウトするかを監視すべく、選択したユーザIDに係るユーザが現在チャットルームに入室中であるか否かを、チャットログファイル153を参照して判断する(ステップS374)。CPU11は入室中であると判断した場合(ステップS374でYES)、ステップS374の処理を繰り返す。一方、CPU11は入室中でないと判断した場合(ステップS374でNO)、以降の処理へ移行する。チャットサーバ1は後にキーパーソンが再びチャットルームへ入室するか否かを監視する。
CPU11は記憶部15に記憶した選択されたユーザIDに係るユーザが、記憶部15に対応して記憶したチャットルームへ入室したか否かを、チャットログファイル153を参照して判断する(ステップS375)。CPU11は入室していないと判断した場合(ステップS375でNO)、ステップS375の処理を繰り返し実行する。一方、CPU11はチャットルームに入室したと判断した場合(ステップS375でYES)、記憶部15に記憶した案内文を読み出し、また、履歴ファイル152を参照し、チャットルーム名及びユーザIDをもとに、生成URLを読み出す(ステップS376)。
CPU11は現在入室中のユーザのIPアドレスを、チャットログファイル153を参照して読み出す(ステップS377)。CPU11は読み出したIPアドレスに係るパーソナルコンピュータ2へ案内文及び生成URLをメッセージとして送信する(ステップS378)。これにより図36に示す如く、生成URL及びこれに誘導する文言が表示部24に表示される。このように、後にチャットが再開され、チャットにおけるキーパーソンたり得るユーザが入室した場合、過去の議論を再開させるべく生成URLを送信する。これにより、チャットユーザとブロガーとの架け橋として生成されたWebページへのアクセスを増加させ、ひいては議論をより活性化させることが可能となる。
本実施の形態4は以上の如き構成としてあり、その他の構成及び作用は実施の形態1乃至3と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
実施の形態5
実施の形態5はブログが更新された場合に、チャットユーザにこれを通知する形態に関する。図38は実施の形態5に係るチャットサーバ1及びWebサーバ5のハードウェア構成を示すブロック図である。記憶部15にはさらにRSS(Rich Site Summary)リーダ155が記憶されている。RSSリーダ155は例えば「RSSクリップ」等のソフトウェアを予め記憶部15にインストールしておけばよい。
図39は通知処理の手順を示すフローチャートである。チャットサーバ1のCPU11は実施の形態1のステップS167で述べた生成URLが生成されたか否かを判断する(ステップS391)。CPU11は生成URLが生成されていないと判断した場合(ステップS391でNO)、以上の処理を繰り返す。一方、CPU11は生成URLが生成されたと判断した場合(ステップS391でYES)、RSSリーダ155を起動する(ステップS392)。CPU11は、履歴ファイル152から生成URLに対応して記憶されたブログURLを読み出す(ステップS393)。
CPU11はRSSリーダ155を用いて、ブログURLのRSSに係るURLを取得する(ステップS394)。具体的にはCPU11はRSSリーダ155の指示により、RSSのURLの取得要求をブログサーバ4へ送信する。ブログサーバ4のCPU41は取得要求に応えて、RSSのURLをチャットサーバ1へ送信する。以降、CPU11はRSSリーダ155により、定期的にブログサーバ4へアクセスすることにより、ブログURLに係るブログの更新が有るか否かを判断する(ステップS395)。CPU11は更新がない場合(ステップS395でNO)、ステップS395の処理を繰り返し実行する。
一方、CPU11は更新があったと判断した場合(ステップS395でYES)、チャットユーザにこれを通知すべく、履歴ファイル152からステップS391における生成URLまたはステップS393におけるブログURLに対応するユーザIDを読み出す(ステップS396)。CPU11はアドレスファイル154から読み出したユーザIDに対応する電子メールアドレスを読み出す(ステップS397)。そしてCPU11はブログURL及び記憶部15に予め記憶した更新情報を含む電子メールを生成する(ステップS398)。
この更新情報は、更新があったことを喚起する文章であり、例えば「注目のブログが更新されました。」等のテキスト文であればよい。CPU11は生成した電子メールをステップS397で読み出した電子メール宛へ送信する(ステップS399)。これにより、チャットユーザは以前自身が送信したメッセージ中のブログURLに対応するブログが更新された場合、容易にこれを知ることができる。これにより、チャットユーザとブロガーとのコミュニケーションをより促進することが可能となる。
本実施の形態5は以上の如き構成としてあり、その他の構成及び作用は実施の形態1乃至4と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
実施の形態6
実施の形態6は生成URLに係るWebページの関連付けに関する。図40は実施の形態6に係る履歴ファイル152のレコードレイアウトを示す説明図である。図40の例では2008年2月28日におけるブログURL「http://blog.sample.com/eco/001234」の検出に伴い、履歴ファイル152に生成URL及び抽出されたメッセージが記憶されている。さらに次月の3月12日において、ブログURL「http://blog.sample.com/eco/001235」の検出に伴い、履歴ファイル152に生成URL及び抽出されたメッセージが記憶されている。
チャットサーバ1のCPU11は履歴ファイル152に新たな生成URLが記憶される度に、新たに記憶した一のブログURLに関連する他のブログURLを履歴ファイル152のメッセージフィールドから検出する。一のブログURLと他のブログURLとの関連性は、URLが完全に一致するか、URLのスキーム及びホスト名が完全に一致するか、URLのスキーム、または、ホスト名及び当該ホスト名の次にスラッシュ(/)で囲まれるディレクトリが完全に一致する等の場合に関連性があると判断すればよい。以下、本実施の形態においては、本例では一のブログURLと他のブログURLとの、スキーム、ホスト名及び当該ホスト名の次にスラッシュ(/)で囲まれるディレクトリが完全に一致した場合に、関連性があると判断する例につき説明する。上述の例では、スキーム「http」が同一、ホスト名「blog.sample.com」が同一、かつ、ディレクトリ「eco」が同一であることから、当該ブログURLはブロガーCの2つのブログURLであると判断する。
CPU11は一のブログURL「http://blog.sample.com/eco/001235」及びこれに対応する一の生成URL「http://chatlog.sample.com/log02.html」を履歴ファイル152から読み出し、さらに関連性ある他のブログURL「http://blog.sample.com/eco/001234」及びこれに対応する他の生成URL「http://chatlog.sample.com/log01.html」を履歴ファイル152から読み出す。CPU11はWebサーバ5へこれらの情報を送信する。またCPU11は他の生成URLに係る他のメッセージ、例えば、最初のメッセージ「現在、温暖化が問題に、・・」をこれらの情報に併せて送信する。Webサーバ5のCPU51は送信されたWebページファイル551に、一の生成URLに対応付けてこの関連ある他の生成URL及び送信された他のメッセージを記憶する。
CPU51は、一の生成URLに係るWebページを送信する場合、Webページファイル551から、メッセージに加えて、対応して記憶された他の生成URL及び他のメッセージをパーソナルコンピュータ2へ送信する。図41は一の生成URLに係るWebページのイメージを示す説明図である。図41に示す如く、関連Webページに関する情報として、他のメッセージ「現在、温暖化が問題に・・」及び他の生成URL「http://chatlog.sample.com/log01.html」が表示される。これにより、生成URLに係るWebページ間においてもリンクが成立することから、よりチャットユーザとブロガーとのコミュニケーションを活性化することが可能となる。
図42及び図43は関連付け処理の手順を示すフローチャートである。チャットサーバ1のCPU11は生成URLが新たに生成されたか否かを判断する(ステップS421)。CPU11は生成URLが生成されていないと判断した場合(ステップS421でNO)、以上の処理を繰り返す。一方、CPU11は生成URLが生成されたと判断した場合(ステップS421でYES)、履歴ファイル152から当該生成URLに対応する一のブログURLを抽出する(ステップS422)。CPU11は履歴ファイル152を参照し、一のブログURLに関連する他のブログURLが存在するか否かを判断する(ステップS423)。
CPU11は他のブログURLが存在しないと判断した場合(ステップS423でNO)、処理を終了する。一方、上述した関連性を満たす場合、相互のブログURLが完全一致する場合、または、URLの最初から記憶部15に予め記憶した所定の数文字が完全に一致する場合等により、関連する他のブログURLが存在すると判断した場合(ステップS423でYES)、CPU11はこの検出した他のブログURLに係る他の生成URLを読み出す(ステップS424)。CPU11はステップS422で抽出した一のブログURLに係る一の生成URLを読み出す(ステップS425)。
CPU11は他の生成URLに係る他のメッセージを履歴ファイル152のメッセージフィールドから読み出す(ステップS426)。CPU11は一の生成URL、他の生成URL、及び、他のメッセージをWebサーバ5へ送信する(ステップS427)。CPU51は、一の生成URL、他の生成URL、及び、他のメッセージを受信する(ステップS428)。CPU51はWebページファイル551に一の生成URLに対応付けて、一の生成URLに係るメッセージと共に、受信した他の生成URL及び他のメッセージを記憶する(ステップS429)。
CPU11は一の生成URLに係るWebページの取得要求が有ったか否かを判断する(ステップS431)。CPU51は取得要求がない場合(ステップS431でNO)、ステップS431の処理を繰り返し実行する。一方、CPU51は取得要求があったと判断した場合(ステップS431でYES)、一の生成URLに係るメッセージをWebページファイル551から読み出す(ステップS432)。またCPU51は記憶部55からテンプレートとなるHTML文書を読み出し、このHTML文書に読み出したメッセージを記述する(ステップS433)。
さらに図41に示す如く、関連する他の生成URLをWebページ内に含めるべく、他の生成URL及び他のメッセージを一の生成URLをもとに、Webページファイル551から読み出す(ステップS434)。そしてCPU51は、ステップS433でメッセージを記述したHTML文書にさらに他の生成URL及び他のメッセージを記述する(ステップS435)。CPU51はこのようにして生成されたHTML文書を一の生成URLに係るWebページの取得要求に応えて送信する(ステップS436)。
本実施の形態6は以上の如き構成としてあり、その他の構成及び作用は実施の形態1乃至5と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
実施の形態7
実施の形態7はブロガーをチャットへ招待する形態に関する。図44及び図45は招待処理の手順を示すフローチャートである。チャットサーバ1のCPU11はステップS1713等の処理によりトラックバックURLをブログサーバ4から取得したか否かを判断する(ステップS441)。CPU11はトラックバックURLを取得していないと判断した場合(ステップS441でNO)、以上の処理を繰り返す。一方、CPU11はトラックバックURLを取得したと判断した場合(ステップS441でYES)、履歴ファイル152からステップS441で取得したトラックバックURLに対応するチャットルーム名を読み出す(ステップS442)。
CPU11は記憶部15から予め記憶された招待文を読み出す(ステップS443)。招待文はチャットサーバ1へアクセスするための情報が記憶されている。例えば、招待文は、「あなたのブログが議論されています。URLはこちら。http://・・」等のテキスト文であり、チャットサーバ1のURL及びURLへ招待するための文言が含まれる。なお、チャットルーム名はステップS442で読み出したものにより、ブロガーに通知する。CPU11はトラックバックURLの取得に伴い、トラックバックURLに対応するトラックバックPing、チャットルーム名及び招待文をブログサーバ4へ送信する(ステップS444)。
ブログサーバ4のCPU41はトラックバックPing、チャットルーム名及び招待文を受信したか否かを判断する(ステップS445)。CPU41はこれら3つの情報を受信していないと判断した場合(ステップS445でNO)、ステップS445の処理を繰り返す。一方、CPU41はこれら3つの情報を受信したと判断した場合(ステップS445でYES)、トラックバックPingに対応するブログのブロガーが現在ログイン中であるか否かを判断する(ステップS446)。
CPU41は、現在ブロガーが日記の作成等によりブログサーバ4にログインしている場合(ステップS446でYES)、ブロガーコンピュータ3からブログサーバ4への何らかのリクエストを受け付けた場合に、IPアドレスを参照し、このIPアドレスに係るブロガーコンピュータ3へ、チャットルーム名及び招待文を送信する(ステップS447)。例えば、CPU41はブロガーコンピュータ3からブログページまたはWebページの取得要求を受け付けた場合、当該ブログページまたはWebページの送信に加えて、チャットルーム名及び招待文を含むHTML文書を生成し、当該生成したHTML文書からなるWebページを送信する。
これにより、ブロガーコンピュータ3のWebブラウザ351にはチャットルーム名、及びURLを含む招待文が表示される。これにより、ブロガーにチャットルームへの入室を促進することが可能となる。一方、CPU41はログイン中でないと判断した場合(ステップS446でNO)、予め記憶されたブロガーの電子メールアドレスを記憶部45から読み出す(ステップS448)。CPU41はチャットルーム名及び招待文を含む電子メールを生成する(ステップS449)。CPU41は読み出した電子メールアドレス宛へ、電子メールを送信する(ステップS451)。
本実施の形態7は以上の如き構成としてあり、その他の構成及び作用は実施の形態1乃至6と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
実施の形態8
図46は実施の形態8に係るチャットサーバ1の構成を示すブロック図である。実施の形態1乃至実施の形態7に係るチャットサーバ1を動作させるためのプログラムは、本実施の形態8のように、記録媒体読み取り装置(図示せず)にCD−ROM等の記録媒体1Aを読み取らせて記憶部15に記憶、または、通信網Nを介して接続される他のコンピュータ(図示せず)からダウンロードすることも可能である。以下に、その内容を説明する。
図46に示すチャットサーバ1は、URLを検出させ、メッセージを抽出等させるプログラムを、記録媒体1Aによりまたは通信部16を介して他のコンピュータ(図示せず)からダウンロードし、記憶部15の制御プログラム15Pとしてインストールする。かかるプログラムはRAM12にロードして実行される。これにより、上述のような本発明のチャットサーバ1として機能する。
本実施の形態8は以上の如き構成としてあり、その他の構成及び作用は実施の形態1乃至7と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
(付記1)
ブログサーバとチャットサーバとを用いた連携システムであって、
前記チャットサーバは、
外部から受信したメッセージ中にブログに係るURLを検出した場合、受信したメッセージを抽出する抽出手段と、
前記検出したURLに基づき、前記ブログサーバからトラックバックURLを取得する取得手段と、
前記抽出手段により抽出したメッセージ及びトラックバックURLを新たに生成した生成URLに対応付けて記憶部に記憶する記憶手段とを備え、
前記ブログサーバは、
前記記憶手段による前記記憶部へのトラックバックURLの記憶に基づき送信された前記生成URLを受信する受信手段
を備えることを特徴とする連携システム。
(付記2)
前記生成URLに対応してコメントを外部から受信した場合、前記記憶部に前記生成URLに対応付けて受信したコメントをさらに記憶する手段
を備えることを特徴とする付記1に記載の連携システム。
(付記3)
前記チャットサーバは、
前記抽出手段により抽出したメッセージ、該メッセージに対応する送信者識別情報、及び該メッセージに対応して生成された生成URLを記憶する履歴ファイルと、
前記記憶部に記憶した生成URLに対応するメッセージの送信要求を検出した場合、前記生成URLに対応して前記履歴ファイルに記憶されたメッセージの送信者識別情報に基づいて、ログイン状況を検出する検出手段と、
該手段により検出したログイン状況を前記生成URLに対応付けて前記記憶部に記憶する手段と
を備えることを特徴とする付記1または2に記載の連携システム。
(付記4)
受信したメッセージを外部へ送信するチャットサーバにおいて、
受信したメッセージ中のURLを検出するURL検出手段と、
該手段によりURLを検出した場合、受信したメッセージを抽出する抽出手段と、
前記URL検出手段により検出したURLに対応するトラックバックURLを取得する取得手段と、
該手段により取得したトラックバックURL及び前記抽出手段により抽出したメッセージを新たに生成した生成URLに対応付けて記憶部に記憶する手段と
を備えることを特徴とするチャットサーバ。
(付記5)
チャットサーバに用いられるプログラムにおいて、
チャットサーバに、
受信したメッセージ中のURLを検出するURL検出ステップと、
該ステップによりURLを検出した場合、受信したメッセージを抽出する抽出ステップと、
前記URL検出ステップにより検出したURLに対応するトラックバックURLを取得する取得ステップと、
該ステップにより取得したトラックバックURL及び前記抽出ステップにより抽出したメッセージを新たに生成した生成URLに対応付けて記憶部に記憶する記憶ステップと
を実行させるプログラム。
(付記6)
前記記憶部に記憶した前記生成URLを対応するトラックバックURLに基づき外部へ送信するステップ
を実行させる付記5に記載のプログラム。
(付記7)
前記抽出ステップにより抽出したメッセージ、該メッセージに対応する送信者識別情報、及び該メッセージに対応して生成された生成URLを履歴ファイルに記憶するステップと、
前記生成URLに対応するメッセージの送信要求を検出した場合、前記生成URLに対応して前記履歴ファイルに記憶されたメッセージの送信者識別情報に基づいて、ログイン状況を検出する検出ステップと、
該ステップにより検出したログイン状況を前記生成URLに対応付けて前記記憶部に記憶するステップと
を実行させる付記5に記載のプログラム。
(付記8)
前記抽出ステップにより抽出したメッセージ、該メッセージに対応する送信者識別情報、及び該メッセージに対応して生成された生成URLを履歴ファイルに記憶するステップと、
前記記憶ステップにより生成URLに対応して前記記憶部に記憶された内容が更新された場合、前記生成URLに対応して前記履歴ファイルに記憶されたメッセージの送信者識別情報を参照し前記生成URLを含む更新情報を外部へ送信するステップと
を実行させる付記5に記載のプログラム。
(付記9)
前記抽出ステップにより抽出したメッセージ、該メッセージに対応する送信者識別情報、及び該メッセージに対応して生成された生成URLを履歴ファイルに記憶するステップと、
前記生成URLに対応付けて記憶される送信者識別情報から選択された少なくとも一の代表送信者識別情報を前記生成URLに対応付けて前記履歴ファイルに記憶するステップと、
該ステップにより履歴ファイルに記憶された代表送信者識別情報に一致する送信者識別情報を受信した場合前記生成URLを、該送信者識別情報を参照して外部へ送信するステップと
を実行させる付記5に記載のプログラム。
(付記10)
前記抽出ステップにより抽出したメッセージ、該メッセージに対応する送信者識別情報、及び該メッセージに対応して生成された生成URLを履歴ファイルに記憶するステップと、
前記履歴ファイルに記憶されたメッセージ中の一のURLに関連する他のURLを検出するステップと、
該ステップにより検出した他のURLに対応する他の生成URL及び一のURLに対応する一の生成URLを前記履歴ファイルから読み出すステップと、
前記記憶部に前記一の生成URLに対応付けて前記他の生成URLを記憶するステップと
を実行させる付記5に記載のプログラム。
(付記11)
前記取得ステップにより取得したトラックバックURLに基づき、前記抽出ステップにより抽出されたメッセージが送信されたチャットルームに関する情報及び該チャットルームへの入室を促す情報を送信するステップ
を実行させる付記5に記載のプログラム。
(付記12)
ブログサーバとチャットサーバとを連携する連携方法であって、
外部から受信したメッセージ中にブログに係るURLを検出した場合、受信したメッセージを前記チャットサーバが抽出する抽出ステップと、
前記チャットサーバが前記検出したURLに基づき、前記ブログサーバからトラックバックURLを取得する取得ステップと、
前記チャットサーバが前記抽出ステップにより抽出したメッセージ及びトラックバックURLを新たに生成した生成URLに対応付けて記憶部に記憶する記憶ステップと、
前記ブログサーバが前記記憶ステップによる前記記憶部へのトラックバックURLの記憶に基づき送信された前記生成URLを受信するステップと
を備えることを特徴とする連携方法。