特許第6296605号(P6296605)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ KDDI株式会社の特許一覧

特許6296605プッシュ通知送信方法およびシステムならびにプッシュ通知装置および通信端末
<>
  • 特許6296605-プッシュ通知送信方法およびシステムならびにプッシュ通知装置および通信端末 図000002
  • 特許6296605-プッシュ通知送信方法およびシステムならびにプッシュ通知装置および通信端末 図000003
  • 特許6296605-プッシュ通知送信方法およびシステムならびにプッシュ通知装置および通信端末 図000004
  • 特許6296605-プッシュ通知送信方法およびシステムならびにプッシュ通知装置および通信端末 図000005
  • 特許6296605-プッシュ通知送信方法およびシステムならびにプッシュ通知装置および通信端末 図000006
  • 特許6296605-プッシュ通知送信方法およびシステムならびにプッシュ通知装置および通信端末 図000007
  • 特許6296605-プッシュ通知送信方法およびシステムならびにプッシュ通知装置および通信端末 図000008
  • 特許6296605-プッシュ通知送信方法およびシステムならびにプッシュ通知装置および通信端末 図000009
  • 特許6296605-プッシュ通知送信方法およびシステムならびにプッシュ通知装置および通信端末 図000010
  • 特許6296605-プッシュ通知送信方法およびシステムならびにプッシュ通知装置および通信端末 図000011
  • 特許6296605-プッシュ通知送信方法およびシステムならびにプッシュ通知装置および通信端末 図000012
  • 特許6296605-プッシュ通知送信方法およびシステムならびにプッシュ通知装置および通信端末 図000013
  • 特許6296605-プッシュ通知送信方法およびシステムならびにプッシュ通知装置および通信端末 図000014
  • 特許6296605-プッシュ通知送信方法およびシステムならびにプッシュ通知装置および通信端末 図000015
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6296605
(24)【登録日】2018年3月2日
(45)【発行日】2018年3月20日
(54)【発明の名称】プッシュ通知送信方法およびシステムならびにプッシュ通知装置および通信端末
(51)【国際特許分類】
   G06F 13/00 20060101AFI20180312BHJP
【FI】
   G06F13/00 540P
【請求項の数】9
【全頁数】14
(21)【出願番号】特願2014-97638(P2014-97638)
(22)【出願日】2014年5月9日
(65)【公開番号】特開2015-215728(P2015-215728A)
(43)【公開日】2015年12月3日
【審査請求日】2017年1月30日
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100092772
【弁理士】
【氏名又は名称】阪本 清孝
(74)【代理人】
【識別番号】100119688
【弁理士】
【氏名又は名称】田邉 壽二
(72)【発明者】
【氏名】屏 雄一郎
【審査官】 佐々木 洋
(56)【参考文献】
【文献】 特開2005−072946(JP,A)
【文献】 特開2015−103099(JP,A)
【文献】 特開2014−171037(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 13/00
(57)【特許請求の範囲】
【請求項1】
通知時刻の指定されたプッシュ通知でメッセージを送信するプッシュ通知装置において、
プッシュ通知および通知時刻指定を受け付ける手段と、
各通信端末の時刻精度を検知する手段と、
各プッシュ通知の事前通知属性を、時刻誤差が許容範囲外の通信端末宛は禁止に設定し、許容範囲内の通信端末宛は許可に設定する手段と、
少なくとも事前通知属性が許可のプッシュ通知に前記通知時刻を記述する手段と、
プッシュ通知を、事前通知属性が許可であれば前記通知時刻よりも前に送信し、事前通知属性が禁止であれば前記通知時刻で送信する手段とを具備したことを特徴とするプッシュ通知装置。
【請求項2】
前記送信する手段は、事前通知属性が許可のプッシュ通知を時刻分散で送信することを特徴とする請求項1に記載のプッシュ通知装置。
【請求項3】
各プッシュ通知に当該プッシュ通知の事前通知属性を記述する手段をさらに具備したことを特徴とする請求項1または2に記載のプッシュ通知装置。
【請求項4】
各通信端末との間のネットワーク遅延を計算する手段をさらに具備し、
前記送信する手段は、少なくとも事前通知属性が禁止のプッシュ通知を前記通知時刻よりも前記ネットワーク遅延分だけ早いタイミングで送信することを特徴とする請求項1ないし3のいずれかに記載のプッシュ通知装置。
【請求項5】
前記時刻精度を検知する手段は、各通信端末のシステム時刻と自装置のシステム時刻との差分を時刻誤差とすることを特徴とする請求項1ないし4のいずれかに記載のプッシュ通知装置。
【請求項6】
プッシュ通知で受信したメッセージを表示する通信端末において、
受信したプッシュ通知に、自端末の時刻精度に基づいて登録された事前通知属性を識別する手段と、
プッシュ通知で受信したメッセージの表示タイミングを、前記事前通知属性および指定された通知時刻に基づいて制御する手段とを具備し、
前記制御する手段は、時刻誤差が所定の閾値以上である通信端末用の事前通知属性が登録されたプッシュ通知で受信したメッセージは即時表示し、時刻誤差が所定の閾値未満である通信端末用の事前通知属性が登録されたプッシュ通知で受信したメッセージは前記通知時刻を待って表示することを特徴とする通信端末。
【請求項7】
プッシュ通知をプッシュ通知装置から中継装置を介して通信端末へ送信するプッシュ通知システムにおいて、
前記プッシュ通知装置が、
プッシュ通知および通知時刻指定を受け付ける手段と、
各通信端末の時刻精度を検知する手段と、
各プッシュ通知の事前通知属性を、時刻誤差が許容範囲外の通信端末宛は禁止に設定し、許容範囲内の通信端末宛は許可に設定する手段と、
少なくとも事前通知属性が許可のプッシュ通知に前記通知時刻を記述する手段と、
プッシュ通知を、事前通知属性が許可であれば前記通知時刻よりも前に送信し、事前通知属性が禁止であれば前記通知時刻で送信する手段とを具備し
前記通信端末が、
受信したプッシュ通知の事前通知属性を識別する手段と、
プッシュ通知で受信したメッセージの表示タイミングを、前記事前通知属性および指定された通知時刻に基づいて制御する手段とを具備し、
前記制御する手段は、事前通知属性が禁止のプッシュ通知で受信したメッセージは即時表示し、事前通知属性が許可のプッシュ通知で受信したメッセージは前記通知時刻を待って表示することを特徴とするプッシュ通知システム。
【請求項8】
前記プッシュ通知装置からの依頼に応答して、ネットワーク上の各中継装置に対してプッシュ通知への優先制御の適用を依頼するネットワーク制御手段を具備し、
前記各中継装置は、少なくとも事前通知属性が禁止のプッシュ通知に優先制御を適用することを特徴とする請求項7に記載のプッシュ通知システム。
【請求項9】
通知時刻の指定されたプッシュ通知で宛先の通信端末へメッセージを送信するプッシュ通知方法において、
プッシュ通知装置が各通信端末の時刻誤差を検知する手順と、
プッシュ通知装置が各プッシュ通知の事前通知属性を、前記時刻誤差が許容範囲外の通信端末宛は禁止に設定し、許容範囲内の通信端末宛は許可に設定する手順と、
プッシュ通知装置が、事前通知属性が許可のプッシュ通知を前記通知時刻よりも前に送信する手順と、
通信端末が、事前通知属性が許可のプッシュ通知で受信したメッセージを前記通知時刻を待って表示する手順と、
プッシュ通知装置が、事前通知属性が禁止のプッシュ通知を前記通知時刻で送信する手順と、
通信端末が、事前通知属性が禁止のプッシュ通知で受信したメッセージを直ちに表示する手順とを含むことを特徴とするプッシュ通知送信方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プッシュ通知送信方法およびシステムならびにプッシュ通知装置および通信端末に係り、特に、全てのプッシュ通知を一斉に送信することなく、宛先の通信端末において実質の一斉プッシュ受信を実現できるプッシュ通知送信方法およびシステムならびにプッシュ通知装置および通信端末に関する。
【背景技術】
【0002】
近年、スマートフォン等の携帯通信端末の普及により、情報更新等をユーザに効果的に伝えるために、ユーザからのリクエストを受けてサーバから情報を送信するのではなく、サーバ契機で携帯通信端末へメッセージを送信する、プッシュ通知と呼ばれるメッセージ送信方法が広く利用されている。
【0003】
プッシュ通知の利点として、ユーザ端末側から情報更新等を確認する必要がないので、通信量や携帯通信端末の消費電力量を削減できることがある。スマートフォンOSを提供するGoogle社やApple社は、各OSを実装した通信端末にプッシュ通知によりメッセージを送信するためのプッシュ通知サーバを提供している。
【0004】
現在、IPv4で構成されたインターネットに接続する多くの通信端末には、一般的にプライベートIPアドレスが付与される。このような通信端末がインターネット上のサーバとの通信を開始する際、通信端末から送信されるIPパケットは、通信端末とインターネットとの間に設置されたアドレス変換装置(Network Address Translator:NAT)において、パケットの送信元アドレスをプライベートIPアドレスからグローバルIPアドレスに変換された後、宛先のサーバに到達する。
【0005】
一方、プライベートIPアドレスは原則としてインターネットには公開されないため、NATにおいて明示的に設定されない限り、インターネット上のサーバから、プライベートIPアドレスが付与された通信端末に対して通信を開始することはできない。そのため、前記Google社やApple社が提供するプッシュ通知サーバでは、初めに通信端末からプッシュ通知サーバに対してTCPコネクションを確立し、このTCPコネクションを利用してプッシュ通知サーバから通信端末にプッシュ通知メッセージを送信する方式を採用している。
【0006】
一方、プッシュ通知サーバと通信端末との間の経路にNATやファイアウォール等の装置が存在しない場合、例えばプッシュ通知サーバが、通信端末が接続するネットワークと同じ管理配下に存在する場合などでは、通信端末からサーバに対してコネクションを確立することなく、サーバ契機で通信端末に直接プッシュ通知を送信することも可能である。
【0007】
非特許文献1,2には、スマートフォンOSを提供するGoogle社やApple社が、各OSを実装した通信端末に対してプッシュ通知によりメッセージを送信するためのプッシュ通知サーバが開示されている。
【先行技術文献】
【非特許文献】
【0008】
【非特許文献1】Google Cloud Messaging (GCM)http://developer.android.com/guide/google/gcm/index.html
【非特許文献2】Apple Push Notification Service (APNS)https://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/ApplePushService/ApplePushService.html
【発明の概要】
【発明が解決しようとする課題】
【0009】
プッシュ通知には、例えば定時ニュース配信や新製品告知などのように、ある指定時刻に多数の端末へ一斉に通知するような利用例がある。この場合、宛先の通信端末が多数存在すると、プッシュ通知装置(サーバ)の性能やネットワークの他のトラフィックや遅延の影響により、各通信端末が通知を受信する時間に差が発生する可能性がある。この場合、例えば「先着○○名様にプレゼント」のような告知であれば、遅れて受信したユーザが不利益を被る場合がある。また、プッシュ通知の一斉送信によりネットワークに多大な負荷がかかる可能性がある。
【0010】
本発明の目的は、上記の技術課題を解決し、多数の通信端末への指定時刻による一斉プッシュ通知において、受信ユーザ間の不公正をなくし、かつネットワークに負荷をかけることなく、確実に指定時刻においてユーザにプッシュ通知できるプッシュ通知送信システムならびにプッシュ通知装置および通信端末を提供することにある。
【課題を解決するための手段】
【0011】
上記の目的を達成するために、本発明は、通知時刻の指定されたプッシュ通知でメッセージを送信するプッシュ通知送信方法およびシステムならびにそのプッシュ通知装置および通信端末において、以下のような構成を具備した点に特徴がある。
【0012】
(1) 本発明のプッシュ通知装置は、プッシュ通知および通知時刻指定を受け付ける手段と、各通信端末の時刻精度を検知する手段と、各プッシュ通知の事前通知属性を、時刻誤差が許容範囲外の通信端末宛は禁止に設定し、許容範囲内の通信端末宛は許可に設定する手段と、少なくとも事前通知属性が許可のプッシュ通知に前記通知時刻を記述する手段と、プッシュ通知を、事前通知属性が許可であれば前記通知時刻よりも前に送信し、事前通知属性が禁止であれば前記通知時刻で送信する手段とを具備した。
【0013】
(2) 本発明のプッシュ通知装置において、前記送信する手段は、事前通知属性が許可のプッシュ通知を時刻分散で送信するようにした。
【0014】
(3) 本発明の通信端末は、受信したプッシュ通知の事前通知属性を識別する手段と、プッシュ通知で受信したメッセージの表示タイミングを、前記事前通知属性および指定された通知時刻に基づいて制御する手段とを具備し、前記制御する手段は、事前通知属性が禁止のプッシュ通知で受信したメッセージは即時表示し、事前通知属性が許可のプッシュ通知で受信したメッセージは前記通知時刻を待って表示するようにした。
【0015】
(4) 本発明のプッシュ通知方法およびシステムは、プッシュ通知装置が各通信端末の時刻誤差を検知し、プッシュ通知装置が各プッシュ通知の事前通知属性を、前記時刻誤差が許容範囲外の通信端末宛は禁止に設定する一方、許容範囲内の通信端末宛は許可に設定し、プッシュ通知装置が、事前通知属性が許可のプッシュ通知を前記通知時刻よりも前に送信し、通信端末が、事前通知属性が許可のプッシュ通知で受信したメッセージを前記通知時刻を待って表示し、プッシュ通知装置が、事前通知属性が禁止のプッシュ通知を前記通知時刻で送信し、通信端末が、事前通知属性が禁止のプッシュ通知で受信したメッセージを直ちに表示するようにした。
【0016】
(5) 本発明のプッシュ通知送信方法およびシステムは、プッシュ通知装置が送信したメッセージを宛先の通信端末まで中継する中継装置が、少なくとも事前通知属性が禁止のプッシュ通知メッセージに優先制御を適用するようにした。
【発明の効果】
【0017】
本発明によれば、以下のような効果が達成される。
(1) 本発明のプッシュ通知装置によれば、指定された通知時刻で同時にプッシュ通知するメッセージ数を、システム時刻精度の低い一部の通信端末数分に制限でき、システム時刻精度の高い他の通信端末数分のメッセージは通知時刻よりも前に送信できる。したがって、プッシュ通知が通知時刻に集中することによるプッシュ通知遅延が解消され、見かけ上の通知時刻における一斉プッシュ通信を実現できるようになる。
【0018】
(2) 本発明のプッシュ通知装置によれば、通知時刻よりも前のプッシュ通知の送信タイミングを時刻分散させることにより、システム時刻精度の高い通信端末が多い場合でも、プッシュ通知が通知時刻前の一時期に集中することを防止できるようになる。
【0019】
(3) 本発明の通信端末によれば、プッシュ通知されたメッセージが事前通知されたメッセージであるか否かに関わらず、通知時刻のタイミングで正確に表示できるようになる。
【0020】
(4) 本発明のプッシュ通知送信方法およびシステムによれば、通知時刻指定されて多数の宛先へプッシュ通知により送信されるメッセージを、各宛先において指定された通知時刻のタイミングで、ネットワークへの負荷を抑えながら一斉に表示出力させることができるようになる。
【0021】
(5) 本発明のプッシュ通知送信方法およびシステムによれば、プッシュ通知されるメッセージパケットに対して各中継装置がQoS制御を適用するので、他のトラヒックの影響を受けにくくなってプッシュ通知のネットワーク遅延を最小限に抑えられる。したがって、他のトラヒックの影響を受けることなく、見かけ上の通知時刻における一斉プッシュ通信を実現できるようになる。
【図面の簡単な説明】
【0022】
図1】本発明のプッシュ通知送信方法が適用されるプッシュ通知送信システムの第1実施形態のブロック図である。
図2】プッシュ通知装置の主要部の構成を示した機能ブロック図である。
図3】端末情報DBの登録内容の一例を示した図である。
図4】プッシュ通知のエントリをメッセージDBに蓄積する手順を示したフローチャートである。
図5】メッセージDBの登録内容の一例を示した図である。
図6】プッシュ通知制御部の動作を示したフローチャートである。
図7】通信端末の主要部の構成を示したブロック図である。
図8】通信端末MNの動作を示したフローチャートである。
図9】プッシュ通知送信システムの動作を示したシーケンスフローである。
図10】本発明のプッシュ通知送信方法が適用されるプッシュ通知送信システムの第2実施形態の構成を示したブロック図である。
図11】プッシュ通知装置の第2実施形態の構成を示したブロック図である。
図12】中継装置に対してQoS設定を依頼する手順を示したシーケンスフローである。
図13】QoS設定を依頼された中継装置の動作を示したフローチャートである。
図14】プッシュ通知の分散送信に対応したメッセージDBの登録内容の一例を示した図である。
【発明を実施するための形態】
【0023】
以下、図面を参照して本発明の実施の形態について詳細に説明する。図1は、本発明のプッシュ通知送信方法が適用されるプッシュ通知送信システムの第1実施形態の構成を示したブロック図であり、ここでは、本発明の説明に不要な構成は図示が省略されている。
【0024】
各通信端末MNは、無線基地局BSを介してネットワークへ接続する。このネットワークには、各通信端末MNへ各種のメッセージをプッシュ通知により送信するプッシュ通知装置1が接続されている。プッシュ通知装置1は、プッシュ通知要求をその宛先情報および通知時刻の指定と共に受け付けると、プッシュ通知するメッセージが各宛先端末のディスプレイに前記通知時刻のタイミングで正確に表示されるように、各通信端末MNのシステム時刻の精度に応じて、前記通知時刻と同時またはそれよりも早いタイミングで宛先の各通信端末MNへプッシュ通知を送信する。
【0025】
図2は、前記プッシュ通知装置1の主要部の構成を示した機能ブロック図であり、このような装置は、汎用のコンピュータやサーバに各機能を実現するアプリケーション(プログラム)を実装することで構成できる。あるいはアプリケーションの一部がハードウェア化またはROM化された専用機や単能機としても構成できる。
【0026】
時刻同期部101は、NTP(Network Time Protocol)やGPS信号を用いて、自装置のシステム時刻を客観的に精度保証された外部時刻に同期させる。端末情報収集部102は、各通信端末MNからユーザID、IPアドレス、ポート番号等の識別情報と共に各通信端末MNがシステム制御に用いる時刻情報(システム時刻)の記述された登録要求メッセージを受信する。
【0027】
時刻情報集約部103は、受信した登録要求メッセージに記述されているシステム時刻を抽出して自装置のシステム時刻との誤差ΔDを算出すると共に、各通信端末MNとの間で交換されるメッセージの送受信時刻に基づいてネットワークの片道遅延Δdを計算し、これらを集約して前記識別情報と共に端末情報データベース(DB)104に登録する。
【0028】
図3は、前記端末情報DB104の登録内容の一例を示した図であり、「ユーザID」をインデックスとして、「IPアドレス」、「ポート番号」、「システム時刻誤差ΔD(ミリ秒)」および「ネットワークの片道遅延Δd(ミリ秒)」が登録されている。
【0029】
プッシュ通知受付部105は、宛先および通知時刻の指定されたプッシュ通知要求を受け付けてメッセージDB106に蓄積する。プッシュ通知要求は、プッシュ通知装置1がWebサーバを動作させてWeb GUI画面を提供し、プッシュ通知要求ユーザがWebブラウザを利用してメッセージ等を入力することで実現できる。あるいはプッシュ通知装置1がプッシュ通知要求を受け付けるAPI(Application Programming Interface)を提供し、プッシュ通知要求ユーザが何らかのプログラムから通知要求APIを呼び出すことで実現しても良い。
【0030】
送信タイミング決定部107は、プッシュ通知先の各通信端末MNの時刻精度に基づいて、プッシュ通知の事前通知属性を宛先ごとに"OK"(許可)または"NG"(禁止)のいずれかに決定する。本実施形態では、各通信端末MNの時刻精度が前記システム時刻誤差ΔDに基づいて判別される。
【0031】
図4は、前記プッシュ通知受付部105および送信タイミング決定部107が協調して各プッシュ通知のエントリをメッセージDB106に蓄積する手順を示したフローチャートであり、図5は、メッセージDB106の登録内容の一例を示した図である。
【0032】
前記メッセージDB106では、プッシュ通知要求ごとに一意な「メッセージID」、「宛先ユーザID」、「通知時刻」、「事前通知」および「メッセージ内容」が登録されている。同一メッセージを複数の宛先へ送信するプッシュ通知要求が受け付けられると、メッセージIDが同一で宛先ユーザIDの異なる複数のエントリが登録される。
【0033】
図4において、ステップS11では、受け付けられたプッシュ通知が時刻指定を含むか否かが判断される。通知時刻が指定されていればステップS12へ進み、端末情報DB104を参照して各通信端末MNのシステム時刻誤差ΔDが取得される。
【0034】
ステップS13では、システム時刻誤差ΔDに基づいて通信端末MNの時刻精度が評価され、システム時刻誤差ΔDが所定の閾値未満であって時刻精度が許容範囲内と判断されれば、その事前通知属性が"OK"に決定されてステップS14へ進み、当該プッシュ通知のエントリがメッセージDB106に登録される。このとき、メッセージDB106の「事前通知」欄には"OK"、「通知時刻」欄には前記指定された通知時刻が登録される。
【0035】
これに対して、システム時刻誤差ΔDが所定の閾値以上であって時刻精度が許容範囲外と判断されれば、その事前通知属性が"NG"に決定されてステップS15へ進み、当該プッシュ通知のエントリがメッセージDB106に登録される。このとき、「事前通知」欄には"NG"、「通知時刻」欄には前記指定された通知時刻が登録される。
【0036】
一方、前記ステップS11において、通知時刻が指定されていないと判定された場合も、その事前通知属性が"NG"に決定されステップS15へ進み、当該プッシュ通知のエントリがメッセージDB106に登録される。このとき、「事前通知」欄には"NG"、「通知時刻」欄には現在時刻が登録される。
【0037】
図2へ戻り、メッセージ加工部108は、メッセージDB106の「メッセージ内容」欄に蓄積されているメッセージの所定のヘッダフィールドに、当該メッセージの事前通知属性が"OK"および"NG"のいずれであるかを表すフラグ(事前通知フラグ)を登録し、事前通知属性が"OK"のメッセージについては更に前記通知時刻を記述する加工を施す。プッシュ通知制御部109は、メッセージDB106に蓄積されているプッシュ通知を、その事前通知属性が"OK"であれば、指定された通知時刻よりも前のタイミングで送信する。
【0038】
一方、その事前通知属性が"NG"のプッシュ通知については指定された通知時刻で送信する。このとき、宛先端末ごとに前記ネットワーク遅延Δdを考慮して、前記通知時刻よりもΔdだけ早めに送信するようにしても良い。
【0039】
図6は、前記プッシュ通知制御部109の動作を示したフローチャートであり、ステップS31では、メッセージDB106に送信待ちのプッシュ通知のエントリが登録されているか否かが判定される。送信待ちのプッシュ通知が登録されていればステップS32へ進み、当該エントリの「事前通知」欄の"OK"または"NG"が判定される。事前通知が"OK"であればステップS33へ進み、所定のヘッダフィールドに事前通知フラグがセットされ、かつ通知時刻の記述されたプッシュ通知が宛先の各通信端末MNへ送信される。
【0040】
これに対して、「事前通知」が"NG"であればステップS34へ進み、当該プッシュ通知の通知時刻であるか否かが判定される。通知時刻前であれば今回周期の処理を完了し、通知時刻であればステップS35へ進む。ステップS35では、当該プッシュ通知が宛先の各通信端末MNへ直ちに送信される。
【0041】
図7は、各通信端末MNの主要部の構成を示したブロック図であり、ここでは本発明の説明に不要な構成は図示が省略されている。以下に詳述する通信端末MNの各機能は、プッシュ通知受信用のアプリケーションにより実現できる。
【0042】
端末情報通知部201は、ユーザID、IPアドレスおよびポート番号等の識別情報と共に、自端末のシステム時刻207の記述された登録要求メッセージをプッシュ通知装置1へ定期的に、または所定のイベントを契機に繰り返し登録する。時刻情報応答部202は、時刻情報を含むメッセージをプッシュ通知装置1との間で交換する。
【0043】
プッシュ通知受信部203は、プッシュ通知装置1からプッシュ通知により送信されるメッセージを受信してメッセージDB204へ蓄積する。表示制御部205は、プッシュ通知されたメッセージの事前通知フラグがセットされているか否かを解析し、セットされていなければディスプレイ206へ直ちに出力する表示制御を行う。これに対して、事前通知フラグがセットされていれば通知時刻を参照し、システム時刻207が当該通知時刻に一致するのを待ってディスプレイ206に出力する表示制御を行う。上記の各機能は前記システム時刻207に基づいて制御される。
【0044】
図8は、プッシュ通知を受信して表示する通信端末MNの動作を示したフローチャートであり、ステップS51においてプッシュ通知が受信されると、ステップS52では、事前通知フラグがセットされているか否かが判定される。セットされていなければステップS55へ進み、当該プッシュ通知されたメッセージが直ちに表示される。
【0045】
これに対して、事前通知フラグがセットされていればステップS53へ進み、所定のヘッダフィールドに記述されている通知時刻が抽出される。ステップS54では、システム時刻と通知時刻とが比較され、通知時刻前であれば、通知時刻まで待機した後にステップS55へ進み、プッシュ通知メッセージをメッセージDB204から読み出して表示する。
【0046】
なお、当該待機中に他のプッシュ通知がステップS51で受信されると、同様の処理が並列的に実行されるので、指定された通知時刻でのメッセージ表示が担保されることになる。
【0047】
次いで、図9のシーケンスフローを参照して、前記プッシュ通知装置1および通信端末MNを含むプッシュ通知送信システムの一実施形態の動作を説明する。
【0048】
通信端末MNにおいて、プッシュ通知受信用のアプリケーションが起動されると、時刻t1では、前記端末情報通知部201により、ユーザID、IPアドレス、ポート番号およびシステム時刻が収集され、プッシュ通知装置1へ登録要求メッセージとして通知される。プッシュ通知装置1では、これらの情報が前記端末情報収集部102および時刻情報収集部103により収集される。
【0049】
時刻t2では、プッシュ通知装置1から通信端末MNへ応答メッセージが返信される。この応答メッセージは、通信端末MNにおいて時刻t3で受信される。時刻t4では、通信端末MNの時刻情報応答部202からプッシュ通知装置1へ、前記応答メッセージの受信時刻t3および応答送信のシステム時刻(=t4)の記述された応答メッセージが返信される。
【0050】
プッシュ通知装置1では、時刻t5において前記応答メッセージを受信すると、前記時刻情報集約部103により、通信端末MNからプッシュ通知装置1までのネットワーク片道遅延Δdが次式(1)に基づいて計算される。
【0051】
Δd = {(t5 - t2) - (t4 - t3)} / 2 …(1)
【0052】
さらに、次式(2)に基づいて、プッシュ通知装置1と通信端末MNとのシステム時刻誤差ΔDが算出される。
【0053】
ΔD = |t5 - (t4 + d)| …(2)
【0054】
時刻t6では、前記片道遅延Δdおよびシステム時刻誤差ΔDが、当該通信端末MNから取得した前記ユーザID、IPアドレス、ポート番号等の識別情報と紐付けられて端末情報DB104へ登録される。なお、前記時刻t1〜t6の各動作は、プッシュ通知の有無に係わらず定期的に、例えば24時間毎に実行される。
【0055】
その後、時刻t7において、プッシュ通知装置1のプッシュ通知受付部109において、プッシュ通知用のメッセージならびに宛先および通知時刻の指定を含むプッシュ通知要求が受け付けられると、時刻t8では、宛先の各通信端末MNに関する情報が端末情報DB104から抽出される。そして、システム時刻誤差ΔDが所定の閾値ΔDrefよりも小さくて時刻精度の高い通信端末MNについては、その事前通知属性が"OK"に決定され、当該属性および通知時刻(ここでは、後述する時刻t13)を含むエントリが、時刻t9においてメッセージDB106に登録される。
【0056】
これに対して、システム時刻差Dが所定の閾値ΔDrefよりも大きくて時刻精度の低い通信端末MNについては、その事前通知属性が"NG"に決定され、当該属性を含むエントリが同様にメッセージDB106に登録される。さらに、前記メッセージ加工部108により、プッシュ通知で送信するメッセージの所定のヘッダフィールドに、当該メッセージの事前通知属性が"OK"および"NG"のいずれであるかを各通信端末MNに識別させるための事前通知フラグおよび通知時刻が記述されてメッセージDB106に登録される。
【0057】
時刻t10では、メッセージDB106に送信待機中のプッシュ通知が登録されているか否かが判定される。「事前通知」が"OK"のプッシュ通知が送信待機中であれば、時刻t11において指定の宛先へ送信される。
【0058】
各通信端末MNでは、受信したプッシュ通知のメッセージが、そのヘッダフィールドに登録されている事前通知フラグに基づいて、ここでは事前通知されたメッセージと判定されるので、当該メッセージに記述されている通知時刻t13を待って表示出力する。
【0059】
これに対して、「事前通知」が"NG"のプッシュ通知が送信待機中であれば、前記通知時刻t13よりも前記片道遅延Δdだけ前の時刻t12を待って送信される。通信端末MNでは、受信したプッシュ通知のメッセージが、そのヘッダフィールドに登録されている事前通知フラグに基づいて、ここでは事前通知されたメッセージではないと判定されるので、当該メッセージが直ちに表示出力される。
【0060】
本実施形態によれば、指定された通知時刻で同時にプッシュ通知するメッセージ数を、システム時刻精度の低い一部の通信端末数分に制限でき、システム時刻精度の高い他の通信端末数分のメッセージは通知時刻よりも前に送信できる。したがって、プッシュ通知が通知時刻に集中することによるプッシュ通知遅延が解消され、見かけ上の通知時刻における一斉プッシュ通信を実現できるようになる。
【0061】
なお、上記の実施形態では、事前通知されるプッシュ通知の送信タイミングについて特に言及していないが、メッセージ数(宛先数)が多い場合には、所定の期間内で分散送信するようにしても良い。
【0062】
図14は、プッシュ通知の分散送信に対応したメッセージDB106の一例を示した図であり、事前通知の具体的な時刻が記述された「事前通知時刻」欄が追加されている。この「事前通知時刻」欄には、メッセージIDが同一で宛先ユーザが異なる各エントリ群を対象に、現在時刻から通知時刻の例えば1分前までの期間内で各宛先ユーザへプッシュ通知を分散送信するための通知時刻がランダム又は所定の関数計算により求められて登録されている。
【0063】
前記プッシュ通知制御部109は、メッセージDB106の「事前通知時刻」欄を参照し、各エントリのメッセージを事前通知時刻において送信する。あるいは、前記ネットワーク遅延Δdを考慮して、前記事前通知時刻よりもΔdだけ早めに送信するようにしても良い。
【0064】
このようにすれば、システム時刻精度の高い通信端末が多い場合でも、プッシュ通知が通知時刻前の一時期に集中することを防止できるようになる。
【0065】
次いで、本発明の第2実施形態について説明する。図10は、本発明のプッシュ通知送信方法が適用されるプッシュ通知送信システムの第2実施形態の構成を示したブロック図であり、図11は、本実施形態におけるプッシュ通知装置1の構成を示したブロック図である。いずれの図でも前記と同一の符号は同一または同等部分を表している。
【0066】
図10において、ネットワーク制御装置3は、プッシュ通知装置1からのQoS設定依頼に応答して、プッシュ通知されるメッセージパケットをネットワーク上で中継する各中継装置に対して、当該メッセージパケットに対する帯域確保や優先制御などのQoS制御の適用を依頼する。
【0067】
図11において、プッシュ通知装置1のQoS設定依頼部110は、前記ネットワーク制御装置3に対して、プッシュ通知するメッセージパケットに対するQoS制御の適用を依頼する。前記QoS設定依頼部110はさらに、プッシュ通知されるメッセージパケットの所定のヘッダフィールドに、当該パケットがQoS対象であることを各中継装置に識別させるためのQoSフラグをセットする。
【0068】
図12は、ネットワーク上の各中継装置に対してQoS設定を依頼する手順を示したシーケンスフローであり、時刻t21では前記時刻t10と同様に、メッセージDB106に送信待機中のプッシュ通知が登録されているか否かが判定される。プッシュ通知が登録されていれば、時刻t22において、QoS設定依頼部110に対してQoS設定が依頼される。時刻t23では、QoS設定依頼部110から前記ネットワーク制御装置3に対してQoS設定の依頼メッセージが送信される。
【0069】
ネットワーク制御装置3は、前記QoS設定の依頼メッセージを受信すると、時刻t24において、ネットワーク上の各中継装置に対して、プッシュ通知されるメッセージパケットに対するQoS制御の適用を依頼する。このとき、メッセージパケットを中継する中継装置を予め識別できるのであれば当該中継装置に対してのみ選択的に依頼し、またこのような中継装置を識別できなければ全ての中継装置に対して依頼する。
【0070】
各中継装置は、QoS設定が完了すると、時刻t25においてQoS設定完了メッセージを前記ネットワーク制御装置3へ応答する。時刻t26では、前記QoS設定完了メッセージを受信したネットワーク制御装置3が、プッシュ通知装置1のQoS設定依頼部110に対してQoS設定完了メッセージを応答する。時刻t27では、プッシュ通知装置1において、QoS設定依頼部110がプッシュ通知制御部109へQoS設定完了メッセージを応答する。
【0071】
時刻t28では、メッセージDB106に登録されている「事前通知」が"OK"のプッシュ通知が宛先の各通信端末MNへ送信される。通信端末MNでは、受信したプッシュ通知のメッセージが、そのヘッダフィールドに登録されている事前通知フラグに基づいて、ここでは事前通知されたメッセージと判定されるので、通知時刻t30を待って表示出力する。
【0072】
これに対して、「事前通知」が"NG"のプッシュ通知が送信待機中であれば、前記通知時刻t30よりも前記片道遅延Δdだけ前の時刻t29を待って送信される。通信端末MNでは、受信したプッシュ通知のメッセージが、そのヘッダフィールドに登録されている事前通知フラグに基づいて、ここでは事前通知されたメッセージではないと判定されるので、当該メッセージが直ちに表示出力される。
【0073】
図13は、QoS設定を依頼された中継装置の動作を示したフローチャートであり、ステップS71においてプッシュ通知のメッセージパケットが受信されると、ステップS72では、所定のヘッダフィールドにQoSフラグがセットされているか否かが判定される。QoSフラグがセットされていればステップS73へ進み、当該パケットを優先キューに接続するなどの優先制御処理を適用する。
【0074】
本実施形態によれば、プッシュ通知されるメッセージパケットに対して各中継装置がQoS制御を適用するので、他のトラヒックの影響を受けにくくなってプッシュ通知のネットワーク遅延を最小限に抑えられる。したがって、他のトラヒックの影響を受けることなく、見かけ上の通知時刻における一斉プッシュ通信を実現できるようになる。
【符号の説明】
【0075】
101…時刻同期部,102…端末情報収集部,103…時刻情報集約部,104…端末情報DB,105…プッシュ通知受付部,106…メッセージDB,107…送信タイミング決定部,108…メッセージ加工部,109…プッシュ通知制御部,201…端末情報通知部,202…時刻情報応答部,203…プッシュ通知受信部,204…メッセージDB,205…表示制御部,206…ディスプレイ,207…システム時刻
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14