用于基于移动设备的集群计算架构的方法和装置与流程

文档序号:12168374阅读:250来源:国知局
用于基于移动设备的集群计算架构的方法和装置与流程

本公开各方面大体上涉及无线通信系统,尤其涉及配置移动计算设备组建计算资源集群。



背景技术:

传统的大规模计算系统依赖于强大的数以千计的CPU内核集群,例如,位于美国橡树岭国家实验室的Cray XK7使用560,640个Opteron内核,提供每秒约17590万亿次的浮点运算(tera-floating point operations per second,TFlops),其中每个Opteron 6274内核提供每秒2820亿次的浮点运算(giga-floating point operations per second,GFlops)。上述Cray XK7的成本约为1亿美元,要求安装空间大,消耗电量大且维护频繁、昂贵。因为操作这些大规模计算系统的成本高、资源要求多,所以很少有企业能够购买和操作这些系统。

随着用户将首选的计算平台从台式电脑及传统笔记本电脑转变为诸如智能手机、平板手机、平板电脑设备等移动设备,可用移动计算设备的数量急剧飙升。据估计,全球有超过10亿台智能手机,其中许多都可通过公共网络架构访问。这些绝大部分移动计算设备都配有基于ARM控股公司开发的指令集及架构的处理内核,例如热门的Cortex内核。这些绝大部分移动计算设备运行的是Linux操作系统。一个Cortex A15内核可提供约100GFlops,三个Cortex A15内核提供的计算能力相当于一个Opteron 6274内核。例如,假设每台移动设备包含至少一个Cortex A15内核,使用170万台移动设备能够组建计算能力与一些世界上最大的超级电脑不相上下的集群。

使用移动设备的空闲计算能力面临许多挑战。手机、平板电脑等移动计算设备能访问敏感的个人及商业相关信息。因此,使用这些设备上的空闲计算资源需要可靠有力的安全保障。手机或其它移动计算设备的用户不能容忍数据延迟或缓慢响应时间。因此,必须保证在移动计算设备,尤其是手机或其它以用户为主的应用上的响应时间快和延迟短。

近来,基于云的计算日益成为使用一组通过公共广域网通信的远程部署的计算资源提供计算服务和/或资源的象征。在本文中,术语云服务架构指的是远程部署的通过公共网络通信的计算资源集合,这样,可协调任意部分资源或全部资源解决同一计算问题或执行一组协同计算任务。云服务架构可被视为一种分布着各个计算资源或集群节点的计算集群,通过广域网通信,并且可执行相关计算任务,而非只能执行同一计算任务。

计算数据中心中的服务器上已经广泛部署了各种集群技术,包括软件公司联盟开发的LXC Linux Container、Docker,即针对Windows操作系统设计的开源容器技术、Rocket,基于标准的应用容器技术,等等。这些技术支持应用在独立环境运行以保障安全,而且使应用在异构硬件架构上的部署更加简单。

目前,正在研究和介绍针对移动计算设备等嵌入式设备的容器技术。例如,一些早期技术包括三星公司开发的KNOX以及英特尔子公司开发的安卓McAfee安全容器(McAfee Secure Container for Android)。这些容器实现要求设备上的所有容器使用同一操作系统,需要配置一些应用以保证其只能在容器内运行。在这些实现中,容器提供的是数据隔离,这样数据属于该容器内运行的应用,而运行在该容器外的或运行在另一容器内的其它应用不能访问该数据。运行在该容器内的应用同样也不能访问其它任何应用的数据。

基于一种虚拟技术,提出了一个可替代方案。通过运行几个都拥有各自操作系统的容器,该方案支持在同一嵌入式设备上运行多个不同的操作系统。这些容器由根命名空间创建,其中根命名空间也运行无线访问服务等能被这些容器内运行的各种操作系统同时访问的服务。虽然,也有其它组建嵌入式设备集群的尝试,但这些方法并不使用类似容器的技术进行数据隔离。

因此,需要各种用于创建和管理移动计算设备上的安全容器资源的改进方法和装置,以及需要各种用于基于许多移动计算设备的空闲计算资源来创建云服务架构的方法和装置。



技术实现要素:

本发明的目的是提供一种用于将移动计算设备整合到云服务架构中的装置和方法。本发明的另一目的是提供一种用于安全访问移动计算装置的空闲计算能力的方法和装置。

根据本发明第一方面,一种包括处理器的移动计算装置获得上述及其它目的和优点。所述处理器用于执行init进程,其中所述init进程包括容器管理器。所述处理器使用所述容器管理器创建多个安全容器,以及在所述多个安全容器的第一安全容器中执行第一移动设备进程。所述处理器用于在所述多个安全容器的第二安全容器中执行集群节点进程,其中所述集群节点进程用于作为云服务架构的节点。

根据所述第一方面,在所述移动计算装置的第一种可能实施形式中,所述移动计算设备的空闲计算能力由所述移动计算装置提供给集群计算架构,所述移动计算装置还包括耦合到所述处理器的无线通信接口;当执行所述集群节点进程时,所述处理器用于:从所述无线通信接口接收任务请求;向所述init进程传递所述任务请求;从所述init进程接收任务结果;以及通过所述无线通信接口传输所述任务结果。

根据如上所述第一方面或根据所述第一方面的所述第一种可能实施形式,在所述移动计算装置的第二种可能实施形式中,所述处理器可以执行集群计算架构的计算任务,其中当执行所述init进程时,所述处理器用于:创建与所述任务请求对应的任务容器;下载与所述任务请求对应的任务环境;在所述任务容器中执行任务;以及向所述第二安全容器发送任务结果。

根据如上所述第一方面或根据任一前述实施形式,在所述移动计算装置的第三种可能实施形式中,所述移动计算装置包括耦合到所述处理器的无线通信接口,集群计算架构通过配置处理器执行以下操作来控制任务的执行:当执行所述集群节点进程时,从所述无线通信接口接收任务生命周期命令,并向所述init进程发送所述接收到的任务生命周期命令,以及当执行所述init进程时,基于所述任务生命周期命令修改所述任务容器的状态,其中所述任务生命周期命令为开始命令、停止命令、暂停命令、恢复命令及撤销命令之一。

根据所述第一方面或根据所述第一方面的任一前述实施形式,在所述移动计算装置的第四种可能实施形式中,一种装置可提供所述安全容器之间的安全通信,其中所述init进程包括虚拟网桥,所述处理器用于:将所述多个安全容器中的每个安全容器以通信方式与所述虚拟网桥耦合;以及基于预定过滤标准控制所述多个安全容器中的安全容器对之间的通信。

根据所述第一方面的所述第四种可能实施形式,在所述移动计算装置的第五种可能实施形式中,所述处理器用于支持所述多个安全容器中的安全容器与所述init进程之间的通信,并阻止所述多个安全容器中安全容器之间的直接通信(无需两者之间的所述init进程)。

根据如上所述第一方面或根据任一前述实施形式,在所述移动计算装置的第六种可能实施形式中,所述移动计算装置通过所述处理器执行以下操作优化可用空计算资源的利用率:当执行所述init进程时,基于启发式方法将资源分配给所述多个安全容器中的每个安全容器。

根据如上所述第一方面或根据任一前述实施形式,在所述移动计算装置的第七种可能实施形式中,通过使所述处理器在所述多个安全容器中的第三安全容器中执行第二移动设备进程,用户具有单个物理计算装置的多个移动设备。

根据如上所述第一方面的所述第七种可能实施形式,在所述移动计算装置的第八种可能实施形式中,通过使所述处理器在所述第一移动设备进程上执行安全策略没有在所述第二移动设备进程上执行的严格,所述移动计算装置支持单独控制每个移动设备进程的安全策略。

根据如上所述第一方面或根据任一前述实施形式,在所述移动计算装置的第九种可能实施形式中,所述处理器用于:基于配置文件创建安全容器,其中所述配置文件仅能被所述init进程访问;指定所述容器的启动状态;以及指定所述容器的资源配额。

根据如上所述第一方面或根据任一前述实施形式,在所述移动计算装置的第十种可能实施形式中,通过使所述处理器激活所述第一移动设备进程和所述第二移动设备进程之一以及使当前激活移动设备进程优先访问所述移动计算装置的所有资源,所述移动计算装置保障所述用户拥有良好的用户体验。

根据如上所述第一方面或根据任一前述实施形式,在所述移动计算装置的第十一种可能实施形式中,所述移动计算装置防止所述集群架构影响所述移动计算装置的用户的用户体验,其中所述移动计算装置还包括用户界面,所述处理器用于阻止所述集群进程访问所述用户界面。

根据如上所述第一方面或根据任一前述实施形式,在所述移动计算装置的第十二种可能实施形式中,通过使所述多个安全容器中的每个所述安全容器包括不同的操作系统,所述移动计算装置提高了集群计算架构的灵活性和功能。

在本发明的第二方面,一种移动计算设备的方法获得上述目的及其它目的和优点。所述方法包括:执行init进程,其中所述init进程包括容器管理器;使用所述容器管理器创建多个安全容器;在所述多个安全容器的第一安全容器中执行第一移动设备进程;以及在所述多个安全容器的第二安全容器中执行集群节点进程,其中所述集群节点进程用于作为云服务架构的节点。

在本发明的第三方面,一种包括非瞬时性计算机程序指令的计算机程序获得上述目的及其它目的和优点,其中当所述指令被处理器执行时,使得所述处理器执行第二方面所述的方法。

结合附图,在本文所述实施例中,上述及其它方面、实施形式、较佳实施例的优点可显而易见。然而,可理解的是,说明和附图仅是示例性的,并不限制本公开发明范围,关于本公开发明范围,可参见所附权利要求书。本发明的其它方面和优点将在以下说明中描述,一部分在描述中显而易见或在可实施本发明时知晓。此外,本发明内容和优点可通过在所附权利要求书中特别指出的方式和组合实现及获得。

附图说明

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

图1示出了一种移动计算设备的方框图,所述移动计算设备示出了部署整合了本发明实施例各方面的集群节点进程的示例性实施例;

图2示出了一种整合本发明实施例各方面的云服务架构的示例性实施例的直观图;

图3示出了一种适合实施本公开实施例的移动计算设备的方框图;

图4示出了一种使用移动计算设备作为云或集群计算架构节点的示例性方法的流程图,所述集群计算架构整合了本发明实施例各个方面;

图5示出了一种在整合了本发明实施例各方面的云服务架构中执行任务的方法的示例性实施例的流程图。

具体实施方式

图1示出了一种移动计算设备100的方框图,所述移动计算设备示出了部署集群节点进程的示例性实施例。所述移动计算设备在其软件架构中包括多个安全容器102、104、106,多个安全容器102、104、106由本文中称为init的中央控制进程108管理。每个安全容器102、104、106提供如移动设备应用等应用可安全运行的隔离执行环境或进程空间。因此,容器在本文也可称为进程。移动计算设备100包括一个init进程108,其为操作系统(operating system,OS)内核110启动后开启的第一实体。init进程108可在自己的容器内运行或可在OS空间内作为进程直接运行。

当init进程108在容器内运行时,所述容器应有合适的权限管理所有容器以及分配移动计算设备100的所有计算资源。init进程108负责管理在移动计算设备100上运行的所有其它进程。init108也负责控制进程如何运行,即管理每个进程使用的资源并控制每个进程的安全权限。资源管理指的是控制计算资源,例如分配进程能使用的空余处理时间量、内存使用量、以及进程是否能访问用户界面、访问文件系统等。安全权限也可称为权限或限制,是指控制,例如允许或限制,对业务、资源或其它在设备上运行的进程的访问。

在某些实施例中,init进程108创建三个独立的安全容器102、104、106,在家庭容器104中启动用于家用的移动设备进程,在工作容器102中启动工作用的移动设备进程,在第三安全容器中启动集群节点进程106。在本说明书中,术语安全容器和进程可相互替换使用,指代特定安全容器或在所述安全容器内运行的进程,在使用这些术语的具体语境中可清楚它们的含义。

可使用工作容器或工作进程102访问企业或商业网络。因为企业或商业网络通常会访问敏感有价值的信息,可为工作容器102配置最严格或限制性最高的安全策略或安全控制。例如,工作容器102允许用户访问其公司电子邮件、文档、工作通讯录。工作容器102需保持安全及干净,即没有一般因无限制互联网活动带来的病毒或间谍类型程序。

家庭容器104可具有限制性较少的并允许用户进行风险较高的操作,例如上网、下载和执行应用或玩游戏等的安全策略。提供两个独立的移动设备容器就无需携带多台手机,一个用于工作一个用于个人用途或家用。

init进程108,可称为根命名空间,提供了许多现有根进程没有的新功能。init进程108能启动和终止每个容器,能配置多个容器同时运行。init进程108也用于暂停或恢复任何其创建的安全容器。启动、暂停、恢复、停止及取消等命令用于控制安全容器的生命周期和在所述容器内运行的进程,可称为生命周期命令。

init进程108也配置每个安全容器102、104、106在激活期间,即当容器处于生命周期的运行状态时能用的资源。init进程108能从触发创建容器的外部任务请求中的配置文件中获取资源需求,或可基于任意人工智能(artificial intelligence,AI)算法自动配置资源。这些AI算法在本文指启发式方法。分配给每个安全容器102、104、106的资源包括处理能力或CPU时间量、存储容量以及其它资源。通过有效利用移动计算设备100的空闲计算能力同时还保证移动计算设备108的用户对移动计算设备资源拥有最高优先访问权的方式确定分配给每个安全容器102、104、106的资源。重要的是要确保移动计算设备100的用户的体验不会受到共享移动计算设备100资源的其它进程的不利影响。

集群节点进程106用于作为集群或云服务架构的节点。为此,集群节点协商使用空闲计算能力,即不需用于支持移动计算设备100用户体验的计算能力,以执行外部云服务(未示出)提供的计算任务。为避免对用户体验的不利影响,集群节点进程106用于在后台运行。后台进程或运行在后台的进程指的是比前台进程拥有的优先权低且不会访问用户界面的进程。因此,后台进程对移动计算设备用户基本上不可见,并不会对用户体验有不利影响。

容器或本文中的安全容器为一种用于创建隔离用户空间实例的操作系统虚拟化的形式。OS内核或init进程108赋予每个容器一组命名空间特性,这些特性形成一组隔离的计算资源,在其中可执行应用或进程。在现有容器(也称为监狱)的数据隔离中,数据属于在容器内运行的应用,不能被运行在另一个容器内的应用或运行在不同容器中的应用访问。这种隔离使潜在的恶意应用以安全的方式运行,不会破坏操作系统或其它容器。init进程108创建的每个安全容器都可包含不同的操作系统,例如不同的Linux分布,因此,可视为操作系统虚拟化的一种形式。

在现有的操作系统中,OS内核创建根命名空间来提供诸如容器管理、资源分配等功能。在本文公开的示例性实施例中,init进程108作为第一或根命名空间启动。init进程108可直接创建,或可替代地,可存储在容器中。相比于现有根命名空间,init进程108提供了其它多种有益功能。

init进程108控制其已经创建的安全容器102、104、106的生命周期,能启动和停止容器,能一次运行多个容器。init进程108也能暂停或恢复任何在移动计算设备100上运行的安全容器102、104、106。

当启动安全容器时,init进程108配置该安全容器或进程将使用的计算资源,例如内存、处理时间等。确定待分配给集群容器106的计算资源,以便充分利用移动计算设备100的空闲计算能力的同时保证移动计算设备100用户拥有访问所有所需资源的优先权,从而避免对用户体验的不利影响。如上所述,可基于AI算法或启发式方法自动确定分配给安全容器的资源,或可选地,可基于配置文件配置资源。

创建容器基于的是预定默认配置。默认配置提供了创建容器的基本信息,例如可在移动计算设备100上创建多少个安全容器,并提供安全容器的默认资源配置。也可在提供具体安全容器的特定信息的附属配置文件中提供每个安全容器的其它信息。init进程108可基于配置文件中的信息创建安全容器。

配置文件可在init进程108能访问的计算机内存中存储,且结构完整。每个配置文件可包含用于对应安全容器的名称,并指定根文件系统映像以及该映像的挂载点。配置文件中也提供了资源配额,例如分配给容器的内存容量和处理器时间。可选地,可使用配置文件信息和启发式方法的结合方式提供资源配额。配置文件也提供了对应安全容器的启动状态,例如是否默认启动容器或按需启动容器。默认启动的容器在移动计算设备100启动时就自动启动,按需启动的启动状态表明容器只能在init进程108接收到合适的请求后才能启动。配置文件存储在根或默认命名空间,只有init进程108才能修改。

可对安全容器进行配置,使得它们不会自动启动。通过向init进程108发送请求,用户或其它授权实体可修改安全容器的配置。一旦授权,init进程108将相应修改安全容器的配置,修改将在安全容器下次启动时生效。在某些实施例中,每个安全容器中只授权一个进程向init进程108发送请求。

运行在移动计算设备100上的安全容器102、104、106在隔离进程空间中运行,不能相互通信。在移动计算设备100启动时创建的虚拟网桥提供安全容器102、104、106之间的通信。创建安全容器时,也创建了一对网络接口。一个网络接口与新建的安全容器相连,另一网络接口和虚拟网桥相连,在安全容器和虚拟网桥之间建立起了通信路径。在某些实施例中,虚拟网桥可使用互联网协议(Internet protocol,IP)通信;在虚拟网桥启动时,为虚拟网桥分配一系列IP地址。基于互联网协议的网络接口可称为网际接口。虚拟网桥支持在安全容器内运行的进程与主机操作系统或其它在不同安全容器中运行的进程进行通信。

出于安全考虑,在某些实施例中,宜将滤波模块和虚拟网桥整合在一起。滤波模块可用于防止安全容器间的直接通信,只支持安全容器102、104、106与init进程108之间的通信。注意当的是,在某些实施例中,init进程108也可运行在安全容器中;在这些实施例中,滤波模块只用于支持init进程108的容器与其它安全容器之间的通信。

图2示出了一种直观图,所述直观图描绘了移动计算设备100-1、100-2、100-3,例如如上所述的移动计算设备100,如何与云服务202一起作为云服务架构(由编号200表示)的集群节点。在图2中只示出了三台移动计算设备100-1、100-2、100-3,但是由于有大量的移动计算设备在使用,云服务架构200可包括几百万台移动计算设备,形成大型分布式集群。这样,通过利用几百万台移动计算设备100-1、100-2、100-3的空闲计算能力,云服务架构200可用于提供大规模计算能力。

每台移动计算设备100-1、100-2、100-3用于创建集群容器106-1、106-2、106-3,以及在集群容器106-1、106-2、106-3中运行集群节点进程。每个集群容器106-1、106-2、106-3会通过通信链路204、206、208与云服务202建立通信,加入集群。

当移动计算设备100-3忙于处理用户请求时,集群容器106-3可暂时停止从云服务202接收请求,如虚线所示的集群节点106-3和通信链路208。通过暂停集群节点进程,移动设备100-3可避免对使用移动计算设备100-3的人的用户体验带来不利影响。

配置每个移动计算设备100-1、100-2、100-3,使得在计算设备100-1、100-2、100-3上运行的init进程108-1、108-2、108-3会创建集群容器106-1、106-2、106-3,并在集群容器106-1、106-2、106-3中运行集群节点进程。当移动计算设备100,例如移动计算设备100-3忙于处理其它用户任务时,它的init进程108-3可暂停集群容器106-3,或者当需要时,用户可选择暂停或完全关闭集群容器106-3。默认情况下,集群容器106-1、106-2、106-3不会访问图形用户界面,不会与移动计算设备100-1、100-2、100-3的用户有任何互动。

运行在集群容器106-1、106-2、106-3中的集群节点进程负责从云服务202获取任务请求,并向对应的init进程108-1、108-2、108-3发送这些任务请求。集群进程106-1、106-2、106-3是与云服务202通信的唯一进程或安全容器。当init进程108-1、108-2、108-3从运行在集群容器106-1、106-2、106-3的集群进程接收到任务请求时,init进程108-1、108-2、108-3将基于包含在任务请求中的任务描述从集群进程下载任务环境或任务映像,并创建对应的安全容器执行任务。如任务描述定义的,任务映像可基于一层或多层的基本映像,其中,映像是指为任务创建的安全容器与加载到安全容器中的软件程序的组合。当运行任务的任务结果出来时,init进程108-1、108-2、108-3向运行在集群容器106-1、106-2、106-3的集群节点进程发送该结果。然后运行在集群容器106-1、106-2、106-3的集群节点进程向云服务202发送该结果。

通过每个通信链路204、206、208,集群节点进程使用预定义的云协议与云服务202进行通信。该云协议描述了如何在每个集群节点进程和云服务架构202之间实现握手机制,以确保消息能可靠传送。该云协议包括了消息,用以支持云服务架构202管理运行在移动计算设备100-1、100-2、100-3上的任务。任务管理可包括初始化任务环境、开始或调度任务、中断或暂停任务、停止或挂起任务、在任务完成前取消任务等操作。云协议也可包括用于将任务结果返回给云服务架构202的消息。云协议支持云计算架构200管理在加入云的移动计算设备上运行的任务,以及向每个节点上运行的任务发送数据和从每个节点上运行的任务接收数据。

图3示出了一种适合实现本公开实施例的移动计算设备300的方框图。所示的移动计算设备300包括耦合到计算机存储器304的处理器302、射频单元(radio frequency,RF)306、用户界面(user interface,UI)308以及显示器310。装置300适合用作移动计算设备,移动计算设备可为手机、智能手机以及平板设备等各种类型的无线通信用户设备。

处理器302可为单个处理设备或可包括包含专用设备在内的多个处理设备,例如,数字信号处理(digital signal processing,DSP)设备、微处理器、专用处理设备或通用计算机处理器。处理器302用于执行本文所述的进程。处理器通常包括与图形处理单元(graphics processing unit,GPU)同步运行的CUP,并包括解决信号处理任务的DSP。在某些实施例中,处理器302包括一个或多个(通常为四个)内核,例如ARM Cortex内核。

处理器302耦合312到存储器304,其中,存储器304可为各种类型的易失性和非易失性计算机储存器的组合,例如只读存储器(read onlymemory,ROM)、随机存取存储器(random access memory,RAM)、磁盘或光盘、或其它类型的计算机存储器。存储器304存储处理器302可访问和执行的计算机程序指令,以使处理器执行各种预期的由计算机实现的过程或方法,例如本文所述的集群计算方法。

存储在存储器304中的程序指令编组为程序指令集或组,在行业中具有各种名称,例如程序、软件组件、软件模块、单元等。每个模块可包括为实现某一目的而设计的功能集。例如,软件模块可为公认的类型,例如操作系统、应用、设备驱动器或其它广为人知的软件组件类型。存储器304也包括计算机程序指令存储及处理的程序数据和数据文件。

RF单元306耦合到处理器302,用于传输和接收基于与处理器302交互的数字数据312的RF信号。RF单元306用于传输和接收无线信号,这些无线信号符合一个或多个现今使用的无线通信标准,例如第三代合作伙伴计划(third generation partnership project,3GPP)制定的长期演进(LongTerm Evolution,LTE)和LTE-Advanced(LTE-Advanced,LTE-A),基于电气和电子工程师协会(electrical and electronics engineers,IEEE)802.11标准的Wi-Fi等等。在某些实施例中,RF单元306包括能接收和解释全球定位系统(global positioning system,GPS)卫星发送的消息的接收器,并能结合从其它发射器接收的信息获取与设备300位置相关的定位信息。

UI 308可包括一个或多个用户界面元件,例如触摸屏幕、键盘、按键、语音命令处理器以及其它与用户交互信息的变换元件。UI 308也可包括显示单元310,显示单元310用于显示各种适合移动计算设备或移动用户设备的信息,可使用任何适合的显示器类型,例如有机发光二极管(organic lightemitting diodes,OLED)、液晶显示屏(liquid crystal display,LCD)以及如LED或指示灯等较为简单的元件实现。在某些实施例中,显示单元310包括用于从移动计算设备100用户接收信息的触摸显示屏。

图4示出了一种本发明实施例提供的使用移动计算设备作为云或集群计算架构节点的示例性方法400的流程图,装置(例如装置的处理器)可执行所述方法。移动计算设备,例如上述结合图1和图3的移动计算设备,可现实方法400,提供其空闲的计算资源供云服务使用。当初始启动时,移动计算设备100在其初始化过程中启动402init进程,例如init进程108。init进程108管理在移动计算设备100上运行的安全容器等等。init进程108能创建安全容器102、104、106并为其分配资源,以及管理每个安全容器的生命周期和管理与安全容器通过虚拟网桥的通信。

然后,init进程108基于存储在移动计算设备100的存储器中的配置文件创建404一个或多个安全容器102、104、106,或者可基于启发式方法或其它AI算法或可基于配置文件与AI算法的组合创建安全容器102、104、106。然后,init进程108在安全容器102、104、106中的一个中运行406移动设备程序。

这里所用的术语移动设备应用或移动设备进程指的是智能手机,例如安卓智能手机、平板电脑、或其它类型的移动应用。移动设备程序包括自己的操作系统、系统服务以及与传统移动用户设备相关的用户应用。

在某些实施例中,重复420运行移动设备406的步骤以及在如上所述的工作容器102和家庭容器104等的不同进程或容器中运行多个移动设备程序是有益的。当想要单个移动计算设备作为多个不同的智能手机操作以不用携带办公手机和私人手机时,创建多个安全容器来运行多个移动设备程序。init进程108为集群节点进程创建了独立的安全容器,在该安全容器中运行408集群节点进程。该集群节点进程或容器,例如如上所述的集群节点容器106使用上述的云协议与云服务202建立通信,使其空闲的计算能力能可供云服务架构200使用。在某些实施例中,较佳地,允许禁用集群节点进程,或让其被移动计算设备100用户或移动计算设备100连接的无线通信网络控制。

当需要云服务执行任务时,云服务向移动计算设备100发送任务请求。在移动计算设备100的安全容器内运行的集群节点进程接收410任务请求,然后集群节点进程向init进程108发送412任务请求,并运行该任务414。如下面的具体描述,运行任务414是通过基于任务请求中包含的信息创建安全容器,加载任务环境到安全容器中以及控制任务执行来完成的。

任务一完成或当任务结果出来时,init进程108向集群节点进程发送406任务结果,集群节点进程向云服务发送410任务结果。在执行任务的任何时候,集群节点进程可能会接收到要求取消任务的任务请求。此时,集群节点进程向init进程108转发该取消或其它任务请求,然后init进程108采取合适措施,例如在为取消请求时,暂停任务并恢复计算资源。

图5示出了一种本发明实施例提供的方法500的示例性实施例的流程图,init进程108可使用所述方法运行任务,可用装置(例如装置的处理器)执行所述方法。当init进程,例如如上所述的init进程108,从在移动计算设备100的安全容器106内运行的集群节点进程接收502到任务请求时,所述方法开始。init进程基于包含在任务请求中的任务描述创建504执行任务的安全容器,并为安全容器分配合适的资源用以执行任务。创建的准备执行任务的安全容器在此称为任务容器。任务容器的资源分配也可基于用于防止执行任务对执行任何在移动计算设备上运行的移动设备进程造成干扰的启发式方法或预定算法。

init进程108下载506任务环境并准备任务容器进行任务执行,然后在任务容器内执行508任务。在执行508任务的过程中,init进程108管理任务容器的生命周期并管理任务的执行,以确保能顺利完成任务和确保执行任务不会影响移动计算设备100的用户体验。当执行任务完成时,或在执行任务的间隔内,init进程108从当前运行任务接收510任务结果。这些任务结果被发送512到集群节点进程,然后可能被集群节点进程转发到云服务。一完成任务,init进程销毁514任务容器,并恢复任何可供其它在移动计算设备中运行的容器使用的计算资源。

有利地,可使用本发明所述的云服务架构、方法及装置提供多种有用的服务。例如,所述用于提供云服务架构的装置和方法可用于为移动计算设备提供服务,例如移动计算设备与云服务架构之间的数据同步、移动计算设备数据备份、移动计算设备的软件安装和更新、控制移动设备状态,如暂停或恢复手机特性。有利地,所述云服务架构也可用于协同计算或组建大型计算系统。

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

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