上海交通大学李健获国家专利权
买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
龙图腾网获悉上海交通大学申请的专利一种基于共享内存通信模式的栈内零拷贝发送路径方法获国家发明授权专利权,本发明授权专利权由国家知识产权局授予,授权公告号为:CN116489250B 。
龙图腾网通过国家知识产权局官网在2025-10-28发布的发明授权授权公告中获悉:该发明授权的专利申请号/专利号为:202310443027.7,技术领域涉及:H04L69/22;该发明授权一种基于共享内存通信模式的栈内零拷贝发送路径方法是由李健;裘鹏泽;管海兵设计研发完成,并于2023-04-23向国家知识产权局提交的专利申请。
本一种基于共享内存通信模式的栈内零拷贝发送路径方法在说明书摘要公布了:本发明公开了一种基于共享内存通信模式的栈内零拷贝发送路径方法,涉及数据通信技术领域。把共享内存到数据包缓存的拷贝改成在数据包缓存中写入共享内存里数据的引用,消除了数据包缓存区内的数据副本。在不改动应用侧来保持网络协议栈对上层应用透明与低耦合的前提下,将网络协议栈内部原有的发送路径改造成零拷贝的发送路径,消除网络协议栈内部的拷贝从而消除LLC内数据的重复,节约LLC,改善网络协议栈在高负载场景下发送大文件的网络性能。
本发明授权一种基于共享内存通信模式的栈内零拷贝发送路径方法在权利要求书中公布了:1.一种基于共享内存通信模式的栈内零拷贝发送路径方法,其特征在于,包括以下步骤: 步骤1、网络协议栈的事件轮询模块通过轮询的方式从IO事件队列中收到应用的IO请求,然后事件轮询模块将请求转发给会话模块处理; 步骤2、会话模块在收到发送的请求后,找到对应的网络会话,根据网络会话中记录的数据发送队列信息找到数据发送队列,确定发送数据的位置和长度,然后调用内存连接模块并且把发送数据的信息传给内存连接模块; 步骤3、内存连接模块得到了发送队列中数据的信息后,计算出需要的数据包缓存资源,从数据包缓存资源池中分配,然后将数据的引用保存到数据包缓存中,取代了原来把数据拷贝到数据包缓存的操作;这个过程中,会多分配一个数据包缓存; 步骤4、内存连接模块把引用写入数据包缓存之后,把数据包缓存交给会话模块;会话模块将数据包缓存交给传输网络层进行封包; 步骤5、传输网络层收到会话模块提供的会话信息和数据包缓存,找到对应的网络连接,网络协议栈生成数据包包头;为了能够快速分辨数据包缓存是否保存了共享内存数据的引用,网络协议栈将数据包包头和数据引用分别保存在不同的数据包缓存中,并且给存有数据引用的数据包缓存添加标记;网络协议栈在所述步骤3中预先多分配了一个数据包缓存,网络协议栈会把生成的数据包包头写入这个预留的数据包缓存中,再把存有对应数据引用的数据包缓存链接在有数据包包头的数据包缓存后面,这一组数据包缓存共同表示了一个已经封装好的,数据包内容分散的数据包; 步骤6、数据包封装完成之后,会话模块通知事件轮询模块数据包缓存已经准备就绪,网络协议栈通知网卡驱动; 步骤7、网卡驱动从数据包缓存中提取数据包包头或者共享内存中数据的地址、长度信息,填入descriptor放入descriptorring;对于链接起来的数据包缓存,驱动会挨个遍历,提取信息,填descriptor,并通过descriptor里的域进行链接,得到一串descriptors,写入发送descriptorring;在支持SGL特性的网卡上,网卡根据这一串descriptors,分别从数据包缓存和数据发送队列中读取数据包包头和数据,在网卡内部拼成一个连续的数据包,然后发送出去;发送完成后网卡将这一串descriptors标记为完成; 步骤8、网卡驱动在收到这一串完成的descriptors之后,网络协议栈把数据包缓存交给内存分离模块; 步骤9、内存分离模块逐个检查数据包缓存,对于带有标记的存有数据引用的数据包缓存,内存分离模块删除数据包缓存内的引用信息,恢复成普通的数据包缓存,交给数据包缓存资源池回收。
如需购买、转让、实施、许可或投资类似专利技术,可联系本专利的申请人或专利权人上海交通大学,其通讯地址为:200240 上海市闵行区东川路800号;或者联系龙图腾网官方客服,联系龙图腾网可拨打电话0551-65771310或微信搜索“龙图腾网”。
以上内容由龙图腾AI智能生成。
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。

皖公网安备 34010402703815号
请提出您的宝贵建议,有机会获取IP积分或其他奖励