CN101981531B - 聚集循环调度以优化资源消耗 - Google Patents

聚集循环调度以优化资源消耗 Download PDF

Info

Publication number
CN101981531B
CN101981531B CN200980111814XA CN200980111814A CN101981531B CN 101981531 B CN101981531 B CN 101981531B CN 200980111814X A CN200980111814X A CN 200980111814XA CN 200980111814 A CN200980111814 A CN 200980111814A CN 101981531 B CN101981531 B CN 101981531B
Authority
CN
China
Prior art keywords
scheduling
time
notice
identifies
tolerance limit
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.)
Active
Application number
CN200980111814XA
Other languages
English (en)
Other versions
CN101981531A (zh
Inventor
A·P·特兰
L·A·摩尔
C·T·吉约里
H·蒂耿
J·M·米勒
A·萨佩克
K·C·本特利
P·G·哈坦迦迪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN101981531A publication Critical patent/CN101981531A/zh
Application granted granted Critical
Publication of CN101981531B publication Critical patent/CN101981531B/zh
Active 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4893Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

接合使用资源的调度以延长电池寿命。每一个调度被定义为在循环激活时间的所定义的容限内执行。在接收到事件的通知之后,访问调度以基于其激活时间和容限来标识可以较早执行的调度。聚集所标识的调度以供执行。

Description

聚集循环调度以优化资源消耗
背景
近年来,诸如移动电话和个人数字助理(PDA)之类的移动计算设备变得越来越流行。随着设备变得越来越小,对诸如存储器、带宽,以及电池之类的资源的限制就越大。另外,越来越多的应用现在需要这样的资源的级别越来越高。例如,许多应用执行诸如与服务器同步之类的重复的任务和需要频繁地使用无线装置来保持连接的实时内容更新。在无线装置开启以发送数据之后,无线装置要花几秒才可断电(例如,在2.5G网络上大约3秒,而在3G网络上大约20秒)。无线装置“尾巴”吸收电量,并缩短设备电池寿命。
概述
本发明的各实施例调整循环调度的激活时间,以机会主义地利用诸如受限资源之类的资源。每一调度都被定义为在循环激活时间激活,但可以在容限因子内较早执行。在接收到诸如资源可用性之类的事件的通知之后,基于接收到的通知、激活时间,以及容限因子来标识调度。例如,将基于容限因子来将某些调度标识为较早激活以利用可用资源。聚集并激活所标识的调度。
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
附图简述
图1是示出了调度器服务的操作的示例性流程图。
图2是示出在计算设备上执行的调度器服务的示例性框图。
图3是示出设备管理服务器对移动计算设备的控制的示例性框图。
图4是示出表示调度的数据结构的示例性框图。
相应的附图标记在全部附图中指示相应的部分。
详细描述
参考附图,本发明的各实施例提供在计算设备204上执行的控制循环调度208的激活的调度器服务202。调度208被用户或诸如应用程序1号到应用程序M号之类的一个或多个应用程序207定义为周期性地发生。
调度208的激活包括在所定义的激活时间410的预定义的容限内采取或执行一个或多个与调度208相关联的动作406。图1中示出了调度器服务202的示例性操作。在102,接收事件通知。例如,通知指示受限资源可用。在104,访问多个调度208。多个调度208中的每一个具有所定义的激活时间410和容限因子412以及其他属性(例如,调度期满规则、最大调度运行计数,调度208是否需要使用受限资源等等)。容限因子412一般指示调度208在受限资源变得可用时较早运行的容限。容限因子412包括用于指示调度在不同于其预定义激活时间410的时间执行的可用性的任何手段。例如,容限因子412包括但不仅限于常数值(例如,以分钟或秒为单位)、百分比(例如,诸如10%之类的间隔持续时间408的百分比),以及资源可用性之间的分钟数的移动均值。
在106,根据事件通知、当前时间、所定义的激活时间410,以及每一个所访问的调度的容限因子412,来标识所访问的调度中的一个或多个。例如,调度器服务202标识对于其事件是调度208的所定义的激活条件的调度208,或以其他方式标识事件所适用的调度208。调度器服务202进一步从所标识的调度选择可以基于每一个调度的容限因子412来较早激活的那些调度。例如,调度器服务202计算当前时间和每一个调度208的所定义的激活时间410之间的差,并将计算出的差与调度208的容限因子412进行比较。对于在容限范围内的所有差,选择对应的调度来进行激活。
在元素106的示例中,评估需要受限资源的调度208在生成或接收到通知时运行的适合性。在某些实施例中,基于当前时间是否落在排定时间和小于较早运行的容限的排定时间之间来确定适合性。
在108,激活所标识的调度。激活所标识的调度包括执行与调度相关联的动作406中的一个或多个。动作406包括例如诸如软件安装、配置和/或更新之类的软件配置动作。动作还可以包括访问计算设备204上的可执行文件或库。动作还可以包括修改计算设备204上的会导致先前动作中的任一个发生的同步事件。
对于移动计算设备302,最受限资源中的一个是电池,蜂窝无线电的使用是移动计算设备302上的功耗最大的活动。
在其中调度器服务202在移动计算设备302上执行或以其他方式控制移动计算设备302的实施例中,调度器服务202的操作通过接合、组合,或以其他方式聚集循环调度208以优化可用资源的使用,来延长电池寿命。循环调度208是基于事件来选择的。事件包括诸如特定时间或设备条件之类的任何条件。例如,如果事件指示资源可用(例如,网络或网络类型),标识调度208包括标识使用该资源的调度208。在另一示例中,需要蜂窝无线电的调度208将基于容限因子412来被标识为较早激活,以便在该无线电已经为另一个任务通电时利用该无线电。附录A列出了在本发明的各实施例的范围内的附加示例性调度208。
通过使得每一调度的激活时间410在容限内变化,调度器服务202通过在资源可用时利用资源并最小化开销来延长电池寿命。例如,当存在异步蜂窝、无线高保真(Wi-Fi)或其他无线电发射机或接收机事件(例如,服务器向设备发送数据,或者用户发起web浏览会话)时,调度器服务202扫描数据库210,并确定可以承载或利用无线电使用的调度。以此方式聚集调度最小化无线电加速自旋(spin up)。在其他实施例中,调度器服务202用于最小化将设备从空闲状态中带出的频率。在另一示例中,调度器服务202用于节省耗电资源,诸如移动计算设备302的下列组件:背光、处理器、音频放大器、全球定位系统、数字存储器就绪(digital memory ready)、短距离无线网络适配器(例如,对于蓝牙网络),辅助处理器、振动电动机、振铃器、照像机、加速计,以及环境光传感器。
另选地或另外地,如果调度器服务202确定资源将不会在单独执行调度期间被置于高消耗状态,则调度器服务202将单独地执行调度。
尽管在某些实施例中参考移动计算设备302来进行描述,但本发明的各方面适用于其他设备。此外,尽管在某些实施例中参考调度器服务202来进行描述,但本发明的各方面适用于执行此处所示出和描述的功能的任何组件。
在其中调度A、B和C都需要网络连接的示例中,可以基于容限因子412来将调度B和C与与调度A成批或聚集。如果调度A的执行使无线电事件加速自旋,则将发布该事件并且然后执行调度B和C以利用该无线电事件。如果调度A从不需要网络,则调度B和C将在其原始排定时间执行。
在执行调度之后,在110,调度器服务202为每一个调度定义下一激活时间。每一个调度208都具有与每一个调度208的循环激活之间的时间相对应的间隔持续时间408。间隔持续时间408由应用程序207或用户在创建调度时设置。在一实施例中,每一个调度的下一激活时间通过将间隔持续时间408加到上一激活时间来确定。由此,调度执行之间的实际时间段可以比间隔持续时间408短,但决不会比间隔持续时间408长。
或者,基于最初定义的激活时间来设置每一个调度的下一激活时间。由此,调度执行之间的实际时间段可以比间隔持续时间408短或长,但长期平均间隔持续时间收敛到指定间隔。在一实施例中,创建调度208的应用程序207或用户确定应该使用哪一种设置下一激活时间的方法。
在某些实施例中,许多应用程序207都使得调度208定期向服务器发送小数据分组以使连接保持开放。开放的连接允许服务器实时地将数据推送到移动计算设备302。调度器服务202允许应用程序207调用应用程序编程接口(API)并模拟调度208运行。结果,基于模拟的运行来来计算下一排定时间。在这样的示例中,循环调度208被称为“心跳”,并确保在网络超时内在计算设备204和服务器之间发送数据。例如,如果网络超时是15分钟,则连接要求每隔15分钟在设备和服务器之间交换某些数据,否则连接将关闭。即,设备204必须每隔15分钟向服务器发送一些小数据分组。然而,如果服务器向设备发送数据(例如,在8分钟标记处),则应用程序207在8分钟标记处调用API。计算出调度的下一激活时间在23分钟标记处(例如,8+15)而不是15分钟标记。
附录B包括调度器服务202的示例性属性和状态的列表。
参考图2,示例性框图示出了在计算设备204上执行的调度器服务202。计算设备204包括,例如,诸如个人数字助理(PDA)或移动电话之类的移动设备。处理器206被配置成执行计算机可执行指令,这些指令用于从用户、在计算设备204上执行的应用程序207、远离计算设备204执行的应用程序207或另一个源接收每一个调度208的激活时间410、容限因子412,以及间隔持续时间408。接收到的调度数据被存储在数据库210或其他存储器区域中。附录C列出了在定义调度208时所涉及的示例性属性和定义。
间隔持续时间408确定调度208的执行或激活之间的时间段。连续间隔持续时间可以相同,或线性地、按指数规律地相关等等。例如,调度208中的某一些具有激活之间的逐渐增大的间隔。在一实施例中,应用程序207或用户指定初始间隔值、渐进类型(例如,线性或指数级),以及最大间隔值。当调度执行时,间隔从初始值开始,宾且然后在每一次执行之后适当地增大。如果指定了最大间隔值,则间隔持续时间408决不会增大到高于最大间隔值,但保持在其最高值。
一个或多个计算机可读介质具有用于实现调度器服务202的各实施例的计算机可执行的组件。例如,组件被存储在存储器区域212中,并包括接口组件214,条件组件216、聚集组件218、节省组件220、扼流组件222,以及规则组件223。接口组件214接收事件的通知(例如,计算设备204上的耗电资源的可用性的通知)。例如,事件可以是时间事件,如相对时间间隔(例如,引导之后5分钟)或绝对时间(例如,12:00:00am)的发生。事件还可以是状态事件,如引导,检测到诸如Wi-Fi连接或蜂窝连接之类的预定连接类型,和/或最初丢失网络连接之后重新建立网络连接,或计算设备204的其他状态。此外,事件通知是从通知代理224或任何其他事件、通知或状态系统接收的。尽管图2中的通知代理224被示为在计算设备204上执行,但通知代理224可另选地或另外地在另一计算设备(例如,经由网络与计算设备204进行通信)上执行。
在一示例中,存在供接口组件214接收蜂窝无线电正在在移动计算设备302上传输数据的通知的若干方式。一种方式涉及无线电制造商通知无线电上方的软件层无线电正在传输数据。另一种方式是监视网际协议(IP)栈以检查是否有正在发送或接收的数据。在发送或接收数据时,记录时间并设置事件状态(例如,设为“true(真)”)。在所定义的时间段(例如,十秒)之后,如果没有发送其他数据,则改变事件状态(例如,设为“false(假)”)。调度器服务202在检测到事件状态从“false”变为“true”(在该示例中指示无线电正在发送数据)时接合调度208。
基于接口组件214接收到的事件信息,条件组件216标识存储在数据库210中的至少一个调度208。在其中接收到的事件指示资源可用性的示例中,条件组件216标识在执行期间消耗资源的调度208。聚集组件218基于调度的激活时间410和容限因子412来选择由条件组件216标识的调度中要执行的一个或多个调度。例如,聚集组件218选择对于其下一激活时间和由接口组件214接收到通知的时间之间的差在该调度的容限因子412范围之内的调度。在一实施例中,接收到通知的时间与当前时间相对应。节省组件220执行由聚集组件218选择的调度。例如,节省组件220执行与每一个所聚集的调度相关联的动作406。作为示例,供聚集组件218选择调度的准则可通过下列布尔表达式来表示:(当前时间>=(NEXT_RUN_TIME(下一运行时间)-RUN_EARLY_TIME(较早运行时间))and(当前时间<END_TIME(结束时间))。由聚集组件218选择满足这些准则的所有调度。
扼流组件222根据预定义的扼流限制值来限制由节省组件220执行的调度数量。在一实施例中,扼流限制根据计算设备204上的资源的消耗状态来定义。例如,在节省组件220执行由聚集组件218选择的调度之前,节省组件220经由扼流组件222确定是否已经达到扼流限制阈值。例如,在较紧的时间邻近度内触发的大量的调度或动作可能导致严重的资源不足。为缓解这种状况,扼流组件222在任何给定时间窗口期间只启动所定义数量的调度或动作406。每一次成功地启动调度或动作时,计数器都递增。如果计数器值达到扼流限制,则延迟其他调度或动作启动,直到计数器重置为零或以其他方式递减。例如,计数器由每隔一段预定义时间执行的线程来重置为零。另选地或另外地,计数器在使用资源的调度或动作释放资源时递减。
规则组件223将调度专用属性应用到每一个调度208。例如,规则组件223确定如何计算下一排定时间(例如,最大值或均值),何时启动调度208,何时结束调度208,重复调度208多少次,以及什么实体可以修改调度208。
某些调度208被定义为只有在计算设备204引导时执行。如果这些调度共享公共资源(例如,无线电),则调度器服务202将这些调度的激活与共同激活时间校准,以利用资源的可用性。
类似地,调度器服务202将具有类似间隔或间隔倍数的调度与基时间零(例如,人工时间零)校准。作为示例,两个应用程序207具有五分钟的心跳间隔,其中每一个间隔都具有20%的容限因子412(例如,与一分钟的较早运行容限相对应)。第一应用程序在时刻T0(例如,启动)、T5(例如,启动之后的五分钟),以及T10(例如,启动之后十分钟)执行心跳操作。第二应用程序在时刻T2(例如,第一应用程序启动之后两分钟)和T7(例如,启动之后五分钟)启动并执行心跳操作。由于两个应用程序的心跳操作之间的差是两分钟或三分钟,因此心跳操作未被调度器服务202接合。相反,调度器服务202校准第二应用程序以在时刻T5启动,以使得两个应用程序的心跳操作同时发生。
参考图3,示例性框图示出了设备管理服务器304对移动计算设备302的控制。在图3中,来自图2的调度器服务202担当在设备管理客户机308内执行的客户机调度器模块306,该模块与在设备管理服务器304或其他计算设备(例如,经由网络312连接)上执行的服务器调度器模块310进行通信。在这样的实施例中,服务器调度器模块310指示客户机调度器模块306激活调度208,并执行与如图2中的每一个聚集的调度相关联的动作406。
参考图4,示例性框图示出了表示调度208的数据结构。调度208被存储在可以用可扩展标记语言(XML)格式编码的数据结构中。每一个调度208都包括预定义事件404及相关联的动作406,以及间隔持续时间408、激活时间410,以及容限因子412的列表。预定义事件404包括时间事件和状态事件。相关联的动作406包括要在发生预定义事件404时执行的操作。动作406指定例如可执行文件路径和命令行参数或已命名的同步事件。
示例性操作环境
诸如此处所描述的计算设备或计算机具有一个或多个处理器或处理单元以及系统存储器。计算机通常具有至少某种形式的计算机可读介质,包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性与非易失性、可移动与不可移动介质。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。
尽管结合示例性计算系统环境进行了描述,但本发明的各实施例可用于众多其它通用或专用计算系统环境或配置。
本发明的各实施例可以在由一个或多个计算机或其他设备执行的诸如程序模块等计算机可执行指令的通用上下文中描述。本发明的各方面可以用任何数量的这些组件或模块及其任何组织来实现。例如,本发明的各方面不限于在各附图中示出和本文中描述的特定的计算机可执行指令或者特定的组件或模块。本发明的其他实施例可以包括具有比在本文中示出和描述的更多或更少的功能的不同计算机可执行指令或组件。
此处所示出和描述的实施例以及此处未具体描述但在本发明的各方面的范围内的实施例构成用于聚集要激活的循环调度208的示例性手段、用于校准循环调度208的激活的示例性手段,以及用于根据接收到的通知、通知时间、多个循环调度中的每一个的所定义的激活时间,以及容限因子412来标识多个循环调度208中的一个或多个的示例性手段。
除非另有指定,否则此处所示和所述的本发明各实施例的操作的执行或进行的次序并不重要。即,除非另有指明,否则各操作可按照任何次序执行,且本发明的实施例可以包括比本文所公开的更多或更少的操作。例如,构想了在另一操作之前、同时或之后执行或进行一特定操作是在本发明各方面的范围之内的。
当介绍本发明各方面或其实施例的各元素时,冠词“一”、“一个”、“该”和“所述”指的是存在该元素的一个或多个。术语“包括”、“包含”和“具有”是指包括在内,并表示除所列元素外还可能存在其它元素、
在详细描述了本发明的各方面之后,可以清楚,修改和变化是有可能的,而不背离所附权利要求书中定义的本发明各方面的范围。不背离本发明各方面的范围的情况下,可对以上构造、产品和方法进行各种改变,以上描述中所包含的以及在附图中所示出的所有一切旨在应被解释为说明性并且没有限制意义。
附录A
下面列出了在本发明的各实施例的范围内的示例调度。
在另一示例中,应用程序具有在中午执行并使用移动设备中的无线电的调度。另一个应用程序具有带有下午12:05的已定义的激活时间410以及五分钟的容限的调度。此调度也需要使用无线电。然后,调度器服务聚集这两个调度以同时激活,从而允许无线电只加速自旋一次。结果是通过避免无线电断电所需的电量吸收(例如,无线电断电一次而不是两次)来节省电量。在此示例的变体中,在较早运行之后,重新计算调度的下一执行时间,以使其决不会超出间隔持续时间值,或者从不重新计算下一执行时间。
在另一示例中,应用程序监视诸如拍卖等具有预定义结束时间的在线数据源。所需调度更新速率是可变的,并且期望随着结束时间的临近频繁地更新。
在另一示例中,设备上的应用程序必须每隔x分钟向服务器发送数据,以使设备和服务器之间的连接保持打开。如果服务器在下一排定时间之前发送数据,则设备应用程序不需要在该排定时间发送数据,它只需重新计算下一排定时间(等于从服务器接收到数据的时间+x)。
附录B
下面列出了根据本发明的各实施例的调度器的示例性属性和状态。
Figure BPA00001232669700091
表B1全局状态。
 名称  描述
 CURRENT_INTERVAL(当  定义被用来计算NEXT_RUN_TIME的间隔。
Figure BPA00001232669700101
表B2每一个调度的状态。
Figure BPA00001232669700102
表B3每一组的状态。
Figure BPA00001232669700103
表B4全局属性。
Figure BPA00001232669700111
表B5调度属性。
附录C
下面在表C1中列出了是在定义循环调度时所涉及的示例性属性和定义。
Figure BPA00001232669700121
Figure BPA00001232669700131
Figure BPA00001232669700141
表C1循环调度的示例性属性。

Claims (17)

1.一种用于节省移动设备(302)的电量的装置,所述装置包括:
接口组件(214),所述接口组件用于接收耗电资源在所述移动设备(302)上的可用性的通知;
条件组件(216),所述条件组件用于标识存储在存储器区域中的在执行期间使用所述耗电资源的多个调度(208),所述多个调度(208)中的每一个都具有循环激活时间(410)和容限因子(412);
聚集组件(218),所述聚集组件用于选择所标识的多个调度中的对于其所述循环激活时间(410)和所述接口组件(214)接收到所述通知的时间之间的差在所述容限因子(412)范围内的一个或多个调度;
用于执行由所述聚集组件(218)选择的调度以使用所述耗电资源的节省组件(220);以及
用于根据预定义的限制值来限制由所述节省组件执行的调度的数量的扼流组件。
2.如权利要求1所述的装置,其特征在于,所述耗电资源包括以下与所述移动设备相关联的资源中的一个或多个:射频发射机、背光、处理器、音频放大器、全球定位系统、数字存储器就绪、短程无线网络适配器、辅助处理器、振动电动机、振铃器、照像机、加速计、以及环境光传感器。
3.一种用于节省移动设备的电量的方法,包括:
接收事件通知,其中接收所述事件通知包括接收资源可用的通知;
访问多个循环调度(208),所述多个循环调度(208)中的每一个都具有与其相关联的所定义的激活时间(410)和容限因子(412);
根据所接收到的事件通知、当前时间、所访问的每一个调度的所定义的激活时间(410)以及所述容限因子(412)来标识所访问的调度中的一个或多个;
根据扼流限制来限制要激活的所标识的调度的数量;以及
激活限制数量的所标识的调度以消耗所述可用资源,
其中标识所访问的调度中的一个或多个包括标识所述所访问的调度中的所述当前时间和所述所定义的激活时间之间的差在所述容限因子范围内的一个或多个调度。
4.如权利要求3所述的方法,其特征在于,激活所标识的调度包括执行与所标识的调度相关联的一个或多个动作。
5.如权利要求3所述的方法,其特征在于,所述多个调度中的每一个都具有激活时间之间的间隔持续时间,并且所述方法还包括基于每一个所激活的调度的间隔持续时间来为该调度定义下一激活时间。
6.如权利要求5所述的方法,其特征在于,定义所述下一激活时间包括将每一个调度的间隔持续时间加到所述当前时间,以定义所述每一个调度的下一激活时间。
7.如权利要求5所述的方法,其特征在于,所述当前时间和所定义的下一激活时间之间的差小于所述间隔持续时间。
8.如权利要求3所述的方法,其特征在于,所述接收、所述访问、所述标识、以及所述激活由所述移动设备执行。
9.如权利要求3所述的方法,其特征在于,所述多个调度中的每一个都具有与其相关联的至少一个动作,并且其中激活所标识的调度包括指示所述移动设备执行与所标识的调度中的每一个相关联的动作。
10.如权利要求3所述的方法,其特征在于,还包括定义扼流限制,其中激活限制数量的所标识的调度包括激活小于所定义的扼流限制的数量的所标识的调度。
11.如权利要求10所述的方法,其特征在于,所标识的调度在所述移动设备上激活,并且其中定义所述扼流限制包括根据所述资源在所述移动设备上的消耗状态来定义所述扼流限制。
12.一种用于节省移动设备的电量的计算机实现的系统,其中多个循环调度(208)存储于存储器区域,所述多个循环调度(208)中的每一个都具有所定义的激活时间(410)、容限因子(412)、以及激活时间之间的间隔持续时间(408),所述系统包括:
用于接收每一个循环调度(208)的所定义的激活时间(410)、容限因子(412)、以及间隔持续时间(408)的装置;
用于将所接收到的激活时间(410)、容限因子(412)、以及间隔持续时间(408)存储在所述存储器区域中的装置;
用于在通知时间接收事件的通知的装置,其中接收所述事件通知包括接收资源可用的通知;
用于标识所述循环调度(208)中的所接收到的通知适用并且对于其所定义的激活时间(410)和所述通知时间之间的差在所述容限因子(412)范围内的一个或多个循环调度的装置;
用于根据扼流限制来限制要激活的所标识的调度的数量的装置;
用于聚集限制数量的所标识的调度以供激活的装置;以及
用于执行与每一个所聚集的调度相关联的一个或多个动作(406)以消耗所述可用资源的装置。
13.如权利要求12所述的系统,其特征在于,所述事件包括所述移动设备的引导,并且其中所述系统还包括将所标识的调度的激活与共同激活时间校准的装置。
14.如权利要求12所述的系统,其特征在于,所述系统与所述移动设备相关联。
15.如权利要求12所述的系统,其特征在于,所述系统与设备管理服务器相关联,并且其中所述系统还包括通过指示所述移动设备执行与每一个所聚集的调度相关联的动作来执行所述一个或多个动作的装置。
16.如权利要求12所述的系统,还包括:
用于根据所接收到的通知、所述通知时间、所述多个调度中的每一个的所定义的激活时间以及所述容限因子来标识所述多个循环调度中的一个或多个的装置。
17.如权利要求12所述的系统,其特征在于,还包括用于校准所述循环调度的激活的装置。
CN200980111814XA 2008-03-27 2009-02-25 聚集循环调度以优化资源消耗 Active CN101981531B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/056,287 2008-03-27
US12/056,287 US8230436B2 (en) 2008-01-10 2008-03-27 Aggregating recurrent schedules to optimize resource consumption
PCT/US2009/035133 WO2009120442A1 (en) 2008-03-27 2009-02-25 Aggregating recurrent schedules to optimize resource consumption

Publications (2)

Publication Number Publication Date
CN101981531A CN101981531A (zh) 2011-02-23
CN101981531B true CN101981531B (zh) 2013-09-25

Family

ID=41114272

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980111814XA Active CN101981531B (zh) 2008-03-27 2009-02-25 聚集循环调度以优化资源消耗

Country Status (12)

Country Link
US (1) US8230436B2 (zh)
EP (1) EP2286315B1 (zh)
JP (1) JP5281145B2 (zh)
KR (1) KR101475550B1 (zh)
CN (1) CN101981531B (zh)
AU (1) AU2009229136B2 (zh)
BR (1) BRPI0907860A2 (zh)
CA (1) CA2714716A1 (zh)
IL (1) IL207708A (zh)
RU (1) RU2502116C2 (zh)
TW (1) TWI488035B (zh)
WO (1) WO2009120442A1 (zh)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8230436B2 (en) 2008-01-10 2012-07-24 Microsoft Corporation Aggregating recurrent schedules to optimize resource consumption
US20090182802A1 (en) * 2008-01-10 2009-07-16 Microsoft Corporation Mobile device management scheduling
US8166145B2 (en) * 2008-01-10 2012-04-24 Microsoft Corporation Managing event-based conditional recurrent schedules
US8099505B2 (en) * 2008-03-26 2012-01-17 Microsoft Corporation Aggregating connection maintenance to optimize resource consumption
JP2009258937A (ja) * 2008-04-16 2009-11-05 Sony Corp 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US8020025B2 (en) * 2008-06-04 2011-09-13 Sony Ericsson Mobile Communications Ab Power saving scheduler for timed events
US8112475B2 (en) 2008-06-27 2012-02-07 Microsoft Corporation Managing data delivery based on device state
US8090826B2 (en) * 2008-06-27 2012-01-03 Microsoft Corporation Scheduling data delivery to manage device resources
US7966410B2 (en) * 2008-09-25 2011-06-21 Microsoft Corporation Coordinating data delivery using time suggestions
US8621472B2 (en) * 2009-11-03 2013-12-31 International Business Machines Corporation Job scheduling with optimization of power consumption
TW201129037A (en) * 2010-02-03 2011-08-16 Ralink Technology Corp Management method for internet protocol sharing communication mechanism
US8806497B2 (en) * 2010-03-05 2014-08-12 Microsoft Corporation System and method for altering the work definitions in an iterative parallel opportunistic work stealing scheduler
US20110289329A1 (en) * 2010-05-19 2011-11-24 Sumit Kumar Bose Leveraging smart-meters for initiating application migration across clouds for performance and power-expenditure trade-offs
US8489348B2 (en) 2010-06-02 2013-07-16 Google Inc. Aggregating mobile device battery life data
US20120023072A1 (en) * 2010-07-20 2012-01-26 Research In Motion Limited System and method for controlling the deletion of data associated with electronic groups
US8594648B2 (en) 2012-02-23 2013-11-26 International Business Machines Corporation Calendar-based power reserve
US20140005886A1 (en) * 2012-06-29 2014-01-02 Microsoft Corporation Controlling automotive functionality using internal- and external-facing sensors
US9069554B2 (en) * 2012-09-24 2015-06-30 Qualcomm Innovation Center, Inc. Systems and methods to coordinate resource usage in tightly sandboxed environments
US8984078B2 (en) * 2013-01-11 2015-03-17 Google Inc. Systems and methods for device-to-cloud message delivery
US9904575B2 (en) 2013-05-15 2018-02-27 Apple Inc. System and method for selective timer rate limiting
CA2851465C (en) * 2013-08-30 2020-03-24 Motohide Sugihara Management system and management method for mining machine
US9172718B2 (en) * 2013-09-25 2015-10-27 International Business Machines Corporation Endpoint load rebalancing controller
KR102161055B1 (ko) * 2013-10-07 2020-09-29 삼성전자주식회사 소프트웨어 파이프라이닝을 이용한 명령어 스케줄링 방법 및 장치
GB2525917B (en) * 2014-05-09 2021-08-11 Arm Ip Ltd Energy-based scheduling of operations to be executed by a data processing apparatus
CN104182223B (zh) * 2014-08-18 2018-01-02 百度在线网络技术(北京)有限公司 计时方法和计时装置
US9632823B1 (en) * 2014-09-08 2017-04-25 Amazon Technologies, Inc. Multithreaded application thread schedule selection
US9876872B1 (en) * 2015-04-03 2018-01-23 Symantec Corporation Method or mechanism for self notification avoidance
US9958933B2 (en) 2015-06-04 2018-05-01 Apple Inc. Opportunistic waking of an application processor
WO2018050242A1 (en) * 2016-09-16 2018-03-22 Huawei Technologies Co., Ltd. Efficient scheduler for short periodic tasks

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1495588A (zh) * 2002-05-08 2004-05-12 无线计算装置中网络接口模块能量消耗的管理方法和系统
CN1519680A (zh) * 2003-01-31 2004-08-11 管理网络接口模块中电源的方法和装置

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950013619B1 (ko) * 1992-11-13 1995-11-13 삼성전자주식회사 이동무선휴대 단말기에서의 밧데리 절약(Battery Saving)방법
US7924783B1 (en) * 1994-05-06 2011-04-12 Broadcom Corporation Hierarchical communications system
US5692125A (en) * 1995-05-09 1997-11-25 International Business Machines Corporation System and method for scheduling linked events with fixed and dynamic conditions
US5867657A (en) * 1996-06-06 1999-02-02 Microsoft Corporation Distributed scheduling in a multiple data server system
EP0940050A1 (en) * 1997-06-27 1999-09-08 Koninklijke Philips Electronics N.V. Power supply switching in a radio communication device
US6415196B1 (en) * 1997-08-28 2002-07-02 Manugistics, Inc. Manufacturing scheduling process with improved modeling, scheduling and editing capabilities for solving finite capacity planning problems
US7228341B2 (en) * 2000-04-07 2007-06-05 Giacalone Jr Louis D Method and system for electronically distributing, displaying and controlling advertising and other communicative media
US7236976B2 (en) * 2000-06-19 2007-06-26 Aramark Corporation System and method for scheduling events and associated products and services
US7000230B1 (en) * 2000-06-21 2006-02-14 Microsoft Corporation Network-based software extensions
CA2327001A1 (en) * 2000-11-27 2002-05-27 Redback Networks Systems Canada Inc. Policy schedule verification method and apparatus
US20040216098A1 (en) * 2001-02-05 2004-10-28 Roe Colleen A. Scalable agent service scheduler
US6918115B2 (en) * 2001-02-16 2005-07-12 Microsoft Corporation Method and apparatus for synchronization of periodic processes
US7099350B2 (en) * 2001-04-24 2006-08-29 Atitania, Ltd. Method and apparatus for converting data between two dissimilar systems
WO2003021439A1 (en) * 2001-08-29 2003-03-13 Analog Devices, Inc. Methods and apparatus for improving throughput of cache-based embedded processors by switching tasks in response to a cache miss
FI20012256A0 (fi) * 2001-11-20 2001-11-20 Nokia Corp Matkaviestintäverkot ja digitaaliset yleislähetyspalvelut
JP2003230121A (ja) * 2001-11-30 2003-08-15 Fujitsu Ltd コンテンツ配信方法、コンテンツ視聴方法、サーバ装置、および端末装置
US20030135643A1 (en) * 2002-01-11 2003-07-17 Chaucer Chiu Data transmission scheduling system and method
US7130313B2 (en) * 2002-02-14 2006-10-31 Nokia Corporation Time-slice signaling for broadband digital broadcasting
US20040002943A1 (en) * 2002-06-28 2004-01-01 Merrill John Wickens Lamb Systems and methods for application delivery and configuration management of mobile devices
KR100605845B1 (ko) * 2002-09-16 2006-07-31 삼성전자주식회사 단문 메시지 서비스를 이용한 스케줄 전송 및 등록 방법
US7486637B2 (en) * 2002-09-26 2009-02-03 Interdigital Technology Corporation Wireless communication method and system for efficiently managing paging windows and data messages
AU2003208224B2 (en) * 2002-11-04 2007-10-11 Blackberry Limited Wireless device battery conservation method and system
US7809384B2 (en) * 2002-11-05 2010-10-05 Microsoft Corporation User-input scheduling of synchronization operation on a mobile device based on user activity
US8271971B2 (en) * 2002-11-26 2012-09-18 Hewlett-Packard Development Company, L.P. System and method for automated program updating in a remote appliance
US9237514B2 (en) * 2003-02-28 2016-01-12 Apple Inc. System and method for filtering access points presented to a user and locking onto an access point
US20040225525A1 (en) * 2003-05-05 2004-11-11 Weitzman Vernon L. Automatic contacts replication system and software
US7099689B2 (en) * 2003-06-30 2006-08-29 Microsoft Corporation Energy-aware communications for a multi-radio system
US7433714B2 (en) * 2003-06-30 2008-10-07 Microsoft Corporation Alert mechanism interface
JP4057989B2 (ja) * 2003-09-26 2008-03-05 株式会社東芝 スケジューリング方法および情報処理システム
US7137099B2 (en) * 2003-10-24 2006-11-14 Microsoft Corporation System and method for extending application preferences classes
US8385985B2 (en) * 2003-11-25 2013-02-26 Qualcomm Incorporated Method for reducing power consumption in a multi-mode device
US7698575B2 (en) * 2004-03-30 2010-04-13 Intel Corporation Managing power consumption by requesting an adjustment to an operating point of a processor
JP2006235838A (ja) * 2005-02-23 2006-09-07 Nec Corp ソフトウェア更新システム、サーバ、方法およびプログラム
US7827560B2 (en) * 2005-05-11 2010-11-02 Siemens Aktiengesellschaft System and method for time controlled program execution
US7539882B2 (en) * 2005-05-30 2009-05-26 Rambus Inc. Self-powered devices and methods
US8600336B2 (en) * 2005-09-12 2013-12-03 Qualcomm Incorporated Scheduling with reverse direction grant in wireless communication systems
CA2623150A1 (en) * 2005-09-26 2007-03-29 Research In Motion Limited Communications event scheduler
US7440817B2 (en) * 2005-10-20 2008-10-21 Liang Fu Method and control unit for medication administering devices
US20070097867A1 (en) * 2005-11-03 2007-05-03 Kneckt Jarkko L S Techniques to provide a new or suggested data transmission schedule in a wireless network
FR2893476B1 (fr) * 2005-11-14 2008-01-25 Radiotelephone Sfr Procede et systeme de simulation et de gestion des ressources d'un reseau de telephonie mobile.
US20070118530A1 (en) * 2005-11-18 2007-05-24 Microsoft Corporation Scheduling of software updates
US7647037B2 (en) * 2006-01-31 2010-01-12 International Business Machines Corporation Location aware, on demand, media delivery to remote devices
US8620994B2 (en) * 2006-02-23 2013-12-31 Qualcomm Incorporated System and method for scheduling content updates in a content-based application
US7676214B2 (en) * 2006-02-24 2010-03-09 Samsung Electronics Co., Ltd Method and system for increasing the standby battery life of a mobile device
US7584372B2 (en) * 2006-04-25 2009-09-01 Mediatek Inc. Station control method and station using the same
US20080113656A1 (en) * 2006-11-15 2008-05-15 Lg Telecom Ltd. System and method for updating contents
US7944868B2 (en) * 2006-12-04 2011-05-17 Nec Laboratories America, Inc. Method and system for dynamic power management in wireless local area networks
US20080215406A1 (en) * 2007-03-01 2008-09-04 Julian Pachon Scheduling Resources for Airline Flights
US8230436B2 (en) 2008-01-10 2012-07-24 Microsoft Corporation Aggregating recurrent schedules to optimize resource consumption
US8166145B2 (en) * 2008-01-10 2012-04-24 Microsoft Corporation Managing event-based conditional recurrent schedules
US8020025B2 (en) * 2008-06-04 2011-09-13 Sony Ericsson Mobile Communications Ab Power saving scheduler for timed events
US7945206B2 (en) * 2009-02-04 2011-05-17 Telefonaktiebolaget L M Ericsson (Publ) Data packet transmission scheduling in a mobile communication system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1495588A (zh) * 2002-05-08 2004-05-12 无线计算装置中网络接口模块能量消耗的管理方法和系统
CN1519680A (zh) * 2003-01-31 2004-08-11 管理网络接口模块中电源的方法和装置

Also Published As

Publication number Publication date
RU2010139459A (ru) 2012-03-27
US8230436B2 (en) 2012-07-24
TW200943047A (en) 2009-10-16
IL207708A0 (en) 2010-12-30
CA2714716A1 (en) 2009-10-01
AU2009229136A1 (en) 2009-10-01
KR101475550B1 (ko) 2014-12-22
KR20110018291A (ko) 2011-02-23
EP2286315A1 (en) 2011-02-23
AU2009229136B2 (en) 2014-02-06
JP2011515778A (ja) 2011-05-19
JP5281145B2 (ja) 2013-09-04
RU2502116C2 (ru) 2013-12-20
EP2286315A4 (en) 2012-11-28
TWI488035B (zh) 2015-06-11
IL207708A (en) 2016-04-21
EP2286315B1 (en) 2017-03-22
CN101981531A (zh) 2011-02-23
US20090183157A1 (en) 2009-07-16
BRPI0907860A2 (pt) 2015-07-21
WO2009120442A1 (en) 2009-10-01

Similar Documents

Publication Publication Date Title
CN101981531B (zh) 聚集循环调度以优化资源消耗
US10554786B2 (en) Dynamic adjustment of mobile device based on peer event data
US8090826B2 (en) Scheduling data delivery to manage device resources
US9462965B2 (en) Dynamic adjustment of mobile device based on system events
US9432839B2 (en) Dynamic adjustment of mobile device based on thermal conditions
US8099505B2 (en) Aggregating connection maintenance to optimize resource consumption
US9417908B2 (en) Managing data delivery based on device state
US9465679B2 (en) Dynamic adjustment of mobile device based on adaptive prediction of system events
US8930521B2 (en) Method, apparatus, and computer program product for enabling monitoring of a resource
US9813990B2 (en) Dynamic adjustment of mobile device based on voter feedback
CN102591921A (zh) 个人数据中心内的调度和管理
CN103270466A (zh) 经由对定时器相关任务的协调和选择性操作的功率管理
TWM539648U (zh) 預測性控制系統
JP2008546274A (ja) 周期的な分散された時間によるリソース管理
CN110609738A (zh) 自适应数据同步
CN105808329A (zh) 分布式超时任务调度方法和装置
Marin et al. Reaching for the clouds: contextually enhancing smartphones for energy efficiency
CN109002381B (zh) 进程通信监控方法、电子装置及计算机可读存储介质
Maracic et al. Context-aware multi-agent system in machine-to-machine communication
Yau et al. An adaptive, lightweight and energy-efficient context discovery protocol for ubiquitous computing environments
La et al. An Efficient Context Acquisition for'n'Mobile Apps
Singhal et al. Application and Energy-Aware Data Aggregation using Vector Synchronization in Distributed Battery-less IoT Networks
CN116132367A (zh) 一种消息处理方法、装置及电子设备
CN116962505A (zh) 消息推送方法和装置、存储介质及电子设备
Phuong et al. Energy Join Quality Aware Real-time Query Scheduling Algorithm for Wireless Sensor Networks

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
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150505

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150505

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.