针对网络中的套接字组提供协调流控制的方法和网络节点技术

技术编号:23164884 阅读:39 留言:0更新日期:2020-01-21 22:37
套接字组在通信网络中执行协调流控制。当发送方套接字加入所述组时,所述组中的接收方套接字向所述发送方套接字通告最小窗口作为消息大小限制。在从所述发送方套接字接收到消息时,所述接收方套接字向所述发送方套接字通告最大窗口以增大所述消息大小限制。所述最小窗口是所述最大窗口的一部分。

Provide coordinated flow control method and network node for socket group in network

【技术实现步骤摘要】
【国外来华专利技术】针对网络中的套接字组提供协调流控制的方法和网络节点
本公开的实施例一般地涉及用于网络通信的系统和方法。
技术介绍
透明进程间通信(TIPC)协议允许集群计算机环境中的应用与其它应用快速和可靠地通信,而不管其它应用在集群内的位置如何。TIPC网络包括单独处理元件或节点。TIPC应用通常通过在通信端点(被称为端口)之间交换数据单元(被称为消息)彼此通信。从应用的角度来看,消息是长度为1到66000字节的字节串,其内部结构由应用确定。端口是可以以面向连接的方式或无连接方式来发送和接收消息的实体。面向连接的消息传送允许端口建立到网络中其它位置的对等端口的连接,并且然后与该对等端口交换消息。可以使用握手机制来建立连接;一旦建立连接,连接便保持活动状态,直到被端口之一所终止,或者直到端口之间的通信路径被断开。无连接消息传送(又称为数据报)允许端口与网络中其它位置的一个或多个端口交换消息。给定消息可以发送到单个端口(单播)或端口集合(多播或广播),具体取决于当发送消息时指定的目的地地址。在组通信环境中,端口可以从一个或多个发送方接收消息,以及可以向一个或多个接收方发送消息。在某些场景中,由于目的地处的队列溢出(例如,当多个发送方同时向同一接收方发送消息时),由无连接通信发送的消息可能被丢弃。简单地增加接收队列大小以防止溢出可能存在接收方处的内存耗尽的风险,并且如果组大小的增加超过限制,则这种方法将无法扩展。此外,由于缺少不同消息类型之间的有效序列控制,可能未按顺序接收某些消息。因此,需要一种解决方案,其在理论上对于组通信是安全的,但在正常情况下不会严重限制吞吐量。
技术实现思路
在一个实施例中,提供一种针对网络中的套接字组中的接收方套接字的用于针对所述组提供流控制的方法。所述方法包括:当发送方套接字加入所述组时,向所述发送方套接字通告最小窗口作为消息大小限制;从所述发送方套接字接收消息;以及在接收到所述消息时,向所述发送方套接字通告最大窗口以增大所述消息大小限制,其中,所述最小窗口是所述最大窗口的一部分。在一个实施例中,提供一种针对网络中的套接字组中的发送方套接字的用于针对所述组提供序列控制的方法。所述方法包括:通过单播从所述发送方套接字向对等成员套接字发送第一消息;检测到来自所述发送方套接字的第二消息将要通过广播来发送,所述第二消息紧跟所述第一消息之后;以及通过复制的单播来发送所述第二消息,其中,针对所有目的地节点复制所述第二消息,每个复制的第二消息通过单播来发送。在一个实施例中,提供一种节点,包含网络中的套接字组中的接收方套接字。所述节点适于执行流控制以用于与所述组中的所述套接字通信。所述节点包括电路,适于使得所述节点中的所述接收方套接字执行以下操作:当发送方套接字加入所述组时,向所述发送方套接字通告最小窗口作为消息大小限制;从所述发送方套接字接收消息;以及在接收到所述消息时,向所述发送方套接字通告最大窗口以增大所述消息大小限制,其中,所述最小窗口是所述最大窗口的一部分。在一个实施例中,提供一种节点,包含网络中的套接字组中的发送方套接字。所述节点适于执行序列控制以用于与所述组中的所述套接字通信。所述节点包括电路,其适于使得所述节点中的所述发送方套接字执行以下操作:通过单播向对等成员套接字发送第一消息;检测到来自所述发送方套接字的第二消息将要通过广播来发送,所述第二消息紧跟所述第一消息之后;以及通过复制的单播来发送所述第二消息,其中,针对所有目的地节点复制所述第二消息,每个复制的第二消息通过单播来发送。在一个实施例中,提供一种节点,包含网络中的套接字组中的接收方套接字。所述节点适于执行流控制以用于与所述组中的所述套接字通信。所述节点包括流控制模块,适于当发送方套接字加入所述组时,向所述发送方套接字通告最小窗口作为消息大小限制;以及输入/输出模块,适于从所述发送方套接字接收消息。所述通告模块进一步适于在接收到所述消息时,向所述发送方套接字通告最大窗口以增大所述消息大小限制,其中,所述最小窗口是所述最大窗口的一部分。在一个实施例中,提供一种节点,包含网络中的套接字组中的发送方套接字。所述节点适合于执行序列控制以用于与所述组中的所述套接字通信。所述节点包括输入/输出模块,适于通过单播从所述发送方套接字向对等成员套接字发送第一消息;以及序列控制模块,适于检测到第二消息将要通过广播来发送,所述第二消息紧跟通过单播从所述发送方套接字发送的所述第一消息之后。所述输入/输出模块进一步适于:通过复制的单播来发送所述第二消息,其中,针对所有目的地节点复制所述第二消息,每个复制的第二消息通过单播来发送。在一个实施例中,提供一种由网络中的套接字组中的接收方套接字执行的针对所述组提供流控制的方法。所述方法包括:发起云计算环境中的节点实例的实例化,所述云计算环境提供用于运行所述节点实例的处理电路和存储器,所述节点实例可操作以:当发送方套接字加入所述组时,向所述发送方套接字通告最小窗口作为消息大小限制;从所述发送方套接字接收消息;以及在接收到所述消息时,向所述发送方套接字通告最大窗口以增大所述消息大小限制,其中,所述最小窗口是所述最大窗口的一部分。在一个实施例中,提供一种由网络中的套接字组中的发送方套接字执行的用于针对所述组提供序列控制的方法。所述方法包括:发起云计算环境中的节点实例的实例化,所述云计算环境提供用于运行所述节点实例的处理电路和存储器,所述节点实例可操作以:通过单播从所述发送方套接字向对等成员套接字发送第一消息;检测到来自所述发送方套接字的第二消息将要通过广播来发送,所述第二消息紧跟所述第一消息之后;以及通过复制的单播来发送所述第二消息,其中,针对所有目的地节点复制所述第二消息,每个复制的第二消息通过单播来发送。在结合附图阅读以下对特定实施例的描述时,其它方面和特性对于本领域的普通技术人员将变得显而易见。附图说明现在将仅通过示例的方式参考附图描述实施例。这些附图是:图1示出根据一个实施例的加入套接字组的套接字的一个示例;图2A、2B、2C和2D示出根据一个实施例的发送方套接字与其对等成员套接字之间的不同通信模式;图3示出根据一个实施例的由接收方套接字维护的有限状态机;图4示出根据一个实施例的多点到点流控制图;图5示出根据另一个实施例的多点到点流控制图;图6示出根据一个实施例的用于单播的点到多点流控制图;图7示出根据一个实施例的用于多播的点到多点流控制图;图8A和8B示出根据某些实施例的用于发送组广播的两个备选方案;图9示出根据一个实施例的用于发送方套接字紧接在单播之后发送广播的一种序列控制机制;图10示出根据一个实施例的用于发送方套接字紧接在广播之后发送单播的另一种序列控制机制;图11是示出根据一个实施例的流控制方法的流程图;图12是示出根据一个实施例的序列控制方法的流程图;图13是根据一个实施例的网络节点的框图;图14A是根据一个实施例的执行本文档来自技高网
...

【技术保护点】
1.一种由网络中的套接字组中的接收方套接字执行的用于针对所述组提供流控制的方法,所述方法包括:/n当发送方套接字加入所述组时,向所述发送方套接字通告最小窗口作为消息大小限制;/n从所述发送方套接字接收消息;以及/n在接收到所述消息时,向所述发送方套接字通告最大窗口以增大所述消息大小限制,其中,所述最小窗口是所述最大窗口的一部分。/n

【技术特征摘要】
【国外来华专利技术】1.一种由网络中的套接字组中的接收方套接字执行的用于针对所述组提供流控制的方法,所述方法包括:
当发送方套接字加入所述组时,向所述发送方套接字通告最小窗口作为消息大小限制;
从所述发送方套接字接收消息;以及
在接收到所述消息时,向所述发送方套接字通告最大窗口以增大所述消息大小限制,其中,所述最小窗口是所述最大窗口的一部分。


2.根据权利要求1所述的方法,其中,通告所述最大窗口进一步包括:
将所述发送方套接字从加入状态转变为活动状态;以及
如果处于所述活动状态的套接字总数距离可允许活动套接字数在阈值内,则从处于所述活动状态的选定套接字中回收容量。


3.根据权利要求2所述的方法,其中,所述选定活动套接字是处于所述活动状态的所述套接字中最不活动的套接字。


4.根据权利要求1所述的方法,其中,通告所述最大窗口进一步包括:
当处于活动状态的套接字总数等于可允许活动套接字数时,将所述发送方套接字从加入状态转变为未决状态。


5.根据权利要求4所述的方法,进一步包括:
从处于所述活动状态的所述套接字中最不活动的套接字中回收容量;以及
在接收到从所述最不活动的套接字回收的容量时,将所述发送方套接字从所述未决状态转变为所述活动状态。


6.根据权利要求3或5所述的方法,其中,回收所述容量进一步包括:
通过将所述最不活动的套接字的所述消息大小限制减小到所述最小窗口,从所述最不活动的套接字中回收所述容量。


7.根据权利要求1至5中任一项所述的方法,其中,由所述接收方套接字向所述组中的对等成员提供的合并总容量是所述最大窗口乘以所述组中的活动套接字数与所述最小窗口乘以所述组中的非活动套接字数的总和。


8.根据权利要求7所述的方法,进一步包括:
由所述接收方套接字在接收到来自所述发送方套接字的所述消息之后更新通告窗口,其中,所述通告窗口跟踪提供给所述发送方套接字的可用容量;以及
当所述通告窗口低于预定限制时,将提供给所述发送方套接字的所述可用容量补充到所述最大窗口。


9.根据权利要求1至5中任一项所述的方法,其中,至少部分地基于所述接收方套接字的负载等级,从所述套接字的与相同成员标识符相关联的子集中选择所述接收方套接字作为任播消息的接收者。


10.一种由网络中的套接字组中的发送方套接字执行的用于针对所述组提供序列控制的方法,所述方法包括:
通过单播从所述发送方套接字向对等成员套接字发送第一消息;
检测到来自所述发送方套接字的第二消息将要通过广播来发送,所述第二消息紧跟所述第一消息之后;以及
通过复制的单播来发送所述第二消息,其中,针对所有目的地节点复制所述第二消息,每个复制的第二消息通过单播来发送。


11.根据权利要求10所述的方法,进一步包括:
阻止下一个广播消息,直到所有所述目的地节点已确认接收到所述复制的单播。


12.根据权利要求10或11所述的方法,进一步包括:
在从所有所述目的地节点接收到确认之后,基于所述组中所述目的地节点的数量与所述目的地节点所在的集群的大小,确定是通过广播还是通过复制的单播来发送所述下一个广播消息。


13.根据权利要求10所述的方法,进一步包括:
在所述组中广播具有第一广播序列号的消息;以及
紧接在所广播的消息之后,发送具有第二广播序列号的单播消息,所述第二广播序列号唯一地标识所述第一广播序列号。


14.根据权利要求13所述的方法,进一步包括:
发送具有所述第二广播序列号的一个或多个后续单播消息,直到发送下一个广播为止。


15.一种节点,包含网络中的套接字组中的接收方套接字,所述节点适于执行流控制以用于与所述组中的所述套接字通信,所述节点包括:
电路,适于使得所述节点中的所述接收方套接字:
当发送方套接字加入所述组时,向所述发送方套接字通告最小窗口作为消息大小限制;
从所述发送方套接字接收消息;以及
在接收到所述消息时,向所述发送方套接字通告最大窗口以增大所述消息大小限制,其中,所述最小窗口是所述最大窗口的一部分。


16.根据权利要求15所述的节点,其中,所述电路包括处理器、存储器和接口,所述存储器和所述接口两者与所述处理器耦合,所述存储器包含指令,所述指令当被执行时使得所述处理器执行以下操作:通告所述最小窗口;接收所述消息;以及通告所述最大窗口。


17.根据权利要求15所述的节点,其中,所述电路进一步适于使得所述节点中的所述接收方套接字:
当接收到所述消息时,将所述发送方套接字从加入状态转变为活动状态;以及
如果处于所述活动状态的套接字总数距离可允许活动套接字数在阈值内,则从处于所述活动状态的选定套接字中回收容量。


18.根据权利要求17所述的节点,其中,所述选定活动套接字是处于所述活动状态的所述套接字中最不活动的套接字。


19.根据权利要求15所述的节点,其中,所述电路进一步适于使得所述节点中的所述接收方套接字:
当处于活动状态的套接字总数等于可允许活动套接字数时,将所述发送方套接字从加入状态转变为未决状态。


20.根据权利要求19所述的节点,其中,所述电路进一步适于使得所述节点中的所述接收方套接字:
从处于所述活动状态的所...

【专利技术属性】
技术研发人员:J·马洛伊
申请(专利权)人:瑞典爱立信有限公司
类型:发明
国别省市:瑞典;SE

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利