(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2021-12-20
(45)【発行日】2022-01-17
(54)【発明の名称】メッセージ送信チャネル自動選択及びメッセージ送信方法、装置及びプログラム
(51)【国際特許分類】
H04L 51/04 20220101AFI20220107BHJP
H04W 8/20 20090101ALI20220107BHJP
H04W 8/24 20090101ALI20220107BHJP
H04W 48/16 20090101ALI20220107BHJP
【FI】
H04L51/04
H04W8/20
H04W8/24
H04W48/16 130
(21)【出願番号】P 2020509050
(86)(22)【出願日】2019-01-08
(86)【国際出願番号】 KR2019000277
(87)【国際公開番号】W WO2020004753
(87)【国際公開日】2020-01-02
【審査請求日】2020-02-20
(31)【優先権主張番号】10-2018-0074774
(32)【優先日】2018-06-28
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】520051067
【氏名又は名称】エニグマ カンパニー,リミテッド
(74)【代理人】
【識別番号】110000671
【氏名又は名称】八田国際特許業務法人
(72)【発明者】
【氏名】リム,ヒュン ジン
【審査官】岩田 玲彦
(56)【参考文献】
【文献】特表2013-545199(JP,A)
【文献】特表2007-531088(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 13/00
H04W 8/20
H04W 8/24
H04W 48/16
(57)【特許請求の範囲】
【請求項1】
コンピューティング装置により行われる方法であって、
送信対象メッセージに関するメッセージ情報を取得するステップと、
前記メッセージの受信者に関する情報及び前記受信者のデバイスに関する情報の少なくとも1つを含む、受信者情報を取得するステップと、
前記メッセージ情報及び前記受信者情報に基づいて1つ以上の受信可能チャネルに関する情報を取得するステップと、
前記1つ以上の受信可能チャネルの少なくとも1つのチャネルを選択するステップと、
前記選択されたチャネルを介して前記メッセージを送信するステップとを含
み、
前記受信可能チャネルに関する情報を取得するステップは、
前記受信者のデバイスの種類及び前記受信者のデバイスに設置されたアプリケーションに関する情報に基づいて、前記受信者のデバイスで受信可能な1つ以上の受信可能チャネルに関する情報を取得するステップと、
前記受信者のデバイスに設置されたアプリケーションの状態に関する情報を取得するステップと、
前記アプリケーションの状態に関する情報に基づいて、前記受信者のデバイスにおいて前記受信者に通知を提供できる1つ以上の受信可能チャネルに関する情報を取得するステップとを含む、メッセージ送信チャネル自動選択及びメッセージ送信方法。
【請求項2】
前記チャネルを選択するステップは、
前記1つ以上の受信可能チャネルの少なくとも一部に対する優先順位を決定するステップと、
前記決定された優先順位に応じて前記少なくとも1つのチャネルを選択するステップとを含む、請求項1に記載のメッセージ送信チャネル自動選択及びメッセージ送信方法。
【請求項3】
前記優先順位を決定するステップは、
前記1つ以上の受信可能チャネルのそれぞれの経済性に基づいて前記優先順位を決定するステップを含む、請求項2に記載のメッセージ送信チャネル自動選択及びメッセージ送信方法。
【請求項4】
前記メッセージを送信するステップは、
前記選択されたチャネルを介して送信されたメッセージが前記受信者に提供できないか、既に設定された時間以上前記受信者により確認されない場合、前記決定された優先順位に応じて前記選択されたチャネルの次順位のチャネルを選択するステップと、
前記次順位のチャネルを介して前記メッセージを再送信するステップとをさらに含む、請求項2に記載のメッセージ送信チャネル自動選択及びメッセージ送信方法。
【請求項5】
前記チャネルを選択するステップでは、前記受信者のデバイスにおいて前記受信者に通知を提供できる1つ以上の受信可能チャネルに関する情報に基づいて、前記受信者のデバイスにおいて前記受信者に通知を提供できる受信可能チャネルの少なくとも1つのチャネルを選択する、請求項1に記載のメッセージ送信チャネル自動選択及びメッセージ送信方法。
【請求項6】
1つ以上のインストラクションを格納するメモリと、
前記メモリに格納された前記1つ以上のインストラクションを実行するプロセッサとを含み、
前記プロセッサは、前記1つ以上のインストラクションを実行することにより、送信対象メッセージに対するメッセージ情報を取得するステップと、
前記メッセージに受信者に関する情報及び前記受信者のデバイスに関する情報の少なくとも1つを含む、受信者情報を取得するステップと、
前記メッセージ情報及び前記受信者情報に基づいて1つ以上の受信可能チャネルに関する情報を取得するステップと、
前記1つ以上の受信可能チャネルの少なくとも1つのチャネルを選択するステップと、
前記選択されたチャネルを介して前記メッセージを送信するステップとを行
い、
前記受信可能チャネルに関する情報を取得するステップは、
前記受信者のデバイスの種類及び前記受信者のデバイスに設置されたアプリケーションに関する情報に基づいて、前記受信者のデバイスで受信可能な1つ以上の受信可能チャネルに関する情報を取得するステップと、
前記受信者のデバイスに設置されたアプリケーションの状態に関する情報を取得するステップと、
前記アプリケーションの状態に関する情報に基づいて、前記受信者のデバイスにおいて前記受信者に通知を提供できる1つ以上の受信可能チャネルに関する情報を取得するステップとを行う、メッセージ送信チャネル自動選択及びメッセージ送信装置。
【請求項7】
ハードウェアであるコンピュータと結合されて、請求項1の方法を実行できるようにコンピュータで読み出し可能な記録媒体に格納されたコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メッセージ送信チャネル自動選択及びメッセージ送信方法、装置及びプログラムに関する。
【背景技術】
【0002】
端末間のメッセージ送信技術の多変化により、最近は、テキストメッセージ(SMS、MMS)だけでなくデータ通信網を利用するメッセンジャーアプリケーションが広く利用されている。
【0003】
また、スマートフォンの普及により、既存とは異なる多様なチャネルとプッシュメッセージを利用してメッセージを送信できる技術が開発及び利用されている。このようなメッセージ送信チャネルは、その種類に応じて異なる特性を有しているため、どのチャネルを介してメッセージを送信するかによってコストやシステム負荷が決定される。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明が解決しようとする課題は、メッセージ送信チャネル自動選択及びメッセージ送信方法、装置及びプログラムを提供することにある。
【0005】
本発明が解決しようとする課題は、以上で言及された課題に限定されるものではなく、言及されていないまた他の課題は以下の記載から通常の技術者に明確に理解することができるだろう。
【課題を解決するための手段】
【0006】
前述した課題を解決するための本発明の一側面によるメッセージ送信チャネル自動選択及びメッセージ送信方法は、送信対象メッセージに関するメッセージ情報を取得するステップと、前記メッセージの受信者に関する情報及び前記受信者のデバイスに関する情報の少なくとも1つを含む、受信者情報を取得するステップと、前記メッセージ情報及び前記受信者情報に基づいて1つ以上の受信可能チャネルに関する情報を取得するステップと、前記1つ以上の受信可能チャネルの少なくとも1つのチャネルを選択するステップと、前記選択されたチャネルを介して前記メッセージを送信するステップとを含む。
【0007】
また、前記チャネルを選択するステップは、前記1つ以上の受信可能チャネルの少なくとも一部に対する優先順位を決定するステップと、前記決定された優先順位に応じて前記少なくとも1つのチャネルを選択するステップとを含んでもよい。
【0008】
また、前記優先順位を決定するステップは、前記1つ以上の受信可能チャネルそれぞれの経済性に基づいて前記優先順位を決定するステップを含んでもよい。
【0009】
また、前記メッセージを送信するステップは、前記選択されたチャネルを介して送信されたメッセージが前記受信者に提供できないか、既に設定された時間以上前記受信者により確認されない場合、前記決定された優先順位に応じて前記選択されたチャネルの次順位チャネルを選択するステップと、前記次順位チャネルを介して前記メッセージを再送信するステップとをさらに含んでもよい。
【0010】
また、前記受信可能チャネルに関する情報を取得するステップは、前記メッセージの種類及び容量の少なくとも1つに基づいて前記メッセージを送信できる1つ以上の受信可能チャネルに関する情報を取得するステップを含んでもよい。
【0011】
また、前記受信可能チャネルに関する情報を取得するステップは、前記受信者が受信できる1つ以上のチャネルに関する情報を取得するステップと、前記受信者が受信できる1つ以上のチャネルに対して、前記受信者が受信を許容したか否かに関する情報を取得するステップと、前記受信者が受信でき、前記受信者が受信を許容した1つ以上の受信可能チャネルに関する情報を取得するステップとを含んでもよい。
【0012】
また、前記受信可能チャネルに関する情報を取得するステップは、前記受信者のデバイスの種類及び前記受信者のデバイスに設置されたアプリケーションに関する情報に基づいて、前記受信者のデバイスにおいて受信可能な1つ以上の受信可能チャネルに関する情報を取得するステップを含んでもよい。
【0013】
また、前記受信可能チャネルに関する情報を取得するステップは、前記受信者のデバイスに設置されたアプリケーションの状態に関する情報を取得するステップと、前記アプリケーションの状態に関する情報に基づいて、前記受信者のデバイスにおいて前記受信者に通知を提供できる1つ以上の受信可能チャネルに関する情報を取得するステップをさらに含んでもよい。
【0014】
前述した課題を解決するための本発明の一側面によるメッセージ送信チャネル自動選択及びメッセージ送信装置は、1つ以上のインストラクションを格納するメモリと、前記メモリに格納された前記1つ以上のインストラクションを実行するプロセッサとを含み、前記プロセッサは、前記1つ以上のインストラクションを実行することにより、送信対象メッセージに関するメッセージ情報を取得するステップと、前記メッセージの受信者に関する情報及び前記受信者のデバイスに関する情報の少なくとも1つを含む、受信者情報を取得するステップと、前記メッセージ情報及び前記受信者情報に基づいて1つ以上の受信可能チャネルに関する情報を取得するステップと、前記1つ以上の受信可能チャネルの少なくとも1つのチャネルを選択するステップと、前記選択されたチャネルを介して前記メッセージを送信するステップとを行う。
【0015】
前述した課題を解決するための本発明の一側面によってハードウェアであるコンピュータと結合されて、開示された実施形態による方法を実行できるようにコンピュータで読み出し可能な記録媒体に格納されたコンピュータプログラムが提供される。
本発明の他の具体的な事項は、詳細な説明及び図面に含まれている。
【発明の効果】
【0016】
開示された実施形態によると、メッセージの種類とデバイスの状態、受信者情報に応じて最適のメッセージ送信チャネルを選択及びメッセージを送信することにより、メッセージ送信の経済性を最大化し、メッセージ送信によるシステム負荷を最小化できる効果がある。
【0017】
本発明の効果は、以上で言及された効果に限定されなく、言及されていない他の効果は以下の記載から通常の技術者に明確に理解することができるだろう。
【図面の簡単な説明】
【0018】
【
図1】一実施形態によるメッセージ送信チャネル自動選択及びメッセージ送信システムを簡略に示す概念図である。
【
図2】一実施形態によるメッセージ送信チャネル自動選択及びメッセージの送信方法を示すフローチャートである。
【
図3】一実施形態による優先順位に応じるメッセージ送信チャネル選択及びメッセージ送信方法を示すフローチャートである。
【
図4】一実施形態によるメッセージ再送信方法を示すフローチャートである。
【
図5】一実施形態による受信可能チャネル情報取得方法を示すフローチャートである。
【
図6】他の実施形態によって受信可能チャネル情報を取得する方法を示すフローチャートである。
【発明を実施するための形態】
【0019】
本発明の利点及び特徴、そしてそれらを達成する方法は、添付される図面と共に詳細に後述されている例を参照すると明確になるだろう。しかしながら、本発明は、以下で開示される実施形態に限定されるものではなく、相異なる多様な形態で実現されることができ、単に本実施形態は、本発明の開示が完全になるようにし、本出願が属する技術分野の通常の技術者に本発明の範疇を完全に知らせるために提供されるものであり、本発明は、請求項の範疇により定義されるだけである。
【0020】
本明細書で用いられる用語は、実施形態を説明するためのものであって、本発明を制限しようとするものではない。本明細書で、単数型は語句で特に言及しない限り複数型も含む。明細書で用いられる「含む(comprises)」及び/又は「含む(comprising)」は、言及された構成要素以外に1つ以上の他の構成要素の存在又は追加を排除しない。明細書全体にわたって同一の図面符号は同一の構成要素を示し、「及び/又は」は、言及された構成要素のそれぞれ及び1つ以上の全ての組み合わせを含む。「第1」、「第2」などが様々な構成要素を説明するために用いられるが、これらの構成要素は、これらの用語により制限されないことは言うまでもない。これらの用語は、但しある構成要素を他の構成要素と区別するために使用される。従って、以下で言及される第1構成要素は、本発明の技術的思想内で第2構成要素でもあり得ることは言うまでもない。
【0021】
他の定義がなければ、本明細書で用いられる全ての用語(技術及び科学的用語を含む)は、本発明が属する技術分野で通常の知識を有する者に共通して理解され得る意味として用いることができるであろう。また、一般的に用いられる事前に定義されている用語は、明らかに特別に定義されていない限り理想的又は過度に解釈されない。
【0022】
明細書で用いられる「部」又は「モジュール」という用語はソフトウェア、FPGA又はASICのようなハードウェア構成要素を意味し、「部」又は「モジュール」はある役割を果たす。しかしながら、「部」又は「モジュール」はソフトウェア又はハードウェアに限定される意味ではない。「部」又は「モジュール」はアドレッシングできる格納媒体内において構成されてもよく、1つ又はそれ以上のプロセッサを実行させるようにも構成されてもよい。従って、一例として「部」又は「モジュール」はソフトウェア構成要素、オブジェクト指向ソフトウェア構成要素、クラス構成要素及びタスク構成要素などの構成要素と、プロセス、関数、属性、プロシージャ、サブルーチン、プログラムコードのセグメント、ドライバ、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイ及び変数を含む。構成要素と「部」又は「モジュール」の内において提供される機能はさらに小さな数の構成要素及び「部」又は「モジュール」に結合されるか、追加的な構成要素と「部」又は「モジュール」にさらに分離されてもよい。
【0023】
以下、添付された図面を参照して本発明の実施形態を詳細に説明する。
【0024】
図1は、一実施形態によるメッセージ送信チャネル自動選択及びメッセージ送信システムを簡略に示す概念図である。
【0025】
図1を参照すると、サーバ100と、サーバ100を介して通信する発信者端末10及び受信者端末20が示されている。
【0026】
一実施形態において、発信者端末10及び受信者端末20は、スマートフォンを含むモバイル装置を意味し得るが、これに限定されるものではない。
【0027】
一実施形態において、発信者端末10、受信者端末20及びサーバ100は、少なくとも1つのプロセッサを含むコンピューティング装置を意味し得る。例えば、コンピューティング装置は、スマートフォン、タブレットPC、デスクトップ、ノートPCなどを含むが、これに限定されるものではない。
【0028】
一実施形態において、発信者端末10は、受信者端末20にメッセージを送信し、メッセージはサーバ100を介して受信者端末20に送信されるが、これに限定されるわけではない。また、発信者端末10及び受信者端末20は、メッセージを伝達する一実施形態での役割を基準に命名されたものであり、受信者端末20も発信者端末10にメッセージを送信でき、発信者端末10と受信者端末20のハードウェア的な構成やソフトウェア的な機能に差があることではない。
【0029】
本明細書では、発信者端末10が受信者端末20にメッセージを送信する実施形態において、メッセージ送信チャネルを自動で選択し、選択されたチャネルを介してメッセージを送信する方法について説明する。
【0030】
開示された実施形態によるメッセージ送信チャネル自動選択及びメッセージ送信方法の少なくとも一部又は全部は、発信者端末10及びサーバ100の両方ともにおいて行われることができるが、以下では、説明の便宜のための例示として各段階の主体を分離して説明する。しかしながら、各段階の主体は、以下で説明される例示によって限定されるものではなく、全ての種類のコンピューティング装置により各段階が行われることができる。
【0031】
図2は、一実施形態によるメッセージ送信チャネル自動選択及びメッセージの送信方法を示すフローチャートである。
【0032】
ステップS101で、サーバ100は、発信者端末10から送信対象メッセージ又は送信対象メッセージに関する情報を受信し、これにより送信対象メッセージに関するメッセージ情報を取得する。
【0033】
例えば、メッセージ情報は、メッセージの種類(例えば、テキスト、イメージ、音声、動画、混合コンテンツなど)、メッセージのサイズ(例えば、80byte以下又は以上)、ショートメッセージ、ロングメッセージ、記号、信号情報などを含むことができるが、これに限定されるものではない。
【0034】
一実施形態において、メッセージ情報は、メッセージのファイルサイズ、フォーマット情報、ヘッダ情報及び属性情報の少なくとも一部に基づいて取得できるが、これに限定されるものではない。
【0035】
ステップS102で、サーバ100は、前記メッセージの受信者に関する情報及び前記受信者のデバイスに対する情報の少なくとも1つを含む、受信者情報を取得する。
【0036】
例えば、受信者情報は、受信者の特定サービス(例えば、サイトやアプリケーションなど)に対する会員加入情報、個人情報、受信同意情報などを含む受信者個人情報と、受信者端末20と関連したデバイス情報を含んでもよい。
【0037】
例えば、デバイス情報は、フィーチャーフォン、スマートフォンなどのデバイスの種類と、2G、3G、4G、5Gなどのデバイスが利用するネットワーク情報と、アンドロイド、ios、ウインドウなどのデバイスの運営体制情報と、各デバイスに設置されたアプリケーション(プログラム)の情報などを含むが、これに限定されるものではない。
【0038】
ステップS103で、サーバ100は、前記メッセージ情報及び前記受信者情報に基づいて1つ以上の受信可能チャネルに関する情報を取得する。
【0039】
例えば、受信可能チャネルに関する情報は、プッシュメッセージ(例えば、軽量メッセージ、重量メッセージ、apns、gcm(c2dm)、RCS、他社のpush、oma-mms、他社のSNSチャネルなど)、移動通信社のメッセージ(例えば、SMS、MMSなど)などを含むが、これに限定されるものではない。
【0040】
一実施形態において、受信可能チャネルは、メッセージの種類及び容量の少なくとも1つに基づいて前記メッセージを送信できるチャネルを意味し得るが、これに限定されるものではない。
【0041】
ステップS104で、サーバ100は、前記1つ以上の受信可能チャネルの少なくとも1つのチャネルを選択し、チャネルの種類は前述した例示に含まれたチャネルの少なくとも1つを含んでもよいが、これに限定されるものではない。
【0042】
ステップS105で、サーバ100は、選択されたチャネルを介して受信者端末20に前記メッセージを送信する。
【0043】
図3は、一実施形態による優先順位に応じるメッセージ送信チャネル選択及びメッセージ送信方法を示すフローチャートである。
【0044】
ステップS106で、サーバ100は、前記1つ以上の受信可能チャネルの少なくとも一部に対する優先順位を決定する。
【0045】
一実施形態において、優先順位は、前記1つ以上の受信可能チャネルのそれぞれの経済省に基づいて決定されてもよい。例えば、さらに安いコストでメッセージを送信できるチャネルであるほど優先順位が高く設定される。
【0046】
また、優先順位は、システムの負荷程度に基づいて設定されてもよく、ユーザが設定した順序に基づいて優先順位が与えられてもよい。ユーザが設定した順序に基づいて優先順位が与えられる場合、ユーザが設定した順序のみに応じて優先順位が与えられてもよく、ユーザが選択したチャネルに加重値又は加点を与えることにより優先順位を算出してもよい。
【0047】
ステップS107で、サーバ100は、前記決定された優先順位に応じて前記少なくとも1つのチャネルを選択することができる。
【0048】
例えば、サーバ100は、受信者が受信できるチャネルのうち、最も優先順位が高いチャネルを選択してメッセージを送信することがあり、実施形態によって最も少ないコストでメッセージを送信できるチャネルを選択してメッセージを送信することがある。
【0049】
他の実施形態において、受信者が受信できるチャネルのうちでも受信者が実際にメッセージを受信するか、確認できる確率が相異なるチャネルがあり得る。従って、一実施形態によると、サーバ100は、受信者が受信できるチャネルのうち、受信者がメッセージを確認する確率が高いか、受信者がメッセージを迅速に確認すると推定されるチャネルに対して高い優先順位を与えることができる。
【0050】
一実施形態において、優先順位は、経済性、受信者がメッセージを確認する確率、受信者がメッセージを確認すると予想される時間などに基づいて設定される。
【0051】
それ以外にも、優先順位は、データサイズ又は写真有無(サイズ)又は画像有無(サイズ)又は当該チャネルの負荷率、又は送信メッセージの緊急性(緊急度)などの多様な要素を含んで決定され、これに限定されない。
【0052】
一実施形態において、優先順位は、メッセージの送信順序の決定にも利用できる。例えば、push(軽量メッセージ)送信キュー(送信のために待機した空間)に送信のために待機している既存の一般待機者があっても緊急性を有するメッセージがキューに来る場合、送信順序(待機)が優先するメッセージを優先して送信するように順序が変更される。
【0053】
図4は、一実施形態によるメッセージ再送信方法を示すフローチャートである。
【0054】
ステップS108で、サーバ100は、前記選択されたチャネルを介して送信されたメッセージが前記受信者に提供できないか、既に設定された時間以上前記受信者により確認されない場合、前記決定された優先順位に応じて前記選択されたチャネルの次順位チャネルを選択する。
【0055】
例えば、特定チャネルが選択されてメッセージが受信者に送信された場合、受信者が既に設定された時間の間、メッセージを確認しない場合、優先順位において次順位であるチャネルを選択することができる。
【0056】
ステップS109で、サーバ100は、前記次順位のチャネルを介して前記メッセージを再送信する。同様に、再送信したメッセージも既に設定された時間の間、確認されないと、サーバ100はまた次順位のチャネルを介してメッセージを再送信する。
【0057】
一実施形態において、複数のチャネルにメッセージが重複送信される場合、混線が発生する可能性があるので、重複送信が発生する場合、その前に発送したメッセージを削除するか、非活性化することにより、混乱を防止することができる。
【0058】
一実施形態において、受信者端末20においてまだメッセージがダウンロードされていない場合、サーバ100は重複されたメッセージを削除するか、非活性化することができる。
【0059】
既に受信者端末20にメッセージがダウンロードされた場合、サーバ100は、該当メッセージを削除する権限がある場合、メッセージを削除するか、非活性化することができ、権限がない場合、該当メッセージが重複されたことを知らせる情報を受信者端末20に送信することもできる。
【0060】
図5は、一実施形態による受信可能チャネル情報取得方法を示すフローチャートである。
【0061】
ステップS110で、サーバ100は、前記受信者が受信できる1つ以上のチャネルに関する情報を取得することができる。
【0062】
例えば、受信者が受信できるチャネルとは、受信者が各サイトやアプリケーションに会員加入をしているか否かに基づいて決定されることができる。
【0063】
ステップS111で、サーバ100は、前記受信者が受信できる1つ以上のチャネルに対して、前記受信者が受信を許容したか否かに関する情報を取得できる。
【0064】
例えば、受信者が技術的に受信できるチャネルである場合も、受信者が当該チャネルによる受信を拒否した可能性もある。この場合、メッセージ送信が不可能であるので、サーバ100はユーザが受信を許容したか否かに関する情報を予め取得する。
【0065】
ステップS112で、サーバ100は、前記受信者が受信できるとともに、前記受信者が受信を許容した1つ以上の受信可能チャネルに関する情報を取得できる。
【0066】
すなわち、サーバ100は、受信者が技術的に受信できるとともに、受信者が受信を許容したチャネルを選択してメッセージを送信することにより、メッセージの伝達確率を上昇させることができる。
【0067】
一実施形態において、サーバ100は、前記受信者のデバイスの種類及び前記受信者のデバイスに設置されたアプリケーションに関する情報に基づいて、前記受信者のデバイスで受信可能な1つ以上の受信可能チャネルに関する情報を取得することができる。
【0068】
例えば、サーバ100は、受信者のデバイスの種類、すなわち、受信者端末20の種類に応じて利用可能なチャネルに関する情報を取得できる。
【0069】
例えば、デバイス情報は、フィーチャーフォン、スマートフォンなどのデバイスの種類と、2G、3G、4G、5Gなどのデバイスが用いるネットワーク情報と、アンドロイド、ios、ウインドウなどのデバイスの運営体制情報と、各デバイスに設置されたアプリケーション(プログラム)情報などを含むが、これに限定されるものではない。
【0070】
図6は、他の実施形態によって受信可能チャネル情報を取得する方法を示すフローチャートである。
【0071】
ステップS113で、サーバ100は、前記受信者のデバイスに設置されたアプリケーションの状態に関する情報を取得できる。
【0072】
例えば、サーバ100は、受信者のデバイス自体だけでなく受信者のデバイスに設置されたアプリケーションに関する情報を取得し、各アプリケーションの状態に関する情報を取得できる。
【0073】
例えば、アプリケーションは、受信者端末20に設置されているが、非活性化されている可能性もあり、プッシュ通知が許容されていない可能性もある。
【0074】
例えば、特定メッセンジャーアプリケーションが設定されており、活性化されている場合も、通知設定が消えている可能性もある。サーバ100は、当該情報を受信者端末20から収集することができる。
【0075】
また、アプリケーションは、受信者端末20に設置されただけでなく、プッシュ通知も許容されている可能性がある。しかしながら、受信者端末20において該当アプリケーションがバックグラウンドにおいて少なくとも1つのプロセスを動作させ、プッシュ通知要求が来る場合、プッシュ通知を提供できる状態にあるか否かを追加的に確認しなければならない。
【0076】
例えば、受信者端末20においてバッテリを節約などのために当該アプリケーションのバックグラウンドプロセスを強制で終了させる場合があり得る。この場合、メッセージが送信される場合にも、プッシュ通知を提供できない可能性がある。
【0077】
従って、サーバ100は、受信者端末20との通信により(例えば、プッシュメッセージを送信できるか否かを確認する信号をテストとして先に送ることができる)受信者端末20が該当チャネルで通知を提供できる状態であるか否かを確認する。
【0078】
ステップS115で、サーバ100は、前記アプリケーションの状態に関する情報に基づいて、前記受信者のデバイスにおいて前記受信者に通知を提供できる1つ以上の受信可能チャネルに関する情報を取得できる。
【0079】
サーバ100は、取得された情報に基づいて、受信者のデバイス、すなわち、受信者端末20に特定チャネルでメッセージを送信する場合、受信者端末20に通知を提供できると判断されるチャネルにメッセージを送信することができる。
【0080】
従って、サーバ100は、送信されるメッセージが受信者により確認される確率を高めることができ、また確認される速度を上げることができる。
【0081】
【0082】
プロセッサ102は、1つ以上のコア(core)(図示せず)及びグラフィック処理部(図示せず)及び/又は他の構成要素と信号を送受信する連結通路(例えば、バス(bus)など)を含む。
【0083】
一実施形態によるプロセッサ102は、メモリ104に格納された1つ以上のインストラクションを実行することにより、
図1ないし
図6と関連して説明された方法を行う。
【0084】
例えば、プロセッサ102は、メモリに格納された1つ以上のインストラクションを実行することにより送信対象メッセージに関するメッセージ情報を取得し、前記メッセージの受信者に関する情報及び前記受信者のデバイスに関する情報の少なくとも1つを含む、受信者情報を取得し、前記メッセージ情報及び前記受信者情報に基づいて1つ以上の受信可能チャネルに関する情報を取得し、前記1つ以上の受信可能チャネルの少なくとも1つのチャネルを選択し、前記選択されたチャネルを介して前記メッセージを送信する。
【0085】
一方、プロセッサ102は、プロセッサ102の内部で処理される信号(又は、データ)を一時的及び/又は永久的に格納するRAM(Random Access Memory、図示せず)及びROM(Read-Only Memory、図示せず)をさらに含んでもよい。また、プロセッサ102は、グラフィック処理部、RAM及びROMの少なくとも1つを含むシステムオンチップ(SoC:system on chip)の形態で実現されてもよい。
【0086】
メモリ104にはプロセッサ102の処理及び制御のためのプログラム(1つ以上のインストラクション)が格納される。メモリ104に格納されたプログラムは、機能に応じて複数のモジュールで区分されることができる。
【0087】
本発明の実施形態と関連して説明された方法又はアルゴリズムの段階は、ハードウェアで直接実現されるか、ハードウェアにより行われるソフトウェアモジュールで実現されるか、又はこれらの結合により実現されることができる。ソフトウェアモジュールは、RAM(Random Access Memory)、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、フラッシュメモリ(Flash Memory)、ハードディスク、脱着型ディスク、CD-ROM又は本発明が属する技術分野において周知されている任意の形態のコンピュータ読み取り可能な記録媒体に存在することもできる。
【0088】
本発明の構成要素は、ハードウェアであるコンピュータと結合されて実行されるためにプログラム(又は、アプリケーション)で実現されて媒体に格納されることができる。本発明の構成要素は、ソフトウェアプログラミング又はソフトウェア要素で実行できるとともに、これと類似して、実施形態はデータ構造、プロセス、ルーチンまたは他のプログラミング構成の組み合わせで実現される多様なアルゴリズムを含んで、C、C++、Java、アセンブラ(assembler)などのプログラミング又はスクリプト言語で実現されることができる。機能的な側面は、1つ以上のプロセッサで実行されるアルゴリズムで実現されることができる。
【0089】
以上、添付の図面を参照して本発明の実施形態を説明したが、本発明が属する技術分野における通常の技術者は、本発明がその技術的思想や必須の特徴を変更することなく、他の具体的な形態で実施され得ることが理解できるはずである。従って、以上で記述した実施形態はあらゆる面で例示的なものであり、制限的ではないものとして理解すべきである。