CN107925677A - 用于卸载数据对象复制以及服务功能链管理的技术 - Google Patents

用于卸载数据对象复制以及服务功能链管理的技术 Download PDF

Info

Publication number
CN107925677A
CN107925677A CN201680049724.2A CN201680049724A CN107925677A CN 107925677 A CN107925677 A CN 107925677A CN 201680049724 A CN201680049724 A CN 201680049724A CN 107925677 A CN107925677 A CN 107925677A
Authority
CN
China
Prior art keywords
interchanger
service function
network packet
data object
metadata
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.)
Granted
Application number
CN201680049724.2A
Other languages
English (en)
Other versions
CN107925677B (zh
Inventor
D·库玛尔
N·R·亚尼
R·王
C·马乔科
S·贾殷
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 CN107925677A publication Critical patent/CN107925677A/zh
Application granted granted Critical
Publication of CN107925677B publication Critical patent/CN107925677B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/567Integrating service provisioning from a plurality of service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/59Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Abstract

用于卸载数据对象复制和服务功能链管理的技术包括交换机,其通信地耦合至一个或多个计算节点,该计算节点能够执行虚拟机并且存储数据对象。交换机被配置为确定服务功能链的元数据,将网络分组发送至由计算节点中的一个或多个执行的服务功能链的服务功能以用于处理网络分组。交换机进一步被配置为从服务功能接收反馈,基于反馈来更新元数据,以及将网络分组发送至服务功能链的下一服务功能。额外地或替代地,交换机被配置为识别存储接收到的数据对象的多个计算节点(即,存储节点),基于存储节点的数量复制数据对象,以及将接收到的数据对象和复制的数据对象中的每个发送至不同的相对应的存储节点。描述并且要求保护其它实施例。

Description

用于卸载数据对象复制以及服务功能链管理的技术
与相关美国专利申请的交叉引用
本申请要求保护于2015年9月26日提交的美国专利申请序列号No.14866,891,题为“TECHNOLOGIES FOR OFFLOADING DATA OBJECT REPLICATION AND SERVICE FUNCTIONCHAIN MANAGEMENT”的优先权。
背景技术
网络操作者和通信服务提供者典型地依赖复杂、大规模的计算环境,例如,高性能计算(HPC)和云计算环境。这样的云计算环境可以提供成本节约的和可缩放的资源,该资源可以使用商品计算和存储组件来共享用于应用、网络服务以及存储的平台资源。然而,诸如在存储节点群集中实现冗余的存储对象而同时提供改进的性能能力和数据恢复之类的某些支持功能可以在存储大量数据时(即,因跨存储节点群集的多个存储节点创建和维护冗余副本引起的)引入针对写入操作的延迟。相似地,以下某些操作在负载增加处理量和需要被收集以动态地选择和应用服务功能链(SFC)的网络服务的集合的智能时,可能引入性能问题,该操作例如为SFC的网络服务,该网络服务典型地运行在虚拟环境中的容器或虚拟机(VM)内,同时提供可缩放性以匹配业务需求并且减少操作成本。
附图说明
本文中描述的概念通过示例而非限制在附图中示出。出于示出的简便和清晰,附图中示出的元件不必按比例绘制。在认为适当的情况下,附图标记在附图中重复以指示相对应或类似的元件。
图1是包括通信地耦合至交换机的计算节点的集合的用于卸载数据对象复制和服务功能链管理的系统的至少一个实施例的简化的框图,;
图2是图1的系统的交换机的至少一个实施例的简化的框图;
图3是可以由图1和图2的交换机建立的环境的至少一个实施例的简化的框图;
图4和图5是可以由图1和图2的交换机执行的用于交换机辅助的服务功能链管理的方法的至少一个实施例的简化的流程图;
图6是可以由图1和图2的交换机建立的环境的至少一个其他实施例的简化的框图;以及
图7和图8是可以由图1和图2的交换机执行的用于交换机辅助的对象复制的方法的至少一个实施例的简化的流程图。
具体实施方式
虽然本公开的概念容易经受各种修改和替代形式,但是其具体的实施例通过附图中的示例示出并且在本文中具体地被描述。然而,应该理解的是,不是要将本公开的概念限制于公开的特定形式,相反,是要涵盖与本公开和所附权利要求一致的所有修改、等同以及替代。
说明书中对“一个实施例”、“实施例”、“示出性实施例”等的引用指示描述的实施例可以包括特定的特征、结构或特性,但是每个实施例可以或者可以不必包括特定的特征、结构或特性。此外,这样的短语不必指代相同的实施例。另外,当结合实施例描述特定的特征、结构或特性时,可以认为,结合其它实施例来实现这样的特征、结构或特性是在本领域技术人员的知识内的,无论该实施例是否明确地被描述。此外,应该认识到的是,以“A、B和C中的至少一个”形式的包括在列表中的项可以表示(A);(B);(C);(A和B);(A和C);(B和C);或者(A、B和C)。相似地,以“A、B或C中的至少一个”形式列出的项可以表示(A);(B);(C);(A和B);(A和C);(B和C);或者(A、B和C)。
在一些情况中,公开的实施例可以以硬件、固件、软件或者其任意组合来实现。公开的实施例还可以实现为由以下介质携带的或者存储在以下介质上的指令,该介质为一个或多个暂时性或非暂时性机器可读(例如,计算机可读)存储介质(例如,存储器、数据存储装置等),该指令可以由一个或多个处理器来读取和执行。机器可读存储介质可以体现为用于存储或发送以由机器(例如,易失性或者非易失性存储器、媒体光盘、或者其它媒体设备)可读形式的信息的任意存储设备、机制、或者其它物理结构。
在示图中,一些结构或方法特征可以以特定的布置和/或顺序示出。然而,应该认识到的是,这样的特定布置和/或顺序可能不是必需的。而在一些实施例中,这样的特征可以以与示出性示图中所示的不同的方式和/或顺序来布置。此外,将结构或方法特征包括在特定的示图中不意味着暗示在所有实施例中都要求这样的特征,并且在一些实施例中,这样的特征可以不被包括或者可以与其它特征组合在一起。
现在参考图1,在示出性实施例中,用于卸载数据对象复制和服务功能链管理的系统100包括在网络104上通过交换机106通信地耦合的源端节点102和目的地端节点108。如示出的,交换机106进一步通信地耦合至能够存储对象(例如,冗余备份)和/或执行一个或多个网络分组处理功能(即,网络服务)的计算节点110(例如,计算和/或存储节点)的群集。
在使用中,源端节点102发送旨当由目标计算节点(例如,计算节点110、目的地端节点108等中的一个或多个)接收的网络分组(即,经由网络104)。例如,网络分组可以包括要被复制并且存储在计算节点110中的一个或多个处的数据对象。因此,交换机106可以接收数据对象,对数据对象进行复制并且将复制的数据发送至将复制的对象存储于其上的识别的计算节点110的子集。
然而,不像常规的技术(即,没有针对流/对象复制的硬件卸载支持的交换机),其中,对数据对象的复制和转发在被识别用于存储数据对象的计算节点110中的每个处执行,交换机106被配置为支持针对流/对象复制的硬件卸载。如此,交换机106可以针对识别的计算节点110中的每个执行数据对象复制并且更新网络分组的部分(例如,报头)。换言之,可以将工作(例如,建立将数据对象存储于其上的计算节点之间的连接、复制数据对象、在计算节点之间传输数据对象等)卸载至交换机106,由此移除与常规技术相关联的延迟和开销。
在另一示例中,网络分组可以由交换机106接收,并且要求在将网络分组发送至目标计算节点(例如,目的地端节点108)先前执行对网络分组的处理。为此,诸如防火墙服务、网络地址转换(NAT)服务、负载平衡服务、深度分组检测(DPI)服务、入侵检测和/或防御系统(IDS/IPS)服务、封装服务、传输控制协议(TCP)优化服务、加密/解密服务和/或其它处理服务之类的虚拟化服务功能(即,网络服务、网络功能等)可以动态地链接在一起以在被称为服务链接的过程中形成服务功能链。在服务功能链中,每个服务功能由一个或多个虚拟机(VM)执行,该虚拟机典型地在计算节点110中的一个或多个上起转以执行服务功能链的特定服务功能。
示例服务功能链包括多于一个的安全服务功能(例如,虚拟化防火墙功能、虚拟化入侵检测功能等),该安全服务功能中的每个可以被配置为,以特定的顺序处理网络分组。然而,不像传统的服务功能链技术,其中,服务功能链中的每个服务功能提取和计算网络分组的元数据,以及操控网络分组的报头,并且将网络分组转发至服务功能链中的下一服务功能,交换机106被配置为支持针对服务功能元数据提取/计算以及网络分组操控和转发的硬件卸载。换言之,可以将工作(例如,在服务功能链的每个网络服务处执行的计算)卸载至交换机106,由此移除归因于在服务功能链的每个网络服务处执行的计算的开销和延迟。
网络104可以体现为任意类型的有线或无线通信网络,包括诸如全球移动通信系统(GSM)或者长期演进(LTE)之类的蜂窝网络、电话服务网络、数字用户线(DSL)网络、电缆网络、局域网或广域网、全球网(例如,互联网)、或者其任意组合。应该认识到的是,网络104可以用作集中式网络,并且在一些实施例中,可以通信地耦合至另一网络(例如,互联网)。因此,网络104可以包括用于促进源端节点102与交换机106以及交换机106与目的地端节点108之间的通信所需要的各种网络设备(未示出),虚拟的和物理的,例如,路由器、交换机、网络集线器、服务器、存储设备、计算设备等。
交换机106可以体现为能够在计算设备(例如,源端节点102与计算节点110、源端节点102与目的地计算节点108等)之间转发数据(例如,网络分组)并且执行本文中描述的功能的任意类型的网络分组交换设备。例如,交换机106可以体现为,没有限制,机架安装式交换机、独立交换机、完全管理的交换机、部分管理的交换机、全双工和/或半双工通信模式使能的交换机等。如图2中示出的,示出性交换机106包括处理器202、输入/输出(I/O)子系统204、存储器206、数据存储设备208以及通信电路210。当然,在其它实施例中,交换机106可以包括其它或者额外的组件,例如包括通常在交换机中找到的组件。此外,在一些实施例中,示出性组件中的一个或多个可以并入另一组件或者另外形成另一组件的部分。例如,在一些实施例中,存储器206或者其部分可以并入处理器202。另外,在一些实施例中,示出性组件中的一个或多个可以从交换机106中省略。
处理器202可以体现为能够执行本文中描述的功能的任意类型的处理器。例如,处理器202可以体现为单核或多核处理器、数字信号处理器、微控制器、或者其它处理器或处理/控制电路。相似地,存储器206可以体现为能够执行本文中描述的功能的任意类型的易失性或者非易失性存储器或者数据存储装置。在操作中,存储器206可以存储在交换机106的操作期间使用的各种数据和软件,例如,操作系统、应用、程序、库和驱动。存储器206经由I/O子系统204通信地耦合至处理器202,该I/O子系统可以体现为用于促进与处理器202、存储器206以及交换机106的其它组件的输入/输出操作的电路和/或组件。例如,I/O子系统204可以体现为,或者另外包括存储器控制器集线器、输入/输出控制集线器、固件设备、通信链路(即,点对点式链路、总线链路、导线、电缆、光导、印刷电路板迹线等)和/或用于促进输入/输出操作的其它组件和子系统。在一些实施例中,I/O子系统204可以形成片上系统(SoC)的部分,并且与处理器202、存储器206以及交换机106的其它组件一起并入在单个集成电路芯片上。
数据存储设备208可以体现为被配置用于数据的短期或长期存储的任意类型的设备,例如,存储器设备和电路、存储器卡、硬盘驱动器、固态驱动器、或者其它数据存储设备。应该认识到的是,数据存储设备208和/或存储器206(例如,计算机可读存储介质)可以存储如本文中描述的各种数据,该数据包括能够由交换机106的处理器(例如,处理器202)执行的操作系统、应用、程序、库、驱动、指令等。
通信电路210可以体现为能够使能通过网络(例如,网络104)的交换机106与其它计算设备(例如,源端节点102、计算节点110、目的地端节点108等)之间的通信的任意通信电路、设备或者其组合。通信电路210可以被配置为使用任意一个或多个通信技术(例如,无线或有线通信技术)以及相关联的协议(例如,以太网、WiMAX、LTE、5G等)以实现这样的通信。
示出性通信电路210包括网络接口控制器(NIC)212。NIC 212可以体现为一个或多个内插式板卡、子卡、网络接口卡、控制器芯片、芯片组、或者可以由交换机106使用的其它设备。例如,在一些实施例中,NIC 212可以与处理器202集成在一起,体现为通过扩展总线(例如,快速PCI)耦合至I/O子系统204的扩展卡、包括一个或多个处理器的SoC的部分,或者被包括在还包含一个或多个处理器的多芯片封装上。
替代地,在一些实施例中,NIC 212可以包括都在NIC 212本地的本地处理器(未示出)和/或本地存储器(未示出)。在这样的实施例中,NIC 212的本地处理器能够执行卸载功能(例如,复制、网络分组处理等),如本文中描述的。额外地或替代地,在这样的实施例中,NIC 212的本地存储器能够将数据存储在NIC 212本地。额外地或替代地,在一些实施例中,NIC 212的功能可以在板级、插槽级、芯片级和/或其它级处集成到交换机106的一个或多个组件中。
应该认识到的是,在一些实施例中,系统可以包括中间计算设备(未示出)(例如,计算机联网设备、客户端服务节点、代理计算设备等),该中间计算设备包括图2的示出性交换机106的组件,以及能够执行本文中描述的交换机106的功能的硬件交换机和/或NIC。换言之,在一些实施例中,交换机106可以不是独立计算设备,而交换机106可以是中间计算设备的硬件组件(例如,硬件交换机、NIC等),本文中描述的功能可以被卸载至该硬件组件并且由该硬件组件执行。
再次参考图1,计算节点110的示出性群集包括第一计算节点,其被指定为计算节点(1)112;第二计算节点,其被指定为计算节点(2)114;以及第三计算节点,其被指定为计算节点(3)116(即,计算节点110的“第N”计算节点,其中,“N”为正整数并且指定一个或多个额外的计算节点110)。计算节点110可以体现为能够执行本文中描述的功能的任意类型的计算或计算机设备,包括而没有限制,服务器(例如,独立的、机架安装式的、刀片式的等)、网络装置(例如,物理的或虚拟的)、高性能计算设备、web装置、分布式计算系统、计算机、基于处理器的系统、多处理器系统和/或移动计算设备(例如,智能电话、平板计算机、膝上型计算机、笔记本计算机、可穿戴计算设备等)。如此,与图2的示出性交换机106相似,计算节点110中的每个可以包括处理器、I/O子系统、存储器、数据存储设备、和/或通信电路,出于描述清晰的目的未示出。因此,对相似组件的进一步描述在本文中不重复,可以理解的是,对以上关于交换机106提供的相对应的组件的描述同样适用于计算节点110中的每个的相对应的组件。
源端节点102和目的地端节点108中的每个可以体现为能够执行本文中描述的功能的任意类型的计算或计算机设备,包括而没有限制,计算设备、存储设备、移动计算设备(例如,智能电话、平板、膝上型的、笔记本、可穿戴的等)、服务器(例如,独立的、机架安装式的、刀片式的等)、网络装置(例如,物理的或虚拟的)、web装置、分布式计算系统、基于处理器的系统和/或多处理器系统。与图2的示出性交换机106相似,源端节点102和目的地端节点108中的每个可以包括处理器、I/O子系统、存储器、数据存储设备和/或通信电路,出于描述清晰的目的未示出。如此,对相似组件的进一步描述在本文中不重复,可以理解的是,对以上关于交换机106提供的相对应的组件的描述同样适用于源端节点102和目的地端节点108的相对应的组件。
在一些实施例中,系统100可以额外地包括控制器节点118(例如,网络控制器),其通信地耦合至交换机106。控制器节点118可以体现为能够执行本文中描述的功能的任意类型的硬件、软件和/或固件。例如,在一些实施例中,没有限制,控制器节点118可以体现为管理程序或者虚拟机管理器(VMM)、SDN控制器、或者NFV管理和编排(MANO)。在这样的实施例中,控制器节点118可以被配置为向交换机106提供策略信息(例如,网络分组流识别信息、网络分组转发信息、安全信息、网络分组处理信息等)。应该认识到的是,在一些实施例中,控制器节点118可以连接至多于一个的交换机106。在这样的实施例中,控制器节点118可以被配置为发现并且配置所有能够连接的交换机以针对跨多于一个交换机106的服务功能链建立完整的转发路径。
现在参考图3,在示出性实施例中,交换机106在操作期间建立环境300。示出性环境300包括网络通信模块310、网络分组分析模块320、策略管理模块330、服务功能链管理模块340、元数据管理模块350以及在一些实施例中,包括控制器接合模块360。模块、逻辑以及环境300的其它组件中的每个可以体现为硬件、软件、固件或者其组合。例如,模块、逻辑以及环境300的其它组件中的每个可以形成以下组件的部分,或者另外由以下组件建立,该组件为处理器202、通信电路210(例如,NIC 212)和/或交换机106的其它硬件组件。如此,在一些实施例中,环境300的模块中的一个或多个可以体现为电路或者电气设备的集合(例如,网络通信电路310、网络分组分析电路320、策略管理电路330、服务功能链管理电路340、元数据管理电路350、控制器接合电路360等)。
在示出性环境300中,交换机106包括服务功能链数据302和策略数据304,该服务功能链数据302和策略数据304中的每个可以由交换机106的各种模块和/或子模块来访问。应该认识到的是,交换机106可以包括通常在网络交换机中找到的其它组件、子组件、模块、子模块和/或设备,出于描述清晰的目的未在图3中示出。
网络通信模块310被配置为促进向和从交换机106的入站和出站网络通信(例如,网络业务、网络分组、网络流等)。为此,网络通信模块310被配置为接收和处理来自其它计算设备(例如,源端节点102、计算节点110中的一个或多个、和/或经由网络104通信地耦合的另一计算设备)的网络分组。此外,网络通信模块310被配置为准备网络分组并且将其发送至另一计算设备(例如,目的地计算节点108、计算节点110中的一个或多个、和/或经由网络104通信地耦合的另一计算设备)。因此,在一些实施例中,网络通信模块310的功能的至少部分可以由通信电路210来执行,并且较具体地由NIC 212来执行。
网络分组分析模块320被配置为对网络分组的至少部分(例如,网络分组的报头)进行分析以确定由交换机106接收到的网络分组的分类(例如,有效负载类型、工作负载类型、服务上下文等)。为此,在一些实施例中,网络分组分析模块320可以被配置为取回网络分组的标识符(例如,源互联网协议(IP)地址、目的地IP地址、源网络端口、目的地网络端口、动态主机配置协议(DHCP)地址、协议等),例如从网络分组的报头取回。例如,在采用服务功能链接的一些数据中心环境中,可以使用分配方案,诸如,网络服务报头(NSH)上下文报头分配。在这样的实施例中,网络分组分析模块320可以依赖该分配方案(例如,NSH结构上下文报头)来提供以下机制,该机制用于实施网络分组的分类、确定将由服务功能链的各种服务功能中的每个处理的网络分组的元数据、和/或提供用于存储元数据的插入点。
策略管理模块330被配置为管理和强制实施对在交换机106处接收到的网络分组的策略。为此,策略管理模块包括策略确定模块332和策略强制实施模块334。策略确定模块332被配置为基于网络分组的先前确定的特性(诸如标识符和/或分类)来确定针对每个接收到的网络分组的策略。策略强制实施模块334被配置为强制实施策略,例如,经由控制器接合模块360从控制器接收到的那些策略,如以下描述的。
每个策略定义指令集,该指令集可由策略确定模块332和/或策略强制实施模块334使用来执行特定的功能或者将指令转发至另一计算设备(例如,计算节点110中的一个),该指令可由接收计算设备使用来执行特定的功能。例如,每个策略可用于基于网络分组的标识符/特性来识别相对应的网络流,以及识别对于处理接收到的网络分组所必需的服务功能(例如,分组检测、入侵检测以及防火墙)的集合。在一些实施例中,可以将策略存储在策略数据304中。
服务功能链管理模块340被配置为生成或者另外确定,用于处理网络分组的服务功能链的服务功能。换言之,服务功能链管理模块340被配置为管理多个服务功能的服务功能链,每个服务功能可以被配置为执行特定的网络分组处理功能。为此,服务功能链管理模块340包括服务功能管理模块342和服务功能接合模块344。
服务功能管理模块342被配置为向计算节点110中的一个或多个提供信息,该信息可由计算节点110使用来起转或停转针对服务功能链的服务功能中的每个的一个或多个虚拟机(VM)。此外,服务功能管理模块342被配置为管理哪个VM已在计算节点110中的哪个上被实例化,以及VM中的每个将要执行哪个服务功能。在一些实施例中,这样的信息可以存储在服务功能链数据302中。
服务功能接合模块344被配置为提供交换机106与运行在计算节点110中的一个或多个上的服务功能链中的每个服务功能之间的接口。如此,网络服务接合模块344被配置为基于计算节点110中的哪个正在执行特定的服务功能,将网络分组转发至适当的计算节点110。此外,网络服务接合模块344被配置为作为服务功能在其上执行的结果而从计算节点110接收反馈。应该认识到的是,在一些实施例中,例如,当服务功能是已知的非服务功能链或者为传统服务时,服务功能链代理可以在服务功能接合模块344与该服务功能之间实现以用于处理和/或存储元数据。
元数据管理模块350被配置为确定与接收到的网络分组相对应的元数据。元数据可以包括可用于识别网络分组的分类和/策略的信息,使得元数据可以用于创建和/或强制实施策略。例如,元数据可以包括网络分组的标识符的散列结果使得服务功能链中的每个服务功能不必计算散列键值。在另一示例中,元数据可以包括网络分组的有效负载,无论其是否为重建的IP帧,使得每个服务功能不必处理TCP/IP栈并且移除归因于这样的处理的延迟、能量等。还在另一示例中,元数据可以包括关于每个服务功能中的分组到达的时间戳信息。而在另一示例中,元数据可以包括租户特定的信息。
如此,元数据可以基于接收到的网络分组的确定的特性、网络分组要被转发至的服务功能、和/或从先前处理网络分组的先前的服务功能中接收到的反馈。在一些实施例中,元数据可以进一步基于静态配置(例如,由控制器节点118配置的)和/或服务功能链的先前的服务功能遇到的动态情况。此外,在一些实施例中,元数据可以被标准化或者对特定的服务提供者是专有的。
此外,元数据管理模块350被配置为将元数据插入到网络分组的部分(例如,报头)中。为此,元数据管理模块350可以包括网络分组修改模块352,其用于修改(例如,插入或移除)网络分组的报头中的元数据。在一些实施例中,可以保留接收到的网络分组来维持网络分组的完整性。在这样的实施例中,网络分组修改模块352可以进一步被配置为生成接收到的网络分组的副本。因此,应该认识到的是,可以对复制的网络分组而非接收到的网络分组执行对网络分组的修改,例如,本文中描述的那些。
元数据管理模块350可以额外地或者替代地被配置为将元数据存储在交换机106本地,并且向相对应的服务功能提供应用编程接口(API)使得相对应的服务功能可以使用API来读取本地存储的元数据。为此,元数据管理模块350可以包括应用编程接口(API)模块354,其用于在本地(例如,在存储器206和/或数据存储设备208)存储元数据并且向相对应的服务功能提供API以读取本地存储的元数据。
在一些实施例中,元数据管理模块350可以进一步被配置为维持元数据的统计值。在这样的实施例中,交换机106可以使用统计来执行负载平衡、优化路径等。
控制器接合模块360可以被配置为与控制器(例如,控制器节点118)进行接合。例如,控制器接合模块360可以被配置为从控制器接收策略信息(例如,元数据收集策略数据、服务功能策略数据等),该策略信息可由交换机106使用来执行特定的功能。如先前描述的,这样的策略信息可以存储在策略数据304处。也如先前描述的,这样的策略信息可以用于确定网络分组的特性和/或定义哪个服务功能被需要以处理网络分组。在一些实施例中,控制器接合模块360可以向控制器额外地提供反馈,该反馈可由控制器使用来更新针对交换机106的策略信息。
现在参考图4和图5,在使用中,交换机106可以执行用于交换机辅助的服务功能链管理的方法400。应该认识到的是,方法400中的至少部分可以被卸载至交换机106的NIC212并且由交换机106的NIC 212来执行。应该进一步认识到的是,在一些实施例中,方法400可以体现为存储在计算机可读介质上的各种指令,该指令可以由处理器202、NIC 212和/或交换机106的其它组件执行以使交换机106执行方法400。计算机可读介质可以体现为能够由交换机106读取的任意类型的介质,包括但是不限于,存储器206、数据存储装置208、NIC212的本地存储器、交换机106的其它存储器或数据存储设备、可由交换机106的外围设备读取的便携式介质、和/或其它介质。
方法400以框402开始,在框402中,交换机106确定是否由交换机106接收到网络分组,例如从源端节点102接收。如果未接收到网络分组,则方法400环回至框402以继续确定是否接收到网络分组。否则,如果接收到网络分组,则方法400前进至框404。在框404中,交换机106确定网络分组的标识符。如先前描述的,标识符可以包括指示包括在网络分组中的数据对象的可识别特性的任意数据,该可识别特性例如为但是不限于,源IP地址、目的地IP地址、源网络端口、目的地网络端口、协议等。为此,例如,交换机106可以解析网络分组的报头来从报头提取特定的信息。在框406中,交换机106确定网络分组的分类(例如,网络流、工作负载类型、应用类型等)。分类可以基于由标识符的交换机106做出的比较(例如,元组匹配),该标识符是在框404中执行的网络分组分析期间确定的。因此,在一些实施例中,在框408中,交换机106可以基于框404中确定的标识符来确定分类。
在框410中,交换机106确定网络分组的策略。如先前描述的,策略可以包括向交换机106提供关于执行特定功能的指导的指令、如何执行特定功能,和/或要向其它计算设备提供以用于执行特定功能的指令。在一些实施例中,在框412中,策略可以基于框406中确定的分类来确定。在框414中,交换机106确定网络分组的元数据。如先前描述的,元数据可以包括可用于识别网络分组的分类和/或策略的信息,使得元数据可以例如用于创建和/或强制实施策略。在一些实施例中,在框416中,交换机106基于策略和/或分类来确定元数据。
在框418中,交换机106创建针对服务功能链的服务功能的生成的上下文(即,服务上下文)。在一些实施例中,在框420中,上下文可以由交换机106使用来向计算节点110中的一个或多个提供指令,该指令指示要在计算节点110处执行的各种服务功能。此外,在一些实施例中,在框422中,交换机106基于框414处确定的元数据和框410处确定的策略来创建上下文。
在一些实施例中,在框424中,交换机106可以复制网络分组来保留接收到的网络分组的完整性。换言之,可以对复制的网络分组而非接收到的网络分组进行修改(例如,在框430中)并且由各种服务功能来处理。在框426中,交换机106识别当前在计算节点110中的一个处执行的VM,所述VM能够执行服务功能链中的第一服务功能(即,由框418中创建的上下文所生成的)的。在框428中,交换机106更新网络分组的元数据。在一些实施例中,在框430中,交换机106修改网络分组的报头以包括在框414处确定的元数据。替代地,在一些实施例中,在框432中,交换机106将元数据存储在交换机106本地(例如,存储器206和/或数据存储设备208)并且向第一服务功能提供API,使得API可由第一服务功能使用来读取存储在交换机106本地的元数据。
在框434中,交换机106将网络分组转发至服务功能链的第一服务功能。在框436中,交换机106确定是否接收到针对第一服务功能的反馈。如果未接收到,则方法400环回至框436以继续确定是否接收到反馈。否则,如果接收到反馈,则方法400前进至框438。在框438中,交换机106基于反馈来确定是否修改服务功能链的现有的服务功能(即,修改当前服务功能链)。如果服务功能链要被修改,则方法400前进至框440,其中,交换机106在前进至以下描述的框442之前,更新服务功能链的服务功能中的一个或多个。否则,如果交换机106确定不修改服务功能链,则方法400前进至框442。
在框442中,交换机106确定服务功能链是否包括另一服务功能。如果不包括,则方法400分支至框444。在一些实施例中,在框444中,交换机106可以更新网络分组。例如,在一些实施例中,在框446中,交换机106可以基于框436中接收到的反馈来更新网络分组。在框448中,在方法400返回至框402以确定是否接收到另一网络分组之前,将更新的网络分组转发至目标计算节点(例如,图1的目的地计算节点108)。
否则,如果在框442处,交换机106确定服务链包括另一服务功能,则方法400分支至框450。在一些实施例中,在框450中,交换机106可以再次复制接收到的网络分组。在这样的实施例中,在框458和464中由交换机106执行的操作可以使用复制的网络分组而非接收到的网络分组来执行,由此保留接收到的网络分组的完整性。此外,在一些实施例中,在框452中,交换机106可以执行服务功能链优化操作。这样的优化操作可以包括负载平衡操作(例如,基于负载平衡策略)、服务可用性检查等。
在框454中,交换机106识别服务功能链中的下一服务功能。在一些实施例中,在框456中,交换机106可以基于在框452处执行的优化操作中的一个或多个来识别下一服务功能。在框458中,交换机106更新网络分组的元数据。在一些实施例中,在框460中,交换机106可以基于框454中识别的服务功能链中的下一服务功能来更新元数据。额外地或者替代地,在一些实施例中,在框462中,交换机106可以基于框436处接收到的反馈来更新元数据。在框464中,在方法400环回至框436以从下一服务功能接收反馈之前,交换机106将包括更新的元数据的网络分组转发至框454中识别的下一服务功能。
现在参考图6,在另一示出性实施例中,交换机106可以在操作期间建立环境600,环境600可以替代环境300或除环境300之外建立。示出性环境600包括数据对象存储管理模块610,以及图3的网络通信模块310,并且在一些实施例中,包括图3的控制器接合模块360。环境600的模块、逻辑以及其它组件中的每个可以体现为硬件、软件、固件或者其组合。例如,环境600的模块、逻辑以及其它组件中的每个可以形成以下组件的部分,或者另外由以下组件建立,该组件为处理器202、通信电路210(例如,NIC212)和/或交换机106的其它硬件组件。如此,在一些实施例中,环境600的模块中的一个或多个可以体现为电路或电气设备的集合(例如,数据对象存储管理电路610等)。
在示出性环境600中,交换机106包括服务功能链数据602和图3的策略数据304,该服务功能链数据602和图3的策略数据304中的每个可以由交换机106的各种模块和/或子模块存取。应该认识到的是,交换机106可以包括通常在网络交换机中找到的其它组件、子组件、模块、子模块和/或设备,出于描述清晰的目的未在图6中示出。
如先前描述的,网络通信模块310被配置为促进向和从交换机106的入站和出站网络通信(例如,网络业务、网络分组、网络流等)。在一些实施例中,网络通信模块310可以被配置为接收网络分组,该网络分组包括要被存储在多个存储节点(即,能够存储数据对象的计算节点110)处的数据对象(例如,网络分组的有效负载)。也如先前描述的,控制器接合模块360可以被配置为与控制器(例如,控制器节点118)进行接合以例如从控制器取回可以存储在策略数据304中的策略信息。在一些实施例中,控制器接合模块350可以被配置为接收以下策略:所述策略将网络分组和/或数据对象(例如,工作流、工作负载类型、有效负载类型等)的特性映射至多个存储节点。在这样的实施例中,映射策略可以存储在策略数据304处。
数据对象存储管理模块610被配置为接收数据对象,并且识别和存储在多个计算节点110处接收到的数据对象。为此,数据对象存储管理模块610包括存储节点识别模块612、数据对象复制模块614、网络分组修改模块616以及计算节点接合模块618。
存储节点识别模块612被配置为从存储数据对象的计算节点110的群集中确定一个或多个存储节点。为此,在一些实施例中,存储节点识别模块612可以被配置为例如基于网络分组和/或数据对象的标识符(例如,源IP地址、目的地IP地址、源网络端口、目的地网络端口、协议等)来识别接收到的数据对象的网络流。标识符可以包括指示数据对象的可识别特性的任意数据,该可识别特性例如但是不限于,源IP地址、目的地IP地址、源网络端口、目的地网络端口、协议等。替代地,在一些实施例中,存储节点识别模块612可以从源端节点102接收列表,该列表包括其上存储数据对象的存储节点中的每个的识别信息。存储节点识别模块612可以进一步被配置为识别用于存储接收到的数据对象的主存储节点和用于存储数据对象的副本的一个或多个存储节点。
数据对象复制模块614被配置为复制数据对象。为此,数据对象复制模块614被配置为对接收到的数据进行多次复制,该复制次数等于由存储节点识别模块612识别的其上存储复制的数据对象的存储节点的数量。此外,数据对象复制模块614进一步被配置为对针对复制的数据对象中的每个的信息(例如,报头信息、流信息等)进行复制。复制的信息可由网络通信模块310使用来识别复制存储节点中的哪个用于转发复制的数据对象。
网络分组修改模块616被配置为基于复制的数据对象要被转发至复制存储节点中的哪个来修改复制的信息。例如,网络分组修改模块616可以被配置为基于复制的数据对象要被转发至复制存储节点中的哪个来更新与复制存储节点中的一个相对应的信息的特性(例如,目的地地址、网络流等)。
计算节点接合模块618被配置为将数据对象和复制的数据对象转发至识别的存储节点,例如,由存储节点识别模块识别的那些存储节点。计算节点接合模块618进一步被配置为接收和跟踪确认网络分组,该确认网络分组是从数据对象和复制的数据对象被转发至的存储节点接收到的。另外,计算节点接合模块618被配置为将接收到的确认网络分组转发至从其原始地接收到数据对象的计算节点(例如,源端节点102)。
现在参考图7和图8,在使用中,交换机106可以执行用于交换机辅助的数据对象复制的方法700。应该认识到的是,方法700的至少部分可以被卸载至交换机106的NIC 212并且由交换机106的NIC 212执行。应该进一步认识到的是,在一些实施例中,方法700可以体现为存储在计算机可读介质上的各种指令,该指令可以由处理器202、NIC 212和/或交换机106的其它组件执行以使得交换机106执行方法700。计算机可读介质可以体现为能够由交换机106读取的任意类型的介质包括但是不限于,存储器206、数据存储装置208、NIC 212的本地存储器、交换机106的其它存储器或者数据存储设备、可由交换机106的外围设备读取的便携式介质、和/或其它介质。
方法700以框702开始,在框702中,交换机106确定交换机106是否接收到用于复制(即,冗余备份)的数据对象(即,在网络分组中封装的),例如从源端节点102接收。如果未接收到数据对象,则方法700环回至框702以继续确定是否接收到数据对象。否则,如果接收到数据对象,则方法700前进至框704。
在框704中,交换机106确定数据对象的标识符。如先前描述的,标识符可以包括指示数据对象的可识别特性的任意数据,该可识别特性例如但是不限于,源IP地址、目的地IP地址、源网络端口、目的地网络端口、协议等。例如,在一些实施例中,可以从包括数据对象的网络分组的报头来确定标识符。在框706中,交换机确定数据对象的网络流。为此,在一些实施例中,在框708中,交换机106基于在框704处确定的标识符来确定数据对象的网络流。
在框710中,交换机106确定存储对象的多个存储节点。在框712中,交换机106从能够存储数据对象的可用的计算节点110中确定主存储节点和复制存储节点。在一些实施例中,在框714中,交换机106可以基于在框706中识别的网络流来确定存储节点(即,主存储节点和复制存储节点)。额外地或者替代地,在一些实施例中,在框716中,交换机可以基于预先确定的列表来确定存储节点。在一些实施例中,例如基于包括将网络流映射至相对应的存储节点的策略,可以从外部源(例如,源端节点102、控制器节点118等)接收预先确定的列表(例如,伴随网络分组中的数据对象的存储节点的列表、映射表或策略等),或者在本地取回预先确定的列表,例如,从在交换机106本地创建的表取回预先确定的列表。
在框718中,交换机106对数据对象和相对应的网络流进行总的次数的复制。为此,在框720中,交换机106可以基于框712中确定的复制存储节点的数量来对数据对象和相对应的网络流进行多次复制。在框722中,交换机106将接收到的数据对象转发至框712中确定的主存储节点。在框724中,交换机106可以基于复制的数据对象要被存储在哪个复制存储节点来对复制的数据对象中的每个进行复制。为此,在一些实施例中,在框726中,交换机106可以在对复制的数据对象进行封装的网络分组的报头域中更新目的地地址。
在框728中,交换机106将复制的网络流和数据对象中的每个转发至复制存储节点中的每个。在框730中,交换机106确定是否从存储节点中的一个(即,主存储节点或者复制存储节点中的一个)接收到确认。如果未接收到,方法700环回至框730以确定是否接收到确认。否则,如果接收到确认,则方法700前进至框732,其中,交换机106将确认转发至在交换机106处从其接收到数据对象的计算节点(例如,图1的源端节点102)。在框734中,交换机106确定是否有额外的确认要被接收。换言之,交换机确定是否所有存储节点都已将确认返回至交换机106。如果未都返回,则方法700环回至框730,其中,交换机106确定是否接收到另一确认。否则,如果所有存储节点都已返回确认,则方法700环回至框702,其中,交换机106确定是否接收到另一数据对象以用于复制。
示例
以下提供了本文中公开的技术的示出性示例。技术的实施例可以包括以下描述的示例的任意一个或多个和其任意组合。
示例1包括一种用于卸载服务功能链管理的交换机,交换机包括一个或多个处理器;以及一个或多个存储器设备,其具有存储于其中的多个指令,该指令当由一个或多个处理器执行时,使交换机从通信地耦合至交换机的源端节点接收网络分组;更新网络分组的元数据,其中,元数据是基于服务功能链的多个服务功能中的一个或多个的,所述服务功能链的多个服务功能中的一个或多个在通信地耦合至交换机的计算节点处执行并且被配置为基于元数据来处理网络分组;在已将元数据插入网络分组之后,将网络分组转发至服务功能;在已将网络分组转发至服务功能之后,从服务功能接收反馈,其中,反馈识别由第一服务功能对接收到的网络分组的处理的结果;在已接收到反馈之后,基于从第一服务功能接收到的反馈和服务功能链的下一服务功能,更新网络分组的元数据;并且在更新复制的网络分组的元数据之后,将更新的复制的网络分组转发至服务功能链的下一服务功能。
示例2包括示例1的主题,并且其中,多个指令进一步使交换机针对接收到的网络分组,确定服务功能链的多个服务功能,并且向通信地耦合至交换机的一个或多个计算节点提供指示,其中,该指示识别指令集,该指令集可由一个或多个计算节点使用来对一个或多个虚拟机进行起转和配置以执行服务功能链的服务功能中的至少部分。
示例3包括示例1和2中的任意一个的主题,并且其中,多个指令进一步使交换机确定网络分组的标识符;并且识别与标识符相对应的策略,其中,指令集可由一个或多个计算节点使用来对一个或多个虚拟机进行起转和配置以基于识别的策略来执行服务功能链的服务功能的至少部分。
示例4包括示例1-3中的任意一个的主题,并且其中,网络分组的标识符包括网络分组的工作负载类型、网络流、源互联网协议地址、源端口号、目的地互联网协议地址、目的地端口号、以及协议中的至少一个。
示例5包括示例1-4中的任意一个的主题,并且其中,多个指令进一步使交换机从网络分组生成复制的网络分组,其中,将元数据插入网络分组包括将元数据插入复制的网络分组。
示例6包括示例1-5中的任意一个的主题,并且其中,多个指令进一步使交换机响应于已从第一服务功能接收到反馈,基于从第一服务功能接收到的反馈来更新服务功能中的一个或多个。
示例7包括示例1-6中的任意一个的主题,并且其中,多个指令进一步使交换机用于(i)在已接收到反馈之后,确定服务功能链的另一服务功能是否可用;并且(ii)响应于确定下一服务功能链是不可用的,将网络分组转发至通信地耦合至交换机的目的地计算节点。
示例8包括示例1-7中的任意一个的主题,并且其中,更新元数据包括将元数据插入网络分组的报头以包括元数据。
示例9包括示例1-8中的任意一个的主题,并且其中,更新元数据包括在交换机的存储设备处存储元数据,并且向服务功能链的下一服务功能提供应用编程接口,其中,应用编程接口可用于读取存储在交换机处的元数据。
示例10包括示例1-9中的任意一个的主题,并且其中,多个指令进一步使交换机用于(i)确定网络分组的标识符;以及(ii)识别与标识符相对应的策略。
示例11包括示例1-10中的任意一个的主题,并且其中,更新网络分组的元数据包括(i)基于识别的策略来确定元数据;以及(ii)将确定的元数据插入网络分组的报头。
示例12包括示例1-11中的任意一个的主题,并且其中,标识符包括网络分组的工作负载类型、网络流、源互联网协议地址、源端口号、目的地互联网协议地址、目的地端口号、以及协议中的一个或多个。
示例13包括一种用于将服务功能链管理卸载至交换机的方法,所述方法包括由交换机从通信地耦合至交换机的源端节点接收网络分组;由交换机更新网络分组的元数据,其中,元数据是基于服务功能链的多个服务功能中的服务功能的,所述服务功能链的多个服务功能中的服务功能在通信地耦合至交换机的计算节点处执行的并且被配置为基于元数据来处理网络分组;由交换机并且在更新元数据之后,将网络分组转发至服务功能;由交换机并且在将网络分组转发至服务功能之后,从服务功能接收反馈,其中,反馈识别由第一服务功能对网络分组的处理的结果;由交换机并且在接收到反馈之后,基于从第一服务功能接收到的反馈和服务功能链的下一服务功能,更新网络分组的元数据;以及由交换机并且在更新复制的网络分组的元数据之后,将更新的复制的网络分组转发至服务功能链的下一服务功能。
示例14包括示例13的主题,并且进一步包括由交换机针对接收到的网络分组,确定服务功能链的多个服务功能;以及由交换机向通信地耦合至交换机的一个或多个计算节点提供指示,其中,指示识别指令集,该指令集可由一个或多个计算节点使用来对一个或多个虚拟机进行起转和配置,以用于执行服务功能链的服务功能的至少部分。
示例15包括示例13和14中的任意一个的主题,并且进一步包括由交换机确定网络分组的标识符;以及由交换机识别与标识符相对应的策略,其中,指令集可由一个或多个计算节点使用来对一个或多个虚拟机进行起转和配置,以用于基于识别的策略来执行服务功能链的服务功能的至少部分。
示例16包括示例13-15中的任意一个的主题,并且其中,确定网络分组的标识符包括确定网络分组的工作负载类型、网络流、源互联网协议地址、源端口号、目的地互联网协议地址、目的地端口号、以及协议中的至少一个。
示例17包括示例13-16中的任意一个的主题,并且进一步包括由交换机从网络分组生成复制的网络分组,其中,将元数据插入网络分组包括将元数据插入复制的网络分组。
示例18包括示例13-17中的任意一个的主题,并且进一步包括由交换机并且响应于从第一服务功能接收到反馈,基于从第一服务功能接收到的反馈来更新服务功能中的一个或多个。
示例19包括示例13-18中的任意一个的主题,并且进一步包括由交换机并且在接收到反馈之后,确定服务功能链的另一服务功能是否可用;以及由交换机并且响应于确定下一服务功能链是不可用的,将网络分组转发至通信地耦合至交换机的目的地计算节点。
示例20包括示例13-19中的任意一个的主题,并且其中,更新元数据包括将元数据插入网络分组的报头以包括元数据。
示例21包括示例13-20中的任意一个的主题,并且其中,更新元数据包括将元数据存储在交换机的存储设备处,以及向服务功能链的下一服务功能提供应用编程接口,其中,应用编程接口可用于读取存储在交换机处的元数据。
示例22包括示例13-21中的任意一个的主题,并且进一步包括由交换机确定网络分组的标识符;以及由交换机识别与标识符相对应的策略。
示例23包括示例13-22中的任意一个的主题,并且其中,更新网络分组的元数据包括基于识别的策略来确定元数据;以及将确定的元数据插入网络分组的报头。
示例24包括示例13-23中的任意一个的主题,并且其中,确定标识符包括确定网络分组的工作负载类型、网络流、源互联网协议地址、源端口号、目的地互联网协议地址、目的地端口号、以及协议中的一个或多个。
示例25包括一种交换机,其包括处理器;以及存储器,其具有存储于其中的多个指令,该指令当由处理器执行时,使交换机执行示例13-24中的任意一个所述的方法。
示例26包括一个或多个包括存储于其上的多个指令的机器可读存储介质,该指令响应于被执行,而引起交换机执行示例13-24中的任意一个所述的方法。
示例27包括一种用于卸载服务功能链管理的交换机,交换机包括网络通信电路,其用于从通信地耦合至交换机的源端节点接收网络分组;元数据管理电路,其用于更新网络分组的元数据,其中,元数据是基于服务功能链的多个服务功能中的一个或多个的,所述服务功能链的多个服务功能中的一个或多个在通信地耦合至交换机的计算节点处执行并且被配置为基于元数据来处理网络分组;以及服务功能链管理电路,其用于(i)在已将元数据插入网络分组之后,将网络分组转发至服务功能;并且(ii)在已将网络分组转发至服务功能之后,从服务功能接收反馈,其中,反馈识别由第一服务功能对接收到的网络分组的处理的结果,其中,元数据管理电路进一步用于在已接收到反馈之后,基于从第一服务功能接收到的反馈和服务功能链的下一服务功能,来更新网络分组的元数据;并且其中,服务功能链管理电路进一步用于,在更新复制的网络分组的元数据之后,将更新的复制的网络分组转发至服务功能链的下一服务功能。
示例28包括示例27的主题,并且进一步包括策略管理电路,其用于针对接收到的网络分组,确定服务功能链的多个服务功能,其中,服务功能链管理电路进一步用于,向通信地耦合至交换机的一个或多个计算节点提供指示,其中,指示识别指令集,该指令集可由一个或多个计算节点使用来对一个或多个虚拟机进行起转和配置,以用于执行服务功能链的服务功能中的至少部分。
示例29包括示例27和28中的任意一个的主题,并且进一步包括网络分组分析电路,其用于确定网络分组的标识符;以及策略管理电路,其用于识别与标识符相对应的策略,并且其中,指令集可由一个或多个计算节点使用来对一个或多个虚拟机进行起转和配置,以用于基于识别的策略来执行服务功能链的服务功能的至少部分。
示例30包括示例27-29中的任意一个的主题,并且其中,网络分组的标识符包括网络分组的工作负载类型、网络流、源互联网协议地址、源端口号、目的地互联网协议地址、目的地端口号、以及协议中的至少一个。
示例31包括示例27-30中的任意一个的主题,并且其中,元数据管理电路进一步用于从网络分组生成复制的网络分组,其中,将元数据插入网络分组包括将元数据插入复制的网络分组。
示例32包括示例27-31中的任意一个的主题,并且其中,服务功能链管理电路进一步用于响应于已从第一服务功能接收到反馈,基于从第一服务功能接收到的反馈来更新服务功能中的一个或多个。
示例33包括示例27-32中的任意一个的主题,并且其中,服务功能链管理电路进一步用于(i)在已接收到反馈之后,确定服务功能链的另一服务功能是否可用;并且(ii)响应于确定下一服务功能链是不可用的,将网络分组转发至通信地耦合至交换机的目的地计算节点。
示例34包括示例27-33中的任意一个的主题,并且其中,更新元数据包括将元数据插入网络分组的报头以包括元数据。
示例35包括示例27-34中的任意一个的主题,并且其中,更新元数据包括在交换机的存储设备处存储元数据,并且向服务功能链的下一服务功能提供应用编程接口,其中,应用编程接口可用于读取存储在交换机处的元数据。
示例36包括示例27-35中的任意一个的主题,并且进一步包括网络分组分析电路,其用于确定网络分组的标识符;以及策略管理电路,其用于识别与标识符相对应的策略。
示例37包括示例27-36中的任意一个的主题,并且其中,更新网络分组的元数据包括用于(i)基于识别的策略来确定元数据;以及(ii)将确定的元数据插入网络分组的报头。
示例38包括示例27-37中的任意一个的主题,并且其中,标识符包括网络分组的工作负载类型、网络流、源互联网协议地址、源端口号、目的地互联网协议地址、目的地端口号、以及协议中的一个或多个。
示例39包括一个或多个包括存储于其上的多个指令的计算机可读存储介质,该指令响应于被执行时,使交换机的网络通信电路,从通信地耦合至交换机的源端节点接收网络分组;用于更新网络分组的元数据的单元,其中,元数据是基于服务功能链的多个服务功能中的一个或多个的,所述服务功能链的多个服务功能中的一个或多个在通信地耦合至交换机的计算节点处执行并且被配置为基于元数据来处理网络分组;用于在已将元数据插入网络分组之后,将网络分组转发至服务功能的单元;以及用于在已将网络分组转发至服务功能之后,从服务功能接收反馈的单元,其中,反馈识别由第一服务功能对接收到的网络分组的处理的结果,其中,元数据管理电路进一步用于在已接收到反馈之后,基于从第一服务功能接收到的反馈和服务功能链的下一服务功能,来更新网络分组的元数据,并且其中,服务功能链管理电路进一步用于在更新复制的网络分组的元数据之后,将更新的复制的网络分组转发至服务功能链的下一服务功能。
示例40包括示例39的主题,并且进一步包括用于针对接收到的网络分组,确定服务功能链的多个服务功能的单元;以及用于向通信地耦合至交换机的一个或多个计算节点提供指示的单元,其中,指示识别指令集,该指令集可由一个或多个计算节点使用来对一个或多个虚拟机进行起转和配置,以用于执行服务功能链的服务功能中的至少部分。
示例41包括示例39和40中的任意一个的主题,并且进一步包括用于确定网络分组的标识符的单元;以及用于识别与标识符相对应的策略的单元,其中,指令集可由一个或多个计算节点使用来对一个或多个虚拟机进行起转和配置,以用于基于识别的策略来执行服务功能链的服务功能的至少部分。
示例42包括示例39-41中的任意一个的主题,并且其中,网络分组的标识符包括网络分组的工作负载类型、网络流、源互联网协议地址、源端口号、目的地互联网协议地址、目的地端口号、以及协议中的至少一个。
示例43包括示例39-42中的任意一个的主题,并且进一步包括用于从网络分组生成复制的网络分组的单元,其中,用于将元数据插入网络分组的单元包括用于将元数据插入复制的网络分组的单元。
示例44包括示例39-43中的任意一个的主题,并且进一步包括用于响应于已从第一服务功能接收到反馈,基于从第一服务功能接收到的反馈来更新服务功能中的一个或多个的单元。
示例45包括示例39-44中的任意一个的主题,并且进一步包括用于在已接收到反馈之后,确定服务功能链的另一服务功能是否可用的单元;以及用于响应于确定下一服务功能链是不可用的,将网络分组转发至通信地耦合至交换机的目的地计算节点的单元。
示例46包括示例39-45中的任意一个的主题,并且其中,用于更新元数据的单元包括用于将元数据插入网络分组的报头以包括元数据的单元。
示例47包括示例39-46中的任意一个的主题,并且其中,用于更新元数据的单元包括用于:(i)在交换机的存储设备处存储元数据;以及(ii)向服务功能链的下一服务功能提供应用编程接口的单元,其中,应用编程接口可用于读取存储在交换机处的元数据。
示例48包括示例39-47中的任意一个的主题,并且进一步包括用于确定网络分组的标识符的单元;以及用于识别与标识符相对应的策略的单元。
示例49包括示例39-48中的任意一个的主题,并且其中,用于更新网络分组的元数据的单元包括用于(i)基于识别的策略来确定元数据;以及(ii)将确定的元数据插入网络分组的报头的单元。
示例50包括示例39-49中的任意一个的主题,并且其中,标识符包括网络分组的工作负载类型、网络流、源互联网协议地址、源端口号、目的地互联网协议地址、目的地端口号、以及协议中的一个或多个。
示例51包括一种用于卸载服务功能链管理的交换机,所述交换机包括一个或多个处理器;以及一个或多个存储器设备,其具有存储于其中的多个指令,该指令当由一个或多个处理器执行时,使交换机从源端节点接收要被复制的数据对象;识别与数据对象相关联的网络流;基于网络流,确定数据对象要被存储于其中的多个存储节点,其中,存储节点中的每个通信地耦合至交换机;基于存储节点的总数来对数据对象进行多次复制;并且将接收到的数据对象和复制的数据对象中的每个发送至存储节点的相对应的一个。
示例52包括示例51的主题,并且其中,确定存储节点包括确定主存储节点和一个或多个复制存储节点。
示例53包括示例51和52中的任意一个的主题,并且其中,将接收到的数据对象和复制的数据对象发送至确定的存储节点中的相对应的一个包括(i)将接收到的数据对象发送至主存储节点;并且(ii)将复制的数据对象中的一个发送至复制存储节点中的相对应的一个。
示例54包括示例51-53中的任意一个的主题,并且其中,多个指令进一步使交换机基于存储节点中的复制的数据对象要被发送至的存储节点,来更新复制的数据对象中的每个的目的地地址。
示例55包括示例51-54中的任意一个的主题,并且其中,基于存储节点的确定的总数来复制数据对象包括基于确定的存储节点的总数来复制以下中的每个:(i)数据对象的网络流;以及(ii)数据对象的数据。
示例56包括示例51-55中的任意一个的主题,并且其中,接收要被复制的数据对象包括接收数据对象要被存储于其上的存储节点中的每个的标识符。
示例57包括示例51-56中的任意一个的主题,并且其中,接收要被复制的数据对象包括接收指令集,其中,指令集包括一个或多个交换机接口命令,该交换机接口命令能够由交换机使用来使能到存储节点中的每个的复制。
示例58包括示例51-57中的任意一个的主题,并且其中,多个指令进一步使交换机响应于已发送接收到的数据对象和复制的数据对象,从存储节点中的每个接收确认,其中,确认指示从交换机到存储节点中的相对应的一个的对数据对象的成功传输。
示例59包括示例51-58中的任意一个的主题,并且其中,多个指令进一步使交换机响应于已接收到确认,将确认发送至源端节点。
示例60包括一种用于将数据对象复制卸载至交换机的方法,该方法包括由交换机从源端节点接收要被复制的数据对象;由交换机识别与数据对象相关联的网络流;由交换机基于网络流,来确定数据对象要被存储于其中的一个或多个存储节点,其中,存储节点中的每个是通信地耦合至交换机的;由交换机基于存储节点的确定的总数来对数据对象进行复制;以及由交换机将接收到的数据对象和复制的数据对象中的每个发送至确定的存储节点中的相对应的一个。
示例61包括示例60的主题,并且其中,确定存储节点包括确定主存储节点和一个或多个复制存储节点。
示例62包括示例60和61中的任意一个的主题,并且其中,将接收到的数据对象和复制的数据对象发送至确定的存储节点中的相对应的一个包括将接收到的数据对象发送至主存储节点,以及将复制的数据对象中的一个发送至复制存储节点中的相对应的一个。
示例63包括示例60-62中的任意一个的主题,并且进一步包括基于存储节点中的复制的数据对象要被发送至的存储节点,更新复制的数据对象中的每个的目的地地址。
示例64包括示例60-63中的任意一个的主题,并且其中,基于存储节点的确定的总数来复制数据对象包括基于确定的存储节点的总数来复制以下中的每个:(i)数据对象的网络流;以及(ii)数据对象的数据。
示例65包括示例60-64中的任意一个的主题,并且其中,接收要被复制的数据对象包括接收数据对象要被存储于其上的存储节点中的每个的标识符。
示例66包括示例60-65中的任意一个的主题,并且其中,接收要被复制的数据对象包括接收指令集,其中,该指令集包括一个或多个交换机接口命令,该交换机接口命令能够由交换机使用来使能到存储节点中的每个的复制。
示例67包括示例60-66中的任意一个的主题,并且进一步包括由交换机并且响应于发送接收到的数据对象中的一个或者复制的数据对象中的一个,从存储节点中的每个接收确认,其中,确认指示从交换机向存储节点中的相对应的一个的对数据对象的成功传输。
示例68包括示例60-67中的任意一个的主题,并且进一步包括由交换机并且响应于接收到确认,将确认发送至源端节点。
示例69包括一种交换机,其包括处理器;以及存储器,其具有存储于其中的多个指令,该指令当由处理器执行时,使交换机执行示例60-68中的任意一个所述的方法。
示例70包括一个或多个包括存储于其上的多个指令的机器可读存储介质,该指令响应于被执行,引起交换机执行示例60-68中的任意一个所述的方法的交换机。
示例71包括一种用于卸载数据对象复制的交换机,交换机包括网络通信电路,其用于从源端节点接收要被复制的数据对象;存储节点识别电路,其用于(i)识别与数据对象相关联的网络流;并且(ii)基于网络流,来确定数据对象要被存储于其中的多个存储节点,其中,存储节点中的每个通信地耦合至交换机;数据对象复制电路,其用于基于存储节点的总数来对数据对象进行多次复制;以及计算节点接合电路,其用于将接收到的数据对象和复制的数据对象中的每个发送至存储节点中的相对应的一个。
示例72包括示例71的主题,并且其中,确定存储节点包括确定主存储节点和一个或多个复制存储节点。
示例73包括示例71和72中的任意一个的主题,并且其中,将接收到的数据对象和复制的数据对象发送至确定的存储节点中的相对应的一个包括(i)将接收到的数据对象发送至主存储节点,并且(ii)将复制的数据对象中的一个发送至复制存储节点中的相对应的一个。
示例74包括示例71-73中的任意一个的主题,并且进一步包括网络分组修改电路,其用于基于存储节点中的复制的数据对象要被发送至的存储节点,来更新复制的数据对象中的每个的目的地地址。
示例75包括示例71-74中的任意一个的主题,并且其中,基于存储节点的确定的总数来复制数据对象包括基于确定的存储节点的总数来复制以下中的每个:(i)数据对象的网络流;以及(ii)数据对象的数据。
示例76包括示例71-75中的任意一个的主题,并且其中,接收要被复制的数据对象包括接收数据对象要被存储于其上的存储节点中的每个的标识符。
示例77包括示例71-76中的任意一个的主题,并且其中,接收要被复制的数据对象包括接收指令集,其中,指令集包括一个或多个交换机接口命令,该交换机接口命令能够由交换机使用来使能到存储节点中的每个的复制。
示例78包括示例71-77中的任意一个的主题,并且其中,计算节点接合电路进一步用于,响应于已发送接收到的数据对象和复制的数据对象,从存储节点中的每个接收确认,并且其中,确认指示从交换机到存储节点中的相对应的一个的对数据对象的成功传输。
示例79包括示例71-78中的任意一个的主题,并且其中,网络通信电路进一步用于响应于已接收到确认,将确认发送至源端节点。
示例80包括一种用于卸载数据对象复制的交换机,交换机包括网络通信电路,其用于从源端节点接收要被复制的数据对象;用于识别与数据对象相关联的网络流的单元;用于基于网络流,来确定数据对象要被存储于其中的一个或多个存储节点的单元,其中,存储节点中的每个通信地耦合至交换机;以及用于基于存储节点的确定的总数来对数据对象进行复制的单元,其中,网络通信电路进一步用于将接收到的数据对象和复制的数据对象中的每个发送至确定的存储节点中的相对应的一个。
示例81包括示例80的主题,并且其中,用于确定存储节点的单元包括用于确定主存储节点和一个或多个复制存储节点的单元。
示例82包括示例80和81中的任意一个的主题,并且其中,用于将接收到的数据对象和复制的数据对象发送至确定的存储节点中的相对应的一个的单元包括用于将接收到的数据对象发送至主存储节点,并且将复制的数据对象中的一个发送至复制存储节点中的相对应的一个的单元。
示例83包括示例80-82中的任意一个的主题,并且进一步包括用于基于存储节点中的复制的数据对象要被发送至的存储节点,来更新复制的数据对象中的每个的目的地地址的单元。
示例84包括示例80-83中的任意一个的主题,并且其中,用于基于存储节点的确定的总数来复制数据对象的单元包括用于基于确定的存储节点的总数来复制以下中的每个的单元(i)数据对象的网络流;以及(ii)数据对象的数据。
示例85包括示例80-84中的任意一个的主题,并且其中,用于接收要被复制的数据对象的单元包括用于接收数据对象要被存储于其上的存储节点中的每个的标识符的单元。
示例86包括示例80-85中的任意一个的主题,并且其中,用于接收要被复制的数据对象的单元包括用于接收指令集的单元,其中,该指令集包括一个或多个交换机接口命令,该交换机接口命令能够由交换机使用来使能到存储节点中的每个的复制。
示例87包括示例80-86中的任意一个的主题,并且其中,网络通信电路进一步用于响应于发送接收到的数据对象中的一个或者复制的数据对象中的一个,从存储节点中的每个接收确认,并且其中,确认指示从交换机到存储节点中的相对应的一个的对数据对象的成功传输。
示例88包括示例80-87中的任意一个的主题,并且其中,网络通信电路进一步用于响应于接收到确认,将确认发送至源端节点。

Claims (25)

1.一种用于卸载服务功能链管理的交换机,所述交换机包括:
一个或多个处理器;以及
一个或多个存储器设备,其具有存储于其中的多个指令,所述多个指令当由所述一个或多个处理器执行时,使安全监视VNF用于:
从通信地耦合至所述交换机的源端节点接收网络分组;
更新所述网络分组的元数据,其中,所述元数据是基于服务功能链的多个服务功能中的一个或多个的,所述服务功能链的多个服务功能中的一个或多个在通信地耦合至所述交换机的计算节点处被执行并且被配置为基于所述元数据来处理所述网络分组;
在已将所述元数据插入所述网络分组之后,将所述网络分组转发至所述服务功能;
在已将所述网络分组转发至所述服务功能之后,从所述服务功能接收反馈,其中,所述反馈识别由第一服务功能对接收到的网络分组的处理的结果;
在已接收到所述反馈之后,基于从所述第一服务功能接收到的所述反馈和所述服务功能链的下一服务功能,来更新所述网络分组的元数据;并且
在更新复制的网络分组的元数据之后,将更新的网络分组转发至所述服务功能链的下一服务功能。
2.根据权利要求1所述的交换机,其中,所述多个指令进一步使所述交换机用于:
针对所述接收到的网络分组,确定所述服务功能链的多个服务功能;并且
向通信地耦合至所述交换机的一个或多个计算节点提供指示,其中,所述指示识别指令集,所述指令集能够由所述一个或多个计算节点使用来对一个或多个虚拟机进行起转和配置,以用于执行所述服务功能链的所述服务功能中的至少部分。
3.根据权利要求2所述的交换机,其中,所述多个指令进一步使所述交换机用于:
确定所述网络分组的标识符;并且
识别与所述标识符相对应的策略,
其中,所述指令集能够由所述一个或多个计算节点使用来对所述一个或多个虚拟机进行起转和配置,以用于基于识别的策略来执行所述服务功能链的所述服务功能的至少部分。
4.根据权利要求1所述的交换机,其中,所述多个指令进一步使所述交换机用于从所述网络分组生成复制的网络分组,其中,将所述元数据插入所述网络分组包括将所述元数据插入所述复制的网络分组。
5.根据权利要求1所述的交换机,其中,所述多个指令进一步使所述交换机用于响应于已从所述第一服务功能接收到所述反馈,基于从所述第一服务功能接收到的所述反馈来更新所述服务功能中的一个或多个。
6.根据权利要求1所述的交换机,其中,所述多个指令进一步使所述交换机用于:
在已接收到所述反馈之后,确定所述服务功能链的另一服务功能是否可用;并且
响应于确定所述下一服务功能链是不可用的,将所述网络分组转发至通信地耦合至所述交换机的目的地计算节点。
7.根据权利要求1所述的交换机,其中,更新所述元数据包括以下中的至少一个:(i)将所述元数据插入所述网络分组的报头以包括所述元数据,以及(ii)在所述交换机的存储设备处存储所述元数据,并且向所述服务功能链的所述下一服务功能提供应用编程接口,其中,所述应用编程接口能够用于读取存储在所述交换机处的所述元数据。
8.一种用于将服务功能链管理卸载至交换机的方法,所述方法包括:
由交换机从通信地耦合至所述交换机的源端节点接收网络分组;
由所述交换机更新所述网络分组的元数据,其中,所述元数据是基于服务功能链的多个服务功能中的服务功能的,所述服务功能链的多个服务功能中的服务功能在通信地耦合至所述交换机的计算节点处被执行并且被配置为基于所述元数据来处理所述网络分组;
由所述交换机并且在更新所述元数据之后,将所述网络分组转发至所述服务功能;
由所述交换机并且在将所述网络分组转发至所述服务功能之后,从所述服务功能接收反馈,其中,所述反馈识别由第一服务功能对所述网络分组的处理的结果;
由所述交换机并且在接收到所述反馈之后,基于从所述第一服务功能接收到的所述反馈和所述服务功能链的下一服务功能,来更新所述网络分组的元数据;以及
由所述交换机并且在更新复制的网络分组的元数据之后,将更新的复制的网络分组转发至所述服务功能链的所述下一服务功能。
9.根据权利要求8所述的方法,进一步包括:
由所述交换机针对接收到的网络分组,确定所述服务功能链的多个服务功能;以及
由所述交换机向通信地耦合至所述交换机的一个或多个计算节点提供指示,其中,所述指示识别指令集,所述指令集能够由所述一个或多个计算节点使用来对一个或多个虚拟机进行起转和配置,以用于执行所述服务功能链的所述服务功能的至少部分。
10.根据权利要求9所述的方法,进一步包括:
由所述交换机确定所述网络分组的标识符;以及
由所述交换机识别与所述标识符相对应的策略,
其中,所述指令集能够由所述一个或多个计算节点使用来对所述一个或多个虚拟机进行起转和配置,以用于基于识别的策略来执行所述服务功能链的所述服务功能的至少部分。
11.根据权利要求8所述的方法,进一步包括:由所述交换机从所述网络分组生成复制的网络分组,其中,将所述元数据插入所述网络分组包括将所述元数据插入所述复制的网络分组。
12.根据权利要求8所述的方法,进一步包括:由所述交换机并且响应于从所述第一服务功能接收到所述反馈,基于从所述第一服务功能接收到的反馈来更新所述服务功能中的一个或多个。
13.根据权利要求8所述的方法,进一步包括:
由所述交换机并且在接收到所述反馈之后,确定所述服务功能链的另一服务功能是否可用;以及
由所述交换机并且响应于确定下一服务功能链是不可用的,将所述网络分组转发至通信地耦合至所述交换机的目的地计算节点。
14.根据权利要求8所述的方法,其中,更新所述元数据包括将所述元数据存储在所述交换机的存储设备处,以及向所述服务功能链的所述下一服务功能提供应用编程接口,其中,所述应用编程接口能够用于读取存储在所述交换机处的所述元数据。
15.一种用于卸载服务功能链管理的交换机,所述交换机包括:
一个或多个处理器;以及
一个或多个存储器设备,其具有存储于其中的多个指令,所述指令当由所述一个或多个处理器执行时,使所述交换机用于:
从源端节点接收要被复制的数据对象;
识别与所述数据对象相关联的网络流;
基于所述网络流,来确定所述数据对象要被存储于其中的多个存储节点,其中,所述存储节点中的每个存储节点是通信地耦合至所述交换机的;
基于所述存储节点的总数来对所述数据对象进行多次复制;并且
将接收到的数据对象和复制的数据对象中的每个发送至所述存储节点的相对应的一个存储节点。
16.根据权利要求15所述的交换机,其中,确定所述存储节点包括确定主存储节点和一个或多个复制存储节点,其中,将所述接收到的数据对象和所述复制的数据对象发送至确定的存储节点中的相对应的一个存储节点包括(i)将所述接收到的数据对象发送至所述主存储节点;并且(ii)将所述复制的数据对象中的一个发送至所述复制存储节点中的相对应的一个复制存储节点。
17.根据权利要求15所述的交换机,其中,所述多个指令进一步使所述交换机用于基于所述存储节点中的所述复制的数据对象要被发送至的存储节点,来更新所述复制的数据对象中的每个复制的数据对象的目的地地址。
18.根据权利要求15所述的交换机,其中,基于存储节点的确定的总数来复制所述数据对象包括基于确定的存储节点的总数来复制以下中的每个:(i)所述数据对象的网络流;以及(ii)所述数据对象的数据。
19.根据权利要求15所述的交换机,其中,接收要被复制的数据对象包括接收以下中的至少一个:(i)所述数据对象要被存储于其上的所述存储节点中的每个存储节点的标识符;以及(ii)指令集,其中,所述指令集包括一个或多个交换机接口命令,所述交换机接口命令能够由所述交换机使用来使能到所述存储节点中的每个存储节点的复制。
20.一种用于将数据对象复制卸载至交换机的方法,所述方法包括:
由交换机从源端节点接收要被复制的数据对象;
由所述交换机识别与所述数据对象相关联的网络流;
由所述交换机基于所述网络流,来确定所述数据对象要被存储于其中的一个或多个存储节点,其中,所述存储节点中的每个存储节点是通信地耦合至所述交换机的;
由所述交换机基于所述存储节点的确定的总数来对所述数据对象进行复制;以及
由所述交换机将接收到的数据对象和复制的数据对象中的每个发送至确定的存储节点中的相对应的一个存储节点。
21.根据权利要求20所述的方法,其中,确定所述存储节点包括确定主存储节点和一个或多个复制存储节点,其中,将所述接收到的数据对象和所述复制的数据对象发送至所述确定的存储节点中的相对应的一个存储节点包括将所述接收到的数据对象发送至所述主存储节点,以及将所述复制的数据对象中的一个发送至所述复制存储节点中的相对应的一个复制存储节点。
22.根据权利要求20所述的方法,进一步包括基于所述存储节点中的所述复制的数据对象要被发送至的存储节点,来更新所述复制的数据对象中的每个复制的数据对象的目的地地址。
23.根据权利要求20所述的方法,其中,基于所述存储节点的确定的总数来复制所述数据对象包括基于所述确定的存储节点的总数来复制以下中的每个:(i)所述数据对象的网络流;以及(ii)所述数据对象的数据。
24.根据权利要求20所述的方法,其中,接收所述要被复制的数据对象包括接收以下中的至少一个:(i)所述数据对象要被存储于其上的存储节点中的每个存储节点的标识符;以及(ii)指令集,其中,所述指令集包括一个或多个交换机接口命令,所述交换机接口命令能够由所述交换机使用来使能到所述存储节点中的每个存储节点的复制。
25.一个或多个包括存储于其上的多个指令的机器可读存储介质,所述指令响应于被执行,引起交换机执行根据权利要求8-14和20-24中的任意一项所述的方法。
CN201680049724.2A 2015-09-26 2016-08-26 用于卸载数据对象复制以及服务功能链管理的方法及交换机 Active CN107925677B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/866,891 US11082515B2 (en) 2015-09-26 2015-09-26 Technologies for offloading data object replication and service function chain management
US14/866,891 2015-09-26
PCT/US2016/048847 WO2017052989A1 (en) 2015-09-26 2016-08-26 Technologies for offloading data object replication and service function chain management

Publications (2)

Publication Number Publication Date
CN107925677A true CN107925677A (zh) 2018-04-17
CN107925677B CN107925677B (zh) 2021-06-08

Family

ID=58386786

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680049724.2A Active CN107925677B (zh) 2015-09-26 2016-08-26 用于卸载数据对象复制以及服务功能链管理的方法及交换机

Country Status (4)

Country Link
US (1) US11082515B2 (zh)
EP (1) EP3353997B1 (zh)
CN (1) CN107925677B (zh)
WO (1) WO2017052989A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111385202A (zh) * 2020-03-17 2020-07-07 重庆邮电大学 一种基于虚拟网络功能的路由分配方法
CN116366534A (zh) * 2023-05-31 2023-06-30 珠海星云智联科技有限公司 基于硬件卸载的组播流量复制的方法以及相关装置

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9772784B2 (en) 2011-08-10 2017-09-26 Nutanix, Inc. Method and system for maintaining consistency for I/O operations on metadata distributed amongst nodes in a ring structure
US9817684B2 (en) * 2012-10-16 2017-11-14 Intel Corporation Cross-function virtualization of a telecom core network
EP3140734B1 (en) 2014-05-09 2020-04-08 Nutanix, Inc. Mechanism for providing external access to a secured networked virtualization environment
US9979645B2 (en) * 2015-01-14 2018-05-22 Futurewei Technologies, Inc. Hardware and software methodologies for creating and managing portable service function chains
US10642507B2 (en) 2015-01-30 2020-05-05 Nutanix, Inc. Pulsed leader consensus management
US10135702B2 (en) * 2015-11-12 2018-11-20 Keysight Technologies Singapore (Holdings) Pte. Ltd. Methods, systems, and computer readable media for testing network function virtualization (NFV)
US9967165B2 (en) 2015-12-07 2018-05-08 Keysight Technologies Singapore (Holdings) Pte. Ltd. Methods, systems, and computer readable media for packet monitoring in a virtual environment
US10547692B2 (en) * 2016-02-09 2020-01-28 Cisco Technology, Inc. Adding cloud service provider, cloud service, and cloud tenant awareness to network service chains
ES2716657T3 (es) * 2016-04-07 2019-06-13 Telefonica Sa Un método para asegurar el recorrido de paquetes de datos correcto a través de una trayectoria particular de una red
CN107343012B (zh) * 2016-04-28 2019-12-03 杭州海康威视数字技术股份有限公司 视频存储系统及其视频数据发送方法
US11218418B2 (en) 2016-05-20 2022-01-04 Nutanix, Inc. Scalable leadership election in a multi-processing computing environment
WO2018068202A1 (en) * 2016-10-11 2018-04-19 Nokia Technologies Oy Virtualized network function security wrapping orchestration in the cloud environment
US10362092B1 (en) * 2016-10-14 2019-07-23 Nutanix, Inc. Entity management in distributed systems
US11005732B1 (en) * 2017-08-23 2021-05-11 F5 Networks, Inc. Methods for improved service chain classification and management and devices thereof
US10855766B2 (en) * 2017-09-28 2020-12-01 Intel Corporation Networking switch with object storage system intelligence
EP3750289B1 (en) * 2018-02-06 2024-04-03 Nokia Technologies OY Method, apparatus, and computer readable medium for providing security service for data center
US11398968B2 (en) 2018-07-17 2022-07-26 Keysight Technologies, Inc. Methods, systems, and computer readable media for testing virtualized network functions and related infrastructure
US11194680B2 (en) 2018-07-20 2021-12-07 Nutanix, Inc. Two node clusters recovery on a failure
US11310241B2 (en) 2018-09-18 2022-04-19 Microsoft Technology Licensing, Llc Mirroring virtual network traffic
US11770447B2 (en) 2018-10-31 2023-09-26 Nutanix, Inc. Managing high-availability file servers
US10805164B2 (en) 2018-12-14 2020-10-13 At&T Intellectual Property I, L.P. Controlling parallel data processing for service function chains
US11146506B2 (en) 2018-12-14 2021-10-12 At&T Intellectual Property I, L.P. Parallel data processing for service function chains spanning multiple servers
US11909609B1 (en) * 2019-07-17 2024-02-20 F5, Inc. Methods for managing insertion of metadata into a data stream to assist with analysis of network traffic and devices thereof
US11411843B2 (en) * 2019-08-14 2022-08-09 Verizon Patent And Licensing Inc. Method and system for packet inspection in virtual network service chains
US11768809B2 (en) 2020-05-08 2023-09-26 Nutanix, Inc. Managing incremental snapshots for fast leader node bring-up
US11323354B1 (en) 2020-10-09 2022-05-03 Keysight Technologies, Inc. Methods, systems, and computer readable media for network testing using switch emulation
US11483227B2 (en) 2020-10-13 2022-10-25 Keysight Technologies, Inc. Methods, systems and computer readable media for active queue management
US20210294702A1 (en) * 2021-06-04 2021-09-23 Intel Corporation High-availability memory replication in one or more network devices
US11853254B1 (en) 2022-10-07 2023-12-26 Keysight Technologies, Inc. Methods, systems, and computer readable media for exposing data processing unit (DPU) traffic in a smartswitch

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110169523A1 (en) * 2009-06-13 2011-07-14 Amer Atrash Adaptive termination
US20130163594A1 (en) * 2011-12-21 2013-06-27 Cisco Technology, Inc. Overlay-Based Packet Steering
CN103346914A (zh) * 2013-07-03 2013-10-09 曙光信息产业(北京)有限公司 分布式文件系统的拓扑结构更新方法和装置
US20130272305A1 (en) * 2012-04-16 2013-10-17 Telefonaktiebolaget L M Ericsson (Publ) Chaining of inline services using software defined networking
US20130318276A1 (en) * 2012-05-22 2013-11-28 Xockets IP, LLC Offloading of computation for rack level servers and corresponding methods and systems
CN104243205A (zh) * 2014-09-03 2014-12-24 杭州华三通信技术有限公司 一种虚拟交换机故障时的报文处理方法和设备
US20150003453A1 (en) * 2013-06-28 2015-01-01 Vmware, Inc. Network service slotting
US20150071285A1 (en) * 2013-09-06 2015-03-12 Cisco Technology, Inc. Distributed service chaining in a network environment
CN104506637A (zh) * 2014-12-29 2015-04-08 国家电网公司 解决网络拥挤的缓存方法、系统及url转发服务器
WO2015073190A1 (en) * 2013-11-15 2015-05-21 Cisco Technology, Inc. Shortening of service paths in service chains in a communications network

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7801912B2 (en) * 2005-12-29 2010-09-21 Amazon Technologies, Inc. Method and apparatus for a searchable data service
CA2651922C (en) * 2006-06-05 2016-01-05 Comptel Corporation Provisioning and activation using a service catalog
US9270559B2 (en) * 2009-01-28 2016-02-23 Headwater Partners I Llc Service policy implementation for an end-user device having a control application or a proxy agent for routing an application traffic flow
US8166196B2 (en) * 2009-03-27 2012-04-24 Cisco Technology Inc. Introducing cascaded intelligent services in a SAN environment
US8699488B2 (en) * 2009-12-30 2014-04-15 Verizon Patent And Licensing Inc. Modification of peer-to-peer based feature network based on changing conditions / session signaling
US8595267B2 (en) * 2011-06-27 2013-11-26 Amazon Technologies, Inc. System and method for implementing a scalable data storage service
US9043283B2 (en) * 2011-11-01 2015-05-26 International Business Machines Corporation Opportunistic database duplex operations
US9794379B2 (en) * 2013-04-26 2017-10-17 Cisco Technology, Inc. High-efficiency service chaining with agentless service nodes
US9160666B2 (en) * 2013-05-20 2015-10-13 Telefonaktiebolaget L M Ericsson (Publ) Encoding a payload hash in the DA-MAC to facilitate elastic chaining of packet processing elements
US9178812B2 (en) * 2013-06-05 2015-11-03 Cisco Technology, Inc. Stacking metadata contexts for service chains
US9755960B2 (en) * 2013-09-30 2017-09-05 Juniper Networks, Inc. Session-aware service chaining within computer networks
US9825856B2 (en) * 2014-01-06 2017-11-21 Futurewei Technologies, Inc. Service function chaining in a packet network
US10372685B2 (en) * 2014-03-31 2019-08-06 Amazon Technologies, Inc. Scalable file storage service
US9519510B2 (en) * 2014-03-31 2016-12-13 Amazon Technologies, Inc. Atomic writes for multiple-extent operations
KR101527377B1 (ko) 2014-03-31 2015-06-09 쿨클라우드(주) Sdn 기반의 서비스 체이닝 시스템
US20150333930A1 (en) * 2014-05-15 2015-11-19 Akamai Technologies, Inc. Dynamic service function chaining
US9634936B2 (en) * 2014-06-30 2017-04-25 Juniper Networks, Inc. Service chaining across multiple networks
US10003530B2 (en) * 2014-07-22 2018-06-19 Futurewei Technologies, Inc. Service chain header and metadata transport
US9459903B2 (en) * 2014-09-24 2016-10-04 Intel Corporation Techniques for routing service chain flow packets between virtual machines
US9571405B2 (en) * 2015-02-25 2017-02-14 Cisco Technology, Inc. Metadata augmentation in a service function chain
US9660909B2 (en) * 2014-12-11 2017-05-23 Cisco Technology, Inc. Network service header metadata for load balancing
US9749229B2 (en) * 2015-07-01 2017-08-29 Cisco Technology, Inc. Forwarding packets with encapsulated service chain headers

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110169523A1 (en) * 2009-06-13 2011-07-14 Amer Atrash Adaptive termination
US20130163594A1 (en) * 2011-12-21 2013-06-27 Cisco Technology, Inc. Overlay-Based Packet Steering
US20130272305A1 (en) * 2012-04-16 2013-10-17 Telefonaktiebolaget L M Ericsson (Publ) Chaining of inline services using software defined networking
US20130318276A1 (en) * 2012-05-22 2013-11-28 Xockets IP, LLC Offloading of computation for rack level servers and corresponding methods and systems
US20150003453A1 (en) * 2013-06-28 2015-01-01 Vmware, Inc. Network service slotting
CN103346914A (zh) * 2013-07-03 2013-10-09 曙光信息产业(北京)有限公司 分布式文件系统的拓扑结构更新方法和装置
US20150071285A1 (en) * 2013-09-06 2015-03-12 Cisco Technology, Inc. Distributed service chaining in a network environment
WO2015073190A1 (en) * 2013-11-15 2015-05-21 Cisco Technology, Inc. Shortening of service paths in service chains in a communications network
CN104243205A (zh) * 2014-09-03 2014-12-24 杭州华三通信技术有限公司 一种虚拟交换机故障时的报文处理方法和设备
CN104506637A (zh) * 2014-12-29 2015-04-08 国家电网公司 解决网络拥挤的缓存方法、系统及url转发服务器

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111385202A (zh) * 2020-03-17 2020-07-07 重庆邮电大学 一种基于虚拟网络功能的路由分配方法
CN111385202B (zh) * 2020-03-17 2022-03-11 重庆邮电大学 一种基于虚拟网络功能的路由分配方法
CN116366534A (zh) * 2023-05-31 2023-06-30 珠海星云智联科技有限公司 基于硬件卸载的组播流量复制的方法以及相关装置
CN116366534B (zh) * 2023-05-31 2023-08-22 珠海星云智联科技有限公司 基于硬件卸载的组播流量复制的方法以及相关装置

Also Published As

Publication number Publication date
EP3353997B1 (en) 2021-03-17
EP3353997A4 (en) 2019-06-05
EP3353997A1 (en) 2018-08-01
WO2017052989A1 (en) 2017-03-30
CN107925677B (zh) 2021-06-08
US11082515B2 (en) 2021-08-03
US20170094002A1 (en) 2017-03-30

Similar Documents

Publication Publication Date Title
CN107925677A (zh) 用于卸载数据对象复制以及服务功能链管理的技术
US10733011B2 (en) Data suppression for faster migration
CN105282135B (zh) 采用软件定义联网中的虚拟机和虚拟化容器实现本地服务链接的方法和装置
US10630710B2 (en) Systems and methods of stateless processing in a fault-tolerant microservice environment
Lu et al. Hybnet: Network manager for a hybrid network infrastructure
US9910687B2 (en) Data flow affinity for heterogenous virtual machines
US20220052944A1 (en) Scalable network function virtualization service
US11601365B2 (en) Wide area networking service using provider network backbone network
CN107294760A (zh) 节点管理系统、节点管理方法与计算机可读取存储装置
US20190044799A1 (en) Technologies for hot-swapping a legacy appliance with a network functions virtualization appliance
US20210034546A1 (en) Transparent encryption
Casado et al. Ripcord: A modular platform for data center networking
CN103546556B (zh) 一种在未来网络xia中虚拟机在线迁移方法
RU2584471C1 (ru) УСТРОЙСТВО ДЛЯ ПРИЕМА И ПЕРЕДАЧИ ДАННЫХ С ВОЗМОЖНОСТЬЮ ОСУЩЕСТВЛЕНИЯ ВЗАИМОДЕЙСТВИЯ С OpenFlow КОНТРОЛЛЕРОМ
US11824773B2 (en) Dynamic routing for peered virtual routers
US20220278946A1 (en) Programmable packet processing pipeline with offload circuitry
US20220283866A1 (en) Job target aliasing in disaggregated computing systems
Pickartz et al. Swift: A transparent and flexible communication layer for pcie-coupled accelerators and (co-) processors
US20240080276A1 (en) Path selection for packet transmission
WO2016108711A1 (ru) Устройство для приема и передачи данных с возможностью осуществления взаимодействия с openflow контроллером
Moon Achieving Flexibility and Performance for Packet Forwarding and Data Center Management

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