CN105474173A - 用于减少功率消耗的并行的网络应用调度 - Google Patents

用于减少功率消耗的并行的网络应用调度 Download PDF

Info

Publication number
CN105474173A
CN105474173A CN201380079287.5A CN201380079287A CN105474173A CN 105474173 A CN105474173 A CN 105474173A CN 201380079287 A CN201380079287 A CN 201380079287A CN 105474173 A CN105474173 A CN 105474173A
Authority
CN
China
Prior art keywords
network
network request
computing device
mobile computing
constraint
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201380079287.5A
Other languages
English (en)
Other versions
CN105474173B (zh
Inventor
Z.区
R.王
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of CN105474173A publication Critical patent/CN105474173A/zh
Application granted granted Critical
Publication of CN105474173B publication Critical patent/CN105474173B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3209Monitoring remote activity, e.g. over telephone lines or network connections
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0212Power saving arrangements in terminal devices managed by the network, e.g. network or access point is master and terminal is slave
    • H04W52/0216Power saving arrangements in terminal devices managed by the network, e.g. network or access point is master and terminal is slave using a pre-established activity schedule, e.g. traffic indication frame
    • 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/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer Hardware Design (AREA)

Abstract

用于调度网络请求以减少功率消耗的技术,其包括移动计算设备,其被配置成从网络应用接收网络请求,并基于该应用的执行约束确定该网络请求是否是可延迟的。执行约束可以包括所请求的处理资源、可接受的等待时间(latency)、优先级、应用种类以及其它。如果该请求是可延迟的,那么移动计算设备可以延迟该请求直到接收到了阈值数目的可延迟请求,或直到接收到了不可延迟请求。移动计算设备并行地执行被延迟的请求和任何随后接收到的请求。可以由每个网络应用提供执行约束,或者可以由移动计算设备通过观察确定执行约束。描述并要求了其它的实施例。

Description

用于减少功率消耗的并行的网络应用调度
背景技术
诸如智能电话、平板和笔记型计算机的被连接到快速无线网络的便携式计算设备很大地增长了带宽密集型网络应用的使用。大多数便携式设备具有许多可用的网络密集型应用,包括媒体流传输、视频聊天、互动通讯、以及云数据储存应用。然而,便携式计算设备通常具有有限的电池容量。对便携式计算设备的增加的使用,并且尤其是对无线网络无线电的增加的使用增加了便携式设备的功率消耗并且因此减少了可用的电池寿命。
附图说明
以示例的方式而不是以限制的方式在附图中图解本文中描述的观念。为了图解的简单和清楚,在附图中图解的元件不必按比例绘制。在考虑适当的情况下,在附图间重复参考标号以指示对应的或类似的元件。
图1是用于并行的网络应用调度的系统的至少一个实施例的简化框图;
图2是可以由图1的移动计算设备建立的环境的至少一个实施例的简化框图;
图3是用于调度可以由图1和2的系统的移动计算设备执行的网络请求的方法的至少一个实施例的简化流程图;
图4是并行地执行可以由图1和2的移动计算设备执行的网络请求的方法的至少一个实施例的简化流程图;
图5是用于确定可以由图1和2的移动计算设备执行的网络请求是否是可延迟的方法的至少一个实施例的简化流程图;以及
图6是示出由图1和2的移动计算设备可以达到的例证性结果的图表。
具体实施方式
虽然本公开的观念易受各种修改和替换形式,在附图中以示例的方式示出了其中的具体实施例,并将在本文中详细描述它们。然而应理解的是,没有将本公开的观念限制到所公开的特定形式的意图,而是相反地,意图是覆盖与本公开和随附的权利要求一致的所有的修改、等价、和替换。
在说明书中提及“一个实施例”、“实施例”、“说明性实施例”等指示所描述的实施例可以包括特定的特征、结构或特性,但是每个实施例可以或可以不必要地包括该特定特征、结构或特性。另外,这样的短语不必要地涉及相同的实施例。另外,当关于实施例描述特定的特征、结构、或特性时,主张无论是否明确地描述,关于其它实施例实现这样的特征、结构或特性是在本领域技术人员的知识之内的。另外,应领会的是,以“A、B和C中的至少一个”的形式被包括在列表中的项目可以意味着(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或(A,B和C)。类似地,以“A、B或C中的至少一个”的形式列出的项目可以意味着(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或(A,B和C)。
在一些情况中,可以在硬件、固件、软件、或它们的任何结合中实现所公开实施例。所公开的实施例还可以被实现为由一个或多个暂时性或非暂时性机器可读(例如,计算机可读)储存媒体携带的或存储于其上的指令,可以由一个或多个处理器读取并执行所述指令。机器可读储存媒体可以被体现为任何储存设备、机构、或用于存储或传输以由机器可读的形式的信息的其它物理结构(例如,易失性或非易失性存储器、媒体盘、或其它媒体设备)。
在附图中,可能以具体的布置和/或排序示出了一些结构性或方法的特征。然而,应领会的是,这样的具体的布置和/或排序不是需要的。而是在一些实施例中,可以以与在例证性附图中所示的不同的方式和/或顺序布置这样的特征。另外,在特定的附图中包括结构性或方法的特征不打算意味在所有的实施例中这样的特征是需要的,并且在一些实施例中,可以不包括这样的特征或者其可以被与其它特征相结合。
现在参考图1,在例证性实施例中,用于并行的网络应用调度的系统100包括移动计算设备102和一个或多个应用服务器104。移动计算设备102和应用服务器104可以在网络106上与彼此通信。在使用中,如在下面更详细地讨论的那样,移动计算设备102执行多个与应用服务器104通信的网络应用。移动计算设备102从应用接收多个网络请求,并确定是否可以延迟请求而不会不利地影响网络应用或在其中的使用。如果可能的话,移动计算设备102延迟请求直到它们能够与另一可延迟请求或与不可延迟请求并行地被执行。例如,移动计算设备102可以与另一被延迟或未被延迟的应用一起执行(一个或多个)被延迟的应用使得每个网络应用的执行的至少一部分重叠或以其它方式与彼此同时地发生。在一些实施例中,移动计算设备102可以调度并行执行的应用以在相同的时间处或以其它方式与彼此同时地开始,并且可以以平行的或交叉存取(interleave)的方式执行应用(例如,每个并行执行的应用可以以交叉存取的方式访问移动计算设备102的网络接口或其它硬件)。在这样的实施例中,应理解是,网络应用的执行可以在不同的时间处完成。在其它实施例中,可以通过在开始执行另一应用后的某一时间开始执行被延迟的应用来与该其他应用并行地执行被延迟的应用。
例如在一些实施例中,第一网络应用可以发出与应用服务器104a连接的请求。移动计算设备102可以延迟该与应用服务器104a连接的请求直到接收到来自另一应用的连接到应用服务器104b的请求。在该示例中,移动计算设备102并行地为连接到应用服务器104a、104b的请求服务。
当与顺序地或个别地与服务网络请求相比较时,并行的网络应用调度可以减少移动计算设备102的功率消耗。另外,对于许多无线网络106来说,并行执行不会不利地影响每个网络应用的性能。特别地,当应用服务器104节流或以其它方式限制它们的关于可用带宽的带宽使用(其通常针对许多媒体流传输应用)时并行网络执行可以不改变整体性能和用户体验。
移动计算设备102可以被体现为任何类型的能够执行本文中描述的功能的设备,在没有限制的情况下包括智能电话、蜂窝式电话、头戴式耳麦、计算机、平板计算机、膝上型计算机、笔记型计算机、通讯设备、交通工具远程传送设备、网络电器、web电器、分布式计算系统、多处理器系统、基于处理器的系统、和/或消费者电子设备。如在图1中示出的那样,移动计算设备102包括处理器120、输入/输出子系统122、存储器124、数据储存设备126、以及通信电路130。当然,在其它实施例中,移动计算设备102可以包括其它或另外的组件,诸如在智能电话中通常找到的那些(例如,各种输入/输出设备)。另外在一些实施例中,可以将所图解的组件中的一个或多个并入另一组件或以其它方式形成该另一组件的一部分。例如在一些实施例中,可以将存储器124或其部分并入到处理器120中。
处理器120可以被体现为任何类型的能够执行本文中描述的功能的处理器。例如,处理器120可以被体现为(一个或多个)单核或多核处理器、数字信号处理器、微处理器、或其它处理器或处理/控制电路。类似地,存储器124可以被体现为任何类型的能够执行本文中描述的功能的易失性或非易失性存储器或数据储存。在操作中,存储器124可以存储在移动计算设备102的操作期间使用的各种数据和软件,诸如操作系统、应用、程序、库、以及驱动程序。存储器124经由I/O子系统122被通信地耦合到处理器120,I/O子系统122可以被体现为用于促进与处理器120、存储器124、和移动计算设备102的其它组件的输入/输出操作的电路和/或组件。例如,I/O子系统122可以被体现为(或以其它方式包括)存储器控制器集线器、输入/输出控制集线器、固件设备、通信链路(即,点到点链路、总线链路、电线、线缆、光导、印刷电路板迹线等)和/或用于促进输入/输出操作的其它组件和子系统。在一些实施例中,I/O子系统122可以形成片上系统(SoC)的一部分并且可以与处理器120、存储器124和移动计算设备102的其它组件一起被并入在单个集成电路芯片上。
数据储存设备126可以被体现为任何类型的被配置用于短期或长期存储数据的一个或多个设备,诸如例如存储器设备和电路、存储卡、硬盘驱动器、固态驱动器、或其它数据储存设备。数据储存设备126可以存储一个或多个被用于定义在移动计算设备102上安装和/或执行的各种网络应用的网络、处理和其它资源需求的应用执行约束128。如在下面更详细讨论的那样,移动计算设备102可以基于与特定的应用相关联的一个或多个应用执行约束来进行应用的执行是否是可延迟的确定。
移动计算设备102的通信电路130可以被体现为能够使实现在网络106上在移动计算设备102、应用服务器104、和/或其它远程设备之间的通信的任何通信电路、设备、或它们的集合。通信电路130可以被配置成使用任何一个或多个通信技术(例如,无线的或有线的通信)以及用于实现这样的通信的相关联的协议(例如,3G、LTE、蓝牙®、Wi-Fi®、WiMAX等)。例证性的通信电路130使用无线通信与网络106通信,然而,应理解的是,本公开平等地可应用于有线网络连接(例如,以太网)。
在例证性实施例中,移动计算设备102还包括显示器132。移动计算设备102的显示器132可以被体现为任何类型的能够显示数字化信息的显示器,诸如液晶显示器(LCD)、发光二极管、等离子显示器、阴极射线管(CRT)、或其它类型的显示器设备。在一些实施例中,显示器132可以被耦合到触摸屏以允许用户与移动计算设备102交互。
应用服务器104中的每一个都被配置成向移动计算设备102的一个或多个应用提供网络服务。例如,应用服务器104可以提供电话服务(例如,VoIP服务)、视频服务、web服务、电子邮件、云数据服务、或任何其它网络服务。例如,在例证性实施例中,应用服务器104a可以提供web服务,并且应用服务器104b可以提供VoIP服务。每个应用服务器104可以被体现为任何类型的能够执行本文中描述的功能的服务器计算设备、或设备的集合。同样地,每个应用服务器104可以被体现为单个服务器计算设备或服务器与相关设备的集合。例如在一些实施例中,每个应用服务器104可以被体现为由跨网络106分布的多个计算设备形成并在公共或私有云上操作的“虚拟服务器”。因此,虽然在图1中将(一个或多个)应用服务器104图解为被体现为单个服务器计算设备,但是应领会的是,每个应用服务器104可以被体现为共同地协同操作以促进下面描述的功能性的多个设备。另外,每个应用服务器104可以包括类似于移动计算设备102和/或典型的数据服务器的组件和特征,诸如处理器、I/O子系统、存储器、数据储存器、通信电路、以及各种外围设备,为了本描述的清晰在图1中没有图解这些。
如下面更详细讨论的那样,移动计算设备102和(一个或多个)应用服务器104可以被配置成在网络106上与彼此和/或系统100的其它设备发射和接收数据。网络106可以被体现为任何数目的各种有线和/或无线网络。例如,网络106可以被体现为(或以其它方式包括)有线或无线局域网(LAN)、有线或无线广域网(WAN)、蜂窝网络、和/或诸如互联网的公共可访问的全球性网络。同样地,网络106可以包括任何数目的另外的设备,诸如另外的计算机、路由器、和交换机,以促进在系统100的设备间的通信。
现在参考图2,在例证性实施例中,移动计算设备102在操作期间建立环境200。环境200包括多个网络应用202,应用调度器模块206,以及网络通信模块212。环境200还包括应用执行约束214。环境200的各种模块可以被体现为硬件、固件、软件、或它们的结合。
环境200可以每一个都被体现为访问由应用服务器104中的一个或多个提供的服务的任何应用。网络应用202中的每一个都被配置成在访问应用服务器104之前向应用调度器模块206提交网络请求。附加地或替换地,应用调度器模块206可以被配置成“诱捕(trap)”由应用202的网络访问。在一些实施例中,每个网络应用202可以或者在提交网络请求时或者在更早的时间处(诸如在安装应用202期间)向应用调度器模块206提交相关联的应用执行约束204。可以将那些应用执行约束204存储于在环境200中建立的应用执行约束214中,如下面描述的那样。虽然将应用202图解并描述为网络应用,但是应理解的是,本公开可以平等地可应用于任何种类的在移动计算设备102上可执行的应用。
应用调度器模块206被配置成从网络应用202接收网络请求并将每个网络请求调度用于立即或被延迟执行。应用调度器模块206基于与该网络应用202相关联的应用执行约束214来确定是否将网络请求调度用于被延迟执行。如下面描述的那样,网络请求可以基于可接受的等待时间、优先级、应用种类、或应用202的任何其它执行约束而是可延迟的。应用调度器模块206还被配置成将网络请求调度用于并行执行以减少总的功率消耗。为了管理请求调度,应用调度器模块206可以维持被调度用于延迟执行的网络请求的队列,并且可以维持计时器以保证请求在它们允许的参数内被执行。在一些实施例中,可以由子模块执行那些功能,例如由延迟请求队列208或延迟计时器210。
网络通信模块212被配置成执行、或以其它方式促进已经由应用调度器模块206调度用于执行的网络请求。执行网络请求可以包括打开网络连接、发送并接收数据、以及由网络应用202需要的任何其它处理。网络通信模块212可以激活适当的应用202来执行网络请求,可以执行由应用202提供的任务、线程、或进程以执行网络请求,或可以独立地执行网络请求。
应用执行约束214定义资源需求、时间限制和/或由网络应用202需要的用于可接受性能和/或用户体验的其它参数。如下面进一步描述的那样,应用执行约束214可以描述网络应用202的网络资源、处理资源、所需要的计时、或紧急。在一些实施例中,可以由每个网络应用202提供应用执行约束214。例如,每个网络应用202的开发者可以提供当安装应用202时被安装到应用执行约束214中的约束。附加地或替换地,移动计算设备102可以随着时间通过监控在使用中的网络应用202的行为来确定应用执行约束214。可以以任何数据格式存储应用执行约束214,例如作为本地数据库。
现在参考图3,在使用中,移动计算设备102可以执行用于网络应用调度的方法300。方法300开始自块302,其中移动计算设备102监控网络请求。网络请求可以被体现为在任何抽象级别处用于在网络应用202和一个或多个应用服务器104之间发送或接收网络数据的任何请求。网络应用202可以使用标准化应用编程接口(“API”)来提交网络请求。例如,网络请求可以被体现为用于打开到应用服务器104的TCP连接的请求,或被体现为用于从特定的互联网地址下载文件的请求。在块304,移动计算设备102确定是否接收到了网络请求。如果没有接收到请求,那么方法300循环回到块302以继续监控网络请求。如果接收到了网络请求,那么方法300进行至块306。
在块306,移动计算设备102确定针对正进行网络请求的该网络应用202的一个或多个应用执行约束214。在一些实施例中,移动计算设备102可以从先前在移动计算设备102上建立的约束的数据库中检索应用执行约束214。附加地或替换地,在一些实施例中移动计算设备102可以例如通过标准化API直接地从应用202接收应用执行约束214。
在块308,移动计算设备102基于应用执行约束214确定该网络请求是否是可延迟的。换言之,移动计算设备102确定是否可以延迟该请求而不会不利地影响应用202的性能或用户体验。例如,在一些实施例中,针对低优先级应用202、或针对能够容许大量网络等待时间的应用202,网络请求可能是可延迟的。相反地,在一些实施例中,针对高优先级应用202、低等待时间应用202、或针对需要大量处理资源的应用202,网络请求可能不是可延迟的。下面关于图5描述了用于确定请求是否是可延迟的方法的一个实施例。如果网络请求是不可延迟的,那么方法300分支到下面进一步描述的块316。如果网络请求是可延迟的,那么方法300分支到块310。
在块310,移动计算设备102将网络请求调度用于延迟执行。如下面关于图4描述的那样,网络请求的延迟执行可以允许移动计算设备102有机会将网络请求调度用于在稍后的时间处执行以实现经减少的功率消耗。移动计算设备102可以使用任何用于将网络请求调度用于延迟执行的可用技术。例如,移动计算设备102可以引起应用202的进程、任务、或线程以中止、暂停、阻塞、或以其它方式放弃执行。附加地或替换地,应用202可以继续执行,但是可以暂停分离的网络请求任务、进程、或线程。在一些实施例中,在块312,移动计算设备102可以将网络请求添加到被延迟的请求的队列208。因此,通过将多个网络请求存储在延迟请求队列208中,移动计算设备102可以将多于一个网络请求调度用于延迟执行。
在一些实施例中,在块314,移动计算设备102可以基于应用202的应用执行约束214为网络请求设置延迟计时器210。如下面进一步描述的那样,设置延迟计时器210可以允许移动计算设备102保证在期望的时间段内执行网络请求。例如,移动计算设备102可以将延迟计时器210设置成在应用执行约束214中指定的可允许的最大等待时间。继续该示例,例如针对电子邮件更新应用202可以将延迟计时器210设置成10分钟,或者针对备份应用202设置成24小时。在将网络请求调度用于延迟执行之后,方法300循环回到块302以等候更多的网络请求。
参考回到块308,如果网络请求是不可延迟的,那么方法300分支到块316。在块316中,移动计算设备102将网络请求调度用于立即执行。移动计算设备102可以使用任何用于将网络请求调度用于立即执行的可用技术。例如,移动计算设备102可以开始执行用于为网络请求服务的进程、任务、或线程。附加地或替换地,移动计算设备102可以打开所请求的网络连接并将其返回至请求应用202,或向操作系统进程调度器或运行队列(未示出)提交应用202。
在一些实施例中,在块318中,移动计算设备102可以在确定了已经将当前网络请求调度用于立即执行时将其它被延迟的网络请求调度用于立即执行。例如,移动计算设备102可以开始在延迟请求队列208中包括的任何被延迟的网络请求。一旦被开始,先前被延迟的请求与在块316开始的请求并行地运行。因此,任何先前被延迟的网络请求可以与被立即地执行的稍后到达的请求“相连地(piggyback)”执行。在开始任何其它被延迟的请求之前,移动计算设备102可以确定并行执行是否与当前应用202的应用执行约束214兼容。例如,并行执行可能不与需要大量处理资源的当前应用202(例如,如果当前应用202使处理器120饱和)兼容。在将(一个或多个)网络请求调度用于立即执行之后,方法300循环回到块302来监控另外的网络请求。
现在参考图4,在使用中,移动计算设备102可以执行用于并行地执行网络请求的方法400。虽然被图解为分离的方法,但是方法400可以与用于调度网络请求的方法300并行地执行或以其它方式与方法300并置。方法400在块402中开始,其中移动计算设备102识别先前被调度用于延迟执行的所有网络请求。在一些实施例中,在块404中,移动计算设备102可以列举在延迟请求队列208中包括的所有被延迟的网络请求。如在上面关于图3描述的那样,由移动计算设备102在从网络应用202接收到网络请求之后可以将它们添加到了延迟请求队列208。
在块406中,移动计算设备102确定被延迟的网络请求数目是否超过了请求的阈值数目。在一些实施例中,阈值数目的请求可以简单地为一个请求;即,移动计算设备102可以确定当前是否有多于一个网络请求被调度用于延迟执行。当然在其它实施例中,请求的阈值数目可以是更高,诸如两个请求或三个请求。如果请求数目超过阈值,那么方法400分支前进到如下面描述的块412。如果请求数目没有超过阈值,那么方法400前进到块408。
在块408中,移动计算设备102确定延迟计时器210是否针对任何网络请求消逝(elapse)了。换言之,移动计算设备102可以确定是否针对被延迟的网络请求中的任何请求超过了(或将要超过)可接受的等待时间。移动计算设备102可以使用任何用于确定延迟计时器210是否消逝的技术。例如,移动计算设备102可以迭代通过延迟请求队列208的被延迟的网络请求的所有以确定延迟计时器210是否消逝了。附加地或替换地,移动计算设备102可以例如通过捕获由延迟计时器210激发的事件来确定延迟计时器210是否非同步地消逝了(未示出)。
在块410中,移动计算设备102确定如果延迟计时器210消逝了是否分支。如果计时器没有消逝,那么方法400循环回到块402以继续识别被延迟的网络请求。因此,在该情况中,被延迟的网络请求可以保留在延迟请求队列208中直到接收了足够的被延迟的网络请求,或直到超过了任何网络请求的最大等待时间。如果延迟计时器210消逝了,那么方法400进行至块412。
在块412,移动计算设备102将被延迟的网络请求调度用于立即、并行执行。移动计算设备102可以执行在延迟请求队列208中包括的每个网络请求,并且可以当完成时清空队列。移动计算设备102可以使用任何用于将网络请求调度用于立即执行的可用技术。例如,移动计算设备102可以开始执行用于为每个网络请求服务的进程、任务、或线程。在一些实施例中,移动计算设备102可以打开所请求的网络连接并将其返回至每个正在请求的应用202,或向操作系统进程调度器或运行队列(未示出)提交每个应用202。网络请求中的所有都被调度用于并行地执行。在调度网络请求之后,方法400循环回到块402以继续识别被延迟的网络请求。
现在参考图5,在使用中,移动计算设备102可以执行用于确定网络请求是否是可延迟的方法500。方法500可以例如作为如上面关于图3描述的块308的一部分来执行。方法500在块502开始,其中移动计算设备102确定与当前应用202相关联的应用执行约束214的资源执行约束。资源执行约束定义应用202完成网络请求所需要的移动计算设备102的资源。例如,资源执行约束可以描述所需要的存储器、数据储存、或处理器资源。在一些实施例中,在块504,移动计算设备102确定针对应用202的处理资源约束。处理资源约束可以描述多个处理器、处理器内核、处理器周期、或应用202所需要的移动计算设备102的其它处理资源。例如,资源执行约束可以描述应用202预期其将需要的可用处理资源的百分比。在一些实施例中,资源执行约束可以简单地将应用202识别为具有“高”或“低”处理需求。
在块506,移动计算设备102确定应用202是否是资源密集的。换言之,移动计算设备102确定资源执行约束是否超过了阈值资源需求。例如,移动计算设备102可以确定应用202将是否使用所有可用的处理器周期,或应用202是否被标记为具有“高”处理需求。如果应用202是资源密集的,那么方法500分支到块508,其中方法500返回应用202是不可延迟的。如上面关于图3描述的那样,如果应用202是不可延迟的,那么网络请求可以被调度用于立即执行。参考回到块506,如果应用202不是资源密集的,那么方法500进行至块510。
在块510中,移动计算设备102确定与当前的应用202相关联的应用执行约束214的紧急执行约束。紧急约束定义应用202对时间延迟的容许量。在一些实施例中,在块512中移动计算设备102获取等待时间约束。等待时间约束描述针对当前应用202的可允许的网络等待时间,并且其可以按照消逝时间被测量。例如,每日备份应用202可能具有若干小时的允许等待时间,电子邮件应用202可能具有若干分钟的允许等待时间,并且实时电话应用202可能不具有允许等待时间。在一些实施例中,在块514中,移动计算设备102可以获取优先级约束。优先级约束描述应用202的相对重要性。例如,系统应用202或用户发起的交互式应用202可能具有高的优先级,而背景应用202可能具有低的优先级。在一些实施例中,在块516中,移动计算设备102可以获取针对应用202的应用种类。应用种类可以描述应用202的一般的网络使用模式;例如,应用种类可以包括实时通信应用、交互式应用、或背景应用。可以针对每个应用202预确定应用种类,或者可以由移动计算设备102基于对使用中的应用202的观察分配应用种类。
在块518,移动计算设备102确定当前网络请求是否是紧急的。移动计算设备102可以确定先前确定的紧急执行约束是否超过了阈值紧急级别。移动计算设备102可以使用可能的紧急测量中的任何。例如,如果允许的等待时间低于阈值等待时间那么移动计算设备102可以确定请求是紧急的。在一些实施例中,如果请求不需要可允许的等待时间那么它可以是紧急的。作为另一示例,如果优先级级别超过了阈值优先级级别那么移动计算设备102可以确定该请求是紧急的。作为第三示例,如果应用种类属于预定义的紧急应用种类集合(诸如实时通信应用或交互式应用),那么移动计算设备102可以确定该请求是紧急的。附加地,移动计算设备102可以基于由用户提供的输入或指示(例如,应用应具有高的优先级访问的指示)来确定该请求是紧急的。如果该请求是紧急的,那么方法500分支到块508以返回不可延迟,如上面描述的那样。如果该请求不是紧急的,那么方法500分支到块520,其中方法500返回应用202是可延迟的。如上面关于图3描述的那样,如果应用202是可延迟的,那么网络请求可以被调度用于延迟执行。
现在参考图6,图表600示出了根据本公开的移动计算设备可以达到的例证性结果。应领会的是,在图表600中呈现的结果仅是例证性的并且在其它实施例中可以产生其它结果。图表600图解当分离地和并行地执行不同的应用工作负荷时所测量的移动计算设备的功率消耗。在该例证性表示中,应用602是VoIP应用(即,不能够被调度用于延迟执行的应用)。当被分离地执行时,应用602消耗例如1108mW的功率。例证性应用604是来自web服务器的文件下载,并且当被分离地执行时其消耗例如1033mW功率。例证性应用606是到web服务器的文件上载,并且当被分离地执行时其消耗例如1460mW的功率。被并行地执行的应用602、604例证性地消耗1324mW的功率,相比于分离执行在功率消耗方面有38%的改进。当被并行地执行时,应用602、606例证性地消耗1555mW的功率,相比于分离执行在功率消耗方面有39%的改进。并且,当被并行地执行时,应用602、604、606例证性地消耗1643mW的功率,相比于分离执行在功率消耗方面有54%的改进。
虽然本公开主要按照网络应用202描述,但是应理解的是,对其它类型的应用来说相同的调度技术可以减少功率消耗。类似地,虽然本公开主要按照在无线网络106上通信的移动计算设备102描述,但是应理解的是,对固定的或主要固定的计算机(诸如台式机和服务器)以及对在有线网络上的通信来说相同的调度技术可以减少功率消耗。
示例
下面提供在本文中公开的技术的例证性示例。技术的实施例可以包括下面描述的示例中的任何一个或多个、以及其任何结合。
示例1包括一种用于调度应用的移动计算设备,所述移动计算设备包括应用调度器模块,用于:从所述移动计算设备的第一网络应用接收第一网络请求;确定针对所述第一网络应用的一个或多个第一执行约束;基于所述一个或多个第一执行约束确定所述第一网络请求是否是可延迟的;响应于所述第一网络请求是可延迟的确定将所述第一网络请求调度用于延迟执行;从所述移动计算设备的第二网络应用接收第二网络请求;以及响应于所述第二网络请求的接收将所述第一网络请求和所述第二网络请求调度用于并行执行。
示例2包括示例1的主题,并且其中用于确定所述一个或多个第一执行约束包括用于基于所述一个或多个第一执行约束确定所述第一网络应用的紧急级别;并且用于确定所述第一网络请求是否是可延迟的包括用于确定所述紧急级别是否小于阈值紧急级别。
示例3包括示例1和2中的任何的主题,并且其中所述紧急级别包括所述第一网络应用的优先级,并且所述阈值紧急级别包括阈值优先级。
示例4包括示例1-3中的任何的主题,并且其中所述紧急级别包括所述第一网络应用的应用种类;并且用于确定所述紧急级别是否小于所述阈值紧急级别包括用于确定所述应用种类是否属于预定义的紧急应用种类集合。
示例5包括示例1-4中的任何的主题,并且其中所述紧急级别包括所述第一网络应用的可接受的等待时间;并且用于确定所述紧急级别是否小于所述阈值紧急级别包括用于确定所述可接受的等待时间是否超过阈值等待时间。
示例6包括示例1-5中的任何的主题,并且其中用于将所述第一网络请求调度用于延迟执行包括用于基于所述第一网络应用的所述可接受的等待时间来设置延迟计时器;其中所述应用调度器模块还用于确定所述延迟计时器是否消逝了;并且其中用于执行所述第一网络请求和所述第二网络请求包括用于响应于所述延迟计时器消逝了的确定并行地执行所述第一网络请求和所述第二网络请求。
示例7包括示例1-6中的任何的主题,并且其中用于确定所述一个或多个第一执行约束包括用于基于所述一个或多个第一执行约束确定所述第一网络应用的资源需求;并且用于确定所述第一网络请求是否是可延迟的包括用于确定所述资源需求是否小于阈值资源需求。
示例8包括示例1-7中的任何的主题,并且其中所述资源需求包括所述第一网络应用的处理器需求,并且所述阈值资源需求包括阈值处理器需求。
示例9包括示例1-8中的任何的主题,并且其中所述应用调度器模块还用于:确定针对所述第二网络应用的一个或多个第二执行约束;基于所述一个或多个第二执行约束确定所述第二网络请求是否是可延迟的;响应于所述第二网络请求是可延迟的确定将所述第二网络请求调度用于延迟执行;以及响应于调度所述第二网络请求确定是否有多于阈值数目的网络请求被调度用于延迟执行;其中用于执行所述第一网络请求和所述第二网络请求包括用于响应于多于阈值数目的网络请求被调度用于延迟执行的确定而执行所述第一网络请求和所述第二网络请求。
示例10包括示例1-9中的任何的主题,并且其中所述应用调度器模块还用于:确定针对所述第二网络应用的一个或多个第二执行约束;基于所述一个或多个第二执行约束确定所述第二网络请求是否是可延迟的;以及响应于所述第二网络请求是不可延迟的确定将所述第二网络请求调度用于立即执行;其中用于执行所述第一网络请求和所述第二网络请求包括用于响应于将所述第二网络请求调度用于立即执行而并行地执行所述第一网络请求和所述第二网络请求。
示例11包括示例1-10中的任何的主题,并且其中用于确定所述一个或多个第二执行约束包括用于基于所述一个或多个第二执行约束确定所述第二网络应用的紧急级别;并且用于确定所述第二网络请求是否是可延迟的包括用于确定所述紧急级别是否小于阈值紧急级别。
示例12包括示例1-11中的任何的主题,并且其中所述紧急级别包括所述第二网络应用的优先级,并且所述阈值紧急级别包括阈值优先级。
示例13包括示例1-12中的任何的主题,并且其中所述紧急级别包括所述第二网络应用的应用种类;并且用于确定所述紧急级别是否小于所述阈值紧急级别包括用于确定所述应用种类是否属于预定义的紧急应用种类集合。
示例14包括示例1-13中的任何的主题,并且其中所述紧急级别包括所述第二网络应用的可接受的等待时间;并且用于确定所述紧急级别是否小于所述阈值紧急级别包括用于确定所述可接受的等待时间是否超过阈值等待时间。
示例15包括示例1-14中的任何的主题,并且其中用于确定所述一个或多个第二执行约束包括用于基于所述一个或多个第二执行约束确定所述第二网络应用的资源需求;并且用于确定所述第二网络请求是否是可延迟的包括用于确定所述资源需求是否小于阈值资源需求。
示例16包括示例1-15中的任何的主题,并且其中所述资源需求包括所述第二网络应用的处理器需求,并且所述阈值资源需求包括阈值处理器需求。
示例17包括示例1-16中的任何的主题,并且其中用于确定所述一个或多个第一执行约束包括用于从所述移动计算设备的执行约束数据库中确定所述一个或多个第一执行约束。
示例18包括示例1-17中的任何的主题,并且其中在接收所述第一网络请求之前由所述第一网络应用向所述执行约束数据库提供所述第一执行约束。
示例19包括一种用于调度应用的方法,所述方法包括由移动计算设备从所述移动计算设备的第一网络应用接收第一网络请求;由所述移动计算设备确定针对所述第一网络应用的一个或多个第一执行约束;由所述移动计算设备基于所述一个或多个第一执行约束确定所述第一网络请求是否是可延迟的;由所述移动计算设备响应于确定所述第一网络请求是可延迟的而将所述第一网络请求调度用于延迟执行;由所述移动计算设备从所述移动计算设备的第二网络应用接收第二网络请求;以及由所述移动计算设备响应于接收所述第二网络请求并行地执行所述第一网络请求和所述第二网络请求。
示例20包括示例19的主题,并且其中确定所述一个或多个第一执行约束包括基于所述一个或多个第一执行约束确定所述第一网络应用的紧急级别;并且确定所述第一网络请求是否是可延迟的包括确定所述紧急级别是否小于阈值紧急级别。
示例21包括示例19和20中的任何的主题,并且其中确定所述紧急级别包括基于所述一个或多个第一执行约束确定所述第一网络应用的优先级;并且确定所述紧急级别是否小于所述阈值紧急级别包括确定所述优先级是否小于阈值优先级。
示例22包括示例19-21中的任何的主题,并且其中确定所述紧急级别包括基于所述一个或多个第一执行约束确定所述第一网络应用的应用种类;并且确定所述紧急级别是否小于所述阈值紧急级别包括确定所述应用种类是否属于预定义的紧急应用种类集合。
示例23包括示例19-22中的任何的主题,并且其中确定所述紧急级别包括基于所述一个或多个第一执行约束确定所述第一网络应用的可接受的等待时间;并且确定所述紧急级别是否小于所述阈值紧急级别包括确定所述可接受的等待时间是否超过阈值等待时间。
示例24包括示例19-23中的任何的主题,并且其中将所述第一网络请求调度用于延迟执行包括基于所述第一网络应用的所述可接受的等待时间来设置延迟计时器;其中所述方法还包括由所述移动计算设备确定所述延迟计时器是否消逝了;并且执行所述第一网络请求和所述第二网络请求包括响应于确定所述延迟计时器消逝了并行地执行所述第一网络请求和所述第二网络请求。
示例25包括示例19-24中的任何的主题,并且其中确定所述一个或多个第一执行约束包括基于所述一个或多个第一执行约束确定所述第一网络应用的资源需求;并且确定所述第一网络请求是否是可延迟的包括确定所述资源需求是否小于阈值资源需求。
示例26包括示例19-25中的任何的主题,并且其中确定所述资源需求包括基于所述一个或多个第一执行约束确定所述第一网络应用的处理器需求;并且确定所述资源需求是否小于所述阈值资源需求包括确定所述处理器需求是否小于阈值处理器需求。
示例27包括示例19-26中的任何的主题,并且还包括由所述移动计算设备确定针对所述第二网络应用的一个或多个第二执行约束;由所述移动计算设备基于所述一个或多个第二执行约束确定所述第二网络请求是否是可延迟的;由所述移动计算设备响应于确定所述第二网络请求是可延迟的将所述第二网络请求调度用于延迟执行;以及由所述移动计算设备响应于调度所述第二网络请求确定是否有多于阈值数目的网络请求被调度用于延迟执行;其中执行所述第一网络请求和所述第二网络请求包括响应于确定多于阈值数目的网络请求被调度用于延迟执行而执行所述第一网络请求和所述第二网络请求。
示例28包括示例19-27中的任何的主题,并且还包括由所述移动计算设备确定针对所述第二网络应用的一个或多个第二执行约束;由所述移动计算设备基于所述一个或多个第二执行约束确定所述第二网络请求是否是可延迟的;以及由所述移动计算设备响应于确定所述第二网络请求是不可延迟将所述第二网络请求调度用于立即执行;其中执行所述第一网络请求和所述第二网络请求包括响应于将所述第二网络请求调度用于立即执行而并行地执行所述第一网络请求和所述第二网络请求。
示例29包括示例19-28中的任何的主题,并且其中确定所述一个或多个第二执行约束包括基于所述一个或多个第二执行约束来确定所述第二网络应用的紧急级别;并且确定所述第二网络请求是否是可延迟的包括确定所述紧急级别是否小于阈值紧急级别。
示例30包括示例19-29中的任何的主题,并且其中确定所述紧急级别包括基于所述一个或多个第二执行约束确定所述第二网络应用的优先级;并且确定所述紧急级别是否小于所述阈值紧急级别包括确定所述优先级是否小于阈值优先级。
示例31包括示例19-30中的任何的主题,并且其中确定所述紧急级别包括基于所述一个或多个第二执行约束确定所述第二网络应用的应用种类;并且确定所述紧急级别是否小于所述阈值紧急级别包括确定所述应用种类是否属于预定义的紧急应用种类集合。
示例32包括示例19-31中的任何的主题,并且其中确定所述紧急级别包括基于所述一个或多个第二执行约束确定所述第二网络应用的可接受的等待时间;并且确定所述紧急级别是否小于所述阈值紧急级别包括确定所述可接受的等待时间是否超过阈值等待时间。
示例33包括示例19-32中的任何的主题,并且其中确定所述一个或多个第二执行约束包括基于所述一个或多个第二执行约束确定所述第二网络应用的资源需求;并且确定所述第二网络请求是否是可延迟的包括确定所述资源需求是否小于阈值资源需求。
示例34包括示例19-33中的任何的主题,并且其中确定所述资源需求包括基于所述一个或多个第二执行约束确定所述第二网络应用的处理器需求;并且确定所述资源需求是否小于所述阈值资源需求包括确定所述处理器需求是否小于阈值处理器需求。
示例35包括示例19-34中的任何的主题,并且其中确定所述一个或多个第一执行约束包括从所述移动计算设备的执行约束数据库中确定所述一个或多个第一执行约束。
示例36包括示例19-35中的任何的主题,并且其中在接收所述第一网络请求之前由所述第一网络应用向所述执行约束数据库提供所述第一执行约束。
示例37包括一种计算设备,其包括处理器;以及具有存储在其中的多个指令的存储器,当由所述处理器执行所述指令时引起所述计算设备执行示例19-36中的任何的方法。
示例38包括一种或多种机器可读储存媒体,其包括存储于其上的多个指令,响应于执行所述多个指令导致计算设备执行权利要求19-36中的任何的方法。
示例39包括一种计算设备,其包括用于执行示例19-36中的任何的方法的装置。

Claims (25)

1.一种用于调度应用的移动计算设备,所述移动计算设备包括:
应用调度器模块,用于:
从所述移动计算设备的第一网络应用接收第一网络请求;
确定针对所述第一网络应用的一个或多个第一执行约束;
基于所述一个或多个第一执行约束确定所述第一网络请求是否是可延迟的;
响应于所述第一网络请求是可延迟的确定将所述第一网络请求调度成延迟执行;
从所述移动计算设备的第二网络应用接收第二网络请求;以及
响应于所述第二网络请求的接收将所述第一网络请求和所述第二网络请求调度成并行执行。
2.如权利要求1的移动计算设备,其中:
用于确定所述一个或多个第一执行约束包括用于基于所述一个或多个第一执行约束确定所述第一网络应用的紧急级别;并且
用于确定所述第一网络请求是否是可延迟的包括用于确定所述紧急级别是否小于阈值紧急级别。
3.如权利要求2的移动计算设备,其中所述紧急级别包括所述第一网络应用的优先级,并且所述阈值紧急级别包括阈值优先级。
4.如权利要求2的移动计算设备,其中:
所述紧急级别包括所述第一网络应用的应用种类;并且
用于确定所述紧急级别是否小于所述阈值紧急级别包括用于确定所述应用种类是否属于预定义的紧急应用种类集合。
5.如权利要求2的移动计算设备,其中:
所述紧急级别包括所述第一网络应用的可接受的等待时间;并且
用于确定所述紧急级别是否小于所述阈值紧急级别包括用于确定所述可接受的等待时间是否超过阈值等待时间。
6.如权利要求1的移动计算设备,其中:
用于确定所述一个或多个第一执行约束包括用于基于所述一个或多个第一执行约束确定所述第一网络应用的资源需求;并且
用于确定所述第一网络请求是否是可延迟的包括用于确定所述资源需求是否小于阈值资源需求。
7.如权利要求6的移动计算设备,其中所述资源需求包括所述第一网络应用的处理器需求,并且所述阈值资源需求包括阈值处理器需求。
8.如权利要求1-7中的任何的移动计算设备,其中所述应用调度器模块还用于:
确定针对所述第二网络应用的一个或多个第二执行约束;
基于所述一个或多个第二执行约束确定所述第二网络请求是否是可延迟的;
响应于所述第二网络请求是可延迟的确定将所述第二网络请求调度成延迟执行;以及
响应于调度所述第二网络请求确定是否有多于阈值数目的网络请求被调度成了延迟执行;
其中用于执行所述第一网络请求和所述第二网络请求包括用于响应于多于阈值数目的网络请求被调度成了延迟执行的确定而执行所述第一网络请求和所述第二网络请求。
9.如权利要求1-7中的任何的移动计算设备,其中所述应用调度器模块还用于:
确定针对所述第二网络应用的一个或多个第二执行约束;
基于所述一个或多个第二执行约束确定所述第二网络请求是否是可延迟的;以及
响应于所述第二网络请求是不可延迟的确定将所述第二网络请求调度成立即执行;
其中用于执行所述第一网络请求和所述第二网络请求包括用于响应于将所述第二网络请求调度成立即执行而并行地执行所述第一网络请求和所述第二网络请求。
10.如权利要求9的移动计算设备,其中:
用于确定所述一个或多个第二执行约束包括用于基于所述一个或多个第二执行约束确定所述第二网络应用的紧急级别;并且
用于确定所述第二网络请求是否是可延迟的包括用于确定所述紧急级别是否小于阈值紧急级别。
11.如权利要求9的移动计算设备,其中:
用于确定所述一个或多个第二执行约束包括用于基于所述一个或多个第二执行约束确定所述第二网络应用的资源需求;并且
用于确定所述第二网络请求是否是可延迟的包括用于确定所述资源需求是否小于阈值资源需求。
12.如权利要求11的移动计算设备,其中所述资源需求包括所述第二网络应用的处理器需求,并且所述阈值资源需求包括阈值处理器需求。
13.如权利要求1-7中的任何的移动计算设备,其中用于确定所述一个或多个第一执行约束包括用于从所述移动计算设备的执行约束数据库中确定所述一个或多个第一执行约束。
14.如权利要求13的移动计算设备,其中在接收所述第一网络请求之前由所述第一网络应用向所述执行约束数据库提供所述第一执行约束。
15.一种用于调度应用的方法,所述方法包括:
由移动计算设备从所述移动计算设备的第一网络应用接收第一网络请求;
由所述移动计算设备确定针对所述第一网络应用的一个或多个第一执行约束;
由所述移动计算设备基于所述一个或多个第一执行约束确定所述第一网络请求是否是可延迟的;
由所述移动计算设备响应于确定所述第一网络请求是可延迟的而将所述第一网络请求调度成延迟执行;
由所述移动计算设备从所述移动计算设备的第二网络应用接收第二网络请求;以及
由所述移动计算设备响应于接收所述第二网络请求并行地执行所述第一网络请求和所述第二网络请求。
16.如权利要求15的方法,其中:
确定所述一个或多个第一执行约束包括基于所述一个或多个第一执行约束来确定所述第一网络应用的紧急级别;并且
确定所述第一网络请求是否是可延迟的包括确定所述紧急级别是否小于阈值紧急级别。
17.如权利要求16的方法,其中:
确定所述紧急级别包括基于所述一个或多个第一执行约束确定所述第一网络应用的可接受的等待时间;并且
确定所述紧急级别是否小于所述阈值紧急级别包括确定所述可接受的等待时间是否超过阈值等待时间。
18.如权利要求15的方法,其中:
确定所述一个或多个第一执行约束包括基于所述一个或多个第一执行约束确定所述第一网络应用的资源需求;并且
确定所述第一网络请求是否是可延迟的包括确定所述资源需求是否小于阈值资源需求。
19.如权利要求15的方法,还包括:
由所述移动计算设备确定针对所述第二网络应用的一个或多个第二执行约束;
由所述移动计算设备基于所述一个或多个第二执行约束确定所述第二网络请求是否是可延迟的;
由所述移动计算设备响应于确定所述第二网络请求是可延迟的将所述第二网络请求调度成延迟执行;以及
由所述移动计算设备响应于调度所述第二网络请求确定是否有多于阈值数目的网络请求被调度成了延迟执行;
其中执行所述第一网络请求和所述第二网络请求包括响应于确定多于阈值数目的网络请求被调度成了延迟执行而执行所述第一网络请求和所述第二网络请求。
20.如权利要求15的方法,还包括:
由所述移动计算设备确定针对所述第二网络应用的一个或多个第二执行约束;
由所述移动计算设备基于所述一个或多个第二执行约束确定所述第二网络请求是否是可延迟的;以及
由所述移动计算设备响应于确定所述第二网络请求是不可延迟将所述第二网络请求调度成立即执行;
其中执行所述第一网络请求和所述第二网络请求包括响应于将所述第二网络请求调度成立即执行而并行地执行所述第一网络请求和所述第二网络请求。
21.如权利要求20的方法,其中:
确定所述一个或多个第二执行约束包括基于所述一个或多个第二执行约束来确定所述第二网络应用的紧急级别;并且
确定所述第二网络请求是否是可延迟的包括确定所述紧急级别是否小于阈值紧急级别。
22.如权利要求20的方法,其中:
确定所述一个或多个第二执行约束包括基于所述一个或多个第二执行约束确定所述第二网络应用的资源需求;并且
确定所述第二网络请求是否是可延迟的包括确定所述资源需求是否小于阈值资源需求。
23.一种计算设备,包括:
处理器;以及
具有存储在其中的多个指令的存储器,当由所述处理器执行所述指令时引起所述计算设备执行权利要求15-22中的任何的方法。
24.一种或多种机器可读储存媒体,其包括存储于其上的多个指令,响应于执行所述多个指令导致计算设备执行权利要求15-22中的任何的方法。
25.一种计算设备,其包括用于执行权利要求15-22中的任何的方法的装置。
CN201380079287.5A 2013-10-01 2013-10-01 用于减少功率消耗的并行的网络应用调度 Active CN105474173B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/062805 WO2015050525A1 (en) 2013-10-01 2013-10-01 Concurrent network application scheduling for reduced power consumption

Publications (2)

Publication Number Publication Date
CN105474173A true CN105474173A (zh) 2016-04-06
CN105474173B CN105474173B (zh) 2019-08-06

Family

ID=52778989

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380079287.5A Active CN105474173B (zh) 2013-10-01 2013-10-01 用于减少功率消耗的并行的网络应用调度

Country Status (7)

Country Link
US (1) US10042414B2 (zh)
EP (1) EP3053033A4 (zh)
JP (1) JP6189545B2 (zh)
KR (1) KR101890046B1 (zh)
CN (1) CN105474173B (zh)
TW (1) TWI539273B (zh)
WO (1) WO2015050525A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108540575A (zh) * 2018-04-27 2018-09-14 北京奇艺世纪科技有限公司 一种网络请求调度方法及装置
CN110115040A (zh) * 2016-10-21 2019-08-09 阿弗梅德网络公司 自适应内容优化

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10631302B2 (en) * 2017-06-27 2020-04-21 At&T Intellectual Property I, L.P. Limiting data transmission under lossy wireless conditions of an internet of things wireless device to facilitate a reduction of wireless retransmissions of the data
TWI776287B (zh) * 2020-11-24 2022-09-01 威聯通科技股份有限公司 雲端檔案存取裝置及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070286222A1 (en) * 2006-06-08 2007-12-13 Srinivasan Balasubramanian Achieving power savings through packet grouping
US20110047552A1 (en) * 2009-05-11 2011-02-24 Raytheon Bbn Technologies Corp. Energy-aware process environment scheduler
US20120124196A1 (en) * 2010-11-16 2012-05-17 At&T Mobility Ii Llc Data bundling and fast dormancy based upon intelligent application learning
US20120185577A1 (en) * 2011-01-19 2012-07-19 Qualcomm Incorporated Management of network access requests

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7095754B2 (en) * 2000-11-03 2006-08-22 At&T Corp. Tiered contention multiple access (TCMA): a method for priority-based shared channel access
US7653906B2 (en) 2002-10-23 2010-01-26 Intel Corporation Apparatus and method for reducing power consumption on simultaneous multi-threading systems
WO2006062270A1 (en) * 2004-12-08 2006-06-15 Electronics And Telecommunications Research Institute Power management method for platform and that platform
US20070028228A1 (en) * 2005-07-28 2007-02-01 International Business Machines Corporation Software upgrades with user advisement
US7652990B2 (en) * 2005-11-29 2010-01-26 Alcatel-Lucent Usa Inc. Method and apparatus for providing quality of service level in broadband communications systems
JP4859111B2 (ja) * 2006-04-21 2012-01-25 Kddi株式会社 バッテリの駆動時間を延長させる無線通信装置、プログラム及び通信トラヒック制御方法
EP2181532B1 (en) * 2007-08-21 2016-04-06 Optis Cellular Technology, LLC Scheduling in wireless networks
US9027027B2 (en) * 2008-06-09 2015-05-05 Microsoft Technology Licensing, Llc Thread management based on device power state
US8190088B1 (en) * 2008-08-07 2012-05-29 Bee Networx Inc. Optimally controlling short-range wireless communication on mobile communication devices
US8291422B2 (en) * 2009-05-11 2012-10-16 Bbn Technologies Corp. Energy-aware computing environment scheduler
US8255716B2 (en) * 2009-08-27 2012-08-28 Qualcomm Incorporated Power optimization for data services
CN102378309B (zh) * 2010-08-12 2014-04-30 华为技术有限公司 一种接入网络的方法和系统
CA2716646C (en) * 2010-10-14 2020-04-07 Ibm Canada Limited - Ibm Canada Limitee Coordinated approach between middleware application and sub-systems
US8831658B2 (en) * 2010-11-05 2014-09-09 Qualcomm Incorporated Controlling application access to a network
US8966493B1 (en) * 2010-11-09 2015-02-24 Teradata Us, Inc. Managing execution of multiple requests in a job using overall deadline for the job
US9374787B2 (en) * 2011-02-10 2016-06-21 Alcatel Lucent Method and apparatus of smart power management for mobile communication terminals using power thresholds
JP5887846B2 (ja) * 2011-11-10 2016-03-16 日本電気株式会社 電力制御システムおよび電力制御方法
US20140293848A1 (en) * 2013-03-28 2014-10-02 Alcatel-Lucent Usa Inc. Communication device data channel access

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070286222A1 (en) * 2006-06-08 2007-12-13 Srinivasan Balasubramanian Achieving power savings through packet grouping
US20110047552A1 (en) * 2009-05-11 2011-02-24 Raytheon Bbn Technologies Corp. Energy-aware process environment scheduler
US20120124196A1 (en) * 2010-11-16 2012-05-17 At&T Mobility Ii Llc Data bundling and fast dormancy based upon intelligent application learning
US20120185577A1 (en) * 2011-01-19 2012-07-19 Qualcomm Incorporated Management of network access requests

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110115040A (zh) * 2016-10-21 2019-08-09 阿弗梅德网络公司 自适应内容优化
CN110115040B (zh) * 2016-10-21 2020-08-21 阿弗梅德网络公司 自适应内容优化
CN108540575A (zh) * 2018-04-27 2018-09-14 北京奇艺世纪科技有限公司 一种网络请求调度方法及装置
CN108540575B (zh) * 2018-04-27 2021-07-20 北京奇艺世纪科技有限公司 一种网络请求调度方法及装置

Also Published As

Publication number Publication date
KR101890046B1 (ko) 2018-08-20
JP2016528648A (ja) 2016-09-15
EP3053033A4 (en) 2017-06-21
WO2015050525A1 (en) 2015-04-09
TWI539273B (zh) 2016-06-21
US10042414B2 (en) 2018-08-07
KR20160040260A (ko) 2016-04-12
CN105474173B (zh) 2019-08-06
US20160252945A1 (en) 2016-09-01
EP3053033A1 (en) 2016-08-10
TW201516650A (zh) 2015-05-01
JP6189545B2 (ja) 2017-08-30

Similar Documents

Publication Publication Date Title
CN111950988B (zh) 分布式工作流调度方法、装置、存储介质及电子设备
RU2697700C2 (ru) Равноправное разделение системных ресурсов в исполнении рабочего процесса
CN105474173A (zh) 用于减少功率消耗的并行的网络应用调度
CN109766172B (zh) 一种异步任务调度方法以及装置
CN105786600A (zh) 任务调度方法和装置
CN103150213A (zh) 负载平衡方法和装置
CN115454589A (zh) 一种任务调度方法、装置及Kubernetes调度器
WO2023174037A1 (zh) 资源调度方法、装置、系统、设备、介质和程序产品
CN112052133A (zh) 一种基于Kubernetes的业务系统监控方法和装置
CN102420709A (zh) 一种基于任务框架的调度任务管理方法和设备
CN113032125A (zh) 作业调度方法、装置、计算机系统和计算机可读存储介质
CN115439250A (zh) 一种交易请求的处理方法及装置、存储介质、电子装置
CN111052083B (zh) 用于在启动期间管理服务的调度的方法和装置
US9055086B2 (en) System and method for managing data transfer from a data center including bandwidth limits and a flex parameter indicating bandwidth variation between data transfer periods
CN111736961B (zh) 虚拟机的释放方法及装置、存储介质及电子设备
CN117873666A (zh) 任务调度方法、芯片、电子设备及可读存储介质
CN110912949A (zh) 位点提交方法和装置
CN113204425A (zh) 供进程管理内部线程的方法、装置、电子设备及存储介质
CN110515719A (zh) 一种任务调度方法及相关装置
CN116010065A (zh) 分布式任务调度方法、装置以及设备
CN107276853B (zh) 流量处理方法及电子设备、计算机系统
CN115129438A (zh) 任务分布式调度的方法和装置
CN111258728A (zh) 任务的执行方法及装置、存储介质和电子装置
CN116670647A (zh) 一种任务调度方法及装置
CN103647837A (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
GR01 Patent grant
GR01 Patent grant