利用上下文信息片段管理虚拟执行环境的方法和装置与流程

文档序号:13518265阅读:155来源:国知局
利用上下文信息片段管理虚拟执行环境的方法和装置与流程

本专利要求于2015年7月3日递交的申请案ep15175287.0的在先申请优先权。

本发明的各方面一般涉及移动计算设备,尤其涉及移动计算设备中虚拟计算环境的管理。



背景技术:

近年来,无线设备从提供简单语音和短信功能的基本移动电话发展成功能强大的移动计算设备,例如智能手机、平板电脑或平板手机。这些移动计算设备托管各种各样的强大软件应用,提供涵盖通信、互联网、娱乐、银行、个人健身以及其他等众多应用领域的高级功能集。移动计算设备不再是为技术爱好者预留的奢侈品,而是成为商业和个人使用的重要工具。

这些年来,出现了各种虚拟化方法,在单个计算设备上提供多个执行环境。硬件或平台虚拟化创建出让主体软件看起来像是基于硬件的真实计算机的环境,从而使虚拟化不可见。硬件虚拟化允许将完整的操作系统托管在单个硬件计算平台上的独立隔离环境中,并完全隔离每个提供保护公司和个人信息所必需的安全和保护的计算环境。由于虚拟化是在硬件层面进行的,因此可以托管整个常规操作系统,以允许每个环境运行完全不同的操作系统和应用,而无需知道它们是在虚拟环境中运行还是直接在硬件平台上运行。

虚拟化也可以在操作系统层面进行,通常称为操作系统虚拟化。通过操作系统虚拟化,将多个隔离的计算环境或容器托管在单个常规操作系统上。操作系统虚拟化通常允许将相同类型但不同版本的操作系统,如linux,托管在每个容器中,但不允许将不同的操作系统,如linux和windows,托管在单个硬件平台上运行的不同容器内。

创造和运行虚拟机的软件称为管理程序或虚拟机监控器。本地管理程序直接在硬件平台上运行并创建一个或多个运行客体操作系统的虚拟环境。或者,管理程序可以在常规操作系统之上或之内运行,此时,它们可以被称为托管管理程序。在这些配置的任一种中,即本地管理程序或托管管理程序中,各虚拟环境由创建它们的管理程序管理并控制。

移动电话,或更普遍地,移动计算设备正变得越来越复杂,为其用户提供丰富的功能集以及广泛和大量的应用。这种复杂性使得个人和企业信息技术(informationtechnology,简称it)管理员难以管理和保护这些移动设备。it管理员更愿意管理隔离的已知的环境,以最小化系统变化,并在所管理环境中提供所需的安全级别。虚拟化为创建这些隔离的已知的环境提供了有用的方案。

由于这些趋势,移动计算环境的终端用户会发现有必要在其移动计算设备上管理多个虚拟环境。在多个环境之间进行手动管理和切换对于用户来说可能是繁重的。用户自己必须首先确定应使用哪个虚拟环境,然后停用当前任何激活的虚拟环境,激活所需的虚拟环境,并等待移动计算设备启动所选择的虚拟环境。

因此,需要改进的方法和装置来管理移动计算设备上的虚拟执行环境。



技术实现要素:

本发明的目的在于提供一种方法和装置,用于改进在移动计算装置上对虚拟执行环境的管理。该目的由独立权利要求的内容来解决。进一步,在从属权利要求中可以发现有利的修改。

根据本发明第一方面,计算装置获得了上述和其它目的和优点。所述计算装置包括处理器,用于维护多个虚拟执行环境并且确定所述多个虚拟执行环境的上下文元数据。然后,所述处理器收集所述计算装置的当前上下文信息,并基于所述收集的当前上下文信息和所述上下文元数据激活所述多个虚拟执行环境中的一个或多个。

根据第一方面,在所述装置的第一种可能的实现方式中,所述处理器用于基于所述当前上下文信息、所述上下文元数据以及优选地用户凭证集控制对所述多个虚拟执行环境中激活的一个或多个的访问。所公开的实施例的各方面使得所述激活的虚拟执行环境能被安全访问。

根据第一方面或第一方面的第一种实现方式,在所述装置的第二种可能的实现方式中,所述当前上下文信息包括所述计算装置的地理位置、移动信息以及电池和充电状态中的一个或多个,所述处理器用于基于所述当前上下文信息选择所述多个虚拟执行环境中激活的一个或多个。根据所述当前上下文信息,能够更准确地选择要激活的所需虚拟执行环境以及实现合适的安全策略的应用。

根据第一方面或第一方面的第一种或第二种实现方式,在所述装置的第三种可能的实现方式中,所述当前上下文信息包括当前日期和时间。所述处理器用于选择所述多个虚拟执行环境中的一个或多个以基于所述当前上下文信息进行激活。将日期和时间信息包括在所述当前上下文信息中,可以使虚拟执行环境选择与日历和其他用户日程信息相协调。

根据第一方面或第一方面的第一种至第三种实现方式,在所述装置的第四种可能的实现方式中,所述当前上下文信息包括无线接入网络信息,所述处理器用于选择所述多个虚拟执行环境中的一个或多个以基于所述当前上下文信息进行激活。无线接入网络信息的使用允许确定设备位置而不激活gps子系统,从而获得与位置信息类似的优点,而无需附带电池消耗。

根据第一方面或第一方面的第一种至第四种实现方式,在所述装置的第五种可能的实现方式中,所述处理器用于通过确定多个环境元数据来确定所述多个虚拟执行环境的所述上下文元数据,其中,所述多个环境元数据中的每个环境元数据与所述多个虚拟执行环境中的对应虚拟执行环境相关联。所公开的实施例的各方面提供了更准确的虚拟环境执行选择和激活。

根据第一方面或第一方面的第一种至第五种实现方式,在所述装置的第六种可能的实现方式中,所述环境元数据包括用户的工作时间、用户的工作位置、用户的家庭位置以及公司政策中的一个或多个。所述处理器用于基于公司数据库自动更新所述环境元数据。所述环境元数据中的日程安排和位置信息的使用提高了虚拟执行环境选择的准确性。

根据第一方面或第五种或第六种实现方式,在所述装置的第七种可能的实现方式中,所述环境元数据包括日历信息,所述日历信息包括用户的商务旅行信息和用户的假期信息中至少一个。所述处理器用于基于所述日历信息自动更新所述环境元数据。当用户的日常例程和位置与正常模式不同时,所述环境元数据中包含用户的日历信息将改善虚拟执行环境的选择。

根据第一方面或第一种至第七种实现方式,在所述装置的第八种可能的实现方式中,所述处理器用于基于所述计算装置的所述地理位置以及优选地所述环境元数据限制对所述虚拟执行环境中一个或多个的访问。基于地理位置限制对虚拟执行环境的访问提供了新增安全级别,将应用于高度敏感或易受攻击的虚拟执行环境。

根据第一方面或第一方面的第一种至第八种实现方式,在所述装置的第九种可能的实现方式中,所述多个虚拟执行环境包括硬件虚拟化和操作系统虚拟化之一。执行环境虚拟化允许在单个移动计算装置上激活和去激活多个执行环境。

根据第一方面或第一方面的第一种至第九种任一实现方式,在所述装置的第十种可能的实现方式中,所述处理器用于提供硬件虚拟化并且将所述多个虚拟执行环境中激活的一个或多个作为客体软件进行托管,其中,所述多个虚拟执行环境中激活的一个或多个包括操作系统。硬件虚拟化通过将操作系统和应用软件包含在每个虚拟环境中来提供可靠的环境切换。

根据第一方面或第一方面的第一种至第十种任一实现方式,在所述装置的第十一种可能的实现方式中,所述计算装置是移动计算装置。在移动计算装置上使用虚拟执行环境消除了用户携带多个移动计算装置或设备的需求。

根据第一方面或第一方面的第一种至第十一种任一实现方式,在所述装置的第十二种可能的实现方式中,数据安全性和保护数据免受损坏由装置提供,其中,所述处理器用于将所述多个虚拟执行环境中的一个和所述虚拟执行环境中的另一个隔离。

根据本发明第二方面,通过一种用于计算装置的方法获得了上述和其它目的和优点,该方法包括以下步骤:维护多个虚拟执行环境;确定所述多个虚拟执行环境的上下文元数据,以及收集用于所述计算装置的当前上下文信息。然后,处理器基于所收集的当前上下文信息和所述上下文元数据激活所述多个虚拟执行环境中的一个或多个。

根据第二方面,在所述方法的第一种可能的实现方式中,该方法包括:通过确定多个环境元数据确定所述多个虚拟执行环境的所述上下文元数据,其中,所述多个环境元数据中的每个环境元数据与所述多个虚拟执行环境中的对应虚拟执行环境相关联。

根据本发明的第三方面,上述和其它目的和优点由计算机程序产品获得,所述计算机程序产品包括非瞬时性计算机程序指令,当所述非瞬时性计算机程序指令被处理装置执行时,该处理装置执行根据第二方面或第二个方面的第一种实现方式所述的方法。

从这些结合附图描述的实施例中,示例性实施例的这些和其它方面、实现形式和优点将变得显而易见。然而,应当理解,描述和附图仅为了说明的目的而设计,而不是作为对所公开的发明的限制的定义,对此,应当参考所附权利要求书。本发明的其他方面和优点将在下面的描述中阐述,并且部分地将从描述中显而易见,或者可以通过本发明的实践来了解。此外,本发明的各方面和优点可以通过所附权利要求书中特别指出的方法和组合来实现和获得。

附图说明

在本公开内容的以下详述部分中,将参看附图中所展示的示例性实施例来更详细地解释本发明,其中:

图1示出了显示包含所公开的实施例的各方面的示例性架构的框图;

图2示出了显示包含所公开的实施例的各方面的示例性计算设备的框图;

图3示出了包含所公开的实施例的各方面的用于管理虚拟执行环境的示例性方法的流程图。

具体实施方式

现参考图1,可以看到示出根据本发明实施例的架构100的实施例的框图,所述架构100可有利地用于在移动计算设备上提供虚拟执行环境的自动激活。软件架构包括虚拟执行环境104-1、104-2、104-3……104-n的集合,通常称为虚拟执行环境104,其中“n”表示集合中虚拟执行环境的可能数量。每个虚拟执行环境104-1、104-2、104-3……104-n提供完全隔离的可以执行操作系统和各种应用的计算机处理环境。可以使用任何适当的虚拟化技术例如完全硬件虚拟化、操作系统虚拟化或适当的组合或混合虚拟化技术来创建虚拟执行环境104-1、104-2、104-3……104-n。

所公开的实施例的各方面针对在采用架构100的装置例如移动计算设备上实现虚拟执行环境的自动激活。图2示出了适于实现所公开的实施例的各方面的示例性装置200的框图。装置200包括耦合到计算机存储器204,射频(radiofrequency,简称rf)单元206,用户界面(userinterface,简称ui)208和显示器210的处理器202。装置200适合用作计算设备,在某些实施例中可以是移动计算设备,包括含有蜂窝电话、智能电话和平板设备的各种类型的无线通信用户设备中的任何一种。为了实现本文的描述目的,装置200将被称为移动计算设备。

处理器202可以是单个处理设备,或者可以包括多个处理设备,其中,包括专用设备,例如数字信号处理(digitalsignalprocessing,简称dsp)设备、微处理器、专用处理设备或通用计算机处理器。处理器202可以用于实现此处所述的用于自动选择虚拟计算环境104-1、104-2、104-3……104-n的任何方法。处理器202通常包括与图形处理单元(graphicsprocessingunit,简称gpu)串联工作的cpu,并且可以包括用于处理信号处理任务的dsp。在某些实施例中,处理器202可以包括一个或多个核,通常包括四个核。

处理器202耦合到存储器204,存储器204可以是各种类型的易失性和非易失性计算机存储器的组合,例如,只读存储器(read-onlymemory,简称rom)、随机存取存储器(randomaccessmemory,简称ram)、磁盘或光盘、或其他类型的计算机内存器。存储器204存储可由处理器202访问和执行的计算机程序指令,以使处理器202执行各种期望的计算机已实现的过程或方法,例如此处所述的虚拟执行环境的自动选择。

存储器204中存储的程序指令被组织为程序指令集或组,在行业中,所述程序指令集或组被称作各种术语,例如程序、软件组件、软件模块、单元等。每个模块可以包括设计用于支持某个目的的功能集。例如,软件模块可以是识别的类型,例如管理程序102,虚拟执行环境104,操作系统、应用、设备驱动程序或其他常规可识别的类型的软件组件。当处理器202执行一组计算机程序指令时,包括在存储器204中的程序数据和数据文件可由处理器202存储和处理。

在某些实施例中,移动计算设备200包括耦合到处理器202的rf单元206,用于基于与处理器202交换的数字数据212来发送和接收rf信号。rf单元206用于发送和接收可以符合一个或多个传统无线通信标准的无线电信号,例如由第三代合作伙伴计划(3rdgenerationpartnershipproject,简称3gpp)开发的长期演进(longtermevolution,简称lte)和高级lte(lte-a)、基于电气和电子工程师学会(instituteofelectricalandelectronicsengineers,简称ieee)802.11标准的wi-fi以及其他。在某些实施例中,rf单元206包括接收机,能够接收和解释全球定位系统(globalpositioningsystem,简称gps)中的卫星发送的消息并且与从其他发射机接收的信息合作以获得与计算设备200的位置有关的定位信息。或者,移动计算设备200可以不包括rf单元206。

ui208可以包括一个或多个用户界面元素,例如触摸屏、键盘、按钮、语音命令处理器以及适于与用户交换信息的其他元件。ui208还可以包括显示单元210,用于显示适合于计算设备或移动用户设备的各种信息,并且可以通过任何适当的显示类型来实现,例如有机发光二极管(organiclight-emittingdiode,简称oled)、液晶显示器(liquidcrystaldisplay,简称lcd)以及较不复杂的元件,如led或指示灯。在某些实施例中,显示单元210包括用于从计算设备200的用户接收信息的触摸屏。

再次参考图1,虚拟执行环境104,也可称为沙盒,由运行在硬件计算设备如图2的处理器202上的管理程序102创建和管理。管理程序102可以是直接在硬件计算设备上运行的本地管理程序,或者,管理程序102可以是在常规操作系统内运行的托管管理程序。根据这些方法中的任一种,管理程序102创建虚拟执行环境104-1至104-n中的每一个,并且在整个生命周期中管理每个创建的虚拟执行环境104的执行状态。

虚拟执行环境104的状态指的是其执行状态。例如,虚拟执行环境104-1、104-2、104-3……104-n可以具有创建、运行、暂停、停止等状态。在某些实施例中,允许一个以上的虚拟执行环境104-1、104-2、10-4-3……104-n同时运行可能是有利的。例如,在这些实施例中,具有附加状态可能是有用的,例如在前台中运行,虚拟执行环境104-1、104-2、104-3……104-n在前台运行并且控制移动计算设备100的用户界面组件(如用户界面208)。

再例如,具有附加状态可能是有用的,例如在后台中运行,其中一个或多个虚拟执行环境104-1、104-2、104-3……104-n在后台运行,但是不能访问移动计算设备100的用户界面组件(如用户界面208)。本领域技术人员将容易地认识到,可以采用各种不同的状态,而不偏离所公开的实施例的精神和范围。

管理程序102包括上下文感知引擎106和设备状态管理器108。上下文感知引擎106收集和管理移动计算设备200的上下文信息,并基于所收集的上下文信息来确定上下文感知信息。所述上下文感知信息可用于设备状态管理器108,设备状态管理器108基于所述上下文信息中的信息片段自动管理不同虚拟执行环境104-1至104-n的状态。例如,当在移动计算设备200如移动电话上实现架构100时,可以在每个虚拟执行环境104-1、104-2、104-3……104-n中执行单独和隔离的移动电话应用。

例如,单独和隔离的移动电话应用可以包括需要或具有限制性和保护性安全策略的用户的工作电话。单独和隔离的移动电话应用还可以包括用户的私人电话,其需要或具有较少限制性的安全策略,允许如上网和玩游戏等活动。这些仅仅是示例,应理解的是,单独和隔离的移动电话应用可以包括多个安全策略中的任一个。

在一实施例中,设备状态管理器108可以用于当用户进入公司设施时将工作电话应用切换到运行状态,并将私人电话应用切换到暂停状态。可以使用由移动设备200收集的作为上下文信息的信息片段如公司设施位置、用户的当前位置和公司安全策略,以自动启用和禁用一个或多个虚拟执行环境104-1、104-2、104-3……104-n。因此,总是将用户在任一时间最可能期望的虚拟执行环境104-1、104-2、104-3……104-n呈现给用户。来自上下文信息的信息片段还可以用于通过控制各个虚拟执行环境104-1、104-2、104-3……104-n的状态来禁止或允许访问特定的虚拟执行环境104。

此外,上下文感知引擎106收集可针对当前条件选择最合适的虚拟执行环境104-1、104-2、104-3……104-n的各种通用信息。所收集的通用信息可能包括:例如,

●家庭位置和办公位置;

●与设备使用相关的设备用户的策略;

●公司的安全政策;

●设备用户的工作时间;

●商务旅行信息;

●假期信息;

●用户配置的设置和规则;

●已知或可信任的无线接入网络;

●其他相关信息。

在上下文感知引擎106中处理该收集的信息以创建可以稍后为设备状态管理器108所用的上下文元数据,以针对虚拟执行环境104-1、104-2、104-3……104-n做出状态和访问决定。

上下文感知引擎106还收集和处理关于移动计算设备200的当前状况和上下文的当前信息。当前上下文信息可以包括:例如,

●设备的地理位置;

●加速度计数据;

●电池和充电状态;

●无线接入网络的接近度;

●当前日期和时间。

在某些实施例中,期望对所收集的当前信息做附加处理以增强具有较高级别概念的当前上下文信息,例如设备200是休息还是在运动、步行、在汽车中行驶、丢失等等。

在某些实施例中,可以从用户的角度将每个虚拟执行环境104-1、104-2、104-3……104-n视为单独和不同的设备。例如,需要携带多个移动计算设备如商务电话和个人电话的用户可以用实现多个虚拟执行环境104-1、104-2、104-3……104-n的单个移动计算设备200来代替这些多个设备。在本实施例中,可以将一个虚拟执行环境104-1用于运行商业/工作电话应用,并且可以将另一个虚拟执行环境104-2用于运行个人/私人或家庭电话应用。然后,用户可以根据需要在虚拟执行环境104-1和104-2之间切换,从而通过单个移动计算设备200获得多个单独设备的功能和安全性。

在不同的虚拟执行环境104-1、104-2、104-3……104-n之间手动切换对于移动计算设备200的用户来说可能是繁重的。当在虚拟执行环境104-1、104-2、104-3……104-n之间切换时,用户需要确定要使用哪个环境,从虚拟执行环境104-1、104-2、10-4-3……104-n的集合中选择所需的虚拟执行环境,并且可能要在所选择的虚拟执行环境出现并连接到无线网络时等待。可以使用上述方法和装置来通过自动管理虚拟执行环境104-1、104-2、104-3……104-n的状态来减轻这种负担,以保证移动计算设备200最可能需要的虚拟执行环境在需要时正在运行。

参考一些例子对于如何将上下文感知,即,上下文元数据和当前上下文信息的分析,用于管理虚拟执行环境104-1、104-2、104-3……104-n具有启发性。参考上述示例的业务/工作设备和家庭/私人设备,业务设备,即,运行商用的移动通信应用的虚拟执行环境,可以在办公期间自动启用。可以基于包括办公时间的上下文元数据和包括当前日期和时间的上下文信息片段启用业务设备。如此处所使用的术语“启用”是指将正在运行应用例如移动通信应用的虚拟执行环境104-1的状态改变为前台或运行状态,并且将剩余的虚拟执行环境104-2、104-3……104-n切换到不可访问状态,例如在后台运行、暂停或停止。

或者,当基于包括办公位置的上下文元数据和包括移动计算设备200的当前地理位置的上下文信息片段检测到移动计算设备200正进入办公室或工作空间时,业务设备能够自动启用。当基于包括家庭位置和办公位置的上下文元数据和包括移动计算设备200的当前地理位置的上下文信息片段检测到移动计算设备200到达用户的家庭时,业务设备可以自动禁用,并且家庭设备自动启用。

再例如,当移动计算设备200的用户出差时,可以基于包括公司安全策略和对应业务日历的信息片段总是启用或禁用业务设备。

在某些实施例中,还可以有利地运用无线接入网络的知识。这些无线接入网络可以包括移动计算设备200已知的无线接入网络,如工作wi-fi网络、家庭wi-fi网络或其他已知的无线接入网络。基于无线接入网络的环境切换的示例可以是当移动计算设备200连接到商业wi-fi网络时自动启用或激活业务设备。类似地,当移动计算设备200检测到与用户的家庭相关联的无线接入网络时,家庭设备可以自动启用。

在一实施例中,虚拟执行环境104-1、104-2、104-3……104-n之间的切换可以基于与已知无线接入网络的连接,或者可以基于无线接入网络的标识而无需实际建立与无线接入网络的连接。在连接或标识的任一情况下,邻近的无线接入网络可以用于选择期望的虚拟执行环境104-1、104-2、104-3……104-n。

除了在虚拟执行环境104-1、104-2、104-3……104-n之间自动启用或切换之外,上述架构100可以有利地用于在手动切换虚拟执行环境104-1、104-2、104-3……104-n时自动管理设备安全。例如,移动计算设备200可以用于在允许基于包括公司it安全策略的上下文元数据激活业务设备之前总是需要强认证。无论何时,当基于包括公司it安全策略和公司设施的位置的上下文元数据,以及包括移动计算设备200的当前地理位置的上下文信息片段检测到移动计算设备200处于一组预定义的办公位置之外时,用来运行非常安全的设备应用的特定虚拟执行环境都是禁止运行的。

在一实施例中,当移动计算设备200的电池电量低于预定电量时,可以自动启用低功耗虚拟执行环境。在该示例中,可以基于包括电池电量和充电状态的上下文信息片段来禁用高功耗的虚拟执行环境。

使用上下文元数据和当前上下文信息来管理和自动启用/禁用虚拟执行环境的上述示例仅旨在作为理解的辅助,并且本领域技术人员将容易地认识到其他应用是可能的,且不偏离目前公开的实施例的精神和范围。

图3示出了用于管理适于在如上述和参考图2所描述的计算设备200的计算设备上实现的虚拟执行环境的示例性方法。示例性方法300用于管理302两个或更多个虚拟执行环境的集合,如虚拟执行环境104-1、104-2、104-3……104-n。被管理302的虚拟执行环境可以是任何适当类型的虚拟执行环境,包括硬件虚拟化、操作系统虚拟化或其他虚拟化技术。虚拟执行环境可以彼此隔离,使得在一个虚拟执行环境中运行的软件不能在不同的虚拟执行环境中访问数据或破坏软件和数据。在某些实施例中,一个或多个虚拟执行环境通过完全硬件虚拟化来实现,并且该虚拟执行环境运行主机操作系统。

示例性方法300确定304被管理或维护302的虚拟执行环境的上下文元数据。在某些实施例中,进一步分析或处理上下文元数据以形成对应于每个虚拟执行环境的环境元数据是有利的。上下文元数据或环境元数据可以包括各种上下文信息,例如用户的家庭位置、用户的工作位置或工作时间,以及包括公司it安全策略的公司策略。也可以将用户的日历信息例如商务旅行信息和假期信息合并到上下文或环境元数据中,以便改进虚拟执行环境的自动管理。

收集306(例如,在计算设备内部使用传感器收集)关于移动计算设备200周围的事物和条件的当前上下文信息并提供给上下文感知引擎如上述上下文感知引擎106。所收集的当前上下文信息可以包括关于移动计算设备200的上下文信息如当前日期和时间、设备的当前地理位置或设备的移动状态如加速度、速度、设备极邻近的(wlan)网络等。收集关于移动计算设备200的状态的当前上下文信息也是有利的,其中所述上下文信息包括如电池电量、充电状态、设备温度等参数。

然后,所收集的当前上下文信息,上下文元数据和环境元数据用于自动激活308移动计算设备200的用户最可能需要的一个或多个虚拟执行环境。

因此,尽管文中已示出、描述和指出应用于本发明的示例性实施例的本发明的基本新颖特征,但应理解,所述领域的技术人员可以在不脱离本发明的精神和范围的情况下,对设备和方法的形式和细节以及设备操作进行各种省略、取代和改变。进一步地,明确希望,以大体相同的方式执行大体相同的功能以实现相同结果的那件元件的所有组合均在本发明的范围内。此外,应认识到,结合所揭示的本发明的任何形式或实施例进行展示和/或描述的结构和/或元件可作为设计选择的通用项而并入所揭示或描述或建议的任何其他形式或实施例中。因此,本发明仅受限于随附权利要求书所述的范围。

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