移动设备管理调度的制作方法

文档序号:7942383阅读:140来源:国知局
专利名称:移动设备管理调度的制作方法
移动设备管理调度背景近年来,诸如移动电话和个人数字助理(PDA)等移动计算设备已经变得日益流 行。在这些移动计算设备上执行的软件通常由中央设备管理服务器来在远程配置。当前设 备管理技术面临的一个困难是诸如移动计算设备和服务器之间的网络连接中断等意外事 件可使服务器的远程管理功能失败。例如,服务器可变得不能够确定移动计算设备上的配 置动作是否完成。这可导致不正确地配置的软件,从而可能造成移动计算设备上的软件的 失败或非最优执行。概述提供了一种移动设备管理系统。该移动设备管理系统可包括被配置成在移动计算 设备上执行的设备管理客户机。设备管理客户机可包括客户机调度器模块,该模块被配置 成经由计算机网络联系设备管理服务器并下载设备管理时间表以存储在移动计算设备上。 设备管理时间表可以在设备管理服务器处生成并包括一个或多个时间表项。每一时间表项 可包括预定义事件和相关联的动作。客户机调度器模块可被配置成监视设备管理时间表, 检测在时间表项中定义的预定义事件,并执行与该事件相关联的相关联动作,从而配置移 动计算设备上的软件。提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概 念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定 所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本发明的任一部分中提 及的任何或所有缺点的实现方式。附图简述

图1是示出包括移动计算设备的移动设备管理系统的实施例的示意图,该移动计 算设备包括在设备管理服务器处生成并从中下载的设备管理时间表。图2是示出图1的移动设备管理系统的移动计算设备与设备管理服务器之间的示 例通信的示图。图3是图1的移动设备管理系统所使用的设备管理时间表的数据结构的示图。图4是用于远程地管理移动计算设备的方法的实施例的流程图。详细描述图1是用于从设备管理服务器18远程地管理移动计算设备12的移动设备管理系 统10的示意图。移动设备管理系统10可包括被配置成在移动计算设备12上执行的设备 管理客户机14,设备管理客户机14又可包括客户机调度器模块16。设备管理客户机14可 被配置成经由计算机网络22联系设备管理服务器18并下载设备管理时间表24以存储在 移动计算设备12上,例如存储在与移动计算设备12的客户机调度器模块16相关联的数据 存储中。可以明白,计算机网络22可以是无线计算机网络,并且移动计算设备12与设备管 理服务器18之间的通信可以根据诸如无线接入协议(WAP)等通信协议32来进行。在一个 实施例中,设备管理服务器18可以是开放移动联盟(OMA)设备管理服务器。在下载之前,设备管理时间表24可在服务器调度器模块20处生成和/或存储在设备管理服务器18上。以此方式,可以通过从设备管理服务器18向一个或多个移动计算 设备12发布合适的设备管理时间表24来集中式地决定并实现策略。设备管理时间表24可包括一个或多个时间表项26,每一时间表项26包括一个或 多个预定义事件28和一个或多个相关联的动作30,如相关联的软件配置动作。设备管理时 间表24还可包括用于控制移动计算设备12的用户对设备管理时间表24的访问的访问控 制数据31。设备管理时间表24可以用诸如图3所示的XML数据结构等数据结构中存储的 结构化数据来表示。客户机调度器模块16可被配置成监视设备管理时间表24,检测在设备管理时间 表24的时间表项26中定义的预定义事件28,并执行与事件28相关联的相关联动作30,从 而配置移动计算设备12上的软件。可以明白,客户机调度器模块16还可被配置成确定时间 表项24中的事件28将在移动计算设备的不活动时间段期间(如在该设备断电时)发生, 并且在该移动计算设备的活动恢复时(如在该设备通电时)执行与该事件相关联的动作。可定义各个事件28和相关联的动作30来实现对移动计算设备12的设备管理功 能。例如,预定义事件28可以是时间事件,如相对时间间隔的出现(例如,引导后5分钟) 或绝对时间(例如,上午12:00:00)。预定义事件28还可以是状态事件,如引导、检测诸如 Wi-Fi连接或蜂窝连接等预定义连接类型、和/或在最初丢失网络连接后重新建立网络连 接、或移动计算设备12的其他状态。可以明白,丢失网络连接可具有各种原因,如移动计算 设备12的断电和/或移动计算设备12落入无线服务孔。相关联的动作30可包括软件配置动作,如软件安装、配置、和/或更新。还可以 明白,相关联的动作30可包括访问移动计算设备12上的可执行文件36或动态链接库 (DDL) 34,和/或发起与设备管理服务器18的联系。客户机调度器模块16可以提供用于加 载DLL的两个主机进程,一个可信进程以及一个不可信进程。可以明白,加载DLL是可以使 调度组件灵活地与其中存在进程限制的某些操作系统一起使用的动作。还可以明白,可定 义各种其他动作30来实现所需软件配置功能。图2是示出设备管理客户机14与设备管理服务器18之间的示例通信的示图。在 101,可例如根据用于管理移动设备12的服务器侧策略来在设备管理服务器18处生成设备 管理时间表。在102,设备管理客户机14可以例如,经由在移动计算设备12上呈现的图形 用户界面来从用户接收在远程设备管理中进行登记的登记命令。在104,在接收到登记命令 后,设备管理客户机14可以将该登记命令传送到设备管理服务器18,从而在远程设备管理 调度中登记移动设备12。因此,可以明白,设备管理10系统以“拉”模式而非以“推”模式 操作,因为设备管理客户机14发起与设备管理服务器18的联系。在106,移动计算设备12上的设备管理客户机14可以从设备管理服务器18下载 设备管理时间表24。在108,设备管理客户机14可以在移动计算设备12上提供或安装设 备管理时间表24。设备管理客户机14监视是否检测到设备管理时间表24的事件。在110,可发生预定义事件28,如时间事件或诸如引导、重建连接等状态事件。在 112,设备管理客户机14可检测到预定义事件28的发生。作为响应,在114,设备管理客户 机14可执行与事件28相关联的软件配置动作30,从而配置移动计算设备12上的软件。在116,设备管理客户机14可联系设备管理服务器18,例如以发送确认来报告对 事件28的成功检测以及动作30的完成。因此,设备管理服务器18可被配置成从客户机调度模块16接收指示是否检测到事件28以及是否响应于检测到的事件28执行了动作30的 确认消息。在117,设备管理服务器18还可被配置成将包括一个或多个已更新时间表项26的 已更新设备管理时间表24下载到在移动计算设备12上执行的客户机调度器模块16。已更 新设备时间表可以由设备管理服务器18基于服务器侧策略并且还基于在116从客户机调 度器模块16接收到的信息来生成。可以明白,其中可以利用上述系统的一个示例场景是对移动计算设备上的软件的 更新,其中该更新需要该设备的断电和引导。在这一场景中,设备管理时间表可以用包括引 导事件和联系服务器以报告安装完成的相关联动作的时间表项来定义。以此方式,即使在 移动计算设备12的断电和引导之后,设备管理时间表也可被用来报告软件的成功配置。如图3所示,设备管理时间表24可以存储在可以用可扩展标记语言(XML)格式来 编码的数据结构200中。数据结构200可包括对应于可由客户机调度器模块16读取的调 度器对象的根节点202。根节点202包括对应于由全局用户标识(GUID)来标识的一个或多 个应用程序的占位符节点204。可以明白,这样的配置使得能够将设备管理时间表24在逻 辑上编组成应用程序专用集合。例如,可以创建在移动计算设备上的软件的更新中使用的 设备管理时间表24的编组。可任选地提供友好名称节点206以标识应用程序的人类可读名称。可信节点208 存储指示设备管理时间表24的信任级别的数据。在可信节点208中,值“真”可指示该应 用程序的时间表数据存储在安全数据库中并且只可由可信代码访问。值“假”可指示该应 用程序的时间表数据存储在非安全数据库中并且可由可信或不可信代码访问。为提高安全 性,默认可被设成“假”。可以明白,设备管理服务器18可以经由时间表指示设备管理客户 机14连接到设备管理服务器18,使得设备管理服务器18可以访问并应用各种策略,如组策 略、安全策略等。希望更改时间表并避免应用这些策略的用户面临高安全性阻碍,因为时间 表是受保护的并且尝试访问该时间表的代码可被假定为是不可信的。数据结构200还可包括时间表数据210,时间表数据210又包括包含一列时间表项 的时间表列表节点212和担当一个或多个时间表项26的占位符的时间表占位符节点214。 占位符节点214的每一兄弟节点持有包括应用程序专用时间表项26的信息。数据结构200还可包括事件数据223,事件数据223包含与时间表项26的预定义 事件28相关的数据。事件数据223可包括事件类型节点224,事件类型节点224定义触发 设备管理时间表24的动作30的事件28的类型。如上所述,示例事件类型包括诸如时间间 隔事件等时间事件和诸如引导、重建连接等状态事件。因此,在一个实施例中,值“时间间 隔”指示时间表项26的动作30是在“开始和结束时间”节点230所指示的绝对或相对开始 时间时触发的,并且根据“时间间隔持续时间”节点236中的值(例如,其可以用时间表事 件之间的分钟数来表达)和“最大重复计数”节点238中的值重复。值“引导时”指示时间 表项26的动作30是在移动计算设备12的引导发生时触发的。“时间间隔持续时间”节点236通常包括表示时间表事件之间的基本分钟数的数 据。“最大重复计数”节点238如果存在则包括重复该时间表事件的次数,其通常不超过为 该时间表定义的结束日期和时间。如果不存在,则时间表项26可被配置成无限重复,但不 超过为时间表项26定义的结束日期和时间。
6
“开始和结束时间”节点240包含关于时间表项26中的事件28何时开始和结束 的数据。这一数据可以表达成绝对或相对开始和结束时间,并可分别存储在绝对开始节点 234、绝对结束节点236、相对开始节点238、以及相对结束节点240中。绝对开始和结束时 间可以用协调世界时(UTC)来表达,而相对开始和结束时间可包含相对于提供设备管理时 间表的时间的、设备管理时间表24分别要开始和结束的分钟数。在提供时,客户机调度器 模块16可以动态地创建或盖写绝对开始和绝对结束时间(如果它们存在的话),分别将它 们设置成当前时间加相对开始和相对结束值。如果使用相对开始,则通常省略绝对开始,并 且如果使用相对结束,则通常省略绝对结束。事件数据223还可包括“在过期时删除”节点232。如果被设成“真”,则在时间表 项26期满后,例如在当前时间大于绝对结束时间的情况下,删除该时间表项。如果被设成 “假”,则在时间表项26期满后不删除它。默认值可被设成“假”。数据结构200还可包括定义与事件28相关联的动作30的动作数据215。动作数 据215可包括包含一列动作的动作节点216。调用该节点上的执行函数将在被调用时执行 时间表项26的动作。动作数据215还可包括占位符节点218,其每一兄弟节点被配置成持 有定义动作30的数据。动作数据215还可包括包含用于调用移动计算设备12上的可执行文件的信息的 可执行节点220,该信息诸如存储在文件节点221中的可执行文件路径和存储在命令行节 点222中的命令行参数。动作数据215还可包括包含用于调用DLL的信息的DLL节点242,该信息诸如存储 在DLL文件节点244中的到DLL文件的文件路径、存储在DLL函数名节点246中的DLL函 数名、以及存储在DLL输入参数节点248中的传递给DLL函数的参数(例如,以从左到右排 序的列表)。输入参数节点248还可包括子节点,包括持有一个或多个自变量的占位符节点 250。占位符节点250的每一兄弟节点具有一标识名称并持有自变量的类型和值。自变量 值节点252持有要传递给DLL函数的与相关联的自变量有关的值。可以明白,设备管理时间表24可以使用上述数据结构200来编码,并且从设备管 理服务器18上的服务器调度模块20传递到移动计算设备12上的设备管理客户机14。图4是用于远程地管理移动计算设备的方法300的实施例的流程图,该方法可以 使用上述计算设备或其他合适的设备来实现。在302,该方法可包括在移动计算设备处接收 用于在远程设备管理调度中进行登记的登记命令的用户输入。在304,该方法还包括使用诸 如无线接入协议等通信协议经由诸如无线计算机网络等计算机网络将登记命令从移动计 算设备发送到设备管理服务器。在306,该方法可包括在移动计算设备处经由计算机网络从设备管理服务器下载 设备管理时间表。如上所述,设备管理时间表可以在下载之前在设备管理服务器处生成和 /或存储在其上,并可以包括一个或多个时间表项,每一个时间表项包括预定义事件和相关 联的动作。如上所述,预定义事件可以是诸如预定义时间间隔或绝对时间等时间事件或者 诸如引导或在丢失网络连接后重建网络连接等状态事件。设备管理时间表可以用诸如XML 数据结构等数据结构中存储的结构化数据来表示。在某些情况下,在时间表项中可以利用多个事件。例如,检测到的事件可以是第 一事件,并且该方法可包括将第二事件与第一事件进行编组并且检测第一和第二事件的发生。以此方式,可以定义多个事件来触发相关联的动作。相关联的动作可包括软件配置动 作,如软件安装、配置、和/或更新。在308,该方法可包括在移动计算设备处检测设备管理时间表中预定义的所标识 的事件的发生。在310,该方法还可包括响应于检测到事件的发生来执行与设备管理时间表 中的事件相关联的相关联动作,如软件配置动作,从而配置移动计算设备上的软件。执行软件配置动作可包括更新移动计算设备上的设置或软件,例如通过执行移动 计算设备上的可执行文件或访问移动计算设备上的动态链接库。执行软件配置动作还可包 括将设置或软件已被更新的确认消息从移动计算设备发送到设备管理服务器。在某些情况下,在时间表项中可以利用多个软件配置动作。例如,所执行的软件配 置动作可以是第一软件配置动作,并且该方法还可包括将第二软件配置动作与第一软件配 置动作进行编组,并且在检测到设备管理时间表中标识的事件的发生时执行第一软件配置 动作和第二软件配置动作两者。在一个场景中,在310检测事件可包括例如首先检测在执行软件配置动作期间通 过引导或网络通信中断造成的网络连接的丢失,并其次检测网络连接的重建,并且在312 执行软件配置可包括根据设备管理时间表从移动计算设备发起与设备管理服务器的联系。在另一场景中,执行软件配置动作可包括根据存储在移动计算设备上的设备管理 时间表从移动计算设备发起与设备管理服务器的联系。例如,软件配置动作可以是在软件 安装和移动计算设备的引导之后联系服务器,以报告软件安装成功完成。在一些实施例中,该方法可另外包括在移动计算设备处设置移动计算设备上的设 备管理时间表的访问控制参数,定义可查看并修改设备管理时间表的用户和/或组。通过 适当地设置访问控制参数,管理员可以管制能访问该时间表的用户和组。上述系统和方法可用来高效地从设备管理服务器提供移动计算设备上的设备管 理时间表,并且根据设备管理时间表来配置移动计算设备上的软件。可以明白,此处描述的计算设备通常包括处理器和相关联的易失性和非易失性存 储器,并被配置成使用易失性存储器的各部分和处理器来执行存储在非易失性存储器中的 程序。如此处所使用的,术语“程序”指的是可由此处所描述的一个或多个计算设备执行或 利用的软件或固件组件,并且意味着包含单独的或各组可执行文件、数据文件、库、驱动程 序、脚本、数据库记录等等。可以理解,可以提供其上存储有程序指令的计算机可读介质,该 程序指令在由计算设备执行时使该计算设备执行上文所描述的方法并使得操作上述系统。应当理解,此处的各实施例是说明性而非限制性的,因为本发明的范围由所附权 利要求书而非之前的说明书来限定,并且落入权利要求的边界和范围内的所有改变或这些 边界和范围的等效技术方案因此都旨在被权利要求所涵盖。
权利要求
一种移动设备管理系统,包括被配置成在移动计算设备上执行的设备管理客户机,所述设备管理客户机包括被配置成经由计算机网络联系设备管理服务器并下载设备管理时间表以存储在所述移动计算设备上的客户机调度器模块,所述设备管理时间表是在所述设备管理服务器处生成的并且包括一个或多个时间表项,每一时间表项包括预定义事件和相关联的动作;其中所述客户机调度器模块被配置成监视所述时间表,检测在时间表项中定义的事件,并执行与所述事件相关联的软件配置动作,从而配置所述移动计算设备上的软件。
2.如权利要求1所述的移动设备管理系统,其特征在于,所述事件是时间事件或状态 事件。
3.如权利要求2所述的移动设备管理系统,其特征在于,所述状态事件是引导。
4.如权利要求1所述的移动设备管理系统,其特征在于,所述软件配置动作包括访问 所述移动计算设备上的可执行文件或动态链接库。
5.如权利要求1所述的移动设备管理系统,其特征在于,所述时间表以存储在XML文件 中的结构化数据来表示。
6.如权利要求1所述的移动设备管理系统,其特征在于,所述时间表还包括用于控制 所述移动计算设备的用户对所述时间表的访问的访问控制数据。
7.如权利要求1所述的移动设备管理系统,其特征在于,所述事件包括在丢失网络连 接后重建网络连接,并且所述软件配置动作包括发起与所述设备管理服务器的联系。
8.如权利要求1所述的移动设备管理系统,其特征在于,所述客户机调度器模块被配 置成确定时间表项中的事件将在所述移动计算设备的不活动时间段期间发生,并且在恢复 所述移动计算设备的活动后执行与所述事件相关联的动作。
9.一种移动设备管理系统,包括被配置成生成设备管理时间表的设备管理服务器,所述设备管理时间表包括一个或多 个时间表项,每一时间表项包括预定义事件和相关联的动作,所述服务器还被配置成将所 述设备管理时间表下载到在移动计算设备上执行的客户机调度器模块;其中所述设备管理服务器还被配置成从所述客户机调度模块接收指示是否检测到所 述事件以及是否响应于检测到的所述事件执行了所述动作的确认消息;以及其中所述设备管理服务器还被配置成将包括一个或多个已更新时间表项的已更新时 间表下载到所述客户机调度器模块。
10.一种从设备管理服务器来管理移动计算设备的方法,包括在所述移动计算设备处,经由计算机网络从设备管理服务器下载设备管理时间表;检测所述设备管理时间表中标识的事件;以及执行与所述设备管理时间表中的事件相关联的软件配置动作,从而配置所述移动计算 设备上的软件。
11.如权利要求10所述的方法,其特征在于,所述设备管理时间表是在所述设备管理 服务器处生成的。
12.如权利要求10所述的方法,其特征在于,所述事件是时间事件或状态事件。
13.如权利要求12所述的方法,其特征在于,执行所述软件配置动作包括更新所述移 动计算设备上的设置或软件。
14.如权利要求13所述的方法,其特征在于,执行所述软件配置动作还包括将所述设 置或软件已被更新的确认消息从所述移动计算设备发送到所述设备管理服务器。
15.如权利要求14所述的方法,其特征在于,执行所述软件配置动作包括执行可执行 文件或访问所述移动计算设备上的动态链接库。
16.如权利要求13所述的方法,其特征在于,检测所述事件包括首先检测在执行软件配置动作期间通过引导或网络通信中断造成 的网络连接的丢失,并其次检测网络连接的重建;以及其中执行所述软件配置动作包括根据所述时间表从所述移动计算设备发起与所述设 备管理服务器的联系。
17.如权利要求10所述的方法,其特征在于,还包括在下载所述设备管理时间表之前, 在所述移动计算设备处接收用于在远程设备管理调度中进行登记的登记命令的用户输入, 并将所述登记命令从所述移动计算设备发送到所述设备管理服务器以将所述移动计算设 备在远程设备管理调度中进行登记。
18.如权利要求10所述的方法,其特征在于,所述事件是第一事件,所述方法还包括将 第二事件与所述第一事件进行编组并检测所述第一和所述第二事件两者的发生。
19.如权利要求10所述的方法,其特征在于,所述软件配置动作是第一软件配置动作, 所述方法还包括将第二软件配置动作与所述第一软件配置动作进行编组并在检测到所述 事件的发生时执行所述第一软件配置动作和所述第二软件配置动作两者。
20.如权利要求10所述的方法,其特征在于,还包括设置所述移动计算设备上的所述时间表的访问控制参数,从而定义可查看和修改所述 时间表的用户和/或组。
全文摘要
提供了一种移动设备管理系统。该移动设备管理系统可包括被配置成在移动计算设备上执行的设备管理客户机。设备管理客户机可包括客户机调度器模块,其被配置成经由计算机网络联系设备管理服务器并下载设备管理时间表以存储在移动计算设备上。设备管理时间表可以在设备管理服务器处生成并包括一个或多个时间表项。每一时间表项可包括预定义事件和相关联的动作。客户机调度器模块可被配置成监视设备管理时间表,检测在时间表项中定义的预定义事件,并执行与该事件相关联的相关联动作,从而配置移动计算设备上的软件。
文档编号H04W4/00GK101911739SQ200880124689
公开日2010年12月8日 申请日期2008年12月9日 优先权日2008年1月10日
发明者A·特兰, C·吉约里, C·沃尔茨, H·党, N·德瑞, Y·朱 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1