(57)【要約】      （修正有）【課題】インスタント・メッセージング・インターフェースのコンテキスト内からカレンダ・エントリをスケジュールするための方法、システム、およびプログラムを提供する。【解決手段】インスタント・メッセージング・クライアントが被招待者とのインスタント・メッセージング・チャット・セッションをスケジュールするため、ユーザからの入力を受け、コンタクトリストから被招待者が選択される。インスタント・メッセージング・クライアントが提供するスケジューリング・インターフェースは、ユーザがインスタント・メッセージング・チャット・セッションに関するプロパティを定義することを可能にし、インスタント・メッセージング・チャット・セッションを定義するユーザ入力を受けて、スケジュールされたインスタント・メッセージング・チャット・セッションを形成するためのエントリをユーザのカレンダ・システムにおいて作成する。【選択図】図７
2007193794.tif 000002
【特許請求の範囲】
【請求項１】
インスタント・メッセージング・クライアントを使用してカレンダ・エントリをスケジュールするための、コンピュータにおける方法であって、
前記インスタント・メッセージング・クライアントにおけるコンタクトリストから選択された被招待者とのインスタント・メッセージング・チャット・セッションをスケジュールするためにユーザからの入力を受けるステップと、
前記入力を受けたことに応答して、前記インスタント・メッセージング・チャット・セッションをスケジュールするためのプロパティをユーザが定義するためのスケジューリング・インターフェースをユーザに提供するステップと、
前記インスタント・メッセージング・チャット・セッションをスケジュールするためのプロパティを定義するユーザからの入力を受けたことに応答して、スケジュールされたインスタント・メッセージング・チャット・セッションを形成するために、前記スケジューリング・インターフェースにおいて定義されたプロパティに基づいてユーザのカレンダ・システムにおけるエントリを作成するステップと、
を含む、方法。
【請求項２】
前記スケジューリング・インターフェースをユーザに提供するステップが、
インスタント・メッセージング・サーバからの被招待者の可能性情報を要求するステップと、
前記インスタント・メッセージング・サーバからの前記可能性情報を受けるステップを含み、
前記ユーザにスケジューリング・インターフェースを提供するために、前記可能性情報がインスタント・メッセージング・クライアントによって使用される、
請求項１に記載の方法。
【請求項３】
前記作成するステップが、
前記被招待者の空き時間の状況を決定するために前記被招待者カレンダ・システムをチェックするステップと、
前記被招待者の空き時間の状況に基づいて前記インスタント・メッセージング・チャット・セッションをスケジュールするステップと、
を含む、請求項１に記載の方法。
【請求項４】
前記ユーザのカレンダ・システムが前記インスタント・メッセージング・クライアント内のカレンダ・システムとして、または前記インスタント・メッセージング・クライアントにとっては外部のカレンダ・プログラムとして具現化される、請求項１に記載の方法。
【請求項５】
前記被招待者における或る被招待者が前記カレンダ・システムを使用する場合、前記インスタント・メッセージング・チャット・セッションへの招待状を前記被招待者に送るステップを更に含む、請求項１に記載の方法。
【請求項６】
前記被招待者が前記スケジュールされたインスタント・メッセージング・チャット・セッションを受諾するか、遅らせるか、または再スケジュールすることを可能にするオプションを前記招待状が含む、請求項５に記載の方法。
【請求項７】
前記被招待者が前記インスタント・メッセージング・チャット・セッションを他の人に委ねることを可能にするか、または前記インスタント・メッセージング・チャット・セッションに更なる人を招待するように提案することにより前記被招待者が会議チャットを自動化することを可能にするオプションを前記招待状が含む、請求項５に記載の方法。
【請求項８】
前記被招待者がユーザによって定義されたプロパティを修正することを可能にするオプションを前記招待状が含む、請求項１に記載の方法。
【請求項９】
前記スケジューリング・インターフェースにおいて定義されたプロパティが、前記インスタント・メッセージング・チャット・セッションの日時、前記インスタント・メッセージング・チャット・セッションにおいて検討されるべき話題、前記インスタント・メッセージング・チャット・セッションに関するノート、および前記インスタント・メッセージング・チャット・セッションに関連するドキュメントの少なくとも１つを含む、請求項１に記載の方法。
【請求項１０】
前記スケジュールされたインスタント・メッセージング・チャット・セッションが或る指定された期間内に開始することをユーザに警報するリマインダの指定を前記プロパティが含む、請求項１に記載の方法。
【請求項１１】
ユーザが前記被招待者とのインスタント・メッセージング・チャットをスケジュールすることを許容または阻止するために許可ルールを前記被招待者が使用する、請求項１に記載の方法。
【請求項１２】
インスタント・メッセージング・クライアントのコンテキスト内でカレンダ・エントリをスケジュールするためのデータ処理システムであって、
バスと、
前記バスに接続され、コンピュータ・プログラムを含む記憶装置と、
前記バスに接続された少なくとも１つの被管理装置と、
前記バスに接続された通信ユニットと、
前記バスに接続された処理ユニット
を含み、
前記コンピュータ・プログラムは、前記処理ユニットに、
前記インスタント・メッセージング・クライアントにおけるコンタクトリストから選択された被招待者とのインスタント・メッセージング・チャット・セッションをスケジュールするためにユーザからの入力を受けるステップと、
前記入力を受けたことに応答して、前記インスタント・メッセージング・チャット・セッションをスケジュールするためのプロパティをユーザが定義するためのスケジューリング・インターフェースをユーザに提供するステップと、
前記インスタント・メッセージング・チャット・セッションをスケジュールするためのプロパティを定義するユーザ入力を受けたことに応答して、１つのスケジュールされたインスタント・メッセージング・チャット・セッションを形成するために、前記スケジューリング・インターフェースにおいて定義されたプロパティに基づいてユーザのカレンダ・システムにおけるエントリを作成するステップと、
を実行させる、データ処理システム。
【請求項１３】
ユーザに対するスケジューリング・インターフェースを提供するステップが、インスタント・メッセージング・サーバからの被招待者に関する可能性情報を要求して前記インスタント・メッセージング・サーバから前記可能性情報を受けるステップを含み、
前記可能性情報が、前記ユーザに対するスケジューリング・インターフェースを提供するために、前記インスタント・メッセージング・クライアントによって使用される、
請求項１２に記載のデータ処理システム。
【請求項１４】
ユーザのカレンダ・システムにおけるエントリを作成するための前記コンピュータ使用可能コードが、前記被招待者の空き時間の状況を決定するために前記被招待者のカレンダ・システムをチェックするためのコンピュータ使用可能コード、および前記被招待者の空き時間の状況に基づいて前記インスタント・メッセージング・チャット・セッションをスケジュールするためのコンピュータ使用可能コードを含む、請求項１２に記載のデータ処理システム。
【請求項１５】
前記スケジューリング・インターフェースにおいて定義されたプロパティが、前記インスタント・メッセージング・チャット・セッションの日時、前記インスタント・メッセージング・チャット・セッションにおいて検討されるべき話題、前記インスタント・メッセージング・チャット・セッションに関するノート、および前記インスタント・メッセージング・チャット・セッションに関連するドキュメントの少なくとも１つを含む、請求項１２に記載のデータ処理システム。
【請求項１６】
インスタント・メッセージング・クライアントにおけるカレンダ・エントリをスケジュールするためのコンピュータ・プログラムであって、
ユーザからの入力を受けて、前記インスタント・メッセージング・クライアントにおけるコンタクトリストから選択された被招待者とのインスタント・メッセージング・チャット・セッションをスケジュールするステップと、
前記入力を受けたことに応答して、ユーザがインスタント・メッセージング・チャット・セッションをスケジュールするためのプロパティを定義するためのスケジューリング・インターフェースをユーザに提供するステップと、
前記インスタント・メッセージング・チャット・セッションをスケジュールするためのプロパティを定義するユーザ入力を受けたことに応答して、１つのスケジュールされたインスタント・メッセージング・チャット・セッションを形成するために、前記スケジューリング・インターフェースにおいて定義されたプロパティに基づいてユーザのカレンダ・システムにおけるエントリを作成するステップと、
をコンピュータに実行させる、コンピュータ・プログラム。
【請求項１７】
前記スケジューリング・インターフェースをユーザに提供するステップは、
被招待者の可能性情報をインスタント・メッセージング・サーバから要求するステップと、
被招待者の可能性情報をインスタント・メッセージング・サーバから受けるステップを含み、
前記可能性情報が、ユーザに対する前記スケジューリング・インターフェースを提供するために、前記インスタント・メッセージング・クライアントによって使用される、
請求項１６に記載のコンピュータ・プログラム。
【請求項１８】
前記ユーザのカレンダ・システムにおけるエントリを作成するためのステップは、
前記被招待者の空き時間の状況を決定するために前記被招待者のカレンダ・システムをチェックするステップと、
前記被招待者の空き時間の状況に基づいて前記インスタント・メッセージング・チャット・セクションをスケジュールするステップと、
を含む、請求項１６に記載のコンピュータ・プログラム。
【請求項１９】
前記被招待者における或る被招待者がカレンダ・システムを使用する場合、前記インスタント・メッセージング・チャット・セッションへの招待状を前記被招待者に送るステップを更にコンピュータに実行させ、
前記被招待者が前記スケジュールされたインスタント・メッセージング・チャット・セッションを受諾するか、遅らせるか、または再スケジュールすることを可能にするオプションを前記招待状が含む、請求項１６に記載のコンピュータ・プログラム。
【請求項２０】
前記スケジューリング・インターフェースにおいて定義されたプロパティが、前記インスタント・メッセージング・チャット・セッションの日時、前記インスタント・メッセージング・チャット・セッションにおいて検討されるべき話題、前記インスタント・メッセージング・チャット・セッションに関するノート、および前記インスタント・メッセージング・チャット・セッションに関連するドキュメントの少なくとも１つを含む、請求項１６記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、総体的には、データ処理システムの改良に関するものであり、詳しく云えば、インスタント・メッセージング・インターフェースのコンテキスト内からカレンダ・エントリをスケジュールするためのコンピュータ具現化方法、データ処理システム、およびコンピュータ・プログラムに提供するものである。
【背景技術】
【０００２】
インスタント・メッセージングは、ユーザが相互にコミュニケーションを行うこと及びネットワーク・データ処理システムを介してリアルタイムで共同作業することを可能にするオンライン・チャット媒体である。インスタント・メッセージングは一般にインターネット上で使用される。インスタント・メッセージング・アプリケーションは、オンラインのコンタクト先として相互に設定したユーザの状態をモニタ及びリポートする。この情報は、一般に、ウィンドウにおいてユーザに表示される。インスタント・メッセージング・アプリケーションは、ビジネスを行うユーザによって使用されることも多い。インスタント・メッセージングを利用することによって、ビジネス・ユーザは、相互の空き時間の状況（availability）を見て、所望のコンタクト先が空き時間になったときに同僚または顧客とテキスト会話を始めることができる。数百万のユーザが毎日インスタント・メッセージングを使用してコミュニケーションを行っている。インスタント・メッセージングが個人的コミュニケーションおよびビジネス上のコミュニケーションの両方における重要な部分となり、機能及び操作性の強化がこのタイプのコミュニケーション・ツールの継続的な成功にとって重要となっている。
【０００３】
インスタント・メッセージング・システムは、ユーザが相互にリアルタイムでコミュニケーションを行うことを可能にするが、これらの既存のインスタント・メッセージング・システムは、インスタント・メッセージ・コミュニケーションの管理に関していくつかの課題を有する。或るユーザが数多くの話題を有し、そのユーザがインスタント・メッセージングを通して人々と対話したいが、そのユーザが話したい人が皆その時点では空き時間がないか或いはオンライン状態にないという例を考えてみよう。現在にインスタント・メッセージング・システムの場合、ユーザは、そのユーザが誰とコンタクトする必要があるか及びそのユーザが何について話をする必要があるかを覚えておくか又はノートに書いておかなければならない。できるだけ早く対話を行わなければならない場合、ユーザは、コンタクトが可能になったときの警報を設定するという余分なステップを取るか、或いは、サービス・プロバイダが許すならば、オフライン・メッセージをコンタクト先に送ることが可能である。逆に、その後の或る時間まで対話が生じてはならない場合、ユーザは、自分が対話に関して覚えていることを確かめなければならないか、或いはユーザのノートがカレンダ・リマインダ・エントリにおけるリマインダのようなリマインダとして保管され、使用されることを確かめなければならない。この既存の方法に関連した問題点は、ユーザが話す必要がある事項、ユーザが話したい相手、及び対話が生ずべき時間、を覚えておくために、ユーザが外部のシステムを使用しなければならないということである。対話ができるだけ早く生じなければならない場合、ユーザは警報を設定するステップを取らなければならない。対話ができるだけ早く生じる必要がない場合、ユーザがチャットを行う必要のある人がいつ空き時間になるかを知るために、ユーザはコンタクトリストを定期的にチェックしなければならない。更に、既存の方法の場合、ユーザは、そのユーザのインスタント・メッセージング・システムにおいて今後のためにチャットを事前調整することができない。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従って、インスタント・メッセージング・インターフェースを介してカレンダ・エントリをスケジュールするための機構を提供することによって既存の方法における課題を克服するためのコンピュータにおいて具現化される方法、データ処理システム、及びコンピュータ・プログラムを有することが有利であり、本発明はそれらを提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の実施例は、インスタント・メッセージング・インターフェースのコンテキスト内からカレンダ・エントリをスケジュールするためのコンピュータにおいて具現化される方法、データ処理システム、およびコンピュータ・プログラムを提供する。本発明の機構を用いて、ユーザは、ユーザのカレンダ・システムにおけるチャットおよび会議チャット・エントリをスケジュールすること、及びユーザが話す必要がある人、ユーザが話す必要がある事項、及び将来のチャット・セッションに対する他の詳細事項を事前調整することができる。
インスタント・メッセージング・クライアントが一人または複数人の被招待者とのインスタント・メッセージング・チャット・セッションをスケジュールするためにユーザから入力を受ける。この場合、その一人又は複数人の被招待者はインスタント・メッセージング・クライアントにおけるコンタクトリストから選択される。インスタント・メッセージング・クライアントはユーザに対するスケジューリング・インターフェースを提供する。ここでのスケジューリング・インターフェースは、ユーザがインスタント・メッセージング・チャット・セッションに関するプロパティを定義することを可能にする。インスタント・メッセージング・チャット・セッションを定義するユーザ入力を受けたことに応答して、スケジュールされたインスタント・メッセージング・チャット・セッションを形成するためのエントリがユーザのカレンダ・システムにおいて作成される。そのエントリは、スケジューリング・インターフェースにおいて定義されたプロパティに基づいている。
また、スケジューリング・インターフェースをユーザに提供する場合に、インスタント・メッセージング・サーバからの被招待者の可能性情報（capability）を要求して当該可能性情報を受け、ユーザにスケジューリング・インターフェースを提供するために当該可能性情報がインスタント・メッセージング・クライアントによって使用されることが好ましい。
【発明を実施するための最良の形態】
【０００６】
図面、特に図１及び図２を参照すると、本発明の実施例を具現化し得るデータ処理環境の概略図が示される。図１及び図２が単に例示的なものであって、本発明の形態又は実施例を具現化し得る環境に関して如何なる限定も主張又は暗示する意図がないことは当然である。本発明の真意及び範囲から逸脱することなく、図示の環境に対する多くの修正を施すことが可能である。
【０００７】
図面を参照すると、図１は、本発明の種々の形態を具現化し得るデータ処理システムのネットワークの概略図を示す。ネットワーク・データ処理システム１００は、本発明の実施例を具現化し得るコンピュータのネットワークである。ネットワーク・データ処理システム１００はネットワーク１０２を含み、ネットワーク１０２は、ネットワーク・データ処理システム１００において相互に接続された種々の装置及びコンピュータの間の通信リンクを提供するために使用される。ネットワーク１０２は、有線又は無線通信リンク、或いは光ファイバ・ケーブルのような接続体を含み得る。
【０００８】
図示の例では、サーバ１０４及び１０６が記憶装置１０８と共にネットワーク１０２に接続している。更に、クライアント１１０、１１２、及び１１４がネットワーク１０２に接続している。これらのクライアント１１０、１１２、及び１１４は、例えば、パーソナル・コンピュータ又はネットワーク・コンピュータであってもよい。図示の例では、サーバ１０４はブート・ファイル、オペレーティング・システム・イメージ、及びアプリケーションをクライアント１１０、１１２、及び１１４に提供する。クライアント１１０、１１２、及び１１４は、この例では、サーバ１０４に対するクライアントである。ネットワーク・データ処理システム１００は、図示されてない更なるサーバ、クライアント、及び他の装置を含んでもよい。
【０００９】
図示の例では、ネットワーク・データ処理システム１００は、相互にコミュニケーションを行うために、ネットワークの伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ）スイートを使用するネットワーク及びゲートウェイの全世界的な集合体をネットワーク１０２が表す場合にはインターネットである。インターネットの中心には、データ及びメッセージを経路指定する数千の商業用、行政用、教育用、及び他のコンピュータ・システムから構成される主要ノード又はホスト・コンピュータ間の高速データ通信回線のバックボーンがある。もちろん、ネットワーク・データ処理システム１００は、例えば、イントラネット、ローカル・エリア・ネットワーク（ＬＡＮ）、又は広域ネットワーク（ＷＡＮ）のような数多くの種々のタイプのネットワークとして具現化することも可能である。図１は、１つの例として意図されるものであり、本発明の他の実施例に対するアークテクチャ上の限定として意図されるものではない。
【００１０】
次に図２を参照すると、本発明の種々の形態を具現し得るデータ処理システムのブロック図が示される。データ処理システム２００は、図１におけるサーバ１０４又はクライアント１１０のようなコンピュータの一例であり、そのコンピュータには、本発明の実施例のためのプロセスを具現化するコンピュータ使用可能コード又は命令が設けられる。
【００１１】
図示の例では、データ処理システム２００はハブ・アーキテクチャを使用する。このアーキテクチャは、ノース・ブリッジ兼メモリ・コントローラ・ハブ（ＮＢ／ＭＣＨ）２０２及びサウス・ブリッジ兼入出力（Ｉ／Ｏ）コントローラ・ハブ（ＳＢ／ＩＣＨ）２０４を含む。処理ユニット２０６、メイン・メモリ２０８、及びグラフィックス・プロセッサ２１０がＮＢ／ＭＣＨ２０２に接続される。グラフィックス・プロセッサ２１０がアクセラレーテッド・グラフィックス・ポート（ＡＧＰ）を介してＮＢ／ＭＣＨ２０２に接続されてもよい。
【００１２】
図示の例では、ローカル・エリア・ネットワーク（ＬＡＮ）アダプタ２１２がＳＢ／ＩＣＨ２０４に接続している。オーディオ・アダプタ２１６、キーボード及びマウス・アダプタ２２０、モデム２２２、リード・オンリ・メモリ（ＲＯＭ）２２４、ハードディスク・ドライブ（ＨＤＤ）２２６、ＣＤ−ＲＯＭドライブ２３０、ユニバーサル・シリアル・バス（ＵＳＢ）ポート及び他の通信ポート２３２、並びにＰＣＩ／ＰＣＩｅデバイス２３４がバス２３８及び２４０を介してＳＢ／ＩＣＨ２０４に接続している。ＰＣＩ及びＰＣＩｅデバイスは、例えば、イーサネット（Ｒ）・アダプタ、アドイン・カード、及びノートブック・コンピュータのためのＰＣカードを含んでもよい。ＰＣＩはカード・バス・コントローラを使用するが、ＰＣＩｅはそれを使用しない。ＲＯＭ２２４は、例えば、フラッシュ・バイナリ入出力システム（ＢＩＯＳ）であってもよい。
【００１３】
ＨＤＤ２２６及びＣＤ−ＲＯＭドライブ２３０はバス２４０を介してＳＢ／ＩＣＨ２０４に接続している。ＨＤＤ２２６及びＣＤ−ＲＯＭドライブ２３０は、例えば、統合ドライブ・エレクトロニクス（ＩＤＥ）又はシリアル拡張テクノロジ接続機構（ＳＡＴＡ）インターフェースを使用してもよい。スーパＩ／Ｏ（ＳＩＯ）デバイス２３６がＳＢ／ＩＣＨ２０４に接続されてもよい。
【００１４】
オペレーティング・システムが処理ユニット２０６を稼動し、図２におけるデータ処理システム２００内の種々のコンポーネントの制御を調整および提供する。クライアントとして、オペレーティング・システムは、Microsoft Windows(R) XP のような商業的に入手可能なオペレーティング・システムであってもよい（Microsoft 及びWindows は、米国のマイクロソフト社の商標である）。Java(R) プログラミング・システムのようなオブジェクト指向プログラミング・システムは、オペレーティング・システムと関連して稼動し得るものであり、データ処理システム２００において実行されるJava プログラム又はアプリケーションからオペレーティング・システムにコールを行う（Java は、米国のサン・マイクロシステムズ社の商標である）。
【００１５】
サーバとして、データ処理システム２００は、例えば、Advanced Interactive Executive（AIX）オペレーティング・システムまたは LINUX オペレーティング・システムを稼動させるIBM eServer pSeries コンピュータ・システムであってもよい（eServer、pSeries、及び AIX は、米国のインターナショナル・ビジネス・マシーンズ社の商標であり、一方、LINUXは、米国の Linus Torvalds 社の商標である）。データ処理システム２００は、処理ユニット２０６において複数のプロセッサを含む対称マルチプロセッサ（ＳＭＰ）システムであってもよい。それとは別に、シングル・プロセッサ・システムが使用されてもよい。
【００１６】
オペレーティング・システム、オブジェクト指向オペレーティング・システム、又はアプリケーションのための命令、或いはプログラムがＨＤＤ２２６のような記憶装置上に設けられ、処理ユニット２０６による実行のためにメイン・メモリ２０８にロードされることが可能である。本発明の実施例に関するプロセスが、コンピュータ使用可能プログラム・コードを使用して処理ユニット２０６により遂行される。そのプログラム・コードは、例えば、メイン・メモリ２０８、ＲＯＭ２２４のようなメモリ、或いは１つ又は複数の周辺装置２２６及び２３０に設けることが可能である
【００１７】
図１及び図２におけるハードウェアが具現化方法次第で変わり得ることは当業者には明らかであろう。図１及び図２に示されたハードウェアに加えて、又はそれの代わりに、フラッシュ・メモリ、同等の不揮発性メモリ、または光ディスク・ドライブ等のような他の内部ハードウェア又は周辺装置が使用されてもよい。更に、本発明のプロセスがマルチプロセッサ・データ処理システムに適用されてもよい。
【００１８】
或る例では、データ処理システム２００は、オペレーティング・システム・ファイル、及び／又は、ユーザ生成のデータを保存するための不揮発性メモリを提供するために、フラッシュ・メモリを用いて構成されるパーソナル・デジタル・アシスタント（ＰＤＡ）であってもよい。
【００１９】
バス・システムは、図２に示されたバス２３８又はバス２４０のような１つ又は複数のバスから構成されてもよい。もちろん、そのバス・システムは、任意のタイプのファブリック又はアーキテクチャ使って具現化することも可能である。ファブリック又はアーキテクチャはそれに接続された種々のコンポーネント又は装置のデータの転送を行うものである。通信ユニットは、図２のモデム２２２又はネットワーク・アダプタ２１２のような、データを送信及び受信するために使用される１つ又は複数の装置を含んでもよい。メモリは、例えば、メイン・メモリ２０８、ＲＯＭ２２４、または図２におけるＮＢ／ＭＣＨ２０２において見られるようなキャッシュであってもよい。図１及び図２における図示の例および上記の例はアーキテキチャ上の限定を暗示することを意味するものではない。例えば、データ処理システム２００は、ＰＤＡの形体を取ることのほかに、タブレット・コンピュータ、ラップトップ・コンピュータ、又は電話装置であってもよい。
【００２０】
本発明の実施例は、インスタント・メッセージング・コミュニケーションを管理するための機能を高めるためにスケジューリング及び事前調整機能をインスタント・メッセージング・クライアントに提供する。特に、本発明の機構は、インスタント・メッセージング・ユーザが、インスタント・メッセージング・クライアントを使用し、そのコンテキスト内から、ユーザがカレンダ・システム自体におけるエントリを作成することを必要とせずに、ユーザのカレンダ・システムにおいて将来のチャット・セッションをスケジュールすることを可能にする。更に、そのスケジューリング機構は、人とのインスタント・メッセージング対話の途中で、カレンダ・システムへの切り替えを必要とせずに、インスタント・メッセージング上では行われない正規のカレンダ・エントリをユーザがスケジュールすることを可能にするという付随的な恩恵も受けるであろう。ユーザのカレンダ・システムは、インスタント・メッセージング・クライアント内で具現化されたカレンダ・システムであってもよく、それとは別に、例えば、Lotus Notes（商標）または Microsoft Outlook（商標）のような、インスタント・メッセージング・クライアントの外部にあるカレンダ・プログラムであってもよい。
【００２１】
インスタント・メッセージング・クライアント内から将来のチャット・セッションに対するカレンダ・エントリをスケジュールするとき、本発明の機構は、ユーザがチャットで話したい相手、ユーザがチャットで議論したい話題、並びに、そのチャットおよびユーザが言いたいことに関する詳細を、そのユーザが識別およびスケジュールすることを可能にする。例えば、ユーザは、そのユーザのインスタント・メッセージング・コンタクトリストから或るコンタクト先を選択して、これらのコンタクト先のためにチャットをスケジュールするというオプションを選択することも可能である。本発明のインスタント・メッセージング・システムは、その選択されたコンタクト先をカレンダ・イベントと関連付けることも可能である。カレンダ・イベントでは、ユーザは、チャットの日時、チャットの主題、およびユーザが議論したいことを含むそのチャットの種々のプロパティを指定することも可能にされる。電子的な自動チャット招待状がコンタクト先に送られてもよい。その自動招待状は、そのコンタクト先がチャットを受諾したり、遅らせたり、或いは再スケジュールしたりするためにキー・コマンドを用いるというようなその招待状に応答するための手段を提供することも可能である。更に、コンタクト先は、スケジュールされたチャットを他のコンタクト先に委任すること又は更なるコンタクト先を含むことを提案することも可能にされ、それによって会議チャットを自動化することも可能である。その招待状に対する応答において、コンタクト先は、チャットの話題およびチャットに関連したノートのようなユーザによって設定されたチャット・プロパティを修正することができてもよい。
【００２２】
スケジューリング・システムは、例えば、チャットが１０分でスケジュールされるということをユーザ、及び／又は、コンタクト先に警報するリマインダ・フィーチャも含み得る。このチャットのスケジューリングは許可ルールによって抑制されることも可能であり、その場合、コンタクト先は、チャットがそれらに対してスケジュールされることを許容又は阻止することも可能である。これらの許可ルールは、すべてのチャット・スケジューリングを阻止すること、特定の人がチャットをスケジュールすることを可能にすること等のような何らかのプライバシ・オプションをコンタクト先に提供する。
【００２３】
ユーザによって作成されたスケジュールされたカレンダ・エントリを、チャットに招待されるコンタクト先にとって利用可能なものにしてもよい。同様に、インスタント・メッセージング・クライアントにおけるカレンダ・システムは、カレンダ・エントリを作成するために Lotus Notes のような外部のカレンダ・システムにデータを統合またはエクスポートすることを可能にしてもよい。チャットをスケジュールするとき、コンタクト先がユーザのカレンダ・システムと互換性のあるカレンダ・システムも使用している場合、コンタクト先のカレンダ・システムにおける自由時間をチェックすることによってコンタクト先の空き時間の状況を決定することが可能である。従って、インスタント・メッセージング・システムは、チャットをスケジュールするとき、ユーザのコンタクト先またはコンタクト先のグループの空き時間の状況を決定することも可能である。チャットへの招待状を受けると、コンタクト先は、既存のスケジュール・システムにおいてそれを遂行する方法と同様に、スケジュールされたチャット・プロパティを確認または修正してもよい。更に、スケジュール・カレンダ情報が公表される場合、他のインスタント・メッセージング・ユーザが、その公表されたチャットに登録（subscribe）することを（希望であれば許可の程度を含めて）許されるかもしれない。この登録機構は、ユーザ・グループまたはブロードキャスト・タイプのイベントにとって特に有用であることがある。
【００２４】
インスタント・メッセージング・クライアント内からカレンダ・エントリをスケジュールために使用されるプロセスは、コンタクト先がユーザのカレンダ・システムと互換性のあるカレンダ・システムを有するかどうか、及びコンタクト先のインスタント・メッセージング・クライアントが本発明の機構を含んでいるかどうかというようなコンタクト先のシステムに関する特定の構成に依存する。コンタクト先のシステムの機能に関する情報および進行中の特定の構成シナリオが、ユーザのインスタント・メッセージング・クライアントによってインスタント・メッセージング・サーバから得ることも可能である。
【００２５】
例えば、第１のシナリオ（シナリオ１）では、ユーザのインスタント・メッセージング・クライアントは本発明のインスタント・メッセージング機構を含むが、コンタクト先のインスタント・メッセージング・システムはそれを含まない。更に、ユーザのカレンダ・システム及びコンタクト先のカレンダ・システムは互換性がなく、従って、相互に対話することができない。この状況において、ユーザは、ユーザのインスタント・メッセージング・クライアントを介して、ユーザのカレンダ・システムにおけるそのコンタクト先とのチャットをスケジュールすることが可能である。ユーザは、コンタクト先と対話すること及び双方がいつ会うかに関して合意することによって、チャットをスケジュールすべきであるときを決定する。このシナリオでは、ユーザのインスタント・メッセージング・クライアントはコンタクト先の空き時間の状況または自由時間に関する如何なる情報も持っていない。
【００２６】
第２のシナリオ（シナリオ２）では、ユーザのインスタント・メッセージング・クライアントは本発明のスケジューリング機構を含み、コンタクト先のインスタント・メッセージング・クライアントはそれを含まない。しかし、このシナリオでは、ユーザ及びコンタクト先の両方が共通のカレンダ・システムを共用する。カレンダ・システムの共用は、ユーザのインスタント・メッセージング・クライアントが共通のカレンダ・システムを介してコンタクト先の空き時間の状況に関する詳細を見つけることを可能にする。例えば、両方のカレンダ・システムが Lotus Notes である場合、ユーザはユーザのインスタント・メッセージング・クライアント内のチャットをスケジュールすることが可能であり、ユーザ及びコンタクト先が同じ統合カレンダ・システムを使用しているのでコンタクト先の自由時間をLotus Notes 内で決定することが可能である。インスタント・メッセージング・クライアント自体はコンタクト先の空き時間の状況または自由時間をチェックせず、むしろインスタント・メッセージング・クライアントがこの義務を共用のカレンダ・システムに渡す。しかし、シナリオ１とは違って、ユーザのインスタント・メッセージング・クライアントは、コンタクト先のスケジュールをアクセスしてコンタクト先の自由時間を知るために、ユーザのカレンダ・システムを使用することができるので、ユーザは、チャット時間をいつスケジュールすべきか及びコンタクト先を会議にいつ招待すべきかがわかる。そこで、コンタクト先は、その招待を受諾するべきか又は断るべきかを選択することが可能であり、コンタクト先の応答がユーザに返送される。
【００２７】
第３のシナリオ（シナリオ３）では、ユーザ及びコンタクト先の両方のインスタント・メッセージング・クライアントが本発明のスケジューリング機構を含む。更に、ユーザ及びコンタクト先の両方が共通のカレンダ・システムを共用する。この特定のケースでは、ユーザはシナリオ２におけるすべてのアクションを遂行することが可能であるが、特定の情報がコンタクト先のチャット・ウィンドウに示されルように、ユーザはチャット・ウィンドウに表示されるべき種々の事前記入されたデータを指定することも可能であり、そして特定の情報がユーザのチャット・ウィンドウに示される。
【００２８】
第４のシナリオ（シナリオ４）では、ユーザ及びコンタクト先の両方のインスタント・メッセージング・クライアントが本発明のスケジューリング機構を含む。しかし、このシナリオでは、ユーザのカレンダ・システム及びコンタクト先のカレンダ・システムは互換性がない。スケジューリングの行為はシナリオ３と同じであるが、実際のスケジューリング具現化方法は異なっている。それは、カレンダ・システムが相互にコミュニケーションをしようとせず、自由時間をスケジュールせず、チャット招待を開始せず、むしろ、インスタント・メッセージング・クライアント自体が自由時間をスケジュールし、チャット招待を開始するためである。このシナリオでは、ユーザがチャット会議をスケジュールするとき、ユーザのカレンダ・システムがコンタクト先のカレンダ・システムとの会議及び詳細を確認できないし、ユーザのカレンダ・システムがコンタクト先のカレンダ・システムと話すことができないので、ユーザのカレンダ・システムはコンタクト先を招待することができない。しかし、ユーザのインスタント・メッセージング・クライアントはコンタクト先のインスタント・メッセージング・クライアントとコミュニケーションを行うことが可能であり、そこで、コンタクト先のインスタント・メッセージング・クライアントがそのコンタクト先のカレンダ・システム（ユーザのカレンダ・システムとは完全に異なったシステムであって、ユーザはそれに対する視認性を全く持たない）をチェックすることが可能である。コンタクト先のインスタント・メッセージング・クライアントは、ユーザが特定の時間にコンタクト先とのチャット・ミーティングを設定したいということをそのコンタクト先のカレンダ・システムに知らせる。コンタクト先がその時間に空き時間である場合、コンタクト先のカレンダ・システムはそのスケジュールされたミーティングを受諾し得るし、コンタクト先がその時間に空き時間でない場合、システムはそのスケジュールされたミーティングを辞退し、及び／又は、異なる時間を提案することも可能である。
【００２９】
次に図３を参照すると、本発明の好適な実施例に従ってインスタント・メッセージング・システムで使用されるコンポーネントを表すブロック図が示される。この実施例では、インスタント・メッセージング・クライアント３０２におけるユーザが、インスタント・メッセージング・クライアント３０４及び３０６における他のユーザにメッセージを送るか又は他のユーザとメッセージを交換することが可能である。これらのインスタント・メッセージング・クライアントは、図２におけるデータ処理システム２００のようなデータ処理システムにおいて実行しようとすることが可能である。これらの例におけるメッセージの交換はインスタント・メッセージング・サーバ・プロセス３０８を介して促進される。このプロセスは、ユーザがインスタント・メッセージング・システム内の他のユーザを見つけること及び種々のユーザ間におけるメッセージの交換を助けることを可能にする。
【００３０】
特定のインスタント・メッセージング・システムによっては、インスタント・メッセージング・サーバ・プロセス３０８は、特定のユーザがオンラインであるときの表示を提供することに関係するだけであってもよく、ユーザが既に知人リスト上にあるユーザとコンタクトするときに初期のコンタクトを確立するために、特定のユーザがオンラインであることを知った直後にそれらのユーザとコンタクトすることも可能である。インスタント・メッセージング・サーバ・プロセス３０８は、図１におけるサーバ１０４又は１０６のようなサーバ上に置かれることも可能である。
【００３１】
これらの例では、インスタント・メッセージング・システムに登録された種々のユーザがユーザ・データベース３１０に保存される。このユーザ・データベースは、他のユーザをサーチして見つけるために必要な情報及びオンラインであるときのユーザとコンタクトするために必要な情報を提供する。
【００３２】
次に図４を参照すると、本発明の好適な実施例に従ってインスタント・メッセージング・クライアントを表すブロック図が示される。図４に示されたコンポーネントは、図３におけるインスタント・メッセージング・クライアントのようなインスタント・メッセージング・クライアントにおいて具備され得るものである。これらのコンポーネントは図２におけるデータ処理システム２００のようなデータ処理システムにおいて具現化することが可能である。
【００３３】
図示の例では、インスタント・メッセージング・クライアント４００が、リモート・データ処理システムにあるユーザからの受信されたメッセージ４０２のようなメッセージを処理する。メッセージが受信されるとき、これらのメッセージがダイアログ・ウィンドウ４０４に表示される。更に、ダイアログ・ウィンドウ４０４は、ユーザが他のユーザにメッセージを送るためにテキストを入力するインターフェースを提供する。
【００３４】
ユーザにユーザ名のリスト及び他の情報を提供するために、インスタント・メッセージング・クライアント４００によって、コンタクト及び制御ウィンドウ４０６が表示される。コンタクト及び制御ウィンドウ４０６は、ユーザが種々のプリファレンスを設定することを可能にするためのインターフェースも提供する。例えば、ユーザは、インスタント・メッセージング・セッションにおいて使用される種々の名前をアクセスするために必要なパスワードを設定してもよい。
【００３５】
更に、ユーザは、コンタクト及び制御ウィンドウ４０６を使用してインスタント・メッセージング・クライアント４００で使用されるカラー及びフォントのような他のプリファレンスを設定することも可能である。これらのプリファレンスは、他のユーザによってセッションが開始されるとき、画像が送られるべきであるかどうかも含む。実施態様次第で、プリファレンスは、メッセージを受信するユーザがリモート・データベース又はローカル・キャッシュからセッションのイメージを検索することを可能にするように設定することも可能である。
【００３６】
更に、コンタクト及び制御ウィンドウ４０６によって表示される名前のリストが、これらの例ではコンタクトリスト４０８に保存される。更なるユーザ又はスクリーン名をコンタクトリスト４０８に追加したり或いはそこから削除することも可能である。このコンタクトリストは、コンタクト及び制御ウィンドウ４０６内の名前のリストを表示する場合に使用される。
【００３７】
カレンダ・システム４１０は、インスタント・メッセージング・クライアントに種々の方法で統合されることも可能である。例えば、カレンダ・システム４１０は、プラグインまたはアダプタを介してインスタント・メッセージング・クライアントに接続される、Lotus Notes または Microsoft Outlook（商標）のようなパーソナル・カレンダ・システムであってもよい。本発明の機構は、カレンダ・システムの既存のアプリケーション・プログラミング・インターフェース（ＡＰＩ）を使ってインスタント・メッセージング・クライアントがカレンダにおけるエントリを作成することも可能にする。各カレンダ・システムに対して、個別のアダプタが作成されてもよい。
【００３８】
もう１つの例では、カレンダ・システム４１０が、インスタント・メッセージング・クライアント自身内に形成されることも可能である。この場合、インスタント・メッセージング・クライアントは、選択可能な月／日／年及び時間オプションをユーザに表示することによって伝統的なカレンダ・システムの機能を模倣してもよく、それとは別に、インスタント・メッセージング・クライアントは、ユーザがタイプする特定のシンタックスをチャット・ウィンドウに、ミーティングをスケジュールするという要求として、インタープリットすることも可能である。既存のチャット・クライアントは、テキストをインターセプトする機能及びテキストをコマンドとして処理する機能を有する。従って、ユーザのインスタント・メッセージング・クライアントがコンタクト先にテキストを送るとき、コンタクト先のインスタント・メッセージング・クライアントはそのテキストを、ユーザに表示されるべきではないテキストとしてではなく、むしろ、本発明のスケジューリング機構を呼び出すためのコマンドとしてインターセプトすることが可能である。ユーザのインスタント・メッセージング・クライアントはそのスケジューリング・ロジックを処理する（例えば、スケジューリングの矛盾点を識別する）ことが可能であり、スケジュールされたチャット・エントリをユーザのカレンダに加えることも可能である。
【００３９】
第３の例では、カレンダ・システム４１０が、電子ミーティングの会議および協調（collaboration）ウェブサイトのようなスケジュールを調整するウェブ・サービスと統合されてもよい。
【００４０】
図５及び図６は、本発明の実施例に従って、インスタント・メッセージング・クライアントのコンテキスト内でカレンダ・エントリを作成するためのスケジューリング・ウィザードを呼び出すために使用される例示的なグラフィカル・ユーザ・インターフェース（ＧＵＩ）を示す。そのグラフィカル・ユーザ・インターフェースは、図４におけるインスタント・メッセージング・クライアント４００のようなインスタント・メッセージング・クライアントを介してユーザに提供され手もよい。そのグラフィカル・ユーザ・インターフェースは上述の４つのシナリオすべてにおいて適用し得るものである。
【００４１】
図５における例では、グラフィカル・ユーザ・インターフェース５００は、図４におけるコンタクト及び制御ウィンドウ４０６のようなユーザのコンタクトリストを含む。コンタクトリスト・ウィンドウ５０２は、ユーザのインスタント・メッセージングコンタクト先を表示する。ユーザは、コンタクトリスト・ウィンドウ５０２における１つ又は複数のコンタクト先を選択し、しかる後その選択されたコンタクト先を右クリックすることによって、本発明のスケジューリング・ウィザードを呼び出すことが可能である。オプションのリスト５０４は、その後にユーザに表示される。ユーザは、図５における例では、「Schedule Meeting（ミーティングをスケジュールする）」５０６のようなオプションを選択してスケジューリング・ウィザードを呼び出すことが可能である。
【００４２】
図６における例では、ユーザは、既に開いているチャット・ウィンドウ５１０内に本発明のスケジューリング・ウィザードを呼び出すことが可能にされる。例えば、この例におけるユーザ keith_r_walker は、スケジュール・ボタン（Schedule）５１２のようなチャット・ウィンドウにおけるスケジューリング・オプションを選択することによって、スケジューリング・ウィザードを呼び出し、この例ではユーザのコンタクトリストにおけるJohn Pavesi という親しみ易い名前を与えられているそのユーザの現在のインスタント・メッセージングコンタクト先pastrami_17 とのチャット・ミーティングのためのカレンダ・エントリを作成することが可能である。
【００４３】
図５及び図６における例は特定のスケジューリング・オプションを示しているが、本発明のスケジューリング・ウィザードを呼び出すために及びインスタント・メッセージ・コミュニケーションを管理する機能をユーザに提供するために、グラフィカル・ユーザ・インターフェースにおいて他のスケジューリング・オプションを使用することも可能であることは当業者には明らかであろう。
【００４４】
図７は、本発明の実施例に従ってインスタント・メッセージング・チャットをスケジュールするための例示的なグラフィカル・ユーザ・インターフェースを示す。そのグラフィカル・ユーザ・インターフェースは、ユーザが本発明のスケジューリング・ウィザードを呼び出すとき、例えば、図５及び図６において説明したようにユーザがチャット・セッションをスケジュールしたいコンタクト先を選択することによってユーザに提供されるスケジューリング・ウィンドウ６００を含む。スケジューリング・ウィンドウ６００は、上記の４つのシナリオすべてにおいて適用可能である。スケジューリング・ウィンドウ６００において、ユーザはチャット・ミーティングの時間を選択し、そのチャットに対する適正なプロパティを設定することが可能である。スケジューリング・ウィンドウ６００は、図４におけるインスタント・メッセージング・クライアント４００のようなインスタント・メッセージング・クライアントを介してユーザに表示することが可能である。
【００４５】
この例では、スケジューリング・ウィンドウ６００は、サブジェクト・フィールド（Subject）６０２、日時フィールド（When）６０４、被招待者フィールド（Invitees）６０５、スケジューラ（Scheduler）６０８、及び記述フィールド（Description）６１０を含む。チャット・ミーティングをスケジュールするとき、ユーザは、サブジェクト・フィールド６０２内にテキストを入れることによってサブジェクトまたは話題をチャットに割り当てることが可能である。ユーザは、日時フィールド６０４を通してチャット・ミーティングの時間フレームを設定する。ユーザは、チャット・ミーティングに関して開始及び終了の日付及び時間を設定すること、及びそのミーティングに関して異なるタイム・ゾーンを指定すること又はそのスケジュールされたミーティングを或る指定された時間間隔で繰り返すことが可能である。
【００４６】
被招待者フィールド６０６は、ユーザがチャット・ミーティングをスケジュールしたい相手であるインスタント・メッセージング・コンタクト先の名前又はＩＤを含む。スケジューリング・ウィンドウ６００がユーザに表示されるとき、被招待者フィールド６０６は、ユーザが図５及び図６において指定したコンタクト先を記入されてもよい。そこで、ユーザは、必要に応じて被招待者フィールド６０６において、リストされたコンタクト先を追加又は除去することが可能である。ユーザは、そのチャット・ミーティングに出席する複数の被招待者を選択する場合、会議チャットに関するコンタクト先に招待状を送ることも可能である。単一の被招待者の選択は、その結果として、そのミーティングのためにパーソナル・チャット・ウィンドウがユーザに表示されるであろう。ユーザはブック・アイコン６１２をクリックして、そのユーザが選択し得るそのユーザのインスタント・メッセージング・コンタクトリストを表示させてもよく、或いは、ユーザは被招待者フィールドに自由な形式で名前をタイプしてもよい。
【００４７】
スケジューリング・ウィンドウ６００では、１つ又は複数の被招待者フィールドを使用することが可能である。複数の被招待者フィールドを使用することは、スケジュールされたチャットが種々の被招待者に対して種々に振舞うことを可能にする。例えば、必要な被招待者フィールド６１４にリストされたコンタクト先は一般的な形態で会議チャットを受ける（又は、正規のチャットで約束する）ことも可能である。オプショナル・フィールド（optional）６１６およびＦＹＩ被招待者フィールド６１８にリストされたコンタクト先は、必要な被招待者フィールド（Required）６１４におけるコンタクト先の場合と同様に会議チャット受けることも可能である。しかし、それらのコンタクト先がオンラインであるときにユーザに警報するフィーチャ、またはコンタクト先がオンラインで参加するときにそれらのコンタクト先を自動的に招待するフィーチャは使用不可（ディセーブル）される。シナリオ３及び４では、オプショナル・フィールド６１６およびＦＹＩ被招待者フィールド６１８は、コンタクト先がこれらのフィールドを有するものと仮定して、例えば、コンタクト先のカレンダ・システムに表示されてもよい。
【００４８】
スケジューラ６０８は、ユーザがミーティングをスケジュールするために最良の時間に関してコンタクト先のカレンダをチェックすることを可能にする空き時間（自由時間）のサーチ機能を提供する。コンタクト先の空き時間の状況に関してコンタクト先のカレンダ・システムをチェックするためにスケジューラ６０８が使用されるとき、シナリオ２〜４では、スケジューラがユーザにとって単に使用可能である（可視的である）だけである。従って、コンタクト先とのインスタント・メッセージング・チャット・ミーティングをスケジュールするとき、ユーザのインスタント・メッセージング・クライアントは、インスタント・メッセージング・サーバからのコンタクト先の能力に関する情報を要求することが可能であり、そのインスタント・メッセージング・サーバはどの特定のシナリオ１〜４が進行中であるかをユーザのインスタント・メッセージング・クライアントにレポートし、しかる後、スケジューラ６０８を示すか又は隠蔽することによってスケジューリング・ウィンドウ６００を適正に作成する。[MSOffice1]シナリオ２〜４に対して、インターフェースは同じであるが、スケジューリング・ウィンドウ６００を作成するためのバックエンド・ロジックは異なる。シナリオ２および３に関して、スケジューラ６０８はユーザのカレンダ・システムと対話し、そのカレンダ・システムはそれの内部機能を使ってコンタクト先のカレンダを空き時間の状況の情報に関してチェックする。シナリオ４に対して、スケジューラ６０８は、ユーザのカレンダ・システムと対話し、コンタクト先の空き時間の状況を求める要求をコンタクト先のインスタント・メッセージング・クライアントに送る。一方、そのクライアントはコンタクト先のカレンダ・システムに要求を送る。
【００４９】
記述フィールド６１０は、ユーザがチャット・ウィンドウの事前記入を望んでいるというテキストを入れるために使用することも可能である。シナリオ３及び４では、ユーザは、ボックス６２０を送るために事前記入されるべきテキストをテキストとして入れること及びチャット・ウィンドウにドキュメントを添付することも可能である。スケジュールされたイベントを更に定義するために、例えば、「notify me」６２２、「mark private」６２４、または「pencil in」６２６のような他の伝統的なスケジューリング・オプションが使用されてもよい。
【００５０】
シナリオ１では、ユーザが、スケジュールされたチャット・セッションに対する約束またはリマインダを不可欠なものとしてユーザのカレンダに作成するとき、そのスケジュールされたイベントを「保管してクローズ（Save and Close）」ボタン６２８の形で保管するというオプションをスケジューリング・ウィンドウ６００において提供することも可能である。シナリオ２〜４に関しては、スケジューリング・ウィンドウ６００における「保管してクローズ」ボタン６２８は、「招待状を保管及び送信する（Saveand SendInvitations）」として、より適正にラベルされてもよい。それは、コンタクト先のカレンダとインスタント・メッセージング・クライアントとの対話がミーティングのスケジューリングに非常に似ているためである。
【００５１】
一旦「保管してクローズ」ボタンまたは「招待状を保管及び送信する」ボタンがユーザによって選択されると、進行中の特定のシナリオ次第で、１つの表示がコンタクト先に提供されることがある。シナリオ１では、実際の招待状はコンタクト先に送られていないので、コンタクト先は何も見えない。コンタクト先はカレンダ・システムを持たず、共用カレンダ・システムまたは本発明のインスタント・メッセージング・システムを介してアクセスされ得るカレンダを持たない。シナリオ２では、招待がコンタクト先のカレンダ・システムにおいて見られることを結局そのコンタクト先が知るが、そのような招待状はそれらのインスタント・メッセージング・クライアントに直ちに現れることはないであろう。招待状のテキストはインスタント・メッセージとして送られてもよいが、コンタクト先はインスタント・メッセージング・クライアントにおける招待を受諾することまたは拒否することができず、インスタント・メッセージにおけるテキストはコンタクト先のカレンダ・システムにおけるエントリを作成することができない。その代わり、コンタクト先は、カレンダ招待状がコンタクト先のカレンダ・システムに到着するのを待たなければならない。シナリオ３及び４では、コンタクト先のインスタント・メッセージング・クライアントが招待の詳細の他に招待状の要求を受ける。１つの実施例では、インスタント・メッセージング・クライアントはコンタクト先が受諾したり、拒絶したり、或いは別の時間を提案する等を可能にするボタンを提供する。これらのボタンはコンタクト先のカレンダにおけるエントリを作成しても（または、作成しなくても）よく、しかも、直ちにユーザのカレンダ・システムと対話してもよい。「Keith Walker is typing a message…（キース・ウォーカーがメッセージをタイプしている）」というような状態を表示するインスタント・メッセージング・システムに対して、ユーザがスケジュール・ウィンドウ６００を開かせている間アクティブのままである「KeithWalker is scheduling an IM meeting with you…（キース・ウォーカーがあなたとのＩＭミーティングをスケジュールしている）」というような、そのユーザに対する状態をコンタクト先に表示することも可能である。逆に、ユーザがコンタクト先に招待状を送った後、一時的な状態とはまったく対照的に、「JohnPavesi has accepted your invitation（ジョン・ペイブシがあなたの招待を受諾した）」というような、テキストとして送られたそのユーザに関する状態をコンタクト先に送ることが可能である。コンタクト先が別の時間を提案するためにコンタクト先のスケジューリング・ウィザードを作動させる場合、ユーザは「JohnPavesi is proposing an alternate time（ジョン・ペイブシが別の時間を提案している）」というような、コンタクト先に関する状態を知ることが可能である。
【００５２】
図８を参照すると、本発明の実施例に従って、インスタント・メッセージング・ウィンドウのコンテキスト内からカレンダ・エントリを作成するための例示的なプロセスのフローチャートが示される。図８に示されたプロセスは、図４におけるインスタント・メッセージング・クライアント４００のようなインスタント・メッセージング・クライアントにおいて具現化することが可能である。プロセスは、上記の４つのシナリオすべてに、即ち、即ち、次のようなシナリオすべてに適用可能である。
（１）ユーザだけがカレンダおよび本発明のインスタント・メッセージング・システムを有する。
（２）ユーザおよびユーザのコンタクト先が共用カレンダ・システムを有するが、ユーザだけが本発明のインスタント・メッセージング・システムを有する。
（３）ユーザおよびユーザのコンタクト先が共用カレンダ・システムおよび本発明のインスタント・メッセージング・システムを有する。
（４）ユーザおよびユーザのコンタクト先が本発明のインスタント・メッセージング・システムを有するが、共通のカレンダ・システムを共用しない。
【００５３】
プロセスは、ユーザからの入力を受け、本発明のスケジューリング・ウィザードを呼び出すことによって始まる（ステップ７０２）。例えば、ユーザは、ユーザのコンタクトリストにおけるコンタクト先を右クリックすることによってスケジューリング・ウィザードを呼び出し、しかる後「ミーティングをスケジュールする」というようなスケジューリング・オプションを選択することが可能である。ユーザは、「スケジュール」ボタンのようなスケジューリング・オプションを選択することによって、既に開いているチャット・ウィンドウ内にスケジューリング・ウィザードを呼び出すことも可能である。
【００５４】
スケジューリング・ウィザードを呼び出す際、ユーザがチャット・ミーティングにおけるプロパティを定義することを可能にするスケジューリング・インターフェースがユーザに提供される（ステップ７０４）。例えば、スケジューリング・インターフェースは、サブジェクト・フィールド、日時フィールド、被招待者フィールド、スケジューラ、および記述フィールドを含むスケジューリング・ウィンドウであってもよい。被招待者フィールドは、チャット・ミーティングに出席するためにユーザが選んだコンタクト先を含む。スケジューラは、ユーザが、チャット・ミーティングをスケジュールするために最良の時間を求めてコンタクト先のカレンダをチェックすることを可能にするサーチ・ツールを含んでもよい。記述フィールドは、チャット・ウィンドウにおける事前記入されるテキストをユーザが入力することが可能であって、ユーザがそのチャット・ウィンドウに付加されるドキュメントを指定することを可能にするテキスト・ボックスを含んでもよい。
【００５５】
一旦、スケジュールされたチャット・ミーティングに対する特定のプロパティが、進行中の特定のシナリオに基づいて、ユーザによって入力されてしまうと、本発明の機構は、そのスケジュールされたチャット・ミーティングを保管してウィンドウをクローズするか、または進行中の特定のシナリオに基づいてそのスケジュールされたチャット・ミーティングにおける指定された被招待者に招待状を送ることが可能である（ステップ７０６）。ユーザがチャット・ミーティングへの招待状を送ることを可能にされる場合、シナリオ２に関する実施例では、コンタクト先がコンタクト先のカレンダ・システムを通してチャット・ミーティングへの招待状を受けることが可能である。シナリオ３および４に関する別の実施例では、コンタクト先は、招待状の詳細と共に、招待状要求をコンタクト先のインスタント・メッセージング・クライアントにおいて受けることが可能である。コンタクト先のインスタント・メッセージング・クライアントは、受諾するためのボタン、拒絶するためのボタン、別の時間を提案するためのボタンを有することが可能であり、これらのボタンはコンタクト先のカレンダにおけるエントリを作成するために使用することが可能であり、ユーザのカレンダ・システムと直ちに対話することも同様に可能である。
【００５６】
従って、本発明の機構は、インスタント・メッセージング・クライアントがインスタント・メッセージング・コミュニケーションを管理するそれらの能力を高めることを可能にする。本発明の機構によって提供される、現在のインスタント・メッセージング・システムを超える利点は、インスタント・メッセージング・ユーザがインスタント・メッセージング・クライアントのコンテキスト内からそのユーザのカレンダ・システムにおける将来のチャット・セッションを、ユーザがカレンダ・システム自体におけるエントリを作成することを必要とせずに、スケジュールすることを可能にすることを含む。
【００５７】
本発明は、全体的にハードウェアの実施例、全体的にソフトウェアの実施例、またはハードウェア要素およびソフトウェア要素の両方を含む実施例の形を取ることができる。好適な実施例では、本発明は、ファームウェア、常駐ソフトウェア、マイクロコード等を含むがそれに限定されないソフトウェアで具現化される。
【００５８】
更に、本発明は、コンピュータまたは任意の命令実行システムによって、或いはそれに関連して使用するためのプログラム・コードを提供するコンピュータ使用可能媒体またはコンピュータ可読媒体からのアクセス可能なコンピュータ・プログラムの形を取ることができる。この記述に関して、コンピュータ使用可能媒体またはコンピュータ可読媒体は、命令実行システム、装置、またはデバイスによって、或いはそれに関連して使用するためのプログラムを含み、保存し、通信し、伝播し、または搬送することができる任意の実体的な装置であってもよい。
【００５９】
その媒体は、電子的、磁気的、光学的、電磁的、赤外線、または半導体システム（または、装置、またはデバイス）、或いは伝播媒体であってもよい。コンピュータ可読媒体の例は、半導体またはソリッド・ステート・メモリ、磁気テープ、取外し可能なコンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリ・メモリ（ＲＯＭ）、固定磁気ディスク、及び光ディスクを含む。光ディスクの現在の例は、コンパクト・ディスク・リード・オンリ・メモリ（ＣＤ−ＲＯＭ）、コンパクト・ディスク・リード／ライト（ＣＤ−Ｒ／Ｗ）、及びデジタル・ビデオ・ディスク（ＤＶＤ）を含む。
【００６０】
プログラム・コードを記憶及び／又は実行するに適したデータ処理システムは、システム・バスを介してメモリ素子に直接に又は間接的に接続された少なくとも１つのプロセッサを含むであろう。メモリ素子は、プログラム・コードの実際の実行中に使用されるローカル・メモリ、大容量記憶装置、及び、実行中に大容量記憶装置からコードが検索されなければならない回数を少なくするために少なくとも幾つかのプログラム・コードの一時的記憶装置を提供するキャッシュ・メモリを含むことが可能である。
【００６１】
入出力またはＩ／Ｏ装置（キーボード、ディスプレイ、ポインティング・デバイス等を含むがそれに限定されない）は直接にまたは介在するＩ／Ｏコントローラを通してシステムに接続することも可能である。
【００６２】
ネットワーク・アダプタは、データ処理システムが、介在の私設又は公衆ネットワークを通して他のデータ処理システム或いはリモート・プリンタ又は記憶装置に結合されることを可能にするためにそのシステムに接続されてもよい。モデム、ケーブル・モデム、及びイーサネット・カードは幾つかの現在使用可能なタイプのネットワーク・アダプタである。
【００６３】
本発明に関する記述は、図解及び説明を目的として示されたが、網羅的であること又は開示された形式の発明に限定されることを意図するものではない。当業者にとって、多くの修正及び変更事項が明らかであろう。実施例は、本発明の原理を最も良く説明するために、及び意図された特定の用途に適するような種々の修正を持った種々の実施例に関して当業者が本発明を理解することを可能ならしめるために、選択及び記述された。
【図面の簡単な説明】
【００６４】
【図１】本発明を具現化し得るデータ処理システムのネットワークを示す概略図である。
【図２】本発明を具現化し得るデータ処理システムを示すブロック図である。
【図３】本発明の実施例に従って、メッセージを管理する場合に使用されるコンポーネントを示すブロック図である。
【図４】本発明の実施例に従って、インスタント・メッセージング・クライアントを示すブロック図である。
【図５】本発明の実施例に従って、インスタント・メッセージング・チャット・スケジューリングを管理するためのスケジューリング・ウィザードを呼び出すために使用される例示的なグラフィカル・ユーザ・インターフェース（ＧＵＩ）の概略図である。
【図６】本発明の実施例に従って、インスタント・メッセージング・チャット・スケジューリングを管理するためのスケジューリング・ウィザードを呼び出すために使用される例示的なグラフィカル・ユーザ・インターフェース（ＧＵＩ）の概略図である。
【図７】本発明の実施例に従って、インスタント・メッセージング・チャットをスケジュールするための例示的なグラフィカル・ユーザ・インターフェースの概略図である。
【図８】本発明の実施例に従って、インスタント・メッセージング・インターフェースのコンテキスト内からカレンダ・エントリを作成するためのプロセスのフローチャートである。
【図１】
2007193794.tif 000003
【図２】
2007193794.tif 000004
【図３】
2007193794.tif 000005
【図４】
2007193794.tif 000006
【図５】
2007193794.tif 000007
【図６】
2007193794.tif 000008
【図７】
2007193794.tif 000009
【図８】
2007193794.tif 000010