(57)【要約】【課題】本発明は、このハードウェアの状態変化を検出する処理と状態変化に伴い行う処理との２つの処理の間に、効率のよいミドルウェアを組み込むことによって、ドライバを変えた場合においても、プログラムの再利用率を高めることのできる情報処理装置を提供することを目的とする。【解決手段】複数のプログラムを実行する情報処理装置において、第１のプログラムが設定する状態情報及び第２のプログラムが設定するコールバック情報をそれぞれ対応付けて記憶する記憶手段（Ｓ１０１〜Ｓ１０５）と、第１のプログラムが設定する状態情報が変化したことを検知する検知手段（Ｓ１０７）と、検知手段が第１のプログラムの状態が変化したことを検知した際に、第２のプログラムが設定するコールバック情報を取得する取得手段（Ｓ１１１）と、コールバック情報に基づいてコールバックを呼び出す実行手段（Ｓ１１３）とを備えた。【選択図】  図５
2008234494.tif 000002
【特許請求の範囲】
【請求項１】
複数のプログラムを実行する情報処理装置において、
第１のプログラムが設定する状態情報及び第２のプログラムが設定するコールバック情報をそれぞれ対応付けて記憶する記憶手段と、
第１のプログラムが設定する状態情報が変化したことを検知する検知手段と、
前記検知手段が第１のプログラムが設定する状態情報が変化したことを検知した際に、前記第２のプログラムが設定するコールバック情報を取得する取得手段と、
前記取得手段により取得されたコールバック情報に基づいてコールバックを呼び出す実行手段と、
を備えたことを特徴とする情報処理装置。
【請求項２】
前記状態情報と前記コールバック情報とを関連付けた組は、固有のＩＤで管理され、複数の組の情報を記憶手段に記憶できることを特徴とする請求項１の情報処理装置。
【請求項３】
前記記憶手段は、状態情報として電池レベルの情報を記憶するともに、コールバック情報として電池レベルを通知するプログラムを記憶し、
前記実行手段は、前記コールバック情報に基づいて電池レベルを通知する請求項１記載の情報処理装置。
【請求項４】
前記記憶手段は、状態情報として充電開始情報を記憶するともに、コールバック情報として充電処理を行うプログラムを記憶し、
前記実行手段は、前記コールバック情報に基づいて充電処理を行う請求項１記載の情報処理装置。
【請求項５】
前記記憶手段は、状態情報として通信のための電波強度情報を記憶するともに、コールバック情報としてアンテナレベルを算出するプログラムを記憶し、
前記実行手段は、前記コールバック情報に基づいてアンテナレベルを算出する請求項１記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のプログラムの状態を管理するとともに、任意のプログラムの状態変化に応じて他のプログラムを動作させる情報処理装置に関する。
【背景技術】
【０００２】
現在、情報処理装置に様々な機能を付随させることにより、情報処理装置を用いて多様な処理が行われている。情報処理装置において様々な機能を動作させる際に、例えばディスプレイやアンテナ等のハードウェアを接続させて動作させる際等に、ハードウェアを制御する部分とソフトウェアを制御する部分とで通信を行う必要がある。この際、接続するハードウェア毎にインターフェースが必要となり、各々のハードウェアを連携させて動作させることが困難である。
【０００３】
そこで、各々のハードウェアを連携させて動作させる電子機器が提案されている。例えば、特許文献１には、複数のディスプレイに対して合理的な表示処理を行う電子機器が記載されている。この電子機器は、複数のディスプレイに対する表示処理を一括して調停する調停手段を有し、この調停手段が予め指定された優先度に基づいて表示処理を制御することにより、不合理な表示動作が防止されている。
【特許文献１】特開２００６−１３４１８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
情報処理装置に複数のハードウェアを接続する際には、それぞれのハードウェアの状態変化を検出する処理（たとえばドライバ）と状態変化に伴い行う処理（たとえばＧＵＩなど）を結合することが必要であり、通常は必要な処理をこれら２つの処理のどちらかに分散して記述する必要がある。このため、ドライバを変えた場合、ＧＵＩ側でその差分を吸収したり、システムに合うようにドライバを作り変えたりする必要がある。
【０００５】
本発明は、上記問題点を解決したものであって、このハードウェアの状態変化を検出する処理と状態変化に伴い行う処理との２つの処理の間に、効率のよいミドルウェアを組み込むことによって、ドライバを変えた場合においても、プログラムの再利用率を高めることのできる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明に係る情報処理装置は、複数のプログラムを実行する情報処理装置において、第１のプログラムが設定する状態情報及び第２のプログラムが設定するコールバック情報をそれぞれ対応付けて記憶する記憶手段と、第１のプログラムが設定する状態情報が変化したことを検知する検知手段と、前記検知手段が第１のプログラムが設定する状態情報が変化したことを検知した際に、前記第２のプログラムが設定するコールバック情報を取得する取得手段と、前記取得手段により取得されたコールバック情報に基づいてコールバックを呼び出す実行手段とを備えたことを特徴とする。
【発明の効果】
【０００７】
本発明に係る情報処理装置によると、ハードウェアの状態変化を検出する処理と状態変化に伴い行う処理との２つの処理の間に、効率のよいミドルウェアを組み込むことによって、ドライバを変えた場合においてもプログラムの再利用率を高めることが可能となる。
【発明を実施するための最良の形態】
【０００８】
本発明に係る情報処理装置の実施形態について、添付図面を参照しながら説明する。図１及び図２に、情報処理装置１の一例として説明に用いている折り畳み型の携帯電話機の外観図を示す。図１（Ａ）は、情報処理装置１の約１８０度に見開いた状態の正面図であり、図１（Ｂ）は、情報処理装置１の見開いた状態の側面図である。また、図２（Ａ）は、情報処理装置１の折り畳んだ状態の正面図であり、図２（Ｂ）は、情報処理装置１の折り畳んだ状態の側面図である。
【０００９】
図１及び図２に示すように、情報処理装置１は、中央のヒンジ部２１を挟むように第１の筐体２２と第２の筐体２３とがヒンジ結合されており、ヒンジ部２１を介して図１及び図２のＸ方向に折り畳み可能に形成される。情報処理装置１の内部の所定の位置には、送受信用のアンテナ（後述する図３のアンテナ５３）が設けられており、内蔵されたアンテナ５３を介して基地局（図示せず）との間で電波を送受信する。
【００１０】
第１の筐体２２の中央部には、液晶ディスプレイ２５が設けられている。この液晶ディスプレイ２５の上部には、例えば、現在のアンテナ５３のアンテナレベルを示すアンテナピクト、情報処理装置１の現在の電池レベルや充電状態を示す電池ピクト、現在の時刻等が表示される。また、地上波デジタル放送受信時に、液晶ディスプレイ２５の中央部に、この地上デジタル放送の動画像が表示される。
【００１１】
また、液晶ディスプレイ２５の上部の所定の位置にはスピーカ２８が設けられており、これにより、ユーザが音声を聞くことが可能となる。
【００１２】
第１の筐体２２には、その表面に「０」から「９」までの数字キー、発呼キー、リダイヤルキー、終話・電源キー、クリアキー、及び電子メールキー等の操作キー２４が設けられており、ユーザはこれらの操作キー２４を用いて各種指示を入力することができる。また第１の筐体２２には、操作キー２４として上部に十字キーと確定キーが設けられており、ユーザが十字キーを上下左右方向に操作することにより当てられたカーソルを上下左右方向に移動させることができる。
【００１３】
第１の筐体２２には、操作キー２４の下部にマイクロフォン２６が設けられており、マイクロフォン２６によって通話時のユーザの音声を集音する。
【００１４】
なお、第１の筐体２２は、背面側にバッテリパック（図示せず）が挿着されており、終話・電源キーがオン状態になると、バッテリパックから各回路部に対して電力が供給されて動作可能な状態に起動する。
【００１５】
また、第１の筐体２２と第２の筐体２３の内部の所定の位置には、情報処理装置１の開閉状態を検知するための磁気センサ２９ａ、２９ｂ、２９ｃ、２９ｄが設けられている。
【００１６】
図３は、情報処理装置１の機能構成図である。情報処理装置１は、図３に示すように、主制御部４１、記憶部４２、電源回路部４３、操作入力制御部４４、ＬＣＤ制御部４５、状態管理部４６、音声コーディック４７、変復調回路部４８、多重化分離部４９、がバス５０によって相互に接続されて構成される。
【００１７】
主制御部４１は、様々なデータ処理や演算を行うＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）からなる。記憶部４２は、主制御部４１が行う処理プログラム等を格納するＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やハードディスク等の磁気的な記憶装置、主制御部４１が処理を行う際に使用するデータを一時的に記憶するＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の電気的な記憶装置とからなる。また、主制御部４１には、現在の日付と時刻を計測するタイマが内蔵されている。
【００１８】
電源回路部４３は、ユーザの操作キー２４による入力により電源のオン／オフ状態を切り替え、電源がオン状態の場合には電力供給源（バッテリ等）から各部に対して電力を供給して、情報処理装置１を動作可能にする。
【００１９】
操作入力制御部４４は、操作キー２４によって入力されたデータを主制御部４１に伝送する。
【００２０】
ＬＣＤ制御部４５は、主制御部４１の制御に基づいて、画像データをメインディスプレイ２５に表示する処理を行う。
【００２１】
状態管理部４６は、複数のプログラムの状態を監視しながら任意のプログラムの状態変化に応じて他のプログラムにコールバックを呼び出す状態管理処理を行う。
【００２２】
音声コーディック４７は、主制御部４１の制御に基づいて、マイクロフォン２６で集音した音声からデジタル音声信号を生成する。変復調回路部４８は、音声通話の際に、音声コーディック４７からデジタル音声信号を入力して、送受信回路部５１に伝送する。送受信回路部５１はこのデジタル音声信号をアンテナ５２を介して送信する。
【００２３】
また、変復調回路部４８は、送受信回路部５１がアンテナ５２を介して受信したデジタル音声信号を入力する。音声コーディック４７は、音声通話の際に、このデジタル音声信号を取得してアナログ音声信号に変換し、スピーカ２８から音声として出力する。
【００２４】
多重化分離部４９は、複数の信号を重ねて多重化信号を生成する多重化処理、及び、多重化信号を複数の信号に分離する分離処理を行う。
【００２５】
図４に、情報処理装置１のミドルウェア５５のソフトウェア構成図を示す。情報処理装置１のミドルウェア５５は、後述する端末状態監視処理（実施例１参照）を行う端末状態監視ミドルウェア５５ａ、充電を行う際にその充電の状況などを管理する電源管理ミドルウェア５５ｂを備えている。ミドルウェア５５は、プラットフォーム５６に接続されている。
【００２６】
情報処理装置１は、電池残量を判断するＶＢＡＴＴサービス５７ａ、充電および充電中の割り込み等の制御・判断を行うＣＨＧ／ＰＭサービス５７ｂ、電界強度を測定するＣＭサービス５７ｃ、時間をカウントするタイマサービス５７ｄなどを備えている。また情報処理装置１はドライバ５８を各々のハードウェアに対して備えており、ハードウェアが接続された際にこのハードウェアを制御する機能を有している。情報処理装置１は、ドライバ５８として、例えば電源回路部４３のバッテリを制御する電池レベル監視ドライバ５８ａ、充電の際における制御を行う充電制御ドライバ５８ｂ、アンテナ５２を制御するドライバ等を備えている。
【００２７】
情報処理装置１では、ミドルウェア５５、サービスプログラム５７、及びドライバ５８とがそれぞれ接続されていて、相互に通信を行うことにより連携して動作することが可能となっている。状態管理部４６は、図４におけるミドルウェア５５に相当し、サービスプログラム５７、ドライバ５８のそれぞれの状態を管理する状態管理処理を行う。
【００２８】
ここで、情報処理装置１による状態管理処理について、図５に示す概念図を用いて説明する。なお、記憶部４２に、ドライバのプログラム、又はミドルウェアのプログラムなどを示すプログラムＡ、プログラムＢが記憶されている。
【００２９】
状態管理部４６は、プログラムＢの状態とこの状態におけるプログラムＡへのコールバックを示す情報が格納された状態管理テーブル６０を保持する。状態管理テーブル６０には、図５に示すように、識別子情報６１、状態情報６２、コールバック情報６３がそれぞれ対応付けられて記憶されている。識別子情報６１とは、管理する対象を識別するための情報であり、図５の同じ段に記載された状態情報６２、コールバック情報６３とを関連付けて固有のＩＤなどで管理される。状態情報６２とは、所定のプログラムの状態を示す情報が記憶される。コールバック情報６３とは、例えば所定のプログラムに対して呼び出される関数を示す情報等である。情報処理装置１において、所定のプログラムが状態情報６２の更新が行われた際に、コールバック情報６３に示された関数が呼び出され、状態情報６２に記憶された情報に基づいてコールバック情報６３が示す条件に基づいて様々な処理が行われる。
【００３０】
状態管理部４６は、状態管理テーブル６０に記憶されている情報に基づいて、状態管理処理を行う。この状態管理処理について、図６に示すフローチャートに基づいて説明する。
【００３１】
まず、情報処理装置１は、プログラムの状態を示す状態情報６２及びこの状態に対応したコールバック情報６３を登録する登録処理を行う。状態管理部４６は、プログラムＡからの登録指示があるか否かを判断する（Ｓ１０１）。この登録指示は、ユーザが所定の操作キー２４を操作すること等により指示され、プログラムＢの所定の状態におけるプログラムＡへのコールバックが登録される。なお、Ｓ１０１の登録は、情報処理装置１においては既に出荷段階で登録されている場合がある。その場合はＮｏへ遷移する。登録指示がない場合（Ｓ１０１のＮｏ）は、状態管理部４６は後述するＳ１０７へ進む。
【００３２】
登録指示があった場合（Ｓ１０１のＹｅｓ）は、状態管理部４６は、プログラムＡから識別子情報６１（例えば「識別子１」）、状態情報６２（例えば「状態１」）、コールバック情報６３（「コールバック１」）を取得する（Ｓ１０３）。状態管理部４６は、Ｓ１０３にてプログラムＡから取得した情報をそれぞれ対応付けて、状態管理テーブル６０に記憶する（Ｓ１０５）。
【００３３】
状態管理部４６は、プログラムＢから状態変化がコールされたか否かを判断する（Ｓ１０７）。状態変化がコールされるとは、例えばプログラムＢにおいて状態が変化した際にプログラムＢにこの状態変化を通知することを言う。状態変化がコールされていない場合（Ｓ１０７のＮｏ）は、状態管理部４６は、状態管理処理を終了する。
【００３４】
状態変化がコールされた場合（Ｓ１０７のＹｅｓ）は、プログラムＢの状態が変化したので、状態管理部４６は、プログラムＢから識別子情報６１と状態情報６２を取得する（Ｓ１０９）。状態管理部４６は、Ｓ１０９にてプログラムＢから取得した情報に基づいて、プログラムＡに対するコールバック情報６３を取得する（Ｓ１１１）。また状態管理部４６は、このコールバック情報６３に基づいて、プログラムＡにコールバック処理を実行させる（Ｓ１１３）。
【００３５】
このようにして、情報処理装置１では、プログラムＢの状態が変化した際に、プログラムＡがこのプログラムＢの状態変化を認識してプログラムＢの状態に応じたコールバックの処理を実行することにより、本来なら独立して動作するはずの複数のプログラムを、連携させて動作させることが可能となる。
【実施例１】
【００３６】
本発明に係る情報処理装置１の実施例１について、図７及び図８に基づいて説明する。情報処理装置１の実施例１では、図７に示すように、状態管理部４６にドライバＡ及びドライバＢが接続されている。
【００３７】
情報処理装置１の実施例１として、端末状態を監視するための端末状態監視処理（端末状態を更新する端末状態更新処理、及び端末状態を取得する端末状態取得処理）について、図８に示すフローチャートに基づいて説明する。
【００３８】
状態管理部４６は、ドライバから状態変化がコールされたか否かを判断する（Ｓ３０１）。状態変化がコールされるとは、例えばドライバ（ドライバＡ）の状態が変化した場合に、このドライバによりその旨が状態管理部４６に通知されることを言う。状態変化がコールされていない場合（Ｓ３０１のＮｏ）は、状態管理部４６はそのまま待機する。
【００３９】
状態変化がコールされた場合（Ｓ３０１のＹｅｓ）は、状態管理部４６は、ドライバの状態変化を取得する（Ｓ３０３）。状態管理部４６は、Ｓ３０３で取得した状態変化を識別子情報６１に基づいて状態管理テーブル６０の状態情報６２に記憶する（Ｓ３０５）。
【００４０】
状態管理部４６は、状態管理テーブル６０から、Ｓ３０３で取得した状態変化情報の識別子情報６１、状態情報６２に対応付けられたコールバック情報６３を取得する（Ｓ３０７）。そして、状態管理部４６は、このコールバック情報６３に基づいてコールバックを実行する（Ｓ３０９）。
【００４１】
ステップＳ３０９が終了すると、またはステップＳ３０１で状態変化がコールされていない場合（Ｓ３０１のＮｏ）は、状態管理部４６は、ドライバの状態を取得する指示があったか否かを判断する（Ｓ３１１）。この指示は、コールバック情報６３によって行われても、タイマーにより定期的に行われても、また、ユーザの操作キー２４による指示により行われても良い。ドライバの状態を取得する指示がなかった場合（Ｓ３１１のＮｏ）は、状態管理部４６は待機する。
【００４２】
ドライバの状態を取得する指示があった場合（Ｓ３１１のＹｅｓ）は、状態管理部４６は、ドライバの状態変化情報を取得する（Ｓ３１３）。また状態管理部４６は、ドライバの状態変化情報を識別子情報６１に基づいて状態管理テーブル６０に記憶する（Ｓ３１５）。
【００４３】
状態処理装置１は、これらのステップＳ３０１〜Ｓ３１５の処理を継続的にまたは定期的に行うことにより、端末状態の監視を行う。
【００４４】
なお、ステップＳ３０１〜Ｓ３０９の処理が端末状態更新処理であり、ステップＳ３１１〜Ｓ３１５の処理が端末状態取得処理である。
【実施例２】
【００４５】
本発明に係る情報処理装置１の実施例２について、図９及び図１０に基づいて説明する。情報処理装置１の実施例２では、図９に示すように、状態管理部４６は、プラットフォーム５６及びドライバＢに接続されている。ドライバＢは例えば電源回路部４３のバッテリのドライバである。
【００４６】
情報処理装置１の実施例２として、例えば電源回路部４３の電池レベルを取得するための電池レベル取得処理について、図１０に示すフローチャートに基づいて説明する。なお、予め識別子情報６１ａには「電話回線使用中」の項目である旨、識別子情報６１ｂには「電池レベル」の項目である旨、状態情報６２ａにはＴＲＵＥ／ＦＡＬＳＥのどちらかが、状態情報６２ｂには０乃至４のうち１つの値が、コールバック情報６３ａには所定の処理（ここでは、「状態情報６２ａに“ＴＲＵＥ”が記憶されればドライバＢへ通知する」旨の処理）が、コールバック情報６３ｂには所定の処理（ここでは、「状態情報６２ｂが更新された場合には状態情報６２ｂの値をプラットフォーム５６に対して返す」旨の処理）が記載されているものとする。
【００４７】
なお、識別子情報６１ａ、６１ｂは通常固有のＩＤで管理され、例えば識別子情報は「電池レベル」を示す固有のＩＤで状態情報６２ｂとコールバック情報６３ｂとを関連付けて記憶されている。
【００４８】
状態管理部４６は、プラットフォーム５６から状態変化がコールされたか否かを判断する（Ｓ４０１、図９の（１））。状態変化がコールされるとは、例えばプラットフォーム５６における所定の状態が変化した場合に、このプラットフォーム５６からその旨が状態管理部４６に通知されることを言う。プラットフォーム５６から状態変化がコールされなかった場合（Ｓ４０１のＮｏ）は、状態管理部４６はそのまま待機する。
【００４９】
プラットフォーム５６から状態変化がコールされた場合（Ｓ４０１のＹｅｓ）は、状態管理部４６は、プラットフォーム５６から状態変化情報を取得する（Ｓ４０３）。状態管理部４６は、Ｓ４０３で取得した状態変化情報を、識別子情報６１に基づいて状態管理テーブル６０の状態情報６２ａに記憶する（Ｓ４０５）。
【００５０】
状態変化情報を取得した状態管理部４６は、状態情報６２ａが新たに更新されたため、それに対応するコールバック情報６３ａに記載された処理を実行する。具体的には状態情報６２ａに“ＴＲＵＥ”が記憶されているか否かが判断され、“ＴＲＵＥ”であればドライバへ通知し、電池レベルの読み出しを要求する（Ｓ４０７のＹｅｓ、図９の（２））。そうでなければ状態管理部の処理を終了させる。
【００５１】
ドライバＢは、電池レベルを要求されたか否かを判断する（Ｓ４０９）。電池レベルを要求された場合（Ｓ４０９のＹｅｓ）は、ドライバＢは、バッテリサービス（ＶＢＡＴＴサービス５７ａ）に対して電池レベルの測定をさせ、バッテリサービスから電池レベルの情報を取得する（Ｓ４１１）。その後、ドライバＢは、Ｓ４１１で取得した電池レベルを状態管理部４６に通知する（Ｓ４１３、図９の（３））。
【００５２】
状態管理部４６は、ドライバＢにより電池レベルが通知されたか否かを判断する（Ｓ４１５）。ドライバＢにより電池レベルが通知されていない場合（Ｓ４１５のＮｏ）は、状態管理部４６は、そのまま待機する。
【００５３】
ドライバＢにより電池レベルが通知された場合（Ｓ４１５のＹｅｓ）は、状態管理部４６は、ドライバＢから電池レベルの情報を取得する（Ｓ４１７）。状態管理部４６は、Ｓ４１７で取得した電池レベルの状態を状態情報６２ｂに記憶する（Ｓ４１９）。
【００５４】
状態管理部４６は、Ｓ４１７で取得した電池レベルの情報に対応したコールバック情報６３ｂを状態管理テーブル６０から取得する（Ｓ４２１）。状態管理部４６は、Ｓ４２１で取得したコールバックを呼び出して実行する（Ｓ４２３、図９の（４））。この際のコールバックの処理として、状態管理部４６は、例えば状態情報６２ｂに記憶された電池レベルをプラットフォーム５６に係わるＬＣＤ制御部４５に通知し、液晶ディスプレイ２５における電池レベルの表示を変更させる電池レベル通知処理を行う。
【００５５】
このようにして、情報処理装置１は、電池レベル取得処理を行う。なお、識別子情報６１、状態情報６２、コールバック情報６３に関しては、２つの組み（“６１ａ、６２ａ、６３ａ”と“６１ｂ、６２ｂ、６３ｂ”）を例にとって説明したが、これだけではなく、他の組みの情報を情報管理テーブル６０に登録してもよいことは言うまでもない。
【実施例３】
【００５６】
本発明に係る情報処理装置１の実施例３について、図１１及び図１２に基づいて説明する。情報処理装置１の実施例３では、図１１に示すように、状態管理部４６は、プラットフォーム５６および充電制御ドライバ５８ｂに接続されている。充電制御ドライバ５８ｂは、例えば電源回路部４３のバッテリのドライバである。なお、予め識別子情報６１ｃには「充電状態」の項目である旨、状態情報６２ｃには開始／終了／完了のいずれかが、コールバック情報６３ｃには所定の処理（ここでは、「状態情報６２ｃに“開始”が記憶されれば充電制御ドライバ５８ｂへ充電要求するとともに、その旨をプラットフォーム５６に対して通知する、“終了”“完了”が記憶されればプラットフォーム５６に対して通知する」旨の処理）が記載されているものとする。
【００５７】
なお、識別子情報６１ｃは通常固有のＩＤで管理され、例えば識別子情報６１ｃは「充電状態」を示す固有のＩＤで状態情報６２ｃとコールバック情報６３ｃとを関連付けて記憶されている。
【００５８】
情報処理装置１の実施例３として、電源回路部４３等のバッテリの充電を制御するための充電制御処理について、図１２に示すフローチャートに基づいて説明する。なお、携帯電話機１の図示しないデバイスドライバが充電器が接続されたことを検出すると、プラットフォーム５６は電源管理ミドルウェア５６ｂに対して充電器接続検出の通知が行われる（図１１の（１））。
【００５９】
まず、電源管理ミドルウェア５５ｂは、充電器接続検出の通知を受けたか否かを判断する（Ｓ４８０）。充電器接続検出の通知を受けていない場合（Ｓ４８０のＮｏ）は、状態管理部４６はそのまま待機する。充電器接続検出の通知を受けた場合（Ｓ４８０のＹｅｓ）は、電源管理ミドルウェア５５ｂは状態管理部４６に対して充電器接続検出に伴う充電開始の旨を通知する（Ｓ４８２、図１１の（２））。
【００６０】
一方、状態管理部４６は、電源管理ミドルウェア５５ｂからコールされたか否かを判断する（Ｓ５０１）。そして、コールされていないと判断された場合は再度Ｓ５０１に戻る（Ｓ５０１，Ｎｏ）。また、電源管理ミドルウェア５５ｂからコールされたと判断した場合には、状態管理部４６は、状態管理テーブル６０において充電状態を“開始”に変更する（Ｓ５０５）。
【００６１】
状態管理部４６は、状態管理テーブル６０から、Ｓ５０５で変更された充電状態に対応付けられたコールバック情報６３ｃを取得する（Ｓ５０７）。状態管理部４６は、コールバックを呼び出し、その処理を実行する（Ｓ５０９）。この際のコールバックの処理として、状態管理部４６は、例えばプラットフォーム５６に対して充電開始の旨を通知し、その充電状態をＬＣＤ制御部４５に通知し、液晶ディスプレイ２５における充電状態の表示を変更させる充電状態通知処理を行うとともに、充電制御ドライバ５８ｂに対して充電開始をするように指示する（図１１の（３））。
【００６２】
一方、充電制御ドライバ５８ｂは、状態管理部４６のＳ５０９で実行された充電開始指示の要求を受けたか否かを判断する（Ｓ５５０）。そして、要求を受けていないと判断した場合（Ｓ５５０のＮｏ）は、再度Ｓ５５０に戻る。また、状態管理部４６からの充電開始指示の要求を受けた場合には、ＣＨＧ／ＰＭサービス５７ｂに対して充電を開始・及びそれに伴う制御を開始するように要求する（Ｓ５５２、図１１の（４））。その後、Ｓ５５４において、ＣＨＧ／ＰＭサービス５７ｂより充電終了又は充電完了の旨の通知を受けたか否かを判断する。そして、充電終了または充電完了の指示を受けていないと判断した場合はＳ５５４に戻る（Ｓ５５４のＮｏ）。また、充電終了又は充電完了の指示を受けたと判断した場合は（Ｓ５５４のＹｅｓ，図１１の（５））、その旨を電源管理ミドルウェア５５ｂに対して通知を行い（Ｓ５５６、図１１の（６））、終了する。
【００６３】
ここで、電源管理ミドルウェア５５ｂはＳ４８６において、充電制御ドライバ５８ｂから状態変更の通知を受けたか否か（充電終了又は完了の旨の通知を受けたか否か）を判断する（Ｓ４８６）。そして、状態変更の通知を受けていないと判断した場合（Ｓ４８６のＮｏ）は、再度Ｓ４８６に戻る。また、電源管理ミドルウェア５５ｂは、状態変更の通知を受けたと判断した場合には、その状態変更の通知を状態管理部４６に対してその旨（充電終了又は完了の通知）を通知する（Ｓ４８８、図１１の（７））。
【００６４】
また、状態管理部４６は、電源管理ミドルウェア５５ｂから状態変化の通知があったか否かを判断する（Ｓ５１７）。状態変化の通知がない場合（Ｓ５１７のＮｏ）は、状態管理部４６はそのまま待機する。
【００６５】
状態変化の通知があった場合（Ｓ５１７のＹｅｓ）は、状態管理部４６は、電源管理ミドルウェア５５ｂから状態変化情報を取得する（Ｓ５１９）。状態管理部４６は、Ｓ５１９で取得した状態変化情報を、状態管理テーブル６０の状態情報６２ｃに記憶する（Ｓ５２１）。
【００６６】
そして、状態管理部４６は、Ｓ５１９で取得した状態情報６２ｃに基づいて、状態管理テーブル６０から対応するコールバック情報６３ｃを取得する（Ｓ５２３）。そして、状態管理部４６は、このコールバック情報６３を呼び出し、実行する（Ｓ５２５）。この際のコールバックの処理として、状態管理部４６は、例えば充電終了又は完了の旨をプラットフォーム５６に対して通知し、液晶ディスプレイ２５における充電状態の表示（充電中から通常の電池残量アイコン）を変更させる充電状態通知処理を行う（図１１の（８））。このようにして、情報処理端末１において充電制御処理が行われる。
【００６７】
なお、状態管理部４６の記憶の方法はこれに限定されない。上記実施例では１組の記憶を例にとって説明したが、これだけではなく、他の組みの情報を情報管理テーブル６０に登録してもよいことは言うまでもない。
【実施例４】
【００６８】
本発明に係る情報処理装置１の実施例４について、図１３及び図１４に基づいて説明する。情報処理装置の実施例４では、図１３に示すように、状態管理部４６は、ＴＩＭＥＲサービス及びＣＭサービス５７ｃに接続されている。
【００６９】
情報処理装置１において、アンテナレベルはプラットフォーム等をＣＭサービス５７ｃ（電波レベルを測定するサービス）にクライアント登録をすることにより電波強度を定期的に通知することができる。電波強度からアンテナレベルへの変換はアプリケーション側で行っている。
【００７０】
情報処理装置１において、端末状態として電波強度とアンテナレベルを用意する。電波強度はタイマーにより定期的に取得し端末状態として設定を行う。この際、前回と変更がある場合は、登録してあるコールバックにおいてヒステリシス判定を行いアンテナレベルを決定する。そして、アンテナレベルが変更されていれば、アンテナレベルのコールバックにより、指定されたモジュールへ通知を行う。
【００７１】
情報処理装置１の実施例４として、アンテナレベルを監視するためのアンテナレベル監視処理について、図１４に示すフローチャートに基づいて説明する。
【００７２】
まず状態管理部４６は、ＣＭサービス５７ｃにクライアント登録を行う（Ｓ６０１）。状態管理部４６は、ＣＭサービス５７ｃから電波強度の情報を取得したか否かを判断する（Ｓ６０３）。電波強度の情報を取得していない場合（Ｓ６０３のＮｏ）は、状態管理部４６はそのまま待機する。
【００７３】
電波強度の情報を取得した場合（Ｓ６０３のＹｅｓ）は、状態管理部４６は、電波強度を状態管理テーブル６０に記憶する（Ｓ６０５）。また状態管理部４６は、ＴＩＭＥＲサービスにタイマーを設定する（Ｓ６０７）。この際のタイマー時間は、予め状態管理部４６が保持している。
【００７４】
状態管理部４６は、ＴＩＭＥＲサービスから電波強度を取得したか否かを判断する（Ｓ６０９）。ＴＩＭＥＲサービスは、Ｓ６０７で設定されたタイマー時間に基づいて、状態管理部４６に電波強度を通知する。ＴＩＭＥＲサービスから電波強度を取得して場合（Ｓ６０９のＮｏ）は、状態管理部４６はそのまま待機する。
【００７５】
ＴＩＭＥＲサービスから電波強度を取得した場合（Ｓ６０９のＹｅｓ）は、状態管理部４６は、電波強度の平均値を取得する（Ｓ６１１）。この平均値は、例えば加算平均により得られる。状態管理部４６は、Ｓ６１１で取得した電波強度の平均値を、状態管理テーブル６０に記憶する（Ｓ６１３）。
【００７６】
状態管理部４６は、状態管理テーブル６０から、Ｓ６１３で記憶した電波強度の平均値に対応付けられたコールバック情報６３を取得する（Ｓ６１５）。
【００７７】
状態管理部４６は、Ｓ６１５で取得したコールバック情報６３に基づいてコールバックを呼び出す（Ｓ６１７）。状態管理部４６は、この際のコールバックとして、例えば、電波強度の上限下限別々の値を用いて判定するヒステリシス判定を行い、アンテナレベルを取得する。
【００７８】
ヒステリシス判定において、アンテナレベルは最大±１しか変動が発生しないものとする。また、電波強度は１ｘとＨＤＲの両方を常に計算し、通常は１ｘの電波強度の平均値からアンテナレベルを算出するが、データ通信使用中はＨＤＲの電波強度からアンテナレベルの算出を行う。
【００７９】
状態管理部４６は、Ｓ６１７で取得したアンテナレベルを状態管理テーブル６０の所定の位置に（例えば識別子「アンテナレベル」と対応付けて）記憶することにより、アンテナレベルを設定する（Ｓ６１９）。状態管理部４６は、Ｓ６１９で記憶されたアンテナレベルに対応付けられたコールバック情報６３を取得する（Ｓ６２１）。状態管理部４６は、Ｓ６２１で取得したコールバック情報６３に基づいてコールバックを呼び出す（Ｓ６２３）。このようにして、情報処理装置１はアンテナレベル監視処理を行う。
【実施例５】
【００８０】
本発明に係る情報処理装置１の実施例５について、図１５及び図１６に基づいて説明する。情報処理装置１の実施例５では、図１５に示すように、状態管理部４６は、タイマサービス５７ｄ及びＣＭサービス５７ｃに接続されている。
【００８１】
情報処理装置１において、端末状態として圏内／圏外状態を用意する。圏内／圏外状態はＣＭサービス５７ｃにクライアント登録を行うことにより、ＣＭサービス５７ｃより変更時に通知されるので、端末状態へ設定を行う。この際、前回と変更がある場合は、登録してあるコールバックにおいて指定されたモジュールへ通知を行う。
【００８２】
圏外から圏内への変更に際しては、アンテナレベルを取得する必要があるため、圏内状態が通知されたときに、まず電波強度を取得し、アンテナレベル監視機能と同様の仕組みでアンテナレベルを算出する。その後、アンテナレベルのコールバック内で圏内／圏外の設定を行うようにする。
【００８３】
情報処理装置１の実施例５として、圏内／圏外状態を監視するための圏内／圏外状態監視処理について、図１６に示すフローチャートに基づいて説明する。
【００８４】
まず状態管理部４６は、ＣＭサービス５７ｃにクライアント登録を行う（Ｓ７０１）。クライアント登録がされると、状態管理部４６は、ＣＭサービス５７ｃから圏内／圏外状態を取得したか否かを判断する（Ｓ７０３）。圏内／圏外状態を取得しない場合（Ｓ７０３のＮｏ）は、状態管理部４６はそのまま待機する。
【００８５】
圏内／圏外状態を取得した場合（Ｓ７０３のＹｅｓ）は、状態管理部４６は、ＴＩＭＥＲサービスに、アンテナレベル監視用タイマーを設定する（Ｓ７０５）。この際のタイマー時間は、予め状態管理部４６が保持している。なお、この場合の圏内／圏外状態は、圏内である。
【００８６】
状態管理部４６は、ＴＩＭＥＲサービスから電波強度を取得したか否かを判断する（Ｓ７０７）。電波強度を取得していない場合（Ｓ７０７のＮｏ）は、状態管理部４６はそのまま待機する。
【００８７】
電波強度を取得した場合（Ｓ７０７のＹｅｓ）は、状態管理部４６は、取得した電波強度を状態管理テーブル６０に記憶する（Ｓ７０９）。また状態管理部４６は、Ｓ７０７で取得した電波強度に対応付けられたコールバック情報６３を取得する（Ｓ７１１）。
【００８８】
状態管理部４６は、実施例４のステップＳ６１７の処理と同様にして、コールバックを呼び出し、ヒステリシス判定を行ってアンテナレベルを取得する（Ｓ７１３）。さらに状態管理部４６は、Ｓ７１３で取得したアンテナレベル状態監視テーブルに記憶することにより、Ｓ７１３で取得したンテナレベルを設定する（Ｓ７１５）。状態管理部４６は、アンテナレベルに対応付けられたコールバック情報６３を状態管理テーブル６０から取得する（Ｓ７１７）。
【００８９】
状態管理部４６は、Ｓ７１７で取得したコールバック情報６３に基づいて、コールバックを呼び出す（Ｓ７１９）。ここでは、状態管理部４６は、例えばＳ７０３で取得した圏内／圏外状態を状態管理テーブル６０に記憶することにより、圏内／圏外状態の設定を行う。状態管理部４６は、状態管理テーブル６０からこの圏内／圏外状態に対応付けられたコールバック情報６３を取得する（Ｓ７２１）。
【００９０】
状態管理部４６は、Ｓ７２１で取得したコールバック情報６３に基づいて、コールバックを呼び出す（Ｓ７２３）。この際のコールバックの処理として、状態管理部４６は、例えば圏内／圏外状態が圏内に変更されたことをＬＣＤ制御部４５に通知し、液晶ディスプレイ２５における圏内／圏外状態の表示を変更させる圏内変更通知処理を行う。
【００９１】
また、状態管理部４６は、Ｓ７２１で取得したコールバック情報６３に基づいて、別のコールバックを呼び出す（Ｓ７２５）。この際のコールバックの処理として、状態管理部４６は、例えばアンテナレベルをＬＣＤ制御部４５に通知し、液晶ディスプレイ２５におけるアンテナレベルの表示を変更させるアンテナレベル通知処理を行う。
【００９２】
このようにして、情報処理装置１により圏内／圏外状態監視処理が行われる。
【実施例６】
【００９３】
本発明に係る情報処理装置１の実施例６について、図１７及び図１８に基づいて説明する。
【００９４】
情報処理装置１の実施例６では、図１７に示すように、状態管理部４６は、タイマサービス５７ｄ及びＣＭサービス５７ｃに接続されている。
【００９５】
情報処理装置１において、圏外時の特殊な条件として、１ｘが圏外でＨＤＲが圏内にあるときに、通常は圏外／圏内情報は１ｘの情報を設定するため圏外を示すが、データ通信が開始したときだけ、ＨＤＲの状態を設定する必要がある。つまり、圏外／圏内情報を圏内に、電波強度をＨＤＲの電波強度を設定する必要がある。圏外におけるデータ通信開始はＣＭサービス５７ｃより状態を取得することができるので、圏外→圏内時のシーケンスと同様のシーケンスで機能する。
【００９６】
情報処理装置１の実施例６として、圏外／圏内状態を監視するための圏外／圏内状態監視処理について、図１８に示すフローチャートに基づいて説明する。
【００９７】
まず状態管理部４６は、ＣＭサービス５７ｃにクライアント登録を行う（Ｓ８０１）。クライアント登録を終えると、状態管理部４６は、ＣＭサービス５７ｃから圏内／圏外状態を取得したか否かを判断する（Ｓ８０３）。圏内／圏外状態を取得していない場合（Ｓ８０３のＮｏ）は、状態管理部４６はそのまま待機する。
【００９８】
圏内／圏外状態を取得した場合（Ｓ８０３のＹｅｓ）は、状態管理部４６は、Ｓ８０３で取得した圏内／圏外状態を、状態管理テーブル６０に記憶する（Ｓ８０５）。この場合の圏内／圏外状態は、圏外である。また状態管理部４６は、状態管理テーブル６０からこの圏内／圏外状態に対応付けられたコールバック情報６３を取得する（Ｓ８０７）。
【００９９】
状態管理部４６は、Ｓ８０７で取得したコールバック情報６３に基づいて、コールバックを呼び出す（Ｓ８０９）。ここでは、状態管理部４６は、例えば電波強度として「０」を状態管理テーブル６０に記憶することにより、電波強度を０に設定する。
【０１００】
また状態管理部４６は、Ｓ８０７で取得したコールバック情報６３に基づいて、別のコールバックを呼び出す（Ｓ８１１）。この際のコールバックの処理として、状態管理部４６は、例えば圏内／圏外状態が圏外に変更されたことをＬＣＤ制御部４５に通知し、液晶ディスプレイ２５における圏内／圏外状態の表示を変更させる圏外変更通知処理を行う。
【０１０１】
次に状態管理部４６は、アンテナレベルが０か否かを判断する（Ｓ８１３）。なお、アンテナレベルは、ＴＩＭＥＲサービスのタイマーのタイムアウト毎に１段階ずつ減少していく。状態管理部４６は、アンテナレベルが０であった場合（Ｓ８１３のＹｅｓ）にのみ、実施例５のステップＳ７０５で設定されたアンテナ監視用タイマーを停止させる（Ｓ８１５）。このようにして、情報処理装置１により圏外／圏内状態監視処理が行われる。
【０１０２】
なお、ステップＳ１０１〜Ｓ１０３の処理が記憶手段であり、ステップＳ１０５の処理が検知手段であり、ステップＳ１０７の処理が取得手段であり、ステップＳ１０９の処理が時間設定手段である。
【０１０３】
第１実施形態では携帯電話機型の情報処理装置１について説明したが、これに限らず、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）等の任意の情報端末であっても良い。
【図面の簡単な説明】
【０１０４】
【図１】本発明に係る情報処理装置の外観図。
【図２】本発明に係る情報処理装置の外観図。
【図３】本発明に係る情報処理装置の機能構成図。
【図４】本発明に係る情報処理装置のミドルウェアのソフトウェア構成図。
【図５】本発明に係る情報処理装置の処理を説明するための概念図。
【図６】本発明に係る情報処理装置が処理を行う際の手順を示すフローチャート。
【図７】本発明に係る情報処理装置の端末状態監視処理を説明するための概念図。
【図８】本発明に係る情報処理装置が端末状態監視処理を行う際の手順を示すフローチャート。
【図９】本発明に係る情報処理装置の電池レベル監視処理を説明するための概念図。
【図１０】本発明に係る情報処理装置が電池レベル監視処理を行う際の手順を示すフローチャート。
【図１１】本発明に係る情報処理装置の充電制御処理を説明するための概念図。
【図１２】本発明に係る情報処理装置が充電制御処理を行う際の手順を示すフローチャート。
【図１３】本発明に係る情報処理装置のアンテナレベル監視処理を説明するための概念図。
【図１４】本発明に係る情報処理装置がアンテナレベル監視処理を行う際の手順を示すフローチャート。
【図１５】本発明に係る情報処理装置の圏内／圏外状態監視処理を説明するための概念図。
【図１６】本発明に係る情報処理装置が圏内／圏外状態監視処理を行う際の手順を示すフローチャート。
【図１７】本発明に係る情報処理装置の圏外／圏内状態監視処理を説明するための概念図。
【図１８】本発明に係る情報処理装置が圏外／圏内状態監視処理を行う際の手順を示すフローチャート。
【符号の説明】
【０１０５】
１…情報処理装置，４１…主制御部，４２…記憶部，４３…電源回路部，４４…操作入力制御部，４５…ＬＣＤ制御部，４６…状態管理部，４７…音声コーディック，４８…変復調回路部，４９…多重化分離部，５０…バス，５１…送受信回路部，５２…アンテナ，５５…ミドルウェア，５６…プラットフォーム，５７…サービスプログラム，５８…ドライバ，６０…状態管理テーブル。
【図１】
2008234494.tif 000003
【図２】
2008234494.tif 000004
【図３】
2008234494.tif 000005
【図４】
2008234494.tif 000006
【図５】
2008234494.tif 000007
【図６】
2008234494.tif 000008
【図７】
2008234494.tif 000009
【図８】
2008234494.tif 000010
【図９】
2008234494.tif 000011
【図１０】
2008234494.tif 000012
【図１１】
2008234494.tif 000013
【図１２】
2008234494.tif 000014
【図１３】
2008234494.tif 000015
【図１４】
2008234494.tif 000016
【図１５】
2008234494.tif 000017
【図１６】
2008234494.tif 000018
【図１７】
2008234494.tif 000019
【図１８】
2008234494.tif 000020