(57)【要約】  バッテリで動作するマルチタスク計算装置は、信頼性のないアプリケーションがバックグラウンド、又は、フォアグラウンドに存在するか否かを決定し、バックグラウンドにある信頼性のないアプリケーションの実行を抑止することにより、バッテリ電力を維持する。信頼性のないアプリケーションがバックグラウンド、又は、フォアグラウンドに存在するか否かを決定するために、ウィンドウ・サーバ・コンポーネントを用いてもよい。バックグラウンドにあるアプリケーションについて、スケジューラや割り込みハンドラへ制御信号を送出し、信頼性のないアプリケーションの実行、例えば、何らかのサービスを受けたり、或いは、何らかのリソースを消費することを、抑止することができる。
2007520777.tif 000002
【特許請求の範囲】
【請求項１】
マルチタスク計算装置がシステムリソースを維持することを可能にする方法であって、
信頼性のないアプリケーションがバックグラウンド、又は、フォアグラウンドに存在するか否かを決定する工程と、
バックグラウンドにある信頼性のないアプリケーションの実行を抑止する工程と、を備える
ことを特徴とする方法。
【請求項２】
前記信頼性のないアプリケーションがバックグラウンド、又は、フォアグラウンドに存在するか否かは、ウィンドウ・サーバ・コンポーネントにより決定される
ことを特徴とする請求項１に記載の方法。
【請求項３】
バックグラウンドに存在する信頼性のないアプリケーションについて、前記ウィンドウ・サーバ・コンポーネントにより、スケジューラ又は割り込みハンドラへ制御信号が送出され、該アプリケーションの実行が抑止される
ことを特徴とする請求項２に記載の方法。
【請求項４】
更に、
信頼性のないバックグラウンドのアプリケーションが、無線ネットワークを介してデータを'ポーリング'することを抑止する工程を備える
ことを特徴とする請求項１に記載の方法。
【請求項５】
更に、
ディスプレイがスクリーンセーバーを表示したり、オフにされた場合、信頼性のないバックグラウンドのアプリケーションの実行を抑止する工程を備える
ことを特徴とする請求項１に記載の方法。
【請求項６】
バックグラウンドにある信頼性のあるアプリケーションは、（１）実行の継続が許可されるか、（２）実行が積極的に抑止されるか、又は、（３）実行の停止が要求される
ことを特徴とする請求項１に記載の方法。
【請求項７】
アプリケーションは、
（ａ）前記装置上で保護されたリソースのうち、該アプリケーションからアクセス可能なのはいずれか、
（ｂ）該アプリケーションは、ＲＯＭ又はＲＡＭのどちらから読み込まれたか、
（ｃ）該アプリケーションは、所定の検証又は認証の処理を用いて検証されているか否か、
のいずれかを評価して前記装置により信頼性がないと見なされる
ことを特徴とする請求項１に記載の方法。
【請求項８】
バックグラウンドのアプリケーションの実行は、該アプリケーションのインストレーション・ファイルに含まれる署名を用いて、所定の信頼性又は認証の基準に適合しない場合にのみ、抑止される
ことを特徴とする請求項７に記載の方法。
【請求項９】
前記装置はバッテリにより電力が供給されることを特徴とする請求項１に記載の方法。
【請求項１０】
維持される前記システムリソースは、（１）電力、（２）ＣＰＵの動作、及び、（３）スケジューラの動作、のうちの少なくともいずれかである
ことを特徴とする請求項１に記載の方法。
【請求項１１】
前記装置は、ＵＰＳ（無停電電源装置）により電力が供給される
ことを特徴とする請求項１に記載の方法。
【請求項１２】
信頼性のないアプリケーションがバックグラウンド、又は、フォアグラウンドに存在するか否かを決定し、システムリソースを節約するために、バックグラウンドにある信頼性のないアプリケーションの実行を抑止することが可能なようにプログラムされた、マルチタスク計算装置。
【請求項１３】
バッテリにより電力が供給されることを特徴とする請求項１２に記載の装置。
【請求項１４】
マルチタスク計算装置のオペレーティング・システムであって、
信頼性のないアプリケーションがバックグラウンド、又は、フォアグラウンドに存在するか否かを決定し、システムリソースを節約するために、バックグラウンドにある信頼性のないアプリケーションの実行を抑止することが可能である
ことを特徴とするオペレーティング・システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バッテリ電力等のリソースを維持又は節約する、マルチタスク計算装置を可能にする方法に関する。本明細書において用いられる'計算装置'という用語は、あらゆる種類の計算装置を含むように広く解釈すべきであり、例えば、無線電話機、高機能電話機、通信機、パーソナルコンピュータ、ラップトップ・コンピュータ、ゲーム機、コンピュータ（計算機）、及び、特定用途向け装置を制限なく含む。
【背景技術】
【０００２】
バッテリ式の計算装置、特に、ＧＰＲＳや３Ｇのセルラーネットワークに常時接続するため高レベルの電力を消費する高機能電話等の装置においては、バッテリの節約が非常に重要である。
【０００３】
複数の異なるアプリケーションを同時に実行する従来のマルチタスク計算機においては、アプリケーションが初めてサービスを要求する場合、アプリケーションはオペレーティング・システムに対してソフトウェアの割り込みを発行する。異なるアプリケーションからの割り込みは、割り込みハンドラによって、優先順位が決められ待ち行列に入れられる。スケジューラは、アプリケーションの開始及び終了を制御し、同時に実行するアプリケーションを管理する。
【０００４】
従来、スケジューラは、例えば、アプリケーションのドロップダウンメニューにおける選択肢'閉じる'が選択された場合のように、エンドユーザから明示的に指示がなされた場合にアプリケーションを終了していた。結果として、明示的に'閉じる'の命令がなされない限り、アプリケーションは、実際には積極的に使用されていない場合においても実行を継続していた。このため、'バックグラウンド（background）'にあるような場合においても、アプリケーションはいくらかのシステムリソースを使用し続けていた。なお、アプリケーションがバックグラウンドにあるのは、エンドユーザとの情報のやりとりがなされておらず、ユーザが指示入力可能なユーザインタフェースを表示していないような場合（ただし、例えば、アプリケーションがそこに存在しており、それがまだ起動中であることを示すアイコンを表示しているような場合もあり得る）である。一方、フォアグラウンド（foreground：最前面）のアプリケーションは、ユーザが指示入力可能なユーザインタフェースを表示する。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従って、バッテリ節約の問題は、マルチタスク装置、即ち、複数のアプリケーションを同時に実行可能なオペレーティング・システムを備えた装置において、特に重大なものとなる。
【課題を解決するための手段】
【０００６】
本発明の第１の側面においては、マルチタスク計算装置は、信頼性のない（untrusted）アプリケーションがバックグラウンド、又は、フォアグラウンドに存在するか否かを判定し、システムリソースを維持するために、バックグラウンドに存在する信頼性のないアプリケーションの実行を抑止する。
【０００７】
マルチタスク計算装置においてシステムリソース（ＣＰＵ、電力等）を維持することは有益である。コンセントから電力が供給される（mains powered）デスクトップコンピュータにとって、アプリケーションがバックグラウンドで実行可能であり、それゆえシステムリソースのいくらかを消費することは、ＣＰＵ及びスケジューラの動作の浪費である。そして、バッテリで動作する携帯装置の分野においては、できる限りシステムリソースを節約することは、上述のように、バッテリの寿命を延ばすことができるため、特に有益である。
【０００８】
本発明に係る装置は、所定の'信頼性（trust）'又は認証の基準、即ち、アプリケーションの信頼性の度合いを定義する基準に適合しないバックグラウンドアプリケーションへ、システムリソースやサービスを割り振らないことにより、システムリソースを維持する。アプリケーションが'信頼性のない'ものか否かを評価する際に関連する基準は多数存在する。これらの基準には、例えば、以下のものが制限無く含まれる。
（ａ）装置上で保護されたリソースのうち、どれがアプリケーションからアクセス可能か：'信頼性のない'アプリケーションは、所定の保護されたリソースにアクセスすることができないものとして定義することができる。
（ｂ）アプリケーションは、ＲＯＭ又はＲＡＭのどちらから読み込まれたか：ＲＡＭから読み込まれたアプリケーションは、その出所が第三者からのものであることが多く、このため、一般的に装置の製造者により提供されるであろう、ＲＯＭから読み込まれるアプリケーションよりも、信頼性が低い。
（ｃ）アプリケーションは、所定の検証又は認証の処理を用いて検証されているか。
【０００９】
理論的には、アプリケーションがバックグラウンドへ移される場合に、アプリケーションへ送られたイベントの通知を受けとり、自動的にアプリケーションの実行を中止するように、アプリケーションを記述することができる。しかし、ある種の第三者のプログラマに出所を有するアプリケーションや、適切な実装と検証されていない、即ち、'信頼性のない'アプリケーションにおいては、これらのことも実現されていないことが多い。このため、'信頼性のない'アプリケーションは、通常のバックグラウンドの動作の間違った実装を含んでいることが通常よりも多い。従って、バックグラウンドにあるということを通知されたときにアプリケーションが自発的に実行を中止することをただ当てにすることは、信頼性のないアプリケーションに対する適切な方策とは言えない。実際、それらは積極的に実行を抑止する必要がある。
【００１０】
本発明によれば、信頼性のない第三者のアプリケーション（例えば、ゲーム等のダウンロードされたアプリケーション）はバックグラウンドにおいて実行が抑止され、一時停止される。バックグラウンドにおいて、信頼性のあるアプリケーションは、実行を許可するようにしてもよいし、信頼性のないアプリケーションと同様の手法で積極的に実行を抑止するようにしてもよいし、或いは、バックグラウンドにいる場合は実行の停止が要求される（ただし、実行が抑止されるわけではない）ようにしてもよい。与えられたアプリケーションの信頼性は、慣習的に、アプリケーションのインストレーション・ファイルに含まれる署名（signature）を用いて確認されるであろう。ただし、装置の安全な計算の基礎の一部として適用可能な技術は他にも存在する。
【００１１】
第２の側面において、信頼性のないアプリケーションがバックグラウンド、又は、フォアグラウンドに存在するか否かを判定し、システムリソースを節約するために、バックグラウンドに存在する信頼性のないアプリケーションの実行を抑止することが可能なようにプログラムされたマルチタスク計算装置が存在する。その装置はバッテリで動作してもよい。
【００１２】
第３の側面において、信頼性のないアプリケーションがバックグラウンド、又は、フォアグラウンドに存在するか否かを判定し、システムリソースを節約するために、バックグラウンドに存在する信頼性のないアプリケーションの実行を抑止することが可能な、マルチタスク計算装置のためのオペレーティング・システムが存在する。
【発明を実施するための最良の形態】
【００１３】
以下、添付図面を参照して本発明に係る実施の形態を詳細に説明する。
【００１４】
本発明は、ＳｙｍｂｉａｎＯＳオペレーティング・システムが動作するバッテリ駆動の装置において実装することができる。ＳｙｍｂｉａｎＯＳに基づく電話は第三者のアプリケーションに対して'オープン'である。第三者のアプリケーションはゲームや同種のアプリケーションであることが多く、これらの実行時においては、画像や音声等を更新するために、ＣＰＵはフルスピードで動作することが多い。ユーザやシステムが、他のアプリケーションやダイアログを表示する必要がある場合、第三者のアプリケーションがバックグラウンドで実行され続け、これによりバッテリが枯渇する危険性がある。
【００１５】
第三者のアプリケーションは、その出所を'信頼性のある'出所、又は'信頼性のない'出所とすることができる。これは、インストレーション・ファイルに含まれる署名によって決定することができる。ＳｙｍｂｉａｎＯＳ上のプラットフォーム・セキュリティに係る他の手法がＰＣＴ／ＧＢ２００３／００２３１１に開示されており、その内容は参照により組み込まれる。
【００１６】
本発明によれば、バッテリで動作する装置上で信頼性のないアプリケーションが実行されており、他のアプリケーションがフォアグラウンドにいる場合、その信頼性のないアプリケーションはバックグラウンドに移され、さらに実行が積極的に抑止される。これにより信頼性のないアプリケーションにシステムリソースを割り振らず、バックグラウンドの信頼性のないアプリケーションに関連する、ＣＰＵの不要な動作だけでなく、電力を失わないようにすることができる。システムリソースを維持することは、携帯用の、バッテリで動作する装置においてだけでなく、ＵＰＳ（uninterruptible power supply：無停電電源装置）で動作するシステムにおいても特に有益であろう。主電源が電力供給を中止してＵＰＳが起動されると、できるだけ長時間システムリソースを維持することが重要となるからである。信頼性のないアプリケーションが再びフォアグラウンドに移された場合、それを再び実行が許可される。
【００１７】
この手法は、どのアプリケーションがフォアグラウンドにあり、どのアプリケーションがバックグラウンドにあるかを知っているだけでなく、どのプロセス及びスレッドが、信頼性のある、又は、信頼性のないアプリケーションに属しているかをも把握している、システムコンポーネントによって実装される。ＳｙｍｂｉａｎＯＳにおいては、これはウィンドウ・サーバ・コンポーネントとなるであろう。Ｃ＋＋及びＪａｖａアプリケーションもこのように制御することができる。
【００１８】
次に、図１を参照すると、ウィンドウ・サーバ・コンポーネント２は、ディスプレイ１上においてアプリケーションがバックグラウンド又はフォアグラウンドに存在するか否かを決定するために用いられる。ウィンドウ・サーバ・コンポーネント２は、バックグラウンドにある信頼性のないアプリケーション４について、スケジューラ３や割り込みハンドラへ制御信号を送出し、信頼性のないアプリケーション４の実行、例えば、何らかのサービスを受けたり、或いは、何らかのリソースを消費することを、事実上、抑止することができる。スケジューラ３は、例えば、単純に、バックグラウンドにある信頼性のないアプリケーション４に対して、サービスやリソースを全く割り当てないように動作することができる。或いは、割り込みハンドラのために、バックグラウンドの信頼性のないアプリケーション４からの割り込みを、単に、キューの最後に格納し、それらの実行が許可されないようにしてもよい。バックグラウンドにおいて、信頼性のあるアプリケーション５は、実行が継続されてもよいし、信頼性のないアプリケーション４と同様の手法で積極的に実行が抑止されてもよいし、或いは、実行の停止が要求されてもよい（ただし、実行が抑止されるわけではない）。
【００１９】
本発明に係る例示的な使用の一つは、バックグラウンドにおいて信頼性のないアプリケーションが、無線ネットワークを介してデータを'ポーリング（polling）'することを抑止することである。この'ポーリング'は、潜在的にバッテリを速く枯渇させ得る処理である。他の例は、ディスプレイがスクリーンセーバーを表示したり、実際にオフにされた場合、信頼性のないアプリケーションの実行が自動的に抑止されるというものである（バッテリで動作する装置は、スクリーンがオフにされた場合においても、電話等の有用な機能を実行することができる）。このため、本発明は、（これに制限されるわけではないが）特に、バッテリで動作する装置について、電力を節約する戦略に追加的な価値をもたらすものである。
【００２０】
アプリケーションがフォアグラウンドにあると装置が決定した場合（ウィンドウ・サーバ・コンポーネントにより決定されるようにしてもよい）、装置は、そのアプリケーションが再び実行を許可し、例えば、リソースやサービスを提供する。
【図面の簡単な説明】
【００２１】
【図１】本発明に係る装置における、いくつかのコンポーネントの模式図である。
【図１】
2007520777.tif 000003
【手続補正書】
【提出日】平成17年5月1日(2005.5.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１
【補正方法】変更
【補正の内容】
【請求項１】
マルチタスク計算装置がシステムリソースを維持することを可能にする方法であって、
（ａ）信頼性のないアプリケーションがバックグラウンド、又は、フォアグラウンドに存在するか否かを決定する工程と、
（ｂ）信頼性のないアプリケーションの実行を、該アプリケーションがバックグラウンドにある間は停止し、フォアグラウンドにある場合は、該信頼性のないアプリケーションの実行を再び許可する工程と、を備える
ことを特徴とする方法。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１２
【補正方法】変更
【補正の内容】
【請求項１２】
（ａ）信頼性のないアプリケーションがバックグラウンド、又は、フォアグラウンドに存在するか否かを決定し、
（ｂ）信頼性のないアプリケーションの実行を、該アプリケーションがバックグラウンドにある間は停止し、フォアグラウンドにある場合は、該信頼性のないアプリケーションの実行を再び許可することが可能なようにプログラムされた、マルチタスク計算装置。
【手続補正３】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１４
【補正方法】変更
【補正の内容】
【請求項１４】
マルチタスク計算装置のオペレーティング・システムであって、
（ａ）信頼性のないアプリケーションがバックグラウンド、又は、フォアグラウンドに存在するか否かを決定し、
（ｂ）信頼性のないアプリケーションの実行を、該アプリケーションがバックグラウンドにある間は停止し、フォアグラウンドにある場合は、該信頼性のないアプリケーションの実行を再び許可することが可能である
ことを特徴とするオペレーティング・システム。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
本発明の第１の側面においては、マルチタスク計算装置がシステムリソースを維持することを可能にする方法は、（ａ）信頼性のない（untrusted）アプリケーションがバックグラウンド、又は、フォアグラウンドに存在するか否かを決定する工程と、（ｂ）信頼性のないアプリケーションの実行を、該アプリケーションがバックグラウンドにある間は停止し、フォアグラウンドにある場合は、該信頼性のないアプリケーションの実行を再び許可する工程と、を備える。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
第２の側面において、（ａ）信頼性のないアプリケーションがバックグラウンド、又は、フォアグラウンドに存在するか否かを決定し、システムリソースを節約するために、（ｂ）信頼性のないアプリケーションの実行を、該アプリケーションがバックグラウンドにある間は停止し、フォアグラウンドにある場合は、該信頼性のないアプリケーションの実行を再び許可することが可能なようにプログラムされたマルチタスク計算装置が存在する。その装置はバッテリで動作してもよい。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
第３の側面において、（ａ）信頼性のないアプリケーションがバックグラウンド、又は、フォアグラウンドに存在するか否かを決定し、（ｂ）信頼性のないアプリケーションの実行を、該アプリケーションがバックグラウンドにある間は停止し、フォアグラウンドにある場合は、該信頼性のないアプリケーションの実行を再び許可することが可能な、マルチタスク計算装置のためのオペレーティング・システムが存在する。
【国際調査報告】
2007520777.tif 000004
2007520777.tif 000005
2007520777.tif 000006