(57)【特許請求の範囲】
【請求項１】
サーバによって実行されるグループチャット内のプライベートチャット用のコンピュータ実行方法であって、
前記サーバにより、コンピューティング装置のユーザから、第１のプライベートチャット識別子と、プライベートチャット相手情報と、第１のプライベートチャット内容データとを含む第１のメッセージを受信することと、
前記第１のプライベートチャット識別子及び前記プライベートチャット相手情報に基づいて、プライベートチャット相手クライアントを判定することであって、前記プライベートチャット相手クライアント及び前記コンピューティング装置が、両方とも前記グループチャットに参加していることと、
前記第１のプライベートチャット内容データを含む前記第１のメッセージに基づいて、第１のプライベートチャットメッセージを生成することと、
前記グループチャットに参加しているメンバ全てには前記プライベートチャットメッセージを送信せずに、前記プライベートチャット相手クライアントに前記プライベートチャットメッセージを送信することと、
前記サーバにより、前記コンピューティング装置の前記ユーザから、プライベートチャット相手除外識別子と、プライベートチャット相手除外情報と、第２のプライベートチャット内容データとを含む第２のメッセージを受信することと、
クライアントリストから、前記第２のメッセージに含まれる前記プライベートチャット相手除外識別子及び前記プライベートチャット相手除外情報に基づいて、クライアントを除外することであって、前記クライアントリストが、前記グループチャットの全てのメンバを含むか、又は、以前に送信されたプライベートチャットに関係する一つ又は複数のプライベートチャット相手クライアントを含むことと、
前記第２のプライベートチャット内容データを含む前記第２のメッセージに基づいて、第２のプライベートチャットメッセージを生成することと、
前記クライアントリスト上の残りのクライアントに前記プライベートチャットメッセージを送信することと、
を含む方法。
【請求項２】
前記第１のプライベートチャットメッセージが第２のプライベートチャット識別子を含み、前記第２のプライベートチャット識別子は、前記第１のプライベートチャットメッセージが、前記グループチャットに参加している他のグループメンバには送信されずに、前記プライベートチャット相手クライアントにプライベートに送信されることを前記プライベートチャット相手クライアントが判定できるようにする、請求項１に記載の方法。
【請求項３】
前記第１のプライベートチャット識別子が、選択識別子であると判定することと、
前記プライベートチャット相手情報に対応するクライアントが、プライベートチャット相手クライアントであると判定することと、
を更に含む、請求項１に記載の方法。
【請求項４】
前記第１のプライベートチャット識別子が、除外識別子であると判定することと、
前記プライベートチャット相手情報に対応するクライアントを前記クライアントリストから除外することと、
前記クライアントリスト上の前記残りのクライアントが、プライベートチャット相手クライアントであると判定することと、
を更に含む、請求項１に記載の方法。
【請求項５】
公開クライアントから送信された入力情報を受信することであって、前記入力情報が、 第１の指定識別子、指定相手情報、及び公開内容情報を含むことと、
前記第１の指定識別子及び前記指定相手情報に基づいて、指定相手クライアントを判定することと、
前記入力情報に基づいて、指定メッセージを生成することと、
前記指定相手クライアントにだけ前記指定メッセージを送信することと、
を更に含む、請求項１に記載の方法。
【請求項６】
１つ又は複数のプロセッサと、
メモリと、
前記１つ又は複数のプロセッサによって実行される場合に、サーバによって実行されるグループチャット内のプライベートチャット用の方法をコンピューティングシステムに実行させる命令を格納する、前記１つ又は複数のプロセッサに結合されたコンピュータ可読媒体と、
を含むコンピューティングシステムであって、前記方法が、
前記サーバにより、コンピューティング装置のユーザから、第１のプライベートチャット識別子と、プライベートチャット相手情報と、第１のプライベートチャット内容データとを含む第１のメッセージを受信することと、
前記第１のプライベートチャット識別子及び前記プライベートチャット相手情報に基づいて、プライベートチャット相手クライアントを判定することであって、前記プライベートチャット相手クライアント及び前記コンピューティング装置が、両方とも前記グループチャットに参加していることと、
前記第１のプライベートチャット内容データを含む前記第１のメッセージに基づいて、第１のプライベートチャットメッセージを生成することと、
前記グループチャットに参加しているメンバ全てには前記プライベートチャットメッセージを送信せずに、前記プライベートチャット相手クライアントに前記プライベートチャットメッセージを送信することと、
前記サーバにより、前記コンピューティング装置の前記ユーザから、プライベートチャット相手除外識別子と、プライベートチャット相手除外情報と、第２のプライベートチャット内容データとを含む第２のメッセージを受信することと、
クライアントリストから、前記第２のメッセージに含まれる前記プライベートチャット相手除外識別子及び前記プライベートチャット相手除外情報に基づいて、クライアントを除外することであって、前記クライアントリストが、前記グループチャットの全てのメンバを含むか、又は、以前に送信されたプライベートチャットに関係する一つ又は複数のプライベートチャット相手クライアントを含むことと、
前記第２のプライベートチャット内容データを含む前記第２のメッセージに基づいて、第２のプライベートチャットメッセージを生成することと、
前記クライアントリスト上の残りのクライアントに前記プライベートチャットメッセージを送信することと、
を含むコンピューティングシステム。
【請求項７】
前記第１のプライベートチャットメッセージが第２のプライベートチャット識別子を含み、前記第２のプライベートチャット識別子は、前記第１のプライベートチャットメッセージが、前記グループチャットに参加している他のグループメンバには送信されずに、前記プライベートチャット相手クライアントにプライベートに送信されることを前記プライベートチャット相手クライアントが判定できるようにする、請求項６に記載のシステム。
【請求項８】
前記第１のプライベートチャット識別子が、選択識別子であると判定することと、
前記プライベートチャット相手情報に対応するクライアントが、プライベートチャット相手クライアントであると判定することと、
を更に含む、請求項６に記載のシステム。
【請求項９】
前記第１のプライベートチャット識別子が、除外識別子であると判定することと、
前記プライベートチャット相手情報に対応するクライアントを前記クライアントリストから除外することと、
前記クライアントリスト上の前記残りのクライアントが、プライベートチャット相手クライアントであると判定することと、
を更に含む、請求項６に記載のシステム。
【請求項１０】
前記方法が、
公開クライアントから送信された入力情報を受信することであって、前記入力情報が、第１の指定識別子、指定相手情報、及び公開内容情報を含むことと、
前記第１の指定識別子及び前記指定相手情報に基づいて、指定相手クライアントを判定することと、
前記入力情報に基づいて、指定メッセージを生成することと、
前記指定相手クライアントにだけ前記指定メッセージを送信することと、
を更に含む、請求項６に記載のシステム。
【請求項１１】
コンピュータによって実行される場合に、サーバによって実行されるグループチャット内のプライベートチャット用の方法を前記コンピュータに実行させる命令を格納する非一時的コンピュータ可読記憶媒体であって、前記方法が、
前記サーバにより、コンピューティング装置のユーザから、第１のプライベートチャット識別子と、プライベートチャット相手情報と、第１のプライベートチャット内容データとを含む第１のメッセージを受信することと、
前記第１のプライベートチャット識別子及び前記プライベートチャット相手情報に基づいて、プライベートチャット相手クライアントを判定することであって、前記プライベートチャット相手クライアント及び前記コンピューティング装置が、両方とも前記グループチャットに参加していることと、
前記第１のプライベートチャット内容データを含む前記第１のメッセージに基づいて、第１のプライベートチャットメッセージを生成することと、
前記グループチャットに参加しているメンバ全てには前記プライベートチャットメッセージを送信せずに、前記プライベートチャット相手クライアントに前記プライベートチャットメッセージを送信することと、
前記サーバにより、前記コンピューティング装置の前記ユーザから、プライベートチャット相手除外識別子と、プライベートチャット相手除外情報と、第２のプライベートチャット内容データとを含む第２のメッセージを受信することと、
クライアントリストから、前記第２のメッセージに含まれる前記プライベートチャット相手除外識別子及び前記プライベートチャット相手除外情報に基づいて、クライアントを除外することであって、前記クライアントリストが、前記グループチャットの全てのメンバを含むか、又は、以前に送信されたプライベートチャットに関係する一つ又は複数のプライベートチャット相手クライアントを含むことと、
前記第２のプライベートチャット内容データを含む前記第２のメッセージに基づいて、第２のプライベートチャットメッセージを生成することと、
前記クライアントリスト上の残りのクライアントに前記プライベートチャットメッセージを送信することと、
を含む、非一時的コンピュータ可読記憶媒体。
【請求項１２】
前記第１のプライベートチャットメッセージが第２のプライベートチャット識別子を含み、前記第２のプライベートチャット識別子は、前記第１のプライベートチャットメッセージが、前記グループチャットに参加している他のグループメンバには送信されずに、前記プライベートチャット相手クライアントにプライベートに送信されることを前記プライベートチャット相手クライアントが判定できるようにする、請求項１１に記載の非一時的コンピュータ可読記憶媒体。
【請求項１３】
前記方法が、
前記第１のプライベートチャット識別子が、選択識別子であると判定することと、
前記プライベートチャット相手情報に対応するクライアントが、プライベートチャット相手クライアントであると判定することと、
を更に含む、請求項１１に記載の非一時的コンピュータ可読記憶媒体。
【請求項１４】
コンピュータによって実行される場合に、グループチャット内のプライベートチャット用の方法を前記コンピュータに実行させる命令を格納する非一時的コンピュータ可読記憶媒体であって、前記方法が、
前記コンピュータのユーザから第１の入力情報を受信することであって、前記コンピュータが、クライアントコンピューティング装置であることと、
前記第１の入力情報に基づいて、第１のメッセージを生成することであって、前記第１の情報が、第１のプライベートチャット識別子、プライベートチャット相手情報、及び第１のプライベートチャット内容データを含むことと、
前記第１のメッセージをサーバに送信することであって、前記第１のメッセージが、
前記第１のプライベートチャット識別子及びプライベートチャット相手情報に基づいて、前記プライベートチャット相手であるクライアントを判定すること、
前記第１のメッセージに基づいて、第１のプライベートチャットメッセージを生成すること、
前記プライベートチャット相手である前記クライアントにだけ前記プライベートチャットメッセージを送信すること、を前記サーバが実行できるようにする、送信することと、
前記第１のメッセージに応じて前記サーバによって送信された応答メッセージを受信することと、
前記コンピュータのユーザインタフェースディスプレイに前記応答メッセージを表示することと、
前記コンピュータの前記ユーザから、第２の入力情報を受信することと、
プライベートチャット相手除外識別子と、プライベートチャット相手除外情報と、第２のプライベートチャット内容データとを含む第２のメッセージを生成することと、
前記第２のメッセージを前記サーバに送信することであって、前記第２のメッセージが、
クライアントリストから、前記第２のメッセージに含まれる前記プライベートチャット相手除外識別子及び前記プライベートチャット相手除外情報に基づいて、クライアントを除外することであって、前記クライアントリストが、前記グループチャットの全てのメンバを含むか、又は、以前に送信されたプライベートチャットに関係する一つ又は複数のプライベートチャット相手クライアントを含むことと、
前記第２のプライベートチャット内容データを含む前記第２のメッセージに基づいて、第２のプライベートチャットメッセージを生成することと、
前記クライアントリスト上の残りのクライアントに前記プライベートチャットメッセージを送信することと、を前記サーバが実行できるようにする、送信することと、
を含む、非一時的コンピュータ可読記憶媒体。
【請求項１５】
前記方法が、
グループチャットメッセージ及びプライベートチャットメッセージを含む第３のメッセージを前記サーバから受信することであって、前記プライベートチャットメッセージが、第２のプライベートチャット識別子を含むことと、
前記第２のプライベートチャット識別子に基づいて、前記第３のメッセージに含まれる前記２つのメッセージの１つがプライベートチャットメッセージであることを判定することと、
前記グループチャットメッセージ及び前記プライベートチャットメッセージを違ったように表示することと、
を更に含む、請求項１４に記載の非一時的コンピュータ可読記憶媒体。
【請求項１６】
前記方法が、
前記クライアントコンピューティング装置の表示領域上に示されたプライベートチャットメッセージ表示ボックスにプライベートチャットメッセージ応答領域を追加することと、
前記プライベートチャットメッセージ応答領域を介してユーザのプライベートチャットメッセージ応答を受信することと、
前記ユーザのプライベートチャットメッセージ応答の受信に応じて、前記第１のプライベートチャット識別子及び前記プライベートチャット相手情報を前記ユーザのプライベートチャットメッセージ応答に自動的に追加することと、
を更に含む、請求項１４に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
分野
本発明は、インスタントメッセージングシステムに関し、特にグループチャット内でプライベートチャットを提供するための方法及びシステムに関する。
【背景技術】
【０００２】
関連技術
ネットワーク及び移動通信の発展と共に、インスタントメッセージングは、最も一般的な通信形態の１つになった。ウェブポータル及びプラットホーム事業者（例えばＭＳＮ、ＱＱ）によって提供されるインスタントメッセージングサービス及びツールは、ユーザにとって極めて重要なサービスである。インスタントメッセージングは、クライアントが、表示領域及び入力領域を含むチャットウィンドウを提供するクライアント／サーバインフラストラクチャに基づいている。表示領域は、ユーザによって送信及び受信されるメッセージを表示し、一方でユーザは、入力領域にメッセージを入力する。続いて、クライアントは、ユーザによって入力されたメッセージをサーバに送信し、サーバは、他のユーザに属する他のクライアントにメッセージを転送する。インスタントメッセージングは、主として３つのモード、例えば「１対１」、「１対多」、及び「多対多」に分割され、それらの間で、「多対多」は、グループチャットモードを指す。即ち、グループメンバは、共通グループにおける全てのメンバのチャットを見て、全てのメンバとチャットすることができ、これは、メンバが、全てのメンバからメッセージを受信することができ、且つメッセージが、全てのメンバに同時に送信され得ることを意味する。
【０００３】
一般に、メンバは、通常のグループチャットモード下でグループ内のグループチャット及びプライベートチャットの両方に参加することができる。プライベートチャットは、メンバが、チャット用にもう一人のメンバ又は多数のメンバを選択できることを意味する。一人のメンバだけが選択される場合に、クライアントは、かかるメンバとの「１対１」インスタントメッセージング用の新しいチャットウィンドウを生成してもよい。多数のメンバが選択される場合に、クライアントは、かかる多数のメンバとの「１対多」インスタントメッセージング用の新しいグループチャットウィンドウ（例えば、通常、ディスカッショングループの形態における）を生成してもよい。クライアントは、（例えば、「１対１」又は「多対多」用の）新しいプライベートチャットウィンドウを生成してもよく、それによって、それらのメンバは、プライベートチャットウィンドウでのみチャットすることができる。グループチャットは、オリジナルのグループチャットウィンドウにおいて継続し、メンバは、メッセージを見て送信するために、プライベートチャットウィンドウとグループチャットウィンドウとの間で切り替える必要がある。メンバが、複数の個人及びチームとプライベートにチャットしたい場合に、メンバは、プライベートチャットウィンドウの数を増加させる必要があり得、それは、人々との迅速で効率的な通信を妨げる。
【発明の概要】
【課題を解決するための手段】
【０００４】
概要
本発明の一実施形態は、サーバによって実行されるグループチャット内のプライベートチャット用のシステムを提供する。動作中に、システムは、第１のプライベートチャット識別子、プライベートチャット相手情報、及びプライベートチャット内容データを含む第１のメッセージをコンピューティング装置からサーバにおいて受信する。サーバは、第１のプライベートチャット識別子及びプライベートチャット相手情報に基づいて、プライベートチャット相手クライアントを判定してもよい。プライベートチャット相手クライアント及びコンピューティング装置は、両方ともグループチャットに参加している。次に、サーバは、プライベートチャット内容データを含む第１のメッセージに基づいて、プライベートチャットメッセージを生成してもよい。次に、サーバは、グループチャットに参加しているメンバ全てにはプライベートチャットメッセージを送信せずに、プライベートチャット相手クライアントにプライベートチャットメッセージを送信してもよい。
【０００５】
この実施形態の変形において、プライベートチャットメッセージは、第２のプライベートチャット識別子を含み、第２のプライベートチャット識別子は、プライベートチャットメッセージが、グループチャットに参加している他のグループメンバに送信されずに、プライベートチャット相手クライアントにプライベートに送信されることをプライベートチャット相手クライアントが判定できるようにする。
【０００６】
この実施形態の変形において、システムは、第１のプライベートチャット識別子が選択識別子であると判定し、プライベートチャット相手情報に対応するクライアントが、プライベートチャット相手クライアントであると判定してもよい。
【０００７】
この実施形態の変形において、システムは、第１のプライベートチャット識別子が除外識別子であると判定してもよい。次に、システムは、プライベートチャット相手情報に対応するクライアントをクライアントリストから除外し、クライアントリストの残りのクライアントが、プライベートチャット相手クライアントであると判定してもよい。
【０００８】
この実施形態の変形において、システムは、コンピューティング装置から第２のメッセージを受信してもよい。第２のメッセージは、プライベートチャット相手除外識別子、プライベートチャット相手除外情報、及び第２のプライベートチャット内容データを含む。次に、システムは、プライベートチャット相手除外識別子及びプライベートチャット相手除外情報に基づいて、プライベートチャット相手除外情報に対応するクライアントをクライアントリストから除外してもよく、クライアントリストの残りのクライアントは、プライベートチャット相手クライアントである。次に、システムは、第２のプライベートチャット内容データを含む第２のメッセージに基づいて、プライベートチャットメッセージを生成してもよい。次に、システムは、プライベートチャット相手クライアントにだけプライベートチャットメッセージを送信してもよい。
【０００９】
この実施形態の変形において、システムは、公開クライアントから送信された入力情報を受信してもよい。入力情報は、第１の指定識別子、指定相手情報、及び公開内容情報を含む。次に、システムは、第１の指定識別子及び指定相手情報に基づいて、指定相手クライアントを判定してもよい。システムは、入力情報に基づいて、指定メッセージを生成し、指定相手クライアントにだけ指定メッセージを送信してもよい。
【００１０】
本発明の別の実施形態は、グループチャット内のプライベートチャット用のシステムを提供する。動作中に、システムは、コンピュータのユーザからの入力情報を受信する。コンピュータは、クライアントコンピューティング装置である。次に、システムは、入力情報に基づいて、第１のメッセージを生成する。第１の情報は、第１のプライベートチャット識別子、プライベートチャット相手情報、及びプライベートチャット内容データを含む。第１のメッセージによって、サーバは、第１のプライベートチャット識別子及びプライベートチャット相手情報に基づいて、プライベートチャット相手であるクライアントを判定し、第１のメッセージに基づいて、プライベートチャットメッセージを生成し、プライベートチャット相手であるクライアントにだけプライベートチャットメッセージを送信できるようになる。次に、システムは、第１のメッセージをサーバに送信し、サーバによって送信されたメッセージを受信し、メッセージを表示する。
【００１１】
この実施形態の変形において、システムは、グループチャットメッセージ及びプライベートチャットメッセージを含むメッセージをサーバから受信し、プライベートチャットメッセージは、第２のプライベートチャット識別子を含む。次に、システムは、第２のプライベートチャット識別子に基づいて、２つのメッセージの１つがプライベートチャットメッセージであると判定してもよい。次に、システムは、グループチャットメッセージ及びプライベートチャットメッセージを違ったように表示してもよい。
【００１２】
この実施形態の変形において、システムは、クライアントコンピューティング装置の表示領域上に示されたプライベートチャットメッセージ表示ボックスにプライベートチャットメッセージ応答領域を追加する。次に、システムは、プライベートチャットメッセージ応答領域を介して、ユーザのプライベートチャットメッセージ応答を受信する。ユーザのプライベートチャットメッセージ応答の受信に応じて、システムは、第１のプライベートチャット識別子及びプライベートチャット相手情報をユーザのプライベートチャットメッセージ応答に自動的に追加してもよい。
【００１３】
図面の簡単な説明
本明細書に示されている添付の図面は、本出願の更なる理解のために用いられ、且つ本出願の一部を構成し、本出願の概略実施形態及びその説明は、本出願を不適切に限定するのではなく、本出願を解釈するために用いられる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態に従って、グループチャット内でプライベートチャットを提供するための例示的なコンピューティングシステムを示す図を提示する。
【図２】本発明の実施形態に従って、クライアントが、グループチャット内でプライベートチャットを提供するための例示的なプロセスを示す流れ図を提示する。
【図３】本発明の実施形態に従って、クライアントが、グループチャット内でプライベートチャットを提供するための別の例示的なプロセスを示す流れ図を提示する。
【図４】本発明の実施形態に従って、サーバが、グループチャット内でプライベートチャットを提供するための別の例示的なプロセスを示す流れ図を提示する。
【図５】本発明の実施形態に従って、クライアントが、グループチャット内でプライベートチャットを提供するための別の例示的なプロセスを示す流れ図を提示する。
【図６】本発明の実施形態に従って、サーバが、グループチャット内でプライベートチャットを提供するための例示的なプロセスを示す流れ図を提示する。
【図７】本出願の実施形態に従って、公開クライアント用の指定メッセージ配信の例示的なプロセスを示す流れ図を提示する。
【図８】本発明の実施形態に従って、サーバ用の指定メッセージ配信方法の例示的なプロセスを示す流れ図を提示する。
【図９】本出願の実施形態に従って、グループチャット内でプライベートチャットを提供するためのコンピューティングシステムにおける例示的なクライアントを示すブロック図を提示する。
【図１０】本出願の実施形態に従って、グループチャット内でプライベートチャットを提供するためのコンピューティングシステムにおける例示的なサーバを示すブロック図を提示する。
【発明を実施するための形態】
【００１５】
実施形態の詳細な説明
本発明の実施形態は、ユーザが、グループチャット内でプライベートチャットを容易且つ効率的に実行できるようにすることによって、非効率的なプライベート及びグループチャットの問題を解決する。ユーザは、グループチャット内でもう一人にプライベートメッセージを送ることができる。ユーザはまた、グループチャット内でメッセージを送信する場合に、一人又は複数のメンバを除外することができる。多数のファンもまた、ユーザをフォローすることが可能であり、ユーザは、特定のファンにメッセージを公開してもよく、又は或るファンが公開メッセージを受信するのを排除してもよい。
【００１６】
グループチャットモード
グループチャットモード（例えば「多対多」モード）において、ユーザは、クライアントモバイル装置を用いて、グループを作成し、グループメンバを追加し、次に、クライアントは、グループ作成要求をサーバに送信する。サーバは、グループアカウントを生成して登録し、このグループアカウント用のクライアントメンバのリスト（例えば、通常はクライアントソケットリストとして）を生成してもよい。サーバは、グループアカウントのメンバであるクライアントにメッセージを送信してもよい。クライアントモバイル装置のディスプレイは、入力領域（例えば入力ボックス）及び表示領域を含んでもよい。ユーザは、入力領域にメッセージ（例えば入力情報）を入力してもよい。例えば、ユーザは、キーボード又はマウスを用いて、入力ボックスにメッセージを入力してもよい。次に、クライアントは、入力情報、並びにクライアントとサーバとの間のメッセージ伝送及び処理用のプロトコルに基づいて、メッセージを生成し、次にメッセージをサーバに送信してもよい。サーバが、メッセージを受信すると、サーバは、入力情報を取得し、メッセージを送信したクライアントを識別し、クライアントが属するグループアカウントを判定するために、メッセージを解析してもよい。
【００１７】
サーバは、入力情報が、正当で有効かどうか（例えば入力情報がウィルスを含むかどうか、又はそれがフィッシングの試みであるか若しくは広告リンクを含むかどうか等）を判定するために、メッセージ（例えば入力情報）を検査してもよい。入力情報が、正当で有効な場合に、システムは、入力情報、並びにクライアントとサーバとの間のメッセージ伝送及び処理用のプロトコルに基づいて、グループチャットメッセージを生成し、次に、グループアカウントのクライアントリストにおける全てのクライアントにグループチャットメッセージを送信してもよい。グループチャットメッセージを受信した後で、クライアントは、グループチャットメッセージからの入力情報を解析し、クライアントの表示領域に入力情報を表示してもよい。このように、グループの全てのメンバは、全てのメンバからのメッセージを見て、グループチャットに参加することができる。以下の開示は、ユーザが、グループチャット内でもう一人のユーザと都合よく且つ効率的にプライベートでチャットできるようにするシステムを説明する。
【００１８】
グループチャット内でプライベートチャットを提供するための例示的なコンピューティングシステム
図１は、本発明の実施形態に従って、グループチャット内でプライベートチャットを提供するための例示的なコンピューティングシステム１００を示す図を提示する。図１に示されているように、ユーザ１０２は、グループチャット内でプライベートチャットを提供するためのインストールされたモジュールを含むコンピューティング装置１０４を操作してもよい。コンピューティング装置は、携帯電話、タブレット若しくはラップトップ、デスクトップコンピュータ、又は任意の他のタイプのコンピューティング装置などのモバイル装置であってもよい。モジュールは、例えば、受信モジュール、メッセージ生成モジュール、送信モジュール、表示モジュール、及び応答モジュールを含んでもよい。
【００１９】
受信モジュールは、ユーザからの入力メッセージを受信してもよい。メッセージ生成モジュールは、第１のプライベートチャット識別子、プライベートチャット相手情報、及びプライベートチャット内容データを含む第１のメッセージを生成してもよい。送信モジュールは、第１のメッセージをサーバ１０６に送信してもよい。サーバ１０６は、プライベートチャット相手クライアントを判定するために、第１のプライベートチャット識別子及びプライベートチャット相手情報を用いてもよい。サーバ１０６は、第１のメッセージに基づいてプライベートチャットメッセージを生成し、プライベートチャット相手クライアントにだけプライベートチャットメッセージを送信してもよい。
【００２０】
表示モジュールは、サーバ１０６から受信されたメッセージを表示領域に表示してもよい。メッセージは、グループチャットメッセージ及びプライベートチャットメッセージを含んでもよい。プライベートチャットメッセージは、第２のプライベートチャット識別子を含んでもよい。クライアントは、受信メッセージが、第２のプライベートチャット識別子に基づいてプライベートチャットメッセージであると判定し、グループチャットメッセージ及びプライベートチャットメッセージを相異なる方法で表示してもよい。
【００２１】
応答モジュールは、表示領域のプライベートチャットメッセージ表示ボックスにプライベートチャットメッセージ応答領域を追加してもよい。応答モジュールは、プライベートチャットメッセージ応答領域を介してユーザによって入力されたプライベートチャットメッセージ応答を受信してもよい。応答モジュールはまた、プライベートチャットメッセージ応答をサーバ１０６に送信する前に、第１のプライベートチャット識別子及びプライベートチャット相手情報をプライベートチャットメッセージ応答に自動的に追加してもよい。
【００２２】
ユーザ１０２は、ユーザ１０８−１１２などの他のユーザとのグループチャットに参加してもよい。ユーザのそれぞれはまた、それぞれのモバイルコンピューティング装置１１４−１１８を有してもよい。各ユーザは、グループチャットに参加するために、それぞれのコンピューティング装置を用いる。
【００２３】
サーバ１０６は、ネットワーク１２０を通じてグループチャットをホストし、クライアントコンピューティング装置と通信してもよい。サーバ１０６は、チャットメッセージ及びモジュール用コードを格納するための記憶装置１２２を含んでもよい。サーバ１０６はまた、受信モジュール、プライベートチャットクライアント判定モジュール、プライベートチャットメッセージ生成モジュール、指定クライアント相手モジュール、指定メッセージ生成モジュール、及び送信モジュールなどのモジュールをインストールしてもよい。
【００２４】
受信モジュールは、コンピューティング装置１０４などのクライアントから第１のメッセージを受信してもよい。第１のメッセージは、受信モジュールが、クライアント間の通信用にグループチャットを用いるシステムに含まれる場合に、第１のプライベートチャット識別子、プライベートチャット相手情報、及びプライベートチャット内容データを含んでもよい。幾つかの実施形態において、受信モジュールはまた、多数のファンがユーザをフォローできるようにするシステムに受信モジュールが含まれる場合に、第１の指定識別子、指定相手情報、及び公開内容情報を入力情報としてクライアントから受信してもよい。幾つかのシステムが、両方のタイプの通信方法をサポートできることに留意されたい。
【００２５】
プライベートチャットクライアント判定モジュールは、第１のプライベートチャット識別子及びプライベートチャット相手情報に基づいて、プライベートチャット相手クライアントを判定してもよい。プライベートチャットメッセージ生成モジュールは、プライベートチャット内容データに基づいて、プライベートチャットメッセージを生成してもよい。
【００２６】
指定クライアント相手モジュールは、第１の指定識別子及び指定相手情報に基づいて、指定相手公開クライアントを判定してもよい。指定メッセージ生成モジュールは、クライアントから受信された入力情報に基づいて、指定メッセージを生成してもよい。
【００２７】
送信モジュールは、プライベートチャット相手クライアントにだけプライベートチャットメッセージを送信してもよい。幾つかの実施形態において、送信モジュールは、指定相手公開クライアントにだけ指定メッセージを送信してもよい。
【００２８】
幾つかの実施形態において、グループチャットはまた、ピアツーピアインフラストラクチャの下で動作することができ、ピアツーピアインフラストラクチャは、他のコンピューティング装置用にサーバとして働く、又は多数のコンピューティング装置にわたってサーバの役割を分散する１つ又は複数のコンピューティング装置を含んでもよい。
【００２９】
幾つかの実施形態において、ローカルコンピュータシステムは、遠隔サーバからの実行可能命令及び／又はデータを転送するために、遠隔サーバの遠隔メモリ位置に要求を送信する。要求は、ローカルコンピュータシステム用の構成情報を含んでもよい。サーバは、構成情報に基づいて、グループチャット内でのプライベートチャットを提供するためのコードを生成し、そのコードをクライアントマシンに送信することができる。ローカルコンピュータシステムはまた、ローカルコンピュータにおいてグループチャット内でのプライベートチャットを提供する最新の実行可能命令を遠隔サーバからダウンロード（例えば自動的に又は別の方法で）してもよい。遠隔サーバは、ローカルコンピュータシステムがダウンロードするための命令を生成及び／又はカスタマイズしてもよい。実行可能命令は、グループチャット内のプライベートチャットを可能にするために、クライアントマシンを自動的に修正することができる。
【００３０】
幾つかの実施形態において、クライアントは、クライアントとのグループチャットに参加するために別のユーザが用いている別のクライアントに、グループチャット内のプライベートチャットを可能にする実行可能コード用の要求を送信することができる。クライアントは、グループチャット内のプライベートチャットを可能にするために実行可能コードを受信し、次に実行可能コードをインストールすることができる。
【００３１】
クライアントがグループチャット内でプライベートチャットを提供するための例示的なプロセス
図２は、本発明の実施形態に従って、クライアントがグループチャット内でプライベートチャットを提供するための例示的なプロセスを示す流れ図を提示する。クライアント（例えばモバイル装置）は、最初にモバイル装置の入力領域から入力情報を受信してもよい（動作２０２）。次に、モバイル装置は、入力情報に基づいて第１のメッセージを生成してもよい（動作２０４）。第１のメッセージは、第１のプライベートチャット識別子、プライベートチャット相手情報、及びプライベートチャット内容データを含んでもよい。この情報は、サーバが、第１のプライベートチャット識別子及びプライベートチャット相手情報を用いて、プライベートチャット相手クライアントを判定し、第１のメッセージに基づいてプライベートチャットメッセージを生成し、プライベートチャット相手クライアントのモバイル装置にだけプライベートチャットメッセージを送信できるようにする。
【００３２】
モバイル装置は、第１のメッセージをサーバに送信してもよい（動作２０６）。モバイル装置は、続いて、サーバから送信されたメッセージを受信し表示してもよい（動作２０８）。
【００３３】
システムは、第１のプライベートチャット識別子、並びにクライアントとサーバとの間のメッセージ伝送及び処理用のプロトコルを予め決定してもよい。プロトコルは、第１のメッセージ及びプライベートチャットメッセージのフォーマットを含む。加えて、システムは、入力領域における入力フォーマットを決定してもよい。システムはまた、グループチャット内でプライベートチャットを開始するために、ユーザが最初に入力する文字を予め決定してもよい。例えば、第１のプライベートチャット識別子は、「＋」又は「−」識別子であってもよい。即ち、ユーザは、グループチャットにおいてプライベートチャットモードを開始するために、入力領域における第１の文字として「＋」又は「−」を入力する。そのとき、ユーザによって入力されるメッセージは、プライベートチャットメッセージである。
【００３４】
第１のプライベートチャット識別子を入力した後で、ユーザは、プライベートチャット相手のアカウント番号又は名前などのプライベートチャット相手情報を入力することができる。一人又は複数のプライベートチャット相手が存在し得る。多数のプライベートチャット相手が存在する場合に、プライベートチャット相手のアカウント番号又は名前は、所定の文字（例えばコンマ）によって分離される。続いて、ユーザは、プライベートチャット相手に送信される情報、例えばプライベートチャットメッセージを入力することができる。プライベートチャットメッセージと、プライベートチャット相手のアカウント番号又は名前とは、所定の文字（例えばスペース）によって分離することができる。例えば、ユーザが、「+John Smith, James，Mery Hello!」を入力領域に入力した場合に、クライアントは、文字列「+John Smith，James，Mery Hello!」を受信する。この文字列は、例示的な実施形態における第１のメッセージの所定のフォーマットに一致する。
【００３５】
ユーザが入力する第１の文字は、第１のプライベートチャット識別子である。ユーザは、プライベートチャット相手情報を入力する前に、第１のプライベートチャット識別子を入力し、ユーザは、多数のプライベートチャット相手の名前（同様に文字列形態における）を分離するためにコンマを用いることができる。ユーザは、プライベートチャット相手情報の後に、プライベートチャットメッセージを入力し、チャット内容の文字列は、プライベートチャット相手の名前からスペースによって分離される。クライアントは、文字列をサーバに送信する。上記の実施形態は単に一例であり、本発明の実施形態が、第１のプライベートチャット識別子の説明されたフォーマット、及び第１のメッセージの説明されたフォーマットに限定されないことに留意されたい。第１のプライベートチャット識別子は、他のフォーマットを有することができ、第１のメッセージは、相異なる実施形態において相異なるフォーマットを有することができる。
【００３６】
クライアントから第１のメッセージを受信した後で、サーバは、メッセージ伝送及び処理用の所定のプロトコルに基づいて、第１のメッセージを解析してもよい。サーバは、第１のプライベートチャット識別子及びプライベートチャット相手情報を抽出してもよい。例えば、サーバは、第１のメッセージの第１の文字及び各プライベートチャット相手の名前を解析することによって、「＋」又は「−」（例えば第１のプライベートチャット識別子）の１つを抽出してもよい。即ち、システムは、スペースの前且つ第１のメッセージの第１のプライベートチャット識別子の後の文字列を解析することによって、「John Smith」、「James」及び「Mary」を抽出することができ、コンマは、名前を分離する。システムは、スペース後の文字列を解析することによって、プライベートチャット内容「Hello」を抽出することができる。
【００３７】
サーバが、クライアントから第１のメッセージを受信すると、サーバは、クライアントに関連する情報（例えばクライアントソケット情報など）に基づいて、クライアントが属するグループアカウントを判定してもよい。次に、システムは、第１のプライベートチャット識別子及びプライベートチャット相手情報に基づいて、プライベートチャット相手クライアントを判定し、第１のメッセージに基づいてプライベートチャットメッセージを生成してもよい。サーバは、第１のメッセージのプライベートチャット内容データ、又は第１のメッセージのプライベートチャット相手情報及びプライベートチャット内容データに基づいて、プライベートチャットメッセージを生成してもよい。サーバは、プライベートチャット相手クライアントにだけプライベートチャットメッセージを送信する。第１のメッセージを受信すること、及びプライベートチャット相手クライアントにだけプライベートチャットメッセージを送信することは、以下でより詳細に説明される。
【００３８】
第１のメッセージを送信するクライアント（例えばプライベートチャットを開始するクライアント）及びプライベートチャット相手クライアントは、サーバからプライベートチャットメッセージを受信してもよく、一方でまたグループチャットにおけるメンバである他のクライアントは、メッセージを受信しない。グループにおける全てのクライアントは、グループチャットメッセージを受信することができる。クライアントは、受信したグループメッセージ及びプライベートチャットメッセージを表示領域に表示することができる。
【００３９】
サーバが、プライベートチャット相手情報及びプライベートチャット内容データに基づいて、プライベートチャットメッセージを生成する場合、プライベートチャットメッセージを受信するクライアントは、プライベートチャットメッセージ、及びプライベートチャット相手の名前又は身元などのプライベートチャット相手情報を同時に表示することができる。即ち、クライアントは、プライベートチャットメッセージを表示する一方で、プライベートチャットに参加しているメンバ、例えばプライベートチャットを開始するユーザによってプライベートチャットに参加するように招待されたメンバに関する情報を表示することができる。クライアントはまた、プライベートチャット相手情報のない、プライベートチャット内容データだけを伴うプライベートチャットメッセージを表示してもよい。
【００４０】
サーバが、プライベートチャット内容データに基づいて、プライベートチャットメッセージを生成する場合に、クライアントは、プライベートチャット内容データだけを表示してもよい。クライアントが、プライベートチャット相手情報を表示するかどうかは、グループ特権、ユーザ特権、又はクライアント開発段階において考慮されるユーザ要件によって判定することができる。例えば、グループは、秘密グループであってもよく、ユーザは、プライベートチャットを介してグループにおける幾人かのメンバにタスクを割り当てる責任を負うことができるが、しかしメンバは、タスクに参加している他のメンバを知ってはならない。このシナリオにおいて、クライアントは、プライベートチャットメッセージを受信した後で、プライベートチャット内容データだけを表示してもよく、サーバもまた、プライベートチャット内容データだけに基づいて、プライベートチャットメッセージを生成してもよい。クライアントがまた、グループチャットメッセージ及びプライベートチャットメッセージのソースを自動的に表示してもよいことに留意されたい。
【００４１】
クライアントがグループチャット内でプライベートチャットを提供するための例示的なプロセス
図３は、本発明の実施形態に従って、クライアントが、グループチャット内でプライベートチャットを提供するための別の例示的なプロセスを示す流れ図を提示する。動作中に、システム（例えばクライアントモバイル装置）は、入力領域から入力情報を受信してもよい（動作３０２）。
【００４２】
次に、クライアントは、入力情報に基づいて、第１のメッセージを生成してもよい（動作３０４）。第１のメッセージは、第１のプライベートチャット識別子、プライベートチャット相手情報、及びプライベートチャット内容データを含んでもよい。サーバは、第１のプライベートチャット識別子及びプライベートチャット相手情報に基づいて、プライベートチャット相手クライアントを判定してもよい。次に、サーバは、第１のメッセージに基づいて、プライベートチャットメッセージを生成し、プライベートチャット相手クライアントにだけプライベートチャットメッセージを送信してもよい。
【００４３】
次に、クライアントは、第１のメッセージをサーバに送信してもよい（動作３０６）。クライアントは、サーバによって送信されたメッセージを受信し、メッセージを表示領域に表示してもよい（動作３０８）。サーバによって送信されたメッセージは、グループチャットメッセージ及びプライベートチャットメッセージを含んでもよく、プライベートチャットメッセージは、第２のプライベートチャット識別子を含んでもよい。クライアントは、第２のプライベートチャット識別子に基づいて、受信メッセージがプライベートチャットメッセージを含むことを判定し、グループチャットメッセージ及びプライベートチャットメッセージを別々に表示してもよい。
【００４４】
クライアントは、表示領域のプライベートチャットメッセージ表示ボックスにプライベートチャットメッセージ応答領域を追加し、ユーザによって入力されたプライベートチャット応答をプライベートチャットメッセージ応答領域において受信してもよい（動作３１０）。プライベートチャット応答を受信した後で、クライアントは、第１のプライベートチャット識別子及びプライベートチャット相手情報を、ユーザによって入力された情報に自動的に追加してもよい。
【００４５】
動作３０２及び３０６が、動作２０２及び２０６に対応することに留意されたい。システムは、第１のプライベートチャット識別子及び第２のプライベートチャット識別子を予め決定してもよく、システムはまた、クライアントとサーバとの間のメッセージ伝送及び処理用のプロトコルを予め決定してもよい。プロトコルは、第１のメッセージのフォーマット及びプライベートチャットメッセージのフォーマットを指定してもよい。
【００４６】
動作３０８において、クライアントは、所定の規則に従って、全てのグループチャットメッセージ及びプライベートチャット内容データを解析してもよい。例えば、解析されたメッセージの最初の２文字は、受信メッセージがプライベートチャットメッセージであることを示す第２のプライベートチャット識別子を含んでもよい。例えば、システムが、所定の第２のプライベートチャット識別子として文字「ｓ」を用い、プライベートチャット内容データ用の区切り文字としてホワイトスペースを用いると仮定する。クライアントは、受信メッセージを解析してもよく、最初の２文字は、「ｓ」及びホワイトスペースである。文字「ｓ」は、第２のプライベートチャット識別子であり、クライアントは、第２のプライベートチャット識別子に基づいて、受信メッセージが、プライベートチャットメッセージであると判定してもよい。クライアントが、第２のプライベートチャット識別子の解析及び取得に失敗した場合に、クライアントは、受信メッセージがグループチャットメッセージであると判定してもよい。第２のプライベートチャット識別子が、第１のプライベートチャット識別子と同じであり得ることに留意されたい。
【００４７】
クライアントは、受信グループメッセージ及び受信プライベートチャットメッセージを表示領域に別々に表示することができる。例えば、クライアントは、「プライベートメッセージ」識別子などの特有の記号をプライベートチャットメッセージ用の表示ボックスに追加してもよく、その結果、ユーザは、グループチャットメッセージをプライベートチャットメッセージから明確に区別することができる。
【００４８】
サーバが、プライベートチャット相手情報及びプライベートチャット内容データに基づいて、プライベートチャットメッセージを生成し、クライアントが、プライベートチャットメッセージを表示している場合に、クライアントは、プライベートチャット相手情報（例えばプライベートチャット相手の名前又は身元など）を同時に表示することができる。即ち、クライアントは、プライベートチャットメッセージ及びプライベートチャットに参加しているメンバを同時に表示することができる。これらのメンバは、プライベートチャットを開始するユーザによって、プライベートチャットに参加するように招待される。クライアントはまた、プライベートチャットメッセージを表示するときに、プライベートチャット相手情報を表示せず、プライベートチャット内容データだけを表示することができる。
【００４９】
サーバが、プライベートチャット内容データに基づいて、プライベートチャットメッセージを生成する場合に、クライアントは、プライベートチャット内容データを表示する。クライアントが、プライベートチャット相手情報を表示するかどうかは、グループ特権、ユーザ特権、又はクライアント（例えばクライアントソフトウェア）開発時のユーザ要件によって判定される。例えば、グループが、秘密グループである場合に、ユーザは、プライベートチャットを介して、グループの幾人かのメンバにタスクを送るグループタスクディスパッチャであってもよい。タスクに参加しているメンバは、タスクに参加している他のメンバを知ってはならない。この場合に、プライベートチャットメッセージを受信した後で、クライアントは、プライベートチャット内容データだけを表示し、サーバは、プライベートチャット内容データだけに基づいて、プライベートチャットメッセージを生成する。
【００５０】
ユーザが、一人又は複数のメンバとプライベートチャットをしたい場合に、ユーザは、所定の規則に従って、入力領域に自分の入力を入力することができる。例えば、ユーザは「+John Smith，James，Mery Hello」を入力してもよい。ユーザは、クライアントの表示領域においてプライベートチャットメッセージを見た後で、他のメンバによって送信されたプライベートチャットメッセージに応答したいとおもう可能性がある。例えば、David Smithは、「+John Smith，James，Mery Hello」を入力領域に入力し、入力データを送信することによって、John Smith, James及びMaryに対するプライベートチャットを開始してもよい。
【００５１】
John Smithが、自分のクライアントモバイル装置上で、David Smithからのプライベートチャットメッセージを見た後で、プライベートチャットメッセージに応答したい場合に、３つの可能なシナリオがある。１．John Smithは、David Smithだけに応答する。２．John Smithは、David Smith, James及びMaryのいずれか一人に応答する。３．John Smithは、プライベートチャットに参加している全てのメンバ、例えばDavid Smith, James及びMaryに応答する。
【００５２】
シナリオ１及び２に関して、John Smithは、メッセージに応答するための入力規則に従って、入力領域に応答メッセージを入力することができる。例えば、John Smithは、「+David Smith Hello」又は「+David Smith, James Hello」を入力することができる。シナリオ３に関して、John Smithはまた、メッセージに応答するための入力規則に従って、応答メッセージを入力することができる。例えば、John Smithは、「+David Smith, James, Mery Hello」を入力してもよい。
【００５３】
シナリオ３における応答方法は、チャットに参加しているユーザによって最も一般に用いられる（例えば全員への応答）。しかしながら、ユーザが、各応答用にプライベートチャット識別子及びプライベートチャット相手情報を入力する必要がある場合に、プライベートチャットプロセスは、複雑且つ非効率的になり得る。従って、一実施形態において、動作３１０は、クライアント用のプライベートチャットメッセージ表示ボックスが、プライベートチャットメッセージ応答領域を含むことを含む。例えば、クライアントは、ユーザが、プライベートチャットメッセージに応答するために応答ボタン又は応答リンクをクリックできるように、プライベートチャットメッセージ用の表示ボックスに応答ボタン又は応答リンクを追加してもよい。
【００５４】
クライアントが、応答ボタン又は応答リンクに対するユーザの入力クリックの受信など、プライベートチャット応答領域においてプライベートチャットメッセージに対するユーザの応答を受信すると、クライアントは、第１のプライベートチャット識別子及びプライベートチャット相手情報を自動的に追加してもよい。クライアントは、第１のプライベートチャット識別子及びプライベートチャット相手情報（例えばプライベートチャット相手の名前又は身元）を入力ボックスなどの入力領域に挿入し表示してもよい。代替として、クライアントは、文字列「プライベートチャットへの応答」などのプライベートチャット応答インジケータを挿入し表示してもよい。ユーザは、第１のプライベートチャット識別子及びプライベートチャット相手情報の後又はプライベートチャット応答インジケータの後に、プライベートチャット内容を入力しさえすればよい。
【００５５】
クライアントが、第１のプライベートチャット識別子及びプライベートチャット相手情報を入力領域に挿入した場合に、クライアントによって入力領域から受信される入力情報は、自動的に追加された第１のプライベートチャット識別子及びプライベートチャット相手情報を既に含む。クライアントが、プライベートチャット応答インジケータを入力領域に挿入する場合に、クライアントは、入力情報（例えばプライベートチャット内容）を入力領域から受信した後で、第１のプライベートチャット識別子及びプライベートチャット相手情報を入力情報に自動的に追加してもよい。
【００５６】
このように、ユーザは、プライベートチャットメッセージに応答するために、単純な動作の実行を要求されるだけである。例えば、ユーザは、プライベートチャットメッセージ用に応答ボタンをクリックし、次に応答内容を入力しさえすればよい。ユーザは、特に多くのメンバがプライベートチャットに参加する場合に、第１のプライベートチャット識別子及びプライベートチャット相手情報を毎回入力することは要求されない。その結果、この方式は、ユーザのプライベートチャットの効率及びユーザ体験を著しく改善する手助けとなる。
【００５７】
プライベートチャット相手情報は、プライベートチャットに参加している全てのメンバ（例えばプライベートチャット開始者を含む）の情報を含んでもよい。クライアントは、ユーザによって送信されたメッセージを表示してもよい。クライアントは、動作３１０において、プライベートチャット相手情報を自動的に追加してもよい。即ち、クライアントは、プライベートチャットに参加している全てのメンバの情報を追加する。サーバは、クライアントによって送信されたグループチャットメッセージ又はプライベートチャットメッセージを受信した後で、グループチャットメッセージ又はプライベートチャットメッセージを当該クライアントに送信してもよい。サーバはまた、クライアントが、プライベートチャットへの応答用に送信するメッセージを当該クライアントに返送してもよく、当該クライアントは、メッセージを表示してもよい。
【００５８】
サーバがグループチャット内でプライベートチャットを提供するための例示的なプロセス
図４は、サーバが、本発明の実施形態に従って、グループチャット内でプライベートチャットを提供するための別の例示的なプロセスを示す流れ図を提示する。動作中に、サーバは、クライアントによって送信された第１のメッセージを受信してもよく、第１のメッセージは、第１のプライベートチャット識別子、プライベートチャット相手情報、及びプライベートチャット内容データを含んでもよい。サーバは、第１のプライベートチャット識別子、プライベートチャット相手情報、及びプライベートチャット内容データを取得するために、第１のメッセージを解析してもよい。
【００５９】
次に、サーバは、第１のプライベートチャット識別子及びプライベートチャット相手情報に基づいて、プライベートチャット相手クライアントを識別し、第１のメッセージに基づいて、プライベートチャットメッセージを生成してもよい（動作４０４）。
【００６０】
次に、サーバは、プライベートチャット相手クライアントにだけプライベートチャットメッセージを送信してもよい（動作４０６）。
【００６１】
サーバが、メッセージ伝送及び処理用の所定のプロトコルに従って、クライアントによって送信されたメッセージを解析し、そしてサーバが、第１のプライベートチャット識別子を取得することに失敗した場合に、システムは、クライアントによって送信されたメッセージが、グループチャットモードで送信されたメッセージであると判定してもよい。サーバが、クライアントによって送信されたメッセージを解析し、そしてサーバが、第１のプライベートチャット識別子を取得した場合に、サーバは、クライアントによって送信されたメッセージが、プライベートチャットモードで送信されたメッセージであると判定してもよい。
【００６２】
サーバが第１のメッセージを受信した後で、サーバは、第１のメッセージを送信するクライアントの情報（例えばクライアントソケットなど）に基づいて、クライアントが属するグループアカウントを判定することができる。次に、サーバは、第１のプライベートチャット識別子及びプライベートチャット相手情報に基づいて、プライベートチャット相手クライアントを判定することができる。第１のプライベートチャット識別子が、選択識別子である場合に、プライベートチャット相手情報に対応するクライアントは、プライベートチャット相手クライアントである。選択識別子の後のプライベートチャット相手情報は、プライベートチャットへの参加のためにユーザが選択した相手に関する情報であり、サーバは、プライベートチャット相手情報に対応するクライアントが、プライベートチャット相手クライアントであると判定してもよい。例えば、文字「＋」は、第１のプライベートチャット識別子且つ選択識別子とすることができる。ユーザ「David Smith」が、文字列「+John Smith，James，Mery Hello」を入力した場合に、プライベートチャット相手の名前は、「John Smith」、「James」及び「Mary」である。サーバは、プライベートチャット相手の名前を解析し、「John Smith」、「James」「Mary」及び「David Smith」の対応するクライアント装置がプライベートチャット相手クライアントであると判定してもよい。次に、サーバは、プライベートチャット相手クライアントにプライベートチャットメッセージを送信してもよい。クライアントによって送信されたメッセージはまた、サーバによって当該クライアントに返送され、当該クライアントにおいて表示されてもよい。即ち、プライベートチャットメッセージを送信するサーバはまた、プライベートチャット相手クライアントとして当該クライアントを含めてもよい。例えば、「David Smith」によって用いられるクライアントはまた、プライベートチャット相手クライアントでもある。
【００６３】
第１のプライベートチャット識別子が、除外識別子である場合に、プライベートチャット相手情報に対応するクライアントは、クライアントリストから除外され、残りのクライアントがプライベートチャット相手クライアントである。即ち、除外識別子の後のプライベートチャット相手情報は、グループから除外されるプライベートチャット相手に関する情報である。例えば文字「−」は、第１のプライベートチャット識別子且つ除外識別子とすることができる。ユーザ「David Smith」が、文字列「-John Smith，James，Mery Hello）を入力した場合に、除外されるプライベートチャット相手の名前は、「John Smith」、「James」及び「Mary」である。サーバが、プライベートチャット相手の名前を解析した後で、サーバは、「John Smith」、「James」及び「Mary」がグループから除外されるメンバであると判定してもよい。サーバは、「John Smith」、「James」及び「Mary」に応答するクライアントをクライアントリストから除外してもよい。サーバは、「David Smith」に関連するクライアントを含む他のクライアントが、プライベートチャット相手クライアントであると判定してもよく、サーバは、プライベートチャット相手クライアントにプライベートチャットメッセージを送信してもよい。
【００６４】
サーバは、第１のメッセージに基づいて、プライベートチャットメッセージを生成してもよい。サーバは、第１のメッセージのプライベートチャット内容データだけに基づいてプライベートチャットメッセージを生成することができるか、又はサーバは、プライベートチャット相手情報及びプライベートチャット内容データの両方に基づいてプライベートチャットメッセージを生成することができる。サーバが、プライベートチャット相手情報及びプライベートチャット内容データに基づいてプライベートメッセージを生成する場合に、クライアントは、プライベートチャットメッセージと、プライベートチャット相手の名前又は身元などのプライベートチャット相手情報とを同時に表示することができる。クライアントが、プライベートチャットメッセージを表示する場合に、クライアントはまた、プライベートチャットに参加しているメンバに関する情報を同時に表示することができる。プライベートチャットメッセージを表示する場合に、クライアントはまた、プライベートチャット相手情報を表示せず、プライベートチャット内容データだけを表示することができる。サーバが、プライベートチャット内容データだけに基づいてプライベートチャットメッセージを生成する場合に、クライアントは、プライベートチャット内容データだけを表示してもよい。クライアントがプライベートチャット相手情報を表示するか否かは、グループ特権、ユーザ特権、又はクライアント装置の開発時（例えばメッセージングソフトウェア開発時など）のユーザ要件によって判定することができる。
【００６５】
一実施形態において、サーバは、第２のプライベートチャット識別子を含むプライベートチャットメッセージを生成し、その結果、クライアントは、第２のプライベートチャット識別子に基づいて、受信メッセージがプライベートチャットメッセージかどうかを判定することができる。即ち、サーバは、生成されたプライベートチャットメッセージに第２のプライベートチャット識別子を挿入する。加えて、プライベートチャットメッセージフォーマット、及びプライベートチャットメッセージにおける第２のプライベートチャット識別子の位置は、予め決定される。例えば、サーバは、文字列「*secret*」を第２のプライベートチャット識別子としてプライベートチャットメッセージに追加してもよく、第２のプライベートチャット識別子は、プライベートチャットメッセージの初めに位置する。クライアントが、プライベートチャットメッセージを受信した後で、クライアントは、プライベートチャットメッセージを解析し、文字列「*secret*」を取得する。クライアントは、受信メッセージが、プライベートチャットメッセージであると判定してもよく、その結果、クライアントは、異なる方法でグループチャットメッセージ及びプライベートチャットメッセージを表示することができる。
【００６６】
幾つかの実施形態において、クライアントは、追加のチャットウィンドウを生成する必要がない。プライベートチャットは、オリジナルのグループチャットウィンドウにおいて利用可能であり、ユーザは、多数のチャットウィンドウ間で切り替える必要がない。ユーザは、グループチャット及びプライベートチャットの両方に参加するために、グループチャットウィンドウを用いさえすればよく、これは、改善された通信効率及びユーザ体験をユーザに提供する。
【００６７】
クライアントがグループチャット内でプライベートチャットを提供するための例示的なプロセス
図５は、本発明の実施形態に従って、クライアントが、グループチャット内でプライベートチャットを提供するための別の例示的なプロセスを示す流れ図を提示する。動作中に、クライアントは、入力領域から入力情報を受信してもよい（動作５０２）。クライアントは、入力情報に基づいて、第１のメッセージを生成してもよい。第１のメッセージは、プライベートチャット相手除外識別子、プライベートチャット相手除外データ、及びプライベートチャット内容データを含む。第１のメッセージにおける情報は、サーバが、プライベートチャット相手除外識別子及びプライベートチャット相手除外データに基づいて、プライベートチャット相手クライアントを判定できるようにする。サーバは、第１のメッセージに基づいて、プライベートチャットメッセージを生成し、プライベートチャット相手クライアントにだけプライベートチャットメッセージを送信してもよい。
【００６８】
クライアントは、第１のメッセージをサーバに送信してもよい（動作５０６）。次に、クライアントは、サーバによって送信されたメッセージを受信し表示してもよい（動作５０８）。
【００６９】
システムは、プライベートチャット相手除外識別子、並びにクライアントとサーバとの間のメッセージ伝送及び処理用のプロトコルを予め決定してもよい。プロトコルは、第１のメッセージのフォーマット及びプライベートチャットメッセージのフォーマットを含む。プライベートチャット相手除外識別子は、クライアントによって入力された第１のメッセージがプライベートメッセージであること、及びプライベートチャット相手除外データに対応するグループメンバが、プライベートチャットを一緒に行うのをクライアントが意図していないグループメンバであることを示す。加えて、システムは、プライベートチャットを行う場合に、プライベートチャットを開始するクライアントによって、入力領域に初めてメッセージを入力するためのフォーマットを予め決定してもよい。例えば、システムが、入力情報の第１の位置におけるプライベートチャット相手除外識別子として「−」を用いる場合に、クライアントによって入力領域に入力された第１の文字が「−」であるときはいつも、それは、グループチャットにおけるプライベートチャットモードを開始する。クライアントは、プライベートチャット相手除外識別子の後に、除外されるプライベートチャット相手のアカウント番号又は名前などのプライベートチャット相手除外データを入力する必要がある。一人又は複数のプライベートチャット相手を除外することができる。次に、ユーザは、プライベートチャット相手に送信されるように意図された情報、例えばプライベートチャット内容データを入力することができる。プライベートチャット相手除外識別子はまた、他のフォーマットであってもよく、第１のメッセージもまた、他のフォーマットとすることができる。
【００７０】
メッセージ伝送及び処理用の所定のプロトコルに基づいてクライアントによって送信された第１のメッセージを受信した後で、サーバは、第１のメッセージを解析し、プライベートチャット相手除外識別子、プライベートチャット相手除外データ、及びプライベートチャット内容データを取得する。サーバは、プライベートチャット相手除外識別子に基づいて、クライアントがプライベートチャットモード下で第１のメッセージを送信したと判定してもよい。次に、サーバは、プライベートチャット相手除外データに対応するクライアントをクライアントリストから除外してもよい。残りのクライアントは、プライベートチャット相手クライアントであり、サーバは、第１のメッセージに基づいて、プライベートチャットメッセージを生成する。サーバは、第１のメッセージのプライベートチャット内容データからプライベートチャットメッセージを生成することができる。また、サーバは、第１のメッセージのプライベートチャット相手除外データ及びプライベートチャット内容データからプライベートチャットメッセージを生成し、プライベートチャット相手クライアントにプライベートチャットメッセージを送信することができる。
【００７１】
サーバは、グループチャットメッセージ及びプライベートチャットメッセージを含むメッセージを送信してもよい。第１のメッセージを送信するクライアント、例えばプライベートチャットを開始するクライアント、及びプライベートチャット相手クライアントは、サーバによって送信されたプライベートチャットメッセージを受信し得、一方で相手除外データに対応するグループメンバのクライアントは、メッセージを受信し得ない。クライアントは、グループチャットメッセージ及びプライベートチャット受信し表示してもよい。一実施形態において、サーバは、どんな特別の処理もなしに、プライベートチャットメッセージを生成する。即ち、プライベートチャットメッセージ及びグループチャットメッセージ用の処理及びフォーマットに差はなく、プライベートチャットメッセージ及びグループチャットメッセージのクライアント表示に差はない。
【００７２】
幾つかの実施形態において、サーバは、第２のプライベートチャット識別子を含むプライベートチャットメッセージを生成する。即ち、サーバは、プライベートメッセージを生成する場合に、第２のプライベートチャット識別子を追加する。システムは、第２のプライベートチャット識別子を予め決定してもよい。クライアントは、所定の規則に従って受信された全てのグループチャットメッセージ及びプライベートチャットメッセージを解析する。例えば、クライアントは、メッセージの第１の文字を解析してもよい。クライアントが、メッセージの解析から第２のプライベートチャット識別子を取得した場合に、クライアントは、受信メッセージがプライベートメッセージであると判定してもよい。クライアントが、メッセージの解析からプライベートチャット相手除外識別子を取得できない場合に、クライアントは、受信メッセージが、グループメッセージであると判定してもよい。クライアントは、グループチャットメッセージ及びプライベートチャットメッセージの両方を相異なる方法で表示領域に表示し、ユーザが、グループチャットメッセージ及びプライベートチャットメッセージを区別できるようにする。サーバが、プライベートチャット相手情報及びプライベートチャット内容データの両方に基づいて、プライベートチャットメッセージを生成する場合、クライアントは、プライベートチャットメッセージを表示するときにプライベートチャット相手情報を表示することができる。
【００７３】
実施形態において、クライアントは、表示領域のプライベートチャットメッセージ表示ボックスにプライベートチャットメッセージ応答領域を追加し、プライベートチャットメッセージ応答領域からユーザのプライベートチャットメッセージ応答を受信してもよい。ユーザのプライベートチャットメッセージ応答を受信すると、クライアントは、プライベートチャット相手除外識別子及びプライベートチャット相手除外データを入力データ（例えばプライベートチャットメッセージ応答）に自動的に追加してもよい。
【００７４】
クライアントは、表示領域のプライベートチャットメッセージ表示ボックスにプライベートチャットメッセージ応答領域を追加し、ユーザが、応答ボタン又は応答リンクをクリックすることによって、プライベートチャットメッセージに応答できるようにしてもよい。プライベートチャットメッセージ応答領域においてユーザからプライベートチャットメッセージ応答を受信すると、クライアントは、プライベートチャット相手除外識別子及びプライベートチャット相手除外データを入力データ（例えばプライベートチャットメッセージ応答）に自動的に追加してもよい。ユーザは、簡単な応答動作を実行し、次に応答内容を入力しさえすればよく、このようにしてプライベートチャット相手識別子及びプライベートチャット相手情報を毎回入力する必要性を除く。
【００７５】
サーバがグループチャット内でプライベートチャットを提供するための例示的なプロセス
図６は、本発明の実施形態に従って、サーバが、グループチャット内でプライベートチャットを提供するための例示的なプロセスを示す流れ図を提示する。動作中に、サーバは、クライアントによって送信された第１のメッセージを受信する（動作６０２）。第１のメッセージは、プライベートチャット相手除外識別子、プライベートチャット相手除外データ、及びプライベートチャット内容データを含む。
【００７６】
次に、サーバは、プライベートチャット相手除外識別子及びプライベートチャット相手除外データに基づいて、プライベートチャット相手除外データに対応するクライアントをクライアントリストから除外する（動作６０４）。残りのクライアントは、プライベートチャット相手クライアントであり、サーバは、プライベートチャット内容データに基づいて、プライベートチャットメッセージを生成する。次に、サーバは、プライベートチャット相手クライアントにだけプライベートチャットメッセージを送信する（動作６０６）。
【００７７】
サーバが、メッセージ伝送及び処理用の所定のプロトコルに従って、クライアントによって送信されたメッセージを解析するときに、プライベートチャット相手除外識別子が存在しない場合に、サーバは、クライアントによって送信されたメッセージが、グループチャットモード下で送信されたメッセージであると判定する。サーバが、クライアントによって送信されたメッセージの解析を介して、プライベートチャット相手除外識別子を取得した場合に、サーバは、クライアントによって送信されたメッセージが、プライベートチャットモード下で送信されたメッセージであると判定する。
【００７８】
サーバがクライアントから第１のメッセージを受信した後で、サーバは、クライアントに関する情報に基づいて、クライアントがどのグループアカウントに属するかを判定する。次に、サーバは、プライベートチャット相手除外データに対応するクライアントを、グループアカウントのクライアントリストから除外する。残りのクライアントは、プライベートチャット相手クライアントであり、サーバは、プライベートチャット相手クライアントにプライベートチャットメッセージを送信する。
【００７９】
サーバは、第１のメッセージに基づいて、プライベートチャットメッセージを生成してもよい。サーバは、第１のメッセージにおけるプライベートチャット内容データだけから、又は第１のメッセージにおけるプライベートチャット相手情報及びプライベートチャット内容データの両方からメッセージを生成することができる。サーバが、プライベートチャット相手情報及びプライベートチャット内容データの両方に基づいて、プライベートメッセージを生成する場合に、クライアントは、プライベートチャットメッセージ及びプライベートチャット相手情報の両方を表示してもよい。即ち、クライアントは、プライベートチャットメッセージと同様に、プライベートチャットに参加しているグループメンバを表示する。
【００８０】
一実施形態において、プライベートチャットメッセージは、第２のプライベートチャット識別子を含む。即ち、サーバは、受信メッセージがプライベートメッセージであることをクライアントが判定できるように、プライベートチャットメッセージを生成する場合に、第２のプライベートチャット識別子を挿入する。システムは、プライベートチャットメッセージにおける第２のプライベートチャット識別子の位置を含むプライベートチャットメッセージのフォーマットを予め決定することができる。プライベートチャットメッセージを受信した後で、クライアントは、そのフォーマットに従ってプライベートメッセージを解析する。クライアントが、第２のプライベートチャット識別子を取得した場合に、クライアントは、メッセージがプライベートメッセージであると判定してもよい。第２のプライベートチャット識別子は、クライアントがグループメッセージ及びプライベートメッセージを区別するのを助け、クライアントは、グループメッセージ及びプライベートメッセージを相異なる方法で表示してもよい。
【００８１】
公開クライアント
メディア時代の到来と共に、人々は、情報を公開し、共有し、且つ他人と通信するために、例えばブログ、マイクロブログ（例えばＷｅｉｂｏ（微博））、ＷｅＣｈａｔ（微信）及び個人ウェブサイトなどの公開クライアント（例えばパーソナルコンピュータ及びモバイル装置上のクライアントを含む）を用いることに一般的に慣れている。人は、自分自身の情報を公開するための公開プラットホームを有するために、公開クライアント上に自分自身のアカウントを登録してもよい。公開サーバは、登録されたアカウント及び対応する公開クライアント情報の保守及び管理に責任を負う。同時に、ユーザは、自分自身の公開クライアントを介して別のユーザのアカウントをフォローし、別のユーザによって公開されたメッセージを読み、別のユーザのファンになってもよい。
【００８２】
プロセスは、次のとおりである。ユーザが、或るアカウントをフォローするために（又はアンフォローするために）公開クライアントを用いる場合に、公開クライアントは、対応するフォロー（又はアンフォロー）、動作情報、及びフォローされる（又はアンフォローされる）アカウントに関する情報を公開サーバに送信する。公開サーバにおける各アカウントは、ファンアカウントリスト及びフォローアカウントリストに対応している。ファンアカウントリストは、ファン公開クライアントリストに対応し、フォローアカウントリストは、フォロー公開クライアントリストに対応する。
【００８３】
フォロー（又はアンフォロー）動作情報及びフォロード（followed）（又はアンフォロード（un-followed））アカウントに関する情報を受信した後で、公開サーバは、フォロード（又はアンフォロード）アカウントのファンアカウントリストを変更する（例えば或るファンアカウントを追加又は削除する）。公開サーバはまた、ファンアカウントリストに対応するファン公開クライアントリスト、及びフォローアカウントリストに対応するフォロー公開クライアントリストを変更してもよい。次に、公開サーバは、ファン変更情報及びフォロー変更情報を、フォロードアカウントに対応する公開クライアントに公開してもよい。ファン変更情報及びフォロー変更情報を受信した後で、公開クライアントは、公開クライアントに表示されるフォロー数、ファン数、フォローアカウント情報、及び／又はファンアカウント情報を更新してもよい。ユーザが、自分自身のファンリストを公開クライアント上で見たい場合に、ユーザは、ファンリストの調査要求を公開サーバに送信してもよい。公開サーバは、ファンリスト調査要求に基づいて、ファンアカウントリスト情報の全て又は一部を公開クライアントに返してもよい（例えば多数のファンの場合に、公開サーバは、リスト情報をバッチで返してもよい）。次に、公開クライアントは、ファンアカウントリスト情報を受信し表示してもよい。
【００８４】
ユーザが、メッセージを公開する場合に、ユーザは、公開クライアントの入力ボックスにメッセージを入力する。入力情報を受信した後で、公開クライアントは、入力情報を公開サーバに送信する。公開サーバは、公開クライアントに対応する、ファンクライアントリストにおける全ての公開クライアントに入力情報を転送し、その結果、他の閲覧者を含む、ユーザの全てのファンは、ユーザによって公開されたメッセージを自分自身の公開クライアントを介して見ることができる。このシナリオにおいて、ユーザの公開メッセージは、公開情報である。
【００８５】
しかしながら、時々、ユーザは、自分のメッセージが全てのファン及び他の閲覧者に見られるではなく、或るファン又は多くのファンにだけ見られることを望む。このシナリオにおいて、メッセージは、指定情報である。ここでは、指定情報は、親友（例えば互いをフォローするアカウントが親友である）に向けられた情報に限定されてもよい。即ち、メッセージは、互いを相互にフォローするユーザ（例えばＷｅｉｂｏ及びＷｅＣｈａｔにおける友人サークル）によってのみ見られ得る。
【００８６】
公開クライアントは、公開情報などのメッセージを送信する場合に、相互フォロー限定（例えば相互フォロー）、閲覧可能／閲覧不能のオプションを提供してもよい。ユーザが、相互フォロー限定のオプションを選択した場合に、公開クライアントは、ユーザによって入力ボックスに入力されたメッセージを公開サーバに送信する。公開サーバがメッセージにおける入力情報を受信した後で、公開サーバは、相互フォローアカウントリストに対応する全ての公開クライアントに入力情報を送信する。サーバは、公開クライアントのファンアカウントリスト及びフォローアカウントリスト（例えばファンアカウントリスト及びフォローアカウントリストの共通部分）から、相互フォローアカウントリストを判定してもよい。指定情報は全ての相互フォローアカウントに送信することに限定されるので、ユーザは、アカウントが相互フォローアカウントかどうかにかかわらず、特定のアカウントに入力情報を送ることはできない。
【００８７】
公開クライアント用の指定メッセージ配信の例示的なプロセス
図７は、本出願の実施形態に従って、公開クライアント用の指定メッセージ配信の例示的なプロセスを示す流れ図を提示する。動作中に、クライアントは、入力ボックスから入力情報を受信する（動作７０２）。入力情報は、第１の指定識別子、指定相手情報、及び公開内容情報を含んでもよい。入力情報は、サーバが、第１の指定識別子及び指定相手情報に基づいて指定相手公開クライアントを判定し、入力情報に基づいて指定情報を生成し、指定相手公開クライアントにだけ指定情報を送信できるようにする。
【００８８】
次に、クライアントは、入力情報を公開サーバに送信してもよい（動作７０４）。クライアントは、公開サーバによって送信された情報を受信し表示してもよい（動作７０６）。
【００８９】
システムは、ユーザが入力ボックスに入力する内容及びフォーマットを予め決定してもよい。システムは、ユーザが入力する内容が、第１の指定識別子、指定相手情報、及び公開内容情報を含むべきであることを決定してもよい。例えば、システムは、第１の文字「＋」又は「−」を第１の指定識別子として用いてもよい。システムは、第１の指定識別子及び第２の指定識別子を予め決定し、公開クライアントと公開サーバとの間のメッセージ転送及びメッセージ処理プロトコルを予め決定してもよい。
【００９０】
ユーザは、指定されたフォーマットで入力ボックスにメッセージ内容を入力してもよい。例えば、システムは、ファンをそれぞれ選択又は除外するために、第１の文字「＋」又は「−」を第１の指定識別子として用いてもよい。例えば、ユーザは、第１の文字として「＋」又は「−」を入力ボックスに入力し、第１の指定識別子の後に指定相手情報を入力してもよい。例えば、ユーザは、指定相手のアカウント番号又はユーザ名を入力してもよく、次にユーザは、公開内容情報を入力してもよい。第１の指定識別子、指定相手情報、及び公開内容情報は、入力情報を構成する。入力情報を受信した後で、公開クライアントは、入力情報を公開サーバに送信してもよい。
【００９１】
公開クライアントによって送信された入力情報を受信すると、公開サーバは、第１の指定識別子、指定相手情報、及び公開内容情報を取得するために、入力情報を解析してもよい。次に、サーバは、第１の指定識別子に基づいて、受信入力情報が指定情報であること、例えば入力情報が指定相手によってのみアクセス可能であることを判定してもよい。サーバは、第１の指定識別子及び指定相手情報に従って、指定相手公開クライアントを判定し、入力情報に基づいて、指定情報を生成してもよい。サーバは、指定相手公開クライアントに指定情報を送信してもよい。
【００９２】
公開クライアント及び指定相手公開クライアントは、公開サーバによって送信された指定情報を受信してもよく、一方で他のクライアントは、かかる情報を受信し得ない。公開サーバは、公開情報及び指定情報を含む情報を送信してもよい。指定情報は、第２の指定識別子を含んでもよい。クライアントは、第２の指定識別子に基づいて、受信情報が指定情報であると判定し、公開情報及び指定情報を別々に表示してもよい。これは、どちらが公開情報で、どちらが指定情報であるかをユーザが都合よく判定できるようにする。
【００９３】
公開クライアントは、指定情報を受信し、所定の規則に従って指定情報を解析してもよい。例えば、クライアントは、指定情報の第１の文字を解析してもよい。指定情報が第２の指定識別子を含むことをクライアントが判定した場合に、クライアントは、受信情報が指定情報であると判定してもよい。指定情報が、第２の指定識別子を含まないことをクライアントが判定した場合に、クライアントは、受信情報が公開情報であると判定してもよい。次に、公開クライアントは、公開情報及び指定情報を別々に表示してもよい。例えば、公開クライアントは、「指定」などの目立つ記号を指定情報表示ボックスに追加してもよい。公開サーバは、メッセージに対応する入力情報がどの公開クライアントから来るかを示すメッセージ源情報をクライアントに送信してもよい。公開クライアントは、指定情報源及び公開情報源に関する情報を自動的に表示してもよい。
【００９４】
サーバ用の指定メッセージ配信の例示的なプロセス
図８は、本発明の実施形態に従って、サーバ用の指定メッセージ配信の例示的なプロセスを示す流れ図を提示する。動作中に、システムは、公開クライアントから送信された入力情報を受信してもよい（動作８０２）。入力情報は、第１の指定識別子、指定相手情報、及び公開内容情報を含んでもよい。次に、システムは、第１の指定識別子及び指定相手情報に基づいて、指定相手公開クライアントを判定してもよい（動作８０４）。次に、システムは、入力情報に基づいて、指定情報を生成してもよい（動作８０６）。システムは、指定相手公開クライアントにだけ指定メッセージを送信してもよい（動作８０８）。システムがまた、指定メッセージを生成して、指定相手情報に基づいて複数の公開クライアントに送信できることに留意されたい。
【００９５】
公開サーバが、公開クライアントによって送信された入力情報を解析するときに、第１の指定識別子を取得できない場合に、サーバは、公開クライアントによって送信された入力情報が、全てにとってアクセス可能であると判定してもよい。公開サーバが、公開クライアントによって送信された入力情報を解析するときに、第１の指定識別子を取得した場合に、サーバは、公開クライアントによって送信された入力情報が、指定入力情報であると判定してもよい。指定入力情報に関し、公開サーバは、第１の指定識別子、指定相手情報、及び公開内容情報を取得するために、入力情報を解析してもよい。
【００９６】
公開クライアントによって送信された入力情報を受信すると、公開サーバは、第１の指定識別子に基づいて、入力情報が指定されていると判定してもよい。公開サーバは、第１の指定識別子及び指定相手情報に基づいて、指定相手公開クライアントを判定してもよい。サーバが公開クライアントによって送信された入力情報を受信するとき、サーバはまた、公開クライアントに関連する情報（例えばソケット）を受信してもよい。第１の指定識別子が選択識別子である場合に、公開サーバは、公開クライアントのファン公開クライアントリストで検索してもよい。指定相手情報に対応する公開クライアントは、指定相手公開クライアントである。第１の指定識別子が除外識別子である場合に、システム（例えば公開サーバ）は、指定相手情報に対応する公開クライアントを公開クライアントのファン公開クライアントリストから除外する。残りの公開クライアントは、指定相手公開クライアントである。第１の指定識別子として除外識別子を用いることは、ファンがわずかなユーザには適切である。ユーザが多数のファンを有する場合に、ユーザは、非指定相手を除外するために、多量の指定相手情報を入力する必要があり得る。
【００９７】
サーバは、入力情報に基づいて、指定情報を生成してもよい。公開サーバは、公開情報及び指定情報を含む情報を公開クライアントに送信してもよい。幾つかの実装形態において、公開クライアントは、公開情報及び指定情報用に同じフォーマット及び処理技術を用いる。従って、公開クライアントは、公開情報及び指定情報を同じ方法で管理し表示してもよい。情報を公開するユーザは、メッセージ内にインジケータを含めることができるが、公開クライアントに関連するユーザ体験は、このアプローチについては十分でない。何故なら、ユーザは、どちらが公開情報で、どちらが指定情報かに関して、明確にわかり得ないからである。従って、幾つかの実施形態において、公開サーバは、第２の指定識別子を有する指定情報を生成してもよい。公開クライアントは、第２の指定情報に基づいて、受信情報が指定情報であると判定し、公開情報から指定情報を分離してもよく、その結果、公開クライアントは、公開情報及び指定情報を相異なる方法で表示し得る。システムは、指定情報のフォーマット、及び指定情報における第２の指定識別子の位置を予め決定してもよい。第２の指定識別子はまた、第１の指定識別子と同じになり得ることに留意されたい。
【００９８】
本発明の実施形態は、指定情報公開用の方法を含む。ユーザは、指定相手を選択する柔軟性を有する。ユーザは、指定情報を公開するために、第１の指定識別子及び指定相手情報を入力ボックスに入力しさえすればよい。互いにフォローする友人だけが指定情報を公開できるようにするモードと比較して、このモードは、より一層便利である。
【００９９】
例示的なクライアント
図９は、本出願の実施形態に従って、グループチャット内でプライベートチャットを提供するためのコンピューティングシステムにおける例示的なクライアントを示すブロック図を提示する。クライアント９００は、プロセッサ９１０、メモリ９２０、及び記憶装置９３０を含む。記憶装置９３０は、典型的には、上記の方法を実行するために、メモリ９２０にロードでき、プロセッサ９１０によって実行できる命令を格納する。一実施形態において、記憶装置９３０における命令は、受信モジュール９４２、メッセージ生成モジュール９４４、送信モジュール９４６、表示モジュール９４８、及び応答モジュール９５０を実現することができ、それらのモジュールは、様々な手段を介して互いに通信することができる。
【０１００】
幾つかの実施形態において、モジュール９４２−９５０は、部分的に又は完全にハードウェアで実現することができ、プロセッサ９１０の一部とすることができる。更に、幾つかの実施形態において、クライアントは、別個のプロセッサ及びメモリを含まなくてもよい。代わりに、モジュール９４２−９５０は、それらの特定のタスクの実行に加えて、別々に又は協力して、専用計算エンジンの一部であってもよい。
【０１０１】
記憶装置９３０は、プロセッサ９１０によって実行されるプログラムを格納する。具体的には、記憶装置９３０は、グループチャット内のプライベートチャット用のクライアントを実現するプログラム（例えばアプリケーション）を格納する。動作中に、アプリケーションプログラムは、記憶装置９３０からメモリ９２０にロードすることができ、プロセッサ９１０によって実行することができる。その結果、クライアント９００は、上記の機能を実行することができる。クライアント９００は、ディスプレイ９７０を更に含み、１つ又は複数のネットワークインターフェースを介してネットワーク９８２に結合することができる。
【０１０２】
受信モジュール９４２は、ユーザから入力メッセージを受信してもよい。
【０１０３】
メッセージ生成モジュール９４４は、第１のプライベートチャット識別子、プライベートチャット相手情報、及びプライベートチャット内容データを含む第１のメッセージを生成してもよい。第１のメッセージは、サーバが、プライベートチャット相手クライアントを判定するために、第１のプライベートチャット識別子及びプライベートチャット相手情報を利用できるようにする。サーバは、第１のメッセージに基づいて、プライベートチャットメッセージを生成し、プライベートチャット相手クライアントにだけプライベートチャットメッセージを送信してもよい。
【０１０４】
送信モジュール９４６は、第１のメッセージをサーバに送信してもよい。
【０１０５】
表示モジュール９４８は、サーバから受信されたメッセージを表示領域に表示してもよい。メッセージは、グループチャットメッセージ及びプライベートチャットメッセージを含んでもよい。プライベートチャットメッセージは、第２のプライベートチャット識別子を含んでもよい。クライアントは、第２のプライベートチャット識別子に基づいて、受信メッセージがプライベートチャットメッセージであると判定し、グループチャットメッセージ及びプライベートチャットメッセージを相異なる方法で表示してもよい。
【０１０６】
応答モジュール９５０は、表示領域のプライベートチャットメッセージ表示ボックスにプライベートチャットメッセージ応答領域を追加してもよい。応答モジュール９５０は、プライベートチャットメッセージ応答領域を介してユーザによって入力されたプライベートチャットメッセージ応答を受信してもよい。応答モジュール９５０はまた、第１のプライベートチャット識別子及びプライベートチャット相手情報を、プライベートチャットメッセージ応答に自動的に追加してもよい。
【０１０７】
例示的なサーバ
図１０は、本出願の実施形態に従って、グループチャット内でプライベートチャットを提供するためのコンピューティングシステムにおける例示的なサーバを示すブロック図を提示する。サーバ１０００は、プロセッサ１０１０、メモリ１０２０及び記憶装置１０３０を含む。記憶装置１０３０は、典型的には、上記の方法を実行するために、メモリ１０２０にロードでき、プロセッサ１０１０によって実行できる命令を格納する。一実施形態において、記憶装置１０３０における命令は、受信モジュール１０４２、プライベートチャットクライアント判定モジュール１０４４、プライベートチャットメッセージ生成モジュール１０４６、指定クライアント相手モジュール１０４８、指定メッセージ生成モジュール１０５０、及び送信モジュール１０５２を実現することができ、それらのモジュールは、様々な手段を介して互いに通信することができる。
【０１０８】
幾つかの実施形態において、モジュール１０４２−１０５２は、部分的に又は完全にハードウェアにおいて実現でき、プロセッサ１０１０の一部とすることができる。更に、幾つかの実施形態において、サーバは、別個のプロセッサ及びメモリを含まなくてもよい。代わりに、モジュール１０４２−１０５２は、それらの特定のタスクの実行に加えて、別々に又は協力して、専用計算エンジンの一部であってもよい。
【０１０９】
記憶装置１０３０は、プロセッサ１０１０によって実行されるプログラムを格納する。具体的には、記憶装置１０３０は、グループチャット内のプライベートチャット用のサーバを実現するプログラム（例えばアプリケーション）を格納する。動作中に、アプリケーションプログラムは、記憶装置１０３０からメモリ１０２０にロードでき、プロセッサ１０１０によって実行することができる。その結果、サーバ１０００は、上記の機能を実行することができる。サーバ１０００は、ディスプレイ１０８０を更に含むことができ、１つ又は複数のネットワークインターフェースを介してネットワーク１０８２に結合することができる。
【０１１０】
受信モジュール１０４２は、クライアントから第１のメッセージを受信してもよい。第１のメッセージは、第１のプライベートチャット識別子、プライベートチャット相手情報、及びプライベートチャット内容データを含んでもよい。幾つかの実施形態において、受信モジュール１０４２はまた、第１の指定識別子、指定相手情報、及び公開内容情報をクライアントから入力情報として受信してもよい。
【０１１１】
プライベートチャットクライアント判定モジュール１０４４は、第１のプライベートチャット識別子及びプライベートチャット相手情報に基づいて、プライベートチャット相手クライアントを判定してもよい。プライベートチャットメッセージ生成モジュール１０４６は、プライベートチャット内容データに基づいて、プライベートチャットメッセージを生成してもよい。指定クライアント相手モジュール１０４８は、第１の指定識別子及び指定相手情報に基づいて、指定相手公開クライアントを判定してもよい。指定メッセージ生成モジュール１０５０は、クライアントから受信された入力情報に基づいて、指定メッセージを生成してもよい。送信モジュール１０５２は、プライベートチャット相手クライアントにだけプライベートチャットメッセージを送信してもよく、プライベートでないメッセージをグループの全てのメンバに送信してもよい。幾つかの実施形態において、送信モジュール１０５２は、指定相手公開クライアントにだけ指定メッセージを送信し、公開クライアントをフォローする全てのファンに、指定でないメッセージを送信してもよい。
【０１１２】
本発明の実施形態は、様々な汎用又は専用コンピュータシステム環境又は構成上で実現され得る。例えば、かかるコンピュータシステムは、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルド又は携帯装置、タブレット型装置、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な電子消費装置、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記のシステム又は装置のいずれかを含む分散コンピューティング環境等を含んでもよい。
【０１１３】
本発明の実施形態は、プログラムモジュールなど、コンピュータによって実行されるコンピュータ実行可能命令の一般的な文脈内で説明され得る。一般に、プログラムモジュールは、特定のタスクの実行するための又は特定の抽象データ型を実現するためのルーチン、プログラム、オブジェクト、アセンブリ、データ構造等を含む。本発明の実施形態はまた、分散コンピューティング環境において実施されてもよく、そこでは、タスクは、通信ネットワークを介して接続された遠隔処理装置によって実行される。分散コンピューティング環境において、プログラムモジュールは、記憶装置を含み得るローカル及び遠隔コンピュータ記憶媒体に位置してもよい。
【０１１４】
この詳細な説明で説明されたデータ構造及びコンピュータ命令は、典型的には、コンピュータ可読記憶媒体上に格納され、コンピュータ可読記憶媒体は、コンピュータ装置による使用のためのコード及び／又はデータを格納できる任意の装置又は媒体であってもよい。コンピュータ可読記憶媒体は、限定するわけではないが、揮発性メモリ、不揮発性メモリ、ディスクドライブなどの磁気及び光記憶装置、磁気テープ、ＣＤ（コンパクトディスク）、ＤＶＤ（デジタル多用途ディスク若しくはデジタルビデオディスク）、又は現在周知か若しくは将来開発されるコンピュータ可読媒体を格納できる他の媒体を含む。
【０１１５】
詳細な説明部分で説明された方法及びプロセスは、コード及び／又はデータとして具体化することができ、コード及び／又はデータは、上記のようにコンピュータ可読記憶媒体に格納することができる。コンピュータシステムが、コンピュータ可読記憶媒体上に格納されたコード及び／又はデータを読み出し実行する場合に、コンピュータシステムは、データ構造及びコードとして具体化された、且つコンピュータ可読記憶媒体内に格納された方法及びプロセスを実行する。
【０１１６】
更に、本明細書で説明された方法及びプロセスは、ハードウェアモジュール又は機器に含むことができる。これらのモジュール又は機器は、限定するわけではないが、特定用途向け集積回路（ＡＳＩＣ）チップ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定の時刻に特定のソフトウェアモジュール又はコード片を実行する専用若しくは共有プロセッサ、及び／又は現在周知か若しくは将来開発される他のプログラム可能論理装置を含んでもよい。ハードウェアモジュール又は機器が起動されると、それらは、それらの内部に含まれる方法及びプロセスを実行する。
【０１１７】
上記の説明は、当業者が実施形態を作成し用いることを可能にするために示され、且つ特定の用途及びその要件の文脈において提供される。開示された実施形態に対する様々な修正が、当業者には容易に明白になるであろうし、本明細書で定義された一般原則は、本開示の趣旨及び範囲から逸脱せずに、他の実施形態及び用途に適用され得る。従って、本発明は、示された実施形態に限定されず、本明細書で開示された原理及び特徴と一致する最も広い範囲を与えられるべきである。
【図１】
0006507255.tif 000002
【図２】
0006507255.tif 000003
【図３】
0006507255.tif 000004
【図４】
0006507255.tif 000005
【図５】
0006507255.tif 000006
【図６】
0006507255.tif 000007
【図７】
0006507255.tif 000008
【図８】
0006507255.tif 000009
【図９】
0006507255.tif 000010
【図１０】
0006507255.tif 000011