(57)【特許請求の範囲】
【請求項１】
コンピュータを、処理機能の拡張を伴う電子機器に用いられ、前記処理機能を実行するための階層化した、アプリケーション処理手段、複数のデータ処理手段、ハードウェア制御処理手段として機能させるプログラムであって、
前記複数のデータ処理手段は、
前記アプリケーション処理手段毎に管理が必要でハードウェア変更によって影響を受けない第１のデータ処理手段と、
前記アプリケーション処理手段を主プロセスとし、従プロセスとして格納されハードウェア変更によって影響を受けない第２のデータ処理手段と、
前記ハードウェア制御処理手段の処理を実行させハードウェア変更によって影響を受ける第３のデータ処理手段と、
を有し、
前記第２のデータ処理手段を元の階層の前記第１のデータ処理手段と前記第３のデータ処理手段と接続し、
前記第１のデータ処理手段は、前記アプリケーション処理手段が要求する処理に対して識別情報を発行して前記アプリケーション処理手段と前記第２のデータ処理手段とを連帯し、
前記アプリケーション処理手段は、前記従プロセス上のデータ空間を参照、書き込みを行い、
前記第２のデータ処理手段は、前記従プロセス上のデータ空間に書き込まれたデータを処理し、処理結果を前記従プロセス上のデータ空間に前記アプリケーション処理手段が参照可能な状態に書き込む
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば携帯電話機等の処理機能の拡張を伴う電子機器において、処理機能を実行するための処理をアプリケーション処理、複数のデータ処理、ハードウェア制御と階層化したプログラムに係り、特にハードウェア変更時において機能拡張部分のソフトウェア移植作業を構造的に軽減するためのプログラムに関する。
【背景技術】
【０００２】
携帯電話機のような小型コンピュータ搭載の電子機器では、アプリケーションの機能を標準仕様から拡張している場合に、チップセット等のハードウェアに変更が生じると、機能拡張部分のソフトウェアをハードウェアに埋め込む移植作業が行われている。
【０００３】
しかしながら、ブラウザのマルチメディア処理のような機能の拡張は頻繁に行われているため、ハードウェア変更の影響を受ける機能拡張した部分の移植作業も必然的に多くなっている。
【０００４】
特許文献１には、開発効率を高めるために、ゲート管理機能を基本部から独立させ、機本部、ミドルウェア部、アプリケーション部をそれぞれ独立したコンポーネントとして分離し、ゲート管理部によって各コンポーネント単位に入れ替えるソフトウェア構成とする発明が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−０８４９００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述の如く、従来の電子機器では、ハードウェア変更の影響を受ける機能拡張部分のソフトウェア移植作業を軽減する手法が求められている。
【０００７】
本発明は上記事情を考慮してなされたもので、ハードウェア変更の影響を受ける機能拡張部分のソフトウェア移植作業を軽減することのできるプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明に係るプログラムは、コンピュータを、処理機能の拡張を伴う電子機器に用いられ、前記処理機能を実行するための階層化した、アプリケーション処理手段、複数のデータ処理手段、ハードウェア制御処理手段として機能させるプログラムであって、
前記複数のデータ処理手段は、
前記アプリケーション処理手段毎に管理が必要でハードウェア変更によって影響を受けない第１のデータ処理手段と、
前記アプリケーション処理手段を主プロセスとし、従プロセスとして格納されハードウェア変更によって影響を受けない第２のデータ処理手段と、
前記ハードウェア制御処理手段の処理を実行させハードウェア変更によって影響を受ける第３のデータ処理手段と、
を有し、
前記第２のデータ処理手段を元の階層の前記第１のデータ処理手段と前記第３のデータ処理手段と接続し、
前記第１のデータ処理手段は、前記アプリケーション処理手段が要求する処理に対して識別情報を発行して前記アプリケーション処理手段と前記第２のデータ処理手段とを連帯し、
前記アプリケーション処理手段は、前記従プロセス上のデータ空間を参照、書き込みを行い、
前記第２のデータ処理手段は、前記従プロセス上のデータ空間に書き込まれたデータを処理し、処理結果を前記従プロセス上のデータ空間に前記アプリケーション処理手段が参照可能な状態に書き込むように構成される。
【発明の効果】
【００１３】
本発明によれば、ハードウェア変更の影響を受ける機能拡張部分のソフトウェア移植作業を軽減することのできるプログラムを提供することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明が適用される携帯電話機用チップセットに対するソフトウェア構造の一実施形態を示す階層構成図。
【図２】図１に示す実施形態を説明するための従来の階層構造を示す階層構成図。
【図３】図１に示す実施形態の具体的な処理の流れを示すシーケンス図。
【図４】図１の実施形態とは別の処理方式による他の実施形態を示す階層構成図。
【図５】図４に示す実施形態の具体的な処理の流れを示すシーケンス図。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００１６】
図１は本発明の一実施形態として、携帯電話機用チップセットに対するソフトウェア構造を示す階層構成図、図２は図１に示す実施形態を説明するための従来の階層構造を示す階層構成図である。
【００１７】
図１、図２に示すソフトウェア構造は、アプリ層１１、アプリプラットフォーム層１２、ミドル層１３、システム層１４を備える。ここで、図２に示す従来の構造では、アプリ層１１に各種アプリケーション１５が格納され、アプリプラットフォーム層１２にアプリケーション向けインターフェース（以下、アプリＩ／Ｆ）１６及びアプリコンテキストで実施する、アプリ処理毎に個別の管理が必要な状態の遷移、情報等を含む処理（以下、コンテキスト用処理）１７が配置され、ミドル層１３に主処理１８が配置され、システム層１４にはドライバ１９が配置される。主処理ソフト１８は、リソースの排他／割付、解析、翻訳等の情報処理を実行するプログラムである。
【００１８】
上記構成において、ハードウェアに変更が生じた場合、機能拡張部分であるコンテキスト用処理１７、主処理１８の解析、翻訳等の情報処理、ドライバ１９の処理を実行させるシステム層Ｉ／Ｆ２２が影響を受ける。このため、従来ではハードウェア（チップセット等）の変更に伴い、ドライバ１９を含むシステム層１４の処理の変更が余儀なくされ、過去のソフト資産を移植する際に、その影響を受ける処理１７，１８等の修正を行わなければならなかった。
【００１９】
そこで、図１に示すソフトウェア構造では、アプリプラットフォーム層１２からアプリコンテキストで実施するコンテキスト用処理１７を抜き出して別プロセス空間の処理部（以下、別プロセス処理部）２０に移行させる。また、ミドル層１３の主処理１８を解析、翻訳等の情報処理とリソース排他／割付処理に分割し、分割した情報処理２１を上記別プロセス処理部２０に移行させ、リソース排他／割付処理をシステム層１４とのインターフェース２２とする。そして、別プロセス処理部２０のインターフェースをアプリＩ／Ｆ１６及びシステム層Ｉ／Ｆ２２と接続固定する。アプリＩ／Ｆ１６及びシステム層Ｉ／Ｆ２２は、アプリケーション処理１５が要求する処理に対して識別のためのＩＤ情報を発行し、アプリケーション処理１５とハードウェア制御処理を分離した情報（データ）処理とを連携させる処理を行う。
【００２０】
上記システム層１４には共有（シェアード）メモリ２３が配置される。この共有メモリ２３には、アプリケーション１５、コンテキスト用処理１７が共にアクセス可能とする。
【００２１】
上記構成では、アプリケーション１５はアプリケーション向けＩ／Ｆ１６を介して別プロセス処理部２０に移行させたコンテキストで実施する処理１７、解析、翻訳等の情報処理ソフト２１に処理を実行させ、情報処理ソフト２１からシステム層Ｉ／Ｆ２２を通じてドライバ１９にアクセスすることができる。
【００２２】
ここで、ハードウェア変更が生じたとすると、従来はハードウェア変更により影響を受けていたプロセスの内の処理１７，１８にあった処理を別のプロセスに移行しているため、コンテキスト用処理１７、情報処理１８を修正する必要がなくなり、ソフト資産の移植にあたり、作業を軽減することができる。
【００２３】
具体的な処理の流れについて、図３に示すシーケンス図を参照して説明する。
【００２４】
まず、アプリーション１５では、コンテキスト用処理１７に処理を要求するとき、アプリＩ／Ｆ１６に対して処理要求と共に処理対象データを格納した共有メモリ２３のアクセス領域を指定するアドレス情報を送る。
【００２５】
アプリＩ／Ｆ１６は、処理要求を受けると、処理内容を識別するためのＩＤ（Identification：識別）情報を発行してアプリケーション１５に返送し、そのＩＤ情報をアプリケーション１５からの処理要求及びアドレス情報に付加してコンテキスト用処理１７に送る。
【００２６】
コンテキスト用処理１７は、指定アドレス情報に従って処理対象データを格納した共有メモリ２３にアクセスし、アクセス先のデータについて処理要求で指示される処理を実行し、処理結果を共有メモリ２３の適当な領域に書き込み、その書き込みアドレス情報をＩＤ情報と共に処理終了通知に付加してアプリＩ／Ｆ１６に送る。
【００２７】
アプリＩ／Ｆ１６は、コンテキスト用処理１７から処理終了通知を受けると、アプリケーション１５にＩＤ情報で指定される処理の終了通知と書き込みアドレス情報を送る。これを受けたアプリケーション１５は、終了通知から指示した処理が終了したことを認識し、指定された書き込みアドレスに基づき共有メモリ２３にアクセスし、そのアドレスに書き込まれたデータを利用する。
【００２８】
ここで、ハードウェア変更が生じたとしても、従来はハードウェア変更の影響を受けていたプロセスの内のコンテキスト用処理１７が別のプロセスに移行しているため、コンテキスト用処理１７の修正は不要である。このように、ソフト資産の移植にあたり、作業を軽減することができる。
【００２９】
したがって、上記構成によるソフトウェア構造によれば、ハードウェア変更に伴って影響を受けていた各層の機能拡張処理を別プロセスで実行するようにしているため、拡張部分のソフトウェアの移植作業を軽減することができる。
【００３０】
図４は図１に示した実施形態とは別の処理方式による他の実施形態のソフトウェア構造を示す階層構成図である。すなわち、図１に示した実施形態では、共有メモリ２３を備えている場合について説明したが、図４に示す構成図のように、共有メモリ２３を用いずに、別プロセス処理部２０が備えるバッファメモリ２４を利用することも可能である。この場合、アプリケーション１５は主プロセスとして外部からバッファメモリ２４の読み出し／書き込みが可能であり、コンテキスト用処理１７は従プロセスとして内部のバッファメモリ２４のみの読み出し／書き込みが可能であるものとする。
【００３１】
具体的な処理の流れについて、図５に示すシーケンス図を参照して説明する。
【００３２】
図５において、アプリケーション１５では、コンテキスト用処理１７に処理を要求するとき、アプリＩ／Ｆ１６に対して処理要求のみを送る。
【００３３】
アプリＩ／Ｆ１６は、処理要求を受けると、処理内容を識別するためのＩＤ（Identification：識別）情報を発行してアプリケーション１５に返送し、そのＩＤ情報をアプリケーション１５からの処理要求に付加してコンテキスト用処理１７に送る。
【００３４】
コンテキスト用処理１７は、処理要求を受けると、バッファメモリ２４の作業領域を示す書き込みアドレス情報をＩＤ情報と共にアプリＩ／Ｆ１６に返送する。アプリＩ／Ｆ１６は受け取った書き込みアドレス情報及びＩＤ情報をアプリケーション１５に通知する。
【００３５】
この通知を受けたアプリケーション１５は、通知によって指定された書き込みアドレス情報に従ってバッファメモリ２４の作業領域に被処理データを書き込み、書き込み終了時に書き込み終了情報を発行してＩＤ情報と共にアプリＩ／Ｆ１６に送る。アプリＩ／Ｆ１６は、書き込み終了情報＋ＩＤ情報を受け取ると、その情報をコンテキスト用処理１７に送る。
【００３６】
コンテキスト用処理１７は、書き込み終了情報＋ＩＤ情報を受け取ると、バッファメモリ２４にアクセスしてアプリケーション１５に通知した書き込みアドレスから被処理データを受け取り、処理要求で指示された処理を実行し、処理結果をバッファメモリ２４の適当な領域に書き込み、その処理結果の書き込みアドレス情報をＩＤ情報と共に処理終了通知に付加してアプリＩ／Ｆ１６に送る。
【００３７】
アプリＩ／Ｆ１６は、コンテキスト用処理１７から送られてきた処理終了通知＋書き込みアドレス情報＋ＩＤ情報を受けると、アプリケーション１５にその情報を通知する。これを受けたアプリケーション１５は、指定された書き込みアドレスに基づきバッファメモリ２４にアクセスし、そのアドレスに書き込まれたデータを利用する。
【００３８】
上記構成においても、先に述べた実施形態と同様に、ハードウェア変更が生じたとき、従来はハードウェア変更の影響を受けていたプロセスの内のコンテキスト用処理１７が別のプロセスに移行しているため、コンテキスト用処理１７の修正は不要である。このように、ソフト資産の移植にあたり、作業を軽減することができる。
【００３９】
さらに、上記各実施形態の構成によれば、ドライバ、システム（例えばファイルシステムなど）処理等に密結合していた処理を分離し、汎用的なインターフェースで結合するようにしているので、ハードウェア変更時の修正が極めて容易になる。
【００４０】
以上のように、本発明によれば、分離された処理を、チップセット等のハードウェアの変更により変更されるドライバ、システム（ＯＳ含む）処理の影響を受けない別プロセスに配置するようにしているので、ハードウェア変更時の修正作業が軽減される。
【００４１】
ここで、異なるプロセス上の処理が限定された同じデータ空間を参照、書き込みすることができる場合には、この領域を使用してデータの受け渡しが可能である（図３参照）。
【００４２】
あるいは、主プロセスから従プロセス上のデータ空間を参照、書き込みでき、主プロセスから書き込まれたデータを従プロセスで処理し、結果を主プロセスで参照可能なようにしてもよい（図５参照）。
【００４３】
上記実施形態では、ハードウェア変更に伴って影響を受ける機能拡張処理を全て別プロセスで実行できるようにしたが、一部の機能拡張処理だけでも効果的である。また、本発明は携帯電話機に限定されるものではなく、小型コンピュータ搭載の電子機器にも適用可能であることは言うまでもない。
【００４４】
本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、本発明によれば、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【００４５】
１１…アプリ層、１２…アプリプラットフォーム層、１３…ミドル層、１４…システム層、１５…アプリケーション、１６…アプリケーション向けＩ／Ｆ、１７…コンテキスト用処理、１８…主処理部、１９…ドライバ、２０…別プロセス処理部、２１…情報処理、２２…システム層Ｉ／Ｆ、２３…共有メモリ、２４…バッファメモリ。
【図１】
0005482136.tif 000002
【図２】
0005482136.tif 000003
【図３】
0005482136.tif 000004
【図４】
0005482136.tif 000005
【図５】
0005482136.tif 000006