CN112867988A - 由移动设备实现合规设置以遵循配置场景 - Google Patents

由移动设备实现合规设置以遵循配置场景 Download PDF

Info

Publication number
CN112867988A
CN112867988A CN201980050259.8A CN201980050259A CN112867988A CN 112867988 A CN112867988 A CN 112867988A CN 201980050259 A CN201980050259 A CN 201980050259A CN 112867988 A CN112867988 A CN 112867988A
Authority
CN
China
Prior art keywords
configuration information
configuration
state machine
server
compliance
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.)
Pending
Application number
CN201980050259.8A
Other languages
English (en)
Inventor
P·J·考夫曼
R·I·朱恩
M·Z·拉西瓦拉
D·S·达杜建
S·拉希里
S·A·鲍尔斯
朱于航
A·S·奇玛
R·K·萨姆杜拉拉
J·G·珂什蒂
G·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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN112867988A publication Critical patent/CN112867988A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4498Finite state machines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data
    • H04W8/245Transfer of terminal data from a network towards a terminal

Abstract

本文描述的实施例涉及由计算设备来实现合规设置,以使计算设备遵循配置场景。例如,计算设备可以从服务器接收配置信息,该配置信息描述用于由计算设备实现以使计算设备遵循配置场景的合规设置。此外,计算设备可以标识由配置信息指示的状态机,该状态机描述用于实现合规设置的配置过程,并且可以执行状态机以利用合规设置来配置计算设备。

Description

由移动设备实现合规设置以遵循配置场景
背景技术
移动设备管理(MDM)是确保员工保持生产力并且不违反公司策略的一种方式。许多组织使用MDM产品/服务来控制他们的员工的活动。MDM主要处理公司数据隔离、保护电子邮件、保护设备上的公司文档、执行公司策略以及整合和管理移动设备(包括各种类别的笔记本电脑和手持设备)。通过控制和保护组织网络中所有移动设备的数据和配置设置,MDM可以降低支持成本和商业风险。
发明内容
提供本发明内容以便以简化的形式介绍下面在具体实施方式中进一步被描述的一些概念。本发明内容既不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
本文描述的实施例涉及由计算设备实现合规设置,以使计算设备遵循配置场景。例如,计算设备可以从服务器接收配置信息,该配置信息描述用于由计算设备实现以使计算设备遵循配置场景的合规设置。此外,计算设备可以标识由配置信息(例如,通过标识符)指示的状态机,该状态机描述用于实现合规设置的配置过程。状态机可以被执行以利用合规设置来配置计算设备。当执行状态机时,可以按照状态机规定的顺序来处理配置信息中包括的有效载荷以及依赖关系,来配置计算设备。
下面将参考附图,详细描述本发明的另外的特点和优点,以及本发明的各种实施例的结构和操作。注意,本发明不限于本文所描述的特定实施例。本文呈现这种实施例仅用于说明性的用途。基于本文包含的示教,附加的实施例对相关领域的技术人员将是明显的。
附图说明
合并到本文并且构成说明书的一部分的附图说明了各实施例,并且与描述一起进一步用于解释各实施例的原理并且使得相关领域技术人员能够实施和使用这些实施例。
图1描绘了根据一个示例实施例的用于由计算设备实现合规设置以使计算设备遵循配置场景的系统的框图。
图2A描绘了根据一个示例实施例的用于由计算设备实现合规设置以使计算设备遵循配置场景的系统的框图,该系统是图1的系统的进一步详细示例。
图2B描绘了根据一个示例实施例的用于由计算设备实现合规设置以使计算设备遵循配置场景的系统的另一框图,该系统是图1的系统的进一步详细示例。
图3描绘了根据一个示例实施例的用于由计算设备实现合规设置以使计算设备遵循配置场景的一个示例方法的流程图。
图4描绘了根据一个示例实施例的用于确定移动设备是否被适当配置的一个示例方法的流程图。
图5描绘了根据一个示例实施例的用于存储和传输配置结果的一个示例方法的流程图。
图6描绘了根据一个实施例的用于请求纠正配置信息的错误的一个示例方法的流程图。
图7描绘了根据一个实施例的用于接收经更新的配置信息和/或附加配置信息的一个示例方法的流程图。
图8是可以在其中实现各实施例的示例性用户设备的框图。
图9是可以用于实现实施例的示例计算设备的框图。
当结合附图(其中相同的附图标记贯穿地标识对应的元素)时,本发明的特征和优点将从以下阐述的详细描述中变得更加明显。在附图中,相同的附图标记一般指相同的、功能上相似的和/或结构上相似的元素。其中元素第一次出现的附图由对应的附图标记中最左侧的数字指示。
具体实施方式
I.引言
本说明书和附图公开了包含本发明的各特征的一个或多个实施例。本发明的范围不限于所公开的实施例。所公开的实施例仅仅例示了本发明,并且所公开的实施例的修改版本也被本发明所涵盖。本发明的各实施例由所附权利要求来限定。
说明书中对“一个实施例”、“实施例”、“示例实施例”等等的提及指示所描述的实施例可以包括特定特征、结构或者特性,但是,每一个实施例不一定包括该特定特征、结构或者特性。此外,这些短语不一定指同一实施例。此外,当结合一个实施例描述特定特征、结构或特性时,不管是否被明确描述,结合其他实施例来实现该特征、结构或特性被认为是在本领域技术人员的知识范围内。
以下描述多个示例性实施例。注意,本文提供的任何章节/子章节标题不旨在限制。贯穿本文档描述了各实施例,并且任何类型的实施例可以被包括在任何章节/子章节下。此外,在任何章节/子章节中公开的实施例可以与在相同章节/子章节和/或不同章节/子章节中描述的任何其他实施例以任何方式组合。
II.管理设备合规的系统和方法
企业当今的移动设备管理(MDM)过程的典型构造使用MDM服务器,MDM服务器负责执行和监视移动设备配置、存储海量数据以及执行连续的错误检查和预防性维护。可以对企业的大量设备(包括数百、数千、数万、数百万、数亿甚至更多的设备),执行这种功能。结果,服务器流失了无数的“计算卡路里”(例如,使用大量的处理能力)来确定:企业网络的所有移动技术资源是否被正确配置,是否在安全性和其他重要协议的限制内运行,以及是否实现和遵循更新。
这意味着服务器由于必须与企业网络上的许多单独的移动设备通信,并且必须最终监督配置过程以及报告需求,而陷入困境。在这种情况下,仅考虑设备的数目、单纯流量和配置量,可扩展性对企业非常具有挑战性。换句话说,服务器需要很大量的管理工作。此外,由于配置执行的非流线型和特定于设备的性质,该配置过程还可能充斥着可避免的其他错误。
这些限制最终可以通过改变服务器在设备管理过程中的参与来解决。例如,在实施例中,服务器可以通过要求移动设备执行其自己的配置来体验更高的生产率。在本文描述的实施例中,服务器可以将配置细节提供给移动设备,并且配置过程可以由移动设备通过用作广义状态机来被驱动。这些实施例和另外的实施例参照图1更详细地描述如下。注意,本文描述的实施例适用于任何操作系统/计算平台,诸如Apple
Figure BDA0002919417160000041
和GoogleAndroidTM,并且本文对
Figure BDA0002919417160000042
和/或其组件的引用仅是出于描述和说明目的,并不被认为是限制性的。
图1是根据一个示例实施例的用于由计算设备实现合规设置以使计算设备遵循配置场景的合规执行系统100的框图。如图1中所示,系统100包括服务器102、计算设备104以及经由企业网络110通信地耦合的一个或多个数据存储库108。服务器102包括合规引擎122。计算设备104包括合规代理120。尽管示出了单个计算设备104,但系统100中可以存在任何数目的具有由服务器102提供的合规设置的计算设备,包括数十、数百、数千、数万、数百万、数亿、以及更多数目的计算设备。数据存储库108可以包括一个或多个物理存储器和/或存储设备。数据存储库108可以是本文描述的和/或受益于本公开的相关领域的技术人员将理解的任何类型的物理存储器和/或存储设备。企业网络110包括由企业建立的专用计算机网络,其目的是将在一个或多个企业位置处的企业设备(例如,计算设备104和其他未示出的计算设备)互连到其他企业设备,并且使企业设备能够访问和/或共享计算资源。
计算设备104是企业的一个或多个成员(例如,员工)所利用或以其他方式可访问的设备。如本文所使用的,术语“企业”广泛地指代各种各样的组织类型中的任何一种,包括企业、非营利组织和政府机构。计算设备104的用户在本文中可以被称为“企业用户”或简称为“用户”。计算设备104可以包括例如但不限于台式计算机、膝上型计算机、平板计算机、上网本、智能电话等。计算设备104的附加示例在下文中参考图8和图9来描述。
数据存储库108可以被配置为存储用于计算设备104和/或一个或多个其他计算设备的配置信息112。在实施例中,配置信息112可以被本地存储在服务器102的存储器中。配置信息112可以指定用于计算设备104和/或用于计算设备104的用户的一个或多个合规设置,并且包括数据、一个或多个文件等,以用于根据特定配置场景安装在计算设备112上。例如,配置信息112的第一合规设置可以与计算设备104的第一用户相关联,并且配置信息112的第二合规设置可以与计算设备104的第二用户相关联。合规设置的示例包括但不限于:要由计算设备104实现的加密设置、要由计算设备104实现的安全设置、需要被安装在计算设备104上的应用或操作系统中的至少一个的最小版本等。加密设置可以指定计算设备104中包括的存储设备是否要被加密(例如,经由诸如但不限于BitLockerTM的加密程序)。安全设置可以指定要由计算设备104实现的密码策略(例如,将密码长度设置为最少10个字符、12个字符等)、是否应当由计算设备104实现代码签名、是否应当由计算设备104实现可信平台模块(TPM)等。注意,上述合规设置纯粹是示例性的,并且可以使用其他配置设置。
服务器102可以被配置为根据配置场景来管理包括计算设备104的计算设备的合规。这种计算设备可以包括固定设备(例如,台式计算机)和/或移动设备(例如,智能电话、膝上型计算机、平板计算机、可穿戴计算设备(例如,包括诸如
Figure BDA0002919417160000051
的智能眼镜的头戴式设备、虚拟现实耳机、智能手表等)等。当管理移动设备时,服务器102也可以被称为移动设备管理器(MDM)。配置场景可以像一组离散的策略那样简单,也可以像虚拟专用网络(VPN)连接的配置那样复杂。策略可以由企业指定(例如,数据和/或安全策略)。可以根据一个或多个合规设置来指定策略。一个或多个合规设置可以由企业的管理员(例如,IT(信息技术)管理员)或企业内负责代表企业用户部署、维持和/或配置计算设备104的其他人员来指定。
如图1中所示,服务器102包括合规引擎122。合规引擎122可以确定要被提供给计算设备104的配置信息112,并且向计算设备104提供所确定的配置信息112。例如,服务器102可以接收和/或访问合规清单或其他文档形式的配置信息112,该配置信息112指示用于部署到一组特定设备的配置设置。服务器102可以经由网络110从数据存储库108获得配置信息112,并且经由网络110将配置信息112提供给所指示的设备,诸如计算设备104。在图1中通过虚线112描绘了配置信息112在网络110上的传输。配置信息112可以指定用于由计算设备104(以及可选地,另外的设备)实现以使计算设备104遵循配置场景的合规设置。
计算设备104可以被配置为实现由配置信息112指定的合规设置。如图1中所示,计算设备104包括合规代理120。计算设备104可以被配置为执行合规代理120,合规代理120被配置为通过标识和执行状态机来实现由所接收的配置信息112指定的合规设置,该状态机描述了用于在计算设备104上实现针对配置场景的合规设置的配置过程。例如,合规代理120可以将状态机118标识为配置信息112所指示的状态机,并执行状态机118以为计算设备104配置合规设置以遵循配置场景。
根据实施例,可以以各种方式生成状态机118。例如,在构建过程中,可以生成一个或多个文档(例如,由开发者),文档可以被编译并且被存储在计算设备104上。例如,在构建过程中生成描述配置场景的一个或多个文件(使服务器能够消费和呈现用户界面(UI)(例如,在服务器102的合规引擎122所生成的管理控制台处)),并且生成状态机。该UI允许IT管理员输入针对特定配置场景的配置信息,该配置信息然后可以被发送到计算设备104。如本文所述,配置信息由计算设备104处理,利用配置服务提供器(CSP)来根据特定配置场景改变安全性,并且改变计算设备的功能行为。CSP是用于读取、设置、修改或删除设备上的配置设置的接口。此外,当处理状态机(例如状态机118)时,根据状态机指示的顺序调用CSP,以使用服务器提供的配置信息来在计算设备处满足期望的状态。
在根据状态机118实现配置设置之后,合规代理120可以向合规引擎122提供确认(例如,“警报”)。该确认指示计算设备已经实现了配置设置,或者出现故障。在接收到指示成功实现配置设置的确认之后,合规引擎112可以将计算设备104指派为遵循配置场景。合规引擎112可以各种方式维持该确认。
例如,服务器102可以维持合规记录106,合规记录106包括针对每个用户-设备对的关于该特定用户-设备对是否合规的指派。例如,合规记录106可以包括具有多个条目的数据结构(例如,表),其中每个条目指定特定用户-设备对,并且指定关于该用户-设备对是否合规的指示。服务器102可以进一步被配置为维持针对每个用户-设备配对实现的配置设置的本地配置参考114。配置参考114可以包括具有多个条目的数据结构(例如,表),其中每个条目指定特定用户设备对以及由该对实现的配置设置。注意,上述配置参考114和/或合规记录106的结构和/或组织纯粹是示例性的,并且可以使用其他结构和/或组织。服务器102可以在任何位置并且以任何方式来维持配置参考114和合规记录106,包括将其存储在数据存储库108中或其他地方。
合规引擎122可以被配置为:使用参考114,来确定(多个)计算设备104是否保持遵循合规规则。通过这样做,合规引擎122仅需要访问参考114来确定由计算设备104实现的配置设置,而不是必须向(多个)计算设备104查询其配置设置。合规引擎122可以在检测到任何合适的触发事件(包括预先确定的时间段的到期,来自管理员、审核员和/或管理、希望确认或以其他方式获知/确认计算设备104和/或其他计算设备是否遵循一个或多个合规设置和/或要求感兴趣的其他人和/或实体的请求)时,确定计算设备104是否保持合规。用于确定设备是否遵循合规设置/要求的请求可以涉及任何数目的设备,包括数百、数千或数百万个设备。如此,通过从配置参考114和/或合规记录106访问这种合规信息,与必须分开轮询感兴趣的每个设备相比,服务器102不需要花费大量的处理能力。
在实施例中,可以以各种方式来实现图1的系统100。例如,图2A描绘了根据一个示例实施例的系统200的详细框图。系统200是系统100的一个示例。如图2A中所示,系统200包括服务器102和计算设备204。计算设备204是如上面参考图1所述的计算设备104的一个示例。如图2A中进一步所示,计算设备204包括合规代理220、状态机(SM)数据存储库224和配置信息(CI)数据存储库222。状态机数据存储库224和配置信息数据存储库222可以均包括一个或多个物理存储器和/或存储设备,包括本文描述的和/或受益于本公开的相关领域技术人员将理解的任何类型的物理存储器和/或存储设备。合规代理220是如上面参考图1所述的合规代理120的一个示例。
服务器102被配置为确定要被提供给计算设备204的配置信息112,并且向其提供所确定的配置信息112。例如,当用户首次登录提供给他/她的计算设备时,服务器102可以取回与该计算设备和/或用户相关联的设备配置信息112,并且将配置信息112提供给该计算设备。附加地或备选地,当软件或固件(包括设备驱动)被新安装到计算设备时,当新硬件被添加到计算设备时,当从计算设备更新或删除软件和/或固件时,当从计算设备移除硬件时,和/或在修改计算设备的配置的其他事件期间,服务器102可以取回与该计算设备和/或用户相关联的配置信息112,并且向该计算设备提供配置信息112。
类似于参考图1描述的计算设备104,计算设备204可以被配置为执行合规代理220,合规代理220被配置为实现由配置信息112指定的配置设置。更具体地,合规代理220基于期望的配置场景消费适当的状态机。服务器102可以在配置信息112中提供“配置场景标识符”,以向计算设备204指定适当的状态机。合规代理220可以利用该标识符来找到编排器要遵循的正确状态机。然后,由合规代理220基于状态机,将由服务器102提供的配置信息112提供给适当的CSP,如下面进一步详细描述的。
如图2A中所示,合规代理220包括配置管理器206和编排器引擎208。此外,配置管理器206包括合规配置信息处理程序228和配置信息错误检查器210。
合规配置信息处理程序228可以被配置为从服务器102的合规引擎122访问配置信息112(例如,经由SyncML或CDN(内容分发网络)分发到计算设备204),并且将配置信息112存储在配置信息数据存储库222中(如图2A中在服务器112、合规配置信息处理程序228与配置信息数据存储库222之间的虚线112所描绘的)。作为另一示例,配置信息112可以由JavaScript对象表示法(JSON)提供。配置信息112可以由服务器直接分发给计算设备,或者服务器可以经由CDN指示计算设备在何处获得配置信息112(在下面更详细描述)。
配置信息112可以具有任何合适的形式。根据一个实施例,配置信息112可以由可扩展标记语言(XML)文件表示,XML文件包括与合规设置相关联的有效载荷以及用于下载和处理该有效载荷的对应的统一资源标识符(URI)。例如,存储有效载荷的CDN可以包括单独的标记,该标记表示用于异步下载和处理有效载荷的URI。为了进一步说明,用于一组离散策略(例如,由策略CSP提供)的简单配置场景可能仅需要XML文件中包括的单个有效载荷。对于更复杂的配置场景(例如,用于VPN连接的配置),可能需要在XML文件中指定多个有效载荷。例如,在VPN配置场景中,可以提供简档有效载荷和证书有效载荷。服务器可以在尝试与计算设备进行同步会话之前创建这些场景配置文件。这避免了按需为与服务器交互的每个计算设备创建相同文件,并且使服务器可用于执行更加有用的工作,从而提高了可伸缩性。
以下是场景配置XML文件的一个示例,该文件指示要由策略CSP设置的策略,该策略包括多个声明性配置有效载荷。注意,示例场景配置XML文件的“Id”、“checksum”和“OSDefinedScenario”属性构成了唯一标识符。还要注意,该示例中的“OSDefinedScenario”属性指示这是已发布的配置场景,这意味着配置场景将依赖于已声明的配置场景状态机,该配置场景状态机规定如何对配置场景进行配置。在操作系统(OS)构建编译了已声明的配置场景状态机
Figure BDA0002919417160000103
清单之后,该状态机可以被存储在注册表中。此外,由于可以在状态机中指定每个有效载荷是否应当是原子的或者整个文档是否应当是原子的,因此可以不需要指定该行为,。另外,下面的XML文件设置了一些计算设备范围的策略,并且配置了示例加密特征(即,
Figure BDA0002919417160000101
BitLockerTM):
Figure BDA0002919417160000102
Figure BDA0002919417160000111
下面是描述由MDM定义的配置场景的多有效载荷XML文件的一个示例。在该示例中,不存在已声明的配置场景状态机:
Figure BDA0002919417160000112
Figure BDA0002919417160000121
合规配置信息处理程序228可以进一步被配置为从服务器102请求(例如,使用超文本传输协议(HTTP)GET方法请求)配置信息112,并且将配置信息112提供给配置信息错误检查器210。
配置信息错误检查器210可以被配置为解析配置信息112,确定配置信息112中的错误(例如,XML代码、属性、XML配置场景文件中的URI等的错误),并且向服务器102请求纠正错误。例如,在上面讨论的配置信息112被表示为XML文件的示例中,配置信息错误检查器210可以解析和验证XML代码,将URI存储在注册表位置,以及如果检测到任何错误,则向服务器102同步报告错误,并且请求由服务器102修改错误(如图2A中由虚线216所描绘的)。通常,MDM服务器确保配置信息中没有冲突或错误。然而,检测冲突和错误的客户端设备允许即时反馈被提供给MDM服务器,并且允许快速纠正配置信息中的任何错误。
合规配置信息处理程序228还可以被配置为向服务器102传输所存储的配置信息112,以及响应于将配置信息发送到服务器102而从服务器102接收经更新的配置信息和/或附加配置信息。例如,合规配置信息处理程序228可以被配置为通过将配置信息数据存储库222中存储的配置信息数据112发送到服务器102来验证其状态(例如,过时或陈旧),以及基于由服务器102确定的所存储的配置信息112的状态,服务器102可以向合规配置信息处理程序228提供经更新的配置信息和/或附加配置信息。随后,合规配置信息处理程序228可以将所接收的经更新的配置信息和/或附加配置信息存储在配置信息数据存储库222中(如图2A中由虚线214所描绘的)。如下所述,合规代理220的编排器引擎208被配置为实现在配置信息112中接收的配置设置并且基于其生成配置结果226。
具体地,图2B描绘了根据一个示例实施例的系统230的详细框图。系统230是系统100的另外的示例。如图2B中所示,系统230包括服务器102和计算设备244。计算设备244是图1的计算设备104的另外的示例。此外,计算设备244包括合规代理240、SM数据存储库224和配置信息数据存储库222。合规代理240是如上面参考图1所述的合规代理120的另外的示例。
与参考图1描述的计算设备104类似,计算设备244执行合规代理240,合规代理240被配置为实现由配置信息112指定的配置设置。如图2B中所示,合规代理240包括配置管理器206和编排器引擎208。配置管理器206包括合规配置信息处理程序228和设置实现触发程序232。编排器引擎208包括状态机选择器234和状态机执行引擎236。合规代理240的这些特征被描述如下。
设置实现触发程序232被配置为触发编排器引擎208在计算设备244中实现由配置信息112描述的合规设置。例如,如图2B中所示,设置实现触发程序232向状态机选择器234提供触发218。更具体地,在配置信息错误检查器210解析和验证配置信息112(如上面参考图2A所描述的)之后,触发218可以引起任务的调度(并且所调度的任务可以由“DeclaredConfiguration”CSP来触发)。根据实施例,可以任务被存储在活动队列中,并且在活动队列中存储的任何未处理任务已经被处理之后对其进行处理。
状态机选择器234被配置为从设置实现触发程序232接收触发以在计算设备244中实现合规设置。在一个实施例中,状态机选择器234标识由配置信息112指示的状态机,该状态机描述了用于实现合规设置的配置过程。在接收触发218之后,状态选择器机器234可以从配置信息数据存储库222获得所存储的配置信息112,并且在消费了所存储的配置信息112的属性之后,确定状态机118与配置信息112相关联。例如,配置信息112可以指定针对特定状态机的标识符。
状态机选择器234可以进一步被配置为将状态机118提供给状态机执行引擎236。状态机执行引擎236被配置为执行状态机118,以利用配置信息112中描述的合规设置来配置计算设备244。例如,状态机选择器234可以按照状态机118规定的顺序处理配置信息112(如参考图2A所描述的)中包括的有效载荷以及依赖关系。备选地,如果不存在与配置信息112相关联的状态机,则将按照配置信息112规定的顺序处理配置信息112所指定的有效载荷。此外,状态机选择器234可以访问状态机数据存储库224,以获得状态机118的清单。清单可以包括状态机118及其依赖关系。
下面再现了已声明的配置场景状态机清单的一个示例XML文件。
Figure BDA0002919417160000141
Figure BDA0002919417160000151
状态机执行引擎236可以进一步被配置为在配置信息数据存储库222中存储配置结果226(例如,具有URI和值的XML文件、事件、上一个错误码、状态等)。例如,配置结果226可以包括上面参照图1描述的一个或多个合规记录106和/或配置参考114。合规配置信息处理程序228可以被配置为从配置信息数据存储库222获得配置结果226,并且将配置结果226提供给合规引擎122(如图2B中由虚线226所描绘的)以由服务器102分析。在配置结果226包括错误的情况下,服务器102可以向合规配置信息处理程序228提供较早版本的确认信息112,以便可以逆转对移动设备的任何错误改变,包括指示编排器引擎208将计算设备的状态回滚到在执行状态机之前的状态。
例如,根据本文描述的实施例,状态机可以包含用于配置场景的配置指令。为了进一步说明,状态可以由实体“FromState”、“Activity”和“ToState”描述。Activity可以具有可执行代码的形式,该可执行代码由配置场景(多个)所有者拥有和创建。此外,Activity可以在运行时返回不同的ToState状态,以用于前进到下一步。如果Activity未修改Tostate,则使用默认ToState,并且在状态机的数据表示中指定默认ToState。Activity可以具有被编组(marshal)到Activity中的预定义的输入数据和输出数据,该输入数据和输出数据被表示为XML。这确保了可以单独开发和测试单个Activity。使Activity修改ToState的能力允许对状态机进行运行时调整。状态机可以用于配置、验证、刷新和删除配置场景。
系统100、200和230可以各种方式操作以执行其功能。例如,图3描绘了根据一个示例实施例的用于由计算设备实现合规设置以使计算设备遵循配置场景的方法的流程图300。继续参考图1、图2A和图2B来描述图3。然而,基于以下关于流程图300和图1、图2A和图2B的系统100、200和230的讨论,其他结构和操作实施例对于相关领域的技术人员将是明显的。
如图3中所示,流程图300在步骤302处开始。在步骤302中,从服务器接收配置信息,配置信息描述用于由移动设备实现以使该移动设备遵循配置场景的合规设置。例如,继续参考图1、图2A和图2B,合规配置信息处理程序228从服务器102的合规引擎122接收信息112。
在步骤304中,存储配置信息。例如,继续参考图1、图2A和图2B,合规配置信息处理程序228将配置信息112存储在配置信息数据存储库222中。
在步骤306中,接收触发以在移动设备中实现合规设置。例如,继续参考图1、图2A和图2B,设置实现触发程序232将触发218提供给编排器引擎208的状态机选择器234,从而开始在计算设备244中实现由配置信息112描述的合规设置。
在步骤308中,标识由配置信息指示的状态机,状态机描述用于实现合规设置的配置过程。例如,继续参考图1、图2A和图2B,在接收触发218之后,状态选择器机器234从配置信息数据存储库222中获得所存储的配置信息112,并且确定状态机118与配置信息112相关联。
在步骤310中,继续参考图1、图2A和图2B,执行状态机,以利用合规设置来配置移动设备。例如,继续参考图1、图2A和图2B,状态机选择器234向状态机执行引擎236提供状态机118(或指向状态机118的指针),并且状态机执行引擎236执行状态机118以利用配置信息112中描述的合规设置来配置计算设备244。
图4描绘了根据一个示例实施例的用于确定移动设备是否被适当配置的一个方法的流程图400。继续参考图1、图2A和图2B描述图4。然而,基于以下关于流程图400和图1、图2A和图2B的系统100、200和230的讨论,其他结构和操作实施例对于相关领域的技术人员将是明显的。
如图4中所示,流程图400包括步骤402。在步骤402中,执行状态机,以确定移动设备是否根据配置信息被适当地配置。例如,继续参考图1、图2A和图2B,状态机执行引擎236在不修改计算设备244的配置的情况下执行状态机118,以评估计算设备244是否处于正确的配置状态。具体地,根据本文描述的实施例,状态机可以以两种模式中的任一种运行,“配置”模式和“分析”模式。配置模式基于配置信息配置计算设备(如上所述)。分析模式在不对计算设备进行修改的情况下执行对计算设备的评估,以确保设备确实处于正确的配置状态。例如,状态机被配置为取回计算设备的一个或多个当前设置和/或其他信息(与特定的硬件/软件/固件配置有关)(例如,确定操作系统版本号、另一个应用的版本号、文件(诸如DLL(动态链接库)文件)中的条目等;确定是否存在一个或多个文件等)。状态机可以将所取回的信息与正确的配置信息进行比较,该正确的配置信息由用于计算设备的状态机维持或可由其访问。如果所有信息都匹配,则状态机可以指示计算设备遵循特定配置。如果不是所有信息都匹配,则状态机可以指示计算设备不合规。
如上所述,由状态机执行的特定配置的结果可以被传输到合规引擎。例如,图5描绘了根据一个实施例的用于存储和传输配置结果的方法的流程图500。继续参考图1、图2A和图2B来描述图5。然而,基于以下关于流程图500和图1、图2A和图2B的系统100、200和230的讨论,其他结构和操作实施例对于相关领域的技术人员将是明显的。
如图5中所示,流程图500在步骤502处开始。在步骤502处,将通过执行状态机生成的配置结果存储在配置信息数据存储库中。例如,继续参考图1、图2A和图2B,状态机执行引擎236将配置结果226存储在配置信息数据存储库222中。在实施例中,配置结果226可以包括一个或多个指示。例如,配置结果226可以提供如下指示:(多个)配置设置被编排器引擎208成功安装,安装正在进行中,或出现故障并且配置设置未被成功安装。如果出现故障,则配置结果226可以包括故障的指示,诸如通过列出一个或多个错误(通过错误码和/或描述)、事件跟踪(例如,记录可以用于调试的关于状态机执行的信息)和/或由状态机生成的其他诊断数据。
在步骤504和506中,从配置信息数据存储库获得配置结果(步骤504),并且向服务器传输配置结果(步骤506)。例如,继续参考图1、图2A和图2B,合规配置信息处理程序228从配置信息数据存储库222获得配置结果226,并且将配置结果226提供给合规引擎122以供服务器102分析。在配置结果226包括错误的情况下,服务器102可以向合规配置信息处理程序228提供较早版本的确认信息112,以便可以逆转对移动设备的任何错误改变,包括指示编排器引擎208将计算设备的状态回滚到在执行状态机之前的状态。例如,在执行状态机之前或在状态机的执行期间,计算设备的当前状态可以被保存(例如,保存在执行状态机之前存在的设置的版本、受影响的文件等),并且通过将计算设备还原为保存的状态信息,计算设备可以被重新配置成保存的状态。备选地,可以指示计算设备不回滚到先前的最后一个已知良好状态,以便可以对故障状态进行详细分析。例如,可以定义被称为“开发者模式”(或通过另一种标签)的另一种模式,在该模式中,在有错误的情况下,计算设备不回滚到最后一个已知良好状态。
此外,注意,如果在执行状态机期间遇到错误,则合规代理可以尝试纠正错误,而不是回滚到先前的状态。例如,图6描绘了根据一个示例实施例的用于请求纠正配置信息的错误的方法的流程图600。继续参考图1、图2A和图2B来描述图6。然而,基于以下关于流程图600和图1、图2A和图2B的系统100、200和230的讨论,其他结构和操作实施例对于相关领域的技术人员将是明显的。
流程图600从步骤602开始。在步骤602中,解析配置信息。例如,编排器引擎208可以被配置为针对与所接收的错误码/错误描述相对应的一个或多个配置设置来解析配置信息112。
在步骤604中,确定配置信息错误被确定。在一个实施例中,在解析期间,编排器引擎208可以确定与所接收的错误码/错误描述相对应的一个或多个配置设置。
在步骤606中,向服务器请求纠正错误。在一个实施例中,合规代理240可以将错误信息(例如,错误码、错误描述、事件跟踪等)传送给合规122以请求纠正错误。
例如,继续参考图1、图2A和图2B,在上面讨论的配置信息112由XML文件表示的示例中,配置信息错误检查器210可以解析和验证XML文件,将URI存储在注册表位置中,以及如果检测到任何错误,将错误同步报告给服务器102,并且请求服务器102立即修正错误。
注意,响应于纠正错误的请求,和/或在任何其他时间,合规引擎122可以向合规代理提供经更新的配置信息。例如,图7描绘了根据一个示例实施例的用于接收经更新的配置信息和/或附加配置信息的方法的流程图700。继续参考图1、图2A和图2B来描述图7。然而,基于以下关于流程图700和图1、图2A和图2B的系统100、200和230的讨论,其他结构和操作实施例对于相关领域的技术人员将是明显的。
如图7中所示,流程图700开始于步骤702。在步骤702中,配置信息被存储在配置信息数据存储库中。例如,继续参考图2A和图2B,配置信息112被存储在配置信息数据存储库222中。
在步骤704中,向服务器传输所存储的配置信息。在实施例中,合规代理240可以出于任何原因(包括由于错误(如上所述)和任何其他原因)将配置112传输到服务器102处的合规引擎122,以检查更新。例如,合规配置信息处理程序228可以验证配置信息数据存储库222中存储的配置信息112的状态(例如,过时或陈旧)。如果处理程序228确定配置信息112包含错误、过时、陈旧等,则处理程序228可以向服务器102传输配置信息112(或其一部分)。
在步骤706中,响应于将配置信息发送到服务器,从服务器接收经更新的配置信息和/或附加配置信息。基于由服务器102确定的所存储的配置信息112的状态,服务器102可以向合规配置信息处理程序228提供经更新的配置信息和/或附加配置信息。如此,合规配置信息处理程序228可以利用经更新的配置信息和/或附加配置信息来更新配置信息数据存储库222。
因此,实施例提高了将配置设置推送到大量设备的效率,并且基于它们已经接收并且实现了配置设置来维持跟踪这种设备对要求的合规。
实施例通过将更多的责任放置在客户端设备上以使其自身进入期望状态,减少了客户端/服务器的延时(在针对数据传输的指令之后,在开始数据的传输之前的延迟)。每个客户端设备接受来自服务器的实现配置设置的请求,立即返回服务器。该请求由客户端设备异步处理。当客户端设备完成请求时,它将发起会话以向服务器发送警报,该警报指示客户端设备实现配置设置的成功或失败。实施例还通过消除服务器持续监控客户端设备的状态并以零碎的方式维持期望的设备状态的需求,减少了客户端和服务器设备之间的网络活动。在实施例中,服务器向每个客户端提供期望的状态(以配置设置的形式),并且期望客户端维持设置(并且如果不能这样做,则在没有服务器提示的情况下通知服务器)。实施例还提供了由服务器发起的统一方式,以利用设置来配置客户端设备,而不是使服务提供商(例如,软件和/或硬件提供商)必须管理其自己的产品的过程。
III.示例移动和固定设备实施例
上述系统和方法(包括参考图1-图7描述的设备合规管理实施例)可以以硬件或硬件与软件和/或固件中的一个或两个结合来实现。例如,合规引擎112、合规代理120、编排器引擎208、配置信息错误检查器210、合规代理220、合规配置信息处理程序228、设置实现触发程序232、状态机选择器234、状态机执行引擎236、合规代理240和/或本文描述的每个组件,以及流程图300、400、500、600和700均可以被实现为计算机程序代码/指令,该计算机程序代码/指令被配置为在一个或多个处理器中被执行并且被存储在计算机可读存储介质中。备选地,合规引擎112、合规代理120、编排器引擎208、配置信息错误检查器210、合规代理220、合规配置信息处理程序228、设置实现触发程序232、状态机选择器234、状态机执行引擎236、合规代理240和/或本文描述的每个组件,以及流程图300、400、500、600和700可以被实现为硬件逻辑/电路装置。在一个实施例中,合规引擎112、合规代理120、编排器引擎208、配置信息错误检查器210,合规代理220,合规配置信息处理程序228、设置实现触发程序232、状态机选择器234、状态机执行引擎236、合规代理240和/或本文描述的每个组件,以及流程图300、400、500、600和700可以被实现在一个或多个SoC(片上系统)中。SoC可以包括集成电路芯片,其包括处理器(例如,中央处理单元(CPU)、微控制器、微处理器、数字信号处理器(DSP)等)、存储器、一个或多个通信接口,和/或另外的电路中的一个或多个,并且可以可选地执行接收到的程序代码和/或包括嵌入式固件以执行各功能。
此外,服务器102、(多个)计算设备104、计算设备204和计算设备244均可以以各种设备类型来实现。例如,图8示出了示例性移动设备800的框图,该示例性移动设备800包括被一般地示为组件802的各种可选的硬件和软件组件。如相关领域的技术人员所知道的,合规引擎112、合规代理120、编排器引擎208、配置信息错误检查器210,合规代理220,合规配置信息处理程序228、设置实现触发程序232、状态机选择器234、状态机执行引擎236、合规代理240和/或流程图300、400、500、600和700的特征/元素以及附加和/或备选的特征/元素的任何数目和组合,可以被实现为被包括在移动设备实施例中的组件802。注意,组件802中的任一组件可与组件802中的任何其他组件通信,但是为了便于说明并未示出所有连接。移动设备800可以是本文中其他地方所描述或提及的,或者以其他方式已知的各种移动设备(例如,蜂窝电话、智能电话、手持式计算机、个人数字助理(PDA)等)中的任一种,并且可允许通过诸如蜂窝或卫星网络等一个或多个通信网络804或通过局域网或广域网来进行与一个或多个移动设备的无线双向通信。
所示移动设备800可以包括用于执行诸如信号编码、图像处理、数据处理、输入/输出处理、功率控制,和/或其他功能等任务的控制器或处理器(称为处理器电路810)。处理器电路810是用一个或多个物理硬件电子电路设备元件和/或集成电路器件(半导体材料芯片或管芯)实现为中央处理单元(CPU)、微控制器、微处理器,和/或其他物理硬件处理器电路的电子和/或光学电路。处理器电路810可执行存储在计算机可读介质中的程序代码,诸如一个或多个应用814、操作系统812的程序代码、存储器820中所储存的任何程序代码等。操作系统812可控制对组件802的分配和使用,并支持一个或多个应用814(也称为“应用”、“app”等)。应用814可以包括常见移动计算应用(例如,电子邮件应用、日历、联系人管理器、web浏览器、消息接发应用)和任何其他计算应用(例如,字处理应用、测绘应用、媒体播放器应用)。
如所图示的,移动设备800可以包括存储器820。存储器820可以包括不可移除存储器822和/或可移除存储器824。不可移除存储器822可以包括RAM、ROM、闪存、硬盘或者其他公知的存储器存储技术。可移除存储器824可以包括闪存或订户身份模块(SIM)卡,这在GSM通信系统或者其他公知的存储器存储技术中是公知的,诸如“智能卡”。存储器820可以被用于储存供运行操作系统812和应用814的数据和/或代码。示例数据可以包括要经由一个或多个有线或无线网络被发送至和/或接收自一个或多个网络服务器或其他设备的网页、文本、图像、声音文件、视频数据或者其他数据集。存储器820可用于储存诸如国际移动订户身份(IMSI)等订户标识符,以及诸如国际移动设备标识符(IMEI)等设备标识符。这些标识符可以被传送到网络服务器以标识用户和设备。
多个程序可以被储存在存储器820中。这些程序包括操作系统812、一个或多个应用程序814以及其他程序模块和程序数据。这种应用程序或程序模块的示例可以包括例如用于实现上述系统的计算机程序逻辑(例如,计算机程序代码或指令),包括参考图1-图7描述的设备合规管理实施例。
移动设备800可以支持诸如触摸屏832、话筒834、相机836、物理键盘838和/或轨迹球840的一个或多个输入设备830,以及诸如扬声器852和显示器854的一个或多个输出设备850。
其他可能的输出设备(未示出)可以包括压电或其他触觉输出设备。一些设备可供应多于一个输入/输出功能。例如,触摸屏832和显示器854可以被组合在单个输入/输出设备中。输入设备830可以包括自然用户界面(NUI)。
(多个)无线调制解调器860可以被耦合至天线(未示出),并且可以支持处理器电路810与外部设备之间的双向通信,如本领域中所充分理解的那样。(多个)调制解调器860被一般化地示出,并且可以包括用于与移动通信网络804和/或其他基于无线电的调制解调器(例如,蓝牙864和/或Wi-Fi 862)进行通信的蜂窝调制解调器866。蜂窝调制解调器866可以被配置为根据任何适当的通信标准或技术(诸如GSM、3G、4G、5G等)实现电话呼叫(以及任选地传送数据)。(多个)无线调制解调器860的至少一者通常被配置为用于与一个或多个蜂窝网络(诸如,用于在单个蜂窝网络内、蜂窝网络之间、或移动设备与公共交换电话网络(PSTN)之间的数据和语音通信的GSM网络)进行通信。
移动设备800可以进一步包括至少一个输入/输出端口880、电源882、诸如全球定位系统(GPS)接收机的卫星导航系统接收机884、加速度计886,和/或物理连接器890(其可以是USB端口)、IEEE 1394(火线)端口和/或RS-232端口。所图示的组件802并非是必需或者涵盖全部的,如本领域技术人员所理解地,任何组件均可以不存在且可以附加地存在其他组件。
此外,图9描绘了其中可以实现各实施例的计算设备900的示例性实现,包括计算设备104、计算设备204、计算设备244、服务器102。本文中所提供的对计算设备900的描述只是为了说明,并不旨在限制。各实施例也可以在如相关领域的技术人员所知的其他类型的计算机系统中被实现。
如图9中所示,计算设备900包括一个或多个处理器(被称为处理器电路902)、系统存储器904,以及将包括系统存储器904的各种系统组件耦合到处理器电路902的总线906。处理器电路902是用一个或多个物理硬件电子电路设备元件和/或集成电路器件(半导体材料芯片或管芯)实现为中央处理单元(CPU)、微控制器、微处理器,和/或其他物理硬件处理器电路的电子和/或光学电路。处理器电路902可以执行存储在计算机可读介质中的程序代码,诸如操作系统930、应用程序932、其他程序934的程序代码等。总线906表示若干类型的总线结构中的任何总线结构中的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口,以及处理器或使用各种总线体系结构中的任一种的局部总线。系统存储器904包括只读存储器(ROM)908和随机存取存储器(RAM)910。基本输入/输出系统912(BIOS)被储存在ROM 908中。
计算设备900还具有一个或多个以下驱动器:用于读写硬盘的硬盘驱动器914、用于读或写可移除磁盘918的磁盘驱动器916、以及用于读或写诸如CD ROM、DVD ROM或其他光介质的可移除光盘98的光盘驱动器920。硬盘驱动器914、磁盘驱动器916和光盘驱动器920分别通过硬盘驱动器接口924、磁盘驱动器接口926和光盘驱动器接口928连接到总线906。这些驱动器以及它们相关联的计算机可读介质为计算机提供了计算机可读指令、数据结构、程序模块及其他数据的非易失性存储。虽然描述了硬盘、可移除磁盘和可移除光盘,但是诸如闪存卡、数字视频盘、RAM、ROM的其他类型的基于硬件的计算机可读存储介质和其他硬件存储介质也可以被用来储存数据。
多个程序模块可以被储存在硬盘、磁盘、光盘、ROM或RAM上。这些程序包括操作系统930、一个或多个应用程序932、其他程序934以及程序数据936。应用程序932或其他程序934可以包括例如用于实现上述系统的计算机程序逻辑(例如,计算机程序代码或指令),包括参考图1-图7描述的设备合规管理实施例。
用户可通过诸如键盘938和指点设备940的输入设备向计算设备900中输入命令和信息。其他输入设备(未示出)可以包括话筒、操纵杆、游戏手柄、碟型卫星天线、扫描仪、触摸屏和/或触摸平板、用于接收语音输入的语音标识系统、用于接收姿势输入的姿势标识系统,等等。这些及其他输入设备通常通过耦合到总线906的串行端口接口942来连接到处理器电路902,但是也可以通过其他接口(诸如并行端口、游戏端口、或通用串行总线(USB))来进行连接。
显示屏944也通过诸如视频适配器846的接口来连接到总线906。显示屏944可以在计算设备900外部或被纳入其中。显示屏944可以显示信息,以及作为用于接收用户命令和/或其他信息(例如,通过触摸、手指姿势、虚拟键盘等)的用户界面。除了显示屏944之外,计算设备900还可以包括其他外围输出设备(未示出),诸如扬声器和打印机。
计算设备900通过适配器或网络接口950、调制解调器952、或用于通过网络建立通信的其他手段来连接到网络948(例如,互联网)。可以是内置的或外置的调制解调器952可以经由串行端口接口942来连接到总线906,如图9中所示,或者可以使用包括并行接口的另一接口类型来连接到总线906。
如本文中所使用的,术语“计算机程序介质”、“计算机可读介质”以及“计算机可读存储介质”通常被用来指代物理硬件介质,诸如与硬盘驱动器914相关联的硬盘、可移除磁盘918、可移除光盘98、其他物理硬件介质,诸如RAM、ROM、闪存卡、数字视频盘、zip盘、MEM、基于纳米的存储设备,以及其他类型的物理/有形硬件存储介质(包括图9的系统存储器904)。这些计算机可读存储介质与通信介质相区别,并且不交叠(不包括通信介质)。通信介质通常在诸如载波等经调制数据信号中实施计算机可读指令、数据结构、程序模块或其他数据。术语“调制数据信号”意指以在信号中对信息进行编码的方式来使其一个或多个特性被设定或改变的信号。作为示例而非限制,通信介质包括诸如声学、RF、红外和其他无线介质,以及有线介质。各实施例还涉及这种通信介质。
如上面所指出的,计算机程序和模块(包括应用程序932及其他程序934)可以被储存在硬盘、磁盘、光盘、ROM、RAM或其他硬件存储介质上。这种计算机程序也可以经由网络接口950、串行端口接口942或任何其他接口类型来接收。这些计算机程序在由应用执行或加载时使计算机900能够实现本文中所讨论的各实施例的特征。相应地,这些计算机程序表示计算机系统900的控制器。
各实施例还涉及包括存储在任何计算机可读介质上的计算机代码或指令的计算机程序产品。这些计算机程序产品包括硬盘驱动、光盘驱动、存储器设备包、便携式记忆棒、存储卡以及其他类型的物理存储硬件。
IV.附加的示例性实施例
在一个实施例中,一种移动设备包括:至少一个处理器电路;以及存储程序代码的至少一个存储器,所述程序代码被配置为由所述至少一个处理器电路执行,所述程序代码包括:配置管理器,被配置为:从服务器接收配置信息,所述配置信息描述用于由所述移动设备实现以使所述移动设备遵循配置场景的合规设置,以及存储所述配置信息;以及编排器引擎,被配置为:从所述配置管理器接收触发,以在所述移动设备中实现所述合规设置;标识由所述配置信息指示的状态机,所述状态机描述了用于实现所述合规设置的配置过程,以及执行所述状态机,以利用所述合规设置来配置所述移动设备。
在前述移动设备的一个实施例中,所述编排器引擎还被配置为:执行所述状态机,以确定所述移动设备是否根据所述配置信息被适当配置。
在前述移动设备的一个实施例中,所述编排器引擎还被配置为:将通过执行所述状态机而生成的配置结果存储在配置信息数据存储库中;并且所述配置管理器还被配置为:从所述配置信息数据存储获得所述配置结果,并且向所述服务器传输所述配置结果。
在前述移动设备的一个实施例中,所述配置管理器还被配置为:解析所述配置信息;确定所述配置信息的错误;以及向所述服务器请求纠正所述错误。
在前述移动设备的一个实施例中,所述配置管理器还被配置为:将所述配置信息存储在配置信息数据存储库中;向所述服务器传输所存储的所述配置信息;以及响应于将所述配置信息发送到所述服务器,从所述服务器接收经更新的配置信息和/或附加配置信息。
在前述移动设备的一个实施例中,所述状态机被存储在所述移动设备上的状态机数据存储库中。
在前述移动设备的一个实施例中,以可扩展标记语言(XML)文件从所述服务器接收所述配置信息,所述可扩展标记语言(XML)文件包括与所述合规设置相关联的有效载荷以及用于下载和处理所述有效载荷的对应的统一资源标识符(URI)。
在另一个实施例中,一种方法包括:从服务器接收配置信息,所述配置信息描述用于由移动设备实现以使所述移动设备遵循配置场景的合规设置;存储所述配置信息;接收触发,以在所述移动设备中实现所述合规设置;标识由所述配置信息指示的状态机,所述状态机描述用于实现所述合规设置的配置过程;以及执行所述状态机,以利用所述合规设置来配置所述移动设备。
在一个实施例中,前述方法还包括:执行所述状态机,以确定所述移动设备是否根据所述配置信息被适当配置。
在一个实施例中,前述方法还包括:将通过执行所述状态机生成的配置结果存储在配置信息数据存储库中;从所述配置信息数据存储获得所述配置结果;以及向所述服务器传输所述配置结果。
在一个实施例中,前述方法还包括:解析所述配置信息;确定所述配置信息的错误;以及向所述服务器请求纠正所述错误。
在一个实施例中,前述方法还包括:将所述配置信息存储在配置信息数据存储库中;向所述服务器传输所存储的所述配置信息;以及响应于将所述配置信息发送到所述服务器,从所述服务器接收经更新的配置信息和/或附加配置信息。
在前述方法的一个实施例中,所述状态机被存储在所述移动设备上的状态机数据存储库中。
在前述方法的一个实施例中,以可扩展标记语言(XML)文件从所述服务器接收所述配置信息,所述可扩展标记语言(XML)文件包括与所述合规设置相关联的有效载荷以及用于下载和处理所述有效载荷的对应的统一资源标识符(URI)。
在另一个实施例中,一种计算机可读存储介质,其上记录有程序指令,所述程序指令在由移动设备的至少一个处理电路执行时,执行一种方法,所述方法包括:从服务器接收配置信息,所述配置信息描述用于由移动设备实现以使所述移动设备遵循配置场景的合规设置;存储所述配置信息;接收触发,以在所述移动设备中实现所述合规设置;标识由所述配置信息指示的状态机,所述状态机描述用于实现所述合规设置的配置过程;以及执行所述状态机,以利用所述合规设置来配置所述移动设备。
在前述方法的一个实施例中,包括:执行所述状态机,以确定所述移动设备是否根据所述配置信息被适当配置。
在前述方法的一个实施例中,所述方法还包括:将通过执行所述状态机生成的配置结果存储在配置信息数据存储库中;从所述配置信息数据存储获得所述配置结果;以及向所述服务器传输所述配置结果。
在前述方法的一个实施例中,包括:解析所述配置信息;确定所述配置信息的错误;以及向所述服务器请求纠正所述错误。
在前述方法的一个实施例中,包括:将所述配置信息存储在配置信息数据存储库中;向所述服务器传输所存储的所述配置信息;以及响应于将所述配置信息发送到所述服务器,从所述服务器接收经更新的配置信息和/或附加配置信息。
在前述方法的一个实施例中,以可扩展标记语言(XML)文件从所述服务器接收所述配置信息,所述可扩展标记语言(XML)文件包括与所述合规设置相关联的有效载荷以及用于下载和处理所述有效载荷的对应的统一资源标识符(URI)。
V.结论
尽管上面已经描述了各种实施例,但是应当理解,它们仅以示例而非限制的方式给出。对于相关领域的技术人员将明显的是,在不脱离实施例的精神和范围的情况下,可以在形式和细节上进行各种改变。因此,实施例的广度和范围不应当由任何上述示例性实施例限制,而应当仅根据所附权利要求及其等同物来限定。

Claims (15)

1.一种移动设备,包括:
至少一个处理器电路;以及
至少一个存储器,存储程序代码,所述程序代码被配置为由所述至少一个处理器电路执行,所述程序代码包括:
配置管理器,被配置为:
从服务器接收配置信息,所述配置信息描述用于由所述移动设备实现以使所述移动设备遵循配置场景的合规设置,以及
存储所述配置信息;以及
编排器引擎,被配置为:
从所述配置管理器接收触发,以在所述移动设备中实现所述合规设置;
标识由所述配置信息指示的状态机,所述状态机描述用于实现所述合规设置的配置过程,以及
执行所述状态机,以利用所述合规设置来配置所述移动设备。
2.根据权利要求1所述的移动设备,其中所述编排器引擎还被配置为:
执行所述状态机,以确定所述移动设备是否根据所述配置信息被适当配置。
3.根据权利要求1所述的移动设备,其中:
所述编排器引擎还被配置为将通过执行所述状态机而生成的配置结果存储在配置信息数据存储库中;并且
所述配置管理器还被配置为从所述配置信息数据存储库获得所述配置结果,并且向所述服务器传输所述配置结果。
4.根据权利要求1所述的移动设备,其中所述配置管理器还被配置为:
解析所述配置信息;
确定所述配置信息的错误;以及
向所述服务器请求纠正所述错误。
5.根据权利要求1所述的移动设备,其中所述配置管理器还被配置为:
将所述配置信息存储在配置信息数据存储库中;
向所述服务器传输所存储的所述配置信息;以及
响应于将所述配置信息发送到所述服务器,从所述服务器接收经更新的配置信息和/或附加配置信息。
6.根据权利要求1所述的移动设备,其中所述状态机被存储在所述移动设备上的状态机数据存储库中。
7.根据权利要求1所述的移动设备,其中所述配置信息以可扩展标记语言(XML)文件从所述服务器被接收,所述可扩展标记语言(XML)文件包括与所述合规设置相关联的有效载荷以及用于下载和处理所述有效载荷的对应的统一资源标识符(URI)。
8.一种方法,包括:
从服务器接收配置信息,所述配置信息描述用于由移动设备实现以使所述移动设备遵循配置场景的合规设置;
存储所述配置信息;
接收触发,以在所述移动设备中实现所述合规设置;
标识由所述配置信息指示的状态机,所述状态机描述用于实现所述合规设置的配置过程;以及
执行所述状态机,以利用所述合规设置来配置所述移动设备。
9.根据权利要求8所述的方法,还包括:
执行所述状态机,以确定所述移动设备是否根据所述配置信息被适当配置。
10.根据权利要求8所述的方法,还包括:
将通过执行所述状态机而生成的配置结果存储在配置信息数据存储库中;
从所述配置信息数据存储库获得所述配置结果;以及
向所述服务器传输所述配置结果。
11.根据权利要求8所述的方法,还包括:
解析所述配置信息;
确定所述配置信息的错误;以及
向所述服务器请求纠正所述错误。
12.根据权利要求8所述的方法,还包括:
将所述配置信息存储在配置信息数据存储库中;
向所述服务器传输所存储的所述配置信息;以及
响应于将所述配置信息发送到所述服务器,从所述服务器接收经更新的配置信息和/或附加配置信息。
13.根据权利要求8所述的方法,其中所述状态机被存储在所述移动设备上的状态机数据存储库中。
14.根据权利要求8所述的方法,其中所述配置信息以可扩展标记语言(XML)文件从所述服务器被接收,所述可扩展标记语言(XML)文件包括与所述合规设置相关联的有效载荷以及用于下载和处理所述有效载荷的对应的统一资源标识符(URI)。
15.一种计算机程序产品,包括其上记录有计算机程序逻辑的计算机可读介质,所述计算机程序逻辑包括:
计算机程序逻辑装置,用于使处理器能够执行权利要求8-14中的任一项。
CN201980050259.8A 2018-07-31 2019-06-27 由移动设备实现合规设置以遵循配置场景 Pending CN112867988A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/051,145 2018-07-31
US16/051,145 US11184223B2 (en) 2018-07-31 2018-07-31 Implementation of compliance settings by a mobile device for compliance with a configuration scenario
PCT/US2019/039507 WO2020027954A1 (en) 2018-07-31 2019-06-27 Implementation of compliance settings by a mobile device for compliance with a configuration scenario

Publications (1)

Publication Number Publication Date
CN112867988A true CN112867988A (zh) 2021-05-28

Family

ID=67297388

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980050259.8A Pending CN112867988A (zh) 2018-07-31 2019-06-27 由移动设备实现合规设置以遵循配置场景

Country Status (6)

Country Link
US (3) US11184223B2 (zh)
EP (1) EP3807754A1 (zh)
JP (2) JP7389791B2 (zh)
KR (1) KR20210027400A (zh)
CN (1) CN112867988A (zh)
WO (1) WO2020027954A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200028879A1 (en) 2018-07-17 2020-01-23 Microsoft Technology Licensing, Llc Queryless device configuration determination-based techniques for mobile device management
EP3726323B1 (en) 2019-04-17 2023-03-08 Raytheon Technologies Corporation Gas turbine engine communication gateway with integral antennas
US11492132B2 (en) 2019-04-17 2022-11-08 Raytheon Technologies Corporation Gas turbine engine configuration data synchronization with a ground-based system
EP3726480A1 (en) * 2019-04-17 2020-10-21 United Technologies Corporation Remote updates of a gas turbine engine
US11913643B2 (en) 2019-04-17 2024-02-27 Rtx Corporation Engine wireless sensor system with energy harvesting
US11208916B2 (en) 2019-04-17 2021-12-28 Raytheon Technologies Corporation Self-healing remote dynamic data recording
EP3726325B1 (en) 2019-04-17 2022-08-24 Raytheon Technologies Corporation Gas turbine engine with dynamic data recording
EP3726324B1 (en) 2019-04-17 2023-03-01 Raytheon Technologies Corporation Gas turbine engine communication gateway with internal sensors
US10977877B2 (en) 2019-04-17 2021-04-13 Raytheon Technologies Corporation Engine gateway with engine data storage
JP2023134179A (ja) * 2022-03-14 2023-09-27 オムロン株式会社 検査システム
US11914457B2 (en) 2022-03-30 2024-02-27 Bank Of America Corporation System for early detection of operational failure in component-level functions within a computing environment

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090049518A1 (en) * 2007-08-08 2009-02-19 Innopath Software, Inc. Managing and Enforcing Policies on Mobile Devices
US20120216242A1 (en) * 2011-02-22 2012-08-23 PCTEL Secure LLC Systems and Methods for Enhanced Security in Wireless Communication
US20130054682A1 (en) * 2011-08-29 2013-02-28 Fiberlink Communications Corporation Platform for deployment and distribution of modules to endpoints
CN102999730A (zh) * 2011-09-15 2013-03-27 微软公司 保护计算设备中的数据使用
US20150296368A1 (en) * 2014-04-09 2015-10-15 Microsoft Technology Licensing, Llc Device policy manager
CN105247830A (zh) * 2013-03-29 2016-01-13 思杰系统有限公司 提供移动设备管理功能
CN106068521A (zh) * 2014-03-03 2016-11-02 微软技术许可有限责任公司 关于合规策略更新的应用的通信状态
US9557983B1 (en) * 2010-12-29 2017-01-31 Emc Corporation Flexible storage application deployment mechanism
CN107077555A (zh) * 2014-10-28 2017-08-18 微软技术许可有限责任公司 利用信号的策略设置配置
US20170289128A1 (en) * 2016-03-30 2017-10-05 Airwatch Llc Associating user accounts with enterprise workspaces
US20170329966A1 (en) * 2016-05-13 2017-11-16 Qualcomm Incorporated Electronic device based security management

Family Cites Families (105)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7546629B2 (en) 2002-03-06 2009-06-09 Check Point Software Technologies, Inc. System and methodology for security policy arbitration
US7644432B2 (en) * 2003-10-10 2010-01-05 Bea Systems, Inc. Policy inheritance through nested groups
WO2005064498A1 (en) 2003-12-23 2005-07-14 Trust Digital, Llc System and method for enforcing a security policy on mobile devices using dynamically generated security profiles
EP1794670A4 (en) 2004-09-23 2009-05-06 Airclic Inc CROSS-REFERENCE OF MOBILE PROCESSING AUTOMATION METHODS TO ASSOCIATED APPLICATIONS
US7516478B2 (en) 2005-06-03 2009-04-07 Microsoft Corporation Remote management of mobile devices
US8626128B2 (en) 2011-04-07 2014-01-07 Microsoft Corporation Enforcing device settings for mobile devices
US9332424B2 (en) * 2005-08-05 2016-05-03 Qualcomm Incorporated Centrally managed solution for all device management activities
CA2622479C (en) * 2005-09-15 2018-03-06 Fringland Ltd. Incorporating a mobile device into a peer-to-peer network
US7870490B2 (en) * 2005-11-15 2011-01-11 Microsoft Corporation On-the-fly device configuration and management
US7685263B2 (en) 2006-12-19 2010-03-23 Blue Coat Systems, Inc. Method and system for configuring a device with a wireless mobile configurator
US7987471B2 (en) * 2007-01-26 2011-07-26 Microsoft Corporation Mobile device management proxy system
US8997091B1 (en) * 2007-01-31 2015-03-31 Emc Corporation Techniques for compliance testing
US8949340B2 (en) * 2007-02-05 2015-02-03 Boadin Technology, LLC Systems and methods for organizing content for mobile media services
US20080201705A1 (en) * 2007-02-15 2008-08-21 Sun Microsystems, Inc. Apparatus and method for generating a software dependency map
US8532667B2 (en) * 2007-03-02 2013-09-10 Aegis Mobility, Inc. System and methods for monitoring the geospatial context associated with a mobile communication device
US7676573B2 (en) * 2008-02-08 2010-03-09 Microsoft Corporation Node monitor client cache synchronization for mobile device management
EP2321736A4 (en) 2008-08-08 2014-09-10 Innopath Software Inc INTELLIGENT MOBILE DEVICE MANAGEMENT CLIENT
US8261354B2 (en) * 2008-09-17 2012-09-04 International Business Machines Corporation System, method and program product for dynamically performing an audit and security compliance validation in an operating environment
US8286220B2 (en) 2008-09-23 2012-10-09 Zscaler, Inc. Browser access control
US9781148B2 (en) * 2008-10-21 2017-10-03 Lookout, Inc. Methods and systems for sharing risk responses between collections of mobile communications devices
US20100205159A1 (en) * 2009-02-10 2010-08-12 Jun Li System and method for managing data
US8898748B2 (en) 2009-05-21 2014-11-25 Mobile Iron, Inc. Remote verification for configuration updates
US8750178B2 (en) * 2009-06-01 2014-06-10 Qualcomm Incorporated Connection manager for a wireless communication device
US8336080B2 (en) * 2009-06-26 2012-12-18 Symbol Technologies, Inc. Methods and apparatus for rating device security and automatically assessing security compliance
US20110246499A1 (en) * 2010-03-30 2011-10-06 Yuval Carmel Method and system for evaluating compliance within a configuration-management system
US8473743B2 (en) 2010-04-07 2013-06-25 Apple Inc. Mobile device management
US8719780B2 (en) * 2010-06-29 2014-05-06 Oracle International Corporation Application server with a protocol-neutral programming model for developing telecommunications-based applications
US8359016B2 (en) 2010-11-19 2013-01-22 Mobile Iron, Inc. Management of mobile applications
US8813167B2 (en) 2010-12-30 2014-08-19 Apple Inc. Dynamic device configuration using predicates
US9369433B1 (en) * 2011-03-18 2016-06-14 Zscaler, Inc. Cloud based social networking policy and compliance systems and methods
US9065800B2 (en) * 2011-03-18 2015-06-23 Zscaler, Inc. Dynamic user identification and policy enforcement in cloud-based secure web gateways
WO2012161125A1 (ja) * 2011-05-20 2012-11-29 日本放送協会 受信機、プログラム及び受信方法
EP2712091A4 (en) * 2011-05-20 2014-11-05 Japan Broadcasting Corp END DEVICE COORDINATION SYSTEM, RECEIVER AND RECEIVER METHOD
EP2727042B1 (en) 2011-07-01 2016-04-06 Fiberlink Communications Corporation Rules based actions for mobile device management
US20140032733A1 (en) * 2011-10-11 2014-01-30 Citrix Systems, Inc. Policy-Based Application Management
US9756501B2 (en) * 2011-10-24 2017-09-05 Blackberry Limited System and method for wireless device configuration
EP3358792A1 (en) * 2011-11-25 2018-08-08 Bandwidthx Inc. System for providing intelligent network access selection for a mobile wireless device
US8713646B2 (en) * 2011-12-09 2014-04-29 Erich Stuntebeck Controlling access to resources on a network
US9378390B2 (en) * 2012-03-30 2016-06-28 Nokia Technologies Oy Method and apparatus for policy adaption based on application policy compliance analysis
US20140064068A1 (en) * 2012-08-30 2014-03-06 Qualcomm Incorporated Interactions between ran-based and legacy wlan mobility
US8726343B1 (en) 2012-10-12 2014-05-13 Citrix Systems, Inc. Managing dynamic policies and settings in an orchestration framework for connected devices
US20140109176A1 (en) * 2012-10-15 2014-04-17 Citrix Systems, Inc. Configuring and providing profiles that manage execution of mobile applications
US10382275B1 (en) * 2012-10-22 2019-08-13 Amazon Technologies, Inc. Automated infrastructure configuration
CN103001955B (zh) * 2012-11-22 2017-05-31 南京中兴软件有限责任公司 业务下载加速的方法与系统、业务状态的维护方法与装置
US20140148140A1 (en) * 2012-11-29 2014-05-29 Lg Cns Co., Ltd. Policy-based mobile device management system (mdms) based on access history information
US9420002B1 (en) * 2013-03-14 2016-08-16 Mark McGovern Authorization server access system
US9473417B2 (en) * 2013-03-14 2016-10-18 Airwatch Llc Controlling resources used by computing devices
US10652242B2 (en) * 2013-03-15 2020-05-12 Airwatch, Llc Incremental compliance remediation
US9819682B2 (en) 2013-03-15 2017-11-14 Airwatch Llc Certificate based profile confirmation
US9985850B2 (en) * 2013-03-29 2018-05-29 Citrix Systems, Inc. Providing mobile device management functionalities
US20160174132A1 (en) * 2013-07-10 2016-06-16 Ciaran Hynes Method and apparatus for limiting the use of a mobile communications device
US9705919B1 (en) 2013-07-12 2017-07-11 Palo Alto Networks, Inc. Security policy enforcement for mobile devices based on device state
US9894099B1 (en) * 2013-07-12 2018-02-13 Palo Alto Networks, Inc. Automatically configuring mobile devices and applying policy based on device state
US20150052616A1 (en) * 2013-08-14 2015-02-19 L-3 Communications Corporation Protected mode for securing computing devices
US9723487B2 (en) * 2013-08-19 2017-08-01 American Megatrends, Inc. Mobile device security system
US20150244743A1 (en) * 2014-02-21 2015-08-27 Airwatch Llc Risk assessment for managed client devices
CA2927859A1 (en) * 2013-10-24 2015-04-30 Internet Infrastructure Services Corporation Methods of dynamically securing electronic devices and other communications through environmental and system measurements leveraging tailored trustworthy spaces
WO2015064076A1 (ja) * 2013-10-30 2015-05-07 日本電気株式会社 通信端末の管理システム、管理方法、管理サーバ、端末制御方法および通信端末
US9614745B2 (en) * 2014-01-09 2017-04-04 Citrix Systems, Inc. Systems and methods for cloud-based probing and diagnostics
WO2015152894A1 (en) * 2014-04-01 2015-10-08 Hewlett-Packard Development Company, L.P. Device-type based content management
US9584515B2 (en) * 2014-04-30 2017-02-28 Citrix Systems, Inc. Enterprise system authentication and authorization via gateway
US10924554B2 (en) * 2014-05-05 2021-02-16 Citrix Systems, Inc. Application customization
WO2015191964A1 (en) 2014-06-13 2015-12-17 Uber Technologies, Inc. Enforcing policies based on information received from external systems
US9900801B2 (en) * 2014-08-08 2018-02-20 Parallel Wireless, Inc. Congestion and overload reduction
US20160042010A1 (en) * 2014-08-11 2016-02-11 Cox Communications, Inc. Systems and Methods of Facilities Location
US9647897B2 (en) * 2014-08-20 2017-05-09 Jamf Software, Llc Dynamic grouping of managed devices
US9652212B2 (en) 2014-09-24 2017-05-16 Oracle International Corporation Managing change events for devices in an enterprise system
US9444849B2 (en) * 2014-10-06 2016-09-13 The Boeing Company Enforcing policy compliance on a device
US10063594B2 (en) 2014-12-16 2018-08-28 OPSWAT, Inc. Network access control with compliance policy check
US10509898B2 (en) * 2015-01-21 2019-12-17 Jim Barney et al. Enhanced security authentication methods, systems and media
US10979280B2 (en) * 2015-08-12 2021-04-13 Airwatch Llc Managing devices through secondary communication channels
US10452497B2 (en) * 2015-08-14 2019-10-22 Oracle International Corporation Restoration of UI state in transactional systems
US10419514B2 (en) * 2015-08-14 2019-09-17 Oracle International Corporation Discovery of federated logins
US10021542B2 (en) * 2015-08-28 2018-07-10 Airwatch Llc Providing access to applications with varying enrollment levels
US10296765B2 (en) * 2015-09-30 2019-05-21 International Business Machines Corporation Multi-level security enforcement
US9967287B2 (en) * 2015-10-27 2018-05-08 Airwatch Llc Detection of offline attempts to circumvent security policies
EP3193256B1 (en) * 2016-01-12 2018-08-01 Politechnika Poznanska A fault-tolerant data processing computer system and method for implementing a distributed two-tier state machine
US9990222B2 (en) * 2016-03-18 2018-06-05 Airwatch Llc Enforcing compliance rules against hypervisor and virtual machine using host management component
US10552823B1 (en) * 2016-03-25 2020-02-04 Early Warning Services, Llc System and method for authentication of a mobile device
US10225740B2 (en) * 2016-05-12 2019-03-05 Zscaler, Inc. Multidimensional risk profiling for network access control of mobile devices through a cloud based security system
US10595202B2 (en) * 2016-05-23 2020-03-17 Citrix Systems, Inc. Dynamic access to hosted applications
US10003670B2 (en) 2016-06-17 2018-06-19 Airwatch Llc Remote provisioning and enrollment of enterprise devices with on-premises domain controllers
US20180063088A1 (en) * 2016-09-01 2018-03-01 Airwatch Llc Hypervisor network profiles to facilitate vpn tunnel
US10592676B2 (en) * 2016-10-28 2020-03-17 Tala Security, Inc. Application security service
US10362095B2 (en) * 2016-11-04 2019-07-23 Airwatch Llc Distributed network diagnostics of enterprise devices utilizing device management
US10243946B2 (en) * 2016-11-04 2019-03-26 Netskope, Inc. Non-intrusive security enforcement for federated single sign-on (SSO)
US10505983B2 (en) * 2016-11-09 2019-12-10 Airwatch Llc Enforcing enterprise requirements for devices registered with a registration service
US20180157457A1 (en) * 2016-12-01 2018-06-07 Airwatch Llc Enforcing display sharing profiles on a client device sharing display activity with a display sharing application
US10402558B2 (en) * 2016-12-16 2019-09-03 Blackberry Limited Device restrictions during events
US10652278B2 (en) * 2016-12-19 2020-05-12 Forescout Technologies, Inc. Compliance monitoring
US10547712B2 (en) * 2017-03-14 2020-01-28 Vmware, Inc Reserving physical resources based upon a physical identifier
WO2018183375A1 (en) * 2017-03-29 2018-10-04 MobileIron, Inc. Correlating mobile device and app usage with cloud service usage to provide security
US10620941B2 (en) * 2017-04-11 2020-04-14 Dell Products L.P. Updating and rolling back known good states of information handling systems
US11316897B2 (en) * 2017-05-19 2022-04-26 Vmware, Inc. Applying device policies using a management token
US11227032B1 (en) * 2017-05-24 2022-01-18 Amazon Technologies, Inc. Dynamic posture assessment to mitigate reverse engineering
US10437625B2 (en) * 2017-06-16 2019-10-08 Microsoft Technology Licensing, Llc Evaluating configuration requests in a virtual machine
US10104710B1 (en) * 2017-06-19 2018-10-16 Global Tel*Link Corporation Dual mode transmission in a controlled environment
US11243756B1 (en) * 2017-08-14 2022-02-08 Amazon Technologies, Inc. Extensible resource compliance management
KR102387657B1 (ko) * 2017-08-23 2022-04-19 삼성전자주식회사 Usb 인터페이스를 통해 외부 장치와 연결하는 방법 및 그를 위한 전자 장치
WO2019083909A1 (en) * 2017-10-24 2019-05-02 Antenna Audio, Inc. SYSTEMS AND METHODS FOR MULTIMEDIA GUIDED TOURS
US10810055B1 (en) * 2017-12-14 2020-10-20 Amazon Technologies, Inc. Request simulation for ensuring compliance
US10776495B2 (en) * 2018-05-10 2020-09-15 Microsoft Technology Licensing, Llc Systems and methods for attributing security vulnerabilities to a configuration of a client device
US11271812B2 (en) * 2018-06-29 2022-03-08 Forescout Technologies, Inc. Segmentation management including visualization, configuration, simulation, or a combination thereof
US20200028879A1 (en) 2018-07-17 2020-01-23 Microsoft Technology Licensing, Llc Queryless device configuration determination-based techniques for mobile device management
US10802821B2 (en) * 2018-07-24 2020-10-13 Vmware, Inc. Firmware management

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090049518A1 (en) * 2007-08-08 2009-02-19 Innopath Software, Inc. Managing and Enforcing Policies on Mobile Devices
US9557983B1 (en) * 2010-12-29 2017-01-31 Emc Corporation Flexible storage application deployment mechanism
US20120216242A1 (en) * 2011-02-22 2012-08-23 PCTEL Secure LLC Systems and Methods for Enhanced Security in Wireless Communication
US20130054682A1 (en) * 2011-08-29 2013-02-28 Fiberlink Communications Corporation Platform for deployment and distribution of modules to endpoints
CN102999730A (zh) * 2011-09-15 2013-03-27 微软公司 保护计算设备中的数据使用
CN105247830A (zh) * 2013-03-29 2016-01-13 思杰系统有限公司 提供移动设备管理功能
CN106068521A (zh) * 2014-03-03 2016-11-02 微软技术许可有限责任公司 关于合规策略更新的应用的通信状态
US20150296368A1 (en) * 2014-04-09 2015-10-15 Microsoft Technology Licensing, Llc Device policy manager
CN107077555A (zh) * 2014-10-28 2017-08-18 微软技术许可有限责任公司 利用信号的策略设置配置
US20170289128A1 (en) * 2016-03-30 2017-10-05 Airwatch Llc Associating user accounts with enterprise workspaces
US20170329966A1 (en) * 2016-05-13 2017-11-16 Qualcomm Incorporated Electronic device based security management

Also Published As

Publication number Publication date
US11750444B2 (en) 2023-09-05
US20240064058A1 (en) 2024-02-22
WO2020027954A1 (en) 2020-02-06
US20210351978A1 (en) 2021-11-11
KR20210027400A (ko) 2021-03-10
JP7389791B2 (ja) 2023-11-30
JP2021533454A (ja) 2021-12-02
US20200044916A1 (en) 2020-02-06
EP3807754A1 (en) 2021-04-21
JP2024020448A (ja) 2024-02-14
US11184223B2 (en) 2021-11-23

Similar Documents

Publication Publication Date Title
US11750444B2 (en) Implementation of compliance settings by a mobile device for compliance with a configuration scenario
US8910138B2 (en) Hot pluggable extensions for access management system
CN109413043B (zh) 实现数据库动态配置的方法及装置、电子设备、存储介质
JP2017528844A (ja) 企業システム内の装置の変更イベントの管理
US9990214B2 (en) Dynamic agent delivery
KR20130142961A (ko) 자동 애플리케이션 업데이트
US10404568B2 (en) Agent manager for distributed transaction monitoring system
US11811832B2 (en) Queryless device configuration determination-based techniques for mobile device management
US9374417B1 (en) Dynamic specification auditing for a distributed system
US20170147462A1 (en) Agent dynamic service
CN111625301A (zh) 幂等处理方法、装置、设备及存储介质
CN107644075B (zh) 收集页面信息的方法和装置
CN111338834A (zh) 数据存储方法和装置
CN111818179A (zh) 用户请求的处理方法、装置、计算设备和介质
US10459905B2 (en) Centralized hierarchical configuration system for applications in a distributed network
US10073689B2 (en) Managing application lifecycles within a federation of distributed software applications
US10432490B2 (en) Monitoring single content page application transitions
US20170223136A1 (en) Any Web Page Reporting and Capture
US9569433B1 (en) Mobile application analytics
CN112463616A (zh) 一种面向Kubernetes容器平台的混沌测试方法和装置
WO2017049317A1 (en) Secure data link for subscriber identification module (sim)-based processor
CN112565340B (zh) 分布式应用的服务调度方法、装置、计算机系统及介质
CN113360172B (zh) 应用部署方法、装置、计算机设备及存储介质
CN113626169A (zh) 业务进程调度方法、装置、电子设备以及存储介质
CN115914329A (zh) 信息推送方法、装置、电子设备及可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination