1.一种基于信誉的流量控制系统,包括多个发送端和接收端的交换机装 置,所述交换机装置包括多个端口模块,仲裁模块和路由模块;所述端口模块 包括发送模块,接收模块,流控模块; 所述接收模块包括多个虚通道接收缓存区; 其特征在于: 所述仲裁模块,还包括记录子模块,用于根据传输请求记录仲裁失败FPL 值; 所述流控模块,还包括判断子模块,用于当接收端的发送模块有数据包发 送给发送端的接收模块时,根据接收到发送端的发送模块发送来的仲裁失败 FPL值,与当前接收端的剩余本地信誉值和当前资源剩余相比较,判断是否发 送流控包给发送端的接收模块。
2.根据权利要求1所述的基于信誉的流量控制系统,其特征在于: 所述发送模块还包括FPL寄存器,用于接收仲裁模块中的记录子模块记 录的仲裁失败FPL值,并由发送模块在发送数据包时,发送给接收端的接收 模块; 所述接收模块,还包括提取子模块,用于从接收到的包数据中提取仲裁失 败FPL值,把该仲裁失败FPL值传送给接收端的流控模块进行判断。
3.根据权利要求1或2所述的基于信誉的流量控制系统,其特征在于, 所述判断子模块判断是否发送流控包给发送端的接收模块,是指: 如果当前剩余值足以满足将要发送数据包的长度需求,则不发送流控包; 否则,如果不满足,则观察并读取当前接收端的接收模块中缓存区的资源 剩余情况,判断资源剩余情况; 如果缓存区的资源剩余能够满足将要发送数据包长度,就立即发送流控包 给发送端的接收模块; 否则就不发送流控包,并继续读取并判断当前接收端的接收模块中缓存区 的资源剩余情况,直至能够满足将要发送数据包长度,发送流控包给发送端的 接收模块为止。
4.根据权利要求3所述的基于信誉的流量控制系统,其特征在于: 所述路由模块还用于给流控模块提供已仲裁成功,但还在缓存区中有剩余 数据的,未传送完的预分配空间,进行资源预分配计算。
5.根据权利要求4所述的基于信誉的流量控制系统,其特征在于,所述 资源剩余包括当前空闲资源情况和预分配空间资源情况。
6.根据权利要求4所述的基于信誉的流量控制系统,其特征在于,所述 接收模块还用于接收数据包的过程中,不停检测是否有流控包插入到数据包 中; 如果有,需要把嵌入到数据包的流控包提取出来,并向流控模块提供参数。
7.根据权利要求6所述的基于信誉的流量控制系统,其特征在于,所述 参数包括以下四个参数: 第一个参数用于流控模块进行流控包发送时机判断和生成新的本地信誉 值的当前空闲缓存空间; 第二个参数用于接收模块从对方发送流控包中提取的新信誉值; 第三个参数用于通知流控模块本地信誉值自减1; 第四个参数为仲裁失败FPL值。
8.根据权利要求1或2所述的基于信誉的流量控制系统,其特征在于, 所述流控模块包括两个计数器,一个是远端信誉值计数器表示从上次接收到对 方流控包后,还剩余的信誉值,发送模块用该信誉值来判断能否发送数据包; 另一个是本地信誉值计数器,该计数器表示从上次发送流控包给对方后,本地 还剩余的信誉值。
9.根据权利要求1或2所述的基于信誉的流量控制系统,其特征在于, 所述记录子模块记录仲裁失败FPL值时,如果仲裁过程中没有失败的数据包, 则该仲裁失败FPL值被赋值为系统默认值。
10.根据权利要求9所述的基于信誉的流量控制系统,其特征在于,所述 默认值是根据网络流量统计分析出的数据包的平均包长,作为对包长的一般估 计。
11.根据权利要求1或2所述的基于信誉的流量控制系统,其特征在于, 所述仲裁失败FPL值,或者为仲裁失败最小FPL值;或者为仲裁失败平均FPL 值;或者为仲裁失败最大FPL值。
12.一种基于信誉的流量控制的交换机装置,包括多个端口模块,仲裁模 块和路由模块;所述端口模块包括发送模块,接收模块,流控模块; 所述接收模块包括多个虚通道接收缓存区; 其特征在于: 所述仲裁模块,还包括记录子模块,用于根据传输请求向发送模块提供仲 裁失败FPL值; 所述流控模块,还包括判断子模块,用于当接收端的发送模块有数据包发 送给发送端的接收模块时,根据接收到发送端的发送模块发送来的仲裁失败 FPL值,与当前接收端的剩余信誉值和当前资源剩余相比较,判断是否发送流 控包给发送端的接收模块。
13.根据权利要求12所述的基于信誉的流量控制的交换机装置,其特征 在于: 所述发送模块还包括FPL寄存器,用于接收仲裁模块中的记录子模块记 录的仲裁失败FPL值,并由发送模块在发送数据包时,发送给接收端的接收 模块; 所述接收模块,还包括提取子模块,用于从接收到的包数据中提取仲裁失 败FPL值,把该仲裁失败FPL值传送给接收端的流控模块进行判断。
14.根据权利要求12或13所述的基于信誉的流量控制的交换机装置,其 特征在于,所述路由模块还用于给流控模块提供已仲裁成功,但还在缓存区中 有剩余数据的,未传送完的预分配空间,进行资源预分配计算。
15.根据权利要求14所述的基于信誉的流量控制的交换机装置,其特征 在于,所述接收模块还用于接收数据包的过程中,不停检测是否有流控包插入 到数据包中; 如果有,需要把嵌入到数据包的流控包提取出来,并根据流控包的信誉值 向流控模块提供参数。
16.根据权利要求12或13所述的基于信誉的流量控制的交换机装置,其 特征在于,所述仲裁失败FPL值,或者为仲裁失败最小FPL值;或者为仲裁 失败平均FPL值;或者为仲裁失败最大FPL值。
17.一种基于信誉的流量控制方法,其特征在于,包括下列步骤: 步骤A,发送端的发送模块请求向接收端的接收模块传送数据包时,发送 端的流控模块把当前远端信誉值传送给发送端的仲裁模块,发送端仲裁模块根 据传输请求和该信誉值进行仲裁,同时,根据传输请求向发送模块提供仲裁失 败FPL值; 步骤B,该仲裁失败FPL值传送给接收端的接收模块,再由接收模块提 取出后传送给接收端的流控模块; 步骤C,接收端的接收模块接收发送端发送的数据包,把发送端发送的仲 裁失败FPL值发送给接收端的流控模块,并提供当前缓存区中空闲空间给接 收端的流控模块; 步骤D,接收端根据接收端和发送端数据包发送的情况,以及接收到发送 端的发送模块的发送来的仲裁失败FPL值与当前接收端的剩余信誉值相比较, 判断是否发送流控包给发送端的接收模块。
18.根据权利要求17所述的基于信誉的流量控制方法,其特征在于,还 包括下列步骤: 步骤E,接收端的发送模块发送流控包的同时,将接收端的流控模块中当 前的本地信誉值更新为新的信誉值; 步骤F,发送端的接收模块接收到该流控包后,传送给发送端的流控模块, 流控模块则把的当前远端信誉值更新为新的信誉值。
19.根据权利要求18所述的基于信誉的流量控制方法,其特征在于,所 述步骤A之前还包括下列步骤: 步骤A′,发送端的流控模块把当前的信誉值初始化为接收缓存区大小的 信誉值。
20.根据权利要求17至19任一项所述的基于信誉的流量控制方法,其特 征在于,所述步骤D包括下列步骤: 步骤D1,当接收端没有数据包发送到发送端时,不存在流控包和数据包 之间的链路竞争关系,此时接收端将不断发送流控包给发送端的接收模块; 步骤D2,当接收端的发送模块有数据包发送给发送端的接收模块时,数 据包和流控包存在竞争关系,则根据接收到的仲裁失败FPL值与当前接收端 的剩余信誉值相比较,判断是否发送流控包给发送端。
21.根据权利要求20所述的基于信誉的流量控制方法,其特征在于,所 述步骤D2中,根据接收到的仲裁失败FPL值与当前接收端的剩余信誉值相比 较,判断是否发送流控包给发送端,包括下列步骤: 步骤D21,接收端的流控模块接收到仲裁失败FPL值后,与当前的剩余 信誉值进行比较; 步骤D22,如果当前剩余值足以满足数据包的长度需求,则不发送流控包; 步骤D23,否则,如果不满足,则读取当前接收端的接收模块中缓存区的 资源剩余情况,判断资源剩余情况: 步骤D24,如果缓存区的资源剩余能够满足数据包长度,就通过接收端的 发送模块发送流控包给发送端的接收模块; 步骤D25,否则就不发送流控包,并继续读取并判断当前接收端的接收模 块中缓存区的资源剩余情况,直至能够满足数据包的长度的发送需求,从而发 送流控包给发送端的接收模块为止。
22.根据权利要求17至19任一项所述的基于信誉的流量控制方法,其特 征在于,所述步骤A还包括下列步骤: 如果没有仲裁失败的数据包,则该仲裁失败FPL值被赋值为系统默认值。
23.根据权利要求17至19任一项所述的基于信誉的流量控制方法,其特 征在于,所述仲裁失败FPL值或者为仲裁失败最小FPL值;或者为仲裁失败 平均FPL值;或者为仲裁失败最大FPL值。
展开