(57)【要約】【課題】  利用者の状態の自動更新により、コミュニケーションの意思を持つことを支援し、利用者に対しコミュニケーションを開始する機会を与える。【解決手段】  利用者の作業内容、スケジュール、位置情報、関連する人などから、現在の作業の目的となっているタスクを識別し、それを状態として他の利用者に通知する。または、同様の情報から、利用者が割り込み可能な状態にあるか否かを判別し、それを他の利用者に通知する。各利用者が他の利用者がどのタスクに関する作業を行なっているか、割り込み可能な状態にあるか否かを知り、その利用者とのコミュニケーションを開始するきっかけを得ることができる。【選択図】  図１
2005267437.tif 000002
【特許請求の範囲】
【請求項１】
相手の状態に応じたメッセージ交換を行なう情報処理システムであって、
ユーザ間のメッセージの監視によりステータスを判断するステータス制御手段と、
各ユーザに対するメッセージ通知を監視し、該監視結果に基づいてユーザの状態変更の必要性を判断するメッセージ制御手段と、
を具備することを特徴とする情報処理システム。
【請求項２】
前記ステータス制御手段は、ユーザの現在の作業の目的となっているタスクの識別に基づいてステータスを判断する、
ことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記ステータス制御手段は、ユーザが作業に用いているドキュメントのタイトル、内容、保管場所、作成者、作成日時やその他のドキュメントに付随している情報、又はユーザが使用する情報機器に入力されているスケジュール、又はユーザの位置情報、又はユーザが共同で作業を行なっている人物から判別されるタスクの種別に基づいてステータスを判断する、
ことを特徴とする請求項２に記載の情報処理システム。
【請求項４】
前記ステータス制御手段は、ユーザのコンテキスト情報から判別される、当該ユーザが現在割り込み可能であるか否かを表す状態に基づいてステータスを判断する、
ことを特徴とする請求項１に記載の情報処理システム。
【請求項５】
前記ステータス制御手段は、ユーザが使用する情報機器に入力されているスケジュール、又はユーザの位置情報、又はユーザが現在行なっている作業の内容を表す情報に基づいてステータスを判断する、
ことを特徴とする請求項４に記載の情報処理システム。
【請求項６】
前記メッセージ制御手段は、状態変更が必要なユーザに対するメッセージ通知を行なう、
ことを特徴とする請求項１に記載の情報処理システム。
【請求項７】
前記メッセージ制御手段は、ユーザの状態変更が必要であると判断したことに応じて、当該ユーザの状態を自動変更する、
ことを特徴とする請求項１に記載の情報処理システム。
【請求項８】
スケジューラが実行される環境下において、前記メッセージ制御手段は、スケジューラの内容に基づいてユーザの状態を判断する、
ことを特徴とする請求項１に記載の情報処理システム。
【請求項９】
前記メッセージ制御手段は、アクセス元とアクセス先を保持し、同じユーザのステータスをログインしているユーザ毎に切り替え制御する、
ことを特徴とする請求項１に記載の情報処理システム。
【請求項１０】
ユーザは複数のステータスを持つことが許容され、ユーザ・グループ毎にステータスを設定することができる場合において、前記メッセージ制御手段は、ステータス間の関連をあらかじめ保管しておき、あるグループに提示するステータスを変更したことに応答して、その他のグループに提示するステータスを変更する制御を行なう、
ことを特徴とする請求項１に記載の情報処理システム。
【請求項１１】
相手の状態に応じたメッセージ交換を行なうための情報処理方法であって、
ユーザ間のメッセージの監視によりステータスを判断するステータス制御ステップと、
各ユーザに対するメッセージ通知を監視し、該監視結果に基づいてユーザの状態変更の必要性を判断するメッセージ制御ステップと、
を具備することを特徴とする情報処理方法。
【請求項１２】
前記ステータス制御ステップでは、ユーザの現在の作業の目的となっているタスクの識別に基づいてステータスを判断する、
ことを特徴とする請求項１１に記載の情報処理方法。
【請求項１３】
前記ステータス制御ステップでは、ユーザが作業に用いているドキュメントのタイトル、内容、保管場所、作成者、作成日時やその他のドキュメントに付随している情報、又はユーザが使用する情報機器に入力されているスケジュール、又はユーザの位置情報、又はユーザが共同で作業を行なっている人物から判別されるタスクの種別に基づいてステータスを判断する、
ことを特徴とする請求項１２に記載の情報処理方法。
【請求項１４】
前記ステータス制御ステップでは、ユーザのコンテキスト情報から判別される、当該ユーザが現在割り込み可能であるか否かを表す状態に基づいてステータスを判断する、
ことを特徴とする請求項１１に記載の情報処理方法。
【請求項１５】
前記ステータス制御ステップでは、ユーザが使用する情報機器に入力されているスケジュール、又はユーザの位置情報、又はユーザが現在行なっている作業の内容を表す情報に基づいてステータスを判断する、
ことを特徴とする請求項１４に記載の情報処理方法。
【請求項１６】
前記メッセージ制御ステップでは、状態変更が必要なユーザに対するメッセージ通知を行なう、
ことを特徴とする請求項１１に記載の情報処理方法。
【請求項１７】
前記メッセージ制御ステップでは、ユーザの状態変更が必要であると判断したことに応じて、当該ユーザの状態を自動変更する、
ことを特徴とする請求項１１に記載の情報処理方法。
【請求項１８】
スケジューラが実行される環境下において、前記メッセージ制御ステップでは、スケジューラの内容に基づいてユーザの状態を判断する、
ことを特徴とする請求項１１に記載の情報処理方法。
【請求項１９】
前記メッセージ制御ステップでは、アクセス元とアクセス先を保持し、同じユーザのステータスをログインしているユーザ毎に切り替え制御する、
ことを特徴とする請求項１１に記載の情報処理方法。
【請求項２０】
ユーザは複数のステータスを持つことが許容され、ユーザ・グループ毎にステータスを設定することができる場合において、前記メッセージ制御ステップでは、ステータス間の関連をあらかじめ保管しておき、あるグループに提示するステータスを変更したことに応答して、その他のグループに提示するステータスを変更する制御を行なう、
ことを特徴とする請求項１１に記載の情報処理方法。
【請求項２１】
相手の状態に応じたメッセージ交換を行なうための処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、
ユーザ間のメッセージの監視によりステータスを判断するステータス制御ステップと、
各ユーザに対するメッセージ通知を監視し、該監視結果に基づいてユーザの状態変更の必要性を判断するメッセージ制御ステップと、
を具備することを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザ間でのネットワーク経由のメッセージ交換を行なう情報処理システム及び情報処理方法、並びにコンピュータ・プログラムに係り、特に、相手の状態に応じたメッセージ交換を行なう情報処理システム及び情報処理方法、並びにコンピュータ・プログラムに関する。
【０００２】
さらに詳しくは、本発明は、メッセージ交換システムの各利用者の状態の自動更新を制御する情報処理システム及び情報処理方法、並びにコンピュータ・プログラムに係り、特に、コミュニケーションの意思を持つことに対する支援を行ない、利用者に対しコミュニケーションを開始する機会を与える情報処理システム及び情報処理方法、並びにコンピュータ・プログラムに関する。
【背景技術】
【０００３】
近年では、情報処理技術並びに情報通信技術の高度な発展に伴い、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やインターネットなどのコンピュータ・ネットワークが産業活動や日常生活に深く浸透してきている。コンピュータ・ネットワーキングによれば、計算機資源の共有や、情報の共有、情報交換、情報配布などを円滑に行なうことができ、遠隔にいる複数ユーザ間での協働的な作業を好適に支援することができる。
【０００４】
コンピュータ・ネットワークは、例えば、組織の構成人員間のコミュニケーション手段として発展してきた。すなわち、コンピュータ・ネットワーク環境下では、初期の電子掲示板システム（ＢＢＳ）や電子メール、チャットを始めとして、新しい形式の社会的相互作用のための多くのメディアが生み出されてきた。例えば、電子メールは、メール・サーバと呼ばれるメールの送受信を管理するコンピュータを通して行なわれる。
【０００５】
さらに最近では、ネットワーク経由で相互接続される情報機器間でチャットやメッセージの交換を瞬時に行なうインスタント・メッセージング・システムも普及してきている。インスタント・メッセージング・システムは、基本的にはＩＲＣ（Ｉｎｔｅｒｎｅｔ  Ｒｅｌａｙ  Ｃｈａｔ）の仕組みを踏襲するが、通信相手の在席状況の表示や、リアルタイム情報の取得などの機能の強化が図られている。
【０００６】
ここで、インスタント・メッセンジャのようなリアルタイムの情報交換システムにおいては、ユーザがメッセージを送信しようとするときに、目に見えない（遠隔にいる）通信相手がメッセージを受け取ることができる状態にあるか、あるいはメッセージに応答できる状態にあるかを知ることが、情報交換のリアルタイム性を確保する上で重要である。
【０００７】
既に述べたように、ほとんどのインスタント・メッセージング・システムはユーザの在席状況の表示機能を基本的に装備しており、他のユーザがその状態を知ることができる。
【０００８】
しかしながら、ユーザが在席及び離席する度に自分の状態をリアルタイムで設定若しくは更新しているかどうかは疑問の余地がある。すなわち、このような状態の設定操作は面倒であり、ユーザが常に自分の状態を入力しているとは限らず、インスタント・メッセンジャ画面におけるユーザの在席表示はせいぜいそのユーザがログインしているかどうか程度の情報としてしか参考にならない。
【０００９】
例えば、分散協調作業に適用されるサーバ機について提案がなされている（例えば、特許文献１を参照のこと）。このサーバ機は、サーバ機から各クライアント機へのデータ入力要求の送信とそれに対する各クライアント機からサーバ機への入力データの受信とを監視しており、サーバ機からのデータ入力要求に対する入力データが期待された時刻までに返答されないときには、サーバ機は、代行入力知識として蓄積された知識に基づいて代行入力データを生成し、自動的に入力するようになっている。したがって、アクセスしようとした相手からの反応がないときにはサーバ機が代行で返信することができる。しかしながら、この場合、ユーザは通信相手の状態を正確に知ることはできないので、コミュニケーションのとりにくさは解消されない。
【００１０】
遠隔地のユーザ間でコミュニケーションをとり際、互いに相手の状態に合わせて、用いる通信手段を選択することが好ましい場合がある。例えば、在席中のユーザに対しては、即答性の高いチャットやインスタント・メッセンジャを用いる。他方、離席中のユーザに対してはメール若しくはその他の蓄積型のメッセージ交換システムを利用し、任意の時刻に受信してもらうことにする。
【００１１】
例えば、コミュニケーションのための優先モダリティ又はチャネルを参加者の選考と能力に基づいて特定し、確立するシステムについて提案がなされている（例えば、特許文献２を参照のこと）。この場合、相手のプリファレンスやコンテキストに応じてコミュニケーションのモダリティを自動的に選択することができる。
【００１２】
また、ユーザの情況に応じた状態情報の表示をユーザの操作負担を抑えて実現する状態表示プログラムや（例えば、特許文献３を参照のこと）、チャネルに適した状態を設定し通知する状態設定システムについて提案がなされている（例えば、特許文献４を参照のこと）。
【００１３】
しかしながら、インスタント・メッセンジャを始めとし、従来のメッセージ交換システムにおいては、コミュニケーションに関わる二者のうち少なくともどちらか一方がコミュニケーションをとろうという意思を持っていることを前提として機能する。
【００１４】
言い換えれば、コミュニケーションの意思を持つことに対する支援がなされておらず、結果としてコミュニケーションの機会を喪失することとなっている。例えば、相手が事業計画の文書を作成していることを知ることで、予算の計算方法について議論すべきであることに気が付くが、従来のメッセージ交換システムにおけるユーザの状態表示機能によっては、相手とのコミュニケーションを開始するきっかけを十分に得ることができない。すなわち、ユーザが現在行なっている作業の目的となっているタスクがコミュニケーションを開始するきっかけとなることはない。
【００１５】
【特許文献１】特開平１０−１８７６０６号公報
【特許文献２】特開２００２−３７４３１８号公報
【特許文献３】特開２００３−１９６２４３号公報
【特許文献４】特開２００２−２４９８７５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１６】
本発明の目的は、相手の状態に応じたメッセージ交換を好適に行なうことができる、優れた情報処理システム及び情報処理方法、並びにコンピュータ・プログラムを提供することにある。
【００１７】
本発明のさらなる目的は、メッセージ交換システムの各利用者の状態の自動更新を好適に制御することができる、優れた情報処理システム及び情報処理方法、並びにコンピュータ・プログラムを提供することにある。
【００１８】
本発明のさらなる目的は、コミュニケーションの意思を持つことに対する支援を行ない、利用者に対しコミュニケーションを開始する機会を与えることができる、優れた情報処理システム及び情報処理方法、並びにコンピュータ・プログラムを提供することにある。
【課題を解決するための手段】
【００１９】
本発明は、上記課題を参酌してなされたものであり、その第１の側面は、相手の状態に応じたメッセージ交換を行なう情報処理システムであって、ユーザ間のメッセージの監視によりステータスを判断するステータス制御手段と、各ユーザに対するメッセージ通知を監視し、該監視結果に基づいてユーザの状態変更の必要性を判断するメッセージ制御手段とを具備することを特徴とする情報処理システムである。
【００２０】
本発明に係る情報処理システムは、リアルタイムの情報交換を行なうインスタント・メッセージング・システムに適用することができる。この場合、インスタント・メッセンジャ・システムは、ユーザ間のメッセージを監視することによりユーザのステータスを判断する手段と、現在設定されているステータスの変更が必要かどうかを判断する手段と、変更の必要があるユーザに対してメッセージを通知する手段を備えている。そして、メッセージ監視の結果、ユーザの現在のステータスと異なるステータスであると判断した場合に、該当ユーザーへ変更する必要がある旨のメッセージを通知することにより、各ユーザの状態の管理を行なう。
【００２１】
また、インスタント・メッセージング・システムにおいて２以上のステータスを持つことが可能である場合には、アクセス元とアクセス先にユーザを保持する手段と、同じユーザのステータスをログインしているユーザ毎の切替制御する手段とをさらに備えていてもよい。そして、メッセージ監視の結果、アクセスしようとしたユーザが、何らかの理由でアクセスできなかったと判断した場合に、アクセス先のユーザに対してのみアクセス元のユーザ状態にアクセスできなかった状態を加味して、その状態表示の制御を行なう。また、アクセスできない状態にあったユーザとアクセスしたと判断した場合に、アクセスできなかった状態表示を消去する。
【００２２】
また、本発明によれば、友達リストのような複数のグループ設定を行ない、グループ毎に別のステータスを持つことも可能である。この場合、インスタント・メッセージング・システムとしては、ステータス間の関連をあらかじめ保管しておく手段と、あるグループに提示するステータスを変更したときに、他のグループのステータスを変更する状態変更制御を行なう手段をさらに備える。そして、あらかじめ保管してある関連に従って、あるグループのステータスを変更したときに、他のグループのステータスを変更する。
【００２３】
このようなインスタント・メッセージング・システムにおいては、ユーザが常に自分で意識して状態を変化させるのを忘れていても、必要なときに状態変更をするきっかけを与えられるため、ステータス情報の正確性を高めることができる。また、誰がアクセスしたがっているかを確認することが容易にでき、コミュニケーションをとり易くなる。また、複数のステータスを持つ場合でも、１回の入力ですべてのステータスを適切に切り替えることが可能である。
【００２４】
また、本発明によれば、利用者の作業内容、スケジュール、位置情報、関連する人などから、現在の作業の目的となっているタスクを識別し、それを状態として他の利用者に通知することができる。または、同様の情報から、利用者が割り込み可能な状態にあるか否かを判別し、それを他の利用者に通知することができる。
【００２５】
したがって、当該システムに各利用者においては、他の利用者がどのタスクに関する作業を行なっているか、割り込み可能な状態にあるか否かを知り、その利用者とのコミュニケーションを開始するきっかけを得ることができる。
【００２６】
また、本発明の第２の側面は、相手の状態に応じたメッセージ交換を行なうための処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、ユーザ間のメッセージの監視によりステータスを判断するステータス制御ステップと、各ユーザに対するメッセージ通知を監視し、該監視結果に基づいてユーザの状態変更の必要性を判断するメッセージ制御ステップとを具備することを特徴とするコンピュータ・プログラムである。
【００２７】
本発明の第２の側面に係るコンピュータ・プログラムは、コンピュータ・システム上で所定の処理を実現するようにコンピュータ可読形式で記述されたコンピュータ・プログラムを定義したものである。換言すれば、本発明の第２の側面に係るコンピュータ・プログラムをコンピュータ・システムにインストールすることによって、コンピュータ・システム上では協働的作用が発揮され、本発明の第１の側面に係る情報処理システムと同様の作用効果を得ることができる。
【発明の効果】
【００２８】
本発明によれば、相手の状態に応じたメッセージ交換を好適に行なうことができる、優れた情報処理システム及び情報処理方法、並びにコンピュータ・プログラムを提供することができる。
【００２９】
また、本発明によれば、メッセージ交換システムの各利用者の状態の自動更新を好適に制御することができる、優れた情報処理システム及び情報処理方法、並びにコンピュータ・プログラムを提供することができる。
【００３０】
また、本発明によれば、コミュニケーションの意思を持つことに対する支援を行ない、利用者に対しコミュニケーションを開始する機会を与えることができる、優れた情報処理システム及び情報処理方法、並びにコンピュータ・プログラムを提供することができる。
【００３１】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【発明を実施するための最良の形態】
【００３２】
以下、図面を参照しながら本発明の実施形態について詳解する。
【００３３】
本発明は、相手の状態に応じたメッセージ交換を行なう情報処理システムであり、サーバ装置と複数のクライアント装置がネットワーク経由で相互接続して構成される。
【００３４】
図１には、本発明に係るインスタント・メッセージング・システムにおいて適用されるサーバ装置１０の一実施形態を模式的に示している。サーバ装置１０は、例えば、パーソナル・コンピュータなどの一般的な計算機システムに所定のサーバ・アプリケーションをインストールするという形態で実現される。
【００３５】
同図に示すサーバ装置１０は、通信制御部１１と、ステータス変更制御部１２と、ユーザ・ステータス管理部１３と、メッセージ制御部１４を備えている。
【００３６】
通信制御部１１は、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）などの所定の通信プロトコルに従って、クライアント装置とのメッセージ通信などを行なう。
【００３７】
ステータス変更制御部１２は、ユーザ毎のステータスの変更を制御する。具体的には、クライアント装置からステータス変更要求メッセージを受信したら、ユーザ・ステータス管理部１３で管理しているステータスを書き換え、バディリストに登録されているユーザのうち、ログイン中（ログオフ中でない）ユーザに対して変更したステータスを通知する。
【００３８】
ユーザ・ステータス管理部１３は、各ユーザのカレント・ステータス、バディリストを管理する。
【００３９】
メッセージ制御部１４は、ユーザのメッセージを基にステータスの変更を制御する。具体的には、メッセージ監視部１５においてクライアント装置のメッセージを監視し、状態判断制御部１６において状態判断の制御を行なう。そして、ユーザ・ステータス管理部１３のカレント・ステータスと監視結果によるステータスを比較し、変更の必要があれば、メッセージ通知部１７においてクライアント装置にメッセージを通知する。
【００４０】
図２には、本発明に係るインスタント・メッセージング・システムにおいて適用されるクライアント装置２０の一実施形態を模式的に示している。クライアント装置２０は、例えば、パーソナル・コンピュータなどの一般的な計算機システムに所定のクライアント・アプリケーションをインストールするという形態で実現される他、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｃｅ）や携帯電話機などの小型の情報処理端末で構成することもできる。
【００４１】
図示のクライアント装置２０は、バディリスト表示部２１と、バディリスト管理部２２と、ステータス入力部２３と、メッセージ入力部２４と、メッセージ表示部２５と、ステータス制御部２６と、データ送受信部２７とを備えている。
【００４２】
データ送受信部２７は、ＴＣＰ／ＩＰなどの所定の通信プロトコルに従って、サーバ装置１０とのメッセージ通信などを行なう。
【００４３】
バディリスト表示部２１は、コミュニケーションの対象となる相手の一覧を表示する。一覧には、相手を特定する名前、相手の状態が表示される。相手の状態は、「仕事中」、「電話中」、「外出中」などのように文字で表現してもよいし、それらを図柄で表現したアイコン、アニメーションなどの動画、相手の顔写真、似顔絵などで表現してもよい。
【００４４】
バディリスト管理部２２は、バディリストに表示する相手とその状態を保持管理する。保持する内容は、データ送受信部の機能を用いて、サーバから取得する。保持されている相手の名前、状態はバディリスト表示部の機能を用いて表示される。
【００４５】
ステータス入力部２３は、このクライアントを使用しているユーザからの状態変更の入力を受け付ける。入力された状態は、ステータス制御部２６により処理され、その結果がデータ送受信部の機能２７用いてサーバ装置１０に送信される。
【００４６】
メッセージ入力部２４は、このクライアントを使用しているユーザが他のユーザに送るメッセージの入力を受け付ける。入力されたメッセージはデータ送受信部２７の機能を用いてサーバ装置１０に送信される。
【００４７】
メッセージ表示部２５は、データ送受信部１０の機能によりサーバから受信したメッセージを表示する。
【００４８】
ステータス制御部２６は、このクライアントを使用しているユーザから入力された状態の処理を行なう。本実施形態では、ステータス制御部２６は以下の機能を提供する。
【００４９】
（１）タスクの識別
ステータス制御部２６は、現在の作業の目的となっているタスクを識別する。識別されたタスクを現在の利用者の状態として、ステータス変更制御部１２の機能を用いて設定する。
【００５０】
ここで、タスクの識別には以下の情報を用いることができる。
【００５１】
（１−１）作業に用いているドキュメントのタイトル、内容、保管場所、作成者、作成日時など、ドキュメントに付随している情報
例えば、タイトルに含まれている単語を用いてデータベースからタスクを検索する。また、ドキュメント・データベース内でタスク別にドキュメントを管理しておき、そのドキュメント・データベースから対象となるドキュメントと類似するドキュメント検索し、そのドキュメントが属するタスクを選択する。また、ファイル・サーバ内に作成されているフォルダなどの文書の保管場所とタスクとの関連付けを管理しておき、作業対象となる文書を取り出したフォルダの保管場所などからタスクを特定する。また、作業対象となる文書の元の作成者が属するタスクを選択する。また、作業日時からそのときに進行中のタスクを選択する。
【００５２】
（１−２）ＰＤＡ、ＰＩＭ（Ｐｅｒｓｏｎａｌ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｍａｎａｇｅｒ）、グループウェアなどのカレンダに入力されているスケジュール
例えば、作業中の時間に対してカレンダに入力されている項目からタスクを特定する。
【００５３】
（１−３）ＧＰＳや携帯電話などから取得できる、又は赤外線や電波などで測定できる位置情報
例えば、タスク毎に活動場所を管理しておくことで、取得されたユーザの位置情報から活動場所が最も近いタスクを検出することができる。あるいは、タスク毎に活動のスケジュールを記憶しておくカレンダを用意する。これを用いることで、時間毎に活動場所が異なるタスクにおいても正確にタスクを検出できるようにする。
【００５４】
（１−４）一緒に同じ作業を行なっている人物
タスク毎にそれに関与する人を管理しておく。複数人で作業を行なっている場合、その作業に加わっている人が属している、最も適したタスクを検出する。
【００５５】
（２）使用者のコンテキスト情報の自動判別
ステータス制御部２６は、使用者が現在割り込み可能であるか否かを表す状態を、使用者のコンテキスト情報から自動的に判別する。
【００５６】
ここで、状態の判別にいいかの情報を用いることができる。
【００５７】
（２−１）ＰＤＡ、ＰＩＭ、グループウェアなどのカレンダに入力されているスケジュール
例えば、作業中の時間に対してカレンダに入力されている項目の内容や重要度、優先順位などから現在の状態を判定する。
【００５８】
（２−２）ＧＰＳ、携帯電話などから取得できる、又は赤外線や電波などで測定できる現在の居場所
居室内にいる、会議室にいる、交通機関で移動中である、客先の建物内にいるなどの情報から現在の状態を判定する
【００５９】
（２−３）現在行なっている作業の内容などを表す情報
例えば、Ｗｅｂや資料を閲覧している、資料を作成している、他の人と共同作業を行なっているなどの情報から現在の状態を判定する。
【００６０】
ステータス制御部２６は、その状態に対する過去の行動パタン、コミュニケーションの要求に対する反応から、現在コミュニケーションが行える状態にあるか否か、あと何分後にその状態が変化するかを予測する。その結果を現在の利用者の状態とあわせて、ステータス変更制御部１２の機能を用いて設定する。
【００６１】
ここで、通知する内容の詳細度は現在の状態（時刻、スケジュール、居場所、作業などで表現される）と相手との関連の強度によって決定する。また、相手との関連の強度は、状態（時刻、スケジュール、居場所、作業など）と通知する相手を入力とする関数によって定義される。また、関数の定義を容易にするために、時刻、スケジュール、居場所、作業などのパラメタの各インスタンスと通知する相手の組み合わせ毎にあらかじめ強度を設定しておき、関数の結果はそれに重み付をした後の総和とする。また、関数の定義を容易にするために、相手からの状態取得の要求がある度に、表示すべき状態の候補を提示し、その中から選択させることを繰り返すことで、関数を自動的に定義する。
【００６２】
上述の２つの判定方法、すなわちタスクに基づく状態判定方法とコンテキスト情報に基づく判定方法を組み合わせることで、より高い精度で、コミュニケーションのきっかけを与えることができる。
【００６３】
一般的なメッセージング・システムにおいては、サーバ装置側で登録ユーザ毎のステータスが管理されている。そして、ユーザがログインしたクライアント装置から送信される変更通知に応答して、サーバ装置側では該当するステータスを変更し、そのときに当該ユーザの状態を見ているユーザがログインしているクライアント装置に対して状態の変更通知を行なう。
【００６４】
これに対し、本実施形態では、サーバ装置１０は、ユーザのメッセージを基にステータスの変更を制御するメッセージ制御部１４を備えている。このメッセージ制御部１４は、以下の仕組みを提供する。
【００６５】
（１）各ユーザに対するメッセージ通知の監視
（２）ユーザの状態変更の必要性の判断
（３）状態変更が必要なユーザに対するメッセージ通知
【００６６】
但し、ここで言うメッセージは、メッセージング・システムにおいて送信するメッセージ本文であっても、あるいはあらかじめ決められたメッセージや別の通信手段であっても構わない。
【００６７】
以下では、本発明の一実施形態に係るメッセージング・システムについての幾つかの動作例を説明する。
【００６８】
動作例１：
ユーザＡの操作しているクライアント装置ａでユーザＢの状態が“在席”状態であることを確認した後に、ユーザＢに対してコンタクトを取るためのメッセージを送信する。このとき、メッセージがクライアント装置ａから送信されるが、ユーザＢは実は多忙中のため（ステータスを“コンタクト拒否”にしていなくても）コンタクトを拒否したいケースがある。
【００６９】
このような場合、サーバ装置側では、ユーザＢがステータスを“コンタクト拒否”にしていなくても、アクセス拒否のメッセージをユーザＡに送信するという動作について考察する。但し、ユーザ・インターフェースとしてテキストであっても、ＯＫ，ＮＧなどのボタン形式であっても構わない。
【００７０】
サーバ装置１０では、メッセージ制御部１４において、各ユーザに対するメッセージ通知を監視する機能により、拒否のメッセージの受信を判断し、ユーザＡのクライアント装置ａに対してメッセージを通知する。これと同時に、ユーザの状態変更の必要性を判断する機能により、ユーザＢのクライアント装置ｂに対してステータスを“コンタクト拒否”に変更の必要があると判断する。そして、この判断結果から、状態変更が必要なユーザに対してメッセージを通知する機能によって、メッセージを通知する。
【００７１】
ここで、ユーザの状態変更の必要性を判断する方法はさまざまである。例えば、アクセス可否の仕組みがありメッセージ本文送信の前に可否通知がクライアント側でできる仕組みを使ってもよい。それ以外に、一定時間応答がない場合に拒否であると判断してもよい。
【００７２】
また、メッセージ本文によって拒否を判断する場合は、メッセージング・システムにおいて定型文をあらかじめ定義しておき、定型文から判断してもよい。
【００７３】
また、メッセージ制御部１４は、コンタクト拒否通知又はコンタクト許可通知など、ユーザからの明示的な状態変更の通知がなくても、メッセージ通知の監視に基づいてユーザの状態変更の必要性を判断したら自動的に状態を変更する。例えば、“コンタクト不可”にある状態のユーザが誰かとアクセスしたことによりメッセージ送信を開始したことを判断する。あるいは、誰かユーザとのメッセージやりとりのためにコンタクト不可状態にあるユーザが当該メッセージやりとりを終了したことを判断して、“コンタクト許可”状態にするなどでもよい。
【００７４】
これにより、ユーザはステータス変更の必要になった段階で変更するきっかけが与えられる。したがって、ユーザは、ステータス変更をし忘れて誤ってアクセスするユーザを減らすことが可能となることから、円滑なコミュニケーションを支援することにつながる。
【００７５】
また、本実施形態では、メッセージ制御部１４は、サーバ装置１０上での上述のような判断結果を基に、ユーザのステータスを自動変更する仕組みを備えていてもよい。
【００７６】
（４）サーバ装置における判断結果に基づくユーザのステータスの自動変更
【００７７】
さらに、スケジューラなどの管理アプリケーションが実行されている環境下では、メッセージ制御部１４は、以下の仕組みをさらに備えていてもよい。
【００７８】
（５）各ユーザのスケジューラの内容を参照する手段
（６）スケジュールから同一である人物を探索する手段、
（７）スケジュールに対応したユーザの正しいステータスを検知する手段
（８）スケジューラから判断されたステータスと現状のステータスを比較する手段
【００７９】
上記（５）〜（８）に関する仕組みをメッセージ制御部１４がさらに備えることで、以下のような動作例も可能となる。
【００８０】
動作例２：
ユーザＡとユーザＢが参加する会議があり、ユーザＡがステータスを“会議中”に変更する。このとき、サーバはユーザＡのステータス変更制御を実施する。さらに、ユーザのスケジューラの内容を参照する機能によって、ユーザＡのスケジュールをスケジューラに参照しに行く。
この参照結果を基に、スケジュールから同一である人物を探索する手段によって、ユーザＡの会議にはユーザＢも参加することを判断する。そして、スケジュールに対応したユーザの正しいステータスを検知する機能と、スケジューラから判断されたステータスと現状のステータスを比較する機能により、ユーザＢのステータスと比較する。
【００８１】
ここで、ユーザＢが“会議中”でなければ、サーバ装置は、ユーザＢのステータスの変更が必要であることをクライアント装置に通知する。メッセージ通知を受けたクライアント装置は、通常のメッセージ受信と同じ機構によりサーバーから“ステータス変更が必要”の旨のメッセージを受ける。
【００８２】
ここでもまた、ユーザはステータス変更の必要になった段階で変更するきっかけが与えられることから、ステータス変更をし忘れて誤ってアクセスするユーザを減らすことが可能になり、円滑なコミュニケーションの助けることになる。
【００８３】
また、クライアント装置側では、サーバ装置からの状態変更通知を利用して別の用途に利用することもできる。通常のステータスとは別の次元のステータスを表示可能なメッセージング・システムにおいて、メッセージ制御部１４は、上述した、（１）各ユーザに対するメッセージ通知の監視、（２）ユーザの状態変更の必要性の判断、並びに（３）状態変更が必要なユーザに対するメッセージ通知の各機構を備え、且つさらに以下の仕組みを備えていてもよい。
【００８４】
（９）アクセス元とアクセス先の保持
（１０）同じユーザのステータスを、ログインしているユーザ毎に切り替え制御
【００８５】
上記（９）〜（１０）に関する仕組みをメッセージ制御部１４がさらに備えることで、以下のような動作例も可能となる。
【００８６】
動作例３：
ユーザＡの操作しているクライアント装置ａにおいてユーザＢの状態が“会議中”状態であることを確認した後に、ユーザＢに対してコンタクトを取るためのメッセージを送信する。
【００８７】
このとき、サーバ装置１０において、まずメッセージ制御部１４が、アクセス元とアクセス先を保持する機能により、ユーザＢがユーザＡとコンタクトが取れなかったことを保持する。次いで、メッセージ制御部１４における同じユーザのステータスをログインしているユーザ毎に切り替え制御する機能により、ユーザＢから見たユーザＡのステータス情報には、コンタクトしたがっている情報が加味されて表示される。このステータス情報は別次元のステータスであるとも言える。
【００８８】
これにより、コンタクト不可の状態にあるユーザや、実際にはコンタクトできる状態にありながらステータスを変更していないユーザに対して、コンタクトしたがっているユーザが見えることになり、円滑なコミュニケーションの助けることになる。
【００８９】
また、タイムアップ時間の指定などのタイマー制御による判断で、さらに、コンタクトしたがっている情報が表示される時間を指定することも可能になる。ここで、時間の指定は、実時間による直接的なものであっても、段階による間接的なものであってもよい。
【００９０】
これにより、いつまでもコンタクトしたがっている情報が表示されることを回避することが可能になる。これは、同様の仕組みを使ってメッセージ通知などの方法で、コンタクトしたがっているユーザが明確にその状態を取り消すことも可能になる。
【００９１】
また、上述と同様に、通常のステータスとは別の次元のステータスを表示可能なメッセージング・システムにおいて、ユーザは、友達リストなどのバディリスト毎にステータスを持つことができる。このような場合、メッセージ制御部１４は、上述した、（１）各ユーザに対するメッセージ通知の監視、（２）ユーザの状態変更の必要性の判断、並びに（３）状態変更が必要なユーザに対するメッセージ通知の各機構を備え、且つさらに以下の仕組みを備えていてもよい。
【００９２】
（１１）ステータス間の関連をあらかじめ保管しておく機能
（１２）あるグループに見せるステータスを変更したときに、その他のグループに見せるステータスを変更する制御機能
【００９３】
上記（１１）〜（１２）に関する仕組みをメッセージ制御部１４がさらに備えることで、以下のような動作例も可能となる。
【００９４】
動作例４：
例えば、ユーザＡは、自分の友達リストの中にグループＸとグループＹを持つとする。ここで、グループＸには友達Ｂを登録してあり、友達Ｂに対して提示するステータスは“出勤”、外出”、在宅”があるとする。一方、グループＹには会社同僚Ｃを登録してあり、この会社同僚Ｃに対して提示するステータスは、“在席”、会議中”、“帰宅”があるとする。そして、グループＸのステータス“出勤”はグループＹのステータス“在席”並びに“会議中”と関連付けられ、ステータス“在宅”はステータス“帰宅”と関連付けられ、このようなグループ毎のステータス間の関連付けをあらかじめサーバ装置１０に記憶しておく。
【００９５】
例えば、ユーザＡが会社に出勤したとき、グループＹに対してのステータスを“在席”に設定したとする。これに応答して、サーバ装置１０側では、あらかじめ記憶しておいた関連付けによって、グループＸに対するユーザＡのステータスを“出勤”に自動的に変更する。
【００９６】
このような場合、ユーザが１つのステータスを変更することによって、複数のグループにまたがって、複数のステータスを自動的に適切に変更することが可能になることから、ユーザ操作の低減、及びステータスの変更し忘れに効果がある。
【００９７】
上述したような相手やグループに応じて適切な状態表示を行なう仕組みを提供するために、メッセージ制御部１４は、メッセージング・システムを使用している人やその人が関わっているタスクなどのオブジェクトについて、ある関係を持つグループを判断する仕組みを持つ。
【００９８】
ここで、グループはディレクトリ・サービスや、友達リストなどから判断することが可能である。また、グループは、階層構造などにより、グループの包含関係がわかるものとする。また、グループは、ユーザの作業状態によって動的に変化させることができてもよい。また、その変化に関するルールの登録ができてもよい。
【００９９】
説明のため、以下のように表す。
【０１００】
コンタクトの対象となる人      ：  ｐ１
コンタクトしようとする人      ：  ｐ２
Ｐ１が関係しているオブジェクト：  ｏ１      オブジェクトは例えば人であったり仕事のタスクであったりする
Ｐ２が関係しているオブジェクト：  ｏ２
【０１０１】
その１：システムは各人が何をしている状態かを示す仕組みを持つ。
このシステムで、グループＧがある２つのオブジェクトｏｘ、ｏｙに対して以下の関係式Ｐで表されるとき、（ここで表されるＧはｏｘを含みｏｙを含まない最大のグループとなる）
【０１０２】
関係式Ｐ（Ｇ，ｏｘ，ｏｙ）＝（
ｏｘ∈Ｇ                        ：ｏｘはＧの要素である
∧ｏｙ∈ｎｏｔＧ                    ：かつ、ｏｙはＧの要素ではない
∧ｎｏｔ（∃Ｇｘ）（Ｇ⊂Ｇｘ∧ｏｙ∈ｎｏｔＧｘ）：かつ、Ｇを含みｏｙを要素としないＧｘは存在しない
）
【０１０３】
ここで、ｐ１がオブジェクトｏ１に関わっている状態の場合のルールを以下に示す。
【０１０４】
（１）ｐ１の状態を見ているｐ２に対して、ｐ１の状態は以下のように判断する。
ここで、ｎｏｔ（∃Ｇ）（Ｐ（Ｇ，ｏ１，ｐ２））、すなわちＰを満たすＧは存在しない場合には、ｐ１の状態は“ｏ１に関する作業中”とする。すなわち、ｐ２もｏ１に関する人なので、その状態を直接みせる。これに対し、（∃Ｇ）（Ｐ（Ｇ，ｏ１，ｐ２））、すなわち、Ｐを満たすＧが存在する場合には、ｐ１の状態は“Ｇに関する作業中”とする。すなわち、ｐ２が直接関わっていないグループＧで作業をしている状態を見せる。
【０１０５】
（２）ｐ２がｏ２に関わっている場合、ｐ２から見えるｐ１の状態は以下の判断を追加し、上記（１）で判断した結果との比較により、ｏ１に最も近いグループに関する作業中の状態を選択する。
ここで、ｎｏｔ（∃Ｇ）（Ｐ（Ｇ，ｏ１，ｏ２））、すなわちＰを満たすＧは存在しない場合には、ｐ１の状態は“ｏ１に関する作業中”とする。また、ｐ２もｏぬに関する人なので、その状態を直接みせる。これに対し、（∃Ｇ）（Ｐ（Ｇ，ｏ１，ｏ２））、すなわち、Ｐを満たすＧが存在する場合には、ｐ１の状態は“Ｇに関する作業中”とする。
【０１０６】
（３）これらの判断結果、ｐ１の関わるオブジェクトｏ１やｐ２の関わるオブジェクトｏ２が変更される度に、ｐ２に表示されているｐ１の状態が自動的に変更される。
例えば、実際にはすべてのグループが１つの階層構造で表せず、２つのグループが単純な包含関係では示せない場合などでは、Ｇで表しているグループが複数出てくる場合もある。そのような場合には、どちらがｐ２の属するグループに近いグループかを包含関係などにより判断してもよい。
【０１０７】
その２：各人の状態は“在席”（コンタクト許可）、“不在”、“多忙”（コンタクト不許可）の３種で表せるものとする。実施形態の例であるので、どのような状態の名前や状態が何種類であろうとも、該当する状態があればその対象とする。
【０１０８】
グループＧ１、Ｇ２がある２つのオブジェクトｏｘ、ｏｙに対して以下の関係式Ｑ１、Ｑ２で表されるとき、（ここで表されるＧ１はｏｘを含みｏｙを含まない最大のグループであり、Ｇ２はｏｘ、ｏｙを含む最小のグループである）
【０１０９】
関係式Ｑ１（Ｇ１，ｏｘ，ｏｙ）＝（
ｏｘ∈Ｇ１      ：ｏｘはＧ１の要素である
∧ｏｙ∈ｎｏｔＧ１      ：かつ、ｏｙはＧ１の要素ではない
∧ｎｏｔ（∃Ｇｘ）（Ｇ１⊂Ｇｘ∧ｏｙ∈ｎｏｔＧｘ）
：かつ、Ｇ１を含みｏｙを要素としないＧｘは存在しない
）
【０１１０】
関係式Ｑ２（Ｇ２，ｏｘ，ｏｙ）＝（
ｏｘ∈Ｇ２      ：ｏｘはＧ２の要素である
∧ｏｙ∈Ｇ２    ：かつ、ｏｙはＧ２の要素ではない
∧ｎｏｔ（∃Ｇｘ）（Ｇｘ⊂Ｇ２∧ｏｘ∈Ｇｘ∧ｏｙ∈Ｇｘ）
：かつ、ｏｘ、ｏｙを要素としＧ２に含まれるＧｘは存在しない
）
【０１１１】
ここで、ｐ１が特に何かに関わっていないときのルール（ｐ１に対しｐ２がコンタクトしようとするケース）を以下に示す。
【０１１２】
（１）ｐ２がコンタクトを試みてｐ１が返した結果から、以下のように判断する。
コンタクト不許可のケースで、ｎｏｔ（∃Ｇ）（Ｑ１（Ｇ，ｐ１，ｐ２））、すなわちＱ１を満たすＧは存在しない場合には、すべての人はコンタクト不許可となり、誰からも割り込まれたくない状態となる。これに対し、（∃Ｇ）（Ｑ１（Ｇ，ｐ１，ｐ２））、すなわち、Ｑ１を満たすＧが存在する場合には、∀（ｎｏｔＧ）はコンタクト不許可であり、少なくともグループＧ以外の人には割り込まれたくない状態となる。
一方、コンタクト許可のケースで、ｎｏｔ（∃Ｇ）（Ｑ２（Ｇ，ｐ１，ｐ２））、すなわち、Ｑ２を満たすＧは存在しない場合には、すべての人はコンタクト許可であり、誰でも割り込みＯＫの状態となる。これに対し、（∃Ｇ）（Ｑ１（Ｇ，ｐ１，ｐ２））、すなわちＱ１を満たすＧが存在する場合には、∀（Ｇ）はコンタクト許可であり、少なくともグループＧの人には割り込まれていい状態となる。
また、返答がなかったケースでは不在確定である。反応がないため、不在と判断できる。
【０１１３】
（２）これらの判断結果、不在、乃至、コンタクト許可、不許可を決定されたグループに属する人に対しては、ｐ１の状態表示が決定された結果に従って自動的に（表示としては“不在“又は“多忙”又は“在席”）変更される。
【０１１４】
次いで、ｐ１が何かに関わっているときのルール（ｐ１がｏ１と関係がある状態で、ｐ２がコンタクトしようとするケース）について説明する。
【０１１５】
（１）ｐ２がｐ１に対してコンタクトを試みた場合、以下のように判断する。
コンタクト不許可のケースで、ｎｏｔ（∃Ｇ）（Ｑ１（Ｇ，ｏ１，ｐ２））、すなわちＱ１を満たすＧは存在しない場合には、すべての人はコンタクト不許可となり、誰からも割り込まれたくない状態となる。これに対し、（∃Ｇ）（Ｑ１（Ｇ，ｏ１，ｐ２））、すなわちＱ１を満たすＧが存在する場合には、∀（ｎｏｔＧ）はコンタクト不許可であり、少なくともグループＧ以外の人には割り込まれたくない状態となる。
一方、コンタクト許可のケースで、ｎｏｔ（∃Ｇ）（Ｑ２（Ｇ，ｏ１，ｐ２））、すなわちＱ２を満たすＧは存在しない場合には、すべての人はコンタクト許可となり、誰でも割り込みＯＫの状態となる。これに対し、（∃Ｇ）（Ｑ１（Ｇ，ｏ１，ｐ２））、すなわちＱ１を満たすＧが存在する場合には、∀（Ｇ）はコンタクト許可となり、少なくともグループＧの人には割り込まれていい状態となる。
また、返答がなかったケースでは、コンタクト不許可のケースに従う。
【０１１６】
（２）これらの判断結果、コンタクト許可、不許可を決定されたグループに属する人に対しては、ｐ１の状態表示が決定された結果に従って自動的に（表示としては“多忙”又は“在席”）変更される。また、このケースでは返答がない場合、通常なんらかの作業中であるといえるため“不在“と判断しないようなルールになっているが、敢えて返答をせずに居留守状態にしたい場合なども考えられるので、返答がないため不在確定と判断してもよい。
【０１１７】
次いで、ｐ２も何かに関わっているときのルール（ｐ１がｏ１と、ｐ２がｏ２と関係がある状態で、ｐ２がコンタクトしようとするケース）について説明する。
【０１１８】
（１）ｐ２がｐ１に対してコンタクトを試みた場合、以下のように判断する。
コンタクト不許可のケースで、ｎｏｔ（∃Ｇ）（Ｑ１（Ｇ，ｏ１，ｏ２））、すなわちＱ１を満たすＧは存在しない場合には、すべての人はコンタクト不許可となり、誰からも割り込まれたくない状態となる。これに対し、（∃Ｇ）（Ｑ１（Ｇ，ｏ１，ｏ２））、すなわちＱ１を満たすＧが存在する場合には、∀（ｎｏｔＧ）はコンタクト不許可となり、少なくともグループＧ以外の人には割り込まれたくない状態となる。
これに対し、コンタクト許可のケースでは、ｎｏｔ（∃Ｇ）（Ｑ２（Ｇ，ｏ１，ｏ２））、すなわちＱ２を満たすＧは存在しない場合には、すべての人はコンタクト許可となり、誰でも割り込みＯＫの状態となる。また、（∃Ｇ）（Ｑ１（Ｇ，ｏ１，ｏ２））、すなわちＱ１を満たすＧが存在する場合には、∀（Ｇ）はコンタクト許可となり、少なくともグループＧの人には割り込まれていい状態となる。
また、返答がなかったケースでは、コンタクト不許可のケースに従う。
【０１１９】
（２）これらの判断結果、コンタクト許可、不許可を決定されたグループに属する人に対しては、ｐ１の状態表示が決定された結果に従って自動的に（表示としては“多忙”又は“在席”）変更される。
また、このケースでは返答がない場合、通常なんらかの作業中であると言えるため、“不在“と判断しないようなルールになっているが、敢えて返答をせずに居留守状態にしたい場合なども考えられるので、返答がないため不在確定と判断してもよい。
【０１２０】
すべてのグループが１つの階層構造で表せず、２つのグループが単純な包含関係では示せない場合などでは、Ｇで表しているグループが複数出現する場合もある。そのような場合には、いずれのグループにも適用することが可能である。
【産業上の利用可能性】
【０１２１】
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【図面の簡単な説明】
【０１２２】
【図１】図１は、本発明に係るインスタント・メッセージング・システムにおいて適用されるサーバ装置１０の一実施形態を模式的に示した図である。
【図２】図２は、本発明に係るインスタント・メッセージング・システムにおいて適用されるクライアント装置２０の一実施形態を模式的に示した図である。
【符号の説明】
【０１２３】
１０…サーバ装置
１１…通信制御部
１２…ステータス変更制御部
１３…ユーザ・ステータス管理部
１４…メッセージ制御部
１５…メッセージ監視部
１６…状態判断制御部
１７…メッセージ通知部
２０…クライアント装置
２１…バディリスト表示部
２２…バディリスト管理部
２３…ステータス入力部
２４…メッセージ入力部
２５…メッセージ表示部
２６…ステータス制御部
２７…データ送受信部
【図１】
2005267437.tif 000003
【図２】
2005267437.tif 000004