(57)【特許請求の範囲】
【請求項１】
複数のクライアント・コンピュータにネットワークを介して接続されたサーバにより、メッセージを送信するための方法であって、
前記サーバは、ユーザが同一のユーザＩＤを使用して異なる前記クライアント・コンピュータにより、同時にログインすることができ、前記複数のクライアント・コンピュータは、それぞれが異なり得るステータスを設定することができるものであり、
第１のユーザＩＤでログインされているクライアント・コンピュータから、第２のユーザＩＤでログインされている少なくとも２つクライアント・コンピュータを宛先とするメッセージを、前記サーバで受信するステップと、
前記サーバに保持されている前記少なくとも２つの宛先クライアント・コンピュータのステータス情報に基づいて、前記メッセージを、前記少なくとも２つの宛先クライアント・コンピュータのどれに送信するかを決定するステップと、
前記クライアント・コンピュータが、送信されたメッセージ中に特定の文字が存在することに応答して、該メッセージの表示の代わりに、該特定の文字に対応して予め決められた処理を行うステップとを含み、
前記予め決められた処理が、特定の回答を要求する質問を送る処理と、前記クライアント・コンピュータにおけるマウス・カーソルの変更処理を含む、
方法。
【請求項２】
前記宛先クライアント・コンピュータは、少なくとも１つのパーソナル・コンピュータと、少なくとも１つのモバイル通信機器を含む、請求項１に記載の方法。
【請求項３】
前記決定するステップは、更に前記宛先クライアント・コンピュータの機器タイプに基づき、どの宛先クライアント・コンピュータに送信するかを決定する、請求項２に記載の方法。
【請求項４】
前記モバイル通信機器は、携帯電話、及びＰＤＡのどれか、または両方を含む、請求項３に記載の方法。
【請求項５】
前記ステータス情報は、応答可及び応答不可を含む、請求項１に記載の方法。
【請求項６】
前記宛先クライアント・コンピュータの決定は、関連するステータス情報が応答可であることに基づき行われる、請求項５に記載の方法。
【請求項７】
前記宛先クライアント・コンピュータが携帯電話であることに応答して、前記宛先クライアント・コンピュータに向けられたメッセージを、前記携帯電話に適合する形式に変換するステップを含む、請求項４に記載の方法。
【請求項８】
前記宛先クライアント・コンピュータがＧＰＳ装置を備え、該ＧＰＳ装置によって検出された座標に基づき場所の候補を生成するステップを含む、請求項１に記載の方法。
【請求項９】
ユーザが同一のユーザＩＤを使用して同時にログインすることができ、かつそれぞれが異なり得るステータスを設定することができる複数のクライアント・コンピュータにネットワークを介して接続された、サーバにより、メッセージを送信するためのシステムであって、
各ユーザＩＤでログインされているクライアント・コンピュータのステータス情報を保持する手段と、
第１のユーザＩＤでログインされているクライアント・コンピュータから、第２のユーザＩＤを宛先とするメッセージを受信する手段と、
前記第２のユーザＩＤでログインされているクライアント・コンピュータを突き止める手段と、
前記第２のユーザＩＤでログインされているクライアント・コンピュータが複数あることに応答して、第２のユーザＩＤでログインされているクライアント・コンピュータに関連して保持されているステータス情報に基づいて、前記メッセージを、前記第２のユーザＩＤでログインされているクライアント・コンピュータのどれに配送するかを決定する手段と、
前記クライアント・コンピュータが、送信されたメッセージ中に特定の文字が存在することに応答して、該メッセージの表示の代わりに、該特定の文字に対応して予め決められた処理を行う手段とを含み、
前記予め決められた処理が、特定の回答を要求する質問を送る処理と、前記クライアント・コンピュータにおけるマウス・カーソルの変更処理を含む、
システム。
【請求項１０】
前記宛先クライアント・コンピュータは、少なくとも１つのパーソナル・コンピュータと、少なくとも１つのモバイル通信機器を含む、請求項９に記載のシステム。
【請求項１１】
前記モバイル通信機器は、携帯電話、及びＰＤＡのどれか、または両方を含む、請求項１０に記載のシステム。
【請求項１２】
前記ステータス情報は、応答可及び応答不可を含む、請求項９に記載のシステム。
【請求項１３】
前記配送先クライアント・コンピュータの決定は、関連するステータス情報が応答可であることに基づき行われる、請求項１２に記載のシステム。
【請求項１４】
前記配送先クライアント・コンピュータが携帯電話であることに応答して、前記宛先クライアント・コンピュータに向けられたメッセージを、前記携帯電話に適合する形式に変換する手段を含む、請求項１１に記載のシステム。
【請求項１５】
前記配送先クライアント・コンピュータがＧＰＳ装置を備え、該ＧＰＳ装置によって検出された座標に基づき場所の候補を生成する手段を含む、請求項９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に、情報処理技術に関し、より特定的には、チャットなどのメッセージを交換するための、インスタント・メッセージング技法に関する。
【背景技術】
【０００２】
コンピュータ・システムを用いたコミュニケーション・ツールとして、インスタント・メッセージング・サービスが急速に普及している。インスタント・メッセージング・サービスを使用すれば、グループウェア・クライアントがインストールされたコンピュータの間でテキスト・メッセージをリアルタイムで交換することができる。
【０００３】
グループウェア・クライアントは、日常的にメッセージ交換を行う相手を登録するためのコンタクトリストを作成することができる。さらに、グループウェア・クライアントは、「応答可能」、「会議中」、「外出中」というような相手の状態に関する情報（ステータス情報などと称される）を確認して、相手方の状況を確認してからメッセージを交換することができる。
【０００４】
たとえば、インスタント・メッセージング・サービスについて、以下のような技術が開発され、公開されている。
【０００５】
特開２００４−２４１９４６号公報は、受信者側の設定に応じて電子メールとインスタント・メッセージとのいずれかを受取ることが可能なメッセージ送受信システムを開示する。インスタント・メッセージ転送手段はサーバ装置からのインスタント・メッセージ各々をユーザが設定した転送条件に基づいてどこに転送させるか判断して転送させる。メッセージ変換装置がインスタント・メッセージから電子メールへの変換を行い、また逆に、電子メールからインスタント・メッセージへの変換をも行う。
【０００６】
特開２００５−１０７８９３号公報は、アプリケーション共有を容易に実現するための移動体通信端末を用いたＩＭシステムを開示する。各ユーザ端末２００およびＢＯＴ３００（ＩＭクライアント）は、サーバ１００を介してインスタントメッセージ（ＩＭ）のメッセージ交換を行う。ＩＭクライアントでセッションが確立すると、サーバ１００はセッションＩＤを割り当て、該当するＩＭクライアントに通知する。ＩＭクライアントは、メッセージ送信の際に、メッセージの送信先を示す情報や通知されたセッションＩＤを「プレゼンス情報」として送信する。サーバ１００は、ＩＭクライアントからメッセージを受信すると、メッセージとともに受信したプレゼンス情報に基づいて、セッション参加メンバやメッセージ送信先を判別し、判別結果に基づいてメッセージの中継先を制御することで、複数のユーザにＢＯＴ３００が提供するアプリケーションを共有させたり、複数のＢＯＴ３００を連携させる。
【０００７】
特表２００５−５３５０１２号公報は、インスタント・メッセージング・セッションを実行しているときにユーザのスクリーン上にアニメーション化したトーキング・キャラクタを出現可能にする方法及び装置を開示する。ユーザのスクリーン上に表示されるキャラクタは、メッセージのセンダ用のプロファイルにより判断される。これは、どのキャラクタをインスタント・メッセージの受取人のスクリーン上に表示するのかをユーザに予め選択可能にする。
【０００８】
特開２００６−３５１０２０号公報は、少なくとも二つの同時通信セッションを処理するために通信デバイスを作動させる方法を開示する。方法は、第１の通信セッションを処理する第１の部分、および第２の通信セッションにスイッチを呼び出させる第２の部分を備えるユーザインターフェースを提供することと、スイッチを呼び出させるためにユーザ入力に応答し、第２の通信セッションを処理するために、ＧＵＩの第１の部分をスイッチすることと、第１の通信セッションが第１の部分において処理される間に、少なくとも第２の通信セッションのアクティビティに応じて、第２の部分において通知の主題であるコンタクトを識別するコンタクト部分と通知の主題であるコンタクトのアクティビティを識別するアクティビティ部分を備える通知を表示することを含む。
【０００９】
特表２００６−５０１５７８号公報は、第一のインスタント・メッセージング・フォーマットでデータ処理デバイスからインスタント・メッセージを受け取るステップ、そのインスタント・メッセージが向けられた第一のＩＭサービスを特定するステップ、そのインスタント・メッセージを第一のＩＭサービスと互換性のある第二のＩＭフォーマットに再フォーマットするステップ、及び、その第二のＩＭフォーマットでインスタント・メッセージを第一のＩＭサービスに伝送するステップ、を含む方法を開示する。
【００１０】
株式会社ＮＴＴデータが提供するワイヤレス・インスタント・メッセージ・サービスは、質問に対する答えを予めフォームとして用意してからユーザに送信し、フォームを受け取ったユーザは携帯電話のボタンを押すことで、質問に対する回答を送信することができるサービスを提供する（非特許文献１参照）。
【００１１】
【特許文献１】特開２００４−２４１９４６号公報
【特許文献２】特開２００５−１０７８９３号公報
【特許文献３】特表２００５−５３５０１２号公報
【特許文献４】特開２００６−３５１０２０号公報
【特許文献５】特表２００６−５０１５７８号公報
【非特許文献１】株式会社ＮＴＴデータ、「２００２年ニュースリリース、ＮＴＴデータがワイヤレス・インスタント・メッセージを実現する『ＡｉｒＢｒｉｄｇｅＴＭ』『Ａｉｒ  ＭｅｓｓｅｎｇｅｒＴＭ』、『Ａｉｒ  Ｍｅｓｓｅｎｇｅｒ  ＢｏｔＴＭ』を開発」、２００２年３月２０日、[online]、「２００７年５月１５日検索」インターネット＜ＵＲＬ：http://www.nttdata.co.jp/release/2002/032000.html＞
【発明の開示】
【発明が解決しようとする課題】
【００１２】
デスクトップＰＣ、モバイルＰＣ、ＰＤＡ、携帯電話など、複数の端末を切り替えて使用するユーザが増え続けている。そのような状況では、ユーザが、複数の端末で同時にインスタント・メッセージ・クライアントを立ち上げ、同一のユーザＩＤでログインをしつつ、現在手元にあり使用している端末において他のクライアントからメッセージの受信し、メッセージを送信することを希望する場合がある。
【００１３】
例えば、自分のオフィスにいるときはデスクトップＰＣにおいてメッセージを送受信し、会議中はモバイルＰＣにおいてメッセージを送受信し、移動中は携帯電話やＰＤＡにおいてメッセージを送受信する、といった具合である。
【００１４】
しかし、上述した背景技術を含む現在のインスタント・メッセージング技法では、そのような状況においてスムーズに端末の切り替えをすることができないという課題があった。
【００１５】
従って、本発明の目的の１つは、上記の課題に鑑み、インスタント・メッセージング・システム、サーバ、方法、およびプログラムの改善を提供し、インスタント・メッセージング・サービスをより便利なものとすることである。
【００１６】
本発明の別の目的は、インスタント・メッセージング・システムにおいて、同一ＩＤでログインされているパーソナル・コンピュータ、ＰＤＡ、携帯電話などに対して、自動的に、好適な様式でメッセージを送信することを実現することにある。
【課題を解決するための手段】
【００１７】
上記の目的を達成するために、それぞれがネットワークで接続された第１および第２のクライアント・コンピュータ、およびグループウェア・サーバを含むインスタント・メッセージング・システムが提供される。第１のクライアント・コンピュータは、ユーザが第１のユーザＩＤでログインし、第１のステータス情報を設定することができる第１のグループウェア・クライアントを含む。第２のクライアント・コンピュータは、ユーザが第１のユーザＩＤでログインし、第１のステータス情報と異なり得る第２のステータス情報を設定することができる第２のグループウェア・クライアントを含む。グループウェア・サーバは、第１のユーザＩＤに向けられたインスタント・メッセージを、第１および第２のステータス情報に基づいて、第１および第２のグループウェア・クライアントのいずれに配送するかを決定することができる。
【００１８】
以上、本発明の概要を、インスタント・メッセージング・システムとして説明したが、本発明は、グループウェア・サーバ、方法、プログラム、またはプログラム製品として把握することもできる。プログラム製品は、例えば、前述のプログラムを格納した記憶媒体を含め、あるいはプログラムを伝送する媒体を含めることができる。
【００１９】
上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの構成要素のコンビネーションまたはサブコンビネーションもまた、発明となり得ることに留意すべきである。
【発明を実施するための最良の形態】
【００２０】
以下、本発明を実施するための最良の形態を図面に基づいて詳細に説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。実施の形態の説明の全体を通じて同じ要素には同じ番号を付している。
【００２１】
図１は、本発明の実施形態のインスタント・メッセージング・システム１００を図示した高水準の全体概要図である。本発明の実施形態のシステム１００は、ネットワーク１５０を介して相互に接続された、グループウェア・サーバ１１０、クライアント・コンピュータ１２０、１３０、および１４０（以下、「クライアント・コンピュータ」と総称することがある）を含む。
【００２２】
本発明の実施形態のグループウェア・サーバ１１０は、ネットワーク技術を使用して情報共有やコミュニケーションを促進することで、ユーザによる協調作業を支援するためのソフトウェアであるグループウェア（または、コラボレーション・ソフトウェアとも呼ばれる）が導入されたコンピュータ・サーバである。
【００２３】
具体的には、グループウェア・サーバ１１０は、クライアント・コンピュータを使用するユーザ間でテキスト・メッセージをリアルタイムで交換するインスタント・メッセージング・サービス、およびユーザ間で電子メールを交換する電子メール・サービスを提供する。さらに、グループウェア・サーバ１１０は、ユーザがスケジュール管理を行うためのスケジューラ・サービスを提供する。
【００２４】
図６に、グループウェア・サーバ１１０のハードウェア構成のブロック図が示されている。図６において、グループウェア・サーバ（サーバ・コンピュータ）１１０は、メイン・メモリ６０６、ＣＰＵ６０４、ＩＤＥコントローラ６０８をもち、これらは、バス６０２に接続されている。バス６０２には更に、ディスプレイ・コントローラ６１４と、通信インターフェース６１８と、キーボード・マウス・コントローラ６２０が接続されている。ＩＤＥコントローラ６０８には、ハードディスク６１０と、ＤＶＤドライブ６１２が接続されている。ディスプレイ・コントローラ６１４には、好適には、ＬＣＤモニタであるディスプレイ装置６１６が接続されている。キーボード・マウス・コントローラ６２０には、キーボード６２２と、マウス６２４が接続され、キーボード６２２と、マウス６２４は、グループウェア・サーバ１１０のオペレータが必要に応じて、システムの起動、障害の回復、データのバックアップなどの処理を行うために使用される。
【００２５】
ＣＰＵ６０４は、３２ビットまたは６４ビット・アーキテクチャに基づく任意のものでよく、例えば、インテル社のＰｅｎｔｉｕｍ（商標）４、Ｘｅｏｎ（商標）、ＡＭＤ社のＡｔｈｌｏｎ（商標）などを使用することができる。
【００２６】
ハードディスク６１０には、グループウェア・サーバ１１０全体を制御するためのオペレーティング・システムと、オペレーティング・システム上で動作し、メール機能及びインスタント・メッセージング機能を実現するための通信サーバ・プログラムが格納されており、システムの起動時に、オペレーティング・システムと、グループウェア・サーバ・プログラムは、メインメモリにロードされる。オペレーティング・システムは、Ｗｉｎｄｏｗｓ  ＸＰ（商標）、Ｗｉｎｄｏｗｓ（商標）  Ｓｅｒｖｅｒ  ２００３、Ｌｉｎｕｘ（商標）などを使用することができる。ここで使用されるグループウェア・サーバ・ソフトウェアは、例えば、インターナショナル・ビジネス・マシーンズ・コーポレーションから入手可能な、Ｌｏｔｕｓ  ＮＯＴＥＳ（商標）／Ｄｏｍｉｎｏ（商標）に、本発明独自の機能拡張を施したものである。
【００２７】
通信インターフェース６１８は、オペレーティング・システムが提供するＴＣＰ／ＩＰ通信機能を利用して、イーサネット・プロトコルなどにより、好適には、プロキシ・サーバ（図示しない）を介して、外部のインターネット１５０と、データのやりとりをする。
【００２８】
図１に戻って、本発明の実施形態のクライアント・コンピュータは、グループウェア・サーバ１１０のグループウェア・サーバ・ソフトウェアと対となるグループウェア・クライアント・ソフトウェア（以下、単に「グループウェア・クライアント」と称する）が導入されているものとする。
【００２９】
すなわち、グループウェア・クライアントは、少なくともインスタント・メッセージング機能、電子メール機能およびスケジューラ機能を備えており、グループウェア・クライアントのユーザ（以下、単に「ユーザ」と称する）は、テキスト・メッセージを相互にリアルタイムで交換し、電子メールを交換し、スケジューラ機能を使用してスケジュール管理を行うことができる。
【００３０】
図６には、クライアント・コンピュータ（グループウェア・クライアント）１２０のブロック図が示されている。図６において、グループウェア・クライアント１２０（または１３０）は、メイン・メモリ６３６、ＣＰＵ６３４、ＩＤＥコントローラ６３８をもち、これらは、バス６３２に接続されている。バス６３２には更に、ディスプレイ・コントローラ６４４と、通信インターフェース６４８と、キーボード・マウス・コントローラ６５０が接続されている。ＩＤＥコントローラ６３８には、ハードディスク６４０と、ＤＶＤドライブ６４２が接続されている。ＤＶＤドライブ６４２は、必要に応じて、ＣＤ−ＲＯＭやＤＶＤから、プログラムを導入するために使用する。図１から見て取れるように、クライアント・コンピュータ１２０及び１３０は、好適にはノード型パソコンであり、ディスプレイ・コントローラ６４４には、ノード型パソコンに一体に取り付けられているＬＣＤ画面をもつディスプレイ装置６４６が接続されている。キーボード・マウス・コントローラ６５０には、キーボード６５２と、マウス６５４が接続され、キーボード６５２と、マウス６５４は、クライアント・コンピュータ１２０、１３０のユーザーが、チャットやｅメールなどのメッセージを入力したり、メニューから動作を選択し実行したりするために使用される。
【００３１】
ＣＰＵ６３４は、例えば、３２ビット・アーキテクチャに基づく任意のものでよく、例えば、例えば、インテル社のＰｅｎｔｉｕｍ（商標）４、ＡＭＤ社のＡｔｈｌｏｎ（商標）などを使用することができる。
【００３２】
ハードディスク６４０には、グループウェア・クライアント全体を制御するためのオペレーティング・システムと、オペレーティング・システム上で動作し、メール機能及びインスタント・メッセージング機能を実現するためのグループウェア・クライアント・ソフトウェアが格納されており、システムの起動時に、オペレーティング・システムと、グループウェア・サーバ・ソフトウェアは、メインメモリにロードされる。オペレーティング・システムは、Ｗｉｎｄｏｗｓ  ＸＰ（商標）、Ｌｉｎｕｘ（商標）などを使用することができる。グループウェア・クラアイント・ソフトウェアとしては、例えば、インターナショナル・ビジネス・マシーンズ・コーポレーションから入手可能な、Ｌｏｔｕｓ  ＮＯＴＥＳ（商標）があり、本発明は、このようなグループウェア・サーバ・ソフトウェアに機能拡張を施したものである。
【００３３】
通信インターフェース６４８は、オペレーティング・システムが提供するＴＣＰ／ＩＰ通信機能を利用して、イーサネット・プロトコルなどにより、サーバ・コンピュータ１１０と、通信する。
【００３４】
図１に戻って、本発明の実施形態では、クライアント・コンピュータ１２０が第１のユーザ（ユーザＡ）によって使用され、クライアント・コンピュータ１３０および１４０が第２のユーザ（ユーザＢ）によって使用されるものとする。
【００３５】
また、本発明の実施形態では、クライアント・コンピュータ１２０および１３０は、よく知られたパーソナル・コンピュータであり、クライアント・コンピュータ１４０は、無線基地局を通じてネットワーク１５０に接続する機能を備えた、例えば、i-mode（登録商標）、ezweb（登録商標）、Blackberry（登録商標）のようなインテリジェント機能を有する携帯電話であるものとする。
【００３６】
ネットワーク１５０は、グループウェア・サーバ１１０およびクライアント・コンピュータを接続する通信経路であり、一例としてインターネット、イントラネット、携帯電話網あるいはその組み合わせにより実現することができる。本発明の実施形態のネットワーク１５０は、当業者によく知られた通信プロトコルであるＴＣＰ／ＩＰなどを用いてシステム間を接続する。
【００３７】
図２は、本発明の実施形態によるグループウェア・サーバ１１０の機能ブロック図である。なお、図２および図３の機能ブロック図に示す各要素は、図６に示すハードウェア構成において、ハードディスク６１０などに格納されたオペレーティング・システムやコンピュータ・プログラムをメインメモリ６０６にロードした上でＣＰＵ６０４に演算させ、ハードウェア資源とソフトウェアを協働させることによって実現することができる。
【００３８】
本発明の実施形態によるグループウェア・サーバ１１０は、クライアント通信部２０５、メッセージ送信部２１０、メッセージ変換部２１５、配送先テーブル２２０、ステータス遷移テーブル２２５、メッセージ受信部２３０、配送先決定部２３５、ステータス情報テーブル２４０、ステータス管理部２４５、クライアント表示制御部２５０、スケジューラ２５５、ユーザ情報管理部２６０、ユーザ認証部２６５を備える。
【００３９】
クライアント通信部２０５は、クライアント・コンピュータとの間でネットワーク１５０を介してデジタル情報を交換する機能を有する。本発明の実施形態においては、クライアント通信部２０５を介して、インスタント・メッセージ、電子メールデータ、ユーザ認証情報、スケジュール情報などが交換される。
【００４０】
メッセージ受信部２１０は、クライアント通信部が受信したクライアント・コンピュータのテキスト・メッセージを受信し、配送先決定部２１５に転送する機能を有する。配送先決定部２１５は、メッセージ受信部２１０から受けたテキスト・メッセージの配送先を、メッセージのヘッダ部のユーザＩＤと配送先テーブル２２０、ステータス情報テーブル２４０を参照して決定する。
【００４１】
配送先テーブル２２０は、配送先を決定するルールを記述したテーブルである。また、ステータス情報テーブル２４０は、対応するユーザＩＤとクライアントＩＤと関連付けられたステータス情報を記録するテーブルである。配送先テーブル２２０およびステータス情報テーブル２４０の詳細は後述する。
【００４２】
メッセージ変換部２３０は、配送先決定部２１５が決定した配送先に応じて、メッセージを変換し、メッセージ送信部２２５に引き渡す。例えば、配送先が携帯電話であるクライアント・コンピュータと決定された場合は、表示画面が小さい携帯電話端末でも見やすいメッセージに受けたメッセージを変換する。
【００４３】
なお、配送先が応答可能状態のパーソナル・コンピュータなどの場合は、メッセージの受信者は変換せずそのまま見ることができるので、メッセージ変換部２３０がメッセージ変換を実質的に行わないことがあり得ることに留意されたい。メッセージ送信部２２５は、メッセージ変換部２３０から受けたメッセージを、インスタント・メッセージまたは電子メールの形式で配送先に送信する機能を有する。
【００４４】
ステータス管理部２４５は、ステータス情報テーブル２４０の内容をステータス遷移テーブル２５０、ユーザ認証部２７０を参照して変更し、維持管理する機能を有する。ステータス遷移テーブル２２５は、いついかなる条件でステータスが変更されるかのルールが記述されている。本発明の実施形態のステータス遷移テーブル２５０の詳細は後述する。
【００４５】
ユーザ認証部２７０は、インスタント・メッセージング・システムにログインしようとするユーザから受けた認証情報（ユーザＩＤ、パスワード）とユーザ情報管理部（ＬＤＡＰ）２６５内の当該ユーザに関する認証情報を突き合わせて、ユーザのログイン認証を実施する。また、かかる認証が成功したことをステータス管理部２４５に通知し、ステータス情報テーブル２４０を更新させる。さらに、ユーザが強制的にステータスを変更したことの通知をクライアント・コンピュータ１２０または１３０から受け、その旨をステータス管理部２４５に通知することによって、ステータス情報テーブル２４０を更新させる。
【００４６】
ユーザ情報管理部（ＬＤＡＰ）２６５には、上述のユーザ認証情報の他に、ユーザごとにコンタクトリストに追加した登録ユーザの情報、および登録ユーザに対するアクセス権限、グループ情報、スケジュール閲覧権限などが記録される。
【００４７】
スケジューラ２６０は、ユーザのスケジュールを管理する。本発明の実施形態のスケジューラは、ユーザが自己のスケジュール情報をどのユーザにどの程度詳細まで閲覧することを許すかどうかを設定する機能を有する。当該権限の設定は、ユーザ情報管理部２６５に記録される。
【００４８】
クライアント表示制御部２５５は、グループウェア・サーバ１１０に記録された情報に基づいて、クライアント・コンピュータに表示させる情報を提供し、制御する機能を有する。具体的には、クライアント表示制御部２５５は、インスタント・メッセージング・サービスの一部として、コンタクトリストをそれぞれのユーザの設定に応じてクライアント・コンピュータに提供し、表示させる。さらに、クライアント表示制御部２５５は、コンタクトリストおよびスケジューラのクライアントに、ユーザ情報管理部に記録された情報に基づいて、それぞれのユーザのステータスおよびスケジュール情報を表示させる機能を有する。
【００４９】
図３は、本発明の実施形態によるクライアント・コンピュータ１２０および１３０における、グループウェア・サーバ・ソフトウェアの機能ブロック図である。グループウェア・サーバ・ソフトウェアは、サーバ通信部３０５、ユーザ情報入力部３１０、スケジュール入力部３１５、スケジュール受信部３２０、カレンダ表示部３２５、コンタクトリスト制御部３３０、コンタクトリスト表示部３３５、メッセージ入力部３４０、メッセージ送信部３４５、メッセージ受信部３５０、メッセージ表示部３５５、ジェスチャ入力部３６０、およびメール・クライアント３６５を備える。
【００５０】
サーバ通信部３０５は、ネットワーク１５０を介してクライアント・コンピュータから受けた情報を、上記した機能ブロックに渡し、また機能ブロックから受けた情報を、ネットワーク１５０を介してクライアント・コンピュータに送信する機能を有する。
【００５１】
ユーザ情報入力部３１０は、当該クライアント・コンピュータのユーザの情報を入力する機能を提供する。本発明の実施形態のシナリオでは、入力されるユーザの情報は、インスタント・メッセージング・サービスを受けるためのユーザ認証情報や、ステータス変更の指示情報を含む。
【００５２】
スケジュール・クライアントは、スケジュール入力部３１５、スケジュール受信部３２０、カレンダ表示部３２５を含む。スケジュール入力部３１５は、クライアント・コンピュータのユーザのスケジュール情報を入力し、サーバ通信部３０５を介してスケジュール受信部３２０により、カレンダ表示部３２５に、表示すべきカレンダ情報を渡す。
【００５３】
コンタクトリスト部は、コンタクトリスト制御部３３０、コンタクトリスト表示部３３５を含む。
【００５４】
インスタント・メッセージング・クライアントは、メッセージ入力部３４０、メッセージ送信部３４５、メッセージ受信部３５０、メッセージ表示部３５５、ジェスチャ入力部３６０を含む。
【００５５】
メール・クライアント３６５は、クライアント・コンピュータのユーザが、ｅメールを送り、または受信するための機能を提供するものであり、ＳＭＴＰ、ＰＯＰなどの通常のプロトコルを用いる。
【００５６】
図４および図５は、本発明の実施形態のインスタント・メッセージング・システムにおけるメッセージ配送の動作を表現するフローチャートである。図４のフローチャートの処理、はステップ４０５でスタートし、クライアント・コンピュータ１２０のユーザをユーザＡとすると、クライアント・コンピュータ１２０上で動作するインスタント・メッセージング・システムは、ステップ４１０で、ユーザＡに対するユーザ認証を行う。この認証は、例えば、図１０に示すようなメニューに従い、行われる。すなわち、ユーザＡは、インスタント・メッセージング・システムにログインしようとすると、図１０に示す画面１０１０が、クライアント・コンピュータ１２０のディスプレイ６４６に表示され、この画面の所定箇所１０２０及び１０３０に、ユーザＡは、自分のユーザＩＤと、対応するパスワードをキーボード６５２により入力して、「ログオン」ボタン１０４０をマウス６５４でクリックすると、入力されたユーザＩＤとパスワードは、図３のユーザ情報入力部３１０とサーバ通信部３０５を介して、サーバ・コンピュータ１１０に送られる。
【００５７】
サーバ・コンピュータ１１０では、クライアント通信部２０５を介して、この情報を受け取り、その情報は、ユーザ認証部２７０に送られる。ユーザ認証部２７０には、インスタント・メッセージング・システムを使うことを許可されているユーザＩＤとパスワードの複数の組が保管されており、ユーザ認証部２７０は、受け取ったユーザーＩＤとパスワードの情報を、保管しているユーザＩＤとパスワードの複数の組と照合し、一致するものが見つかると、クライアント通信部２０５を介して、クライアント・コンピュータ１２０に対して、認証成功をあらわす信号が送られる。クライアント・コンピュータ１２０は、サーバ通信部３０５を介して、認証成功をあらわす信号を受け取り、クライアント・コンピュータ１２０に導入されているインスタント・メッセージング・システムは、この認証成功をあらわす信号を以って、ユーザＡに、ログインを許可する。
【００５８】
一方、もし入力されたユーザＩＤとパスワードに一致するユーザＩＤとパスワードの組がユーザ認証部２７０に見つからないと、クライアント通信部２０５を介して、クライアント・コンピュータ１２０に対して、認証失敗をあらわす信号が送られる。これを以って、クライアント・コンピュータ１２０に導入されているインスタント・メッセージング・システムは、ユーザＡのログインを失敗させる。
【００５９】
さて、ユーザＡが、認証に成功してログインを許可されると、図１１のような、インスタント・メッセージングの画面１１１０が、クライアント・コンピュータ１２０のディスプレイ６４６に表示される。すなわち、このクライアント・コンピュータ１２０のユーザＡが登録しているユーザのうちログインしている者のコンタクトリストが、好適には、リスト１、リスト２のようにグループ分けされて、リストされる。このようなユーザ毎の登録ユーザリスト（以下、コンタクトリストと称する）は、好適には、各ユーザＩＤ毎に図２のユーザ情報管理部２６５に保管されていて、随時、クライアント・コンピュータが追加／変更／削除可能である。認証の成功に応答して、図２のユーザ情報管理部２６５から、クライアント表示制御部２５５を介して、ログインしたユーザのコンタクトリストが、クライアント通信部２０５に送られ、さらにそこから、コンタクトリストの情報が、クライアント・コンピュータ１２０に送られる。クライアント・コンピュータ１２０は、送られたコンタクトリストを、サーバ通信部３０５で受け取ると、コンタクトリスト制御部３５０を介して、コンタクトリスト表示部３５５に送り、コンタクトリスト表示部３５５は、図１１に示すように、画面にコンタクトリストを表示する。図１１では、Abeにカーソルがあてられ、それに応答して、ユーザーＩＤとともに、現在のステータス「09:30-11:00 会議中です」がポップアップされている様子が示されている。この機能については、後で説明する。
【００６０】
ステップ４１５では、ユーザＡは単に待機するか、席を離れるか、または、インスタント・メッセージング・システムを使う以外の処理を、クライアント・コンピュータ１２０上でしている。
【００６１】
ステップ４２０の説明に進む前に、携帯電話でインスタント・メッセージングを使用する場合を説明する。従来のインスタント・メッセージング・システムでは、同一のＩＤで複数のコンピュータからログインすると、不正ログインとみなして、強制的にログアウトするシステムがあった。本発明に係るインスタント・メッセージング・システムでは、同一のＩＤによる複数のコンピュータからのログインを許容する。
【００６２】
携帯電話で、所定のメニュー（図示しない）から選択することによりインスタント・メッセージングのログイン機能を起動させると、図１３のように、携帯電話１４０の画面１３１０に、ユーザＩＤとパスワードを入力させる画面が現れる。携帯電話１３００にも、図３に示すようなブロック図の機能、またはそれの簡易化した機能を実現するシステムが構成されており、そのような機能は、好適には、Ｊａｖａ（商標）で書かれている。ここで入力したユーザＩＤとパスワードは、所定のユーザー操作に応答して、携帯電話１４０から、サーバ・コンピュータ１１０のクライアント通信部２０５に送られ、上述したのと同様にして、ユーザ認証部２７０で認証され、その結果に応じて、サーバ・コンピュータ１１０は、携帯電話１４０に、認証成功の信号を送る。認証成功の信号受信に応答して、サーバ・コンピュータ１１０からコンタクトリストが携帯電話１４０に送られ、携帯電話１４０の画面１３１０には、図１４に示すように、コンタクトリストが表示される。
【００６３】
ステップ４２０では、ユーザによるメッセージの作成が行われる。このことは、クライアント・コンピュータでは、図１１に示すコンタクトリストで、表示されている別のユーザをダブルクリックすることによって開始される。それによって、図１２に示すような、メッセージ作成／送信画面１２１０が現れる。ここで、メッセージ作成領域１２３０に、キーボード６５２でメッセージを入れる。このメッセージ入力は、図３のメッセージ入力部３４０によって処理される。メッセージを入れている最中は、判断ステップ４２５の判断がＮｏなので、処理は、ステップ４１５の待機に戻る。そこで、送信キー１２４０をマウス６５４でクリックすると、図３のメッセージ送信部３４５により、入力されたメッセージと、宛先ＩＤの情報が、サーバ通信部３０５に送られ、そこから、サーバ・コンピュータ１１０に転送される。
【００６４】
ステップ４３０で、サーバ・コンピュータ１１０が、送られてきたメッセージと、宛先ＩＤの情報を受信し、その情報は、メッセージ受信部２１０を介して、配送先決定部２１５に送られる。こうして、ステップ４３５では、配送先決定部２１５によって、メッセージの配送先が決定される。
【００６５】
配送先は、原則的に、宛先ＩＤでログインしているコンピュータまたは、携帯電話、ＰＤＡなどのモバイル機器の種類及びステータスによって決定される。
【００６６】
図７は、クライアント・コンピュータ上で動作するインスタント・メッセージング・システムのとり得るステータスの遷移を示す図である。ログインした直後は、ステータスは、「応答可」で、ここから、会議に入るときは、「条件付応答可」に、ユーザは、ステータスを切り替える。また、ユーザが席を離れるときの手動操作、または、一定時間キー入力がないこと、あるいは、クライアント・コンピュータのアイドル状態への移行の検出に応答して、ステータスは、「離席中」に切り替わる。図７に示す遷移図の遷移ロジックは、図２に示すステータス遷移テーブル２５０に保持されている。従って、ステータス遷移テーブル２５０を変更することにより、図７に示す遷移スキームを変更することができる。
【００６７】
ステータスの切り替えは、手動操作の場合、インスタント・メッセージング・システムの画面１１１０のアクション・バーの「オプション」をユーザがクリックすることにより、行われる。すなわち、ユーザがアクション・バーの「オプション」をクリックすると、図１６に示すように、「応答可」、「条件付応答可」、「離席中」などのステータスを含むプルダウンがあらわれる。現在のステータスは、黒丸で示されている。図７の遷移図に示すように、ステータスの切り替えは、状況依存なので、あるステータスで、必ずしも他の全てのステータスが選べる訳ではない。このため、１つの方法では、選べないステータスに対応する文字列をもつメニューのEnabled属性をfalseにすることにより、薄字表示になされる。他の方法では、選べないステータスに対応する文字列をもつメニューのVisible属性をfalseにすることにより、表示されないようにする。このどちらの方法を実装してもよく、この分野の当業者なら、コンボボックスなど、プルダウン以外の等価な機能を与えるＧＵＩ要素を実装することも、視座に入れることであろう。
【００６８】
このようなステータスは、サーバ・コンピュータ１１０のインスタント・メッセージング・システムにログインする各ユーザＩＤの、各ＰＣまたはデバイス毎に、図２のブロック図のステータス情報テーブル２４０に保持され、各ユーザＩＤでログインされている各ＰＣまたはデバイスからのステータス変更の通知メッセージを、クライアント通信部２０５、メッセージ受信部２１０、配送先決定部２１５を介して受け取ることにより、ステータス情報テーブル２４０に保持されている内容が、更新される。図８は、ステータス情報テーブル２４０に保持されている、各ユーザＩＤでログインされている各ＰＣまたはデバイスのステータスの例を示すものである。この図から見て取れるように、ステータス情報テーブル２４０の情報は、各ユーザＩＤ毎のデバイスまたはＰＣのステータスのみならず、ログインしているＰＣまたはデバイスのタイプも保持する。さらに述べると、図４のステップ４１０での認証時に、ユーザがインスタント・メッセージング・システムにログインするために使用するデバイスまたはＰＣは、ＰＣであるか携帯であるかＰＤＡであるかを示す識別子と、そのデバイスまたはＰＣに割り当てられているＩＰアドレスを、サーバ・コンピュータ１１０に送る。そのように送られたデバイス・タイプの識別子と、ＩＰアドレスは、ユーザＩＤに関連付けられて配送先テーブル２２０に保持される。デバイスタイプの識別子とは、例えば、図８で、「ＰＣ」、「携帯」、「ＰＤＡ」などと示されているものである。好適には、配送先テーブル２２０にはさらに、「Ｎｏｔｅｐｃ１」、「携帯１」などとして示されている、デバイス識別子をもつ。デバイス識別子とは例えば、そのデバイスがもつＭＡＣアドレス、コンピュータ名、製造シリアル番号などの任意の識別情報でよく、ログイン時にやはり、クライアント・コンピュータまたは携帯から、サーバ・コンピュータ１１０に送られる。
【００６９】
このようにユーザＩＤに関連付けられて配送先テーブル２２０に保持されたデバイス・タイプの識別子と、ＩＰアドレスは、１つのクライアント・コンピュータから別のクライアント・コンピュータに、メッセージを配送するために使用される。すなわち、クライアント・コンピュータは、ユーザＩＤに基づき、メッセージの配送先を指示するが、サーバ・コンピュータ１１０では、実際に物理的なメッセージの配送先を決定するためには、ＩＰアドレスが必要である。このため、配送先テーブル２２０に保持されている情報に基づき、ユーザＩＤに対応するＩＰアドレスが求められる。
【００７０】
さて、図７に戻って、「離席中」では、ユーザの手動操作、または、キー入力の検出に応答して、ステータスが「応答可」に戻る。「離席中」のステータスでは、携帯またはＰＤＡがサーバ・コンピュータ１１０に接続されていることに応答して、「モバイル応答可」というステータスに切り替わる。「モバイル応答可」の状態では、クライアント・コンピュータの状態に拘わらず、ユーザに向けられたメッセージは、そのユーザのＩＤでログインした、携帯１４０（図１）などのモバイル・デバイスに送られる。これは例えば、ユーザがクライアント・コンピュータから離れて、携帯１４０をもって出かけていき、メッセージを優先的に携帯１４０に送ってほしいという状況である。
【００７１】
「モバイル応答可」の状態では、さらに「モバイル応答不可」の状態にステータス変更可能である。この変更は、携帯での手動操作、または携帯の電波が圏外になったことに応答して、自動的に行われる。「モバイル応答不可」の状態からは、クライアント・コンピュータでの設定のステータスに従う。
【００７２】
「モバイル応答可」の状態で、ユーザがクライアント・コンピュータに戻り、何かキーやマウスに触ると、ステータスは、「応答可」に戻る。
【００７３】
また、図７に示されているように、任意のステータスで、手動操作により、「応答不可」または「オフライン」のステータスに設定変更可能である。「オフライン」とは、ユーザが、クライアント・コンピュータ側のインスタント・メッセージング・システムを終了することを意味する。「オフライン」のステータスでは、携帯またはＰＤＡがサーバ・コンピュータ１１０に接続されていることに応答して、「モバイル応答可」というステータスに切り替わる。なお、「オフライン」のステータスから「モバイル応答可」に変更された場合は、ユーザがクライアント・コンピュータに戻っても、ユーザが再びインスタント・メッセージング・システムを起動するまでは、「応答可」のステータスに戻らないことに留意されたい。
【００７４】
図４のステップ４３５に戻って、図９を参照して、配送先決定部２１５が配送先を決定する処理について説明する。例えば、図８に示すように、AbeのユーザＩＤで、ユーザＡがＮｏｔｅｐｃ１という名前のクライアント・コンピュータのメッセージング・システムと、携帯１という名前の携帯のメッセージング・システムに、ログインしているとする。また、ユーザＢがＮｏｔｅｐｃ２という名前のクライアント・コンピュータのメッセージング・システムと、携帯２という名前の携帯のメッセージング・システムに、ログインしているとする。このように、同一のユーザＩＤで複数のデバイスでログインしていると、１つのユーザＩＤから、別のユーザＩＤにメッセージを送る際に、多義性が生じる。図９のテーブルは、このような送り先の多義性を解消するためのものであって、図４の配送先決定部２１５に保存されており、配送先決定部２１５は、この情報を用いて宛先のユーザＩＤに関連付けられたクライアント・コンピュータ（ＰＣ）ステータスと、携帯のステータスに応じて、ＰＣと携帯のどちらにメッセージが送られるかを決定する。配送先決定部２１５は、図８に示すように、例えば、宛先ＩＤのクライアント・コンピュータが「会議中」のステータスで、同一宛先ＩＤの携帯が、「応答可（図７のモバイル応答可に対応）」の場合には、携帯の方にメッセージを送るように、配送先を決定する。
【００７５】
なお、図９では、携帯に関して、「アイドル」、「移動中」、「電話中」、「電源ＯＦＦ」などの、図７に示されていないステータスが示されているが、これは、一実施例に係るものであり、図７の遷移図では、簡単のため図示を省略した。すなわち、「アイドル」とは、一定時間携帯にキー入力がないことに応答して、自動的に設定される。「移動中」のステータスは、携帯上で、手動操作により設定するものであり、例えば、自動車の運転中で、携帯を手に取ることができない状態のことである。
【００７６】
図９で、例えばクライアント・コンピュータが「離席中」のステータスで、携帯が「アイドル」のステータスであるときは、「Ｐ→携」、すなわち、先ずクライアント・コンピュータにメッセージを送り、次に、携帯にメッセージを送る、という処理が行われる。
【００７７】
また、図９に図示するように、クライアント・コンピュータが「応答不可」のステータスで、携帯も「応答不可」のステータスのとき、配送先決定部２１５は、「ＰＣへメール」するように、配送先と配送方法を決定する。同様に、クライアント・コンピュータが「オフライン」のステータスで、携帯が「応答不可」のステータスのとき、配送先決定部２１５は、「携帯へメール」するように、配送先と配送方法を決定する。このように本発明の一実施例では、配送先だけではなく、配送方法も適宜決定される。なお、状況により、あるユーザＩＤに関して、クライアント・コンピュータだけ、あるいは携帯だけがログインされている、という状況も当然ありえる。このような場合の処理は、図９では、一方の装置が電源オフまたはオフライン、の場合に対応する。例えば、あるユーザＩＤに関して、クライアント・コンピュータ（ＰＣ）のみにログインされている場合は、クライアント・コンピュータのインスタント・メッセージング・システムのステータスが、「応答可」、「離席中」、「会議中」の場合は、クライアント・コンピュータのインスタント・メッセージング・システムにメッセージが送られ、「応答不可」の場合、クライアント・コンピュータにメールが送られる。クライアント・コンピュータのインスタント・メッセージング・システムが、「オフライン」の場合は、そもそも、他ユーザから、このユーザＩＤが、コンタクト・リストに見えないので、考慮する必要がない。携帯だけがログインされている場合は、クライアント・コンピュータがオフラインの場合に対応する。
【００７８】
更に、携帯があるユーザＩＤでログインされているときに、別の携帯で同一のユーザＩＤでログインする、などのように、同一の機器種別の装置でログインした場合は、後からログインした機器の方を優先するものとする。すなわち、例えば、同一のユーザＩＤでログインされた２つの携帯がともに「応答可」のステータスだと、図９のテーブルでメッセージが携帯に送られると判断される場合は、メッセージは、後からログインした携帯の方に送信される。しかし、後からログインした携帯が「応答可」以外のステータスで、先にログインしている携帯が「応答可」の場合、図９のテーブルでメッセージが携帯に送られると判断されると、メッセージは、先にログインした携帯の方に送信される。このような同一機器種別の装置間のメッセージの振り分けは、機器が、パーソナル・コンピュータであっても、同様に適用される。
【００７９】
図４に戻って、ステップ４４０では、メッセージ変換が必要かどうかが判断される。ここでいうメッセージ変換は、典型的には、クライアント・コンピュータから携帯にメッセージを送る際のメッセージ表示変換処理（transcoding)である。すなわち、携帯やＰＤＡなどのモバイル装置のメッセージング・システムの表示画面は、クライアント・コンピュータの表示画面よりも通常狭いので、ステップ４３５で、配送先決定部２１５により配送先がモバイル装置であると決定され、且つ、メッセージが所定長さ（例えば、２５６バイト）以上であると決定されたことに応答して、例えば、本出願人と同一の出願人に係る、特開２０００−２２２７６に開示されている技術を用いて、ステップ４４５で、図２のメッセージ変換ブロック２３０により、メッセージ変換することができる。一方、ステップ４３５で、宛先がクライアント・コンピュータであると決定された場合は、ステップ４４０では、メッセージ変換は、行われない。
【００８０】
ステップ４５０では、このようにして用意されたメッセージが、ステップ４３５で決定された宛先に、決定された配送方法で、配送される。すなわち、配送方法がインスタント・メッセージである場合は、メッセージ送信部２２５を介して、決定された宛先のＰＣあるいはデバイスに、メッセージが配送される。配送方法が例えば図９の、ＰＣが応答不可、携帯が電源オフの場合ようにメールであると、メール・サーバ２３５に、メッセージが配送され、そこから、ＳＭＴＰプロトコルにより、宛先クライアント・コンピュータまたは、宛先モバイル装置に、メールが送られる。
【００８１】
図４の接続子４５５は、第５図のフローチャートの接続子５０５につながっている。図５のステップ５１５で、図４のステップ４５０で送られたメッセージが、例えば、ユーザＢがログインしているクライアント・コンピュータ１３０のサーバ受信部３０５（図３）で、受信される。受信されたメッセージは、メッセージ受信部３５０を介して、メッセージ表示部３５５に送られ、そこで、図１２の表示部１２２０に示すように、表示される。
【００８２】
それ以降のステップ５２０、ステップ５２５、ステップ５３０、ステップ５３５、ステップ５４０、ステップ５４５、ステップ５５０での処理は、それぞれ、図４のステップ４２０、ステップ４２５、ステップ４３０、ステップ４３５、ステップ４４０、ステップ４４５、ステップ４５０での処理と実質的に同一であるので、説明を省略する。
【００８３】
以上で、基本的なメッセージ配送機能について説明したので、以下、本発明の実施例に係る追加の機能について、説明する。その第１は、カレンダ表示機能である。本発明の実施例によれば、インスタント・メッセージング・システムは、同一ＩＤでログインされる、典型的にはＬｏｔｕｓ  ＮＯＴＥＳ（商標）のようにグループウェア・システムのカレンダ入力・表示機能と連携される。
【００８４】
図１７は、グループ・ウェアの典型的なカレンダ入力・表示画面である。左部分１７１０には、１ヶ月のカレンダが表示され、特に、今の週と、今日の日がハイライト表示される。右側部分１７２０には、入力された実際の予定が表示されている。右側部分１７２０では、日表示、週表示、月表示に切り替え可能であり、図示されている例は、週表示である。
【００８５】
さて、本発明のこの機能は、図１１のポップアップ１１２０で示すように、リストされているユーザにマウス・カーソルをあてたとき、そのユーザのカレンダの、現時点を含む表示を可能ならしめることにある。一つの実施例では、カレンダを見せるレベルを、グループ毎に設定可能とする。そのようなレベルとして、高レベル、中レベル、低レベルがあるとする。グループ毎のレベルの設定は、例えば、図１８に示すようにして行う。すなわち、インスタント・メッセージングの画面で、リスト名にマウス・カーソルをあてて、マウスの右ボタンをクリックする。すると、「高レベル」、「中レベル」、「低レベル」のメニューが表示された画面がポップアップするので、所望のレベルをクリックすることによって、このリスト名のグループのユーザに対して、クリックしたレベル、例えば、「高レベル」が設定される。
【００８６】
図１９は、そのようにレベルを設定されたグループにあるユーザが、レベルを設定したユーザを、図１１のように、インスタント・メッセージングのコンタクト・リスト画面で、マウス・カーソルをあてた場合の処理のフローチャートである。図１９のステップ１９１０では、マウス・カーソルをあてたユーザから、自分が高レベルを設定されているかどうかが判断され、もしそうなら、ステップ１９２０で、そのユーザの一日のスケジュール全体と、専用のカスタマイズされたメッセージがポップアップ表示される。そのような高レベルは例えば、秘書に当たる人に対して設定される。高レベルでない場合、ステップ１９３０で、中レベルかどうかが判断され、もしそうなら、ステップ１９４０で、現在の状況と、会議中であることと、時間が表示される。そのような中レベルは例えば、プロジェクトの同僚に対して設定される。中レベルでもない場合、低レベルということになるので、ステップ１９５０で、会議中であることのみ表示される。低レベルは、特に密な関係にない一般の人に対して設定される。
【００８７】
なお、図１８では、リスト・グループ単位でユーザに対してレベルが設定されたが、個々のユーザＩＤに対して個別に設定するようにしてもよい。このようなコンタクト・リストのグループに対する設定レベル、または個々のユーザＩＤに対する設定レベルは、図４のユーザ情報管理部２６５に保持され、個々のユーザのカレンダを管理するスケジューラ２６０に作用して、クライアント表示制御部２５５に送られるカレンダ情報の内容を制御するために使用される。そのカレンダ情報は、サーバ・コンピュータ１１０のクライアント通信部２０５を経由して、クライアント・コンピュータ１２０のサーバ通信部３０５に送られ、スケジュール通信部３２０を介して、カレンダ表示部３２５に送られ、図１１のポップアップ１１２０のような内容をクライアントに表示するために使用される。
【００８８】
図２０はさらに細かい粒度で、コンタクト・リストのグループ毎に表示レベルを設定するための別の実施例の画面を示すものである。図２０において、その画面を表示しているユーザが作成したコンタクト・リストのグループが、表示されている。ここでは、Secretaryというリストが選ばれ、そのメンバーのＩＤ（eメール・アドレス）が、領域２０２０に表示され、ここで、グループに、ユーザＩＤを、追加／削除可能である。図２０の右側には、スケジュール表示を現在だけにするか、すべて表示するか、エントリ表示として会議・予約・出張・休暇のうちのどれを表示するか、エントリの内容としてサブジェクト・時間・場所のうちのどれを表示するか、応答を可能とするか不可能とするか、設定するメニューが示されている。これらを適宜選んで、ＯＫボタン２０３０をクリックすることにより、指定したグループに対する、カレンダの見せ方が設定される。
【００８９】
図２１は、入力された個別のカレンダ・エントリに対して、表示を制御するための画面を示す図である。特に、"Template"と示すコンボボックスに注目されたい。そこでは、常には、"Default"と表示されているが、そのコンボボックスを開くと、"Private", "Wordless", "Customize", "Out of office"というメニューが現れる。これは、図１１のポップアップ１１２０のような様式で、見せるかどうか、ということである。"Default"は、常に他人にもそのエントリを見せる、というものである。"Private"は、自分しか見れない、"Wordless"は、自分さえも見れない、"Out of office"は、不在時の見せ方である。"Customize"は、"Private", "Wordless", "Out of office"などの既存のテンプレートの編集、あるいは、新規のテンプレートの作成のために選ばれる。"Customize"で新規に作成したテンプレートは、"Template"と示すコンボボックスで、新たに選ぶことが可能となる。
【００９０】
図２２は、"Customize"で、"Out of office"のテンプレートを編集するための画面である。図示されているように、エントリー表示、エントリー内容、応答について設定することが可能である。図２１に戻って、"Template"のところに設定したテンプレートが、そのエントリに適用される。
【００９１】
図２３は、図２４のカレンダを、コンタクト・リストで、Abeという自分のＩＤにマウス・カーソルをあてることによって、ポップアップ２３１０で表示している。図２４で、09:00 - 11:00のエントリ２４１０は、defaultテンプレートを適用されており、Abeをリストする他のユーザが、Abeにマウス・カーソルをあてることによって、見ることができるエントリである。11:00 - 12:00のエントリ２４２０も同様である。しかし、13:00 - 14:00のエントリには、wordlessのテンプレートが適用されており、従って、Abe自身でさえ、ポップアップ２３１０に現れない。18:00 - 2:00のエントリ２４４０には、privateのテンプレートが適用され、よって、Abe自身のポップアップ２３１０にはあらわれるが、Abeをリストする他のユーザが、Abeにマウス・カーソルをあてたときあらわれるポップアップ（図示しない）には、18:00 - 2:00のエントリ２４４０は、あらわれない。
【００９２】
図２５〜図２８は、更に別の機能を説明する図である。すなわち、既述のように、クライアント・コンピュータからのメッセージは、メッセージ変換部２３０で、必要に応じて変換されるが、ここで、メッセージ変換部２３０に、送られてきたメッセージ中の特定の文字列があるかどうかを検出し、それに応じて、メッセージではなく、特定のコマンドを、宛先コンピュータまたはモバイル装置に送出する機能を追加する。図２５は、そのような予定のメッセージを送る例である。この場合のメッセージは、「ごはん+?」で、そのうち、「ごはん」という単語を単独で使用した場合は、サーバ・コンピュータ１１０は、そのメッセージをそのまま宛先に送出する代わりに、特定の動作を指示するコマンドを、宛先に送る。図２６が、その処理フローチャートである。図２６は、実質的に図４のフローチャートの拡張であり、図４のフローチャートに、図示するように、判断ステップ２６１０と、処理ステップ２６２０を挿入する。判断ステップ２６１０では、メッセージ中の特定の文字列があるかどうかを判別する。この実施例では、「ごはん」で始まり、そこで打ち切られるか、後に半角文字が続く場合に、特定の文字列が検出された、と看做される。すなわち、「ごはんをたべたよ。」というメッセージの場合は、「ごはん」の後に全角文字が続くので、特定の文字列とは看做されない。英語の場合は、単語の後にスペースが続くと、コマンドと看做さなれない。例えば、「lunch」は、コマンドであるが、「lunch is over.」は、コマンドとは看做されない。さらに、「ごはん+?」の「+?」は、この実施例で特殊な意味をもつものとし、すなわち、宛先に、Yes/No以外の答えを許さないものとする。図２８には、この実施例で特定の文字列と解釈されるキーワードの例が示されている。
【００９３】
なお、ここで想定する処理には、デバイス依存であるものがあり、例えば、パーソナル・コンピュータでは実行可能であるが、携帯では実行可能でない、という場合がある。ステップ４４０では、宛先コンピュータのタイプも既に判断しているので、その情報を用いて、ステップ２６１０では、実行しようとするコマンドが、宛先装置で実行可能かどうかの判断も行われることに留意されたい。もし宛先装置で実行可能でないと判断された場合には、特定の文字列の検出は行わないで、ステップ４４０に進む。
【００９４】
こうして、ステップ２６１０で、特定の文字列が検出されると、ステップ２６２０では、コマンドとして、メッセージが宛先コンピュータに送られる。ステップ２６２０において、通常のメッセージではなくコマンドであることを示すために、「>>$ごはん+?」のように、特殊接頭文字「>>$」が付与され、一方で、クライアント・コンピュータのメッセージ受信部３５０（図３）では、このような特殊接頭文字「>>$」を解釈して、単にメッセージ表示部３５５に渡すのではなくコマンドとして解釈実行するように機能拡張される。
【００９５】
この実施例では、特定の文字列のコマンドの受領に応答して、宛先コンピュータのマウス・カーソルの形状が変更される。それは、Ｗｉｎｄｏｗｓ  ＸＰ（商標）などのオペレーティング・システムでは、SetCursor()というＡＰＩ関数を呼び出すことによって行われる。このマウス・カーソルの形状指定に使用されるビットマップ・リソースは、好適には、クライアント側のインスタント・メッセージング・システムで用意しておく。この実施例では、「ごはん」という文字列に応答して、図２７に示すように、カーソル２７１０がビュッフェの表示に変更され、これにより、昼ごはんの通知が、クライアント側のユーザになされる。なお、ここで、カーソル２７１０として、アニメーション・カーソルを使用し、そこにメッセージを含めることもできる。アニメーション・カーソルを使用するには、LoadAniCursor()で、先ずアニメーション・カーソルをロードし、次に、SetCursor()を用いる。また、メッセージの「+?」部分に応答して、クライアント・コンピュータには、ポップアップ・ウインドウ２７２０が表示される。このウインドウ２７２０には、送り元のユーザ名（この場合、Abe）と、「Yes」、「No」のみが示され、「Yes」または「No」のどちらかを、クライアント・コンピュータがクリックすることによって、ポップアップ・ウインドウ２７２０は閉じられ、「Yes」または「No」のクリックした方の文字が、送り元にメッセージとして返され、カーソル２７１０は、もとの形状に復元される。なお、ウインドウ２７２０には、送り元のユーザ名が表示されているが、このようにユーザ名を表示したくない状況もある。その場合は、ウインドウ２７２０にはユーザ名は表示することなく、通知してくるユーザに応じて、カーソル２７１０の色や形状を変更して、事前の取り決めにより、カーソル２７１０を見たユーザが、誰からのメッセージであるか、分かるようにしてもよい。また、図２８には、「ごはん」「食事」以外に対応するアイコンも、示されており、食事以外の会議召集などの目的でも、この通知方法を利用することができる。
【００９６】
なお、通知のマウス・カーソルの変更は、一実施例であって、ポップアップ・ウインドウ２７２０自体に、「ごはん」の文字を含める、などウインドウ・システムの任意のグラフィック・インターフェースを使用した通知方法が可能であり、この発明の範囲であることを理解されたい。
【００９７】
また、この実施例は、「Yes」または「No」の応答を、マウス・カーソルによるジェスチャでも入力できるように構成されている。そのようなジェスチャ動作は、例えば、Ｗｉｎｄｏｗｓ  ＸＰ（商標）などのオペレーティング・システムでは、GetCursorPos()関数で一連の座標を取得し、解析することにより行うことができる。図３のジェスチャ入力部３６０が、そのようなジェスチャ動作の解析を担当する。
【００９８】
図３０は、本発明の実施例のさらに別の機能を説明する図である。すなわち、ここでは、メッセージを配送されるクライアント・コンピュータまたはモバイル装置が、ＧＰＳ機能をもつことを想定する。すなわち、ＧＰＳ機能をもつ携帯やＰＤＡは知られているし、最近では、ＰＣにＵＳＢ接続されるＧＰＳ受信装置も販売されている。
【００９９】
そこで、図２６のフローチャートのステップ２６１０で特殊文字として識別される言葉に「どこ?」を追加する。英語なら「where?」である。すると、あるクライアント・コンピュータから、別のクライアント・コンピュータに向けて、インスタント・メッセージングにより、「どこ?」というメッセージが送られると、ステップ２６１０でそれは、特定の文字として判断され、ステップ２６２０で、特殊接頭文字「>>$」が付与され、「>>$どこ?」として、宛先コンピュータの図３に示すメッセージ受信部３４５に、送られる。メッセージ受信部３４５は、特殊接頭文字に応答して、「どこ?」を解釈し、宛先コンピュータに送られる。
【０１００】
一方、宛先コンピュータのメッセージ受信部３４５で行われる処理について、図３０のウインドウの図と、図３１のフローチャートを参照して説明する。図３１のステップ３１１０では、受け取ったメッセージが、「>>$」で始まるコマンド文字列かどうか判断される。もしそうでなければ、通常のメッセージなので、ステップ３１２０で、メッセージ表示部３５５により、メッセージ表示が行われる。もしそうなら、ステップ３１２０で、コマンドが「どこ?」かどうか、判断される。Noであれば、ステップ３１４０で、他のコマンドとして処理される。Yesであれば、ステップ３１５０で、このクライアント・コンピュータまたはモバイル・デバイスに、ＧＰＳ機能があるかどうかが判断される。ＧＰＳ機能があるかどうかの判断は、実際上、ＧＰＳ装置に対する問い合わせを発行して、一定時間以内に応答があるかどうかで判断される。従って、ＧＰＳ装置が装備されていても、電波の受信が良好でない場合、ＧＰＳ機能がないとみなし、メッセージ受信部３４５は、ステップ３１６０で、受け取ったメッセージから、「>>$」を外し、「どこ?」だけを通常どおり、メッセージとして表示し、これに応答して、宛先クライアントは、自己の判断で、適宜場所を応答する。
【０１０１】
ステップ３１５０で、ＧＰＳ機能があると判断された場合、ステップ３１７０で、ＧＰＳ装置から、位置情報が取得される。ここで得られる情報は、基本的には緯度と経度だけであるが、メッセージ受信部３４５は、適当なＧＰＳ支援プログラムにより、具体的な地名の階層を取得し、それらの地名をアイテムとして、ステップ３１８０で、コンボ・ボックスを生成する。ステップ３１９０では、図３０に示すように、生成されたコンボボックス３０１０を含むウインドウ３００５が生成される。ステップ３２００では、コンボボックス３０１０から、ユーザが適当な地名を選び、ＯＫボタン３０２０をクリックすることにより、メッセージの送り元に、選ばれた地名が返される。
【０１０２】
以上、本発明の構成を特定の実施例に基づき説明してきたが、本発明はこの特定の実施例に限定されるものではなく、様々な変更例があり得ることを、この技術分野の当業者なら、理解するであろう。例えば、クライアントとして使用される装置は、パーソナル・コンピュータ、携帯、ＰＤＡに限定されず、ネットワーク接続可能で、インスタント・メッセージング・システムにログイン可能な、任意の装置を使用することが、可能である。
【図面の簡単な説明】
【０１０３】
【図１】本発明の実施形態によるインスタント・メッセージング・システムを図示した高レベルの全体概要図である。
【図２】本発明の実施形態によるグループウェア・サーバの機能ブロック図である。
【図３】本発明の実施形態によるグループウェア・クライアントを備えるクライアント・コンピュータの機能ブロック図である。
【図４】本発明の実施形態のインスタント・メッセージング・システムにおけるメッセージ交換の動作を表現するフローチャートである。
【図５】本発明の実施形態のインスタント・メッセージング・システムにおけるメッセージ交換の動作を表現するフローチャートである。
【図６】本発明の実施形態のインスタント・メッセージング・システムのハードウェア構成のブロック図である。
【図７】本発明の実施形態におけるインスタント・メッセージング・システムのステータス遷移図である。
【図８】本発明の実施形態における複数ユーザのログインの状態を示す図である。
【図９】本発明の実施形態におけるグループウェア・サーバが備える配送先決定テーブルの一例である。
【図１０】本発明の実施形態におけるインスタント・メッセージング・システムの、クライアント・コンピュータにおけるログイン画面の図である。
【図１１】本発明の実施形態におけるインスタント・メッセージング・システムの、クライアント・コンピュータにおけるコンタクト・リストの図である。
【図１２】本発明の実施形態におけるインスタント・メッセージング・システムの、クライアント・コンピュータにおけるメッセージのやりとりを示す図である。
【図１３】本発明の実施形態におけるインスタント・メッセージング・システムの、携帯におけるログイン画面の図である。
【図１４】本発明の実施形態におけるインスタント・メッセージング・システムの、携帯におけるコンタクト・リストの図である。
【図１５】本発明の実施形態におけるインスタント・メッセージング・システムの、携帯におけるメッセージのやりとりを示す図である。
【図１６】本発明の実施形態におけるインスタント・メッセージング・システムの、クライアント・コンピュータにおけるステータス変更のメニューを示す図である。
【図１７】本発明の実施形態におけるクライアント・コンピュータにおけるカレンダの表示画面の一例を示す図である。
【図１８】本発明の実施形態におけるインスタント・メッセージング・システムの、クライアント・コンピュータにおけるコンタクト・リストのグループのレベル変更メニューを示す図である。
【図１９】本発明の実施形態におけるインスタント・メッセージング・システムの、コンタクト・リストのグループのレベルに応じた処理を示す図である。
【図２０】本発明の実施形態におけるインスタント・メッセージング・システムの、クライアント・コンピュータにおけるコンタクト・リストのグループのレベル変更メニューを示す、更に別の実施例の図である。
【図２１】本発明の実施形態におけるインスタント・メッセージング・システムの、クライアント・コンピュータにおけるカレンダ・エントリのオプションをカスタマイズする図である。
【図２２】本発明の実施形態におけるインスタント・メッセージング・システムの、クライアント・コンピュータにおけるカレンダ・エントリのテンプレートをカスタマイズする図である。
【図２３】本発明の実施形態におけるインスタント・メッセージング・システムの、クライアント・コンピュータにおけるコンタクト・リストにおいて、ユーザに対応するカレンダを表示する図である。
【図２４】図２３に対応するカレンダ・エントリを示す図である。
【図２５】本発明の実施形態におけるインスタント・メッセージング・システムで、特殊なメッセージを送る図である。
【図２６】本発明の実施形態におけるインスタント・メッセージング・システムで、特殊なメッセージの処理のフローチャートを示す図である。
【図２７】本発明の実施形態におけるインスタント・メッセージング・システムで、特殊なメッセージの処理の結果、カーソルの変更と、ポップアップの表示をする図である。
【図２８】本発明の実施形態におけるインスタント・メッセージング・システムで、特殊な文字列とそれに対応するカーソル・アイコンを示す図である。
【図２９】本発明の実施形態におけるインスタント・メッセージング・システムで、ジェスチャ入力を示す図である。
【図３０】本発明の実施形態におけるインスタント・メッセージング・システムで、ＧＰＳに基づく位置入力を示す図である。
【図３１】本発明の実施形態におけるインスタント・メッセージング・システムで、ＧＰＳに基づく位置入力の処理を行うフローチャートを示す図である。
【図１】
0004897611.tif 000002
【図２】
0004897611.tif 000003
【図３】
0004897611.tif 000004
【図４】
0004897611.tif 000005
【図５】
0004897611.tif 000006
【図６】
0004897611.tif 000007
【図７】
0004897611.tif 000008
【図８】
0004897611.tif 000009
【図９】
0004897611.tif 000010
【図１０】
0004897611.tif 000011
【図１１】
0004897611.tif 000012
【図１２】
0004897611.tif 000013
【図１３】
0004897611.tif 000014
【図１４】
0004897611.tif 000015
【図１５】
0004897611.tif 000016
【図１６】
0004897611.tif 000017
【図１７】
0004897611.tif 000018
【図１８】
0004897611.tif 000019
【図１９】
0004897611.tif 000020
【図２０】
0004897611.tif 000021
【図２１】
0004897611.tif 000022
【図２２】
0004897611.tif 000023
【図２３】
0004897611.tif 000024
【図２４】
0004897611.tif 000025
【図２５】
0004897611.tif 000026
【図２６】
0004897611.tif 000027
【図２７】
0004897611.tif 000028
【図２８】
0004897611.tif 000029
【図２９】
0004897611.tif 000030
【図３０】
0004897611.tif 000031
【図３１】
0004897611.tif 000032