JP2005005909A - 競合管理プログラム,競合管理プログラムが記憶された記憶媒体,競合管理方法及び電子機器 - Google Patents
競合管理プログラム,競合管理プログラムが記憶された記憶媒体,競合管理方法及び電子機器 Download PDFInfo
- Publication number
- JP2005005909A JP2005005909A JP2003165742A JP2003165742A JP2005005909A JP 2005005909 A JP2005005909 A JP 2005005909A JP 2003165742 A JP2003165742 A JP 2003165742A JP 2003165742 A JP2003165742 A JP 2003165742A JP 2005005909 A JP2005005909 A JP 2005005909A
- Authority
- JP
- Japan
- Prior art keywords
- task
- application
- list
- execution
- executed
- 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.)
- Withdrawn
Links
- 238000007726 management method Methods 0.000 title claims abstract description 84
- 230000007704 transition Effects 0.000 claims description 45
- 230000006870 function Effects 0.000 claims description 18
- 238000001514 detection method Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 description 37
- 230000004913 activation Effects 0.000 description 32
- 238000004891 communication Methods 0.000 description 25
- 230000005540 biological transmission Effects 0.000 description 19
- 230000008859 change Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 12
- 238000000034 method Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 9
- 238000013461 design Methods 0.000 description 5
- 238000010295 mobile communication Methods 0.000 description 5
- 230000002860 competitive effect Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000010355 oscillation Effects 0.000 description 3
- 230000008672 reprogramming Effects 0.000 description 3
- 230000010365 information processing Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000007480 spreading Effects 0.000 description 2
- 101100264195 Caenorhabditis elegans app-1 gene Proteins 0.000 description 1
- 101100422638 Caenorhabditis elegans syx-4 gene Proteins 0.000 description 1
- 108050005492 Gamma 1 syntrophin Proteins 0.000 description 1
- 102100032844 Gamma-1-syntrophin Human genes 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
Abstract
【課題】マルチタスク処理における新たなアプリケーションの競合管理方法を提供する。
【解決手段】アプリケーションマネージャ25に、現在実行中のアプリケーションを登録する実行リスト61及び待機中のアプリケーションを登録する実行待ちリスト62を設ける。アプリケーション管理ブロック64は、アプリケーションの競合が生じた場合、上記各リスト61,62に登録されている実行中のアプリケーションの状態及び待機中のアプリケーションの状態に対応する競合条件テーブルを参照し、各状態の優先度に基づいて、各アプリケーションの遷移させるべき状態(起動,終了,実行待ち等)を決定する。そして、アプリケーション制御ブロック65が、このアプリケーション管理ブロック64により決定された状態に、各アプリケーションを遷移させることで、各アプリケーションの競合管理を行う。
【選択図】 図4
【解決手段】アプリケーションマネージャ25に、現在実行中のアプリケーションを登録する実行リスト61及び待機中のアプリケーションを登録する実行待ちリスト62を設ける。アプリケーション管理ブロック64は、アプリケーションの競合が生じた場合、上記各リスト61,62に登録されている実行中のアプリケーションの状態及び待機中のアプリケーションの状態に対応する競合条件テーブルを参照し、各状態の優先度に基づいて、各アプリケーションの遷移させるべき状態(起動,終了,実行待ち等)を決定する。そして、アプリケーション制御ブロック65が、このアプリケーション管理ブロック64により決定された状態に、各アプリケーションを遷移させることで、各アプリケーションの競合管理を行う。
【選択図】 図4
Description
【0001】
【発明の属する技術分野】
本発明は、例えば携帯電話機,PHS電話機(PHS:Personal Handyphone System),PDA装置(PDA:Personal Digital(Data) Assistant),パーソナルコンピュータ装置等の端末装置に設けて好適な競合管理プログラム,競合管理プログラムが記憶された記憶媒体,競合管理方法及び電子機器に関する。
【0002】
【従来の技術】
今日における携帯電話機は、シングルタスクのかたちでアプリケーションの実行管理を行うのが一般的である。
【0003】
例えば、一方のアプリケーションの実行中に、他方のアプリケーションの実行指示があった場合、これら各アプリケーションの優先度をそれぞれ検出し、優先度の低いアプリケーションを強制的に終了させ、代わりに優先度の高いアプリケーションを起動することで、該アプリケーションの競合管理を行うようになっている。
【0004】
具体的には、例えば電子メールの作成中に着呼があった場合、電子メールを作成するアプリケーションよりも、着呼を処理するアプリケーションの方が優先度が高いため、電子メールを作成するアプリケーションを強制的に終了させ、着呼を処理するアプリケーションを起動して着呼の処理を行う。これにより、電子メールの作成は中止され、着呼が優先して処理されることとなる。
【0005】
これに対して、携帯電話機よりも情報処理能力(パフォーマンス)の高いパーソナルコンピュータ装置の場合、マルチタスクのかたちでアプリケーションの実行管理を行うのが一般的である。
【0006】
このパーソナルコンピュータ装置においては、アプリケーションの競合が生じた場合、以下のいずれかの方法で競合管理を行うようになっている。
【0007】
まず、第1の競合管理方法として、オペレーティングシステム(OS)が、実行中のアプリケーションの現在の状態にかかわらず、該実行中のアプリケーションの優先度を変更し(優先度を下げ)、後から実行が指定されたアプリケーションを優先して実行する競合管理を行う方法である。
【0008】
具体的には、例えば表計算ソフトウェアの実行中に、ユーザから文書作成ソフトウェアの立ち上げが指示された場合、OSは、表計算ソフトウェアのアプリケーションを待機状態とし、文書作成ソフトウェアのアプリケーションを優先して起動する。これにより、表計算ソフトウェアによる表作成を中断した状態で、文書作成ソフトウェアによる文書作成が可能となる。
【0009】
次に、第2の競合管理方法として、アプリケーションのプログラミングの段階で競合する他のアプリケーションを予測し、競合が生じた場合、アプリケーション同士で通信を行い、一方のアプリケーションが他方のアプリケーションの状態に応じて優先度を変更するように、該アプリケーションをプログラミングしておくことで競合管理を行う方法である。
【0010】
この第2の競合管理方法においては、競合したアプリケーション同士の通信で優先順位が決まるため、各アプリケーションが自己的に競合管理を行うこととなる。
【0011】
なお、特表2003−504753号の公表特許公報に、このようなアプリケーション管理に関する先行技術が開示されている。
【0012】
【特許文献】
特表2003−504753号公報
【0013】
【発明が解決しようとする課題】
ここで、上述のように、現行における携帯電話機は、シングルタスクのかたちでアプリケーションの競合管理を行っているのであるが、将来的にマルチタスクのかたちでアプリケーションの実行管理を行うことが予測される。
【0014】
しかし、前述の第1の管理方法或いは第2の管理方法で競合管理を行うようにすると以下の問題を生ずる。
【0015】
すなわち、上記第1の競合管理方法で競合管理を行うと、OSがアプリケーションの現在の状態を認識することなく後先のかたちでアプリケーションが実行されることとなるため、後から実行指示のなされたアプリケーションの実行が終了し、待機状態となっていたアプリケーション(=先に実行されていたアプリケーション)の実行が再開される際に、該待機状態となっていたアプリケーションが正常に動作しないことが懸念される(待機状態とされたアプリケーションの動作保証が無い。)。
【0016】
また、上記第2の競合管理方法で競合管理を行う場合には、予め競合するアプリケーションを全て予測してアプリケーションのプログラミングを行う必要がある。このような予測は、アプリケーション数が増え、また、システムが複雑化する程困難となる。
【0017】
また、上記第2の競合管理方法で競合管理を行うこととすると、アプリケーションに仕様変更が生じた場合には、他の全てのアプリケーションも、この仕様変更に対応した仕様変更が必要となり、多数のアプリケーションの再プログラミング作業や再インストール作業(アプリケーションの設計及び実装の変更作業)等の大変面倒な作業が必要となることが懸念される。
【0018】
マルチタスクを可能とする従来の競合管理方法は、このようなことを考慮する必要があったため、ソフトウェアの開発を困難なものとする問題があった。
【0019】
本発明は、上述の課題に鑑みてなされたものであり、待機状態としたアプリケーションの動作を保証すること、競合するアプリケーションを考慮することなくアプリケーションのプログラミング(設計)を可能とすること、仕様変更が生じた場合でも他のアプリケーションの仕様変更を必要としないことを通じてソフトウェアの開発を容易化可能な競合管理プログラム,競合管理プログラムが記憶された記憶媒体,競合管理方法及び電子機器の提供を目的とする。
【0020】
【課題を解決するための手段】
本発明は、実行要求受付手段がタスクの実行要求を受け付けた際に、競合検出手段が、起動中のタスクが登録されている起動中タスクリストを参照して、タスク同士の競合の有無を検出する。
【0021】
上記競合検出手段で上記タスク同士の競合が検出されると、遷移状態決定手段が、該競合する各タスクの遷移すべき状態が記憶された競合条件テーブルを参照して、上記実行要求がなされたタスク、及び上記起動中タスクリストに登録されているタスクの遷移させるべき状態をそれぞれ決定する。
【0022】
そして、上記実行要求がなされたタスク、及び上記起動中タスクリストに登録されているタスクの状態を、状態遷移手段が、上記遷移状態決定手段で決定された状態にそれぞれ遷移させる。
【0023】
なお、ここでいう「タスク」の概念は、アプリケーションの他、コンピュータが情報処理を行う際に実行する全てのタスクを含む概念である。
【0024】
また、「起動中のタスク」の概念は、現在実行されているタスク、及び起動されてはいるが、現在、実行待ちとされているタスクの両方を含む概念である。
【0025】
【発明の実施の形態】
本発明は一例として、携帯電話機に適用することができる。この本発明の実施の形態となる携帯電話機は、いわゆるホームメモリ機能,位置登録機能,追跡交換機能(自動追跡ルーチン)及びハンドオーバ機能等を備えた移動体通信システムで用いられるものである。
【0026】
この移動体通信システムのサービスエリアには、複数の基地局が分散配置されており、これらの基地局によりそれぞれセルと呼ばれる無線通信エリアが形成されている。各基地局は、自局の無線通信エリア内に位置する各携帯電話機に対して無線チャンネルを割り当て、この無線チャンネルを介して各携帯電話機と通信を行い、該各携帯電話機とそれぞれ同期をとるようになっている。
【0027】
また、この移動体通信端末システムは、通信中に携帯電話機がセル間を移動した場合、移動前のセルの基地局から移動後のセルの基地局に、通信に用いる基地局を切り替える、いわゆるハンドオーバを行って移動しながらの通信を可能としている。
【0028】
図1は、CDMA方式(CDMA:Code Division Multiple Access)の移動体通信システムで用いられる当該第1の実施の形態の携帯電話機の全体的なブロック図である。
【0029】
[受信動作]
この図1において、基地局から送信された無線周波信号は、アンテナ1で受信され、アンテナ共用器2(DUP)を介して受信回路3(RX)に供給される。RX3は、上記無線周波信号と、周波数シンセサイザ4(SYN)から供給された受信局部発振信号とをミキシング処理し、該無線周波信号を中間周波信号に周波数変換処理する。
【0030】
なお、SYN4から出力される受信局部発振信号の周波数は、制御部12(CPU)からの制御信号(SYC)により設定される。
【0031】
上記受信中間周波信号は、CDMA信号処理部6において、直交復調処理が施されたのち、受信チャネルに割り当てられた拡散符号(PN符号)により逆拡散処理され、これによりデータレートに応じた所定のフォーマットの復調データに変換される。そして、この変換された復調データはデータ符号処理部7に供給され、また上記受信データのうちデータレートを示す受信データレートはCPU12に供給される。
【0032】
データ符号処理部7は、上記CDMA信号処理部6から供給された復調データに対し、CPU12から通知される受信データレートに応じた伸長処理を施した後、ビタビ復号等を用いた復号処理及び誤り訂正復号処理を施し、ベースバンドの受信データを形成する。
【0033】
PCM符号処理部8は、音声信号通信の種別(音声通信、データ通信)に応じて異なる信号処理を行なうように、CPU12により制御される。
【0034】
具体的には、音声通信時には、PCM符号処理部8は、データ符号処理部7から供給された受信データをPCM復号処理してアナログ受話信号を形成する。このアナログ受話信号は、受話増幅器9にて増幅された後、スピーカ10を介して拡声出力される。
【0035】
また、データ通信時には、PCM符号処理部8は、データ符号処理部7からの受信データをCPU12へ供給する。CPU12は、この受信データをメモリ13に記憶制御する。また必要に応じて、上記受信データを、外部インタフェースを介して、携帯情報端末装置(PDA:Personal Digital Assistance)やノート型のパーソナルコンピュータ装置へ出力する。
【0036】
[送信動作]
次に、音声通信時における話者の送話音声は、マイクロホン11により集音され、送話増幅器18で適正レベルに増幅される。そして、PCM符号処理部8でPCM符号化処理が施された後、送信データとしてデータ符号処理部7に供給される。
【0037】
なお、上記外部インタフェースを介して、例えば上記PDA,ノート型のパーソナルコンピュータ装置,カメラ装置等の外部機器からデータや画像データ等が供給された場合、これらのデータは、CPU12に供給され、このCPU12からPCM符号処理部8を介してデータ符号処理部7に供給される。
【0038】
データ符号処理部7は、音声通信時には、PCM符号処理部8から供給された送信音声データに基づいて入力音声のエネルギ量を検出し、この検出結果に基づいてデータレートを決定する。そして、上記送信データをこの決定したデータレートに応じたフォーマットのバースト信号に圧縮処理し、さらに誤り訂正符号化処理を施したのちCDMA信号処理部6に供給する。
【0039】
また、データ通信時には、データ符号処理部7は、PCM符号処理部8から供給された送信データを、予め設定されたデータレートに応じたフォーマットのバースト信号に圧縮処理し、さらに誤り訂正符号化処理を施してCDMA信号処理部6に供給する。
【0040】
なお、音声通信時及びデータ通信時のいずれの場合も、上記データレートである送信データレートを示す情報は、CPU12に供給される。
【0041】
CDMA信号処理部6は、データ符号処理部7で圧縮されたバースト信号に対して、送信チャネルに割り当てられたPN符号を用いた拡散処理を施す。そしてこの拡散符号化された送信信号に対して直交変調処理を施し、この直交変調信号を送信回路5(TX)に供給する。
【0042】
送信回路5は、この直交変調信号を、SYN4から供給される送信局部発振信号とミキシング処理することで無線周波信号に変換する。そして、送信回路5は、CPU12により設定される送信データレートに基づいて、上記無線周波信号の有効部分だけを高周波増幅処理し、送信無線周波信号として、DUP2を介してアンテナ1に供給する。これにより、この送信無線周波信号が、アンテナ1から基地局に対してバースト送信されることとなる。
【0043】
なお、操作部14(KEY)には、ダイヤルキー、発信キー、電源キー、終了キー、音量調節キー、モード指定キー等のキー群が設けられている。
【0044】
また表示部15(LCD)には、通話相手端末の電話番号や装置の動作状態、さらには受信データ等を表示するための液晶表示部の他、発信/着信動作や充電池16(バッテリ)の充電動作等を示す発光部(LED等)が設けられている。
【0045】
また、電源回路17は、バッテリ16に蓄電されている電力に基づいて、所定の動作電源電圧Vccを形成し、これを当該携帯電話機の各回路部に供給するようになっている。
【0046】
[主要部の構成]
次に、図2に当該実施の形態の携帯電話機の主要部の構成を示す。この図2からわかるように、当該実施の形態の携帯電話機は、上記CPU12により動作制御されるハードウェア群21と、このハードウェア群21の各ハードウェアに対応する複数のドライバからなるドライバ群22と、オペレーションシステム23(OS)と、複数のアプリケーションからなるアプリケーション群24と、アプリケーションの競合管理を行うアプリケーションマネージャ25と、各アプリケーションの動作状態毎に、競合したアプリケーションの起動の是非等を示す情報が記憶された競合条件テーブル26とを有している。
【0047】
ハードウェア群21は、上記操作部14及び上記表示部15と、上記DUP2,RX3,CDMA信号処理部6,データ符号処理部7等の通信システム30と、携帯カメラ装置31と、発光部(LED)や音声デバイス等の他のハードウェア32と、上記メモリ13等のメモリ/ファイルシステム33とを有している。
【0048】
ドライバ群22は、上記表示部15を駆動制御するLCDドライバ34(LCD Task/Driver)と、上記操作部14を駆動制御するキードライバ35(KEY Driver)と、上記通信システムを駆動制御する通信ドライバ36と、上記携帯カメラ装置31を駆動制御するカメラドライバ37(Camera Driver)と、上記他のハードウェアを駆動制御する他のハードウェアのドライバ38と、上記メモリ/ファイルシステム33を駆動制御するメモリ/ファイルシステムドライバ39とを有している。
【0049】
アプリケーション群24は、各アプリケーションが共用するデータ群であるライブラリ40(Libraries)と、ウインドウマネージャ41(Window Manager)と、各アプリケーションの基本データ群となるアプリケーションフレームワーク42(Application Frame work)と、例えば電話アプリケーション(Tel App)や時計アプリケーション(Clock),スクリーンセーバー(Screen Saver),アプリケーションランチャー(App Launcher)等の各アプリケーション43とを有している。
【0050】
なお、この図2における「App1」,「App2」は、ユーザ定義の任意のアプリケーションを示している。
【0051】
また、この図2において、CPU12,操作部14,表示部15,通信システム30,携帯カメラ装置31,他のハードウェア32及びメモリ/ファイルシステム33がそれぞれ「ハードウェア」であるのに対し、OS23〜競合条件テーブル26は、それぞれ「ソフトウェア」となっており、例えば図1に示すメモリ13に格納されている。
【0052】
(各アプリケーションの機能構成)
次に、図3に上記アプリケーション群24の各アプリケーション43の機能ブロック図を示す。この図3に示すように、アプリケーション43は、当該アプリケーションのインターフェイスとなるコミュニケーションブロック50と、上記アプリケーションマネージャ25との間で、上記コミュニケーションブロック50を介して通信を行うシステム制御ブロック51と、例えば電話通信や携帯メールの作成等の、そのアプリケーションの動作を行うブロックであるユーザ制御ブロック52とを有している。
【0053】
後に説明するが、このアプリケーションは、システム制御ブロック51がアプリケーションマネージャ25との間で通信を行うことで、該アプリケーションマネージャ25により動作状態(起動,起動待機等)が制御されるようになっている。
【0054】
(アプリケーションマネージャの機能構成)
次に、図4にアプリケーションマネージャ25の機能ブロック図を示す。この図4に示すように、アプリケーションマネージャ25は、当該アプリケーションマネージャ25のインターフェイスとなるコミュニケーションブロック60と、実行中のアプリケーションを示すデータが格納される実行リスト61及び実行待ちとなっているアプリケーションを示すデータが格納される実行待ちリスト62を備えたアプリケーションリスト63とを有している。
【0055】
また、このアプリケーションマネージャ25は、上記アプリケーションリストに格納されている各リスト61,62に基づいてアプリケーションの競合管理を行うアプリケーション管理ブロック64と、このアプリケーション管理ブロック64の競合管理に対応して各アプリケーションの起動,終了,状態遷移等を制御するアプリケーション制御ブロック65とを有している。
【0056】
(アプリケーションマネージャの動作概要)
このようなアプリケーションマネージャ25は、各アプリケーションが競合した場合に、各アプリケーションの優先順位や現在の状態等に応じて、実行するアプリケーション、起動するアプリケーション、起動待ちとするアプリケーション、実行待機とするアプリケーションをそれぞれ決定し、それぞれ対応する上記リスト61,62に登録する。
【0057】
そして、登録したアプリケーションの状態や新たなアプリケーションの起動要求等の状況の変化があった場合に、その現状に対応して上記各リスト61,62を再構築し、この各リスト61,62を参照しながら各アプリケーションの競合管理を行う。
【0058】
(アプリケーションの状態の遷移)
すなわち、もう少し詳しく説明するために、図5に、各アプリケーションの各状態を模式的に示す。この図5からわかるように、各アプリケーションの状態としては、例えば当該携帯電話機内に記憶されていない状態(或いはアプリケーションが記憶されたメモリが当該携帯電話に設けられていない状態)である「非存在状態(Non−Existent)」と、アプリケーション自体は記憶されているのであるが、実行が指定されていない状態である「不活性状態(Dormant)」とがある。
【0059】
また、各アプリケーションの状態としては、そのアプリケーションが現在、実行されている状態である「実行状態」、及びそのアプリケーションが実行待ちとなっている状態である「実行待ち状態」とがある。
【0060】
当該携帯電話機に設けられていないアプリケーションは、例えば当該携帯電話機にインストールされ、或いはそのアプリケーションが記憶されたメモリが当該携帯電話機に設けられることで、図5中「生成」として示すように、「不活性状態(当該携帯電話機内に存在しているのであるが、実行或いは実行の指示が無く休眠している状態)」となる。
【0061】
この「不活性状態」のアプリケーションは、例えばユーザや他のアプリケーションからの実行指示があった場合、図5中「起動」或いは「待機起動」として示すように、上記「実行状態」或いは「実行待ち状態」のいずれかの状態に遷移する。
【0062】
アプリケーションマネージャ25は、この「不活性状態」のアプリケーションを「実行状態」に遷移させた場合は、上記実行リスト61に、その実行状態としたアプリケーションを登録する。
【0063】
また、アプリケーションマネージャ25は、この「不活性状態」のアプリケーションを「実行待ち状態」に遷移させた場合は、上記実行待ちリスト62に、その実行待ち状態としたアプリケーションを登録する。
【0064】
次に、実行状態とされたアプリケーションは、その動作状況等に応じてその状態が遷移する。
【0065】
一例ではあるが、上記アプリケーションが電話アプリケーションの場合、
通話先とのコネクションを確立するための処理を行う接続状態、
コネクションが確立された後に通話中の音声の処理等を行う通話状態、
通話中に該通話の保留が指定された場合に、通話の保留処理を行う保留状態、
通話の終了が指定された場合に、確立されているコネクションを切断処理する切断状態
等のように、通話の開始から終了までの間、アプリケーションの状態が変化する。
【0066】
図5中の実行状態における第1〜第4の状態及び相互の矢印は、このような実行中のアプリケーションの状態の遷移を示している。
【0067】
上記アプリケーションマネージャ25は、「アプリケーションの起動要求を受け付けた際」,「実行中のアプリケーションの終了を検出した際」,「実行中のアプリケーションの状態遷移を検出した際」に、上記実行リスト61及び上記実行待ちリスト62に登録されているアプリケーションを参照し、各アプリケーションの「優先度」及び「状態」に応じて、例えば実行中のアプリケーションを待機状態とし、代わりに実行待ち状態のアプリケーションや新たに起動要求のなされたアプリケーションを実行状態し、或いは新たに起動要求のなされたアプリケーションは起動せずに起動待機状態とする等のように競合管理を行う。
【0068】
なお、実行が終了したアプリケーションは、図5に「終了」として示すように前述の「不活性状態」に遷移する。また、「不活性状態」のアプリケーションは、削除されると、前述のように携帯電話機内に存在しない状態である「非存在状態」となる。
【0069】
[アプリケーションマネージャの競合管理動作]
次に、このようなアプリケーションマネージャ25の競合管理動作を、図6のフローチャートを用いて説明する。
【0070】
この図6のフローチャートは、アプリケーションマネージャ25が、「アプリケーションの起動要求を受け付けた際」,「実行中のアプリケーションの終了を検出した際」,「実行中のアプリケーションの状態の遷移を検出した際」にスタート(条件判定開始)となり、ステップS1から各ステップを実行する。
【0071】
まず、ステップS1では、アプリケーションマネージャ25が、「アプリケーションの起動要求」,「実行中のアプリケーションの終了」,「実行中のアプリケーションの状態の遷移」のいずれかを検出したため、図4に示すアプリケーションマネージャ25のアプリケーション管理ブロック64がアプリケーションリスト63を参照する。
【0072】
次に、ステップS2では、アプリケーション管理ブロック64が、上記アプリケーションリスト63の実行リスト61に登録されているアプリケーションの有無を検出することで、現在、実行中のアプリケーションが存在するか否かを判別する。
【0073】
アプリケーション管理ブロック64は、上記実行リスト61を参照し、現在、実行中のアプリケーションが存在しなかった場合(=実行リスト61にアプリケーションが登録されていなかった場合)、ステップS3において、起動要求のなされたアプリケーションを実行リスト61に登録し、或いは実行待ちリスト62に登録されている実行待ち状態のアプリケーションの中から実行状態に遷移させるアプリケーションを選択し、このアプリケーションを実行リスト61に登録する。
【0074】
このようにアプリケーション管理ブロック64により、実行リスト61に対して上記アプリケーションの登録が行われると、アプリケーション制御ブロック65は、ステップS10において、上記実行リスト61に登録されたアプリケーションを実行状態に遷移させる。
【0075】
これにより、起動要求のなされたアプリケーション、或いは実行待ちとなっていたアプリケーションが実行されることとなる。
【0076】
次に、上記ステップS2において、実行リスト61に一つ以上のアプリケーションの登録がされていた場合、アプリケーション管理ブロック64は、図2に示す競合条件テーブル26を参照する「競合チェック」を行う。
【0077】
(競合条件テーブル)
この「競合チェック」に用いられる競合条件テーブル26は、実行中のアプリケーションの一つ一つの状態を、競合する他のアプリケーションの一つ一つの状態にそれぞれ対応させたテーブルとなっており、この実行中のアプリケーションの状態と競合する他のアプリケーションの状態との競合関係において、実行中のアプリケーション及び競合する他のアプリケーションが遷移すべき状態を示したテーブルとなっている。
【0078】
従って、当該実施の形態の携帯電話機に設けられているアプリケーションの総数を「N」、各アプリケーションが有する状態数を「M」とした場合、当該実施の形態の携帯電話機に設けられる競合条件テーブルの総数は、「競合条件テーブルの総数=N×M」となる。
【0079】
具体的には、例えば図7は、現在実行中のアプリケーションが電話アプリケーションである場合に参照される競合条件テーブル26の一例を示している。
【0080】
この図7中、第1〜第Nの状態(Nは自然数)は、前述の接続状態,通話状態,保留状態・・・の各状態を示している。また、図7中、「電話」,「待ち受け」・・・「メモ帳」は、状態が参照される各競合アプリケーションを示している。
【0081】
また、この図7に示す「起動不可」,「割込側待機」,「動作側待機」,「動作側終了」の各状態は以下のことを意味している。
【0082】
「起動不可」→起動要求のなされたアプリケーションは起動できないため、該起動要求をキャンセルする。
【0083】
「割込側待機」→起動要求のなされたアプリケーションを実行待ち状態とし、現在実行しているアプリケーションを継続して実行する。
【0084】
「動作側待機」→現在実行中のアプリケーションを終了することなく実行待ち状態とすると共に、起動要求のなされたアプリケーションの実行を開始する。
【0085】
「動作側終了」→現在実行中のアプリケーションを終了して、起動要求のなされたアプリケーションの実行を開始する。
【0086】
これら各状態は、
「起動不可」>「割込側待機」>「動作側待機」>「動作側終了」
の順に優先度が割り当てられている。
【0087】
アプリケーション管理ブロック64は、実行中のアプリケーションの現在の状態、及び競合したアプリケーションの現在の状態に基づいて上記競合条件テーブルを参照して、実行中のアプリケーション及び競合したアプリケーションの遷移させるべき状態(上記起動不可,割込側待機,動作側待機,動作側終了等)をそれぞれ検出する。
【0088】
そして、アプリケーション制御ブロック65が、このアプリケーション管理ブロック64により検出された上記実行中のアプリケーションの遷移させるべき状態及び競合したアプリケーションの遷移させるべき状態の上記優先度に基づいて、該実行中のアプリケーションの状態を上記検出された遷移させるべき状態に遷移させ、また、該競合したアプリケーションの状態を上記検出された遷移させるべき状態に遷移させる。
【0089】
このような流れを、図6のフローチャートを用いて説明すると、アプリケーション管理ブロック64は、ステップS5において、起動要求のなされたアプリケーション(割込側アプリケーション)の起動は不可であるか否かを、上記競合チェックにより判別する。
【0090】
上記競合チェックにより、割込側アプリケーションの起動は不可であると判別した場合、割込側アプリケーションを起動することはできないため、アプリケーション管理ブロック64は、ステップS10において上記起動要求のなされたアプリケーションの該起動要求をキャンセルする。
【0091】
これに対して、上記競合チェックにより、割込側アプリケーションの起動は可能であると判別した場合、アプリケーション管理ブロック64は、この割込側アプリケーションの判別結果(アプリケーションID,アプリケーション名,タスクID,状態等)を一旦「仮リスト」に登録する。
【0092】
なお、この「仮リスト」に登録された上記判別結果は、アプリケーションリスト63に登録されている全てのアプリケーションに対して上記競合チェックが終了するまでの間、保持される。また、この仮リストは、上記メモリ13の所定領域、或いはCPU12内の一時記憶領域等に形成される。
【0093】
アプリケーション管理ブロック64は、アプリケーションリスト63に登録されている全てのアプリケーションに対して上記競合チェックが終了すると、上記仮リストに登録されている各アプリケーションの遷移させるべき状態をそれぞれ検出する。そして、前述のように「起動不可」>「割込側待機」>「動作側待機」>「動作側終了」となっている「状態の優先度」に基づいて、競合する各アプリケーションの遷移させるべき状態を決定し、この結果を上記アプリケーションリスト63に反映する。
【0094】
この結果、図8に示すように実行中の各アプリケーションの「アプリケーション識別番号(アプリケーションID)」,「アプリケーション名」,「タスク識別番号(タスクID)」,「状態」等からなる実行リスト61、及び図9に示すように実行待ちの各アプリケーションの「アプリケーション識別番号(アプリケーションID)」,「アプリケーション名」,「タスク識別番号(タスクID)」,「状態」等からなる実行待ちリスト62が、アプリケーションリスト63内に形成されることとなる。
【0095】
なお、この図8及び図9に示す「状態」としては、上記決定されたそのアプリケーションの「遷移させるべき状態」を示す情報が登録され、例えば電話アプリケーションの場合は、上記接続状態,通話状態,保留状態・・・等に対応する情報が登録される。
【0096】
また、実行リスト61及び実行待ちリスト62に登録されるアプリケーションの数は、一つとは限らず、複数のアプリケーションが並行して実行され或いは実行待ちとなっている場合は、この複数のアプリケーションに対応する上記「アプリケーションID」や「アプリケーション名」等が登録される。
【0097】
図6のフローチャートのステップS1,ステップS2及びステップS4〜ステップS9の流れは、アプリケーションリスト63に登録されている全てのアプリケーションに対する競合チェックが終了するまでの間、競合チェックの結果を仮リストに登録する動作を繰り返し実行し、アプリケーションリスト63に登録されている全てのアプリケーションに対する競合チェックが終了した際に、この仮リストの登録内容をアプリケーションリスト63に反映する動作の流れを示している。
【0098】
次に、このようにしてアプリケーションリスト63に上記仮リストの結果が反映されると、アプリケーション制御ブロック65は、ステップS10において、アプリケーションリスト63の実行リスト61に登録されたアプリケーションを実行状態に遷移させると共に、実行待ちリスト62に登録されたアプリケーションを実行待ち状態に遷移させる。
【0099】
この後、アプリケーションマネージャ25は、「アプリケーションの起動要求」,「実行中のアプリケーションの終了」,「実行中のアプリケーションの状態の遷移」の検出待ちの状態となる。そして、これらいずれかが検出されたタイミングで、再度、この図6に示すフローチャートを実行することとなる。
【0100】
(電話アプリケーションが実行中の場合の競合管理)
このような動作を、図7の例を用いてさらに具体的に説明する。前述のように、この図7は、現在実行中のアプリケーションとして電話アプリケーションが実行されている場合に参照される競合条件テーブルの一例である。
【0101】
例えば、現在実行中の電話アプリケーションの状態が接続中(第1の状態)であるにもかかわらず、さらに電話アプリケーションの起動要求がなされた場合、競合条件テーブル26を参照すると、電話アプリケーションを重ねて起動しないことが好ましいことから、図7に示すように「起動不可」となっている。
【0102】
このため、アプリケーション制御ブロック65は、この場合、起動要求のあった電話アプリケーションの該要求をキャンセルし、現在実行中の電話アプリケーションを継続して実行制御する。
【0103】
これに対して、現在実行中の電話アプリケーションが接続中の状態(第1の状態)で、電子メール(Eメール)の作成要求(或いは送信要求)がなされた場合、競合条件テーブル26を参照すると「割込側待機」となっている。このため、アプリケーション管理ブロック64は、起動要求のなされたEメールのアプリケーション(この場合、Eメールのアプリケーションは、割り込み側のアプリケーションとなる。)を上記実行待ちリスト62に登録して実行待ち状態とする。
【0104】
同様に、現在実行中の電話アプリケーションが通話中の状態(第2の状態)で、動画プレーヤの起動要求がなされた場合、競合条件テーブル26を参照すると「起動可能」となっている。このため、アプリケーション管理ブロック64は、動画プレーヤのアプリケーションを上記実行リスト61に登録する。これにより、アプリケーション制御ブロック65は、上記現在実行中の電話アプリケーション、及び上記動画プレーヤのアプリケーションを並行して実行制御することとなる。
【0105】
同様に、現在実行中の電話アプリケーションが接続中の状態(第1の状態)で、アドレス帳の起動要求がなされた場合、競合条件テーブル26を参照すると、「動作側待機」となっている。このため、アプリケーション管理ブロック64は、実行リスト61に登録されている現在実行中の電話アプリケーションを実行待ちリスト62に登録し直すと共に、代わって実行リスト61にアドレス帳のアプリケーションを新たに登録する。
【0106】
これにより、アプリケーション制御ブロック65は、それまで実行していた電話アプリケーションを実行待ち状態に遷移させ、起動要求のなされたアドレス帳を起動して実行制御することとなる。
【0107】
なお、この具体例の説明では、アプリケーション管理ブロック64は、競合条件テーブル26を用いた検出結果に基づいて、アプリケーションリスト63の登録内容を直接的に書き換えるが如く説明を行った。勿論、直接的に書き換えを行ってもよいのであるが、この実施の形態の場合は、上記「仮リスト」に判定結果を一旦記憶し、全てのアプリケーションの判定が終了したタイミングで、該仮リストの内容をアプリケーションリスト63に反映させることは、前述のとおりである。
【0108】
(アドレス帳及び電話が競合した場合の競合管理)
次に、図10及び図11のシーケンス図(タイムチャート)を用いて、このような競合管理処理をさらに具体的に説明する。
【0109】
まず、図10は、先にアドレス帳のアプリケーションが起動されており、後から電話アプリケーションの起動要求があった場合における競合管理処理の流れを示している。
【0110】
なお、このアドレス帳のアプリケーションは、メモリ13の所定領域に設けられたアドレス帳の記憶領域に対して、通話先の携帯電話番号や携帯メールアドレス等の登録や削除等の編集を行うアプリケーションである。
【0111】
この図10において、ステップS11でアプリケーションランチャーからアプリケーションマネージャ25に対して電話アプリケーションの起動要求があった場合、アプリケーションマネージャ25のアプリケーション管理ブロック64は、ステップS12において、図7の例を用いて説明した競合条件テーブル26を参照し、前述の「競合チェック」を行う。
【0112】
この競合チェックにより、アドレス帳のアプリケーションを実行待ち状態とし、電話アプリケーションを起動させる競合チェックの結果(=動作側待機)が得られた場合、アプリケーション管理ブロック64は、アプリケーション制御ブロック65に対して、現在実行中のアドレス帳のアプリケーションの「待機要求」を送信する。
【0113】
この「待機要求」を受信すると、アプリケーション制御ブロック65は、ステップS13に示すように、現在実行制御しているアドレス帳のアプリケーションに待機要求を送信することで、該アドレス帳のアプリケーションを待機状態に制御する。
【0114】
アドレス帳のアプリケーションは待機状態となると、ステップS14に示すように「待機完了」のデータを、アプリケーション制御ブロック65を介してアプリケーション管理ブロック64に送信する。
【0115】
次に、アプリケーション管理ブロック64は、この「待機完了」のデータを受信すると、アプリケーション制御ブロック65に対して電話アプリケーションの起動要求を送信する。この起動要求を受信すると、アプリケーション制御ブロック65は、ステップS15に示すように電話アプリケーションに対して起動要求を送信し、該電話アプリケーションを起動制御する。
【0116】
なお、起動が完了すると、ステップS16に示すように電話アプリケーション側からアプリケーション管理ブロック64に対して「起動完了通知」がなされる。
【0117】
次に、電話アプリケーションの実行が進行し、通話の終了等により電話アプリケーションの実行が終了すると、ステップS17に示すように電話アプリケーション側からアプリケーション管理ブロック64に対して「終了通知」がなされる。
【0118】
次に、この終了通知を受信すると、アプリケーション管理ブロック64は、ステップS18において、アプリケーションリスト63に登録されている実行中のアプリケーション及び実行待ちのアプリケーションを参照し、前述の競合チェックを行う。そして、この競合チェックにより、先程、待機状態としたアドレス帳のアプリケーションを起動させてもよい場合に、アプリケーション制御ブロック65に対してアドレス帳のアプリケーションの起動要求を送信する。
【0119】
アプリケーション制御ブロック65は、この起動要求を受信すると、ステップS19に示すように先程、待機状態としたアドレス帳のアプリケーションを再実行制御する。この再実行制御によりアドレス帳のアプリケーションが再び実行状態に遷移すると、このアドレス帳のアプリケーションからアプリケーション管理ブロック64に対して「起動完了通知」がなされる。
【0120】
これにより、アドレス帳の編集作業等に割り込むかたちで電話アプリケーションが実行され、終話後に、再度、アドレス帳のアプリケーションが実行され、アドレス帳の編集作業等が行われることとなる。
【0121】
(Eメール及び電話が競合した場合の競合管理)
次に、図11は、先に電話アプリケーションが起動されており、後からEメールのアプリケーションの起動要求があった場合における競合管理処理の流れを示している。
【0122】
なお、このEメールのアプリケーションは、携帯メールの送受信,送受信した携帯メールの削除等の編集や携帯メールの作成等を行うアプリケーションである。
【0123】
この図11において、ステップS21でアプリケーションランチャーからアプリケーションマネージャ25に対してEメールのアプリケーションの起動要求があった場合、アプリケーションマネージャ25のアプリケーション管理ブロック64は、ステップS22において、上記競合条件テーブル26を参照し、前述の「競合チェック」を行う。
【0124】
この競合チェックにより、起動要求のなされたEメールのアプリケーションを実行待ち状態とし、電話アプリケーションを継続して実行する競合チェックの結果(=割込側待機)が得られた場合、アプリケーション管理ブロック64は、アプリケーション制御ブロック65に対して、起動要求のなされたEメールのアプリケーションの「待機要求」を送信する。
【0125】
アプリケーション制御ブロック65は、この「待機要求」を受信すると、ステップS23において、起動要求のなされたEメールのアプリケーションを待機状態に制御すると共に、現在実行制御している電話アプリケーションを継続して実行制御する。
【0126】
次に、電話アプリケーションの実行が進行し、通話の終了等により電話アプリケーションの実行が終了すると、ステップS24に示すように電話アプリケーション側からアプリケーション管理ブロック64に対して「終了通知」がなされる。
【0127】
この終了通知を受信すると、アプリケーション管理ブロック64は、ステップS25において、アプリケーションリスト63に登録されている実行中のアプリケーション及び実行待ちのアプリケーションを参照し、前述の競合チェックを行う。そして、この競合チェックにより、先程、待機状態としたEメールのアプリケーションを起動させてもよい場合に、アプリケーション制御ブロック65に対してEメールのアプリケーションの起動要求を送信する。
【0128】
アプリケーション制御ブロック65は、この起動要求を受信すると、ステップS26に示すように先程、待機状態としたEメールのアプリケーションを起動制御する。これにより、終話後に、Eメールの送受信や作成等が行われることとなる。
【0129】
なお、ステップS27に示すように、Eメールのアプリケーションの起動が完了すると、該Eメールのアプリケーションからアプリケーション管理ブロック64に対して「起動完了通知」がなされる。
【0130】
[実施の形態の効果]
以上の説明から明らかなように、当該実施の形態の携帯電話機は、アプリケーションマネージャ25が、現在実行中のアプリケーションを、アプリケーションリスト63の実行リスト61に登録し、実行待ちとなっているアプリケーションを実行待ちリスト62に登録する。
【0131】
そして、「アプリケーションの起動要求を受け付けた際」,「実行中のアプリケーションの終了を検出した際」,「実行中のアプリケーションの状態遷移を検出した際」等に、実行リスト61及び実行待ちリスト62を参照して、実行するアプリケーション及び実行待ちさせるアプリケーションを決定して、マルチタスク処理における各アプリケーションの競合管理を行う。これにより、以下の効果を得ることができる。
【0132】
実行中のアプリケーションの現在の状態の他、実行待ちとなっているアプリケーションの状態を参照し、実行中のアプリケーション及び実行待ちのアプリケーションを総合的に判断して、実行するアプリケーション及び実行待ちとするアプリケーションを決定するようになっている。
【0133】
このため、実行待ちとなっているアプリケーションの実行の再開を保証することができる。
【0134】
また、従来のアプリケーションの競合管理は、例えば表計算ソフトウェアの実行中にユーザから文書作成ソフトウェアの実行指示があった場合、この実行指示を優先して文書作成ソフトウェアの立ち上げを行うようになっている。
【0135】
しかし、当該実施の形態の携帯電話機の場合、実行中のアプリケーション及び実行待ちのアプリケーションを総合的に判断して、実行するアプリケーション及び実行待ちとするアプリケーションを決定するようになっているため、ユーザから実行指示がなされた場合でも、表計算ソフトウェアが所定の実行状態の場合は、文書作成ソフトウェアが起動しないようにすることができる。従って、より細かなアプリケーションの競合管理を可能とすることができる。
【0136】
また、実行するアプリケーション及び実行待ちとするアプリケーションは、アプリケーションマネージャ25が、アプリケーションリスト63及び競合条件テーブル26を参照して決定するようになっている。すなわち、そのアプリケーションの実行の是非は、アプリケーションマネージャ25が判断するようになっている。
【0137】
このため、アプリケーションをプログラミングする際に、他のアプリケーションとの競合関係を考慮することなくプログラミングを行うことを可能とすることができる。
【0138】
さらに、このように他のアプリケーションとの競合関係を考慮することなくプログラミングを行うことを可能とすることができるため、あるアプリケーションに仕様変更が生じた場合は、そのアプリケーションに対してのみ、仕様変更を加えればよいこととなる。
【0139】
このため、あるアプリケーションに仕様変更が生じた場合に、他の全てのアプリケーションに対しても、この仕様変更に対応した仕様変更を加え、多数のアプリケーションの再プログラミング作業や再インストール作業(アプリケーションの設計及び実装の変更作業)等の大変面倒な作業が必要となる不都合を防止することができる。
【0140】
そして、当該実施の形態の携帯電話機は、このようにアプリケーションのプログラミングを行う際に、他のアプリケーションの競合関係を考慮しなくてもよいため、ソフトウェアの開発を大幅に簡単化することができる。
【0141】
〔他の適用分野〕
上述の実施の形態の説明では、本発明を、携帯電話機に適用することとしたが、本発明はこの他、PHS電話機(PHS:Personal Handyphone System)やPDA装置(PDA:Personal Digital(Data) Assistant)等の移動体通信端末装置の他、パーソナルコンピュータ装置等の端末装置に適用してもよい。
【0142】
また、上述の実施の形態の説明では、アプリケーションの競合管理を行うようにしたが、これは、タスク毎の競合管理を行うようにしてもよい。
【0143】
最後に、上述の実施の形態は本発明の一例である。このため、本発明は、上述の実施の形態に限定されることはなく、該実施の形態以外であっても、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能であることは勿論であることを付け加えておく。
【0144】
【発明の効果】
本発明は、実行待ちとなっているタスクの実行の再開を保証することができる。
【0145】
また、タスクのプログラミングを行う際に、他のタスクとの競合関係を考慮することなくプログラミングを行うことを可能とすることができる。
【0146】
また、他のタスクとの競合関係を考慮することなくプログラミングが可能となるため、あるタスクに仕様変更が生じた場合は、そのタスクに対してのみ、仕様変更を加えればよいこととなる。
【0147】
このため、あるタスクに仕様変更が生じた場合に、他の全てのタスクに対して、この仕様変更に対応した仕様変更を加える必要が生じ、多数のタスクの再プログラミング作業や再インストール作業(タスクの設計及び実装の変更作業)等の大変面倒な作業が発生する不都合を防止することができる。
【0148】
そして、このようにタスクのプログラミングを行う際に、他のタスクの競合関係を考慮しなくてもよいため、ソフトウェアの開発を大幅に簡単化することができる。
【図面の簡単な説明】
【図1】本発明を適用した実施の形態となる携帯電話機の全体的なブロック図である。
【図2】実施の形態の携帯電話機の主要部の機能ブロック図である。
【図3】実施の形態の携帯電話機で実行される各アプリケーションの機能ブロック図である。
【図4】実施の形態の携帯電話機に設けられているアプリケーションマネージャの機能ブロック図である。
【図5】各アプリケーションの状態遷移を説明するための模式図である。
【図6】実施の形態の携帯電話機に設けられているアプリケーションマネージャのアプリケーションの競合管理動作を説明するためのフローチャートである。
【図7】実施の形態の携帯電話機に設けられている競合条件テーブルの一例を示す図である。
【図8】アプリケーションマネージャのアプリケーションリストに設けられている実行リストを示す図である。
【図9】アプリケーションマネージャのアプリケーションリストに設けられている実行待ちリストを示す図である。
【図10】アドレス帳のアプリケーションの実行中に、電話アプリケーションの実行要求があった場合におけるアプリケーションマネージャの競合管理動作を説明するためのタイムチャートである。
【図11】電話アプリケーションの実行中に、Eメールのアプリケーションの実行要求があった場合におけるアプリケーションマネージャの競合管理動作を説明するためのタイムチャートである。
【符号の説明】
12…制御部(CPU)、21…ハードウェア群、22…ドライバ群、23…オペレーションシステム(OS)、24…アプリケーション群、25…アプリケーションマネージャ、26…競合条件テーブル、60…コミュニケーションブロック、61…実行リスト、62…実行待ちリスト、63…アプリケーションリスト、64…アプリケーション管理ブロック、65…アプリケーション制御ブロック
【発明の属する技術分野】
本発明は、例えば携帯電話機,PHS電話機(PHS:Personal Handyphone System),PDA装置(PDA:Personal Digital(Data) Assistant),パーソナルコンピュータ装置等の端末装置に設けて好適な競合管理プログラム,競合管理プログラムが記憶された記憶媒体,競合管理方法及び電子機器に関する。
【0002】
【従来の技術】
今日における携帯電話機は、シングルタスクのかたちでアプリケーションの実行管理を行うのが一般的である。
【0003】
例えば、一方のアプリケーションの実行中に、他方のアプリケーションの実行指示があった場合、これら各アプリケーションの優先度をそれぞれ検出し、優先度の低いアプリケーションを強制的に終了させ、代わりに優先度の高いアプリケーションを起動することで、該アプリケーションの競合管理を行うようになっている。
【0004】
具体的には、例えば電子メールの作成中に着呼があった場合、電子メールを作成するアプリケーションよりも、着呼を処理するアプリケーションの方が優先度が高いため、電子メールを作成するアプリケーションを強制的に終了させ、着呼を処理するアプリケーションを起動して着呼の処理を行う。これにより、電子メールの作成は中止され、着呼が優先して処理されることとなる。
【0005】
これに対して、携帯電話機よりも情報処理能力(パフォーマンス)の高いパーソナルコンピュータ装置の場合、マルチタスクのかたちでアプリケーションの実行管理を行うのが一般的である。
【0006】
このパーソナルコンピュータ装置においては、アプリケーションの競合が生じた場合、以下のいずれかの方法で競合管理を行うようになっている。
【0007】
まず、第1の競合管理方法として、オペレーティングシステム(OS)が、実行中のアプリケーションの現在の状態にかかわらず、該実行中のアプリケーションの優先度を変更し(優先度を下げ)、後から実行が指定されたアプリケーションを優先して実行する競合管理を行う方法である。
【0008】
具体的には、例えば表計算ソフトウェアの実行中に、ユーザから文書作成ソフトウェアの立ち上げが指示された場合、OSは、表計算ソフトウェアのアプリケーションを待機状態とし、文書作成ソフトウェアのアプリケーションを優先して起動する。これにより、表計算ソフトウェアによる表作成を中断した状態で、文書作成ソフトウェアによる文書作成が可能となる。
【0009】
次に、第2の競合管理方法として、アプリケーションのプログラミングの段階で競合する他のアプリケーションを予測し、競合が生じた場合、アプリケーション同士で通信を行い、一方のアプリケーションが他方のアプリケーションの状態に応じて優先度を変更するように、該アプリケーションをプログラミングしておくことで競合管理を行う方法である。
【0010】
この第2の競合管理方法においては、競合したアプリケーション同士の通信で優先順位が決まるため、各アプリケーションが自己的に競合管理を行うこととなる。
【0011】
なお、特表2003−504753号の公表特許公報に、このようなアプリケーション管理に関する先行技術が開示されている。
【0012】
【特許文献】
特表2003−504753号公報
【0013】
【発明が解決しようとする課題】
ここで、上述のように、現行における携帯電話機は、シングルタスクのかたちでアプリケーションの競合管理を行っているのであるが、将来的にマルチタスクのかたちでアプリケーションの実行管理を行うことが予測される。
【0014】
しかし、前述の第1の管理方法或いは第2の管理方法で競合管理を行うようにすると以下の問題を生ずる。
【0015】
すなわち、上記第1の競合管理方法で競合管理を行うと、OSがアプリケーションの現在の状態を認識することなく後先のかたちでアプリケーションが実行されることとなるため、後から実行指示のなされたアプリケーションの実行が終了し、待機状態となっていたアプリケーション(=先に実行されていたアプリケーション)の実行が再開される際に、該待機状態となっていたアプリケーションが正常に動作しないことが懸念される(待機状態とされたアプリケーションの動作保証が無い。)。
【0016】
また、上記第2の競合管理方法で競合管理を行う場合には、予め競合するアプリケーションを全て予測してアプリケーションのプログラミングを行う必要がある。このような予測は、アプリケーション数が増え、また、システムが複雑化する程困難となる。
【0017】
また、上記第2の競合管理方法で競合管理を行うこととすると、アプリケーションに仕様変更が生じた場合には、他の全てのアプリケーションも、この仕様変更に対応した仕様変更が必要となり、多数のアプリケーションの再プログラミング作業や再インストール作業(アプリケーションの設計及び実装の変更作業)等の大変面倒な作業が必要となることが懸念される。
【0018】
マルチタスクを可能とする従来の競合管理方法は、このようなことを考慮する必要があったため、ソフトウェアの開発を困難なものとする問題があった。
【0019】
本発明は、上述の課題に鑑みてなされたものであり、待機状態としたアプリケーションの動作を保証すること、競合するアプリケーションを考慮することなくアプリケーションのプログラミング(設計)を可能とすること、仕様変更が生じた場合でも他のアプリケーションの仕様変更を必要としないことを通じてソフトウェアの開発を容易化可能な競合管理プログラム,競合管理プログラムが記憶された記憶媒体,競合管理方法及び電子機器の提供を目的とする。
【0020】
【課題を解決するための手段】
本発明は、実行要求受付手段がタスクの実行要求を受け付けた際に、競合検出手段が、起動中のタスクが登録されている起動中タスクリストを参照して、タスク同士の競合の有無を検出する。
【0021】
上記競合検出手段で上記タスク同士の競合が検出されると、遷移状態決定手段が、該競合する各タスクの遷移すべき状態が記憶された競合条件テーブルを参照して、上記実行要求がなされたタスク、及び上記起動中タスクリストに登録されているタスクの遷移させるべき状態をそれぞれ決定する。
【0022】
そして、上記実行要求がなされたタスク、及び上記起動中タスクリストに登録されているタスクの状態を、状態遷移手段が、上記遷移状態決定手段で決定された状態にそれぞれ遷移させる。
【0023】
なお、ここでいう「タスク」の概念は、アプリケーションの他、コンピュータが情報処理を行う際に実行する全てのタスクを含む概念である。
【0024】
また、「起動中のタスク」の概念は、現在実行されているタスク、及び起動されてはいるが、現在、実行待ちとされているタスクの両方を含む概念である。
【0025】
【発明の実施の形態】
本発明は一例として、携帯電話機に適用することができる。この本発明の実施の形態となる携帯電話機は、いわゆるホームメモリ機能,位置登録機能,追跡交換機能(自動追跡ルーチン)及びハンドオーバ機能等を備えた移動体通信システムで用いられるものである。
【0026】
この移動体通信システムのサービスエリアには、複数の基地局が分散配置されており、これらの基地局によりそれぞれセルと呼ばれる無線通信エリアが形成されている。各基地局は、自局の無線通信エリア内に位置する各携帯電話機に対して無線チャンネルを割り当て、この無線チャンネルを介して各携帯電話機と通信を行い、該各携帯電話機とそれぞれ同期をとるようになっている。
【0027】
また、この移動体通信端末システムは、通信中に携帯電話機がセル間を移動した場合、移動前のセルの基地局から移動後のセルの基地局に、通信に用いる基地局を切り替える、いわゆるハンドオーバを行って移動しながらの通信を可能としている。
【0028】
図1は、CDMA方式(CDMA:Code Division Multiple Access)の移動体通信システムで用いられる当該第1の実施の形態の携帯電話機の全体的なブロック図である。
【0029】
[受信動作]
この図1において、基地局から送信された無線周波信号は、アンテナ1で受信され、アンテナ共用器2(DUP)を介して受信回路3(RX)に供給される。RX3は、上記無線周波信号と、周波数シンセサイザ4(SYN)から供給された受信局部発振信号とをミキシング処理し、該無線周波信号を中間周波信号に周波数変換処理する。
【0030】
なお、SYN4から出力される受信局部発振信号の周波数は、制御部12(CPU)からの制御信号(SYC)により設定される。
【0031】
上記受信中間周波信号は、CDMA信号処理部6において、直交復調処理が施されたのち、受信チャネルに割り当てられた拡散符号(PN符号)により逆拡散処理され、これによりデータレートに応じた所定のフォーマットの復調データに変換される。そして、この変換された復調データはデータ符号処理部7に供給され、また上記受信データのうちデータレートを示す受信データレートはCPU12に供給される。
【0032】
データ符号処理部7は、上記CDMA信号処理部6から供給された復調データに対し、CPU12から通知される受信データレートに応じた伸長処理を施した後、ビタビ復号等を用いた復号処理及び誤り訂正復号処理を施し、ベースバンドの受信データを形成する。
【0033】
PCM符号処理部8は、音声信号通信の種別(音声通信、データ通信)に応じて異なる信号処理を行なうように、CPU12により制御される。
【0034】
具体的には、音声通信時には、PCM符号処理部8は、データ符号処理部7から供給された受信データをPCM復号処理してアナログ受話信号を形成する。このアナログ受話信号は、受話増幅器9にて増幅された後、スピーカ10を介して拡声出力される。
【0035】
また、データ通信時には、PCM符号処理部8は、データ符号処理部7からの受信データをCPU12へ供給する。CPU12は、この受信データをメモリ13に記憶制御する。また必要に応じて、上記受信データを、外部インタフェースを介して、携帯情報端末装置(PDA:Personal Digital Assistance)やノート型のパーソナルコンピュータ装置へ出力する。
【0036】
[送信動作]
次に、音声通信時における話者の送話音声は、マイクロホン11により集音され、送話増幅器18で適正レベルに増幅される。そして、PCM符号処理部8でPCM符号化処理が施された後、送信データとしてデータ符号処理部7に供給される。
【0037】
なお、上記外部インタフェースを介して、例えば上記PDA,ノート型のパーソナルコンピュータ装置,カメラ装置等の外部機器からデータや画像データ等が供給された場合、これらのデータは、CPU12に供給され、このCPU12からPCM符号処理部8を介してデータ符号処理部7に供給される。
【0038】
データ符号処理部7は、音声通信時には、PCM符号処理部8から供給された送信音声データに基づいて入力音声のエネルギ量を検出し、この検出結果に基づいてデータレートを決定する。そして、上記送信データをこの決定したデータレートに応じたフォーマットのバースト信号に圧縮処理し、さらに誤り訂正符号化処理を施したのちCDMA信号処理部6に供給する。
【0039】
また、データ通信時には、データ符号処理部7は、PCM符号処理部8から供給された送信データを、予め設定されたデータレートに応じたフォーマットのバースト信号に圧縮処理し、さらに誤り訂正符号化処理を施してCDMA信号処理部6に供給する。
【0040】
なお、音声通信時及びデータ通信時のいずれの場合も、上記データレートである送信データレートを示す情報は、CPU12に供給される。
【0041】
CDMA信号処理部6は、データ符号処理部7で圧縮されたバースト信号に対して、送信チャネルに割り当てられたPN符号を用いた拡散処理を施す。そしてこの拡散符号化された送信信号に対して直交変調処理を施し、この直交変調信号を送信回路5(TX)に供給する。
【0042】
送信回路5は、この直交変調信号を、SYN4から供給される送信局部発振信号とミキシング処理することで無線周波信号に変換する。そして、送信回路5は、CPU12により設定される送信データレートに基づいて、上記無線周波信号の有効部分だけを高周波増幅処理し、送信無線周波信号として、DUP2を介してアンテナ1に供給する。これにより、この送信無線周波信号が、アンテナ1から基地局に対してバースト送信されることとなる。
【0043】
なお、操作部14(KEY)には、ダイヤルキー、発信キー、電源キー、終了キー、音量調節キー、モード指定キー等のキー群が設けられている。
【0044】
また表示部15(LCD)には、通話相手端末の電話番号や装置の動作状態、さらには受信データ等を表示するための液晶表示部の他、発信/着信動作や充電池16(バッテリ)の充電動作等を示す発光部(LED等)が設けられている。
【0045】
また、電源回路17は、バッテリ16に蓄電されている電力に基づいて、所定の動作電源電圧Vccを形成し、これを当該携帯電話機の各回路部に供給するようになっている。
【0046】
[主要部の構成]
次に、図2に当該実施の形態の携帯電話機の主要部の構成を示す。この図2からわかるように、当該実施の形態の携帯電話機は、上記CPU12により動作制御されるハードウェア群21と、このハードウェア群21の各ハードウェアに対応する複数のドライバからなるドライバ群22と、オペレーションシステム23(OS)と、複数のアプリケーションからなるアプリケーション群24と、アプリケーションの競合管理を行うアプリケーションマネージャ25と、各アプリケーションの動作状態毎に、競合したアプリケーションの起動の是非等を示す情報が記憶された競合条件テーブル26とを有している。
【0047】
ハードウェア群21は、上記操作部14及び上記表示部15と、上記DUP2,RX3,CDMA信号処理部6,データ符号処理部7等の通信システム30と、携帯カメラ装置31と、発光部(LED)や音声デバイス等の他のハードウェア32と、上記メモリ13等のメモリ/ファイルシステム33とを有している。
【0048】
ドライバ群22は、上記表示部15を駆動制御するLCDドライバ34(LCD Task/Driver)と、上記操作部14を駆動制御するキードライバ35(KEY Driver)と、上記通信システムを駆動制御する通信ドライバ36と、上記携帯カメラ装置31を駆動制御するカメラドライバ37(Camera Driver)と、上記他のハードウェアを駆動制御する他のハードウェアのドライバ38と、上記メモリ/ファイルシステム33を駆動制御するメモリ/ファイルシステムドライバ39とを有している。
【0049】
アプリケーション群24は、各アプリケーションが共用するデータ群であるライブラリ40(Libraries)と、ウインドウマネージャ41(Window Manager)と、各アプリケーションの基本データ群となるアプリケーションフレームワーク42(Application Frame work)と、例えば電話アプリケーション(Tel App)や時計アプリケーション(Clock),スクリーンセーバー(Screen Saver),アプリケーションランチャー(App Launcher)等の各アプリケーション43とを有している。
【0050】
なお、この図2における「App1」,「App2」は、ユーザ定義の任意のアプリケーションを示している。
【0051】
また、この図2において、CPU12,操作部14,表示部15,通信システム30,携帯カメラ装置31,他のハードウェア32及びメモリ/ファイルシステム33がそれぞれ「ハードウェア」であるのに対し、OS23〜競合条件テーブル26は、それぞれ「ソフトウェア」となっており、例えば図1に示すメモリ13に格納されている。
【0052】
(各アプリケーションの機能構成)
次に、図3に上記アプリケーション群24の各アプリケーション43の機能ブロック図を示す。この図3に示すように、アプリケーション43は、当該アプリケーションのインターフェイスとなるコミュニケーションブロック50と、上記アプリケーションマネージャ25との間で、上記コミュニケーションブロック50を介して通信を行うシステム制御ブロック51と、例えば電話通信や携帯メールの作成等の、そのアプリケーションの動作を行うブロックであるユーザ制御ブロック52とを有している。
【0053】
後に説明するが、このアプリケーションは、システム制御ブロック51がアプリケーションマネージャ25との間で通信を行うことで、該アプリケーションマネージャ25により動作状態(起動,起動待機等)が制御されるようになっている。
【0054】
(アプリケーションマネージャの機能構成)
次に、図4にアプリケーションマネージャ25の機能ブロック図を示す。この図4に示すように、アプリケーションマネージャ25は、当該アプリケーションマネージャ25のインターフェイスとなるコミュニケーションブロック60と、実行中のアプリケーションを示すデータが格納される実行リスト61及び実行待ちとなっているアプリケーションを示すデータが格納される実行待ちリスト62を備えたアプリケーションリスト63とを有している。
【0055】
また、このアプリケーションマネージャ25は、上記アプリケーションリストに格納されている各リスト61,62に基づいてアプリケーションの競合管理を行うアプリケーション管理ブロック64と、このアプリケーション管理ブロック64の競合管理に対応して各アプリケーションの起動,終了,状態遷移等を制御するアプリケーション制御ブロック65とを有している。
【0056】
(アプリケーションマネージャの動作概要)
このようなアプリケーションマネージャ25は、各アプリケーションが競合した場合に、各アプリケーションの優先順位や現在の状態等に応じて、実行するアプリケーション、起動するアプリケーション、起動待ちとするアプリケーション、実行待機とするアプリケーションをそれぞれ決定し、それぞれ対応する上記リスト61,62に登録する。
【0057】
そして、登録したアプリケーションの状態や新たなアプリケーションの起動要求等の状況の変化があった場合に、その現状に対応して上記各リスト61,62を再構築し、この各リスト61,62を参照しながら各アプリケーションの競合管理を行う。
【0058】
(アプリケーションの状態の遷移)
すなわち、もう少し詳しく説明するために、図5に、各アプリケーションの各状態を模式的に示す。この図5からわかるように、各アプリケーションの状態としては、例えば当該携帯電話機内に記憶されていない状態(或いはアプリケーションが記憶されたメモリが当該携帯電話に設けられていない状態)である「非存在状態(Non−Existent)」と、アプリケーション自体は記憶されているのであるが、実行が指定されていない状態である「不活性状態(Dormant)」とがある。
【0059】
また、各アプリケーションの状態としては、そのアプリケーションが現在、実行されている状態である「実行状態」、及びそのアプリケーションが実行待ちとなっている状態である「実行待ち状態」とがある。
【0060】
当該携帯電話機に設けられていないアプリケーションは、例えば当該携帯電話機にインストールされ、或いはそのアプリケーションが記憶されたメモリが当該携帯電話機に設けられることで、図5中「生成」として示すように、「不活性状態(当該携帯電話機内に存在しているのであるが、実行或いは実行の指示が無く休眠している状態)」となる。
【0061】
この「不活性状態」のアプリケーションは、例えばユーザや他のアプリケーションからの実行指示があった場合、図5中「起動」或いは「待機起動」として示すように、上記「実行状態」或いは「実行待ち状態」のいずれかの状態に遷移する。
【0062】
アプリケーションマネージャ25は、この「不活性状態」のアプリケーションを「実行状態」に遷移させた場合は、上記実行リスト61に、その実行状態としたアプリケーションを登録する。
【0063】
また、アプリケーションマネージャ25は、この「不活性状態」のアプリケーションを「実行待ち状態」に遷移させた場合は、上記実行待ちリスト62に、その実行待ち状態としたアプリケーションを登録する。
【0064】
次に、実行状態とされたアプリケーションは、その動作状況等に応じてその状態が遷移する。
【0065】
一例ではあるが、上記アプリケーションが電話アプリケーションの場合、
通話先とのコネクションを確立するための処理を行う接続状態、
コネクションが確立された後に通話中の音声の処理等を行う通話状態、
通話中に該通話の保留が指定された場合に、通話の保留処理を行う保留状態、
通話の終了が指定された場合に、確立されているコネクションを切断処理する切断状態
等のように、通話の開始から終了までの間、アプリケーションの状態が変化する。
【0066】
図5中の実行状態における第1〜第4の状態及び相互の矢印は、このような実行中のアプリケーションの状態の遷移を示している。
【0067】
上記アプリケーションマネージャ25は、「アプリケーションの起動要求を受け付けた際」,「実行中のアプリケーションの終了を検出した際」,「実行中のアプリケーションの状態遷移を検出した際」に、上記実行リスト61及び上記実行待ちリスト62に登録されているアプリケーションを参照し、各アプリケーションの「優先度」及び「状態」に応じて、例えば実行中のアプリケーションを待機状態とし、代わりに実行待ち状態のアプリケーションや新たに起動要求のなされたアプリケーションを実行状態し、或いは新たに起動要求のなされたアプリケーションは起動せずに起動待機状態とする等のように競合管理を行う。
【0068】
なお、実行が終了したアプリケーションは、図5に「終了」として示すように前述の「不活性状態」に遷移する。また、「不活性状態」のアプリケーションは、削除されると、前述のように携帯電話機内に存在しない状態である「非存在状態」となる。
【0069】
[アプリケーションマネージャの競合管理動作]
次に、このようなアプリケーションマネージャ25の競合管理動作を、図6のフローチャートを用いて説明する。
【0070】
この図6のフローチャートは、アプリケーションマネージャ25が、「アプリケーションの起動要求を受け付けた際」,「実行中のアプリケーションの終了を検出した際」,「実行中のアプリケーションの状態の遷移を検出した際」にスタート(条件判定開始)となり、ステップS1から各ステップを実行する。
【0071】
まず、ステップS1では、アプリケーションマネージャ25が、「アプリケーションの起動要求」,「実行中のアプリケーションの終了」,「実行中のアプリケーションの状態の遷移」のいずれかを検出したため、図4に示すアプリケーションマネージャ25のアプリケーション管理ブロック64がアプリケーションリスト63を参照する。
【0072】
次に、ステップS2では、アプリケーション管理ブロック64が、上記アプリケーションリスト63の実行リスト61に登録されているアプリケーションの有無を検出することで、現在、実行中のアプリケーションが存在するか否かを判別する。
【0073】
アプリケーション管理ブロック64は、上記実行リスト61を参照し、現在、実行中のアプリケーションが存在しなかった場合(=実行リスト61にアプリケーションが登録されていなかった場合)、ステップS3において、起動要求のなされたアプリケーションを実行リスト61に登録し、或いは実行待ちリスト62に登録されている実行待ち状態のアプリケーションの中から実行状態に遷移させるアプリケーションを選択し、このアプリケーションを実行リスト61に登録する。
【0074】
このようにアプリケーション管理ブロック64により、実行リスト61に対して上記アプリケーションの登録が行われると、アプリケーション制御ブロック65は、ステップS10において、上記実行リスト61に登録されたアプリケーションを実行状態に遷移させる。
【0075】
これにより、起動要求のなされたアプリケーション、或いは実行待ちとなっていたアプリケーションが実行されることとなる。
【0076】
次に、上記ステップS2において、実行リスト61に一つ以上のアプリケーションの登録がされていた場合、アプリケーション管理ブロック64は、図2に示す競合条件テーブル26を参照する「競合チェック」を行う。
【0077】
(競合条件テーブル)
この「競合チェック」に用いられる競合条件テーブル26は、実行中のアプリケーションの一つ一つの状態を、競合する他のアプリケーションの一つ一つの状態にそれぞれ対応させたテーブルとなっており、この実行中のアプリケーションの状態と競合する他のアプリケーションの状態との競合関係において、実行中のアプリケーション及び競合する他のアプリケーションが遷移すべき状態を示したテーブルとなっている。
【0078】
従って、当該実施の形態の携帯電話機に設けられているアプリケーションの総数を「N」、各アプリケーションが有する状態数を「M」とした場合、当該実施の形態の携帯電話機に設けられる競合条件テーブルの総数は、「競合条件テーブルの総数=N×M」となる。
【0079】
具体的には、例えば図7は、現在実行中のアプリケーションが電話アプリケーションである場合に参照される競合条件テーブル26の一例を示している。
【0080】
この図7中、第1〜第Nの状態(Nは自然数)は、前述の接続状態,通話状態,保留状態・・・の各状態を示している。また、図7中、「電話」,「待ち受け」・・・「メモ帳」は、状態が参照される各競合アプリケーションを示している。
【0081】
また、この図7に示す「起動不可」,「割込側待機」,「動作側待機」,「動作側終了」の各状態は以下のことを意味している。
【0082】
「起動不可」→起動要求のなされたアプリケーションは起動できないため、該起動要求をキャンセルする。
【0083】
「割込側待機」→起動要求のなされたアプリケーションを実行待ち状態とし、現在実行しているアプリケーションを継続して実行する。
【0084】
「動作側待機」→現在実行中のアプリケーションを終了することなく実行待ち状態とすると共に、起動要求のなされたアプリケーションの実行を開始する。
【0085】
「動作側終了」→現在実行中のアプリケーションを終了して、起動要求のなされたアプリケーションの実行を開始する。
【0086】
これら各状態は、
「起動不可」>「割込側待機」>「動作側待機」>「動作側終了」
の順に優先度が割り当てられている。
【0087】
アプリケーション管理ブロック64は、実行中のアプリケーションの現在の状態、及び競合したアプリケーションの現在の状態に基づいて上記競合条件テーブルを参照して、実行中のアプリケーション及び競合したアプリケーションの遷移させるべき状態(上記起動不可,割込側待機,動作側待機,動作側終了等)をそれぞれ検出する。
【0088】
そして、アプリケーション制御ブロック65が、このアプリケーション管理ブロック64により検出された上記実行中のアプリケーションの遷移させるべき状態及び競合したアプリケーションの遷移させるべき状態の上記優先度に基づいて、該実行中のアプリケーションの状態を上記検出された遷移させるべき状態に遷移させ、また、該競合したアプリケーションの状態を上記検出された遷移させるべき状態に遷移させる。
【0089】
このような流れを、図6のフローチャートを用いて説明すると、アプリケーション管理ブロック64は、ステップS5において、起動要求のなされたアプリケーション(割込側アプリケーション)の起動は不可であるか否かを、上記競合チェックにより判別する。
【0090】
上記競合チェックにより、割込側アプリケーションの起動は不可であると判別した場合、割込側アプリケーションを起動することはできないため、アプリケーション管理ブロック64は、ステップS10において上記起動要求のなされたアプリケーションの該起動要求をキャンセルする。
【0091】
これに対して、上記競合チェックにより、割込側アプリケーションの起動は可能であると判別した場合、アプリケーション管理ブロック64は、この割込側アプリケーションの判別結果(アプリケーションID,アプリケーション名,タスクID,状態等)を一旦「仮リスト」に登録する。
【0092】
なお、この「仮リスト」に登録された上記判別結果は、アプリケーションリスト63に登録されている全てのアプリケーションに対して上記競合チェックが終了するまでの間、保持される。また、この仮リストは、上記メモリ13の所定領域、或いはCPU12内の一時記憶領域等に形成される。
【0093】
アプリケーション管理ブロック64は、アプリケーションリスト63に登録されている全てのアプリケーションに対して上記競合チェックが終了すると、上記仮リストに登録されている各アプリケーションの遷移させるべき状態をそれぞれ検出する。そして、前述のように「起動不可」>「割込側待機」>「動作側待機」>「動作側終了」となっている「状態の優先度」に基づいて、競合する各アプリケーションの遷移させるべき状態を決定し、この結果を上記アプリケーションリスト63に反映する。
【0094】
この結果、図8に示すように実行中の各アプリケーションの「アプリケーション識別番号(アプリケーションID)」,「アプリケーション名」,「タスク識別番号(タスクID)」,「状態」等からなる実行リスト61、及び図9に示すように実行待ちの各アプリケーションの「アプリケーション識別番号(アプリケーションID)」,「アプリケーション名」,「タスク識別番号(タスクID)」,「状態」等からなる実行待ちリスト62が、アプリケーションリスト63内に形成されることとなる。
【0095】
なお、この図8及び図9に示す「状態」としては、上記決定されたそのアプリケーションの「遷移させるべき状態」を示す情報が登録され、例えば電話アプリケーションの場合は、上記接続状態,通話状態,保留状態・・・等に対応する情報が登録される。
【0096】
また、実行リスト61及び実行待ちリスト62に登録されるアプリケーションの数は、一つとは限らず、複数のアプリケーションが並行して実行され或いは実行待ちとなっている場合は、この複数のアプリケーションに対応する上記「アプリケーションID」や「アプリケーション名」等が登録される。
【0097】
図6のフローチャートのステップS1,ステップS2及びステップS4〜ステップS9の流れは、アプリケーションリスト63に登録されている全てのアプリケーションに対する競合チェックが終了するまでの間、競合チェックの結果を仮リストに登録する動作を繰り返し実行し、アプリケーションリスト63に登録されている全てのアプリケーションに対する競合チェックが終了した際に、この仮リストの登録内容をアプリケーションリスト63に反映する動作の流れを示している。
【0098】
次に、このようにしてアプリケーションリスト63に上記仮リストの結果が反映されると、アプリケーション制御ブロック65は、ステップS10において、アプリケーションリスト63の実行リスト61に登録されたアプリケーションを実行状態に遷移させると共に、実行待ちリスト62に登録されたアプリケーションを実行待ち状態に遷移させる。
【0099】
この後、アプリケーションマネージャ25は、「アプリケーションの起動要求」,「実行中のアプリケーションの終了」,「実行中のアプリケーションの状態の遷移」の検出待ちの状態となる。そして、これらいずれかが検出されたタイミングで、再度、この図6に示すフローチャートを実行することとなる。
【0100】
(電話アプリケーションが実行中の場合の競合管理)
このような動作を、図7の例を用いてさらに具体的に説明する。前述のように、この図7は、現在実行中のアプリケーションとして電話アプリケーションが実行されている場合に参照される競合条件テーブルの一例である。
【0101】
例えば、現在実行中の電話アプリケーションの状態が接続中(第1の状態)であるにもかかわらず、さらに電話アプリケーションの起動要求がなされた場合、競合条件テーブル26を参照すると、電話アプリケーションを重ねて起動しないことが好ましいことから、図7に示すように「起動不可」となっている。
【0102】
このため、アプリケーション制御ブロック65は、この場合、起動要求のあった電話アプリケーションの該要求をキャンセルし、現在実行中の電話アプリケーションを継続して実行制御する。
【0103】
これに対して、現在実行中の電話アプリケーションが接続中の状態(第1の状態)で、電子メール(Eメール)の作成要求(或いは送信要求)がなされた場合、競合条件テーブル26を参照すると「割込側待機」となっている。このため、アプリケーション管理ブロック64は、起動要求のなされたEメールのアプリケーション(この場合、Eメールのアプリケーションは、割り込み側のアプリケーションとなる。)を上記実行待ちリスト62に登録して実行待ち状態とする。
【0104】
同様に、現在実行中の電話アプリケーションが通話中の状態(第2の状態)で、動画プレーヤの起動要求がなされた場合、競合条件テーブル26を参照すると「起動可能」となっている。このため、アプリケーション管理ブロック64は、動画プレーヤのアプリケーションを上記実行リスト61に登録する。これにより、アプリケーション制御ブロック65は、上記現在実行中の電話アプリケーション、及び上記動画プレーヤのアプリケーションを並行して実行制御することとなる。
【0105】
同様に、現在実行中の電話アプリケーションが接続中の状態(第1の状態)で、アドレス帳の起動要求がなされた場合、競合条件テーブル26を参照すると、「動作側待機」となっている。このため、アプリケーション管理ブロック64は、実行リスト61に登録されている現在実行中の電話アプリケーションを実行待ちリスト62に登録し直すと共に、代わって実行リスト61にアドレス帳のアプリケーションを新たに登録する。
【0106】
これにより、アプリケーション制御ブロック65は、それまで実行していた電話アプリケーションを実行待ち状態に遷移させ、起動要求のなされたアドレス帳を起動して実行制御することとなる。
【0107】
なお、この具体例の説明では、アプリケーション管理ブロック64は、競合条件テーブル26を用いた検出結果に基づいて、アプリケーションリスト63の登録内容を直接的に書き換えるが如く説明を行った。勿論、直接的に書き換えを行ってもよいのであるが、この実施の形態の場合は、上記「仮リスト」に判定結果を一旦記憶し、全てのアプリケーションの判定が終了したタイミングで、該仮リストの内容をアプリケーションリスト63に反映させることは、前述のとおりである。
【0108】
(アドレス帳及び電話が競合した場合の競合管理)
次に、図10及び図11のシーケンス図(タイムチャート)を用いて、このような競合管理処理をさらに具体的に説明する。
【0109】
まず、図10は、先にアドレス帳のアプリケーションが起動されており、後から電話アプリケーションの起動要求があった場合における競合管理処理の流れを示している。
【0110】
なお、このアドレス帳のアプリケーションは、メモリ13の所定領域に設けられたアドレス帳の記憶領域に対して、通話先の携帯電話番号や携帯メールアドレス等の登録や削除等の編集を行うアプリケーションである。
【0111】
この図10において、ステップS11でアプリケーションランチャーからアプリケーションマネージャ25に対して電話アプリケーションの起動要求があった場合、アプリケーションマネージャ25のアプリケーション管理ブロック64は、ステップS12において、図7の例を用いて説明した競合条件テーブル26を参照し、前述の「競合チェック」を行う。
【0112】
この競合チェックにより、アドレス帳のアプリケーションを実行待ち状態とし、電話アプリケーションを起動させる競合チェックの結果(=動作側待機)が得られた場合、アプリケーション管理ブロック64は、アプリケーション制御ブロック65に対して、現在実行中のアドレス帳のアプリケーションの「待機要求」を送信する。
【0113】
この「待機要求」を受信すると、アプリケーション制御ブロック65は、ステップS13に示すように、現在実行制御しているアドレス帳のアプリケーションに待機要求を送信することで、該アドレス帳のアプリケーションを待機状態に制御する。
【0114】
アドレス帳のアプリケーションは待機状態となると、ステップS14に示すように「待機完了」のデータを、アプリケーション制御ブロック65を介してアプリケーション管理ブロック64に送信する。
【0115】
次に、アプリケーション管理ブロック64は、この「待機完了」のデータを受信すると、アプリケーション制御ブロック65に対して電話アプリケーションの起動要求を送信する。この起動要求を受信すると、アプリケーション制御ブロック65は、ステップS15に示すように電話アプリケーションに対して起動要求を送信し、該電話アプリケーションを起動制御する。
【0116】
なお、起動が完了すると、ステップS16に示すように電話アプリケーション側からアプリケーション管理ブロック64に対して「起動完了通知」がなされる。
【0117】
次に、電話アプリケーションの実行が進行し、通話の終了等により電話アプリケーションの実行が終了すると、ステップS17に示すように電話アプリケーション側からアプリケーション管理ブロック64に対して「終了通知」がなされる。
【0118】
次に、この終了通知を受信すると、アプリケーション管理ブロック64は、ステップS18において、アプリケーションリスト63に登録されている実行中のアプリケーション及び実行待ちのアプリケーションを参照し、前述の競合チェックを行う。そして、この競合チェックにより、先程、待機状態としたアドレス帳のアプリケーションを起動させてもよい場合に、アプリケーション制御ブロック65に対してアドレス帳のアプリケーションの起動要求を送信する。
【0119】
アプリケーション制御ブロック65は、この起動要求を受信すると、ステップS19に示すように先程、待機状態としたアドレス帳のアプリケーションを再実行制御する。この再実行制御によりアドレス帳のアプリケーションが再び実行状態に遷移すると、このアドレス帳のアプリケーションからアプリケーション管理ブロック64に対して「起動完了通知」がなされる。
【0120】
これにより、アドレス帳の編集作業等に割り込むかたちで電話アプリケーションが実行され、終話後に、再度、アドレス帳のアプリケーションが実行され、アドレス帳の編集作業等が行われることとなる。
【0121】
(Eメール及び電話が競合した場合の競合管理)
次に、図11は、先に電話アプリケーションが起動されており、後からEメールのアプリケーションの起動要求があった場合における競合管理処理の流れを示している。
【0122】
なお、このEメールのアプリケーションは、携帯メールの送受信,送受信した携帯メールの削除等の編集や携帯メールの作成等を行うアプリケーションである。
【0123】
この図11において、ステップS21でアプリケーションランチャーからアプリケーションマネージャ25に対してEメールのアプリケーションの起動要求があった場合、アプリケーションマネージャ25のアプリケーション管理ブロック64は、ステップS22において、上記競合条件テーブル26を参照し、前述の「競合チェック」を行う。
【0124】
この競合チェックにより、起動要求のなされたEメールのアプリケーションを実行待ち状態とし、電話アプリケーションを継続して実行する競合チェックの結果(=割込側待機)が得られた場合、アプリケーション管理ブロック64は、アプリケーション制御ブロック65に対して、起動要求のなされたEメールのアプリケーションの「待機要求」を送信する。
【0125】
アプリケーション制御ブロック65は、この「待機要求」を受信すると、ステップS23において、起動要求のなされたEメールのアプリケーションを待機状態に制御すると共に、現在実行制御している電話アプリケーションを継続して実行制御する。
【0126】
次に、電話アプリケーションの実行が進行し、通話の終了等により電話アプリケーションの実行が終了すると、ステップS24に示すように電話アプリケーション側からアプリケーション管理ブロック64に対して「終了通知」がなされる。
【0127】
この終了通知を受信すると、アプリケーション管理ブロック64は、ステップS25において、アプリケーションリスト63に登録されている実行中のアプリケーション及び実行待ちのアプリケーションを参照し、前述の競合チェックを行う。そして、この競合チェックにより、先程、待機状態としたEメールのアプリケーションを起動させてもよい場合に、アプリケーション制御ブロック65に対してEメールのアプリケーションの起動要求を送信する。
【0128】
アプリケーション制御ブロック65は、この起動要求を受信すると、ステップS26に示すように先程、待機状態としたEメールのアプリケーションを起動制御する。これにより、終話後に、Eメールの送受信や作成等が行われることとなる。
【0129】
なお、ステップS27に示すように、Eメールのアプリケーションの起動が完了すると、該Eメールのアプリケーションからアプリケーション管理ブロック64に対して「起動完了通知」がなされる。
【0130】
[実施の形態の効果]
以上の説明から明らかなように、当該実施の形態の携帯電話機は、アプリケーションマネージャ25が、現在実行中のアプリケーションを、アプリケーションリスト63の実行リスト61に登録し、実行待ちとなっているアプリケーションを実行待ちリスト62に登録する。
【0131】
そして、「アプリケーションの起動要求を受け付けた際」,「実行中のアプリケーションの終了を検出した際」,「実行中のアプリケーションの状態遷移を検出した際」等に、実行リスト61及び実行待ちリスト62を参照して、実行するアプリケーション及び実行待ちさせるアプリケーションを決定して、マルチタスク処理における各アプリケーションの競合管理を行う。これにより、以下の効果を得ることができる。
【0132】
実行中のアプリケーションの現在の状態の他、実行待ちとなっているアプリケーションの状態を参照し、実行中のアプリケーション及び実行待ちのアプリケーションを総合的に判断して、実行するアプリケーション及び実行待ちとするアプリケーションを決定するようになっている。
【0133】
このため、実行待ちとなっているアプリケーションの実行の再開を保証することができる。
【0134】
また、従来のアプリケーションの競合管理は、例えば表計算ソフトウェアの実行中にユーザから文書作成ソフトウェアの実行指示があった場合、この実行指示を優先して文書作成ソフトウェアの立ち上げを行うようになっている。
【0135】
しかし、当該実施の形態の携帯電話機の場合、実行中のアプリケーション及び実行待ちのアプリケーションを総合的に判断して、実行するアプリケーション及び実行待ちとするアプリケーションを決定するようになっているため、ユーザから実行指示がなされた場合でも、表計算ソフトウェアが所定の実行状態の場合は、文書作成ソフトウェアが起動しないようにすることができる。従って、より細かなアプリケーションの競合管理を可能とすることができる。
【0136】
また、実行するアプリケーション及び実行待ちとするアプリケーションは、アプリケーションマネージャ25が、アプリケーションリスト63及び競合条件テーブル26を参照して決定するようになっている。すなわち、そのアプリケーションの実行の是非は、アプリケーションマネージャ25が判断するようになっている。
【0137】
このため、アプリケーションをプログラミングする際に、他のアプリケーションとの競合関係を考慮することなくプログラミングを行うことを可能とすることができる。
【0138】
さらに、このように他のアプリケーションとの競合関係を考慮することなくプログラミングを行うことを可能とすることができるため、あるアプリケーションに仕様変更が生じた場合は、そのアプリケーションに対してのみ、仕様変更を加えればよいこととなる。
【0139】
このため、あるアプリケーションに仕様変更が生じた場合に、他の全てのアプリケーションに対しても、この仕様変更に対応した仕様変更を加え、多数のアプリケーションの再プログラミング作業や再インストール作業(アプリケーションの設計及び実装の変更作業)等の大変面倒な作業が必要となる不都合を防止することができる。
【0140】
そして、当該実施の形態の携帯電話機は、このようにアプリケーションのプログラミングを行う際に、他のアプリケーションの競合関係を考慮しなくてもよいため、ソフトウェアの開発を大幅に簡単化することができる。
【0141】
〔他の適用分野〕
上述の実施の形態の説明では、本発明を、携帯電話機に適用することとしたが、本発明はこの他、PHS電話機(PHS:Personal Handyphone System)やPDA装置(PDA:Personal Digital(Data) Assistant)等の移動体通信端末装置の他、パーソナルコンピュータ装置等の端末装置に適用してもよい。
【0142】
また、上述の実施の形態の説明では、アプリケーションの競合管理を行うようにしたが、これは、タスク毎の競合管理を行うようにしてもよい。
【0143】
最後に、上述の実施の形態は本発明の一例である。このため、本発明は、上述の実施の形態に限定されることはなく、該実施の形態以外であっても、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能であることは勿論であることを付け加えておく。
【0144】
【発明の効果】
本発明は、実行待ちとなっているタスクの実行の再開を保証することができる。
【0145】
また、タスクのプログラミングを行う際に、他のタスクとの競合関係を考慮することなくプログラミングを行うことを可能とすることができる。
【0146】
また、他のタスクとの競合関係を考慮することなくプログラミングが可能となるため、あるタスクに仕様変更が生じた場合は、そのタスクに対してのみ、仕様変更を加えればよいこととなる。
【0147】
このため、あるタスクに仕様変更が生じた場合に、他の全てのタスクに対して、この仕様変更に対応した仕様変更を加える必要が生じ、多数のタスクの再プログラミング作業や再インストール作業(タスクの設計及び実装の変更作業)等の大変面倒な作業が発生する不都合を防止することができる。
【0148】
そして、このようにタスクのプログラミングを行う際に、他のタスクの競合関係を考慮しなくてもよいため、ソフトウェアの開発を大幅に簡単化することができる。
【図面の簡単な説明】
【図1】本発明を適用した実施の形態となる携帯電話機の全体的なブロック図である。
【図2】実施の形態の携帯電話機の主要部の機能ブロック図である。
【図3】実施の形態の携帯電話機で実行される各アプリケーションの機能ブロック図である。
【図4】実施の形態の携帯電話機に設けられているアプリケーションマネージャの機能ブロック図である。
【図5】各アプリケーションの状態遷移を説明するための模式図である。
【図6】実施の形態の携帯電話機に設けられているアプリケーションマネージャのアプリケーションの競合管理動作を説明するためのフローチャートである。
【図7】実施の形態の携帯電話機に設けられている競合条件テーブルの一例を示す図である。
【図8】アプリケーションマネージャのアプリケーションリストに設けられている実行リストを示す図である。
【図9】アプリケーションマネージャのアプリケーションリストに設けられている実行待ちリストを示す図である。
【図10】アドレス帳のアプリケーションの実行中に、電話アプリケーションの実行要求があった場合におけるアプリケーションマネージャの競合管理動作を説明するためのタイムチャートである。
【図11】電話アプリケーションの実行中に、Eメールのアプリケーションの実行要求があった場合におけるアプリケーションマネージャの競合管理動作を説明するためのタイムチャートである。
【符号の説明】
12…制御部(CPU)、21…ハードウェア群、22…ドライバ群、23…オペレーションシステム(OS)、24…アプリケーション群、25…アプリケーションマネージャ、26…競合条件テーブル、60…コミュニケーションブロック、61…実行リスト、62…実行待ちリスト、63…アプリケーションリスト、64…アプリケーション管理ブロック、65…アプリケーション制御ブロック
Claims (16)
- タスクの実行要求を受け付ける実行要求受付手段と、
起動中のタスクを起動中タスクリストに登録する起動中タスク登録手段と、
上記実行要求受付手段として機能して上記タスクの実行要求を受け付けた際に、上記起動中タスクリストを参照して、タスク同士の競合の有無を検出する競合検出手段と、
上記競合検出手段として機能することで上記タスク同士の競合を検出した際に、該競合する各タスクの遷移すべき状態が記憶された競合条件テーブルを参照して、上記実行要求がなされたタスク、及び上記起動中タスクリストに登録されているタスクの遷移させるべき状態をそれぞれ決定する遷移状態決定手段と、
上記実行要求がなされたタスク、及び上記起動中タスクリストに登録されているタスクの状態を、上記遷移状態決定手段として機能することで決定した状態にそれぞれ遷移させる状態遷移手段として
コンピュータを機能させる競合管理プログラム。 - 請求項1記載の競合管理プログラムであって、
上記起動中タスク登録手段としてコンピュータを機能させる際に、実行するタスクを上記起動中タスクリスト内の実行リストに登録し、実行待ちとするタスクを上記起動中タスクリスト内の実行待ちリストに登録する起動中タスク登録手段としてコンピュータを機能させること
を特徴とする競合管理プログラム。 - 請求項2記載の競合管理プログラムであって、
上記起動中タスク登録手段としてコンピュータを機能させる際に、上記遷移状態決定手段として機能することで決定された状態の優先度に基づいて、実行するタスク及び実行待ちとするタスクの選別を行い、該実行するタスクを上記実行リストに登録し、該実行待ちとするタスクを上記実行待ちリストに登録する起動中タスク登録手段としてコンピュータを機能させること
を特徴とする競合管理プログラム。 - 請求項1から請求項3のうち、いずれか一項記載の競合管理プログラムであって、
上記遷移状態決定手段としてコンピュータが機能することで、上記実行要求のなされたタスクの実行は不可であると決定された場合に、該タスクの実行要求をキャンセルする遷移状態決定手段としてコンピュータを機能させること
を特徴とする競合管理プログラム。 - タスクの実行要求を受け付ける実行要求受付手段と、
起動中のタスクを起動中タスクリストに登録する起動中タスク登録手段と、
上記実行要求受付手段として機能して上記タスクの実行要求を受け付けた際に、上記起動中タスクリストを参照して、タスク同士の競合の有無を検出する競合検出手段と、
上記競合検出手段として機能することで上記タスク同士の競合を検出した際に、該競合する各タスクの遷移すべき状態が記憶された競合条件テーブルを参照して、上記実行要求がなされたタスク、及び上記起動中タスクリストに登録されているタスクの遷移させるべき状態をそれぞれ決定する遷移状態決定手段と、
上記実行要求がなされたタスク、及び上記起動中タスクリストに登録されているタスクの状態を、上記遷移状態決定手段として機能することで決定した状態にそれぞれ遷移させる状態遷移手段として
コンピュータを機能させる競合管理プログラムが記憶されたコンピュータ読み取り可能な記憶媒体。 - 請求項5記載の記憶媒体であって、
上記起動中タスク登録手段としてコンピュータを機能させる際に、実行するタスクを上記起動中タスクリスト内の実行リストに登録し、実行待ちとするタスクを上記起動中タスクリスト内の実行待ちリストに登録する起動中タスク登録手段としてコンピュータを機能させること
を特徴とする競合管理プログラムが記憶されたコンピュータ読み取り可能な記憶媒体。 - 請求項6記載の記憶媒体であって、
上記起動中タスク登録手段としてコンピュータを機能させる際に、上記遷移状態決定手段として機能することで決定された状態の優先度に基づいて、実行するタスク及び実行待ちとするタスクの選別を行い、該実行するタスクを上記実行リストに登録し、該実行待ちとするタスクを上記実行待ちリストに登録する起動中タスク登録手段としてコンピュータを機能させること
を特徴とする競合管理プログラムが記憶されたコンピュータ読み取り可能な記憶媒体。 - 請求項5から請求項7のうち、いずれか一項記載の記憶媒体であって、
上記遷移状態決定手段としてコンピュータを機能させることで、上記実行要求のなされたタスクの実行は不可であると決定された場合に、該タスクの実行要求をキャンセルする遷移状態決定手段としてコンピュータを機能させること
を特徴とする競合管理プログラムが記憶されたコンピュータ読み取り可能な記憶媒体。 - 実行要求受付手段がタスクの実行要求を受け付けるステップと、
起動中タスク登録手段が、起動中のタスクを起動中タスクリストに登録するステップと、
上記実行要求受付手段が上記タスクの実行要求を受け付けた際に、競合検出手段が、上記起動中タスクリストを参照して、タスク同士の競合の有無を検出するステップと、
上記競合検出手段が上記タスク同士の競合を検出した際に、遷移状態決定手段が、該競合する各タスクの遷移すべき状態が記憶された競合条件テーブルを参照して、上記実行要求がなされたタスク、及び上記起動中タスクリストに登録されているタスクの遷移させるべき状態をそれぞれ決定するステップと、
上記実行要求がなされたタスク、及び上記起動中タスクリストに登録されているタスクの状態を、状態遷移手段が、上記遷移状態決定手段で決定された状態にそれぞれ遷移させるステップと
を有する競合管理方法。 - 請求項9記載の競合管理方法であって、
上記起動中のタスクを起動中タスクリストに登録するステップでは、起動中タスク登録手段が、実行するタスクを上記起動中タスクリスト内の実行リストに登録し、実行待ちとするタスクを上記起動中タスクリスト内の実行待ちリストに登録すること
を特徴とする競合管理方法。 - 請求項10記載の競合管理方法であって、
上記起動中のタスクを起動中タスクリストに登録するステップでは、起動中タスク登録手段が、上記遷移状態決定手段で決定された状態の優先度に基づいて、実行するタスク及び実行待ちとするタスクの選別を行い、該実行するタスクを上記実行リストに登録し、該実行待ちとするタスクを上記実行待ちリストに登録すること
を特徴とする競合管理方法。 - 請求項9から請求項11のうち、いずれか一項記載の競合管理方法であって、
上記遷移状態決定手段で決定された状態に遷移させるステップでは、上記遷移状態決定手段が、上記実行要求がなされたタスクの実行は不可であると決定した場合に、該タスクの実行要求をキャンセルすること
を特徴とする競合管理方法。 - タスクの実行要求を受け付ける実行要求受付手段と、
起動中のタスクを起動中タスクリストに登録する起動中タスク登録手段と、
上記実行要求受付手段で上記タスクの実行要求を受け付けた際に、上記起動中タスクリストを参照して、タスク同士の競合の有無を検出する競合検出手段と、
上記競合検出手段で上記タスク同士の競合が検出された際に、該競合する各タスクの遷移すべき状態が記憶された競合条件テーブルを参照して、上記実行要求がなされたタスク、及び上記起動中タスクリストに登録されているタスクの遷移させるべき状態をそれぞれ決定する遷移状態決定手段と、
上記実行要求がなされたタスク、及び上記起動中タスクリストに登録されているタスクの状態を、上記遷移状態決定手段で決定された状態にそれぞれ遷移させる状態遷移手段と
を有する電子機器。 - 請求項13記載の電子機器であって、
上記起動中タスク登録手段は、実行するタスクを上記起動中タスクリスト内の実行リストに登録し、実行待ちとするタスクを上記起動中タスクリスト内の実行待ちリストに登録すること
を特徴とする電子機器。 - 請求項14記載の電子機器であって、
上記起動中タスク登録手段は、上記遷移状態決定手段で決定された状態の優先度に基づいて、実行するタスク及び実行待ちとするタスクの選別を行い、該実行するタスクを上記実行リストに登録し、該実行待ちとするタスクを上記実行待ちリストに登録すること
を特徴とする電子機器。 - 請求項13から請求項15のうち、いずれか一項記載の電子機器であって、
上記遷移状態決定手段は、上記実行要求がなされたタスクの実行は不可であると決定した場合に、該タスクの実行要求をキャンセルすること
を特徴とする電子機器。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003165742A JP2005005909A (ja) | 2003-06-10 | 2003-06-10 | 競合管理プログラム,競合管理プログラムが記憶された記憶媒体,競合管理方法及び電子機器 |
US10/560,026 US7836446B2 (en) | 2003-06-10 | 2004-06-09 | Conflict management program, storage medium for conflict management program storage, conflict management method, and electronic apparatus for terminal devices |
EP04736463.3A EP1640862B1 (en) | 2003-06-10 | 2004-06-09 | Concurrence management program, storage medium containing the concurrence management program, concurrence management method, and electronic device |
KR1020057023708A KR101019298B1 (ko) | 2003-06-10 | 2004-06-09 | 경합 관리 프로그램이 기억된 기억 매체, 경합 관리 방법 및 전자 기기 |
CN200480016178XA CN1806229B (zh) | 2003-06-10 | 2004-06-09 | 冲突管理方法和设备 |
PCT/JP2004/008408 WO2004111848A1 (ja) | 2003-06-10 | 2004-06-09 | 競合管理プログラム、競合管理プログラムが記憶された記憶媒体、競合管理方法及び電子機器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003165742A JP2005005909A (ja) | 2003-06-10 | 2003-06-10 | 競合管理プログラム,競合管理プログラムが記憶された記憶媒体,競合管理方法及び電子機器 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005005909A true JP2005005909A (ja) | 2005-01-06 |
Family
ID=33549227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003165742A Withdrawn JP2005005909A (ja) | 2003-06-10 | 2003-06-10 | 競合管理プログラム,競合管理プログラムが記憶された記憶媒体,競合管理方法及び電子機器 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7836446B2 (ja) |
EP (1) | EP1640862B1 (ja) |
JP (1) | JP2005005909A (ja) |
KR (1) | KR101019298B1 (ja) |
CN (1) | CN1806229B (ja) |
WO (1) | WO2004111848A1 (ja) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005284905A (ja) * | 2004-03-30 | 2005-10-13 | Kyocera Corp | 携帯電話端末装置及びプログラム管理方法並びにそのコンピュータプログラム |
JP2006235866A (ja) * | 2005-02-23 | 2006-09-07 | Nec Corp | ソフトウェア競合管理システム、ソフトウェア課金システムおよびソフトウェア課金方法 |
JP2007116704A (ja) * | 2005-10-19 | 2007-05-10 | Lg Electronics Inc | 移動通信端末機及びそのリソース管理方法 |
JP2007129715A (ja) * | 2005-11-04 | 2007-05-24 | Research In Motion Ltd | モバイル通信デバイスとワイヤレスネットワークとの間のデータ接続を要求するアプリケーション間の競合を解消するためのシステムおよび方法 |
JP2007150516A (ja) * | 2005-11-25 | 2007-06-14 | Kyocera Corp | 携帯端末装置、メッセージ情報受信方法、コンピュータプログラム |
WO2007075018A1 (en) * | 2005-12-29 | 2007-07-05 | Lg Chem, Ltd. | Apparatus for separating oil from blow-by gas of engine |
WO2007119550A1 (ja) * | 2006-04-05 | 2007-10-25 | Panasonic Corporation | システム管理装置 |
JP2010517161A (ja) * | 2007-01-23 | 2010-05-20 | アギア システムズ インコーポレーテッド | デバイス用シングル・スレッド・アーキテクチャにおけるアプリケーションの切り替え |
JP2010204843A (ja) * | 2009-03-02 | 2010-09-16 | Canon Inc | 起動制御方法及び装置 |
JP2011515905A (ja) * | 2008-02-20 | 2011-05-19 | クゥアルコム・インコーポレイテッド | モバイルハンドセットで位置依存アプリケーションを実行するための方法および装置 |
JP2012194746A (ja) * | 2011-03-16 | 2012-10-11 | Toshiba Corp | 機能競合制御装置およびその方法 |
JP2012194710A (ja) * | 2011-03-15 | 2012-10-11 | Fujitsu Ltd | スケジューリングプログラム、および情報処理装置 |
WO2012169702A1 (ko) * | 2011-06-10 | 2012-12-13 | 주식회사 캐스트이즈 | 안드로이드 어플리케이션 실행 요청에 따른 어플리케이션별 연계 작업 사전 수행 장치 및 방법 |
JP2013157715A (ja) * | 2012-01-27 | 2013-08-15 | Nippon Telegr & Teleph Corp <Ntt> | 電話装置とその動作制御方法及びプログラム |
JP2013543202A (ja) * | 2010-11-18 | 2013-11-28 | グーグル・インコーポレーテッド | コンピューティングオブジェクトのコンテキストの履歴 |
JP5780239B2 (ja) * | 2010-04-07 | 2015-09-16 | 日本電気株式会社 | 情報処理端末およびその制御方法 |
WO2020075976A1 (ko) * | 2018-10-12 | 2020-04-16 | 삼성전자 주식회사 | 메모리의 저장 용량을 확보하기 위한 디스플레이 장치 |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100468345C (zh) * | 2004-07-28 | 2009-03-11 | 松下电器产业株式会社 | 冲突解决装置 |
US7627578B2 (en) * | 2004-09-01 | 2009-12-01 | International Business Machines Corporation | Apparatus, system, and method for file system serialization reinitialization |
US7711721B2 (en) * | 2004-09-01 | 2010-05-04 | International Business Machines Corporation | Apparatus, system, and method for suspending a request during file server serialization reinitialization |
US7490088B2 (en) * | 2004-09-01 | 2009-02-10 | International Business Machines Corporation | Apparatus, system, and method for preserving connection/position data integrity during file server serialization reinitialization |
CN100527089C (zh) * | 2005-04-27 | 2009-08-12 | 松下电器产业株式会社 | 信息处理装置中的功率控制装置 |
CN100442709C (zh) * | 2005-06-17 | 2008-12-10 | 华为技术有限公司 | 一种网络管理系统中的设备操作方法 |
JP4847168B2 (ja) * | 2005-06-28 | 2011-12-28 | キヤノン株式会社 | アプリケーション管理システム、アプリケーション管理方法およびプログラム |
US7454607B2 (en) * | 2005-09-15 | 2008-11-18 | Qualcomm Incorporated | Techniques for managing applications in a portable communication device |
US8825189B2 (en) * | 2007-11-13 | 2014-09-02 | Fisher Rosemount Systems, Inc. | Methods and apparatus to execute an auxiliary recipe and a batch recipe associated with a process control system |
CN101378426B (zh) * | 2008-09-02 | 2011-05-11 | 华为终端有限公司 | 一种防打扰方法及终端 |
KR101443291B1 (ko) * | 2008-09-02 | 2014-09-25 | 삼성전자주식회사 | 네트워크로 연결된 화상형성장치 및 그 네트워크 관련 정보설정방법 |
JP5184268B2 (ja) * | 2008-09-08 | 2013-04-17 | 株式会社エヌ・ティ・ティ・ドコモ | 情報処理装置及びプログラム |
US8886252B2 (en) * | 2008-12-22 | 2014-11-11 | Htc Corporation | Method and apparatus for automatically changing operating modes in a mobile device |
CN101887363A (zh) * | 2010-03-22 | 2010-11-17 | 宇龙计算机通信科技(深圳)有限公司 | 一种应用程序存在互斥的提示方法、系统及移动终端 |
FR2965077B1 (fr) * | 2010-09-21 | 2016-12-09 | Continental Automotive France | Procede de gestion de taches dans un microprocesseur ou un ensemble de microprocesseurs |
CN102122249B (zh) * | 2011-02-22 | 2013-11-06 | 中兴通讯股份有限公司 | 启动java应用的方法及装置 |
CN102811277A (zh) * | 2011-05-31 | 2012-12-05 | 比亚迪股份有限公司 | 一种移动终端及其管理共享资源的方法 |
JP5904018B2 (ja) * | 2012-06-01 | 2016-04-13 | ソニー株式会社 | 情報処理装置、情報処理方法、並びにプログラム |
CN103227851B (zh) * | 2013-03-05 | 2014-10-15 | 广东欧珀移动通信有限公司 | 通讯终端录音的方法及装置 |
KR101507353B1 (ko) * | 2013-04-08 | 2015-04-07 | 주식회사 오비고 | 모바일 디바이스의 메모리를 관리하는 방법, 서버 및 컴퓨터 판독 가능한 기록 매체 |
US10187520B2 (en) * | 2013-04-24 | 2019-01-22 | Samsung Electronics Co., Ltd. | Terminal device and content displaying method thereof, server and controlling method thereof |
US20150081400A1 (en) * | 2013-09-19 | 2015-03-19 | Infosys Limited | Watching ARM |
US20150220872A1 (en) * | 2014-02-03 | 2015-08-06 | Cavium, Inc. | Method and an apparatus for work packet queuing, scheduling, and ordering with conflict queuing |
CN104298528A (zh) * | 2014-09-30 | 2015-01-21 | 小米科技有限责任公司 | 应用程序安装控制方法及装置 |
CN105389149A (zh) * | 2015-11-03 | 2016-03-09 | 惠州Tcl移动通信有限公司 | 一种智能设备多屏幕运行实现方法及其系统 |
US10685009B1 (en) * | 2016-10-20 | 2020-06-16 | Massachusetts Mutual Life Insurance Company | Systems and methods for trigger based synchronized updates in a distributed records environment |
US11036608B2 (en) | 2019-09-27 | 2021-06-15 | Appnomic Systems Private Limited | Identifying differences in resource usage across different versions of a software application |
CN111152215B (zh) * | 2019-12-17 | 2021-08-27 | 深圳市优必选科技股份有限公司 | 一种应用的控制方法及机器人 |
CN115567630B (zh) * | 2022-01-06 | 2023-06-16 | 荣耀终端有限公司 | 一种电子设备的管理方法、电子设备及可读存储介质 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19500957A1 (de) * | 1994-07-19 | 1996-01-25 | Bosch Gmbh Robert | Verfahren zur Steuerung von technischen Vorgängen oder Prozessen |
JPH0954699A (ja) * | 1995-08-11 | 1997-02-25 | Fujitsu Ltd | 計算機のプロセススケジューラ |
US5838968A (en) * | 1996-03-01 | 1998-11-17 | Chromatic Research, Inc. | System and method for dynamic resource management across tasks in real-time operating systems |
JPH10289114A (ja) | 1997-04-14 | 1998-10-27 | Sony Corp | マルチタスク制御方法、マルチタスク制御プログラムを記録した記録媒体、およびマルチタスク制御プログラムを組み込んだ電子機器 |
JPH10333926A (ja) | 1997-06-03 | 1998-12-18 | N T T Data:Kk | プログラム実行管理方法、装置、及び記録媒体 |
DE69831857T2 (de) | 1998-06-10 | 2006-06-14 | Sun Microsystems Inc | Verfahren und Vorrichtung zum Zeitplanen von Prozessen für Betriebsmittelzuteilung |
JP2000222224A (ja) | 1999-01-29 | 2000-08-11 | Nec Mobile Commun Ltd | 移動体通信システムにおけるシーケンス制御方法 |
EP1194840B1 (en) * | 1999-07-13 | 2005-02-09 | Sun Microsystems, Inc. | Digital television receiver for managing execution of an application according to an application lifecycle |
GB2364143A (en) * | 2000-06-30 | 2002-01-16 | Nokia Corp | Resource allocation |
JP3633465B2 (ja) * | 2000-09-27 | 2005-03-30 | 日本電気株式会社 | 携帯電話端末及びそれに用いる画面遷移制御方法 |
JP3866032B2 (ja) * | 2000-12-05 | 2007-01-10 | 株式会社ケンウッド | 電子機器 |
JP3610930B2 (ja) * | 2001-07-12 | 2005-01-19 | 株式会社デンソー | オペレーティングシステム、プログラム、車両用電子制御装置 |
JP4058752B2 (ja) | 2001-12-11 | 2008-03-12 | 日本電気株式会社 | 携帯情報端末装置 |
TWI257544B (en) * | 2003-12-05 | 2006-07-01 | Acer Inc | Windows-based power management method and portable device using the same |
-
2003
- 2003-06-10 JP JP2003165742A patent/JP2005005909A/ja not_active Withdrawn
-
2004
- 2004-06-09 KR KR1020057023708A patent/KR101019298B1/ko not_active IP Right Cessation
- 2004-06-09 US US10/560,026 patent/US7836446B2/en not_active Expired - Fee Related
- 2004-06-09 CN CN200480016178XA patent/CN1806229B/zh not_active Expired - Fee Related
- 2004-06-09 WO PCT/JP2004/008408 patent/WO2004111848A1/ja active Application Filing
- 2004-06-09 EP EP04736463.3A patent/EP1640862B1/en not_active Expired - Fee Related
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4731822B2 (ja) * | 2004-03-30 | 2011-07-27 | 京セラ株式会社 | 携帯電話端末装置及びプログラム管理方法並びにそのコンピュータプログラム |
JP2005284905A (ja) * | 2004-03-30 | 2005-10-13 | Kyocera Corp | 携帯電話端末装置及びプログラム管理方法並びにそのコンピュータプログラム |
JP2006235866A (ja) * | 2005-02-23 | 2006-09-07 | Nec Corp | ソフトウェア競合管理システム、ソフトウェア課金システムおよびソフトウェア課金方法 |
JP2007116704A (ja) * | 2005-10-19 | 2007-05-10 | Lg Electronics Inc | 移動通信端末機及びそのリソース管理方法 |
JP2007129715A (ja) * | 2005-11-04 | 2007-05-24 | Research In Motion Ltd | モバイル通信デバイスとワイヤレスネットワークとの間のデータ接続を要求するアプリケーション間の競合を解消するためのシステムおよび方法 |
JP2011155658A (ja) * | 2005-11-04 | 2011-08-11 | Research In Motion Ltd | モバイル通信デバイスとワイヤレスネットワークとの間のデータ接続を要求するアプリケーション間の競合を解消するためのシステムおよび方法 |
JP2007150516A (ja) * | 2005-11-25 | 2007-06-14 | Kyocera Corp | 携帯端末装置、メッセージ情報受信方法、コンピュータプログラム |
JP4675762B2 (ja) * | 2005-11-25 | 2011-04-27 | 京セラ株式会社 | 携帯端末装置、メッセージ情報受信方法、コンピュータプログラム |
WO2007075018A1 (en) * | 2005-12-29 | 2007-07-05 | Lg Chem, Ltd. | Apparatus for separating oil from blow-by gas of engine |
JPWO2007119550A1 (ja) * | 2006-04-05 | 2009-08-27 | パナソニック株式会社 | システム管理装置 |
WO2007119550A1 (ja) * | 2006-04-05 | 2007-10-25 | Panasonic Corporation | システム管理装置 |
JP2010517161A (ja) * | 2007-01-23 | 2010-05-20 | アギア システムズ インコーポレーテッド | デバイス用シングル・スレッド・アーキテクチャにおけるアプリケーションの切り替え |
JP2011515905A (ja) * | 2008-02-20 | 2011-05-19 | クゥアルコム・インコーポレイテッド | モバイルハンドセットで位置依存アプリケーションを実行するための方法および装置 |
US8744478B2 (en) | 2008-02-20 | 2014-06-03 | Qualcomm Incorporated | Method and apparatus for executing location dependent application in a mobile handset |
JP2010204843A (ja) * | 2009-03-02 | 2010-09-16 | Canon Inc | 起動制御方法及び装置 |
US9182875B2 (en) | 2010-04-07 | 2015-11-10 | Nec Corporation | Information processing terminal and control method therefor |
JP5780239B2 (ja) * | 2010-04-07 | 2015-09-16 | 日本電気株式会社 | 情報処理端末およびその制御方法 |
KR20150023950A (ko) * | 2010-11-18 | 2015-03-05 | 구글 인코포레이티드 | 컴퓨팅 객체의 콘텍스트 히스토리 |
JP2013543202A (ja) * | 2010-11-18 | 2013-11-28 | グーグル・インコーポレーテッド | コンピューティングオブジェクトのコンテキストの履歴 |
US8904163B2 (en) | 2010-11-18 | 2014-12-02 | Google Inc. | Contextual history of computing objects |
US9355082B2 (en) | 2010-11-18 | 2016-05-31 | Google Inc. | Contextual history of computing objects |
US9921853B2 (en) | 2010-11-18 | 2018-03-20 | Google Llc | Contextual history of computing objects |
KR101949998B1 (ko) | 2010-11-18 | 2019-04-22 | 구글 엘엘씨 | 컴퓨팅 객체의 콘텍스트 히스토리 |
JP2012194710A (ja) * | 2011-03-15 | 2012-10-11 | Fujitsu Ltd | スケジューリングプログラム、および情報処理装置 |
JP2012194746A (ja) * | 2011-03-16 | 2012-10-11 | Toshiba Corp | 機能競合制御装置およびその方法 |
WO2012169702A1 (ko) * | 2011-06-10 | 2012-12-13 | 주식회사 캐스트이즈 | 안드로이드 어플리케이션 실행 요청에 따른 어플리케이션별 연계 작업 사전 수행 장치 및 방법 |
JP2013157715A (ja) * | 2012-01-27 | 2013-08-15 | Nippon Telegr & Teleph Corp <Ntt> | 電話装置とその動作制御方法及びプログラム |
WO2020075976A1 (ko) * | 2018-10-12 | 2020-04-16 | 삼성전자 주식회사 | 메모리의 저장 용량을 확보하기 위한 디스플레이 장치 |
Also Published As
Publication number | Publication date |
---|---|
WO2004111848A1 (ja) | 2004-12-23 |
US7836446B2 (en) | 2010-11-16 |
US20060129600A1 (en) | 2006-06-15 |
EP1640862B1 (en) | 2017-05-03 |
EP1640862A1 (en) | 2006-03-29 |
KR20060023987A (ko) | 2006-03-15 |
KR101019298B1 (ko) | 2011-03-07 |
CN1806229B (zh) | 2010-05-26 |
EP1640862A4 (en) | 2007-12-05 |
CN1806229A (zh) | 2006-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2005005909A (ja) | 競合管理プログラム,競合管理プログラムが記憶された記憶媒体,競合管理方法及び電子機器 | |
EP1453286B1 (en) | Mobile communication terminal, method for controlling execution state of application program, application program, and recording medium wherein application program has been recorded | |
US20220330158A1 (en) | Portable device for adaptive data communication control and method of operating the same | |
KR101017380B1 (ko) | 통신단말 및 컴퓨터 판독 가능한 기록매체 | |
JP5741095B2 (ja) | 無線通信装置および省電力制御方法 | |
US8855033B2 (en) | Apparatus and method for reducing power consumption using packet filtering in portable terminal | |
US8320285B2 (en) | Communication terminal and recording medium | |
US8954766B2 (en) | Automated power management of a peripheral device | |
CA2517996C (en) | Method and apparatus for efficient network scanning | |
US8868065B2 (en) | System and method for reducing power consumption for push messaging | |
US9084196B2 (en) | Apparatus and method for reducing power consumption in portable terminal | |
JP2008085907A (ja) | 無線通信端末および無線通信端末における通信制御方法 | |
JP4900289B2 (ja) | 電子装置およびシステム起動方法 | |
JP2006148749A (ja) | データ通信システム、端末装置、および、通信制御装置 | |
US6931260B2 (en) | Mobile communication terminal apparatus | |
JP5225636B2 (ja) | 携帯端末装置 | |
JP2003284137A (ja) | 移動体通信端末及びその動作方法 | |
JP2005192111A (ja) | 通信端末装置、及びプログラム | |
JP2001007920A (ja) | 無線電話装置 | |
JP2012068898A (ja) | 携帯端末装置、メール管理方法及びメール管理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060905 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20071009 |
|
A072 | Dismissal of procedure [no reply to invitation to correct request for examination] |
Free format text: JAPANESE INTERMEDIATE CODE: A072 Effective date: 20080213 |