(57)【要約】【課題】指定時刻における一斉プッシュ通知において、受信ユーザ間に不公正を生じさせず、ネットワークに負荷をかけずにプッシュ通知メッセージを一斉に受信させる。【解決手段】時刻t1-t6ではプッシュ通知装置１により各通信端末MNの識別情報、両者間のシステム時刻誤差ΔDおよびネットワーク片道遅延Δdが収集・蓄積される。t7では、プッシュ通知装置１において通知時刻の指定を含むプッシュ通知要求が受け付けられる。t8では、システム時刻誤差ΔDの小さい通信端末MNの事前通知属性がOKに決定され、システム時刻差Dが大きい通信端末MNの事前通知属性がNGに決定される。送信待ちのプッシュ通知の事前通知属性がOKであれば時刻t11において送信され、通知時刻t13を待って表示出力される。事前通知属性がNGのプッシュ通知は、通知時刻t13よりも前のt12を待って送信され、直ちに表示出力される。【選択図】図９
2015215728.tif 000002
【特許請求の範囲】
【請求項１】
通知時刻の指定されたプッシュ通知でメッセージを送信するプッシュ通知装置において、
プッシュ通知および通知時刻指定を受け付ける手段と、
各通信端末の時刻精度を検知する手段と、
各プッシュ通知の事前通知属性を、時刻誤差が許容範囲外の通信端末宛は禁止に設定し、許容範囲内の通信端末宛は許可に設定する手段と、
少なくとも事前通知属性が許可のプッシュ通知に前記通知時刻を記述する手段と、
プッシュ通知を、事前通知属性が許可であれば前記通知時刻よりも前に送信し、事前通知属性が禁止であれば前記通知時刻で送信する手段とを具備したことを特徴とするプッシュ通知装置。
【請求項２】
前記送信する手段は、事前通知属性が許可のプッシュ通知を時刻分散で送信することを特徴とする請求項１に記載のプッシュ通知装置。
【請求項３】
各プッシュ通知に当該プッシュ通知の事前通知属性を記述する手段をさらに具備したことを特徴とする請求項１または２に記載のプッシュ通知装置。
【請求項４】
各通信端末との間のネットワーク遅延を計算する手段をさらに具備し、
前記送信する手段は、少なくとも事前通知属性が禁止のプッシュ通知を前記通知時刻よりも前記ネットワーク遅延分だけ早いタイミングで送信することを特徴とする請求項１ないし３のいずれかに記載のプッシュ通知装置。
【請求項５】
前記時刻精度を検知する手段は、各通信端末のシステム時刻と自装置のシステム時刻との差分を時刻誤差とすることを特徴とする請求項１ないし４のいずれかに記載のプッシュ通知装置。
【請求項６】
プッシュ通知で受信したメッセージを表示する通信端末において、
受信したプッシュ通知の事前通知属性を識別する手段と、
プッシュ通知で受信したメッセージの表示タイミングを、前記事前通知属性および指定された通知時刻に基づいて制御する手段とを具備し、
前記制御する手段は、事前通知属性が禁止のプッシュ通知で受信したメッセージは即時表示し、事前通知属性が許可のプッシュ通知で受信したメッセージは前記通知時刻を待って表示することを特徴とする通信端末。
【請求項７】
プッシュ通知をプッシュ通知装置から中継装置を介して通信端末へ送信するプッシュ通知システムにおいて、
前記プッシュ通知装置が、
プッシュ通知および通知時刻指定を受け付ける手段と、
各通信端末の時刻精度を検知する手段と、
各プッシュ通知の事前通知属性を、時刻誤差が許容範囲外の通信端末宛は禁止に設定し、許容範囲内の通信端末宛は許可に設定する手段と、
少なくとも事前通知属性が許可のプッシュ通知に前記通知時刻を記述する手段と、
プッシュ通知を、事前通知属性が許可であれば前記通知時刻よりも前に送信し、事前通知属性が禁止であれば前記通知時刻で送信する手段とを具備し
前記通信端末が、
受信したプッシュ通知の事前通知属性を識別する手段と、
プッシュ通知で受信したメッセージの表示タイミングを、前記事前通知属性および指定された通知時刻に基づいて制御する手段とを具備し、
前記制御する手段は、事前通知属性が禁止のプッシュ通知で受信したメッセージは即時表示し、事前通知属性が許可のプッシュ通知で受信したメッセージは前記通知時刻を待って表示することを特徴とするプッシュ通知システム。
【請求項８】
前記プッシュ通知装置からの依頼に応答して、ネットワーク上の各中継装置に対してプッシュ通知への優先制御の適用を依頼するネットワーク制御手段を具備し、
前記各中継装置は、少なくとも事前通知属性が禁止のプッシュ通知に優先制御を適用することを特徴とする請求項７に記載のプッシュ通知システム。
【請求項９】
通知時刻の指定されたプッシュ通知で宛先の通信端末へメッセージを送信するプッシュ通知方法において、
プッシュ通知装置が各通信端末の時刻誤差を検知する手順と、
プッシュ通知装置が各プッシュ通知の事前通知属性を、前記時刻誤差が許容範囲外の通信端末宛は禁止に設定し、許容範囲内の通信端末宛は許可に設定する手段と、
プッシュ通知装置が、事前通知属性が許可のプッシュ通知を前記通知時刻よりも前に送信する手順と、
通信端末が、事前通知属性が許可のプッシュ通知で受信したメッセージを前記通知時刻を待って表示する手順と、
プッシュ通知装置が、事前通知属性が禁止のプッシュ通知を前記通知時刻で送信する手順と、
通信端末が、事前通知属性が禁止のプッシュ通知で受信したメッセージを直ちに表示する手順とを含むことを特徴とするプッシュ通知送信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プッシュ通知送信方法およびシステムならびにプッシュ通知装置および通信端末に係り、特に、全てのプッシュ通知を一斉に送信することなく、宛先の通信端末において実質の一斉プッシュ受信を実現できるプッシュ通知送信方法およびシステムならびにプッシュ通知装置および通信端末に関する。
【背景技術】
【０００２】
近年、スマートフォン等の携帯通信端末の普及により、情報更新等をユーザに効果的に伝えるために、ユーザからのリクエストを受けてサーバから情報を送信するのではなく、サーバ契機で携帯通信端末へメッセージを送信する、プッシュ通知と呼ばれるメッセージ送信方法が広く利用されている。
【０００３】
プッシュ通知の利点として、ユーザ端末側から情報更新等を確認する必要がないので、通信量や携帯通信端末の消費電力量を削減できることがある。スマートフォンOSを提供するGoogle社やApple社は、各OSを実装した通信端末にプッシュ通知によりメッセージを送信するためのプッシュ通知サーバを提供している。
【０００４】
現在、IPv4で構成されたインターネットに接続する多くの通信端末には、一般的にプライベートIPアドレスが付与される。このような通信端末がインターネット上のサーバとの通信を開始する際、通信端末から送信されるIPパケットは、通信端末とインターネットとの間に設置されたアドレス変換装置（Network Address Translator：NAT）において、パケットの送信元アドレスをプライベートIPアドレスからグローバルIPアドレスに変換された後、宛先のサーバに到達する。
【０００５】
一方、プライベートIPアドレスは原則としてインターネットには公開されないため、NATにおいて明示的に設定されない限り、インターネット上のサーバから、プライベートIPアドレスが付与された通信端末に対して通信を開始することはできない。そのため、前記Google社やApple社が提供するプッシュ通知サーバでは、初めに通信端末からプッシュ通知サーバに対してTCPコネクションを確立し、このTCPコネクションを利用してプッシュ通知サーバから通信端末にプッシュ通知メッセージを送信する方式を採用している。
【０００６】
一方、プッシュ通知サーバと通信端末との間の経路にNATやファイアウォール等の装置が存在しない場合、例えばプッシュ通知サーバが、通信端末が接続するネットワークと同じ管理配下に存在する場合などでは、通信端末からサーバに対してコネクションを確立することなく、サーバ契機で通信端末に直接プッシュ通知を送信することも可能である。
【０００７】
非特許文献１，２には、スマートフォンOSを提供するGoogle社やApple社が、各OSを実装した通信端末に対してプッシュ通知によりメッセージを送信するためのプッシュ通知サーバが開示されている。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】Google Cloud Messaging (GCM)http://developer.android.com/guide/google/gcm/index.html
【非特許文献２】Apple Push Notification Service (APNS)https://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/ApplePushService/ApplePushService.html
【発明の概要】
【発明が解決しようとする課題】
【０００９】
プッシュ通知には、例えば定時ニュース配信や新製品告知などのように、ある指定時刻に多数の端末へ一斉に通知するような利用例がある。この場合、宛先の通信端末が多数存在すると、プッシュ通知装置（サーバ）の性能やネットワークの他のトラフィックや遅延の影響により、各通信端末が通知を受信する時間に差が発生する可能性がある。この場合、例えば「先着○○名様にプレゼント」のような告知であれば、遅れて受信したユーザが不利益を被る場合がある。また、プッシュ通知の一斉送信によりネットワークに多大な負荷がかかる可能性がある。
【００１０】
本発明の目的は、上記の技術課題を解決し、多数の通信端末への指定時刻による一斉プッシュ通知において、受信ユーザ間の不公正をなくし、かつネットワークに負荷をかけることなく、確実に指定時刻においてユーザにプッシュ通知できるプッシュ通知送信システムならびにプッシュ通知装置および通信端末を提供することにある。
【課題を解決するための手段】
【００１１】
上記の目的を達成するために、本発明は、通知時刻の指定されたプッシュ通知でメッセージを送信するプッシュ通知送信方法およびシステムならびにそのプッシュ通知装置および通信端末において、以下のような構成を具備した点に特徴がある。
【００１２】
(1) 本発明のプッシュ通知装置は、プッシュ通知および通知時刻指定を受け付ける手段と、各通信端末の時刻精度を検知する手段と、各プッシュ通知の事前通知属性を、時刻誤差が許容範囲外の通信端末宛は禁止に設定し、許容範囲内の通信端末宛は許可に設定する手段と、少なくとも事前通知属性が許可のプッシュ通知に前記通知時刻を記述する手段と、プッシュ通知を、事前通知属性が許可であれば前記通知時刻よりも前に送信し、事前通知属性が禁止であれば前記通知時刻で送信する手段とを具備した。
【００１３】
(2) 本発明のプッシュ通知装置において、前記送信する手段は、事前通知属性が許可のプッシュ通知を時刻分散で送信するようにした。
【００１４】
(3) 本発明の通信端末は、受信したプッシュ通知の事前通知属性を識別する手段と、プッシュ通知で受信したメッセージの表示タイミングを、前記事前通知属性および指定された通知時刻に基づいて制御する手段とを具備し、前記制御する手段は、事前通知属性が禁止のプッシュ通知で受信したメッセージは即時表示し、事前通知属性が許可のプッシュ通知で受信したメッセージは前記通知時刻を待って表示するようにした。
【００１５】
(4) 本発明のプッシュ通知方法およびシステムは、プッシュ通知装置が各通信端末の時刻誤差を検知し、プッシュ通知装置が各プッシュ通知の事前通知属性を、前記時刻誤差が許容範囲外の通信端末宛は禁止に設定する一方、許容範囲内の通信端末宛は許可に設定し、プッシュ通知装置が、事前通知属性が許可のプッシュ通知を前記通知時刻よりも前に送信し、通信端末が、事前通知属性が許可のプッシュ通知で受信したメッセージを前記通知時刻を待って表示し、プッシュ通知装置が、事前通知属性が禁止のプッシュ通知を前記通知時刻で送信し、通信端末が、事前通知属性が禁止のプッシュ通知で受信したメッセージを直ちに表示するようにした。
【００１６】
(5) 本発明のプッシュ通知送信方法およびシステムは、プッシュ通知装置が送信したメッセージを宛先の通信端末まで中継する中継装置が、少なくとも事前通知属性が禁止のプッシュ通知メッセージに優先制御を適用するようにした。
【発明の効果】
【００１７】
本発明によれば、以下のような効果が達成される。
(1) 本発明のプッシュ通知装置によれば、指定された通知時刻で同時にプッシュ通知するメッセージ数を、システム時刻精度の低い一部の通信端末数分に制限でき、システム時刻精度の高い他の通信端末数分のメッセージは通知時刻よりも前に送信できる。したがって、プッシュ通知が通知時刻に集中することによるプッシュ通知遅延が解消され、見かけ上の通知時刻における一斉プッシュ通信を実現できるようになる。
【００１８】
(2) 本発明のプッシュ通知装置によれば、通知時刻よりも前のプッシュ通知の送信タイミングを時刻分散させることにより、システム時刻精度の高い通信端末が多い場合でも、プッシュ通知が通知時刻前の一時期に集中することを防止できるようになる。
【００１９】
(3) 本発明の通信端末によれば、プッシュ通知されたメッセージが事前通知されたメッセージであるか否かに関わらず、通知時刻のタイミングで正確に表示できるようになる。
【００２０】
(4) 本発明のプッシュ通知送信方法およびシステムによれば、通知時刻指定されて多数の宛先へプッシュ通知により送信されるメッセージを、各宛先において指定された通知時刻のタイミングで、ネットワークへの負荷を抑えながら一斉に表示出力させることができるようになる。
【００２１】
(5) 本発明のプッシュ通知送信方法およびシステムによれば、プッシュ通知されるメッセージパケットに対して各中継装置がQoS制御を適用するので、他のトラヒックの影響を受けにくくなってプッシュ通知のネットワーク遅延を最小限に抑えられる。したがって、他のトラヒックの影響を受けることなく、見かけ上の通知時刻における一斉プッシュ通信を実現できるようになる。
【図面の簡単な説明】
【００２２】
【図１】本発明のプッシュ通知送信方法が適用されるプッシュ通知送信システムの第１実施形態のブロック図である。
【図２】プッシュ通知装置の主要部の構成を示した機能ブロック図である。
【図３】端末情報DBの登録内容の一例を示した図である。
【図４】プッシュ通知のエントリをメッセージDBに蓄積する手順を示したフローチャートである。
【図５】メッセージDBの登録内容の一例を示した図である。
【図６】プッシュ通知制御部の動作を示したフローチャートである。
【図７】通信端末の主要部の構成を示したブロック図である。
【図８】通信端末MNの動作を示したフローチャートである。
【図９】プッシュ通知送信システムの動作を示したシーケンスフローである。
【図１０】本発明のプッシュ通知送信方法が適用されるプッシュ通知送信システムの第２実施形態の構成を示したブロック図である。
【図１１】プッシュ通知装置の第２実施形態の構成を示したブロック図である。
【図１２】中継装置に対してQoS設定を依頼する手順を示したシーケンスフローである。
【図１３】QoS設定を依頼された中継装置の動作を示したフローチャートである。
【図１４】プッシュ通知の分散送信に対応したメッセージDBの登録内容の一例を示した図である。
【発明を実施するための形態】
【００２３】
以下、図面を参照して本発明の実施の形態について詳細に説明する。図１は、本発明のプッシュ通知送信方法が適用されるプッシュ通知送信システムの第１実施形態の構成を示したブロック図であり、ここでは、本発明の説明に不要な構成は図示が省略されている。
【００２４】
各通信端末MNは、無線基地局BSを介してネットワークへ接続する。このネットワークには、各通信端末MNへ各種のメッセージをプッシュ通知により送信するプッシュ通知装置１が接続されている。プッシュ通知装置１は、プッシュ通知要求をその宛先情報および通知時刻の指定と共に受け付けると、プッシュ通知するメッセージが各宛先端末のディスプレイに前記通知時刻のタイミングで正確に表示されるように、各通信端末MNのシステム時刻の精度に応じて、前記通知時刻と同時またはそれよりも早いタイミングで宛先の各通信端末MNへプッシュ通知を送信する。
【００２５】
図２は、前記プッシュ通知装置１の主要部の構成を示した機能ブロック図であり、このような装置は、汎用のコンピュータやサーバに各機能を実現するアプリケーション（プログラム）を実装することで構成できる。あるいはアプリケーションの一部がハードウェア化またはROM化された専用機や単能機としても構成できる。
【００２６】
時刻同期部１０１は、NTP（Network Time Protocol）やGPS信号を用いて、自装置のシステム時刻を客観的に精度保証された外部時刻に同期させる。端末情報収集部１０２は、各通信端末MNからユーザID、IPアドレス、ポート番号等の識別情報と共に各通信端末MNがシステム制御に用いる時刻情報（システム時刻）の記述された登録要求メッセージを受信する。
【００２７】
時刻情報集約部１０３は、受信した登録要求メッセージに記述されているシステム時刻を抽出して自装置のシステム時刻との誤差ΔDを算出すると共に、各通信端末MNとの間で交換されるメッセージの送受信時刻に基づいてネットワークの片道遅延Δdを計算し、これらを集約して前記識別情報と共に端末情報データベース（DB）１０４に登録する。
【００２８】
図３は、前記端末情報DB１０４の登録内容の一例を示した図であり、「ユーザID」をインデックスとして、「IPアドレス」、「ポート番号」、「システム時刻誤差ΔD（ミリ秒）」および「ネットワークの片道遅延Δd（ミリ秒）」が登録されている。
【００２９】
プッシュ通知受付部１０５は、宛先および通知時刻の指定されたプッシュ通知要求を受け付けてメッセージDB１０６に蓄積する。プッシュ通知要求は、プッシュ通知装置１がWebサーバを動作させてWeb GUI画面を提供し、プッシュ通知要求ユーザがWebブラウザを利用してメッセージ等を入力することで実現できる。あるいはプッシュ通知装置１がプッシュ通知要求を受け付けるAPI（Application Programming Interface）を提供し、プッシュ通知要求ユーザが何らかのプログラムから通知要求APIを呼び出すことで実現しても良い。
【００３０】
送信タイミング決定部１０７は、プッシュ通知先の各通信端末MNの時刻精度に基づいて、プッシュ通知の事前通知属性を宛先ごとに"OK"（許可）または"NG"（禁止）のいずれかに決定する。本実施形態では、各通信端末MNの時刻精度が前記システム時刻誤差ΔDに基づいて判別される。
【００３１】
図４は、前記プッシュ通知受付部１０５および送信タイミング決定部１０７が協調して各プッシュ通知のエントリをメッセージDB１０６に蓄積する手順を示したフローチャートであり、図５は、メッセージDB１０６の登録内容の一例を示した図である。
【００３２】
前記メッセージDB１０６では、プッシュ通知要求ごとに一意な「メッセージID」、「宛先ユーザID」、「通知時刻」、「事前通知」および「メッセージ内容」が登録されている。同一メッセージを複数の宛先へ送信するプッシュ通知要求が受け付けられると、メッセージIDが同一で宛先ユーザIDの異なる複数のエントリが登録される。
【００３３】
図４において、ステップS１１では、受け付けられたプッシュ通知が時刻指定を含むか否かが判断される。通知時刻が指定されていればステップS１２へ進み、端末情報DB１０４を参照して各通信端末MNのシステム時刻誤差ΔDが取得される。
【００３４】
ステップS１３では、システム時刻誤差ΔDに基づいて通信端末MNの時刻精度が評価され、システム時刻誤差ΔDが所定の閾値未満であって時刻精度が許容範囲内と判断されれば、その事前通知属性が"OK"に決定されてステップS１４へ進み、当該プッシュ通知のエントリがメッセージDB１０６に登録される。このとき、メッセージDB１０６の「事前通知」欄には"OK"、「通知時刻」欄には前記指定された通知時刻が登録される。
【００３５】
これに対して、システム時刻誤差ΔDが所定の閾値以上であって時刻精度が許容範囲外と判断されれば、その事前通知属性が"NG"に決定されてステップS１５へ進み、当該プッシュ通知のエントリがメッセージDB１０６に登録される。このとき、「事前通知」欄には"NG"、「通知時刻」欄には前記指定された通知時刻が登録される。
【００３６】
一方、前記ステップS１１において、通知時刻が指定されていないと判定された場合も、その事前通知属性が"NG"に決定されステップS１５へ進み、当該プッシュ通知のエントリがメッセージDB１０６に登録される。このとき、「事前通知」欄には"NG"、「通知時刻」欄には現在時刻が登録される。
【００３７】
図２へ戻り、メッセージ加工部１０８は、メッセージDB１０６の「メッセージ内容」欄に蓄積されているメッセージの所定のヘッダフィールドに、当該メッセージの事前通知属性が"OK"および"NG"のいずれであるかを表すフラグ（事前通知フラグ）を登録し、事前通知属性が"OK"のメッセージについては更に前記通知時刻を記述する加工を施す。プッシュ通知制御部１０９は、メッセージDB１０６に蓄積されているプッシュ通知を、その事前通知属性が"OK"であれば、指定された通知時刻よりも前のタイミングで送信する。
【００３８】
一方、その事前通知属性が"NG"のプッシュ通知については指定された通知時刻で送信する。このとき、宛先端末ごとに前記ネットワーク遅延Δdを考慮して、前記通知時刻よりもΔdだけ早めに送信するようにしても良い。
【００３９】
図６は、前記プッシュ通知制御部１０９の動作を示したフローチャートであり、ステップS３１では、メッセージDB１０６に送信待ちのプッシュ通知のエントリが登録されているか否かが判定される。送信待ちのプッシュ通知が登録されていればステップS３２へ進み、当該エントリの「事前通知」欄の"OK"または"NG"が判定される。事前通知が"OK"であればステップS３３へ進み、所定のヘッダフィールドに事前通知フラグがセットされ、かつ通知時刻の記述されたプッシュ通知が宛先の各通信端末MNへ送信される。
【００４０】
これに対して、「事前通知」が"NG"であればステップS３４へ進み、当該プッシュ通知の通知時刻であるか否かが判定される。通知時刻前であれば今回周期の処理を完了し、通知時刻であればステップS３５へ進む。ステップS３５では、当該プッシュ通知が宛先の各通信端末MNへ直ちに送信される。
【００４１】
図７は、各通信端末MNの主要部の構成を示したブロック図であり、ここでは本発明の説明に不要な構成は図示が省略されている。以下に詳述する通信端末MNの各機能は、プッシュ通知受信用のアプリケーションにより実現できる。
【００４２】
端末情報通知部２０１は、ユーザID、IPアドレスおよびポート番号等の識別情報と共に、自端末のシステム時刻２０７の記述された登録要求メッセージをプッシュ通知装置１へ定期的に、または所定のイベントを契機に繰り返し登録する。時刻情報応答部２０２は、時刻情報を含むメッセージをプッシュ通知装置１との間で交換する。
【００４３】
プッシュ通知受信部２０３は、プッシュ通知装置１からプッシュ通知により送信されるメッセージを受信してメッセージDB２０４へ蓄積する。表示制御部２０５は、プッシュ通知されたメッセージの事前通知フラグがセットされているか否かを解析し、セットされていなければディスプレイ２０６へ直ちに出力する表示制御を行う。これに対して、事前通知フラグがセットされていれば通知時刻を参照し、システム時刻２０７が当該通知時刻に一致するのを待ってディスプレイ２０６に出力する表示制御を行う。上記の各機能は前記システム時刻２０７に基づいて制御される。
【００４４】
図８は、プッシュ通知を受信して表示する通信端末MNの動作を示したフローチャートであり、ステップS５１においてプッシュ通知が受信されると、ステップS５２では、事前通知フラグがセットされているか否かが判定される。セットされていなければステップS５５へ進み、当該プッシュ通知されたメッセージが直ちに表示される。
【００４５】
これに対して、事前通知フラグがセットされていればステップS５３へ進み、所定のヘッダフィールドに記述されている通知時刻が抽出される。ステップS５４では、システム時刻と通知時刻とが比較され、通知時刻前であれば、通知時刻まで待機した後にステップS５５へ進み、プッシュ通知メッセージをメッセージDB２０４から読み出して表示する。
【００４６】
なお、当該待機中に他のプッシュ通知がステップS５１で受信されると、同様の処理が並列的に実行されるので、指定された通知時刻でのメッセージ表示が担保されることになる。
【００４７】
次いで、図９のシーケンスフローを参照して、前記プッシュ通知装置１および通信端末MNを含むプッシュ通知送信システムの一実施形態の動作を説明する。
【００４８】
通信端末MNにおいて、プッシュ通知受信用のアプリケーションが起動されると、時刻t1では、前記端末情報通知部２０１により、ユーザID、IPアドレス、ポート番号およびシステム時刻が収集され、プッシュ通知装置１へ登録要求メッセージとして通知される。プッシュ通知装置１では、これらの情報が前記端末情報収集部１０２および時刻情報収集部１０３により収集される。
【００４９】
時刻t2では、プッシュ通知装置１から通信端末MNへ応答メッセージが返信される。この応答メッセージは、通信端末MNにおいて時刻t3で受信される。時刻t4では、通信端末MNの時刻情報応答部２０２からプッシュ通知装置１へ、前記応答メッセージの受信時刻t3および応答送信のシステム時刻（=t4）の記述された応答メッセージが返信される。
【００５０】
プッシュ通知装置１では、時刻t5において前記応答メッセージを受信すると、前記時刻情報集約部１０３により、通信端末MNからプッシュ通知装置１までのネットワーク片道遅延Δdが次式(1)に基づいて計算される。
【００５１】
Δd = {(t5 - t2) - (t4 - t3)} / 2    …(1)
【００５２】
さらに、次式(2)に基づいて、プッシュ通知装置１と通信端末MNとのシステム時刻誤差ΔDが算出される。
【００５３】
ΔD = |t5 - (t4 + d)|    …(2)
【００５４】
時刻t6では、前記片道遅延Δdおよびシステム時刻誤差ΔDが、当該通信端末MNから取得した前記ユーザID、IPアドレス、ポート番号等の識別情報と紐付けられて端末情報DB１０４へ登録される。なお、前記時刻t1〜t6の各動作は、プッシュ通知の有無に係わらず定期的に、例えば２４時間毎に実行される。
【００５５】
その後、時刻t7において、プッシュ通知装置１のプッシュ通知受付部１０９において、プッシュ通知用のメッセージならびに宛先および通知時刻の指定を含むプッシュ通知要求が受け付けられると、時刻t8では、宛先の各通信端末MNに関する情報が端末情報DB１０４から抽出される。そして、システム時刻誤差ΔDが所定の閾値ΔDrefよりも小さくて時刻精度の高い通信端末MNについては、その事前通知属性が"OK"に決定され、当該属性および通知時刻（ここでは、後述する時刻t13）を含むエントリが、時刻t9においてメッセージDB１０６に登録される。
【００５６】
これに対して、システム時刻差Dが所定の閾値ΔDrefよりも大きくて時刻精度の低い通信端末MNについては、その事前通知属性が"NG"に決定され、当該属性を含むエントリが同様にメッセージDB１０６に登録される。さらに、前記メッセージ加工部１０８により、プッシュ通知で送信するメッセージの所定のヘッダフィールドに、当該メッセージの事前通知属性が"OK"および"NG"のいずれであるかを各通信端末MNに識別させるための事前通知フラグおよび通知時刻が記述されてメッセージDB１０６に登録される。
【００５７】
時刻t10では、メッセージDB１０６に送信待機中のプッシュ通知が登録されているか否かが判定される。「事前通知」が"OK"のプッシュ通知が送信待機中であれば、時刻t11において指定の宛先へ送信される。
【００５８】
各通信端末MNでは、受信したプッシュ通知のメッセージが、そのヘッダフィールドに登録されている事前通知フラグに基づいて、ここでは事前通知されたメッセージと判定されるので、当該メッセージに記述されている通知時刻t13を待って表示出力する。
【００５９】
これに対して、「事前通知」が"NG"のプッシュ通知が送信待機中であれば、前記通知時刻t13よりも前記片道遅延Δdだけ前の時刻t12を待って送信される。通信端末MNでは、受信したプッシュ通知のメッセージが、そのヘッダフィールドに登録されている事前通知フラグに基づいて、ここでは事前通知されたメッセージではないと判定されるので、当該メッセージが直ちに表示出力される。
【００６０】
本実施形態によれば、指定された通知時刻で同時にプッシュ通知するメッセージ数を、システム時刻精度の低い一部の通信端末数分に制限でき、システム時刻精度の高い他の通信端末数分のメッセージは通知時刻よりも前に送信できる。したがって、プッシュ通知が通知時刻に集中することによるプッシュ通知遅延が解消され、見かけ上の通知時刻における一斉プッシュ通信を実現できるようになる。
【００６１】
なお、上記の実施形態では、事前通知されるプッシュ通知の送信タイミングについて特に言及していないが、メッセージ数（宛先数）が多い場合には、所定の期間内で分散送信するようにしても良い。
【００６２】
図１４は、プッシュ通知の分散送信に対応したメッセージDB１０６の一例を示した図であり、事前通知の具体的な時刻が記述された「事前通知時刻」欄が追加されている。この「事前通知時刻」欄には、メッセージIDが同一で宛先ユーザが異なる各エントリ群を対象に、現在時刻から通知時刻の例えば１分前までの期間内で各宛先ユーザへプッシュ通知を分散送信するための通知時刻がランダム又は所定の関数計算により求められて登録されている。
【００６３】
前記プッシュ通知制御部１０９は、メッセージDB１０６の「事前通知時刻」欄を参照し、各エントリのメッセージを事前通知時刻において送信する。あるいは、前記ネットワーク遅延Δdを考慮して、前記事前通知時刻よりもΔdだけ早めに送信するようにしても良い。
【００６４】
このようにすれば、システム時刻精度の高い通信端末が多い場合でも、プッシュ通知が通知時刻前の一時期に集中することを防止できるようになる。
【００６５】
次いで、本発明の第２実施形態について説明する。図１０は、本発明のプッシュ通知送信方法が適用されるプッシュ通知送信システムの第２実施形態の構成を示したブロック図であり、図１１は、本実施形態におけるプッシュ通知装置１の構成を示したブロック図である。いずれの図でも前記と同一の符号は同一または同等部分を表している。
【００６６】
図１０において、ネットワーク制御装置３は、プッシュ通知装置１からのQoS設定依頼に応答して、プッシュ通知されるメッセージパケットをネットワーク上で中継する各中継装置に対して、当該メッセージパケットに対する帯域確保や優先制御などのQoS制御の適用を依頼する。
【００６７】
図１１において、プッシュ通知装置１のQoS設定依頼部１１０は、前記ネットワーク制御装置３に対して、プッシュ通知するメッセージパケットに対するQoS制御の適用を依頼する。前記QoS設定依頼部１１０はさらに、プッシュ通知されるメッセージパケットの所定のヘッダフィールドに、当該パケットがQoS対象であることを各中継装置に識別させるためのQoSフラグをセットする。
【００６８】
図１２は、ネットワーク上の各中継装置に対してQoS設定を依頼する手順を示したシーケンスフローであり、時刻t21では前記時刻t10と同様に、メッセージDB１０６に送信待機中のプッシュ通知が登録されているか否かが判定される。プッシュ通知が登録されていれば、時刻t22において、QoS設定依頼部１１０に対してQoS設定が依頼される。時刻t23では、QoS設定依頼部１１０から前記ネットワーク制御装置３に対してQoS設定の依頼メッセージが送信される。
【００６９】
ネットワーク制御装置３は、前記QoS設定の依頼メッセージを受信すると、時刻t24において、ネットワーク上の各中継装置に対して、プッシュ通知されるメッセージパケットに対するQoS制御の適用を依頼する。このとき、メッセージパケットを中継する中継装置を予め識別できるのであれば当該中継装置に対してのみ選択的に依頼し、またこのような中継装置を識別できなければ全ての中継装置に対して依頼する。
【００７０】
各中継装置は、QoS設定が完了すると、時刻t25においてQoS設定完了メッセージを前記ネットワーク制御装置３へ応答する。時刻t26では、前記QoS設定完了メッセージを受信したネットワーク制御装置３が、プッシュ通知装置１のQoS設定依頼部１１０に対してQoS設定完了メッセージを応答する。時刻t27では、プッシュ通知装置１において、QoS設定依頼部１１０がプッシュ通知制御部１０９へQoS設定完了メッセージを応答する。
【００７１】
時刻t28では、メッセージDB１０６に登録されている「事前通知」が"OK"のプッシュ通知が宛先の各通信端末MNへ送信される。通信端末MNでは、受信したプッシュ通知のメッセージが、そのヘッダフィールドに登録されている事前通知フラグに基づいて、ここでは事前通知されたメッセージと判定されるので、通知時刻t30を待って表示出力する。
【００７２】
これに対して、「事前通知」が"NG"のプッシュ通知が送信待機中であれば、前記通知時刻t30よりも前記片道遅延Δdだけ前の時刻t29を待って送信される。通信端末MNでは、受信したプッシュ通知のメッセージが、そのヘッダフィールドに登録されている事前通知フラグに基づいて、ここでは事前通知されたメッセージではないと判定されるので、当該メッセージが直ちに表示出力される。
【００７３】
図１３は、QoS設定を依頼された中継装置の動作を示したフローチャートであり、ステップS７１においてプッシュ通知のメッセージパケットが受信されると、ステップS７２では、所定のヘッダフィールドにQoSフラグがセットされているか否かが判定される。QoSフラグがセットされていればステップS７３へ進み、当該パケットを優先キューに接続するなどの優先制御処理を適用する。
【００７４】
本実施形態によれば、プッシュ通知されるメッセージパケットに対して各中継装置がQoS制御を適用するので、他のトラヒックの影響を受けにくくなってプッシュ通知のネットワーク遅延を最小限に抑えられる。したがって、他のトラヒックの影響を受けることなく、見かけ上の通知時刻における一斉プッシュ通信を実現できるようになる。
【符号の説明】
【００７５】
１０１…時刻同期部，１０２…端末情報収集部，１０３…時刻情報集約部，１０４…端末情報DB，１０５…プッシュ通知受付部，１０６…メッセージDB，１０７…送信タイミング決定部，１０８…メッセージ加工部，１０９…プッシュ通知制御部，２０１…端末情報通知部，２０２…時刻情報応答部，２０３…プッシュ通知受信部，２０４…メッセージDB，２０５…表示制御部，２０６…ディスプレイ，２０７…システム時刻
【図１】
2015215728.tif 000003
【図２】
2015215728.tif 000004
【図３】
2015215728.tif 000005
【図４】
2015215728.tif 000006
【図５】
2015215728.tif 000007
【図６】
2015215728.tif 000008
【図７】
2015215728.tif 000009
【図８】
2015215728.tif 000010
【図９】
2015215728.tif 000011
【図１０】
2015215728.tif 000012
【図１１】
2015215728.tif 000013
【図１２】
2015215728.tif 000014
【図１３】
2015215728.tif 000015
【図１４】
2015215728.tif 000016