(57)【要約】  イベント通知サービスにおいて、端末との接続を継続するための処理負荷を時間的に分散することができ、メッセージ配信のリアルタイム性を維持することができる配信装置、通信システム、負荷分散方法および負荷分散プログラムを提供する。配信すべきデータがない場合に自装置と接続された各端末に、自装置と当該各端末との接続を維持するための接続継続信号を送信する通信部１１と、通信部１１が接続継続信号を送信する期間を複数の時間区間に分割し、各端末に対する接続継続信号の間隔を示す接続継続信号間隔情報をもとに時間区間ごとに接続継続信号の送信予定数を算出し、送信予定数が予め定められた閾値を超えている場合には、通信部１１に、閾値を超えた分の接続継続信号を当該時間区間よりも前の時間区間で送信させる送信時刻決定部１２とを備える。
2014068879.tif 000002
【特許請求の範囲】
【請求項１】
配信すべきデータがない場合に自装置と接続された各端末に、自装置と当該各端末との接続を維持するための接続継続信号を送信する通信部と、
前記通信部が接続継続信号を送信する期間を複数の時間区間に分割し、各端末に対する接続継続信号の間隔を示す接続継続信号間隔情報をもとに時間区間ごとに接続継続信号の送信予定数を算出し、前記送信予定数が予め定められた閾値を超えている場合には、前記通信部に、前記閾値を超えた分の接続継続信号を当該時間区間より前の時間区間で送信させる送信時刻決定部とを備えた
ことを特徴とする配信装置。
【請求項２】
送信時刻決定部は、各端末から受信した接続継続信号間隔情報をもとに、端末ごとの接続継続信号の送信予定時刻を算出し、算出した送信予定時刻をもとに時間区間ごとの接続継続信号の送信予定数を算出する
請求項１に記載の配信装置。
【請求項３】
送信時刻決定部は、接続継続信号の送信予定数が閾値を超えている時間区間がある場合には、前記閾値を超えた分の接続継続信号が当該時間区間より前の時間区間で送信されるように当該接続継続信号の送信予定時刻を更新し、
通信部は、前記送信予定時刻にもとづいて接続継続信号を送信する
請求項２に記載の配信装置。
【請求項４】
送信時刻決定部は、接続継続信号の送信予定数が閾値を超えている時間区間がある場合には、当該時間区間に送信予定である接続継続信号のうち、送信間隔が長い接続継続信号を優先的に送信予定時刻の更新対象とする
請求項３に記載の配信装置。
【請求項５】
送信時刻決定部は、接続継続信号の送信予定数が閾値を超えている時間区間がある場合には、当該時間区間に送信予定である接続継続信号のうち、モバイル網を利用しない端末を送信先とする接続継続信号を優先的に送信予定時刻の更新対象とする
請求項３に記載の配信装置。
【請求項６】
送信時刻決定部は、自装置と接続された各端末が接続継続信号を送信する場合には、各端末から接続継続信号を受信する期間を複数の時間区間に分割し、各端末から通知された接続継続信号の送信時刻をもとに時間区間ごとに接続継続信号の受信予定数を算出し、前記受信予定数が予め定められた閾値を超えている場合には、通信部に、前記閾値を超えた分の接続継続信号の送信元の端末に対して当該時間区間より前の時間区間に接続継続信号を送信させる
請求項１から請求項５のうちのいずれか１項に記載の配信装置。
【請求項７】
配信装置と前記配信装置と通信可能な複数の端末とを備え、
前記端末は、
前記配信装置と自端末との接続を維持するための接続継続信号の間隔を指定するための接続継続信号間隔情報を前記配信装置に通知する接続継続制御部を含み、
前記配信装置は、
配信すべきデータがない場合に各端末に接続継続信号を送信する通信部と、
前記通信部が接続継続信号を送信する期間を複数の時間区間に分割し、各端末から受信した接続継続信号間隔情報をもとに時間区間ごとに接続継続信号の送信予定数を算出し、前記送信予定数が予め定められた閾値を超えている場合には、前記通信部に、前記閾値を超えた分の接続継続信号を当該時間区間より前の時間区間で送信させる送信時刻決定部とを含む
ことを特徴とする通信システム。
【請求項８】
送信時刻決定部は、各端末から受信した接続継続信号間隔情報をもとに、端末ごとの接続継続信号の送信予定時刻を算出し、算出した送信予定時刻をもとに時間区間ごとの接続継続信号の送信予定数を算出する
請求項７に記載の通信システム。
【請求項９】
配信すべきデータがない場合に自装置と接続された各端末に、自装置と当該各端末との接続を維持するための接続継続信号を送信する配信装置が、接続継続信号を送信する期間を複数の時間区間に分割し、各端末に対する接続継続信号の間隔を示す接続継続信号間隔情報をもとに時間区間ごとに接続継続信号の送信予定数を算出し、前記送信予定数が予め定められた閾値を超えている場合には、前記閾値を超えた分の接続継続信号を当該時間区間より前の時間区間で送信する
ことを特徴とする負荷分散方法。
【請求項１０】
各端末から受信した接続継続信号間隔情報をもとに、端末ごとの接続継続信号の送信予定時刻を算出し、算出した送信予定時刻をもとに時間区間ごとの接続継続信号の送信予定数を算出する
請求項９に記載の負荷分散方法。
【請求項１１】
コンピュータに、
配信すべきデータがない場合に自コンピュータと接続された各端末に、自コンピュータと当該各端末との接続を維持するための接続継続信号を送信する処理と、
接続継続信号を送信する期間を複数の時間区間に分割し、各端末に対する接続継続信号の間隔を示す接続継続信号間隔情報をもとに時間区間ごとに接続継続信号の送信予定数を算出し、前記送信予定数が予め定められた閾値を超えている場合には、前記閾値を超えた分の接続継続信号を当該時間区間より前の時間区間で送信する処理とを実行させる
ための負荷分散プログラム。
【請求項１２】
コンピュータに、各端末から受信した接続継続信号間隔情報をもとに、端末ごとの接続継続信号の送信予定時刻を算出し、算出した送信予定時刻をもとに時間区間ごとの接続継続信号の送信予定数を算出する処理を実行させる
請求項１１に記載の負荷分散プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、イベント通知サービスをユーザに提供するための配信装置、通信システム、負荷分散方法および負荷分散プログラムに関する。
【背景技術】
【０００２】
ＶｏＩＰ（Ｖｏｉｃｅ  ｏｖｅｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）の着信通知やＳＮＳ（Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋｉｎｇ  Ｓｅｒｖｉｃｅ）の更新通知など、サーバ装置から端末に対してＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワークを通して能動的にイベントを通知するイベント通知サービスがある。イベント通知サービスにおけるサーバ装置から端末への通知は、プッシュ通知（Ｐｕｓｈ  Ｎｏｔｉｆｉｃａｔｉｏｎ）またはプッシュメッセージと呼ばれる。プッシュメッセージを送信するサーバ装置（以下、プッシュサーバという。）は、ＶｏＩＰの着信通知、ＳＮＳの更新通知、チャットメッセージ配信、クラウドストレージの更新通知などの通知要求をサービス事業者サーバ（以下、アプリケーションサーバという。）から受け取る。アプリケーションサーバは、ＳＮＳ管理者等のサービス事業者が使用するサーバ装置である。【０００３】
サービス事業者は、アプリケーションサーバを使用して、自身が提供するアプリケーションソフトウェア（以下、単にアプリケーションという。）宛てのメッセージ配信をプッシュサーバに要求する。サービス事業者は、予め、サービスを利用するためのアプリケーションをユーザに提供する。そして、ユーザは、サービス事業者から提供されたアプリケーションを端末上で動作させる。【０００４】
プッシュサーバは、メッセージ配信要求に従って端末上で動作するソフトウェア（以下、プッシュクライアントという。）に対してプッシュメッセージを送信する。プッシュクライアントは、受信したメッセージを宛先のアプリケーションに渡す。アプリケーションは、プッシュクライアントから受け取ったメッセージの内容に応じた処理を行う。例えば、アプリケーションは、ユーザに情報を通知したり、コンテンツサーバと通信してコンテンツサーバから更新されたコンテンツを取得したりする。【０００５】
端末は、モバイル網や無線ＬＡＮなど様々なネットワークを利用する。端末が、利用するネットワークによって、端末がＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ）配下となる場合がある。つまり、プッシュサーバ・端末間にＮＡＴ機能を備えたルータが設置される場合がある。【０００６】
ＮＡＴ機能を備えたルータは、ＮＡＴ変換テーブルを用いて端末のグローバルアドレスとプライベートアドレスとを変換する。ＮＡＴ変換テーブルは、端末のＩＰアドレスおよびポートと、ルータのポートとを対応付けた情報である。図８は、ＮＡＴ変換テーブルの一例を示す説明図である。図８に示す「アドレス」は、端末のＩＰアドレスを表す。図９は、プッシュサーバから端末へルータを介してパケットが転送される様子を示す説明図である。【０００７】
図９に示す端末７００は、ＮＡＴ機能を備えたルータ８００を介してプッシュサーバ６００と接続されている。つまり、端末７００は、ＮＡＴ配下に配置されている。この状態で、例えば、端末７００上で動作するプッシュクライアントがルータを介してインターネット上のプッシュサーバにＴＣＰ接続すると、ルータ８００はＮＡＴ変換テーブルを更新する。具体的には、ルータ８００は、当該端末のプライベートアドレスおよび当該プッシュクライアントが使用するポート番号をＮＡＴ変換テーブルに記憶する。ここでは、プライベートアドレスが「１９２．１６８．０．２」であって、ポート番号が「１１１１１」であるとする。また、ルータのグローバルアドレスが「２３．４２．６４．１６８」であるとする。【０００８】
ルータ８００は、端末７００から受信したパケットをプッシュサーバ６００に転送するときに、送信元アドレスを自装置のグローバルアドレスに変換する。従って、プッシュサーバ６００は、端末７００のプライベートアドレスではなくルータ８００のグローバルアドレスを送信元アドレスとして認識する。そのため、プッシュサーバ６００は端末７００にパケットを送信するときには、ルータ８００のグローバルアドレス宛てにパケットを送信する。ルータ８００は、プッシュサーバ６００からパケットを受信すると、ＮＡＴ変換テーブルをもとに、宛先アドレスを端末７００のプライベートアドレスに変換して、当該パケットを端末７００に転送する。【０００９】
ＮＡＴ変換テーブルが記憶する端末のＩＰアドレスおよびポート番号は、一定時間通信がない場合、タイムアウトによりＮＡＴ変換テーブルから削除される。以後、ルータは、端末宛てにプッシュサーバから受信したパケットの宛先アドレスを、端末のプライベートアドレスに変換できなくなる。そのため、プッシュサーバから送信されたパケットは端末に到達しなくなる。従って、プッシュサーバ・端末間のＴＣＰ接続を正常に維持するためには、ＮＡＴ変換テーブルのタイムアウトを発生させないように、プッシュサーバと端末とが定期的に通信を行う必要がある。接続の維持のため、プッシュサーバと端末との間で定期的に送受信される信号をキープアライブ（ＫｅｅｐＡｌｉｖｅ）信号（以下、接続継続信号ともいう。）という。【００１０】
端末は、３Ｇ回線やＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）などのモバイル網を利用するとき、電力を節約するために通信状態に応じて無線状態を切り替える。例えば、端末は、通信状態に応じて、無線状態をスタンバイ状態にしたりアクティブ状態にしたりする。無線状態の切り替えの際、端末は、モバイル網との間で無線状態を切り替えるための制御信号の送受信を行う。端末上で動作するアプリケーションなどが定期的に通信を発生させる場合、端末の無線状態は、スタンバイ状態とアクティブ状態とを交互に繰り返すことになり、モバイル網に多数の制御信号が流れ、モバイル網で輻輳が発生する。【００１１】
従って、プッシュサーバと多数の端末との間でキープアライブ信号の送受信が定期的に行われた場合には、プッシュサーバにおけるキープアライブ信号に応答する処理負荷が増大するとともに、モバイル網における制御信号の輻輳がより発生しやすくなる。【００１２】
図１０は、キープアライブ信号の送信周期を示す説明図である。ルータが保持するＮＡＴ変換テーブルは、ルータによって様々である。例えば、ＮＡＴ変換テーブルのタイムアウト時間はルータごとに異なる。従って、端末に対するキープアライブ信号の送信周期は、当該端末に接続されるルータに応じて様々な値が設定されうる。図１０（ａ）は、プッシュサーバから各端末に送信されるキープアライブ信号の送信周期を表す波形である。図１０（ｂ）は、図１０（ａ）に示す端末ごとの波形を重ね合わせた波形である。図１０（ａ）に示すように、各端末に対するキープアライブ信号の送信周期が異なる場合、各端末に対するキープアライブ信号の送信時期が集中する瞬間（図１０に示す点線で囲われた箇所）がある。そのとき、プッシュサーバの負荷が高くなる可能性がある。【００１３】
図１１は、ネットワーク障害回復時のキープアライブ信号数の増減の様子を示す説明図である。ネットワーク障害などにより、プッシュサーバと各端末との接続が途切れる場合がある。その場合、ネットワーク障害が回復したときに、プッシュサーバと各端末との再接続が一斉に行われる。その後、各端末が通信を開始するまで、プッシュサーバと各端末との間で定期的にキープアライブ信号の送受信が行われる。その間、図１１に示すように、各端末に対するキープアライブ信号の送信時期が集中する瞬間（図１１に示す点線で囲われた箇所）が定期的に発生する。従って、プッシュサーバの負荷が定期的に高くなる可能性がある。【００１４】
プッシュサーバが高負荷状態になると、プッシュメッセージの単位時間当たりの配信可能数が減少する。それにより、メッセージ配信のリアルタイム性が損なわれたり、呼損率が増大したりする可能性がある。【００１５】
ＬＡＮとインターネットとが接続されたネットワーク環境において、インターネット側の端末からプライベートＩＰアドレスが割り当てられたＬＡＮ内の機器に対する接続を、所望のタイミングで容易に行うことを可能とする通信システムがある（例えば、特許文献１参照。）。特許文献１に記載された通信システムでは、インターネット側に設置されたサーバ装置が、端末と機器との間の通信を転送する。ＬＡＮ内の機器は、端末と通信を行っていない場合でも、サーバ装置との接続を維持するためにキープアライブパケットをサーバ装置に対して送信する。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】特開２００４−１２０５４７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１７】
特許文献１に記載された通信システムでは、サーバ装置が、キープアライブパケットの送信周期を決定し、決定した送信周期を機器に設定する。従って、サーバ装置は、キープアライブパケットの送信周期の長短を、自装置の受信負荷などに応じて変更することができる。しかし、サーバ装置は各端末のキープアライブパケットの送信周期のみを制御するため、多数の端末からキープアライブパケットが同時に送信される可能性がある。その場合、サーバ装置が高負荷状態になり、端末と機器間の通信のリアルタイム性が損なわれる可能性がある。【００１８】
そこで、本発明は、イベント通知サービスにおいて、端末との接続を継続するための処理負荷を時間的に分散することができ、メッセージ配信のリアルタイム性を維持することができる配信装置、通信システム、負荷分散方法および負荷分散プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１９】
本発明による配信装置は、配信すべきデータがない場合に自装置と接続された各端末に、自装置と当該各端末との接続を維持するための接続継続信号を送信する通信部と、通信部が接続継続信号を送信する期間を複数の時間区間に分割し、各端末に対する接続継続信号の間隔を示す接続継続信号間隔情報をもとに時間区間ごとに接続継続信号の送信予定数を算出し、送信予定数が予め定められた閾値を超えている場合には、通信部に、閾値を超えた分の接続継続信号を当該時間区間より前の時間区間で送信させる送信時刻決定部とを備えたことを特徴とする。【００２０】
本発明による通信システムは、配信装置と配信装置と通信可能な複数の端末とを備え、端末は、配信装置と自端末との接続を維持するための接続継続信号の間隔を指定するための接続継続信号間隔情報を配信装置に通知する接続継続制御部を含み、配信装置は、配信すべきデータがない場合に各端末に接続継続信号を送信する通信部と、通信部が接続継続信号を送信する期間を複数の時間区間に分割し、各端末から受信した接続継続信号間隔情報をもとに時間区間ごとに接続継続信号の送信予定数を算出し、送信予定数が予め定められた閾値を超えている場合には、通信部に、閾値を超えた分の接続継続信号を当該時間区間より前の時間区間で送信させる送信時刻決定部とを含むことを特徴とする。【００２１】
本発明による負荷分散方法は、配信すべきデータがない場合に自装置と接続された各端末に、自装置と当該各端末との接続を維持するための接続継続信号を送信する配信装置が、接続継続信号を送信する期間を複数の時間区間に分割し、各端末に対する接続継続信号の間隔を示す接続継続信号間隔情報をもとに時間区間ごとに接続継続信号の送信予定数を算出し、送信予定数が予め定められた閾値を超えている場合には、閾値を超えた分の接続継続信号を当該時間区間より前の時間区間で送信することを特徴とする。【００２２】
本発明による負荷分散プログラムは、コンピュータに、配信すべきデータがない場合に自コンピュータと接続された各端末に、自コンピュータと当該各端末との接続を維持するための接続継続信号を送信する処理と、接続継続信号を送信する期間を複数の時間区間に分割し、各端末に対する接続継続信号の間隔を示す接続継続信号間隔情報をもとに時間区間ごとに接続継続信号の送信予定数を算出し、送信予定数が予め定められた閾値を超えている場合には、閾値を超えた分の接続継続信号を当該時間区間より前の時間区間で送信する処理とを実行させることを特徴とする。
【発明の効果】
【００２３】
本発明によれば、イベント通知サービスにおいて、プッシュサーバと端末との接続を継続するための処理負荷を時間的に分散することができ、メッセージ配信のリアルタイム性を維持することができる。
【図面の簡単な説明】
【００２４】
【図１】本発明による通信システムの第１の実施形態の構成を示すブロック図である。
【図２】キープアライブ信号送信予定数の調整処理を示すフローチャートである。
【図３】ステップＳ２０２における接続継続信号送信時刻決定部の動作を示すフローチャートである。
【図４】キープアライブ信号送信予定数が調整される様子を示す説明図である。
【図５】キープアライブ信号受信予定数の調整処理を示すフローチャートである。
【図６】本発明による配信装置の最小構成を示すブロック図である。
【図７】本発明による通信システムの最小構成を示すブロック図である。
【図８】ＮＡＴ変換テーブルの一例を示す説明図である。
【図９】プッシュサーバから端末へルータを介してパケットが転送される様子を示す説明図である。
【図１０】キープアライブ信号の送信周期を示す説明図である。
【図１１】ネットワーク障害回復時のキープアライブ信号数の増減の様子を示す説明図である。
【発明を実施するための形態】
【００２５】
実施形態１．
以下、本発明の第１の実施形態を図面を参照して説明する。
【００２６】
図１は、本発明による通信システムの第１の実施形態の構成を示すブロック図である。
【００２７】
図１に示すように、本発明による通信システム（以下、メッセージ配信システムという。）は、プッシュサーバ１００と、端末２００−１〜２００−ｎと、ルータ３００とを備える。なお、図１には、ルータ３００が１つ例示されているが、ルータはいくつ接続されていてもよい。
【００２８】
プッシュサーバ１００は、メッセージ送信要求受信部１１０と、メッセージキュー１２０と、メッセージ送信部１３０と、接続継続信号送受信部１４０と、接続継続信号送信時刻決定部１５０と、送信予定時刻情報格納部１６０とを含む。
【００２９】
メッセージ送信要求受信部１１０は、プッシュサーバ１００と通信可能なアプリケーションサーバ（図示せず）から、メッセージ送信要求とメッセージ送信要求に対応するメッセージとを受信する。メッセージ送信要求受信部１１０は、メッセージ送信要求に対応するメッセージとしてプッシュメッセージを受信する。
【００３０】
メッセージキュー１２０は、メッセージ送信要求に対応するプッシュメッセージを記憶する。
【００３１】
メッセージ送信部１３０は、端末２００−１〜２００−ｎにプッシュメッセージを送信する。具体的には、メッセージ送信部１３０は、メッセージ送信要求受信部１１０が受信したメッセージ送信要求に応じて、メッセージキュー１２０に格納されたプッシュメッセージを端末２００−１〜２００−ｎに送信する。
【００３２】
接続継続信号送受信部１４０は、端末２００−１〜２００−ｎとの間でキープアライブ信号の送受信処理を行う。
【００３３】
接続継続信号送信時刻決定部１５０は、接続継続信号送受信部１４０が各端末に送信するキープアライブ信号の送信予定時刻を決定する。
【００３４】
送信予定時刻情報格納部１６０は、接続継続信号送信時刻決定部１５０が決定した送信予定時刻を示す情報を記憶する。
【００３５】
なお、メッセージ送信要求受信部１１０、メッセージ送信部１３０、接続継続信号送受信部１４０および接続継続信号送信時刻決定部１５０は、プッシュサーバ１００が備えるＣＰＵ等によって実現される。また、メッセージキュー１２０、送信予定時刻情報格納部１６０は、プッシュサーバ１００が備えるメモリ等の記憶装置によって実現される。
【００３６】
端末２００−１〜２００−ｎは、例えば、携帯電話機等の通信端末である。
【００３７】
端末２００−１は、メッセージ受信部２１０と、メッセージ通知部２２０と、接続継続制御部２３０とを含む。メッセージ受信部２１０と、メッセージ通知部２２０と、接続継続制御部２３０は、プッシュクライアントとして端末上で動作する。なお、端末２００−２〜２００−ｎの構成は、端末２００−１と同様であるため説明を省略する。
【００３８】
メッセージ受信部２１０は、プッシュサーバ１００から配信されるプッシュメッセージを受信する。
【００３９】
メッセージ通知部２２０は、プッシュメッセージを端末上で動作するアプリケーションに渡す。
【００４０】
接続継続制御部２３０は、プッシュサーバ１００との間でキープアライブ信号の送受信を行う。
【００４１】
なお、メッセージ受信部２１０、メッセージ通知部２２０および接続継続制御部２３０は、端末２００−１が備えるＣＰＵ等によって実現される。
【００４２】
ルータ３００は、ＮＡＴ機能を備えたルータ装置である。ルータ３００は、ＮＡＴ機能を用いて、プッシュサーバ１００と端末２００−１〜２００−ｎとの通信を中継する。
【００４３】
ルータ３００は、パケット転送部３１０と、ＮＡＴ変換テーブル３２０とを含む。
【００４４】
パケット転送部３１０は、プッシュサーバ１００と端末２００−１〜２００−ｎとの間で送受信されるパケットを、ＮＡＴ変換テーブル３２０が記憶する情報にもとづいて転送する。
【００４５】
ＮＡＴ変換テーブル３２０は、端末のグローバルアドレスとプライベートアドレスとの対応を示す情報である。
【００４６】
パケット転送部３１０は、ルータ３００が備えるＣＰＵ等によって実現される。ＮＡＴ変換テーブル３２０は、ルータ３００が備えるメモリ等の記憶装置によって実現される。
【００４７】
次に、本実施形態の動作を説明する。
【００４８】
まず、プッシュサーバ１００と各端末とがＨＴＴＰロングポーリング方式（以下、単にロングポーリングという。）を利用してキープアライブ信号の送受信を行うときのプッシュサーバ１００の動作を説明する。
【００４９】
ロングポーリングは、プッシュサーバが、端末からのＨＴＴＰ要求に対して、端末に配信するプッシュメッセージが存在する場合は、プッシュメッセージを含むＨＴＴＰ応答を即座に送信し、端末に配信するプッシュメッセージが存在しない場合は、端末に配信するプッシュメッセージが発生するまで応答を保留する方式である。ロングポーリングにおいては、ＨＴＴＰ応答とそれに続くＨＴＴP応答をキープアライブ信号として利用する。ロングポーリングのＨＴＴＰ要求を受け付けたプッシュサーバは、要求元の端末が予め指定した時間になったときに、キープアライブ信号としてプッシュメッセージを含まないＨＴＴＰ応答を当該端末に対して送信する。ＨＴＴＰ応答を受信した端末は、再度ロングポーリングのＨＴＴＰ要求を送信する。
【００５０】
図２は、キープアライブ信号送信予定数の調整処理を示すフローチャートである。
【００５１】
端末２００−１〜２００−ｎの接続継続制御部２３０は、予め、プッシュサーバ１００に対してキープアライブ信号の送信間隔を指定するための情報（以下、キープアライブ間隔情報または接続継続信号間隔情報という。）を送信する。プッシュサーバ１００の接続継続信号送受信部１４０は、各端末から受信したキープアライブ間隔情報を保持する。なお、各端末のキープアライブ間隔情報は、予めプッシュサーバ１００が保持していてもよい。例えば、ユーザが予め各端末のキープアライブ間隔情報をプッシュサーバ１００の記憶部（図示せず）に格納させてもよい。
【００５２】
プッシュサーバ１００の接続継続信号送信時刻決定部１５０は、接続継続信号送受信部１４０が保持する端末ごとのキープアライブ間隔情報をもとに、キープアライブ信号送信予定数の時間分布を作成する（ステップＳ２０１）。
【００５３】
ここで、ステップＳ２０１におけるキープアライブ信号送信予定数の時間分布の作成処理を説明する。
【００５４】
接続継続信号送信時刻決定部１５０は、接続継続信号送受信部１４０が接続継続信号を送信する期間について、キープアライブ信号送信予定数の時間分布を作成する。接続継続信号送信時刻決定部１５０は、例えば５分単位で時間分布を作成する。時間分布の作成単位となる期間（以下、分布作成期間という。）は、例えば、予めユーザが設定してもよいし、接続継続信号送信時刻決定部１５０がプッシュサーバ１００の負荷に合わせて、動的に設定するようにしてもよい。
【００５５】
接続継続信号送信時刻決定部１５０は、分布作成期間を時間区間Δｔで区切る。Δｔは、例えば、予めユーザが設定する。
【００５６】
接続継続信号送信時刻決定部１５０は、接続継続信号送受信部１４０が保持する端末ごとのキープアライブ間隔情報をもとに、各端末に対するキープアライブ信号の送信予定時刻を算出する。接続継続信号送信時刻決定部１５０は、算出した送信予定時刻を送信予定時刻情報格納部１６０に格納する。
【００５７】
接続継続信号送信時刻決定部１５０は、算出した送信予定時刻をもとに、Δｔで区切られた区間ｋ（ｋ＝１，２，…）ごとに、キープアライブ信号送信予定数を算出する。
【００５８】
ステップＳ２０１の処理を実行した後、接続継続信号送信時刻決定部１５０は、区間ごとに、キープアライブ信号送信予定数の調整を行う（ステップＳ２０２）。
【００５９】
ここで、ステップＳ２０２における接続継続信号送信時刻決定部１５０の動作を説明する。図３は、ステップＳ２０２における接続継続信号送信時刻決定部１５０の動作を示すフローチャートである。
【００６０】
接続継続信号送信時刻決定部１５０は、区間ｋにおけるキープアライブ信号送信予定数Ｎｋと、１区間当たりのキープアライブ信号送信予定数の閾値Ｔとを比較する（ステップＳ３０１）。なお、閾値Ｔは予めユーザ等が設定してもよいし、接続継続信号送信時刻決定部１５０がプッシュサーバ１００の負荷に合わせて動的に決定するようにしてもよい。
【００６１】
接続継続信号送信時刻決定部１５０は、図３に示すように、区間ｋのキープアライブ信号送信予定数Ｎｋが閾値Ｔ以下の場合は（ステップＳ３０１のＮｏ）、当該区間のキープアライブ信号送信予定数の調整を行わない。区間ｋのキープアライブ信号送信予定数Ｎｋが閾値Ｔを超える場合は（ステップＳ３０１のＹｅｓ）、閾値Ｔを超えた分（Ｎｋ−Ｔ）のキープアライブ信号が区間ｋより前の区間で送信されるように、キープアライブ信号送信予定数を調整する。本実施形態では、接続継続信号送信時刻決定部１５０は、閾値Ｔを超えた分（Ｎｋ−Ｔ）のキープアライブ信号が区間ｋより１つ前の区間ｋ−１で送信されるように、キープアライブ信号送信予定数を調整する。図４は、キープアライブ信号送信予定数が調整される様子を示す説明図である。図４に示すグラフは、区間ごとのキープアライブ信号送信予定数を表す。グラフ中の網かけ部分は、区間ｋにおいて閾値を超えたキープアライブ信号を表す。
【００６２】
具体的には、まず、接続継続信号送信時刻決定部１５０は、キープアライブ信号の送信予定時刻が区間ｋに含まれるキープアライブ信号を特定し、その中からＮｋ−Ｔ個のキープアライブ信号を選択する（ステップＳ３０２）。接続継続信号送信時刻決定部１５０は、選択したＮｋ−Ｔ個のキープアライブ信号の送信が区間ｋ−１で実行されるように、当該キープアライブ信号の送信予定時刻を前にずらす（ステップＳ３０３）。つまり、接続継続信号送信時刻決定部１５０は、送信予定時刻情報格納部１６０に格納されたキープアライブ信号の送信予定時刻を１区間分前の時刻に更新する。
【００６３】
接続継続信号送信時刻決定部１５０は、分布作成期間内の全区間についてキープアライブ信号送信予定数の調整処理が完了したかを確認する（ステップＳ２０３）。全区間について調整処理が完了していない場合は（ステップＳ２０３のＮｏ）、接続継続信号送信時刻決定部１５０はステップＳ２０２の処理に戻る。全区間について調整処理が完了した場合は（ステップＳ２０３のＹｅｓ）、接続継続信号送信時刻決定部１５０は当該分布作成期間に対する処理を終了する。
【００６４】
次に、プッシュサーバ１００と各端末とがＴＣＰ独自通信を利用してキープアライブ信号の送受信を行うときのプッシュサーバ１００の動作を説明する。
【００６５】
ＴＣＰ独自通信は、ユーザ等が独自に開発したＴＣＰ上における通信方式である。ＴＣＰ独自通信では、プッシュサーバからキープアライブ信号が送信される場合と、端末からキープアライブ信号が送信される場合の両方が想定される。ＴＣＰ独自通信では、キープアライブ信号を受信した側が送信した側に応答を返す。ＴＣＰ独自通信におけるキープアライブ信号として、例えば「ＰＩＮＧ」という文字列を含むメッセージ（ＰＩＮＧメッセージ）を送信する。その場合、ＰＩＮＧメッセージを受信した側は応答として「ＰＯＮＧ」という文字列を含むメッセージを返す。なお、ＴＣＰ独自通信におけるキープアライブ信号は、その他のメッセージであってもよい。
【００６６】
プッシュサーバからキープアライブ信号が送信されるＴＣＰ独自通信におけるキープアライブ信号送信予定数の調整処理は、ロングポーリングを利用した場合と同様であるため、説明を省略する。
【００６７】
端末からキープアライブ信号が送信されるＴＣＰ独自通信では、接続継続信号送信時刻決定部１５０は、キープアライブ信号送信予定数の時間分布の代わりに、キープアライブ信号受信予定数の時間分布を作成する。図５は、キープアライブ信号受信予定数の調整処理を示すフローチャートである。
【００６８】
端末からキープアライブ信号が送信されるＴＣＰ独自通信では、端末２００−１〜２００−ｎの接続継続制御部２３０がキープアライブ信号を送信する際に、プッシュサーバ１００に対してキープアライブ信号の次回送信時刻を通知する。プッシュサーバ１００の接続継続信号送受信部１４０は、各端末から受信した次回送信時刻を保持する。
【００６９】
プッシュサーバ１００の接続継続信号送信時刻決定部１５０は、接続継続信号送受信部１４０が保持する端末ごとのキープアライブ信号の次回送信時刻をもとに、キープアライブ信号受信予定数の時間分布を作成する（ステップＳ５０１）。接続継続信号送信時刻決定部１５０は、ステップＳ２０１における処理と同様に、分布作成期間について時間分布を作成する。
【００７０】
ステップＳ５０１において、まず、接続継続信号送信時刻決定部１５０は、接続継続信号送受信部１４０が保持する端末ごとの次回送信時刻をもとに、各端末のキープアライブ信号受信予定時刻を算出する。次に、接続継続信号送信時刻決定部１５０は、算出したキープアライブ信号受信予定時刻をもとに、分布作成期間をΔｔで区切った区間ｋごとに、キープアライブ信号受信予定数を算出する。
【００７１】
ステップＳ５０１の処理を実行した後、接続継続信号送信時刻決定部１５０は、区間ごとに、キープアライブ信号受信予定数の調整を行う（ステップＳ５０２）。
【００７２】
ステップＳ５０２において、接続継続信号送信時刻決定部１５０は、区間ｋにおけるキープアライブ信号受信予定数と、１区間当たりのキープアライブ信号受信予定数の閾値とを比較する。接続継続信号送信時刻決定部１５０は、区間ｋにおけるキープアライブ信号の受信予定数が閾値を超えている場合には、閾値を超えた分のキープアライブ信号を区間ｋで受信しないように、キープアライブ信号受信予定数を調整する。
【００７３】
具体的には、まず、接続継続信号送信時刻決定部１５０は、キープアライブ信号受信予定時刻が区間ｋに含まれるキープアライブ信号を特定し、その中から閾値を超えた分のキープアライブ信号を選択する。次に、接続継続信号送信時刻決定部１５０は、閾値を超えた分のキープアライブ信号の送信元となる端末を特定する。そして、接続継続信号送信時刻決定部１５０は、特定した端末に対して区間ｋより前の区間でキープアライブ信号が送信されるように、当該キープアライブ信号の送信予定時刻を設定し、設定した送信予定時刻を送信予定時刻情報格納部１６０に格納する。本実施形態では、接続継続信号送信時刻決定部１５０は、区間ｋより１つ前の区間ｋ−１でキープアライブ信号が送信されるように、キープアライブ信号の送信予定時刻を設定する。
【００７４】
それにより、区間ｋより１つ前の区間ｋ−１において、接続継続信号送受信部１４０から接続継続信号送信時刻決定部１５０が特定した端末に対してキープアライブ信号が送信される。このように、閾値を超えた分のキープアライブ信号の送信元となる端末に、受信予定時刻よりも前にプッシュサーバ側からキープアライブ信号を送信することにより、当該端末のキープアライブ信号の送信を抑止することができる。従って、閾値を超えた分のキープアライブ信号を区間ｋでプッシュサーバ１００が受信しないようにすることができる。
【００７５】
接続継続信号送信時刻決定部１５０は、分布作成期間内の全区間についてキープアライブ信号受信予定数の調整処理が完了したかを確認する（ステップＳ５０３）。全区間について調整処理が完了していない場合は（ステップＳ５０３のＮｏ）、接続継続信号送信時刻決定部１５０はステップＳ５０２の処理に戻る。全区間について調整処理が完了した場合は（ステップＳ５０３のＹｅｓ）、接続継続信号送信時刻決定部１５０は当該分布作成期間に対する処理を終了する。
【００７６】
以上に説明したように、本実施形態では、ロングポーリングを利用してキープアライブ信号の送受信を行う場合は、各端末に対するキープアライブ信号の送信時期が集中しないように、キープアライブ信号の送信予定数を調整する。従って、プッシュサーバにおける端末との接続を継続するための処理負荷を時間的に分散することができ、メッセージ配信のリアルタイム性を維持することができる。また、プッシュサーバの呼損率の増大を回避することができる。
【００７７】
また、端末からキープアライブ信号が送信されるＴＣＰ独自通信を利用してキープアライブ信号の送受信を行う場合は、各端末から送信されるキープアライブ信号の受信時期が集中しないように、キープアライブ信号の受信予定数を調整する。それにより、ロングポーリングを利用する場合と同様の効果を得ることができる。
【００７８】
なお、本実施形態では、ロングポーリングまたはＴＣＰ独自通信を利用して、キープアライブ信号の送受信を行う場合について説明したが、それ以外の方法を利用してキープアライブ信号の送受信を行うようにしてもよい。
【００７９】
また、本実施形態では、接続継続信号送信時刻決定部１５０が、一定時間（５分）単位で時間分布を作成する場合を例にしたが、予め定められた数のキープアライブ信号が送信されるごとに時間分布を作成するようにしてもよい。
【００８０】
また、本発明による通信システムをイベント通知サービス以外のサービスに適用してもよい。
【００８１】
実施形態２．
以下、本発明の第２の実施形態を説明する。
【００８２】
メッセージ配信システムの第２の実施形態の構成および動作は、第１の実施形態の構成および動作と同様であるため説明を省略する。
【００８３】
ただし、接続継続信号送信時刻決定部１５０は、ロングポーリングを利用してキープアライブ信号の送受信を行う場合に、キープアライブ信号送信予定数が閾値Ｔを超えた区間について、どのキープアライブ信号の送信時刻を前にずらすかを、予め設定した優先度にもとづいて決定する。
【００８４】
具体的には、接続継続信号送信時刻決定部１５０は、ステップＳ３０２において、キープアライブ信号の送信予定時刻が区間ｋに含まれるキープアライブ信号の中からＮｋ−Ｔ個のキープアライブ信号を選択するときに、送信間隔が長いキープアライブ信号を優先的に選択する。
【００８５】
本実施形態によれば、送信予定時刻を前にずらすキープアライブ信号を選択するときに、送信間隔が長いキープアライブ信号を優先して選択するので、ランダムに選択する場合よりも、全キープアライブ信号の送信間隔の平均の変動率を小さくすることが出来る。従って、キープアライブ信号数の増加を抑えることができる。
【００８６】
例えば、Δｔが１秒であるときにキープアライブ信号の送信予定時刻を前にずらした場合、１０秒間隔の送信間隔は９秒間隔になる。また、３００秒間隔の送信間隔は２９９秒となる。前者は信号数が１０％増加する可能性があるのに対して、後者は０．３％である。よって、キープアライブ信号の送信間隔が長い端末を優先的に選択することにより、キープアライブ信号数の増加を抑えることができる。
【００８７】
なお、端末からキープアライブ信号が送信されるＴＣＰ独自通信を利用してキープアライブ信号の送受信を行う場合には、キープアライブ信号受信予定数について同様の処理を行えばよい。つまり、キープアライブ信号の受信予定数が閾値を超えている時間区間について、当該時間区間に受信予定であるキープアライブ信号の中から、閾値を超えた分のキープアライブ信号を選択するときに、受信間隔が長いキープアライブ信号を優先的に選択するようにすればよい。それにより、受信間隔が長いキープアライブ信号の送信元の端末に優先的にキープアライブ信号を送信することができる。
【００８８】
実施形態３．
以下、本発明の第３の実施形態を説明する。
【００８９】
メッセージ配信システムの第３の実施形態の構成および動作は、第１の実施形態の構成および動作と同様であるため説明を省略する。
【００９０】
ただし、接続継続信号送信時刻決定部１５０は、ロングポーリングを利用してキープアライブ信号の送受信を行う場合に、第２の実施形態と同様に、キープアライブ信号送信予定数が閾値Ｔを超えた区間について、どの端末宛てのキープアライブ信号の送信時刻を前にずらすかを、予め設定した優先度にもとづいて決定する。
【００９１】
上述のとおり、端末とプッシュサーバとがキープアライブ信号の送受信を定期的に行うと、端末の無線状態がスタンバイ状態とアクティブ状態とを交互に繰り返すことになり、モバイル網に多数の制御信号が流れ、モバイル網で輻輳が発生する。従って、モバイル網に繋がっている端末のキープアライブ信号の送信間隔が短くなると、より多くの制御信号がモバイル網に流れ、より輻輳が発生しやすくなる。
【００９２】
そこで、接続継続信号送信時刻決定部１５０は、ステップＳ３０２において、キープアライブ信号の送信予定時刻が区間ｋに含まれるキープアライブ信号の中からＮｋ−Ｔ個のキープアライブ信号を選択するときに、モバイル網を利用しない端末、つまり、Ｗｉｆｉ（Ｗｉｒｅｌｅｓｓ  Ｆｉｄｅｌｉｔｙ）（登録商標）などの無線ＬＡＮを介してプッシュサーバ１００に繋がっている端末を送信先とするキープアライブ信号を優先的に選択する。それにより、モバイル網に繋がっている端末に対するキープアライブ信号の送信間隔が短くなることを回避することができる。
【００９３】
本実施形態によれば、送信予定時刻を前にずらすキープアライブ信号を選択するときに、モバイル網を利用しない端末を送信先とするキープアライブ信号を優先して選択するので、ランダムにキープアライブ信号を選択する場合よりも、モバイル網に流れる制御信号の数を抑えることができる。従って、モバイル網における輻輳をより回避しやすくなる。
【００９４】
なお、端末からキープアライブ信号が送信されるＴＣＰ独自通信を利用してキープアライブ信号の送受信を行う場合には、キープアライブ信号受信予定数について同様の処理を行えばよい。つまり、キープアライブ信号の受信予定数が閾値を超えている時間区間について、当該時間区間に受信予定であるキープアライブ信号の中から、閾値を超えた分のキープアライブ信号を選択するときに、モバイル網を利用しない端末を送信先とするキープアライブ信号を優先的に選択するようにすればよい。それにより、モバイル網を利用しない端末に優先的にキープアライブ信号を送信することができる。
【００９５】
図６は、本発明による配信装置の最小構成を示すブロック図である。図７は、本発明による通信システムの最小構成を示すブロック図である。
【００９６】
図６に示すように、配信装置（図１に示すプッシュサーバ１００に相当。）は、配信すべきデータがない場合に自装置と接続された各端末（図１に示す端末２００−１〜２００−ｎに相当。）に、自装置と当該各端末との接続を維持するための接続継続信号を送信する通信部１１（図１に示すプッシュサーバ１１０における接続継続信号送受信部１４０に相当。）と、通信部１１が接続継続信号を送信する期間を複数の時間区間に分割し、各端末に対する接続継続信号の間隔を示す接続継続信号間隔情報をもとに時間区間ごとに接続継続信号の送信予定数を算出し、送信予定数が予め定められた閾値を超えている場合には、通信部１１に、閾値を超えた分の接続継続信号を当該時間区間よりも前の時間区間で送信させる送信時刻決定部１２（図１に示すプッシュサーバ１１０における接続継続信号送信時刻決定部１５０に相当。）とを備える。
【００９７】
そのような構成によれば、配信装置における端末との接続を継続するための処理負荷を時間的に分散することができ、メッセージ配信のリアルタイム性を維持することができる。また、配信装置の呼損率の増大を回避することができる。
【００９８】
上記の実施形態には、以下のような配信装置も開示されている。
【００９９】
（１）送信時刻決定部１２は、各端末から受信した接続継続信号間隔情報をもとに、端末ごとの接続継続信号の送信予定時刻を算出し、算出した送信予定時刻をもとに時間区間ごとの接続継続信号の送信予定数を算出する配信装置。
【０１００】
そのような構成によれば、各端末に対する接続継続信号の送信予定数を各端末から受信した送信予定時刻をもとに算出するので、接続継続信号の送信予定数の時間分布を正確に作成することができる。
【０１０１】
（２）送信時刻決定部１２は、接続継続信号の送信予定数が閾値を超えている時間区間がある場合には、閾値を超えた分の接続継続信号が当該時間区間よりも前の時間区間で送信されるように当該接続継続信号の送信予定時刻を更新し、通信部１１は、送信予定時刻にもとづいて接続継続信号を送信する配信装置。
【０１０２】
そのような構成によれば、送信時刻決定部は、閾値を超えた分の接続継続信号を当該時間区間よりも前の時間区間で確実に通信部に送信させることができる。
【０１０３】
（３）送信時刻決定部１２は、接続継続信号の送信予定数が閾値を超えている時間区間がある場合には、当該時間区間に送信予定である接続継続信号のうち、送信間隔が長い接続継続信号を優先的に送信予定時刻の更新対象とする配信装置。
【０１０４】
そのような構成によれば、送信予定時刻の更新対象とするキープアライブ信号をランダムに選択する場合よりも全キープアライブ信号の送信間隔の平均の変動率を小さくすることが出来る。従って、キープアライブ信号数の増加を抑えることができる。
【０１０５】
（４）送信時刻決定部１２は、接続継続信号の送信予定数が閾値を超えている時間区間がある場合には、当該時間区間に送信予定である接続継続信号のうち、モバイル網を利用しない端末を送信先とする接続継続信号を優先的に送信予定時刻の更新対象とする配信装置。
【０１０６】
そのような構成によれば、送信予定時刻の更新対象とするキープアライブ信号をランダムに選択する場合よりも、モバイル網に流れる制御信号の数を抑えることができる。従って、モバイル網における輻輳をより回避しやすくなる。
【０１０７】
（５）送信時刻決定部１２は、自装置と接続された各端末が接続継続信号を送信する場合には、各端末から接続継続信号を受信する期間を複数の時間区間に分割し、各端末から通知された接続継続信号の送信時刻をもとに時間区間ごとに接続継続信号の受信予定数を算出し、受信予定数が予め定められた閾値を超えている場合には、通信部１１に、閾値を超えた分の接続継続信号の送信元の端末に当該時間区間より前の時間区間に接続継続信号を送信させる配信装置。
【０１０８】
そのような構成によれば、端末からキープアライブ信号が送信されるＴＣＰ独自通信を利用してキープアライブ信号の送受信を行う場合にも、各端末から送信されるキープアライブ信号の受信時期が集中しないように、キープアライブ信号の受信予定数を調整することができる。それにより、ロングポーリングを利用する場合と同様の効果を得ることができる。
【０１０９】
上記の実施形態には、図７に示すような通信システムも開示されている。
【０１１０】
（７）配信装置１０と配信装置１０と通信可能な複数の端末２０−１〜２０−ｎ（図１に示す端末２００−１〜２００−ｎに相当。）とを備え、端末２０−１〜２０−ｎは、配信装置と自端末との接続を維持するための接続継続信号の間隔を指定するための接続継続信号間隔情報を配信装置に通知する接続継続制御部２１（図１に示す端末２００−１における接続継続制御部２３０に相当。）を含み、配信装置１０は、配信すべきデータがない場合に各端末に接続継続信号を送信する通信部１１と、通信部が接続継続信号を送信する期間を複数の時間区間に分割し、各端末から受信した接続継続信号間隔情報をもとに時間区間ごとに接続継続信号の送信予定数を算出し、送信予定数が予め定められた閾値を超えている場合には、通信部に、閾値を超えた分の接続継続信号を当該時間区間よりも前の時間区間で送信させる送信時刻決定部１２とを含む通信システム。
【０１１１】
そのような構成によれば、配信装置における端末との接続を継続するための処理負荷を時間的に分散することができ、メッセージ配信のリアルタイム性を維持することができる。また、配信装置の呼損率の増大を回避することができる。
【０１１２】
（８）送信時刻決定部１２は、各端末から受信した接続継続信号間隔情報をもとに、端末ごとの接続継続信号の送信予定時刻を算出し、算出した送信予定時刻をもとに時間区間ごとの接続継続信号の送信予定数を算出する通信システム。
【０１１３】
そのような構成によれば、各端末に対する接続継続信号の送信予定数を各端末から受信した送信予定時刻をもとに算出するので、接続継続信号の送信予定数の時間分布を正確に作成することができる。
【０１１４】
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下
に限られない。
【０１１５】
（付記１）配信すべきデータがない場合に自装置と接続された各端末に、自装置と当該各端末との接続を維持するための接続継続信号を送信する通信部１１と、通信部が接続継続信号を送信する期間を複数の時間区間に分割し、各端末に対する接続継続信号の間隔を示す接続継続信号間隔情報をもとに時間区間ごとに接続継続信号の送信予定数を算出し、送信予定数が予め定められた閾値を超えている場合には、通信部１１に、閾値を超えた分の接続継続信号を当該時間区間より前の時間区間で送信させる送信時刻決定部１２とを含む配信装置。
【０１１６】
（付記２）送信時刻決定部１２は、各端末から受信した接続継続信号間隔情報をもとに、端末ごとの接続継続信号の送信予定時刻を算出し、算出した送信予定時刻をもとに時間区間ごとの接続継続信号の送信予定数を算出する付記１に記載の配信装置。
【０１１７】
（付記３）送信時刻決定部１２は、接続継続信号の送信予定数が閾値を超えている時間区間がある場合には、閾値を超えた分の接続継続信号が当該時間区間より前の時間区間で送信されるように当該接続継続信号の送信予定時刻を更新し、通信部１１は、送信予定時刻にもとづいて接続継続信号を送信する付記２に記載の配信装置。
【０１１８】
（付記４）送信時刻決定部１２は、接続継続信号の送信予定数が閾値を超えている時間区間がある場合には、当該時間区間に送信予定である接続継続信号のうち、送信間隔が長い接続継続信号を優先的に送信予定時刻の更新対象とする付記３に記載の配信装置。
【０１１９】
（付記５）送信時刻決定部１２は、接続継続信号の送信予定数が閾値を超えている時間区間がある場合には、当該時間区間に送信予定である接続継続信号のうち、モバイル網を利用しない端末を送信先とする接続継続信号を優先的に送信予定時刻の更新対象とする付記３に記載の配信装置。
【０１２０】
（付記６）送信時刻決定部１２は、自装置と接続された各端末が接続継続信号を送信する場合には、各端末から接続継続信号を受信する期間を複数の時間区間に分割し、各端末から通知された接続継続信号の送信時刻をもとに時間区間ごとに接続継続信号の受信予定数を算出し、受信予定数が予め定められた閾値を超えている場合には、通信部１１に、閾値を超えた分の接続継続信号の送信元の端末に当該時間区間より前の時間区間に接続継続信号を送信させる付記１から付記５のうちのいずれか１つに記載の配信装置。
【０１２１】
（付記７）送信時刻決定部１２は、接続継続信号の受信予定数が閾値を超えている時間区間がある場合には、当該時間区間に受信予定である接続継続信号の送信元の端末のうち、受信間隔が長い接続継続信号の送信元の端末を優先的に接続継続信号の送信対象とする付記６に記載の配信装置。
【０１２２】
そのような構成によれば、端末からキープアライブ信号が送信されるＴＣＰ独自通信を利用してキープアライブ信号の送受信を行う場合に、キープアライブ信号の送信対象とする端末をランダムに選択する場合よりも、全キープアライブ信号の送信間隔の平均の変動率を小さくすることが出来る。従って、キープアライブ信号数の増加を抑えることができる。
【０１２３】
（付記８）送信時刻決定部１２は、接続継続信号の受信予定数が閾値を超えている時間区間がある場合には、当該時間区間に受信予定である接続継続信号の送信元の端末のうち、モバイル網を利用しない端末を優先的に接続継続信号の送信対象とする付記６に記載の配信装置。
【０１２４】
そのような構成によれば、端末からキープアライブ信号が送信されるＴＣＰ独自通信を利用してキープアライブ信号の送受信を行う場合に、キープアライブ信号の送信対象とする端末をランダムに選択する場合よりも、モバイル網に流れる制御信号の数を抑えることができる。従って、モバイル網における輻輳をより回避しやすくなる。
【０１２５】
（付記９）配信装置１０と配信装置１０と通信可能な複数の端末２０−１〜２０−ｎとを備え、端末２０−１〜２０−ｎは、配信装置と自端末との接続を維持するため接続継続信号の間隔を指定するための接続継続信号間隔情報を配信装置に通知する接続継続制御部２１を含み、配信装置１０は、配信すべきデータがない場合に各端末に接続継続信号を送信する通信部１１と、通信部が接続継続信号を送信する期間を複数の時間区間に分割し、時間区間ごとに、各端末から受信した接続継続信号間隔情報をもとに接続継続信号の送信予定数を算出し、送信予定数が予め定められた閾値を超えている場合には、通信部１１に、閾値を超えた分の接続継続信号を当該時間区間よりも前の時間区間で送信させる送信時刻決定部１２とを含む通信システム。
【０１２６】
（付記１０）送信時刻決定部１２は、各端末から受信した接続継続信号間隔情報をもとに、端末ごとの接続継続信号の送信予定時刻を算出し、算出した送信予定時刻をもとに時間区間ごとの接続継続信号の送信予定数を算出する付記９に記載の通信システム。
【０１２７】
（付記１１）送信時刻決定部は、接続継続信号の送信予定数が閾値を超えている時間区間がある場合には、閾値を超えた分の接続継続信号が当該時間区間よりも前の時間区間で送信されるように当該接続継続信号の送信予定時刻を更新し、通信部は、送信予定時刻にもとづいて接続継続信号を送信する付記１０に記載の通信システム。
【０１２８】
そのような構成によれば、送信時刻決定部は、閾値を超えた分の接続継続信号を当該時間区間よりも前の時間区間で確実に通信部に送信させることができる。
【０１２９】
（付記１２）送信時刻決定部１２は、接続継続信号の送信予定数が閾値を超えている時間区間がある場合には、当該時間区間に送信予定である接続継続信号のうち、送信間隔が長い接続継続信号を優先的に送信予定時刻の更新対象とする付記１１に記載の通信システム。
【０１３０】
そのような構成によれば、送信予定時刻の更新対象とするキープアライブ信号をランダムに選択する場合よりも全キープアライブ信号の送信間隔の平均の変動率を小さくすることが出来る。従って、キープアライブ信号数の増加を抑えることができる。
【０１３１】
（付記１３）送信時刻決定部１２は、接続継続信号の送信予定数が閾値を超えている時間区間がある場合には、当該時間区間に送信予定である接続継続信号のうち、モバイル網を利用しない端末を送信先とする接続継続信号を優先的に送信予定時刻の更新対象とする付記１１に記載の通信システム。
【０１３２】
そのような構成によれば、送信予定時刻の更新対象とするキープアライブ信号をランダムに選択する場合よりも、モバイル網に流れる制御信号の数を抑えることができる。従って、モバイル網における輻輳をより回避しやすくなる。
【０１３３】
（付記１４）送信時刻決定部１２は、自装置と接続された各端末が接続継続信号を送信する場合には、各端末から接続継続信号を受信する期間を複数の時間区間に分割し、各端末から通知された接続継続信号の送信時刻をもとに時間区間ごとに接続継続信号の受信予定数を算出し、受信予定数が予め定められた閾値を超えている場合には、通信部１１に、閾値を超えた分の接続継続信号の送信元の端末に当該時間区間より前の時間区間に接続継続信号を送信させる付記９から付記１３のうちのいずれか１つに記載の通信システム。
【０１３４】
そのような構成によれば、端末からキープアライブ信号が送信されるＴＣＰ独自通信を利用してキープアライブ信号の送受信を行う場合にも、各端末から送信されるキープアライブ信号の受信時期が集中しないように、キープアライブ信号の受信予定数を調整することができる。それにより、ロングポーリングを利用する場合と同様の効果を得ることができる。
【０１３５】
（付記１５）送信時刻決定部１２は、接続継続信号の受信予定数が閾値を超えている時間区間がある場合には、当該時間区間に受信予定である接続継続信号の送信元の端末のうち、受信間隔が長い接続継続信号の送信元の端末を優先的に接続継続信号の送信対象とする付記１４に記載の通信システム。
【０１３６】
そのような構成によれば、端末からキープアライブ信号が送信されるＴＣＰ独自通信を利用してキープアライブ信号の送受信を行う場合に、キープアライブ信号の送信対象とする端末をランダムに選択する場合よりも、全キープアライブ信号の送信間隔の平均の変動率を小さくすることが出来る。従って、キープアライブ信号数の増加を抑えることができる。
【０１３７】
（付記１６）送信時刻決定部１２は、接続継続信号の受信予定数が閾値を超えている時間区間がある場合には、当該時間区間に受信予定である接続継続信号の送信元の端末のうち、無線ＬＡＮに繋がっている端末を優先的に接続継続信号の送信対象とする付記１４に記載の通信システム。
【０１３８】
そのような構成によれば、端末からキープアライブ信号が送信されるＴＣＰ独自通信を利用してキープアライブ信号の送受信を行う場合に、キープアライブ信号の送信対象とする端末をランダムに選択する場合よりも、モバイル網に流れる制御信号の数を抑えることができる。従って、モバイル網における輻輳をより回避しやすくなる。
【０１３９】
この出願は、２０１２年１０月３１日に出願された日本特許出願２０１２−２４０７６８を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【０１４０】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【０１４１】
１０  配信装置
１１  通信部
１２  送信時刻決定部
２０−１〜２０−ｎ、２００−１〜２００−ｎ、７００  端末
２１、２３０  接続継続制御部
１００、６００  プッシュサーバ
１１０  メッセージ送信要求受信部
１２０  メッセージキュー
１３０  メッセージ送信部
１４０  接続継続信号送受信部
１５０  接続継続信号送信時刻決定部
１６０  送信予定時刻情報格納部
２１０  メッセージ受信部
２２０  メッセージ通知部
３００、８００  ルータ
３１０  パケット転送部
３２０  ＮＡＴ変換テーブル
【図１】
2014068879.tif 000003
【図２】
2014068879.tif 000004
【図３】
2014068879.tif 000005
【図４】
2014068879.tif 000006
【図５】
2014068879.tif 000007
【図６】
2014068879.tif 000008
【図７】
2014068879.tif 000009
【図８】
2014068879.tif 000010
【図９】
2014068879.tif 000011
【図１０】
2014068879.tif 000012
【図１１】
2014068879.tif 000013
【国際調査報告】
2014068879.tif 000014
2014068879.tif 000015
2014068879.tif 000016
2014068879.tif 000017