(57)【特許請求の範囲】
【請求項１】
複数のクライアントから入力されたメッセージを処理する装置であって、
第１のクライアントから入力された第１のメッセージと、当該第１のメッセージの少なくとも一部に対するコメントとして第２のクライアントから入力された第２のメッセージとを取得する取得部と、
前記第１のメッセージと、前記第２のメッセージと、当該第１のメッセージの前記少なくとも一部と当該第２のメッセージとをつなぐリンクとが表示されるように制御する制御部と
を含み、
前記取得部は、前記第１のメッセージの一の部分が選択されると、当該第１のメッセージの他の部分に対するコメントが既に入力されていれば、当該他の部分を通知し、当該第１のメッセージの当該一の部分及び当該他の部分に対するコメントとして入力されたメッセージを前記第２のメッセージとして取得する、装置。
【請求項２】
複数のクライアントから入力されたメッセージを処理する方法であって、
第１のクライアントから入力された第１のメッセージを取得するステップと、
前記第１のメッセージを表示するステップと、
前記第１のメッセージの少なくとも一部に対するコメントとして第２のクライアントから入力された第２のメッセージを取得するステップと、
前記第２のメッセージを表示するステップと、
前記第１のメッセージの前記少なくとも一部と前記第２のメッセージとをつなぐリンクを表示するステップと
を含み、
前記第２のメッセージを取得するステップでは、前記第１のメッセージの一の部分が選択されると、当該第１のメッセージの他の部分に対するコメントが既に入力されていれば、当該他の部分を通知し、当該第１のメッセージの当該一の部分及び当該他の部分に対するコメントとして入力されたメッセージを当該第２のメッセージとして取得する、方法。
【請求項３】
複数のクライアントから入力されたメッセージを処理する装置として、コンピュータを機能させるプログラムであって、
前記コンピュータを、
第１のクライアントから入力された第１のメッセージと、当該第１のメッセージの少なくとも一部に対するコメントとして第２のクライアントから入力された第２のメッセージとを取得する取得部と、
前記第１のメッセージと、前記第２のメッセージと、当該第１のメッセージの前記少なくとも一部と当該第２のメッセージとをつなぐリンクとが表示されるように制御する制御部と
して機能させ、
前記取得部は、前記第１のメッセージの一の部分が選択されると、当該第１のメッセージの他の部分に対するコメントが既に入力されていれば、当該他の部分を通知し、当該第１のメッセージの当該一の部分及び当該他の部分に対するコメントとして入力されたメッセージを前記第２のメッセージとして取得する、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メッセージを処理する装置及び方法に関する。特に、本発明は、複数のクライアントから入力されたメッセージを処理する装置及び方法に関する。
【背景技術】
【０００２】
近年、リアルタイムのコミュニケーションツールとしてインスタントメッセージが広く用いられるようになっている。
【０００３】
ところが、このようなインスタントメッセージでは、メッセージのつながり（コンテクスト）が分かり難い場合がある。例えば、あるメッセージが、誰のどのメッセージに対する返答なのかが分かり難いことがある。また、あるメッセージが、別のメッセージの全体に対する返答なのか一部に対する返答なのかが分かり難いこともある。更に、あるメッセージに返答した時点ではそのメッセージが見えていたとしても、インスタントメッセージの画面をスクロールするとそのメッセージが見えなくなることも、メッセージのつながりが分かり難くなることの一因である。
【０００４】
そこで、メッセージのつながりを分かり易くするために、従来から、ネットワークでの発言をスレッドに割り当てることが行われていた（例えば、特許文献１、２参照）。
【０００５】
特許文献１は、利用者からのスレッド（発言群）作成の指示及び構成ユーザの指示に基づいて、構成ユーザの発言からなるスレッドを作成し、作成されたスレッド情報は、ネットワーク内の他のユーザに通知し、ネットワーク内でスレッド情報を共有する表示制御方法及び装置において、ユーザを指定する代わりに、スレッドに含める発言を指定しても良いことを開示する。
【０００６】
特許文献２は、チャットコントローラが、チャットルームに登録された複数のチャットクライアント間で、複数のチャットラインの形態での情報の交換を提供し、スレッド管理コントローラが、チャットライン間の１以上の関連を決定し、該関連に対応する１以上のスレッドを特定し、更に、チャットラインのそれぞれを、スレッドの１つに割り当てるシステム及び方法を開示する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０００−２６７９７６号公報
【特許文献２】特表２００７−５３４０７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
このように、ネットワークでの発言をスレッドに割り当てることは、既に行われていた。
【０００９】
しかしながら、特許文献１、２の技術は、ネットワークでの発言を何れかのスレッドに振り分けるに過ぎず、あるメッセージがどのメッセージに対するコメントとして入力されたものであるかをクリアにすることはできない。
【００１０】
本発明の目的は、あるメッセージがどのメッセージに対するコメントとして入力されたものであるかをクリアにして、メッセージのつながりを分かり易くすることにある。
【課題を解決するための手段】
【００１１】
かかる目的のもと、本発明は、複数のクライアントから入力されたメッセージを処理する装置であって、第１のクライアントから入力された第１のメッセージと、第１のメッセージの少なくとも一部に対するコメントとして第２のクライアントから入力された第２のメッセージとを取得する取得部と、第１のメッセージと、第２のメッセージと、第１のメッセージの少なくとも一部と第２のメッセージとをつなぐリンクとが表示されるように制御する制御部とを含む、装置を提供する。
【００１２】
ここで、取得部は、第１のメッセージの一の部分に対するコメントとして入力されたメッセージを第２のメッセージとして取得し、更に、第１のメッセージの他の部分に対するコメントとして入力された第３のメッセージを取得し、制御部は、第１のメッセージの一の部分及び第２のメッセージの何れかを選択する操作が行われると、第１のメッセージ及び第２のメッセージが表示され、第３のメッセージが表示されないように制御する、ものであってよい。その場合、取得部は、更に、第１のメッセージの全体に対するコメントとして入力された第４のメッセージを取得し、制御部は、第１のメッセージの一の部分及び第２のメッセージの何れかを選択する操作が行われると、第４のメッセージが更に表示されるように制御する、ものであってよい。
【００１３】
また、取得部は、第１のメッセージの一の部分に対するコメントとして入力されたメッセージを第２のメッセージとして取得し、更に、第１のメッセージの他の部分に対するコメントとして入力された第３のメッセージと、第１のメッセージの全体に対するコメントとして入力された第４のメッセージとを取得し、制御部は、第１のメッセージ、第２のメッセージ及び第３のメッセージの何れかを選択する操作が行われると、第４のメッセージが表示されるように制御する、ものであってよい。
【００１４】
また、この装置は、第１のメッセージの一の部分が選択されると、第１のメッセージの他の部分に対するコメントが既に入力されていれば、他の部分を通知する通知手段を更に備え、取得部は、第１のメッセージの一の部分及び他の部分に対するコメントとして入力されたメッセージを第２のメッセージとして取得する、ものであってよい。
【００１５】
また、制御部は、リンクの一端を第１のメッセージの少なくとも一部から第５のメッセージの少なくとも一部に移動する操作が行われると、第５のメッセージの少なくとも一部と第２のメッセージとをつなぐリンクが表示されるように制御する、ものであってよい。
【００１６】
更に、制御部は、リンクの一端を第２のメッセージから第６のメッセージに移動する操作が行われると、第１のメッセージの少なくとも一部と第６のメッセージとをつなぐリンクが表示されるように制御する、ものであってよい。
【００１７】
更にまた、取得部は、第１のメッセージ及び第２のメッセージとは関係なく入力された第７のメッセージを取得し、制御部は、第７のメッセージが表示されるように制御し、第１のメッセージ及び第２のメッセージのうちの一のメッセージと第７のメッセージとを関連付ける操作が行われると、一のメッセージと第７のメッセージとをつなぐリンクが更に表示されるように制御する、ものであってよい。
【００１８】
また、本発明は、複数のクライアントから入力されたメッセージを処理する装置であって、第１のクライアントから入力された第１のメッセージと、第１のメッセージの一の部分に対するコメントとして第２のクライアントから入力された第２のメッセージと、第１のメッセージの他の部分に対するコメントとして第３のクライアントから入力された第３のメッセージとを取得する取得部と、第１のメッセージの一の部分と第２のメッセージとがリンクしていることと、第１のメッセージの他の部分と第３のメッセージとがリンクしていることとを示すリンク情報を生成する生成部と、第１のメッセージと、第２のメッセージと、第３のメッセージとが表示されるように制御し、第１のメッセージの一の部分及び第２のメッセージの何れかを選択する操作が行われると、第１のメッセージの他の部分とリンクしていることがリンク情報により示される第３のメッセージが表示されないように制御する制御部とを含む、装置も提供する。
【００１９】
更に、本発明は、複数のクライアントから入力されたメッセージを処理する方法であって、第１のクライアントから入力された第１のメッセージを取得するステップと、第１のメッセージを表示するステップと、第１のメッセージの少なくとも一部に対するコメントとして第２のクライアントから入力された第２のメッセージを取得するステップと、第２のメッセージを表示するステップと、第１のメッセージの少なくとも一部と第２のメッセージとをつなぐリンクを表示するステップとを含む、方法も提供する。
【００２０】
更にまた、本発明は、複数のクライアントから入力されたメッセージを処理する装置として、コンピュータを機能させるプログラムであって、コンピュータを、第１のクライアントから入力された第１のメッセージと、第１のメッセージの少なくとも一部に対するコメントとして第２のクライアントから入力された第２のメッセージとを取得する取得部と、第１のメッセージと、第２のメッセージと、第１のメッセージの少なくとも一部と第２のメッセージとをつなぐリンクとが表示されるように制御する制御部として機能させる、プログラムも提供する。
【発明の効果】
【００２１】
本発明によれば、あるメッセージがどのメッセージに対するコメントとして入力されたものであるかをクリアにして、メッセージのつながりを分かり易くすることができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施の形態が適用されるコンピュータシステムの全体構成例を示した図である。
【図２】一般的なインスタントメッセージによる表示の例を示した図である。
【図３】返答する対象を指定してメッセージを入力する操作の例を示した図である。
【図４】返答する対象を指定してメッセージを入力する操作を各ユーザが行った場合の表示の例を示した図である。
【図５】スレッド別の表示の例を示した図である。
【図６】リンクを付け替えるときの表示の例を示した図である。
【図７】リンクを付け替えるときの表示の例を示した図である。
【図８】本発明の実施の形態におけるクライアント及びＩＭサーバの機能構成例を示したブロック図である。
【図９】（ａ）〜（ｃ）は、メッセージ情報記憶部に記憶されるメッセージプロパティ及びリンクプロパティの例を示した図である。
【図１０】返答する対象を指定してメッセージを入力する操作を行ったときのクライアント及びＩＭサーバの動作例を示したシーケンス図である。
【図１１】サジェスト機能について説明するための図である。
【図１２】サジェスト機能について説明するための図である。
【図１３】返答する対象を指定してメッセージを入力する操作を行ったときのクライアント及びＩＭサーバの動作を拡張した動作例を示したシーケンス図である。
【図１４】スレッド別の表示を行うときのクライアント及びＩＭサーバの動作例を示したシーケンス図である。
【図１５】リンクを付け替えるときのクライアント及びＩＭサーバの動作例を示したシーケンス図である。
【図１６】本発明の実施の形態におけるクライアントのハードウェア構成例を示した図である。
【発明を実施するための形態】
【００２３】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
【００２４】
［コンピュータシステムの全体構成］
図１は、本実施の形態が適用されるコンピュータシステムの全体構成例を示した図である。図示するように、このコンピュータシステムは、クライアント１０ａ〜１０ｃと、インスタントメッセージサーバ（以下、「ＩＭサーバ」という）２０とが、ネットワーク８０を介して接続されることにより、構成されている。尚、図では、クライアント１０ａ〜１０ｃを示したが、これらを区別する必要がない場合は、クライアント１０と称する。また、図には、３つのクライアント１０しか示していないが、４つ以上のクライアント１０を設けてもよい。
【００２５】
クライアント１０は、ユーザがインスタントメッセージにより他のユーザとコミュニケーションを行う際に用いられるコンピュータ装置である。具体的には、ユーザが入力したメッセージを表示すると共にＩＭサーバ２０経由で他のクライアント１０に送信する。また、他のユーザが他のクライアント１０に入力したメッセージをＩＭサーバ２０経由で受信して表示する。ここで、クライアント１０としては、デスクトップＰＣ（Personal Computer）、ノートＰＣ、タブレットＰＣ、ウェアラブルコンピュータ、ＰＤＡ（Personal Digital Assistants）、スマートフォン、携帯電話等を用いるとよい。
【００２６】
ＩＭサーバ２０は、クライアント１０間でのコミュニケーションツールであるインスタントメッセージを動作させるコンピュータ装置である。具体的には、インスタントメッセージに参加しているクライアント１０を管理し、あるクライアント１０からメッセージを受信すると、参加している他の全てのクライアント１０に対してそのメッセージを送信する。尚、ＩＭサーバ２０は、メッセージをデータとして記憶する。以下、このデータを「メッセージデータ」と呼ぶ。ここで、ＩＭサーバ２０としては、ＰＣ等を用いるとよい。
【００２７】
ネットワーク８０は、クライアント１０とＩＭサーバ２０との間の情報通信に用いられる通信手段であり、例えば、インターネットである。
【００２８】
［本実施の形態の概要］
図２は、このような構成を有するコンピュータシステムのクライアント１０における一般的なインスタントメッセージによる表示の例を示した図である。この表示では、最初にユーザＡがメッセージＭ１を入力し、これに続けて、ユーザＢがメッセージＭ２を、ユーザＣがメッセージＭ３をそれぞれ入力し、再びユーザＡがメッセージＭ４を入力したことが示されている。また、その後、ユーザＤがメッセージＭ５を、ユーザＢがメッセージＭ６を、ユーザＣがメッセージＭ７をそれぞれ入力したことも示されている。
【００２９】
ところが、このような表示では、メッセージは入力された順に並べられているに過ぎない。従って、どのメッセージとどのメッセージとがつながっているのか、つまり、どのメッセージがどのメッセージに対する返答なのかが分かり難い。また、あるメッセージが別のメッセージのどの部分に対する返答なのかも分かり難い。
【００３０】
例えば、図２の表示例には、実際は以下のようなコンテクストがある。即ち、メッセージＭ１には、３つのインスタントメッセージソフトウェアを表すキーワード「ＩＭ１」、「ＩＭ２」、「ＩＭ３」が含まれている。そして、このうち、「ＩＭ１」について、ユーザＢがメッセージＭ２を返答し、これに対してユーザＡがメッセージＭ４を返答している。また、「ＩＭ２」について、ユーザＣがメッセージＭ３を返答し、これに対してユーザＢがメッセージＭ６を返答している。更に、「ＩＭ３」については、ユーザＣがメッセージＭ７を返答している。一方、ユーザＤは、メッセージＭ１の全体に対してメッセージＭ５を返答している。しかしながら、表示された情報からは、このようなコンテクストが見えない。
【００３１】
そこで、本実施の形態では、返答する対象を指定し、返答するメッセージとその対象とをリンクさせるようにする。
【００３２】
図３は、このように返答する対象を指定してメッセージを入力するときの操作の例を示した図である。この図では、図２でメッセージＭ１に対してユーザＢがメッセージＭ２を入力する場面のみを抜き出している。
【００３３】
まず、ユーザＢは、吹き出し３１で示すように、メッセージＭ１内のキーワード「ＩＭ１」を選択する。次に、ユーザＢは、吹き出し３２で示すように、返信ボタンをクリックする。すると、返信するメッセージを入力するための返信ウィンドウ３３が表示されるので、ユーザＢは、吹き出し３４で示すように、返信ウィンドウ３３にメッセージＭ２を入力する。その後、ユーザＢが、吹き出し３５で示すように、ＯＫボタンをクリックすると、メッセージＭ１に対するメッセージＭ２の返信が完了する。これにより、メッセージＭ１内のキーワード「ＩＭ１」とメッセージＭ２とが関連付けられ、そのことを示すリンクＬ１が表示される。ここで、このような関連付けは、例えば、後述するように、メッセージＭ１とメッセージＭ２とリンクＬ１とにタグ「ＩＭ１」を付加することにより、実現される。
【００３４】
尚、先行するメッセージに対して何らかのメッセージを入力する態様としては、返信だけでなく、例えば、先行するメッセージに同調する意見の表明等もある。これらは一般化して「コメント」と捉えることができるが、本実施の形態では、返信を例にとって説明することにする。
【００３５】
図４は、各ユーザが図２に示したメッセージを返信する際に図３に示した操作を行った場合の表示の例を示した図である。このような表示が、本実施の形態のゴールであり、返答する対象として指定されたキーワードとそのキーワードにリンクされた全てのメッセージとが表示されている。具体的には、メッセージＭ１内のキーワード又はその全体にメッセージＭ２〜Ｍ７の全てがリンクされているので、メッセージＭ１〜Ｍ７の全てが表示されている。また、メッセージＭ１内のキーワード又はその全体とメッセージＭ２〜Ｍ７との間には、図２の説明で述べたような関連があるので、そのような関連を表すリンクＬ１〜Ｌ６も表示されている。また、メッセージの全体への返答は、そのメッセージ内の返答対象として指定された全てのキーワードに対する返答と考えればよい。ここでは、第１のメッセージの一例として、メッセージＭ１を用いており、第１のメッセージの少なくとも一部に対するコメントとして入力された第２のメッセージの一例として、メッセージＭ３を用いており、第１のメッセージの少なくとも一部と第２のメッセージとをつなぐリンクの一例として、リンクＬ２を用いている。
【００３６】
また、本実施の形態において、同じ話題に関するメッセージの集まりであるスレッドは、リンクされたメッセージを辿ることで作成される。これは、例えば、関連するメッセージ及びその間のリンクに付加されたタグを辿ることにより、実現される。
【００３７】
図５は、スレッド別の表示の例を示した図である。ここでは、図４のような表示が行われた状態でユーザがメッセージＭ６を選択したときの表示を示している。このような表示は、メッセージＭ６からリンクされたキーワードを辿ることにより、実現される。或いは、メッセージＭ３、又は、メッセージＭ１，Ｍ３内のキーワード「ＩＭ２」を選択したときも同様の表示が行われる。一方で、例えばメッセージＭ２は、リンクを辿ってメッセージＭ１に辿り着くまでに現れないので、表示されない。ここでは、第１のメッセージの一の部分及び第２のメッセージの何れかを選択する操作が行われたときに表示されない第３のメッセージの一例として、メッセージＭ２を用いている。一方で、メッセージＭ５のように、メッセージＭ６からリンクされたキーワードにはつながっていないが、そのようなキーワードを含むメッセージの全体にリンクされているメッセージもある。本実施の形態では、このようなメッセージも同じスレッドに含めて表示するものとする。ここでは、第１のメッセージの全体に対するコメントとして入力され、第１のメッセージの一の部分及び第２のメッセージの何れかを選択する操作が行われたときに表示される第４のメッセージの一例として、メッセージＭ５を用いている。
【００３８】
更に、本実施の形態では、メッセージからメッセージへのリンクを付け替えることも可能とする。図６及び図７は、リンクを付け替えるときの表示の例を示した図である。
【００３９】
まず、図６に示すように、あるユーザが、メッセージＭ７内のキーワード「ＩＭ３」を返答対象としてメッセージＭ８を入力したとする。すると、メッセージＭ７内の「ＩＭ３」とメッセージＭ８との関連を表すリンクＬ７が表示される。
【００４０】
ところが、このような表示が行われた後に、そのユーザが、メッセージＭ８は「ＩＭ１」に関するメッセージなので、メッセージＭ７内の「ＩＭ３」を返答対象としたのは間違いだったと気付いたとする。この場合、そのユーザは、図７に示すように、メッセージＭ４内のキーワード「ＩＭ１」を正しい返答対象とし、リンクをつなぎ替える操作を行うことができる。このような操作により、リンクＬ７は破線で示すように非表示となり、リンクＬ８が表示されるようになる。ここでは、リンクの一端の移動元の第１のメッセージの一例として、メッセージＭ７を用いており、リンクの一端を第１のメッセージの少なくとも一部から第５のメッセージの少なくとも一部に移動する操作が行われると第５のメッセージの少なくとも一部とつなぐリンクが表示される第２のメッセージの一例として、メッセージＭ８を用いており、リンクの一端が移動してきたときに第２のメッセージとつなぐリンクが表示される第５のメッセージの一例として、メッセージＭ４を用いている。
【００４１】
尚、図６及び図７では、リンクのメッセージに接続された側を固定して、リンクのキーワードに接続された側をつなぎ替えるものとしたが、これには限らない。リンクのキーワードに接続された側を固定して、リンクのメッセージに接続された側をつなぎ替えるものとしてもよい。この場合は、例えば、リンクＬ７のメッセージ側の接続先をメッセージＭ８ではなく、その代わりのメッセージにつなぎ替えることになる。ここでは、リンクの一端が移動してきたときに第１のメッセージの少なくとも一部とつなぐリンクが表示される第６のメッセージの一例として、メッセージＭ８の代わりのメッセージを用いている。
【００４２】
［本実施の形態におけるコンピュータシステムの機能構成］
図８は、これまで述べたような概要を実現するためのクライアント１０及びＩＭサーバ２０の機能構成例を示した図である。図示するように、クライアント１０は、受信部１１と、表示情報生成部１２と、表示制御部１３と、操作受付部１４と、送信部１５とを含む。また、ＩＭサーバ２０は、メッセージ情報記憶部２１と、受信部２２と、メッセージ情報管理部２３と、送信部２４とを含む。
【００４３】
まず、クライアント１０を構成する処理部について説明する。
【００４４】
受信部１１は、メッセージ情報のセットをＩＭサーバ２０から受信する。ここで、メッセージ情報とは、メッセージデータとメッセージデータのプロパティとを含む情報である。また、受信部１１は、既に表示されたメッセージ（以下、「既表示メッセージ」という）に関連するメッセージ（以下、「関連メッセージ」という）がＩＭサーバ２０上に保存されている旨の情報をＩＭサーバ２０から受信することもある。
【００４５】
表示情報生成部１２は、受信部１１が受信したメッセージ情報のセットに基づいて、ＧＵＩを表示するための表示情報を生成する。また、関連メッセージがＩＭサーバ２０上に保存されている旨の情報を受信部１１が受信した場合は、関連メッセージを示すアイコンを表示するための表示情報を生成する。更に、操作受付部１４がユーザ操作を受け付けた場合に、そのユーザ操作に応じたＧＵＩを表示するための表示情報を生成する。例えば、ユーザ操作がメッセージ内のキーワードを選択するものである場合、そのキーワードを返信対象としてメッセージを入力するための返信ウィンドウを表示するための表示情報を生成する。また、ユーザ操作がメッセージを選択するものである場合、そのメッセージとつながった一連のメッセージのみを表示するための表示情報を生成する。更に、ユーザ操作がメッセージ間のリンクを選択するものである場合、そのメッセージの始端及び終端にドラッグ可能なアイコンを表示するための表示情報を生成し、ユーザ操作がそのアイコンをドラッグ＆ドロップするものである場合、リンクを移動するか追加するかを問い合わせるダイアログボックスを表示するための表示情報を生成する。
【００４６】
表示制御部１３は、表示情報生成部１２が生成した表示情報に基づく表示が行われるように表示機構１０ｄ（図１６参照）を制御する。
【００４７】
操作受付部１４は、表示制御部１３の制御により表示されたＧＵＩ上でのユーザ操作を受け付ける。
【００４８】
送信部１５は、操作受付部１４がユーザ操作を受け付けた場合に、そのユーザ操作に関する情報をＩＭサーバ２０に送信する。例えば、ユーザ操作が返信ウィンドウにメッセージを入力するものである場合、そのメッセージをＩＭサーバ２０に送信する。また、ユーザ操作が関連メッセージを示すアイコンを選択するものである場合、その関連メッセージを特定する情報をＩＭサーバ２０に送信し、ユーザ操作が既表示メッセージと関連メッセージとを関連付けるものである場合、それらのメッセージを関連付ける旨の情報をＩＭサーバ２０に送信する。更に、ユーザ操作がリンクを移動するか追加するかを指定するものである場合、既存のリンクの始端及び終端を示す情報（以下、「既存始端終端情報」という）と、新規のリンクの始端及び終端を示す情報（以下、「新規始端終端情報」という）と、リンクを移動するか追加するかの区分（以下、「移動追加区分」という）とをＩＭサーバ２０に送信する。
【００４９】
次に、ＩＭサーバ２０を構成する処理部及び記憶部について説明する。
【００５０】
メッセージ情報記憶部２１は、メッセージ情報を記憶する。メッセージ情報とは、上述したように、メッセージデータと、メッセージデータのプロパティとを含む情報である。メッセージデータのプロパティはメッセージプロパティとリンクプロパティとを含む。メッセージプロパティは、タグ情報等のメタデータを複数持つことができる。リンクプロパティは、メッセージのつながりを表現するものであり、これもタグ情報等のメタデータを複数持つことができる。ここで、タグ情報は、ＩＭサーバ２０上に保存されているタグへのＵＲＬであってもよい。
【００５１】
受信部２２は、ユーザ操作に関する情報をクライアント１０から受信する。例えば、ユーザ操作が返信ウィンドウにメッセージを入力するものである場合、そのメッセージをクライアント１０から受信する。また、ユーザ操作が関連メッセージを示すアイコンを選択するものである場合、その関連メッセージを特定する情報をクライアント１０から受信し、ユーザ操作が既表示メッセージと関連メッセージとを関連付けるものである場合、それらのメッセージを関連付ける旨の情報をクライアント１０から受信する。更に、ユーザ操作がリンクを移動するか追加するかを指定するものである場合、既存始端終端情報と新規始端終端情報と移動追加区分とをクライアント１０から受信する。本実施の形態では、メッセージを取得する取得部の一例として、受信部２２を設けている。
【００５２】
メッセージ情報管理部２３は、受信部２２が受信したユーザ操作に関する情報に基づいて、メッセージ情報記憶部２１に記憶されたメッセージ情報の更新を行う。例えば、ユーザ操作に関する情報が返信ウィンドウに入力されたメッセージである場合、そのメッセージのメッセージデータを追加し、そのメッセージが返信対象とするキーワードとその追加したメッセージデータとの間にリンクを設定する。また、ユーザ操作に関する情報が既表示メッセージと関連メッセージとを関連付ける旨の情報である場合、これらのメッセージのメッセージデータの間にリンクを設定する。更に、ユーザ操作に関する情報が既存始端終端情報と新規始端終端情報と移動追加区分とである場合、対象のリンクの付け替え又は追加を行う。また、メッセージ情報管理部２３は、メッセージ情報記憶部２１に記憶されたメッセージ情報の読み出しも行う。更に、メッセージ情報管理部２３は、関連メッセージがメッセージ情報記憶部２１に記憶されているかどうかの判定も行う。本実施の形態では、リンク情報を生成する生成部の一例として、メッセージ情報管理部２３を設けている。
【００５３】
送信部２４は、メッセージ情報管理部２３が読み出したメッセージ情報のセットをクライアント１０に送信する。また、送信部２４は、関連メッセージがメッセージ情報記憶部２１に記憶されているとメッセージ情報管理部２３により判定された場合に、関連メッセージがＩＭサーバ２０上に保存されている旨の情報をクライアント１０に送信する。本実施の形態では、メッセージ等が表示されるように又は表示されないように制御する制御部の一例として、送信部２４を設けている。
【００５４】
ここで、メッセージ情報記憶部２１に記憶されるメッセージプロパティ及びリンクプロパティの内容について説明する。図９（ａ）〜（ｃ）は、このようなメッセージプロパティ及びリンクプロパティの例を示した図である。この図では、図４のメッセージＭ１及びメッセージＭ２について示している。
【００５５】
図９（ａ）は、メッセージＭ１のメッセージプロパティの一部のリンクに関する部分である。図示するように、メッセージプロパティは、リンクとして、メッセージＭ１につながるリンクＬ１，Ｌ２，Ｌ４，Ｌ６を保持し、タグ情報として、キーワード「ＩＭ１」、「ＩＭ２」、「ＩＭ３」を保持している。
【００５６】
図９（ｂ）は、メッセージＭ１につながるリンクＬ１のリンクプロパティの一部である。図示するように、リンクプロパティは、リンク先メッセージとして、リンクＬ１のリンク先であるメッセージＭ２を保持し、リンク元キーワード及びタグ情報として、メッセージＭ２の返答対象として指定されたキーワード「ＩＭ１」を保持している。本実施の形態では、リンク情報の一例として、リンクプロパティを用いている。
【００５７】
図９（ｃ）は、メッセージＭ２のメッセージプロパティの一部のリンクに関する部分である。図示するように、メッセージプロパティは、リンクとして、メッセージＭ２につながっているリンクＬ３を保持し、タグ情報として、メッセージＭ２の返答対象として指定されたキーワード「ＩＭ１」を保持している。
【００５８】
［本実施の形態におけるコンピュータシステムの動作］
図１０は、図３及び図４に示した概要を実現する際のクライアント１０及びＩＭサーバ２０の動作例を示したシーケンス図である。この動作は、例えば、ユーザがクライアント１０からＩＭサーバ２０へインスタントメッセージの開始要求を送った時に開始するものとする。
【００５９】
図１０に示すように、ＩＭサーバ２０では、まず、メッセージ情報管理部２３が、メッセージ情報記憶部２１からメッセージ情報のセットを読み出し、送信部２４が、これをクライアント１０に送信する（ステップ２０１）。ここで、メッセージ情報管理部２３は、メッセージ情報記憶部２１から、例えば、ユーザにより明示的に指定されたセッションに関するメッセージ情報のセットを読み出せばよい。或いは、ユーザが招待されたセッション、ユーザが参加申請したセッション、注目タグを含むセッション等のユーザに関連するセッションを判断して、そのセッションに関するメッセージ情報のセットを読み出してもよい。
【００６０】
これにより、クライアント１０では、受信部１１が、ＩＭサーバ２０からメッセージ情報のセットを受信する（ステップ１０１）。そして、表示情報生成部１２が、メッセージ情報のセットに基づいてＧＵＩを表示するための表示情報を生成し、表示制御部１３が、表示情報に基づく表示が行われるように表示機構１０ｄ（図１６参照）を制御する（ステップ１０２）。具体的には、表示情報生成部１２は、メッセージ情報に含まれるメッセージデータに基づいて、ＧＵＩのメッセージの部分を生成する。また、メッセージ情報に含まれるメッセージプロパティ及びリンクプロパティに基づいて、ＧＵＩのリンクの部分を生成する。そして、表示制御部１３は、メッセージのセット及びメッセージ間のリンクを含むＧＵＩが表示されるように制御する。
【００６１】
この状態で、ユーザが返信対象とするメッセージ内のキーワードを選択する操作を行うと、操作受付部１４が、その操作を受け付ける（ステップ１０３）。このとき、ユーザは返信対象のキーワードを複数選択することもできる。また、返信のサジェスト機能によりサジェストされたキーワードを選択してもよい。ここで、返信のサジェスト機能とは、例えば、既に存在するタグ情報に対応するキーワードを選択候補として表示する機能である。
【００６２】
具体的には、図１１に示すように、メッセージＭ１が表示された状態で、ユーザが、吹き出し４１で示すように、メッセージＭ１内のキーワード「ＩＭ１」を選択し、吹き出し４２で示すように、返信ボタンをクリックしたとする。すると、キーワード「ＩＭ３」を返信対象として既に入力されたメッセージが存在することを通知する通知ウィンドウ４３が表示される。尚、この例では、通知ウィンドウ４３を、キーワード「ＩＭ３」を起点とする吹き出し形状のウィンドウとしたが、キーワード「ＩＭ３」にリンクされた四角形のウィンドウ等、如何なるＵＩとしてもよい。また、通知ウィンドウ４３内には、必須ではないが、既に存在するメッセージのスレッドを表示してもよい。この状態で、ユーザは、吹き出し４４で示すように、ＯＫボタンをクリックすることで、既存の返答箇所へ同時に返答することをシステムに通知する。或いは、複数の既存の返答箇所に対して同様のアクションをとることで、複数の既存の返答箇所へ同時に返答することを通知してもよい。
【００６３】
すると、図１２に示すように、選択された既存のメッセージＭ７とそこまでのリンクＬ６とが表示される。また、このとき、必須ではないが、メッセージＭ７のスレッドを表示してもよい。更に、返信するメッセージを入力するための返信ウィンドウ４５が表示されるので、ユーザは、吹き出し４６で示すように、返信ウィンドウ４５に、キーワード「ＩＭ１」、「ＩＭ３」に対するメッセージＭ９を入力する。その後、ユーザが、吹き出し４７で示すように、ＯＫボタンをクリックすると、メッセージＭ１に対するメッセージＭ９の返信が完了する。これにより、メッセージＭ１内のキーワード「ＩＭ１」、「ＩＭ３」とメッセージＭ９とが関連付けられ、そのことを示すリンクＬ９が表示される。ここで、このような関連付けは、例えば、メッセージＭ１にタグ「ＩＭ１」を追加し、メッセージＭ９とリンクＬ９とにタグ「ＩＭ１」、「ＩＭ３」を付加することにより、実現される。このとき、リンクＬ９には、最初に選択された箇所へのリンクだけでなく、サジェスト機能で選択された箇所へのリンクも含まれる。また、最終的に関連する返答メッセージが全て表示されるようにしてもよい。
【００６４】
再び図１０を参照してクライアント１０及びＩＭサーバ２０の動作例の説明を続ける。ステップ１０３でメッセージ内のキーワードを選択する操作を受け付けると、操作受付部１４は、選択されたキーワードを保持しておく。その後、表示情報生成部１２が、返信ウィンドウを表示するための表示情報を生成し、表示制御部１３が、表示情報に基づく表示が行われるように表示機構１０ｄ（図１６参照）を制御する（ステップ１０４）。
【００６５】
これに応答して、ユーザが返信するメッセージを入力する操作を行うと、操作受付部１４が、その操作を受け付ける（ステップ１０５）。すると、送信部１５が、ここで操作受付部１４が受け付けたメッセージと、先に操作受付部１４が保持していたキーワードとを、ＩＭサーバ２０に送信する（ステップ１０６）。
【００６６】
これにより、ＩＭサーバ２０では、受信部２２が、クライアント１０からメッセージ及びキーワードを受信する（ステップ２０２）。そして、メッセージ情報管理部２３が、受信したメッセージのメッセージデータを作成してメッセージ情報記憶部２１に記憶する（ステップ２０３）。また、メッセージ情報管理部２３は、ステップ２０３で作成したメッセージデータにメッセージプロパティを設定してメッセージ情報記憶部２１に記憶する（ステップ２０４）。具体的には、ステップ２０３で作成したメッセージデータのメッセージプロパティを作成し、ステップ１０３で選択されたキーワードをタグ情報として設定し、これをメッセージ情報記憶部２１に記憶する。更に、メッセージ情報管理部２３は、ステップ１０３で返信対象としたメッセージのメッセージデータと、ステップ２０３で作成されたメッセージデータとの間にリンクを設定し、そのリンクの情報をメッセージ情報記憶部２１に記憶する（ステップ２０５）。具体的には、ステップ１０３で返信対象としたメッセージのメッセージプロパティに、この２つのメッセージ間のリンクを設定し、ステップ１０３で選択されたキーワードをタグ情報として設定する。また、この設定したリンクのリンクプロパティを作成し、ステップ２０３で作成したメッセージデータを特定する情報をリンク先メッセージとして設定し、ステップ１０３で選択されたキーワードをリンク元キーワード及びタグ情報として設定し、これをメッセージ情報記憶部２１に記憶する。
【００６７】
その後、送信部２４が、このセッションに関係する他の全てのクライアント１０へメッセージ情報が更新された旨を通知する（ステップ２０６）。
【００６８】
そして、この動作は、例えば、ユーザがクライアント１０からＩＭサーバ２０へインスタントメッセージの終了要求を送ると終了する。
【００６９】
尚、この動作例において、ステップ１０５で入力された返信メッセージと、返信対象メッセージと返信メッセージとの間のリンクとを、自クライアント１０に表示されたＧＵＩに反映させる方法としては、２つの方法が考えられる。
【００７０】
第１の方法は、ステップ２０６の後にＩＭサーバ２０から更新後のメッセージ情報を受信し、この更新後のメッセージ情報に基づいて、自クライアント１０に表示されたＧＵＩに返信メッセージ及びリンクを反映させる方法である。
【００７１】
第２の方法は、ＩＭサーバ２０でメッセージ情報を更新するのと並行して、ステップ１０１で受信して保持していたメッセージ情報を表示情報生成部１２が更新し、この表示情報生成部１２による更新後のメッセージ情報に基づいて、自クライアント１０に表示されたＧＵＩに返信メッセージ及びリンクを反映させる方法である。
【００７２】
図１３は、図１０に示したクライアント１０及びＩＭサーバ２０の動作を拡張した動作例を示したシーケンス図である。図１０のステップ２０３〜２０５でメッセージ情報が更新された後に、以下の動作を行ってもよい。
【００７３】
即ち、図１３に示すように、ＩＭサーバ２０では、メッセージ情報管理部２３が、図１０の動作の結果としてクライアント１０に表示された返信メッセージのメッセージデータに関連するメッセージデータのセットがメッセージ情報記憶部２１に記憶されているかどうかを判断し、関連するメッセージデータのセットがあると判断されれば、送信部２４が、その旨をクライアント１０に送信する（ステップ２２１）。例えば、ステップ２０３で記憶されたメッセージデータのメッセージプロパティに含まれるタグ情報と、全く別のユーザ同士が交換しているメッセージデータのメッセージプロパティに含まれるタグ情報とが、文字列として一致する場合に、これらのメッセージデータを、関連するメッセージデータとすればよい。
【００７４】
これにより、クライアント１０では、受信部１１が、関連するメッセージデータのセットがある旨の情報をＩＭサーバ２０から受信する（ステップ１２１）。そして、表示情報生成部１２が、その旨をアイコン等で示したＧＵＩを表示するための表示情報を生成し、表示制御部１３が、表示情報に基づく表示が行われるように表示機構１０ｄ（図１６参照）を制御する（ステップ１２２）。ここで、アイコン等は、ユーザ別、地域別、時間別等に分けて複数表示してもよい。また、アイコン等としたが、アイコン等で表現される視覚的な合図等であれば如何なる表示オブジェクトを表示してもよい。
【００７５】
これに応答して、ユーザがアイコンを選択する操作を行うと、操作受付部１４が、その操作を受け付ける（ステップ１２３）。すると、送信部１５が、アイコンを選択する操作が行われた旨をＩＭサーバ２０に送信する（ステップ１２４）。
【００７６】
これにより、ＩＭサーバ２０では、受信部２２が、アイコンを選択する操作が行われた旨を受信する（ステップ２２２）。すると、メッセージ情報管理部２３が、メッセージ情報記憶部２１から、ステップ１２３で選択されたアイコンで示される関連メッセージに関するメッセージ情報のセットを読み出し、送信部２４が、これをクライアント１０に送信する（ステップ２２３）。
【００７７】
これにより、クライアント１０では、受信部１１が、ＩＭサーバ２０から関連メッセージに関するメッセージ情報のセットを受信する（ステップ１２５）。そして、表示情報生成部１２が、関連メッセージに関するメッセージ情報のセットに基づいてＧＵＩを表示するための表示情報を生成し、表示制御部１３が、表示情報に基づく表示が行われるように表示機構１０ｄ（図１６参照）を制御する（ステップ１２６）。具体的には、表示情報生成部１２は、メッセージ情報に含まれるメッセージデータに基づいて、ＧＵＩのメッセージの部分を生成する。また、メッセージ情報に含まれるメッセージプロパティ及びリンクプロパティに基づいて、ＧＵＩのリンクの部分を生成する。そして、表示制御部１３は、メッセージのセット及びメッセージ間のリンクを含むＧＵＩが表示されるように制御する。ここで、関連メッセージは、第１のメッセージ及び第２のメッセージとは関係なく入力された第７のメッセージの一例である。
【００７８】
これに応答して、ステップ１２６で表示された関連メッセージと、既に表示されていた返信メッセージ（既表示メッセージ）とを関連付ける操作をユーザが行うと、操作受付部１４が、その操作を受け付ける（ステップ１２７）。すると、送信部１５が、メッセージを関連付ける操作が行われた旨をＩＭサーバ２０に送信する（ステップ１２８）。
【００７９】
これにより、ＩＭサーバ２０では、受信部２２が、メッセージを関連付ける操作が行われた旨を受信する（ステップ２２４）。すると、メッセージ情報管理部２３が、関連メッセージのメッセージデータと既表示メッセージのメッセージデータとの間にリンクを設定する（ステップ２２５）。具体的には、既表示メッセージのメッセージプロパティに、この２つのメッセージ間のリンクを設定し、関連メッセージのメッセージプロパティに設定されているタグ情報を設定する。また、関連メッセージのメッセージプロパティに、この２つのメッセージ間のリンクを設定し、既表示メッセージのメッセージプロパティに設定されているタグ情報を設定する。更に、この設定したリンクのリンクプロパティを作成し、関連メッセージをリンク先メッセージとして設定し、既表示メッセージのタグ情報のうち関連メッセージのタグ情報でもあるものをリンク元キーワード及びタグ情報として設定し、これをメッセージ情報記憶部２１に記憶する。
【００８０】
その後、送信部２４が、このセッションに関係する他の全てのクライアント１０及び関連するメッセージの交換を行っている全てのクライアント１０へメッセージ情報が更新された旨を通知する（ステップ２２６）。これにより、関連するメッセージの交換を行っているクライアント１０にもメッセージのセットが表示される。尚、メッセージのセットはアイコン等で省略表示され、ユーザの明示の指示により詳細表示されるようにしてもよい。
【００８１】
尚、この動作例において、関連メッセージと既表示メッセージとの間のリンクを、自クライアント１０に表示されたＧＵＩに反映させる方法としては、２つの方法が考えられる。
【００８２】
第１の方法は、ステップ２２６の後にＩＭサーバ２０から更新後のメッセージ情報を受信し、この更新後のメッセージ情報に基づいて、自クライアント１０に表示されたＧＵＩに返信メッセージ及びリンクを反映させる方法である。
【００８３】
第２の方法は、ＩＭサーバ２０でメッセージ情報を更新するのと並行して、ステップ１２５で受信して保持していたメッセージ情報を表示情報生成部１２が更新し、この表示情報生成部１２による更新後のメッセージ情報に基づいて、自クライアント１０に表示されたＧＵＩに返信メッセージ及びリンクを反映させる方法である。
【００８４】
図１４は、図５に示した概要を実現する際のクライアント１０及びＩＭサーバ２０の動作例を示したシーケンス図である。この動作も、例えば、ユーザがクライアント１０からＩＭサーバ２０へインスタントメッセージの開始要求を送った時に開始するものとする。
【００８５】
図１４に示すように、ＩＭサーバ２０では、まず、メッセージ情報管理部２３が、メッセージ情報記憶部２１からメッセージ情報のセットを読み出し、送信部２４が、これをクライアント１０に送信する（ステップ２４１）。
【００８６】
これにより、クライアント１０では、受信部１１が、ＩＭサーバ２０からメッセージ情報のセットを受信する（ステップ１４１）。そして、表示情報生成部１２が、メッセージ情報のセットに基づいてＧＵＩを表示するための表示情報を生成し、表示制御部１３が、表示情報に基づく表示が行われるように表示機構１０ｄ（図１６参照）を制御する（ステップ１４２）。具体的には、表示情報生成部１２は、メッセージ情報に含まれるメッセージデータに基づいて、ＧＵＩのメッセージの部分を生成する。また、メッセージ情報に含まれるメッセージプロパティ及びリンクプロパティに基づいて、ＧＵＩのリンクの部分を生成する。そして、表示制御部１３は、メッセージのセット及びメッセージ間のリンクを含むＧＵＩが表示されるように制御する。
【００８７】
この状態で、ユーザがメッセージを選択する操作を行うと、操作受付部１４が、その操作を受け付ける（ステップ１４３）。すると、表示情報生成部１２が、ステップ１４１で受信したメッセージ情報において、リンクを辿ることにより、一連のメッセージを抽出する（ステップ１４４）。具体的には、ステップ１４３で選択されたメッセージに対応するメッセージプロパティに設定されたのと同じタグ情報が設定されたメッセージプロパティ及びリンクプロパティに対応するメッセージ及びリンクを抽出すればよい。そして、表示情報生成部１２が、抽出された一連のメッセージのみを表示し、他のメッセージを非表示とするための表示情報を生成し、表示制御部１３が、表示情報に基づく表示が行われるように表示機構１０ｄ（図１６参照）を制御する（ステップ１４５）。
【００８８】
尚、この動作例では、リンクを辿ることにより一連のメッセージを抽出する処理を、クライアント１０で行うようにしたが、ＩＭサーバ２０で行うようにしてもよい。その場合、クライアント１０及びＩＭサーバ２０は以下のような動作を行うことになる。即ち、クライアント１０では、操作受付部１４が、ユーザがメッセージを選択する操作を受け付け、送信部１５が、メッセージを選択する操作が行われた旨をＩＭサーバ２０に送信する。これにより、ＩＭサーバ２０では、受信部２２が、メッセージを選択する操作が行われた旨をクライアント１０から受信し、メッセージ情報管理部２３が、メッセージ情報記憶部２１に記憶されたメッセージ情報において、リンクを辿ることにより、一連のメッセージを抽出し、送信部２４が、抽出された一連のメッセージをクライアント１０に送信する。これにより、クライアント１０では、受信部１１が、抽出された一連のメッセージをＩＭサーバ２０から受信し、表示情報生成部１２が、抽出された一連のメッセージのみを表示して他のメッセージを非表示とするための表示情報を生成し、表示制御部１３が、表示情報に基づく表示が行われるように表示機構１０ｄ（図１６参照）を制御する。
【００８９】
図１５は、図６及び図７に示した概要を実現する際のクライアント１０及びＩＭサーバ２０の動作例を示したシーケンス図である。この動作も、例えば、ユーザがクライアント１０からＩＭサーバ２０へインスタントメッセージの開始要求を送った時に開始するものとする。尚、ここでは、リンクのキーワードにつながっている方の端部を「始端」と呼び、リンクのメッセージにつながっている方の端部を「終端」と呼ぶことにする。
【００９０】
図１５に示すように、ＩＭサーバ２０では、まず、メッセージ情報管理部２３が、メッセージ情報記憶部２１からメッセージ情報のセットを読み出し、送信部２４が、これをクライアント１０に送信する（ステップ２６１）。
【００９１】
これにより、クライアント１０では、受信部１１が、ＩＭサーバ２０からメッセージ情報のセットを受信する（ステップ１６１）。そして、表示情報生成部１２が、メッセージ情報のセットに基づいてＧＵＩを表示するための表示情報を生成し、表示制御部１３が、表示情報に基づく表示が行われるように表示機構１０ｄ（図１６参照）を制御する（ステップ１６２）。具体的には、表示情報生成部１２は、メッセージ情報に含まれるメッセージデータに基づいて、ＧＵＩのメッセージの部分を生成する。また、メッセージ情報に含まれるメッセージプロパティ及びリンクプロパティに基づいて、ＧＵＩのリンクの部分を生成する。そして、表示制御部１３は、メッセージのセット及びメッセージ間のリンクを含むＧＵＩが表示されるように制御する。
【００９２】
この状態で、ユーザがメッセージ間のリンクを選択する操作を行うと、操作受付部１４が、その操作を受け付ける（ステップ１６３）。このとき、操作受付部１４は、選択されたリンクの始端のキーワードと終端のメッセージとを含む既存始端終端情報を保持しておく。その後、表示情報生成部１２が、リンクの始端及び終端にドラッグ可能なアイコンを表示するための表示情報を生成し、表示制御部１３が、表示情報に基づく表示が行われるように表示機構１０ｄ（図１６参照）を制御する（ステップ１６４）。
【００９３】
これに応答して、ユーザがアイコンを既表示のメッセージにドラッグ＆ドロップする操作を行うと、操作受付部１４が、その操作を受け付ける（ステップ１６５）。このとき、操作受付部１４は、リンクの始端のアイコンがドラッグ＆ドロップされれば、リンクの始端のキーワードとしてドラッグ＆ドロップ先のキーワードを含み、リンクの終端のメッセージとしてドラッグ＆ドロップ前と同じメッセージを含む新規始端終端情報を保持しておく。また、リンクの終端のアイコンがドラッグ＆ドロップされれば、リンクの始端のキーワードとしてドラッグ＆ドロップ前と同じキーワードを含み、リンクの終端のメッセージとしてドラッグ＆ドロップ先のメッセージを含む新規始端終端情報を保持しておく。その後、表示情報生成部１２が、リンクを移動するか追加するかを質問するダイアログボックスを表示するための表示情報を生成し、表示制御部１３が、表示情報に基づく表示が行われるように表示機構１０ｄ（図１６参照）を制御する（ステップ１６６）。
【００９４】
これに応答して、ユーザがリンクを移動するか追加するかを選択する操作を行うと、操作受付部１４が、その操作を受け付ける（ステップ１６７）。すると、送信部１５が、操作受付部１４が先に保持していた既存始端終端情報及び新規始端終端情報と、ここで操作受付部１４が受け付けた移動か追加かを識別する移動追加区分とをＩＭサーバ２０に送信する（ステップ１６８）。
【００９５】
これにより、ＩＭサーバ２０では、受信部２２が、既存始端終端情報と新規始端終端情報と移動追加区分とを受信する（ステップ２６２）。すると、メッセージ情報管理部２３が、対象となるメッセージ間のリンクの付け替え又は追加を行う（ステップ２６３）。具体的には、新規始端終端情報で示されるリンクのリンクプロパティを作成し、リンクプロパティに、新規始端終端情報に含まれる終端のメッセージをリンク先メッセージとして設定し、新規始端終端情報に含まれる始端のキーワードをリンク元キーワード及びタグ情報として設定し、これをメッセージ情報記憶部２１に記憶する。また、始端側のメッセージのメッセージプロパティに、この設定されたリンクを設定する。更に、終端側のメッセージのメッセージプロパティに、始端側のメッセージのメッセージプロパティに設定されているタグ情報を設定する。移動追加区分が追加を示していれば、処理はここまでであるが、移動追加区分が移動を示していれば、既存のリンクの削除も行う。即ち、既存始端終端情報で示されるリンクのリンクプロパティを削除する。また、始端側のメッセージのメッセージプロパティから、この削除されたリンクを削除する。更に、終端側のメッセージのメッセージプロパティから、始端側のメッセージのメッセージプロパティに設定されているタグ情報を削除する。
【００９６】
その後、送信部２４が、このセッションに関係する他の全てのクライアント１０にメッセージ情報が更新された旨を通知する（ステップ２６４）。
【００９７】
尚、この動作例において、メッセージの付け替え又は追加を、自クライアント１０に表示されたＧＵＩに反映させる方法としては、２つの方法が考えられる。
【００９８】
第１の方法は、ステップ２６４の後にＩＭサーバ２０から更新後のメッセージ情報を受信し、この更新後のメッセージ情報に基づいて、自クライアント１０に表示されたＧＵＩにメッセージの付け替え又は追加を反映させる方法である。
【００９９】
第２の方法は、ＩＭサーバ２０でメッセージ情報を更新するのと並行して、ステップ１６８で送信した既存始端終端情報と新規始端終端情報と移動追加区分とに基づいて、自クライアント１０に表示されたＧＵＩにメッセージの付け替え又は追加を反映させる方法である。
【０１００】
即ち、本実施の形態では、ＩＭサーバ２０がメッセージ情報を一元管理し、ＩＭサーバ２０がこれを更新する構成を主に想定したが、この限りではない。各動作例のバリエーションとして示したように、クライアント１０がＩＭサーバ２０からメッセージ情報を受信し、クライアント１０がこれを更新する構成を採用してもよい。この場合は、受信部１１が、メッセージを取得する取得部の一例として機能し、表示情報生成部１２が、リンク情報を生成する生成部の一例として機能し、表示制御部１３が、メッセージ等が表示されるように又は表示されないように制御する制御部の一例として機能することになる。
【０１０１】
以上述べたように、本実施の形態では、返信対象のキーワードと返信するメッセージとを結び付けてグラフィカルに表示するようにした。これにより、インスタントメッセージにおけるメッセージのつながりを明らかにすることが可能となった。
【０１０２】
また、本実施の形態では、メッセージをスレッドごとに表示したり非表示としたりする機能を設けた。これにより、ユーザが興味のあるスレッドのみを表示することが可能となった。
【０１０３】
更に、本実施の形態では、メッセージ間のリンクのつながり先を変更する機能を設けた。これにより、メッセージのスレッドを後から作成し、一連のメッセージに意味付けを行うことが可能になった。
【０１０４】
［本実施の形態を適用可能なコンピュータのハードウェア構成］
図１６は、本実施の形態におけるクライアント１０のハードウェア構成例を示した図である。図示するように、クライアント１０は、演算手段であるＣＰＵ（Central Processing Unit）１０ａと、Ｍ／Ｂ（マザーボード）チップセット１０ｂを介してＣＰＵ１０ａに接続されたメインメモリ１０ｃと、同じくＭ／Ｂチップセット１０ｂを介してＣＰＵ１０ａに接続された表示機構１０ｄとを備える。また、Ｍ／Ｂチップセット１０ｂには、ブリッジ回路１０ｅを介して、ネットワークインターフェイス１０ｆと、磁気ディスク装置（ＨＤＤ）１０ｇと、音声機構１０ｈと、キーボード／マウス１０ｉと、光学ドライブ１０ｊとが接続されている。
【０１０５】
尚、図１６において、各構成要素は、バスを介して接続される。例えば、ＣＰＵ１０ａとＭ／Ｂチップセット１０ｂの間や、Ｍ／Ｂチップセット１０ｂとメインメモリ１０ｃの間は、ＣＰＵバスを介して接続される。また、Ｍ／Ｂチップセット１０ｂと表示機構１０ｄとの間は、ＡＧＰ（Accelerated Graphics Port）を介して接続されてもよいが、表示機構１０ｄがＰＣＩ Ｅｘｐｒｅｓｓ対応のビデオカードを含む場合、Ｍ／Ｂチップセット１０ｂとこのビデオカードの間は、ＰＣＩ Ｅｘｐｒｅｓｓ（ＰＣＩｅ）バスを介して接続される。また、ブリッジ回路１０ｅと接続する場合、ネットワークインターフェイス１０ｆについては、例えば、ＰＣＩ Ｅｘｐｒｅｓｓを用いることができる。また、磁気ディスク装置１０ｇについては、例えば、シリアルＡＴＡ（AT Attachment）、パラレル転送のＡＴＡ、ＰＣＩ（Peripheral Components Interconnect）を用いることができる。更に、キーボード／マウス１０ｉ、及び、光学ドライブ１０ｊについては、ＵＳＢ（Universal Serial Bus）を用いることができる。
【０１０６】
また、図１６は、クライアント１０のハードウェア構成例を示すものとしたが、ＩＭサーバ２０のハードウェア構成例を示すものと捉えてもよい。
【０１０７】
ここで、本発明は、全てハードウェアで実現してもよいし、全てソフトウェアで実現してもよい。また、ハードウェア及びソフトウェアの両方により実現することも可能である。また、本発明は、コンピュータ、データ処理システム、コンピュータプログラムとして実現することができる。このコンピュータプログラムは、コンピュータにより読取り可能な媒体に記憶され、提供され得る。ここで、媒体としては、電子的、磁気的、光学的、電磁的、赤外線又は半導体システム（装置又は機器）、或いは、伝搬媒体が考えられる。また、コンピュータにより読取り可能な媒体としては、半導体、ソリッドステート記憶装置、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、リジッド磁気ディスク、及び光ディスクが例示される。現時点における光ディスクの例には、コンパクトディスク−リードオンリーメモリ（ＣＤ−ＲＯＭ）、コンパクトディスク−リード／ライト（ＣＤ−Ｒ／Ｗ）及びＤＶＤが含まれる。
【０１０８】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態には限定されない。本発明の精神及び範囲から逸脱することなく様々に変更したり代替態様を採用したりすることが可能なことは、当業者に明らかである。
【符号の説明】
【０１０９】
１０…クライアント、１１…受信部、１２…表示情報生成部、１３…表示制御部、１４…操作受付部、１５…送信部、２０…ＩＭサーバ、２１…メッセージ情報記憶部、２２…受信部、２３…メッセージ情報管理部、２４…送信部
【図１】
0005995220.tif 000002
【図２】
0005995220.tif 000003
【図３】
0005995220.tif 000004
【図４】
0005995220.tif 000005
【図５】
0005995220.tif 000006
【図６】
0005995220.tif 000007
【図７】
0005995220.tif 000008
【図８】
0005995220.tif 000009
【図９】
0005995220.tif 000010
【図１０】
0005995220.tif 000011
【図１１】
0005995220.tif 000012
【図１２】
0005995220.tif 000013
【図１３】
0005995220.tif 000014
【図１４】
0005995220.tif 000015
【図１５】
0005995220.tif 000016
【図１６】
0005995220.tif 000017