CN101409673B - 一种网络适配器数据传输方法、网络适配器及系统 - Google Patents

一种网络适配器数据传输方法、网络适配器及系统 Download PDF

Info

Publication number
CN101409673B
CN101409673B CN 200810177727 CN200810177727A CN101409673B CN 101409673 B CN101409673 B CN 101409673B CN 200810177727 CN200810177727 CN 200810177727 CN 200810177727 A CN200810177727 A CN 200810177727A CN 101409673 B CN101409673 B CN 101409673B
Authority
CN
China
Prior art keywords
hardware
network
physical interface
receiving element
data
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
Application number
CN 200810177727
Other languages
English (en)
Other versions
CN101409673A (zh
Inventor
周志雄
汪锐
赵彦博
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.)
BEIJING EVERBRIGHT INNOVATION TECHNOLOGY Co.,Ltd.
BEIJING HENGGUANG INFORMATION TECHNOLOGY CO LTD
BEIJING HENGGUANG TECHNOLOGY DEVELOPMENT CO LTD
Original Assignee
BEIJING EVERBRIGHT INFORMATION TECHNOLOGY Co Ltd
BEIJING HENGGUANG TECHNOLOGY DEVELOPMENT Co Ltd
BEIJING EVERBRIGHT INNOVATION TECHNOLOGY Co Ltd
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 BEIJING EVERBRIGHT INFORMATION TECHNOLOGY Co Ltd, BEIJING HENGGUANG TECHNOLOGY DEVELOPMENT Co Ltd, BEIJING EVERBRIGHT INNOVATION TECHNOLOGY Co Ltd filed Critical BEIJING EVERBRIGHT INFORMATION TECHNOLOGY Co Ltd
Priority to CN 200810177727 priority Critical patent/CN101409673B/zh
Publication of CN101409673A publication Critical patent/CN101409673A/zh
Application granted granted Critical
Publication of CN101409673B publication Critical patent/CN101409673B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供一种网络适配器数据传输方法、网络适配器及系统,该方法包括通过物理接口接收网络数据包;根据物理接口与硬件接收单元的对应关系,将网络数据包分配给对应的硬件接收单元;由硬件接收单元将网络数据包发送给操作系统内的与网络适配器对应的驱动程序,以由驱动程序对网络数据包进行处理。本发明有益效果在于,使物理接口接收的网络数据按照设定条件分配到相应的硬件接收单元,将网络适配器单个物理接口的流量均衡到不同的硬件接收单元及该硬件接收单元对应的网络外设上,提高网络适配器的每个物理接口数据流量的处理能力,也可将多个物理接口的流量统一到单个硬件接收单元及对应的网络外设上,提高对多个物理接口流量的处理效率。

Description

一种网络适配器数据传输方法、网络适配器及系统
技术领域
本发明关于计算机网络技术,特别关于计算机网络中的数据传输技术,具体的讲本发明是一种网络适配器数据传输方法、网络适配器及系统。
背景技术
网络适配器(Network Adapter),又称网络接口卡(NetWork Interface Card,NIC),俗称网卡,是主机与网络连接的接口设备。
从网络的OSI(Open System Interconnection)七层模型来看,网络适配器实现了物理层与数据链路层。网络适配器中对物理层与数据链路层的一个实现称为一个物理接口。每一个物理接口在硬件中实现为专门的接收/发送单元,其与主机操作系统的网络适配器驱动程序配合工作,以单元方式接收或发送数据报文。每一个物理接口在主机操作系统中体现为一个网络外设。
网络适配器根据物理接口的数目分为单口网络适配器和多口网络适配器两类:
一、单口网络适配器,设有一个物理接口以及一组硬件接收/发送单元。
二、多口网络适配器,设有两个以上的物理接口和两组以上的硬件接收/发送单元,物理接口与硬件接收/发送单元的数目相同,且每个物理接口与一组硬件接收/发送单元对应。
如图1所示,为多口网络适配器与主机操作系统的数据传输,多口适配器100与主机操作系统200之间通过总线连接,主机操作系统200为多口适配器100的每组硬件接收/发送单元提供一个驱动程序,即软件接收/发送单元1至M,使得每个物理接口与主机操作系统200中一个网络外设对应。
如图1所示,当多口网络适配器100的物理接口1收到网络设备发送网络数据包时,物理接口1通过硬件接收/发送单元1和软件接收/发送单元1,将网络数据包发送给映射的网络外设1;当主机操作系统200需要将网络外设1的数据发送给网络设备时,主机操作系统200的网络外设1通过软件接收/发送单元1,将系统数据包发送给硬件接收/发送单元1,再由硬件接收/发送单元1将系统数据包通过物理接口1发送至网络设备。
多口网络适配器缺点在于,物理接口与对应的网络外设之间,只能通过一组硬件接收/发送单元进行数据交互,无法提高每个物理接口的数据流量的处理能力。
发明内容
为解决现有技术的问题,本发明提供一种网络适配器数据传输方法、网络适配器及网络适配系统,用于使每个物理接口网络数据包分配给不同的硬件接收单元,提高网络适配器的每个物理接口数据流量的处理能力。
本发明的目的之一是提供一种网络适配器数据传输方法,该方法包括:通过物理接口接收网络数据包;根据硬件接收单元选择条件将网络数据包分配给对应的硬件接收单元;由硬件接收单元将网络数据包发送给操作系统内的与网络适配器对应的驱动程序,以由驱动程序对网络数据包进行处理。
本发明的目的之一是提供了一种网络适配器数据发送方法,该方法包括:通过硬件发送单元接收操作系统发送的系统数据;根据物理接口选择条件将系统数据分配给对应的物理接口;由物理接口将系统数据发送给对应的网络设备。
本发明的目的之一是提供一种网络适配器,该网络适配器包括:物理接口,用于接收网络数据包;映射关系存储单元,用于存储物理接口与硬件接收单元的映射关系;网络数据分配单元,用于根据物理接口与硬件接收单元的对应关系将网络数据包分配给对应的硬件接收单元;硬件接收单元,用于将网络数据包发送给操作系统内的与所述网络适配器对应的驱动程序,以由所述的驱动程序对所述的网络数据包进行处理。
本发明的目的之一是提供一种网络适配器,该网络适配器包括:硬件发送单元,用于接收操作系统发送的系统数据包;映射关系存储单元,用于存储物理接口与硬件发送单元的对应关系,系统数据分配单元,用于将系统数据包分配给对应的物理接口;物理接口,用于将系统数据包发送给对应的网络设备。
本发明的目的之一是提供一种网络适配器,该网络适配器包括:物理接口,用于接收网络数据包或发送系统数据包;映射关系存储单元,用于存储物理接口与硬件接收单元和硬件发送单元的映射关系;网络数据分配单元,用于根据物理接口与硬件接收单元的对应关系将网络数据包分配给对应的硬件接收单元;硬件接收单元,用于将网络数据包发送给操作系统内的与所述网络适配器对应的驱动程序,以由所述的驱动程序对所述的网络数据包进行处理;硬件发送单元,用于接收操作系统发送的系统数据包;系统数据分配单元,用于将系统数据包分配给对应的物理接口。
本发明的目的之一是提供一种网络适配系统,该方法系统包括:网络适配器和系统主机;网络适配器包括:物理接口,用于接收网络数据包或发送系统数据包;映射关系存储单元,用于存储物理接口与硬件接收单元和硬件发送单元的映射关系;网络数据分配单元,用于根据物理接口与硬件接收单元的对应关系将网络数据包分配给对应的硬件接收单元;硬件接收单元,用于将网络数据包发送给操作系统内的与所述网络适配器对应的驱动程序,以由所述的驱动程序对所述的网络数据包进行处理;硬件发送单元,用于接收系统主机发送的系统数据包;系统数据分配单元,用于将系统数据包分配给对应的物理接口;
系统主机包括:驱动单元,用于调用驱动程序对网络适配器进行驱动,并由驱动程序的外设描述符将网络适配器描述为网络外设;数据读取单元,用于对物理接口与硬件接收单元的映射关系进行读取,供操作系统使用;映射关系设置单元,用于对物理接口与硬件接收单元的映射关系进行设置。
本发明实施例的有益效果在于,使物理接口上的网络数据按照设定条件分配到相应的硬件接收单元,将网络适配器单个物理接口的流量均衡到多个硬件接收单元及对应的网络外设上,提高网络适配器每个物理接口数据流量的处理能力,也可将多个物理接口的流量统一到单个硬件接收单元及对应的网络外设上,提高对多个物理接口流量的处理效率。同时,网络适配器直接表现为一个或多个网络外设,可直接与操作系统中的协议栈进行数据的交换,使网络适配器的使用仍具有通用性。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1是多口网络适配器与主机操作系统的数据传输的示意图;
图2A是本发明实施例1的聚合网络适配器的功能结构示意图;
图2B是本发明实施例1的聚合网络适配器接收网络数据包流程图;
图3A是本发明实施例2的聚合网络适配器的功能结构示意图;
图3B是本发明实施例2的聚合网络适配器发送系统数据包流程图;
图4A是本发明实施例3的聚合网络适配器的功能结构示意图;
图4B是本发明实施例3的主机系统的功能结构示意图;
图5是本发明实施例3的聚合网络适配器与主机操作系统的数据传输示意图;
图6是本发明实施例3的物理接口与硬件接收/发送队列的映射关系示意图;
图7是本发明实施例3的硬件接收/发送队列的数据分配策略;
图8是本发明实施例3的物理接口的数据分发策略。
图9是本发明实施例4的硬件接收/发送队列的数据分配策略;
图10是本发明实施例4的物理接口的数据分发策略。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
实施例1
如图2A所示,为本发明实施例1的网络适配器功能结构,其中网络适配器200包括:物理接口201,用于接收网络数据包;映射关系存储单元202,用于存储物理接口与硬件接收单元的映射关系;网络数据分配单元203,用于根据硬件接收单元选择条件及物理接口与硬件接收单元的对应关系将网络数据包分配给对应的硬件接收单元;硬件接收单元204,用于将网络数据包发送给操作系统内的与所述网络适配器对应的驱动程序,以由所述的驱动程序对所述的网络数据包进行处理。硬件接收单元204可以通过多种方式实现,例如硬件接收队列。
如图2B所示,为本发明实施方式的网络适配器接收网络数据的流程;其中包括:步骤S211,设置硬件接收单元选择条件;
步骤S212,通过网络接口从网络设备接收网络数据;
步骤S213,根据硬件接收单元选择条件,将物理接口接收的网络数据分配给满足条件的硬件接收单元进行发送。
在本实施例中,可以根据网络数据包信息,例如:网络数据包IP地址、网络数据的端口地址、网络数据包数据类型、网络数据包数据容量(网络数据包的字节数目)、网络数据包的发送顺序、网络数据包的到达时间等,设置硬件接收单元选择条件;还可以根据网络适配器硬件资源情况,例如硬件接收单元空满情况,设置硬件接收单元选择条件;以及,根据操作系统资源信息,例如:CPU负载信息和内存使用信息设置硬件接收单元选择条件。
本实施例中,硬件接收单元选择条件可以是网络数据包IP地址与硬件接收单元标识的对应关系。网络数据分配单元根据网络数据包IP地址和硬件接收单元选择条件,选择硬件接收单元,将网络数据包分配给对应的硬件接收单元。
本实施例中,硬件接收单元选择条件可以是网络数据的端口地址与硬件接收单元标识的对应关系;网络数据分配单元根据网络数据包端口地址和硬件接收单元选择条件,将网络数据包分配给对应的硬件接收单元。
本实施例中,硬件接收单元选择条件可以是网络数据包字节数目(数据容量)与硬件接收单元标识的对应关系;网络数据分配单元根据网络数据包字节数目和硬件接收单元选择条件,选择硬件接收单元,将网络数据包分配给对应的硬件接收单元。
本实施例中,硬件接收单元选择条件可以是网络数据包数据类型与硬件接收单元标识的对应关系;网络数据分配单元根据网络数据包数据类型和硬件接收单元选择条件,选择硬件接收单元,将网络数据包分配给对应的硬件接收单元。
本实施例中,硬件接收单元选择条件可以是硬件接收单元的空满情况与硬件接收单元标识的对应关系;网络数据分配单元根据硬件接收单元的空满情况和硬件接收单元选择条件,选择硬件接收单元,将网络数据包分配给对应的硬件接收单元。
本实施例中,硬件接收单元选择条件可以是网络数据包的发送顺序与硬件接收单元标识的对应关系;网络数据分配单元根据网络数据包的发送顺序和硬件接收单元选择条件,选择硬件接收单元,将网络数据包分配给对应的硬件接收单元。
本实施例中,硬件接收单元选择条件可以是网络数据包的到达时间与硬件接收单元标识的对应关系;网络数据分配单元根据网络数据包的到达时间和硬件接收单元选择条件,选择硬件接收单元,将网络数据包分配给对应的硬件接收单元。
本实施例中,硬件接收单元选择条件可以是网络数据包复制数量与硬件接收单元标识的对应关系;网络数据分配单元根据硬件接收单元选择条件,将网络数据包复制为多份,将复制的网络数据包分配给相应的硬件接收单元。
实施例2
如图3A所示,为本发明实施例2的网络适配器功能结构,其中网络适配器300包括:硬件发送单元301,用于接收操作系统发送的系统数据包;映射关系存储单元302,用于存储物理接口与硬件发送单元的对应关系,系统数据分配单元303,用于根据存储物理接口与硬件发送单元的对应关系,将系统数据包分配给对应的物理接口;物理接口304,用于将系统数据包发送给对应的网络设备。硬件发送单元301可以通过多种方式实现,例如硬件发送队列。
如图3B所示,为实施例2的网络适配器发送系统数据包的流程:
步骤S311,设置物理接口选择条件;
步骤S312,通过硬件发送单元接收系统数据包;
步骤S313,根据物理接口选择条件将硬件发送单元接收的系统数据包分配给满足条件的物理接口进行发送。
在本实施例中,可以根据系统数据包信息,例如:系统数据包IP地址、网络数据的端口地址、系统数据包数据类型、系统数据包数据容量(系统数据包的字节数目)、系统数据包的发送顺序、系统数据包的发送时间等,设置物理接口选择条件;还可以根据网络适配器硬件资源情况,例如硬件发送单元空满情况,设置物理接口选择条件;以及,根据操作系统资源信息,例如:CPU负载信息和内存使用信息设置物理接口选择条件。
本实施例中,物理接口选择条件可以是系统数据包IP地址与物理接口标识的对应关系。网络数据分配单元根据系统数据包IP地址和物理接口选择条件,选择物理接口,将系统数据包分配给对应的物理接口。
本实施例中,物理接口选择条件可以是网络数据的端口地址与物理接口标识的对应关系;网络数据分配单元根据系统数据包端口地址和物理接口选择条件,将系统数据包分配给对应的物理接口。
本实施例中,物理接口选择条件可以是系统数据包字节数目(数据容量)与物理接口标识的对应关系;网络数据分配单元根据系统数据包字节数目和物理接口选择条件,选择硬件接收单元,将系统数据包分配给对应的物理接口。
本实施例中,物理接口选择条件可以是系统数据包数据类型与物理接口标识的对应关系;网络数据分配单元根据系统数据包数据类型和物理接口选择条件,选择物理接口,将系统数据包分配给对应的物理接口。
本实施例中,物理接口选择条件可以是硬件发送单元的空满情况与物理接口标识的对应关系;网络数据分配单元根据硬件发送单元的空满情况和物理接口选择条件,选择物理接口,将系统数据包分配给对应的物理接口。
本实施例中,物理接口选择条件可以是系统数据包的发送顺序与物理接口标识的对应关系;网络数据分配单元根据系统数据包的发送顺序和物理接口选择条件,选择物理接口,将系统数据包分配给对应的物理接口。
本实施例中,物理接口选择条件可以是系统数据包的发送时间与物理接口标识的对应关系;网络数据分配单元根据系统数据包的发送时间和物理接口选择条件,选择物理接口,将系统数据包分配给对应的物理接口。
本实施例中,物理接口选择条件可以是系统数据包复制数量与物理接口标识的对应关系;网络数据分配单元根据物理接口选择条件,将系统数据包复制为多份,将复制的系统数据包分配给相应的物理接口。
实施例3
如图4A所示,为本发明实施例的聚合网络适配器400的功能结构,其中聚合网络适配器包括:两个物理接口401,用于接收网络设备发送的网络数据包以及将系统数据包发送给网络设备;八个硬件接收/发送队列402,用于将网络数据包发送给操作系统内的与所述网络适配器对应的驱动程序,以由所述的驱动程序对所述的网络数据包进行处理以及用于接收由系统主机的操作系统发送的系统数据包;数据分发策略调度单元403,用于存储物理接口401和硬件接收/发送队列402的映射关系,硬件接收/发送单元选择条件和物理接口选择条件,并将网络数据包分配给对应的硬件接收/发送单元402或将系统数据包分配给对应的物理接口401。
如图4B所示,为本发明实施例的系统主机410的功能结构,系统主机410包括:驱动单元411,包括用于调用驱动程序对所述的网络适配器进行驱动,该驱动程序包括软件接收/发送单元4111以及外设描述符4112;外设描述符4112可以将网络适配器的多个物理接口描述为一个网络外设,或者将网络适配器的单个物理接口描述为多个网络外设,使物理接口的数目与外设描述符的数目不相等,也不相关。数据读取单元412,用于从网络适配器400的数据分发策略调度单元403中,读取物理接口与硬件接收单元的映射关系,供系统主机的操作系统使用。映射关系设置单元413,用于根据数据读取单元412读取物理接口与硬件接收单元的映射关系,对数据分发策略调度单元403中物理接口与硬件接收单元的映射关系进行设置。映射关系设置单元413可对设置的物理接口与硬件接收单元的映射关系进行存储。主机410的操作系统根据读取的物理接口与硬件接收单元的映射关系,调用操作系统驱动程序对聚合网络适配器进行驱动并将改聚合网络适配器描述为网络外设。主机410可以是PC或服务器。
如图5所示,为本实施例的聚合网络适配器400与服务器的主机操作系统410间的数据传输,网络适配器410通过总线420,连接系统主机410。聚合网络适配器200设置有两个千兆的物理接口1和物理接口2以及八个硬件接收/发送队列1至硬件接收/发送队列8。如图6所示,物理接口1与硬件接收/发送队列1至4映射,物理接口2与硬件接收/发送队列5至8映射。
网络适配器200的物理接口1通过交换机与以下4个内网网段连接:
网段1:192.168.0.0/24;
网段2:192.168.1.0/24;
网段3:192.168.2.0/24;
网段4:192.168.3.0/24;
网络适配器200的物理接口2通过交换机与以下4个外网网段网段连接:
网段5:10.0.0.0/24;
网段6:10.0.1.0/24;
网段7:10.0.2.0/24;
网段8:10.0.3.0/24;
当物理接口1接收源地址为192.168.0.1和192.168.1.4的数据包时,聚合网络适配器400的数据验证单元(图4A未示)首先验证数据包是否正确,若验证结果为数据包正确,则数据分发策略调度单元403根据图7中数据包源IP地址与数据接收/发送队列的对应关系,将源IP地址为192.168.0.1的数据包分发给硬件接收/发送队列1,将源地址为192.168.1.4的数据包分发给硬件接收/发送队列2。
硬件接收/发送队列1和硬件接收/发送队列2通过DMA(Direct MemoryAccess,直接内存访问)方式,主动向系统主机410传送数据包。当硬件接收/发送队列1完成数据包传送后,硬件接收/发送队列1向服务器的CPU(图4B未示)发生中断,系统主机410的操作系统中与硬件接收/发送队列1对应的软件数据软件接收/发送队列1(驱动程序)的中断服务程序,对软件接收/发送队列1的中断进行响应,并控制取得此数据包。
然后,驱动程序将数据包提交给上层协议栈,然后提交净荷给用户程序,用户程序对数据处理后进行响应,将需要回应的数据提交给协议栈,协议栈附加包头等信息后构成一个完整数据包传递给驱动程序,驱动程序将数据包的目的地址10.0.3.1告知聚合网络适配器的硬件接收/发送队列7,硬件接收/发送队列7通过DMA方式获取此数据包。数据分发策略调度单元403根据图8所示数据包目的IP地址与物理接口的对应关系,将数据包分发至物理接口2。物理接口2将数据包发送至相应的网络设备(图4A未示)。
同样,当硬件接收/发送队列2完成数据包传送后,硬件接收/发送队列2向服务器的CPU(图4A未示)发生中断,系统主机410的操作系统中与硬件接收/发送队列2对应的驱动程序的中断服务程序,对硬件接收/发送队列2的中断进行响应,并控制取得此数据包。
硬件接收/发送队列2的驱动程序将数据包提交给上层协议栈,然后提交净荷给用户程序,用户程序对数据处理后进行响应,将需要回应的数据提交给协议栈,协议栈附加包头等信息后构成一个完整数据包传递给驱动程序,驱动程序将数据包的目的地址192.168.1.4告知聚合适配器的硬件接收/发送队列2,硬件接收/发送队列2通过DMA方式获取此数据包。数据分发策略调度单元203图8所示数据包目的IP地址与物理接口的对应关系,将其分发至物理接口1。物理接口1将数据包发送至相应的网络设备(图4A未示)。
若本实施例中服务器具有八个CPU核,则可将硬件接收/发送队列1—8在主机操作系统220中对应的每个软件硬件接收/发送队列以及外设的中断和内存,分别绑定到服务器的每个CPU上。譬如:将硬件接收/发送队列1在主机操作系统中对应的软件接收/发送队列1和外设1绑定在CPU0上,同理,将软件接收/发送队列2—8以及外设2—8的中断和内存,分别绑定在CPU1—CPU7上,使每个CPU处理一个硬件接收/发送队列中的数据,从而充分利用多CPU系统的处理能力。在网络适配器200具有双千兆物理接口的流量下,服务器的每个CPU仅需处理250M左右的流量即可。
本发明中提供的网络适配器可将单个物理接口的数据聚合到多个硬件接收发送队列中,也可将多个物理接口的数据分发到多个硬件接收发送队列。为方便起见,下面将称之为聚合网络适配器。
硬件接收队列选择条件与物理接口选择条件的形式化定义
设聚合网络适配器中包含M个物理接口、N个硬件接收/发送队列,各个物理接口以pi表示,其中i为1到M之间的整数,所有物理接口的集合为P,2P为P的所有子集的集合,各个硬件接收/发送队列以qj表示,其中j为1到N之间的整数,所有硬件接收/发送队列的集合为Q;2Q为Q的所有子集的集合,网络适配器中的硬件接收队列选择条件为从集合P到2Q的函数f:
f:P→2Q
由于空集Φ包含在集合2Q中,因此允许物理接收接口不映射到硬件接收/发送队列中任何硬件接收队列中。
聚合网络适配器中的物理接口选择条件为从集合Q到2P的函数g:
g:Q→2P
同样由于空集Φ包含在集合2P中,因此允许硬件接收/发送队列的硬件发送队列不映射到任何物理接口上。
根据硬件接收队列选择函数f,即接收数据时的对应关系,定义接收聚合各名词如下:
若硬件接收队列选择函数f满足如下条件,则称之为接收正向聚合:
{f||f(pi)|≥1且∩f(pi)=φ,1≤i≤M}
即对任意一个物理接口的接收,映射后的集合中元素的个数超过1个,且各个物理接口映射的硬件接收队列是不同的。
若硬件接收队列选择函数f满足如下条件,则称之为接收反向聚合:
{f||f(pi)|=1,1≤i≤M}
即对任意一个物理接口的接收,只能映射到一个硬件接收队列中,但多个物理接口可以映射到相同的硬件接收队列。
若硬件接收队列选择函数f满足如下条件,则称之为接收平行聚合:
{f||f(pi)|=1且∩f(pi)=φ,1≤i≤M}
接收平行聚合使接收正向聚合与接收反向聚合的交集,即一个物理接口对应一个硬件接收队列。
接收正向聚合与接收反向聚合的并集称为接收单一聚合为,接收混合聚合为接收单一聚合的补集,即多个物理接口同时对应多个硬件接收队列。
根据物理接口选择关系g,即发送数据里的对应关系,定义发送聚合名词如下:
若物理接口选择函数g满足如下条件,则称之为发送正向聚合:
{g||g(qj)|=1,1≤j≤N}
即对任意一个发送队列,只能映射到一个物理发送接口中,但多个发送队列可以映射到相同的物理发送接口。
若物理接口选择函数g满足如下条件,则称之为发送反向聚合:
{g||g(qi)|≥1且∩g(qj)=φ,1≤j≤N}
即对任意一个硬件发送队列,可映射到一个或多个物理接口,但各个硬件发送队列映射的物理接口不同。
若物理接口选择函数g满足如下条件,则称之为发送平行聚合:
{g||g(qj)|=1且∩g(pj)=φ,1≤j≤N}
即为接收正向聚合与接收反向聚合的交集。
发送单一聚合为发送正向聚合与发送反向聚合的并集,发送混合聚合为发送单一聚合的补集。
根据上述硬件接收队列选择函数f与物理接口选择函数g的关系,若硬件接收队列选择函数f与物理接口选择函数g所表示的对应关系是互逆的,称为互逆聚合。
互逆聚合定义如下:
{ ( f , g ) | q j ∈ f ( p i ) ⇔ p i ∈ g ( q j ) } , 1 ≤ i ≤ M , 1 ≤ j ≤ N
综合考虑上述硬件接收队列选择函数f与物理接口选择函数g,对聚合网络适配器中的聚合做如下定义:若硬件接收队列选择函数f为接收正向聚合,且发物理接口选择函数g为接收正向聚合,则合称为正向聚合。若f为接收反向聚合,且g为发送正向聚合,则称为反向聚合。若f为接收平行聚合,且g为发送平行聚合,则称为平行聚合。若f为接收单一聚合,且g为发送单一聚合,则称为单一聚合。若f为接收混合聚合,且g为发送混合聚合,则称为混合聚合。
既是正向聚合又是互逆聚合,称为互逆正向聚合。既是反向聚合又是互逆聚合,称为互逆反向聚合。既是平行聚合又是互逆聚合,称为互逆平行聚合。既是单一聚合又是互逆聚合,称为互逆单一聚合。既是混合聚合又是互逆聚合,称为互逆混合聚合。
由于本实施例中,物理接口数M=2;硬件接收/发送队列数目N=8;则物理接口与硬件接收/发送队列的聚合对应函数为:互逆正向聚合方式。接收对应函数f为:f(1)={1,2,3,4},f(2)={5,6,7,8}。发送对应函数g为:g(1)={1},g(2)={1},g(3)={1},g(4)={1},g(5)={2},g(6)={2},g(7)={2},g(8)={2}。
本实施例中,图7和图8中所示的数据分发策略是按照数据包的源地址和目的地址设置的,使源地址和目的地址相同的数据包由聚合网络适配器中的同一硬件接收/发送队列进行处理。在设置聚合网络适配器的数据分发调度数据分发策略时,在本实施例上述例举的物理接口与硬件接收/发送队列的映射关系中,接收正向聚合与发送反向聚合中每个物理接口与多个硬件接收/发送队列对应,可以按照一对多的形式,将源地址相同的数据包按照一定的规则平均地分发到多个硬件接收/发送队列。硬件接收/发送队列的数据包将数据包复制为多份,往每个硬件接收/发送队列的数据包都送一份。用户可根据不同的需求,采取不同的方式和规则,设置数据分发策略。
本实施例的聚合网络适配器中,硬件接收/发送队列1与其驱动程序间的数据交互,以及硬件接收/发送队列2与其驱动程序间的数据交互方式,采用了相同的数据交互方式DMA。但是,本领域技术人员根据本实施例的内容,对各硬件接收/发送队列与其驱动程序间的数据交互方式进行变化,硬件接收/发送队列可采用不同方式和数据结构与系统主机410的操作系统交换数据,如采用基于描述符环的方式交互数据,或采用基于流的方式交互数据或其他交换方式,使得各硬件接收/发送队列与系统主机410的操作系统交互的方式可以相同也可以不同,使得聚合网络适配器200中硬件接收/发送队列的硬件实现可以相同也可以不同。
本实施例的有益效果在于,根据设置的数据分发策略,将聚合网络适配器应用为单口网络适配器或多口网络适配器,可以将单个物理接口的流量均衡到多个接收模块上,也可以将多个物理接口的流量合并到同一个发送模块上。当物理接口接收的数据流量较小时,可以将聚合网络适配器的硬件接收/发送队列的多路数据集合至一个CPU集中处理;当物理接口接收的网络数据流量较大,可以将数据分流至多个硬件接收/发送队列,在具有多CPU处理能力的系统中,可以充分发挥该系统多处理平台对聚合网络适配器物理端口流量的处理能力。
实施例2
本实施例的系统与实施例1相同,仍如图4A所示,本发明实施例的聚合网络适配器400设置有两个千兆的物理接口1和物理接口2以及八个硬件接收/发送队列1至硬件接收/发送队列8;且如图6所示,物理接口1与硬件接收/发送队列1至4映射,物理接口2与硬件接收/发送队列5至8映射。
本实施例的数据分发策略与实施例1不同,每个硬件接收/发送队列的选择条件、与物理接口选择条件如图9与图10所示。两个物理接口与各个网段相连接,但映每个硬件接收/发送队列与物理接口的映射方式不是与IP地址相关,而是与端口号相关。如从物理接口1进入的数据包中,所有21端口的数据都被分配到硬件发送队列1,所有80端口的数据都被分配到硬件发送队列2等。
21端口为FTP服务的知名端口号,21端口的数据都属于FTP协议的命令数据,故可在硬件接收/发送队列1上启动FTP的相关处理程序;80端口为HTTP服务的知名端口号,80端口的数据都属于HTTP服务的数据,可在硬件接收/发送队列2上启动HTTP的相关处理程序。通过本实施例可以看到,本发明中的聚合网络适配器根据合理的配置,可将不同类型的服务分流到不同的硬件接收/发送队列上,从而为上层应用提供更大的方便。
同时,聚合网络适配器中的硬件接收队列选择条件和物理接收选择条件是动态,这为如FTP等服务提供了额外的方便。在FTP服务的工作方式中,存在被动连接(passive)的工作方式,用户与FTP服务间的数据连接也由客户端发起,服务器提供一个动态分配的用于与用户进行数据连接的端口号,该端口号由FTP协议中的Pssv命令指定。对于这种情况,根据对所有经过本网卡上接收和发送的数据报文进行分析,可以获得用户进行被动连接的端口号,并动态将与该端口进行连接传输FTP数据的网络数据报文都分配到硬件接收和发送队列1中。在本实施例中,聚合网络适配器将Pssv命令所指定的端口数据加入到硬件接收/发送队列1中。聚合网络适配器本身可完成捕获Pssv命令的过程,并自适应地动态将该端口的数据映射到相应的硬件接收/发送队列中;也可由软件直接动态将一个对应关系设置添加到硬件接收队列选择条件和物理接收选择条件中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (19)

1.一种网络适配器数据接收方法,其特征在于,所述的方法包括:
通过物理接口接收网络数据包,所述物理接口为多个;
根据硬件接收单元选择条件,将所述物理接口接收到的网络数据包聚合到多个硬件接收单元中;
由所述多个硬件接收单元将所述网络数据包发送给操作系统内的与所述网络适配器对应的驱动程序,以由所述的驱动程序对所述的网络数据包进行处理;
其中,每一所述硬件接收单元对应绑定在所述操作系统内的一个CPU核上;
当网络数据流量小时,将所述多个物理接口接收到的网络数据包聚合到一个CPU核上集中处理;当网络数据流量大时,将所述多个物理接口接收到的网络数据包均衡到多个CPU核上进行处理。
2.根据权利要求1所述的方法,其特征在于,根据网络数据包信息和/或操作系统资源信息对所述的硬件接收单元选择条件进行设置。
3.根据权利要求2所述的方法,其特征在于,所述的网络数据包信息包括:
网络数据包IP地址,网络数据的端口地址,网络数据包数据类型,网络数据包数据容量,网络数据包的发送顺序,网络数据包的到达时间,网络数据包复制数量;
所述的操作系统资源信息包括:CPU负载信息和内存使用信息。
4.根据权利要求1所述的方法,其特征在于,所述的硬件接收单元选择条件包括:物理接口与硬件接收单元的对应关系;其中
根据所述的网络数据包信息和/或操作系统资源信息对所述的物理接口与硬件接收单元的对应关系进行设置。
5.根据权利要求4所述的方法,其特征在于,所述的物理接口与硬件接收单元的对应关系包括:
网络数据包IP地址与硬件接收单元标识的对应关系;和/或
网络数据的端口地址与硬件接收单元标识的对应关系;和/或
网络数据包数据类型与硬件接收单元标识的对应关系;和/或
网络数据包数据容量与硬件接收单元标识的对应关系;和/或
硬件接收单元的空满情况与硬件接收单元标识的对应关系;和/或
网络数据包的发送顺序与硬件接收单元标识的对应关系;和/或
网络数据包的到达时间与硬件接收单元标识的对应关系;和/或
网络数据包复制数量与硬件接收单元标识的对应关系;和/或
操作系统资源信息与硬件接收单元标识的对应关系。
6.一种网络适配器数据发送方法,其特征在于,所述的方法包括:
通过硬件发送单元接收操作系统发送的系统数据包,所述硬件发送单元为多个;
根据物理接口选择条件,将所述硬件发送单元接受到的系统数据包分配给对应的物理接口,所述物理接口为多个;
由所述多个物理接口将所述系统数据包发送给对应的网络设备;
其中,每一所述硬件发送单元对应绑定在所述操作系统内的一个CPU核上;
当网络数据流量小时,将所述多个硬件发送单元接收到的网络数据包聚合到一个CPU核上集中处理;当网络数据流量大时,将所述多个硬件发送单元接收到的网络数据包均衡到多个CPU核上进行处理。
7.根据权利要求6所述的方法,其特征在于,根据系统数据包信息和/或操作系统资源信息对所述的物理接口选择条件进行设置。
8.根据权利要求7所述的方法,其特征在于,所述的物理接口选择条件包括:物理接口与硬件发送单元的对应关系;其中
根据所述的系统数据包信息和/或操作系统资源信息对所述的物理接口与硬件发送单元的对应关系进行设置。
9.根据权利要求6所述的方法,其特征在于,所述的系统数据包信息包括:
系统数据包IP地址,系统数据包的端口地址,系统数据包数据类型,系统数据包数据容量,系统数据包的发送顺序,系统数据包的发送时间,系统数据包复制数量;
所述的操作系统资源信息包括:CPU负载信息和内存使用信息。
10.根据权利要求9所述的方法,其特征在于,所述的物理接口与硬件接收单元的对应关系包括:
系统数据包IP地址与物理接口标识的对应关系;和/或
系统数据包的端口地址与物理接口标识的对应关系;和/或
系统数据包数据类型与物理接口标识的对应关系;和/或
系统数据包数据容量与物理接口标识的对应关系;和/或
硬件发送单元的空满情况与物理接口标识的对应关系;和/或
系统数据包的发送顺序与物理接口标识的对应关系;和/或
系统数据包复制数量与物理接口标识的对应关系;和/或
操作系统资源信息与物理接口标识的对应关系。
11.一种网络适配器,其特征在于,所述的网络适配器包括:
物理接口,用于接收网络数据包,所述物理接口为多个;
映射关系存储单元,用于存储物理接口与硬件接收单元的映射关系;
网络数据分配单元,用于根据物理接口与硬件接收单元的对应关系,将所述物理接口接收到的网络数据包聚合到多个硬件接收单元中;
硬件接收单元,用于将所述网络数据包发送给操作系统内的与所述网络适配器对应的驱动程序,以由所述的驱动程序对所述的网络数据包进行处理;
其中,每一所述硬件接收单元对应绑定在所述操作系统内的一个CPU核上;
当网络数据流量小时,将所述多个物理接口接收到的网络数据包聚合到一个CPU核上集中处理;当网络数据流量大时,将所述多个物理接口接收到的网络数据包均衡到多个CPU核上进行处理。
12.一种网络适配器,其特征在于,所述的网络适配器包括:
硬件发送单元,用于接收操作系统发送的系统数据包,所述硬件发送单元为多个;
映射关系存储单元,用于存储物理接口与硬件发送单元的映射关系,
系统数据分配单元,用于将所述硬件发送单元接受到的系统数据包分配给对应的物理接口;
物理接口,所述物理接口为多个,用于将所述系统数据包发送给对应的网络设备;
其中,每一所述硬件发送单元对应绑定在所述操作系统内的一个CPU核上;
当网络数据流量小时,将所述多个硬件发送单元接收到的网络数据包聚合到一个CPU核上集中处理;当网络数据流量大时,将所述多个硬件发送单元接收到的网络数据包均衡到多个CPU核上进行处理。
13.一种网络适配器,其特征在于,所述的网络适配器包括:
物理接口,用于接收网络数据包或发送系统数据包;
映射关系存储单元,用于存储物理接口与硬件接收单元和硬件发送单元的映射关系;
网络数据分配单元,用于根据物理接口与硬件接收单元的对应关系将所述网络数据包分配给对应的硬件接收单元;
硬件接收单元,用于将所述网络数据包发送给操作系统内的与所述网络适配器对应的驱动程序,以由所述的驱动程序对所述的网络数据包进行处理;
硬件发送单元,用于接收操作系统发送的系统数据包;
系统数据分配单元,用于将所述系统数据包分配给对应的物理接口;
其中,所述物理接口为多个,所述硬件接收单元和所述硬件发送单元一一对应,为多个;
其中,每一所述硬件发送单元与硬件接收单元对应绑定在所述操作系统内的一个CPU核上;
当网络数据流量小时,将所述多个硬件发送单元或硬件接收单元接收到的网络数据包聚合到一个CPU核上集中处理;当网络数据流量大时,将所述多个硬件发送单元或硬件接收单元接收到的网络数据包均衡到多个CPU核上进行处理。
14.一种网络适配系统,其特征在于,所述的系统包括:网络适配器和系统主机;
所述的网络适配器包括:物理接口,用于接收网络数据包或发送系统数据包;映射关系存储单元,用于存储物理接口与硬件接收单元的映射关系;网络数据分配单元,用于根据物理接口与硬件接收单元和硬件发送单元的映射关系将所述网络数据包分配给对应的硬件接收单元;硬件接收单元,用于将所述网络数据包发送给操作系统内的与所述网络适配器对应的驱动程序,以由所述的驱动程序对所述的网络数据包进行处理;硬件发送单元,用于接收系统主机发送的系统数据包;系统数据分配单元,用于将所述系统数据包分配给对应的物理接口;
其中,所述物理接口为多个,所述硬件接收单元和所述硬件发送单元一一对应,为多个;
其中,每一所述硬件发送单元与硬件接收单元对应绑定在所述操作系统内的一个CPU核上;
当网络数据流量小时,将所述多个硬件发送单元或硬件接收单元接收到的网络数据包聚合到一个CPU核上集中处理;当网络数据流量大时,将所述多个硬件发送单元或硬件接收单元接收到的网络数据包均衡到多个CPU核上进行处理;
所述的系统主机包括:驱动单元,用于调用驱动程序对所述的网络适配器进行驱动,并由所述驱动程序的外设描述符将所述的网络适配器描述为网络外设;数据读取单元,用于对所述的物理接口与硬件接收单元的映射关系进行读取,供操作系统使用;
映射关系设置单元,用于对所述的物理接口与硬件接收单元的映射关系进行设置。
15.根据权利要求14所述的系统,其特征在于,所述的网络适配器包括多个物理接口,所述的驱动程序的外设描述符将所述的网络适配器描述为一个网络外设。
16.根据权利要求14所述的系统,其特征在于,所述的网络适配器包括单个物理接口,所述的驱动程序的外设描述符将所述的网络适配器描述为多个网络外设。
17.根据权利要求14所述的系统,其特征在于,所述的网络适配器包括多物理接口,所述的驱动程序的外设描述符将所述的网络适配器描述为多个网络外设。
18.根据权利要求15或16或17所述的系统,其特征在于,所述的物理接口的数目与外设描述符的数目不相等。
19.根据权利要求17所述的系统,其特征在于,所述的物理接口的数目与外设描述符的数目相等。
CN 200810177727 2008-11-12 2008-11-12 一种网络适配器数据传输方法、网络适配器及系统 Active CN101409673B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200810177727 CN101409673B (zh) 2008-11-12 2008-11-12 一种网络适配器数据传输方法、网络适配器及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200810177727 CN101409673B (zh) 2008-11-12 2008-11-12 一种网络适配器数据传输方法、网络适配器及系统

Publications (2)

Publication Number Publication Date
CN101409673A CN101409673A (zh) 2009-04-15
CN101409673B true CN101409673B (zh) 2013-07-03

Family

ID=40572468

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200810177727 Active CN101409673B (zh) 2008-11-12 2008-11-12 一种网络适配器数据传输方法、网络适配器及系统

Country Status (1)

Country Link
CN (1) CN101409673B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101616042B (zh) * 2009-08-04 2012-09-05 中兴通讯股份有限公司 网络设备模拟器及数据发送、接收和传输方法
CN102790777B (zh) * 2012-08-07 2016-06-15 华为技术有限公司 网络接口适配器注册方法及驱动设备、服务器
CN102946366B (zh) * 2012-11-12 2015-12-16 杭州华为数字技术有限公司 带内管理方法及系统
CN102984085A (zh) * 2012-11-21 2013-03-20 网神信息技术(北京)股份有限公司 映射方法及装置
CN104468128B (zh) * 2013-09-25 2018-08-03 中国科学院声学研究所 用于嵌入式网络处理器的网络接口类型扩展适配系统
CN104598412A (zh) * 2014-10-17 2015-05-06 新浪网技术(中国)有限公司 一种数据传输方法及装置
CN107528923B (zh) * 2017-09-30 2020-08-25 江苏农林职业技术学院 一种网络适配器的数据传输方法及网络适配器
CN108881063B (zh) * 2017-12-29 2019-06-28 视联动力信息技术股份有限公司 一种数据发送方法和装置
CN109039944B (zh) * 2018-11-01 2022-04-22 郑州云海信息技术有限公司 一种数据包的分流方法、装置及设备
CN109714641B (zh) * 2018-11-28 2021-06-29 视联动力信息技术股份有限公司 一种基于视联网的数据处理方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1516840A (zh) * 2001-04-25 2004-07-28 �ź㴫 自适应多协议通信系统
CN1679281A (zh) * 2002-08-24 2005-10-05 思科技术公司 分组处理引擎
WO2008098249A1 (en) * 2007-02-09 2008-08-14 Dilithium Networks Pty Ltd. Method and apparatus for the adaptation of multimedia content in telecommunications networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1516840A (zh) * 2001-04-25 2004-07-28 �ź㴫 自适应多协议通信系统
CN1679281A (zh) * 2002-08-24 2005-10-05 思科技术公司 分组处理引擎
WO2008098249A1 (en) * 2007-02-09 2008-08-14 Dilithium Networks Pty Ltd. Method and apparatus for the adaptation of multimedia content in telecommunications networks

Also Published As

Publication number Publication date
CN101409673A (zh) 2009-04-15

Similar Documents

Publication Publication Date Title
CN101409673B (zh) 一种网络适配器数据传输方法、网络适配器及系统
CN101669100B (zh) 利用半导体芯片中的多核处理器资源阵列管理多个i/o接口的方法和系统
EP1399849B1 (en) Arrangement for creating multiple virtual queue pairs from a compressed queue pair based on shared attributes
AU703388B2 (en) Method and apparatus for exchanging data, status and commands over an hierarchical serial bus assembly using communication packets
US8180949B1 (en) Resource virtualization switch
US6614808B1 (en) Network packet aggregation
US7706275B2 (en) Method and apparatus for routing data in an inter-nodal communications lattice of a massively parallel computer system by employing bandwidth shells at areas of overutilization
WO2007149745A2 (en) Methods, systems and protocols for application to application communications
CN102185833B (zh) 一种基于fpga的fc i/o并行处理方法
CN103077148B (zh) 一种基于pcie的主机通讯方法和主机
CN104142867A (zh) 数据处理装置及数据处理方法
JP2008287717A (ja) 仮想レーン資源を割り当てるための方法及びコンピュータ・システム
CN101311915A (zh) 用于动态重分派虚拟通道资源的方法和系统
CN108768667B (zh) 一种用于多核处理器片内核间网络通信的方法
WO2001067713A1 (en) A packet format independent computer network controller
CN112291259B (zh) 一种协议转换方法、网关、设备及可读存储介质
CN104598430A (zh) 一种cpu互联扩展系统的网络接口互联设计与控制系统
US10719376B2 (en) Methods and apparatus for multiplexing data flows via a single data structure
US7782870B1 (en) Method and apparatus for consolidating available computing resources on different computing devices
US7085869B1 (en) Arrangement for managing transmitted packets requiring acknowledgement in a host channel adapter
CN103078720A (zh) 报文处理方法及装置
JPS59176952A (ja) 通信制御方式
CN108885599A (zh) 串行附连小型计算机系统接口链路的分数复用
Fredj et al. Rwapi over infiniband: Design and performance
Diffley Design considerations of a proposed local area computer network emphasizing the needs of the health sciences

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 100097 Beijing city Haidian District landianchang Road No. 2 Jin Yuan Times Business Center Building 2, block A, 3C

Co-patentee after: BEIJING HENGGUANG INFORMATION TECHNOLOGY Co.,Ltd.

Patentee after: BEIJING EVERBRIGHT INNOVATION TECHNOLOGY Co.,Ltd.

Co-patentee after: BEIJING HENGGUANG TECHNOLOGY DEVELOPMENT Co.,Ltd.

Address before: 100097 Beijing city Haidian District landianchang Road No. 2 Jin Yuan Times Business Center Building 2, block A, 3C

Co-patentee before: Beijing Hengguang Information Technology Co.,Ltd.

Patentee before: BEIJING EVERBRIGHT INNOVATION TECHNOLOGY Co.,Ltd.

Co-patentee before: BEIJING HENGGUANG TECHNOLOGY DEVELOPMENT Co.,Ltd.

Address after: 100097 Beijing city Haidian District landianchang Road No. 2 Jin Yuan Times Business Center Building 2, block A, 3C

Co-patentee after: Beijing Hengguang Information Technology Co.,Ltd.

Patentee after: BEIJING EVERBRIGHT INNOVATION TECHNOLOGY Co.,Ltd.

Co-patentee after: BEIJING HENGGUANG TECHNOLOGY DEVELOPMENT Co.,Ltd.

Address before: 100097 Beijing city Haidian District landianchang Road No. 2 Jin Yuan Times Business Center Building 2, block A, 3C

Co-patentee before: Beijing Ebright Communication Technology Co.,Ltd.

Patentee before: BEIJING EVERBRIGHT INNOVATION TECHNOLOGY Co.,Ltd.

Co-patentee before: BEIJING HENGGUANG TECHNOLOGY DEVELOPMENT Co.,Ltd.

CP01 Change in the name or title of a patent holder
TR01 Transfer of patent right

Effective date of registration: 20170621

Address after: 100097 Beijing city Haidian District landianchang Road No. 2 Jin Yuan Times Business Center Building 2, block A, 3B

Patentee after: BEIJING HENGGUANG INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 100097 Beijing city Haidian District landianchang Road No. 2 Jin Yuan Times Business Center Building 2, block A, 3C

Co-patentee before: BEIJING HENGGUANG INFORMATION TECHNOLOGY Co.,Ltd.

Patentee before: BEIJING EVERBRIGHT INNOVATION TECHNOLOGY Co.,Ltd.

Co-patentee before: BEIJING HENGGUANG TECHNOLOGY DEVELOPMENT Co.,Ltd.

TR01 Transfer of patent right