【技术实现步骤摘要】
【国外来华专利技术】针对网络中的套接字组提供协调流控制的方法和网络节点
本公开的实施例一般地涉及用于网络通信的系统和方法。
技术介绍
透明进程间通信(TIPC)协议允许集群计算机环境中的应用与其它应用快速和可靠地通信,而不管其它应用在集群内的位置如何。TIPC网络包括单独处理元件或节点。TIPC应用通常通过在通信端点(被称为端口)之间交换数据单元(被称为消息)彼此通信。从应用的角度来看,消息是长度为1到66000字节的字节串,其内部结构由应用确定。端口是可以以面向连接的方式或无连接方式来发送和接收消息的实体。面向连接的消息传送允许端口建立到网络中其它位置的对等端口的连接,并且然后与该对等端口交换消息。可以使用握手机制来建立连接;一旦建立连接,连接便保持活动状态,直到被端口之一所终止,或者直到端口之间的通信路径被断开。无连接消息传送(又称为数据报)允许端口与网络中其它位置的一个或多个端口交换消息。给定消息可以发送到单个端口(单播)或端口集合(多播或广播),具体取决于当发送消息时指定的目的地地址。在组通信环境中,端口可以从一个或多个发送方接收消息,以及可以向一个或多个接收方发送消息。在某些场景中,由于目的地处的队列溢出(例如,当多个发送方同时向同一接收方发送消息时),由无连接通信发送的消息可能被丢弃。简单地增加接收队列大小以防止溢出可能存在接收方处的内存耗尽的风险,并且如果组大小的增加超过限制,则这种方法将无法扩展。此外,由于缺少不同消息类型之间的有效序列控制,可能未按顺序接收某些消息。因此,需要一种解决方案,其在理论上对于 ...
【技术保护点】
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所述的节点,其中,所述电路进一步适于使得所述节点中的所述接收方套接字:
从处于所述活动状态的所...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。