JP2016015149A - アプリケーション特有のリソース管理 - Google Patents

アプリケーション特有のリソース管理 Download PDF

Info

Publication number
JP2016015149A
JP2016015149A JP2015157378A JP2015157378A JP2016015149A JP 2016015149 A JP2016015149 A JP 2016015149A JP 2015157378 A JP2015157378 A JP 2015157378A JP 2015157378 A JP2015157378 A JP 2015157378A JP 2016015149 A JP2016015149 A JP 2016015149A
Authority
JP
Japan
Prior art keywords
profile
application
resource
new process
operational
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015157378A
Other languages
English (en)
Other versions
JP6022647B2 (ja
Inventor
コースロ・エム.・ラビー
M Rabii Khosro
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2016015149A publication Critical patent/JP2016015149A/ja
Application granted granted Critical
Publication of JP6022647B2 publication Critical patent/JP6022647B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/805QOS or priority aware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/83Admission control; Resource allocation based on usage prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/824Applicable to portable or mobile terminals

Abstract

【課題】限りある数のリソースを利用する複数のアプリケーションを適切にモニタリングするリソース管理システム及び方法を提供する。
【解決手段】少なくとも1つの動作プロファイルを含むサービスの品質モジュールであるQoSモジュール203a〜203cを備えた複数のアプリケーション/プロセス201と、グローバル動作プロファイルを備え、かつ、アプリケーション/プロセス201の動作プロファイルに依存してモバイルデバイス105のリソースを割り当てるように構成されたリソース管理モジュール208とを備える。
【選択図】図2

Description

発明の分野
[0001] 本実施例は、電子デバイスにおけるリソース管理に関連する。より具体的には、これらの実施例は、限りある数のリソースを利用する複数のアプリケーションを適応的にモニタリングするシステムおよび方法に関連する。
関連分野の説明
[0002] デジタルテレビ、デジタルダイレクトブロードキャストシステム(digital direct broadcast system)、ワイヤレス通信デバイス、携帯情報端末(PDA)、ラップトップコンピュータ、デスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、セルラまたは衛星無線電話などを含む広い範囲の電子デバイスは、複数の、内部および外部両方のリソースへのアクセスを要求する。これらのデバイスは、非同期的に、メールサーバとコンタクトし、電話およびテキストメッセージを受信し、またはデジタルカメラを動作させている。これらの機能の各々は、ビデオ符号化および復号化、グラフィック処理、アンテナ送信変更、改変バッテリの需要などのような、より低いレベルの動作を要求することができる。アプリケーション、およびそれらが使用するリソースの集合は、総称して、モバイルデバイスの「エコシステム」と称されうる。残念ながら、アプリケーションが様々なリソースを求めているので、結果として生じるリソースの割り当ては概して、ユーザまたはシステム設計者の、好ましいモードの動作とは対応しない。例えば、各々のアプリケーションはメモリの所定の量を要求することができるけれども、いずれの特定のデバイスにおけるメモリの量も固定されている。従っていくつかの点で、もう1つのプログラムを起動することは、デバイスの全体的なメモリの割り当てを厳しく制約することがある。エコシステムは、限定されたリソースのために好ましい仕方で作動しなくなり、早期に停止に、または望ましくない様式(fashion)になりうる。
[0003] 特に、これらのリソースの多くは時間期間にわたって限られた量の累加的サービスのみを、ならびに任意の所与の瞬間に限られた量のサービスのみを提供することができる。多すぎるアプリケーションが一度に1つのリソースにアクセスするとき、または一握りのアプリケーションがリソースを独占するとき、おそらくユーザまたは設計者によってより高く優先される他のアプリケーションは、最適には及ばない状態で動作することになるか、またはまったく動作しなくなる。さらにアプリケーション開発者は概して、彼らのアプリケーションが起動されることになる特定の環境を予期することができず、また彼らはシステム設計者によって課された全ての制限に気付かない。
[0004] ある特定の実施例は、モバイルデバイスリソース管理システムを備える。システムは各々がサービスの品質(quality of service)モジュールを備える複数のソフトウェアアプリケーションを含むことができ、サービスの品質モジュールは少なくとも1つの動作プロファイル(operational profile)を備える。システムは、グローバル動作プロファイル(global operational profile)を備え、ならびにソフトウェアアプリケーションの動作プロファイルに依存してモバイルデバイスのリソースを割り当てるように構成されたリソース管理モジュールを含むことができる。
[0005] いくつかの実施例においてリソースはローカルハードウェアリソース、ローカルソフトウェアリソース、遠隔ハードウェアリソース、および遠隔ソフトウェアリソースを備える。少なくとも1つのローカルソフトウェアリソースは、少なくとも1つの複数のソフトウェアアプリケーションを備えることができる。いくつかの実施例において、第1のアプリケーションの動作プロファイルは第2のアプリケーションの動作プロファイルを参照する。
[0006] ある特定の実施例において、ローカルハードウェアリソースはトランシーバを備える。いくつかの実施例において、少なくとも1つの動作プロファイルは、少なくとも部分的にトランシーバのビットレートに基づいている。動作プロファイルの少なくとも1つは、復号器用にリソースパラメータを指定することができる。
[0007] 少なくとも1つのソフトウェアアプリケーションは、第1の動作プロファイル、第2の動作プロファイル、および遷移機能(transition function)を備えることができ、その機能は、第1の動作プロファイルから第2の動作プロファイルへの遷移の際に実行される。遷移機能はセキュリティチェックを備えることができる。
[0008] いくつかの実施例において、グローバル動作プロファイルは緊急電力管理に関する要件を指定する。少なくとも1つのアプリケーションは、専用バッテリ管理プロセスを備えることができる。リソース管理モジュールは、ソフトウェアアプリケーションの動作プロファイルに定期的にポーリングする(poll)ように構成されうる。
[0009] また、アクティブプロセスの階層を決定すること、新たなプロセスを求めるリクエストを受信すること、新たなプロセスの動作プロファイルにアクセスすること、および少なくとも新たなプロセスの動作プロファイルに基づいて新たなプロセスを開始すべきかどうかを決定することを備える、ソフトウェアアプリケーションを管理するための方法も開示されている。いくつかの実施例において、新たなプロセスを開始すべきかどうかを決定することは、階層における新たなプロセスの位置を決定することを備える。新たなプロセスを開始すべきかどうかを決定することは、階層における少なくとも1つのプロセスを終了させることを備えることができる。
[0010] いくつかの実施例は、コンピュータプロセッサ上で実行されるように構成されたプログラム命令を備えるコンピュータ可読媒体を備え、その命令は、アクティブプロセスの階層を決定するステップ、新たなプロセスを求めるリクエストを受信するステップ、新たなプロセスの動作プロファイルにアクセスするステップ、少なくとも新たなプロセスの動作プロファイルに基づいて新たなプロセスを開始すべきかどうかを決定するステップ、を実行するように構成される。
[0011] いくつかの実施例は、アプリケーションの好ましいセットの動作制約を指定する手段、グローバルセットの動作制約を指定する手段、および、アプリケーションの指定する手段と前記グローバルの指定する手段との間を調停する(arbitrate)手段を備えるモバイルデバイスのためのリソース管理システムを開示している。前記指定する手段は、拡張マークアップ言語(XML)で表される動作プロファイルを備えることができる。前記指定する手段は、アプリケーションのコードで表される動作プロファイルを備えることができる。いくつかの実施例において、グローバルの指定する手段は、XMLで表されるグローバル動作プロファイルを備える。
[0012] 開示される 実施例の特徴、目的および利点は、同じ参照記号が全体を通して対応して識別する図面と関連して捉えられるとき、以下で述べられる詳細な説明からより明らかになる。
モバイルデバイスおよび、ある特定のローカルおよび遠隔リソースとの様々な関係の1つの実施例のトップレベルのブロック図。 ワイヤレスデバイス内の様々なアプリケーション、それらの互いの関係のいくらか、利用可能なリソースとのそれらの関連、およびリソース管理システムとのそれらの関連のブロック図。 アプリケーションおよびリソース管理モジュールの相関的な構造を描写するモバイルデバイスの概略図。 リソース管理モジュールのある特定の実施例によって用いられる1つのプロセスの論理フロー図。 リソース管理モジュールのある特定の実施例によって用いられる1つのプロセスの論理フロー図。
詳細な説明
[0018] 発明の実施例は、複数のアプリケーションを、それらが電子デバイス内で起動する間、管理するためのシステムおよび方法を含む。各々のデバイスは通常、複数の既定のリソースを有している。1つの実施例において、システムおよび方法は、アプリケーションの開発者の要求仕様(specification)と電子システムのリソース容量との間の電子ネゴシエーションに基づいて各々のアプリケーションの動作を制御する。十分なリソースは、緊急電話の呼び出しおよびバッテリ寿命のような優先されるアプリケーションに、それらがカメラ機能のような重要度のより低い特徴に対して先行するように割り当てられる。アプリケーションが、それらに利用可能なアプリケーション/リソースエコシステムに調整された方法で起動する場合、動作における順序立て(gradation)も可能である。
[0019] 1つの実施例において、リソース消費は、少なくとも部分的にアプリケーション開発者の要求仕様とシステム設計者の要求仕様との間のネゴシエーションを容易にするインタフェースによって、各々のアプリケーションに対して決定される。システム設計者が特定のアプリケーションの最適の動きに関する詳細な知識を有することは必要ない。むしろ、この実施例においては、アプリケーション開発者は、アプリケーションのパフォーマンスに関する特徴の知識を例示する複数の適切な動作プロファイルを指定する。この方法で、システム設計者が各々の開発者のアプリケーションに関する膨大な知識を有すことを要求することなく、アプリケーション開発者およびシステム設計者両方にとって満足いくようなより最適なエコシステムが達成されうる。
[0020] 1つの実施例において、電子デバイスは、その電話内の電子リソースへのアクセスを制御するリソース管理モジュールを含むワイヤレス電話でありうる。そのようなリソースは、メモリスペース、I/Oポート、およびプロセッサタイムを含むことができる。ユーザによって開始される各々のアプリケーションは、ここではサービスの品質(Quality of Service)モジュールと呼ばれ、以下でより詳しく論じられるような、アプリケーションの最適の動きを制御するためのアプリケーション要求仕様のセットを含む。従って、ユーザが特定のアプリケーションを開始するとき、リソース管理モジュールはアプリケーション要求仕様を読み込み、どのように新たなアプリケーションを扱うべきかについての決定を下す。新たなアプリケーションが他の起動中のアプリケーションよりも高い優先順位を有する場合、リソース管理モジュールは、より低い優先順位を有するアプリケーションをシャットダウンすることができる。代わりに、リソース管理モジュールは、より低い優先順位のアプリケーションに利用可能であるリソースを限定し、新たなアプリケーションにフルセットの要求されるリソースを与えることができる。新たなアプリケーションがワイヤレス電話上で起動している他のアプリケーションよりも低い優先順位を有する場合、そのときリソース管理モジュールは、アプリケーションが開始することを許容せず、その代わりに、新たなアプリケーションを開始するには不十分なリソースしかないという通知をユーザに提供することができる。
[0021] 従って、この実施例において、リソース管理モジュールは、アプリケーションの動作の要件、および電子デバイス内でのそれらの優先順位を読み込む。所定の階層の命令のセットを使用して、リソース管理モジュールは、新たに起動しているアプリケーションが、すでにデバイスに存在する他のアプリケーションに対して優先権を有すべきかどうかを決定する。新たなアプリケーションがより高い優先順位を有する場合、そのときリソース管理モジュールは、新たなプログラムが効率的に起動することができるように、他のプログラムへのリソース割り当てを減少させることを開始させ、または、より低い優先順位のアプリケーションを終了させる。リソース管理モジュールはそれによって、システムがリソース制約されるようになり、機能しなくなり始めるようなときまで、システムが新たなアプリケーションを継続的に開始することを防ぐ。
[0022] 図1は、モバイルデバイス105を含むシステム100を例示する。モバイルデバイス105は、メモリ106およびプロセッサ107を有する。メモリ106は、静的メモリ記憶装置、および動的メモリ記憶装置の両方を備えることができる。フラッシュメモリ、ハードドライブ記憶装置などもまた、メモリ106に含まれうる。メモリ106は、さらに、モバイルデバイスに挿入されうる、加入者識別モジュール(SIM)、またはリムーバブルユーザ識別モジュール(R−UIM)も備えることができる。代わりに、モバイルデバイス105は、サービス提供者によってメモリ106の中にプログラムされた構成データに基づいて動作することができる。プロセッサ107は、グラフィックサブプロセッサ、数学コプロセッサ(mathematics coprocessor)、トランスコーディング(transcoding)制御プロセッサなどを含む複数のサブプロセッサを備えることができる。プロセッサ107は、さらに、オペレーティングシステムを含む全てのアプリケーションに対する汎用プロセッサとしての役割も果たすことができる。
[0023] 同時に、プロセッサ107およびメモリ106は、ユーザインタフェース108、デバイスインタフェース109、およびトランシーバ110のような様々な他のデバイスおよびアプリケーションによって、通常オペレーティングシステム(図示せず)を介して使用される。いくつかの実施例におけるユーザインタフェース108は、視覚および聴覚機能と同様に触覚システム、つまり、キーボード、タッチスクリーンディスプレイ、LCD、干渉変調器のアレイ、オーディオの受信および発生(audio reception and generation)などを備えることができる。デバイスインタフェース109は、外部ハードウェアの取り付けのための様々なポートを含むことができる。ユニバーサルシリアルバス(USB)、RS−232シリアル、パラレル、ファイアワイヤなどは全て、デバイスインタフェース109によって収容されうる(accommodate)適切なインタフェース規格の例である。これらのインタフェースは、周辺デバイス102のような、様々な外部ハードウェアに接続するだろう。周辺デバイスの例は、プリンタ、個人健康デバイス(グルコースモニタ)、追加データ記憶装置などを含む。デバイスインタフェース109は、さらに、いくつかの実施例において、ユーザが外部デバイスまたはソフトウェアアプリケーションを通じて選好を設定できるようにコンピュータシステムに接続することができる。モバイルデバイス105は通常、バッテリインタフェース、および1つまたは複数の再充電バッテリまたはバッテリパック(図示せず)の両方を含む。バッテリは、モバイルデバイス105おける電気回路に電力を供給し、バッテリインタフェースはバッテリに対する機械的かつ電気的接続を提供する。
[0024] デバイスインタフェース109は、さらに、モバイルデバイスを更新し、ワイヤレストランシーバ110を通じてソフトウェアおよびメディアをダウンロードするように使用されうる。トランシーバ110は通常、様々なデータのワイヤレス受信および送信の両方のために使用される。別個のトランシーバは、音声およびデジタルデータのために、または送信および受信用の冗長パスを提供するために使用されうる。トランシーバ110は、さらに、赤外線データ協会(IrDA)の通信またはBluetooth(登録商標)通信も含むことができる。トランシーバ110は、3GPP2(第3世代パートナーシッププロジェクト2)規格に従ってCDMA(符号分割多元接続)を通じて通信することができる。さらなるワイヤレス通信システムは、IS−136、IS−95またはIS−833通信システム、移動通信のためのグローバルシステム(GSM(登録商標))通信システム、汎用パケット無線サービス(GPRS)通信システム、ユニバーサルモバイル通信システム(UMTS)通信システム、例えば、802.11、802.15、802.16、または802.20規格のような、IEEE(米国電気電子学会)の802.xx規格によって記述されるようなワイヤレスローカルエリアネットワーク(WLAN)通信システム、または直交周波数分割多重(OFDM)通信システムのような第4世代(4G)通信システムを含む。
[0025] 図1において描写されるように、トランシーバ110は、サーバ101、ネットワーク接続103、および電話サービス接続104のような、様々な遠隔ハードウェアリソースおよびデバイスと通信する。これらのデバイスは、それら自体で、モバイルデバイス105によって利用される遠隔ソフトウェアリソースを有することができる。所与の瞬間に、モバイルデバイス105は、周辺デバイス102、サーバ101、ネットワーク103、および電話サービス接続104の各々から情報を受信している。例えばいくつかの実施例において、モバイルデバイス105は、電話サービス接続104上のユーザ間の呼を管理することと、システム更新のためにサーバ101にポーリングすることと、モバイルメディアプレイヤのような周辺デバイス102から入力を受信することと、ネットワーク接続103から後続のプレイバック用の動画情報を復号することとを同時に行うことができる。加えて、特定のアプリケーションは、さらに、全世界測位システム(GPS)のクライアントおよびカレンダーソフトウェアのような、ローカルソフトウェアリソースが同時に動作中であることを要求しながら、バックライトがトーチとして使用されることや、スピーカフォンがアクティブにされることを要求するような、デバイスのローカルハードウェアリソースを求めている。通常ワイヤレス通信ができないコンピュータまたは他の機器がモバイルデバイスに接続するように適応されうることもまた考慮される。そのような事例において、各々のアプリケーションに関する結果として生じる優先順位および利用可能なリソースは劇的に変化しうる。特に関連するのは、一度モバイルデバイスがドッキングステーションに配置されると十分に利用可能になりうる電力であろう。
[0026] さらに、アプリケーションの動作上の制約は、エコシステムの閉ざされた領域(ecosystem’s closed universe)の機能のみではない。時間、使用、および変化する外部条件に伴い、様々なアプリケーションが互いに先行することができる。例えば、引き伸ばされたモバイルデバイスの使用は、トランシーバ110が過度の使用でヒートアップするときのように、リソースの使用に不利に影響を及ぼすことがある。トランシーバ110の温度は、ある特定の規定のパラメータの範囲を超えた場合、トランシーバ110は望ましくない信号雑音を発し、従ってRF基準のアプリケーションは引き下げられた優先順位を与えられるべきである。同様に、モバイルデバイスの再充電バッテリの温度が非常に長い間、ある特定の規定のパラメータの範囲を超えて上がり、バッテリは永続的なダメージを経験しうる。従ってモバイルデバイス105は、さらに、1つまたは複数の温度センサおよびバッテリ電圧センサ(図示せず)を含むことができる。例えば、サーミスタは、バッテリ、バッテリパック、トランシーバ110、プロセッサ107、および他のコンポーネントの温度変化を検出するように使用されうる。温度、電流、および電圧センサは、ローカルにしきい値を決定し、または直接プロセッサに接続されうる。
[0027] 図1において提示されるリソースに加えて、当業者(one)は、これらのモバイルデバイスに共通の他のリソースおよび従属物を容易に認識することになる。例えば、多くのソフトウェアアプリケーションは他のソフトウェアアプリケーションに依存する。例えば、オペレーティングシステムにおける低いレベルのサービス提供プロセス(servicing process)が、それらの特徴のいくらかを裏付ける(instantiate)または支援するために様々なアプリケーションによって依拠されうる。アプリケーションは、さらに、様々なリソースパラメータにポーリングするための、および適正な情報を取り出すための(例えば、ビットレートのような、復号器またはトランシーバのリソースパラメータにポーリングするための)他のプロセスにも依拠することができる。必然的に、アプリケーション開発者は実行時に全ての可能性のあるエコシステム構成を予測することはできない。
[0028] 従って、独立したモジュールとしてまたはプロセッサ107上で動作されるプロセスとして、中央リソース管理モジュール(RMM(Resource Manager Module))208は、アプリケーション開発者の好ましいモードの操作のどれが実施されるべきかを命令するために使用されることになる設計制約(designer constraint)を指定する。それらの部分に関してアプリケーション開発者は、RMMとのネゴシエーションに基づいて、RMMとインタフェースで接続し、様々なレベルの動作で起動する(または全く起動しない)ようにそれらのアプリケーションを設計する。RMMによって課された制約を満たすことができないアプリケーションは終了させられる。このように、RMMは、ある時間期間に渡るのと同様に所与の瞬間におけるリソースへの要求を効率的に制限することができる。
[0029] 図2は、モバイルデバイス内の様々なモジュール、およびそれらの互いの、ならびにRMM208との関係のいくらかを備えるモバイルデバイスリソース管理システムを例示している。当業者(one)は、RMM208はいくつかの実施例においてメモリ106とは別個で図示されているけれども、RMM208は、メモリ106において記憶され、かつプロセッサ107によって実行されるソフトウェアまたはファームウェアを備えるだろうことは容易に認識するであろう。同様に、RMM208と複数のアプリケーション/プロセッサ201との間の関係は、独立したモジュールを通じて、またはプロセッサ107およびメモリ106を通じて生じうる。一般的に言えば、モバイルデバイス105は、様々な開発者によって作られるメモリ106内に記憶される複数のアプリケーション201、そのいくつかはオペレーティングシステムの一部を含んでおり、およびその他を備える。アプリケーションはそれら自体が、マルチスレッドの環境で様々な機能を実行する、1つまたは複数のプロセスを備える。このアプリケ―ション全体を通じて、アプリケーションが単一のプロセスまたは多くの様々なプロセスを備えうるので、プロセス管理それ自体がアプリケーション管理の形態であるように2つの用語が交換可能に使用される。各々のアプリケーション/プロセス202a−cは、1つまたは複数のサービスの品質モジュール(QoSモジュール203a−203c)と関連することができる。図2に図示されている特定の実施例において、別個のQoSモジュール203a−cは別個のプロセス202a−cと関連する。QoSモジュールは、システム設計者または他の中央エンティティによって発行されたガイドラインに基づいて、アプリケーション/プロセスの各々の開発者によって書き込まれており、アプリケーションが自発的に起動しようとする構成を指定する。これらの構成の各々は、所与のレベルの動作のために好ましいリソースが利用可能であること(preferred resource availability)も含むことができる「動作プロファイル(operational profile)」として称される。動作プロファイルは、XML、SQLデータベース、内部ソフトウェアデータ構造(アプリケーションコードの一部)などを含む多様なスキームで表されうる。動作プロファイルは、アプリケーションの好ましいセットの動作制約を指定する1つの可能性のある手段としての役目をする。QoSモジュールの機能は、図3に関して以下で詳しく論じられることになる。「モジュール」と称されるけれども、QoSモジュールは、いくつかの実施例において、動作プロファイルの集合を備えることができる。
[0030] リソース管理モジュール208は、アプリケーション/プロセス201および複数のリソース205、206と相互動作するツールの集合を備える。リソースインタフェース209は、アプリケーション/プロセスの各々に関心がある様々なリソースを識別およびモニタリングする。アービトレーションモジュール(arbitration module)204は、各々のプロセスのQoSモジュール、利用可能なリソース、および概してモバイルデバイスの望ましい動作を指定する「グローバル動作プロファイル」のうちの少なくとも1つに基づいて所与のエコシステムの適切な動作に関する決定を下す。グローバル動作プロファイルは、さらに、XML、SQLデータベース、内部ソフトウェアデータ構造(アプリケーションコードの一部)などを含む多様なスキームで表されうる。グローバル動作プロファイルは、グローバルセットの動作制約を指定する1つの可能性のある手段としての役目をする。アービトレーションモジュール204の機能は、さらに、図3に関して以下で詳しく論じられることになる。
[0031] リソース205、206は、ローカルリソース205a−bおよび遠隔リソース206a−bの両方を備える。言及されるように、ローカルリソースは、さらに、アプリケーション/プロセス201も備えることができる。リソースインタフェース209は、ローカルリソース205a−bおよび遠隔リソース206a−bの両方をモニタリングして、その決断においてアービトレーションモジュール204をサポートする。当業者(one)は、ソフトウェアコールバック、通知キュー(notification queue)、ハードウェア割り込みなど、またはそれらの様々な組み合わせのどちらかを使用してリソースにポーリングすることを含む、インタフェース209をインプリメントするための多くの方法を認識することになる。
[0032] 図3は、リソース管理モジュール208とプロセス202aとの間の関係をより詳しく例示している。リソース管理モジュール208は、複数のグローバル動作プロファイル301a−dを備える。グローバル動作プロファイルは、システム設計者によって指定されうるが、ある特定の実施例は、グローバル動作プロファイルを作る、または指定するデバイスユーザもしくは第3のディストリビュータ(distributer)を考慮する。各々のグローバル動作プロファイルは、エコシステムを渡って適用、または特定の状況のために調整されうる動作のためのある特定の一般的な規格を概説する。例えば、グローバル動作プロファイルは、ある特定のプロセスが他のプロセスに対する優先権を受信しなければならないかどうかを指定するだろう。グローバル動作プロファイルは、さらに、優先のプロセスに対する不可欠で最小のリソース割り当ても指定することができる。動作中、グローバル動作プロファイルは、各々のプロセスのために使用されるべき動作プロファイル、またはプロセスが終了させられるべきかどうかを決定するために、電子デバイス内のエコシステムと比較されうる。新たなプロセスの動作プロファイルは、同様にグローバル動作プロファイルの点から考慮されるだろう。許容できる動作プロファイルが存在する場合、そのプロセスは起動され、そうでなければ、その動作は、おそらく無期限に保留されることになる。リソース管理モジュールと様々なプロセス/アプリケーションとの間のネゴシエーションは、エコシステムの最適な再割り当て、および各々のプロセスの動作プロファイルの選択を決定するために生じうる。そのような再割り当ては、ユーザによって、新たなグローバル動作プロファイルの選択または指定によって始動されうる。いくつかの実施例において、アービトレーションモジュール204は、特にこれらのネゴシエーションを容易にするために設計される。アービトレーションモジュール204は、そのことに関して、アプリケーションの動作プロファイルとグローバル動作プロファイルとの間をアービトレートするための1つの可能性のある手段としての役割を果たす。この比較およびネゴシエーションは以下でより詳しく説明される。
[0033] 言及されるように、アプリケーション/プロセス202aは、さらに、1つまたは複数の動作プロファイル302a−cを備える。動作プロファイルは、モバイルデバイスのオペレーティングソフトウェア、または内部ファームウェアと接続して供給されるAPIを参照してアプリケーション開発者によって作られる。エコシステムの一般的な動作に関連することよりもむしろ、各々の動作プロファイル302は、所与のレベルの動作のために要求されるリソース特性の範囲を指定する。例えば、プロセス202aがビデオをディスプレイにレンダリングすることに関連する場合、低い解像度が第2のセットの低いしきい値で値を要求するだけでありうるのに対し、高い解像度のディスプレイは第1のセットのしきい値でバス帯域幅およびプロセッサが利用可能なことを要求することができる。動作プロファイル302a−cは、これらの条件の各々(様々なリソースA、B、Cのパラメータに対する最小レベル1、2、3など)を指定する。APIは、さらに、プロセスが動作プロファイル間の遷移を通知されるようにプロトコルを提供することができる。このように、プロセスは「シャットダウン」動作を実行、または機能のグレースフルデグラデーション(graceful degradation)を提供するために「遷移機能(transition function)」を呼び出すことができる。そのような呼は、さらに、アプリケーションが安全でない方法では動作を中止しないけれども終了前に様々な「ハウスクリーニング(house cleaning)」動作を実行する安全な退去(dismissal)を容易にすることができる。加えてプロセス202aは、リソースパラメータに基づいて動作にアクセスするときに開発者によって生成されるパフォーマンスメトリック303を参照する、または備えるサービスの品質(QoS)モジュール203aにリンクされうる。
[0034] 2つの例が提供される。
緊急呼び出し
[0035] バッテリ電力は、モバイルデバイスの最も重要なリソースの1つを備える。グローバル動作プロファイルは、様々なプロセスの電力要件に関わらず、緊急呼び出しが出されうるように十分な電力が常にとどまらなければならないことを指定することができる。緊急「テキストメッセージ」または呼び出しがなされるべきかどうかはそれ自体がグローバル動作プロファイルにおいて指定されうる。どちらのイベントにおいても、全てのプロセスが、この目的を維持するのに適切なプロファイルで導入され、起動される。通信の受信は、それでも許容されうるけれどもより不利な条件上に抑止されうる。結果としてシステムは、いずれの非緊急通信または機能(例えば、インスタントメッセージ、インターネットブラウジングなど)を許容しない。トランシーバ110および周辺インタフェース109は電源が切られうる、そしてその使用を要求する動作プロファイルを有するのみのプロセスは終了させられることになる。
[0036] 様々な適切な動作プロファイルの割り当てが、モバイルデバイスが動作中である間、この「緊急状態」に先立ってなされうることは留意されたい。緊急リザーブ(emergency reserve)のための要件は、定期的に再発するネゴシエーションプロセスの間に考慮される多くの制約のうちの1つでしかないだろう。
[0037] さらなる機能が、グローバル動作プロファイルおいて認められる制約の定義において考慮されうる。例えば、モバイルデバイスは時々、緊急呼び出しが終了されられた後に数分間続く緊急コールバック期間に入る。このことは公共安全応答ポイント(Public Safety Answer Point)(PSAP)がユーザの場所を確認できるようにする。このような考慮は、グローバル動作プロファイルの動作に含まれるだろう。システム設計者によって作られる特定の「専用バッテリ管理プロセス」はこれらの動作を管理すること、および緊急電力管理を提供することに専用でありうる。そのようなプロセスは、タイムクリティカルな(time-critical)ユーザ入力の必要性を制限こと、ならびにユーザインタフェース108またはトランシーバ110が汎用メッセージのために使用するだろう電力を節約することの両方のための「予め築かれた機能」および「既定の緊急メッセージ」を含むことができる。
加入メディアサービス
[0038] 別の例において、アプリケーション開発者は、ペイパービュー方式(pay−per−view)に基づいて、動画のようなメディアをモバイルデバイスのユーザに提供する加入サービスである。「ペイバービュー方式」は、モバイルデバイス上にローカルに記憶されることになるものではないが遠隔ロケーションからリアルタイムに送信される時間依存のメディアの集合を備えるだろう。そのようなサービスシステムは、ユーザがプロバイダによって課された分配制限を乱用、または回避することがないことを確証するために適切な認証およびセキュリティサービスを要求する。いくらかのユーザは、彼らが適切に支払ったマテリアルの視聴を妨害する正真正銘の電力または送信問題を経験しうるのに対し、より悪質なユーザ(more malicious users)が、彼らが一度の視聴にしか支払っていないメディアをリプレイする意図を持ってそのようなイベントをシュミレートすることができる。理論的に言えばシステムはこの2つの間を区別することができる。
[0039] アプリケーション開発者は、リソース(電力、帯域幅)が利用不可能になると、デグラデーションの完全な記録がセキュリティチェックの一部としてローカルに、または遠隔に、のどちらかで記憶および/またはモニタリングされるように、動作プロファイルおよび付随する遷移機能を提供するだろう。リソースが再び利用可能になり、ユーザが、メディアがリプレイされることを要求するとき、アプリケーションは、どれほどの視聴時間が適切にユーザに与えられるべきかを決定するためにログを参照することができる。収入を発生させるために広告を使用するシステムは同様に、要求された広告がメディアを提供する前に再生されていることを確証するためにそのシステムを使用することができる。
[0040] これらの全ての例から明確であるように、リソース管理モジュールそれ自体は、前もって考えられたアプリケーションの「パフォーマンス」の概念または「品質」のコンセプトを有さない場合がある。むしろ、その代わりに、所与のセットのリソースが利用可能であるときに使用されうる機能および関連する動作プロファイルを定義することは、アプリケーションの開発者にゆだねられる。つまり、いずれのリソースパラメータが適切であるか、ならびに、アプリケーションを全く起動しないでおくほどリソースが不十分であるときを決定するのは、開発者である。
[0041] ある特定の実施例においてネゴシエーションは、リソース管理モジュールがまず優先のプロセスを通じて反復し、グローバル動作プロファイルの要求仕様の点からそれがそれらの動作のためにどのリソースをリザーブすることになるかを決定することによって進行する。一度最小の条件が優先のプロセスのために知られると、リソース管理モジュールはその後、すでに起動している、または起動されることを要求している優先でないプロセスを調べるだろう。リソース管理モジュールは、様々なリソースのステータスをプロセスに示すことができる、またはプロセスはそれ自体で決定を下すことができる。どちらのイベントにおいても、プロセスは、好ましい動作プロファイルのリソース要件をリソース管理モジュールに示すことになる。これらの好ましい条件を受信して、リソース管理モジュールは、グローバル動作プロファイルに基づいて、使用傾向およびユーザの選好を優先順位付け(triage)し、動作プロファイルが許容できること、またはより少ないリソースの強力な代わり(a less resource intensive alternative)が使用されるべきことをプロセスに示すことができる。後者の場合、その後プロセスはより適切な動作プロファイルで応答することになる。代わりのプロファイルが存在しない、つまりプロセスが、それが自発的に考慮する動作プロファイルの全てを通じて反復した場合、その後プロセス、またはリソース管理モジュールはプロセスのグレースフルな(graceful)終了を開始することができる。このように、前に記述されたメディアプログラムは、例えば、高い解像度を有する高輝度ディスプレイを、高い解像度を有する薄暗いディスプレイへ、低い解像度を有する薄暗いディスプレイへ、最終的にはグレースフルな終了を実行するために必要な最小のリソースへ向かうように要求するプロファイルを介して遷移することができる。理論的に言うと、システムは、場合によっては、ユーザを促して、プロセスを終了させることに先立ってグローバル動作プロファイルを調整する機会を彼らに提供する。そのような通知は、リソース管理モジュールまたはアプリケーション主導の下でもたらされうる。場合によっては、システムは他と比較して1つのグローバル動作プロファイルを選択することになる結果をユーザに通知することができる。リソース管理モジュールのアクティビティは、さらに、(例えば、配偶者または子供の1人が互いにモバイルデバイスを共有する場合)現在アクティブのユーザプロファイルによって命令されうる。線形プログラミングまたは制約を基準とした分析アルゴリズムは、最適なソリューションエコシステムが様々なアプリケーションの制約を与えられることを識別するために使用されうる。当業者は、ソフトウェアコールバック、ハードウェアインタラプト、定期的なポーリング、または様々な組み合わせのシステムが多くのプロセスの間でネゴシエーションを遂行するために使用されうることを容易に認識するだろう。留意されるように、ユーザは各々のアプリケーションに関する特定の選好を指定することができる。
[0042] 以下で、新たなプロセスの導入に関する2つの可能性のある実施例が説明される。当業者はこれらの方法への多くの変更を容易に認識し、これらが単に一般的な手法を示し、これらのステップがここで示されている様々な順序で実行され、ある特定のステップは完全に省かれうることを理解することになる。図4は、例えば、新たなプロセスが全体の順序付けの一部として識別され、大規模なネゴシエーションの代わりに最適のエコシステムを発見するために反復して取り除かれる、「トライアンドダイ(try−and−die)」プロセス400を例示している。プロセス400は、開始状態401で始まり、その後、RMMが、通常グローバル動作プロファイルの要件に関連してプロセスの階層を定義する状態402に移動する。この階層は、全ての入ってくるプロセス、およびアクティブのプロセスの全体の順序付けを可能にする。当業者は、プロセス間の全ての順序が簡略化のために説明されているけれども、部分的な順序、または細かな(granular)ルールセットを含むための変更が容易に考案されうることを認識することになる。
[0043] プロセス400はその後、状態403で特定の動作プロファイルを起動することを望む別の新たなプロセスによるリクエストを受信する。新たなプロセスが状態403で挿入をリクエストするとき、RMMが、新たなプロセスが階層においていずれの現在起動中のプロセスよりも高いポジションに配置されたかどうかを決定状態404で決定することができるように、望ましい動作プロファイルがそのリクエストと共に含まれる。この決定、および階層における新たなプロセスの配置は通常、新たなプロセスにおいて利用可能な動作プロファイル、ユーザの個人設定、およびグローバルファイルを参照して(つまり、プロセスの動作プロファイルにアクセスして)なされるだろう。新たなプロセスのランキングが、決定状態404において、いずれの現在起動中のプロセスよりも高くない場合、そのときプロセス400は新たなプロセスが開始されない状態405に移動する。当業者は、例えば、提案された動作プロファイルが最低の起動中のプロセスの最低の動作プロファイルよりも効率的なシステムを提供したかどうかを決定する、決定状態404における代わりの決定を容易に認識することができる。あるいは、プロセスが起動されるけれどもリクエストされたものとは別の第2の動作プロファイルを使用する。
[0044] 新たなアプリケーションが階層において少なくとも1つの起動中のプロセスよりも高くランク付けられる決定が、決定状態404において下される場合、最低の起動中のプロセスは状態406において終了させられ、起動中のプロファイルの結果として生じるQoSがグローバル動作プロファイルと一致するかどうかという決定が決定状態407において下される。十分なQoSが決定状態407において利用可能でない(つまり、1つまたは複数のプロセスが、グローバル動作プロファイルの要件と反目する動作プロファイルを使用しなければならない)場合、プロセス400は、新たなアプリケーションがいずれの他の起動中のアプリケーションよりも高いレベルであるかどうかの決定が下される決定状態404に戻る。この方法は、適切なQoSが達成されるまで、または新たなプロセスが階層において最低であり、起動することを妨げられるまで、終了させるプロセスを繰り返す。
[0045] 決定状態407でグローバル動作プロファイルおよび利用可能なリソースの制約に基づいて、必要なだけのプロセスが代わりに十分なQoSを提示している(つまり、それらが、それらが満足する動作プロファイルを識別した)場合、そのとき新たなプロセスが開始される。プロセス400はその後、リソースが、新たなプロセスを開始するために、プロセス間で再割り当てされ、または動的に決定されうる状態411に移動する。新たなプロセスが、状態412においてリクエストされた動作プロファイルで起動されうる。最後に、動作プロファイルおよびグローバル動作プロファイルは、プロセス400が終了状態409で止まる前に、状態413において必要に応じて更新されうる。
[0046] 図5は、既存のプロセスが新たなプロセスに対して好まれる、さらに別の「予測的」手法を例示している。プロセス500は、開始状態501で始まり、その後、アクティブプロセスの階層がグローバル動作プロファイルに基づいて決定される状態502に移動する。プロセス500はその後、新たなプロセスを求めるリクエストが受信される状態503に移動する。プロセス500は、次に決定状態505に移動し、動作プロファイルのいずれかが現在のグローバル動作プロファイルを満たすことになるかどうかを決定するために新たなプロセスの動作プロファイルを調べる。1つの実施例において、プロセスは、さらに、既存のプロセスのプロファイルを再考することができる。適切な動作プロファイルが、決定状態505において、新たなプロセス内に見つけられることができない場合、または既存のプロセスのどれもグローバル動作プロファイルに基づいて新たな動作プロファイルに向けられることができない場合、プロセス500は、新たなプロセスが起動されないことになる状態504に移動する。しかしながら、適切な選択が可能である場合、プロセス500は、システムの階層における新たなプロセスの位置を決定するための状態506に移動する。プロセス500はその後、リソースがプロセス間で再割り当てされる状態507に移動する。1つの実施例において、リソースは適切な動作プロファイルの選択によって割り当てられる。新たなプロセスは次に、状態508において、適切な動作プロファイルと共に起動されうるが、一度裏付けられる(instantiated)と、新たなプロファイルが状態509において各々のプロセスのQoSに基づいて選択または更新されうる。裏付け後の後続の再割り当ては、予期されない副作用の場合に必要であることがある。動作はその後、終了状態510で終了し、システムは次のプロセスの導入を待つ。
[0047] 従って、様々なリソース間で様々なアプリケーションを導く新たなかつ改善された方法および装置が記述されている。当業者は、ここで開示された実施例と関係して記述されている様々な実例となる論理ブロック、モジュール、回路、アルゴリズムステップが電子ハードウェア、コンピュータソフトウェアまたは両方の組み合わせとしてインプリメントされうることを理解するであろう。様々な実例となるコンポーネント、ブロック、モジュール、回路、およびステップは、それらの機能の点から一般的に記述されてきた。ハードウェア、または、ソフトウェアとして機能がインプリメントされるかどうかは、特定のアプリケーションとシステム全体に課された設計制約とに依存する。当業者は、これらの状況下でハードウェアとソフトウェアが交換可能であること、および各々の特定のアプリケーションのために記述された機能をインプリメントすることがどれほど最善であるかを認識する。例として、ここで開示される実施例と関係して記述された様々な実例となる論理ブロック、モジュール、回路、およびアルゴリズムステップが、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または他のプログラマブル論理デバイス、ディスクリートゲートまたはトランジスタ論理、例えば、レジスタおよびFIFOのようなディスクリートハードウェアコンポーネント、ファームウェア命令のセットを実行するプロセッサ、任意の従来のプログラマブルソフトウェアモジュールおよびプロセッサ、またはそれらの任意の組み合わせと共にインプリメントまたは実装されうる。プロセッサはマイクロプロセッサでありうるが、代わりとして、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンでありうる。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD−ROM、または、当技術分野において周知の記憶媒体の任意の他の形態に存在しうる。当業者は、上記の記述全体を通して参照されうるデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場または磁性粒子、光場または光粒子、またはこれらの任意の組み合わせによって示されることをさらに認識するだろう。
[0048] いずれの 当業者も開示された実施例を実施および使用することを可能にするために、好ましい実施例の前述の記述が提供される。これらの実施例に対する様々な変更は当業者には容易に明らかになり、ここで定義された包括的な原理は、発明力の使用なしに他の実施例に適用されうる。従って開示された実施例は、ここで提示された実施例に制限されることを意図せず、ここに開示された原理および新規な特徴と合致する最も広い範囲が与えられるべきである。
[0048] いずれの当業者も開示された実施例を実施および使用することを可能にするために、好ましい実施例の前述の記述が提供される。これらの実施例に対する様々な変更は当業者には容易に明らかになり、ここで定義された包括的な原理は、発明力の使用なしに他の実施例に適用されうる。従って開示された実施例は、ここで提示された実施例に制限されることを意図せず、ここに開示された原理および新規な特徴と合致する最も広い範囲が与えられるべきである。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1] 各々がサービスの品質モジュールを備える複数のソフトウェアアプリケーションであって、前記サービスの品質モジュールは少なくとも1つの動作プロファイルを備える、複数のソフトウェアアプリケーションと、
グローバル動作プロファイルを備え、かつ前記ソフトウェアアプリケーションの前記動作プロファイルに依存して前記モバイルデバイスのリソースを割り当てるように構成されたリソース管理モジュールと
を備える、モバイルデバイスリソース管理システム。
[C2] 前記リソースは、ローカルハードウェアリソース、ローカルソフトウェアリソース、遠隔ハードウェアリソース、および遠隔ソフトウェアリソースを備える、C1に記載のシステム。
[C3] 少なくとも1つ前記ローカルソフトウェアリソースは、少なくとも1つ前記複数のソフトウェアアプリケーションを備える、C2に記載のシステム。
[C4] 第1のアプリケーションの動作プロファイルは、第2のアプリケーションの動作プロファイルを参照する、C3に記載のシステム。
[C5] 前記ローカルハードウェアリソースは、トランシーバを備える、C2に記載のシステム。
[C6] 少なくとも1つの前記動作プロファイルは、少なくとも部分的に前記トランシーバのビットレートに基づいている、C5に記載のシステム。
[C7] 少なくとも1つの前記動作プロファイルは、復号器用のリソースパラメータを指定する、C6に記載のシステム。
[C8] 少なくとも1つのソフトウェアアプリケーションは、第1の動作プロファイル、第2の動作プロファイル、および遷移機能を備え、前記機能は、前記第1の動作プロファイルから前記第2の動作プロファイルへの遷移の際に実行される、C1に記載のシステム。
[C9] 前記遷移機能は、セキュリティチェックを備える、C8に記載のシステム。
[C10] 前記グローバル動作プロファイルは、緊急電力管理に関する要件を指定する、C1に記載のシステム。
[C11] 少なくとも1つのアプリケーションは、専用バッテリ管理プロセスを備える、C10に記載のシステム。
[C12] 前記リソース管理モジュールは、前記ソフトウェアアプリケーションの前記動作プロファイルに定期的にポーリングするように構成される、C1に記載のシステム。
[C13] アクティブプロセスの階層を決定することと、
新たなプロセスを求めるリクエストを受信することと、
前記新たなプロセスの動作プロファイルにアクセスすることと、
少なくとも前記新たなプロセスの前記動作プロファイルに基づいて前記新たなプロセスを開始すべきかどうかを決定することと、
を備える、ソフトウェアアプリケーションを管理するための方法。
[C14] 前記新たなプロセスを開始すべきかどうかを決定することは、前記階層における前記新たなプロセスの位置を決定することを備える、C13に記載の方法。
[C15] 前記新たなプロセスを開始すべきかどうかを決定することは、前記階層における少なくとも1つのプロセスを終了させることを備える、C13に記載の方法。
[C16] コンピュータプロセッサ上で実行されるように構成されるプログラム命令を備えるコンピュータ可読媒体であって、前記命令は、
アクティブプロセスの階層を決定するステップと、
新たなプロセスを求めるリクエストを受信するステップと、
前記新たなプロセスの動作プロファイルにアクセスするステップと、
少なくとも前記新たなプロセスの前記動作プロファイルに基づいて前記新たなプロセスを開始すべきかどうかを決定するステップと、
を実行するように構成される、コンピュータ可読媒体。
[C17] アプリケーションの動作制約の好ましいセットを指定する手段と、
動作制約のグローバルセットを指定する手段と、
前記アプリケーションの指定する手段と前記グローバルの指定する手段との間を調停する手段と、
を備える、モバイルデバイスのためのリソース管理システム。
[C18] 前記アプリケーションの指定する手段は、XMLで表される動作プロファイルを備える、C17に記載のシステム。
[C19] 前記アプリケーションの指定する手段は、前記アプリケーションのコードで表される動作プロファイルを備える、C17に記載のシステム。
[C20] 前記グローバルの指定する手段は、XMLで表されるグローバル動作プロファイルを備える、C17に記載のシステム。

Claims (20)

  1. 各々がサービスの品質モジュールを備える複数のソフトウェアアプリケーションであって、前記サービスの品質モジュールは少なくとも1つの動作プロファイルを備える、複数のソフトウェアアプリケーションと、
    グローバル動作プロファイルを備え、かつ前記ソフトウェアアプリケーションの前記動作プロファイルに依存して前記モバイルデバイスのリソースを割り当てるように構成されたリソース管理モジュールと
    を備える、モバイルデバイスリソース管理システム。
  2. 前記リソースは、ローカルハードウェアリソース、ローカルソフトウェアリソース、遠隔ハードウェアリソース、および遠隔ソフトウェアリソースを備える、請求項1に記載のシステム。
  3. 少なくとも1つ前記ローカルソフトウェアリソースは、少なくとも1つ前記複数のソフトウェアアプリケーションを備える、請求項2に記載のシステム。
  4. 第1のアプリケーションの動作プロファイルは、第2のアプリケーションの動作プロファイルを参照する、請求項3に記載のシステム。
  5. 前記ローカルハードウェアリソースは、トランシーバを備える、請求項2に記載のシステム。
  6. 少なくとも1つの前記動作プロファイルは、少なくとも部分的に前記トランシーバのビットレートに基づいている、請求項5に記載のシステム。
  7. 少なくとも1つの前記動作プロファイルは、復号器用のリソースパラメータを指定する、請求項6に記載のシステム。
  8. 少なくとも1つのソフトウェアアプリケーションは、第1の動作プロファイル、第2の動作プロファイル、および遷移機能を備え、前記機能は、前記第1の動作プロファイルから前記第2の動作プロファイルへの遷移の際に実行される、請求項1に記載のシステム。
  9. 前記遷移機能は、セキュリティチェックを備える、請求項8に記載のシステム。
  10. 前記グローバル動作プロファイルは、緊急電力管理に関する要件を指定する、請求項1に記載のシステム。
  11. 少なくとも1つのアプリケーションは、専用バッテリ管理プロセスを備える、請求項10に記載のシステム。
  12. 前記リソース管理モジュールは、前記ソフトウェアアプリケーションの前記動作プロファイルに定期的にポーリングするように構成される、請求項1に記載のシステム。
  13. アクティブプロセスの階層を決定することと、
    新たなプロセスを求めるリクエストを受信することと、
    前記新たなプロセスの動作プロファイルにアクセスすることと、
    少なくとも前記新たなプロセスの前記動作プロファイルに基づいて前記新たなプロセスを開始すべきかどうかを決定することと、
    を備える、ソフトウェアアプリケーションを管理するための方法。
  14. 前記新たなプロセスを開始すべきかどうかを決定することは、前記階層における前記新たなプロセスの位置を決定することを備える、請求項13に記載の方法。
  15. 前記新たなプロセスを開始すべきかどうかを決定することは、前記階層における少なくとも1つのプロセスを終了させることを備える、請求項13に記載の方法。
  16. コンピュータプロセッサ上で実行されるように構成されるプログラム命令を備えるコンピュータ可読媒体であって、前記命令は、
    アクティブプロセスの階層を決定するステップと、
    新たなプロセスを求めるリクエストを受信するステップと、
    前記新たなプロセスの動作プロファイルにアクセスするステップと、
    少なくとも前記新たなプロセスの前記動作プロファイルに基づいて前記新たなプロセスを開始すべきかどうかを決定するステップと、
    を実行するように構成される、コンピュータ可読媒体。
  17. アプリケーションの動作制約の好ましいセットを指定する手段と、
    動作制約のグローバルセットを指定する手段と、
    前記アプリケーションの指定する手段と前記グローバルの指定する手段との間を調停する手段と、
    を備える、モバイルデバイスのためのリソース管理システム。
  18. 前記アプリケーションの指定する手段は、XMLで表される動作プロファイルを備える、請求項17に記載のシステム。
  19. 前記アプリケーションの指定する手段は、前記アプリケーションのコードで表される動作プロファイルを備える、請求項17に記載のシステム。
  20. 前記グローバルの指定する手段は、XMLで表されるグローバル動作プロファイルを備える、請求項17に記載のシステム。
JP2015157378A 2010-10-26 2015-08-07 アプリケーション特有のリソース管理 Expired - Fee Related JP6022647B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/912,409 US20120102200A1 (en) 2010-10-26 2010-10-26 Application specific resource management
US12/912,409 2010-10-26

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2013536705A Division JP5972890B2 (ja) 2010-10-26 2011-10-24 アプリケーション特有のリソース管理システム、リソース管理方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2016015149A true JP2016015149A (ja) 2016-01-28
JP6022647B2 JP6022647B2 (ja) 2016-11-09

Family

ID=44908129

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2013536705A Expired - Fee Related JP5972890B2 (ja) 2010-10-26 2011-10-24 アプリケーション特有のリソース管理システム、リソース管理方法およびプログラム
JP2015157378A Expired - Fee Related JP6022647B2 (ja) 2010-10-26 2015-08-07 アプリケーション特有のリソース管理

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2013536705A Expired - Fee Related JP5972890B2 (ja) 2010-10-26 2011-10-24 アプリケーション特有のリソース管理システム、リソース管理方法およびプログラム

Country Status (5)

Country Link
US (1) US20120102200A1 (ja)
EP (1) EP2633405B1 (ja)
JP (2) JP5972890B2 (ja)
CN (1) CN103189843B (ja)
WO (1) WO2012058170A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8719112B2 (en) * 2009-11-24 2014-05-06 Microsoft Corporation Invocation of accessory-specific user experience
US7865629B1 (en) * 2009-11-24 2011-01-04 Microsoft Corporation Configurable connector for system-level communication
EP2551781A1 (en) * 2011-07-29 2013-01-30 British Telecommunications Public Limited Company Data analysis system
US10275593B2 (en) * 2013-04-01 2019-04-30 Uniquesoft, Llc Secure computing device using different central processing resources
US10025905B2 (en) * 2013-09-03 2018-07-17 Qualcomm Incorporated Communication device resource allocation based on medical data criticality and resource status
US10193964B2 (en) 2014-05-06 2019-01-29 International Business Machines Corporation Clustering requests and prioritizing workmanager threads based on resource performance and/or availability
CN104038540B (zh) * 2014-06-03 2017-03-22 山东乾云启创信息科技股份有限公司 一种应用代理服务器自动选择方法及系统
US10664052B2 (en) * 2015-07-01 2020-05-26 Samsung Electronics Co., Ltd. Method for providing feedback and an electronic device thereof
CN107220077B (zh) 2016-10-20 2019-03-19 华为技术有限公司 应用启动的管控方法和管控设备
KR20180057036A (ko) * 2016-11-21 2018-05-30 삼성전자주식회사 효율적인 리소스 관리를 위한 전자 장치 및 이의 방법
KR102092948B1 (ko) * 2017-09-14 2020-03-24 주식회사 케이티 앱의 리소스를 관리하는 서버 및 사용자 단말
US11200330B2 (en) 2018-08-01 2021-12-14 Red Hat, Inc. Secure storage access through rate limitation
KR102234129B1 (ko) * 2019-04-24 2021-04-02 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. 분산 자원 할당
CN112136111B (zh) 2019-04-24 2024-04-16 创新先进技术有限公司 分布式资源分配
JP7383918B2 (ja) * 2019-07-16 2023-11-21 日本電気株式会社 資源割り当て制御装置、資源割り当て制御方法、及び、資源割り当て制御プログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004508611A (ja) * 2000-05-02 2004-03-18 マイクロソフト コーポレイション リソースマネージャアーキテクチャ
JP2005100387A (ja) * 2003-09-02 2005-04-14 Toshiba Corp 計算機システム及びクラスタシステム用プログラム
JP2005141726A (ja) * 2003-09-25 2005-06-02 Ricoh Co Ltd マルチメディア処理を分散化するためのハードウェア及びソフトウェアインタフェースを備える独立型プリンタ
JP2005242631A (ja) * 2004-02-26 2005-09-08 Matsushita Electric Ind Co Ltd アプリケーション切替方法、アプリケーション切替装置及びその装置を搭載した携帯電話
WO2010039428A2 (en) * 2008-09-30 2010-04-08 Microsoft Corporation Data-tier application component fabric management

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6775320B1 (en) * 1999-03-12 2004-08-10 Aware, Inc. Method and a multi-carrier transceiver supporting dynamic switching between active application sets
US20020022453A1 (en) * 2000-03-31 2002-02-21 Horia Balog Dynamic protocol selection and routing of content to mobile devices
US7137119B1 (en) * 2000-05-02 2006-11-14 Microsoft Corporation Resource manager architecture with resource allocation utilizing priority-based preemption
US7143413B2 (en) * 2002-05-15 2006-11-28 Hewlett-Packard Development Company, L.P. Method and system for allocating system resources among applications using weights
US7519916B1 (en) * 2003-06-16 2009-04-14 Microsoft Corporation Methods for tailoring a bandwidth profile for an operating environment
US20050096102A1 (en) * 2003-11-05 2005-05-05 Motorola, Inc Remotely initiated low power mode
US7594006B2 (en) * 2004-04-27 2009-09-22 Hewlett-Packard Development Company, L.P. Trending method and apparatus for resource demand in a computing utility
US7735085B2 (en) * 2004-05-26 2010-06-08 Qualcomm Incorporated System for application priority based on device operating mode
US20050275406A1 (en) * 2004-06-15 2005-12-15 Hatalkar Atul N Apparatus and method of dynamic usage profile acquisition and utilization in a wireless mobile device
US7774822B2 (en) * 2005-08-03 2010-08-10 Novell, Inc. Autonomous policy discovery
US7319908B2 (en) * 2005-10-28 2008-01-15 Microsoft Corporation Multi-modal device power/mode management
US8289861B2 (en) * 2006-03-24 2012-10-16 Qualcomm Incorporated Systems and methods for managing resources during handoff across communication systems having different grades of quality of service awareness
WO2008010598A1 (fr) * 2006-07-18 2008-01-24 Nec Corporation Dispositif de traitement de communication d'informations, terminal de communication d'informations, système de communication d'informations, procédé de commutation de fonction, et programme de commmutation de fonction
US8954045B2 (en) * 2006-09-29 2015-02-10 Qualcomm Incorporated Method and apparatus for managing resources at a wireless device
WO2009049684A1 (en) * 2007-10-19 2009-04-23 Telefonaktiebolaget Lm Ericsson (Publ) Methods and apparatuses for notifying an application function of resource restrictions relating to a communication session
JP2011504623A (ja) * 2007-11-02 2011-02-10 クゥアルコム・インコーポレイテッド 構成可能なシステム・イベントおよびリソース・アービトレーション管理の装置および方法
US8484568B2 (en) * 2010-08-25 2013-07-09 Verizon Patent And Licensing Inc. Data usage monitoring per application

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004508611A (ja) * 2000-05-02 2004-03-18 マイクロソフト コーポレイション リソースマネージャアーキテクチャ
JP2005100387A (ja) * 2003-09-02 2005-04-14 Toshiba Corp 計算機システム及びクラスタシステム用プログラム
JP2005141726A (ja) * 2003-09-25 2005-06-02 Ricoh Co Ltd マルチメディア処理を分散化するためのハードウェア及びソフトウェアインタフェースを備える独立型プリンタ
JP2005242631A (ja) * 2004-02-26 2005-09-08 Matsushita Electric Ind Co Ltd アプリケーション切替方法、アプリケーション切替装置及びその装置を搭載した携帯電話
WO2010039428A2 (en) * 2008-09-30 2010-04-08 Microsoft Corporation Data-tier application component fabric management

Also Published As

Publication number Publication date
US20120102200A1 (en) 2012-04-26
JP5972890B2 (ja) 2016-08-17
EP2633405A1 (en) 2013-09-04
WO2012058170A1 (en) 2012-05-03
JP2013541117A (ja) 2013-11-07
CN103189843B (zh) 2016-08-10
JP6022647B2 (ja) 2016-11-09
EP2633405B1 (en) 2018-04-18
CN103189843A (zh) 2013-07-03

Similar Documents

Publication Publication Date Title
JP6022647B2 (ja) アプリケーション特有のリソース管理
US11586451B2 (en) Resource management with dynamic resource policies
US8239564B2 (en) Dynamic throttling based on network conditions
US20140006769A1 (en) Device optimization modes
JP6001023B2 (ja) モバイル・デバイスのためのバッテリ電力管理
US7281146B2 (en) Dynamic power requirement budget manager
US8595366B2 (en) Method and system for dynamically creating and servicing master-slave pairs within and across switch fabrics of a portable computing device
US8615755B2 (en) System and method for managing resources of a portable computing device
US10153959B2 (en) Network communication and cost awareness
US20170048161A1 (en) Adaptive data synchronization
US8601484B2 (en) System and method for managing resources and markers of a portable computing device
WO2012103231A1 (en) Computing platform with resource constraint negotiation
US20120122428A1 (en) Automatic Annunciator Allocation
US9098521B2 (en) System and method for managing resources and threshsold events of a multicore portable computing device
US10666312B2 (en) Sharing antenna across wireless endpoints
CN105075228A (zh) 上下文感知服务的动态功率管理
CN113608885B (zh) 一种客户端请求处理方法、装置、设备及存储介质
KR20140002581A (ko) 동적 리소스 관리를 수행하는 트레이딩 시스템 및 그 제공방법
KR20100002228U (ko) 단말

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160810

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160906

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161005

R150 Certificate of patent or registration of utility model

Ref document number: 6022647

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees