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

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

▶ 日本電気株式会社の特許一覧

特許6241418端末、メッセージ配信システム、メッセージ配信方法およびメッセージ受信プログラム
<>
  • 特許6241418-端末、メッセージ配信システム、メッセージ配信方法およびメッセージ受信プログラム 図000002
  • 特許6241418-端末、メッセージ配信システム、メッセージ配信方法およびメッセージ受信プログラム 図000003
  • 特許6241418-端末、メッセージ配信システム、メッセージ配信方法およびメッセージ受信プログラム 図000004
  • 特許6241418-端末、メッセージ配信システム、メッセージ配信方法およびメッセージ受信プログラム 図000005
  • 特許6241418-端末、メッセージ配信システム、メッセージ配信方法およびメッセージ受信プログラム 図000006
  • 特許6241418-端末、メッセージ配信システム、メッセージ配信方法およびメッセージ受信プログラム 図000007
  • 特許6241418-端末、メッセージ配信システム、メッセージ配信方法およびメッセージ受信プログラム 図000008
  • 特許6241418-端末、メッセージ配信システム、メッセージ配信方法およびメッセージ受信プログラム 図000009
  • 特許6241418-端末、メッセージ配信システム、メッセージ配信方法およびメッセージ受信プログラム 図000010
  • 特許6241418-端末、メッセージ配信システム、メッセージ配信方法およびメッセージ受信プログラム 図000011
  • 特許6241418-端末、メッセージ配信システム、メッセージ配信方法およびメッセージ受信プログラム 図000012
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6241418
(24)【登録日】2017年11月17日
(45)【発行日】2017年12月6日
(54)【発明の名称】端末、メッセージ配信システム、メッセージ配信方法およびメッセージ受信プログラム
(51)【国際特許分類】
   H04L 12/70 20130101AFI20171127BHJP
   H04W 4/12 20090101ALI20171127BHJP
   H04W 48/18 20090101ALI20171127BHJP
   H04M 1/00 20060101ALI20171127BHJP
   H04M 11/00 20060101ALI20171127BHJP
【FI】
   H04L12/70 A
   H04W4/12
   H04W48/18 113
   H04M1/00 R
   H04M11/00 302
【請求項の数】8
【全頁数】21
(21)【出願番号】特願2014-541923(P2014-541923)
(86)(22)【出願日】2013年10月2日
(86)【国際出願番号】JP2013005876
(87)【国際公開番号】WO2014061220
(87)【国際公開日】20140424
【審査請求日】2016年9月15日
(31)【優先権主張番号】特願2012-230001(P2012-230001)
(32)【優先日】2012年10月17日
(33)【優先権主張国】JP
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100109313
【弁理士】
【氏名又は名称】机 昌彦
(74)【代理人】
【識別番号】100124154
【弁理士】
【氏名又は名称】下坂 直樹
(72)【発明者】
【氏名】大西 健夫
(72)【発明者】
【氏名】城島 貴弘
(72)【発明者】
【氏名】川戸 正裕
(72)【発明者】
【氏名】多 忠行
【審査官】 上田 翔太
(56)【参考文献】
【文献】 特開2008−085470(JP,A)
【文献】 特開2012−109641(JP,A)
【文献】 特開2003−032750(JP,A)
【文献】 Hiroyuki,富士通BSC社さんのMDMソリューションFENCE-Mobile RemoteManagerを評価してみました。,Curl Global Community,2012年 6月19日,URL,http://communities.curl.com/showthread.php?tid=537
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/70
H04M 1/00
H04M 11/00
H04W 4/12
H04W 48/18
(57)【特許請求の範囲】
【請求項1】
自端末と、メッセージの配信をプッシュ型で行う配信装置とを接続するネットワークの状態を検知するネットワーク状態検知部と、
前記検知結果をもとに、自端末と前記配信装置とが同一IPアドレス空間に配置されているか否かを判定し、同一IPアドレス空間に配置されていない場合は、予め確立されたTCPセッションを利用する第一の通信方式を選択し、同一IPアドレス空間に配置されている場合は、メッセージ配信時に前記配信装置によって自端末との間に新規に確立されたTCPセッションを利用する第二の通信方式を選択し、選択した通信方式に応じて前記配信装置からメッセージを受信する受信部とを備え
前記受信部は、前記自端末と前記配信装置とを接続するネットワークが無線LANである場合は、前記自端末と前記配信装置とが同一IPアドレス空間に配置されていないと判断し、前記ネットワークがモバイル網である場合は、前記自端末と前記配信装置とが同一IPアドレス空間に配置されていると判断する、
端末。
【請求項2】
前記受信部は、第一の通信方式を選択した場合は、前記配信装置に配信すべきメッセージの有無を問い合わせる問い合わせ要求を送信し、第二の通信方式を選択した場合は、前記配信装置とのTCP接続を検知したときに当該配信装置にメッセージ取得要求を送信する
請求項1記載の端末。
【請求項3】
前記受信部は、第二の通信方式を選択したときに前記自端末のIPアドレスを含む端末状態情報を配信装置に通知する
請求項1または請求項2のいずれかに記載の端末。
【請求項4】
前記受信部は、配信すべきメッセージがあることを示すSMSによる通知を検知したときに前記配信装置にメッセージ取得要求を送信する
請求項1から請求項のうちのいずれか1項に記載の端末。
【請求項5】
前記受信部は、前回の端末状態情報を通知したときの自端末のIPアドレスと現在の自端末のIPアドレスとが同一の場合には、端末状態情報を前記配信装置に通知しない
請求項または請求項に記載の端末。
【請求項6】
端末と、前記端末にメッセージの配信をプッシュ型で行う配信装置とを備え、
前記端末は、
自端末と前記配信装置とを接続するネットワークの状態を検知するネットワーク状態検知部と、
前記検知結果をもとに、前記自端末と前記配信装置とが同一IPアドレス空間に配置されているか否かを判定し、同一IPアドレス空間に配置されていない場合は、予め確立されたTCPセッションを利用する第一の通信方式を選択し、同一IPアドレス空間に配置されている場合は、メッセージ配信時に前記配信装置によって前記自端末との間に新規に確立されるTCPセッションを利用する第二の通信方式を選択し、選択した通信方式に応じて前記配信装置からメッセージを受信する受信部とを備え、
前記配信装置は、前記端末から通知された通信方式の選択結果に応じたメッセージ配信を行う制御部を備え
前記受信部は、前記自端末と前記配信装置とを接続するネットワークが無線LANである場合は、前記自端末と前記配信装置とが同一IPアドレス空間に配置されていないと判断し、前記ネットワークがモバイル網である場合は、前記自端末と前記配信装置とが同一IPアドレス空間に配置されていると判断する
メッセージ配信システム。
【請求項7】
端末が、自端末とメッセージの配信をプッシュ型で行う配信装置とを接続するネットワークの状態を検知し、前記検知結果をもとに、前記自端末と前記配信装置とが同一IPアドレス空間に配置されているか否かを判定し、同一IPアドレス空間に配置されていない場合は、予め確立されたTCPセッションを利用する第一の通信方式を選択し、同一IPアドレス空間に配置されている場合は、メッセージ配信時に前記配信装置によって前記自端末との間に新規に確立されるTCPセッションを利用する第二の通信方式を選択し、
前記配信装置が、前記端末から通知された通信方式の選択結果に応じたメッセージ配信を行うことを備え、
前記端末が、前記自端末と前記配信装置とを接続するネットワークが無線LANである場合は、前記自端末と前記配信装置とが同一IPアドレス空間に配置されていないと判断し、前記ネットワークがモバイル網である場合は、前記自端末と前記配信装置とが同一IPアドレス空間に配置されていると判断する
メッセージ配信方法。
【請求項8】
メッセージの配信をプッシュ型で行う配信装置と通信可能な端末に搭載されるコンピュータに、
前記端末と前記配信装置とを接続するネットワークの状態を検知する処理と、
前記検知結果をもとに、前記端末と前記配信装置とが同一IPアドレス空間に配置されているか否かを判定し、同一IPアドレス空間に配置されていない場合は、予め確立されたTCPセッションを利用する第一の通信方式を選択し、同一IPアドレス空間に配置されている場合は、メッセージ配信時に前記配信装置によって前記自端末との間に新規に確立されるTCPセッションを利用する第二の通信方式を選択する処理と、
選択した通信方式に応じて前記配信装置からメッセージを受信する処理と実行させ、更に、前記コンピュータに、
前記端末と前記配信装置とを接続するネットワークが無線LANである場合は、前記端末と前記配信装置とが同一IPアドレス空間に配置されていないと判断し、前記ネットワークがモバイル網である場合は、前記端末と前記配信装置とが同一IPアドレス空間に配置されていると判断する処理を実行させる
メッセージ受信プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、イベント通知サービスをユーザに提供するための端末、メッセージ配信システム、メッセージ配信方法およびメッセージ受信プログラムに関する。
【背景技術】
【0002】
VoIP(Voice over Internet Protocol)の着信通知やSNS(Social Networking Service)の更新通知など、サーバ装置から端末に対してIP(Internet Protocol)ネットワークを通して能動的にイベントを通知するイベント通知サービスがある。イベント通知サービスにおいてサーバ装置が端末に対してプッシュ型で行う通知は、プッシュ通知(Push Notification)またはプッシュメッセージと呼ばれる。プッシュメッセージを送信するサーバ装置(以下、プッシュサーバという。)は、VoIPの着信通知、SNSの更新通知、チャットメッセージ配信、クラウドストレージの更新通知などの通知要求をサービス事業者サーバ(以下、アプリケーションサーバという。)から受け取る。アプリケーションサーバは、SNS管理者等のサービス事業者が使用するサーバ装置である。
【0003】
サービス事業者は、アプリケーションサーバを使用して、自身が提供するアプリケーション宛てのメッセージ配信をプッシュサーバに要求する。サービス事業者は、予め、サービスを利用するためのアプリケーションをユーザに提供する。そして、ユーザは、サービス事業者から提供されたアプリケーションを端末上で動作させる。
【0004】
プッシュサーバは、メッセージ配信要求に従って端末上で動作するソフトウェア(以下、プッシュクライアントという。)に対してプッシュメッセージを送信する。プッシュクライアントは、受信したメッセージを宛先のアプリケーションに渡す。アプリケーションは、プッシュクライアントから受け取ったメッセージの内容に応じた処理を行う。
【0005】
イベント通知サービスでは、プッシュサーバが、端末とアプリケーションとの組み合わせごとに、IDを発行する。例えば、プッシュサーバは、端末XのアプリケーションAに対してはID「xxxA」、端末XのアプリケーションBに対してはID「xxxB」、端末YのアプリケーションCに対してはID「yyyC」を発行する。プッシュサーバ、プッシュクライアント、アプリケーションサーバは、各IDを共有する。
【0006】
図11は、イベント通知サービスの概要を示す説明図である。アプリケーションサーバはメッセージ配信要求をするとき、メッセージ配信要求とともに、メッセージの配信先の端末とアプリケーションとの組み合わせを示すIDをプッシュサーバに渡す。図11は、サービス事業者Aのアプリケーションサーバ700−1が、端末XのアプリケーションA宛てのメッセージ配信要求とともにID「xxxA」をプッシュサーバ600に渡した場合の例である。ここで、端末500−1、端末500−2がそれぞれ端末X、端末Yに相当するとする。また、端末Xに、サービス事業者Aが提供するアプリケーション(以下、アプリケーションAという。)とサービス事業者Bが提供するアプリケーション(以下、アプリケーションBという。)とが格納されているとする。また、端末Yに、サービス事業者Cが提供するアプリケーション(以下、アプリケーションCという。)が格納されているとする。
【0007】
プッシュサーバ600は、ID「xxxA」にもとづいて、メッセージ配信先の端末Xにメッセージを送信する。端末Xのプッシュクライアント510−1は、ID「xxxA」にもとづいて、受信したメッセージをメッセージ配信先のアプリケーション、つまりアプリケーションAに送信する。
【0008】
アプリケーションAは、受信したメッセージに応じた処理を行う。例えば、アプリケーションAは、ユーザに情報を通知したり、コンテンツサーバと通信してコンテンツサーバから更新されたコンテンツを取得したりする。
【0009】
特許文献1には、ネットワーク環境やプッシュサーバのリソースの状況に応じて、端末からプッシュサーバへのコネクションを維持し続けるコネクション型の配信方法、または、定期的に端末からプッシュサーバに対してポーリングを行うポーリング型の配信方法を選択する方法が記載されている(例えば、特許文献1参照。)。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開2011−123801号公報
【発明の概要】
【発明が解決しようとする課題】
【0011】
端末は、3G(3rd Generation)回線やWiFi(Wireless Fidelity)(登録商標)など様々なネットワークを利用する。端末が利用するネットワークによっては、NAT(Network Address Translation)やFW(ファイヤフォール)などにより、プッシュサーバ・端末間の接続方法が制限されることがある。そのような状況では、プッシュメッセージを端末に確実に到達させることができない場合がある。
【0012】
例えば、端末がプッシュサーバのNAT配下となる場合、つまり、プッシュサーバ・端末間にNAT機能を備えたルータ等が設置される場合がある。その場合、プッシュサーバと端末とのIPアドレス空間が異なるため、プッシュサーバから端末に直接IPパケットを送信することができない。従って、予め端末側からプッシュサーバに対しTCPセッションの確立を実施しておき、プッシュサーバは確立済みのTCPセッションを利用してプッシュメッセージを端末に送信する。
【0013】
NAT機能を備えたルータは、IP変換テーブルを用いて端末のグローバルアドレスとプライベートアドレスとを変換する。IP変換テーブルは、グローバルアドレスとプライベートアドレスとの対応を示す情報を、TCPセッションごとに記憶する。NATでは、一定時間通信のないTCPセッションはタイムアウトしたと判断され、IP変換テーブルから削除される。IP変換テーブルから削除されたTCPセッションは、通信不能になる。すると、プッシュサーバは、端末にプッシュメッセージを到達させることができなくなる。
【0014】
従って、端末がプッシュサーバのNAT配下となる環境では、プッシュサーバと端末は、配信すべきプッシュメッセージがない場合であっても、TCPセッションを維持するために、定期的に通信を行う。例えば、KeepAlive信号の送受信を定期的に行う。
【0015】
端末は、3G回線やLTE(Long Term Evolution)などのモバイル網を利用するとき、電力を節約するために通信状態に応じて無線状態を切り替える。例えば、端末は、通信状態に応じて、無線状態をスタンバイ状態にしたりアクティブ状態にしたりする。無線状態の切り替えの際、端末は、モバイル網との間で無線状態を切り替えるための制御信号の送受信を行う。端末上で動作するアプリケーションなどが定期的に通信を発生させる場合、端末の無線状態は、スタンバイ状態とアクティブ状態とを交互に繰り返すことになり、モバイル網に多数の制御信号が流れ、モバイル網で輻輳が発生する。また、多数の制御信号が発生することにより、プッシュサーバにおける制御信号に応答するための処理負荷が増大する。従って、TCPセッションを維持するための定期的な通信は、モバイル網で輻輳を発生させ、プッシュサーバの処理負荷を増大させる。
【0016】
プッシュサーバと端末とが同一NAT内に配置されている場合、つまり、プッシュサーバと端末とが同じIPアドレス空間上に存在する場合には、プッシュサーバから端末に直接IPパケットを送信することができる。従って、プッシュサーバと端末とを同一NAT内に配置すれば、常時TCPセッションを維持する必要がないので、モバイル網における輻輳を抑制することができる。しかし、スマートフォンなどの端末は、自端末が利用するネットワークを容易に切り替えることができる。従って、プッシュサーバと端末とを常に同一NAT内に配置させておくことは難しい。例えば、端末がプッシュサーバと同一NAT内に配置されていたとしても、ネットワークをWiFiに切り替えたときに、端末がNAT配下になってしまう場合がある。
【0017】
特許文献1に記載された方法は、利用中のネットワークの状況、例えば、通信速度やコネクションの継続可能時間に応じて配信方法を選択する。つまり、特許文献1に記載された方法は、ネットワークの種別に応じた配信方法の選択を行っていない。そのため、特許文献1に記載された方法を用いた場合、モバイル網においてコネクション型の配信方法が選択される可能性があり、モバイル網で輻輳を発生させる可能性がある。
【0018】
そこで、本発明は、プッシュサーバの処理負荷を削減しつつ、ネットワークの種別によらずにプッシュサーバから端末にプッシュメッセージを確実に到達させることができる端末、メッセージ配信システム、メッセージ配信方法およびメッセージ受信プログラムを提供することを目的とする。
【課題を解決するための手段】
【0019】
本発明による端末は、自端末と、メッセージの配信をプッシュ型で行う配信装置とを接続するネットワークの状態を検知するネットワーク状態検知部と、検知結果をもとに、自端末と配信装置とが同一IPアドレス空間に配置されているか否かを判定し、同一IPアドレス空間に配置されていない場合は、予め確立されたTCPセッションを利用する第一の通信方式を選択し、同一IPアドレス空間に配置されている場合は、メッセージ配信時に配信装置が自端末との間に新規に確立するTCPセッションを利用する第二の通信方式を選択し、選択した通信方式に応じて配信装置からメッセージを受信する受信部とを備えたことを特徴とする。
【0020】
本発明によるメッセージ配信システムは、端末と、端末にメッセージの配信をプッシュ型で行う配信装置とを備え、端末は、自端末と配信装置とを接続するネットワークの状態を検知するネットワーク状態検知部と、検知結果をもとに、自端末と配信装置とが同一IPアドレス空間に配置されているか否かを判定し、同一IPアドレス空間に配置されていない場合は、予め確立されたTCPセッションを利用する第一の通信方式を選択し、同一IPアドレス空間に配置されている場合は、メッセージ配信時に配信装置が自端末との間に新規に確立するTCPセッションを利用する第二の通信方式を選択し、選択した通信方式に応じて配信装置からメッセージを受信する受信部とを備え、配信装置は、端末から通知された通信方式の選択結果に応じたメッセージ配信を行う制御部を備えたことを特徴とする。
【0021】
本発明によるメッセージ配信方法は、端末が、自端末とメッセージの配信をプッシュ型で行う配信装置とを接続するネットワークの状態を検知し、検知結果をもとに、自端末と配信装置とが同一IPアドレス空間に配置されているか否かを判定し、同一IPアドレス空間に配置されていない場合は、予め確立されたTCPセッションを利用する第一の通信方式を選択し、同一IPアドレス空間に配置されている場合は、メッセージ配信時に配信装置が自端末との間に新規に確立するTCPセッションを利用する第二の通信方式を選択し、配信装置が、端末から通知された通信方式の選択結果に応じたメッセージ配信を行うことを特徴とする。
【0022】
本発明によるメッセージ受信プログラムは、メッセージの配信をプッシュ型で行う配信装置と通信可能な端末に搭載されるコンピュータに、端末と配信装置とを接続するネットワークの状態を検知する処理と、検知結果をもとに、端末と配信装置とが同一IPアドレス空間に配置されているか否かを判定し、同一IPアドレス空間に配置されていない場合は、予め確立されたTCPセッションを利用する第一の通信方式を選択し、同一IPアドレス空間に配置されている場合は、メッセージ配信時に配信装置が自端末との間に新規に確立するTCPセッションを利用する第二の通信方式を選択する処理と、選択した通信方式に応じて配信装置からメッセージを受信する処理とを実行させることを特徴とする。
【発明の効果】
【0023】
本発明によれば、プッシュサーバの処理負荷を削減しつつ、ネットワークの種別によらずにプッシュサーバから端末にプッシュメッセージを確実に到達させることができる。
【図面の簡単な説明】
【0024】
図1】本発明によるメッセージ配信システムの第1の実施形態の構成を示すブロック図である。
図2】端末の第1の実施形態の構成を示すブロック図である。
図3】端末がプッシュ方法としてロングポーリングを選択した場合の動作を示すシーケンス図である。
図4】端末がプッシュ方法としてダイレクトIPを選択した場合の動作を示すシーケンス図である。
図5】ロングポーリングによるプッシュメッセージの配信処理を示すシーケンス図である。
図6】ダイレクトIPによるプッシュメッセージの配信処理を示すシーケンス図である。
図7】SMSによるプッシュメッセージの配信処理を示すシーケンス図である。
図8】端末がプッシュ方法としてダイレクトIPを選択した場合の第3の実施形態の動作を示すシーケンス図である。
図9】本発明による端末の最小構成を示すブロック図である。
図10】本発明によるメッセージ配信システムの最小構成を示すブロック図である。
図11】イベント通知サービスの概要を示す説明図である。
【発明を実施するための形態】
【0025】
実施形態1.
以下、本発明の第1の実施形態を図面を参照して説明する。
【0026】
図1は、本発明によるメッセージ配信システムの第1の実施形態の構成を示すブロック図である。
【0027】
通信システムは、図1に示すように、端末100−1〜100−nと、プッシュサーバ200と、アプリケーションサーバ300−1〜300−nとを含む。なお、図1には、1つのプッシュサーバ200が例示されているが、プッシュサーバはいくつあってもよい。
【0028】
端末100−1〜100−nは、例えば、携帯電話機等の通信端末である。プッシュサーバ200とアプリケーションサーバ300−1〜300−nとは、通信可能に接続される。プッシュサーバ200と端末100−1〜100−nとは、モバイル網または無線LAN、およびインターネットを介して通信可能に接続される。モバイル網は、例えば、3G回線やLTEである。無線LANは、例えばWiFiである。
【0029】
各端末は、プッシュクライアント110と、アプリケーション120−1〜120−nとを含む。
【0030】
図2は、本発明による端末の第1の実施形態の構成を示すブロック図である。
【0031】
図2に示すように端末100(端末100−1〜100−n)のプッシュクライアント110は、端末状態通知送信部111と、ネットワーク(NW)状態検知部112と、メッセージ更新通知受信部113と、メッセージ受信部114と、メッセージ通知部115とを含む。
【0032】
端末状態通知送信部111は、端末状態通知を行う。具体的には、端末状態通知送信部111は、端末状態を示す情報(以下、端末状態情報という。)をプッシュサーバ200に通知する。端末状態情報は、例えば、端末100のIPアドレスを含む情報である。
【0033】
NW状態検知部112は、ネットワーク状態を検知する。具体的には、NW状態検知部112は、ネットワーク状態として、端末100とプッシュサーバ200とが接続されているネットワークの種別を検知する。ネットワークの種別は、例えば、無線LANや、モバイル網である。
【0034】
メッセージ更新通知受信部113は、プッシュサーバ200から送信されるメッセージ更新通知を受信する。
【0035】
メッセージ受信部114は、メッセージ更新通知に対応するメッセージをプッシュサーバ200から受信する。
【0036】
メッセージ通知部115は、プッシュサーバ200から受信したメッセージをアプリケーション120−1〜120−nに渡す。
【0037】
アプリケーション120−1〜120−nは、端末100上で動作するアプリケーションプログラムである。アプリケーション120−1〜120−nは、例えばサービス事業者等から提供され、端末が備える記憶部(図示せず)に格納される。
【0038】
なお、プッシュクライアント110は、端末100が備えるCPU等によって実現される。
【0039】
プッシュサーバ200は、プッシュメッセージを端末に配信するサーバ装置である。プッシュサーバ200は、制御部(図示せず)を備える。なお、制御部は、プッシュサーバ200が備えるCPU等によって実現される。以降、プッシュサーバ200の制御部が処理することを、単にプッシュサーバ200が処理すると表現する。
【0040】
アプリケーションサーバ300−1〜300−nは、各サービス事業者が使用するサーバ装置である。アプリケーションサーバ300−1〜300−nは、例えばサービス事業者が入力した操作に応じて、メッセージ配信要求をプッシュサーバ200に送信する。
【0041】
次に、本実施形態の動作を説明する。
【0042】
まず、端末100が、プッシュメッセージを取得する方法(以下、プッシュ方法という。)を決定する動作を説明する。
【0043】
本実施形態では、端末はプッシュ方法として第一の通信方式と第二の通信方式とを用いる。第一の通信方式はロングポーリング方式(以下、単にロングポーリングという。)である。第二の通信方式はダイレクトIP方式(以下、単にダイレクトIPという。)である。
【0044】
ロングポーリングは、プッシュサーバが、端末からのHTTP要求(HTTP GET)に対して、配信すべきプッシュメッセージが発生するまで、応答をブロックする方法である。つまり、プッシュサーバは、配信すべきプッシュメッセージがない場合には、メッセージ配信要求をアプリケーションサーバから受け付けるまで、HTTP要求に対する応答をしない。
【0045】
ロングポーリングは、HTTPを利用するため、端末がNAT配下となるWiFiなどの無線LANに接続している場合においても、プッシュメッセージを端末に到達させることができる。また、ロングポーリングは、企業内イントラネットのようにプロキシサーバを経由してインターネットに接続する環境においても、端末にプッシュメッセージを到達させることができる。
【0046】
しかし、ロングポーリングは、TCPセッションを常時維持しておく必要がある。従って、プッシュサーバおよび端末は、TCPセッションを維持するために定期的に通信を行う必要がある。そのため、モバイル網においてロングポーリングを行った場合には、輻輳が発生する可能性がある。また、サーバ負荷が増大する可能性がある。
【0047】
ダイレクトIPは、プッシュサーバが、メッセージ配信時に端末とのTCPセッションを確立させ、確立したTCPセッションを利用してプッシュメッセージを送信する方法である。
【0048】
端末がNAT配下にある場合には、端末とプッシュサーバとが異なるIPアドレス空間に存在するため、プッシュサーバは当該端末とのTCP接続を行うことができない。従って、ダイレクトIPを利用する場合には、プッシュサーバを端末と同一NAT内に配置する必要がある。
【0049】
携帯電話サービスを提供する通信事業者(キャリア)は、モバイル網内にプッシュサーバを設置することができる。つまり、プッシュサーバを端末と同一NAT内に設置することができる。よって、モバイル網がNAT経由でインターネットに繋がっている環境でも、キャリアがプッシュサーバをモバイル網内に設置することにより、当該モバイル網でダイレクトIPを利用することが可能となる。
【0050】
プッシュサーバと端末とが同一NAT内に設置されていない場合であっても、端末にグローバルIPアドレスが割り振られている場合には、プッシュサーバから端末に対してTCPセッションの確立を行うことができるので、ダイレクトIPを利用することができる。
【0051】
ダイレクトIPは、TCPセッションを常時維持させておく必要がないため、モバイル網で利用しても輻輳を発生させない。
【0052】
そこで、本実施形態では、端末100は、ネットワークの状態に応じて、プッシュ方法を使い分ける。具体的には、ネットワークが、一般的に端末がNAT配下となるWiFiなどの無線LANの場合には、端末100はロングポーリングを選択する。ネットワークが、端末とプッシュサーバとが同一NAT内に含まれるモバイル網の場合には、端末100はダイレクトIPを選択する。
【0053】
図3は、端末100がプッシュ方法としてロングポーリングを選択した場合の動作を示すシーケンス図である。なお、図3では、アプリケーション120(アプリケーション120−1〜120−n)が1つ例示されているが、アプリケーションは端末100上でいくつ動作していてもよい。また、図3では、端末100が1つ例示されているが、プッシュサーバ200に複数台の端末が接続される場合には各端末が端末100と同様の動作をする。
【0054】
端末100とプッシュサーバ200とを接続するネットワークの状態に変化があった場合、端末100のプッシュクライアント110は、ネットワークの状態が変化したことを検知する(ステップS301)。具体的には、プッシュクライアント110のNW状態検知部112が、端末100上で動作するOS(Operating System)からネットワークの状態が変化したことを示す通知(以下、NW状態変更通知という。)を受信する。
【0055】
NW状態検知部112は、NW状態変更通知をもとに、ネットワーク状態を確認する(ステップS302)。具体的には、NW状態検知部112は、端末100とプッシュサーバ200とを接続するネットワークの種別を確認する。ここでは、NW状態検知部112は、端末100とプッシュサーバ200とが無線LANを介して接続されていることを認識する。
【0056】
メッセージ受信部114は、ネットワークが無線LANであるので、プッシュ方法としてロングポーリングを選択する。そして、メッセージ受信部114は、プッシュサーバ200に対して、配信すべきプッシュメッセージの有無の問い合わせ(以下、プッシュ問い合わせという。)を行うために、問い合わせ要求を送信する。具体的には、メッセージ受信部114は、HTTP要求を送信する(ステップS303)。
【0057】
プッシュサーバ200は、HTTP要求に対して即座に応答しない。プッシュサーバ200は、端末100のプッシュクライアント110に対して配信すべきプッシュメッセージが発生するまで、HTTP要求に対する応答をブロックする。なお、配信すべきプッシュメッセージがある場合には、ブロックせずに即座に応答を返す。
【0058】
図4は、端末100がプッシュ方法としてダイレクトIPを選択した場合の動作を示すシーケンス図である。
【0059】
ステップS401、ステップS402の処理は、ステップS301、ステップS302の処理と同様であるため説明を省略する。
【0060】
なお、ステップS402では、NW状態検知部112は、端末100とプッシュサーバ200とがモバイル網を介して接続されていることを認識する。
【0061】
メッセージ受信部114は、ネットワークがモバイル網であるので、プッシュ方法としてダイレクトIPを選択する。
【0062】
メッセージ更新通知受信部113は、TCP待ち受けを開始する(ステップS403)。具体的には、メッセージ更新通知受信部113は、TCPのポートを開放し、メッセージ更新通知を受信可能な状態にする。
【0063】
端末状態通知送信部111は、端末の状態を通知する(ステップS404)。具体的には、端末状態通知送信部111は、端末のIPアドレスと、メッセージ更新通知受信部113が開放したTCPポートのポート番号とを含む端末状態情報をプッシュサーバ200に送信する。
【0064】
ステップS404の後、端末100のプッシュクライアント110は、プッシュサーバ200からのTCP接続を待つ。つまり、プッシュクライアント110は、プッシュサーバ200が端末100とのTCPセッションを確立するのを待つ。このとき、プッシュクライアント110とプッシュサーバ200間のTCPセッションは確立されていない。従って、プッシュクライアント110とプッシュサーバ200とは、TCPセッションを維持するための定期的な通信を行う必要がない。
【0065】
ここで、プッシュサーバ200におけるプッシュ方法の判定処理を説明する。
【0066】
プッシュサーバ200は、ステップS303において、プッシュ問い合わせのHTTP要求を受信すると、端末100がロングポーリングを選択したと判断する。また、ステップS404において端末状態通知送信部111から端末状態情報を受信すると、端末100がダイレクトIPを選択したと判断する。
【0067】
このように、端末状態通知またはプッシュ問い合わせによって、プッシュ方法の選択結果がプッシュサーバ200に通知される。このような形態を実現するには、例えば、端末状態通知のURLのパスと、プッシュ問い合わせのURLのパスとを別に設定し、プッシュサーバ200は、どちらのURLにアクセスがあったかを判断すればよい。
【0068】
次に、端末100がロングポーリングによりプッシュメッセージを取得する動作を説明する。
【0069】
図5は、ロングポーリングによるプッシュメッセージの配信処理を示すシーケンス図である。
【0070】
図5に示すシーケンス図においては、端末100によるプッシュ問い合わせ実施以降のメッセージ配信システムの動作を示す。
【0071】
プッシュサーバ200は、プッシュクライアント110のメッセージ受信部114からHTTP要求としてプッシュ問い合わせを受け付けると(ステップS501)、端末100がロングポーリングを選択したと判断する。このとき、プッシュサーバ200は、即座に応答せずに、配信すべきプッシュメッセージの発生を待つ。つまり、プッシュサーバ200はプッシュ待ちの状態となる。
【0072】
プッシュサーバ200は、アプリケーションサーバ300からプッシュメッセージの配信要求を受け付けると(ステップS502)、HTTP要求が正常に処理されたことを示すHTTP応答(HTTP 200OK)とともに、プッシュメッセージをプッシュクライアント110に送信する(ステップS503)。
【0073】
プッシュクライアント110のメッセージ通知部115は、ステップS503で受信したメッセージを対応するアプリケーションに渡す(ステップS504)。
【0074】
次に、端末100がダイレクトIPによりプッシュメッセージを取得する動作を説明する。
【0075】
図6は、ダイレクトIPによるプッシュメッセージの配信処理を示すシーケンス図である。
【0076】
図6に示すシーケンス図においては、端末100が端末状態通知をした後のメッセージ配信システムの動作を示す。
【0077】
プッシュサーバ200は、端末100から端末状態通知を受けると、すなわち端末100から端末状態情報を受信すると、端末100がダイレクトIPを選択したと判断する。その後、アプリケーションサーバ300からプッシュメッセージの配信要求を受け付けると(ステップS601)、プッシュサーバ200は、プッシュクライアント110に対してTCP接続を行う(ステップS602)。ダイレクトIPでは、このTCP接続がメッセージ更新通知となる。すなわち、メッセージ更新通知受信部113は、TCP接続を検知することにより、メッセージ更新通知があったと判断する。
【0078】
プッシュクライアント110のメッセージ更新通知受信部113がプッシュサーバ200とのTCP接続を検知すると、メッセージ受信部114は、これをトリガとしてメッセージ取得処理を開始する。つまり、プッシュサーバ200に対してHTTP要求としてメッセージ取得要求を送信する(ステップS603)。
【0079】
プッシュサーバ200は、HTTP要求が正常に処理されたことを示すHTTP応答とともに、プッシュメッセージをプッシュクライアント110に送信する(ステップS604)。
【0080】
プッシュクライアント110のメッセージ通知部115は、ステップS604で受信したメッセージを対応するアプリケーションに渡す(ステップS605)。
【0081】
以上に説明したように、本実施形態では、端末がネットワーク状態に応じてプッシュ方法を決定する。従って、ロングポーリング方式のみを利用した場合に比べプッシュサーバの処理負荷を軽減させるとともに、端末が利用するネットワークの種別によらずに、プッシュメッセージを確実に端末内のプッシュクライアントに到達させることができる。
【0082】
また、端末がモバイル網を利用しているときには、TCPセッションを常時維持させておく必要がないダイレクトIPをプッシュ方法として選択するので、モバイル網における制御信号の輻輳の発生を抑止することができる。
【0083】
なお、本実施形態では、端末とプッシュサーバとが異なるIPアドレス空間に存在する場合には、NATやFWを介した通信およびプロキシサーバを介した通信が可能なロングポーリングをプッシュ方法として選択しているが、その他の方法を利用してもよい。例えば、プロキシサーバを介した通信ができなくてもよい場合には、WebSocketやTCP独自通信を利用することができる。つまり、第一の通信方式はWebSocketやTCP独自通信であってもよい。
【0084】
WebSocketは、ウェブサーバとブラウザ間のTCP上における双方向通信用の通信方式である。WebSocketでは、TCPセッションを1回確立させると、その後端末とプッシュサーバ間で双方向通信が可能となる。ただし、WebSocketでは、WebSocketに対応していないプロキシサーバを介した通信を行うことができない。TCP独自通信は、ユーザ等が独自に開発したTCP上における通信方式である。
【0085】
実施形態2.
以下、本発明の第2の実施形態を図面を参照して説明する。
【0086】
端末100の第2の実施形態における構成は、第1の実施形態における構成と同様であるため、説明を省略する。
【0087】
第1の実施形態では、ロングポーリングおよびダイレクトIPによってプッシュメッセージを端末に配信するメッセージ配信システムを例にした。
【0088】
しかし、ロングポーリングおよびダイレクトIPによってもプッシュメッセージを端末に到達させることができない場合がある。例えば、端末が長時間無通信(スリープ)状態になっていて、端末のIPアドレスが開放されている場合である。
【0089】
本実施形態では、ロングポーリングおよびダイレクトIPによってもプッシュメッセージを端末に到達させることができない場合、プッシュサーバ200は、SMS(Short Message Service)を利用してプッシュメッセージを配信する。
【0090】
図7は、SMSによるプッシュメッセージの配信処理を示すシーケンス図である。
【0091】
プッシュサーバ200は、アプリケーションサーバ300からプッシュメッセージの配信要求を受け付けたときに(ステップS701)、配信先の端末が選択したプッシュ方法でプッシュメッセージの配信が可能か否かを判定する。本実施形態では、プッシュサーバ200は、プッシュメッセージの配信試行を実行し、配信試行の結果をもとに配信可能か否かを判定する(ステップS702)。
【0092】
プッシュサーバ200は、配信先の端末がプッシュ方法としてダイレクトIPを選択している場合は、ダイレクトIPによるプッシュメッセージの配信を試行する。また、プッシュサーバ200は、配信先の端末がプッシュ方法としてロングポーリングを選択している場合は、ロングポーリングによるプッシュメッセージの配信を試行する。
【0093】
このとき、端末100が、長時間スリープ状態になっていて、端末100のIPアドレスが開放されてしまっている場合がある。その場合、プッシュメッセージが端末100に配信されない。
【0094】
プッシュメッセージの配信試行に失敗した場合には、プッシュサーバ200は、配信先の端末が選択したプッシュ方法ではプッシュメッセージの配信ができないと判断する。そして、プッシュサーバ200は、プッシュクライアント110に対して、配信すべきプッシュメッセージがあることを示す通知をSMSで送信する(ステップS703)。このとき、端末100のIPアドレスが開放されていたとしても、SMSによる通知は端末100に到達する。本実施形態では、SMSによる通知がメッセージ更新通知となる。すなわち、メッセージ更新通知受信部113は、SMSによる通知を受けると、メッセージ更新通知があったと判断する。
【0095】
プッシュクライアント110のメッセージ更新通知受信部113がSMSによる通知を受けると、メッセージ受信部114は、これをトリガとしてメッセージ取得処理を開始する。このとき、端末100のIPアドレスは開放されているが、端末100がプッシュサーバ200と通信しようとしたタイミングで、端末100にIPアドレスが割り当てられる。例えば、モバイル網上に設置されたDHCP(Dynamic Host Configuration Protocol)サーバが、端末100にIPアドレスを割り当てる。これにより、端末100に対するプッシュメッセージの配信が可能となる。
【0096】
端末100にIPアドレスが割り当てられた後、メッセージ受信部114は、プッシュサーバ200に対してHTTP要求としてメッセージ取得要求を送信する(ステップS704)。
【0097】
プッシュサーバ200は、HTTP要求が正常に処理されたことを示すHTTP応答とともに、プッシュメッセージをプッシュクライアント110に送信する(ステップS705)。
【0098】
プッシュクライアント110のメッセージ通知部115は、ステップS705で受信したメッセージを配信先のアプリケーションに渡す(ステップS706)。
【0099】
以上に説明したように、本実施形態では、端末が、プッシュサーバから配信すべきプッシュメッセージがあることを示すSMSによる通知を受けると、メッセージ取得要求をプッシュサーバに送信する。従って、プッシュサーバがロングポーリングおよびダイレクトIPによってもプッシュメッセージを端末に到達させることができない場合であっても、プッシュサーバがSMSによる通知を端末に送信すれば、端末は当該通知をもとにプッシュメッセージを取得することができる。よって、例えば、端末のIPアドレスが開放されている場合であっても、確実に端末にプッシュメッセージを配信することができる。
【0100】
なお、本実施形態では、SMSによる通知をトリガとする場合を例にしたが、配信すべきプッシュメッセージがあることをIPアドレスが開放されている端末に通知可能であれば、SMS以外の方法を利用してもよい。
【0101】
実施形態3.
以下、本発明の第3の実施形態を図面を参照して説明する。
【0102】
端末100の第3の実施形態における構成は、第1の実施形態および第2の実施形態における構成と同様であるため、説明を省略する。
【0103】
ただし、本実施形態では、端末状態通知送信部111は、端末のIPアドレスが前回端末状態通知をしたときのIPアドレスと同一の場合には、端末状態通知を行わない。
【0104】
図8は、端末100がプッシュ方法としてダイレクトIPを選択した場合の第3の実施形態の動作を示すシーケンス図である。
【0105】
ステップS801〜S803の処理は、第1の実施形態のステップS401〜S403の処理と同様であるため、説明を省略する。
【0106】
ステップS803の後、端末状態通知送信部111は、端末に現在割り当てられているIPアドレスが、前回端末状態通知をしたときのIPアドレスと同一であるか否かを確認する(ステップS804)。
【0107】
IPアドレスが同一である場合は、端末状態通知送信部111は、端末状態通知を行わない(ステップS805)。なお、IPアドレスが同一でない場合には、端末状態通知送信部111は、ステップS404の処理と同様に端末状態通知を行う。
【0108】
以上に説明したように、本実施形態では、端末がプッシュ方法としてダイレクトIPを選択した場合に、端末のIPアドレスが前回端末状態通知をしたときと同一であるときには、端末は端末状態通知を行わない。これにより、端末およびプッシュサーバの処理負荷をさらに軽減することができる。特に、端末のネットワーク状態が頻繁に切り替わるような環境において、端末およびプッシュサーバの処理負荷を軽減することができる。
【0109】
例えば、モバイル網とWiFiとの切り替えが頻繁に行われる環境では、ネットワークがWiFiからモバイル網に切り替わる度に、端末から端末状態情報がプッシュサーバに送信される。従って、端末およびプッシュサーバの処理負荷が増大する可能性がある。しかし、本実施形態によれば、そのような環境でも端末およびプッシュサーバの処理負荷を軽減することができる。
【0110】
図9は、本発明による端末の最小構成を示すブロック図である。図10は、本発明によるメッセージ配信システムの最小構成を示すブロック図である。
【0111】
図9に示すように、端末(図1に示す端末100−1〜100−nおよび図2に示す端末100に相当。)は、自端末と、メッセージの配信をプッシュ型で行う配信装置(図1に示すプッシュサーバ200に相当。)とを接続するネットワークの状態を検知するネットワーク状態検知部11(図2に示す端末100のプッシュクライアント110におけるNW状態検知部112に相当。)と、検知結果をもとに、自端末と配信装置とが同一IPアドレス空間に配置されているか否かを判定し、同一IPアドレス空間に配置されていない場合は、予め確立されたTCPセッションを利用する第一の通信方式を選択し、同一IPアドレス空間に配置されている場合は、メッセージ配信時に配信装置が自端末との間に新規に確立するTCPセッションを利用する第二の通信方式を選択し、選択した通信方式に応じて配信装置からメッセージを受信する受信部12(図2に示す端末100のプッシュクライアント110における端末状態通知送信部111、メッセージ更新通知受信部113およびメッセージ受信部114に相当。)とを備える。
【0112】
そのような構成によれば、配信装置の処理負荷を削減しつつ、端末が利用するネットワークの種別によらずに、プッシュメッセージを確実に端末に到達させることができる。
【0113】
上記の実施形態には、以下のような端末も開示されている。
【0114】
(1)受信部12は、自端末と配信装置とを接続するネットワークが無線LANである場合は、自端末と配信装置とが同一IPアドレス空間に配置されていないと判断し、ネットワークがモバイル網である場合は、自端末と配信装置とが同一IPアドレス空間に配置されていると判断する端末。
【0115】
そのような構成によれば、ネットワークの種別をもとに、端末と配信装置とが同一IPアドレス空間内にいるか否かを判定することができる。
【0116】
(2)受信部12は、第一の通信方式を選択した場合は、配信装置に配信すべきメッセージの有無を問い合わせる問い合わせ要求を送信し、第二の通信方式を選択した場合は、配信装置とのTCP接続を検知したときに当該配信装置にメッセージ取得要求を送信する端末。
【0117】
そのような構成によれば、選択したプッシュ方法に応じて、配信装置からプッシュメッセージを取得することができる。
【0118】
(3)受信部12は、第二の通信方式を選択したときに自端末のIPアドレスを含む端末状態情報を配信装置に通知する端末。
【0119】
そのような構成によれば、配信装置が端末状態通知をもとに端末のIPアドレスなどを認識することができ、配信装置から端末に対してTCP接続を行うことが可能となる。また、端末状態情報を通知することにより、端末がプッシュ方法としてダイレクトIPを選択したことを配信装置が認識することができる。
【0120】
(4)受信部12は、配信すべきメッセージがあることを示すSMSによる通知を検知したときに配信装置にメッセージ取得要求を送信する端末。
【0121】
そのような構成によれば、例えば、端末のIPアドレスが開放されている場合であっても、端末は、SMSによる通知により配信すべきプッシュメッセージがあることを認識することができる。従って、そのような場合でも、端末は確実にプッシュメッセージを取得することができる。
【0122】
(5)受信部12は、前回の端末状態情報を通知したときの自端末のIPアドレスと現在の自端末のIPアドレスとが同一の場合には、端末状態情報を配信装置に通知しない端末。
【0123】
そのような構成によれば、例えば、モバイル網とWiFiとの切り替えが頻繁に行われる環境において、ネットワークがモバイル網に切り替わる際の端末状態情報の送信を抑止することができる。従って、端末およびプッシュサーバの処理負荷をさらに軽減することができる。
【0124】
上記の実施形態には、図10に示すようなメッセージ配信システムも開示されている。
【0125】
(6)端末10−1〜10−n(図1に示す端末100−1〜100−nに相当。)と、端末10−1〜10−nにメッセージの配信をプッシュ型で行う配信装置20(図1に示すプッシュサーバ200に相当。)とを備え、端末10−1〜10−nは、自端末と配信装置20とを接続するネットワークの状態を検知するネットワーク状態検知部11と、検知結果をもとに、自端末と配信装置20とが同一IPアドレス空間に配置されているか否かを判定し、同一IPアドレス空間に配置されていない場合は、予め確立されたTCPセッションを利用する第一の通信方式を選択し、同一IPアドレス空間に配置されている場合は、メッセージ配信時に配信装置20が自端末との間に新規に確立するTCPセッションを利用する第二の通信方式を選択し、選択した通信方式に応じて配信装置20からメッセージを受信する受信部12とを備え、配信装置20は、端末から通知された通信方式の選択結果に応じたメッセージ配信を行う制御部21(図1に示すプッシュサーバ200における制御部(図示せず)に相当。)を備えるメッセージ配信システム。
【0126】
そのような構成によれば、端末が利用するネットワークの種別によらずに、配信装置の処理負荷を増大させることなく、プッシュメッセージを確実に端末に到達させることができる。
【0127】
(7)受信部12は、自端末と配信装置20とを接続するネットワークが無線LANである場合は、自端末と配信装置20とが同一IPアドレス空間に配置されていないと判断し、ネットワークがモバイル網である場合は、自端末と配信装置20とが同一IPアドレス空間に配置されていると判断するメッセージ配信システム。
【0128】
そのような構成によれば、ネットワークの種別をもとに、端末と配信装置とが同一IPアドレス空間内にいるか否かを判定することができる。
【0129】
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下
に限られない。
【0130】
(付記1)端末10−1〜10−nと、端末10−1〜10−nにメッセージの配信をプッシュ型で行う配信装置20とを備え、端末10−1〜10−nは、自端末と配信装置20とを接続するネットワークの状態を検知するネットワーク状態検知部11と、検知結果をもとに、自端末と配信装置20とが同一IPアドレス空間に配置されているか否かを判定し、同一IPアドレス空間に配置されていない場合は、予め確立されたTCPセッションを利用する第一の通信方式を選択し、同一IPアドレス空間に配置されている場合は、メッセージ配信時に配信装置20が自端末との間に新規に確立するTCPセッションを利用する第二の通信方式を選択し、選択した通信方式に応じて配信装置20からメッセージを受信する受信部12とを備え、配信装置20は、端末から通知された通信方式の選択結果に応じたメッセージ配信を行う制御部21を備えるメッセージ配信システム。
【0131】
(付記2)受信部12は、自端末と配信装置20とを接続するネットワークが無線LANである場合は、自端末と配信装置20とが同一IPアドレス空間に配置されていないと判断し、ネットワークがモバイル網である場合は、自端末と配信装置20とが同一IPアドレス空間に配置されていると判断する付記1に記載のメッセージ配信システム。
【0132】
(付記3)受信部12は、第一の通信方式を選択した場合は、配信装置20に配信すべきメッセージの有無を問い合わせる問い合わせ要求を送信し、第二の通信方式を選択した場合は、配信装置20とのTCP接続を検知したときに当該配信装置20にメッセージ取得要求を送信する付記1または付記2に記載のメッセージ配信システム。
【0133】
そのような構成によれば、端末が選択したプッシュ方法に応じて、配信装置から端末へプッシュメッセージの配信を行うことができる。
【0134】
(付記4)受信部12は、第二の通信方式を選択したときに自端末のIPアドレスを含む端末状態情報を配信装置20に通知し、制御部21は、メッセージ配信時に端末状態情報をもとに端末10−1〜10−nとのTCPセッションを確立する付記1から付記3のうちのいずれか1つに記載のメッセージ配信システム。
【0135】
そのような構成によれば、配信装置が端末状態通知をもとに端末のIPアドレスなどを認識することができ、配信装置から端末に対してTCP接続を行うことが可能となる。また、端末状態情報を通知することにより、端末がプッシュ方法としてダイレクトIPを選択したことを配信装置が認識することができる。
【0136】
(付記5)制御部21は、第一の通信方式または第二の通信方式によるメッセージ配信ができないと判断した場合には、配信すべきメッセージがあることを示すSMSによる通知を端末10−1〜10−nに送信し、受信部12は、SMSによる通知を検知したときに配信装置20にメッセージ取得要求を送信する付記1から付記4のうちのいずれか1つに記載のメッセージ配信システム。
【0137】
そのような構成によれば、例えば、端末のIPアドレスが開放されている場合であっても、SMSによる通知により、配信装置は端末に配信すべきプッシュメッセージがあることを認識させることができ、確実に端末に対してプッシュメッセージを配信することができる。
【0138】
(付記6)受信部12は、前回の端末状態情報を通知したときの自端末のIPアドレスと現在の自端末のIPアドレスとが同一の場合には、端末状態情報を配信装置20に通知しない付記4または付記5に記載のメッセージ配信システム。
【0139】
そのような構成によれば、例えば、モバイル網とWiFiとの切り替えが頻繁に行われる環境において、ネットワークがモバイル網に切り替わる際の端末状態情報の送信を抑止することができる。従って、端末およびプッシュサーバの処理負荷をさらに軽減することができる。
【0140】
この出願は、2012年10月17日に出願された日本特許出願2012−230001を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【0141】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【0142】
10−1〜10−n、100、100−1〜100−n、500−1、500−2 端末
11、112 ネットワーク(NW)状態検知部
12 受信部
20 配信装置
21 制御部
110、510−1、510−2 プッシュクライアント
111 端末状態通知送信部
113 メッセージ更新通知受信部
114 メッセージ受信部
115 メッセージ通知部
120−1〜120−n アプリケーション
200、600 プッシュサーバ
300、300−1〜300−n、700−1〜700−3 アプリケーションサーバ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11