动态应用容器的制作方法

文档序号:11935125阅读:270来源:国知局
动态应用容器的制作方法与工艺

手持移动计算设备已经变得无处不在。例如,许多人都拥有所谓的智能电话或者平板计算机。这样的设备允许用户使用蜂窝数据系统或者其它网络系统来访问广范围的服务。例如,使用这样的设备,用户可以访问电子邮件、因特网、在线数据库等。具有个人智能电话(或者其它智能设备)的人们可能经常想要使用这些个人设备来访问属于雇佣他们的公司的公司资源。

标识和应对移动设备上的数据的不同分类(例如,个人比对团体)可能是困难的,特别地是当设备在不同用户设置中被使用(例如,企业比对个人使用)时。

本文要求保护的主题不限于解决诸如以上描述的缺点或者仅在诸如以上描述的环境中操作的实施例。实际上,提供

背景技术:
仅为了举例说明其中可以实现本文描述的一些实施例的一个示例技术领域。



技术实现要素:

本文示例的一个实施例包括一种可以在计算环境中被实践的方法。该方法包括用于使用动态容器(container)来管理设备上的应用交互的动作。该方法包括:针对设备上的应用集合,基于特定条件确定多个容器组。每个容器组定义应用集合和用于容器组中的应用的交互参数集合,该交互参数集合定义应用之间的交互的边界。该方法还包括标识特定条件的一个或多个改变。作为标识特定条件的一个或多个改变的结果,该方法包括改变容器组中的成员资格。

另一实施例包括一种被配置为管理应用交互的设备。该设备包括多个应用。该设备还包括多个应用容器。给定应用容器将应用分组在一起并且实施给定容器中的应用之间的交互的边界。该设备被配置为基于条件的改变来改变容器中的应用集合。

提供该发明内容是为了以简化的形式介绍概念的选集,这些概念将在以下具体实施方式中被进一步描述。本发明内容无意标识要求保护的主题的关键特征或者主要特征,也无意用于辅助确定要求保护的主题的范围。

附加特征和优点将在以下描述中被阐述并且部分将从该描述中变得清楚或者可以通过对本文的教导的实践而得以了解。可以借助在所附权利要求中具体地指出的手段和组合来实现和获得本发明的特征和优点。本发明的特征将从以下描述和所附权利要求中变得更完全地清楚,或者可以从下文阐述的本发明的实践中得以了解。

附图说明

为了描述可以用来获得以上记载的以及其它的优点和特征的方式,将通过参照在附图中图示的具体实施例来呈现对以上简要描述的主题的更具体描述。理解这些附图仅描绘了典型实施例,并且因此不会被认为限制范围,将通过使用附图、借助附加特质和细节来描述和解释实施例,在附图中:

图1图示一种具有动态地被组织到容器中的应用的设备;以及

图2图示一种使用动态容器来管理设备上的应用交互的方法。

具体实施方式

一种容器化(containerization)解决方案可以被用来将数据的不同分类彼此隔离。容器化是如下过程,该过程将设备上的数据分隔开以使得满足特定限定符(qualifier)集合的数据结束于具体容器集合中。容器化的目标是将特定特点(trait)集合应用到特定容器、例如加密或者访问限制。在一些实施例中,容器可以实施在容器中的应用之间的交互的边界。本文的一些实施例实现一个机制集合以用于基于一个或多个属性来动态地构建用于应用的一个或多个容器。例如,属性可以包括以下一项或多项:应用的源、策略约束、与应用的安装有关的因素、网络连接、地理防护(geo fencing)考虑、时间防护(time fencing)考虑等等。用于动态地产生容器的能力在确定如何在应用之中共享信息时给予了更大灵活性。

现在参照图1,其图示一个示例实施例。图1图示了设备102。该设备可以例如是移动设备,诸如电话、平板或者其它移动设备。然而,设备102可以是从多类其它更少可移动或者不可移动计算设备中选择的样本。设备104已经在其上安装了应用集合104。

实施例可以利用多条信息来确定应用可以参与的容器。图1图示了这样的容器集合118。在图1图示的示例中,设备管理代理108(在该设备上运行的一款集中式软件)被利用来从设备112获取应用专用策略116并且实施应用专用策略116以使得应用被包括在特定容器中或者从特定容器被排除。在一些实施例中,设备管理代理108可以使用从Redmond Washington的Microsoft Corporation可获得的Company Portal来实施。

设备管理代理也可以监视设备102上的软件安装。在一些实施例中,对给定容器的访问由设备管理代理108按策略来门控,然而该策略以可以源自于管理服务112(诸如从Redmond Washington的Microsoft Corporation可获得的Intune服务)或者平台提供的商店(诸如用于iOS平台设备的iTunes、用于Android设备的Play Store、用于Windows设备的Windows Store等)的专用应用为目标。在被启用了限制的应用启动时,它联系设备服务112(诸如在所示示例中通过设备管理代理108)以获取它的策略和容器专用配置。对管理服务112的这一调用也使能在给定容器启用之前在设备102上的应用参与新的容器。

实施例也可以监视新应用在设备102上的安装以确定它们是否应当被批准访问容器。如果策略允许的话,这允许在原始容器被定义之后被添加到设备102的应用参与容器。

可以在各种实施例中实现各种添加或者备选。例如,一些实施例可以实现用于容器的应用的策略独立标识。例如,可以基于应用的发布者、应用类型或者其它应用特性来确定容器。

在一些实施例中,单个应用可以能够同时参与多个容器。

在一些实施例中,用于容器可访问性的信息的备选源可以被实现。例如,实施例可以能够基于设备位置来限制访问容器。这可以由GPS、蜂窝位置、Wi-Fi位置服务等来确定。实施例可以能够基于网络连接考虑来限制访问。例如,可以对于特定应用限制容器可访问性,其中限制要求已知的网络、与VPN的连接、特定网络加密等。

在一些实施例中,多个信息源可以被用来标识能够访问容器的应用。

一些实施例可以基于定义的策略来标识应当被包括或者从容器被排除的应用。

如先前指示的,一些实施例可以允许在容器解决方案被实现之前在设备上的应用参与容器。

实施例可以基于安装源来标识应当被包括/从容器被排除的应用。因此,例如如果从平台应用贮存库安装一些应用,则可以从特定容器排除这些应用,其中对于那些相同容器,可以允许通过设备管理代理从管理服务安装的应用。

实施例可以能够在准则改变时从容器移除先前包括的应用。如所指示的,这可以在应用开始联系管理服务以获得策略和容器专用配置时通过由这些应用做出的检查来实现。

实施例可以基于设备合规来标识应当被包括或者从容器被排除的应用。例如,因素诸如是操作系统、操作系统版本、设备受密码或者pin保护、密码保护是某个水平(诸如长度和/或复杂性)等。

如先前指示的,实施例可以允许应用参与多个不同容器。

现在以下讨论涉及多种方法和可以执行的方法动作。虽然可以按照某个顺序讨论或者在流程图中将方法动作图示为按照特定顺序出现,但是除非具体地陈述或者由于一个动作依赖于在执行该动作之前完成另一动作而有所要求,否则对特定排序没有要求。

现在参照图2,其图示了方法200。方法200包括可以在计算环境中被实践的动作。方法200包括用于管理设备上的应用交互的动作。方法200包括针对设备上的应用集合,基于特定条件确定多个容器组(动作202)。每个容器组定义应用集合和用于给定的容器组中的应用的交互参数集合,该交互参数集合定义应用之间的交互的边界。因此,例如如图1中所示,应用104可以被组织到不同容器118中。在给定容器内的应用被允许以如由用于给定容器的参数所定义的某些方式来相互交互。以下将更具体讨论交互细节。

方法200还包括标识特定条件的一个或多个改变(动作204)。以下图示各种改变的示例。

方法200还包括作为标识特定条件的一个或多个改变的结果,改变容器组中的成员资格(动作206)。因此,应用可以被动态地放置在不同容器中。

可以针对相同容器中的应用实施各种交互边界。例如,方法200可以被实践在以下情况中:应用之间的交互的边界包括允许共享针对数据集的边界。因此,例如不同应用可以使用相同的经加密的数据集。在应用处于相同容器中,应用可以时共享加密和解密密钥。

备选地或者附加地,应用之间的交互的边界可以包括限制访问特定数据。

备选地或者附加地,应用之间的交互的边界可以包括限制特定交互。例如,可以在相同容器中的应用之间和/或从那些应用到其它应用限制复剪切/复制/粘贴功能。其它边界可以包括在启动另一应用、检查另一应用的存在、从另一应用读取文档或者数据、向另一应用发送数据、由另一应用启动等时的边界。

方法200可以被实践在以下情况中:特定条件包括与用于应用的安装源有关的因素。例如,用于应用的容器选择可以在该应用从一般应用商店被安装时与在从组织专用应用贮存库被安装时不同。

方法200可以被实践在以下情况中:特定条件的改变包括与应用的安装有关的因素。例如,安装的新应用可以影响用于其它应用的容器决策。这可以归因于被安装的应用本身被包括在一个或多个容器中、已有应用相对于所安装的应用的限制、或者出于其它原因。相似地,方法200可以被实践在以下情况中:特定条件的改变包括与应用的移除有关的因素。相似地,方法200可以被实践在以下情况中:特定条件的改变包括与应用更新有关的因素。

方法200可以被实践在以下情况中:特定条件的改变包括与策略的改变有关的因素。策略改变可以影响如何向容器指派应用。

方法200可以被实践在以下情况中:特定条件的改变包括与应用动作有关的因素。

方法200可以被实践在以下情况中:特定条件的改变包括与身份切换有关的因素。因此,例如,如果用户切换账户或者以别的方式切换他们在设备上的身份,这可以引起与如何向容器指派应用有关的改变。

方法200可以被实践在以下情况中:特定条件的改变包括与地理防护有关的因素。因此,例如设备的物理位置(诸如通过GPS、蜂窝塔跟踪、Wi-Fi位置服务等)可以被确定,并且物理位置可以被用来确定如何向容器指派应用。相似地,方法200可以被实践在以下情况中:特定条件的改变包括与时间防护有关的因素。容器指派可以基于时间而被改变。因此,例如在当天的特定时间,管理员可能希望限制或者允许应用功能。例如,管理员可以希望允许在工作小时期间访问特定数据、但是在那些小时以外限制访问。

方法200可以被实践在以下情况中:特定条件的改变包括与网络改变有关的因素。因此,例如某个网络可以比其它网络更安全。备选地或者附加地,可以使用将影响容器指派的VPN。备选地或者附加地,决策可以基于网络的类型(诸如无线、蜂窝、硬接线)、网络的速度或者其它考虑。可以基于网络考虑和/或改变网络考虑来将应用放置到容器中,以允许或者限制数据访问。

方法200可以被实践在以下情况中:特定条件的改变包括与设备合规状态(device compliance state)有关的因素。例如,设备可以让它的数据加密、密码或者其它状态被改变成非合规状态。

方法200可以被实践在以下情况中:应用能够属于多个不同容器。

另外,方法可以由包括一个或多个处理器和计算机可读介质的计算系统来实现,计算机可读介质诸如是计算机存储器。具体而言,计算机存储器可以存储在由一个或多个处理器执行时使得各种功能、诸如在实施例中记载的动作被执行的计算机可执行指令。

本发明的实施例可以包括或者利用如以下更具体讨论的包括计算机硬件的专用或者通用计算机。在本发明的范围内的实施例还包括用于承载或者存储计算机可执行指令和/或数据结构的物理和其它计算机可读介质。这样的计算机可读介质可以是可以由通用或者专用计算机系统访问的任何可获得的介质。存储计算机可执行指令的计算机可读介质是物理存储介质。承载计算机可执行指令的计算机可读介质是传输介质。因此,举例而言并且没有限制,本发明的实施例可以包括至少两个截然不同种类的计算机可读介质:物理计算机可读存储介质和传输计算机可读介质。

物理计算机可读存储介质包括RAM、ROM、EEPROM、CD-ROM或者其它光盘存储装置(诸如CD、DVD等)、磁盘存储装置或者其它磁存储设备或者是可以用来以计算机可执行指令或者数据结构的形式存储所期望的程序代码装置并且可以由通用或者专用计算机访问的任何其它介质。

“网络”被定义为实现在计算机系统和/或模块和/或其它电子设备之间传送电子数据的一个或者多个数据链路。在通过网络或者另一通信连接(硬接线、无线或者硬接线或者无线的组合)向计算机传送或者提供信息时,计算机恰当地将连接视为传输介质。传输介质可以包括网络和/或数据链路,网络和/或数据链路能够被用来承载处于计算机可执行指令或者数据结构的形式的所期望的程序代码装置并且可以由通用或者专用计算机访问。以上各项的组合也被包括在计算机可读介质的范围内。

另外,在到达各种计算机系统部件时,可以从传输计算机可读介质向物理计算机可读存储介质(或者相反)自动地传送处于计算机可执行指令或者数据结构这一形式的程序代码装置。例如,通过网络或者数据链路接收到的计算机可执行指令或者数据结构可以被缓冲在网络接口模块(例如“NIC”)内的RAM中,然后最终地被传送到计算机系统RAM和/或在计算机系统处的更少易失性的计算机可读物理存储介质。因此,计算机可读物理存储介质可以被包括在也(或者甚至主要地)利用传输介质的计算机系统部件中。

计算机可执行指令例如包括使能通用计算机、专用计算机或者专用处理设备执行某个功能或者某组功能的指令和数据。计算机可执行指令可以例如是二进制文件、诸如汇编语言之类的中间格式指令、或者甚至源代码。虽然已经用结构特征和/或方法动作特有的言语来描述主题,但是将理解在所附权利要求中定义的主题未必地限于以上描述的特征或者动作。实际上,所描述的特征和动作被公开为实施权利要求的示例形式。

本领域技术人员将认识到,本发明可以被实践在具有许多类型的计算机系统配置网络计算环境中,包括个人计算机、桌面型计算机、膝上型计算机、消息处理器、手持设备、多处理器系统、基于微处理器或者可编程的消费者电子装置、网络PC、小型计算机、大型机计算机、移动电话、PDA、寻呼机、路由器、交换机等。本发明也可以被实践在分布式系统环境中,其中通过网络链接(由硬接线数据链路、无线数据链路或者由硬接线和无线数据链路的组合链接)的本地和远程计算机系统二者执行任务。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备二者中。

备选地或者附加地,本文描述的功能可以至少部分由一个或多个硬件逻辑部件执行。作为示例但非限制,可以被使用的硬件逻辑部件的示例类型包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD)等。

本发明可以以其它具体形式来体现而不脱离其精神实质或者特性。所描述的实施例将在所有方面仅被视为示例而非限制。本发明的范围因此由所附权利要求而不是由前述描述指示。落在权利要求的含义和等效范围内的所有改变将被涵盖在权利要求的范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1