集中式任务调度的制作方法

文档序号:9438884阅读:443来源:国知局
集中式任务调度的制作方法
【专利说明】
[0001] 相关专利申请
[0002] 申请人要求于2013年2月15日提交的先前的共同未决的临时专利申请序列号 No. 61/765, 628的优先权,该专利申请全文以引用方式并入。
技术领域
[0003] 本发明通常涉及进程管理,并且更具体地涉及基于系统状况来调度任务。
【背景技术】
[0004] 后台任务为在后台中运行并且没有用户干预的设备的进程。这些后台任务可用于 进程,该进程执行不需要用户干预的动作。例如,后台任务可用于登录、系统监测、设备维 护、软件升级、媒体和/或应用下载、或不需要用户干预的其他动作。
[0005] 因为后台任务不需要用户干预,所以设备可根据需要运行该任务或者可进行调度 以在某将来时间执行该后台任务。在以后执行该任务的一种方法是调度该任务以在以后的 预定固定时间点执行该任务。这可用于将被执行一次的后台任务或者以固定时间调度以周 期性地执行的再现任务。
[0006] 后台任务执行的固定调度的问题在于设备工作状况可能不适合后台任务动作。例 如,从服务器周期性地检查下载可用性的后台任务将需要与该服务器的网络连接性,以便 后台任务成功运行。通过调度该任务以在固定时间点运行,在设备运行后台任务时不知道 后台任务是否具有适合的系统状况。此外,后台任务在不适合的时间运行可使得其他运行 进程以及与设备的用户交互降级。

【发明内容】

[0007] 本发明描述了调度和管理设备的后台任务的方法和装置。在示例性实施例中,设 备注册后台任务,其中注册包括存储后台任务的执行标准。执行标准指示用于基于设备的 部件状态来启动后台任务和执行标准的标准。设备还针对执行标准的出现来监测设备的运 行状态。如果执行标准出现,则设备确定设备的可用余量以便执行后台任务,并且在后台任 务重要性大于可用设备余量的情况下启动后台任务,其中后台任务重要性为运行后台任务 对于设备的重要程度的度量。
[0008] 在其他实施例中,设备确定用于所述后台任务的时间相关的任务重要性,其中该 时间相关的任务重要性基于自后台任务最初可用于运行以来已经过的时间。设备还确定设 备的可用余量,以便运行后台任务并且将该系统成本与时间相关任务重要性进行比较。如 果时间相关任务重要性大于可用设备余量,则设备运行后台任务。
[0009] 还描述了其他方法和装置。
【附图说明】
[0010] 本发明以举例的方式进行说明,并且不仅限于各个附图的图形,在附图中类似的 标号指示类似的元件。
[0011] 图1为具有后台任务调度器的设备的一个实施例的框图。
[0012] 图2为任务重要性曲线的一个实施例的图示。
[0013] 图3为调度和管理任务的进程的一个实施例的流程图。
[0014] 图4为任务的不同状态的状态图的一个实施例的图示。
[0015] 图5为将任务重要性与可用设备余量进行比较的进程的一个实施例的流程图。
[0016] 图6为调度和管理任务的后台任务调度器的一个实施例的框图。
[0017] 图7为将任务重要性与可用设备余量进行比较的任务重要性模块的一个实施例 的框图。
[0018] 图8示出了可与本文所述的实施例一起使用的典型计算机系统的一个实例。
[0019] 图9示出了可与本发明的一个实施例一起使用的数据处理系统的实例。
【具体实施方式】
[0020] 本发明描述了调度和管理设备的后台任务的方法和装置。在以下描述中示出了许 多具体细节,以提供对本发明实施例的彻底解释。然而,对于本领域的技术人员将显而易见 的是,本发明的实施例可在不具有这些具体细节的情况下实施。在其他情况下,未详细示出 熟知的部件、结构和技术,以免模糊对该描述的理解。
[0021] 本说明书中提到的"一个实施例"("one embodiment"或"an embodiment")是 指结合实施例所描述的特定特征、结构或特性可包括在本发明的至少一个实施例中。在本 说明书中的不同位置出现短语"在一个实施例中"不一定都是指同一个实施例。
[0022] 在以下描述和权利要求中,可使用术语"耦接"和"连接"及其派生词。应当理解, 这些术语并非旨在彼此同义。"耦接"被用于指示可能或不可能彼此直接物理接触或电接触 的两个或更多个元件彼此合作或交互。"连接"被用于指示彼此耦接的两个或更多元件之间 的通信的建立。
[0023] 下图中示出的过程通过处理逻辑部件来执行,该处理逻辑部件包括硬件(例如, 电路系统、专用逻辑部件等)、软件(例如在通用计算机系统或专用机上运行的软件)、或它 们两者的组合。虽然下文按照一些顺序操作来描述该过程,但应当理解,所描述的一些操作 可以不同的顺序来执行。此外,一些操作也可并行地执行而并非按顺序执行。
[0024] 术语"服务器"、"客户端"和"设备"旨在泛指数据处理系统而不是具体指代服务 器、客户端和/或设备的特定形状因数。
[0025] 描述了调度和管理设备的后台任务的方法和装置。在一个实施例中,设备注册后 台任务以在稍晚时间点运行,其中该任务包括用于确定何时为设备运行该任务的适合时间 的一个或多个标准。在一个实施例中,每个标准可基于部件状态、诸如设备电源状态、中央 处理单元状态、显示状态、存储系统状态或网络连接性。例如并且在一个实施例中,标准可 为电源状态(例如,设备是否在电池供电下运行或者插入交流(AC)电源中)、系统负载(例 如,中央处理单元(CPU)是否空闲、忙碌或在某百分比的负载下)和/或其他高级标准(例 如,网络连接性(一般来说,或者连接到特定服务器或服务)、设备的屏幕是否处于睡眠状 态、存储活动(例如,硬盘驱动器(HDD)转动)、需要特定电源状态(例如,仅A/C;某阈值 处、之上、之下的电池供电等))。
[0026] 在一个实施例中,如果在设备操作期间的一个时间点满足这些标准,则设备确定 是否将运行后台任务。设备确定可用设备余量并且将该可用设备余量与任务重要性进行比 较。在一个实施例中,可用设备余量为可用于运行该任务的设备资源的量。如果可用设备余 量大于或等于任务重要性,则设备运行该任务。相反,如果可用设备余量小于任务重要性, 则设备等待稍后时间来运行该任务。在此稍后时间,该设备重新评估设备状况以确定是否 仍满足任务标准。如果仍满足任务标准,则设备执行可用设备余量和任务重要性的比较。在 一个实施例中,任务重要性取决于自最初满足任务标准以来所经过的时间而变化。当最初 满足任务标准时,任务重要性为低的。随着时间流逝,任务重要性增大直到任务的宽限期截 止。在该任务的宽限期截止时,任务重要性增大,使得更有可能运行该任务。在一个实施例 中,设备通过向与该任务对应的应用发送该任务准备运行的通知以运行该任务。在一个实 施例中,任务为较大应用的一部分(例如,对于电子邮件应用,任务可检查新的电子邮件)。
[0027] -旦设备运行该任务,则设备监测任务标准以确定在执行任务期间是否满足该任 务标准。如果在执行任务期间不满足任务标准,则设备确定是否继续执行该任务。如果该 任务将被延期,则设备暂停该任务。在一个实施例中,设备通过与该任务的任务暂停执行对 应的应用来暂停该任务。在稍后时间点,如果随后再次满足任务标准,则设备可重启该任务 的执行。在任务完成时,设备确定该任务是否为再现任务,在再现任务的情况下,设备调度 该任务的另一实例。
[0028] 图1为具有后台任务调度器108的设备100的一个实施例的框图。在一个实施 例中,设备100可为个人计算机、膝上型电脑、服务器、移动设备(例如,智能电话、膝上型 电脑、个人数字助理、音乐播放设备、游戏设备等)、网络元件(例如,路由器、交换机、网关 等)、和/或能够执行多个进程并具有睡眠模式的任何设备。在一个实施例中,设备可为物 理或虚拟设备。在图1中,设备100包括操作系统102,该操作系统102为用于管理设备的 硬件资源的软件集并且提供用于运行设备的其他程序诸如应用程序的公共服务。在一个实 施例中,操作系统102在设备100的处理器执行每个运行进程时通过时间调度来管理不同 的运行进程。在一个实施例中,进程为正执行的计算机程序的实例。在该实施例中,进程可 为由于用户输入而执行的用户应用104。用户进程的实例为网络浏览、文字处理、电子邮件、 社交媒体、媒体处理等。进程的另一实例为向用户应用、其他进程等提供一个或多个服务的 系统进程106。在一个实施例中,系统进程为执行系统维护或其他类型的单个或再现任务的 守护进程。
[0029] 在一个实施例中,操作系统102包括启动守护进程112以启动进程。在该实施例 中,启动守护进程包括调度和管理后台任务的后台任务调度器108。此外,操作系统102包 括一个或多个调度任务110。在一个实施例中,后台任务为在后台中运行并且没有用户干预 的任务。后台任务可为单一目的任务(例如,远程下载)、在用户动作或远程触发之后发起 的可延期的长期运行活动(例如,优化磁盘数据库的存储(在用户触发的数据库更新之后 发起)、对例如统一资源定位符(URL)黑名单和/或白名单更新的服务器发起的(推送的) 下载、比利用系统通过默认(由用户首次使用低品质资产而触发)运送的媒体资产(图像/ 电影/语音)品质更高的下载,等),或者可为再现任务,该再现任务周期性地执行某一动作 (例如,备份、系统维护、检查软件更新、邮件获取、日历刷新、系统下载和/或第三方应用更 新(还检查服务器上此类更新的出现)、与服务器的对用户文档和/或设置的同步、将有关 设备和/或设备上的应用的诊断信息上传到服务器,等)。在一个实施例中,后台任务调度 器
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1