CN114253793A - 动态追踪控制 - Google Patents

动态追踪控制 Download PDF

Info

Publication number
CN114253793A
CN114253793A CN202110969721.3A CN202110969721A CN114253793A CN 114253793 A CN114253793 A CN 114253793A CN 202110969721 A CN202110969721 A CN 202110969721A CN 114253793 A CN114253793 A CN 114253793A
Authority
CN
China
Prior art keywords
middleware
execution
service
edge
monitoring
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
CN202110969721.3A
Other languages
English (en)
Inventor
K·杜什
N·M·史密斯
F·圭姆伯纳特
K·巴特法-沃尔库特
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN114253793A publication Critical patent/CN114253793A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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/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/45579I/O management, e.g. providing access to device drivers or storage
    • 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/45587Isolation or security of virtual machine instances
    • 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/45591Monitoring or debugging support
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

公开了用于提供分布式基于边缘的追踪框架系统的方法、设备、系统和制品。一种示例系统包括:中间件生成器,用于响应于监控请求而生成中间件,该中间件用于监控在执行载体中执行的服务的执行;中间件控制者,用于从中间件收集有关监控的服务的执行的数据,以及响应于监控的执行而控制中间件;以及补救器,用于响应于在监控的服务执行中标识出的错误而提供补救。

Description

动态追踪控制
技术领域
本公开总体上涉及边缘计算环境,并且更具体地涉及边缘计算环境中动态追踪控制。
背景技术
在软件代码、固件硬件设计等中调试和标识错误是耗时、劳动密集且困难的。添加分布式网络基础设施进一步使调试问题复杂化。鉴于存在多个实体和相关联的规则,跨多个系统收集信息并实现控制是困难的,如果不是不可能的话。在分布式网络中,不同的位置可能属于不同的信任边界,这阻碍通过网络监控并调节系统行为的尝试。
附图说明
图1A-图1F是示出支持在多个配置中执行服务的示例基础设施的框图。
图2A图示出示例多微服务执行图的一部分。
图2B示出在其中可以执行并评估服务的示例边缘计算基础设施。
图3示出在其中可以执行并评估服务的示例边缘计算基础设施。
图4图示出可以如本文所公开且描述的被追踪的服务之间的三个示例交互。
图5A图示出其中添加了追踪者点的示例计算图。
图5B是示例分布式追踪框架的框图。
图6A-图6B图示出使用中间件的服务的示例监控。
图7图示出示例使用环境,包括示例云环境、示例边缘环境、以及示例端点环境。
图8是图5B的示例分布式追踪框架的框图。
图9-图10是表示可被执行以实现图5B和/或图8的示例分布式追踪框架的示例机器可读指令的流程图。
图11是被构造用于执行图9和/或图10的指令以实现图5B和/或图8的分布式追踪框架的示例处理器平台的框图。
图12是示出用于边缘计算的另一边缘云配置的概览的框图。
图13图示出端点、边缘云和云计算环境之间的操作层。
图14是用于边缘计算系统中的联网和服务的示例环境的框图。
图15图示出在多个边缘节点和多个租户之间操作的边缘计算系统中的虚拟边缘配置的部署。
图16图示出在边缘计算系统中部署容器的附加计算布置。
图17图示出涉及对边缘计算系统中的应用的移动接入的示例计算和通信用例。
图18A是可以部署在图12-图15和/或图17中所图示的边缘计算系统中的一者中的示例计算节点的示例实现方式的框图。
图18B是可以部署在图12-图15和/或图17中所图示的边缘计算系统中的一者中的示例计算节点的示例实现方式的另一框图。
这些图并未按比例绘制。一般来说,贯穿(多个)附图和所附书面说明书,相同的附图标记将用于指代相同或相似的部分。除非另有指示,否则连接参考(例如,附连的、耦合的、连接的、以及结合的)应被广义地解释并且可包括元件集合之间的中间构件以及元件之间的相对移动。由此,连接参考不必推断两个元件直接地连接并彼此处于固定的关系。
具体实施方式
当标识多个要素或组件时,本文使用描述符“第一”、“第二”、“第三”等。除非基于它们的使用上下文另有规定或理解,否则此类描述符并非旨在赋予优先级、物理次序或列表中的布置、或者时间顺序的任何含义,而仅仅是为了便于理解所公开的示例而用作分别指代多个要素或组件的标签。在一些示例中,描述符“第一”可以用于指代详细描述中的要素,而在权利要求中可以使用诸如“第二”或“第三”之类的不同描述符来指代相同的要素。在此类情况下,应当理解,此类描述符仅用于易于引用多个要素或组件。如本文中所使用,“近似”和“大约”是指由于制造公差和/或其他现实世界缺陷而可能并不精确的尺寸。如本文中所使用,“基本上实时的”是指,认识到针对计算时间、传输等可能存在现实世界延迟,以接近瞬时的方式发生。由此,除非另外指定,否则“基本上实时的”是指实时+/-1秒。
在一般层面,边缘计算是指计算和存储资源向更靠近于端点设备(例如,消费方计算设备、用户装备等)的转变,以优化总拥有成本,减少应用等待时间,改善服务能力,并且改善安全性与或数据私有性要求的顺应性。在一些场景中,边缘计算提供类云分布式服务,该类云分布式服务可为应用提供在许多类型的存储和计算资源之间的编排和管理。结果是,边缘计算的一些实现方式被称为“边缘云”或“雾”,因为先前仅在大型远程数据中心中可用的强大的计算资源被移动到更靠近于端点并使得其对于由处于网络的“边缘”处的消费方使用而言是可用的。
已经开发出采用移动网络设置的用于与多接入边缘计算(MEC)方式集成的边缘计算用例,也被称为“移动边缘计算”。MEC方式被设计成允许应用开发人员和内容提供方访问网络的边缘处以动态移动网络设置的计算能力和信息技术(IT)服务环境。欧洲电信标准协会(ETSI)行业规范小组(ISG)已开发了有限的标准,试图定义用于MEC系统、平台、主机、服务和应用的操作的通用接口。
边缘计算、卫星边缘计算(例如,边缘节点经由卫星连接至因特网)、MEC以及相关技术试图提供相比于传统云网络服务和广域网连接中所提供的减少的等待时间、增加的响应性、以及可用性更强的计算能力。然而,移动性和动态启动的服务的集成为某种移动使用和设备处理用例导致编排、功能协调、以及资源管理的限制和对编排、功能协调、以及资源管理的关心,尤其在其中涉及许多参与方(例如,设备、主机、租户、服务提供方、运营商等)的复杂移动性设置中。
以类似方式,物联网(IoT)网络和设备被设计成用于提供从各种端点的分布式计算布置。IoT设备可以是在网络上通信的实体对象或虚拟化对象,并且可以包括传感器、致动器以及其他输入/输出组件,IoT设备可用于收集数据或在现实世界环境中执行动作。例如,IoT设备可以包括被嵌入到或附连至日常物品的低功率的端点设备以提供对那些物品的附加水平的人工知觉感知,这些日常物品诸如建筑物、交通工具、包裹等。IoT设备已变得越来越流行,并且由此,使用这些设备的应用已经激增。
在一些示例中,边缘环境可以包括企业边缘,其中与企业边缘的通信和/或企业边缘中的通信可以经由无线和/或有线连接性来促进。各种边缘、雾、MEC和IoT网络、设备、以及服务的部署已经引入了许多高级用例和场景,这些用例和场景在网络边缘处并朝向网络边缘处发生。然而,这些高级用例也引入了与安全性、处理和网络资源、服务可用性和效率等等许多其他问题有关的对应的技术挑战。一个此类挑战与边缘、雾、MEC和IoT网络、设备以及服务代表端点设备执行工作负荷(包括建立出处以确定数据完整性和/或数据限制)有关。
现有技术和配置可与当前联网系统的许多方面结合使用,但是参考边缘云、IoT、MEC以及其他分布式计算部署来提供。下列系统和技术可被实现在各种分布式、虚拟化、或受管理的边缘计算系统中或者增强各种分布式、虚拟化、或受管理的边缘计算系统。这些包括其中使用MEC、第四代(4G)或第五代(5G)无线网络配置来实现或管理网络服务的环境;或者包括采用涉及光纤、铜和/或其他连接的有线网络配置的环境。进一步地,由相应计算组件进行的处理的各方面可涉及地理上接近用户装备或其他端点位置的计算元件,用户装备或其他端点位置诸如智能电话、交通工具通信组件、IoT设备等。进一步地,当前所公开的技术可涉及其他边缘/MEC/IoT网络通信标准和配置以及其他中间处理实体和架构。
边缘计算是一种开发范式,其中计算在网络的“边缘”处或靠近于网络的“边缘”被执行,典型地通过使用在基站、网关、网络路由器、或更靠近于产生和消耗数据的端点设备的其他设备处实现的计算平台来执行。例如,边缘网关服务器可装配有存储器池和存储资源,以针对连接的客户端设备的低等待时间用例(例如,自主驾驶或视频监控)实时地执行计算。或者作为示例,基站可被扩充有计算和加速资源,以直接为连接的用户装备处理服务工作负荷,而无需进一步经由回程网络传输数据。或者作为另一示例,中央办公网络管理硬件能以执行虚拟化网络功能并为服务的执行提供计算资源且为连接的设备提供消费方功能的计算硬件来代替。
边缘环境包括位于云环境与端点环境之间的网络和/或网络的部分。边缘环境实现在网络的边缘处对工作负荷的计算。例如,端点设备(例如,用户设备)可请求附近基站而不是请求云环境中的中央服务器来计算工作负荷。边缘环境包括边缘服务(例如,边缘租赁平台(EPH)),边缘服务包括存储器池、存储资源、以及处理资源。在一些示例中,边缘环境可包括边缘即服务(EaaS),其可包括一个或多个边缘服务。边缘服务代表其他边缘服务、边缘节点(例如,EPH节点)、端点设备等执行计算,诸如工作负荷的执行。边缘环境促进生产方(例如,工作负荷执行方、边缘服务)与消费方(例如,其他边缘服务、端点设备)之间的连接。
因为边缘服务可能相比于云环境中的集中式服务器更靠近于端点设备,所以边缘服务使得相比于云环境能够以更低的等待时间(例如,响应时间)来对工作负荷进行计算。边缘服务还可基于地理位置或网络布局来实现对工作负荷的本地化执行。例如,端点设备可要求工作负荷在第一地理区域中被执行,但集中式服务器可位于第二地理区域中。端点设备可请求由位于第一地理区域中的边缘服务来进行工作负荷执行以符合企业或监管限制。
要在边缘环境中执行(例如,经由EaaS、经由边缘服务、在EPH节点上,等等)的工作负荷的示例包括自主驾驶计算、视频监控监视、机器学习模型执行、以及实时数据分析。工作负荷的附加示例包括递送和/或编码媒体流、测量广告印象率、媒体流中的对象检测、语音分析、资产和/或库存管理、以及增强现实处理。
在一些示例中,边缘服务使得能够以相比于云环境中的服务器的响应时间更低的响应时间来执行工作负荷并将所执行的工作负荷的结果返回至端点设备。例如,如果边缘服务位于相比于云服务器更靠近于网络上的端点设备,则该边缘服务可相比于云服务器更快地响应于来自端点设备的工作负荷执行请求。端点设备可请求从边缘服务而不是云服务器对时间受限的工作负荷的执行。
另外,边缘服务实现对工作负荷执行的分布和去中心化。例如,端点设备可请求第一工作负荷执行和第二工作负荷执行。在一些示例中,云服务器可响应于这两个工作负荷执行请求。然而,在边缘环境的情况下,第一边缘服务可执行第一工作负荷执行请求,并且第二边缘服务可执行第二工作负荷执行请求。
在边缘环境中可包括附加基础设施来促进代表端点设备对工作负荷的执行。例如,编排器可访问来自端点设备的执行工作负荷的请求,并向多个边缘节点提供报价。这些报价可包括对要执行的工作负荷的描述以及关于能量和资源约束的条款。边缘节点(例如,EPH节点)可接受报价,执行工作负荷,并将执行的结果提供至边缘环境中的基础设施和/或提供至端点设备。
在边缘即服务(EaaS)生态系统中对服务的交付(例如,在边缘环境中,经由EPH、经由边缘基础设施元件等)可包括其中EaaS服务的订户(例如,端点设备、用户设备等)支付对边缘服务的接入的商业模型。在一些示例中,端点设备可经由小额支付、信用、令牌、电子货币等来支付边缘服务(诸如对工作负荷的执行)。在一些示例中,收入模型可包括移动网络运营商(MNO)通过签订服务水平协议(SLA)合约来维护来自订户群(诸如一个或多个网络)的订阅作为支付边缘服务的方式。例如,SLA可以包括一个或多个服务水平目标(SLO)。SLO可以包括诸如正常运行时间、响应时间等之类的度量。由MNO执行和/或管理的核算可确定随后被应用于订户账户的可计费服务。
边缘计算的快速增长对大规模软件工程实践呈现出挑战和机遇。例如,调试、A/B测试、关联异常、排除作为漏洞和/或故障原因的因素、在错误和故障之间建立模式等是跨大量独立开发的微服务的复杂操作,这些微服务协同工作来交付终端用户价值。进一步地,这些问题在网络的边缘处是进一步复杂的,在网络的边缘处,计算基础设施是异构的,不同的系统在不同的位置中维护并且受制于不同的故障配置文件,时序异常由于非统一的通信和非本地化的放置而更有可能发生,并且存在其他模糊因素(诸如功率受限且带宽受限的任务分发)。不同边缘位置可能属于不同的信任边界的问题增加了这些复杂性。由此,在尝试关联数据和统计信息以跟踪软件/程序代码的执行、收集用于软件代码执行的调试信息、等等时,在松散耦合交互中跨越不同微服务的一系列动作也可以是透明的、半透明的或不透明的。
如本文中所使用,术语“微服务”、“服务”、“任务”、“操作”和“功能”可以互换地用于指示用于使用计算基础设施(诸如边缘计算环境)执行的应用、进程和/或其他软件代码(也被成为程序代码)。软件代码、脚本和/或其他服务可以包含在沙箱或其他执行载体中以供执行,沙箱或其他执行载体通过软件故障隔离、语言级隔离机制等将一个进程与另一个进程及其环境隔离。
在软件和/或其他服务的开发或测试中,追踪提供关于软件程序的执行的信息。追踪可用于记录代码执行中发生的事件、代码执行期间的分支、数据被保存和/或访问等。例如,通过跟随追踪,可以标识和补救代码执行中的问题以完善/纠正服务。但是,追踪完整的程序执行可以是昂贵的。
本文公开的示例提供用于软件代码评估和改进的分布式事件记录。在某些示例中,事件与标记相关联并呈现为用于调试、质量控制、审计等的追踪。本文公开的示例提供了追踪代理、验证代理以及追踪和验证控制中间件,这些中间件提供了用于监控感兴趣的事件并自动化验证的基础设施,同时减少或最小化对性能和软件开发实践的干扰。因此,生产软件的开销可以保持很小。此外,可以通过使用动态分布式追踪控制来减少或最小化调试、追踪和/或记录代码以标识和关注在生产部署期间和/或生产部署之后出现的问题。
可以在边缘计算网络上实例化虚拟机或容器。在某些示例中,边缘计算网络或基础设施可以包括一个或多个网格和/或根据一个或多个网格来组织,其在网格中的节点之间分布数据和计算。然而,动态追踪控制并不与容器或其他虚拟存储器构造相关,而是与服务网格中的端到端连接相关。追踪、事件记录、资源监控等可以经由追踪框架来促进,该框架收集整个系统(例如,整个边缘计算基础设施等)的信息。
本文公开的示例提供动态追踪控制作为灵活的、独立于实体的基础设施,用于监视感兴趣的事件并改进应用和/或服务开发和执行。该基础设施减少用于生产软件开发的开销量,并减少用于标识和关注在应用、进程或其他服务的生产部署期间或之后可能出现的问题的调试、追踪和/或记录代码的数量。该基础设施还减少透明转移和自动化操作的复杂性,自动化操作包括对逻辑(诸如智能网络接口卡(NIC)、智能存储逻辑、加速逻辑等)进行监控、日志记录(log)、过滤、测试和验证,其中此类设备可以是例如在数据中心和/或边缘云基础设施中可用。
图1A-图1F是示出支持在多个配置中执行服务的示例基础设施的框图。如图1A的示例中所示,服务102可以直接在硬件机器110上运行。因此,服务102可以直接利用物理机器110(包括处理器112和存储器114)的硬件、软件和/或固件资源。
替代地或附加地,如图1B的示例中所示,服务102可以在基于硬件的虚拟机120(VM)中执行。例如,服务102可以在由利用底层机器硬件110的虚拟机管理器(VMM)122(例如,管理程序等)控制的一个或多个VM 120中执行。该配置提供硬件级虚拟化以与包括处理器112和存储器114的硬件机器110交互。
如图1C的示例中所示,服务102可以在一个或多个容器130-132中或在舱中的容器中执行。(多个)容器130可以在VM 120中执行和/或(多个)容器132可以直接在机器110上的VMM 122的地址空间中执行。
在图1D的示例中,服务102可以在容器组130-132内的进程140-146内执行。如图1C的示例中所示,一个或多个容器130-132在VM 120上和/或机器110上的VMM 122的地址空间中执行。例如,代表服务102的(多个)进程140-146在VM 120和/或VMM 122中的一个或多个容器130-132内执行。
在图1E的示例中,服务102可以在一个或多个子进程沙箱(SB)150-154中执行,例如,这些子进程沙箱通过软件故障隔离和/或通过语言级隔离机制彼此隔离。在某些示例中,子进程SB 150-154中的一个或多个可以是使用保护密钥和/或操作系统机制创建的基于硬件机制的SB,该保护密钥和/或操作系统机制将地址空间进行划分并将不同的段分配给不同的服务。在其他示例中,与安全相关的指令代码(诸如Intel SGX(软件防护扩展)等)可用于通过轻量级“库”操作系统(OS)执行服务102以实现子进程沙箱150-154。
图1F图示出实例化以在环0或核地址空间(例如,环0)164和/或在用户空间(例如,环3)166中执行服务102的示例沙箱(SB)160-162。在此类示例中,保护环和/或其他分层保护域可用于将服务102与存储器114或处理器112中的其他数据功能地隔离。
如在图1A-图1F的示例中所示,服务102和/或其他应用、进程、软件程序代码等可以在沙箱(SB)和/或其他执行载体(EV)(例如,容器、VM、进程、处理器等)以包含服务102并将其与其他系统功能隔离。例如,包含结构(诸如SB、其他EV等)提供了边界,可以跨越该边界以实现与不同SB或其他EV中的另一个服务的交互。例如,EV之间的交互可以经由有线和/或基于无线的通信在地面和/或基于卫星的环境中发生。
在某些示例中,两个单独SB中的两个服务可以具有每个服务可访问的共享存储器区(例如,用于轻量级通信和协调等)。在这些示例中,可以通过可拦截的原语(例如,set(设置)、get(获取)等)访问沙箱之间共享的存储器区域,这允许服务的可重新定位。
在某些示例中,通过附加实用程序(诸如调试器)和/或通过在SB或其他EV内的进程标识符(PID)上执行进程控制动作(诸如“strace”、“ltrace”等),来执行隔离中的各个服务的主动、监控、调试等。然而,调试和/或追踪服务(例如,宏服务等)――包括一组较小或微服务的交互、跨EV以及可能跨平台、所有者等的交互――涉及除了调试实用程序或进程控制动作之外超出要求的新技术和方法。例如,此类新工具在执行不同服务的不同SB/EV之间是可分布和/或可联合的。
图2A图示出示例多微服务执行图200的一部分。示例图200包括三个感兴趣节点J202、K 204和L 206,以及中间节点H 208。每个节点202-208代表服务在网络基础设施(诸如边缘计算环境)中的相关联SB或其他EV中执行。在图2A的示例中,监控器M 210监控图200的节点J 202、K 204和L 206之间的交互。追踪节点I 212收集图中节点J 202、K 204和L 206之间的交互的追踪。
在图2A的示例中所示,即使中间节点H 208是执行图200的一部分,节点H 208本身也可能出于一个或多个操作原因而是不感兴趣的。例如,节点H 208可能是不感兴趣的琐碎微服务。节点H 208可能不可仪器化(uninstrumentable)(例如,H 208可在硬件加速器等内实现)。节点H 208的追踪成本可能过高(例如,节点H 208可能正在添加两个TB大小的向量以产生第三个TB大小的向量,等等)。因此,可期望监控或追踪服务J 202、K 204和L 206,而不监控或追踪节点H 208。
如图2B的示例中所示,在示例边缘计算基础设施220中,与节点J 202相关联的服务在EV1 222上运行,与节点K 204相关联的服务在EV2 224上运行,并且与节点L 206相关联的服务在EV3 226上运行。三个沙箱或执行载体222-226可以通信,其可能或可能不通过物理网络堆栈。例如,EV1 222、EV2 224和EV3 226可以是具有独立地址空间和在其内部具有软件堆栈的不同执行载体。例如,EV 222-226也可以属于不同的安全主体。交互(例如,在K 204与L 206之间,在J 202与L 206之间等)可以通过中间件(例如,节点H 208)发生,该中间件没有被仪器化用于追踪、调试等。某些示例启用追踪、调试、和/或其他分析以利用网络200中的服务202-206驱动关于原因、结果、统计相关性等的推理。
如图3的示例中所示,节点K 204(例如,服务K 204)可以包括在边缘计算基础设施220中的沙箱EV2 224、EV4 320和EV5 322中执行的多个其他服务Kp 302、Kq 304、Kr 306、Ks 308和Kt 310,其中Kp 302和Ks 308在同一沙箱EV2 224中执行,Kq 304和Kr 306在沙箱EV4 320中执行,并且Kt 310在沙箱EV5 322中执行。
在某些示例中,可以分析节点K 204的服务(例如,宏服务)以追踪形成服务K 204的微服务Kp 302、Kq304、...Kt 310之间的交互。在其他示例中,可以针对K 204整体的健康的高级指示来监控服务K 204,并且可以在自组织(动态)基础上激活节点K 204下的子图中的低级追踪。使用边缘和/或其他计算平台基础设施内和跨边缘和/或其他计算平台基础设施的动态追踪启用并以编程方式实现图形和子图形级控制。沙箱EV2 222、EV4 320和EV5322可涉及不同的安全规定,用以监控和/或追踪它们的硬件或平台基础设施。此类不同的安全规定对于服务集合的所有者、开发人员或测试人员可能不可用。鉴于不同的硬件和/或软件结构、安全规定、访问控制等,某些示例支持跨平台监控、追踪和/或测试服务。
图4图示出可以如本文所公开且描述的被追踪的服务之间的三个示例交互。示例A示出服务U、服务V和服务W。示例A中的每个服务U、V、W表示通过远程过程调用(RPC)(例如,可以是优化的RPC(gRPC))进行的调用。
示例B示出了基于事件信令的服务U与服务V之间的交互。例如,在1处,服务U向事件402发送信号,在2处,服务V正在等待该事件402(或者反之亦然)。在3处,事件402的信令导致服务V执行响应性动作。在4处,服务V向服务U可能正在等待的另一个事件404发送信号。在5处,服务U在事件404被发信号之后继续进行。示例B示出利用基于事件的同步进行异步通信的示例模式。
示例C示出另一示例交互模式,其中基于共享存储器的数据结构410用于接收由一个服务产生的数据和/或事件,并且产生的数据稍后由对等服务检索。共享存储器410不必是本地的;共享存储器可以是分布式的。共享存储器410的通信原语可以采用存储器访问协议(诸如远程直接存储器访问(RDMA)、虚拟RDMA(例如,在用户数据报协议(UDP)之上的RDMA仿真等))。如图4的示例中所示,服务U在共享存储器410中存储数据和/或事件(例如,服务U生产数据/事件),并且服务V从共享存储器410(例如,服务V消耗数据/事件)中加载数据和/或事件。
图5A-图5B图示出用于追踪和监控网络基础设施(诸如边缘计算基础设施)中的服务执行的系统和相关联的过程。图5A-图5B图示出用于追踪者(也称为抽头或抽头点)的程序化插入、移除和控制的界面。图5A图示出创建和移除追踪者的动作,以及更新追踪者的动作,诸如调制要由追踪者收集的类型和信息和/或追踪者可以在服务/进程代码执行中到达追踪者点时执行的可选动作。附加/可选动作可以包括转换收集的信息、过滤收集的信息以减少细节、潜在地加密收集的信息、压缩收集的信息等。
图5A图示出示例计算图表500,其中已经添加了追踪者点或抽头(测试接入点)510-514。例如,可以使用软件(例如,监控/追踪服务和/或其他过程)、硬件(例如,电线、传感器、在线嗅探器和/或其他监控端口等)和/或固件(例如,定制的可编程监控器等)来实现抽头510-514。示例图表包括节点J 202、K 204、L 206、H 208、M 210和I 212以及抽头510-514。示例抽头510-514实现示例网络图表500中的追踪者创建、移除和更新。
在图5A的图示示例中,抽头1 510监控服务J 202与服务K 204之间的交互。例如,抽头510从节点J 202捕获数据(诸如gRPC、事件和/或设置动作)的“流出”,以及相对应的gRPC/事件/获取“流入”到节点K 204中。抽头2 512监控服务K 204与服务H 208之间的交互。在某些示例中,抽头512识别出节点K 204是不感兴趣的或难以理解的并且将其自身配置为单侧追踪从节点K 204到节点H 208的流出。类似地,抽头3 514可以类似地被配置为单侧追踪到服务节点L 206中的流入。
在某些示例中,诸如如图5A中所示,抽头或追踪者点(诸如图5A的示例中的抽头1510、抽头2 512和抽头3 514等)是进程流或钩子中的插入点,其中当控制流(例如,程序计数器等)到达该抽头点510-514时,可以按照程序的指示来执行数个动作。对于基于gRPC的交互(参见,例如,图4的示例A),此类动作可以直接在gRPC路径中发生(例如,作为服务调用的一部分并从被调用的被调用方返回等)。对于基于事件的交互(参见,例如,图4的示例B等),可以通过拦截或包装此类调用来在事件等待和事件信号调用处执行此类动作。两种交互(例如,图4的示例A和B等)都可以通过插入(例如,基于LD_LIBRARY_PATH(LD_库_路径)的插入等)以一般方式执行,其中链接器或加载器用仪器化包装器覆盖原语然后调用覆盖的原语。对于基于共享存储器中的直接更新的交互(参见,例如,图4的示例C等),可以引导软件使用可拦截的原语(例如,set_和get_)和/或使用共享存储器文件系统的write()和read()原语等。可替代地或附加地,硬件指令集架构(ISA)扩展可以通过单个线程进行拦截,以例如在存储器范围而不是单个地址内执行用户级监控器等待(UMWAIT)。
图5B图示出包括结合SB/EV构造222-226查看以执行服务J 202、K 204和L 206的多个抽头点510-514的分布式追踪框架520。抽头点1 510、2 512和3 514分别以(1',1”)510-511、(2',2”)512-513和(3',3”)514-515成对表示。抽头510-514成对510-515表示以指示抽头点510-514可以是双向的(例如,呼叫返回、等待信号、设置-获取等)。然而,在一些情况下,抽头点510-514可以是单向交互。
如图5B的示例中所示,用于插入和激活追踪者510-515的框架520调用安全策略引擎530和/或可以被安全策略引擎530调用。因此,追踪者配置的插入、移除和/或更新可以遵循实际主体或有效主体的安全证明532,实际主体可以经由该证明(例如,通过委托等)执行各种追踪者动作。
如图5B的示例中所示,DevOps框架540提供第二接口组(称为“DevOps接口”),其可以以编程方式控制到不同软件开发和操作(DevOps)接收器的监控数据流。DevOps接收器可用于动态分析、可视化、统计提取、其他控制动作等。DevOps接收器(例如,作为脚本由DevOps框架540提供的)提供对追踪者动作的控制,并且可以由DevOps框架540发现并执行(例如,作为可扩展接口)。因此,图5B的示例示出到示例DevOps框架540的追踪者信息542和由示例框架540提供给分布式追踪框架520的输入/输出控制(IOCTL)信息544的流。IOCTL信息形成IOCTL接口544(例如,操作系统中设备或伪设备的驱动器控制接口等)。
图5的示例基础设施还包括示例追踪者保存接口550,以将追踪/监控的信息流引导到存储子系统560(例如,包括本地和/或远程易失性存储器、本地和/或远程非易失性存储器、本地和/或远程块存储、精简配置文件系统等)。通过追踪者保存接口550存储的数据还可以包括标识在追踪者点(例如,抽头510-515等)处捕获的追踪的(多个)源的标记。标记还可以提供应用于在追踪/抽头点510-515处产生的数据的证明和特权,使得信息过滤和转换例如可以与从追踪存储的信息检索结合来执行。标记还可以提供调试和/或追踪要通过自动化生命周期管理安全地存储的收集和标记(例如,注释)的数据,以使得数据被汇总,并且然后在线保留由DevOps框架540确定的指定时间段后被删除或移动到远程和/或其他存档存储中。
在某些示例中,元数据与追踪一起存储在数据存储560中。例如,元数据包括高分辨率时间戳、以及时间戳是局部时间戳还是全局时间戳的相关联指示等。元数据还包括在追踪收集时可以直接(例如,明确地)可用的某些标识符,诸如进程标识符(ID)、线程ID、沙箱ID等,和/或按照规定的提取方法间接可用的(多个)标识符。间接标识符的一个示例是在向给定端用户或服务(诸如用户ID和与去往特定端用户的流视频相关联的请求ID)提供值的上下文中跨不同服务的端到端操作流。在某些示例中,为了与带内网络遥测(INT)处理软件和/或硬件逻辑兼容,可以以INT格式报告和/或存储收集的元数据。
图6A-6B图示出使用中间件来提供在线、低开销验证流和交互式调试、追踪和监控的服务的示例监控。图6A示出了包括可执行代码区域、数据区域、(多个)执行线程、存储器堆分配区域等的示例服务610。示例服务610与两组计算中间件(追踪中间件620-626和验证中间件630-632)相关联。中间件620-632是用作用于(诸如使用上文关于图5A-图5B描述的抽头/追踪者点510-515)追踪服务执行/操作的代理的软件、固件和/或硬件构造。例如,中间件620-632可以被实现为与应用链接以(例如,使用抽头510-515等)执行关于服务610的追踪动作的库。
不是插入允许代码运行直到定义的点然后执行一系列检查动作的断点或观察点,而是定位追踪中间件620-626以监控服务610的代码执行640。追踪中间件620-626在调试或分析模式或状态640中由服务610的程序执行650触发,以联系相应验证中间件630-632,该相应验证中间件630-632已使用lambda函数进行预编程或编程(例如,及时等)来运行程序的验证。验证可以是统计的(例如,检查与服务610相关联的数据结构中随机选择的项目没有被破坏等)和/或其他静态和/或动态验证(例如,验证代码约定、根据标准检查代码的接受度、反模式检测、度量计算、性能/压力测试等)等。在某些示例中,每个追踪中间件620-626被配置成用于监视服务610的程序执行650中的不同的变量、条件、动作等监控和由/或以其他方式服务610的程序执行650中的不同的变量、条件、动作等来触发。
追踪中间件620-626通过程序和/或其他脚本的激活来指导验证中间件630-632以验证服务610的执行的完整性、适当性、正确性等。验证中间件630-632进行其对服务程序执行650的验证。验证中间件630-632将验证结果(例如,通过/失败、正确/不正确、符合/不符合、计时等)通知相应的追踪中间件620-626。验证中间件630-632还可以向追踪中间件620-626提供与验证相关联的元数据(例如,证明、高分辨率时间戳等)。
图6B示出服务610的另一个示例,包括可执行代码区域、数据区域、(多个)执行线程、存储器堆分配区域等。在图6B的示例中,已经针对示例服务610插入了追踪中间件620-626和验证中间件630-632以在大规模回归测试670期间提供质量评估。在图6B的图示示例中,验证中间件630-632被激活用于回归测试670。验证中间件630-632联系追踪中间件620-626以执行对服务610的追踪680。当相应的追踪中间件620-626被触发时(例如,当相关联的追踪者点被触发时等),追踪中间件620-626中的一个或多个生成(多个)通知690。响应于通知690,相应的验证中间件630-632将一个或多个验证动作应用于服务610的追踪680并恢复对服务610执行的测试。此类大规模回归测试还可以为代码覆盖测试生成程序执行的统计视图——哪些路径最活跃、路径统计与服务的先前版本有多少不同,等等。
因此,某些示例提供了用于支持追踪和验证被实现为服务和/或其他程序代码执行的软件应用/进程的基础设施。与需要控制服务610和人工干预的集中式控制台不同,某些示例提供了中间件620-632的网络或系统,用以监控和收集关于云基础设施的边缘计算环境中服务和/或其他进程610执行的追踪和其他信息(例如,元数据)。提供基于追踪者树的分布式框架520以分配追踪者和验证中间件620-632并收集追踪以用于结果分析。在某些示例中,使用多个追踪者点和相关联的中间件来自动化地调节用于标识问题、难题、错误等的解决级别。在某些示例中,可以动态地建立追踪者点和相关联的中间件以标识被监控的服务610的错误、故障、延迟、不确定性和/或其他问题。可以使用分布式框架520利用云基础设施的边缘计算环境的硬件、软件和/或固件来促进对被监控的服务610的补救。
在某些示例中,可以根据需要调节服务610可用的存储器容量以在动态追踪控制框架中增加或减少可用于服务610的执行、监控和补救的存储器。例如,可以请求非易失性存储器,以便监控和/或补救动作可以使用非易失性存储器来代替块存储,用于快速记录和数据检索以供补救等。服务610执行中对错误和/或其他问题的补救可以包括存储器调节、代码调节、数据调节、线程调节等。
例如,补救调节可以包括由工作负荷执行/任务执行管理器(例如,调度器、编排器、服务等)采取的一个或多个动作。例如,边缘编排器可以使用提供性能、安全性、可靠性和适用于服务610或被评估的其他任务的其他参数的SLA/SLO来指导一个或多个工作负荷执行管理器服务。可以在更广泛的SLO上下文中进行调节,其中相同或类似工作负荷的历史执行和对等节点执行提供了与例如存储器使用、代码路径/内部循环行为、数据消耗/处理/访问、线程使用模式等相关的一系列预期度量。执行管理器可以例如使用这些启发式进行细粒度调节以改进工作负荷执行(例如,基于操作权衡的SLO上下文;性能、弹性、安全性等)。
某些示例提供了在边缘服务/节点上运行的分布式追踪框架520,该框架可以访问云基础设施以及一个或多个连接的端点设备,以部署中间件、收集追踪和相关联的元数据、分析追踪和相关联的元数据,并针对在云、边缘和/或端点设备上执行的服务执行补救。
图7描绘示例使用环境700,包括示例云环境705、示例边缘环境710、以及示例端点环境712。服务可以在示例云环境705、示例边缘环境710、以及示例端点环境712中的一者或多者中执行和/或以其他方式存在于其中。云环境705包括第一示例服务器715、第二示例服务器720、第三示例服务器725以及示例数据存储730。服务器715、720、725可以执行集中式应用(例如,网站托管、数据管理、机器学习模型应用、对来自客户端设备的请求进行响应等)。数据存储730可以存储诸如数据库记录、网站请求、机器学习模型、执行机器学习模型的结果、其他服务执行结果、踪迹、代码等信息。
尽管图7的示例示出在云环境705中包括三个服务器715-725,但云环境705可以包括任何数量的服务器。同样,尽管云环境705包括一个数据存储,但在云环境705中可以包括任何数量的数据存储。服务器715、720、725可以经由网络(诸如因特网)与边缘环境710和/或端点环境712中的设备进行通信。数据库730可以响应于来自云环境705、边缘环境710、和/或端点环境712中的设备的请求而提供和/或存储数据记录。
边缘环境710(例如,边缘基础设施)包括第一示例边缘服务735和第二示例边缘服务740。在图7所图示的示例中,第一边缘服务735与第一EPH相对应,并且第二边缘服务740与第二EPH相对应。第一边缘服务735包括示例编排器742、示例调度器746、以及与第一示例EPH节点相对应的示例边缘节点748。第二边缘服务740包括示例编排器750、示例区块链节点752、示例调度器754、以及与第二示例EPH节点对应的示例边缘节点756。边缘服务735、740彼此通信,并且与云环境705中的服务715、720、725通信。如本文所使用,短语“进行通信”(包括其各种变体)包含直接通信和/或通过一个或多个中间组件的间接通信,并且不需要直接的物理(例如,有线)通信和/或持续通信,而是附加地包括以周期性间隔、预定间隔、非周期性间隔、和/或一次性事件来进行的选择性通信。尽管示例编排器742、750和示例调度器746、754被示出为实现在示例边缘环境710中,但编排器742、750和/或示例调度器746、754可以存在于云环境705、边缘环境710和/或端点环境712中。
边缘服务735、740可以代表位于云环境705、边缘环境710、和/或端点环境712中的设备来执行工作负荷。边缘服务735、740可以经由网络(诸如因特网)与环境705、710、712中的设备(例如,第一服务器715、数据存储730等)进行通信。进一步地,边缘服务735可以与环境705、710、712中的元件无线地(例如,经由蜂窝通信、卫星通信等)通信。例如,边缘服务735可以连接至被包括在云环境705中并连接至第一服务器715的蜂窝基站(例如,与该蜂窝基站进行通信)。如本文中所使用,短语“连接至”(包括其变型)涵盖连接的设备之间的直接通信和/或间接通信。
端点环境712包括第一示例端点设备765、第二示例端点设备770、第三示例端点设备775、第四示例端点设备780、第五示例端点设备785、以及第六示例端点设备790。在图7中所图示的示例中,第一端点设备765、第二端点设备770及第三端点设备775连接至第一边缘服务735。类似地,在所图示的示例中,第四端点设备780、第五端点设备785及第六端点设备790连接至第二边缘服务740。然而,端点设备765、770、775、780、785、790可以连接至任何数量的边缘服务、服务器(例如,服务器715、720、725)和/或环境705、710、712中所包括的任何其他合适的设备。例如,第一端点设备765可以连接至边缘服务735、740并且连接至第二服务器720。端点设备765、770、775、780、785、790中的任一者可以经由网络(诸如因特网)连接至环境705、710、712中的设备。在一些示例中,端点设备765、770、775、780、785、790可以连接至环境705、710、712中的一者中所包括的一个或多个蜂窝基站。例如,第一端点设备765可以连接至边缘环境710中所包括的蜂窝基站,并且该蜂窝基站可以连接至第一边缘服务735。进一步地,在端点环境712中可以包括任何数量的端点设备。在一些示例中,端点设备765、770、775、780、785、790中的一者或多者可以是诸如智能电话、个人计算机、平板等之类的用户设备。
响应于来自端点设备(例如,端点设备765)的执行工作负荷的请求,编排器(例如,编排器742)与至少一个边缘节点以及端点设备通信,以创建与对要执行的工作负荷的描述相关联的合约(例如,SLA)。端点设备765向编排器742提供用于与合约相关联的任务以及工作负荷的描述的执行环境,并且编排器742将该任务提供给调度器(例如,调度器746)。任务可以包括合约以及要执行的工作负荷的描述。在一些示例中,任务可以包括用于获取执行工作负荷所使用的资源的令牌(诸如,小额支付、电子货币等)。在一些示例中,任务可以包括要响应于工作负荷的执行而被提供的令牌的计数。
如图7的示例中所示,编排器742可以包括分布式追踪框架520。可替代地或附加地,分布式追踪框架520可以在边缘节点748中实现。在某些示例中,调度器746基于来自编排器742的指令,使用边缘节点748在端点环境712中的一个或多个设备765-790上实现服务的分布式追踪和分析。
在某些示例中,可以在诸如区块链等之类的分布式账本中存储和跟踪事务、踪迹、错误检测、补救等。区块链节点(例如,区块链节点752)维护环境705、710、712中发生的动作的记录和/或日志。在一些示例中,区块链752可以包括默克尔树,并且区块链节点652可以为参与事务的各方(诸如端点设备765、编排器742、边缘节点748和/或环境705、710、712中所包括的任何设备)提供合约、投标、报价、结果等的交付证明。例如,边缘节点748可以向区块链节点752通知对工作负荷描述的接收。编排器742、750,工作负荷调度器746、754和/或边缘节点748、756中的任一者可以向区块链744、752提供动作和/或令牌的记录。例如,编排器742可以向(多个)区块链节点752提供接收执行工作负荷的请求(例如,由端点设备765提供的合约请求)的记录。例如,区块链752可以被实现为云环境705中的集中式服务器。进一步地,环境700中的任何设备(例如,端点设备765)可以向区块链节点752提供记录和/或令牌。例如,端点设备765可以接受由编排器742提供的合约(诸如SLA、电子合约等),并且向区块链节点752提供合约接受的通知。在一些示例中,区块链节点752可以被实现为由集中式服务器(例如,第一服务器715)主控的服务。
调度器746访问来自编排器742的任务并将该任务提供至边缘节点748。边缘节点748基于任务中所包括的工作负荷的描述来执行该工作负荷。例如,任务可以是中间件插入、追踪者点插入、服务监控指令、追踪提取、中间件调节、分析、补救等。调度器7646访问来自边缘节点748的对工作负荷的执行的结果和/或令牌。调度器746将结果提供至端点设备765。在一些示例中,调度器746保留从边缘节点748访问的令牌的部分和/或将这些令牌提供至编排器742、端点设备765和/或资源提供方。
边缘节点748访问来自调度器746的任务并基于该任务中所包括的工作符合的描述来执行该工作负荷。例如,边缘节点748插入一个或多个追踪中间件720-726和/或一个或多个验证中间件730-732,以监控跨一个或多个端点设备765-775的任务(追踪者点插入、监控、追踪提取、中间件调节、分析、补救等)的执行。边缘节点748将工作负荷的至少一个执行结果提供至调度器746,并且将令牌分发至资源提供方(诸如能量提供方和/或EPH提供方)。在一些示例中,EPH提供方向EPH节点提供基础设施服务(例如,维护、设备支持、数据中心服务、空间分配等)。在一些示例中,边缘节点748、756可以响应于确定与工作负荷的执行相关联的合约条款未被满足而将令牌提供至调度器746、754。在一些示例中,响应于确定合约条款未被满足,边缘节点748、756可以请求来自调度器746、754,编排器742、750,和/或端点设备765的附加令牌。
在图7中所图示的示例中,编排器742、调度器746、以及边缘节点748被包括在边缘服务735中。然而,在一些示例中,编排器742、调度器746和/或边缘节点748被包括在边缘环境710中,而不是被包括在边缘服务735中。例如,编排器742可以连接至处于边缘服务735的外部的云环境705和/或端点环境712。在另一示例中,编排器742、调度器746和/或边缘节点748是被包括在边缘环境710中的分开的设备。进一步地,编排器742、调度器746或边缘节点748中的任一者可以被包括在云环境705或端点环境712中。例如,编排器742可以被包括在端点环境712中,被包括在云环境705中的第一服务715中,等等。在一些示例中,调度器746可以被包括在编排器742中,而不是被包括在边缘服务735中。在一些示例中,边缘服务735、740可以在边缘环境710中所包括的两个或更多个对等设备(诸如,两个或更多个边缘服务)之间分发和执行。
相对于工作负荷在云环境705中的执行,工作负荷在边缘环境710中的执行可以降低执行该工作负荷所使用的计算成本和/或处理时间。例如,端点设备765-790可以请求边缘服务735、740以相比于在云环境705中执行工作负荷所需要的成本更低的成本来执行工作负荷。在一些示例中,多个边缘服务735、740可以对接受任务以执行工作负荷进行竞争,并且每个边缘服务735、740可以向编排器742和/或端点设备765提供包括工作负荷执行成本的投标。每个投标可以包括不同的工作负荷执行成本,并且边缘服务735、740可以相对于其他投标降低相应的工作负荷执行成本,以便被选择用于执行工作负荷。由此,边缘环境710中的工作负荷执行成本可能低于云环境705中由集中式服务器(例如,第一服务器715)提供的工作负荷执行成本。
在另一示例中,相比于云环境705中的集中式服务器,端点设备765-790可以更靠近于边缘服务735、740。例如,相比于第一服务器715,边缘服务735更接近于端点设备765。结果是,端点设备765可以请求边缘服务735执行工作负荷,并且边缘服务735递送执行工作负荷结果的响应时间比云环境705中的第一服务器715的响应时间更低。
与本文中所提供的示例一致,端点设备(例如,端点设备765、770、775、780、785、790中的一者)可被实现为任何类型的端点组件、设备、装置、或能够作为数据的生产方或消费方进行通信的其他事物。例如,端点设备可以包括移动电话、膝上型计算机、台式计算机、自主交通工具中的处理器平台等。在附加或替代示例中,端点设备可以包括相机、传感器等。进一步地,如环境700中所使用的标签“平台”、“节点”、和/或“设备”不一定意指以客户端或代理/仆从/跟随者/从属角色操作的此类平台、节点、和/或设备;相反,环境700中的平台、节点、和/或设备中的任一者指代包括分立的和/或连接的硬件和/或软件配置以促进和/或使用边缘环境710的各个实体、平台、节点、设备和/或子系统。
在一些示例中,边缘环境710是从由边缘服务735操作并处于边缘服务735内的网络组件和功能特征(例如,编排器742、边缘节点748等)形成的。边缘环境710可以被实现为提供边缘计算和/或存储资源的任何类型的网络,这些边缘计算和/或存储资源被定位成接近支持无线电接入网络(RAN)的端点设备(例如,移动计算设备、IoT设备、智能设备等),其在图7中被示出为端点设备765、770、775、780、785、790。换言之,边缘环境710可被预想为连接端点设备765、770、775、780、785、790和传统网络接入点的“边缘”,该“边缘”充当进入到包括移动运营商网络(例如,全球移动通信系统(GSM)网络、长期演进(LTE)网络、5G和/或第六代(6G)网络等)的服务提供商核心网络中的入口点,同时还提供存储和/或计算能力。其他类型和形式的网络接入(例如,Wi-Fi、长程无线、包括光学网络的有线网络)也可替代此类第三代合作伙伴计划(3GPP)运营商网络被利用或与此类3GPP运营商网络组合来利用。
图8是示例编排器742上的示例分布式追踪框架520的示例实现的框图。在图8的示例中所示,示例分布式追踪框架520、示例安全策略引擎530、示例DevOps框架540和示例数据存储560可以在示例编排器742中实现。在其他示例中,示例分布式追踪框架520、示例安全策略引擎530、示例DevOps框架540和示例数据存储560中的一个或多个可以在示例边缘节点748和/或示例边缘服务735、示例边缘环境710等的其他元素中实现。
图8中所示的示例分布式追踪框架520包括安全接口810、控制接口820、中间件接口830、数据存储接口840、中间件生成器850、中间件控制器860、追踪分析器870和补救器880。如图8的示例中所示,示例边缘服务735的示例编排器742接收指令以追踪和/或以其他方式监控服务610的执行并且与调度器746和边缘节点748一起工作以部署中间件620-632并监控服务610。监控通过中间件分布并且可以跨越设备765-790边界以及云705、边缘710和端点712环境边界。在某些示例中,服务610在一个或多个端点设备765-790上的SB或其他EV 222-226中运行。
例如,响应于追踪和/或其他服务/软件监控请求,示例中间件生成器850创建一个或多个追踪中间件620-626、验证中间件630-632等。在某些示例中,证明可以如安全策略引擎530经由安全接口810所促进的,涉及中间件620-632的创建。在图8的示例中,生成的中间件620-632经由中间件接口830部署以监控在端点设备765上执行的服务610。示例中间件接口830还可以用于从中间件620-632收集信息。
在某些示例中,DevOps框架540以编程方式控制输入/输出和其他数据流,这些数据流与中间件620-632对服务610的监控相关联。分布式追踪框架520的一个或多个元件可以经由控制接口820与DevOps框架540通信并且经由中间件接口830和/或从DevOps框架540本身提供动态分析、可视化、统计提取等。中间件控制器860可以利用DevOps框架520来提供经由针对服务610部署的中间件620-632来控制程序和监控的数据流的功能。基于从中间件620-632捕获的数据、反馈等,中间件控制器860可以改变中间件620-632的配置、行为、部署等。例如,中间件控制器860可以调节中间件620-632的参数,可以部署另一个中间件620-632,可以撤销或停用中间件620-632等。
示例追踪分析器870可以经由中间件接口830收集追踪数据、相关联的元数据和/或其他监控信息并且分析来自一个或多个追踪中间件620-626和/或一个或多个验证中间件630-632的反馈以评估服务610的执行和/或其他操作。在某些示例中,追踪分析器870与中间件控制器860一起工作以分析验证和/或追踪数据并提供关于服务610操作的反馈等。
如图8的示例中所示,数据存储接口840存储从中间件620-632到存储子系统560的追踪/监控信息流。示例存储子系统560可以包括本地和/或远程易失性存储器、本地和/或远程非易失性存储器存储器、本地和/或远程块存储、精简配置文件系统、区块链数据存储等。通过示例数据存储接口850存储的数据还包括一个或多个标记,这一个或多个标记标识(a)存储的(多个)追踪的(多个)源(例如,相关联的抽头点510-515、中间件620-632等),以及(b)适用于在(多个)追踪源点产生的数据的证明和特权,以便信息过滤和转换可以结合从数据存储560中检索信息来执行。存储的数据还可以包括(c)调试和/或追踪将被以安全地存储在存储子系统560的收集和标记(例如,注释)的数据。存储的数据可以是自动化的生命周期管理的,使得存储的数据被汇总,然后在例如在线保留DevOps框架540指定的时间段后被移除或移动到“冷”存储中(例如,非易失性、访问较慢、长期存储等)。
在某些示例中,元数据与捕获的追踪一起存储在示例存储子系统560中。例如,元数据包括高分辨率时间戳,以及时间戳是局部时间戳还是全局时间戳的指示。元数据还可以包括在追踪收集时直接(例如,明确地)可用的标识符,诸如进程、标识符、线程标识符、沙箱标识符等。例如,元数据还可以包括通过来自DevOps框架540的指定提取格式间接可用的标识符。间接标识符的一个示例是在向给定端用户或服务(例如,用户标识符和与去往特定端用户的流视频相关联的请求标识符等)提供值的上下文中跨不同服务的端到端操作流。
在某些示例中,在服务610执行时,中间件控制器860与一个或多个中间件620-632交互通信并且控制一个或多个中间件620-632。基于收集的追踪、元数据和/或其他监控信息,中间件控制器860可以标识关于(例如,在端点设备765等上的SB或其他EV中的)服务610的执行的错误、不足和/或其他问题。示例补救器880可以经由中间件接口830与中间件620-632通信以调节一个或多个中间件620-632,调节代码、数据、存储器、线程和/或服务610的其他参数,调节EV 222-226的配置,调节端点设备765的配置,等等。例如,示例补救器880可以使用示例调度器746(例如,由调度器746实现的执行管理器等)、示例编排器742、示例边缘节点748、示例端点设备765-790和/或单独的“独立”服务、进程、虚拟机等,以调节执行。因此,例如,示例补救器880可以补救(例如,纠正和/或以其他方式解决等)关于服务610和/或其主机环境765的错误(例如,错误的值、错误的计算等)、不足(例如,未能满足SLA等)和/或其他问题。与补救器880一起工作,中间件控制器860可以控制、暂停、调节和释放一个或多个中间件620-632和相关联的服务610执行以帮助确保一个或多个端点设备765-790上的正确服务610操作。在某些示例中,补救器880包括由中间件控制器860响应于来自一个或多个中间件620-632的信息触发的警报处理程序脚本以解决与服务610相关联的故障。
在某些示例中,信任或追踪中间件620-626可以在没有验证中间件630-632的情况下执行带内定向检查。例如,当被这些定向检查的结果证明合格时,中间件620-626可以提取追踪数据并过滤追踪数据以用于记录和/或提供给一个或多个收集器(诸如存储子系统560)。
在某些示例中,在被追踪的收集上生成的标记可以被放置在分布式账本(例如,区块链节点752等)中。在某些示例中,标记携带来自验证者中间件630-632的验证信息,以建立服务610和/或其他应用正确操作的证明,并支持跨越不同信任边界的集体调试/验证过程。
因此,虽然使用消息传递接口的应用是通过控制台调试的,其中从一个点追踪和控制不同的实例、分片、等级或进程,但这种方法对于在独立安全域和异构沙箱中运行的应用的自组织集群是不可行。某些示例实现动态中间件620-632部署和反应追踪控制来部署、监控和调节/补救,以帮助确保正确的服务/应用执行、操作等。
在某些示例中,补救器880可以维护令牌的计数以及记入令牌(或微令牌)的计数的追踪度量的计分,使得当任务使用(例如,消耗)追踪度量的阈值时,令牌可以被记入工作负荷并且由补救器880作为任务的支付而消耗。这种“现收现付”方法不依赖于SLA结算流程,SLA结算流程可能在工作负荷完成后很长时间内发生,并且可能涉及单独的结算网络。
在某些示例中,补救器880与区块链节点752对接以记录或以其他方式记录度量、令牌计数、事务等。可替代地或附加地,本地区块链能力可以被集成到示例边缘服务742中,其中示例补救器880与本地区块链控制器交互,以帮助确保将支付和其他及时的历史上下文被有效地处理到区块链。
图5B和/或图8的图示示例的示例安全接口810、示例控制接口820、示例中间件接口830、示例数据存储接口840、示例中间件生成器850、示例中间件控制器860、示例追踪分析器870、示例补救器880,和/或更一般地,示例分布式追踪框架520、和/或示例安全策略引擎530、示例DevOps框架540、示例存储子系统560、示例编排器742,和/或更一般地,示例边缘服务735是由诸如硬件处理器等逻辑电路实现的。然而,可以附加地或替代地使用任何其他类型的电路系统,诸如,一个或多个模拟电路或数字电路、逻辑电路、(多个)可编程处理器、(多个)专用集成电路(ASIC)、(多个)可编程逻辑器件(PLD)、(多个)现场可编程逻辑器件(FPLD)、(多个)数字信号处理器(DSP)、(多个)粗粒度降低精度架构(CGRA)、(多个)图像信号处理器(ISP)等。在一些示例中,示例安全接口810、示例控制接口820、示例中间件接口830、示例数据存储接口840、示例中间件生成器850、示例中间件控制器860、示例追踪分析器870、示例补救器880,和/或更一般地,示例分布式追踪框架520,和/或示例安全策略引擎530,示例DevOps框架540、示例存储子系统560、示例编排器742,和/或更一般地,示例边缘服务735由单独的逻辑电路实现。在一些示例中,示例中间件生成器850实现用于生成的装置。在一些示例中,示例中间件控制器860实现用于监控的装置。在一些示例中,补救器880实现用于补救的装置。
虽然图5的分布式追踪框架520的示例实现示出在图8中并且网络环境700的示例实现示出在图7中示出,图1-图8中所示的元件、进程和/或设备中的一个或多个可以以任何其他方式组合、划分、重新安排、省略、消除和/或实现。此外,示例安全接口810、示例控制接口820、示例中间件接口830、示例数据存储接口840、示例中间件生成器850、示例中间件控制器860、示例追踪分析器870、示例补救器880,和/或更一般地,示例分布式追踪框架520,和/或示例安全策略引擎530,示例DevOps框架540、示例存储子系统560、示例中间件620-632、示例编排器742、示例边缘服务735和/或更一般地,示例环境700由硬件、软件、固件和/或硬件、软件和/或固件的任何组合来实现。因此,例如,示例安全接口810、示例控制接口820、示例中间件接口830、示例数据存储接口840、示例中间件生成器850、示例中间件控制器860、示例追踪分析器870、示例补救器880,和/或更一般地,示例分布式追踪框架520,和/或示例安全策略引擎530,示例DevOps框架540、示例存储子系统560、示例中间件620-632、示例编排器742、示例边缘服务735和/或更一般地,示例环境700中的任何一个可以由一个或多个模拟或数字电路、逻辑电路、(多个)可编程处理器、(多个)可编程控制器、(多个)图形处理单元(GPU)、(多个)数字信号处理器(DSP)、(多个)专用集成电路(ASIC)、(多个)可编程逻辑器件(PLD)和/或(多个)现场可编程逻辑器件(FPLD)来实现。当阅读涵盖纯软件和/或固件实现的本专利的装置权利要求或系统权利要求中的任一者时,示例安全接口810、示例控制接口820、示例中间件接口830、示例数据存储接口840、示例中间件生成器850、示例中间件控制器860、示例追踪分析器870、示例补救器880,和/或更一般地,示例分布式追踪框架520,和/或示例安全策略引擎530,示例DevOps框架540、示例存储子系统560、示例中间件620-632、示例编排器742、示例边缘服务735和/或更一般地,示例环境700中的至少一者因此被明确限定为包括非瞬态计算机可读存储设备或存储磁盘,诸如存储器、数字多功能磁盘(DVD)、紧凑盘(CD)、蓝光盘等,包括软件和/或固件。此外,图5B和/或图8的示例分布式追踪框架520、图7的示例网络环境700等可包括除图5B、图7和/或图8中所图示的那些之外或作为图5B、图7和/或图8中所图示的那些的替代的一个或多个元件、进程和/或设备,并且/或可包括任何或所有图示出的元件、进程和设备中的一个以上。如本文所使用,短语“进行通信”(包括其各种变体)包含直接通信和/或通过一个或多个中间组件的间接通信,并且不需要直接的物理(例如,有线)通信和/或持续通信,而是附加地包括以周期性间隔、预定间隔、非周期性间隔、和/或一次性事件来进行的选择性通信。
在图9-图10中示出了表示用于实现图5B和/或图8的示例分布式追踪框架520的示例硬件逻辑、机器可读指令、硬件实现的状态机和/或其任何组合的流程图。机器可读指令可以是用于由计算机处理器和/或处理器电路系统执行的一个或多个可执行程序或可执行程序的(多个)部分,计算机处理器和/或处理器电路系统诸如下文结合图11所讨论的示例处理器平台1100中示出的处理器1112。程序可被具体化在存储于与处理器1112相关联的诸如CD-ROM、软盘、硬驱动器、DVD、蓝光盘或存储器之类的非瞬态计算机可读存储介质上的软件中,但是整个程序和/或其部分可替代地由除处理器1112之外的设备执行,和/或被具体化在固件或专用硬件中。进一步地,虽然参考图9-图10中所图示的流程图描述了示例程序,但是可以替代地使用实现示例分布式追踪框架520的许多其他方法。例如,可以改变框的执行次序,和/或可以改变、消除或组合所描述的框中的一些框。附加地或替代地,框中的任何框或所有框可以由被构造成在不执行软件或固件的情况下执行相应的操作的一个或多个硬件电路(例如,分立的和/或集成的模拟和/或数字电路系统、FPGA、ASIC、比较器、运算放大器(op-amp)、逻辑电路等)来实现。处理器电路系统可以分布在不同的网络位置和/或位于一个或多个设备的本地(例如,单个机器中的多核处理器、跨服务器机架分布的多个处理器等)。
本文中描述的机器可读指令可以以压缩格式、加密格式、分段格式、编译格式、可执行格式、封装格式等中的一种或多种来存储。本文描述的机器可读指令可以作为可用于创建、制造和/或产生机器可执行指令的数据或数据结构(例如,指令的部分、代码、代码表示等)来存储。例如,机器可读指令可以被分段并被存储在位于网络或网络集合(例如,在云中、在边缘设备中等)中的相同或不同位置的一个或多个存储设备和/或计算设备(例如,服务器)上。机器可读指令可能涉及安装、修改、适配、更新、组合、补充、配置、解密、解压缩、拆包、分发、重新分配、编译等中的一项或多项,以使得它们由计算设备和/或其他机器直接可读取、可解释、和/或可执行。例如,机器可读指令可以存储在多个部分中,这些部分被单独压缩、加密并存储在单独的计算设备上,其中,这些部分在被解密、解压缩和组合时形成实现如本文所述的实现可以一起形成程序的一个或多个功能的指令的一组可执行指令。
在另一示例中,机器可读指令可以以它们能被处理器电路读取的状态存储,但是需要添加库(例如,动态链接库(DLL))、软件开发工具包(SDK)、应用编程接口(API)等,以便在特定的计算设备或其他设备上执行指令。在另一个示例中,在可整体或部分地执行机器可读指令和/或对应的(多个)程序之前,可能需要配置机器可读指令(例如,存储的设置、数据输入、记录的网络地址等)。因此,如本文所使用,机器可读介质可以包括机器可读指令和/或(多个)程序,而不管机器可读指令和/或(多个)程序在存储时或以其他方式处于静态或在传输中时的特定格式或状态如何。
本文所描述的机器可读指令可以由任何过去、现在或将来的指令语言、脚本语言、编程语言等表示。例如,机器可读指令可以用以下语言中的任何一种语言来表示:C、C++、Java、C#、Perl、Python、JavaScript、超文本标记语言(HTML)、结构化查询语言(SQL)、Swift等。
如上文所提及,可使用非瞬态计算机和/或机器可读介质上所存储的可执行指令(例如,计算机和/或机器可读指令)来实现图9和/或图10的示例过程,非瞬态计算机和/或机器可读介质诸如:硬盘驱动器、闪存、只读存储器、紧凑盘、数字多功能盘、高速缓存、随机存取存储器和/或在任何时长内(例如,在扩展时间段内、永久地、在简短的实例期间、在临时缓冲和/或信息缓存期间)将信息存储于其内的任何其他存储设备或存储盘。如本文中所使用,术语非瞬态计算机可读介质被明确地定义为包括任何类型的计算机可读存储设备和/或存储盘,并且排除传播信号且排除传输介质。
“包含”和“包括”(及其所有形式和时态)在本文中用作开放式术语。因此,每当权利要求将任何形式的“包含”和“包括”(例如,包括、包含、包括有、包含有、具有等)用作前序部分或用于任何种类的权利要求记载内容之中时,要理解的是,附加的要素、项等可以存在而不落在对应权利要求或记载的范围之外。如本文中所使用,当短语“至少”被用作例如权利要求的前序部分中的过渡术语时,它是和术语“包含”和“包括”一样的开放式的。当例如以诸如A、B和/或C之类的形式被使用时,术语“和/或”指的是A、B、C的任何组合或子集,诸如(1)单独的A、(2)单独的B、(3)单独的C、(4)A与B、(5)A与C、(6)B与C、以及(7)A与B及与C。如本文中在描述结构、组件、项、对象和/或事物的上下文中所使用,短语“A和B中的至少一个”旨在表示包括(1)至少一个A、(2)至少一个B、和(3)至少一个A和至少一个B中的任何一项的实现。类似地,如本文中在描述结构、组件、项、对象和/或事物的上下文中所使用,短语“A或B中的至少一个”旨在表示包括(1)至少一个A、(2)至少一个B、和(3)至少一个A和至少一个B中的任何一项的实现。如本文中在描述过程、指令、动作、活动和/或步骤的实行或执行的上下文中所使用,短语“A和B中的至少一者”旨在指代包括以下各项中的任一项的实现方式:(1)至少一个A、(2)至少一个B、以及(3)至少一个A和至少一个B。类似地,如本文中在描述过程、指令、动作、活动和/或步骤的实行或执行的上下文中所使用,短语“A或B中的至少一者”旨在指代包括以下各项中的任一项的实现方式:(1)至少一个A、(2)至少一个B、以及(3)至少一个A和至少一个B。
如本文所使用,单数引用(例如,“一个(a、an)”、“第一”、“第二”等)不排除复数。本文所使用的术语“一个(a或an)”实体是指一个或多个该实体。术语“一个(a)”(或“一个(an)”)、“一个或多个”和“至少一个”在本文中可以可互换地使用。此外,尽管单独列出,但多个装置、元件或方法动作可由例如单个单元或处理器来实现。另外,虽然各个特征可以被包括在不同的示例或权利要求中,但是这些特征可能被组合,并且在不同的示例或权利要求中的包含并不意味着特征的组合是不可行和/或不是有利的。
图9是表示可被执行以实现图5B和/或图8的示例分布式追踪框架系统或装置520的示例机器可读指令的流程图。当示例中间件生成器850(图8)接收到(例如,来自示例DevOps框架540、示例安全协议引擎530和/或示例边缘服务735的其他部分等的)监控请求时,图9的图示示例的示例过程900开始。(框910)。例如,中间件生成器850经由边缘服务735的编排器742接收追踪服务202-206、610的执行的请求。
响应于该请求,示例中间件生成器850创建一个或多个追踪中间件620-626、验证中间件630-632等(框920)。在某些示例中,证明或其他安全检查可能涉及释放中间件620-632以供部署。(框930)。如果是,则安全策略引擎530与中间件生成器850一起工作以提供中间件620-632完整性、服务202-206、610完整性等的证明(框935)。例如,一个或多个中间件620-632可以包括散列和/或其他指纹以验证它们的源和/或真实性和/或以触发对要监控的服务202-206、610的全部或部分代码的认证。因此,中间件620-632携载安全标记或其他证明,使得所得追踪被适当证明给例如分布式追踪框架520。
示例中间件生成器850然后将一个或多个配置的中间件620-632部署到示例端点设备765和/或要监控的服务202-206、610正在运行的其他位置。(框940)。例如,一个或多个中间件620-632可以被部署并插入到计算图或树等中,从而形成服务202-206、610在设备765等上的SB和/或其他EV中的执行。例如,在有或没有来自DevOps框架540的输入的情况下,中间件生成器850经由中间件接口830向设备765提供一个或多个中间件620-632以与相对于用于在端点设备765(或多个端点设备765-790)上执行的一个或多个服务610、202-206的一个或多个EV 222-226定位的一个或多个追踪者点510-515一起操作。例如,一个或多个虚拟机、容器和/或其他进程可以形成用于执行服务202-206、610和/或一个或多个端点设备765-790上的其他任务的执行环境(例如,(多个)EV 222-226等)。
例如,微服务(例如,服务202-206、610)提供的计算可以通过计算图表(例如,图表200、500等)来描述。图表的节点可以被映射以将不同的服务202-206、610放置在一个或多个端点设备765-790上的不同SB和/或其他EV 222-224中。EV 222-224可能不可检测,因此可以部署中间件620-632以将(多个)服务202-206、610的活动与其他网络活动相关。由于通信可通过存储器等进行,而不仅仅是有线或无线连接,因此分组嗅探不足以协调和收集追踪。相反,中间件620-632和相关联的追踪者点510-515可用于与跨多个EV 222-226、多个设备765-790等的服务202-206、610集成,以例如收集服务202-206、610在环境712内的执行的更完整图景。此类分布式系统使得能够跨多个设备765-790大规模调试和追踪多个服务202-206、610,包括跨EV 222-226和/或设备765-790边界的交互,这些交互仍然可以由中间件控制器860通过部署的追踪网络以及验证中间件620-632来关联。使用中间件620-632,中间件控制器860和追踪分析器870(例如,有或没有DevOps框架540)可以查看整个环境712,然后专注于特定区域以例如评估问题的近因。
示例中间件控制器860和追踪分析器870监控中间件620-632关于服务202-206、610的操作。(框950)。例如,中间件控制器860从被部署成监控服务202-206、610的中间件620-632中的一个或多个中间件接收追踪和/或其他监控数据、状态指示符、其他反馈等。中间件控制器860接收请求并执行关于中间件620-632和/或中间件620-632提供的数据的操作,以促进关于一个或多个服务202-206、610的调试、追踪、诊断收集、诊断程序执行等。
在某些示例中,节点202-210的根或计算子树可以被收集在要由追踪分析器870分析以确定子树中的交互等的图表中。交互可以包括RPC、事件信号、事件等待等。中间件620-632促进跨交互的追踪收集。例如,追踪中间件620-626可以被实现为关于服务202-206、610放置的拦截过程树来监控节点或服务202-206、610的部分代码执行之间的前向和/或返回路径,以收集定义服务202-206、610的各部分之间、服务202-206、610之间的交互的追踪等。
基于来自中间件620-632和追踪分析器870的反馈,示例中间件控制器860可以控制中间件620-632关于一个或多个服务202-206、610的配置、操作、布置等。(框960)。例如,可以由中间件控制器860基于来自中间件620-632的信息和/或来自追踪分析器870的分析等来对中间件620-632进行放置、移除、重新配置等。例如,中间件620-632最初可以被部署以在关于(多个)服务202-206、610的某些关键点以高细节级别(例如,关于每个点的最少信息等)收集感兴趣的追踪者。然而,如果检测到问题或者操作模式从监控切换到调试或诊断,则中间件控制器860可以调节由中间件620-632中的一个或多个中间件收集的细节级别(例如,级别0、1、2等)以捕获更多信息(诸如通信标签、存储标签等)。在某些示例中,DevOps框架540可以以灵活的方式(例如,更改追踪者点,更改追踪者点的配置,更改追踪者点的流程等)提供(或帮助提供)对中间件620-632的操作控制以驱动追踪者。中间件620-632的自动化监控和控制减少了等待时间并增加了对服务202-206、610执行中出现的问题的响应性/反应性(例如,由服务202-206、610和/或影响服务202-206、610的执行的其他系统因素等引起的问题)。
收集的追踪、元数据和相关联分析可以发送到存储子系统560(例如,本地和/或分布式存储器和/或其他数据存储等)以供编译、进一步分析、短期/长期存储等。(框970)。元数据(诸如计时信息等)可以与追踪相关联地存储以例如帮助进一步分析。
追踪分析器870、中间件控制器860、补救器880等可以向中间件620-632、调度器746、编排器742、边缘节点748、区块链分布式账本752、服务器715-725、端点设备765-790和/或其他设备提供反馈或其他报告。(框980)。反馈可用于定义或解释服务202-206、610的状态、服务202-206、610的操作、对执行服务202-206、610的(多个)设备765-790的影响等,并且可以帮助进一步改进服务202-206、610、(多个)服务202-206、610的EV 222-226分配、(多个)服务202-206、610的端点设备765-790配置等。在某些示例中,追踪可以被注释和/或以其他方式标记以用于独立于框架520和相关联的中间件620-632进行查询,以重构服务202-206、610的执行中的问题。在某些示例中,追踪中的不同证明的标记可以具有不同级别的特权,并且可以使用中间件620-632提供的证明的标记与追踪中的标记相关联地来处理在追踪中表示的跨EV 222-226、设备765-790等的不同特权级别。
在某些示例中,分布式追踪框架520可以基于监控/追踪信息来采取行动以补救在服务202-206、610的操作中发现的错误。(框990)。如果要发生补救,则补救器880向服务202-206、610、运行服务202-206、610的EV 222-226、容纳EV 222-226的端点设备765-790等提供补救动作。(框995)。例如,补救器880可以调节服务202-206、610的参数、设置、变量、代码等。例如,补救器880可以调节其中正在执行服务202-206、610的(多个)EV 222-226的参数、设置、关系等。例如,补救器880可以调节其中正在运行服务202-206、610和/或其EV222-226的(多个)端点设备765-790的参数、设置、其他配置等。作为追踪分析等的结果,补救器880还可以调节一个或多个中间件620-632。因此,补救器880可以使用分布式追踪框架520对在端点环境712中的(多个)服务202-206、610的监控中标识的(多个)问题自动地做出反应并进行调节。
图9的所图示的示例的示例过程900最后终止,但可响应于后续请求和/或监控请求而被重复。
图10是提供关于监控中间件操作和相关联服务202-206、610追踪(图9的示例的框950)的进一步示例细节的流程图,代表可以被执行以实现图8的示例中间件控制器的示例机器可读指令。图10的进程950的示例实现是当追踪者510-515及其相关联的中间件620-632被插入表示要被监控的一个或多个服务202-206、610的计算图表200、500时开始的虚拟、交互式、单步监控进程。(框1010)。
在某些示例中,服务202-206、610是单步的,同时监控和控制服务202-206、610与被监控的服务通信耦合到的其他(多个)服务202-206、610之间的交互。因此,提供了用于监控一个或多个服务202-206、610的灵活框架。例如,微服务可以是松散耦合的执行机器,但是,在它们的某些交互中,服务可以是紧密耦合的(例如,一个微服务可以通过同步gRPC调用来调用另一个微服务等)。因此,追踪者点510-515和相关联的中间件620-632(参见例如,图5A-图6B和图8)的插入提供了用于监控和理解各种交互的灵活框架520。
由追踪中间件620-626表示的抽头或追踪者点510-515指定服务202-206、610的代码执行(例如,在一个或多个方向上)到达的追踪者点以及到达追踪者点时要满足的谓词(例如,关系、函数、标准等)。因此,追踪中间件620-626可以监视指示服务202-206、610执行已经到达追踪者点510-515的“追踪者事件”。(框1020)。
一旦服务202-206、610的代码执行或交互到达相对应的追踪者点并满足(或不满足)相关联的谓词,追踪中间件620-626可以触发验证中间件630-632来验证谓词和/或追踪者点510-515处可用的其他信息并生成通知。(框1030)。因此,当检测到正确的条件集时出现通知。例如,在监控的时间段内缺少通知或否定通知(而不是肯定通知)表明在执行服务202-206、610的代码执行或服务202-206、610之间的交互中的故障、错误或其他问题。在某些示例中,通知作为广播通知或多播通知发出,以便通知可以到达包含微服务202-206、610的多个沙箱222-226,微服务202-206、610的执行在单步通过刚刚击中追踪者点的微服务202-206、610的流时暂停。示例中间件控制器860(单独或与示例追踪分析器870结合)在单步操作的每个步骤处收集诊断并将它们记录到追踪中以供进一步分析、可视化、补救等。
在该流程期间,监控的服务202-206、610可以在验证中间件620-632中的一个验证中间件处产生验证故障。(框1040)。当触发验证故障警报时,控制可以转移到警报处理程序脚本。(框1050)。例如,中间件控制器860可以触发警报、与DevOps框架540和/或追踪分析器870的交互、补救器880的操作等,以解决验证故障。
一旦分析完成,通过通知中断的服务202-206、610(在追踪者点510-515处停止)以及其他受影响的(多个)微服务202-206、610,(例如,经由一个或多个中间件620-632和/或其他指令等)将控制返回到监控的服务202-206、610。(框1060)。
如果存在用于执行监控的服务202-206、610的附加代码,则控制返回到框1010以插入下一个追踪者引脚510-515。如果没有执行剩余,则图10的图示示例中的示例进程950然后终止,但可以重复,例如,在随后的中间件监控时。在图示的示例中,控制返回到图9的示例指令。
下一个追踪者或“停止”点510-515由中间件控制器860根据与监控相关联的粒度级别标识。例如,可以在下一指令处插入下一追踪者点。替代地或附加地,可以在代码服务202-206、610内描述下一追踪者点510-515点(例如,到代码中的下一个高级功能语言语句的单个步骤等)。例如,追踪者点510-515可以相对于单个监控的服务202-206、610和/或作为单个单元被调试的、所有通信耦合的微服务202-206、610插入。
一旦插入了下一步追踪者点510-515(框1010),服务202-206、610连同在框1030处通知的其他(多个)服务从停止状态中被释放并被允许运行直到下一个停止点被击中(例如,由代码执行触发)。在该点处,控制转移到框1020以检测并处理服务202-206、610在该追踪者点510-515处的执行/状态。在某些示例中,每个监控的服务202-206、610运行直到它自己的下一个停止点。在其他示例中,只有发起先前通知的服务202-206、610停止,而其他服务202-206、610在被通知时停止。例如,一旦监控完成,服务202-206、610就从单步操作模式中被释放,然后执行可以继续正常进行,无需追踪者点/抽头。
图11是被构造用于执行图9-图10的指令以实现图5B和/或图8的分布式追踪框架520的示例处理器平台1100的框图。处理器平台1100可以是例如,服务器、个人计算机、工作站、自学习机(例如,神经网络)、移动设备(例如,蜂窝电话、智能电话、诸如iPadTM之类的平板设备)、互联网设备、游戏控制台、耳机或其他可穿戴设备、或任何其他类型的计算设备。
所图示示例的处理器平台1100包括处理器1112。所图示示例的处理器1112是硬件。例如,处理器1112可以由来自任何所期望的系列或制造商的一个或多个集成电路、逻辑电路、微处理器、GPU、DSP或控制器实现。硬件处理器可以是基于半导体的(例如,硅基)器件。在该示例中,处理器1112实现示例分布式追踪框架520、示例安全策略引擎530、示例DevOps框架540。示例分布式追踪框架520包括示例中间件生成器850、示例中间件控制器860、示例追踪分析器870和示例补救器880。
所图示示例的处理器1112包括本地存储器1113(例如,高速缓存)。所图示示例的处理器1112经由总线1114而与包括易失性存储器1116和非易失性存储器1118的主存储器进行通信。易失性存储器1114可以由同步动态随机存取存储器(SDRAM)、动态随机存取存储器(DRAM)、
Figure BDA0003225476180000341
动态随机存取存储器
Figure BDA0003225476180000342
和/或任何其他类型的随机存取存储器设备实现。非易失性存储器1116可以由闪存和/或任何其他所期望类型的存储器设备实现。由存储器控制器控制对主存储器1114、1116的访问。
所图示示例的处理器平台1100还包括接口电路1120。接口电路1120可以由任何类型的接口标准实现,诸如以太网接口、通用串行总线(USB)、蓝牙
Figure BDA0003225476180000343
接口、近场通信(NFC)接口和/或PCI express(PCI快速)接口。示例安全接口810、示例控制接口820、示例中间件接口830、示例数据存储接口840中的一个或多个可以使用接口电路1120来实现。
在所图示的示例中,一个或多个输入设备1122被连接至接口电路1120。(多个)输入设备1122准许用户将数据和/或命令输入到处理器1112中。(多个)输入设备可以由例如音频传感器、话筒、(静止的或视频)相机、键盘、按钮、鼠标、触摸屏、轨迹板、轨迹球、等点鼠标和/或语音识别系统实现。
一个或多个输出设备1124也被连接至所图示示例的接口电路1120。输出设备1124可例如由显示设备(例如,发光二极管(LED)、有机发光二极管(OLED)、液晶显示器(LCD)、阴极射线管显示器(CRT)、面内切换(IPS)显示器、触摸屏等)、触觉输出设备、打印机和/或扬声器实现。因此,所图示示例的接口电路1120典型地包括图形驱动器卡、图形驱动器芯片和/或图形驱动器处理器。
所图示示例的接口电路1120还包括诸如发射机、接收机、收发机、调制解调器、住宅网关、无线接入点、和/或网络接口之类的通信设备,以促进经由网络1126与外部机器(例如,任何种类的计算设备)交换数据。通信可以经由例如以太网连接、数字订户线路(DSL)连接、电话线连接、同轴电缆系统、卫星系统、直线对传式无线系统、蜂窝电话系统等。
所图示示例的处理器平台1100还包括用于存储软件和/或数据的一个或多个大容量存储设备1128。此类大容量存储设备1128的示例包括软盘驱动器、硬驱动器盘、紧凑盘驱动器、蓝光盘驱动器、独立磁盘冗余阵列(RAID)系统、以及数字多功能盘(DVD)驱动器。
图9-图10的机器可执行指令1132可以被存储在大容量存储设备1128中,存储在易失性存储器1114中,存储在非易失性存储器1116中,和/或存储在诸如CD或DVD的可移除非瞬态计算机可读存储介质上。例如,示例大容量存储设备1128、易失性存储器1114和/或非易失性存储器1116可以实现图5B和/或图8的示例存储子系统560。替代地或附加地,示例存储子系统560可以单独实现并且处理器平台1100可经由网络1126访问示例存储子系统560。
虽然图7图示出示例边缘云环境700,并且图11图示出可以在其上实现某些示例的示例处理平台1100,但某些示例可以在具有其他处理配置的其他云/边缘环境中实现,等等。
图12是示出用于边缘计算的另一配置的概览的框图1200,该配置包括在以下许多示例中被称为“边缘云”的处理层。如图所示,边缘云1210共同定位在边缘位置(诸如接入点或基站1240、本地处理中枢1250、或中央局1220),并且因此可以包括多个实体、设备、和装备实例。与云数据中心1230相比,边缘云1210被定位成更靠近端点(消费者和生产者)数据源1260(例如,自主交通工具1261、用户装备1262、商业和工业装备1263、视频捕获设备1264、无人机1265、智慧城市和建筑设备1266、传感器和IoT设备1267等)。在边缘云1210中的边缘处提供的计算、存储器、和存储资源对于为由端点数据源1260使用的服务和功能提供超低等待时间的响应时间以及减少从边缘云1210朝向云数据中心1230的网络回程通信量(由此改善能耗和整体网络使用等益处)至关重要。
计算、存储器、和存储是稀缺资源,并且通常根据边缘位置而减少(例如,在消费者端点设备上可用的处理资源比在基站上、在中央局处可用的处理资源更少)。然而,边缘位置越靠近端点(例如,UE),空间和功率通常就越受限。因此,边缘计算尝试通过分配被定位成既在地理上更靠近又在网络接入时间上更靠近的更多的资源来减少网络服务所需的资源量。以该方式,边缘计算尝试在适当的情况下将计算资源带到工作负荷数据,或者,将工作负荷数据带到计算资源。
以下描述了边缘云架构的各方面,该架构涵盖多种潜在的部署,并解决了一些网络运营商或服务提供商在其本身的基础设施中可能具有的限制。这些包括基于边缘位置的各种配置(例如,因为处于基站级别的边缘在多租户场景中可能具有更受限制的性能和能力);基于边缘位置、位置的层、或位置的组可用的计算、存储器、存储、结构、加速等资源的类型的配置;服务、安全性、以及管理和编排能力;以及实现端服务的可用性和性能的相关目标。这些部署可以在网络层中完成处理,取决于等待时间、距离、和定时特征,这些网络层可以被视为“接近边缘”、“靠近边缘”、“本地边缘”、“中间边缘”、或“远边缘”层。
边缘计算是一种开发范式,其中计算在网络的“边缘”处或靠近于网络的“边缘”被执行,典型地通过使用在基站、网关、网络路由器、或更靠近于产生和消耗数据的端点设备的其他设备处实现的计算平台(例如,x86或ARM计算硬件架构)来执行。例如,边缘网关服务器可装配有存储器池和存储资源,以针对连接的客户端设备的低等待时间用例(例如,自主驾驶或视频监测)实时地执行计算。或者作为示例,基站可被扩充有计算和加速资源,以直接为连接的用户装备处理服务工作负荷,而无需进一步经由回程网络传输数据。或者作为另一示例,可用执行虚拟化网络功能并为服务的执行提供计算资源并且为连接的设备提供消费者功能的标准化计算硬件来代替中央局网络管理硬件。在边缘计算网络内,可能存在计算资源“被移动”到数据的服务中的场景,以及其中数据“被移动”到计算资源的场景。或者作为示例,基站计算、加速和网络资源可以提供服务,以通过激活休眠容量(订阅、按需容量)来根据需要扩展工作负荷需求,以管理极端情况、紧急情况或为部署的资源在显著更长的实现的生命周期中提供长寿命。
图13示出了端点、边缘云和云计算环境之间的操作层。具体而言,图13描绘了在网络计算的多个说明性层之间利用边缘云1210的计算用例1305的示例。这些层从端点(设备和事物)层1300开始,该层1300访问边缘云1210以进行数据创建、分析和数据消费活动。边缘云1210可以跨越多个网络层(诸如具有网关、内部(on-premise)服务器、或位于物理上邻近边缘系统中的网络设备(节点1315)的边缘设备层1310);网络接入层1320,该网络接入层1320涵盖基站、无线电处理单元、网络中枢、区域数据中心、或本地网络装备(装备1325);以及位于它们之间的任何装备、设备或节点(在层1312中,未详细图示出)。边缘云1210内和各层之间的网络通信可以经由任何数量的有线或无线介质来实现,包括经由未描绘出的连接性架构和技术。
由于网络通信距离和处理时间约束而导致的等待时间的示例的范围可以从在端点层1300之间时的小于一毫秒(ms),在边缘设备层1310处的低于5ms到当与网络接入层1320处的节点通信时的10到40ms之间。在边缘云1210之外是核心网络1330层和云数据中心1340层,每个层均具有增加的等待时间(例如,在核心网络层1330处的50-60ms,在云数据中心层处的100ms或更多ms)。因此,在核心网络数据中心1335或云数据中心1345处的、具有至少为50至100ms或更多的等待时间的操作将无法完成用例1305的许多时间关键的功能。出于说明和对比的目的,提供这些等待时间值中的每一个等待时间值;应当理解,使用其他接入网络介质和技术可以进一步降低等待时间。在一些示例中,相对于网络源和目的地,网络的各个部分可以被分类为“靠近边缘”、“本地边缘”、“接近边缘”、“中间边缘”或“远边缘”层。例如,从核心网络数据中心1335或云数据中心1345的角度来看,中央局或内容数据网络可以被视为位于“接近边缘”层内(“接近”云,具有在与用例1305的设备和端点通信时的高等待时间值),而接入点、基站、内部服务器或网络网关可以被视为位于“远边缘”层内(“远”离云,具有在与用例1305的设备和端点通信时的低等待时间值)。应当理解,构成“靠近”、“本地”、“接近”、“中间”或“远”边缘的特定网络层的其他分类可以基于等待时间、距离、网络跳数或其他可测量的特性,如从网络层1300-1340中的任一层中的源测量的。
由于多个服务利用边缘云,各种用例1305可以在来自传入流的使用压力下访问资源。为了实现低等待时间的结果,在边缘云1210内执行的服务在以下方面平衡不同的需求:(a)优先级(吞吐量或等待时间)和服务质量(QoS)(例如,在响应时间需求方面,自主汽车的通信量可能比温度传感器具有更高的优先级;或者,取决于应用,性能敏感度/瓶颈可能存在于计算/加速器、存储器、存储、或网络资源上);(b)可靠性和复原性(例如,取决于应用,一些输入流需要被作用并且以任务关键型可靠性来路由通信量,而一些其他输入流可以容忍偶尔的故障;以及(c)物理约束(例如,功率、冷却和形状因子)。
这些用例的端到端服务视图涉及服务流的概念,并与事务相关联。事务详细说明了消费服务的实体的整体服务需求,以及资源、工作负荷、工作流、以及业务功能和业务级别需求的相关联的服务。利用所描述的“方面(term)”执行的服务能以某种方式在每层处进行管理,以确保在服务的生命周期期间事务的实时和运行时合同合规性。当事务中的组件缺失其约定的SLA时,系统作为整体(事务中的组件)可以提供以下能力:(1)理解SLA违规的影响,以及(2)增强系统中的其他组件以恢复整体事务SLA,以及(3)实现补救的步骤。
因此,考虑到这些变化和服务特征,边缘云1210内的边缘计算能以实时或接近实时的方式向用例1305的多个应用(例如,对象跟踪、视频监视、连接的汽车等)提供提供服务和作出响应的能力,并满足这些多个应用的超低等待时间需求。这些优势使全新类别的应用(虚拟网络功能(VNF)、功能即服务(FaaS)、边缘即服务(EaaS)、标准过程等)得以实现,这些应用由于等待时间或其他限制而无法利用传统的云计算。
然而,随着边缘计算的优势,有以下注意事项。位于边缘处的设备通常是资源受约束的,并且因此存在对边缘资源的使用的压力。通常,这是通过对供多个用户(租户)和设备使用的存储器和存储资源的池化来解决的。边缘可能是功率和冷却受约束的,并且因此需要由消耗最多功率的应用来负责功率使用。在这些经池化的存储器资源中可能存在固有的功率性能权衡,因为它们中的许多可能使用新兴的存储器技术,在这些技术中,更多的功率需要更大的存储器带宽。同样,还需要改善的硬件安全性和信任根受信任的功能,因为边缘位置可以是无人(控制)的,并且可能甚至需要经许可的访问(例如,当被容纳在第三方位置时)。在多租户、多所有者、或多访问设置中,此类问题在边缘云1210中被放大,此类设置中,由许多用户请求服务和应用,特别是当网络使用动态地波动以及多个利益相关者、用例、和服务的组成改变时。
在更一般的级别上,边缘计算系统可以被描述为涵盖在先前讨论的、在边缘云1210(网络层1300-1340)中操作的层处的任意数量的部署,这些层提供来自客户端和分布式计算设备的协调。一个或多个边缘网关节点、一个或多个边缘聚合节点和一个或多个核心数据中心可以分布在网络的各个层上,以由电信服务提供商(“telco”或“TSP”)、物联网服务提供商、云服务提供商(CSP)、企业实体或任何其他数量的实体或者代表其提供边缘计算系统的实现。可以动态地提供边缘计算系统的各种实现方式和配置,诸如当被编排以满足服务目标时。
与本文提供的示例一致,客户端计算节点可以被具体化为任何类型的端点组件、设备、装置或能够作为数据的生产者或消费者进行通信的其他事物。进一步地,如边缘计算系统中所使用的标签“节点”或“设备”不一定意指此类节点或设备以客户端或代理/仆从/跟随者角色操作;相反,边缘计算系统中的节点或设备中的任一者指代包括分立的和/或连接的硬件或软件配置以促进和/或使用边缘云1210的个体实体、节点、或子系统。
由此,边缘云1210由网络层1310-1330中的边缘网关节点、边缘聚合节点或其他边缘计算节点操作并在网络层1310-1330中的边缘网关节点、边缘聚合节点或其他边缘计算节点内被操作的网络组件和功能特征形成。因此,边缘云1210可被具体化为提供边缘计算和/或存储资源的任何类型的网络,这些边缘计算和/或存储资源被定位成接近支持无线电接入网络(RAN)的端点设备(例如,移动计算设备、IoT设备、智能设备等),其在本文中所讨论。换言之,边缘云1210可被预想为连接端点设备和传统网络接入点、同时还提供存储和/或计算能力的“边缘”,该“边缘”充当进入到包括移动运营商网络(例如,全球移动通信系统(GSM)网络、长期演进(LTE)网络、5G/6G网络等)的服务提供商核心网络中的入口点。其他类型和形式的网络接入(例如,Wi-Fi、长程无线、包括光学网络的有线网络)也可替代此类3GPP运营商网络被利用或与此类3GPP运营商网络组合来利用。
边缘云1210的网络组件可以是服务器、多租户服务器、装置计算设备和/或任何其他类型的计算设备。例如,边缘云1210可以包括包含壳体、底盘、机箱或外壳的自包含电子设备的装置计算设备。在一些情况下,可以针对便携性来确定壳体尺寸,以使得其可由人类携载和/或被运输。示例壳体可包括形成一个或多个外表面的材料,该一个或多个外表面部分地或完整地保护装置的内容物,其中,保护可包括天气保护、危险环境保护(例如,EMI、振动、极端温度)和/或使得能够浸入水中。示例壳体可包括用于为固定和/或便携式实现方式提供功率的功率电路系统,诸如,AC功率输入、DC功率输入、(多个)AC/DC或DC/AC转换器、功率调节器、变压器、充电电路、电池、有线输入和/或无线功率输入。示例壳体和/或其表面可包括或连接至安装硬件,以实现到诸如建筑物、电信结构(例如,杆、天线结构等)和/或机架(例如,服务器机架、刀片支架等)之类的结构的附接。示例壳体和/或其表面可支持一个或多个传感器(例如,温度传感器、振动传感器、光传感器、声学传感器、电容传感器、接近度传感器等)。一个或多个此类传感器可被包含在装置的表面中、由装置的表面携载、或以其他方式被嵌入在装置的表面中和/或被安装至装置的表面。示例壳体和/或其表面可支持机械连接,诸如推进硬件(例如,轮子、螺旋桨等)和/或铰接硬件(例如,机械臂、可枢转附件等)。在一些情况下,传感器可包括任何类型的输入设备,诸如用户接口硬件(例如,按键、开关、拨号盘、滑块等)。在一些情况下,示例壳体可包括包含在其中、由其携载、嵌入其中和/或附接于此的输出设备。输出设备可包括显示器、触摸屏、灯、LED、扬声器、I/O端口(例如,USB)等。在一些情况下,边缘设备是为特定目的而存在于网络中、但是可具有可用于其他目的的处理或其他能力的设备(例如,红绿灯)。此类边缘设备可以独立于其他联网设备,并且设置有具有适合其主要目的的形状因子的壳体;但对于不干扰其主要任务的其他计算任务,它仍然是可用的。边缘设备包括物联网设备。装置计算设备可包括用于管理诸如设备温度、振动、资源利用率、更新、功率问题、物理和网络安全之类的本地问题的硬件和软件组件。结合图18B描述用于实现装置计算设备的示例硬件。边缘云1210还可包括一个或多个服务器和/或一个或多个多租户服务器。此类服务器可包括操作系统和虚拟计算环境。虚拟计算环境可包括管理(生成、部署、损毁等)一个或多个虚拟机、一个或多个容器等的管理程序。此类虚拟计算环境提供其中一个或多个应用和/或其他软件、代码或脚本可在与一个或多个其他应用、软件、代码或脚本隔离的同时进行执行的执行环境。
图14图示出示例环境300的框图,在该示例环境300中,各种客户端端点1410(采用移动设备、计算机、自主交通工具、商业计算装备、工业处理装备的形式)与示例边缘云1210交换请求和响应。例如,计算机、商业计算装备、和工业处理装备可通过经由内部网络系统1432交换请求和响应1422、经由有线宽带网络获得网络接入。移动计算设备可以通过经由蜂窝网络塔1434交换请求和响应1424、经由无线宽带网络获得网络接入。自主交通工具可通过街道定位网络系统1436经由无线车载网络获得请求和响应1426的网络接入。然而,无论网络接入的类型如何,TSP可以在边缘云1210内部署聚合点1442、1444来聚合通信量和请求。因此,在边缘云1210内,TSP可以(诸如在边缘聚合节点1440处)部署各种计算和存储资源以提供请求的内容。边缘聚合节点1440和边缘云1210的其他系统被连接至云或数据中心1460,该云或数据中心1460使用回程网络1450来满足来自云/数据中心对网站、应用、数据库服务器等的更高等待时间请求。(边缘聚合节点1440和聚合点1442、1444的附加或合并的实例(包括部署在单个服务器框架上的那些实例)也可以存在于边缘云1210或TSP基础设施的其他区域内)。
图15示出了跨在多个边缘节点和多个租户之间操作的边缘计算系统的虚拟边缘配置的部署和编排。具体而言,图15描绘了边缘计算系统1500中的第一边缘节点1522和第二边缘节点1524的协调,以完成对接入各种虚拟边缘实例的各种客户端端点1510(例如,智慧城市/建筑系统、移动设备、计算设备、商业/物流系统、工业系统等)的请求和响应。在此,虚拟边缘实例通过接入云/数据中心1540(对网站、应用、数据库服务器等有更高等待时间请求)来提供边缘云中的边缘计算能力和处理。然而,边缘云能够协调多个租户或实体的多个边缘节点之间的处理。
在图15的示例中,这些虚拟边缘实例包括:提供给第一租户(租户1)的第一虚拟边缘1532,该第一虚拟边缘1532提供边缘存储、计算、和服务的第一组合;以及第二虚拟边缘1534,提供边缘存储、计算、和服务的第二组合。虚拟边缘实例1532、1534分布在边缘节点1522、1524之间,并且可以包括其中从相同或不同的边缘节点满足请求和响应的场景。用于以分布式但协调的方式操作的边缘节点1522、1524的配置基于边缘供应功能1550来发生。用于在多个租户之间为应用和服务提供协调的操作的边缘节点1522、1524的功能基于编排功能1560来发生。
应当理解,1510中的设备中的一些设备是多租户设备,其中租户1可以在租户1‘片’内运行,而租户2可以在租户2片内运行(并且,在进一步的示例中,可能存在附加的租户或子租户;并且每个租户甚至可以对特定特征组具体地享有权利并且在事务上被绑定至特定特征组,一直到对特定的硬件特征具体地享有权利并且在事务上被绑定至特定的硬件特征)。受信任的多租户设备可以进一步包含租户专用的加密密钥,使得密钥和片的组合可以被视为“信任根”(RoT)或租户专用的RoT。可以进一步使用DICE(设备标识组合引擎)架构组成动态计算的RoT,使得单个DICE硬件构建块可用于构造用于对设备能力(诸如现场可编程门阵列(FPGA))进行分层的分层受信任的计算基础上下文。RoT进一步可用于受信任计算上下文,以启用对支持多租赁有用的“扇出”。在多租户环境内,相应的边缘节点1522、1524可以作为分配给每节点多个租户的本地资源的安全性特征实施点。附加地,租户运行时和应用执行(例如,在实例1532、1534中)可以用作安全性特征的实施点,该安全性特征创建跨越潜在多个物理主管平台的资源的虚拟边缘抽象。最后,编排实体处的编排功能1560可以作为用于沿着租户边界对资源进行列队(marshalling)的安全性特征实施点来操作。
边缘计算节点可划分资源(存储器、CPU、GPU、中断控制器、I/O控制器、存储器控制器、总线控制器等),其中,相应的分区可包含RoT能力,并且其中根据DICE模型的扇出和分层可进一步应用于边缘节点。由容器、FaaS引擎、小型服务程序、服务器、或其他计算抽象组成的云计算节点可以根据DICE分层和扇出结构进行分区,以支持每个节点的RoT上下文。因此,跨越设备1510、1522和1540的相应的RoT可以协调分布式受信任计算基础(DTCB)的建立,使得可以建立端到端链接所有要素的租户专用的虚拟受信任安全信道。
此外,应当理解,容器可以具有保护其内容不受先前边缘节点影响的数据或工作负荷特定的密钥。作为容器迁移的一部分,源边缘节点处的舱(pod)控制器可以从目标边缘节点舱控制器获得迁移密钥,其中迁移密钥用于包装容器特定的密钥。当容器/舱迁移到目标边缘节点时,解包裹密钥被暴露给舱控制器,然后舱控制器解密经包裹的密钥。密钥现在可用于对容器特定的数据执行操作。迁移功能可以由适当认证的边缘节点和舱管理器(如上所述)进行选通(gate)。
在进一步的示例中,边缘计算系统被扩展以通过在多所有者、多租户环境中使用容器(提供代码和所需依赖关系的被容纳的、可部署的软件单元)来提供多个应用的编排。多租户编排器可用于执行密钥管理、信任锚管理以及与图15中的受信任的‘片’概念的供应和生命周期相关的其他安全性功能。例如,边缘计算系统可被配置成用于满足来自多个虚拟边缘实例(以及,来自云或远程数据中心)的各种客户端端点的请求和响应。这些虚拟边缘实例的使用可以同时支持多个租户和多个应用(例如,增强现实(AR)/虚拟现实(VR)、企业应用、内容交付、游戏、计算迁移)。此外,虚拟边缘实例内可能存在多种类型的应用(例如,普通应用;等待时间敏感型应用;等待时间关键型应用;用户平面应用;联网应用等)。虚拟边缘实例还可以横跨处于不同地理位置的多个所有者的系统(或,由多个所有者共同拥有或共同管理的相应的计算系统和资源)。
例如,每个边缘节点1522、1524可以实现容器的使用,诸如使用提供一个或多个容器的组的容器“舱”1526、1528。在使用一个或多个容器舱的设置中,舱控制器或编排器负责舱中容器的本地控制和编排。根据每个容器的需要对为相应边缘片1532、1534提供的各种边缘节点资源(例如,存储、计算、服务,用六边形描绘)进行分区。
使用容器舱后,舱控制器监督容器和资源的分区和分配。舱控制器从编排器(例如,编排器1560)接收指令,该编排器指示控制器如何最佳地对物理资源进行分区以及在什么持续时间内,诸如通过基于SLA合同接收关键性能指标(KPI)目标。舱控制器确定哪个容器需要哪些资源,以及完成工作负荷和满足SLA需要多久。舱控制器还管理容器生命周期操作,诸如:创建容器、为容器提供资源和应用、协调在分布式应用上一起工作的多个容器之间的中间结果、工作负荷完成时拆除容器等。此外,舱控制器可以充当安全角色,阻止资源分配,直到正确的租户验证或阻止向容器提供数据或工作负荷,直到满足认证结果。
此外,通过使用容器舱,租户边界仍然可以存在,但在容器的每一个舱的上下文中。如果每个租户特定的舱都有租户特定的舱控制器,则将有一个共享舱控制器,该共享舱控制器将合并资源分配请求,以避免典型的资源短缺情况。可提供进一步的控制,以确保舱和舱控制器的认证和可信。例如,编排器1560可以向执行认证验证的本地舱控制器提供认证验证策略。如果认证满足第一租户舱控制器而不是第二租户舱控制器的策略,则第二舱可以迁移到确实满足该策略的不同边缘节点。或者,可以允许第一舱执行,并且在第二舱执行之前安装和调用不同的共享舱控制器。
图16示出了在边缘计算系统中部署容器的附加计算布置。作为简化示例,系统布置1610、1620描述了其中舱控制器(例如,容器管理器1611、1621和容器编排器1631)适于通过经由计算节点(布置1610中的1620)的执行来启动容器化舱、功能、和功能即服务实例,或适于通过经由计算节点(布置1620中的1623)的执行来单独地执行容器化虚拟化的网络功能。该布置适于在(使用计算节点1637的)示例系统布置1630中使用多个租户,其中容器化舱(例如,舱1612)、功能(例如,功能1613、VNF 1622、VNF 1636)、和功能即服务实例(例如,FaaS实例1614)在专用于相应的租户的虚拟机(例如,用于租户1632的VM 1634、用于租户1633的VM 1635)内被启动(除了执行虚拟化网络功能)。该布置进一步适于在系统布置1640中使用,该系统布置1640提供容器1642、1643,或在计算节点1644上执行各种功能、应用和功能,如由基于容器的编排系统1641所协调。
图16中描绘的系统布置提供了在应用组成方面平等地对待VM、容器和功能的架构(并且得到的应用是这三种组成部分的组合)。每个组成部分可能涉及使用一个或多个加速器(FPGA、ASIC)组件作为本地后端。以此方式,应用可以在多个边缘所有者之间被分割,如由编排器进行协调。
在图16的上下文中,舱控制器/容器管理器、容器编排器和各个节点可以提供安全性实施点。然而,可以编排租户隔离,其中分配给一租户的资源与分配给第二租户的资源是不同的,但是边缘所有者合作以确保资源分配不跨租户边界被共享。或者,资源分配可以跨租户边界而被隔离,因为租户可以允许经由订阅或事务/合同基础的“使用”。在这些上下文中,边缘所有者可以使用虚拟化、容器化、飞地和硬件分区方案来强制执行租赁。其他隔离环境可包括:裸金属(专用)装备、虚拟机、容器、容器上的虚拟机或其组合。
在进一步的示例中,软件定义的或受控的硅硬件以及其他可配置的硬件的各方面可以与边缘计算系统的应用、功能、和服务整合。软件定义的硅可用于基于某一资源或硬件组成部分(例如,通过升级、重新配置或在硬件配置本身内提供新的特征)修复自身或工作负荷的一部分的能力、来确保该组成部分履行合同或服务级别协议的能力。
应当领会,本文讨论的边缘计算系统和布置可适用于涉及移动性的各种解决方案、服务和/或用例。作为示例,图17示出涉及对实现边缘云(诸如图12的边缘云1210)的示例边缘计算系统1700中的应用进行的移动访问的示例简化的交通工具计算和通信用例。在该用例中,相应的客户端计算节点1710可以被具体化为位于相对应交通工具中的车载计算系统(例如,车载导航和/或信息娱乐系统),该车载计算系统在横越道路期间与示例边缘网关节点1720通信。例如,边缘网关节点1720可以位于路边机柜中或位于被内置到具有其他的、分开的、机械公共设施的结构中的其他外壳中,路边机柜或其他外壳可以沿着道路、在道路的交叉路口处、或在道路附近的其他位置放置。当相应的交通工具沿着道路行驶时,其客户端计算节点1710与边缘网关节点1720中的特定边缘网关节点之间的连接可以传播,以便为示例客户端计算节点1710保持一致的连接和上下文。同样,移动边缘节点可以在高优先级服务处或根据(多个)底层服务(例如,在无人机的情况下)的吞吐量或等待时间分辨率要求进行聚合。相应的边缘网关节点1720包括一定量的处理和存储能力,并且由此,客户端计算节点1710的一些数据处理和/或数据存储可在边缘网关节点1720中的一个或多个边缘网关节点1720上执行。
边缘网关节点1720可以与一个或多个边缘资源节点1740通信,这些边缘资源节点1740被说明性地具体化为位于通信基站1742(例如,蜂窝网络的基站)处或位于该通信基站1742中的计算服务器、装置或组件。如上文所讨论,相应的(多个)边缘资源节点1740包括一定量的处理和存储能力,并且由此,客户端计算节点1710的一些数据处理和/或数据存储可以在(多个)边缘资源节点1740上执行。例如,不太紧急或不太重要的数据处理可以由(多个)边缘资源节点1740执行,而更高的紧急性或重要性的数据处理可以由边缘网关设备1720执行(例如,取决于每个组件的能力,或请求中指示紧急性或重要性的信息)。基于数据访问、数据位置或等待时间,当处理活动期间的处理优先级改变时,可在边缘资源节点上继续工作。同样,可配置的系统或硬件资源本身可以(例如,通过本地编排器)被激活,以提供附加的资源来满足新的需求(例如,使计算资源适配到工作负荷数据)。
(多个)边缘资源节点1740还与核心数据中心1750通信,核心数据中心650可以包括位于中心位置(例如,蜂窝通信网络的中央局)的计算服务器、设备和/或其他组件。示例核心数据中心1750为由(多个)边缘资源节点1740和边缘网关设备1720形成的边缘云1210操作提供到全球网络云1760(例如,互联网)的网关。另外,在一些示例中,核心数据中心1750可以包括一定量的处理和存储能力,并且因此,可以在核心数据中心1750上执行用于客户端计算设备的一些数据处理和/或存储(例如,低紧急性或重要性或高复杂性的处理)。
边缘网关节点1720或(多个)边缘资源节点1740可以提供状态型的应用1732和地理分布式数据库1734的使用。虽然应用1732和数据库1734被图示出为在边缘云的层处横向地分布,但将理解,应用的资源、服务、或其他组件可以在整个边缘云中竖直地分布(包括,在客户端计算节点1710处执行的应用的一部分,在边缘网关节点1720处或(多个)边缘资源节点1740等处的其他部分)。另外,如前所述,可以存在任何级别上的对等关系以满足服务目标和义务。进一步地,特定客户端或应用的数据可以基于变化的条件(例如,基于加速资源的可用性、跟随汽车移动等)从边缘移动到边缘。例如,基于访问的“衰减率”,可以进行预测,以标识要继续的下一个所有者,或者数据或计算访问何时将不再可行。可以利用这些服务和其他服务来完成保持事务合规性和无损性所需的工作。
在进一步的场景中,容器1736(或容器的舱)可以从边缘节点1720中的一个边缘节点灵活地迁移到其他边缘节点(例如,这些边缘节点1720中的另一个边缘节点、(多个)边缘资源节点1740中的一个资源节点等),使得具有应用和工作负荷的容器不需要为了迁移到工作中而被重组、重新编译、重新解释。但是,在此类设置中,可能应用一些补救或“混合”的转换操作。例如,(多个)边缘资源节点1740处的物理硬件可能不同于边缘网关节点1720处的硬件,并且因此,组成容器底部边缘的硬件抽象层(HAL)将被重新映射到目标边缘节点的物理层。这可能涉及某种形式的后期绑定技术,诸如HAL从容器原生格式到物理硬件格式的二进制转换,或者可能涉及映射接口和操作。舱控制器可用于驱动接口映射,作为容器生命周期的一部分,其中包括迁移到不同的硬件环境/从不同的硬件环境迁移。
图17所涵盖的场景可以利用各种类型的移动边缘节点(诸如在交通工具(汽车/卡车/电车/火车)或其他移动单元中主管的边缘节点),因为边缘节点将沿着主管它的平台移动到其他地理位置。在交通工具对交通工具通信的情况下,单个交通工具甚至可以充当其他交通工具的网络边缘节点,(例如,以执行高速缓存、报告、数据聚合等)。因此,将理解,在各种边缘节点中提供的应用组件可以分布在静态或移动设置中,包括在各个端点设备或边缘网关节点1720处的一些功能或操作、在(多个)边缘资源节点1740处的一些其他功能或操作、以及在核心数据中心1750或全球网络云1760中的其他功能或操作之间的协调。
在进一步的配置中,边缘计算系统可以通过使用相应的可执行应用和功能来实现FaaS计算能力。在示例中,开发者编写表示一个或多个计算机功能的功能代码(例如,本文中的“计算机代码”),并且该功能代码被上传到由例如边缘节点或数据中心提供的FaaS平台。触发器(诸如例如,服务用例或边缘处理事件)发起利用FaaS平台执行功能代码。
在FaaS的示例中,容器用于提供一个环境,在该环境中执行功能代码(例如,可能由第三方提供的应用)。容器可以是任何隔离执行的实体,诸如进程、Docker容器或Kubernetes容器、虚拟机等。在边缘计算系统内,各种数据中心、边缘、和端点(包括移动)设备被用于按需扩展的“旋转加速(spin up)”功能(例如,激活和/或分配功能动作)。功能代码在物理基础设施(例如,边缘计算节点)设备和底层虚拟化容器上得到执行。最后,容器响应于执行被完成而在基础设施上被“旋转减速”(例如,去激活和/或解除分配)。
FaaS的其他方面可以使边缘功能以服务方式进行部署,包括对支持边缘计算即服务(边缘即服务或“EaaS”)的相应功能的支持。FaaS的附加特征可包括:使客户(例如,计算机代码开发者)仅在其代码被执行时进行支付的粒度计费组件;用于存储数据以供一个或多个功能重新使用的通用数据存储;各个功能之间的编排和管理;功能执行管理、并行性和合并;容器和功能存储器空间的管理;功能可用的加速资源的协调;以及功能在容器之间的分布(包括已经部署或操作的“暖”容器,相对于需要初始化、部署、或配置的“冷”容器)。
边缘计算系统1700可包括边缘供应节点1744或与边缘供应节点1744通信。边缘供应节点1744可以将诸如图18B的示例计算机可读指令1882的软件,分发到实施本文所述的任何方法的各个接收方。示例边缘供应节点1744可以由能够存储软件指令和/或向其他计算设备传输软件指令(例如,代码、脚本、可执行二进制文件、容器、包、压缩文件和/或其衍生物)的以下各项来实现:任何计算机服务器、家庭服务器、内容交付网络、虚拟服务器、软件分发系统、中央设施、存储设备、存储节点、数据设施、云服务等。示例边缘供应节点1744的(多个)组件可以位于云中、局域网中、边缘网络中、广域网中、因特网上和/或与(多个)接收方通信耦合的任何其他位置。接收方可以是拥有和/或操作边缘供应节点1744的实体的客户、客户端、合作伙伴、用户等。例如,拥有和/或操作边缘供应节点1744的实体可以是软件指令(诸如图18B的示例计算机可读指令1882)的开发者、销售者和/或许可者(或其客户和/或消费者)。接收方可以是消费者、服务提供商、用户、零售商、OEM等,他们购买和/或许可软件指令以用于使用和/或转售和/或分许可。
在示例中,边缘供应节点1744包括一个或多个服务器和一个或多个存储设备。存储设备主控计算机可读指令,诸如图18B的示例计算机可读指令1882,如下所述。类似于上述边缘网关设备1720,边缘供应节点1744的一个或多个服务器与基站1742或其他网络通信实体通信。在一些示例中,作为商业事务的一部分,一个或多个服务器响应于将软件指令传送到请求方的请求。可以由软件分发平台的一个或多个服务器和/或经由第三方支付实体来处理对软件指令的交付、销售、和/或许可的支付。服务器使购买者和/或许可者能够从边缘供应节点1744下载计算机可读指令1882。例如,可以与图18B的示例计算机可读指令1882相对应的软件指令可以被下载到示例处理器平台1800,该示例处理器平台1800用于执行计算机可读指令1882以实现本文所描述的方法。
在一些示例中,执行计算机可读指令1882的(多个)处理器平台可以物理地位于不同的地理位置、法律管辖区等。在一些示例中,边缘供应节点1744的一个或多个服务器周期性地提供、传送和/或强制进行软件指令(例如,图18B的示例计算机可读指令1882)的更新以确保改善、补丁、更新等被分发并应用于终端用户设备处实现的软件指令。在一些示例中,计算机可读指令1882的不同组件可以从不同的源和/或不同的处理器平台分发;例如,不同的库、插件、组件和其他类型的计算模块,无论是经编译的还是经解释的,都可以从不同的源和/或向不同的处理器平台分发。例如,软件指令的一部分(例如,本身不可执行的脚本)可以从第一源分发,而(能够执行脚本的)解释器可以从第二源分发。
在进一步的示例中,参考当前的边缘计算系统和环境讨论的计算节点或设备中的任一者可以基于图18A和图18B所描绘的组件来实现。相应的边缘计算节点可以被具体化为能够与其他边缘组件、联网组件或端点组件进行通信的设备、装置、计算机或其他“事物”的类型。例如,边缘计算设备可以具体化为个人计算机、服务器、智能手机、移动计算设备、智能设备、车载计算系统(例如,导航系统)、具有外箱、外壳等的自包含设备,或能够执行所述功能的其他设备或系统。
图18A是示例边缘计算节点1800的示例实现方式的框图,该示例边缘计算节点1800包括计算引擎(本文中也称为“计算电路系统”)1802、输入/输出(I/O)子系统1808、数据存储1810、通信电路系统子系统1812,并且任选地包括一个或多个外围设备1814。在其他示例中,相应的计算设备可以包括其他或附加组件,诸如通常在计算机中发现的那些组件(例如,显示器、外围设备等)。另外,在一些示例中,说明性组件中的一个或多个可被结合到另一组件中,或以其他方式形成另一组件的部分。图18A的示例边缘计算节点1800可被部署在图7、图12-图15和/或图17中所图示的边缘计算系统中的一个边缘计算系统中,和/或以实现图7、图12-图15和/或图17的任何边缘计算节点。
计算节点1800可被具体化为能够执行各种计算功能的任何类型的引擎、设备、或设备集合。在一些示例中,计算节点1800可被具体化为单个设备,诸如集成电路、嵌入式系统、现场可编程门阵列(FPGA)、片上系统(SOC)或其他集成系统或设备。在说明性示例中,计算节点1800包括或被具体化为处理器1804和存储器1806。处理器1804可被具体化为能够执行本文中所描述的功能(例如,执行应用)的任何类型的处理器。例如,处理器1804可被具体化为(多个)多核处理器、微控制器、处理单元、专门或专用处理单元、或其他处理器或处理/控制电路。
在一些示例中,处理器1804可被具体化为、包括或耦合到FPGA、专用集成电路(ASIC)、可重新配置的硬件或硬件电路系统、或用于促进本文中所描述的功能的执行的其他专用硬件。同样在一些示例中,处理器1804可以具体化为专用x处理单元(xPU)(也称为数据处理单元(DPU))、基础设施处理单元(IPU)或网络处理单元(NPU)。此类xPU可具体化为独立电路或电路封装、集成在SOC内或与联网电路系统(例如,在智能NIC中)集成、加速电路系统、存储设备或AI硬件(例如,GPU或编程FPGA)。此类xPU可设计成用于接收编程以在CPU或通用处理硬件之外处理一个或多个数据流并执行数据流的特定任务和动作(诸如托管微服务、执行服务管理或编排、组织或管理服务器或数据中心硬件、管理服务网格,或收集和分发遥测数据)。然而,将理解的是,xPU、SOC、CPU和处理器1804的其他变体可以彼此协调工作以在计算节点1800内并代表计算节点1800执行多种类型的操作和指令。
主存储器1806可被具体化为能够执行本文中所述的功能的任何类型的易失性(例如,动态随机存取存储器(DRAM)等)或非易失性存储器或数据存储。易失性存储器可以是需要维持由该介质存储的数据状态的能力的存储介质。易失性存储器的非限制性示例可包括各种类型的随机存取存储器(RAM),诸如DRAM或静态随机存取存储器(SRAM)。可以在存储模块中使用的一个特定类型的DRAM是同步动态随机存取存储器(SDRAM)。
在一个示例中,存储器设备是块可寻址存储器设备,诸如基于NAND或NOR技术的那些存储器设备。存储器设备还可包括三维交叉点存储器设备(例如,
Figure BDA0003225476180000511
3D XPointTM存储器)或其他字节可寻址的就地写入非易失性存储器设备。存储器设备可指代管芯本身和/或指代封装的存储器产品。在一些示例中,3D交叉点存储器(例如,
Figure BDA0003225476180000512
3D XPointTM存储器)可包括无晶体管的可堆叠的交叉点架构,其中存储单元位于字线和位线的交点处,并且可单独寻址,并且其中位存储基于体电阻的变化。在一些示例中,主存储器1806的全部或一部分可以被集成到处理器1804中。主存储器1806可以存储在操作期间使用的各种软件和数据,诸如一个或多个应用、通过(多个)应用、库以及驱动程序操作的数据。
计算电路系统1802经由I/O子系统1808通信地耦合到计算节点1800的其他组件,该I/O子系统1808可被具体化为用于促进与计算电路系统1802(例如,与处理器1804和/或主存储器1806)以及计算电路系统1802的其他组件的输入/输出操作的电路系统和/或组件。例如,I/O子系统1808可被具体化为或以其他方式包括存储器控制器中枢、输入/输出控制中枢、集成传感器中枢、固件设备、通信链路(即,点对点链路、总线链路、线路、电缆、光导、印刷电路板迹线等)和/或用于促进输入/输出操作的其他组件和子系统。在一些示例中,I/O子系统1808可以形成片上系统(SoC)的部分,并可与计算电路系统1802的处理器1804、主存储器1806、和其他组件中的一个或多个一起被合并到计算电路系统1802中。
一个或多个说明性数据存储设备1810可被具体化为被配置成用于数据的短期或长期存储的任何类型的设备,诸如例如,存储器设备和电路、存储器卡、硬盘驱动器、固态驱动器或其他数据存储设备。各个数据存储设备1810可包括存储数据存储设备1810的数据以及固件代码的系统分区。各个数据存储设备1810还可以包括一个或多个操作系统分区,该操作系统分区根据例如计算节点1800的类型来存储操作系统的数据文件和可执行文件。
通信电路系统1812可被具体化为能够实现通过网络在计算电路系统1802与其他计算设备(例如,边缘计算系统的边缘网关)之间的进行通信的任何通信电路、设备或其集合。通信电路系统1812可以被配置成使用任何一种或多种通信技术(例如,有线或无线通信)和相关联的协议(例如,蜂窝联网协议(诸如3GPP 4G或5G标准)、无线局域网协议(诸如IEEE 802.11/
Figure BDA0003225476180000521
)、无线广域网协议,以太网、蓝牙
Figure BDA0003225476180000524
蓝牙低能量、IoT协议(诸如IEEE802.15.4或
Figure BDA0003225476180000523
)、低功率广域网(LPWAN)或低功率广域网(LPWA)协议等)来实行此类通信。
说明性通信电路系统1812包括网络接口控制器(NIC)1820,其也被称为主机结构接口(HFI)。NIC 1820可被具体化为一个或多个插入式板、子卡、网络接口卡、控制器芯片、芯片组或可由计算节点1800用来与另一计算设备(例如,边缘网关节点)连接的其他设备。在一些示例中,NIC 1820可被具体化为包括一个或多个处理器的片上系统(SoC)的一部分,或NIC 1820可被包括在也包含一个或多个处理器的多芯片封装上。在一些示例中,NIC1820可包括均位于NIC 1820本地的本地处理器(未示出)和/或本地存储器(未示出)。在此类示例中,NIC 1820的本地处理器可能能够执行本文中描述的计算电路系统1802的功能中的一个或多个功能。附加地,或者替代地,在此类示例中,NIC 1820的本地存储器可以在板级、插座级、芯片级和/或其他层级上被集成到客户端计算节点的一个或多个组件中。
另外,在一些示例中,相应的计算节点1800可以包括一个或多个外围设备1814。取决于计算节点1800的特定类型,此类外围设备1814可包括通常在计算设备或服务器中发现的任何类型的外围设备,诸如音频输入设备、显示器、其他输入/输出设备、接口设备和/或其他外围设备。在进一步的示例中,计算节点1800可以由相应的边缘计算节点(无论是客户端、网关或聚合节点)在边缘计算系统或类似形式的设备、计算机、子系统、电路系统或其他组件中。
在更详细的示例中,图18B图示出示例边缘计算节点1850的框图,该示例边缘计算节点1850被构造成用于执行图9-图10的指令以实现本文中所描述的技术(例如,操作、过程、方法和方法论),这些技术诸如图8的装置520。该边缘计算节点1850提供在被实现为计算设备(例如,移动设备、基站、服务器、网关等)或该计算设备的部分时节点1800的相应组件的更靠近的视图。边缘计算节点1850可包括本文中所引用的硬件或逻辑组件的任何组合,并且该边缘计算节点1850可以包括可与边缘通信网络或此类网络的组合一起使用的任何设备或与该设备耦合。这些组件可被实现为IC、IC的部分、分立的电子器件或其他模块、指令集、可编程逻辑或算法、硬件、硬件加速器、软件、固件、或其在边缘计算节点1850中适配的组合,或者被实现为以其他方式被并入在更大的系统的机架内的组件。例如,边缘计算节点1850可以是服务器、个人计算机、工作站、自学习机(例如,神经网络)、移动设备(例如,蜂窝电话、智能电话、诸如iPadTM之类的平板)、个人数字助理(PDA)、因特网装置、DVD播放器、CD播放器、数字视频记录仪、蓝光播放器、游戏控制台、个人视频记录仪、机顶盒、头戴式耳机或其他可穿戴设备、或任何其他类型的计算设备。
边缘计算设备1850可包括处理器1852形式的处理电路系统,该处理电路系统可以是微处理器、多核处理器、多线程处理器、超低电压处理器、嵌入式处理器、xPU/DPU/IPU/NPU、专用处理单元、专门处理单元,或其他已知的处理元件。处理器1852可以是芯片上系统(SoC)的部分,在该SoC中,处理器1852和其他组件形成到单个集成电路或单个封装中,诸如,来自加利福尼亚州圣克拉拉市的英特尔公司的爱迪生TM(EdisonTM)或伽利略TM(GalileoTM)SoC板。作为示例,处理器1852可包括基于英特尔
Figure BDA0003225476180000531
架构酷睿TM(CoreTM)的CPU处理器(诸如QuarkTM、AtomTM、i3、i5、i7、i9或MCU级处理器)、或可从英特尔
Figure BDA0003225476180000532
获得的另一此类处理器。然而,可使用任何数量的其他处理器,诸如,可从加利福尼亚州桑尼威尔市的超微半导体公司
Figure BDA0003225476180000533
获得的处理器、来自加利福尼亚州桑尼威尔市的MIPS技术公司的基于
Figure BDA0003225476180000534
的设计、许可自ARM控股有限公司的基于
Figure BDA0003225476180000536
的设计,或从上述各公司的客户、被许可方或采纳方获得的处理器。处理器可包括诸如以下单元:来自苹果
Figure BDA0003225476180000535
公司的A5-A13处理器、来自高通
Figure BDA0003225476180000537
技术公司的骁龙TM(SnapdragonTM)处理器或来自德州仪器公司的OMAPTM处理器。处理器1852和伴随的电路系统可以以单插座形状因子、多插座形状因子或各种其他格式提供,包括有限的硬件配置或包括少于图18B中所示的所有元件的配置。在该示例中,处理器1852实现分布式追踪框架520。
处理器1852可通过互连1856(例如,总线)来与系统存储器1854通信。可使用任何数量的存储器设备来提供给定量的系统存储器。作为示例,存储器可以是根据联合电子器件工程委员会(JEDEC)设计的随机存取存储器(RAM),诸如DDR或移动DDR标准(例如,LPDDR、LPDDR2、LPDDR3或LPDDR4)。在特定示例中,存储器组件可符合JEDEC颁布的标准,诸如DDRSDRAM的JESD79F、DDR2 SDRAM的JESD79-2F、DDR3 SDRAM的JESD79-3F、DDR4 SDRAM的JESD79-4A、低功率DDR(LPDDR)的JESD209、LPDDR2的JESD209-2、LPDDR3的JESD209-3和LPDDR4的JESD209-4。此类标准(和类似的标准)可被称为基于DDR的标准,而存储设备的实现此类标准的通信接口可被称为基于DDR的接口。在各种实现方式中,单独的存储器设备可以是任何数量的不同封装类型,诸如单管芯封装(SDP)、双管芯封装(DDP)或四管芯封装(Q17P)。在一些示例中,这些设备可以直接焊接到主板上,以提供较低轮廓的解决方案,而在其他示例中,设备被配置为一个或多个存储器模块,这些存储器模块进而通过给定的连接器耦合至主板。可使用任何数量的其他存储器实现方式,诸如其他类型的存储器模块,例如,不同种类的双列直插存储器模块(DIMM),包括但不限于microDIMM(微DIMM)或MiniDIMM(迷你DIMM)。
为了提供对信息(诸如数据、应用、操作系统等)的持久性存储,存储1858还可经由互连1856而耦合至处理器1852。在示例中,存储1858可经由固态盘驱动器(SSDD)来实现。可用于存储1858的其他设备包括闪存卡(诸如SD卡、microSD卡、xD图片卡,等等)和USB闪存驱动器。在示例中,存储器设备可以是或者可以包括使用硫属化物玻璃的存储器设备、多阈值级别NAND闪存、NOR闪存、单级或多级相变存储器(PCM)、电阻式存储器、纳米线存储器、铁电晶体管随机存取存储器(FeTRAM)、反铁电存储器、包含忆阻器技术的磁阻随机存取存储器(MRAM)、包括金属氧化物基底、氧空位基底和导电桥随机存取存储器(CB-RAM)的电阻式存储器、或自旋转移力矩(STT)-MRAM、基于自旋电子磁结存储器的设备、基于磁隧穿结(MTJ)的设备、基于DW(畴壁)和SOT(自旋轨道转移)的设备、基于晶闸管的存储器设备、或者任何上述或其他存储器的组合。
在低功率实现中,存储1858可以是与处理器1852相关联的管芯上存储器或寄存器。然而,在一些示例中,存储1858可使用微硬盘驱动器(HDD)来实现。此外,附加于或替代所描述的技术,可将任何数量的新技术用于存储1858,诸如阻变存储器、相变存储器、全息存储器或化学存储器,等等。
组件可通过互连1856进行通信。互连1856可包括任何数量的技术,包括工业标准架构(ISA)、扩展ISA(EISA)、外围组件互连(PCI)、外围组件互连扩展(PCIx)、PCI快速(PCIe)或任何数量的其他技术。互连1856可以是例如在基于SoC的系统中使用的专有总线。其他总线系统可被包括,诸如I2C接口、SPI接口、点对点接口、以及功率总线,等等。
互连1856可将处理器1852耦合至收发机1866,以便例如与连接的边缘设备1862通信。收发机1866可使用任何数量的频率和协议,诸如,IEEE 802.15.4标准下的2.4千兆赫兹(GHz)传输,使用如由蓝牙
Figure BDA0003225476180000551
特别兴趣小组定义的蓝牙
Figure BDA0003225476180000553
低能量(BLE)标准、或
Figure BDA0003225476180000552
标准,等等。为特定的无线通信协议配置的任何数量的无线电可用于到连接的边缘设备1862的连接。例如,无限局域网(WLAN)单元可用于根据电气和电子工程师协会(IEEE)802.11标准实现
Figure BDA0003225476180000554
通信。另外,例如根据蜂窝或其他无线广域协议的无线广域通信可经由无线广域网(WWAN)单元发生。
无线网络收发机1866(或多个收发机)可以使用用于不同范围的通信的多种标准或无线电来进行通信。例如,边缘计算节点1850可使用基于BLE或另一低功率无线电的本地收发机与接近的(例如,在约10米内的)设备通信以节省功率。更远的(例如,在约50米内的)连接的边缘设备1862可通过
Figure BDA0003225476180000555
或其他中间功率的无线电而联络到。这两种通信技术能以不同的功率水平通过单个无线电发生,或者可通过分开的收发机而发生,分开的收发机例如使用BLE的本地收发机和分开的使用
Figure BDA0003225476180000556
的网格收发机。
无线网络收发机1866(例如,无线电收发机)可被包括,以经由局域网协议或广域网协议来与边缘云1890中的设备或服务通信。无线网络收发机1866可以是遵循IEEE802.15.4或IEEE 802.15.4g标准等的LPWA收发机。边缘计算节点1850可使用由Semtech和LoRa联盟开发的LoRaWANTM(长距离广域网)在广域上通信。本文中描述的技术不限于这些技术,而使可与实现长距离、低带宽通信(诸如,Sigfox和其他技术)的任何数量的其他云收发机一起使用。进一步地,可使用其他通信技术,诸如在IEEE 802.15.4e规范中描述的时分信道跳。
除了针对如本文中所描述的无线网络收发机1866而提及的系统之外,还可使用任何数量的其他无线电通信和协议。例如,收发机1866可包括使用扩展频谱(SPA/SAS)通信以实现高速通信的蜂窝收发机。进一步地,可使用任何数量的其他协议,诸如用于中速通信和供应网络通信的
Figure BDA0003225476180000561
网络。收发机1866可包括与任何数量的3GPP(第三代合作伙伴计划)规范(诸如在本公开的末尾处进一步详细讨论的长期演进(LTE)和第五代(5G)通信系统)兼容的无线电。网络接口控制器(NIC)1868可被包括以提供到边缘云1890的节点或到其他设备(诸如(例如,在网格中操作的)连接的边缘设备1862)的有线通信。有线通信可提供以太网连接,或可基于其他类型的网络,诸如控制器区域网(CAN)、本地互连网(LIN)、设备网络(DeviceNet)、控制网络(ControlNet)、数据高速路+、现场总线(PROFIBUS)或工业以太网(PROFINET),等等。附加的NIC 1868可被包括以实现到第二网络的连接,例如,第一NIC1868通过以太网提供到云的通信,并且第二NIC 1868通过另一类型的网络提供到其他设备的通信。
鉴于从设备到另一组件或网络的适用通信类型的多样性,设备使用的适用通信电路可以包括组件1864、1866、1868或1870中的任何一个或多个或由组件1864、1866、1868或1870中的任何一个或多个来具体化。因此,在各个示例中,用于通信(例如,接收、传送等)的适用装置可由此类通信电路系统来具体化。
边缘计算节点1850可以包括或被耦合到加速电路系统1864,该加速电路系统1864可以由一个或多个AI加速器、神经计算棒、神经形态硬件、FPGA、GPU的布置、一个或多个SoC、一个或多个CPU、一个或多个数字信号处理器、专用ASIC、或被设计用于完成一个或多个专有任务的其他形式的专用处理器或电路系统来具体化。这些任务可以包括AI处理(包括机器学习、训练、推断、和分类操作)、视觉数据处理、网络数据处理、对象检测、规则分析等。这些任务还可包括用于本文档中其他地方讨论的服务管理和服务操作的特定边缘计算任务。
互连1856可将处理器1852耦合至用于连接附加的设备或子系统的传感器中枢或外部接口1870。外部设备可包括传感器1872,诸如加速度计、水平传感器、流量传感器、光学光传感器、相机传感器、温度传感器、全球定位系统(GPS)传感器、压力传感器、气压传感器,等等。中枢或接口1870可进一步用于将边缘计算节点1850连接至致动器1874,诸如功率开关、阀致动器、可听声音发生器、视觉警告设备等。
在一些任选的示例中,各种输入/输出(I/O)设备可存在于边缘计算节点1850内,或可连接至边缘计算节点1850。例如,显示器或其他输出设备1884可被包括以显示信息,诸如传感器读数或致动器位置。输入设备1886(诸如触摸屏或键区)可被包括以接受输入。输出设备1884可包括任何数量的音频或视觉显示形式,包括:简单视觉输出,诸如,二进制状态指示器(例如,LED);多字符视觉输出;或更复杂的输出,诸如,显示屏(例如,LCD屏),其具有从边缘计算节点1850的操作生成或产生的字符、图形、多媒体对象等的输出。在本系统的上下文中,显示器或控制台硬件可:用于提供边缘计算系统的输出和接收边缘计算系统的输入;用于管理边缘计算系统的组件或服务;标识边缘计算组件或服务的状态、或用于进行任何其他数量的管理或管理功能或服务用例。
电池1876可为边缘计算节点1850供电,但是在其中边缘计算节点1850被安装在固定位置的示例中,该边缘计算节点1850可具有耦合至电网的电源,或者电池可以用作备用或用于临时功能。电池1876可以是锂离子电池、金属-空气电池(诸如锌-空气电池、铝-空气电池、锂-空气电池),等等。
电池监测器/充电器1878可被包括在边缘计算节点1850中以跟踪电池1876(如果包括的话)的充电状态(SoCh)。电池监测器/充电器1878可用于监测电池1876的其他参数以提供失效预测,诸如电池1876的健康状态(SoH)和功能状态(SoF)。电池监测器/充电器1878可包括电池监测集成电路,诸如来自线性技术公司(Linear Technologies)的LTC4020或LTC2990、来自亚利桑那州的凤凰城的安森美半导体公司(ON Semiconductor)的ADT7488A、或来自德克萨斯州达拉斯的德州仪器公司的UCD90xxx族的IC。电池监测器/充电器1878可通过互连1856将关于电池1876的信息传递至处理器1852。电池监测器/充电器1878也可包括使处理器1852能够直接监测电池1876的电压或来自电池1876的电流的模数(ADC)转换器。电池参数可被用于确定边缘计算节点1850可执行的动作,诸如传输频率、网格网络操作、感测频率,等等。
功率块1880或耦合至电网的其他电源可与电池监测器/充电器1878耦合以对电池1876充电。在一些示例中,功率块1880可用无线功率接收机代替,以便例如通过边缘计算节点1850中的环形天线来无线地获得功率。无线电池充电电路(诸如来自加利福尼亚州的苗比达市的线性技术公司的LTC4020芯片,等等)可被包括在电池监测器/充电器1878中。可以基于电池1876的尺寸并且因此基于所要求的电流来选择特定的充电电路。可使用由无线充电联盟(Airfuel Alliance)颁布的Airfuel标准、由无线电力协会(Wireless PowerConsortium)颁布的Qi无线充电标准、或由无线电力联盟(Alliance for Wireless Power)颁布的Rezence充电标准等等来执行充电。
存储1858可包括用于实现本文中公开的技术的软件、固件或硬件命令形式的指令1882。虽然此类指令1882被示出为被包括在存储器1854和存储1858中的代码块,但是可以理解,可用例如被建立到专用集成电路(ASIC)中的硬连线电路替换代码块中的任一个。
在示例中,经由存储器1854、存储1858或处理器1852提供的指令1882可被具体化为非瞬态机器可读介质1860,该非瞬态机器可读介质1860包括用于指导处理器1852执行边缘计算节点1850中的电子操作的代码。处理器1852可通过互连1856访问非瞬态机器可读介质1860。例如,非瞬态机器可读介质1860可由针对存储1858所描述的设备来具体化,或者可包括特定的存储单元,诸如光盘、闪存驱动器或任何数量的其他硬件设备。非瞬态机器可读介质1860可包括用于指示处理器1852执行例如像参照上文中描绘的操作和功能的(多个)流程图和(多个)框图而描述的特定的动作序列或动作流的指令。如本文所适用,术语“机器可读介质”和“计算机可读介质”是可互换的。
在进一步的示例中,机器可读介质也包括任何有形介质,该有形介质能够存储、编码或携带供由机器执行并且使机器执行本公开方法中的任何一种或多种方法的指令,或者该有形介质能够储存、编码或携带由此类指令利用或与此类指令相关联的数据结构。“机器可读介质”因此可包括但不限于固态存储器、光学介质和磁介质。机器可读介质的特定示例包括非易失性存储器,作为示例,包括但不限于:半导体存储器设备(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)和闪存设备);诸如内部硬盘及可移除盘之类的磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。可使用传输介质,经由网络接口设备,利用若干传输协议中的任何一种协议(例如,HTTP),进一步通过通信网络来传送或接收由机器可读介质具体化的指令。
机器可读介质可以由能够以非瞬态格式主管数据的存储设备或其他装置提供。在示例中,存储在机器可读介质上或以其他方式提供在机器可读介质上的信息可以表示指令,诸如指令本身或者可以从中导出指令的格式。可以从中导出指令的该格式可以包括源代码、经编码的指令(例如,以压缩或加密的形式)、经封装的指令(例如,分成多个封装)等。表示机器可读介质中的指令的信息可以通过处理电路系统处理成指令来实现本文所讨论的任何操作。例如,从(例如,由处理电路系统进行的处理的)信息中导出指令可以包括:(例如,从源代码、目标代码等)编译、解释、加载、组织(例如,动态地或静态地进行链接)、编码、解码、加密、解密、打包、拆包,或者以其他方式将信息操纵到指令中。
在示例中,指令的推导可以包括(例如,通过处理电路系统)对信息进行汇编、编译、或解释,以从机器可读介质提供的一些中间或预处理的格式创建指令。当信息以多个部分提供时,可以对其进行组合、拆包和修改以创建指令。例如,信息可以处于一个或若干远程服务器上的多个经压缩的源代码封装(或目标代码、或二进制可执行代码等)中。源代码封装可以在通过网络传输时被加密,并且可以在本地机器处被解密、被解压缩、(如果必要的话)被汇编(例如,被链接),并且被编译或被解释(例如被编译或被解释成库、独立的可执行文件等),并且由本地机器执行。
图9-图10的机器可执行指令900可被存储在存储器1852和/或存储1858(诸如大容量存储设备)中、易失性存储器中、非易失性存储器中和/或诸如CD或DVD之类的可移除非瞬态计算机可读存储介质上。
从前文将理解,已经公开了示例方法、装置和制品,其能够经由边缘计算平台使用由中间件驱动并跨设备、构造和特权边界受控的分布式追踪框架来实现跨网络基础设施的应用、进程和其他服务的动态、交互式监控和调节。所公开的方法、装置和制品通过在云、边缘和端点设备级别实现跨分布式系统的高效、有效监控和调试来改善使用计算设备的效率。所公开的方法、装置和制品相对应地涉及计算机功能的一个或多个改善。
此外,当尝试跨分布式系统进行部署时,追踪和相关联的应用和/或服务调试是昂贵且有问题的。鉴于存在多个实体和相关联的规则,跨多个系统收集信息并实施控制是困难的,如果不是不可能的话。此外,边缘的快速增长对大规模软件工程实践呈现出挑战和机遇。调试、A/B测试、关联异常、排除作为漏洞和故障原因的因素、和/或在错误和故障之间建立模式是跨大量独立开发的微服务的复杂的,这些微服务协同工作来交付终端用户价值。进一步地,这些问题在边缘处是复杂的,在边缘处,基础设施是异构的,不同的系统在不同的位置中维护并且受制于不同的故障配置文件,并且时序异常由于非统一的通信、非本地化的放置以及其他模糊因素(诸如功率受限且带宽受限的任务分发)而更有可能发生。增加这些复杂性的问题是不同的边缘位置可能属于不同的信任边界,并且因此,在尝试关联数据和统计以便追踪执行、收集调试信息等时,在松散耦合交互中跨越许多不同微服务的一系列动作也可以是透明的、半透明的或不透明的。
如本文所描述且公开的,动态追踪控制并不与容器或其他虚拟存储器构造相关,而是与服务网格中的端到端连接相关。追踪、事件记录、资源监控等可以经由追踪框架来促进,该框架收集整个系统的信息。
某些示例提供了追踪代理、验证代理以及追踪和验证控制中间件,这些中间件提供了用于监控感兴趣的事件并用于自动化验证的可挖掘基础设施,同时减少或最小化对性能和软件开发实践的干扰。因此,某些示例将生产软件的开销保持在较小的数量,并减少/最小化用于放大生产部署期间或之后可能出现的问题的调试、追踪和/或记录代码的数量。动态追踪控制提供一种灵活的、独立于实体的基础设施,用于监视感兴趣的事件并改进应用和/或服务开发和执行。
某些示例提供安全的(例如,签名的)定时标记来识别执行追踪的追踪者点,并且收集相对应的追踪数据并将其与安全的定时标记相关联。安全定时标记与端到端流标识符一起为追踪信息提供上下文,这些信息可以聚合、汇总、形成追踪者点图表等。某些示例利用中间件提供调试和追踪代理,该中间件通过追踪和验证中间件在较高级别的追踪与较低级别的追踪之间安全地且时间准确地进行桥接。
某些示例通过自动追踪数据回收、虚拟单步调试代码、分布式追踪回调等提供自主追踪。可以向真实的中间件、追踪、补救措施等提供验证(诸如散列器、秒表等)。在某些示例中,追踪与每个计算设备(智能NIC、智能磁盘等)提供的软件包装一起提供,以便以依赖于设备的方式传播标记。虽然某些示例有助于调试、追踪等,但在处理器上运行的应用内的指令流中,示例可以应用于以其他形式的计算资源(诸如智能网络接口卡(NIC)、可计算存储、图形处理单元(GPU)等)实现的其他逻辑,这些逻辑可以暴露追踪者点并用于收集追踪。在某些示例中,可以经由区块链或其他分布式账本存储并传播(例如,共享)追踪、分析和补救结果,以允许验证、共享错误/解决方案等。
尽管本文中已公开了某些示例方法、装置和制品,但本专利涵盖的范围并不限于此。相反,本专利涵盖落入本专利示例范围内的全部方法、装置和制品。
本文中公开了用于动态地控制云-边缘计算环境中追踪的示例方法、装置、系统和制品。进一步的示例及其组合包括以下内容:
示例1是一种分布式基于边缘的追踪框架系统,包括:中间件生成器,用于响应于监控请求而生成中间件,该中间件用于监控在执行载体中执行的服务的执行;中间件控制器,用于(a)从中间件收集有关监控的服务的执行的数据,以及(b)响应于监控的执行而控制中间件;以及补救器,用于响应于在监控的服务的执行中标识出的错误而提供补救。
示例2包括示例1,其中补救器用于提供包括对服务的调节或对服务的执行载体的调节中的至少一项的补救。
示例3包括示例1,其中服务包括分布在多个执行载体上的多个微服务。
示例4包括示例1,其中执行载体包括与边缘服务通信的端点设备。
示例5包括示例1,其中执行载体包括容器沙箱。
示例6包括示例1,其中中间件与可执行原语相关联。
示例7包括示例1,其中中间件包括:追踪中间件,用于追踪服务在执行中的某个点处的执行;以及验证中间件,用于验证测量值满足执行中的点处的预期值。
示例8包括示例1,其中中间件有助于单步调试服务的执行以标识与中间件相关联的追踪者点,在服务的执行期间到达追踪者点时生成通知,以及触发对在追踪者点标识的故障的处理。
示例9包括示例1,进一步包括追踪分析器以处理从中间件接收的追踪信息和相关联的元数据。
示例10包括示例1,进一步包括用于为中间件提供证明的安全策略引擎。
示例11是包括指令的至少一种非瞬态计算机可读存储介质,当该指令被执行时,使至少一个处理器至少用于:响应于监控请求而创建中间件,该中间件用于监控在执行载体中执行的服务的执行;经由中间件监控服务的执行,包括通过从中间件收集有关监控的执行的数据并响应于监控的执行而控制中间件;以及响应于在监控的服务的执行中标识出的错误而提供补救。
示例12包括示例11,其中指令在被执行时使至少一个处理器提供包括对服务的调节或对服务的执行载体的调节中的至少一项的补救。
示例13包括示例11,其中执行载体包括与边缘服务通信的端点设备,其中服务包括跨多个执行载体分布的多个微服务,并且其中指令在被执行时使至少一个处理器用于监控跨多个执行载体的服务的执行。
示例14包括示例11,其中指令在被执行时使至少一个处理器用于:创建追踪中间件,用于追踪服务在执行中的点处的执行;以及创建验证中间件,用于验证测量值满足执行中的点处的预期值。
示例15包括示例11,其中指令在被执行时使至少一个处理器用于:经由中间件单步调试服务的执行以标识与中间件相关联的追踪者点;在服务的执行期间到达追踪者点时生成通知;以及触发对在追踪者点标识的故障的处理。
示例16包括示例11,其中指令在被执行时使至少一个处理器用于:处理从中间件接收的追踪信息和相关联的元数据。
示例17包括示例11,其中指令在被执行时使至少一个处理器用于:为中间件提供证明。
示例18是一种边缘计算环境中的动态追踪控制的方法。该示例方法包括:通过使用至少一个处理器执行指令来响应于监控请求而创建中间件,该中间件用于监控在执行载体中执行的服务的执行;通过使用至少一个处理器执行指令来经由中间件监控服务的执行,包括通过从中间件收集关于监控的执行的数据并响应于监控的执行而控制中间件;以及通过使用至少一个处理器执行指令来响应于在监控的服务的执行中标识出的错误而提供补救。
示例19包括示例18,其中执行载体包括与边缘服务通信的端点设备,其中服务包括跨多个执行载体分布的多个微服务,并且方法进一步包括监控跨多个执行载体的服务的执行。
示例20包括示例18,其中创建中间件包括:创建追踪中间件,用于追踪服务在执行中的某个点处的执行;以及创建验证中间件,用于验证测量值满足执行中的点处的预期值。
示例21包括示例18,进一步包括:经由中间件单步调试服务的执行以标识与中间件相关联的追踪者点,在服务的执行期间到达追踪者点时生成通知,以及触发对在追踪者点标识的故障的处理。
示例22是一种资源供应设备,包括:包括指令的存储器电路系统;以及用于执行指令的至少一个处理器用于至少:响应于监控请求而创建中间件,该中间件被部署成用于监控在执行载体中执行的服务的执行;经由中间件监控服务的执行,包括通过从中间件收集有关监控的执行的数据并响应于监控的执行而控制中间件;以及响应于在监控的服务执行中标识出的错误而提供补救。
示例23是一种设备,包括:用于响应于监控请求而生成中间件的装置,该中间件用于监控在执行载体中执行的服务的执行;用于经由中间件监控服务的执行的装置,该用于监控的装置用于从中间件收集有关监控的执行的数据并响应于监控的执行而控制中间件;以及用于补救的装置,用于响应于在监控的服务执行中标识出的错误而提供补救。
示例24包括示例1-10中任一项,其中中间件被部署成响应于监控请求。
示例25包括示例24,其中中间件被部署成执行载体以响应于监控请求。
示例26包括示例11-17中任一项,其中中间件被部署成响应于监控请求。
示例27包括示例26,其中中间件被部署成执行载体以响应于监控请求。
示例28包括示例18-21中任一项,其中中间件被部署成响应于监控请求。
示例29包括示例28,其中中间件被部署成执行载体以响应于监控请求。
示例30是包括用于执行示例18-21中的任一项的指令的计算机可读介质。
示例31是一种边缘计算网关,该边缘计算网关包括用于执行示例18-21中的任一项的处理电路系统。
在示例32中,示例1-31中任一项的主题可选地包括基于卫星的到因特网的连接。
在示例33中,示例1-32中任一项的主题可选地包括服务水平协议或服务水平目标中的至少一项以提供用于服务执行的上下文。
示例34包括示例1-33中的任一项并且进一步包括用于追踪服务执行的分布式账本。
示例35是一种系统,包括:用于响应于监控请求而创建中间件的装置,该中间件用于监控在执行载体中执行的服务的执行;用于经由中间件监控服务的执行的装置,该用于监控的装置包括从中间件收集有关监控的执行的数据并响应于监控的执行而控制中间件;以及用于响应于在监控的服务执行中标识出的错误而提供补救的装置。
示例36包括示例35,其中执行载体包括与边缘服务通信的端点设备,其中服务包括跨多个执行载体分布的多个微服务,并且方法进一步包括监控跨多个执行载体的服务的执行。
示例37包括示例35-36中的任一项,其中用于创建中间件的装置通过以下方式创建:创建追踪中间件,用于追踪服务在执行中的某个点处的执行;以及创建验证中间件,用于验证测量值满足执行中的点处的预期值。
示例38包括示例35-37中的任一项,进一步包括:用于经由中间件单步调试服务的执行以标识与中间件相关联的追踪者点的装置;用于在服务的执行期间到达追踪者点时生成通知的装置;以及用于触发对在追踪者点标识的故障的处理的装置。
所附的权利要求由此通过本参考被并入到具体实施方式中,其中每一项权利要求其本身作为本公开的单独的实施例。

Claims (22)

1.一种分布式基于边缘的追踪框架系统,包括:
中间件生成器,用于响应于监控请求而生成中间件,所述中间件用于监控在执行载体中执行的服务的执行;
中间件控制器,用于(a)从所述中间件收集有关监控的服务的执行的数据,以及(b)响应于监控的执行而控制所述中间件;以及
补救器,用于响应于在监控的服务的执行中标识出的错误而提供补救。
2.如权利要求1所述的系统,其特征在于,所述补救器用于提供包括对服务的调节或对服务的执行载体的调节中的至少一项的补救。
3.如权利要求1所述的系统,其特征在于,服务包括分布在多个执行载体上的多个微服务。
4.如权利要求1所述的系统,其特征在于,所述执行载体包括与边缘服务通信的端点设备。
5.如权利要求1所述的系统,其特征在于,所述执行载体包括容器沙箱。
6.如权利要求1所述的系统,其特征在于,所述中间件与可执行原语相关联。
7.如权利要求1所述的系统,其特征在于,所述中间件包括:追踪中间件,用于追踪服务在执行中的点处的执行;以及验证中间件,用于验证测量值满足执行中的点处的预期值。
8.如权利要求1所述的系统,其特征在于,所述中间件有助于单步调试服务的执行以标识与所述中间件相关联的追踪者点,在服务的执行期间到达所述追踪者点时生成通知,以及触发对在所述追踪者点标识的故障的处理。
9.如权利要求1所述的系统,进一步包括追踪分析器,用于处理从所述中间件接收的追踪信息和相关联的元数据。
10.如权利要求1所述的系统,进一步包括用于为所述中间件提供证明的安全策略引擎。
11.至少一种计算机可读存储介质,包括指令,所述指令在被执行时使至少一个处理器至少用于:
响应于监控请求而创建中间件,所述中间件用于监控在执行载体中执行的服务的执行;
经由所述中间件监控服务的执行,包括通过从所述中间件收集有关监控的执行的数据以及响应于监控的执行而控制所述中间件;以及
响应于在监控的服务的执行中标识出的错误而提供补救。
12.如权利要求11所述的至少一种计算机可读存储介质,其特征在于,所述指令在被执行时使所述至少一个处理器用于提供包括对服务的调节或对服务的执行载体的调节中的至少一项的补救。
13.如权利要求11所述的至少一种计算机可读存储介质,其特征在于,所述执行载体包括与边缘服务通信的端点设备,其中服务包括跨多个执行载体分布的多个微服务,并且其中所述指令在被执行时使所述至少一个处理器用于监控跨所述多个执行载体的服务的执行。
14.如权利要求11所述的至少一种计算机可读存储介质,其特征在于,所述指令在被执行时使所述至少一个处理器用于:创建追踪中间件,用于追踪服务在执行中的点处的执行;以及创建验证中间件,用于验证测量值满足执行中的点处的预期值。
15.如权利要求11所述的至少一种计算机可读存储介质,其特征在于,所述指令在被执行时使得所述至少一个处理器用于:
经由所述中间件单步调试服务的执行以标识与所述中间件相关联的追踪者点;
在服务的执行期间到达所述追踪者点时生成通知;以及
触发对在所述追踪者点标识的故障的处理。
16.如权利要求11所述的至少一种计算机可读存储介质,其特征在于,所述指令在被执行时使得所述至少一个处理器用于:处理从所述中间件接收的追踪信息和相关联的元数据。
17.如权利要求11所述的至少一种计算机可读存储介质,其特征在于,所述指令在被执行时使得所述至少一个处理器用于:为所述中间件提供证明。
18.一种在边缘计算环境中的动态追踪控制的方法,所述方法包括:
通过使用至少一个处理器执行指令来响应于监控请求而创建中间件,所述中间件用于监控在执行载体中执行的服务的执行;
通过使用所述至少一个处理器执行指令来经由所述中间件监控服务的执行包括通过从所述中间件收集关于监控的执行的数据以及响应于监控的执行而控制所述中间件;以及
通过使用所述至少一个处理器执行指令来响应于在监控的服务的执行中标识出的错误而提供补救。
19.如权利要求18所述的方法,其特征在于,所述执行载体包括与边缘服务通信的端点设备,其中服务包括跨多个执行载体分布的多个微服务,并且所述方法进一步包括监控跨多个执行载体的服务的执行。
20.如权利要求18所述的方法,其特征在于,创建所述中间件包括:
创建追踪中间件,用于追踪服务在执行中的点处的执行;以及
创建验证中间件,用于验证测量值满足执行中的点处的预期值。
21.如权利要求18所述的方法,进一步包括:
经由所述中间件单步调试服务的执行以标识与所述中间件相关联的追踪者点;
在服务的执行期间到达所述追踪者点时生成通知;以及
触发对在所述追踪者点标识的故障的处理。
22.一种设备,包括:
用于响应于监控请求而生成中间件的装置,所述中间件用于监控在执行载体中执行的服务的执行;
用于经由所述中间件监控服务的执行的装置,用于监控的装置用于通过从所述中间件收集有关监控的执行的数据以及响应于监控的执行而控制所述中间件;以及
用于补救的装置,用于响应于在监控的服务的执行中标识出的错误而提供补救。
CN202110969721.3A 2020-09-25 2021-08-23 动态追踪控制 Pending CN114253793A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/033,105 US20210081271A1 (en) 2020-09-25 2020-09-25 Dynamic tracing control
US17/033,105 2020-09-25

Publications (1)

Publication Number Publication Date
CN114253793A true CN114253793A (zh) 2022-03-29

Family

ID=74869496

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110969721.3A Pending CN114253793A (zh) 2020-09-25 2021-08-23 动态追踪控制

Country Status (3)

Country Link
US (1) US20210081271A1 (zh)
EP (1) EP3974994A1 (zh)
CN (1) CN114253793A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118072259A (zh) * 2024-04-17 2024-05-24 安徽博微广成信息科技有限公司 基于ai智能检测的渣土车识别流程方法和智能监控装备

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10496469B2 (en) * 2017-07-25 2019-12-03 Aurora Labs Ltd. Orchestrator reporting of probability of downtime from machine learning process
US12002087B1 (en) 2020-01-30 2024-06-04 Freedom Financial Network Llc Network computing system to provide account management services for planning user actions
US11853982B1 (en) 2020-01-30 2023-12-26 Freedom Financial Network, LLC User dashboard for enabling user participation with account management services
US11212170B1 (en) * 2020-10-19 2021-12-28 T-Mobile Usa, Inc. Service provider network application testing with standards references
US12081979B2 (en) * 2020-11-05 2024-09-03 Visa International Service Association One-time wireless authentication of an Internet-of-Things device
US11558189B2 (en) * 2020-11-30 2023-01-17 Microsoft Technology Licensing, Llc Handling requests to service resources within a security boundary using a security gateway instance
CN112600920B (zh) * 2020-12-14 2022-08-02 广州新科佳都科技有限公司 一种基于云平台的线网综合监控方法及系统
GB202110155D0 (en) * 2021-07-14 2021-08-25 Graphcore Ltd GSP trace unit
US11875202B2 (en) 2021-09-10 2024-01-16 International Business Machines Corporation Visualizing API invocation flows in containerized environments
US20230093868A1 (en) * 2021-09-22 2023-03-30 Ridgeline, Inc. Mechanism for real-time identity resolution in a distributed system
US11940898B2 (en) * 2021-11-16 2024-03-26 Vmware, Inc. Dynamic tracing of runtime data in a distributed system
US11983542B2 (en) 2021-11-19 2024-05-14 Pratexo, Inc. Management of edge computing nodes in preboot execution environment (PxE) having unique media access control (MAC) address with targeted installation of edge node
US11503101B1 (en) * 2021-12-15 2022-11-15 Motorola Solutions, Inc. Device and method for assigning video analytics tasks to computing devices
US11861568B2 (en) * 2021-12-28 2024-01-02 Brex Inc. Data tracing identifiers for tracking data flow through a data model and computing services
CN114723781B (zh) * 2022-03-07 2022-10-28 北京拙河科技有限公司 基于相机阵列的目标追踪方法及系统
CN117453441A (zh) * 2022-04-07 2024-01-26 荣耀终端有限公司 一种电子设备的异常恢复方法和设备
US12093208B2 (en) 2022-05-27 2024-09-17 Nvidia Corporation Remote descriptor to enable remote direct memory access (RDMA) transport of a serialized object
US20240004780A1 (en) * 2022-06-30 2024-01-04 Amazon Technologies, Inc. Parallel execution during application debugging
US12118223B2 (en) * 2022-07-21 2024-10-15 Dell Products L.P. Efficient method for data invulnerability architecture (DIA) and data corruption detection for deduped cloud objects
US20240053712A1 (en) * 2022-08-12 2024-02-15 Fisher-Rosemount Systems, Inc. Systems, apparatus, articles of manufacture, and methods for an application marketplace for process control systems
US11860753B1 (en) * 2022-12-12 2024-01-02 Optum, Inc. Monitoring a distributed ledger network using hierarchical validation workflows
US20240248779A1 (en) * 2023-01-22 2024-07-25 Dell Products L.P. Data Center Virtual Machine Disaster Recovery Based on Centrality Prioritization
US12001312B1 (en) * 2023-07-26 2024-06-04 Dell Products L.P. Data center monitoring and management operation for provisioning a data center asset using unstructured data

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6189141B1 (en) * 1998-05-04 2001-02-13 Hewlett-Packard Company Control path evaluating trace designator with dynamically adjustable thresholds for activation of tracing for high (hot) activity and low (cold) activity of flow control
US8180923B2 (en) * 2005-11-29 2012-05-15 Intel Corporation Network access control for many-core systems
EP1958839B1 (en) * 2005-12-27 2010-03-03 Honda Motor Co., Ltd Vehicle control device
US9742857B2 (en) * 2012-08-24 2017-08-22 Citrix Systems, Inc. Systems and methods for supporting a network profile
US20160014688A1 (en) * 2014-07-11 2016-01-14 Cellrox, Ltd. Techniques for managing access point connections in a multiple-persona mobile technology platform
US10893100B2 (en) * 2015-03-12 2021-01-12 International Business Machines Corporation Providing agentless application performance monitoring (APM) to tenant applications by leveraging software-defined networking (SDN)
US9535820B2 (en) * 2015-03-27 2017-01-03 Intel Corporation Technologies for application validation in persistent memory systems
EP3337094B1 (en) * 2015-08-31 2019-11-06 Huawei Technologies Co., Ltd. Method and apparatus for deploying network services
US9811442B2 (en) * 2015-12-11 2017-11-07 International Business Machines Corporation Dynamic trace level control
US20170178072A1 (en) * 2015-12-22 2017-06-22 Intel Corporation System, Apparatus And Method For Transferring Ownership Of A Smart Delivery Package
US10411980B2 (en) * 2016-09-20 2019-09-10 Intel Corporation Proactive path quality reporting in packet transmission
US10382257B2 (en) * 2017-03-16 2019-08-13 International Business Machines Corporation Microservices communication pattern for fault detection in end-to-end flows
WO2019009928A1 (en) * 2017-07-05 2019-01-10 Intel Corporation ESTABLISHING CONNECTIONS BETWEEN IDO DEVICES USING AUTHENTICATION TOKENS
US10680898B2 (en) * 2018-03-06 2020-06-09 At&T Intellectual Property I, L.P. Mini-cloud deployment system
CN112955869A (zh) * 2018-11-08 2021-06-11 英特尔公司 功能即服务(faas)系统增强
EP3912037A1 (en) * 2019-03-04 2021-11-24 Huawei Technologies Co., Ltd. Automated root-cause analysis for distributed systems using tracing-data
US11340832B2 (en) * 2019-08-12 2022-05-24 Intel Corporation Concept for controlling a memory performance in a computer system
US20230156826A1 (en) * 2020-05-01 2023-05-18 Intel Corporation Edge computing in satellite connectivity environments
EP3929740A1 (de) * 2020-06-26 2021-12-29 Siemens Aktiengesellschaft Verfahren zur orchestrierung einer container-basierten anwendung auf einem endgerät
US20210014113A1 (en) * 2020-09-25 2021-01-14 Intel Corporation Orchestration of meshes
US20220116455A1 (en) * 2021-11-16 2022-04-14 Arun Raghunath Computational storage in a function-as-a-service architecture
US20220116335A1 (en) * 2021-12-21 2022-04-14 Vesh Raj Sharma Banjade End-to-end network slicing (ens) from ran to core network for next generation (ng) communications
US20230224716A1 (en) * 2022-01-07 2023-07-13 Dish Wireless L.L.C. Method and system for interface management for neighboring enterprise networks
US20230224937A1 (en) * 2022-01-07 2023-07-13 Dish Wireless L.L.C. Method and system for relaying load information between neighboring enterprise networks
US20220222117A1 (en) * 2022-03-30 2022-07-14 Intel Corporation Techniques to expose application telemetry in a virtualized execution environment
US11620393B1 (en) * 2022-05-14 2023-04-04 Aswath Premaradj System and method for facilitating distributed peer to peer storage of data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118072259A (zh) * 2024-04-17 2024-05-24 安徽博微广成信息科技有限公司 基于ai智能检测的渣土车识别流程方法和智能监控装备

Also Published As

Publication number Publication date
US20210081271A1 (en) 2021-03-18
EP3974994A1 (en) 2022-03-30

Similar Documents

Publication Publication Date Title
US20210081271A1 (en) Dynamic tracing control
EP3985511A1 (en) Orchestration of meshes
EP3974980A1 (en) Methods, apparatus, and articles of manufacture for workload placement in an edge environment
NL2029029B1 (en) Methods and apparatus to coordinate edge platforms
EP4020880A1 (en) Method, apparatus and machine-readable storage to verify trained models in an edge environment
US20220255916A1 (en) Methods and apparatus to attest objects in edge computing environments
US12041177B2 (en) Methods, apparatus and systems to share compute resources among edge compute nodes using an overlay manager
CN117501246A (zh) 用于端到端编排中的自主监测的系统和方法
CN114285738A (zh) 边缘节点的基于信任的编排
EP4020266A1 (en) Apparatus, systems, and methods to protect hardware and software
EP4203417A1 (en) Systems, methods, articles of manufacture, and apparatus for end-to-end hardware tracing in an edge network
US12026074B2 (en) Continuous testing, integration, and deployment management for edge computing
US12068928B2 (en) Methods and apparatus to schedule workloads based on secure edge to device telemetry
CN114338680A (zh) 用于在计算设备中相对于服务水平协议来管理服务质量的方法和装置
US20220082616A1 (en) Systems and methods for networked device testing
CN115525421A (zh) 用于促进服务代理的方法和装置
US20220222584A1 (en) Heterogeneous compute-based artificial intelligence model partitioning
CN114268428A (zh) 用于管理对分散数据湖的访问的方法、系统、设备和制品
EP4203381A1 (en) Methods and apparatus for attestation for a constellation of edge devices
CN115525138A (zh) 设备上基于功率的自适应硬件可靠性
US20230344804A1 (en) Methods and apparatus to increase privacy for follow-me services
EP4202669B1 (en) Methods and apparatus for secure execution on smart network interface cards
CN115525519A (zh) 分布式遥测平台
CN115373795A (zh) 基于地理围栏的边缘服务控制和认证
WO2022271042A1 (en) Automated node configuration tuning in edge 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