(57)【要約】【課題】サスペンド操作による不必要な通信の切断を防止し、アプリケーション操作の利便性、快適性を向上させる【解決手段】通信端末１００は、アプリケーション１０６の実行を制御するアプリケーション制御部１０３と、通信部１０５を制御して通信ネットワークＮとの通信を確立する通信制御部１０４と、アプリケーションをサスペンドする要因となる端末動作を検知すると、アプリケーション制御部１０３に対して起動中のアプリケーションをサスペンドさせるサスペンド指令を送信するサスペンド制御部１０２と、を備え、サスペンド制御部１０２が、検知した端末動作に応じて、通信部１０５による通信ネットワークＮとの通信接続を切断することなく、サスペンド指令をアプリケーション制御部１０３に送信するキープアライブ状態を選択可能である。【選択図】図１
2011233979.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションの実行を制御するアプリケーション制御手段と、
前記アプリケーション制御手段により通信機能を含むアプリケーションが実行されると、通信手段を制御して通信ネットワークとの通信を確立し、該アプリケーションの通信機能を実行する通信制御手段と、
前記アプリケーションをサスペンドする要因となる端末動作を検知すると、前記アプリケーション制御手段に対して起動中のアプリケーションをサスペンドさせるサスペンド指令を送信するサスペンド制御手段と、を備え、
前記サスペンド制御手段が、前記端末動作に応じて、前記通信手段による前記通信ネットワークとの通信接続を切断することなく、前記通信機能を含むアプリケーションをサスペンドさせるサスペンド指令を前記アプリケーション制御手段に送信するキープアライブ状態を選択可能であることを特徴とする、
通信端末。
【請求項２】
前記サスペンド制御手段が、前記アプリケーションをサスペンドさせる要因となる端末動作の終了を検知すると、前記アプリケーション制御手段に対してサスペンド中の前記アプリケーションをレジュームさせるレジューム指令を送信し、
前記アプリケーション制御手段が、前記サスペンド指令に応じてサスペンドさせた前記アプリケーションを、前記レジューム指令の受信に応じてレジュームさせることを特徴とする、請求項１に記載の通信端末。
【請求項３】
前記アプリケーション制御手段が、前記レジューム指令の受信に応じて前記アプリケーションをレジュームさせたときに、前記アプリケーションをレジュームさせたことを示すレジューム通知を前記通信制御手段に送信し、
前記通信制御手段は、前記アプリケーションがサスペンドされた時に前記アプリケーションの前記通信機能が実行中であり、前記アプリケーションがサスペンドされている間に、該アプリケーションの通信機能に関するデータを前記通信手段を介して前記通信ネットワークから受信すると、この受信したデータを保持しておき、前記アプリケーション制御手段からの前記レジューム通知の受信に応じて、保持していたデータを前記アプリケーション制御手段に送信し、
前記アプリケーション制御手段が、前記通信制御手段から受信したデータを前記アプリケーションの前記通信機能に送信することを特徴とする、請求項２に記載の通信端末。
【請求項４】
前記アプリケーションがサスペンドされている間に該通信端末が圏外に遷移したときには、前記通信手段による前記通信ネットワークとの通信の接続状態を維持するプリザベーション状態とすることを特徴とする、請求項１または２に記載の通信端末。
【請求項５】
前記通信制御手段は、前記アプリケーションがサスペンドされた時に前記アプリケーションの前記通信機能が実行中であり、前記アプリケーションがサスペンドされている間に、前記通信手段による前記通信ネットワークとの通信が切断された場合には、通信が切断された旨を示す切断通知を保持しておき、サスペンドした前記アプリケーションがレジュームする際に、前記アプリケーション制御手段を介して前記アプリケーションの前記通信機能に前記切断通知を送信することを特徴とする、請求項１または２に記載の通信端末。
【請求項６】
前記通信制御手段は、前記アプリケーションがサスペンドされている間に前記通信手段による前記通信ネットワークとの通信が切断される前に、該アプリケーションの通信機能に関するデータを前記通信手段を介して前記通信ネットワークから受信していた場合には、前記切断通知を保持せずにこの受信したデータを保持しておき、サスペンドした前記アプリケーションがレジュームする際に、前記アプリケーション制御手段を介して前記アプリケーションに前記データを送信することを特徴とする、請求項５に記載の通信端末。
【請求項７】
前記アプリケーションがサスペンドされた時に前記アプリケーションの前記通信機能が実行されておらず、前記アプリケーションがサスペンドされている間に、前記通信手段による前記通信ネットワークとの通信が切断された場合には、前記通信手段は、通信が切断された旨を保持しておき、サスペンドした前記アプリケーションがレジュームされた後に前記通信機能が実行されたときに、前記通信制御手段及び前記アプリケーション制御手段を介して前記アプリケーションの前記通信機能に通信が切断された旨を示す切断通知を送信することを特徴とする、請求項１または２に記載の通信端末。
【請求項８】
アプリケーションの実行を制御するアプリケーション制御手段と、前記アプリケーション制御手段により通信機能を含むアプリケーションが実行と、通信手段を制御して通信ネットワークとの通信を確立し、該アプリケーションの通信機能を実行する通信制御手段と、前記アプリケーションをサスペンドする要因となる端末動作を検知すると、前記アプリケーション制御手段に対して起動中のアプリケーションをサスペンドさせるサスペンド指令を送信するサスペンド制御手段と、を有する通信端末において実行されるアプリケーション制御方法であって、
前記サスペンド制御手段が、前記端末動作を検知する検知ステップと、
前記検知ステップにおいて前記端末動作が検知されると、前記サスペンド制御手段が、前記通信機能を含むアプリケーションをサスペンドさせるサスペンド指令を前記アプリケーション制御手段に送信する送信ステップと、
前記サスペンド制御手段が、前記検知ステップにおいて検知された前記端末動作に応じて、前記通信手段による前記通信ネットワークとの通信接続を切断せずにその接続状態を保持するキープアライブ状態を選択する選択ステップと、
を含むことを特徴とするアプリケーション制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信端末及びこの通信端末で実行されるアプリケーション制御方法に関する。
【背景技術】
【０００２】
近年、携帯電話やＰＤＡなどの通信端末において、例えばオンラインゲームなどのように、通信機能を備え移動体通信網などのネットワークと通信接続しながら利用するアプリケーションが多く提供されている。このようなアプリケーションは、ネットワーク接続中に、例えば音声着信やユーザのキー操作などの動作を優先させるべく端末からサスペンド状態への遷移を要求された場合、ネットワークとの通信を切断した上でサスペンド状態となる（例えば特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−２５００１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載される、全てのネットワーク接続を切断した上でアプリケーションをサスペンド状態に遷移させる技術では、次のような問題があった。例えば、オンライン通信（ゲームなど）を実行中に、誤ったオンフックキー押下や短時間の音声通話などにてアプリケーションがサスペンドした場合には、ＴＣＰセッションやＵＤＰ通信などが切断されてしまうため、本来通信が継続されてほしいにも関わらず、通信が途切れてしまう。
【０００５】
このように、サスペンド操作により意図しない不必要な通信切断が行われると、通信の再開には再接続操作が必要となる。この再接続操作の処理には時間が掛かるため、アプリケーションを利用している通信端末のユーザの利便性や快適性を失うおそれがあった。
【０００６】
本発明は、上記の問題を解決するためになされたものであり、サスペンド操作による不必要な通信の切断を防止し、アプリケーション操作の利便性、快適性を向上させることができる通信端末及びアプリケーション制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明に係る通信端末は、アプリケーションの実行を制御するアプリケーション制御手段と、前記アプリケーション制御手段により通信機能を含むアプリケーションが実行されると、通信手段を制御して通信ネットワークとの通信を確立し、該アプリケーションの通信機能を実行する通信制御手段と、前記アプリケーションをサスペンドする要因となる端末動作を検知すると、前記アプリケーション制御手段に対して起動中のアプリケーションをサスペンドさせるサスペンド指令を送信するサスペンド制御手段と、を備え、前記サスペンド制御手段が、前記端末動作に応じて、前記通信手段による前記通信ネットワークとの通信接続を切断することなく、前記通信機能を含むアプリケーションをサスペンドさせるサスペンド指令を前記アプリケーション制御手段に送信するキープアライブ状態を選択可能であることを特徴とする。
【０００８】
同様に、上記課題を解決するため、本発明に係るアプリケーション制御方法は、アプリケーションの実行を制御するアプリケーション制御手段と、前記アプリケーション制御手段により通信機能を含むアプリケーションが実行されると、通信手段を制御して通信ネットワークとの通信を確立し、該アプリケーションの通信機能を実行する通信制御手段と、前記アプリケーションをサスペンドする要因となる端末動作を検知すると、前記アプリケーション制御手段に対して起動中のアプリケーションをサスペンドさせるサスペンド指令を送信するサスペンド制御手段と、を有する通信端末において実行されるアプリケーション制御方法であって、前記サスペンド制御手段が、前記端末動作を検知する検知ステップと、前記検知ステップにおいて前記端末動作が検知されると、前記サスペンド制御手段が、前記通信機能を含むアプリケーションをサスペンドさせるサスペンド指令を前記アプリケーション制御手段に送信する送信ステップと、前記サスペンド制御手段が、前記検知ステップにおいて検知された前記端末動作に応じて、前記通信手段による前記通信ネットワークとの通信接続を切断せずにその接続状態を保持するキープアライブ状態を選択する選択ステップと、を含むことを特徴とする。
【０００９】
このような通信端末及びアプリケーション制御方法によれば、アプリケーションをサスペンドする要因となる動作に応じて、通信手段による通信ネットワークとの通信接続を切断せずに保持するキープアライブ状態を選択することができる。このため、アプリケーションによるオンライン通信実行中に、誤ったオンフックキー押下や短時間の音声通話などによりアプリケーションがサスペンドした場合にも、意図しない不必要な通信切断が行われるのを回避することが可能となり、アプリケーションをサスペンドから回復するときに、時間のかかる再接続操作が不要となり、この結果、ユーザの利便性、快適性を向上させることができる。また、アプリケーションがサスペンドされても通信手段による通信ネットワークとの通信が保持されるので、サスペンド時に通信ネットワークを介して当該通信端末と通信中だった対向機器からは、一切変更が無く通信が継続しているように見え、対向機器との円滑な通信継続が可能となる。
【００１０】
また、本発明に係る通信端末において、前記サスペンド制御手段が、前記アプリケーションをサスペンドさせる要因となる端末動作の終了を検知すると、前記アプリケーション制御手段に対してサスペンド中の前記アプリケーションをレジュームさせるレジューム指令を送信し、前記アプリケーション制御手段が、前記サスペンド指令に応じてサスペンドさせた前記アプリケーションを、前記レジューム指令の受信に応じてレジュームさせることが好適である。
【００１１】
また、前記アプリケーション制御手段が、前記レジューム指令の受信に応じて前記アプリケーションをレジュームさせたときに、前記アプリケーションをレジュームさせたことを示すレジューム通知を前記通信制御手段に送信し、前記通信制御手段は、前記アプリケーションがサスペンドされた時に前記アプリケーションの前記通信機能が実行中であり、前記アプリケーションがサスペンドされている間に、該アプリケーションの通信機能に関するデータを前記通信手段を介して前記通信ネットワークから受信すると、この受信したデータを保持しておき、前記アプリケーション制御手段からの前記レジューム通知の受信に応じて、保持していたデータを前記アプリケーション制御手段に送信し、前記アプリケーション制御手段が、前記通信制御手段から受信したデータを前記アプリケーションの前記通信機能に送信することが好適である。
【００１２】
この構成により、外部の通信ネットワークからサスペンド中のアプリケーションに対して送信されたデータを受信し保持することができるため、サスペンド中でも受信データを洩れなく取得することが可能となり、ユーザの利便性、快適性をより一層向上させることができる。また、サスペンド中のアプリケーションへのデータ送信が可能となるため、通信ネットワークを介して当該通信端末と通信中だった対向機器からは、一切変更が無く通信が継続しているように見え、対向機器との円滑な通信継続が可能となる。
【００１３】
また、前記アプリケーションがサスペンドされている間に該通信端末が圏外に遷移したときには、前記通信手段による前記通信ネットワークとの通信の接続状態を維持するプリザベーション状態とすることが好適である。
【００１４】
この構成により、通信端末が圏外に遷移した場合にも、通信手段による通信ネットワークとの通信の接続状態を維持するプリザベーション状態とすることができるので、例えばトンネル通過時など短時間の圏外遷移でも通信が途切れてしまうことを回避することができ、ユーザの利便性、快適性をさらに向上させることができる。
【００１５】
また、前記通信制御手段は、前記アプリケーションがサスペンドされた時に前記アプリケーションの前記通信機能が実行中であり、前記アプリケーションがサスペンドされている間に、前記通信手段による前記通信ネットワークとの通信が切断された場合には、通信が切断された旨を示す切断通知を保持しておき、サスペンドした前記アプリケーションがレジュームする際に、前記アプリケーション制御手段を介して前記アプリケーションの前記通信機能に前記切断通知を送信することが好適である。
【００１６】
この構成により、通信機能を実行中にサスペンドしたアプリケーションをレジュームしたときに、即座に通信ネットワークとの通信が切断された旨を当該通信端末のユーザに報知することが可能となり、ユーザの利便性、快適性をさらに向上させることができる。
【００１７】
また、前記通信制御手段は、前記アプリケーションがサスペンドされている間に前記通信手段による前記通信ネットワークとの通信が切断される前に、該アプリケーションの通信機能に関するデータを前記通信手段を介して前記通信ネットワークから受信していた場合には、切断通知を保持せずにこの受信したデータを保持しておき、サスペンドした前記アプリケーションがレジュームする際に、前記アプリケーション制御手段を介して前記アプリケーションに前記データを送信することが好適である。
【００１８】
この構成により、外部の通信ネットワークとの通信が切断される前までに、通信ネットワークからサスペンド中のアプリケーションに対して送信されたデータを受信し保持することができるため、サスペンド中でも受信データを取得することが可能となり、ユーザの利便性、快適性をより一層向上させることができる。
【００１９】
また、前記アプリケーションがサスペンドされた時に前記アプリケーションの前記通信機能が実行されておらず、前記アプリケーションがサスペンドされている間に、前記通信手段による前記通信ネットワークとの通信が切断された場合には、前記通信手段は、通信が切断された旨を保持しておき、サスペンドした前記アプリケーションがレジュームされた後に前記通信機能が実行されたときに、前記通信制御手段及び前記アプリケーション制御手段を介して前記アプリケーションの前記通信機能に通信が切断された旨を示す切断通知を送信することが好適である。
【００２０】
この構成により、サスペンド中に通信ネットワークとの通信が切断されても、レジューム後にアプリケーションの通信機能がはじめて使われたときに、通信ネットワークとの通信が切断された旨を当該通信端末のユーザに報知することができるため、アプリケーションがレジュームしたときに余計な情報をユーザに報知することがなくなり、ユーザの利便性、快適性をさらに向上させることができる。
【発明の効果】
【００２１】
本発明に係る通信端末及びアプリケーション制御方法によれば、サスペンド操作による不必要な通信の切断を防止し、アプリケーション操作の利便性、快適性を向上させることができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の一実施形態に係る通信端末１００の機能ブロック図である。
【図２】通信端末１００のハードウェア構成図である。
【図３】サスペンド要因となる端末動作と、これらの動作ごとにキープアライブ状態とするか否かの定義の一例を示す表である。
【図４】本実施形態の通信端末１００において実行される、アプリケーションのサスペンドからレジュームへの一連の処理を示すシーケンス図である。
【図５】本実施形態の通信端末１００において実行される、アプリケーションのサスペンドからレジュームへの一連の処理において、ネットワーク接続が切断されたときの処理を示すシーケンス図である。
【図６】本実施形態の通信端末１００において実行される、アプリケーションのサスペンドからレジュームへの一連の処理において、送出したリクエストに応じてレスポンスを受信した後にネットワーク接続が切断されたときの処理を示すシーケンス図である。
【図７】本実施形態の通信端末１００において実行される、アプリケーションのサスペンドからレジュームへの一連の処理において、通信ＡＰＩを呼び出していないときにアプリケーションをサスペンドし、さらにキープアライブ時にネットワークとの通信接続が切断されたときの処理を示すシーケンス図である。
【発明を実施するための形態】
【００２３】
以下、図面を参照しながら本発明の実施形態を詳細に説明する。なお、図面の説明において同一又は同等の要素には同一の符号を付し、重複する説明を省略する。
【００２４】
図１は、本発明の一実施形態に係る通信端末１００の機能ブロック図である。通信端末１００は、携帯電話、ＰＤＡ（Personal Digital Assistant：個人情報端末）などの、通信機能を有する装置を含むものである。図１に示すように、通信端末１００は、移動体通信網又はＷＷＷなどのインターネット網などによって構成される通信ネットワークＮを介して、図示しない他の通信端末やサーバと相互にデータ通信が可能な状態で接続されている。
【００２５】
また、通信端末１００は、端末内に保持される１または複数のアプリケーション１０６を実行して、種々のサービスを利用可能である。アプリケーション１０６により提供されるサービスとは、例えばオンラインゲームであり、この場合、通信機能、セーブデータ保存機能、取得コンテンツ（音楽、アイテムなど）保存機能などがアプリケーション１０６に含まれる。これらの機能は、具体的には、例えばＡＰＩ（Application Program Interface）により実現される。
【００２６】
図２は、通信端末１００のハードウェア構成図である。通信端末１００は、物理的には、ＣＰＵ（Central Processing Unit）１１１、主記憶装置であるＲＡＭ（Random Access Memory）１１２及びＲＯＭ（Read Only Memory）１１３、入力デバイスである入力キー等の操作部１１４、ディスプレイ１１５、無線通信部１１６などを有する端末装置として構成されている。図１に示され後述される通信端末１００の各機能は、ＣＰＵ１１１、ＲＡＭ１１２等のハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、ＣＰＵ１１１の制御のもとで操作部１１４、ディスプレイ１１５、無線通信部１１６を動作させるとともに、ＲＡＭ１１２やＲＯＭ１１３におけるデータの読み出し及び書き込みを行うことで実現される。
【００２７】
ここで、本実施形態において、「ネイティブアプリケーション」１０７とは、端末１００のＣＰＵ１１１が直接解釈し実行できる形式のアプリケーションプログラムのことを意味し、「アプリケーション」１０６とは、例えばＪａｖａ（登録商標）アプリケーションなどの非ネイティブなアプリケーションプログラムを意味する。
【００２８】
図１に戻り、通信端末１００の各機能ブロックについて説明する。通信端末１００は、操作入力部１０１、サスペンド制御部（サスペンド制御手段）１０２、アプリケーション制御部（アプリケーション制御手段）１０３、通信制御部（通信制御手段）１０４、通信部（通信手段）１０５を備えて構成される。
【００２９】
操作入力部１０１は、通信端末１００のユーザによるボタン押下やタッチパネル入力などの入力操作を受け付ける。具体的には、図２に示すハードウェア構成のうち操作部１１４により実現される。操作入力部１０１は、ユーザの入力操作を検知すると、この旨をサスペンド制御部１０２に送信する。
【００３０】
サスペンド制御部１０２は、通信端末１００の動作状況に応じて、アプリケーション１０６のサスペンド（停止）／レジューム（再開）を制御し、さらに、起動中のアプリケーションをサスペンドする際には、当該アプリケーションによるネットワークとの通信接続をキープアライブ状態とするか、切断するかを決定する。ここで、「キープアライブ」状態とは、本実施形態では、アプリケーションのサスペンド遷移時に、下位のネットワークＩＦ層では通信（送受信）を継続する状態のことを意味するものであり、具体的には、ＴＣＰセッションやＵＤＰ通信などを切断しないでおくことで実現される。
【００３１】
より詳細には、サスペンド制御部１０２は、第１に、操作入力部１０１から通信端末１００のユーザの入力操作を検知した旨の情報を受信したとき、または、ネイティブアプリケーション１０７からの指令（音声通話の開始など）を受信したときに、実行中のアプリケーションの扱いを選択決定する。サスペンド制御部１０２は、具体的には、起動中のアプリケーションをサスペンドするか否か、また、サスペンドに応じて、通信機能のＡＰＩを実行している場合には、通信部によるネットワークとの接続状態を保持するか否か、すなわちキープアライブ状態とするか否かを決定する。
【００３２】
特に本実施形態では、通信機能のＡＰＩを利用して通信部１０５を介してネットワークＮと通信するアプリケーション１０６を実行中に、この実行中のアプリケーションをサスペンドすることを決定した場合に、このアプリケーションが利用している通信機能ＡＰＩによって通信部１０５を介してネットワークと接続されている状態を保持し、キープアライブ状態とするか否かを決定する。
【００３３】
サスペンド及びキープアライブを判断するために、サスペンド制御部１０２は、操作入力部１０１及びネイティブアプリ１０７による端末動作に応じて、アプリケーションの扱い（サスペンド及びキープアライブの有無）を予め定義付けて保持している。図３は、サスペンド要因となる端末動作と、これらの動作ごとにキープアライブ状態とするか否かの定義の一例を示す表である。図３に示すように、サスペンド要因となる端末動作が、音声着信、メソッド呼び出し（カメラ、ＤＴＶ（Ｄｉｇｉｔａｌ  Ｔｅｌｅｖｉｓｉｏｎ）他）、イヤホンマイクによる発信、またはハンズフリー通信である場合、アプリケーションはサスペンドされると共に、キープアライブ状態となる。一方、サスペンド要因となる端末動作が、低電圧アラーム、テレビ電話着信（応答した契機）、端末性能上継続できない場合のマルチタスク及び位置情報提供の起動である場合、アプリケーションはサスペンドされると共に、ネットワークＮとの通信接続を切断される。
【００３４】
サスペンド制御部１０２は、アプリケーションをサスペンドすることを決定すると、サスペンド指令をアプリケーション制御部に送信すると共に、図３に示すサスペンド要因動作と関連付けられたキープアライブ可否が「切断」であり、キープアライブ状態にしないと決定した場合には、ネットワークとの通信接続を切断するための切断指令を通信部１０５に送信する。また、サスペンド前から無通信の監視タイマを継続しておき、監視タイマ満了時にも、切断指令を通信部１０５に送信する。一方、サスペンド制御部１０２は、図３に示すサスペンド要因動作と関連付けられたキープアライブ可否が「キープアライブする」であり、キープアライブ状態にすると決定した場合には、通信部１０５によるネットワークとの通信接続を切断せずに保持すべく、切断通知を通信部１０５に送信しない。
【００３５】
サスペンド制御部１０２は、第２に、サスペンドしたアプリケーションをレジュームするか否かを決定する。より詳細には、サスペンド要因となる動作が終了すると、サスペンドしているアプリケーションをレジュームするレジューム指令をアプリケーション制御部に送信する。
【００３６】
アプリケーション制御部１０３は、端末１００内に保持されているアプリケーション１０６の起動、実行、終了、サスペンド、レジュームを制御する。より詳細には、アプリケーション制御部１０３は、サスペンド指令／レジューム指令をサスペンド制御部１０２から受信すると、アプリケーション１０６をサスペンド／レジュームする。
【００３７】
アプリケーション１０６をサスペンドした場合には、アプリケーション制御部１０３は、通信制御部１０４にアプリケーション１０６がサスペンドされたことを示す「サスペンド通知」を送信する。
【００３８】
アプリケーション１０６をレジュームした場合には、アプリケーション制御部１０３は、通信制御部１０４にアプリケーション１０６がレジュームされたことを示す「レジューム通知」を送信すると共に、サスペンド制御部１０２にもアプリケーション１０６のレジューム処理が完了したことを示す通知を送信する。そして、通信制御部１０４にレジューム通知を送信するのに応じて、通信端末１００がサスペンド（キープアライブ）中に、リクエストに対するレスポンスなどのデータをネットワークＮから受信していた場合には、通信制御部１０４からこのデータを受信し、アプリケーション１０６に渡す。より詳細には、サスペンド時に呼び出していた通信機能に関するＡＰＩ（以下、「通信ＡＰＩ」とよぶ）を継続し、この通信ＡＰＩに受信したデータを返す。
【００３９】
また、通信制御部１０４にレジューム通知を送信するのに応じて、サスペンド（キープアライブ）中に、ネットワークＮとの通信接続が切断されていた場合には、アプリケーション制御部１０３は、後述する通信部１０５から通信制御部１０４を介して、ネットワークＮとの通信接続が切断されたことを示す「切断通知」を受信し、アプリケーション１０６に渡し、アプリケーション１０６を介して端末１００のユーザに提示する。ここで、ネットワークＮとの通信接続が切断される要因としては、ネットワークＮ側の何らかのエラー発生、端末内の無通信監視タイマ（無通信状態が所定時間経過を検知する）の満了、サスペンド制御部１０２による切断指令、などが挙げられる。
【００４０】
アプリケーション制御部１０３は、Ｊａｖａ  ＶＭ（Ｊａｖａ  Ｖｅｒｔｕａｌ  Ｍａｃｈｉｎｅ）により実装される。
【００４１】
通信制御部１０４は、通信部１０５によるネットワークＮとのデータ通信接続を制御する。より詳細には、通信制御部１０４は、サスペンド通知をアプリケーション制御部１０３から受信し、かつ、通信部１０５から切断通知を受信しない場合には、サスペンドするアプリケーションがキープアライブ状態となると判断し、通信部１０５による通信セッションを継続する。そして、キープアライブ状態中に、レスポンスなど通信部１０５が受信したデータが通信部１０５から渡されると、これを保持する。保持するデータは、アプリケーション制御部１０３からレジューム通知を受信するのに応じて、アプリケーション制御部１０３へ送信する。
【００４２】
また、通信制御部１０４は、キープアライブ状態中に、端末１００内の無通信監視タイマの満了に伴い通信部１０５によるネットワーク接続を切断した場合、または、通信部１０５がネットワークとの接続を切断したことを示す「切断通知」を通信部１０５から受信した場合、これを保持しておき、アプリケーション制御部１０３からレジューム通知を受信するのに応じて、アプリケーション制御部１０３へ送信する。
【００４３】
また、通信制御部１０４は、アプリケーション制御部１０３によりアプリケーション１０６が新たに起動され、このアプリケーション１０６が通信ＡＰＩを利用するものである場合には、通信部１０５に対してネットワークＮとの通信を接続させる旨の指令（接続指令）を送信する。
【００４４】
通信制御部１０４は、Ｊａｖａ  ＶＭ（Ｊａｖａ  Ｖｅｒｔｕａｌ  Ｍａｃｈｉｎｅ）により実装される。
【００４５】
通信部１０５は、ネットワークＮとのデータ通信を実行する。通信部１０５は、具体的には、図２に示すハードウェアの無線通信部１１６により実現される。
【００４６】
より詳細には、通信部１０５は、通信制御部１０４からの制御指令（接続指令、切断指令）に応じてネットワークＮとの接続の確立／切断を行う。また、サスペンド制御部１０２からの切断指令に応じてネットワークＮとの通信接続の切断を行う。
【００４７】
また、通信部１０５は、レスポンスなどのデータをネットワークＮから受信した場合には、通信制御部１０４に送信する。
【００４８】
また、通信部１０５は、ネットワークＮと通信接続中に、通信端末１００が圏外に移動したときには、プリザベーション（Preservation）状態とする。「プリザベーション」とは、電波が途絶え、圏外となった場合にＩＰアドレスなどを確保するなど内部的な状態として接続状態を継続しておくことである。なお、プリザベーションの詳細は、３ＧＰＰで定義されている。
【００４９】
また、通信部１０５は、ネットワーク側の何らかのエラー発生、端末内の無通信監視タイマの満了、サスペンド制御部１０２及び通信制御部１０４からの切断指令の受信などによって、ネットワークＮとの接続が切断された場合には、切断通知を通信制御部１０４に送信する。ただし、送出したリクエストに対してレスポンスを受信した後に、ネットワーク接続が切断された場合には、リクエストに関する一連の通信セッションが終了しているため、切断通知を通信制御部に送信しないでおく。そして、アプリケーション１０６が新たに通信ＡＰＩを呼び出してネットワークと通信を行うため、リクエストなどのデータ送信の指令をアプリケーション１０６から受信したときに、切断通知を通信制御部１０４に送信する。
【００５０】
次に、図４〜８を参照して、本実施形態の通信端末１００において実行される処理を説明すると共に、本実施形態に係るアプリケーション制御方法について説明する。
【００５１】
図４は、本実施形態の通信端末１００において実行される、アプリケーションのサスペンドからレジュームへの一連の処理を示すシーケンス図である。
【００５２】
まず、起動中のアプリケーション１０６において呼び出されている通信ＡＰＩにより、例えばリクエストなどのデータがアプリケーション制御部１０３、通信制御部１０４及び通信部１０５を介してネットワークＮへ送信される（Ｓ１０１）。
【００５３】
次に、サスペンド制御部１０２により、操作入力部１０１またはネイティブアプリケーション１０７で検知された端末動作の内容に基づき、サスペンド要因となる動作が発生したか否かが判定される（Ｓ１０２：検知ステップ）。サスペンド要因となる端末動作の一例は図３に示すとおりである。
【００５４】
サスペンド要因となる動作が発生していると判定された場合には、サスペンド制御部１０２により、当該端末動作に応じてアプリケーション１０６をサスペンドすると共に、キープアライブ状態とするか否かが判定される（Ｓ１０３：選択ステップ）。例えば、サスペンド制御部１０２は、図３に示すように、サスペンド要因となる端末動作ごとに、キープアライブするか、またはネットワーク接続を切断するかを予め定義しておき、これらの定義に基づき判定を行う。
【００５５】
そして、サスペンド制御部１０２により、サスペンド要因となる動作が発生し、かつ、この動作がキープアライブ対象であると判定された場合には、起動中のアプリケーション１０６をサスペンドさせる旨のサスペンド指令がアプリケーション制御部１０３に送信される（Ｓ１０４：送信ステップ）。なお、図４〜８では、サスペンド要因となる動作がキープアライブ対象であった場合を例示しているので、このときサスペンド制御部１０２から通信部１０５へは何の指令も送信されてないが、サスペンド要因となる動作が、キープアライブ対象ではなく、ネットワーク切断を行うように設定されている場合には、サスペンド指令の送信と共に、通信部１０５にネットワークとの通信接続を切断させる旨の切断指令が送信される。
【００５６】
次に、アプリケーション制御部１０３により、サスペンド指令の受信に応じて、起動中のアプリケーション１０６がサスペンドされ（Ｓ１０５）、この旨のサスペンド通知が通信制御部１０４に送信される（Ｓ１０６）。このようなステップＳ１０２〜Ｓ１０６の処理を経て、アプリケーション１０６のサスペンド遷移時に、ネットワークＮとの通信接続を継続するキープアライブ状態となる。
【００５７】
なお、キープアライブ状態中に、通信端末１００が圏外に移動した場合には、通信部１０５により、ＩＰアドレスなどを確保するなど内部的な状態として接続状態を継続しておくプリザベーション（Preservation）状態となり、通信端末１００が再び圏内に戻ると通信接続が復旧される（Ｓ１０７）。
【００５８】
キープアライブ状態中に、通信部１０５により、送出したリクエストに対するレスポンスなどのデータがネットワークＮから受信されると、この受信したデータが通信制御部１０４に送信され（Ｓ１０８）、通信制御部１０４によりこのデータが保持される（Ｓ１０９）。
【００５９】
サスペンド制御部１０２により、サスペンド要因となる動作が終了したことが検知されると（Ｓ１１０）、サスペンド中のアプリケーションをレジュームさせる旨のレジューム通知がアプリケーション制御部１０３に送信される（Ｓ１１１）。
【００６０】
アプリケーション制御部１０３により、レジューム指令の受信に応じて、サスペンド中のアプリケーション１０６がレジュームされ（Ｓ１１２）、サスペンド時に呼び出していた通信ＡＰＩが再び呼び出されると共に、この旨のレジューム通知が通信制御部１０４に送信される（Ｓ１１３）
【００６１】
そして、通信制御部１０４により、レジューム通知の受信に応じて、キープアライブ状態時に保持していたネットワークＮからの受信データ（レスポンスなど）がアプリケーション制御部１０３を介して、アプリケーション１０６の通信ＡＰＩに渡される（Ｓ１１４）
【００６２】
図５は、本実施形態の通信端末１００において実行される、アプリケーションのサスペンドからレジュームへの一連の処理において、ネットワーク接続が切断されたときの処理を示すシーケンス図である。図５に示すステップＳ２０１〜Ｓ２０６は、図４を参照して説明したステップＳ１０１〜Ｓ１０６と同様の処理なので、説明を省略する。つまり、ステップＳ２０１〜Ｓ２０６を経て、アプリケーションのサスペンド遷移時に、ネットワークＮとの通信接続を継続するキープアライブ状態となっている。
【００６３】
そして、キープアライブ状態中に、ネットワーク側の何らかのエラー発生、端末内の無通信監視タイマの満了、サスペンド制御部１０２及び通信制御部１０４からの切断指令の受信などによって、ネットワークとの接続が切断された場合（Ｓ２０７）には、通信部１０５により切断通知が通信制御部１０４に送信される（Ｓ２０８）。なお、通信部１０５は、ステップＳ２０１においてリクエストを送出していた場合には、このリクエストに対応するレスポンスが未受信であることを記憶してあり、この状態でネットワーク接続が切断された場合に、切断通知を通信制御部１０４へ送信する。
【００６４】
通信制御部１０４では、通信部１０５から受信した切断通知が、キープアライブ状態中保持されている（Ｓ２０９）。
【００６５】
次に、ステップＳ２１０〜Ｓ２１３（図４のステップＳ１１０〜Ｓ１１３と同一なので説明を省略）を経て、サスペンド中のアプリケーション１０６がレジュームされ、サスペンド時に呼び出していた通信ＡＰＩが再び呼び出されると共に、レジューム通知が通信制御部１０４に送信される。
【００６６】
そして、通信制御部１０４により、レジューム通知の受信に応じて、キープアライブ状態時に保持していた切断通知がアプリケーション制御部１０３を介して、アプリケーション１０６の通信ＡＰＩに渡され（Ｓ２１４）、アプリケーション１０６を介して端末１００のユーザにネットワークＮとの通信接続が切断された旨が提示される。
【００６７】
図６は、本実施形態の通信端末１００において実行される、アプリケーションのサスペンドからレジュームへの一連の処理において、送出したリクエストに応じてレスポンスを受信した後にネットワーク接続が切断されたときの処理を示すシーケンス図である。図６に示すステップＳ３０１〜Ｓ３０６は、図４を参照して説明したステップＳ１０１〜Ｓ１０６と同様の処理なので、説明を省略する。つまり、ステップＳ３０１〜Ｓ３０６を経て、アプリケーションのサスペンド遷移時に、ネットワークＮとの通信接続を継続するキープアライブ状態となっている。
【００６８】
キープアライブ状態中に、通信部１０５により、送出したリクエストに対するレスポンスをネットワークから受信すると、この受信したレスポンスが通信制御部１０４に送信され（Ｓ３０７）、通信制御部１０４によりこのレスポンスが保持される（Ｓ３０８）。なお、このとき、通信部１０５は、ステップＳ３０１において送出したリクエストに対応するレスポンスが受信され、一連の通信セッションが終了している旨を記憶しておく。
【００６９】
そして、キープアライブ状態中に、ネットワークとの接続が切断された場合（Ｓ３０９）には、通信部１０５は、上述のように、ステップＳ３０１で送出したリクエストに関する一連の通信セッションが終了しており、また、既に通信制御部１０４にレスポンスが保持されているため、切断通知を通信制御部１０４に送信せずに保持しておく。
【００７０】
次に、ステップＳ３１０〜Ｓ３１３（図４のステップＳ１１０〜Ｓ１１３と同一）を経て、サスペンド中のアプリケーションがレジュームされ、サスペンド時に呼び出していた通信ＡＰＩが再び呼び出されると共に、レジューム通知が通信制御部１０４に送信される。
【００７１】
そして、通信制御部１０４により、レジューム通知の受信に応じて、キープアライブ状態時に保持していたネットワークＮからの受信レスポンスがアプリケーション制御部１０３を介して、アプリケーション１０６の通信ＡＰＩに渡される（Ｓ３１４）。
【００７２】
さらに、アプリケーション１０６が新たに通信ＡＰＩを呼び出し、ネットワークＮと通信を行うべくリクエストの送信指令を送出すると（Ｓ３１５）、通信部１０５により、ステップＳ３０９において通信部１０５に保持されていた切断通知が、通信制御部１０４及びアプリケーション制御部１０３を介して、アプリケーション１０６の通信ＡＰＩに渡され（Ｓ３１６）、アプリケーション１０６を介して端末１００のユーザにネットワークとの通信接続が切断された旨が提示される。
【００７３】
図７は、本実施形態の通信端末１００において実行される、アプリケーションのサスペンドからレジュームへの一連の処理において、通信ＡＰＩを呼び出していないときにアプリケーションをサスペンドし、さらにキープアライブ時にネットワークとの通信接続が切断されたときの処理を示すシーケンス図である。
【００７４】
図７に示すシーケンス開始時のアプリケーションの状態は、通信ＡＰＩを呼び出していない状態、すなわち通信を伴わないＡＰＩを呼び出している状態またはＡＰＩを呼び出していない状態である。つまり、アプリケーションは、ネットワークとデータ通信を実行していない。このような状態において、ステップＳ４０１〜Ｓ４０５（図４のステップＳ１０２〜Ｓ１０６と同じ）を経て、アプリケーションのサスペンド遷移時に、ネットワークＮとの通信接続を継続するキープアライブ状態となっている。そして、キープアライブ状態中にネットワークとの接続が切断される（Ｓ４０６）。このとき、アプリケーションは、ネットワークとデータ通信を実行していない状態なので、通信部１０５は切断通知を通信制御部１０４に送信せずに保持しておく。
【００７５】
次に、ステップＳ４０７〜Ｓ４１０（図４のステップＳ１１０〜Ｓ１１３と同一）を経て、サスペンド中のアプリケーション１０６がレジュームされ、サスペンド時のＡＰＩの呼び出し状態が復旧されると共に、レジューム通知が通信制御部１０４に送信される。ここでは、通信制御部１０４には何のデータや通知も保持されていないため、アプリケーション１０６に情報が渡されることなくアプリケーション１０６がレジュームされる。
【００７６】
そして、アプリケーション１０６が新たに通信ＡＰＩを呼び出し、ネットワークＮと通信を行うべくリクエストの送信指令を送出すると（Ｓ４１１）、通信部１０５により、ステップＳ４０６において通信部１０５に保持されていた切断通知が、通信制御部１０４及びアプリケーション制御部１０３を介して、アプリケーション１０６の通信ＡＰＩに渡され（Ｓ４１２）、アプリケーション１０６を介して端末１００のユーザにネットワークとの通信接続が切断された旨が提示される。
【００７７】
以上に説明した本実施形態に係る通信端末１００において実施される動作は、以下のとおりである。
（１）サスペンド時
・サスペンド時にＴＣＰセッションやＵＤＰ通信などが存在する場合は、それらを切断しない
・サスペンド時に呼び出し中のＡＰＩは失敗させない
（２）キープアライブ中
・下位のネットワークＩＦ層では通信（送受信）を継続する
・サスペンド前から無通信監視タイマを継続する。監視タイマ満了時は通信を切断する
（３）レジューム時
（３−１）キープアライブ中に通信が切断しなかった場合
・通信セッションを継続する
・サスペンド時に呼び出していた通信ＡＰＩも継続する
・ネットワークからレスポンスを受信するＡＰＩを呼び出し中にサスペンドし、キープアライブ中にネットワークからレスポンスを受信していた場合は、レジューム時に呼び出していたＡＰＩに受信したレスポンスを返す
（３−２）キープアライブ中に何らかの要因により通信が切断された場合
・通信セッションは切断のままとする
・サスペンド時に通信ＡＰＩを呼び出していた場合、切断例外が入る（切断通知を送信する）
・サスペンド時に通信ＡＰＩを呼び出していなかった場合（ＡＰＩを呼び出していない、または通信を伴わないＡＰＩを呼び出していた場合の両方を含む）は、切断例外は発生せず、特別な通知を行わない。この場合、レジューム後に新たに通信ＡＰＩを呼び出したときに、切断通知が送信される
・ネットワークからレスポンスを受信するＡＰＩを呼び出し中にサスペンドし、キープアライブ中にネットワークからレスポンスを受信していた場合は、レジューム時に呼び出していたＡＰＩに受信したレスポンスを返す
【００７８】
次に、本実施形態に係る通信端末１００及びアプリケーション制御方法による作用・効果を説明する。このような通信端末１００及びアプリケーション制御方法によれば、サスペンド制御部１０２が、起動中のアプリケーション１０６をサスペンドする要因となる端末動作を検知すると、このアプリケーション１０６をサスペンドさせるサスペンド指令をアプリケーション制御部１０３に送信すると共に、検知した端末動作に応じて、通信部１０５による通信ネットワークＮとの通信接続を切断せずに保持するキープアライブ状態を選択可能である。
【００７９】
このため、アプリケーション１０６によるオンライン通信実行中に、誤ったオンフックキー押下や短時間の音声通話などによりアプリケーション１０６がサスペンドした場合にも、意図しない不必要な通信切断が行われるのを回避することが可能となり、アプリケーション１０６をサスペンドから回復するときに、時間のかかる再接続操作が不要となり、この結果、ユーザの利便性、快適性を向上させることができる。また、アプリケーション１０６がサスペンドされても通信部１０５による通信ネットワークＮとの通信が保持されるので、サスペンド時に通信ネットワークＮを介して当該通信端末１００と通信中だった対向機器からは、一切変更が無く通信が継続しているように見え、対向機器との円滑な通信継続が可能となる。
【００８０】
また、サスペンド制御部１０２が、アプリケーション１０６をサスペンドさせる要因となる端末動作の終了を検知すると、アプリケーション制御部１０３に対してサスペンド中のアプリケーション１０６をレジュームさせるレジューム指令を送信し、アプリケーション制御部１０３が、サスペンド指令に応じてサスペンドさせたアプリケーション１０６を、レジューム指令の受信に応じてレジュームさせる。
【００８１】
また、アプリケーション制御部１０３が、レジューム指令の受信に応じてアプリケーション１０６をレジュームさせたときに、アプリケーション１０６をレジュームさせたことを示すレジューム通知を通信制御部１０４に送信し、通信制御部１０４は、アプリケーション１０６がサスペンドされた時にアプリケーション１０６の通信ＡＰＩが実行中であり、アプリケーション１０６がサスペンドされている間に、該アプリケーションの通信ＡＰＩに関するデータを通信部１０５を介して通信ネットワークＮから受信すると、この受信したデータを保持しておき、アプリケーション制御部１０３からのレジューム通知の受信に応じて、保持していたデータをアプリケーション制御部１０３に送信し、アプリケーション制御部１０３が、通信制御部１０４から受信したデータをアプリケーション１０６の通信ＡＰＩに送信する。
【００８２】
このため、外部の通信ネットワークＮからサスペンド中のアプリケーション１０６に対して送信されたデータを受信し保持することができるため、サスペンド中でも受信データを洩れなく取得することが可能となり、ユーザの利便性、快適性をより一層向上させることができる。また、サスペンド中のアプリケーション１０６へのデータ送信が可能となるため、通信ネットワークＮを介して当該通信端末１００と通信中だった対向機器からは、一切変更が無く通信が継続しているように見え、対向機器との円滑な通信継続が可能となる。
【００８３】
また、アプリケーション１０６がサスペンドされている間に該通信端末１００が圏外に遷移したときには、通信部１０５による通信ネットワークＮとの通信の接続状態を維持するプリザベーション状態とするため、例えばトンネル通過時など短時間の圏外遷移でも通信が途切れてしまうことを回避することができ、ユーザの利便性、快適性をさらに向上させることができる。
【００８４】
また、通信制御部１０４は、アプリケーション１０６がサスペンドされた時にアプリケーション１０６の通信ＡＰＩが実行中であり、アプリケーション１０６がサスペンドされている間に、通信部１０５による通信ネットワークＮとの通信が切断された場合には、通信が切断された旨を示す切断通知を保持しておき、サスペンドしたアプリケーション１０６がレジュームする際に、アプリケーション制御部１０３を介してアプリケーション１０６の通信ＡＰＩに切断通知を送信する。このため、通信機能を実行中にサスペンドしたアプリケーションをレジュームしたときに、即座に通信ネットワークとの通信が切断された旨を当該通信端末のユーザに報知することが可能となり、ユーザの利便性、快適性をさらに向上させることができる。
【００８５】
また、通信制御部１０４は、アプリケーション１０６がサスペンドされている間に通信部１０５による通信ネットワークＮとの通信が切断される前に、該アプリケーション１０６の通信ＡＰＩに関するデータを通信部１０５を介して通信ネットワークＮから受信していた場合には、切断通知を保持せずにこの受信したデータを保持しておき、サスペンドしたアプリケーション１０６がレジュームする際に、アプリケーション制御部１０３を介してアプリケーション１０６にデータを送信する。
【００８６】
このため、外部の通信ネットワークＮとの通信が切断される前までに、通信ネットワークＮからサスペンド中のアプリケーション１０６に対して送信されたデータを受信し保持することができるため、サスペンド中でも受信データを取得することが可能となり、ユーザの利便性、快適性をより一層向上させることができる。
【００８７】
また、通信部１０５は、アプリケーション１０６がサスペンドされた時にアプリケーション１０６の通信ＡＰＩが実行されておらず、アプリケーション１０６がサスペンドされている間に、通信部１０５による通信ネットワークＮとの通信が切断された場合には、通信が切断された旨を保持しておき、サスペンドしたアプリケーション１０６がレジュームされた後に通信ＡＰＩが実行されたときに、通信制御部１０４及びアプリケーション制御部１０３を介してアプリケーション１０６の通信ＡＰＩに通信が切断された旨を示す切断通知を送信する。
【００８８】
このため、サスペンド中に通信ネットワークＮとの通信が切断されても、レジューム後にアプリケーション１０６の通信ＡＰＩがはじめて使われたときに、通信ネットワークＮとの通信が切断された旨を当該通信端末１００のユーザに報知することができるため、アプリケーション１０６がレジュームしたときに余計な情報をユーザに報知することがなくなり、ユーザの利便性、快適性をさらに向上させることができる。
【００８９】
以上、本発明に係る通信端末１００及びアプリケーション制御方法について好適な実施形態を挙げて説明したが、本発明は上記実施形態に限られるものではない。通信部１０５によるネットワークＮとの通信接続が切断されるバリエーションとしては、異常通信（従量課金ユーザが一定量を超える通信を行っている状態など）を検知した場合に切断するよう構成してもよい。
【００９０】
また、上記実施形態では、キープアライブ動作が行われる例として分かりやすさの観点から主にリクエスト／レスポンスの通信を例示したが、この他、通信端末１００がデータを送信または受信するのみの通信でも、キープアライブ動作が行われた場合には本発明を適用可能である。さらに、データ送信中または受信中にサスペンド要因が発生してキープアライブ状態となった場合にも、本発明を適用可能である。
【符号の説明】
【００９１】
１００…通信端末、１０２…サスペンド制御部（サスペンド制御手段）、１０３…アプリケーション制御部（アプリケーション制御手段）、１０４…通信制御部（通信制御手段）、１０５…通信部（通信手段）、１０６…アプリケーション、Ｎ…通信ネットワーク。
【図１】
2011233979.tif 000003
【図２】
2011233979.tif 000004
【図３】
2011233979.tif 000005
【図４】
2011233979.tif 000006
【図５】
2011233979.tif 000007
【図６】
2011233979.tif 000008
【図７】
2011233979.tif 000009