CN115336239A - 与协议无关的信号拆分和调度 - Google Patents
与协议无关的信号拆分和调度 Download PDFInfo
- Publication number
- CN115336239A CN115336239A CN202180022433.5A CN202180022433A CN115336239A CN 115336239 A CN115336239 A CN 115336239A CN 202180022433 A CN202180022433 A CN 202180022433A CN 115336239 A CN115336239 A CN 115336239A
- Authority
- CN
- China
- Prior art keywords
- frame
- header
- payload
- compressed
- rule
- 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
Links
- 230000005540 biological transmission Effects 0.000 claims abstract description 65
- 230000004044 response Effects 0.000 claims abstract description 26
- 238000012937 correction Methods 0.000 claims abstract description 9
- 238000000638 solvent extraction Methods 0.000 claims abstract 4
- 238000000034 method Methods 0.000 claims description 51
- 230000009471 action Effects 0.000 claims description 14
- 238000004458 analytical method Methods 0.000 claims description 6
- 230000006837 decompression Effects 0.000 claims description 6
- 230000005055 memory storage Effects 0.000 claims description 4
- 238000009877 rendering Methods 0.000 claims 1
- 230000006835 compression Effects 0.000 description 50
- 238000007906 compression Methods 0.000 description 50
- 230000008569 process Effects 0.000 description 19
- 238000012545 processing Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 4
- 238000001914 filtration Methods 0.000 description 2
- 238000013467 fragmentation Methods 0.000 description 2
- 238000006062 fragmentation reaction Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000003252 repetitive effect Effects 0.000 description 2
- 206010000117 Abnormal behaviour Diseases 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011143 downstream manufacturing Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/4185—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/06—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/12—Wireless traffic scheduling
- H04W72/1221—Wireless traffic scheduling based on age of data to be sent
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Health & Medical Sciences (AREA)
- Manufacturing & Machinery (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
通过下列项提供与协议无关的信号拆分和调度:接收包括用于传输的头部和有效载荷的帧;响应于确定帧与将帧标识为控制回路的一部分的规则相匹配,根据规则压缩头部以产生包括压缩头部和有效载荷的预定义大小的压缩分组;调度对压缩分组的传输;以及将压缩分组发送到接收设备。在一些实施例中,在压缩帧之前,响应于确定有效载荷的大小不与预定义大小阈值相匹配:将有效载荷分割成多个部分,其中,每个部分满足预定义大小阈值;或者通过前向纠错填充信息将压缩分组填充到预定义大小阈值。
Description
技术领域
本公开中呈现的实施例总体涉及信号处理。更具体地,本文公开的实施例提供了对初始地根据各种协议或标准被格式化的信号的拆分和调度。
背景技术
各种应用、设备和服务依赖于以预期更新速率发送和接收信号来维持适当的功能。例如,远程监控设备、半自主设备和自主设备可以通过控制回路来发送和接收用于其控制的信号,但是如果没有按时发送状态数据或者没有按时接收到动作命令,这些系统可能表现异常或以其他方式表现低于预期。
附图说明
为了能够详细地理解本公开的上述特征的方式,可以通过参考实施例来获得上文简要概括的本公开的更具体的描述,其中一些实施例在附图示出。然而,应注意,附图示出了典型的实施例,因此不应被视为限制性的;其他同样有效的实施例也被考虑。
图1示出了根据本公开实施例的应用信号拆分和调度的环境。
图2示出了根据本公开实施例的信号拆分和调度的实现流程。
图3示出了根据本公开的实施例的帧排序和处理。
图4是根据本公开实施例的用于信号拆分和调度的方法的流程图。
图5是根据本公开实施例的用于消费被拆分和调度的信号的方法的流程图。
图6示出了根据本公开实施例的计算设备的硬件。
为了便于理解,在可能的情况下使用相同的附图标记来表示附图共有的相同元素。预期在一个实施例中公开的元素可以有益地用于其他实施例中而无需具体叙述。
具体实施方式
概览
本公开提出的一个实施例是一种方法,包括:接收包括用于传输的头部和有效载荷的帧;响应于确定帧与将帧标识为控制回路的一部分的规则相匹配,根据规则压缩头部以产生包括压缩头部和有效载荷的预定义大小的压缩分组;调度对压缩分组的传输;以及将压缩分组发送到接收设备。
本公开提出的一个实施例是一种系统,包括:网络接口卡;以及存储器存储设备,包括指令,该指令在由网络接口卡执行时执行包括下列项的操作:接收包括用于传输的头部和有效载荷的帧;响应于确定帧与将帧标识为控制回路的一部分的规则相匹配,根据规则压缩头部以产生包括压缩头部和有效载荷的预定义大小的压缩分组;调度对压缩分组的传输;以及将压缩分组发送到接收设备。
本公开提出的一个实施例是一种计算机可读存储设备,包括接收包括用于传输的头部和有效载荷的帧;响应于确定帧与将帧标识为控制回路的一部分的规则相匹配,根据规则压缩头部以产生包括压缩头部和有效载荷的预定义大小的压缩分组;调度对压缩分组的传输;以及将压缩分组发送到接收设备。
示例实施例
为了确保由另一个系统(例如,通过控制回路)远程管理的系统以预期执行,运营商通常需要确保该系统以预定义的速率发送状态信息和/或以预定义的速率接收命令。运营商可以提供专用传输介质(例如,控制系统和受控系统之间的有线或预留无线信道),或者尝试通过共享传输介质的各种调度技术。然而,专用传输介质在拥挤或高噪声环境中或在系统移动时可能不可行,并且共享技术在使用不同的协议(请求不同的速率和/或传输大小)时受到限制。因此,本公开提供了一种信号拆分和调度,利用压缩和分段以将分组减少到共享大小(即相同大小),控制器可以使用该共享大小来通过有状态压缩模式(例如,静态上下文头部压缩(SCHC))管理高速控制回路。因此,在一些实施例中,用于控制回路中的数据传输的帧的大小被减小,这提高了控制回路的可靠性并且使得能够在给定时隙中通过共享传输介质来调度各种格式的流量。
图1示出了根据本公开实施例的应用信号拆分和调度的环境100。环境100包括若干计算设备(关于图6更详细地描述了其示例硬件),包括路由器110、控制器设备120a-b(统称为控制设备120)和受控设备130a-d(统称为受控设备130)。
路由器110可以包括被配置为根据各种联网标准或无线电接入技术(RAT)(例如,IEEE 802.11或“WiFi”网络、BLUETOOTH网络、“蜂窝”(包括各世代及其子类型,如长期演进(LTE)和第五代新无线电(5G NR))网络、公民宽带无线电服务(CBRS)网络、专有网络)向各种其他计算设备提供有线和/或无线网络的各种联网设备。在各种实施例中,若干路由器110可以在该环境中操作以提供共享网络(例如,虚拟基本服务集(BSS)的组件),并且相互协调可用有线或无线传输介质上的可用带宽如何被分开使用。
各个控制器设备120和受控设备130可以直接彼此连接(例如,如同第二控制器设备120b和第四受控设备130d)或经由路由器110连接。在控制器设备120和受控设备130之间传输的数据可以包括在与受控设备140中的一个或多个操纵变量(例如,管道中的流体流量、执行器的位置、弧焊机的电压/电流、灯的开启/关闭状态等)的管理和控制相关的控制回路中使用的数据以及非命令循环数据(即不与受控设备130的控制直接相关的数据,如操作系统或应用更新、测试结果、媒体文件等)。
针对命令循环,控制器设备120从受控设备130中的一个或多个接收输入过程值,并将控制器输出发送到一个或多个受控设备130以命令受控设备130的各种动作。在各种实施例中,控制器设备120发送控制器输出以将过程值维持在当前设定点,或者发送控制器输出以将过程值调整到新的设定点。设定点可以通过算法或通过用户输入来确定,并且一个控制器设备120可以为一个或多个受控设备130处理若干设定点。
例如,第一控制器设备120a与路由器110有线通信,并且通过路由器110与机械臂的第一受控设备130a有线通信,并且与机械臂的第二受控设备130b、自主车辆的第三受控设备130c和第二控制器设备120b无线通信。第二控制器设备120b进而与第四受控设备130d有线通信并且与路由器110(以及由此连接到路由器110的任何设备)无线通信。
受控设备130包括本地化处理设备(协调对去往/来自控制器设备120的通信的发送、接收和实施)、传感器(用于记录和报告过程值)和执行器/电机/液压装置(用于实现经由控制器输出通过设定点指定的状态)。在一些实施例中,当受控设备130具有由控制器设备120控制的多个操纵变量时,给定的传输可以包括针对该(一个或多个)操纵变量的一个或多个传感器读数。例如,在机械臂的受控设备130中,来自若干臂或关节中的传感器的位置读数可被包括在发送到相关联的控制器设备120的一个消息中。在另一个示例中,在自主车辆的受控设备130中,传感器可以在两个或更多个单独的通信中向控制器设备120报告与发动机/电机性能水平、各种子部件的速度、位置、方向(例如,转向系统方向)等有关的值。
为了适当地控制受控设备130,在一个实施例中,控制回路以指定报告速率或快于指定报告速率将过程值报告给控制器设备120,并且以指定动作速率或快于指定动作速率接收控制器输出,否则受控设备130可能基于过时的命令而表现异常。随着更多的受控设备130竞争对共享传输介质的访问,确保每个受控设备130能够以指定速率报告过程值并接收控制器输出变得更加困难。此外,给定的受控设备130的不同子系统可能通过不同的协议和/或以不同的指定报告或动作速率进行通信,进一步使共享传输介质上的传输调度复杂化。
为了有助于如何处理控制器设备120和受控设备130之间的无线传输,并提高传输调度的可靠性,运营商可以实施例如在本公开中描述的拆分和调度方案。通过确保同一环境100中的若干受控设备130发送相同大小的分组,对这些分组的调度和拆分可以更加可靠,从而允许环境100共同调度使用若干不同协议的设备(避免不可控的帧大小)。
图2示出了根据本公开实施例的信号拆分和调度的实现流程200。流程200描述了使用用于如何处理数据传输和接收的共享规则集280来在发送设备260和接收设备270(其可以是控制器设备120、受控设备130或路由器110)之间数据传输。
发送设备260和接收设备270中的每一个运行压缩规则引擎205的实例,其处理对压缩分组290的压缩和解压缩。发送设备260通过针对数据的分组头部检查规则280来发起数据的传输(根据框210),然后压缩头部并指示帧中的规则ID(根据框220),其被传输(根据框230)到接收设备270。响应于接收到压缩分组290,接收设备270检查规则ID(根据框240)并基于规则ID选择规则280以解压缩头部(根据框250)来使用传输的数据。
规则集280描述一个或多个规则280(例如,规则A、规则B、...、规则n),这些规则提供了在发送设备260和接收设备270之间共享的字段描述,用于指示将如何处理各种分组/帧。在每个规则280中,一个或多个字段描述通过若干字段来描述以提供元组,该元组包含具有匹配运算符的标识值以及将被应用于字段的动作。字段标识符(FID)字段281标识字段描述所适用的协议和字段,并包含与将应用于规则280所描述的各种其他字段的运算符和操作相匹配的标识符值。字段长度(FL)字段282标识原始(非压缩)分组头部的长度。字段位置(FP)字段283标识在预期字段在头部中多次出现时该字段描述适用于所描述字段的哪个出现。方向指示符(DI)字段284告知字段描述适用于哪个行进方向(例如,上行链路、下行链路、双向),从而允许通过单个规则280进行不对称处理(即发送设备260和接收设备170被指示应用不同的动作)。目标值(TV)字段285包括规则280中的用于与头部字段的值相匹配的值。匹配运算符(MO)字段286包括用于将包含在头部字段中的值与包含在规则中的值相匹配的运算符。压缩/解压缩动作(CDA)字段287描述(分别由发送设备260和接收设备270)执行的动作对,其在压缩器处被执行以压缩头部字段以及在解压缩器处被执行以恢复头部字段的原始值。
压缩分组290以预定义(即共享)大小运载数据(例如,控制器输出或过程值),这可以有助于对初始地根据不同协议被格式化的数据进行拆分和调度,并且压缩分组290定义具有特定功能的若干部分以允许与协议无关的解释。规则ID部分291标识用于对压缩分组290进行压缩/解压缩的规则ID。压缩残留部分292包括在用于压缩数据以传输的相关联规则280中指定的各种值。规则ID部分291和压缩残留部分292共同形成压缩分组290的压缩头部。有效载荷部分293包括用于传输的数据的一些或全部值,以及可选的填充部分294包括填充以确保压缩分组290是预定义的大小,而与在其他部分中使用的比特量无关。
在其中大部分将传输的数据是可预测的并且被良好格式化的控制回路中,可以压缩大部分的原始帧;留下需要传送到接收设备270的残留数据的较小子集,其可以随后被解压缩以重构原始帧。在各种实施例中,帧可以在其数据中包括IP分组,或者可以包括根据其他标准被格式化的数据(其可以被分类为分组)。这种压缩一致性允许更大的压缩比,以及在压缩/解压缩数据时处理不同数据类型的一致性,因此压缩分组290的大小可以被设置为较短并且长度一致的预定义大小以有助于调度和拆分。
该基于标识和规则的压缩模式的附加效果是压缩充当有效载荷数据的辅助加密(混淆来自不拥有规则的设备的检查的值)。该基于标识和规则的压缩模式的另一益处是规则280充当过滤器,防止不与已知规则280完全匹配的分组被作为控制回路的元素而从发送设备260发送到接收设备270。在一些实施例中,可以循环或轮换规则280,使得在使用相同输入时,随后的压缩分组290在压缩残留292中产生相同的值。因此,通过改变选择的规则280,运营商可以进一步混淆正在传输的数据(例如,以对抗窃听或中间人攻击),并且使用比使用加密方案更少的带宽和更低的延迟来完成。
当将发送的压缩数据的量超过压缩分组290的预定义大小时,发送设备260分割数据;在两个或更多压缩分组290上拆分传输,其中数据的部分位于相应的有效载荷部分293中。例如,当有效载荷的长度为128字节,但有效载荷的预定义大小为64字节时,发送设备260发送两个压缩分组290;每个具有64字节的有效负载。在另一个示例中,当有效载荷的长度为65字节,但有效载荷的预定义大小为64字节时,发送设备260可以发送两个压缩分组290,其中在两个压缩分组290之间划分有效载荷并且具有63字节的填充。在各种实施例中,分段和填充被格式化为最小化包括填充的分段的数量,因此在一系列压缩分组290中仅一个压缩分组290(例如,最后一个)包括填充部分294。继续该示例,在这种情况下,第一压缩分组290将在有效载荷部分293中包括64个字节并且不包括填充部分294,而第二压缩分组290将在有效载荷部分293中包括1个字节并且在填充部分294中包括63个字节。
在各种实施例中,当包括填充部分294时(例如,当压缩头部和有效载荷的大小小于压缩分组290的预定义大小时),用于将压缩分组290填充到预定义大小的字节包括针对原始帧的前向纠错(FEC),以进一步增强压缩模式的可靠性。在一些实施例中,当压缩头部和有效载荷的大小小于压缩分组290的预定义大小的一半时,可以在单个传输机会中重复压缩头部、有效载荷和填充(实例之间具有或不具有帧间间隔(IFS))。例如,当压缩分组290的预定义大小为64字节,但压缩头部和有效载荷部分293占用28字节(2×28<64)时,填充部分294被设置为占用6个或更少字节。因此,可以拆分和调度压缩分组290的两个实例以同时以预定义大小进行传输(例如,2×(28+6)=64)。通过发送同一压缩分组290的多个实例,接收设备270可以比较这两个实例以验证数据的正确传输和/或执行两个实例之间的纠错。
图3示出了根据本公开实施例的由压缩规则引擎205进行的帧排序和处理。压缩规则引擎205分类将发送的帧进行以及帧如何被压缩并排队以发送。此外,压缩规则引擎205可以充当安全和格式化工具,以混淆正在发送的数据并选择可被安全地注入控制回路的帧,并拒绝或重定向未被正确格式化的帧以防止注入控制回路。例如,当接收到帧310时,压缩规则引擎205确定给定帧310是否匹配给定规则280,并且将那些匹配的帧/规则组织到若干桶320a-n(统称为桶320)中。例如,匹配第一格式的帧310被添加到第一桶320a,匹配第二格式的帧310被添加到第二桶320b等,并且不匹配格式化规则的帧310被添加到第n桶320n。当压缩规则引擎205在网络接口卡(NIC)上实施时,只有当帧310与规则匹配时才完成分组与流以及因此与队列的关联。这样,即使发送设备260的中央处理单元上的软件被破坏,也不能将流氓帧注入控制回路中的确定性资源块中。
桶320被组织用于各种队列以用于处理和/或传输。例如,满足与控制回路相关联的规则A或规则B的帧310被分别放置到第一桶320a和第二桶320b中,它们都被分配给保留队列330以根据控制回路的调度需要作为压缩分组290传输到接收设备270。
继续该示例,满足不与控制回路相关联的规则C或规则D的帧310被分别放置到第三桶320c和第四桶320d中,它们都被分配给共享队列340以用于传输到接收设备270。分配给共享队列340的帧310按照分配给保留队列330的帧310被传输,以确保控制回路被给予优先权以在指定信道上以期望速率进行传输。
此外,在该示例中,满足规则E或不满足规则的帧310被分别放置到第五桶320e和第n桶320n中,它们都被分配给灰网350以供进一步分析。灰网350针对不匹配任何已知规则的流氓帧310以及先前识别的流氓帧310两者提供异常检测。例如,灰网350可以识别各个设备中的行为模式以识别来自特定设备的重复错误,以提醒人类操作员异常行为或在重新分类和传输帧310之前自动纠正重复错误。
图4是根据本公开实施例的用于信号拆分和调度的方法400的流程图。方法400开始于框410,其中压缩规则引擎接收帧以发送到另一设备。在各种实施例中,压缩规则引擎的一个实例驻留在发送设备的NIC上并且压缩规则引擎的另一实例驻留在接收设备的NIC上,以自动地(并且无需来自在给定设备的CPU上运行的应用的输入)根据一个或多个规则处理帧来对帧进行过滤和格式化以在网络环境中进行拆分和调度。
在框420,压缩规则引擎确定接收的帧是否与网络环境的规则集中的规则相匹配。帧包括用于传输的头部和有效载荷,压缩规则引擎检查该头部和有效载荷以确定将什么规则(例如,图2所示的规则280)应用于该帧。当帧不与规则集中的任何已知规则相匹配时,方法400进行到框430。当帧与指定需要进一步分析或纠错的规则相匹配时,方法400进行到框430。当帧与指定该帧被允许作为控制回路或其他压缩数据流的一部分进行传输的规则相匹配时,方法400进行到框440。当该帧与指定该帧被允许传输但不作为压缩数据流的一部分的规则相匹配时,方法400进行到框450。
在框430,压缩规则引擎丢弃或隔离帧以供灰网分析。通过过滤帧以识别格式错误、未知或损坏的数据,压缩规则引擎保护下游过程免于(有意或无意地)处理格式错误的数据。方法400可以在帧被丢弃时在框430结束,或者在隔离的帧被重新格式化时从框410重复。
在框440,压缩规则引擎根据所匹配的规则对帧进行格式化以将帧的头部压缩在压缩分组中。在各种实施例中,规则指定可以从头部部分移除的数据,当接收设备已知该规则时,接收设备可以使用该数据从压缩头部再现该头部。这些来自压缩的残留数据,连同标识用于再现头部的规则的规则标识符,被包括在用于将数据发送到接收设备的(一个或多个)压缩分组的压缩头部中。
在框450,压缩规则引擎确定将包括在压缩分组中的数据的量是否超过大小阈值。包括在压缩分组中的数据包括规则标识符(标识用于分类和/或压缩帧的规则)、压缩残留(来自压缩头部信息)、有效载荷数据和(可选的)填充数据。当将包括在压缩分组中的数据的量大于将包含的压缩分组的目标预定义大小时,方法400进行到框460。当将包括在压缩分组中的数据的量小于将包含的压缩分组的目标预定义大小时,方法400进行到框470。当将包括在压缩分组中的数据的量等于将包含的压缩分组的目标预定义大小时,方法400进行到框480。
在框460,当有效载荷过大而不能被包括在目标预定义大小的单个压缩分组中时,压缩规则引擎将来自帧的有效载荷分割成两个或更多个分段。压缩规则引擎调整有效载荷分段的大小以使得例如所有压缩分组都等于压缩分组的预定义大小,或者压缩分组中的除了一个之外的压缩分组都等于压缩分组的预定义大小并且最后一个分组小于预定义大小。方法400然后可以返回到框450以处理经分割的有效载荷。
在框470,当有效载荷不足以大到使压缩分组达到目标预定义大小时,压缩规则引擎填充压缩分组以将其大小增加到预定义大小。在各种实施例中,用于填充压缩分组的分组包括FEC填充信息以有助于重构原始帧。在一些实施例中,在填充将占据压缩分组的预定义大小的一半或更多的情况下,在目标预定义大小的单个传输机会中重复压缩分组的多个实例。例如,当压缩头部和有效载荷的大小为60字节,并且预定义大小为64字节时,填充被定义为占用4字节,从而使压缩分组的大小达到预定义大小。在进一步的示例中,当压缩头部和有效负载的大小为60字节,并且预定义大小为128字节时,填充可以被定义为占用68字节。替代地,可以在128个字节的预定义大小的传输机会中形成可以包括占用4个字节(或如果在实例之间定义IFS则更少)的填充部分的压缩头部和有效负载的两个实例(例如,第一头部和有效负载、第一填充、(可选的)IFS、第二头部和有效负载、第二填充;60+4+60+4=128)。
在框480,压缩规则引擎调度(一个或多个)压缩分组并将其发送到指定的接收设备。根据与原始帧匹配的规则(根据框420),压缩规则引擎将压缩分组放入相应的队列中以供传输。例如,压缩规则引擎可以将压缩分组以预定义速率注入到数据流中,该预定义速率用于受控设备的控制回路或将过程变量从受控设备报告给控制器设备。在各种实施例中,当有效载荷被分割以经由一系列或压缩分组发送时,压缩规则引擎确保压缩分组以已知顺序发送以用于重构,并且使得分割的数据在已知时间帧内发送以供接收设备解释。
图5是根据本公开实施例的用于消费被拆分和调度的信号的方法500的流程图。方法500开始于框510,其中压缩规则引擎接收从另一设备发送的分组。在各种实施例中,压缩规则引擎的一个实例驻留在发送设备的NIC上并且压缩规则引擎的另一实例驻留在接收设备的NIC上,以自动地(并且无需来自在给定设备的CPU上运行的应用的输入)根据用于过滤和格式化原始帧的一个或多个规则处理分组(如果压缩),以在网络环境中进行拆分和调度。
在框520,压缩规则引擎确定接收的分组是否被压缩。在各种实施例中,分组通过分组头部中的规则标识符来指示分组是否被压缩以及分组如何被压缩。当规则标识符标识给定规则被用于压缩分组时,方法500进行到框530。当规则标识符标识分组未被压缩时,方法500进行到框540。
在框530,压缩规则引擎应用压缩分组中所指示的规则来对压缩头部中的压缩残留进行解压缩。在各种实施例中,规则标识将执行的解压缩动作,其可以是压缩动作的逆操作或者不同的动作,取决于规则。
在框540,压缩规则引擎确定分组是否是一系列分割分组中的一个。当压缩规则引擎确定原始帧已被分割(并且分组是一系列的部分)时,方法500进行到框550。当压缩规则引擎确定原始帧没有被分割(并且分组是不是一系列的部分)时,方法500进行到框560。
在框550,压缩规则引擎核对该系列分组以根据该系列的顺序组织有效载荷。分组的头部可以标识原始帧的有效负载是否已被分割为若干部分,以及给定分段相对于系列中的其他分段的位置。
可选地,在框560,压缩规则引擎检查(一个或多个)分组的纠错信息,并且如果存在,则将纠错信息应用于有效载荷。
在框570,压缩规则引擎将消耗有效载荷转发到接收系统的应用、进程或子系统。
图6示出了计算设备600的硬件,如可以用于本公开中描述的路由器110、控制器设备120或受控设备130。计算设备600包括处理器610、存储器620和通信接口630。处理器610可以是能够执行本文描述的功能的任何处理元件。处理器610代表单个处理器、多个处理器、具有多个内核的处理器、以及它们的组合。通信接口630促进计算设备600和其他设备之间的通信。通信接口630代表无线通信天线和各种有线通信端口,并且可以包括各种网络接口卡,这些网络接口卡包括用于独立于计算设备600的中央处理单元来处理传入和/或传出信号的专用处理器。存储器620存储器可以是易失性或非易失性存储器,并且可以包括RAM、闪存、高速缓存、磁盘驱动器、以及其他计算机可读存储器存储设备。尽管被示为单个实体,但存储器620可以被划分为不同的存储器存储元件,例如RAM和一个或多个硬盘驱动器。
当计算设备600是受控设备130时,计算设备600包括一个或多个受控子系统640(例如,执行器、阀门、电机、指示器)以及被配置为报告受控子系统640可以影响的受监测变量的值的一个或多个传感器650、或与它们通信。
如图所示,存储器620包括各种指令,其可以由处理器610执行以提供操作系统621以管理计算设备600的各种功能并且可以由一个或多个应用622执行以向计算设备600的用户提供各种功能性,包括在本公开中描述的功能和功能性中的一个或多个。另外,存储器620包括一个或多个设定点过程623,以报告过程变量和/或确定如何命令受控设备130的受控子系统640基于过程变量的设定点来动作。此外,存储器620可以存储指定各种规则的规则集624,这些规则由压缩规则引擎205应用以接收帧以发送、或接收压缩分组以解压缩并转发到应用622或设定点过程623。
在当前公开中,参考了各种实施例。然而,本公开的范围不限于具体描述的实施例。相反,所描述的特征和要素的任何组合,无论是否涉及不同的实施例,都被考虑为实施和实践所考虑的实施例。另外,当以“A和B中的至少一个”的形式描述实施例的要素时,应理解,仅包括要素A、仅包括要素B以及包括要素A和B的实施例均被考虑。此外,尽管本文公开的一些实施例可以实现优于其他可能的解决方案或优于现有技术的优势,但是给定实施例是否实现特定优势并不限制本公开的范围。因此,本文公开的方面、特征、实施例和优点仅仅是说明性的并且不被认为是所附权利要求的要素或限制,除非在(一个或多个)权利要求中明确记载。同样,对“本公开”的提及不应被解释为对本文公开的任何发明主题的概括,并且不应被视为所附权利要求的要素或限制,除非在(一个或多个)权利要求中明确记载。
如本领域技术人员将理解的,本文公开的实施例可以体现为系统、方法或计算机程序产品。因此,实施例可以采取完全硬件实施例、完全软件实施例(包括固件、常驻软件、微代码等)、或结合软件和硬件方面的实施例的形式,这些实施例在本文中都可以统称为“电路”、“模块”或“系统”。此外,实施例可以采取体现在一个或多个计算机可读介质中的计算机程序产品的形式,这些计算机可读介质具有体现在其上的计算机可读程序代码。
包含在计算机可读介质上的程序代码可以使用任何适当的介质来传输,包括但不限于无线、有线、光纤电缆、RF等、或前述项的任何合适的组合。
用于执行本公开的实施例的操作的计算机程序代码可以用一种或多种编程语言的任何组合来编写,包括诸如Java、Smalltalk、C++等之类的面向对象的编程语言以及诸如“C”编程语言或类似编程语言之类的传统的过程编程语言。程序代码可以完全在用户计算机上、部分在用户计算机上、作为独立软件包、部分在用户计算机上并且部分在远程计算机上、或完全在远程计算机或服务器上执行。在后一情况下,远程计算机可以通过任何类型的网络连接到用户计算机,包括局域网(LAN)或广域网(WAN),或者可以连接到外部计算机(例如,使用互联网服务提供商通过互联网)。
本文参考根据本公开中呈现的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图来描述本公开的各方面。应当理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以通过计算机程序指令来实施。这些计算机程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得通过计算机或其他可编程数据处理装置的处理器执行的指令创建用于实施流程图和/或框图的(一个或多个)框中指定的功能/动作的方式。
这些计算机程序指令还可以存储在计算机可读介质中,该计算机可读介质可以指示计算机、其他可编程数据处理装置或其他设备以特定方式运行,使得存储在计算机可读介质中的指令产生制品,该制品包括实施流程图和/或框图的(一个或多个)框中指定的功能/动作的指令。
计算机程序指令还可以加载到计算机、其他可编程数据处理装置或其他设备上以使一系列操作步骤在计算机、其他可编程设备或其他设备上执行以产生计算机实现的过程,使得在计算机、其他可编程数据处理装置或其他设备上执行的指令提供用于实施流程图和/或框图的(一个或多个)框中指定的功能/动作的过程。
附图中的流程图和框图图示了根据各种实施例的系统、方法和计算机程序产品的可能实施方式的架构、功能和操作。在这方面,流程图或框图中的每个框可以表示模块、分段、或代码部分,其包括用于实施(一个或多个)指定逻辑功能的一个或多个可执行指令。还应注意,在一些替代实施方式中,框中标注的功能可以不按附图中标注的顺序出现。例如,连续显示的两个框实际上可以被基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还应注意,框图和/或流程图明的每个框以及框图和/或流程图中的框的组合可以由执行指定功能或动作的专用基于硬件的系统、或专用硬件和计算机指令的组合来实施。
鉴于上述内容,本公开的范围由所附权利要求确定。
Claims (20)
1.一种方法,包括:
接收包括用于传输的头部和有效载荷的帧;
响应于确定所述帧与将所述帧标识为控制回路的一部分的规则相匹配,根据所述规则压缩所述头部以产生包括压缩头部和所述有效载荷的、预定义大小的压缩分组;
调度对所述压缩分组的传输;以及
将所述压缩分组发送到接收设备。
2.根据权利要求1所述的方法,还包括:在压缩所述帧之前,响应于确定所述有效载荷的大小超过预定义大小阈值:
将所述有效载荷分割成多个部分,其中,每个部分满足所述预定义大小阈值。
3.根据前述权利要求中任一项所述的方法,还包括:在压缩所述帧之前,响应于确定所述压缩头部和所述有效载荷的大小小于预定义大小阈值:
通过前向纠错填充信息将所述压缩分组填充到所述预定义大小阈值。
4.根据前述权利要求中任一项所述的方法,其中,所述压缩头部向所述接收设备指示规则标识符,所述规则标识符标识用于从所述压缩头部再现所述头部的解压缩动作。
5.根据前述权利要求中任一项所述的方法,还包括:
接收包括用于传输的第二头部和第二有效载荷的第二帧;
响应于确定所述第二帧与将所述第二帧标识为第二控制回路的一部分的第二规则相匹配,根据所述第二规则压缩所述第二头部以产生包括第二压缩头部和所述第二有效载荷的、所述预定义大小的第二压缩分组;
在与所述压缩分组的共享信道上调度对所述第二压缩分组的传输;以及
经由所述共享信道将所述第二压缩分组发送到第二接收设备。
6.根据前述权利要求中任一项所述的方法,还包括:
接收包括用于传输的第二头部和第二有效载荷的第二帧;
响应于确定所述第二帧与将所述帧标识为不是所述控制回路的一部分的第二规则相匹配,根据所述第二规则压缩所述头部以产生包括第二压缩头部和所述第二有效载荷的、所述预定义大小的第二压缩分组;
响应于调度对所述压缩分组的传输,在所述控制回路的流量未使用的时隙中调度对所述第二压缩分组的传输;以及
在所述时隙期间,将所述第二压缩分组发送到所述接收设备。
7.根据前述权利要求中任一项所述的方法,还包括:
接收包括用于传输的第二头部和第二有效载荷的第二帧;以及
响应于确定所述第二帧不与规则集中的任何规则相匹配,将所述第二帧发送到灰网以在传输之前进一步分析。
8.一种系统,包括:
网络接口卡;以及
存储器存储设备,包括指令,该指令在由所述网络接口卡执行时执行包括下列项的操作:
接收包括用于传输的头部和有效载荷的帧;
响应于确定所述帧与将所述帧标识为控制回路的一部分的规则相匹配,根据所述规则压缩所述头部以产生包括压缩头部和所述有效载荷的、预定义大小的压缩分组;
调度对所述压缩分组的传输;以及
将所述压缩分组发送到接收设备。
9.根据权利要求8所述的系统,其中,所述操作还包括:在压缩所述帧之前,响应于确定所述有效载荷的大小超过预定义大小阈值:
将所述有效载荷分割成多个部分,其中,每个部分满足所述预定义大小阈值。
10.根据权利要求8或9所述的系统,其中,所述操作还包括:在压缩所述帧之前,响应于确定所述压缩头部和所述有效载荷的大小小于预定义大小阈值:
通过前向纠错填充信息将所述压缩分组填充到所述预定义大小阈值。
11.根据权利要求8至10中任一项所述的系统,其中,所述压缩头部向所述接收设备指示规则标识符,所述规则标识符标识用于从所述压缩头部再现所述头部的解压缩动作。
12.根据权利要求8至11中任一项所述的系统,其中,所述操作还包括:
接收包括用于传输的第二头部和第二有效载荷的第二帧;
响应于确定所述第二帧与将所述第二帧标识为第二控制回路的一部分的第二规则相匹配,根据所述第二规则压缩所述第二头部以产生包括第二压缩头部和所述第二有效载荷的、所述预定义大小的第二压缩分组;
在与所述压缩分组的共享信道上调度对所述第二压缩分组的传输;以及
经由所述共享信道将所述第二压缩分组发送到第二接收设备。
13.根据权利要求8至12中任一项所述的系统,其中,所述操作还包括:
接收包括用于传输的第二头部和第二有效载荷的第二帧;
响应于确定所述第二帧与将所述帧标识为不是所述控制回路的一部分的第二规则相匹配,根据所述第二规则压缩所述头部以产生包括第二压缩头部和所述第二有效载荷的、所述预定义大小的第二压缩分组;
响应于调度对所述压缩分组的传输,在所述控制回路的流量未使用的时隙中调度对所述第二压缩分组的传输;以及
在所述时隙期间,将所述第二压缩分组发送到所述接收设备。
14.根据权利要求8至13中任一项所述的系统,其中,所述操作还包括:
接收包括用于传输的第二头部和第二有效载荷的第二帧;以及
响应于确定所述第二帧不与规则集中的任何规则相匹配,将所述第二帧发送到灰网以在传输之前进一步分析。
15.一种包括指令的计算机可读存储设备,所述指令在由处理器执行时使得执行包括下列项的操作:
接收包括用于传输的头部和有效载荷的帧;
响应于确定所述帧与将所述帧标识为控制回路的一部分的规则相匹配,根据所述规则压缩所述头部以产生包括压缩头部和所述有效载荷的、预定义大小的压缩分组;
调度对所述压缩分组的传输;以及
将所述压缩分组发送到接收设备。
16.根据权利要求15所述的计算机可读存储设备,其中,所述操作还包括:在压缩所述帧之前,响应于确定所述有效载荷的大小不与预定义大小阈值相匹配:
将所述有效载荷分割成多个部分,其中,每个部分满足所述预定义大小阈值;或者
通过前向纠错填充信息将所述压缩分组填充到所述预定义大小阈值。
17.根据权利要求15或16所述的计算机可读存储设备,其中,所述压缩头部向所述接收设备指示规则标识符,所述规则标识符标识用于从所述压缩头部再现所述头部的解压缩动作。
18.根据权利要求15至17中任一项所述的计算机可读存储设备,其中,所述操作还包括:
接收包括用于传输的第二头部和第二有效载荷的第二帧;
响应于确定所述第二帧与将所述第二帧标识为第二控制回路的一部分的第二规则相匹配,根据所述第二规则压缩所述第二头部以产生包括第二压缩头部和所述第二有效载荷的、所述预定义大小的第二压缩分组;
在与所述压缩分组的共享信道上调度对所述第二压缩分组的传输;以及
经由所述共享信道将所述第二压缩分组发送到第二接收设备。
19.根据权利要求15至18中任一项所述的计算机可读存储设备,其中,所述操作还包括:
接收包括用于传输的第二头部和第二有效载荷的第二帧;
响应于确定所述第二帧与将所述帧标识为不是所述控制回路的一部分的第二规则相匹配,根据所述第二规则压缩所述头部以产生包括第二压缩头部和所述第二有效载荷的、所述预定义大小的第二压缩分组;
响应于调度对所述压缩分组的传输,在所述控制回路的流量未使用的时隙中调度对所述第二压缩分组的传输;以及
在所述时隙期间,将所述第二压缩分组发送到所述接收设备。
20.根据权利要求15至19中任一项所述的计算机可读存储设备,其中,所述操作还包括:
接收包括用于传输的第二头部和第二有效载荷的第二帧;以及
响应于确定所述第二帧不与规则集中的任何规则相匹配,将所述第二帧发送到灰网以在传输之前进一步分析。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/823,070 | 2020-03-18 | ||
US16/823,070 US11425228B2 (en) | 2020-03-18 | 2020-03-18 | Protocol independent signal slotting and scheduling |
PCT/US2021/070276 WO2021189073A1 (en) | 2020-03-18 | 2021-03-17 | Protocol independent signal slotting and scheduling |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115336239A true CN115336239A (zh) | 2022-11-11 |
Family
ID=75439590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180022433.5A Pending CN115336239A (zh) | 2020-03-18 | 2021-03-17 | 与协议无关的信号拆分和调度 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11425228B2 (zh) |
EP (1) | EP4122182A1 (zh) |
CN (1) | CN115336239A (zh) |
WO (1) | WO2021189073A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230379250A1 (en) * | 2022-05-20 | 2023-11-23 | Cisco Technology, Inc. | Forwarding decisions based on header compression in industrial networks |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109257772A (zh) * | 2017-07-13 | 2019-01-22 | 普天信息技术有限公司 | 一种rtp数据的发送、接收方法及用户设备 |
CN109644193A (zh) * | 2016-08-31 | 2019-04-16 | 高通股份有限公司 | 针对减小的带宽的无线设备的报头压缩 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7570645B2 (en) * | 2000-01-18 | 2009-08-04 | Viasat, Inc. | Frame format and frame assembling/disassembling method for the frame format |
US8010469B2 (en) * | 2000-09-25 | 2011-08-30 | Crossbeam Systems, Inc. | Systems and methods for processing data flows |
US11032739B2 (en) * | 2017-03-10 | 2021-06-08 | Convida Wireless, Llc | Dynamic header compression for constrained networks |
US11882200B2 (en) | 2018-03-16 | 2024-01-23 | Acklio | Method and apparatus processing of message data |
EP3644573B1 (en) * | 2018-10-24 | 2021-04-21 | Acklio | Simple communication protocol for data transmission over constrained networks |
-
2020
- 2020-03-18 US US16/823,070 patent/US11425228B2/en active Active
-
2021
- 2021-03-17 CN CN202180022433.5A patent/CN115336239A/zh active Pending
- 2021-03-17 EP EP21717747.6A patent/EP4122182A1/en active Pending
- 2021-03-17 WO PCT/US2021/070276 patent/WO2021189073A1/en unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109644193A (zh) * | 2016-08-31 | 2019-04-16 | 高通股份有限公司 | 针对减小的带宽的无线设备的报头压缩 |
CN109257772A (zh) * | 2017-07-13 | 2019-01-22 | 普天信息技术有限公司 | 一种rtp数据的发送、接收方法及用户设备 |
Non-Patent Citations (1)
Title |
---|
HUAWEI, HISILICON: "R2-1817572 "Discussion on the Ethernet header compression"", 3GPP TSG_RAN\\WG2_RL2, no. 2 * |
Also Published As
Publication number | Publication date |
---|---|
WO2021189073A1 (en) | 2021-09-23 |
EP4122182A1 (en) | 2023-01-25 |
US11425228B2 (en) | 2022-08-23 |
US20210297509A1 (en) | 2021-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2475989C2 (ru) | Способы и устройство для форматирования заголовков в коммуникационном фрейме | |
CN105991625B (zh) | 一种进行数据传输的方法和设备 | |
EP3063916B1 (en) | Dynamic compression coverage | |
JP4866908B2 (ja) | 通信システムにおけるパケットの分割および連結をシグナリングする方法および装置 | |
US7835391B2 (en) | Protocol DMA engine | |
US7706314B2 (en) | Approach for implementing IPsec in performance enhancing proxy (PEP) environments | |
EP2786544B1 (en) | Flow-based compression management | |
WO2016197804A1 (zh) | 数据包的压缩方法和装置 | |
JP2004529587A (ja) | データ・ユニットの処理方法およびシステム | |
CN111355698B (zh) | 一种传输方法、装置、报文发送端和接收端 | |
US11405489B2 (en) | Method and apparatus for determining quality of service, and storage medium | |
US20200128112A1 (en) | Packet transmission method, proxy server, and computer-readable storage medium | |
US10667175B2 (en) | Systems and methods for segmentation and reassembly of data frames in 802.11 wireless local area networks | |
US20220368782A1 (en) | Baseband chip and method for layer 2 downlink data processing | |
CN115336239A (zh) | 与协议无关的信号拆分和调度 | |
CN116671167A (zh) | 用于在无线通信系统中处理分组的方法和装置 | |
CN116420346A (zh) | 使用灵活的层2电路的层2数据处理装置和方法 | |
CN111543034A (zh) | 用于并行处理的自描述数据包头部 | |
CN108012289B (zh) | Pdu的发送方法及装置,和pdu的接收方法及装置 | |
CN108234092B (zh) | 一种信令配置方法、rrc实体以及pdcp实体 | |
KR101010409B1 (ko) | 터널링 기반 네트워크에서 ip 패킷 전송 방법 및 장치 | |
GB2587427A (en) | Processing local area network diagnostic data | |
US11979477B2 (en) | Processing local area network diagnostic data | |
US9854471B2 (en) | Wireless communication apparatus, wireless communication system, and wireless communication method | |
CN108882304B (zh) | 一种数据链路层中用于封装数据包的方法及装置 |
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 |