JP6183373B2 - 配信装置、通信システム、負荷分散方法および負荷分散プログラム - Google Patents

配信装置、通信システム、負荷分散方法および負荷分散プログラム Download PDF

Info

Publication number
JP6183373B2
JP6183373B2 JP2014544239A JP2014544239A JP6183373B2 JP 6183373 B2 JP6183373 B2 JP 6183373B2 JP 2014544239 A JP2014544239 A JP 2014544239A JP 2014544239 A JP2014544239 A JP 2014544239A JP 6183373 B2 JP6183373 B2 JP 6183373B2
Authority
JP
Japan
Prior art keywords
connection continuation
terminal
continuation signal
connection
scheduled
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014544239A
Other languages
English (en)
Other versions
JPWO2014068879A1 (ja
Inventor
健夫 大西
健夫 大西
貴弘 城島
貴弘 城島
川戸 正裕
正裕 川戸
忠行 多
忠行 多
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2014068879A1 publication Critical patent/JPWO2014068879A1/ja
Application granted granted Critical
Publication of JP6183373B2 publication Critical patent/JP6183373B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Telephonic Communication Services (AREA)

Description

本発明は、イベント通知サービスをユーザに提供するための配信装置、通信システム、負荷分散方法および負荷分散プログラムに関する。
VoIP(Voice over Internet Protocol)の着信通知やSNS(Social Networking Service)の更新通知など、サーバ装置から端末に対してIP(Internet Protocol)ネットワークを通して能動的にイベントを通知するイベント通知サービスがある。イベント通知サービスにおけるサーバ装置から端末への通知は、プッシュ通知(Push Notification)またはプッシュメッセージと呼ばれる。プッシュメッセージを送信するサーバ装置(以下、プッシュサーバという。)は、VoIPの着信通知、SNSの更新通知、チャットメッセージ配信、クラウドストレージの更新通知などの通知要求をサービス事業者サーバ(以下、アプリケーションサーバという。)から受け取る。アプリケーションサーバは、SNS管理者等のサービス事業者が使用するサーバ装置である。
サービス事業者は、アプリケーションサーバを使用して、自身が提供するアプリケーションソフトウェア(以下、単にアプリケーションという。)宛てのメッセージ配信をプッシュサーバに要求する。サービス事業者は、予め、サービスを利用するためのアプリケーションをユーザに提供する。そして、ユーザは、サービス事業者から提供されたアプリケーションを端末上で動作させる。
プッシュサーバは、メッセージ配信要求に従って端末上で動作するソフトウェア(以下、プッシュクライアントという。)に対してプッシュメッセージを送信する。プッシュクライアントは、受信したメッセージを宛先のアプリケーションに渡す。アプリケーションは、プッシュクライアントから受け取ったメッセージの内容に応じた処理を行う。例えば、アプリケーションは、ユーザに情報を通知したり、コンテンツサーバと通信してコンテンツサーバから更新されたコンテンツを取得したりする。
端末は、モバイル網や無線LANなど様々なネットワークを利用する。端末が、利用するネットワークによって、端末がNAT(Network Address Translation)配下となる場合がある。つまり、プッシュサーバ・端末間にNAT機能を備えたルータが設置される場合がある。
NAT機能を備えたルータは、NAT変換テーブルを用いて端末のグローバルアドレスとプライベートアドレスとを変換する。NAT変換テーブルは、端末のIPアドレスおよびポートと、ルータのポートとを対応付けた情報である。図8は、NAT変換テーブルの一例を示す説明図である。図8に示す「アドレス」は、端末のIPアドレスを表す。図9は、プッシュサーバから端末へルータを介してパケットが転送される様子を示す説明図である。
図9に示す端末700は、NAT機能を備えたルータ800を介してプッシュサーバ600と接続されている。つまり、端末700は、NAT配下に配置されている。この状態で、例えば、端末700上で動作するプッシュクライアントがルータを介してインターネット上のプッシュサーバにTCP接続すると、ルータ800はNAT変換テーブルを更新する。具体的には、ルータ800は、当該端末のプライベートアドレスおよび当該プッシュクライアントが使用するポート番号をNAT変換テーブルに記憶する。ここでは、プライベートアドレスが「192.168.0.2」であって、ポート番号が「11111」であるとする。また、ルータのグローバルアドレスが「23.42.64.168」であるとする。
ルータ800は、端末700から受信したパケットをプッシュサーバ600に転送するときに、送信元アドレスを自装置のグローバルアドレスに変換する。従って、プッシュサーバ600は、端末700のプライベートアドレスではなくルータ800のグローバルアドレスを送信元アドレスとして認識する。そのため、プッシュサーバ600は端末700にパケットを送信するときには、ルータ800のグローバルアドレス宛てにパケットを送信する。ルータ800は、プッシュサーバ600からパケットを受信すると、NAT変換テーブルをもとに、宛先アドレスを端末700のプライベートアドレスに変換して、当該パケットを端末700に転送する。
NAT変換テーブルが記憶する端末のIPアドレスおよびポート番号は、一定時間通信がない場合、タイムアウトによりNAT変換テーブルから削除される。以後、ルータは、端末宛てにプッシュサーバから受信したパケットの宛先アドレスを、端末のプライベートアドレスに変換できなくなる。そのため、プッシュサーバから送信されたパケットは端末に到達しなくなる。従って、プッシュサーバ・端末間のTCP接続を正常に維持するためには、NAT変換テーブルのタイムアウトを発生させないように、プッシュサーバと端末とが定期的に通信を行う必要がある。接続の維持のため、プッシュサーバと端末との間で定期的に送受信される信号をキープアライブ(KeepAlive)信号(以下、接続継続信号ともいう。)という。
端末は、3G回線やLTE(Long Term Evolution)などのモバイル網を利用するとき、電力を節約するために通信状態に応じて無線状態を切り替える。例えば、端末は、通信状態に応じて、無線状態をスタンバイ状態にしたりアクティブ状態にしたりする。無線状態の切り替えの際、端末は、モバイル網との間で無線状態を切り替えるための制御信号の送受信を行う。端末上で動作するアプリケーションなどが定期的に通信を発生させる場合、端末の無線状態は、スタンバイ状態とアクティブ状態とを交互に繰り返すことになり、モバイル網に多数の制御信号が流れ、モバイル網で輻輳が発生する。
従って、プッシュサーバと多数の端末との間でキープアライブ信号の送受信が定期的に行われた場合には、プッシュサーバにおけるキープアライブ信号に応答する処理負荷が増大するとともに、モバイル網における制御信号の輻輳がより発生しやすくなる。
図10は、キープアライブ信号の送信周期を示す説明図である。ルータが保持するNAT変換テーブルは、ルータによって様々である。例えば、NAT変換テーブルのタイムアウト時間はルータごとに異なる。従って、端末に対するキープアライブ信号の送信周期は、当該端末に接続されるルータに応じて様々な値が設定されうる。図10(a)は、プッシュサーバから各端末に送信されるキープアライブ信号の送信周期を表す波形である。図10(b)は、図10(a)に示す端末ごとの波形を重ね合わせた波形である。図10(a)に示すように、各端末に対するキープアライブ信号の送信周期が異なる場合、各端末に対するキープアライブ信号の送信時期が集中する瞬間(図10に示す点線で囲われた箇所)がある。そのとき、プッシュサーバの負荷が高くなる可能性がある。
図11は、ネットワーク障害回復時のキープアライブ信号数の増減の様子を示す説明図である。ネットワーク障害などにより、プッシュサーバと各端末との接続が途切れる場合がある。その場合、ネットワーク障害が回復したときに、プッシュサーバと各端末との再接続が一斉に行われる。その後、各端末が通信を開始するまで、プッシュサーバと各端末との間で定期的にキープアライブ信号の送受信が行われる。その間、図11に示すように、各端末に対するキープアライブ信号の送信時期が集中する瞬間(図11に示す点線で囲われた箇所)が定期的に発生する。従って、プッシュサーバの負荷が定期的に高くなる可能性がある。
プッシュサーバが高負荷状態になると、プッシュメッセージの単位時間当たりの配信可能数が減少する。それにより、メッセージ配信のリアルタイム性が損なわれたり、呼損率が増大したりする可能性がある。
LANとインターネットとが接続されたネットワーク環境において、インターネット側の端末からプライベートIPアドレスが割り当てられたLAN内の機器に対する接続を、所望のタイミングで容易に行うことを可能とする通信システムがある(例えば、特許文献1参照。)。特許文献1に記載された通信システムでは、インターネット側に設置されたサーバ装置が、端末と機器との間の通信を転送する。LAN内の機器は、端末と通信を行っていない場合でも、サーバ装置との接続を維持するためにキープアライブパケットをサーバ装置に対して送信する。
特開2004−120547号公報
特許文献1に記載された通信システムでは、サーバ装置が、キープアライブパケットの送信周期を決定し、決定した送信周期を機器に設定する。従って、サーバ装置は、キープアライブパケットの送信周期の長短を、自装置の受信負荷などに応じて変更することができる。しかし、サーバ装置は各端末のキープアライブパケットの送信周期のみを制御するため、多数の端末からキープアライブパケットが同時に送信される可能性がある。その場合、サーバ装置が高負荷状態になり、端末と機器間の通信のリアルタイム性が損なわれる可能性がある。
そこで、本発明は、イベント通知サービスにおいて、端末との接続を継続するための処理負荷を時間的に分散することができ、メッセージ配信のリアルタイム性を維持することができる配信装置、通信システム、負荷分散方法および負荷分散プログラムを提供することを目的とする。
本発明による配信装置は、配信すべきデータがない場合に自装置と接続された各端末に、自装置と当該各端末との接続を維持するための接続継続信号を送信する通信部と、通信部が接続継続信号を送信する期間を複数の時間区間に分割し、各端末に対する接続継続信号の間隔を示す接続継続信号間隔情報をもとに時間区間ごとに接続継続信号の送信予定数を算出し、送信予定数が予め定められた閾値を超えている場合には、通信部に、閾値を超えた分の接続継続信号を当該時間区間より前の時間区間で送信させる送信時刻決定部とを備えたことを特徴とする。
本発明による通信システムは、配信装置と配信装置と通信可能な複数の端末とを備え、端末は、配信装置と自端末との接続を維持するための接続継続信号の間隔を指定するための接続継続信号間隔情報を配信装置に通知する接続継続制御部を含み、配信装置は、配信すべきデータがない場合に各端末に接続継続信号を送信する通信部と、通信部が接続継続信号を送信する期間を複数の時間区間に分割し、各端末から受信した接続継続信号間隔情報をもとに時間区間ごとに接続継続信号の送信予定数を算出し、送信予定数が予め定められた閾値を超えている場合には、通信部に、閾値を超えた分の接続継続信号を当該時間区間より前の時間区間で送信させる送信時刻決定部とを含むことを特徴とする。
本発明による負荷分散方法は、配信すべきデータがない場合に自装置と接続された各端末に、自装置と当該各端末との接続を維持するための接続継続信号を送信する配信装置が、接続継続信号を送信する期間を複数の時間区間に分割し、各端末に対する接続継続信号の間隔を示す接続継続信号間隔情報をもとに時間区間ごとに接続継続信号の送信予定数を算出し、送信予定数が予め定められた閾値を超えている場合には、閾値を超えた分の接続継続信号を当該時間区間より前の時間区間で送信することを特徴とする。
本発明による負荷分散プログラムは、コンピュータに、配信すべきデータがない場合に自コンピュータと接続された各端末に、自コンピュータと当該各端末との接続を維持するための接続継続信号を送信する処理と、接続継続信号を送信する期間を複数の時間区間に分割し、各端末に対する接続継続信号の間隔を示す接続継続信号間隔情報をもとに時間区間ごとに接続継続信号の送信予定数を算出し、送信予定数が予め定められた閾値を超えている場合には、閾値を超えた分の接続継続信号を当該時間区間より前の時間区間で送信する処理とを実行させることを特徴とする。
本発明によれば、イベント通知サービスにおいて、プッシュサーバと端末との接続を継続するための処理負荷を時間的に分散することができ、メッセージ配信のリアルタイム性を維持することができる。
本発明による通信システムの第1の実施形態の構成を示すブロック図である。 キープアライブ信号送信予定数の調整処理を示すフローチャートである。 ステップS202における接続継続信号送信時刻決定部の動作を示すフローチャートである。 キープアライブ信号送信予定数が調整される様子を示す説明図である。 キープアライブ信号受信予定数の調整処理を示すフローチャートである。 本発明による配信装置の最小構成を示すブロック図である。 本発明による通信システムの最小構成を示すブロック図である。 NAT変換テーブルの一例を示す説明図である。 プッシュサーバから端末へルータを介してパケットが転送される様子を示す説明図である。 キープアライブ信号の送信周期を示す説明図である。 ネットワーク障害回復時のキープアライブ信号数の増減の様子を示す説明図である。
実施形態1.
以下、本発明の第1の実施形態を図面を参照して説明する。
図1は、本発明による通信システムの第1の実施形態の構成を示すブロック図である。
図1に示すように、本発明による通信システム(以下、メッセージ配信システムという。)は、プッシュサーバ100と、端末200−1〜200−nと、ルータ300とを備える。なお、図1には、ルータ300が1つ例示されているが、ルータはいくつ接続されていてもよい。
プッシュサーバ100は、メッセージ送信要求受信部110と、メッセージキュー120と、メッセージ送信部130と、接続継続信号送受信部140と、接続継続信号送信時刻決定部150と、送信予定時刻情報格納部160とを含む。
メッセージ送信要求受信部110は、プッシュサーバ100と通信可能なアプリケーションサーバ(図示せず)から、メッセージ送信要求とメッセージ送信要求に対応するメッセージとを受信する。メッセージ送信要求受信部110は、メッセージ送信要求に対応するメッセージとしてプッシュメッセージを受信する。
メッセージキュー120は、メッセージ送信要求に対応するプッシュメッセージを記憶する。
メッセージ送信部130は、端末200−1〜200−nにプッシュメッセージを送信する。具体的には、メッセージ送信部130は、メッセージ送信要求受信部110が受信したメッセージ送信要求に応じて、メッセージキュー120に格納されたプッシュメッセージを端末200−1〜200−nに送信する。
接続継続信号送受信部140は、端末200−1〜200−nとの間でキープアライブ信号の送受信処理を行う。
接続継続信号送信時刻決定部150は、接続継続信号送受信部140が各端末に送信するキープアライブ信号の送信予定時刻を決定する。
送信予定時刻情報格納部160は、接続継続信号送信時刻決定部150が決定した送信予定時刻を示す情報を記憶する。
なお、メッセージ送信要求受信部110、メッセージ送信部130、接続継続信号送受信部140および接続継続信号送信時刻決定部150は、プッシュサーバ100が備えるCPU等によって実現される。また、メッセージキュー120、送信予定時刻情報格納部160は、プッシュサーバ100が備えるメモリ等の記憶装置によって実現される。
端末200−1〜200−nは、例えば、携帯電話機等の通信端末である。
端末200−1は、メッセージ受信部210と、メッセージ通知部220と、接続継続制御部230とを含む。メッセージ受信部210と、メッセージ通知部220と、接続継続制御部230は、プッシュクライアントとして端末上で動作する。なお、端末200−2〜200−nの構成は、端末200−1と同様であるため説明を省略する。
メッセージ受信部210は、プッシュサーバ100から配信されるプッシュメッセージを受信する。
メッセージ通知部220は、プッシュメッセージを端末上で動作するアプリケーションに渡す。
接続継続制御部230は、プッシュサーバ100との間でキープアライブ信号の送受信を行う。
なお、メッセージ受信部210、メッセージ通知部220および接続継続制御部230は、端末200−1が備えるCPU等によって実現される。
ルータ300は、NAT機能を備えたルータ装置である。ルータ300は、NAT機能を用いて、プッシュサーバ100と端末200−1〜200−nとの通信を中継する。
ルータ300は、パケット転送部310と、NAT変換テーブル320とを含む。
パケット転送部310は、プッシュサーバ100と端末200−1〜200−nとの間で送受信されるパケットを、NAT変換テーブル320が記憶する情報にもとづいて転送する。
NAT変換テーブル320は、端末のグローバルアドレスとプライベートアドレスとの対応を示す情報である。
パケット転送部310は、ルータ300が備えるCPU等によって実現される。NAT変換テーブル320は、ルータ300が備えるメモリ等の記憶装置によって実現される。
次に、本実施形態の動作を説明する。
まず、プッシュサーバ100と各端末とがHTTPロングポーリング方式(以下、単にロングポーリングという。)を利用してキープアライブ信号の送受信を行うときのプッシュサーバ100の動作を説明する。
ロングポーリングは、プッシュサーバが、端末からのHTTP要求に対して、端末に配信するプッシュメッセージが存在する場合は、プッシュメッセージを含むHTTP応答を即座に送信し、端末に配信するプッシュメッセージが存在しない場合は、端末に配信するプッシュメッセージが発生するまで応答を保留する方式である。ロングポーリングにおいては、HTTP応答とそれに続くHTTP応答をキープアライブ信号として利用する。ロングポーリングのHTTP要求を受け付けたプッシュサーバは、要求元の端末が予め指定した時間になったときに、キープアライブ信号としてプッシュメッセージを含まないHTTP応答を当該端末に対して送信する。HTTP応答を受信した端末は、再度ロングポーリングのHTTP要求を送信する。
図2は、キープアライブ信号送信予定数の調整処理を示すフローチャートである。
端末200−1〜200−nの接続継続制御部230は、予め、プッシュサーバ100に対してキープアライブ信号の送信間隔を指定するための情報(以下、キープアライブ間隔情報または接続継続信号間隔情報という。)を送信する。プッシュサーバ100の接続継続信号送受信部140は、各端末から受信したキープアライブ間隔情報を保持する。なお、各端末のキープアライブ間隔情報は、予めプッシュサーバ100が保持していてもよい。例えば、ユーザが予め各端末のキープアライブ間隔情報をプッシュサーバ100の記憶部(図示せず)に格納させてもよい。
プッシュサーバ100の接続継続信号送信時刻決定部150は、接続継続信号送受信部140が保持する端末ごとのキープアライブ間隔情報をもとに、キープアライブ信号送信予定数の時間分布を作成する(ステップS201)。
ここで、ステップS201におけるキープアライブ信号送信予定数の時間分布の作成処理を説明する。
接続継続信号送信時刻決定部150は、接続継続信号送受信部140が接続継続信号を送信する期間について、キープアライブ信号送信予定数の時間分布を作成する。接続継続信号送信時刻決定部150は、例えば5分単位で時間分布を作成する。時間分布の作成単位となる期間(以下、分布作成期間という。)は、例えば、予めユーザが設定してもよいし、接続継続信号送信時刻決定部150がプッシュサーバ100の負荷に合わせて、動的に設定するようにしてもよい。
接続継続信号送信時刻決定部150は、分布作成期間を時間区間Δtで区切る。Δtは、例えば、予めユーザが設定する。
接続継続信号送信時刻決定部150は、接続継続信号送受信部140が保持する端末ごとのキープアライブ間隔情報をもとに、各端末に対するキープアライブ信号の送信予定時刻を算出する。接続継続信号送信時刻決定部150は、算出した送信予定時刻を送信予定時刻情報格納部160に格納する。
接続継続信号送信時刻決定部150は、算出した送信予定時刻をもとに、Δtで区切られた区間k(k=1,2,…)ごとに、キープアライブ信号送信予定数を算出する。
ステップS201の処理を実行した後、接続継続信号送信時刻決定部150は、区間ごとに、キープアライブ信号送信予定数の調整を行う(ステップS202)。
ここで、ステップS202における接続継続信号送信時刻決定部150の動作を説明する。図3は、ステップS202における接続継続信号送信時刻決定部150の動作を示すフローチャートである。
接続継続信号送信時刻決定部150は、区間kにおけるキープアライブ信号送信予定数Nkと、1区間当たりのキープアライブ信号送信予定数の閾値Tとを比較する(ステップS301)。なお、閾値Tは予めユーザ等が設定してもよいし、接続継続信号送信時刻決定部150がプッシュサーバ100の負荷に合わせて動的に決定するようにしてもよい。
接続継続信号送信時刻決定部150は、図3に示すように、区間kのキープアライブ信号送信予定数Nkが閾値T以下の場合は(ステップS301のNo)、当該区間のキープアライブ信号送信予定数の調整を行わない。区間kのキープアライブ信号送信予定数Nkが閾値Tを超える場合は(ステップS301のYes)、閾値Tを超えた分(Nk−T)のキープアライブ信号が区間kより前の区間で送信されるように、キープアライブ信号送信予定数を調整する。本実施形態では、接続継続信号送信時刻決定部150は、閾値Tを超えた分(Nk−T)のキープアライブ信号が区間kより1つ前の区間k−1で送信されるように、キープアライブ信号送信予定数を調整する。図4は、キープアライブ信号送信予定数が調整される様子を示す説明図である。図4に示すグラフは、区間ごとのキープアライブ信号送信予定数を表す。グラフ中の網かけ部分は、区間kにおいて閾値を超えたキープアライブ信号を表す。
具体的には、まず、接続継続信号送信時刻決定部150は、キープアライブ信号の送信予定時刻が区間kに含まれるキープアライブ信号を特定し、その中からNk−T個のキープアライブ信号を選択する(ステップS302)。接続継続信号送信時刻決定部150は、選択したNk−T個のキープアライブ信号の送信が区間k−1で実行されるように、当該キープアライブ信号の送信予定時刻を前にずらす(ステップS303)。つまり、接続継続信号送信時刻決定部150は、送信予定時刻情報格納部160に格納されたキープアライブ信号の送信予定時刻を1区間分前の時刻に更新する。
接続継続信号送信時刻決定部150は、分布作成期間内の全区間についてキープアライブ信号送信予定数の調整処理が完了したかを確認する(ステップS203)。全区間について調整処理が完了していない場合は(ステップS203のNo)、接続継続信号送信時刻決定部150はステップS202の処理に戻る。全区間について調整処理が完了した場合は(ステップS203のYes)、接続継続信号送信時刻決定部150は当該分布作成期間に対する処理を終了する。
次に、プッシュサーバ100と各端末とがTCP独自通信を利用してキープアライブ信号の送受信を行うときのプッシュサーバ100の動作を説明する。
TCP独自通信は、ユーザ等が独自に開発したTCP上における通信方式である。TCP独自通信では、プッシュサーバからキープアライブ信号が送信される場合と、端末からキープアライブ信号が送信される場合の両方が想定される。TCP独自通信では、キープアライブ信号を受信した側が送信した側に応答を返す。TCP独自通信におけるキープアライブ信号として、例えば「PING」という文字列を含むメッセージ(PINGメッセージ)を送信する。その場合、PINGメッセージを受信した側は応答として「PONG」という文字列を含むメッセージを返す。なお、TCP独自通信におけるキープアライブ信号は、その他のメッセージであってもよい。
プッシュサーバからキープアライブ信号が送信されるTCP独自通信におけるキープアライブ信号送信予定数の調整処理は、ロングポーリングを利用した場合と同様であるため、説明を省略する。
端末からキープアライブ信号が送信されるTCP独自通信では、接続継続信号送信時刻決定部150は、キープアライブ信号送信予定数の時間分布の代わりに、キープアライブ信号受信予定数の時間分布を作成する。図5は、キープアライブ信号受信予定数の調整処理を示すフローチャートである。
端末からキープアライブ信号が送信されるTCP独自通信では、端末200−1〜200−nの接続継続制御部230がキープアライブ信号を送信する際に、プッシュサーバ100に対してキープアライブ信号の次回送信時刻を通知する。プッシュサーバ100の接続継続信号送受信部140は、各端末から受信した次回送信時刻を保持する。
プッシュサーバ100の接続継続信号送信時刻決定部150は、接続継続信号送受信部140が保持する端末ごとのキープアライブ信号の次回送信時刻をもとに、キープアライブ信号受信予定数の時間分布を作成する(ステップS501)。接続継続信号送信時刻決定部150は、ステップS201における処理と同様に、分布作成期間について時間分布を作成する。
ステップS501において、まず、接続継続信号送信時刻決定部150は、接続継続信号送受信部140が保持する端末ごとの次回送信時刻をもとに、各端末のキープアライブ信号受信予定時刻を算出する。次に、接続継続信号送信時刻決定部150は、算出したキープアライブ信号受信予定時刻をもとに、分布作成期間をΔtで区切った区間kごとに、キープアライブ信号受信予定数を算出する。
ステップS501の処理を実行した後、接続継続信号送信時刻決定部150は、区間ごとに、キープアライブ信号受信予定数の調整を行う(ステップS502)。
ステップS502において、接続継続信号送信時刻決定部150は、区間kにおけるキープアライブ信号受信予定数と、1区間当たりのキープアライブ信号受信予定数の閾値とを比較する。接続継続信号送信時刻決定部150は、区間kにおけるキープアライブ信号の受信予定数が閾値を超えている場合には、閾値を超えた分のキープアライブ信号を区間kで受信しないように、キープアライブ信号受信予定数を調整する。
具体的には、まず、接続継続信号送信時刻決定部150は、キープアライブ信号受信予定時刻が区間kに含まれるキープアライブ信号を特定し、その中から閾値を超えた分のキープアライブ信号を選択する。次に、接続継続信号送信時刻決定部150は、閾値を超えた分のキープアライブ信号の送信元となる端末を特定する。そして、接続継続信号送信時刻決定部150は、特定した端末に対して区間kより前の区間でキープアライブ信号が送信されるように、当該キープアライブ信号の送信予定時刻を設定し、設定した送信予定時刻を送信予定時刻情報格納部160に格納する。本実施形態では、接続継続信号送信時刻決定部150は、区間kより1つ前の区間k−1でキープアライブ信号が送信されるように、キープアライブ信号の送信予定時刻を設定する。
それにより、区間kより1つ前の区間k−1において、接続継続信号送受信部140から接続継続信号送信時刻決定部150が特定した端末に対してキープアライブ信号が送信される。このように、閾値を超えた分のキープアライブ信号の送信元となる端末に、受信予定時刻よりも前にプッシュサーバ側からキープアライブ信号を送信することにより、当該端末のキープアライブ信号の送信を抑止することができる。従って、閾値を超えた分のキープアライブ信号を区間kでプッシュサーバ100が受信しないようにすることができる。
接続継続信号送信時刻決定部150は、分布作成期間内の全区間についてキープアライブ信号受信予定数の調整処理が完了したかを確認する(ステップS503)。全区間について調整処理が完了していない場合は(ステップS503のNo)、接続継続信号送信時刻決定部150はステップS502の処理に戻る。全区間について調整処理が完了した場合は(ステップS503のYes)、接続継続信号送信時刻決定部150は当該分布作成期間に対する処理を終了する。
以上に説明したように、本実施形態では、ロングポーリングを利用してキープアライブ信号の送受信を行う場合は、各端末に対するキープアライブ信号の送信時期が集中しないように、キープアライブ信号の送信予定数を調整する。従って、プッシュサーバにおける端末との接続を継続するための処理負荷を時間的に分散することができ、メッセージ配信のリアルタイム性を維持することができる。また、プッシュサーバの呼損率の増大を回避することができる。
また、端末からキープアライブ信号が送信されるTCP独自通信を利用してキープアライブ信号の送受信を行う場合は、各端末から送信されるキープアライブ信号の受信時期が集中しないように、キープアライブ信号の受信予定数を調整する。それにより、ロングポーリングを利用する場合と同様の効果を得ることができる。
なお、本実施形態では、ロングポーリングまたはTCP独自通信を利用して、キープアライブ信号の送受信を行う場合について説明したが、それ以外の方法を利用してキープアライブ信号の送受信を行うようにしてもよい。
また、本実施形態では、接続継続信号送信時刻決定部150が、一定時間(5分)単位で時間分布を作成する場合を例にしたが、予め定められた数のキープアライブ信号が送信されるごとに時間分布を作成するようにしてもよい。
また、本発明による通信システムをイベント通知サービス以外のサービスに適用してもよい。
実施形態2.
以下、本発明の第2の実施形態を説明する。
メッセージ配信システムの第2の実施形態の構成および動作は、第1の実施形態の構成および動作と同様であるため説明を省略する。
ただし、接続継続信号送信時刻決定部150は、ロングポーリングを利用してキープアライブ信号の送受信を行う場合に、キープアライブ信号送信予定数が閾値Tを超えた区間について、どのキープアライブ信号の送信時刻を前にずらすかを、予め設定した優先度にもとづいて決定する。
具体的には、接続継続信号送信時刻決定部150は、ステップS302において、キープアライブ信号の送信予定時刻が区間kに含まれるキープアライブ信号の中からNk−T個のキープアライブ信号を選択するときに、送信間隔が長いキープアライブ信号を優先的に選択する。
本実施形態によれば、送信予定時刻を前にずらすキープアライブ信号を選択するときに、送信間隔が長いキープアライブ信号を優先して選択するので、ランダムに選択する場合よりも、全キープアライブ信号の送信間隔の平均の変動率を小さくすることが出来る。従って、キープアライブ信号数の増加を抑えることができる。
例えば、Δtが1秒であるときにキープアライブ信号の送信予定時刻を前にずらした場合、10秒間隔の送信間隔は9秒間隔になる。また、300秒間隔の送信間隔は299秒となる。前者は信号数が10%増加する可能性があるのに対して、後者は0.3%である。よって、キープアライブ信号の送信間隔が長い端末を優先的に選択することにより、キープアライブ信号数の増加を抑えることができる。
なお、端末からキープアライブ信号が送信されるTCP独自通信を利用してキープアライブ信号の送受信を行う場合には、キープアライブ信号受信予定数について同様の処理を行えばよい。つまり、キープアライブ信号の受信予定数が閾値を超えている時間区間について、当該時間区間に受信予定であるキープアライブ信号の中から、閾値を超えた分のキープアライブ信号を選択するときに、受信間隔が長いキープアライブ信号を優先的に選択するようにすればよい。それにより、受信間隔が長いキープアライブ信号の送信元の端末に優先的にキープアライブ信号を送信することができる。
実施形態3.
以下、本発明の第3の実施形態を説明する。
メッセージ配信システムの第3の実施形態の構成および動作は、第1の実施形態の構成および動作と同様であるため説明を省略する。
ただし、接続継続信号送信時刻決定部150は、ロングポーリングを利用してキープアライブ信号の送受信を行う場合に、第2の実施形態と同様に、キープアライブ信号送信予定数が閾値Tを超えた区間について、どの端末宛てのキープアライブ信号の送信時刻を前にずらすかを、予め設定した優先度にもとづいて決定する。
上述のとおり、端末とプッシュサーバとがキープアライブ信号の送受信を定期的に行うと、端末の無線状態がスタンバイ状態とアクティブ状態とを交互に繰り返すことになり、モバイル網に多数の制御信号が流れ、モバイル網で輻輳が発生する。従って、モバイル網に繋がっている端末のキープアライブ信号の送信間隔が短くなると、より多くの制御信号がモバイル網に流れ、より輻輳が発生しやすくなる。
そこで、接続継続信号送信時刻決定部150は、ステップS302において、キープアライブ信号の送信予定時刻が区間kに含まれるキープアライブ信号の中からNk−T個のキープアライブ信号を選択するときに、モバイル網を利用しない端末、つまり、Wifi(Wireless Fidelity)(登録商標)などの無線LANを介してプッシュサーバ100に繋がっている端末を送信先とするキープアライブ信号を優先的に選択する。それにより、モバイル網に繋がっている端末に対するキープアライブ信号の送信間隔が短くなることを回避することができる。
本実施形態によれば、送信予定時刻を前にずらすキープアライブ信号を選択するときに、モバイル網を利用しない端末を送信先とするキープアライブ信号を優先して選択するので、ランダムにキープアライブ信号を選択する場合よりも、モバイル網に流れる制御信号の数を抑えることができる。従って、モバイル網における輻輳をより回避しやすくなる。
なお、端末からキープアライブ信号が送信されるTCP独自通信を利用してキープアライブ信号の送受信を行う場合には、キープアライブ信号受信予定数について同様の処理を行えばよい。つまり、キープアライブ信号の受信予定数が閾値を超えている時間区間について、当該時間区間に受信予定であるキープアライブ信号の中から、閾値を超えた分のキープアライブ信号を選択するときに、モバイル網を利用しない端末を送信先とするキープアライブ信号を優先的に選択するようにすればよい。それにより、モバイル網を利用しない端末に優先的にキープアライブ信号を送信することができる。
図6は、本発明による配信装置の最小構成を示すブロック図である。図7は、本発明による通信システムの最小構成を示すブロック図である。
図6に示すように、配信装置(図1に示すプッシュサーバ100に相当。)は、配信すべきデータがない場合に自装置と接続された各端末(図1に示す端末200−1〜200−nに相当。)に、自装置と当該各端末との接続を維持するための接続継続信号を送信する通信部11(図1に示すプッシュサーバ110における接続継続信号送受信部140に相当。)と、通信部11が接続継続信号を送信する期間を複数の時間区間に分割し、各端末に対する接続継続信号の間隔を示す接続継続信号間隔情報をもとに時間区間ごとに接続継続信号の送信予定数を算出し、送信予定数が予め定められた閾値を超えている場合には、通信部11に、閾値を超えた分の接続継続信号を当該時間区間よりも前の時間区間で送信させる送信時刻決定部12(図1に示すプッシュサーバ110における接続継続信号送信時刻決定部150に相当。)とを備える。
そのような構成によれば、配信装置における端末との接続を継続するための処理負荷を時間的に分散することができ、メッセージ配信のリアルタイム性を維持することができる。また、配信装置の呼損率の増大を回避することができる。
上記の実施形態には、以下のような配信装置も開示されている。
(1)送信時刻決定部12は、各端末から受信した接続継続信号間隔情報をもとに、端末ごとの接続継続信号の送信予定時刻を算出し、算出した送信予定時刻をもとに時間区間ごとの接続継続信号の送信予定数を算出する配信装置。
そのような構成によれば、各端末に対する接続継続信号の送信予定数を各端末から受信した送信予定時刻をもとに算出するので、接続継続信号の送信予定数の時間分布を正確に作成することができる。
(2)送信時刻決定部12は、接続継続信号の送信予定数が閾値を超えている時間区間がある場合には、閾値を超えた分の接続継続信号が当該時間区間よりも前の時間区間で送信されるように当該接続継続信号の送信予定時刻を更新し、通信部11は、送信予定時刻にもとづいて接続継続信号を送信する配信装置。
そのような構成によれば、送信時刻決定部は、閾値を超えた分の接続継続信号を当該時間区間よりも前の時間区間で確実に通信部に送信させることができる。
(3)送信時刻決定部12は、接続継続信号の送信予定数が閾値を超えている時間区間がある場合には、当該時間区間に送信予定である接続継続信号のうち、送信間隔が長い接続継続信号を優先的に送信予定時刻の更新対象とする配信装置。
そのような構成によれば、送信予定時刻の更新対象とするキープアライブ信号をランダムに選択する場合よりも全キープアライブ信号の送信間隔の平均の変動率を小さくすることが出来る。従って、キープアライブ信号数の増加を抑えることができる。
(4)送信時刻決定部12は、接続継続信号の送信予定数が閾値を超えている時間区間がある場合には、当該時間区間に送信予定である接続継続信号のうち、モバイル網を利用しない端末を送信先とする接続継続信号を優先的に送信予定時刻の更新対象とする配信装置。
そのような構成によれば、送信予定時刻の更新対象とするキープアライブ信号をランダムに選択する場合よりも、モバイル網に流れる制御信号の数を抑えることができる。従って、モバイル網における輻輳をより回避しやすくなる。
(5)送信時刻決定部12は、自装置と接続された各端末が接続継続信号を送信する場合には、各端末から接続継続信号を受信する期間を複数の時間区間に分割し、各端末から通知された接続継続信号の送信時刻をもとに時間区間ごとに接続継続信号の受信予定数を算出し、受信予定数が予め定められた閾値を超えている場合には、通信部11に、閾値を超えた分の接続継続信号の送信元の端末に当該時間区間より前の時間区間に接続継続信号を送信させる配信装置。
そのような構成によれば、端末からキープアライブ信号が送信されるTCP独自通信を利用してキープアライブ信号の送受信を行う場合にも、各端末から送信されるキープアライブ信号の受信時期が集中しないように、キープアライブ信号の受信予定数を調整することができる。それにより、ロングポーリングを利用する場合と同様の効果を得ることができる。
上記の実施形態には、図7に示すような通信システムも開示されている。
(7)配信装置10と配信装置10と通信可能な複数の端末20−1〜20−n(図1に示す端末200−1〜200−nに相当。)とを備え、端末20−1〜20−nは、配信装置と自端末との接続を維持するための接続継続信号の間隔を指定するための接続継続信号間隔情報を配信装置に通知する接続継続制御部21(図1に示す端末200−1における接続継続制御部230に相当。)を含み、配信装置10は、配信すべきデータがない場合に各端末に接続継続信号を送信する通信部11と、通信部が接続継続信号を送信する期間を複数の時間区間に分割し、各端末から受信した接続継続信号間隔情報をもとに時間区間ごとに接続継続信号の送信予定数を算出し、送信予定数が予め定められた閾値を超えている場合には、通信部に、閾値を超えた分の接続継続信号を当該時間区間よりも前の時間区間で送信させる送信時刻決定部12とを含む通信システム。
そのような構成によれば、配信装置における端末との接続を継続するための処理負荷を時間的に分散することができ、メッセージ配信のリアルタイム性を維持することができる。また、配信装置の呼損率の増大を回避することができる。
(8)送信時刻決定部12は、各端末から受信した接続継続信号間隔情報をもとに、端末ごとの接続継続信号の送信予定時刻を算出し、算出した送信予定時刻をもとに時間区間ごとの接続継続信号の送信予定数を算出する通信システム。
そのような構成によれば、各端末に対する接続継続信号の送信予定数を各端末から受信した送信予定時刻をもとに算出するので、接続継続信号の送信予定数の時間分布を正確に作成することができる。
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下
に限られない。
(付記1)配信すべきデータがない場合に自装置と接続された各端末に、自装置と当該各端末との接続を維持するための接続継続信号を送信する通信部11と、通信部が接続継続信号を送信する期間を複数の時間区間に分割し、各端末に対する接続継続信号の間隔を示す接続継続信号間隔情報をもとに時間区間ごとに接続継続信号の送信予定数を算出し、送信予定数が予め定められた閾値を超えている場合には、通信部11に、閾値を超えた分の接続継続信号を当該時間区間より前の時間区間で送信させる送信時刻決定部12とを含む配信装置。
(付記2)送信時刻決定部12は、各端末から受信した接続継続信号間隔情報をもとに、端末ごとの接続継続信号の送信予定時刻を算出し、算出した送信予定時刻をもとに時間区間ごとの接続継続信号の送信予定数を算出する付記1に記載の配信装置。
(付記3)送信時刻決定部12は、接続継続信号の送信予定数が閾値を超えている時間区間がある場合には、閾値を超えた分の接続継続信号が当該時間区間より前の時間区間で送信されるように当該接続継続信号の送信予定時刻を更新し、通信部11は、送信予定時刻にもとづいて接続継続信号を送信する付記2に記載の配信装置。
(付記4)送信時刻決定部12は、接続継続信号の送信予定数が閾値を超えている時間区間がある場合には、当該時間区間に送信予定である接続継続信号のうち、送信間隔が長い接続継続信号を優先的に送信予定時刻の更新対象とする付記3に記載の配信装置。
(付記5)送信時刻決定部12は、接続継続信号の送信予定数が閾値を超えている時間区間がある場合には、当該時間区間に送信予定である接続継続信号のうち、モバイル網を利用しない端末を送信先とする接続継続信号を優先的に送信予定時刻の更新対象とする付記3に記載の配信装置。
(付記6)送信時刻決定部12は、自装置と接続された各端末が接続継続信号を送信する場合には、各端末から接続継続信号を受信する期間を複数の時間区間に分割し、各端末から通知された接続継続信号の送信時刻をもとに時間区間ごとに接続継続信号の受信予定数を算出し、受信予定数が予め定められた閾値を超えている場合には、通信部11に、閾値を超えた分の接続継続信号の送信元の端末に当該時間区間より前の時間区間に接続継続信号を送信させる付記1から付記5のうちのいずれか1つに記載の配信装置。
(付記7)送信時刻決定部12は、接続継続信号の受信予定数が閾値を超えている時間区間がある場合には、当該時間区間に受信予定である接続継続信号の送信元の端末のうち、受信間隔が長い接続継続信号の送信元の端末を優先的に接続継続信号の送信対象とする付記6に記載の配信装置。
そのような構成によれば、端末からキープアライブ信号が送信されるTCP独自通信を利用してキープアライブ信号の送受信を行う場合に、キープアライブ信号の送信対象とする端末をランダムに選択する場合よりも、全キープアライブ信号の送信間隔の平均の変動率を小さくすることが出来る。従って、キープアライブ信号数の増加を抑えることができる。
(付記8)送信時刻決定部12は、接続継続信号の受信予定数が閾値を超えている時間区間がある場合には、当該時間区間に受信予定である接続継続信号の送信元の端末のうち、モバイル網を利用しない端末を優先的に接続継続信号の送信対象とする付記6に記載の配信装置。
そのような構成によれば、端末からキープアライブ信号が送信されるTCP独自通信を利用してキープアライブ信号の送受信を行う場合に、キープアライブ信号の送信対象とする端末をランダムに選択する場合よりも、モバイル網に流れる制御信号の数を抑えることができる。従って、モバイル網における輻輳をより回避しやすくなる。
(付記9)配信装置10と配信装置10と通信可能な複数の端末20−1〜20−nとを備え、端末20−1〜20−nは、配信装置と自端末との接続を維持するため接続継続信号の間隔を指定するための接続継続信号間隔情報を配信装置に通知する接続継続制御部21を含み、配信装置10は、配信すべきデータがない場合に各端末に接続継続信号を送信する通信部11と、通信部が接続継続信号を送信する期間を複数の時間区間に分割し、時間区間ごとに、各端末から受信した接続継続信号間隔情報をもとに接続継続信号の送信予定数を算出し、送信予定数が予め定められた閾値を超えている場合には、通信部11に、閾値を超えた分の接続継続信号を当該時間区間よりも前の時間区間で送信させる送信時刻決定部12とを含む通信システム。
(付記10)送信時刻決定部12は、各端末から受信した接続継続信号間隔情報をもとに、端末ごとの接続継続信号の送信予定時刻を算出し、算出した送信予定時刻をもとに時間区間ごとの接続継続信号の送信予定数を算出する付記9に記載の通信システム。
(付記11)送信時刻決定部は、接続継続信号の送信予定数が閾値を超えている時間区間がある場合には、閾値を超えた分の接続継続信号が当該時間区間よりも前の時間区間で送信されるように当該接続継続信号の送信予定時刻を更新し、通信部は、送信予定時刻にもとづいて接続継続信号を送信する付記10に記載の通信システム。
そのような構成によれば、送信時刻決定部は、閾値を超えた分の接続継続信号を当該時間区間よりも前の時間区間で確実に通信部に送信させることができる。
(付記12)送信時刻決定部12は、接続継続信号の送信予定数が閾値を超えている時間区間がある場合には、当該時間区間に送信予定である接続継続信号のうち、送信間隔が長い接続継続信号を優先的に送信予定時刻の更新対象とする付記11に記載の通信システム。
そのような構成によれば、送信予定時刻の更新対象とするキープアライブ信号をランダムに選択する場合よりも全キープアライブ信号の送信間隔の平均の変動率を小さくすることが出来る。従って、キープアライブ信号数の増加を抑えることができる。
(付記13)送信時刻決定部12は、接続継続信号の送信予定数が閾値を超えている時間区間がある場合には、当該時間区間に送信予定である接続継続信号のうち、モバイル網を利用しない端末を送信先とする接続継続信号を優先的に送信予定時刻の更新対象とする付記11に記載の通信システム。
そのような構成によれば、送信予定時刻の更新対象とするキープアライブ信号をランダムに選択する場合よりも、モバイル網に流れる制御信号の数を抑えることができる。従って、モバイル網における輻輳をより回避しやすくなる。
(付記14)送信時刻決定部12は、自装置と接続された各端末が接続継続信号を送信する場合には、各端末から接続継続信号を受信する期間を複数の時間区間に分割し、各端末から通知された接続継続信号の送信時刻をもとに時間区間ごとに接続継続信号の受信予定数を算出し、受信予定数が予め定められた閾値を超えている場合には、通信部11に、閾値を超えた分の接続継続信号の送信元の端末に当該時間区間より前の時間区間に接続継続信号を送信させる付記9から付記13のうちのいずれか1つに記載の通信システム。
そのような構成によれば、端末からキープアライブ信号が送信されるTCP独自通信を利用してキープアライブ信号の送受信を行う場合にも、各端末から送信されるキープアライブ信号の受信時期が集中しないように、キープアライブ信号の受信予定数を調整することができる。それにより、ロングポーリングを利用する場合と同様の効果を得ることができる。
(付記15)送信時刻決定部12は、接続継続信号の受信予定数が閾値を超えている時間区間がある場合には、当該時間区間に受信予定である接続継続信号の送信元の端末のうち、受信間隔が長い接続継続信号の送信元の端末を優先的に接続継続信号の送信対象とする付記14に記載の通信システム。
そのような構成によれば、端末からキープアライブ信号が送信されるTCP独自通信を利用してキープアライブ信号の送受信を行う場合に、キープアライブ信号の送信対象とする端末をランダムに選択する場合よりも、全キープアライブ信号の送信間隔の平均の変動率を小さくすることが出来る。従って、キープアライブ信号数の増加を抑えることができる。
(付記16)送信時刻決定部12は、接続継続信号の受信予定数が閾値を超えている時間区間がある場合には、当該時間区間に受信予定である接続継続信号の送信元の端末のうち、無線LANに繋がっている端末を優先的に接続継続信号の送信対象とする付記14に記載の通信システム。
そのような構成によれば、端末からキープアライブ信号が送信されるTCP独自通信を利用してキープアライブ信号の送受信を行う場合に、キープアライブ信号の送信対象とする端末をランダムに選択する場合よりも、モバイル網に流れる制御信号の数を抑えることができる。従って、モバイル網における輻輳をより回避しやすくなる。
この出願は、2012年10月31日に出願された日本特許出願2012−240768を基礎とする優先権を主張し、その開示の全てをここに取り込む。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
10 配信装置
11 通信部
12 送信時刻決定部
20−1〜20−n、200−1〜200−n、700 端末
21、230 接続継続制御部
100、600 プッシュサーバ
110 メッセージ送信要求受信部
120 メッセージキュー
130 メッセージ送信部
140 接続継続信号送受信部
150 接続継続信号送信時刻決定部
160 送信予定時刻情報格納部
210 メッセージ受信部
220 メッセージ通知部
300、800 ルータ
310 パケット転送部
320 NAT変換テーブル

Claims (12)

  1. 配信すべきデータがない場合に自装置と接続された各端末に、自装置と当該各端末との接続を維持するための接続継続信号を送信する通信部と、
    前記通信部が接続継続信号を送信する期間を複数の時間区間に分割し、各端末に対する接続継続信号の間隔を示す接続継続信号間隔情報をもとに時間区間ごとに接続継続信号の送信予定数を算出し、前記送信予定数が予め定められた閾値を超えている場合には、前記通信部に、前記閾値を超えた分の接続継続信号を当該時間区間より前の時間区間で送信させる送信時刻決定部とを備えた
    ことを特徴とする配信装置。
  2. 送信時刻決定部は、各端末から受信した接続継続信号間隔情報をもとに、端末ごとの接続継続信号の送信予定時刻を算出し、算出した送信予定時刻をもとに時間区間ごとの接続継続信号の送信予定数を算出する
    請求項1に記載の配信装置。
  3. 送信時刻決定部は、接続継続信号の送信予定数が閾値を超えている時間区間がある場合には、前記閾値を超えた分の接続継続信号が当該時間区間より前の時間区間で送信されるように当該接続継続信号の送信予定時刻を更新し、
    通信部は、前記送信予定時刻にもとづいて接続継続信号を送信する
    請求項2に記載の配信装置。
  4. 送信時刻決定部は、接続継続信号の送信予定数が閾値を超えている時間区間がある場合には、当該時間区間に送信予定である接続継続信号のうち、送信間隔が長い接続継続信号を優先的に送信予定時刻の更新対象とする
    請求項3に記載の配信装置。
  5. 送信時刻決定部は、接続継続信号の送信予定数が閾値を超えている時間区間がある場合には、当該時間区間に送信予定である接続継続信号のうち、モバイル網を利用しない端末を送信先とする接続継続信号を優先的に送信予定時刻の更新対象とする
    請求項3に記載の配信装置。
  6. 送信時刻決定部は、自装置と接続された各端末が接続継続信号を送信する場合には、各端末から接続継続信号を受信する期間を複数の時間区間に分割し、各端末から通知された接続継続信号の送信時刻をもとに時間区間ごとに接続継続信号の受信予定数を算出し、前記受信予定数が予め定められた閾値を超えている場合には、通信部に、前記閾値を超えた分の接続継続信号の送信元の端末に対して当該時間区間より前の時間区間に接続継続信号を送信させる
    請求項1から請求項5のうちのいずれか1項に記載の配信装置。
  7. 配信装置と前記配信装置と通信可能な複数の端末とを備え、
    前記端末は、
    前記配信装置と自端末との接続を維持するための接続継続信号の間隔を指定するための接続継続信号間隔情報を前記配信装置に通知する接続継続制御部を含み、
    前記配信装置は、
    配信すべきデータがない場合に各端末に接続継続信号を送信する通信部と、
    前記通信部が接続継続信号を送信する期間を複数の時間区間に分割し、各端末から受信した接続継続信号間隔情報をもとに時間区間ごとに接続継続信号の送信予定数を算出し、前記送信予定数が予め定められた閾値を超えている場合には、前記通信部に、前記閾値を超えた分の接続継続信号を当該時間区間より前の時間区間で送信させる送信時刻決定部とを含む
    ことを特徴とする通信システム。
  8. 送信時刻決定部は、各端末から受信した接続継続信号間隔情報をもとに、端末ごとの接続継続信号の送信予定時刻を算出し、算出した送信予定時刻をもとに時間区間ごとの接続継続信号の送信予定数を算出する
    請求項7に記載の通信システム。
  9. 配信すべきデータがない場合に自装置と接続された各端末に、自装置と当該各端末との接続を維持するための接続継続信号を送信する配信装置が、接続継続信号を送信する期間を複数の時間区間に分割し、各端末に対する接続継続信号の間隔を示す接続継続信号間隔情報をもとに時間区間ごとに接続継続信号の送信予定数を算出し、前記送信予定数が予め定められた閾値を超えている場合には、前記閾値を超えた分の接続継続信号を当該時間区間より前の時間区間で送信する
    ことを特徴とする負荷分散方法。
  10. 各端末から受信した接続継続信号間隔情報をもとに、端末ごとの接続継続信号の送信予定時刻を算出し、算出した送信予定時刻をもとに時間区間ごとの接続継続信号の送信予定数を算出する
    請求項9に記載の負荷分散方法。
  11. コンピュータに、
    配信すべきデータがない場合に自コンピュータと接続された各端末に、自コンピュータと当該各端末との接続を維持するための接続継続信号を送信する処理と、
    接続継続信号を送信する期間を複数の時間区間に分割し、各端末に対する接続継続信号の間隔を示す接続継続信号間隔情報をもとに時間区間ごとに接続継続信号の送信予定数を算出し、前記送信予定数が予め定められた閾値を超えている場合には、前記閾値を超えた分の接続継続信号を当該時間区間より前の時間区間で送信する処理とを実行させる
    ための負荷分散プログラム。
  12. コンピュータに、各端末から受信した接続継続信号間隔情報をもとに、端末ごとの接続継続信号の送信予定時刻を算出し、算出した送信予定時刻をもとに時間区間ごとの接続継続信号の送信予定数を算出する処理を実行させる
    請求項11に記載の負荷分散プログラム。
JP2014544239A 2012-10-31 2013-10-17 配信装置、通信システム、負荷分散方法および負荷分散プログラム Active JP6183373B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012240768 2012-10-31
JP2012240768 2012-10-31
PCT/JP2013/006159 WO2014068879A1 (ja) 2012-10-31 2013-10-17 配信装置、通信システム、負荷分散方法および負荷分散プログラム

Publications (2)

Publication Number Publication Date
JPWO2014068879A1 JPWO2014068879A1 (ja) 2016-09-08
JP6183373B2 true JP6183373B2 (ja) 2017-08-23

Family

ID=50626831

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014544239A Active JP6183373B2 (ja) 2012-10-31 2013-10-17 配信装置、通信システム、負荷分散方法および負荷分散プログラム

Country Status (3)

Country Link
US (1) US9521059B2 (ja)
JP (1) JP6183373B2 (ja)
WO (1) WO2014068879A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9621735B2 (en) 2014-06-25 2017-04-11 Textnow, Inc. Mobile electronic communications combining voice-over-IP and mobile network services
CN105450743B (zh) * 2015-11-17 2018-06-19 上海斐讯数据通信技术有限公司 一种定期推送广告数据的实现方法、***及无线接入点
CN105610919B (zh) * 2015-12-22 2019-01-01 深圳Tcl数字技术有限公司 数据传输方法、装置及***
WO2017210209A1 (en) * 2016-05-31 2017-12-07 Brocade Communications Systems, Inc. Keepalive scheduler in a network device
CN108270839B (zh) * 2017-01-04 2022-03-25 腾讯科技(深圳)有限公司 访问频率控制***及方法
US10750028B2 (en) 2017-06-29 2020-08-18 Textnow, Inc. Mobile communications with quality of service
KR102428414B1 (ko) * 2017-11-07 2022-08-02 주식회사 케이티 부하관리장치 및 부하관리방법
TW202036410A (zh) * 2019-03-29 2020-10-01 萊思特科技股份有限公司 自訂訊息傳送排程的方法、即時通訊裝置及電腦程式產品
JP7456133B2 (ja) * 2019-12-02 2024-03-27 富士通株式会社 通信監視装置、通信監視方法及び通信監視プログラム
CN115134404B (zh) * 2021-03-22 2024-01-30 花瓣云科技有限公司 管理推送连接的方法和电子设备

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6222530B1 (en) * 1998-08-21 2001-04-24 Corporate Media Partners System and method for a master scheduler
US6956840B1 (en) * 1998-09-21 2005-10-18 Ipr Licensing, Inc. Power control protocol for highly variable data rate reverse link of a wireless communication system
US20030061340A1 (en) * 2001-09-25 2003-03-27 Mingqiu Sun Network health monitoring through real-time analysis of heartbeat patterns from distributed agents
JP3445986B1 (ja) 2002-09-27 2003-09-16 松下電器産業株式会社 インターネットに接続するサーバ、機器および通信システム
US7395444B2 (en) * 2003-09-23 2008-07-01 American Power Conversion Corporation Power status notification
US8145748B2 (en) * 2004-12-13 2012-03-27 American Power Conversion Corporation Remote monitoring system
US20070112954A1 (en) * 2005-11-15 2007-05-17 Yahoo! Inc. Efficiently detecting abnormal client termination
US8072917B2 (en) * 2007-10-31 2011-12-06 Qualcomm Incorporated Methods and apparatus supporting adaptive decentralized traffic scheduling for wireless communications
US7958386B2 (en) * 2007-12-12 2011-06-07 At&T Intellectual Property I, L.P. Method and apparatus for providing a reliable fault management for a network
US8660045B2 (en) * 2007-12-17 2014-02-25 Telefonaktiebolaget Lm Ericsson (Publ) Mobile core network node redundancy
US8724486B2 (en) 2008-05-02 2014-05-13 Pine Valley Investments, Inc. System and method for heartbeat signal generation
JP5182701B2 (ja) 2008-09-16 2013-04-17 Necエンジニアリング株式会社 Sipシステム
JP5455432B2 (ja) 2009-05-15 2014-03-26 キヤノン株式会社 通信システム及び方法、並びにプログラム
US9401813B2 (en) * 2009-12-29 2016-07-26 Iheartmedia Management Services, Inc. Media stream monitor
US8442230B1 (en) * 2010-11-23 2013-05-14 Juniper Networks, Inc. Enhanced high availability for group VPN in broadcast environment
JP5578107B2 (ja) 2011-02-22 2014-08-27 株式会社Jvcケンウッド サーバ装置および情報提供方法
US9253067B2 (en) * 2011-11-04 2016-02-02 Infinera Corporation OAM in OTN networks: GMPLS signaling for TCM
JP6201678B2 (ja) * 2013-11-21 2017-09-27 富士通株式会社 ネットワーク管理システムにおけるネットワークエレメント、ネットワーク管理システム、及び、ネットワークの管理方法

Also Published As

Publication number Publication date
US9521059B2 (en) 2016-12-13
WO2014068879A1 (ja) 2014-05-08
US20150304201A1 (en) 2015-10-22
JPWO2014068879A1 (ja) 2016-09-08

Similar Documents

Publication Publication Date Title
JP6183373B2 (ja) 配信装置、通信システム、負荷分散方法および負荷分散プログラム
KR101541987B1 (ko) 지리적 리던던트 게이트웨이에서 페일오버 복원을 위한 시스템 및 방법
JP6473688B2 (ja) データ転送レートを増加させるためのデータストリーム分割
JP2017509265A (ja) 伝送制御方法、装置およびシステム
JP2019536355A (ja) ノードタイプに基づくデータストリーミングの支援制御
CN105282803A (zh) 通讯接口和基于通讯接口的信息传递方法及***
JP5574944B2 (ja) 無線中継装置および無線中継方法
JP5880688B2 (ja) 情報処理装置、情報処理システム、情報処理方法及びプログラム
WO2009002348A1 (en) A method and system for call admission control in a wireless mesh network
KR20120017972A (ko) 무선 메쉬 네트워크에서 데이터 전송의 혼잡 상황을 통지/회피하는 방법 및 이를 위한 메쉬 노드
JP4394537B2 (ja) アドホックネットワークにおけるデータ送信方法および端末装置
JP4830879B2 (ja) 無線データ通信システム
JP5880701B2 (ja) 通信システム、通信制御方法、通信中継システム、及び、通信中継制御方法
JP6241418B2 (ja) 端末、メッセージ配信システム、メッセージ配信方法およびメッセージ受信プログラム
JP2006352620A (ja) 呼制御方法、呼制御プログラムおよびrtcクライアント
KR101224557B1 (ko) 킵얼라이브 통신 시스템, 클라이언트, 및 통신방법
JP2014146876A (ja) メッセージ配信システムおよびメッセージ配信方法
JP2011029703A (ja) Sipサーバ装置及び呼接続システム
WO2015004861A1 (ja) メッセージ配信システム、メッセージ配信装置、メッセージ配信方法およびメッセージ配信用プログラム
CN103701952A (zh) 一种业务数据的下行传输方法及分组数据网关
TWI594588B (zh) 無線終端機裝置及其控制方法
US9319266B2 (en) Method and apparatus for managing diameter routing
US11871282B2 (en) Method for preserving a data transmission rate of a terminal in a communications network
US11956328B1 (en) Avoiding stuck subscriber sessions on a disaggregated broadband network gateway
JP4893464B2 (ja) コネクション強制解放装置、コネクション強制解放方法及びコネクション強制解放プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160915

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170627

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170710

R150 Certificate of patent or registration of utility model

Ref document number: 6183373

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150