(57)【要約】【課題】  インスタント・メッセージング・クライアントにおいてグループ・チャットのために仮想グループを構築するための方法、コンピュータ・システム及びコンピュータ・プログラムを提供する。【解決手段】  本開示の実施形態は、インスタント・メッセージング・クライアントにおいて仮想グループを構築する。第１のユーザに関連した第１のグループ及び第１のユーザに関連した少なくとも１つの第２のグループについての仮想グループが構築される。仮想グループ内の第１のユーザからメッセージ及びメッセージの受信者候補を受信することであって、受信者候補は第１のグループ及び／又は少なくとも１つの第２のグループである、受信することに応答して、メッセージが示されるターゲット受信者に送信される。【選択図】      図５
2019530919.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ実施方法であって、
第１のユーザに関連した第１のグループ及び前記第１のユーザに関連した少なくとも１つの第２のグループについての仮想グループを構築することと、
前記仮想グループ内の前記第１のユーザからメッセージ及び前記メッセージの受信者候補を受信することであって、前記受信者候補は前記第１のグループ及び／又は前記少なくとも１つの第２のグループである、受信することに応答して、前記メッセージを前記受信者候補に送信することと、
を含み、
前記第１のユーザは、前記仮想グループの単一のチャット・ウィンドウ内で、前記第１のグループ及び前記少なくとも１つの第２のグループとチャットすることができ、
前記第１のユーザのみが前記仮想グループを認識する、方法。
【請求項２】
前記第１のユーザに関連した少なくとも１つの第３のグループを前記仮想グループに追加することと、
前記仮想グループ内の前記第１のユーザからメッセージ及び前記メッセージの受信者候補を受信することであって、前記受信者候補は前記第１のグループ及び／又は前記少なくとも１つの第２のグループ及び／又は前記少なくとも第３のグループである、受信することに応答して、前記メッセージを前記受信者候補に送信することと、
をさらに含み、
前記第１のユーザは、前記仮想グループの１つのチャット・ウィンドウ内で、前記第１のグループ及び前記少なくとも１つの第２のグループ、並びに前記少なくとも１つの第３のグループとチャットすることができる、請求項１に記載の方法。
【請求項３】
前記仮想グループを解放することをさらに含む、請求項１に記載の方法。
【請求項４】
前記第１のグループと前記少なくとも１つの第２のグループとの間の共通部分商が第１の閾値を満たすことに応答して、前記第１のグループ及び前記少なくとも１つの第２のグループについての仮想グループを構築することをさらに含む、請求項１に記載の方法。
【請求項５】
前記第１のグループと前記少なくとも１つの第２のグループとの間の共通部分商が第２の閾値を満たすことに応答して、前記仮想グループを解放することをさらに含む、請求項４に記載の方法。
【請求項６】
前記第１のグループは、前記第１のユーザと、前記第１のユーザとチャットしている第２のユーザとを含み、前記第２のグループは、前記第１のユーザと、前記第１のユーザとチャットしている第３のユーザとを含み、前記共通部分商は、以下の：
前記第１のグループ及び前記第２のグループ内で話される現在のトピックの間の相関、
前記第１のグループ及び前記第２のグループのチャット・アクティブ時間の間の相関、
の少なくとも１つに関連する、請求項４に記載の方法。
【請求項７】
前記第１のグループは、前記第１のユーザと、前記第１のユーザとチャットしている第２のユーザとを含み、前記第２のグループは、前記第１のユーザを含むチャット・グループを含み、前記共通部分商は、以下の：
前記第１のグループ及び前記第２のグループ内で話される現在のトピックの間の相関、
前記第１のグループ及び前記第２のグループのチャット・アクティブ時間の間の相関、
の少なくとも１つに関連する、請求項４に記載の方法。
【請求項８】
前記第１のグループは、前記第１のユーザを含む第１のチャット・グループを含み、前記第２のグループは、前記第１のユーザを含む第２のチャット・グループを含み、前記共通部分商は、以下の：
前記第１のグループ及び第２のグループ内の共通メンバーの数、
前記第１のグループ及び前記第２のグループ内で話される現在のトピックの間の相関、
前記第１のグループ及び前記第２のグループ内で話される履歴トピックの間の相関、
前記第１のグループ及び前記第２のグループのチャット・アクティブ時間の間の相関、
の少なくとも１つに関連する、請求項４に記載の方法。
【請求項９】
コンピュータ可読メモリ・ユニットに結合されたコンピュータ・プロセッサを含むコンピューティング・システムであって、前記メモリ・ユニットは、前記コンピュータ・プロセッサにより実行されるとき、
第１のユーザに関連した第１のグループ及び前記第１のユーザに関連した少なくとも１つの第２のグループについての仮想グループを構築することと、
前記仮想グループ内の前記第１のユーザからメッセージ及び前記メッセージの受信者候補を受信することであって、前記受信者候補は前記第１のグループ及び／又は前記少なくとも１つの第２のグループである、受信することに応答して、前記メッセージを前記受信者候補に送信すること、
を含む方法を実施する命令を含み、
前記第１のユーザは、前記仮想グループの単一のチャット・ウィンドウ内で、前記第１のグループ及び前記少なくとも１つの第２のグループとチャットすることができ、
前記第１のユーザのみが前記仮想グループを認識する、コンピューティング・システム。
【請求項１０】
前記第１のユーザに関連した少なくとも１つの第３のグループを前記仮想グループに追加することと、
前記仮想グループ内の前記第１のユーザからメッセージ及び前記メッセージの受信者候補を受信することであって、前記受信者候補は前記第１のグループ及び／又は前記少なくとも１つの第２のグループ及び／又は前記少なくとも第３のグループである、受信することに応答して、前記メッセージを前記受信者候補に送信することと、
をさらに含み、
前記第１のユーザは、前記仮想グループの１つのチャット・ウィンドウ内で、前記第１のグループ及び前記少なくとも１つの第２のグループ、並びに前記少なくとも１つの第３のグループとチャットすることができる、請求項９に記載のシステム。
【請求項１１】
前記第１のグループと前記少なくとも１つの第２のグループとの間の共通部分商が第１の閾値を満たすことに応答して、前記第１のグループ及び前記少なくとも１つの第２のグループについての仮想グループを構築することをさらに含む、請求項１０に記載のシステム。
【請求項１２】
前記第１のグループは、前記第１のユーザと、前記第１のユーザとチャットしている第２のユーザとを含み、前記第２のグループは、前記第１のユーザと、前記第１のユーザとチャットしている第３のユーザとを含み、前記共通部分商は、以下の：
前記第１のグループ及び前記第２のグループ内で話される現在のトピックの間の相関、
前記第１のグループ及び前記第２のグループのチャット・アクティブ時間の間の相関、
の少なくとも１つに関連する、請求項１１に記載のシステム。
【請求項１３】
前記第１のグループは、前記第１のユーザと、前記第１のユーザとチャットしている第２のユーザとを含み、前記第２のグループは、前記第１のユーザを含むチャット・グループを含み、前記共通部分商は、以下の：
前記第１のグループ及び前記第２のグループ内で話される現在のトピックの間の相関、
前記第１のグループ及び前記第２のグループのチャット・アクティブ時間の間の相関、
の少なくとも１つに関連する、請求項１１に記載のシステム。
【請求項１４】
前記第１のグループは、前記第１のユーザを含む第１のチャット・グループを含み、前記第２のグループは、前記第１のユーザを含む第２のチャット・グループを含み、前記共通部分商は、以下の：
前記第１のグループ及び第２のグループ内の共通メンバーの数、
前記第１のグループ及び前記第２のグループ内で話される現在のトピックの間の相関、
前記第１のグループ及び前記第２のグループ内で話される履歴トピックの間の相関、
前記第１のグループ及び前記第２のグループのチャット・アクティブ時間の間の相関、
の少なくとも１つに関連する、請求項１１に記載のシステム。
【請求項１５】
マシン実行可能命令を含むコンピュータ・プログラムであって、前記命令は、電子デバイス上で実行されるとき、前記電子デバイスに、
第１のユーザに関連した第１のグループ及び前記第１のユーザに関連した少なくとも１つの第２のグループについての仮想グループを構築させ、
前記仮想グループ内の前記第１のユーザからメッセージ及び前記メッセージの受信者候補を受信することであって、前記受信者候補は前記第１のグループ及び／又は前記少なくとも１つの第２のグループである、受信することに応答して、前記メッセージを前記受信者候補に送信させ、
前記第１のユーザは、前記仮想グループの単一のチャット・ウィンドウ内で、前記第１のグループ及び前記少なくとも１つの第２のグループとチャットすることができ、
前記第１のユーザのみが前記仮想グループを認識する、コンピュータ・プログラム。
【請求項１６】
前記命令はさらに、前記電子デバイスに、
前記第１のユーザに関連した少なくとも１つの第３のグループを前記仮想グループに追加させ、
前記仮想グループ内の前記第１のユーザからメッセージ及び前記メッセージの受信者候補を受信することであって、前記受信者候補は前記第１のグループ及び／又は前記少なくとも１つの第２のグループ及び／又は前記少なくとも第３のグループである、受信することに応答して、前記メッセージを前記受信者候補に送信させ、
前記第１のユーザは、前記仮想グループの１つのチャット・ウィンドウ内で、前記第１のグループ及び前記少なくとも１つの第２のグループ、並びに前記少なくとも１つの第３のグループとチャットすることができる、請求項１５に記載のコンピュータ・プログラム。
【請求項１７】
前記命令はさらに、前記電子デバイスに、
前記第１のグループと前記少なくとも１つの第２のグループとの間の共通部分商が第１の閾値を満たすことに応答して、前記第１のグループ及び前記少なくとも１つの第２のグループについての仮想グループを構築させる、請求項１５に記載のコンピュータ・プログラム。
【請求項１８】
前記第１のグループは、前記第１のユーザと、前記第１のユーザとチャットしている第２のユーザとを含み、前記第２のグループは、前記第１のユーザと、前記第１のユーザとチャットしている第３のユーザとを含み、前記共通部分商は、以下の：
前記第１のグループ及び前記第２のグループ内で話される現在のトピックの間の相関、
前記第１のグループ及び前記第２のグループのチャット・アクティブ時間の間の相関、
の少なくとも１つに関連する、請求項１７に記載のコンピュータ・プログラム。
【請求項１９】
前記第１のグループは、前記第１のユーザと、前記第１のユーザとチャットしている第２のユーザとを含み、前記第２のグループは、前記第１のユーザを含むチャット・グループを含み、前記共通部分商は、以下の：
前記第１のグループ及び前記第２のグループ内で話される現在のトピックの間の相関、
前記第１のグループ及び前記第２のグループのチャット・アクティブ時間の間の相関、
の少なくとも１つに関連する、請求項１７に記載のコンピュータ・プログラム。
【請求項２０】
前記第１のグループは、前記第１のユーザを含む第１のチャット・グループを含み、前記第２のグループは、前記第１のユーザを含む第２のチャット・グループを含み、前記共通部分商は、以下の：
前記第１のグループ及び第２のグループ内の共通メンバーの数、
前記第１のグループ及び前記第２のグループ内で話される現在のトピックの間の相関、
前記第１のグループ及び前記第２のグループ内で話される履歴トピックの間の相関、
前記第１のグループ及び前記第２のグループのチャット・アクティブ時間の間の相関、
の少なくとも１つに関連する、請求項１７に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【背景技術】
【０００１】
通信及びコンピュータ技術の発達につれて、人々がますます容易に通信するのを助けるために、多くの進歩がなされている。例えば、人々は、モバイル機器又はパーソナル・コンピュータ上にインストールされた、ＷｅＣｈａｔなどのインスタンス・メッセージング・ツールを介して、いつでも通信することができる。これらのインスタント・メッセージング・ツールを用いることにより、ユーザは、１人の仲間と話すこと、又はチャット・グループを形成する多くの仲間と話すことができる。さらに、ユーザは、グループ管理者としてチャット・グループを構築し、ユーザがグループ管理者であるかどうかに関係なく、メンバーを既存のチャット・グループに追加することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
インスタント・メッセージング・クライアントにおいてグループ・チャットのために仮想グループを構築するための方法、コンピュータ・システム及びコンピュータ・プログラムを提供する。
【課題を解決するための手段】
【０００３】
１つの態様において、コンピュータ実施方法が開示される。方法によると、第１のユーザに関連した第１のグループ及び第１のユーザに関連した少なくとも１つの第２のグループについての仮想グループが構築される。また、仮想グループ内の第１のユーザからメッセージ及びメッセージの受信者候補を受信することであって、受信者候補は第１のグループ及び／又は少なくとも１つの第２のグループである、受信することに応答して、メッセージが受信者候補に送信される。
【０００４】
別の態様において、コンピューティング・システムが開示される。コンピュータ・システムは、コンピュータ可読メモリ・ユニットに結合されたコンピュータ・プロセッサを含み、メモリ・ユニットは、コンピュータ・プロセッサにより実行されるとき、方法を実施する命令を含む。方法において、第１のユーザに関連した第１のグループ及び第１のユーザに関連した少なくとも１つの第２のグループについての仮想グループが構築される。また、仮想グループ内の第１のユーザからメッセージ及びメッセージの受信者候補を受信することであって、受信者候補は前記第１のグループ及び／又は少なくとも１つの第２のグループである、受信することに応答して、メッセージが受信者候補に送信される。
【０００５】
更に別の実施形態において、コンピュータ・プログラム製品が開示される。コンピュータ・プログラム製品は、非一時的マシン可読媒体上に有形に格納され、実行可能命令を含み、この命令は、電子デバイス上で実行されるとき、電子デバイスに、第１のユーザに関連した第１のグループ及び第１のユーザに関連した少なくとも１つの第２のグループについての仮想グループを構築させる。また、仮想グループ内の第１のユーザからのメッセージ及びメッセージの受信者候補を受信することであって、受信者候補は第１のグループ及び／又は少なくとも１つの第２のグループである、受信することに応答して、メッセージが受信者候補に送信される。
【０００６】
概要は、本開示の実施形態の主要な又は本質的な特徴を特定することを意図するものでも、本開示の範囲を限定するために用いられることを意図するものでもないことを理解されたい。本開示の他の特徴は、以下の説明を通じて容易に理解できるようになるであろう。
【０００７】
添付図面における本開示の幾つかの実施形態のより詳細な説明を通じて、本開示の上記及び他の目的、特徴、並びに利点がより明らかになるであろう。
【図面の簡単な説明】
【０００８】
【図１】本開示の実施形態を実施するために適用可能な例示的なコンピュータ・システム／サーバ１２を示す。
【図２】第１の例における２つのチャット・ウィンドウを示す。
【図３】第２の例における２つのチャット・ウィンドウを示す。
【図４】第３の例における２つのチャット・ウィンドウを示す。
【図５】本開示の幾つかの実施形態による、インスタント・メッセージング・クライアントにおいて仮想グループを構築するための方法のフローチャートを示す。
【図６】アン（Ann）のインスタント・メッセージング・クライアント上の第１の例の例示的インターフェースを示す。
【図７】２つのグループについての仮想グループを構築するための第１の例についてのインターフェースを示す。
【図８】第１の例に用いられる仮想グループのチャット・ウィンドウを示す。
【発明を実施するための形態】
【０００９】
図面の全体を通して、同一又は類似の参照番号は、同一又は類似の要素を表す。
【００１０】
ここで幾つかの例示的な実施形態を参照して、本開示を説明する。これらの実施形態は、説明のためだけに記載されたものであり、本開示の範囲に関するいずれの制限も示唆することなく、当業者が、本開示を理解し、実施するのを助けることを理解すべきである。本明細書に記載される開示は、以下に記載されるもの以外の種々の方法で実施することができる。
【００１１】
本明細書で使用される場合、「含む（include）」という用語及びその変形は、「含むが、それらに限定されない」ことを意味する、非限定用語（opened term）として解釈すべきである。「基づく（based on）」という用語は、「少なくとも部分的に基づく」と解釈すべきである。「１つの実施形態」及び「実施形態」という用語は、「少なくとも１つの実施形態」と解釈すべきである。「別の実施形態」という用語は、「少なくとも１つの他の実施形態」と解釈すべきである。他の定義は、明示的及び暗黙的に下記に含まれ得る。
【００１２】
最初に、本開示の実施形態を実施するのに適用可能な例示的な電子デバイス又はコンピュータ・システム／サーバ１２が示される、図１を参照する。コンピュータ・システム／サーバ１２は、単なる例示であり、本明細書に説明される本開示の実施形態の使用又は機能の範囲に関していかなる限定を示唆することも意図しない。
【００１３】
図１に示されるように、コンピュータ・システム／サーバ１２は、汎用コンピューティング・デバイスの形態で示される。コンピュータ・システム／サーバ１２のコンポーネントは、これらに限定されるものではないが、１つ又は複数のプロセッサ又は処理ユニット１６と、システム・メモリ２８と、システム・メモリ２８を含む種々のシステム・コンポーネントをプロセッサ１６に結合するバス１８とを含むことができる。
【００１４】
バス１８は、種々のバス・アーキテクチャのいずれかを使用する、メモリ・バス又はメモリ・コントローラ、周辺バス、アクセラレーテッド・グラフィックス・ポート、及びプロセッサ又はローカル・バスを含む、幾つかのタイプのバス構造のいずれかのうちの１つ又は複数を表す。限定ではなく例として、このようなアーキテクチャは、業界標準アーキテクチャ（Industry Standard Architecture、ＩＳＡ）バス、マイクロ・チャネル・アーキテクチャ（ＭＣＡ）バス、エンハンストＩＳＡ（ＥＩＳＡ）バス、ビデオ電子装置規格化協会（Video Electronics Standards Association、ＶＥＳＡ）ローカル・バス、及び周辺部品相互接続（Peripheral Component Interconnect、ＰＣＩ）バスを含む。
【００１５】
コンピュータ・システム／サーバ１２は、典型的には、種々のコンピュータ・システム可読媒体を含む。このような媒体は、コンピュータ・システム／サーバ１２によりアクセス可能ないずれかの利用可能媒体とすることができ、揮発性媒体及び不揮発性媒体の両方と、取り外し可能媒体及び取り外し不可能媒体の両方とを含む。
【００１６】
システム・メモリ２８は、ランダム・アクセス・メモリ（ＲＡＭ）３０及び／又はキャッシュ・メモリ３２のような、揮発性メモリの形態のコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム／サーバ１２は、他の取り外し可能／取り外し不能、揮発性／不揮発性のコンピュータ・システム・ストレージ媒体をさらに含むことができる。単なる例として、取り外し不能の不揮発性磁気媒体（図示されておらず、典型的には「ハード・ドライブ」と呼ばれる）との間の読み出し及び書き込みのために、ストレージ・システム３４を設けることができる。図示されていないが、取り外し可能な不揮発性磁気ディスク（例えば、「フロッピィ・ディスク」）との間の読み出し及び書き込みのための磁気ディスク・ドライブと、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ又は他の光媒体のような取り外し可能な不揮発性光ディスクとの間の読み出し及び書き込みのための光ディスク・ドライブとを設けることができる。このような例では、各々は、１つ又は複数のデータ媒体インターフェースによってバス１８に接続することができる。以下でさらに示され、説明されるように、メモリ２８は、本開示の実施形態の機能を実行するように構成されたプログラム・モジュールのセット（例えば、少なくとも１つ）を有する少なくとも１つのプログラム製品を含むことができる。
【００１７】
限定ではなく例として、メモリ２８内に、プログラム・モジュール４２のセット（少なくとも１つ）を有するプログラム／ユーティリティ４０、並びにオペレーティング・システム、１つ又は複数のアプリケーション・プログラム、他のプログラム・モジュール、及びプログラム・データを格納することができる。オペレーティング・システム、１つ又は複数のアプリケーション・プログラム、他のプログラム・モジュール、及びプログラム・データ、又はそれらの幾つかの組み合わせの各々は、ネットワーキング環境の実装を含むことができる。プログラム・モジュール４２は、一般に、本明細書で説明されるような本開示の実施形態の機能及び／又は方法を実行する。
【００１８】
コンピュータ・システム／サーバ１２はまた、キーボード、ポインティング・デバイス、ディスプレイ２４等といった１つ又は複数の外部デバイス１４；ユーザがコンピュータ・システム／サーバ１２と対話することを可能にする１つ又は複数のデバイス；及び／又は、コンピュータ・システム／サーバ１２が１つ又は複数の他のコンピューティング・デバイスと通信することを可能にするいずれかのデバイス（例えば、ネットワーク・カード、モデム等）と通信することもできる。このような通信は、入力／出力（Ｉ／Ｏ）インターフェース２２を介して行うことができる。さらに、コンピュータ・システム／サーバ１２は、ネットワーク・アダプタ２０を介して、ローカル・エリア・ネットワーク（ＬＡＮ）、汎用広域ネットワーク（ＷＡＮ）、及び／又はパブリック・ネットワーク（例えば、インターネット）などの１つ又は複数のネットワークと通信することができる。示されるように、ネットワーク・アダプタ２０は、バス１８を介して、コンピュータ・システム／サーバ１２の他のコンポーネントと通信する。図示されないが、コンピュータ・システム／サーバ１２と共に他のハードウェア及び／又はソフトウェア・コンポーネントを使用できることを理解されたい。例として、これらに限定されるものではないが、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部のディスク・ドライブ・アレイ、ＲＡＩＤシステム、テープ・ドライブ、及びデータ・アーカイブ・ストレージ・システム等が挙げられる。
【００１９】
幾つかのシナリオにおいて、ユーザは、グループ又はセッションを頻繁に切り替える必要がないように、複数のグループ（グループは、１又は複数のメンバーから成り得る）又はセッションを１つのセッションに併合したいと望むことがある。例えば、ユーザは、必ずしも各グループにわたって同じステートメントを個々に繰り返すことを望まない共通のテーマを共有しているため、ユーザが、これらのグループを結合することを望むことがある。
【００２０】
図２は、インスタント・メッセージング・クライアント２００における２つのチャット・ウィンドウ２１０及び２２０を示す。一般に、ユーザは、両方のチャット・ウィンドウを同時に見ることができないことに留意されたい。しかしながら、他の例では、ユーザは、それらを同時に見ることができる。この説明のため、特定の個人及びグループを参照する。しかしながら、個人及びグループの名前は、単に、本明細書で提示される概念に従う際の読み手の便宜のために与えられるものである。アリス（Allice）とアンは友達であり、ボブ（Bob）とアンは友達であるが、アリスとボブは友達ではない、第１の例がある。アリスもボブも、異なるチャット・ウィンドウ（それぞれウィンドウ２１０及び２２０）で、アンの米国旅行についてアンに挨拶している。アンが、ボブをアリスのセッションに加えるなど、２つのセッションを併合して１つの物理的グループにした場合、アリスとボブの両方とも、全てのチャット内容を見ることができ、互いに知り合うこともできる。しかしながら、例えば、プライバシーの問題のため、アリス及び／又はボブが、同じグループ内にいることが心地よくないことがある。従って、アリス又はボブは、彼らが同じグループ内にいないかのように自由に話すことができない。そのため、アンは彼らを物理的グループに併合しない。従って、アンは、２つのチャット・ウィンドウを切り替え、同じ質問に２度答えなければならない。
【００２１】
図３は、アンが関与するチャットの第２の例を示す。この例において、アンは、ウィンドウ３１０においてココ（Coco）と、そして、ウィンドウ３２０において母親のグループとチャットしている。この例では、ココとアンは友達であり、アンは、母親グループ（Mother group）と名付けられたグループ内にいるが、ココは、母親グループ内にいない。ココ及び母親グループ内のメンバーは皆、最近アンの赤ちゃんが風邪をひいたため、アンの赤ちゃんを心配しており、アンにアドバスを与えている。アンが、ココを母親グループに加えるなど、２つのセッションを併合して１つの物理的グループにした場合、ココは、母親グループ内の全てのチャット内容を見ることができる。幾つかのシナリオにおいては、母親グループは、そのメンバーが同じ部門で働いている特定のグループである一方、ココは、その部門のメンバーではなく、アンがココを母親グループに加えるのは適切ではない。従って、アンはこの場合も、２つのチャット・ウィンドウを切り替え、同じ質問に二度答えなければならない。
【００２２】
図４は、アンが、子育て方法に関連する２つの異なるグループに参加している第３の例を示す。１つは、新米ママ（New mum）グループ（ウィンドウ４２０）と名付けられたグループ（ウィンドウ４１０）であり、別のものは、子育て（Raising children）グループと名付けられたグループである。両方のグループは、同様のトピックを論じることが多い。ひとたび両方のグループがアクティブになると、アンは、２つのチャット・ウィンドウを頻繁に切り替え、同じ質問に二度答えなければならない。
【００２３】
上述の問題に対処するために、本開示は、インスタント・メッセージング・クライアントにおいて仮想グループを構築するための方法を提供する。図５は、本開示の幾つかの実施形態による、インスタント・メッセージング・クライアントにおいて仮想グループを構築するための方法５００のフローチャートを示す。
【００２４】
プロセスは、インスタント・メッセージング・クライアントが仮想グループ構築要求を受信するときに始まる。これはステップ５０１に示される。このステップにおいて、インスタント・メッセージング・クライアントは、第１のユーザのインスタント・メッセージング・クライアントにおいて、第１のユーザに関連した第１のグループ及び第１のユーザに関連した少なくとも１つの第２のグループについての仮想グループ構築要求を受信する。幾つかの実施形態においては、このステップは随意的なものである。これは、ひとたび特定の条件（単数又は複数）が満たされ、そうした状況において要求が存在しないとき、自動的に仮想グループを構築するように第１のユーザのインスタント・メッセージング・クライアントを構成できるように行い得る。これらの条件は、例えば、同一又は類似の２つ又はそれより多いウィンドウ内に入力される、同一のテキストが所定の時間内にウィンドウに入力される、グループのメンバーにおける特定の重複、又はそれらを関連付けることができること、及びユーザが仮想グループを有することを望み得ることを示すチャット・グループについてのいずれかの他のデータ点を含むことができる。
【００２５】
ひととび仮想グループ構築要求を受信すると、プロセスは続行し、仮想グループを構築する。これは、ステップ５０２に示される。このステップにおいて、インスタント・メッセージング・クライアントは、第１のユーザに関連した第１のグループ、及び第１のユーザに関連した少なくとも１つの第２のグループについての仮想グループを構築する。
【００２６】
仮想グループの構築後、プロセスは、メッセージを受信候補に送信する。これは、ステップ５０３に示される。このステップにおいて、仮想グループ内の第１のユーザからメッセージ及びメッセージの受信者候補を受信することであって、受信者候補は第１のグループ及び／又は少なくとも１つの第２のグループである、受信することに応答して、インスタント・メッセージング・クライアントは、メッセージを受信者候補に送信する。
【００２７】
上記の３つの例において、アンのインスタント・メッセージング・クライアントは、アンが第１のユーザであるので、アンのインスタント・メッセージング・クライアントにおいて仮想グループ構築要求を受信することができる。第１の例において、第１のグループは、アン及びアリスを含み、第２のグループは、アン及びボブを含む。第２の例において、第１のグループは、アン及びココを含み、第２のグループは、母親グループ内のメンバーを含む。第３の例において、第１のグループは、新米ママ・グループ内のメンバーを含み、第２のグループは、子育てグループ内のメンバーを含む。
【００２８】
幾つかの実施形態において、要求は、代替的に、例えばアンの入力など、第１のユーザの入力により開始される。複数のチャット・セッションがある場合、アンは、１つのウィンドウで全ての既存のセッションを見ることができる。インスタント・メッセージング・クライアントは、ユーザの入力のためのツールを提供できるので、要求を開始することができる。
【００２９】
ここで、図６及び図７を参照して、ステップ５０１、５０２及び５０３におけるプロセスの議論をさらに詳細に検討する。図６は、アンのインスタント・メッセージング・クライアント上の第１の例についての例示的なインターフェースを示し、そこで、アンは、アンのクライアントにおいて全ての既存のセッションを見ることができる。第１のグループは、アリスのセッション６０１として示され、第２のグループは、インターフェースにおけるボブのセッション６０２として示される。同じく、ケート（Kate）のセッション６０３も示される。クライアントは、ユーザが併合要求を開始するためのボタン６０５を提供する。アンが「併合」ボタン６０５を押した場合、全ての既存のセッションについての全ての選択可能なボタンが示される（ボタン６２１、６２２及び６２３で示される）。このインターフェースにおいて、アンは、アリス及びボブのセッションの両方を選択し、「終了」ボタン６２５を押す。この時、アンのインスタント・メッセージング・クライアントは、要求を受信し、例えば、図６に要素６３５として示される、２つのグループについての仮想グループ−アリス／ボブなどの仮想グループを構築する。仮想グループ６３５は、アンにより構築されるので、アンのクライアント上で仮想グループを見ることができる。この実施形態において、インスタント・メッセージング・クライアントのみが関係しているが、インスタント・メッセージ・サーバは関係していない。この例は、２つのグループについての仮想グループをどのように構築するかを示すが、アンのインスタント・メッセージング・クライアントは、同じ方法を用いて２つより多いグループについての仮想グループも構築できることを理解されたい。さらに、仮想グループの形成後、追加のグループを仮想グループ６３５に追加することができる。
【００３０】
幾つかの実施形態において、仮想チャット・グループ構築要求が、第１のユーザのインスタント・メッセージング・クライアントにより開始される。他の実施形態において、仮想チャット・グループ構築要求は、インスタント・メッセージ・サーバにより開始される。クライアント又はサーバは、第１のグループ内及び第２のグループ内の全てのチャット内容を保存し、これらのいずれも２つのグループ間の共通部分商（intersection quotient）を計算し、次に、計算された共通部分商を第１の閾値と比較することができる。計算された共通部分商が第１の閾値を満たす場合、クライアント又はサーバは、第１のグループ及び第２のグループについての仮想グループ構築要求をクライアントに送信することができる。
【００３１】
図７は、仮想グループを自動識別及び構築するための一連のスクリーン７１０、７２０、７３０を示す。スクリーン・ショットは、アンのインスタント・メッセージング・クライアント又はサーバが２つのグループについての仮想グループ構築要求を開始するときの、第１の例のアンのインターフェースを示す。この例において、クライアント及び／又はサーバは、例えば、計算された共通部分商が第１の閾値を満たすので、２つのセッションが同じトピックについて論じていることを、独自に判断する。次に、クライアント及び／又はサーバは、ユーザに「アリスとのセッション及びボブとのセッションが同じトピックについて話している。これらを併合して仮想グループにしたいか？」と尋ねるウィンドウをセッション内に生成する。ひとたびユーザが「ＯＫ」ボタン７２５を押して要求を確認すると、クライアントは、あたかも２つのセッションについての仮想チャット・グループ構築要求を受信したかのように動作し、仮想グループの構築に進む。代替的に、クライアント又はサーバは、ユーザの確認を要することなく、仮想チャット・グループを直接構築することもできる。クライアント又はサーバの決定は、ユーザの構成によって決まる。
【００３２】
幾つかの実施形態において、２つのグループ間の共通部分商は、２つのグループ内で話される現在のトピックの間の相関に関連する。代替的に、２つのグループ間の共通部分商は、２つのグループ内で話される履歴トピックの間の相関に関連する。２つのグループ内で話されるトピックの間の相関は、テキスト文書を予備処理し、キーワードを取り出すことができる、テキスト・マイニング技術及び線形回帰技術を用いて計算できるが、他の技術及び手法を用いることもできる。ここで、既存の技術を用いて、全ての音声メッセージ及び写真メッセージを取り出してテキスト・メッセージにすることができる。１つの実施形態において、テキスト・マイニング技術を用いて、所定の期間中の全てのチャット記録を分析する。次に、２つのグループ間のキーワードを生成し、互いに比較して、２つのグループが同じトピックについて話しているかどうかを判断する。
【００３３】
例えば、直近の５つの入力メッセージ、又は１０分以内の入力メッセージ、又は２つのグループの各々における入力メッセージ中の１０００個のテキスト文字を分析し、そのキーワードを生成する。ここで、共通部分商とは、同じキーワードの数として定められる。次に、同じキーワードの数が、３などの閾値より大きい  場合、インスタント・メッセージング・クライアントは、２つのグループについての仮想グループ構築要求を開始する。
【００３４】
幾つかの実施形態において、２つのグループ間の共通部分商は、第１のグループ及び第２のグループにおいてチャットがアクティブであった時間の長さの間の相関に関連する。ここで、共通部分商は、２つのグループの最新入力時間の間の時間差として定められる。クライアント又はサーバは、時間差を計算し、それを閾値と比較する。時間差が所定の閾値を下回る場合、クライアント又はサーバは、クライアントの２つのセッションについての仮想グループ構築要求を開始する。例えば、アリスの最新の入力が今日の１０：１５ＡＭに行われ、ボブの最新の入力が今日の１０：１６ＡＭに行われた場合、クライアント又はサーバは、時間差を１分として計算し、これを、２分といった閾値と比較し、時間差が閾値を下回ると判断する。次に、クライアント又はサーバは、クライアントの２つのグループについての仮想グループ構築要求を開始する。
【００３５】
幾つかの実施形態において、２つのグループ間の共通部分商は、第１のグループ及び第２のグループにおける共通メンバーの数に関連する。ここで、共通部分商は、第１のグループ及び第２のグループにおける共通メンバーの数として定められる。クライアント又はサーバは、共通メンバーの数を計算し、それを共通メンバーの閾値数と比較する。共通メンバーの数が所定の閾値より大きい場合、クライアント又はサーバは、クライアントの２つのセッションについての仮想グループ構築要求を開始する。例えば、第３の例（図４）において、新米ママ・グループが１５人のメンバーを有し、子育てグループが２０人のメンバーを有する場合である。クライアント又はサーバは、各グループの１０人のメンバーが共通メンバーであると計算及び判断する。次に、クライアント及び／又はサーバは、例えば１０人などの共通メンバーの数を、８などの閾値と比較し、共通メンバーの数が閾値より大きいことを見出す。その結果、クライアント及び／又はサーバは、クライアントの２つのグループについての仮想グループ構築要求を開始する。ここで、共通部分商は、第１のグループ及び第２のグループにおける共通メンバーの百分率とすることもできることを理解されたい。
【００３６】
当業者であれば、上記の実施形態の任意の組み合わせに基づいて、共通部分商を定めることもできることを理解することができる。また、共通部分商は、他の方法で定めることもできる。
【００３７】
幾つかの実施形態において、第１のユーザが仮想グループの存在を知る必要性があり、その結果、第１のユーザは、仮想グループの１つのチャット・ウィンドウ内で第１のグループ及び／又は少なくとも１つの第２のグループとチャットすることができる。図８は、アンが使用する仮想グループ６３５のチャット・ウィンドウを示す。本開示の実施形態によると、ひとたび仮想グループが構築されると、第１のユーザは、仮想グループのチャット・ウィンドウを開く。幾つかの実施形態において、アンのインスタント・メッセージング・クライアントは、第１のグループ又は第２のグループのいずれかのチャット・ウィンドウに基づいて、仮想グループのチャット・ウィンドウを作成する。例えば、図８の仮想グループのチャット・ウィンドウは、アリスのセッション６０２のチャット・ウィンドウに基づいているので、アリスのセッションの履歴チャット内容は、仮想グループのチャット・ウィンドウ内に保持されている。幾つかの実施形態において、アンのインスタント・メッセージング・クライアントは、セッションのいずれの履歴チャット内容も含まない仮想グループの新しいチャット・ウィンドウを作成する。随意的に、仮想グループのチャット・ウィンドウ内に、アリスのセッション６０２からのものであれ又はボブのセッション６０３からのものであれ、全ての履歴チャット内容が示される。代替的に、仮想グループのチャット・ウィンドウ内に、全ての履歴チャット内容は示されない。仮想グループのチャット・ウィンドウにおいて、アンがメッセージを入力した場合、インスタント・メッセージング・クライアントは、例えば、メッセージの受信者候補の選択など、アンがどのグループに送信するかを、アンに思い起こさせる。次に、アンは、第１のグループのみに送信するためのボタン８１０、第２のグループにのみ送信するためのボタン８２０、又は第１のグループ及び第２のグループの両方に送信するためのボタン８３０を選択することができる。また、ひとたびインスタント・メッセージング・クライアントが、アンの命令に従ってアンの入力メッセージを送信すると、インスタント・メッセージング・クライアントは、チャット・ウィンドウ内のメッセージの下に、「アリスへ」、「ボブへ」、又は「両方へ」といったリマインダ８３５も提供する。しかしながら、異なる色、フォント等のような他の表示を用いて、誰にメッセージを送信したかに関する情報をアンに提供することができる。
【００３８】
再び図５を参照すると、仮想グループのメンバーから、メッセージが表示される。これは、ステップ５０４で示される。このステップにおいて、インスタント・メッセージング・クライアントは、仮想グループのメンバーからメッセージを受信することに応答して、仮想グループのチャット・ウィンドウ上に仮想グループのメンバーからのメッセージを表示する。随意的に、インスタント・メッセージング・クライアントは、メッセージが仮想グループの構築前にメッセージを受信しても、仮想グループのチャット・ウィンドウ上に仮想グループのメンバーからのメッセージを表示するので、第１のユーザは、１つのチャット・ウィンドウ内で仮想グループ間の全ての通信履歴を見ることができる。図８の例において、アリス及びボブからの全てのメッセージが、仮想チャット・ウィンドウ内に示される。チャット・ウィンドウ上に、彼らのさらなるメッセージも示される。
【００３９】
幾つかの実施形態において、仮想グループ内の第１のユーザだけが仮想グループの存在を認識するので、他のメンバーは自由にチャットすることができる。従って、全ての仮想グループ関連情報が、第１のユーザのインスタント・メッセージング・クライアント内に保持されるだけであり、インスタント・メッセージング・サーバには送信されない。次に、他のメンバーは、仮想グループの存在を認識しない。それらのインスタント・メッセージング・クライアントは通常どおりに示され、仮想グループ関連情報を、サーバから受信しない。例えば、第１の例において、アンのインスタント・メッセージング・クライアント内にアリス及びボブを含む仮想グループが存在するが、アリス及びボブのクライアントは、仮想グループを知らないので、どちらも、あたかも仮想グループが存在しないかのように、それぞれ自身のチャット・ウィンドウ内でアンとチャットする。
【００４０】
幾つかの実施形態において、方法はさらに、他のグループ又は個人を仮想グループに追加することを可能にする。これは、ステップ５０５に示される。このステップにおいて、インスタント・メッセージング・クライアントは、第１のユーザに関連した少なくとも１つの第３のグループを仮想グループに追加する。また、随意的に、ステップ５０５は、仮想グループ内の第１のユーザからメッセージ及びメッセージの受信者候補を受信することに応答して、メッセージを受信者候補に送信するステップをさらに含み、受信者候補は、第１のグループ及び／又は少なくとも１つの第２のグループ、又は少なくとも第３のグループである。この方法を用いて、第１のユーザは、単一のチャット・ウィンドウ内で、第１のグループ及び／又は少なくとも１つの第２のグループ及び／又は少なくとも１つの第３のグループとチャットすることができ、仮想グループの中の第１のユーザを除いたメンバーは、仮想グループの存在を認識しない。
【００４１】
一例において、ステップ５０５は、少なくとも１つの第３のグループの仮想グループへの追加要求に応答して実行される。上述のように、ステップは、要求なしにインスタント・メッセージング・クライアント構成に従って自動的に実行され得るので、要求は、随意的なものである。さらに第１の例において、アン、アリス及びボブについての仮想グループが構築されている。アンは、仮想グループ内の友達と自由に話している。この時、アンは、アンディ（Andy）からチャットを受信する。次に、アンのインスタント・メッセージング・クライアントは、アンディのセッション（アンディ及びアンを含む）のグループを仮想グループに追加することができ、一例において、この動作は、こうした要求の受信に応答している。随意的に、要求は、アンの入力により開始される。代替的に、要求は、既存の仮想グループとアンディのセッションとの間の共通部分商を分析することによって、アンのインスタント・メッセージング・クライアント又はサーバにより開始される。上記と同様に、アンは、アリス、ボブ、又はアンディと自由にチャットできるが、アリス、ボブ及びアンディの誰も、仮想グループの存在を認識せず、彼らは、アンが１つの仮想グループ内で３人と話していることを知らず、例えば、アリス、ボブ、又はアンディのインスタント・メッセージング・クライアントは、通常と同じであり、彼らは、自分自身とアンとの間のチャット内容しか見ることができない。
【００４２】
幾つかの実施形態において、インスタント・メッセージング・クライアントは、既存の仮想グループの閉鎖を可能にすることができる。これは、ステップ５０６に示される。このステップにおいて、インスタント・メッセージング・クライアントは、仮想グループ解放要求に応答して、仮想グループを解放（又は閉鎖）する。ひとたび既存の仮想グループが解放されると、仮想グループのチャット・ウィンドウが閉じられる。また、１つの実施形態において、第１のグループ又は第２のグループのチャット・ウィンドウも閉じられる。
【００４３】
既存の仮想グループを解放する動作は、仮想グループの既存のチャット・ウィンドウ上の「仮想グループを解放」のようなボタンを押すことによって、第１のユーザにより開始することができる。代替的に、インスタント・メッセージング・クライアント又はサーバにより、機能を開始することができる、これらのどちらも、仮想グループを構築するために使用されたグループ間の共通部分商を計算することができ、次に、計算された共通部分商を第２の閾値と比較することができる。第２の閾値が満たされる場合、機能は、既存の仮想グループ解放要求をインスタント・メッセージグング・クライアントに送信する。さらに、インスタント・メッセージング・クライアントは、閾値が満たされた場合、既存の仮想グループを直接解放し得る。或いは、インスタント・メッセージング・クライアントは、所定の時間内に入力がない場合、既存の仮想グループを直接解放し得る。従って、ステップ５０６は、第１のグループと少なくとも１つの第２のグループとの間の計算された共通部分商が第２の閾値を満たすことに応答して、仮想グループを解放するステップをさらい含む。例えば、第１の例において、アンは、アン、アリス及びボブについての仮想グループ解放要求を開始することができる。さらに、アンのインスタント・メッセージング・クライアント又はサーバは、２つのグループ間の共通部分商を計算することによって、仮想グループ解放要求を開始することもできる。ひとたびアンのインスタント・メッセージング・クライアントが解放要求を受信すると、仮想グループを解放する。
【００４４】
本開示の方法により、インスタント・メッセージング・クライアントは、ユーザのための仮想グループを構築することができ、ユーザは、複数のグループと容易に通信することができ、一方、複数のグループ内の他のメンバーは、仮想グループの存在を認識しないので、彼らはユーザに自由に話すことができる。
【００４５】
本開示の１つの実施形態によると、コンピューティング・システムが開示される。コンピューティング・システムは、コンピュータ可読メモリ・ユニットに結合されたコンピュータ・プロセッサを含み、メモリ・ユニットは、コンピュータ・プロセッサにより実行されたとき、方法を実施する命令を含む。方法において、第１のユーザに関連した第１のグループ及び第１のユーザに関連した少なくとも１つの第２のグループについての仮想グループが構築される。また、仮想グループ内の第１のユーザからメッセージ及びメッセージの受信者候補を受信することであって、受信者候補は第１のグループ及び／又は少なくとも１つの第２のグループである、受信することに応答して、メッセージが受信者候補に送信される。従って、第１のユーザは、仮想グループの１つのチャット・ウィンドウ内で、第１のグループ及び／又は少なくとも１つの第２のグループとチャットすることができ、仮想グループの中の第１のユーザを除いたメンバーは、仮想グループの存在を認識しない。１つの実施形態において、仮想グループは、第１のユーザに関連した第１のグループ及び第１のユーザに関連した少なくとも１つの第２のグループについての仮想グループ構築要求に応答して、構築される。要求は、ユーザ、インスタント・メッセージング・クライアント、又はインスタント・メッセージング・サーバからのものとすることができる。別の実施形態において、仮想グループは、所定の条件が満たされることに基づいて、構築される。
【００４６】
本開示の１つの実施形態において、第１のユーザに関連した少なくとも１つの第３のグループが仮想グループに追加され、随意的に、実施形態は、仮想グループ内の第１のグループからメッセージ及びメッセージの受信者候補を受信することに応答して、メッセージを受信者候補に送信するステップをさらに含み、受信者候補は、第１のグループ及び／又は少なくとも１つの第２のグループ及び／又は少なくとも第３のグループである。従って、第１のユーザは、仮想グループの１つのチャット・ウィンドウ内で、第１のグループ及び／又は少なくとも１つの第２のグループ及び／又は少なくとも１つの第３のグループとチャットすることができ、仮想グループの中の第１のユーザを除いたメンバーは、仮想グループの存在を認識しない。１つの実施形態において、仮想グルーブは、第１のユーザに関連した少なくとも１つの第３のグループの仮想グループへの追加要求に応答して、構築される。
【００４７】
本開示の１つの実施形態において、仮想グループが解放される。解放は、仮想グループ解放要求に応答したもの、又は所定の条件が満たされることに応答したものであり得る。要求は、ユーザ、インスタント・メッセージング・クライアント、又はインスタント・メッセージング・サーバからのものであり得る。
【００４８】
本開示の１つの実施形態において、第１のユーザに関連した第１のグループ及び第１のユーザに関連した少なくとも１つの第２のグループについての仮想グループが、第１のグループと少なくとも１つの第２のグループとの間の共通部分商が第１の閾値を満たすことに応答して、構築される。
【００４９】
本開示の１つの実施形態において、仮想グループは、第１のグループと少なくとも１つの第２のグループとの間の計算された共通部分商が第２の閾値を満たすことに応答して、解放される。
【００５０】
本開示の１つの実施形態において、第１のグループは、第１のユーザと、第１のユーザとチャットしている第２のユーザとを含み、第２のグループは、第１のユーザと、第１のユーザとチャットしている第３のユーザとを含み、共通部分商は、以下の：すなわち、第１のグループ及び第２のグループで話される現在のトピックの間の相関、又は第１のグループ及び第２のグループのチャット・アクティブ時間の間の相関の少なくとも１つに関連する。
【００５１】
本開示の１つの実施形態において、第１のグループは、第１のユーザと、第１のユーザとチャットしている第２のユーザとを含み、第２のグループは、第１のユーザを含む第１のチャット・グループを含み、共通部分商は、以下の：すなわち、第１のグループ及び第２のグループ内で話される現在のトピックの間の相関、又は第１のグループ及び第２のグループのチャット・アクティブ時間の間の相関の少なくとも１つに関連する。
【００５２】
本開示の１つの実施形態において、第１のグループは、第１のユーザを含む第１のチャット・グループを含み、第２のグループは、第１のユーザを含む第２のチャット・グループを含み、共通部分商は、以下の：すなわち、第１のグループ及び第２のグループ内の共通メンバーの数、第１のグループ及び第２のグループ内で話される現在のトピックの間の相関、第１のグループ及び第２のグループ内で話される履歴トピックの間の相関、又は第１のグループ及び第２のグループのチャット・アクティブ時間の間の相関の少なくとも１つに関連する。
【００５３】
本開示の１つの実施形態によると、コンピュータ・プログラム製品が開示される。コンピュータ・プログラム製品は、非一時的マシン可読媒体上に有形に格納され、マシン実行可能命令を含む。命令は、電子デバイス上で実行されるとき、電子デバイスに、第１のユーザに関連した第１のグループ及び第１のユーザに関連した少なくとも１つの第２のグループについての仮想グループを構築させ、仮想グループ内の第１のユーザからメッセージ及びメッセージの受信者候補を受信することであって、受信者候補は第１のグループ及び／又は少なくとも１つの第２のグループである、受信することに応答して、メッセージを受信者候補に送信させる。従って、第１のユーザは、仮想グループの１つのチャット・ウィンドウ内で、第１のユーザ及び／又は少なくとも１つの第２のグループとチャットすることができ、仮想グループの中の第１のユーザを除いたメンバーは、仮想グループの存在を認識しない。１つの実施形態において、仮想グループは、第１のユーザに関連した第１のグループ及び第１のユーザに関連した少なくとも１つの第２のグループについての仮想グループ構築要求に応答して、構築される。要求は、ユーザ、インスタント・メッセージング・クライアント、又はインスタント・メッセージング・サーバからのものとすることができる。別の実施形態において、仮想グループは、所定の条件が満たされることに基づいて、構築される。
【００５４】
本開示の１つの実施形態において、命令はさらに、電子デバイスに、第１のユーザに関連した少なくとも１つの第３のグループを仮想グループに追加させることができ、随意的に、実施形態は、仮想グループ内の第１のグループからメッセージ及びメッセージの受信者候補を受信することであって、受信者候補は第１のグループ及び／又は少なくとも１つの第２のグループ及び／又は少なくとも第３のグループである、受信することに応答して、メッセージを受信者候補に送信するステップをさらに含む。従って、第１のユーザは、仮想グループの１つのチャット・ウィンドウ内で、第１のグループ及び／又は少なくとも１つの第２のグループ及び／又は少なくとも１つの第３のグループとチャットすることができ、仮想グループの中の第１のユーザを除いたメンバーは、仮想グループの存在を認識しない。本開示の１つの実施形態において、命令はさらに、電子デバイスに、仮想グループを解放させることができる。解放は、仮想グループ解放要求に応答したもの、又は所定の条件が満たされることに応答したものであり得る。要求は、ユーザ、インスタント・メッセージング・クライアント、又はインスタント・メッセージング・サーバからのものであり得る。
【００５５】
本開示の１つの実施形態において、命令はさらに、電子デバイスに、第１のグループと少なくとも１つの第２のグループとの間の共通部分商が第１の閾値を満たすことに応答して、第１のユーザに関連した第１のグループ及び第１のユーザに関連した少なくとも１つの第２のグループについての仮想グループを構築させることができる。
【００５６】
本開示の１つの実施形態において、命令はさらに、電子デバイスに、第１のグループと少なくとも１つの第２のグループとの間の計算された共通部分商が第２の閾値を満たすことに応答して、仮想グループを解放させることができる。
【００５７】
本開示の１つの実施形態において、命令はさらに、電子デバイスに、仮想グループを構築する要求に応答して、第１のユーザに関連した第１のグループ及び第１のユーザに関連した少なくとも１つの第２のグループについての仮想グループを構築させることができる。
【００５８】
本開示の１つの実施形態において、第１のグループは、第１のユーザと、第１のユーザとチャットしている第２のユーザとを含み、第２のグループは、第１のユーザと、第１のユーザとチャットしている第３のユーザとを含み、共通部分商は、以下の：すなわち、第１のグループ及び第２のグループ内で話される現在のトピックの間の相関、又は第１のグループ及び第２のグループのチャット・アクティブ時間の間の相関の少なくとも１つに関連する。
【００５９】
本開示の１つの実施形態において、第１のグループは、第１のユーザと、第１のユーザとチャットしている第２のユーザとを含み、第２のグループは、第１のユーザを含む第２のチャット・グループを含み、共通部分商は、以下の：すなわち、第１のグループ及び第２のグループ内で話される現在のトピックの間の相関、又は第１のグループ及び第２のグループのチャット・アクティブ時間の間の相関の少なくとも１つに関連する。
【００６０】
本開示の１つの実施形態において、第１のグループは、第１のユーザを含む第１のチャット・グループを含み、第２のグループは、第１のユーザを含む第２のチャット・グループを含み、共通部分商は、以下の：すなわち、第１のグループ及び第２のグループ内の共通メンバーの数、第１のグループ及び第２のグループ内で話される現在のトピックの間の相関、第１のグループ及び第２のグループ内で話される履歴トピックの間の相関、又は第１のグループ及び第２のグループのチャット・アクティブ時間の間の相関の少なくとも１つに関連する。
【００６１】
本開示の実施形態は、種々のタイプのコンピューティング・デバイスにおいて実施することができ、例えば、実施形態は、デスクトップ、ラップトップ、ノートブック、サーバ、タブレット、スマートフォン等上で実施することができる。さらに、オペレーティング・システム上にインストールされたアプリケーションとの間で必要とされるデータを読み出し／書き込みするために、これらのオペレーティング・システムが本開示の方法をサポートできる限り、本開示の実施形態は、Ｗｉｎｄｏｗｓ（登録商標）、Ｌｉｎｕｘ（登録商標）、Ｍａｃ  ＯＳ（登録商標）、Ａｎｄｒｏｉｄ（登録商標）及び他のオペレーティング・システムのような種々のオペレーティング・システム上で実施することができる。
【００６２】
添付図面を参照して、本開示の方法を実施する種々の実施形態が上述されている。当業者であれば、この方法を、ソフトウェア、ハードウェア、又はソフトウェアとハードウェアの組み合わせで実施できることを理解することができる。さらに、当業者であれば、上述の方法のステップを、ソフトウェア、ハードウェア、又はソフトウェアとハードウェアの組み合わせで実施することによって、同じ開示の概念に基づいた装置／システムを提供できることを理解することができる。装置／システムが汎用処理デバイスと同じハードウェア構造を有する場合であっても、内部に含まれるソフトウェアの機能によって装置／システムに、汎用処理デバイスとは区別される特性を示させることにより、本開示の種々の実施形態の装置／システムが形成される。本開示に記載される装置／システムは、幾つかの手段又はモジュールを含み、それらの手段又はモジュールは対応するステップを実行するように構成される。当業者であれば、本明細書を読むと、これらの手段又はモジュールによって実行される動作を実施するためのプログラムを書く方法を理解することができる。この装置／システムは上記の方法と同じ開示の概念に基づくため、同じ又は対応する実施の詳細が、上記の方法に対応する手段又はモジュールにも適用可能である。上記に詳細かつ完全な説明が提示されているので、装置／システムは以下で詳述しない。
【００６３】
さらに、システムは、ソフトウェア、ハードウェア、ファームウェア、又はそれらの任意の組み合わせを含む種々の方法で実装することができる。例えば、幾つかの実施形態において、装置は、ソフトウェア及び／又はファームウェアにより実装することができる。代替的に又は付加的に、システムは、ハードウェアに基づいて部分的に又は完全に実装することができる。例えば、システム内の１つ又は複数のユニットは、集積回路（ＩＣ）チップ、特定用途向け集積回路（ＡＳＩＣ）、システム・オン・チップ（ＳＯＣ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）等として実装することができる。本意図の範囲は、この態様に限定されない。
【００６４】
本開示は、システム、装置、デバイス、方法、及び／又はコンピュータ・プログラム製品とすることができる。コンピュータ・プログラム製品は、プロセッサに本開示の態様を実行させるためのコンピュータ可読プログラム命令をそこに有するコンピュータ可読ストレージ媒体（単数又は複数）を含むことができる。
【００６５】
コンピュータ可読ストレージ媒体は、命令実行デバイスにより使用される命令を保持及び格納できる有形デバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、これらに限定されるものではないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、又は上記のいずれかの適切な組み合わせとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストとして、以下のもの：すなわち、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、消去可能プログラム可能読み出し専用メモリ（ＥＰＲＯＭ又はフラッシュ・メモリ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、ポータブル・コンパクト・ディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、メモリ・スティック、フロッピー・ディスク、パンチカード若しくは命令がそこに記録された溝内の隆起構造のような機械的にエンコードされたデバイス、及び上記のいずれかの適切な組み合わせが挙げられる。本明細書で使用される場合、コンピュータ可読ストレージ媒体は、電波、又は他の自由に伝搬する電磁波、導波管若しくは他の伝送媒体を通じて伝搬する電磁波（例えば、光ファイバ・ケーブルを通る光パルス）、又はワイヤを通って送られる電気信号などの、一時的信号自体として解釈されない。
【００６６】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング／処理デバイスに、又は、例えばインターネット、ローカル・エリア・ネットワーク、広域ネットワーク、及び／又は無線ネットワークなどのネットワークを介して外部コンピュータ又は外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、及び／又はエッジ・サーバを含むことができる。各コンピューティング／処理デバイスにおけるネットワーク・アダプタ・カード又はネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、コンピュータ可読プログラム命令を転送して、それぞれのコンピューティング／処理デバイス内のコンピュータ可読ストレージ媒体内に格納する。
【００６７】
本開示の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ（ＩＳＡ）命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又は、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語、又は、「Ｃ」プログラミング言語若しくは類似のプログラミング言語などの通常の手続き型プログラミング言語を含む１つ又は複数のプログラミング言語の任意の組み合わせで記述することができるいずれかのソース・コード若しくはオブジェクト・コードとすることができる。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で、独立型ソフトウェア・パッケージとして実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行される場合もあり、又は完全に遠隔コンピュータ若しくはサーバ上で実行される場合もある。最後のシナリオにおいて、遠隔コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）若しくは広域ネットワーク（ＷＡＮ）を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は外部コンピュータへの接続がなされる場合もある（例えば、インターネットサービスプロバイダを用いたインターネットを通じて）。幾つかの実施形態において、例えば、プログラム可能論理回路、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、又はプログラム可能論理アレイ（ＰＬＡ）を含む電子回路は、コンピュータ可読プログラム命令の状態情報を用いて、電子回路を個人化することによりコンピュータ可読プログラム命令を実行し、本開示の態様を実施することができる。
【００６８】
本開示の態様は、本開示の実施形態による方法、装置（システム）及びコンピュータ・プログラム製品のフローチャート図及び／又はブロック図を参照して説明される。フローチャート図及び／又はブロック図の各ブロック、並びにフローチャート図及び／又はブロック図内のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装できることが理解されるであろう。
【００６９】
これらのコンピュータ可読プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えてマシンを製造し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサにより実行される命令が、フローチャート及び／又はブロック図の１つ又は複数のブロック内で指定された機能／動作を実施するための手段を作り出すようにすることができる。これらのコンピュータ可読プログラム命令を、コンピュータ、プログラム可能データ処理装置、及び／又は他のデバイスを特定の方式で機能させるように指示することができるコンピュータ可読ストレージ媒体内に格納し、それにより、そのコンピュータ可読媒体内に格納された命令が、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて指定された機能／動作の態様を実施する命令を含む製品を製造するようにすることもできる。
【００７０】
コンピュータ可読プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上にロードして、一連の動作ステップをコンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上で行わせてコンピュータ実施のプロセスを生成し、それにより、コンピュータ又は他のプログラム可能装置、又は他のデバイス上で実行される命令が、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて指定された機能／動作を実施するようにすることもできる。
【００７１】
フローチャート及びブロック図は、本開示の種々の実施形態による、システム、方法、及びコンピュータ・プログラム製品の可能な実装の、アーキテクチャ、機能及び動作を示す。この点に関して、フローチャート内の各ブロック又はブロック図は、指定された論理機能を実装するための１つ又は複数の実行可能命令を含む、モジュール、スニペット、又はコードの一部を表すことができる。幾つかの代替的な実装において、ブロック内に示される機能は、図に示される順序とは異なる順序で生じることがあることにも留意されたい。例えば、連続して示される２つのブロックは、関与する機能に応じて、実際には実質的に同時に実行されることもあり、又はこれらのブロックはときとして逆順で実行されることもある。ブロック図及び／又はフローチャート図の各ブロック、及びブロック図及び／又はフローチャート図内のブロックの組み合わせは、指定された機能又は動作を実行する、又は専用のハードウェアとコンピュータ命令との組み合わせを実行する、専用ハードウェア・ベースのシステムによって実装できることにも留意されたい。
【００７２】
本開示の種々の実施形態の説明は、説明を目的として提示されているが、網羅的であること、又は開示された実施形態に限定することを意図したものではない。当業者には、説明される実施形態の範囲及び趣旨から逸脱することなく、多くの修正及び変形が明らかであろう。本明細書で使用される用語は、実施形態の原理、実際の用途、若しくは市場で見出される技術に優る技術的改善を最も良く説明するために、又は当業者が本明細書に開示される実施形態を理解するのを可能にするために、選択された。
【符号の説明】
【００７３】
１２：コンピュータ・システム／サーバ
１６：プロセッサ又は処理ユニット
１８：バス
２０：ネットワーク・アダプタ
２４：ディスプレイ
２８：システム・メモリ
４０：プログラム／ユーティリティ
４２：プログラム・モジュール
２００：インスタント・メッセージング・クライアント
２１０、２２０、３１０．３２０、４１０、４２０：ウィンドウ
５００：方法
６０１、６０２、６０３：セッション
６０５、６２１、６２２、６２３、６２５、７２５、８１０、８２０、８３０：ボタン
６３５：仮想グループ
７１０、７２０、７３０：スクリーン
【図１】
2019530919.tif 000003
【図２】
2019530919.tif 000004
【図３】
2019530919.tif 000005
【図４】
2019530919.tif 000006
【図５】
2019530919.tif 000007
【図６】
2019530919.tif 000008
【図７】
2019530919.tif 000009
【図８】
2019530919.tif 000010
【国際調査報告】
2019530919.tif 000011
2019530919.tif 000012