以下、本発明の携帯端末装置の一実施形態による携帯電話端末を図面を参照して説明する。
図1は、本実施形態による携帯電話端末1を示す概略ブロック図である。
図1において携帯電話端末1は、無線により公衆通信網に接続する無線通信部50や、液晶画面を備えた表示部51や、ユーザの入力を受けるキー操作部52や、電話時にユーザの音声を入出力し、また着信時に着信メロディのデータを出力する音声処理部53を携帯電話としての基本的な機能として備えている。また、携帯電話端末1は、アプレットの起動、一時停止、終了などを制御する制御部2を備えている。
制御部2は、ソフトウェアのプログラム(以下、アプレットと呼ぶ)を実行するオペレーティングシステム10(以下、OSと呼ぶ)、アプレットの競合状態等を判定してアプレットの起動制御を行うアプリケーション管理20(以下、APMAN:Aplication Program Managerと呼ぶ)、携帯電話端末に標準実装されているスタティックアプレットを記憶するスタティックアプレット記憶部40、携帯電話端末に標準実装されていないダウンロードアプレットを記憶するダウンロードアプレット記憶部30を備えている。
制御部2において、スタティックアプレット記憶部40は、携帯電話端末1の開発メーカによって標準実装されているスタティックアプレットを記憶する。スタティックアプレットとしては、例えば待ち受け画面を表示部51へ表示する待ち受け画面アプレット40aや、電子メールを無線通信部50を介して送受信する電子メールアプレット40bや、無線通信部50を介してインターネットへ接続しウェブページを表示部51へ表示するウェブブラウザアプレット40c等が存在する。また、それ以外のスタティックアプレットとして、実行中のアプレットをユーザのキー操作部52の操作によって中断あるいは強制終了させる場合に、ユーザに確認を要求する画面を表示し、確認を要求する画面上でのユーザのキー操作部52の操作に基づいて実行中のアプレットを中断あるいは強制的に終了させる終了確認アプレット40dなども存在する。
ダウンロードアプレット記憶部30は、ユーザがキー操作部52を操作することによって無線通信部50を用いて公衆通信網を介してインターネットなどからダウンロードされるゲームプログラムのアプレット、あるいは脱着可能な記録媒体から所定の操作により読み込み可能なゲームプログラムなどのアプレットを記憶する。
OS10は、スタティックアプレット及びダウンロードアプレットの実行、一時停止、終了を制御する。OS10において、送受信部11は、APMAN20に接続され、APMAN20との間でアプレットに対する起動などの要求や、起動されたアプレットからの応答などの情報を送受信する。実行状態記憶部13は、実行部12によって実行されているアプレットのデータ及び一時停止されているアプレットのデータを記憶する。実行部12は、送受信部11経由で受信したAPMAN20からの要求に基づいてスタティックアプレット記憶部40あるいはダウンロードアプレット記憶部30からスタティックアプレットあるいはダウンロードアプレットを読み出し、読み出したアプレットのデータを実行状態記憶部13に記録して実行する。
APMAN20は、標準実装されたスタティックアプレットの起動、停止、終了やスタティックアプレット間の競合判定を行う。APMAN20において、送受信部21は、OS10の送受信部11に接続され、送受信部11との間でアプレットに対する起動などの指示や起動されたアプレットからの応答などの情報を送受信する。管理部22は、スタティックアプレットを起動する場合には、スタティックアプレットの競合状態などを判定し、スタティックアプレットが起動できる場合には、送受信部21を介してOS10の実行部12にスタティックアプレットの起動要求を送信する。また、管理部22は、ユーザによって操作されたキー操作部52から入力を受けて、ダウンロードアプレットを起動する場合には、OS10の実行部12にダウンロードアプレットの起動要求を送信する。
起動状態記憶部23は、OS10の実行部12によって実行あるいは一時停止されているアプレットに関する情報を記憶する。復帰情報記憶部24は、スタティックアプレットに対してマルチタスク的な動作を行うため、管理部22によってOS10において終了されているがAPMAN20において停止されているスタティックアプレットが存在する場合に、当該スタティックアプレットを復帰させるための情報を記憶する。
イベント受信部25は、アプレットの起動あるいは終了させるために、ユーザがキー操作部52を操作することによって入力される指示に基づくイベントや、アプレットから他のアプレットが起動される場合に、起動元のアプレットから送信されるイベントなどを受信する。
アプレット情報記憶部26は、後述する実行中のアプレットが強制的に終了される場合にも、仮終了状態のスタティックアプレットの中から復帰させるスタティックアプレットのIDが予め設定される。
なお、上述した、プログラム実行部は実行部12に該当し、プログラム管理部は、管理部22に該当する。
また、ダウンロードアプレットは上述した管理対象外プログラムに該当し、スタティックアプレットは上述した管理対象プログラムに該当する。
また、アプレット情報記憶部26に記憶されるIDに対応するスタティックアプレットが上述した所定のプログラムに該当する。
また、本実施形態において、アプレットの処理に関連する状態の用語を以下のように定義する。まず、OS10において終了されているがAPMAN20において停止されている状態を「仮終了」状態と定義する。
次に、「終了」の用語を以下のように定義する。「正常終了」と記載した場合には、アプレットが終了確認アプレット40dによって強制的に終了されるのではなく、アプレットの内部処理によって終了することを意味する。一方、「強制終了」と記載した場合には、アプレットが終了確認アプレット40dによって終了される場合を示しており、アプレットの内部処理により終了されず、強制的に実行状態記憶部13から削除されることを意味する。
次に、「中断」の用語は、ダウンロードアプレットについては実行状態記憶部13に記憶された状態を維持する「一時停止」の状態を意味し、スタティックアプレットについては、上述した「仮終了」の状態を意味する。
図2は、実行状態記憶部13のデータ構成を示した図である。実行状態記憶部13は、アプレットの実行時にアプレットのデータを記憶するヒープ領域に確保されるスタック型の記憶領域である。実行状態記憶部13は、スタック型の記憶領域であるため、最初に起動されたアプレットがスタックの最下段に記憶され、新たなアプレットが起動されると、先に起動されていたアプレットが一時停止され、一時停止されたアプレットの上に積み上げられる。つまり、最上段に記憶されているアプレットデータが実行中のアプレットとなる。また、実行部12によって終了された場合には、最上段のアプレットデータは削除され、1つ下の段に記憶されているアプレットデータに対応するアプレットの一時停止が実行部12によって解除され、当該アプレットデータのアプレットが再起動される。
図3は、起動状態記憶部23のデータ構成を示した図である。起動状態記憶部23もスタック型の記憶領域であり、実行部12によって実行されているアプレットに関する情報、例えば、アプレットそれぞれに付与された識別情報(以下、ID:IDentification)などが記憶される。つまり、実行状態記憶部13に記憶されているアプレットデータに対応するアプレットのIDが実行状態記憶部13に記憶されている順に従って記憶される。APMAN20の管理部22は、起動状態記憶部23を参照することで、OS10の実行状態記憶部13において実行中あるいは一時停止されているアプレットの情報を取得することができる。
図4は、復帰情報記憶部24のデータ構成を示した図である。復帰情報記憶部24もスタック型の記憶領域である。APMAN20は、実行状態記憶部13のメモリ容量を節約しつつ、複数のスタティックアプレットが同時起動できるように、OS10において実行されるスタティックアプレットが常に1つになるように起動制御を行っている。このとき、OS10において終了されたアプレットであってAPMAN20によって停止されている上述した仮終了状態に該当するスタティックアプレットを復帰させるための復帰情報がスタティックアプレットごとに付与されたIDに対応付けられて復帰情報記憶部24に記録される。
次に、図5から図8を参照して、OS10とAPMAN20によって行われるアプレットの起動の処理について説明する。ここでは、携帯電話端末1の電源投入時に待ち受け画面アプレット40aが起動された後、ユーザによってキー操作部52が操作され、電子メールアプレット40b、ダウンロードアプレットAの順に起動され、ダウンロードアプレットAからウェブブラウザアプレット40cが起動され、さらにウェブブラウザアプレット40cからダウンロードアプレットBが起動される場合の処理について説明する。
図5は、待ち受け画面アプレット40a、電子メールアプレット40b、ダウンロードアプレットAが起動される際の処理を示したシーケンス図である。また、図6は、図5に続いて、ウェブブラウザアプレット40c、ダウンロードアプレットBが起動される際の処理を示したシーケンス図である。また、図7は、図5及び図6の処理において、復帰情報記憶部24に記憶されている情報が書き換えられる過程を示した図である。また、図8も同様に、図5及び図6の処理において、実行状態記憶部13に記憶されている情報が書き換えられる過程を示した図である。
最初に、ユーザがキー操作部52を操作することによって携帯電話端末1に電源が投入されると、APMAN20が起動された後に、APMAN20の管理部22は自律的に待ち受け画面アプレット起動要求をOS10の実行部12に送信する(ステップSa1)。実行部12は、待ち受け画面アプレット起動要求を受信すると、スタティックアプレット記憶部40から待ち受け画面アプレット40aを読み出し、実行状態記憶部13に記録し、待ち受け画面アプレット40aを実行する(ステップSa2)。このとき実行状態記憶部13は図8(a)の状態となる。待ち受け画面アプレット40aは起動されると起動応答を実行部12に送信する(ステップSa3)。実行部12は、待ち受け画面アプレット40aの起動情報を管理部22に送信する。待ち受け画面アプレット40aの起動情報を受信した管理部22は、起動状態記憶部23に待ち受け画面アプレット40aのIDを記録する(ステップSa4)
次に、電子メールアプレット40bを起動するために、ユーザがキー操作部52を操作して電子メールアプレット40bの起動指示を入力する。入力された起動指示に基づいて発生する起動イベントがAPMAN20のイベント受信部25によって受信される。イベント受信部25は、受信した当該イベントを管理部22に送信する(ステップSa10)。当該起動イベントをイベント受信部25から受信した管理部22は、起動状態記憶部23から、実行中のアプレットのIDを読み出す。読み出されたアプレットのIDがAPMAN20によって管理される待ち受け画面アプレット40aであることから、管理部22は、待ち受け画面アプレット40aを仮終了状態にするため、OS10の実行部12に仮終了要求を送信する(ステップSa11)。
仮終了要求を受信した実行部12は、待ち受け画面アプレット40aをOS10において終了させると共にAPMAN20において停止状態にするため、仮終了の情報を含む終了指示を待ち受け画面アプレット40aに送信する(ステップSa12)。待ち受け画面アプレット40aは、仮終了の情報を含む終了指示を受信して、終了応答を実行部12に送信し、実行部12によって実行状態記憶部13から削除される(ステップSa13)。このとき実行状態記憶部13は図8(b)の状態となる。
なお、待ち受け画面アプレット40aは、復帰する場合に復帰情報を必要としないため、仮終了される場合にも復帰情報記憶部24に復帰情報は記憶されず、待ち受け画面アプレット40aを復帰させる場合には、初期状態からの起動と同様に起動することになる。
終了応答を受信した実行部12は、終了応答の情報を管理部22に送信する。終了応答の情報を受信した管理部22は、起動状態記憶部23から待ち受け画面アプレット40bのIDを削除する(ステップSa14)。次に、待ち受け画面アプレット40bの終了応答を受信した管理部22は、ダミーアプレットを起動するために、ダミーアプレット起動指示を実行部12に送信する(ステップSa15)。
ここで、ダミーアプレットとは、特に表示や音声の出力などを行わないアプレットである。ダミーアプレットを起動する理由としては、以下の(1)と(2)の2つの理由が存在する。
(1)仮終了されているスタティックアプレットと当該スタティックアプレットより後に起動されかつ一時停止されているダウンロードアプレットが存在する場合に、スタティックアプレットは実行状態記憶部13からは削除されているため、実行中のアプレットが終了された場合に実行状態記憶部13においてダウンロードアプレットが先に復帰してしまうことになる。そこで、ダウンロードアプレットを起動する前にダミーアプレットを起動しておくことで、ダウンロードアプレットより先にダミーアプレットが復帰し、当該ダミーアプレットの復帰を契機にスタティックアプレットを復帰させることで復帰順序を維持することを可能とする。
(2)起動時に起動される待ち受け画面アプレット40aは、APMAN20によって仮終了されても、仮終了された状態から復帰させるための復帰情報が存在せず、再起動することによって復帰させることになる。しかし、その場合に復帰情報記憶部24に復帰させるための復帰情報がなく、待ち受け画面アプレット40aを再起動する契機がなくなる。そこで、待ち受け画面アプレット40aを仮終了させる際にダミーアプレットを起動しておくことで待ち受け画面アプレット40aを再起動させることを可能とする。
次に、図5においてダミーアプレット起動指示を受信した実行部12は、ダミーアプレットを起動するため、ダミーアプレットのデータを実行状態記憶部13に記録する(ステップSa16)。このとき実行状態記憶部13は図8(c)の状態となる。
起動されたダミーアプレットは起動応答を実行部12に送信する(ステップSa17)。ダミーアプレットから起動応答を受信した実行部12は、管理部22にダミーアプレットの起動情報を送信する。ダミーアプレットの起動情報を受信した管理部22は、起動状態記憶部23にダミーアプレットのIDを記録する(ステップSa18)。次に、ダミーアプレットの起動情報を受信した管理部22は、電子メールアプレット40bを起動するため実行部12に電子メールアプレット40bの起動要求を送信する(ステップSa19)。起動要求を受信した実行部12は、ダミーアプレットを一時停止状態にするため、一時停止指示をダミーアプレットに送信する(ステップSa20)。
一時停止指示を受信したダミーアプレットは一時停止状態となり、一時停止応答を実行部12に送信する。ここで、ダミーアプレットのデータは、一時停止されても実行状態記憶部13から削除されず、保持された状態を継続する(ステップSa21)。次に、一時停止応答を受信した実行部12は、電子メールアプレット40bを起動するため、スタティックアプレット記憶部40から電子メールアプレット40bを読み出し、実行状態記憶部13に電子メールアプレット40bを記録する(ステップSa22)。このとき実行状態記憶部13は図8(d)の状態となる。起動された電子メールアプレット40bは、起動応答を実行部12に送信する(ステップSa23)。電子メールアプレット40bの起動応答を受信した実行部12は、電子メールアプレット40bの起動情報を管理部22に送信する。電子メールアプレット40bの起動情報を受信した管理部22は、起動状態記憶部23に電子メールアプレット40bのIDを記録する(ステップSa24)。
次に、ダウンロードアプレットAを起動するために、ユーザがキー操作部52を操作してダウンロードアプレットAの起動指示を入力する。入力された起動指示に基づいて発生する起動イベントがAPMAN20のイベント受信部25によって受信される。イベント受信部25は、受信した当該起動イベントを管理部22に送信する(ステップSa30)。当該起動イベントを受信した管理部22は、起動状態記憶部23から、実行中のアプレットのIDを読み出す。読み出されたアプレットのIDがAPMAN20によって管理される電子メールアプレット40bであることから、管理部22は、電子メールアプレット40bを仮終了状態にするため、OS10の実行部12に仮終了要求を送信する(ステップSa31)。
仮終了要求を受信した実行部12は、電子メールアプレット40bをOS10において終了させると共にAPMAN20において停止状態にするため、仮終了要求情報を含む終了指示を電子メールアプレット40bに送信する(ステップSa32)。電子メールアプレット40bは、仮終了要求情報を含む終了指示を受信して、復帰するための復帰情報を含む終了応答を実行部12に送信し、実行部12によって実行状態記憶部13から削除される(ステップSa33)。このとき実行状態記憶部13は図8(e)の状態となる。
電子メールアプレット40bから終了応答を受信した実行部12は、電子メールアプレット40bの復帰情報を管理部22に送信する。復帰情報を受信した管理部22は、復帰情報記憶部24に復帰情報を記録する。また、起動状態記憶部23から電子メールアプレット40bのIDを削除する(ステップSa34)。このとき、復帰情報記憶部24は、図7(a)に示す状態となり、電子メールアプレット40bの復帰情報が記憶されることとなる。
また、電子メールアプレット40bから終了応答を受信した実行部12は、ダウンロードアプレットAを起動するため、ダウンロードアプレットAのデータをダウンロードアプレット記憶部30から読み出して実行状態記憶部13に記録する(ステップSa35)。このとき実行状態記憶部13は図8(f)の状態となる。起動したダウンロードアプレットAは起動応答を実行部12に送信する(ステップSa36)。ダウンロードアプレットAから起動応答を受信した実行部12は、管理部22にダミーアプレットの起動情報を送信する。ダウンロードアプレットAの起動情報を受信した管理部22は、起動状態記憶部23にダウンロードアプレットAのIDを記録する(ステップSa37)。ここで、ダウンロードアプレットAが、無線通信部50を介してインターネットへ接続し、情報を検索するアプリケーションである場合を想定すると、ユーザがキー操作部52を操作することにより検索が行われ、いくつかのURL(Universal Resource Locator)が検索結果として表示部51に表示される。
図6は、図5に続いてダウンロードアプレットAからウェブブラウザアプレット40cが起動され、さらにウェブブラウザアプレット40cからダウンロードアプレットBが起動される際の処理を示したシーケンス図である。なお、図6では、待ち受け画面アプレット40a及び電子メールアプレット40bは仮終了の状態である。
まずユーザがキー操作部52を操作することによって、ダウンロードアプレットAにより表示部51に表示されたURLが選択されると、ウェブブラウザアプレット40cの起動指示が入力される。入力された起動指示に基づいて発生する起動イベントがAPMAN20のイベント受信部25によって受信される。イベント受信部25は、受信した当該起動イベントを管理部22に送信する。(ステップSa40)。当該イベントをイベント受信部25から受信した管理部22は、起動状態記憶部23から、実行中のアプレットのIDを読み出す。読み出されたアプレットのIDがAPMAN20に管理されないダウンロードアプレットAであることから、管理部22は、ダミーアプレットを起動するため、OS10の実行部12にダミーアプレット起動指示を送信する。ここで、ダミーアプレットを起動する理由は上述した(1)の理由に基づく(ステップSa41)。
ダミーアプレット起動指示を受信した実行部12は、実行中のダウンロードアプレットAに一時停止指示を送信する(ステップSa42)。一時停止指示を受信したダウンロードアプレットAは一時停止状態となり、一時停止応答を実行部12に送信する。ここで、ダウンロードアプレットAのデータは、一時停止されても実行状態記憶部13から削除されず、保持された状態を継続する(ステップSa43)。一時停止応答を受信した実行部12は、ダミーアプレットを起動するため、ダミーアプレットのデータを実行状態記憶部13に記録する(ステップSa44)。このとき、実行状態記憶部13の状態は図8(g)に示す状態となる。起動されたダミーアプレットは起動応答を実行部12に送信する(ステップSa45)。ダミーアプレットから起動応答を受信した実行部12は、管理部22にダミーアプレットの起動情報を送信する。ダミーアプレットの起動情報を受信した管理部22は、起動状態記憶部23にダミーアプレットのIDを記録する(ステップSa46)。
次に、ダミーアプレットの起動情報を受信した管理部22は、ウェブブラウザアプレット40cを起動するため実行部12に起動要求を送信する(ステップSa47)。起動要求を受信した実行部12は、ダミーアプレットを一時停止状態にするため、一時停止指示をダミーアプレットに送信する(ステップSa48)。一時停止指示を受信したダミーアプレットは一時停止状態となり、一時停止応答を実行部12に送信する。ここで、ダミーアプレットのデータは、一時停止されても実行状態記憶部13から削除されず、保持された状態を継続する(ステップSa49)。一時停止応答を受信した実行部12は、ウェブブラウザアプレット40cを起動するため、スタティックアプレット記憶部40からウェブブラウザアプレット40cを読み出し、実行状態記憶部13にウェブブラウザアプレット40cを記録する(ステップSa50)。このとき、実行状態記憶部13の状態は図8(h)に示す状態となる。起動後のウェブブラウザアプレット40cは、起動応答を実行部12に送信する(ステップSa51)。そして、実行部12は、ウェブブラウザアプレット40cの起動情報を管理部22に送信する。ウェブブラウザアプレット40cの起動情報を受信した管理部22は、起動状態記憶部23にウェブブラウザアプレット40cのIDを記録する(ステップSa52)。
次に、ウェブブラウザアプレット40cからダウンロードアプレットBが起動される場合について説明する。このような操作が発生するのは、例えば、以下のような場合である。すなわち、ウェブブラウザアプレット40cが無線通信部50を介してインターネットに接続されているサーバに接続し、当該サーバからWebページを受信して表示部51に表示する。ユーザが表示部51に表示されているWebページを参照し、当該Webページのリンクに対応付けられている試用版のゲームプログラムをダウンロードして実行するような場合である。
以下、ウェブブラウザアプレット40cにより上記のゲームプログラムに対応するダウンロードアプレットBが既にダウンロードアプレット記憶部30に記憶されている状態を前提とする。まずユーザがキー操作部52を操作してダウンロードアプレットBの起動指示を入力する。入力された起動指示に基づいて発生する起動イベントがAPMAN20のイベント受信部25によって受信される。イベント受信部25は、受信した当該起動イベントを管理部22に送信する(ステップSa60)。当該起動イベントを受信した管理部22は、起動状態記憶部23から、実行中のアプレットのIDを読み出す。読み出されたアプレットのIDがAPMAN20によって管理されるウェブブラウザアプレット40cであることから、管理部22は、ウェブブラウザアプレット40cを仮終了状態にするため、OS10の実行部12に仮終了要求を送信する(ステップSa61)。
仮終了要求を受信した実行部12は、ウェブブラウザアプレット40cをOS10において終了させると共にAPMAN20において停止状態にするため、仮終了要求情報を含む終了指示をウェブブラウザアプレット40cに送信する(ステップSa62)。ウェブブラウザアプレット40cは、仮終了要求情報を含む終了指示を受信して、復帰するための復帰情報を含む終了応答を実行部12に送信し、実行部12によって実行状態記憶部13から削除される(ステップSa63)。このとき実行状態記憶部13は図8(i)の状態となる。
ウェブブラウザアプレット40cから終了応答を受信した実行部12は、ウェブブラウザアプレット40cの復帰情報をAPMAN20に送信する。復帰情報を受信したウェブブラウザアプレット40cは、復帰情報記憶部24に復帰情報を記録する。また、起動状態記憶部23からウェブブラウザアプレット40cのIDを削除する(ステップSa64)。このとき、復帰情報記憶部24は、図7(b)に示す状態となり、ウェブブラウザアプレット40cの復帰情報が記憶されることとなる。
また、ウェブブラウザアプレット40cから終了応答を受信した実行部12は、ダウンロードアプレットBを起動するため、ダウンロードアプレットBのデータをダウンロードアプレット記憶部30から読み出して実行状態記憶部13に記録する(ステップSa65)。このとき実行状態記憶部13は図8(j)の状態となる。起動したダウンロードアプレットBは起動応答を実行部12に送信する(ステップSa66)。ダウンロードアプレットBから起動応答を受信した実行部12は、管理部22にダミーアプレットの起動情報を送信する。ダウンロードアプレットBの起動情報を受信した管理部22は、起動状態記憶部23にダウンロードアプレットBのIDを記録する(ステップSa67)。このようにしてダウンロードアプレットBが起動され、表示部51にはダウンロードアプレットBによるゲームの初期状態の画面が表示され、音声処理部53からはゲームの音楽が出力され、ユーザがキー操作部52を操作することにより、ゲームが開始される。
次に、図9から図12を参照して、実行中のダウンロードアプレットBが終了確認アプレット40dによって強制終了された場合に、アプレット情報記憶部26に記憶されているIDに対応するアプレットのみを復帰させる処理について説明する。ここでは、アプレット情報記憶部26に記憶されているIDをウェブブラウザアプレット40cのIDとする。
図9は、実行中のダウンロードアプレットBが終了確認アプレット40dにより強制終了される際の処理を示したシーケンス図であり、この処理が行われる前に図5及び6で説明した処理が行われていることを前提としている。また、図10は、図9の処理において、実行状態記憶部13に記憶されている情報が書き換えられる過程を示した図である。図11は、図9の処理において、終了確認アプレット40dが表示部51に表示する画面を示した図である。また、図12は、図9の終了確認アプレット40dにおいて、「終了」が選択された場合の管理部22における処理を示したフローチャートである。
最初に、ダウンロードアプレットBが実行中であり、ダウンロードアプレットBによって表示部51に図11(a)の画面が表示されている。このとき、ユーザが実行中のダウンロードアプレットBを強制終了するために、終了確認アプレット40dの起動のために割り当てられたキー操作部52の所定のキー(例えば、クリアーキー)を操作する。当該操作によって終了確認アプレット起動指示が入力され、終了確認アプレット起動指示イベントがイベント受信部25によって受信される。イベント受信部25は、終了確認アプレット起動指示イベントを管理部22に送信する(ステップSb1)。イベント受信部25から終了確認アプレット起動指示イベントを受信した管理部22は、起動状態記憶部23から、実行中のアプレットのIDを読み出す。読み出されたアプレットのIDがダウンロードアプレットBであることから、管理部22は、ダウンロードアプレットBの一時停止要求をOS10の実行部12に送信する(ステップSb2)。
当該一時停止要求を受信した実行部12は、実行中のダウンロードアプレットBに一時停止指示を送信する(ステップSb3)。一時停止指示を受信したダウンロードアプレットBは一時停止状態となり、一時停止応答を実行部12に送信する(ステップSb4)。このとき、実行状態記憶部13には、ダウンロードアプレットBの情報は保持され、図8(j)と同じ図10(a)の状態が継続される。一時停止応答を受信した実行部12は、終了確認アプレット40dを起動するため、スタティックアプレット記憶部40から終了確認アプレット40dを読み出し、実行状態記憶部13に終了確認アプレット40dを記録する(ステップSb5)。このとき、実行状態記憶部13の状態は図10(b)に示す状態となる。起動後の終了確認アプレット40dは、起動応答を実行部12に送信すると共に、図11(b)の画面を表示部51に表示する(ステップSb6)。そして、実行部12は、終了確認アプレット40dの起動情報を管理部22に送信する。終了確認アプレット40dの起動情報を受信した管理部22は、起動状態記憶部23に終了確認アプレット40dのIDを記録する(ステップSb7)。
次に、図11(b)の画面において、ユーザによってキー操作部52が操作され「2:終了」が選択されると、強制終了指示が入力される。入力される強制終了指示に基づいて発生された強制終了イベントをイベント受信部25が受信する(ステップSb10)。イベント受信部25は、受信した当該強制終了イベントを管理部22に送信する。当該強制終了イベントを受信した管理部22は、最初に、終了確認アプレットの終了要求を実行部12に送信する(ステップSb11)。
終了要求を受信した実行部12は、終了確認アプレット40dを終了させるため、終了指示を終了確認アプレット40dに送信する(ステップSb12)。終了確認アプレット40dは、終了指示を受信して、終了応答を実行部12に送信し、実行部12によって実行状態記憶部13から削除される(ステップSb13)。このとき実行状態記憶部13は図10(c)の状態となる。
終了応答を受信した実行部12は、終了応答の情報を管理部22に送信する。終了応答の情報を受信した管理部22は、起動状態記憶部23から終了確認アプレット40dのIDを削除する(ステップSb14)。
終了応答を受信した管理部22は、次に、アプレット情報記憶部26から、スタティックアプレットのIDを読み出す。ここでは、アプレット情報記憶部26にウェブブラウザアプレット40cのIDが記憶されているため、ウェブブラウザアプレット40cのIDを読み出す。そして、読み出したウェブブラウザアプレット40cのIDに基づいて、復帰情報記憶部24を検索しつつ、ウェブブラウザアプレット40c以外のスタティックアプレットの復帰情報を削除する処理を行う。復帰情報記憶部24は、図7(b)に示す状態であるため、ウェブブラウザアプレット40cが検出されるとともに、電子メールアプレット40dのIDと復帰情報とが削除されることになる。なお、アプレット情報記憶部26に記憶されているIDに一致するスタティックアプレットについて復帰情報を検出し、またアプレット情報記憶部26に記憶されているIDに一致しないスタティックアプレットの復帰情報削除する処理についての詳細は、後述する図12に示した復帰情報検出削除処理を参照して説明する(ステップSb20)。
次に、管理部22は、実行状態記憶部13に記憶されている一時停止状態のダウンロードアプレットA、ダウンロードアプレットBと2つのダミーアプレットを削除するため、強制終了要求を実行部12に送信する(ステップSb21)。強制終了要求を受信した実行部12は、実行状態記憶部13からダウンロードアプレットA、ダウンロードアプレットB及び2つのダミーアプレットを削除する(ステップSb22)。このとき、実行状態記憶部13の記憶状態は、図10(d)の状態となる。実行状態記憶部13の削除を終了した実行部12は、強制終了応答を管理部22に送信する。強制終了応答を受信した管理部22は、起動状態記憶部23に記憶されているIDを削除する(ステップSb23)。
起動状態記憶部23のIDを削除した管理部22は、復帰情報記憶部24に記憶されているウェブブラウザアプレット40cの復帰情報を読み出して復帰させる前に、待ち受け画面アプレット40aが復帰できるようにするためのダミーアプレットの起動を行う。当該ダミーアプレットは上述した(2)の理由に基づく。
管理部22は、ダミーアプレットを起動するために、ダミーアプレット起動指示を実行部12に送信する(ステップSb24)。ダミーアプレット起動指示を受信した実行部12は、ダミーアプレットを起動するため、ダミーアプレットのデータを実行状態記憶部13に記録する(ステップSb25)。このとき実行状態記憶部13は図10(e)の状態となる。
起動されたダミーアプレットは起動応答を実行部12に送信する(ステップSb26)。ダミーアプレットから起動応答を受信した実行部12は、管理部22にダミーアプレットの起動情報を送信する。ダミーアプレットの起動情報を受信した管理部22は、起動状態記憶部23にダミーアプレットのIDを記録する(ステップSb27)。次に、ダミーアプレットの起動情報を受信した管理部22は、復帰情報が復帰情報記憶部24に記憶されているウェブブラウザアプレット40cをするため、復帰情報記憶部24からウェブブラウザアプレット40cの復帰情報を読み出し、実行部12に読み出した復帰情報を含むウェブブラウザアプレット40cの復帰要求を送信する(ステップSb28)。復帰情報を含む復帰要求を受信した実行部12は、ダミーアプレットを一時停止状態にするため、一時停止指示をダミーアプレットに送信する(ステップSb29)。
一時停止指示を受信したダミーアプレットは一時停止状態となり、一時停止応答を実行部12に送信する。ここで、ダミーアプレットのデータは、一時停止されても実行状態記憶部13から削除されず、保持された状態を継続する(ステップSb30)。次に、一時停止応答を受信した実行部12は、ウェブブラウザアプレット40cを復帰情報に基づいて起動するため、スタティックアプレット記憶部40からウェブブラウザアプレット40cを読み出し、復帰情報の情報と共に実行状態記憶部13にウェブブラウザアプレット40cを記録する(ステップSa31)。このとき実行状態記憶部13は図11(f)の状態となる。復帰されたウェブブラウザアプレット40cは、復帰応答を実行部12に送信する(ステップSb32)。ウェブブラウザアプレット40cの復帰応答を受信した実行部12は、ウェブブラウザアプレット40cの復帰情報を管理部22に送信する。ウェブブラウザアプレット40cの復帰情報を受信した管理部22は、起動状態記憶部23にウェブブラウザアプレット40cのIDを記録し、復帰情報記憶部24からウェブブラウザアプレット40cのIDと復帰情報とを削除する(ステップSb33)。
なお、終了確認アプレット40dは、スタティックアプレットであるが、終了確認アプレット40dは、起動されると表示部51に終了の確認をユーザに要求する画面を表示し、当該画面においてユーザのキー操作部52の操作により指示が入力がされない限り、別のアプレットの処理に遷移することがなく、ユーザの操作により指示が入力された場合には、自ら終了してしまうため、終了確認アプレット40dの起動の前にダミーアプレットは起動されない。
次に、図12を参照して管理部22における復帰情報検出削除処理について説明する。最初に終了確認アプレット40dの終了応答を受信する(ステップSc1:図9のステップSc14に対応)。終了応答を受信した管理部22は、アプレット情報記憶部26からアプレットのIDを読み出す(ステップSc2:図9のステップSb20に対応)。管理部22は、復帰情報記憶部24をスタックの上から順に読み出す(ステップSc3:図9のステップSb20に対応)。そして、復帰情報記憶部24から読み出したスタティックアプレットのIDとアプレット情報記憶部26から読み出したIDとを比較し、一致するか否かを判定する(ステップSc4:図9のステップSb20に対応)。
復帰情報記憶部24から読み出したIDとアプレット情報記憶部26から読み出したIDとが一致しない場合には、読み出したIDと当該IDに対応する復帰情報とを復帰情報記憶部24から削除し、次の処理に進む(ステップSc5:図9のステップSb20に対応)。一方、復帰情報記憶部24から読み出したIDとアプレット情報記憶部26から読み出したIDとが一致する場合には、復帰情報記憶部24に記憶されている情報を全て判定したか否かを判定する。ここで、全て判定したか否かは例えば、最初に復帰情報記憶部24に記憶されている情報の総数を記憶しておき、判定の処理を行うごとに当該総数から1ずつ減らずことによっておこなうようにしてもよい(ステップSc6)。判定が全て終了していない場合にはステップSc3に戻る。判定が全て終了している場合、管理部22は、ダウンロードアプレット及びダミーアプレットを実行状態記憶部23から削除するため、強制終了要求を実行部12に送信する(ステップSb7:図9のステップSb21に対応)。
次に、管理部22は実行部12から強制終了要求に対する強制終了応答を受信する(ステップSc8:図9のステップSb23に対応)。強制終了応答を受信した管理部22は、復帰情報記憶部24に情報が存在するか否かを判定する(ステップSc9:図9のステップSb24に対応)。判定の結果、復帰情報記憶部24に復帰情報が存在しない場合には、待ち受け画面アプレットの起動要求を実行部12に送信する(ステップSc10)。一方、復帰情報記憶部24に復帰情報が存在する場合には、ダミーアプレットの起動要求を実行部12に送信する(ステップSc11:図9のステップSb24に対応)。そして、管理部22は、実行部12からダミーアプレットの起動情報を受信し、次に、復帰情報記憶部24に記憶されている復帰情報に基づいてスタティックアプレットの起動要求を実行部12に送信する(ステップSc12:図9のステップSb28に対応)。
上記の構成よって、ダウンロードアプレットが強制終了された場合に、予めアプレット情報記憶部26に設定されているスタティックアプレットのみを復帰させることが可能となり、例えば、ウェブブラウザより起動した試用版のゲームのダウンロードアプレットを強制終了させても、ウェブブラウザに復帰させることが可能となる。
なお、図9の最初の状態において、ユーザのキー操作部52の操作によりゲームプログラムが正常終了されると、ウェブブラウザアプレット40cが復帰して、表示部51にはゲームを実行する前のWebページが表示されることになる。
また、図11(b)において、ユーザの操作によって「3:キャンセル」が選択されると、図11(a)の画面に戻り、ダウンロードアプレットBが継続して実行されることになる。
上述の携帯電話端末1は内部に、コンピュータシステムを有している。そして、上述したアプレットの起動、一時停止、終了及びスタティックアプレットの仮終了及びダウンロードアプレットの強制終了の処理、復帰情報検出削除処理は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。