(57)【要約】  情報処理システムに含まれる、アプリケーションプログラムに対するイベントを格納するイベント格納部（１０３）からイベントを識別するイベント識別子を取得する起動判定部（１０４）と、情報処理システムの状態を取得する状態取得部（１０６）と、アプリケーションプログラムを適応的に起動する制御部（１０７）とを備え、起動判定部（１０４）は、状態取得部（１０６）により取得された情報処理システムの状態が、イベント識別子に対応する起動判定条件に該当するか否かに応じ、アプリケーションプログラムを起動させるか否かを判定し、制御部（１０７）は、起動判定部（１０４）によりアプリケーションプログラムを起動させないと判定された場合、アプリケーションプログラムを起動することなくイベント格納部（１０３）に格納されたイベントを破棄するシステム管理装置（１０１）。
2007119550.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションプログラムを実行可能な情報処理システムを管理するシステム管理装置であって、
前記情報処理システムに含まれる、前記アプリケーションプログラムに対するイベントを格納する格納手段から、前記イベントを識別するイベント識別子を取得するイベント取得手段と、
前記情報処理システムの状態を取得する状態取得手段と、
前記アプリケーションプログラムを適応的に起動する制御手段と、
取得された前記情報処理システムの状態が、取得された前記イベント識別子に対応する起動判定条件に該当するか否かに応じ、前記アプリケーションプログラムを起動させるか否かを判定する判定手段とを備え、
前記制御手段は、前記判定手段により前記アプリケーションプログラムを起動させないと判定された場合、前記アプリケーションプログラムを起動することなく前記格納手段に格納された前記イベントを破棄する
システム管理装置。
【請求項２】
さらに、複数種のイベント識別子それぞれに対応する起動判定条件を記憶している条件記憶手段を備え、
前記起動判定条件は、前記アプリケーションプログラムを起動させるか否かの条件となる前記情報処理システムの状態を示す情報を含み、
前記判定手段は、
前記イベント取得手段に取得されたイベント識別子に対応する起動判定条件を前記条件記憶手段から取得し、
前記状態取得手段に取得された前記情報処理システムの状態が、前記条件記憶手段から取得した起動判定条件に示される前記情報処理システムの状態に該当するか否かに応じ、前記アプリケーションプログラムを起動させるか否かを判定する
請求項１記載のシステム管理装置。
【請求項３】
前記起動判定条件に含まれる前記情報処理システムの状態を示す情報は、所定のアプリケーションプログラムの動作状態を示す情報であり、
前記状態取得手段は、前記アプリケーションプログラムまたは他のアプリケーションプログラムから前記アプリケーションプログラムまたは他のアプリケーションプログラムの動作状態を取得し、
前記判定手段は、前記状態取得手段に取得された動作状態が、前記条件記憶手段から取得した起動判定条件に示される前記所定のアプリケーションプログラムの動作状態に該当するか否かに応じ、前記イベントの通知先であるアプリケーションプログラムを起動させるか否かを判定する
請求項２記載のシステム管理装置。
【請求項４】
前記起動判定条件は、前記所定のアプリケーションプログラムが動作中である場合、前記イベントの通知先のアプリケーションプログラムを起動させないという条件であり、
前記判定手段は、前記状態取得手段に取得された動作状態が、前記所定のアプリケーションプログラムが動作中であることを示す場合、前記イベントの通知先であるアプリケーションプログラムを起動させないと判定する
請求項３記載のシステム管理装置。
【請求項５】
前記条件記憶手段は、前記情報処理システムにアプリケーションプログラムが追加された場合、追加された前記アプリケーションプログラムからの要求に従い、前記アプリケーションプログラムについての起動判定条件をさらに記憶する
請求項２記載のシステム管理装置。
【請求項６】
さらに、前記イベント格納手段に、前記イベントが格納されたことを検出する監視手段を備え、
前記判定手段は、前記イベント格納手段にイベントが格納されたことを前記監視手段から通知されると、前記アプリケーションプログラムを起動させるか否かを判定する
請求項１記載のシステム管理装置。
【請求項７】
アプリケーションプログラムを実行可能な情報処理システムを管理するシステム管理方法であって、
前記情報処理システムに含まれる、前記アプリケーションプログラムに対するイベントを格納する格納手段から、前記イベントを識別するイベント識別子を取得するイベント取得ステップと、
前記情報処理システムの状態を取得する状態取得ステップと、
前記アプリケーションプログラムを適応的に起動する制御ステップと、
取得された前記情報処理システムの状態が、取得された前記イベント識別子に対応する起動判定条件に該当するか否かに応じ、前記アプリケーションプログラムを起動させるか否かを判定する判定ステップとを含み、
前記制御ステップでは、前記判定ステップにおいて前記アプリケーションプログラムを起動させないと判定された場合、前記アプリケーションプログラムを起動することなく前記格納手段に格納された前記イベントを破棄する
システム管理方法。
【請求項８】
アプリケーションプログラムを実行可能な情報処理システムを管理するためのプログラムであって、
前記情報処理システムに含まれる、前記アプリケーションプログラムに対するイベントを格納する格納手段から、前記イベントを識別するイベント識別子を取得するイベント取得ステップと、
前記情報処理システムの状態を取得する状態取得ステップと、
前記アプリケーションプログラムを適応的に起動する制御ステップと、
取得された前記情報処理システムの状態が、取得された前記イベント識別子に対応する起動判定条件に該当するか否かに応じ、前記アプリケーションプログラムを起動させるか否かを判定する判定ステップとをコンピュータに実行させるためのプログラムであり、
前記制御ステップでは、前記判定ステップにおいて前記アプリケーションプログラムを起動させないと判定された場合、前記アプリケーションプログラムを起動することなく前記格納手段に格納された前記イベントを破棄する
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システムの動作を管理するシステム管理装置に関する。
【背景技術】
【０００２】
従来、携帯端末等の情報処理システムは複数のアプリケーションプログラムを実行可能であり、それぞれのアプリケーションプログラムの動作状態を記憶するアプリケーション状態記憶部を備えている。【０００３】
このような携帯端末は、ユーザのボタン操作等に基づいて発生したイベントに対応するアプリケーションプログラムを特定し、予め設定されている、複数のアプリケーションプログラム間の競合条件に基づいて、受信したイベントに対応するアプリケーションプログラムを起動するか否か決定することができる。【０００４】
また、アプリケーションプログラムを起動することを決定した場合、当該アプリケーションプログラム以外のアプリケーションプログラムの動作状態をアプリケーション状態記憶部から読み出し、動作中のアプリケーションプログラムを停止させ、当該アプリケーションプログラムを起動する。【０００５】
このように、メモリ容量が限られている環境において複数のアプリケーションプログラムの起動制御が行われており、このような制御に関する技術も開示されている（例えば、特許文献１参照）。
【特許文献１】特開２００５−２８４９０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ここで、上記従来の技術では、イベントが発生した際の各アプリケーションプログラムの状態と各アプリケーションプログラムの競合条件に基づいてアプリケーションプログラムの起動判定が行われる。【０００７】
また、起動すると決定されたアプリケーションプログラムが起動した後にイベント通知を受け、イベントの内容を判断して処理を行うことになる。【０００８】
つまり、携帯端末等の情報処理システムにおいて、アプリケーションプログラムが起動する必要がなかったと事後的に判断されるイベントが発生した場合でも当該アプリケーションプログラムは起動することになる。【０００９】
具体的には、当該アプリケーションプログラムは、起動した後に当該イベントの内容を判断し、そのイベントに対応する処理を行うことなしに停止する。【００１０】
これにより、本来的には消費する必要がなかったメモリ等のリソースおよび電力等が無駄に消費されることになる。【００１１】
このように、上記従来の技術によれば、情報処理システムにおいて複数存在するアプリケーションプログラムを互いに競合しないように制御することは可能である。【００１２】
しかし、本来的には起動する必要がないアプリケーションプログラムが起動してしまうといった問題を解決することはできない。【００１３】
本発明は、上記従来の課題を考慮し、情報処理システムにおいて効率よくアプリケーションプログラムを動作させるシステム管理装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、本発明のシステム管理装置は、アプリケーションプログラムを実行可能な情報処理システムを管理するシステム管理装置であって、前記情報処理システムに含まれる、前記アプリケーションプログラムに対するイベントを格納する格納手段から、前記イベントを識別するイベント識別子を取得するイベント取得手段と、前記情報処理システムの状態を取得する状態取得手段と、前記アプリケーションプログラムを適応的に起動する制御手段と、取得された前記情報処理システムの状態が、取得された前記イベント識別子に対応する起動判定条件に該当するか否かに応じ、前記アプリケーションプログラムを起動させるか否かを判定する判定手段とを備え、前記制御手段は、前記判定手段により前記アプリケーションプログラムを起動させないと判定された場合、前記アプリケーションプログラムを起動することなく前記格納手段に格納された前記イベントを破棄する。【００１５】
これにより、情報処理システムにおいてイベントが発生した際に、当該イベントの通知先であるアプリケーションプログラムが起動する前に、当該アプリケーションプログラムを起動させるか否かを判定することができる。【００１６】
つまり、アプリケーションプログラムが起動する必要のないイベントが発生した場合に、当該アプリケーションプログラムを無駄に起動させることなく、当該イベントを破棄することができる。【００１７】
また、本発明のシステム管理装置はさらに、前記イベント格納手段に、前記イベントが格納されたことを検出する監視手段を備え、前記判定手段は、前記イベント格納手段にイベントが格納されたことを前記監視手段から通知されると、前記アプリケーションプログラムを起動させるか否かを判定するとしてもよい。【００１８】
これにより、情報処理システムにおいて、ミドルウェアからシステム管理装置へのイベント発生を通知する処理を削減することができ、処理時間を短縮することができる。【００１９】
さらに、本発明は、本発明のシステム管理装置の特徴的な構成部を含む集積回路として実現することもできる。【００２０】
また、本発明は、本発明のシステム管理装置におけるこれら特徴的な構成部の動作をステップとする方法として実現すること、および、それらのステップを含むプログラムとして実現することもできる。【００２１】
さらに、そのプログラムが格納された、ＣＤ−ＲＯＭ等の記録媒体として実現したり、集積回路として実現することもできる。プログラムは、通信ネットワーク等の伝送媒体を介して流通させることもできる。
【発明の効果】
【００２２】
本発明のシステム管理装置によれば、情報処理システムの状態に応じて、発生したイベントごとに、そのイベントの通知先であるアプリケーションプログラムを起動させるか否か、つまり、起動が不要であるか否かを判定することができる。【００２３】
また、発生したイベントについて、アプリケーションプログラムの起動が不要であると判定された場合には、当該アプリケーションプログラムを起動することなくイベントを破棄することができる。これにより、システム内の負荷を低減することができ、効率よくアプリケーションプログラムを動作させることができる。
【図面の簡単な説明】
【００２４】
【図１】図１は、実施の形態１における携帯端末の主要な機能構成を示す機能ブロック図である。
【図２】図２は、実施の形態１におけるイベントのデータ構成の一例である。
【図３】図３は、実施の形態１における起動判定条件の一例を示す図である。
【図４】図４は、実施の形態１のシステム管理装置における起動判定の動作を示すフローチャートである。
【図５】図５は、実施の形態１における更新後の起動判定条件の一例を示す図である。
【図６】図６は、実施の形態１における起動判定条件の別の一例を示す図である。
【図７】図７は、実施の形態１における更新後の起動判定条件の別の一例を示す図である。
【図８】図８は、実施の形態２における携帯端末の主要な機能構成を示す機能ブロック図である。
【図９】図９は、実施の形態２のシステム管理装置における起動判定の動作を示すフローチャートである。
【図１０】図１０は、実施の形態１のシステム管理装置における集積回路化の一例を示す図である。
【符号の説明】
【００２５】
１０、２０    携帯端末
１０１、２０１    システム管理装置
１０２    ミドルウェア
１０３、２０３    イベント格納部
１０４、２０４    起動判定部
１０５    条件記憶部
１０６、２０６    状態取得部
１０７    制御部
１０８    アプリケーションプログラム
２０２    監視部
３００    ＬＳＩ
【発明を実施するための最良の形態】
【００２６】
以下、本発明の実施の形態のシステム管理装置ついて、図面を参照しながら説明する。【００２７】
（実施の形態１）
まず、図１〜図３を用いて、本発明の実施の形態１のシステム管理装置１０１を備える携帯端末１０の構成を説明する。【００２８】
図１は、本発明の実施の形態１における携帯端末１０の主要な機能構成を示す機能ブロック図である。【００２９】
図1に示す携帯端末１０は、本発明のシステム管理装置の管理対象である情報処理システムの一例であり、複数のアプリケーションソフトを有する携帯端末である。【００３０】
図１に示すように、実施の形態１における携帯端末１０は、システム管理装置１０１とミドルウェア１０２と、アプリケーションプログラム１０８とを備える。【００３１】
なお、携帯端末１０は、アプリケーションプログラム１０８を実行する実行環境、他の装置と通信する機能、静止画および動画を撮影するカメラ、テレビ番組を受信するためのチューナ等の、他のソフトウェアおよびハードウェアを備えている。しかし、本発明の特徴を明確にするためにこれらの図示および説明は省略し、本発明の特徴的な機能構成について図示し説明する。【００３２】
また、携帯端末１０は１以上のアプリケーションプログラムを有しているが、その代表としてアプリケーションプログラム１０８を図示している。以下で「アプリケーションプログラム」という場合、携帯端末１０が有する１以上のアプリケーションプログラムのうちのいずれかを指すものとする。【００３３】
システム管理装置１０１は、携帯端末１０が有する１以上のアプリケーションプログラムの動作を管理・制御を行う装置である。【００３４】
具体的には、システム管理装置１０１は、ミドルウェア１０２からアプリケーションプログラムに対するイベント通知が発生すると、ミドルウェア１０２からイベントを受け取る。また、受け取ったイベントに対するアプリケーションプログラムを判断してアプリケーションプログラムの起動を制御する。さらに、起動したアプリケーションプログラムへ必要なイベントを通知するなどの処理を行う。【００３５】
システム管理装置１０１は、このような処理を行うための構成として、イベント格納部１０３、起動判定部１０４、条件記憶部１０５、状態取得部１０６、および制御部１０７を備える。【００３６】
イベント格納部１０３は、ミドルウェア１０２から送信される、アプリケーションプログラムに対するイベントを一時的に格納する記憶装置である。【００３７】
なお、本実施の形態におけるイベントには、図２に示すように、イベント識別子、アプリケーション識別子およびイベント情報が含まれている。【００３８】
イベント識別子はイベントを識別するための情報であり、アプリケーション識別子は、当該イベントの通知先、言い換えると当該イベントを処理すべきアプリケーションプログラムを識別するための情報である。【００３９】
また、イベント情報は、アプリケーション識別子に示されるアプリケーションプログラムがイベントを処理する際に用いるデータである。【００４０】
例えば、携帯端末１０において、動画撮影を開始するためのボタンがユーザに押下された場合、カメラの制御等を行うアプリケーションプログラム（以下、「カメラアプリケーション」という。）を示すアプリケーション識別子と、“動画撮影”を示すイベント識別子と、ユーザに押下されたボタンを示す情報を有するイベント情報とが含まれるイベントがミドルウェア１０２からシステム管理装置１０１に送信される。【００４１】
起動判定部１０４は、アプリケーションプログラムを起動させるか否かを判定する処理部である。【００４２】
具体的には、ミドルウェア１０２からのイベント発生の通知を受けると、状態取得部１０６に取得された携帯端末１０の状態が、イベント格納部１０３から取得したイベント識別子に対応する起動判定条件に該当するか否かに応じて、当該イベントの通知先のアプリケーションプログラムを起動させるか否かを判定する。【００４３】
なお、起動判定部１０４は、本発明のシステム管理装置におけるイベント取得手段の一例である。【００４４】
条件記憶部１０５は、複数種のイベント識別子それぞれに対応する起動判定条件を記憶する記憶装置である。起動判定条件とは、アプリケーションプログラムを起動させるか否かの条件となる携帯端末１０の状態を示す情報である。【００４５】
本実施の形態においては、上記携帯端末１０の状態を示す情報は、所定のアプリケーションプログラムの動作状態を示す情報である。起動判定条件の詳細については、図３等を用いて後述する。【００４６】
また、条件記憶部１０５は、アプリケーションプログラムが携帯端末１０に追加されると、当該アプリケーションプログラムからの要求に従い、そのアプリケーションプログラムについての起動判定条件を記憶する。つまり、条件記憶部１０５は、起動判定条件を更新することができる。更新の具体例は、図５を用いて後述する。【００４７】
状態取得部１０６は、携帯端末１０の状態を取得する処理部である。本実施の形態においては、状態取得部１０６は、携帯端末１０の状態として各アプリケーションプログラムの動作状態を取得する。【００４８】
具体的には、起動判定部１０４からアプリケーションプログラムの動作状態の取得要求を受けると、各アプリケーションプログラムに動作状態の取得要求を通知する。【００４９】
さらに、この取得要求への応答として各アプリケーションプログラムから送信されるそれぞれの動作状態を取得し起動判定部１０４にこれら動作状態を通知する。【００５０】
起動判定部１０４は、状態取得部１０６から取得した各アプリケーションプログラムの動作状態と、イベント格納部１０３から取得したイベント識別子に対応する起動判定条件とに基づき、当該イベントの通知先であるアプリケーションプログラムを起動させるか否かを判定し、判定結果を制御部１０７に通知する処理部である。【００５１】
制御部１０７は、起動判定部１０４からの判定結果に基づき、アプリケーションプログラムを適応的に起動する処理部である。【００５２】
具体的には、制御部１０７は、起動判定部１０４からイベントの通知先であるアプリケーションプログラムを起動させないという判定結果が通知された場合、制御部１０７は、イベントの通知先であるアプリケーションプログラムを起動することなく、イベント格納部１０３に格納されている当該イベントを破棄する。【００５３】
また、制御部１０７は、起動判定部１０４からイベントの通知先であるアプリケーションプログラムを起動させるという判定結果が通知された場合、当該アプリケーションプログラムを起動し、イベント識別子を当該アプリケーションプログラムに通知する。【００５４】
制御部１０７から起動され、イベント識別子を通知されたアプリケーションプログラムは、このイベント識別子に基づきイベント格納部１０３からイベント情報を読み出し、当該イベント情報を用いた処理を行う。【００５５】
図３は、実施の形態１における起動判定条件の一例を示す図である。【００５６】
図３に示すように、本実施の形態における起動判定条件は、条件参照テーブルと、個別条件テーブルという２種類のテーブルで構成されている。【００５７】
具体的には、条件参照テーブルは、アプリケーション識別子と参照先識別子とが対応付けられて記録されたテーブルである。【００５８】
参照先識別子は、当該アプリケーション識別子により特定されるアプリケーションプログラムの起動判定の際に参照すべき個別条件テーブルを特定する識別子である。【００５９】
個別条件テーブルは、イベント識別子と起動不要条件とが対応づけられて記録されたテーブルであり、アプリケーションプログラムごとに１つの個別条件テーブルが存在する。【００６０】
起動不要条件は、当該個別条件テーブルに対応するアプリケーションプログラムの起動が不要となる条件である。【００６１】
具体的には、起動不要条件に示されるアプリケーションプログラムの動作状態が“動作中”であれば、起動判定の対象であるアプリケーションプログラム（以下、「判定対象アプリケーション」という。）の起動は不要であるということを意味する。【００６２】
起動判定部１０４は、条件参照テーブルから、イベントの通知先であるアプリケーションプログラムに対応する個別条件テーブルを特定する。また、特定した、個別条件テーブルから、イベント識別子に対応する起動不要条件を特定する。【００６３】
さらに、特定した起動不要条件と、状態取得部１０６から受け取った各アプリケーションプログラムの動作状態とに基づき、起動要であるか起動不要であるかを判定する。【００６４】
例えば、図３に示す起動判定条件では、動画撮影のイベントがミドルウェア１０２から送信された際、テレビ（ＴＶ）のアプリケーションプログラム（以下、「ＴＶアプリケーション」という。）が動作中である場合には、動画撮影のイベントの通知先であるカメラアプリケーションの起動は不要であるという条件になっている。【００６５】
なお、起動判定に際し、アプリケーションプログラム（上記例の場合ＴＶアプリケーション）が“動作中”であるとは、当該アプリケーションプログラムが実際に何らかの処理実行中である場合および表示部等のインターフェースに何らかの情報を表示または出力している場合（このような状態を「アクティブ」という。）のみではない。【００６６】
例えば、表示部において、当該アプリケーションプログラムによる画面表示がアクティブな他のアプリケーションプログラムに隠れており、所定の操作により即座に画面表示が可能な状態にある場合（このような状態を「インアクティブ」という。）も含む。【００６７】
次に、図４〜図７を用いて本発明の実施の形態１のシステム管理装置１０１の動作を説明する。【００６８】
図４は、実施の形態１のシステム管理装置１０１における起動判定の動作を示すフローチャートである。【００６９】
まずミドルウェア１０２からイベントが送信されると、イベントはイベント格納部１０３に格納される。この際、起動判定部１０４がミドルウェア１０２からイベント発生の通知を受ける（Ｓ１）。【００７０】
起動判定部１０４は、イベント発生の通知を受けると、イベント格納部１０３からアプリケーション識別子とイベント識別子とを取得する（Ｓ２）。【００７１】
起動判定部１０４は、条件記憶部１０５から取得したアプリケーション識別子とイベント識別子とに対応する起動判定条件を取得する（Ｓ３）。【００７２】
具体的には、起動判定部１０４は、条件参照テーブルを参照し、当該アプリケーション識別子に対応する個別条件テーブルを特定する。また、特定した個別条件テーブルから当該イベント識別子に対応する起動不要条件を取得する。【００７３】
また、起動判定部１０４は、状態取得部１０６から１以上のアプリケーションプログラムの動作状態を取得する（Ｓ４）。【００７４】
なお、このとき、アプリケーション識別子に対応するアプリケーションプログラム、つまり、判定対象アプリケーションの動作状態も取得される。さらに、すでに判定対象アプリケーションが起動済である場合、起動判定は不要であるため、起動判定に係る動作は終了する。また、判定対象アプリケーションは当該イベントをイベント格納部１０３から取得し処理する。【００７５】
起動判定部１０４は、取得した起動判定条件と１以上のアプリケーションプログラムの動作状態に基づいて、当該イベントの通知先であるアプリケーションプログラムの起動判定を行う（Ｓ５）。【００７６】
具体的には、取得した起動不要条件に示されるアプリケーションプログラムがその時点で動作中であるかどうかに基づいて判定する。【００７７】
起動不要条件に示されるアプリケーションプログラムが動作中でない場合、判定対象アプリケーションを起動させると判定し（Ｓ５で起動）、判定結果を制御部１０７に通知する。【００７８】
一方、起動不要条件に該当するアプリケーションプログラムが動作中である場合、判定対象アプリケーションを起動させないと判定し（Ｓ５で起動不要）、判定結果を制御部１０７に通知する。【００７９】
制御部１０７は、起動判定部１０４から“起動”の旨の通知を受けた場合、アプリケーション識別子に示されるアプリケーションプログラム、つまり、当該イベントの通知先であるアプリケーションプログラムを起動させる（Ｓ６）。【００８０】
また、制御部１０７は、起動判定部１０４から“起動不要”の旨の通知を受けた場合、当該イベントの通知先であるアプリケーションプログラムを起動させることなく、イベント格納部１０３に格納されている当該イベントを破棄する（Ｓ７）。【００８１】
以上説明したシステム管理装置１０１の起動判定に係る動作を、図３に示す起動判定条件を用いて具体的に説明する。【００８２】
なお、ミドルウェア１０２から動画撮影のイベントが送信された場合を想定する。また、動画撮影のイベントは、通知先のアプリケーションプログラムはカメラアプリケーションである。つまり当該イベントは、カメラアプリケーションを示すアプリケーション識別子と、“動画撮影”を示すイベント識別子とを含んでいる。【００８３】
ミドルウェア１０２から動画撮影のイベントが送信され、イベント格納部１０３に格納される。また、起動判定部１０４は、ミドルウェア１０２からイベント発生の通知を受け取る（Ｓ１）。【００８４】
起動判定部１０４はイベント発生の通知を受け取ると、イベント格納部１０３から“カメラアプリケーションを示すアプリケーション識別子と動画撮影”を示すイベント識別子とを取得する（Ｓ２）。【００８５】
起動判定部１０４はこれら識別子を取得すると、条件記憶部１０５からこれら識別子に対応する起動不要条件を取得する（Ｓ３）。【００８６】
具体的には、条件参照テーブルから“カメラ”に対応する“ｔｂｌ１＿ｃａ”が特定され、“ｔｂｌ１＿ｃａ”の個別条件テーブルから、“動画撮影”に対応する起動不要条件である“ＴＶ”が取得される。【００８７】
さらに、起動判定部１０４は、状態取得部１０６からその時点での１以上のアプリケーションプログラムの動作状態を取得する。本例の場合、起動判定部１０４はＴＶアプリケーションが現在動作中であることを取得する（Ｓ４）。【００８８】
起動判定部１０４は、取得した動作状態が、起動不要条件である、テレビアプリケーションが動作中であることに該当するため、カメラアプリケーションを起動させないと判定する（Ｓ５で起動不要）。【００８９】
制御部１０７は、この判定結果を受け取り、カメラアプリケーションを起動することなく、イベント格納部１０３に格納されている動画撮影のイベントを破棄する。【００９０】
以上のように、本実施の形態のシステム管理装置１０１は、情報処理システムにおいてイベントが発生した際、そのイベントの通知先であるアプリケーションプログラムを起動させるか否かを判定する。【００９１】
具体的には、何らかのアプリケーションに対して発生するイベントごとに、情報処理システムにおけるその時点での１以上のアプリケーションプログラムの動作状態に応じて、当該イベントの通知先のアプリケーションプログラムを起動するか否かを判定する。【００９２】
ここで、従来の情報処理システムにおいては、イベントの単位で起動の要否が判定されていない。そのため、情報処理システムにおいてあるイベントが発生した場合、当該イベントに示される処理内容によっては、当該イベントの通知先のアプリケーションプログラムが起動された後に起動が不要であったと判定される場合がある。【００９３】
しかしながら、このような場合においても、本実施の形態のシステム管理装置１０１であれば、上述の起動判定を行うことで当該イベントの通知先のアプリケーションプログラムを起動させることがない。【００９４】
つまり、アプリケーションプログラムを無駄に起動させることなく、当該イベントを即座に破棄することができる。【００９５】
このように本実施の形態のシステム管理装置１０１は、情報処理システムにおいて効率よくアプリケーションプログラムを動作させることができ、これにより、情報処理システムの処理負荷を低減することができる。また、情報処理システムにイベントを格納するメモリ等を効率よく使用させることができる。【００９６】
また、情報処理システム内の負荷を低減させることで、情報処理システムの省電力性を向上させるという効果もある。【００９７】
また、図３に示す条件参照テーブルおよび個別条件テーブルは、情報処理システムにアプリケーションプログラムが追加された場合、そのアプリケーションプログラムに対応する各テーブルが追加される。【００９８】
図５は、実施の形態１における更新後の起動判定条件の一例を示す図である。【００９９】
なお、携帯端末１０にアプリケーションプログラムが追加される場合としては、例えば、ネットワークを介して携帯端末１０に新規なアプリケーションプログラムをダウンロードすることで携帯端末１０に当該アプリケーションプログラムがインストールされる場合がある。【０１００】
また、アプリケーションプログラムが記憶されているＳｅｃｕｒｅ  Ｄｉｇｉｔａｌ（ＳＤ）カード等の外部記憶媒体が携帯端末１０に挿入されることで携帯端末１０にアプリケーションプログラムが追加される場合などもある。【０１０１】
また、図５は、オーディオデータを再生するアプリケーションプログラム（以下、「音楽アプリケーション」という）が携帯端末１０に追加された場合の起動判定条件を示している。【０１０２】
携帯端末１０に音楽アプリケーションが追加された場合、音楽アプリケーションがインストールされる際、または、音楽アプリケーションが最初に起動する際など、所定のタイミングにおいて、音楽アプリケーションの要求に従い、音楽アプリケーションについての起動判定条件が条件記憶部１０５に記録される。【０１０３】
具体的には、図５に示すように、条件参照テーブルに、アプリケーション識別子として“音楽”が追加され、“音楽”に対応する参照先識別子として“Ｔｂｌ１＿ａｕ”が追加される。【０１０４】
また、その参照先識別子に示される個別条件テーブル“Ｔｂｌ１＿ａｕ”が条件記憶部１０５に追加される。【０１０５】
なお、音楽アプリケーション以外の各アプリケーションプログラムに関連するそれぞれの個別条件テーブルにおいて、必要に応じ、起動不要条件として“音楽”が追加される。【０１０６】
図５に示す例によれば、携帯端末１０においてユーザのボタン操作等により音楽アプリケーションに対する“音楽再生”のイベントが発生した場合、起動判定部１０４により起動不要条件である“ＴＶ”が取得される。【０１０７】
そのため、起動判定部１０４は、状態取得部１０６からＴＶアプリケーションが動作中である旨の情報を取得した場合、音楽アプリケーションの起動は不要であると判定する。また制御部１０７はこの判定結果を受け、音楽アプリケーションを起動することなくイベント格納部１０３に格納された当該イベントを破棄する。【０１０８】
このように、携帯端末１０にアプリケーションプログラムが追加された場合であっても、システム管理装置１０１は、起動判定条件を更新するため、追加されたアプリケーションプログラムに対しても適切に起動判定をすることができる。【０１０９】
なお、アプリケーションプログラムが削除される場合に、例えば、削除されるアプリケーションプログラムが条件記憶部１０５に削除要求をすることにより、当該アプリケーションプログラムについての起動判定条件を条件記憶部１０５から削除してもよい。【０１１０】
また、例えば制御部１０７が、アプリケーションプログラムの削除を検出し、条件記憶部１０５から当該アプリケーションプログラムについての起動判定条件を削除してもよい。【０１１１】
ここで、システム管理装置１０１が起動判定をする際に用いる起動判定条件は、図３および図５に示す形式以外の形式であってもよい。【０１１２】
つまり、情報処理システムにおいて発生するイベントごとに、その時点でのアプリケーションプログラムの動作状態に応じて当該イベント通知先のアプリケーションプログラムを起動させるか否かを判定できるのであれば、他の形式であってもよい。【０１１３】
例えば、起動判定条件が、イベント識別子を引数として起動不要条件を導くことのできる関数の形式であってもよい。【０１１４】
図６は、実施の形態１における起動判定条件の別の一例を示す図である。【０１１５】
図６に示す判定条件テーブルは、イベント識別子を引数として起動不要条件を導く関数が判定対象アプリケーションごとに登録されたテーブルである。【０１１６】
起動判定部１０４は、イベントの通知先であるアプリケーションプログラムに対応する関数の引数ｘに、当該イベントのイベント識別子を入力しこの関数を実行する。【０１１７】
これにより、関数のＲｅｔｕｒｎ値として判定対象アプリケーションの起動が不要となる条件を得ることが出来る。また、この関数内で状態取得部１０６へ動作状態の取得要求を出すことにより、起動判定部１０４は、判定に必要となる１以上のアプリケーションプログラムの動作状態を取得することができ、判定対象アプリケーションを起動させるか否かを判定することができる。【０１１８】
以下、起動判定条件として、図６に示す関数を用いた具体例を示す。【０１１９】
携帯端末１０において、ユーザが通話中であり電話のアプリケーションプログラム（以下、「電話アプリケーション」という。）が起動中である時に、ユーザが通話終了のボタンを押下することにより、携帯端末１０から通話を終了した場合を想定する。【０１２０】
この場合、携帯端末１０からの通話終了のイベントが電話アプリケーションに通知され、電話アプリケーションが終了する。【０１２１】
このような状態において、もう一度ユーザが通話終了のボタンを押下すると、ミドルウェア１０２から起動判定部１０４に通話終了のイベントが通知される。【０１２２】
起動判定部１０４は、条件記憶部１０５に記憶されている通話終了のイベントの通知先である電話アプリケーションプログラム対応する関数“Ｆ１＿ｔｅｌ（ｘ）”の引数ｘに通話終了のイベント識別子を入力し、この関数を実行する。【０１２３】
具体的には、通話終了のイベント識別子を引数ｘとする関数“Ｆ１＿ｔｅｌ（ｘ）”は、起動不要条件として“電話アプリケーションがアイドル状態、またはトーン信号発生中”を示す情報を返す。【０１２４】
また、この関数内で状態取得部１０６への動作状態の取得要求を行い、起動判定に必要な、アプリケーションの動作状態を取得し判定を行なう。【０１２５】
本例の場合、最初の通話終了のイベントにより、電話アプリケーションは動作を終了しており、起動判定部１０４は、状態取得部１０６から動作状態として、電話アプリケーションはメモリにロードされ初期化処理が終了しているだけのアイドル状態である旨の情報を取得する。【０１２６】
これにより、起動判定部１０４は、電話アプリケーションの起動は不要であると判定する。また、制御部１０７は、この判定結果を受け、電話アプリケーションを起動するための制御を行うことなく、イベント格納部１０３に格納されている通話終了のイベントを破棄する。【０１２７】
また、関数を用いた起動判定の別の例として、相手端末から通話を終了された後に、ユーザが携帯端末１０の通話終了のボタンを押下した場合ついて以下に説明する。【０１２８】
まず、相手端末から通話が終了されたために発生した通話終了のイベントが携帯端末１０の電話アプリケーションに通知され、電話アプリケーションプログラムが終了する。また、スピーカーからトーン信号が発生している状態となる。【０１２９】
この状態で、ユーザが通話終了のボタンを押下すると、ミドルウェア１０２から起動判定部１０４に通話終了のイベントが通知される。【０１３０】
起動判定部１０４は、条件記憶部１０５に記憶されている通話終了のイベントの通知先である電話アプリケーションプログラム対応する関数“Ｆ１＿ｔｅｌ（ｘ）”の引数ｘに通話終了のイベント識別子を入力し、この関数を実行する。【０１３１】
これにより、起動判定部１０４は、起動不要条件として“電話アプリケーションがアイドル状態、またはトーン信号発生中”を示す情報得る。【０１３２】
また、この関数内で状態取得部１０６への動作状態の取得要求を行い、起動判定に必要となるアプリケーションプログラムの動作状態を取得する。【０１３３】
本例の場合、起動判定部１０４は、状態取得部１０６から、電話アプリケーションが終了済みかつトーン信号を発生中という動作状態を取得する。【０１３４】
これにより、起動判定部１０４は、電話アプリケーションの起動は不要であると判定する。また、制御部１０７は、この判定結果を受け、電話アプリケーションを起動するための制御を行うことなく、イベント格納部１０３に格納されている通話終了のイベントを破棄する。【０１３５】
このように、起動判定条件が関数で表される場合であっても、本実施の形態のシステム管理装置１０１は、発生するイベントごとに、当該イベントの通知先であるアプリケーションプログラムを起動させるか否かを適切に判定することができる。つまり、無駄にアプリケーションプログラムが起動することを防ぐことができる。【０１３６】
また、図５についての説明と同様に、携帯端末１０にアプリケーションプログラムが追加された場合、当該アプリケーションプログラムにより、条件記憶部１０５に新たに関数が追加される。【０１３７】
図７は、実施の形態１における更新後の起動判定条件の別の一例を示す図である。【０１３８】
図７は、携帯端末１０に音楽アプリケーションが追加された場合の、起動判定条件を示している。具体的には、図６に示す起動判定条件に、アプリケーション識別子“音楽”が追加され、さらに“音楽”に対応する起動不要条件として、関数“Ｆ１＿ａｕ（ｘ）”が追加されている。【０１３９】
これにより、ミドルウェア１０２から、音楽アプリケーションに対するイベント、例えば音楽再生のイベントが発生した場合、起動判定部１０４は、当該イベントに含まれるアプリケーション識別子から関数“Ｆ１＿ａｕ（ｘ）”を特定することができる。【０１４０】
さらに、“Ｆ１＿ａｕ（ｘ）”の引数ｘに“音楽再生”を示すイベント識別子を入力し実行することで、音楽アプリケーションの起動が不要である条件を導くことができる。【０１４１】
また、本実施の形態においては、図３および図５に示すように、起動判定条件として判定対象アプリケーションの起動が不要となる条件（起動不要条件）を用いる形態について説明した。【０１４２】
しかしながら、システム管理装置１０１において起動判定する際に、起動を許可する条件（起動許可条件）を起動判定条件として用いてもよい。【０１４３】
例えば、カメラアプリケーションに関連する個別条件テーブル“Ｔｂｌ１＿ｃａ”（図３参照）において、動画撮影のイベントに対応して、起動不要条件ではなく、起動許可条件としてＴＶアプリケーション以外の、携帯端末１０が有する全てのアプリケーションプログラムを示す情報を記録しておく。【０１４４】
これにより、動作中のアプリケーションプログラムがＴＶアプリケーション以外である場合には、起動判定部１０４は、カメラアプリケーションを起動させると判定することができる。【０１４５】
つまり、ＴＶアプリケーションが動作中である場合には、起動判定部１０４は、カメラアプリケーションを起動させないと判定することができる。また、この結果を受けて、制御部１０７は、イベント格納部１０３に格納されている動画撮影のイベントを破棄することができる。【０１４６】
つまり、図３に示す起動不要条件が記録されている個別条件テーブルを用いた起動判定と同じ結果を得ることができる。【０１４７】
また、起動判定条件として、このような起動許可条件を返す関数を用いた場合であっても同様に、起動不要条件を返す関数を用いた場合と同じ判定結果を得ることができる。【０１４８】
さらに、起動判定部１０４が、携帯端末１０において発生するイベントごとに起動判定できるのであれば、起動判定条件の形式はテーブルや関数に限られない。また、１つのイベント識別子に複数の起動必要条件または起動許可条件が対応していてもよい。【０１４９】
また、起動判定の結果が常にアプリケーションプログラムを起動させるとなるイベントも存在する。【０１５０】
例えば、携帯端末１０の電源ＯＮおよびＯＦＦのイベントが発生した場合、電源ＯＮおよびＯＦＦは必ず実行する必要がある。そのため、起動判定部１０４は、常に電源をＯＮまたはＯＦＦにするアプリケーションプログラムを起動させる。【０１５１】
また、例えば携帯端末１０の発信履歴または電話帳等の情報を参照するためのイベントが発生した場合、起動判定部１０４は、常にこれら情報を参照するためのアプリケーションプログラムを起動させる。【０１５２】
これら情報を参照するためのアプリケーションプログラムは、単に情報表示などを行うだけである。そのため、他のアプリケーションプログラムの処理と干渉することがない。そのため、このような情報を参照するためのイベントが発生した場合、起動判定部１０４は、常に当該イベントの通知先のアプリケーションプログラムを起動させると判定し、当該イベントは当該アプリケーションプログラムに処理される。【０１５３】
このように、アプリケーションプログラムが必ず処理する必要のあるイベント、または、アプリケーションプログラムが処理したとしても他のアプリケーションプログラムに全く影響のないイベントについては、起動判定部１０４は、常に当該イベントの通知先のアプリケーションプログラムを起動させると判定する。【０１５４】
つまり、このようなイベントに対応する起動不要条件は空欄となる。または、このようなイベントに対応する起動許可条件は、携帯端末１０が有する全てのアプリケーションプログラムを示す情報となる。【０１５５】
また、本実施の形態において、起動判定部１０４は、１以上のアプリケーションプログラムの動作状態を状態取得部１０６から取得し、起動判定に用いるとした。【０１５６】
しかしながら、起動判定部１０４は、アプリケーションプログラムの動作状態以外の携帯端末１０の状態を用いて起動判定を行ってもよい。【０１５７】
例えば、携帯端末１０がいわゆる折り畳み式またはいわゆるスライド式の携帯端末である場合など、形状の変化が可能な携帯電話である場合を想定する。【０１５８】
この場合、状態取得部１０６が、携帯端末１０がどのような形状にあるかを示す情報を取得し、起動判定部１０４がこの情報を起動判定に用いてもよい。【０１５９】
このような、アプリケーションプログラムの動作状態以外の、携帯端末１０の状態を示す情報としては以下のようなものがある。【０１６０】
携帯端末１０に、ＳＤカード等の外部記憶媒体が挿入されているか否かを示す情報、携帯端末１０に挿入されているＳＤカード等の外部記憶媒体の空き容量を示す情報、携帯端末１０のバッテリーの充電量がどのくらいであるのかを示す情報、携帯端末１０が充電中であるか否かを示す情報、携帯端末１０に充電のためのアダプタが接続されているか否かを示す情報、携帯端末１０が通話可能圏内にいるか否かを示す情報、携帯端末１０が、いわゆるマナーモードまたはドライブモード等に設定されているか否かを示す情報、および、携帯端末１０に、電話の発信を禁止するダイヤルロックが設定されているか否かを示す情報等である。【０１６１】
例えば、ミドルウェア１０２から、外部記憶媒体に記憶されたデータのみを処理するアプリケーションプログラムに対するイベントが発生した場合を想定する。【０１６２】
この場合、起動判定部１０４が状態取得部１０６から外部記憶媒体が携帯端末１０に挿入されていないことを取得することで、当該アプリケーションプログラムを起動させないと判定し、当該イベントを破棄することができる。【０１６３】
また、例えば、携帯端末１０がドライブモードに設定されているときに、携帯端末１０に電話の着信があった場合を想定する。【０１６４】
この場合、起動判定部１０４は、携帯端末１０がドライブモードに設定されていることを状態取得部１０６から取得することで、電話アプリケーションを起動させないと判定し、当該イベントを破棄することができる。【０１６５】
また、例えば、携帯端末１０がダイヤルロック中である場合、ユーザが携帯端末１０のダイヤルボタンを押下した場合を想定する。【０１６６】
この場合、起動判定部１０４は、携帯端末１０がダイヤルロック中であることを状態取得部１０６から取得することで、電話アプリケーションを起動させないと判定し、当該イベントを破棄することができる。【０１６７】
このように、システム管理装置１０１は、アプリケーションプログラムの動作状態以外の、携帯端末１０の状態を取得し、イベントごとに、当該イベントの通知先であるアプリケーションプログラムを起動させるか否かを適切に判定することができる。つまり、アプリケーションプログラムを無駄に起動させることなく、当該イベントを即座に破棄することができる。【０１６８】
また、本実施の形態において、起動判定部１０４は、アプリケーションプログラム毎の動作状態を起動判定に用いている。【０１６９】
しかしながら、起動判定部１０４は、動作中のアプリケーションプログラムがどのイベントにより起動しているかを調べ、イベント毎のアプリケーションプログラムの動作状態を判定条件に用いてもよい。【０１７０】
例えば、動画撮影のイベントが発生した際に、ユーザがＴＶを視聴するためのイベントにより起動したアプリケーションプログラムが動作中である場合、起動判定部１０４は、動画撮影のイベント対応するカメラアプリケーションの起動は不要であると判定できる。【０１７１】
また、イベント発生時におけるアプリケーションプログラムの動作状態の直前の状態を起動判定の判定材料に加えてもよい。【０１７２】
また、ミドルウェア１０２から送信されるイベントには、アプリケーションプログラムによる当該イベントの処理で用いられるデータであるイベント情報が含まれるとした（図２参照）。【０１７３】
しかしながら、イベント識別子のみでアプリケーションプログラムでの処理が一意に確定する場合などには、イベント情報が含まれなくてもよい。【０１７４】
また、ミドルウェア１０２から送信されるイベントに、図２に示す各情報に加えて送信元のアプリケーションプログラムを示す情報等の他の情報が含まれていてもよい。【０１７５】
また、システム管理装置１０１が、複数のアプリケーションプログラムに対応してイベント格納部１０３を複数個備える構成であってもよい。【０１７６】
この場合、どのイベント格納部１０３にイベントが格納されたかにより、当該イベントがどのアプリケーションプログラムに向けたものであるかが判別可能である。そのため、イベントにアプリケーション識別子が含まれていなくてもよい。【０１７７】
また、イベント格納部１０３は、受け取ったイベントをそのまま保持してもよいし、必要な情報を抽出して管理保持してもよい。例えば、ミドルウェア１０２から受け取ったイベントからアプリケーション識別子、イベント識別子、イベント情報を抽出し、これらをそれぞれ対応付けて別々に格納してもよい。【０１７８】
また、イベント格納部１０３は、システム管理装置１０１が備えていなくてもよい。例えば、ミドルウェア１０２から送信されたイベントが携帯端末１０に備えられた所定の記憶装置に格納される場合、システム管理装置１０１は必要に応じて、当該記憶装置からイベント識別子等の情報の読み出し、および、当該記憶装置からのイベントの削除等を行えばよい。【０１７９】
また、状態取得部１０６は、起動判定部１０４からの要求を受けてから、アプリケーションプログラムの動作状態を収集するとした。【０１８０】
しかしながら、状態取得部１０６は、起動判定部１０４からの要求の有無に関わらず、アプリケーションプログラムの動作状態が変化するとその変化の情報を受け取り保持してもよい。【０１８１】
この場合、受け取った情報により、保持している動作状態を示す情報を更新することで、状態取得部１０６は常に最新の動作状態を示す情報を保持しておくことができる。また、起動判定部１０４からの要求に応じて、その最新の動作状態を示す情報を送信することができる。【０１８２】
（実施の形態２）
実施の形態１では、ミドルウェア１０２からイベントが発生した場合、そのイベントの発生をミドルウェア１０２が起動判定部１０４に通知するとした。また、起動判定部１０４はこの通知を受けることを契機として起動判定を行うとした。【０１８３】
しかしながら、ミドルウェア１０２がイベントの発生を起動判定部１０４に通知しなくてもよい。【０１８４】
システム管理装置１０１が、ミドルウェア１０２からのイベントの発生を何らかの手段により検出できれば、起動判定部１０４はイベントの発生を知ることができ、起動判定を行うことができる。【０１８５】
そこで、本発明の実施の形態２として、システム管理装置１０１がミドルウェア１０２からのイベントの発生を検出する手段を備える場合のシステム管理装置１０１の構成および動作について説明する。【０１８６】
図８は、本発明の実施の形態２における携帯端末２０の主要な機能構成を示す機能ブロック図である。【０１８７】
なお、図８において、実施の形態１における携帯端末２０の各構成部と同様の構成部については同一符号を付し、その詳細な説明は省略する。【０１８８】
実施の形態２における携帯端末２０は、システム管理装置２０１を備えている。システム管理装置２０１は、実施の形態１のシステム管理装置１０１と同じく、携帯端末２０内の１つ以上のアプリケーションプログラムの動作を管理・制御を行う装置である。【０１８９】
しかし、実施の形態２におけるシステム管理装置２０１は、実施の形態１におけるシステム管理装置１０１にない特徴として監視部２０２を備えている。【０１９０】
監視部２０２は、イベント格納部２０３を監視し、イベントがイベント格納部２０３に格納されたことを検出する処理部である。【０１９１】
なお、ミドルウェア１０２から送信されるイベントのデータ構成は、実施の形態１におけるイベントと同じであり（図２参照）、イベント識別子およびアプリケーション識別子等を含んでいる。【０１９２】
また、イベント格納部２０３と起動判定部２０４と状態取得部２０６とは、監視部２０２との情報のやり取りがあるという点で実施の形態１におけるイベント格納部１０３と起動判定部１０４と状態取得部１０６のそれぞれとは異なるが、基本的な機能は同じである。【０１９３】
このように構成された実施の形態２のシステム管理装置２０１の動作を、図９を用いて説明する。【０１９４】
図９は、実施の形態２のシステム管理装置２０１における起動判定の動作を示すフローチャートである。【０１９５】
監視部２０２が、イベント格納部２０３へのイベントの格納を監視している状況下（Ｓ２０）において、ミドルウェア１０２から送信されたイベントがイベント格納部２０３に格納される。【０１９６】
監視部２０２は、イベントがイベント格納部２０３に格納されたことを検出すると（Ｓ２０でＹｅｓ）、イベント格納部２０３から当該イベントに含まれているアプリケーション識別子およびイベント識別子を取得し、起動判定部２０４に通知する（Ｓ２１）。【０１９７】
なお、監視部２０２が監視する対象のイベントは、起動されていないアプリケーションプログラムに対するイベントのみとする。また、監視部２０２には、アプリケーションプログラムの状態（起動中または終了済みなど）が状態取得部２０６から通知される。【０１９８】
起動判定部２０４は、起動判定条件を取得する（Ｓ２２）。具体的には、監視部２０２から通知されたアプリケーション識別子およびイベント識別子に基づいて、条件記憶部１０５から当該アプリケーション識別子および当該イベント識別子に対応する起動不要条件を取得する。【０１９９】
起動判定部２０４はさらに、状態取得部２０６から、１以上のアプリケーションプログラムのその時点での動作状態を取得する（Ｓ２３）。【０２００】
具体的には、状態取得部２０６は起動判定部２０４からアプリケーションプログラムの動作状態の取得要求を受けると、各アプリケーションプログラムに動作状態の取得要求を通知する。【０２０１】
状態取得部２０６は、各アプリケーションプログラムからそれぞれの動作状態を取得すると、取得した各アプリケーションプログラムの動作状態を起動判定部２０４に通知する。【０２０２】
起動判定部２０４は、通知された動作状態が、取得した起動判定条件に該当するか否かに応じて当該イベントの通知先であるアプリケーションプログラムを起動させるか否かを判定する（Ｓ２４）。【０２０３】
例えば、当該イベントが動画撮影のイベントであり、当該イベントが発生した際にＴＶアプリケーションが動作中である場合を想定する。【０２０４】
この場合、起動判定部２０４は、動画撮影のイベントに対応する起動不要条件が“ＴＶ”であることから（図３参照）、動画撮影のイベントの通知先のカメラアプリケーションを起動させないと判定する（Ｓ２４で起動不要）。【０２０５】
制御部１０７は、この判定結果を受け、カメラアプリケーションを起動させることなく、イベント格納部２０３に格納されている動画撮影のイベントを破棄する（Ｓ２６）。【０２０６】
なお、動画撮影のイベントが発生し、その際にＴＶアプリケーションが動作中ではない場合は、起動不要条件に該当しないため、起動判定部２０４はカメラアプリケーションを起動させると判定する（Ｓ２４で起動）。【０２０７】
制御部１０７は、この判定結果を受け、カメラアプリケーションを起動する（Ｓ２５）。カメラアプリケーションは起動すると動画撮影のイベントをイベント格納部２０３から取得し処理する。【０２０８】
また、このように起動判定部２０４がアプリケーションプログラムを起動すると判定し、アプリケーションプログラムが起動された場合、監視部２０２は、当該アプリケーションプログラムに対応するイベント識別子を起動判定部２０４に通知することを一旦中止する。【０２０９】
これは、当該アプリケーションプログラムはすでに起動されているため、起動判定部２０４が起動判定を行う必要がないからである。【０２１０】
その後、状態取得部２０６は、当該アプリケーションプログラムが終了すると、監視部２０２に対して当該アプリケーションプログラムが終了した旨を通知する。【０２１１】
監視部２０２は、状態取得部２０６から当該アプリケーションプログラムが終了したことを通知されると、当該アプリケーションプログラムに対応するイベント識別子を起動判定部２０４に通知することを再開する。【０２１２】
このように、実施の形態２のシステム管理装置２０１によれば、情報処理システムにおいてイベントが発生した際、そのイベントの通知先であるアプリケーションプログラムを起動させる前に、起動させるか否かを判定することができる。【０２１３】
これにより、アプリケーションプログラムを無駄に起動させることなく、当該イベントを即座に破棄することができる。【０２１４】
つまり、実施の形態２のシステム管理装置２０１も、実施の形態１のシステム管理装置１０１と同じく、情報処理システムにおいて効率よくアプリケーションプログラムを動作させることができ、これにより、情報処理システムの処理負荷を低減することができる。また、情報処理システムにイベントを格納するメモリ等を効率よく使用させることができる。【０２１５】
さらに、実施の形態２のシステム管理装置２０１は監視部２０２を備えている。監視部２０２は、イベント格納部２０３を監視することで、ミドルウェア１０２からのイベント発生を検出することができる。【０２１６】
これにより、情報処理システムにおいて、ミドルウェア１０２からシステム管理装置２０１へのイベント発生を通知する処理（例えば、ミドルウェア１０２でのイベント通知の生成処理やイベント通知の送信処理、システム管理装置２０１でのイベント通知の受信処理など）を削減することができ、処理時間を短縮することができる。【０２１７】
なお、実施の形態２のシステム管理装置２０１は、図８に示すように、イベント格納部２０３はシステム管理装置２０１に含まれていない。しかし、イベント格納部２０３はシステム管理装置２０１に含まれていてもよい。【０２１８】
つまり、イベント格納部２０３の配置位置は、監視部２０２等の各構成部が、必要に応じてイベント格納部２０３と情報のやり取りを行えるのであれば限定されるものではない。【０２１９】
また、イベント格納部２０３は、受け取ったイベントをそのまま保持してもよいし、必要な情報を抽出して管理保持してもよい。【０２２０】
また、携帯端末２０が有する複数のアプリケーションプログラムに対応して複数のイベント格納部２０３を設け、監視部２０２が、非常駐アプリケーションプログラムに対応するイベント格納部２０３を監視するという構成にしてもよい。【０２２１】
ここで、非常駐アプリケーションプログラムとは、ユーザ操作によるメニューからの起動要求などにより、必要に応じて起動するアプリケーションプログラムのことである。また、携帯端末２０の電源ＯＮの間、常に起動中状態であるアプリケーションプログラムを常駐アプリケーションプログラムという。【０２２２】
また、状態取得部２０６は、起動判定部２０４からの要求の有無に関わらず、アプリケーションプログラムの動作状態が変化するとその変化の情報を受け取り保持してもよい。また、受け取った情報により、保持している動作状態を示す情報を更新してもよい。【０２２３】
これにより、状態取得部２０６は、常に最新の動作状態を示す情報を保持しておくことができる。また、起動判定部２０４からの要求に応じて、その最新の動作状態を示す情報を送信することができる。【０２２４】
また、実施の形態１のシステム管理装置１０１および実施の形態２のシステム管理装置２０１は、ともに、携帯端末に備えられ、携帯端末を管理対象としている。【０２２５】
しかしながら、本発明のシステム管理装置の管理対象となる情報処理システムは携帯端末に限られることはない。【０２２６】
つまり、アプリケーションプログラムの実行環境を有する、ハードウェアまたはソフトウェアで構成される情報処理システムであれば、本発明のシステム管理装置は、効率よくアプリケーションプログラムを動作させることができる。【０２２７】
また、実施の形態１のシステム管理装置１０１および実施の形態２のシステム管理装置２０１における各構成部の動作は、中央演算装置（ＣＰＵ）、記憶装置、および情報の入出力を行うインターフェース等を有するコンピュータにより実現することができる。【０２２８】
例えば、ＣＰＵがインターフェースを介してイベント格納部１０３からアプリケーション識別子とイベント識別子を読み出す。また、その時点での１以上のアプリケーションプログラムの動作状態を特定する。【０２２９】
更に、特定した動作状態と、条件記憶部１０５から読み出した当該イベント識別子に対応する起動判定条件と比較対照し、当該アプリケーション識別子に対応するアプリケーションプログラムの起動判定を行う。【０２３０】
また、判定結果に応じ、当該アプリケーションプログラムを起動する。または、当該アプリケーションプログラムを起動することなく当該イベントを破棄する。【０２３１】
このようなコンピュータの動作によっても、本発明のシステム管理装置の動作は実現され、また、本発明のシステム管理方法が実行される。【０２３２】
また、本発明のシステム管理装置を構成する各機能ブロックは典型的には集積回路であるＬＳＩとして実現されてもよい。また、これら機能ブロックは個別に１チップ化されても良いし、一部又は全てを含むように１チップ化されても良い。【０２３３】
図１０は、実施の形態１のシステム管理装置１０１における集積回路化の一例を示す図である。【０２３４】
図１０に示すＬＳＩ３００は集積回路化の一例を示し、ＬＳＩ３００に含まれる機能ブロックの範囲は集積回路化する構成部の範囲の例である。【０２３５】
なお、ここでは、ＬＳＩと記載しているが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。【０２３６】
さらに、集積回路の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現しても良い。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。【０２３７】
また、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適応等が可能性としてありえる。【０２３８】
なお、図８に示す実施の形態２のシステム管理装置２０１における各機能ブロックも同様に、個別に１チップ化されても良いし、一部又は全てを含むように１チップ化されても良い。
【産業上の利用可能性】
【０２３９】
本発明のシステム管理装置は、情報処理システムが有する複数のアプリケーションプログラムの起動を適切に制御し、効率的にアプリケーションプログラムを動作させるができる。その結果、消費電力が少なくなるという効果もある。そのため、携帯電話やＰｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｃｅ（ＰＤＡ）等の情報処理システムのシステム管理装置として有用である。
【図１】
2007119550.tif 000003
【図２】
2007119550.tif 000004
【図３】
2007119550.tif 000005
【図４】
2007119550.tif 000006
【図５】
2007119550.tif 000007
【図６】
2007119550.tif 000008
【図７】
2007119550.tif 000009
【図８】
2007119550.tif 000010
【図９】
2007119550.tif 000011
【図１０】
2007119550.tif 000012
【手続補正書】
【提出日】平成20年9月11日(2008.9.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
アプリケーションプログラムを実行可能な情報処理システムを管理するシステム管理装置であって、
前記情報処理システムに含まれる、前記アプリケーションプログラムに対するイベントを格納する格納手段から、前記イベントを識別するイベント識別子を取得するイベント取得手段と、
前記情報処理システムの状態を取得する状態取得手段と、
前記アプリケーションプログラムを適応的に起動する制御手段と、
取得された前記情報処理システムの状態が、取得された前記イベント識別子に対応する起動判定条件に該当するか否かに応じ、前記アプリケーションプログラムを起動させるか否かを判定する判定手段とを備え、
前記制御手段は、前記判定手段により前記アプリケーションプログラムを起動させないと判定された場合、前記アプリケーションプログラムを起動することなく前記格納手段に格納された前記イベントを破棄する
システム管理装置。
【請求項２】
さらに、複数種のイベント識別子それぞれに対応する起動判定条件を記憶している条件記憶手段を備え、
前記起動判定条件は、前記アプリケーションプログラムを起動させるか否かの条件となる前記情報処理システムの状態を示す情報を含み、
前記判定手段は、
前記イベント取得手段に取得されたイベント識別子に対応する起動判定条件を前記条件記憶手段から取得し、
前記状態取得手段に取得された前記情報処理システムの状態が、前記条件記憶手段から取得した起動判定条件に示される前記情報処理システムの状態に該当するか否かに応じ、前記アプリケーションプログラムを起動させるか否かを判定する
請求項１記載のシステム管理装置。
【請求項３】
前記起動判定条件に含まれる前記情報処理システムの状態を示す情報は、所定のアプリケーションプログラムの動作状態を示す情報であり、
前記状態取得手段は、前記アプリケーションプログラムまたは他のアプリケーションプログラムから前記アプリケーションプログラムまたは他のアプリケーションプログラムの動作状態を取得し、
前記判定手段は、前記状態取得手段に取得された動作状態が、前記条件記憶手段から取得した起動判定条件に示される前記所定のアプリケーションプログラムの動作状態に該当するか否かに応じ、前記イベントの通知先であるアプリケーションプログラムを起動させるか否かを判定する
請求項２記載のシステム管理装置。
【請求項４】
前記起動判定条件は、前記所定のアプリケーションプログラムが動作中である場合、前記イベントの通知先のアプリケーションプログラムを起動させないという条件であり、
前記判定手段は、前記状態取得手段に取得された動作状態が、前記所定のアプリケーションプログラムが動作中であることを示す場合、前記イベントの通知先であるアプリケーションプログラムを起動させないと判定する
請求項３記載のシステム管理装置。
【請求項５】
前記条件記憶手段は、前記情報処理システムにアプリケーションプログラムが追加された場合、追加された前記アプリケーションプログラムからの要求に従い、前記アプリケーションプログラムについての起動判定条件をさらに記憶する
請求項２記載のシステム管理装置。
【請求項６】
さらに、前記イベント格納手段に、前記イベントが格納されたことを検出する監視手段を備え、
前記判定手段は、前記イベント格納手段にイベントが格納されたことを前記監視手段から通知されると、前記アプリケーションプログラムを起動させるか否かを判定する
請求項１記載のシステム管理装置。
【請求項７】
アプリケーションプログラムを実行可能な情報処理システムを管理するシステム管理方法であって、
前記情報処理システムに含まれる、前記アプリケーションプログラムに対するイベントを格納する格納手段から、前記イベントを識別するイベント識別子を取得するイベント取得ステップと、
前記情報処理システムの状態を取得する状態取得ステップと、
前記アプリケーションプログラムを適応的に起動する制御ステップと、
取得された前記情報処理システムの状態が、取得された前記イベント識別子に対応する起動判定条件に該当するか否かに応じ、前記アプリケーションプログラムを起動させるか否かを判定する判定ステップとを含み、
前記制御ステップでは、前記判定ステップにおいて前記アプリケーションプログラムを起動させないと判定された場合、前記アプリケーションプログラムを起動することなく前記格納手段に格納された前記イベントを破棄する
システム管理方法。
【請求項８】
アプリケーションプログラムを実行可能な情報処理システムを管理するためのプログラムであって、
前記情報処理システムに含まれる、前記アプリケーションプログラムに対するイベントを格納する格納手段から、前記イベントを識別するイベント識別子を取得するイベント取得ステップと、
前記情報処理システムの状態を取得する状態取得ステップと、
前記アプリケーションプログラムを適応的に起動する制御ステップと、
取得された前記情報処理システムの状態が、取得された前記イベント識別子に対応する起動判定条件に該当するか否かに応じ、前記アプリケーションプログラムを起動させるか否かを判定する判定ステップとをコンピュータに実行させるためのプログラムであり、
前記制御ステップでは、前記判定ステップにおいて前記アプリケーションプログラムを起動させないと判定された場合、前記アプリケーションプログラムを起動することなく前記格納手段に格納された前記イベントを破棄する
プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システムの動作を管理するシステム管理装置に関する。
【背景技術】
【０００２】
従来、携帯端末等の情報処理システムは複数のアプリケーションプログラムを実行可能であり、それぞれのアプリケーションプログラムの動作状態を記憶するアプリケーション状態記憶部を備えている。
【０００３】
このような携帯端末は、ユーザのボタン操作等に基づいて発生したイベントに対応するアプリケーションプログラムを特定し、予め設定されている、複数のアプリケーションプログラム間の競合条件に基づいて、受信したイベントに対応するアプリケーションプログラムを起動するか否か決定することができる。
【０００４】
また、アプリケーションプログラムを起動することを決定した場合、当該アプリケーションプログラム以外のアプリケーションプログラムの動作状態をアプリケーション状態記憶部から読み出し、動作中のアプリケーションプログラムを停止させ、当該アプリケーションプログラムを起動する。
【０００５】
このように、メモリ容量が限られている環境において複数のアプリケーションプログラムの起動制御が行われており、このような制御に関する技術も開示されている（例えば、特許文献１参照）。
【特許文献１】特開２００５−２８４９０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ここで、上記従来の技術では、イベントが発生した際の各アプリケーションプログラムの状態と各アプリケーションプログラムの競合条件に基づいてアプリケーションプログラムの起動判定が行われる。
【０００７】
また、起動すると決定されたアプリケーションプログラムが起動した後にイベント通知を受け、イベントの内容を判断して処理を行うことになる。
【０００８】
つまり、携帯端末等の情報処理システムにおいて、アプリケーションプログラムが起動する必要がなかったと事後的に判断されるイベントが発生した場合でも当該アプリケーションプログラムは起動することになる。
【０００９】
具体的には、当該アプリケーションプログラムは、起動した後に当該イベントの内容を判断し、そのイベントに対応する処理を行うことなしに停止する。
【００１０】
これにより、本来的には消費する必要がなかったメモリ等のリソースおよび電力等が無駄に消費されることになる。
【００１１】
このように、上記従来の技術によれば、情報処理システムにおいて複数存在するアプリケーションプログラムを互いに競合しないように制御することは可能である。
【００１２】
しかし、本来的には起動する必要がないアプリケーションプログラムが起動してしまうといった問題を解決することはできない。
【００１３】
本発明は、上記従来の課題を考慮し、情報処理システムにおいて効率よくアプリケーションプログラムを動作させるシステム管理装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、本発明のシステム管理装置は、アプリケーションプログラムを実行可能な情報処理システムを管理するシステム管理装置であって、前記情報処理システムに含まれる、前記アプリケーションプログラムに対するイベントを格納する格納手段から、前記イベントを識別するイベント識別子を取得するイベント取得手段と、前記情報処理システムの状態を取得する状態取得手段と、前記アプリケーションプログラムを適応的に起動する制御手段と、取得された前記情報処理システムの状態が、取得された前記イベント識別子に対応する起動判定条件に該当するか否かに応じ、前記アプリケーションプログラムを起動させるか否かを判定する判定手段とを備え、前記制御手段は、前記判定手段により前記アプリケーションプログラムを起動させないと判定された場合、前記アプリケーションプログラムを起動することなく前記格納手段に格納された前記イベントを破棄する。
【００１５】
これにより、情報処理システムにおいてイベントが発生した際に、当該イベントの通知先であるアプリケーションプログラムが起動する前に、当該アプリケーションプログラムを起動させるか否かを判定することができる。
【００１６】
つまり、アプリケーションプログラムが起動する必要のないイベントが発生した場合に、当該アプリケーションプログラムを無駄に起動させることなく、当該イベントを破棄することができる。
【００１７】
また、本発明のシステム管理装置はさらに、前記イベント格納手段に、前記イベントが格納されたことを検出する監視手段を備え、前記判定手段は、前記イベント格納手段にイベントが格納されたことを前記監視手段から通知されると、前記アプリケーションプログラムを起動させるか否かを判定するとしてもよい。
【００１８】
これにより、情報処理システムにおいて、ミドルウェアからシステム管理装置へのイベント発生を通知する処理を削減することができ、処理時間を短縮することができる。
【００１９】
さらに、本発明は、本発明のシステム管理装置の特徴的な構成部を含む集積回路として実現することもできる。
【００２０】
また、本発明は、本発明のシステム管理装置におけるこれら特徴的な構成部の動作をステップとする方法として実現すること、および、それらのステップを含むプログラムとして実現することもできる。
【００２１】
さらに、そのプログラムが格納された、ＣＤ−ＲＯＭ等の記録媒体として実現したり、集積回路として実現することもできる。プログラムは、通信ネットワーク等の伝送媒体を介して流通させることもできる。
【発明の効果】
【００２２】
本発明のシステム管理装置によれば、情報処理システムの状態に応じて、発生したイベントごとに、そのイベントの通知先であるアプリケーションプログラムを起動させるか否か、つまり、起動が不要であるか否かを判定することができる。
【００２３】
また、発生したイベントについて、アプリケーションプログラムの起動が不要であると判定された場合には、当該アプリケーションプログラムを起動することなくイベントを破棄することができる。これにより、システム内の負荷を低減することができ、効率よくアプリケーションプログラムを動作させることができる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の実施の形態のシステム管理装置ついて、図面を参照しながら説明する。
【００２５】
（実施の形態１）
まず、図１〜図３を用いて、本発明の実施の形態１のシステム管理装置１０１を備える携帯端末１０の構成を説明する。
【００２６】
図１は、本発明の実施の形態１における携帯端末１０の主要な機能構成を示す機能ブロック図である。
【００２７】
図１に示す携帯端末１０は、本発明のシステム管理装置の管理対象である情報処理システムの一例であり、複数のアプリケーションソフトを有する携帯端末である。
【００２８】
図１に示すように、実施の形態１における携帯端末１０は、システム管理装置１０１とミドルウェア１０２と、アプリケーションプログラム１０８とを備える。
【００２９】
なお、携帯端末１０は、アプリケーションプログラム１０８を実行する実行環境、他の装置と通信する機能、静止画および動画を撮影するカメラ、テレビ番組を受信するためのチューナ等の、他のソフトウェアおよびハードウェアを備えている。しかし、本発明の特徴を明確にするためにこれらの図示および説明は省略し、本発明の特徴的な機能構成について図示し説明する。
【００３０】
また、携帯端末１０は１以上のアプリケーションプログラムを有しているが、その代表としてアプリケーションプログラム１０８を図示している。以下で「アプリケーションプログラム」という場合、携帯端末１０が有する１以上のアプリケーションプログラムのうちのいずれかを指すものとする。
【００３１】
システム管理装置１０１は、携帯端末１０が有する１以上のアプリケーションプログラムの動作を管理・制御を行う装置である。
【００３２】
具体的には、システム管理装置１０１は、ミドルウェア１０２からアプリケーションプログラムに対するイベント通知が発生すると、ミドルウェア１０２からイベントを受け取る。また、受け取ったイベントに対するアプリケーションプログラムを判断してアプリケーションプログラムの起動を制御する。さらに、起動したアプリケーションプログラムへ必要なイベントを通知するなどの処理を行う。
【００３３】
システム管理装置１０１は、このような処理を行うための構成として、イベント格納部１０３、起動判定部１０４、条件記憶部１０５、状態取得部１０６、および制御部１０７を備える。
【００３４】
イベント格納部１０３は、ミドルウェア１０２から送信される、アプリケーションプログラムに対するイベントを一時的に格納する記憶装置である。
【００３５】
なお、本実施の形態におけるイベントには、図２に示すように、イベント識別子、アプリケーション識別子およびイベント情報が含まれている。
【００３６】
イベント識別子はイベントを識別するための情報であり、アプリケーション識別子は、当該イベントの通知先、言い換えると当該イベントを処理すべきアプリケーションプログラムを識別するための情報である。
【００３７】
また、イベント情報は、アプリケーション識別子に示されるアプリケーションプログラムがイベントを処理する際に用いるデータである。
【００３８】
例えば、携帯端末１０において、動画撮影を開始するためのボタンがユーザに押下された場合、カメラの制御等を行うアプリケーションプログラム（以下、「カメラアプリケーション」という。）を示すアプリケーション識別子と、“動画撮影”を示すイベント識別子と、ユーザに押下されたボタンを示す情報を有するイベント情報とが含まれるイベントがミドルウェア１０２からシステム管理装置１０１に送信される。
【００３９】
起動判定部１０４は、アプリケーションプログラムを起動させるか否かを判定する処理部である。
【００４０】
具体的には、ミドルウェア１０２からのイベント発生の通知を受けると、状態取得部１０６に取得された携帯端末１０の状態が、イベント格納部１０３から取得したイベント識別子に対応する起動判定条件に該当するか否かに応じて、当該イベントの通知先のアプリケーションプログラムを起動させるか否かを判定する。
【００４１】
なお、起動判定部１０４は、本発明のシステム管理装置におけるイベント取得手段の一例である。
【００４２】
条件記憶部１０５は、複数種のイベント識別子それぞれに対応する起動判定条件を記憶する記憶装置である。起動判定条件とは、アプリケーションプログラムを起動させるか否かの条件となる携帯端末１０の状態を示す情報である。
【００４３】
本実施の形態においては、上記携帯端末１０の状態を示す情報は、所定のアプリケーションプログラムの動作状態を示す情報である。起動判定条件の詳細については、図３等を用いて後述する。
【００４４】
また、条件記憶部１０５は、アプリケーションプログラムが携帯端末１０に追加されると、当該アプリケーションプログラムからの要求に従い、そのアプリケーションプログラムについての起動判定条件を記憶する。つまり、条件記憶部１０５は、起動判定条件を更新することができる。更新の具体例は、図５を用いて後述する。
【００４５】
状態取得部１０６は、携帯端末１０の状態を取得する処理部である。本実施の形態においては、状態取得部１０６は、携帯端末１０の状態として各アプリケーションプログラムの動作状態を取得する。
【００４６】
具体的には、起動判定部１０４からアプリケーションプログラムの動作状態の取得要求を受けると、各アプリケーションプログラムに動作状態の取得要求を通知する。
【００４７】
さらに、この取得要求への応答として各アプリケーションプログラムから送信されるそれぞれの動作状態を取得し起動判定部１０４にこれら動作状態を通知する。
【００４８】
起動判定部１０４は、状態取得部１０６から取得した各アプリケーションプログラムの動作状態と、イベント格納部１０３から取得したイベント識別子に対応する起動判定条件とに基づき、当該イベントの通知先であるアプリケーションプログラムを起動させるか否かを判定し、判定結果を制御部１０７に通知する処理部である。
【００４９】
制御部１０７は、起動判定部１０４からの判定結果に基づき、アプリケーションプログラムを適応的に起動する処理部である。
【００５０】
具体的には、制御部１０７は、起動判定部１０４からイベントの通知先であるアプリケーションプログラムを起動させないという判定結果が通知された場合、制御部１０７は、イベントの通知先であるアプリケーションプログラムを起動することなく、イベント格納部１０３に格納されている当該イベントを破棄する。
【００５１】
また、制御部１０７は、起動判定部１０４からイベントの通知先であるアプリケーションプログラムを起動させるという判定結果が通知された場合、当該アプリケーションプログラムを起動し、イベント識別子を当該アプリケーションプログラムに通知する。
【００５２】
制御部１０７から起動され、イベント識別子を通知されたアプリケーションプログラムは、このイベント識別子に基づきイベント格納部１０３からイベント情報を読み出し、当該イベント情報を用いた処理を行う。
【００５３】
図３は、実施の形態１における起動判定条件の一例を示す図である。
【００５４】
図３に示すように、本実施の形態における起動判定条件は、条件参照テーブルと、個別条件テーブルという２種類のテーブルで構成されている。
【００５５】
具体的には、条件参照テーブルは、アプリケーション識別子と参照先識別子とが対応付けられて記録されたテーブルである。
【００５６】
参照先識別子は、当該アプリケーション識別子により特定されるアプリケーションプログラムの起動判定の際に参照すべき個別条件テーブルを特定する識別子である。
【００５７】
個別条件テーブルは、イベント識別子と起動不要条件とが対応づけられて記録されたテーブルであり、アプリケーションプログラムごとに１つの個別条件テーブルが存在する。
【００５８】
起動不要条件は、当該個別条件テーブルに対応するアプリケーションプログラムの起動が不要となる条件である。
【００５９】
具体的には、起動不要条件に示されるアプリケーションプログラムの動作状態が“動作中”であれば、起動判定の対象であるアプリケーションプログラム（以下、「判定対象アプリケーション」という。）の起動は不要であるということを意味する。
【００６０】
起動判定部１０４は、条件参照テーブルから、イベントの通知先であるアプリケーションプログラムに対応する個別条件テーブルを特定する。また、特定した、個別条件テーブルから、イベント識別子に対応する起動不要条件を特定する。
【００６１】
さらに、特定した起動不要条件と、状態取得部１０６から受け取った各アプリケーションプログラムの動作状態とに基づき、起動要であるか起動不要であるかを判定する。
【００６２】
例えば、図３に示す起動判定条件では、動画撮影のイベントがミドルウェア１０２から送信された際、テレビ（ＴＶ）のアプリケーションプログラム（以下、「ＴＶアプリケーション」という。）が動作中である場合には、動画撮影のイベントの通知先であるカメラアプリケーションの起動は不要であるという条件になっている。
【００６３】
なお、起動判定に際し、アプリケーションプログラム（上記例の場合ＴＶアプリケーション）が“動作中”であるとは、当該アプリケーションプログラムが実際に何らかの処理実行中である場合および表示部等のインターフェースに何らかの情報を表示または出力している場合（このような状態を「アクティブ」という。）のみではない。
【００６４】
例えば、表示部において、当該アプリケーションプログラムによる画面表示がアクティブな他のアプリケーションプログラムに隠れており、所定の操作により即座に画面表示が可能な状態にある場合（このような状態を「インアクティブ」という。）も含む。
【００６５】
次に、図４〜図７を用いて本発明の実施の形態１のシステム管理装置１０１の動作を説明する。
【００６６】
図４は、実施の形態１のシステム管理装置１０１における起動判定の動作を示すフローチャートである。
【００６７】
まずミドルウェア１０２からイベントが送信されると、イベントはイベント格納部１０３に格納される。この際、起動判定部１０４がミドルウェア１０２からイベント発生の通知を受ける（Ｓ１）。
【００６８】
起動判定部１０４は、イベント発生の通知を受けると、イベント格納部１０３からアプリケーション識別子とイベント識別子とを取得する（Ｓ２）。
【００６９】
起動判定部１０４は、条件記憶部１０５から取得したアプリケーション識別子とイベント識別子とに対応する起動判定条件を取得する（Ｓ３）。
【００７０】
具体的には、起動判定部１０４は、条件参照テーブルを参照し、当該アプリケーション識別子に対応する個別条件テーブルを特定する。また、特定した個別条件テーブルから当該イベント識別子に対応する起動不要条件を取得する。
【００７１】
また、起動判定部１０４は、状態取得部１０６から１以上のアプリケーションプログラムの動作状態を取得する（Ｓ４）。
【００７２】
なお、このとき、アプリケーション識別子に対応するアプリケーションプログラム、つまり、判定対象アプリケーションの動作状態も取得される。さらに、すでに判定対象アプリケーションが起動済である場合、起動判定は不要であるため、起動判定に係る動作は終了する。また、判定対象アプリケーションは当該イベントをイベント格納部１０３から取得し処理する。
【００７３】
起動判定部１０４は、取得した起動判定条件と１以上のアプリケーションプログラムの動作状態に基づいて、当該イベントの通知先であるアプリケーションプログラムの起動判定を行う（Ｓ５）。
【００７４】
具体的には、取得した起動不要条件に示されるアプリケーションプログラムがその時点で動作中であるかどうかに基づいて判定する。
【００７５】
起動不要条件に示されるアプリケーションプログラムが動作中でない場合、判定対象アプリケーションを起動させると判定し（Ｓ５で起動）、判定結果を制御部１０７に通知する。
【００７６】
一方、起動不要条件に該当するアプリケーションプログラムが動作中である場合、判定対象アプリケーションを起動させないと判定し（Ｓ５で起動不要）、判定結果を制御部１０７に通知する。
【００７７】
制御部１０７は、起動判定部１０４から“起動”の旨の通知を受けた場合、アプリケーション識別子に示されるアプリケーションプログラム、つまり、当該イベントの通知先であるアプリケーションプログラムを起動させる（Ｓ６）。
【００７８】
また、制御部１０７は、起動判定部１０４から“起動不要”の旨の通知を受けた場合、当該イベントの通知先であるアプリケーションプログラムを起動させることなく、イベント格納部１０３に格納されている当該イベントを破棄する（Ｓ７）。
【００７９】
以上説明したシステム管理装置１０１の起動判定に係る動作を、図３に示す起動判定条件を用いて具体的に説明する。
【００８０】
なお、ミドルウェア１０２から動画撮影のイベントが送信された場合を想定する。また、動画撮影のイベントは、通知先のアプリケーションプログラムはカメラアプリケーションである。つまり当該イベントは、カメラアプリケーションを示すアプリケーション識別子と、“動画撮影”を示すイベント識別子とを含んでいる。
【００８１】
ミドルウェア１０２から動画撮影のイベントが送信され、イベント格納部１０３に格納される。また、起動判定部１０４は、ミドルウェア１０２からイベント発生の通知を受け取る（Ｓ１）。
【００８２】
起動判定部１０４はイベント発生の通知を受け取ると、イベント格納部１０３から“カメラアプリケーションを示すアプリケーション識別子と動画撮影”を示すイベント識別子とを取得する（Ｓ２）。
【００８３】
起動判定部１０４はこれら識別子を取得すると、条件記憶部１０５からこれら識別子に対応する起動不要条件を取得する（Ｓ３）。
【００８４】
具体的には、条件参照テーブルから“カメラ”に対応する“ｔｂｌ１＿ｃａ”が特定され、“ｔｂｌ１＿ｃａ”の個別条件テーブルから、“動画撮影”に対応する起動不要条件である“ＴＶ”が取得される。
【００８５】
さらに、起動判定部１０４は、状態取得部１０６からその時点での１以上のアプリケーションプログラムの動作状態を取得する。本例の場合、起動判定部１０４はＴＶアプリケーションが現在動作中であることを取得する（Ｓ４）。
【００８６】
起動判定部１０４は、取得した動作状態が、起動不要条件である、テレビアプリケーションが動作中であることに該当するため、カメラアプリケーションを起動させないと判定する（Ｓ５で起動不要）。
【００８７】
制御部１０７は、この判定結果を受け取り、カメラアプリケーションを起動することなく、イベント格納部１０３に格納されている動画撮影のイベントを破棄する。
【００８８】
以上のように、本実施の形態のシステム管理装置１０１は、情報処理システムにおいてイベントが発生した際、そのイベントの通知先であるアプリケーションプログラムを起動させるか否かを判定する。
【００８９】
具体的には、何らかのアプリケーションに対して発生するイベントごとに、情報処理システムにおけるその時点での１以上のアプリケーションプログラムの動作状態に応じて、当該イベントの通知先のアプリケーションプログラムを起動するか否かを判定する。
【００９０】
ここで、従来の情報処理システムにおいては、イベントの単位で起動の要否が判定されていない。そのため、情報処理システムにおいてあるイベントが発生した場合、当該イベントに示される処理内容によっては、当該イベントの通知先のアプリケーションプログラムが起動された後に起動が不要であったと判定される場合がある。
【００９１】
しかしながら、このような場合においても、本実施の形態のシステム管理装置１０１であれば、上述の起動判定を行うことで当該イベントの通知先のアプリケーションプログラムを起動させることがない。
【００９２】
つまり、アプリケーションプログラムを無駄に起動させることなく、当該イベントを即座に破棄することができる。
【００９３】
このように本実施の形態のシステム管理装置１０１は、情報処理システムにおいて効率よくアプリケーションプログラムを動作させることができ、これにより、情報処理システムの処理負荷を低減することができる。また、情報処理システムにイベントを格納するメモリ等を効率よく使用させることができる。
【００９４】
また、情報処理システム内の負荷を低減させることで、情報処理システムの省電力性を向上させるという効果もある。
【００９５】
また、図３に示す条件参照テーブルおよび個別条件テーブルは、情報処理システムにアプリケーションプログラムが追加された場合、そのアプリケーションプログラムに対応する各テーブルが追加される。
【００９６】
図５は、実施の形態１における更新後の起動判定条件の一例を示す図である。
【００９７】
なお、携帯端末１０にアプリケーションプログラムが追加される場合としては、例えば、ネットワークを介して携帯端末１０に新規なアプリケーションプログラムをダウンロードすることで携帯端末１０に当該アプリケーションプログラムがインストールされる場合がある。
【００９８】
また、アプリケーションプログラムが記憶されているＳｅｃｕｒｅ  Ｄｉｇｉｔａｌ（ＳＤ）カード等の外部記憶媒体が携帯端末１０に挿入されることで携帯端末１０にアプリケーションプログラムが追加される場合などもある。
【００９９】
また、図５は、オーディオデータを再生するアプリケーションプログラム（以下、「音楽アプリケーション」という）が携帯端末１０に追加された場合の起動判定条件を示している。
【０１００】
携帯端末１０に音楽アプリケーションが追加された場合、音楽アプリケーションがインストールされる際、または、音楽アプリケーションが最初に起動する際など、所定のタイミングにおいて、音楽アプリケーションの要求に従い、音楽アプリケーションについての起動判定条件が条件記憶部１０５に記録される。
【０１０１】
具体的には、図５に示すように、条件参照テーブルに、アプリケーション識別子として“音楽”が追加され、“音楽”に対応する参照先識別子として“Ｔｂｌ１＿ａｕ”が追加される。
【０１０２】
また、その参照先識別子に示される個別条件テーブル“Ｔｂｌ１＿ａｕ”が条件記憶部１０５に追加される。
【０１０３】
なお、音楽アプリケーション以外の各アプリケーションプログラムに関連するそれぞれの個別条件テーブルにおいて、必要に応じ、起動不要条件として“音楽”が追加される。
【０１０４】
図５に示す例によれば、携帯端末１０においてユーザのボタン操作等により音楽アプリケーションに対する“音楽再生”のイベントが発生した場合、起動判定部１０４により起動不要条件である“ＴＶ”が取得される。
【０１０５】
そのため、起動判定部１０４は、状態取得部１０６からＴＶアプリケーションが動作中である旨の情報を取得した場合、音楽アプリケーションの起動は不要であると判定する。また制御部１０７はこの判定結果を受け、音楽アプリケーションを起動することなくイベント格納部１０３に格納された当該イベントを破棄する。
【０１０６】
このように、携帯端末１０にアプリケーションプログラムが追加された場合であっても、システム管理装置１０１は、起動判定条件を更新するため、追加されたアプリケーションプログラムに対しても適切に起動判定をすることができる。
【０１０７】
なお、アプリケーションプログラムが削除される場合に、例えば、削除されるアプリケーションプログラムが条件記憶部１０５に削除要求をすることにより、当該アプリケーションプログラムについての起動判定条件を条件記憶部１０５から削除してもよい。
【０１０８】
また、例えば制御部１０７が、アプリケーションプログラムの削除を検出し、条件記憶部１０５から当該アプリケーションプログラムについての起動判定条件を削除してもよい。
【０１０９】
ここで、システム管理装置１０１が起動判定をする際に用いる起動判定条件は、図３および図５に示す形式以外の形式であってもよい。
【０１１０】
つまり、情報処理システムにおいて発生するイベントごとに、その時点でのアプリケーションプログラムの動作状態に応じて当該イベント通知先のアプリケーションプログラムを起動させるか否かを判定できるのであれば、他の形式であってもよい。
【０１１１】
例えば、起動判定条件が、イベント識別子を引数として起動不要条件を導くことのできる関数の形式であってもよい。
【０１１２】
図６は、実施の形態１における起動判定条件の別の一例を示す図である。
【０１１３】
図６に示す判定条件テーブルは、イベント識別子を引数として起動不要条件を導く関数が判定対象アプリケーションごとに登録されたテーブルである。
【０１１４】
起動判定部１０４は、イベントの通知先であるアプリケーションプログラムに対応する関数の引数ｘに、当該イベントのイベント識別子を入力しこの関数を実行する。
【０１１５】
これにより、関数のＲｅｔｕｒｎ値として判定対象アプリケーションの起動が不要となる条件を得ることが出来る。また、この関数内で状態取得部１０６へ動作状態の取得要求を出すことにより、起動判定部１０４は、判定に必要となる１以上のアプリケーションプログラムの動作状態を取得することができ、判定対象アプリケーションを起動させるか否かを判定することができる。
【０１１６】
以下、起動判定条件として、図６に示す関数を用いた具体例を示す。
【０１１７】
携帯端末１０において、ユーザが通話中であり電話のアプリケーションプログラム（以下、「電話アプリケーション」という。）が起動中である時に、ユーザが通話終了のボタンを押下することにより、携帯端末１０から通話を終了した場合を想定する。
【０１１８】
この場合、携帯端末１０からの通話終了のイベントが電話アプリケーションに通知され、電話アプリケーションが終了する。
【０１１９】
このような状態において、もう一度ユーザが通話終了のボタンを押下すると、ミドルウェア１０２から起動判定部１０４に通話終了のイベントが通知される。
【０１２０】
起動判定部１０４は、条件記憶部１０５に記憶されている通話終了のイベントの通知先である電話アプリケーションプログラム対応する関数“Ｆ１＿ｔｅｌ（ｘ）”の引数ｘに通話終了のイベント識別子を入力し、この関数を実行する。
【０１２１】
具体的には、通話終了のイベント識別子を引数ｘとする関数“Ｆ１＿ｔｅｌ（ｘ）”は、起動不要条件として“電話アプリケーションがアイドル状態、またはトーン信号発生中”を示す情報を返す。
【０１２２】
また、この関数内で状態取得部１０６への動作状態の取得要求を行い、起動判定に必要な、アプリケーションの動作状態を取得し判定を行なう。
【０１２３】
本例の場合、最初の通話終了のイベントにより、電話アプリケーションは動作を終了しており、起動判定部１０４は、状態取得部１０６から動作状態として、電話アプリケーションはメモリにロードされ初期化処理が終了しているだけのアイドル状態である旨の情報を取得する。
【０１２４】
これにより、起動判定部１０４は、電話アプリケーションの起動は不要であると判定する。また、制御部１０７は、この判定結果を受け、電話アプリケーションを起動するための制御を行うことなく、イベント格納部１０３に格納されている通話終了のイベントを破棄する。
【０１２５】
また、関数を用いた起動判定の別の例として、相手端末から通話を終了された後に、ユーザが携帯端末１０の通話終了のボタンを押下した場合について以下に説明する。
【０１２６】
まず、相手端末から通話が終了されたために発生した通話終了のイベントが携帯端末１０の電話アプリケーションに通知され、電話アプリケーションプログラムが終了する。また、スピーカーからトーン信号が発生している状態となる。
【０１２７】
この状態で、ユーザが通話終了のボタンを押下すると、ミドルウェア１０２から起動判定部１０４に通話終了のイベントが通知される。
【０１２８】
起動判定部１０４は、条件記憶部１０５に記憶されている通話終了のイベントの通知先である電話アプリケーションプログラム対応する関数“Ｆ１＿ｔｅｌ（ｘ）”の引数ｘに通話終了のイベント識別子を入力し、この関数を実行する。
【０１２９】
これにより、起動判定部１０４は、起動不要条件として“電話アプリケーションがアイドル状態、またはトーン信号発生中”を示す情報得る。
【０１３０】
また、この関数内で状態取得部１０６への動作状態の取得要求を行い、起動判定に必要となるアプリケーションプログラムの動作状態を取得する。
【０１３１】
本例の場合、起動判定部１０４は、状態取得部１０６から、電話アプリケーションが終了済みかつトーン信号を発生中という動作状態を取得する。
【０１３２】
これにより、起動判定部１０４は、電話アプリケーションの起動は不要であると判定する。また、制御部１０７は、この判定結果を受け、電話アプリケーションを起動するための制御を行うことなく、イベント格納部１０３に格納されている通話終了のイベントを破棄する。
【０１３３】
このように、起動判定条件が関数で表される場合であっても、本実施の形態のシステム管理装置１０１は、発生するイベントごとに、当該イベントの通知先であるアプリケーションプログラムを起動させるか否かを適切に判定することができる。つまり、無駄にアプリケーションプログラムが起動することを防ぐことができる。
【０１３４】
また、図５についての説明と同様に、携帯端末１０にアプリケーションプログラムが追加された場合、当該アプリケーションプログラムにより、条件記憶部１０５に新たに関数が追加される。
【０１３５】
図７は、実施の形態１における更新後の起動判定条件の別の一例を示す図である。
【０１３６】
図７は、携帯端末１０に音楽アプリケーションが追加された場合の、起動判定条件を示している。具体的には、図６に示す起動判定条件に、アプリケーション識別子“音楽”が追加され、さらに“音楽”に対応する起動不要条件として、関数“Ｆ１＿ａｕ（ｘ）”が追加されている。
【０１３７】
これにより、ミドルウェア１０２から、音楽アプリケーションに対するイベント、例えば音楽再生のイベントが発生した場合、起動判定部１０４は、当該イベントに含まれるアプリケーション識別子から関数“Ｆ１＿ａｕ（ｘ）”を特定することができる。
【０１３８】
さらに、“Ｆ１＿ａｕ（ｘ）”の引数ｘに“音楽再生”を示すイベント識別子を入力し実行することで、音楽アプリケーションの起動が不要である条件を導くことができる。
【０１３９】
また、本実施の形態においては、図３および図５に示すように、起動判定条件として判定対象アプリケーションの起動が不要となる条件（起動不要条件）を用いる形態について説明した。
【０１４０】
しかしながら、システム管理装置１０１において起動判定する際に、起動を許可する条件（起動許可条件）を起動判定条件として用いてもよい。
【０１４１】
例えば、カメラアプリケーションに関連する個別条件テーブル“Ｔｂｌ１＿ｃａ”（図３参照）において、動画撮影のイベントに対応して、起動不要条件ではなく、起動許可条件としてＴＶアプリケーション以外の、携帯端末１０が有する全てのアプリケーションプログラムを示す情報を記録しておく。
【０１４２】
これにより、動作中のアプリケーションプログラムがＴＶアプリケーション以外である場合には、起動判定部１０４は、カメラアプリケーションを起動させると判定することができる。
【０１４３】
つまり、ＴＶアプリケーションが動作中である場合には、起動判定部１０４は、カメラアプリケーションを起動させないと判定することができる。また、この結果を受けて、制御部１０７は、イベント格納部１０３に格納されている動画撮影のイベントを破棄することができる。
【０１４４】
つまり、図３に示す起動不要条件が記録されている個別条件テーブルを用いた起動判定と同じ結果を得ることができる。
【０１４５】
また、起動判定条件として、このような起動許可条件を返す関数を用いた場合であっても同様に、起動不要条件を返す関数を用いた場合と同じ判定結果を得ることができる。
【０１４６】
さらに、起動判定部１０４が、携帯端末１０において発生するイベントごとに起動判定できるのであれば、起動判定条件の形式はテーブルや関数に限られない。また、１つのイベント識別子に複数の起動必要条件または起動許可条件が対応していてもよい。
【０１４７】
また、起動判定の結果が常にアプリケーションプログラムを起動させるとなるイベントも存在する。
【０１４８】
例えば、携帯端末１０の電源ＯＮおよびＯＦＦのイベントが発生した場合、電源ＯＮおよびＯＦＦは必ず実行する必要がある。そのため、起動判定部１０４は、常に電源をＯＮまたはＯＦＦにするアプリケーションプログラムを起動させる。
【０１４９】
また、例えば携帯端末１０の発信履歴または電話帳等の情報を参照するためのイベントが発生した場合、起動判定部１０４は、常にこれら情報を参照するためのアプリケーションプログラムを起動させる。
【０１５０】
これら情報を参照するためのアプリケーションプログラムは、単に情報表示などを行うだけである。そのため、他のアプリケーションプログラムの処理と干渉することがない。そのため、このような情報を参照するためのイベントが発生した場合、起動判定部１０４は、常に当該イベントの通知先のアプリケーションプログラムを起動させると判定し、当該イベントは当該アプリケーションプログラムに処理される。
【０１５１】
このように、アプリケーションプログラムが必ず処理する必要のあるイベント、または、アプリケーションプログラムが処理したとしても他のアプリケーションプログラムに全く影響のないイベントについては、起動判定部１０４は、常に当該イベントの通知先のアプリケーションプログラムを起動させると判定する。
【０１５２】
つまり、このようなイベントに対応する起動不要条件は空欄となる。または、このようなイベントに対応する起動許可条件は、携帯端末１０が有する全てのアプリケーションプログラムを示す情報となる。
【０１５３】
また、本実施の形態において、起動判定部１０４は、１以上のアプリケーションプログラムの動作状態を状態取得部１０６から取得し、起動判定に用いるとした。
【０１５４】
しかしながら、起動判定部１０４は、アプリケーションプログラムの動作状態以外の携帯端末１０の状態を用いて起動判定を行ってもよい。
【０１５５】
例えば、携帯端末１０がいわゆる折り畳み式またはいわゆるスライド式の携帯端末である場合など、形状の変化が可能な携帯電話である場合を想定する。
【０１５６】
この場合、状態取得部１０６が、携帯端末１０がどのような形状にあるかを示す情報を取得し、起動判定部１０４がこの情報を起動判定に用いてもよい。
【０１５７】
このような、アプリケーションプログラムの動作状態以外の、携帯端末１０の状態を示す情報としては以下のようなものがある。
【０１５８】
携帯端末１０に、ＳＤカード等の外部記憶媒体が挿入されているか否かを示す情報、携帯端末１０に挿入されているＳＤカード等の外部記憶媒体の空き容量を示す情報、携帯端末１０のバッテリーの充電量がどのくらいであるのかを示す情報、携帯端末１０が充電中であるか否かを示す情報、携帯端末１０に充電のためのアダプタが接続されているか否かを示す情報、携帯端末１０が通話可能圏内にいるか否かを示す情報、携帯端末１０が、いわゆるマナーモードまたはドライブモード等に設定されているか否かを示す情報、および、携帯端末１０に、電話の発信を禁止するダイヤルロックが設定されているか否かを示す情報等である。
【０１５９】
例えば、ミドルウェア１０２から、外部記憶媒体に記憶されたデータのみを処理するアプリケーションプログラムに対するイベントが発生した場合を想定する。
【０１６０】
この場合、起動判定部１０４が状態取得部１０６から外部記憶媒体が携帯端末１０に挿入されていないことを取得することで、当該アプリケーションプログラムを起動させないと判定し、当該イベントを破棄することができる。
【０１６１】
また、例えば、携帯端末１０がドライブモードに設定されているときに、携帯端末１０に電話の着信があった場合を想定する。
【０１６２】
この場合、起動判定部１０４は、携帯端末１０がドライブモードに設定されていることを状態取得部１０６から取得することで、電話アプリケーションを起動させないと判定し、当該イベントを破棄することができる。
【０１６３】
また、例えば、携帯端末１０がダイヤルロック中である場合、ユーザが携帯端末１０のダイヤルボタンを押下した場合を想定する。
【０１６４】
この場合、起動判定部１０４は、携帯端末１０がダイヤルロック中であることを状態取得部１０６から取得することで、電話アプリケーションを起動させないと判定し、当該イベントを破棄することができる。
【０１６５】
このように、システム管理装置１０１は、アプリケーションプログラムの動作状態以外の、携帯端末１０の状態を取得し、イベントごとに、当該イベントの通知先であるアプリケーションプログラムを起動させるか否かを適切に判定することができる。つまり、アプリケーションプログラムを無駄に起動させることなく、当該イベントを即座に破棄することができる。
【０１６６】
また、本実施の形態において、起動判定部１０４は、アプリケーションプログラム毎の動作状態を起動判定に用いている。
【０１６７】
しかしながら、起動判定部１０４は、動作中のアプリケーションプログラムがどのイベントにより起動しているかを調べ、イベント毎のアプリケーションプログラムの動作状態を判定条件に用いてもよい。
【０１６８】
例えば、動画撮影のイベントが発生した際に、ユーザがＴＶを視聴するためのイベントにより起動したアプリケーションプログラムが動作中である場合、起動判定部１０４は、動画撮影のイベント対応するカメラアプリケーションの起動は不要であると判定できる。
【０１６９】
また、イベント発生時におけるアプリケーションプログラムの動作状態の直前の状態を起動判定の判定材料に加えてもよい。
【０１７０】
また、ミドルウェア１０２から送信されるイベントには、アプリケーションプログラムによる当該イベントの処理で用いられるデータであるイベント情報が含まれるとした（図２参照）。
【０１７１】
しかしながら、イベント識別子のみでアプリケーションプログラムでの処理が一意に確定する場合などには、イベント情報が含まれなくてもよい。
【０１７２】
また、ミドルウェア１０２から送信されるイベントに、図２に示す各情報に加えて送信元のアプリケーションプログラムを示す情報等の他の情報が含まれていてもよい。
【０１７３】
また、システム管理装置１０１が、複数のアプリケーションプログラムに対応してイベント格納部１０３を複数個備える構成であってもよい。
【０１７４】
この場合、どのイベント格納部１０３にイベントが格納されたかにより、当該イベントがどのアプリケーションプログラムに向けたものであるかが判別可能である。そのため、イベントにアプリケーション識別子が含まれていなくてもよい。
【０１７５】
また、イベント格納部１０３は、受け取ったイベントをそのまま保持してもよいし、必要な情報を抽出して管理保持してもよい。例えば、ミドルウェア１０２から受け取ったイベントからアプリケーション識別子、イベント識別子、イベント情報を抽出し、これらをそれぞれ対応付けて別々に格納してもよい。
【０１７６】
また、イベント格納部１０３は、システム管理装置１０１が備えていなくてもよい。例えば、ミドルウェア１０２から送信されたイベントが携帯端末１０に備えられた所定の記憶装置に格納される場合、システム管理装置１０１は必要に応じて、当該記憶装置からイベント識別子等の情報の読み出し、および、当該記憶装置からのイベントの削除等を行えばよい。
【０１７７】
また、状態取得部１０６は、起動判定部１０４からの要求を受けてから、アプリケーションプログラムの動作状態を収集するとした。
【０１７８】
しかしながら、状態取得部１０６は、起動判定部１０４からの要求の有無に関わらず、アプリケーションプログラムの動作状態が変化するとその変化の情報を受け取り保持してもよい。
【０１７９】
この場合、受け取った情報により、保持している動作状態を示す情報を更新することで、状態取得部１０６は常に最新の動作状態を示す情報を保持しておくことができる。また、起動判定部１０４からの要求に応じて、その最新の動作状態を示す情報を送信することができる。
【０１８０】
（実施の形態２）
実施の形態１では、ミドルウェア１０２からイベントが発生した場合、そのイベントの発生をミドルウェア１０２が起動判定部１０４に通知するとした。また、起動判定部１０４はこの通知を受けることを契機として起動判定を行うとした。
【０１８１】
しかしながら、ミドルウェア１０２がイベントの発生を起動判定部１０４に通知しなくてもよい。
【０１８２】
システム管理装置１０１が、ミドルウェア１０２からのイベントの発生を何らかの手段により検出できれば、起動判定部１０４はイベントの発生を知ることができ、起動判定を行うことができる。
【０１８３】
そこで、本発明の実施の形態２として、システム管理装置１０１がミドルウェア１０２からのイベントの発生を検出する手段を備える場合のシステム管理装置１０１の構成および動作について説明する。
【０１８４】
図８は、本発明の実施の形態２における携帯端末２０の主要な機能構成を示す機能ブロック図である。
【０１８５】
なお、図８において、実施の形態１における携帯端末１０の各構成部と同様の構成部については同一符号を付し、その詳細な説明は省略する。
【０１８６】
実施の形態２における携帯端末２０は、システム管理装置２０１を備えている。システム管理装置２０１は、実施の形態１のシステム管理装置１０１と同じく、携帯端末２０内の１つ以上のアプリケーションプログラムの動作を管理・制御を行う装置である。
【０１８７】
しかし、実施の形態２におけるシステム管理装置２０１は、実施の形態１におけるシステム管理装置１０１にない特徴として監視部２０２を備えている。
【０１８８】
監視部２０２は、イベント格納部２０３を監視し、イベントがイベント格納部２０３に格納されたことを検出する処理部である。
【０１８９】
なお、ミドルウェア１０２から送信されるイベントのデータ構成は、実施の形態１におけるイベントと同じであり（図２参照）、イベント識別子およびアプリケーション識別子等を含んでいる。
【０１９０】
また、イベント格納部２０３と起動判定部２０４と状態取得部２０６とは、監視部２０２との情報のやり取りがあるという点で実施の形態１におけるイベント格納部１０３と起動判定部１０４と状態取得部１０６のそれぞれとは異なるが、基本的な機能は同じである。
【０１９１】
このように構成された実施の形態２のシステム管理装置２０１の動作を、図９を用いて説明する。
【０１９２】
図９は、実施の形態２のシステム管理装置２０１における起動判定の動作を示すフローチャートである。
【０１９３】
監視部２０２が、イベント格納部２０３へのイベントの格納を監視している状況下（Ｓ２０）において、ミドルウェア１０２から送信されたイベントがイベント格納部２０３に格納される。
【０１９４】
監視部２０２は、イベントがイベント格納部２０３に格納されたことを検出すると（Ｓ２０でＹｅｓ）、イベント格納部２０３から当該イベントに含まれているアプリケーション識別子およびイベント識別子を取得し、起動判定部２０４に通知する（Ｓ２１）。
【０１９５】
なお、監視部２０２が監視する対象のイベントは、起動されていないアプリケーションプログラムに対するイベントのみとする。また、監視部２０２には、アプリケーションプログラムの状態（起動中または終了済みなど）が状態取得部２０６から通知される。
【０１９６】
起動判定部２０４は、起動判定条件を取得する（Ｓ２２）。具体的には、監視部２０２から通知されたアプリケーション識別子およびイベント識別子に基づいて、条件記憶部１０５から当該アプリケーション識別子および当該イベント識別子に対応する起動不要条件を取得する。
【０１９７】
起動判定部２０４はさらに、状態取得部２０６から、１以上のアプリケーションプログラムのその時点での動作状態を取得する（Ｓ２３）。
【０１９８】
具体的には、状態取得部２０６は起動判定部２０４からアプリケーションプログラムの動作状態の取得要求を受けると、各アプリケーションプログラムに動作状態の取得要求を通知する。
【０１９９】
状態取得部２０６は、各アプリケーションプログラムからそれぞれの動作状態を取得すると、取得した各アプリケーションプログラムの動作状態を起動判定部２０４に通知する。
【０２００】
起動判定部２０４は、通知された動作状態が、取得した起動判定条件に該当するか否かに応じて当該イベントの通知先であるアプリケーションプログラムを起動させるか否かを判定する（Ｓ２４）。
【０２０１】
例えば、当該イベントが動画撮影のイベントであり、当該イベントが発生した際にＴＶアプリケーションが動作中である場合を想定する。
【０２０２】
この場合、起動判定部２０４は、動画撮影のイベントに対応する起動不要条件が“ＴＶ”であることから（図３参照）、動画撮影のイベントの通知先のカメラアプリケーションを起動させないと判定する（Ｓ２４で起動不要）。
【０２０３】
制御部１０７は、この判定結果を受け、カメラアプリケーションを起動させることなく、イベント格納部２０３に格納されている動画撮影のイベントを破棄する（Ｓ２６）。
【０２０４】
なお、動画撮影のイベントが発生し、その際にＴＶアプリケーションが動作中ではない場合は、起動不要条件に該当しないため、起動判定部２０４はカメラアプリケーションを起動させると判定する（Ｓ２４で起動）。
【０２０５】
制御部１０７は、この判定結果を受け、カメラアプリケーションを起動する（Ｓ２５）。カメラアプリケーションは起動すると動画撮影のイベントをイベント格納部２０３から取得し処理する。
【０２０６】
また、このように起動判定部２０４がアプリケーションプログラムを起動すると判定し、アプリケーションプログラムが起動された場合、監視部２０２は、当該アプリケーションプログラムに対応するイベント識別子を起動判定部２０４に通知することを一旦中止する。
【０２０７】
これは、当該アプリケーションプログラムはすでに起動されているため、起動判定部２０４が起動判定を行う必要がないからである。
【０２０８】
その後、状態取得部２０６は、当該アプリケーションプログラムが終了すると、監視部２０２に対して当該アプリケーションプログラムが終了した旨を通知する。
【０２０９】
監視部２０２は、状態取得部２０６から当該アプリケーションプログラムが終了したことを通知されると、当該アプリケーションプログラムに対応するイベント識別子を起動判定部２０４に通知することを再開する。
【０２１０】
このように、実施の形態２のシステム管理装置２０１によれば、情報処理システムにおいてイベントが発生した際、そのイベントの通知先であるアプリケーションプログラムを起動させる前に、起動させるか否かを判定することができる。
【０２１１】
これにより、アプリケーションプログラムを無駄に起動させることなく、当該イベントを即座に破棄することができる。
【０２１２】
つまり、実施の形態２のシステム管理装置２０１も、実施の形態１のシステム管理装置１０１と同じく、情報処理システムにおいて効率よくアプリケーションプログラムを動作させることができ、これにより、情報処理システムの処理負荷を低減することができる。また、情報処理システムにイベントを格納するメモリ等を効率よく使用させることができる。
【０２１３】
さらに、実施の形態２のシステム管理装置２０１は監視部２０２を備えている。監視部２０２は、イベント格納部２０３を監視することで、ミドルウェア１０２からのイベント発生を検出することができる。
【０２１４】
これにより、情報処理システムにおいて、ミドルウェア１０２からシステム管理装置２０１へのイベント発生を通知する処理（例えば、ミドルウェア１０２でのイベント通知の生成処理やイベント通知の送信処理、システム管理装置２０１でのイベント通知の受信処理など）を削減することができ、処理時間を短縮することができる。
【０２１５】
なお、実施の形態２のシステム管理装置２０１は、図８に示すように、イベント格納部２０３はシステム管理装置２０１に含まれていない。しかし、イベント格納部２０３はシステム管理装置２０１に含まれていてもよい。
【０２１６】
つまり、イベント格納部２０３の配置位置は、監視部２０２等の各構成部が、必要に応じてイベント格納部２０３と情報のやり取りを行えるのであれば限定されるものではない。
【０２１７】
また、イベント格納部２０３は、受け取ったイベントをそのまま保持してもよいし、必要な情報を抽出して管理保持してもよい。
【０２１８】
また、携帯端末２０が有する複数のアプリケーションプログラムに対応して複数のイベント格納部２０３を設け、監視部２０２が、非常駐アプリケーションプログラムに対応するイベント格納部２０３を監視するという構成にしてもよい。
【０２１９】
ここで、非常駐アプリケーションプログラムとは、ユーザ操作によるメニューからの起動要求などにより、必要に応じて起動するアプリケーションプログラムのことである。また、携帯端末２０の電源ＯＮの間、常に起動中状態であるアプリケーションプログラムを常駐アプリケーションプログラムという。
【０２２０】
また、状態取得部２０６は、起動判定部２０４からの要求の有無に関わらず、アプリケーションプログラムの動作状態が変化するとその変化の情報を受け取り保持してもよい。また、受け取った情報により、保持している動作状態を示す情報を更新してもよい。
【０２２１】
これにより、状態取得部２０６は、常に最新の動作状態を示す情報を保持しておくことができる。また、起動判定部２０４からの要求に応じて、その最新の動作状態を示す情報を送信することができる。
【０２２２】
また、実施の形態１のシステム管理装置１０１および実施の形態２のシステム管理装置２０１は、ともに、携帯端末に備えられ、携帯端末を管理対象としている。
【０２２３】
しかしながら、本発明のシステム管理装置の管理対象となる情報処理システムは携帯端末に限られることはない。
【０２２４】
つまり、アプリケーションプログラムの実行環境を有する、ハードウェアまたはソフトウェアで構成される情報処理システムであれば、本発明のシステム管理装置は、効率よくアプリケーションプログラムを動作させることができる。
【０２２５】
また、実施の形態１のシステム管理装置１０１および実施の形態２のシステム管理装置２０１における各構成部の動作は、中央演算装置（ＣＰＵ）、記憶装置、および情報の入出力を行うインターフェース等を有するコンピュータにより実現することができる。
【０２２６】
例えば、ＣＰＵがインターフェースを介してイベント格納部１０３からアプリケーション識別子とイベント識別子を読み出す。また、その時点での１以上のアプリケーションプログラムの動作状態を特定する。
【０２２７】
更に、特定した動作状態と、条件記憶部１０５から読み出した当該イベント識別子に対応する起動判定条件と比較対照し、当該アプリケーション識別子に対応するアプリケーションプログラムの起動判定を行う。
【０２２８】
また、判定結果に応じ、当該アプリケーションプログラムを起動する。または、当該アプリケーションプログラムを起動することなく当該イベントを破棄する。
【０２２９】
このようなコンピュータの動作によっても、本発明のシステム管理装置の動作は実現され、また、本発明のシステム管理方法が実行される。
【０２３０】
また、本発明のシステム管理装置を構成する各機能ブロックは典型的には集積回路であるＬＳＩとして実現されてもよい。また、これら機能ブロックは個別に１チップ化されても良いし、一部又は全てを含むように１チップ化されても良い。
【０２３１】
図１０は、実施の形態１のシステム管理装置１０１における集積回路化の一例を示す図である。
【０２３２】
図１０に示すＬＳＩ３００は集積回路化の一例を示し、ＬＳＩ３００に含まれる機能ブロックの範囲は集積回路化する構成部の範囲の例である。
【０２３３】
なお、ここでは、ＬＳＩと記載しているが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【０２３４】
さらに、集積回路の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現しても良い。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
【０２３５】
また、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適応等が可能性としてありえる。
【０２３６】
なお、図８に示す実施の形態２のシステム管理装置２０１における各機能ブロックも同様に、個別に１チップ化されても良いし、一部又は全てを含むように１チップ化されても良い。
【産業上の利用可能性】
【０２３７】
本発明のシステム管理装置は、情報処理システムが有する複数のアプリケーションプログラムの起動を適切に制御し、効率的にアプリケーションプログラムを動作させるができる。その結果、消費電力が少なくなるという効果もある。そのため、携帯電話やＰｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｃｅ（ＰＤＡ）等の情報処理システムのシステム管理装置として有用である。
【図面の簡単な説明】
【０２３８】
【図１】図１は、実施の形態１における携帯端末の主要な機能構成を示す機能ブロック図である。
【図２】図２は、実施の形態１におけるイベントのデータ構成の一例である。
【図３】図３は、実施の形態１における起動判定条件の一例を示す図である。
【図４】図４は、実施の形態１のシステム管理装置における起動判定の動作を示すフローチャートである。
【図５】図５は、実施の形態１における更新後の起動判定条件の一例を示す図である。
【図６】図６は、実施の形態１における起動判定条件の別の一例を示す図である。
【図７】図７は、実施の形態１における更新後の起動判定条件の別の一例を示す図である。
【図８】図８は、実施の形態２における携帯端末の主要な機能構成を示す機能ブロック図である。
【図９】図９は、実施の形態２のシステム管理装置における起動判定の動作を示すフローチャートである。
【図１０】図１０は、実施の形態１のシステム管理装置における集積回路化の一例を示す図である。
【符号の説明】
【０２３９】
１０、２０    携帯端末
１０１、２０１    システム管理装置
１０２    ミドルウェア
１０３、２０３    イベント格納部
１０４、２０４    起動判定部
１０５    条件記憶部
１０６、２０６    状態取得部
１０７    制御部
１０８    アプリケーションプログラム
２０２    監視部
３００    ＬＳＩ
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2007119550.tif 000013
【図２】
2007119550.tif 000014
【図３】
2007119550.tif 000015
【図４】
2007119550.tif 000016
【図５】
2007119550.tif 000017
【図６】
2007119550.tif 000018
【図７】
2007119550.tif 000019
【図８】
2007119550.tif 000020
【図９】
2007119550.tif 000021
【図１０】
2007119550.tif 000022
【国際調査報告】
2007119550.tif 000023
2007119550.tif 000024
2007119550.tif 000025
2007119550.tif 000026