CN103189843B - 用于管理软件应用程序的方法和装置 - Google Patents
用于管理软件应用程序的方法和装置 Download PDFInfo
- Publication number
- CN103189843B CN103189843B CN201180051843.9A CN201180051843A CN103189843B CN 103189843 B CN103189843 B CN 103189843B CN 201180051843 A CN201180051843 A CN 201180051843A CN 103189843 B CN103189843 B CN 103189843B
- Authority
- CN
- China
- Prior art keywords
- configuration file
- resource
- mobile device
- operative configuration
- application program
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/80—Actions related to the user profile or the type of traffic
- H04L47/805—QOS or priority aware
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/83—Admission control; Resource allocation based on usage prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/824—Applicable to portable or mobile terminals
Abstract
本发明实施例涉及资源管理。更明确地说,这些实施例涉及用于适应性地监视利用有限量的资源的多个应用程序的系统和方法。所述实施例准许应用程序开发者在无需详细了解系统设计者或用户的要求的情况下来指定优选操作指导原则。
Description
技术领域
本发明实施例涉及电子装置中的资源管理。更明确地说,这些实施例涉及用于适应性地监视利用有限量的资源的多个应用程序的系统和方法。
背景技术
包含数字电视、数字直播系统、无线通信装置、个人数字助理(PDA)、膝上型计算机、桌上型计算机、数字相机、数字记录装置、蜂窝式或卫星无线电电话等的广泛范围的电子装置需要存取多个内部与外部资源两者。这些装置可异步地联系邮件服务器、接收电话和文本消息或操作数字相机。这些功能中的每一者可能需要较低层级的操作,例如视频编码及解码、图形处理、天线发射修改、经更改的电池需求等。诸多应用程序及其使用的资源的集合可统称为移动装置的“生态系统”。遗憾的是,由于应用程序提出关于各种资源的需求,所以所得资源分配通常不与用户或系统设计者的优选操作模式对应。举例来说,每一应用程序可能需要预定的存储器量,但任何特定装置中的存储器的量是固定的。因此,在某点上,多运行一个程序可严重地约束装置的整体存储器分配。生态系统由于有限的资源而不能以优选方式操作,且可能导致过早或以不当方式而异常终止(halt)。
明确地说,这些资源中的许多能够在一时段内仅提供有限量的累积服务且在任何给定时刻仅提供有限量的服务。当过多应用程序同时存取一资源时或当少数应用程序独占一资源时,其它应用程序(可能是用户或设计者列为更高优先级的应用程序)将次最优地操作或根本不能操作。此外,应用程序开发者通常不可预期其应用程序将运行的特定环境,也不知道系统设计者所强加的所有限制。
发明内容
某些实施例包括移动装置资源管理系统。所述系统可包含多个软件应用程序,每一软件应用程序包括服务质量模块,所述服务质量模块包括至少一个操作配置文件。所述系统可包含资源管理器模块,所述资源管理器模块包括全局操作配置文件且经配置以取决于软件应用程序的操作配置文件来分配移动装置的资源。
在一些实施例中,资源包括本地硬件资源、本地软件资源、远程硬件资源和远程软件资源。本地软件资源中的至少一者可包括所述多个软件应用程序中的至少一者。在一些实施例中,第一应用程序的操作配置文件参考第二应用程序的操作配置文件。
在某些实施例中,本地硬件资源包括收发器。在一些实施例中,操作配置文件中的至少一者是至少部分基于收发器的位速率。操作配置文件中的至少一者可指定解码器的资源参数。
至少一个软件应用程序可包括第一操作配置文件、第二操作配置文件和转变功能,所述功能在从第一操作配置文件转变到第二操作配置文件后即刻执行。转变功能可包括安全性检查。
在一些实施例中,全局操作配置文件指定紧急电力管理的要求。至少一个应用程序可包括专用电池管理过程。资源管理器模块可经配置以周期性轮询软件应用程序的操作配置文件。
还揭示一种用于管理软件应用程序的方法,其包括:确定作用中过程的层次结构;接收针对新过程的请求;存取新过程的操作配置文件;以及至少基于新过程的操作配置文件来确定是否启动新过程。在一些实施例中,确定是否启动新过程包括确定新过程在层次结构中的放置。确定是否启动新过程可包括终止层次结构中的至少一个过程。
一些实施例包括一种计算机可读媒体,其包括经配置以在计算机处理器上执行的程序指令,所述指令经配置以执行以下步骤:确定作用中过程的层次结构;接收针对新过程的请求;存取新过程的操作配置文件;至少基于新过程的操作配置文件来确定是否启动新过程。
一些实施例揭示一种用于移动装置的资源管理系统,其包括:用于指定应用程序的优选操作约束集合的装置;用于指定全局操作约束集合的装置;以及用于在应用程序的指定装置与全局指定装置之间进行仲裁的装置。指定装置可包括以可扩展标记语言(XML)表示的操作配置文件。指定装置可包括以应用程序的代码表示的操作配置文件。在一些实施例中,全局指定装置包括以XML表示的全局操作配置文件。
附图说明
在结合图式考虑时,所揭示实施例的特征、目标和优点将根据下文陈述的实施方式而变得较显而易见,在所述图式中相同参考字符始终相应地识别,且其中:
图1是移动装置的一个实施例以及与某些本地和远程资源的各种关系的顶级框图。
图2是无线装置内各种应用程序、各种应用程序中的某些应用程序彼此之间的关系、其与可用资源的关系及其与资源管理系统的关系的框图。
图3是描绘应用程序与资源管理器模块的相对结构的移动装置的示意图。
图4是资源管理器模块的某些实施例所采用的一个过程的逻辑流程图。
图5是资源管理器模块的某些实施例所采用的一个过程的逻辑流程图。
具体实施方式
本发明的实施例包含用于在多个应用程序在电子装置内运行时管理应用程序的系统和方法。每一装置通常具有多个预定义资源。在一个实施例中,系统和方法基于应用程序开发者的规范与电子系统的资源能力之间的电子协商而控制每一应用程序的操作。将充分的资源分配到优先化应用程序(例如紧急电话呼叫和电池寿命),使得其获得优于较不关键的特征(例如相机功能性)的优先权。操作中的分级也是可能的,其中应用程序以适应于其可用的应用程序/资源生态系统的方式来运行。
在一个实施例中,至少部分通过促进应用程序开发者的规范与系统设计者的规范之间的协商的接口来针对每一应用程序决定资源消耗。系统设计者不必具有对特定应用程序的最佳行为的熟悉了解。相反,在此实施例中,应用程序开发者指定说明其对应用程序的性能特性的了解的多个合适的操作配置文件。以此方式,可实现令应用程序开发者以及令系统设计者均满意的更佳的生态系统,而无需系统设计者具有对每一开发者的应用程序的广泛了解。
在一个实例中,电子装置可为无线电话,其包含控制对电话内的电子资源的存取的资源管理器模块。此类资源可包含存储器空间、I/O端口和处理器时间。由用户启动的每一应用程序含有用以控制应用程序的最佳行为的应用程序规范的集合(本文称作服务质量模块,如下文更详细论述)。因此,当用户启动特定应用程序时,资源管理器模块读取应用程序规范且进行关于如何处置新的应用程序的确定。如果新的应用程序具有比其它正执行的应用程序高的优先级,那么资源管理器模块可关闭具有较低优先级的应用程序。或者,资源管理器模块可限制较低优先级应用程序可用的资源且给予新的应用程序所需资源的完整集合。如果新的应用程序具有比在无线电话上正执行的其它应用程序低的优先级,那么资源管理器模块可不允许新的应用程序启动,而是向用户提供不存在启动新的应用程序的足够资源的通知。
因此,在此实施例中,资源管理器模块读取应用程序的操作要求及其在电子装置内的优先级。通过使用预定分层指令集合,资源管理器模块确定新近运行的应用程序是否应具有优于已经驻存在装置中的其它应用程序的优先级。如果新的应用程序具有较高优先级,那么资源管理器模块开始减少对其它程序的资源分配,或终止较低优先级的应用程序,使得新的程序可有效运行。资源管理器模块进而阻止系统持续启动新的应用程序直到系统变得受资源约束且开始失效为止。
图1说明包含移动装置105的系统100。移动装置105具有存储器106和处理器107。存储器106可包括静态存储器和动态存储器两者。快闪存储器、硬盘驱动器存储装置等也可包含在存储器106中。存储器106还可包括可插入到移动装置中的订户身份模块(SIM)或可装卸用户身份模块(R-UIM)。或者,移动装置105可基于由服务提供者编程到存储器106中的配置数据来操作。处理器107可包括多个子处理器,包含图形子处理器、数学协处理器、代码转换控制处理器等。处理器107还可充当用于包含操作系统的所有应用程序的通用处理器。
处理器107和存储器106一起由各种其它装置和应用程序(例如用户接口108、装置接口109和收发器110)通常经由操作系统(未图示)来使用。在一些实施例中,用户接口108可包括触觉系统以及视觉和听觉功能性,即键盘、触摸屏显示器、LCD、干涉式测量调制器阵列、音频接收与产生等。装置接口109可包含用于附接外部硬件的各种端口。通用串行总线(USB)、RS-232串行、并行、火线等是装置接口109可适应的合适接口标准的所有实例。这些接口将连接到各种外部硬件,例如外围装置102。外围装置的实例包含打印机、个人健康装置(葡萄糖监视器)、额外数据存储装置等。在一些实施例中,装置接口109还可连接到计算机系统以允许用户通过外部装置或软件应用程序来设置偏好。移动装置105通常包含电池接口和一个或一个以上可再充电电池或电池组(未图示)两者。电池提供电力到移动装置105中的电路,且电池接口提供对电池的机械和电连接。
装置接口109还可用来更新移动装置,且通过无线收发器110下载软件和媒体。收发器110通常用于各种数据的无线接收和发射两者。单独收发器可用于话音和数字数据,或为发射和接收提供冗余的路径。收发器110还可包含红外线数据关联(IrDA)通信或蓝牙通信。收发器110可能能够根据3GPP2(第三代合作伙伴计划2)标准经由CDMA(码分多址)来进行通信。额外无线通信系统包含IS-136、IS-95或IS-833通信系统、全球移动通信系统(GSM)通信系统、通用分组无线电服务(GPRS)通信系统、通用移动电信系统(UMTS)通信系统和无线局域网(WLAN)通信系统(如由IEEE(电气与电子工程师协会)802.xx标准所描述,例如802.11、802.15、802.16或802.20标准),或第四代(4G)通信系统(例如正交频分多址(OFDM)通信系统)。
如图1中所描绘,收发器110与各种远程硬件资源和装置(例如服务器101、网络连接103和电话服务连接104)通信。这些装置自身可具有移动装置105所利用的远程软件资源。在给定时刻,移动装置105可从外围装置102、服务器101、网络103和电话服务连接104中的每一者接收信息。举例来说,在一些实施例中,移动装置105可同时管理电话服务连接104上的用户之间的呼叫、轮询服务器101是否需系统更新、从外围装置102(例如移动媒体播放器)接收输入以及解码电影信息用于随后从网络连接103重放。另外,特殊应用程序还可提出关于装置的本地硬件资源的需求,例如请求将背光用作手电筒以及使扬声器电话处于作用中,同时要求本地软件资源(例如,全球定位系统(GPS)客户端与日历软件)同时在操作中。还预期通常不能够进行无线通信的计算机或其它设备可适于连接到移动装置。在此类例子中,每一应用程序可用的资源和随之产生的优先级可显著地变化。特别相关的将是电力,一旦将移动装置置于扩展坞中,电力便可变得大量可用。
另外,对应用程序操作的约束可能不仅随生态系统的封闭宇宙而变。随着时间、使用和变化的外部条件,不同的应用程序可优先于彼此。举例来说,移动装置的长期使用可能不利地影响资源利用,如当收发器110因使用过度而变热时。如果收发器110的温度在某些规范参数之外,那么收发器110发射不当的信号噪声,且相应地,基于RF的应用程序应符合降低的优先级。类似地,移动装置的可再充电电池的温度可能上升到某些规范参数之外持续过长时间,且电池可能经历永久损坏。移动装置105因此可还包含一个或一个以上温度传感器和电池电压传感器(未图示)。举例来说,热敏电阻可用以检测电池、电池组、收发器110、处理器107和其它组件的温度改变。温度、电流和电压传感器可在本地确定阈值,或可直接连接到处理器。
除了图1中所示的资源外,将容易认识到这些移动装置所共有的其它资源和相依性。举例来说,许多软件应用程序取决于其它软件应用程序。举例来说,操作系统中的低层级服务过程可被各种应用程序依赖以例示或辅助其特征中的某些特征。应用程序还可依赖于其它程序以用于轮询各种资源参数且用于检索相干信息(例如,轮询资源参数,例如解码器或收发器的位速率)。当然,应用程序开发者不能预期运行时间的所有可能生态系统配置。
因此,作为独立模块,或作为在处理器107上运行的过程,中央资源管理器模块(RMM)208指定设计者约束,其将用以指示应用程序开发者的优选操作模式中的哪些将要生效。对于设计者约束来说,应用程序开发者设计其应用程序以便与RMM介接,且基于与RMM的协商而在不同的操作层级运行(或者根本不运行)。终止未能满足RMM所强加的约束的应用程序。以此方式,RMM可有效限制在给定瞬间以及在一时段内对资源的需求。
图2说明包括移动装置内的各种模块的移动装置资源管理系统以及所述各种模块中的某些模块彼此间的关系及与RMM 208的关系。将容易认识到,虽然RMM 208展示为与存储器106分离,但在一些实施例中,RMM 208将包括存储在存储器106中且由处理器107执行的软件或固件。类似地,RMM 208与多个应用程序/过程201之间的关系可经由独立模块或经由处理器107和存储器106而发生。一般来说,移动装置105包括存储在存储器106内的多个应用程序201,一些应用程序包括操作系统的一部分,且其它应用程序由多个开发者创建。应用程序自身可包括一个或一个以上过程,从而在多线程环境中执行各种功能。遍及本申请案,由于应用程序可包括单一过程或许多不同过程,所以互换地使用这两个术语,这是因为过程管理自身是一种形式的应用程序管理。每一应用程序/过程202a-c可与一个或一个以上服务质量模块(QoS模块203a-203c)相关联。在图2中描绘的特定实施例中,单独QoS模块203a-c与单独过程202a-c相关联。QoS模块由诸多应用程序/过程中的每一者的开发者基于系统设计者或其它中央实体所发布的指导原则来撰写,且指定应用程序将要以哪些配置来运行。这些配置中的每一者称作“操作配置文件”,其还可包含针对给定操作层级的优选资源可用性。操作配置文件可以多种架构来表示,包含XML、SQL数据库、内部软件数据结构(应用程序代码的一部分)等。操作配置文件充当用于指定应用程序的优选操作约束集合的一个可能装置。下文将关于图3详细论述QoS模块的功能。虽然称作“模块”,但在一些实施例中,QoS模块可包括操作配置文件的集合。
资源管理器模块208包括与应用程序/过程201和多个资源205、206交互的工具的集合。资源接口209识别并监视诸多应用程序/过程中的每一者感兴趣的各种资源。仲裁模块204基于每一过程的QoS模块、可用资源以及指定移动装置的一般所要操作的“全局操作配置文件”中的至少一者来进行关于给定生态系统的适当操作的确定。全局操作配置文件还可以多种架构来表示,包含XML、SQL数据库、内部软件数据结构(应用程序代码的一部分)等。全局操作配置文件充当用于指定全局操作约束集合的一个可能装置。下文还将关于图3详细论述仲裁模块204的功能。
资源205、206包括本地资源205a-b和远程资源206a-b两者。如所提及,本地资源还可包括应用程序/过程201。资源接口209监视本地资源205a-b和远程资源206a-b两者以辅助仲裁模块204进行其确定。将认识到用于实施接口209的众多方法,包含使用软件回拨、通知队列、硬件中断等或其各种组合来轮询资源。
图3更详细说明资源管理器模块208与过程202a之间的关系。资源管理器模块208包括多个全局操作配置文件301a-d。全局操作配置文件可由系统设计者指定,但某些实施例预期装置用户或第三方销售商创建或指定全局操作配置文件。每一全局操作配置文件概述可应用到生态系统上或针对特定环境而定制的用于操作的某些一般标准。举例来说,全局操作配置文件将指定某些过程是否必须接收优于其它过程的优先级。全局操作配置文件还可指定针对优先级过程的必需的最小资源分配。在操作期间,全局操作配置文件可与电子装置内的生态系统比较以确定应用于每一过程的操作配置文件,或是否应终止过程。将同样鉴于全局操作配置文件来考虑新过程的操作配置文件,如果可接受操作配置文件存在,那么过程运行,否则其操作将可能无限期地推迟。可发生资源管理器模块与各种过程/应用程序之间的协商以确定生态系统资源的最佳重新分配以及每一过程的操作配置文件的选择。此重新分配可由用户通过选择或指定新的全局操作配置文件来起始。在一些实施例中,仲裁模块204经特定设计以促进这些协商。仲裁模块204进而充当用于在应用程序的操作配置文件与全局操作配置文件之间进行仲裁的一个可能装置。下文更详细描述比较和协商。
如所提及,应用程序/过程202a还包括一个或一个以上操作配置文件302a-c。操作配置文件通过应用程序开发者参考结合移动装置的操作软件或内部固件而供应的API来创建。并非与生态系统的一般操作相关,每一操作配置文件302指定给定操作层级所需的资源特性范围。举例来说,如果过程202a与将视频呈现给显示器相关,那么高清晰度显示器可能要求总线带宽与处理器可用性处于第一阈值集合,而低清晰度可能仅要求所述值处于第二较低阈值集合。操作配置文件302a-c指定这些条件中的每一者(针对各种资源A、B、C的参数的最小层级1、2、3等)。API还可提供协议使得所述过程被通知操作配置文件之间的转变。以此方式,过程可执行“关闭”操作,或调用“转变功能”以提供功能性的适度降级。此类调用还可促进安全解除,其中应用程序未以不安全方式停止操作,但在终止之前执行各种“房屋清洗”操作。另外,过程202a可链接到服务质量(QoS)模块203a,其指代或包括通过开发者在基于资源参数来估计操作时产生的性能度量303。
提供两个实例:
紧急呼叫
电池电力包括移动装置的最基本资源之一。全局操作配置文件可指定:不管各种过程的电力要求,必须一直保持充充足电力以使得可进行紧急呼叫。不管紧急“文本消息”或呼叫是否将要进行,其自身均可在全局操作配置文件中指定。在任一情况下,在适合维持此目标的配置文件下引入且运行所有过程。仍可允许通信的接收,但在较多不利条件下抑制接收。最终,系统不可允许任何非紧急通信或功能性(例如,即时传讯、因特网浏览等)。收发器110和外围接口109可能断电,且仅具有需要其使用的操作配置文件的诸多过程将被终止。
应牢记,在此“紧急状态”之前,可在移动装置处于操作的同时具有多种合适操作配置文件分配。对于紧急储备的要求将为许多约束中的仅一者,所述约束在周期性循环协商过程期间考虑。
可在放置在全局操作配置文件中的约束定义中考虑额外功能性。举例来说,移动装置有时在终止紧急呼叫后进入持续若干分钟的紧急回拨周期。这允许公共安全应答点(PSAP)定位用户。例如这些的考虑将包含在全局操作配置文件的操作中。由系统设计者所创建的特殊“专用电池管理过程”可专用于管理这些操作并提供紧急电力管理。此过程可包含“预建功能性”和“预定义的紧急消息”以限制时间关键用户输入的需要,并节省用户接口108或收发器110将会用于通用消息的电力。
订阅媒体服务
在另一实例中,应用程序开发者是订阅服务,其基于按次付费将例如电影等媒体提供给移动装置用户。“按次付费”将包括媒体的时间敏感集合,所述媒体将不会本地存储在移动装置上而是从远程位置实时发射。此服务系统要求适当的鉴别和安全性服务以确保用户不会滥用或避开提供者所强加的分布限制。虽然一些用户可能经历阻止其观看其正当付费的材料的真正的电力或发射困难,但较多恶意用户可能模拟此类情况,故意重播其仅支付单次观看的媒体。理想地,系统可在两者之间进行区分。
应用程序开发者将提供操作配置文件以及随附的转变功能,使得当资源(电力、带宽)变得不可用时,降级的完整记录作为安全性检查的部分被本地或远程存储及/或监视。当资源再次变得可用且用户请求重播媒体时,应用程序可参考日志以确定多少观看时间是用户适当应得的。使用广告来产生收入的系统可类似地使用所述系统来校验所需广告已在提供媒体之前播放。
如从所有这些实例中清楚可见,资源管理器模块自身可能不具有应用程序的“性能”的事先想好的观点或“质量”概念。相反,改为使应用程序的开发者来定义在给定资源集合可用时可使用的功能性和相关联的操作配置文件。也就是说,是开发者确定哪些资源参数是充分的,且当资源过于不足时其宁愿使应用程序根本不运行。
在某些实施例中,协商通过资源管理器模块来进行,所述资源管理器模块首先循环访问优先级过程以鉴于全局操作配置文件的规范来确定其将保留哪些资源用于其操作。一旦已知用于优先级过程的最小条件,资源管理器模块便将咨询已正运行或请求运行的非优先级过程。资源管理器模块可向过程指示各种资源对的状态,或者过程可自身进行确定。在任一情况下,过程将向资源管理器模块指示优选操作配置文件的资源要求。已接收这些优选条件后,资源管理器模块可基于全局操作配置文件、使用习惯和用户偏好来分类,且向过程指示操作配置文件是可接受的或应使用较少资源密集替代方案。如果是后者,那么过程将用较合适的操作配置文件来响应。如果没有替代配置文件存在,即过程已循环访问其将要考虑的所有操作配置文件,那么过程或资源管理器模块可起始过程的适度终止。以此方式,先前描述的媒体程序(例如)可转变通过请求具有高清晰度的明亮显示器的配置文件,到具有高清晰度的暗淡显示器,到具有低清晰度的暗淡显示器,最后到执行适度终止所必需的最小资源。理想地,在一些例子中,系统提示用户在终止过程之前向其提供调整全局操作配置文件的机会。此类通知可导致资源管理器模块或应用程序的起始。在一些例子中,系统可通知用户选择一个全局操作配置文件而非另一者的结果。资源管理器模块的活动性还可通过当前作用中的用户配置文件来指示(例如,在一个配偶或同胞与另一人共享移动装置时)。在给定各种应用程序的约束的情况下,基于线性编程或约束的分析算法可用来识别最佳解决方案生态系统。将容易认识到软件回拨、硬件中断、周期轮询或各种组合的系统可用来完成大量过程中的协商。如所指出,用户可指定每一应用程序的特定偏好。
下文描述新过程的引入的两个可能实施例。将容易认识到这些方法的许多变化且理解这些仅仅指示一般方法,其步骤可以此处所呈现的顺序的变化来执行,且某些步骤可完全省略。举例来说,图4说明“尝试到结束(try-and-die)”过程400,其中将新过程识别为总排序的一部分,且反复地移除以找到代替广泛协商的最佳生态系统。过程400在开始状态401处开始,且接着移到状态402,在状态402中,RMM定义通常与全局操作配置文件的要求相关的过程的层次结构。此层次结构准许所有即将开始的和作用中的过程的总排序。将认识到虽然为了简单性而描述所述过程中的总顺序,但可容易想到包含部分顺序或粒度规则集合的修改。
在状态403,过程400接着接收另一新过程想要运行特定操作配置文件的请求。在状态403当新过程请求插入时,所要的操作配置文件包含在其请求内以使得,在决策状态404,RMM可确定新过程是否位于比层次结构中任何当前运行过程高的位置处。此确定和新过程在层次结构中的放置通常将参考新过程中可用的操作配置文件、用户的个人设置和全局文件(即,存取过程的操作配置文件)来进行。在决策状态404,如果新过程的排名不比任何当前运行过程高,那么过程400移到状态405,在状态405中未启动新过程。可容易认识到决策状态404处的替代确定,例如,确定所提议的操作配置文件是否提供比最低运行过程的最低操作配置文件更有效的系统。或者,过程可在运行中,但使用不同于所请求的次要操作配置文件。
如果在决策状态404处确定新的应用程序在层次结构中排名比至少一个运行过程更高,那么在状态406处终止最低运行过程,且在决策状态407处确定运行配置文件的所得QoS是否与全局操作配置文件一致。如果在决策状态407处没有充分的QoS可用(即,一个或一个以上过程必须使用与全局操作配置文件的要求不一致的操作配置文件),那么过程400返回到决策状态404,在决策状态404中,确定新的应用程序是否处于比任何其它正运行的应用程序高的层级。此方法重复终止过程,直到实现合适的QoS为止,或直到新过程在层次结构中最低且被阻止运行为止。
如果足够的过程替代展示充分的QoS(即,所述过程已识别其感到满意的操作配置文件),那么在决策状态407,基于全局操作配置文件的约束和可用资源,启动新过程。过程400接着移到状态411,在状态411中可在诸多过程中重新分配资源,或动态确定资源,以便启动新过程。在状态412处,新过程可在所请求操作配置文件下运行。最后,操作配置文件和全局操作配置文件可在必要时在过程400停止于结束状态409处之前而在状态413处进行更新。
图5说明又一“预测性”方法,其中现有过程比新过程受偏爱。过程500在开始状态501处开始,且接着移到状态502,在状态502中,基于全局操作配置文件来确定作用中过程的层次结构。过程500接着移到状态503,在状态503中接收针对新过程的请求。过程500现在移到决策状态505,且咨询新过程的操作配置文件以确定操作配置文件中的任一者是否将满足当前全局操作配置文件。在一个实施例中,过程还可审阅现有过程的配置文件。如果在决策状态505处在新过程中未发现合适的操作配置文件,或如果现有过程中没有一者可基于全局操作配置文件而指向新的操作配置文件,那么过程500移到状态504,在状态504中将不运行新过程。然而,如果合适的选择是可能的,那么过程500移到状态506以确定新过程在系统的层次结构中的放置。过程500接着移到状态507,在状态507中,在诸多过程中重新分配资源。在一个实施例中,通过选择适当的操作配置文件来分配资源。在状态508处新过程接着可用其适当的操作配置文件来运行,但一旦经实例化,在状态509处,可基于每一过程的QoS来选择或更新新的配置文件。在无法预料的副作用的情况下,实例化之后的后续重新分配可以是必要的。操作接着在结束状态510处结束,且系统等待下一过程的引入。
因此,已描述用于在各种资源中引导各种应用程序的新颖的和改进的方法和设备。所属领域的技术人员将了解,结合本文揭示的实施例描述的各种说明性逻辑块、模块、电路和算法步骤可实施为电子硬件、计算机软件或两者的组合。各种说明性组件、块、模块、电路和步骤已根据其功能性而大体描述。所述功能性是实施为硬件还是软件取决于特定应用和强加于整个系统的设计约束。所属领域的技术人员认识到硬件与软件在这些环境下的可互换性,以及如何针对每一特定应用程序来最佳实施所描述功能性。作为实例,结合本文所揭示的实施例描述的各种说明性逻辑块、模块、电路和算法步骤可用数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件(例如,寄存器和FIFO)、执行固件指令集的处理器、任何常规可编程软件模块和处理器,或其任何组合来实施或执行。处理器可以是微处理器,但在替代方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。软件模块可驻存在RAM存储器、快闪存储器、ROM存储器、寄存器、硬盘、可装卸磁盘、CD-ROM或此项技术中已知的任何其它形式的存储媒体中。所属领域的技术人员将进一步了解,通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在以上描述中始终参考的数据、指令、命令、信息、信号、位、符号和码片。
提供优选实施例的先前描述以使得所属领域的技术人员能够进行或使用所揭示的实施例。所属领域的技术人员将容易了解对这些实施例的各种修改,且在不使用发明才能的情况下可将本文中定义的一般原理应用到其它实施例。因此,所揭示实施例并不希望限于本文中所展示的实施例,而应符合与本文所揭示的原理和新颖特征一致的最广范围。
Claims (20)
1.一种移动装置资源管理系统,其包括:
多个软件应用程序,每一软件应用程序包括服务质量模块,所述服务质量模块包括至少一个操作配置文件,所述至少一个操作配置文件指定所述多个软件应用程序中的应用程序在移动装置上运行时的配置;以及
资源管理器模块,其包括用于所述移动装置的全局操作配置文件,所述全局操作配置文件指定对所述移动装置的全局操作约束集合,所述全局操作约束集合包括针对具有待优先级排序的操作性的至少一个优先级过程的必需最小资源分配,所述资源管理器模块经配置以:
确定所述移动装置的可用资源集合;
从所述可用资源集合中移除必需最小资源分配以产生可分配资源集合;
识别能够满足所述可分配资源集合的针对所述应用程序的操作配置文件;及
使用所识别的针对所述应用程序的操作配置文件向所述移动装置的所述多个软件应用程序中的应用程序分配所述移动装置的所述可分配资源集合中的资源;
其中所述软件应用程序的所述至少一个操作配置文件和所述全局操作配置文件识别相关联软件应用程序或资源管理器模块的资源。
2.根据权利要求1所述的系统,其中所述可用资源集合包括本地硬件资源、本地软件资源、远程硬件资源和远程软件资源。
3.根据权利要求2所述的系统,其中所述本地软件资源中的至少一者包括所述多个软件应用程序中的至少一者。
4.根据权利要求3所述的系统,其中所述多个软件应用程序中的第一应用程序的操作配置文件识别所述多个软件应用程序中的第二应用程序的操作配置文件。
5.根据权利要求2所述的系统,其中所述本地硬件资源包括收发器。
6.根据权利要求5所述的系统,其中所述资源管理器模块经配置以使用所述收发器的位速率来识别针对所述应用程序的操作配置文件。
7.根据权利要求6所述的系统,其中所识别的操作配置文件指定针对解码器的资源参数。
8.根据权利要求1所述的系统,其中至少一个服务质量模块包括第一操作配置文件、第二操作配置文件和转变功能,且
其中所述资源管理器模块经进一步配置以:
基于所述第一操作配置文件向相关联的软件应用程序分配资源;
基于所述第二操作配置文件向相关联的软件应用程序重新分配资源;以及
在从所述第一操作配置文件转变到所述第二操作配置文件后即刻执行所述转变功能。
9.根据权利要求8所述的系统,其中所述转变功能包括安全性检查,所述安全性检查包括对从所述第一操作配置文件向所述第二操作配置文件的转变的资源可用性记录。
10.根据权利要求1所述的系统,其中所述全局操作配置文件指定当所述移动装置进入紧急模式时的紧急电力管理的要求。
11.根据权利要求10所述的系统,其中至少一个应用程序包括专用电池管理过程,所述专用电池管理过程经配置以在所述移动装置进入所述紧急模式时管理用于所述移动装置的资源。
12.根据权利要求1所述的系统,其中所述资源管理器模块经配置以:
周期性轮询所述软件应用程序的所述操作配置文件;
确定所述移动装置的当前可用资源集合;
从所述当前可用资源集合中移除所述必需最小资源分配以产生当前可分配资源集合;
识别能够满足所述当前可分配资源集合的针对所述应用程序的第二操作配置文件;
使用所识别的针对所述应用程序的第二操作配置文件向所述应用程序分配所述当前可分配资源集合中的资源。
13.一种用于管理软件应用程序的方法,其包括:
至少部分地基于用于移动装置的全局操作配置文件确定一个或多个软件应用程序的作用中过程的层次结构,每一作用中过程与所述软件应用程序中的一者相关联,所述全局操作配置文件指定对所述移动装置的全局操作约束集合,所述全局操作约束集合包括针对具有待优先级排序的操作性的至少一个优先级过程的必需最小资源分配;
接收启动软件应用程序的新过程的请求;
确定所述移动装置的可用资源集合;
从所述可用资源集合中移除必需最小资源分配以产生可分配资源集合;及
在所述软件应用程序包括能够满足所述可分配资源集合的操作配置文件时启动所述新过程。
14.根据权利要求13所述的方法,其中启动所述新过程包括:
基于所述新过程的操作配置文件和所述全局操作配置文件来确定所述新过程在所述层次结构中的放置;以及
当所述新过程在所述层次结构中的放置高于所述作用中过程中之一时,启动所述新过程。
15.根据权利要求13所述的方法,其进一步包括当启动所述新过程时终止所述层次结构中的至少一个作用中过程。
16.一种用于管理软件应用程序的设备,其包括:
用于至少部分地基于用于移动装置的全局操作配置文件确定一个或多个软件应用程序的作用中过程的层次结构的装置,每一作用中过程与所述软件应用程序中的一者相关联,所述全局操作配置文件指定对所述移动装置的全局操作约束集合,所述全局操作约束集合包括针对具有待优先级排序的操作性的至少一个优先级过程的必需最小资源分配;
用于接收启动软件应用程序的新过程的请求的装置;
用于确定所述移动装置的可用资源集合的装置;
用于从所述可用资源集合中移除必需最小资源分配以产生可分配资源集合的装置;及
用于在所述软件应用程序包括能够满足所述可分配资源集合的操作配置文件时启动所述新过程的装置。
17.一种用于移动装置的资源管理系统,其包括:
用于指定优选操作约束集合的装置,所述优选操作约束集合指定多个软件应用程序中的应用程序在所述移动装置上运行时的配置;
用于指定所述移动装置的全局操作约束集合的装置,所述全局操作配置文件指定对所述移动装置的全局操作约束集合,所述全局操作约束集合包括针对具有待优先级排序的操作性的至少一个优先级过程的必需最小资源分配;
用于通过如下在所述移动装置处仲裁对所述移动装置的资源分配的装置:
确定所述移动装置的可用资源集合;
从所述可用资源集合中移除必需最小资源分配以产生可分配资源集合;
识别能够满足所述可分配资源集合的针对所述应用程序的操作配置文件;及
使用所识别的针对所述应用程序的操作配置文件向所述应用程序分配所述移动装置的所述可分配资源集合中的资源;
其中所述操作约束识别相关联应用程序或移动装置的资源。
18.根据权利要求17所述的系统,其中所述优选操作约束包含以XML表示的操作配置文件。
19.根据权利要求17所述的系统,其中所述优选操作约束包含以所述应用程序的代码表示的操作配置文件。
20.根据权利要求17所述的系统,其中所述全局操作约束包含以XML表示的全局操作配置文件。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/912,409 US20120102200A1 (en) | 2010-10-26 | 2010-10-26 | Application specific resource management |
US12/912,409 | 2010-10-26 | ||
PCT/US2011/057543 WO2012058170A1 (en) | 2010-10-26 | 2011-10-24 | Application specific resource management |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103189843A CN103189843A (zh) | 2013-07-03 |
CN103189843B true CN103189843B (zh) | 2016-08-10 |
Family
ID=44908129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180051843.9A Expired - Fee Related CN103189843B (zh) | 2010-10-26 | 2011-10-24 | 用于管理软件应用程序的方法和装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20120102200A1 (zh) |
EP (1) | EP2633405B1 (zh) |
JP (2) | JP5972890B2 (zh) |
CN (1) | CN103189843B (zh) |
WO (1) | WO2012058170A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7865629B1 (en) * | 2009-11-24 | 2011-01-04 | Microsoft Corporation | Configurable connector for system-level communication |
US8719112B2 (en) * | 2009-11-24 | 2014-05-06 | Microsoft Corporation | Invocation of accessory-specific user experience |
EP2551781A1 (en) * | 2011-07-29 | 2013-01-30 | British Telecommunications Public Limited Company | Data analysis system |
US10275593B2 (en) * | 2013-04-01 | 2019-04-30 | Uniquesoft, Llc | Secure computing device using different central processing resources |
US10025905B2 (en) * | 2013-09-03 | 2018-07-17 | Qualcomm Incorporated | Communication device resource allocation based on medical data criticality and resource status |
US10193964B2 (en) | 2014-05-06 | 2019-01-29 | International Business Machines Corporation | Clustering requests and prioritizing workmanager threads based on resource performance and/or availability |
CN104038540B (zh) * | 2014-06-03 | 2017-03-22 | 山东乾云启创信息科技股份有限公司 | 一种应用代理服务器自动选择方法及系统 |
US10664052B2 (en) * | 2015-07-01 | 2020-05-26 | Samsung Electronics Co., Ltd. | Method for providing feedback and an electronic device thereof |
CN107220077B (zh) | 2016-10-20 | 2019-03-19 | 华为技术有限公司 | 应用启动的管控方法和管控设备 |
KR20180057036A (ko) * | 2016-11-21 | 2018-05-30 | 삼성전자주식회사 | 효율적인 리소스 관리를 위한 전자 장치 및 이의 방법 |
KR102092948B1 (ko) * | 2017-09-14 | 2020-03-24 | 주식회사 케이티 | 앱의 리소스를 관리하는 서버 및 사용자 단말 |
US11200330B2 (en) | 2018-08-01 | 2021-12-14 | Red Hat, Inc. | Secure storage access through rate limitation |
CN112136111B (zh) | 2019-04-24 | 2024-04-16 | 创新先进技术有限公司 | 分布式资源分配 |
EP3746960A1 (en) * | 2019-04-24 | 2020-12-09 | Alibaba Group Holding Limited | Distributed resource allocation |
JP7383918B2 (ja) | 2019-07-16 | 2023-11-21 | 日本電気株式会社 | 資源割り当て制御装置、資源割り当て制御方法、及び、資源割り当て制御プログラム |
Citations (2)
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 |
CN101164046A (zh) * | 2004-05-26 | 2008-04-16 | 高通股份有限公司 | 用于基于装置操作模式而应用优先权的系统 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6775320B1 (en) * | 1999-03-12 | 2004-08-10 | Aware, Inc. | Method and a multi-carrier transceiver supporting dynamic switching between active application sets |
US20020022453A1 (en) * | 2000-03-31 | 2002-02-21 | Horia Balog | Dynamic protocol selection and routing of content to mobile devices |
US6799208B1 (en) * | 2000-05-02 | 2004-09-28 | Microsoft Corporation | Resource manager architecture |
US7143413B2 (en) * | 2002-05-15 | 2006-11-28 | Hewlett-Packard Development Company, L.P. | Method and system for allocating system resources among applications using weights |
US7519916B1 (en) * | 2003-06-16 | 2009-04-14 | Microsoft Corporation | Methods for tailoring a bandwidth profile for an operating environment |
JP3987517B2 (ja) * | 2003-09-02 | 2007-10-10 | 株式会社東芝 | 計算機システム及びクラスタシステム用プログラム |
US7528976B2 (en) * | 2003-09-25 | 2009-05-05 | Ricoh Co., Ltd. | Stand alone printer with hardware/software interfaces for sharing multimedia processing |
US20050096102A1 (en) * | 2003-11-05 | 2005-05-05 | Motorola, Inc | Remotely initiated low power mode |
JP2005242631A (ja) * | 2004-02-26 | 2005-09-08 | Matsushita Electric Ind Co Ltd | アプリケーション切替方法、アプリケーション切替装置及びその装置を搭載した携帯電話 |
US7594006B2 (en) * | 2004-04-27 | 2009-09-22 | Hewlett-Packard Development Company, L.P. | Trending method and apparatus for resource demand in a computing utility |
US20050275406A1 (en) * | 2004-06-15 | 2005-12-15 | Hatalkar Atul N | Apparatus and method of dynamic usage profile acquisition and utilization in a wireless mobile device |
US7774822B2 (en) * | 2005-08-03 | 2010-08-10 | Novell, Inc. | Autonomous policy discovery |
US7319908B2 (en) * | 2005-10-28 | 2008-01-15 | Microsoft Corporation | Multi-modal device power/mode management |
US8289861B2 (en) * | 2006-03-24 | 2012-10-16 | Qualcomm Incorporated | Systems and methods for managing resources during handoff across communication systems having different grades of quality of service awareness |
US8718629B2 (en) * | 2006-07-18 | 2014-05-06 | Nec Corporation | Information communication processing device, information communication terminal, information communication system, function switching method and function switching program |
US8954045B2 (en) * | 2006-09-29 | 2015-02-10 | Qualcomm Incorporated | Method and apparatus for managing resources at a wireless device |
EP2210449B1 (en) * | 2007-10-19 | 2014-09-10 | Telefonaktiebolaget LM Ericsson (publ) | Methods and apparatuses for notifying an application function of resource restrictions relating to a communication session |
CN101889264B (zh) * | 2007-11-02 | 2014-05-14 | 高通股份有限公司 | 可配置系统事件和资源仲裁管理的设备和方法 |
US8380684B2 (en) * | 2008-09-30 | 2013-02-19 | Microsoft Corporation | Data-tier application component fabric management |
US8484568B2 (en) * | 2010-08-25 | 2013-07-09 | Verizon Patent And Licensing Inc. | Data usage monitoring per application |
-
2010
- 2010-10-26 US US12/912,409 patent/US20120102200A1/en not_active Abandoned
-
2011
- 2011-10-24 EP EP11779303.4A patent/EP2633405B1/en not_active Not-in-force
- 2011-10-24 JP JP2013536705A patent/JP5972890B2/ja not_active Expired - Fee Related
- 2011-10-24 WO PCT/US2011/057543 patent/WO2012058170A1/en active Application Filing
- 2011-10-24 CN CN201180051843.9A patent/CN103189843B/zh not_active Expired - Fee Related
-
2015
- 2015-08-07 JP JP2015157378A patent/JP6022647B2/ja not_active Expired - Fee Related
Patent Citations (2)
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 |
CN101164046A (zh) * | 2004-05-26 | 2008-04-16 | 高通股份有限公司 | 用于基于装置操作模式而应用优先权的系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103189843A (zh) | 2013-07-03 |
WO2012058170A1 (en) | 2012-05-03 |
EP2633405B1 (en) | 2018-04-18 |
JP2013541117A (ja) | 2013-11-07 |
JP5972890B2 (ja) | 2016-08-17 |
JP2016015149A (ja) | 2016-01-28 |
EP2633405A1 (en) | 2013-09-04 |
JP6022647B2 (ja) | 2016-11-09 |
US20120102200A1 (en) | 2012-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103189843B (zh) | 用于管理软件应用程序的方法和装置 | |
US11847576B2 (en) | Methods and system for managing predictive models | |
CN105159430B (zh) | 移动设备的电池功率管理 | |
US8700931B2 (en) | Method and system for managing power of a mobile device | |
CN103955403B (zh) | 机会性的多任务处理 | |
US11070507B2 (en) | Enabling wearables to cognitively alter notifications and improve sleep cycles | |
US20140006769A1 (en) | Device optimization modes | |
EP3277029B1 (en) | Electronic device and method for operating the same | |
CN107454179A (zh) | 用于消息提醒的方法及装置 | |
CN110058889A (zh) | 一种应用唤醒方法及装置 | |
WO2019177999A1 (en) | Mobile computing device notification mode determination | |
CN105556534B (zh) | 用于在发生拒绝时建议响应指南的电子设备和方法 | |
CN105930249B (zh) | 应用监控方法和装置 | |
US20100207585A1 (en) | Reserving power for electronic devices | |
CN104919425A (zh) | 用于设备至云消息传送的系统和方法 | |
CN105511880B (zh) | 一种基于透明计算的软件智能启动方法 | |
CN113204425B (zh) | 供进程管理内部线程的方法、装置、电子设备及存储介质 | |
US20230410967A1 (en) | Dynamic selection of configuration files for applications in accordance with adaptive goal setting | |
US20210295206A1 (en) | Power awareness systems and processes | |
WO2024060925A1 (zh) | 一种通知消息处理系统、方法和装置 | |
JP5646050B2 (ja) | 情報処理システムによるオブジェクト管理 | |
US11323332B2 (en) | Intelligent social IoT work plan | |
CN113777962A (zh) | 设备控制方法、装置、设备和存储介质 | |
Bonneville et al. | “In Search of Real Time” or Man Facing the Desire and Duty of Speed | |
CN111145419A (zh) | 一种医疗排号系统、方法及电子设备和存储介质 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160810 Termination date: 20181024 |