JP2011048444A - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
JP2011048444A
JP2011048444A JP2009194089A JP2009194089A JP2011048444A JP 2011048444 A JP2011048444 A JP 2011048444A JP 2009194089 A JP2009194089 A JP 2009194089A JP 2009194089 A JP2009194089 A JP 2009194089A JP 2011048444 A JP2011048444 A JP 2011048444A
Authority
JP
Japan
Prior art keywords
task
event
monitored
keep
alive
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009194089A
Other languages
English (en)
Other versions
JP5418066B2 (ja
Inventor
Masataka Kato
真隆 加藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Mobile Communications Ltd
Original Assignee
Fujitsu Toshiba Mobile Communication Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Toshiba Mobile Communication Ltd filed Critical Fujitsu Toshiba Mobile Communication Ltd
Priority to JP2009194089A priority Critical patent/JP5418066B2/ja
Publication of JP2011048444A publication Critical patent/JP2011048444A/ja
Application granted granted Critical
Publication of JP5418066B2 publication Critical patent/JP5418066B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】システム上で輻輳状態となるタスクを好適に特定しつつ、システムの異常状態を好適に回避することができる。
【解決手段】本発明の携帯電話機は、各被監視対象タスクに対してキープアライブ動作によってキープアライブイベントを送信し、被監視対象タスクに対してキープアライブイベントが送信されてから所定の時間が経過した場合、全被監視対象タスクからキープアライブイベントに対する応答があるか否かを判定し、1つ以上の被監視対象タスクからキープアライブイベントに対する応答がないと判定された場合、各被監視対象タスクに対してキープアライブ動作によってキープアライブイベントを再送信し、被監視対象タスクに対するキープアライブイベントの再送信中に、輻輳状態の被監視対象タスクを検出し、輻輳状態の被監視対象タスクが検出された場合情報処理装置のシステムをリセットして再起動する。
【選択図】 図6

Description

本発明は情報処理装置に係り、特に、複数のタスクを並行して処理するマルチタスク処理を実行する場合に、システムの異常状態を回避することができるようにした情報処理装置に関する。
近年、情報処理装置としての携帯電話機には、単なる通話による通信機能だけでなく、アドレス帳機能、基地局やインターネットを介したメール機能や、Webページなどを閲覧することが可能なブラウザ機能などが搭載されるようになってきている。
これに伴い、例えばパーソナルコンピュータだけでなく携帯電話機においても、OS(Operating System)にTSS(Time Sharing System)制御機能を搭載し、制御メモリ空間やI/O空間の資源などを共有しつつ、同一のプロセス内において複数のスレッド(タスク)の処理を並行して行うマルチスレッド(マルチタスク)方式が提案されている(例えば特許文献1参照)。特許文献1に提案されている技術によれば、OSのTSSスケジューラの実装に依存せずに、CPUを最大限に使用し、呼処理イベントの処理を実行することができる。
ラウンドロビン機能やTSS制御機能が搭載されていないOS環境下では、発生したイベントをCPUが処理する場合、一般に、イベントドリブンに生成されたそれぞれのスレッドの優先度に従って処理するが、いくつかのスレッドによりCPUの資源が占有されてしまうと、その他のスレッドの処理が実行されない状況が発生してしまう。すなわち、優先度の高いスレッド間における処理が連続して行われると、優先度の高い複数のスレッドによりCPUの資源が占有されてしまい、優先度の低いスレッドにCPUの資源が回らず、その結果、優先度の低いスレッドの処理が実行されない状況が発生してしまう。このため、優先度の低いスレッドの処理がたまってしまい、システムが破綻してしまう。
そこで、このような場合にシステムの破綻を回避するために、次のような技術が提案されている(例えば特許文献2参照)。特許文献2に提案される技術によれば、CPUは監視スレッド1乃至3を実行し、優先度が設けられた複数のスレッドからなるグループを、グループ内のスレッドの動作を監視するための複数の監視スレッドに対するキープアライブ動作によって監視し、複数の前記監視スレッドからの応答に基づいて、キープアライブ動作に対する応答がない前記監視スレッドが存在するか否かを判定し、キープアライブ動作に対する応答がない前記監視スレッドが存在すると判定された場合、キープアライブ動作に対する応答がない前記監視スレッドが監視するグループよりも優先度が高いグループへのイベントの配信を停止する。これにより、優先度の高いスレッドに対するイベントの配信を停止するとともに、下位のグループに処理を回すことができ、ラウンドロビン機能やTSS制御機能が搭載されていないOS上に構築されたアプリケーションプログラム群を効率よく制御することができる。
特開2006−185303号公報 国際公開WO2008/114525号公報
しかしながら、携帯電話機用のリアルタイムOSのようにタスクを優先度順に制御するOSにおいては、たとえ特許文献2に提案される技術を用いたとしても、高優先度のタスクが動作し続けると低優先度のタスクが動作できなくなってしまい、結局、システムが破綻してしまう。
本発明は、このような状況に鑑みてなされたものであり、複数のタスクを並行して処理するマルチタスク処理を実行する場合に、システム上で輻輳状態となるタスクを好適に特定しつつ、システムの異常状態を好適に回避することができる情報処理装置を提供することを目的とする。
本発明の情報処理装置は、上述した課題を解決するために、優先度が設けられる複数のタスクが並行して処理されるマルチタスク処理において、複数のタスクに含まれるそれぞれの被監視対象タスクに対して、キープアライブ動作によってキープアライブイベントを送信する第1のイベント送信手段と、第1のイベント送信手段によって被監視対象タスクに対してキープアライブイベントが送信されてから所定の時間が経過した場合、すべての被監視対象タスクからキープアライブイベントに対する応答があるか否かを判定する判定手段と、判定手段により少なくともいずれか1つ以上の被監視対象タスクからキープアライブイベントに対する応答がないと判定された場合、それぞれの被監視対象タスクに対して、キープアライブ動作によってキープアライブイベントを再送信する第2のイベント送信手段と、第2のイベント送信手段による被監視対象タスクに対するキープアライブイベントの再送信中に、輻輳状態の被監視対象タスクを検出する検出手段と、検出手段により輻輳状態の被監視対象タスクが検出された場合、情報処理装置のシステムをリセットして再起動する起動手段とを備えることを特徴とする。
本発明によれば、複数のタスクを並行して処理するマルチタスク処理を実行する場合に、システム上で輻輳状態となるタスクを好適に特定しつつ、システムの異常状態を好適に回避することができる。
(A)と(B)は、本発明に係る携帯端末に適用可能な携帯電話機の外観の構成を示す図。 (A)は、携帯電話機を閉じたときの正面から見た外観の構成を示しており、図2(B)は、携帯電話機を閉じたときの側面から見た外観の構成を示す図。 本発明に係る情報処理装置に適用可能な携帯電話機の内部の構成を示すブロック図。 従来のマルチタスク処理において並列して処理される複数のタスクの配列を説明する説明図。 本実施形態に係るタスク動作状態監視用タスクHと最低優先度にタスク動作状態監視用タスクLを説明する説明図。 図3の携帯電話機におけるタスク動作状態監視処理を説明するフローチャート。 携帯電話機が図6のタスク動作状態監視処理を実行する場合におけるタイミングチャート。 キープアライブイベントの再送信方法の詳細を説明する説明図。 図3の携帯電話機における他のタスク動作状態監視処理を説明するフローチャート。
以下、本発明の実施の形態について、図面を参照しながら説明する。図1は、本発明に係る情報処理装置として適用可能な携帯電話機1の外観の構成を表している。なお、図1(A)は、携帯電話機1を約180度に見開いたときの正面から見た外観の構成を表しており、図1(B)は、携帯電話機1を見開いたときの側面から見た外観の構成を表している。
図1(A)および(B)に示されるように、携帯電話機1は、中央のヒンジ部11を境に第1の筐体12と第2の筐体13とがヒンジ結合されており、ヒンジ部11を介して矢印X方向に折り畳み可能に形成される。携帯電話機1の内部の所定の位置には、送受信用のアンテナ(後述する図3のアンテナ31)が設けられており、内蔵されたアンテナを介して基地局(図示せず)との間で電波を送受信する。
第1の筐体12には、その表面に「0」乃至「9」の数字キー、発呼キー、リダイヤルキー、終話・電源キー、クリアキー、および電子メールキーなどの操作キー14が設けられており、操作キー14を用いて各種指示を入力することができる。
第1の筐体12には、操作キー14として上部に十字キーと確定キーが設けられており、ユーザが十字キーを上下左右方向に操作することにより当てられたカーソルを上下左右方向に移動させることができる。具体的には、第2の筐体13に設けられたメインディスプレイ17に表示されている電話帳リストや電子メールのスクロール動作、簡易ホームページのページ捲り動作および画像の送り動作などの種々の動作を実行する。
また、確定キーを押下することにより、種々の機能を確定することができる。例えば第1の筐体12は、ユーザによる十字キーの操作に応じてメインディスプレイ17に表示された電話帳リストの複数の電話番号の中から所望の電話番号が選択され、確定キーが第1の筐体12の内部方向に押圧されると、選択された電話番号を確定して電話番号に対して発呼処理を行う。
さらに、第1の筐体12には、十字キーと確定キーの左隣に電子メールキーが設けられており、電子メールキーが第1の筐体12の内部方向に押圧されると、メールの送受信機能を呼び出すことができる。十字キーと確定キーの右隣には、ブラウザキーが設けられており、ブラウザキーが第1の筐体12の内部方向に押圧されると、Webページのデータを閲覧することが可能となる。
また、第1の筐体12には、操作キー14の下部にマイクロフォン15が設けられており、マイクロフォン15によって通話時のユーザの音声を集音する。さらに、第1の筐体12には、携帯電話機1の操作を行うサイドキー16が設けられている。
なお、第1の筐体12は、背面側に図示しないバッテリパックが挿着されており、終話・電源キーがオン状態になると、バッテリパックから各回路部に対して電力が供給されて動作可能な状態に起動する。
一方、第2の筐体13には、その正面にメインディスプレイ17が設けられており、電波の受信状態、電池残量、電話帳として登録されている相手先名や電話番号及び送信履歴等の他、電子メールの内容、簡易ホームページ、CCD(Charge Coupled Device)カメラ(後述する図2のCCDカメラ20)で撮像した画像、外部のコンテンツサーバ(図示せず)より受信したコンテンツ、メモリカード(後述する図3のメモリカード46)に記憶されているコンテンツを表示することができる。また、メインディスプレイ17の上部の所定の位置にはレシーバ(受話器)18が設けられており、これにより、ユーザは音声通話することが可能である。なお、携帯電話機1の所定の位置には、レシーバ18以外の音声出力部としてのスピーカ(図3のスピーカ50)も設けられている。
また、第1の筐体12と第2の筐体13の内部の所定の位置には、携帯電話機1の状態を検知するための磁気センサ19a、19b、19c、および19dが設けられる。なお、メインディスプレイ17は、例えば有機ELにより構成されるディスプレイでもよいし、液晶ディスプレイ(Liquid Crystal Display)でもよい。
図2は、本発明に係る情報処理装置に適用可能な携帯電話機1の他の外観の構成を表している。図2の携帯電話機1の状態は、図1の携帯電話機1の状態から矢印X方向に回動させた状態である。なお、図2(A)は、携帯電話機1を閉じたときの正面から見た外観の構成を表しており、図2(B)は、携帯電話機1を閉じたときの側面から見た外観の構成を表している。
第2の筐体13の上部には、CCDカメラ20が設けられており、これにより、所望の撮影対象を撮像することができる。CCDカメラ20の下部には、サブディスプレイ21が設けられており、現在のアンテナの感度のレベルを示すアンテナピクト、携帯電話機1の現在の電池残量を示す電池ピクト、現在の時刻などが表示される。
図3は、本発明に係る情報処理装置に適用可能な携帯電話機1の内部の構成を表している。図示せぬ基地局から送信されてきた無線信号は、アンテナ31で受信された後、アンテナ共用器(DUP)32を介して受信回路(RX)33に入力される。受信回路33は、受信された無線信号を周波数シンセサイザ(SYN)34から出力された局部発振信号とミキシングして中間周波数信号に周波数変換(ダウンコンバート)する。そして、受信回路33は、このダウンコンバートされた中間周波数信号を直交復調して受信ベースバンド信号を出力する。なお、周波数シンセサイザ34から発生される局部発振信号の周波数は、制御部41から出力される制御信号SYCによって指示される。
受信回路33からの受信ベースバンド信号は、CDMA信号処理部36に入力される。CDMA信号処理部36は、図示せぬRAKE受信機を備える。このRAKE受信機では、受信ベースバンド信号に含まれる複数のパスがそれぞれの拡散符号(すなわち、拡散された受信信号の拡散符号と同一の拡散符号)で逆拡散処理される。そして、この逆拡散処理された各パスの信号は、位相が調停された後、コヒーレントRake合成される。Rake合成後のデータ系列は、デインタリーブおよびチャネル復号(誤り訂正復号)が行われた後、2値のデータ判定が行われる。これにより、所定の伝送フォーマットの受信パケットデータが得られる。この受信パケットデータは、圧縮伸張処理部37に入力される。
圧縮伸張処理部37は、DSP(Digital Signal Processor)などにより構成され、CDMA信号処理部36から出力された受信パケットデータを図示せぬ多重分離部によりメディアごとに分離し、分離されたメディアごとのデータに対してそれぞれ復号処理を行う。例えば通話モードにおいては、受信パケットデータに含まれる通話音声などに対応するオーディオデータをスピーチコーデックにより復号する。また、例えばテレビ電話モードなどのように、受信パケットデータに動画像データが含まれていれば、この動画像データをビデオコーデックにより復号する。さらに、受信パケットデータがダウンロードコンテンツであれば、このダウンロードコンテンツを伸張した後、伸張されたダウンロードコンテンツを制御部41に出力する。
復号処理により得られたディジタルオーディオ信号はPCMコーデック38に供給される。PCMコーデック38は、圧縮伸張処理部37から出力されたディジタルオーディオ信号をPCM復号し、PCM復号後のアナログオーディオデータ信号を受話増幅器39に出力する。このアナログオーディオ信号は、受話増幅器39にて増幅された後、レシーバ18により出力される。
圧縮伸張処理部37によりビデオコーデックにて復号されたディジタル動画像信号は、制御部41に入力される。制御部41は、圧縮伸張処理部37から出力されたディジタル動画像信号に基づく動画像を、図示せぬビデオRAM(例えばVRAMなど)を介してメインディスプレイ17に表示させる。なお、制御部41は、受信された動画像データだけでなく、CCDカメラ20により撮像された動画像データに関しても、図示せぬビデオRAMを介してメインディスプレイ17に表示させることも可能である。
また、圧縮伸張処理部37は、受信パケットデータが電子メールである場合、この電子メールを制御部41に供給する。制御部41は、圧縮伸張処理部37から供給された電子メールを記憶部42に記憶させる。そして、制御部41は、ユーザによる入力部としての操作キー14の操作に応じて、記憶部42に記憶されているこの電子メールを読み出し、読み出された電子メールをメインディスプレイ17に表示させる。
一方、通話モードにおいて、マイクロフォン15に入力された話者(ユーザ)の音声信号(アナログオーディオ信号)は、送話増幅器40により適正レベルまで増幅された後、PCMコーデック38によりPCM符号化される。このPCM符号化後のディジタルオーディオ信号は、圧縮伸張処理部37に入力される。また、CCDカメラ20から出力される動画像信号は、制御部41によりディジタル化されて圧縮伸張処理部37に入力される。さらに、制御部41にて作成されたテキストデータである電子メールも、圧縮伸張処理部37に入力される。
圧縮伸張処理部37は、PCMコーデック38から出力されたディジタルオーディオ信号を所定の送信データレートに応じたフォーマットで圧縮符号化する。これにより、オーディオデータが生成される。また、圧縮伸張処理部37は、制御部41から出力されたディジタル動画像信号を圧縮符号化して動画像データを生成する。そして、圧縮伸張処理部37は、これらのオーディオデータや動画像データを図示せぬ多重分離部で所定の伝送フォーマットに従って多重化した後にパケット化し、パケット化後の送信パケットデータをCDMA信号処理部36に出力する。なお、圧縮伸張処理部37は、制御部41から電子メールが出力された場合にも、この電子メールを送信パケットデータに多重化する。
CDMA信号処理部36は、圧縮伸張処理部37から出力された送信パケットデータに対し、送信チャネルに割り当てられた拡散符号を用いてスペクトラム拡散処理を施し、スペクトラム拡散処理後の出力信号を送信回路(TX)35に出力する。送信回路35は、スペクトラム拡散処理後の信号をQPSK(Quadrature Phase Shift Keying)方式などのディジタル変調方式を使用して変調する。送信回路35は、ディジタル変調後の送信信号を、周波数シンセサイザ34から発生される局部発振信号と合成して無線信号に周波数変換(アップコンバート)する。そして、送信回路35は、制御部41により指示される送信電力レベルとなるように、このアップコンバートにより生成された無線信号を高周波増幅する。この高周波増幅された無線信号は、アンテナ共用器32を介してアンテナ31に供給され、このアンテナ31から図示せぬ基地局に向けて送信される。
また、携帯電話機1は、外部メモリインタフェース45を備えている。この外部メモリインタフェース45は、メモリカード46を着脱することが可能なスロットを備えている。メモリカード46は、NAND型フラッシュメモリカードやNOR型フラッシュメモリカードなどに代表されるフラッシュメモリカードの一種であり、10ピン端子を介して画像や音声、音楽等の各種データの書き込み及び読み出しが可能となっている。さらに、携帯電話機1には、現在の正確な現在の時刻を測定する時計回路(タイマ)47が設けられている。
制御部41は、CPU(Central Processing Unit)、ROM(Read Only Memory)、およびRAM(Random Access Memory)などからなり、CPUは、ROMに記憶されているプログラムまたは記憶部42からRAMにロードされた、オペレーティングシステム(OS)を含む各種のアプリケーションプログラムに従って各種の処理を実行するとともに、種々の制御信号を生成し、各部に供給することにより携帯電話機1を統括的に制御する。RAMは、CPUが各種の処理を実行する上において必要なデータなどを適宜記憶する。
記憶部42は、例えば、電気的に書換えや消去が可能な不揮発性メモリであるフラッシュメモリ素子やHDD(Hard Disc Drive)などからなり、制御部41のUI処理CPUにより実行される種々のアプリケーションプログラムや種々のデータ群を格納している。電源回路44は、バッテリ43の出力を基に所定の動作電源電圧Vccを生成して各回路部に供給する。
携帯電話機1の制御部41のCPUが複数のタスクを並行して処理するマルチタスク処理を実行する場合、例えば図4が示すように、並列して処理される複数のタスクが優先度の高い順に配列される。制御部41のCPUは、基本的に複数のタスクを優先度の高い順に処理する。最高優先度のタスクは、並列して処理される他の複数のタスクの動作状態を管理するためのタスク動作状態監視用タスクである。図4の場合、最高優先度のタスクであるタスク動作状態監視用タスク以外のタスクとして、優先度が高い順に、被監視対象タスクA、被監視対象タスクB、被監視対象タスクC、被監視対象タスクD、被監視対象タスクE、被監視対象タスクF、および被監視対象タスクGがある。例えばタスクの中には、キーの入力を受け付けるタスクや、表示画面の更新のタスクなどが含まれる。また、タスクの中には、例えば通話処理に関するタスクと、通話中に通話時間を加算するタスクも含まれる。通話処理に関するタスクは、通話時間を加算するタスクよりも優先度が高い。
しかしながら、携帯電話機用のリアルタイムOSのようにタスクを優先度順に制御するOSにおいては、たとえ国際公開WO2008/114525号公報に提案される技術を用いたとしても、高優先度のタスクが動作し続けると低優先度のタスクが動作できなくなってしまい、結局、システムが破綻してしまう。
そこで、本実施形態は、システムの輻輳状態が一定時間以上継続した場合に、携帯電話機1は、並列して処理される他の複数のタスクの動作状態を監視するタスクが他の複数のタスクの動作状態を確認するイベント(キープアライブイベント)を他のすべてのタスクに送信することにより、並列して処理される複数のタスクの中で低優先度のタスクの動作を阻害する高優先度のタスクを明確に特定し、携帯電話機1のシステムをリセットする。これにより、本実施形態に係る情報処理装置としての携帯電話機1は、複数のタスクを並行して処理するマルチタスク処理を実行する場合に、システム上で輻輳状態となるタスクを好適に特定しつつ、システムの異常状態を好適に回避することができる。以下、この方法を用いた携帯電話機1におけるタスク動作状態監視処理について説明する。
なお、携帯電話機1におけるタスク動作状態管理処理を説明する前提条件について説明する。本実施形態に係る情報処理装置としての携帯電話機1は、図5が示すように、優先度で管理されるタスク群の最高優先度にタスク動作状態監視用タスクH(High)を設け、最低優先度にタスク動作状態監視用タスクL(Low)を設ける。タスク動作状態監視用タスクHは、タスク動作状態監視用タスクLとともに他の被監視対象タスクA乃至被監視対象タスクGの動作状態を監視する。また、タスク動作状態監視用タスクHは、他の被監視対象タスクA乃至被監視対象タスクGに対するイベントの配信を制御する。他の被監視対象タスクA乃至被監視対象タスクGはすべて、タスク動作状態監視用タスクHによってイベントの配信が制御されるタスクである。なお、図5の場合においては、被監視対象タスクとして被監視対象タスクA乃至被監視対象タスクGの7つのタスクを明示的に記載したが、7未満のタスクを被監視対象とするようにしてもよいし、8つ以上のタスクを被監視対象とするようにしてもよい。
図6のフローチャートを参照して、図3の携帯電話機1におけるタスク動作状態監視処理について説明する。図6のタスク動作状態監視処理は、携帯電話機1の電源が投入された後に開始される。なお、図7は、携帯電話機1が図6のタスク動作状態監視処理を実行する場合におけるタイミングチャートを示している。
ステップS1において、制御部41のCPUは、最高優先度のタスク動作状態監視用タスクHを実行し、最低優先度のタスク動作状態監視用タスクLに対して、CPUが割り当てられるか否かを検出するための検出イベントを送信する。図7の場合、制御部41のCPUは、時刻tに、最低優先度のタスク動作状態監視用タスクLに対して、CPUが割り当てられるか否かを検出するための検出イベントを送信する。具体的には、タスク動作状態監視用タスクHは、タスク動作状態監視用タスクLのイベントキューに検出イベントを格納(挿入)する。なお、タスク動作状態監視用タスクLがイベントキューに格納された検出イベントを駆動する場合、タスク動作状態監視用タスクLは、検出イベントに付随するイベント駆動関数を実行し、制御部41のRAM上に、検出イベントを駆動したことによりCPUが割り当てられたことを示すフラグをONに設定する。検出イベントを駆動したことによりCPUが割り当てられたことを示すフラグは、制御部41のRAM上に格納される、タスク動作状態監視用タスクLに関する制御情報の1つである。従って、タスク動作状態監視用タスクHは、タスク動作状態監視用タスクLに関する制御情報を監視し、CPUが割り当てられたことを示すフラグがONに設定されているかを確認することで、タスク動作状態監視用タスクLにCPUが割り当てられたか否かを確認することが可能となる。
ステップS2において、制御部41のCPUは、タスク動作状態監視用タスクHを実行し、タスク動作状態監視用タスクLにCPUが割り当てられたか否かを確認するまでの待機時間T1の第1のタイマを時計回路47に設定する。図7の場合、制御部41のCPUは、時刻tにタスク動作状態監視用タスクLにCPUが割り当てられたか否かを確認するまでの待機時間T1の第1のタイマを時計回路47に設定する。待機時間T1は例えば45(s)程度である。時計回路47は、待機時間T1の第1のタイマのカウント動作を開始する。ステップS3において、時計回路47は、待機時間T1の第1のタイマが満了するまでカウント動作を行う。ステップS3において時計回路47が待機時間T1の第1のタイマが満了するまでカウントした場合、処理はステップS4に進む。図7の場合、時刻tに、待機時間T1の第1のタイマが満了する。
ステップS4において、制御部41のCPUは、タスク動作状態監視用タスクHを実行し、タスク動作状態監視用タスクLに関する制御情報を監視し、CPUが割り当てられたことを示すフラグがONに設定されているかを確認することで、タスク動作状態監視用タスクLにCPUが割り当てられたか否かを判定する。ステップS4において制御部41のCPUがタスク動作状態監視用タスクLにCPUが割り当てられたと判定した場合、処理はステップS1に戻り、その後、ステップS1以降の処理が繰り返し実行される。
ステップS4において制御部41のCPUがタスク動作状態監視用タスクLにCPUが割り当てられていないと判定した場合、制御部41のCPUは、携帯電話機1内のシステムが輻輳状態になりつつあると認識する。ステップS5において、制御部41のCPUは、タスク動作状態監視用タスクHを実行し、並列して処理される他のすべての被監視対象タスクの動作を確認するための動作確認用イベント(キープアライブイベント)を、すべての被監視対象タスクに対して優先度に従い送信する。図7の場合、制御部41のCPUは、時刻tに、キープアライブイベントを、すべての被監視対象タスクに対して優先度に従い送信する。具体的には、タスク動作状態監視用タスクHは、すべての被監視対象タスクのイベントキューの先頭にキープアライブイベントを優先度順に格納(挿入)する。図5の場合、タスク動作状態監視用タスクHは、優先度に従い、被監視対象タスクA→被監視対象タスクB→被監視対象タスクC→被監視対象タスクD→被監視対象タスクE→被監視対象タスクF→被監視対象タスクGの順にキープアライブイベントを各タスクのイベントキューの先頭に格納する。このような処理を「キープアライブ格納処理(キープアライブ動作)」と定義する。
なお、被監視対象タスクがイベントキューの先頭に格納されたキープアライブイベントを駆動する場合、被監視対象タスクは、キープアライブイベントに付随するイベント駆動関数を実行し、制御部41のRAM上に、キープアライブイベントを駆動したことを示すフラグをONに設定する。キープアライブイベントを駆動したことを示すフラグは、制御部41のRAM上に格納される、被監視対象タスクに関する制御情報の1つである。従って、タスク動作状態監視用タスクHは、各被監視対象タスクに関する制御情報を監視し、キープアライブイベントを駆動したことを示すフラグがONに設定されているかを確認することで、各被監視対象タスクの動作状態を確認することが可能となる。
また、タスク動作状態監視用タスクHは、各被監視対象タスクに対して同時あるいはほぼ同時にイベントを格納するようにしてもよい。
ステップS6において、制御部41のCPUは、タスク動作状態監視用タスクHを実行し、各被監視対象タスクの動作状態を確認するまでの待機時間T2の第2のタイマを時計回路47に設定する。図7の場合、制御部41のCPUは、時刻tに、各被監視対象タスクの動作状態を確認するまでの待機時間T2の第2のタイマを時計回路47に設定する。時計回路47は、待機時間T2の第2のタイマのカウント動作を開始する。ステップS7において、時計回路47は、待機時間T2の第2のタイマが満了するまでカウント動作を行う。ステップS7において時計回路47が待機時間T2の第2のタイマが満了するまでカウントした場合、処理はステップS8に進む。図7の場合、時刻tに、待機時間T2の第2のタイマが満了する。
ステップS8において、制御部41のCPUは、タスク動作状態監視用タスクHを実行し、タスク動作状態監視用タスクHがキープアライブイベントを送信するすべての被監視対象タスクから、キープアライブイベントに対する応答を受信したか否かを判定する。ここで、被監視対象タスクからのキープアライブイベントに対する応答とは、被監視対象タスクはイベント駆動関数を実行してキープアライブイベントを駆動したことを示すフラグをONに設定することを意味する。ステップS8において制御部41のCPUは、タスク動作状態監視用タスクHがキープアライブイベントを送信するすべての被監視対象タスクから、キープアライブイベントに対する応答を受信したと判定した場合、制御部41のCPUは、すべての被監視対象タスクが正常に動作していると認識する。その後、処理はステップS1に戻り、ステップS1以降の処理が繰り返し実行される。
一方、ステップS8において制御部41のCPUは、タスク動作状態監視用タスクHがキープアライブイベントを送信するすべての被監視対象タスクから、キープアライブイベントに対する応答を受信していないと判定した場合(すなわち、タスク動作状態監視用タスクHがキープアライブイベントを送信する被監視対象タスクのうち、キープアライイベントに対する応答を受信していない被監視対象タスクがあると判定した場合)、制御部41のCPUはステップS9で、すべての被監視対象タスクに対するキープアライブイベントの再送信処理を優先度に従い開始する。図7の場合、制御部41のCPUは、時刻tに、キープアライブイベントを、すべての被監視対象タスクに対する再送信処理を優先度に従って開始する。
ここで、すべての被監視対象タスクに対するキープアライブイベントの再送信処理について詳述する。図8は、キープアライブイベントの再送信方法の詳細を表している。図8(A)は、被監視対象タスクのイベントキューの先頭に格納されるイベントがキープアライブイベント以外のイベントであり、かつ、被監視対象タスクが駆動する最中のイベントがない被監視対象タスクに対してキープアライブイベントを再送信する例を示す。図8(A)が示すように、被監視対象タスクのイベントキューにはキープアライブイベント以外のイベントが格納されており、被監視対象タスクは、イベントキューに格納されるイベントの駆動待ち状態である。すなわち、図8(A)が示す被監視対象タスクは、正常動作中である。そこで、図8(A)が示す被監視対象タスクの場合、タスク動作状態監視用タスクHは、次回のタスクスイッチ時にキープアライブイベントを被監視対象タスクに駆動させるために、キープアライブイベントを被監視対象タスクに再送信し、被監視対象タスクのイベントキューの先頭にキープアライブイベントを格納する。
図8(B)は、被監視対象タスクのイベントキューの先頭に格納されるイベントがキープアライブイベントであり、かつ、被監視対象タスクが駆動する最中のイベントがない被監視対象タスクに対してキープアライブイベントを再送信する例を示す。図8(B)が示すように、被監視対象タスクのイベントキューの先頭にはキープアライブイベントが格納されており、被監視対象タスクは、イベントキューに格納されるキープアライブイベントの駆動待ち状態である。すなわち、図8(B)が示す被監視対象タスクは、正常動作中である。このとき、被監視対象タスクは、次回のタスクスイッチ時にキープアライブイベントを駆動することから、タスク動作状態監視用タスクHは、さらに追加して被監視対象タスクにキープアライブイベントを再送信する必要はない。そこで、図8(B)が示す被監視対象タスクの場合、タスク動作状態監視用タスクHは、キープアライブイベントを被監視対象タスクに再送信しない。
図8(C)は、被監視対象タスクのイベントキューの先頭に格納されるイベントがキープアライブイベント以外のイベントであり、かつ、被監視対象タスクが駆動する最中のイベントがあり、駆動中のイベントがキープアライブイベント以外のイベントである被監視対象タスクに対してキープアライブイベントを再送信する例を示す。図8(C)が示すように、被監視対象タスクのイベントキューの先頭にはキープアライブイベント以外のイベントが格納されており、被監視対象タスクは、キープアライブイベント以外のイベントが駆動中の状態である。すなわち、図8(C)が示す被監視対象タスクは、正常動作中である。そこで、図8(C)が示す被監視対象タスクの場合、タスク動作状態監視用タスクHは、次回のタスクスイッチ時にキープアライブイベントを被監視対象タスクに駆動させるために、キープアライブイベントを被監視対象タスクに再送信し、被監視対象タスクのイベントキューの先頭にキープアライブイベントを格納する。
図8(D)は、被監視対象タスクのイベントキューの先頭に格納されるイベントがキープアライブイベント以外のイベントであり、かつ、被監視対象タスクが駆動する最中のイベントがあり、駆動中のイベントがキープアライブイベントである被監視対象タスクに対してキープアライブイベントを再送信する例を示す。図8(D)が示すように、被監視対象タスクのイベントキューの先頭にはキープアライブイベント以外のイベントが格納されており、被監視対象タスクは、キープアライブイベントが駆動中の状態である。すなわち、図8(D)が示す被監視対象タスクは、正常動作中である。このとき、被監視対象タスクは、キープアライブイベントの駆動中であることから、タスク動作状態監視用タスクHは、さらに追加して被監視対象タスクにキープアライブイベントを再送信する必要はない。そこで、図8(D)が示す被監視対象タスクの場合、タスク動作状態監視用タスクHは、キープアライブイベントを被監視対象タスクに再送信しない。
なお、ステップS8の処理において、タスク動作状態監視用タスクHがキープアライブイベントを送信するすべての被監視対象タスクから、キープアライブイベントに対する応答を受信していない場合に、タスク動作状態監視用タスクHは、すべての被監視対象タスクに対するキープアライブイベントの再送信処理を開始するようにしたが、このような場合に限られず、タスク動作状態監視用タスクLにCPUが割り当てられていない場合に、すべての被監視対象タスクに対するキープアライブイベントの再送信処理を開始するようにしてもよい。
ステップS10において、制御部41のCPUは、タスク動作状態監視用タスクHを実行し、キープアライブイベントの再送信中に輻輳状態の被監視対象タスクを検出したか否かを判定する。図8(E)は、被監視対象タスクのイベントキューの先頭に格納されるイベントがキープアライブイベントであり、かつ、被監視対象タスクが駆動する最中のイベントがあり、駆動中のイベントがキープアライブイベント以外のイベントである被監視対象タスクに対してキープアライブイベントを再送信する例を示す。図8(E)が示すように、被監視対象タスクのイベントキューの先頭にはキープアライブイベントが格納されており、被監視対象タスクは、キープアライブイベント以外のイベントが駆動中の状態である。すなわち、図8(E)が示す被監視対象タスクは、ステップS5において被監視対象タスクが受信するキープアライブイベントを駆動することができず、キープアライブイベント以外のイベントの駆動によって輻輳状態に陥っており、異常動作の状態ある。タスク動作状態監視用タスクHは、図8(E)が示す被監視対象タスクにキープアライブイベントを再送信する場合に、輻輳状態の被監視対象タスクを検出したと判定する。これにより、本実施形態に係る情報処理装置としての携帯電話機1は、携帯電話機1内のシステムで輻輳状態のタスクを特定することができる。
ステップS10において制御部41のCPUが、キープアライブイベントの再送信中に輻輳状態の被監視対象タスクを検出したと判定した場合、制御部41のCPUはステップS11で、タスク動作状態監視用タスクHを実行し、携帯電話機1のシステムをリセットする。すなわち、制御部41のCPUは、携帯電話機1の電源を一旦落とし、携帯電話機1のシステムを再起動する。これにより、携帯電話機1のシステムの異常動作を回避することができる。
ステップS10において制御部41のCPUが、キープアライブイベントの再送信中に輻輳状態の被監視対象タスクを検出していないと判定した場合、制御部41のCPUはステップS12で、タスク動作状態監視用タスクHを実行し、すべての被監視対象タスク(図5の場合、被監視対象タスクA乃至G)に対するキープアライブイベントの再送信処理が終了したか否かを判定する。ステップS12において制御部41のCPUがすべての被監視対象タスクに対するキープアライブイベントの再送信処理が終了していないと判定した場合、処理はステップS10に戻り、ステップS10以降の処理が繰り返し実行される。これにより、携帯電話機1は、輻輳状態の被監視対象タスクが特定されるまでキープアライブイベントの再送信処理を行うことができる。
一方、ステップS12において制御部41のCPUがすべての被監視対象タスクに対するキープアライブイベントの再送信処理が終了したと判定した場合、制御部41のCPUはステップS13で、タスク動作状態監視用タスクHがキープアライブイベントを送信するすべての被監視対象タスクから、キープアライブイベントに対する応答を受信したか否かを判定する。ステップS13において制御部41のCPUは、タスク動作状態監視用タスクHがキープアライブイベントを送信するすべての被監視対象タスクから、キープアライブイベントに対する応答を受信したと判定した場合、制御部41のCPUはステップS14で、輻輳状態になりつつあった被監視対象タスクが正常な状態に復帰し、すべての被監視対象タスクが正常に動作していると認識し、携帯電話機1のシステムの輻輳状態が解消したと認識する。その後、処理はステップS1に戻り、ステップS1以降の処理が繰り返し実行される。一方、ステップS13において御部41のCPUは、タスク動作状態監視用タスクHがキープアライブイベントを送信するすべての被監視対象タスクから、キープアライブイベントに対する応答を受信していないと判定した場合、制御部41のCPUは、輻輳状態になりつつあった被監視対象タスクがまだ正常な状態に復帰していないと認識し、タスク動作状態監視用タスクHがキープアライブイベントを送信するすべての被監視対象タスクから、キープアライブイベントに対する応答を受信するまで待機する。
本実施形態に係る情報処理装置としての携帯電話機1は、優先度が設けられる複数のタスクが並行して処理されるマルチタスク処理において、複数のタスクに含まれるそれぞれの被監視対象タスクに対して、キープアライブ動作によってキープアライブイベントを送信し、被監視対象タスクに対してキープアライブイベントが送信されてから所定の時間が経過した場合、すべての被監視対象タスクからキープアライブイベントに対する応答があるか否かを判定し、少なくともいずれか1つ以上の被監視対象タスクから前記キープアライブイベントに対する応答がないと判定された場合、それぞれの被監視対象タスクに対して、キープアライブ動作によってキープアライブイベントを再送信し、被監視対象タスクに対するキープアライブイベントの再送信中に輻輳状態の被監視対象タスクを検出し、輻輳状態の被監視対象タスクが検出された場合、情報処理装置としての携帯電話機1のシステムをリセットして再起動することができる。これにより、並列して処理される複数のタスクの中で低優先度のタスクの動作を阻害する高優先度のタスクを明確に特定し、携帯電話機1のシステムをリセットすることができる。これにより、本実施形態に係る情報処理装置としての携帯電話機1は、システムの異常動作を回避することができ、並列処理される被監視対象タスクが無限ループに陥ったとしても、被監視対象タスクの外部から被監視対象タスクの異常を検出することができる。また、携帯電話機1のシステムおよび輻輳状態となったタスクのデバック効率を向上させることができる。
なお、図6のタスク動作状態監視処理の場合、タスク動作状態監視用タスクHは、キープアライブイベントの再送信中に輻輳状態の被監視対象タスクを1つでも検出すると、直ちに携帯電話機1のシステムをリセットするようにしたが、このような場合に限られず、キープアライブイベントの再送信中に輻輳状態の被監視対象タスクをすべて検出してから携帯電話機1のシステタスク動作状態監視用タスクHは、キープアライブイベントの再送信中に輻輳状態の被監視対象タスクを検出すると、携帯電話機1のシステムをリセットする前に、輻輳状態の被監視対象タスクに関する情報を記憶部40に記憶させるようにしてもよい。この場合におけるタスク動作状態監視処理は、図9のフローチャートに示される。
図9のフローチャートを参照して、図3の携帯電話機1における他のタスク動作状態監視処理について説明する。なお、図9の処理は基本的に図6の処理と同様であり、重複する部分については省略する。
ステップS111において、制御部41のCPUは、タスク動作状態監視用タスクHを実行し、検出された輻輳状態の被監視対象タスクに関する情報を記憶部42に記憶させる。これにより、輻輳状態の被監視対象タスクに関するログを残すことができ、携帯電話機1内のシステムやタスクのデバックを効率的に行うことができる。
なお、本発明の実施形態において説明した一連の処理は、ソフトウェアにより実行させることもできるが、ハードウェアにより実行させることもできる。
また、本発明の実施形態では、フローチャートのステップは、記載された順序に沿って時系列的に行われる処理の例を示したが、必ずしも時系列的に処理されなくとも、並列的あるいは個別実行される処理をも含むものである。
1…携帯電話機、11…ヒンジ部、12…第1の筐体、13…第2の筐体、14…操作キー、15…マイクロフォン、16…サイドキー、17…メインディスプレイ、18…レシーバ、19a乃至19d…磁気センサ、20…CCDカメラ、21…サブディスプレイ、31…アンテナ、32…デュプレクサ、33…受信回路(RX)、34…周波数シンセサイザ(SYN)、35…送信回路(TX)、36…CDMA信号処理部、37…圧縮伸張処理部、38…PCMコーデック、39…受話増幅器、40…送話増幅器、41…制御部、42…記憶部、43…バッテリ、44…電源回路、45…外部メモリインタフェース、46…メモリカード、47…時計回路、50…スピーカ。

Claims (7)

  1. 優先度が設けられる複数のタスクが並行して処理されるマルチタスク処理において、前記複数のタスクに含まれるそれぞれの被監視対象タスクに対して、キープアライブ動作によってキープアライブイベントを送信する第1のイベント送信手段と、
    前記第1のイベント送信手段によって前記被監視対象タスクに対して前記キープアライブイベントが送信されてから所定の時間が経過した場合、すべての前記被監視対象タスクから前記キープアライブイベントに対する応答があるか否かを判定する判定手段と、
    前記判定手段により少なくともいずれか1つ以上の前記被監視対象タスクから前記キープアライブイベントに対する応答がないと判定された場合、それぞれの前記被監視対象タスクに対して、前記キープアライブ動作によって前記キープアライブイベントを再送信する第2のイベント送信手段と、
    前記第2のイベント送信手段による前記被監視対象タスクに対する前記キープアライブイベントの再送信中に、輻輳状態の前記被監視対象タスクを検出する検出手段と、
    前記検出手段により輻輳状態の前記被監視対象タスクが検出された場合、情報処理装置のシステムをリセットして再起動する起動手段とを備えることを特徴とする情報処理装置。
  2. 前記第1のイベント送信手段は、それぞれの前記被監視対象タスクに対して、前記被監視対象タスクの優先度に従い、前記キープアライブ動作によって前記キープアライブイベントを送信することを特徴とする請求項1に記載の情報処理装置。
  3. 前記第2のイベント送信手段は、それぞれの前記被監視対象タスクに対して、前記被監視対象タスクの優先度に従い、前記キープアライブ動作によって前記キープアライブイベントを再送信することを特徴とする請求項1に記載の情報処理装置。
  4. 前記第1のイベント送信手段は、CPUが最低優先度のタスクに対して所定の時間割り当てられない場合、それぞれの前記被監視対象タスクに対して、前記キープアライブ動作によって前記キープアライブイベントを送信することを特徴とする請求項1に記載の情報処理装置。
  5. 前記検出手段により検出される輻輳状態の前記被監視対象タスクは、前記被監視対象タスクのイベントキューの先頭に格納されるイベントが前記キープアライブイベントであり、かつ、前記被監視対象タスクの駆動中のイベントが前記キープアライブイベント以外のイベントである被監視対象タスクであることを特徴とする請求項1に記載の情報処理装置。
  6. 前記起動手段は、前記検出手段により輻輳状態の前記被監視対象タスクが少なくとも1つ以上検出された場合、前記情報処理装置のシステムをリセットして再起動することを特徴とする請求項1に記載の情報処理装置。
  7. 前記検出手段により輻輳状態の前記被監視対象タスクに関する情報を記憶する記憶手段をさらに備えることを特徴とする請求項1に記載の情報処理装置。
JP2009194089A 2009-08-25 2009-08-25 情報処理装置 Expired - Fee Related JP5418066B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009194089A JP5418066B2 (ja) 2009-08-25 2009-08-25 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009194089A JP5418066B2 (ja) 2009-08-25 2009-08-25 情報処理装置

Publications (2)

Publication Number Publication Date
JP2011048444A true JP2011048444A (ja) 2011-03-10
JP5418066B2 JP5418066B2 (ja) 2014-02-19

Family

ID=43834724

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009194089A Expired - Fee Related JP5418066B2 (ja) 2009-08-25 2009-08-25 情報処理装置

Country Status (1)

Country Link
JP (1) JP5418066B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233333A (ja) * 1992-02-21 1993-09-10 Fujitsu Ltd タスク起動状態検出システム
JPH1069390A (ja) * 1996-08-28 1998-03-10 Nec Corp タスクストール検出装置および方法
JPH10133887A (ja) * 1996-11-01 1998-05-22 Sharp Corp タスク監視方法
JP2004258936A (ja) * 2003-02-26 2004-09-16 Nec Corp モバイル通信端末及びそれに用いるフェイルセーフ方法並びにそのプログラム
WO2008114525A1 (ja) * 2007-03-20 2008-09-25 Kabushiki Kaisha Toshiba 情報処理装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233333A (ja) * 1992-02-21 1993-09-10 Fujitsu Ltd タスク起動状態検出システム
JPH1069390A (ja) * 1996-08-28 1998-03-10 Nec Corp タスクストール検出装置および方法
JPH10133887A (ja) * 1996-11-01 1998-05-22 Sharp Corp タスク監視方法
JP2004258936A (ja) * 2003-02-26 2004-09-16 Nec Corp モバイル通信端末及びそれに用いるフェイルセーフ方法並びにそのプログラム
WO2008114525A1 (ja) * 2007-03-20 2008-09-25 Kabushiki Kaisha Toshiba 情報処理装置

Also Published As

Publication number Publication date
JP5418066B2 (ja) 2014-02-19

Similar Documents

Publication Publication Date Title
JP5920299B2 (ja) 画像形成装置、遠隔制御方法、および遠隔制御プログラム
JP2010122928A (ja) 携帯端末
JP2010045628A (ja) 携帯端末装置
JP2009175227A (ja) 携帯端末装置
US20080209321A1 (en) Mobile terminal apparatus, and display control method therefor
JP2010039791A (ja) 携帯端末装置
JP5152175B2 (ja) 情報処理装置
JP2009296170A (ja) 携帯端末
JP4388073B2 (ja) 着信通知プログラム、着信通知方法及び携帯端末装置
JP5365206B2 (ja) 通信機器
JP5217371B2 (ja) 携帯電話機
JP2009267847A (ja) 無線端末装置および無線ネットワークシステム
JP5418066B2 (ja) 情報処理装置
CN110709801B (zh) 一种降低耗电的方法和设备
JP2008113214A (ja) 無線通信端末
JP5266898B2 (ja) 情報処理装置
JP5292937B2 (ja) 情報処理装置
JP2008065699A (ja) 情報処理装置
JP5267326B2 (ja) 情報処理装置
JP5256925B2 (ja) 携帯端末装置
JP5369619B2 (ja) 情報処理装置
JP2005328285A (ja) 携帯電話機
JP5217552B2 (ja) 携帯端末装置
KR20070051339A (ko) 이미지 송신 동작을 가지는 통신 디바이스 및 그 방법
JP2010097277A (ja) 情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120514

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130730

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130927

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131022

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131104

LAPS Cancellation because of no payment of annual fees