(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024048824
(43)【公開日】2024-04-09
(54)【発明の名称】配信サーバ、及び配信方法
(51)【国際特許分類】
H04L 51/226 20220101AFI20240402BHJP
H04M 11/00 20060101ALI20240402BHJP
【FI】
H04L51/226
H04M11/00 302
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2022154945
(22)【出願日】2022-09-28
(71)【出願人】
【識別番号】000003193
【氏名又は名称】TOPPANホールディングス株式会社
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100139686
【弁理士】
【氏名又は名称】鈴木 史朗
(74)【代理人】
【識別番号】100169764
【弁理士】
【氏名又は名称】清水 雄一郎
(74)【代理人】
【識別番号】100147267
【弁理士】
【氏名又は名称】大槻 真紀子
(72)【発明者】
【氏名】佐藤 義輝
(72)【発明者】
【氏名】小松 嵩実
(72)【発明者】
【氏名】小野田 千紘
(72)【発明者】
【氏名】林 明穂
【テーマコード(参考)】
5K201
【Fターム(参考)】
5K201BA05
5K201CA09
(57)【要約】 (修正有)
【課題】バッチ処理による大量の配信情報が配信キューに格納された場合であっても、オンデマンド配信及び配信済みのメッセージの状況に応じて配信される2通目以降のメッセージを遅延なく配信する配信サーバ及び配信方法を提供する。
【解決手段】配信システム1において、配信サーバ10は、バッチ処理により配信するメッセージを標準配信キュー13に格納し配信リクエストに応じてオンデマンド配信するメッセージを優先配信キュー14に格納する振分処理部15と、優先配信キュー14に格納されていない場合に標準配信キュー13に格納されたメッセージを配信するための処理を実行する配信処理部17と、配信処理部によって配信された配信済メッセージの状況を示す状況情報に基づいて配信する2通目以降のメッセージに関する第3配信情報を生成して優先配信キュー14に格納する受付処理部18と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
バッチ処理により配信するメッセージに関する第1配信情報を標準配信キューに格納し、配信リクエストに応じてオンデマンド配信するメッセージに関する第2配信情報を前記標準配信キューとは異なる優先配信キューに格納する振分処理部と、
前記優先配信キューに前記第2配信情報が格納されているか否かを判定し、前記第2配信情報が格納されている場合、前記第2配信情報に対応するメッセージを配信するための処理を実行し、前記優先配信キューに前記第2配信情報が格納されていない場合に前記標準配信キューに格納された前記第1配信情報に対応するメッセージを配信するための処理を実行する配信処理部と、
前記配信処理部によって配信された配信済メッセージの状況を示す状況情報に基づいて、前記状況に応じて配信する2通目以降のメッセージに関する第3配信情報を生成し、生成した前記第3配信情報に対応する前記配信済メッセージが前記バッチ処理により配信されたメッセージであるか前記オンデマンド配信されたメッセージであるかに関わらず、前記第3配信情報を前記優先配信キューに格納する受付処理部と、
を備える配信サーバ。
【請求項2】
前記配信サーバは、通信事業者サーバを介して、RCS(Rich Communication Services)を利用したメッセージを配信し、
前記配信処理部は、前記通信事業者サーバを介してメッセージを配信し、
前記受付処理部は、前記配信処理部によって配信されたメッセージが配信先に受信されたことに伴って前記通信事業者サーバから通知されるWebhook情報を前記状況情報として取得し、取得したWebhook情報に基づいて前記第3配信情報を生成する、
請求項1に記載の配信サーバ。
【請求項3】
前記配信サーバは、通信事業者サーバを介して、RCS(Rich Communication Services)を利用したメッセージを配信し、
前記配信処理部は、メッセージに含まれるコンテンツに、前記コンテンツが操作されたことに対応して送信する次メッセージを示す情報を含むポストバックデータを設定したメッセージを、前記通信事業者サーバを介して配信し、
前記受付処理部は、前記コンテンツが操作されたことに伴って前記通信事業者サーバから通知されるWebhook情報を前記状況情報として取得し、取得したWebhook情報に含まれる前記ポストバックデータに示された前記次メッセージを示す情報に基づいて前記第3配信情報を生成する、
請求項1に記載の配信サーバ。
【請求項4】
メッセージの配信先である通信端末がRCSに対応しているか否かを判定するための処理を行う判定処理部を更に備え、
前記配信処理部は、前記判定処理部が行った処理の結果に応じて前記通信端末がRCSに対応していると判定された場合に、RCSを利用したメッセージを配信するための処理を行う、
請求項2又は請求項3に記載の配信サーバ。
【請求項5】
コンピュータが行う配信方法であって、
振分処理部が、バッチ処理により配信するメッセージに関する第1配信情報を標準配信キューに格納し、配信リクエストに応じてオンデマンド配信するメッセージに関する第2配信情報を前記標準配信キューとは異なる優先配信キューに格納し、
配信処理部が、前記優先配信キューに前記第2配信情報が格納されているか否かを判定し、前記第2配信情報が格納されている場合、前記第2配信情報に対応するメッセージを配信するための処理を実行し、前記優先配信キューに前記第2配信情報が格納されていない場合に前記標準配信キューに格納された前記第1配信情報に対応するメッセージを配信するための処理を実行し、
受付処理部が、前記配信処理部によって配信された配信済メッセージの状況を示す状況情報に基づいて、前記状況に応じて配信する2通目以降のメッセージに関する第3配信情報を生成し、生成した前記第3配信情報に対応する前記配信済メッセージが前記バッチ処理により配信されたメッセージであるか前記オンデマンド配信されたメッセージであるかに関わらず、前記第3配信情報を前記優先配信キューに格納する、
配信方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、配信サーバ、及び配信方法に関する。
【背景技術】
【0002】
オンラインで情報を通知するメッセージサービスがある(例えば、特許文献1)。このようなサービスでは、メッセージを配信する際に、まず、配信キューに配信情報がキューイング(格納)される。次に、配信キューに格納された配信情報が1つずつ取得され、取得された配信情報を配信する配信処理が行われる。配信処理の方法として、例えば、バッチ処理によるバルク配信と、オンデマンド配信の2つが存在する。前者は、バッチ処理のタイミングが到来する度に複数のメッセージを一括して配信する処理であり、例えば、10時に1万件のメッセージを配信するような処理が行われる。後者のオンデマンド配信においては、個別に配信リクエストを受け付け、配信リクエストに応じてリアルタイムにメッセージを配信する。
【0003】
また、メッセージサービスでは、1通目のメッセージの状況に応じて、2通目以降のメッセージが配信される。例えば、「マイページの使い方について動画で詳しくご覧になりますか」などの案内文と共に、「はい」及び「いいえ」が示された操作ボタンを含むメッセージが配信されたとする。このメッセージに対し、「はい」が操作された場合、動画を含むメッセージが送信される。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、バルク配信を行う場合、バッチ処理による大量の配信情報が配信キューに格納される。大量の配信情報が配信キューに格納されている状態で、オンデマンド配信による配信リクエストを受信した場合、オンデマンド配信による配信が遅延する可能性がある。オンデマンド配信においては、配信リクエストを受け付けてから遅延なくメッセージが配信される方がよい。また、配信済みのメッセージの状況に応じて配信される2通目以降のメッセージにおいても、返信を待っているユーザの期待に応えられるように、遅延なく配信されることが望ましい。
【0006】
本発明は、このような事情に鑑みてなされたもので、その目的は、バッチ処理による大量の配信情報が配信キューに格納された場合であっても、オンデマンド配信、及び配信済みのメッセージの状況に応じて配信される2通目以降のメッセージを遅延なく配信することができる配信サーバ、及び配信方法を提供することにある。
【課題を解決するための手段】
【0007】
上述した課題を解決するために、本発明に係る配信サーバは、バッチ処理により配信するメッセージに関する第1配信情報を標準配信キューに格納し、配信リクエストに応じてオンデマンド配信するメッセージに関する第2配信情報を前記標準配信キューとは異なる優先配信キューに格納する振分処理部と、前記優先配信キューに前記第2配信情報が格納されているか否かを判定し、前記第2配信情報が格納されている場合、前記第2配信情報に対応するメッセージを配信するための処理を実行し、前記優先配信キューに前記第2配信情報が格納されていない場合に前記標準配信キューに格納された前記第1配信情報に対応するメッセージを配信するための処理を実行する配信処理部と、前記配信処理部によって配信された配信済メッセージの状況を示す状況情報に基づいて、前記状況に応じて配信する2通目以降のメッセージに関する第3配信情報を生成し、生成した前記第3配信情報に対応する前記配信済メッセージが前記バッチ処理により配信されたメッセージであるか前記オンデマンド配信されたメッセージであるかに関わらず、前記第3配信情報を前記優先配信キューに格納する受付処理部と、を備える。
【0008】
また、本発明に係る配信方法は、コンピュータが行う配信方法であって、振分処理部が、バッチ処理により配信するメッセージに関する第1配信情報を標準配信キューに格納し、配信リクエストに応じてオンデマンド配信するメッセージに関する第2配信情報を前記標準配信キューとは異なる優先配信キューに格納し、配信処理部が、前記優先配信キューに前記第2配信情報が格納されているか否かを判定し、前記第2配信情報が格納されている場合、前記第2配信情報に対応するメッセージを配信するための処理を実行し、前記優先配信キューに前記第2配信情報が格納されていない場合に前記標準配信キューに格納された前記第1配信情報に対応するメッセージを配信するための処理を実行し、受付処理部が、前記配信処理部によって配信された配信済メッセージの状況を示す状況情報に基づいて、前記状況に応じて配信する2通目以降のメッセージに関する第3配信情報を生成し、生成した前記第3配信情報に対応する前記配信済メッセージが前記バッチ処理により配信されたメッセージであるか前記オンデマンド配信されたメッセージであるかに関わらず、前記第3配信情報を前記優先配信キューに格納する。
【発明の効果】
【0009】
本発明によれば、バッチ処理による大量の配信情報が配信キューに格納された場合であっても、オンデマンド配信、及び配信済みのメッセージの状況に応じて配信される2通目以降のメッセージを遅延なく配信することができる。
【図面の簡単な説明】
【0010】
【
図1】実施形態に係る配信システム1の例を示すブロック図である。
【
図2】実施形態に係る通信端末40に表示されるメッセージの例を示す図である。
【
図3】実施形態に係る配信情報記憶部11に記憶される情報の例を示す図である。
【
図4】実施形態に係る配信メッセージ履歴情報記憶部12に記憶される情報の例を示す図である。
【
図5】実施形態に係る配信システム1が行う処理の流れを示す図である。
【
図6】実施形態に係る配信システム1が行う処理の流れを示す図である。
【
図7】実施形態に係る配信システム1が行う処理の流れを示す図である。
【
図8】実施形態に係る配信システム1が行う処理の流れを示す図である。
【
図9】実施形態に係る配信システム1が行う処理の流れを示す図である。
【
図10】実施形態に係る配信システム1が行う処理の流れを示す図である。
【
図11】実施形態に係る配信情報記憶部11に記憶される情報の例を示す図である。
【
図12】実施形態に係る配信情報記憶部11に記憶される情報の例を示す図である。
【発明を実施するための形態】
【0011】
以下、本発明の一実施形態について図面を参照して説明する。
【0012】
図1は、実施形態に係る配信システム1の例を示すブロック図である。配信システム1は、例えば、配信サーバ10と、企業サーバ20と、通信事業者サーバ30と、通信端末40とを備える。
【0013】
配信サーバ10は、企業サーバ20に対応する企業から依頼されたメッセージを配信する情報処理装置である。配信サーバ10として、例えば、サーバ装置、パーソナルコンピューター(PC)などのコンピュータを適用することができる。配信サーバ10は、企業サーバ20、及び通信事業者サーバ30との間で無線通信又は有線通信をする。
【0014】
配信サーバ10は、企業サーバ20から依頼されたメッセージを通信端末40に配信するための制御を行う。例えば、配信サーバ10は、電話番号を宛先とするメッセージサービスであるRCS(Rich Communication Services)利用したRCSメッセージを配信する。
【0015】
配信サーバ10は、企業サーバ20に対応する企業からの依頼の内容に応じて、メッセージを配信する。配信サーバ10は、例えば、企業からの依頼の内容に応じて、バッチ処理によるバルク配信と、オンデマンド配信の2つの配信方法によりメッセージを配信する。バルク配信は、バッチ処理のタイミングが到来する度に複数のメッセージを一括して配信する処理であり、例えば、10時に1万件のメッセージを配信するような処理が行われる。オンデマンド配信は、配信リクエストに応じてリアルタイムにメッセージを配信する処理である。
【0016】
また、配信サーバ10は、企業サーバ20に対応する企業からの依頼の内容に応じて、シナリオに沿った一連のメッセージを送信する。ここでのシナリオは、配信済みの1通目のメッセージの状況、或いはメッセージに対するユーザのアクション(応答)に応じて、2通目以降に配信するメッセージが設定された情報である。
【0017】
例えば、シナリオにて、1通目のメッセージとして、「マイページ」などに対応する特定のページへのリンクが示されたカルーセル(第1メッセージという)を配信するような設定がされたとする。
この場合、2通目のメッセージが配信済みの1通目のメッセージの状況に応じて配信される。具体的には、例えば、1通目のメッセージが通信端末40に受信された場合に、「マイページの使い方について動画で詳しくご覧になりますか」などの案内文と共に、「はい」及び「いいえ」が示された操作ボタンを含むメッセージ(第2メッセージという)を配信するような設定がされる。
また、3通目のメッセージが、2通目のメッセージに対するユーザのアクション(応答)に応じて配信される。具体的には、例えば、第2メッセージに対して「はい」が示された操作ボタンが操作された場合、動画を含むメッセージが次のメッセージとして設定される。
一方、第2メッセージに対して「いいえ」が示された操作ボタンが操作された場合、上記の動画とは異なるコンテンツ、例えば、マイページに対応するURLを含むメッセージが、3通目のメッセージとしてシナリオに設定される。
【0018】
企業サーバ20は、企業によって管理される情報処理装置である。企業サーバ20として、例えば、サーバ装置、PCなどのコンピュータを適用することができる。企業サーバ20に対応する企業として、任意の企業及び団体、例えば、銀行、保険会社、旅行代理店、公共団体等を適用することができる。企業サーバ20は、配信サーバ10との間で、無線通信又は有線通信をする。企業サーバ20は、通信端末40にメッセージを配信するように配信サーバ10を管理する企業に依頼する。
【0019】
通信事業者サーバ30は、通信事業者によって管理されるサーバ装置である。通信事業者は、例えば、自らが保有又は運用する通信回線を用いた、電話番号を利用した通信サービスを通信端末40に対して提供するMNO(Mobile Network Operator、移動体通信事業者)である。
【0020】
ここでの通信サービスには、RCSを用いた通信が含まれる。RCSを用いた通信においては、通信事業者サーバ30は、配信サーバ10からの配信リクエストに応じて、RCSに対応したメッセージを通信端末40に送信する。RCSに対応したメッセージを利用した通信サービスでは、通信端末40に送信したRCSメッセージに対するWebhook(ウェブフック)情報が、通信事業者サーバ30を介して配信サーバ10に送信される。Webhook情報は、通信端末40に配信したRCSメッセージのステータス、例えば、通信端末40にRCSメッセージが受信された等を示す情報を含む。また、Webhook情報は、RCSメッセージにあるコンテンツ、例えば操作ボタン等、が操作された等の状態を含む。通信事業者サーバ30は、配信サーバ10及び通信端末40との間で、無線通信又は有線通信をする。
【0021】
通信端末40は、ユーザ等によって使用される情報処理装置である。通信端末40として、例えば、スマートフォン、携帯電話、PCなどのコンピュータを適用することができる。通信端末40は、情報を表示する液晶ディスプレイ等の表示部と、ユーザによる操作を受け付けるタッチパネル等の操作部とを有する。通信端末40は、企業サーバ20からのメッセージを、配信サーバ10及び通信事業者サーバ30を介して受信する。
【0022】
通信端末40は、ユーザ等によって通信事業者サーバ30に対応する通信事業者と、通信端末40を用いた通信サービスを利用するための契約がなされる。通信端末40は、契約をしている通信事業者が提供する通信サービスを用いて通信をすることが可能である。通信端末40には電話番号が割り当てられており、この電話番号を宛先とする通信、すなわちRCSを用いた通信を行う機能を有する。
【0023】
図2は、実施形態に係る通信端末40に表示されるメッセージの例を示す図である。
図2に示すように、例えば、企業「Cde株式会社」から企業の顧客であるユーザの通信端末40に、シナリオSRに沿った一連のメッセージが配信される。この図では、1通目のメッセージとしてシーンSN1、2通目のメッセージとしてシーンSN2、3通目のメッセージとしてシーンSN3がシナリオSRに沿って配信された例が示されている。
【0024】
この場合、例えば、シナリオSRには、シーンSN1を配信すること、シーンSN1が通信端末40に受信されたらシーンSN2を配信すること、シーンSN2が通信端末40に受信されたらシーンSN3を配信すること、が示されている。また、シーンSN3に含まれる特定のコンテンツ(例えば、「はい」、「いいえ」と記載された操作ボタン)がタップ操作されたら、当該操作に応じたシーンに対応するメッセージを配信すること、が示されている。
【0025】
例えば、配信システム1では、以下のような手順で、上記のシナリオSRに沿った配信が行われる。
【0026】
配信サーバ10は、シナリオSRに沿って、まず、シーンSN1に対応するメッセージを通信端末40に配信するように、通信事業者サーバ30に対して配信リクエストを通知する。通信事業者サーバ30は、配信リクエストに応じて、通信端末40にシーンSN1に対応するメッセージを配信する。通信事業者サーバ30は、配信したメッセージが通信端末40に受信された場合、メッセージが通信端末40に受信されたことを示すWebhook情報(到達情報)を配信サーバ10に送信する。
【0027】
配信サーバ10は、通信事業者サーバ30から到達情報を受信すると、シナリオSRに沿って、次の、シーンSN2に対応するメッセージを通信端末40に配信するように、通信事業者サーバ30に対して配信リクエストを通知する。通信事業者サーバ30は、配信リクエストに応じて、通信端末40にシーンSN2に対応するメッセージを配信する。通信事業者サーバ30は、配信したメッセージが通信端末40に受信された場合、メッセージが通信端末40に受信されたことを示すWebhook情報(到達情報)を配信サーバ10に送信する。
配信サーバ10は、通信事業者サーバ30から到達情報を受信すると、シナリオSRに沿って、次の、シーンSN3に対応するメッセージを通信端末40に配信するように、通信事業者サーバ30に対して配信リクエストを通知する。通信事業者サーバ30は、配信リクエストに応じて、通信端末40にシーンSN3に対応するメッセージを配信する。通信事業者サーバ30は、配信したメッセージが通信端末40に受信された場合、メッセージが通信端末40に受信されたことを示すWebhook情報(到達情報)を配信サーバ10に送信する。
また、通信事業者サーバ30は、シーンSN3に対応するメッセージにある特定のコンテンツ(例えば、「はい」、「いいえ」などが示された操作ボタン)が操作された場合、特定のコンテンツが操作されたことを示すWebhook情報(アクション情報)を配信サーバ10に送信する。
【0028】
配信サーバ10は、通信事業者サーバ30からアクション情報を受信すると、シナリオSRに沿って、次の、シーンSN4に対応するメッセージを通信端末40に配信するように、通信事業者サーバ30に対して配信リクエストを通知する。通信事業者サーバ30は、配信リクエストに応じて、通信端末40にシーンSN4に対応するメッセージを配信する。
【0029】
図1に戻り、配信サーバ10は、例えば、配信情報記憶部11と、配信メッセージ履歴情報記憶部12と、標準配信キュー13と、優先配信キュー14と、振分処理部15と、対応判定部16と、配信処理部17と、受付処理部18とを備える。
【0030】
配信情報記憶部11と、配信メッセージ履歴情報記憶部12と、標準配信キュー13と、優先配信キュー14とは、例えば、配信サーバ10が備える記憶部(不図示)に設けられる。配信サーバ10が備える記憶部は、記憶媒体、例えば、HDD(Hard Disk Drive)、フラッシュメモリ、EEPROM(Electrically Erasable Programmable Read Only Memory)、RAM(Random Access read/write Memory)、ROM(Read Only Memory)、または、これらの記憶媒体の任意の組み合わせによって構成される。配信サーバ10が備える記憶部は、配信サーバ10の各種の処理を実行するためのプログラム、及び各種の処理を行う際に利用される一時的なデータを記憶する。
【0031】
配信情報記憶部11は、配信情報を記憶する。配信情報は、ユーザに配信する一連のメッセージに関する情報である。
【0032】
図3は、配信情報記憶部11に記憶される情報の例を示す図である。
図3に示すように、例えば、配信情報記憶部11は、配信情報を記憶する。配信情報には、例えば、案件IDと、配信パターンと、配信単位IDと、個別管理番号と、元メッセージIDと、シナリオIDと、シーンIDなどの項目に対応する情報を含む。
なお、この図では、配信情報に、シナリオを特定するための情報(後述する配信パターン、シナリオID、シーンIDなど)と、メッセージの通知先であるユーザを特定するための情報(後述する配信単位ID、個別管理番号など)が共に含まれる例が示されているが、この例に限定されることはない。配信情報におけるシナリオを特定するための情報と、ユーザを特定するための情報とが別々の情報として記憶されるように構成されてもよい。
【0033】
案件IDは、依頼元となる企業サーバ20に対応する企業のアカウント(得意先アカウント)に紐付けられた識別情報である。
【0034】
配信パターンは、対応判定を行った後に配信をするパターンか、対応判定を行わずに配信をするパターンかを示す情報である。ここでの対応判定は、配信先となる通信端末40がRCSに対応しているか否かを判定することである。対応判定の結果、配信先となる通信端末40がRCSに対応している場合、例えば、配信サーバ10はRCSに対応したメッセージを通信端末40に配信するように配信リクエストを行う。一方、対応判定の結果、配信先となる通信端末40がRCSに対応していない場合、RCSでないメッセージサービス、例えばSMS(ショートメッセージサービス)に対応したメッセージを通信端末40に配信するように配信リクエストを行う。
【0035】
配信単位IDは、配信の処理単位ごと付与された識別情報である。ここでの配信単位は、例えば、バッチ処理によるバルク配信の単位である。例えば、10時に1万件のメッセージをバルク配信するような場合に、そのバルク配信に対してユニークな配信単位IDが付与される。
【0036】
個別管理番号は、配信するメッセージを個別に識別するための識別情報である。個別管理番号として、例えば、配信単位IDに配信先の電話番号などの宛先情報等を加えることによって、配信する個々のメッセージに対してユニークな識別情報が付与される。
【0037】
シナリオIDは、シナリオを識別するための識別情報である。シナリオIDとして、例えば「6730…」などの数字や文字からなるユニークな情報がシナリオ毎に付与される。
【0038】
シーンIDは、シナリオに含まれるメッセージに対応するシーンを識別するための識別情報である。例えば、シナリオにおいて最初(1通目)に通知するメッセージに対応するシーンIDは「start」、次(2通目)に通知するメッセージに対応するシーンIDは「next」、その次(3通目)に通知するメッセージに対応するシーンIDは「next_1」などに設定される。
【0039】
元メッセージIDは、メッセージを配信するように通信事業者サーバ30に配信リクエストを通知した際に、通信事業者サーバ30によって付与されるIDであって、通信事業者サーバ30が配信するメッセージを識別するための識別情報である。メッセージIDは、例えば、Webhook情報に含まれて、通信事業者サーバ30から配信サーバ10に通知される。
【0040】
配信メッセージ履歴情報記憶部12は、配信メッセージ履歴情報を記憶する。配信メッセージ履歴情報は、ユーザに配信したメッセージの履歴、例えば、メッセージが受信された、特定のコンテンツが操作された等の履歴を示す情報である。
【0041】
図4は、配信メッセージ履歴情報記憶部12に記憶される情報の例を示す図である。
図4に示すように、例えば、配信メッセージ履歴情報記憶部12は、到達情報と、アクション情報などの項目に対応する情報を記憶する。
【0042】
到達情報は、配信サーバ10による配信リクエストに対して通信事業者サーバ30から通知されるWebhook情報であって、メッセージが通信端末40に受信されたことを示す情報である。到達情報には、例えば、メッセージIDとステータスなどの項目に対応する情報が記憶される。メッセージIDは、メッセージの配信リクエストに対して通信事業者サーバ30によって付与されたIDである。ステータスは、配信したメッセージの状況を示す情報であり、例えば、メッセージが通信端末40に受信された場合、「到達」などを示す情報がステータスとして設定される。
【0043】
アクション情報は、配信サーバ10による配信リクエストに対して通信事業者サーバ30から通知されるWebhook情報であって、メッセージにある特定のコンテンツが操作されたことを示す情報である。アクション情報には、例えば、メッセージIDとポストバックデータなどの項目に対応する情報が記憶される。メッセージIDは、メッセージの配信リクエストに対して通信事業者サーバ30によって付与されたIDである。ポストバックデータは、コンテンツ毎に、当該コンテンツが操作された場合に通知されるように予め配信サーバ10によって設定された情報である。例えば、ポストバックデータには、例えば、シナリオID、シーンID、及び、次メッセージのシーンIDなどの項目に対応する情報が記憶される。或いは、ポストバックデータとして、コンテンツに表示されている除法、例えば「はい」「いいえ」などを示す情報が設定されてもよい。ここでのシナリオID及びシーンIDは、操作されたコンテンツに対応するシナリオID及びシーンIDである。次メッセージのシーンIDは、シナリオにて当該コンテンツが操作された場合に次に送信するように設定されたメッセージに対応するシーンIDである。
【0044】
図1に戻り、標準配信キュー13は、バルク配信により配信するメッセージの配信情報が格納されるキュー(待ち行列)である。
【0045】
例えば、標準配信キュー13は、対応判定標準キュー130と、RCS標準キュー131と、SMS標準キュー132とを備える。対応判定標準キュー130には、バルク配信のうち配信パターンとして対応判定を行うパターンが設定されたメッセージの配信情報が格納される。RCS標準キュー131には、対応判定の結果、RCSに対応していると判定された通信端末40に通知するメッセージの配信情報が格納される。SMS標準キュー132には、対応判定の結果、RCSに対応していないと判定された通信端末40に通知するメッセージの配信情報、及び、バルク配信のうち配信パターンとして対応判定を行わないパターンが設定されたメッセージの配信情報が格納される。
【0046】
優先配信キュー14は、オンデマンド配信により配信するメッセージ、および配信済みのメッセージの状況や配信済みのメッセージに対するユーザのアクション(応答)に応じて配信する2通目以降メッセージが格納されるキュー(待ち行列)である。
【0047】
例えば、優先配信キュー14は、対応判定優先キュー140と、対応判定後RCS優先キュー141と、対応判定後SMS優先キュー142と、SMS優先キュー143と、RCS優先キュー144を備える。対応判定優先キュー140には、オンデマンド配信のうち配信パターンとして対応判定を行うパターンが設定されたメッセージの配信情報が格納される。対応判定後RCS優先キュー141には、対応判定の結果、RCSに対応していると判定された通信端末40に通知するメッセージの配信情報が格納される。対応判定後SMS優先キュー142には、対応判定の結果、RCSに対応していないと判定された通信端末40に通知するメッセージの配信情報が格納される。SMS優先キュー143には、オンデマンド配信のうち配信パターンとして対応判定を行わないパターンが設定されたメッセージの配信情報が格納される。RCS優先キュー144には、1通目のメッセージの状況に応じて配信する2通目以降のメッセージの配信情報が格納される。
【0048】
ここで、振分処理部15と、対応判定部16と、配信処理部17と、受付処理部18とは、信号処理を行う機能部である。機能部は、配信サーバ10がハードウェアとして備えるCPU(Central Processing Unit)にプログラムを実行させることによって実現される。
【0049】
振分処理部15は、企業から依頼されたメッセージを配信する際に標準配信キュー13又は優先配信キュー14の何れかに振分けて格納する。振分処理部15は、バルク配信を行うタイミングが到来すると、配信情報記憶部11を参照して当該タイミングにて配信するメッセージ群の配信情報を取得する。振分処理部15は、取得した配信情報を、標準配信キュー13に格納する。
【0050】
より具体的には、振分処理部15は、バルク配信の配信パターンに応じて、メッセージを振り分ける。振分処理部15は、例えば、バルク配信のうち、配信パターンとして対応判定を行うパターンが設定されたメッセージを、対応判定標準キュー130に格納する。また、振分処理部15は、例えば、バルク配信のうち、配信パターンとして対応判定を行わないパターンが設定されたメッセージを、SMS標準キュー132に格納する。
【0051】
また、振分処理部15は、企業サーバ20からオンデマンド配信の依頼を取得すると、配信情報記憶部11を参照して当該オンデマンド配信に対応するメッセージの配信情報を取得する。振分処理部15は、取得した配信情報を、優先配信キュー14に格納する。
【0052】
振分処理部15は、オンデマンド配信の配信パターンに応じて、メッセージの配信情報を振り分けるようにしてもよい。
【0053】
具体的には、振分処理部15は、オンデマンド配信のうち、対応判定を行うように配信パターンが設定されたメッセージの配信情報を対応判定優先キュー140に格納する。一方、対応判定を行わないようにパターンが設定されたメッセージの配信情報を、SMS優先キュー143に格納する。
【0054】
対応判定部16は、対応判定を行う。対応判定は、通信端末40がRCSに対応しているか否かを判定するための処理を行う。一般に、SMSについてはほとんどの通信端末40が対応しているが、RCSについては対応しているものと対応していないものがある場合が多い。例えば、通信端末40にRCSのアプリケーションがインストールされ、且つ、RCSを用いた通信に関する利用規約の同意などを含むアクティベーションが行われた場合、その通信端末40はRCSに対応している端末である。一方、通信端末40にRCSのアプリケーションがインストールされていない、又は、RCSのアプリケーションがインストールされているがアクティベーションが行われていない場合、その通信端末40はRCSに対応していない端末である。
【0055】
対応判定部16は、通信事業者サーバ30に対応判定を依頼することによって対応判定を行う。具体的には、対応判定部16は、メッセージの配信先である電話番号を含む情報を通信事業者サーバ30に通知することによって、対応判定を依頼する。通信事業者サーバ30は、配信サーバ10からの依頼に応じて対応判定を行い、その結果、つまりメッセージの配信先である電話番号に対応する通信端末40がRCSに対応しているか否かを示す情報を配信サーバ10に通知する。
【0056】
対応判定部16は、対応判定標準キュー130に格納された配信情報に対応するメッセージの配信先である電話番号について対応判定を依頼する。対応判定部16は、通信事業者サーバ30から通知された対応判定の結果に基づいて、対応判定標準キュー130に格納された配信情報を、RCS標準キュー131又はSMS標準キュー132のいずれか一方に格納する。具体的には、対応判定部16は、RCSに対応している通信端末40に通知するメッセージの配信情報を、RCS標準キュー131に格納する。一方、対応判定部16は、RCSに対応していない通信端末40に通知するメッセージの配信情報を、SMS標準キュー132に格納する。
【0057】
また、対応判定部16は、対応判定優先キュー140に格納された配信情報に対応するメッセージの配信先である電話番号について対応判定を依頼する。通信事業者サーバ30から通知された対応判定の結果に基づいて、対応判定優先キュー140に格納された配信情報を、対応判定後RCS優先キュー141又は対応判定後SMS優先キュー142のいずれか一方に格納する。対応判定部16は、RCSに対応している通信端末40に通知するメッセージの配信情報を、対応判定後RCS優先キュー141に格納する。対応判定部16は、RCSに対応していない通信端末40に通知するメッセージの配信情報を、対応判定後SMS優先キュー142に格納する。
【0058】
配信処理部17は、メッセージを配信するための処理を行う。配信処理部17は、配信情報の全部又は一部を通信事業者サーバ30に通知することによって、配信情報に対応するメッセージを、配信先の通信端末40に配信するように要求する配信リクエストを行う。通信事業者サーバ30は、配信リクエストに応じて、配信リクエストに対応するメッセージにおけるメッセージIDを発行し、発行したメッセージIDを配信サーバ10に通知する。配信処理部17は、通信事業者サーバ30から通知されたメッセージIDに基づいて配信メッセージ履歴情報を生成し、生成した情報を配信メッセージ履歴情報記憶部12に記憶させる。
【0059】
配信リクエストを行う際、配信処理部17は、まず、優先配信キュー14に配信情報が格納されている場合、優先配信キュー14に格納されている配信情報に対応するメッセージを配信するための処理を実行する。そして、配信処理部17は、優先配信キュー14に配信情報が格納されていない場合、標準配信キュー13に格納された配信情報に対応するメッセージを配信するための処理を実行する。
【0060】
これにより、優先配信キュー14に格納されている配信情報に対応するメッセージを、標準配信キュー13に格納されている配信情報に対応するメッセージよりも優先して送信することができる。したがって、標準配信キュー13にバルク配信に係るメッセージに対応する配信情報が大量に格納されている場合であっても、優先配信キュー14に格納された配信情報に対応するメッセージ、例えば、オンデマンド配信に係るメッセージの配信が遅延しないようにすることができる。
【0061】
具体的に、配信処理部17は、優先配信キュー14に配信情報が格納されているか否かを判定する。優先配信キュー14に配信情報が格納されている場合、配信処理部17は、その優先配信キュー14に格納された配信情報に対応するメッセージを配信するための処理を行う。
【0062】
より具体的には、配信処理部17は、対応判定後RCS優先キュー141に格納されている配信情報があれば、その配信情報に対応するメッセージに対する配信リクエストを通信事業者サーバ30に行う。また、配信処理部17は、対応判定後SMS優先キュー142に格納されている配信情報があれば、その配信情報に対応するメッセージに対する配信リクエストを通信事業者サーバ30に行う。また、配信処理部17は、SMS優先キュー143に格納されている配信情報があれば、その配信情報に対応するメッセージに対する配信リクエストを通信事業者サーバ30に行う。配信処理部17は、RCS優先キュー144に格納されている配信情報があれば、その配信情報に対応するメッセージに対する配信リクエストを通信事業者サーバ30に行う。
【0063】
なお、配信処理部17が行うメッセージを配信するための処理において、複数の優先キュー(例えば、対応判定後RCS優先キュー141、対応判定後SMS優先キュー142、SMS優先キュー143、及びRCS優先キュー144など)のうち、何れの優先キューを先に対応するかは任意に決定されてよい。例えば、複数の優先キューのそれぞれに優先順位を付けて、優先順位の高いものから配信するように制御するようにしてもよい。或いは、複数の優先キューに対する配信処理をそれぞれ独立させ、各配信処理においてそれぞれの優先キューを見てなければ標準キューを見るように制御するでも良い。
【0064】
一方、配信処理部17は、優先配信キュー14に配信情報が格納されていない場合、標準配信キュー13に格納された配信情報に対応するメッセージを配信するための処理を行う。より具体的には、配信処理部17は、RCS標準キュー131に格納されている配信情報に対応するメッセージに対する配信リクエストを通信事業者サーバ30に行う。配信処理部17は、SMS標準キュー132に格納されている配信情報に対応するメッセージに対する配信リクエストを通信事業者サーバ30に行う。
【0065】
ここで、配信処理部17は、RCSに対応している通信端末40に、ポストバックデータが設定されたメッセージが配信されるようにする。ポストバックデータが設定されたメッセージは、例えば、予め、配信情報に含まれている。
【0066】
ポストバックデータが設定されたメッセージを配信することによって、配信サーバ10は、ポストバックデータを含むWebhook情報を、通信事業者サーバ30から受信することができる。すなわち、メッセージが配信された後、メッセージにあるコンテンツが通信端末40のユーザ等によって操作された場合、通信事業者サーバ30は、その操作されたコンテンツのポストバックデータに設定された情報を含むWebhook情報を配信サーバ10に送信する。
【0067】
配信サーバ10は、ポストバックデータに、例えば、コンテンツが操作されたことに対応して送信する次メッセージを示す情報を設定しておく。これにより、配信サーバ10は、通信事業者サーバ30から通知されるWebhook情報に基づいて、次に配信するメッセージを特定することが容易となる。
【0068】
受付処理部18は、Webhook情報を受け付ける。メッセージが配信されると、通信事業者サーバ30は、配信したメッセージの状況を示す情報、例えば、到達情報及びアクション情報などを示すWebhook情報を、配信したメッセージの状況の変化に応じて通知する。受付処理部18は、通信事業者サーバ30から通知されたWebhook情報に基づいて配信メッセージ履歴情報記憶部12を参照し、対応する配信メッセージ履歴情報を抽出する。
【0069】
受付処理部18は、通信事業者サーバ30から通知されたWebhook情報に基づいて、2通目以降のメッセージを配信するための処理を行う。
例えば、受付処理部18は、Webhook情報が到達情報であり、メッセージが通信端末40に受信されたことが示されていた場合、Webhook情報に含まれているメッセージIDに基づいて配信情報記憶部11を参照する。受付処理部18は、参照した配信情報記憶部11から、今回受信した到達情報に対応するメッセージのシーンIDを取得する。受付処理部18は、取得したシーンIDをインクリメントし、配信情報にインクリメントしたシーンIDに対応するメッセージが存在するか否かを判定する。受付処理部18は、インクリメントしたシーンIDに対応するメッセージが存在する場合、インクリメントしたシーンIDに対応するメッセージの配信情報を、RCS優先キュー144にキューイング(格納)する。
【0070】
或いは、受付処理部18は、Webhook情報がアクション情報である場合、Webhook情報にあるポストバックデータを参照し、ポストバックデータに次メッセージのシーンIDが設定されているか否かを判定する。受付処理部18は、ポストバックデータに、シナリオID及びシーンIDが設定され、さらに、次メッセージのシーンIDが設定されている場合、そのシーンIDに対応するメッセージを2通目以降のメッセージとして配信すると判定する。一方、受付処理部18は、ポストバックデータに、シナリオID又はシーンIDが設定されていない場合、2通目以降のメッセージとして配信しないと判定する。また、受付処理部18は、ポストバックデータに、シナリオID及びシーンIDが設定されているが、次メッセージのシーンIDが設定されていない場合、2通目以降のメッセージを配信しないと判定する。
【0071】
受付処理部18は、2通目以降のメッセージを配信する場合、ポストバックデータにあるシナリオIDに基づいて、配信情報記憶部11を参照し、シナリオIDに対応する配信情報を抽出する。対応判定部16は、抽出した配信情報にあるシーンIDをインクリメントして更新し、更新した配信情報を、2通目以降のメッセージに対応する配信情報として生成する。受付処理部18は、生成した配信情報を、RCS優先キュー144に格納する。
【0072】
図1に示すように、通信事業者サーバ30は、例えば、配信API31と、対応判定API32と、受付API33と備える。配信API31は、配信サーバ10からの配信リクエストに応じたメッセージを配信先の通信端末40に配信する。対応判定API32は、配信サーバ10からの依頼に応じて、通信端末40がRCSに対応しているか否かを判定し、その結果を配信サーバ10に送信する。受付API33は、配信済みのメッセージの状況などに応じたWebhook情報を配信サーバ10に送信する。
【0073】
ここで、
図5~
図10を用いて、配信システム1が行う処理の流れを説明する。
図5~
図10は、実施形態に係る配信システム1が行う処理の流れを示すシーケンス図である。
【0074】
図5には、バッチ処理及びオンデマンド処理(オンデマンド配信に係る処理)の流れの概要が示されている。
【0075】
図5に示すように、まず、配信サーバ10の振分処理部15は、バルク配信を行うタイミングが到来すると、配信情報記憶部11を参照して当該タイミングにて配信するメッセージ群の配信情報を取得する(ステップS1)。振分処理部15は、取得した配信情報を、標準配信キュー13に格納する(ステップS2)。
【0076】
一方、振分処理部15は、任意のタイミングでオンデマンド配信の依頼を取得する(ステップS3)と、配信情報記憶部11を参照して当該オンデマンド配信に対応するメッセージの配信情報を取得し、取得した配信情報を、優先配信キュー14に格納する(ステップS4)。
【0077】
次に、配信処理部17は、優先配信キュー14に配信情報が格納されているか否かを判定し、優先配信キュー14に配信情報が格納されている場合、優先配信キュー14に格納されている配信情報を取得し(ステップS5)、取得した配信情報に対応するメッセージに対する配信リクエストを通信事業者サーバ30に行う(ステップS7)。
【0078】
一方、配信処理部17は、優先配信キュー14に配信情報が格納されていない場合、標準配信キュー13に格納されている配信情報を取得し(ステップS6)、取得した配信情報に対応するメッセージに対する配信リクエストを通信事業者サーバ30に行う(ステップS7)。
【0079】
通信事業者サーバ30の配信API31は、配信サーバ10の配信処理部17から配信リクエストを受信すると、受信した配信リクエストに応じて、配信先の通信端末40にメッセージを配信する(ステップS8)。配信されたメッセージが通信端末40に受信されると、通信端末40がメッセージを受信した旨の制御信号が通信事業者サーバ30に送信される(ステップS9)。受付API33は、通信端末40から制御信号を受信すると、メッセージが通信端末40に受信されたことを示すWebhook情報(到達情報)を配信サーバ10に送信する(ステップS10)。
【0080】
配信サーバ10の受付処理部18は、通信事業者サーバ30から通知されたWebhook情報に基づいて、2通目以降のメッセージを配信するか否かを判定する。受付処理部18は、2通目以降のメッセージを配信する場合、2通目以降のメッセージに対応する配信情報を生成し、生成した配信情報を、優先配信キュー14(のRCS優先キュー144)に格納する(ステップS11)。
【0081】
図6には、バッチ処理のうち、特に、対応判定を行う配信パターンが設定されたメッセージを配信する処理の流れが示されている。
【0082】
図6に示すように、まず、振分処理部15は、バルク配信を行うタイミングが到来する(ステップS101)と、配信情報記憶部11を参照して当該タイミングにて配信するメッセージ群の配信情報を取得する(ステップS102)。振分処理部15は、取得した配信情報のうち、対応判定を行うように配信パターンが設定されたメッセージの配信情報を、対応判定標準キュー130に格納する(ステップS103)。
【0083】
対応判定部16は、対応判定標準キュー130に格納された配信情報を取得し(ステップS104)、取得した配信情報の全部又は一部を通信事業者サーバ30に通知することによって対応判定を依頼する(ステップS105)。通信事業者サーバ30の対応判定API32は、配信サーバ10から依頼に応じて対応判定を行い、その結果を配信サーバ10に送信する(ステップS106)。
【0084】
対応判定部16は、通信事業者サーバ30から配信サーバ10に通知された対応判定の判定結果を取得する。対応判定部16は、取得した結果に応じて、対応判定標準キュー130に格納された配信情報を、RCS標準キュー131又はSMS標準キュー132の何れかに格納する(ステップS107A、S107B)。具体的に、配信サーバ10は、対応判定標準キュー130に格納された配信情報のうち、配信情報に対応するメッセージの配信先である通信端末40がRCSに対応しているものを、RCS標準キュー131に格納する(ステップS107A)。一方、配信サーバ10は、対応判定標準キュー130に格納された配信情報のうち、配信情報に対応するメッセージの配信先である通信端末40がRCSに対応していないものを、SMS標準キュー132に格納する(ステップS107B)。
【0085】
配信処理部17は、RCS標準キュー131及びSMS標準キュー132に格納された配信情報を取得(ステップS108A、S108B)する。具体的に、配信処理部17は、RCS標準キュー131に格納された配信情報を取得(ステップS108A)し、取得した配信情報に基づいて配信情報記憶部11を参照(ステップS109)する。配信処理部17は、配信情報の全部又は一部を通信事業者サーバ30に通知することによって、配信情報に対応するメッセージの配信リクエストを行う(ステップS110)。
【0086】
また、配信処理部17は、SMS標準キュー132に格納された配信情報を取得(ステップS108B)し、取得した配信情報に基づいて配信情報記憶部11を参照(ステップS109)することによって、配信するメッセージの内容及び配信先の電話番号等を含む配信リクエストを生成する。配信処理部17は、配信リクエストを通信事業者サーバ30に通知することによって、配信情報に対応するメッセージを配信するように要求する(ステップS110)。
【0087】
通信事業者サーバ30の配信API31は、配信リクエストを受け付けると、受け付けたメッセージに対応するメッセージIDを発行し、発行したメッセージIDを配信サーバ10に通知する(ステップS111)。配信サーバ10の配信処理部17は、通信事業者サーバ30から受信したメッセージIDを、配信メッセージ履歴情報記憶部12に記憶させる(ステップS112)。
【0088】
図7には、バッチ処理のうち、特に、対応判定を行わない配信パターンが設定されたメッセージを配信する処理の流れが示されている。
【0089】
図7に示すように、まず、振分処理部15は、バルク配信を行うタイミングが到来する(ステップS201)と、配信情報記憶部11を参照して当該タイミングにて配信するメッセージ群の配信情報を取得する(ステップS202)。振分処理部15は、取得した配信情報のうち、対応判定を行わない配信パターンが設定されたメッセージの配信情報を、SMS標準キュー132に格納する(ステップS203)。
【0090】
配信処理部17は、SMS標準キュー132に格納された配信情報を取得(ステップS204)し、取得した配信情報に基づいて配信情報記憶部11を参照(ステップS205)することによって配信リクエストを生成する。配信処理部17は、配信リクエストを通信事業者サーバ30に通知することによって、配信情報に対応するメッセージを配信するように要求する(ステップS206)。配信API31は、配信リクエストを受け付けると、受け付けたメッセージに対応するメッセージIDを発行し、発行したメッセージIDを配信サーバ10に通知する(ステップS207)。配信処理部17は、通信事業者サーバ30から受信したメッセージIDを、配信メッセージ履歴情報記憶部12に記憶させる(ステップS208)。
【0091】
図8には、オンデマンド処理のうち、特に、対応判定を行う配信パターンが設定されたメッセージを配信する処理の流れが示されている。
【0092】
図8に示すように、まず、振分処理部15は、オンデマンド配信を行うように要求するオンデマンドリクエストを受信する(ステップS301)と、配信情報記憶部11を参照してオンデマンドリクエストされたメッセージに対応する配信情報を取得する(ステップS302)。振分処理部15は、取得した配信情報に対応するメッセージが、対応判定を行うように配信パターンが設定されたメッセージであれば、その配信情報を、対応判定優先キュー140に格納する(ステップS303)。
【0093】
対応判定部16は、対応判定優先キュー140に格納された配信情報を取得し(ステップS304)、取得した配信情報の全部又は一部を通信事業者サーバ30に通知することによって対応判定を依頼する(ステップS305)。通信事業者サーバ30の対応判定API32は、配信サーバ10から依頼に応じて対応判定を行い、その結果を配信サーバ10に送信する(ステップS306)。
【0094】
対応判定部16は、通信事業者サーバ30から配信サーバ10に通知された対応判定の判定結果を取得する。対応判定部16は、取得した結果に応じて、対応判定優先キュー140に格納された配信情報を、対応判定後RCS優先キュー141又は対応判定後SMS優先キュー142の何れかに格納する(ステップS307A、S307B)。具体的に、配信サーバ10は、対応判定優先キュー140に格納された配信情報のうち、配信情報に対応するメッセージの配信先である通信端末40がRCSに対応しているものを、対応判定後RCS優先キュー141に格納する(ステップS307A)。一方、配信サーバ10は、対応判定優先キュー140に格納された配信情報のうち、配信情報に対応するメッセージの配信先である通信端末40がRCSに対応していないものを、対応判定後SMS優先キュー142に格納する(ステップS307B)。
【0095】
配信処理部17は、対応判定後RCS優先キュー141及び対応判定後SMS優先キュー142に格納された配信情報を取得(ステップS308A、S308B)する。具体的に、配信処理部17は、対応判定後RCS優先キュー141に格納された配信情報を取得し、取得した配信情報に基づいて配信情報記憶部11を参照(ステップS309)することによって、配信するメッセージの内容及び配信先の電話番号等を含む配信リクエストを生成する。配信処理部17は、配信情報の全部又は一部を通信事業者サーバ30に通知することによって、配信情報に対応するメッセージの配信リクエストを行う(ステップS310)。
【0096】
また、配信処理部17は、対応判定後SMS優先キュー142に格納された配信情報を取得(ステップS308B)し、取得した配信情報に基づいて配信情報記憶部11を参照(ステップS309)することによって、配信するメッセージの内容及び配信先の電話番号等を含む配信リクエストを生成する。配信処理部17は、配信リクエストを通信事業者サーバ30に通知することによって、配信情報に対応するメッセージを配信するように要求する(ステップS310)。
【0097】
通信事業者サーバ30の配信API31は、配信リクエストを受け付けると、受け付けたメッセージに対応するメッセージIDを発行し、発行したメッセージIDを配信サーバ10に通知する(ステップS311)。配信サーバ10の配信処理部17は、通信事業者サーバ30から受信したメッセージIDを、配信メッセージ履歴情報記憶部12に記憶させる(ステップS312)。
【0098】
図9には、オンデマンド処理のうち、特に、対応判定を行わない配信パターンが設定されたメッセージを配信する処理の流れが示されている。
【0099】
図9に示すように、まず、振分処理部15は、オンデマンドリクエストを受信(ステップS401)と、配信情報記憶部11を参照してオンデマンドリクエストされたメッセージに対応する配信情報を取得する(ステップS402)。振分処理部15は、取得した配信情報に対応するメッセージが、対応判定を行わない配信パターンが設定されたメッセージであれば、その配信情報を、SMS優先キュー143に格納する(ステップS403)。
【0100】
配信処理部17は、SMS優先キュー143に格納された配信情報を取得(ステップS404)し、取得した配信情報に基づいて配信情報記憶部11を参照(ステップS405)することによって配信リクエストを生成する。配信処理部17は、配信リクエストを通信事業者サーバ30に通知することによって、配信情報に対応するメッセージを配信するように要求する(ステップS406)。配信API31は、配信リクエストを受け付けると、受け付けたメッセージに対応するメッセージIDを発行し、発行したメッセージIDを配信サーバ10に通知する(ステップS407)。配信処理部17は、通信事業者サーバ30から受信したメッセージIDを、配信メッセージ履歴情報記憶部12に記憶させる(ステップS408)。
【0101】
図10には、配信したメッセージに対する応答が受信された場合において、2通目以降のメッセージを配信する処理の流れが示されている。
【0102】
図10に示すように、通信事業者サーバ30は、配信したメッセージに対し通信端末40のユーザ等による操作が行われると、操作が行われた旨の制御情報を通信端末40から受信する(ステップS501A、S501B)。具体的に、通信端末40に配信したメッセージ(「マイページログイン」等とのタイトルが示されたカルーセル)が受信されると、受付API33は、メッセージが受信されたことを示す制御情報を受信する(ステップS501A)。また、通信端末40に配信したメッセージに含まれる特定のコンテンツの操作ボタン(「はい」、「いいえ」等が示された操作ボタン)がタップ操作されると、受付API33は、当該コンテンツの操作ボタンが操作されたことを示す制御情報を受信する(ステップS501B)。
【0103】
受付API33は、通信端末40から受信した制御情報に基づいてWebhook情報を生成し、生成したWebhook情報を配信サーバ10に送信する(ステップS502)。具体的に、受付API33は、メッセージが受信された場合、ステップS501Aにて受信した制御情報に基づくWebhook情報(到達情報)を配信サーバ10に送信する。一方、受付API33は、コンテンツが操作された場合、ステップS501Bにて受信した制御情報に基づくWebhook情報(アクション情報)を配信サーバ10に送信する。
【0104】
配信サーバ10の受付処理部18は、通信事業者サーバ30から受信したWebhook情報を取得すると、Webhook情報で通知された内容に応じて配信するメッセージ(2通目以降のメッセージ)を生成する(ステップS503)。具体的に、受付処理部18は、取得したWebhook情報に対応するメッセージを特定し、特定したメッセージに対応する配信メッセージ履歴情報を配信メッセージ履歴情報記憶部12から抽出する。また、受付処理部18は、Webhook情報にあるポストバックデータを参照し、操作に応じて2通目以降のメッセージを配信するか否かを判定する。受付処理部18は、2通目以降のメッセージを配信する場合、ポストバックデータに基づいて配信情報記憶部11を参照し、対応する配信情報を抽出する。受付処理部18は、抽出した配信情報のシーンIDをインクリメントすることによって、2通目以降に配信するメッセージを設定する。なお、2通目以降に配信するメッセージを特定するアルゴリズムは任意に決定されてよい。例えば、シーンIDにおいて特定の位置、例えば先頭や特定記号の後等に示された数値、例えば、01-XXX、02-XXXにおける「01」、「02」などの数値に基づいて、「01」の次は「02」を自動選択する等のアルゴリズムによって2通目以降に配信するメッセージを設定するようにしてもよい。
【0105】
受付処理部18は、2通目以降に配信するメッセージに対応する配信情報を、RCS優先キュー144に格納する(ステップS504)。
【0106】
配信処理部17は、RCS優先キュー144に格納された配信情報を取得(ステップS505)し、取得した配信情報に基づいて、配信情報記憶部11及び配信メッセージ履歴情報記憶部12を参照する(ステップS506)ことによって、配信するメッセージの内容及び配信先の電話番号等を含む配信リクエストを生成する。配信処理部17は、配信リクエストを通信事業者サーバ30に通知することによって、配信情報に対応するメッセージを配信するように要求する(ステップS507)。配信API31は、配信リクエストを受け付けると、受け付けたメッセージを通信端末40に配信する(ステップS508)。
【0107】
ここで、
図11及び
図12を用いて、2通目以降のメッセージを配信する場合における配信情報についての例を示す図である。
図11及び
図12は、実施形態に係る配信情報記憶部11に記憶される情報の例を示す図である。
【0108】
図11には、
図10のステップS501Aに示すような、メッセージが受信された場合に通知されるWebhook情報(到達情報)に基づいて、当該到達情報に対応するメッセージの受信に応じて配信する2通目以降のメッセージに対応する配信情報の例が示されている。
【0109】
図11に示すように、例えば、2通目以降のメッセージに対応する配信情報には、元メッセージIDとして、Webhook情報にて通知されたメッセージIDが設定される。シナリオIDには、2通目以降に配信するメッセージに対応するシナリオのシナリオIDが設定される。シーンIDには、2通目以降に配信するメッセージのシーンIDに対応する「next_k」(kは1以上の整数)が設定される。
【0110】
図12には、
図10のステップS501Bに示すような、特定のコンテンツに含まれる操作ボタン(ここでは、「はい」が示された操作ボタン)対する操作が行われた場合に通知されるWebhook情報(アクション情報)に基づいて、当該アクション情報に対応する操作に応じて配信する2通目以降のメッセージに対応する配信情報の例が示されている。
【0111】
図12に示すように、例えば、2通目以降のメッセージに対応する配信情報には、元メッセージIDとして、Webhook情報にて通知されたメッセージIDが設定される。シナリオIDには、2通目以降に配信するメッセージに対応するシナリオのシナリオIDが設定される。シーンIDには、2通目以降に配信するメッセージのシーンIDに対応する「yes」が設定される。このシーンIDは、「はい」が示された操作ボタンが操作された場合に配信するメッセージの識別情報を示している。
【0112】
なお、上記では、配信情報をキュー(標準配信キュー13又は優先配信キュー14)に格納する場合を例示して説明したがこれに限定されることはない。少なくともユーザに通知するメッセージに対応するシナリオが特定可能な情報がキューに格納されていればよい。例えば、配信情報そのものではなく、配信情報を識別するためのキー情報をキューに格納するようにしてもよい。
【0113】
以上説明した通り、実施形態の配信サーバ10は、振分処理部15と、配信処理部17と、受付処理部18とを備える。振分処理部15は、バッチ処理により配信するメッセージに関する配信情報(第1配信情報)を標準配信キュー13に格納する。振分処理部15は、配信リクエストに応じてオンデマンド配信するメッセージに関する配信情報(第2配信情報)を優先配信キュー14(標準配信キュー13とは異なるキュー)に格納する。配信処理部17は、優先配信キュー14に第2配信情報が格納されているか否かを判定し、優先配信キュー14に第2配信情報が格納されている場合、その第2配信情報に対応するメッセージを配信するための処理を実行する。配信処理部17は、優先配信キュー14に第2配信情報が格納されていない場合に、標準配信キュー13に格納された第1配信情報に対応するメッセージを配信するための処理を実行する。受付処理部18は、2通目以降のメッセージに関する配信情報(第3配信情報)を生成する。2通目以降のメッセージは、配信処理部17によって配信された配信済メッセージの状況を示す状況情報に基づいて、その状況に応じて配信するメッセージである。受付処理部18は、配信済メッセージが、バッチ処理により配信されたメッセージであるか、オンデマンド配信されたメッセージであるかに関わらず、2通目以降のメッセージに対応する第3配信情報を優先配信キュー14に格納する。
【0114】
これにより、本実施形態の配信サーバ10では、オンデマンド配信するメッセージを、バッチ処理により配信するメッセージとのは異なる優先配信キューに格納すること、及びオンデマンド配信するメッセージがキューに格納されていない場合にバッチ処理により配信するメッセージを配信することができる。したがって、バッチ処理により配信するメッセージが大量にキューに格納されている場合であっても、オンデマンド配信するメッセージを遅延させることなく配信することが可能となる。しかも、2通目以降のメッセージを配信する場合においては、1通目のメッセージがバッチ処理により配信されたメッセージであるか、オンデマンド配信されたメッセージであるかに関わらず、優先配信キューに格納することができる。このため、配信済みのメッセージの状況に応じて配信するメッセージを、バッチ処理により配信するメッセージが大量にキューに格納されている場合であっても遅延なく配信することが可能となる。したがって、バッチ処理による大量の配信情報が配信キューに格納された場合であっても、オンデマンド配信及びメッセージの状況に応じて配信する通目以降のメッセージを遅延なく配信することができる。これにより、1通目を受信した後、2通目以降のメッセージを待っているユーザ、或いは、受信したメッセージにある操作ボタンなどを操作して次のメッセージを待っているユーザの期待に応えることができる。
【0115】
また、実施形態の配信サーバ10は、通信事業者サーバ30を介して、RCS(Rich Communication Services)を利用したメッセージを配信する。配信処理部17は、通信事業者サーバ30を介してメッセージを配信する。受付処理部18は、配信済メッセージが通信端末40(配信先)に受信されたことに伴って通信事業者サーバ30から通知されるWebhook情報を、状況情報として取得する。受付処理部18は、取得したWebhook情報に基づいて、2通目以降のメッセージに対応する配信情報(第3配信情報)を生成する。これにより、実施形態の配信サーバ10は、RCSを利用したメッセージを配信すること、及びWebhook情報を用いてメッセージが受信されたか否かを把握することが可能となる。したがって、メッセージが受信されたことに応じて、次のメッセージを配信することができる。
【0116】
また、実施形態の配信サーバ10は、通信事業者サーバ30を介して、RCS(Rich Communication Services)を利用したメッセージを配信する。配信処理部17は、メッセージに含まれるコンテンツ(例えば、「はい」又は「いいえ」を示す操作ボタン)に、そのコンテンツが操作されたことに対応して送信する次メッセージを示す情報を含むポストバックデータを設定する。配信処理部17は、コンテンツに次メッセージを含むポストバックデータを設定したメッセージを、通信事業者サーバ30を介して配信する。受付処理部18は、コンテンツが操作されたことに伴って通信事業者サーバ30から通知されるWebhook情報を、状況情報として取得する。受付処理部18は、取得したWebhook情報に含まれるポストバックデータに示された次メッセージを示す情報に基づいて、2通目以降のメッセージに対応する配信情報(第3配信情報)を生成する。これにより、実施形態の配信サーバ10では、RCSを利用したメッセージを配信すること、及びWebhook情報を用いてコンテンツが操作されたか否かを把握することが可能となる。したがって、コンテンツが操作されたことに応じて、次のメッセージを配信することができる。
【0117】
また、実施形態の配信サーバ10は、対応判定部16を更に備える。対応判定部16は、通信端末40(メッセージの配信先)がRCSに対応しているか否かを判定するための処理を行う。配信処理部17は、対応判定部16が行った処理の結果に応じて、通信端末40がRCSに対応していると判定された場合に、RCSを利用したメッセージを配信するための処理を行う。これにより、実施形態の配信サーバ10では、メッセージを配信する前に、配信先である通信端末40がRCSに対応しているか否かを判定することができる。したがって、RCSに対応している通信端末40にRCSを利用したメッセージを配信し、RCSに対応していない通信端末40にRCSを利用したメッセージを配信しないようにすることができる。
【0118】
上述した実施形態における配信システム1、及び配信サーバ10の全部又は一部をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【0119】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0120】
1…配信システム、10…配信サーバ、11…配信情報記憶部、12…配信メッセージ履歴情報記憶部、13…標準配信キュー、14…優先配信キュー、15…振分処理部、16…対応判定部、17…配信処理部、18…受付処理部、30…通信事業者サーバ、40…通信端末