(57)【要約】【課題】アプリケーションプログラムに対し個別に通信の接続先の情報を設定しなくとも、通信を要求したアプリケーションプログラムに対応した接続先へ接続する。【解決手段】通信管理部１０２は、デフォルト設定したアクセスポイントへ通信部１３を接続させ（Ｓ１〜Ｓ３）、アプリケーションプログラムの起動又は通信の開始を検知すると（Ｓ４，Ｓ５）、アプリケーションプログラムの電子証明書に含まれる所有者情報に基づいて、接続先のアクセスポイントを切り替えるかどうかを判断する（Ｓ６，Ｓ７）。通信管理部１０２は、接続先のアクセスポイントを切り替える場合（Ｓ７；ＹＥＳ）、当該アクセスポイントを特定するＡＰＮを指定した接続要求信号に基づいてアクセスポイントを切り替える（Ｓ８）。通信が終了すると、通信管理部１０２は、デフォルトのアクセスポイントへの接続に切り替える（Ｓ１０〜Ｓ１３）。【選択図】図５
2015103862.tif 000002
【特許請求の範囲】
【請求項１】
複数のアプリケーションプログラム、及び、前記アプリケーションプログラムに対応付けられた接続先情報と、前記アプリケーションプログラムに関連する所有者情報とを含む設定情報を記憶する記憶部と、
通信の開始に先立ち、自通信端末の所有者により、前記設定情報の前記接続先情報が示す少なくとも１つの接続先が設定されており、
前記アプリケーションプログラムに基づく通信が行われる場合に、当該アプリケーションプログラムの前記所有者情報に基づいて、前記設定情報の何れかの前記接続先情報が示す接続先を設定する設定部と、
設定された前記接続先と通信を行う通信部と
を備える通信端末。
【請求項２】
前記所有者情報は、電子証明書又は前記アプリケーションプログラムの作成者情報を含み、
前記設定部は、
前記所有者により設定された接続先に対応する電子証明書又は前記アプリケーションプログラムの作成者情報に基づいて、前記接続先を設定する
ことを特徴とする請求項１に記載の通信端末。
【請求項３】
前記設定部は、
前記電子証明書又は当該アプリケーションプログラムの作成者情報に対し前記設定情報として通信制限を設定し、
前記通信部は、
前記アプリケーションプログラムに基づいて行う通信において、当該アプリケーションプログラムの電子証明書又は当該アプリケーションプログラムの作成者情報に設定された前記通信制限を適用する
ことを特徴とする請求項２に記載の通信端末。
【請求項４】
前記通信部は、
実行中の前記アプリケーションプログラムが特定状態に遷移した場合に、当該通信における接続先との通信を行う
ことを特徴とする請求項１から３の何れか１項に記載の通信端末。
【請求項５】
前記通信部が接続中でない接続先へ送信すべき通信データをバッファリングするバッファ処理部を備え、
前記通信部は、
前記接続中でない接続先と通信する場合に、バッファリングされた前記通信データを当該接続先へ送信する
ことを特徴とする請求項１から４のいずれか１項に記載の通信端末。
【請求項６】
前記接続先は、第１の接続先と当該第１の接続先とは異なる第２の接続先とを含み、
前記通信部は、
予め決められた条件を満たすかどうかに応じて、前記第１の接続先又は／及び前記第２の接続先との通信を行う
ことを特徴とする請求項１から５のいずれか１項に記載の通信端末。
【請求項７】
複数のアプリケーションプログラムの少なくとも１つを実行する通信端末の通信方法であって、
通信の開始に先立ち、前記通信端末の所有者により、前記アプリケーションプログラムに対応付けられた接続先情報と、当該アプリケーションプログラムに関連する所有者情報とを含む設定情報の前記接続先情報が示す少なくとも１つの接続先が設定されており、
前記アプリケーションプログラムに基づく通信が行われる場合に、当該アプリケーションプログラムの前記所有者情報に基づいて、前記設定情報の何れかの前記接続先情報が示す接続先を設定するステップと、
設定された前記接続先と通信を行うステップと
を有する通信方法。
【請求項８】
複数のアプリケーションプログラムの少なくとも１つを実行する通信端末のコンピュータに、
通信の開始に先立ち、前記通信端末の所有者により、前記アプリケーションプログラムに対応付けられた接続先情報と、前記アプリケーションプログラムに関連する所有者情報とを含む設定情報の前記接続先情報が示す少なくとも１つの接続先が設定されており、
前記アプリケーションプログラムに基づく通信が行われる場合に、当該アプリケーションプログラムの前記所有者情報に基づいて、前記設定情報の何れかの前記接続先情報が示す接続先を設定するステップと、
設定された前記接続先と通信を行うステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションプログラムに基づいて行う通信に関する。
【背景技術】
【０００２】
通信の接続先を特定して接続する技術が、例えば特許文献１，２に開示されている。特許文献１は、接続元である複数のイーサネット（登録商標）外部機器の各々のＩＰアドレスと、接続先を特定するアクセスポイントネーム（ＡＰＮ：Access Point Name）との対応を示す連想テーブルを参照して、各イーサネット外部機器を、ＡＰＮが異なる様々なアクセスポイントに接続させることを開示している。特許文献２は、異なるネットワークに同時に接続することのできるＶＰＮ（Virtual Private Network）クライアント端末において、アプリケーションＩＤと、仮想インタフェースの接続先グループとを対応付けたアプリケーション許可テーブルを参照して、各アプリケーションが接続可能な接続先グループを特定することを開示している。
【０００３】
アプリケーションプログラムを用いたサービスの提供に関し、特許文献３は、当該サービスを利用する権利を、ユーザの属性証明書を用いて認証する技術を開示している。具体的には、特許文献３は、アプリケーションプログラムを特定する情報とユーザの権利とを属性証明書に記載しておき、当該属性証明書に記載された情報を用いて、ユーザに提供可能なサービスを決定することを開示している。また、特許文献３は、アプリケーションプログラムがアクセスするサービスの接続先を属性証明書に記載しておき、アプリケーションプログラムのアクセス先が属性証明書に記載のものと異なる場合には、当該属性証明書を送付しないことを開示している。特許文献４は、サーバアプリケーションとクライアントアプリケーションとの間に中継装置（プロキシ）が介在するように通信経路を構築する通信において、当該通信を終了することなく通信経路を途中で切り替える期間に、プロキシがアプリケーションの送出する通信内容を蓄積し、通信が可能になったときに蓄積された情報を送信することを開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−４９８９７号公報
【特許文献２】特表２００６−２６２１３１号公報
【特許文献３】特開２００６−２６８７９０号公報
【特許文献４】特開２００２−６４５６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
スマートフォン等の通信端末が、アプリケーションプログラムが要求した通信を行う場合、当該アプリケーションプログラムに対応した接続先（例えばアクセスポイント）に接続して、通信を行う。このため、複数のアプリケーションプログラムを実行する通信端末では、通信を行うアプリケーションプログラムに応じて、適切な接続先を選択して接続する必要がある。しかし、アプリケーションプログラムを一意に特定する情報（すなわちＩＤ情報）に基づいて、通信端末が接続先を選択する場合、アプリケーションプログラム毎に個別に、接続先の情報を設定しなければならない。更に、通信端末がアプリケーションプログラムを新たにインストールしたり、ＩＤ情報が変更したりした場合には、接続先の情報の再設定が必要である。
そこで、本発明の目的は、アプリケーションプログラムに対し個別に通信の接続先の情報を設定しなくとも、通信を要求したアプリケーションプログラムに対応した接続先へ接続する技術を提供することである。
【課題を解決するための手段】
【０００６】
上述した課題を解決するため、本発明の通信端末は、複数のアプリケーションプログラム、及び、前記アプリケーションプログラムに対応付けられた接続先情報と、前記アプリケーションプログラムに関連する所有者情報とを含む設定情報を記憶する記憶部と、通信の開始に先立ち、自通信端末の所有者により、前記設定情報の前記接続先情報が示す少なくとも１つの接続先が設定されており、前記アプリケーションプログラムに基づく通信が行われる場合に、当該アプリケーションプログラムの前記所有者情報に基づいて、前記設定情報の何れかの前記接続先情報が示す接続先を設定する設定部と、設定された前記接続先と通信を行う通信部と
を備える。
【０００７】
本発明の通信端末において、前記所有者情報は、電子証明書又は前記アプリケーションプログラムの作成者情報を含み、前記設定部は、前記所有者により設定された接続先に対応する電子証明書又は前記アプリケーションプログラムの作成者情報に基づいて、前記接続先を設定するようにしてもよい。
【０００８】
本発明の通信端末において、前記通信部は、実行中の前記アプリケーションプログラムが特定状態に遷移した場合に、当該通信における接続先との通信を行うようにしてもよい。
【０００９】
本発明の通信端末において、前記設定部は、前記電子証明書又は当該アプリケーションプログラムの作成者情報に対し前記設定情報として通信制限を設定し、前記通信部は、前記アプリケーションプログラムに基づいて行う通信において、当該アプリケーションプログラムの電子証明書又は当該アプリケーションプログラムの作成者情報に設定された前記通信制限を適用するようにしてもよい。
【００１０】
本発明の通信端末において、前記通信部が接続中でない接続先へ送信すべき通信データをバッファリングするバッファ処理部を備え、前記通信部は、前記接続中でない接続先と通信する場合に、バッファリングされた前記通信データを当該接続先へ送信する。
ようにしてもよい。
【００１１】
本発明の通信端末において、前記接続先は、第１の接続先と当該第１の接続先とは異なる第２の接続先とを含み、前記通信部は、予め決められた条件を満たすかどうかに応じて、前記第１の接続先又は／及び前記第２の接続先との通信を行うようにしてもよい。
【００１２】
本発明の通信方法は、複数のアプリケーションプログラムの少なくとも１つを実行する通信端末の通信方法であって、通信の開始に先立ち、前記通信端末の所有者により、前記アプリケーションプログラムに対応付けられた接続先情報と、当該アプリケーションプログラムに関連する所有者情報とを含む設定情報の前記接続先情報が示す少なくとも１つの接続先が設定されており、前記アプリケーションプログラムに基づく通信が行われる場合に、当該アプリケーションプログラムの前記所有者情報に基づいて、前記設定情報の何れかの前記接続先情報が示す接続先を設定するステップと、設定された前記接続先と通信を行うステップとを有する。
【００１３】
本発明のプログラムは、複数のアプリケーションプログラムの少なくとも１つを実行する通信端末のコンピュータに、通信の開始に先立ち、前記通信端末の所有者により、前記アプリケーションプログラムに対応付けられた接続先情報と、当該アプリケーションプログラムに関連する所有者情報とを含む設定情報の前記接続先情報が示す少なくとも１つの接続先が設定されており、前記アプリケーションプログラムに基づく通信が行われる場合に、当該アプリケーションプログラムの前記所有者情報に基づいて、前記設定情報の何れかの前記接続先情報が示す接続先を設定するステップと、設定された前記接続先と通信を行うステップとを実行させるためのプログラムである。
【発明の効果】
【００１４】
本発明によれば、アプリケーションプログラムに対し個別に通信の接続先の情報を設定しなくとも、通信を要求したアプリケーションプログラムに対応した接続先へ接続することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態である通信システムの全体構成を示す図。
【図２】同実施形態の通信端末のハードウェア構成を示すブロック図。
【図３】同通信端末の記憶部に記憶されたデータの構成を説明する図。
【図４】同通信端末の機能構成を示す機能ブロック図。
【図５】同通信端末の接続処理の動作例１の流れを示すシーケンス図。
【図６】接続処理の動作例１の具体例を説明する図。
【図７】同通信端末の接続処理の動作例２の流れを示すシーケンス図。
【図８】接続処理の動作例２の具体例を説明する図。
【図９】同通信端末のフィルタ処理の流れを示すシーケンス図。
【図１０】フィルタ処理の具体例を説明する図。
【図１１】同通信端末のバッファ処理の動作例１の流れを示すシーケンス図。
【図１２】バッファ処理の動作例１の具体例を説明するタイミングチャート。
【図１３】同通信端末のバッファ処理の動作例２の流れを示すシーケンス図。
【図１４】バッファ処理の動作例２の具体例を説明するタイミングチャート。
【図１５】同通信端末のバッファ処理の動作例３の流れを示すシーケンス図。
【図１６】バッファ処理の動作例３の具体例を説明するタイミングチャート。
【図１７】同通信端末のバッファ処理の動作例４の流れを示すシーケンス図。
【図１８】変形例１の通信端末の記憶部に記憶されたリストを説明する図。
【図１９】変形例２の通信端末の記憶部に記憶されたリストを説明する図。
【発明を実施するための形態】
【００１６】
以下、図面を参照して本発明の実施形態を説明する。
図１は、本発明の一実施形態である通信システム１の全体構成を示す図である。図１に示すように、通信システム１は、通信端末１０と、第１サーバ２０と、第２サーバ３０とを備える。通信端末１０は、ネットワークＮＷに接続して第１サーバ２０及び第２サーバ３０と通信する通信端末である。通信端末１０は、ここではスマートフォンであるが、携帯電話端末やタブレット型コンピュータ、ノート型パソコン、ＰＤＡ（Personal Digital Assistant）等の通信端末であってもよい。ネットワークＮＷは、ここでは無線通信網であり、複数の基地局や複数の交換局、アクセスポイントＡＰ１，ＡＰ２といった通信ノード群、及び、これらの通信ノードを相互に接続する通信線を含む。アクセスポイントＡＰ１は、第１サーバ２０と通信するために通信端末１０が接続するアクセスポイント（第１の接続先の一例）である。アクセスポイントＡＰ２は、第２サーバ３０と通信するために通信端末１０が接続するアクセスポイント（第２の接続先の一例）である。
【００１７】
第１サーバ２０は、通信回線Ｌ１を介してネットワークＮＷと接続され、クライアント−サーバシステムのサーバとして機能するコンピュータ装置である。第１サーバ２０は、ここではＩＳＰ（Internet Services Provider）サーバであり、プロバイダによって管理されるサーバ装置である。第１サーバ２０は、通信端末１０からのリモートアクセスを受け付けて、通信端末１０との間で通信を行うことにより、通信端末１０に対し所定のサービスを提供する。第１サーバ２０が提供するサービスは、例えば、インターネット接続サービスや電子メールの記憶領域を提供するメールサービス等、通信端末１０との通信を伴うサービスである。ただし、第１サーバ２０が提供するサービスの具体的な内容については特に問わない。
【００１８】
第２サーバ３０は、通信回線Ｌ２を介してネットワークＮＷと接続され、クライアント−サーバシステムのサーバとして機能するコンピュータ装置である。第２サーバ３０は、ここでは通信端末１０のユーザが所属する企業に設置された企業サーバである。第２サーバ３０は、通信端末１０からのリモートアクセスを受け付けて、通信端末１０との間で通信を行う。通信回線Ｌ２は、例えば専用回線やイーサネットで構成され、通信回線Ｌ１とは隔離された通信回線である。すなわち、通信回線Ｌ２は、通信端末１０と第２サーバ３０とが閉域通信を行うための通信回線（つまり閉域ネットワーク）である。
なお、図１には、通信端末１０を１台だけ示しているが、実際にはより多数存在する。また、図１には、第１サーバ２０及び第２サーバ３０をそれぞれ１台だけ示しているが、２台以上で構成されてもよい。
【００１９】
図２は、通信端末１０のハードウェア構成を示すブロック図である。図２に示すように、通信端末１０は、制御部１１と、操作部１２と、通信部１３と、表示部１４と、記憶部１５とを備える。
制御部１１は、ＣＰＵ（Central Processing Unit）１１１、ＲＯＭ（Read Only Memory）１１２、ＲＡＭ（Random Access Memory）１１３及びバッファ１１４を含むプロセッサを備える。ＣＰＵ１１１は、ＲＯＭ１１２又は記憶部１５に記憶されたプログラムを、ワークエリアとしてのＲＡＭ１１３に読み出して実行することにより、通信端末１０の各部を制御する。また、ＣＰＵ１１１は、ネットワークＮＷに通信データを送信するに先立って、その通信データをバッファ１１４にバッファリング（つまり一時記憶）することがある。
【００２０】
操作部１２は、表示部１４の表示面に重ねて設けられたタッチスクリーン及び物理キーを備え、ユーザによって入力された操作を受け付ける操作装置である。通信端末１０が、ユーザの発する声を認識して音声入力操作を受け付ける場合には、操作部１２は収音用のマイクロホンを備えてもよい。
【００２１】
通信部１３は、ネットワークＮＷに接続して通信（ここでは無線通信）するための物理インタフェースを備える。通信部１３は、第１サーバ２０に接続する場合には、アクセスポイントＡＰ１を特定するＡＰＮを指定した接続要求信号を、ネットワークＮＷへ送信する。通信部１３は、第２サーバ３０に接続する場合には、アクセスポイントＡＰ２を特定するＡＰＮを指定した接続要求信号を、ネットワークＮＷへ送信する。ＡＰＮは、通信部１３の接続先を特定する接続先情報の一例である。
【００２２】
表示部１４は、例えば液晶ディスプレイ等の表示装置であり、表示面に画像を表示する。記憶部１５は、例えばＥＥＰＲＯＭ（Electronically Erasable and Programmable ROM）やフラッシュメモリ等の記憶装置を備える。記憶部１５は、制御部１１により実行されるＯＳ（Operating System）、及び、制御部１１により実行される制御プログラムを記憶する。これ以外に、記憶部１５は、ＯＳ上で動作するアプリケーションプログラムで構成されたアプリケーションプログラム群１５１と、接続先リスト１５２と、優先度リスト１５３と、通信制限リスト１５４とを記憶する。
【００２３】
図３は、記憶部１５に記憶されたデータの構成を説明する図である。
図３（ａ）には、アプリケーションプログラム群１５１に含まれるアプリケーションプログラムの構成例が示されている。アプリケーションプログラム群１５１は、ここでは、アプリＡ、アプリＢ、アプリＣ及びアプリＤという、複数（ここでは４つ）のアプリケーションプログラムで構成される。
アプリＡ及びアプリＢは、第１サーバ２０により提供されるサービスを利用するために実行されるアプリケーションプログラムである。アプリＡ及びアプリＢの各々には、電子証明書ｄｃ１が対応付けられている。電子証明書ｄｃ１は、例えば、第１サーバ２０を管理するプロバイダが所有者である。アプリＡ及びアプリＢに対応する電子証明書ｄｃ１の各々には、同じ所有者を特定する所有者情報（例えば、証明書所有者の名称や電子証明書のシリアル番号等の文字列）が書き込まれている。電子証明書ｄｃ１の所有者は、アプリＡ及びアプリＢの作成者と同じである。このため、電子証明書ｄｃ１に書き込まれた所有者情報は、アプリＡ及びアプリＢの作成者を特定する作成者情報を示す。すなわち、電子証明書の所有者情報は、当該電子証明書が対応付けられたアプリケーションプログラムに関連する情報の一例である。
【００２４】
アプリＣ及びアプリＤは、第２サーバ３０と通信を行うために実行されるアプリケーションプログラムである。アプリＣ及びアプリＤの各々には、電子証明書ｄｃ２が対応付けられている。電子証明書ｄｃ２は、例えば、第２サーバ３０を管理する企業が所有者である。このため、アプリＣ及びアプリＤに対応する電子証明書ｄｃ２の各々には、同じ所有者を特定する所有者情報が書き込まれている。電子証明書ｄｃ２の所有者は、アプリＣ及びアプリＤの作成者と同じである。このため、電子証明書ｄｃ２に書き込まれた所有者情報は、アプリＣ及びアプリＤの作成者を特定する作成者情報を示す。
【００２５】
なお、電子証明書ｄｃ１，ｄｃ２の各々は、例えば、対応付けられたアプリケーションプログラムの電子署名の正当性を検証する処理に使用される。また、アプリケーションプログラム群１５１を構成するアプリケーションプログラムは、サービスの提供に関する機能を実現するが、その具体的な機能については特に問わない。ただし、本実施形態では、表示部１４に画像（画面）を表示する機能を含むアプリケーションプログラムを想定する。
【００２６】
図３（ｂ）には、接続先リスト１５２の構成例が示されている。接続先リスト１５２は、アプリケーションプログラム群１５１の各アプリケーションプログラムに対応付けて、当該アプリケーションプログラムが要求した通信の接続先を特定するＡＰＮが設定されたリストである。具体的には、接続先リスト１５２では、アプリケーションプログラムに対応付けられた電子証明書に対してＡＰＮが設定される。
図３（ｂ）に示す所有者情報「Ｉ１」は、電子証明書ｄｃ１の所有者を特定する情報である。ＡＰＮ「apn1.net」は、アクセスポイントＡＰ１を特定する文字列である。ＡＰＮ「apn1.net」は、電子証明書ｄｃ１が対応付けられたアプリケーションプログラムが要求した通信に用いられる。所有者情報「Ｉ２」は、電子証明書ｄｃ２の所有者を特定する情報である。ＡＰＮ「apn2.ne.jp」は、アクセスポイントＡＰ２を特定する文字列である。ＡＰＮ「apn2.ne.jp」は、電子証明書ｄｃ２が対応付けられたアプリケーションプログラムが要求した通信に用いられる。
【００２７】
また、接続先リスト１５２には、ＡＰＮ「apn1.net」に対応付けて、デフォルト設定「○」と書き込まれている。これは、アクセスポイントＡＰ１への接続がデフォルトに設定されていることを意味する。この場合、通信端末１０は、通信を行わない期間においても、デフォルトに設定したアクセスポイントＡＰ１へ接続する。アクセスポイントＡＰ２に接続して行うべき通信が発生した場合には、通信端末１０は、端末主導でアクセスポイントＡＰ２への接続に切り替える。
【００２８】
接続先リスト１５２に書き込まれた、電子証明書の所有者情報と、アクセスポイントのＡＰＮとの対応関係や、デフォルト設定の接続先の情報は、端末装置１０の所有者の了承（許諾）に基づいて設定された設定情報である。例えば、端末装置１０の所有者が、自身の端末装置１０を操作することにより、接続先リスト１５２の情報を設定する。端末装置１０の所有者は、典型的には、端末装置１０を使用するユーザである。端末装置１０の所有者は、例えば通信事業者との加入契約を行った契約者と同一人物であるが、契約者ではない人物であってもよい。契約者ではない人物の具体例として、契約者が個人である場合には、当該契約者の家族等の近親者、契約者が法人である場合には、当該法人の従業員（社員）、契約者が通信端末１０を貸与するサービスを提供する業者である場合には、当該サービスの利用者（サービス利用会員）等である。
【００２９】
図３（ｃ）には、優先度リスト１５３の構成例が示されている。優先度リスト１５３は、アプリケーションプログラム群１５１のアプリケーションプログラムに対応付けて、当該アプリケーションプログラムが要求した通信の優先度が設定されたリストである。具体的には、優先度リスト１５３において、アプリケーションプログラムに対応付けられた電子証明書に対して優先度が設定される。
図３（ｃ）に示すように、優先度リスト１５３では、所有者情報「Ｉ１」を含む電子証明書ｄｃ１が対応付けられたアプリケーションプログラムの優先度が、「１」に設定されている。また、優先度リスト１５３では、所有者情報「Ｉ２」を含む電子証明書ｄｃ２が対応付けられたアプリケーションプログラムの優先度が、「２」に設定されている。ここでは、優先度の値が小さいほど、通信の優先度がより高いことを意味する。
【００３０】
図３（ｄ）には、通信制限リスト１５４の構成例が示されている。通信制限リスト１５４は、アプリケーションプログラム群１５１のアプリケーションプログラムに対応付けて、当該アプリケーションプログラムが要求した通信に対する通信制限が設定されたリストである。具体的には、通信制限リスト１５４において、アプリケーションプログラムに対応付けられた電子証明書に対して通信制限が設定される。
図３（ｄ）に示すように、通信制限リスト１５４では、所有者情報「Ｉ１」を含む電子証明書ｄｃ１が対応付けられたアプリケーションプログラムが要求した通信において、ＡＰＮ「apn1.net」で特定されるアクセスポイントＡＰ１に接続することが許可されていることを意味する。換言すると、電子証明書ｄｃ１が対応付けられたアプリケーションプログラムが要求した通信において、他のアクセスポイント（例えばアクセスポイントＡＰ２）に接続することが許可されていないことを意味する。また、通信制限リスト１５４では、所有者情報「Ｉ２」を含む電子証明書ｄｃ２が対応付けられたアプリケーションプログラムが要求した通信において、ＡＰＮ「apn2.ne.jp」で特定されるアクセスポイントＡＰ２に接続することが許可されていることを意味する。換言すると、電子証明書ｄｃ２が対応付けられたアプリケーションプログラムが要求した通信において、他のアクセスポイント（例えばアクセスポイントＡＰ１）に接続することが許可されていないことを意味する。
【００３１】
優先度リスト１５３において設定された優先度や、通信制限リスト１５４において設定された通信制限は、端末装置１０の所有者により設定された設定情報である。設定情報は、典型的には、端末装置１０の所有者が自身の端末装置１０を操作することにより設定される。設定情報は、更に別の情報を含んでいてもよい。例えば、設定情報は、通信端末１０が行う通信に関する契約情報や、海外ローミング時の提携先となるＷｉ−Ｆｉ（登録商標）接続の接続先情報等の、通信を行うために必要な一般的な情報を含んでいてもよい。
【００３２】
図４は、通信端末１０の制御部１１の機能構成を示す機能ブロック図である。図４に示すように、通信端末１０の制御部１１は、設定部１０１と、通信管理部１０２と、アプリ制御部１０３と、バッファ処理部１０４とに相当する機能を実現する。
設定部１０１は、通信に先立ち、接続先リスト１５２、優先度リスト１５３及び通信制限リスト１５４の各リストに、通信端末１０の動作設定に関する情報を書き込むことにより、通信端末１０の動作設定を行う。例えば、設定部１０１は、操作部１２により受け付けたユーザの操作に基づいて各リストを更新する。
【００３３】
通信管理部１０２は、設定部１０１による動作設定に基づいて、通信端末１０が行う通信の管理を行う。例えば、通信管理部１０２は、アプリケーションプログラムに基づいて通信が行われる場合に、接続先リスト１５２に基づいて当該通信の接続先のアクセスポイントへ通信部１３を接続させる。例えば、通信管理部１０２は、通信部１３を所定のアクセスポイントへ接続させるためのＡＰＩ（Application Program Interface）を制御する。また、通信管理部１０２は、複数のアプリケーションプログラムが要求した通信が同時に発生した場合に、優先度リスト１５３に基づいて、優先度がより高い通信を優先して行うように通信を管理する。また、通信管理部１０２は、アプリ制御部１０３が実行する通信に、通信制限リスト１５４に基づいて通信制限を適用する。
【００３４】
アプリ制御部１０３は、アプリケーションプログラム群１５１のアプリケーションプログラムを実行し、実行したアプリケーションプログラムに従って、通信端末１０を制御する。例えば、アプリ制御部１０３は、実行中のアプリケーションプログラムが要求した通信を行う場合、通信管理部１０２により通信部１３が所定のアクセスポイントへ接続された後、そのアクセスポイントとの通信を行う。
【００３５】
バッファ処理部１０４は、バッファ１１４に関する処理であるバッファ処理を行う。例えば、バッファ処理部１０４は、デフォルトの接続先でないアクセスポイントへ送信すべき通信データを、バッファ１１４へバッファリングする。また、バッファ処理部１０４は、バッファ１１４にバッファリングされた通信データ（以下、「バッファリングデータ」という。）を読み出して、アプリ制御部１０３へ供給する。
【００３６】
次に、通信端末１０の動作を説明する。以下の動作説明では、特に断りのない限り、通信端末１０がアクセスポイントＡＰ１をデフォルトの接続先とする。ただし、アクセスポイントＡＰ２をデフォルトの接続先とした場合も、接続先のアクセスポイントの切り替えに関わる動作以外の通信端末１０の動作は共通する。
＜接続処理＞
まず、通信部１３をアクセスポイントへ接続させる接続処理を説明する。
（接続処理の動作例１）
図５は、通信端末１０が行う接続処理の動作例１の流れを示すシーケンス図である。図６は、接続処理の動作例１の具体例を説明する図である。
まず、設定部１０１は、通信に先立ち、通信端末１０の所有者の設定に従い、接続先リスト１５２、優先度リスト１５３及び通信制限リスト１５４の各リストを更新することにより、通信端末１０の動作設定を行う（ステップＳ１）。ここでは、ステップＳ１の処理により、接続先リスト１５２、優先度リスト１５３及び通信制限リスト１５４が、図３（ｂ），（ｃ），（ｄ）に示すように更新される。
【００３７】
次に、通信管理部１０２は、デフォルトの接続先に設定したアクセスポイントへ通信部１３を接続させる。具体的には、通信管理部１０２は、接続先リスト１５２に基づいて、アクセスポイントＡＰ１を特定するＡＰＮ「apn1.net」を指定した接続要求信号を、通信部１３へ供給する（ステップＳ２）。通信部１３は、この接続要求信号をネットワークＮＷに送信することにより、アクセスポイントＡＰ１へ接続する（ステップＳ３）。ステップＳ３の処理により、図６（ａ）に示すように、通信端末１０と第１サーバ２０との間に、ネットワークＮＷのアクセスポイントＡＰ１及び通信回線Ｌ１経由の通信路が確立される。
【００３８】
ここで、アクセスポイントＡＰ１への接続中に、アプリ制御部１０３が、記憶部１５に記憶されたアプリケーションプログラムを起動するか、又は、実行中のアプリケーションプログラムが要求した通信を開始しようとしたとする（ステップＳ４）。ここでは、起動又は通信を開始しようとしたアプリケーションプログラムが、フォアグラウンドで動作するアプリケーションプログラムである場合を考える。通信管理部１０２は、アプリ制御部１０３における通信の実行の有無や、アプリ制御部１０３が行う通信の通信先を常時監視する。そして、通信管理部１０２が、アプリ制御部１０３によるアプリケーションプログラムの起動又は実行中のアプリケーションプログラムの通信の開始を検知すると（ステップＳ５）、ステップＳ６の処理に進む。
【００３９】
次に、通信管理部１０２は、起動又は通信の開始を検知したアプリケーションプログラムに対応付けられた電子証明書に基づいて、通信部１３を接続させるべきアクセスポイントを特定する（ステップＳ６）。通信管理部１０２は、電子証明書に書き込まれている所有者情報を参照し、接続先リスト１５２に基づいて、この所有者情報に対応付けられたＡＰＮを取得する。ここで、電子証明書ｄｃ２に対応付けられたアプリＣの場合、通信管理部１０２は、所有者情報「Ｉ２」に対応付けられたＡＰＮ「apn2.ne.jp」を、接続先リスト１５２から取得する。
【００４０】
次に、通信管理部１０２は、接続先のアクセスポイントを切り替えるかどうかを判断する（ステップＳ７）。通信管理部１０２は、ステップＳ６の処理で取得したＡＰＮが、デフォルトの接続先のアクセスポイントを特定するＡＰＮと異なる場合に、アクセスポイントを切り替えると判断する。通信管理部１０２は、ステップＳ７の処理でアクセスポイントを切り替えると判断した場合（ステップＳ７；ＹＥＳ）、ステップＳ６の処理で特定したアクセスポイントへ通信部１３を接続させる。例えばアプリＣの場合、通信管理部１０２は、接続先リスト１５２に基づいて、ＡＰＮ「apn2.ne.jp」を指定した接続要求信号を、通信部１３へ供給する（ステップＳ８）。通信部１３は、この接続要求信号をネットワークＮＷに送信することにより、接続先をアクセスポイントＡＰ２へ切り替える（ステップＳ９）。ステップＳ９の処理により、図６（ｂ）に示すように、通信端末１０と第２サーバ３０との間に、ネットワークＮＷのアクセスポイントＡＰ２及び通信回線Ｌ２経由の通信路が確立される。
なお、接続先のアクセスポイントの切り替え中において、通信管理部１０２は、どちらのアクセスポイントとの通信を行わないようにする。この際、通信管理部１０２は、アクセスポイントの切り替え中である旨のメッセージを、表示部１４に表示させてもよい。
【００４１】
アクセスポイントの切り替え後、アプリ制御部１０３は、実行中のアプリケーションプログラムが要求した通信を、通信部１３を用いて行う。例えば、アプリ制御部１０３は、アプリＣが要求した通信を第２サーバ３０と行うように、通信部１３を制御する。その後、アプリ制御部１０３が、実行していたアプリケーションプログラムを終了するか、又は、実行中のアプリケーションプログラムが要求した通信を終了したとする（ステップＳ１０）。通信管理部１０２は、アプリ制御部１０３によるアプリケーションプログラムの終了、又は、実行中のアプリケーションプログラムが要求した通信の終了を、アプリ制御部１０３の監視結果に基づいて検知すると（ステップＳ１１）、ステップＳ１２の処理に進む。
【００４２】
次に、通信管理部１０２は、通信部１３をデフォルトの接続先に設定したアクセスポイントへ接続させる。具体的には、通信管理部１０２は、接続先リスト１５２に基づいて、アクセスポイントＡＰ１を特定するＡＰＮ「apn1.net」を指定した接続要求信号を通信部１３へ供給する（ステップＳ１２）。通信部１３は、この接続要求信号をネットワークＮＷに送信することにより、アクセスポイントＡＰ２からアクセスポイントＡＰ１へと接続先を切り替える（ステップＳ１３）。ステップＳ１３の処理により、図６（ｃ）に示すように、通信端末１０と第１サーバ２０との間に、ネットワークＮＷのアクセスポイントＡＰ１及び通信回線Ｌ１経由の通信路が確立される。
【００４３】
ステップＳ７の処理で、通信管理部１０２が、接続先のアクセスポイントを切り替えないと判断した場合には（ステップＳ７；ＮＯ）、デフォルトの接続先に設定したアクセスポイントＡＰ１への接続を維持する。例えば、電子証明書ｄｃ１に対応付けられたアプリＡ又はアプリＢの場合、アプリ制御部１０３は、アクセスポイントＡＰ１を介して第１サーバ２０と通信を行う。また、アプリＤの場合、アプリＣと電子証明書ｄｃ２が共通するので、アプリ制御部１０３は、アクセスポイントＡＰ２への切り替え後に第２サーバ３０と通信を行う。
以降においても、アプリ制御部１０３が、ステップＳ４の処理でアプリケーションプログラム群１５１のアプリケーションプログラムを起動するか、又は、実行中のアプリケーションプログラムが要求した通信を開始すると、通信端末１０において前述したステップＳ５〜Ｓ１３の各処理が実行される。
【００４４】
（接続処理の動作例２）
接続処理の動作例２では、通信管理部１０２が、実行中のアプリケーションプログラムが、通信の開始に先立つ特定の状態に遷移した場合に、接続先のアクセスポイントを切り替えるかどうかを判断する。
Android（登録商標）ＯＳを例に挙げて説明すると、このAndroidＯＳ上で動作するアプリケーションプログラムの構成要素（つまりコンポーネント）として、Activityがある。表示部１４に画面を表示するアプリケーションプログラムが実行される場合、Activityに書き込まれたプログラムが動作する。このActivityには、アプリケーションプログラムのライフサイクル（つまり状態遷移）に関するメソッドがある。例えば、コンポーネントが起動したタイミングで呼び出されて実行されるメソッドとして、「onCreate」、「onStart」、「onResume」「onBind」及び「onPause」があり、コンポーネントが終了するタイミングで呼び出されて実行されるメソッドとして、「onDestroy」及び「onStop」がある。これらのメソッドのうち、「onPause」は、アプリケーションプログラムの画面表示が開始されるときに実行されるメソッドである。「onStop」は、アプリケーションプログラムの画面表示をユーザが視認できなくなるときに実行されるメソッドである。このため、「onPause」又は「onStop」のメソッドが実行された場合、フォアグラウンドで動作するアプリケーションプログラムが変化し、当該アプリケーションプログラムが要求した通信が開始される可能性がある。すなわち、「onPause」及び「onStop」のメソッドが実行されると、アプリケーションプログラムのライフサイクルが、通信の開始に先立つ状態に遷移した、ということができる。
【００４５】
そこで、接続処理の動作例２では、通信管理部１０２は、「onPause」又は「onStop」のメソッドが実行されたことを検知した場合に、通信部１３の接続先のアクセスポイントの切り替えの要否を判断する。
図７は、通信端末１０が行う接続処理の動作例２の流れを示すシーケンス図である。図８は、接続処理の動作例２の具体例を説明する図である。図７では、動作例２と同じ処理が実行されるステップについては、同じ符号を付して表している。
まず、設定部１０１は、接続先リスト１５２、優先度リスト１５３及び通信制限リスト１５４の各リストを更新することにより、通信端末１０の動作設定を行う（ステップＳ１ａ）。設定部１０１は、（動作例１）で説明した動作設定のほか、接続先のアクセスポイントの切り替えの要否を判断する契機となるActivityのメソッドを、切替条件として設定する。ここでは、設定部１０１は、「onPause」及び「onStop」のメソッドを設定するように、接続先リスト１５２を更新する。ステップＳ１ａの処理により、接続先リスト１５２は、図８に示された構成となる。
【００４６】
ステップＳ１ａの動作設定後、通信端末１０では、上述した（動作例１）と同じく、ステップＳ２〜Ｓ９の各処理が実行される。その後、アプリ制御部１０３が、「onPause」又は「onStop」のメソッドを実行し、アプリケーションプログラムが特定の状態に遷移したとする（ステップＳ１４）。通信管理部１０２は、アプリ制御部１０３が監視結果に基づいて、「onPause」又は「onStop」への状態遷移があり、切替条件を満たしたことを検知すると（ステップＳ１１ａ）、接続先のアクセスポイントを切り替えるかどうかを判断する（ステップＳ１５）。例えば、通信管理部１０２は、新たにフォアグラウンドで動作するアプリケーションプログラムが要求した通信を行う場合に、接続先をデフォルトに設定したアクセスポイントへ切り替える必要があるかどうかを判断する。そして、通信管理部１０２は、ステップＳ１５の処理で接続先のアクセスポイントを切り替えると判断した場合には（ステップＳ１５；ＹＥＳ）、アクセスポイントＡＰ２からアクセスポイントＡＰ１へと、通信部１３の接続先を切り替える（ステップＳ１２，Ｓ１３）。
【００４７】
以上の接続処理の動作例２により、実行中のアプリケーションプログラムが終了させられることなく、バックグラウンドで動作する状態に遷移した場合であっても、通信端末１０は、接続先のアクセスポイントの切り替えの要否を適切なタイミングで判断することができる。
また、接続処理の動作例２の説明では、AndroidＯＳのメソッドを例に挙げていたが、他のＯＳが使用されてもよい。この場合においても、通信端末１０は、アプリケーションプログラムの状態遷移に基づいて、通信に先立つ特定の状態に遷移したことを検知した場合に、接続先のアクセスポイントの切り替えの要否を判断するとよい。
【００４８】
＜フィルタ処理＞
次に、通信端末１０が行うフィルタ処理を説明する。フィルタ処理は、通信端末１０がいずれかのアクセスポイントとの接続中に、そのアクセスポイントに接続して行う通信に通信制限を適用する処理である。
図９は、フィルタ処理の流れを示すシーケンス図である。図１０は、フィルタ処理の具体例を説明する図である。
アプリ制御部１０３が、実行中のアプリケーションプログラムが要求した通信を開始しようとしたとする（ステップＳ２１）。ここでは、通信を開始しようとしたアプリケーションプログラムが、バックグラウンドで動作するアプリケーションプログラムである場合を考える。通信管理部１０２は、アプリ制御部１０３の監視結果に基づいて通信の開始を検知すると（ステップＳ２２）、アプリケーションプログラムに対応付けられた電子証明書に基づいて、適用する通信制限を特定する（ステップＳ２３）。通信管理部１０２は、電子証明書に書き込まれている所有者情報を参照し、通信制限リスト１５４に基づいて、この所有者情報に対応付けられた通信制限を特定する。電子証明書ｄｃ２が対応付けられたアプリＣの場合、通信管理部１０２は、所有者情報「Ｉ２」に対応付けられたＡＰＮ「apn2.ne.jp」を、通信を許可する接続先のアクセスポイントを示すものとして特定する。
【００４９】
次に、通信管理部１０２は、ステップＳ２３で特定した通信制限に基づいて、接続中のアクセスポイントとの通信を許可するかどうかを判断する（ステップＳ２４）。通信管理部１０２は、接続中のアクセスポイントへの通信が通信制限リスト１５４で不許可とされている場合には（ステップＳ２４；ＮＯ）、通信を不許可とすることを通知する不許可信号を、アプリ制御部１０３に供給する（ステップＳ２５）。不許可信号が供給されると、アプリ制御部１０３は、ステップＳ２１の処理で開始しようとした通信を実行しない。他方、通信管理部１０２は、接続中のアクセスポイントとの通信が通信制限リスト１５４で許可されている場合には、通信を許可すると判断する（ステップＳ２４；ＹＥＳ）。この場合、通信管理部１０２は、通信を許可することを通知する許可信号を、アプリ制御部１０３へ供給する（ステップＳ２６）。許可信号が供給されると、アプリ制御部１０３は、通信部１３により通信データをアクセスポイントへ送信する（ステップＳ２７）。
【００５０】
図１０（ａ）に示すように、アクセスポイントＡＰ１へ接続中の場合、通信管理部１０２は、アプリＡ及びアプリＢが要求した通信を許可する一方で、アプリＣ又はアプリＤが要求した通信を不許可とする通信制限を、通信部１３に適用する。図１０（ｂ）に示すように、アクセスポイントＡＰ２へ接続中の場合、通信管理部１０２は、アプリＣ及びアプリＤが要求した通信を許可する一方で、アプリＡ又はアプリＢが要求した通信を不許可とする通信制限を、通信部１３に適用する。
【００５１】
＜バッファ処理＞
次に、通信端末１０が行うバッファ処理を説明する。バッファ処理の説明においては、通信管理部１０２は、アクセスポイントＡＰ２をデフォルトの接続先（第１の接続先の一例）とし、且つ、予め決められた期間が経過する毎（例えば、１秒〜１時間間隔）に、第１サーバ２０にポーリング信号を送信するためにアクセスポイントＡＰ１（第２の接続先の一例）への接続に切り替える。
【００５２】
（バッファ処理の動作例１）
図１１は、通信端末１０が行うバッファ処理の動作例１の流れを示すシーケンス図である。図１２は、バッファ処理の動作例１の具体例を説明するタイミングチャートである。
通信管理部１０２は、通信部１３が接続中でないアクセスポイントへ送信すべき通信データが発生し、これをバッファ１１４にバッファリングすると判断した場合には、バッファリングを指示するバッファ指示信号を、アプリ制御部１０３へ供給する（ステップＳ３１）。例えば、通信管理部１０２は、上述したフィルタ処理のステップＳ２４の処理で、接続中のアクセスポイントとの通信を不許可とすると判断した場合に、バッファ指示信号をアプリ制御部１０３へ供給する。
バッファ指示信号が供給されると、アプリ制御部１０３は、バッファリングの対象である通信データを、バッファ処理部１０４へ供給する（ステップＳ３２）。バッファ処理部１０４は、供給された通信データをバッファ１１４にバッファリングする（ステップＳ３３）。例えば、図１２の時点ｔ１から時点ｔ２までの期間に、第１サーバ２０に送信すべき通信データが発生した場合には、バッファ処理部１０４は、この通信データをバッファ１１４へバッファリングする。
【００５３】
次に、通信管理部１０２が、接続先のアクセスポイントの切替タイミングが到来したと判断すると（ステップＳ３４）、アクセスポイントＡＰ２からアクセスポイントＡＰ１へと通信部１３の接続先を切り替える（ステップＳ３５，Ｓ３６）。
次に、通信管理部１０２は、バッファリングした通信データ（つまりバッファリングデータ）の転送を指示する転送指示信号を、バッファ処理部１０４へ供給する（ステップＳ３７）。転送指示信号が供給されると、バッファ処理部１０４は、バッファ１１４からバッファリングデータを読み出して、アプリ制御部１０３へ供給する（ステップＳ３８）。アプリ制御部１０３は、バッファ処理部１０４からのバッファリングデータを、通信部１３が接続中のアクセスポイントＡＰ１へ送信させる（ステップＳ３９）。例えば、図１２の時点ｔ２から時点ｔ３までのポーリング信号の送信のためにアクセスポイントＡＰ１へ接続している期間に、アプリ制御部１０３はバッファリングデータを送信する。
以降においても、通信端末１０は、ステップＳ３１〜Ｓ３９の各処理を実行する。例えば、図１２の時点ｔ３から時点ｔ４の期間に、アクセスポイントＡＰ１に送信すべき通信データが発生した場合には、通信端末１０は、この通信データをバッファ１１４にバッファリングする。そして、時点ｔ４から時点ｔ５までのアクセスポイントＡＰ１へ接続している期間に、通信端末１０は、バッファリングデータを送信する。
以上のバッファ処理により、通信端末１０は、通信部１３が接続中でないアクセスポイントに送信すべき通信データが発生した場合であっても、次に当該アクセスポイントへ接続したときに、この通信データを送信することができる。
【００５４】
（バッファ処理の動作例２）
バッファ処理の動作例２では、通信端末１０は、接続中でないアクセスポイントとの通信に関し、優先度の高い通信が発生した場合には、その通信を優先的に行う。
図１３は、バッファ処理の動作例２の流れを示すシーケンス図である。図１４は、バッファ処理の動作例２の具体例を説明するタイミングチャートである。
アプリ制御部１０３が、アプリケーションプログラムが要求した通信を開始しようとしたとする（ステップＳ４１）。通信管理部１０２は、アプリ制御部１０３の監視結果に基づいて通信の開始を検知すると（ステップＳ４２）、優先度の高いアプリケーションが要求した通信であるかどうかを判断する（ステップＳ４３）。ここでは、通信管理部１０２は、現在接続中のアクセスポイントへ接続する契機となったアプリケーションプログラムの通信の優先度よりも、通信を開始するアプリケーションプログラムの通信の優先度の方が高いかどうかを判断する。ここにおいて、通信管理部１０２は、優先度リスト１５３において、アプリケーションプログラムに対応付けられた電子証明書の所有者情報に対応付けられた優先度を参照することにより、通信の優先度を特定する。
通信管理部１０２は、優先度の高いアプリケーションプログラムが要求した通信でないと判断した場合には（ステップＳ４３；ＮＯ）、図１１で説明した（動作例１）のステップＳ３１の処理に進み、通信データをバッファリングするための制御を行う。
【００５５】
他方、通信管理部１０２が、優先度の高いアプリケーションプログラムが要求した通信であると判断した場合には（ステップＳ４３；ＹＥＳ）、通信部１３の接続先のアクセスポイントを、このアプリケーションプログラムが要求した通信を行うための接続先（すなわちアクセスポイントＡＰ１）へ切り替える（ステップＳ４４，Ｓ４５）。接続先のアクセスポイントの切り替え後、通信管理部１０２は、バッファ１１４のバッファリングデータの転送を指示する転送指示信号を、バッファ処理部１０４へ供給する（ステップＳ４６）。転送指示信号が供給されると、バッファ処理部１０４は、バッファ１１４から読み出したバッファリングデータをアプリ制御部１０３へ供給する（ステップＳ４７）。アプリ制御部１０３は、ステップＳ４１の処理で発生した通信データ、及び、バッファ処理部１０４から供給されたバッファリングデータを、通信部１３により送信する（ステップＳ４８）。
図１４に示すように、時点ｔ６で優先度の高い通信が発生した場合、通信管理部１０２は、ポーリング信号の送信のタイミングを早めて、時点ｔ７においてアクセスポイントＡＰ１へと接続先を切り替える。そして、アプリ制御部１０３は、時点ｔ７から時点ｔ８までのポーリング信号の送信のためにアクセスポイントＡＰ１へ接続している期間に、通信データ及びバッファリングデータを、アクセスポイントＡＰ１を介して第１サーバ２０へ送信する。
以上のバッファ処理により、通信端末１０は、優先度の高い通信に関する通信データについては、直ちに送信することができる。
【００５６】
（バッファ処理の動作例３）
バッファ処理の動作例３は、優先度の高い通信の判断方法が、上述した動作例２とは異なる。バッファ処理の動作例３では、通信管理部１０２は、周期的に発生する通信については優先度の低い通信と判断し、非周期的に発生する通信については優先度の高い通信と判断する。
図１５は、バッファ処理の動作例３の流れを示すシーケンス図である。図１６は、バッファ処理の具体例を説明するタイミングチャートである。
アプリ制御部１０３が、アプリケーションプログラムが要求した通信を開始しようとしたとする（ステップＳ４１）。通信管理部１０２は、アプリ制御部１０３の監視結果に基づいて通信の開始を検知すると（ステップＳ４２）、この通信が非周期的な通信かどうかを判断する（ステップＳ４３ａ）。通信管理部１０２は、予めアプリケーションプログラム毎に、通信を行った時期（例えば日時）を含む通信履歴を収集し、記憶部１５に記憶しておく。そして、通信管理部１０２は、同一のアプリケーションが要求した通信が所定の間隔で周期的に発生する場合には、その通信が周期的な通信と判断し、それ以外の場合には非周期的な通信と判断する。
【００５７】
図１６に示すように、ΔＴ間隔で周期的に発生する同一のアプリケーションが要求した通信は、第１サーバ２０の状況を確認する等の目的で行われるポーリング信号の送信と推測できる。この種の周期的な通信の通信データは、直ちに送信すべき通信データの可能性が相対的に低いと考えられる。よって、通信管理部１０２は、周期的に発生する通信と判断した場合には（ステップＳ４３ａ；ＮＯ）、図１１で説明した（動作例１）のステップＳ３１の処理に進み、通信データをバッファリングするための制御を行う。
他方、通信管理部１０２が、非周期的な通信と判断した場合には（ステップＳ４３ａ；ＹＥＳ）、通信部１３の接続先のアクセスポイントを、通信を行うための接続先（アクセスポイントＡＰ１）に切り替える（ステップＳ４４，Ｓ４５）。以降、通信端末１０は、バッファ処理の動作例２の場合と同様に動作する。
図１６に示すように、時点ｔ１０で非周期的な通信が発生した場合、通信管理部１０２は、ポーリング信号の送信のタイミングを早めて、時点ｔ１１においてアクセスポイントＡＰ１へと接続先を切り替える。そして、アプリ制御部１０３は、時点ｔ１１から時点ｔ１２までのポーリング信号の送信のためにアクセスポイントＡＰ１へ接続している期間に、バッファリングデータを送信する。
以上のバッファ処理により、通信端末１０は、通信が周期的又は非周期的のどちらであるかに応じて、優先度の高い通信を判断することができる。
【００５８】
（バッファ処理の動作例４）
上述した動作例１〜３の各バッファ処理に加えて、通信端末１０は、バッファ１１４のバッファリング容量が閾値以上となった場合に、バッファリングデータを直ちに送信してもよい。
図１７は、バッファ処理の動作例４の流れを示すシーケンス図である。
バッファ処理部１０４は、バッファ１１４に蓄積されたバッファリングデータの容量であるバッファ容量を確認する（ステップＳ５１）。バッファ処理部１０４は、バッファ容量が閾値以上となった場合（ステップＳ５２；ＹＥＳ）、容量超過信号を通信管理部１０２及びアプリ制御部１０３のそれぞれへ供給する（ステップＳ５３）。容量超過信号を受け取った通信管理部１０２は、通信部１３の接続先のアクセスポイントを切り替える（ステップＳ５４，Ｓ５５）。更に、容量超過信号を受け取ったアプリ制御部１０３は、転送指示信号をバッファ処理部１０４へ供給する（ステップＳ５６）。転送指示信号が供給されると、バッファ処理部１０４は、バッファ１１４からバッファリングデータを読み出して、アプリ制御部１０３へ供給する（ステップＳ５７）。アプリ制御部１０３は、バッファリングデータを通信部１３により送信する（ステップＳ５８）。
以上のバッファ処理により、通信端末１０は、バッファリング容量が閾値以上となったタイミングで、バッファ１１４の通信データを送信することができる。これにより、バッファ１１４の容量超過による通信データの消失を防ぐことができる。
【００５９】
以上説明した実施形態の通信端末１０は、アプリケーションプログラムが要求した通信を行う場合に、通信部１３の接続先を、このアプリケーションプログラムの所有者を特定する所有者情報に対応したアクセスポイントへ切り替える。これにより、通信端末１０のユーザは、アプリケーションプログラムが要求した通信が行われる際に、当該通信における接続先のアクセスポイントの設定を特に意識せずに済む。また、通信端末１０は、アプリケーションプログラムの作成者情報（ここでは電子証明書の所有者情報）に対応付けて、接続先のアクセスポイントの情報を管理する。この管理により、記憶部１５にインストールされたアプリケーションプログラムの数が増大したり、アプリケーションプログラムのＩＤ情報が変化したりした場合であっても、電子証明書が他のアプリケーションプログラムと共通していれば、通信端末１０は、既に各リストに設定した情報に基づいて、接続先のアクセスポイントを特定することができる。
また、通信端末１０は、フィルタ処理やバッファ処理を行うことにより、各アプリケーションプログラムが要求した通信をより確実に行うことができる。
【００６０】
［変形例］
本発明は、上述した実施形態と異なる形態で実施することが可能である。本発明は、例えば、以下のような形態で実施することも可能である。また、以下に示す変形例は、各々を適宜に組み合わせてもよい。
（変形例１）
上述した実施形態では、接続先リスト１５２、優先度リスト１５３及び通信制限リスト１５４の各々では、アプリケーションプログラムに対応付けられた電子証明書の所有者情報に対応付けて、通信端末１０の動作設定に関する情報が書き込まれている。アプリケーションプログラムに関連する所有者情報は、更に別の情報であってもよい。例えば、通信端末１０は、アプリケーションプログラムを識別する識別子（以下、「アプリ識別子」という。）に含まれる作成者情報に対応付けて、通信端末１０の動作設定に関する情報を各リストに書き込むようにしてもよい。この変形例では、設定部１０１は、図１８（ａ），（ｂ），（ｃ）にそれぞれ示される接続先リスト１５２ａ、優先度リスト１５３ａ及び通信制限リスト１５４ａを記憶する。
【００６１】
アプリ識別子は、アプリケーションプログラムの各々を一意に識別する識別子で、ここでは、パッケージ名と呼ばれる情報である。このパッケージ名は、一般に、アプリケーションプログラムの作成者を特定する作成者情報を含む。例えばパッケージ名は、「com.serviceprovider1.app1」という文字列で表され、この中に、作成者を特定する情報である「serviceprovider1」という文字列が含まれる。この作成者によって提供されるアプリケーションプログラムは、例えば「com.serviceprovider1.app1」、「com.serviceprovider1.app2」、「com.serviceprovider1.app3」となり、作成者情報を意味する文字列が複数のアプリケーションプログラムで共通し、その後の文字列がアプリケーションプログラム毎に異なる。
【００６２】
そこで、通信管理部１０２は、アプリケーションプログラムが要求した通信を行う場合には、まず、そのアプリケーションプログラムのアプリ識別子を特定する。そして、通信管理部１０２は、特定したアプリ識別子に含まれる作成者情報（図１８の例では、「serviceprovider1」又は「serviceprovider2」）に対応付けて、接続先リスト１５２ａ、優先度リスト１５３ａ及び通信制限リスト１５４ａに書き込まれた情報に基づいて、通信端末１０を動作させる。
【００６３】
（変形例２）
アプリケーションプログラムに関連する所有者情報は、更に別の情報であってもよい。例えば、通信端末１０は、アプリケーションプログラムが要求した通信の通信先アドレスに含まれる作成者情報に対応付けて、通信端末１０の動作設定に関する情報を各リストに書き込むようにしてもよい。この変形例では、設定部１０１は、図１９（ａ），（ｂ），（ｃ）にそれぞれ示される接続先リスト１５２ｂ、優先度リスト１５３ｂ及び通信制限リスト１５４ｂを記憶する。通信先アドレスは、例えば、ＵＲＬ（Uniform Resource Locator）である。
ここでの通信アドレスのドメイン名は、アプリケーションプログラムの作成者を特定する作成者情報を含む。第１サーバ２０にアクセスするための通信アドレスは、ここでは、「https://serviceprovider1.supl*.com」及び「https://serviceprovider1.sup2*.com」で、ドメイン名が作成者情報を意味する文字列となっている。この作成者情報を意味する文字列は、作成者が同じ複数のアプリケーションプログラムで共通する。他方、第２サーバ３０にアクセスするための通信アドレスは、「https://serviceprovider2.sup3*.com」及び「https://serviceprovider2.sup4*.com」で、ドメイン名が作成者情報を意味する文字列となっている。この作成者情報を意味する文字列は、作成者が同じ複数のアプリケーションプログラムで共通する。
【００６４】
この変形例において、通信管理部１０２は、アプリケーションが要求した通信を行う場合には、まず、通信先の通信アドレスを特定する。そして、通信管理部１０２は、特定した通信アドレスに含まれる作成者情報（図１９の例では、「serviceprovider1」又は「serviceprovider2」）に対応付けて、接続先リスト１５２ｂ、優先度リスト１５３ｂ及び通信制限リスト１５４ｂに書き込まれた情報に基づいて、通信端末１０を動作させる。
なお、通信端末１０は、電子証明書の所有者、アプリ識別子及び通信の通信先アドレスの情報の２つ以上を用いて、通信端末１０の動作設定に関する情報を各リストに書き込むようにしてもよい。
【００６５】
（変形例３）
上述した実施形態の通信端末１０では、デフォルトの接続先のアクセスポイントをユーザが決定していたが、デフォルトの接続先とするアクセスポイントを、所有者の了承の下で、通信端末１０が決定し設定してもよい。
例えば、通信端末１０は、移動通信網ＮＷ側からプッシュ通信があるアクセスポイントを、優先的にデフォルトに設定してもよい。こうすれば、ネットワークＮＷ側からプッシュ通信があった場合に、通信端末１０は、このプッシュ通信に関する通信データをより確実に受信しやすくなる。
また、通信端末１０は、時刻や日付等の時期に応じて、デフォルトの接続先のアクセスポイントに設定してもよい。例えば、通信端末１０は、ユーザの勤務時間帯等の所定の時期においては、アクセスポイントＡＰ２をデフォルトの接続先に設定し、それ以外の時期においては、アクセスポイントＡＰ１をデフォルトの接続先に設定する。また、通信端末１０は、自端末の現在位置に応じて、デフォルトのアクセスポイントを設定してもよい。例えば、通信端末１０は、自端末が企業又はその周辺等の特定の位置にある場合には、アクセスポイントＡＰ２をデフォルトの接続先に設定し、それ以外の位置にある場合には、アクセスポイントＡＰ１をデフォルトの接続先に設定する。この測位方式は、ＧＰＳ（Global Positioning System）測位や基地局測位等の、周知の測位方法を採用することができる。
以上のとおり、通信端末１０は、予め決められた条件を満たした場合には、デフォルトのアクセスポイントを変更することができる。このデフォルトのアクセスポイントを変更する機能は、例えば設定部１０１により実現される。
【００６６】
（変形例４）
通信端末１０は、通信部１３が接続する通信網（つまり通信ネットワーク）に応じて、記憶部１５に記憶されたリストに基づいて動作設定するかどうかを判断してもよい。例えば、通信端末１０は、Ｗｉ−Ｆｉネットワーク等の所定の通信網への接続中においては、リストに基づいて動作設定しない。
通信端末１０が記憶するリストの各々は、ホワイトリスト形式、ブラックリスト形式及びこれらを組み合わせたリストのいずれであってもよい。ホワイトリスト形式の場合、通信端末１０は、リストで設定された動作のみを許可し、リストで設定されていない動作を不許可とする。ブラックリスト形式の場合、通信端末１０は、リストで設定された動作のみを許可し、リストで設定されていない動作を不許可とする。
【００６７】
上述した実施形態で説明した通信端末１０が行う処理の一部が省略されてもよい。例えば、通信端末１０は、接続処理、フィルタ処理及びバッファ処理の一部を行わないようにしてもよい。
また、ネットワークＮＷは、無線通信網ではなく固定通信網であってもよい。また、通信回線Ｌ１，Ｌ２の具体的な通信回線の種類は特に問わない。すなわち、本発明において、通信端末の接続先の装置や通信網の種類は特に問わない。これに伴い、通信端末の接続先を特定する接続先情報はＡＰＮに限られず、当該通信端末の接続先を特定する情報であればよい。
また、本発明の通信端末は、通信における異なる３以上の接続先（アクセスポイント）に接続するものであってもよい。
【００６８】
上述した実施形態の通信端末１０が実現する各機能は、１又は複数のハードウェア回路により実現されてもよいし、１又は複数のプログラムを演算装置が実行することにより実現されてよいし、これらの組み合わせにより実現されてもよい。通信端末１０の機能がプログラムを用いて実現される場合、このプログラムは、磁気記録媒体（磁気テープ、磁気ディスク（ＨＤＤ（Hard Disk Drive）、ＦＤ（Flexible Disk））等）、光記録媒体（光ディスク等）、光磁気記録媒体、半導体メモリ等のコンピュータ読取可能な記録媒体に記憶した状態で提供されてもよいし、ネットワークを介して配信されてもよい。また、本発明は、コンピュータが行う通信方法として把握し得る。
【符号の説明】
【００６９】
１…通信システム、１０…通信端末、１０１…設定部、１０２…通信管理部、１０３…アプリ制御部、１０４…バッファ処理部、１１…制御部、１１１…ＣＰＵ、１１２…ＲＯＭ、１１３…ＲＡＭ、１１４…バッファ、１２…操作部、１３…通信部、１４…表示部、１５…記憶部、１５１…アプリケーションプログラム群、１５２，１５２ａ，１５２ｂ…接続先リスト、１５３，１５３ａ，１５３ｂ…優先度リスト、１５４，１５４ａ，１５４ｂ…通信制限リスト、２０…第１サーバ、３０…第２サーバ。
【図１】
2015103862.tif 000003
【図２】
2015103862.tif 000004
【図３】
2015103862.tif 000005
【図４】
2015103862.tif 000006
【図５】
2015103862.tif 000007
【図６】
2015103862.tif 000008
【図７】
2015103862.tif 000009
【図８】
2015103862.tif 000010
【図９】
2015103862.tif 000011
【図１０】
2015103862.tif 000012
【図１１】
2015103862.tif 000013
【図１２】
2015103862.tif 000014
【図１３】
2015103862.tif 000015
【図１４】
2015103862.tif 000016
【図１５】
2015103862.tif 000017
【図１６】
2015103862.tif 000018
【図１７】
2015103862.tif 000019
【図１８】
2015103862.tif 000020
【図１９】
2015103862.tif 000021