(57)【特許請求の範囲】
【請求項１】
装置によって実行される、メッセージをプッシュするためのコンピュータ実行方法であって、
プッシュすべきメッセージが検出された場合に、前記プッシュすべきメッセージからユーザ情報およびアプリケーション情報を抽出することと、
前記ユーザ情報および前記アプリケーション情報に対応するリンク情報を取得することと、
前記ユーザ情報、前記アプリケーション情報および前記リンク情報に従って、前記ユーザ情報に対応する１つまたは複数の登録デバイスおよび各登録デバイス上の１つまたは複数の登録アプリケーションを決定することと、
前記１つまたは複数の登録デバイスに前記プッシュすべきメッセージをプッシュすることと、
を含み、前記プッシュすべきメッセージをプッシュすることは、
登録デバイス上に複数の登録アプリケーションが存在する場合に、前記プッシュすべきメッセージを受信した後に前記登録デバイスが前記プッシュすべきメッセージから登録アプリケーションの識別情報およびメッセージコンテンツを抽出して、各登録アプリケーションにそれぞれ前記メッセージコンテンツを送信できるように、前記複数の登録アプリケーションについての識別情報を前記登録デバイスに対応する前記プッシュすべきメッセージに追加することと、
複数の登録デバイスが前記ユーザ情報に対応する場合に、前記複数の登録デバイスのそれぞれに前記プッシュすべきメッセージをプッシュすることと、
を含む、方法。
【請求項２】
複数の登録デバイスが前記ユーザ情報に対応する場合に、前記複数の登録デバイスのそれぞれに前記プッシュすべきメッセージをプッシュすることが、
前記複数の登録デバイスへの複数のプッシュすべきメッセージを得るために、前記プッシュすべきメッセージを複製することと、
各登録デバイスについて、前記登録デバイスに対応するクライアントアクセスサーバのノードアイデンティティ（ＩＤ）を取得し、前記ノードＩＤを対応する前記プッシュすべきメッセージに追加することと、
前記ノードＩＤを含む前記複数のプッシュすべきメッセージをメッセージプッシュキューに追加することと
を含む、請求項１に記載の方法。
【請求項３】
前記ユーザ情報および前記アプリケーション情報に対応するリンク情報を取得することが、
前記ユーザ情報および前記アプリケーション情報に対応するリンク情報をクライアントリンク管理センターから取得すること
を含み、
前記リンク情報が、前記クライアントアクセスサーバがデバイスを登録する場合に前記デバイスと確立されたリンクから取得される、請求項１または２に記載の方法。
【請求項４】
プッシュされたメッセージを受信するデバイスによって実行される方法であって、
前記プッシュされたメッセージを受信することと、
前記プッシュされたメッセージに含まれるメッセージコンテンツおよびすべての識別情報を抽出することと、
各前記識別情報について、前記識別情報に対応する対象アプリケーションを決定し、前記メッセージコンテンツを前記対象アプリケーションに送信することと
を含み、
前記デバイスは、前記プッシュされたメッセージを受信する複数の登録デバイスのうちの１つであり、前記複数の登録デバイスは共通のユーザ情報に対応する、
方法。
【請求項５】
メッセージをプッシュするための装置であって、
プッシュすべきメッセージが検出された場合に、前記プッシュすべきメッセージからユーザ情報およびアプリケーション情報を抽出するように構成された抽出ユニットと、
前記ユーザ情報および前記アプリケーション情報に対応するリンク情報を取得するように構成された取得ユニットと、
前記ユーザ情報、前記アプリケーション情報および前記リンク情報に従って、前記ユーザ情報に対応する１つまたは複数の登録デバイスおよび各登録デバイス上の１つまたは複数の登録アプリケーションを決定するように構成された決定ユニットと、
前記１つまたは複数の登録デバイスに前記プッシュすべきメッセージをプッシュするように構成されたプッシュユニットと、
を含み、
前記プッシュユニットは、
登録デバイス上に複数の登録アプリケーションが存在する場合に、前記プッシュすべきメッセージを受信した後に前記登録デバイスが前記プッシュすべきメッセージに含まれる、登録アプリケーションの識別情報およびメッセージコンテンツを抽出して、各登録アプリケーションにそれぞれ前記メッセージコンテンツを送信できるように、前記複数の登録アプリケーションについての識別情報を前記登録デバイスに対応する前記プッシュすべきメッセージに追加するように構成された追加ユニットを含み、
前記プッシュユニットは、複数の登録デバイスが前記ユーザ情報に対応する場合に、前記複数の登録デバイスのそれぞれに前記プッシュすべきメッセージをプッシュするように構成される、
装置。
【請求項６】
前記プッシュユニットが、
前記複数の登録デバイスへの複数のプッシュすべきメッセージを得るために、前記プッシュすべきメッセージを複製することと、
前記複数の登録デバイスのそれぞれについて、前記登録デバイスに対応するクライアントアクセスサーバのノードアイデンティティ（ＩＤ）を取得し、前記ノードＩＤを対応する前記プッシュすべきメッセージに追加することと、
前記ノードＩＤを含む前記複数のプッシュすべきメッセージをメッセージプッシュキューに追加することと
によって、前記プッシュすべきメッセージをプッシュするように構成される、請求項５に記載の装置。
【請求項７】
前記取得ユニットが、
前記ユーザ情報および前記アプリケーション情報に対応するリンク情報をクライアントリンク管理センターから取得する
ように構成され、
前記リンク情報が、前記クライアントアクセスサーバがデバイスを登録する場合に前記デバイスと確立されたリンクから取得される、請求項５または６に記載の装置。 
【請求項８】
プッシュされたメッセージを受信する装置であって、
前記プッシュされたメッセージを受信するように構成された受信ユニットと、
前記プッシュされたメッセージに含まれるメッセージコンテンツおよび識別情報を抽出するように構成された抽出ユニットと、
各前記識別情報について、前記識別情報に対応する対象アプリケーションを決定し、前記メッセージコンテンツを前記対応する対象アプリケーションに送信するように構成された決定および送信ユニットと
を含み、
前記装置は、前記プッシュされたメッセージを受信する複数の登録デバイスのうちの１つであり、前記複数の登録デバイスは共通のユーザ情報に対応する、
装置。
【請求項９】
命令を記憶する非一時的コンピュータ可読媒体であって、前記命令は、プロセッサによって実行された場合に、前記プロセッサに請求項１乃至４のいずれか１項に記載の方法を実行させる、非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
技術分野
本出願は、メッセージプッシュ技術に関し、より具体的には、メッセージプッシュ方法および装置に関する。
【背景技術】
【０００２】
背景
通信技術の継続的開発により、メッセージプッシュ技法は、多くのシナリオに適用されてきた可能性がある。例えば、モバイルクライアントアプリケーションでは、データは、バックグラウンドからモバイルデバイスに能動的にプッシュすることができる。別の例として、Java（登録商標）プラットフォーム企業版（Java EE）アプリケーションでは、データは、あるアプリケーションシステムから別のアプリケーションシステムに能動的にプッシュすることができる。
【発明の概要】
【課題を解決するための手段】
【０００３】
概要
本開示は、関連技術分野における欠陥を解決するために、メッセージプッシュ方法および装置を提供する。
【０００４】
いくつかの態様では、本開示は、メッセージをプッシュするための方法を対象とする。方法は、プッシュすべきメッセージが検出された場合に、メッセージのユーザ情報およびアプリケーション情報を抽出することを含み得る。また、方法は、ユーザ情報およびアプリケーション情報に対応するリンク情報を取得することも含み得る。方法は、ユーザ情報、アプリケーション情報およびリンク情報に従って、ユーザアカウントの登録デバイスおよび各登録デバイス上の登録アプリケーションを決定することをさらに含み得る。それに加えて、方法は、登録デバイス上に複数の登録アプリケーションが存在する場合に、複数の登録アプリケーションについての識別情報を登録デバイスに対応するメッセージに追加することを含み得る。メッセージに含まれる識別情報およびメッセージコンテンツは、抽出することができ、メッセージコンテンツは、メッセージを受信した後に、登録デバイスによって、識別情報に対応する各登録アプリケーションにそれぞれ送信することができる。
【０００５】
いくつかの態様では、本開示は、メッセージをプッシュするための別の方法を対象とする。方法は、プッシュされたメッセージを受信することを含み得る。また、方法は、プッシュされたメッセージに含まれるメッセージコンテンツおよび識別情報を抽出することも含み得る。方法は、各識別情報に対応する対象アプリケーションを決定し、メッセージコンテンツを各々の対応する対象アプリケーションに送信することをさらに含み得る。
【０００６】
いくつかの態様では、本開示は、メッセージをプッシュするための装置を対象とする。装置は、プッシュすべきメッセージが検出された場合に、メッセージのユーザ情報およびアプリケーション情報を抽出するように構成された抽出ユニットを含み得る。また、装置は、ユーザ情報およびアプリケーション情報に対応するリンク情報を取得するように構成された取得ユニットも含み得る。装置は、ユーザ情報、アプリケーション情報およびリンク情報に従って、ユーザアカウントの登録デバイスおよび各登録デバイス上の登録アプリケーションを決定するように構成された決定ユニットをさらに含み得る。それに加えて、装置は、登録デバイス上に複数の登録アプリケーションが存在する場合に、複数の登録アプリケーションについての識別情報を登録デバイスに対応するメッセージに追加するように構成された追加ユニットを含み得る。メッセージに含まれる識別情報およびメッセージコンテンツは、抽出することができ、メッセージコンテンツは、メッセージを受信した後に、登録デバイスによって、識別情報に対応する各登録アプリケーションにそれぞれ送信することができる。
【０００７】
いくつかの態様では、本開示は、メッセージをプッシュするための別の装置を対象とする。装置は、プッシュされたメッセージを受信するように構成された受信ユニットを含み得る。また、装置は、プッシュされたメッセージに含まれるメッセージコンテンツおよび識別情報を抽出するように構成された抽出ユニットも含み得る。装置は、各識別情報に対応する対象アプリケーションを決定し、メッセージコンテンツを各々の対応する対象アプリケーションに送信するように構成された決定および送信ユニットをさらに含み得る。
【０００８】
本開示のメッセージプッシュ方法および装置は、プッシュすべきメッセージが検出された場合に、ユーザアカウントのリアルタイムの正確なログイン状態を獲得するために、メッセージのユーザ情報およびアプリケーション情報ならびに対応するリンク情報を取得することを含み得る。登録デバイスに対応する複数の登録アプリケーションについての識別情報をメッセージに追加することにより、たった１つのメッセージを同じ登録デバイスに送信するだけでよい。複数の登録アプリケーションはすべて、それらの対応するメッセージコンテンツを受信することができる。それは、プッシュすべきメッセージのデータボリュームを減少するために有益であり得、登録デバイスの電力消費量を低減することができる。
【図面の簡単な説明】
【０００９】
【図１】本開示のいくつかの実施形態による、例示的なリアルタイムメッセージプラットフォームの概略構造図を示す。
【図２】本開示のいくつかの実施形態による、メッセージをプッシュするための例示的な方法のフローチャートである。
【図３】本開示のいくつかの実施形態による、メッセージをプッシュするための別の例示的な方法のフローチャートである。
【図４】本開示のいくつかの実施形態による、例示的なクライアント登録の処理フローチャートを示す。
【図５】本開示のいくつかの実施形態による、例示的なクライアントログアウトの処理フローチャートを示す。
【図６】本開示のいくつかの実施形態による、クライアントの例示的な異常切断の処理フローチャートである。
【図７】本開示のいくつかの実施形態による、メッセージをプッシュするための別の例示的な方法のフローチャートである。
【図８】本開示のいくつかの実施形態による、例示的なマージプロセスの概略図を示す。
【図９】本開示のいくつかの実施形態による、例示的な分類プロセスの概略図である。
【図１０】本開示のいくつかの実施形態による、例示的な電子デバイスの概略構造図を示す。
【図１１】本開示のいくつかの実施形態による、メッセージをプッシュするための例示的な装置のブロック図である。
【図１２】本開示のいくつかの実施形態による、別の例示的な電子デバイスの概略構造図を示す。
【図１３】本開示のいくつかの実施形態による、メッセージをプッシュするための別の例示的な装置のブロック図である。
【発明を実施するための形態】
【００１０】
詳細な説明
図１は、本開示のいくつかの実施形態による、例示的なリアルタイムメッセージプラットフォームの概略構造図を示す。図１に示されるように、サービスサーバからのサービスメッセージは、リアルタイムメッセージプラットフォームによって処理し、クライアントにプッシュすることができる。図２は、本開示のいくつかの実施形態による、メッセージをプッシュするための例示的な方法のフローチャートである。方法は、図１に示されるメッセージセンター（MSCenter）に適用することができる。方法は、以下のステップを含み得る。
【００１１】
ステップ２０２：プッシュすべきメッセージが検出された場合に、メッセージのユーザ情報およびアプリケーション情報を抽出する。
【００１２】
ステップ２０４：ユーザ情報およびアプリケーション情報に対応するリンク情報を取得する。
【００１３】
いくつかの実施形態では、ユーザがデバイス上でアカウントにログインした後、デバイスは、クライアントアクセスサーバ（MSNode）とのリンクを確立し、リンクに基づいて登録要求を開始することができる。登録要求は、ユーザ情報およびアプリケーション情報を含み得る。いくつかの実施形態では、MSNodeは、リンクからリンク情報を読み取ることもできる。MSNodeは、リンク情報、アプリケーション情報およびユーザ情報間の対応を格納するために、リンク情報、アプリケーション情報およびユーザ情報をクライアントリンク管理センター（CMCenter）に送信することができる。
【００１４】
ユーザ情報は、ログインのためのユーザアカウント情報など、ユーザアイデンティティを表す情報であり得る。アプリケーション情報は、アプリケーションＩＤなど、デバイス上の対応するアプリケーションプログラムを表す情報であり得る。リンク情報は、リンクＩＤおよび／またはデバイスＩＤなど、MSNodeと確立することができるリンクについての情報および／またはリンクに対応するデバイスについての情報に相当し得る。各デバイスは、MSNodeとの複数のリンクを確立することができる。
【００１５】
ステップ２０６：ユーザ情報、アプリケーション情報およびリンク情報に従って、ユーザアカウントの登録デバイスおよび各登録デバイス上の登録アプリケーションを決定する。
【００１６】
いくつかの実施形態では、MSCenterは、１つまたは複数の「ユーザ情報・アプリケーション情報」ペアを形成するために、プッシュすべき各メッセージから、１人または複数のユーザについてのユーザ情報および各ユーザ情報に対応する１つまたは複数のアプリケーション情報を取得することができる。それに加えて、CMCenterで取得されたリンク情報と組み合わせることで、方法は、ユーザアカウントのリアルタイムのログイン状態を決定することも含み得る。
【００１７】
いくつかの実施形態では、MSCenterが、１つの「ユーザ情報・アプリケーション情報」ペアに従って、１つの対応するリンク情報または複数の同一のリンク情報をCMCenterから取得した場合は、それは、ユーザが１つのデバイス上の１つのアプリケーションプログラム上でユーザアカウントによってログインできることを示すことができる。
【００１８】
いくつかの実施形態では、MSCenterが、１つの「ユーザ情報・アプリケーション情報」ペアに従って、対応する複数の異なるリンク情報をCMCenterから取得した場合は、それは、ユーザが複数のデバイス上の同じアプリケーションプログラム上で同じユーザアカウントによってログインできることを示すことができる。
【００１９】
いくつかの実施形態では、MSCenterが、同じユーザアカウントに対応する複数の「ユーザ情報・アプリケーション情報」ペアに従って、対応する１つのリンク情報または複数の同一のリンク情報をCMCenterから取得した場合は、それは、ユーザが１つのデバイス上の複数のアプリケーションプログラム上で同じユーザアカウントによってログインできることを示すことができる。
【００２０】
ステップ２０８：登録デバイス上に複数の登録アプリケーションが存在する場合に、複数の登録アプリケーションについての識別情報を登録デバイスに対応するメッセージに追加する。メッセージに含まれる識別情報およびメッセージコンテンツは、抽出することができ、メッセージコンテンツは、メッセージを受信した後に、登録デバイスによって、識別情報に対応する各登録アプリケーションにそれぞれ送信することができる。
【００２１】
いくつかの実施形態では、登録アプリケーションについての識別情報は、対応するアプリケーション情報に含めることができる。例えば、識別情報は、複数の登録アプリケーションを区別するためのアプリケーションＩＤまたは他のタイプの識別であり得る。複数の登録アプリケーションについての識別情報をプッシュすべきメッセージに追加することにより、方法は、たった１つのメッセージをデバイスにプッシュするだけでよい。複数の登録アプリケーションはすべて、対応するメッセージコンテンツを受信することができる。それは、プッシュすべきメッセージのデータボリュームを減少するために有益であり得、デバイスの電力消費量を低減することができる。
【００２２】
上記で説明されるMSCenterの処理手順に対応して、上記の同じ登録デバイスは、複数の登録アプリケーションがすべてメッセージコンテンツを受信できることを保証するために、図３に示される処理手順を介して、受信されたプッシュメッセージを処理することができる。図３は、本開示のいくつかの実施形態による、メッセージをプッシュするための別の例示的な方法のフローチャートである。図３に示されるように、方法は、端末またはデバイスに適用することができる。方法は、以下のステップを含み得る。
【００２３】
ステップ３０２：プッシュされたメッセージを受信する。
【００２４】
いくつかの実施形態では、ステップ３０２のプッシュされたメッセージは、図２に示されるプッシュすべきメッセージであり得る。
【００２５】
ステップ３０４：プッシュされたメッセージに含まれるメッセージコンテンツおよび識別情報を抽出する。
【００２６】
ステップ３０６：各識別情報に対応する対象アプリケーションを決定し、メッセージコンテンツを各々の対応する対象アプリケーションに送信する。
【００２７】
従って、本開示のメッセージをプッシュするための方法は、プッシュすべきメッセージが検出された場合に、ユーザアカウントのリアルタイムの正確なログイン状態を獲得するために、メッセージのユーザ情報およびアプリケーション情報ならびに対応するリンク情報を取得することを含み得る。登録デバイスに対応する複数の登録アプリケーションについての識別情報をメッセージに追加することにより、たった１つのメッセージを同じ登録デバイスに送信するだけでよい。複数の登録アプリケーションはすべて、それらの対応するメッセージコンテンツを受信することができる。それは、プッシュすべきメッセージのデータボリュームを減少するために有益であり得、登録デバイスの電力消費量を低減することができる。
【００２８】
単一のデバイスに対する上記の方法に加えて、本開示は、複数のデバイスに対する方法も対象とする。同じユーザアカウントに対応する複数の登録デバイスが存在する場合は、プッシュすべきメッセージは、登録デバイスの各々にそれぞれプッシュすることができる。
【００２９】
いくつかの実施形態では、MSCenterは、複数の登録デバイスに１対１で対応することができる複数のメッセージを得るために、メッセージを複製することができる。また、MSCenterは、登録デバイスの各々に対応するクライアントアクセスサーバのノードＩＤを取得し、それに応じて、プッシュすべき各々の対応するメッセージに各ノードＩＤを追加することもできる。MSCenterは、各々がノードＩＤを含むこれらのメッセージをメッセージプッシュキューに追加することができる。最後に、MSNodeは、メッセージプッシュキューのこれらのメッセージをプッシュすることができる。
【００３０】
いくつかの実施形態では、ユーザは、１つのアカウントによって、複数のデバイス上のアプリケーションを介してそれぞれログインすることができる。複数のデバイスはすべて、ユーザがデバイスのいずれか１つを介してプッシュされたメッセージを閲覧できることを保証するために、対応するプッシュメッセージを受信することができる。
【００３１】
図４〜６は、クライアント登録プロセス、対応するログアウトプロセスおよび異常切断プロセスを含む、いくつかの例示的なプロセスを示す。これらのプロセスは、以下でさらに説明する。
【００３２】
１．登録プロセス
図４は、本開示のいくつかの実施形態による、例示的なクライアント登録の処理フローチャートを示す。図４に示されるように、登録手順は、以下のステップを含み得る。
【００３３】
ステップ４０２：クライアントによって、現在のMSNodeノードへの登録要求を開始する。
【００３４】
ステップ４０４：現在のMSNodeノードによって、登録要求のプロトコルを解析する。
【００３５】
ステップ４０６：現在のMSNodeノードによって、プロトコル解析結果に基づいて、登録要求を開始したユーザアカウントに対する識別認証および認可を実行する。
【００３６】
ステップ４０８：登録要求を処理する現在のMSNodeノード上の接続数を制御する。
【００３７】
いくつかの実施形態では、MSNodeは、複数のノードを含むサーバクラスタであり得る。各MSNodeノードは、プリセット接続数で構成することができる。確立された接続数がプリセット接続数を超えていることを現在のMSNodeノードが検出した場合は、現在の登録要求は、別のアイドル状態のMSNodeノードに割り当てることができる。
【００３８】
現在のMSNodeノードは、クライアントを別のアイドル状態のMSNodeノードに誘導して再接続するために、ルート命令をクライアントに返すことができる。
【００３９】
ステップ４１０：現在のMSNodeノードによって、ユーザ情報および／またはアプリケーション情報を登録要求から取得し、確立されたリンクからリンク情報を抽出する。
【００４０】
ステップ４１２Ａ：現在のMSNodeノードによって、ユーザ情報、アプリケーション情報およびリンク情報をCMCenterに送信する。
【００４１】
ステップ４１４Ａ：ユーザアカウントについてのクライアント登録情報がCMCenterに存在する場合は、受信されたユーザ情報、アプリケーション情報およびリンク情報に従って、データを更新する。ユーザアカウントについてのクライアント登録情報が存在しない場合は、新しいクライアント登録情報として登録する。
【００４２】
ステップ４１６Ａ：CMCenterによって、リンク管理データベースまたは分散キャッシュシステムにクライアント登録情報を格納する。
【００４３】
ステップ４１２Ｂ：現在のMSNodeノードによって、ユーザ情報およびアプリケーション情報をMSCenterに送信する。
【００４４】
ステップ４１４Ｂ：現在のMSCenterノードによって、ユーザ情報およびアプリケーション情報に従って、対応するオフラインデータを取得する。
【００４５】
ステップ４１６Ｂ：現在のMSCenterノードによって、オフラインデータを整理する（clean）。
【００４６】
ステップ４１８：現在のMSCenterノードによって、処理されたオフラインデータからプッシュすべきメッセージを生成し、メッセージプッシュキューにメッセージを追加する。
【００４７】
ステップ４２０：現在のMSNodeノードによって、メッセージプッシュキューからプッシュすべきメッセージを取得し、メッセージをクライアントにプッシュする。
【００４８】
２．ログアウトプロセス
図５は、本開示のいくつかの実施形態による、例示的なクライアントログアウトの処理フローチャートを示す。図５に示されるように、クライアントログアウト手順は、以下のステップを含み得る。
【００４９】
ステップ５０２：クライアントによって、現在のMSNodeノードへのログアウト要求を開始する。
【００５０】
ステップ５０４：現在のMSNodeノードによって、受信されたログアウト要求のプロトコルを解析する。
【００５１】
ステップ５０６：現在のMSNodeノードによって、プロトコル解析結果に基づいて、クライアントに対する識別認証および認可を実行する。
【００５２】
ステップ５０８：現在のMSNodeノードによって、ログアウト要求に含まれるユーザ情報およびアプリケーション情報を取得し、リンクマネージャからクライアントと現在のMSNodeとの間で確立されたすべてのリンクを削除する。
【００５３】
ステップ５１０：現在のMSNodeノードによって、リンクログアウトコマンドをCMCenterに送信する。
【００５４】
ステップ５１２：CMCenterによって、データベースまたは分散キャッシュから対応するリンク情報を削除することを含めて、現在のMSNodeとクライアントとの間で確立された接続情報を削除する。クライアントは、クライアントプログラムがインストールされたデバイスであり得る。
【００５５】
３．異常切断プロセス
図６は、本開示のいくつかの実施形態による、クライアントの例示的な異常切断の処理フローチャートである。図６に示されるように、異常切断手順は、以下のステップを含み得る。
【００５６】
ステップ６０２：クライアントがMSNodeノードから異常切断される。
【００５７】
ステップ６０４：現在のMSNodeノードによって、異常切断情報を捕捉し、クライアントリンク切断イベントを送信する。
【００５８】
ステップ６０６：クライアントリンク切断イベントに応答して、現在のMSNodeノードのリンクマネージャから現在のMSNodeでクライアントによって登録されたリンク情報を取得し、リンク情報を削除する。
【００５９】
ステップ６０８：現在のMSNodeノードによって、リンクログアウトコマンドをCMCenterに送信する。
【００６０】
ステップ６１０：CMCenterによって、データベースまたは分散キャッシュから対応するリンク情報を削除することを含めて、現在のMSNodeとクライアントとの間で確立された接続情報を削除する。
【００６１】
図４〜６のこれらの手順により、CMCenterは、クライアント登録情報として、ユーザ情報、アプリケーション情報およびリンク情報を記録することができる。
【００６２】
MSCenterは、記録されたクライアント登録情報に基づいて、メッセージを正確にプッシュすることができる。図７を参照して、メッセージプッシュプロセスは、以下で詳細に説明することができる。図７は、本開示のいくつかの実施形態による、メッセージをプッシュするための別の例示的な方法のフローチャートである。図７に示されるように、メッセージをプッシュするために図１に示されるリアルタイムメッセージプラットフォームを使用することができる場合は、方法は、以下のステップを含み得る。
【００６３】
ステップ７０２：メッセージエージェントセンター（MSAgent）によって、サービスサーバによって伝達されたサービスアプリケーションメッセージを受信し、メッセージのメッセージヘッダ情報に従って、メッセージの処理、再結合および記入を行う。
【００６４】
ステップ７０４：MSAgentによって、処理、再結合および記入が行われたメッセージに基づいて、スケジュールに入れるべきメッセージを生成し、メッセージスケジューリングキューにメッセージを追加する。
【００６５】
ステップ７０６：メッセージセンター（MSCenter）によって、消費可能メッセージ（consumable message）がスケジューリングキューに存在するかどうかをモニタする。
【００６６】
ステップ７０８：消費可能メッセージがスケジューリングキューに存在する場合は、MSCenterによって、消費可能メッセージを取得する。
【００６７】
ステップ７１０：MSCenterによって、メッセージを整理する。
【００６８】
ステップ７１２：MSCenterによって、メッセージのメッセージヘッダからユーザ情報およびアプリケーション情報を取得する。
【００６９】
ステップ７１４：MSCenterによって、取得されたユーザ情報およびアプリケーション情報に従って、クライアントリンク管理センター（CMCenter）から対応するリンク情報を取得する。
【００７０】
いくつかの実施形態では、図４〜６に示されるようなリンク情報は、CMCenterによって、データベースまたは分散キャッシュのクライアント登録情報に格納することができる。
【００７１】
ステップ７１６：MSCenterによって、ユーザ情報、アプリケーション情報およびリンク情報に従って、メッセージをマージまたは分類する。
【００７２】
いくつかの実施形態では、上記のマージプロセスおよび分類プロセスは、異なるシナリオに適用することができる。２つのプロセスは、以下で説明する。
【００７３】
１）マージプロセス
ユーザが同じデバイス上の複数のアプリケーション上で同じユーザアカウントによってそれぞれログインすることができるシナリオでは、たった１つのメッセージをデバイスにプッシュするだけでよいように、メッセージに対してマージプロセスを実行することができる。複数のアプリケーションは、それに応じて、対応するメッセージコンテンツを取得することができる。それにより、プッシュされたメッセージのデータボリュームを減少することができ、デバイスの電力消費量を低減することができる。特に、モバイル端末デバイスの場合、この方法は、データトラフィック消費量を低減し、待機時間を延長するために有益であり得る。
【００７４】
図８は、本開示のいくつかの実施形態による、例示的なマージプロセスの概略図を示す。図８に示されるように、ユーザは、同じユーザアカウントを使用し、デバイス１上のアプリケーションＡ、アプリケーションＢおよびアプリケーションＣ上でそれぞれログインすることができる。メッセージスケジューリングキューにおいてプッシュすべきメッセージを検出した後、MSCenterは、メッセージのメッセージヘッダにおいて、ユーザ情報（例えば、ユーザＩＤ＝１１１）およびアプリケーション情報（例えば、アプリケーションＩＤ１＝Ａ、アプリケーションＩＤ２＝ＢまたはアプリケーションＩＤ３＝Ｃのうちの１つ）を抽出するように構成することができる。また、MSCenterは、CMCenterから対応するリンク情報（例えば、デバイスＩＤ＝１またはデバイスＩＤ１＝デバイスＩＤ２＝…＝１のうちの１つ）を取得するように構成することもできる。MSCenterは、同じユーザアカウントがデバイス１ならびにデバイス１上のアプリケーションＡ、アプリケーションＢおよびアプリケーションＣに対応すると判断するようにさらに構成することができる。これは、複数のアプリケーションが同じデバイスに対応するシナリオである。
【００７５】
それに従って、MSCenterは、アプリケーションＩＤ１、アプリケーションＩＤ２およびアプリケーションＩＤ３など、アプリケーションＡ、アプリケーションＢおよびアプリケーションＣのＩＤをリンクメタデータ情報から抽出するように構成することができる。また、MSCenterは、すべてのＩＤ情報を同じメッセージに追加し、メッセージをメッセージプッシュキューに追加するように構成することもできる。メッセージプッシュキューからメッセージを取得した後、MSNodeは、メッセージをデバイス１に直接送信するように構成することができる。
【００７６】
それに応じて、プッシュされたメッセージを受信した後、デバイス１は、受信されたメッセージを解析することによって、受信されたメッセージに含まれるＩＤ情報（すなわち、アプリケーションＩＤ１、アプリケーションＩＤ２およびアプリケーションＩＤ３）およびメッセージコンテンツを取得するように構成することができる。また、デバイス１は、アプリケーションＩＤ１、アプリケーションＩＤ２およびアプリケーションＩＤ３に対応するアプリケーションＡ、アプリケーションＢおよびアプリケーションＣにそれぞれメッセージコンテンツを送信するように構成することもできる。
【００７７】
上記のマージプロセスにより、デバイス１上のアプリケーションＡ、アプリケーションＢおよびアプリケーションＣはすべてログインされたユーザアカウントを有するが、本方法は、たった１つのメッセージをプッシュするだけでよい。すべてのアプリケーションは、それに応じて、対応するメッセージコンテンツを得ることができる。それにより、特に、デバイス１がモバイルデバイスであり得る場合に、プッシュすべきメッセージのデータボリュームを効果的に減少することができる。その結果、データトラフィック消費量を相応に低減することができる。その上、メッセージプッシュは、MSNodeとのたった１つのリンクを介して、直接実行することができる。それにより、デバイス１の電力消費量を低減することができ、また、電源の電気量を節約することもできる。
【００７８】
２）分類プロセス
ユーザが複数のデバイス上の同じアプリケーション上で同じユーザアカウントによってログインすることができるシナリオでは、デバイスの各々が同じプッシュされたメッセージを受信できるように、メッセージに対して分類プロセスを実行することができる。ユーザは、デバイスのいずれか１つを介して、対応するプッシュされたメッセージを読み取ることができる。それは、メッセージの紛失を回避するために有益であり得る。
【００７９】
図９は、本開示のいくつかの実施形態による、例示的な分類プロセスの概略図である。図９に示されるように、ユーザは、同じユーザアカウントを使用して、デバイス１、デバイス２およびデバイス３上の同じアプリケーションＡ上でそれぞれログインすることができる。メッセージスケジューリングキューからプッシュすべきメッセージを検出した後、MSCenterは、メッセージのメッセージヘッダにおいてユーザ情報（例えば、ユーザＩＤ＝１１１）およびアプリケーション情報（例えば、アプリケーションＩＤ＝Ａ）を抽出し、CMCenterから対応するリンク情報（例えば、デバイスＩＤ１＝１、デバイスＩＤ２＝２またはデバイスＩＤ３＝３）を取得するように構成することができる。また、MSCenterは、同じユーザアカウントがデバイス１、デバイス２およびデバイス３上のアプリケーションＡに対応すると判断するように構成することもできる。これは、複数のデバイスが同じアプリケーションに対応するシナリオである。
【００８０】
それに従って、MSCenterは、各デバイスを１つのグループと受け止め、プッシュすべき１つのメッセージを、複数のデバイスに１対１で対応する複数のメッセージに分割し、MSNodeを介して複数のメッセージをプッシュすることができる。MSCenterは、リンク情報に従って、デバイスの各々に対応するMSNodeノードを決定することができる。例えば、図９に示されるように、デバイス１は、MSNodeノード１に対応し得、デバイス２は、MSNodeノード２に対応し得、デバイス３は、MSNodeノード３に対応し得る。MSNodeノード１のＩＤ、MSNodeノード２のＩＤおよびMSNodeノード３のＩＤはそれぞれ、それらの対応するプッシュすべきメッセージに追加することができる。プッシュすべきメッセージは、メッセージプッシュキューに追加することができる。MSNodeノードの各々は、そのＩＤに従って、メッセージプッシュキューから対応するプッシュすべきメッセージを選択し、MSNodeノード２を介して対応するメッセージをデバイス２にプッシュするまたはMSNodeノード３を介して対応するメッセージをデバイス３にプッシュするなど、プッシュ動作を実行することができる。
【００８１】
図７に戻ると、ステップ７１６のメッセージマージ／分類の後、以下のステップを実行することができる。
【００８２】
ステップ７１８：MSCenterによって、リンク情報に従って、例えば、メッセージをプッシュするためのクライアントアクセスサーバ（MSNode）のノードＩＤなど、メッセージセレクタ経路をメッセージに追加する。
【００８３】
ステップ７２０：MSCenterによって、メッセージをプッシュキューに追加する。
【００８４】
ステップ７２２：MSNodeによって、消費可能メッセージがプッシュキューに存在するかどうかをモニタする。消費可能メッセージがプッシュキューに存在する場合は、プッシュキューから対応するメッセージを抽出する。MSNodeは、一般に、複数のノードを含み得、各ノードは、対応する一意ＩＤを有し得る。プッシュキューの各メッセージに含まれるノードＩＤを検出することにより、メッセージは、対応するノードによって抽出および処理することができる。
【００８５】
ステップ７２４：MSNodeによって、抽出されたメッセージからリンク情報を取得し、ローカルリンクマネージャからリンク情報に対応するリンク接続インスタンスを読み取る。
【００８６】
ステップ７２６：MSNodeによって、リンク接続インスタンスおよびメッセージのメッセージコンテンツをプッシュイベントに封入し、それをブロードキャストする。
【００８７】
ステップ７２８：MSNodeのローカルプッシュイベントリスナによって、ブロードキャストプッシュイベントを受信した後に、対応するリンク接続インスタンスを使用して、メッセージコンテンツをクライアントにプッシュする。
【００８８】
ステップ７３０：クライアントによって、プッシュされたメッセージコンテンツを受信した後に、承認（ＡＣＫ）を返す。
【００８９】
ステップ７３２：MSNodeによって、ＡＣＫの受信状況に従って、ある特定のプロセスを実行する。
【００９０】
いくつかの実施形態では、MSNodeが、指定された時間内にクライアントからＡＣＫを受信しなかった場合は、ステップ７３２において再送信動作を実行することができる。いくつかの実施形態では、ある特定の回数だけ再送信動作が実行される場合、メッセージは、失敗処理キューに送信することができる。失敗メッセージプロセッサは、失敗キューのタイプに従って、メッセージに対する格付けプロセスを実行することができる。例えば、フロントタイプのキューの場合、メッセージ再送信を試みることができる。バックエンドキューのメッセージは、フロントキューに手動で回復するか、または、マニュアルトリガによって直接再送信することができる。デッドレターキュー（ＤＬＱ）のメッセージは、マニュアルトリガによってのみ再送信することができる。
【００９１】
図１０は、本開示のいくつかの実施形態による、MSCenterに対応する例示的な電子デバイスの概略構造図を示す。図１０を参照すると、ハードウェアレベルでは、電子デバイスは、プロセッサ、内部バス、ネットワークインタフェース、メモリおよび不揮発性メモリを含み得る。いくつかの実施形態では、電子デバイスは、他のサービスに必要な追加のハードウェアも含み得る。プロセッサは、実行のために不揮発性メモリからメモリに、対応するコンピュータプログラムを読み込むように構成することができる。論理レベルのプロセッサは、メッセージをプッシュするための装置であるように構成することができる。ソフトウェア実装形態に加えて、本開示は、論理デバイスまたはハードウェアとソフトウェアを組み合わせた方法など、他のいかなる実装形態も除外しない。以下の手順の実行実体は、様々な論理ユニットに制限されず、ハードウェアまたは論理デバイスでもあり得る。
【００９２】
図１１は、本開示のいくつかの実施形態による、メッセージをプッシュするための例示的な装置のブロック図である。いくつかの実施形態では、メッセージをプッシュするための装置は、抽出ユニット、取得ユニット、決定ユニットおよびプッシュユニットを含み得る。
【００９３】
抽出ユニットは、プッシュすべきメッセージが検出された場合に、メッセージのユーザ情報およびアプリケーション情報を抽出するように構成することができる。
【００９４】
取得ユニットは、ユーザ情報およびアプリケーション情報に対応するリンク情報を取得するように構成することができる。
【００９５】
決定ユニットは、ユーザ情報、アプリケーション情報およびリンク情報に従って、ユーザアカウントの登録デバイスおよび各登録デバイス上の登録アプリケーションを決定するように構成することができる。
【００９６】
追加ユニットは、登録デバイス上に複数の登録アプリケーションが存在する場合に、複数の登録アプリケーションについての識別情報を登録デバイスに対応するメッセージに追加するように構成することができる。メッセージに含まれる識別情報およびメッセージコンテンツは、抽出することができ、メッセージコンテンツは、メッセージを受信した後に、登録デバイスによって、識別情報に対応する各登録アプリケーションにそれぞれ送信することができる。
【００９７】
いくつかの実施形態では、メッセージをプッシュするための装置は、ユーザアカウントに対応する複数の登録デバイスが存在する場合に、各登録デバイスにメッセージをプッシュするように構成されたプッシュユニットをさらに含み得る。
【００９８】
いくつかの実施形態では、プッシュユニットは、複数の登録デバイスに対応する複数のメッセージを得るために、メッセージを複製するように構成することができる。また、プッシュユニットは、各登録デバイスに対応するクライアントアクセスサーバのノードアイデンティティ（ＩＤ）を取得し、各ノードＩＤを各々の対応するメッセージに追加するように構成することもできる。プッシュユニットは、各々がノードＩＤを含む複数のメッセージをメッセージプッシュキューに追加するようにさらに構成することができる。
【００９９】
いくつかの実施形態では、取得ユニットは、ユーザ情報およびアプリケーション情報に対応するリンク情報をクライアントリンク管理センターから取得するように構成することができる。リンク情報は、クライアントアクセスサーバがデバイスを登録する場合に当該デバイスと確立されたリンクから取得することができる。
【０１００】
図１２は、本開示のいくつかの実施形態による、別の例示的な電子デバイスの概略構造図を示す。ハードウェアレベルでは、電子デバイスは、プロセッサ、内部バス、ネットワークインタフェース、メモリおよび不揮発性メモリを含み得る。いくつかの実施形態では、電子デバイスは、他のサービスに必要な追加のハードウェアも含み得る。プロセッサは、実行のために不揮発性メモリからメモリに、対応するコンピュータプログラムを読み込むことができる。いくつかの実施形態では、論理レベルのプロセッサは、メッセージをプッシュするための装置を形成するように構成することができる。ソフトウェア実装形態に加えて、本開示は、論理デバイスまたはハードウェアとソフトウェアを組み合わせた方法など、他のいかなる実装形態も除外しない。以下の処理手順の実行実体は、様々な論理ユニットに制限されず、ハードウェアまたは論理デバイスでもあり得る。
【０１０１】
図１３は、本開示のいくつかの実施形態による、メッセージをプッシュするための別の例示的な装置のブロック図である。いくつかの実施形態では、メッセージをプッシュするための装置は、受信ユニット、抽出ユニットおよび送信ユニットを含み得る。
【０１０２】
受信ユニットは、プッシュされたメッセージを受信するように構成することができる。
【０１０３】
抽出ユニットは、プッシュされたメッセージに含まれるメッセージコンテンツおよび識別情報を抽出するように構成することができる。
【０１０４】
決定および送信ユニットは、各識別情報に対応する対象アプリケーションを決定し、メッセージコンテンツを各々の対応する対象アプリケーションに送信するように構成することができる。
【０１０５】
典型的な構成では、コンピューティングデバイスは、１つまたは複数のプロセッサ（ＣＰＵ）、入力／出力インタフェース、ネットワークインタフェースおよびメモリを含み得る。
【０１０６】
メモリは、コンピュータ可読媒体の非永久性メモリ、ランダムアクセスメモリ（ＲＡＭ）および／または不揮発性メモリ（読み取り専用メモリ（ＲＯＭ）またはフラッシュメモリ（フラッシュＲＡＭ）など）を含み得る。メモリは、コンピュータ可読媒体の例であり得る。
【０１０７】
コンピュータ可読媒体は、永久および非永久性、取り外し可能および取り外し不可能媒体を含み得、いかなる方法または技術を用いても情報の格納を実現することができる。情報は、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータであり得る。コンピュータ記憶媒体の例は、これらに限定されないが、コンピューティングデバイスによるアクセスが可能な情報を格納するために使用することができる、相変化メモリ（ＰＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、他のタイプのランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、電気的消去型プログラム可能読み取り専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリまたは他のメモリ技術、コンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）または他の光学記憶装置、磁気カセットテープ、磁気テープおよび磁気ディスク記憶装置または他の磁気記憶装置、あるいは、他の任意の非伝送媒体を含み得る。本明細書の定義によれば、コンピュータ可読媒体は、変調データ信号およびキャリアなどの一時的な媒体を含まない。
【０１０８】
また、「含む（include、comprise）」という用語または他の任意のその変形例は、非排他的な包含を含むことを意図することに留意する必要がある。従って、一連の要素を含むプロセス、方法、マーチャントまたはデバイスの文脈において、プロセス、方法、マーチャントまたはデバイスは、そのような要素を含むだけではなく、明確に指定されていない他の要素も含むことができるか、あるいは、プロセス、方法、マーチャントまたはデバイスの固有の要素も含むことができる。さらなる制限がない限り、「〜を含む（comprising a ......）」によって定義される要素は、その要素を含むプロセス、方法、マーチャントまたはデバイスに他の同一の要素が存在する状況を除外しない。
【０１０９】
上記で提示される説明は、単に、本開示の好ましい実施形態であり、本開示を制限することを意図しない。本出願の精神および原理の範囲内の変更、同様の置換、改善などはすべて、本開示の保護の範囲内に収まるものとする。
【図１】
0006686033.tif 000002
【図２】
0006686033.tif 000003
【図３】
0006686033.tif 000004
【図４】
0006686033.tif 000005
【図５】
0006686033.tif 000006
【図６】
0006686033.tif 000007
【図７】
0006686033.tif 000008
【図８】
0006686033.tif 000009
【図９】
0006686033.tif 000010
【図１０】
0006686033.tif 000011
【図１１】
0006686033.tif 000012
【図１２】
0006686033.tif 000013
【図１３】
0006686033.tif 000014