(57)【要約】【課題】Keep-Aliveパケットを送信するための端末の負荷や消費電力の低減を図る。【解決手段】端末１と、通信ネットワークを介して前記端末１にデータ伝送されるサーバ２との間で確立されたコネクションのKeep-Aliveパケットを送信する際に、前記端末１までは届かないように転送制限された前記コネクションのKeep-Aliveパケットを送信するKeep-Aliveパケット送信部２５を備えたことを特徴とする。【選択図】図２
2014179787.tif 000002
【特許請求の範囲】
【請求項１】
端末装置と、通信ネットワークを介して前記端末装置にデータ伝送されるサーバ装置との間で確立されたコネクションのKeep-Aliveパケットを送信するKeep-Aliveパケット送信装置であり、
前記端末装置までは届かないように転送制限された前記コネクションのKeep-Aliveパケットを送信するKeep-Aliveパケット送信部を備えたことを特徴とするKeep-Aliveパケット送信装置。
【請求項２】
前記コネクションのKeep-Aliveパケットは、前記サーバ装置から前記端末装置の直前のネットワーク機器までのパケット有効期間を有することを特徴とする請求項１に記載のKeep-Aliveパケット送信装置。
【請求項３】
前記コネクションのKeep-Aliveパケットは、前記サーバ装置から、前記端末装置が接続する無線基地局装置の直前のネットワーク機器までのパケット有効期間を有することを特徴とする請求項１に記載のKeep-Aliveパケット送信装置。
【請求項４】
前記パケット有効期間に対応するネットワーク距離を測定するネットワーク距離測定部と、
前記ネットワーク距離の測定値と当該測定時の前記端末装置の前記通信ネットワーク上の位置を示す測定情報とを関連付けて記憶するネットワーク距離記憶部と、
前記ネットワーク距離記憶部に記憶されている測定情報の位置と同じ位置に在る端末装置と前記サーバ装置との間で確立されたコネクションのKeep-Aliveパケットに設定されるパケット有効期間を、該測定情報に関連付けられているネットワーク距離の測定値に基づいて決定するKeep-Alive制御部と、
を備えたことを特徴とする請求項２又は３に記載のKeep-Aliveパケット送信装置。
【請求項５】
前記コネクションの確立の際に、前記端末装置に対して、前記コネクションのKeep-Aliveパケットを前記サーバ装置から送信することを通知するKeep-Alive実行通知部を備えたことを特徴とする請求項１から４のいずれか１項に記載のKeep-Aliveパケット送信装置。
【請求項６】
通信ネットワークを介してデータ伝送されるサーバ装置との間で確立されたコネクションのKeep-Aliveパケットを送信するアプリケーションを有する端末装置において、
前記コネクションの確立の際に前記コネクションのKeep-Aliveパケットを前記サーバ装置から送信することの通知を受信すると、前記アプリケーションに対して前記コネクションのKeep-Aliveパケットの送信停止を指示するKeep-Alive制御部を備えたことを特徴とする端末装置。
【請求項７】
請求項５に記載のKeep-Aliveパケット送信装置と、請求項６に記載の端末装置とを有するKeep-Alive制御システム。
【請求項８】
端末装置と、通信ネットワークを介して前記端末装置にデータ伝送されるサーバ装置との間で確立されたコネクションのKeep-Aliveパケットを送信するKeep-Aliveパケット送信方法であり、
前記端末装置までは届かないように転送制限された前記コネクションのKeep-Aliveパケットを送信するKeep-Aliveパケット送信ステップを含むことを特徴とするKeep-Aliveパケット送信方法。
【請求項９】
端末装置と、通信ネットワークを介して前記端末装置にデータ伝送されるサーバ装置との間で確立されたコネクションのKeep-Aliveパケットを送信するKeep-Aliveパケット送信処理を行うためのコンピュータプログラムであって、
前記端末装置までは届かないように転送制限された前記コネクションのKeep-Aliveパケットを送信するKeep-Aliveパケット送信ステップをコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Keep-Aliveパケット送信装置、端末装置、Keep-Alive制御システム、Keep-Aliveパケット送信方法およびコンピュータプログラムに関する。
【背景技術】
【０００２】
従来、端末のアプリケーションがサーバに対してコネクションを確立し通信する場合、アプリケーションとサーバ間のコネクションを維持するために、キープアライブ（Keep-Alive）パケットを定期的にサーバへ送信するアプリケーションが存在する。また、そのようなアプリケーションが端末に複数存在する場合に、各アプリケーションが個々にKeep-Aliveパケットを送信しなくても済むようにする従来技術が知られている（例えば、非特許文献１，２参照）。非特許文献１，２の従来技術によれば、端末内の複数のアプリケーションに対して一つのＴＣＰ（Transmission Control Protocol）コネクションを確立しておけばよいので、各アプリケーションが個々にＴＣＰコネクションを確立する場合に比してKeep-Aliveパケットの送信のための通信機会を減らすことができる。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Google Cloud Messaging for Android，＜ＵＲＬ：http://developer.android.com/guide/google/gcm/index.html＞
【非特許文献２】Apple Push Notification Service，＜ＵＲＬ：http://developer.apple.com/library/mac/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/ApplePushService/ApplePushService.html＞
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、上述した従来技術では、Keep-Aliveパケットを送信するための端末の負荷や消費電力の低減が課題である。
【０００５】
本発明は、このような事情を考慮してなされたもので、Keep-Aliveパケットを送信するための端末の負荷や消費電力の低減を図ることを課題とする。
【課題を解決するための手段】
【０００６】
（１）上記の課題を解決するために、本発明に係るKeep-Aliveパケット送信装置は、端末装置と、通信ネットワークを介して前記端末装置にデータ伝送されるサーバ装置との間で確立されたコネクションのKeep-Aliveパケットを送信するKeep-Aliveパケット送信装置であり、前記端末装置までは届かないように転送制限された前記コネクションのKeep-Aliveパケットを送信するKeep-Aliveパケット送信部を備えたことを特徴とする。
【０００７】
（２）本発明に係るKeep-Aliveパケット送信装置において、前記コネクションのKeep-Aliveパケットは、前記サーバ装置から前記端末装置の直前のネットワーク機器までのパケット有効期間を有することを特徴とする。
【０００８】
（３）本発明に係るKeep-Aliveパケット送信装置において、前記コネクションのKeep-Aliveパケットは、前記サーバ装置から、前記端末装置が接続する無線基地局装置の直前のネットワーク機器までのパケット有効期間を有することを特徴とする。
【０００９】
（４）本発明に係るKeep-Aliveパケット送信装置においては、前記パケット有効期間に対応するネットワーク距離を測定するネットワーク距離測定部と、前記ネットワーク距離の測定値と当該測定時の前記端末装置の前記通信ネットワーク上の位置を示す測定情報とを関連付けて記憶するネットワーク距離記憶部と、前記ネットワーク距離記憶部に記憶されている測定情報の位置と同じ位置に在る端末装置と前記サーバ装置との間で確立されたコネクションのKeep-Aliveパケットに設定されるパケット有効期間を、該測定情報に関連付けられているネットワーク距離の測定値に基づいて決定するKeep-Alive制御部と、を備えたことを特徴とする。
【００１０】
（５）本発明に係るKeep-Aliveパケット送信装置においては、前記コネクションの確立の際に、前記端末装置に対して、前記コネクションのKeep-Aliveパケットを前記サーバ装置から送信することを通知するKeep-Alive実行通知部を備えたことを特徴とする。
【００１１】
（６）本発明に係る端末装置は、通信ネットワークを介してデータ伝送されるサーバ装置との間で確立されたコネクションのKeep-Aliveパケットを送信するアプリケーションを有する端末装置において、前記コネクションの確立の際に前記コネクションのKeep-Aliveパケットを前記サーバ装置から送信することの通知を受信すると、前記アプリケーションに対して前記コネクションのKeep-Aliveパケットの送信停止を指示するKeep-Alive制御部を備えたことを特徴とする。
【００１２】
（７）本発明に係るKeep-Alive制御システムは、前述の（５）に記載のKeep-Aliveパケット送信装置と、前述の（６）に記載の端末装置とを有する。
【００１３】
（８）本発明に係るKeep-Aliveパケット送信方法は、端末装置と、通信ネットワークを介して前記端末装置にデータ伝送されるサーバ装置との間で確立されたコネクションのKeep-Aliveパケットを送信するKeep-Aliveパケット送信方法であり、前記端末装置までは届かないように転送制限された前記コネクションのKeep-Aliveパケットを送信するKeep-Aliveパケット送信ステップを含むことを特徴とする。
【００１４】
（９）本発明に係るコンピュータプログラムは、端末装置と、通信ネットワークを介して前記端末装置にデータ伝送されるサーバ装置との間で確立されたコネクションのKeep-Aliveパケットを送信するKeep-Aliveパケット送信処理を行うためのコンピュータプログラムであって、前記端末装置までは届かないように転送制限された前記コネクションのKeep-Aliveパケットを送信するKeep-Aliveパケット送信ステップをコンピュータに実行させるためのコンピュータプログラムであることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、Keep-Aliveパケットを送信するための端末の負荷や消費電力の低減を図ることができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態に係る通信システムの概略構成図である。
【図２】本発明の一実施形態に係る端末１およびサーバ２の構成を示すブロック図である。
【図３】本発明の一実施形態に係るＮＷ距離記憶部２３の構成例である。
【図４】本発明の一実施形態に係るKeep-Aliveパケット送信処理のシーケンスチャートである。
【発明を実施するための形態】
【００１７】
以下、図面を参照し、本発明の実施形態について説明する。
図１は、本発明の一実施形態に係る通信システムの概略構成図である。図１において、端末１は無線回線により無線基地局３と接続する。無線基地局３としては、例えば、携帯電話網の基地局（例えば、３Ｇ回線の基地局）や無線ＬＡＮのアクセスポイント（Access Point：AP）などが挙げられる。端末１は、無線基地局３を介して、インターネット等のＩＰ（Internet Protocol）ネットワーク５に接続されるサーバ２との間で通信することができる。
【００１８】
無線基地局３とサーバ２間の通信経路上には、ＮＡＴ（Network Address Translation）やファイアウォール等のネットワーク機器４が、一つ若しくは複数存在する場合がある。一般的に、ネットワーク機器４は、自機器を経由するコネクションの有無を管理し、一定時間（コネクション保持時間）においてパケットの通過が無いコネクションについてはパケットを廃棄することが知られている。また、コネクション保持時間は、ネットワーク機器４によって異なる場合がある。
【００１９】
端末１にはアプリケーション１０が存在する。アプリケーション１０は、サーバ２との間でコネクション１００を確立し通信する。
【００２０】
図２は、本実施形態に係る端末１およびサーバ２の構成を示すブロック図である。図２において、端末１は、通信部１１とアプリケーション１０とKeep-Alive制御部１２を有する。サーバ２は、アプリケーションサーバ部２０と通信部２１とネットワーク（ＮＷ）距離測定部２２とＮＷ距離記憶部２３とKeep-Alive制御部２４とKeep-Aliveパケット送信部２５を有する。Keep-Alive制御部２４は、Keep-Alive実行通知部２６を有する。
【００２１】
端末１において、通信部１１は、無線基地局３を介して、ＩＰネットワーク５に接続されるサーバ２との間で通信する。アプリケーション１０は、サーバ２のアプリケーションサーバ部２０との間でコネクション１００を確立し通信する。Keep-Alive制御部１２は、コネクション１００の確立の際にコネクション１００のKeep-Aliveパケットをサーバ２から送信することの通知を受信すると、アプリケーション１０に対してコネクション１００のKeep-Aliveパケットの送信停止を指示する。これにより、アプリケーション１０は、コネクション１００のKeep-Aliveパケットを送信しない。
【００２２】
サーバ２において、通信部２１は、ＩＰネットワーク５を介して、端末１との間で通信する。アプリケーションサーバ部２０は、端末１のアプリケーション１０との間でコネクション１００を確立し通信する。
【００２３】
ＮＷ距離測定部２２は、コネクション１００に関するサーバ２からのＮＷ距離を測定する。ＮＷ距離は、通信ネットワーク上のホップ数である。本実施形態では、ＮＷ距離測定部２２は、コネクション１００に関して、サーバ２から、端末１が接続する無線基地局３の直前のネットワーク機器４までの、ホップ数を測定する。
【００２４】
ＮＷ距離記憶部２３は、ＮＷ距離測定部２２により測定されたＮＷ距離測定値と当該測定時の端末１の通信ネットワーク上の位置を示す測定情報とを関連付けて記憶する。図３は、本実施形態に係るＮＷ距離記憶部２３の構成例である。図３の例では、測定情報は、端末１に割り当てられたＩＰアドレスである。ＮＷ距離測定値は、ＮＷ距離測定部２２により測定されたホップ数である。
【００２５】
Keep-Alive制御部２４は、Keep-Aliveパケットの送信の制御を行う。Keep-Alive制御部２４は、Keep-Aliveパケットに設定されるパケット有効期間（Time To Live：TTL）を、Keep-Aliveパケット送信部２５に通知する。Keep-Aliveパケットに設定されるＴＴＬは、端末１までは届かない値である。Keep-Aliveパケット送信部２５は、Keep-Alive制御部２４から通知されたＴＴＬを有するKeep-Aliveパケットを、通信部２１を介して送信する。該Keep-Aliveパケットは、ＴＴＬによって端末１までは届かないように転送制限されているので、端末１には届かない。
【００２６】
Keep-Alive実行通知部２６は、コネクション１００の確立の際に、端末１に対して、コネクション１００のKeep-Aliveパケットをサーバ２から送信することを通知する。この通知方法としては、コネクション１００の確立手順でサーバ２から端末１へ送信するパケットにKeep-Aliveフラグを設け、Keep-Aliveフラグがオンである場合には、コネクション１００のKeep-Aliveパケットをサーバ２から送信することを示し、一方、Keep-Aliveフラグがオフである場合には、コネクション１００のKeep-Aliveパケットをサーバ２から送信しないことを示す、とする。
【００２７】
次に図４を参照して本実施形態に係るKeep-Aliveパケット送信処理を説明する。図４は、本実施形態に係るKeep-Aliveパケット送信処理のシーケンスチャートである。
【００２８】
（ステップＳ１）端末１の通信部１１が無線基地局３に接続する。
【００２９】
（ステップＳ２）端末１のアプリケーション１０が、サーバ２のアプリケーションサーバ部２０に対してコネクション１００の確立を要求する。このコネクション１００の確立要求の情報は、通信部２１からKeep-Alive制御部２４に出力される。
【００３０】
ここで、端末１が接続する無線基地局３とサーバ２との間の通信経路上に在る各ネットワーク（ＮＷ）機器４（Ａ），（Ｂ）は、コネクション１００を特定するコネクション情報（ＩＰパケットの送信元アドレス、宛先アドレス、ポート番号等）を保持する。各ＮＷ機器４（Ａ），（Ｂ）は、保持したコネクション情報でコネクション１００を特定し、コネクション保持時間においてコネクション１００のＩＰパケットの通過が無い場合には該保持したコネクション情報を破棄する。各ＮＷ機器４（Ａ），（Ｂ）は、コネクション情報が保持されていないコネクションのＩＰパケットを廃棄する。
【００３１】
（ステップＳ３）サーバ２のアプリケーションサーバ部２０は、端末１に対して、コネクション１００の確立を応答する。このコネクション１００の確立の応答パケットには、Keep-Alive制御部２４からのKeep-Aliveフラグが付加される。ここでは、Keep-Aliveフラグはオンである。
【００３２】
（ステップＳ４）端末１のKeep-Alive制御部１２は、サーバ２から受信したコネクション１００の確立の応答パケットにおいてKeep-Aliveフラグがオンである場合に、アプリケーション１０に対してコネクション１００のKeep-Aliveパケットの送信停止を指示する。これにより、アプリケーション１０は、コネクション１００のKeep-Aliveパケットを送信しない。
【００３３】
（ステップＳ５）サーバ２のKeep-Alive制御部２４は、ＮＷ距離記憶部２３に対して、端末１のＩＰアドレスを通知し、ＮＷ距離を要求する。
【００３４】
（ステップＳ６）ＮＷ距離記憶部２３は、Keep-Alive制御部２４から通知されたＩＰアドレスに対応する測定情報を探索する。この探索の結果、測定情報が発見された場合には、ＮＷ距離記憶部２３は当該測定情報に関連付けられているＮＷ距離をKeep-Alive制御部２４へ回答する。一方、測定情報が発見されなかった場合には、ＮＷ距離記憶部２３は、ＮＷ距離が無いことをKeep-Alive制御部２４へ回答する。
【００３５】
（ステップＳ７）Keep-Alive制御部２４は、ＮＷ距離記憶部２３からの回答がＮＷ距離無しの場合に、ＮＷ距離測定部２２に対して、コネクション１００に関するＮＷ距離の測定を指示する。
【００３６】
（ステップＳ８）ＮＷ距離測定部２２は、Keep-Alive制御部２４からコネクション１００に関するＮＷ距離の測定の指示を受けると、コネクション１００に関するＮＷ距離の測定を行う。このＮＷ距離の測定方法としては、端末１のＩＰアドレスを宛先にしたＩＰパケット（例えば、PingまたはUDPパケット）を、ＴＴＬを一つずつ増加させながら順次送信することで、サーバ２から、端末１が接続する無線基地局３の直前のネットワーク機器４までの、ホップ数を測定する。
【００３７】
（ステップＳ９）ＮＷ距離測定部２２は、ＮＷ距離測定値をKeep-Alive制御部２４へ通知する。
【００３８】
（ステップＳ１０）Keep-Alive制御部２４は、ＮＷ距離測定部２２から通知されたＮＷ距離測定値と端末１のＩＰアドレスをＮＷ距離記憶部２３に通知し保持させる。ＮＷ距離記憶部２３は、該端末１のＩＰアドレスに関連付けて該ＮＷ距離測定値を保持する。
【００３９】
（ステップＳ１１）Keep-Alive制御部２４は、コネクション１００に関するＮＷ距離をKeep-Aliveパケット送信部２５に設定する。Keep-Alive制御部２４は、コネクション１００に関するＮＷ距離がＮＷ距離記憶部２３に保持されていた場合には、該保持されていたＮＷ距離（ステップＳ６で回答されたＮＷ距離）を用いる。一方、Keep-Alive制御部２４は、コネクション１００に関するＮＷ距離がＮＷ距離記憶部２３に保持されていなかった場合には、ＮＷ距離測定部２２で測定されたＮＷ距離（ステップＳ９で通知されたＮＷ距離測定値）を用いる。
【００４０】
（ステップＳ１２）Keep-Aliveパケット送信部２５は、Keep-Alive制御部２４から通知されたＮＷ距離に基づいてKeep-AliveパケットにＴＴＬを設定し、通信部２１を介して該Keep-Aliveパケットを送信する。これにより、該Keep-Aliveパケットは、端末１が接続する無線基地局３の直前のネットワーク機器４（図４ではネットワーク機器４（Ａ））まで到達し、当該ネットワーク機器４で廃棄される。但し、各ネットワーク（ＮＷ）機器４（Ａ），（Ｂ）は、該Keep-Aliveパケットによって、コネクション１００のコネクション情報を保持する。これにより、各ネットワーク（ＮＷ）機器４（Ａ），（Ｂ）は、コネクション１００を維持する。ステップＳ１２のKeep-Aliveパケットの送信は定期的に行われる。
【００４１】
（ステップＳ１３）Keep-Alive制御部２４は、ステップＳ１２でサーバ２から送信されたコネクション１００のKeep-Aliveパケットに対するエラーの応答パケットを、通信部２１を介して受信する。
【００４２】
上述した実施形態によれば、サーバ２がコネクション１００のKeep-Aliveパケットを送信することにより、Keep-Aliveパケットを送信するため端末１の負荷や消費電力を低減できる。また、該Keep-Aliveパケットは、端末１までは届かないので、端末１は該Keep-Aliveパケットの受信処理を行わずに済む。また、該Keep-Aliveパケットは、端末１が接続する無線基地局３まで到達しないので、端末１と無線基地局３の間の無線区間の無線リソースを消費せずに済む。また、Keep-Aliveパケットの伝送の度に、無線基地局３が端末１をActive状態にしたり非Active状態にしたりするための制御信号の発生を抑制することができる。
【００４３】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【００４４】
例えば、Keep-Aliveパケットに設定するＴＴＬは、サーバ２から端末１までのホップ数から少なくとも１を減算した値であればよい。
【００４５】
また、上述した実施形態では、端末１は無線基地局３に接続し無線回線を介してＩＰネットワーク５に接続したが、これに限定されない。端末１は、無線回線を介さず、有線回線を介してＩＰネットワーク５に接続してもよい。
【００４６】
また、上述したサーバ２を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＤＶＤ（Digital Versatile Disk）等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００４７】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Dynamic Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【００４８】
１…端末（端末装置）、２…サーバ（Keep-Aliveパケット送信装置）、３…無線基地局、４…ネットワーク機器、５…ＩＰネットワーク、１０…アプリケーション、１１，２１…通信部、１２，２４…Keep-Alive制御部、２０…アプリケーションサーバ部、２２…ＮＷ距離測定部、２３…ＮＷ距離記憶部、２５…Keep-Aliveパケット送信部、２６…Keep-Alive実行通知部、１００…コネクション
【図１】
2014179787.tif 000003
【図２】
2014179787.tif 000004
【図３】
2014179787.tif 000005
【図４】
2014179787.tif 000006