(57)【要約】【課題】セルサーチのためのメインタスクの実行までに、セルサーチのための割り込みタスクを実行して登録可能ＰＬＭＮリストを短時間で作成する。【解決手段】上位レイヤから通信モード対応のセルリストを取得し、セルリスト中のセルの各々と、セルサーチのための１つ以上の通信処理との組合せをタスクとして定義する基本タスクスケジュールステップと、定義されたタスクのうちから処理済タスクを除くメインタスクを１つ選定するメインタスク選定ステップと、定義されたタスクのうちから処理済タスクを除いてメインタスクが実行開始となるまでの時間内に処理できるタスクを探索し、割り込みタスクとして選定する割り込みタスク選定ステップと、タスクの実行後に、登録可能なＰＬＭＮか否かを検証し、登録可能なＰＬＭＮについてはＰＬＭＮリストに記録するＰＬＭＮリスト作成ステップとを備える。【選択図】　図１
2004104246.tif 000002
【特許請求の範囲】
【請求項１】
上位レイヤから通信モードに対応したセルリストを取得すると共に、前記セルリストに記載されたセルの各々と、セルサーチのための１つ以上の通信処理との組合せをタスクとして定義する基本タスクスケジュールステップと、
前記基本タスクスケジュールステップで定義されたタスクのうちから、処理済タスクを除いてメインタスクを１つ選定するメインタスク選定ステップと、
前記基本タスクスケジュールステップで定義されたタスクのうちから、処理済タスクを除いて前記選定されたメインタスクが実行開始となるまでの時間内に処理することが可能なタスクを探索すると共に、前記探索により抽出されたタスクを割り込みタスクとして選定する割り込みタスク選定ステップと、
前記メインタスク選定ステップ及び前記割り込みタスク選定ステップにより選定されたタスクを実行するタスク実行ステップと、
前記タスク実行ステップにおいて前記選定されたタスクが実行された後で、前記タスクに対応するセルが登録可能なＰＬＭＮか否かを検証するＰＬＭＮ検証ステップと、
前記ＰＬＭＮ検証ステップにより、前記タスクに対応するセルが登録可能なＰＬＭＮであると判断された場合に、前記ＰＬＭＮを前記セルと対応付けてＰＬＭＮリストに記録するＰＬＭＮリスト作成ステップと、
前記ＰＬＭＮリストを全てのタスクの処理が完了した時点で報告する報告ステップと、
を備えたことを特徴とするマルチモード無線通信装置のＰＬＭＮ選択時間短縮方法。
【請求項２】
前記タスク実行ステップは、前記割り込みタスク選定ステップにおいて選定されるタスクが存在する場合は、前記選定されたタスクを割り込みタスクとして実行し、選定される割り込みタスクが１つも存在しない場合か、若しくは前記割り込みタスク選定ステップにおいて選定される割り込みタスクが尽きた場合には、前記メインタスク選定ステップにより選定されたメインタスクを実行することを特徴とする請求項１記載のマルチモード無線通信装置のＰＬＭＮ選択時間短縮方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は携帯電話など無線通信装置の移動局に関するマルチモード無線通信装置のＰＬＭＮ選択時間短縮方法に関する。
【０００２】
【従来の技術】
従来、携帯電話など無線通信装置の移動局において、電源投入後にまずＰＬＭＮ（公衆陸上移動網又は公衆陸上移動通信ネットワーク：ｇａｔｅｗａｙ　Ｐｕｂｌｉｃ　Ｌａｎｄ　Ｍｏｖｉｌ　Ｎｅｔｗｏｒｋ）選択が行われる。通常、ＰＬＭＮの選択は、（１）Ｌａｓｔ　Ｒｅｇｉｓｔｅｒｅｄ　ＰＬＭＮを選択する、（２）移動局に保存されているＰｒｅｆｅｒｒｅｄ　ＰＬＭＮ　ＬｉｓｔからＰＬＭＮを選択する、（３）全てのセル（チャネル）に対して登録可能なＰＬＭＮか否かを調べて登録可能なＰＬＭＮを上位レイヤあるいは移動局ユーザに報告し、その中からＰＬＭＮを選択する、という優先順位で行われる。
【０００３】
図７は、従来のＵＭＴＳ／ＧＳＭデュアルモード無線通信装置のＰＬＭＮ選択方法を実行する処理手順を示すフローチャートであり、上記（３）の選択方法を示している。なお、フローチャートの各シンボルに付された符号は、実行される処理ステップを示すものとする。また、以下の説明で、処理（符号）と書いている部分は処理ステップＳ（符号）を、判断（符号）と書いている部分は判断ステップ（符号）を、それぞれ略記したものとする。
【０００４】
図７において、ＰＬＭＮ選択方法は、処理５０１；”ＵＭＴＳセルリスト：０〜ｎ−１”取得と、処理５０２；”ｄｅｆｉｎｅ　Ｕｔａｓｋ［０〜ｎ−１，０〜３］，　ｄｅｆｉｎｅ　ＦｌｇＵｐｌｍｎ［０〜ｎ−１］”　と、処理５０３；”ｉ　＝　０，　ＦｌｇＵｐｌｍｎ［０〜ｎ−１］　＝　０”　と、処理５０４；”Ｕｔａｓｋ［ｉ，０〜３］実行手段”　と、判断５０５；”登録可能ＰＬＭＮか？”と、処理５０；”ＦｌｇＵｐｌｍｎ［ｉ］　＝　１”と、処理５０７；”ｉ　＝　ｉ＋１”　と、判断５０８；”ｉ　＝　ｎ？”と、処理５１１；”ＧＳＭセルリスト０〜ｍ−１取得”　と、処理５１２；”ｄｅｆｉｎｅ　Ｇｔａｓｋ［０〜ｍ−１，０〜２］，　ｄｅｆｉｎｅ　ＦｌｇＧｐｌｍｎ［０〜ｍ−１］”　と、処理５１３；”ａ　＝　０，　ＦｌｇＧｐｌｍｎ［０〜ｍ−１］　＝　０”　と、処理５１４；”Ｇｔａｓｋ［ａ，０〜２］実行手段”　と、判断５１５；”登録可能ＰＬＭＮか？”と、処理５１６；”ＦｌｇＧｐｌｍｎ［ｃ］　＝　１”　と、処理５１７；”ａ　＝　ａ＋１”　と、判断５１８；”ａ　＝　ｍ？”と、処理５２１；”ＦｌｇＵｐｌｍｎ［０〜ｎ−１］，ＦｌｇＧｐｌｍｎ［０〜ｍ−１］報告手段”　とを備える。
【０００５】
ここで、Ｕｔａｓｋ［ｘ，ｙ］とは、第ｘＵＭＴＳセルに対するＵ（ｙ）、ＦｌｇＵｐｌｍｎ［ｘ］とは第ｘＵＭＴＳセルに対する登録可能ＰＬＭＮフラグ、Ｕ（０）とはＵＭＴＳセルに対する３段階セルサーチ、Ｕ（１）とはＵＭＴＳセルに対するＳＦＮ同期、Ｕ（２）とはＵＭＴＳセルに対するＭＩＢ受信、Ｕ（３）とはＵＭＴＳセルに対するＳＩＢｘｘ受信、Ｇｔａｓｋ［ｘ，ｙ］とは第ｘＧＳＭセルに対するＧ（ｙ）、ＦｌｇＧｐｌｍｎ［ｘ］とは第ｘＧＳＭセルに対する登録可能ＰＬＭＮフラグ、Ｇ（０）とはＧＳＭセルに対するＦＣＣＨ／ＳＣＨセル同期、Ｇ（１）とはＧＳＭセルに対するＳＩ＃３ｏｒ＃４受信、Ｇ（２）とはＧＳＭセルに対するＳＩ＃ｘｘ受信を、それぞれ示すものとする。
【０００６】
まず、処理５０１で、０〜ｎ−１のｎセルのＵＭＴＳセルリストを上位レイヤから取得する。次に処理５０２で、Ｕｔａｓｋ［０〜ｎ−１，０〜３］、即ち第０〜ｎ−１ＵＭＴＳセルに対するＵ（０〜３）と、ＦｌｇＵｐｌｍｎ［０〜ｎ−１］、即ち第０〜ｎ−１ＵＭＴＳセルに対する登録可能ＰＬＭＮフラグを定義する。次に処理５０３で、ｉ　＝　０、即ち変数ｉの初期化と、ＦｌｇＵｐｌｍｎ［０〜ｎ−１］　＝　０、即ちＦｌｇＵｐｌｍｎ［０〜ｎ−１］の初期化を実行する。次に処理５０４で、Ｕｔａｓｋ［ｉ，０〜３］、即ち第ｉＵＭＴＳセルに対する３段階セルサーチ、ＳＦＮ同期、ＭＩＢ受信、ＳＩＢｘｘ受信を順次実行する。この受信したＳＩＢｘｘには、登録可能ＰＬＭＮかどうかを判断できる情報が含まれている。そこで次に、判断５０５で、登録可能ＰＬＭＮかどうかを判断する。登録可能ＰＬＭＮでない場合は処理５０７に進む。また、登録可能ＰＬＭＮである場合には処理５０６で、ＦｌｇＵｐｌｍｎ［ｉ］　＝　１、即ち第ｉＵＭＴＳセルに対する登録可能ＰＬＭＮフラグをセットする。処理５０７では、ｉ　＝　ｉ＋１、即ち変数ｉのインクリメントを行う。次に判断５０８でｉ　＝　ｎ？　、即ち第０〜ｎ−１ＵＭＴＳセル全てが終了したか否かを判断する。全てが終了していない場合は処理５０４に戻る。全てが終了した場合は、次に処理５１１に移り、０〜ｍ−１のｍセルのＧＳＭセルリストを上位レイヤから取得する。次に処理５１２で、Ｇｔａｓｋ［０〜ｍ−１，０〜２］、即ち第０〜ｍ−１ＧＳＭセルに対するＧ（０〜２）と、ＦｌｇＧｐｌｍｎ［０〜ｍ−１］、即ち第０〜ｍ−１ＧＳＭセルに対する登録可能ＰＬＭＮフラグとを定義する。次に処理５１３で、ａ　＝　０、即ち変数ａの初期化と、ＦｌｇＧｐｌｍｎ［０〜ｍ−１］　＝　０、即ちＦｌｇＧｐｌｍｎ［０〜ｍ−１］の初期化とを実行する。次に処理５１４で、Ｇｔａｓｋ［ａ，０〜２］、即ち第ａＧＳＭセルに対するＦＣＣＨ／ＳＣＨセル同期と、ＳＩ＃３ｏｒ＃４受信と、ＳＩ＃ｘｘ受信とを順次実行する。この受信したＳＩ＃ｘｘには登録可能ＰＬＭＮかどうかを判断できる情報が含まれている。次に判断５１５で、登録可能ＰＬＭＮか否かを判断する。登録可能ＰＬＭＮでない場合は直ちに処理５１７に進む。登録可能ＰＬＭＮである場合は次に処理５１６にて、ＦｌｇＧｐｌｍｎ［ａ］　＝　１、即ち第ａＧＳＭセルに対する登録可能ＰＬＭＮフラグをセットする。次に処理５１７では、ａ　＝　ａ＋１、即ち変数ａのインクリメントを行う。次に判断５１８でａ　＝　ｍ？、即ち第０〜ｍ−１ＧＳＭセルが全て終了したか否かを判断する。一部が終了していない場合は処理５１４に戻る。全てが終了した場合は次に処理５２１で、ＦｌｇＵｐｌｍｎ［０〜ｎ−１］、即ちＵＭＴＳに対する登録可能ＰＬＭＮリストと、ＦｌｇＧｐｌｍｎ［０〜ｍ−１］、即ちＧＳＭに対する登録可能ＰＬＭＮリストとを報告する。以上の処理手順により、登録可能ＰＬＭＮリストが上位レイヤあるいは移動局ユーザに報告される。なお、以上の処理手順は、ＵＭＴＳに対する登録可能ＰＬＭＮリストの作成を先に行い、ＧＳＭに対する登録可能ＰＬＭＮリストの作成を後で行っているが、ＧＳＭに対する登録可能ＰＬＭＮリストの作成を先に行い、ＵＭＴＳに対する登録可能ＰＬＭＮリストの作成を後で行う方法も従来例として存在する。
【０００７】
【特許文献１】
特開２００１−３５９１３７号公報
【特許文献２】
特開２００１−３６９５７号公報
【０００８】
【発明が解決しようとする課題】
ところで、上記従来のマルチモード無線通信装置のＰＬＭＮ選択時間短縮方法にあっては、１つのＵＭＴＳセルに対しては、３段階セルサーチ、ＳＦＮ同期、ＭＩＢ受信、及びＳＩＢｘｘ受信を、また、１つのＧＳＭ　セルに対しては、ＦＣＣＨ／ＳＣＨセル同期、ＳＩ＃３ｏｒ＃４受信、及びＳＩ＃ｘｘ受信を順次実行しており、登録可能ＰＬＭＮリストの作成に時間がかかるという問題点があった。なお、ＵＭＴＳシングルモード無線通信装置あるいはＧＳＭシングルモード無線通信装置がそれぞれにおいても数分間を要する場合もあり、ＵＭＴＳ／ＧＳＭデュアルモード無線通信装置においては、さらなる時間を要することとなる。
【０００９】
本発明は、上記従来の問題点に鑑みてなされたものであって、セルサーチのためのメインタスクの実行が開始されるまでの時間内に、セルサーチのための割込み可能な割込みタスクを実行し、登録可能ＰＬＭＮリストを短時間で作成することができるマルチモード無線通信装置のＰＬＭＮ選択時間短縮方法を提供することを目的とする。
【００１０】
【課題を解決するための手段】
上記課題を解決するために、本発明に係るマルチモード無線通信装置のＰＬＭＮ選択時間短縮方法は、上位レイヤから通信モードに対応したセルリストを取得すると共に、前記セルリストに記載されたセルの各々と、セルサーチのための１つ以上の通信処理との組合せをタスクとして定義する基本タスクスケジュールステップと、前記基本タスクスケジュールステップで定義されたタスクのうちから、処理済タスクを除いてメインタスクを１つ選定するメインタスク選定ステップと、前記基本タスクスケジュールステップで定義されたタスクのうちから、処理済タスクを除いて前記選定されたメインタスクが実行開始となるまでの時間内に処理することが可能なタスクを探索すると共に、前記探索により抽出されたタスクを割り込みタスクとして選定する割り込みタスク選定ステップと、前記メインタスク選定ステップ及び前記割り込みタスク選定ステップにより選定されたタスクを実行するタスク実行ステップと、前記タスク実行ステップにおいて前記選定されたタスクが実行された後で、前記タスクに対応するセルが登録可能なＰＬＭＮか否かを検証するＰＬＭＮ検証ステップと、前記ＰＬＭＮ検証ステップにより、前記タスクに対応するセルが登録可能なＰＬＭＮであると判断された場合に、前記ＰＬＭＮを前記セルと対応付けてＰＬＭＮリストに記録するＰＬＭＮリスト作成ステップと、前記ＰＬＭＮリストを全てのタスクの処理が完了した時点で報告する報告ステップとを備える。
【００１１】
この構成により、セルサーチのためのメインタスクの実行が開始されるまでの時間内に、セルサーチのための割込み可能なタスクを割込みタスクとして実行するので、登録可能ＰＬＭＮリストを短時間で作成することができる。
【００１２】
さらに、前記マルチモード無線通信装置のＰＬＭＮ選択時間短縮方法は、前記タスク実行ステップが、前記割り込みタスク選定ステップにおいて選定されるタスクが存在する場合は、前記選定されたタスクを割り込みタスクとして実行し、選定される割り込みタスクが１つも存在しない場合か、若しくは前記割り込みタスク選定ステップにおいて選定される割り込みタスクが尽きた場合には、前記メインタスク選定ステップにより選定されたメインタスクを実行する。
【００１３】
この構成により、特に、セルサーチのためのメインタスクの実行が開始されるまでの時間内に、割り込みタスクを割り込み可能な限りに実行させることができるアルゴリズムを実行しているので、登録可能ＰＬＭＮリストを短時間で作成することができる。
【００１４】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して説明する。
（実施の形態１）
図１は、本発明に係る実施の形態１のマルチモード無線通信装置のＰＬＭＮ選択時間短縮方法を実行する際の処理手順を示すフローチャートである。図１に処理手順を示すマルチモード無線通信装置のＰＬＭＮ選択時間短縮方法は、処理”基本タスクスケジュール手段”（１０１）　と、処理”メインタスク候補選択手段”（１０２）　と、判断”終了済？”（１０３）と、判断”全Ｃｈｅｃｋ？”（１０４）　と、処理”メインタスク決定手段”（１０５）　と、処理”メインタスク開始までの時間Ｔｍ計算手段”（１０６）と、処理”割込タスク候補選択手段”（１０７）と、判断”終了済？”（１０８）と、判断”全Ｃｈｅｃｋ？”（１０９）と、処理”割込タスク終了までの時間Ｔｉ計算手段”（１１０）　と、判断”Ｔｉ　＜　Ｔｍ？”（１１１）と、判断”全Ｃｈｅｃｋ？”（１１２）と、処理”割込タスク決定手段”（１１３）と、処理”割込タスク実行手段”（１１４）と、判断”登録可能ＰＬＭＮか？”（１１５）と、処理”登録可能ＰＬＭＮリスト追加手段”（１１６）と、処理”メインタスク実行手段”（１１７）と、判断”登録可能ＰＬＭＮか？”（１１８）と、処理”登録可能ＰＬＭＮリスト追加手段”（１１９）と、処理”登録可能ＰＬＭＮリスト報告手段”（１２０）とを有する。
【００１５】
図２は、本発明に係る実施の形態１のマルチモード無線通信装置のＰＬＭＮ選択時間短縮方法を実行する際の詳細処理手順を示すフローチャートである。なお、図２に示す詳細処理手順は、図１に示す処理手順に完全に対応するものではなく、ＵＭＴＳシングルモードに限定した場合を示している。図２に示すマルチモード無線通信装置のＰＬＭＮ選択時間短縮方法は、処理”ＵＭＴＳ　セルリスト０〜ｎ−１取得”（２０１）と、処理”ｄｅｆｉｎｅ　Ｕｔａｓｋ［０〜ｎ−１，０〜３］，　ｄｅｆｉｎｅ　ＦｌｇＵｔａｓｋ［０〜ｎ−１，０〜３］，　ｄｅｆｉｎｅＦｌｇＵｐｌｍｎ［０〜ｎ−１］”（２０２）と、処理”ｉ　＝　０，　ｊ　＝　０，　ＦｌｇＵｔａｓｋ［０〜ｎ−１，０〜３］　＝　０，　ＦｌｇＵｐｌｍｎ［０〜ｎ−１］　＝　０”（２０３）と、処理”ＭａｉｎＴａｓｋ　＝　Ｕｔａｓｋ［ｉ，ｊ］”（２０４）　と、判断”ＦｌｇＵｔａｓｋ［ｉ，ｊ］　＝　１？”（２０５）と、判断”（ｉ　＝　ｎ−１）　＆　（ｊ　＝　３）？”（２０６）と、処理”ｉｆ　ｉ　＝　３，　ｔｈｅｎ　ｉ　＝　ｉ＋１，　ｊ　＝　０，　ｅｌｓｅ　ｊ　＝　ｊ＋１”（　２０７）と、処理”ＭａｉｎＴａｓｋ開始までの時間Ｔｍ計算手段”（２０８）と、処理”ｋ　＝　ｉ＋１，　ｐ　＝　０”（２０９）と、処理”ＩｎｔＴａｓｋ　＝　Ｕｔａｓｋ［ｋ，ｐ］”（２１０）と、判断”ＦｌｇＵｔａｓｋ［ｋ，ｐ］　＝　１？”（２１１）と、判断”（ｋ　＝　ｎ−１）　＆　（ｐ　＝　３）？”（２１２）と、処理”ｉｆ　ｋ　＝　３，　ｔｈｅｎ　ｋ　＝　ｋ＋１，　ｐ　＝　０，ｅｌｓｅ　ｐ　＝　ｐ＋１”（２１３）　と、処理”ＩｎｔＴａｓｋ候補終了までの時間Ｔｉ計算手段”（２１４）と、判断”Ｔｉ　＜　Ｔｍ？”（２１５）と、判断”ｋ　＝　ｎ−１？”（２１６）と、処理”ｋ　＝　ｋ＋１，　ｐ＝０”（２１７）と、処理”ＩｎｔＴａｓｋ実行手段”（２１８）と、処理”ＦｌｇＵｔａｓｋ［ｋ，ｐ］　＝　１”（２１９）　と、判断”ｐ　＝　３？”（２２０）と、判断”登録可能ＰＬＭＮか？”（２２１）と、処理”ＦｌｇＵｐｌｍｎ［ｋ］　＝　１”（２２２）と、処理”ＭａｉｎＴａｓｋ実行手段”（　２２３）と、処理”ＦｌｇＵｔａｓｋ［ｉ，ｊ］　＝　１”（２２４）と、判断”ｊ　＝　３？”（２２５）と、判断”登録可能ＰＬＭＮか？”（２２６）と、処理”ＦｌｇＵｐｌｍｎ［ｉ］　＝　１”（２２７）と、処理”ＦｌｇＵｐｌｍｎ［０〜ｎ−１］報告手段”（２２８）とを有し、これらの処理を図２に示す手順に従って実行することにより実現される。
【００１６】
ここで、Ｕｔａｓｋ［ｘ，ｙ］とは第ｘＵＭＴＳセルに対するＵ（ｙ）、ＦｌｇＵｔａｓｋ［ｘ，ｙ］とは第ｘＵＭＴＳセルに対するＵ（ｙ）タスク完了フラグ、ＦｌｇＵｐｌｍｎ［ｘ］とは第ｘＵＭＴＳセルに対する登録可能ＰＬＭＮフラグ、Ｕ（０）とはＵＭＴＳセルに対する３段階セルサーチ、Ｕ（１）とはＵＭＴＳセルに対するＳＦＮ同期、Ｕ（２）とはＵＭＴＳセルに対するＭＩＢ受信、Ｕ（３）とはＵＭＴＳセルに対するＳＩＢｘｘ受信を、それぞれ示すものとする。
【００１７】
まず、処理２０１で、０〜ｎ−１のｎセルのＵＭＴＳセルリストを上位レイヤから取得する。次に処理２０２で、Ｕｔａｓｋ［０〜ｎ−１，０〜３］、即ち第０〜ｎ−１ＵＭＴＳセルに対するＵ（０〜３）と、ＦｌｇＵｔａｓｋ［０〜ｎ−１，０〜３］、即ち第０〜ｎ−１ＵＭＴＳセルに対するＵ（０〜３）タスク完了フラグと、ＦｌｇＵｐｌｍｎ［０〜ｎ−１］、即ち第０〜ｎ−１ＵＭＴＳセルに対する登録可能ＰＬＭＮフラグとを定義する。
【００１８】
次に処理２０３で、ｉ　＝　０，　ｊ　＝　０、即ち変数ｉ，　ｊの初期化と、ＦｌｇＵｔａｓｋ［０〜ｎ−１，０〜３］　＝　０、即ちＦｌｇＵｔａｓｋ［０〜ｎ−１，０〜３］　の初期化と、ＦｌｇＵｐｌｍｎ［０〜ｎ−１］　＝　０、即ちＦｌｇＵｐｌｍｎ［０〜ｎ−１］の初期化とを実行する。次に処理２０４で、ＭａｉｎＴａｓｋ　＝　Ｕｔａｓｋ［ｉ，ｊ］　、即ちメインタスク候補Ｕｔａｓｋ［ｉ，ｊ］を選択する。次に判断２０５で、ＦｌｇＵｔａｓｋ［ｉ，ｊ］　＝　１？、即ちメインタスク候補Ｕｔａｓｋ［ｉ，ｊ］が終了している否かを判断する。終了していない場合は、次に処理２０８に進む。終了している場合は判断２０６に移る。
【００１９】
判断２０６では、（ｉ　＝　ｎ−１）　＆　（ｊ　＝　３）？、即ち第０〜ｎ−１ＵＭＴＳセルに対するＵ（０〜３）が全て終了している否かを判断する。全て終了している場合は処理２２８に進む。また、一部が終了していない場合は、次に処理２０７にてｉｆ　ｉ　＝　３，　ｔｈｅｎ　ｉ　＝　ｉ＋１，ｊ　＝　０，　ｅｌｓｅ　ｊ　＝　ｊ＋１　、即ち次のメインタスク候補選択のための変数ｉ，　ｊの設定を実行した後、次に前述の処理２０４に進む。
【００２０】
処理２０８では、メインタスク開始までの時間Ｔｍを計算する。次に処理２０９で、ｋ　＝　ｉ＋１，　ｐ　＝　０、即ち変数ｋ，　ｐの初期化を実行する。次に処理２１０で、ＩｎｔＴａｓｋ　＝　Ｕｔａｓｋ［ｋ，ｐ］、即ち割込タスク候補Ｕｔａｓｋ［ｋ，ｐ］を選択する。次に判断２１１でＦｌｇＵｔａｓｋ［ｋ，ｐ］　＝　１？　、即ち割込タスク候補Ｕｔａｓｋ［ｋ，ｐ］が終了しているか否かを判断する。終了していない場合は処理２１４に進む。終了している場合は、次に判断２１２に移り、（ｋ　＝　ｎ−１）　＆　（ｐ　＝　３）？、即ち第０〜ｎ−１ＵＭＴＳセルに対するＵ（０〜３）が全て終了しているか否かを判断する。全てが終了している場合は、次に処理２２３に進む。また、一部が終了していない場合は、次に処理２１３で、ｉｆ　ｋ　＝　３，　ｔｈｅｎ　ｋ　＝　ｋ＋１，ｐ　＝　０，　ｅｌｓｅ　ｐ　＝　ｐ＋１　、即ち次の割込タスク候補選択のための変数ｋ，　ｐの設定を実行し、次に前記処理２１０に進む。
【００２１】
処理２１４では、割込タスク候補終了までの時間Ｔｉを計算する。次に判断２１５で、Ｔｉ　＜　Ｔｍ？、即ちメインタスク開始までに割込タスク候補終了可能か否かを判断する。可能な場合は処理２１８に進む。また、不可能な場合は、次に判断２１６にてｋ　＝　ｎ−１？　、即ち第０〜ｎ−１ＵＭＴＳセルが全て終了しているか否かを判断する。全てが終了している場合は処理２２３に進む。また、一部が終了していない場合は、次に処理２１７にてｋ　＝　ｋ＋１，　ｐ＝０、。即ち次の割込タスク候補選択のための変数ｋ，　ｐの設定を実行し、次に前記処理２１０に進む。
【００２２】
処理２１８では、割込タスクＵｔａｓｋ［ｋ，ｐ］を実行する。次に処理２１９で、ＦｌｇＵｔａｓｋ［ｋ，ｐ］　＝　１、即ち第ｋＵＭＴＳセルに対するＵ（ｐ）タスク完了フラグをセットする。次に判断２２０で、ｐ　＝　３？、即ち第ｋＵＭＴＳセルに対するＳＩＢｘｘ受信が完了したか否かを判断する（なお、ＳＩＢｘｘ　受信により、登録可能なＰＬＭＮか否かを判断することができる）。前記受信が完了していない場合は処理２１３に進む。また、前記受信が完了している場合は、次に判断２２１で、登録可能ＰＬＭＮであるか否かを判断する。登録可能ＰＬＭＮでない場合は処理２１３に進む。また、登録可能ＰＬＭＮである場合は、次に処理２２２で、ＦｌｇＵｐｌｍｎ［ｋ］　＝　１、即ち第ｋＵＭＴＳセルに対する登録可能ＰＬＭＮフラグをセットする。
【００２３】
処理２２３では、メインタスクＵｔａｓｋ［ｉ，ｊ］を実行する。次に処理２２４で、ＦｌｇＵｔａｓｋ［ｉ，ｊ］　＝　１、即ち第ｉＵＭＴＳセルに対するＵ（ｊ）タスク完了フラグをセットする。次に判断２２５で、ｊ　＝　３？、即ち第ｉＵＭＴＳセルに対するＳＩＢｘｘ受信が完了したか否かを判断する（なお、ＳＩＢｘｘ受信により、登録可能なＰＬＭＮか否かを判断することができる）。前記受信が完了していない場合は処理２０７に進む。また、前記受信が完了している場合は、次に判断２２６で、登録可能ＰＬＭＮであるか否かを判断する。登録可能ＰＬＭＮでない場合は処理２０７に進む。登録可能ＰＬＭＮである場合は、次に処理２２７で、ＦｌｇＵｐｌｍｎ［ｉ］　＝　１、即ち第ｉＵＭＴＳセルに対する登録可能ＰＬＭＮフラグをセットする。処理２２８では、ＦｌｇＵｐｌｍｎ［０〜ｎ−１］、即ちＵＭＴＳに対する登録可能ＰＬＭＮリストを報告する。
【００２４】
以上のように、実施の形態１によれば、ＵＭＴＳシングルモード無線通信装置において、メインタスク実行の間に割込みタスクを実行することによってＰＬＭＮ選択時間を短縮することが可能になる。
【００２５】
（実施の形態２）
図３は、本発明に係る実施の形態２のマルチモード無線通信装置のＰＬＭＮ選択時間短縮方法を実行する際の詳細処理手順を示すフローチャートである。なお、図３に示す詳細処理手順は、図１に示す処理手順に完全に対応するものではなく、ＧＳＭシングルモードに限定した場合を示している。
【００２６】
図３に示すマルチモード無線通信装置のＰＬＭＮ選択時間短縮方法は、処理”ＧＳＭセルリスト０〜ｍ−１取得”（３０１）と、処理”ｄｅｆｉｎｅ　Ｇｔａｓｋ［０〜ｍ−１，０〜２］，　ｄｅｆｉｎｅ　ＦｌｇＧｔａｓｋ［０〜ｍ−１，０〜２］，　ｄｅｆｉｎｅ　ＦｌｇＧｐｌｍｎ［０〜ｍ−１］”（３０２）と、処理”ａ　＝　０，　ｂ　＝　０，　ＦｌｇＧｔａｓｋ［０〜ｍ−１，０〜２］　＝　０，　ＦｌｇＧｐｌｍｎ［０〜ｍ−１］　＝　０”（３０３）と、処理”ＭａｉｎＴａｓｋ　＝　Ｇｔａｓｋ［ａ，ｂ］”（３０４）と、判断”ＦｌｇＧｔａｓｋ［ａ，ｂ］　＝　１？”（３０５）と、判断”（ａ　＝　ｍ−１）　＆　（ｂ　＝　２）？”（３０）と、処理”ｉｆ　ｂ　＝　２，　ｔｈｅｎ　ａ　＝　ａ＋１，　ｂ　＝　０，　ｅｌｓｅ　ｂ　＝　ｂ＋１”（３０７）と、処理”ＭａｉｎＴａｓｋ開始までの時間Ｔｍ計算手段”（３０８）と、処理”ｃ　＝　ａ＋１，　ｄ　＝　０”（３０９）と、処理”ＩｎｔＴａｓｋ　＝　Ｇｔａｓｋ［ｃ，ｄ］”（３１０）と、判断”ＦｌｇＧｔａｓｋ［ｃ，ｄ］　＝　１？”（３１１）と、判断”（ｃ　＝　ｍ−１）　＆　（ｄ　＝　２）？”（３１２）と、処理”ｉｆ　ｄ　＝　２，　ｔｈｅｎ　ｃ　＝　ｃ＋１，　ｄ　＝　０，　ｅｌｓｅ　ｄ　＝　ｄ＋１”（３１３）と、処理”ＩｎｔＴａｓｋ候補終了までの時間Ｔｉ計算手段”（３１４）と、判断”Ｔｉ　＜　Ｔｍ？”（３１５）と、判断”ｃ　＝　ｍ−１？”（３１６）と、処理”ｃ　＝　ｃ＋１，　ｄ＝０”（３１７）と、処理”ＩｎｔＴａｓｋ実行手段”（３１８）と、処理”ＦｌｇＧｔａｓｋ［ｃ，ｄ］　＝　１”（３１９）と、判断”ｄ　＝　２？”（３２０）と、判断”登録可能ＰＬＭＮか？”（３２１）と、処理”ＦｌｇＧｐｌｍｎ［ｃ］　＝　１”（３２２）と、処理”ＭａｉｎＴａｓｋ実行手段”（３２３）と、処理”ＦｌｇＧｔａｓｋ［ａ，ｂ］　＝　１”（３２４）と、判断”ｂ　＝　２？”（３２５）と、判断”登録可能ＰＬＭＮか？”（３２６）と、処理”ＦｌｇＧｐｌｍｎ［ａ］　＝　１”（３２７）と、処理”ＦｌｇＧｐｌｍｎ［０〜ｍ−１］報告手段”（３２８）とを有し、これらの処理を図３に示す手順に従って実行することで実現される。
【００２７】
なお、ここでＧｔａｓｋ［ｘ，ｙ］とは第ｘＧＳＭセルに対するＧ（ｙ）、ＦｌｇＧｔａｓｋ［ｘ，ｙ］とは第ｘＧＳＭセルに対するＧ（ｙ）タスク完了フラグ、ＦｌｇＧｐｌｍｎ［ｘ］とは第ｘＧＳＭセルに対する登録可能ＰＬＭＮフラグ、Ｇ（０）とはＧＳＭセルに対するＦＣＣＨ／ＳＣＨセル同期、Ｇ（１）とはＧＳＭセルに対するＳＩ＃３ｏｒ＃４受信、Ｇ（２）とはＧＳＭセルに対するＳＩ＃ｘｘ受信を、それぞれ示すものとする。
【００２８】
まず、処理３０１で、０〜ｍ−１のｍセルのＧＳＭセルリストを上位レイヤから取得する。次に処理３０２で、Ｇｔａｓｋ［０〜ｍ−１，０〜２］、即ち第０〜ｍ−１ＧＳＭセルに対するＧ（０〜２）と、ＦｌｇＧｔａｓｋ［０〜ｍ−１，０〜２］、即ち第０〜ｍ−１ＧＳＭセルに対するＧ（０〜２）タスク完了フラグと、ＦｌｇＧｐｌｍｎ［０〜ｍ−１］、即ち第０〜ｍ−１ＧＳＭセルに対する登録可能ＰＬＭＮフラグとを定義する。次に処理３０３で、ａ　＝　０，　ｂ　＝　０、即ち変数ａ，　ｂの初期化と、ＦｌｇＧｔａｓｋ［０〜ｍ−１，０〜２］　＝　０、即ちＦｌｇＧｔａｓｋ［０〜ｍ−１，０〜２］　の初期化と、ＦｌｇＧｐｌｍｎ［０〜ｍ−１］　＝　０、即ちＦｌｇＧｐｌｍｎ［０〜ｍ−１］の初期化とを実行する。次に処理３０４で、ＭａｉｎＴａｓｋ　＝　Ｇｔａｓｋ［ａ，ｂ］、即ちメインタスク候補Ｇｔａｓｋ［ａ，ｂ］を選択する。次に判断３０５で、ＦｌｇＧｔａｓｋ［ａ，ｂ］　＝　１？　、即ちメインタスク候補Ｇｔａｓｋ［ａ，ｂ］が終了しているか否かを判断する。終了していない場合は処理３０８に進む。終了している場合は、次に判断３０６で、（ａ　＝　ｍ−１）　＆　（ｂ　＝　２）？、即ち第０〜ｍ−１ＧＳＭセルに対するＧ（０〜２）が全て終了しているか否かを判断する。全てが終了している場合は処理３２８に進む。一部が終了していない場合は、次に処理３０７で、ｉｆ　ｂ　＝　２，　ｔｈｅｎ　ａ　＝　ａ＋１，　ｂ＝　０，　ｅｌｓｅ　ｂ　＝　ｂ＋１　、即ち次のメインタスク候補選択のための変数ａ，　ｂの設定を実行し、次に前記処理３０４に進む。
【００２９】
処理３０８では、メインタスク開始までの時間Ｔｍを計算する。次に処理３０９で、ｃ　＝　ａ＋１，　ｄ　＝　０、即ち変数ｃ，　ｄの初期化を実行する。次に処理３１０で、ＩｎｔＴａｓｋ　＝　Ｇｔａｓｋ［ｃ，ｄ］、即ち割込タスク候補Ｇｔａｓｋ［ｃ，ｄ］を選択する。次に判断３１１でＦｌｇＧｔａｓｋ［ｃ，ｄ］　＝　１？　、即ち割込タスク候補Ｇｔａｓｋ［ｃ，ｄ］が終了しているか否かを判断する。終了していない場合は処理３１４に進む。終了している場合は、次に判断３１２で、（ｃ　＝　ｍ−１）　＆　（ｄ　＝　２）？、即ち第０〜ｍ−１ＧＳＭセルに対するＧ（０〜２）が全て終了しているか否かを判断する。全てが終了している場合は処理３２３に進む。一部が終了していない場合は、次に処理３１３で、ｉｆ　ｄ　＝　２，　ｔｈｅｎ　ｃ　＝　ｃ＋１，　ｄ　＝　０，　ｅｌｓｅ　ｄ　＝　ｄ＋１　、即ち次の割込タスク候補選択のための変数ｃ，　ｄの設定を実行し、次に前記処理３１０に進む。
【００３０】
処理３１４では、割込タスク候補終了までの時間Ｔｉを計算する。次に判断３１５で、Ｔｉ　＜　Ｔｍ？、即ちメインタスク開始までに割込タスク候補終了可能か否かを判断する。可能な場合は処理３１８に進む。不可能な場合は、次に判断３１６で、ｃ　＝　ｍ−１？　、即ち第０〜ｍ−１ＧＳＭセルが全て終了しているか否かを判断する。全て終了している場合は処理３２３に進む。一部が終了していない場合は、次に処理３１７で、ｃ　＝　ｃ＋１，　ｄ＝０、即ち次の割込タスク候補選択のための変数ｃ，　ｄの設定を実行し、次に前記処理３１０に進む。
【００３１】
処理３１８では、割込タスクＧｔａｓｋ［ｃ，ｄ］を実行する。次に処理３１９で、ＦｌｇＧｔａｓｋ［ｃ，ｄ］　＝　１、即ち第ｃＧＳＭセルに対するＧ（ｄ）タスク完了フラグをセットする。次に判断３２０で、ｄ　＝　２？、即ち第ｃＧＳＭセルに対するＳＩ＃ｘｘ受信が完了したか否かを判断する（ここで、ＳＩ＃ｘｘには登録可能ＰＬＭＮかどうかを判断できる情報が含まれている）。完了していない場合は処理３１３に進む。完了している場合は、次に判断３２１で、登録可能ＰＬＭＮか否かを判断する。登録可能ＰＬＭＮでない場合は処理３１３に進む。登録可能ＰＬＭＮである場合は、次に処理３２２で、ＦｌｇＧｐｌｍｎ［ｃ］　＝　１、即ち第ｃＧＳＭセルに対する登録可能ＰＬＭＮフラグをセットする。
【００３２】
処理３２３では、メインタスクＧｔａｓｋ［ａ，ｂ］を実行する。次に処理３２４で、ＦｌｇＧｔａｓｋ［ａ，ｂ］　＝　１、即ち第ａＧＳＭセルに対するＧ（ｂ）タスク完了フラグをセットする。次に判断３２５で、ｂ　＝　２？　、即ち第ａＧＳＭセルに対するＳＩ＃ｘｘ受信が完了したか否かを判断する（ここで、ＳＩ＃ｘｘには登録可能ＰＬＭＮかどうかを判断できる情報が含まれている）。完了していない場合は処理３０７に進む。完了している場合は、次に判断３２６で、登録可能ＰＬＭＮか否かを判断する。登録可能ＰＬＭＮでない場合は処理３０７に進む。登録可能ＰＬＭＮである場合は、次に処理３２７で、ＦｌｇＧｐｌｍｎ［ａ］　＝　１、即ち第ａＧＳＭセルに対する登録可能ＰＬＭＮフラグをセットする。処理３２８では、ＦｌｇＧｐｌｍｎ［０〜ｍ−１］、即ちＧＳＭに対する登録可能ＰＬＭＮリストを報告する。
【００３３】
以上のように、実施の形態２によれば、ＧＳＭシングルモード無線通信装置において、メインタスク実行の間に割込みタスクを実行することによってＰＬＭＮ選択時間を短縮することが可能となる。
【００３４】
（実施の形態３）
図４、５、６は、本発明に係る実施の形態３のマルチモード無線通信装置のＰＬＭＮ選択時間短縮方法を実行する際の詳細処理手順を示すフローチャートである。なお、図４、５、６に示す詳細処理手順は、図１に示す処理手順に完全に対応するものではなく、ＵＭＴＳ／ＧＳＭデュアルモードに限定した場合を示している。
【００３５】
図４、５、６に示すマルチモード無線通信装置のＰＬＭＮ選択時間短縮方法は、処理”ＵＭＴＳセルリスト０〜ｎ−１取得”（４０１）と、処理”ＧＳＭセルリスト０〜ｍ−１取得”（４０２）と、処理”ｄｅｆｉｎｅ　Ｕｔａｓｋ［０〜ｎ−１，０〜３］，　ｄｅｆｉｎｅ　ＦｌｇＵｔａｓｋ［０〜ｎ−１，０〜３］，　ｄｅｆｉｎｅ　ＦｌｇＵｐｌｍｎ［０〜ｎ−１］”（４０３）と、処理”ｄｅｆｉｎｅ　Ｇｔａｓｋ［０〜ｍ−１，０〜２］，　ｄｅｆｉｎｅ　ＦｌｇＧｔａｓｋ［０〜ｍ−１，０〜２］，　ｄｅｆｉｎｅ　ＦｌｇＧｐｌｍｎ［０〜ｍ−１］”（４０４）と、処理”ｉ　＝　０，　ｊ　＝０，　ＦｌｇＵｔａｓｋ［０〜ｎ−１，０〜３］　＝　０，　ＦｌｇＵｐｌｍｎ［０〜ｎ−１］　＝　０”（４０５）と、処理”ａ　＝　０，　ｂ　＝　０，　ＦｌｇＧｔａｓｋ［０〜ｍ−１，０〜２］　＝　０，　ＦｌｇＧｐｌｍｎ［０〜ｍ−１］　＝　０”（４０６）と、処理”ＭａｉｎＴａｓｋ　＝　Ｕｔａｓｋ［ｉ，ｊ］”（４０７）と、判断”ＦｌｇＵｔａｓｋ［ｉ，ｊ］　＝　１？”（４０８）と、判断”（ｉ　＝　ｎ−１）　＆　（ｊ　＝　３）？”（４０９）と、処理”ｉｆ　ｊ　＝　３，　ｔｈｅｎ　ｉ　＝　ｉ＋１，　ｊ　＝　０，ｅｌｓｅ　ｊ　＝　ｊ＋１”（４１０）と、処理”ＭａｉｎＴａｓｋ　＝　Ｇｔａｓｋ［ａ，ｂ］”（４１１）と、判断”ＦｌｇＧｔａｓｋ［ａ，ｂ］　＝　１？”（４１２）と、判断”（ａ　＝　ｍ−１）　＆　（ｂ　＝　２）？”（４１３）と、処理”ｉｆ　ｂ＝　２，　ｔｈｅｎ　ａ　＝　ａ＋１，　ｂ　＝　０，　ｅｌｓｅ　ｂ　＝　ｂ＋１”（４１４）と、処理”ＭａｉｎＴａｓｋ開始までの時間Ｔｍ計算手段”　（４１５）と、処理”ｋ　＝　ｉ＋１，　ｐ　＝　０”（４１６）と、処理”ｃ　＝　ａ＋１，　ｄ　＝　０”（４１７）と、処理”ＩｎｔＴａｓｋ　＝　Ｕｔａｓｋ［ｋ，ｐ］”（４１８）と、判断”ＦｌｇＵｔａｓｋ［ｋ，ｐ］　＝　１？”（４１９）と、判断”（ｋ　＝　ｎ−１）　＆　（ｐ　＝　３）？”（４２０）と、処理”ｉｆ　ｐ　＝　３，　ｔｈｅｎ　ｋ　＝　ｋ＋１，　ｐ　＝　０，　ｅｌｓｅ　ｐ　＝　ｐ＋１”（４２１）と、処理”ＩｎｔＴａｓｋ　＝　Ｇｔａｓｋ［ｃ，ｄ］”（４２２）と、判断”ＦｌｇＧｔａｓｋ［ｃ，ｄ］　＝　１？”（４２３）と、判断”（ｃ　＝　ｍ−１）　＆　（ｄ　＝　２）？”（４２４）と、処理”ｉｆ　ｄ　＝　２，　ｔｈｅｎ　ｃ　＝　ｃ＋１，　ｄ　＝　０，　ｅｌｓｅ　ｄ　＝　ｄ＋１”（４２５）と、処理”ＩｎｔＴａｓｋ候補終了までの時間Ｔｉ計算手段”（４２６）と、判断”Ｔｉ　＜　Ｔｍ？”（４２７）と、判断”ｋ　＝　ｎ−１？”（４２８）と、処理”ｋ　＝　ｋ＋１，　ｐ＝０”（４２９）と、判断”ｃ　＝　ｍ−１？”（４３０）と、処理”ｃ　＝　ｃ＋１，　ｄ＝０”（４３１）と、処理”ＩｎｔＴａｓｋ実行手段”（４３２）と、判断”Ｕｔａｓｋ　ｏｒ　Ｇｔａｓｋ？”（４３３）と、処理”ＦｌｇＵｔａｓｋ［ｋ，ｐ］　＝　１”（４３４）と、判断”ｐ＝　３？”（４３５）と、判断”登録可能ＰＬＭＮか？”（４３６）と、処理”ＦｌｇＵｐｌｍｎ［ｋ］　＝　１”（４３７）と、処理”ＦｌｇＧｔａｓｋ［ｃ，ｄ］　＝　１”（４３８）と、判断”ｄ　＝　２？”（４３９）と、判断”登録可能ＰＬＭＮか？”（４４０）と、処理”ＦｌｇＧｐｌｍｎ［ｃ］　＝　１”（４４１）と、処理”ＭａｉｎＴａｓｋ実行手段”（４４２）と、判断”Ｕｔａｓｋ　ｏｒ　Ｇｔａｓｋ？”（４４３）と、処理”ＦｌｇＵｔａｓｋ［ｉ，ｊ］　＝１”（４４４）と、判断”ｊ　＝　３？”（４４５）と、判断”登録可能ＰＬＭＮか？”（４４６）と、処理”ＦｌｇＵｐｌｍｎ［ｉ］　＝　１”（４４７）と、処理”ＦｌｇＧｔａｓｋ［ａ，ｂ］　＝　１”（４４８）と、判断”ｂ　＝２？”（４４９）と、判断”登録可能ＰＬＭＮか？”（４５０）と、処理”ＦｌｇＧｐｌｍｎ［ａ］　＝　１”（４５１）と、処理”ＦｌｇＵｐｌｍｎ［０〜ｎ−１］，ＦｌｇＧｐｌｍｎ［０〜ｍ−１］報告手段”（４５２）とを有し、これらの処理を図４，５，６に示す手順に従って実行することにより実現される。
【００３６】
ここで、Ｕｔａｓｋ［ｘ，ｙ］とは第ｘＵＭＴＳセルに対するＵ（ｙ）、ＦｌｇＵｔａｓｋ［ｘ，ｙ］とは第ｘＵＭＴＳセルに対するＵ（ｙ）タスク完了フラグ、ＦｌｇＵｐｌｍｎ［ｘ］とは第ｘＵＭＴＳセルに対する登録可能ＰＬＭＮフラグ、Ｕ（０）とはＵＭＴＳセルに対する３段階セルサーチ、Ｕ（１）とはＵＭＴＳセルに対するＳＦＮ同期、Ｕ（２）とはＵＭＴＳセルに対するＭＩＢ受信、Ｕ（３）とはＵＭＴＳセルに対するＳＩＢｘｘ受信、Ｇｔａｓｋ［ｘ，ｙ］とは第ｘＧＳＭセルに対するＧ（ｙ）、ＦｌｇＧｔａｓｋ［ｘ，ｙ］とは第ｘＧＳＭセルに対するＧ（ｙ）タスク完了フラグ、ＦｌｇＧｐｌｍｎ［ｘ］とは第ｘＧＳＭセルに対する登録可能ＰＬＭＮフラグ、Ｇ（０）とはＧＳＭセルに対するＦＣＣＨ／ＳＣＨセル同期、Ｇ（１）とはＧＳＭセルに対するＳＩ＃３ｏｒ＃４受信、Ｇ（２）とはＧＳＭセルに対するＳＩ＃ｘｘ受信を示すものとする。
【００３７】
まず、図４において、処理４０１で、０〜ｎ−１のｎセルのＵＭＴＳセルリストを上位レイヤから取得する。次に処理４０２で、０〜ｍ−１のｍセルのＧＳＭセルリストを上位レイヤから取得する。次に処理４０３で、Ｕｔａｓｋ［０〜ｎ−１，０〜３］、即ち第０〜ｎ−１ＵＭＴＳセルに対するＵ（０〜３）と、ＦｌｇＵｔａｓｋ［０〜ｎ−１，０〜３］、即ち第０〜ｎ−１ＵＭＴＳセルに対するＵ（０〜３）タスク完了フラグと、ＦｌｇＵｐｌｍｎ［０〜ｎ−１］、即ち第０〜ｎ−１ＵＭＴＳセルに対する登録可能ＰＬＭＮフラグとを定義する。
【００３８】
次に処理４０４で、Ｇｔａｓｋ［０〜ｍ−１，０〜２］、即ち第０〜ｍ−１ＧＳＭセルに対するＧ（０〜２）と、ＦｌｇＧｔａｓｋ［０〜ｍ−１，０〜２］、即ち第０〜ｍ−１ＧＳＭセルに対するＧ（０〜２）タスク完了フラグと、ＦｌｇＧｐｌｍｎ［０〜ｍ−１］、即ち第０〜ｍ−１ＧＳＭセルに対する登録可能ＰＬＭＮフラグとを定義する。
【００３９】
次に処理４０５で、ｉ　＝　０，　ｊ　＝　０、即ち変数ｉ，　ｊの初期化と、ＦｌｇＵｔａｓｋ［０〜ｎ−１，０〜３］　＝　０、即ちＦｌｇＵｔａｓｋ［０〜ｎ−１，０〜３］　の初期化と、ＦｌｇＵｐｌｍｎ［０〜ｎ−１］　＝　０、即ちＦｌｇＵｐｌｍｎ［０〜ｎ−１］の初期化を実行する。次に処理４０６で、ａ　＝　０，　ｂ　＝　０、即ち変数ａ，　ｂの初期化と、ＦｌｇＧｔａｓｋ［０〜ｍ−１，０〜２］　＝　０、即ちＦｌｇＧｔａｓｋ［０〜ｍ−１，０〜２］の初期化と、ＦｌｇＧｐｌｍｎ［０〜ｍ−１］　＝　０、即ちＦｌｇＧｐｌｍｎ［０〜ｍ−１］の初期化を実行する。
【００４０】
処理４０７では、ＭａｉｎＴａｓｋ　＝　Ｕｔａｓｋ［ｉ，ｊ］、即ちメインタスク候補Ｕｔａｓｋ［ｉ，ｊ］を選択する。次に判断４０８で、ＦｌｇＵｔａｓｋ［ｉ，ｊ］　＝　１？、即ちメインタスク候補Ｕｔａｓｋ［ｉ，ｊ］が終了しているか否かを判断する。終了していない場合は処理４１５に進む。終了している場合は、次に判断４０９で、（ｉ　＝　ｎ−１）　＆　（ｊ　＝　３）？、即ち第０〜ｎ−１ＵＭＴＳセルに対するＵ（０〜３）が全て終了しているか否かを判断する。全て終了している場合は処理４１１に進む。一部が終了していない場合は、次に処理４１０で、ｉｆ　ｊ　＝　３，　ｔｈｅｎ　ｉ　＝　ｉ＋１，　ｊ　＝　０，　ｅｌｓｅ　ｊ　＝　ｊ＋１　、即ち次のメインタスク候補選択のための変数ｉ，　ｊの設定を実行し、次に前記処理４０７に進む。
【００４１】
処理４１１では、ＭａｉｎＴａｓｋ　＝　Ｇｔａｓｋ［ａ，ｂ］、即ちメインタスク候補Ｇｔａｓｋ［ａ，ｂ］を選択する。次に判断４１２で、ＦｌｇＧｔａｓｋ［ａ，ｂ］　＝　１？　、即ちメインタスク候補Ｇｔａｓｋ［ａ，ｂ］が終了しているか否かを判断する。終了していない場合は処理４１５に進む。終了している場合は、次に判断４１３で、（ａ　＝　ｍ−１）　＆　（ｂ　＝　２）？、即ち第０〜ｍ−１ＧＳＭセルに対するＧ（０〜２）が全て終了しているか否かを判断する。全てが終了している場合は処理４５２に進む。一部が終了していない場合は、次に処理４１４で、ｉｆ　ａ　＝　２，　ｔｈｅｎ　ａ　＝　ａ＋１，　ｂ　＝　０，　ｅｌｓｅ　ｂ　＝　ｂ＋１　、即ち次のメインタスク候補選択のための変数ａ，　ｂの設定を実行し、次に前記処理４１１に進む。処理４１５では、メインタスク開始までの時間Ｔｍを計算し、図５に示す処理４１６に移る。
【００４２】
次に、図５において、処理４１６で、ｋ　＝　ｉ＋１，　ｐ　＝　０、即ち変数ｋ，　ｐの初期化を実行する。次に処理４１７で、ｃ　＝　ａ＋１，　ｄ　＝　０、即ち変数ｃ，　ｄの初期化を実行する。処理４１８では、ＩｎｔＴａｓｋ　＝　Ｕｔａｓｋ［ｋ，ｐ］、即ち割込タスク候補Ｕｔａｓｋ［ｋ，ｐ］を選択する。次に判断４１９でＦｌｇＵｔａｓｋ［ｋ，ｐ］　＝　１？　、即ち割込タスク候補Ｕｔａｓｋ［ｋ，ｐ］が終了しているか否かを判断する。終了していない場合は処理４２６に進む。終了している場合は、次に判断４２０で、（ｋ　＝　ｎ−１）　＆　（ｐ　＝　３）？、即ち第０〜ｎ−１ＵＭＴＳセルに対するＵ（０〜３）が全て終了しているか否かを判断する。全てが終了している場合は処理４２２に進む。一部が終了していない場合は、次に処理４２１で、ｉｆ　ｐ　＝　３，　ｔｈｅｎ　ｋ　＝　ｋ＋１，　ｐ　＝　０，　ｅｌｓｅ　ｐ　＝　ｐ＋１　、即ち次の割込タスク候補選択のための変数ｋ，　ｐの設定を実行し、次に前記処理４１８に進む。
【００４３】
処理４２２では、ＩｎｔＴａｓｋ　＝　Ｇｔａｓｋ［ｃ，ｄ］、即ち割込タスク候補Ｇｔａｓｋ［ｃ，ｄ］を選択する。次に判断４２３でＦｌｇＧｔａｓｋ［ｃ，ｄ］　＝　１？、即ち割込タスク候補Ｇｔａｓｋ［ｃ，ｄ］が終了しているか否かを判断する。終了していない場合は処理４２６に進む。終了している場合は、次に判断４２３で、（ｃ　＝　ｍ−１）　＆　（ｄ　＝　２）？、即ち第０〜ｍ−１ＧＳＭセルに対するＧ（０〜２）が全て終了しているか否かを判断する。全てが終了している場合は処理４４２に進む。一部が終了していない場合は、次に処理４２５で、ｉｆ　ｃ　＝　２，　ｔｈｅｎｃ　＝　ｃ＋１，　ｄ　＝　０，　ｅｌｓｅ　ｄ　＝　ｄ＋１　、即ち次の割込タスク候補選択のための変数ｃ，ｄの設定を実行し、次に前記処理４２２に進む。処理４２６では、割込タスク候補終了までの時間Ｔｉを計算する。次に判断４２７で、Ｔｉ　＜　Ｔｍ？、即ちメインタスク開始までに割込タスク候補終了可能か否かを判断する。可能な場合は図６に示す処理４３２に進む。不可能な場合は、次に判断４２８で、ｋ　＝　ｎ−１？、即ち第０〜ｎ−１ＵＭＴＳセルが全て終了しているか否かを判断する。全てが終了している場合は判断４３０に進む。一部が終了していない場合は、次に処理４２９で、ｋ　＝　ｋ＋１，　ｐ＝０、即ち次の割込タスク候補選択のための変数ｋ，　ｐの設定を実行し、次に前述の処理４１８に進む。
【００４４】
判断４３０では、ｃ　＝　ｍ−１？　、即ち第０〜ｍ−１ＧＳＭセルが全て終了しているか否かを判断する。全てが終了している場合は処理４４２に進む。一部が終了していない場合は、次に処理４３１で、ｃ　＝　ｃ＋１，　ｄ＝０、即ち次の割込タスク候補選択のための変数ｃ，　ｄの設定を実行し、次に前記処理４２２に進む。
【００４５】
次に、図６に示す処理４３２では、割込タスクを実行する。次に判断４３３で、Ｕｔａｓｋ　ｏｒ　Ｇｔａｓｋ？、即ち実行した割込タスクがＵＭＴＳのタスクであったか、それともＧＳＭのタスクであったかを判断する。ここで、ＵＭＴＳのタスクであった場合は処理４３４に進み、ＧＳＭのタスクであった場合は処理４３８に進む。
【００４６】
処理４３４では、ＦｌｇＵｔａｓｋ［ｋ，ｐ］　＝　１、即ち第ｋＵＭＴＳセルに対するＵ（ｐ）タスク完了フラグをセットする。次に判断４３５で、ｐ　＝　３？、即ち第ｋＵＭＴＳセルに対するＳＩＢｘｘ受信が完了したか否かを判断する（なお、ＳＩＢｘｘ　受信により、登録可能なＰＬＭＮか否かを判断することができる）。完了していない場合は処理４２１に進む。完了している場合は、次に判断４３６で、登録可能ＰＬＭＮか否かを判断する。登録可能ＰＬＭＮでない場合は処理４２１に進む。登録可能ＰＬＭＮである場合は、次に処理４３７で、ＦｌｇＵｐｌｍｎ［ｋ］　＝　１、即ち第ｋＵＭＴＳセルに対する登録可能ＰＬＭＮフラグをセットする。
【００４７】
処理４３８では、ＦｌｇＧｔａｓｋ［ｃ，ｄ］　＝　１、即ち第ｃＧＳＭセルに対するＧ（ｄ）タスク完了フラグをセットする。次に判断４３９で、ｄ　＝　２？、即ち第ｃＧＳＭセルに対するＳＩ＃ｘｘ受信が完了したか否かを判断する（ここで、ＳＩ＃ｘｘには登録可能ＰＬＭＮかどうかを判断できる情報が含まれている）。完了していない場合は処理４２５に進む。完了している場合は、次に判断４４０で、登録可能ＰＬＭＮか否かを判断する。登録可能ＰＬＭＮでない場合は処理４２５に進む。登録可能ＰＬＭＮである場合は、次に処理４４１で、ＦｌｇＧｐｌｍｎ［ｃ］　＝　１、即ち第ｃＧＳＭセルに対する登録可能ＰＬＭＮフラグをセットする。
【００４８】
処理４４２では、メインタスクを実行する。次に判断４４３で、Ｕｔａｓｋ　ｏｒ　Ｇｔａｓｋ？、即ち実行したメインタスクがＵＭＴＳのタスクであったか、それともＧＳＭのタスクであったかを判断する。ここで、ＵＭＴＳのタスクであった場合は処理４４４に進み、ＧＳＭのタスクであった場合は処理４４８に進む。
【００４９】
処理４４４では、ＦｌｇＵｔａｓｋ［ｉ，ｊ］　＝　１、即ち第ｉＵＭＴＳセルに対するＵ（ｊ）タスク完了フラグをセットする。次に判断４４５で、ｊ　＝　３？、即ち第ｉＵＭＴＳセルに対するＳＩＢｘｘ受信が完了したか否かを判断する（なお、ＳＩＢｘｘ　受信により、登録可能なＰＬＭＮか否かを判断することができる）。完了していない場合は処理４１０に進む。完了している場合は、次に判断４４６で、登録可能ＰＬＭＮか否かを判断する。登録可能ＰＬＭＮでない場合は処理４１０に進む。登録可能ＰＬＭＮである場合は、次に処理４４７で、ＦｌｇＵｐｌｍｎ［ｉ］　＝　１、即ち第ｉＵＭＴＳセルに対する登録可能ＰＬＭＮフラグをセットする。
【００５０】
処理４４８では、ＦｌｇＧｔａｓｋ［ａ，ｂ］　＝　１、即ち第ａＧＳＭセルに対するＧ（ｂ）タスク完了フラグをセットする。次に判断４４９で、ｂ　＝　２？、即ち第ａＧＳＭセルに対するＳＩ＃ｘｘ受信が完了したか否かを判断する（ここで、ＳＩ＃ｘｘには登録可能ＰＬＭＮかどうかを判断できる情報が含まれている）。完了していない場合は処理４１４に進む。完了している場合は、次に判断４５０で、登録可能ＰＬＭＮか否かを判断する。登録可能ＰＬＭＮでない場合は処理４１４に進む。登録可能ＰＬＭＮである場合は、次に処理４５１で、ＦｌｇＧｐｌｍｎ［ａ］　＝　１、即ち第ａＧＳＭセルに対する登録可能ＰＬＭＮフラグをセットする。処理４５２では、ＦｌｇＵｐｌｍｎ［０〜ｎ−１］、即ちＵＭＴＳに対する登録可能ＰＬＭＮリストと、ＦｌｇＧｐｌｍｎ［０〜ｍ−１］、即ちＧＳＭに対する登録可能ＰＬＭＮリストを報告する。
【００５１】
なお、上記の説明では便宜上、ＵＭＴＳに対するタスクを先に、ＧＳＭに対するタスクを後で実行する手順を示しているが、ＧＳＭに対するタスクを先に、ＵＭＴＳに対するタスクを後で実行する方法も可能である。
【００５２】
以上のように、実施の形態３によれば、ＵＭＴＳ／ＧＳＭデュアルモード無線通信装置において、メインタスク実行の間に割込みタスクを実行することによってＰＬＭＮ選択時間を短縮することが可能となる。
【００５３】
【発明の効果】
以上説明したように、本発明によれば、セルサーチのためのメインタスクの実行が開始されるまでの時間内に、セルサーチのための割込み可能なタスクを割込みタスクとして実行することが可能となり、登録可能ＰＬＭＮリストを短時間で作成することができるマルチモード無線通信装置のＰＬＭＮ選択時間短縮方法を提供することができる。
【図面の簡単な説明】
【図１】本発明に係る実施の形態１のマルチモード無線通信装置のＰＬＭＮ選択時間短縮方法を実行する際の処理手順を示すフローチャート。
【図２】本発明に係る実施の形態１のマルチモード無線通信装置のＰＬＭＮ選択時間短縮方法を実行する際の詳細処理手順を示すフローチャート。
【図３】本発明に係る実施の形態２のマルチモード無線通信装置のＰＬＭＮ選択時間短縮方法を実行する際の詳細処理手順を示すフローチャート。
【図４】本発明に係る実施の形態３のマルチモード無線通信装置のＰＬＭＮ選択時間短縮方法を実行する際の詳細処理手順を示すフローチャート（１／３）。
【図５】本発明に係る実施の形態３のマルチモード無線通信装置のＰＬＭＮ選択時間短縮方法を実行する際の詳細処理手順を示すフローチャート（２／３）。
【図６】本発明に係る実施の形態３のマルチモード無線通信装置のＰＬＭＮ選択時間短縮方法を実行する際の詳細処理手順を示すフローチャート（３／３）。
【図７】従来のＵＭＴＳ／ＧＳＭデュアルモード無線通信装置のＰＬＭＮ選択方法を実行する処理手順を示すフローチャート。
【符号の説明】
１０１　　基本タスクスケジュール手段
１０２　　メインタスク候補選択手段
１０５　　メインタスク決定手段
１０６　　メインタスク開始までの時間Ｔｍ計算手段
１０７　　割込タスク候補選択手段
１１０　　割込タスク終了までの時間Ｔｉ計算手段
１１３　　割込タスク決定手段
１１４　　割込タスク実行手段
１１６　　登録可能ＰＬＭＮ追加手段
１１７　　メインタスク実行手段
１１９　　登録可能ＰＬＭＮ追加手段
１２０　　登録可能ＰＬＭＮリスト報告手段
２０８　　ＭａｉｎＴａｓｋ開始までの時間Ｔｍ計算手段
２１４　　ＩｎｔＴａｓｋ候補終了までの時間Ｔｉ計算手段
２１８　　ＩｎｔＴａｓｋ実行手段
２２３　　ＭａｉｎＴａｓｋ実行手段
２２８　　ＦｌｇＵｐｌｍｎ［０〜ｎ−１］報告手段
３０８　　ＭａｉｎＴａｓｋ開始までの時間Ｔｍ計算手段
３１４　　ＩｎｔＴａｓｋ候補終了までの時間Ｔｉ計算手段
３１８　　ＩｎｔＴａｓｋ実行手段
３２３　　ＭａｉｎＴａｓｋ実行手段
３２８　　ＦｌｇＧｐｌｍｎ［０〜ｍ−１］報告手段
４１５　　ＭａｉｎＴａｓｋ開始までの時間Ｔｍ計算手段
４２６　　ＩｎｔＴａｓｋ候補終了までの時間Ｔｉ計算手段
４３２　　ＩｎｔＴａｓｋ実行手段
４４２　　ＭａｉｎＴａｓｋ実行手段
４５２　　ＦｌｇＵｐｌｍｎ［０〜ｎ−１］，ＦｌｇＧｐｌｍｎ［０〜ｍ−１］報告手段
【図１】
2004104246.tif 000003
【図２】
2004104246.tif 000004
【図３】
2004104246.tif 000005
【図４】
2004104246.tif 000006
【図５】
2004104246.tif 000007
【図６】
2004104246.tif 000008
【図７】
2004104246.tif 000009