CN103299280B - 对用于多处理器移动通信设备的应用程序的资源获取进行仲裁 - Google Patents
对用于多处理器移动通信设备的应用程序的资源获取进行仲裁 Download PDFInfo
- Publication number
- CN103299280B CN103299280B CN201180064679.5A CN201180064679A CN103299280B CN 103299280 B CN103299280 B CN 103299280B CN 201180064679 A CN201180064679 A CN 201180064679A CN 103299280 B CN103299280 B CN 103299280B
- Authority
- CN
- China
- Prior art keywords
- application program
- resource
- management device
- application
- concurrency management
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/5038—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
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
在一个实施例中,多处理器移动通信设备(200;1300)包括:执行并发管理器服务器应用程序(CMSA)(410B)的第一处理器系统(400A)和执行并发管理器客户端应用程序(CMCA)(420B)的第二处理器系统(450A)。CMSA确定(500A;600;700;800;9800,905,910)与访问用于第一组应用程序和第二组应用程序的资源有关的优先级水平,其中第一组应用程序被配置为在第一处理器系统上执行,第二组应用程序被配置为在第二处理器系统上执行。CMSA向CMCA告知(505A;605A;705;805;915)所确定的优先级。随后,CMSA和CMCA分别基于所确定的优先级水平(515A,520A;580A,585A;640,665;715,720;815,820;540A,545A;615,620;685,690;740;760,765;840;860,865),来选择性地同意或拒绝对用于第一组应用程序和第二组应用程序的资源的访问。在另一个实施例中,如果CMSA或CMCA拒绝(1005,1105,1110;1215,1225)应用程序对访问资源的请求,则CMSA或CMCA可以确定(1015;1115;1220)替代资源的可用性,其中进行请求的应用程序能使用该替代资源来实现其目标。
Description
基于35U.S.C.§119要求优先权
本专利申请要求享有于2010年11月15日提交的、题目为“ARBITRATING RESOURCEACQUISITION FOR APPLICATIONS OF A MULTI-PROCESSOR MOBILE COMMUNICATIONSDEVICE”的临时申请No.61/413,780的优先权,该临时申请已转让给本申请的受让人,故明确地以引用方式并入本文。
技术领域
本发明的实施例涉及对用于移动通信设备的应用程序的资源获取进行仲裁。
背景技术
无线通信系统已发展经历了包括第一代模拟无线电话业务(1G)、第二代(2G)数字无线电话业务(其包括过渡的2.5G和2.75G网络)和第三代(3G)高速数据/具有互联网能力的无线业务的各代。目前,存在多种不同类型的无线通信系统在使用,其包括蜂窝和个人通信服务(PCS)系统。已知蜂窝系统的示例包括蜂窝模拟高级移动电话系统(AMPS)和基于码分多址(CDMA)、频分多址(FDMA)、正交FDMA(OFDMA)、时分多址(TDMA)、TDMA的全球移动接入系统(GSM)变型的数字蜂窝系统、以及使用TDMA技术和CDMA技术二者的较新的混合数字通信系统。
在美国,由电信工业联盟/电子工业联盟在标题为“Mobile Station-BaseStation Compatibility Standard for Dual-Mode Wideband Spread SpectrumCellular System”的TIA/EIA/IS-95-A(本申请将其称为IS-95)中,对用于提供CDMA移动通信的方法进行了标准化。在TIA/EIA标准IS-98中,描述了组合的AMPS&CDMA系统。在覆盖叫做宽带CDMA(W-CDMA)、CDMA2000(例如,诸如CDMA2000 1xEV-DO标准)或者TD-SCDMA的IMT-2000/UM或者国际移动电信系统2000/通用移动通信系统、标准中,描述了其它通信系统。
在W-CDMA无线通信系统中,用户设备(UE)从固定位置节点B(其也叫做小区站点或者小区)接收信号,其中这些固定位置节点B在与这些基站相邻或周围的特定地理区域内支持通信链路或者服务。节点B提供针对接入网络(AN)/无线接入网络(RAN)的进入点,其中接入网络(AN)/无线接入网络(RAN)通常是使用基于标准互联网工程任务组(IETF)的协议的分组数据网络,这些协议支持基于服务质量(QoS)需求来区分业务的方法。因此,节点B通常通过空中接口与UE进行交互,并且通过互联网协议(IP)网络数据分组与RAN进行交互。
在无线电信系统中,即按即说(PTT)能力受到服务扇区和消费者的欢迎。PTT可以支持在诸如W-CDMA、CDMA、FDMA、TDMA、GSM等标准商业无线基础设施上进行操作的“分派”语音服务。在分派模型中,在虚拟组内发生端点(例如,UE)之间的通信,其中一个“说话者”的语音被发送给一个或多个“听众”。通常,这种类型通信的单个实例通常被称为分派呼叫、或者简称为PTT呼叫。PTT呼叫是对呼叫的特性进行定义的组的实例。本质上,组是由成员列表和相关联的信息(例如,组名或组标识)定义的。
发明内容
在一个实施例中,多处理器移动通信设备包括:执行并发管理器服务器应用程序(CMSA)的第一处理器系统和执行并发管理器客户端应用程序(CMCA)的第二处理器系统。CMSA确定与访问用于第一组应用程序和第二组应用程序的资源有关的优先级水平,其中第一组应用程序被配置为在第一处理器系统上执行,第二组应用程序被配置为在第二处理器系统上执行。CMSA向CMCA告知所确定的优先级。随后,CMSA和CMCA分别基于所确定的优先级水平,来选择性地同意或拒绝对用于第一组应用程序和第二组应用程序的资源的访问。在另一个实施例中,如果CMSA或CMCA拒绝应用程序对访问资源的请求,则CMSA或CMCA可以确定替代资源的可用性,其中进行请求的应用程序能使用该替代资源来实现其目标。
附图说明
当结合附图进行考虑时,由于参照下面的详细描述,能更好地理解本发明的实施例,所以将容易获得对本发明的这些实施例的更完整的理解及其随之带来的很多优点,所呈现的附图只是用于对本发明进行说明而不是限制,其中:
图1是根据本发明的至少一个实施例,支持用户设备和无线接入网络的无线网络架构的图。
图2A根据本发明的一个实施例,描绘了图1的核心网。
图2B更详细地描绘了图1的无线通信系统的示例。
图3是根据本发明的至少一个实施例的用户设备的视图。
图4A和图4B是根据本发明的实施例的多处理器系统的视图。
图5A-5D是根据本发明的实施例的资源分配的各种场景的视图。
图6是根据本发明的实施例的资源分配的至少一种场景的视图。
图7是根据本发明的实施例的资源分配的至少一种场景的视图。
图8是根据本发明的实施例的资源分配的至少一种场景的视图。
图9是根据本发明的实施例,对应用程序优先级的至少一种确定的视图。
图10是根据本发明的一个实施例,拒绝应用程序访问第一组资源,同时还向该应用程序告知第二组资源的可用性的过程的视图。
图11和图12是根据本发明的实施例,描绘图10的过程的示例性实现方式的视图。
图13是描绘了通信设备的视图,该通信设备包括被配置为执行功能的逻辑。
具体实施方式
在下面针对本发明具体实施例的描述和相关附图中公开了本发明的各方面。在不脱离本发明保护范围的情况下,可以设计出替代性的实施例。此外,为了避免本发明的相关细节变模糊,将不详细描述或省略本发明的公知单元。
本文使用的“示例性”和/或“示例”一词意味着“用作例子、例证或说明”。本文中描述为“示例性”和/或“示例”的任何实施例不一定被解释为比其它实施例更为优选或更具优势。同样,术语“本发明的实施例”不是要求本发明的所有实施例都包括所讨论的特征、优点或操作模式。
此外,围绕由例如计算设备的单元所执行的动作顺序,来描述很多实施例。应当认识到,本申请描述的各种动作可以由具体电路(例如,专用集成电路(ASIC))、由一个或多个处理器执行的程序指令或者二者的组合来执行。此外,本文所述的动作的这些顺序可以被认为是完全体现在任何形式的计算机可读存储介质中,所述计算机可读存储介质具有存储在其中的相应计算机指令集,在执行这些计算机指令后,将使得相关联的处理器执行本文所述的功能。因此,本发明的各个方面可以以多种不同的形式来体现,已经预期所有这些不同形式都落入本发明的保护范围内。此外,对于本申请描述的每一个实施例来说,本申请可以将相应形式的任何这种实施例描述成,例如,被配置为执行所述动作的“逻辑”。
本文中被称为用户设备(UE)的高数据速率(HDR)用户站可以是移动的或者静止的,并且其可以与一个或多个接入点(AP)(在本文中被称为节点B)进行通信。UE通过节点B中的一个或多个节点B向无线网络控制器(RNC)发送和接收数据分组。节点B和RNC是叫做无线接入网络(RAN)的网络的一部分。无线接入网络能够在多个UE之间传输语音和数据分组。
无线接入网络还可以连接到无线接入网络之外的额外网络(例如,核心网,其包括与特定运营商有关的服务器和设备、以及与诸如企业内部网、互联网、公共交换电话网(PSTN)、服务通用分组无线服务(GPRS)支持节点(SGSN)、网关GPRS支持节点(GGSN)之类的其它网络的连接),并且无线接入网络可以在每个UE与这些网络之间传输语音和数据分组。已经与一个或多个节点B建立了活动业务信道连接的UE,可以被称为活动UE,并且该UE可以被称为处于业务状态。处于与一个或多个节点B建立活动业务信道(TCH)连接过程中的UE,可以被称为处于连接建立状态。UE可以是通过无线信道或者通过有线信道进行通信的任何数据设备。UE还可以是多种类型的设备中的任一种,包括但不限于:PC卡、压缩闪存设备、外部或内部调制解调器、或者无线电话或有线电话。UE向节点B发送信号所通过的通信链路叫做上行链路信道(例如,反向业务信道、控制信道、接入信道等)。节点B向UE发送信号所通过的通信链路叫做下行链路信道(例如,寻呼信道、控制信道、广播信道、前向业务信道等)。如本申请所使用的,术语业务信道(TCH)可以指代上行链路/反向或者下行链路/前向业务信道。
图1根据本发明的至少一个实施例,描绘了无线通信系统100的一个示例性实施例的框图。系统100可以包含通过空中接口104与接入网络或者无线接入网络(RAN)120进行通信的UE(例如,蜂窝电话102),其中接入网络或者RAN 120可以将接入终端102连接到在分组交换数据网络(例如,内部网、互联网和/或核心网126)与UE 102、108、110、112之间提供数据连接的网络装置。如这里所示,UE可以是蜂窝电话102、个人数字助理108、寻呼机110(其在本申请示出为双向文本寻呼机)、或者甚至具有无线通信端口的单独计算机平台112。因此,本发明的实施例可以实现在包括无线通信端口或者具有无线通信能力的任何形式的接入终端上,其包括但不限于:无线调制解调器、PCMCIA卡、个人计算机、电话或者其任意组合或者子组合。此外,如本申请所使用的,其它通信协议(即,不同于W-CDMA)中的术语“UE”可以被互换地称为“接入终端”、“AT”、“无线设备”、“客户端设备”、“移动终端”、“移动站”及其变型。
回过来看图1,无线通信系统100的组件以及本发明的示例性实施例的单元的相互关系并不限于所示的配置。系统100仅仅是示例性的,并且系统100可以包括允许远程UE(例如,无线客户端计算设备102、108、110、112)彼此之间和/或经由空中接口104和RAN 120连接的组件(其包括但不限于核心网126、互联网、PSTN、SGSN、GGSN和/或其它远程服务器)之间进行空中通信的任何系统。
RAN 120对发送给RNC 122的消息(其通常被发送成数据分组)进行控制。RNC 122负责在服务通用分组无线服务(GPRS)支持节点(SGSN)和UE 102/108/110/112之间发送信号、建立和拆卸承载信道(即,数据信道)。如果启用链路层加密,则RNC 122在通过空中接口104转发内容之前,还对该内容进行加密。RNC 122的功能是本领域公知的,为了简略起见,将不进行讨论。核心网126可以通过网络、互联网和/或公共交换电话网(PSTN)与RNC 122进行通信。替换地,RNC 122可以直接连接到互联网或者外部网络。通常,核心网126与RNC 122之间的网络或者互联网连接传输数据,PSTN传输语音信息。RNC 122可以连接到多个节点B124。通过类似于核心网126的方式,RNC 122通常通过网络、互联网和/或PSTN连接到节点B124,以用于数据传输和/或语音信息。节点B 124可以将数据消息无线地广播给UE(例如,蜂窝电话102)。节点B 124、RNC 122和其它组件可以形成RAN 120,如本领域所公知的。但是,也可以使用替代的配置,本发明并不限于所描绘的配置。例如,在另一个实施例中,可以将RNC 122以及节点B 124中的一个或多个节点B的功能综合到单个“混合”模块中,该模块具有RNC 122和节点B 124二者的功能。
图2A根据本发明的一个实施例,描绘了核心网126。具体而言,图2A描绘了在W-CDMA系统内实现的通用分组无线服务(GPRS)核心网的组件。在图2A的实施例中,核心网126包括服务GPRS支持节点(SGSN)160、网关GPRS支持节点(GGSN)165和互联网175。但是,应当理解的是,在替代的实施例中,互联网175和/或其它组件的一部分可以位于核心网之外。
通常,GPRS是由全球移动通信系统(GSM)电话为了发送互联网协议(IP)分组所使用的协议。GPRS核心网(例如,GGSN 165和一个或多个SGSN 160)是GPRS系统的中心部分,其还为基于W-CDMA的3G网络提供支持。GPRS核心网是GSM核心网的组成部分,其为GSM和W-CDMA网络中的IP分组服务提供移动性管理、会话管理和传输。
GPRS隧道协议(GTP)是GPRS核心网的起决定性作用的IP协议。GTP是如下协议:其允许GSM或者W-CDMA网络的终端用户(例如,接入终端)从一个地方向另一个地方移动,同时该用户继续连接到互联网,就好像其来自GGSN 165处的一个位置。这是通过将用户的数据从该用户的当前SGSN 160传送到GGSN 165来实现的,其中GGSN 165对该用户的会话进行处理。
GPRS核心网使用了三种形式的GTP;即,(i)GTP-U、(ii)GTP-C和(iii)GTP’(主GTP)。针对每个分组数据协议(PDP)上下文,使用GTP-U在单独隧道中传输用户数据。GTP-C用于控制信令(例如,PDP上下文的建立和删除、GSN到达能力的验证、例如当用户从一个SGSN移动到另一个SGSN时的更新或修改,等等)。GTP’用于将收费数据从GSN传送到收费功能。
参见图2A,GGSN 165充当为GPRS骨干网络(没有示出)与外部分组数据网络175之间的接口。GGSN 165从来自SGSN 160的GPRS分组中提取与分组数据协议(PDP)格式(例如,IP或者PPP)相关联的分组数据,并在相应的分组数据网络上发出这些分组。在另一个方向上,GGSN 165将输入的数据分组引导到SGSN 160,SGSN 160对由RAN 120所服务的目的地UE的无线接入承载(RAB)进行管理和控制。从而,GGSN 165将目标UE的当前SGSN地址和他/她的简档存储在其位置寄存器中(例如,在PDP上下文中)。GGSN负责IP地址分配并且是所连接的UE的缺省路由器。GGSN还执行认证和收费功能。
在一个示例中,SGSN 160代表核心网126内的很多SGSN中的一个。每个SGSN负责在相关联的地理服务区域内对来自和去往UE的数据分组进行传送。SGSN 160的任务包括分组路由和传输、移动性管理(例如,连接/分离和位置管理)、逻辑链路管理、以及认证和收费功能。SGSN的位置寄存器将向SGSN 160注册的所有GPRS用户的位置信息(例如,当前小区、当前VLR)和用户简档(例如,分组数据网络中使用的IMSI、PDP地址)存储在例如用于每个用户或UE的一个或多个PDP上下文之内。因此,SGSN负责(i)对来自GGSN 165的下行链路GTP分组进行去隧道化(de-tunnel),(ii)对去往GGSN 165的IP分组进行上行链路隧道化,(iii)随着UE在SGSN服务区域之间移动而执行移动性管理,以及(iv)对移动用户出具账单。如本领域普通技术人员应当理解的,除了(i)-(iv)以外,与针对W-CDMA网络所配置的SGSN相比,针对GSM/EDGE网络所配置的SGSN还具有稍微不同的功能。
RAN 120(例如,或者在通用移动电信系统(UMTS)系统架构中的UTRAN)使用诸如帧中继或IP之类的传输协议,经由Iu接口与SGSN 160进行通信。SGSN 160经由Gn接口与GGSN165进行通信,其中Gn接口是SGSN 160及其它SGSN(没有示出)与内部GGSN之间的基于IP的接口,并且使用了上面定义的GTP协议(例如,GTP-U、GTP-C、GTP’等)。虽然图2A中没有示出,但域名系统(DNS)也使用Gn接口。GGSN 165连接到公共数据网(PDN)(没有示出),继而使用IP协议经由Gi接口直接地或者通过无线应用协议(WAP)网关连接到互联网175。
PDP上下文是在SGSN 160和GGSN 165两者上呈现的数据结构,其中当特定UE具有活动的GPRS会话时,该数据结构包含该UE的通信会话信息。当UE希望发起GPRS通信会话时,该UE必须首先连接到SGSN 160,随后激活与GGSN 165的PDP上下文。这在该用户当前正在接入的SGSN 160和对该UE的接入点进行服务的GGSN 165中,分配了PDP上下文数据结构。
图2B更详细地描绘了图1的无线通信系统100的示例。具体地,参见图2B,UE 1…N示出为连接到由不同的分组数据网络端点进行服务的位置处的RAN 120。虽然图2B的视图是专门针对W-CDMA系统和术语,但应当明白可以如何对图2B进行修改以符合1x EV-DO系统。相应地,UE 1和3连接到由第一分组数据网络端点162(例如,其可以对应于SGSN、GGSN、PDSN、归属代理(HA)、外地代理(FA)等)所服务的部分处的RAN 120。第一分组数据网络端点162继而经由路由单元188连接到互联网175和/或连接到认证、授权和计费(AAA)服务器182、设定服务器184、互联网协议(IP)多媒体子系统(IMS)/会话发起协议(SIP)注册服务器186和/或应用服务器170中的一个或多个。UE 2和5…N连接到由第二分组数据网络端点164(例如,其可以对应于SGSN、GGSN、PDSN、FA、HA等)所服务的部分处的RAN 120。类似于第一分组数据网络端点162,第二分组数据网络端点164继而经由路由单元188连接到互联网175和/或连接到AAA服务器182、设定服务器184、IMS/SIP注册服务器186和/或应用服务器170中的一个或多个。UE 4直接连接到互联网175,并且通过互联网175能够随后连接到上述系统组件中的任何一个。
参见图2B,UE 1、3和5…N被示出为无线蜂窝电话,UE 2被示出为无线平板PC,而UE4被示出为有线台式站。但是,在其它实施例中,应当理解的是,无线通信系统100可以连接到任何类型的UE,并且图2B中所示的示例并不旨在限制可以在该系统内实现的UE的类型。此外,虽然AAA 182、设定服务器184、IMS/SIP注册服务器186和应用服务器170均被描绘成结构上单独的服务器,但在本发明的至少一个实施例中,可以将这些服务器中的一个或多个服务器合并。
此外,参见图2B,应用服务器170被描绘成包括多个媒体控制复合体(MCC)1…N170B和多个区域分配器1…N 170A。总的来说,区域分配器170A和MCC 170B被包括在应用服务器170内,其中在至少一个实施例中,应用服务器170可以对应于分布式服务器网络,该分布式服务器网络统一地用于对无线通信系统100内的通信会话(例如,经由IP单播和/或IP多播协议的半双工/全双工组通信会话)进行仲裁。例如,因为理论上由应用服务器170仲裁的通信会话可以在位于系统100内的任何地方的UE之间发生,所以分布多个区域分配器170A和MCC,以减少对所仲裁的通信会话的时延(例如,使得处于北美的MCC不对位于中国的会话参与者之间的媒体进行来回中继)。因此,当提到应用服务器170时,应当理解的是,相关联的功能可以由区域分配器170A中的一个或多个区域分配器和/或MCC170B中的一个或多个MCC来执行。区域分配器170A通常负责与建立通信会话有关的任何功能(例如,处理UE之间的信令消息、调度和/或发送公告消息等),而MCC 170B负责在该呼叫实例的持续时间期间托管通信会话,包括对被仲裁的通信会话期间的呼入信令和实际媒体交换进行管理。
参见图3,UE 200(这里是无线设备),例如蜂窝电话,具有可以接收和执行从RAN120发送来的软件应用程序、数据和/或命令的平台202,所述软件应用程序、数据和/或命令归根结底可能来自于核心网126、互联网和/或其它远程服务器和网络。平台202可以包括收发机206,该收发机206可操作地耦合至专用集成电路(ASIC)、或其它处理器、微处理器、逻辑电路或其它数据处理设备。一个或多个处理器(例如,207、208)执行应用程序编程接口(API)210层,该API层与无线设备的存储器212中的任何常驻程序相接合。存储器212可以包括只读存储器或随机存取存储器(RAM和ROM)、EEPROM、闪存卡、或对于计算机平台通用的任何存储器。平台202也可以包括本地数据库214,本地数据库214能将没有被活跃使用的应用程序保持在存储器212中。本地数据库214通常是闪存单元,但是可以是本领域中已知的任何二级存储设备,例如磁介质、EEPROM、光学介质、磁带、软盘或硬盘等。内部平台202部件也可操作地耦合到外部设备,例如本领域中已知的天线222、显示器224、即按即说按钮228和键盘226以及其它部件。
相应地,本发明的实施例可以包括具有执行本文所述功能的能力的UE。如本领域普通技术人员将明白的,可以通过分立元件、在处理器上执行的软件模块、或实现本文所公开的功能的软件和硬件的任何组合来具体实现各种逻辑元件。例如,处理器I 207、处理器II 208、存储器212、API 210和本地数据库214都可以协同地用于加载、存储和执行本文所披露的各种功能,因此,执行这些功能的逻辑可以分布在各种元件上。可替换地,所述功能可以合并到一个分立部件中。因此,图3中的UE 200的特征仅被视为示意性的,但本发明不局限于所示的特征或布置。
此外,UE 200被示出为包括多个用户身份模块(SIM)1…N 244。因此,UE 200与多SIM UE相对应,如下面将更加详细描述的。
UE 102或200与RAN 120之间的无线通信可以基于不同的技术,例如码分多址(CDMA)、W-CDMA、时分多址(TDMA)、频分多址(FDMA)、正交频分复用(OFDM)、全球移动通信系统(GSM)或可以用于无线通信网络或数据通信网络中的其它协议。例如,在W-CDMA中,数据通信通常位于客户端设备102、节点B 124和RNC 122之间。RNC 122可以连接到多个数据网络,例如核心网126、PSTN、互联网、虚拟专用网、SGSN、GGSN等,从而允许UE 102或200接入更广的通信网络。如此前所讨论的或本领域中已知的,语音传输和/或数据可以使用各种网络和配置从RAN发送到UE。相应地,本文所提供的图示并非旨在限制本发明的实施例,而是仅仅辅助本发明实施例各方面的描述。
下面,根据W-CDMA协议及相关联的术语(例如,取代移动台(MS)、移动单元(MU)、接入终端(AT)等的UE,与EV-DO中的BSC形成对比的RNC,或者与EV-DO中的BS或MPT/BS形成对比的节点B,等等)总体地描述本发明的实施例。然而,本领域普通技术人员将容易理解如何结合与W-CDMA不同的无线通信协议(例如,EV-DO、长期演进(LTE)等)来应用本发明的实施例。
在多处理器手持装置上,大多数应用程序在高级操作系统(HLOS)(例如,Android、iOS、Windows Mobile等等)之上的应用处理器系统上运行。这些应用程序通常不是特别延迟敏感的,并且没有紧密地绑定到空中接口。但是,对于诸如VoIP应用程序之类的延迟敏感型应用程序,HLOS可能不足以支持延迟敏感型功能(例如,服务质量(QoS))。相应地,延迟敏感型应用程序可以由与应用处理器系统分开的调制解调器处理器系统进行处理,使得延迟敏感型应用程序可以更直接地访问空中接口。
但是,当不同的应用程序同时在调制解调器和应用处理器系统上运行时,可能在处理器系统之间出现关于资源竞争的问题,从而在给定的时间,不能将资源分配给超过门限数量(例如,一个)的应用程序。例如,就手持装置的音频输出设备或者扬声器而言,当语音呼叫活动时,HLOS所实现的典型并发管理器解决方案阻碍所有其它应用程序访问音频输出设备,但是在其它方面不对调制解调器和处理器系统上的应用程序实施限制。因此,有可能的是,调制解调器处理器系统上的第一应用程序(例如,VoIP应用程序)能够尝试在与应用处理器系统上的第二应用程序(例如,MP3应用程序)相同的时间访问音频输出设备,其导致混合的音频输出,这降低了用户体验。另外,可能不支持其它应用程序的优先级。
图4A根据本发明的一个实施例,描绘了多处理器UE的结构化架构。参见图4A,多处理器UE包括第一处理器系统400A和第二处理器系统450A。在一个示例中,第一处理器系统400A对应于应用处理器系统,该应用处理器系统负责执行由该多处理器UE执行的大部分应用程序,而第二处理器系统450A对应于调制解调器处理器系统,该调制解调器处理器系统控制多处理器UE的无线通信功能,并且可以被配置为执行延迟敏感型应用程序的子集(例如,诸如VoIP应用程序)。
参见图4A,第一处理器系统400A包括第一处理器405A、存储器410A和电池415A,而第二处理器系统450A包括第二处理器455A、存储器460A、电池465A和调制解调器470A。在一个示例中,电池415A和465A可以被实现成用于分别向第一处理器系统400A和第二处理器系统450A提供电源的单独电池,或者替换地,实现成用于向两个处理器系统提供电源的单个电池。图中还示出了总线430A,该总线430A连接第一处理器系统400A和第二处理器系统450A,并且各个处理器系统的硬件和/或软件组件可以通过总线430A进行相互通信。
图4B根据本发明的一个实施例,描绘了图4A的第一处理器系统400A和第二处理器系统450A的软件模块之间的交互。参见图4B,第一处理器系统400A包括多个客户端可执行应用程序1_1…N_1,其中N>=1。客户端可执行应用程序1_1…N_1的执行受到第一操作系统(OS)405B的控制。在一个示例中,第一OS 405B可以与诸如Android、iOS、Windows Mobile等HLOS相对应。
客户端可执行应用程序1_1…N_1中的每一个被配置为与并发管理器服务器410B进行交互。并发管理器服务器410B负责确定用于访问多处理器UE的一个或多个资源的应用程序的优先级。具体而言,并发管理器服务器410B确定与多处理器UE中的每个处理器相关联的应用程序(例如,调制解调器处理器系统应用程序、应用处理器系统应用程序等)的资源访问优先级。在一个实施例中,并发管理器服务器410B跟踪与多处理器UE的资源相关联的信号灯,同时响应于更高优先级应用程序对锁定资源的请求,准许对低优先级应用程序所使用的锁定资源进行解锁。替换地,并发管理器服务器410B不需要跟踪外部信号灯,并且替代地,能够实现无源或隐含的资源可用性状态,从而并发管理器服务器410B仅仅监测哪些资源是当前可用的,并且哪些资源正在被使用从而是不可用的。在任一情况下,并发管理器服务器410B被配备为确定哪些资源是可用的或者不可用,并且进一步判断请求访问不可用资源的应用程序是否具有足够的权限来抢占当前应用程序对该资源的使用。
参见图4B,第二处理器系统450A包括多个客户端可执行应用程序1_2…M_2,其中M>=1。客户端可执行应用程序1_2…M_2的执行是受到第二操作系统(OS)415B的控制的。在一个示例中,第二OS 415B可以与实时操作系统(RTOS)相对应。客户端可执行应用程序1_2…M_2中的每一个被配置为与并发管理器客户端420B进行交互。并发管理器客户端420B是第一处理器系统400A的并发管理器服务器410B的代理。并发管理器客户端420B和并发管理器服务器410B通过连接430B与彼此进行通信,其中连接430B可以通过例如图4A中所示的总线430A来实现。类似于并发管理器服务器410B,在一个实施例中,并发管理器客户端420B跟踪与多处理器UE的资源相关联的信号灯,同时响应于更高优先级应用程序对锁定资源的请求,准许对低优先级应用程序所使用的锁定资源进行解锁。替换地,并发管理器客户端420B不需要跟踪外部信号灯,并且替代地,能够实现无源或隐含的资源可用性状态,从而并发管理器客户端420B仅仅监测哪些资源是当前可用的,哪些资源正在被使用从而是不可用的。在任一情况下,并发管理器客户端420B被配备为确定哪些资源是可用或者不可用的,并且进一步判断请求访问不可用资源的应用程序是否具有足够的权限来抢占当前应用程序对该资源的使用。
虽然图4A或图4B中没有示出,但是有可能的是,多处理器UE包括与一个或多个另外的处理器系统相关联的一个或多个另外的处理器。在该情况下,另外的处理器系统中的每一个可以包括处理器、存储器、一个或多个应用程序以及其自己的并发管理器客户端420B的实例。相应地,并发管理器服务器410B能够潜在地与多个处理器系统中的多个并发管理器客户端(例如,420B)进行交互。
如下面将更加详细解释的,并发管理器服务器410B监测和确定多处理器UE的一个或多个资源的优先级,其中所述一个或多个资源包括但不限于:显示输出设备(例如,多处理器UE的屏幕)、音频输出设备(例如,多处理器UE的扬声器和/或麦克风输出)、调制解调器或天线、振动输出设备、电池电源等。并发管理器服务器410可以通过与第一OS 405B和/或第二OS 415B进行通信,来直接从客户端可执行应用程序1_1…N_1或者经由并发管理器客户端420B从第二处理器系统450A的客户端可执行应用程序1_2…M_2收集关于所监测的一个或多个资源的信息。例如,并发管理器客户端420B可以向并发管理器服务器410B发送关于应用程序1_2…M_2的实际或期望的资源访问的通知。并发管理器服务器410B可以使用其监测的资源访问信息来确定所推荐的优先级,其中应用程序1_1…N_1和1_2…M_2应当根据该优先级来访问相关联的资源。并发管理器服务器410B可以维持应用程序1_1…N_1以及1_2…M_2中的每一个应用程序的主机列表以及它们相关联的优先级。通过通知所确定的优先级的一个或多个并发管理器客户端(例如,420B),应用程序1_1…N_1和1_2…M_2(分别通过并发管理器服务器应用程序410B和并发管理器客户端应用程序420B)能够判断是否尝试访问资源,而不是仅仅不加选择地获得该资源。下面参照图5A到图8来描述应用程序优先级确定和通知的示例性实现方式。
图5A根据本发明的一个实施例,描绘了一个示例,其中,当低优先级应用程序1_1访问一个资源,高优先级应用程序1_2稍后确定访问相同的资源时,并发管理器服务器应用程序410B仲裁对给定资源的访问。具体而言,图5A描绘了一个示例,其中,当高优先级应用程序期望访问资源时,低优先级应用程序正在访问至少一个相同的资源。但是,应当明白的是,本发明的实施例并不限于应用程序在如上所示的处理器之间的划分(例如,较高优先级应用程序位于第一处理器上,而较低优先级应用程序位于第二处理器上)。在替代的实施例中,在一个或两个处理器上,可以存在较高优先级应用程序和较低优先级应用程序的混合。此外,实施例并不局限于仅仅两个处理器,因为可以存在更多的处理器。此外,一旦在500A中确定了应用程序的优先级,就可以将新的优先级传输给并发管理器客户端/服务器的所有实例。此外,在一些实施例中,可以向各个应用程序告知它们的优先级(例如,并发管理器客户端/服务器应用程序可以代表它们各自的应用程序对优先级进行管理)。
在图5A中,在500A,并发管理器服务器410B针对至少一个资源,确定第一处理器系统400A的应用程序1_1…N_1和第二处理器系统450A的应用程序1_2…M_2中的一个或多个应用程序的初始优先级水平。例如,在500A中,并发管理器服务器410B可以加载关于所述至少一个资源的应用程序的缺省优先级水平。例如,如果至少一个资源与到音频输出设备的访问相对应,应用程序1_1与MP3播放器应用程序相对应,并且应用程序1_2与VoIP应用程序相对应,则与用于MP3播放器应用程序的初始优先级水平相比,用于VoIP应用程序的初始优先级水平可能更高。下面参照图9来更详细地描述500A的优先级确定的一个实施例。
虽然图5A中没有示出,但在500A中确定了其优先级的应用程序,可以对应于已经(例如,直接地或者经由并发管理器客户端)向并发管理器服务器410B注册成与所述至少一个资源相关联的应用程序。在音频输出设备的实例中,应当理解的是,与音频回放无关的应用程序不需要向并发管理器服务器410B注册(至少不针对音频输出设备的资源)。
为了便于说明起见,在图5A中,假定针对至少一个资源,向并发管理器服务器410B注册了应用程序1_1和1_2。因此,在500A中,并发管理器服务器410B确定针对至少一个资源的应用程序1_1和1_2相对优先级。在500A的初始优先级确定之后,在505A,并发管理器服务器410B向并发管理器客户端420B(和任何其它并发管理器客户端)发送关于相对优先级的通知、以及可选地,关于所述资源是可用的指示。
在某个稍后的时刻,在510A,假定应用程序1_1确定访问至少一个资源。例如,如果应用程序1_1与MP3播放器应用程序相对应,多处理器UE的用户可能已经在510A中请求播放特定的MP3,向并发管理器服务器410B告知要使用的至少一个资源。接着,在515A,并发管理器服务器410B对如510A中所指示的与至少一个资源相关联的优先级水平进行评估,以判断与应用程序1_1相比优先级相同或者更高的任何应用程序是否已经访问所述至少一个资源。在该情况下,假定此时没有正在访问所述至少一个资源,从而在515A中,并发管理器服务器410B确定可准许访问所述至少一个资源。
在520A中,并发管理器服务器410B向应用程序1_1告知其具有访问该资源的优先级。应当理解的是,并发管理器服务器410B此时还可以向并发管理器客户端420B告知针对应用程序1_1的资源请求/同意。相应地,在从并发管理器服务器410B接收到批准之后,在525A,应用程序1_1开始访问所述至少一个资源。在530A中,并发管理器服务器410B更新其记录,以反映应用程序1_1正在访问所述至少一个资源,随后向并发管理器客户端420B发送通知以便向并发管理器客户端420B告知:应用程序1_1正在访问所述至少一个资源。
在某个稍后的时刻,在535A,假定应用程序1_2确定访问应用程序1_1已经访问的所述至少一个资源。例如,如果应用程序1_2与VoIP应用程序相对应,则535A可以包括到达多处理器UE的VoIP呼叫公告消息。接着,在540A,并发管理器客户端420B通过对与所述至少一个资源相关联的应用程序的优先级水平进行评估,来评估应用程序1_2是否能够访问所述至少一个资源。例如,在540A中,并发管理器客户端420B可以判断具有与应用程序1_2的优先级相比更大或相等的优先级的任何应用程序是否当前正在访问至少一个资源,如果没有,则并发管理器客户端420B确定能够访问这些资源。在图5A的实施例中,在540A中,假定应用程序1_2具有与应用程序1_1相比更高的优先级,使得并发管理器客户端420B确定可准许应用程序1_2访问所述至少一个资源。相应地,在545A,并发管理器客户端420B向并发管理器服务器410B发送通知,以报告该资源请求。如图所示,在545A中,向应用程序1_2和并发管理器服务器410B两者告知评估(540A)的结果,该评估结果指示:应用程序1_2具有针对所述至少一个资源的优先级。但是,应当理解的是,在替代的实施例中,该通知可以到达并发管理器服务器410B首先进行确认,并且告知所冲突的应用程序1_1其需要释放所述至少一个资源。随后,并发管理器服务器410B可以向冲突设备进行通知,并且回过来向并发管理器客户端420B确认可用性,并发管理器客户端420B可以随后向应用程序1_2告知资源的可用性(例如,见图6)。但是,如图所示,可以向并发管理器服务器410B和应用程序1_2并发地发送通知545A,将在下文中对其进行描述。
在通知545A之后,应用程序1_2在560A中能够访问至少一个资源,并且在565A,向并发管理器客户端420B发送通知以报告资源访问。同时,在并发管理器服务器410B处接收到通知545A,该并发管理器服务器410B继而向应用程序1_1发送通知550A以释放至少一个资源。可选地,在540A中,并发管理器服务器410B可以执行单独评估,以便在发送通知550A之前确认决定。在接收到550A之后,在555A中,应用程序1_1停止访问至少一个资源。在该场景下,不需要将通知发送回并发管理器客户端420B,这是由于在540A和545A中,已经做出向更高优先级应用程序批准至少一个资源的决定并传送了该决定。在上面描述的替代场景中(其中,对针对应用程序1_2的通知进行了延迟),在555A中释放之后,并发管理器服务器410B可以将用于确认可用性的通知发送回并发管理器客户端420B,并且还可以告知任何额外的客户端。不管可选的通知路径如何,并发管理器服务器410B都可以更新其记录,以反映应用程序1_2正在访问所述至少一个资源并将该信息分发给任何剩余的客户端。
在某个稍后的时刻,在570A,假定应用程序1_2停止访问至少一个资源。例如,如果应用程序1_2与VoIP应用程序相对应,570A可以与VoIP通信会话或者呼叫的终止相对应。在575A,应用程序1_2向并发管理器服务器410B发送通知,以报告应用程序1_2对资源访问的中止。并发管理器服务器410B更新其记录以反映应用程序1_2不再访问至少一个资源,并对任何并发管理器客户端进行更新。如果仍然存在正在请求访问已释放的所述至少一个资源的应用程序,则可以对一个或多个应用程序的优先级进行评估。例如,如果应用程序1_1仍然在等待访问所述至少一个资源,则在580A,可以执行该应用程序的优先级水平的评估。在评估之后,在585A,可以向应用程序1_1发送通知以向应用程序1_1告知所述至少一个资源现在是可用的。应当理解的是,并发管理器服务器410B向应用程序1_1发送585A的通知,使得在590A,应用程序1_1可以(根据其裁量)开始新的访问或者恢复其先前对所述至少一个资源的访问。
例如,如果所述至少一个资源与音频输出设备相对应,并且应用程序1_1与MP3播放器应用程序相对应,则590A可以包括:当MP3播放器应用程序在555A中停止其对音频输出设备的访问时,恢复对“暂停”歌曲的音频回放。在590A,应用程序1_1向并发管理器服务器410B发送通知,以报告应用程序1_1对资源访问的恢复,并且并发管理器服务器410B更新其记录以反映应用程序1_1正在访问所述至少一个资源,随后在595A中,向并发管理器客户端420B和任何其它客户端发送通知:应用程序1_1正在访问所述至少一个资源。
图5B根据本发明的一个实施例,描绘了图5A的更具体实现示例,其中,应用程序1_1与MP3播放器应用程序相对应,应用程序1_2与PTT应用程序/呼叫相对应,并且所述至少一个资源与多处理器UE的音频输出设备相对应。具体而言,图5B描绘了如下示例:其中,当PTT应用程序期望访问音频输出设备时,MP3播放器应用程序正在访问相同的音频输出设备。
参见图5B,在应用处理器系统上执行的低优先级MP3应用程序开始播放MP3音乐文件(例如,类似于图5A的525A)。在一个示例中,应用处理器系统与第一处理器系统400A相对应,MP3应用程序与应用程序1_1相对应。在MP3回放期间,调制解调器处理器系统上的PTT客户端接收输入PTT呼叫的指示(例如,类似于图5A的535A)。在一个示例中,调制解调器处理器系统与第二处理器系统450A相对应,并且PTT客户端与应用程序1_2相对应。在被告知了PTT客户端对音频资源的请求之后,应用处理器系统上的并发管理器服务器应用程序使MP3播放器暂停。稍后,当并发管理器服务器应用程序随后被告知该PTT呼叫结束时,并发管理器服务器应用程序向MP3应用程序告知:MP3回放可以恢复。
图5C根据本发明的一个实施例,描绘了基于图5A的更具体实现示例,其具有现有的PTT应用程序/呼叫,并且所述至少一个资源与多处理器UE的声码器设备相对应。具体而言,图5C描绘了如下示例:其中,当更高优先级的语音呼叫期望访问声码器设备时,PTT应用程序/呼叫正在访问相同的声码器输出设备。
参见图5C,在调制解调器处理器系统上执行的低优先级PTT客户端开始播放与PTT呼叫相关联的音频媒体(例如,类似于图5A的525A,除了调制解调器处理器系统执行并发管理器客户端应用程序而不是并发管理器服务器应用程序)。在一个示例中,调制解调器处理器系统与第二处理器系统450A相对应,并且PTT客户端与应用程序1_2相对应。在PTT呼叫期间,应用处理器系统上的电路交换(CS)语音呼叫应用程序接收输入CS呼叫的指示。在一个示例中,应用处理器系统与第一处理器系统400A相对应,CS语音呼叫应用程序与应用程序1_1相对应。在被告知了PTT客户端对音频资源的请求之后,调制解调器处理器系统上的并发管理器客户端应用程序使PTT客户端去激活(de-activate),并且CS呼叫开始。在CS呼叫之后,向PTT客户端通知音频资源的可用性。下文更详细描述的图6就如下意义而言类似于图5C:低优先级应用程序对资源的访问随后被解除,并且转换到较高优先级的应用程序。
图5D根据本发明的一个实施例,描绘了基于图5D的更具体的实现示例,其具有现有的语音呼叫,并且所述至少一个资源与多处理器UE的声码器设备相对应。具体而言,图5D描绘了如下示例:当PTT应用程序/呼叫期望访问声码器设备时,较高优先级的语音呼叫正在访问相同的声码器输出设备。
参见图5D,在应用处理器系统上执行的高优先级电路交换(CS)语音呼叫应用程序接收输入语音呼叫通知,获得音频资源,随后开始语音呼叫(例如,类似于图5A的525A,除了CS语音呼叫应用程序是高优先级应用程序之外)。在CS呼叫期间,调制解调器处理器系统上的PTT客户端接收输入PTT呼叫的指示。在被告知了PTT客户端对音频资源的请求之后,调制解调器处理器系统上的并发管理器客户端应用程序拒绝PTT客户端的音频资源请求,这是因为CS语音呼叫应用程序具有更高的优先级并且已经正在使用该音频资源。在CS语音呼叫终止之后并且音频资源再次可供获取之后,PTT客户端被告知音频资源(或声码器)可用性。下文更详细描述的图7-8就下面的意义而言类似于图5D:高优先级应用程序对资源的访问用于阻止后续的来自较低优先级应用程序对访问该资源的请求。
图6根据本发明的一个实施例,描绘了如下示例:当低优先级应用程序1_2访问资源,并且高优先级应用程序1_1稍后确定访问相同的资源时,并发管理器服务器应用程序仲裁对给定资源的访问。具体而言,图6描绘了如下示例:其中,当高优先级应用程序期望访问资源时,低优先级应用程序正在访问至少一个相同的资源。此外,与图5A不同,在图6中,高优先级应用程序是由第一处理器系统400A托管的,并且低优先级应用程序是由第二处理器系统450A托管的。
参见图6,类似于图5A的500A,在600,并发管理器服务器410B针对至少一个资源,确定第一处理器系统400A的应用程序1_1…N_1和第二处理器系统450A的应用程序1_2…M_2中的一个或多个应用程序的初始优先级水平。在600的初始优先级确定之后,在605,并发管理器服务器410B向并发管理器客户端420B(和任何其它并发管理器客户端)发送关于相对优先级的通知、以及可选地,关于该资源是可用的指示(类似于图5A的505A)。
在某个稍后的时刻,在610,假定应用程序1_2确定访问至少一个资源。在该情况下,假定所述至少一个资源此时没有被访问,使得在615中,并发管理器客户端420B确定可准许应用程序1_2访问所述至少一个资源。在620,并发管理器客户端420B向应用程序1_2告知所述至少一个资源是可用的,并且在625,应用程序1_2开始访问所述至少一个资源。在630,并发管理器客户端420B还向并发管理器服务器410B告知:应用程序1_2正在访问所述至少一个资源。
在某个稍后的时刻,在635,当应用程序1_2仍然在访问至少一个资源时,假定应用程序1_1(其具有与应用程序1_2相比更高的优先级)确定访问所述至少一个资源。在640,并发管理器服务器410B对应用程序1_1的优先级水平进行评估,并且确定应用程序1_1具有与应用程序1_2相比更高的优先级。在645,并发管理器服务器410B向并发管理器客户端420B告知应用程序1_1正在请求访问该资源,并且停止应用程序1_2对所述至少一个资源的访问。在650,并发管理器客户端420B接收该通知,指示应用程序1_2停止访问至少一个资源。在655,应用程序1_2释放所述至少一个资源,在660,并发管理器客户端420B向并发管理器服务器410B告知:所述至少一个资源现在是可用的。在665,并发管理器服务器410B向应用程序1_1告知:所述至少一个资源现在是可用的,在670,应用程序1_1开始访问至少一个资源。
参见图6,在某个稍后的时刻,在680,应用程序1_1停止访问所述至少一个资源,在685,并发管理器服务器410B向并发管理器客户端420B告知:所述至少一个资源再次可用。因为在685处确定所述至少一个资源是可用的并且另一个应用程序没有访问所述至少一个资源,所以在690,并发管理器客户端420B向应用程序1_2告知:所述至少一个资源再次可供访问。从而在694,应用程序1_2恢复访问至少一个资源,并且并发管理器客户端420B向并发管理器服务器410B告知:应用程序1_2再次访问所述至少一个资源。
图7根据本发明的一个实施例,描绘了如下示例:其中,当高优先级应用程序1_1访问资源并且低优先级应用程序1_2稍后确定访问相同的资源时,并发管理器服务器应用程序仲裁对给定资源的访问。
参见图7,类似于图5A的500A,在700,并发管理器服务器410B针对至少一个资源,确定第一处理器系统400A的应用程序1_1…N_1和第二处理器系统450A的应用程序1_2…M_2中的一个或多个应用程序的初始优先级水平。在700的初始优先级确定之后,在705,并发管理器服务器410B向并发管理器客户端420B(和任何其它并发管理器客户端)发送关于相对优先级的通知、以及可选地,该资源是可用的指示(类似于图5A的505A)。
在某个稍后的时刻,在710,假定应用程序1_1确定访问所述至少一个资源。在该情况下,假定所述至少一个资源此时没有被访问,从而在715中,并发管理器服务器410B确定可准许应用程序1_1访问所述至少一个资源。在720,并发管理器服务器410B向应用程序1_1告知所述至少一个资源是可用的,在725,应用程序1_1开始访问所述至少一个资源。在730,并发管理器服务器410B还向并发管理器客户端420B告知:应用程序1_1正在访问所述至少一个资源。
在某个稍后的时刻,在735,当应用程序1_1仍然访问所述至少一个资源时,假定应用程序1_2(其具有与应用程序1_1相比更低的优先级)确定访问所述至少一个资源。在740,并发管理器客户端420B对应用程序1_2的优先级水平进行评估,并且确定应用程序1_2具有与应用程序1_1相比更低的优先级。在745,基于来自740的确定,并发管理器客户端420B阻止应用程序1_2访问所述至少一个资源。
参见图7,在740和745处的资源请求拒绝之后的某个稍后的时刻,在750,应用程序1_1停止访问所述至少一个资源。在755,并发管理器服务器410B向并发管理器客户端420B告知:所述至少一个资源现在是可用的。因为在760处所述至少一个资源被确定为是可用的并且另一个应用程序没有访问所述至少一个资源,所以在765,并发管理器客户端420B向应用程序1_2告知:所述至少一个资源再次可供访问。从而在770,应用程序1_2开始访问所述至少一个资源,并且并发管理器客户端420B向并发管理器服务器410B告知:应用程序1_2正在访问所述至少一个资源。
图8根据本发明的一个实施例,描绘了图7的更具体的实现示例,其中,应用程序1_1与语音呼叫或电路交换(CS)应用相对应,应用程序1_2与VoIP应用程序相对应,并且所述至少一个资源与多处理器UE的音频输出设备相对应。具体地,图8描绘了如下示例:其中,当VoIP应用程序期望访问音频输出设备时,CS应用程序正在访问相同的音频输出设备。除了这些区别,图8的一般呼叫流与图7相对应。相应地,除了如上提到的之外,图8的800至875与图7的700至775相对应。
图9根据本发明的一个实施例,描绘了如下过程:并发管理器服务器410B通过该过程来动态地更新与针对至少一个资源的应用程序1_1…N_1和/或1_2…M_2中的一个或多个应用程序相关联的优先级水平。参见图9,在900,并发管理器服务器410B确定针对至少一个资源的应用程序1_1…N_1和/或1_2…M_2中的一个或多个应用程序的初始优先级水平。在一个示例中,图9的900可以与前述图5A到图8的“确定初始优先级水平”(例如,500A)相对应。此外,要向应用程序分配资源的决定还可以考虑预测的由该应用程序所使用的持续时间。例如,在PTT呼叫到来的时候,用户可能正在发出语音呼叫,并且该呼叫还没有被建立。PTT呼叫可能只持续几秒钟。所以并发管理器可以决定同意将该资源用于PTT呼叫,直到成功建立了语音呼叫的那一刻为止。另一种情形是:当PTT呼叫是活动的并且语音呼叫到来时,并发管理器没有立即拆除PTT呼叫,而是可以决定对其进行暂停,直到用户决定拒绝或者接受该呼叫为止。如果用户选择拒绝语音呼叫,则PTT呼叫可以继续,否则应当将其拆除。
此外,在905,并发管理器服务器410B还监测一个或多个系统参数。例如,在905中所监测的系统参数可以包括:时间、服务系统、电池电量、带宽使用、应用程序注册或注销、和/或关于期望访问至少一个资源的应用程序通知。例如,905的监测可以是基于向应用程序1_1…N_1和/或1_2…M_2中的一个或多个应用程序发送的轮询消息、由应用程序1_1…N_1和/或1_2…M_2中的一个或多个应用程序向并发管理器服务器410B发送的报告、和/或基于由并发管理器服务器410B向HLOS或第一OS 405B发送的查询。
在910中,并发管理器服务器410B基于所监测的系统参数,来选择性地更新针对至少一个资源的应用程序1_1…N_1和1_2…N_2中的一个或多个应用程序的优先级水平。例如,就时间参数而言,并发管理器服务器410B可以基于当前时间,来重新计算或调整针对至少一个资源的应用程序1_1…N_1和/或1_2…M_2中的一个或多个应用程序的优先级水平。在另一个示例中,就服务系统参数而言,并发管理器服务器410B可以基于服务系统是否已经改变,来重新计算或调整针对至少一个资源的应用程序1_1…N_1和/或1_2…M_2中的一个或多个应用程序的优先级水平(例如,使得优先级水平至少部分是服务系统专用的)。
参见图9的910,在另一个示例中,就电池门限参数而言,并发管理器服务器410B可以基于电池465A和/或415A的电池电量,来重新计算或调整针对至少一个资源的应用程序1_1…N_1和/或1_2…M_2中的一个或多个应用程序的优先级水平。例如,如果电池465A和/或415A的电池电量相对较低或者低于某个门限,则应用程序1_1…N_1和/或1_2…M_2中的电池密集型应用程序可以使它们各自的优先级降低。替换地,在另一个示例中,如果电池465A和/或415A的电池电量回升到超过门限(例如,在充电期间),则应用程序1_1…N_1和/或1_2…M_2中的电池密集型应用程序可以使它们各自的较高优先级恢复。
参见图9的910,在另一个示例中,就注册参数而言,当新的应用程序向并发管理器服务器410B注册以获得至少一个资源时,或者替换地,当先前已注册的应用程序从并发管理器服务器410B注销至少一个资源时,并发管理器服务器410B可以重新计算或调整针对所述至少一个资源的应用程序1_1…N_1和/或1_2…M_2中的一个或多个应用程序的优先级水平。
在图9的910中更新了优先级水平之后,在915中,并发管理器服务器410B选择性地向并发管理器客户端(例如,420B)中的一个或多个并发管理器客户端告知已更新的优先级水平。相应地,在图5A到图8中的每一幅图中分布的优先级水平不必是静态的,而是可以通过基于时间或基于事件的方式进行变化,如上所述。
虽然上面参照图4A到图9描述的实施例关注:如何在多处理器移动通信设备的相同或不同处理系统上的应用程序之间,对资源的竞争进行管理,图10到图12涉及代表应用程序所实现的过程,其中这些应用程序有某些资源或所有资源被拒绝。
相应地,图10是根据本发明的一个实施例,涉及拒绝应用程序访问第一组资源,同时还向该应用程序告知第二组资源的可用性的过程。在一个示例中,图10中的第二组资源可以足够使该应用程序通过替代方式(例如,精简或者非优选的方式)来实现提示该应用程序请求第一组资源的目标(或功能)。
参见图10,在一个示例中,图10的过程可以由第一处理器系统400A上的并发管理器服务器410B或者第二处理器系统450A上的并发管理器客户端420B来执行。相应地,将图10的过程被描述成由“资源管理器”来执行,其中,所述“资源管理器”可以继续读第一处理器系统400A上的并发管理器服务器410B或者第二处理器系统450A上的并发管理器客户端420B。
参见图10,在1000,资源管理器从应用程序接收针对访问至少第一组资源以实现给定功能的请求。在其中资源管理器与第一处理器系统400A上的并发管理器服务器410B相对应的示例中,1000的请求可以与图5A的510A等等相对应。在其中资源管理器与第一处理器系统450A上的并发管理器客户端420B相对应的示例中,1000的请求可以与图5A的535A等等相对应。第一组资源可以与由应用程序为了实现给定功能所请求的资源的任意组合相对应,例如,仅仅音频、仅仅视频、音频和视频、音频和调制解调器、视频和触摸屏显示器等等。在1000中,所述给定功能涉及:与应用程序请求访问第一组资源相关联的资源独立的或高级的目标。例如,如果应用程序是请求音频和调制解调器资源来进行VoIP呼叫的互联网协议语音(VoIP)应用程序,则该给定功能是用于联系呼叫目标的通信功能。
参见图10,在1005,资源管理器确定拒绝所述应用程序对第一组资源的访问,随后在1010,向该应用程序拒绝(阻止或者从该应用程序中释放)第一组资源。1005和1010的拒绝可以对应于对来自1000的请求的拒绝,在一个示例中,其类似于图7的740和745和/或图8的840和845。替换地,1005和1010的拒绝可以在对来自1000的请求的早先批准之后发生,其类似于图5A的550A和550A和/或图6的650和655。
参见图10,在1015,资源管理器确定第二组资源,所述第二组资源可用于由应用程序访问并且被配置为准许应用程序实现该给定功能的替代实现。随后在1020,资源管理器可以向应用程序告知:对第二组资源的访问可用于给定功能的替代实现。
例如,1000的请求可以请求第一组资源(例如,音频资源),并且还可以请求第二组资源(例如,视频资源和调制解调器资源),来实现视频会议呼叫的通信功能。在该情况下,资源管理器可以阻止或拒绝该应用程序访问音频资源,但在1015和1020中,可以准许应用程序访问视频资源和调制解调器资源。因此,在该场景中,应用程序可以基于来自1020的通知,来选择是否在没有音频的情况下参与视频会议。替换地,1000的请求可以请求第一组资源(例如,音频资源)发起经由语音呼叫来联系呼叫目标的通信功能。如果音频资源不是可用的,则在1010处,资源管理器可以检测:替换地,能够经由SMS/文本资源(例如,调制解调器资源)来实现联系呼叫目标的通信功能,随后推荐SMS/文本通信来代替语音呼叫。下面将参照图11和图12来更加详细地描述这些示例。
图11和图12是根据本发明的一个实施例,涉及图10的过程的示例性实现方式。将图11和图12描述成在第一处理器系统400A的并发管理器服务器410B处执行,或者在第二处理器系统450A的并发管理器客户端420B处执行。
参见图11,在1100,低优先级多媒体通信应用程序确定访问音频资源,以发起向呼叫目标的语音呼叫,并且多媒体通信应用程序向其并发管理器(客户端或服务器)告知其针对访问音频资源的请求(例如,和图10的1000中的一样)。在图11中,在1105,假定并发管理器确定拒绝多媒体通信应用程序对访问音频资源的请求(例如,类似于图10的1005),则在1110,并发管理器向多媒体通信应用程序告知音频资源访问拒绝(例如,其类似于图10的1010)。
在1115处,并发管理器确定与简单消息服务(SMS)或文本相关联的资源可用于:促进联系呼叫目标的通信功能(虽然不具有语音呼叫)(例如,类似于图10的1015)。例如,并发管理器可以被配置为具有决定逻辑,该决定逻辑包括:当某些资源被某些应用程序请求时,对这些资源的可接受替代物的列表,例如,对于语音呼叫来说,SMS/文本是不优选但可接受的替换物。随后,在1120,并发管理器向应用程序告知SMS/文本资源可用性以便推荐:该多媒体通信应用程序尝试通过针对所期望的语音呼叫的替代机制来联系呼叫目标(例如,类似于图10的1020)。在1125,多媒体通信应用程序从1120接收通知,随后尝试访问SMS/文本资源以促进文本通信而非语音呼叫。相应地,图11示出了只要其它资源是可访问的并且可以用作被拒绝的资源的替代物,资源拒绝(例如,请求拒绝或转移)就无需导致与所拒绝的资源相关联的高级功能的终止。
参见图12,在1200,低优先级视频游戏应用程序确定访问音频资源和视频资源两者,以便发起向呼叫目标的语音呼叫,并且视频游戏应用程序向其并发管理器(客户端或服务器)告知其对访问音频资源和视频资源的请求(例如,如图10的1000中,其中音频资源与第一组资源相对应)。在图12中,在1205,假定并发管理器确定批准视频游戏应用程序对访问音频资源和视频资源两者的请求,则在1210,视频游戏应用程序在玩视频游戏的同时,开始访问音频资源和视频资源。在某个稍后的时刻,在1215,并发管理器确定:更高优先级应用程序被请求访问该音频资源。例如,在1215处接收的通知可以与图5A的545A和/或图6的645相对应。举一个例子,与为视频游戏所播放的音频相比,所接收的输入呼叫可能具有更高的优先级。此外,在图12中,在1215处接收到的通知导致图10的1005处的确定,从而并发管理器确定取消视频游戏应用程序对音频资源的访问权限。在1220中,并发管理器单独地确定:对于视频游戏应用程序而言,视频资源仍然是可访问的,并且视频游戏应用程序可以通过仅视频模式(无音频)来继续实现游戏功能(例如,类似于图10的1015,其中视频资源现在与第二组资源相对应)。
相应地,并发管理器向视频游戏应用程序告知:拒绝其访问音频资源的先前权限(例如,类似于图10的1010),并且还向其告知其维持的访问视频资源的权限(例如,类似于图10的1020)。在1230,视频游戏应用程序从1225接收通知,并且停止访问音频资源。此外,基于视频资源仍然可用的通知,并非响应于视频游戏应用程序对音频资源的丢失,来完全地终止视频游戏。此外,虽然图12中没有明确地示出,但是视频游戏可以在仅视频模式(无音频)中继续,即使当与移动设备上的另一个应用程序结合使用音频资源时。例如,可以结合调制解调器资源来使用音频资源,以便参与语音呼叫,其中该语音呼叫可以结合不具有音频的有效“静音”视频游戏而发生。
图13描绘了通信设备1300,该通信设备1300包括被配置为执行功能的逻辑。通信设备1300可以与上面提到的通信设备中的任一个相对应,其包括但不限于:UE 102、108、110、112或200、节点B或基站124、RNC或者基站控制器122、分组数据网络端点(例如,SGSN160、GGSN 165等)、服务器170到186中的任一个服务器等。因此,通信设备1300可以对应于任何电子设备,该电子设备被配置为通过网络与一个或多个其它实体进行通信(或者有助于与一个或多个其它实体进行通信)。
参见图13,通信设备1300包括:被配置为接收和/或发送信息的逻辑1305。在一个示例中,如果通信设备1300与无线通信设备(例如,UE 200、节点B 124等等)相对应,则被配置为接收和/或发送信息的逻辑1305可以包括无线通信接口(例如,蓝牙、WiFi、2G、3G等),例如,无线收发机和相关联的硬件(例如,RF天线、调制解调器、调制器和/或解调器等)。在另一个示例中,被配置为接收和/或发送信息的逻辑1305可以与有线通信接口(例如,串行连接、USB或火线(Firewire)连接、能够通过其访问互联网175的以太网连接,等等)相对应。因此,如果通信设备1300对应于某种类型的基于网络的服务器(例如,SGSN 160、GGSN 165、应用服务器170等),则在一个示例中,被配置为接收和/或发送信息的逻辑1305可以与以太网卡相对应,其中以太网卡通过以太网协议将基于网络的服务器连接到其它通信实体。在另外的示例中,被配置为接收和/或发送信息的逻辑1305可以包括感测或测量硬件(例如,加速计、温度传感器、光传感器、用于监测本地RF信号的天线等),通信设备1300能够通过所述感测或测量硬件来监测其本地环境。被配置为接收和/或发送信息的逻辑1305还可以包括软件,其中当该软件被执行时,允许被配置为接收和/或发送信息的逻辑1305的相关联硬件执行其接收和/或发送功能。但是,被配置为接收和/或发送信息的逻辑1305并不仅仅对应于软件,并且被配置为接收和/或发送信息的逻辑1305至少部分依赖硬件来实现其功能。
参见图13,通信设备1300还包括:被配置为对信息进行处理的逻辑1310。在一个示例中,被配置为对信息进行处理的逻辑1310可以包括至少一个处理器。被配置为对信息进行处理的逻辑1310可以执行的过程类型的示例性实现方式包括但不限于:执行确定、建立连接、在不同的信息选项之间进行选择、执行与数据有关的评估、与耦接到通信设备1300的传感器进行交互以执行测量操作、将信息从一种格式转换为另一种格式(例如,在诸如.wmv到.avi等不同协议之间转换)等等。例如,被配置为对信息进行处理的逻辑1310中包括的处理器可以对应于:被设计为执行本申请所描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或晶体管逻辑、分立硬件部件或者它们的任意组合。通用处理器可以是微处理器,或者,该处理器可以是任何常规的处理器、控制器、微控制器或者状态机。处理器也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、若干微处理器、与DSP核相结合的一个或多个微处理器、或者任何其它此种结构。被配置为对信息进行处理的逻辑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中所示的UE 200相对应,则被配置为呈现信息的逻辑1320可以包括显示器224。在另外的示例中,对于某些通信设备(例如,不具有本地用户的网络通信设备(如,网络交换机或者路由器、远程服务器等))而言,可以省略被配置为呈现信息的逻辑1320。被配置为呈现信息的逻辑1320还可以包括软件,其中当该软件被执行时,允许被配置为呈现信息的逻辑1320的相关联硬件执行其呈现功能。但是,被配置为呈现信息的逻辑1320并不仅仅对应于软件,并且被配置为呈现信息的逻辑1320至少部分依赖硬件来实现其功能。
参见图13,通信设备1300还可选地包括:被配置为接收本地用户输入的逻辑1325。在一个示例中,被配置为接收本地用户输入的逻辑1325可以至少包括用户输入设备和相关联的硬件。例如,用户输入设备可以包括按钮、触摸屏显示器、键盘、照相机、音频输入设备(例如,麦克风或者诸如麦克风插孔等能够传送信息的端口)、和/或通过其能够从通信设备1300的用户或操作者接收信息的任何其它设备。例如,如果通信设备1300与图3中所示的UE200相对应,则被配置为接收本地用户输入的逻辑1325可以包括显示器224(如果用触摸屏来实现)、键盘226等。在另外的示例中,对于某些通信设备(例如,不具有本地用户的网络通信设备(如,网络交换机或者路由器、远程服务器等))而言,可以省略被配置为接收本地用户输入的逻辑1325。被配置为接收本地用户输入的逻辑1325还可以包括软件,当该软件被执行时,允许被配置为接收本地用户输入的逻辑1325的相关联硬件执行其输入接收功能。但是,被配置为接收本地用户输入的逻辑1325并不仅仅对应于软件,并且被配置为接收本地用户输入的逻辑1325至少部分依赖硬件来实现其功能。
参见图13,虽然在图13中将所配置的逻辑1305到1325示出为单独的或不同的模块,但应当理解的是,所配置的各个逻辑执行其功能所使用的硬件和/或软件可以部分重叠。例如,用于促进所配置的逻辑1305到1325的功能的任何软件,可以被存储在与被配置为存储信息的逻辑1315相关联的非临时性存储器中,使得所配置的逻辑1305到1325中的每一个逻辑分别部分基于被配置为存储信息的逻辑1305所存储的软件的操作,来执行它们的功能(即,在该情况下,软件执行)。同样,与所配置的逻辑中的一个逻辑直接关联的硬件可以时不时地被所配置的其它逻辑借用或使用。例如,在被配置为接收和/或发送信息的逻辑1305发送数据之前,被配置为对信息进行处理的逻辑1310的处理器可以将该数据格式化成适当的格式,使得被配置为接收和/或发送信息的逻辑1305部分基于与被配置为对信息进行处理的逻辑1310相关联的硬件(即,处理器)的操作来执行其功能(即,在本实例中,数据的传输)。此外,所配置的逻辑或“被配置为……的逻辑”1305到1325并不局限于具体的逻辑门或元件,而是通常指代(通过硬件或者硬件与软件的结合)执行本申请所描述的功能的能力。因此,并不需要将所配置的逻辑或者“被配置为……的逻辑电路”1305到1325实现成逻辑门或者逻辑元件,虽然它们共享了“逻辑”一词。对于本领域普通技术人员来说,通过阅读上述实施例,所配置的逻辑1305到1325之间的其它交互或协作将变得清楚。
尽管在本发明的上述实施例中的引用通常已经互换地使用了术语“呼叫”和“会话”,但是应该意识到任何呼叫和/或会话旨在被解释为涵盖不同方之间的实际呼叫,或者替换地,技术上可能不被认为是“呼叫”的数据传输会话。此外,虽然已经参照PTT会话来笼统地描述了上面的实施例,但其它实施例可以涉及任何类型的通信会话,例如,一键传送(PTX)会话、紧急VoIP呼叫等。
本领域技术人员将会明白,可以用各种不同技术和手段中的任一种来表示信息和信号。例如,上面描述的全文中可以引用的数据、指令、命令、信息、信号、比特、符号、以及码片,可以用电压、电流、电磁波、磁场或磁粒子、光场或光粒子、或者它们的任意组合来表示。
此外,本领域技术人员应当明白,结合本文所公开的实施例所描述的各种示例性的逻辑框、模块、电路和算法步骤可以实现成电子硬件、计算机软件或者二者的组合。为了清楚地描绘硬件和软件之间的这种可交换性,上面已经对各种示例性的部件、框、模块、电路以及步骤围绕其功能进行了总体描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和向整个系统施加的设计约束。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本发明的范围。
被设计为执行本文所描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或者晶体管逻辑、分立硬件组件、或者它们的任意组合,可以实现或执行结合本文所公开的实施例所描述的各种示例性的逻辑框、模块和电路。通用处理器可以是微处理器,或者,该处理器也可以是任何常规的处理器、控制器、微控制器或者状态机。处理器也可以实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、与DSP核相结合的一个或多个微处理器,或者任何其它这类结构。
可以通过硬件、由处理器执行的软件模块、或者两者的组合来直接具体实施结合本文所公开的实施例所描述的方法、序列和/或算法。软件模块可以位于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM、或本领域已知的任何其它形式的存储介质中。将示例性存储介质耦合到处理器,使得该处理器可以从该存储介质读取信息,并将信息写入该存储介质中。可选地,存储介质可以集成到处理器中。处理器和存储介质可以位于ASIC中。ASIC可以位于用户终端(例如,接入终端)中。可选地,处理器和存储介质可以作为分立组件位于用户终端中。
在一个或多个示例性实施例中,可以通过硬件、软件、固件、或它们的任意组合来实现所描述的功能。如果通过软件实现,则这些功能可以作为一条或多条指令或代码保存在计算机可读介质上、或者通过计算机可读介质传输。计算机可读介质包括计算机存储介质和通信介质两者,所述通信介质包括有助于计算机程序从一个位置传输到另一个位置的任何介质。存储介质可以是计算机能够访问的任何可用介质。作为示例而非限制,这样的计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储设备、或者能够用来携带或存储具有指令或数据结构形式的所期望的程序代码并且能够被计算机访问的任何其它介质。此外,任何连接都可以称为计算机可读介质。例如,如果软件是使用同轴线缆、光纤线缆、双绞线、数字用户线(DSL)、或者诸如红外线、无线电和微波之类的无线技术,从网站、服务器或其它远程源传输的,那么介质的定义中包括同轴线缆、光纤线缆、双绞线、DSL、或者诸如红外线、无线电和微波之类的无线技术。如本文所使用的磁盘和光碟包括压缩光碟(CD)、激光光碟、光碟、数字多功能光碟(DVD)、软盘以及蓝光光碟,其中,磁盘通常用磁再现数据,而光碟是由激光器用光再现数据。上述的组合也应该被包括在计算机可读介质的范围内。
虽然以上公开内容示出了本发明的示例性实施例,但是应该注意到,在不脱离所附权利要求所限定的本发明的范围的前提下,这里可以做出各种改变和修改。不需要按照任何特定的顺序来执行根据本文所述的本发明实施例的方法权利要求的功能、步骤和/或动作。此外,尽管可能以单数形式来描述或要求保护本发明的元素,但是除非明确声明限于单数,否则复数也是可预期的。
Claims (12)
1.一种对多处理器移动通信设备(200;1300)的第一处理器系统(400A)上执行的并发管理器服务器应用程序(410B)进行操作的方法,所述并发管理器服务器应用程序被配置为与所述多处理器移动通信设备的第二处理器系统(450A)上执行的并发管理器客户端应用程序(420B)进行交互,所述方法包括:
在所述并发管理器服务器应用程序(410B)处确定(500A;600;700;800;900,905,910)与访问用于第一组应用程序(1_1,2_1…N_1)和第二组应用程序(1_2,2_2…M_2)的至少一个资源有关的优先级水平,其中所述第一组应用程序被配置为在所述第一处理器系统上执行,所述第二组应用程序被配置为在所述第二处理器系统上执行;
向所述并发管理器客户端应用程序告知(505A;605A;705;805;915)所确定的优先级水平,以便促进所述并发管理器客户端应用程序基于所告知的优先级水平来选择性地同意或拒绝所述第二组应用程序中的应用程序对所述至少一个资源的访问;以及
由所述并发管理器服务器应用程序基于所确定的优先级水平,来选择性地同意或拒绝(515A,520A;580A,585A;640,665;715,720;815,820)所述第一组应用程序中的应用程序对所述至少一个资源的访问。
2.根据权利要求1所述的方法,其中,所述选择性同意步骤包括在所述并发管理器服务器应用程序(410B)处执行以下操作:
从所述第一组应用程序中的具有给定优先级水平的给定应用程序接收针对访问所述至少一个资源的请求;
(i)如果所述至少一个资源当前没有被访问,或者(ii)如果所述至少一个资源正在被第一应用程序或第二应用程序中的具有与所述给定优先级水平相比更低优先级水平的另一个应用程序访问,则同意所接收的请求;以及
如果所述至少一个资源正在被所述第一应用程序或所述第二应用程序中的具有与所述给定优先级水平相比更高优先级水平的另一个应用程序访问,则拒绝所接收的请求。
3.根据权利要求1所述的方法,其中,所述选择性同意步骤包括在所述并发管理器服务器应用程序(410B)处执行以下操作:
从所述第一组应用程序中的具有第一优先级水平的第一应用程序接收针对访问所述至少一个资源的请求;
同意所接收的请求;以及
向所述并发管理器客户端应用程序告知:已经同意所述第一应用程序访问所述至少一个资源。
4.根据权利要求1所述的方法,还包括在所述并发管理器服务器应用程序(410B)处执行以下操作:
接收来自所述并发管理器客户端应用程序的如下通知:所述第二组应用程序中的具有第一优先级水平的第一应用程序正在访问所述至少一个资源;
在所接收的通知之后,从所述第一组应用程序中的具有第二优先级水平的第二应用程序接收针对访问所述至少一个资源的请求,其中,所述第二优先级水平低于所述第一优先级水平;
拒绝所接收的请求;
在拒绝所接收到的请求之后,从所述并发管理器客户端应用程序接收如下补充通知:所述第一应用程序不再访问所述至少一个资源;以及
响应于所接收到的补充通知,向所述第一应用程序发送如下指示:现在准许所述第一应用程序访问所述至少一个资源。
5.一种对多处理器移动通信设备(200;1300)的第二处理器系统(450A)上执行的并发管理器客户端应用程序(420B)进行操作的方法,所述并发管理器客户端应用程序被配置为与在所述多处理器移动通信设备的第一处理器系统(400A)上执行的并发管理器服务器应用程序(410B)进行交互,所述方法包括:
从所述并发管理器服务器应用程序接收(505A;605A;705;805;915)与访问用于第一组应用程序(1_1,2_1…N_1)和第二组应用程序(1_2,2_2…M_2)的至少一个资源有关的优先级水平,其中所述第一组应用程序被配置为在所述第一处理器系统上执行,所述第二组应用程序被配置为在所述第二处理器系统上执行;以及
由所述并发管理器客户端应用程序基于所接收的优先级水平,来选择性地同意或拒绝(540A,545A;615,620;685,690;740;760,765;840;860,865)所述第二组应用程序中的应用程序对所述至少一个资源的访问。
6.根据权利要求5所述的方法,其中,所述选择性同意步骤包括在所述并发管理器客户端应用程序(420B)处执行以下操作:
从所述第二组应用程序中的具有给定优先级水平的给定应用程序接收针对访问所述至少一个资源的请求;
(i)如果所述至少一个资源当前没有被访问,或者(ii)如果所述至少一个资源正在被第一应用程序或第二应用程序中的具有与所述给定优先级水平相比更低优先级水平的另一个应用程序访问,则同意所接收的请求;以及
如果所述至少一个资源正在被所述第一应用程序或所述第二应用程序中的具有与所述给定优先级水平相比更高优先级水平的另一个应用程序访问,则拒绝所接收的请求。
7.根据权利要求5所述的方法,其中,所述选择性同意步骤包括:
在所述并发管理器服务器应用程序(410B)处从所述第一组应用程序中的具有第一优先级水平的第一应用程序接收针对访问所述至少一个资源的请求;
在所述并发管理器服务器应用程序(410B)处同意所接收的请求;以及
在所述并发管理器客户端应用程序(420B)处接收来自所述并发管理器服务器应用程序(410B)的以下通知:已经同意所述第一应用程序访问所述至少一个资源。
8.根据权利要求5所述的方法,还包括在所述并发管理器客户端应用程序(420B)处执行以下操作:
从所述并发管理器服务器应用程序接收如下通知:所述第一组应用程序中的具有第一优先级水平的第一应用程序正在访问所述至少一个资源;
在所接收的通知之后,从所述第二组应用程序中的具有第二优先级水平的第二应用程序接收针对访问所述至少一个资源的请求,其中,所述第二优先级水平低于所述第一优先级水平;
拒绝所接收的请求;
在拒绝所接收的请求之后,从所述并发管理器服务器应用程序接收如下补充通知:所述第一应用程序不再访问所述至少一个资源;以及
响应于所接收到的补充通知,向所述第一应用程序发送如下指示:现在准许所述第一应用程序访问所述至少一个资源。
9.根据权利要求5所述的方法,还包括在所述并发管理器客户端应用程序(420B)处执行以下操作:
从所述并发管理器服务器应用程序接收如下通知:所述第二组应用程序中的具有第一优先级水平的第一应用程序正在访问所述至少一个资源;
在所接收的通知之后,从所述第二组应用程序中的具有第二优先级水平的第二应用程序接收针对访问所述至少一个资源的请求,其中,所述第二优先级水平高于所述第一优先级水平;
向所述并发管理器服务器应用程序告知所接收的请求;
响应于所述通知,从所述并发管理器服务器应用程序接收如下指示:所述第一应用程序已经释放所述至少一个资源;
响应于所接收的指示,向所述第二应用程序同意所接收的请求。
10.一种包括第一处理器系统(400A)的多处理器移动通信设备(200;1300),所述第一处理器系统(400A)被配置为执行并发管理器服务器应用程序(410B),所述并发管理器服务器应用程序被配置为与在所述多处理器移动通信设备的第二处理器系统(450A)上执行的并发管理器客户端应用程序(420B)进行交互,所述多处理器移动通信设备包括:
被配置为在所述并发管理器服务器应用程序(410B)处确定(500A;600;700;800;900;905,910)与访问用于第一组应用程序(1_1,2_1…N_1)和第二组应用程序(1_2,2_2…M_2)的至少一个资源有关的优先级水平的逻辑,其中,所述第一组应用程序(1_1,2_1…N_1)被配置为在所述第一处理器系统上执行,所述第二组应用程序(1_2,2_2…M_2)被配置为在所述第二处理器系统上执行;
被配置为向所述并发管理器客户端应用程序告知(505A;605A;705;805;915)所确定的优先级水平,以便促进所述并发管理器客户端应用程序基于所告知的优先级水平来选择性地同意或拒绝所述第二组应用程序中的应用程序对所述至少一个资源的访问的逻辑(1310);以及
被配置为由所述并发管理器服务器应用程序基于所确定的优先级水平,来选择性地同意或拒绝(515A,520A;580A,585A;640,665;715,720;815,820)所述第一组应用程序中的应用程序对所述至少一个资源的访问的逻辑(1310)。
11.一种包括第二处理器系统(450A)的多处理器移动通信设备(200;1300),所述第二处理器系统(450A)被配置为执行并发管理器客户端应用程序(420B),所述并发管理器客户端应用程序被配置为与在所述多处理器移动通信设备的第一处理器系统(400A)上执行的并发管理器服务器应用程序(420B)进行交互,所述多处理器移动通信设备包括:
被配置为从所述并发管理器服务器应用程序接收(505A;605A;705;805;915)与访问用于第一组应用程序(1_1,2_1…N_1)和第二组应用程序(1_2,2_2…M_2)的至少一个资源有关的优先级水平的逻辑(1310),所述第一组应用程序(1_1,2_1…N_1)被配置为在所述第一处理器系统上执行,所述第二组应用程序(1_2,2_2…M_2)被配置为在所述第二处理器系统上执行;以及
被配置为由所述并发管理器客户端应用程序基于所接收的优先级水平,来选择性地同意或拒绝(540A,545A;615,620;685,690;740;760,765;840;860,865)所述第二组应用程序中的应用程序对所述至少一个资源的访问的逻辑(1310)。
12.一种多处理器移动通信装置(200;1300),其包括:用于执行根据权利要求1到9中的任一项权利要求的方法的模块。
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 |
---|---|
CN103299280A CN103299280A (zh) | 2013-09-11 |
CN103299280B true CN103299280B (zh) | 2017-02-15 |
Family
ID=45048294
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180064679.5A Expired - Fee Related CN103299280B (zh) | 2010-11-15 | 2011-11-15 | 对用于多处理器移动通信设备的应用程序的资源获取进行仲裁 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9317329B2 (zh) |
EP (1) | EP2641170B1 (zh) |
JP (1) | JP5649253B2 (zh) |
CN (1) | CN103299280B (zh) |
WO (1) | WO2012068150A1 (zh) |
Families Citing this family (23)
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 | 삼성전자주식회사 | 복수의 운영 체제를 지원하는 전자 장치 제어 방법 |
CN107710668B (zh) * | 2015-06-28 | 2021-12-07 | 梁平 | 单信道全双工的无线基站或接入点 |
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 | 广东欧珀移动通信有限公司 | 资源配置方法及相关产品 |
CN113170014B (zh) * | 2018-12-03 | 2022-07-26 | 深圳市欢太科技有限公司 | 一种闹钟播放的方法、装置及电子设备 |
US11916422B2 (en) | 2019-01-31 | 2024-02-27 | General Electric Company | 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 (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1577281A (zh) * | 2003-06-27 | 2005-02-09 | 株式会社东芝 | 调度方法和信息处理系统 |
US7137119B1 (en) * | 2000-05-02 | 2006-11-14 | Microsoft Corporation | Resource manager architecture with resource allocation utilizing priority-based preemption |
CN1959644A (zh) * | 2005-10-27 | 2007-05-09 | 国际商业机器公司 | 在数据处理系统中仲裁线程访问共享资源的系统和方法 |
Family Cites Families (28)
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 |
JPH10134010A (ja) | 1996-10-31 | 1998-05-22 | Fujitsu Ltd | 共有メモリ競合回避方式 |
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 |
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 |
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 |
JP2007108944A (ja) | 2005-10-12 | 2007-04-26 | Renesas Technology Corp | 半導体集積回路装置 |
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 |
WO2009058154A1 (en) * | 2007-11-02 | 2009-05-07 | Qualcomm Incorporated | Apparatus and methods of configurable system event and resource arbitration management |
US20090144509A1 (en) | 2007-11-30 | 2009-06-04 | Kean Wong | Memeory sharing between two processors |
JP2009230466A (ja) | 2008-03-24 | 2009-10-08 | Seiko Epson Corp | 情報処理装置、情報処理装置の制御方法および制御プログラム |
US8146091B2 (en) * | 2008-05-01 | 2012-03-27 | International Business Machines Corporation | Expansion and contraction of logical partitions on virtualized hardware |
JP2010039582A (ja) | 2008-07-31 | 2010-02-18 | Panasonic Corp | リソース排他制御システム、装置、方法およびプログラム |
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 |
-
2011
- 2011-11-14 US US13/295,820 patent/US9317329B2/en not_active Expired - Fee Related
- 2011-11-15 CN CN201180064679.5A patent/CN103299280B/zh not_active Expired - Fee Related
- 2011-11-15 EP EP11788733.1A patent/EP2641170B1/en not_active Not-in-force
- 2011-11-15 WO PCT/US2011/060841 patent/WO2012068150A1/en active Application Filing
- 2011-11-15 JP JP2013539001A patent/JP5649253B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7137119B1 (en) * | 2000-05-02 | 2006-11-14 | Microsoft Corporation | Resource manager architecture with resource allocation utilizing priority-based preemption |
CN1577281A (zh) * | 2003-06-27 | 2005-02-09 | 株式会社东芝 | 调度方法和信息处理系统 |
CN1959644A (zh) * | 2005-10-27 | 2007-05-09 | 国际商业机器公司 | 在数据处理系统中仲裁线程访问共享资源的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2641170A1 (en) | 2013-09-25 |
JP2014505282A (ja) | 2014-02-27 |
EP2641170B1 (en) | 2015-01-07 |
US9317329B2 (en) | 2016-04-19 |
WO2012068150A1 (en) | 2012-05-24 |
JP5649253B2 (ja) | 2015-01-07 |
US20120263125A1 (en) | 2012-10-18 |
CN103299280A (zh) | 2013-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103299280B (zh) | 对用于多处理器移动通信设备的应用程序的资源获取进行仲裁 | |
US8654686B2 (en) | Group communication sessions that are at least partially supported over personal area networks in a wireless communications system | |
US9357359B2 (en) | Dynamic quality of service (QoS) for services over cellular | |
US9554389B2 (en) | Selectively allocating quality of service to support multiple concurrent sessions for a client device | |
US9544943B2 (en) | Communicating via a FEMTO access point within a wireless communications system | |
US9497684B2 (en) | Radio access technology handover optimization in a push-to-talk session | |
EP2561707B1 (en) | Supporting a multimedia application based on network zone recognition | |
US9456039B2 (en) | Exchanging floor arbitration history information during a communication session | |
CN105897442B (zh) | 用于无线通信系统中的经客户端管理的群组通信会话的方法和设备 | |
TW200404420A (en) | A server for initiating a group call in a group communication network | |
US20110250869A1 (en) | Selectively transitioning between physical-layer networks during a streaming communication session within a wireless communications system | |
KR20060051851A (ko) | 승인 메시지 전달 방법 및 통신 세션 제어 방법 | |
CN107547553B (zh) | 管理用于通信会话中用户装备的数据表示 | |
EP2649819A1 (en) | Exchanging presence information in a communications network | |
US8707391B2 (en) | Supporting a server-arbitrated group communication session over a local wireless network via a wireless wide area network proxy client | |
WO2023274132A1 (zh) | 切片准入控制的方法和通信装置 | |
CN103875261B (zh) | 一种用于使用带内信令来指示数据流的结尾的方法、装置及计算机可读介质 | |
KR20130023971A (ko) | 트래픽 제어 게이트웨이 및 이를 이용한 트래픽 제어 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170215 Termination date: 20181115 |
|
CF01 | Termination of patent right due to non-payment of annual fee |