CN112104691B - 跨边缘和云的软件引擎虚拟化以及动态资源和任务分布 - Google Patents

跨边缘和云的软件引擎虚拟化以及动态资源和任务分布 Download PDF

Info

Publication number
CN112104691B
CN112104691B CN202010560325.0A CN202010560325A CN112104691B CN 112104691 B CN112104691 B CN 112104691B CN 202010560325 A CN202010560325 A CN 202010560325A CN 112104691 B CN112104691 B CN 112104691B
Authority
CN
China
Prior art keywords
engine
virtual
cloud
client devices
network
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.)
Active
Application number
CN202010560325.0A
Other languages
English (en)
Other versions
CN112104691A (zh
Inventor
杰瓦特·耶尔利
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.)
Karan Holdings Ltd
Original Assignee
Karan Holdings Ltd
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 Karan Holdings Ltd filed Critical Karan Holdings Ltd
Publication of CN112104691A publication Critical patent/CN112104691A/zh
Application granted granted Critical
Publication of CN112104691B publication Critical patent/CN112104691B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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/0893Assignment of logical groups to network elements
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Abstract

一种用于实现跨边缘和云的软件引擎虚拟化以及动态资源和任务分布的系统和方法,包括至少一个云服务器,其包括存储器和至少一个处理器,至少一个云服务器托管软件引擎的虚拟化逻辑组件和至少一个云引擎,所述至少一个云引擎被配置为存储和处理来自一个或多个应用的应用数据;经由网络连接到所述云服务器的一个或多个客户端设备,其托管所述软件引擎的至少一个本地引擎,所述至少一个本地引擎被配置为存储和处理来自所述一个或多个应用的应用数据,并向用户提供输出;和跨边缘和云托管的虚拟引擎,其被配置为经由所述虚拟化逻辑组件来虚拟化一个或多个系统网络组件、所述一个或多个应用以及所述至少一个云引擎和所述至少一个本地引擎的组件,创建经由所述网络连接到所述一个或多个客户端设备和所述至少一个云服务器的虚拟层。

Description

跨边缘和云的软件引擎虚拟化以及动态资源和任务分布
相关申请的交叉引用
本申请要求2019年6月18日提交的临时申请号62/863108的权益,出于所有目的,该临时申请的全部公开内容通过引用结合于此。
技术领域
本发明大体上涉及分布式计算。
背景技术
软件引擎是为其它程序执行核心或基本功能的程序。在操作系统,子系统或应用程序中使用软件引擎来协调其它程序的整体操作。例如,3D引擎或软件游戏引擎在图形应用中扮演越来越重要的角色。软件游戏引擎的一个主要任务是提供在实时性能下可能的最现实和最高质量的图形。软件游戏引擎通常作为在CPU上执行的计算机可执行代码来提供。例如,游戏引擎通常可以运行在计算设备的处理器或微处理器上,诸如个人计算机的CPU,控制台,移动电话或平板电脑。因此,CPU的性能可以确定软件游戏引擎的性能。可以在集中式服务器处托管其它游戏引擎,以便利用集中式计算的较大计算能力。
游戏引擎能够实现诸如动画模型的管理,对象之间的冲突以及玩家和游戏之间的交互等方面。许多最近的游戏使用超出视觉和交互方面的引擎。例如,程序员可以依靠物理引擎来模拟虚拟环境内的物理规律,依靠音频引擎来添加音乐和复杂的声学效果,以及依靠人工智能(AI)引擎来编程非人类播放器行为。3D界面的预期特性非常接近于3D视频游戏的特性。因此,游戏引擎可用于需要以实时性能渲染3D图形的任何类型的应用中,包括用于各种行业的虚拟现实(VR),增强现实(AR),混合现实(MR)或其组合中的应用。
使用集中式计算来运行软件引擎和处理应用的特征在于,由用户和托管服务器的数据中心之间的距离导致的相对高的等待时间。将软件引擎和大部分或全部计算任务移动到客户端设备可能导致非常低的等待时间,因为处理器接近用户,但是有限的资源,例如存储器和计算能力,可能妨碍应用的能力和性能。
新的应用,服务和工作负荷日益需要一种不同的体系结构,该体系结构被构建成支持分布式基础设施,该基础设施可以满足更高的带宽需求,低的等待时间,或跨多个站点的广泛的计算能力。诸如物联网(IoT),AR,VR,自主驾驶和AI的技术可能超过集中式计算的能力,并且已经导致了利用雾计算的存储,通信和计算的充足资源的体系结构的发展。雾计算是一种使用已经存在于云边缘处的资源来提供能够支持低等待时间、地理上分布式的移动应用的网络的技术操作。雾计算受益于资源的虚拟化和抽象,并且使用应用编程接口(API)来支持边缘和云之间的互操作性。
雾计算使用网络功能虚拟化(NFV),其将网络节点功能的整个类虚拟化为可连接以创建通信服务的构建块。虚拟化网络功能或VNF可以由运行不同软件和进程的一个或多个虚拟机(VM)组成,在标准大容量服务器、交换机和存储设备之上,或者甚至云计算基础设施之上,而不是具有用于每个网络功能的定制硬件设备。然而,尽管几个功能和资源可以被虚拟化,但是软件引擎本身包括多个软件组件,例如库,软件开发工具包(SDK)和对象,它们往往被服务器端或网络的边缘端所托管并且主要由服务器端或网络的边缘端所服务,从而不能有效地分布运行应用所需的软件引擎任务和实际资源。
发明内容
提供该概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述不旨在标识所要求保护的主题的关键特征,也不旨在用于帮助确定所要求保护的主题的范围。
本公开提供了通过虚拟化软件引擎和动态分布引擎任务以及在跨边缘和云的虚拟层中分配系统资源来解决背景技术中公开的一个或多个缺点或其他技术问题的系统和方法。本公开中的“边缘”是指例如尽可能靠近终端用户的客户端设备的管理域的外围。在一些情况下,域的边缘可以包括客户端设备本身。在这种情况下,术语“跨边缘和云”可用于指一种布置,其中软件引擎的一些组件被托管在一个或多个云服务器上,而其它组件被托管在一个或多个客户端设备上。当软件引擎被虚拟化时,应用所需的任务的执行可以根据引擎任务和资源分布规则从跨越边缘和云的一个或多个源来执行。因此,诸如存储器,带宽和计算资源的系统资源跨边缘和云被优化和动态分配。
公开的用于实现跨本公开的边缘和云的软件引擎虚拟化以及动态资源和任务分布的系统包括包含存储器和至少一个处理器的至少一个云服务器,所述至少一个云服务器托管虚拟逻辑组件和软件引擎的至少一个云引擎,所述至少一个云引擎被配置为存储和处理来自一个或多个应用的应用数据;经由网络连接到所述云服务器的一个或多个客户端设备,所述一个或多个客户端设备托管软件引擎的至少一个本地引擎,所述至少一个本地引擎被配置为存储和处理来自所述一个或多个应用的应用数据,并向用户提供输出;以及跨边缘和云托管的虚拟引擎,虚拟引擎被配置为通过虚拟逻辑组件将一个或多个应用以及至少一个云引擎和至少一个本地引擎的组件虚拟化,创建通过网络连接到一个或多个客户端设备和云服务器的虚拟层。
在一些实施例中,虚拟化逻辑在服务器中,如同执行动态资源和任务分布的虚拟引擎一样,但是由于它们通过虚拟化逻辑被完全虚拟化,所以系统不仅可以从特定的云服务器获取资源,而且可以从驻留在从边缘到云的任何地方的其他设备获取资源,例如雾服务器,其他客户端设备,其他云服务器等。例如,声音引擎可以托管在雾服务器处,但是,当用户设备通过虚拟引擎访问声音引擎时,访问和使用声音引擎的用户设备也能够访问声音引擎,如果它被托管在云服务器中或者在另一个用户设备中。
在一些实施例中,虚拟层经由适当的应用编程接口(API)与一个或多个应用接口。一个或多个API确保边缘处理功能和云计算系统能够有效地相互通信并动态地分配资源和任务。
在一些实施例中,该系统还包括包含存储器和至少一个处理器的一个或多个雾服务器,雾服务器位于客户端设备附近的区域中,并且被配置成帮助云服务器和客户端设备处理来自一个或多个应用的应用数据。在一些实施例中,所述至少一个应用由所述一个或多个客户端设备,云服务器,雾服务器或其组合来托管。
虚拟引擎包括至少一个虚拟化逻辑组件,其被配置为虚拟化所述一个或多个系统网络组件,应用和引擎组件;至少一个优化组件,其被配置为评估来自所述一个或多个应用的引擎任务和系统资源需求;以及至少一个系统资源分布平台,被配置为分布所需的引擎任务和系统资源。因此,例如,通常由安装在客户端设备或云服务器之一中的单个软件引擎执行的任务以及执行这些任务所需的资源可以分布在不同的系统网络组件(例如一个或多个客户端设备,雾服务或云服务器)上,从而提高资源分布效率。在一些实施例中,可以通过检测资源和任务中的变化,在需要引擎任务的至少一个应用被使用的任何时刻连续地进行评估。资源和任务要求可以一致地变化,因为在某些情况下,可能存在数千个使用应用的用户。
在一些实施例中,虚拟化逻辑虚拟化客户端,服务器等,使其资源成为虚拟资源池的一部分,该虚拟资源池可分别由优化组件和分布平台动态优化和分配/分布。
在一些实施例中,虚拟引擎还包括一个或多个功能特定的子引擎。在一个示例中,功能特定的子引擎包括音频引擎,物理引擎,图形引擎,AI引擎,搜索引擎等中的一个或多个。此外,在该示例中,与声音引擎相关的任务可以由客户端设备执行,而与物理引擎和图形引擎相关的任务可以在雾服务器处相关,并且与AI引擎相关的任务可以在云服务器处执行,分别从这些源中的每一个分配资源。
根据一个实施例,所述一个或多个软件引擎被安装在所述云服务器,雾服务器和客户端设备中的至少一个中。当网络资源在虚拟层中可用时,应用可以根据优化组件中的优化参数,动态地请求资源以及可以在云服务器,雾服务器和客户端设备中的任一个或其组合执行的引擎任务。在进一步的实施例中,软件引擎的一个或多个子引擎的分布可以跨边缘和云动态地执行。
在本公开的一些方面,将现实世界虚拟化为包括现实世界元素的虚拟副本的持久性虚拟世界系统。虚拟副本可以存储在数据库或数据结构中,并且可以通过感知机构链接到现实世界元素。持久性虚拟世界系统可以被划分为虚拟单元,在此其指的是在分配所需计算资源的多个计算机节点上管理的虚拟世界的离散片段。此外,本公开的资源优化技术可以在虚拟现实,增强现实或混合现实中的任何一个中的虚拟或现实世界场景中提供。
在一些实施例中,优化组件在指令集级包括跨边缘和云的资源分布参数,包括服务器计算,存储器和存储能力;端到端响应时间;应用资源需求;客户端计算,存储器和存储能力;所需的和可用的服务质量;服务等级协议;设备与服务器之间的距离;带宽容量;以及细节级别等。优化组件动态评估资源分布参数,以协调引擎任务分布并通过分布平台相应地分配资源。
在一些实施例中,虚拟引擎的分布平台包括链接到多个物理网络资源的一个或多个虚拟单元或主题,虚拟单元被配置为跨边缘和云检索相应的资源,并向终端用户分配相应的资源。分布平台例如可以是分布式消息交换服务。分布平台可以在一千或数千个节点或虚拟单元中实现,这些节点或虚拟单元可以物理的托管在一个或多个客户端设备,雾服务器或云服务器。分布平台的单个实例可以在从一百万到数百万个虚拟单元的任何地方进行服务。此外,多个服务实例(例如,数千)可以对一百万或数百万个虚拟单元起作用。在一些实施例中,还可以设置两个或更多个节点用于复制,这可以有助于动态负载平衡。
使用一个或多个子引擎的当前公开的应用可以涉及诸如物联网(IoT),数字现实(例如VR和AR),自主驾驶或人工智能(AI)等领域。可以用于运行一个或多个应用的客户端设备可以是一个或多个移动设备,个人计算机,游戏控制台,媒体中心和头戴式显示器等。
此外,虚拟单元可以被指定给现实或虚拟世界中的位置,使得当用户从位置请求服务时,虚拟单元可能已经被指定为从预定的源检索并向用户的位置提供资源。在一些实施例中,可以根据优化规则或者根据系统管理员或设计者的决定来改变虚拟单元可以被为指定到的现实或虚拟世界中的位置。
分布平台实现每个虚拟单元内的状态的高速缓存。例如,虚拟单元缓存相应虚拟单元内的所有应用,虚拟元素或现实元素及其状态。当服务预订某个虚拟单元时,该服务首先接收所有高速缓存的状态,并且随后接收更新,直到完成对主题的预订。
分布平台可以遵循经典的发布订阅范例,由此服务可以发布或订阅各种虚拟单元。各种服务例如可以是渲染,计算,模拟和IoT更新。因此,例如,单个客户端设备可以从多个源接收服务,例如从多个客户端设备或雾服务器以及从云服务器接收服务。
根据一个实施例,所述网络可以包括被配置为发射和接收无线电波的天线,所述无线电波使得能够跨边缘和云移动。天线可以通过有线或无线装置连接到计算中心。在其它实施例中,在计算中心和/或计算中心附近的区域内提供天线。在一些实施例中,为了服务用户设备和/或位于户外的现实对象,天线可以包括基于毫米波(mmW)的天线系统或者基于mmW的天线和sub 6GHz的天线系统的组合,这里将这些天线分组为5G天线并将其称为5G天线。在其它实施例中,天线可以包括其它类型的天线,例如4G天线,或者可以用作5G天线系统的支持天线。在用于服务位于室内的基于3D的实时交互设备的天线的实施例中,天线可以使用Wi-Fi,优选地但不限于,提供60GHz的数据。
在其它实施例中,全球导航卫星系统(GNSS)(其统称为任何基于卫星的导航系统,例如GPS,BDS,Glonass,QZSS,Galileo和IRNSS)可用于实现设备的定位。使用来自足够数量的卫星和诸如三角测量和三边测量的技术的信号,GNSS可以计算设备的位置,速度,高度和时间。在实施例中,外部定位系统由辅助GNSS(AGNSS)通过现有蜂窝通信网络的体系结构来增强,其中现有体系结构包括5G。在其它实施例中,AGNSS跟踪系统还由4G蜂窝通信网络支持。在室内实施例中,通过诸如Wi-Fi之类的无线电无线局域网进一步增强GNSS,优选地,但不限于,提供60GHz的数据。在替代实施例中,通过本领域已知的其它技术来增强GNSS,例如通过差分GPS(DGPS),基于卫星的增强系统(SBAS),实时运动学(RTK)系统。在一些实施例中,通过设备中的AGNSS和惯性传感器的组合来实现设备的跟踪。
在一些实施例中,持久性虚拟世界系统的每个虚拟副本可以使用适合与当前地理定位技术一起使用的参考坐标系进行地理定位。例如,虚拟副本可以使用诸如WGS84的世界大地测量系统标准,WGS84是GPS使用的当前参考坐标系。
根据一个实施例,安装在客户端设备上的感测机构包括惯性跟踪感测机构和收发器的组合。惯性跟踪传感机构可以利用诸如加速度计和陀螺仪的设备,这些设备可以集成在惯性测量单元(IMU)中。收发器可以被实现为向天线发送无线通信信号和从天线接收无线通信信号。在实施例中,收发器是mmW收发器。在使用mmW天线的实施例中,mmW收发器被配置为从天线接收mmW信号并将数据发送回天线。由mmW收发器提供的惯性传感器和位置跟踪以及由基于mmW的天线提供的精确跟踪,低等待时间和高QOS功能可以实现亚厘米或亚毫米的位置和定向跟踪,这可以在跟踪所连接元件的实时位置和定向时提高精度。
在一些实施例中,可以通过采用本领域已知的几种技术来实现跟踪,例如到达时间(TOA),到达角度(AOA),或本领域已知的其它跟踪技术(例如,GPS,视觉成像,雷达技术等)。).在替代实施例中,感测机构和收发器可在单个跟踪模块装置中耦合在一起。客户端设备的感测机制还可以包括一个或多个摄像机。例如,相机可以是安装在客户端设备中的深度相机。摄像机可以被配置为捕获和提供用户的观看位置和取向,其确定经由引擎平台服务器发送的虚拟帧的观看位置和取向。
根据一个实施例,实现跨边缘和云的软件引擎虚拟化的方法包括以下步骤:提供跨经由网络连接的一个或多个云服务器和客户端设备托管的虚拟引擎,所述虚拟引擎包括虚拟化逻辑组件。该方法通过由虚拟引擎的虚拟化逻辑组件虚拟化一个或多个系统网络组件,应用和引擎组件,创建经由网络连接到一个或多个客户端设备和云服务器的虚拟层来结束。
根据一个实施例,实现跨边缘和云的动态资源和任务分布的方法可以通过虚拟层使用,例如通过实现跨边缘和云的软件引擎虚拟化的方法来创建。该方法可以通过由虚拟引擎中的至少一个优化组件持久地评估来自一个或多个应用的引擎任务和系统资源需求来开始。然后,该方法通过由虚拟引擎中的至少一个优化组件基于所述评估来优化引擎任务和系统资源的分布来继续。最后,该方法可以通过基于由所述至少一个优化组件执行的优化经由所述虚拟引擎的分配组件动态地跨边缘和云分布按需引擎任务和系统资源来结束。
根据一个实施例,一种其上存储有指令的非暂时性计算机可读介质,所述指令被配置为当由一个或多个计算机执行时,使得所述一个或多个计算机能够通过执行包括以下步骤来实现跨边缘和云的软件引擎虚拟化以及动态资源和任务分布,包括:提供跨经由网络连接的一个或多个云服务器和一个或多个客户端设备托管的虚拟引擎,所述虚拟引擎包括虚拟化逻辑组件;经由所述虚拟引擎的所述虚拟化逻辑组件,使一个或多个系统网络组件、一个或多个应用和软件引擎的组件虚拟化,创建经由所述网络连接到所述一个或多个客户端设备和所述一个或多个云服务器的虚拟层;由所述虚拟引擎中的至少一个优化组件评估来自所述一个或多个应用的引擎任务和系统资源需求;由所述虚拟引擎中的所述至少一个优化组件基于所述评估来优化引擎任务和系统资源的分配;以及基于由所述至少一个优化组件进行的优化,通过所述虚拟引擎的分布组件,跨边缘和云动态分布按需的引擎任务和系统资源。
以上概述不包括本公开的所有方面的详尽列表。预期本公开包括可以从以上概述的各个方面的所有合适的组合来实践的所有系统和方法,以及在以下详细描述中公开的那些以及在随本申请提交的权利要求书中具体指出的那些。这样的组合具有在以上概述中未具体陈述的特定优点。根据附图和下面的详细描述,其它特征和优点将是显而易见的。
附图说明
通过结合附图参考以下详细描述,可以更好地理解上述方面和许多伴随的优点,其中:
图1A-B描述了根据一个实施例的实现跨边缘和云的软件引擎虚拟化以及动态资源和任务分布的系统。
图2A-B描述了根据一个实施例的实现跨边缘和云的软件引擎虚拟化以及动态资源和任务分布的系统,描述了虚拟层。
图3描述了根据实施例的在能够实现跨边缘和云的软件引擎虚拟化以及动态资源和任务分布的系统中使用的虚拟引擎。
图4描述了根据实施例的在能够实现跨边缘和云的软件引擎虚拟化以及动态资源和任务分布的系统中使用的优化组件。
图5A-B描述了根据一个实施例的实现跨边缘和云的软件引擎虚拟化以及动态资源和任务分布的系统,描述了分布平台。
图6A-B描绘了根据一个实施例的实现跨边缘和云的软件引擎虚拟化以及动态资源和任务分布的系统,描述了根据一个实施例的跨边缘和云的示例性引擎分布。
图7示出了根据实施例的在实现跨边缘和云的软件引擎虚拟化以及动态资源和任务分布的系统中使用的客户端设备。
图8描述了根据一个实施例的跨边缘和云实现软件引擎虚拟化的方法。
图9描述了根据一个实施例的实现跨边缘和云的动态资源和任务分布的方法。
具体实施方式
在以下描述中,参考通过示例方式示出各种实施例的附图。此外,下面将通过参考几个实例来描述各种实施例。应当理解,在不脱离所要求保护的主题的范围的情况下,实施例可以包括设计和结构上的改变。
图1A-B示出了根据实施例的能够实现跨边缘和云的软件引擎虚拟化以及动态资源和任务分布的系统100a-b。
参考图1A,根据实施例,系统100a包括云服务器102,该云服务器102包括存储器和至少一个处理器,该云服务器102被配置为存储和处理来自一个或多个应用104的应用数据;配置成存储和处理来自一个或多个应用104的应用数据的一个或多个客户端设备106;以及虚拟层108,其经由网络110连接客户端设备106和云服务器102。系统100还包括安装在云服务器102或客户端设备106中的至少一个中的一个或多个软件引擎。因此,如图1A所示,系统100可以包括安装在客户端设备106中的本地引擎112,以及安装在云服务器102中的云引擎114。
参考图1B,在另一个实施例中,系统100b包括云服务器102,该云服务器102包括存储器和至少一个处理器,该云服务器102被配置成存储和处理来自一个或多个应用104的应用数据;配置成存储和处理来自一个或多个应用104的应用数据的一个或多个客户端设备106;一个或多个雾服务器116,其被配置为协助云服务器102和客户端设备106处理来自一个或多个应用104的应用数据;以及虚拟层108,其经由网络110连接客户端设备106和云服务器102。系统100还包括安装在云服务器102,雾服务器116和客户端设备106中的至少一个中的一个或多个软件引擎。因此,系统100可以包括安装在客户端设备106中的本地引擎112,安装在雾服务器116中的雾引擎118,以及安装在云服务器102中的云引擎114。
经由网络110连接到一个或多个客户端设备106,云服务器102和/或雾服务器116的虚拟层108使得能够虚拟化一个或多个系统网络组件,应用和引擎组件,一个或多个系统网络组件,应用和引擎组件基于应用需求被优化,并且按需被分配和分布在边缘和云上。
云服务器102和雾服务器116都向采用客户端设备106的终端用户提供数据,计算,存储和应用服务,客户端设备106可以实现对来自一个或多个应用的数字内容的服务,分布,计算,流式传输和/或渲染。使用云到边缘计算网络,对计算能力,计算机基础设施(例如,通过所谓的基础设施作为服务,或IaaS),应用和商业过程的访问可以根据需要作为服务经由客户端设备被传输给用户。有区别的雾特征是与终端用户的接近度,密集的地理分布,以及对移动性的支持。服务可以托管在诸如机顶盒或接入点之类的终端设备。流式传输和实时应用104(例如,在工业自动化,运输,传感器和致动器的网络中),雾提供了低等待时间,位置感知,并提高了服务质量(QoS),并支持异构性。雾设备可以包括跨越多个管理域的终端用户设备,接入点,边缘路由器和交换机等。
在本公开的一些方面,将现实世界虚拟化为包括现实世界元素的虚拟副本的持久性虚拟世界系统。虚拟副本可以存储在跨边缘和云存储的数据库或数据结构中,并且可以通过感测机构,例如温度传感器、接近传感器、惯性传感器(例如,惯性测量单元、加速度计、陀螺仪和磁力计)、红外传感器、污染传感器(例如,气体传感器)、压力传感器、光传感器、超声波传感器、烟雾传感器、触摸传感器、色度传感器、湿度传感器、水传感器、电传感器或其组合,联接到现实世界的元素。在实施例中,一个持久新虚拟世界系统包括具有现实世界坐标的现实世界的虚拟化版本,现实世界坐标例如是现实对象的3D位置,取向和比例,包括被结合到现实世界的虚拟副本的设置中的纬度和纵向位置和取向数据。持久性虚拟世界系统可以包括根据现实生活模型的详细世界地图,其中每个实体(例如,建筑物,树,人等)基于现实世界数据被建模,但也可以包括不基于现实世界数据的虚拟对象。持久性虚拟世界系统可以被划分为虚拟单元,这些虚拟单元是虚拟世界的微小片段,这些微小片段在分配所需计算资源的多个计算机节点上被管理。此外,本公开的资源优化技术可以在虚拟现实,增强现实或混合现实中的任何一个中的虚拟或现实世界场景中提供。
用于将现实对象转换为虚拟副本的建模技术可以基于本领域已知的技术。在一个实施例中,虚拟副本可以基于现实世界元素的容易获得的计算机辅助绘图(CAD)模型来建模。例如,机器所有者可以提供已经存在的他们机器的数字CAD模型。类似地,建筑业主或政府当局可以提供建筑信息模型(BIM),它是设施的物理和功能特性的数字表示,并将它们存储在持久性虚拟世界系统中。在其它实施例中,虚拟副本可以通过经由各种照片,视频,深度同步定位和建图(SLAM)扫描输入的基于车或基于无人机的图像扫描管线被建模。在其它实施例中,雷达成像,例如合成孔径雷达,现实孔径雷达,光检测和测距(LIDAR),逆孔径雷达,单脉冲雷达和其它类型的成像技术,可以用于在将现实世界元素集成到持久性虚拟世界系统中之前对现实世界元素进行建图和建模。雷达成像解决方案尤其可以在结构的原始模型不可用的情况下执行,或者在存在丢失的信息或者需要向虚拟世界实体添加CAD模型不提供的附加信息的情况下执行。
可以基于每个现实对象的形状,定位,位置和取向,其它属性(例如,物理和逻辑属性)以及预期的功能和系统影响(例如,能量消耗,交通行为,碳排放等)来开发持久性虚拟世界系统中的虚拟副本,虚拟副本是基于现实对象。因此,例如,虚拟副本可以包括通过副本编辑器(未示出)中包括的软件模块和工具输入的数据和指令,该副本编辑器被配置为输入能够配置这些属性中的每一个属性的每个虚拟副本的数据和指令。然而,虚拟副本也可以表示在现实生活中不存在的对象,例如纯虚拟对象。表示纯虚拟对象的这些虚拟副本也可以相对于现实对象的位置而定位,并且也可以具有虚拟附接在其上的应用。
在一些实施例中,虚拟副本包括3D世界和建筑数据中的一个或多个,例如基于SLAM或衍生建图的数据;3D几何数据;3D点云数据;或者表示现实世界结构特性的地理信息系统数据,其可以用于为数字现实应用建模3D结构。
在本公开中,术语“持久性”用于表征在没有连续执行进程或网络连接的情况下可以继续存在的系统的状态。例如,术语“持久性”可用于表征虚拟世界系统,其中虚拟世界系统和其中包括的所有虚拟副本、纯虚拟对象和应用在用于创建虚拟副本、纯虚拟对象和应用的进程停止之后继续存在,并且不依赖于用户连接到虚拟世界系统。因此,虚拟世界系统被保存在非易失性存储位置中(例如服务器中)。以这种方式,即使用户没有连接到服务器,虚拟副本、纯虚拟对象和应用在被配置用于实现特定目标时也可以相互交互和协作。
图2A-B描绘了根据实施例的系统200a-b,其允许跨边缘和云的软件引擎虚拟化以及动态资源和任务分布,描述了包括虚拟引擎202的虚拟层108。图2A-B的一些元件可以与图1的元件相似,因此可以使用相似或相同的附图标记来描述那些元件。
参考图2A的系统200a,当网络资源在虚拟层108内可用时,应用104可经由预定义接口(例如,应用编程接口(API 206))动态地请求204资源和引擎任务,并经由API 206通过虚拟层108从客户端设备106和云服务器102中的一个或多个接收响应208。虚拟引擎202表示安装在客户端设备106和云服务器102中的一个或多个中的一个或多个软件引擎的虚拟化形式,并且包括可根据虚拟引擎202中包括的优化参数被动态分布的资源和引擎任务的集成储存库。API 206确保边缘处理功能和云计算系统能够有效地相互通信并动态地分布资源和任务。
参考图2B的系统200b,应用104可以经由API 206动态地请求204资源以及引擎任务,并且经由API 206通过虚拟层108从客户端设备106,雾服务器116和云服务器102中的一个或多个接收响应208。虚拟引擎202表示安装在客户端设备106,雾服务器116和云服务器102中的一个或多个中的一个或多个软件引擎的虚拟化形式,并且包括可根据包括在虚拟引擎202中的优化参数被动态分布的资源和引擎任务的集成储存库。
虚拟化可以通过生成所有数据中心资源的虚拟化或逻辑表示来创建,数据中心资源包括但不限于诸如路由器,交换机,负载平衡器,WAN加速器,防火墙,VPN集中器,DNS/DHCP服务器,工作负载/虚拟机,文件系统,网络附接存储系统,对象存储和备份存储等的硬件。通过虚拟化资源,当应用请求实际组件的服务时,实际组件的物理位置可能不相关。
通过从执行应用和软件引擎的底层操作系统封装应用和软件引擎,应用和软件引擎可以在跨边缘和云的虚拟层108中被虚拟化。虚拟化使得应用能够被无缝地和远程地部署和维护。无需安装完全虚拟化的应用或软件引擎来执行。应用或引擎相信它直接与原始操作系统和由操作系统管理的资源接口。例如,如美国专利No.7,451,196中所描述的,可以通过配置在操作上介于目标设备的文件系统管理器和文件系统驱动程序之间的文件系统挂钩,在目标设备上提供文件系统覆盖来虚拟化应用。文件系统挂钩被配置为检测对应于目标应用并调用一个或多个过程的文件系统调用。代理过程还在目标设备上执行,以配置文件系统挂钩来执行目标应用。一个或多个被调用的过程可以包括,例如,在可操作地经由数据网络耦合到目标设备的服务器终端处或者在本地连接的计算机可读存储介质处访问数据。在本公开中可以另外使用本领域已知的其它合适的虚拟化技术。
图3描绘了根据实施例的可以在系统300中使用的虚拟引擎202,系统300允许跨边缘和云的软件引擎虚拟化以及动态资源和任务分布。图3的一些元件可以与图1-2B的元件相似,因此可以使用相似或相同的附图标记来描述那些元件。虚拟引擎202包括一个或多个子引擎302a-d;虚拟化逻辑组件304;优化组件306;以及分布平台308。
一个或多个子引擎302a-d包括多个功能专用模块。例如,对应于游戏引擎的子引擎302a-d可以包括音频引擎,物理引擎,图形引擎,AI引擎,搜索引擎等中的一个或多个,它们可以在设计和运行时间期间被调用来处理和渲染游戏或其他交互应用。
虚拟化逻辑组件304包括存储在虚拟层(例如图1-2B的虚拟层108)内的虚拟存储器中的计算机逻辑指令,计算机逻辑指令用于定义逻辑分区,或者在包括一个或多个软件引擎和资源的虚拟化的系统虚拟化期间使用的虚拟机。虚拟化逻辑组件304可包括一个或多个管理程序,管理程序包括创建和运行虚拟机的所需计算机软件,固件或硬件。虚拟化逻辑组件304中的管理程序创建抽象,其允许底层主机机器硬件独立地将一个或多个虚拟机操作为客户,允许多个客户VM有效地共享系统的物理计算资源,例如处理器周期,存储器空间,网络带宽等。
优化组件306包括存储在虚拟层内的虚拟存储器中的计算机逻辑指令,包括定义如何跨边缘和云分布引擎任务和系统资源以便处理工作负载的优化参数。
分布平台308包括存储在虚拟层内的虚拟存储器中的计算机逻辑指令,并且基于在优化组件306中定义的资源分配参数跨边缘和云进行资源和任务分配。
图4描述了根据实施例的可以在系统400中使用的优化组件306,系统400允许跨边缘和云的软件引擎虚拟化以及动态资源和任务分布。图4的一些元件可以与图1-3的元件相似,因此可以使用相似或相同的附图标记来描述那些元件。
优化组件306包括指令,所述指令包括跨越边缘和云的资源分配参数402。持久地和动态地评估资源分配参数402,以便协调引擎分布和相应地分配资源,并且资源分配参数402可以包括服务器的计算,存储器和存储能力406中的一个或多个;端到端响应时间408;应用资源需求410;客户端计算,存储器和存储能力412;服务质量414;服务等级协议416;客户端设备与服务器之间的距离418;带宽容量420;以及细节级别422等。
“细节级别”是指根据用户的视点和对象之间的距离来调整用户所观看的细节。更具体地,LOD仅在用户的视点更接近对象的情况下使用更详细的模型。LOD管理通过减少图形管线使用(通常是顶点变换)的工作量来提高渲染的效率。通常,LOD管理可以改善帧率并减少存储器使用。以这种方式,例如,不同的物理模型可以从低保真度模型到高保真度模型与虚拟副本相关联,从而可以根据情况和情形进行不同的仿真。例如,可以使用低保真度模型来计算城市中的交通的宏观模拟,但是使用高保真度模型的微观模拟可以用来辅助车辆的自主驾驶。
图5A-B描绘了根据实施例的系统500,其允许跨边缘和云的软件引擎虚拟化以及动态资源和任务分布,描述了分布平台308。图5A-B的一些元件可以类似于图1-4的元件,以及因此类似或相同的附图标记可用于描述那些元件。
参考图5A,虚拟引擎202的分布平台308包括链接到多个物理网络资源的一个或多个虚拟单元502,或主题,虚拟单元502被配置为跨到终端用户的边缘和云检索和分配相应的资源和引擎任务。分布平台308例如可以是分布式消息交换服务。分布平台308可以在数千个节点或虚拟单元主机中实现,节点或虚拟单元主机可以虚拟地托管在虚拟层108中,并且可以物理地在一个或多个客户端设备106,雾服务器116或云服务器102中。分布平台308的单个实例可以在从一百到数百万个虚拟单元502的任何地方进行服务。此外,多个服务实例(例如,数千)可以对一百万或数百万个虚拟单元502进行动作。在一些实施例中,还可以设置两个或更多个节点用于复制,这可以有助于动态负载平衡。在进一步的实施例中,如参考图5B所示,一个或多个虚拟单元502可以向一个或多个客户端设备106分布资源,这对于高要求的应用尤其有用。
还可以将虚拟单元502指定给现实或虚拟世界中的位置,使得当用户从位置请求服务时,虚拟单元502可能已经被指定为将资源从预定源分配到终端用户的位置。在一些实施例中,虚拟单元502可以被指定的现实或虚拟世界中的位置可以根据优化规则或者如系统管理员或设计者所决定的那样而改变。
分布平台308实现对每个虚拟单元502内的状态的高速缓存。例如,虚拟单元502可以缓存相应虚拟单元502内的所有应用104,虚拟元素或现实元素以及它们的状态。当服务预订了某个虚拟单元502时,该服务首先接收所有高速缓存的状态,并且随后接收更新,直到完成对主题的预订。
分布平台308可以遵循经典的发布预订范例,由此服务可以发布或预订各个虚拟单元502。各种服务例如可以是渲染,计算,模拟和IoT更新。因此,例如,单个客户端设备106设备可以从多个源接收服务,例如从多个客户端设备106,雾服务器116或云服务器102接收服务。
图6A-B示出了根据实施例的系统600a-b,其能够实现跨边缘和云的软件引擎虚拟化以及动态资源和任务分布,描述了跨边缘和云的示例性引擎分布。图6A-B的一些元件可以与图1-5B的元件相似,因此可以使用相似或相同的附图标记来描述那些元件。
参考图6A,当网络资源在虚拟层108内可用时,应用104可以经由API 206动态地请求204资源以及引擎任务,并且经由API 206通过虚拟层108从客户端设备106和云服务器102中的一个或多个接收响应208。虚拟引擎202的优化组件306和分布平台308可以在客户端设备106和云服务器102之间分配特定功能的引擎任务的资源任务。在图6A所示的示例中,虚拟引擎202将声音引擎602和物理引擎604的功能分发到客户端设备106,并将虚拟化逻辑组件304,人工智能(AI)引擎606,图形引擎608,优化组件306和分布平台308的功能分发到云服务器102。
参考图6B,应用104可以经由API 206动态地请求204资源以及引擎任务,并且经由API206通过虚拟层108从客户端设备106,雾服务器116和云服务器102中的一个或多个接收响应208。虚拟引擎202的优化组件306和分布平台308可以在客户端设备106,雾服务器116和云服务器102之间分配特定功能的引擎任务的资源。在图6A所示的示例实施例中,虚拟引擎202将声音引擎602的功能分发到客户端设备106,将物理引擎604和图形引擎508的功能分发到雾服务器116,并将虚拟化逻辑组件304,AI引擎606和优化组件306的功能分发到云服务器102。
图7示出了根据实施例的在能够实现跨边缘和云的软件引擎虚拟化以及动态资源和任务分布的系统700中使用的客户端设备106。
客户端设备106可以包括诸如输入/输出(I/O)模块702的操作组件;电源704;存储器706;形成跟踪模块712的传感器708和收发器710;以及网络接口714,全部可操作地连接到处理器716。
I/O模块702被实现为被配置为与用户交互并向一个或多个其它系统组件提供用户输入数据的计算硬件和软件。例如,I/O模块702可以被配置为与用户交互,基于交互生成用户输入数据,并且在经由网络传送到其他处理系统(例如服务器)之前将用户输入数据提供给处理器716。在另一示例中,I/O模块702被实现为被配置为与客户端设备106交互的外部计算指向设备(例如,触摸屏,鼠标,3D控件,操纵杆,游戏垫等)和/或文本输入设备(例如,键盘,口述工具等)。在其它实施例中,I/O模块702可提供与上述功能不同的、额外的或较少的功能。
电源704被实现为被配置为向客户端设备106供电的计算硬件和软件。在一个实施例中,电源704可以是电池。电源704可以内置到设备中或者可以从设备中移除,并且可以是可再充电的或不可再充电的。在一个实施例中,可以通过用另一个电源704替换一个电源704来对设备重新供电。在另一个实施例中,电源704可以通过连接到充电源的电缆进行再充电,例如连接到个人计算机的通用串行总线(“USB”)火线,以太网,雷电接口或耳机电缆。在又一个实施例中,电源704可以通过感应充电进行再充电,其中,当感应充电器和电源704两者非常接近时,电磁场用于将能量从感应充电器传递到电源704,但不需要通过电缆彼此插入。在另一个实施例中,可以使用扩展坞来促进充电。
存储器706可以被实现为适于存储应用指令的计算硬件和软件。存储器706可以是能够存储处理器716可访问的信息的任何合适的类型,包括计算机可读介质,或存储可以借助于电子设备读取的数据的其它介质,例如硬盘驱动器,存储卡,闪存驱动器,ROM,RAM,DVD或其它光盘,以及其它具有写能力和只读存储器。除了永久存储器之外,存储器706还可以包括临时存储器。
传感器708还可以包括一个或多个惯性测量单元(IMU),加速度计和陀螺仪。IMU被配置为通过使用加速度计和陀螺仪的组合来测量和报告客户端设备106的速度,加速度,角动量,平移速度,旋转速度和其它遥测元数据。IMU内的加速度计和/或与IMU分开配置的加速度计可以被配置为测量交互设备的加速度,包括由于地球重力场引起的加速度。在一个实施例中,加速度计包括能够在三个正交取向上测量加速度的三轴加速度计。客户端设备106的传感器708还可以包括一个或多个摄像机。例如,相机可以是安装在客户端设备中的深度相机。相机可经配置以捕获并提供用户的观看位置和取向。
收发器710可被实现为计算硬件和软件,其被配置为使设备能够从天线接收无线电波并将数据发送回天线。在一些实施例中,可以使用mmW收发器,其可以被配置为从天线接收mmW波信号,并且当与沉浸式内容交互时将数据发送回天线。收发器710可以是双向通信收发器710。
在实施例中,跟踪模块712可以通过将IMU,加速度计和陀螺仪的能力与由收发器710提供的位置跟踪相结合来实现,并且由基于mmW的天线提供的精确跟踪,低等待时间和高QOS功能可以实现亚厘米或亚毫米位置和定向跟踪,这可以在跟踪客户端设备106的实时位置和定向时提高精度。在替代实施例中,感测机构和收发器710可在单个跟踪模块装置中耦合在一起。
网络接口714可以被实现为计算软件和硬件,以通信地连接到网络,从由服务器或客户端设备106发送的网络接收计算机可读程序指令,并转发计算机可读程序指令,以便存储在存储器706中,由处理器716执行。
处理器716可以被实现为被配置为接收和处理数据(例如传感器数据)和数字现实应用数据和指令的计算硬件和软件。举例来说,处理器716可经配置以提供成像请求,接收成像数据,将成像数据处理成环境或其它数据,处理用户输入数据和/或成像数据以产生用户交互数据,执行基于边缘(设备上)的机器学习训练和推断,提供服务器请求,接收服务器响应,和/或将用户交互数据,环境数据和内容对象数据提供到一个或多个其它系统组件。例如,处理器716可以从I/O模块702接收用户输入数据,并且可以分别实现存储在存储器706中的应用。在其它实例中,处理器716可从感测机构接收从现实世界捕获的数据,或可通过跟踪模块712接收客户端装置106的准确位置和取向,且可在将数据发送到服务器以用于进一步处理之前准备一些数据。
图8描述了根据实施例的跨边缘和云实现软件引擎虚拟化的方法800。方法800可以由系统来实现,例如由参考图1A-7描述的系统来实现。
方法800开始于步骤802,提供跨经由网络连接的一个或多个云服务器和客户端设备托管的虚拟引擎,该虚拟引擎包括虚拟化逻辑组件。方法800在步骤804中结束,由虚拟引擎的虚拟化逻辑组件虚拟化一个或多个系统网络组件,应用和引擎组件,创建经由网络连接到一个或多个客户端设备和云服务器的虚拟层。
图9描绘了方法900,其允许跨边缘和云的动态资源和任务分布,其可以例如在图8的方法800中创建的虚拟层中使用。方法900可以由系统来实现,例如由参考图1A-7描述的系统来实现。
方法900开始于步骤902,通过虚拟引擎中的至少一个优化组件持久地评估来自一个或多个应用的引擎任务和系统资源需求。然后,在步骤904中,方法900继续,由虚拟引擎中的至少一个优化组件基于所述评估来优化引擎任务和系统资源的分配。最后,方法900可以在步骤906结束,基于由至少一个优化组件执行的优化,经由虚拟引擎的分布组件跨边缘和云动态地分布按需引擎任务和系统资源。
虽然已经在附图中描述和示出了某些实施例,但是应当理解,这样的实施例仅仅是说明性的,而不是对宽泛的发明进行限制,并且本发明不限于所示出和描述的具体结构和布置,因为本领域的普通技术人员可以想到各种其他修改。因此,本说明书应被认为是示例性的而不是为了限制本发明。

Claims (20)

1.一种能够实现跨边缘和云的软件引擎虚拟化以及动态资源和任务分布的系统,其特征在于,所述系统包括:
至少一个云服务器,所述至少一个云服务器包括存储器和至少一个处理器,所述至少一个云服务器托管软件引擎的虚拟化逻辑组件和至少一个云引擎,所述至少一个云引擎被配置为存储和处理来自一个或多个应用的应用数据;
经由网络连接到所述至少一个云服务器的一个或多个客户端设备,所述一个或多个客户端设备托管所述软件引擎的至少一个本地引擎,所述至少一个本地引擎被配置为存储和处理来自所述一个或多个应用的应用数据,并向用户提供输出;和
跨边缘和云托管的虚拟引擎,所述虚拟引擎被配置为经由所述虚拟化逻辑组件来虚拟化一个或多个系统网络组件、所述一个或多个应用以及所述至少一个云引擎和所述至少一个本地引擎的组件,创建经由所述网络连接到所述一个或多个客户端设备和所述至少一个云服务器的虚拟层,
其中,所述软件引擎的一些组件被托管在所述至少一个云服务器上,而其它组件被托管在所述一个或多个客户端设备上。
2.如权利要求1所述的系统,其特征在于,还包括一个或多个雾服务器,所述一个或多个雾服务器包括存储器和至少一个处理器,所述雾服务器位于邻近所述一个或多个客户端设备的区域中,并被配置成帮助所述至少一个云服务器和所述一个或多个客户端设备处理来自所述一个或多个应用的应用数据,其中所述雾服务器的功能在所述虚拟层内抽象化。
3.如权利要求2所述的系统,其特征在于,所述一个或多个应用由所述一个或多个客户端设备,云服务器,雾服务器或其组合来托管。
4.根据权利要求1所述的系统,其特征在于,所述虚拟引擎还包括:
至少一个优化组件,所述至少一个优化组件被配置为评估来自所述一个或多个应用的引擎任务和系统资源需求,并且基于所述评估来优化所述资源和任务分配;和
至少一个系统资源分布平台,所述至少一个系统资源分布平台被配置为基于所述至少一个优化组件的优化,根据需要来跨边缘和云分布所需的引擎任务和系统资源。
5.如权利要求4所述的系统,其特征在于,所述至少一个系统资源分布平台包括链接到多个物理网络资源的一个或多个虚拟单元。
6.如权利要求5所述的系统,其特征在于,两个或多个虚拟单元可组合使用,以便向所述一个或多个客户端设备动态分配资源和引擎任务。
7.如权利要求4所述的系统,其特征在于,所述优化组件利用资源分配参数,所述资源分配参数包括服务器能力;客户端能力;端到端响应时间;应用资源需求;所需的和可用的服务质量;服务等级协议;设备与服务器之间的距离;带宽容量;或所需的细节水平,或其组合中的一个或多个。
8.如权利要求1所述的系统,其特征在于,所述虚拟引擎还包括一个或多个功能特定的子引擎。
9.如权利要求1所述的系统,其特征在于,所述网络包括毫米波(mmW)或mmW和sub 6GHz通信系统的组合,或者无线局域网。
10.如权利要求1所述的系统,其特征在于,所述一个或多个客户端设备包括一个或多个移动设备,个人计算机,游戏控制台,媒体中心,智能隐形眼镜或头戴式显示器。
11.一种实现跨边缘和云的软件引擎虚拟化和分布的方法,其特征在于,包括:
提供跨经由网络连接的一个或多个云服务器和一个或多个客户端设备托管的虚拟引擎,所述虚拟引擎包括虚拟化逻辑组件;和
经由所述虚拟引擎的所述虚拟化逻辑组件,使一个或多个系统网络组件、一个或多个应用和软件引擎的组件虚拟化,创建经由所述网络连接到所述一个或多个客户端设备和所述一个或多个云服务器的虚拟层,
其中,所述软件引擎的一些组件被托管在所述一个或多个云服务器上,而其它组件被托管在所述一个或多个客户端设备上。
12.如权利要求11所述的方法,其特征在于,还包括提供包括存储器和至少一个处理器的一个或多个雾服务器,所述一个或多个雾服务器位于邻近所述一个或多个客户端设备的区域中,并被配置成帮助所述一个或多个云服务器和所述一个或多个客户端设备处理来自所述应用的应用数据,其中所述一个或多个雾服务器的功能在所述虚拟层中被抽象化。
13.如权利要求12所述的方法,其特征在于,所述应用由所述一个或多个客户端装置、所述一个或多个云服务器、所述一个或多个雾服务器或其组合来托管。
14.如权利要求11所述的方法,其特征在于,还包括:
由所述虚拟引擎中的至少一个优化组件评估来自所述一个或多个应用的引擎任务和系统资源需求;
由所述虚拟引擎中的所述至少一个优化组件基于所述评估来优化引擎任务和系统资源的分配;和
基于由所述至少一个优化组件进行的优化,通过所述虚拟引擎的分布组件,跨边缘和云动态分布按需的引擎任务和系统资源。
15.如权利要求14所述的方法,其特征在于,所述至少一个优化组件利用资源分配参数,所述资源分配参数包括服务器能力;客户端能力;端到端响应时间;应用资源需求;所需的和可用的服务质量;服务等级协议;设备与服务器之间的距离;带宽容量;或细节水平,或其组合中的一个或多个。
16.如权利要求14所述的方法,其特征在于,所述分布组件包括链接到多个物理网络资源的一个或多个虚拟单元。
17.如权利要求16所述的方法,其特征在于,两个或多个虚拟单元可组合使用,以便向所述一个或多个客户端设备动态分配资源和引擎任务。
18.如权利要求11所述的方法,其特征在于,所述软件引擎包括一个或多个功能专用的子引擎。
19.如权利要求11所述的方法,其特征在于,所述网络包括毫米波(mmW)或mmW和sub6GHz通信系统的组合,或者无线局域网。
20.一种具有存储在其上的指令的一个或多个非暂时性计算机可读介质,其特征在于,所述指令被配置为当由一个或多个计算机执行时,使所述一个或多个计算机通过进行以下步骤来实现跨边缘和云的软件引擎虚拟化以及动态资源和任务分配:
提供跨经由网络连接的一个或多个云服务器和一个或多个客户端设备托管的虚拟引擎,所述虚拟引擎包括虚拟化逻辑组件;和
经由所述虚拟引擎的所述虚拟化逻辑组件,使一个或多个系统网络组件、一个或多个应用和软件引擎的组件虚拟化,创建经由所述网络连接到所述一个或多个客户端设备和所述一个或多个云服务器的虚拟层;
由所述虚拟引擎中的至少一个优化组件评估来自所述一个或多个应用的引擎任务和系统资源需求;
由所述虚拟引擎中的所述至少一个优化组件基于所述评估来优化引擎任务和系统资源的分配;和
基于由所述至少一个优化组件进行的优化,通过所述虚拟引擎的分布组件,跨边缘和云动态分布按需的引擎任务和系统资源,
其中,所述软件引擎的一些组件被托管在所述一个或多个云服务器上,而其它组件被托管在所述一个或多个客户端设备上。
CN202010560325.0A 2019-06-18 2020-06-18 跨边缘和云的软件引擎虚拟化以及动态资源和任务分布 Active CN112104691B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962863108P 2019-06-18 2019-06-18
US62/863,108 2019-06-18

Publications (2)

Publication Number Publication Date
CN112104691A CN112104691A (zh) 2020-12-18
CN112104691B true CN112104691B (zh) 2023-10-10

Family

ID=71111231

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010560325.0A Active CN112104691B (zh) 2019-06-18 2020-06-18 跨边缘和云的软件引擎虚拟化以及动态资源和任务分布

Country Status (3)

Country Link
US (1) US20200403935A1 (zh)
EP (1) EP3757788A1 (zh)
CN (1) CN112104691B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11625806B2 (en) * 2019-01-23 2023-04-11 Qualcomm Incorporated Methods and apparatus for standardized APIs for split rendering
US11349870B2 (en) 2019-08-16 2022-05-31 Verizon Patent And Licensing Inc. Methods and devices for virtualizing device security using a multi-access server that is separate from a device
US11194613B2 (en) * 2019-08-16 2021-12-07 Verizon Patent And Licensing Inc. Methods and devices for virtualizing a device management client in a multi-access server separate from a device
CN112787811B (zh) * 2021-01-11 2022-07-15 哈尔滨工程大学 一种针对雾计算物联网物理层安全的混合资源配置方法
US20220357897A1 (en) * 2021-05-07 2022-11-10 Rakuten Mobile, Inc. Scalable content delivery resource usage
CN114095500B (zh) * 2021-11-09 2023-03-24 龙思云(北京)科技有限公司 云应用无感跨地域漂移方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102739771A (zh) * 2012-04-18 2012-10-17 上海和辰信息技术有限公司 一种支持服务融合的云应用集成管理平台和方法
WO2017064560A1 (en) * 2015-10-13 2017-04-20 Schneider Electric Industries Sas Centralized management of a software defined automation system
WO2017212036A1 (en) * 2016-06-10 2017-12-14 Schneider Electric Industries Sas Method and system for providing proxy service in an industrial system

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7451196B1 (en) 2000-12-15 2008-11-11 Stream Theory, Inc. Method and system for executing a software application in a virtual environment
KR100742357B1 (ko) * 2005-11-18 2007-07-24 한국전자통신연구원 지능형 분산 서버 시스템 및 이의 운용방법
JP4798705B2 (ja) * 2006-03-23 2011-10-19 任天堂株式会社 位置算出装置、位置算出プログラム、ゲーム装置、およびゲームプログラム
US20080268418A1 (en) * 2007-04-25 2008-10-30 Tashner John H Virtual education system and method of instruction
US8151199B2 (en) * 2009-02-09 2012-04-03 AltEgo, LLC Computational delivery system for avatar and background game content
US20150310497A1 (en) * 2009-12-17 2015-10-29 David Valin Method and process for registration, creation and management of micro shares of real or intangible properties and advertisements in a network system
US8538835B2 (en) * 2010-05-28 2013-09-17 Time Warner Cable Enterprises Llc Methods and apparatus for supporting electronic requests for information and promotions on multiple device platforms in an integrated manner
WO2012020405A1 (en) * 2010-08-09 2012-02-16 Neebula Systems Ltd. System and method for determining a topology of at least one application in a computerized organization
US20160154659A9 (en) * 2010-11-22 2016-06-02 ATM Shafiqul Khalid Mega Data Center Using Mini-cloud Host in Residential Environment
AU2014201887A1 (en) * 2010-12-06 2014-05-22 Gamblit Gaming Llc Enhanced slot-machine for casino applications
US9253252B2 (en) * 2011-05-06 2016-02-02 Citrix Systems, Inc. Systems and methods for cloud bridging between intranet resources and cloud resources
EP2705632B8 (en) * 2011-05-06 2018-09-12 Citrix Systems, Inc. Systems and methods for cloud bridging between public and private clouds
US9153062B2 (en) * 2012-02-29 2015-10-06 Yale University Systems and methods for sketching and imaging
US20130268290A1 (en) * 2012-04-02 2013-10-10 David Jackson Systems and methods for disease knowledge modeling
US20150296030A1 (en) * 2012-07-03 2015-10-15 Stephane Maes Managing a multitenant cloud service
US9344465B2 (en) * 2012-12-04 2016-05-17 International Business Machines Corporation Correlating computing network events
BR102012033826B1 (pt) * 2012-12-28 2021-11-30 Samsung Eletrônica Da Amazônia Ltda Método para executar uma máquina virtual
US9008097B2 (en) * 2012-12-31 2015-04-14 Mellanox Technologies Ltd. Network interface controller supporting network virtualization
KR20150113113A (ko) * 2013-01-29 2015-10-07 몰레큘러 헬스 게엠베하 임상적 판단 지원을 위한 시스템 및 방법
US20140280644A1 (en) * 2013-03-15 2014-09-18 John Cronin Real time unified communications interaction of a predefined location in a virtual reality location
US9585186B2 (en) * 2013-08-15 2017-02-28 Benu Networks, Inc. System and method of providing advanced services in a virtual CPE deployment
WO2015123849A1 (en) * 2014-02-20 2015-08-27 Wenbo Mao Method and apparatus for extending the internet into intranets to achieve scalable cloud network
US10555788B2 (en) * 2014-03-28 2020-02-11 Intuitive Surgical Operations, Inc. Surgical system with haptic feedback based upon quantitative three-dimensional imaging
US9385934B2 (en) * 2014-04-08 2016-07-05 International Business Machines Corporation Dynamic network monitoring
US9551873B2 (en) * 2014-05-30 2017-01-24 Sony Interactive Entertainment America Llc Head mounted device (HMD) system having interface with mobile computing device for rendering virtual reality content
US9703951B2 (en) * 2014-09-30 2017-07-11 Amazon Technologies, Inc. Allocation of shared system resources
US10062354B2 (en) * 2014-10-10 2018-08-28 DimensionalMechanics, Inc. System and methods for creating virtual environments
US9160680B1 (en) * 2014-11-18 2015-10-13 Kaspersky Lab Zao System and method for dynamic network resource categorization re-assignment
US20170054792A1 (en) * 2014-11-20 2017-02-23 Otoy, Inc. Systems and methods for deploying applications
US10038741B1 (en) * 2014-11-24 2018-07-31 Amazon Technologies, Inc. Selective enabling of sequencing for encapsulated network traffic
CN105700955A (zh) * 2014-11-28 2016-06-22 英业达科技有限公司 服务器系统的资源分配方法
US20170048308A1 (en) * 2015-08-13 2017-02-16 Saad Bin Qaisar System and Apparatus for Network Conscious Edge to Cloud Sensing, Analytics, Actuation and Virtualization
CA3000643C (en) * 2015-10-01 2020-04-07 Telefonaktiebolaget Lm Ericsson (Publ) Measurement control of wireless communication devices for cell range extension
US9678783B2 (en) * 2015-10-14 2017-06-13 International Business Machines Corporation Temporal dynamic virtual machine policies
US10243878B2 (en) * 2016-06-16 2019-03-26 Cisco Technology, Inc. Fog computing network resource partitioning
US9876525B1 (en) * 2016-09-06 2018-01-23 Phazr, Inc. Portable millimeter-wave communications device
US11044162B2 (en) * 2016-12-06 2021-06-22 Cisco Technology, Inc. Orchestration of cloud and fog interactions
US10680910B2 (en) * 2017-01-19 2020-06-09 Telefonaktiebolaget Lm Ericsson (Publ) Virtualized proactive services
US10878342B2 (en) * 2017-03-30 2020-12-29 Intel Corporation Cloud assisted machine learning
US20190096057A1 (en) * 2017-05-11 2019-03-28 Jacob Nathaniel Allen Object inspection system and method for inspecting an object
US10567537B2 (en) * 2017-05-15 2020-02-18 Citrix Systems, Inc. Optimizing web applications using a rendering engine
US20200007615A1 (en) * 2017-06-05 2020-01-02 Umajin Inc. Server kit configured to execute custom workflows and methods therefor
US10666706B2 (en) * 2017-11-22 2020-05-26 Citrix Systems, Inc. Rendering a web application in a cloud service
US10467809B2 (en) * 2018-01-03 2019-11-05 Verizon Patent And Licensing Inc. Methods and systems for presenting a video stream within a persistent virtual reality world
US10715633B2 (en) * 2018-01-10 2020-07-14 Cisco Technology, Inc. Maintaining reachability of apps moving between fog and cloud using duplicate endpoint identifiers
WO2019173625A1 (en) * 2018-03-07 2019-09-12 Memorial Sloan Kettering Cancer Center Methods and systems for automatic radiotherapy treatment planning
EP3781713A4 (en) * 2018-04-16 2022-01-12 Memorial Sloan-Kettering Cancer Center SYSTEMS AND METHODS FOR DETECTING CANCER THROUGH CFDNA SCREENING
US11307968B2 (en) * 2018-05-24 2022-04-19 The Calany Holding S. À R.L. System and method for developing, testing and deploying digital reality applications into the real world via a virtual world
US10810223B2 (en) * 2018-06-14 2020-10-20 Accenture Global Solutions Limited Data platform for automated data extraction, transformation, and/or loading
US20200143583A1 (en) * 2018-11-07 2020-05-07 HypeVR Cloud render service framework for low power playback devices
US11379254B1 (en) * 2018-11-18 2022-07-05 Pure Storage, Inc. Dynamic configuration of a cloud-based storage system
CN109634720B (zh) * 2018-12-13 2021-11-19 郑州云海信息技术有限公司 一种多虚拟机共享fpga板卡的方法、系统及装置
WO2020150978A1 (en) * 2019-01-24 2020-07-30 Citrix Systems, Inc. Optimized network selection
US20200401436A1 (en) * 2019-06-18 2020-12-24 Tmrw Foundation Ip & Holding S. À R.L. System and method to operate 3d applications through positional virtualization technology

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102739771A (zh) * 2012-04-18 2012-10-17 上海和辰信息技术有限公司 一种支持服务融合的云应用集成管理平台和方法
WO2017064560A1 (en) * 2015-10-13 2017-04-20 Schneider Electric Industries Sas Centralized management of a software defined automation system
WO2017212036A1 (en) * 2016-06-10 2017-12-14 Schneider Electric Industries Sas Method and system for providing proxy service in an industrial system

Also Published As

Publication number Publication date
US20200403935A1 (en) 2020-12-24
EP3757788A1 (en) 2020-12-30
CN112104691A (zh) 2020-12-18

Similar Documents

Publication Publication Date Title
CN112104691B (zh) 跨边缘和云的软件引擎虚拟化以及动态资源和任务分布
US11245872B2 (en) Merged reality spatial streaming of virtual spaces
KR102236957B1 (ko) 가상 세계를 통해 가상 현실 응용 프로그램을 개발, 테스트하고, 실제 세계로 배포하기 위한 시스템 및 방법
JP7302885B2 (ja) 仮想世界または現実世界の多次元3dエンジンコンピューティングおよび仮想化ベースの動的負荷分散
US10303821B2 (en) Load balancing systems and methods for spatially-optimized simulations
CN112102463B (zh) 通过位置虚拟化技术操作3d应用的系统和方法
JP2021111385A (ja) 協調的3dマップデータ融合プラットフォーム及びその仮想世界システムを可能にするシステム及び方法
US20240037844A1 (en) 3d structure engine-based computation platform
US11663685B2 (en) System and method for providing digital reality experiences and decentralized transactions of real estate projects
EP3754705A1 (en) Systems, methods and apparatus for implementing tracked data communications on a chip
US11270513B2 (en) System and method for attaching applications and interactions to static objects
US11471772B2 (en) System and method for deploying virtual replicas of real-world elements into a persistent virtual world system
Debner Performance evaluation of a machine learning environment for intelligent transportation systems

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 54 Montorf Road, Betangburg, Luxembourg

Applicant after: Karan Holdings Ltd.

Address before: 54 Montorf Road, Betangburg, Luxembourg

Applicant before: TMRW Foundation IP & Holding S.A.R.L.

CB02 Change of applicant information
CB02 Change of applicant information

Address after: 14-16 Pasteur Avenue, Luxembourg

Applicant after: Karan Holdings Ltd.

Address before: 54 Montorf Road, Betangburg, Luxembourg

Applicant before: Karan Holdings Ltd.

GR01 Patent grant
GR01 Patent grant