JP2014505282A - マルチプロセッサモバイル通信デバイスのアプリケーション用のリソース取得の調停 - Google Patents

マルチプロセッサモバイル通信デバイスのアプリケーション用のリソース取得の調停 Download PDF

Info

Publication number
JP2014505282A
JP2014505282A JP2013539001A JP2013539001A JP2014505282A JP 2014505282 A JP2014505282 A JP 2014505282A JP 2013539001 A JP2013539001 A JP 2013539001A JP 2013539001 A JP2013539001 A JP 2013539001A JP 2014505282 A JP2014505282 A JP 2014505282A
Authority
JP
Japan
Prior art keywords
application
resource
access
priority level
concurrency manager
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
JP2013539001A
Other languages
English (en)
Other versions
JP5649253B2 (ja
Inventor
フヌ・テジャスウィニ
ヴァイブハヴ・マスール
サチン・エー・アブヒャンカール
アリ・ナヴロザリー
Original Assignee
クアルコム,インコーポレイテッド
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 クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2014505282A publication Critical patent/JP2014505282A/ja
Application granted granted Critical
Publication of JP5649253B2 publication Critical patent/JP5649253B2/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]
    • 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
    • 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/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • 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/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)

Abstract

ある実施形態では、マルチプロセッサモバイル通信デバイスは、並行性マネージャサーバアプリケーション(CMSA)を実行する第1のプロセッサシステムと、並行性マネージャクライアントアプリケーション(CMCA)を実行する第2のプロセッサシステムとを含む。CMSAは、第1のプロセッサシステム上での実行のために構成された第1のアプリケーションセット、および第2のプロセッサシステム上での実行のために構成された第2のアプリケーションセット用のリソースへのアクセスに関連した優先度レベルを判定する。CMSAは、判定優先度をCMCAに通知する。次いで、CMSAおよびCMCAは各々、第1および第2のアプリケーションセット用のリソースへのアクセスを、それぞれ、判定優先度レベルに基づいて選択的に許可または拒否する。別の実施形態では、CMSAまたはCMCAは、アプリケーションによるリソースへのアクセス要求を拒否する場合、要求側アプリケーションがその目標を達成し得るための代替リソースの使用可能性を判断してもよい。

Description

米国特許法第119条に基づく優先権の主張
本特許出願は、本出願の譲受人に譲渡され、参照により明示的に本明細書に組み込まれる、2010年11月15日に出願された「ARBITRATING RESOURCE ACQUISITION FOR APPLICATIONS OF A MULTI-PROCESSOR MOBILE COMMUNICATIONS DEVICE」という名称の仮出願第61/413,780号の優先権を主張する。
本発明の実施形態は、モバイル通信デバイスのアプリケーション用のリソース取得の調停に関する。
ワイヤレス通信システムは、第1世代アナログワイヤレス電話サービス(1G)、第2世代(2G)デジタルワイヤレス電話サービス(暫定の2.5Gおよび2.75Gネットワークを含む)、ならびに第3世代(3G)高速データ/インターネット対応ワイヤレスサービスを含む、様々な世代を通じて発展してきた。現在、セルラーシステムとパーソナルコミュニケーションズサービス(PCS)システムとを含む、多くの様々なタイプのワイヤレス通信システムが使用されている。知られているセルラーシステムの例には、セルラーアナログアドバンストモバイルフォンシステム(AMPS)、および符号分割多元接続(CDMA)、周波数分割多元接続(FDMA)、直交FDMA(OFDMA)、時分割多元接続(TDMA)、TDMAの広域移動通信システム(GSM(登録商標))変形に基づくデジタルセルラーシステム、およびTDMA技術とCDMA技術の両方を使用するより新しいハイブリッドデジタル通信システムがある。
CDMAモバイル通信を提供するための方法は、本明細書ではIS-95と呼ぶ、「Mobile Station-Base Station Compatibility Standard for Dual-Mode Wideband Spread Spectrum Cellular System」と題するTIA/EIA/IS-95-Aにおいて、米国電気通信工業会/米国電子工業会によって米国で規格化された。複合AMPS&CDMAシステムは、TIA/EIA規格IS-98に記載されている。他の通信システムは、広帯域CDMA(W-CDMA)、CDMA2000(たとえばCDMA2000 1xEV-DO標準など)またはTD-SCDMAと呼ばれるものを対象とする、IMT-2000/UM、または国際移動電気通信システム2000/ユニバーサルモバイル通信システムの規格に記載されている。
W-CDMAワイヤレス通信システムにおいて、ユーザ機器(UE)は、基地局に隣接するまたは基地局の周囲の特定の地理的領域内の通信リンクまたはサービスをサポートする固定位置のノードB(セルサイトまたはセルとも呼ばれる)から信号を受信する。ノードBは、一般にサービス品質(QoS)要求に基づいてトラフィックを区別するための方法をサポートする標準Internet Engineering Task Force (IETF)ベースのプロトコルを使用したパケットデータネットワークであるアクセスネットワーク(AN)/無線アクセスネットワーク(RAN)にエントリーポイントを提供する。したがって、ノードBは、一般に、エアインターフェースを介してUEと、またインターネットプロトコル(IP)ネットワークデータパケットを介してRANと対話する。
ワイヤレス電気通信システムでは、プッシュツートーク(PTT)機能がサービスセクタおよび消費者に普及しつつある。PTTは、たとえばW-CDMA、CDMA、FDMA、TDMA、GSM(登録商標)など、標準的な商用のワイヤレスインフラストラクチャ上で動作する「ディスパッチ」ボイスサービスをサポートすることができる。ディスパッチモデルでは、エンドポイント(たとえば、UE)間の通信が仮想グループ内で行われ、そこでは1人の「送話者(talker)」のボイスが1人または複数の「受話者(listener)」に送信される。このタイプの通信の単一のインスタンスは、通常、ディスパッチ呼(dispatch call)、または単にPTT呼と呼ばれる。PTT呼は、呼の特徴を定義するグループのインスタンス化である。グループは、本質的に、メンバーリスト、およびたとえばグループ名またはグループ識別情報などの関連する情報によって定義される。
ある実施形態では、マルチプロセッサモバイル通信デバイスは、並行性マネージャサーバアプリケーション(CMSA)を実行する第1のプロセッサシステムと、並行性マネージャクライアントアプリケーション(CMCA)を実行する第2のプロセッサシステムとを含む。CMSAは、第1のプロセッサシステム上での実行のために構成された第1のアプリケーションセット、および第2のプロセッサシステム上での実行のために構成された第2のアプリケーションセット用のリソースへのアクセスに関連した優先度レベルを判定する。CMSAは、判定優先度をCMCAに通知する。次いで、CMSAおよびCMCAは各々、第1および第2のアプリケーションセット用のリソースへのアクセスを、それぞれ、判定優先度レベルに基づいて選択的に許可または拒否する。別の実施形態では、CMSAまたはCMCAが、アプリケーションによるリソースへのアクセス要求を拒否した場合、要求側アプリケーションがその目標を達成し得るための代替リソースの使用可能性を判断してもよい。
本発明の実施形態およびその付随する利点の多くのより完全な諒解は、以下の詳細な説明を参照し、本発明を限定するためではなく単に例示するために提示する添付の図面とともに考察することによってよりよく理解されれば、容易に得られるであろう。
本発明の少なくとも1つの実施形態による、ユーザ機器および無線アクセスネットワークをサポートするワイヤレスネットワークアーキテクチャを示す図である。 本発明の一実施形態による図1のコアネットワークを示す図である。 図1のワイヤレス通信システムの一例をより詳細に示す図である。 本発明の少なくとも1つの実施形態によるユーザ機器を示す図である。 本発明の実施形態によるマルチプロセッサシステムを示す図である。 本発明の実施形態によるマルチプロセッサシステムを示す図である。 本発明の実施形態によるリソース割振りの様々なシナリオを示す図である。 本発明の実施形態によるリソース割振りの様々なシナリオを示す図である。 本発明の実施形態によるリソース割振りの様々なシナリオを示す図である。 本発明の実施形態によるリソース割振りの様々なシナリオを示す図である。 本発明の実施形態によるリソース割振りの少なくとも1つのシナリオを示す図である。 本発明の実施形態によるリソース割振りの少なくとも1つのシナリオを示す図である。 本発明の実施形態によるリソース割振りの少なくとも1つのシナリオを示す図である。 本発明の実施形態による、アプリケーション優先度の少なくとも1つの判定を示す図である。 本発明を説明するための図面である。 本発明を説明するための図面である。 本発明を説明するための図面である。 本発明を説明するための図面である。
本発明の特定の実施形態を対象とする以下の説明および関連する図面で本発明の態様を開示する。本発明の範囲から逸脱することなく代替的な実施形態を考案することができる。さらに、本発明の関連する詳細を不明瞭にしないように、本発明のよく知られている要素については詳細に説明しないか、または省略する。
「例示的」および/または「例」という用語は、本明細書では「例、事例、または例示として機能すること」を意味するために使用される。本明細書で「例示的」および/または「例」として説明するいかなる実施形態も、必ずしも他の実施形態よりも好ましいまたは有利であると解釈すべきではない。同様に、「本発明の実施形態」という用語は、本発明のすべての実施形態が、論じられた特徴、利点または動作モードを含むことを必要としない。
さらに、多くの実施形態が、たとえば、コンピューティングデバイスの要素によって実行すべき一連のアクションに関して説明される。本明細書で説明する様々なアクションは、特定の回路(たとえば、特定用途向け集積回路(ASIC))によって、1つもしくは複数のプロセッサによって実行されるプログラム命令によって、または両方の組合せによって実行できることが認識されよう。さらに、本明細書で説明するこれらの一連のアクションは、実行時に、関連するプロセッサに本明細書で説明する機能を実行させるコンピュータ命令の対応するセットを記憶した、任意の形式のコンピュータ可読記憶媒体内で完全に具現化されるものと見なすことができる。したがって、本発明の様々な態様は、すべてが特許請求される主題の範囲内に入ることが企図されているいくつかの異なる形式で具現化できる。さらに、本明細書で説明する実施形態ごとに、任意のそのような実施形態の対応する形式を、たとえば、記載のアクションを実行する「ように構成された論理」として本明細書で説明することがある。
本明細書ではユーザ機器(UE)と呼ばれる高データレート(HDR)加入者局は、モバイルでも固定でもよく、ノードBと呼ばれ得る1つまたは複数のアクセスポイント(AP)と通信することができる。UEは、ノードBのうちの1つまたは複数を介して、無線ネットワークコントローラ(RNC)との間でデータパケットを送受信する。ノードBおよびRNCは、無線アクセスネットワーク(RAN)と呼ばれるネットワークの部分である。無線アクセスネットワークは、複数のUE間に音声およびデータパケットをトランスポートすることができる。
無線アクセスネットワークは、無線アクセスネットワークの外部の追加のネットワークにさらに接続されていてもよく、そのようなコアネットワークは、特定のキャリア関連のサーバおよびデバイス、ならびに企業内イントラネット、インターネット、公衆交換電話網(PSTN)、サービング汎用パケット無線サービス(GPRS)サポートノード(SGSN)、ゲートウェイGPRSサポートノード(GGSN)など他のネットワークへの接続を含んでおり、各UEとそのようなネットワークとの間で音声およびデータパケットをトランスポートすることができる。1つまたは複数のノードBとのアクティブなトラフィックチャネル接続を確立したUEは、アクティブなUEと呼ぶことができ、トラフィック状態であると呼ぶことができる。1つまたは複数のノードBとのアクティブなトラフィックチャネル(TCH)接続を確立する過程にあるUEは、接続セットアップ状態であると呼ぶことができる。UEは、ワイヤレスチャネルまたは有線のチャネルを介して通信する任意のデータデバイスとすることができる。UEは、さらに、限定はしないが、PCカード、コンパクトフラッシュ(登録商標)デバイス、外付けまたは内蔵のモデム、あるいはワイヤレスまたは有線の電話を含むいくつかのタイプのデバイスのうちの任意のものでもよい。UEが信号をノードBに送る通信リンクは、アップリンクチャネル(たとえば、逆方向トラフィックチャネル、制御チャネル、アクセスチャネルなど)と呼ばれる。ノードBが信号をUEに送る通信リンクは、ダウンリンクチャネル(たとえば、ページングチャネル、制御チャネル、ブロードキャストチャネル、順方向トラフィックチャネルなど)と呼ばれる。本明細書で使用する場合、トラフィックチャネル(TCH)という用語は、アップリンク/逆方向、またはダウンリンク/順方向トラフィックチャネルのいずれかを指し得る。
図1は、本発明の少なくとも1つの実施形態によるワイヤレス通信システム100の例示的な一実施形態のブロック図を示す。システム100は、パケット交換データネットワーク(たとえばイントラネット、インターネット、および/またはコアネットワーク126)とUE102、108、110、112との間にデータ接続を提供するネットワーク機器にアクセス端末102を接続することができるアクセスネットワークまたは無線アクセスネットワーク(RAN)120と、エアインターフェース104を介して通信しているセルラー電話102などのUEを含むことができる。本明細書に示すように、UEは、セルラー電話102、携帯情報端末108、本明細書では双方向テキストページャとして示すページャ110、さらにはワイヤレス通信ポータルを有する個別のコンピュータプラットフォーム112とすることができる。したがって、本発明の実施形態は、限定はされないが、ワイヤレスモデム、PCMCIAカード、パーソナルコンピュータ、電話、またはそれらの任意の組合せもしくは部分的な組合せを含む、ワイヤレス通信ポータルを含むか、またはワイヤレス通信機能を有する任意の形態のアクセス端末上で実現され得る。さらに、本明細書で使用するように、他の通信プロトコル(すなわちW-CDMA以外)における「UE」という用語は、互換的に「アクセス端末」、「AT」、「ワイヤレスデバイス」、「クライアントデバイス」、「モバイル端末」、「移動局」、およびそれらの変形と呼ばれ得る。
再び図1を参照すると、ワイヤレス通信システム100の構成要素、および本発明の例示的な実施形態の要素の相互関係は、図示の構成に限定されない。システム100は、例にすぎず、ワイヤレスクライアントコンピューティングデバイス102、108、110、112などのリモートUEが、無線で互いの間で、および/またはそれだけには限定されないが、コアネットワーク126、インターネット、PSTN、SGSN、GGSN、および/または他のリモートサーバを含めて、エアインターフェース104およびRAN120を介して接続される構成要素の間で通信することができる任意のシステムを含むことができる。
RAN120は、RNC122に送られる(一般的にデータパケットとして送られる)メッセージを制御する。RNC122は、サービング汎用パケット無線サービス(GPRS)サポートノード(SGSN)とUE102/108/110/112との間のベアラチャネル(すなわち、データチャネル)のシグナリング、確立、およびティアダウンを行う役目を果たす。また、リンクレイヤ暗号化が可能な場合、RNC122は、エアインターフェース104を介してコンテンツを転送する前に、コンテンツを暗号化する。RNC122の機能は、当技術分野でよく知られており、簡潔のためにこれ以上は説明しない。コアネットワーク126は、ネットワーク、インターネット、および/または公衆交換電話網(PSTN)によってRNC122と通信することができる。代わりに、RNC122は、インターネットまたは外部ネットワークに直接接続することができる。一般的に、コアネットワーク126とRNC122との間のネットワークまたはインターネット接続は、データを転送し、PSTNは、ボイス情報を転送する。RNC122は、複数のノードB124に接続することができる。コアネットワーク126と同様の方法で、RNC122は、一般的に、データ転送および/またはボイス情報転送のために、ネットワーク、インターネット、および/またはPSTNによってノードB124に接続される。ノードB124は、データメッセージを、たとえばセルラー電話102などのUEにワイヤレスでブロードキャストすることができる。当技術分野で知られているように、ノードB124、RNC122、および他の構成要素は、RAN120を形成することができる。しかし、代替構成が使用されてもよく、本発明は、図示の構成に限定されない。たとえば、別の実施形態では、RNC122、およびノードB124のうちの1つまたは複数の機能は、RNC122とノードB124の両方の機能を有する単一の「ハイブリッド」モジュールに縮小することができる。
図2Aは、本発明の一実施形態によるコアネットワーク126を示す。特に、図2Aは、W-CDMAシステム内に実装される汎用パケット無線サービス(GPRS)コアネットワークの構成要素を示す。図2Aの実施形態では、コアネットワーク126は、サービングGPRSサポートノード(SGSN)160、ゲートウェイGPRSサポートノード(GGSN)165、およびインターネット175を含む。しかし、代替実施形態では、インターネット175および/または他の構成要素の部分がコアネットワークの外部に配置されていてもよいことを諒解されたい。
一般に、GPRSは、インターネットプロトコル(IP)パケットを送信するために、Global System for Mobile communications(GSM(登録商標))電話によって使用されるプロトコルである。GPRSコアネットワーク(たとえば、GGSN165および1つまたは複数のSGSN160)は、GPRSシステムの中央部であり、W-CDMAベースの3Gネットワークのサポートも提供する。GPRSコアネットワークは、GSM(登録商標)コアネットワークの一体部であり、GSM(登録商標)およびW-CDMAネットワークにおけるIPパケットサービスのモビリティ管理、セッション管理、およびトランスポートを提供する。
GPRSトンネリングプロトコル(GTP)は、GPRSコアネットワークの限定的なIPプロトコルである。GTPは、GGSN165において、まるで1つの位置からインターネットに接続し続けながら、GSM(登録商標)またはW-CDMAネットワークのエンドユーザ(たとえば、アクセス端末)があちこちに移動することができるプロトコルである。これは、加入者のデータを加入者の現在のSSGN160から、加入者のセッションを処理しているGGSN165に転送することによって達成される。
GTPの3つの形態、すなわち(i)GTP-U、(ii)GTP-C、および(iii)GTP'(GTP Prime)がGPRSコアネットワークによって使用される。GTP-Uは、パケットデータプロトコル(PDP)コンテキストごとに分離されたトンネルでのユーザデータの転送に使用される。GTP-Cは、制御シグナリング(たとえば、PDPコンテキストのセットアップおよび削除、GSN到達可能性の検証、加入者があるSGSNから別のSGSNに移動したときなどの更新または変更)に使用される。GTP'は、GSNから課金機能への課金データの転送のために使用される。
図2Aを参照すると、GGSN165は、GPRSバックボーンネットワーク(図示せず)と外部パケットデータネットワーク175との間のインターフェースとして働く。GGSN165は、関連するパケットデータプロトコル(PDP)形式(たとえば、IPまたはPPP)のパケットデータを、SGSN160から来るGPRSパケットから抽出し、対応するパケットデータネットワーク上でパケットを送る。他方の方向では、着信データパケットは、GGSN165によってSGSN160に向けられ、SGSN160は、RAN120によってサービスされる宛先のUEの無線アクセスベアラ(RAB)を管理し、制御する。それによって、GGSN165は、ターゲットUEの現在のSGSNアドレス、およびそのユーザのプロファイルをそのロケーションレジスタ(たとえば、PDPコンテキスト内)に記憶する。GGSNは、IPアドレス割当ての役目を果たし、接続されたUEのデフォルトルータである。また、GGSNは、認証および課金機能を実行する。
一例では、SGSN160は、コアネットワーク126内の多くのSGSNのうちの1つの代表である。各SGSNは、関連する地理的サービスエリア内で、UEからおよびUEにデータパケットを配信する役目を果たす。SGSN160のタスクには、パケットルーティングおよび転送、モビリティ管理(たとえば、接続/切断およびロケーション管理)、論理リンク管理、ならびに認証および課金機能がある。SGSNのロケーションレジスタは、位置情報(たとえば、現在のセル、現在のVLRなど)、および、たとえばユーザまたはUEごとに1つまたは複数のPDPコンテキスト内など、SGSN160に登録されたすべてのGPRSユーザのユーザプロファイル(たとえば、パケットデータネットワークで使用するIMSI、PDPアドレスなど)を記憶する。したがって、SGSNは、(i)GGSN165からのダウンリンクGTPパケットの逆トンネリング、(ii)GGSN165方向のIPパケットのアップリンクトンネル、(iii)UEがSGSNサービスエリアの間を移動するときのモビリティ管理の実行、(iv)モバイル加入者の支払い請求の役目を果たす。当業者なら諒解するように、(i)〜(iv)の他に、GSM(登録商標)/EDGEネットワークのために構成されたSGSNは、W-CDMAネットワークのために構成されたSGSNと比較して、わずかに異なる機能を有する。
RAN120(またはユニバーサルモバイル通信システム(UMTS)システムアーキテクチャにおけるUTRANなど)は、フレームリレーまたはIPなどの送信プロトコルによって、Iuインターフェースを介してSGSN160と通信する。SGSN160は、SGSN160および他のSGSN(図示せず)と内部のGGSNとの間のIPベースのインターフェースであり、上記で定義されたGTPプロトコル(たとえば、GTP-U、GTP-C、GTP'など)を使用するGnインターフェースを介してGGSN165と通信する。図2Aには示されていないが、Gnインターフェースは、ドメインネームシステム(DNS)によっても使用される。GGSN165は、公衆データネットワーク(PDN)(図示せず)に、次にインターネット175に、IPプロトコルによるGiインターフェースを介して直接、またはワイヤレスアプリケーションプロトコル(WAP)ゲートウェイを介して接続される。
PDPコンテキストは、UEがアクティブなGPRSセッションを有するとき、特定のUEの通信セッション情報を含む、SGSN160とGGSN165の両方に存在するデータ構造である。UEは、GPRS通信セッションを開始することを望むとき、まず、SGSN160に接続し、次いでGGSN165によりPDPコンテキストを起動させなければならない。これによって、加入者が現在訪問しているSGSN160、およびUEのアクセスポイントにサービスしているGGSN165において、PDPコンテキストデータ構造が割り振られる。
図2Bは、図1のワイヤレス通信システム100の一例をより詳細に示す。特に、図2Bを参照すると、UE1...Nは、異なるパケットデータネットワークのエンドポイントによってサービスされる位置でRAN120に接続するものとして示されている。図2Bの例は、W-CDMAシステムおよび用語に固有のものであるが、1xEV-DOシステムに適合するために図2Bをどのように変更することができるかは理解されよう。したがって、UE1およびUE3は、第1のパケットデータネットワークエンドポイント162(たとえば、SGSN、GGSN、PDSN、ホームエージェント(HA)、外部エージェント(FA)などに対応し得る)によってサービスされる部分でRAN120に接続する。第1のパケットデータネットワークエンドポイント162は、次に、ルーティングユニット188を介して、インターネット175、ならびに/または認証、認可およびアカウンティング(AAA)サーバ182、プロビジョニングサーバ184、インターネットプロトコル(IP)マルチメディアサブシステム(IMS)/セッション開始プロトコル(SIP)登録サーバ186、および/もしくはアプリケーションサーバ170のうちの1つもしくは複数に接続する。UE2およびUE5...Nは、第2のパケットデータネットワークエンドポイント164(たとえば、SGSN、GGSN、PDSN、FA、HAなどに対応し得る)によってサービスされる部分でRAN120に接続する。第1のパケットデータネットワークエンドポイント162と同様に、第2のパケットデータネットワークエンドポイント164は、次に、ルーティングユニット188を介して、インターネット175、ならびに/またはAAAサーバ182、プロビジョニングサーバ184、IMS/SIP登録サーバ186、および/もしくはアプリケーションサーバ170のうちの1つもしくは複数に接続する。UE4は、直接インターネット175に接続し、次いでインターネット175を介して、上記のシステム構成要素のうちのいずれかに接続することができる。
図2Bを参照すると、UE1、UE3、およびUE5...Nは、ワイヤレス携帯電話として示され、UE2は、ワイヤレスタブレット型PCとして示され、UE4は、有線のデスクトップステーションとして示されている。しかし、他の実施形態では、ワイヤレス通信システム100が任意のタイプのUEに接続することができ、図2Bに示される例は、システム内に実装され得るUEのタイプを制限するものではないことが理解されよう。また、AAA182、プロビジョニングサーバ184、IMS/SIP登録サーバ186、およびアプリケーションサーバ170はそれぞれ、構造的に別のサーバとして示されているが、本発明の少なくとも1つの実施形態において、これらのサーバのうちの1つまたは複数は、統合されていてもよい。
さらに、図2Bを参照すると、アプリケーションサーバ170は、複数のメディア制御コンプレックス(MCC)1...N 170Bと複数の地域ディスパッチャ1...N 170Aとを含むものとして示されている。集合的に、地域ディスパッチャ170AおよびMCC170Bは、少なくとも1つの実施形態では、ワイヤレス通信システム100内の通信セッション(たとえば、IPユニキャストプロトコルおよび/またはIPマルチキャストプロトコルを介した半二重/全二重グループ通信セッション)を調停するように集合的に機能するサーバの分散型ネットワークに対応し得る、アプリケーションサーバ170内に含まれる。たとえば、アプリケーションサーバ170によって調停される通信セッションは、理論上、システム100内のどこかに位置するUE間で行われ得るので、調停された通信セッションのレイテンシを低減するように(たとえば、北米のMCCが中国にあるセッション参加者間で媒体をあちこち中継しないように)、複数の地域ディスパッチャ170AおよびMCCが分布する。したがって、アプリケーションサーバ170を参照すると、関連する機能は、地域ディスパッチャ170Aのうちの1つもしくは複数、および/またはMCC170Bのうちの1つもしくは複数によって実施することができることを諒解されよう。地域ディスパッチャ170Aは、全般的に、通信セッションを確立することに関連する任意の機能(たとえば、UE間のシグナリングメッセージの処理、告知メッセージのスケジューリングおよび/または送信など)を受け持ち、MCC170Bは、通話中シグナリング、調停された通信セッション中の媒体の実際の交換を行うことを含めて、呼インスタンスの間の通信セッションをホストする役目を果たす。
図3を参照すると、セルラー電話などのUE200(ここではワイヤレスデバイス)は、コアネットワーク126、インターネットならびに/または他のリモートサーバおよびネットワークから最終的に来ることがある、RAN120から送信されたソフトウェアアプリケーション、データおよび/またはコマンドを受信し、実行することができるプラットフォーム202を有する。プラットフォーム202は、特定用途向け集積回路(ASIC)もしくは他のプロセッサ、マイクロプロセッサ、論理回路、または他のデータ処理デバイスに動作可能に結合された、送受信機206を含むことができる。1つまたは複数のプロセッサ(たとえば、207、208)は、ワイヤレスデバイスのメモリ212中の任意の常駐プログラムとインターフェースするアプリケーションプログラミングインターフェース(API)210レイヤを実行する。メモリ212は、読取り専用メモリもしくはランダムアクセスメモリ(RAMおよびROM)、EEPROM、フラッシュカード、またはコンピュータプラットフォームに共通の任意のメモリから構成することができる。プラットフォーム202は、メモリ212中でアクティブに使用されないアプリケーションを保持することができるローカルデータベース214を含むこともできる。ローカルデータベース214は、一般にフラッシュメモリセルであるが、磁気媒体、EEPROM、光学媒体、テープ、ソフトまたはハードディスクなど、当技術分野で知られている任意の二次記憶デバイスとすることができる。内部プラットフォーム202の構成要素はまた、当技術分野で知られていているように、他の構成要素の中でもアンテナ222、ディスプレイ224、プッシュツートークボタン228およびキーパッド226などの外部デバイスに動作可能に結合され得る。
したがって、本発明の一実施形態は、本明細書で説明した機能を実行する能力を含むUEを含むことができる。当業者ならば諒解するように、様々な論理要素は、本明細書で開示する機能を達成するために、個別の要素、プロセッサ上で実行されるソフトウェアモジュール、またはソフトウェアとハードウェアとの任意の組合せで実施できる。たとえば、プロセッサI207、プロセッサII208、メモリ212、API210およびローカルデータベース214をすべて協働的に使用して、本明細書で開示する様々な機能をロード、記憶および実行することができ、したがって、これらの機能を実行する論理は様々な要素に分散され得る。代替的に、機能は1つの個別の構成要素に組み込まれ得る。したがって、図3のUE200の特徴は、単に例示にすぎないものと見なされ、本発明は、示された特徴または構成に限定されない。
さらに、UE200は、複数の加入者識別情報モジュール(SIM)1...N、244を含むものとして示されている。したがって、UE200は、下でより詳しく説明するように、マルチSIM UEに対応する。
UE102またはUE200とRAN120との間のワイヤレス通信は、たとえば符号分割多元接続(CDMA)、W-CDMA、時分割多元接続(TDMA)、周波数分割多元接続(FDMA)、直交周波数分割多元(OFDM)、Global System for Mobile Communications (GSM(登録商標))、またはワイヤレス通信ネットワークもしくはデータ通信ネットワークで使用され得る他のプロトコルなど、異なる技術に基づき得る。たとえば、W-CDMAでは、データ通信は、一般的に、クライアントデバイス102、ノードB124、およびRNC122の間である。RNC122は、コアネットワーク126、PSTN、インターネット、仮想専用ネットワーク、SGSN、GGSNなど複数のデータネットワークに接続することができ、したがって、UE102またはUE200は、より広い通信ネットワークにアクセスすることができる。上記で説明し、当技術分野で知られているように、ボイス送信、および/またはデータは、様々なネットワークおよび構成を使用してRANからUEに送信することができる。したがって、本明細書で提供する例は、本発明の実施形態を限定するためのものではなく、単に本発明の実施形態の態様の説明を助けるためのものにすぎない。
以下、本発明の実施形態は、全般的に、W-CDMAプロトコルおよび関連する用語に従って説明される(たとえば、移動局(MS)、モバイルユニット(MU)、アクセス端末(AT)などの代わりにUE、EV-DOでのBSCとは異なりRNC、EV-DOでのBSまたはMPT/BSとは異なりノードBなど)。しかしながら、W-CDMA以外のワイヤレス通信プロトコル(たとえば、EV-DO、ロングタームエボリューション(LTE)など)とともに本発明の実施形態がどのように適用され得るかを、当業者は容易に諒解されよう。
マルチプロセッサハンドセットでは、ほとんどのアプリケーションが、ハイレベルオペレーティングシステム(HLOS)(たとえば、アンドロイド、iOS、Windows(登録商標) Mobileなど)の上のアプリケーションプロセッサシステムにおいて稼働する。これらのアプリケーションは通常、特にレイテンシセンシティブなわけではなく、エアインターフェースとの密接なつながりはない。ただし、VoIPアプリケーションなどのレイテンシセンシティブアプリケーションにとって、HLOSは、サービス品質(QoS)などのレイテンシセンシティブ機能性をサポートするのに不十分な場合がある。したがって、レイテンシセンシティブアプリケーションは、アプリケーションプロセッサシステムとは別個のモデムプロセッサシステムによってハンドリングすることができ、そうすることによって、レイテンシセンシティブアプリケーションは、エアインターフェースに、より直接的にアクセスすることができる。
ただし、モデムおよびアプリケーションプロセッサシステム上で、異なるアプリケーションが同時に稼働しているとき、所与のときにアプリケーションの閾数(たとえば、1)よりも多くにはリソースを割り当てることができなくなるという、プロセッサシステムの間のリソース競合に関して問題が起こり得る。たとえば、ハンドセットのオーディオ出力デバイスまたはスピーカに関して、HLOSによって実装される典型的な並行性管理ソリューションは、ボイス呼がアクティブであるとき、すべての他のアプリケーションが、オーディオ出力デバイスにアクセスするのを阻止するが、アクティブでないときは、モデムおよびプロセッサシステム上のアプリケーションに対する制約を強制しない。したがって、モデムプロセッサシステム上の第1のアプリケーション(たとえば、VoIPアプリケーション)が、アプリケーションプロセッサシステム上の第2のアプリケーション(たとえば、MP3アプリケーション)と同時に、オーディオ出力デバイスにアクセスしようと試み得ることが可能であり、その結果、オーディオ出力がマージされ、ユーザエクスペリエンスを低下させる。さらに、他のアプリケーションに対する優先度はサポートされなくてよい。
図4Aは、本発明の実施形態によるマルチプロセッサUEの構造アーキテクチャを示す。図4Aを参照すると、マルチプロセッサUEは、第1のプロセッサシステム400Aおよび第2のプロセッサシステム450Aを含む。ある例では、第1のプロセッサシステム400Aは、マルチプロセッサUEによって実行されるアプリケーションのうちの大部分の実行を担うアプリケーションプロセッサシステムに対応し、第2のプロセッサシステム450Aは、マルチプロセッサUEのワイヤレス通信機能を制御するとともに、レイテンシセンシティブアプリケーション(たとえば、VoIPアプリケーションなど)のサブセットを実行するように構成され得るモデムプロセッサシステムに対応する。
図4Aを参照すると、第1のプロセッサシステム400Aは、第1のプロセッサ405A、メモリ410Aおよびバッテリ415Aを含み、第2のプロセッサシステム450Aは、第2のプロセッサ455A、メモリ460A、バッテリ465Aおよびモデム470Aを含む。ある例では、バッテリ415Aおよび465Aは、それぞれ第1および第2のプロセッサシステム400Aおよび450Aに電力を供給する別個のバッテリとしても、両方のプロセッサシステムに電力を供給する単一バッテリとしても実装することができる。やはり図示されているのはバス430Aであって、このバスは、第1および第2のプロセッサシステム400Aおよび450Aを接続し、このバスを介して、それぞれのプロセッサシステムのハードウェアおよび/またはソフトウェア構成要素が、互いと通信することができる。
図4Bは、本発明の実施形態による、図4Aの第1および第2のプロセッサシステム400Aおよび450Aのソフトウェアモジュールの間の対話を示す。図4Bを参照すると、第1のプロセッサシステム400Aは、複数のクライアント実行可能アプリケーション1_1...N_1を含み、ここでN≧1である。クライアント実行可能アプリケーション1_1...N_1の実行は、第1のオペレーティングシステム(OS)405Bによって制御される。ある例では、第1のOS405Bは、アンドロイド、iOS、Windows(登録商標) MobileなどのようなHLOSに対応し得る。
クライアント実行可能アプリケーション1_1...N_1の各々は、並行性マネージャサーバ410Bと対話するように構成される。並行性マネージャサーバ410Bは、マルチプロセッサUEの1つまたは複数のリソースにアクセスするための、アプリケーションの優先度を判定することを担う。具体的には、並行性マネージャサーバ410Bは、マルチプロセッサUEの各プロセッサに関連付けられたアプリケーション(たとえば、モデムプロセッサシステムアプリケーション、アプリケーションプロセッサシステムアプリケーションなど)についてのリソースアクセス優先度を判定する。ある実施形態では、並行性マネージャサーバ410Bは、マルチプロセッサUEのリソースに関連付けられたセマフォを追跡する間、比較的低優先度のアプリケーションによって使われるロック済みリソースが、ロック済みリソースを求める比較的高優先度のアプリケーションの要求に応答してロック解除されるのを許容する。あるいは、並行性マネージャサーバ410Bは、外部セマフォを追跡する必要はなく、代わりに、受動また暗示リソース使用可能性状況を実装すればよく、それによって並行性マネージャサーバ410Bは単に、どのリソースが現在使用可能であり、どのリソースが使用中であるために使用不可能であるかを監視する。いずれのケースでも、並行性マネージャサーバ410Bは、どのリソースが使用可能または使用不可能であるか判断し、さらに、使用不能リソースへのアクセスを要求するアプリケーションが、そのリソースの現在のアプリケーション使用をプリエンプトするのに十分な特権を有するかどうか判断する能力がある。
図4Bを参照すると、第2のプロセッサシステム450Aは、複数のクライアント実行可能アプリケーション1_2...M_2を含み、ここでM≧1である。クライアント実行可能アプリケーション1_2...M_2の実行は、第2のオペレーティングシステム(OS)415Bによって制御される。ある例では、第2のOS415Bは、リアルタイムのオペレーティングシステム(RTOS)に対応し得る。クライアント実行可能アプリケーション1_2...M_2の各々は、並行性マネージャクライアント420Bと対話するように構成される。並行性マネージャクライアント420Bは、第1のプロセッサシステム400Aの並行性マネージャサーバ410Bのプロキシである。並行性マネージャクライアント420Bと並行性マネージャサーバ410Bは、接続430Bを介して互いと通信し、接続430Bは、一例として図4Aに示すバス430Aにより実装され得る。並行性マネージャサーバ410Bと同様に、ある実施形態では、並行性マネージャクライアント420Bは、マルチプロセッサUEのリソースに関連付けられたセマフォを追跡する間、比較的低優先度のアプリケーションによって使われるロック済みリソースが、ロック済みリソースを求める比較的高優先度のアプリケーションの要求に応答してロック解除されるのを許容する。あるいは、並行性マネージャクライアント420Bは、外部セマフォを追跡する必要はなく、代わりに、受動または暗示リソース使用可能性状況を実装すればよく、それによって並行性マネージャクライアント420Bは単に、どのリソースが現在使用可能であり、どのリソースが使用中であるために使用不可能であるかを監視する。いずれのケースでも、並行性マネージャクライアント420Bは、どのリソースが使用可能または使用不可能であるか判断し、さらに、使用不能リソースへのアクセスを要求するアプリケーションが、そのリソースの現在のアプリケーション使用をプリエンプトするのに十分な特権を有するかどうか判断する能力がある。
図4Aにも図4Bにも示さないが、マルチプロセッサUEが、1つまたは複数の追加プロセッサシステムに関連付けられた1つまたは複数の追加プロセッサを含むことが可能である。この場合、追加プロセッサシステムの各々は、プロセッサ、メモリ、1つまたは複数のアプリケーションならびに並行性マネージャクライアント420Bのアプリケーションインスタンスを含み得る。したがって、並行性マネージャサーバ410Bは、複数のプロセッサシステムにわたる複数の並行性マネージャクライアント(たとえば、420B)と対話できる可能性がある。
後でより詳しく説明するように、並行性マネージャサーバ410Bは、ディスプレイ出力デバイス(たとえば、マルチプロセッサUEのスクリーン)、オーディオ出力デバイス(たとえば、マルチプロセッサUEのスピーカおよび/またはマイクロホン出力)、モデムまたはアンテナ、振動出力デバイス、バッテリ電力などを含むが、それに限定されない、マルチプロセッサUEの1つまたは複数のリソースについての優先度を監視および判定する。並行性マネージャサーバ410Bは、クライアント実行可能アプリケーション1_1...N_1から直接、または第2のプロセッサシステム450Aのクライアント実行可能アプリケーション1_2...M_2から並行性マネージャクライアント420Bを介して、第1および/または第2のOS415Bおよび405Bとの通信により、1つまたは複数の監視リソースに関する情報を収集することができる。たとえば、並行性マネージャクライアント420Bは、アプリケーション1_2...M_2の実際または所望のリソースアクセスに関する通知を並行性マネージャサーバ410Bに送ることができる。並行性マネージャサーバ410Bは、その監視リソースアクセス情報を使って、アプリケーション1_1...N_1および1_2...M_2が関連リソースにアクセスするための推奨優先度を判定することができる。並行性マネージャサーバ410Bは、アプリケーション1_1...N_1および1_2...M_2の各々のマスターリスト、ならびにアプリケーションに関連付けられた優先度を維持することができる。1つまたは複数の並行性マネージャクライアント(たとえば、420B)に判定優先度を通知することによって、アプリケーション1_1...N_1および1_2...M_2は(それぞれ、並列性マネージャサーバアプリケーション410Bおよび並行性マネージャクライアントアプリケーション420Bにより)、無差別にリソースを単に獲得するのではなく、リソースのアクセスを試みるかどうか判断することができる。アプリケーション優先度の判定および通知の例示的実装形態については、図5A〜図8を参照して後で説明する。
図5Aは、本発明の一実施形態による、低優先度アプリケーション1_1がリソースにアクセスし、同じリソースにアクセスすると高優先度アプリケーション1_2が遅れて判断したとき、並行性マネージャサーバアプリケーション410Bが所与のリソースへのアクセスを調停する例を示す。具体的には、図5Aは、低優先度アプリケーションが少なくとも1つのリソースにアクセス中であり、そのときに高優先度アプリケーションが同じリソースへのアクセスを望む例を示す。ただし、本発明の実施形態は、図に示すような、プロセッサの間でのアプリケーションの分割(たとえば、第1のプロセッサ上に、より高優先度のアプリケーション、および第2のプロセッサ上に、より低優先度のアプリケーション)に限定されないことが諒解されよう。代替実施形態では、より高優先度のアプリケーションとより低優先度のアプリケーションの混合が、一方または両方のプロセッサ上に混在し得る。さらに、これらの代替実施形態は、2つのプロセッサだけに限定されるのではなく、より多くのプロセッサが存在してよい。さらに、アプリケーションの優先度が500Aで判定されると、新たな優先度が、並行性管理クライアント/サーバのすべてのインスタンスに伝達され得る。また、いくつかの実施形態では、様々なアプリケーションには、アプリケーションの優先度を知らせなくてよい(たとえば、並行性マネージャクライアント/サーバアプリケーションは、それぞれのアプリケーションのために優先度を管理することができる)。
図5Aにおいて、並行性マネージャサーバ410Bは、500Aで、少なくとも1つのリソースに対して、第1のプロセッサシステム400Aのアプリケーション1_1...N_1および第2のプロセッサシステム450Aのアプリケーション1_2...M_2のうちの1つまたは複数についての初期優先度レベルを判定する。たとえば、500Aで、並行性マネージャサーバ410Bは、少なくとも1つのリソースに関して、アプリケーションのデフォルト優先度レベルをロードすることができる。たとえば、少なくとも1つのリソースが、オーディオ出力デバイスへのアクセスに対応し、アプリケーション1_1がMP3プレーヤアプリケーションに対応し、アプリケーション1_2がVoIPアプリケーションに対応する場合、VoIPアプリケーションの初期優先度レベルは、MP3プレーヤアプリケーションの初期優先度レベルよりも高くなり得る。500Aの優先度判定の一実施形態については、図9を参照して後でより詳しく説明する。
図5Aには示さないが、500Aで優先度が判定されるアプリケーションは、少なくとも1つのリソースに関連付けられたものとして、(たとえば、直接、または並行性マネージャクライアントにより)並行性マネージャサーバ410Bに登録済みであるアプリケーションに対応し得る。オーディオ出力デバイスのケースでは、オーディオプレイバックに関連しないアプリケーションは、並行性マネージャサーバ410Bに登録する必要はない(少なくとも、オーディオ出力デバイスのリソースに関しては必要ない)ことが諒解されよう。
説明の便宜上、図5Aでは、アプリケーション1_1および1_2が、少なくとも1つのリソースに関して並行性マネージャサーバ410Bに登録されると想定する。したがって、500Aで、並行性マネージャサーバ410Bは、少なくとも1つのリソースに対するアプリケーション1_1および1_2の相対優先度を判定する。500Aの初期優先度判定の後、並行性マネージャサーバ410Bは、505Aで、相対優先度についての通知、および任意選択で、リソースが使用可能であるという指示を並行性マネージャクライアント420Bに(および他のどの並行性マネージャクライアントにも)送る。
後のどこかの時点では、アプリケーション1_1が、510Aで、少なくとも1つのリソースへのアクセスを決断すると想定する。たとえば、アプリケーション1_1がMP3プレーヤアプリケーションに対応する場合、マルチプロセッサUEのユーザは、510Aで、特定のMP3を再生することを要求済みである可能性があり、使われるべき少なくとも1つのリソースを並行性マネージャサーバ410Bに知らせる。次に、並行性マネージャサーバ410Bは、515Aで、510Aで示された少なくとも1つのリソースに関連付けられた優先度レベルを評価して、アプリケーション1_1と等しいか、またはそれよりも高い優先度のいずれかのアプリケーションが少なくとも1つのリソースにすでにアクセス中であるかどうか判断する。この場合、少なくとも1つのリソースがこの時点ではアクセス中ではないと想定されるので、並行性マネージャサーバ410Bは、515Aで、少なくとも1つのリソースにアクセスすることが許容可能であると判断する。
並行性マネージャサーバ410Bは、520Aで、アプリケーション1_1が、リソースにアクセスするための優先度を有するとアプリケーション1_1に通知する。並行性マネージャサーバ410Bは、この時点で、アプリケーション1_1についてのリソース要求/許可についても並行性マネージャクライアント420Bに通知してよいことが諒解されよう。したがって、並行性マネージャサーバ410Bから承認を受信した後、アプリケーション1_1は、525Aで、少なくとも1つのリソースにアクセスし始める。並行性マネージャサーバ410Bは、サーバのレコードを、アプリケーション1_1が少なくとも1つのリソースにアクセス中であることを反映するように更新し、次いで、530Aで、並行性マネージャクライアント420Bに通知を送って、少なくとも1つのリソースがアプリケーション1_1によってアクセスされている最中であることを並行性マネージャクライアント420Bに知らせる。
後のどこかの時点では、アプリケーション1_2が、535Aで、アプリケーション1_1によってすでにアクセス中である少なくとも1つのリソースへのアクセスを決断すると想定する。たとえば、アプリケーション1_2がVoIPアプリケーションに対応する場合、535Aは、マルチプロセッサUEに届くVoIP呼告知メッセージを含み得る。次に、並行性マネージャクライアント420Bは、540Aで、少なくとも1つのリソースに関連付けられた、アプリケーションの優先度レベルを評価することによって、アプリケーション1_2が少なくとも1つのリソースにアクセスすることができるかどうか評価する。たとえば、540Aで、並行性マネージャクライアント420Bは、アプリケーション1_2の優先度以上の優先度をもついずれかのアプリケーションが、少なくとも1つのリソースに現在アクセス中であるかどうか判断することができ、アクセス中でない場合、並行性マネージャクライアント420Bは、リソースにアクセスすることができると判断する。図5Aの実施形態では、アプリケーション1_2がアプリケーション1_1よりも高い優先度を有すると想定され、その結果、並行性マネージャクライアント420Bは、540Aで、アプリケーション1_2が少なくとも1つのリソースにアクセスすることが許容可能であると判断する。したがって、並行性マネージャクライアント420Bは、545Aで、並行性マネージャサーバ410Bに通知を送って、リソース要求を報告する。図に示すように、545Aで、アプリケーション1_2と並行性マネージャサーバ410Bの両方が、アプリケーション1_2が少なくとも1つのリソースに対する優先度を有することを示す、評価(540A)の結果を通知される。ただし、代替実施形態では、通知は、確認のために、また、少なくとも1つのリソースを解放する必要があるという競合アプリケーション1_1への通知のために、最初に並行性マネージャサーバ410Bに行く場合があることが諒解されよう。並行性マネージャサーバ410Bは次いで、競合するデバイスに通知し、並行性マネージャクライアント420Bに対して使用可能性を逆確認すればよく、クライアント420Bは次いで、リソースの使用可能性をアプリケーション1_2に通知してもよい(たとえば、図6参照)。ただし、図に示すように、通知545Aは、並行性マネージャサーバ410Bおよびアプリケーション1_2に同時に送ることができ、これについては、以下で説明する。
通知545Aの後、アプリケーション1_2は、560Aで、少なくとも1つのリソースにアクセスすることができ、565Aで、並行性マネージャクライアント420Bに通知を送って、リソースアクセスを報告する。同時に、通知545Aは、並行性マネージャサーバ410Bにおいて受信され、サーバ410Bは、アプリケーション1_1に通知550Aを送って、少なくとも1つのリソースを解放する。任意選択で、並行性マネージャサーバ410Bは、通知550Aを送るのに先立って、540Aで、別個の評価を実施して、決定を確認することができる。550Aを受信すると、アプリケーション1_1は、555Aで、少なくとも1つのリソースへのアクセスを停止する。このシナリオでは、より高優先度のアプリケーションに少なくとも1つのリソースを許可するための決定は、540Aおよび545Aで、すでに行われ、伝えられているので、並行性マネージャクライアント420Bに通知を返送する必要性はない。アプリケーション1_2への通知が遅延された、上述した代替シナリオでは、555Aでの解放の後、並行性マネージャサーバ410Bは、使用可能性を確認するための通知を並行性マネージャクライアント420Bに返送し、また、どの追加クライアントにも通知することができる。任意選択の通知パスにかかわらず、並行性マネージャサーバ410Bは、サーバのレコードを、アプリケーション1_2が少なくとも1つのリソースにアクセス中であることを反映するように更新し、その情報を、どの残りのクライアントにも配信することができる。
後のどこかの時点では、アプリケーション1_2が、570Aで、少なくとも1つのリソースへのアクセスを停止すると想定する。たとえば、アプリケーション1_2がVoIPアプリケーションに対応する場合、570Aは、VoIP通信セッションまたは呼の終了に対応し得る。アプリケーション1_2は、575Aで、並行性マネージャサーバ410Bに通知を送って、アプリケーション1_2のリソースアクセスの中止を報告する。並行性マネージャサーバ410Bは、サーバのレコードを、アプリケーション1_2が少なくとも1つのリソースにもはやアクセス中でないことを反映するように更新し、どの並行性マネージャクライアントも更新する。解放された少なくとも1つのリソースへのアクセスを要求しているアプリケーションがまだある場合、1つまたは複数のアプリケーションの優先度が評価され得る。たとえば、アプリケーション1_1が、少なくとも1つのリソースへのアクセスをまだ待ち受けている場合、580Aでの、そのアプリケーションの優先度レベルの評価を実施することができる。評価の後、585Aで、アプリケーション1_1に通知を送って、少なくとも1つのリソースが今は使用可能であることをアプリケーション1_1に知らせることができる。諒解されるように、並行性マネージャサーバ410Bは、585Aの通知をアプリケーション1_1に送り、そうすることによってアプリケーション1_1は(その裁量で)、590Aで、新規アクセスを開始し、または少なくとも1つのリソースへの以前のアクセスを再開することができる。
たとえば、少なくとも1つのリソースがオーディオ出力デバイスに対応し、アプリケーション1_1がMP3プレーヤアプリケーションに対応する場合、590Aは、MP3プレーヤアプリケーションが555Aでオーディオ出力デバイスへのアクセスを停止したときに「中断された」歌のオーディオプレイバックを再開することを含み得る。アプリケーション1_1は、並行性マネージャサーバ410Bに通知を送って、590Aで、アプリケーション1_1のリソースアクセスの再開を報告し、並行性マネージャサーバ410Bは、サーバのレコードを、アプリケーション1_1が少なくとも1つのリソースにアクセス中であることを反映するように更新し、次いで、595Aで、少なくとも1つのリソースがアプリケーション1_1によってアクセスされている最中であるという通知を、並行性マネージャクライアント420Bおよび他のどのクライアントにも送る。
図5Bは、本発明の一実施形態による、アプリケーション1_1がMP3プレーヤアプリケーションに対応し、アプリケーション1_2がPTTアプリケーション/呼に対応し、少なくとも1つのリソースがマルチプロセッサUEのオーディオ出力デバイスに対応する、図5Aのより具体的な実装例を示す。具体的には、図5Bは、PTTアプリケーションがオーディオ出力デバイスへのアクセスを望むとき、MP3プレーヤアプリケーションが同じオーディオ出力デバイスにアクセス中である例を示す。
図5Bを参照すると、アプリケーションプロセッサシステム上で実行している低優先度MP3アプリケーションが、MP3音楽ファイルを再生し始める(たとえば、図5Aの525Aと同様)。ある例では、アプリケーションプロセッサシステムは第1のプロセッサシステム400Aに対応し、MP3アプリケーションはアプリケーション1_1に対応する。MP3プレイバックの間、モデムプロセッサシステム上のPTTクライアントは、着信PTT呼の指示を受信する(たとえば、図5Aの535Aと同様)。ある例では、モデムプロセッサシステムは第2のプロセッサシステム450Aに対応し、PTTクライアントはアプリケーション1_2に対応する。オーディオリソースを求めるPTTクライアントの要求について通知された後、アプリケーションプロセッサシステム上の並行性マネージャサーバアプリケーションは、MP3プレーヤを一時停止する。その後、PTT呼が終わったことを並行性マネージャサーバアプリケーションが続いて通知されると、並行性マネージャサーバアプリケーションは、MP3プレイバックが再開可能であることをMP3アプリケーションに通知する。
図5Cは、本発明の一実施形態による、既存のPTTアプリケーション/呼と、マルチプロセッサUEのボコーダデバイスに対応する少なくとも1つのリソースとを有する、図5Aに基づく、より具体的な実装例を示す。具体的には、図5Cは、より高優先度のボイス呼がボコーダデバイスへのアクセスを望むとき、PTTアプリケーション/呼が同じボコーダ出力デバイスにアクセス中である例を示す。
図5Cを参照すると、モデムプロセッサシステム上で実行している低優先度PTTクライアントが、PTT呼に関連付けられたオーディオメディアを再生し始める(たとえば、モデムプロセッサシステムが、並行性マネージャサーバアプリケーションではなく並行性マネージャクライアントアプリケーションを実行することを除いて、図5Aの525Aと同様)。ある例では、モデムプロセッサシステムは第2のプロセッサシステム450Aに対応し、PTTクライアントはアプリケーション1_2に対応する。PTT呼の間、アプリケーションプロセッサシステム上の回路交換(CS)ボイス呼アプリケーションは、着信CS呼の指示を受信する。ある例では、アプリケーションプロセッサシステムは第1のプロセッサシステム400Aに対応し、CSボイス呼アプリケーションはアプリケーション1_1に対応する。オーディオリソースを求める、PTTクライアントの要求を通知された後、モデムプロセッサシステム上の並行性マネージャクライアントアプリケーションは、PTTクライアントを非アクティブ化し、CS呼が始まる。CS呼の後、PTTクライアントは、オーディオリソースの使用可能性を通知される。後でより詳しく説明する図6は、リソースへの、低優先度アプリケーションのアクセスが続いて奪われ、比較的高優先度のアプリケーションに移されるという意味で、図5Cと同様である。
図5Dは、本発明の一実施形態による、既存のボイス呼と、マルチプロセッサUEのボコーダデバイスに対応する少なくとも1つのリソースとを有する、図5Dに基づく、より具体的な実装例を示す。具体的には、図5Dは、PTTアプリケーション/呼がボコーダデバイスへのアクセスを望むとき、より高優先度のボイス呼が同じボコーダ出力デバイスにアクセス中である例を示す。
図5Dを参照すると、アプリケーションプロセッサシステム上で実行している高優先度回路交換(CS)ボイス呼アプリケーションが、着信ボイス呼通知を受信し、オーディオリソースを獲得し、次いで、ボイス呼を始める(たとえば、CSボイス呼アプリケーションが高優先度アプリケーションであることを除いて、図5Aの525Aと同様)。CS呼の間、モデムプロセッサシステム上のPTTクライアントは、着信PTT呼の指示を受信する。オーディオリソースを求める、PTTクライアントの要求を通知された後、モデムプロセッサシステム上の並行性マネージャクライアントアプリケーションは、CSボイス呼アプリケーションがより高い優先度を有し、すでにオーディオリソースを使用中なので、PTTクライアントのオーディオリソース要求を拒否する。CSボイス呼が終結し、オーディオリソースが、再度取得に応じられるようになった後、PTTクライアントは、オーディオリソース(またはボコーダ)使用可能性を通知される。後でより詳しく説明する図7〜図8は、リソースへの高優先度アプリケーションのアクセスが、比較的低優先度のアプリケーションからの、リソースにアクセスするための後続要求を阻止するのに使われるという意味で、図5Dと同様である。
図6は、本発明の一実施形態による、低優先度アプリケーション1_2がリソースにアクセスし、同じリソースにアクセスすることを高優先度アプリケーション1_1が遅れて決断したとき、並行性マネージャサーバアプリケーションが所与のリソースへのアクセスを調停する例を示す。具体的には、図6は、低優先度アプリケーションが少なくとも1つのリソースにアクセス中であり、そのときに高優先度アプリケーションが同じリソースへのアクセスを望む例を示す。また、図5Aとは異なり、図6では、高優先度アプリケーションは第1のプロセッサシステム400Aによってホストされ、低優先度アプリケーションは第2のプロセッサシステム450Aによってホストされる。
図6を参照すると、図5Aの500Aと同様に、並行性マネージャサーバ410Bは、600で、少なくとも1つのリソースに対して、第1のプロセッサシステム400Aのアプリケーション1_1...N_1および第2のプロセッサシステム450Aのアプリケーション1_2...M_2のうちの1つまたは複数についての初期優先度レベルを判定する。600の初期優先度判定の後、並行性マネージャサーバ410Bは、605で、相対優先度についての通知、および任意選択で、リソースが使用可能であるという指示を並行性マネージャクライアント420Bに(および他のどの並行性マネージャクライアントにも)送る(図5Aの505Aと同様)。
後のどこかの時点では、アプリケーション1_2が、610で、少なくとも1つのリソースへのアクセスを決断すると想定する。この場合、少なくとも1つのリソースがこの時点ではアクセス中ではないと想定されるので、並行性マネージャクライアント420Bは、615で、アプリケーション1_2が少なくとも1つのリソースにアクセスすることが許容可能であると判断する。並行性マネージャクライアント420Bは、620で、少なくとも1つのリソースが使用可能であることをアプリケーション1_2に通知し、アプリケーション1_2は、625で、少なくとも1つのリソースにアクセスし始める。並行性マネージャクライアント420Bはまた、630で、少なくとも1つのリソースがアプリケーション1_2によってアクセス中であることを並行性マネージャサーバ410Bに通知する。
少なくとも1つのリソースがアプリケーション1_2によってまだアクセス中である間、後のどこかの時点で、アプリケーション1_1(アプリケーション1_2よりも高い優先度をもつ)が、635で、少なくとも1つのリソースへのアクセスを決断すると想定する。並行性マネージャサーバ410Bは、640で、アプリケーション1_1の優先度レベルを評価し、アプリケーション1_1が、アプリケーション1_2よりも高い優先度をもつと判断する。並行性マネージャサーバ410Bは、645で、アプリケーション1_1がリソースへのアクセスを要求していることを並行性マネージャクライアント420Bに通知し、少なくとも1つのリソースへのアプリケーション1_2のアクセスを中止するよう通知する。並行性マネージャクライアント420Bは、通知を受信し、650で、アプリケーション1_2に、少なくとも1つのリソースへのアクセスを停止するよう命令する。アプリケーション1_2は、655で、少なくとも1つのリソースを解放し、並行性マネージャクライアント420Bは、660で、少なくとも1つのリソースが今は使用可能であることを並行性マネージャサーバ410Bに通知する。並行性マネージャサーバ410Bは、665で、少なくとも1つのリソースが今は使用可能であることをアプリケーション1_1に通知し、アプリケーション1_1は、670で、少なくとも1つのリソースにアクセスし始める。
図6を参照すると、後のどこかの時点で、アプリケーション1_1は、675で、少なくとも1つのリソースへのアクセスを停止し、並行性マネージャサーバ410Bは、680で、少なくとも1つのリソースが再度使用可能であることを並行性マネージャクライアント420Bに通知する。少なくとも1つのリソースは、685で、使用可能であると判断され、別のアプリケーションによってアクセス中ではないので、並行性マネージャクライアント420Bは、690で、少なくとも1つのリソースがアクセスに再度使用可能であることをアプリケーション1_2に通知する。アプリケーション1_2は、そうすることによって、694で、少なくとも1つのリソースへのアクセスを再開し、並行性マネージャクライアント420Bは、少なくとも1つのアクセスがアプリケーション1_2によって再度アクセス中であることを並行性マネージャサーバ410Bに通知する。
図7は、本発明の一実施形態による、高優先度アプリケーション1_1がリソースにアクセスし、同じリソースにアクセスすると低優先度アプリケーション1_2が遅れて決断したとき、並行性マネージャサーバアプリケーションが所与のリソースへのアクセスを調停する例を示す。
図7を参照すると、図5Aの500Aと同様に、並行性マネージャサーバ410Bは、700で、少なくとも1つのリソースに対して、第1のプロセッサシステム400Aのアプリケーション1_1...N_1および第2のプロセッサシステム450Aのアプリケーション1_2...M_2のうちの1つまたは複数についての初期優先度レベルを判定する。700の初期優先度判定の後、並行性マネージャサーバ410Bは、705で、相対優先度についての通知、および任意選択で、リソースが使用可能であるという指示を並行性マネージャクライアント420Bに(および他のどの並行性マネージャクライアントにも)送る(図5Aの505Aと同様)。
後のどこかの時点では、アプリケーション1_1が、710で、少なくとも1つのリソースへのアクセスを決断すると想定する。この場合、少なくとも1つのリソースがこの時点ではアクセス中ではないと想定されるので、並行性マネージャサーバ410Bは、715で、アプリケーション1_1が少なくとも1つのリソースにアクセスすることが許容可能であると判断する。並行性マネージャサーバ410Bは、720で、少なくとも1つのリソースが使用可能であることをアプリケーション1_1に通知し、アプリケーション1_1は、725で、少なくとも1つのリソースにアクセスし始める。並行性マネージャサーバ410Bはまた、730で、少なくとも1つのリソースがアプリケーション1_1によってアクセス中であることを並行性マネージャクライアント420Bに通知する。
少なくとも1つのリソースがアプリケーション1_1によってまだアクセス中である間、後のどこかの時点で、アプリケーション1_2(アプリケーション1_1よりも低い優先度をもつ)が、735で、少なくとも1つのリソースへのアクセスを決断すると想定する。並行性マネージャクライアント420Bは、740で、アプリケーション1_2の優先度レベルを評価し、アプリケーション1_2がアプリケーション1_1よりも低い優先度をもつと判断する。740からの判断に基づいて、並行性マネージャクライアント420Bは、745で、アプリケーション1_2が少なくとも1つのリソースにアクセスするのを阻止する。
図7を参照すると、740および745でのリソース要求拒否の後のどこかの時点で、アプリケーション1_1は、750で、少なくとも1つのリソースへのアクセスを停止する。並行性マネージャサーバ410Bは、755で、少なくとも1つのアクセスが今は使用可能であることを並行性マネージャクライアント420Bに通知する。少なくとも1つのリソースは、760で、使用可能であると判断され、別のアプリケーションによってアクセス中ではないので、並行性マネージャクライアント420Bは、765で、少なくとも1つのリソースがアクセスに再度使用可能であることをアプリケーション1_2に通知する。アプリケーション1_2は、そうすることによって、770で、少なくとも1つのリソースへのアクセスを始め、並行性マネージャクライアント420Bは、少なくとも1つのリソースがアプリケーション1_2によってアクセス中であることを並行性マネージャサーバ410Bに通知する。
図8は、本発明の一実施形態による、アプリケーション1_1がボイス呼または回路交換(CS)アプリケーションに対応し、アプリケーション1_2がVoIPアプリケーションに対応し、少なくとも1つのリソースがマルチプロセッサUEのオーディオ出力デバイスに対応する、図7のより具体的な実装例を示す。具体的には、図8は、VoIPアプリケーションがオーディオ出力デバイスへのアクセスを望むとき、CSアプリケーションが同じオーディオ出力デバイスにアクセス中である例を示す。これらの違いを別にすると、図8の全般的な呼フローは、図7に対応する。したがって、図8の800〜875は、上述したことを除いて、図7の700〜775に対応する。
図9は、本発明の一実施形態による、並行性マネージャサーバ410Bが、少なくとも1つのリソースに関する、アプリケーション1_1...N_1および/または1_2...M_2のうちの1つまたは複数に関連付けられた優先度レベルを動的に更新するための手順を示す。図9を参照すると、並行性マネージャサーバ410Bは、900で、少なくとも1つのリソースに対する、アプリケーション1_1...N_1および/または1_2...M_2のうちの1つまたは複数についての初期優先度レベルを判定する。ある例では、図9の900は、上記の図5A〜図8の「初期優先度レベルを判定する」(たとえば、500A)に対応し得る。さらに、あるアプリケーションにリソースを割り振るという決定は、そのアプリケーションによる使用の予測持続期間も考慮に入れることができる。たとえば、ユーザは、ボイス呼を発している最中である場合があり、呼は、PTT呼が着信した時点ではまだ確立されていない。PTT呼は、数秒間しか続くことができない。したがって、並行性マネージャは、ボイス呼の確立に成功する時点までは、PTT呼にリソースを与えると決定してよい。別のケースとして、PTT呼がアクティブでありボイス呼が着信したとき、並行性マネージャは、PTT呼を直ちに破棄するのではなく、ユーザが呼を拒否または受諾すると決定するまで、呼を中断すると決定してよい。ユーザがボイス呼を拒否することを選んだ場合、PTT呼は続いてよく、そうでなければ破棄されるべきである。
並行性マネージャサーバ410Bは、905で、1つまたは複数のシステムパラメータも監視する。たとえば、905で監視されるシステムパラメータは、少なくとも1つのリソースへの所望アクセスに関する、時間、サービングシステム、バッテリレベル、帯域幅使用、アプリケーション登録もしくは登録解除、および/またはアプリケーション通知を含み得る。たとえば、905の監視は、アプリケーション1_1...N_1および/または1_2...M_2のうちの1つまたは複数に送られるポーリングメッセージ、アプリケーション1_1...N_1および/または1_2...M_2のうちの1つまたは複数によって並行性マネージャサーバ410Bに送られる報告に基づき、かつ/あるいは並行性マネージャサーバ410BによってHLOSまたは第1のOS405Bに送られる問合せに基づき得る。
910で、並行性マネージャサーバ410Bは、監視されるシステムパラメータに基づいて、少なくとも1つのリソースに対する、アプリケーション1_1...N_1および1_2...N_2のうちの1つまたは複数についての優先度レベルを選択的に更新する。たとえば、時間パラメータに関して、並行性マネージャサーバ410Bは、現在時刻に基づいて、少なくとも1つのリソースに対する、アプリケーション1_1...N_1および/または1_2...M_2のうちの1つまたは複数についての優先度レベルを算出し直し、または調整することができる。別の例では、サービングシステムパラメータに関して、並行性マネージャサーバ410Bは、(たとえば、優先度レベルが少なくとも部分的にサービングシステム固有であるように)サービングシステムが変化しているかどうかに基づいて、少なくとも1つのリソースに対する、アプリケーション1_1...N_1および/または1_2...M_2のうちの1つまたは複数についての優先度レベルを算出し直し、または調整することができる。
図9の910を参照すると、別の例では、バッテリ閾値パラメータに関して、並行性マネージャサーバ410Bは、バッテリ465Aおよび/または415Aのバッテリレベルに基づいて、少なくとも1つのリソースに対する、アプリケーション1_1...N_1および/または1_2...M_2のうちの1つまたは複数についての優先度レベルを算出し直し、または調整することができる。たとえば、バッテリ465Aおよび/または415Aのバッテリレベルが比較的低いか、または閾値を下回る場合、アプリケーション1_1...N_1および/または1_2...M_2のうちのバッテリ集約型アプリケーションは、それぞれの優先度を下げさせればよい。あるいは、別の例では、バッテリ465Aおよび/または415Aのバッテリレベルが(たとえば、充電中に)反発して閾値を上回った場合、アプリケーション1_1...N_1および/または1_2...M_2のうちのバッテリ集約型アプリケーションは、それぞれのより高い優先度を回復させればよい。
図9の910を参照すると、別の例では、登録パラメータに関して、新規アプリケーションが少なくとも1つのリソースについて並行性マネージャサーバ410Bに登録したとき、あるいはあらかじめ登録されたアプリケーションが少なくとも1つのリソースを並行性マネージャサーバ410Bから登録解除したとき、並行性マネージャサーバ410Bは、少なくとも1つのリソースに対する、アプリケーション1_1...N_1および/または1_2...M_2のうちの1つまたは複数についての優先度レベルを算出し直し、または調整することができる。
図9の910で優先度レベルが更新された後、並行性マネージャサーバ410Bは、915で、並行性マネージャクライアントのうちの1つまたは複数(たとえば、420B)に、更新した優先度レベルを選択的に通知する。したがって、図5A〜図8の各々において配信される優先度レベルは、静的である必要はなく、上述したように、時間に基づいて、またはイベントに基づいて変わり得る。
図4A〜図9を参照して上述した実施形態は、マルチプロセッサモバイル通信デバイスの同じまたは異なる処理システム上のアプリケーションの間でのリソースに関する競合をどのように管理するかに焦点を当てているが、図10〜図12は、そのリソースのうちの一部または全部が拒否されたアプリケーションの挙動に関して実装される手順を対象とする。
したがって、図10は、本発明の一実施形態による、第1のリソースセットへのアプリケーションのアクセスを拒否するとともに、第2のリソースセットの使用可能性をアプリケーションに通知するプロセスを対象とする。ある例では、図10の第2のリソースセットは、代替法(たとえば、簡約された、または好ましくないやり方)で、第1のリソースセットを要求するようにアプリケーションを促した目標(または機能)を、アプリケーションが達成するのに十分であり得る。
図10を参照すると、ある例では、図10のプロセスは、第1のプロセッサシステム400Aの並行性マネージャサーバ410Bまたは第2のプロセッサシステム450Aの並行性マネージャクライアント420Bによって実行することができる。したがって、図10のプロセスについては、第1のプロセッサシステム400Aの並行性マネージャサーバ410Bまたは第2のプロセッサシステム450Aの並行性マネージャクライアント420B上で読むことができる「リソースマネージャ」によって実行されるものとして説明する。
図10を参照すると、リソースマネージャは、1000で、所与の機能の実装のために、少なくとも第1のリソースセットへのアクセスを求める要求をアプリケーションから受信する。リソースマネージャが第1のプロセッサシステム400Aの並行性マネージャサーバ410Bに対応する例では、1000の要求は、図5Aの510Aに対応してよく、以下同様である。リソースマネージャが第1のプロセッサシステム450Aの並行性マネージャクライアント420Bに対応する例では、1000の要求は、図5Aの535Aに対応してよく、以下同様である。第1のリソースセットは、オーディオのみ、ビデオのみ、オーディオおよびビデオ、オーディオおよびモデム、ビデオおよびタッチスクリーン表示などのような、所与の機能を実装するためにアプリケーションによって要求されるリソースのどの組合せにも対応し得る。1000で、所与の機能は、第1のリソースセットへのアクセスを求めるアプリケーションの要求に関連付けられたリソース非依存またはハイレベルな目的に関する。たとえば、アプリケーションが、VoIP呼を行うためのオーディオおよびモデムリソースを要求するボイスオーバーインターネットプロトコル(VoIP)アプリケーションである場合、所与の機能は、呼ターゲットに接触するための通信機能である。
図10を参照すると、リソースマネージャは、1005で、第1のリソースセットへのアプリケーションのアクセスを拒否すると判断し、第1のリソースセットは次いで、1010で、アプリケーションを拒否される(阻止または解放される)。1005および1010の拒否は、ある例では、図7の740および745ならびに/あるいは図8の840および845と同様に、1000からの要求の拒否に対応し得る。代替として、1005および1010の拒否は、図5Aの550Aおよび550Aならびに/あるいは図6の650および655と同様に、1000からの要求の早期許可の後に起こり得る。
図10を参照すると、リソースマネージャは、1015で、第2のリソースセットが、アプリケーションによるアクセスに使用可能であり、アプリケーションが所与の機能の代替実装を達成することを許容するように構成されていると判断する。リソースマネージャは次いで、1020で、第2のリソースセットへのアクセスが所与の機能の代替実装に使用可能であることをアプリケーションに通知してもよい。
たとえば、1000の要求は、テレビ会議呼の通信機能のために、第1のリソースセット(たとえば、オーディオリソース)と、第2のリソースセット(たとえば、ビデオおよびモデムリソース)も要求し得る。この場合、リソースマネージャは、1015および1020で、アプリケーションがオーディオリソースにアクセスするのを阻止または拒否してよいが、アプリケーションがビデオおよびモデムリソースにアクセスすることは許容してよい。したがって、アプリケーションは、1020からの通知に基づいて、このシナリオではオーディオなしでテレビ会議に参加するかどうか選ぶことができる。あるいは、1000の要求は、ボイス呼により呼ターゲットに接触する通信機能を開始するための第1のリソースセット(たとえば、オーディオリソース)を要求し得る。オーディオリソースが使用可能でない場合、リソースマネージャは、1010で、呼ターゲットに接触する通信機能が代替としてSMS/テキストリソース(たとえば、モデムリソース)により達成され得ることを検出し、次いで、ボイス呼の代わりにSMS/テキスト通信を推奨し得る。これらの例については、図11および図12を参照して以下でより詳細に説明する。
図11および図12は、本発明の実施形態による図10のプロセスの例示的な実装形態を対象とする。図11および図12については、第1のプロセッサシステム400Aの並行性マネージャサーバ410Bまたは第2のプロセッサシステム450Aの並行性マネージャクライアント420Bのいずれかにおいて実施されるものとして説明する。
図11を参照すると、低優先度マルチメディア通信アプリケーションは、1100で(たとえば、図10の1000のように)、呼ターゲットをもつボイス呼を開始するためのオーディオリソースにアクセスすると決断し、マルチメディア通信アプリケーションは、その並行性マネージャ(クライアントまたはサーバ)に、オーディオリソースにアクセスするための要求を知らせる。図11において、並行性マネージャは、1105で(たとえば、図10の1005と同様)、オーディオリソースにアクセスするための、マルチメディア通信アプリケーションの要求の拒否を決断し、並行性マネージャは、1110で(たとえば、図10の1010と同様)、オーディオリソースアクセス拒否をマルチメディア通信アプリケーションに通知すると想定する。
1115で、並行性マネージャは、シンプルメッセージサービス(SMS)またはテクスティングに関連付けられたリソースが、呼ターゲットに接触する通信機能を容易にするために使用可能であると判断する(ボイス呼をもたなくても)(たとえば、図10の1015と同様)。たとえば、並行性マネージャは、ボイス呼に対する、好ましくはないが受諾可能な代替物であるSMS/テキストなど、いくつかのアプリケーションによって要求されたとき、いくつかのリソースに対する受諾可能代替物のリストを含む決定論理を有して構成され得る。並行性マネージャは次いで、1120で(たとえば、図10の1020と同様)、マルチメディア通信アプリケーションが所望のボイス呼に対する代替機構により呼ターゲットへの接触を試みることを推奨するために、SMS/テキストリソース使用可能性をアプリケーションに通知する。マルチメディア通信アプリケーションは、1120からの通知を受信し、次いで、1125で、ボイス呼ではなくテキスト通信を容易にするために、SMS/テキストリソースへのアクセスを試みる。したがって、図11は、他のリソースがアクセス可能であり、拒否されたリソースに対する代替物として使うことができる限り、リソース拒否(たとえば、要求拒絶または転送)の結果、拒否されたリソースに関連付けられたより高レベルの機能が終了される必要はないことを示す。
図12を参照すると、低優先度ビデオゲームアプリケーションは、呼ターゲットをもつボイス呼を開始するための、オーディオリソースとビデオリソースの両方へのアクセスを決断し、ビデオゲームアプリケーションは、その並行性マネージャ(クライアントまたはサーバ)に、1200で(たとえば、オーディオリソースが第1のリソースセットに対応する、図10の1000のように)、オーディオおよびビデオリソースにアクセスするための要求を知らせる。図12において、並行性マネージャは、1205で、オーディオリソースとビデオリソースの両方にアクセスするための、ビデオゲームアプリケーションの要求への許可を決断し、ビデオゲームアプリケーションは、1210で、ビデオゲームをプレイしている間、オーディオおよびビデオリソースへのアクセスを始めると想定する。後のどこかの時点で、並行性マネージャは、1215で、より高優先度のアプリケーションが、オーディオリソースへのアクセスを要求されると判断する。たとえば、1215で受信される通知は、図5Aの545Aおよび/または図6の645に対応し得る。一例として、着信呼が、ビデオゲーム用に再生されるオーディオよりも高い優先度で受信され得る。また、図12において、1215で受信される通知により、図10の1005での決断がもたらされ、ここで並行性マネージャは、オーディオリソースへのビデオゲームアプリケーションのアクセス特権を取り消すと決断する。1220で、並行性マネージャは、ビデオリソースがビデオゲームアプリケーションにとってまだアクセス可能であり、ビデオゲームアプリケーションは、ビデオオンリーモード(オーディオなし)でゲーム機能を実装し続けてよいと個別に判断する(たとえば、図10の1015と同様であるが、ビデオリソースは、今は第2のリソースセットに対応する)。
したがって、並行性マネージャは、ビデオゲームアプリケーションに、アプリケーションの、オーディオリソースにアクセスするための従来特権の拒否(たとえば、図10の1010と同様)と、アプリケーションの、ビデオリソースにアクセスするための特権維持(たとえば、図10の1020と同様)も通知する。ビデオゲームアプリケーションは、1225からの通知を受信し、1230で、オーディオリソースへのアクセスを停止する。さらに、ビデオリソースが使用可能なままであるという通知に基づいて、ビデオゲームを完全に終結させるのではなく、それに応じて、ビデオゲームアプリケーションがオーディオリソースを失う。また、図12には明示的に示さないが、オーディオリソースがモバイルデバイス上の別のアプリケーションに関連して使われる間であっても、ビデオゲームは、ビデオオンリーモード(オーディオなし)で継続し得る。たとえば、オーディオリソースは、オーディオなしの、有効に「ミュートされた」ビデオゲームとともに起こり得るボイス呼に関与するために、モデムリソースとともに使うことができる。
図13は、機能性を実施するように構成された論理を含む通信デバイス1300を示す。通信デバイス1300は、UE102、108、110、112または200、ノードBまたは基地局124、RNCまたは基地局コントローラ122、パケットデータネットワークエンドポイント(たとえば、SGSN160、GGSN165など)、サーバ170〜186のうちいずれかなどを含むがそれに限定されない、上述の通信デバイスのいずれにも対応し得る。したがって、通信デバイス1300は、ネットワークを介して1つまたは複数の他のエンティティと通信する(または通信を容易にする)ように構成されたどの電子デバイスにも対応し得る。
図13を参照すると、通信デバイス1300は、情報を受信および/または送信するように構成された論理1305を含む。ある例では、通信デバイス1300が、ワイヤレス通信デバイス(たとえば、UE200、ノードB124など)に対応する場合、情報を受信および/または送信するように構成された論理1305は、ワイヤレストランシーバおよび関連ハードウェア(たとえば、RFアンテナ、モデム、変調器および/または復調器など)などのワイヤレス通信インターフェース(たとえば、ブルートゥース、WiFi、2G、3Gなど)を含み得る。別の例では、情報を受信および/または送信するように構成された論理1305は、ワイヤード通信インターフェース(たとえば、インターネット175にアクセスし得るための直列接続、USBまたはファイアワイヤ接続、イーサネット(登録商標)接続など)に対応し得る。したがって、通信デバイス1300が、何らかのタイプのネットワークベースのサーバ(たとえば、SGSN160、GGSN165、アプリケーションサーバ170など)に対応する場合、情報を受信および/または送信するように構成された論理1305は、ある例では、イーサネット(登録商標)プロトコルによりネットワークベースのサーバを他の通信エンティティに接続するイーサネット(登録商標)カードに対応し得る。さらに別の例では、情報を受信および/または送信するように構成された論理1305は、通信デバイス1300がそのローカル環境を監視し得るための知覚または測定ハードウェア(たとえば、ローカルRF信号を監視するための加速度計、温度センサ、光センサ、アンテナなど)を含み得る。情報を受信および/または送信するように構成された論理1305は、実行されると、その受信および/または送信機能を実施するための、情報を受信および/または送信するように構成された論理1305の関連ハードウェアを許可するソフトウェアも含み得る。ただし、情報を受信および/または送信するように構成された論理1305は、ソフトウェア単体に対応するのではなく、情報を受信および/または送信するように構成された論理1305は、その機能性を遂行するためのハードウェアに少なくとも部分的に依拠する。
図13を参照すると、通信デバイス1300は、情報を処理するように構成された論理1310をさらに含む。ある例では、情報を処理するように構成された論理1310は、少なくともプロセッサを含み得る。情報を処理するように構成された論理1310によって実施することができる処理タイプの例示的実装形態は、判断を実施すること、接続を確立すること、異なる情報選択肢の間での選択を行うこと、データに関連した評価を実施すること、測定動作を実施するための、通信デバイス1300に結合されたセンサと対話すること、ある形式から別の形式に(たとえば、.wmvから.aviなど、異なるプロトコルの間で)情報を変換することなどを含むが、それに限定されない。たとえば、情報を処理するように構成された論理1310に含まれるプロセッサは、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブル論理デバイス、個別ゲートまたはトランジスタ論理、個別ハードウェア構成要素、あるいは本明細書で説明する機能を実行するように設計されたそれらの任意の組合せに相当し得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。情報を処理するように構成された論理1310は、実行されると、その処理機能を実施するための、情報を処理するように構成された論理1310の関連ハードウェアを許可するソフトウェアも含み得る。ただし、情報を処理するように構成された論理1310は、ソフトウェア単体に対応するのではなく、情報を処理するように構成された論理1310は、その機能性を遂行するためのハードウェアに少なくとも部分的に依拠する。
図13を参照すると、通信デバイス1300は、情報を記憶するように構成された論理1315をさらに含む。ある例では、情報を記憶するように構成された論理1315は、少なくとも非一時的メモリおよび関連ハードウェア(たとえば、メモリコントローラなど)を含み得る。たとえば、情報を記憶するように構成された論理1315に含まれる非一時的メモリは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意の他の形態の記憶媒体に相当し得る。情報を記憶するように構成された論理1315は、実行されると、その記憶機能を実施するための、情報を記憶するように構成された論理1315の関連ハードウェアを許可するソフトウェアも含み得る。ただし、情報を記憶するように構成された論理1315は、ソフトウェア単体に対応するのではなく、情報を記憶するように構成された論理1315は、その機能性を遂行するためのハードウェアに少なくとも部分的に依拠する。
図13を参照すると、通信デバイス1300はさらに、情報を提示するように構成された論理1320を任意選択で含む。ある例では、情報を提示するように構成された論理1320は、少なくとも出力デバイスおよび関連ハードウェアを含み得る。たとえば、出力デバイスは、ビデオ出力デバイス(たとえば、表示画面、USB、HDMI(登録商標)などのビデオ情報を搬送することができるポートなど)、オーディオ出力デバイス(たとえば、スピーカ、マイクロホンジャックなどのオーディオ情報を搬送することができるポート、USB、HDMI(登録商標)など)、振動デバイスならびに/あるいは情報を出力用にフォーマットし、または通信デバイス1300のユーザもしくはオペレータによって実際に出力し得るための他のどのデバイスも含み得る。たとえば、通信デバイス1300が、図3に示すようなUE200に対応する場合、情報を提示するように構成された論理1320は、ディスプレイ224を含み得る。さらに別の例では、情報を提示するように構成された論理1320は、ローカルユーザをもたないネットワーク通信デバイス(たとえば、ネットワークスイッチやルータ、リモートサーバなど)など、いくつかの通信デバイスに関しては省いてもよい。情報を提示するように構成された論理1320は、実行されると、その提示機能を実施するための、情報を提示するように構成された論理1320の関連ハードウェアを許可するソフトウェアも含み得る。ただし、情報を提示するように構成された論理1320は、ソフトウェア単体に対応するのではなく、情報を提示するように構成された論理1320は、その機能性を遂行するためのハードウェアに少なくとも部分的に依拠する。
図13を参照すると、通信デバイス1300はさらに、ローカルユーザ入力を受信するように構成された論理1325を任意選択で含む。ある例では、ローカルユーザ入力を受信するように構成された論理1325は、少なくともユーザ入力デバイスおよび関連ハードウェアを含み得る。たとえば、ユーザ入力デバイスは、ボタン、タッチスクリーンディスプレイ、キーボード、カメラ、オーディオ入力デバイス(たとえば、マイクロホンジャックなど、オーディオ情報を搬送することができるマイクロホンもしくはポートなど)、および/または通信デバイス1300のユーザまたはオペレータから情報を受信し得るための他のどのデバイスも含み得る。たとえば、通信デバイス1300が、図3に示すようなUE200に対応する場合、ローカルユーザ入力を受信するように構成された論理1325は、ディスプレイ224(タッチスクリーンを実装した場合)、キーパッド226などを含み得る。さらに別の例では、ローカルユーザ入力を受信するように構成された論理1325は、ローカルユーザをもたないネットワーク通信デバイス(たとえば、ネットワークスイッチやルータ、リモートサーバなど)など、いくつかの通信デバイスに関しては省いてもよい。ローカルユーザ入力を受信するように構成された論理1325は、実行されると、その入力受信機能を実施するための、ローカルユーザ入力を受信するように構成された論理1325の関連ハードウェアを許可するソフトウェアも含み得る。ただし、ローカルユーザ入力を受信するように構成された論理1325は、ソフトウェア単体に対応するのではなく、ローカルユーザ入力を受信するように構成された論理1325は、その機能性を遂行するためのハードウェアに少なくとも部分的に依拠する。
図13を参照すると、1305〜1325の構成された論理は、図13では別個または相異なるブロックとして示されているが、それぞれの構成された論理がその機能性を実施するためのハードウェアおよび/またはソフトウェアは、部分的に重複し得ることが諒解されよう。たとえば、1305〜1325の構成された論理の機能性を容易にするのに使われるどのソフトウェアも、情報を記憶するように構成された論理1315に関連付けられた非一時的メモリに記憶することができ、そうすることによって、1305〜1325の構成された論理は各々、その機能性(すなわち、この場合、ソフトウェア実行)を、情報を記憶するように構成された論理1305によって記憶されたソフトウェアの動作に部分的に基づいて実施する。同様に、構成された論理のうちの1つに直接関連付けられたハードウェアは、他の構成された論理によって時々借り、または使うことができる。たとえば、情報を処理するように構成された論理1310のプロセッサは、データを、情報を受信および/または送信するように構成された論理1305によって送信される前に、適切な形式にフォーマットすることができ、そうすることによって、情報を受信および/または送信するように構成された論理1305は、その機能性(すなわち、この場合、データの送信)を、情報を処理するように構成された論理1310に関連付けられたハードウェア(すなわち、プロセッサ)の動作に部分的に基づいて実施する。さらに、1305〜1325の構成された論理または「ように構成された論理」は、特定の論理ゲートまたは論理要素に限定されるのではなく、概して、本明細書に記載した機能性を、(ハードウェアまたはハードウェアとソフトウェアの組合せのいずれかを介して)実施するための能力を指す。したがって、1305〜1325の構成された論理または「ように構成された論理」は、「論理」という言葉を共有するにもかかわらず、必ずしも論理ゲートまたは論理要素として実装されるわけではない。構成された論理1305〜1325の間の他の対話または協働が、上で説明した実施形態の検討から、当業者には明らかになるであろう。
本発明の上記で説明した実施形態における参照は、全体的に、「呼」および「セッション」の用語を互換的に使用しているが、任意の呼および/またはセッションは、異なる当事者間の実際の呼を含むものとして、または技術的に「呼」と見なされない可能性があるデータトランスポートセッションの代わりとして解釈されるものとすることを理解されよう。また、上記実施形態は、全体的に、PTTセッションに関して説明されているが、他の実施形態は、たとえばプッシュツートランスファー(PTX)セッション、緊急VoIP呼など、任意のタイプの通信セッションを対象としてもよい。
情報および信号は、多種多様な技術および技法のいずれかを使用して表すことができることを当業者は諒解されよう。たとえば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界または磁性粒子、光場または光学粒子、あるいはそれらの任意の組合せによって表され得る。
さらに、本明細書で開示した実施形態に関連して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装できることを、当業者は諒解されよう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップを、上記では概してそれらの機能に関して説明した。そのような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装することができるが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈すべきではない。
本明細書で開示する実施形態に関して説明する様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、または、本明細書で説明する機能を実行するように設計されたそれらの任意の組合せで、実装または実行することができる。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。
本明細書で開示した実施形態と関連して説明した方法、シーケンス、および/またはアルゴリズムは、ハードウェアで直接実施され得るか、プロセッサによって実行されるソフトウェアモジュールで実施され得るか、またはその2つの組合せで実施され得る。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意の他の形態の記憶媒体中に常駐し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサと一体であり得る。プロセッサおよび記憶媒体はASIC中に常駐し得る。ASICはユーザ端末(たとえば、アクセス端末)中に常駐し得る。代替として、プロセッサおよび記憶媒体は、ユーザ端末中に個別構成要素として常駐し得る。
1つまたは複数の例示的な実施形態では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装する場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体とコンピュータ通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスク記憶デバイス、磁気ディスク記憶デバイスもしくは他の磁気記憶デバイス、または、命令もしくはデータ構造の形態の所望のプログラムコードを搬送または記憶するために使用でき、コンピュータによってアクセスできる、任意の他の媒体を含み得る。また、いかなる接続も、コンピュータ可読媒体と適切に呼ばれる。たとえば、ソフトウェアが同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、またはワイヤレス技術、たとえば赤外線、無線、およびマイクロ波を使用してウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または、赤外線、無線、およびマイクロ波などのワイヤレス技術は媒体の定義内に含まれる。本明細書で使用する場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザーディスク(登録商標)、光ディスク、デジタル多用途ディスク(DVD)、フロッピー(登録商標)ディスク、およびブルーレイディスクを含み、ディスク(disk)は、通常、磁気的にデータを再生し、ディスク(disc)は、レーザーで光学的にデータを再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
上記の開示は本発明の例示的な実施形態を示すが、添付の特許請求の範囲によって規定される本発明の範囲から逸脱することなく、本明細書において様々な変更および修正を行えることに留意されたい。本明細書で説明した本発明の実施形態による方法クレームの機能、ステップおよび/またはアクションは、特定の順序で実行されなくてもよい。さらに、本発明の要素は、単数形で説明または特許請求されていることがあるが、単数形に限定することが明示的に述べられていない限り、複数形が企図される。
102 UE、アクセス端末、セルラー電話、ワイヤレスクライアントコンピューティングデバイス、クライアントデバイス
108 UE、携帯情報端末、ワイヤレスクライアントコンピューティングデバイス
110 UE、ページャ、ワイヤレスクライアントコンピューティングデバイス
112 UE、コンピュータプラットフォーム、ワイヤレスクライアントコンピューティングデバイス
120 無線アクセスネットワーク(RAN)
122 RNC、基地局コントローラ
160 サービングGPRSサポートノード(SGSN)
162 パケットデータネットワークエンドポイント
164 パケットデータネットワークエンドポイント
165 ゲートウェイGPRSサポートノード(GGSN)
170 アプリケーションサーバ、サーバ
170A 地域ディスパッチャ
170B メディア制御コンプレックス(MCC)
175 インターネット、外部パケットデータネットワーク
182 認証、認可およびアカウンティング(AAA)サーバ、サーバ
184 プロビジョニングサーバ、サーバ
186 インターネットプロトコル(IP)マルチメディアサブシステム(IMS)/セッション開始プロトコル(SIP)登録サーバ、サーバ
188 ルーティングユニット

Claims (15)

  1. マルチプロセッサモバイル通信デバイス(200、1300)の第1のプロセッサシステム(400A)上で実行する並行性マネージャサーバアプリケーション(410B)を操作する方法であって、前記並行性マネージャサーバアプリケーションが、前記マルチプロセッサモバイル通信デバイスの第2のプロセッサシステム(450A)上で実行する並行性マネージャクライアントアプリケーション(420B)と対話するように構成される、方法において、
    前記第1のプロセッサシステム上での実行のために構成された第1のアプリケーションセット(1_1、2_1....N_1)、および前記第2のプロセッサシステム上での実行のために構成された第2のアプリケーションセット(1_2、2_2...M_2)用の少なくとも1つのリソースへのアクセスに関連した優先度レベルを判定するステップ(500A、600、700、800、900、905、910)と、
    前記並行性マネージャクライアントアプリケーションが、前記第2のアプリケーションセットのうちのアプリケーションによる、前記少なくとも1つのリソースへのアクセスを、通知された優先度レベルに基づいて選択的に許可または拒否するのを容易にするために、前記判定優先度レベルを前記並行性マネージャクライアントアプリケーションに通知するステップ(505A、605A、705、805、915)と、
    前記並行性マネージャサーバアプリケーションによって、前記少なくとも1つのリソースへの、前記第1のアプリケーションセットのうちのアプリケーションによるアクセスを、前記判定優先度レベルに基づいて選択的に許可または拒否するステップ(515A、520A、580A、585A、640、665、715、720、815、820)とを含む方法。
  2. 前記選択的に許可するステップが、
    前記第1のアプリケーションセットのうちの、所与の優先度レベルをもつ所与のアプリケーションから、前記少なくとも1つのリソースへのアクセスを求める要求を受信するステップと、
    (i)前記少なくとも1つのリソースが、現在アクセス中でない場合、または(ii)前記少なくとも1つのリソースが、前記所与の優先度レベルよりも低い優先度レベルをもつ、前記第1または第2のアプリケーションのうちの別のアプリケーションによってアクセス中である場合、前記受信した要求を許可するステップと、
    前記少なくとも1つのリソースが、前記所与の優先度レベルよりも高い優先度レベルをもつ、前記第1または第2のアプリケーションのうちの別のアプリケーションによって現在アクセス中である場合、前記受信した要求を拒否するステップとを含む、請求項1に記載の方法。
  3. 前記選択的に許可するステップが、
    前記第1のアプリケーションセットのうちの、第1の優先度レベルをもつ第1のアプリケーションから、前記少なくとも1つのリソースへのアクセスを求める要求を受信するステップと、
    前記受信した要求を許可するステップと、
    前記第1のアプリケーションが前記少なくとも1つのリソースへのアクセスを許可されたことを前記並行性マネージャクライアントアプリケーションに通知するステップとを含む、請求項1に記載の方法。
  4. 前記第2のアプリケーションセットのうちの、第1の優先度レベルをもつ第1のアプリケーションが、前記少なくとも1つのリソースにアクセス中であるという通知を、前記並行性マネージャクライアントアプリケーションから受信するステップと、
    前記受信した通知の後、前記少なくとも1つのリソースへのアクセスを求める要求を、前記第1のアプリケーションセットのうちの、第2の優先度レベルをもつ第2のアプリケーションから受信するステップであって、前記第2の優先度レベルが前記第1の優先度レベルよりも低いステップと、
    前記受信した要求を拒否するステップと、
    前記受信した要求の前記拒否の後、前記第1のアプリケーションが前記少なくとも1つのリソースにもはやアクセス中ではないという補足通知を、前記並行性マネージャクライアントアプリケーションから受信するステップと、
    前記受信した補足通知に応答して、前記第1のアプリケーションが前記少なくとも1つのリソースにアクセスすることを今は許容されるという指示を、前記第1のアプリケーションに送信するステップとをさらに含む、請求項1に記載の方法。
  5. マルチプロセッサモバイル通信デバイス(200、1300)の第2のプロセッサシステム(450A)上で実行する並行性マネージャクライアントアプリケーション(420B)を操作する方法であって、前記並行性マネージャクライアントアプリケーションが、前記マルチプロセッサモバイル通信デバイスの第1のプロセッサシステム(400A)上で実行する並行性マネージャサーバアプリケーション(410B)と対話するように構成される、方法において、
    前記第1のプロセッサシステム上での実行のために構成された第1のアプリケーションセット(1_1、2_1...N_1)、および前記第2のプロセッサシステム上での実行のために構成された第2のアプリケーションセット(1_2、2_2...M_2)用の少なくとも1つのリソースへのアクセスに関連した優先度レベルを、前記並行性マネージャサーバアプリケーションから受信するステップ(505A、605A、705、805、915)と、
    前記並行性マネージャクライアントアプリケーションによって、前記少なくとも1つのリソースへの、前記第2のアプリケーションセットのうちのアプリケーションによるアクセスを、前記受信した優先度レベルに基づいて選択的に許可または拒否するステップ(540A、545A、615、620、685、690、740、760、765、840、860、865)とを含む方法。
  6. 前記選択的に許可するステップが、
    前記第2のアプリケーションセットのうちの、所与の優先度レベルをもつ所与のアプリケーションから、前記少なくとも1つのリソースへのアクセスを求める要求を受信するステップと、
    (i)前記少なくとも1つのリソースが、現在アクセス中でない場合、または(ii)前記少なくとも1つのリソースが、前記所与の優先度レベルよりも低い優先度レベルをもつ、前記第1または第2のアプリケーションのうちの別のアプリケーションによってアクセス中である場合、前記受信した要求を許可するステップと、
    前記少なくとも1つのリソースが、前記所与の優先度レベルよりも高い優先度レベルをもつ、前記第1または第2のアプリケーションのうちの別のアプリケーションによって現在アクセス中である場合、前記受信した要求を拒否するステップとを含む、請求項5に記載の方法。
  7. 前記選択的に許可するステップが、
    前記第1のアプリケーションセットのうちの、第1の優先度レベルをもつ第1のアプリケーションから、前記少なくとも1つのリソースへのアクセスを求める要求を受信するステップと、
    前記受信した要求を許可するステップと、
    前記第1のアプリケーションが前記少なくとも1つのリソースへのアクセスを許可されたことを前記並行性マネージャクライアントアプリケーションに通知するステップとを含む、請求項5に記載の方法。
  8. 前記第1のアプリケーションセットのうちの、第1の優先度レベルをもつ第1のアプリケーションが、前記少なくとも1つのリソースにアクセス中であるという通知を、前記並行性マネージャサーバアプリケーションから受信するステップと、
    前記受信した通知の後、前記少なくとも1つのリソースへのアクセスを求める要求を、前記第2のアプリケーションセットのうちの、第2の優先度レベルをもつ第2のアプリケーションから受信するステップであって、前記第2の優先度レベルが前記第1の優先度レベルよりも低いステップと、
    前記受信した要求を拒否するステップと、
    前記受信した要求の前記拒否の後、前記第1のアプリケーションが前記少なくとも1つのリソースにもはやアクセス中ではないという補足通知を、前記並行性マネージャサーバアプリケーションから受信するステップと、
    前記受信した補足通知に応答して、前記第1のアプリケーションが前記少なくとも1つのリソースにアクセスすることを今は許容されるという指示を、前記第1のアプリケーションに送信するステップとをさらに含む、請求項5に記載の方法。
  9. 前記第2のアプリケーションセットのうちの、第1の優先度レベルをもつ第1のアプリケーションが、前記少なくとも1つのリソースにアクセス中であるという通知を、前記並行性マネージャサーバアプリケーションから受信するステップと、
    前記受信した通知の後、前記少なくとも1つのリソースへのアクセスを求める要求を、前記第2のアプリケーションセットのうちの、第2の優先度レベルをもつ第2のアプリケーションから受信するステップであって、前記第2の優先度レベルが前記第1の優先度レベルよりも高いステップと、
    前記受信した要求を前記並行性マネージャサーバアプリケーションに通知するステップと、
    前記並行性マネージャサーバアプリケーションから、前記通知に応答して、前記第1のアプリケーションが前記少なくとも1つのリソースを解放したという指示を受信するステップと、
    前記受信した指示に応答して、前記第2のアプリケーションに対して、前記受信した要求を許可するステップとをさらに含む、請求項5に記載の方法。
  10. マルチプロセッサモバイル通信デバイス(200、1300)を操作する方法であって、
    所与の機能の実装のための、少なくとも第1のリソースセットへのアクセスを求める要求を、アプリケーションから受信するステップ(1000、1100、1200)と、
    前記第1のリソースセットへの、前記アプリケーションのアクセスを拒否するステップ(1005、1105、1110、1215、1225)と、
    前記アプリケーションによって要求されるとき、前記第1のリソースセットに対する受諾可能代替物のリストを含む並行性マネージャにおける決定論理に基づいて、前記拒否に関連して、代替法で前記所与の機能を実装するように構成された第2のリソースセットへのアクセスを前記アプリケーションが許容されると判断するステップ(1015、1115、1220)と、
    前記判断に応答して、前記第2のリソースセットへのアクセスが前記所与の機能の代替実装に使用可能であることを前記アプリケーションに通知するステップ(1020、1120、1225)とを含む方法。
  11. 並行性マネージャサーバアプリケーション(410B)を実行するように構成された第1のプロセッサシステム(400A)を含むマルチプロセッサモバイル通信デバイス(200、1300)であって、前記並行性マネージャサーバアプリケーションが、前記マルチプロセッサモバイル通信デバイスの第2のプロセッサシステム(450A)上で実行する並行性マネージャクライアントアプリケーション(420B)と対話するように構成される、デバイスにおいて、
    前記第1のプロセッサシステム上での実行のために構成された第1のアプリケーションセット(1_1、2_1....N_1)、および前記第2のプロセッサシステム上での実行のために構成された第2のアプリケーションセット(1_2、2_2...M_2)用の少なくとも1つのリソースへのアクセスに関連した優先度レベルを判定する(500A、600、700、800、900、905、910)ように構成された論理部と、
    前記並行性マネージャクライアントアプリケーションが、前記第2のアプリケーションセットのうちのアプリケーションによる、前記少なくとも1つのリソースへのアクセスを、通知された優先度レベルに基づいて選択的に許可または拒否するのを容易にするために、前記判定優先度レベルを前記並行性マネージャクライアントアプリケーションに通知する(505A、605、705、805、915)ように構成された論理部(1310)と、
    前記並行性マネージャサーバアプリケーションによって、前記少なくとも1つのリソースへの、前記第1のアプリケーションセットのうちのアプリケーションによるアクセスを、前記判定優先度レベルに基づいて選択的に許可または拒否する(515A、520A、580A、585A、640、665、715、720、815、820)ように構成された論理部(1310)とを備えるデバイス。
  12. 並行性マネージャクライアントアプリケーション(420B)を実行するように構成された第2のプロセッサシステム(450A)を含むマルチプロセッサモバイル通信デバイス(200、1300)であって、前記並行性マネージャクライアントアプリケーションが、前記マルチプロセッサモバイル通信デバイスの第1のプロセッサシステム(400A)上で実行する並行性マネージャサーバアプリケーション(420B)と対話するように構成される、デバイスにおいて、
    前記第1のプロセッサシステム上での実行のために構成された第1のアプリケーションセット(1_1、2_1...N_1)、および前記第2のプロセッサシステム上での実行のために構成された第2のアプリケーションセット(1_2、2_2...M_2)用の、少なくとも1つのリソースへのアクセスに関連した優先度レベルを、前記並行性マネージャサーバアプリケーションから受信する(505A、605A、705、805、915)ように構成された論理部(1310)と、
    前記並行性マネージャクライアントアプリケーションによって、前記少なくとも1つのリソースへの、前記第2のアプリケーションセットのうちのアプリケーションによるアクセスを、前記受信した優先度レベルに基づいて選択的に許可または拒否する(540A、545A、615、620、685、690、740、760、765、840、860、865)ように構成された論理部(1310)とを備えるデバイス。
  13. 所与の機能の実装のための、少なくとも第1のリソースセットへのアクセスを求める要求を、アプリケーションから受信する(1000、1100、1200)ように構成された論理部(1310)と、
    前記第1のリソースセットへの、前記アプリケーションのアクセスを拒否する(1005、1105、1110、1215、1225)ように構成された論理部(1310)と、
    前記拒否に関連して、代替法で前記所与の機能を実装するように構成された第2のリソースセットへのアクセスを前記アプリケーションが許容されると判断する(1015、1115、1220)ように構成された論理部(1310)であって、前記アプリケーションによって要求されるとき、前記第1のリソースセットに対する受諾可能代替物のリストを含む論理部と、
    前記判断に応答して、前記第2のリソースセットへのアクセスが前記所与の機能の代替実装に使用可能であることを前記アプリケーションに通知する(1020、1120、1225)ように構成された論理部(1310)とを備えるマルチプロセッサモバイル通信デバイス(200、1300)。
  14. 請求項1から10のいずれかによる方法を実行するための手段を含む装置(200、1300)。
  15. 請求項1から10のいずれかによる方法を通信エンティティ(200、1300)に実行させるための、少なくとも1つの命令を含む、コンピュータ可読記録媒体を含む、コンピュータプログラム。
JP2013539001A 2010-11-15 2011-11-15 マルチプロセッサモバイル通信デバイスのアプリケーション用のリソース取得の調停 Expired - Fee Related JP5649253B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US41378010P 2010-11-15 2010-11-15
US61/413,780 2010-11-15
US13/295,820 2011-11-14
US13/295,820 US9317329B2 (en) 2010-11-15 2011-11-14 Arbitrating resource acquisition for applications of a multi-processor mobile communications device
PCT/US2011/060841 WO2012068150A1 (en) 2010-11-15 2011-11-15 Arbitrating resource acquisition for applications of a multi-processor mobile communications device

Publications (2)

Publication Number Publication Date
JP2014505282A true JP2014505282A (ja) 2014-02-27
JP5649253B2 JP5649253B2 (ja) 2015-01-07

Family

ID=45048294

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013539001A Expired - Fee Related JP5649253B2 (ja) 2010-11-15 2011-11-15 マルチプロセッサモバイル通信デバイスのアプリケーション用のリソース取得の調停

Country Status (5)

Country Link
US (1) US9317329B2 (ja)
EP (1) EP2641170B1 (ja)
JP (1) JP5649253B2 (ja)
CN (1) CN103299280B (ja)
WO (1) WO2012068150A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9069585B2 (en) * 2009-03-02 2015-06-30 Microsoft Corporation Application tune manifests and tune state recovery
JP5699756B2 (ja) * 2011-03-31 2015-04-15 富士通株式会社 情報処理装置及び情報処理装置制御方法
GB2491165A (en) * 2011-05-26 2012-11-28 Realvnc Ltd Mobile device having a priority adjusting thread for link wi th remote terminal
JP6020272B2 (ja) * 2013-03-18 2016-11-02 富士通株式会社 通信装置及び通信方法
KR20150009025A (ko) * 2013-07-08 2015-01-26 삼성전자주식회사 단말기의 다중 사용자 권한 제어 장치 및 방법
EP2860932A1 (en) * 2013-10-09 2015-04-15 Telefonaktiebolaget L M Ericsson (Publ) Multimedia Communications Service Handling
US20150277978A1 (en) * 2014-03-25 2015-10-01 Freescale Semiconductor, Inc. Network processor for managing a packet processing acceleration logic circuitry in a networking device
DE102014108483A1 (de) * 2014-06-17 2015-12-17 Datenlotsen Informationssysteme Gmbh Client-Server-System und Endgerät
KR102303417B1 (ko) * 2015-06-19 2021-09-23 삼성전자주식회사 복수의 운영 체제를 지원하는 전자 장치 제어 방법
US10523406B2 (en) * 2015-06-28 2019-12-31 RF DSP Inc. Single channel full duplex wireless base station or access point
US9733978B2 (en) 2015-08-27 2017-08-15 Qualcomm Incorporated Data management for multiple processing units using data transfer costs
US9778961B2 (en) 2015-09-14 2017-10-03 Qualcomm Incorporated Efficient scheduling of multi-versioned tasks
US10360063B2 (en) 2015-09-23 2019-07-23 Qualcomm Incorporated Proactive resource management for parallel work-stealing processing systems
CN105389203B (zh) 2015-10-19 2017-11-17 广东欧珀移动通信有限公司 一种指纹识别设备的调用方法、装置及移动终端
CN105550037B (zh) * 2015-12-11 2019-07-12 北京元心科技有限公司 多系统中分配音频资源的方法及装置
CN106921705A (zh) * 2015-12-28 2017-07-04 南车株洲电力机车研究所有限公司 一种以太网终端设备
US20180146139A1 (en) * 2016-11-18 2018-05-24 Microsoft Technology Licensing, Llc Dynamically switching control sharing of camera resources
CN107528976B (zh) * 2017-08-31 2020-03-24 Oppo广东移动通信有限公司 资源配置方法及相关产品
CN107621981A (zh) * 2017-09-06 2018-01-23 广东欧珀移动通信有限公司 资源配置方法及相关产品
EP3886414A4 (en) * 2018-12-03 2021-12-15 Shenzhen Heytap Technology Corp., Ltd. CLOCK READING PROCESS AND APPARATUS AND ELECTRONIC DEVICE
AU2020216422B2 (en) 2019-01-31 2023-03-16 Ge Grid Solutions Llc Battery charge and discharge power control in a power grid
CN111459765B (zh) * 2020-04-16 2023-02-24 Oppo广东移动通信有限公司 统计方法、统计装置、电子设备和存储介质
CN113220482A (zh) * 2021-04-30 2021-08-06 北京达佳互联信息技术有限公司 调用请求处理方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10134010A (ja) * 1996-10-31 1998-05-22 Fujitsu Ltd 共有メモリ競合回避方式
JP2007108944A (ja) * 2005-10-12 2007-04-26 Renesas Technology Corp 半導体集積回路装置
JP2009230466A (ja) * 2008-03-24 2009-10-08 Seiko Epson Corp 情報処理装置、情報処理装置の制御方法および制御プログラム
JP2010039582A (ja) * 2008-07-31 2010-02-18 Panasonic Corp リソース排他制御システム、装置、方法およびプログラム

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5339427A (en) * 1992-03-30 1994-08-16 International Business Machines Corporation Method and apparatus for distributed locking of shared data, employing a central coupling facility
US5826081A (en) 1996-05-06 1998-10-20 Sun Microsystems, Inc. Real time thread dispatcher for multiprocessor applications
US5805900A (en) * 1996-09-26 1998-09-08 International Business Machines Corporation Method and apparatus for serializing resource access requests in a multisystem complex
EP0964332B1 (en) 1998-06-10 2005-10-12 Sun Microsystems, Inc. Scheduling processes for resource allocation
US6986137B1 (en) * 1999-09-28 2006-01-10 International Business Machines Corporation Method, system and program products for managing logical processors of a computing environment
US7137119B1 (en) 2000-05-02 2006-11-14 Microsoft Corporation Resource manager architecture with resource allocation utilizing priority-based preemption
US6823472B1 (en) 2000-05-11 2004-11-23 Lsi Logic Corporation Shared resource manager for multiprocessor computer system
US20030009558A1 (en) 2001-07-03 2003-01-09 Doron Ben-Yehezkel Scalable server clustering
US7047299B1 (en) * 2001-08-31 2006-05-16 Hewlett-Packard Development Company, L.P. Generic cluster aware lock broker with user defined locking modes
US7228351B2 (en) * 2002-12-31 2007-06-05 International Business Machines Corporation Method and apparatus for managing resource contention in a multisystem cluster
JP3889726B2 (ja) 2003-06-27 2007-03-07 株式会社東芝 スケジューリング方法および情報処理システム
US8533716B2 (en) * 2004-03-31 2013-09-10 Synopsys, Inc. Resource management in a multicore architecture
US7610586B2 (en) 2004-04-30 2009-10-27 Tvworks, Llc Resource manager for clients in an information distribution system
US7689998B1 (en) * 2004-07-13 2010-03-30 Microsoft Corporation Systems and methods that manage processing resources
US8566827B2 (en) 2005-10-27 2013-10-22 International Business Machines Corporation System and method of arbitrating access of threads to shared resources within a data processing system
JP4963854B2 (ja) 2006-03-28 2012-06-27 株式会社ソニー・コンピュータエンタテインメント マルチプロセッサコンピュータおよびネットワークコンピューティングシステム
US7693053B2 (en) 2006-11-15 2010-04-06 Sony Computer Entertainment Inc. Methods and apparatus for dynamic redistribution of tokens in a multi-processor system
US7685345B2 (en) 2007-06-27 2010-03-23 International Business Machines Corporation Apparatus and method for fairness arbitration for a shared pipeline in a large SMP computer system
US7721032B2 (en) 2007-06-28 2010-05-18 Apple Inc. Method and apparatus for mediating among media applications
JP2011504623A (ja) * 2007-11-02 2011-02-10 クゥアルコム・インコーポレイテッド 構成可能なシステム・イベントおよびリソース・アービトレーション管理の装置および方法
US20090144509A1 (en) 2007-11-30 2009-06-04 Kean Wong Memeory sharing between two processors
US8146091B2 (en) * 2008-05-01 2012-03-27 International Business Machines Corporation Expansion and contraction of logical partitions on virtualized hardware
DE102009016742B4 (de) 2009-04-09 2011-03-10 Technische Universität Braunschweig Carolo-Wilhelmina Mehrprozessor-Computersystem
US8452734B2 (en) * 2009-04-30 2013-05-28 Texas Instruments Incorporated FAT file in reserved cluster with ready entry state
US9047084B2 (en) * 2009-09-22 2015-06-02 Microsoft Technology Licensing, Llc Power management of a mobile communications device
KR101680109B1 (ko) 2009-10-29 2016-12-12 삼성전자 주식회사 복수 코어 장치 및 그의 로드 조정 방법
US8612242B2 (en) * 2010-04-16 2013-12-17 St-Ericsson Sa Minimizing speech delay in communication devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10134010A (ja) * 1996-10-31 1998-05-22 Fujitsu Ltd 共有メモリ競合回避方式
JP2007108944A (ja) * 2005-10-12 2007-04-26 Renesas Technology Corp 半導体集積回路装置
JP2009230466A (ja) * 2008-03-24 2009-10-08 Seiko Epson Corp 情報処理装置、情報処理装置の制御方法および制御プログラム
JP2010039582A (ja) * 2008-07-31 2010-02-18 Panasonic Corp リソース排他制御システム、装置、方法およびプログラム

Also Published As

Publication number Publication date
EP2641170A1 (en) 2013-09-25
EP2641170B1 (en) 2015-01-07
JP5649253B2 (ja) 2015-01-07
US9317329B2 (en) 2016-04-19
WO2012068150A1 (en) 2012-05-24
CN103299280B (zh) 2017-02-15
US20120263125A1 (en) 2012-10-18
CN103299280A (zh) 2013-09-11

Similar Documents

Publication Publication Date Title
JP5649253B2 (ja) マルチプロセッサモバイル通信デバイスのアプリケーション用のリソース取得の調停
CN105897442B (zh) 用于无线通信系统中的经客户端管理的群组通信会话的方法和设备
JP5383907B2 (ja) 無線通信システム内のユーザ装置(ue)のページング
JP6121444B2 (ja) ワイヤレス通信システムにおける通信セッション開始情報の取得
US9497684B2 (en) Radio access technology handover optimization in a push-to-talk session
JP5781193B2 (ja) ネットワークゾーン認識に基づくマルチメディアアプリケーションのサポート
US9554389B2 (en) Selectively allocating quality of service to support multiple concurrent sessions for a client device
JP5318283B2 (ja) 無線通信システム内で通信セッションのセットアップ中にue(ユーザ機器)を専用チャネル状態に遷移させること
US9357359B2 (en) Dynamic quality of service (QoS) for services over cellular
JP5346120B2 (ja) 中断不可能なワイヤレスグループ通信セッションのための方法およびデバイス
US9456039B2 (en) Exchanging floor arbitration history information during a communication session
JP2017063449A (ja) 通信システムにおけるユーザ機器または通信グループに関連する情報の推奨
US20130100820A1 (en) Maintaining a user equipment in a shared channel state in a wireless communications system

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140617

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140707

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140917

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141110

R150 Certificate of patent or registration of utility model

Ref document number: 5649253

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