(57)【特許請求の範囲】
【請求項１】
無線通信システムの移動局において移動局のプロセッサ上で実行するソフトウェアを移動局内に取付け可能な複数のハードウェアデバイスの任意のものとインターフェースするためのシステムにおいて、
ソフトウェアアプリケーションから受取ったコマンドを、複数のハードウェアデバイスの選択されたハードウェアデバイスが使用するためのコマンドに変換する論理デバイスドライバと、
前記変換されたコマンドを前記論理デバイスドライバから受取り、選択されたハードウェアデバイスを直接制御する物理的デバイスドライバとを含んでおり、
前記受取ったコマンドはコアコマンドと拡張コマンドを含んでおり、前記論理デバイスドライバは、前記受取ったコマンドに応答して、前記受取った各コマンド内に指定されている選択されたハードウェアデバイスから情報を入力し、その情報に基づいて、選択されたハードウェアデバイスを制御するためのコアコマンドの変換を行い、選択されたハードウェアデバイスの増強制御のための拡張コマンドの変換を行い、前記拡張コマンドが最初にコアコマンドに変換される、システム。
【請求項２】
前記論理デバイスドライバは、バーチャルキーパッドドライバ、バーチャルポインタドライバ、バーチャル共通ディスプレイドライバ、バーチャル文字ベースのディスプレイドライバ、バーチャルビットマップベースのディスプレイドライバ、バーチャル不揮発性メモリデバイスドライバ、バーチャルユーザＱＤＳＰドライバ、バーチャルＡＤＣドライバ、およびバーチャルＧＰＩＯドライバを含むグループから選択されている請求項１記載のシステム。
【請求項３】
前記受取ったコマンドは、キーパッドコマンド、ポインタコマンド、共通ディスプレイコマンド、文字ベースディスプレイコマンド、ビットマップベースディスプレイコマンド、不揮発性メモリデバイスコマンド、ユーザＱＤＳＰコマンド、ＡＤＣコマンド、およびＧＰＩＯコマンドを含むグループから選択されている請求項２記載のシステム。
【請求項４】
前記キーパッドコマンドは、キーパッド事象検出コマンド、キーパッド事象加入コマンド、キーパッド電力節約コマンド、キーパッドロックコマンド、およびキーパッド状態コマンドを含むグループから選択されたコアコマンドを含んでいる請求項３記載のシステム。
【請求項５】
前記ポインタコマンドは、ポインタ事象検出コマンド、ポインタ事象加入コマンド、ポインタ電力節約コマンド、およびポインタ状態コマンドを含むグループから選択されたコアコマンドを含んでいる請求項３記載のシステム。
【請求項６】
前記共通ディスプレイコマンドは、信号表示器コマンド、信号表示器状態コマンド、ディスプレイ電力節約コマンド、ディスプレイ付勢コマンド、バックライト付勢コマンド、ディスプレイコントラストコマンド、ディスプレイバッファコマンド、文字ディスプレイコマンド、ＡＣＳＩＩコマンド、ＵＮＩＣＯＤＥコマンド、コード選択コマンド、クリアディスプレイコマンド、およびスナップショット報告コマンドを含むグループから選択されたコアコマンドを含んでいる請求項３記載のシステム。
【請求項７】
前記文字ベースディスプレイコアコマンドはユーザ規定文字選択コマンドを含んでいる請求項３記載のシステム。
【請求項８】
前記ビットマップベースのディスプレイコマンドは、ビットマップ描写コマンドおよびビットマップ領域制御コマンドを含むグループから選択されたコアコマンドを含んでおり、さらに、ディスプレイ領域定義コマンド、解像度コマンド、ディスプレイカラーコマンド、文字フォント、ディスプレイおよびカラーコマンド、グラフィックオブジェクトコマンド、グラフィックアイコンコマンドならびにアニメーションコマンドを含むグループから選択された拡張コマンドを含んでいる請求項３記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に移動通信システムにおいて使用される移動局に関し、とくに、移動局において使用されるバーチャルデバイスアーキテクチャに関する。
【背景技術】
【０００２】
移動通信システム内で使用されるセルラー電話またはその他の移動局は典型的に、キーパッド、文字ディスプレイ、無線周波数（ＲＦ）トランシーバ等の種々の周辺コンポーネントを制御する１以上のプロセッサを含んでいる。使用において、プロセッサ上で実行するソフトウェアは、たとえば無線電話呼を開始するために種々の周辺装置を制御するように動作する。これに関して、プロセッサはダイヤルされる電話番号を表すキーストロークの入力を検出するためにキーパッドを監視すると同時に、文字ベースのディスプレイを使用してその番号を表示する。番号が一度入力され、キーパッドＳＥＮＤコマンドが入力されると、プロセッサはＲＦトランシーバのような別のコンポーネントを制御して、ダイヤルされている電話番号を表す信号を含む適切な信号を基地局に送信することによって電話呼を開始する。
【０００３】
プロセッサは、種々の特定モデルのコンポーネントを含む種々の周辺コンポーネントを制御することができることが好ましい。たとえば、プロセッサは特定モデルの文字ベースのディスプレイおよび、または特定モデルのビットマップベースのディスプレイを制御することができることが好ましい。プロセッサが種々の異なった周辺装置を制御することを可能にすることによって、製造業者は、種々の顧客にアピールするか、あるいは異なったニーズを満足させるような周辺コンポーネントの異なった組合せをそれぞれ有する種々のセルラー電話モデルを設計および製造することができる。たとえば、１つのセルラー電話は最新式のビットマップディスプレイ、非常に多くのキーを有するキーパッド、およびタッチ感応スクリーンのような指示装置を含んでいてもよい。別の少し廉価なセルラー電話は、基本的な１２キーのキーパッドと共に小型の文字ベースディスプレイだけを含んでいてもよい。
【０００４】
種々の周辺装置を制御することのできるプロセッサを設けることが望ましいが、異なった周辺コンポーネントが互いに異なったコマンド信号を使用するために問題が生じる。その結果、典型的に、周辺コンポーネントの異なった組合せのそれぞれに対してプロセッサ上で実行するソフトウェアの異なったバージョンが提供されることが必要になる可能性がある。したがって、あるバージョンのプロセッサソフトウェアが文字ベースのディスプレイによる使用のために生成され、別のものがビットマップベースのディスプレイによる使用のために生成される。種々のディスプレイの特定の構成に応じて、ソフトウェアの異なったバージョンが異なった製造業者により提供されるディスプレイに対して必要となる可能性があり、それはまた単一の製造業者により提供される異なったディスプレイモデルに対して必要とされる可能性がある。認識されることができるように、種々の異なった周辺コンポーネントが移動局内での使用に利用可能である場合、および製造業者またはモデル番号に応じて大きく異なる場合、プロセッサソフトウェアの種々の異なったバージョンが必要とされる。したがって、ソフトウェアを開発、維持および更新するために必要な時間と費用が著しく大きくなる可能性が高く、その結果消費者の出費が増し、おそらく新しい移動局製品の開発が遅れる可能性が生じる。
【０００５】
上述の問題は、とくに“スマートホン”すなわち、パーソナルデジタルアシスタント（ＰＤＡ）機能等のような無線電話の機能を超えた種々の付加機能が可能な無線電話に関して重大である。典型的にスマートホンには通常の無線電話より多くの周辺ハードウェアコンポーネントが必要であり、したがって周辺ハードウェアコンポーネントを制御できるソフトウェアの開発に関連した問題はさらに深刻なものとなる。
【０００６】
したがって、移動局のプロセッサ上で実行するソフトウェアが１組のバーチャルデバイスドライバによって種々の異なった周辺コンポーネントの任意のものとインターフェースすることを可能にするために、移動局、とくにスマートホン内においてバーチャルデバイスアーキテクチャを構成することが非常に望ましく、したがってそれが本発明の特徴である。本発明の別の特徴は、高レベルの論理コマンドから抽象的な物理的デバイス制御を行うことである。
【０００７】
移動局において、とくにスマートホンにおいて使用されるマップベースディスプレイデバイスおよびポインタデバイスのような最新のデバイス、ならびにＲＦ送信機のような無線移動局に特有のデバイスの能力を十分に利用するようにリッチなコマンドセットを提供するバーチャルデバイスアーキテクチャを提供することもまた望ましい。
【発明の概要】
【０００８】
本発明によると、無線通信システムの移動局のプロセッサ上で実行するソフトウェアを移動局内に接続可能な複数のハードウェアデバイスの任意のものとインターフェースするシステムが提供される。このシステムは、ソフトウェアアプリケーションから受取られたコマンドを、選択されたハードウェアデバイスによる使用に適したコマンドに変換する１組の論理またはバーチャルデバイスドライバと、変換されたコマンドをバーチャルデバイスドライバから受取り、選択されたハードウェアデバイスを直接制御する物理的デバイスドライバとを含んでいる。周辺装置により使用されるバーチャルおよび物理的デバイスドライバを提供することにより、異なったタイプの周辺装置に適合するためにプロセッサ上で実行するソフトウェアの異なったバージョンを設ける必要が実質的に除去され、結果的にソフトウェアの開発、保守およびアップグレードに関連した時間および費用が著しく減少する。
【０００９】
例示的な実施形態において、移動局は、移動電話機能を行うことが可能であり、かつカレンダー、スケジュール等のパーソナルデジタルアシスタント（ＰＤＡ）機能を行うこともできるスマートホンである。２つの別々のプロセッサが設けられ、１つは移動電話機能を処理するためのものであり、他方は“ＰＤＡ”機能を処理するためのものである。その代り、単一の統合されたプロセッサが両方の機能セットを処理するために設けられる。移動局内で動作するソフトウェアは、デバイスカプセル化層、標準／サービスカプセル化層、およびユーザアプリケーションカプセル化層を含んでいる。上記の論理および物理的デバイスドライバはデバイスカプセル化層の一部分を形成する。とくに、デバイスカプセル化層は、ディスプレイドライバ、ＲＦトランシーバドライバ等の種々の物理的デバイスドライバを含むボードサポートパッケージ（ＢＳＰ）を含んでいる。ＢＳＰから分離した付加的なデバイスドライバもまた設けられていてもよい。上述した論理デバイスドライバは、物理的デバイスドライバと標準／サービスカプセル化層との間にインターフェースを形成し、この標準／サービスカプセル化層には呼管理、音声サービス、電力管理サービス等を提供するソフトウェアが含まれる。したがって、標準／サービスカプセル化層のソフトウェアは、音声認識ソフトウェアのような任意のユーザアプリケーションまたは他の高レベルソフトウェア機能とのインターフェースを提供する。
【００１０】
例示的な実施形態において、デバイスカプセル化層の論理デバイスドライバは、選択されたハードウェアデバイスを制御するために必要なコアコマンドの変換と、選択されたハードウェアデバイスの拡張制御のための拡張コマンドの変換とを行う。論理デバイスドライバは、物理的デバイスドライバへの転送の前に、拡張コマンドをコアコマンドに変換するように動作する。例示的なコアコマンドは、ビットマップベースのディスプレイデバイスにより使用される描写コマンドおよび領域制御コマンドを含んでいる。ビットマップベースのディスプレイにより使用される例示的な拡張コマンドは、ビットマップベースのディスプレイのディスプレイ領域と解像度とカラーとを制御するためのコマンドを含んでいる。別の拡張コマンドは、グラフィックオブジェクト、グラフィックアイコンおよびアニメーションを制御するためのコマンドを含んでいる。コアコマンドおよび拡張コマンドの両者を適合させることのできる論理デバイスドライバを設けることによって、リッチな周辺コマンドセットが提供されることができ、それによってビットマップディスプレイ、ポインタデバイス等の最新のハードウェアデバイスを含む種々の周辺装置の能力を利用しているにもかかわらず、プロセッサ上で実行するソフトウェアの異なったバージョンを提供する必要性が減少するか、あるいはなくなる。
【００１１】
したがって、コアコマンドおよび拡張コマンドの両者を適合させ、ＲＦトランシーバデバイスを含む移動局に特有の非常に多数の周辺装置を適合させるバーチャルデバイスアーキテクチャを提供することにより、上述した欠点は実質的に克服される。本発明のその他の目的、利点および特徴は、以下の詳細な説明および添付図面から明らかになるであろう。
【図面の簡単な説明】
【００１２】
【図１】無線電話機を示すブロック図、および移動電話機内で使用されるハードウェアおよびソフトウェアコンポーネントを示し、とくにソフトウェア内で使用されるバーチャルデバイスアーキテクチャを示すブロック図。
【図２】図１の移動電話機のハードウェアおよびソフトウェアを示し、とくにバーチャルデバイスアーキテクチャを詳細に示すブロック図。
【詳細な説明】
【００１３】
本発明の特徴、目的および利点は以下に示されている詳細な説明および添付図面から明らかになるであろう。なお、図面において同じ参照符号が一貫して使用されている。  
上述した本発明の例示的な実施形態において参照とされている図面を見ると、ある移動電話機内で使用される特定のバーチャルデバイスアーキテクチャ構成を参照として例示的な実施形態が説明されるが、本発明の原理は別の無線通信装置で使用される別のバーチャルデバイスアーキテクチャにも適応可能である。
【００１４】
図１は、ＣＤＭＡスマートホンのような移動局100 の機能図と、移動電話機内で動作するソフトウェアおよびハードウェアコンポーネント102 の機能図とを表している。ハードウェアおよびソフトウェアコンポーネントはハードウェア層104 ［移動局マネジャ（ＭＳＭ）特定用途向け集積回路（ＡＳＩＣ）］、電池106 、文字数字キーパッド108 、ビットマップディスプレイ装置110 、メモリ112 、スピーカ114 および無線周波数（ＲＦ）トランシーバ116 のような種々の周辺コンポーネントを含んでいる。図１にとくに示されてはいないが、ハードウェア層は１以上のプログラム可能なマイクロプロセッサを含んでいる。構成に応じて、移動電話機能を処理するために１つのマイクロプロセッサが構成されてもよく、一方ＰＤＡ機能のような別の機能を処理するために別のマイクロプロセッサが設けられる。代りに、移動電話機能およびその他全ての機能を統合する単一のＡＳＩＣが設けられてもよい。
【００１５】
ハードウェア層104 のマイクロプロセッサ内で実行するソフトウェアは、デバイスカプセル化層118 ［ボードサポートパッケージ（ＢＳＰ）120 ］、標準／サービスカプセル化層122 、ユーザＡＰＩ層124 およびユーザインターフェースおよび音声アプリケーション層126 を含んでいる。ＢＳＰは、マイクロプロセッサの外部の、上述した電池、キーパッド、メモリ、ＲＦトランシーバ等を含む種々の周辺ハードウェアコンポーネントを制御する特定の物理的デバイスドライバを含んでいる。各物理的デバイスドライバは、特定の対応したハードウェアデバイスを制御するためにマイクロプロセッサから受取られた信号を変換するソフトウェアを含んでいる。物理的デバイスドライバはまた、マイクロプロセッサ中に入力するためにハードウェアデバイスから受取られた信号を変換するソフトウェアを含んでいる。マイクロプロセッサと外部周辺装置との間にインターフェースを提供する１組のソフトウェアデバイスドライバを設けることによって、マイクロプロセッサ上で実行する別のソフトウェアコンポーネントに対して著しい修正を必要とせずに、異なった周辺コンポーネントの種々の組合せが使用されることができる。したがって、たとえば、ビットマップディスプレイ装置110 が文字ベースのディスプレイ装置に切換えられた場合、ＢＳＰの対応した物理的デバイスドライバは、任意の他のソフトウェアへの実質的な修正を必要とせずに文字ベースのディスプレイ装置に特有のドライバと置換される。ＢＳＰをソフトウェアの最下層として提供することによって、標準／サービスカプセル化層、ユーザＡＰＩ層およびユーザインターフェースおよび音声アプリケーション層のようなその上のソフトウェアアプリケーション層は、新しい周辺装置が移動局中に導入された場合でも、必要とされる変更は最小限である。図１のデバイスアーキテクチャはまた、デバイスドライバソフトウェアの可搬性、保守可能性、拡張可能性および試験可能性を増強するので、全体的なシステム開発時間および費用を減少させる。ＢＳＰは、ユーザアプリケーション、デバイスドライバソフトウェアおよびハードウェアデバイスの容易な開発および統合を可能にするフレキシブルなアーキテクチャを提供する。ＢＳＰはまた、デバイスドライバソフトウェア開発用のモジュラ設計を強化するフレームワークを提供し、それによって上述したソフトウェアモジュールの可搬性、保守可能性、拡張可能性および試験可能性を向上する。さらに、ＢＳＰは標準の拡張可能なＡＰＩ機能セットを提供するので、ファームウェアデザイナー、とくにＡＳＩＣデザイナーはアプリケーションソフトウェアを容易に構成し、異なったデバイスドライバをインストールすることが可能となり、それによって市場に出るまでの時間および費用がさらに減少する。
【００１６】
次にＢＳＰ120 をさらに詳細に検討すると、ＢＳＰは、ＲＦトランシーバ116aを制御するＲＦドライバ128 、持続性メモリ112 を制御する不揮発性メモリドライバ130 、ビットマップディスプレイ装置110 を制御するディスプレイデバイスドライバ132 、キーパッド108 を制御する入力装置ドライバ133 、電池100 およびその他の信号を監視するハウスキーピングアナログデジタルコンバータ（ＨＫ  ＡＤＣ）ドライバ134 を含んでいる。ＢＳＰはまた１組の汎用入出力（ＧＰＩＯ）ドライバ136 および１組のユーザデジタル信号プロセッサ（ＤＳＰ）オブジェクト138 を含んでいる。
【００１７】
図２には、種々のソフトウェア層がさらに詳細に示されている。図１の種々の周辺ハードウェアコンポーネントは、ＭＳＭ  ＡＳＩＣハードウェア104 から明瞭に区別されるように図２内ではハンドセットハードウェア140 として示されている。物理的デバイスインターフェース（ＰＤＩ）142 は、ハードウェアコンポーネントとＢＳＰ120 の種々のドライバとの間に存在する。付加的な物理的デバイスドライバ144 はＰＤＩを通ってＭＳＭ  ＡＳＩＣとインターフェースするためにデバイスカプセル化層内に設けられている。ＢＳＰのドライバおよびＭＳＭ  ＡＳＩＣデバイスドライバはそれぞれ各論理デバイスドライバ146 および148 によって論理デバイスインターフェース150 に接続され、この論理デバイスインターフェース150 はデバイスカプセル化層と標準／サービスカプセル化層との間にインターフェースを提供する。いくつかのＭＳＭ  ＡＳＩＣデバイスドライバは、標準／サービスカプセル化層のトラフィックデバイスに直接接続されており、このトラフィックデバイスは、論理直列インターフェースを提供する直列入出力（ＳＩＯ）サーバ152 を介して外部電話機ハードウェアに伝達する。
【００１８】
標準／サービスカプセル化層122 内において、デバイスカプセル化層を介して移動局のハードウェアを制御する種々のソフトウェアパッケージが設けられる。とくに、標準／サービスカプセル化層は不揮発性記憶サーバ154 、音響サーバ156 、ショートメッセージサービス（ＳＭＳ）158 、呼管理160 、音声サービス162 および電力管理サービス164 を含んでいる。デバイスカプセル化層のＳＩＯサーバと接続されているトラフィックサービス166 が設けられている。不揮発性記憶サーバは、電話番号、アドレス等のリストを永続的に記憶するために設けられた装置のような移動局内に設けられた任意の長期間の不揮発性メモリ装置とインターフェースするためのソフトウェアを提供する。音響サーバは、ユーザの注意を入ってきた電話呼等に促す種々の異なった音響を発生するようにスピーカを制御するために移動局のスピーカとインターフェースするためのソフトウェアを提供する。入ってきたメッセージのタイプに応じて、異なった音響が供給されることができる。たとえば、入ってきた音声呼に対して１つの音が提供され、一方入ってきたページングメッセージに対して別の音が提供される。たとえばゲーム等に適した音響を含む移動局により行われる機能に応じて、多様な付加的な音響が発生されることができる。
【００１９】
ＳＭＳサービス158 は、ページングメッセージ等のようなショートメッセージを処理するソフトウェアを提供する。呼管理は、電話呼を開始するために設けられたソフトウェアを含む入ってきたおよび出ていく電話呼を管理するソフトウェアを提供する。音声サーバは、たとえばレートコマンド等を使用して種々の電話動作を制御するためにユーザが移動局に向かって話したときに移動局のユーザの音声を処理するためのソフトウェアを提供する。電力管理サービスは、特定のハードウェアコンポーネントおよびその現在の動作モードに応じて移動局の種々のハードウェアコンポーネントのそれぞれにより消費される電力の量を最小にするためのソフトウェアを提供する。したがって、電力管理サービスソフトウェアは、移動局の種々のハードウェアコンポーネントを休眠状態にし、そこからのクロック信号を切断して電力消費量を減少させるように動作する。１つの特定の例として、電力管理サービスソフトウェアは、たとえば、現在進行中の無線通信が１つも存在しない場合、およびユーザにより使用されているそのマイクロプロセッサの他の機能が１つもない場合のＣＤＭＡシステム内におけるページングスロット間のように、移動局の主マイクロプロセッサの機能が必要とされない場合は常にそれを休眠状態にする。トラフィックサービスソフトウェアは、１以上のバスに沿った移動局の種々のハードウェアコンポーネント間のデータの送信を制御する。
【００２０】
最後に、ユーザアプリケーション内において、カプセル化層126 は上述したＵＡＰＩ124 を伴った音声認識アプリケーション168 およびユーザインターフェースアプリケーション170 のような種々のソフトウェアアプリケーションである。音声認識アプリケーションは、移動局を制御するためにそこに含まれているコマンドを認識するようにユーザの音声を処理するためのソフトウェアを提供する。一例として、音声認識ソフトウェアは、Aturn on,@ Aturn off,@ Acall home,@ またはAcall the office.@のようなコマンドを検出して応答することができる。ユーザインターフェースアプリケーションは、たとえば移動局のディスプレイスクリーン上の種々の入出力ディスプレイ、とくにカレンダー、スケジュール等の表示のようなＰＤＡ機能と関連した精巧なディスプレイを発生するためのソフトウェアを含むユーザとインターフェースするためのソフトウェアを提供する。移動局の入力装置に応じて、ユーザインターフェースアプリケーションソフトウェアはさらに、ユーザにより入力された手書きコマンドを認識するための手書き認識ソフトウェアを含んでいてもよい。
【００２１】
このように、種々の機能を行う種々多様なサーバおよびその他のソフトウェアが種々の層内に設けられている。典型的に、ソフトウェアプログラムの全てがＢＳＰの論理デバイスドライバによってハードウェアデバイスの１以上のものとインターフェースする。ソフトウェアの開発を容易にするために、ＢＳＰのデバイスドライバは、種々のタイプのデバイスに適応可能な種々の一般的高レベルコマンドを認識して応答するようにプログラムされている。たとえば、ドライバは読出しコマンドに応答して、その読出しコマンド内に指定されている対応した物理的デバイスから情報を入力するようにプログラムされている。したがって、読出しコマンドがポインタデバイスを指定した場合、入力装置ドライバは、移動局内に設けられている特定のポインタハードウェアデバイスによる使用のために必要な特定コマンドに一般的読出しコマンドを変換する。読出しコマンドがキーパッドを特定した場合、入力装置ドライバは、移動局内に構成された特定のキーパッドハードウェアデバイスによる使用のために読出しコマンドを特定の適切なコマンドに変換する。このようにして、ソフトウェア開発者はハードウェア属性を特定する必要なしに１組の一般コマンドを使用することができる。
【００２２】
さらに、デバイスカプセル化層118 の論理デバイスドライバは、コアドライバ機能と拡張ドライバ機能とを区別する。コアドライバ機能は、ソフトウェアアプリケーションがハードウェアデバイスと相互作用することを可能にする基本特徴をサポートする。これらの機能は、ソフトウェアアプリケーションからのアクセスリクエストをハードウェア特定リクエストに変換し、そのリクエストを物理的デバイスドライバに送る。たとえば、コアディスプレイドライバ機能は、ソフトウェアアプリケーションがビットマップをスクリーンにダンプすることを可能にするように提供される。拡張ドライバ機能は豊富な特徴または付加価値サービスをアプリケーションに提供し、それはコアドライバ機能に基づいている。たとえば、拡張ディスプレイドライバ機能は、ソフトウェアアプリケーションがスクリーンに弧のようなグラフィックオブジェクトを描写することを可能にするために設けられている。この機能は弧をビットマップに変換し、対応したコア機能を使用してデバイスにビットマップを出力する。したがって、ソフトウェアアプリケーションの設計者は複雑なグラフィックオブジェクトをディスプレイスクリーン上に描写する特定のコマンドを書込まなくてもよい。むしろソフトウェアの設計者は拡張ドライバコマンドを呼出すだけでよく、したがってソフトウェア開発が容易になる。
【００２３】
種々のコアおよび拡張ドライバ機能の例は次のとおりである。：  
［コアキーパッドＡＰＩ機能］  
・アプリケーションによる能力問合せをサポートする機能。能力報告書は、ドライバがサポートしているキーパッドデバイスの特徴および機能をアプリケーションに提供する。  
・キーが状態を変化させるたびにキー事象を発生するための機能。これには、押されたあるいは解放されたキーを識別するコードが含まれる。キーコードは、異なった製造業者により形成された種々のキーパッドをアプリケーションが処理することを可能にするために任意の特定のキーパッド構成から独立している。  
・アプリケーションがキー事象に加入することを可能にする機能。キー事象はその加入者にのみ報告されるものである。  
・デバイスが電力節約モードをサポートしている場合、アプリケーションがキーパッドを正常または電力節約モードに設定することを可能にする機能。キーパッドデバイスはポーリングまたはポーリングと割込みとの組合せを行うことができる。キーパッドが割込み機能を有している場合、それは電力節約モードで割込みを使用する。  
・アプリケーションがキーパッドをロックまたはアンロックすることを可能にする機能。キーパッドがロックされたとき、キーパッドドライバはキーパッド割込みをディスエーブルし、ポーリングを停止する。キーパッドのロックが解除されたとき、それはその正常動作を再開する。  
・アプリケーションがキーパッド上の任意のキーの状態またはキーパッド全体の状態をリクエストすることを可能にする機能。
【００２４】
［コアポインタＡＰＩ機能］  
・アプリケーションによる能力問合せをサポートする機能。能力報告書は、ドライバがサポートしているポインタデバイスの特徴および機能をアプリケーションに提供する。  
・ポインタデバイスが状態を変化させるたびにポインタ事象を発生するための機能。事象構造には、現在のポインタカーソル位置、ポインタが移動されるか否か、およびポインタが押されたかあるいは解放されたかが含まれる。デバイスが２以上のボタンを含んでいる場合、事象構造は、どのボタンが押されたかあるいは解放されたかを特定する。  
・ユーザアプリケーションがポインタ事象に加入することを可能にする機能。ポインタ事象はその加入者にのみ報告される。  
・ユーザアプリケーションがポインタ位置および状態をリクエストすることを可能にする機能。
【００２５】
［コア共通ディスプレイ機能］  
・アプリケーションによる能力問合せをサポートする機能。能力報告書は、ドライバがサポートしているディスプレイデバイスの特徴および機能をアプリケーションに提供する。例としては、ディスプレイデバイスのタイプ：文字ベースまたはビットマップベースデバイスのタイプ、ＬＣＤスクリーンの画素または文字のサイズ、活動的な呼出し信号の数、利用可能な機能等が含まれる。  
・アプリケーションが呼出し信号表示器コードを使用して呼出し信号表示器をオンおよびオフに切換え、ブリンクさせることを可能にする機能。信号表示器コードは任意の信号表示器の構成から独立しているので、アプリケーションがＬＣＤ上で異なったタイプおよびレイアウトの信号表示器を処理することを可能にする。アプリケーションがブリンクレートを変更することを可能にする。  
・アプリケーションが信号表示器の状態をリクエストすることを可能にする機能。  
・デバイスがサポートしている電力節約モードの任意のものにアプリケーションがそのデバイスを設定することを可能にする機能。  
・アプリケーションがディスプレイをオンおよびオフに切換え、アプリケーション特定のレートでそのディスプレイをブリンクさせることを可能にする機能。  
・アプリケーションがバックライトをオンおよびオフに切換えることを可能にする機能。  
・特徴がハードウェアによりサポートされている場合、アプリケーションがＬＣＤディスプレイのコントラストを設定することを可能にする機能。  
・アプリケーションが、そのデバイスによりサポートされているディスプレイバッファの任意のものを生成／除去し、付勢／消勢することを可能にする機能。  
・アプリケーションが文字をディスプレイすることを可能にする機能。  
・標準セットのＡＳＣＩＩコードおよび標準セットのＵＮＩＣＯＤＥコードを提供する機能。  
・アプリケーションが使用すべきコードのセットを選択することを可能にする機能。  
・アプリケーションがディスプレイの任意の部分をクリアすることを可能にする機能。  
・アプリケーション＝ｓリクエストにおけるディスプレイのスナップショットを報告する機能。
【００２６】
［コア文字ベースディスプレイＡＰＩ機能］  
・アプリケーションがそれ自身の文字を定義し、ＬＣＤがこれらの文字を表示する能力を有している場合、表示のためにこれらの文字を選択することを可能にする機能。可能なのは通常少数のユーザ定義文字だけある。
【００２７】
［コアビットマップベースディスプレイＡＰＩ機能］  
・アプリケーションがビットマップをディスプレイ上に描写することを可能にする機能。デバイスの能力に基づいて、アプリケーションはビットマップを既存のビットマップバッファに重書きするか、あるいはバッファ中でそれを既存のビットマップと混合することができる。たとえば、アンド演算子能力は、アプリケーションがビットマップ中の対応したビットの論理的アンドを行って、新しいビットマップを生成することを可能にする。  
・アプリケーションが特定のビットマップ領域を制御し、それをオンおよびオフに切換え、そのアプリケーション特定レートでそれをブリンクさせることを可能にする機能。
【００２８】
［拡張ビットマップベースディスプレイＡＰＩ機能］  
・アプリケーションがスクリーン上におけるそれ自身の表示領域を定義することを可能にする機能。  
・ハードウェアによりサポートされている場合、アプリケーションがディスプレイの解像度および／またはカラーを変更することを可能にする機能。  
・システム定義されたおよびユーザ定義された文字フォント、カラーおよびスタイルをサポートする機能。  
・基本的グラフィックオブジェクト：画素、ライン、弧、円、方形および三角形をサポートする機能。  
・システム定義されたおよびユーザ定義されたグラフィックアイコンをサポートする機能。  
・アニメーションセッションをサポートする機能。アニメーションセッションはテキスト、基本オブジェクトおよびビットマップのフレームのシーケンス、ならびにこれらのフレームのモーション制御から構成されている。
【００２９】
以上、主として実施形態の適切な特徴を示す概略図を参照として例示的な実施形態を説明してきた。完全な形態の実際のシステムのコンポーネントの全てが詳細に図示され、説明されているわけではないことを認識すべきである。むしろ、本発明を完全に理解するために必要なコンポーネントだけが図示され、説明されている。実際の構成はもっと多くのコンポーネントを含んでいるかもしれず、あるいは構成に応じて、もっと少ないコンポーネントを含んでいるかもしれない。例示的な実施形態の説明は、当業者が本発明を形成または使用できるようにするために示されている。これらの実施形態に対する種々の修正は当業者に容易に認識され、ここに規定されている一般原理は発明力を要することなくその他の実施形態に適応されることが可能である。したがって、本発明はここに示されている実施形態に限定されるものではなく、ここに開示されている原理および新しい特徴に一致した広い技術的範囲に従うものである。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[１]  無線通信システムの移動局において移動局のプロセッサ上で実行するソフトウェアを移動局内に取付け可能な複数のハードウェアデバイスの任意のものとインターフェースするためのシステムにおいて、
ソフトウェアアプリケーションから受取られたコマンドを、複数のハードウェアデバイスの選択されたハードウェアデバイスが使用するためのコマンドに変換する論理デバイスドライバと、
前記変換されたコマンドを前記論理デバイスドライバから受取り、選択されたハードウェアデバイスを直接制御する物理的デバイスドライバとを含んでおり、
前記論理デバイスドライバは、選択されたハードウェアデバイスを制御するためのコアコマンドの変換を行い、選択されたハードウェアデバイスの増強制御のための拡張コマンドの変換を行い、前記拡張コマンドが最初にコアコマンドに変換される、システム。
[２]  前記受取られたコマンドは、キーパッドコマンド、ポインタコマンド、共通ディスプレイコマンド、文字ベースディスプレイコマンド、ビットマップベースディスプレイコマンド、不揮発性メモリデバイスコマンド、ユーザＱＤＳＰコマンド、ＡＤＣコマンド、およびＧＰＩＯコマンドを含むグループから選択されている[１]記載のシステム。
[３]  前記論理デバイスドライバは、バーチャルキーパッドドライバ、バーチャルポインタドライバ、バーチャル共通ディスプレイドライバ、バーチャル文字ベースのディスプレイドライバ、バーチャルビットマップベースのディスプレイドライバ、バーチャル不揮発性メモリデバイスドライバ、バーチャルユーザＱＤＳＰドライバ、バーチャルＡＤＣドライバ、およびバーチャルＧＰＩＯドライバを含むグループから選択されている[１]記載のシステム。
[４]  前記キーパッドコマンドは、キーパッド事象検出コマンド、キーパッド事象加入コマンド、キーパッド電力節約コマンド、キーパッドロックコマンド、およびキーパッド状態コマンドを含むグループから選択されたコアコマンドを含んでいる[４]記載のシステム。
[５]  前記ポインタコマンドは、ポインタ事象検出コマンド、ポインタ事象加入コマンド、ポインタ電力節約コマンド、およびポインタ状態コマンドを含むグループから選択されたコアコマンドを含んでいる[４]記載のシステム。
[６]  前記共通ディスプレイコマンドは、信号表示器コマンド、信号表示器状態コマンド、ディスプレイ電力節約コマンド、ディスプレイ付勢コマンド、バックライト付勢コマンド、ディスプレイコントラストコマンド、ディスプレイバッファコマンド、文字ディスプレイコマンド、ＡＣＳＩＩコマンド、ＵＮＩＣＯＤＥコマンド、コード選択コマンド、クリアディスプレイコマンド、およびスナップショット報告コマンドを含むグループから選択されたコアコマンドを含んでいる[４]記載のシステム。
[７]  前記文字ベースディスプレイコアコマンドはユーザ規定文字選択コマンドを含んでいる[４]記載のシステム。
[８]  前記ビットマップベースのディスプレイコマンドは、ビットマップ描写コマンドおよびビットマップ領域制御コマンドを含むグループから選択されたコアコマンドを含んでおり、さらに、ディスプレイ領域定義コマンド、解像度コマンド、ディスプレイカラーコマンド、文字フォント、ディスプレイおよびカラーコマンド、グラフィックオブジェクトコマンド、グラフィックアイコンコマンドならびにアニメーションコマンドを含むグループから選択された拡張コマンドを含んでいる[４]記載のシステム。
[９]  無線通信システムの移動局において移動局のプロセッサ上で実行するソフトウェアを移動局中に含まれることのできる複数のハードウェアデバイスの任意のものとインターフェースするためのシステムにおいて、
ソフトウェアアプリケーションと選択されたハードウェアデバイスとの間で送信された制御信号を変換する論理デバイスドライバと、
前記変換された制御信号を選択されたハードウェアデバイスに供給する物理的デバイスドライバとを含んでおり、
前記論理デバイスドライバは、選択されたハードウェアデバイスを制御するために必要な制御信号の変換を行い、選択されたハードウェアデバイスの制御を最適化するための拡張制御信号の変換を別々に行う、システム。
[１０]  無線通信システムの移動局において移動局のプロセッサを移動局中に含まれることのできる複数のハードウェアデバイスの任意のものとインターフェースするためのソフトウェアシステムにおいて、
物理的デバイスドライバおよび論理デバイスドライバを含んでいるデバイスカプセル化ソフトウェア層と、
標準／サービスカプセル化ソフトウェア層と、
ユーザアプリケーションカプセル化ソフトウェア層とを含んでいるソフトウェアシステム。
【図１】
0005536014.tif 000002
【図２】
0005536014.tif 000003