(57)【要約】  マルチスレッドのインスタントメッセージングは、インスタントメッセージデバイス１０内部に、複数のインスタントメッセージスレッド４５０を管理することが可能なインスタントメッセージクライアント３５を含むことにより達成され、それぞれのインスタントメッセージスレッド４５０は、インスタントメッセージ通信セッション中に送信されるインスタントメッセージのストリームの中で少なくとも１つのインスタントメッセージ１３０を識別する。現在のインスタントメッセージ１３０をインスタントメッセージ通信セッション中に受信すると、インスタントメッセージクライアント３５はスレッドインジケータ７３０を現在のインスタントメッセージ１３０から抽出し、スレッドインジケータ７３０を現在のインスタントメッセージ１３０に関連付けられるインスタントメッセージスレッド４５０を識別するために使用する。
2009545074.tif 000002
【特許請求の範囲】
【請求項１】
複数のインスタントメッセージスレッド（４５０）を管理することが可能なインスタントメッセージクライアント（３５）であって、それぞれの前記インスタントメッセージスレッド（４５０）が、インスタントメッセージデバイス（１０）を操作する第１のユーザと少なくとも１人の追加のユーザ間のインスタントメッセージ通信セッション中に送信されるインスタントメッセージのストリームの中の少なくとも１つのインスタントメッセージ（１３０）を識別する、インスタントメッセージクライアント（３５）と、
前記インスタントメッセージクライアント（３５）を実行して前記インスタントメッセージ通信セッションを開始し、前記少なくとも１人の追加のユーザから前記インスタントメッセージ通信セッション中に受信された現在のインスタントメッセージ（１３０）を処理するためのプロセッサ（２０）であって、前記現在のインスタントメッセージ（１３０）が前記インスタントメッセージスレッド（４５０）の１つを識別されたインスタントメッセージスレッド（４５０）として識別するスレッドインジケータ（７３０）を含むプロセッサ（２０）と、
前記現在のインスタントメッセージ（１３０）が、前記識別されたインスタントメッセージスレッド（４５０）に可視的に関連付けられるようにインスタントメッセージの前記ストリームを表示するために前記プロセッサ（２０）に結合されている表示装置（５０）とを備える、インスタントメッセージデバイス（１０）。
【請求項２】
前記プロセッサ（２０）と前記表示装置（５０）の間に結合された、前記現在のインスタントメッセージ（１３０）を前記表示装置（５０）上に表示し、前記第１のユーザがインスタントメッセージの前記ストリームの中の前記インスタントメッセージの選択された１つに応答して応答インスタントメッセージ（１３０）を生成できるようにするためのグラフィカルユーザインタフェース（４０）であって、前記プロセッサ（２０）が、前記選択インスタントメッセージに関連付けられる前記インスタントメッセージスレッドの選択された１つを識別し、前記選択インスタントメッセージのスレッド（４５０）を識別する追加のスレッドインジケータ（７３０）を前記応答インスタントメッセージ（１３０）内に含めるように動作可能である、グラフィカルユーザインタフェース（４０）をさらに備える、請求項１に記載のデバイス。
【請求項３】
インスタントメッセージの前記ストリームの中のそれぞれの前記インスタントメッセージ（１３０）が、それらにそれぞれ関連付けられるメッセージ識別子を有し、前記スレッドインジケータ（７３０）が前記メッセージ識別子の１つを備える、請求項１に記載のデバイス。
【請求項４】
前記スレッドインジケータ（７３０）がタイムスタンプを備え、前記プロセッサ（２０）が前記表示装置（５０）上に前記タイムスタンプの直前に表示される前記インスタントメッセージ（１３０）の１つを前記識別されたインスタントメッセージスレッド（４５０）として識別するように動作可能である、請求項１に記載のデバイス。
【請求項５】
前記タイムスタンプが、前記少なくとも１人の追加のユーザが前記現在のインスタントメッセージ（１３０）の作成を始める開始時刻を表示する、請求項４に記載のデバイス。
【請求項６】
前記表示装置（５０）が、インスタントメッセージの前記ストリームの中の前記インスタントメッセージ（１３０）をインスタントメッセージスレッド（４５０）の順に表示する、請求項１に記載のデバイス。
【請求項７】
インスタントメッセージ通信セッションを開始するステップ（８１０）と、
現在のインスタントメッセージ（１３０）を前記インスタントメッセージ通信セッション中に受信するステップであって、前記現在のインスタントメッセージ（１３０）がスレッドインジケータ（７３０）を含む、前記ステップ（８２０）と、
前記現在のインスタントメッセージ（１３０）に関連付けられるインスタントメッセージスレッド（４５０）を前記スレッドインジケータ（７３０）から識別し、前記インスタントメッセージスレッド（４５０）は、前記インスタントメッセージ通信セッションの間に送信されるインスタントメッセージのストリームの中の少なくとも１つのインスタントメッセージを識別するステップ（８３０）と、
前記現在のインスタントメッセージ（１３０）が前記インスタントメッセージスレッド（４５０）に可視的に関連付けられるように前記現在のインスタントメッセージ（１３０）を表示するステップ（８４０）とを含む、マルチスレッドのインスタントメッセージングを容易にする方法。
【請求項８】
インスタントメッセージの前記ストリームの中の前記インスタントメッセージの選択された１つに応答して応答インスタントメッセージ（１３０）を生成するステップと、
前記選択インスタントメッセージに関連付けられる前記インスタントメッセージスレッド（４５０）を識別するステップと、
前記選択インスタントメッセージに関連付けられる前記インスタントメッセージスレッド（４５０）を識別する前記スレッドインジケータ（７３０）を前記応答インスタントメッセージ（１３０）内に含めるステップとをさらに含む、請求項７に記載の方法。
【請求項９】
インスタントメッセージの前記ストリームの中のそれぞれの前記インスタントメッセージ（１３０）が、それらにそれぞれ関連付けられるメッセージ識別子を有し、前記スレッドインジケータ（７３０）が前記メッセージ識別子の１つを備える、請求項７に記載の方法。
【請求項１０】
前記スレッドインジケータ（７３０）が、タイムスタンプを含み、前記現在のインスタントメッセージ（１３０）に関連付けられる前記インスタントメッセージスレッド（４５０）を識別する前記ステップが、前記タイムスタンプの直前に表示される前記インスタントメッセージ（１３０）の１つを前記インスタントメッセージスレッド（４５０）として識別するステップ（９７０および９８０）をさらに含む、請求項７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に通信システムに関し、具体的にはインスタントメッセージを送信するためのインスタントメッセージング通信システムに関する。
【背景技術】
【０００２】
インスタントメッセージング通信システムは、電子テキストメッセージを、メッセージ送信者からメッセージ受信者に即時に送る。例えば、テキスト型インスタントメッセージは、メッセージ送信者が送信ボタンをクリックするのと通常ほぼ同時に（基盤となる移送ネットワーク中の伝搬遅延は受けるが）、メッセージ受信者のコンピュータスクリーン上のポップアップウィンドウに現れる。したがってメッセージ受信者は、自ら電子メールプログラムにアクセスするか、または別の方法でメッセージをチェックする必要はなく、インスタントメッセージを閲覧できる。
【０００３】
典型的なシナリオでは、第１のユーザ（ユーザＡ）は、第２のユーザ（ユーザＢ）とのインスタントメッセージ通信セッションを、ユーザＡのコンピュータスクリーン上の「インスタントメッセージ送信」ボタンまたは他の同様のボタンをクリックし、メッセージ受信者（ユーザＢ）をインスタントメッセージ用に識別することによって開始する。例えば、ユーザＡはユーザＢがオンライン中であり、インスタントメッセージを受信するために対応可能かを決定するために「友だちリスト（Ｂｕｄｄｙ  Ｌｉｓｔ）」にアクセスする可能性があり、次いで、ユーザＢに対して「インスタントメッセージ送信」ボタンをクリックする。すると、インスタントメッセージポップアップウィンドウがユーザＡのコンピュータスクリーン上に現れ、ユーザＡがユーザＢに対するメッセージを打ち込めるようにする。ユーザＡが、メッセージの打ち込みを終えると、ユーザＡは「送信」ボタンをクリックする、「エンター」キーを押すか、またはそれ以外の手段でユーザＢへのインスタントメッセージの送信を開始できる。インスタントメッセージがユーザＢのコンピュータに受信されると、同様のポップウィンドウがユーザＡの打ち込んだテキストメッセージを含めてユーザＢのコンピュータスクリーンに現れる。ユーザＢが、ユーザＡに対する応答インスタントメッセージを打ち込んで「送信」をクリックすると、ユーザＡおよびユーザＢの両方のコンピュータスクリーンのポップアップウィンドウの中でユーザＡが送信した第１のインスタントメッセージの下に、応答インスタントメッセージが現れる。
【０００４】
このため、既存のインスタントメッセージアプリケーションは、インスタントメッセージの送信時刻および／または受信時刻を発生の順に表示する。そのようなメッセージの表示シーケンスは、ユーザＡがユーザＢからの特定の先行する受信済みインスタントメッセージへの応答を打ち込んでいる間にユーザＡがユーザＢからインスタントメッセージを受信するような、二者間のインスタントメッセージ交信では要求を満たさない可能性がある。さらに、発生順によるメッセージ表示は、複数の当事者間のインスタントメッセージ交信でも、要求を満たさない可能性がある。例えば、ユーザＡがユーザＢのインスタントメッセージに答えて応答を作成している一方で、別の参加者（ユーザＣ）から、別のインスタントメッセージが受信された場合に問題が起こり得る。そのような状況では、ユーザＢのインスタントメッセージに対して生成されたユーザＡの応答の文脈が、ユーザＣからのインスタントメッセージの到着によって不明瞭になる可能性がある。
【０００５】
インスタントメッセージに対する応答の作成（タイプ打ち込み、または他の入力）は、二者間の交信でも複数の当事者間の交信でも時間がかかるために、より新たなインスタントメッセージの到着によって応答の文脈が意味をなさなくなることがある。そのため、多くのインスタントメッセージユーザが、インスタントメッセージ間の関連を追うことが難しいと感じている。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
インスタントメッセージとそれに対する応答間の関連の維持が可能なインスタントメッセージング通信システムが必要である。
【課題を解決するための手段】
【０００７】
本発明の実施形態は、インスタントメッセージクライアントと、プロセッサと、表示装置とを含むインスタントメッセージデバイスを提供する。インスタントメッセージクライアントは、それぞれのインスタントメッセージスレッドが、インスタントメッセージデバイスを操作する第１のユーザと少なくとも１人の追加のユーザ間のインスタントメッセージ通信セッション中に送信されるインスタントメッセージのストリームの中の少なくとも１つのインスタントメッセージを識別する複数のインスタントメッセージスレッドを管理することが可能である。プロセッサはインスタントメッセージクライアントを実行してインスタントメッセージ通信セッションを開始し、追加のユーザからインスタントメッセージ通信セッション中に受信された現在のインスタントメッセージを処理する。現在のインスタントメッセージは、インスタントメッセージスレッドの１つを識別されたインスタントメッセージスレッドとして識別するスレッドインジケータを含む。表示装置はプロセッサに結合されて、現在のインスタントメッセージが識別されたインスタントメッセージスレッドに可視的に関連付けられるように、インスタントメッセージのストリームを表示する。
【０００８】
一実施形態では、インスタントメッセージのストリームの中のそれぞれのインスタントメッセージは、それらにそれぞれ関連付けられるメッセージ識別子を有し、スレッドインジケータはメッセージ識別子の１つを含む。別の実施形態では、スレッドインジケータは、追加のユーザが現在のインスタントメッセージの作成を開始する開始時刻を示すタイムスタンプを含む。プロセッサは、タイムスタンプの直前に表示装置に表示されるインスタントメッセージの１つを、識別されたインスタントメッセージスレッドとして識別するように動作可能である。
【０００９】
さらなる実施形態では、インスタントメッセージデバイスは、プロセッサと表示装置の間に結合された、インスタントメッセージを表示装置上に表示するためのグラフィカルユーザインタフェースをさらに含む。グラフィカルユーザインタフェースは、第１のユーザがインスタントメッセージのストリームの中のインスタントメッセージの選択された１つに応答して応答インスタントメッセージを生成できるように、さらに動作可能である。プロセッサは、選択インスタントメッセージに関連付けられるインスタントメッセージスレッドの選択された１つを識別し、選択インスタントメッセージのスレッドを識別する追加のスレッドインジケータを応答インスタントメッセージ内に含めるように動作可能である。
【００１０】
本発明の実施形態は、インスタントメッセージデバイスと、インスタントメッセージサーバと、通信ネットワークを備えるインスタントメッセージング通信システムとをさらに提供する。インスタントメッセージデバイスは、複数のインスタントメッセージスレッドを管理することが可能なインスタントメッセージクライアントを含み、それぞれのインスタントメッセージスレッドは、インスタントメッセージ通信セッション中に送信されるインスタントメッセージのストリームの中の少なくとも１つのインスタントメッセージを識別し、それぞれのインスタントメッセージスレッドは、インスタントメッセージに含まれるそれぞれのスレッドインジケータによって識別される。インスタントメッセージデバイスは、インスタントメッセージをそれぞれのインスタントメッセージスレッドに可視的に関連付けるためにインスタントメッセージのストリームを表示するための表示装置をさらに含む。インスタントメッセージサーバは、インスタントメッセージデバイスに関連付けられて、インスタントメッセージデバイスを往復するインスタントメッセージの送受信を行う。通信ネットワークは、インスタントメッセージデバイスとインスタントメッセージサーバの間でインスタントメッセージを送信する。
【００１１】
本発明の実施形態は、インスタントメッセージ通信セッションを開始するステップと、現在のインスタントメッセージをインスタントメッセージ通信セッション中に受信し、現在のインスタントメッセージがスレッドインジケータを含むステップと、スレッドインジケータから現在のインスタントメッセージに関連付けられるインスタントメッセージスレッドを識別するステップとを含む、マルチスレッドのインスタントメッセージングを容易にする方法をさらに提供する。インスタントメッセージスレッドは、インスタントメッセージ通信セッション中に送信されるインスタントメッセージのストリームの中で少なくとも１つのインスタントメッセージを識別する。本方法は、現在のインスタントメッセージがインスタントメッセージスレッドに可視的に関連付けられるように現在のインスタントメッセージを表示するステップをさらに含む。
【００１２】
以下の詳細な説明を参照して添付図面に関連して読めば、本発明のより完全な理解を得ることができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態で使用する例示のインスタントメッセージデバイスを示す図である。
【図２】本発明の実施形態で使用する例示のインスタントメッセージング通信システムを示す図である。
【図３】本発明の実施形態による例示の二者間のインスタントメッセージ交信を示すメッセージの流れ図である。
【図４Ａ】図３のインスタントメッセージ交信の例示の従来技術の表示を示す図である。
【図４Ｂ】本発明の実施形態による図３のインスタントメッセージ交信の例示の表示を示す図である。
【図５】本発明の実施形態による例示の複数の当事者者間のインスタントメッセージ交信を示す別のメッセージの流れ図である。
【図６Ａ】図５のインスタントメッセージ交信の例示の従来技術の表示を示す図である。
【図６Ｂ】本発明の実施形態による図５のインスタントメッセージ交信の例示の表示を示す図である。
【図７】本発明の実施形態によるインスタントメッセージの例示の書式を示す図である。
【図８】本発明の実施形態による、マルチスレッドのインスタントメッセージストリームを容易にする例示のプロセスを示す流れ図である。
【図９】本発明の実施形態による、マルチスレッドのインスタントメッセージストリームを容易にする別の例示のプロセスを示す流れ図である。
【図１０】本発明の実施形態による、マルチスレッドのインスタントメッセージストリームを容易にするさらに別の例示のプロセスを示す流れ図である。
【発明を実施するための形態】
【００１４】
図１は、本発明の実施形態で使用する例示のインスタントメッセージデバイス１０を示す図である。インスタントメッセージデバイス１０は、通信ネットワークを通じて電子テキストメッセージ通信を即時に送信および／または受信することが可能な、ユーザが操作する物理的通信デバイスである。そのようなインスタントメッセージデバイス１０の例は、ラップトップコンピュータ、パーソナルコンピュータ、卓上電話、携帯電話、携帯情報端末（ＰＤＡ）またはその他のユーザが操作する通信デバイスを含むが、これらに限定されない。
【００１５】
一般的に、インスタントメッセージデバイス１０は、プロセッサ２０、メモリ３０、ユーザインタフェース４０、表示装置５０、入力デバイス６０および外部インタフェース７０を含む。プロセッサ２０は、命令（例えば、アプリケーション）を実行する１つまたは複数のプロセッサを含み、メモリ３０は、プロセッサ２０が使用する命令（例えば、アプリケーション）およびデータを格納する１つまたは複数のメモリを含む。本明細書において用語「プロセッサ」は、汎用コンピュータを駆動するデバイスとして概ね理解される。ただし、マイクロコントローラ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定アプリケーション向け集積回路（ＡＳＩＣ）などの他の制御演算装置、またはその組合せが、本明細書に記載の利益と効果を達成するために使用され得ることに、留意すべきである。
【００１６】
例えば、メモリ３０内部に、オペレーティングシステム３２、インスタントメッセージクライアント３５（例えば、インスタントメッセージアプリケーション、またはソフトウェアプログラム）およびプロセッサ２０によって実行され得る命令を含む他のアプリケーション３８が示されている。インスタントメッセージを送信および／または受信するために、プロセッサ２０は、メモリ３０内部のインスタントメッセージクライアント３５にアクセスして実行する。インスタントメッセージクライアント３５の実行の間に、インスタントメッセージクライアント３５は、プロセッサ２０を介してテキスト型インスタントメッセージを生成し送信するように動作可能である。例えば、インスタントメッセージクライアント３５は、発信インスタントメッセージを生成するように、プロセッサ２０およびユーザインタフェース４０を介して入力デバイス６０に通信し、発信インスタントメッセージを通信ネットワークで送信するように、プロセッサ２０を介して外部インタフェース７０に通信できる。さらに、インスタントメッセージクライアント３５は、プロセッサ２０を介して着信インスタントメッセージを受信し表示するように動作できる。例えば、インスタントメッセージクライアント３５は、着信インスタントメッセージを受信するように、プロセッサ２０を介して外部インタフェース７０に通信し、受信されたインスタントメッセージを表示するように、プロセッサ２０およびユーザインタフェース４０を介して表示装置５０と通信できる。
【００１７】
本発明の実施形態によれば、インスタントメッセージクライアント３５は、複数のインスタントメッセージスレッドを管理することがさらに可能であり、それぞれのインスタントメッセージスレッドは、インスタントメッセージデバイス１０を操作するユーザと少なくとも１人の追加のユーザ間のインスタントメッセージ通信セッション中に送信されるインスタントメッセージのストリームの中の少なくとも１つのインスタントメッセージを識別する。ひとたびプロセッサ２０がインスタントメッセージクライアント３５を実行してインスタントメッセージ通信セッションを開始すると、それぞれの新たな着信インスタントメッセージは、これらの新たな着信インスタントメッセージをインスタントメッセージスレッドの１つに関連付けるためにプロセッサ２０によって処理される。
【００１８】
例えば、一実施形態では新たな着信インスタントメッセージは、インスタントメッセージスレッドの１つを関連付けられるインスタントメッセージスレッドとして識別するスレッドインジケータを含む。プロセッサ２０は、スレッドインジケータを新たな着信インスタントメッセージから抽出し、インスタントメッセージクライアント３５に通信して、関連付けられるインスタントメッセージスレッドを識別し、新たな着信インスタントメッセージが識別されたインスタントメッセージスレッドに可視的に関連付けられるように、新たな着信インスタントメッセージを表示装置５０に表示する。例えば、新たな着信インスタントメッセージは、その間に受信されたインスタントメッセージの数に関係なく関連付けられるインスタントメッセージスレッド中の最後のインスタントメッセージの下に直接表示されてよい。別の例として、新たな着信インスタントメッセージは、そのインスタントメッセージスレッドに関連付けられる別のウィンドウ中に表示されてよい。さらに別の例として、新たな着信インスタントメッセージは、同じインスタントメッセージスレッドに関連付けられる他のインスタントメッセージと共に、関連を示すために太字、イタリックまたは他の活字によって表示されてよい。さらに別の例として、新たな着信インスタントメッセージは、インスタントメッセージスレッド中の特定の先行するインスタントメッセージを参照して（例えば、「〜から始まるメッセージに応答して」のように）表示されてよい。
【００１９】
さらにプロセッサ２０は、新たな発信インスタントメッセージをインスタントメッセージスレッドの１つに関連付けるために、ユーザによって生成された新たな各発信インスタントメッセージを処理する。例えば、一実施形態ではインスタントメッセージクライアント３５は、ユーザがインスタントメッセージストリームの中の先行するインスタントメッセージの１つ（例えば、ユーザによって先に生成された先行する発信インスタントメッセージ、またはインスタントメッセージ通信セッションに関与する別のユーザによって生成された着信インスタントメッセージの１つ）に応答して応答インスタントメッセージを生成できるようにする。インスタントメッセージクライアント３５は、ユーザがどの先行するインスタントメッセージに応答しているかを、ユーザの入力に基づいて入力デバイス６０およびユーザインタフェース４０を介して決定する。例えば、ユーザは、ユーザが応答する表示装置５０上の先行するインスタントメッセージをクリックする、または他のインスタントメッセージが受信される前に最後に受信したインスタントメッセージに対する応答を直ちに打ち込み始める、のどちらも行い得る。
【００２０】
ユーザ入力に基づいて、プロセッサ２０は、応答済みインスタントメッセージに関連付けられるインスタントメッセージスレッドを識別し、関連付けられるインスタントメッセージスレッドを識別するスレッドインジケータを、発信インスタントメッセージ内に含める。一実施形態では、スレッドインジケータは、インスタントメッセージのストリームの特定のインスタントメッセージ（例えば、メッセージ番号）を識別できる。この実施形態では、インスタントメッセージスレッドはメッセージ番号によって識別されたインスタントメッセージ（識別済み先行インスタントメッセージ）を含み、発信インスタントメッセージが、識別済み先行インスタントメッセージに可視的に関連付けられるように、受信側インスタントメッセージ表示装置に発信インスタントメッセージを表示させることができる。別の実施形態では、スレッドインジケータは、タイムスタンプの直前に受信者インスタントメッセージデバイス１０の表示装置５０に表示されたインスタントメッセージを決定するために、受信者インスタントメッセージデバイス１０によって使用されるタイムスタンプを含み得る。この実施形態では、インスタントメッセージスレッドは、タイムスタンプの直前に表示されるインスタントメッセージ（識別済み先行インスタントメッセージ）を含み、発信インスタントメッセージが、識別済み先行インスタントメッセージに可視的に関連付けられるように受信側インスタントメッセージ表示装置に発信インスタントメッセージを表示させることができる。インスタントメッセージクライアント３５のマルチスレッドの性能について、図３〜図１０に関連して以下にさらに詳しく述べる。
【００２１】
例示の実施形態では、ユーザインタフェース４０は、ツールをアイコンおよび／またはテキストの形態でインスタントメッセージデバイス１０のユーザに対して表示装置５０上に表示するグラフィカルユーザインタフェース（ＧＵＩ）であり、ユーザがメッセージ受信者に対するテキスト型インスタントメッセージを生成（作成）し、そのインスタントメッセージをメッセージ受信者に送信できるようにする。例えば、ＧＵＩ４０は、特定のメッセージ受信者がオンライン中でありインスタントメッセージを受信するために対応可能かを表示する「友だちリスト（Ｂｕｄｄｙ  Ｌｉｓｔ）」、識別されたメッセージ受信者に対するインスタントメッセージを開始するためにユーザがクリック可能な「インスタントメッセージ送信」または他の同様なボタン、ユーザがその中にインスタントメッセージを打ち込むことができるテキスト型ポップアップウィンドウ、および打ち込んだインスタントメッセージを識別されたメッセージ受信者に送るようインスタントメッセージクライアント３５に命令する送信ボタン（例えば、「送信」、「エンター」キーまたはその他のボタン）をユーザに提供し得る。
【００２２】
ＧＵＩ４０は、入力デバイス６０と連動し、メッセージの生成と送信に関する命令をユーザから受け取り、そのような命令をインスタントメッセージクライアント３５に与える。例えば、入力デバイス６０は、キーボード、マウス、スタイラスペン、タッチスクリーン、音声認識アプリケーションまたは他の同様のデバイスなどを１つまたは複数含み得る。
【００２３】
図２は、本発明の実施形態で使用する例示のインスタントメッセージング通信システム１００を示す図である。インスタントメッセージング通信システム１００は、インスタントメッセージ１３０を生成し、送信し、受信するためのインスタントメッセージデバイス１０と、インスタントメッセージの機能を１つまたは複数のインスタントメッセージデバイス１０に提供するインスタントメッセージサーバ１５０と、インスタントメッセージデバイス１０とインスタントメッセージサーバ１５０の間のインスタントメッセージ１３０の経路となる通信ネットワーク１２０とを含む。
【００２４】
上述したように、各インスタントメッセージデバイス１０は、通信ネットワーク１２０を通じて電子テキスト型インスタントメッセージ１３０を送信および／または受信することが可能な、ユーザが操作する物理的通信デバイスである。したがって各インスタントメッセージデバイス１０は、インスタントメッセージを生成し、送受信するためのインスタントメッセージクライアント３５と、送受信されたインスタントメッセージをインスタントメッセージデバイス１０の表示装置５０上に表示するためのＧＵＩ４０を含む。
【００２５】
メッセージサーバ１５０は、通信ネットワーク１２０を介してインスタントメッセージデバイス１０によって生成されたインスタントメッセージ１３０を受信するために、結合されている。さらにメッセージサーバ１５０は、通信ネットワーク１２０を介してインスタントメッセージ１３０を適正なインスタントメッセージデバイス１０（すなわちインスタントメッセージ受信者）に与えるためにも、結合されている。例えば例示の実施形態では、メッセージサーバ１５０は、電子テキスト型インスタントメッセージ通信を通信ネットワーク１２０を通じて送信および／または受信可能な、コンピュータネットワークサーバ、テレフォニサーバ（例えば、回線交換機または端局、ＩＰルータ、ゲートウェイなど）、電子メールサーバ、ウェブサーバまたは任意の他のネットワーク型デバイスである。
【００２６】
図２において、通信ネットワーク１２０は、それを通じて（回線交換型データまたはパケット交換型データ）の媒体を送信可能な任意の形式のネットワークを表す。例えば、通信ネットワーク１２０は、以下を１つまたは複数含み得る。公衆交換電話網（ＰＳＴＮ）、公衆陸上移動網（ＰＬＭＮ）、１つまたは複数の私用構内通信網（ＬＡＮ）、インターネットおよび／または任意の他のネットワークまたはその組合せ。
【００２７】
例示の動作において発起側ユーザは、インスタントメッセージデバイス１０の１つにアクセスし、ユーザ自身のインスタントメッセージデバイス１０上のインスタントメッセージクライアント３５を開始して受信ユーザに対するインスタントメッセージ１３０を生成する。発起側ユーザは、受信アドレス（例えば、受信者の電子メールアドレス）およびテキストのメッセージストリームをインスタントメッセージ１３０に入力し、インスタントメッセージクライアント３５が、インスタントメッセージ１３０を通信ネットワーク１２０を通じて送信する。受信アドレスは、受信者に関連付けられるインスタントメッセージサーバ１５０を識別して見つけ出し、インスタントメッセージ１３０をインスタントメッセージサーバ１５０に送るために、通信ネットワーク１２０によって使用される。
【００２８】
インスタントメッセージ１３０を受信すると、インスタントメッセージサーバ１５０は、インスタントメッセージ１３０に対する追加の処理（例えば、フィルタリング、他のインスタントメッセージ加入者または受信者に関連付けられた他のインスタントメッセージデバイスに対するインスタントメッセージ１３０の自動転送、および／またはインスタントメッセージの受信者の所望する書式への変換）の実施を、適切な受信側インスタントメッセージデバイス１０にインスタントメッセージ１３０を提供（例えば、インスタントメッセージ１３０を通信ネットワーク１２０を介してほぼ即時に受信側インスタントメッセージデバイス１０で動作中のインスタントメッセージクライアント３５にダウンロード）する前に行い得る。受信側インスタントメッセージデバイス１０のインスタントメッセージクライアント３５は、受信ユーザに対してインスタントメッセージを、受信側インスタントメッセージデバイス１０の表示装置５０上で、ＧＵＩ４０を介して表示する。
【００２９】
さらに、インスタントメッセージサーバ１５０は、インスタントメッセージクライアント３５と組になって、受信ユーザに対して受信されたインスタントメッセージ１３０に応答するための様々のインスタントメッセージの選択肢を提供し得る。例えば、インスタントメッセージクライアント３５と連動しているインスタントメッセージサーバ１５０は、受信ユーザが受信されたインスタントメッセージ１３０に対する応答を生成して送信し、インスタントメッセージ１３０を他の加入者または受信者に関連付けられた他のインスタントメッセージデバイス１０に転送し、インスタントメッセージ１３０をインスタントメッセージサーバ１５０上のフォルダ、または受信ユーザに関連付けられたインスタントメッセージデバイス１０上のローカルフォルダ中に保存することができるようにし得る。
【００３０】
例えば、本発明の実施形態によれば、インスタントメッセージクライアント３５は、受信ユーザが、受信されたインスタントメッセージ１３０に対する応答を、表示装置５０上の受信されたインスタントメッセージ１３０をクリックする、または他のインスタントメッセージが受信される前に受信されたインスタントメッセージ１３０に対する応答を直ちに打ち込み始める、のどちらかを行って生成できるようにし得る。したがってユーザは、インスタントメッセージクライアント３５に対してそれに向けて応答インスタントメッセージが出される受信されたインスタントメッセージ１３０を具体的に識別し、インスタントメッセージクライアント３５は、識別された受信インスタントメッセージ１３０から、識別された受信インスタントメッセージに関連付けられるインスタントメッセージスレッドを識別するスレッドインジケータを決定して、そのスレッドインジケータを応答インスタントメッセージに含める。
【００３１】
図３は、本発明の実施形態による例示の二者間のインスタントメッセージ交信を示すメッセージの流れ図である。図３において、第１のユーザ（ユーザＡ）は、第１のインスタントメッセージデバイス（ＩＭデバイスＡ）１０ａを操作し、および第２のユーザ（ユーザＢ）は、第２のインスタントメッセージデバイス（ＩＭデバイスＢ）１０ｂを操作する。ユーザＡおよびユーザＢは共に、同じインスタントメッセージサーバ（ＩＭサーバ）１５０の機能を利用する。３０５で、ユーザＡは、ユーザＢに対する第１のインスタントメッセージ（ＩＭ１）をＩＭデバイスＡ１０ａ上に作成し、３１０で、ＩＭデバイスＡ１０ａは、ＩＭ１をＩＭサーバ１５０に対して送信する。３１５で、ＩＭサーバ１５０は、ＩＭ１をソースアドレスおよび宛先アドレスを決定するために処理し、ＩＭ１をＩＭデバイスＢ１０ｂに（宛先アドレスに基づき）送信し、ＩＭデバイスＡ１０ａに（ソースアドレスに基づき）戻す。３２０および３２５で、ＩＭ１は、ＩＭデバイスＡ１０ａおよびＩＭデバイスＢ１０ｂの両方に表示される。
【００３２】
次いで３３０で、ユーザＡはユーザＢに対する第２のインスタントメッセージ（ＩＭ２）をＩＭデバイスＡ１０ａ上に作成する。ほぼ同時刻に、３３５で、ユーザＢは、ユーザＡへの第３のインスタントメッセージ（ＩＭ３）をＩＭデバイスＢ１０ｂ上に作成する。３４０および３４５に示されるように、ユーザＡのインスタントメッセージ（ＩＭ２）はＩＭサーバ１５０に対してユーザＢのインスタントメッセージ（ＩＭ３）の前に送信される。そのため３５０で、ＩＭサーバ１５０は、ＩＭ２をＩＭデバイスＢ１０ｂおよびＩＭデバイスＡ１０ａの両方に送信し、３５５および３６０で、ＩＭ２がその場所で表示され、３７０で、ＩＭサーバ１５０は、ＩＭ３をＩＭデバイスＢ１０ｂおよびＩＭデバイスＡ１０ａの両方に送信し、３７５および３８０で、ＩＭ３がその場所で表示される。
【００３３】
ここで図４Ａ、図４Ｂを参照すると、図４Ａは図３のインスタントメッセージ交信の例示の従来技術の表示を示す図であり、図４Ｂは本発明の実施形態による図３のインスタントメッセージ交信の例示の表示を示す図である。図４Ａ、図４Ｂに示す表示装置５０は、テキスト表示ウィンドウ４１０およびテキスト入力ウィンドウ４２０と共に表示される内部にグラフィカルユーザインタフェース（ＧＵＩ）４０を含む。テキスト表示ウィンドウ４１０は、インスタントメッセージ１３０のストリームをインスタントメッセージ通信セッション中に表示し、一方でテキスト入力ウィンドウ４２０は、ユーザに新規のインスタントメッセージを打ち込むためのインタフェースを提供する。
【００３４】
図４Ａに示されるように、それぞれのインスタントメッセージ１３０は、テキスト表示ウィンドウ４１０に受信の発生順に表示される。したがってユーザＡの第１のインスタントメッセージ（ＩＭ１）「あなたの事務所で会いましょうか」が１番目に表示され、次にユーザＡの第２のインスタントメッセージ（ＩＭ２）「それとも、うちの事務所で会いましょうか」が続き、次いでユーザＢの第３のインスタントメッセージ（ＩＭ３）「はい、そうしましょう」が表示される。インスタントメッセージ１３０を受信される順に表示すると、図４Ａに示されるように、曖昧なインスタントメッセージ交信になる可能性がある。例えば図４Ａでは、ユーザＢが第１のインスタントメッセージ（ＩＭ１）、または第２のインスタントメッセージ（ＩＭ２）のどちらに応答しているか曖昧である。
【００３５】
ただし図４Ｂに示すインスタントメッセージ交信のように、それぞれのインスタントメッセージ１３０を特定のインスタントメッセージスレッド４５０に関連付けることによってこの混同は除去される。したがって図４Ｂでは、ユーザＡの第１のインスタントメッセージ（ＩＭ１）「あなたの事務所で会いましょうか」が１番目に表示され、次にユーザＢの第３のインスタントメッセージ（ＩＭ３）「はい、そうしましょう」が続き、次いでユーザＡの第２のインスタントメッセージ（ＩＭ２）「それとも、うちの事務所で会いましょうか」が表示される。図４Ｂのように、インスタントメッセージがインスタントメッセージスレッドの順に表示されるために、インスタントメッセージ交信の文脈は明確である。
【００３６】
図５は、本発明の実施形態による例示の複数の当事者間のインスタントメッセージ交信を示す別のメッセージの流れ図である。図５において、第１のユーザ（ユーザＡ）は、第１のインスタントメッセージデバイス（ＩＭデバイスＡ）１０ａを操作し、第２のユーザ（ユーザＢ）は、第２のインスタントメッセージデバイス（ＩＭデバイスＢ）１０ｂを、第３のユーザ（ユーザＣ）は、第３のインスタントメッセージデバイス（ＩＭデバイスＣ）１０ｃを操作する。ユーザＡ、ユーザＢおよびユーザＣはすべて、同じインスタントメッセージサーバ（ＩＭサーバ）１５０の機能を利用する。５０５で、ユーザＡは、ユーザＢおよびユーザＣに対する第１のインスタントメッセージ（ＩＭ１）をＩＭデバイスＡ１０ａ上に作成し、５１０で、ＩＭデバイスＡ１０ａは、ＩＭ１をＩＭサーバ１５０に対して送信する。５１５で、ＩＭサーバ１５０は、ＩＭ１をソースアドレスおよび宛先アドレスを決定するために処理し、ＩＭ１をＩＭデバイスＣ１０ｃおよびＩＭデバイスＢ１０ｂの両方に（宛先アドレスに基づき）送信し、ＩＭデバイスＡ１０ａに（ソースアドレスに基づき）戻す。５２０、５２５および５３０で、ＩＭ１は、ＩＭデバイスＡ１０ａ、ＩＭデバイスＢ１０ｂおよびＩＭデバイスＣ１０ｃのそれぞれに表示される。
【００３７】
次いで、５３５で、ユーザＢがユーザＡおよびユーザＣに対する第２のインスタントメッセージ（ＩＭ２）をＩＭデバイスＢ１０ｂ上で作成する。ほぼ同時刻に５４０で、ユーザＣがユーザＡおよびユーザＢに対する第３のインスタントメッセージ（ＩＭ３）をＩＭデバイスＣ１０ｃ上で作成する。５４５に示されるように、ユーザＢのインスタントメッセージ（ＩＭ２）は、ＩＭサーバ１５０にユーザＣのインスタントメッセージ（ＩＭ３）の前に送信される。したがって５５０で、ＩＭサーバ１５０はＩＭ２をＩＭデバイスＣ１０ｃ、ＩＭデバイスＢ１０ｂおよびＩＭデバイスＡ１０ａに送信し、５５５、５６０および５６５で、ＩＭ２はその場に表示される。次いで５７０で、ユーザＣのインスタントメッセージ（ＩＭ３）がＩＭサーバ１５０に送信され、および５７５で、ＩＭサーバ１５０がＩＭ３をＩＭデバイスＣ１０ｃ、ＩＭデバイスＢ１０ｂおよびＩＭデバイスＡ１０ａに送信し、５８０、５８５および５９０で、ＩＭ３がその場に表示される。
【００３８】
ここで図６Ａ、図６Ｂを参照すると、図６Ａは図５のインスタントメッセージ交信の例示の従来技術の表示を示す図であり、図６Ｂは本発明の実施形態による図５のインスタントメッセージ交信の例示の表示を示す図である。図６Ａに示されるように、それぞれのインスタントメッセージ１３０は、再度テキスト表示ウィンドウ４１０に受信の発生順に表示される。したがってユーザＡの第１のインスタントメッセージ（ＩＭ１）「賛成して頂けますか」が１番目に表示され、次にユーザＢの第２のインスタントメッセージ（ＩＭ２）「昼食に出かけませんか」が続き、次いでユーザＣの第３のインスタントメッセージ（ＩＭ３）「はい」が表示される。図６Ａに表示されるインスタントメッセージ交信は、ユーザＣが第１のインスタントメッセージ（ＩＭ１）、または第２のインスタントメッセージ（ＩＭ２）のどちらに応答しているか不明確であるために、曖昧である。
【００３９】
これに対して、図６Ｂではインスタントメッセージ交信がインスタントメッセージスレッド４５０の順に表示されている。したがって図６ＢではユーザＡの第１のインスタントメッセージ（ＩＭ１）「賛成して頂けますか」が１番目に表示され、次にユーザＣの第３のインスタントメッセージ（ＩＭ３）「はい」が続き、次いでユーザＢの第２のインスタントメッセージ（ＩＭ２）「昼食に出かけませんか」が表示される。図６Ｂのように、インスタントメッセージがインスタントメッセージスレッドの順に表示されるために、インスタントメッセージ交信の文脈は明確である。
【００４０】
図７は、本発明の実施形態によるインスタントメッセージの例示の書式を示す図である。図示のように、例示のインスタントメッセージ１３０は、ソースアドレスフィールド７１０と、宛先アドレス（１つまたは複数）／セッションＩＤフィールド７２０と、スレッドインジケータ７３０と、メッセージフィールド７４０とを含む。ソースアドレスフィールド７１０は、インスタントメッセージを開始したユーザのアドレス（例えば、ＩＰアドレスまたは電子メールアドレス）を含み、宛先アドレス（１つまたは複数）／セッションＩＤフィールド７２０は、（各メッセージ受信者のアドレス例えば、ＩＰアドレスもしくは電子メールアドレス）、またはさもなければ、インスタントメッセージ１３０用の宛先アドレス（１つまたは複数）を決定するのに使用されるインスタントメッセージ通信セッションの識別子を含む。メッセージフィールド７４０は、インスタントメッセージ１３０用にメッセージ発起側ユーザによって打ち込まれた、またはそれ以外の手段で入力されたテキスト型メッセージデータを含む。
【００４１】
スレッドインジケータフィールド７３０は、インスタントメッセージ１３０に関連付けられる特定のインスタントメッセージスレッドを識別するスレッドインジケータを含む。例えば、一実施形態ではスレッドインジケータはインスタントメッセージのストリームの中の特定の先行するインスタントメッセージを識別するメッセージ番号を含んでよく、このメッセージ番号は、インスタントメッセージ１３０に関連付けられるインスタントメッセージスレッドを決定するために使用され得る。例えば、インスタントメッセージスレッドは、メッセージ番号によって識別された先行するインスタントメッセージを含むとして識別され得る。別の実施形態では、スレッドインジケータは、インスタントメッセージ１３０の作成が始まる具体的な時間を識別するタイムスタンプを含むことができ、このタイムスタンプはインスタントメッセージに関連付けられるインスタントメッセージスレッドを決定するために使用され得る。例えば、インスタントメッセージスレッドは、タイムスタンプの直前のインスタントメッセージを含むとして識別され得る。
【００４２】
図８は、本発明の実施形態によるマルチスレッドのインスタントメッセージストリームを容易にする例示のプロセス８００を示す流れ図である。ブロック８１０で、インスタントメッセージ通信セッションが２人以上のユーザの間で開始される。次いで、ブロック８２０で、現在のインスタントメッセージがインスタントメッセージ通信セッション中にユーザの１人に受信される。現在のインスタントメッセージは、ブロック８３０で現在のインスタントメッセージに関連付けられるインスタントメッセージスレッドを識別するために使用されるスレッドインジケータを含む。インスタントメッセージスレッドは、インスタントメッセージ通信セッション中に送信されるインスタントメッセージのストリームの中の少なくとも１つのインスタントメッセージを識別する。最後に、ブロック８４０で、現在のインスタントメッセージが識別されたインスタントメッセージスレッドに可視的に関連付けられるように、現在のインスタントメッセージが表示される。
【００４３】
図９は、本発明の実施形態によるマルチスレッドのインスタントメッセージストリームを容易にする別の例示のプロセス９００を示す流れ図である。ブロック９１０で、インスタントメッセージ通信セッションが２人以上のユーザの間で開始され、そのセッション中にインスタントメッセージがユーザ間で送信され、ユーザによってインスタントメッセージのストリームとして閲覧される。次いで、ブロック９２０で、ユーザの１人が現在のインスタントメッセージの作成を開始する。現在のインスタントメッセージが作成中であることが検出されると、ブロック９３０で、現在のインスタントメッセージの作成開始時刻がタイムスタンプとして記録される。現在のインスタントメッセージの完了後、ブロック９４０で、現在のインスタントメッセージは、タイムスタンプと共に送信される。
【００４４】
ブロック９５０で、タイムスタンプを伴う現在のインスタントメッセージがインスタントメッセージ通信セッション中にユーザの１人によって受信される。ブロック９６０で、タイムスタンプが現在のインスタントメッセージから抽出され、ブロック９７０で、タイムスタンプが、タイムスタンプ前に最後に表示されたメッセージを決定するために使用される。例えば、一実施形態では、タイムスタンプ（作成開始時刻）が、表示されたインスタントメッセージの表示装置の時刻（すなわち受信時刻）と比較されて、タイムスタンプの値の直前の表示装置の時刻（すなわち受信時刻）によって表示されたインスタントメッセージを識別する。ブロック９８０で、識別された最後の表示されたメッセージから、現在のインスタントメッセージに関連付けられるインスタントメッセージスレッド（例えば、識別された最後の表示されたメッセージを含むインスタントメッセージスレッド）が識別される。最後にブロック９９０で、現在のインスタントメッセージが識別されたインスタントメッセージスレッドに可視的に関連付けられるように、現在のインスタントメッセージが表示される。
【００４５】
図１０は、本発明の実施形態によるマルチスレッドのインスタントメッセージストリームを容易にする、さらに別の例示のプロセス１０００を示す流れ図である。ブロック１０１０で、インスタントメッセージ通信セッションが２人以上のユーザの間で開始される。インスタントメッセージ通信セッション中に、インスタントメッセージがユーザ間で送信され、ユーザによってインスタントメッセージのストリームとして閲覧される。さらに、インスタントメッセージのストリームの中のそれぞれのインスタントメッセージは、それらにそれぞれ関連付けられるメッセージ識別子を有する。
【００４６】
次いで、ブロック１０２０で、ユーザの１人がインスタントメッセージをユーザが応答を生成したいメッセージの番号によって識別する。応答インスタントメッセージを作成するときは、ブロック１０３０で、応答インスタントメッセージが、応答インスタントメッセージがそれに対して出されるメッセージのメッセージ番号を付して送信される。ブロック１０４０で、メッセージ番号が付された応答インスタントメッセージが、インスタントメッセージ通信セッション中にユーザの１人によって受信される。ブロック１０５０で、メッセージ番号が応答インスタントメッセージから抽出され、ブロック１０６０で、メッセージ番号がメッセージ番号に関連付けられるインスタントメッセージスレッド（すなわちそれに対して応答インスタントメッセージが向かうインスタントメッセージ）を識別するために使用される。最後に、ブロック１０７０で、応答インスタントメッセージが識別されたインスタントメッセージスレッドに可視的に関連付けられるように応答インスタントメッセージが表示される。
【００４７】
当業者には理解されるように、本出願に記載された革新的な概念は、幅広い用途にわたって修正し、また変形し得る。したがって、本願主題の範囲は記載された具体的な例示の教示のいずれにも限定されるべきではなく、むしろ以下の特許請求の範囲によって定義される。
【図１】
2009545074.tif 000003
【図２】
2009545074.tif 000004
【図３】
2009545074.tif 000005
【図４Ａ】
2009545074.tif 000006
【図４Ｂ】
2009545074.tif 000007
【図５】
2009545074.tif 000008
【図６Ａ】
2009545074.tif 000009
【図６Ｂ】
2009545074.tif 000010
【図７】
2009545074.tif 000011
【図８】
2009545074.tif 000012
【図９】
2009545074.tif 000013
【図１０】
2009545074.tif 000014
【手続補正書】
【提出日】平成21年3月24日(2009.3.24)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に通信システムに関し、具体的にはインスタントメッセージを送信するためのインスタントメッセージング通信システムに関する。
【背景技術】
【０００２】
インスタントメッセージング通信システムは、電子テキストメッセージを、メッセージ送信者からメッセージ受信者に即時に送る。例えば、テキスト型インスタントメッセージは、メッセージ送信者が送信ボタンをクリックするのと通常ほぼ同時に（基盤となる移送ネットワーク中の伝搬遅延は受けるが）、メッセージ受信者のコンピュータスクリーン上のポップアップウィンドウに現れる。したがってメッセージ受信者は、自ら電子メールプログラムにアクセスするか、または別の方法でメッセージをチェックする必要はなく、インスタントメッセージを閲覧できる。
【０００３】
典型的なシナリオでは、第１のユーザ（ユーザＡ）は、第２のユーザ（ユーザＢ）とのインスタントメッセージ通信セッションを、ユーザＡのコンピュータスクリーン上の「インスタントメッセージ送信」ボタンまたは他の同様のボタンをクリックし、メッセージ受信者（ユーザＢ）をインスタントメッセージ用に識別することによって開始する。例えば、ユーザＡはユーザＢがオンライン中であり、インスタントメッセージを受信するために対応可能かを決定するために「友だちリスト（Ｂｕｄｄｙ  Ｌｉｓｔ）」にアクセスする可能性があり、次いで、ユーザＢに対して「インスタントメッセージ送信」ボタンをクリックする。すると、インスタントメッセージポップアップウィンドウがユーザＡのコンピュータスクリーン上に現れ、ユーザＡがユーザＢに対するメッセージを打ち込めるようにする。ユーザＡが、メッセージの打ち込みを終えると、ユーザＡは「送信」ボタンをクリックする、「エンター」キーを押すか、またはそれ以外の手段でユーザＢへのインスタントメッセージの送信を開始できる。インスタントメッセージがユーザＢのコンピュータに受信されると、同様のポップウィンドウがユーザＡの打ち込んだテキストメッセージを含めてユーザＢのコンピュータスクリーンに現れる。ユーザＢが、ユーザＡに対する応答インスタントメッセージを打ち込んで「送信」をクリックすると、ユーザＡおよびユーザＢの両方のコンピュータスクリーンのポップアップウィンドウの中でユーザＡが送信した第１のインスタントメッセージの下に、応答インスタントメッセージが現れる。
【０００４】
このため、既存のインスタントメッセージアプリケーションは、インスタントメッセージの送信時刻および／または受信時刻を発生の順に表示する。そのようなメッセージの表示シーケンスは、ユーザＡがユーザＢからの特定の先行する受信済みインスタントメッセージへの応答を打ち込んでいる間にユーザＡがユーザＢからインスタントメッセージを受信するような、二者間のインスタントメッセージ交信では要求を満たさない可能性がある。さらに、発生順によるメッセージ表示は、複数の当事者間のインスタントメッセージ交信でも、要求を満たさない可能性がある。例えば、ユーザＡがユーザＢのインスタントメッセージに答えて応答を作成している一方で、別の当事者（ユーザＣ）から、別のインスタントメッセージが受信された場合に問題が起こり得る。そのような状況では、ユーザＢのインスタントメッセージに対して生成されたユーザＡの応答の文脈が、ユーザＣからのインスタントメッセージの到着によって不明瞭になる可能性がある。
【０００５】
インスタントメッセージに対する応答の作成（タイプ打ち込み、または他の入力）は、二者間の交信でも複数の当事者間の交信でも時間がかかるために、より新たなインスタントメッセージの到着によって応答の文脈が意味をなさなくなることがある。そのため、多くのインスタントメッセージユーザが、インスタントメッセージ間の関連を追うことが難しいと感じている。
【０００６】
インスタントメッセージをグループ分けする様々な方法が、ＰｅｔｅｒｓｏｎらのＵＳ２００６／００５９２３５（「Ｐｅｔｅｒｓｏｎ」）、ＫｌａｓｓｅｎのＥＰ−Ａ−１６６９８８４（「Ｋｌａｓｓｅｎ」）、およびＩＥＴＦ  Ｋｏｓｋｅｌａｉｎｅｎ／Ｓｃｈｕｌｚｒｉｎｎｅ  Ｎｏｋｉａ／Ｃｏｌｕｍｂｉａ  Ｕ  Ｇｒｏｕｐ  Ｍｅｓｓａｇｉｎｇ  ｉｎ  ＳＩＰ、「Ｇｒｏｕｐ  Ｍｅｓｓａｇｉｎｇ  ｉｎ  ＳＩＰ；ｄｒａｆｔ−ｋｏｓｋｅｌａｉｎｅｎ−ｓｉｐ−ｇｒｏｕｐ−００．ｔｘｔ」、ＩＥＴＦ  ＳＴＡＮＤＡＲＤ−ＷＯＲＫＩＮＧ−ＤＲＡＦＴ、ＩＮＴＥＲＮＥＴ  ＥＮＧＩＮＥＥＲＩＮＧ  ＴＡＳＫ  ＦＯＲＣＥ、ＩＥＴＦ、ＣＨ、２００１年７月１３日（２００１−０７−１３）、ＸＰ０１５０３１１９０  ＩＳＳＮ：００００−０００４（「ＩＥＴＦ文書」）に記載されている。例えばＰｅｔｅｒｓｏｎにおいては、インスタントメッセージは、各インスタントメッセージスレッドスレッド用の別個の入力領域を与えることによってインスタントメッセージスレッドに編成される。ユーザが新たなスレッドの開始を望む都度に、そのインスタントメッセージスレッドを表示するために新たな入力領域が追加される。新たな入力領域を各インスタントメッセージスレッド用に生成することによって、表示が読みにくくなる可能性があり、ユーザは手動でテキスト入力ストリングを特定のインスタントメッセージスレッドに関連付ける必要がある。他の例として、Ｋｌａｓｓｅｎは、例えば、各スレッドをタイムスタンプ値を第１の特定時刻と最後の特定時刻の間に有するメッセージとして定義することによって生成可能であるテキストメッセージスレッドを管理するテキストメッセージングユーザインタフェースについて記載する。しかしＫｌａｓｓｅｎでは、複数のスレッドが同時に発生することができない。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】米国特許出願公開第ＵＳ２００６／００５９２３５号明細書
【特許文献２】欧州特許出願公開第ＥＰ−Ａ−１６６９８８４号明細書
【非特許文献】
【０００８】
【非特許文献１】ＩＥＴＦ  Ｋｏｓｋｅｌａｉｎｅｎ／Ｓｃｈｕｌｚｒｉｎｎｅ  Ｎｏｋｉａ／Ｃｏｌｕｍｂｉａ  Ｕ  Ｇｒｏｕｐ  Ｍｅｓｓａｇｉｎｇ  ｉｎ  ＳＩＰ、「Ｇｒｏｕｐ  Ｍｅｓｓａｇｉｎｇ  ｉｎ  ＳＩＰ；ｄｒａｆｔ−ｋｏｓｋｅｌａｉｎｅｎ−ｓｉｐ−ｇｒｏｕｐ−００．ｔｘｔ」ＩＥＴＦ  ＳＴＡＮＤＡＲＤ−ＷＯＲＫＩＮＧ−ＤＲＡＦＴ、ＩＮＴＥＲＮＥＴ  ＥＮＧＩＮＥＥＲＩＮＧ  ＴＡＳＫ  ＦＯＲＣＥ、ＩＥＴＦ、ＣＨ、２００１年７月１３日（２００１−０７−１３）、ＸＰ０１５０３１１９０  ＩＳＳＮ：００００−０００４
【発明の概要】
【発明が解決しようとする課題】
【０００９】
インスタントメッセージとそれに対する応答間の関連を、時間と関係なく自動的に維持することが可能なインスタントメッセージング通信システムが必要である。
【課題を解決するための手段】
【００１０】
本発明の実施形態は、インスタントメッセージクライアントと、プロセッサと、表示装置とを含むインスタントメッセージデバイスを提供する。インスタントメッセージクライアントは、それぞれのインスタントメッセージスレッドが、インスタントメッセージデバイスを操作する第１のユーザと少なくとも１人の追加のユーザ間のインスタントメッセージ通信セッション中に送信されるインスタントメッセージのストリームの中の少なくとも１つのインスタントメッセージを識別する複数のインスタントメッセージスレッドを管理することが可能である。プロセッサはインスタントメッセージクライアントを実行してインスタントメッセージ通信セッションを開始し、追加のユーザからインスタントメッセージ通信セッション中に受信された現在のインスタントメッセージを処理する。現在のインスタントメッセージは、インスタントメッセージスレッドの１つを識別されたインスタントメッセージスレッドとして識別するスレッドインジケータを含む。表示装置はプロセッサに結合されて、現在のインスタントメッセージが識別されたインスタントメッセージスレッドに可視的に関連付けられるように、インスタントメッセージのストリームを表示する。
【００１１】
一実施形態では、インスタントメッセージのストリームの中のそれぞれのインスタントメッセージは、それらにそれぞれ関連付けられるメッセージ識別子を有し、スレッドインジケータはメッセージ識別子の１つを含む。別の実施形態では、スレッドインジケータは、追加のユーザが現在のインスタントメッセージの作成を開始する開始時刻を示すタイムスタンプを含む。プロセッサは、タイムスタンプの直前に表示装置に表示されるインスタントメッセージの１つを、識別されたインスタントメッセージスレッドとして識別するように動作可能である。
【００１２】
さらなる実施形態では、インスタントメッセージデバイスは、プロセッサと表示装置の間に結合された、インスタントメッセージを表示装置上に表示するためのグラフィカルユーザインタフェースをさらに含む。グラフィカルユーザインタフェースは、第１のユーザがインスタントメッセージのストリームの中のインスタントメッセージの選択された１つに応答して応答インスタントメッセージを生成できるように、さらに動作可能である。プロセッサは、選択インスタントメッセージに関連付けられるインスタントメッセージスレッドの選択された１つを識別し、選択インスタントメッセージのスレッドを識別する追加のスレッドインジケータを応答インスタントメッセージ内に含めるように動作可能である。
【００１３】
本発明の実施形態は、インスタントメッセージデバイスと、インスタントメッセージサーバと、通信ネットワークを備えるインスタントメッセージング通信システムとをさらに提供する。インスタントメッセージデバイスは、複数のインスタントメッセージスレッドを管理することが可能なインスタントメッセージクライアントを含み、それぞれのインスタントメッセージスレッドは、インスタントメッセージ通信セッション中に送信されるインスタントメッセージのストリームの中の少なくとも１つのインスタントメッセージを識別し、それぞれのインスタントメッセージスレッドは、インスタントメッセージに含まれるそれぞれのスレッドインジケータによって識別される。インスタントメッセージデバイスは、インスタントメッセージをそれぞれのインスタントメッセージスレッドに可視的に関連付けるためにインスタントメッセージのストリームを表示するための表示装置をさらに含む。インスタントメッセージサーバは、インスタントメッセージデバイスに関連付けられて、インスタントメッセージデバイスを往復するインスタントメッセージの送受信を行う。通信ネットワークは、インスタントメッセージデバイスとインスタントメッセージサーバの間でインスタントメッセージを送信する。
【００１４】
本発明の実施形態は、インスタントメッセージ通信セッションを開始するステップと、現在のインスタントメッセージをインスタントメッセージ通信セッション中に受信し、現在のインスタントメッセージがスレッドインジケータを含むステップと、スレッドインジケータから現在のインスタントメッセージに関連付けられるインスタントメッセージスレッドを識別するステップとを含む、マルチスレッドのインスタントメッセージングを容易にする方法をさらに提供する。インスタントメッセージスレッドは、インスタントメッセージ通信セッション中に送信されるインスタントメッセージのストリームの中で少なくとも１つのインスタントメッセージを識別する。本方法は、現在のインスタントメッセージがインスタントメッセージスレッドに可視的に関連付けられるように現在のインスタントメッセージを表示するステップをさらに含む。
【００１５】
以下の詳細な説明を参照して添付図面に関連して読めば、本発明のより完全な理解を得ることができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態で使用する例示のインスタントメッセージデバイスを示す図である。
【図２】本発明の実施形態で使用する例示のインスタントメッセージング通信システムを示す図である。
【図３】本発明の実施形態による例示の二者間のインスタントメッセージ交信を示すメッセージの流れ図である。
【図４Ａ】図３のインスタントメッセージ交信の例示の従来技術の表示を示す図である。
【図４Ｂ】本発明の実施形態による図３のインスタントメッセージ交信の例示の表示を示す図である。
【図５】本発明の実施形態による例示の複数の当事者者間のインスタントメッセージ交信を示す別のメッセージの流れ図である。
【図６Ａ】図５のインスタントメッセージ交信の例示の従来技術の表示を示す図である。
【図６Ｂ】本発明の実施形態による図５のインスタントメッセージ交信の例示の表示を示す図である。
【図７】本発明の実施形態によるインスタントメッセージの例示の書式を示す図である。
【図８】本発明の実施形態による、マルチスレッドのインスタントメッセージストリームを容易にする例示のプロセスを示す流れ図である。
【図９】本発明の実施形態による、マルチスレッドのインスタントメッセージストリームを容易にする別の例示のプロセスを示す流れ図である。
【図１０】本発明の実施形態による、マルチスレッドのインスタントメッセージストリームを容易にするさらに別の例示のプロセスを示す流れ図である。
【発明を実施するための形態】
【００１７】
図１は、本発明の実施形態で使用する例示のインスタントメッセージデバイス１０を示す図である。インスタントメッセージデバイス１０は、通信ネットワークを通じて電子テキストメッセージ通信を即時に送信および／または受信することが可能な、ユーザが操作する物理的通信デバイスである。そのようなインスタントメッセージデバイス１０の例は、ラップトップコンピュータ、パーソナルコンピュータ、卓上電話、携帯電話、携帯情報端末（ＰＤＡ）またはその他のユーザが操作する通信デバイスを含むが、これらに限定されない。
【００１８】
一般的に、インスタントメッセージデバイス１０は、プロセッサ２０、メモリ３０、ユーザインタフェース４０、表示装置５０、入力デバイス６０および外部インタフェース７０を含む。プロセッサ２０は、命令（例えば、アプリケーション）を実行する１つまたは複数のプロセッサを含み、メモリ３０は、プロセッサ２０が使用する命令（例えば、アプリケーション）およびデータを格納する１つまたは複数のメモリを含む。本明細書において用語「プロセッサ」は、汎用コンピュータを駆動するデバイスとして概ね理解される。ただし、マイクロコントローラ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定アプリケーション向け集積回路（ＡＳＩＣ）などの他の制御演算装置、またはその組合せが、本明細書に記載の利益と効果を達成するために使用され得ることに、留意すべきである。
【００１９】
例えば、メモリ３０内部に、オペレーティングシステム３２、インスタントメッセージクライアント３５（例えば、インスタントメッセージアプリケーション、またはソフトウェアプログラム）およびプロセッサ２０によって実行され得る命令を含む他のアプリケーション３８が示されている。インスタントメッセージを送信および／または受信するために、プロセッサ２０は、メモリ３０内部のインスタントメッセージクライアント３５にアクセスして実行する。インスタントメッセージクライアント３５の実行の間に、インスタントメッセージクライアント３５は、プロセッサ２０を介してテキスト型インスタントメッセージを生成し送信するように動作可能である。例えば、インスタントメッセージクライアント３５は、発信インスタントメッセージを生成するように、プロセッサ２０およびユーザインタフェース４０を介して入力デバイス６０に通信し、発信インスタントメッセージを通信ネットワークで送信するように、プロセッサ２０を介して外部インタフェース７０に通信できる。さらに、インスタントメッセージクライアント３５は、プロセッサ２０を介して着信インスタントメッセージを受信し表示するように動作できる。例えば、インスタントメッセージクライアント３５は、着信インスタントメッセージを受信するように、プロセッサ２０を介して外部インタフェース７０に通信し、受信されたインスタントメッセージを表示するように、プロセッサ２０およびユーザインタフェース４０を介して表示装置５０と通信できる。
【００２０】
本発明の実施形態によれば、インスタントメッセージクライアント３５は、複数のインスタントメッセージスレッドを管理することがさらに可能であり、それぞれのインスタントメッセージスレッドは、インスタントメッセージデバイス１０を操作するユーザと少なくとも１人の追加のユーザ間のインスタントメッセージ通信セッション中に送信されるインスタントメッセージのストリームの中の少なくとも１つのインスタントメッセージを識別する。ひとたびプロセッサ２０がインスタントメッセージクライアント３５を実行してインスタントメッセージ通信セッションを開始すると、それぞれの新たな着信インスタントメッセージは、これらの新たな着信インスタントメッセージをインスタントメッセージスレッドの１つに関連付けるためにプロセッサ２０によって処理される。
【００２１】
例えば、一実施形態では新たな着信インスタントメッセージは、インスタントメッセージスレッドの１つを関連付けられるインスタントメッセージスレッドとして識別するスレッドインジケータを含む。プロセッサ２０は、スレッドインジケータを新たな着信インスタントメッセージから抽出し、インスタントメッセージクライアント３５に通信して、関連付けられるインスタントメッセージスレッドを識別し、新たな着信インスタントメッセージが識別されたインスタントメッセージスレッドに可視的に関連付けられるように、新たな着信インスタントメッセージを表示装置５０に表示する。例えば、新たな着信インスタントメッセージは、その間に受信されたインスタントメッセージの数に関係なく関連付けられるインスタントメッセージスレッド中の最後のインスタントメッセージの下に直接表示されてよい。別の例として、新たな着信インスタントメッセージは、そのインスタントメッセージスレッドに関連付けられる別のウィンドウ中に表示されてよい。さらに別の例として、新たな着信インスタントメッセージは、同じインスタントメッセージスレッドに関連付けられる他のインスタントメッセージと共に、関連を示すために太字、イタリックまたは他の活字によって表示されてよい。さらに別の例として、新たな着信インスタントメッセージは、インスタントメッセージスレッド中の特定の先行するインスタントメッセージを参照して（例えば、「〜から始まるメッセージに応答して」のように）表示されてよい。
【００２２】
さらにプロセッサ２０は、新たな発信インスタントメッセージをインスタントメッセージスレッドの１つに関連付けるために、ユーザによって生成された新たな各発信インスタントメッセージを処理する。例えば、一実施形態ではインスタントメッセージクライアント３５は、ユーザがインスタントメッセージストリームの中の先行するインスタントメッセージの１つ（例えば、ユーザによって先に生成された先行する発信インスタントメッセージ、またはインスタントメッセージ通信セッションに関与する別のユーザによって生成された着信インスタントメッセージの１つ）に応答して応答インスタントメッセージを生成できるようにする。インスタントメッセージクライアント３５は、ユーザがどの先行するインスタントメッセージに応答しているかを、ユーザの入力に基づいて入力デバイス６０およびユーザインタフェース４０を介して決定する。例えば、ユーザは、ユーザが応答する表示装置５０上の先行するインスタントメッセージをクリックする、または他のインスタントメッセージが受信される前に最後に受信したインスタントメッセージに対する応答を直ちに打ち込み始める、のどちらも行い得る。
【００２３】
ユーザ入力に基づいて、プロセッサ２０は、応答済みインスタントメッセージに関連付けられるインスタントメッセージスレッドを識別し、関連付けられるインスタントメッセージスレッドを識別するスレッドインジケータを、発信インスタントメッセージ内に含める。一実施形態では、スレッドインジケータは、インスタントメッセージのストリームの特定のインスタントメッセージ（例えば、メッセージ番号）を識別できる。この実施形態では、インスタントメッセージスレッドはメッセージ番号によって識別されたインスタントメッセージ（識別済み先行インスタントメッセージ）を含み、発信インスタントメッセージが、識別済み先行インスタントメッセージに可視的に関連付けられるように、受信側インスタントメッセージ表示装置に発信インスタントメッセージを表示させることができる。別の実施形態では、スレッドインジケータは、タイムスタンプの直前に受信者インスタントメッセージデバイス１０の表示装置５０に表示されたインスタントメッセージを決定するために、受信者インスタントメッセージデバイス１０によって使用されるタイムスタンプを含み得る。この実施形態では、インスタントメッセージスレッドは、タイムスタンプの直前に表示されるインスタントメッセージ（識別済み先行インスタントメッセージ）を含み、発信インスタントメッセージが、識別済み先行インスタントメッセージに可視的に関連付けられるように受信側インスタントメッセージ表示装置に発信インスタントメッセージを表示させることができる。インスタントメッセージクライアント３５のマルチスレッドの性能について、図３〜図１０に関連して以下にさらに詳しく述べる。
【００２４】
例示の実施形態では、ユーザインタフェース４０は、ツールをアイコンおよび／またはテキストの形態でインスタントメッセージデバイス１０のユーザに対して表示装置５０上に表示するグラフィカルユーザインタフェース（ＧＵＩ）であり、ユーザがメッセージ受信者に対するテキスト型インスタントメッセージを生成（作成）し、そのインスタントメッセージをメッセージ受信者に送信できるようにする。例えば、ＧＵＩ４０は、特定のメッセージ受信者がオンライン中でありインスタントメッセージを受信するために対応可能かを表示する「友だちリスト（Ｂｕｄｄｙ  Ｌｉｓｔ）」、識別されたメッセージ受信者に対するインスタントメッセージを開始するためにユーザがクリック可能な「インスタントメッセージ送信」または他の同様なボタン、ユーザがその中にインスタントメッセージを打ち込むことができるテキスト型ポップアップウィンドウ、および打ち込んだインスタントメッセージを識別されたメッセージ受信者に送るようインスタントメッセージクライアント３５に命令する送信ボタン（例えば、「送信」、「エンター」キーまたはその他のボタン）をユーザに提供し得る。
【００２５】
ＧＵＩ４０は、入力デバイス６０と連動し、メッセージの生成と送信に関する命令をユーザから受け取り、そのような命令をインスタントメッセージクライアント３５に与える。例えば、入力デバイス６０は、キーボード、マウス、スタイラスペン、タッチスクリーン、音声認識アプリケーションまたは他の同様のデバイスなどを１つまたは複数含み得る。
【００２６】
図２は、本発明の実施形態で使用する例示のインスタントメッセージング通信システム１００を示す図である。インスタントメッセージング通信システム１００は、インスタントメッセージ１３０を生成し、送信し、受信するためのインスタントメッセージデバイス１０と、インスタントメッセージの機能を１つまたは複数のインスタントメッセージデバイス１０に提供するインスタントメッセージサーバ１５０と、インスタントメッセージデバイス１０とインスタントメッセージサーバ１５０の間のインスタントメッセージ１３０の経路となる通信ネットワーク１２０とを含む。
【００２７】
上述したように、各インスタントメッセージデバイス１０は、通信ネットワーク１２０を通じて電子テキスト型インスタントメッセージ１３０を送信および／または受信することが可能な、ユーザが操作する物理的通信デバイスである。したがって各インスタントメッセージデバイス１０は、インスタントメッセージを生成し、送受信するためのインスタントメッセージクライアント３５と、送受信されたインスタントメッセージをインスタントメッセージデバイス１０の表示装置５０上に表示するためのＧＵＩ４０を含む。
【００２８】
メッセージサーバ１５０は、通信ネットワーク１２０を介してインスタントメッセージデバイス１０によって生成されたインスタントメッセージ１３０を受信するために、結合されている。さらにメッセージサーバ１５０は、通信ネットワーク１２０を介してインスタントメッセージ１３０を適正なインスタントメッセージデバイス１０（すなわちインスタントメッセージ受信者）に与えるためにも、結合されている。例えば例示の実施形態では、メッセージサーバ１５０は、電子テキスト型インスタントメッセージ通信を通信ネットワーク１２０を通じて送信および／または受信可能な、コンピュータネットワークサーバ、テレフォニサーバ（例えば、回線交換機または端局、ＩＰルータ、ゲートウェイなど）、電子メールサーバ、ウェブサーバまたは任意の他のネットワーク型デバイスである。
【００２９】
図２において、通信ネットワーク１２０は、それを通じて（回線交換型データまたはパケット交換型データ）の媒体を送信可能な任意の形式のネットワークを表す。例えば、通信ネットワーク１２０は、以下を１つまたは複数含み得る。公衆交換電話網（ＰＳＴＮ）、公衆陸上移動網（ＰＬＭＮ）、１つまたは複数の私用構内通信網（ＬＡＮ）、インターネットおよび／または任意の他のネットワークまたはその組合せ。
【００３０】
例示の動作において発起側ユーザは、インスタントメッセージデバイス１０の１つにアクセスし、ユーザ自身のインスタントメッセージデバイス１０上のインスタントメッセージクライアント３５を開始して受信ユーザに対するインスタントメッセージ１３０を生成する。発起側ユーザは、受信アドレス（例えば、受信者の電子メールアドレス）およびテキストのメッセージストリームをインスタントメッセージ１３０に入力し、インスタントメッセージクライアント３５が、インスタントメッセージ１３０を通信ネットワーク１２０を通じて送信する。受信アドレスは、受信者に関連付けられるインスタントメッセージサーバ１５０を識別して見つけ出し、インスタントメッセージ１３０をインスタントメッセージサーバ１５０に送るために、通信ネットワーク１２０によって使用される。
【００３１】
インスタントメッセージ１３０を受信すると、インスタントメッセージサーバ１５０は、インスタントメッセージ１３０に対する追加の処理（例えば、フィルタリング、他のインスタントメッセージ加入者または受信者に関連付けられた他のインスタントメッセージデバイスに対するインスタントメッセージ１３０の自動転送、および／またはインスタントメッセージの受信者の所望する書式への変換）の実施を、適切な受信側インスタントメッセージデバイス１０にインスタントメッセージ１３０を提供（例えば、インスタントメッセージ１３０を通信ネットワーク１２０を介してほぼ即時に受信側インスタントメッセージデバイス１０で動作中のインスタントメッセージクライアント３５にダウンロード）する前に行い得る。受信側インスタントメッセージデバイス１０のインスタントメッセージクライアント３５は、受信ユーザに対してインスタントメッセージを、受信側インスタントメッセージデバイス１０の表示装置５０上で、ＧＵＩ４０を介して表示する。
【００３２】
さらに、インスタントメッセージサーバ１５０は、インスタントメッセージクライアント３５と組になって、受信ユーザに対して受信されたインスタントメッセージ１３０に応答するための様々のインスタントメッセージの選択肢を提供し得る。例えば、インスタントメッセージクライアント３５と連動しているインスタントメッセージサーバ１５０は、受信ユーザが受信されたインスタントメッセージ１３０に対する応答を生成して送信し、インスタントメッセージ１３０を他の加入者または受信者に関連付けられた他のインスタントメッセージデバイス１０に転送し、インスタントメッセージ１３０をインスタントメッセージサーバ１５０上のフォルダ、または受信ユーザに関連付けられたインスタントメッセージデバイス１０上のローカルフォルダ中に保存することができるようにし得る。
【００３３】
例えば、本発明の実施形態によれば、インスタントメッセージクライアント３５は、受信ユーザが、受信されたインスタントメッセージ１３０に対する応答を、表示装置５０上の受信されたインスタントメッセージ１３０をクリックする、または他のインスタントメッセージが受信される前に受信されたインスタントメッセージ１３０に対する応答を直ちに打ち込み始める、のどちらかを行って生成できるようにし得る。したがってユーザは、インスタントメッセージクライアント３５に対してそれに向けて応答インスタントメッセージが出される受信されたインスタントメッセージ１３０を具体的に識別し、インスタントメッセージクライアント３５は、識別された受信インスタントメッセージ１３０から、識別された受信インスタントメッセージに関連付けられるインスタントメッセージスレッドを識別するスレッドインジケータを決定して、そのスレッドインジケータを応答インスタントメッセージに含める。
【００３４】
図３は、本発明の実施形態による例示の二者間のインスタントメッセージ交信を示すメッセージの流れ図である。図３において、第１のユーザ（ユーザＡ）は、第１のインスタントメッセージデバイス（ＩＭデバイスＡ）１０ａを操作し、および第２のユーザ（ユーザＢ）は、第２のインスタントメッセージデバイス（ＩＭデバイスＢ）１０ｂを操作する。ユーザＡおよびユーザＢは共に、同じインスタントメッセージサーバ（ＩＭサーバ）１５０の機能を利用する。３０５で、ユーザＡは、ユーザＢに対する第１のインスタントメッセージ（ＩＭ１）をＩＭデバイスＡ１０ａ上に作成し、３１０で、ＩＭデバイスＡ１０ａは、ＩＭ１をＩＭサーバ１５０に対して送信する。３１５で、ＩＭサーバ１５０は、ＩＭ１をソースアドレスおよび宛先アドレスを決定するために処理し、ＩＭ１をＩＭデバイスＢ１０ｂに（宛先アドレスに基づき）送信し、ＩＭデバイスＡ１０ａに（ソースアドレスに基づき）戻す。３２０および３２５で、ＩＭ１は、ＩＭデバイスＡ１０ａおよびＩＭデバイスＢ１０ｂの両方に表示される。
【００３５】
次いで３３０で、ユーザＡはユーザＢに対する第２のインスタントメッセージ（ＩＭ２）をＩＭデバイスＡ１０ａ上に作成する。ほぼ同時刻に、３３５で、ユーザＢは、ユーザＡへの第３のインスタントメッセージ（ＩＭ３）をＩＭデバイスＢ１０ｂ上に作成する。３４０および３４５に示されるように、ユーザＡのインスタントメッセージ（ＩＭ２）はＩＭサーバ１５０に対してユーザＢのインスタントメッセージ（ＩＭ３）の前に送信される。そのため３５０で、ＩＭサーバ１５０は、ＩＭ２をＩＭデバイスＢ１０ｂおよびＩＭデバイスＡ１０ａの両方に送信し、３５５および３６０で、ＩＭ２がその場所で表示され、３７０で、ＩＭサーバ１５０は、ＩＭ３をＩＭデバイスＢ１０ｂおよびＩＭデバイスＡ１０ａの両方に送信し、３７５および３８０で、ＩＭ３がその場所で表示される。
【００３６】
ここで図４Ａ、図４Ｂを参照すると、図４Ａは図３のインスタントメッセージ交信の例示の従来技術の表示を示す図であり、図４Ｂは本発明の実施形態による図３のインスタントメッセージ交信の例示の表示を示す図である。図４Ａ、図４Ｂに示す表示装置５０は、テキスト表示ウィンドウ４１０およびテキスト入力ウィンドウ４２０と共に表示される内部にグラフィカルユーザインタフェース（ＧＵＩ）４０を含む。テキスト表示ウィンドウ４１０は、インスタントメッセージ１３０のストリームをインスタントメッセージ通信セッション中に表示し、一方でテキスト入力ウィンドウ４２０は、ユーザに新規のインスタントメッセージを打ち込むためのインタフェースを提供する。
【００３７】
図４Ａに示されるように、それぞれのインスタントメッセージ１３０は、テキスト表示ウィンドウ４１０に受信の発生順に表示される。したがってユーザＡの第１のインスタントメッセージ（ＩＭ１）「あなたの事務所で会いましょうか」が１番目に表示され、次にユーザＡの第２のインスタントメッセージ（ＩＭ２）「それとも、うちの事務所で会いましょうか」が続き、次いでユーザＢの第３のインスタントメッセージ（ＩＭ３）「はい、そうしましょう」が表示される。インスタントメッセージ１３０を受信される順に表示すると、図４Ａに示されるように、曖昧なインスタントメッセージ交信になる可能性がある。例えば図４Ａでは、ユーザＢが第１のインスタントメッセージ（ＩＭ１）、または第２のインスタントメッセージ（ＩＭ２）のどちらに応答しているか曖昧である。
【００３８】
ただし図４Ｂに示すインスタントメッセージ交信のように、それぞれのインスタントメッセージ１３０を特定のインスタントメッセージスレッド４５０に関連付けることによってこの混同は除去される。したがって図４Ｂでは、ユーザＡの第１のインスタントメッセージ（ＩＭ１）「あなたの事務所で会いましょうか」が１番目に表示され、次にユーザＢの第３のインスタントメッセージ（ＩＭ３）「はい、そうしましょう」が続き、次いでユーザＡの第２のインスタントメッセージ（ＩＭ２）「それとも、うちの事務所で会いましょうか」が表示される。図４Ｂのように、インスタントメッセージがインスタントメッセージスレッドの順に表示されるために、インスタントメッセージ交信の文脈は明確である。
【００３９】
図５は、本発明の実施形態による例示の複数の当事者間のインスタントメッセージ交信を示す別のメッセージの流れ図である。図５において、第１のユーザ（ユーザＡ）は、第１のインスタントメッセージデバイス（ＩＭデバイスＡ）１０ａを操作し、第２のユーザ（ユーザＢ）は、第２のインスタントメッセージデバイス（ＩＭデバイスＢ）１０ｂを、第３のユーザ（ユーザＣ）は、第３のインスタントメッセージデバイス（ＩＭデバイスＣ）１０ｃを操作する。ユーザＡ、ユーザＢおよびユーザＣはすべて、同じインスタントメッセージサーバ（ＩＭサーバ）１５０の機能を利用する。５０５で、ユーザＡは、ユーザＢおよびユーザＣに対する第１のインスタントメッセージ（ＩＭ１）をＩＭデバイスＡ１０ａ上に作成し、５１０で、ＩＭデバイスＡ１０ａは、ＩＭ１をＩＭサーバ１５０に対して送信する。５１５で、ＩＭサーバ１５０は、ＩＭ１をソースアドレスおよび宛先アドレスを決定するために処理し、ＩＭ１をＩＭデバイスＣ１０ｃおよびＩＭデバイスＢ１０ｂの両方に（宛先アドレスに基づき）送信し、ＩＭデバイスＡ１０ａに（ソースアドレスに基づき）戻す。５２０、５２５および５３０で、ＩＭ１は、ＩＭデバイスＡ１０ａ、ＩＭデバイスＢ１０ｂおよびＩＭデバイスＣ１０ｃのそれぞれに表示される。
【００４０】
次いで、５３５で、ユーザＢがユーザＡおよびユーザＣに対する第２のインスタントメッセージ（ＩＭ２）をＩＭデバイスＢ１０ｂ上で作成する。ほぼ同時刻に５４０で、ユーザＣがユーザＡおよびユーザＢに対する第３のインスタントメッセージ（ＩＭ３）をＩＭデバイスＣ１０ｃ上で作成する。５４５に示されるように、ユーザＢのインスタントメッセージ（ＩＭ２）は、ＩＭサーバ１５０にユーザＣのインスタントメッセージ（ＩＭ３）の前に送信される。したがって５５０で、ＩＭサーバ１５０はＩＭ２をＩＭデバイスＣ１０ｃ、ＩＭデバイスＢ１０ｂおよびＩＭデバイスＡ１０ａに送信し、５５５、５６０および５６５で、ＩＭ２はその場に表示される。次いで５７０で、ユーザＣのインスタントメッセージ（ＩＭ３）がＩＭサーバ１５０に送信され、および５７５で、ＩＭサーバ１５０がＩＭ３をＩＭデバイスＣ１０ｃ、ＩＭデバイスＢ１０ｂおよびＩＭデバイスＡ１０ａに送信し、５８０、５８５および５９０で、ＩＭ３がその場に表示される。
【００４１】
ここで図６Ａ、図６Ｂを参照すると、図６Ａは図５のインスタントメッセージ交信の例示の従来技術の表示を示す図であり、図６Ｂは本発明の実施形態による図５のインスタントメッセージ交信の例示の表示を示す図である。図６Ａに示されるように、それぞれのインスタントメッセージ１３０は、再度テキスト表示ウィンドウ４１０に受信の発生順に表示される。したがってユーザＡの第１のインスタントメッセージ（ＩＭ１）「賛成して頂けますか」が１番目に表示され、次にユーザＢの第２のインスタントメッセージ（ＩＭ２）「昼食に出かけませんか」が続き、次いでユーザＣの第３のインスタントメッセージ（ＩＭ３）「はい」が表示される。図６Ａに表示されるインスタントメッセージ交信は、ユーザＣが第１のインスタントメッセージ（ＩＭ１）、または第２のインスタントメッセージ（ＩＭ２）のどちらに応答しているか不明確であるために、曖昧である。
【００４２】
これに対して、図６Ｂではインスタントメッセージ交信がインスタントメッセージスレッド４５０の順に表示されている。したがって図６ＢではユーザＡの第１のインスタントメッセージ（ＩＭ１）「賛成して頂けますか」が１番目に表示され、次にユーザＣの第３のインスタントメッセージ（ＩＭ３）「はい」が続き、次いでユーザＢの第２のインスタントメッセージ（ＩＭ２）「昼食に出かけませんか」が表示される。図６Ｂのように、インスタントメッセージがインスタントメッセージスレッドの順に表示されるために、インスタントメッセージ交信の文脈は明確である。
【００４３】
図７は、本発明の実施形態によるインスタントメッセージの例示の書式を示す図である。図示のように、例示のインスタントメッセージ１３０は、ソースアドレスフィールド７１０と、宛先アドレス（１つまたは複数）／セッションＩＤフィールド７２０と、スレッドインジケータ７３０と、メッセージフィールド７４０とを含む。ソースアドレスフィールド７１０は、インスタントメッセージを開始したユーザのアドレス（例えば、ＩＰアドレスまたは電子メールアドレス）を含み、宛先アドレス（１つまたは複数）／セッションＩＤフィールド７２０は、（各メッセージ受信者のアドレス例えば、ＩＰアドレスもしくは電子メールアドレス）、またはさもなければ、インスタントメッセージ１３０用の宛先アドレス（１つまたは複数）を決定するのに使用されるインスタントメッセージ通信セッションの識別子を含む。メッセージフィールド７４０は、インスタントメッセージ１３０用にメッセージ発起側ユーザによって打ち込まれた、またはそれ以外の手段で入力されたテキスト型メッセージデータを含む。
【００４４】
スレッドインジケータフィールド７３０は、インスタントメッセージ１３０に関連付けられる特定のインスタントメッセージスレッドを識別するスレッドインジケータを含む。例えば、一実施形態ではスレッドインジケータはインスタントメッセージのストリームの中の特定の先行するインスタントメッセージを識別するメッセージ番号を含んでよく、このメッセージ番号は、インスタントメッセージ１３０に関連付けられるインスタントメッセージスレッドを決定するために使用され得る。例えば、インスタントメッセージスレッドは、メッセージ番号によって識別された先行するインスタントメッセージを含むとして識別され得る。別の実施形態では、スレッドインジケータは、インスタントメッセージ１３０の作成が始まる具体的な時間を識別するタイムスタンプを含むことができ、このタイムスタンプはインスタントメッセージに関連付けられるインスタントメッセージスレッドを決定するために使用され得る。例えば、インスタントメッセージスレッドは、タイムスタンプの直前のインスタントメッセージを含むとして識別され得る。
【００４５】
図８は、本発明の実施形態によるマルチスレッドのインスタントメッセージストリームを容易にする例示のプロセス８００を示す流れ図である。ブロック８１０で、インスタントメッセージ通信セッションが２人以上のユーザの間で開始される。次いで、ブロック８２０で、現在のインスタントメッセージがインスタントメッセージ通信セッション中にユーザの１人に受信される。現在のインスタントメッセージは、ブロック８３０で現在のインスタントメッセージに関連付けられるインスタントメッセージスレッドを識別するために使用されるスレッドインジケータを含む。インスタントメッセージスレッドは、インスタントメッセージ通信セッション中に送信されるインスタントメッセージのストリームの中の少なくとも１つのインスタントメッセージを識別する。最後に、ブロック８４０で、現在のインスタントメッセージが識別されたインスタントメッセージスレッドに可視的に関連付けられるように、現在のインスタントメッセージが表示される。
【００４６】
図９は、本発明の実施形態によるマルチスレッドのインスタントメッセージストリームを容易にする別の例示のプロセス９００を示す流れ図である。ブロック９１０で、インスタントメッセージ通信セッションが２人以上のユーザの間で開始され、そのセッション中にインスタントメッセージがユーザ間で送信され、ユーザによってインスタントメッセージのストリームとして閲覧される。次いで、ブロック９２０で、ユーザの１人が現在のインスタントメッセージの作成を開始する。現在のインスタントメッセージが作成中であることが検出されると、ブロック９３０で、現在のインスタントメッセージの作成開始時刻がタイムスタンプとして記録される。現在のインスタントメッセージの完了後、ブロック９４０で、現在のインスタントメッセージは、タイムスタンプと共に送信される。
【００４７】
ブロック９５０で、タイムスタンプを伴う現在のインスタントメッセージがインスタントメッセージ通信セッション中にユーザの１人によって受信される。ブロック９６０で、タイムスタンプが現在のインスタントメッセージから抽出され、ブロック９７０で、タイムスタンプが、タイムスタンプ前に最後に表示されたメッセージを決定するために使用される。例えば、一実施形態では、タイムスタンプ（作成開始時刻）が、表示されたインスタントメッセージの表示装置の時刻（すなわち受信時刻）と比較されて、タイムスタンプの値の直前の表示装置の時刻（すなわち受信時刻）によって表示されたインスタントメッセージを識別する。ブロック９８０で、識別された最後の表示されたメッセージから、現在のインスタントメッセージに関連付けられるインスタントメッセージスレッド（例えば、識別された最後の表示されたメッセージを含むインスタントメッセージスレッド）が識別される。最後にブロック９９０で、現在のインスタントメッセージが識別されたインスタントメッセージスレッドに可視的に関連付けられるように、現在のインスタントメッセージが表示される。
【００４８】
図１０は、本発明の実施形態によるマルチスレッドのインスタントメッセージストリームを容易にする、さらに別の例示のプロセス１０００を示す流れ図である。ブロック１０１０で、インスタントメッセージ通信セッションが２人以上のユーザの間で開始される。インスタントメッセージ通信セッション中に、インスタントメッセージがユーザ間で送信され、ユーザによってインスタントメッセージのストリームとして閲覧される。さらに、インスタントメッセージのストリームの中のそれぞれのインスタントメッセージは、それらにそれぞれ関連付けられるメッセージ識別子を有する。
【００４９】
次いで、ブロック１０２０で、ユーザの１人がインスタントメッセージをユーザが応答を生成したいメッセージの番号によって識別する。応答インスタントメッセージを作成するときは、ブロック１０３０で、応答インスタントメッセージが、応答インスタントメッセージがそれに対して出されるメッセージのメッセージ番号を付して送信される。ブロック１０４０で、メッセージ番号が付された応答インスタントメッセージが、インスタントメッセージ通信セッション中にユーザの１人によって受信される。ブロック１０５０で、メッセージ番号が応答インスタントメッセージから抽出され、ブロック１０６０で、メッセージ番号がメッセージ番号に関連付けられるインスタントメッセージスレッド（すなわちそれに対して応答インスタントメッセージが向かうインスタントメッセージ）を識別するために使用される。最後に、ブロック１０７０で、応答インスタントメッセージが識別されたインスタントメッセージスレッドに可視的に関連付けられるように応答インスタントメッセージが表示される。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のインスタントメッセージスレッド（４５０）を管理することが可能なインスタントメッセージクライアント（３５）であって、それぞれの前記インスタントメッセージスレッド（４５０）が少なくとも１つのインスタントメッセージ（１３０）を、前記インスタントメッセージデバイス（１０）を操作する第１のユーザと少なくとも１人の追加のユーザ間のインスタントメッセージ通信セッション中に送信されるインスタントメッセージのストリームの中に含む、インスタントメッセージクライアント（３５）と、
前記インスタントメッセージクライアント（３５）を実行して前記インスタントメッセージ通信セッションを開始し、前記少なくとも１人の追加のユーザから前記インスタントメッセージ通信セッション中に受信された現在のインスタントメッセージ（１３０）を処理するためのプロセッサ（２０）と、
インスタントメッセージの前記ストリームを表示するために前記プロセッサ（２０）に結合されている表示装置（５０）とを備えるインスタントメッセージデバイス（１０）において、
それぞれの前記インスタントメッセージが、インスタントメッセージの前記ストリームの中の前記それぞれのインスタントメッセージを識別する、それに関連付けられたそれぞれのメッセージ識別子を有し、
それぞれの前記インスタントメッセージが、前記インスタントメッセージスレッドの１つを識別する、それに関連付けられたスレッドインジケータ（７３０）を有し、前記スレッドインジケータ（７３０）それぞれが、前記インスタントメッセージスレッドの特定のスレッド内に前記インスタントメッセージの最後の１つを識別するための前記メッセージ識別子の１つを含み、
前記プロセッサ（２０）が、前記スレッドインジケータ（７３０）を検索し、それから前記インスタントメッセージスレッド（４５０）の１つを識別されたインスタントメッセージスレッド（４５０）として識別するように、前記現在のインスタントメッセージ（１３０）を処理し、
前記表示装置（５０）が、前記現在のインスタントメッセージ（１３０）が、前記識別されたインスタントメッセージスレッド（４５０）に可視的に関連付けられるようにインスタントメッセージの前記ストリームを表示することを特徴とする、インスタントメッセージデバイス（１０）。
【請求項２】
前記プロセッサ（２０）と前記表示装置（５０）の間に結合された、前記現在のインスタントメッセージ（１３０）を前記表示装置（５０）上に表示し、前記第１のユーザがインスタントメッセージの前記ストリームの中の前記インスタントメッセージの選択された１つに応答して応答インスタントメッセージ（１３０）を生成できるようにするためのグラフィカルユーザインタフェース（４０）であって、前記プロセッサ（２０）が、前記選択インスタントメッセージに関連付けられる前記インスタントメッセージスレッドの選択された１つを識別し、前記選択インスタントメッセージのスレッド（４５０）を識別する追加のスレッドインジケータ（７３０）を前記応答インスタントメッセージ（１３０）内に含めるように動作可能である、グラフィカルユーザインタフェース（４０）をさらに備える、請求項１に記載のデバイス。
【請求項３】
複数のインスタントメッセージスレッド（４５０）を管理することが可能なインスタントメッセージクライアント（３５）であって、それぞれの前記インスタントメッセージスレッド（４５０）が少なくとも１つのインスタントメッセージ（１３０）を、前記インスタントメッセージデバイス（１０）を操作する第１のユーザと少なくとも１人の追加のユーザ間のインスタントメッセージ通信セッション中に送信されるインスタントメッセージのストリームの中に含む、インスタントメッセージクライアント（３５）と、
前記インスタントメッセージクライアント（３５）を実行して前記インスタントメッセージ通信セッションを開始し、前記少なくとも１人の追加のユーザから前記インスタントメッセージ通信セッション中に受信した、受信されたインスタントメッセージ（１３０）を処理するためのプロセッサ（２０）と、
インスタントメッセージの前記ストリームを表示するために前記プロセッサ（２０）に結合されている表示装置（５０）とを備えるインスタントメッセージデバイス（１０）において、
それぞれの前記インスタントメッセージが、前記それぞれのインスタントメッセージの作成開始時刻を示す、それに関連付けられたタイムスタンプを有し、
前記プロセッサ（２０）が、前記受信されたインスタントメッセージを（１３０）を処理してそれに関連付けられた前記それぞれのタイムスタンプを検索し、前記受信されたインスタントメッセージの前記それぞれのタイムスタンプの直前に表示されたインスタントメッセージの前記ストリーム内の前記インスタントメッセージのそれぞれの最後の１つを決定するために前記それぞれのタイムスタンプを使用し、
前記プロセッサが、前記それぞれの受信されたインスタントメッセージのそれぞれについてのそれぞれの識別されたインスタントメッセージスレッド（４５０）を前記インスタントメッセージの前記それぞれ最後の１つの前記インスタントメッセージスレッドとしてさらに識別し、
前記表示装置（５０）が、前記受信されたインスタントメッセージ（１３０）が、前記それぞれの識別されたインスタントメッセージスレッド（４５０）に可視的に関連付けられるようにインスタントメッセージの前記ストリームを表示することを特徴とする、インスタントメッセージデバイス（１０）。
【請求項４】
前記表示装置（５０）が、インスタントメッセージの前記ストリームの中の前記インスタントメッセージ（１３０）をインスタントメッセージスレッド（４５０）の順に表示する、請求項３に記載のデバイス。
【請求項５】
マルチスレッドのインスタントメッセージを容易にする方法であって、
それぞれのインスタントメッセージが、それに関連付けられてインスタントメッセージのストリームの中の前記それぞれのインスタントメッセージを識別するそれぞれのメッセージ識別子を有するインスタントメッセージのストリームを管理するためのインスタントメッセージ通信セッションを開始するステップ（８１０）と、
それぞれの前記インスタントメッセージに複数のインスタントメッセージスレッドの１つを識別するスレッドインジケータ（７３０）を与え、各前記スレッドインジケータ（７３０）が、前記インスタントメッセージスレッドの特定の１つ内の前記インスタントメッセージの最後の１つを識別するために前記メッセージ識別子の１つを含むステップと、
現在のインスタントメッセージ（１３０）を前記インスタントメッセージ通信セッション中に受信するステップ（８２０）と、
前記現在のインスタントメッセージ（１３０）に関連付けられる前記インスタントメッセージスレッド（４５０）の識別された１つを前記スレッドインジケータ（７３０）から識別するステップ（８３０）と、
前記現在のインスタントメッセージ（１３０）が前記識別されたインスタントメッセージスレッド（４５０）に可視的に関連付けられるように前記現在のインスタントメッセージ（１３０）を表示するステップ（８４０）とを特徴とする、方法。
【請求項６】
インスタントメッセージの前記ストリームの中の前記インスタントメッセージの選択された１つに応答して応答インスタントメッセージ（１３０）を生成するステップと、
前記選択インスタントメッセージに関連付けられる前記インスタントメッセージスレッド（４５０）を識別するステップと、
前記選択インスタントメッセージに関連付けられる前記インスタントメッセージスレッド（４５０）を識別する前記スレッドインジケータ（７３０）を前記応答インスタントメッセージ（１３０）内に含めるステップとをさらに含む、請求項５に記載の方法。
【請求項７】
マルチスレッドのインスタントメッセージングを容易にする方法であって、
それぞれのインスタントメッセージが、前記それぞれのインスタントメッセージの作成開始時刻を示す、それに関連付けられたタイムスタンプを有する、インスタントメッセージのストリームを管理するためのインスタントメッセージ通信セッションを開始するステップ（８１０）と、
受信された前記インスタントメッセージ（１３０）から前記それぞれのタイムスタンプを検索して、前記受信されたインスタントメッセージの前記それぞれのタイムスタンプの直前に表示されたインスタントメッセージの前記ストリーム内の前記インスタントメッセージのそれぞれの最後の１つを決定するステップと、
前記それぞれの受信されたインスタントメッセージのそれぞれについてのそれぞれの識別されたインスタントメッセージスレッド（４５０）を、前記インスタントメッセージの前記それぞれの最後の１つの前記インスタントメッセージスレッドとして識別するステップと、
インスタントメッセージの前記ストリームを、前記受信されたインスタントメッセージ（１３０）が、前記それぞれの識別されたインスタントメッセージスレッド（４５０）に可視的に関連付けられるように表示するステップとを特徴とする、方法。
【国際調査報告】
2009545074.tif 000015
2009545074.tif 000016
2009545074.tif 000017