(57)【要約】  接続管理部９１は、拡張間隔を指定してサーバ装置８０との持続コネクションを設定する。パケット送信部８１は、持続コネクションの設定で指定された拡張間隔経過した時点で、端末装置９０にキープアライブパケットを送信する。接続管理部９１は、持続コネクションを設定してから高信頼間隔が経過した時点で、キープアライブパケットの受信状態に応じて決定される拡張間隔を指定した新たな持続コネクションをサーバ装置８０との間に設定し、その新たな持続コネクションに基づくキープアライブパケットをサーバ装置８０から受信したときに、その持続コネクションの設定により指定された拡張間隔を高信頼間隔に設定する。
2014013674.tif 000002
【特許請求の範囲】
【請求項１】
サーバ装置と、
前記サーバ装置との間に設定される持続コネクションを用いて当該サーバ装置と通信を行う端末装置とを備え、
前記サーバ装置と前記端末装置は、前記持続コネクションを用いた通信が予め定められた期間であるキープアライブ間隔行われなかった場合に、当該持続コネクションを無効にする少なくとも１つ以上のミドルボックス装置を介して相互に接続され、
前記端末装置は、
前記持続コネクションが有効であると確認できた場合のキープアライブ間隔のうち最大の期間である高信頼間隔と、前記持続コネクションが有効か否かの確認に用いられる前記高信頼間隔よりも長い期間の拡張間隔を保持し、前記拡張間隔を指定して前記サーバ装置との持続コネクションを設定する接続管理部を含み、
前記サーバ装置は、
前記端末装置との間に持続コネクションが設定されてから当該持続コネクションの設定で指定された拡張間隔経過した時点で、前記端末装置にキープアライブパケットを送信するパケット送信部を含み、
前記端末装置の接続管理部は、前記持続コネクションを設定してから前記高信頼間隔が経過した時点で、前記キープアライブパケットの受信状態に応じて決定される拡張間隔を指定した新たな持続コネクションを前記サーバ装置との間に設定し、当該新たな持続コネクションに基づくキープアライブパケットを前記サーバ装置から受信したときに、当該持続コネクションの設定により指定された拡張間隔を高信頼間隔に設定する
ことを特徴とする通信維持システム。
【請求項２】
端末装置は、拡張間隔の変更方法を示す変更モードとして、新しく設定する持続コネクションの拡張間隔を徐々に増加させていく拡大モード、拡張間隔を徐々に減少させていく縮小モード、または、拡張間隔を変化させない定常モードのいずれかの変更モードを保持し、当該変更モードおよび高信頼間隔をもとに、拡張間隔を決定する持続期間計算部を含み、
接続管理部は、キープアライブパケットの受信状態に応じて変更モードを決定し、当該変更モードおよび高信頼間隔をもとに決定される拡張間隔を指定した新たな持続コネクションをサーバ装置との間に設定する
請求項１記載の通信維持システム。
【請求項３】
持続期間計算部は、初期状態で変更モードとして拡張モードを保持し、
接続管理部は、持続期間計算部が変更モードとして拡張モードを保持している状態で、新たな持続コネクションに基づくキープアライブパケットをサーバ装置から受信しなかったとき、変更モードを拡張モードから縮小モードに変更し、当該変更モードおよび高信頼間隔をもとに決定される拡張間隔を指定した新たな持続コネクションをサーバ装置との間に設定する
請求項２記載の通信維持システム。
【請求項４】
接続管理部は、持続期間計算部が変更モードとして縮小モードを保持している状態で、新たな持続コネクションに基づくキープアライブパケットをサーバ装置から受信したとき、変更モードを縮小モードから定常モードに変更し、当該持続コネクションの設定により指定された拡張間隔をもとに設定される高信頼間隔を指定した新たな持続コネクションをサーバ装置との間に設定する
請求項３記載の通信維持システム。
【請求項５】
持続期間計算部は、保持する変更モードが定常モードの場合、高信頼間隔を拡張間隔と決定し、保持する変更モードが拡大モードの場合、前回決定した拡張間隔よりも長い期間を示す間隔に拡張間隔を決定し、保持する変更モードが縮小モードの場合、前回決定した拡張間隔よりも短い期間を示す間隔に拡張間隔を決定する
請求項２から請求項４のうちのいずれか１項に記載の通信維持システム。
【請求項６】
サーバ装置との間に設定される持続コネクションを用いて当該サーバ装置と通信を行う端末装置であって、
前記サーバ装置とは、前記持続コネクションを用いた通信が予め定められた期間であるキープアライブ間隔行われなかった場合に、当該持続コネクションを無効にする少なくとも１つ以上のミドルボックス装置を介して接続され、
前記持続コネクションが有効であると確認できた場合のキープアライブ間隔のうち最大の期間である高信頼間隔と、前記持続コネクションが有効か否かの確認に用いられる前記高信頼間隔よりも長い期間の拡張間隔を保持し、前記拡張間隔を指定して前記サーバ装置との持続コネクションを設定する接続管理部を備え、
前記接続管理部は、前記持続コネクションを設定してから前記高信頼間隔が経過した時点で、前記サーバ装置との間に持続コネクションが設定されてから当該持続コネクションの設定で指定された拡張間隔経過したときに前記サーバ装置から送信されるキープアライブパケットの受信状態に応じて決定される拡張間隔を指定した新たな持続コネクションを前記サーバ装置との間に設定し、当該新たな持続コネクションに基づくキープアライブパケットを前記サーバ装置から受信したときに、当該持続コネクションの設定により指定された拡張間隔を高信頼間隔に設定する
ことを特徴とする端末装置。
【請求項７】
サーバ装置との間に設定される持続コネクションを用いて当該サーバ装置と通信を行い、当該サーバ装置とは、前記持続コネクションを用いた通信が予め定められた期間であるキープアライブ間隔行われなかった場合に、当該持続コネクションを無効にする少なくとも１つ以上のミドルボックス装置を介して接続される端末装置は、前記持続コネクションが有効であると確認できた場合のキープアライブ間隔のうち最大の期間である高信頼間隔と、前記持続コネクションが有効か否かの確認に用いられる前記高信頼間隔よりも長い期間の拡張間隔を保持し、
前記端末装置は、前記拡張間隔を指定して前記サーバ装置との持続コネクションを設定し、
前記サーバ装置は、前記端末装置との間に持続コネクションが設定されてから当該持続コネクションの設定で指定された拡張間隔経過した時点で、前記端末装置にキープアライブパケットを送信し、
前記端末装置は、前記持続コネクションを設定してから前記高信頼間隔が経過した時点で、前記キープアライブパケットの受信状態に応じて決定される拡張間隔を指定した新たな持続コネクションを前記サーバ装置との間に設定し、
前記端末装置は、前記新たな持続コネクションに基づくキープアライブパケットを前記サーバ装置から受信したときに、当該持続コネクションの設定により指定された拡張間隔を高信頼間隔に設定する
ことを特徴とする通信維持方法。
【請求項８】
端末装置は、拡張間隔の変更方法を示す変更モードとして、新しく設定する持続コネクションの拡張間隔を徐々に増加させていく拡大モード、拡張間隔を徐々に減少させていく縮小モード、または、拡張間隔を変化させない定常モードのいずれかの変更モードを保持し、
端末装置は、前記変更モードおよび高信頼間隔をもとに、拡張間隔を決定し、
端末装置は、キープアライブパケットの受信状態に応じて変更モードを決定し、
端末装置は、前記変更モードおよび高信頼間隔をもとに決定される拡張間隔を指定した新たな持続コネクションをサーバ装置との間に設定する
請求項７記載の通信維持方法。
【請求項９】
サーバ装置との間に設定される持続コネクションを用いて当該サーバ装置と通信を行い、当該サーバ装置とは、前記持続コネクションを用いた通信が予め定められた期間であるキープアライブ間隔行われなかった場合に、当該持続コネクションを無効にする少なくとも１つ以上のミドルボックス装置を介して接続される端末装置は、前記持続コネクションが有効であると確認できた場合のキープアライブ間隔のうち最大の期間である高信頼間隔と、前記持続コネクションが有効か否かの確認に用いられる前記高信頼間隔よりも長い期間の拡張間隔を保持し、
前記端末装置は、前記拡張間隔を指定して前記サーバ装置との持続コネクションを設定し、
前記端末装置は、前記持続コネクションを設定してから前記高信頼間隔が経過した時点で、前記サーバ装置との間に持続コネクションが設定されてから当該持続コネクションの設定で指定された拡張間隔経過したときに前記サーバ装置から送信されるキープアライブパケットの受信状態に応じて決定される拡張間隔を指定した新たな持続コネクションを前記サーバ装置との間に設定し、
前記端末装置は、前記新たな持続コネクションに基づくキープアライブパケットを前記サーバ装置から受信したときに、当該持続コネクションの設定により指定された拡張間隔を高信頼間隔に設定する
ことを特徴とするサーバ装置との接続維持方法。
【請求項１０】
サーバ装置との間に設定される持続コネクションを用いて当該サーバ装置と通信を行い、当該サーバ装置とは、前記持続コネクションを用いた通信が予め定められた期間であるキープアライブ間隔行われなかった場合に、当該持続コネクションを無効にする少なくとも１つ以上のミドルボックス装置を介して接続されるコンピュータに適用される接続維持プログラムであって、
前記コンピュータに、
前記持続コネクションが有効であると確認できた場合のキープアライブ間隔のうち最大の期間である高信頼間隔と、前記持続コネクションが有効か否かの確認に用いられる前記高信頼間隔よりも長い期間の拡張間隔を保持し、前記拡張間隔を指定して前記サーバ装置との持続コネクションを設定する接続管理処理を実行させ、
前記接続管理処理で、前記持続コネクションを設定してから前記高信頼間隔が経過した時点で、前記サーバ装置との間に持続コネクションが設定されてから当該持続コネクションの設定で指定された拡張間隔経過したときに前記サーバ装置から送信されるキープアライブパケットの受信状態に応じて決定される拡張間隔を指定した新たな持続コネクションを前記サーバ装置との間に設定させ、当該新たな持続コネクションに基づくキープアライブパケットを前記サーバ装置から受信したときに、当該持続コネクションの設定により指定された拡張間隔を高信頼間隔に設定させる
ことを特徴とする接続維持プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、装置間の通信を維持する通信維持システム、端末装置、通信維持方法、サーバ装置との接続維持方法および接続維持プログラムに関する。
【背景技術】
【０００２】
携帯端末の発展に伴い、サーバ装置とスマートフォンなどの携帯端末との連携システムが利用されるようになってきている。例えば、スマートフォンなど携帯端末上で動作する任意のアプリケーションと、ネットワーク上に配置されたサーバ装置との間で通信接続を実施する。その接続を利用して、サーバ装置から携帯端末に対して任意の処理を実行させる。【０００３】
このようなサーバ装置と携帯端末との間の通信には、一般的にＴＣＰ／ＩＰ（Transmission Control Protocol／Internet Protocol）と呼ばれるコネクション型の接続プロトコルが用いられ、この接続プロトコルを用いて送受信される場合が多い。【０００４】
このＴＣＰ／ＩＰでは、接続を希望する一方の装置が、他方の装置に向かって接続開始要求を意味するパケットを送信し、接続開始要求パケットを受け取った装置が送信元の端末に接続受け入れ回答を意味するパケットを返信する。この手順により、互いの装置で接続開始要求に関連付けられたコネクションが設定される。以後、このコネクションを用いてパケットを送受信しあうことで、通信が実行される。【０００５】
また、主にセキュリティ上の問題により、サーバと携帯端末とを結ぶネットワーク上には、通信を中継、遮断するミドルボックスと総称される装置が設置されている場合が多い。ミドルボックスとして、例えば、ＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ）やファイアーウォール、プロキシサーバなどが挙げられる。【０００６】
ミドルボックスは、主にネットワーク事業者、またはユーザが自ら付与したプライベートなＩＰアドレスを持つ端末と、インターネットなどグローバルなネットワークでも利用可能なグローバルＩＰアドレスを持つサーバ装置との間で送受信されるパケットのＩＰアドレスを相互に変換する。このような変換により、プライベートなネットワークに接続された携帯端末が、インターネットなどのグローバルネットワークに接続されたサーバ装置と通信できるようになる。【０００７】
通常のミドルボックスは、グローバルネットワーク上のサーバからプライベートネットワーク上の端末へのＴＣＰ／ＩＰにおける接続開始要求パケットが送信された場合、特別な条件設定が事前にされていない限り、そのパケットを破棄し、装置間のコネクションの設定を許可しない。【０００８】
一方、ミドルボックスは、プライベートネットワーク上の端末からグローバルネットワーク上のサーバ装置に対する接続開始要求パケットを受け取ると、その接続開始要求パケットをサーバ装置に対して中継する。また、ミドルボックスは、サーバ装置から接続受け入れ回答パケットを受け取ると、その回答パケットをプライベートネットワーク上の端末に中継する。このようにして、プライベートネットワーク上の端末と、グローバルネットワーク上のサーバ装置との間で、接続開始要求に関連付けられたコネクションの設定が許可される。【０００９】
以後、ミドルボックスは、許可されたコネクションを用いてサーバ装置、または、端末から送信されたパケットに対しては、そのパケットを継続して中継する。【００１０】
また、ミドルボックスは、通常、コネクション上のパケットの送受信を監視する。装置間で一定期間（以下、コネクション無効化期限と記すこともある。）パケットの送受信が実行されないと、ミドルボックスは、コネクションの許可設定を無効にし、以後そのコネクションを用いて送受信されたパケットを破棄する。【００１１】
特許文献１には、このようなミドルボックスが介在する通信システムが記載されている。特許文献１に記載された通信システムでは、グローバルネットワーク上のサーバ装置から任意のタイミングでプライベートネットワーク上の端末にパケットを送信するため、プライベートネットワーク上の端末からグローバルネットワーク上のサーバに対してコネクションが設定される。以後、その持続コネクションがミドルボックスによって無効にされないように、所定期間（以降、キープアライブ間隔と記すこともある。）ごとにパケットを装置間で送受信することで、サーバ装置と端末との間のコネクションが維持される。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００３−１８２３５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
特許文献１に記載された通信システムでは、持続コネクションが設定された後、キープアライブ間隔経過後にパケットを送受信して持続コネクションが無効にされたか否かが判別される。持続コネクションが有効な場合、キープアライブ間隔を増加させ、持続コネクションが無効にされた場合、キープアライブ間隔を減少させた上で持続コネクションが再度設定される。【００１４】
しかし、特許文献１に記載された方法を用いた場合、キープアライブ間隔がコネクション無効化期限よりも長い場合、「キープアライブ間隔−コネクション無効化期限」により算出される期間（以下、無応答期間と記す。）は、持続コネクションが無効にされた状態になる。そのため、この間、サーバは、端末に対してパケットを送信できない。【００１５】
また、持続コネクションが有効であった時のｎ回目（ｎ≧１）のキープアライブ間隔をＫｎとし、次に増加させるキープアライブ間隔の増分をｄとし、コネクション無効化期限をＴとした場合、無応答期間は、（Ｋｎ＋ｄ）−Ｔで算出される。この場合、最大の無応答期間は、Ｋｎ＝Ｔの場合の期間であり、すなわち、その期間はｄになる。したがって、無応答期間を短くするためには、キープアライブ間隔の増分ｄを小さくすればよい。【００１６】
しかし、Ｋ１＜Ｔを満たし、かつＫ１がＴよりもかなり小さい値の場合、ＫｎがＴになかなか到達せず、短い間隔でパケットを送受信し続けるため、ネットワークに無駄な負荷をかけることになる。【００１７】
そこで、本発明は、所定期間で装置間のコネクションが無効になる通信ネットワークにおいても、装置間のコネクションを維持しつつ、コネクションを維持するための通信負荷を抑制できる通信維持システム、端末装置、通信維持方法、サーバ装置との接続維持方法および接続維持プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１８】
本発明による通信維持システムは、サーバ装置と、サーバ装置との間に設定される持続コネクションを用いてサーバ装置と通信を行う端末装置とを備え、サーバ装置と端末装置が、持続コネクションを用いた通信が予め定められた期間であるキープアライブ間隔行われなかった場合に、その持続コネクションを無効にする少なくとも１つ以上のミドルボックス装置を介して相互に接続され、端末装置が、持続コネクションが有効であると確認できた場合のキープアライブ間隔のうち最大の期間である高信頼間隔と、持続コネクションが有効か否かの確認に用いられる高信頼間隔よりも長い期間の拡張間隔を保持し、拡張間隔を指定してサーバ装置との持続コネクションを設定する接続管理部を含み、サーバ装置が、端末装置との間に持続コネクションが設定されてからその持続コネクションの設定で指定された拡張間隔経過した時点で、端末装置にキープアライブパケットを送信するパケット送信部を含み、端末装置の接続管理部が、持続コネクションを設定してから高信頼間隔が経過した時点で、キープアライブパケットの受信状態に応じて決定される拡張間隔を指定した新たな持続コネクションをサーバ装置との間に設定し、その新たな持続コネクションに基づくキープアライブパケットをサーバ装置から受信したときに、その持続コネクションの設定により指定された拡張間隔を高信頼間隔に設定することを特徴とする。【００１９】
本発明による端末装置は、サーバ装置との間に設定される持続コネクションを用いてそのサーバ装置と通信を行う端末装置であって、サーバ装置とは、持続コネクションを用いた通信が予め定められた期間であるキープアライブ間隔行われなかった場合に、その持続コネクションを無効にする少なくとも１つ以上のミドルボックス装置を介して接続され、持続コネクションが有効であると確認できた場合のキープアライブ間隔のうち最大の期間である高信頼間隔と、持続コネクションが有効か否かの確認に用いられる高信頼間隔よりも長い期間の拡張間隔を保持し、拡張間隔を指定してサーバ装置との持続コネクションを設定する接続管理部を備え、接続管理部が、持続コネクションを設定してから高信頼間隔が経過した時点で、サーバ装置との間に持続コネクションが設定されてからその持続コネクションの設定で指定された拡張間隔経過したときにサーバ装置から送信されるキープアライブパケットの受信状態に応じて決定される拡張間隔を指定した新たな持続コネクションをサーバ装置との間に設定し、その新たな持続コネクションに基づくキープアライブパケットをサーバ装置から受信したときに、その持続コネクションの設定により指定された拡張間隔を高信頼間隔に設定することを特徴とする。【００２０】
本発明による通信維持方法は、サーバ装置との間に設定される持続コネクションを用いてそのサーバ装置と通信を行い、そのサーバ装置とは、持続コネクションを用いた通信が予め定められた期間であるキープアライブ間隔行われなかった場合に、その持続コネクションを無効にする少なくとも１つ以上のミドルボックス装置を介して接続される端末装置が、持続コネクションが有効であると確認できた場合のキープアライブ間隔のうち最大の期間である高信頼間隔と、持続コネクションが有効か否かの確認に用いられる高信頼間隔よりも長い期間の拡張間隔を保持し、端末装置が、拡張間隔を指定してサーバ装置との持続コネクションを設定し、サーバ装置が、端末装置との間に持続コネクションが設定されてからその持続コネクションの設定で指定された拡張間隔経過した時点で、端末装置にキープアライブパケットを送信し、端末装置が、持続コネクションを設定してから高信頼間隔が経過した時点で、キープアライブパケットの受信状態に応じて決定される拡張間隔を指定した新たな持続コネクションをサーバ装置との間に設定し、端末装置が、新たな持続コネクションに基づくキープアライブパケットをサーバ装置から受信したときに、その持続コネクションの設定により指定された拡張間隔を高信頼間隔に設定することを特徴とする。【００２１】
本発明によるサーバ装置との接続維持方法は、サーバ装置との間に設定される持続コネクションを用いてそのサーバ装置と通信を行い、そのサーバ装置とは、持続コネクションを用いた通信が予め定められた期間であるキープアライブ間隔行われなかった場合に、その持続コネクションを無効にする少なくとも１つ以上のミドルボックス装置を介して接続される端末装置が、持続コネクションが有効であると確認できた場合のキープアライブ間隔のうち最大の期間である高信頼間隔と、持続コネクションが有効か否かの確認に用いられる高信頼間隔よりも長い期間の拡張間隔を保持し、端末装置が、拡張間隔を指定してサーバ装置との持続コネクションを設定し、端末装置が、持続コネクションを設定してから高信頼間隔が経過した時点で、サーバ装置との間に持続コネクションが設定されてからその持続コネクションの設定で指定された拡張間隔経過したときにサーバ装置から送信されるキープアライブパケットの受信状態に応じて決定される拡張間隔を指定した新たな持続コネクションをサーバ装置との間に設定し、端末装置が、新たな持続コネクションに基づくキープアライブパケットをサーバ装置から受信したときに、その持続コネクションの設定により指定された拡張間隔を高信頼間隔に設定することを特徴とする。【００２２】
本発明による接続維持プログラムは、サーバ装置との間に設定される持続コネクションを用いてそのサーバ装置と通信を行い、そのサーバ装置とは、持続コネクションを用いた通信が予め定められた期間であるキープアライブ間隔行われなかった場合に、その持続コネクションを無効にする少なくとも１つ以上のミドルボックス装置を介して接続されるコンピュータに適用される接続維持プログラムであって、コンピュータに、持続コネクションが有効であると確認できた場合のキープアライブ間隔のうち最大の期間である高信頼間隔と、持続コネクションが有効か否かの確認に用いられる高信頼間隔よりも長い期間の拡張間隔を保持し、拡張間隔を指定してサーバ装置との持続コネクションを設定する接続管理処理を実行させ、接続管理処理で、持続コネクションを設定してから高信頼間隔が経過した時点で、サーバ装置との間に持続コネクションが設定されてからその持続コネクションの設定で指定された拡張間隔経過したときにサーバ装置から送信されるキープアライブパケットの受信状態に応じて決定される拡張間隔を指定した新たな持続コネクションをサーバ装置との間に設定させ、その新たな持続コネクションに基づくキープアライブパケットをサーバ装置から受信したときに、その持続コネクションの設定により指定された拡張間隔を高信頼間隔に設定させることを特徴とする。
【発明の効果】
【００２３】
本発明によれば、所定期間で装置間のコネクションが無効になる通信ネットワークにおいても、装置間のコネクションを維持しつつ、コネクションを維持するための通信負荷を抑制できる。
【図面の簡単な説明】
【００２４】
【図１】本発明による通信維持システムの一実施形態を示すブロック図である。
【図２】端末装置が持続コネクションを設定する動作例を示すフローチャートである。
【図３】サーバ装置が持続コネクションを設定する動作例を示すフローチャートである。
【図４】サーバ装置がメッセージを送信する処理の例を示すフローチャートである。
【図５】端末装置がメッセージを受信する処理の例を示すフローチャートである。
【図６】端末装置で高信頼間隔経過イベントが発生した場合の動作例を示すフローチャートである。
【図７】サーバ装置でキープアライブイベントが発生した場合の処理の例を示すフローチャートである。
【図８】端末装置でキープアライブパケットを受信した場合の処理の例を示すフローチャートである。
【図９】端末装置で拡張間隔経過イベントが発生した場合の処理例を示すフローチャートである。
【図１０】本実施形態の通信維持システムの動作例を示す説明図である。
【図１１】本発明による通信維持システムの概要を示すブロック図である。
【図１２】本発明による端末装置の概要を示すブロック図である。
【発明を実施するための形態】
【００２５】
以下、本発明の実施形態を図面を参照して説明する。
【００２６】
図１は、本発明による通信維持システムの一実施形態を示すブロック図である。本実施形態の通信維持システムは、端末装置１と、サーバ装置２とを備えている。端末装置１は、例えば、ユーザによって操作される。また、サーバ装置２は、他サーバ装置３に接続され、他サーバ装置３が端末装置１に対して送信するメッセージを仲介する。他サーバ装置３は、端末装置１に対してメッセージを送信することにより、端末装置１を操作するユーザに対してサービスを提供する。
【００２７】
端末装置１とサーバ装置２との間には、通信ネットワークを介して、ミドルボックス装置４が接続される。ミドルボックス装置４は、ファイアーウォール機能やＮＡＴ機能により、端末装置１とサーバ装置２との間の通信を監視したり中継したりする。なお、図１では、端末装置１とサーバ装置２との間にミドルボックスが１台接続されている場合を例示しているが、ミドルボックス装置４の台数は、１台に限定されず、２台以上であってもよい。
【００２８】
また、ミドルボックス装置４は、端末装置１とサーバ装置２との間のＴＣＰ／ＩＰコネクション上でパケットが送受信されているかを監視する。コネクション無効化期限の間パケットの送受信が実行されないと、ミドルボックス装置４は、コネクションの許可設定を無効にし、以後、そのコネクションを用いて送受信されたパケットを破棄する。すなわち、ミドルボックス装置４は、端末装置１とサーバ装置２との間に設定されるコネクションを用いた通信が所定期間行われなかった場合に、そのコネクションを無効化する。
【００２９】
端末装置１は、持続接続管理部１１と、持続期間計算部１２と、タイムアウト処理部１３と、端末識別子管理部１４と、コネクション管理部１５と、メッセージ受信部１６と、タイマ１７とを含む。
【００３０】
持続接続管理部１１は、例えば、端末装置１が起動した時点、端末装置１に含まれるネットワーク装置（図示せず）が起動した時点、または、ユーザが端末装置１を操作した時点で、サーバ装置２との持続コネクションの設定を開始する。持続接続管理部１１は、サーバ装置２との間で維持されるコネクション（持続コネクション）が有効であると確認できた期間のうち最大の期間を高信頼間隔として保持する。また、持続接続管理部１１は、サーバ装置２との間で次回設定する持続コネクションが有効かどうかを確認する間隔を拡張間隔として保持する。
【００３１】
ここで、ミドルボックス装置４によって無効にされない期間がキープアライブ間隔であることから、高信頼間隔とは、持続コネクションが有効であると確認できた場合のキープアライブ間隔のうち最大の期間ということができる。また、拡張間隔とは、増加させるキープアライブ間隔の差分と高信頼間隔とを足した期間ということができる。言い換えると、拡張間隔とは、高信頼間隔に所定の期間だけ増加させた期間を意味する。
【００３２】
この拡張間隔は、決定された高信頼間隔がさらに拡張できるか否か判断するために設定される値である。例えば、ある持続コネクションについて高信頼間隔が決定された時点で、この高信頼間隔を拡張した拡張間隔を決定し、この拡張間隔が指定された持続コネクションを新たに装置間で設定する。この拡張間隔が経過したタイミングで一方の装置からもう一方の装置に対してキープアライブとしてパケットを送信し、このパケットが到達すればキープアライブの高信頼間隔が拡張できることになる。
【００３３】
なお、高信頼間隔および拡張間隔は、持続接続管理部１１によって保持されていてもよく、後述する持続期間計算部１２によって保持されていてもよい。
【００３４】
また、持続接続管理部１１は、高信頼間隔の最大値が定まっていない場合、高信頼間隔経過後に、サーバ装置２との間に新たに持続コネクションを設定する。一方、高信頼間隔の最大値が定まった場合、持続接続管理部１１は、持続コネクションが有効かどうかを確認するパケット（以下、キープアライブパケットと記す。）をサーバ装置２から受信した際、サーバ装置２との間に新たに持続コネクションを設定する。なお、高信頼区間の最大値が定まったか否かは、後述する持続期間計算部１２が保持する変更モードに基づいて判断される。このようにして、持続接続管理部１１は、サーバ装置２との間で持続コネクションを維持し続ける。
【００３５】
持続期間計算部１２は、拡張間隔を決定する。持続期間計算部１２は、３つの状態（拡大モード、縮小モードおよび定常モード）のうち、いずれかの状態を変更モードとして保持する。拡大モードは、高信頼間隔及び拡張間隔を保持し、新しく設定する持続コネクションの拡張間隔を徐々に増加させていくことを示すモードである。縮小モードは、新しく設定する持続コネクションの拡張間隔を徐々に減少させていくことを示すモードである。定常モードは、拡張間隔を変化させないモードである。持続期間計算部１２が変更モードとして定常モードを保持している状態が、高信頼間隔の最大値が定まった場合を示す。持続期間計算部１２は、これらのモードと高信頼間隔とを基に拡張間隔を決定する。なお、拡張間隔の決定方法は後述する。
【００３６】
タイムアウト処理部１３は、２種類のイベントを発生させるための設定を端末装置１付属のタイマ１７に設定する。第１のイベントは、サーバ装置２との間で持続コネクションを設定する際に、現時点から高信頼間隔経過後に発生させる高信頼間隔経過イベントである。第２のイベントは、現時点から拡張間隔経過後に発生させる拡張間隔経過イベントである。
【００３７】
端末識別子管理部１４は、端末装置１を一意に識別するための端末識別子を取得する。
【００３８】
コネクション管理部１５は、サーバ装置２との間のＴＣＰ／ＩＰコネクションを持続コネクションとして設定する。また、コネクション管理部１５は、持続コネクションを設定した際、サーバ装置２に対して拡張間隔を通知する。
【００３９】
メッセージ受信部１６は、サーバ装置２との間の持続コネクションを通して、サーバ装置２から送信されたメッセージを受信し、既定の処理を実行する。
【００４０】
持続接続管理部１１と、持続期間計算部１２と、タイムアウト処理部１３と、端末識別子管理部１４と、コネクション管理部１５と、メッセージ受信部１６とは、プログラム（通信維持プログラム）に従って動作するコンピュータのＣＰＵによって実現される。例えば、プログラムは、端末装置１の記憶部（図示せず）に記憶され、ＣＰＵは、そのプログラムを読み込み、プログラムに従って、持続接続管理部１１、持続期間計算部１２、タイムアウト処理部１３、端末識別子管理部１４、コネクション管理部１５およびメッセージ受信部１６として動作してもよい。
【００４１】
また、持続接続管理部１１と、持続期間計算部１２と、タイムアウト処理部１３と、端末識別子管理部１４と、コネクション管理部１５と、メッセージ受信部１６とは、それぞれが専用のハードウェアで実現されていてもよい。
【００４２】
サーバ装置２は、持続接続受信部２１と、キープアライブ処理部２２と、メッセージ送信部２３と、活性接続管理部２４と、タイマ２５とを含む。
【００４３】
持続接続受信部２１は、端末装置１との間で持続コネクションを管理する。具体的には、持続接続受信部２１は、端末装置１に対して、持続コネクションが導通しているかどうかを試行するためのキープアライブパケットを送信したり、メッセージを送信したりする。
【００４４】
キープアライブ処理部２２は、端末装置１から送信された拡張間隔に基づき、現時点から拡張間隔経過後に持続コネクションが導通しているかどうかを試行する。具体的には、キープアライブ処理部２２は、持続コネクションが設定されると、その時点から持続コネクションが設定されたときに通知される拡張間隔の経過後に、端末装置１とサーバ装置２との間の導通を確認するイベント（以下、キープアライブイベントと記す。）を発生させる。このとき、キープアライブ処理部２２は、端末装置１とサーバ装置２との間の導通の確認に用いられるパケット（キープアライブパケット）を端末装置１に送信する。
【００４５】
メッセージ送信部２３は、端末装置１に対する他サーバ装置３からのメッセージ送信要求を受信し、持続接続受信部２１に端末装置１へのメッセージ送信を指示する。
【００４６】
活性接続管理部２４は、持続接続受信部２１に対して、端末装置１から最後に設定された持続コネクションを用いてメッセージを送信するよう指示する。
【００４７】
なお、他サーバ装置３は、端末装置１に対して何らかの処理の実行を命令するメッセージ送信アプリケーション３１（以下、メッセージ送信アプリ３１と記す。）を含んでいる。
【００４８】
次に、本実施形態の通信維持システムの各動作を説明する。
【００４９】
（持続コネクション設定）
図２は、端末装置１が持続コネクションを設定する動作例を示すフローチャートである。また、図３は、サーバ装置２が持続コネクションを設定する動作例を示すフローチャートである。以下、図２および図３を用いて、端末装置とサーバ装置との間で持続コネクションを設定する動作を説明する。なお、ここでは、持続期間計算部１２が高信頼間隔および拡張間隔を保持しているものとする。
【００５０】
端末装置１の持続接続管理部１１は、サーバ装置２との持続コネクションの設定を開始する（図２におけるステップＳ１０１）。持続接続管理部１１は、例えば、端末装置１が起動した時点、端末装置１に含まれるネットワーク装置（図示せず）が起動した時点、また、ユーザが端末装置１を操作して時点でサーバ装置２との持続コネクションの設定を開始する。
【００５１】
持続接続管理部１１は、持続期間計算部１２に対して持続コネクションの高信頼間隔と拡張間隔とを問い合わせる。持続期間計算部１２は、保持している高信頼間隔を取得する。そして、持続期間計算部１２は、現在の期間計算に用いられる変更モードが、拡大モードか縮小モードか定常モードかを判断する（ステップＳ１０２）。以降、判断されたモードと高信頼間隔とを基に拡張間隔が決定される。
【００５２】
変更モードが定常モードの場合（ステップＳ１０２における「定常モード」）、持続期間計算部１２は、拡張間隔と高信頼間隔とが同一であることを示す結果を持続接続管理部１１に通知する（ステップＳ１０３）。拡大モードまたは縮小モードの場合、持続期間計算部１２は、拡張間隔を計算により算出する。変更モードが拡大モードの場合（ステップＳ１０２における「拡大モード」）、持続期間計算部１２は、前回算出した拡張間隔よりも大きい値を今回の拡張間隔として算出する（ステップＳ１０４）。一方、変更モードが縮小モードの場合（ステップＳ１０２における「縮小モード」）、持続期間計算部１２は、前回算出した拡張間隔よりも小さい値を今回の拡張間隔として算出する（ステップＳ１０５）。
【００５３】
持続期間計算部１２は、例えば、前回決定した拡張間隔を保持しておき、拡大モードの場合には、前回の拡張間隔に高信頼間隔を加えた期間を拡張間隔としてもよい。一方、縮小モードの場合、持続期間計算部１２は、前回の拡張間隔から高信頼間隔を引いた値を算出し、その値の半分を高信頼間隔に加えた期間を拡張間隔としてもよい。
【００５４】
ただし、拡張間隔の算出方法は、上述する方法に限定されない。持続期間計算部１２は、例えば、拡大モードの場合、高信頼間隔の２倍の期間を拡張間隔としてもよい。また、縮小モードの場合、持続期間計算部１２は、高信頼間隔の半分の値をもとの高信頼間隔に足した値（すなわち、高信頼間隔の１．５倍）を拡張間隔としてもよい。
【００５５】
なお、拡張間隔は、高信頼間隔よりも長い期間になるように算出され、その算出方法は任意である。また、持続コネクションが１回も設定されておらず、高信頼間隔が存在しない場合には、端末装置で予め指定された初期値を拡張間隔とすればよい。ただし、初期値は、ミドルボックス装置４によりコネクションが無効化される期間よりも短く設定される。また、持続期間計算部１２は、初期状態では拡大モードで動作する。持続期間計算部１２は、決定した高信頼間隔および拡張間隔を持続接続管理部１１に通知する。
【００５６】
持続接続管理部１１は、持続コネクションを管理するための一意な接続識別子を発行する（ステップＳ１０６）。持続接続管理部１１は、発行した接続識別子、高信頼間隔および拡張間隔をタイムアウト処理部１３に通知する。
【００５７】
タイムアウト処理部１３は、現時点から高信頼間隔分経過した後に、接続識別子と高信頼間隔とを示す情報を含んだ高信頼間隔経過イベントを発生させるよう、端末装置１に付随のタイマ１７を設定する。また、タイムアウト処理部１３は、現時点から拡張間隔分経過した後に、接続識別子を含んだ拡張間隔経過イベントを発生させるよう、タイマ１７を設定する（ステップＳ１０７）。
【００５８】
なお、高信頼間隔が０の場合、タイムアウト処理部１３は、高信頼間隔経過イベントを発生させるためのタイマ設定を行わない。また、拡張間隔経過イベントを発生させるタイミングは、拡張間隔の経過と同時でなくてもよい。タイムアウト処理部１３は、例えば、拡張間隔経過イベントを、拡張間隔より既定分だけ長く時間が経過した後に発生させるようにタイマ１７を設定してもよい。
【００５９】
次に、持続接続管理部１１は、端末識別子管理部１４から端末装置１を識別するための端末識別子を取得する（ステップＳ１０８）。この端末識別子は、端末装置１のＩＰアドレスや、端末装置１を利用するユーザのユーザＩＤなど、端末を識別できる情報であればよい。
【００６０】
次に、持続接続管理部１１は、コネクション管理部１５に対して接続識別子、端末識別子、拡張間隔を渡して、持続コネクションの設定を指示する。すなわち、持続接続管理部１１およびコネクション管理部１５により、拡張間隔を指定してサーバ装置２との持続コネクションが設定される。コネクション管理部１５は、サーバ装置２との間で設定されている持続コネクションのうち、現在未使用と分類されるコネクションが存在するか否か確認する（ステップＳ１０９）。
【００６１】
未使用と分類されるコネクションが存在しない場合（ステップＳ１０９における「いいえ」）、コネクション管理部１５は、端末装置１からサーバ装置２に対して新しいコネクションの設定を開始する（ステップＳ１１０）。コネクション管理部１５は、サーバ装置２の持続接続受信部２１との間にコネクションを設定すると、そのコネクションを接続識別子と関連付けて管理する。
【００６２】
一方、未使用と分類されるコネクションが存在する場合（ステップＳ１０９における「はい」）、コネクション管理部１５は、そのコネクションを接続識別子と関連付けて管理する（ステップＳ１１１）。
【００６３】
次に、コネクション管理部１５は、接続識別子と関連付けた持続コネクションを通じて、サーバ装置２の持続接続受信部２１に端末識別子と拡張間隔とを含んだ通知（以下、新規キープアライブ期間更新通知と記す。）を送信する（ステップＳ１１２）。
【００６４】
サーバ装置２の持続接続受信部２１は、持続コネクションを通じて新規キープアライブ期間更新通知を受信すると（図３におけるステップＳ２０１）、その持続コネクションに対して一意な接続識別子を発行する（ステップＳ２０２）。そして、持続接続受信部２１は、その接続識別子と持続コネクションとを関連付けて保存する。また、持続接続受信部２１は、その接続識別子、および、新規キープアライブ期間更新通知に含まれる端末識別子を活性接続管理部２４に通知する。
【００６５】
活性接続管理部２４は、端末識別子と接続識別子を関連付けて記憶する。この時、活性接続管理部２４は、ある端末識別子に対し、別の接続識別子がすでに関連付けて記憶されているか否か確認する（ステップＳ２０３）。これらの識別子がすでに関連付けられている場合（ステップＳ２０３における「はい」）、活性接続管理部２４は、既存の関連付けを削除する（ステップＳ２０４）。一方、これらの識別子が関連付けられていない場合（ステップＳ２０３における「いいえ」）、ステップＳ２０５の処理に進む。
【００６６】
次に、活性接続管理部２４は、端末識別子と新しい接続識別子とを関連付けて記憶する（ステップＳ２０５）。持続接続受信部２１は、キープアライブ処理部２２に対して、接続識別子と新規キープアライブ期間更新通知に含まれる拡張間隔とを通知する。
【００６７】
キープアライブ処理部２２は、現時点（すなわち、持続コネクションが設定されて）から拡張間隔分経過した後に、接続識別子および拡張間隔を示す情報を含んだキープアライブイベントを発生するよう、サーバ装置２に付随のタイマ２５を設定する（ステップＳ２０６）。
【００６８】
（メッセージ送信）
図４は、サーバ装置２がメッセージを送信する処理の例を示すフローチャートである。また、図５は、端末装置１がメッセージを受信する処理の例を示すフローチャートである。以下、図４および図５を用いて、サーバ装置２が端末装置１に対してメッセージを送信したときの動作を説明する。
【００６９】
サーバ装置２のメッセージ送信部２３は、他サーバ装置３、または、サーバ装置２内の各アプリケーションから端末装置１に対するメッセージの送信要求を受理すると（ステップＳ３０１）、メッセージを送信する端末を特定する（ステップＳ３０２）。
【００７０】
メッセージ送信部２３は、例えば、送信要求に含まれる端末識別子から端末を特定してもよい。また、送信要求に端末識別子とは異なる別の識別子が含まれる場合、メッセージ送信部２３は、例えば、その識別子と端末識別子とを関連づけて管理する外部装置（図１において図示せず）へ端末識別子を要求し、その外部装置から受け取った端末識別子から端末を特定してもよい。
【００７１】
メッセージ送信部２３は、持続接続受信部２１に端末識別子および送信するメッセージを通知する。持続接続受信部２１は、端末識別子に関連付けられた接続識別子を活性接続管理部２４から取得する。具体的には、活性接続管理部２４は、持続接続受信部２１の要求に応じ、活性接続情報として保持する端末識別子と接続識別子との関連付けより、接続識別子を特定する（ステップＳ３０３）。活性接続管理部２４は、特定した接続識別子を持続接続受信部２１に通知し、その接続識別子を含んだキープアライブイベントの発生をキャンセルする（ステップＳ３０４）。
【００７２】
次に、持続接続受信部２１は、その接続識別子と関連付けられた持続コネクションを取得し（ステップＳ３０５）、その持続コネクションを通じて端末装置１のコネクション管理部１５にメッセージを送信する（ステップＳ３０６）。
【００７３】
端末装置１のコネクション管理部１５は、ある持続コネクションを通じてメッセージを受信する（図５におけるステップＳ４０１）と、そのメッセージをメッセージ受信部１６に通知する。メッセージ受信部１６は、メッセージの内容に応じた処理を実行する（ステップＳ４０２）。なお、メッセージ受信部１６が行う処理は各端末装置１により、独自に定められるため、ここでは、詳細な説明を省略する。
【００７４】
次に、コネクション管理部１５は、メッセージを受信した持続コネクションと関連付けて保存されている接続識別子を取得する（ステップＳ４０３）。コネクション管理部１５は、接続識別子で示される持続コネクションを介してメッセージを受信したことを持続接続管理部１１に通知し、その持続コネクションを未使用に分類する（ステップＳ４０４）。
【００７５】
持続接続管理部１１は、メッセージを受信したことを通知されると、接続識別子をタイムアウト処理部１３に通知する。タイムアウト処理部１３は、通知された接続識別子を含む高信頼間隔経過イベントおよび拡張間隔経過イベントの発生をキャンセルする（Ｓ４０５）。また、持続接続管理部１１は、即座に、または、一定時間経過後に、ステップＳ１０１以降の処理を実行する。すなわち、端末装置１は、サーバ装置２との間に持続コネクションを再度設定する。
【００７６】
（高信頼間隔経過）
次に、端末装置１で高信頼間隔経過イベントが発生した場合について図６を用いて説明する。図６は、端末装置１で高信頼間隔経過イベントが発生した場合の動作例を示すフローチャートである。
【００７７】
端末装置１で高信頼間隔経過イベントが発生した場合（ステップＳ５０１）、すなわち、高信頼間隔経過イベントに含まれる接続識別子で示される持続コネクションを利用したメッセージを高信頼間隔の間受信しなかった場合、タイムアウト処理部１３は、その接続識別子で示される持続コネクションの高信頼間隔経過を持続接続管理部１１に通知する。
【００７８】
持続接続管理部１１は、持続期間計算部１２が保持する現在の動作モードを確認する（ステップＳ５０２）。持続期間計算部１２が保持するモードが定常モードだった場合（ステップＳ５０２における「はい」）、持続接続管理部１１は、持続期間計算部１２より現在の高信頼間隔を取得する（ステップＳ５０３）。そして、持続接続管理部１１は、タイムアウト処理部１３に対して、その持続コネクションの拡張間隔経過イベントの発生をキャンセルさせる（ステップＳ５０４）。
【００７９】
そして、高信頼間隔経過イベントに含まれる高信頼間隔が現在の高信頼間隔より短い場合（ステップＳ５０５における「はい」）、持続接続管理部１１は、処理を終了する。一方、高信頼間隔経過イベントに含まれる高信頼間隔が現在の高信頼間隔以上の場合（ステップＳ５０５における「いいえ」）、図２に例示するステップＳ１０１以降の処理が実行される。すなわち、サーバ装置との間に持続コネクションが設定される。
【００８０】
一方、ステップＳ５０２において、持続期間計算部１２が保持するモードが定常モード以外の場合（ステップＳ５０２における「いいえ」）、図２に例示するステップＳ１０１以降の処理が実行される。すなわち、サーバ装置との間に持続コネクションが追加される。この時、高信頼間隔≦拡張間隔であるので、高信頼間隔＝拡張間隔以外の場合には、端末装置とサーバ装置との間には複数本の持続コネクションが設定されることとなる。
【００８１】
（キープアライブ期間経過）
図７は、サーバ装置２でキープアライブイベントが発生した場合の処理の例を示すフローチャートである。また、図８は、端末装置１でキープアライブパケットを受信した場合の処理の例を示すフローチャートである。以下、図７および図８を用いて、サーバ装置２でキープアライブイベントが発生した場合の動作を説明する。
【００８２】
サーバ装置２でタイマ２５によるキープアライブイベントが発生した場合（図７におけるステップＳ６０１）、すなわち、キープアライブイベントに含まれる接続識別子で示される持続コネクションを利用したメッセージ送信が、拡張間隔の間なかった場合、キープアライブ処理部２２は、キープアライブイベントを受けつける。そして、キープアライブ処理部２２は、持続接続受信部２１に対して、接続識別子で示される持続コネクションを用いたキープアライブパケットの送信を指示する。キープアライブパケットには、キープアライブイベントに含まれる拡張間隔を示す情報が含まれる。
【００８３】
持続接続受信部２１は、接続識別子で示される持続コネクションを取得し（ステップＳ６０２）、キープアライブパケットを送出する（ステップＳ６０３）。この時、持続コネクションに設定された拡張間隔が、ミドルボックス装置４で設定されているコネクション無効化期限と同じか短い場合、キープアライブパケットは、端末装置１に到達する。一方、持続コネクションに設定された拡張間隔が、ミドルボックス装置４で設定されているコネクション無効化期限より長い場合、持続コネクションは、無効化され、キープアライブパケットは、端末装置１に到達しない。
【００８４】
キープアライブパケットが端末装置１に到達し、コネクション管理部１５で受信されると（図８におけるステップＳ７０１）、コネクション管理部１５は、その持続コネクションに関連付けられた持続識別子を取得する（ステップＳ７０２）。そして、コネクション管理部１５は、持続接続管理部１１に対してキープアライブの受信を通知し、その持続コネクションを未使用に分類する（ステップＳ７０３）。
【００８５】
持続接続管理部１１は、その接続識別子を含む高信頼間隔経過イベント、拡張間隔経過イベントの発生をキャンセルするようタイムアウト処理部１３に指示する（ステップＳ７０４）。
【００８６】
次に、持続接続管理部１１は、持続期間計算部１２のモードを確認する（ステップＳ７０５）。持続期間計算部１２が保持するモードが定常モードの場合（ステップＳ７０５における「定常モード」）、持続接続管理部１１は、図２に例示するステップＳ１０１以降の処理を実行する。すなわち、サーバ装置との間に持続コネクションが設定される。
【００８７】
また、持続期間計算部１２が保持するモードが縮小モードの場合（ステップＳ７０５における「縮小モード」）、持続接続管理部１１は、持続期間計算部１２のモードを定常モードに変更し（ステップＳ７０６）、処理を終了する。
【００８８】
また、持続期間計算部１２が保持するモードが拡大モードの場合（ステップＳ７０５における「拡大モード」）、持続接続管理部１１は、受信したキープアライブパケットに含まれる拡張間隔を高信頼間隔として持続期間計算部１２に通知する（ステップＳ７０７）。持続期間計算部１２は、受け取った高信頼間隔を保持する。この高信頼間隔は、図２に例示するステップＳ１０３〜Ｓ１０５において、拡張間隔を次回決定する際に利用される。
【００８９】
このように、持続接続管理部１１およびコネクション管理部１５が、持続コネクションを設定してから高信頼間隔が経過した時点で、キープアライブパケットの受信状態（例えば、変更モード）に応じて決定される拡張間隔を指定した新たな持続コネクションをサーバ装置２との間に設定する。高信頼間隔でサーバ装置２との接続を行っていれば、ミドルボックス装置４によって持続コネクションを無効にされることはない。そのため、端末装置１とサーバ装置２の間のコネクションを維持できる。
【００９０】
さらに、持続接続管理部１１が、新たな持続コネクションに基づくキープアライブパケットをサーバ装置２から受信したときに、その持続コネクションの設定により指定された拡張間隔を高信頼間隔に設定する。拡張間隔を高信頼間隔に設定することで、接続を維持するための処理間隔を長くできる。すなわち、両装置間でコネクションを維持するための処理を低減できるため、通信負荷を抑制できる。
【００９１】
（拡張間隔経過）
次に、端末装置１で拡張間隔経過イベントが発生した場合の動作を図９を用いて説明する。図９は、端末装置１で拡張間隔経過イベントが発生した場合の処理例を示すフローチャートである。
【００９２】
端末装置１で拡張間隔経過イベントが発生した場合（ステップＳ８０１）、すなわち、タイムアウト処理部１３が、拡張間隔経過イベントに含まれる接続識別子で示される持続コネクションを利用したメッセージを受信せず、かつ、サーバ装置２からのキープアライブパケットも拡張間隔経過前に受信しなかった場合、タイムアウト処理部１３は、その接続識別子で示される持続コネクションのタイムアウトを持続接続管理部１１に通知する。持続接続管理部１１は、その接続識別子を持つ持続コネクションの破棄をコネクション管理部１５に通知する。
【００９３】
コネクション管理部１５は、接続識別子に関連付けられた持続コネクションを破棄する（ステップＳ８０２）。次に、持続接続管理部１１は、縮小モード（ステップＳ８０３）として動作するよう持続期間計算部１２に指示する。すなわち、持続接続管理部１１は、持続期間計算部１２が保持するモードを縮小モードに変更させる。
【００９４】
以上のように、本実施形態によれば、端末装置１は、高信頼間隔と拡張間隔を保持し、拡張間隔を指定してサーバ装置２との持続コネクションを設定する。サーバ装置２は、端末装置１との間に持続コネクションが設定されてから、その持続コネクションの設定で指定された拡張間隔が経過した時点で、端末装置１にキープアライブパケットを送信する。
【００９５】
また、端末装置１は、持続コネクションを設定してから高信頼間隔が経過した時点で、キープアライブパケットの受信状態（例えば、変更モード）に応じて決定される拡張間隔を指定した新たな持続コネクションをサーバ装置２との間に設定する。そして、端末装置１は、新たな持続コネクションに基づくキープアライブパケットをサーバ装置２から受信したときに、その持続コネクションの設定により指定された拡張間隔を高信頼間隔に設定する。
【００９６】
よって、所定期間で装置間のコネクションが無効になる（例えば、ミドルボックス装置４を含む）通信ネットワークにおいても、装置間のコネクションを維持しつつ、コネクションを維持するための通信負荷を抑制できる。
【００９７】
すなわち、本実施形態では、装置間で設定されるいずれかの持続コネクションを用いて高信頼間隔で通信が行われる。そのため、装置間でのパケットの到達を保証することが可能になる。具体的には、ある持続コネクションの拡張間隔を長く設定しても、無応答期間が発生することがなくなる。
【００９８】
また、ある時点におけるサーバ装置２のキープアライブ間隔がミドルボックス装置４のコネクション無効化期限より小さくても、拡張間隔を長く設定することで、キープアライブ間隔をより早くミドルボックス装置４のコネクション無効化期限に近づけることができる。よって、ネットワークにかける無駄な負荷を軽減できる。
【実施例】
【００９９】
以下、具体的な実施例により本発明を説明するが、本発明の範囲は以下に説明する内容に限定されない。図１０は、本実施形態の通信維持システムの動作例を示す説明図である。図１０では、横軸が経過時間を示し、縦軸が端末装置１で持続コネクションを設定した順番を示している。【０１００】
また、本実施例では、ミドルボックス装置４のコネクション無効化期限を９分とし、初期の拡張間隔を２分とする。また、拡張間隔には、前回持続コネクションを設定した際の拡張間隔に、現在の高信頼間隔を加算した値が用いられる。なお、図１０において、各持続コネクションを設定する際の高信頼間隔を「高＝」および白矩形で示し、各持続コネクションを設定する際に指定される拡張間隔を「拡＝」で示す。また、図１０において、各持続コネクションを設定する際に指定される拡張間隔と高信頼間隔との差分を網掛矩形で示す。【０１０１】
初期状態では、高信頼間隔が設定されていないため、まず、端末装置１は、拡張間隔が２分である持続コネクション１をサーバ装置２との間で設定する。なお、以下の説明で「経過後」とは、持続コネクション１が設定されてからの時間の経過を示す。【０１０２】
２分経過後、サーバ装置２は、持続コネクション１についてのキープアライブイベントを発生させる。すると、キープアライブ期間が２分に設定されたキープアライブパケットが端末装置１に到達する。そのため、端末装置１では、高信頼間隔が２分に設定される。また、このタイミングで、端末装置１は、高信頼間隔が２分および拡張間隔が４分である持続コネクション２を用いてサーバ装置２に接続される。【０１０３】
４分経過後（すなわち、２分経過後から高信頼間隔の２分が経過したとき）、端末装置１は、持続コネクション２についての高信頼間隔経過イベントを発生させる。すると、端末装置１は、高信頼間隔が２分および拡張間隔が６分である持続コネクション３をサーバ装置２との間で設定する。【０１０４】
６分経過後、サーバ装置２は、持続コネクション２についてのキープアライブイベントを発生させる。すると、キープアライブ期間が４分に設定されたキープアライブパケットが端末装置１に到達する。持続コネクション２の拡張間隔は４分であるため、端末装置１では、高信頼間隔が４分に設定される。また、このタイミングで、端末装置１は、高信頼間隔が４分および拡張間隔が１０分である持続コネクション４を用いてサーバ装置２に接続される。【０１０５】
１０分経過後、サーバ装置２は、持続コネクション３についてのキープアライブイベントを発生させる。すると、キープアライブ期間が６分に設定されたキープアライブパケットが端末装置１に到達する。持続コネクション３の拡張間隔は６分であるため、端末装置１では、高信頼間隔が６分に設定される。また、このタイミングで、端末装置１は、高信頼間隔が６分および拡張間隔が１６分である持続コネクション５を用いてサーバ装置２に接続される。【０１０６】
１６分経過後、サーバ装置２は、持続コネクション４についてのキープアライブイベントを発生させる。すると、サーバ装置２は、キープアライブ期間が１０分に設定されたキープアライブパケットを端末装置１に向けて送信する。しかし、ミドルボックス装置４のコネクション無効化期限が９分であるため、このキープアライブパケットは端末装置１に到達しない。よって、このタイミングで、端末装置１は、持続コネクション４についての拡張間隔経過イベントを発生させ、持続期間計算部１２は、保持するモードを縮小モードにする。【０１０７】
また、１６分経過後には、端末装置１は、持続コネクション５についての高信頼間隔経過イベントを発生させる。すると、端末装置１は、高信頼間隔が６分および拡張間隔が１１分である持続コネクション６をサーバ装置２との間で設定する。ここで、拡張間隔の１１分は、前回の拡張間隔である１６分から、高信頼間隔の６分を引いた値（１０分）の半分に、高信頼間隔の６分を加算して（すなわち、（前回の拡張間隔１６分−高信頼間隔６分）÷２＋高信頼間隔６分）算出される。【０１０８】
２２分経過後、端末装置１は、持続コネクション６についての高信頼間隔経過イベントを発生させる。すると、端末装置１は、高信頼間隔が６分および拡張間隔が９分である持続コネクション７をサーバ装置２との間で設定する。ここで、拡張間隔の９分は、前回の拡張間隔である１１分から、高信頼間隔の６分を引いた値（５分）の半分に、高信頼間隔の６分を加算して（すなわち、（前回の拡張間隔１１分−高信頼間隔６分）÷２＋高信頼間隔６分）算出される。なお、０．５分は、１分に切り上げて算出されるとする。【０１０９】
２６分経過後、サーバ装置２は、持続コネクション５についてのキープアライブイベントを発生させる。すると、サーバ装置２は、キープアライブ期間が１６分に設定されたキープアライブパケットを端末装置１に向けて送信する。しかし、ミドルボックス装置４のコネクション無効化期限が９分であるため、このキープアライブパケットは端末装置１に到達しない。よって、このタイミングで、端末装置１は、持続コネクション４についての拡張間隔経過イベントを発生させる。ただし、持続期間計算部１２が保持するモードは、すでに縮小モードであるため、特に何も行われない。【０１１０】
２７分経過後、サーバ装置２は、持続コネクション６についてのキープアライブイベントを発生させる。すると、サーバ装置２は、キープアライブ期間が１１分に設定されたキープアライブパケットを端末装置１に向けて送信する。しかし、ミドルボックス装置４のコネクション無効化期限が９分であるため、このキープアライブパケットは端末装置１に到達しない。よって、このタイミングで、端末装置１は、持続コネクション４についての拡張間隔経過イベントを発生させる。ただし、持続期間計算部１２が保持するモードは、すでに縮小モードであるため、特に何も行われない。【０１１１】
２８分経過後、端末装置１は、持続コネクション７についての高信頼間隔経過イベントを発生させる。すると、端末装置１は、高信頼間隔が６分および拡張間隔が８分である持続コネクション８をサーバ装置２との間で設定する。ここで、拡張間隔の８分は、前回の拡張間隔である９分から、高信頼間隔の６分を引いた値（３分）の半分に、高信頼間隔の６分を加算して（すなわち、（前回の拡張間隔９分−高信頼間隔６分）÷２＋高信頼間隔６分）算出される。なお、０．５分は、１分に切り上げて算出されるとする。【０１１２】
３１分経過後、サーバ装置２は、持続コネクション７についてのキープアライブイベントを発生させる。すると、キープアライブ期間が９分に設定されたキープアライブパケットが端末装置１に到達する。ミドルボックス装置４のコネクション無効化期限が９分であるため、このキープアライブパケットは端末装置１に到達する。そして、持続コネクション７の拡張間隔は９分であるため、端末装置１では、高信頼間隔が９分に設定される。このとき、端末装置１は、持続コネクション４についての拡張間隔経過イベントを発生させ、持続期間計算部１２は、保持するモードを定常モードにする。以降、端末装置１は、高信頼間隔が９分に設定された状態で動作する。【０１１３】
３４分経過後、端末装置１は、持続コネクション８についての高信頼間隔経過イベントを発生させる。このとき、持続期間計算部１２が保持するモードは定常モードであり、また、イベントの高信頼間隔が６分で現在の高信頼間隔が９分であるため、何も行われない。【０１１４】
３６分経過後、サーバ装置２は、持続コネクション８についてのキープアライブイベントを発生させる。すると、サーバ装置２は、キープアライブ期間が８分に設定されたキープアライブパケットを端末装置１に向けて送信する。端末装置１では、持続期間計算部１２が保持するモードが定常モードであるため、端末装置１は、高信頼間隔および拡張間隔がいずれも９分である持続コネクション９をサーバ装置２との間で設定する。【０１１５】
以後、サーバ装置２は、９分ごとにキープアライブパケットを端末装置１に送信し、端末装置１は、キープアライブパケットを受信するたびに、持続コネクションをサーバ装置２との間に設定する。【０１１６】
次に、本発明の概要を説明する。図１１は、本発明による通信維持システムの概要を示すブロック図である。本発明による通信維持システムは、サーバ装置８０（例えば、サーバ装置２）と、サーバ装置８０との間に設定される持続コネクションを用いてサーバ装置８０と通信を行う端末装置９０（例えば、端末装置１）とを備えている。【０１１７】
サーバ装置８０と端末装置９０は、持続コネクションを用いた通信が予め定められた期間であるキープアライブ間隔行われなかった場合に、その持続コネクションを無効にする少なくとも１つ以上のミドルボックス装置（例えば、ミドルボックス装置４）を介して相互に接続される。【０１１８】
端末装置９０は、持続コネクションが有効であると確認できた場合のキープアライブ間隔のうち最大の期間である高信頼間隔と、持続コネクションが有効か否かの確認に用いられる高信頼間隔よりも長い期間の拡張間隔を保持し、拡張間隔を指定してサーバ装置８０との持続コネクションを設定する接続管理部９１（例えば、持続接続管理部１１、コネクション管理部１５）を含む。【０１１９】
サーバ装置８０は、端末装置９０との間に持続コネクションが設定されてから、その持続コネクションの設定で指定された拡張間隔経過した時点で、端末装置９０にキープアライブパケットを送信するパケット送信部８１（例えば、持続接続受信部２１）を含む。【０１２０】
端末装置９０の接続管理部９１は、持続コネクションを設定してから高信頼間隔が経過した時点で、キープアライブパケットの受信状態に応じて決定される拡張間隔を指定した新たな持続コネクションをサーバ装置８０との間に設定し、その新たな持続コネクションに基づくキープアライブパケットをサーバ装置８０から受信したときに、その持続コネクションの設定により指定された拡張間隔を高信頼間隔に設定する。【０１２１】
そのような構成により、所定期間で装置間のコネクションが無効になる通信ネットワークにおいても、装置間のコネクションを維持しつつ、コネクションを維持するための通信負荷を抑制できる。【０１２２】
具体的には、端末装置９０は、拡張間隔の変更方法を示す変更モードとして、新しく設定する持続コネクションの拡張間隔を徐々に増加させていく拡大モード、拡張間隔を徐々に減少させていく縮小モード、または、拡張間隔を変化させない定常モードのいずれかの変更モードを保持し、その変更モードおよび高信頼間隔をもとに、拡張間隔を決定する持続期間計算部を含んでいてもよい。そして、接続管理部９１は、キープアライブパケットの受信状態に応じて変更モードを決定し、その変更モードおよび高信頼間隔をもとに決定される拡張間隔を指定した新たな持続コネクションをサーバ装置８０との間に設定してもよい。【０１２３】
また、持続期間計算部は、初期状態で変更モードとして拡張モードを保持していてもよい。具体的には、接続管理部９１は、持続期間計算部が変更モードとして拡張モードを保持している状態で、新たな持続コネクションに基づくキープアライブパケットをサーバ装置８０から受信しなかったとき、変更モードを拡張モードから縮小モードに変更し、その変更モードおよび高信頼間隔をもとに決定される拡張間隔を指定した新たな持続コネクションをサーバ装置８０との間に設定してもよい。【０１２４】
さらに、接続管理部９１は、持続期間計算部が変更モードとして縮小モードを保持している状態で、新たな持続コネクションに基づくキープアライブパケットをサーバ装置８０から受信したとき、変更モードを縮小モードから定常モードに変更し、その持続コネクションの設定により指定された拡張間隔をもとに設定される高信頼間隔を指定した新たな持続コネクションをサーバ装置との間に設定してもよい。【０１２５】
また、持続期間計算部は、保持する変更モードが定常モードの場合、高信頼間隔を拡張間隔と決定し、保持する変更モードが拡大モードの場合、前回決定した拡張間隔よりも長い期間を示す間隔に拡張間隔を決定し、保持する変更モードが縮小モードの場合、前回決定した拡張間隔よりも短い期間を示す間隔に拡張間隔を決定してもよい。【０１２６】
また、図１２は、本発明による端末装置の概要を示すブロック図である。本発明による端末装置は、図１１に例示する端末装置９０と同様であるため、説明を省略する。図１２に例示する端末装置を用いることで、所定期間で装置間のコネクションが無効になる通信ネットワークにおいても、装置間のコネクションを維持しつつ、コネクションを維持するための通信負荷を抑制できる。【０１２７】
上記の実施形態の一部又は全部は、以下のようにも記載され得るが、以下の記載に限定されない。【０１２８】
通信維持システムは、ユーザが操作する端末装置と、端末装置に対してメッセージ送信を仲介するサーバ装置と、端末装置に対してメッセージを送信して端末装置を操作するユーザに対してサービスを提供する他サーバ装置と、ファイアーウォール機能やＮＡＴ機能により端末装置とサーバ装置との間の通信を監視、中継、破棄するミドルボックス装置を備えていてもよい。このとき、端末装置は、端末が起動した時点、もしくは、端末装置上のネットワーク装置が起動した時点、もしくは、ユーザが操作して時点で、サーバ装置との持続コネクションの設定を開始し、サーバ装置との間で維持する持続コネクションが有効であると確認できた期間のうち最大のものを高信頼間隔とし、サーバ装置との間で設定する持続コネクションが有効かどうかを確認する間隔を拡張間隔として保持し、高信頼間隔の最大値が定まっていない状態では高信頼間隔経過後に、サーバ装置との間に新たに持続コネクションを設定し、高信頼間隔の最大値が定まった場合には、サーバ装置からの持続コネクションが有効かどうかを確認するキープアライブパケットを受信した際にサーバ装置との間に新たに持続コネクションを設定することで、サーバ装置との間で持続コネクションを維持し続ける持続接続管理部と、高信頼間隔及び拡張間隔を保持し、新しく設定する持続コネクションの拡張間隔を徐々に増加させていく拡大モードか、拡張間隔を徐々に減少させていく縮小モードか、拡張間隔を変化させない定常モードかを保持し、そのモードと高信頼間隔を基に拡張間隔を決定する持続期間計算部と、サーバ装置との間で持続コネクションを設定する際に、現時点から高信頼間隔経過後に高信頼間隔経過イベント、現時点から拡張間隔経過後に拡張間隔経過イベントを発生するよう端末に付随のタイマに設定するタイムアウト処理部と、端末装置を一意に識別するための端末識別子を取得する端末識別子管理部と、サーバ装置との間のＴＣＰ／ＩＰコネクションを持続コネクションとして設定し、設定した際にサーバ装置に対して拡張間隔を通知するコネクション管理部と、サーバ装置との間の持続コネクションを通して、サーバ装置から送信されたメッセージを受信し、既定の処理を実行するメッセージ受信部とを含んでいてもよい。また、サーバ装置は、端末装置との間で持続コネクションを管理し、持続コネクションが導通しているかどうかを試行するためのキープアライブパケットを送信したり、端末装置に対してメッセージを送信したりする持続接続受信部と、端末装置から送信された拡張間隔に基づき、現時点から拡張間隔経過後に持続コネクションが導通しているかどうかを試行するキープアライブ処理部と、他サーバ装置からの端末装置に対するメッセージ送信要求を受理し、持続接続受信部に当該端末装置へのメッセージの送信を指示するメッセージ送信部と、
持続接続受信部に対して、当該端末装置から一番最後に設定された持続コネクションを用いてメッセージを送信するよう指示する活性接続管理部とを含んでいてもよい。【０１２９】
また、通信維持システムの端末装置は、端末装置が起動した時点、もしくは、端末装置上のネットワーク装置が起動した時点、もしくは、ユーザが操作した時点で、持続接続管理部はサーバとの持続コネクションの設定を開始し、持続期間計算部に対して持続コネクションの高信頼間隔と拡張間隔とを問い合わせ、持続期間計算部が、保持している高信頼間隔を取得して、現在の期間計算が、拡大モードか縮小モードか定常モードかを判断し、定常モードの場合、拡張間隔は高信頼間隔と同一として持続接続管理部に渡し、拡大モード時に算出する拡張間隔を前回算出した拡張間隔よりも大きい値として算出し、縮小モード時に算出する拡張間隔を前回算出した拡張間隔よりも小さい値として算出し、持続接続管理部が、持続コネクションを管理するための一意な接続識別子を発行し、接続識別子と高信頼間隔、拡張間隔とをタイムアウト処理部に対して渡し、タイムアウト処理部が、現時点から高信頼間隔経過後に接続識別子と当該高信頼間隔とを含んだ高信頼間隔経過イベント、現時点から拡張間隔経過後に接続識別子を含んだ拡張間隔経過イベントを発生するよう端末に付随のタイマを設定し、持続接続管理部が、端末識別子管理部から端末を識別するための端末識別子を取得し、コネクション管理部に対して接続識別子、端末識別子、拡張間隔を渡して、持続コネクションの設定を指示し、コネクション管理部が、サーバ装置との間で設定されている持続コネクションで、現在未使用と分類されたコネクションがあるか確認し、未使用のコネクションがなければ、端末装置からサーバ装置に対して新しいコネクションの設定を開始し、サーバ装置の持続接続受信部との間にコネクションを設定して、当該コネクションを接続識別子と関連付けて管理し、未使用のコネクションがあれば、当該コネクションを接続識別子と関連付けて管理し、接続識別子と関連付けた持続コネクションを通じて、サーバ装置の持続接続受信部に端末識別子と拡張間隔とを含んだ新規キープアライブ期間更新通知を送信してもよい。【０１３０】
また、通信維持システムのサーバ装置は、持続接続受信部が、持続コネクションを通じて新規キープアライブ期間更新通知を受信すると、当該持続コネクションに対して一意な接続識別子を発行し、当該接続識別子と当該持続コネクションとを関連付けて保存し、活性接続管理部に対して当該接続識別子、新規キープアライブ期間更新通知に含まれる端末識別子を活性接続管理部に対して渡し、活性接続管理部が、既に当該端末識別子と別の接続識別子とが関連付けて保管しているか確認し、関連付けられている場合は既存の関連付けを削除し、端末識別子と新しい接続識別子とを関連付けて保管し、持続接続受信部が、キープアライブ処理部に対して、接続識別子と新規キープアライブ期間更新通知に含まれる拡張間隔とを渡し、キープアライブ処理部が、現時点から拡張間隔経過後に接続識別子、拡張間隔を含んだキープアライブイベントを発生するよう装置に付随のタイマを設定するようにしてもよい。【０１３１】
また、通信維持システムの端末装置は、コネクション管理部が、ある持続コネクションを通じてメッセージを受信すると、当該メッセージをメッセージ受信部に渡し、メッセージ受信部が、メッセージの内容に応じた処理を実行し、コネクション管理部が、メッセージを受信した持続コネクションと関連付けて保存した接続識別子を取得し、持続接続管理部に対して接続識別子で示される持続コネクションでメッセージを受信したことを通知し、当該持続コネクションを未使用としてマークし、持続接続管理部が、メッセージの受信を通知されると、当該接続識別子をタイムアウト処理部に対して渡し、タイムアウト処理部が、渡された接続識別子を含む高信頼間隔経過イベントおよび拡張間隔経過イベントの発生をキャンセルし、既定時間経過後に再度サーバ装置との間に持続コネクションを設定してもよい。【０１３２】
また、通信維持システムの端末装置は、高信頼間隔経過イベントが発生すると、タイムアウト処理部が、持続接続管理部に対して高信頼間隔経過イベントの接続識別子で示される持続コネクションの高信頼間隔経過を通知し、持続接続管理部が、持続期間計算部の現在の動作モードを確認し、持続期間計算部の動作モードが定常状態だった場合、持続期間計算部より現在の高信頼間隔を取得し、タイムアウト処理部に対して当該持続コネクションの拡張間隔経過イベントの発生をキャンセルし、高信頼間隔経過イベントに含まれる高信頼間隔が現在の高信頼間隔より短い場合は処理を終了し、高信頼間隔経過イベントに含まれる高信頼間隔が、現在の高信頼間隔と同じか長い場合、もしくは、持続期間計算部の動作モードが定常状態以外だった場合、サーバ装置との間に持続コネクションを追加してもよい。【０１３３】
また、通信維持システムのサーバ装置は、キープアライブイベントが発生すると、キープアライブ処理部が、持続接続受信部に対して、キープアライブイベントの接続識別子で示される持続コネクションに対してキープアライブイベントに含まれる拡張間隔を内容として持つキープアライブパケットの送信を指示し、持続接続受信部が、接続識別子で示される持続コネクションを取得し、キープアライブパケットを送出してもよい。【０１３４】
また、通信維持システムの端末装置は、キープアライブパケットをコネクション管理部で受信すると、コネクション管理部が、当該持続コネクションに関連付けられた持続識別子を取得し、持続接続管理部に対してキープアライブの受信を通知し、当該持続コネクションを未使用としてマークし、持続接続管理部が、タイムアウト処理部に対して当該接続識別子を含む高信頼間隔経過イベント、拡張間隔経過イベントの発生をキャンセルさせ、持続期間計算部の動作モードを確認し、持続期間計算部のモードが定常モードの場合、サーバ装置との間に再度持続コネクションを設定し、持続期間計算部のモードが縮小モードだった場合、持続接続管理部は持続期間計算部のモードを定常モードにし、持続期間計算部のモードが拡大モードだった場合、受信したキープアライブパケットに含まれる拡張間隔を高信頼間隔として持続期間計算部に対して通知し、持続期間計算部が、受け取った高信頼間隔を保持してもよい。【０１３５】
また、通信維持システムの端末装置は、拡張間隔経過イベントが発生すると、タイムアウト処理部が、持続接続管理部に対して当該接続識別子で示される持続コネクションのタイムアウトを通知し、持続接続管理部が、コネクション管理部に対して当該接続識別子を持つ持続コネクションの破棄を通知し、コネクション管理部が、接続識別子に関連付けられた持続コネクションを破棄し、持続接続管理部が、持続期間計算部に対して縮小モードとして動作するよう指示してもよい。【０１３６】
以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。【０１３７】
この出願は、２０１２年７月１７日に出願された日本特許出願２０１２−１５８６７４を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【０１３８】
本発明は、装置間の通信を維持する通信維持システムに好適に適用される。
【符号の説明】
【０１３９】
１  端末装置
２  サーバ装置
３  他サーバ装置
４  ミドルボックス装置
１１  持続接続管理部
１２  持続期間計算部
１３  タイムアウト処理部
１４  端末識別子管理部
１５  コネクション管理部
１６  メッセージ受信部
２１  持続接続受信部
２２  キープアライブ処理部
２３  メッセージ送信部
２４  活性接続管理部
３１  メッセージ送信アプリ
【図１】
2014013674.tif 000003
【図２】
2014013674.tif 000004
【図３】
2014013674.tif 000005
【図４】
2014013674.tif 000006
【図５】
2014013674.tif 000007
【図６】
2014013674.tif 000008
【図７】
2014013674.tif 000009
【図８】
2014013674.tif 000010
【図９】
2014013674.tif 000011
【図１０】
2014013674.tif 000012
【図１１】
2014013674.tif 000013
【図１２】
2014013674.tif 000014
【国際調査報告】
2014013674.tif 000015
2014013674.tif 000016