JP4550893B2 - デバイスの動作モードに基づくアプリケーションの優先順位のためのシステム - Google Patents

デバイスの動作モードに基づくアプリケーションの優先順位のためのシステム Download PDF

Info

Publication number
JP4550893B2
JP4550893B2 JP2007515356A JP2007515356A JP4550893B2 JP 4550893 B2 JP4550893 B2 JP 4550893B2 JP 2007515356 A JP2007515356 A JP 2007515356A JP 2007515356 A JP2007515356 A JP 2007515356A JP 4550893 B2 JP4550893 B2 JP 4550893B2
Authority
JP
Japan
Prior art keywords
application
information
resource
owning
arbitration
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.)
Expired - Fee Related
Application number
JP2007515356A
Other languages
English (en)
Other versions
JP2008500645A (ja
Inventor
ゲイブ、ケネス・エム.
モアシー、マヘッシュ
ニジュダム、マーク・エドワード
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 JP2008500645A publication Critical patent/JP2008500645A/ja
Application granted granted Critical
Publication of JP4550893B2 publication Critical patent/JP4550893B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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]
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/52Indexing scheme relating to G06F9/52
    • G06F2209/522Manager

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Bus Control (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)
  • Multi Processors (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、概ね、デバイスの動作、より具体的には、デバイスの動作モードに基づくアプリケーションの優先順位のためのシステムに関する。
技術の進歩は、広範囲なデータネットワークの開発および展開をもたらした。これらのネットワークは、インターネットのような公衆データネットワークと、無線遠隔通信ネットワークのような専用ネットワークとを含む。これらのネットワークのユーザは、使用可能な多様な情報およびサービスにアクセスする能力をもつ。例えば、無線デバイスの所有者は、現在、デバイス上で実行する多様なアプリケーションをダウンロードすることができる。
ダウンロード可能なアプリケーションが増加した結果、資源の割り振りは、益々重要になってきた。デバイスの資源は、ディスプレイ、キーパッド、サウンドプロセッサ、モデム、記憶デバイス、通信チャネル、および他のタイプの資源を含む。各デバイスは、限られた数の資源をもつので、それらの資源の、競合するアプリケーションへの割り振られ方は、デバイスがどのように動作するかを決める。例えば、無線電話は、音声呼中、データ呼中、アプリケーションの実行中、またはSMSメッセージの処理中であるかもしれず、デバイスは、特定の動作条件を仮定して、その資源の種々のアプリケーションへの割り振り方を知る必要がある。
ほとんどのデバイスにとって非常に重要な資源は、“上部可視資源(top visible resource, TVR)”と呼ばれる(ときには、“ハビング スコープ(having scope)”とも呼ばれる)。上部可視資源は、一般に、デバイスのディスプレイおよびデバイスの入力デバイス(すなわち、キーパッド)を含み、これは、アプリケーションが、それらがデバイスの現在の焦点であることをユーザに表すことを可能にする。例えば、上部可視資源を割り振られているアプリケーションは、デバイスのユーザと、ディスプレイおよびキーパッドを介して対話することができる。
デバイス上で実行する競合するアプリケーション間で効果的にアービトレートし(arbitrate)、何れのアプリケーションが上部可視資源にアクセスすべきかを判断する必要がある。例えば、“ユーザの経験”を判断するデバイスの動作は、アプリケーションが上部可視資源にどのように割り振られるかによって判断される。
現在のシステムにおいて、上部可視資源は、静的な規則にしたがってアプリケーションに割り振られる。例えば、電話のハンドセットデバイスにおいて、アプリケーションは、通話が進行中であるときに起動することを許されない。通常、上部可視資源へのアプリケーションのアクセスは、現在のデバイスが動作している動的な環境を考慮に入れないハードコード化された割り振り規則によって制御されている。
したがって、必要とされるものは、デバイスの動作環境に基づいて、デバイス内の何れのアプリケーションが上部可視資源を割り振られるかを判断するように動作する動的なアプリケーション優先順位システムである。さらに加えて、システムは、ネットワークの通信事業者のようなサードパーティが、デバイス上の上部可視資源がどのように割り振られるかについての入力をもつことを可能にする機構を与えるべきであり、その結果、デバイスによって与えられるユーザの経験を動的に制御することができる。
1つ以上の実施形態において、デバイスの上部可視資源を動的に割り振るように動作するアプリケーション優先順位システムが与えられる。1つの実施形態において、デバイス上の上部可視資源を割り振るアプリケーション優先順位システムを動作する方法が与えられる。方法は、要求しているアプリケーションへの上部可視資源の割り振りを要求する要求を受信することと、上部可視資源が、所有しているアプリケーションに割り振られていると判断することとを含む。方法は、所有者情報を要求者情報と関係付けて、アービトレーション要求(arbitration requirement)を形成することも含み、ここで、所有者情報は、所有しているアプリケーションに関する情報を含み、要求者情報は、要求しているアプリケーションに関する情報を含む。方法は、アービトレーション要求をアービトレートして、所有者情報が、所有しているアプリケーションが特権を与えられていることを示し、要求しているアプリケーションを識別する識別子が、所有者情報と関係付けられた譲渡リスト(relinquish list)に含まれているときは、上部可視資源が、要求しているアプリケーションに割り振られることを示すアービトレーション決定(arbitration decision)を生成することも含む。方法は、アービトレーション決定に基づいて、上部に見える資源(top view resource)を割り振ることも含む。
1つの実施形態において、デバイス上の上部可視資源を動的に割り振るアプリケーション優先順位システムを動作する装置が与えられる。装置は、所有しているアプリケーションに上部可視資源を割り振り、要求しているアプリケーションからの上部可視資源の割り振りに対する要求を受信するように動作する資源マネージャを含む。装置は、所有しているアプリケーションが特権を与えられていて、譲渡リスト内に要求しているアプリケーションを識別しなかったときは、所有しているアプリケーションに上部可視資源を割り振るように動作するアービトレーション論理(arbitration logic)も含む。アービトレーション論理は、所有しているアプリケーションが特権を与えられていて、譲渡リスト内に要求しているアプリケーションを識別したときは、所有しているアプリケーションと要求しているアプリケーションとの間において上部可視資源の割り振りをアービトレートするようにも動作する。アービトレーション論理は、所有しているアプリケーションが特権を与えられていないときは、所有しているアプリケーションと要求しているアプリケーションとの間において上部可視資源の割り振りをアービトレートするようにも動作する。
1つの実施形態において、デバイス上の上部可視資源を動的に割り振るアプリケーション優先順位システムを動作する装置が与えられる。装置は、所有しているアプリケーションに上部可視資源を割り振る手段と、要求しているアプリケーションからの上部可視資源の割り振りに対する要求を受信する手段とを含む。装置は、所有しているアプリケーションが特権を与えられていて、譲渡リスト内に要求しているアプリケーションを識別しなかったときは、所有しているアプリケーションに上部可視資源を割り振る手段も含む。装置は、所有しているアプリケーションが特権を与えられていて、譲渡リスト内に要求しているアプリケーションを識別したときは、所有しているアプリケーションと要求しているアプリケーションとの間において上部可視資源の割り振りをアービトレートする手段も含む。装置は、所有しているアプリケーションが特権を与えられないときは、所有しているアプリケーションと要求しているアプリケーションとの間において上部可視資源の割り振りをアービトレートする手段も含む。
1つの実施形態において、デバイス内のプロセッサによって実行されるときに、デバイス上の上部可視資源を動的に割り振るアプリケーション優先順位システムを与えるように働く命令を含むコンピュータ読出し可能媒体が与えられる。コンピュータ読出し可能媒体は、所有しているアプリケーションに上部可視資源を割り振る命令と、要求しているアプリケーションからの上部可視資源の割り振りに対する要求を受信する命令とを含む。コンピュータ読出し可能媒体は、所有しているアプリケーションが特権を与えられていて、譲渡リスト内に要求しているアプリケーションを識別しなかったときは、所有しているアプリケーションに上部可視資源を割り振る命令も含む。コンピュータ読出し可能媒体は、所有しているアプリケーションが特権を与えられていて、譲渡リスト内に要求しているアプリケーションを識別したときは、所有しているアプリケーションと要求しているアプリケーションとの間において上部可視資源の割り振りをアービトレートする命令も含む。コンピュータ読出し可能媒体は、所有しているアプリケーションが特権を与えられていないときは、所有しているアプリケーションと要求しているアプリケーションとの間において上部可視資源の割り振りをアービトレートする命令も含む。
本発明の他の態様、長所、および特徴は、図面の簡単な説明(Brief Description of the Drawing)、発明を実施するための最良の形態(Detailed Description)、および特許請求の範囲(Claims)に記載されていることを検討した後で明らかになるであろう。
上述の態様、および本明細書に記載されている実施形態の付随する長所は、次の詳細な記述を参照することによって、添付の図面と共に採用されたときに、より容易に明らかになるであろう。
次の詳細な記述は、デバイスにおける上部可視資源を動的に割り振るように動作するアプリケーション優先順位システムの1つ以上の実施形態を記載している。1つの実施形態において、アプリケーションは、割り振り要求を資源マネージャへ送信することによって、上部可視資源の割り振りを要求する。割り振り要求は、上部可視資源の状態およびその現在の所有者を記載した1つ以上のパラメータと結合され、アービトレーション要求を形成する。アービタ(arbiter)は、アービトレーション規則(arbitration rule)にしたがって、アービトレーション要求を処理し、資源がどのように割り振られるかを示すアービトレーション決定を生成する。次に、アービトレーション決定を使用して、上部可視資源を割り振る。システムは、任意のタイプのワイヤードまたはワイヤレスデバイスで使用するのに適しており、デバイスは、デスクトップコンピュータ、ノートブックコンピュータ、無線電話、ページャ、PDA、電子メールデバイス、タブレットコンピュータ、または何か他のタイプのワイヤードまたはワイヤレスデバイスを含むが、これらに制限されない。
1つ以上の実施形態において、アプリケーション優先順位システムは、例えば、一般化された呼をデバイス専用資源に与えることによって、デバイスの動作を単純化するのに使用される、デバイス上で実行するランタイム環境と対話する。1つのこのようなランタイム環境は、カリフォルニア州サンディエゴのQUALCOMM,Inc.によって開発されたBinary Runtime Environment Wireless(商標)(BREW(登録商標))のソフトウェアプラットフォームである。次の記述では、アプリケーション優先順位システムの1つの実施形態が、BREWソフトウェアプラットフォームのようなランタイム環境を実行している無線デバイスを使用して実施されると仮定する。しかしながら、アプリケーション優先順位システムの1つ以上の実施形態は、ワイヤードおよびワイヤレスデバイス上で上部可視資源を動的に割り振る他のタイプのランタイム環境で使用するのに適している。さらに、本明細書では、“上部可視資源(top visible resource)”という用語は、デバイスの現在の焦点を表すのに使用されるデバイス上の任意のタイプのハードウェアまたはソフトウェア、あるいはこの両者の資源を示し、デバイスのディスプレイとキーパッドとの組合せを含むが、これに制限されない。
図1は、デバイス上の上部可視資源を割り振るように動作する動的なアプリケーション優先順位システム100の1つの実施形態を示している。システム100は、無線通信チャネル106を介してデータネットワーク104と通信する無線端末102を含む。データネットワーク104は、任意のタイプのデータネットワークを含み、これは、ワイヤード、ワイヤレス、私設、または公衆データネットワーク、あるいはその任意の組合せを含み得るが、これらに制限されない。
システム100は、サーバ108も含み、これは、通信チャネル110を介してネットワーク104に結合され、ネットワーク104と通信しているデバイスにサービスを提供する。例えば、無線端末102は、無線電話であり、サーバ108は、電話に遠隔通信サービスを提供する全国的な遠隔通信ネットワークの一部であり得る。通信チャネル110は、任意のタイプのワイヤードまたはワイヤレス無線通信チャネルであり得る。
デバイス102は、アプリケーション(application, App)116を含み、これらはデバイス上で実行され、デバイスのユーザによって望ましい特徴および機能を与える。例えば、アプリケーション116は、経路120によって示されているように、サーバ108からデバイス102へダウンロードされ得る。実行中に、アプリケーション116は、デバイス102の上部可視資源118へのアクセスを得ることを試みる。これは、1つの実施形態においてデバイスのディスプレイおよびキーパッドを含む。
1つの実施形態において、各アプリケーション116は、アプリケーションの権利および特権を示す1つ以上のグループIDをもつ。例えば、グループIDは、アプリケーションが、上部可視資源に関して特権を与えられている(Privileged, P)か、特権を与えられていない(non- Privileged, nP)かを識別する。1つの実施形態において、特権が与えられているアプリケーションと、特権が与えられていないアプリケーションとの両者が、上部可視資源にアクセスし得るが、特権を与えられたアプリケーションは、上部可視資源の制御が譲渡される選択されたアプリケーションまたはグループを特定することを許される。
1つの実施形態において、デバイス102は、アービタ112およびアービトレーション規則114を含む。例えば、アービタ112およびアービトレーション規則114は、経路120によって示されているように、サーバ108からデバイス102へダウンロードされ得る。アービタ112は、デバイス102上で実行する競合するアプリケーションからの上部可視資源118に対する要求をアービトレートするように動作する。アービタ112は、要求しているアプリケーションと、資源が所有しているアプリケーションとに関する情報に基づいて、アービトレーション要求を決定する。1つの実施形態において、所有しているアプリケーションの特権状態およびアービトレーション規則114を使用して、競合するアプリケーションに上部可視資源118をどのように割り振るかを示すアービトレーション決定を生成する。したがって、選択されたアプリケーションに特定の特権状態を関係付けて、アービトレーション規則114の特定の組をサーバ108からデバイス102へダウンロードすることによって、サーバ108が、デバイス上の上部可視資源118がアプリケーション116にどのように割り振られるかを制御することが可能である。これは、サーバ108が、デバイス102によって与えられるユーザの経験を制御することを可能にする。
1つ以上の実施形態において、サーバ108および端末102は、任意のタイプのデバイスであり、データネットワーク104へのそれらの関係付けられる接続は、ワイヤレス、ワイヤード、またはその任意の組合せであり得る。したがって、動的なアプリケーション優先順位システムの実施形態は、種々のサーバおよび端末をもつ、事実上あらゆるネットワーク構成を使用して、サーバが、デバイス上の上部可視資源がどのように割り振られるかを制御することを可能にするように動作する。
図2は、デバイス、例えば、図1に示されているデバイス102における上部可視資源を割り振るアプリケーション優先順位システム200の1つの実施形態の機能図を示している。システム200は、上部可視資源マネージャ202、上部可視資源状態204、資源アービタ206、およびアービトレーション規則208を含む。デバイスの上部可視資源210、および全体的に参照番号212で示されている、デバイス上で実行するアプリケーション(1ないし4)も示されている。
上部可視資源マネージャ202は、ハードウェア論理、ソフトウェア論理、またはその任意の組合せを含み、上部可視資源210を管理するように動作する。上部可視資源210は、ディスプレイおよびキーパッドのような、任意のタイプのデバイスの資源を含むことができ、これらは、何れのアプリケーションがデバイスの焦点をもっているかをユーザに表すのに使用される。例えば、デバイスの焦点をもっているアプリケーションは、現在ユーザと対話しているアプリケーションである。
上部可視資源状態204は、ハードウェア、ソフトウェア、またはその任意の組合せを含む。1つの実施形態において、上部可視資源状態204は、上部可視資源210に関する情報または現在の資源所有者に関する情報(所有者情報)、あるいはこの両者を含む。例えば、上部可視資源210を現在割り振られているアプリケーションは、資源所有者、現在の所有者、または所有しているアプリケーションであると考えられる。例えば、1つの実施形態において、上部可視資源状態204は、現在の所有者に関する情報を含み、これは、現在の所有者識別子(identifier, ID)、1つ以上のグループID、特権状態、資源を獲得する理由、譲渡リスト、および/または、現在の所有者あるいは上部可視資源210に関する何か他の情報を含む。1つの実施形態において、譲渡リストは、現在の所有者が上部可視資源210を何れのアプリケーションまたはグループ(すなわち、特権クラス)へ快く解放するかを識別する。1つの実施形態において、このリストは、資源アービタ206によって行われるアービトレーションプロセス中に制御している。別の実施形態において、この譲渡リストは、単に、アービトレーションがどのように決定されるべきであるかについての、資源アービタ206への推薦であると考えられる。上部可視資源マネージャ202は、資源状態204に含まれている情報を維持、更新、変更、追加、削除、または、さもなければ処理するように動作する。
資源アービタ206は、ハードウェア、ソフトウェア、またはその任意の組合せを含み、アービトレーション規則208を使用して、上部可視資源210へのアクセスをアービトレートするように動作する。例えば、1つの実施形態において、資源アービタ206は、プログラムモジュールであり、アービトレーション規則208は、メモリに記憶されているパラメータであり、これは、資源アービタ206によって検索され、上部可視資源210を動的に割り振るために処理される。1つ以上の実施形態において、上部可視資源マネージャ202および資源アービタ206は、デバイス上で実行するランタイム環境へのダウンロード可能な拡張として実施され得る。例えば、それらは、ダウンロード可能なBREW拡張であり得る。
動的なアプリケーション優先順位システム200の1つの実施形態の動作中に、アプリケーションは、上部可視資源210へのアクセスのために、割り振り要求を上部可視資源マネージャ202へ提出する。上部可視資源210が使用可能であるときは、上部可視資源マネージャ202は、要求しているアプリケーション210に上部可視資源を割り振る。上部可視資源210が、現在、別のアプリケーションによって所有されているときは、上部可視資源マネージャ202は、要求しているアプリケーションに関する情報(要求者情報)と資源の現在の所有者に関する情報(所有者情報)とを含むアービトレーション要求を集めることによって応答する。要求しているアプリケーションに関する情報は、割り振り要求から求められ、資源の現在の所有者に関する情報は、上部可視資源状態204から求められる。アービトレーション要求は、参照符号214で示されているように、資源アービタ206へ送られる。資源アービタ206は、アービトレーション規則208を使用して、アービトレーション要求を処理し、アービトレーション決定を生成し、これは、参照符号216で示されているように、上部可視資源マネージャ202へ送り返される。次に、上部可視資源マネージャ202は、アービトレーション決定にしたがって、上部可視資源210を適切なアプリケーションに割り振るように動作する。
1つの実施形態において、アプリケーション212は、特定のアプリケーションが、上部可視資源210に関して特権を与えられているかどうかを判断するグループIDをもつ。例えば、グループIDは、そのグループIDをもっている全てアプリケーションに当てはまる1組の権利と関係付けられている。権利の1つは、上部可視資源210に関するアプリケーションの特権状態を定めている。アプリケーションは、最初に、上部可視資源210へのアクセスを得ると、そのアプリケーションID、1つ以上のグループID、および上部可視資源210へのアクセスを望む理由を含む情報を(割り振り要求を介して)上部可視資源マネージャ202に与える。1つの実施形態において、グループIDは、それがアプリケーションIDから推測されることができるので、送られない。1つの実施形態において、上部可視資源210へのアクセスを望む理由は、幾つかの列挙されたタイプの1つから選択される。しかしながら、理由の組は、列挙されたリストに制限されず、グループIDまたは他の注文(custom)の理由と関係付けられることもできる。
アプリケーションが、そのグループIDから判断されるように、特権を与えられているときは、それは、何れのアプリケーションが上部可視資源210を取去ることができるかを制限し得る。例えば、アプリケーションは、上部可視資源210が譲渡されるアプリケーションを識別する譲渡リストを特定し得る。例えば、譲渡リスト内のアプリケーションは、それらのグループIDの1つ以上によって識別され得る。
別のアプリケーションが上部可視資源210へのアクセスを要求すると、上部可視資源マネージャ202は、現在の資源所有者に関する情報(所有者情報)と要求しているアプリケーションに関する情報(要求者情報)とを含むアービトレーション要求を生成する。アービトレーション要求の一部として、上部可視資源210の所有者および要求者の特権状態が、上部可視資源210を望む関係付けられた理由および譲渡リストと共に、資源アービタ206へ送られる。資源アービタ206へ送られる情報は、何か他のパラメータまたは基準も含み得る。例えば、資源アービタ206へ送られる情報は、ユーザの優先設定(preference)、現在のデバイスの動作モード、通信事業者の優先設定、または要求をアービトレートするのに使用され得る何か他のタイプの情報を含み得る。次に、資源アービタ206は、この情報を使用して、上部可視資源210がどのように割り振られるかを判断する。
1つの実施形態において、現在の上部可視資源210の所有者は、上部可視資源210に関するそのアプリケーションの優先順位を動的に変更し得る。例えば、上部可視資源210への最初のアクセスの後で、ここでは、他のアプリケーションがアクセスから制限されることがあり、アプリケーションはその譲渡リストを変更し、それによって、他のアプリケーションが上部可視資源210へのアクセスを得ることを可能にし得る。したがって、システムは、上部可視資源210を所有しているアプリケーションが、上部可視資源210を解放するか、または上部可視資源210を他のアプリケーションにとってよりアクセスし易くすることを可能にすることによって、融通性を与えるように動作する。
別の実施形態において、システムは、コールバック機構を与えて、アプリケーションがコールバック機能を登録することを可能にする。上部可視資源210の状態の変更があるとき、コールバック機能は、システムがアプリケーションに通知することを可能にする。例えば、上部可視資源210が空いているとき、または上部可視資源210が、それが別のアプリケーションに割り振られるために、使用中になるときに、コールバック機能を使用して、アプリケーションに通知することができる。したがって、システム200は、デバイスの上部可視資源210へのアクセスを特定のアプリケーションに割り振る動的なアプリケーション優先順位システムを与えるように動作する。
さらに動作環境の変更に適応するために、資源アービタ206およびアービトレーション規則208は、ネットワークエンティティからデバイスへダウンロードされ、それによって、サードパーティが、デバイス上で上部可視資源210がどのように割り振られるかについての入力をもつことを可能にし得る。例えば、1つの実施形態において、デバイスは、無線電話であり、資源アービタ206およびアービトレーション規則208は、全国的な遠隔通信の通信事業者ネットワークの一部であるネットワークサーバからデバイスへダウンロードされる。このように、遠隔通信の通信事業者は、デバイス上で上部可視資源210がアプリケーション間においてどのように割り振られるかについての入力を与えられ、それによって、デバイスによって与えられるユーザの経験を制御することができる。
図3は、アプリケーション優先順位システムの1つの実施形態を含むデバイス300の1つの実施形態を示している。デバイス300は、処理論理302、メモリ304、ディスプレイ論理306、キーパッド論理308、およびI/Oインターフェース310を含み、全ては、内部データバス312に結合されている。分かり易くするために、デバイス300上の上部可視資源332は、ディスプレイ論理306およびキーパッド論理308を含むと仮定する。アプリケーション優先順位システムの1つ以上の実施形態は、異なる構成をもつ他のデバイスに使用するのに適しており、異なる機能素子を使用して、上部可視資源332を定義することが可能であることに注意すべきである。
処理論理302は、CPU、プロセッサ、ゲートアレイ、ディスクリートな論理、他のハードウェアまたはソフトウェア、あるいはその任意の組合せを含む。したがって、処理論理302は、通常、本明細書に記載されている機能を行う機械読出し可能命令を実行する論理を含む。例えば、命令は、コンピュータ読出し可能媒体、例えば、フロッピー(登録商標)ディスク、CD ROM、フラッシュメモリ、またはインターフェース310を介してデバイス300とインターフェースする他のコンピュータ読出し可能媒体から、デバイス300へロードされ得る。別の実施形態において、命令は、ネットワーク資源、例えば、ネットワークサーバまたは何か他のタイプのネットワーク資源から、インターフェース310を介して、デバイス300へダウンロードされ得る。命令は、処理論理302によって実行されるとき、本明細書に記載されているアプリケーション優先順位システムの1つ以上の実施形態を与える。
メモリ304は、任意のタイプのRAM、ROM、ハードディスク、フロッピー(登録商標)ディスク、フラッシュメモリ、または何か他のタイプのメモリ素子を含む。ディスプレイ論理306は、ディスプレイデバイス、例えば、CRT、LCD、または何か他のタイプのディスプレイデバイスを制御する論理を含む。キーパッド論理308は、ユーザ入力デバイス、例えば、キーパッド、ペン、ジョイスティック、または何か他のタイプのユーザ入力デバイスを制御して、ユーザ入力を受信する論理を含む。I/Oインターフェース310は、ハードウェア、ソフトウェア、またはその任意の組合せを含み、デバイス300が外部デバイスまたはシステムとインターフェースするのを可能にする。例えば、I/Oインターフェース310は、外部記憶システム、例えば、ディスクドライブまたは他のメモリデバイスにインターフェースする論理を含む。インターフェース310は、外部システム、例えば、ローカルコンピュータシステムにインターフェースする論理も含む。さらに加えて、インターフェースは、遠隔のコンピュータおよびサーバと通信することを可能にするデータネットワークとインターフェースする論理も含む。
デバイスの動作中に、処理論理302によって実行されるプログラム命令は、ランタイム環境314をアクティブにする。例えば、ランタイム環境は、BREWランタイム環境であり得る。処理論理302によって実行されるプログラム命令は、上部可視資源マネージャ318もアクティブにする。上部可視資源マネージャ318は、上部可視資源332へのアクセスを制御するように動作し、アプリケーションがディスプレイ資源306およびキーパッド資源308を制御するのを可能にする。したがって、上部可視資源マネージャ318は、上部可視資源332(ディスプレイ306およびキーパッド308)へのアクセスを制御し、アプリケーションが、デバイスのユーザと対話することを可能にするように動作する。
上部可視資源マネージャ318は、デバイス300上で実行しているアプリケーション(320、322、324、326)から上部可視資源332にアクセスする要求を受信する。アプリケーション(320、322、324、326)は、デバイス300上で実行するのに適した任意のタイプのアプリケーションであり得る。例えば、アプリケーションは、マルチメディアアプリケーション、カレンダアプリケーション、電子メールアプリケーション、音声処理アプリケーション、またはデバイス300上で実行されると、有益な特徴または機能、あるいはこの両者を与える何か他のタイプのアプリケーションであり得る。上部可視資源332の割り振りを容易にするために、上部可視資源マネージャ318は、メモリ304内に上部可視資源状態328を維持する。例えば、デバイス状態334は、デバイスの現在の動作モードを識別する。例えば、デバイスの動作モードは、アイドル、アプリケーションの実行、メッセージの受信、音声呼の処理、ゲームをすること、または何か他のタイプのデバイスの動作モードであり得る。
アプリケーション(320、322、324、326)は、デバイス300上で実行されるとき、上部可視資源332にアクセスする要求を、上部可視資源マネージャ318に提出する。上部可視資源332が現在割り振られていない場合は、上部可視資源332は、要求しているアプリケーションに容易に割り振られ得る。しかしながら、上部可視資源332が、現在、1つのアプリケーションに割り振られているときは、別のアプリケーションから上部可視資源332にアクセスする要求をアービトレートして、何れのアプリケーションが上部可視資源332を割り振られることになるかを判断する必要がある。
1つ以上の実施形態において、アプリケーション優先順位システムは、デバイス上で実行するアプリケーションの1つへの上部可視資源332の割り振りをアービトレートするように動作する。例えば、上部可視資源332がアプリケーションに現在割り振られているときは、上部可視資源マネージャ318は、アービトレーション要求を資源アービタ316に提出する。要求は、要求しているアプリケーションに関する情報(要求者情報)と、上部可視資源332の現在の所有者に関する情報(所有者情報)とを含む。例えば、上部可視資源332の現在の所有者に関する情報は、上部可視資源状態328に維持される。
1つの実施形態において、資源アービタ316は、メモリ304に記憶されているアービトレーション規則330にしたがって、アービトレーション要求を処理する。例えば、1つの実施形態では、アービトレーション規則330がネットワークサーバからデバイス300にダウンロードされ、その結果、ネットワークサーバは、資源要求がデバイス300においてどのようにアービトレートされるかについての入力を与えることができる。アービトレーション要求が資源アービタ316によって処理され、アービトレーション決定を生成し、これは上部可視資源マネージャ318へ戻される。次に、上部可視資源マネージャ318は、アービトレーション決定に基づいて資源を割り振る。
デバイス300において示されているアプリケーション優先順位システムの記述は、1つのみの実施形態を示していること、および本明細書に記載されている機能を与えるのに、他の構成が可能であることに注意すべきである。例えば、デバイス300の機能素子は、記載されている実施形態の範囲内で、組合され、並べ換えられ、変更され、追加され、または削除されることが可能である。
資源アービタ
1つ以上の実施形態において、資源アービタ316は、中央意思決定部(central decision maker)として動作し、上部可視資源332が、要求しているアプリケーション(またはオブジェクト)へ譲り渡されることができるかどうかを判断する。1つの実施形態において、資源アービタ316は、製造中にデバイス上にインストールされる。別の実施形態では、資源アービタ316は、ネットワークサーバによってカスタマイズされることができ、希望に応じて更新または置換され得るダウンロード可能なモジュールとして実施される。例えば、デバイスが無線電話である実施において、資源アービタ316はカスタマイズされ、通信OEM/通信事業者によって動作されるネットワークサーバから電話へダウンロードされ得る。1つの資源アービタ316が、デバイス上の上部可視資源332に対する要求をアービトレートするのに使用されるのが好ましい。
1つの実施形態において、資源アービタ316は、上部可視資源マネージャ318から種々の情報を送られ、その情報は、アービトレーション決定を生成するのに使用される。1つの実施形態において、資源アービタ316に送られる情報は、要求しているアプリケーションに関する情報(要求者情報)と、上部可視資源332の現在の所有者に関する情報(所有者情報)とを含む。しかしながら、他の実施形態では、追加のタイプの情報が資源アービタ316に送られ、この追加情報は、デバイスの状態情報334、ユーザの優先設定情報、サードパーティの優先設定情報、およびアービトレーション決定を生成するために資源アービタによって使用されるのに適した何か他のタイプの情報を含む。
さらに加えて、1つの実施形態において、アービトレーションプロセスを修正して、異なる時間期間中における異なる情報項目または動作条件を使用して、アービトレーション決定を与えるように、資源アービタ316は拡張可能である。次に、アービトレーション決定を生成するために、資源アービタ316に送られ得る要求者および所有者の情報の簡潔な説明を表すが、資源アービタに送られ得る情報は、示されたリストに制限されない。
A.資源所有者情報
1.所有者のクラス識別子(class identifier, CLSID)およびインスタンスポインタ
2.TVRの獲得理由
3.譲渡制御情報
a.譲渡識別子リスト
b.リストカウント(−1=全て、0=無し、そうでなければ、カウント)
B.要求者情報
1.要求者のクラス識別子(CLSID)およびインスタンスポインタ
2.TVRの獲得理由
3.譲渡制御情報
a.譲渡識別子リスト
b.リストカウント(−1=全て、0=無し、そうでなければ、カウント)
図4は、デバイスにおいて使用するアプリケーション優先順位システムの1つの実施形態を与える方法400の1つの実施形態を示している。分かり易くするために、方法400の動作は、図3に示されているデバイス300に関連して記載される。例えば、方法400は、1つの実施形態において、上部可視資源332(ディスプレイ306およびキーパッド308)が、アプリケーション320、322、324および326の1つにどのように動的に割り振られるかを示す。
ブロック402において、第1のアプリケーションは、資源割り振り要求を、上部可視資源332と関係付けられた上部可視資源マネージャ318へ送る。例えば、アプリケーション320は、資源割り振り要求を上部可視資源マネージャ318へ送り、上部可視資源332の割り振りを要求する。割り振り要求は、アプリケーション320に関する情報を含み、例えば、割り振り要求は、上述の要求者情報を含む。
ブロック404において、上部可視資源マネージャ318は、上部可視資源332を第1のアプリケーションに割り振る。例えば、上部可視資源マネージャ318は、上部可視資源をアプリケーション320に割り振る。さらに加えて、上部可視資源マネージャ318は、割り振り要求に与えられている要求者情報を使用して、上述の所有者情報を更新する。次に、資源所有者情報は、上部可視資源状態328に記憶される。
ブロック406において、第2のアプリケーションは、資源割り振り要求を、上部可視資源332と関係付けられた上部可視資源マネージャ318へ送る。例えば、アプリケーション322は、資源割り振り要求を上部可視資源マネージャ318へ送り、上部可視資源332の割り振りを要求する。割り振り要求は、アプリケーション322に関する情報を含み、例えば、割り振り要求は、上述の要求者情報を含む。
ブロック408において、上部可視資源マネージャ318は、アービトレーション要求を資源アービタ316へ送る。例えば、上部可視資源マネージャ318は、アービトレーション要求を資源アービタ316へ送る。アービトレーション要求は、上部可視資源状態328からの資源所有者情報と、割り振り要求からの要求者情報とを含む。したがって、アービトレーション要求は、資源アービタ316に、上部可視資源332の現在の所有者および現在の要求者に関する情報を与える。
ブロック410において、資源アービタ316は、何れのアプリケーションが上部可視資源332を割り振られるべきかを示すアービトレーション決定を生成する。例えば、資源アービタ316は、アービトレーション決定を生成し、決定を上部可視資源マネージャ318へ送信する。資源アービタ316は、メモリ304に記憶されているアービトレーション規則330に基づいて、アービトレーション決定を生成する。1つの実施形態において、資源アービタ316およびアービトレーション規則330は、OEM/通信事業者のようなサードパーティからダウンロードされ、これは、更新を可能にし、さらに加えて、サードパーティが、デバイス上で上部可視資源332がどのように割り振られるかを決定する機構も与える。資源アービタ316がアービトレーション決定をどのように生成するかについてのより詳しい記述は、この文書の別のセクションに与えられている。
ブロック412において、上部可視マネージャ318は、アービトレーション決定に基づいて上部可視資源332を割り振る。例えば、上部可視資源マネージャ318は、アービトレーション決定に基づいて、上部可視資源332を、第1のアプリケーション320または第2のアプリケーション322の何れかに割り振る。さらに加えて、上部可視資源マネージャ318は、上部可視資源状態328を新しい資源所有者情報で更新する。
したがって、方法400は、デバイスにおいて使用する動的なアプリケーション優先順位システムの1つの実施形態を与えるように働く。方法400が1つのみの実施形態を示していること、および記載されている実施形態の範囲内で、並べ換え、変更、追加、または削除することが可能であることに注意すべきである。例えば、アプリケーションは、上部可視資源マネージャ318にコールバック機能を登録することが可能であり、その結果、希望に応じて、上部可視資源332の状態またはアベイラビリテイ、あるいはこの両者をアプリケーションに与えることができる。したがって、追加の補助機能が、アプリケーション優先順位システムによって与えられること、およびこれらの補助機能が、記載された実施形態の範囲内であることが可能である。
図5は、アプリケーション優先順位システムの1つの実施形態を与えるために、資源アービタを動作する方法500の1つの実施形態を示している。分かり易くするために、方法500の動作は、図3に示されているデバイス300に関連して記載される。したがって、1つの実施形態において、方法500は、図3に示されている資源アービタ316によって実施される。
ブロック502において、アービトレーション要求は、資源アービタ316において受信される。例えば、上部可視資源マネージャ318は、アービトレーション要求を資源アービタ316に提出する。アービトレーション要求は、上部可視資源332の現在の所有者に関する情報(所有者情報)と、上部可視資源332へのアクセスを要求しているアプリケーションに関する情報(要求者情報)とを含む。
ブロック504において、上部可視資源332の現在の所有者によって与えられる譲渡リストに対して、試験が行われ、現在の所有者が上部可視資源332の制御を何れのアプリケーションへ譲渡するかを決定する。譲渡リストは、アービトレーション要求に与えられている現在の所有者情報の一部である。譲渡リストが、あらゆるアプリケーションが上部可視資源332を得ることができると明示しているとき、方法は、ブロック510へ進む。譲渡リストが、何れのアプリケーションも上部可視資源332の制御を得ることができないか、または特定のアプリケーションのみが得ることができると明示しているときは、方法は、ブロック506へ進む。
ブロック506において、要求しているアプリケーションが、譲渡リストにおいて識別されるアプリケーションの1つであるかどうかを判断するために、試験が行われる。例えば、譲渡リストは、選択されたアプリケーションを識別するのに使用されることができるグループIDまたはアプリケーションIDを明示している。要求しているアプリケーションの識別子が、譲渡リストに明示されているとき、方法は、ブロック510へ進む。要求しているアプリケーションの識別子が、譲渡リストに明示されていないときは、方法は、ブロック508へ進む。
ブロック508において、上部可視資源332の現在の所有者を維持するアービトレーション決定が行われる。現在の所有者が特権を与えられていて、要求しているアプリケーションが、譲渡リスト上にないので、要求しているアプリケーションによる上部可視資源332の割り振りに対する要求は、否認される。次に、方法は、ブロック512へ進み、ここでは、アービトレーション決定が上部可視資源マネージャ318へ戻される。
ブロック510において、要求しているアプリケーションからのアービトレーション要求は、選択された基準に基づいてアービトレートされる。例えば、1つの実施形態において、要求は、アービトレーション規則330に基づいてアービトレートされる。事実上あらゆる基準を使用して、何れのアプリケーションが上部可視資源332を割り振られるかを判断することができる。例えば、アービトレーションは、各アプリケーションが上部可視資源332、デバイスの動作モード、ユーザの優先設定、通信事業者(サードパーティ)の優先設定、または何か他の基準を望む理由に基づき得る。
実施例
次に、デバイスにおける上部可視資源を割り振るように動作するアプリケーション優先順位システムの1つの実施形態の実施例を記載する。1つの実施形態において、システムは、上部可視資源マネージャを含み、これは、資源のアクセスを制御する、BREWアプリケーションを含むアプリケーション(オブジェクト)のための手段を与える。さらに加えて、上部可視資源マネージャは、オブジェクトによる上部可視資源の獲得および解放を調整および管理し、上部可視資源の状況が変わるとき、登録されたオブジェクトに通知するように動作する。
1つの実施形態において、OEMまたは通信事業者は、デバイスの現在の状況を仮定して、新しいアプリケーションを開始するために、現在のアプリケーションを一時停止するか、背景モードに置くことができるかどうかを判断するのに使用される1組のアービトレーション規則を実施する。例えば、デバイスが、音声呼中の無線電話であるとき、OEMは、別のアプリケーションが上部可視資源へのアクセスを得て、それによって呼を中断するのを妨げるアービトレーション規則を定め得る。
図6は、アプリケーション優先順位システムの1つ以上の実施形態で使用するのに適した資源制御アーキテクチャ600の1つの実施形態を示している。管理されている各上部可視資源602において、オブジェクトを制御する資源インターフェース604、アクセスを制御するIResourceCtlインターフェース606、および上部可視資源マネージャ608がある。さらに加えて、資源アービタ610が与えられ、上部可視資源602へのアクセスをアービトレートする。
資源インターフェース604のインスタンスが生成されるとき、それは、IResourceCtlインスタンス606を含む。IResourceCtlインスタンス606は、上部可視資源マネージャ608と対話し、基となる上部可視資源602を獲得および解放する。1つのアプリケーションが、上部可視資源602の制御をもっているときでも、別のアプリケーションが、既存のアービトレーション規則に基づいて、同じ上部可視資源602をいつでも制御できることに注意すべきである。
図7は、動的なアービトレーションシステムの1つ以上の実施形態にしたがって、デバイスにおける上部可視資源が2つのアプリケーション間においてどのように割り振られるかを記載している割り振り例を例示するダイアグラム700を示している。例えば、ダイアグラム700は、資源アービタ702、上部可視資源マネージャ704、アプリケーションA706、資源インスタンスA708、アプリケーションB712、および資源インスタンスB714を含む種々のデバイスエンティティ間の相互作用を示している。
割り振り例の始めに、アプリケーションA706は、資源要求714を資源インスタンスB708へ発行し、上部可視資源マネージャ704によって管理される上部可視デバイス資源へのアクセスを得る。参照番号716によって示されているように、資源要求は、資源インスタンスB708から上部可視資源マネージャ704へ送られる。この時点において、上部可視資源が割り振られていないと仮定すると、上部可視資源マネージャ704は上部可視資源をアプリケーションA706に割り振り、“成功”の表示を発行し、これをアプリケーションA706へ戻す。これは、参照番号718および720で示されている。この時点において、上部可視資源は、アプリケーションA706によって獲得されている。さらに加えて、アプリケーションA706は資源インスタンスA708にコールバック機能を登録し、参照番号722で示されているように、上部可視資源に関する任意の状態の変化についての情報を受信する。
その後で、アプリケーションB710は、資源要求724を資源インスタンスB712へ発行し、上部可視資源マネージャ704によって管理されている上部可視資源を獲得する。資源要求は、参照番号726によって示されているように、資源インスタンスB712から、上部可視資源マネージャ704へ送られる。アプリケーションB710からの要求により、上部可視資源マネージャ704は、参照番号728で示されているように、資源アービタ702からのアービトレーションを要求する。資源アービタ702は、本明細書に記載されている実施形態にしたがって、アービトレーション要求を処理する。資源アービタ702は、参照番号730、732、および734によって示されているように、上部可視資源がアプリケーションB710に割り振られるのに成功したことを示すアービトレーション結果を与える。したがって、この時点において、アプリケーションB710は上部可視資源を獲得している。アプリケーションA706は、(参照番号722において)状態変更通知に登録しているので、上部可視資源の状態が変わったという理由で、アプリケーションA706は、コールバック機能736によって、警告を受ける。したがって、コールバックに応答して、アプリケーションA706は、“状態取得(get status)”コマンド738を発行し、上部可視資源が別のアプリケーションに割り振られ、現在使用中であるという通知を戻す。
資源アービタのカスタマイジング
資源アービタは、上部可視資源が、要求しているオブジェクトへ譲り渡されることができるかどうかを判断する中央意思決定部である。資源アービタモジュールは、OEM/通信事業者によってカスタマイズ可能であり、クラス識別子(CLSID)を使用して、ダウンロード可能なモジュールとして実施され得る。1つの実施形態において、上部可視資源に対する1つの資源アービタ(IResArbiter)の実施がある。1つの実施形態において、資源アービタ方法、すなわちIResArbiter ConfirmAcquireは、アービトレーション決定を生成するために、既に記載した資源所有者情報および要求者情報を送られる。
現在の所有者が、譲渡CLSIDリストを指定し、要求者が、譲渡リストに明示されているアプリケーションIDまたはグループIDのリストにおいて識別されるとき、または(特権を与えられていない所有者の場合のように)所有者が、あらゆるIDを許可するときは、資源アービタは、与えられた情報の残りに基づいて所有権を転送する(最も簡単な実施では、要求を承認する)ことを決定し得る。要求者が、譲渡CLSIDリスト上で識別されないときは、資源アービタは要求を否認する。次に、BREWランタイム環境を実行するデバイスにおいて使用するのに適した資源アービタのConfirmAcquire方法のサンプルの実施を示す。
Figure 0004550893
Figure 0004550893
したがって、デバイスにおいて使用するアプリケーション優先順位システムの1つ以上の実施形態が、本明細書に示され、記載されたが、その意図または本質的な特性から逸脱することなく、実施形態に対して種々の変更を行うことができることが分かるであろう。したがって、本明細書における開示および記述は、特許請求項に記載されている本発明の範囲を制限することではなく、例示することを意図している。
デバイス上の上部可視資源を割り振るように動作する動的なアプリケーション優先順位システムの1つの実施形態を示す図。 デバイス、例えば、図1に示されているデバイスにおいて上部可視資源を割り振るアプリケーション優先順位システムの1つの実施形態の機能図。 アプリケーション優先順位システムの1つの実施形態を含むデバイスの1つの実施形態を示す図。 デバイスにおいて使用するアプリケーション優先順位システムの1つの実施形態を与える方法の1つの実施形態を示す図。 アプリケーション優先順位システムの1つの実施形態を与えるために、資源アービタを動作する方法の1つの実施形態を示す図。 アプリケーション優先順位システムの1つ以上の実施形態で使用するのに適した資源制御アーキテクチャの1つの実施形態を示す図。 アプリケーション優先順位システムの1つ以上の実施形態にしたがって、デバイスにおける上部可視資源が2つのアプリケーション間でどのように割り振られるかの例を示す図。
符号の説明
100,200・・・アプリケーション優先順位システム、102・・・無線端末、106,110・・・通信チャネル、116・・・アプリケーション、120・・・経路、300・・・デバイス、312・・・内部データバス、332・・・上部可視資源、400,500・・・方法、600・・・資源制御アーキテクチャ、700・・・割り振り例を表すダイアグラム。

Claims (24)

  1. デバイスのある上部可視資源を割り振るアプリケーション優先システムを動作させる方法であって、
    要求アプリケーションへの前記上部可視資源の割り振りを要請する要求を受信するステップと、
    所有側アプリケーションに前記上部可視資源が割り振られていることを決定するステップと、
    前記所有側アプリケーションに関する情報を含む所有側情報を前記要求側アプリケーションに関する情報を含要求情報関係付けてアービトレーション要求を生じさせるステップと
    を具備する方法において、
    前記所有アプリケーションが特権を与えられていることを前記所有側情報が示し、特権が与えられたアプリケーションは、前記上部可視資源の制御が譲り渡されるべき選定アプリケーションを特定する譲渡リストを有し、前記要求アプリケーションを識別する識別子が前記所有側情報に関連付けて前記譲渡リストに含まれている場合には、前記アービトレーション要求をアービトレートして前記上部可視資源が前記要求アプリケーションに割り振られるべきであることを示すアービトレートする決定を生じさせるステップと
    前記アービトレートする決定に基づいて、前記上部可視資源を割り振るステップと、
    を更に具備する方法。
  2. 前記アービトレートするステップは、前記アービトレーション要求をアービトレートし、前記所有アプリケーションが特権を与えられていること前記所有側情報が示し、前記所有側情報と関係付けられた前記譲渡リストに前記要求アプリケーションを識別する識別子が含まれていないときは、前記上部可視資源が前記所有アプリケーションに割り振られることを示すアービトレートする決定を生成することを含む請求項1記載の方法。
  3. 前記アービトレートするステップ前記アービトレーション要求をアービトレートして、前記所有側情報に含まれている少なくとも1つのパラメータに基づいて、前記上部可視資源が前記所有アプリケーション及び前記要求アプリケーションの一方に割り振られることを示すアービトレートする決定を生成することを含む請求項1記載の方法。
  4. 前記アービトレートするステップは、前記アービトレーション要求をアービトレートして、前記所有側情報、前記要求情報、デバイスの状態情報、デバイスの動作モード情報、ユーザの優先設定情報、及びサードパーティの優先設定情報を含む1組の情報項目から選択される任意の情報に基づいて、アービトレートする決定を生成することを含む請求項1記載の方法。
  5. 前記アービトレートするステップは、資源アービタ処理によって行われ、方法が資源アービタ処理をデバイスへダウンロードすることを含む請求項1記載の方法。
  6. 前記デバイスが無線デバイスである請求項1記載の方法。
  7. デバイスのある上部可視資源を動的に割り振るアプリケーション優先システムを動作させる装置において、
    資源マネージャであって、
    要求アプリケーションへの前記上部可視資源の割り振りを要請する要求を受信する論理
    所有アプリケーションに前記上部可視資源が割り振られていることを決定する論理
    前記所有側アプリケーションに関する情報を含む所有側情報を前記要求側アプリケーションに関する情報を含要求情報関係付けてアービトレーション要求を生じさせる論理を含む資源マネージャ
    前記所有アプリケーションが特権を与えられていることを前記所有側情報が示し、特権を与えられたアプリケーションは、前記上部可視資源の制御が譲り渡されるべき選定アプリケーションを特定する譲渡リストを有し、前記要求アプリケーションを識別する識別子が前記所有側情報に関連付けて前記譲渡リストに含まれている場合には、前記アービトレーション要求をアービトレートして前記上部可視資源が前記要求アプリケーションに割り振られるべきであることを示すアービトレートする決定を生じさせる資源アービタ、及び
    このアービトレートする決定に基づいて、前記上部可視資源を割り振る論理と、
    を含む装置。
  8. 前記資源アービタがアービトレーション要求をアービトレートし、前記所有アプリケーションが特権を与えられていることを前記所有側情報が示し、前記所有側情報と関係付けられた前記譲渡リストに前記要求アプリケーションを識別する識別子が含まれていないときは、前記上部可視資源が前記所有アプリケーションに割り振られることを示すアービトレーション決定を生成するように動作する請求項7記載の装置。
  9. 前記資源アービタ前記アービトレーション要求をアービトレートして、上部可視資源が、前記所有側情報に含まれている少なくとも1つのパラメータに基づいて、前記上部可視資源が前記所有アプリケーション及び前記要求アプリケーションの一方に割り振られることを示すアービトレーション決定を生成するように動作する請求項7記載の装置。
  10. 前記資源アービタ前記アービトレーション要求をアービトレートして、所有側情報、要求者情報、デバイスの状態情報、デバイスの動作モード情報、ユーザの優先設定情報、およびサードパーティの優先設定情報を含む1組の情報項目から選択される任意の情報に基づいて、アービトレーション決定を生成するように動作する請求項7記載の装置。
  11. 前記資源アービタを前記デバイスへダウンロードする論理も含む請求項7記載の装置。
  12. 前記デバイスが無線デバイスである請求項7記載の装置。
  13. デバイス上のある上部可視資源を割り振るアプリケーション優先順位システムを動作させる装置であって、
    要求アプリケーションへの前記上部可視資源の割り振りを要請する要求を受信する手段と、
    所有側アプリケーションに前記上部可視資源が割り振られていることを決定する手段と、
    前記所有側アプリケーションに関する情報を含む所有側情報を前記要求側アプリケーションに関する情報を含要求情報関係付けてアービトレーション要求を生じさせる手段と、
    前記所有アプリケーションが特権を与えられていることを前記所有側情報が示し、特権を与えられたアプリケーションは、前記上部可視資源の制御が譲り渡されるべき選定アプリケーションを特定する譲渡リストを有し、前記要求アプリケーションを識別する識別子が前記所有側情報に関連付けて前記譲渡リストに含まれている場合には、前記アービトレーション要求をアービトレートして前記上部可視資源が前記要求アプリケーションに割り振られるべきであることを示すアービトレートする決定を生成する手段と、
    このアービトレーション決定に基づいて、前記上部可視資源を割り振る手段と、
    を含む装置。
  14. 前記アービトレートする手段が、前記アービトレーション要求をアービトレートし、前記所有側アプリケーションが特権を与えられていることを前記所有側情報が示し、前記要求側アプリケーションを識別する識別子が前記所有側情報と関係付けられた前記譲渡リストに含まれていないときは、前記上部可視資源が前記所有側アプリケーションに割り振られることを示すアービトレーション決定を生成する手段を含む請求項13記載の装置。
  15. 前記アービトレートする手段が、前記アービトレーション要求をアービトレートして、前記上部可視資源が、前記所有側情報に含まれている少なくとも1つのパラメータに基づいて、前記所有側アプリケーションおよび前記要求側アプリケーションの一方に割り振られることを示すアービトレーション決定を生成する手段を含む請求項13記載の装置。
  16. 前記アービトレートする手段が、前記アービトレーション要求をアービトレートして、前記所有側情報、前記要求者情報、前記デバイスの状態情報、前記デバイスの動作モード情報、ユーザの優先設定情報、およびサードパーティの優先設定情報を含む1組の情報項目から選択される任意の情報に基づいて、アービトレーション決定を生成する手段を含む請求項13記載の装置。
  17. 前記アービトレートする手段が前記資源アービタによって行われ、前記装置が前記資源アービタを前記デバイスへダウンロードする手段を含む請求項13記載の装置。
  18. 前記デバイスが無線デバイスである請求項13記載の装置。
  19. デバイス内のプロセッサによって実行され、当該デバイスのある上部可視資源を割り振るためのアプリケーション優先順位システムを与えるように働く命令を含むコンピュータ読出し可能媒体であって、
    要求側アプリケーションへの前記上部可視資源の割り振りを要請する要求を受信する命令と、
    前記上部可視資源が、所有側アプリケーションに割り振られていることを決定する命令と、
    前記所有側アプリケーションに関する情報を含む所有側情報を前記要求側アプリケーションに関する情報を含要求情報関係付けてアービトレーション要求を生じさせる命令と、
    前記所有アプリケーションが特権を与えられていることを前記所有側情報が示し、特権を与えられたアプリケーションは、前記上部可視資源の制御が譲り渡されるべき選定アプリケーションを特定する譲渡リストを有し、前記要求アプリケーションを識別する識別子が前記所有側情報に関連付けて前記譲渡リストに含まれている場合には、前記アービトレーション要求をアービトレートして前記上部可視資源が前記要求アプリケーションに割り振られるべきであることを示すアービトレートする決定を生成する命令と、
    このアービトレーション決定に基づいて、前記上部可視資源を割り振る命令と、
    を含むコンピュータ読出し可能媒体。
  20. 前記アービトレートする命令は、前記アービトレーション要求をアービトレートし、前記所有アプリケーションが特権を与えられていることを前記所有側情報が示し、前記所有側情報と関係付けられた前記譲渡リストに要求アプリケーションを識別する識別子が含まれていないときは、前記上部可視資源が前記所有アプリケーションに割り振られることを示すアービトレーション決定を生成する命令を含む請求項19記載のコンピュータ読出し可能媒体。
  21. 前記アービトレートする命令前記アービトレーション要求をアービトレートして、上部可視資源が、前記所有側情報に含まれている少なくとも1つのパラメータに基づいて、前記上部可視資源が前記所有アプリケーション及び前記要求アプリケーションの一方に割り振られることを示すアービトレーション決定を生成する命令を含む請求項19記載のコンピュータ読出し可能媒体。
  22. 前記アービトレートする命令は、前記アービトレーション要求をアービトレートして、前記所有側情報、前記要求者情報、前記デバイスの状態情報、前記デバイスの動作モード情報、ユーザの優先設定情報、およびサードパーティの優先設定情報を含む1組の情報項目から選択される任意の情報に基づいて、アービトレーション決定を生成する命令を含む請求項19記載のコンピュータ読出し可能媒体。
  23. 前記アービトレートする命令が前記資源アービタによって実行され、前記コンピュータ読出し可能媒体が、前記資源アービタを前記デバイスへダウンロードする命令を含む請求項19記載のコンピュータ読出し可能媒体。
  24. 前記デバイスが無線デバイスである請求項19記載のコンピュータ読出し可能媒体。
JP2007515356A 2004-05-26 2005-05-25 デバイスの動作モードに基づくアプリケーションの優先順位のためのシステム Expired - Fee Related JP4550893B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/854,983 US7735085B2 (en) 2004-05-26 2004-05-26 System for application priority based on device operating mode
PCT/US2005/018607 WO2005119467A2 (en) 2004-05-26 2005-05-25 System for application priority based on device operating mode

Publications (2)

Publication Number Publication Date
JP2008500645A JP2008500645A (ja) 2008-01-10
JP4550893B2 true JP4550893B2 (ja) 2010-09-22

Family

ID=35426721

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007515356A Expired - Fee Related JP4550893B2 (ja) 2004-05-26 2005-05-25 デバイスの動作モードに基づくアプリケーションの優先順位のためのシステム

Country Status (17)

Country Link
US (1) US7735085B2 (ja)
EP (1) EP1751666B1 (ja)
JP (1) JP4550893B2 (ja)
KR (1) KR20070028446A (ja)
CN (1) CN101164046B (ja)
AR (1) AR049818A1 (ja)
AT (1) ATE484796T1 (ja)
AU (1) AU2005250848A1 (ja)
BR (1) BRPI0511498A (ja)
CA (1) CA2567384A1 (ja)
DE (1) DE602005024129D1 (ja)
IL (1) IL179352A0 (ja)
MX (1) MXPA06013664A (ja)
PE (1) PE20060390A1 (ja)
RU (1) RU2348970C2 (ja)
TW (1) TW200613992A (ja)
WO (1) WO2005119467A2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7802294B2 (en) * 2005-01-28 2010-09-21 Microsoft Corporation Controlling computer applications' access to data
US7810153B2 (en) * 2005-01-28 2010-10-05 Microsoft Corporation Controlling execution of computer applications
US7500091B2 (en) * 2005-11-30 2009-03-03 Microsoft Corporation Delay start-up of applications
US8954045B2 (en) * 2006-09-29 2015-02-10 Qualcomm Incorporated Method and apparatus for managing resources at a wireless device
US20080229319A1 (en) * 2007-03-08 2008-09-18 Benoit Marchand Global Resource Allocation Control
US8555201B2 (en) * 2008-06-05 2013-10-08 Qualcomm Incorporated Wireless communication device having deterministic control of foreground access of the user interface
US8438251B2 (en) * 2009-10-09 2013-05-07 Oracle International Corporation Methods and systems for implementing a virtual storage network
US8898621B2 (en) * 2009-10-09 2014-11-25 Oracle International Corporation Methods and systems for implementing a logical programming model
US20120102200A1 (en) * 2010-10-26 2012-04-26 Qualcomm Incorporated Application specific resource management
US8655305B2 (en) 2011-03-21 2014-02-18 Htc Corporation Methods for requesting emergency bearer services for low priority devices, and apparatuses using the same
US9881143B2 (en) 2012-12-06 2018-01-30 Qualcomm Incorporated Methods and apparatus for providing private expression protection against impersonation risks
KR101631310B1 (ko) * 2015-09-08 2016-06-16 이혁재 리소스 활용 프로그램의 우선순위를 결정하는 시스템 및 방법

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0485632A (ja) 1990-07-30 1992-03-18 Nec Corp デッドロック回避方式
JPH0698020A (ja) 1992-07-03 1994-04-08 Northern Telecom Ltd 通信方法
JPH06214976A (ja) 1993-01-13 1994-08-05 Toshiba Corp 割付決定支援装置
IL123512A0 (en) * 1998-03-02 1999-03-12 Security 7 Software Ltd Method and agent for the protection against hostile resource use access
US6009455A (en) * 1998-04-20 1999-12-28 Doyle; John F. Distributed computation utilizing idle networked computers
EP0964332B1 (en) 1998-06-10 2005-10-12 Sun Microsystems, Inc. Scheduling processes for resource allocation
US6438705B1 (en) * 1999-01-29 2002-08-20 International Business Machines Corporation Method and apparatus for building and managing multi-clustered computer systems
US6938256B2 (en) * 2000-01-18 2005-08-30 Galactic Computing Corporation System for balance distribution of requests across multiple servers using dynamic metrics
US20020007422A1 (en) * 2000-07-06 2002-01-17 Bennett Keith E. Providing equipment access to supply chain members
US6604160B1 (en) * 2000-09-28 2003-08-05 International Business Machines Corporation Computing system arbitrating and selectively providing resource-seeking tasks with takeaway of non-shareable resources
JP2004513454A (ja) * 2000-11-09 2004-04-30 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 周期的タスクのベストケース反応時間を決定する方法および装置
KR100353214B1 (ko) 2001-01-16 2002-09-18 삼성전자 주식회사 휴대용 무선단말기 기능 서비스방법
US20020156900A1 (en) * 2001-03-30 2002-10-24 Brian Marquette Protocol independent control module
US20030005130A1 (en) * 2001-06-29 2003-01-02 Cheng Doreen Yining Audio-video management in UPnP
JP2004078936A (ja) * 2002-07-31 2004-03-11 Matsushita Electric Ind Co Ltd 情報処理端末及び情報処理方法
EP1387593A3 (en) 2002-07-31 2005-06-15 Matsushita Electric Industrial Co., Ltd. Information processing terminal and information processing method
TWI269165B (en) * 2004-03-30 2006-12-21 Infortrend Technology Inc Dispatching of service requests in redundant storage virtualization subsystems

Also Published As

Publication number Publication date
US7735085B2 (en) 2010-06-08
DE602005024129D1 (de) 2010-11-25
AU2005250848A1 (en) 2005-12-15
RU2006146044A (ru) 2008-07-10
US20050268014A1 (en) 2005-12-01
RU2348970C2 (ru) 2009-03-10
BRPI0511498A (pt) 2008-01-08
ATE484796T1 (de) 2010-10-15
TW200613992A (en) 2006-05-01
CN101164046A (zh) 2008-04-16
EP1751666A4 (en) 2008-04-02
IL179352A0 (en) 2007-03-08
JP2008500645A (ja) 2008-01-10
MXPA06013664A (es) 2007-03-23
EP1751666A2 (en) 2007-02-14
AR049818A1 (es) 2006-09-06
KR20070028446A (ko) 2007-03-12
CN101164046B (zh) 2010-05-05
EP1751666B1 (en) 2010-10-13
WO2005119467A2 (en) 2005-12-15
PE20060390A1 (es) 2006-05-27
CA2567384A1 (en) 2005-12-15
WO2005119467A3 (en) 2007-08-23

Similar Documents

Publication Publication Date Title
JP4550893B2 (ja) デバイスの動作モードに基づくアプリケーションの優先順位のためのシステム
US7315904B2 (en) Resource allocation among multiple applications based on an arbitration method for determining device priority
US9201693B2 (en) Quota-based resource management
EP3403177B1 (en) Managing delivery of code and dependent data using application containers
US20070130336A1 (en) Resource control
CN113535251A (zh) 一种线程管理方法及装置
US7000050B2 (en) Apparatus, method and program for contention arbitration
US20220286467A1 (en) Managing Application Constraints across Platforms
JP2008269113A (ja) アプリケーション実行環境構築システム、装置及びそれに用いる方法並びにそのプログラム
CN111026542A (zh) 一种应用程序的覆盖图标的显示方法和装置
EP2280345A1 (en) A device for and a method of managing computer tasks
CN114489824A (zh) 一种快速启动的控制方法、装置及电子设备

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091222

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100323

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100330

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100422

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: 20100608

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100708

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130716

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees