CN110582760B - 用于提供消息编码/解码作为服务的方法、系统和计算机可读介质 - Google Patents
用于提供消息编码/解码作为服务的方法、系统和计算机可读介质 Download PDFInfo
- Publication number
- CN110582760B CN110582760B CN201880025834.4A CN201880025834A CN110582760B CN 110582760 B CN110582760 B CN 110582760B CN 201880025834 A CN201880025834 A CN 201880025834A CN 110582760 B CN110582760 B CN 110582760B
- Authority
- CN
- China
- Prior art keywords
- message
- identifier
- encoding
- decoding
- tlv
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- 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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- 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/10—Protocols in which an application is distributed across nodes in the network
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
公开了用于提供消息编码/解码作为服务的方法、系统和计算机可读介质。根据一种用于提供消息编码或解码作为服务的方法,该方法在编码/解码功能(EDF)节点处发生。该方法包括接收包含消息标识符和操作标识符的消息编码或解码操作请求。该方法还包括使用操作标识符来执行消息编码或解码操作,所述消息编码或解码操作涉及访问或修改从消息标识符所指示的消息解码的至少一个TLV元素。该方法进一步包括发送指示消息编码或解码操作是否成功执行的响应。
Description
优先权声明
本申请要求2017年3月29日提交的美国专利申请No.15/473519的优先权,该申请的公开内容整个地通过引用并入本文。
技术领域
本文中所描述的主题涉及处理通信。更具体地说,主题涉及用于提供消息编码/解码作为服务的方法、系统和计算机可读介质。
背景技术
类型-长度-值(TLV)元素(例如,属性-值对或信息元素(IE))包括可用于在协议包或其他消息中提供信息(例如,属性)的数据构造。例如,TLV元素可以包括指示其中所包含的信息的类型或种类的标识符、其中所包含的信息的长度以及其中所包含的值或信息。各种通信协议和/或数据表示方案(例如,可扩展标记语言(XML))可以使用TLV元素来交换和/或存储信息。例如,Diameter和远程认证拨入用户服务(remote authentication dial inuser service,RADIUS)是认证、授权和计费(AAA)协议,并且使用TLV元素来在各种消息中提供信息。
一些网络功能或相关节点可以被配置为对包含TLV元素的消息进行处理(例如,编码、解码和/或其他动作)。例如,Diameter路由代理(DRA)可以被配置为对包含TLV元素的进入消息进行解码、修改TLV元素、添加TLV元素、移除TLV元素、对包含经修改的TLV元素和/或附加的TLV元素的外出消息进行编码、并且将外出消息发送到目的地。
一些网络利用涉及将网络功能的各种方面、服务或功能性划分成服务或相关组件的网络架构。例如,分布式网络功能(DNF)(例如,虚拟化和/或分布式节点)可以包括它的一个或多个DNF组件或实例,这一个或多个DNF组件或实例可以在云计算基础设施、虚拟化基础设施或其他联网的基础设施中的分布式资源上执行。在该例子中,它的每个DNF组件或实例可以包括用于执行某个功能性的相关软件和/或处理,并且可以松散地耦合和/或可以单个地扩展。
虽然分布式架构允许网络运营商和/或服务提供商部署灵活的、可扩展的和特征定制的网络功能,但是对于这样的架构,当解码/编码功能性被复制在其多个DNF组件和/或实例中时,可能出现各种问题。例如,如果服务和/或特征被复制在虚拟化或分布式DRA的多个DNF组件和实例中,则虚拟化或分布式DRA可以产生计算和输入/输出(I/O)资源的低效利用。此外,当DNF组件在操作期间交换包含大的有效载荷的消息时,资源的低效利用可能加剧。
发明内容
公开了用于提供消息编码/解码作为服务的方法、系统和计算机可读介质。根据一种用于提供消息编码或解码作为服务的方法,该方法在编码/解码功能(EDF)节点处发生。该方法包括接收包含消息标识符和操作标识符的消息编码或解码操作请求。该方法还包括使用至少一个TLV元素和操作标识符来执行消息编码或解码操作,消息编码或解码操作涉及访问或修改从由消息标识符指示的消息解码出的至少一个TLV元素。该方法进一步包括发送指示消息编码或解码操作是否被成功执行的响应。
根据一种用于作为服务提供消息编码/解码的系统,该系统包括至少一个处理器。该系统还包括EDF节点。EDF节点使用所述至少一个处理器来实现。EDF节点被配置为:接收包含消息标识符和操作标识符的消息编码或解码操作请求;使用操作标识符来执行消息编码或解码操作,所述消息编码或解码操作涉及访问或修改从由消息标识符指示的消息解码出的至少一个TLV元素;并且发送指示消息编码或解码操作是否被成功执行的响应。
本文中所描述的主题可以用软件与硬件和/或固件组合来实现。例如,本文中所描述的主题可以用处理器执行的软件来实现。在一个示例实现中,本文中所描述的主题可以使用上面存储有计算机可读指令的计算机可读介质来实现,所述计算机可读指令当被计算机的处理器执行时控制计算机执行步骤。适合于实现本文中所描述的主题的示例性计算机可读介质包括非暂时性器件,诸如硬盘存储器器件、芯片存储器器件、可编程逻辑器件和专用集成电路。另外,实现本文中所描述的主题的计算机可读介质可以被安置在单个装置或计算平台上,或者可以分布在多个装置或计算平台上。
如本文中所使用的,术语“节点”是指包括一个或多个处理器和存储器的至少一个物理计算平台。
如本文中所使用的,术语“TLV元素”是指可用于在通信协议包或消息中提供信息的任何信息元素(IE)、属性值对(AVP)或其他数据构造,例如,使用抽象语法表示法(ASN)或JavaScript对象表示法(JSON)编码的数据。
如本文中所使用的,术语“功能”或“模块”是指用于实现本文中所描述的特征的硬件、固件或与硬件和/或固件组合的软件。
附图说明
现在将参照附图来说明本文中所描述的主题,其中:
图1是示出了示例性处理节点的示图;
图2是示出了分布式消息处理模块中的示例性功能的示图;
图3是示出了包含TLV元素的示例性进入消息的示图;
图4A-4B是示出了与消息处理相关联的示例性通信的示图;以及
图5是示出了用于执行消息处理操作的示例性处理的示图。
具体实施方式
本文中所描述的主题涉及用于提供消息编码和/或解码(编码/解码)作为服务的方法、系统和计算机可读介质。在具有组件(例如,服务)的松散地耦合的实例的大多数分布式网络功能(DNF)中,消息在每个组件边界处被编码和/或解码。例如,在消息被DNF中的第一组件处理之后,第一组件可以在将消息发送到DNF中的第二组件以供附加处理之前对消息进行(重新)编码,其中,作为第二组件的处理的一部分,第二组件可以对消息进行解码。在该例子中,在消息被完全处理之前,该编码-解码循环可能发生若干次(例如,消息可能被一个或多个DNF中的或跨一个或多个DNF的多个组件解码和编码)。在每个组件或DNF边界处被编码和解码的循环造成低效的资源利用,例如,因为大量计算和/或处理资源可能用于重复地对消息进行编码/解码。此外,在组件之间交换完整的消息(例如,包括经编码的有效载荷的消息)影响I/O和/或联网相关资源的资源利用,从而促使资源利用低效和/或网络拥塞。
根据本文中所描述的主题的一些方面,公开了用于提供消息编码/解码作为服务的技术、方法、系统或机制。例如,根据本文中所描述的方面的消息编码/解码服务可以执行一次消息解码和编码,并且经由公共接口,例如,经由应用程序接口(API)、编码和/或解码库(EDL)呼叫或远程进程呼叫(RPC),为所有的组件实例服务。在该例子中,消息编码/解码服务可以产生可被其他组件用于识别、访问或引用特定消息或其中的消息内容的消息标识符和/或消息解码元数据,从而最小化在消息处理期间在组件或其实例之间传送的数据量。
有利地,根据本文中所描述的主题的一些方面,通过在分布式环境中使用公共的消息编码/解码服务,可以最小化或甚至消除专用的编码/解码处理,并且通过使用消息标识符(例如,由公共的消息编码/解码服务产生)代替消息有效载荷,在网络功能内(例如,在DNF组件或其实例之间)和在网络功能之间(例如,在DNF之间),组件或其实例之间的包含大的有效载荷的消息交换可以显著减少。
现在详细地论述本文中所描述的主题的各种实施例,在附图中示出了这些实施例的例子。只要可能,相同的标号在附图中将始终被用来指代相同的或相似的部分。
图1是示出了根据本文中所描述的主题的实施例的示例性处理节点(PN)100的示图。参照图1,PN 100可以包括消息处理模块(MPM)102和MPM存储装置104。PN 100可以表示用于执行与对包含一个或多个TLV元素的消息进行处理(例如,编码、修改和/或解码)相关联的一个或多个方面的任何合适的一个实体或多个实体(例如,一个或多个计算平台、计算装置、和/或在至少一个处理器上执行的软件)。例如,PN 100可以被配置为接收、处理和/或发送包含一个或多个TLV元素的消息。示例性PN 100可以包括但不限于:计算平台、信令路由器、路由代理、中继代理、转发代理、Diameter信令路由器(DSR)、Diameter节点、RADIUS节点、RADIUS信令路由器、网络路由器、网络交换机或网络设备。
在一些实施例中,PN 100可以包括用于接收和/或发送与一个或多个通信协议相关联的消息的功能性。例如,PN 100可以包括用于使用Diameter协议、RADIUS协议、公共开放政策服务(COPS)消息、链路层发现协议(LLDP)、中间系统对中间系统(IS-IS)协议和/或其他协议(例如,包括抽象语法表示法(ASN)、或JavaScript对象标识符(JSON)、或其他形式的经编码的数据的信令协议)来与节点进行通信的各种通信接口。
MPM 102可以表示用于执行与对包含一个或多个TLV元素进行处理相关联的一个或多个方面的任何合适的一个实体或多个实体(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)和/或在处理器上执行的软件)。例如,MPM 102可以被配置为接收、处理、修改、编码、解码和/或发送包含一个或多个TLV元素的消息。MPM 102可执行的示例性处理可以包括识别TLV元素和/或相关属性、修改TLV元素和/或相关属性、和/或对包含TLV元素的消息进行解码和/或编码。例如,MPM 102可以响应于从用户或其他实体接收到请求来对所接收的消息中的某些TLV元素进行解码。MPM 102还可以包括用于存储关于(诸如当使用有状态解码算法(stateful decodealgorithm)时)解码的和/或检测到的(例如,检查的)TLV元素的信息的功能性。例如,MPM 102可以使用所存储的关于经解码的TLV元素的信息来产生或编码至少一些外出消息。
在一些实施例中,MPM 102可以包括用于结合或代替有状态解码算法使用无状态解码算法(stateless decode algorithm)来对包含TLV元素的各种消息进行解码的功能性。例如,无状态解码算法可以避免当对消息进行解码时存储或更新一些(如果不是所有的)元数据,而有状态解码算法在对消息进行解码时可能存储或更新元数据。在该例子中,由于一些消息可能包括仅被读取一次并且永不被修改的TLV元素,所以无状态解码算法对于解码可能是优选的,因为有状态解码算法将可能会使用更多的处理和存储器资源,并且将存储不必要的元数据。关于示例性的有状态解码策略和/或相关算法的附加细节在2014年9月12日提交的标题为“METHODS,SYSTEMS,AND COMPUTER READABLE MEDIA FORPROCESSING DATA CONTAINING TYPE-LENGTH-VALUE(TLV)ELEMENTS”的美国专利申请No.14/485147中找到;该申请的公开内容整个地通过引用并入本文。
在一些实施例中,MPM 102可以包括或访问MPM存储装置104。MPM存储装置104可以表示用于存储与TLV元素(例如,TLV元素属性、TLV元素类型信息、TLV元素长度或尺寸信息、TLV元素值、进入偏移值和/或外出偏移值)和/或相关的数据结构有关的信息的任何合适的一个实体或多个实体(例如,非暂时性计算机可读介质、闪存、随机存取存储器和/或存储装置)。例如,MPM存储装置104可以存储解码迭代器和/或关于正被处理的每个进入消息106和/或外出消息108的验证信息。在一些实施例中,MPM存储装置104可以在PN 100和/或MPM102的外部和/或与PN 100和/或MPM 102集成。
将意识到,图1是出于说明性的目的,并且以上关于图1描述的各种数据结构和/或功能性可以被改变、更改、添加或移除。例如,一些节点和/或功能可以被组合到单个实体中。在另一个例子中,一些节点和/或功能可以分布在多个节点和/或平台上。
图2是示出了分布式MPM(DMPM)200中的示例性功能的示图。在一些实施例中,DMPM200可以表示用于执行消息处理的分布式网络功能(DNF),并且可以包括类似于MPM 102的功能性。例如,DMPM 200可以包括被配置为接收、处理、编码、解码和/或发送包含一个或多个TLV元素的消息的各种组件或功能。与DMPM 200相关联的组件或功能可执行的示例性处理可以包括识别TLV元素和/或相关属性、修改TLV元素和/或相关属性、和/或对包含TLV元素的消息进行解码和/或编码。
参照图2,DMPM 200可以包括节点202-208(例如,物理设备、计算平台等)。节点202-208可以包括用于执行一个或多个DNF组件或相关服务的存储器和/或一个或多个计算资源(例如,基于硬件的处理器),这一个或多个DFN组件或相关服务例如是连接管理器功能(CMF)210、编码器和/或解码器(编码器/解码器)功能(EDF)212、消息筛选功能(MSF)214、消息优先级功能(MPF)216、进入控制功能(ICF)218、和/或路由控制功能(RCF)220。在一些实施例中,DMPM 200中的一个或多个功能(例如,DNF组件)可以包括在虚拟环境中存储和/或执行的软件或逻辑,所述虚拟环境例如是虚拟机(VM)或虚拟化容器(例如,Docker容器)。在一些实施例中,DMPM200中的一个或多个功能(例如,DNF组件)可以包括在非虚拟环境中存储和/或执行(例如,在没有虚拟化软件的情况下,通过使用物理资源)的软件或逻辑。
在一些实施例中,DMPM 200可以包括、利用面向服务的架构(SOA),或者是SOA的一部分。在一些实施例中,EDF 212和/或其他DNF功能可以单个地扩展,例如,DNF功能的实例或副本可以根据需要来创建和部署。例如,随着网络中的消息的数量增加,可以创建并且部署EDF 212的多个实例以处理增加的通信量。在该例子中,EDF 212的每个实例可以提供类似的编码/解码功能性,并且可以处理总消息载荷的一部分。在该例子中,EDF 212或其实例可以被称为服务或微服务。
CMF 210可以是用于处理与消息相关联的输送服务和/或连接的任何合适的实体(例如,在至少一个处理器上执行的软件)。例如,CMF 210可以接收Diameter消息,并且执行或促进与对Diameter消息进行处理相关联的输送。在一些实施例中,CMF 210可以将Diameter消息发送到EDF 212以用于某个预处理,并且当将Diameter消息发送到另一个DNF或处理节点时,还可以请求最终的经编码的包(例如,在DMPM 200中的各种功能进行处理之后)。
在一些实施例中,CMF 210可以使用一个或多个输送机制来将消息提供给其他功能(例如,EDF 212、MSF 214、MPF 216、ICF 218和/或RCF 220)以用于消息处理。一个示例性机制可以包括推送机制,例如,CMF 210可以将指示用于处理的新消息的消息发送到一个或多个可用功能。另一个示例机制可以包括拉取机制,例如,功能可以向CMF 210请求(例如,经由API或RPC)RADIUS或Diameter消息处理。另一个示例性机制可以包括订阅和发布系统,在该系统中,初始功能订阅接收关于要处理的新近可用的消息的通知,并且当消息被接收并且准备好被处理时,CMF 210可以提供或发布这样的通知。
在一些实施例中,在将消息发送到其他功能之前,CMF 210可以将包含AVP、TLV元素和/或其他消息内容的消息发送到EDF 212以供(预)处理。例如,EDF 212可以接收包含AVP、TLV元素或其他数据的消息,可以对其中的消息内容进行解码,并且可以产生用于标识消息和/或其中的经解码的消息的消息标识符。在该例子中,EDF 212可以对消息内容(例如,TLV元素、AVP和/或其他元数据)进行解码和/或将消息内容(例如,TLV元素、AVP和/或其他元数据)存储在一个或多个数据结构中,并且可以使用消息标识符来对该消息内容进行索引。继续该例子,在从EDF 212接收到消息标识符之后,CMF210可以将处理指令、连同从EDF 212返回的消息标识符一起发送到其他功能。
在一些实施例中,CMF 210可以执行各种输送功能和/或服务。例如,CMF 210可以确定哪个功能将接收用于初始处理的进入消息106,并且当将消息发送到另一个目的地(例如,另一个DNF或处理节点)时,可以请求EDF 212产生经编码的消息或其一部分。
在一些实施例中,消息标识符可以在DNF组件或其他实体之间交换。在这样的实施例中,每个DNF组件或功能可以通过使用EDF 212(或相关的API)和相关的消息标识符来访问和/或识别相关的消息。例如,EDF 212可以将用于表示进入消息106(例如,包含AVP的Diameter消息)的消息标识符提供给CMF 210。在该例子中,当向DMPM 200中的下一个功能请求处理时,代替发送进入消息106,CMF210和其他功能可以发送包含消息标识符的部分消息或更小尺寸的消息。
EDF 212可以是用于执行消息编码和/或解码操作的任何合适的实体(例如,在至少一个处理器上执行的软件)。例如,EDF 212可以向其他功能(例如,DNF组件)提供用于访问和/或修改消息内容(例如,包数据)的公共接口(例如,代表性状态传送(REST)API、RPC等)。在一些实施例中,EDF 212可以为消息内容(例如,AVP、TLV元素和/或元数据)提供存储和/或维护功能性。
EDF 212可以包括用于对与各种消息和/或协议相关联的各种数据构造进行解码或编码的功能性。EDF 212可以处理(例如,解码和/或编码)的示例性数据构造包括但不限于:TLV、AVP、ASN编码数据、和/或JSON编码数据。例如,根据所接收的流量和/或通信环境,EDF 212和/或相关实体可以被配置为对包含AVP的Diameter消息和/或具有JSON编码数据的消息进行处理。
在一些实施例中,EDF 212可以包括用于与其他功能、用户和/或节点交互的一个或多个通信接口。例如,EDF 212可以包括用于接收和/或发送Diameter消息、RADIUS消息、COPS消息、LLDP消息、IS-IS消息和/或其他消息的通信接口。在另一个例子中,EDF 212可以包括用于与各种DNF组件和/或节点进行通信的一个或多个通信接口(例如,如图2中的在EDF 212和各种其他功能之间的虚线所表示)。在该例子中,EDF 212可以从实体接收用于对进入消息进行解码和/或对外出消息进行编码或者对消息内容执行各种消息处理操作的处理请求(例如,经由API、EDL调用或其他机制)。
在一些实施例中,EDF 212可以被配置为提供TLV元素的恒定时间查找(例如,需要类似的时间量并且不受数据结构的尺寸影响的查找),例如,基于TLV属性的查找。例如,EDF212可以在提供或允许恒定时间查找并且可以通过消息标识符索引的或识别的关联容器(例如,关联阵列、散列图或其他相关的数据结构)和/或其他数据结构中存储关于给定消息的消息相关信息。在另一个例子中,关联阵列可以包括使用与TLV相关标签和/或TLV供应商标识符(ID)对应的散列值索引的TLV实例容器(例如,包含关于特定类型的TLV元素的信息的阵列或矢量)。在该例子中,假定没有冲突,关联阵列中的查找可以包括执行单个操作所需的时间量,并且不管关联阵列的尺寸如何,该时间量都可能不显著地改变。
在一些实施例中,EDF 212可以被配置为提供来自进入消息(例如,包)的TLV元素的经优化的(例如,基于需要的或懒惰的)解码。例如,EDF 212可以被配置为在不对非匹配TLV元素执行任何额外的操作的情况下“走”过包,从而比较TLV元素(例如,TLV元素标签)或者验证消息结构。在该例子中,EDF 212可以被配置为只在必要时“走”以获得关于所请求的TLV元素的信息。
在一些实施例中,EDF 212可以被配置为确定和(例如,在一个或多个数据结构中)存储进入消息中的TLV元素的位置(例如,偏移值)。在这样的实施例中,位置信息可以可用于允许只读操作,但实际上不存储TLV元素的值。通过存储位置信息以代替存储TLV元素的值或其他属性,可以节省资源和时间(例如,在请求TLV元素的存在或位置而非其中的实际值的情形下,通过避免可能昂贵的存储器相关操作)。
在一些实施例中,EDF 212可以被配置为将TLV元素的优化编码提供到外出消息中。例如,通过直接从进入包拷贝未修改的TLV元素,进入包中的TLV元素的存储的位置(例如,进入偏移值)可以允许进入包的优化编码,从而避免额外的操作。在另一个例子中,外出包中的TLV元素的位置(例如,外出偏移值)可以被存储并且被用于从先前编码的外出包拷贝经修改/添加的TLV元素,例如,如果这样的TLV元素自从最后一次编码之后尚未被修改的话,从而避免额外的操作。
在一些实施例中,EDF 212可以使用维护正被编码的每个消息的位置(例如,偏移值)的编码迭代器(例如,指针对象)。在该例子中,EDF 212可以在消息开头对编码迭代器进行初始化,并且当TLV元素被插入到外出消息108中时,EDF 212可以使编码迭代器递增,以使得编码迭代器维护消息中待检查的下一个TLV元素的位置。在一些实施例中,EDF 212可以对外出消息108使用多个解码迭代器。
进入消息106可以表示包含表示可以被EDF 212接收、处理和/或解码的一个或多个TLV元素的任何消息(例如,包)。例如,进入消息106可以表示Diameter消息、RADIUS消息、COPS消息、LLDP消息或IS-IS消息。如图1中所描绘的,进入消息106可以包括相同或不同类型的多个TLV元素。例如,每个TLV元素类型可以用诸如“A”、“B”、“C”和/或“D”之类的字母表示。在该例子中,(例如,特定TLV元素类型的)每个TLV元素可以通过特定字母后面的数字来表示,诸如“A1”、“A2”和“A3”。
在一些实施例中,EDF 212可以被配置为(例如,从CMF 210)接收进入消息106和/或执行对与进入消息106相关联的TLV元素进行处理相关联的一个或多个操作。例如,EDF212可以被配置为接收EDL相关请求(例如,用于确定某些TLV元素是否存在于进入消息106中和/或用于确定进入消息106中的某些TLV元素的值的请求)。作为响应,EDF 212可以被配置为检查进入消息106中的TLV元素(例如,经由相关联的标签),并且如果找到了所请求的TLV元素,则提供对于EDL相关请求的适当的响应。
外出消息108可以表示包含一个或多个TLV元素的任何消息(例如,包),并且可以由EDF 212产生和/或编码。例如,外出消息108可以表示Diameter消息、RADIUS消息、COPS消息、LLDP消息或IS-IS消息。如图1中所描绘的,外出消息108可以包括相同或不同类型的多个TLV元素。例如,每个TLV元素类型可以用诸如“A”、“B”、“C”和/或“D”之类的字母表示。在该例子中,每个TLV元素可以通过特定字母后面的数字来表示,诸如“A1”、“A2”和“A3”。
在一些实施例中,外出消息108可以包括从进入消息106解码的TLV元素。例如,TLV元素“A1”、“B1”、“C1”、“C2”和“A2”可以从进入消息106解码得到,并且关于这些TLV元素的信息可以被存储在MPM储存器104中并且可以在对外出消息108进行编码时使用。
在一些实施例中,外出消息108可以包括来自没有被解码和/或修改的进入消息106的TLV元素。例如,TLV元素“B2”可以从进入消息106包括。在该例子中,EDF 212可以被配置为确定进入消息106的一些部分可以被直接拷贝到外出消息108中。
在一些实施例中,外出消息108可以包括不同于进入消息106中的那些TLV元素的或除了进入消息106中的那些TLV元素之外的TLV元素。例如,TLV元素“E1”、“F1”、“A3”和“D1”可以由EDF 212添加和/或修改,并且在对外出消息108进行编码时使用。
在一些实施例中,EDF 212可以被配置为产生和/或编码外出消息108和/或执行与对与外出消息108相关联的TLV元素进行处理相关联的一个或多个操作。例如,响应于接收到消息处理请求(例如,消息编码或解码操作(MEDO)请求),EDF 212可以被配置为修改与包含进入消息106的目的地地址的标签“A”相关联的第一TLV元素(例如,TLV元素“A1”),以对包含经修改的TLV元素的外出消息内容进行编码,并且将包括经编码的消息内容的外出消息108发送到CMF 210,CMF 210可以将外出消息108发送到另一个DNF或处理节点。在该例子中,EDF 212可以使用包含关于进入消息106中的各种经解码的TLV元素的信息的一个或多个数据结构来修改TLV元素“A1”以包括相关的目的地地址并且将经修改的TLV元素包括在外出消息108中。
MSF 214可以是用于筛选消息的任何合适的实体(例如,在至少一个处理器上执行的软件)。例如,MSF 214可以丢弃或筛选无效的事务、畸形的消息或孤立的消息。在该例子中,MSF 214可以向EDF212发送用于请求Diameter消息的一个或多个经解码的AVP的消息处理请求,使得当筛选Diameter消息时,MSF 214可以对这些AVP进行分析。在一些实施例中,例如,如果MSF 214确定进入消息将被进一步处理,则MSF 214可以将外出消息(例如,功能请求)发送到下一个功能,例如MPF 216。在这样的实施例中,外出消息可以包括用于标识消息内容的消息标识符代替来自进入消息的实际TLV元素。
MPF 216可以是用于分配或确定消息优先级的任何合适的实体(例如,在至少一个处理器上执行的软件)。例如,MPF 216可以利用消息优先级方案,其中“P0”-“P4”表示增大级别的消息优先级。消息优先级“P4”可以表示最高的消息优先级,并且可以被分配给下一代网络优先级服务(NGN-PS)消息(例如,与紧急第一响应者相关联的消息)。消息优先级“P3”可以表示第二高级别的消息优先级,并且可以被分配给回答消息。消息优先级“P2”、“P1”和“P0”可以表示减小级别的消息优先级,并且这些优先级中的任何一个都可以被分配给请求消息。
在一些实施例中,MPF 216可以利用基于互联网工程任务组(IETF)请求注解(RFC)7944中定义的Diameter路由消息优先级(DRMP)标准的消息优先级方案。在一些实施例中,MPF 216可以在某些情形下调整消息的消息优先级,例如,响应于过载事件。例如,MPF 216可以监督或监视各种消息优先级的消息的速率。在该例子中,如果DMPM 200接收到大于最大速率(例如,设计的服务器容量的15%)的“P4”消息,一些“P4”消息可以被重新分配给“P3”。继续该例子,如果DMPM 200接收到小于最大速率的“P4”消息,则“P4”消息可能是不容破坏的(例如,不被重新分配),并且可以被允许绕过用于提供保证的服务的所有拥塞控制。
ICF 218可以是用于控制进入消息的速率和/或量的任何合适的实体(例如,在至少一个处理器上执行的软件)。在一些实施例中,ICF218可以监督与进入消息相关的各种连接的最大连接速率,并且丢弃超过这些连接速率的消息。在一些实施例中,ICF 218还可以监督保留的连接速率,并且可以基于消息是否与高消息速率(例如,加载的)连接相关联来对消息进行着色或其他方式的标记,例如,“绿色”=正常载荷,黄色=大量载荷,“红色”=检测到过载。
在一些实施例中,ICF 218或另一个功能可以包括用于处理和/或管理过载事件期间的流量的逻辑。在一些实施例中,如果DMPM 200或相关组件正在经历过载,则ICF 218可以基于预定的消息速率(例如,设计或优选的消息速率)来监督消息,并且可以丢弃超过预定消息速率的消息。在一些实施例中,如果DMPM 200或相关组件没有经历过载,则ICF 218可以基于最大消息速率(例如,高于设计的消息速率的速率)来监督消息,并且可以丢弃超过最大消息速率的消息。
RCF 220可以是用于路由相关处理的任何合适的实体(例如,在至少一个处理器上执行的软件)。例如,RCF 220可以将进入消息106路由到与DMPM 200相关联的一个或多个功能进行应用相关处理。在另一个例子中,RCF 220可以将进入消息106路由到各种其他的功能以便确定如何处理进入消息106处理和/或在何处路由外出消息108。
将意识到,图2是出于说明性的目的,并且以上关于图2描述的各种实体和/或功能性可以被改变、更改、添加或移除。例如,例如,一些节点和/或功能可以被组合到单个实体(例如,路由功能组)中。在另一个例子中,一些节点和/或功能可以分布在多个节点和/或平台上。
图3是示出了包含TLV元素的进入消息106的示图。参照图3,进入消息106可以包括多个TLV元素,例如,“A1”、“B1”、“C1”、“C2”、“B2”和“A2”。每个TLV元素可以包括表示TLV元素的名称或类型的标签属性值、表示TLV元素的总长或尺寸(例如,以字节为单位)的长度属性值、以及表示TLV元素的数据的值属性值。
在一些实施例中,EDF 212可以包括用于“走过”包含TLV元素的消息的功能性。例如,EDF 212可以使用维护正被解码的每个消息的位置(例如,偏移值)的解码迭代器。在该例子中,EDF 212可以在消息开头对解码迭代器进行初始化,并且当TLV元素和/或相关标签被检查时,EDF 212可以使编码迭代器递增,以使得编码迭代器维护消息中被检查的最近的位置或接下来将被检查的位置。
在一些实施例中,EDF 212可以对特定消息使用多个解码迭代器。例如,EDF 212可以对遇到的每个TLV元素类型使用一个解码迭代器。继续该例子,EDF 212可以使用解码迭代器来快速地找到下一个特定类型的TLV元素,因为EDF 212可以从被检查的最后一个位置继续“走过”消息。在另一个例子中,在消息包括一个或多个嵌套的TLV元素(例如,图1中的进入消息106的TLV元素“D1”)的情况下,EDF 212可以对每个分组的TLV元素/父TLV元素使用一个解码迭代器。在该例子中,解码迭代器可以可用于快速地找到特定的嵌套的TLV元素中的下一个TLV元素,例如,进入消息106的TLV元素“D1”中的TLV元素“A2”。在一些实施例中,EDF 212可以对每个嵌套的TLV元素使用多个解码迭代器,例如,对嵌套的TLV元素中的每个TLV类型使用一个解码迭代器。
在一些实施例中,EDF 212可以使用无状态解码算法来解码或“走过”进入消息106,并且当更新解码迭代器时,可以使用指针算法。例如,在检查具有EDF 212可辨别的长度或尺寸的头之后,EDF 212可以通过读取或检查第一个TLV元素(例如,TLV元素“A1”)来开始对进入消息106进行解码。在该例子中,EDF 212可以检查第一TLV元素的长度属性值(例如,“Len1”=20),并且可以使长度属性值和表示解码迭代器的字节偏移值(例如,20)相加,字节偏移值用于计算可以指向下一个TLV元素(TLV元素“B1”)的更新的解码迭代器(例如,40)。继续该例子,EDF 212可以继续使用无状态解码算法“走过”进入消息106,直到找到特定的TLV元素,或者直到EDF 212确定使用不同的解码算法(例如,有状态解码算法)。
将意识到,图3是出于说明性的目的,并且以上关于图3描述的各种实体和/或功能性可以被改变、更改、添加或移除。
图4A-4B是示出了与消息处理相关联的示例性通信的示图。在一些实施例中,MPM102或相关功能性可以被划分到DNF组件(例如,功能或服务)中。在一些实施例中,能够执行消息处理的各种方面的一组DNF组件可以被统称为DMPM 200。在一些实施例中,各种DNF组件(例如,CMF 210、MSF 214、MPF 216、ICF 218和/或RCF 220)可以与EDF 212通信,其中EDF212可以执行与消息编码、消息修改和/或消息解码相关的一个或多个功能、动作或服务。在一些实施例中,DMPM 200中的一个或多个DNF组件可以是虚拟化的和/或使用VM来实现。
参照图4A,在步骤401中,在CMF 210处可以接收Diameter消息‘A’。例如,CMF 210可以接收进入消息106。
在步骤402中,可以将Diameter消息‘A’从CMF 210发送到EDF 212进行预处理。例如,EDF 212可以在Diameter消息被第一功能(例如,MSF 214)处理之前接收到该Diameter消息,以使得可以产生消息标识符并且可以对消息内容(例如,AVP和/或元数据)进行解码。在该例子中,经解码的消息内容可以通过消息标识符被索引并存储在一个或多个数据结构中。
在步骤403中,EDF 212可以产生用于唯一地标识Diameter消息‘A’和/或其中的消息内容(例如,AVP)的消息标识符‘X’。EDF212还可以将消息标识符‘X’和Diameter消息‘A’中的消息内容之间的关联存储在数据结构中。
在步骤404中,包括所产生的消息标识符的响应消息可以从EDF212发送到CMF210。例如,响应消息可以经由REST API、RPC或EDL消息发送。在该例子中,响应消息可以包括用于表示消息和/或其中的消息内容的消息标识符,并且可以在DMPM 200和/或相关实体中的各种功能(例如,DNF功能)引用消息时使用。
在步骤405中,功能请求消息(例如,经由RPC或API调用、或另一个消息传送机制)可以将所产生的消息标识符从CMF 210发送到MSF 214以供处理。在一些实施例中,功能请求消息可以包括类似于Diameter消息‘A’的Diameter消息,但是可以包括消息标识符代替或取代TLV或通过消息标识符可辨别的其他消息内容。
参照图4B,在步骤406中,消息处理请求可以从MSF 214发送到EDF 212。消息处理请求可以包括消息标识符和操作码或标识符,消息标识符指示消息和/或消息内容(例如,TLV元素),操作码或标识符指示涉及所指示的消息或消息内容的待执行的消息处理操作。在另一个例子中,消息处理请求可以包括将被添加和/或修改的消息数据、消息标识符、以及指示要执行消息修改的消息处理操作的操作码或标识符。
示例性消息处理请求可以包括用于编码和/或检索与特定消息相关联的一个或多个TLV元素的请求、用于使用与特定消息相关联的一个或多个TLV元素产生和/或检索经编码的消息的请求、用于解码和/或检索与特定消息相关联的一个或多个TLV元素的请求、用于解码和/或检索包含与特定消息相关联的一个或多个TLV元素的经编码的消息的请求、修改特定消息的一个或多个TLV元素的请求、添加特定消息的一个或多个TLV元素的请求、或删除特定消息的一个或多个TLV元素的请求。以上示例性消息处理请求是出于说明性的目的,而非限制的目的。此外,以上示例性消息处理请求并非意图是详尽的列表。
在步骤407中,EDF 212可以接收消息处理请求,并且使用由消息标识符指示的消息内容来执行操作码所指示的操作。例如,使用消息处理请求中的消息标识符和操作码,EDF 212可以将一组经解码的AVP发送到MSF 214,以使得MSF 214可以确定Diameter消息是否是畸形的或孤立的。
在步骤408中,消息处理响应可以从EDF 212发送到MSF 214。消息处理响应可以包括消息标识符、操作码以及用于指示成功和/或用于提供消息处理相关的输出的结果值。例如,在从MSF 214接收到消息处理请求之后,EDF 212可以将包括一个或多个经解码的AVP的消息处理响应消息提供给MSF 214。
在步骤409中,在从EDF 212接收到响应消息并且执行其功能之后,MSF 214可以(例如,经由RPC、API调用或另一个消息传送机制)将功能请求消息发送到另一个功能以供进一步处理。
在一些实施例中,在消息被DMPM 200完全处理之后,CMF 210可以发送用于请求经编码的消息或其一部分的消息处理请求,使得CMF 210可以将经编码的消息发送到另一个目的地,例如,另一个DNF。
将意识到,图4A-4B是出于说明性的目的,并且不同的和/或附加的消息和/或动作可以用于使用EDF 212或相关功能性执行消息处理。还将意识到,本文中关于图4A-4B描述的各种消息和/或动作可以按不同的次序或顺序发生。
图5是示出了用于执行消息处理操作的示例性过程500的示图。在一些实施例中,示例性过程500或其部分可以由EDF 212和/或另一个节点、功能或模块执行或者在EDF 212和/或另一个节点、功能或模块处执行。在一些实施例中,示例性过程500或其部分可以由虚拟环境中的节点或功能(例如,EDF 12)执行。在一些实施例中,示例性过程500可以包括步骤502、504和506。
参照示例性过程500,在步骤502中,可以接收包含消息标识符和操作标识符的消息编码或解码操作(MEDO)请求。例如,EDF 212可以从MSF 214接收MEDO请求。在该例子中,MEDO请求可以包括消息标识符和操作码或标识符,消息标识符指示消息和/或消息内容(例如,TLV元素),并且操作码或标识符指示涉及消息或消息内容的待执行的操作。
在一些实施例中,MEDO请求可以包括用于编码和/或检索与特定消息相关联的一个或多个TLV元素的请求、用于使用与特定消息相关联的一个或多个TLV元素产生和/或检索经编码的消息的请求、用于解码和/或检索与特定消息相关联的一个或多个TLV元素的请求、用于解码和/或检索包含与特定消息相关联的一个或多个TLV元素的经编码的消息的请求、修改特定消息的一个或多个TLV元素的请求、添加特定消息的一个或多个TLV元素的请求、或删除特定消息的一个或多个TLV元素的请求。
在一些实施例中,在接收MEDO请求之前,EDF节点可以接收包含至少一个TLV元素的第一消息,可以产生用于标识所述至少一个TLV元素的消息标识符,并且可以在数据结构中存储使消息标识符和所述至少一个TLV元素相关联的条目。
在一些实施例中,第一消息(例如,由EDF节点接收)可以包括Diameter消息、RADIUS消息、COPS消息、LLDP消息、超文本传送协议(HTTP)消息、AJAX消息、可扩展标记语言(XML)消息、代表性状态传送(REST)消息、超文本标记语言(HTML)消息或IS-IS消息。
在一些实施例中,消息标识符的尺寸可以小于所述至少一个TLV元素。例如,Diameter请求消息可以包括1500个字节或八位字节的消息有效载荷,而消息标识符可以是16个字节或八位字节。
在一些实施例中,至少一个TLV元素(例如,Diameter AVP)可以包括协议接口标识符、相关的连接或路径标识符、应用标识符、起始范围、起始地址、目的地范围、目的地地址、优先级相关的TLV元素或NGN-PS TLV元素。
在一些实施例中,MEDO请求可以来自被配置为执行与DNF相关联的第一功能的第一节点。例如,MSF 214可以在对DMPM 200执行消息筛选功能的同时发送MEDO请求。
在一些实施例中,第一节点可以将包含消息标识符的外出消息发送到被配置为执行与DNF相关联的第二功能的第二节点。例如,在执行消息筛选功能之后,MSF 214可以将包含消息标识符的消息发送到用于消息优先级相关的处理的MPF 216。在该例子中,MPF 216还可以在执行其功能时向EDF 212发送MEDO请求。
在一些实施例中,DNF可以包括计算平台、信令路由器、路由代理、中继代理、DSR、DRA、Diameter节点、RADIUS节点、RADIUS信令路由器、网络路由器、网络交换机、虚拟化节点、虚拟化DSR、虚拟化DRA、虚拟化信令路由器、网络设备或者安全和/或防火墙代理。例如,DMPM 200可以表示虚拟化的和/或分布式的DRA。
在步骤504中,可以使用操作标识符来执行MEDO,其中MEDO可以涉及访问或修改从由消息标识符指示的消息解码出的至少一个TLV元素。例如,EDF 212可以访问包含由唯一的消息标识符索引的经解码的消息有效载荷(例如,其中的TLV元素)的数据结构。在该例子中,EDF 212可以识别与MEDO请求中的消息标识符相关联的一个或多个TLV元素,并且EDF212可以基于MEDO请求中的操作码来执行涉及所识别的TLV元素的操作。
在步骤506中,可以发送指示MEDO是否被成功执行的响应。例如,在执行涉及进入消息106的操作之后,EDF 212可以将指示操作成功和/或包括某个有关输出(例如,经解码的参数值)的MEDO响应发送给请求者,例如,MSF 214。在一些实施例中,在MEDO响应中发送的检索的消息内容或其他数据可以是MEDO被成功执行的指示。
在一些实施例中,EDF节点可以接收包含消息标识符和第二操作标识符的第二MEDO请求,第二操作标识符指示对所述至少一个TLV元素执行的第二操作。例如,在从MSF214接收到包含消息标识符的消息之后,MPF 216可以将包括消息标识符和操作码的MEDO请求发送到EDF 212,所述操作码指示涉及一个或多个特定的TLV元素的特定操作。
在一些实施例中,EDF 212和/或DMPM 200中的其他DNF组件可以包括使用虚拟化技术执行的VM或VM实例。例如,EDF 212可以包括虚拟环境中的节点204例如使用虚拟资源和管理程序可执行的软件。
在一些实施例中,EDF 212和/或DMPM 200中的其他DNF组件可以包括使用物理资源而非使用虚拟化技术执行的软件。例如,EDF212可以包括非虚拟化环境中的节点204可执行的软件。
在一些实施例中,EDF 212可以与DMPM 200相关联。例如,DMPM 200可以表示DNF,例如,信令路由器、路由代理、中继代理、转发代理、DSR、Diameter节点、RADIUS节点、RADIUS信令路由器、网络路由器、网络交换机、网络设备或者安全和/或防火墙代理。在该例子中,DMPM 200和/或其中的相关DNF组件可以使用一个或多个处理器、节点或计算平台来实现。
应注意到,EDF 212、节点204和/或本文中所描述的功能性可以构成专用的计算设备。此外,EDF 212、节点204和/或本文中所描述的功能性可以改进处理包含各种数据构造或编码数据的消息的技术领域,包括用于对TLV元素进行解码和/或编码的技术。
本文中所描述的用于提供消息编码/解码作为服务的主题可以通过提供更高效的资源(例如,计算、网络和/或存储器)利用和改进的处理速度来改进消息处理器和相关节点的功能性。此外,通过使用EDF 212、节点204或相关功能性,消息处理(例如,包解码和编码)逻辑可以与网络元件(例如,DSR、信令路由器、MPM 102、DMPM200等)解耦,从而显著地减少网络元件所需的计算资源的量并且提供跨网络功能的显著节省。例如,使用公共解码/编码服务消除了对于在DNF(例如,DMPM 200)中的DNF组件(例如,节点)之间或者在DNF之间交换整个包(例如,包含TLV元素的经编码的有效载荷的包)的需要,从而既节省了输入/输出(I/O)带宽,又节省了在组件和/或DNF边界处对包进行解码/编码所需的计算资源。在该例子中,资源和利用节省抵消了解码/编码服务的操作和通信的I/O和计算成本,尤其是在存在大的有效载荷时。此外,通过使用EDF 212、节点204或跨DNF(和它们的组成组件)的相关功能性,可以在甚至更大的规模上优化I/O带宽和计算资源的消耗。
将意识到,在不脱离本文中所描述的主题的范围的情况下,本文中所描述的主题的各种细节可以被改变。此外,前面的描述仅仅是出于例示说明的目的,而非限制的目的,因为本文中所描述的主题由后面所述的权利要求限定。
Claims (17)
1.一种用于提供消息编码或解码作为服务的方法,该方法包括:
在编码/解码功能EDF节点处:
接收包含至少一个类型-长度-值TLV元素的消息;
解码所述消息的至少一部分;
产生用于标识所述消息或相关消息内容的消息标识符;
接收包含所述消息标识符和操作标识符的消息编码或解码操作请求,其中所述消息编码或解码操作请求包括所述消息标识符代替要操作的消息有效载荷;
使用所述消息标识符查询数据结构以获得包括所述至少一个TLV元素的经解码的消息内容;
使用所述操作标识符来执行消息编码或解码操作,所述消息编码或解码操作涉及修改从由所述消息标识符指示的所述消息解码出的所述至少一个TLV元素;以及
发送指示所述消息编码或解码操作是否被成功执行的响应。
2.根据权利要求1所述的方法,其中,所述消息包括Diameter消息、远程认证拨入用户服务RADIUS消息、公共开放政策服务COPS消息、链接层发现协议LLDP消息、超文本传送协议HTTP消息、AJAX消息、可扩展标记语言XML消息、代表性状态传送REST消息、超文本标记语言HTML消息、或中间系统对中间系统IS-IS消息。
3.根据权利要求1所述的方法,其中,所述消息编码或解码操作请求包括用于编码和/或检索与特定消息相关联的一个或多个TLV元素的请求、用于使用与特定消息相关联的一个或多个TLV元素产生和/或检索经编码的消息的请求、用于解码和/或检索与特定消息相关联的一个或多个TLV元素的请求、用于解码和/或检索包含与特定消息相关联的一个或多个TLV元素的经编码的消息的请求、修改特定消息的一个或多个TLV元素的请求、添加特定消息的一个或多个TLV元素的请求、或删除特定消息的一个或多个TLV元素的请求。
4.根据权利要求1所述的方法,其中,所述至少一个TLV元素包括协议接口标识符、相关连接或路径标识符、应用标识符、起始范围、起始地址、目的地范围、目的地地址、优先级相关的TLV元素、或下一代网络优先服务NGN-PS TLV元素。
5.根据权利要求1所述的方法,其中,所述消息编码或解码操作请求来自第一节点,所述第一节点被配置为执行与分布式网络功能DNF相关联的第一功能。
6.根据权利要求5所述的方法,其中,所述第一节点将包含所述消息标识符的外出消息发送到第二节点,所述第二节点被配置为执行与所述DNF相关联的第二功能。
7.根据权利要求5所述的方法,其中,所述DNF包括计算平台、信令路由器、路由代理、中继代理、转发代理、Diameter信令路由器DSR、Diameter节点、远程认证拨入用户服务RADIUS节点、RADIUS信令路由器、网络路由器、网络交换机、虚拟化节点、虚拟化DSR、虚拟化信令路由器、网络设备、或安全和/或防火墙代理。
8.根据权利要求1所述的方法,包括:
在编码/解码功能EDF节点处:
接收包含所述消息标识符和第二操作标识符的第二消息编码或解码操作请求,所述第二操作标识符指示要对所述至少一个TLV元素执行的第二操作。
9.一种用于提供消息编码/解码作为服务的系统,该系统包括:
至少一个处理器;以及
使用所述至少一个处理器实现的编码/解码功能EDF节点,其中,所述EDF节点被配置用于:
接收包含至少一个类型-长度-值TLV元素的消息;
解码所述消息的至少一部分;
产生用于标识所述消息或相关消息内容的消息标识符;
接收包含所述消息标识符和操作标识符的消息编码或解码操作请求,其中所述消息编码或解码操作请求包括所述消息标识符代替要操作的消息有效载荷;
使用所述消息标识符查询数据结构以获得包括所述至少一个TLV元素的经解码的消息内容;
使用操作标识符来执行消息编码或解码操作,所述消息编码或解码操作涉及修改从由所述消息标识符指示的所述消息解码出的所述至少一个TLV元素;以及
发送指示所述消息编码或解码操作是否被成功执行的响应。
10.根据权利要求9所述的系统,其中,所述消息包括Diameter消息、远程认证拨入用户服务RADIUS消息、公共开放政策服务COPS消息、链接层发现协议LLDP消息、超文本传送协议HTTP消息、AJAX消息、可扩展标记语言XML消息、代表性状态传送REST消息、超文本标记语言HTML消息、或中间系统对中间系统IS-IS消息。
11.根据权利要求9所述的系统,其中,所述消息编码或解码操作请求包括用于编码和/或检索与特定消息相关联的一个或多个TLV元素的请求、用于使用与特定消息相关联的一个或多个TLV元素产生和/或检索经编码的消息的请求、用于解码和/或检索与特定消息相关联的一个或多个TLV元素的请求、用于解码和/或检索包含与特定消息相关联的一个或多个TLV元素的经编码的消息的请求、修改特定消息的一个或多个TLV元素的请求、添加特定消息的一个或多个TLV元素的请求、或删除特定消息的一个或多个TLV元素的请求。
12.根据权利要求9所述的系统,其中,所述至少一个TLV元素包括协议接口标识符、相关连接或路径标识符、应用标识符、起始范围、起始地址、目的地范围、目的地地址、优先级相关的TLV元素、或下一代网络优先服务NGN-PSTLV元素。
13.根据权利要求9所述的系统,其中,所述消息编码或解码操作请求来自第一节点,所述第一节点被配置为执行与分布式网络功能DNF相关联的第一功能。
14.根据权利要求13所述的系统,其中,所述第一节点将包含消息标识符的外出消息发送到第二节点,所述第二节点被配置为执行与所述DNF相关联的第二功能。
15.根据权利要求13所述的系统,其中,所述DNF包括计算平台、信令路由器、路由代理、中继代理、转发代理、Diameter信令路由器DSR、Diameter节点、远程认证拨入用户服务RADIUS节点、RADIUS信令路由器、网络路由器、网络交换机、虚拟化节点、虚拟化DSR、虚拟化信令路由器、网络装置、或安全和/或防火墙代理。
16.根据权利要求9所述的系统,其中,所述EDF节点被配置用于:
接收包含所述消息标识符和第二操作标识符的第二消息编码或解码操作请求,所述第二操作标识符指示要对所述至少一个TLV元素执行的第二操作。
17.一种非暂时性计算机可读介质,所述非暂时性计算机可读介质包括包含在所述非暂时性计算机可读介质中的计算机可执行指令,所述计算机可执行指令当被计算机的至少一个处理器执行时使所述计算机执行包括以下的步骤:
在编码/解码功能EDF节点处:
接收包含至少一个类型-长度-值TLV元素的消息;
解码所述消息的至少一部分;
产生用于标识所述消息或相关消息内容的消息标识符;
接收包含所述消息标识符和操作标识符的消息编码或解码操作请求,其中所述消息编码或解码操作请求包括所述消息标识符代替要操作的消息有效载荷;
使用所述消息标识符查询数据结构以获得包括所述至少一个TLV元素的经解码的消息内容;
使用所述操作标识符来执行消息编码或解码操作,所述消息编码或解码操作涉及修改从由所述消息标识符指示的所述消息解码出的所述至少一个TLV元素;以及
发送指示所述消息编码或解码操作是否被成功执行的响应。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/473,519 US10341411B2 (en) | 2017-03-29 | 2017-03-29 | Methods, systems, and computer readable media for providing message encode/decode as a service |
US15/473,519 | 2017-03-29 | ||
PCT/US2018/016042 WO2018182843A1 (en) | 2017-03-29 | 2018-01-30 | Methods, systems, and computer readable media for providing message encode/decode as a service |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110582760A CN110582760A (zh) | 2019-12-17 |
CN110582760B true CN110582760B (zh) | 2023-06-02 |
Family
ID=61249706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880025834.4A Active CN110582760B (zh) | 2017-03-29 | 2018-01-30 | 用于提供消息编码/解码作为服务的方法、系统和计算机可读介质 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10341411B2 (zh) |
EP (1) | EP3603021B1 (zh) |
JP (1) | JP7046974B2 (zh) |
CN (1) | CN110582760B (zh) |
WO (1) | WO2018182843A1 (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10289384B2 (en) | 2014-09-12 | 2019-05-14 | Oracle International Corporation | Methods, systems, and computer readable media for processing data containing type-length-value (TLV) elements |
US10193802B2 (en) | 2016-09-13 | 2019-01-29 | Oracle International Corporation | Methods, systems, and computer readable media for processing messages using stateful and stateless decode strategies |
US11146380B2 (en) * | 2017-08-03 | 2021-10-12 | Parity Technologies Ltd. | Methods and systems for a heterogeneous multi-chain framework |
US11561997B2 (en) * | 2019-03-13 | 2023-01-24 | Oracle International Corporation | Methods, systems, and computer readable media for data translation using a representational state transfer (REST) application programming interface (API) |
CN110113402B (zh) * | 2019-04-28 | 2021-11-19 | 上海上湖信息技术有限公司 | 一种web服务通信的方法及装置 |
US11095691B2 (en) | 2019-06-26 | 2021-08-17 | Oracle International Corporation | Methods, systems, and computer readable media for establishing a communication session between a public switched telephone network (PSTN) endpoint and a web real time communications (WebRTC) endpoint |
US11201954B2 (en) * | 2019-11-30 | 2021-12-14 | Verizon Patent And Licensing Inc. | Systems and methods for binary message transformation using custom descriptors |
US11411925B2 (en) | 2019-12-31 | 2022-08-09 | Oracle International Corporation | Methods, systems, and computer readable media for implementing indirect general packet radio service (GPRS) tunneling protocol (GTP) firewall filtering using diameter agent and signal transfer point (STP) |
US11553342B2 (en) | 2020-07-14 | 2023-01-10 | Oracle International Corporation | Methods, systems, and computer readable media for mitigating 5G roaming security attacks using security edge protection proxy (SEPP) |
US11751056B2 (en) | 2020-08-31 | 2023-09-05 | Oracle International Corporation | Methods, systems, and computer readable media for 5G user equipment (UE) historical mobility tracking and security screening using mobility patterns |
US11681635B2 (en) * | 2020-09-07 | 2023-06-20 | Mellanox Technologies, Ltd. | Secure flash controller |
US11825310B2 (en) | 2020-09-25 | 2023-11-21 | Oracle International Corporation | Methods, systems, and computer readable media for mitigating 5G roaming spoofing attacks |
US11832172B2 (en) | 2020-09-25 | 2023-11-28 | Oracle International Corporation | Methods, systems, and computer readable media for mitigating spoofing attacks on security edge protection proxy (SEPP) inter-public land mobile network (inter-PLMN) forwarding interface |
US11622255B2 (en) | 2020-10-21 | 2023-04-04 | Oracle International Corporation | Methods, systems, and computer readable media for validating a session management function (SMF) registration request |
US11528251B2 (en) * | 2020-11-06 | 2022-12-13 | Oracle International Corporation | Methods, systems, and computer readable media for ingress message rate limiting |
US11770694B2 (en) | 2020-11-16 | 2023-09-26 | Oracle International Corporation | Methods, systems, and computer readable media for validating location update messages |
US11818570B2 (en) | 2020-12-15 | 2023-11-14 | Oracle International Corporation | Methods, systems, and computer readable media for message validation in fifth generation (5G) communications networks |
US11812271B2 (en) | 2020-12-17 | 2023-11-07 | Oracle International Corporation | Methods, systems, and computer readable media for mitigating 5G roaming attacks for internet of things (IoT) devices based on expected user equipment (UE) behavior patterns |
US11700510B2 (en) | 2021-02-12 | 2023-07-11 | Oracle International Corporation | Methods, systems, and computer readable media for short message delivery status report validation |
US11516671B2 (en) | 2021-02-25 | 2022-11-29 | Oracle International Corporation | Methods, systems, and computer readable media for mitigating location tracking and denial of service (DoS) attacks that utilize access and mobility management function (AMF) location service |
US11689912B2 (en) | 2021-05-12 | 2023-06-27 | Oracle International Corporation | Methods, systems, and computer readable media for conducting a velocity check for outbound subscribers roaming to neighboring countries |
CN114090928B (zh) * | 2022-01-24 | 2022-04-08 | 湖南四方天箭信息科技有限公司 | 嵌套html实体解码方法、装置、计算机设备和存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103493522A (zh) * | 2011-03-03 | 2014-01-01 | 泰科来股份有限公司 | 用于丰富Diameter信令消息的方法、系统和计算机可读介质 |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE519475C2 (sv) | 1998-12-15 | 2003-03-04 | Telia Ab | Filtrering av IP-paket |
US20020109879A1 (en) * | 2000-08-23 | 2002-08-15 | Wing So John Ling | Co-channel modulation |
DE10227165A1 (de) * | 2002-06-18 | 2004-01-29 | Siemens Ag | Verfahren und Anordnung zur Codierung bzw. Decodierung einer Folge digitaler Daten |
US7676562B2 (en) | 2004-01-20 | 2010-03-09 | Microsoft Corporation | Computer system for accessing instrumentation information |
US8082304B2 (en) | 2004-12-10 | 2011-12-20 | Cisco Technology, Inc. | Guaranteed delivery of application layer messages by a network element |
US8514871B2 (en) | 2006-07-24 | 2013-08-20 | At&T Intellectual Property I, L.P. | Methods, systems, and computer program products for marking data packets based on content thereof |
US7924730B1 (en) | 2006-10-30 | 2011-04-12 | Solace Systems, Inc. | Method and apparatus for operations, administration and maintenance of a network messaging layer |
KR101513028B1 (ko) * | 2007-07-02 | 2015-04-17 | 엘지전자 주식회사 | 방송 수신기 및 방송신호 처리방법 |
US8756337B1 (en) | 2007-08-03 | 2014-06-17 | Hewlett-Packard Development Company, L.P. | Network packet inspection flow management |
US8005087B2 (en) | 2008-09-16 | 2011-08-23 | Alcatel Lucent | Application-level processing for default LTE bearer |
KR101152958B1 (ko) | 2008-12-19 | 2012-06-08 | 한국전자통신연구원 | 계층적 패킷 처리 장치 및 방법 |
CN101771627B (zh) | 2009-01-05 | 2015-04-08 | 武汉邮电科学研究院 | 互联网实时深度包解析和控制节点设备和方法 |
US20120327779A1 (en) | 2009-06-12 | 2012-12-27 | Cygnus Broadband, Inc. | Systems and methods for congestion detection for use in prioritizing and scheduling packets in a communication network |
US8531961B2 (en) | 2009-06-12 | 2013-09-10 | Cygnus Broadband, Inc. | Systems and methods for prioritization of data for intelligent discard in a communication network |
US8792510B2 (en) | 2010-03-17 | 2014-07-29 | Futurewei Technologies, Inc. | System and method for pseudowire packet cache and re-transmission |
JP5356350B2 (ja) | 2010-09-30 | 2013-12-04 | ヤフー株式会社 | ファイル送受信システム、端末装置、ストレージサーバ、ファイル送受信方法及びプログラム |
EP2666263B1 (en) | 2011-01-21 | 2019-07-24 | Tekelec, Inc. | Methods, systems, and computer readable media for screening diameter messages within a diameter signaling router (dsr) having a distributed message processor architecture |
US8665739B2 (en) | 2011-03-16 | 2014-03-04 | Juniper Networks, Inc. | Packet loss measurement at service endpoints of a virtual private LAN service |
GB2493130B (en) | 2011-07-11 | 2018-08-01 | Metaswitch Networks Ltd | SIP server overload control |
CN102413141B (zh) * | 2011-11-30 | 2014-10-08 | 华为技术有限公司 | 网络消息解析方法及通信设备 |
EP2826210B1 (en) | 2012-03-14 | 2016-06-29 | Telefonaktiebolaget LM Ericsson (publ) | Method for providing a qos prioritized data traffic |
US9633097B2 (en) | 2012-10-23 | 2017-04-25 | Ip Reservoir, Llc | Method and apparatus for record pivoting to accelerate processing of data fields |
US9633093B2 (en) | 2012-10-23 | 2017-04-25 | Ip Reservoir, Llc | Method and apparatus for accelerated format translation of data in a delimited data format |
EP2961592B1 (en) * | 2013-03-01 | 2021-04-07 | Essilor International | Method for providing a referencing element to an optical lens member |
CN103236941B (zh) * | 2013-04-03 | 2015-09-30 | 华为技术有限公司 | 一种链路发现方法和装置 |
US9432341B2 (en) * | 2013-05-30 | 2016-08-30 | International Business Machines Corporation | Securing data in a dispersed storage network |
US20150201045A1 (en) * | 2014-01-13 | 2015-07-16 | Transcirrus | Automatic connection of nodes to a cloud cluster |
US20170126569A1 (en) | 2014-06-12 | 2017-05-04 | Convida Wireless, Llc | Enhanced neighbor discovery to support load balancing |
US20160007780A1 (en) * | 2014-07-10 | 2016-01-14 | 2Dw Llc | Coffee cup lid with hook |
WO2016022552A1 (en) * | 2014-08-04 | 2016-02-11 | Emanuele Mandelli | Scaling down pixel sizes in image sensors |
US10289384B2 (en) * | 2014-09-12 | 2019-05-14 | Oracle International Corporation | Methods, systems, and computer readable media for processing data containing type-length-value (TLV) elements |
US9893995B1 (en) * | 2014-09-25 | 2018-02-13 | Cisco Technology, Inc. | Systems, methods, and apparatus for implementing agents in service appliances |
US10050847B2 (en) | 2014-09-30 | 2018-08-14 | Keysight Technologies Singapore (Holdings) Pte Ltd | Selective scanning of network packet traffic using cloud-based virtual machine tool platforms |
US10218600B2 (en) * | 2016-02-19 | 2019-02-26 | Futurewei Technologies, Inc. | Path computation element hierarchical software defined network control |
US9639714B1 (en) * | 2016-05-27 | 2017-05-02 | Charter Communications Operating, Llc | Secure transmission of sensitive data |
US10193802B2 (en) | 2016-09-13 | 2019-01-29 | Oracle International Corporation | Methods, systems, and computer readable media for processing messages using stateful and stateless decode strategies |
-
2017
- 2017-03-29 US US15/473,519 patent/US10341411B2/en active Active
-
2018
- 2018-01-30 CN CN201880025834.4A patent/CN110582760B/zh active Active
- 2018-01-30 EP EP18706337.5A patent/EP3603021B1/en active Active
- 2018-01-30 JP JP2019553236A patent/JP7046974B2/ja active Active
- 2018-01-30 WO PCT/US2018/016042 patent/WO2018182843A1/en unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103493522A (zh) * | 2011-03-03 | 2014-01-01 | 泰科来股份有限公司 | 用于丰富Diameter信令消息的方法、系统和计算机可读介质 |
Also Published As
Publication number | Publication date |
---|---|
JP2020519048A (ja) | 2020-06-25 |
EP3603021A1 (en) | 2020-02-05 |
CN110582760A (zh) | 2019-12-17 |
JP7046974B2 (ja) | 2022-04-04 |
EP3603021B1 (en) | 2022-06-29 |
WO2018182843A1 (en) | 2018-10-04 |
US10341411B2 (en) | 2019-07-02 |
US20180288127A1 (en) | 2018-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110582760B (zh) | 用于提供消息编码/解码作为服务的方法、系统和计算机可读介质 | |
US11824962B2 (en) | Methods and apparatus for sharing and arbitration of host stack information with user space communication stacks | |
US11218537B2 (en) | Load balancing in distributed computing systems | |
EP3516833B1 (en) | Methods, systems, and computer readable media for discarding messages during a congestion event | |
CN105282138B (zh) | 兴趣返回控制消息 | |
US10193802B2 (en) | Methods, systems, and computer readable media for processing messages using stateful and stateless decode strategies | |
US20090316581A1 (en) | Methods, Systems and Computer Program Products for Dynamic Selection and Switching of TCP Congestion Control Algorithms Over a TCP Connection | |
CN113326228B (zh) | 基于远程直接数据存储的报文转发方法、装置及设备 | |
WO2020108742A1 (en) | Method and system for reducing the size of a blockchain | |
US10880369B2 (en) | Session persistence method, device, and storage medium | |
EP3148136B1 (en) | Flow control with network named fragments | |
CN113114570B (zh) | 流表项的控制方法、装置及系统 | |
US10289384B2 (en) | Methods, systems, and computer readable media for processing data containing type-length-value (TLV) elements | |
CN111082953B (zh) | 一种配置方法、装置及相关设备 | |
CN111669320B (zh) | 一种处理报文的方法及网络设备 | |
CN108199965B (zh) | Flow spec表项下发方法、网络设备、控制器及自治系统 | |
Desbiens | Mqtt | |
US10574526B2 (en) | Control method for application feature rules and application feature server | |
US11646969B2 (en) | Application-based data labeling | |
KR101775324B1 (ko) | 적어도 하나의 노드를 포함하는 힙에서 특정 노드의 삭제를 취급하는 방법 및 이를 수행하는 컴퓨팅 장치 | |
WO2024069219A1 (en) | Receive side application auto-scaling | |
WO2020031152A1 (en) | Method and apparatus for providing a comfort layer for service based architectures of communication network | |
CN117336262A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |