(58)【調査した分野】(Int.Cl.,DB名)
チャットインタフェースにおいて送信元クライアントにより送信された音声チャット要求を受信することであって、前記音声チャット要求は、前記チャットインタフェースにおける送信先クライアントに関する情報を含む、受信することと、
前記音声チャット要求の前記送信先クライアントがオンラインであるかどうかを判定することと、
前記送信先クライアントがオンラインでないとき、前記送信元クライアントが音声メッセージを前記送信先クライアントに送信するように、音声メッセージモードに入ることと、
前記送信先クライアントがオンラインであるとき、前記送信元クライアント及び前記送信先クライアントがリアルタイム音声チャットを行うように、リアルタイムチャットモードに入ることと、
前記送信元クライアントと前記送信先クライアントとの間の音声チャット中の前記送信元クライアント及び前記送信先クライアントの各々のオンライン/オフライン状態をリアルタイムにチェックすることと、
前記音声チャット中の前記送信元クライアント及び前記送信先クライアントの各々の前記オンライン/オフライン状態に応じて、前記音声メッセージモードと前記リアルタイムチャットモードとの間の自動切り替えを行うことと、
を含む音声チャットモード自己適応方法。
クライアントの各々により報告されたオンライン/オフライン状態を受信し、音声チャット要求が受信されたときにクライアントがオンラインであるかどうかを判定するために前記オンライン/オフライン状態を記憶すること
をさらに含む、請求項1に記載の音声チャットモード自己適応方法。
プロセッサ及びメモリを有する音声チャットモード自己適応装置であって、前記メモリは、前記プロセッサにより実行可能な命令モジュールを記憶しており、前記命令モジュールは、
チャットインタフェースにおいて送信元クライアントにより送信された音声チャット要求を受信するよう構成されている要求受信モジュールであって、前記音声チャット要求は、前記チャットインタフェースにおける対応する送信先クライアントに関する情報を含む、要求受信モジュールと、
前記音声チャット要求の前記送信先クライアントがオンラインであるかどうかを判定するよう構成されている状態チェックモジュールと、
前記送信先クライアントがオンラインでないとき、前記送信元クライアントが音声メッセージを前記送信先クライアントに送信するように、音声メッセージモードに入り、前記送信先クライアントがオンラインであるとき、前記送信元クライアント及び前記送信先クライアントがリアルタイム音声チャットを行うように、リアルタイムチャットモードに入るよう構成されているモード制御モジュールと、
を含み、
前記状態チェックモジュールは、前記送信元クライアントと前記送信先クライアントとの間の音声チャット中の前記送信元クライアント及び前記送信先クライアントの各々のオンライン/オフライン状態をリアルタイムにチェックするようさらに構成されており、
前記モード制御モジュールは、前記音声チャット中の前記送信元クライアント及び前記送信先クライアントの各々の前記オンライン/オフライン状態に応じて、前記音声メッセージモードと前記リアルタイムチャットモードとの間の自動切り替えを行うようさらに構成されている、音声チャットモード自己適応装置。
チャットインタフェースにおいて音声チャット要求を送信することであって、前記音声チャット要求は、前記チャットインタフェースにおける送信先クライアントに関する情報を含む、送信することと、
前記送信先クライアントがオンラインでないとき、音声メッセージモードに入る通知をサーバから受信し、前記音声メッセージモードに入り、音声メッセージを前記送信先クライアントに送信し、前記送信先クライアントがオンラインであるとき、リアルタイムチャットモードに入る通知を前記サーバから受信し、前記リアルタイムチャットモードに入り、前記送信先クライアントとリアルタイム音声チャットを行うことと、
を含む音声チャットモード自己適応方法であって、
前記音声メッセージモードに入った後又は前記リアルタイムチャットモードに入った後、前記音声チャットモード自己適応方法は、
オンライン/オフライン状態を前記サーバに報告し、前記サーバにより提供された設定に応じて、前記音声メッセージモードと前記リアルタイムチャットモードとの間の自動切り替えを行うこと
をさらに含み、
前記オンライン/オフライン状態を前記サーバに報告することは、
前記チャットインタフェースに入った後にハートビートパケットを自動的に送信することであって、前記ハートビートパケットは、オンラインハートビートパケット及びオフラインハートビートパケットを含み、予め設定された数の報告される連続したハートビートパケットがオンラインハートビートパケットであるとき、これはオンライン状態を示し、報告される前記ハートビートパケットがオフラインハートビートパケットであるとき、これはオフライン状態を示す、自動的に送信すること
を含む、音声チャットモード自己適応方法。
プロセッサ及びメモリを有する音声チャットモード自己適応装置であって、前記メモリは、前記プロセッサにより実行可能な命令モジュールを記憶しており、前記命令モジュールは、
チャットインタフェースにおいて音声チャット要求を送信するよう構成されている要求送信モジュールあって、前記音声チャット要求は、前記チャットインタフェースにおける送信先クライアントに関する情報を含む、要求送信モジュールと、
前記送信先クライアントがオンラインでないとき、音声メッセージモードに入る通知をサーバから受信し、前記音声メッセージモードに入り、音声メッセージを前記送信先クライアントに送信し、前記送信先クライアントがオンラインであるとき、リアルタイムチャットモードに入る通知を前記サーバから受信し、前記リアルタイムチャットモードに入り、前記送信先クライアントとリアルタイム音声チャットを行うよう構成されているモード制御モジュールと、
を含み、
前記命令モジュールは、
前記音声チャットモード自己適応装置が配置されているクライアントのオンライン/オフライン状態を前記サーバに報告するよう構成されている状態更新モジュール
をさらに含み、
前記音声チャットモード自己適応装置が配置されている前記クライアントの前記オンライン/オフライン状態を前記サーバに報告することは、
前記チャットインタフェースに入った後にハートビートパケットを自動的に送信することであって、前記ハートビートパケットは、オンラインハートビートパケット及びオフラインハートビートパケットを含み、予め設定された数の報告される連続したハートビートパケットがオンラインハートビートパケットであるとき、これは前記クライアントがオンライン状態にあることを示し、報告される前記ハートビートパケットがオフラインハートビートパケットであるとき、これは前記クライアントがオフライン状態にあることを示す、自動的に送信すること
を含む、音声チャットモード自己適応装置。
【発明を実施するための形態】
【0011】
以下は、本明細書及び特定の実施形態の添付図面を参照して、本出願をさらに説明するものである。本明細書で説明される特定の実施形態は、単に、本出願を説明するために用いられるだけであり、本出願を限定するようには意図されていないことが理解されるべきである。
【0012】
インスタントメッセージング(IM)ツールが使用される既存のチャットプロセスにおいて、送信者が音声メッセージを送信するとき、受信者がオンラインであるかどうかにかかわらず、送信者は、音声メッセージを記録し、次いで、音声メッセージを送信する必要がある。受信者は、音声メッセージを受信することを完了し、次いで、音声メッセージを再生する。実際、直接的なリアルタイムチャットは、受信者がオンラインであるときに、最終的に行われ得る。したがって、既存の音声チャット方式は、十分にフレキシブルではなく、ユーザは、効率的にコミュニケーションすることができない。
【0013】
本出願の実施形態は、音声チャットモード自己適応解決策を提供する。クライアントが音声チャットを行うとき、サーバは、音声チャットを行う2つのパーティがオンラインであるかどうかに応じて、クライアントが対応する音声チャットモードに入ることを可能にすることができ、その結果、この音声チャットはよりフレキシブルであり、友人間のコミュニケーションはより簡便でより速い。
【0014】
上記の音声チャットモード自己適応解決策は、QQ、WeChat(登録商標)、MOMO、及びLaiwangといったインスタントメッセージングツール等のインスタントメッセージングクライアント間で行われる音声メッセージングに適用可能である。クライアントは、ウェブページの形態であってもよいし、アプリケーションプログラムの形態であってもよい。
【0015】
図1は、本出願の一実施形態に従った音声チャットモード自己適応方法における端末とサーバとの間のインタラクション構造の概略図である。
図1に示されるように、端末200aにおけるインスタントメッセージング(IM)クライアントA及び端末200bにおけるインスタントメッセージングクライアントBは、友人である。インスタントメッセージングクライアントAは、サーバ100を使用することにより、メッセージングクライアントBに対する音声チャット要求を開始する。
【0016】
音声チャット要求を受信した後、サーバ100は、インスタントメッセージングクライアントBがオンラインであるかどうかをチェックする。インスタントメッセージングクライアントBがオンラインであるとき、サーバ100は、リアルタイムチャットモードに入るようにインスタントメッセージングクライアントA及びインスタントメッセージングクライアントBを制御する。インスタントメッセージングクライアントBがオンラインでないとき、サーバ100は、音声チャットモードに入るようにインスタントメッセージングクライアントAを制御し、したがって、インスタントメッセージングクライアントAは、音声を記録して、音声メッセージを生成する。インスタントメッセージングクライアントAによりアップロードされた音声メッセージを受信した後、サーバ100は、まず、音声メッセージをサーバ100に一時的に記憶する。インスタントメッセージングクライアントBが、チャットインタフェースに入った(例えば、ログインした)後、サーバ100は、音声メッセージをインスタントメッセージングクライアントBに自動的に送信する。
【0017】
したがって、インスタントメッセージングクライアントが、音声メッセージングを確立する必要があるときに、サーバ100は、音声チャットを行う2つのパーティがオンラインであるかどうかに応じて、対応する音声チャットモードに入り、その結果、このチャット方式はよりフレキシブルであり、友人間のコミュニケーションはより簡便でより速い。サーバ100は、単一の機能を有するサーバであってもよいし、複数のサーバを含むサーバクラスタであってもよい。
【0018】
図2は、本出願の一実施形態に従ったサーバのハードウェアアーキテクチャの概略図であり、ある音声チャットモード自己適応方法は、このようなサーバに適用される。
図2に示されるように、サーバ100は、プロセッサ101、メモリ102、ディスプレイスクリーン103、ユーザインタラクションインタフェース104、メッセージングモジュール105、及び通信バス106を含み得る。
【0019】
通信バス106は、サーバ100におけるコンポーネント間のデータ通信のために構成されている。ユーザインタラクションインタフェース104は、ユーザにより入力された情報を受け取り、処理のために情報をプロセッサ101に送信するよう構成されている。ディスプレイスクリーン103は、プロセッサにより送信された情報を受信し、ディスプレイスクリーンの画像表示又はスピーカの音声表示等、対応するフォーマットで情報をユーザに提示するよう構成されている。例えばタッチスクリーンといったディスプレイスクリーン103は、ユーザにより入力された情報を受け取るようさらに構成されてもよいことが理解できよう。メッセージングモジュール105は、サーバ100と外部デバイスとの間のメッセージングのために構成されている。外部デバイスは、端末、サーバ等を含み得る。メッセージングモジュール105は、有線メッセージングユニット108又は無線メッセージングユニット107等の1つ以上のコンポーネントを含み得る。
【0020】
メモリ102は、サーバ100により実行されるオペレーティングシステム109、モード自己適応装置1000、ユーザインタラクションデータ等を記憶するよう構成されている。メモリ102は、メモリカード又は外部メモリカード等、内部メモリ及び外部メモリを含み得る。サーバ100の処理中心として、プロセッサ101は、データを処理すること、動作するように別のコンポーネントを起動すること等を行うよう構成されている。例えば、プロセッサ101は、ユーザの要求に応じて、ユーザにより要求された機能を実施するための、メモリ102内の対応するプログラムを実施のために起動する。
【0021】
メモリ102は、少なくとも1つのタイプの不揮発性記憶媒体を含み得る。記憶媒体は、フラッシュメモリ、ハードディスク、マルチメディアカード、カード型メモリ(SD又はDXメモリ等)、ランダムアクセスメモリ(RAM)、スタティックランダムアクセスメモリ(SRAM)、読み取り専用メモリ(ROM)、電気的に消去可能なプログラム可能な読み取り専用メモリ(EEPROM)、プログラム可能な読み取り専用メモリ(PROM)、磁気メモリ、磁気ディスク、光ディスク等を含む。
【0022】
プロセッサ101は、処理ユニット、ASIC、論理ユニット、プログラマブルゲートアレイ等を含み得る。例えば、プロセッサ101は、中央処理装置(CPU)である。
【0023】
図3は、本出願の一実施形態に従った音声チャットモード自己適応方法の概略フローチャートである。
図3に示されるように、上記のサーバ100におけるモード自己適応装置1000に基づいて、本出願は、音声チャットモード自己適応方法を提供する。音声チャットモード自己適応方法は以下を含む。
【0024】
ステップS110:チャットインタフェースにおいて送信元クライアントにより送信された音声チャット要求を受信し、ここで、音声チャット要求は、チャットインタフェースにおける対応する送信先クライアントに関する情報を含む。
【0025】
送信元クライアント及び送信先クライアントは、異なる端末に配置される。各端末は、スマートフォン、インテリジェントな電話機、ノートブックコンピュータ、デスクトップコンピュータ、PDA(携帯情報端末)、PAD(タブレットコンピュータ)、ハンドヘルドコンピュータ、PMP(ポータブルメディアプレーヤ)、ウェアラブルデバイス(スマートバンド又はスマートウォッチ等)等であってよい。
【0026】
図4は、本出願の一実施形態に従った音声チャットモード自己適応方法の音声チャットインタフェースの例示的な図である。ユーザは、端末のインスタントメッセージングクライアントを有効化し、音声チャットインタフェースに入る。
図4に示されるように、音声チャットインタフェース400は、「ポーク」ボタン401、「チャット」ボタン402、及び「メッセージ」ボタン403等の複数の対応するボタン型コントロールを含み、ユーザのアバター(Atuzheng)404が表示される。ユーザが、「チャット」ボタン402をクリックした後、ユーザが1人以上の友人を選択するために、友人リストインタフェース405がポップアップする。ユーザが、例えばAlice406といった友人を選択した後、インスタントメッセージングクライアントAは、ユーザのこのトリガに応じて、サーバ100を使用することにより、Aliceに対する音声チャット要求を送信する。
【0027】
友人リストインタフェースが最初に表示されてもよく、音声チャットインタフェースが後に表示されてもよいことが理解できよう。
【0028】
図5は、本出願の一実施形態に従った音声チャットモード自己適応方法の音声チャットインタフェースの例示的な図である。
図5に示されるように、友人リストインタフェース500において、ユーザが友人Alice501と音声チャットを行うことを望む場合、ユーザは、この友人をクリックすることができる。この場合、コントロールレイヤ502がポップアップする。コントロールレイヤ502は、「ポーク」ボタン503、「チャット」ボタン504、及び「メッセージ」ボタン505等の複数のボタン型コントロールを含む。コントロールレイヤ502上の「チャット」ボタン504がトリガされたとき、インスタントメッセージングクライアントAは、ユーザのこのトリガに応じて、サーバ100を使用することにより、Aliceに対する音声チャット要求を送信する。
【0029】
ステップS120:音声チャット要求の送信先クライアントのオンライン/オフライン状態を検出する。
【0030】
インスタントメッセージングクライアントAにより送信された音声チャット要求を受信した後、サーバ100は、音声チャット要求の送信先クライアントのオンライン/オフライン状態、すなわち、友人Aliceのクライアントのオンライン/オフライン状態をチェックする。サーバ100は、各クライアントのオンライン/オフライン状態をリアルタイムに収集して記憶し、したがって、サーバ100が音声チャット要求を受信した後、サーバ100は、オンライン/オフライン状態をチェックすることができることが理解できよう。
【0031】
ステップS130:送信先クライアントがオンラインであるかどうかを判定する。送信先クライアントがオンラインである場合、この方法はS140に進み、送信先クライアントがオンラインでない場合、この方法はS150に進む。
【0032】
ステップS140:送信元クライアント及び送信先クライアントがリアルタイム音声通信を行うように、リアルタイムチャットモードに入る。
【0033】
すなわち、送信先クライアントがオンラインであるとき、2つのパーティがリアルタイム音声チャットを行うことができるように、リアルタイムチャットインタフェースに直ちに入る。
【0034】
図6は、本出願の一実施形態に従った音声チャットモード自己適応方法において音声チャット要求がトリガされた後に送信先クライアントがオンラインであるときの動作の例示的な図である。
図6に示されるように、リアルタイムチャットモードにおいて、「私」及び「Alice」は、リアルタイム音声チャットを行うことができる。インスタントメッセージングクライアントAは、リアルタイムチャットインタフェース506を表示し、「私」により送られる音声信号を(例えば、インスタントメッセージングクライアントAが配置されている端末におけるマイクロフォンを使用することにより)収集し、サーバ100を使用することにより、音声信号をインスタントメッセージングクライアントBにリアルタイムに送信する。音声信号を受信した後、インスタントメッセージングクライアントBは、インスタントメッセージングクライアントBが配置されている端末における音声出力装置(スピーカ等)を使用することにより、音声信号を出力する。インスタントメッセージングクライアントBは、「Alice」により送られる音声信号を、例えば、インスタントメッセージングクライアントBが配置されている端末におけるマイクロフォンを使用することにより収集し、サーバ100を使用することにより、音声信号をインスタントメッセージングクライアントAにリアルタイムに送信する。音声信号を受信した後、インスタントメッセージングクライアントAは、インスタントメッセージングクライアントAが配置されている端末における音声出力装置(スピーカ等)を使用することにより、音声信号を出力する。
【0035】
ステップS150:送信元クライアント及び送信先クライアントが互いに対して音声メッセージを送信するように、音声メッセージモードに入る。
【0036】
図7は、本出願の一実施形態に従った音声チャットモード自己適応方法において音声チャット要求がトリガされた後に送信先クライアントがオンラインでないときの動作の例示的な図である。送信先クライアント(すなわち、友人Aliceのクライアント)がオンラインでないとき、音声メッセージモードに入る。サーバ100は、音声メッセージモードに入るようにインスタントメッセージングクライアントAに通知する。音声記録フローティングレイヤ507が、現在の環境において音声メッセージを自動的に記録し、記録された音声メッセージをサーバ100に送信するために、音声チャットインタフェース上にポップアップし、その結果、音声メッセージが、サーバ100により送信先クライアントに送信される。マイクロフォン等の音声信号収集装置が、メッセージクライアントAが配置されている端末においてセットされる。音声記録が実施される必要があるときに、音声信号収集装置が、音声を自動的に記録するために自動的に有効化される。
【0037】
送信される上記の音声チャット要求は、さらに、
図5における「チャット」ボタン504をタッチアンドホールドすることによりトリガされてもよいことが理解できよう。サーバ100は、音声チャット要求に応じて、送信先クライアントがオンラインであるかどうかを判定する。送信先クライアントがオンラインである場合、サーバ100は、リアルタイムチャットインタフェース506に直ちに入るようにインスタントメッセージングクライアントを制御する。送信先クライアントがオンラインでない場合、
図7に示されるように、サーバ100は、音声記録フローティングレイヤ507が、現在の環境において音声メッセージを自動的に記録し、記録された音声メッセージをサーバ100に送信するために、インスタントメッセージングクライアントの現在のページ上にポップアップするように、インスタントメッセージングクライアントを制御し、その結果、音声メッセージが、サーバ100を使用することにより送信先クライアントに送信される。
【0038】
この実施形態において、音声チャット要求がトリガされたときに、デフォルトで音声メッセージモードに入る。動作中、送信先クライアントがオンラインであると判定されたときに、リアルタイムチャットモードに切り替えられ、送信先クライアントがオンラインでないと判定されたときに、音声メッセージモードに直ちに入る。
【0039】
本出願のこの実施形態において、クライアントが音声チャットを行うとき、サーバは、音声チャットを行う2つのパーティがオンラインであるかどうかに応じて、クライアントが対応する音声チャットモードに入ることを可能にすることができ、その結果、このチャット方式はよりフレキシブルであり、友人間のコミュニケーションはより簡便でより速い。
【0040】
さらに、上記の実施形態に基づいて、本出願における音声チャットモード自己適応方法の一実施形態が提供される。
【0041】
図8は、本出願の一実施形態に従った音声チャットモード自己適応方法の概略フローチャートである。
図8に示されるように、この実施形態において、上記のS140又はS150の後、この方法は以下をさらに含む。
【0042】
ステップS160:音声チャットを行う各クライアントのオンライン/オフライン状態を定期的にチェックする。
【0043】
音声チャットが、送信元クライアントと送信先クライアントとの間に確立された後、サーバ100は、各パーティのオンライン/オフライン状態を定期的にチェックする。
【0044】
ステップS170:音声チャットを行う各クライアントのオンライン/オフライン状態に応じて、音声メッセージモードとリアルタイムチャットモードとの間の自動切り替えを行う。
【0045】
音声チャット中、送信元クライアントが、音声メッセージを送信先クライアントに送信したときに、サーバ100が、送信先クライアントがオンライン状態にあると分かった場合、サーバ100は、音声メッセージを送信先クライアントに送信する。送信元クライアントが、音声メッセージをさらに送信したときに、リアルタイムチャットモードに自動的に切り替えられる。送信元クライアント及び送信先クライアントがリアルタイムチャットを行うときに、サーバ100が、送信元クライアント又は送信先クライアントがオンラインでないと分かった場合、音声チャットモードに自動的に切り替えられる。
【0046】
この実施形態において、音声チャット要求がトリガされたときに、音声チャットモード自己適応方法が実行される。加えて、対応する音声チャットモードに入った後、2つのパーティのオンライン/オフライン状態に応じて、対応する音声チャットモードにリアルタイムに切り替えられる。
【0047】
さらに、サーバ100は、各クライアントのオンライン/オフライン状態を更新する。すなわち、サーバ100は、各クライアントにより報告されたオンライン/オフライン状態を受信して記憶する。具体的には、サーバ100は、チャットインタフェースにおけるクライアントにより自動的に報告されたハートビートパケットを受信し、いわゆるハートビートパケットは、クライアントがオンラインであるかどうかをサーバに通知するためにクライアントによりサーバに定期的に送信される単純な情報である。ハートビートパケットは、例えば、オンラインハートビートパケット及びオフラインハートビートパケットを含み得る。クライアントにより報告された予め設定された数の連続したオンラインハートビートパケットが受信されたとき、サーバは、クライアントがオンライン状態にあると判定することができ、クライアントについてオンライン状態を記憶する。クライアントにより報告された受信されたハートビートパケットが、オフラインハートビートパケットであるとき、サーバは、クライアントがオフライン状態にあると判定することができ、クライアントについてオフライン情報を記憶する。
【0048】
本出願のこの実施形態に従うと、ハートビートパケットのフォーマットは、ルーム識別子(roomid)、一意な自己識別子id、及びオンライン/オフライン識別子(OnlineFlag)を含み得る。ルーム識別子は、チャットを行う2つのパーティのために作成されるチャットルームの識別子であり、これは、チャットを行う2つのパーティを結び付けるために使用される。これらが以下の表1に示される:
【表1】
【0049】
本出願のこの実施形態に従うと、オンライン/オフライン識別子について、ブール値が1であるときには、これはオンライン識別子を示し、ブール値が0であるときには、これはオフライン識別子を示すように、オンライン/オフライン識別子が設定される。インスタントメッセージングクライアントがチャットインタフェースに入ると、インスタントメッセージングクライアントは、予め設定された間隔(2秒等)でオンラインハートビートパケットをサーバに送信する。送信されるコンテンツのフォーマットは、ルーム識別子(roomid)、一意な自己識別子id、及びオンライン/オフライン識別子(1)を含む。インスタントメッセージングクライアントがチャットインタフェースから抜けると、インスタントメッセージングクライアントは、オフラインハートビートパケットを送信する。送信されるコンテンツのフォーマットは、ルーム識別子(roomid)、一意な自己識別子id、及びオンライン/オフライン識別子(0)を含む。
【0050】
クライアントにより報告されたハートビートパケットを受信した後、サーバ100は、ハートビートパケットに応じて、インスタントメッセージングクライアントがオンラインであるかどうかを判定する。ハートビートパケット内のオンライン/オフライン識別子が0であるとき、インスタントメッセージングクライアントがオフライン状態にあると判定される。ハートビートパケット内のオンライン/オフライン識別子が1であるとき、インスタントメッセージングクライアントがオンライン状態にあると判定される。音声チャットメッセージングをより安定したものにするために、サーバ100により受信された予め設定された数(5つ等)の連続したハートビートパケットのオンライン/オフライン識別子が1である場合、インスタントメッセージングクライアントが安定したオンライン状態にあると判定される。サーバ100が、予め設定された時間期間(10秒等)内に、クライアントにより報告されるハートビートパケットを受信しない場合、インスタントメッセージングクライアントがオフライン状態にあると判定されることが理解できよう。
【0051】
サーバ100は、各クライアントによりアップロードされたハートビートパケットを受信することにより、各クライアントのオンライン/オフライン状態を更新し、したがって、サーバ100は、クライアントが音声チャット要求を開始したときに、送信先クライアントのオンライン/オフライン状態に応じて、対応する音声チャットモードに入ることができる。
【0052】
さらに、サーバ100は、ルーム識別子roomidに応じて、友人間のリアルタイム状態情報をさらに設定することができる。この状態情報のフォーマットが以下の表2に示される:
【表2】
【0053】
インスタントメッセージングクライアントAにより報告されたハートビートパケットを受信した後、サーバ100は、表2に従って、roomid Aに対応する一意な相手方識別子(すなわち、Pariuuid)を検索し、インスタントメッセージングクライアントA及びインスタントメッセージングクライアントBにより報告されたハートビートパケットに応じて、インスタントメッセージングクライアントA及びインスタントメッセージングクライアントBの両方がオンラインであるかどうかをチェックする。
【0054】
さらに、
図9は、本出願の一実施形態に従った音声チャットモード自己適応方法の概略フローチャートである。
図9に示されるように、上記のS140の後、この方法は以下をさらに含む。
【0055】
S180:リアルタイムチャットを行っているクライアントのいずれかがオフラインであるとき、オフラインでないクライアントにオフライン通知を配信する。
【0056】
リアルタイムチャットモードに入った後、サーバ100は、2つのパーティのオンライン/オフライン状態をさらにチェックする。2つのパーティがオンライン状態を維持している場合、リアルタイムチャットモードが維持され得る。2つのパーティのいずれかがオフライン状態にある場合、音声メッセージモードに自動的に切り替えられ、オフライン通知が、オフラインでないクライアントに配信される。
【0057】
送信元クライアント及び送信先クライアントの両方がオンラインであるとき、サーバ100は、オンライン状態を他方のクライアントにさらに送信することが理解できよう。例えば、サーバ100は、送信先クライアントのオンライン状態を送信元クライアントに送信し、送信元クライアントのオンライン状態を送信先クライアントに送信する。加えて、クライアントが、サーバにより送信されたオンライン状態を受信した後、サーバは、この状態を記憶する。
【0058】
対応するように、
図10は、本出願の一実施形態に従った音声チャットモード自己適応装置の機能モジュールの概略図である。
図10に示されるように、この実施形態における音声チャットモード自己適応装置は、要求受信モジュール110、状態チェックモジュール120、及びモード制御モジュール130を含み得る。
【0059】
要求受信モジュール110は、チャットインタフェースにおいて送信元クライアントにより送信された音声チャット要求を受信するよう構成されており、ここで、音声チャット要求は、チャットインタフェースにおける対応する送信先クライアントに関する情報を含む。
【0060】
状態チェックモジュール120は、音声チャット要求の送信先クライアントがオンラインであるかどうかを判定するよう構成されている。モード制御モジュール130は、送信先クライアントがオンラインでないときには、送信元クライアント及び送信先クライアントが互いに対して音声メッセージを送信するように、音声メッセージモードに入り、送信先クライアントがオンラインであるときには、送信元クライアント及び送信先クライアントがリアルタイム音声チャットを行うように、リアルタイムチャットモードに入るよう構成されている。
【0061】
要求受信モジュール110は、クライアントにより送信された音声チャット要求を受信する。音声チャット要求は、クライアントがユーザによりトリガされた後に生成される。クライアントは端末に存在する。端末は、PC、スマートフォン、ノートブックコンピュータ、タブレットコンピュータ、ハンドヘルドコンピュータ等であってよい。一例としてインスタントメッセージングクライアントを使用すると、ユーザは、端末のインスタントメッセージングクライアントを有効化し、音声チャットインタフェースに入る。
図4に示されるように、音声チャットインタフェース400は、「ポーク」ボタン401、「チャット」ボタン402、及び「メッセージ」ボタン403等の複数の対応するボタン型コントロールを含み、ユーザのアバター(Atuzheng)404が表示される。ユーザが、「チャット」ボタン402をクリックした後、ユーザがチャットする友人を選択するために、友人リストインタフェース405がポップアップする。ユーザが、友人Alice406を選択した後、インスタントメッセージングクライアントAは、ユーザのこのトリガに応じて、サーバ100を使用することにより、Aliceに対する音声チャット要求を送信する。
【0062】
図5に示されるように、音声チャットインタフェースが、代わりに、友人リストインタフェースを最初に表示してもよいことが理解できよう。友人リストインタフェース500において、ユーザが友人Alice501と音声チャットを行うことを望む場合、ユーザは、この友人をクリックすることができる。この場合、コントロールレイヤ502がポップアップする。コントロールレイヤ502は、「ポーク」ボタン503、「チャット」ボタン504、及び「メッセージ」ボタン505等の複数のボタン型コントロールを含む。コントロールレイヤ502上の「チャット」ボタン504がトリガされたとき、インスタントメッセージングクライアントAは、ユーザのこのトリガに応じて、サーバ100を使用することにより、Aliceに対する音声チャット要求を送信する。
【0063】
インスタントメッセージングクライアントAにより送信された音声チャット要求を受信した後、状態チェックモジュール120は、音声チャット要求の送信先クライアントのオンライン/オフライン状態、すなわち、友人Aliceのクライアントのオンライン/オフライン状態をチェックする。サーバ100は、各クライアントのオンライン/オフライン状態をリアルタイムに収集して記憶し、したがって、サーバ100が音声チャット要求を受信した後、サーバ100は、オンライン/オフライン状態をチェックすることができることが理解できよう。
【0064】
送信先クライアントがオンラインであるとき、モード制御モジュール130は、
図6に示されるように、2つのパーティがリアルタイムチャットを行うことができるように、チャットインタフェースに直ちに入るようにインスタントメッセージングクライアントを制御する。リアルタイムチャットモードにおいて、「私」及び「Alice」は、リアルタイム音声チャットを行うことができる。インスタントメッセージングクライアントAは、リアルタイムチャットインタフェース506を表示し、「私」により送られる音声信号を(例えば、インスタントメッセージングクライアントAが配置されている端末におけるマイクロフォンを使用することにより)収集し、サーバ100を使用することにより、音声信号をインスタントメッセージングクライアントBにリアルタイムに送信する。音声信号を受信した後、インスタントメッセージングクライアントBは、インスタントメッセージングクライアントBが配置されている端末における音声出力装置(スピーカ等)を使用することにより、音声信号を出力する。インスタントメッセージングクライアントBは、「Alice」により送られる音声信号を、例えば、インスタントメッセージングクライアントBが配置されている端末におけるマイクロフォンを使用することにより収集し、サーバ100を使用することにより、音声信号をインスタントメッセージングクライアントAにリアルタイムに送信する。音声信号を受信した後、インスタントメッセージングクライアントAは、インスタントメッセージングクライアントAが配置されている端末における音声出力装置(スピーカ等)を使用することにより、音声信号を出力する。
【0065】
送信先クライアント(すなわち、友人Aliceのクライアント)がオンラインでないとき、モード制御モジュール130は、音声メッセージモードに入るようにインスタントメッセージングクライアントを制御する。サーバ100は、音声メッセージモードに入るようにインスタントメッセージングクライアントAに通知する。音声記録フローティングレイヤ507が、現在の環境において音声を自動的に記録し、記録された音声をサーバ100に送信するために、音声チャットインタフェース上にポップアップし、その結果、音声が、サーバ100により送信先クライアントに送信される。マイクロフォン等の音声信号収集装置が、端末においてセットされる。音声記録が実施される必要があるときに、音声信号収集装置が、音声を自動的に記録するために自動的に有効化される。
【0066】
したがって、クライアントが音声チャットを行うとき、サーバは、音声チャットを行う2つのパーティがオンラインであるかどうかに応じて、クライアントが対応する音声チャットモードに入ることを可能にすることができ、その結果、このチャット方式はよりフレキシブルであり、友人間のコミュニケーションはより簡便でより速い。
【0067】
さらに、状態チェックモジュール120は、音声チャットを行う各クライアントのオンライン/オフライン状態をリアルタイムにチェックするようさらに構成されている。
【0068】
モード制御モジュール130は、音声チャットを行う各クライアントのオンライン/オフライン状態に応じて、音声メッセージモードとリアルタイムチャットモードとの間の自動切り替えを行うようさらに構成されている。
【0069】
具体的には、音声チャット中、音声チャットが、送信元クライアントと送信先クライアントとの間に確立された後、状態チェックモジュール120は、各パーティのオンライン/オフライン状態を定期的にチェックする。送信元クライアントが、音声メッセージを送信先クライアントに送信したときに、状態チェックモジュール120が、送信先クライアントがオンライン状態にあると分かった場合、モード制御モジュール130は、音声メッセージを送信先クライアントに送信する。送信元クライアントが、音声メッセージをさらに送信したときに、モード制御モジュール130は、リアルタイムチャットモードに自動的に切り替える。送信元クライアント及び送信先クライアントがリアルタイムチャットを行うときに、状態チェックモジュール120が、送信元クライアント又は送信先クライアントがオンラインでないと分かった場合、モード制御モジュール130は、音声チャットモードに自動的に切り替える。
【0070】
この実施形態において、音声チャット要求がトリガされたときに、音声チャットモード自己適応が実行される。加えて、対応する音声チャットモードに入った後、2つのパーティのオンライン/オフライン状態に応じて、対応する音声チャットモードにリアルタイムに切り替えられる。このように、このチャット方式は比較的フレキシブルである。
【0071】
さらに、
図11は、本出願の一実施形態に従った音声チャットモード自己適応装置の機能モジュールの概略図である。
図11に示されるように、上記の音声チャットモード自己適応装置は、状態更新モジュール140をさらに含み得る。
【0072】
状態更新モジュール140は、各クライアントにより報告されたオンライン/オフライン状態を受信し、オンライン/オフライン状態を記憶するよう構成されている。詳細には、状態更新モジュール140は、ハートビートパケット受信ユニット141及び状態判定ユニット142を含む。
【0073】
ハートビートパケット受信ユニット141は、チャットインタフェースにおけるクライアントにより自動的に報告されたハートビートパケットを受信するよう構成されており、ここで、ハートビートパケットは、オンラインハートビートパケット及びオフラインハートビートパケットを含む。
【0074】
状態判定ユニット142は、クライアントにより報告された予め設定された数の連続したオンラインハートビートパケットが受信されたとき、クライアントがオンライン状態にあると判定してオンライン状態を記憶し、クライアントにより報告された受信されたハートビートパケットが、オフラインハートビートパケットであるとき、クライアントがオフライン状態にあると判定してオフライン情報を記憶するよう構成されている。
【0075】
本出願のこの実施形態に従うと、上記のハートビートパケットのフォーマットは、ルーム識別子(roomid)、一意な自己識別子id、及びオンライン/オフライン識別子(OnlineFlag)を含む。ルーム識別子は、チャットを行う2つのパーティのために作成されるチャットルームの識別子であり、これは、チャットを行う2つのパーティを結び付けるために使用される。これらが以下の表3に示される:
【表3】
【0076】
本出願のこの実施形態に従うと、オンライン/オフライン識別子について、ブール値が1であるときには、これはオンライン識別子を示し、ブール値が0であるときには、これはオフライン識別子を示すように、オンライン/オフライン識別子が設定される。インスタントメッセージングクライアントがチャットインタフェースに入ると、インスタントメッセージングクライアントは、予め設定された間隔(2秒等)でオンラインハートビートパケットをサーバに送信する。送信されるコンテンツのフォーマットは、ルーム識別子(roomid)、一意な自己識別子id、及びオンライン/オフライン識別子(1)を含む。インスタントメッセージングクライアントがチャットインタフェースから抜けると、インスタントメッセージングクライアントは、オフラインハートビートパケットを送信する。送信されるコンテンツのフォーマットは、ルーム識別子(roomid)、一意な自己識別子id、及びオンライン/オフライン識別子(0)を含む。
【0077】
クライアントにより報告されたハートビートパケットを受信した後、サーバ100は、ハートビートパケットに応じて、インスタントメッセージングクライアントがオンラインであるかどうかを判定する。ハートビートパケット内のオンライン/オフライン識別子が0であるとき、インスタントメッセージングクライアントがオフライン状態にあると判定される。ハートビートパケット内のオンライン/オフライン識別子が1であるとき、インスタントメッセージングクライアントがオンライン状態にあると判定される。音声チャットメッセージングをより安定したものにするために、サーバ100により受信された予め設定された数(5つ等)の連続したハートビートパケットのオンライン/オフライン識別子が1である場合、インスタントメッセージングクライアントが安定したオンライン状態にあると判定される。サーバ100が、予め設定された時間期間(10秒等)内に、クライアントにより報告されるハートビートパケットを受信しない場合、インスタントメッセージングクライアントがオフライン状態にあると判定されることが理解できよう。
【0078】
サーバ100は、各クライアントによりアップロードされたハートビートパケットを受信することにより、各クライアントのオンライン/オフライン状態を更新し、したがって、サーバ100は、クライアントが音声チャット要求を開始したときに、送信先クライアントのオンライン/オフライン状態に応じて、対応する音声チャットモードに入ることができる。
【0079】
さらに、状態更新モジュール140は、ルーム識別子roomidに応じて、友人間のリアルタイム状態情報をさらに設定することができる。この情報のフォーマットが以下の表4に示される:
【表4】
【0080】
インスタントメッセージングクライアントAにより報告されたハートビートパケットを受信した後、サーバ100は、表4に従って、roomid Aに対応する一意な相手方識別子(すなわち、Pariuuid)を検索し、インスタントメッセージングクライアントA及びインスタントメッセージングクライアントBにより報告されたハートビートパケットに応じて、インスタントメッセージングクライアントA及びインスタントメッセージングクライアントBの両方がオンラインであるかどうかをチェックする。
【0081】
さらに、
図12は、本出願の一実施形態に従った音声チャットモード自己適応装置の機能モジュールの概略図である。
図12に示されるように、上記の音声チャットモード自己適応装置は以下をさらに含む。
【0082】
リアルタイムチャットを行っているクライアントのいずれかがオフラインであるとき、オフラインでないクライアントにオフライン通知を配信するよう構成されている状態通知モジュール150。
【0083】
リアルタイムチャットモードに入った後、状態チェックモジュール120は、2つのパーティのオンライン/オフライン状態をさらにチェックする。2つのパーティがオンライン状態を維持している場合、リアルタイムチャットモードが維持され得る。2つのパーティのいずれかがオフライン状態にある場合、モード制御モジュール130は、音声メッセージモードに自動的に切り替え、状態通知モジュール150は、オフラインでないクライアントにオフライン通知を配信する。
【0084】
送信元クライアント及び送信先クライアントの両方がオンラインであるとき、状態通知モジュール150は、オンライン状態を他方のクライアントにさらに送信することが理解できよう。例えば、サーバ100は、送信先クライアントのオンライン状態を送信元クライアントに送信し、送信元クライアントのオンライン状態を送信先クライアントに送信する。加えて、クライアントが、サーバにより送信されたオンライン状態を受信した後、サーバは、この状態を記憶する。
【0085】
図10〜
図12におけるモード自己適応装置は、例えば、
図2に示されるモード自己適応装置であってよく、モード自己適応装置内のこれらのモジュールは、プロセッサ101により処理され得る命令モジュールであってよい。
【0086】
図13は、本出願の一実施形態に従った音声チャットモード自己適応方法の概略フローチャートである。この音声チャットモード自己適応方法は、送信元クライアントに適用され、以下を含む。
【0087】
S210:チャットインタフェースにおいて音声チャット要求を送信し、ここで、音声チャット要求は、チャットインタフェースにおける対応する送信先クライアントに関する情報を含む。
【0088】
S220:送信先クライアントがオンラインでないと判定されたとき、音声メッセージモードに入る通知をサーバから受信し、音声メッセージモードに入り、音声メッセージを送信先クライアントに送信する。
【0089】
S230:送信先クライアントがオンラインであると判定されたとき、リアルタイムチャットモードに入る通知をサーバから受信し、リアルタイムチャットモードに入り、送信先クライアントとリアルタイム音声チャットを行う。
【0090】
図14は、本出願の一実施形態に従った別の音声チャットモード自己適応方法の概略フローチャートである。
【0091】
図13に基づいて、クライアントが、音声メッセージモード又はリアルタイムチャットモードに入った後、この音声チャットモード自己適応方法は以下をさらに含む。
【0092】
S240:クライアントのオンライン/オフライン状態をサーバに報告し、サーバにより提供された設定に応じて、音声メッセージモードとリアルタイムチャットモードとの間の自動切り替えを行う。
【0093】
詳細には、クライアントのオンライン/オフライン状態をサーバに報告するために、クライアントは、チャットインタフェースに入った後にハートビートパケットを自動的に送信し、ここで、ハートビートパケットは、オンラインハートビートパケット及びオフラインハートビートパケットを含み、予め設定された数の連続したオンラインハートビートパケットが報告されるとき、これは、報告するクライアントがオンライン状態にあることを示し、報告されるハートビートパケットが、オフラインハートビートパケットであるとき、これは、報告するクライアントがオフライン状態にあることを示す。
【0094】
図15は、本出願の一実施形態に従った音声チャットモード自己適応装置の機能モジュールの概略図である。音声チャットモード自己適応装置2000は、送信元クライアントに適用され、要求送信モジュール210及びモード制御モジュール220を含み得る。
【0095】
要求送信モジュール210は、チャットインタフェースにおいて音声チャット要求を送信するよう構成されており、ここで、音声チャット要求は、チャットインタフェースにおける対応する送信先クライアントに関する情報を含む。
【0096】
モード制御モジュール220は、送信先クライアントがオンラインでないとき、音声メッセージモードに入る通知をサーバから受信し、音声メッセージモードに入り、音声メッセージを送信先クライアントに送信し、送信先クライアントがオンラインであるとき、リアルタイムチャットモードに入る通知をサーバから受信し、リアルタイムチャットモードに入り、送信先クライアントとリアルタイム音声チャットを行うよう構成されている。
【0097】
図16は、本出願の一実施形態に従った別の音声チャットモード自己適応装置の概略構成図である。
【0098】
図15に基づいて、音声チャットモード自己適応装置2000は、送信元クライアントのオンライン/オフライン状態をサーバに報告するよう構成されている状態更新モジュール230をさらに含む。
【0099】
詳細には、状態更新モジュール230は、チャットインタフェースに入った後にハートビートパケットを自動的に送信するよう構成されており、ここで、ハートビートパケットは、オンラインハートビートパケット及びオフラインハートビートパケットを含み、予め設定された数の連続したオンラインハートビートパケットが報告されるとき、これは、報告するクライアントがオンライン状態にあることを示し、報告されるハートビートパケットが、オフラインハートビートパケットであるとき、これは、報告するクライアントがオフライン状態にあることを示す。
【0100】
図15〜
図16における音声チャットモード自己適応装置2000は、端末デバイスに配置される。端末デバイスは、固定端末であってもよいし、移動端末であってもよく、スマートフォン、インテリジェントな電話機、ノートブックコンピュータ、デスクトップコンピュータ、PDA(携帯情報端末)、PAD(タブレットコンピュータ)、ハンドヘルドコンピュータ、PMP(ポータブルメディアプレーヤ)、ウェアラブルデバイス(スマートバンド又はスマートウォッチ等)等であってよい。モード自己適応装置2000内のこれらのモジュールは、例えば、プロセッサにより処理され得る命令モジュールであってよい。
【0101】
上記の例の説明によれば、本出願は、ハードウェアにより実装されてもよいし、必要なユニバーサルハードウェアプラットフォームに加えてソフトウェアにより実装されてもよいことが、明らかであろう。そのような理解に基づいて、本出願における技術的解決策は、ソフトウェア製品の形態で実施されてもよい。ソフトウェア製品は、不揮発性記憶媒体に記憶されてよく、本出願の各実施形態において説明された方法を実行するようにコンピュータデバイス(パーソナルコンピュータ、サーバ、ネットワークデバイス等であってよい)に指示する複数の命令を含む。
【0102】
上記の実施形態において、2つのクライアントの例が説明のために用いられている。しかしながら、本出願の実施形態における方法は、ユーザが複数のクライアントに対するチャット要求を開始するシナリオにも適用可能である。
【0103】
上記の説明は、本出願の単なる実施形態であり、本出願の特許の範囲を限定するようには意図されていない。他の関連技術分野における直接的又は間接的使用のための、本出願の明細書及び添付図面の内容に基づいて構造又はプロセスに対してなされるいかなる均等の変更も、本出願の特許の保護範囲に包含されるべきである。