基于配额的资源管理的制作方法

文档序号:8516039阅读:517来源:国知局
基于配额的资源管理的制作方法
【专利说明】基于配额的资源管理
【背景技术】
[0001] 智能电话或其它移动计算设备具有有限的资源,但是被期望并发地运行多种类型 的软件。除了操作系统的软件进程之外,移动计算设备还被期望同时运行多种应用组合,例 如,路线规划地图导航应用、Web浏览器、文本消息传送应用、语音通信应用、音频播放应用、 电子邮件阅读器、日历应用、警报时钟应用和/或游戏的不同组合。
[0002] 应用或系统进程可被视为移动计算设备的工作负荷。在资源有限的情况下,移动 计算设备决定如何将诸如处理器使用和内存之类的资源分配给不同的工作负荷。在执行 此操作时,移动计算设备可能具有相互矛盾的目标一一既要运行尽可能多的工作负荷,又 要为每个工作负荷提供足够的资源。例如,当用户在前台主动使用不同的应用的同时,移动 计算设备可能尝试在后台运行路线规划地图导航应用,这要求移动计算设备分配足够的资 源,以便每个应用具有可接受的性能。如果没有足够的资源被分配给工作负荷,则用户可注 意到该工作负荷的性能降级。
[0003] 在某些早期的移动计算设备中,应用作者或用户本质上可以自由地使用设备资 源,几乎不受任何限制。结果,行为失当的应用或启动太多并行工作负荷的用户可能导致移 动计算设备的性能劣化到不可接受的程度。对于前台中的应用而言,尤其可能注意到这一 现象。如果操作系统在工作负荷之间粗略地等分资源,则操作系统一般跟踪工作负荷,并且 确保每个工作负荷获取一定的处理器资源和一定的内存。当没有足够的资源时,应用性能 通常会降低。有些应用可能运行良好,但是其它应用可能运行缓慢,或者未按照预期运行, 或者完全运行失败。此问题对于具有更少资源的低端设备而言尤其严重。

【发明内容】

[0004] 总而言之,详细的描述涉及基于配额的资源管理创新。例如,基于配额的资源管理 作为移动计算设备的应用层框架和/或操作系统的一部分实现。通过基于配额的资源管 理,在移动计算设备的资源设计期间建立预算,其中每种工作负荷类型主要从操作系统实 施的预算中专用于该工作负荷类型的资源中提取。被管理的资源通常包括处理器和/或内 存资源,但是也可包括相机、音频扬声器、麦克风、媒体管线的其它部分、近场通信("NFC") 传感器或其它任何系统级资源。这有助于针对被允许运行的那些工作负荷提供可接受的性 能,同时防止移动计算设备的资源在工作负荷当中太分散,从而显得过于薄弱。
[0005] 基于配额的资源管理也可帮助在不同的工作负荷类型当中维护良好的整体平衡。 例如,可将较多的资源分配给与用户直接交互的前台任务,而将较少的资源分配给后台任 务。在实例实现中,这允许当用户在前台中与另一应用交互时,计算设备顺利地运行后台任 务(例如,在后台中同步电子邮件,以不易察觉的方式下载文件等)。同时,基于配额的资源 管理提供与用户的优先级密切相关的体验。例如,在用户打游戏的同时,不会因为正在进行 电子邮件同步而影响游戏的速度,而且电子邮件同步仍可继续,以便当游戏结束时,电子邮 件也更新完毕。
[0006] 根据此处描述的创新的一方面,资源管理器接收对要从多个资源池中的一个应用 的资源集的请求(例如,从任务管理器接收请求)。每个池与不同的工作负荷类型关联。所 述池至少部分地在所述不同的工作负荷类型当中分别指定所述计算设备的资源预算。所述 计算设备上的数据存储装置可存储定义所述不同的工作负荷类型的池的池信息。例如,对 于多个池中的每个,所述数据存储装置包括针对所述池的处理器使用限制和内存限制。
[0007] 池类型(及其关联的工作负荷类型)取决于实现。例如,所述多个池包括与系统工 作负荷类型关联的第一池、与前台工作负荷类型关联的第二池、与后台用户体验("UX")工 作负荷类型关联的第三池、与后台处理工作负荷类型关联的第四池。所述多个池可进一步 包括每个都与特定应用类(例如,网络语音电话业务(1〇1?")、路线规划(,81'"导航)的工 作负荷类型关联的一个或多个池,和/或每个都与应用的非激活状态(例如,对应于正在暂 停、已暂停或已停止的应用)的工作负荷类型关联的一个或多个池。
[0008] 所请求的资源集可具有从多个资源集类型中选择的资源集类型。一般而言,资源 集类型信息指定资源集类型的特征。例如,对于多个资源集类型中的每个,资源集类型信息 指定(a) -个或多个资源配额,每个资源配额包括资源类型的量值,(b)池标识符,其指示 所述池中的一个,以及(c) 一个或多个优先级值,每个优先级值指示所指示的池内的所述 资源集类型的优先级。所述计算设备上的数据存储装置可存储所述资源集类型信息。
[0009] 所述资源管理器至少部分地基于所述预算评价所述请求,并且发送对所述请求的 回复。例如,为了评价所述请求,所述资源管理器可基于所请求的资源集的资源集类型的池 标识符选择池,然后判定所选择的池内是否具有足够的资源可用。为了判定是否具有足够 的资源可用,所述资源管理器可考虑所选择的池中当前可用的资源,以及所请求的资源集 的所述资源集类型的(多个)资源配额。如果没有足够的资源可用,则所述资源管理器可判 定从所选择的池中应用的上一资源集是否具有比所请求的资源集的资源集类型低的优先 级,如果是,则请求释放所述上一资源集。
[0010] 根据此处描述的创新的另一方面,任务管理器从与多个资源池关联的多个资源集 类型中选择资源集类型,其中所述池中的每个与不同的工作负荷类型关联。所述池至少部 分地在所述不同的工作负荷类型当中指定所述计算设备的资源预算。所述任务管理器发送 对所选择的资源集类型的资源集的请求,并且接收对所述请求的回复。资源集类型信息(如 上所述)可指定资源集类型的特征。
[0011] 在某些实现中,所述任务管理器接收执行任务的请求(从客户机接收),然后作为 响应,选择资源集类型,并向资源管理器发送对资源集的请求。根据对所述资源集请求的回 复,所述任务管理器可采取不同的动作。例如,如果所述回复是接受,则所述任务管理器可 启动任务并将所述资源集应用于所述任务。或者,如果所述回复是拒绝,则所述任务管理 器可将对所述资源集的请求放入队列以做后续处理(例如,重复向所述资源管理器进行请 求)。或者,如果所述回复是所述资源集的请求暂挂的指示,则在有释放资源的通知时,所述 任务管理器可启动所述任务并将所述资源集应用于所述任务。在任一情况下,操作系统都 可根据所选择的资源集类型实施所述任务的资源预算。
[0012] 根据此处描述的创新的另一方面,移动计算设备包括处理器和存储适应所述移动 计算设备的资源的预算信息的存储器。具体而言,所述预算信息包括多个资源池的池信息 以及多个资源集类型的资源集类型信息。所述多个池中的每个与不同的工作负荷类型关 联,其中所述多个池至少部分地在所述不同的工作负荷类型当中分别指定所述移动计算设 备的资源预算。对于所述池中的每个,所述池信息包括(a)与所述池关联的所述不同的工 作负荷类型的内存限制,以及(b)与所述池关联的所述不同的工作负荷类型的处理器使用 限制。对于所述多个资源集类型中的每个,所述资源集类型信息包括(a) -个或多个资源 配额,(b)池标识符,其指示所述多个池中的一个,以及(c) 一个或多个优先级值。
[0013] 根据参考附图做出的以下详细描述,本发明的上述及其它目标、特征和优点将变 得更加显而易见。
【附图说明】
[0014] 图1和2是分别从任务管理器和资源管理器的角度示出基于配额的资源管理的一 般技术的流程图。
[0015] 图3是示出基于配额的资源管理的一般软件架构的图表。
[0016] 图4a和4b是分别示出池信息实例和资源集类型信息实例的表。
[0017] 图5是示出实例实现中基于配额的资源管理的软件架构的图表。
[0018] 图6a_61示出实例实现中基于配额的资源管理的类型值和接口的伪代码列表。 [0019] 图7是示出实例实现中的资源集类型信息的实例表。
[0020] 图8是示出实例实现中的池信息的实例表。
[0021] 图9和14是分别示出实例实现中的资源集和外部资源的状态的状态转换的状态 表。
[0022] 图IOaUOb和16是示出实例实现中的资源获取实例的序列表,图11-13U5和17 是示出实例实现中基于配额的资源管理的各方面的伪代码列表。
[0023] 图18是其中可实现此处描述的至少某些创新的一般移动计算设备的图表。
【具体实施方式】
[0024] 此处描述基于配额的资源管理的创新。对于基于配额的资源管理,建立诸如智能 电话之类的计算设备的资源预算。在操作期间,工作负荷主要使用预算定义的资源,并且由 操作系统实施预算。
[0025] -般而言,对于基于配额的资源管理,计算设备的资源(例如处理器和/或内存资 源,但是也可能包括相机、音频扬声器、麦克风、媒体管线的其它部分、NFC传感器或其它任 何系统级资源)被分为多个池。一个池可专用于一种工作负荷类型。例如,一个池包括用于 前台用户体验的资源(例如,计算设备用户界面("UI")在前台中的应用),另一池包括用于 系统进程的资源,而又一池包括用于后台中路线规划("TBT")导航的资源等等。通过此方 式,计算设备的资源针对不同的工作负荷类型被做出预算,这样可在不同的工作负荷类型 当中维持良好的整体平衡。例如,可将较多的资源分配给前台任务,而将较少的资源分配给 后台任务,以便允许当用户在前台中与另一应用交互的同时,计算设备可顺利地运行后台 任务。同时,基于配额的资源管理可提供与用户的优先级密切相关的体验。
[0026] -般而言,资源集是指一组资源,客户机可请求该组
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1