(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0008】
図1は、実施形態のハンディターミナル装置の外観正面図である。
ハンディターミナル装置10は、レストランなどにおいて顧客の注文を受けるために用いられるものであり、本体ケース11と、扉ケース12と、がヒンジ13により開閉自在に連結されている。
【0009】
本体ケース11には、図示しないバックライトを有し、各種情報を表示するディスプレイ14と、ディスプレイ14よりも大きなサイズとされ、ディスプレイ14の表面側に載置されて、ディスプレイ14が位置していない部分に複数個の固定キーが配置された固定キー部15が設けられて各種データを入力するタッチパネル16と、が設けられ、タッチパネル16のディスプレイ14に対応する部分はタッチパネルディスプレイとして機能している。
【0010】
また、扉ケース12には、各種データを入力するため複数の操作区画17Aを有するタッチパネル17と、タッチパネル17の表面に載置され、メニュー項目を容易に変更可能に表示するためにタッチパネルの操作領域に対応付けて各種メニューが表示され、扉ケース12に対して着脱自在のメニューシート18と、このメニューシート18を保護するための同じく扉ケース12に対して着脱自在のメニューシートカバー19が設けられている。
【0011】
図2は、ハンディターミナル装置の概要構成ブロック図である。
ハンディターミナル装置10は、ディスプレイ14と、タッチパネル16と、タッチパネル17と、無線通信インタフェース動作を行う無線通信インタフェース(I/F)21と、ハンディターミナル装置10全体の制御を行うMPU22と、制御プログラム等の各種データを不揮発的に記憶するROM23と、ワーキングエリアとして用いられ、各種データを一時的に記憶するRAM24と、ファームウェア及び各種の設定データ等を不揮発的、かつ、更新可能に記憶するフラッシュROM25と、ディスプレイ14、タッチパネル16及びタッチパネル17との間でインタフェース動作を行う入出力インタフェース(I/F)26と、を備えている。
【0012】
ここで、MPU22と、ROM23、RAM24、フラッシュROM25及び入出力インタフェース(I/F)26は、バス27を介して接続されている。
上記構成において、フラッシュROM25には、サスペンド状態から復帰するレジューム処理を行う場合のデバイスドライバの起動手順を予め記憶している。ここで、起動手順には、レジューム処理をマルチタスクで行う場合の、タスクの振り分けについても記憶している。
【0013】
次に実施形態の動作を説明する。
以下の説明においては、レジューム処理としてハンディターミナル装置10を構成する各種デバイス(ディスプレイ、タッチパネル、通信インタフェース等)を、オペレーティングシステムの制御下で制御するためのデバイスドライバの起動処理を例として説明する。
【0014】
この場合において、デバイスドライバを複数のレジューム処理として分割する場合には、各レジューム処理が互いに影響を与えず(互いに干渉せず)、独立して起動が可能な複数のモジュール(あるいはモジュール群)に分けられ、各モジュール(あるいはモジュール群)を特定するための情報は、フラッシュROM25に記憶(記述)されているものとする。
【0015】
図3は、デバイスドライバの起動処理のフローチャートの一例を示す図である。
まず、MPU22は、サスペンド状態に移行する条件が満たされたか否かを判別する(ステップS11)。
ここで、サスペンド状態に移行する条件とは、ユーザがサスペンド状態に移行することを指示した場合、当該ハンディターミナル装置10が最後に操作されてから所定の時間が経過した場合等である。
【0016】
ステップS11の判別において、未だサスペンド状態に移行する条件が満たされていない場合には(ステップS11;No)、MPU22は、待機状態となる。
ステップS11の判別においてサスペンド状態に移行する条件を満たした場合には(ステップS11;Yes)、MPU22は、サスペンド移行処理を行い、作業状態を省電力モードでメモリやキャッシュメモリに保存し、データやプログラムを作業時の状態のまま保存するサスペンド状態に移行して、省電力状態となる(ステップS12)。
【0017】
次にMPU22は、レジューム処理条件を満たしたか、すなわち、通常動作状態に移行する指示がなされたか否かを判別する(ステップS13)。
具体的には、ハンディターミナル装置10の図示しないサイドキーを操作したり、タッチパネル16、17を操作したり、扉ケース12を開いたり(例えば、磁気センサにより検出)したような場合には、レジューム処理条件を満たしたものとする。
【0018】
ステップS13の判別において、未だレジューム処理条件を満たしていない場合には(ステップS13;No)、サスペンド状態を維持すべく、再び待機状態となる。
ステップS13の判別においてレジューム処理条件を満たした、すなわち、レジューム処理条件を満たす操作がなされた場合には(ステップS13;Yes)、MPU22は、フラッシュROM25に予め記憶していた処理手順(起動処理手順)を読み出す(ステップS14)。
【0019】
図4は、処理手順の説明図である。
まず、従来の処理手順について説明する。
従来においては、第1デバイスドライバ〜第6デバイスドライバを組み込む場合には
図4(a)に示すように、順番に起動するようにしていた。
【0020】
このため、デバイスドライバの起動処理に要する時間は各デバイスドライバD1〜D6の起動処理に要する時間の総和(=t2−t0)となっていた。
ところで、デバイスドライバの起動処理において、複数のデバイスドライバを同時に並行して起動したとしても競合する虞が無い場合や、デバイスドライバが複数の部分(モジュール)で構成されている場合に、あるモジュール(あるいはモジュール群)と他のモジュール(あるいは他のモジュール群)を同時並行して起動したとしても競合する虞が無い場合がある。
【0021】
このような場合には、例えば、
図4(b)に示すように、第3デバイスドライバD3は、第1モジュール群D3M1と、第2モジュール群D3M2と、で構成され、第1モジュール群D3M1と、第2モジュール群D3M2と、を同時並行して起動したとしても競合する虞が無い(論理的に矛盾が生じる虞がない)場合は、これらを二つに分割して同時並行して起動処理を行うことが可能となる。
このようなモジュール群の例としては、ディスプレイ14を液晶ディスプレイとした場合の表示デバイスドライバにおける液晶ディスプレイ(LCD)ONシーケンスなどが挙げられる。
【0022】
この結果、第3デバイスドライバD3において第2モジュール群D3M2の起動処理が最も時間を要する場合には、マルチタスクとして二つのタスクを同時に行った場合には、第2モジュール群D3M2の起動処理に要する時間(起動処理時間=T2)で当該第3デバイスドライバD3の起動処理が完了することとなる。
【0023】
すなわち、第3デバイスドライバD3の起動処理時間(=T1)から第2モジュール群D3M2の起動処理に要する時間(=T2)を引いた時間(=T1−T2)だけ、デバイスドライバ全体の起動処理時間を短縮することができ、従来、時刻t2に終わっていた起動処理を次式で表される時刻t1に終えることができる。
t1=t2−(T1−T2)
よって、ハンディターミナル装置10を高速に起動することが可能となる。
【0024】
そこで、本実施形態においては、MPU22は、各デバイスドライバD1〜D6の起動処理時に、ステップS14で読み出した処理手順に従って、次の処理対象のデバイスドライバ(あるいは、デバイスドライバを構成するモジュール群)に対し、同時並行して起動処理を行うことが可能なデバイスドライバあるいはモジュール群が存在するか否か、すなわち、マルチタスク処理が可能か否かを判別する(ステップS15)。
【0025】
ステップS15の判別において、マルチタスク処理が可能である場合には(ステップS15;Yes)、MPU22は、次の処理対象のデバイスドライバ(あるいは、デバイスドライバを構成するモジュール群)及び同時並行して処理可能な一又は複数のデバイスドライバあるいは一又は複数のモジュール群を複数のタスクとして読み出し(ステップS16)、マルチタスク処理を行うこととなる(ステップS17)。
【0026】
より具体的には、
図4の例の場合、MPU22は、次の処理対象のデバイスドライバがデバイスドライバD3である場合には、デバイスドライバD3を構成するとともに、同時並行して処理可能な複数のモジュール群D3M1、D3M2を複数のタスクとして読み出し(ステップS16)、マルチタスク処理を行うこととなる(ステップS17)。
【0027】
一方、ステップS15の判別においてマルチタスク処理が行えない場合には(ステップS15;No)、MPU22は、次の処理対象のデバイスドライバをシングルタスクとしてタスク読み出しを行い(ステップS18)、シングルタスク処理を行うこととなる(ステップS19)。
【0028】
より具体的には、
図4の例の場合、MPU22は、次の処理対象のデバイスドライバがデバイスドライバD1、D2、D4、D5、D6のいずれかである場合には、次の処理対象のデバイスドライバD1、D2、D4、D5、D6のいずれかをそれぞれシングルタスクとしてタスク読み出しを行い(ステップS18)、シングルタスク処理を行うこととなる(ステップS19)。
【0029】
次にMPU22は、ステップS14で読み出した処理手順に対応する全タスクが終了したか否かを判別する(ステップS20)。
ステップS20の判別において、未だ読み出した処理手順に対応する全タスクが終了していない場合には(ステップS20;No)、MPU22は、処理を再びステップS15に移行して、以下、同様の処理を繰り返す。
【0030】
ステップS20の判別において、読み出した処理手順に対応する全タスクが終了した場合には(ステップS20;Yes)、MPU22は、ハンディターミナル装置10における通常処理に移行する(ステップS21)。
【0031】
以上の説明のように、本実施形態によれば、ハンディターミナル端末を高速に立ち上げること(レジューム処理に要する時間を短縮化すること)が可能となる。
【0032】
以上の説明においては、マルチタスク処理において、二つのタスクを同時並行して処理を行う例について説明したが、三つ以上のタスクを同時並行して処理するように構成することも可能である。
【0033】
また、以上の説明においては、マルチタスク処理において、二つのデバイスドライバモジュール群を同時並行して処理する場合について説明したが、モジュール群ではなく、デバイスドライバを同時並行して処理するように構成することも可能である。
【0034】
本実施形態のハンディターミナル装置で実行される制御プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【0035】
また、本実施形態のハンディターミナル装置で実行される制御プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態のハンディターミナル装置で実行される制御プログラムをインターネット等のネットワーク経由で提供又は配布するように構成しても良い。
また、本実施形態の制御プログラムを、ROM等に予め組み込んで提供するように構成してもよい。
【0036】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。