CN114661456A - 用于工业控制系统的时间感知通用输入输出 - Google Patents

用于工业控制系统的时间感知通用输入输出 Download PDF

Info

Publication number
CN114661456A
CN114661456A CN202111395212.0A CN202111395212A CN114661456A CN 114661456 A CN114661456 A CN 114661456A CN 202111395212 A CN202111395212 A CN 202111395212A CN 114661456 A CN114661456 A CN 114661456A
Authority
CN
China
Prior art keywords
edge
queue
rising
examples
timestamps
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
CN202111395212.0A
Other languages
English (en)
Inventor
V·达德瓦尔
C·S·M·霍尔
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 CN114661456A publication Critical patent/CN114661456A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2465Query processing support for facilitating data mining operations in structured databases
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/402Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for positioning, e.g. centring a tool relative to a hole in the workpiece, additional detection means to correct position
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2468Fuzzy queries
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/02Computing arrangements based on specific mathematical models using fuzzy logic
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39132Robot welds, operates on moving workpiece, moved by other robot
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45091Screwing robot, tighten or loose bolt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5011Pool
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/048Fuzzy inferencing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3066Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction by means of a mask or a bit-map

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Fuzzy Systems (AREA)
  • Databases & Information Systems (AREA)
  • Automation & Control Theory (AREA)
  • Evolutionary Computation (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Manufacturing & Machinery (AREA)
  • Human Computer Interaction (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本文描述用于实现工业控制系统的时间感知通用输入输出(TGPIO)的各种系统和方法。一种系统,包括:边缘检测器电路系统,用于:检测输入信号中的上升沿或下降沿;以及将上升沿或下降沿连同相应边缘的相对应时间戳一起存储在缓冲器中;以及模式匹配电路系统,用于:分析缓冲器中的上升沿或下降沿,以标识与搜索模式匹配的边缘模式;以及将与边缘模式相对应的时间戳存储在事件队列中,事件队列用于通知用户应用输入信号中存在边缘模式。

Description

用于工业控制系统的时间感知通用输入输出
技术领域
本文描述的实施例通常涉及数字工业控制硬件系统,并且特别涉及为工业控制系统提供时间感知通用输入输出(TGPIO)的系统。
背景技术
在一般层面,边缘计算是指计算和存储资源向更靠近于端点设备(例如,消费方计算设备、用户装备等)的转变,以优化总拥有成本,减少应用等待时间,改善服务能力,并且改善安全性与或数据私有性要求的顺应性。在一些场景中,边缘计算可提供类云分布式服务,该类云分布式服务可为应用提供在许多类型的存储和计算资源之间的编排和管理。结果是,边缘计算的一些实现方式被称为“边缘云”或“雾”,因为先前仅在大型远程数据中心中可用的强大的计算资源被移动到更靠近于端点并使得其对于由处于网络的“边缘”处的消费方使用而言是可用的。
已经开发出采用移动网络设置的用于与多接入边缘计算(MEC)方式集成的边缘计算用例,也被称为“移动边缘计算”。MEC方式被设计成允许应用开发人员和内容提供方访问网络的边缘处采用动态移动网络设置的计算能力和信息技术(IT)服务环境。欧洲电信标准协会(ETSI)行业规范小组(ISG)已开发了有限的标准,试图定义用于MEC系统、平台、主机、服务和应用的操作的通用接口。
边缘计算、MEC以及相关技术试图提供相比于传统云网络服务和广域网连接中所提供的减少的等待时间、增加的响应性、以及可用性更强的计算能力。然而,将移动性和动态启动的服务的集成到某种移动使用和设备处理用例导致编排、功能协调、以及资源管理的限制和对编排、功能协调、以及资源管理的关心,尤其在其中涉及许多参与方(设备、主机、租户、服务提供方、操作者)的复杂移动性设置中。
以类似方式,物联网(IoT)网络和设备被设计成用于提供从各种端点的分布式计算布置。IoT设备是在网络上通信的实体对象或虚拟化对象,并且可以包括传感器、致动器以及其他输入/输出组件,IoT设备可用于收集数据或在现实世界环境中执行动作。例如,IoT设备可包括嵌入或附接到日常事物(诸如建筑物、交通工具、包裹等)的低功率端点设备,以提供对这些事物的附加水平的人工感官知觉。最近,IoT设备已变得越来越流行,因此使用这些设备的应用已经激增。
各种边缘、雾、MEC、以及IoT网络、设备、以及服务的部署已经引入了许多高级用例和场景,这些用例和场景在网络边缘处并朝向网络边缘处发生。然而,这些高级用例也引入了与安全性、处理和网络资源、服务可用性和效率等等许多其他问题有关的多个相对应的技术挑战,尤其是随着更多类型的计算系统和配置被部署。一个此类挑战与安全性和信任以及软件程序和数据的操作状态有关,如存储器(例如,DRAM存储器)、高速缓存存储器(例如,高速缓存中的)或寄存器(例如,CPU或GPU)中所示。
附图说明
在附图中(这些附图不一定是按比例绘制的),同样的数字可描述不同视图中的类似组件。具有不同的字母后缀的相同的数字可表示类似组件的不同实例。在所附附图的图中通过示例的方式而非限制性地图示出一些实施例,其中:
图1示出了针对边缘计算的边缘云配置的概览;
图2示出了端点、边缘云和云计算环境之间的操作层;
图3示出了用于边缘计算系统中的联网和服务的示例方法;
图4A提供用于边缘计算系统中的计算节点处所部署的计算的示例组件的概览;
图4B提供边缘计算系统中的计算设备内的示例组件的进一步的概览;
图5是示出根据实施例的时间感知通用输入输出(TGPIO)系统的框图;
图6是示出根据实施例的用于实现时间感知通用输入输出(TGPIO)系统的架构的框图;
图7是示出根据实施例的信号中的一系列脉冲的示意图;
图8是示出根据实施例的TGPIO滤波过程的流程图;
图9是示出根据实施例的用于搜索TGPIO信号中的模式的方法的流程图;
图10是示出根据实施例的时间感知通用输入输出(TGPIO)系统的框图;
图11是示出根据实施例的用于管理TGPIO队列的过程的流程图;
图12显示了保留队列中第N个最早条目的策略;
图13是示出根据实施例的组内压缩的示意图;
图14是示出根据实施例的用于时间戳队列管理的方法的流程图;
图15是示出根据实施例的用于时间感知的通用输入/输出信号压缩的方法的流程图;以及
图16是图示出根据示例实施例的示例机器的框图,可对该示例机器执行本文中所讨论的技术(例如,方法)中的任何一种或多种。
具体实施方式
本文描述的系统和方法提供了一种为工业控制系统提供时间感知通用输入输出(TGPIO)的系统。在各示例中,本文描述的系统和方法改进了TGPIO系统中的事件处理。
GPIO是电子电路板上的数字信号引脚,其行为(包括其作为输入还是输出)在运行时由用户控制。GPIO信号由软件用于控制CPU外部的组件或与CPU外部的组件进行通信。标准GPIO(SGPIO)信令逻辑不具备捕获时间的能力,并且信号定时的精度受到触发软件事件的精度的限制。每个SGPIO事件还必须由需要CPU干预的软件单独触发,并可能导致抖动。
现代产品包括时间感知GPIO(TGPIO)硬件,该硬件通过添加额外的逻辑来解决这些限制,该逻辑对输入事件进行采样,并以亚微秒精度捕获相对于系统时钟的时间戳。一些架构使用始终运行的定时器(ART)来同步整个系统中的事件,包括TGPIO。
TGPIO增强的一个应用是制造控制。制造过程需要以精确定时和有序的方式执行一系列步骤。TGPIO信号可用于精确(亚微秒)控制。可以使用TSN时间同步跨若干机器同步这些进程。本地TSN时钟也与ART相关,并使用硬件逻辑与TGPIO同步。
时间感知GPIO用于给捕获的输入加时间戳或在GPIO引脚上生成同步输出信号。特别是,TGPIO接口捕获输入事件(上升沿和下降沿)并使用ART或本地设备时钟给它们加时间戳。这些事件中的每一个生成一个必须由软件处理的通知。此功能是通过使用捕获这些事件的TGPIO队列来实现的。当捕获输入时,软件在TGPIO设备填充队列时从队列中读取事件。但是,当前系统没有处理队列溢出的机制。相反,队列事件被丢弃。这为监测事件的应用提供了较差的服务质量。
对于许多应用,丢弃事件会是灾难性的。一个示例应用是在使用机械臂控制器的交通工具制造设施中,该控制器需要被精确地加时间戳的工具移动和/或零件位置,诸如执行焊接或插入螺栓或螺钉的机械臂。如果遗漏事件,则整个系统可能出现故障产品或故障。
这里描述的系统和方法提供了改进的队列管理,其通过在压缩事件队列时对用户指定的输入事件排定优先级,减少TGPIO处理的CPU开销和队列溢出。该机制允许TGPIO硬件通过智能地将TGPIO事件处理卸载到硬件上,从而对高速信号进行采样。因此,该机制为在同一平台上运行的应用提供了更高的吞吐量。
此外,这里描述的系统和方法提供了一种改进的滤波技术,其能够使用复杂的时间感知GPIO边缘模式,并基于这些模式仅滤波和报告用户指定的时间戳。这减少了处理输入所需的CPU负载。应用向硬件滤波器提供搜索模式作为输入,并且硬件滤波器使用搜索模式在GPIO输入中查找匹配。在各实施例中,搜索模式可以是正则表达式、模糊逻辑规则或有限状态机的形式。
图1是示出用于边缘计算的配置的概览的框图100,该配置包括在以下许多示例中被称为“边缘云”的处理层。如图所示,边缘云110共同定位在边缘位置(诸如接入点或基站140、本地处理中枢150、或中央局120),并且因此可以包括多个实体、设备、和装备实例。与云数据中心130相比,边缘云110被定位成更靠近端点(消费者和生产者)数据源160(例如,自主交通工具161、用户装备162、商业和工业装备163、视频捕捉设备164、无人机165、智慧城市和建筑设备166、传感器和IoT设备167等)。在边缘云110中的边缘处提供的计算、存储器、和存储资源对于为由端点数据源160使用的服务和功能提供超低等待时间的响应时间以及减少从边缘云110朝向云数据中心130的网络回程通信量(由此改善能耗和整体网络使用等益处)至关重要。
计算、存储器、和存储是稀缺资源,并且通常根据边缘位置而减少(例如,在消费者端点设备上可用的处理资源比在基站上、在中央局处可用的处理资源更少)。然而,边缘位置越靠近端点(例如,用户装备(UE)),空间和功率通常就越受限。因此,边缘计算尝试通过分配被定位成既在地理上更靠近又在网络接入时间上更靠近的更多的资源来减少网络服务所需的资源量。以该方式,边缘计算尝试在适当的情况下将计算资源带到工作负荷数据,或者,将工作负荷数据带到计算资源。
以下描述了边缘云架构的各方面,该架构涵盖多种潜在的部署,并解决了一些网络运营商或服务提供商在其本身的基础设施中可能具有的限制。这些包括以下的变体:基于边缘位置的各种配置(例如,因为处于基站级别的边缘在多租户场景中可能具有更受限制的性能和能力);基于边缘位置、位置的层、或位置的组可用的计算、存储器、存储、结构、加速等资源的类型的配置;服务、安全性、以及管理和编排能力;以及实现端服务的可用性和性能的相关目标。这些部署可以在网络层中完成处理,取决于等待时间、距离、和定时特征,这些网络层可以被视为“接近边缘”、“靠近边缘”、“本地边缘”、“中间边缘”、或“远边缘”层。
边缘计算是一种开发范式,其中计算在网络的“边缘”处或靠近于网络的“边缘”被执行,典型地通过使用在基站、网关、网络路由器、或更靠近于产生和消耗数据的端点设备的其他设备处实现的计算平台(例如,x86或ARM计算硬件架构)来执行。例如,边缘网关服务器可装配有存储器池和存储资源,以针对连接的客户端设备的低等待时间用例(例如,自主驾驶或视频监测)实时地执行计算。或者作为示例,基站可被扩充有计算和加速资源,以直接为连接的用户装备处理服务工作负荷,而无需进一步经由回程网络传输数据。或者作为另一示例,可用执行虚拟化网络功能并为服务的执行提供计算资源并且为连接的设备提供消费者功能的标准化计算硬件来代替中央局网络管理硬件。在边缘计算网络内,可能存在计算资源“被移动”到数据的服务中的场景,以及其中数据“被移动”到计算资源的场景。或者作为示例,基站计算、加速和网络资源可以提供服务,以通过激活休眠容量(订阅、按需容量)来根据需要扩展工作负荷需求,以管理极端情况、紧急情况或为部署的资源在显著更长的实现的生命周期中提供长寿命。
图2示出了端点、边缘云和云计算环境之间的操作层。具体而言,图2描绘了在网络计算的多个说明性层之间利用边缘云110的计算用例205的示例。这些层从端点(设备和事物)层200开始,该层200访问边缘云110以进行数据创建、分析和数据消费活动。边缘云110可以跨越多个网络层(诸如具有网关、内部(on-premise)服务器、或位于物理上邻近边缘系统中的网络设备(节点215)的边缘设备层210);网络接入层220,该网络接入层220涵盖基站、无线电处理单元、网络中枢、区域数据中心(DC)、或本地网络装备(装备225);以及位于它们之间的任何装备、设备或节点(在层212中,未详细图示出)。边缘云110内和各层之间的网络通信可以经由任何数量的有线或无线介质来实现,包括经由未描绘出的连接性架构和技术。
由于网络通信距离和处理时间约束而导致的等待时间的示例的范围可以从在端点层200之间时的小于一毫秒(ms),在边缘设备层210处的低于5ms到当与网络接入层220处的节点通信时的10到40ms之间。在边缘云110之外是核心网络230层和云数据中心240层,每个层均具有增加的等待时间(例如,在核心网络层230处的50-60ms,在云数据中心层处的100ms或更多ms)。因此,在核心网络数据中心235或云数据中心245处的、具有至少为50至100ms或更多的等待时间的操作将无法完成用例205的许多时间关键的功能。出于说明和对比的目的,提供这些等待时间值中的每一个等待时间值;应当理解,使用其他接入网络介质和技术可以进一步降低等待时间。在一些示例中,相对于网络源和目的地,网络的各个部分可以被分类为“靠近边缘”、“本地边缘”、“接近边缘”、“中间边缘”或“远边缘”层。例如,从核心网络数据中心235或云数据中心245的角度来看,中央局或内容数据网络可以被视为位于“接近边缘”层内(“接近”云,具有在与用例205的设备和端点通信时的高等待时间值),而接入点、基站、内部服务器或网络网关可以被视为位于“远边缘”层内(“远”离云,具有在与用例205的设备和端点通信时的低等待时间值)。应当理解,构成“靠近”、“本地”、“接近”、“中间”或“远”边缘的特定网络层的其他分类可以基于等待时间、距离、网络跳数或其他可测量的特性,如从网络层200-240中的任一层中的源测量的。
由于多个服务利用边缘云,各种用例205可以在来自传入流的使用压力下访问资源。为了实现低等待时间的结果,在边缘云110内执行的服务在以下方面平衡不同的需求:(a)优先级(吞吐量或等待时间)和服务质量(QoS)(例如,在响应时间需求方面,自主汽车的通信量可能比温度传感器具有更高的优先级;或者,取决于应用,性能敏感度/瓶颈可能存在于计算/加速器、存储器、存储、或网络资源上);(b)可靠性和复原性(例如,取决于应用,一些输入流需要被作用并且以任务关键型可靠性来路由通信量,而一些其他输入流可以容忍偶尔的故障;以及(c)物理约束(例如,功率、冷却和形状因子)。
这些用例的端到端服务视图涉及服务流的概念,并与事务相关联。事务详细说明了消费服务的实体的整体服务需求,以及资源、工作负荷、工作流、以及业务功能和业务级别需求的相关联的服务。利用所描述的“方面(term)”执行的服务能以某种方式在每层处进行管理,以确保在服务的生命周期期间事务的实时和运行时合同合规性。当事务中的组件缺失其约定的SLA时,系统作为整体(事务中的组件)可以提供以下能力:(1)理解SLA违规的影响,以及(2)增强系统中的其他组件以恢复整体事务SLA,以及(3)实现补救的步骤。
因此,考虑到这些变化和服务特征,边缘云110内的边缘计算能以实时或接近实时的方式向用例205的多个应用(例如,对象跟踪、视频监视、连接的汽车等)提供提供服务和作出响应的能力,并满足这些多个应用的超低等待时间需求。这些优势使全新类别的应用(虚拟网络功能(VNF)、功能即服务(FaaS)、边缘即服务(EaaS)、标准过程等)得以实现,这些应用由于等待时间或其他限制而无法利用传统的云计算。
然而,随着边缘计算的优势,有以下注意事项。位于边缘处的设备通常是资源受约束的,并且因此存在对边缘资源的使用的压力。通常,这是通过对供多个用户(租户)和设备使用的存储器和存储资源的池化来解决的。边缘可能是功率和冷却受约束的,并且因此需要由消耗最多功率的应用来负责功率使用。在这些经池化的存储器资源中可能存在固有的功率性能权衡,因为它们中的许多可能使用新兴的存储器技术,在这些技术中,更多的功率需要更大的存储器带宽。同样,还需要改善的硬件安全性和信任根受信任的功能,因为边缘位置可以是无人(控制)的,并且可能甚至需要经许可的访问(例如,当被容纳在第三方位置时)。在多租户、多所有者、或多访问设置中,此类问题在边缘云110中被放大,此类设置中,由许多用户请求服务和应用,特别是当网络使用动态地波动以及多个利益相关者、用例、和服务的组成改变时。
在更一般的级别上,边缘计算系统可以被描述为涵盖在先前讨论的、在边缘云110(网络层200-240)中操作的层处的任意数量的部署,这些层提供来自客户端和分布式计算设备的协调。一个或多个边缘网关节点、一个或多个边缘聚合节点和一个或多个核心数据中心可以分布在网络的各个层上,以由电信服务提供商(“telco”或“TSP”)、物联网服务提供商、云服务提供商(CSP)、企业实体或任何其他数量的实体或者代表其提供边缘计算系统的实现。可以动态地提供边缘计算系统的各种实现方式和配置,诸如当被编排以满足服务目标时。
与本文提供的示例一致,客户端计算节点可以被具体化为任何类型的端点组件、设备、装置或能够作为数据的生产者或消费者进行通信的其他事物。进一步地,如边缘计算系统中所使用的标签“节点”或“设备”不一定意指此类节点或设备以客户端或代理/仆从/跟随者角色操作;相反,边缘计算系统中的节点或设备中的任一者指代包括分立的和/或连接的硬件或软件配置以促进和/或使用边缘云110的个体实体、节点、或子系统。
由此,边缘云110由网络层210-230中的边缘网关节点、边缘聚合节点或其他边缘计算节点操作并在网络层210-230中的边缘网关节点、边缘聚合节点或其他边缘计算节点内被操作的网络组件和功能特征形成。因此,边缘云110可被具体化为提供边缘计算和/或存储资源的任何类型的网络,这些边缘计算和/或存储资源被定位成接近支持无线电接入网络(RAN)的端点设备(例如,移动计算设备、IoT设备、智能设备等),其在本文中所讨论。换言之,边缘云110可被预想为连接端点设备和传统网络接入点、同时还提供存储和/或计算能力的“边缘”,该“边缘”充当进入到包括移动运营商网络(例如,全球移动通信系统(GSM)网络、长期演进(LTE)网络、5G/6G网络等)的服务提供商核心网络中的入口点。其他类型和形式的网络接入(例如,Wi-Fi、长程无线、包括光学网络的有线网络)也可替代此类3GPP运营商网络被利用或与此类3GPP运营商网络组合来利用。
边缘云110的网络组件可以是服务器、多租户服务器、装置计算设备和/或任何其他类型的计算设备。例如,边缘云110可以包括作为包括壳体、底座、机箱或外壳的自包含电子设备的装置计算设备。在一些情况下,可以针对便携性来确定壳体尺寸,以使得其可由人类携载和/或被运输。示例壳体可包括形成一个或多个外表面的材料,该一个或多个外表面部分地或完整地保护装置的内容物,其中,保护可包括天气保护、危险环境保护(例如,EMI、振动、极端温度)和/或使得能够浸入水中。示例壳体可包括用于为固定式和/或便携式实现方式提供功率的功率电路系统,诸如AC功率输入、DC功率输入、(多个)AC/DC或DC/AC转换器、功率调节器、变压器、充电电路系统、电池、有线输入和/或无线功率输入。示例壳体和/或其表面可包括或连接至安装硬件,以实现到诸如建筑物、电信结构(例如,杆、天线结构等)和/或机架(例如,服务器机架、刀片支架等)之类的结构的附接。示例壳体和/或其表面可支持一个或多个传感器(例如,温度传感器、振动传感器、光传感器、声学传感器、电容传感器、接近度传感器等)。一个或多个此类传感器可被包含在装置的表面中、由装置的表面承载、或以其他方式被嵌入在装置的表面中和/或被安装至装置的表面。示例壳体和/或其表面可支持机械连接性,诸如推进硬件(例如,轮子、螺旋桨等)和/或铰接硬件(例如,机械臂、可枢转附件等)。在一些情况下,传感器可包括任何类型的输入设备,诸如用户接口硬件(例如,按键、开关、拨号盘、滑块等)。在一些情况下,示例壳体包括包含在其中、由其携载、嵌入其中和/或附接于其的输出设备。输出设备可包括显示器、触摸屏、灯、LED、扬声器、I/O端口(例如,USB)等。在一些情况下,边缘设备是为特定目的而被呈现在网络中、但是可具有可用于其他目的的处理和/或其他能力的设备(例如,红绿灯)。此类边缘设备可以独立于其他联网设备,并且可设置有具有适合其主要目的的形状因子的壳体;但对于不干扰其主要任务的其他计算任务仍然是可用的。边缘设备包括物联网设备。装置计算设备可包括用于管理诸如设备温度、振动、资源利用率、更新、功率问题、物理和网络安全之类的本地问题的硬件和软件组件。结合图4B描述用于实现装置计算设备的示例硬件。边缘云110还可以包括一个或多个服务器和/或一个或多个多租户服务器。此类服务器可包括操作系统并实现虚拟计算环境。虚拟计算环境可包括管理(例如,生成、部署、损毁等)一个或多个虚拟机、一个或多个容器等的管理程序。此类虚拟计算环境提供其中一个或多个应用和/或其他软件、代码或脚本可在与一个或多个其他应用、软件、代码或脚本隔离的同时执行的执行环境。
在图3中,(以移动设备、计算机、自主交通工具、业务计算装备、工业处理装备的形式的)各种客户端端点310交换特定于端点网络聚合类型的请求和响应。例如,客户端端点310可以通过交换通过内部网络系统332的请求和响应322,经由有线宽带网络获得网络接入。一些客户端端点310(诸如移动计算设备)可以通过交换通过接入点(例如,蜂窝网络塔)334的请求和响应,经由无线宽带网络获得网络接入。一些客户端端点310(诸如自主交通工具)可通过街道定位网络系统336经由无线交通工具网络获得请求和响应326的网络接入。然而,无论网络接入的类型如何,TSP可以在边缘云110内部署聚合点342、344来聚合通信量和请求。因此,在边缘云110内,TSP可以(诸如在边缘聚合节点340处)部署各种计算和存储资源以提供请求的内容。边缘聚合节点340和边缘云110的其他系统被连接至云或数据中心360,该云或数据中心360使用回程网络350来满足来自云/数据中心对网站、应用、数据库服务器等的更高等待时间请求。边缘聚合节点340和聚合点342、344的附加或合并的实例(包括部署在单个服务器框架上的那些实例)也可以存在于边缘云110或TSP基础设施的其他区域内。
在进一步的示例中,参考当前的边缘计算系统和环境讨论的计算节点或设备中的任一者可以基于图4A和图4B所描绘的组件来实现。相应的边缘计算节点可以被具体化为能够与其他边缘组件、联网组件或端点组件进行通信的设备、装置、计算机或其他“事物”的类型。例如,边缘计算设备可以具体化为个人计算机、服务器、智能手机、移动计算设备、智能设备、机载计算系统(例如,导航系统)、具有机箱、外壳等的自包含设备,或能够执行所述功能的其他设备或系统。
在图4A中描绘的简化示例中,边缘计算节点400包括计算引擎(本文中也称为“计算电路系统”)402、输入/输出(I/O)子系统408、数据存储410、通信电路子系统412,以及任选地,一个或多个外围设备414。在其他示例中,相应的计算设备可以包括其他或附加组件,诸如通常在计算机中发现的那些组件(例如,显示器、外围设备等)。另外,在一些示例中,说明性组件中的一个或多个可被结合到另一组件中,或以其他方式形成另一组件的部分。
计算节点400可被具体化为能够执行各种计算功能的任何类型的引擎、设备、或设备集合。在一些示例中,计算节点400可被具体化为单个设备,诸如集成电路、嵌入式系统、现场可编程门阵列(FPGA)、片上系统(SOC)或其他集成系统或设备。在说明性示例中,计算节点400包括或被具体化为处理器404和存储器406。处理器404可被具体化为能够执行本文中所描述的功能(例如,执行应用)的任何类型的处理器。例如,处理器404可被具体化为(多个)多核处理器、微控制器、处理单元、专门或专用处理单元、或其他处理器或处理/控制电路。
在一些示例中,处理器404可被具体化为、包括或耦合到FPGA、专用集成电路(ASIC)、可重新配置的硬件或硬件电路系统、或用于促进本文中所描述的功能的执行的其他专用硬件。同样在一些示例中,处理器404可以具体化为专用x处理单元(xPU)(也称为数据处理单元(DPU))、基础设施处理单元(IPU)或网络处理单元(NPU)。此类xPU可具体化为独立电路或电路封装、集成在SoC内或与联网电路系统(例如,在智能NIC或增强型智能NIC中)集成、加速电路系统、存储设备或AI硬件(例如,GPU或编程FPGA)。此类xPU可设计成用于接收编程以在CPU或通用处理硬件之外处理一个或多个数据流并执行数据流的特定任务和动作(诸如托管微服务、执行服务管理或编排、组织或管理服务器或数据中心硬件、管理服务网格,或收集和分发遥测数据)。然而,将理解的是,xPU、SoC、CPU和处理器404的其他变体可以彼此协调工作以在计算节点400内并代表计算节点400执行多种类型的操作和指令。
存储器406可被具体化为能够执行本文中所述的功能的任何类型的易失性(例如,动态随机存取存储器(DRAM)等)或非易失性存储器或数据存储。易失性存储器可以是需要维持由该介质存储的数据状态的能力的存储介质。易失性存储器的非限制性示例可包括各种类型的随机存取存储器(RAM),诸如DRAM或静态随机存取存储器(SRAM)。可以在存储模块中使用的一个特定类型的DRAM是同步动态随机存取存储器(SDRAM)。
在示例中,存储器设备是块可寻址存储器设备,诸如基于NAND或NOR技术的那些存储器设备。存储器设备还可包括三维交叉点存储器设备(例如,
Figure BDA0003369774760000121
3D XPointTM存储器)或其他字节可寻址的就地写入非易失性存储器设备。存储器设备可指代管芯本身和/或指代封装的存储器产品。在一些示例中,3D交叉点存储器(例如,
Figure BDA0003369774760000122
3D XPointTM存储器)可包括无晶体管的可堆叠的交叉点架构,其中存储单元位于字线和位线的交点处,并且可单独寻址,并且其中位存储基于体电阻的变化。在一些示例中,存储器406的全部或一部分可以被集成到处理器404中。存储器406可以存储在操作期间使用的各种软件和数据,诸如一个或多个应用、通过(多个)应用、库以及驱动程序操作的数据。
计算电路系统402经由I/O子系统408通信地耦合到计算节点400的其他组件,该I/O子系统408可被具体化为用于促进与计算电路系统402(例如,与处理器404和/或主存储器406)以及计算电路系统402的其他组件的输入/输出操作的电路系统和/或组件。例如,I/O子系统408可被具体化为或以其他方式包括存储器控制器中枢、输入/输出控制中枢、集成传感器中枢、固件设备、通信链路(即,点对点链路、总线链路、线路、电缆、光导、印刷电路板迹线等)和/或用于促进输入/输出操作的其他组件和子系统。在一些示例中,I/O子系统408可以形成片上系统(SoC)的部分,并可与计算电路系统402的处理器404、存储器406、和其他组件中的一个或多个一起被合并到计算电路系统402中。
一个或多个说明性数据存储设备410可被具体化为被配置成用于数据的短期或长期存储的任何类型的设备,诸如例如,存储器设备和电路、存储器卡、硬盘驱动器、固态驱动器或其他数据存储设备。各个数据存储设备410可包括存储数据存储设备410的数据以及固件代码的系统分区。各个数据存储设备410还可以包括一个或多个操作系统分区,该操作系统分区根据例如计算节点400的类型来存储操作系统的数据文件和可执行文件。
通信电路系统412可被具体化为能够实现通过网络在计算电路系统402与其他计算设备(例如,边缘计算系统的边缘网关)之间的进行通信的任何通信电路、设备或其集合。通信电路系统412可以被配置成使用任何一种或多种通信技术(例如,有线或无线通信)和相关联的协议(例如,蜂窝联网协议(诸如3GPP 4G或5G标准)、无线局域网协议(诸如IEEE802.11/
Figure BDA0003369774760000131
)、无线广域网协议,以太网、
Figure BDA0003369774760000133
蓝牙低能量、IoT协议(诸如IEEE802.15.4或
Figure BDA0003369774760000132
)、低功率广域网(LPWAN)或低功率广域网(LPWA)协议等)来实行此类通信。
说明性通信电路系统412包括网络接口控制器(NIC)420,其也被称为主机结构接口(HFI)。NIC 420可被具体化为一个或多个插入式板、子卡、网络接口卡、控制器芯片、芯片组或可由计算节点400用来与另一计算设备(例如,边缘网关节点)连接的其他设备。在一些示例中,NIC 420可被具体化为包括一个或多个处理器的片上系统(SoC)的一部分,或NIC420可被包括在也包含一个或多个处理器的多芯片封装上。在一些示例中,NIC 420可包括均位于NIC 420本地的本地处理器(未示出)和/或本地存储器(未示出)。在此类示例中,NIC420的本地处理器可能能够执行本文中描述的计算电路系统402的功能中的一个或多个功能。附加地,或者替代地,在此类示例中,NIC420的本地存储器可以在板级、插座级、芯片级和/或其他层级上被集成到客户端计算节点的一个或多个组件中。
另外,在一些示例中,相应的计算节点400可以包括一个或多个外围设备414。取决于计算节点400的特定类型,此类外围设备414可包括通常在计算设备或服务器中发现的任何类型的外围设备,诸如音频输入设备、显示器、其他输入/输出设备、接口设备和/或其他外围设备。在进一步的示例中,计算节点400可以由相应的边缘计算节点(无论是客户端、网关或聚合节点)在边缘计算系统或类似形式的设备、计算机、子系统、电路系统或其他组件中。
在更详细的示例中,图4B图示出可以存在于边缘计算节点450中的组件的示例的框图,该组件用于实现本文所描述的技术(例如,操作、过程、方法和方法论)。该边缘计算节点450在被实现为计算设备(例如,移动设备、基站、服务器、网关等)或计算设备(例如,移动设备、基站、服务器、网关等)的一部分时提供节点400的相应组件的更靠近的视图。边缘计算节点450可以包括本文中所引用的硬件或逻辑组件的任何组合,并且该边缘计算节点450可以包括或耦合可用于边缘通信网络或此类网络的组合的任何设备。这些组件可被实现为集成电路(IC)、IC的部分、分立电子器件,或其他模块、指令集、可编程逻辑或算法、硬件、硬件加速器、软件、固件或其适用于边缘计算节点450中的组合,或作为以其他方式被并入在更大的系统的机架内的组件。
边缘计算节点450可包括处理器452形式的处理电路系统,该处理电路系统可以是微处理器、多核处理器、多线程处理器、超低电压处理器、嵌入式处理器、xPU/DPU/IPU/NPU、专用处理单元、专门处理单元,或其他已知的处理元件。处理器452可以是芯片上系统(SoC)的部分,在该SoC中,处理器452和其他组件形成到单个集成电路或单个封装中,诸如,来自加利福尼亚州圣克拉拉市的英特尔公司的爱迪生TM(EdisonTM)或伽利略TM(GalileoTM)SoC板。作为示例,处理器452可包括基于
Figure BDA0003369774760000141
架构酷睿TM(CoreTM)的CPU处理器(诸如QuarkTM、AtomTM、i3、i5、i7、i9或MCU级处理器)、或可从
Figure BDA0003369774760000142
获得的另一此类处理器。然而,可使用任何数量的其他处理器,诸如,可从加利福尼亚州桑尼威尔市的超微半导体公司
Figure BDA0003369774760000143
获得的处理器、来自加利福尼亚州桑尼威尔市的MIPS技术公司的基于
Figure BDA0003369774760000144
的设计、许可自ARM控股有限公司的基于
Figure BDA0003369774760000145
的设计,或从上述各公司的客户、被许可方或采纳方获得的处理器。处理器可包括诸如以下单元:来自
Figure BDA0003369774760000146
公司的A5-13处理器、来自
Figure BDA0003369774760000147
技术公司的骁龙TM(SnapdragonTM)处理器或来自德州仪器公司的OMAPTM处理器。处理器452和伴随的电路系统可以以单插座形状因子、多插座形状因子或各种其他格式提供,包括有限的硬件配置或包括少于图4B中所示的所有元件的配置。
处理器452可通过互连456(例如,总线)来与系统存储器454通信。可使用任何数量的存储器设备来提供给定量的系统存储器。作为示例,存储器454可以是根据联合电子器件工程委员会(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)。
为了提供对信息(诸如数据、应用、操作系统等)的持久性存储,存储458还可经由互连456而耦合至处理器452。在示例中,存储458可经由固态盘驱动器(SSDD)来实现。可用于存储458的其他设备包括闪存卡(诸如安全数字(SD)卡、microSD卡、极限数字(xD)图片卡,等等)和通用串行总线(USB)闪存驱动器。在示例中,存储器设备可以是或者可以包括使用硫属化物玻璃的存储器设备、多阈值级别NAND闪存、NOR闪存、单级或多级相变存储器(PCM)、电阻式存储器、纳米线存储器、铁电晶体管随机存取存储器(FeTRAM)、反铁电存储器、包含忆阻器技术的磁阻随机存取存储器(MRAM)、包括金属氧化物基底、氧空位基底和导电桥随机存取存储器(CB-RAM)的电阻式存储器、或自旋转移力矩(STT)-MRAM、基于自旋电子磁结存储器的设备、基于磁隧穿结(MTJ)的设备、基于DW(畴壁)和SOT(自旋轨道转移)的设备、基于晶闸管的存储器设备、或者任何上述或其他存储器的组合。
在低功率实现中,存储458可以是与处理器452相关联的管芯上存储器或寄存器。然而,在一些示例中,存储458可使用微硬盘驱动器(HDD)来实现。此外,附加于或替代所描述的技术,可将任何数量的新技术用于存储458,诸如阻变存储器、相变存储器、全息存储器或化学存储器,等等。
组件可通过互连456进行通信。互连456可包括任何数量的技术,包括工业标准架构(ISA)、扩展ISA(EISA)、外围组件互连(PCI)、外围组件互连扩展(PCIx)、PCI快速(PCIe)或任何数量的其他技术。互连456可以是例如在基于SoC的系统中使用的专有总线。其他总线系统可被包括,诸如内部集成电路(I2C)接口、串行外围设备接口(SPI)接口、点对点接口、以及功率总线,等等。
互连456可将处理器452耦合至收发机466,以便例如与连接的边缘设备462通信。收发机466可使用任何数量的频率和协议,诸如,IEEE802.15.4标准下的2.4千兆赫兹(GHz)传输,使用如由
Figure BDA0003369774760000161
特别兴趣小组定义的
Figure BDA0003369774760000162
低能量(BLE)标准、或
Figure BDA0003369774760000163
标准,等等。为特定的无线通信协议配置的任何数量的无线电可用于到连接的边缘设备462的连接。例如,无限局域网(WLAN)单元可用于根据电气和电子工程师协会(IEEE)802.11标准实现
Figure BDA0003369774760000164
通信。另外,例如根据蜂窝或其他无线广域协议的无线广域通信可经由无线广域网(WWAN)单元发生。
无线网络收发机466(或多个收发机)可以使用用于不同范围的通信的多种标准或无线电来进行通信。例如,边缘计算节点450可使用基于蓝牙低能量(BLE)或另一低功率无线电的本地收发机与接近的(例如,在约10米内的)设备通信以节省功率。更远的(例如,在约50米内的)连接的边缘设备462可通过
Figure BDA0003369774760000165
或其他中间功率的无线电而联络到。这两种通信技术能以不同的功率水平通过单个无线电发生,或者可通过分开的收发机而发生,分开的收发机例如使用BLE的本地收发机和分开的使用
Figure BDA0003369774760000166
的网格收发机。
无线网络收发机466(例如,无线电收发机)可被包括,以经由局域网协议或广域网协议来与云(例如,边缘云495)中的设备或服务通信。无线网络收发机466可以是遵循IEEE802.15.4或IEEE 802.15.4g标准等的低功率广域(LPWA)收发机。边缘计算节点450可使用由Semtech和LoRa联盟开发的LoRaWANTM(长距离广域网)在广域上通信。本文中描述的技术不限于这些技术,而使可与实现长距离、低带宽通信(诸如,Sigfox和其他技术)的任何数量的其他云收发机一起使用。进一步地,可使用其他通信技术,诸如在IEEE 802.15.4e规范中描述的时分信道跳。
除了针对如本文中所描述的无线网络收发机466而提及的系统之外,还可使用任何数量的其他无线电通信和协议。例如,收发机466可包括使用扩展频谱(SPA/SAS)通信以实现高速通信的蜂窝收发机。进一步地,可使用任何数量的其他协议,诸如用于中速通信和供应网络通信的
Figure BDA0003369774760000171
网络。收发机466可包括与任何数量的3GPP(第三代合作伙伴计划)规范(诸如在本公开的末尾处进一步详细讨论的长期演进(LTE)和第五代(5G)通信系统)兼容的无线电。网络接口控制器(NIC)468可被包括以提供到边缘云495的节点或到其他设备(诸如(例如,在网格中操作的)连接的边缘设备462)的有线通信。有线通信可提供以太网连接,或可基于其他类型的网络,诸如控制器区域网(CAN)、本地互连网(LIN)、设备网络(DeviceNet)、控制网络(ControlNet)、数据高速路+、现场总线(PROFIBUS)或工业以太网(PROFINET),等等。附加的NIC 468可被包括以实现到第二网络的连接,例如,第一NIC 468通过以太网提供到云的通信,并且第二NIC 468通过另一类型的网络提供到其他设备的通信。
鉴于从设备到另一组件或网络的适用通信类型的多样性,设备使用的适用通信电路可以包括组件464、466、468或470中的任何一个或多个或由组件464、466、468或470中的任何一个或多个来具体化。因此,在各个示例中,用于通信(例如,接收、传送等)的适用装置可由此类通信电路系统来具体化。
边缘计算节点450可以包括或被耦合到加速电路系统464,该加速电路系统464可以由一个或多个人工智能(AI)加速器、神经计算棒、神经形态硬件、FPGA、GPU的布置、一个或多个SoC、一个或多个CPU、一个或多个数字信号处理器、专用ASIC、或被设计用于完成一个或多个专有任务的其他形式的专用处理器或电路系统来具体化。这些任务可以包括AI处理(包括机器学习、训练、推断、和分类操作)、视觉数据处理、网络数据处理、对象检测、规则分析等。这些任务还可包括用于本文档中其他地方讨论的服务管理和服务操作的特定边缘计算任务。
互连456可将处理器452耦合至用于连接附加的设备或子系统的传感器中枢或外部接口470。外部设备可包括传感器472,诸如加速度计、水平传感器、流量传感器、光学光传感器、相机传感器、温度传感器、全球定位系统(GPS)传感器、压力传感器、气压传感器,等等。中枢或接口470可进一步用于将边缘计算节点450连接至致动器474,诸如功率开关、阀致动器、可听声音发生器、视觉警告设备等。
在一些任选的示例中,各种输入/输出(I/O)设备可存在于边缘计算节点450内,或可连接至边缘计算节点450。例如,显示器或其他输出设备484可被包括以显示信息,诸如传感器读数或致动器位置。输入设备486(诸如触摸屏或键区)可被包括以接受输入。输出设备484可包括任何数量的音频或视觉显示形式,包括:简单视觉输出,诸如,二进制状态指示器(例如,发光二极管(LED));多字符视觉输出;或更复杂的输出,诸如,显示屏(例如,液晶显示器(LCD)屏),其具有从边缘计算节点450的操作生成或产生的字符、图形、多媒体对象等的输出。在本系统的上下文中,显示器或控制台硬件可:用于提供边缘计算系统的输出和接收边缘计算系统的输入;用于管理边缘计算系统的组件或服务;标识边缘计算组件或服务的状态、或用于进行任何其他数量的管理或管理功能或服务用例。
电池476可为边缘计算节点450供电,但是在其中边缘计算节点450被安装在固定位置的示例中,该边缘计算节点450可具有耦合至电网的电源,或者电池可以用作备用或用于临时功能。电池476可以是锂离子电池、金属-空气电池(诸如锌-空气电池、铝-空气电池、锂-空气电池),等等。
电池监测器/充电器478可被包括在边缘计算节点450中以跟踪电池476(如果包括的话)的充电状态(SoCh)。电池监测器/充电器478可用于监测电池476的其他参数以提供失效预测,诸如电池476的健康状态(SoH)和功能状态(SoF)。电池监测器/充电器478可包括电池监测集成电路,诸如来自线性技术公司(Linear Technologies)的LTC4020或LTC2990、来自亚利桑那州的凤凰城的安森美半导体公司(ON Semiconductor)的ADT7488A、或来自德克萨斯州达拉斯的德州仪器公司的UCD90xxx族的IC。电池监测器/充电器478可通过互连456将关于电池476的信息传递至处理器452。电池监测器/充电器478也可包括使处理器452能够直接监测电池476的电压或来自电池476的电流的模数(ADC)转换器。电池参数可被用于确定边缘计算节点450可执行的动作,诸如传输频率、网格网络操作、感测频率,等等。
功率块480或耦合至电网的其他电源可与电池监测器/充电器478耦合以对电池476充电。在一些示例中,功率块480可用无线功率接收机代替,以便例如通过边缘计算节点450中的环形天线来无线地获得功率。无线电池充电电路(诸如来自加利福尼亚州的苗比达市的线性技术公司的LTC4020芯片,等等)可被包括在电池监测器/充电器478中。可以基于电池476的尺寸并且因此基于所要求的电流来选择特定的充电电路。可使用由无线充电联盟(Airfuel Alliance)颁布的Airfuel标准、由无线电力协会(Wireless PowerConsortium)颁布的Qi无线充电标准、或由无线电力联盟(Alliance for Wireless Power)颁布的Rezence充电标准等等来执行充电。
存储458可包括用于实现本文中公开的技术的软件、固件或硬件命令形式的指令482。虽然此类指令482被示出为被包括在存储器454和存储458中的代码块,但是可以理解,可用例如被建立到专用集成电路(ASIC)中的硬连线电路替换代码块中的任一个。
在示例中,经由存储器454、存储458或处理器452提供的指令482可被具体化为非暂态机器可读介质460,该非暂态机器可读介质460包括用于指导处理器452执行边缘计算节点450中的电子操作的代码。处理器452可通过互连456访问非暂态机器可读介质460。例如,非暂态机器可读介质460可由针对存储458所描述的设备来具体化,或者可包括特定的存储单元,诸如光盘、闪存驱动器或任何数量的其他硬件设备。非暂态机器可读介质460可包括用于指示处理器452执行例如像参照上文中描绘的操作和功能的(多个)流程图和(多个)框图而描述的特定的动作序列或动作流的指令。如本文所适用,术语“机器可读介质”和“计算机可读介质”是可互换的。
而且,在特定示例中,处理器452上的指令482(单独地或与机器可读介质460的指令482结合)可以配置受信任执行环境(TEE)490的执行或操作。在示例中,TEE 490作为处理器452可访问的保护区域来操作,以用于指令的安全执行和对数据的安全访问。例如,可以通过使用
Figure BDA0003369774760000201
软件防护扩展(SGX)或
Figure BDA0003369774760000202
硬件安全扩展、
Figure BDA0003369774760000203
管理引擎(ME)或
Figure BDA0003369774760000204
融合安全可管理性引擎(CSME)来提供TEE 490的各种实现方式以及处理器452或存储器454中伴随的安全区域。安全强化、硬件信任根、和受信任或受保护操作的其他方面可以通过TEE 490和处理器452在节点450中实现。
图5是示出根据实施例的时间感知通用输入输出(TGPIO)系统500的框图。TGPIO系统500可以包括在PCI夹层卡(PMC)502上,其被配置成用于通过PCI总线与CPU 504进行通信。CPU 504包括作为CPU时钟的时间戳计数器(TSC)506。TSC 506与PMC 502上的始终运行定时器(ART)508同步。TSC 506用于操作系统级测时。ART 508同步包括其他PCI连接设备的其他系统设备(例如,网络接口卡)。
精密时间测量(PTM)使得能够跨带有独立本地时钟的多个组件精确协调事件。鉴于各个时钟对时间的价值和变化率有不同的概念,此类精确的协调将是困难的。PTM允许组件计算其本地时间与共享PTM主时间之间的关系:与PTM根相关联的独立时域。
例如,可以在下游设备与上游设备之间进行PTM对话。下游设备具有上游端口,通过该端口,下游设备可以向上游设备发送消息。上游设备具有下游端口,通过该端口,上游设备可以向下游设备发送消息。上游设备可以具体化为PCIe根端口。PTM对话框使具有不同本地时间的组件能够计算其本地时间与和PTM根相关联的共享PTM主时间(例如,时间戳计数器(TSC))之间的关系。PTM根是PCIe根端口,它是所有设备的PTM主时间源,该所有设备诸如与该根端口相关联的PCIe层级结构中的下游设备和上游设备。
TGPIO边缘捕获电路系统512上的TGPIO引脚510用于接收由外部设备驱动的输入信号514。TGPIO边缘捕获电路系统512可以被设计、编程、调整或以其他方式配置成用于对由连接到TGPIO输入引脚的外部设备生成的信号的上升沿和下降沿(事件)加时间戳。输入信号可以是周期性的(例如,GPS时钟)或者非周期的(例如,传感器输入)。可以理解,在TGPIO硬件中可以使用多个TGPIO引脚510。可以为每个TGPIO引脚510实现TGPIO边缘捕获电路系统512。使用ART时钟508对输入信号514的边缘加时间戳,并且向CPU通知TGPIO事件。事件是输入信号514的上升沿、下降沿或者上升沿或下降沿集合。
TGPIO事件捕获滤波器电路系统516可以被设计、编程、调整或以其他方式配置成用于针对模式搜索输入信号的事件。TGPIO事件捕获滤波器电路系统516使用软件提供的输入模式规范(即,搜索模式)识别加时间戳事件的模式。例如,输入模式规范可以是正则表达式或模糊逻辑规则。当模式被识别时,TGPIO事件捕获滤波器电路系统516仅返回软件应用感兴趣的时间戳。应用软件提供的滤波器规范指定了感兴趣的事件。搜索模式可以由在CPU504上执行的软件提供。这在硬件中提供了特定于软件的滤波器。
TGPIO事件滤波可用于各种应用中。例如,在过程监控和异常检测领域,工业自动化中的PLC通常用于运动控制,诸如控制制造设施中精密电机控制工具的速度。该系统可用于根据观察到的行为生成数字孪生,从而提供用于预测机器故障的模型。然后,使用数字孪生为TGPIO事件滤波器生成输入模式识别规则。TGPIO硬件能够通知应用可能导致电机故障的异常行为(已识别的模式)。然后,应用能够处理异常行为。
在智能公用事业电网环境中,TGPIO设备可连接到电压传感器,该传感器捕获电网上的电压不规则模式,并记录电网上的异常电压模式,从而通知电网内的负载平衡操作。
作为另一示例实现方式,系统可用于使用受信任时间源检测时钟漂移。诸如传感器之类的设备可以连接到诸如驱动传感器本地设备时钟的GPS之类的公共时间源。如果传感器上的GPS受损(被篡改),则(连接到传感器的)TGPIO硬件可以通过(使用ART)将被加时间戳的事件与GPS时钟的受信任本地副本相关来检测这一点。异常时间戳模式可指示GPS篡改传感器,这可指示从传感器获得的任何坐标也不受信任。该系统可以检测发出与公共时间源相关的边缘模式的传感器的任何篡改。
图6是示出根据实施例的用于实现时间感知通用输入输出(TGPIO)系统的架构600的框图。边缘检测器电路系统602可以被设计、编程、调整或以其他方式配置成用于检测输入信号的上升沿或下降沿。边缘检测器电路系统602针对每个时钟周期输出上升沿(R)、下降沿(F)或不变(N)的指示符。设备时钟604用于驱动时间戳计数器606。
由于边缘检测器电路系统602收集边缘状态,并且每个边缘的时间戳存储在时间戳缓冲器612中。模式匹配电路系统608可以被设计、编程、调整或以其他方式配置成用于针对模式分析存储在时间戳缓冲器612中的边缘。搜索模式610可以由软件指定。当检测到边缘中的模式时,相关边缘的时间戳被发送到用户应用或其他软件(例如,操作系统)。时间戳缓冲器612可以实现为循环缓冲器。
在实施例中,搜索模式610是正则表达式的形式。在另一实施例中,搜索模式610是在模式匹配电路系统608处实现的模糊逻辑规则的形式。或者,搜索模式610可以实现为有限状态自动机(FSA)。
当检测到模式时,与从时间戳计数器606获得的模式相对应的时间戳存储在时间戳缓冲器612中的队列中。可以向软件发出模式存在的警报,或者软件可以轮询时间戳缓冲器612以确定哪些模式已被缓冲。
图7是示出根据实施例的信号中的一系列脉冲的图。脉冲包括时间T1处的上升沿、时间T2处的下降沿、时间T3处的上升沿和时间T4处的下降沿。该图包括例示为垂直虚线的时钟节拍。可以观察到,一些不变的时段(高或低信号)具有不同的持续时间。
以正则表达式的形式提供搜索模式。
(RN*FN*RN*F)N*(RN*FN*RN*F)
其中R为上升沿,N为不变状态,而F为下降沿。搜索模式中的括号用于表示感兴趣的时间戳。基于正则表达式,搜索模式是上升沿,然后是零或更多不变状态,然后是下降沿,然后是零或更多不变状态,等等。信号中四个脉冲的任何模式都将匹配此示例正则表达式。基于括号,当模式匹配时,识别并存储时间戳T1、T2、T3和T4。可以在状态上设置更具体的范围,以缩小匹配模式的范围。
正则表达式的其他示例包括:
(RN{4}F)—此模式将匹配:上升沿,然后是四个不变状态的时钟周期,然后是下降沿;
(RN+F)—此模式将匹配:上升沿,然后是一个或多个不变状态,然后是下降沿;以及
(RN{3,6}F)-此模式将匹配:上升沿,然后是三到六个不变状态,然后是下降沿。
可以理解,这些示例是非限制性的,并且可以使用其他正则表达式语法来形成搜索模式。
图8是示出根据实施例的TGPIO滤波过程800的流程图。在802,模式识别电路系统被配置成用于搜索和识别TGPIO事件的一个或多个模式。在804,为输入配置TGPIO引脚。在806,检测通过TGPIO引脚接收的输入信号的上升沿和下降沿。在808,存储边缘类型(例如,上升或下降)和相对应的时间戳。时间戳可以来自ART。在810,在加被时间戳的边缘上运行模式识别。基于搜索模式,可以对所有边缘、仅对上升沿或仅对下降沿执行模式识别。模式识别使用可配置的滑动搜索窗口。滑动窗口可以基于搜索模式的大小、所使用的匹配算法以及用于存储状态的可用存储器。例如,可以派生正则表达式来匹配任意长的字符串。在这种情况下,匹配算法不受字符串大小的限制,而是受存储为了查找匹配而需要保持的状态量所需的存储器的限制。
因此,滑动窗口的大小可以基于模式的大小。例如,如果模式涉及13个周期,则从第一边缘对信号进行13个周期的采样,并且如果找到模式,则通知应用。如果没有,则使用与模式中第一元素匹配的下一边缘,并在随后的13个周期(例如,窗口)中搜索模式。
识别模式,就标识相关时间戳计数器值(操作812),并通知用户应用(操作814)。
图9是根据实施例的用于搜索TGPIO信号中的模式的方法900的流程图。在902,检测输入信号中的上升沿或下降沿。在实施例中,输入信号来自外部设备。
在904,上升沿或下降沿与相应边缘的相对应时间戳一起存储在缓冲器中。
在906,分析缓冲器中的上升沿或下降沿,以标识与搜索模式匹配的边缘模式。
在实施例中,搜索模式由用户应用提供。在实施例中,搜索模式包括正则表达式。在进一步的实施例中,正则表达式包括在接收输入信号时时钟周期期间的上升沿、下降沿以及不变的模式。在实施例中,搜索模式包括模糊逻辑规则。在实施例中,搜索模式包括有限状态自动机。
在908,与边缘模式相对应的时间戳存储在事件队列中,其中事件队列用于通知用户应用输入信号中存在边缘模式。
如上所述,时间戳缓冲器612可用于存储被时间戳的事件。缓冲区可以采用队列的数据结构。当TGPIO硬件填充队列时,软件从队列中读取事件。在一些TGPIO系统中,当用于保存TGPIO事件的队列溢出时,转储清除队列中的任意事件,或者新事件被忽略且不被排队。对于正在等待事件的客户应用来说,这可能有问题。
队列管理引擎用于防止TGPIO事件溢出。队列管理引擎可以以一种高效存储事件的方式压缩事件,使得信息不丢失。
图10是示出根据实施例的时间感知通用输入输出(TGPIO)系统1000的框图。TGPIO系统1000可以包括在PCI夹层卡(PMC)1002上,其被配置成用于通过PCI总线与CPU 1004进行通信。CPU 1004包括作为CPU时钟的TSC 1006。TSC 1006与PMC 1002上的ART 1008同步。TSC 1006用于操作系统级测时。ART 1008同步包括其他PCI连接设备的其他系统设备(例如,网络接口卡)。
TGPIO边缘捕获电路系统1012上的TGPIO引脚1010用于接收由外部设备驱动的输入信号1014。TGPIO边缘捕获电路系统1014可以被设计、编程、调整或以其他方式配置成用于对由连接到TGPIO输入引脚的外部设备生成的信号的上升沿和下降沿(事件)加时间戳。可以理解,在TGPIO硬件中可以使用多个TGPIO引脚1010。可以为每个TGPIO引脚1012实现TGPIO边缘捕获电路系统1010。输入信号可以是周期性的(例如,GPS时钟)或者非周期的(例如,传感器输入)。使用ART时钟1008对输入信号1014的边缘加时间戳,并且向CPU 1004通知TGPIO事件。事件是输入信号1014的上升沿、下降沿或者上升沿或下降沿集合。
TGPIO队列管理器电路系统1016可以被设计、编程、调整或以其他方式配置成用于检测何时可能发生队列溢出并压缩或重组队列。TGPIO队列管理器电路系统1016监测传入事件的速率和事件队列的状态。当即将发生溢出时,TGPIO队列管理器电路系统1016可以利用一个或多个压缩技术,同时确保事件队列中的关键信息被保留。
在最低级别,TGPIO硬件用时间戳捕获上升沿或下降沿。这生成与每个捕获边缘相对应的时间戳流。队列可以使用用户指定的时间戳分组存储来自时间戳流的时间戳组。例如,当出现上升沿和下降沿时,可以将二脉冲模式作为四时间戳分组放入队列中。
通常,TGPIO队列管理器电路系统1016可以实现两种压缩方法之一:组间压缩和组内压缩。
组间压缩是指基于用户定义的队列阈值丢弃整个时间戳组。基于用户提供的规则动态确定要丢弃的时间戳组。规则可以基于用户提供的模糊逻辑或机器学习参数。
组间压缩可基于时间戳组的到达时间。如果两个最新时间戳组的到达时间差小于用户设置的阈值,则可以丢弃最新条目。这强制执行捕获的时间戳组的时间分布。
组间压缩可基于时间戳的差异。如果时间戳分组的第一时间戳与最后时间戳之间的差小于平均值,则可以丢弃时间戳组。例如,在若干先前的时间戳组上,可以建立第时间戳与最后时间戳之间的平均时间增量。如果时间戳组的间隔小于平均值,则可能将其丢弃。
组间压缩可以通过识别异常数据来实现,该异常数据可能是感兴趣的数据。在实现方式中,将组内的时间戳增量输入到经训练的人工智能(AI)中,以识别潜在的异常行为。指示异常行为的时间戳组将排入应用队列,而其他时间戳组被丢弃。此机制提供了捕获数据异常高效方法。
图11是示出根据实施例的管理TGPIO队列的过程1100的流程图。在1102,配置时间戳分组。例如,可以将时间戳分组设置为包括四个时间戳、十个时间戳或一些其他数量的时间戳,这些时间戳一起被视为时间戳组。
在1104,加载压缩规范。压缩规范是规则或机器学习参数的集合,用于确定应丢弃哪些时间戳组。
在1106,监测队列大小以确定元素数量(队列大小)超过阈值。阈值可以是队列的百分比大小(例如,60%满、80%满等)。阈值可以是特定数量,诸如92个元素。阈值可以自适应地基于从队列中添加或移除的条目的速率。例如,增长较慢的队列的阈值(例如,90%满)可能高于增长较快的队列的阈值(例如,75%满)。
在1108,如果队列大小超过阈值,则队列管理器检查事件时间戳并基于压缩规范丢弃一个或多个时间戳组。队列管理器继续监测队列大小。在实施例中,当甚至在丢弃一些时间戳组之后,队列仍然太满时,丢弃额外的时间戳组。在实施例中,首先丢弃最早的时间戳组。
组间压缩策略的一个示例是保留第n个最早的时间戳组的集合。这对于需要保留最早时间戳以计算整个队列的平均时间戳持续时间的应用非常有用。应用指定要保留的最早时间戳的集合大小。如果最早的集合大小为1,则保留最早的时间戳组,并且当队列已满或接近满时,丢弃从第二个位置开始的时间戳。如果最早的集合大小为2,则保留两个最早的组,并丢弃从第三个位置开始的组。用户最多可以指定最早的集合大小n,其中n是可以排队的时间戳组(m)的总数。如果用户将最早的集合大小指定为n=m,则当队列被填满时,丢弃最新的时间戳。
图12显示了保留队列1200中第N个最早条目的策略,其中N=2。因为N=2,所以前两个条目1202被指定为被保留。当队列1200已满并且捕获新的时间戳组时,丢弃第三队列条目1204以为新条目1206腾出空间。这可用于需要计算频率趋势的应用。前两个条目1202可用于计算初始事件率,而后两个条目用于确定最终事件率。
另一个组间压缩示例使用机器学习来预测电机故障。TGPIO硬件对电机位置进行采样,并使用机器学习确定计算的转速是否指示某些异常行为。丢弃指示预期行为的任何事件分组。指示潜在异常行为的其他事件分组将排队等待应用以供进一步处理。
组内压缩是一种基于用户提供的优先级或规则丢弃组内时间戳的方法。当模式中的所有时间戳都不重要时,这种压缩方法很有用。压缩可以用来丢弃一些时间戳。这与丢弃整个时间戳组的组间压缩不同。
图13是示出根据实施例的组内压缩的示意图。队列1300包括四个时间戳组,每个组具有编号为1到16的四个时间戳。组中的四个时间戳与跨越两个脉冲的第一上升沿、第一下降沿、第二上升沿和第二下降沿对齐。
丢弃掩码1302可定义为丢弃中间两个时间戳(第一下降沿和第二上升沿)并保留第一时间戳和第四时间戳。丢弃掩码1302可以这样定义,因为使用时间戳数据的应用可能能够使用第一和最后时间戳进行操作。中间时间戳可能有用,但优先级低于第一和最后时间戳。
队列1300被重新配置成用于重新配置的队列1304,以丢弃中间的两个时间戳,这为另外四个时间戳组提供了额外的队列大小。重新配置的队列1304能够存储具有时间戳(17、20)、(21、24)、(25、28)和(29、32)的时间戳组。注意,中间的两个时间戳在将时间戳组存储在重新配置的队列1304中之前被丢弃。
在将队列1300重新配置成重新配置的队列1304后,TGPIO硬件与软件应用进行通信,以通知应用队列结构已更改。这允许软件在时间戳组出列时正确解释队列内容。
丢弃掩码可以是静态的或动态的。静态丢弃掩码是指定要在组中丢弃的固定时间戳集合的掩码。四时间戳组上的示例静态丢弃掩码指示{保留,丢弃,丢弃,保留},以指示第一和最后时间戳被设计为保留,同时丢弃第二和第三时间戳。其他示例静态丢弃掩码可以是{保留,丢弃,保留,保留},{保留,丢弃,丢弃,丢弃},或者{保留,保留,丢弃,丢弃}。应当领会,可使用许多其它静态丢弃掩码,并且可将其布置成以串联方式应用。例如,第一静态丢弃掩码可用于从六时间戳移动到四时间戳组,然后,如果仍然存在队列压力,则另一静态丢弃掩码可用于从四时间戳组移动到二时间戳组。
动态丢弃掩码是使用动态配置的丢弃掩码定义的掩码。在这类压缩中,通过基于诸如机器学习或模糊逻辑之类的方法动态修改掩码来丢弃组中的时间戳。在此,使用深度学习或模糊逻辑模型分析时间戳,然后配置丢弃掩码。
每个压缩过程可以是静态压缩或动态压缩。例如,队列上的第一压缩可以使用静态丢弃掩码。然后,队列上的第二过程可以使用动态丢弃掩码。
图14是示出根据实施例的用于时间戳队列管理的方法1400的流程图。在初始化时,用户应用提供时间戳组规范和压缩规范。压缩规范可以包括编号为1到C的多遍或多个阶段。基于利用组中的每个时间戳的保留/丢弃规范的掩码,从组中丢弃时间戳。丢弃掩码的编号为1到D。每个压缩过程可能对上次使用的掩码进行更改。当前设置的丢弃掩码应用于所有(过去和未来)捕获的事件分组。
在1402,配置时间戳分组。例如,可以将时间戳分组设置为包括四个时间戳、十个时间戳或一些其他数量的时间戳,这些时间戳一起被视为时间戳组。
在1404,加载压缩规范。压缩规范包括规则或机器学习参数的集合,用于确定应丢弃哪些时间戳组。压缩规范还包括压缩阶段的列表,该列表指定了应用阶段的顺序。每个压缩阶段与丢弃掩码相关联。压缩阶段可以是静态的,也可以是动态的,并且相对应的丢弃掩码可以是静态丢弃掩码,也可以是动态丢弃掩码。
在1406,清除操作丢弃掩码,以便将所有时间戳条目设置为保留。在1408,将压缩阶段索引重置为第一阶段。
在1410,从压缩规范访问与阶段索引相对应的压缩阶段。如果压缩阶段是动态阶段(判定1412),则动态生成丢弃掩码调整(操作1414)。否则,在丢弃掩码列表中查找丢弃掩码调整(操作1415)。丢弃掩码调整将丢弃掩码从“保留所有时间戳”的初始配置更改为不同的掩码配置。如果进行了额外的掩码调整,则对当前掩码进行调整,因为当前掩码已被先前的任何丢弃掩码调整所更改。在1416处,丢弃掩码调整应用于丢弃掩码,从而得到新的可操作丢弃掩码。
在1418,对队列进行监测,以确定队列大小(队列中的条目数)是否超过阈值大小。此监测在循环中重复。可以使用定期轮询队列的轮询系统来监测队列。或者,排队操作可以在向队列添加新的时间戳组时检查队列的大小,并在队列超过阈值大小时发出信号。
如果确定队列超过阈值大小,则将可操作丢弃掩码应用于队列(操作1420)。压缩阶段索引递增,以便下一次通过循环时,下一压缩阶段用于进一步压缩队列(如果可能的话)(操作1421)。
在判定框1422,确定当前压缩阶段索引是否是最后压缩阶段索引。如果是,则循环退出。如果不是,则循环返回到操作1410,其中从压缩规范访问下一压缩阶段。在每遍压缩后,检查队列利用率,以确定是否需要进一步压缩。如果队列利用率超过阈值,则下一遍压缩将应用于掩码。每个压缩过程修改掩码。压缩阶段/过程分为静态或动态。丢弃掩码基于动态或静态方法进一步调整,并应用于进一步压缩队列。
在所有压缩阶段已耗尽之后,就没有更多的压缩可用,循环退出。如果随后确定队列超过大小阈值(判定1424),则可以做的就是移除整个时间戳组(操作1426)。当存在队列压力时,丢弃时间戳组。要移除的时间戳组可以基于在组间压缩中使用的相同规则(例如,与来自其他组的其他间隔相比,组中的时间戳之间的间隔)。在另一个实现方式中,可以首先移除最早的时间戳组。其他策略可用于基于优先级、年龄等移除时间戳组。这将一直持续到队列为空为止(判定1428)。另外,或者可选地,可以在队列上使用组间压缩的方法1100来释放队列压力。一旦清空,可通过重置丢弃掩码(操作1406)和重置压缩阶段索引(操作1408)来完全重置压缩机制。
图15是示出根据实施例的用于时间感知的通用输入/输出信号压缩的方法1500的流程图。
在1502,检测输入信号中的上升沿或下降沿。
在1504,确定上升沿或下降沿的相对应时间戳。
在1506,根据时间戳分组配置,与上升沿或下降沿相对应的时间戳作为时间戳组存储在事件队列中。
在1508,访问压缩规范。
在1510,确定何时事件队列的容量超过阈值。
在1512,事件队列根据压缩规范进行压缩,该事件队列用于通知用户应用。
在实施例中,压缩事件队列包括从队列中丢弃时间戳组。在进一步的实施例中,压缩规范包括组优先级,用于确定从队列中丢弃哪个时间戳组。在进一步的实施例中,组优先级包括要保留在队列头部的N个时间戳组。
在实施例中,压缩事件队列包括从时间戳组中丢弃时间戳。在进一步的实施例中,压缩规范包括丢弃掩码,用于指示从时间戳组丢弃哪个时间戳。在进一步的实施例中,丢弃掩码是静态丢弃掩码。在另一实施例中,丢弃掩码由用户应用提供。
在相关实施例中,丢弃掩码是动态丢弃掩码。在进一步的实施例中,使用机器学习过程在运行时修改动态丢弃掩码。在另一实施例中,使用模糊逻辑过程在运行时修改动态丢弃掩码。
在实施例中,压缩事件队列包括减小时间戳组的大小。
各实施例可以硬件、固件和软件中的一者或其组合实现。各实施例也可被实现为存储在机器可读存储设备上的指令,这些指令可由至少一个处理器读取并执行,以执行本文中所描述的操作。机器可读存储设备可包括用于以可由机器(例如,计算机)读取的形式存储信息的任何非暂态机制。例如,机器可读存储设备可包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪存设备、以及其他存储设备和介质。
如本文中所描述的示例可包括逻辑或者数个组件(诸如模块、知识产权(IP)块或IP核、或机制),或可在逻辑或者数个组件(诸如模块、知识产权(IP)块或IP核、或机制)上进行操作。此类逻辑或组件可以是通信地耦合到一个或多个处理器以实现本文中所描述的操作的硬件、软件或固件。逻辑或组件可以是硬件模块(例如,IP块),并且由此,硬件模块可被认为是能够执行指定操作的有形实体且可按某种方式来配置或布置。在示例中,能以指定方式(例如,在内部或者相对于诸如其他电路之类的外部实体)将电路布置为IP块、IP核、芯片上系统(SoC)等。
在示例中,一个或多个计算机系统(例如,独立的客户端或服务器计算机系统)或一个或多个硬件处理器的全部或部分可由固件或软件(例如,指令、应用部分、或者应用)配置为操作用于执行指定的操作的模块。在示例中,软件可驻留在机器可读介质上。在示例中,软件在由模块的底层硬件执行时,使得该硬件执行指定的操作。因此,术语硬件模块被理解为涵盖有形实体,该有形实体是被物理地构造、具体地配置(例如,硬连线)、或者临时地(例如,暂态地)配置(例如,编程)为以指定的方式操作或者执行本文中所描述的任何操作的部分或全部的实体。
考虑到其中临时配置模块的示例,这些模块中的每一个不需要在任何一个时刻进行实例化。例如,在模块包括使用软件而配置的通用硬件处理器的情况下,该通用硬件处理器可以在不同时间被配置为相应的不同模块。软件可相应地配置硬件处理器,例如以便在一个时间实例处构造特定的模块,并且在不同的时间实例处构造不同的模块。模块也可以各是软件或固件模块,这些模块操作以执行本文中所描述的方法。
IP块(也称为IP核)是逻辑、蜂窝小区或集成电路的可重用单元。IP块可以用作现场可编程门阵列(FPGA)、专用集成电路(ASIC)、可编程逻辑器件(PLD)、芯片上系统(SoC)等的一部分。它可以被配置成用于特定目的,诸如数字信号处理或图像处理。示例IP核包括中央处理单元(CPU)核、集成图形、安全、输入/输出(I/O)控制、系统代理、图形处理单元(GPU)、人工智能、神经处理器、图像处理单元、通信接口、存储器控制器、外围设备控制、平台控制器中枢等。
图16是图示出根据示例实施例的以计算机系统1600的示例形式的机器的框图,在该机器内可执行指令集合或指令序列以使该机器执行本文中所讨论的方法中的任何一种。在替代实施例中,该机器作为独立设备进行操作,或可被连接(例如,联网)到其他机器。在联网的部署中,该机器可在服务器-客户端网络环境中作为服务器或客户端机器来进行操作,或者其可在对等(或分布式)网络环境中充当对等机。该机器可以是交通工具机载系统、机顶盒、可穿戴设备、个人计算机(PC)、平板PC、混合平板、个人数字助理(PDA)、移动电话、或能够执行指定将由该机器采取的动作的指令(顺序的或以其他方式)的任何机器。进一步地,虽然仅图示出单个机器,但是,术语“机器”也应当被认为包括单独地或联合地执行一组(或多组)指令以执行本文中所讨论的方法中的任何一种或多种方法的机器的任何集合。类似地,术语“基于处理器的系统”应当认为包括由处理器(例如,计算机)控制或操作以单独地或联合地执行指令来执行本文中所讨论的方法中的任何一种或多种方法的一个或多个机器的任何集合。
示例计算机系统1600包括至少一个处理器1602(例如,中央处理单元(CPU)、图形处理单元(GPU)或该二者、处理器核、计算节点等)、主存储器1604和静态存储器1606,这些组件经由链路1608(例如,总线)彼此通信。计算机系统1600可进一步包括视频显示单元1610、字母数字输入设备1612(例如,键盘)、以及用户界面(UI)导航设备1614(例如,鼠标)。在一个实施例中,视频显示单元1610、输入设备1612和UI导航设备1614被并入到触屏显示器中。计算机系统1600可附加地包括存储设备1616(例如,驱动单元)、信号生成设备1618(例如,扬声器)、网络接口设备1620、以及一个或多个传感器(未示出),该传感器诸如全球定位系统(GPS)传感器、罗盘、加速度计或其他传感器。
存储设备1616包括机器可读介质1622,在该机器可读介质1622上存储有一组或多组数据结构和指令1624(例如,软件),这些数据结构和指令1624具体化本文中所描述的方法或功能中的任何一者或多者,或者由本文中所描述的方法或功能中的任何一者或多者利用。在由计算机系统1600执行指令1624期间,这些指令1624也可完全地或至少部分地驻留在主存储器1604、静态存储器1606内,和/或驻留在处理器1602内,其中,主存储器1604、静态存储器1606和处理器1602也构成机器可读介质。
虽然机器可读介质1622在示例实施例中被图示为单个介质,但术语“机器可读介质”可包括存储一个或多个指令1624的单个介质或多个介质(例如,集中式或分布式数据库和/或相关联的高速缓存和服务器)。术语“机器可读介质”也应当被认为包括任何有形介质,该有形介质能够存储、编码或携带供由机器执行并且使机器执行本公开的方法中的任何一种或多种方法的指令,或者该有形介质能够存储、编码或携带由此类指令利用或与此类指令相关联的数据结构。术语“机器可读介质”应当相应地被认为包括但不限于固态存储器以及光和磁介质。机器可读介质的特定示例包括非易失性存储器,作为示例,包括但不限于:半导体存储器设备(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)和闪存设备);诸如内部硬盘及可移除盘之类的磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。
可使用传输介质,经由网络接口设备1620,利用数个公知的传输协议中的任何一种协议(例如,HTTP),进一步在通信网络1626上传送或接收指令1624。通信网络的示例包括:局域网(LAN)、广域网(WAN)、因特网、移动电话网络、普通老式电话(POTS)网络及无线数据网络(例如,Wi-Fi、3G及4G LTE/LTE-A或WiMAX网络)。术语“传输介质”应当被认为包括能够存储、编码或携带由机器执行的指令的任何无形的介质,并且包括用于促进此类软件的通信的数字或模拟通信信号或者其他无形的介质。
附加注释和示例:
示例1是一种用于搜索模式的时间感知通用输入/输出信号的系统,包括:边缘检测器电路系统,用于:检测输入信号中的上升沿或下降沿;以及将上升沿或下降沿连同相应边缘的相对应时间戳一起存储在缓冲器中;以及模式匹配电路系统,用于:分析缓冲器中的上升沿或下降沿,以标识与搜索模式匹配的边缘模式;以及将与边缘模式相对应的时间戳存储在事件队列中,事件队列用于通知用户应用输入信号中存在边缘模式。
在示例2中,示例1的主题包括,其中输入信号来自外部设备。
在示例3中,示例1-2的主题包括,其中搜索模式由用户应用提供。
在示例4中,示例1-3的主题包括,其中搜索模式包括正则表达式。
在示例5中,示例4的主题包括,其中正则表达式包括在接收输入信号时时钟周期期间的上升沿、下降沿以及不变的模式。
在示例6中,示例1-5的主题包括,其中搜索模式包括模糊逻辑规则。
在示例7中,示例1-6的主题包括,其中搜索模式包括有限状态自动机。
示例8是一种用于搜索模式的时间感知通用输入/输出信号的方法,包括:检测输入信号中的上升沿或下降沿;将上升沿或下降沿连同相应边缘的相对应时间戳一起存储在缓冲器中;分析缓冲器中的上升沿或下降沿,以标识与搜索模式匹配的边缘模式;以及将与边缘模式相对应的时间戳存储在事件队列中,事件队列用于通知用户应用输入信号中存在边缘模式。
在示例9中,示例8的主题包括,其中输入信号来自外部设备。
在示例10中,示例8-9的主题包括,其中搜索模式由用户应用提供。
在示例11中,示例8-10的主题包括,其中搜索模式包括正则表达式。
在示例12中,示例11的主题包括,其中正则表达式包括在接收输入信号时时钟周期期间的上升沿、下降沿以及不变的模式。
在示例13中,示例8-12的主题包括,其中搜索模式包括模糊逻辑规则。
在示例14中,示例8-13的主题包括,其中搜索模式包括有限状态自动机。
示例15是一种边缘计算系统,包括多个边缘计算节点,该多个边缘计算节点被配置有示例8至14或示例86至97的任一项的生物计量安全方法。
示例16是一种边缘计算节点,能在边缘计算系统中操作,该边缘计算节点包括被配置成用于实现示例8至14或示例86至97的方法中的任一方法的处理电路系统。
示例17是一种边缘计算节点,能作为服务器在边缘计算系统中操作,该边缘计算节点被配置成用于执行示例8至14或示例86至97的方法中的任一方法。
示例18是一种边缘计算节点,能作为客户端在边缘计算系统中操作,该边缘计算节点被配置成用于执行示例8至14或示例86至97的方法中的任一方法。
示例19是一种边缘计算节点,能在边缘计算网络的层中作为聚合节点、网络中枢节点、网关节点或核心数据处理节点来操作,该边缘计算节点被配置成用于执行示例8至14或示例86至97的方法中的任一方法。
示例20是一种边缘计算网络,包括联网组件和处理组件,这些组件被配置成用于提供或操作通信网络,以启用边缘计算系统,从而实现示例8至14或示例86至97的方法中的任一方法。
示例21是一种接入点,包括联网组件和处理组件,这些组件被配置成用于提供或操作通信网络,以启用边缘计算系统,从而实现示例8至14或示例86至97的方法中的任一方法。
示例22是一种基站,包括联网组件和处理组件,这些组件被配置成用于提供或操作通信网络,以启用边缘计算系统,从而实现示例8至14或示例86至97的方法中的任一方法。
示例23是一种路边单元,包括联网组件,该联网组件被配置成用于提供或操作通信网络,以启用边缘计算系统,从而实现示例8至14或示例86至97的方法中的任一方法。
示例24是一种内部服务器,能在不同于公共边缘计算网络的私有通信网络中操作,该服务器被配置成用于启用边缘计算系统,以实现示例8至14或示例86至97的方法中的任一方法。
示例25是一种3GPP 4G/LTE移动无线通信系统,包括联网组件和处理组件,该联网组件和处理组件被配置有示例8至14或示例86至97的任一项的生物计量安全方法。
示例26是一种5G网络移动无线通信系统,包括联网组件和处理组件,该联网组件和处理组件被配置有示例8至14或示例86至97的任一项的生物计量安全方法。
示例27是一种用户装备设备,包括联网电路系统和处理电路系统,该联网电路系统和处理电路系统被配置成与边缘计算系统连接,该边缘计算系统被配置成用于实现示例8至14或示例86至97的方法中的任一方法。
示例28是一种客户端计算设备,包括处理电路系统,该处理电路系统被配置成用于协调与边缘计算系统的计算操作,该边缘计算系统被配置成用于实现示例8至14或示例86至97的方法中的任一方法。
示例29是一种边缘供应节点,能在边缘计算系统中操作,该边缘供应节点被配置成用于实现示例8至14或示例86至97的方法中的任一方法。
示例30是一种服务编排节点,能在边缘计算系统中操作,该服务编排节点被配置成用于实现示例8至14或示例86至97的方法中的任一方法。
示例31是一种应用编排节点,能在边缘计算系统中操作,该应用编排节点被配置成用于实现示例8至14或示例86至97的方法中的任一方法。
示例32是一种多租户管理节点,能在边缘计算系统中操作,该多租户管理节点被配置成用于实现示例8至14或示例86至97的方法中的任一方法。
示例33是一种边缘计算系统,包括处理电路系统,该边缘计算系统被配置成用于操作一个或多个功能和服务以实现示例8至14或示例86至97的方法中的任一方法。
示例34是一种联网硬件,具有实现于其上的网络功能,该联网硬件能在边缘计算系统内操作,该边缘计算系统被配置有实现示例8至14或示例86至97的任一项的生物计量安全方法。
示例35是一种加速硬件,具有实现于其上的加速功能,该加速硬件能在边缘计算系统中操作,该加速功能被配置成用于实现示例8至14或示例86至97的方法中的任一方法。
示例36是一种存储硬件,具有实现于其上的存储功能,该存储硬件能在边缘计算系统中操作,该存储硬件被配置成用于实现示例8至14或示例86至97的方法中的任一方法。
示例37是一种计算硬件,具有实现于其上的计算功能,该计算硬件能在边缘计算系统中操作,该计算硬件被配置成用于实现示例8至14或示例86至97的方法中的任一方法。
示例38是一种边缘计算系统,适于支持交通工具对交通工具(V2V)、交通工具对外界(V2X)或交通工具对基础设施(V2I)场景,该边缘计算系统被配置成用于实现示例8至14或示例86至97的方法中的任一方法。
示例39是一种边缘计算系统,适于根据一种或多种欧洲电信标准协会(ETSI)多接入边缘计算(MEC)规范来进行操作,该边缘计算系统被配置成用于实现示例8至14或示例86至97的方法中的任一方法。
示例40是一种边缘计算系统,适于操作一个或多个多接入边缘计算(MEC)组件,该MEC组件根据欧洲电信标准协会(ETSI)多接入边缘计算(MEC)配置从以下各项中的一项或多项被提供:MEC代理、MEC应用编排器、MEC应用、MEC平台或MEC服务,该MEC组件被配置成用于实现示例8至14或示例86至97的方法中的任一方法。
示例41是一种边缘计算系统,被配置为边缘网格,该边缘计算系统被提供有微服务集群、具有边车的微服务集群、或具有边车的链接的微服务集群,该边缘计算系统被配置成用于实现示例8至14或示例86至97的方法中的任一方法。
示例42是一种边缘计算系统,包括被配置成用于实现在专用硬件、虚拟机、容器、容器上的虚拟机之间提供的一个或多个隔离环境,该边缘计算系统被配置成用于实现示例8至14或示例86至97的方法中的任一方法。
示例43是一种边缘计算服务器,被配置成用于作为企业服务器、路边服务器、街道机柜服务器或电信服务器来操作,该边缘计算服务器被配置成用于实现示例8至14或示例86至97的方法中的任一方法。
示例44是一种边缘计算环境,被配置成利用从以下各项中的一项或多项提供的用例来实现示例8至14或示例86至97的方法中的任一方法:计算迁移、数据高速缓存、视频处理、网络功能虚拟化、无线电接入网络管理、增强现实、虚拟现实、自主驾驶、交通工具辅助、交通工具通信、工业自动化、零售服务、制造操作、智慧建筑、能源管理、物联网操作、对象检测、语音识别、医疗保健应用、游戏应用或加速的内容处理。
示例45是一种边缘计算系统,包括由多个所有者在不同的地理位置处操作的计算节点,该边缘计算系统被配置成用于实现示例8至14或示例86至97的方法中的任一方法。
示例46是一种云计算系统,包括操作相应的云服务的数据服务器,该相应的云服务被配置成用于与边缘计算系统协调,以用于实现示例8至14或示例86至97的方法中的任一方法。
示例47是一种服务器,包括用于操作微云、微边缘或微应用服务的硬件,该服务被配置成与边缘计算系统协调,以实现示例8至14或示例86至97的方法中的任一方法。
示例48是一种边缘计算系统中的边缘节点,包括具有至少一个处理器和存储器的一个或多个设备,以实现示例8至14或示例86至97的方法中的任一方法。
示例49是一种边缘计算环境中的边缘节点,该边缘节点操作从以下各项之间提供的一个或多个服务:管理控制台服务、遥测服务、供应服务、应用或服务编排服务、虚拟机服务、容器服务、功能部署服务或计算部署服务或者加速管理服务,该一个或多个服务被配置成用于实现示例8至14或示例86至97的方法中的任一方法。
示例50是一组分布式边缘节点,分布在边缘计算系统的网络层之间,该网络层包括靠近边缘、本地边缘、企业边缘、内部边缘、接近边缘、中间边缘或远边缘网络层,该一组分布式边缘节点被配置成用于实现示例8至14或示例86至97的方法中的任一方法。
示例51是一种边缘计算系统的装置,包括:一个或多个处理器、以及包括指令的一个或多个计算机可读介质,该指令在由一个或多个处理器执行时使得一个或多个处理器执行示例8至14或示例86至97的方法中的任一方法。
示例52是一种或多种计算机可读存储介质,包括指令,该指令用于在指令由边缘计算系统的电子设备的一个或多个处理器执行时使得电子设备执行示例8至14或示例86至97的方法中的任一方法。
示例53是一种在边缘计算系统中传输的通信信号,该通信信号用于执行示例8至14或示例86至97的方法中的任一方法。
示例54是一种在边缘计算系统中传输的数据结构,该数据结构包括数据报、分组、帧、片段、协议数据单元(PDU)或消息,该数据结构用于执行示例8至14或示例86至97的方法中的任一方法。
示例55是一种在边缘计算系统中传输的信号,该信号被编码有数据报、分组、帧、片段、协议数据单元(PDU)、消息或数据,该信号用于执行如示例8至14或示例86至97的方法中的任一方法。
示例56是一种在边缘计算系统中传输的电磁信号,该电磁信号携载计算机可读指令,其中,该计算机可读指令由一个或多个处理器的执行使得该一个或多个处理器执行示例8至14或示例86至97的方法中的任一方法。
示例57是一种用于边缘计算系统中的计算机程序,该计算机程序包括指令,其中,程序由边缘计算系统中的处理元件的执行用于使得处理元件执行示例8至14或示例86至97的方法中的任一方法。
示例58是一种边缘计算系统的设备,包括用于执行示例8至14或示例86至97的方法中的任一方法的装置。
示例59是一种边缘计算系统的设备,该边缘计算系统包括用于执行示例8至14或示例86至97的方法中的任一方法的逻辑、模块或电路系统。
示例60是至少一种机器可读介质,包括用于搜索模式的时间感知通用输入/输出信号的指令,该指令在被机器执行时,使得机器执行操作,操作包括:检测输入信号中的上升沿或下降沿;将上升沿或下降沿连同相应边缘的相对应时间戳一起存储在缓冲器中;分析缓冲器中的上升沿或下降沿,以标识与搜索模式匹配的边缘模式;以及将与边缘模式相对应的时间戳存储在事件队列中,事件队列用于通知用户应用输入信号中存在边缘模式。
在示例61中,示例60的主题包括,其中输入信号来自外部设备。
在示例62中,示例60-61的主题包括,其中搜索模式由用户应用提供。
在示例63中,示例60-62的主题包括,其中搜索模式包括正则表达式。
在示例64中,示例63的主题包括,其中正则表达式包括在接收输入信号时时钟周期期间的上升沿、下降沿以及不变的模式。
在示例65中,示例60-64的主题包括,其中搜索模式包括模糊逻辑规则。
在示例66中,示例60-65的主题包括,其中搜索模式包括有限状态自动机。
示例67是一种用于搜索模式的时间感知通用输入/输出信号的设备,包括:用于检测输入信号中的上升沿或下降沿的装置;用于将上升沿或下降沿连同相应边缘的相对应时间戳一起存储在缓冲器中的装置;用于分析缓冲器中的上升沿或下降沿的装置,以标识与搜索模式匹配的边缘模式;以及用于将与边缘模式相对应的时间戳存储在事件队列中的装置,事件队列用于通知用户应用输入信号中存在边缘模式。
在示例68中,示例67的主题包括,其中输入信号来自外部设备。
在示例69中,示例67-68的主题包括,其中搜索模式由用户应用提供。
在示例70中,示例67-69的主题包括,其中搜索模式包括正则表达式。
在示例71中,示例70的主题包括,其中正则表达式包括在接收输入信号时时钟周期期间的上升沿、下降沿以及不变的模式。
在示例72中,示例67-71的主题包括,其中搜索模式包括模糊逻辑规则。
在示例73中,示例67-72的主题包括,其中搜索模式包括有限状态自动机。
示例74是一种用于时间感知的通用输入/输出信号压缩的系统,包括:边缘检测器电路系统,用于:检测输入信号中的上升沿或下降沿;以及确定上升沿或下降沿的相对应时间戳;根据时间戳分组配置,将与上升沿或下降沿相对应的时间戳作为时间戳组存储在事件队列中;以及队列管理器电路系统,用于:访问压缩规范;确定事件队列的容量何时超过阈值;以及根据压缩规范压缩事件队列,该事件队列用于通知用户应用。
在示例75中,示例74的主题包括,其中为了压缩队列,队列管理器电路系统用于从队列中丢弃时间戳组。
在示例76中,示例75的主题包括,其中压缩规范包括用于确定从队列中丢弃哪个时间戳组的组优先级。
在示例77中,示例76的主题包括,其中组优先级包括要保留在队列头部的N个时间戳组。
在示例78中,示例74-77的主题包括,其中为了压缩队列,队列管理器电路系统用于从时间戳组中丢弃时间戳。
在示例79中,示例78的主题包括,其中压缩规范包括丢弃掩码,用于指示从时间戳组丢弃哪个时间戳。
在示例80中,示例79的主题包括,其中丢弃掩码是静态丢弃掩码。
在示例81中,示例79-80的主题包括,其中丢弃掩码由用户应用提供。
示例82中,示例79-81的主题包括,其中丢弃掩码是动态丢弃掩码。
示例83中,示例82的主题包括,其中使用机器学习过程在运行时修改动态丢弃掩码。
示例84中,示例82-83的主题包括,其中使用模糊逻辑过程在运行时修改动态丢弃掩码。
在示例85中,示例74-84的主题包括,其中为了压缩队列,队列管理器电路系统用于减小时间戳组的大小。
示例86是一种用于时间感知的通用输入/输出信号压缩的方法,包括检测输入信号中的上升沿或下降沿;确定上升沿或下降沿的相对应时间戳;根据时间戳分组配置,将与上升沿或下降沿相对应的时间戳作为时间戳组存储在事件队列中;访问压缩规范;确定事件队列的容量何时超过阈值;以及根据压缩规范压缩事件队列,该事件队列用于通知用户应用。
在示例87中,示例86的主题包括,其中压缩事件队列包括从队列中丢弃时间戳组。
在示例88中,示例87的主题包括,其中压缩规范包括用于确定从队列中丢弃哪个时间戳组的组优先级。
在示例89中,示例88的主题包括,其中组优先级包括要保留在队列头部的N个时间戳组。
在示例90中,示例86-89的主题包括,其中压缩事件队列包括从时间戳组中丢弃时间戳。
在示例91中,示例90的主题包括,其中压缩规范包括丢弃掩码,用于指示从时间戳组丢弃哪个时间戳。
在示例92中,示例91的主题包括,其中丢弃掩码是静态丢弃掩码。
在示例93中,示例91-92的主题包括,其中丢弃掩码由用户应用提供。
示例94中,示例91-93的主题包括,其中丢弃掩码是动态丢弃掩码。
示例95中,示例94的主题包括,其中使用机器学习过程在运行时修改动态丢弃掩码。
示例96中,示例94-95的主题包括,其中使用模糊逻辑过程在运行时修改动态丢弃掩码。
在示例97中,示例86-96的主题包括,其中压缩事件队列包括减小时间戳组的大小。
示例98是至少一种包括用于时间感知的通用输入/输出信号压缩的指令的机器可读介质,该指令在被机器执行时,使得机器用于:检测输入信号中的上升沿或下降沿;确定上升沿或下降沿的相对应时间戳;根据时间戳分组配置,将与上升沿或下降沿相对应的时间戳作为时间戳组存储在事件队列中;访问压缩规范;确定事件队列的容量何时超过阈值;以及根据压缩规范压缩事件队列,该事件队列用于通知用户应用。
在示例99中,示例98的主题包括,其中压缩事件队列包括从队列中丢弃时间戳组。
在示例100中,示例99的主题包括,其中压缩规范包括用于确定从队列中丢弃哪个时间戳组的组优先级。
在示例101中,示例100的主题包括,其中组优先级包括要保留在队列头部的N个时间戳组。
在示例102中,示例98-101的主题包括,其中压缩事件队列包括从时间戳组中丢弃时间戳。
在示例103中,示例102的主题包括,其中压缩规范包括丢弃掩码,用于指示从时间戳组丢弃哪个时间戳。
在示例104中,示例103的主题包括,其中丢弃掩码是静态丢弃掩码。
在示例105中,示例103-104的主题包括,其中丢弃掩码由用户应用提供。
示例106中,示例103-105的主题包括,其中丢弃掩码是动态丢弃掩码。
示例107中,示例106的主题包括,其中使用机器学习过程在运行时修改动态丢弃掩码。
示例108中,示例106-107的主题包括,其中使用模糊逻辑过程在运行时修改动态丢弃掩码。
在示例109中,示例98-108的主题包括,其中压缩事件队列包括减小时间戳组的大小。
示例110是一种用于时间感知的通用输入/输出信号压缩的设备,包括:用于检测输入信号中的上升沿或下降沿的装置;用于确定上升沿或下降沿的相对应时间戳的装置;用于根据时间戳分组配置,将与上升沿或下降沿相对应的时间戳作为时间戳组存储在事件队列中的装置;用于访问压缩规范的装置;用于确定事件队列的容量何时超过阈值的装置;以及用于根据压缩规范压缩事件队列的装置,该事件队列用于通知用户应用。
在示例111中,示例110的主题包括,其中用于压缩事件队列的装置包括用于从队列中丢弃时间戳组的装置。
在示例112中,示例111的主题包括,其中压缩规范包括用于确定从队列中丢弃哪个时间戳组的组优先级。
在示例113中,示例112的主题包括,其中组优先级包括要保留在队列头部的N个时间戳组。
在示例114中,示例110-113的主题包括,其中用于压缩事件队列的装置包括用于从时间戳组中丢弃时间戳的装置。
在示例115中,示例114的主题包括,其中压缩规范包括丢弃掩码,用于指示从时间戳组中丢弃哪个时间戳。
在示例116中,示例115的主题包括,其中丢弃掩码是静态丢弃掩码。
在示例117中,示例115-116的主题包括,其中丢弃掩码由用户应用提供。
示例118中,示例115-117的主题包括,其中丢弃掩码是动态丢弃掩码。
示例119中,示例118的主题包括,其中使用机器学习过程在运行时修改动态丢弃掩码。
示例120中,示例118-119的主题包括,其中使用模糊逻辑过程在运行时修改动态丢弃掩码。
在示例121中,示例110-120的主题包括,其中用于压缩事件队列的装置包括用于减小时间戳组的大小的装置。
示例122是包括指令的至少一种机器可读介质,该指令在被处理电路系统执行时,使得该处理电路系统执行操作以实现示例1-121中的任一项。
示例123是一种设备,包括用于实现示例1-121中的任一项的装置。
示例124是一种用于实现示例1-121中的任一项的系统。
示例125是一种用于实现示例1-121中的任一项的方法。
以上具体实施方式包括对附图的引用,附图形成具体实施方式的部分。附图通过图示方式示出可被实施的具体实施例。这些实施例在本文中也被称为“示例”。此类示例可包括除所示出或所描述的那些要素以外的要素。然而,还构想了包括所示出或所描述的要素的示例。而且,还构想了使用所示出或所描述的那些要素(或其一个或多个方面)的任何组合或排列的示例,或参照本文中所示出或所描述的特定示例(或其一个或多个方面),或参考本文中所示出或所描述的其他示例(或其一个或多个方面)。
在此文档中引用的出版物、专利和专利文档通过引用被整体结合在本文中,就好像通过引用单独地被结合那样。在本文档与通过引用结合的那些文档之间不一致的用法的情况下,所结合的(多个)引用文档中的用法是对此文档的用法的补充;对于不可调和的不一致性,此文档中的用法占主导。
在此文档中,如在专利文档中常见的那样,使用术语“一(a或an)”以包括一个或多于一个,这独立于“至少一个”或“一个或多个”的任何其他实例或用法。在此文档中,除非另外指示,否则使用术语“或”来指非排他性的或,使得“A或B”包括“A但非B”、“B但非A”、以及“A和B”。在所附权利要求书中,术语“包括(including)”和“其中(in which)”被用作相应的术语“包含(comprising)”和“其特征在于(wherein)”的普通英语等价词。此外,在所附权利要求书中,术语“包括(including)”和“包含(comprising)”是开放式的,也就是说,在权利要求中包括除此类术语之后列举的那些要素之外的要素的系统、设备、制品或过程仍被视为落在那项权利要求的范围内。此外,在所附权利要求中,术语“第一”、“第二”、以及“第三”等仅用作标记,并且不旨在表明它们的对象的数值顺序。
以上描述旨在是说明性而非限制性的。例如,可结合其他示例来使用以上所描述的示例(或者其一个或多个方面)。诸如可由本领域普通技术人员在仔细阅读以上描述之后使用其他实施例。摘要允许读者快速地确定本技术公开的性质。提交该摘要,并且理解该摘要将不用于解释或限制权利要求书的范围或含义。而且,在以上具体实施方式中,各种特征可分组在一起以使本公开精简。然而,权利要求可以不陈述本文中所公开的每一特征,因为实施例可以表征所述特征的子集。进一步地,实施例可包括比特定示例中所公开的那些特征更少的特征。因此,所附权利要求书由此被并入具体实施方式中,其中一项权利要求独立成为单独实施例。本文中所公开的实施例的范围应当参照所附权利要求书连同此类权利要求所赋予权利的等价方案的完整范围来确定。

Claims (25)

1.一种用于搜索模式的时间感知通用输入/输出信号的系统,包括:
边缘检测器电路系统,用于:
检测输入信号中的上升沿或下降沿;以及
将所述上升沿或下降沿连同相应边缘的相对应时间戳一起存储在缓冲器中;以及
模式匹配电路系统,用于:
分析所述缓冲器中的所述上升沿或下降沿,以标识与搜索模式匹配的边缘模式;以及
将与所述边缘模式相对应的时间戳存储在事件队列中,所述事件队列用于通知用户应用所述输入信号中存在所述边缘模式。
2.如权利要求1所述的系统,其特征在于,所述输入信号来自外部设备。
3.如权利要求1-2中任一项所述的系统,其特征在于,所述搜索模式由所述用户应用提供。
4.如权利要求1-2中任一项所述的系统,其特征在于,所述搜索模式包括正则表达式。
5.如权利要求4所述的系统,其特征在于,所述正则表达式包括在接收所述输入信号时时钟周期期间的上升沿、下降沿以及不变的模式。
6.如权利要求1-2中任一项所述的系统,其特征在于,所述搜索模式包括模糊逻辑规则。
7.如权利要求1-2中任一项所述的系统,其特征在于,所述搜索模式包括有限状态自动机。
8.一种用于搜索模式的时间感知通用输入/输出信号的方法,包括:
检测输入信号中的上升沿或下降沿;
将所述上升沿或下降沿连同相应边缘的相对应时间戳一起存储在缓冲器中;
分析所述缓冲器中的所述上升沿或下降沿,以标识与搜索模式匹配的边缘模式;以及
将与所述边缘模式相对应的时间戳存储在事件队列中,所述事件队列用于通知用户应用所述输入信号中存在所述边缘模式。
9.如权利要求8所述的方法,其特征在于,所述输入信号来自外部设备。
10.如权利要求8-9中任一项所述的方法,其特征在于,所述搜索模式由所述用户应用提供。
11.如权利要求8-9中任一项的方法,其特征在于,所述搜索模式包括正则表达式。
12.如权利要求11所述的方法,其特征在于,所述正则表达式包括在接收所述输入信号时时钟周期期间的上升沿、下降沿以及不变的模式。
13.如权利要求8-9中任一项所述的方法,其特征在于,所述搜索模式包括模糊逻辑规则。
14.如权利要求8-9中任一项所述的方法,其特征在于,所述搜索模式包括有限状态自动机。
15.至少一种机器可读介质,包括用于搜索模式的时间感知通用输入/输出信号的指令,所述指令在被机器执行时,使得所述机器执行操作,所述操作包括:
检测输入信号中的上升沿或下降沿;
将所述上升沿或下降沿连同相应边缘的相对应时间戳一起存储在缓冲器中;
分析所述缓冲器中的所述上升沿或下降沿,以标识与搜索模式匹配的边缘模式;以及
将与所述边缘模式相对应的时间戳存储在事件队列中,所述事件队列用于通知用户应用所述输入信号中存在所述边缘模式。
16.一种用于搜索模式的时间感知通用输入/输出信号的设备,包括:
用于检测输入信号中的上升沿或下降沿的装置;
用于将所述上升沿或下降沿连同相应边缘的相对应时间戳一起存储在缓冲器中的装置;
用于分析所述缓冲器中的所述上升沿或下降沿以标识与搜索模式匹配的边缘模式的装置;以及
用于将与所述边缘模式相对应的时间戳存储在事件队列中的装置,所述事件队列用于通知用户应用所述输入信号中存在所述边缘模式。
17.一种用于时间感知通用输入/输出信号压缩的系统,包括:
边缘检测器电路系统,用于:
检测输入信号中的上升沿或下降沿;以及
确定所述上升沿或下降沿的相对应时间戳;
根据时间戳分组配置,将与上升沿或下降沿相对应的时间戳作为时间戳组存储在事件队列中;以及
队列管理器电路系统,用于:
访问压缩规范;
确定所述事件队列的容量何时超过阈值;以及
根据压缩规范压缩所述事件队列,所述事件队列用于通知用户应用。
18.如权利要求17所述的系统,其特征在于,为了压缩所述队列,所述队列管理器电路系统用于从队列中丢弃时间戳组。
19.如权利要求18所述的系统,其特征在于,所述压缩规范包括组优先级,用于确定从所述队列中丢弃哪个时间戳组。
20.如权利要求19所述的系统,其特征在于,所述组优先级包括要保留在所述队列头部的N个时间戳组。
21.如权利要求17所述的系统,其特征在于,为了压缩所述队列,所述队列管理器电路系统用于从时间戳组中丢弃时间戳。
22.如权利要求21所述的系统,其特征在于,所述压缩规范包括丢弃掩码,用于指示从时间戳组丢弃哪个时间戳。
23.如权利要求22所述的系统,其特征在于,所述丢弃掩码是动态丢弃掩码。
24.如权利要求23所述的系统,其特征在于,使用机器学习过程在运行时修改所述动态丢弃掩码。
25.如权利要求23所述的系统,其特征在于,使用模糊逻辑过程在运行时修改所述动态丢弃掩码。
CN202111395212.0A 2020-12-23 2021-11-23 用于工业控制系统的时间感知通用输入输出 Pending CN114661456A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/133,293 US20210117418A1 (en) 2020-12-23 2020-12-23 Time-aware general-purpose input output for industrial control systems
US17/133,293 2020-12-23

Publications (1)

Publication Number Publication Date
CN114661456A true CN114661456A (zh) 2022-06-24

Family

ID=75492002

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111395212.0A Pending CN114661456A (zh) 2020-12-23 2021-11-23 用于工业控制系统的时间感知通用输入输出

Country Status (3)

Country Link
US (1) US20210117418A1 (zh)
CN (1) CN114661456A (zh)
DE (1) DE102021213195A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116405393A (zh) * 2023-06-09 2023-07-07 广东致盛技术有限公司 一种用于数据孪生的边缘智能网关优化方法及装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11770377B1 (en) * 2020-06-29 2023-09-26 Cyral Inc. Non-in line data monitoring and security services
CN113810878B (zh) * 2021-08-31 2023-04-25 南京信息工程大学 一种基于车联网任务卸载决策的宏基站放置方法
CN113970910B (zh) * 2021-09-30 2024-03-19 中国电子技术标准化研究院 一种数字孪生装备构建方法和系统
CN113986787B (zh) * 2021-10-09 2023-06-30 河南源网荷储电气研究院有限公司 一种多cpu通信数据检测方法及系统
US20220116132A1 (en) * 2021-12-22 2022-04-14 Kishore Kasichainula Synchronizing a real-time clock and a network clock

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4244231B2 (ja) * 2006-06-23 2009-03-25 富士通テン株式会社 信号処理装置
US20170039480A1 (en) * 2015-08-06 2017-02-09 Microsoft Technology Licensing, Llc Workout Pattern Detection
CN108885632B (zh) * 2016-03-23 2022-10-28 江森自控泰科知识产权控股有限责任公司 用于实时数据流编程的高效状态机
US10924591B2 (en) * 2018-06-21 2021-02-16 Intel Corporation Low-latency link compression schemes

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116405393A (zh) * 2023-06-09 2023-07-07 广东致盛技术有限公司 一种用于数据孪生的边缘智能网关优化方法及装置
CN116405393B (zh) * 2023-06-09 2023-09-22 广东致盛技术有限公司 一种用于数据孪生的边缘智能网关优化方法及装置

Also Published As

Publication number Publication date
US20210117418A1 (en) 2021-04-22
DE102021213195A1 (de) 2022-06-23

Similar Documents

Publication Publication Date Title
US11375250B2 (en) Dynamic load balancing for video analytics pipelines
US20210117418A1 (en) Time-aware general-purpose input output for industrial control systems
US20210014177A1 (en) Deterministic packet scheduling and dma for time sensitive networking
CN114930347A (zh) 用于无线边缘动态的分布式学习的系统和方法
US11900148B2 (en) Technologies for scheduling time sensitive cyclical network traffic in real-time
CN111953725A (zh) 边缘计算环境中的加速的自动定位
KR20220044717A (ko) 작업 스케줄링 효율을 향상시키기 위한 방법, 시스템, 제품 및 장치
EP3974981A1 (en) Methods and apparatus to schedule workloads based on secure edge to device telemetry
US20210325861A1 (en) Methods and apparatus to automatically update artificial intelligence models for autonomous factories
US20230169397A1 (en) Methods and apparatus for attestation of an artificial intelligence model
EP4202670A1 (en) Infrastructure managed workload distribution
WO2022133875A1 (en) Protocol state aware power management
US20210318965A1 (en) Platform data aging for adaptive memory scaling
US20240039860A1 (en) Methods, systems, apparatus, and articles of manufacture to manage network communications in time sensitive networks
EP4203381A1 (en) Methods and apparatus for attestation for a constellation of edge devices
US20230020732A1 (en) Adaptable sensor data collection
US20220224762A1 (en) Queuing control for distributed compute network orchestration
NL2029288B1 (en) Model-assisted deep reinforcement learning based scheduling in wireless networks
US20230186156A1 (en) Methods and apparatus to train a model using attestation data
US20210320875A1 (en) Switch-based adaptive transformation for edge appliances
US20240134680A1 (en) Technologies for scheduling time sensitive cyclical network traffic in real-time
US20210111862A1 (en) Heterogeneous clock management solution
US20230328547A1 (en) Automatic tuning of heterogenous wireless infrastructure
US20220116132A1 (en) Synchronizing a real-time clock and a network clock
KR20220090403A (ko) 인공 지능 모델의 가중치를 압축하는 방법 및 장치

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