CN100553217C - 传送层中继方法和传送层中继设备 - Google Patents
传送层中继方法和传送层中继设备 Download PDFInfo
- Publication number
- CN100553217C CN100553217C CNB2004800261133A CN200480026113A CN100553217C CN 100553217 C CN100553217 C CN 100553217C CN B2004800261133 A CNB2004800261133 A CN B2004800261133A CN 200480026113 A CN200480026113 A CN 200480026113A CN 100553217 C CN100553217 C CN 100553217C
- Authority
- CN
- China
- Prior art keywords
- transmission rate
- transport layer
- unit
- relaying
- control unit
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/40—Flow control; Congestion control using split connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/43—Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR]
- H04L47/431—Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR] using padding or de-padding
Abstract
中继单元(1002-1-1002-n)终止传送层中来自终端的多个传送层连接并且将这些连接中的每一个中继到其它中继层连接(中继连接)。传输速率控制单元(1003)根据被中继的连接的数量和网络拥塞状况确定中继连接的总传输速率从而获得所期望的有效速率,此外,根据中继期间在传送层连接上携带的应用信息的分析结果,向每个中继单元(1002-1-1002-n)分配总传输速率作为传输速率。
Description
技术领域
本发明涉及通过数据包交换方式实现的通信系统,特别是用来中继具有拥塞控制能力的协议层连接的技术。
背景技术
在OSI参考模型的网络协议中,数据通信网络的功能被大致分成七层的分级结构,这些层从低到高依次为:物理层、数据链路层、网络层、传送层、会话层、表现层和应用层。在数据包网络中,当终端上的应用传送在多个数据包上延伸的数据时,在应用之间延伸虚拟连接,并且在这个连接上发送应用数据。这种连接通常是利用比传送更高层的上层协议建立的。另外,在连接延伸到的层的协议间,有一种能实现控制发射端速率使得不会超过接收端接收处理能力的流控制,和控制发射端速率使得介入的网络上不会发生拥塞的拥塞控制(两种能力统称为“速率控制”)的协议。另外,为了控制发射端的发射速率,速率控制常常包含从接收端到发射端的反馈信息的返回(有关已经被正确接收的数据的序号或接收端接收缓存器上的剩余空间的信息)以便实现反馈控制。通常,在传送层上实现这种拥塞控制功能,因此在下面的解释中,由涉及上述拥塞控制的协议在发射和接收应用之间扩展的连接被称作传送层连接。目前在因特网上广泛使用的TCP(也称作“传输控制协议”和“传送控制协议”)也是一种传送层协议并且具有拥塞控制能力。
如下所述,传送层协议的拥塞控制能力能为相互独立的单个连接实现速率控制。当在特定链路上同时出现多个传送层连接并且竞争链路带宽时,对包括这些连接的发射端拥塞控制(称作“传送层连接终止单元”)实现传送层协议处理的组件为每个连接分别实施速率控制。在TCP中,根据来自接收终端的ACK数据包检测延迟中的数据包丢失或增加,从而实现控制,使得所有连接完全使用链路带宽,并且还使得为所有连接充分均等地分配连接所竞争的带宽。因此,在将宽的带宽分配给指定连接或带宽在连接中循环的情况下不可能实现高效的通信。另外,传送层的拥塞控制能力是在连接建立后通过了解网络拥塞状况再以合适速率进行发射。因此,在连接建立后通信效率立即下降。
处理这些问题的技术包括现有技术中的下列例子。
现有技术中的第一个例子是通过路由器的数据包调度实现的方法,这种方法是识别与指定连接有关的数据包并且通过例如为指定流分配较大带宽在连接中建立优先级。
现有技术中的第二个例子是被称作“拥塞管理器”的方法。根据该方法,对于在特定终端集合(例如终端A和终端B)之间扩展的多个传送层连接,与用于一个TCP相同的全部传输速率作为由拥塞控制获得的速率,并且此后将这一个传输带宽分配给每个连接,而不是为每个连接的传输速率实现单独的拥塞控制。
现有技术中的第三个例子是首先终止多个终端的TCP,复用为一个TCP并发送,然后在接近接收终端时再分割成原始TCP并且中继(参见JP-A2002-185488作为实例)。
作为现有技术方法中的第一个问题,在现有技术的第一个例子中,必须在收发终端的通信路径的所有路由器上执行数据包调度中的优先级控制和固定带宽分配控制,因此,需要替换多个路由器,导致多个设备带来的成本增加和替换设备带来的不便。
作为现有技术中的第二个问题,在现有技术的第二和第三个例子中是利用一个已存在TCP的拥塞控制来完成所观察到的所有连接吞吐量的控制,因此,所观察到的所有通信量的有效速率(实际到达接收端的数据吞吐量)无法达到特定的期望值,并且无法对可观察到的通信量之外的通信量建立优先级。
作为现有技术中的第三个问题,在现有技术的第二个例子中,虽然在对相同终端集之间扩展的多个传送层连接进行拥塞控制时可以获得协调,但在对不同终端集上扩展的传送层连接进行拥塞控制时就无法获得协调。
作为现有技术中的第四个问题,在现有技术的第三个例子中,终端的初始传输速率是TCP低速启动,要使速率达到合适的值需要相当长的时间。
发明内容
本发明的第一个目的是为多个终端之间的特定传送层连接集合保证所期望的有效速率,并且以低成本在这个连接集合中重新分配带宽。
本发明的第二个目的是为多个终端之间的特定传送层连接集合保证在向其它传送层连接授予优先级时的有效速率,并且以低成本在这些连接集合中重新分配带宽。
本发明的第三个目的是为多个终端之间的特定传送层连接集合,根据流经这些连接的应用信息,在这个连接集合上重新分配特定的有效速率。
本发明的第四个目的是以低成本和高准确性为多个终端之间的特定传送层连接集合保证期望的有效速率。
本发明的第五个目的是为多个终端之间的特定传送层连接集合保证在向其它传送层连接授予优先级时的有效速率具有高准确性。
本发明的第六个目的是向终端发送初始传输速率来提高终端拥塞控制的效率。
为了实现上述第一、第二和第三个目的,本发明的第一个传送层中继设备具有多个终端侧连接终止单元,用于终止与终端的传送层连接;多个设备间连接终止单元,用于终止传送层连接(中继连接)以便中继到相对的传送层中继设备;以及应用信息分析单元,用于在读取应用信息时在每个终端侧连接终止单元和每个设备间连接终止单元中继。
本发明的第一个传送层中继设备还包括传输速率控制单元,用于确定设备间连接终止单元的总传输速率和每个设备间连接终止单元的传输速率;和中继控制单元,用于管理在多个终端侧连接终止单元、设备间连接终止单元和应用信息分析单元中使用哪一个。
为了实现上述第四和第五个目的,本发明的第二个传送层中继设备除了第一个传送层中继设备的配置外,还包括网络状况评估单元,用于评估相对端的设备之间的网络状况并且向传输速率控制单元报告。
为了实现上述第一、第二和第三个目的,本发明的第三个传送层中继设备包括多个终端侧连接终止单元,用于与终端终止传送层连接;还包括一个设备间连接终止单元,用于终止传送层连接(中继连接)以便将这些终端侧连接终止单元中继到相对的传送层中继设备。第三个传送层设备还包括MUX-DEMUX单元,用于从每个终端侧连接终止单元聚集数据并且发送到一个设备间传送层终止单元。第三个传送层中继设备还包括应用信息分析单元,用于在读取每个终端侧连接终止单元和MUX-DEMUX单元之间的应用信息时用来中继数据。第三个传送层中继设备还包括:传输速率控制单元,用于指示设备间连接终止单元的总传输速率和MUX-DEMUX单元从每个终端侧连接终止单元组合数据时的速率比例;以及中继控制单元,用于管理在多个终端侧连接终止单元和应用信息分析单元中使用哪一个。
为了实现上述第四和第五个目的,本发明的第四个传送层中继设备除了第三个传送层中继设备的配置外,还包括网络状况评估单元,用于评估相对的设备之间的网络状况并且向传输速率控制单元报告。
为了实现上述第六个目的,本发明的第五个传送层中继设备,在本发明的第一个传送层中继设备中,包括:中继控制单元,具有当终端请求建立连接时向传输速率控制单元询问有关要报告给该终端的优化初始传输速率的附加能力;传输速率控制单元装置,具有根据该请求确定优化初始传输速率的附加能力;终端侧连接终止单元,具有向终端报告初始传输速率的附加能力。
为了实现上述第六个目的,本发明的第六个传送层中继设备,在本发明的第二个传送层中继设备的配置中,包括:中继控制单元,具有当终端请求建立连接时向传输速率控制单元询问有关要报告给该终端的优化初始传输速率的附加能力;传输速率控制单元,具有根据该请求确定优化初始传输速率的附加能力;和终端侧连接终止单元,具有向终端报告初始传输速率的附加能力。
为了实现上述第六个目的,本发明的第七个传送层中继设备,在本发明的第三个传送层中继设备的配置中,包括:中继控制单元,具有当终端请求建立连接时向传输速率控制单元询问关于要报告给终端的优化初始传输速率的附加能力;传输速率控制单元,具有根据该请求确定优化初始传输速率的附加能力;和终端侧连接终止单元,具有向终端报告初始传输速率的附加能力。
为了实现上述第六个目的,本发明的第八个传送层中继设备,在本发明的第四个传送层中继设备的配置中,包括:中继控制单元,具有当终端请求建立连接时向传输速率控制单元询问关于要报告给终端的优化初始传输速率的附加能力;传输速率控制单元,具有根据该请求确定优化初始传输速率的附加能力;和终端侧连接终止单元,具有向终端报告初始传输速率的附加能力。
本发明具有下列优点:
本发明的第一个优点是能为多个终端之间的特定传送层连接集合保证所期望的有效速率,并且以低成本在这个连接集合中重新分配带宽。
本发明的第二个优点是能为多个终端之间的特定传送层连接集合保证在向其它传送层连接授予优先级时的有效速率,并且以低成本在这些连接集合中重新分配带宽。
本发明的第三个优点是能根据流经这些连接的应用的信息,为这个连接集合上多个终端之间的特定传送层连接集合重新分配特定的有效速率。
本发明的第四个优点是能以低成本和高准确性为多个终端之间的特定传送层连接集合保证期望的有效速率。
本发明的第五个优点是能为多个终端之间的特定传送层连接集合保证在向其它传送层连接授予优先级时的有效速率具有高准确性。
本发明的第六个优点是能通过向终端发送初始传输速率提高终端的拥塞控制的效率。
附图说明
图1显示了根据本发明第一实施例的传送层中继设备的配置;
图2显示了使用本发明第一实施例的传送层中继设备的网络配置;
图3是本发明第一实施例的传送层中继设备的中继操作的时序图;
图4是本发明第一实施例的速率控制单元的操作流程图;
图5显示了本发明第二实施例的传送层中继设备的配置;
图6显示了使用本发明第二实施例的传送层中继设备的网络配置;
图7是本发明第二实施例的速率控制单元的操作流程图;
图8显示了本发明第三实施例的传送层中继设备的配置;
图9显示了使用本发明第三实施例的传送层中继设备的网络配置;
图10是本发明第三实施例的传送层中继设备的中继操作的时序图;
图11是本发明第三实施例的速率控制单元的操作流程图;
图12显示了本发明第四实施例的传送层中继设备的配置;
图13显示了使用本发明第四实施例的传送层中继设备的网络配置;
图14是本发明第四实施例的速率控制单元的操作流程图;
图15显示了本发明第五实施例的传送层中继设备的配置;
图16显示了使用本发明第五实施例的传送层中继设备的网络配置;
图17是本发明第五实施例的传送层中继设备的中继操作的时序图;
图18是本发明第五实施例的速率控制单元的操作流程图;
图19显示了本发明第六实施例的传送层中继设备的配置;
图20显示了使用本发明第六实施例的传送层中继设备的网络配置;
图21是本发明第六实施例的速率控制单元的操作流程图;
图22显示了本发明第七实施例的传送层中继设备的配置;
图23显示了使用本发明第七实施例的传送层中继设备的网络配置;
图24是本发明第七实施例的传送层中继设备的中继操作的时序图;
图25是本发明第七实施例的速率控制单元的操作流程图;
图26显示了本发明第八实施例的传送层中继设备的配置;
图27显示了使用本发明第八实施例的传送层中继设备的网络配置;
图28是本发明第八实施例的速率控制单元的操作流程图;
图29显示了本发明第九实施例的传送层中继设备的配置;以及
图30显示了本发明第十实施例的传送层中继设备的配置。
具体实施方式
接下来参考附图对本发明的实施例进行详细说明。
本发明的第一实施例
本发明第一实施例的配置说明
接下来参考附图说明本发明第一实施例的详细配置。
图1是本发明第一实施例的传送层中继设备E001的内部方框图。传送层中继设备E001的内部包括:中继控制单元1001、中继单元1002-1-1002-n,和传输速率控制单元1003。传送层中继设备E001可以用计算机实现。如果用计算机实现,那么实现中继控制单元1001、中继单元1002-1-1002-n、和传输速率控制单元1003的程序保存在盘、半导体存储器、或其它记录介质上。计算机读取该程序,并且通过控制计算机的操作,在计算机上实现中继控制单元1001、中继单元1002-1-1002-n、以及传输速率控制单元1003。下面解释这些组成部分的每个构成单元。
中继控制单元1001:
中继控制单元1001从终端的传送层的连接终止单元接收连接建立请求,或从其它传送层中继设备的设备间连接终止单元接收中继请求;然后在当前未使用的中继单元1002-1-1002-n中指定中继单元来执行传送层连接的中继过程。来自终端的连接建立请求包括五项信息的集合(称作“连接标识符”):请求建立连接的源终端的端口号和IP地址、被请求建立连接的目的终端的端口号和IP地址、和连接中要使用的传输协议的标识符。中继请求包括和连接标识符一起建立传送层中继设备的设备间连接(它被称为“中继连接”)所需的信息。
中继控制单元1001包括表示每个中继单元1002-1-1002-n当前是否被使用的表(空间管理表)。当接收连接建立请求或中继请求时,中继控制单元1001指定中继单元并且在空间管理表中将相应的中继单元设置为“使用中”;而当从中继单元接收到中继完成的通知后,写入表示“未使用”的信息;这样就可以管理哪些中继单元当前被使用。中继控制单元1001还将已经分配给中继单元的连接的连接标识符和中继单元的标识号(1-n)注册到传输速率控制单元1003和从它删除。
中继控制单元1001还包括表示建立请求的目的终端的IP地址和作为中继请求的发送目的的传送层中继设备之间的对应关系的表(对应表)。当从终端接收连接建立请求时,中继控制单元1001从对应表中获得表明对应上述连接建立请求中所含的建立请求目的终端IP地址的传送层中继设备的信息,然后将获得的信息传送给设备间连接终止单元。
中继单元1002-1-1002-n:
每个中继单元1002-1-1002-n都包括终端侧连接终止单元、应用信息分析单元、和设备间连接终止单元。中继单元1002-1-1002-n从中继控制单元1001接收:(1)来自终端传送层的连接终止单元的连接建立请求或(2)来自其它传送层中继设备的设备间连接终止单元的中继请求,并且为终端和其它传送层中继设备之间的中继建立传送层连接。下面说明接收(1)和(2)的情况的有关操作。
当从中继控制单元1001接收(1)来自终端的传送层的连接终止单元的连接建立请求时,中继单元促使终端侧连接终止单元与该终端建立传送层连接。此时,终端侧连接终止单元利用在连接建立请求中作为建立请求目的的终端的信息(连接中要使用的IP地址、端口号、和传输协议标识符)向终端显示,好象直接与连接建立请求的目的终端连接。中继单元还指示设备间连接终止单元向已经由中继控制单元1001发送的信息中指明的传送层中继设备(这里假设是设备B)的设备间连接终止单元发送中继请求,并使得设备间连接终止单元与设备B的设备间连接终止单元建立传送层连接。
当从中继控制单元1001接收(2)来自另一个传送层中继设备(这里假设是设备B)上的设备间连接终止单元的中继请求时,中继单元促使设备间连接终止单元与设备B上的设备间连接终止单元建立传送层连接。中继单元还利用中继请求中包含的连接标识符的信息,在终端侧连接终止单元和作为建立请求目的的终端之间建立传送层连接。此时,终端侧连接终止单元利用连接建立请求的建立请求源终端的信息(连接中要使用的IP地址、端口号、和传输协议的标识符)向终端显示该信息,好象直接连接到连接建立请求的源终端。
当从终端侧连接终止单元接收到连接断开通知后,中继单元使设备间连接终止单元断开中继连接,并且向中继控制单元1001发送中继结束通知。当从设备间连接终止单元接收到连接断开通知后,中继单元同样使终端侧连接终止单元与所连接的目的终端断开连接,并且向中继控制单元1001发送中继结束通知。
终端侧连接终止单元:
终端侧连接终止单元包括用来与传送层连接扩展到的终端通信时使用的发送/接收缓存器,它还执行传送层连接的终止过程。根据正在使用的、并假设至少包括建立、维持、和结束传送层连接功能,以及流量控制和拥塞控制功能的传送层协议执行传送层连接的终止过程。终端侧连接终止单元根据中继单元的指令与终端建立和断开连接。另外,一旦终端请求断开连接,终端侧连接终止单元在连接断开后向中继单元发送连接断开通知。
在与终端建立连接的时间间隔期间,终端侧连接终止单元既根据传送层协议的约定向终端发送该发送缓存器中的数据,也根据传送层协议的约定从终端接收数据,然后向接收缓存器写入数据。终端侧连接终止单元还从它所连接的应用信息分析单元接收数据,并将数据写入发送缓存器;然后从接收缓存器读取数据,并将数据传送到它所连接的应用信息分析单元。
应用信息分析单元:
应用信息分析单元在终端侧连接终止单元和设备间连接终止单元之间传送该传送层的数据。换言之,应用信息分析单元从终端侧连接终止单元的接收缓存器读取传送层数据,然后写入设备间连接终止单元的发送缓存器。
应用信息分析单元还从设备间连接终止单元的接收缓存器读取传送层数据,然后写入终端侧连接终止单元的发送缓存器。在传送层数据的这些传送过程中,应用信息分析单元获得应用信息并且向传输速率控制单元1003报告。
当使用传送层协议上的HTTP(超文本传输协议)执行数据发送和接收时,应用信息是,例如,HTTP首部中的内容类型标签的内容和内容长度标签的值,内容类型标签的内容表示要发送的数据的类型,而内容长度标签的值表示要发送的数据的大小。在另一个例子中,应用信息可以是RTSP(实时流协议)连接中指定的流速率或流的连接标识符。在另一个例子中,应用信息可以是在FTP控制连接中指定的FTP数据连接的连接标识符。
设备间连接终止单元:
正如终端侧连接终止单元一样,设备间连接终止单元具有在与传送层连接扩展到的伙伴进行通信时使用的发送/接收缓存器,并且执行传送层连接的终止过程。另外,设备间连接终止单元根据中继单元的指令建立和断开与其它传送层中继设备的连接。在从另一个传送层中继设备接收到连接断开请求的情况下,那么设备间连接终止单元断开连接,然后向中继单元发送连接断开通知。
关于传送层连接的终止过程,虽然设备间连接终止单元具有建立、维持、和结束传送层连接的功能,但是设备间连接终止单元与终端侧连接终止单元的不同之处在于传输速率控制单元为进行流量控制和拥塞控制执行传输速率计算,而设备间连接终止单元按传输速率控制单元指示的速率进行传输。其它的不同之处在于,设备间连接终止单元利用通信伙伴的反馈信息找到与当前通信伙伴的每个连接的拥塞信息(后面解释),并且向传输速率控制单元1003报告该信息。
假设在这个传送层连接中使用具有可靠性的传送层协议,并且为了重发控制接收包括能够从接收端接收到的数据序号(ACK编号)的ACK数据包。ACK编号可以是简单地在已经连续接收到的未数据包丢失的最后一个序号+1(RR:接收就绪)所得的值,也可以是枚举RR的值和可接收的序列号块,如SACK(选择的ACK)这样的值。ACK数据包还可以包含流控制所需要的信息,例如接收端接收缓存器的剩余量。
例如,可以通过改变执行滑动窗口拥塞控制-流量控制的传送层协议,如TCP Reno,TCP NewReno或TCP SACK的一部分连接终止单元来实现上述设备间连接终止单元。更具体地说,在这些传送协议中,拥塞窗口的值和传输伙伴接收缓存器的剩余量中较小的值被作为最终传输窗口的值,并且该拥塞窗口(称作“cwnd”)要变化的部分作如下改变:首先确定目标拥塞窗口值(称作“TW”)(后面描述确定方法),然后将cwnd作如下变化,以致:
(a)当连接空闲(在一个RTT或更长的时间间隔内没有数据包被发送),或TCP发生超时时,在连接初始化时cwnd=1;和
(b)当接收ACK时,如果cwnd等于或小于TW/2,那么cwnd=cwnd+1,否则,cwnd=cwnd+1.0/cwnd。
另外,当目标窗口值被改变时,可以用该目标窗口值覆盖cwnd。作为确定目标窗口值的方法,目标窗口值可以是通过把传输速率控制单元指示的速率除以当前RTT(往返时间)获得的值。另外,由设备间连接终止单元终止的TCP连接通过的瓶颈链路的物理带宽B(比特/秒)和由TCP观察到的RTT(往返时间)的最大值RTT_max(sec)可以用来产生W_max=RTT_max·B/(8·MSS)(其中MSS是TCP的最大段值),然后根据传输速率控制单元指示的速率(按R(比特/秒)),可以得到W_max·R/B的值,然后覆盖窗口的值。另外,如果N是流过由设备间连接终止单元终止的TCP连接通过的瓶颈链路的交叉流量的TCP流的数量,那么可以用(4·N-1)·W_max·R/(4·N·B-R)的值覆盖窗口的值。
关于TCP重发控制,在标准的TCP协议中,除了被称作“重发”的操作外,即从发送特定数据包到超时这段时间间隔内没有接收到ACK就执行重发,当出现重复ACK实例的特定门限值(称作“快速重发门限值”并且通常等于“3”)时,执行被称作“快速重发”的控制,ACK编号的下一个序号的数据包被重发一次。在本实施例的设备间连接终止单元中,除了这个操作外还可以执行下面所述的“再重发”。“再重发”是这样的操作,对于初始化快速重发的重复ACK编号,连续到达的重复ACK的数量即使在快速重发后也被计数,并且当该数量超过特定门限值时(称作“再重发门限值”),再次执行重传。可以重复执行再重发。再重发门限值可以是从当执行快速重发时已经发送的序号最大值中减去重复ACK数量和快速重发门限值之和可以得到的值。
在建立连接的间隔期间,根据传送层协议的约定维持与建立连接的伙伴的设备间连接终止单元的传送层连接,(根据传送层协议的约定)向伙伴的设备间连接终止单元发送该发送缓存器内的数据,并且(根据传送层协议的约定)从建立连接的设备间连接终止单元接收数据,并写入接收缓存器。另外,从所连接的应用信息分析单元接收数据并写入发送缓存器。从接收缓存器读取数据然后发送到所连接的应用信息分析单元。然而,假设发送缓存器内的数据被发送给设备间连接终止单元时的速率与传输速率控制单元1003指示的速率一致。另外,从伙伴的设备间连接终止单元接收数据时获得的ACK数据包中收集的连接指定拥塞信息被传送到传输速率控制单元1003。
下面是关于连接指定拥塞信息的说明。
通常,在传送层协议中,接收ACK数据包作为来自连接扩展到的通信伙伴的反馈信息,这些ACK数据包包括伙伴的当前接收能力(如接收缓存器中的空间量)和已经被接收的数据序号。根据ACK数据包,可以计算当前往返时间(RTT)并推断出可以检测数据包丢失事件。RTT可以按如下计算:当数据包被发送时,保存数据包中包含的数据序号和发送时间,并且当接收到报告这些序号已经被接收的ACK数据包后,通过找到接收时间和所保存的发送时间之间的差可以获得RTT。对于数据包丢失,如果ACK序号是至今连续接收并未数据包丢失的最后一个数据的序号,与TCP一样,在接收重复ACK时可以检测发生数据包丢失的可能性。当在接收重复ACK时用于执行快速重发的TCP中诸如Fast Retransmit之类的重发算法不是Go-back-N的情况下接收到部分ACK时,也可以检测到数据包丢失的可能性。包括RTT和可能发生数据包丢失事件的该信息被称为“连接指定拥塞信息”。
传输速率控制单元1003:
传输速率控制单元1003将当前被中继的连接的总传输速率作为R_total,然后分割并为每个中继连接分配该总传输速率。关于确定方法,可以根据当前被中继的连接数、来自每个应用信息分析单元的应用信息、和来自每个设备间连接终止单元的连接指定拥塞信息确定总传输速率R_total,也可以是下面描述的方法。
总传输速率确定方法A1
利用为期望的有效速率R_target预先已经确定的乘数值α(α>1),计算R_total=α·R_target得到的设定值。在这种情况下,α的值大于“1”,以致即使数据包丢失,数据包也可以以期望的有效速率R_target传输。
总传输速率确定方法B1
根据当前被中继的连接数量确定R_total,以使所期望的有效速率R_target的值对应当前被中继的连接的数量。已经确定要分配给每个连接的速率R_o,然后根据由中继控制单元1001注册的当前连接的数量m将R_total确定为α·R_o·m。α值是预先确定的乘数值α(α>1)。
总传输速率确定方法C1
利用来自每个设备间连接终止单元的连接指定拥塞信息确定R_total可以获得期望的有效值R_target。例如,假设在每个时间间隔T都更新总传输速率,在时间t当前有m个连接被中继,在从时间t-T到时间t的时间间隔期间每个中继连接发送Ci(i=1、...)个数据包,检测到Li(i=1、...、m)例的数据包丢失,并且每个中继连接的平均数据包大小是Di(i=1、...、m)。在从时间t-T到时间t间隔期间,试图发送下列数量的数据:
[公式1]
由于数据包丢失导致下面数量的数据包没有被发送:
[公式2]
因此数据的丢失率为:
[公式3]
如果假设相同的拥塞条件保持有效,那么为了获得目标速率(R_target),R_total被确定为R_target/(1-P)。但是,为了避免极度拥塞,对于特定数据丢失率的门限值P_0,当P>P_0时,R_total被确定为R_target/(1-P_0)。
总传输速率确定方法D1
利用来自每个设备间连接终止单元的连接指定拥塞信息确定R_total从而获得可能的最高有效速率。例如,假设在每个时间间隔T都更新总传输速率,在时间t当前有m个连接被中继,在从时间t-T到时间t的时间间隔期间每个中继连接发送Ci(i=1、...、m)个数据包,检测到Li(i=1、...m)数据包丢失的例子,并且每个中继连接的平均数据包大小为Di(i=1、...、m)。在从时间t-T到时间t的时间间隔期间,试图发送下列数量的数据:
[公式4]
由于数据包丢失导致下面数量的数据不能被发送:
[公式5]
因此数据包丢失率为:
[公式6]
根据以往的传输速率R_total和当时的数据丢失率P,准备一个能得出传输速率和实际到达接收端的数据速率(=R_total·(1-P))之间关系的表。假设用来准备这个表的数据被不断更新。R_total作为实际到达接收端的速率最大时的传输速率值。但是,如果还没有积累到足够的以往传输速率R_total,那么使用预先设置的R_total。
总传输速率确定方法E1
还可以利用来自应用信息分析单元的信息确定R_total从而获得对应于当前被中继的应用的所期望的有效速率R_target。例如,当只有流连接被中继时,从应用信息分析单元获得流速率信息,该信息的总计值为R_target,并且根据传输速率确定方法C1找到R_total。
总传输速率确定方法F1
利用当前连接的数量m和来自设备间连接终止单元的连接指定拥塞信息确定R_total,从而获得向共享瓶颈的其它业务量授予优先级时的有效速率。例如,可以利用从连接指定拥塞信息获得的中继连接通过的网络上的数据包丢失率p和RTT来估计每个TCP的有效速率,然后用m乘以该速率的α倍。估计每个TCP有效速率的方法可以采用由M.Handley、S.Floyd、J.Padhye、和J.Widmer在“TCP友好速率控制(TFRC):协议规范”3.1部分的“吞吐量公式”(因特网社会,RFC 3448,2003年1月)中的X给出的公式。换言之,利用来自设备间连接终止单元的连接指定拥塞信息,以及数据包丢失发生率p(当计算p时,将RTT内的数据包丢失当作一次数据包丢失事件来执行计算)、RTT的索引平均值R,TCP的超时时间间隔的估计值t_RTO(例如,2乘以R),中继连接存在的网络上TCP数据包大小的平均值s(字节)(s可以是经验值),以及b=2;可以按如下得到X:
[公式7]
因此R_total被确定为m·α·X(比特/秒)。如果α大于1,那么每个TCP的传输速率可以高于其它业务量,并且被中继的业务量的优先级相对其它业务量升高。另一方面,如果α小于1,那么每个TCP的传输速率可以低于其它业务量,并且被中继的业务量的优先级相对于其它业务量可以被降低。
用这种方法确定的R_total被分配给每个中继连接。可以根据当前连接的熟练或来自应用信息分析单元的信息来确定分配方案,可以考虑下面的例子作为方法。
传输速率分配方法1
速率平均分配给所有连接。换言之,如果有m个连接,那么每个连接得到R_total/m的速率。
传输速率分配方法2
根据通过连接标识符的端口号信息确定的规则来分配速率。例如,为每个端口号授予优先级,然后根据这些优先级分配速率。
传输速率分配方法3
根据来自应用信息分析单元的信息确定速率。作为实例,当对通过HTTP连接执行数据发送的应用的多个连接进行中继时,根据从应用信息分析单元获得的HTTP内容类型字段的值授予优先级时执行带宽分配。作为另一个实例,当对通过HTTP获得文件的应用的多个连接进行中继时,根据从应用信息分析单元获得的HTTP内容长度字段的信息将较大带宽分配给发送数据较少的连接。作为再一个实例,考虑这样一种情况,中继Ns个流类型应用的连接和Nf个使用HTTP的文件传输类型应用的连接。从应用信息分析单元获得的每个流速率为RSi(i=1、...、Ns),并且从应用信息分析单元获得的Nf个文件传输类型连接的每个文件大小为FLi(i=1、...、Nf)。对于流类型连接,流速率RSi(i=1、...、NsO)被分配给速率低于平均速率(R_total除以当前的连接数Ns+Nf)的连接。剩余速率:
[公式8]
按照给定优先级被分配给还没有得到分配的流连接,然后仍剩余的速率按照速率从高到低的分配顺序依次分配给文件规模较小的文件传输类型的连接。
操作说明
接下来参考附图说明关于本发明第一实施例的详细操作。图2显示了使用本发明第一实施例的传送层中继设备E001的通信网络的配置示例。网络N1包括s个终端H1-1-H1-s并且通过路由器R1连接到网络N3。网络N2包括r个终端H2-1-H2-r并且通过路由器R2连接到网络N3。假设通过网络N3实现N1上的终端H1-1-H1-s和N2上的终端H2-1-H2-r之间的通信。另外,在网络N1和N2上安装了根据本发明第一实施例的传送层中继设备E001,这些传送层中继设备E001分别被称作TR1和TR2。路由器R1象普通路由器一样,向传送层中继设备TR1传送来自终端H1-1-H1-s或来自网络N3的所有数据包,然后从传送层中继设备TR1传送数据包。同样,路由器R2象普通路由器一样,向传送层中继设备TR2传送来自终端H2-1H2-r或网络N3的所有数据包,然后从传送层中继设备2传送数据包。
在上述配置中,传送层中继设备TR1和路由器R1,以及传送层中继设备TR2和路由器R2可以在同一台设备上,并且可以执行如上所述的相同发送。
图3显示了当图2中的网络N1上的终端H1-k与网络N2上的终端H2-j实现通信时,在网络N1和网络N2上安装的根据第一实施例的传送层中继设备E001(图2和3中的TR1和TR2)的操作。当与终端H2-j开始通信时,终端H1-k向终端H2-j发送连接建立请求数据包,路由器R1将这个数据包发送给传送层中继设备TR1,并且由传送层中继设备TR1中的中继控制单元接收这个数据包(图3中的T100)。
在传送层中继设备TR1中,中继控制单元接收这个连接建立请求,找到一个当前未被使用的中继单元,将该中继单元的编号和连接标识符注册到该传输速率控制单元(T110)。中继控制单元还向该中继单元传送连接建立请求(T130)。中继单元指示内部的终端侧连接终止单元(T140)与终端H1-k建立连接(T150)。中继单元还指示中继单元中的设备间连接终止单元(T160)向传送层中继设备TR2中的中继控制单元发送中继请求(T170),并且(根据下面说明的T180-T210的过程)与设备间连接终止单元建立中继连接。传送层中继设备TR2的中继控制单元在接收到中继请求后,找到一个当前未使用的中继单元,并且将该中继单元的编号和中继请求中包含的连接标识符注册到传输速率控制单元(T180)。中继控制单元还向中继单元传送中继请求(T190)。中继单元在接收到中继请求后,指示中继单元中的设备间连接终止单元(T200)与发起中继请求的传送层中继设备TR1中的设备间连接终止单元建立中继连接(T210)。(根据下面说明的T230和T240的过程)中继单元还指示内部的终端侧连接终止单元(T220)与终端H2-j建立连接。换言之,终端侧连接终止单元向终端H2-j发送连接建立请求(T230),并建立连接(T240)。
如果终端H1-k采用HTTP GET方法从H2-j获得文件,那么终端H1-k在与TR1建立连接后(T150)发送HTTP GET请求(T250)。由传送层中继设备TR1中的终端侧连接终止单元接收到的该请求通过应用信息分析单元被传送到设备间连接终止单元(T260和T270),然后利用中继连接被传送到传送层中继设备TR2的设备间连接终止单元(T280)。然后,该请求通过应用信息分析单元被再次传递到终端侧连接终止单元(T290和T300),并最终到达终端H2-j(T310)。
响应该请求,终端H2-j向终端H1-k返回数据(T320)。该响应的数据被传送层中继设备TR2和TR1再次中继并被传递给终端H1-k(T330-T380)。后面会描述这部分的详细操作。
当通信完成后,其中一个终端,例如终端H2-j发送连接断开请求(T390)。传送层中继设备TR2的终端侧连接终止单元接收该请求并且断开连接(T400)。终端侧连接终止单元向中继单元发送连接断开通知(T410)。中继单元在接收到该通知后,向设备间连接终止单元发送中继结束通知(T420),然后设备间连接终止单元断开与连接目标的中继连接(T430)。中继单元还向中继控制单元发送中继结束通知(T440)。中继控制单元在接收到中继结束通知后,通知传输速率控制单元删除所注册的连接标识符和中继单元编号(T450)。已经断开中继连接的传送层中继设备TR1的设备间连接终止单元向中继单元发送连接断开通知(T460),然后,中继单元通知终端侧连接终止单元(T470)与所连接的终端(终端H1-k)断开连接(T480和T490)。中继单元随后向中继控制单元发送中继结束通知(T500),然后中继控制单元在接收到该通知后,通知传输速率控制单元删除所注册的连接标识符和中继单元的编号(T510)。
利用上述操作,根据本发明第一实施例的传送层中继设备TR1和TR2可以用来中继网络N1中任何终端和网络N2中任何终端之间的通信。
下面说明前述操作中如图3中T320-T380所示当从网络N2中的终端向网络N1中的终端传送数据时传送层中继设备的传输速率控制单元的详细操作。图4显示了传输速率控制单元的操作流程图。能启动传输速率控制单元的事件包括:计时器超时,来自中继控制单元的中继单元的注册和删除,或来自应用信息分析单元的应用信息通知(F100)。当事件是来自中继控制单元的注册时(F110),传输速率控制单元注册连接标识符和中继单元编号(F120)。如果所注册的连接的数量为“1”(F130),那么传输速率控制单元在时间间隔T后将设置超时的计时器(F140)。如果是由来自中继控制单元的删除引发的事件(F150),那么传输速率控制单元删除连接标识符、中继单元编号、和应用信息(如果存在应用信息)(F160)。如果所注册的连接的数量“0”(F170),那么传输速率控制单元释放计时器(F180)。如果是由来自应用信息分析单元的应用信息通知引发的事件(F190),那么传输速率控制单元向所注册的连接信息添加与连接标识符有关的应用信息(F200)。如果是由计时器超时引发的事件(F210),那么传输速率控制单元从与所注册的中继单元编号对应的中继单元的设备间连接终止单元获得连接指定拥塞信息(F220)。传输速率控制单元还参考当前所注册连接的应用信息(已经在F200中添加的信息)(F222)。然后,传输速率控制单元还利用当前注册的连接的数量确定总传输速率R_total(F230)。作为确定方法,可以采用象说明传输速率控制单元1003时所述的总传输速率确定方法A1、B1、C1、D1、E1、和F1中的一种。接着,传输速率控制单元为每个当前注册的每个连接确定传输速率(F240)。
作为确定方法,可以采用象说明传输速率控制单元1003时所述的传输速率分配方法1、2和3中的一种。然后在此确定的每个连接的传输速率被通知给对应的设备间连接终止单元(F250)。最后,传输速率控制单元将计时器设置为T。
本发明第一实施例的优点
由第一实施例获得的本发明的第一个优点是,与现有技术的第一种方法相比,由于在网络N1和网络N2上都安装了一个传送层中继设备,使得可以保证多个终端之间的特定传送层连接集合所期望的有效速率,并且该有效速率可以在这些连接中重新分配,因此降低了设备成本并减小了用具有带宽控制功能的路由器取代网络N3上多个路由器的麻烦。能从本发明的方法中获得这个优点是因为,当中继连接的业务量和其它业务量(交叉业务量)共享同一瓶颈时,如果承载交叉业务量的传送层协议(例如,TCP)能实现拥塞控制,那么根据中继连接的总传输速率可以利用规范传输速率的特征并且根据总传输速率可以保证特定的有效速率。通过在被中继的连接中分割总传输速率来使用总传输速率,即使被中继的连接的传输速率很低,其速率也可以用作被中继的其它连接的传输速率,并且不必用交叉业务量取代速率就可以重新分配有效速率。
由本发明第一实施例获得的本发明的第二个优点是利用传输速率控制单元中的总传输速率确定方法A1-E1可以为传送层的连接集合保证期望的有效速率,这种效果在现有技术的第二和第三种例子中是不可能实现的。
由本发明第一实施例获得的第三个优点是利用传输速率控制单元中的总传输速率确定方法F1可以在向其它业务量授予优先级时,为终端之间的多个连接获得有效速率,这种效果在现有技术的第二和第三种例子中是不可能实现的。
由发明第一实施例获得的第四个优点是利用传输速率分配方法3,根据流经连接的应用信息为这些连接集合间的多个终端之间的特定传送层连接集合重新分配特定的有效速率。
本发明的第二实施例
配置说明
下面参考附图说明本发明第二实施例的详细配置。
图5是显示本发明第二实施例的传送层中继设备E002内部的方框图。该传送层中继设备E002与本发明第一实施例的传送层中继设备E001的区别在于增加了网络状况评估单元2004和连接到传输速率控制单元2003的连接。中继控制单元1001、中继单元1002-1-1002-n、中继单元内部的终端侧连接终止单元、应用信息分析单元、和设备间连接终止单元的操作与第一实施例的传送层中继设备E001对等部分的操作完全相同,因此在这里省略多余的说明。在下面的描述中,只介绍网络状况评估单元2004和传输速率控制单元2003。传送层中继设备E002可以由计算机来实现。当由计算机实现时,那么实现中继控制单元1001、中继单元1002-1-1002-n、传输速率控制单元2003、和网络状况评估单元2004的程序记录在盘、半导体存储器、或其它记录介质上。计算机读取这个程序,然后通过计算机操作的控制,在计算机上实现中继控制单元1001、中继单元1002-1-1002-n、传输速率控制单元2003、和网络状况评估单元2004。网络状况评估单元2004:
网络状况评估单元2004连接到网络中安装的本发明第二实施例的其它传送层中继设备E002的网络状况评估单元,并且通过允许测量业务量的流,评估本发明第二实施例的置于其它传送层中继设备E002之间的网络的条件,这些条件包括,例如,数据包丢失率、单程/往返时间、瓶颈的物理带宽、以及可用的瓶颈带宽。可以通过,例如,发送序号已经被附加到发送端的测量数据包、检测到达接收端的数据包的序号中的间隙,然后向发送端提供测量结果的反馈来估算数据包丢失率。可以通过同步传送层中继设备之间的时间、从发送端发送写入了时间的测量数据包、观察到达接收端的时间、然后向发送端提供时间差反馈来实现对单程时间的测量。通过在接收端响应测量数据包而返回响应数据包,然后测量从测量数据包的发送到响应的时间间隔来实现对往返时间的测量。利用,例如,“packet-pair”方法(S.Keshav、B.Landfeldt、A.Seneviratne、B.Melander、P.Gunningberg,1995年2月的IEEE/ACM网络交易中的“Packet-Pair Flow Control”)可以得到瓶颈的物理带宽。“packet-pair”方法是用来利用L/D查找测量数据包从发送端到接收端这段网络上的瓶颈物理带宽的方法。在这种法中,连续发送具有同样大小L的测量数据包(不插入时间间隔),然后在接收端观察测量数据包的到达间隔D(或者,接收端响应测量数据包,可以返回长度很短的响应数据包,然后发送端可以测量这个响应的到达间隔)。利用,例如,被称为SloPS(M.Jain、C.Dovrolis、“端到端可用带宽:测量方法论,动力学,以及与TCP吞吐量的关系”Proc.of ACM SIGCOMM,2002年8月)方法可以测量瓶颈的可用带宽。在这种方法中,大约100个测量数据包以速率R连续发送,然后观测单程时间(如果在发送端和接收端之间能建立时间同步就有可能观察到)。如果连续数据包的单程时间逐渐增长,那么R大于可用带宽,而如果单程时间没有变长,那么R小于可用带宽。利用这种确定方法并且利用二进制检索从特定R开始检查可以得到可用带宽。
设备间连接终止单元:
该设备间连接终止单元与本发明的第一设备间连接终止单元相同,但是当确定目的窗口值时,设备间连接终止单元可以由网络状况评估单元2004估算出来的值作为由设备间连接终止单元终止的TCP连接通过的瓶颈链路的物理带宽B的值。
传输速率控制单元2003:
传输速率控制单元2003以当前被中继的连接的总传输速率作为R_total,然后分割该总传输速率并为每个中继连接分配速率。可以根据当前被中继的连接的数量、来自每个设备间连接终止单元的连接指定拥塞信息、来自应用信息分析单元的应用信息、和来自网络状况评估单元2004的信息来确定总传输速率R_total。确定总传输速率R_total的方法也可以包括下面的方法。
总传输速率确定方法A2
根据从网络状况评估单元2004获得信息确定总传输速率。例如,从网络状况评估单元2004获得的网络物理带宽是Rb,可用带宽是Ra。如果期望的有效速率R_target小于瓶颈的有效带宽Ra,那么R_total被确定为R_target·α;而如果R_target大于Ra但小于Rb,那么R_total被确定为R_target·β。常量α和β是预先已经确定的值,1<α并且1<β。
总传输速率确定方法B2
根据当前被中继的连接数确定R_total使得期望的有效速率R_target对应当前被中继的连接的数量。当每个连接的速率R_o是期望值时,根据由中继控制单元注册的当前连接的数量来确定R_target为R_o*m。如果期望的带宽R_target小于瓶颈的可用带宽Ra,那么R_total被确定为R_target·α,而如果带宽R_target大于Ra但小于Rb,那么R_total被确定为R_target·β。常量α和β是预先已经确定的值,α大于1并且β也大于1。
总传输速率确定方法C2
利用来自每个设备间连接终止单元的连接指定拥塞信息和来自网络状况评估单元2004的信息确定总传输速率。例如,假设在每个时间间隔T都更新总传输速率,在时间t中继当前的m个连接,并且在从时间t-T到时间t的这段时间间隔期间,每个中继连接发送C_i(i=1、...、m)个数据包并且检测L_i(i=1、...、m)例数据包丢失。
如果C_1+C_2+...+C_m<C_threshold,说明在测量中使用的数据包的数量不足,数据包丢失率的精确度会非常差,并且从网络状况评估单元2004获得的数据包丢失率为P。否则,假设在从时间t-T到时间t的这段时间间隔内,每个中继连接发送Ci(i=1、...、m)个数据包并且检测Li(i=1、...、m)例数据包丢失,而每个中继连接的平均数据包大小为Di(i=1、...、m)。在从时间t-T到时间t的这段时间间隔内,下面数量的数据被发送:
[公式9]
并且由于数据包丢失导致下面数量的数据包不能被发送:
[公式10]
因此数据的丢失率为:
[公式11]
如果假设保持相同的拥塞条件,那么为了保证有效速率R_target,R_total被确定为R_target/(1-P)。但是,为了避免极度拥塞,当P大于数据包丢失率的特定门限值P_0时,R_total被确定为R_target/(1-P_0)。
总传输速率确定方法D2
为了获得可能的最大有效速率,利用来自每个设备间连接终止单元的连接指定拥塞信息和来自网络状况评估单元2004的信息确定R_total。例如,假设在每个时间间隔T都更新总传输速率,在时间t中继当前的m个连接,并且在从时间t-T到时间t的这段时间间隔内,每个中继连接发送C_i(i=1、...、m)个数据包并且检测L_i(i=1、...、m)例数据包丢失。
如果C_1+C_2+...+C_m<C_threshold,说明在测量中使用的数据包的数量不足,数据包丢失率的精确度会较差,并且从网络状况评估单元2004获得的数据包丢失率被取为P。否则,假设在从时间t-T到时间t的这段时间间隔内,每个中继连接发送Ci(i=1、...、m)个数据包并且检测到Li(i=1、...、m)例数据包丢失,而每个连接的平均数据包大小为Di(i=1、...、m)。在从时间t-T到时间t的这段时间间隔内,下面数量的数据被发送:
[公式12]
并且由于数据包丢失导致下面数量的数据包未被发送:
[公式13]
因此数据的丢失率为:
[公式14]
根据以往传输速率R_total和当时的数据丢失率P,准备一个能得到传输速率和实际到达接收端的速率(=R_total*(1-P))之间关系的表。用来准备这个表的数据被不断更新。取实际到达接收端的速率达到最大时的传输速率值作为R_total。但是,如果没有积累到足够数量的以往传输速率R_total,那么使用预先设置的R_total。
总传输速率确定方法E2
还可以利用来自应用信息分析单元的信息确定R_total,从而获得与当前被中继应用对应的所期望的有效速率R_target。例如,当只有流连接被中继时,从应用信息分析单元获得流速率信息,取该信息的总和值为R_target,然后根据传输速率确定方法C2得到R_total。
总传输速率确定方法F2
利用当前连接的数量、来自设备间连接终止单元的连接指定拥塞信息、和来自网络状况评估单元2004的信息确定R_total,从而获得向共享瓶颈的其它业务量授予优先级时的有效速率。例如,可以利用连接指定拥塞信息或从网络状况评估单元获得的中继连接通过的网络的RTT和数据包丢失率p估计每个TCP连接的有效速率,然后用该速率的α倍乘以m。每个TCP的有效速率的估算方法可以采用由M.Handley、S.Floyd、J.Padhye、和J.Widmer在“TCP友好速率控制(TFRC):协议规范”中3.1部分的“吞吐量公式”一文(因特网社会,RFC3448,2003年1月)中的X给出的公式计算。
换言之,利用来自中继连接终止单元的连接指定拥塞信息,以及数据包丢失发生率p、RTT的索引平均值R,TCP的超时时间间隔的估计值t_RTO(例如,R的2倍),中继连接所在网络的TCP数据包大小的平均值s(字节)(s可以是经验值),以及b=2;可以从下面的公式得到X:
[公式15]
因此R_total被确定为m·α·X(比特/秒)。如果α大于1,那么每个TCP的传输速率可以高于其它业务量,并且被中继的业务量的优先级可以相对高于其它业务量。相反,使α小于1能够相对于其它业务量降低每个TCP的传输速率,并且能够相对于其它业务量降低被中继的业务量的优先级。
用这种方法确定的R_total被分配给每个中继连接。可以根据当前连接的数量或来自应用信息分析单元的信息确定该速率分配,可以考虑下面的方法作为这些方法的例子。
传输速率分配方法1
速率被平均地分配给所有连接。换言之,如果有m个连接,那么每个连接被R_total/m的速率。
传输速率分配方法2
根据由连接标识符的端口号信息确定的规则来分配速率。作为实例,为每个端口号授予优先级,然后根据这些优先级分配速率。
传输速率分配方法3
根据来自应用信息分析单元的信息确定速率。作为实例,当中继通过HTTP连接执行数据传送的多个应用的连接时,根据从应用信息分析单元获得的HTTP内容类型字段的值执行授予优先级的带宽分配。作为另一个实例,当中继通过HTTP获得文件的多个应用的连接时,根据从应用信息分析单元获得的HTTP内容长度字段的信息将较大带宽分配给传送较少规模数据的连接。作为再一个实例,考虑这样一种情况,中继Ns个流类型应用的连接和Nf个使用HTTP的文件传输类型应用的连接。从应用信息分析单元获得的每个流速率为RSi(i=1、...、Ns),并且从应用信息分析单元获得的Nf个文件传输类型连接的每个文件大小为FLi(i=1、...、Nf)。对于流类型连接,流速率RSi(i=1、...NsO)被分配给速率低于平均速率(R_total除以当前连接数Ns+Nf)的连接。剩余速率:
[公式16]
按照给定优先级被分配给还没有被分配的流连接,然后以较高的速率分配给文件大小较小的文件传送类型的连接的顺序来分配仍剩余的速率。
操作说明
下面说明有关本发明第二实施例的操作。
图6是使用本发明第二实施例的传送层中继设备E002的网络配置示例。与本发明第一实施例说明中所用的图2的网络配置示例相比,除了用本发明第二实施例的传送层中继设备E002代替传送层中继设备E001外,其它的配置都相同。
采用传送层中继设备TR1和TR2初始和结束网络N1上的任意终端和网络N2上的任意终端之间中继通信的操作与利用图3说明的本发明第一实施例的操作相同,因此这里省略多余的说明。
下面说明当数据从网络N2上的一个终端发送给网络N1上的一个终端时传送层中继设备的传输速率控制单元的操作。图7是传输速率控制单元的操作流程图。发生象计时器超时,来自中继控制单元的中继单元的注册或删除,或来自应用信息分析单元的应用信息通知这些事件中的其中一种都能启动传输速率控制单元(F100)。
当事件是由来自中继控制单元的注册引发时(F110),那么注册连接标识符和中继单元编号(F120)。如果所注册的连接的数量为“1”(F130),那么设置计时器在时间间隔T后超时(F140)。如果事件是由来自中继控制单元的删除引发的(F150),那么删除连接标识符、中继单元编号、和应用信息(如果存在应用信息)(F160),并且如果所注册的连接的数量为“0”(F170),那么释放计时器(F180)。如果事件是由来自应用信息分析单元的应用信息通知引发的(F190),那么向所注册的连接信息添加与连接标识符有关的应用信息(F200)。如果事件是由计时器超时引发的(F210),那么从与所注册的中继单元编号对应的中继单元的设备间连接终止单元获得连接指定拥塞信息(F220)。另外,传输速率控制单元还参考当前所注册连接的应用信息(已经在F200中添加的信息)(F222)。然后传输速率控制单元从网络状况评估单元获得网络状况(F225),还利用当前注册的连接的数量确定总传输速率R_total(F230)。作为确定总传输速率R_total的方法,可以采用象说明传输速率控制单元2003时所述的总传输速率确定方法A2、B2、C2、D2、E2、和F2中的一种。接下来,传输速率控制单元确定当前注册的每个连接的传输速率(F240)。作为确定传输速率的方法,可以采用象说明传输速率控制单元2003时所述的传输速率分配方法1、2和3中的一种。然后将这里确定的每个连接的传输速率通知给对应的设备间连接终止单元(F250)。最后,将计时器设置为T(F260)。
本发明第二实施例的优点
本发明第二实施例获得的本发明的第一个优点能够通过在网络N1和网络N2上都安装了一个传送层中继设备来实现,因此可以保证多个终端之间的特定传送层连接集合所期望的有效速率,并且该有效速率可以在这些连接集合中重新分配。因此,与用具有带宽控制功能的路由器取代网络N3上多个路由器的现有技术的第一种方法相比,降低了设备成本并减小了替换带来的麻烦。能获得这个优点是因为,当中继连接的业务量和其它业务量(交叉业务量)共享同一瓶颈时,如果承载交叉业务量的传送层协议(例如,TCP)能实现拥塞控制,那么本发明的方法根据中继连接的总传输速率可以利用规范传输速率的特征并且根据总传输速率保证特定的有效速率。另外,通过在被中继的连接中分割总传输速率来使用总传输速率,即使被中继的连接的传输速率很低,其速率也可以用作被中继的其它连接的传输速率,并且不必用交叉业务量取代速率就可以重新分配有效速率。
本发明第二实施例带来的本发明的第二个优点能够通过利用传输速率控制单元中的总传输速率确定方法A2-E2为传送层的连接集合保证期望的有效速率来实现,这种效果在现有技术的第二和第三个例子中是不可能实现的。此外,关于确定传输速率的方法,结合使用网络状况评估单元的信息可以保证期望的有效速率具有高准确性。
本发明第二实施例带来的第三个优点能够通过利用传输速率控制单元中的总传输速率确定方法F2在向其它业务量设置优先级时,为终端之间的多个连接分配带宽来实现,这种效果在现有技术的第二和第三个例子中是不可能实现的。此外,关于确定传输速率的方法,结合使用网络状况评估单元的信息可以在设置优先级时保证期望的有效速率具有高准确性。
本发明第二个实施例带来的第四个优点能够通过利用传输速率分配方法3,根据流经这些连接的应用信息为多个连接上的终端之间的传送层连接的特定集合重新分配特定的有效速率来实现。
本发明的第三实施例
本发明第三实施例的配置说明
接下来参考附图说明本发明第三实施例的详细配置。
图8是本发明第三实施例的传送层中继设备E003的内部方框图。传送层中继设备E003包括:中继控制单元3001、中继单元3002-1-3002-n、传输速率控制单元3003、设备间连接终止单元3004、和MUX-DEMUX单元3005。传送层中继设备E003可以用计算机实现。当用计算机实现传送层中继设备E003时,实现中继控制单元3001、中继单元3002-1-3002-n、传输速率控制单元3003、设备间连接终止单元3004、和MUX-DEMUX单元3005的程序被记录在盘、半导体存储器、或其它记录介质上。计算机读取该程序,并且通过计算机的操作控制,能够在计算机上实现中继控制单元3001、中继单元3002-1-3002-n、传输速率控制单元3003、设备间连接终止单元3004、和MUX-DEMUX单元3005。下面针对每个组成部分进行说明。
中继控制单元3001:
中继控制单元3001接收:来自终端的传送层的连接终止单元的连接建立请求;来自相对传送层中继设备E003的中继开始请求;来自中继单元的连接断开通知;和来自相对传送层中继设备E003的中继结束请求。下面描述当接收这些请求和通知时的操作。
当从终端接收连接建立请求时:
来自终端的连接建立请求包括五项信息的集合(称作“连接标识符”):作为请求建立连接的源的终端的端口号和IP地址、被请求建立连接的目的终端的端口号和IP地址、和连接中要使用的传输协议的标识符。已经接收到连接建立请求的中继控制单元向相对的传输速率中继设备E003的中继控制单元发送包含连接建立请求信息的中继开始请求。此时,中继控制单元与伙伴的中继单元交流未被用来确定在两边都未被使用的中继单元编号的中继单元(3002-1-3002-n)的编号(1-n)。接着,中继控制单元在传输速率控制单元中注册已经确定的中继单元的识别号(1-n)和该连接的连接标识符。然后中继控制单元在MUX-DEMUX单元中注册已经被确定的中继单元编号。
中继控制单元还指示已经被确定从终端建立连接的中继单元编号的中继单元(3002-1-3002-n)。如果用于中继的传送层连接(中继连接)还没有扩展到相对的传送层中继设备,那么中继控制单元还指示设备间连接终止单元建立连接。
当从相对的传送层中继设备E003接收中继开始请求时:
当从相对的传送层中继设备E003接收到中继开始请求时,中继控制单元与伙伴交流未被用来确定两边都未使用的中继单元编号的中继单元(3002-1-3002-n)的编号(1-n)。接下来,中继控制单元在传输速率控制单元中注册已经确定的中继单元的识别号(1-n)和连接的连接标识符。然后中继控制单元在MUX-DEMUX单元中注册已经确定的中继单元编号。中继控制单元还促使已经被确定的中继单元编号的中继单元(3002-1-3002-n)根据中继开始请求中包含的连接建立请求的信息与作为连接建立请求的目的的终端建立连接。
当从中继单元接收到连接断开通知时:
中继控制单元向相对的传送层中继设备E003的中继控制单元发送一条包括提供连接断开通知的中继单元的编号的中继结束请求。中继控制单元还指示MUX-DEMUX单元删除提供连接断开通知的中继单元的中继单元编号的注册。最后,中继控制单元向传输速率控制单元报告中继单元的中继单元编号并删除该注册。
当从相对的传送层中继设备E003接收到中继结束请求时:
中继控制单元指示中继结束请求中包含的中继单元编号对应的中继单元与终端断开连接。中继控制单元还指示MUX-DEMUX单元删除提供连接断开通知的中继单元所注册的中继单元编号。中继控制单元还向传输速率控制单元报告中继单元的中继单元编号,然后删除注册。如果此时没有中继单元被使用,那么中继控制单元指示设备间连接终端单元断开连接。
中继控制单元3001具有一个显示每个中继单元3002-1-3002-n当前是否被使用的空间管理表,并且当从终端接收到连接建立请求中继请求或从相对的传送层中继设备E003接收到中继开始请求后,指定中继单元并且在空间管理表中将相应的中继单元设置为“使用”;而当从中继单元接收到连接断开通知或从相对的传送层中继设备E003接收到中继结束请求后,写入表示中继单元“未使用”的信息;这样就可以管理哪些中继单元当前被使用。
中继单元3002-1-3002-n
每个中继单元3002-1-3002-n都数据包一个终端侧连接终止单元和一个应用信息分析单元。根据来自中继控制单元的指令,每个中继单元促使终端侧连接终止单元与终端建立传送层连接或与终端断开连接。
终端侧连接终止单元:
终端侧连接终止单元具有与传送层连接扩展到的终端通信时使用的发送/接收缓存器,它还执行传送层连接的终止处理。根据正在使用的、并至少包括建立、维持、和结束传送层连接功能以及流量控制和拥塞控制功能的传送层协议执行传送层连接的终止处理。终端侧连接终止单元根据中继单元的指令与终端建立和断开连接。另外,一旦终端请求断开连接,那么终端侧连接终止单元断开连接并向中继单元发送连接断开通知。
在与终端建立连接的时间间隔期间内,终端侧连接终止单元既根据传送层协议的约定向终端发送该发送缓存器内的数据,也根据传送层协议的约定从终端接收数据,然后将数据写入接收缓存器。终端侧连接终止单元还从它所连接的应用信息分析单元接收数据,然后将数据写入发送缓存器。终端侧连接终止单元还从接收缓存器读取数据,并且向它所连接的应用信息分析单元发送数据。
应用信息分析单元:
应用信息分析单元在终端侧连接终止单元和MUX-DEMUX单元3005之间传送该传送层的数据。应用信息分析单元从终端侧连接终止单元的接收缓存器读取传送层数据,然后将该数据传送到MUX-DEMUX单元3005。另外,应用信息分析单元还从MUX-DEMUX单元3005接收数据,然后将数据写入终端侧连接终止单元的发送缓存器。在这些传送层数据的传送期间,应用信息分析单元获得应用信息并且向传输速率控制单元3003报告。当使用传送层协议中的HTTP(超文本传输协议)发送和接收数据时,应用信息是,例如,HTTP头中表示所发送数据类型的上下文类型标签的内容,以及HTTP头中表示所发送数据大小的上下文长度标签的值。作为另一个例子,应用信息也可以是RTSP(实时流协议)连接中规定的流的连接标识符或流速率。作为再一个例子,应用信息可以是在FTP控制连接中指定的FTP数据连接的连接标识符。
MUX-DEMUX单元3005:
MUX-DEMUX单元3005根据来自中继控制单元3001的指令存储当前被使用的中继单元编号,以便注册或删除当前被使用的中继单元的编号。MUX-DEMUX单元3005从应用信息分析单元接收有关当前被使用的中继单元的数据,将它们分割成特定固定大小的数据片(当数据大小不足时执行填补),附加带有中继单元编号的标签,然后写入设备间连接终止单元3004的发送缓存器。此时,MUX-DEMUX单元3005根据传输速率单元的指令设置从当前被使用的哪个中继单元读取数据以及读取数据的速率。
另外,MUX-DEMUX单元3005从设备间连接终止单元3004的接收缓存器读取每个固定大小单位的数据片并去掉标签,然后将数据片传送到数据片上所附标签显示的中继单元编号对应的中继单元的应用信息分析单元。
设备间连接终止单元3004:
设备间连接终止单元具有与传送层连接扩展到的伙伴进行通信时使用的发送/接收缓存器,它还执行传送层连接的终止处理。根据中继控制单元的指令,设备间连接终止单元3004还扩展传送层的中继连接来与相对的传送层中继设备E003进行中继。
关于设备间连接终止单元3004与终端侧连接终止单元之间的区别,在终止传送层连接的过程中,虽然设备间连接终止单元3004具有建立、维持、和结束传送层连接的功能,但是,由传输速率控制单元执行流量控制和拥塞控制的传输速率计算,然后设备间连接终止单元3004按照传输速率控制单元指示的速率进行发送。设备间连接终止单元3004与终端侧连接终止单元的其它区别在于,设备间连接终止单元3004向传输速率控制单元报告利用来自通信伙伴的反馈信息得到的与当前通信伙伴的连接指定拥塞信息(后面解释)。
进一步假设在该传送层连接中使用可靠的传送层协议,并且假设为了重发控制接收包括能够在接收端接收到的数据序号(ACK编号)的ACK数据包。ACK编号可以是已经连续接收到的没有丢失的最后一个序号+1(RR:接收就绪)所得的值,也可以是RR列表和可随后作为SACK(选择的ACK)接收的序列号块。还假设ACK数据包包括象接收侧接收缓存器剩余量这样的流控制所需的信息。
例如,如前所述,可以通过改变执行滑动窗口拥塞控制/流量控制的传送层协议,如TCP Reno,TCP NewReno或TCP SACK的一部分连接终止单元来实现上述设备间连接终止单元。更具体地说,在这些传输协议中,拥塞窗口的值和传输伙伴接收缓存器的剩余量中较小的值被作为传输窗口的最终值,并且该拥塞窗口(称作“cwnd”)要变化的部分被作如下改变:首先确定目标拥塞窗口值(称作“TW”)(后面描述确定方法),然后cwnd作如下变化:(a)当连接空闲时间(在一个RTT或更长的时间间隔内没有数据包被发送时),或TCP发生超时,在连接初始化时cwnd=1;并且(b)当接收ACK时,如果cwnd等于或小于TW/2,那么cwnd被设置为cwnd+1,否则cwnd被设置为cwnd+1.0/cwnd。
当目标窗口值发生改变时,可以用目标窗口值覆盖cwnd。作为确定目标窗口值的方法,由传输速率控制单元指示的速率除以当前RTT(往返时间)可以获得目标窗口值。另外,由设备间连接终止单元终止的TCP连接通过的瓶颈链路的物理带宽B(比特/秒)和由TCP观察到的RTT(往返时间)的最大值RTT_max(sec):
W_max=RTT_max·B/(8·MSS)
(其中MSS是TCP的最大段的大小),可以从传输速率控制单元指示的速率(记作R(比特/秒))得到W_max·R/B的值,然后覆盖该窗口的值。另外,可以用(4·N-1)·W_max·R/(4·N·B-R)的值覆盖该窗口的值,其中N是通过设备间连接终止单元终止的TCP连接流过瓶颈链路的交叉业务量的TCP流的数量。
关于TCP重发控制,在标准的TCP协议中,除了被称作“重发”的操作外,即从发送特定数据包到超时这段时间间隔内没有接收到ACK就执行重发,当出现重复ACK实例的特定门限值(称作“快速重发门限值”并且通常等于“3”)时,执行被称作“快速重发”的控制,ACK编号的下一个序号的数据包被重发一次。在本实施例的设备间连接终止单元中,除了这个操作外还可以执行下面所述的“再重发”。“再重发”是这样的操作,对于促使快速重发的重复ACK编号,连续到达的重复ACK的数量即使在快速重发后也算数,并且当该数量超过特定门限值时(称作“再重发门限值”),再次执行重传。可以重复执行再重发。从当执行快速重发时已经发送的序号最大值中减去重复ACK数和快速重发门限值之和可以得到再重发门限值。
在建立连接的时间间隔期间,根据传送层协议的约定维持与建立连接的伙伴的设备间连接终止单元的传送层连接;(根据传送层协议的约定)发送缓存器内的数据被发送到伙伴的设备间连接终止单元;并且(根据传送层协议的约定)从建立连接的伙伴的设备间连接终止单元接收数据,然后(根据传送层协议的约定)写入接收缓存器。另外,从所连接的应用信息分析单元接收数据并写入发送缓存器。从接收缓存器读取数据,然后发送到所连接的应用信息分析单元。然而,发送缓存器内的数据被发送给伙伴的设备间连接终止单元的速率与传输速率控制单元3003指示的速率一致。另外,当从伙伴的设备间连接终止单元接收数据时获得的ACK数据包中收集的连接指定拥塞信息被发送到传输速率控制单元3003。
对于连接指定拥塞信息,在传送层协议中,接收伙伴的当前接收能力(如接收缓存器中的空间量)和包含接收到的接收数据的序号的ACK数据包作为来自连接扩展到的通信伙伴的反馈信息。根据ACK数据包,可以测量当前数据包的往返时间(RTT)并推断出可发现的数据包丢失事件。RTT可以如下计算:当数据包被发送时,保存数据包中包括的数据的序号和发送时间,当接收到报告这些序号已经被接收的ACK数据包后,通过所保存的接收时间和发送时间之间的差可以获得RTT。对于数据包丢失,与TCP一样,如果ACK序号是至今连续接收并返回的并未包括丢失的最后一个数据的序号,那么在接收到重复ACK时能够检测数据包丢失的可能性。另外,当在接收重复ACK时,如果执行快速重发的重发算法,例如TCP中的Fast Retransmit不是Go-back-N,那么在接收到部分ACK后,也可以检测出数据包丢失的可能性。包括该RTT和指示发生数据包丢失可能性的事件的信息被称为“连接指定拥塞信息”。
传输速率控制单元3003:
R_total是当前被中继的连接的总传输速率,并且R_total作为中继连接的传输速率。可以根据当前被中继的连接的编号和来自设备间连接终止单元的连接指定拥塞信息确定总传输速率R_total。作为实例,可以采用下列方法。
总传输速率确定方法A3
期望的有效速率R_target乘以预先已经确定的乘数α(其中α>1),以获得R_total=α·R_target的值。
总传输速率确定方法B3
根据当前被中继的连接的编号确定R_total使得所期望的有效速率R_target符合当前被中继的连接的编号。需要确定每个连接所分配的速率R_o,然后根据由中继控制单元注册的当前连接的编号m,确定R_total为α*R_o*m。α值是预先确定的乘数α(其中α>1)。
总传输速率确定方法C3
利用来自设备间连接终止单元的连接指定拥塞信息确定R_total可以获得期望的有效速率R_target。作为实例,如果假设在每个时间间隔T更新总传输速率,在从时间t-T到时间t的时间间隔期间每个中继连接发送C个数据包,检测到L例数据包丢失,因此数据包丢失率P是L/C。假设保持相同的拥塞条件,那么为了获得目标速率(R_target),R_total被确定为R_target/(1-P)。但是,为了避免极度拥塞,对于数据丢失率的特定门限值P_0,当P>P_0时,R_total被确定为R_target/(1-P_0)。
总传输速率确定方法D3
利用来自每个设备间连接终止单元的连接指定拥塞信息确定R_total从而获得最有可能的有效速率。作为实例,如果假设在每个时间间隔T更新总传输速率,在从时间t-T到时间t的间隔期间,每个中继连接发送C个数据包,并检测到L例数据包丢失,因此数据包丢失率P是L/C。根据以往传输速率R_total和当时的数据数据包丢失率P,准备一个能得到传输速率和实际到达接收端的速率(R_total*(1-P))之间关系的表。假设用来准备这张表的数据被不断更新。R_total作为实际到达接收端的速率最大时的传输速率值。但是,如果没有积累到足够的以往传输速率R_total,那么使用预先设置的R_total。
总传输速率确定方法E3
还可以利用来自应用信息分析单元的信息确定R_total从而获得符合当前被中继应用所期望的有效速率R_target。作为实例,当只有流连接被中继时,从应用信息分析单元获得流速率信息,合计为R_target,并且根据传输速率确定方法C3得到R_total。
总传输速率确定方法F3
利用当前连接编号m和来自设备间连接终止单元的连接指定拥塞信息确定R_total从而获得向共享瓶颈的其它业务量授予优先级时的有效速率。作为实例,可以利用从连接指定拥塞信息获得的中继连接通过的网络上的数据包丢失率p和RTT来估计每个TCP的有效速率,然后用m乘以该速率的乘数α。估计每个TCP的有效速率的方法可以采用由M.Handley、S.Floyd、J.Padhye、和J.Widmer在“TCP友好速率控制(TFRC):协议规范”3.1部分的“吞吐量公式”(因特网社会,RFC3448,2003年1月)中的X给出的公式。换言之,设备间连接终止单元的连接指定拥塞信息和数据包丢失发生率p(当计算p时,将RTT内的数据包丢失当作一次数据包丢失事件来执行计算)的、RTT的索引平均值R,TCP的超时间隔的估计值t_RTO(例如,2乘以R),中继连接时网络上TCP数据包大小的平均值s(字节)(s可以是经验值),以及b=2;可以按如下得到X:
[公式17]
因此R_total被确定为m·α·X(bit/sec)。如果α大于1,那么每个TCP的传输速率可以高于其它流量,并且被中继的业务量的优先级可以相对高于其它流量。相反,如果设置α小于1,那么每个TCP的传输速率可以低于其它业务量,并且被中继的业务量的优先级相对低于其它流量。
根据当前连接的编号和来自应用信息分析单元的信息可以为每个中继连接确定用这种方法确定的R_total的分配速率,可以考虑下面方法作为例子。
传输速率分配方法1
速率被平均分配给所有连接。换言之,如果有m个连接,那么每个连接得到R_total/m的速率。
传输速率分配方法2
根据由连接标识符的端口号信息确定的规则分配速率。例如,作为实例,为每个端口号授予优先级,然后根据这些优先级分配速率。
传输速率分配方法3
根据来自应用信息分析单元的信息确定速率。作为实例,当中继通过HTTP连接执行数据发送的多个应用连接时,根据从应用信息分析单元获得的HTTP内容类型字段的值授予的优先级执行带宽分配。作为另一个实例,当中继通过HTTP获得文件的多个应用连接时,根据从应用信息分析单元获得的HTTP内容长度字段的信息将较大带宽分配给发送数据较少的连接。作为再一个实例,考虑这样一种情况,中继Ns个流类型应用连接和Nf个使用HTTP的文件传送类型应用的连接。从应用信息分析单元获得的每个流速率为RSi(i=1、...、Ns),并且从应用信息分析单元获得的Nf个文件传送类型连接的每个文件大小为FLi(i=1、...、Nf)。对于流类型连接,流速率RSi(i=1、...NsO)被分配给速率低于平均速率(R_total除以当前的连接数Ns+Nf)的连接。剩余速率:
[公式18]
按照给定优先级被分配给还没有得到分配的流连接,然后仍剩余的速率按照速率从高到低的分配顺序依次分配给文件较小的文件传输类型的连接。
操作说明
接下来参考附图说明本发明第三实施例的详细操作。图9显示了使用根据本发明第三实施例的传送层中继设备E003的通信网络的配置示例。网络N1包括s个终端H1-1-H1-s并且通过路由器R1连接到网络N3。网络N2包括r个终端H2-1H2-r并且通过路由器R2连接到网络N3。N1上的终端H1-1-H1-s和N2上的终端H2-1H2-r之间通过网络N3实现通信。另外,在网络N1和N2上安装了根据本发明第三实施例的传送层中继设备E003,这些传送层中继设备E003被分别标识为TR1和TR2。路由器R1象普通路由器一样,向传送层中继设备TR1传送来自终端H1-1-H1-s或网络N3的所有数据包,然后传送来自传送层中继设备TR1上的数据包。同样地,路由器R2象普通路由器一样,向传送层中继设备TR2传送来自终端H2-1H2-r或网络N3的所有数据包,然后传送来自传送层中继设备TR2上的数据包。
在上述配置中,传送层中继设备TR1和路由器R1,以及传送层中继设备TR2和路由器R2可以在同一台设备上,并且可以执行如上所述的相同发送。
图10显示了当图9中的网络N1上的终端H1-k与网络N2上的终端H2-j进行通信时,在网络N1和网络N2上安装的第三实施例的传送层中继设备E003(图9和图10中的TR1和TR2)的操作。当准备与终端H2-j通信时,终端H1-k向终端H2-j发送连接建立请求数据包。路由器R1将这个数据包发送给传送层中继设备TR1,然后由传送层中继设备TR1上的中继控制单元接收这个数据包(图10中的T1000)。中继控制单元在接收到连接建立请求后向相对的传送层中继设备TR2的中继控制单元发送一条包括连接建立请求信息的中继开始请求。此时,中继控制单元交流中继控制单元中当前未被使用的中继单元(3002-1-3002-n)的编号(1-n),然后确定在两端都未被使用的中继单元编号(T1010)。接着,中继控制单元在传输速率控制单元中注册已经确定的中继单元的识别号(1-n)和连接的连接标识符(T1020)。然后,中继控制单元在MUX-DEMUX单元中注册已经确定的中继单元编号(T1030)。中继控制单元接下来指示已经确定的中继单元编号对应的中继单元与终端建立连接(T1040)。在T1040中被指示建立连接的中继单元促使终端侧连接终止单元与终端建立连接(T1050和T1060)。
如果还没有与相对的传送层中继设备建立用于中继的传送层连接(中继连接),那么中继控制单元还指示设备间连接终止单元建立连接(T1070和T1080)。
相对的传送层中继设备TR2在从TR1接收到中继开始请求后,与传送层中继设备TR1交流中继控制单元中未被使用的中继单元(3002-1-3002-n)的编号(1-n)来确定在两端都未被使用的中继单元编号(T1010)。接着,在传输速率控制单元中注册已经确定的中继单元的识别号(1-n)和连接的连接标识符(T1090)。然后在MUX-DEMUX单元中注册中继单元编号(T1100)。中继控制单元接下来根据中继开始请求中包括的连接建立请求的信息,指示已经确定的中继单元编号对应的中继单元与连接建立请求的目标终端建立连接(T1110、T1120和T1130)。
如果终端H1-k采用HTTP GET方法从H2-j获得文件,那么终端H1-k与TR1建立连接(T1060),然后发送一条HTTP GET请求(T1140)。传送层中继设备TR1上的终端侧连接终止单元接收该请求,并将它传送到应用信息分析单元(T1150)。MUX-DEMUX单元按照传输速率控制单元指示的速率从应用信息分析单元接收数据(T1160),然后将数据分割成特定固定大小的数据片(当数据大小不足时进行填补),将中继单元编号赋给标签,然后将数据写入设备间连接终止单元3004的发送缓存器(T1170)。设备间连接终止单元按照传输速率控制单元指示的速率发送该发送缓存器中的数据,并且利用中继连接将数据传送给传送层中继设备TR2的设备间连接终止单元(T1180)。传送层中继设备TR2的MUX-DEMUX单元从设备间连接终止单元的接收缓存器读取每个大小固定的数据片(T1190),去掉每片上所附的标签,然后将数据片传送到与标签指示的中继单元编号对应的中继单元的应用信息分析单元(T1200)。这些数据通过应用信息分析单元传送到终端侧连接终止单元(T1210),并最终到达终端H2-j(T1230)。为响应该请求,终端H2-j向终端H1-k返回数据(T1240)。该响应数据被传送层中继设备TR2和TR1再次中继后传递给终端H1-k(T1250-T1320)。此时,TR2的应用信息分析单元在该响应中向传输速率控制单元发送象HTTP内容长度信息这样的应用信息。这部分操作后面会详细描述。当通信结束后,其中一个终端,例如终端H2-j发送连接断开请求(T1340),传送层中继设备TR2的终端侧连接终止单元接收到该请求并且断开连接(T1350)。终端侧连接终止单元向中继单元发送连接断开通知(T1360)。接收到该通知的中继单元向中继控制单元发送连接断开通知(T1365)。中继控制单元在接收到该通知后,向相对的传送层中继设备TR1的中继控制单元提供一条包含提供连接断开通知的中继单元编号的中继结束请求(T1370)。中继控制单元还指示MUX-DEMUX单元删除提供连接断开通知的中继单元所注册的中继单元编号(T1390)。中继控制单元还向传输速率控制单元报告中继单元的中继单元编号并删除注册(T1400)。接收到中继结束请求的传送层中继设备TR1的中继控制单元指示中继结束请求中包含的中继单元编号对应的中继单元断开与终端的连接(T1430)。中继单元在接收到这些指令后,指示终端侧连接终止单元与当前连接的终端断开连接(T1440和T1450)。中继控制单元还指示MUX-DEMUX单元删除提供连接断开通知的中继单元所注册的中继单元编号(T1460)。中继控制单元还向传送层控制单元报告中继单元的中继单元编号并删除注册(T1470)。
如果在此时清除被使用的中继单元,那么中继控制单元指示设备间连接终止单元断开连接并促使连接断开(T1480和T1490)。通过上述操作,利用本发明第三实施例的传送层中继设备TR1和TR2可以中继网络N1上的任何终端和网络N2上的任何终端之间的通信。
接下来说明关于在前述操作中图10中T1240-T1320所示的当从网络N2上的终端向网络N1上的终端发送数据时,传送层中继设备的传输速率控制单元的详细操作。图11显示了传输速率控制单元的操作流程图。能启动传输速率控制单元的事件包括:计时器超时,来自中继控制单元的中继单元的注册或删除,或来自应用信息分析单元的应用信息通知(F100)。如果是由来自中继控制单元的注册引发的事件(F110),那么传输速率控制单元注册连接标识符和中继单元编号(F120),如果所注册的连接数为“1”(F130),那么在时间间隔T后将计时器设置为超时(F140)。如果是由来自中继控制单元的删除引发的事件(F150),那么传输速率控制单元删除连接标识符、中继单元编号、和应用信息(如果存在应用信息)(F160),而如果所注册的连接数为“0”(F170),那么释放计时器(F180)。如果是由来自应用信息分析单元的应用信息通知引发的事件(F190),那么传输速率控制单元向所注册的连接信息添加与连接标识符有关的应用信息(F200)。如果是由计时器超时引发的事件(F210),那么传输速率控制单元从设备间连接终止单元获得连接指定拥塞信息(F220)。传输速率控制单元还参考当前所注册连接的应用信息(已经在F200中添加的信息)(F222)。然后,传输速率控制单元利用当前注册的连接数确定总传输速率R_total(F230)。作为确定方法,可以采用象说明传输速率控制单元3003时所述的总传输速率确定方法A3、B3、C3、D3、E3、和F3中的一种。接下来,传输速率控制单元为每个当前注册的连接确定传输速率(F240)。作为确定方法,可以采用象说明传输速率控制单元3003时所述的传输速率分配方法1、2和3中的一种。接下来,向设备间连接终止单元报告总传输速率R_total(F250)。F240中确定的每个连接的传输速率还报告给MUX-DEMUX单元(F255)。最后,将计时器设置为T(F260)。
图8中所示的传送层中继设备E003只能与一个预先确定的相对的传送层中继设备建立中继连接,但是利用下面的方法可以与多个相对的传送层中继设备建立中继连接。
在传送层中继设备E003上配备了中继控制单元3001,多个相对的传送层中继设备中的每一个都配备一套中继单元3002-1-3002-n、传输速率控制单元3003、设备间连接终止单元3004、和MUX-DEMUX单元3005。
中继控制单元3001在接收到连接建立请求后,根据对应表的内容和连接建立请求中包括的连接建立请求目标终端的IP地址,确定要建立中继连接的伙伴的传送层中继设备,然后向已经确定的伙伴传送层中继设备发送中继开始请求。此时,中继控制单元3001沟通未使用并且在对应前述已经确定的伙伴的传送层中继设备集合中包括的中继单元的中继单元编号,然后确定在这里要使用的中继单元的中继单元编号。中继控制单元3001接着在属于前述集合的传输速率控制单元3003中注册已经确定的中继单元的识别号和连接的连接标识符。中继控制单元3001还在属于前述集合的MUX-DEMUX单元3005中注册已经确定的中继单元编号。中继控制单元3001还指示已经确定的中继单元编号对应的中继单元与终端建立连接。如果相对的传送层中继设备还没有扩展到用于中继的传送层连接(中继连接),那么中继控制单元3001还指示属于前述集合的设备间连接终止单元建立连接。
中继控制单元3001在从多个相对的传送层中继设备中的特定传送层中继设备接收到中继开始请求后,沟通仍未被使用并且属于对应前述对端传送层中继设备集合的中继单元的中继单元编号,然后确定这里要使用的中继单元编号。中继控制单元3001接着在属于前述集合的传输速率控制单元3003中注册已经确定的中继单元编号和连接的连接标识符。中继控制单元3001还在属于前述集合的MUX-DEMUX单元3005中注册已经确定的中继单元编号。中继控制单元3001还根据中继开始请求中包括的连接建立请求的信息,促使已经确定的中继单元编号对应的中继单元与连接建立请求的目标终端建立连接。
中继控制单元3001在从属于特定集合的中继单元接收到连接断开通知后,向对应相对的传送层中继设备集合的中继控制单元提供包括提出连接断开通知的中继单元编号的中继结束请求。中继控制单元3001还指示属于前述集合的MUX-DEMUX单元3005删除提供连接断开通知的中继单元所注册的中继单元编号。中继控制单元3001还向属于前述集合的传输速率控制单元3003报告中继单元的中继单元编号并删除注册。
中继控制单元3001在从多个对端传送层中继设备中的特定传送层中继设备接收到中继结束请求后,指示上述中继结束请求中包含的并且属于对应前述特定传送层中继设备集合的中继单元编号对应的中继单元与终端断开连接。中继控制单元3001还指示属于前述集合的MUX-DEMUX单元3005删除提供连接断开通知的中继单元所注册的中继单元编号。中继控制单元3001还向属于前述集合的传输速率控制单元3003报告中继单元的中继单元编号并删除注册。此时如果没有被使用的中继单元,那么中继控制单元3001指示设备间连接终止单元断开连接。
本发明第三实施例的优点
从本发明第三实施例获得的本发明的第一个优点是,可以保证多个终端之间的特定传送层连接集合所期望的有效速率,并且通过在网络N1和网络N2上都安装一个传送层中继设备使得该速率可以在这些连接集合中重新分配。因此,与用具有带宽控制功能的路由器取代网络N3上的多个路由器的现有技术的第一种方法相比,降低了设备成本并减小了设备替换时的麻烦。能获得这个优点是因为,当中继连接的业务量和其它业务量(交叉业务量)共享同一瓶颈时,如果承载交叉业务量的传送层协议(例如,TCP)能实现拥塞控制,那么本发明的方法根据中继连接的总传输速率利用规范传输速率的特征并且根据总传输速率保证特定的有效速率。另外,通过在被中继的连接中分割总传输速率来使用总传输速率,即使被中继的连接的传输速率很低,其速率也可以用作被中继的其它连接的传输速率,并且不必用交叉业务量取代速率就可以重新分配有效速率。
从本发明第三实施例获得的本发明的第二个优点是利用传输速率控制单元中的总传输速率确定方法A3-E3来保证传送层连接集合所期望的有效速率,这种效果在现有技术的第二和第三种例子中是不可能实现的。
从本发明第三个实施例获得的本发明的第三优点是利用传输速率控制单元中的总传输速率确定方法F3在向其它业务量授予优先级时,为终端之间的多个连接获得有效速率,这种效果在现有技术的第二和第三种例子中是不可能实现的。
从本发明第三实施例获得的本发明的第四个优点是利用传输速率分配方法3,根据流经这些连接的应用信息为多个连接上的终端之间的特定传送层连接集合重新分配特定的有效速率。
本发明的第四实施例
本发明第四实施例的配置说明
接下来参考附图说明本发明第四实施例的详细配置。
图12是本发明第四实施例的传送层中继设备E004的内部方框图。与本发明第三实施例的传送层中继设备E003相比,不同之处是在传送层中继设备E004上增加了网络状况评估单元2004并且连接到传输速率控制单元4003。中继控制单元3001、中继单元3002-1-3002-n、中继单元中的终端侧连接终止单元和应用信息分析单元、以及MUX-DEMUX单元3005的操作与本发明第三实施例中传送层中继设备E003的相同部件完全一样,因此在这里省略对这些部件的操作说明。另外,网络状况评估单元2004的操作与本发明第二实施例的传送层中继设备E002的网络状况评估单元2004的操作相同,因此这里也省略对其进行的说明。设备间连接终止单元3004的操作也与本发明第三实施例的传送层中继设备E003的设备间连接终止单元3004的操作类似,只是当确定目标窗口值时,由网络状况评估单元2004估算的值可以作为由设备间连接终止单元终止的TCP连接通过的瓶颈链路上物理基站B的值。下面的说明只描述传输速率控制单元4003。传送层中继设备E004可以用计算机实现。当用计算机实现时,将用于实现中继控制单元3001、中继单元3002-1-3002-n、传输速率控制单元4003、网络状况评估单元2004、设备间连接终止单元3004、和MUX-DEMUX单元3005的程序记录在硬盘、半导体存储器、或其它记录介质上。计算机读取该程序,并且通过控制计算机的操作,可以在计算机上实现中继控制单元3001、中继单元3002-1-3002-n、传输速率控制单元4003、网络状况评估单元2004、设备间连接终止单元3004、和MUX-DEMUX单元3005。
传输速率控制单元4003:
传输速率控制单元4003将R_total作为当前被中继连接的总传输速率,然后为每个中继连接分配该速率R_total。可以根据当前被中继的连接的数量、来自设备间连接终止单元的连接指定拥塞信息、来自应用信息分析单元的信息、和来自网络状况评估单元的信息来确定总传输速率R_total;下面是方法示例。
总传输速率确定方法A4
根据从网络状况评估单元2004获得的信息确定总传输速率。作为实例,假设从网络状况评估单元2004获得的瓶颈的物理带宽是Rb,可用带宽是Ra。如果期望的带宽R_target小于瓶颈的有效带宽Ra,那么R_total被确定为R_target·α;而如果R_target大于Ra但小于Rb,那么R_total被确定为R_target·β。α和β是已经预先确定的值,1<α并且1<β。
总传输速率确定方法B4
根据当前被中继的连接的数量确定R_total使得期望的带宽R_target符合当前被中继的连接的数量。如果每个连接的速率R_o是期望值,那么根据由中继控制单元注册的当前连接的数量确定R_target为R_o*m。如果期望的带宽R_target小于瓶颈的可用带宽Ra,那么R_total被确定为R_target·α,而如果R_target大于Ra但小于Rb,那么R_total被确定为R_target·β。α和β是已经预先确定的值,1<α并且1<β。
总传输速率确定方法C4
利用来自设备间连接终止单元的连接指定拥塞信息和来自网络状况评估单元的信息确定总传输速率。例如,假设在每个时间间隔T更新总传输速率,并且在从时间t-T到时间t的这段时间间隔期间内,每个中继连接发送C个数据包并且检测到L例数据包丢失。
如果C小于C_threshold,说明在测量中未使用足够的数据包,数据包丢失率的精确度会非常差,因此从网络状况评估单元获得数据包丢失率P。否则,P的值等于L/C。
如果假设继续保持相同的拥塞条件,那么为了保证目标速率R_target,R_total等于R_target/(1-P)。但是,为了避免极度拥塞,建立数据包丢失率的特定门限值P_0,当P大于P_0时,R_total被确定为R_target/(1-P_0)。
总传输速率确定方法D4
利用来自每个设备间连接终止单元的连接指定拥塞信息和来自网络状况评估单元2004的信息确定R_total,从而可以获得最有可能的带宽。作为实例,假设在每个时间间隔T更新总传输速率,并且在从时间t-T到时间t的这段时间间隔内,每个中继连接发送C个数据包并且检测到L例数据包丢失。
如果C小于C_threshold,说明在测量中未使用足够的数据包,数据包丢失率的精确度会非常差,因此从网络状况评估单元2004获得数据包丢失率P。否则,P的值等于L/C。
根据以往传输速率R_total和当时的数据丢失率P,准备一个能得到传输速率和实际到达接收端的速率(=R_total*(1-P))之间关系的表。假设用来准备这个表的数据被不断更新。R_total作为实际到达接收端的速率达到最大时的传输速率值。但是,如果没有积累到足够的以往传输速率R_total,那么使用预先设置的R_total。
总传输速率确定方法E4
利用应用信息分析单元的信息确定R_total从而获得符合当前被中继的应用所期望的带宽R_target。作为实例,当只有流连接被中继时,从应用信息分析单元获得流速率信息,这些速率的合计为R_target,并且根据传输速率确定方法C4得到R_total。
总传输速率确定方法F4
还可以利用当前连接数量m、来自设备间连接终止单元的连接指定拥塞信息、和来自网络状况评估单元2004的信息确定R_total。作为实例,可以利用从连接指定拥塞信息或网络状况评估单元获得的中继连接通过的网络上的RTT和数据包丢失率p来估算每个TCP连接的传输速率,然后用m乘以该速率的乘数α。估算每个TCP传输速率的方法可以采用由M.Handley、S.Floyd、J.Padhye、和J.Widmer在“TCP友好速率控制(TFRC):协议规范”中3.1部分的“吞吐量公式”(因特网社会,RFC3448,2003年1月)中的X给出的公式计算。换言之,利用设备间中继连接终止单元的连接指定拥塞信息,和数据包丢失发生率p、RTT的索引平均值R,TCP的超时时间间隔的估计值t_RTO(例如,2乘以R),中继连接的网络上的TCP数据包大小的平均值s(字节)(s可以是经验值),以及b=2;可以从下面的公式得到X:
[公式19]
因此R_total被确定为m·α·X(比特/秒)。如果α大于“1”,那么每个TCP的传输速率可以高于其它业务量,并且被中继的业务量的优先级可以相对高于其它业务量。相反,如果α小于“1”,那么每个TCP的传输速率可以低于其它业务量,并且被中继的业务量的优先级相对低于其它业务量。
用这种方法确定的R_total被分配给每个中继连接。可以根据当前连接的数量或来自应用信息分析单元的信息来确定分配方案,可以考虑下面的例子作为方法。
传输速率分配方法1
速率平均分配给所有连接。换言之,如果有m个连接,那么每个连接得到R_total/m的速率。
传输速率分配方法2
根据由连接标识符的端口号信息确定的规则分配速率。例如,为每个端口号授予优先级,然后根据这些优先级分配速率。
传输速率分配方法3
根据来自应用信息分析单元的信息确定速率。作为一个实例,当中继通过HTTP连接执行数据传送的多个应用连接时,根据从应用信息分析单元获得的HTTP内容类型字段的值授予优先级来执行带宽分配。作为另一个实例,当中继通过HTTP获得文件的多个应用连接时,根据从应用信息分析单元获得的HTTP内容长度字段的信息将较大带宽分配给发送数据较少的连接。作为再一个实例,考虑这样一种情况,中继Ns个流类型应用的连接和Nf个使用HTTP的文件传输类型应用的连接。从应用信息分析单元获得的每个流速率为RSi(i=1、...、Ns),并且从应用信息分析单元获得的文件传输类型连接的文件大小为FLi(i=1、...、Nf)。对于流类型连接,流速率RSi(i=1、...NsO)被分配给速率低于平均速率(R_total除以当前的连接数Ns+Nf)的连接。剩余速率:
[公式20]
按照给定优先级被分配给还没有得到分配的流连接,然后仍剩余的速率按照速率从高到低的分配顺序依次分配给文件较小的文件传输类型的连接。
操作说明
下面说明本发明第四实施例的操作。
图13显示了使用根据本发明第四实施例的传送层中继设备E004的网络配置示例。与说明本发明第三实施例所用的图9中的网络配置示例相比,除了用第四实施例的传送层中继设备E004代替传送层中继设备E003外,其它的配置都相同。
采用传送层中继设备TR1和TR2开始和结束网络N1上的任意终端和网络N2上的任意终端之间中继通信的操作与利用图10说明的本发明第三实施例的操作相同,因此这里省略说明。
下面说明当数据从网络N2上的一个终端传送到网络N1上的一个终端时传送层中继设备上的传输速率控制单元的操作。图14是传输速率控制单元的操作流程图。
发生象计时器超时,来自中继控制单元的中继单元的注册或删除,或来自应用信息分析单元的应用信息通知这些事件的其中一种都能启动传输速率控制单元(F100)。当事件是由来自中继控制单元中的注册引发时(F110),传输速率控制单元注册连接标识符和中继单元编号(F120),如果所注册的连接的数量为“1”(F130),那么在时间间隔T后将计时器设置为超时(F140)。当事件是由来自中继控制单元中的删除引发时(F150),传输速率控制单元删除连接标识符、中继单元编号、和应用信息(如果存在应用信息)(F160),并且如果所注册的连接数量为“0”(F170),那么释放计时器(F180)。如果事件是由来自应用信息分析单元的应用信息通知引发的(F190),那么向注册信息添加与连接标识符有关的应用信息(F200)。如果事件是由计时器超时引发的(F210),那么传输速率控制单元从设备间连接终止单元获得连接指定拥塞信息(F220)。传输速率控制单元还参考当前所注册的连接的应用信息(已经在F200中添加的信息)(F222)。然后传输速率控制单元从网络状况评估单元获得网络条件(F225),还利用当前注册的连接的数量确定总传输速率R_total(F230)。作为确定总传输速率R_total的方法,可以采用象说明传输速率控制单元4003时所述的总传输速率确定方法A4、B4、C4、D4、E4、和F4中的一种。接下来,传输速率控制单元确定当前注册的每个连接的传输速率(F240)。作为确定传输速率的方法,可以采用象说明传输速率控制单元4003时所述的传输速率分配方法1、2和3中的一种。然后向设备间连接终止单元报告总传输速率R_total(F250)。在F240中确定的每个连接的传输速率还报告给MUX-DEMUX单元(F255)。最后,将计时器设置为T(F260)。
本发明第四实施例的优点
从本发明第四实施例获得的本发明的第一个优点是,可以保证多个终端之间的特定传送层连接集合所期望的有效速率,并且通过在网络N1和网络N2上都安装一个传送层中继设备使得该带宽可以在这些连接集合中重新分配。因此,与用具有带宽控制功能的路由器取代网络N3上的多个路由器的现有技术的第一种方法相比,降低了设备成本并减小了设备替换时的麻烦。能获得这个优点是因为,当中继连接的业务量和其它业务量(交叉业务量)共享同一瓶颈时,如果承载交叉业务量的传送层协议(例如,TCP)能实现拥塞控制,那么本发明的方法根据中继连接的总传输速率,利用规范传输速率的特征并且根据总传输速率保证特定的有效速率。另外,通过在被中继的连接中分割总传输速率来使用总传输速率,即使被中继的特定连接的传输速率很低,其速率也可以用作被中继的其它连接的传输速率,并且不必用交叉业务量取代速率就可以重新分配有效速率。
从本发明第四实施例获得的本发明的第二个优点是利用传输速率控制单元中的总传输速率确定方法A4-E4可以保证传送层的连接集合所期望的有效速率,这种效果在现有技术的第二和第三种例子中是不可能实现的。此外,关于传输速率的确定方法,结合网络状况评估单元的信息可以保证所期望的有效速率具有高准确性。
从本发明第四实施例获得的本发明的第三个优点是利用传输速率控制单元中的总传输速率确定方法F4在向其它业务量设置优先级时,可以为终端之间的多个连接分配带宽,这种效果在现有技术的第二和第三种例子中是不可能实现的。此外,关于传输速率的确定方法,结合网络状况评估单元的信息可以在设置优先级时保证期望的有效速率具有高准确性。
本发明第四实施例带来的第四个优点是利用传输速率分配方法3,根据流经这些连接的应用信息为多个连接上的终端之间的特定传送层连接集合重新分配特定的有效速率。
本发明的第五实施例
本发明第五实施例的配置说明
下面参考附图说明本发明第五实施例的详细配置。
图15是本发明第五实施例的传送层中继设备E005内部的方框图。与本发明第一实施例的传送层中继设备E001相比,只有传输速率控制单元5003、中继控制单元5001、中继单元5002-1-5002-n、和中继单元内部的终端侧连接终止单元的操作有变化。另外,假设当连接建立时如果从要建立连接的伙伴给定初始传输速率,那么终端的传送层连接终止单元以这个速率开始传输并且随后按与正常速率控制(流控制和拥塞控制)一致的速率进行传输。说明仅限于有变化的部分。另外,传送层中继设备E005可以由计算机来实现。当用计算机实现时,用于实现中继控制单元5001、中继单元5002-1-5002-n、和传输速率控制单元5003的程序记录在盘、半导体存储器、或其它记录介质上。计算机读取这个程序,然后通过计算机的操作的控制,在计算机上实现中继控制单元5001、中继单元5002-1-5002-n、和传输速率控制单元5003。
中继控制单元5001:
中继控制单元5001接收:来自终端传送层的连接终止单元的连接建立请求和来自其它传送层中继设备的设备间连接终止单元的中继请求,并且在中继单元5002-1-5002-n中分配一个当前未被使用的中继单元。然后,中继控制单元5001在传输速率控制单元5003中注册被分配给中继单元的连接的连接标识符和中继单元的识别号(1-n)。此时,中继控制单元5001从传输速率控制单元5003接收与该连接有关的优化初始传输速率值。中继控制单元5001向被指定的中继单元发送该初始传输速率值并促使执行传送层连接的中继过程。来自终端的连接建立请求包括五项信息的集合(称作“连接标识符”):作为建立连接的请求源的终端的IP地址和端口号、作为建立连接请求的目的终端的IP地址和端口号、和连接中所使用的传输协议的标识符。中继请求包括在传送层中继设备之间建立连接(称为“中继连接”)所需的连接标识符和信息。
中继控制单元5001具有一个表示每个中继单元5002-1-5002-n当前是否被使用的表(空间管理表)。中继控制单元5001通过在接收到连接建立请求或中继请求后将空间管理表中相应的中继单元设置为“使用中”并指定一个中继单元,以及从中继单元接收到中继结束通知后,写入表示“未使用”的信息来管理哪个中继单元当前被使用。另外,中继控制单元5001在从中继单元接收到中继结束通知后,指示传输速率控制单元5003删除分配给中继单元的连接的连接标识符和中继单元的标识号(1-n)。
中继控制单元5001还有表示建立请求的目的终端的IP地址和作为中继请求的发送目的的传送层中继设备之间对应关系的表(对应表)。在从终端接收到连接建立请求后,中继控制单元5001从对应表中获得表明对应上述连接建立请求中所含建立请求的目的终端的IP地址的传送层中继设备的信息,然后向设备间连接终止单元传送获得的信息。
中继单元5002-1-5002-n:
每个中继单元5002-1-5002-n都包含:应用信息分析单元、终端侧连接终止单元、和设备间连接终止单元。中继单元从中继控制单元接收:(1)来自终端传送层的连接终止单元的连接建立请求,或(2)来自另一个传送层中继设备的设备间连接终止单元的中继请求,然后分别为终端和其它传送层中继设备建立用于中继的传送层连接。下面说明接收(1)和(2)的操作。
当从中继控制单元5001接收到(1)来自终端的传送层连接终止单元的连接建立请求时,中继单元使终端侧连接终止单元与该终端建立传送层连接。此时,中继单元向该终端的传送层连接终止单元报告从中继控制单元5001传送的初始传输速率值。终端侧连接终止单元利用作为连接建立请求中包含的连接建立请求的目的地的终端的信息(连接要使用的IP地址、端口号、和协议标识符)使终端看上去好象直接连接到建立请求的目的地终端一样。中继单元还指示设备间连接终止单元向由中继控制单元5001的信息表示的传送层中继设备(这里假设是设备B)的中继控制单元发送中继请求,并与传送层中继设备B的设备间连接终止单元建立传送层连接。
当从中继控制单元接收到(2)来自其它传送层中继设备(例如,设备B)的设备间连接终止单元的中继请求后,中继单元促使设备间连接终止单元与设备B的设备间连接终止单元建立传送层连接。中继单元还利用中继请求中包含的连接标识符的信息在终端侧连接终止单元和作为建立请求的目的终端之间建立传送层连接。此时,中继单元向终端的传送层连接终止单元报告从中继控制单元传送的初始传输速率值。另外,终端侧连接终止单元利用作为连接建立请求中的建立请求的源终端的信息(IP地址、端口号、和连接要使用的传输协议标识符)使终端看上去好象直接连接到连接建立请求的源终端一样。
当从终端侧连接终止单元接收到连接断开通知后,中继单元使得设备间连接终止单元断开中继连接,并且向中继控制单元发送中继结束通知。类似地,当从设备间连接终止单元接收到连接断开通知后,中继单元使终端侧连接终止单元与作为连接目的地的终端断开连接,并且向中继控制单元发送中继结束通知。
终端侧连接终止单元:
终端侧连接终止单元具有用来与传送层连接扩展到的终端通信时使用的发送/接收缓存器,它还执行传送层连接的终止过程。根据使用的、并至少包括建立、维持、和结束传送层连接功能以及流量控制和拥塞控制功能的传送层协议执行传送层连接的终止过程。终端侧连接终止单元根据中继单元的指令断开与终端的连接。一旦终端发出连接断开请求,终端侧连接终止单元在连接断开后向中继单元发送连接断开通知。但是,在与终端建立连接时,终端侧连接终止单元将从中继单元传送的初始传输速率值传送给终端传送层的连接终止单元。
在与终端建立连接的时间间隔期间,终端侧连接终止单元既根据传送层协议的约定向终端发送发送缓存器内的数据,也根据传送层协议的约定从终端接收数据,并将数据写入接收缓存器。终端侧连接终止单元还从它所连接的应用信息分析单元接收数据,并将数据写入发送缓存器。终端侧连接终止单元从接收缓存器读取数据,并且向它所连接的应用信息分析单元传送数据。
传输速率控制单元5003:
正如本发明第一实施例的传输速率控制单元一样,传输速率控制单元5003取当前被中继的连接的总传输速率作为R_total,然后分割并向每个中继连接分配该速率。然而,一旦中继控制单元请求注册该连接,传输速率控制单元5003也执行该分配,并且向中继控制单元报告已经分配给那个连接的传输速率作为初始传输速率。下面详细说明这些操作。传输速率控制单元5003的其它部分和本发明第一实施例中的传输速率控制单元1003的相同。
操作说明
下面参考附图说明本发明第五实施例的操作。
图16显示了使用本发明第五实施例的传送层中继设备E005的通信网络的配置示例。与使用本发明第一实施例的图2所示的网络配置相比,除了图2中作为本发明第一实施例的传送层中继设备E001的传送层中继设备TR1和TR2被本发明第五实施例的传送层中继设备E005代替外,其它配置相同。
图17显示了当在网络N1上的终端H1-k和网络N2上的终端H2-j之间实现通信时安装在网络N1和网络N2上的第五实施例的传送层中继设备E005的操作。因为这些操作与利用图3所述的本发明第一实施例的操作几乎相同,所以这里只说明不同的部分。第一个区别是:(1)在T110注册到传输速率控制单元后,接收初始传输速率(T115)并且在T130向中继单元报告。另外:(2)在T140中继单元向终端侧连接终止单元报告初始传输速率。还有:(3)在T150,当建立连接时,终端侧连接终止单元向终端H1-k通知初始传输速率。(4)在T180,在传输速率控制单元注册后,接收初始传输速率(T185)然后在T190通知中继单元。(5)在T220中继单元向终端侧连接终止单元报告初始传输速率。(6)在T240,当建立连接时,终端侧连接终止单元向终端H2-j通知初始传输速率。除了上述六点,其它操作完全相同。由于操作与利用图3说明的本发明第一实施例的操作完全相同,因此除了六点不同外其它部分的操作说明省略。
下面还要描述关于传送层中继设备E005的传输速率控制单元5003操作的不同点。图18显示了传输速率控制单元操作的流程图。能启动传输速率控制单元的各种事件包括:计时器超时,来自中继控制单元的中继单元的注册或删除,或来自应用信息分析单元的应用信息通知(F100)。当事件是由来自中继控制单元的注册引发时(F110),传输速率控制单元注册连接标识符和中继单元编号(F120),将新的注册标志设置为“1”(F121)然后进行到F220。如果事件是由来自中继控制单元的删除引发的(F150),那么传输速率控制单元删除连接标识符、中继单元编号、和应用信息(如果存在应用信息)(F160),并且如果所注册的连接的数量为“0”(F170),那么释放计时器(F180)。如果事件是由来自应用信息分析单元的应用信息通知引发的(F190),那么向所注册的连接信息添加与连接标识符有关的应用信息(F200)。如果事件是由计时器超时引发的(F210),那么传输速率控制单元从与已注册的中继单元编号对应的中继单元的设备间连接终止单元获得连接指定拥塞信息(F220)。传输速率控制单元还参考当前注册的连接的应用信息(在F200中添加的信息)(F222)。然后,传输速率控制单元还利用当前注册的连接的数量来确定总传输速率R_total(F230)。作为确定总传输速率R_total的方法,可以采用象说明传输速率控制单元1003时所述的总传输速率确定方法A1、B1、C1、D1、E1、和F1中的任何一种。接下来,确定当前注册的每个连接的传输速率(F240)。作为确定传输速率的方法,可以采用象说明传输速率控制单元1003时所述的传输速率分配方法1、2和3中的一种。这里确定的每个连接的传输速率被报告给对应的设备间连接终止单元(F250)。如果新的注册标志是“1”,那么向中继控制单元报告有关新注册连接的传输速率R_i(F258),然后将新注册标志设置为“0”(F259)。最后,将计时器设置为T(F260)。
本发明第五实施例的优点
作为从本发明第五个实施例获得的本发明的优点,除了从本发明第一个实施例获得的优点外,通过在与终端建立连接时给出初始传输速率的信息,可以缩短终端了解网络状况所需的时间,因此可以有效地实现拥塞控制。
本发明的第六实施例
本发明第六实施例的配置说明
下面参考附图说明本发明第六实施例的详细配置。
图19是本发明第六实施例的传送层中继设备E006内部的方框图。与本发明第二实施例的传送层中继设备E002相比,传输速率控制单元6003、中继控制单元5001、中继单元5002-1-5002-n、和中继单元内部的终端侧连接终止单元替代了传送层中继设备E002的对应部件。另外假设当连接建立时如果从要建立连接的伙伴向终端的传送层连接终止单元提供初始传输速率,那么终端的传送层连接终止单元以这个速率开始传输并且随后按与正常速率控制(流控制和拥塞控制)一致的速率进行传输。因为在本发明第五实施例中解释了中继控制单元5001和中继单元5002-1-5002-n的操作,所以这里仅说明传输速率控制单元6003的操作。
传送层中继设备E006可以由计算机来实现。当用计算机实现时,用于实现中继控制单元5001、中继单元5002-1-5002-n、传输速率控制单元6003、和网络状况评估单元2004的程序被记录在盘、半导体存储器、或其它记录介质上。计算机读取这个程序,然后通过计算机的操作的控制,在计算机上实现中继控制单元5001、中继单元5002-1-5002-n、传输速率控制单元6003、和网络状况评估单元2004。
传输速率控制单元6003:
正如本发明第二实施例的传输速率控制单元2003一样,传输速率控制单元6003取当前被中继的连接的总传输速率作为R_total,然后为每个中继连接分配该速率。然而,在中继控制单元请求注册连接的情况下也执行该分配,并且向中继控制单元报告将该传输速率分配给这个连接作为初始传输速率。下面详细描述该操作。传输速率控制单元6003的其它部分和本发明第二实施例中的传输速率控制单元2003一样。
操作说明
下面参考附图说明本发明第六实施例的操作。
图20是使用根据本发明第六实施例的传送层中继设备E006的通信网络的配置示例。与图6所示的使用本发明第二实施例的网络配置图相比,除了图20中作为本发明第二实施例的传送层中继设备E002的传送层中继设备TR1和TR2被本发明第六实施例的传送层中继设备E006代替外,其它配置都一样。利用传送层中继设备TR1和TR2开始和结束网络N1上的任意终端和网络N2上的任意终端之间通信中继的操作与利用图17描述的本发明第五实施例的操作相同,因此这里省略说明。
下面说明传送层中继设备E006的传输速率控制单元6003操作的不同之处。图21显示了传输速率控制单元的操作流程图。能启动传输速率控制单元的各种事件包括计时器超时,来自中继控制单元的中继单元的注册和删除,或来自应用信息分析单元的应用信息通知(F100)。当事件是由来自中继控制单元的注册引发的时(F110),传输速率控制单元注册连接标识符和中继单元编号(F120),将新的注册标志设置为“1”(F121)然后进行到F220。
如果事件是由来自中继控制单元中的删除引发的(F150),那么传输速率控制单元删除连接标识符、中继单元编号、和应用信息(如果存在应用信息)(F160)。如果所注册的连接的数量为“0”(F170),那么传输速率控制单元释放计时器(F180)。如果事件是由来自应用信息分析单元的应用信息通知引发的(F190),传输速率控制单元向所注册的信息添加与该连接标识符有关的应用信息(F200)。如果事件是由计时器超时引发的(F210),传输速率控制单元从与已注册的中继单元编号对应的中继单元的设备间连接终止单元获得连接指定拥塞信息(F220)。传输速率控制单元还参考当前所注册的连接的应用信息(已经在F200中添加的信息)(F222)。然后传输速率控制单元从网络状况评估单元获得网络状况(F225),传输速率控制单元还利用当前注册的连接的数量来确定总传输速率R_total(F230)。作为它的确定方法,可以采用象说明传输速率控制单元2003时所述的总传输速率确定方法A2、B2、C2、D2、E2、和F2中的任何一种。接下来,传输速率控制单元为当前注册的每个连接确定传输速率(F240)。作为它的确定方法,可以采用象说明传输速率控制单元2003时所述的传输速率分配方法1、2和3中的一种。这里确定的每个连接的传输速率被通知给对应的设备间连接终止单元(F250)。如果新的注册标志是“1”,那么向中继控制单元通知与新注册连接有关的传输速率R_i(F258),并且将新注册标志被设置为“0”(F259)。最后,传输速率控制单元将计时器设置为T(F260)。
本发明第六实施例的优点
除了从本发明第二实施例获得的优点外,从本发明第六实施例获得的本发明的优点还包括通过在与终端建立连接时提供初始传输速率的信息,可以缩短终端了解网络状况所需的时间,使得拥塞控制更有效。
本发明的第七实施例
本发明第七实施例的配置说明
下面参考附图说明本发明第七实施例的详细配置。
图22是本发明第七实施例的传送层中继设备E007内部的方框图。与本发明第三实施例的传送层中继设备E003相比,只有传输速率控制单元7003、中继控制单元7001、中继单元7002-1-7002-n、和中继单元内部的终端侧连接终止单元的操作有变化。还假设当连接建立时从连接建立的伙伴向终端的传送层连接终止单元提供初始传输速率,以这个速率开始传输并且随后按与正常速率控制(流控制和拥塞控制)一致的速率进行传输。下面仅描述有变化的部分。传送层中继设备E007可以由计算机来实现。当由计算机实现时,用于实现中继控制单元7001、中继单元7002-1-7002-n、传输速率控制单元7003、设备间连接终止单元3004、和MUX-DEMUX单元3005的程序被记录在盘、半导体存储器、或其它记录介质上。计算机读取这个程序,然后通过计算机的操作的控制,在计算机上实现中继控制单元7001、中继单元7002-1-7002-n、传输速率控制单元7003、设备间连接终止单元3004、和MUX-DEMUX单元3005。
中继控制单元7001:
中继控制单元7001接收来自终端传送层的连接终止单元的连接建立请求,来自相对的传送层中继设备E007的中继开始请求,来自中继单元的连接断开通知,和来自相对的传送层中继设备E007的中继结束请求。下面描述当接收这些请求和通知的每一个时的操作。
当从终端接收连接建立请求时:
来自终端的连接建立请求包括五项信息的集合(称作“连接标识符”):作为请求建立连接的源终端的端口号和IP地址、作为连接建立请求的目的地终端的端口号和IP地址、和连接中要使用的传输协议的标识符。接收到连接建立请求的中继控制单元向相对的传输速率中继设备E007的中继控制单元发送包含连接建立请求的信息的中继开始请求。此时,中继控制单元传送没有被使用的中继单元(7002-1-7002-n)的编号(1-n),从而确定一个两边都没有使用的中继单元编号。接下来,中继控制单元在传输速率控制单元7003中注册已经确定的中继单元的识别号(1-n)和连接的连接标识符。此时,中继控制单元从传输速率控制单元7003接收与这些连接有关的初始传输速率值。然后,中继控制单元在MUX-DEMUX单元3005中注册已经确定的中继单元编号。
中继控制单元7001还向已经确定的中继单元编号对应的中继单元(7002-1-7002-n)传送初始传输速率值并指示中继单元与终端建立连接。如果用于中继的传送层连接(中继连接)还没有扩展到相对的传送层中继设备,那么中继控制单元7001还指示设备间连接终止单元3004建立连接。
当从相对的传送层中继设备E007接收中继开始请求时:
当从相对的传送层中继设备E007接收到中继开始请求时,中继控制单元之间相互交流未使用的中继单元(7002-1-7002-n)的编号(1-n)以确定一个两边都未使用的中继单元编号。接下来,中继控制单元7001在传输速率控制单元7003中注册已经确定的中继单元的识别号(1-n)和连接的连接标识符。此时,中继控制单元7001从传输速率控制单元7003接收与这些连接有关的初始传输速率值。然后,中继控制单元7001在MUX-DEMUX单元3005中注册已经确定的中继单元编号。中继控制单元7001还向与已经确定的中继单元编号对应的中继单元(7002-1-7002-n)传送初始传输速率值并根据中继开始请求中包括的连接建立请求的信息指示中继单元与作为连接建立请求的目的终端建立连接。
当从中继单元收到连接断开通知时:
中继控制单元7001向相对的传送层中继设备E007的中继控制单元发送包括提供连接断开通知的中继单元编号的中继结束请求。中继控制单元7001还指示MUX-DEMUX单元3005删除提供连接断开通知的中继单元所注册的中继单元编号。最后,中继控制单元7001向传输速率控制单元7003报告中继单元的中继单元编号并删除该注册。
当从相对的传送层中继设备E007接收中继结束请求时:
中继控制单元7001指示中继结束请求中包含的中继单元编号对应的中继单元以便与终端断开连接。中继控制单元7001还指示MUX-DEMUX单元3005删除提供连接断开通知的中继单元的中继单元编号的注册。中继控制单元7001还向传输速率控制单元7003报告中继单元的中继单元编号,然后删除该注册。如果此时没有中继单元被使用,那么中继控制单元7001指示设备间连接终端单元断开连接。
中继控制单元7001具有显示每个中继单元7002-1-7002-n当前是否被使用的表(空间管理表),并且当从终端接收到连接建立请求或从相对的传送层中继设备E007接收到中继开始请求后,指定中继单元并且在空间管理表中将相应的中继单元设置为“使用中”;而当从中继单元接收到连接断开通知或从相对的传送层中继设备E007接收到中继结束请求后,写入表示中继单元“未使用”的信息,这样就可以管理哪些中继单元当前被使用。
中继单元7002-1-7002-n
每个中继单元7002-1-7002-n都包括终端侧连接终止单元和应用信息分析单元。根据来自中继控制单元的指令,每个中继单元使终端侧连接终止单元与终端建立传送层连接或与终端断开连接。当建立连接时,中继单元向终端的传送层连接终止单元报告已经从中继控制单元7001传送的初始传输速率值。
终端侧连接终止单元:
终端侧连接终止单元具有用来在与传送层连接扩展到的终端通信时使用的发送/接收缓存器,并且执行传送层连接的终止过程。根据使用的、并至少包括建立、维持、和结束传送层连接功能以及流量控制和拥塞控制功能的传送层协议执行传送层连接的终止处理。终端侧连接终止单元根据中继单元的指令与终端建立和终止连接。另外,在从终端接收到连接断开请求的情况下,终端侧连接终止单元断开连接并向中继单元发送连接断开通知。然而,当与终端建立连接时,终端侧连接终止单元向终端的传送层连接终止单元传送已经从中继单元传送的初始传输速率值。
在与终端建立连接的时间间隔期间,终端侧连接终止单元既根据传送层协议的约定向终端发送该发送缓存器内的数据,也根据传送层协议的约定从终端接收数据,并将数据写入接收缓存器。终端侧连接终止单元还从它所连接的应用信息分析单元接收数据,并将数据写入发送缓存器。终端侧连接终止单元还从所连接的应用信息分析单元接收数据并向发送缓存器写入数据。终端侧连接终止单元还从接收缓存器读取数据,并且向它所连接的应用信息分析单元发送数据。
传输速率控制单元7003:
传输速率控制单元7003取当前被中继连接的总传输速率作为R_total,并且该R_total作为中继连接的传输速率。当中继控制单元请求连接注册时也执行分配,并且通知中继控制单元分配给该连接的传输速率作为初始传输速率。下面详细描述该操作。传输速率控制单元7003的其它操作与本发明第三实施例的传输速率控制单元3003的操作相同。
操作说明
接下来参考附图说明本发明第七实施例的详细操作。
图23显示了使用根据本发明第七实施例的传送层中继设备E007的通信网络的配置示例。与图9中使用本发明第三实施例的网络配置相比,除了作为图9中传送层中继设备TR1和TR2的本发明第三实施例的传送层中继设备E003被本发明第七实施例的传送层中继设备E007取代外,其它部分的网络配置都相同。图24显示了当网络N1上的终端H1-k和网络N2上的终端H2-j之间进行通信时,安装在网络N1和网络N2上的第七实施例的传送层中继设备E007的操作。因为这些操作与利用图10描述的本发明第三实施例的操作几乎相同,所以只说明不同之处。
不同之处在于:(1)在T1020,注册到传输速率控制单元后,中继控制单元接收初始传输速率(T1025)并且在T1040向中继单元通知该初始传输速率。(2)在T1050,中继单元将该初始传输速率通知终端侧连接终止单元。(3)在T1060,当建立连接时终端侧连接终止单元将该初始传输速率通知给终端H1-k。(4)在T1090,注册到传输速率控制单元后,中继控制单元接收初始传输速率(T1095),然后在T1110向中继单元通知该初始传输速率。(5)在T1120,中继单元向终端侧连接终止单元通知该初始传输速率。(6)在T1130,当建立连接时,终端侧连接终止单元将该初始传输速率通知给终端H2-j。除了上述六点外,其它操作完全相同。因为除了上述六点外的操作与利用图10描述的本发明第三实施例的操作完全相同,所以省略多余的说明。
接下来,说明传送层中继设备的传输速率控制单元7003中有关操作的几点变化。图25显示了传输速率控制单元7003的操作流程图。能启动传输速率控制单元的事件包括下列任何一种:计时器超时,在来自中继控制单元的中继单元的注册或删除,或来自应用信息分析单元的应用信息通知(F100)。当事件是由来自中继控制单元的注册引发时(F110),传输速率控制单元注册连接标识符和中继单元编号(F120),将新的注册标志设置为“1”(F121),然后进行到F220。当事件是由来自中继控制单元的删除引发时(F150),传输速率控制单元删除连接标识符、中继单元编号、和应用信息(如果存在应用信息)(F160),并且如果所注册的连接的数量为“0”(F170),则释放计时器(F180)。如果事件是由来自应用信息分析单元的应用信息通知引发的(F190),那么传输速率控制单元向所注册的信息添加与连接标识符有关的应用信息(F200)。如果事件是由计时器超时引发的(F210),那么传输速率控制单元从设备间连接终止单元获得连接指定拥塞信息(F220)。传输速率控制单元还参考当前所注册连接的应用信息(在F200中添加的信息)(F222)。然后,传输速率控制单元利用当前注册的连接的数量来确定总传输速率R_total(F230)。作为确定方法,可以采用象说明传输速率控制单元3003时所述的总传输速率确定方法A3、B3、C3、D3、E3、和F3中的一种。接下来,传输速率控制单元确定当前注册的每个连接的传输速率(F240)。作为确定方法,可以采用象说明传输速率控制单元3003时所述的传输速率分配方法1、2和3中的一种。接下来,向设备间连接终止单元报告总传输速率R_total(F250)。还向MUX-DEMUX单元报告在F240中确定的每个连接的传输速率(F255)。如果新注册标志为“1”,那么将涉及新注册连接的传输速率R_i报告给中继控制单元(F258)并将新注册标志设置为“0”(F259)。最后,将计时器设置为T(F260)。
图22中所示的传送层中继设备E007能与不超过一个的预定相对的传送层中继设备建立中继连接,但是为了能够与多个相对的传送层中继设备建立中继连接,如第三实施例中所说明的,为多个相对的传送层中继设备中的每一个在传送层中继设备E007中提供一组中继单元7002-1-7002-n、传输速率控制单元7003、设备间连接终止单元3004、和MUX-DEMUX单元3005,并且在中继控制单元7001中执行与中继控制单元3001相同的操作。
本发明第七实施例的优点
除了从本发明第三实施例获得的优点外,从本发明第七实施例获得的本发明的优点还包括通过在与终端建立连接时提供初始传输速率的信息,可以缩短终端为了解网络状况所需的时间间隔,从而使拥塞控制更有效。本发明的第八实施例
本发明第八实施例的配置说明
下面参考附图说明本发明第八实施例的详细配置。
图26是本发明第八实施例的传送层中继设备E008内部的方框图。与本发明第四实施例的传送层中继设备E004相比,传输速率控制单元8003、中继控制单元8001、中继单元8002-1-8002-n、和中继单元内部的终端侧连接终止单元取代了第四实施例中的对应部件。还假设当连接建立时如果向终端的传送层连接终止单元提供从建立连接的伙伴得到初始传输速率,那么它以这个速率开始传输并且随后按与正常速率控制(流控制和拥塞控制)一致的速率进行传输。中继控制单元8001和中继单元8002-1-8002-n的操作与本发明第七实施例中说明的中继控制单元7001和中继单元7002-1-7002-n相同,因此说明仅限于传输速率控制单元8003。传送层中继设备E008可以由计算机来实现。当由计算机实现时,用于实现中继控制单元8001、中继单元8002-1-8002-n、传输速率控制单元8003、设备间连接终止单元3004、MUX-DEMUX单元3005和网络状况评估单元2004的程序记录在盘、半导体存储器、或其它记录介质上。计算机读取这个程序,然后通过计算机的操作的控制,在计算机上实现中继控制单元8001、中继单元8002-1-8002-n、传输速率控制单元8003、设备间连接终止单元3004、MUX-DEMUX单元3005和网络状况评估单元2004。
传输速率控制单元8003:
传输速率控制单元8003取当前被中继的连接的总传输速率作为R_total,并且取该R_total作为中继连接的传输速率。然而,在中继控制单元8001请求注册连接的情况下传输速率控制单元8003还执行分配,并且通知中继控制单元8001该分配的传输速率作为初始传输速率。下面详细描述该操作。传输速率控制单元8003的其它操作与本发明第四实施例的传输速率控制单元4003的操作相同。
操作说明
接下来参考附图说明本发明第八实施例的详细操作。
图27显示了使用根据本发明第八实施例的传送层中继设备E008的通信网络的配置示例。与图13中使用本发明第四实施例的网络配置相比,除了作为传送层中继设备TR1和TR2的本发明第四实施例的传送层中继设备E004被图27中的本发明第八实施例的传送层中继设备E008取代外,其它部分的网络配置都相同。传送层中继设备TR1和TR2用来开始和结束网络N1上的任意终端H1-k和网络N2上的任意终端H2-j之间通信中继的操作与利用图24说明的本发明第七实施例的操作相同,所以这里省略多余的说明。
下面只针对传送层中继设备E008的传输速率控制单元8003有关操作的几点变化进行说明。图28显示了传输速率控制单元8003的操作流程图。
能启动传输速率控制单元的事件包括下列任何一种:计时器超时,来自中继控制单元的中继单元的注册或删除,或来自应用信息分析单元的应用信息通知(F100)。但事件是由来自中继控制单元注册引发的时(F110),传输速率控制单元注册连接标识符和中继单元编号(F120),将新的注册标志设置为“1”(F121),然后进行到F220。当事件是由来自中继控制单元的删除引发的时(F150),那么传输速率控制单元删除连接标识符、中继单元编号、和应用信息(如果存在应用信息)(F160),并且如果所注册的连接的数量为“0”(F170),那么释放计时器(F180)。如果事件是由来自应用信息分析单元的应用信息通知引发的(F190),那么传输速率控制单元向所注册的连接信息添加与连接标识符有关的应用信息(F200)。如果是计时器超时(F210),那么传输速率控制单元从设备间连接终止单元获得连接指定拥塞信息(F220)。传输速率控制单元还参考当前注册的连接的应用信息(在F200中添加的信息)(F222)。然后,传输速率控制单元从网络状况评估单元获得网络条件(F225),另外,利用当前注册的连接的数量确定总传输速率R_total(F230)。作为确定方法,可以采用象说明传输速率控制单元4003时所述的总传输速率确定方法A4、B4、C4、D4、E4、和F4中的一种。接下来,传输速率控制单元为每个当前注册的连接确定传输速率(F240)。作为确定方法,可以采用象解释传输速率控制单元4003时所述的传输速率分配方法1、2和3中的一种。接下来向设备间连接终止单元报告总传输速率R_total(F250)。还向MUX-DEMUX单元报告在F240中确定的每个连接的传输速率(F255)。如果新注册标志为“1”,那么将与新注册连接有关的传输速率R_i报告给中继控制单元(F258)并且将新注册标志设置为“0”(F259)。最后,将计时器设置为T(F260)。
图26中所示的传送层中继设备E008能够与不超过一个预定的相对的传送层中继设备建立中继连接,但是为了能够与多个相对的传送层中继设备建立中继连接,可以为多个相对的传送层中继设备中的每一个在传送层中继设备中提供一组中继单元8002-1-8002-n、传输速率控制单元8003、设备间连接终止单元3004、MUX-DEMUX单元3005、和网络状况评估单元2004,并且在中继控制单元8001中执行的操作与中继控制单元3001中的相同。
本发明第八实施例的优点
除了从本发明第四实施例获得的优点外,从本发明第八实施例获得的本发明的优点还包括通过在与终端建立连接时提供初始传输速率的信息,可以缩短终端了解网络状况所需的时间,使得拥塞控制更有效。
本发明的第九实施例
配置说明
下面参考附图说明本发明第九实施例的详细配置。
图29是本发明第九实施例的传送层中继设备E009内部的方框图。第九实施例的传送层中继设备E009与本发明第一实施例的传送层中继设备E001的不同之处在于在设备间连接终止单元中增加了在线(INLINE)测量单元,而传输速率控制单元9003安装在传输速率控制单元1003的位置。说明仅针对本发明第一实施例发生变化的部分,即增加的在线测量单元。传送层中继设备E009可以由计算机来实现。当由计算机实现时,用于实现中继控制单元1001、中继单元1002-1-1002-n、和传输速率控制单元9003的程序被记录在盘、半导体存储器、或其它记录介质上。计算机读取这个程序,然后通过计算机的操作的控制,在计算机上实现中继控制单元1001、中继单元1002-1-1002-n、和传输速率控制单元9003。
在线测量单元:
在线测量单元指示设备间连接终止单元,利用实际中继的传输数据包作为测量数据包,评估瓶颈的物理带宽和瓶颈可用带宽的信息,并且将该信息提供给从设备间连接终止单元发送到传输速率控制单元的连接指定拥塞信息。作为利用传输数据包作为测量数据包来推断瓶颈物理带宽的方法,一种方法是,例如,当连续发送多个传输数据包时可以考虑使用前面所述的数据包对(packet-pair)方法时描述的方法。对于利用传输数据包作为测量数据包来推断瓶颈可用带宽的方法,一种可以使用的方法是Cao Le Thanh Man,Hasegawa Go,Murata Masayuki的“通过活动的TCP连接的在线网络测量”(IEICE社会会议,2003年3月)中所描述的。设备间连接终止单元:
第九实施例的设备间连接终止单元与第一实施例中的设备间连接终止单元相比的不同之处在于设备间连接终止单元:(1)根据在线测量单元的指令执行数据包传输;(2)向在线测量单元报告来自通信伙伴的ACK数据包已到达和这些ACK数据包的首部信息;和(3)当向传输速率控制单元报告连接指定拥塞信息时,同时报告由在线测量单元发现的瓶颈的物理带宽和瓶颈的有效带宽的信息。
传输速率控制单元9003:
传输速率控制单元9003取当前被中继连接的总传输速率作为R_total,并且将该总传输速率分配给每个中继连接。作为确定总传输速率R_total的方法,可以根据当前被中继的连接的数量、来自每个设备间连接终止单元的连接指定拥塞信息、和来自应用信息分析单元的信息来确定R_total,下面是该方法的示例。
总传输速率确定方法A9
根据来自设备间连接终止单元的连接指定拥塞信息确定总传输速率。作为实例,对于从来自每个设备间连接终止单元的连接指定拥塞信息获得的瓶颈物理带宽的估算值和可用带宽的估算值,在设备间连接终止单元中取平均值,并且这些平均值作为物理带宽的估算值Rb和可用带宽的估算值Ra。如果期望的有效速率R_target小于瓶颈的可用带宽Ra,那么R_total被确定为R_target·α,而如果Ra小于R_target但R_target小于Rb,那么R_total被确定为R_target·β。α和β值是预先确定的值,1<α并且1<β。
总传输速率确定方法B9
根据当前被中继的连接的数量确定R_total使得所期望的有效速率R_target对应当前被中继的连接的数量。对于从来自每个设备间连接终止单元的连接指定拥塞信息获得的瓶颈物理带宽的估算值和可用带宽的估算值,在设备间连接终止单元中具有最小估算误差的合理值作为物理带宽的估算值Rb和可用带宽的估算值Ra(象测量次数这样有关估算误差的信息可以添加到连接指定拥塞信息中)。如果每个连接的速率R_o是期望值,那么根据由中继控制单元注册的当前连接的数量m确定R_target为R_o*m。如果期望的带宽R_target小于瓶颈的可用带宽Ra,那么R_total被确定为R_target·α,而如果Ra小于带宽R_target但R_target小于Rb,那么R_total被确定为R_target·β。α和β值是预先确定的值,1<α并且1<β。
总传输速率确定方法C9
利用来自每个设备间连接终止单元的连接指定拥塞信息确定总传输速率。作为实例,假设在每个时间间隔T都更新总传输速率,在时间t当前有m个连接被中继,并且在从时间t-T到时间t的这段时间间隔内,每个中继连接发送C_i(i=1、...、m)个数据包并且发现L i(i=1、...、m)例数据包丢失。假设在从时间t-T到时间t的这段时间间隔内,每个中继连接发送Ci(i=1、...、m)个数据包并且发现Li(i=1、...、m)例数据包丢失,并且每个中继连接的平均数据包大小为Di(i=1、...、m)。在从时间t-T到时间t的这段时间间隔内,尝试发送下面数量的数据:
[公式21]
由于数据包丢失导致下面数量的数据包没有被发送:
[公式22]
因此数据的丢失率为:
[公式23]
如果假设保持相同的拥塞条件,那么为了保证有效速率R_target,R_total被确定为R_target/(1-P)。但是,为了避免严重拥塞,R_total被确定为R_target/(1-P_0),其中P大于特定数据包丢失率的门限值P_0。
总传输速率确定方法D9
利用来自每个设备间连接终止单元的连接指定拥塞信息确定R_total可以获得最可能的有效速率。作为实例,假设在每个时间间隔T都更新总传输速率,在时间t当前有m个连接被中继,并且在从时间t-T到时间t的这段时间间隔内,每个中继连接发送C_i(i=1、...、m)个数据包并且发现L_i(i=1、...、m)例数据包丢失。假设在从时间t-T到时间t的这段时间间隔内,每个中继连接发送Ci(i=1、...、m)个数据包并且发现Li(i=1、...、m)例数据包丢失,并且每个中继连接上的平均数据包大小为Di(i=1、...、m)。在从时间t-T到时间t的这段时间间隔内,尝试发送下面数量的数据:
[公式24]
由于数据包丢失导致下面数量的数据包没有被发送:
[公式25]
因此数据的丢失率为:
[公式26]
根据以往传输速率R_total和当时的数据丢失率P,准备一个能得到传输速率和实际到达接收端的速率(=R_total*(1-P))之间关系的表。用来准备这个表的数据被不断更新。R_total作为实际到达接收端的速率达到最大时的传输速率值。但是,如果没有积累到足够的以往传输速率R_total,那么使用预先设置的R_total。
总传输速率确定方法E9
还可以利用来自应用信息分析单元的信息确定R_total从而获得对应当前被中继应用所期望的有效速率R_target。作为实例,当只有流连接被中继时,从应用信息分析单元获得流速率信息,该流速率信息的总和为R_target,并且可以根据传输速率确定方法C2得到R_total。
总传输速率确定方法F9
利用当前连接的数量和来自设备间连接终止单元的连接指定拥塞信息确定R_total,从而获得向共享瓶颈的其它业务量授予优先级时的有效速率(影响被传送层中继设备E009中继的数据包的未被传送层中继设备E009中继的数据包)。作为实例,可以利用从连接指定拥塞信息获得的中继连接通过的网络上的RTT和数据包丢失率p估计每个TCP的有效速率,然后用m乘以该速率的乘数α。估计每个TCP传输速率的方法可以采用由M.Handley、S.Floyd、J.Padhye、和J.Widmer在“TCP友好速率控制(TFRC):协议规范”3.1部分的“吞吐量公式”(因特网社会,RFC3448,2003年1月)中的X给出的公式计算。
换言之,利用中继连接终止单元的连接指定拥塞信息和数据包丢失发生率p、RTT的索引平均值R,TCP的超时时间间隔的估计值t_RTO(例如,2乘以R),中继连接时网络上TCP数据包大小的平均值s(字节)(s可以是经验值),以及b=2;可以从下面的公式得到X:
[公式27]
因此R_total被确定为m·α·X(比特/秒)。如果α大于“1”,那么每个TCP的传输速率可以高于其它业务量,并且被中继流量的优先级可以相对高于其它业务量。相反,如果α小于“1”,那么每个TCP的传输速率可以低于其它业务量,并且被中继业务量的优先级相对高于其它业务量。
用这种方法确定的R_total被分配给每个中继连接。可以根据当前连接的数量或来自应用信息分析单元的信息确定分配方案,可以考虑下面的方法作为例子。
传输速率分配方法1
将速率平均分配给所有连接。换言之,如果有m个连接,那么每个连接得到R_total/m的速率。
传输速率分配方法2
根据由连接标识符的端口号信息确定的规则分配速率。作为实例,为每个端口号授予优先级,然后根据这些优先级分配速率。
传输速率分配方法3
根据来自应用信息分析单元的信息确定速率。作为实例,当中继通过vHTTP连接执行数据发送的多个应用连接时,根据从应用信息分析单元获得的HTTP内容类型字段的值授予优先级时执行带宽分配。作为另一个实例,当中继通过HTTP获得文件的多个应用连接时,根据从应用信息分析单元获得的HTTP内容长度字段的值将较大带宽分配给发送数据较少的连接。作为再一个实例,考虑这样一种情况,中继使用HTTP的Ns个流类型应用的连接和Nf个文件传输类型应用的连接。从应用信息分析单元获得的每个流速率为RSi(i=1、...、Ns),并且从应用信息分析单元获得的文件传输类型连接的文件大小为FLi(i=1、...、Nf)。对于流类型连接,流速率RSi(i=1、...NsO)被分配给速率低于平均速率(R_total除以当前连接数Ns+Nf)的连接。剩余速率:
[公式28]
按照给定优先级被分配给还没有得到分配的流连接,然后仍剩余的速率按照速率从高到低的分配顺序依次分配给文件较小的文件传输类型的连接。
操作说明
本发明第九实施例的操作与本发明第一实施例的操作类似。不同之处在于:设备间连接终止单元比较从设备间连接终止单元内部的在线测量单元中获得的瓶颈物理带宽和可用带宽的估算值信息,并向传输速率控制单元9003报告连接指定拥塞信息;并且当确定传输速率时,传输速率控制单元象A9和B9中所示的那样,利用来自INLINE测量单元的瓶颈物理带宽和可用带宽的估算值信息执行传输速率的确定。
本发明第九实施例的优点
除了从本发明第一实施例获得的优点外,本发明第九实施例还获得下列优点。利用总传输速率确定方法A9和B9执行传输速率确定时考虑瓶颈物理带宽和可用带宽的估算值,可以保证所期望的有效速率具有高准确性,还可以保证向其它业务量授予优先级时的有效速率具有高准确性。
本发明的第十实施例
配置说明
下面参考附图说明本发明第十实施例的详细配置。
图30是本发明第十实施例的传送层中继设备E010内部的方框图。传送层中继设备E010与本发明第三实施例的传送层中继设备E003之间的不同之处在于在设备间连接终止单元中增加了在线测量单元,并且传输速率控制单元10003取代了传输速率控制单元3003。说明仅针对由于增加在线测量单元使本发明第三实施例发生变化的部分。另外,传送层中继设备E010可以由计算机来实现。当由计算机实现时,用于实现中继控制单元3001、中继单元3002-1-3002-n、传输速率控制单元10003、包括在线测量单元的设备间连接终止单元10004、和MUX-DEMUX单元3005的程序被记录在盘、半导体存储器、或其它记录介质上。计算机读取这个程序,然后通过计算机的操作的控制,在计算机上实现中继控制单元3001、中继单元3002-1-3002-n、传输速率控制单元10003、具有在线测量单元的设备间连接终止单元10004、和MUX-DEMUX单元3005。
在线测量单元:
在线测量单元指示设备间连接终止单元,利用传输数据包作为测量数据包,评估瓶颈的物理带宽和瓶颈可用带宽的信息,并且将该信息提供给从设备间连接终止单元发送到传输速率控制单元的连接指定拥塞信息。作为利用传输数据包作为测量数据包的推断瓶颈物理带宽的方法,一种方法是,例如,当连续发送多个传输数据包时可以考虑使用前面所述的数据包对(packet-pair)方法时描述的方法。对于利用传输数据包作为测量数据包来推断瓶颈可用带宽的方法,一种可以使用的方法是Cao Le ThanhMan,Hasegawa Go,Murata Masayuki的“通过活动的TCP连接的INLINE网络测量”(IEICE社会会议,2003年3月)中所描述的。
设备间连接终止单元10004:
设备间连接终止单元10004与第三实施例中的设备间连接终止单元相比的不同之处在于设备间连接终止单元10004:(1)根据在线测量单元的指令执行数据包传输;(2)向在线测量单元报告来自通信伙伴的ACK数据包已到达和这些ACK数据包的首部信息;和(3)当向传输速率控制单元报告连接指定拥塞信息时,同时报告由在线测量单元发现的瓶颈物理带宽和瓶颈可用带宽的信息。
传输速率控制单元10003:
传输速率控制单元10003取当前被中继的连接的总传输速率作为R_total,并且将该速率分配给每个中继连接。作为确定总传输速率R_total的方法,可以根据当前被中继的连接的数量、来自每个设备间连接终止单元的连接指定拥塞信息、和来自应用信息分析单元的信息来确定R_total,下面的方法作为示例。
总传输速率确定方法A10
根据来自设备间连接终止单元的连接指定拥塞信息确定总传输速率。作为实例,在来自每个设备间连接终止单元的连接指定拥塞信息中,瓶颈物理带宽的推断值为Rb并且可用带宽的推断值为Ra。如果期望的有效速率R_target被确定为小于瓶颈的有效带宽Ra,那么R_total被确定为R_target·α;而如果R_target大于Ra但小于Rb,那么R_total被确定为R_target·β。α和β值是预先已经确定的值,1<α并且1<β。
总传输速率确定方法B10
根据当前被中继的连接的数量确定R_total使得期望的有效速率R_target符合当前被中继的连接数。在来自设备间连接终止单元的连接指定拥塞信息中,瓶颈物理带宽的推断值为Rb并且可用带宽的推断值为Ra。如果每个连接的速率R_o是期望值,那么根据由中继控制单元注册的当前连接数m确定R_target为R_o*m。如果期望的带宽R_target小于瓶颈的可用带宽Ra,那么R_total被确定为R_target·α,而如果R_target大于Ra但小于Rb,那么R_total被确定为R_target·β。α和β值是预先确定的值,1<α并且1<β。
总传输速率确定方法C10
利用来自每个设备间连接终止单元的连接指定拥塞信息确定总传输速率从而获得期望的有效速率R_target。作为实例,如果假设在每个时间间隔T都更新总传输速率并且在从时间t-T到时间t的这段时间间隔内,每个中继连接发送C个数据包并且发现L例数据包丢失,数据包丢失率则为P=L/C。如果假设保持相同的拥塞条件,那么为了获得有效速率R_target,R_total被确定为R_target/(1-P)。但是,为了避免严重拥塞,R_total被确定为R_target/(1-P_0),其中P大于特定数据丢失率的门限值P_0。
总传输速率确定方法D10
利用来自每个设备间连接终止单元的连接指定拥塞信息确定R_total从而可以获得最有可能的有效速率。作为实例,如果假设在每个时间间隔T都更新总传输速率并且在从时间t-T到时间t的这段时间间隔内,每个中继连接发送C个数据包并且发现L例数据包丢失,因此数据包丢失率为P=L/C。根据以往传输速率R_total和当时的数据丢失率P,准备一个能得到传输速率和实际到达接收端的速率(=R_total*(1-P))之间关系的表。用来准备这个表的数据被不断更新。R_total作为实际到达接收端的速率最大时的传输速率值。但是,如果没有积累到足够的以往传输速率R_total,那么使用预先设置的R_total。
总传输速率确定方法E10
还可以利用来自应用信息分析单元的信息确定R_total从而获得符合当前被中继应用所期望的有效速率R_target。例如,当只有流连接被中继时,从应用信息分析单元获得流速率信息,该信息的总和为R_target,并且根据传输速率确定方法C3得到R_total。
总传输速率确定方法F10
利用当前连接的数量和来自设备间连接终止单元的连接指定拥塞信息确定R_total,从而获得向共享瓶颈的其它业务量授予优先级时的有效速率。例如,可以利用从连接指定拥塞信息获得的中继连接通过的网络上的RTT和数据包丢失率p推断每个TCP的有效速率,然后每个TCP的该有效速率的α倍的速率乘以m。作为估计每个TCP有效速率的方法可以采用由M.Handley、S.Floyd、J.Padhye、和J.Widmer在“TCP友好速率控制(TFRC):协议规范”3.1部分的“吞吐量公式”(因特网社会,RFC 3448,2003年1月)中的X给出的公式计算。换言之,利用来自中继连接终止单元的连接指定拥塞信息,和数据包丢失发生率p(当计算p时,以RTT内的数据包丢失作为一次事件来执行计算)、RTT的索引平均值R,TCP的超时时间间隔的推断值t_RTO(例如,2乘以R),出现中继连接时网络上的TCP数据包大小的平均值s(字节)(s可以是经验值),以及b为2;可以从下面的公式得到X:
[公式29]
因此R_total被确定为m·α·X(比特/秒)。如果α大于“1”,那么每个TCP的传输速率可以高于其它业务量,并且被中继的业务量的优先级可以相对高于其它流量。相反,如果α小于“1”,那么每个TCP的传输速率可以低于其它业务量,并且被中继的业务量的优先级相对低于其它业务量。
用这种方法确定的R_total被分配给每个中继连接。可以根据当前连接的数量或来自应用信息分析单元的信息确定分配方案,可以考虑下面的方法作为例子。
传输速率分配方法1
将速率平均分配给所有连接。换言之,如果有m个连接,那么每个连接得到R_total/m的速率。
传输速率分配方法2
根据由连接标识符的端口号信息确定的规则分配速率。例如,为每个端口号授予优先级,然后根据这些优先级分配速率。
传输速率分配方法3
根据来自应用信息分析单元的信息确定速率。例如,在中继通过HTTP连接执行数据传送的多个应用连接时,根据从应用信息分析单元获得的HTTP内容类型字段的值授予已确定的优先级时执行带宽分配。作为另一个实例,当中继通过HTTP获得文件的多个应用连接时,根据从应用信息分析单元获得的HTTP内容长度字段的值将较大带宽分配给发送数据较少的连接。作为再一个实例,当中继Ns个流类型应用的连接和使用HTTP的Nf个文件传输类型应用的连接时,从应用信息分析单元获得的每个流速率为RSi(i=1、...、Ns),并且从应用信息分析单元获得的每个文件传输类型连接的文件大小为FLi(i=1、...、Nf)。对于流类型连接,流速率RSi.(i=1、...NsO)被分配给速率低于平均速率(R_total除以当前连接数Ns+Nf)的连接。剩余速率:
[公式30]
按照给定优先级被分配给还没有得到分配的流连接,然后仍剩余的速率按照速率从高到低的分配顺序依次分配给文件较小的文件传输类型的连接。
操作说明
本发明第十实施例的操作与本发明第三实施例的操作类似。不同之处在于:设备间连接终止单元比较来自作为设备间连接终止单元内部的在线测量单元的瓶颈物理带宽和可用带宽的推断值信息,并向传输速率控制单元报告连接指定拥塞信息;当确定传输速率时,传输速率控制单元象A10和B10中所示的那样利用来自在线测量单元的瓶颈物理带宽和可用带宽的推断值信息执行传输速率的确定。
本发明第十实施例的优点
除了从本发明第三实施例获得的优点外,本发明第十实施例还获得下列优点。利用总传输速率确定方法A10和B10执行传输速率确定时考虑瓶颈物理带宽和可用带宽的估算值,可以保证所期望的有效速率具有高准确性,还可以保证向其它业务量授予优先级时的有效速率具有高准确性。
Claims (32)
1.一种传送层中继方法,用于终止传送层中的多个传送层连接中的每一个和中继每个所述传送层连接上的数据流;其中确定为中继而使用的中继连接的总传输速率,并且分割所述总传输速率,以将其分配作为中继中使用的中继连接的传输速率。
2.根据权利要求1所述的传送层中继方法,其中根据被中继的传送层连接的数量和中继连接通过的网络上的拥塞状况确定所述总传输速率。
3.根据权利要求1所述的传送层中继方法,其中根据被中继的传送层连接的数量和中继连接通过的网络上的拥塞条件确定所述总传输速率,从而为中继中使用的所有中继连接获得期望的有效速率。
4.根据权利要求1所述的传送层中继方法,其中根据被中继的传送层连接的数量和中继连接通过的网络上的拥塞状况确定所述总传输速率,从而能够获得为中继而使用的所有中继连接的有效速率,同时向除了与中继连接共享瓶颈的中继连接外的业务量授予优先级。
5.根据权利要求1所述的传送层中继方法,其中根据每个所述中继连接上的所述数据流中的应用信息分割所述总传输速率,并向每个所述中继连接分配传输速率。
6.根据权利要求1所述的传送层中继方法,其中还利用通过测量数据包估算中继连接通过的网络的拥塞条件的结果来确定所述总传输速率。
7.根据权利要求1所述的传送层中继方法,其中还利用通过中继数据包估算中继连接通过的网络的拥塞状况的结果来确定所述总传输速率。
8.根据权利要求1所述的传送层中继方法,其中当建立一个新的传送层连接时,确定所述总传输速率,分割所述总传输速率作为分配给每个中继连接的传输速率,并向建立所述新传送层协议的伙伴报告所分配的速率。
9.一种传送层中继设备,其中所述传送层中继设备包括:多个终端侧连接终止单元,用于终止传送层中与终端的多个传送层连接中的每一个;以及多个设备间连接终止单元,用于终止传送层中继设备之间的多个传送层连接中的每一个传送层连接,所述传送层中继设备用于中继每个所述终端侧连接终止单元和每个所述设备间连接终止单元之间的传送层数据;其中:
所述设备间连接终止单元根据从传输速率控制单元报告的传输速率进行发送;并且
传输速率控制单元确定中继使用的所有设备间连接终止单元的总传输速率,分割所述总传输速率,报告分割得到的每个速率并分配给中继中使用的每个所述设备间连接终止单元。
10.根据权利要求9所述的传送层中继设备,其中所述传输速率控制单元根据被中继的传送层连接的数量和从每个设备间连接终止单元报告的连接指定拥塞信息确定所述总传输速率。
11.根据权利要求9所述的传送层中继设备,其中所述传输速率控制单元根据被中继的传送层连接的数量和从每个设备间连接终止单元报告的连接指定拥塞信息来确定所述总传输速率,从而获得中继中使用的所有中继连接的期望的有效速率。
12.根据权利要求9所述的传送层中继设备,其中所述传输速率控制单元根据被中继的传送层连接的数量和从每个设备间连接终止单元报告的连接指定拥塞信息来确定所述总传输速率,从而获得中继中使用的所有中继连接的有效速率,同时向除了与中继连接共享瓶颈的中继连接外的业务量授予优先级。
13.根据权利要求9所述的传送层中继设备,还包括:
应用信息分析单元,用于在每个所述终端侧连接终止单元和每个所述设备间连接终止单元之间中继传送层数据时,分析所述传送层数据中的应用信息;
其中所述传输速率控制单元根据来自所述应用信息分析单元的应用信息,分割所述总传输速率并为中继中使用的所有中继连接中的每一个分配传输速率。
14.根据权利要求9所述的传送层中继设备,还包括:
网络状况评估单元,用于根据测量数据包,推断中继连接通过的网络上的拥塞状况;
其中所述传输速率控制单元还利用所述网络状况评估单元推断的结果来确定所述总传输速率。
15.根据权利要求9所述的传送层中继设备,还包括:
在线测量单元,用于通过被中继的数据包,推断中继连接通过的网络上的拥塞状况;
其中所述传输速率控制单元还利用所述在线测量单元推断的结果来确定所述总传输速率。
16.根据权利要求9所述的传送层中继设备,其中当与终端建立传送层连接时,向所述终端报告初始传输速率信息,所述初始传输速率信息是从所述传输速率控制单元报告的。
17.一种传送层中继方法,用于终止相应传送层中的多个传送层连接中的每一个,然后将每个所述传送层连接上的数据流分组到一个用于中继的传送层连接,其中:
确定中继连接的总传输速率,并且根据所述总传输速率的分割速率将来自每个所述传送层连接的数据流分组到一个中继连接。
18.根据权利要求17所述的传送层中继方法,其中根据被中继的传送层连接的数量和中继连接通过的网络上的拥塞状况确定所述总传输速率。
19.根据权利要求17所述的传送层中继方法,其中根据被中继的传送层连接的数量和中继连接通过的网络上的拥塞状况确定所述总传输速率,从而为在中继中使用的所有中继连接获得期望的有效速率。
20.根据权利要求17所述的传送层中继方法,其中根据被中继的传送层连接的数量和中继连接通过的网络上的拥塞状况确定所述总传输速率,从而能够获得在中继中使用的所有中继连接的有效速率,同时向除了与中继连接共享瓶颈的中继连接外的业务量授予优先级。
21.根据权利要求17所述的传送层中继方法,其中根据依照所述数据流中的应用信息分割所述总传输速率得到的速率,将来自每个所述传送层连接的数据流分组到一个中继连接。
22.根据权利要求17所述的传送层中继方法,其中还使用通过测量数据包估算中继连接通过的网络上的拥塞状况的结果来确定所述总传输速率。
23.据权利要求17所述的传送层中继方法,其中还使用通过中继数据包估算中继连接通过的网络上的拥塞状况的结果来确定所述总传输速率。
24.根据权利要求17所述的传送层中继方法,其中当建立新的传送层连接时,确定所述总传输速率并且向建立新传送层协议的伙伴报告通过分割所述总传输速率获得的速率。
25.一种传送层中继设备,具有:多个终端侧连接终止单元,用于终止传送层中与终端的传送层连接;一个设备间连接终止单元,用于终止传送层中继设备之间的传送层连接;和MUX-DEMUX单元,用于对来自每个所述终端侧连接终止单元的传送层数据分组并且传送给所述设备间连接终止单元;其中:
所述设备间连接终止单元根据从传输速率控制单元报告的总传输速率进行发送;
所述MUX-DEMUX单元根据从传输速率控制单元报告的速率分配对来自终端侧连接终止单元的数据进行分组;和
传输速率控制单元确定并报告所述设备间连接终止单元的总传输速率,并且向MUX-DEMUX单元报告通过分割所述总传输速率获得的速率分配。
26.根据权利要求25所述的传送层中继设备,其中所述传输速率控制单元根据被中继的传送层连接的数量和从设备间连接终止单元报告的连接的拥塞信息来确定所述总传输速率。
27.根据权利要求25所述的传送层中继设备,其中所述传输速率控制单元根据被中继的传送层连接的数量和从设备间连接终止单元报告的连接的拥塞信息来确定所述总传输速率,从而获得中继中使用的所有中继连接的期望的有效速率。
28.根据权利要求25所述的传送层中继设备,其中所述传输速率控制单元根据被中继的传送层连接的数量和从每个设备间连接终止单元报告的连接的拥塞状况来确定所述总传输速率,从而获得中继连接的有效速率,同时向除了与中继连接共享瓶颈的中继连接外的业务量授予优先级。
29.根据权利要求25所述的传送层中继设备,还包括应用信息分析单元,用于当在每个所述终端侧连接终止单元和所述MUX-DEMUX单元之间传送传送层数据时分析传送层数据中的应用信息;
其中所述传输速率控制单元根据来自所述应用信息分析单元的应用信息分割所述总传输速率并确定向所述MUX-DEMUX单元报告的速率分配。
30.根据权利要求25所述的传送层中继设备,还包括网络状况评估单元,用于通过测量数据包,评估中继连接通过的网络上的拥塞状况;
其中所述传输速率控制单元还利用所述网络状况评估单元推断的结果来确定所述总传输速率。
31.根据权利要求25所述的传送层中继设备,还包括在线测量单元,用于通过被中继的数据包,评估中继连接通过的网络上的拥塞状况;
其中所述传输速率控制单元还利用所述在线测量单元推断的结果来确定所述总传输速率。
32.根据权利要求25所述的传送层中继设备,其中当与终端建立传送层连接时,向所述终端报告从所述传输速率控制单元报告的初始传输速率信息。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP273691/2003 | 2003-07-11 | ||
JP2003273691 | 2003-07-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1849782A CN1849782A (zh) | 2006-10-18 |
CN100553217C true CN100553217C (zh) | 2009-10-21 |
Family
ID=34056032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004800261133A Expired - Fee Related CN100553217C (zh) | 2003-07-11 | 2004-07-07 | 传送层中继方法和传送层中继设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8503294B2 (zh) |
JP (1) | JP4433202B2 (zh) |
CN (1) | CN100553217C (zh) |
WO (1) | WO2005006664A1 (zh) |
Families Citing this family (76)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8270423B2 (en) | 2003-07-29 | 2012-09-18 | Citrix Systems, Inc. | Systems and methods of using packet boundaries for reduction in timeout prevention |
US7616638B2 (en) | 2003-07-29 | 2009-11-10 | Orbital Data Corporation | Wavefront detection and disambiguation of acknowledgments |
US7630305B2 (en) * | 2003-07-29 | 2009-12-08 | Orbital Data Corporation | TCP selective acknowledgements for communicating delivered and missed data packets |
US8432800B2 (en) * | 2003-07-29 | 2013-04-30 | Citrix Systems, Inc. | Systems and methods for stochastic-based quality of service |
US7656799B2 (en) * | 2003-07-29 | 2010-02-02 | Citrix Systems, Inc. | Flow control system architecture |
US8437284B2 (en) | 2003-07-29 | 2013-05-07 | Citrix Systems, Inc. | Systems and methods for additional retransmissions of dropped packets |
US8238241B2 (en) | 2003-07-29 | 2012-08-07 | Citrix Systems, Inc. | Automatic detection and window virtualization for flow control |
DE10339497A1 (de) * | 2003-08-27 | 2005-03-31 | Siemens Ag | Verfahren zur Übertragung von Daten in einem Datennetz |
US7978716B2 (en) * | 2003-11-24 | 2011-07-12 | Citrix Systems, Inc. | Systems and methods for providing a VPN solution |
US8495305B2 (en) | 2004-06-30 | 2013-07-23 | Citrix Systems, Inc. | Method and device for performing caching of dynamically generated objects in a data communication network |
US8739274B2 (en) * | 2004-06-30 | 2014-05-27 | Citrix Systems, Inc. | Method and device for performing integrated caching in a data communication network |
US7757074B2 (en) | 2004-06-30 | 2010-07-13 | Citrix Application Networking, Llc | System and method for establishing a virtual private network |
KR20070037648A (ko) | 2004-07-23 | 2007-04-05 | 사이트릭스 시스템스, 인크. | 주변장치에서 가상 사설망 게이트웨이로 패킷을 라우팅하기위한 방법 및 시스템 |
US7808906B2 (en) * | 2004-07-23 | 2010-10-05 | Citrix Systems, Inc. | Systems and methods for communicating a lossy protocol via a lossless protocol using false acknowledgements |
US7773517B2 (en) | 2004-11-19 | 2010-08-10 | Research In Motion Limited | Method and system for identifying degradation of a media service |
US8706877B2 (en) * | 2004-12-30 | 2014-04-22 | Citrix Systems, Inc. | Systems and methods for providing client-side dynamic redirection to bypass an intermediary |
US7810089B2 (en) | 2004-12-30 | 2010-10-05 | Citrix Systems, Inc. | Systems and methods for automatic installation and execution of a client-side acceleration program |
US8549149B2 (en) | 2004-12-30 | 2013-10-01 | Citrix Systems, Inc. | Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing |
US8700695B2 (en) * | 2004-12-30 | 2014-04-15 | Citrix Systems, Inc. | Systems and methods for providing client-side accelerated access to remote applications via TCP pooling |
US8954595B2 (en) * | 2004-12-30 | 2015-02-10 | Citrix Systems, Inc. | Systems and methods for providing client-side accelerated access to remote applications via TCP buffering |
US8255456B2 (en) | 2005-12-30 | 2012-08-28 | Citrix Systems, Inc. | System and method for performing flash caching of dynamically generated objects in a data communication network |
WO2006081032A2 (en) * | 2005-01-24 | 2006-08-03 | Citrix Systems, Inc. | Systems and methods for performing caching of dynamically generated objects in a network |
US7639627B1 (en) * | 2005-02-18 | 2009-12-29 | Sprint Communications Company L.P. | System and method for trace replay using parallelized streams |
US8301839B2 (en) * | 2005-12-30 | 2012-10-30 | Citrix Systems, Inc. | System and method for performing granular invalidation of cached dynamically generated objects in a data communication network |
US7921184B2 (en) * | 2005-12-30 | 2011-04-05 | Citrix Systems, Inc. | System and method for performing flash crowd caching of dynamically generated objects in a data communication network |
CN101529386B (zh) * | 2006-03-03 | 2012-10-10 | 新泽西理工学院 | 用于抵御分布式拒绝服务(DDoS)攻击的基于行为的业务区分 |
US7990860B2 (en) | 2006-06-16 | 2011-08-02 | Harris Corporation | Method and system for rule-based sequencing for QoS |
US20070291656A1 (en) * | 2006-06-16 | 2007-12-20 | Harris Corporation | Method and system for outbound content-based QoS |
US8516153B2 (en) | 2006-06-16 | 2013-08-20 | Harris Corporation | Method and system for network-independent QoS |
US8064464B2 (en) | 2006-06-16 | 2011-11-22 | Harris Corporation | Method and system for inbound content-based QoS |
US20070291768A1 (en) * | 2006-06-16 | 2007-12-20 | Harris Corporation | Method and system for content-based differentiation and sequencing as a mechanism of prioritization for QOS |
US8730981B2 (en) | 2006-06-20 | 2014-05-20 | Harris Corporation | Method and system for compression based quality of service |
US20070291765A1 (en) * | 2006-06-20 | 2007-12-20 | Harris Corporation | Systems and methods for dynamic mode-driven link management |
US7769028B2 (en) * | 2006-06-21 | 2010-08-03 | Harris Corporation | Systems and methods for adaptive throughput management for event-driven message-based data |
US8300653B2 (en) | 2006-07-31 | 2012-10-30 | Harris Corporation | Systems and methods for assured communications with quality of service |
US20100241759A1 (en) * | 2006-07-31 | 2010-09-23 | Smith Donald L | Systems and methods for sar-capable quality of service |
JP4435817B2 (ja) * | 2006-09-08 | 2010-03-24 | 株式会社エヌ・ティ・ティ・ドコモ | 通信端末、通信制御方法および通信制御プログラム |
US8279756B2 (en) * | 2006-09-08 | 2012-10-02 | Ntt Docomo, Inc. | Communication terminal, communication control method, and communication control program |
JP5038426B2 (ja) * | 2006-09-28 | 2012-10-03 | クゥアルコム・インコーポレイテッド | 通信リンク品質を判定する方法及び装置 |
JP4738358B2 (ja) * | 2007-01-31 | 2011-08-03 | 富士通株式会社 | 帯域計測方法及び装置 |
US7783757B2 (en) * | 2007-03-12 | 2010-08-24 | Citrix Systems, Inc. | Systems and methods of revalidating cached objects in parallel with request for object |
US7796510B2 (en) | 2007-03-12 | 2010-09-14 | Citrix Systems, Inc. | Systems and methods for providing virtual fair queueing of network traffic |
US8504775B2 (en) * | 2007-03-12 | 2013-08-06 | Citrix Systems, Inc | Systems and methods of prefreshening cached objects based on user's current web page |
US8103783B2 (en) * | 2007-03-12 | 2012-01-24 | Citrix Systems, Inc. | Systems and methods of providing security and reliability to proxy caches |
US7809818B2 (en) | 2007-03-12 | 2010-10-05 | Citrix Systems, Inc. | Systems and method of using HTTP head command for prefetching |
US7584294B2 (en) * | 2007-03-12 | 2009-09-01 | Citrix Systems, Inc. | Systems and methods for prefetching objects for caching using QOS |
US20080228864A1 (en) * | 2007-03-12 | 2008-09-18 | Robert Plamondon | Systems and methods for prefetching non-cacheable content for compression history |
US7760642B2 (en) | 2007-03-12 | 2010-07-20 | Citrix Systems, Inc. | Systems and methods for providing quality of service precedence in TCP congestion control |
US7706266B2 (en) | 2007-03-12 | 2010-04-27 | Citrix Systems, Inc. | Systems and methods of providing proxy-based quality of service |
US8037126B2 (en) * | 2007-03-12 | 2011-10-11 | Citrix Systems, Inc. | Systems and methods of dynamically checking freshness of cached objects based on link status |
US8701010B2 (en) | 2007-03-12 | 2014-04-15 | Citrix Systems, Inc. | Systems and methods of using the refresh button to determine freshness policy |
US7720936B2 (en) * | 2007-03-12 | 2010-05-18 | Citrix Systems, Inc. | Systems and methods of freshening and prefreshening a DNS cache |
US8908700B2 (en) * | 2007-09-07 | 2014-12-09 | Citrix Systems, Inc. | Systems and methods for bridging a WAN accelerator with a security gateway |
WO2009075097A1 (ja) * | 2007-12-12 | 2009-06-18 | Panasonic Corporation | データ送受信システム、端末、中継機器及びデータ送信方法 |
JP2009231857A (ja) * | 2008-03-19 | 2009-10-08 | Sony Corp | 通信制御装置、通信制御方法および通信制御プログラム |
US8699519B2 (en) * | 2008-09-19 | 2014-04-15 | Panasonic Corporation | Transmission rate control device and transmission rate control method |
JP5370368B2 (ja) * | 2008-10-07 | 2013-12-18 | 富士通株式会社 | 中継装置、端末装置および通信システム |
US8751627B2 (en) * | 2009-05-05 | 2014-06-10 | Accenture Global Services Limited | Method and system for application migration in a cloud |
JP5067405B2 (ja) * | 2009-08-11 | 2012-11-07 | 日本電気株式会社 | 通信システム、ゲートウェイ、パケット通信方法およびプログラム |
SG178590A1 (en) | 2009-09-16 | 2012-04-27 | Hitachi Ltd | Communication apparatus and communication system for enhancing speed of communications between terminals |
JP5581751B2 (ja) * | 2010-03-16 | 2014-09-03 | サクサ株式会社 | 通信制御装置および無線制御方法 |
US9374406B2 (en) | 2012-02-27 | 2016-06-21 | Qualcomm Incorporated | Dash client and receiver with a download rate estimator |
US20140136653A1 (en) * | 2012-02-27 | 2014-05-15 | Qualcomm Incorporated | Dash client and receiver with download rate acceleration |
US9503490B2 (en) | 2012-02-27 | 2016-11-22 | Qualcomm Incorporated | Dash client and receiver with buffer water-level decision-making |
EP2983334B1 (en) * | 2013-04-05 | 2019-09-18 | Sony Corporation | Relay management device, relay management method, program, and relay management system |
US9444755B2 (en) * | 2014-11-04 | 2016-09-13 | Anritsu Networks Co., Ltd. | Packet processing method and packet processing device |
JP6432976B2 (ja) * | 2014-11-19 | 2018-12-05 | 日本電気株式会社 | データ伝送装置、データ伝送方法およびプログラム |
US9674726B1 (en) * | 2014-11-21 | 2017-06-06 | Google Inc. | Methods and systems for improved bandwidth estimation |
CN104469538B (zh) * | 2014-12-09 | 2017-05-31 | 西安理工大学 | 面向画面画质较小损失的rtp视频流数据包重组方法 |
US10834065B1 (en) | 2015-03-31 | 2020-11-10 | F5 Networks, Inc. | Methods for SSL protected NTLM re-authentication and devices thereof |
CN106656431B (zh) * | 2015-09-21 | 2020-09-29 | 华为技术有限公司 | 一种报文传输方法及用户设备 |
US10404698B1 (en) | 2016-01-15 | 2019-09-03 | F5 Networks, Inc. | Methods for adaptive organization of web application access points in webtops and devices thereof |
JP2017152898A (ja) * | 2016-02-24 | 2017-08-31 | 富士通株式会社 | 空き帯域特定プログラム、空き帯域特定装置、および空き帯域特定方法 |
CN106304288A (zh) * | 2016-08-12 | 2017-01-04 | 辛建芳 | 无线传感网非实时数据传输的网关功率分配方法 |
US11463547B2 (en) | 2019-12-12 | 2022-10-04 | Google Llc | Reliable transport protocol and hardware architecture for datacenter networking |
US11496403B2 (en) * | 2020-02-24 | 2022-11-08 | Cloudflare, Inc. | Modifying the congestion control algorithm applied to a connection based on request characteristics |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6226296B1 (en) * | 1997-01-16 | 2001-05-01 | Physical Optics Corporation | Metropolitan area network switching system and method of operation thereof |
JPH11127156A (ja) * | 1997-10-20 | 1999-05-11 | Fujitsu Ltd | 通信制御方式 |
US6317438B1 (en) * | 1998-04-14 | 2001-11-13 | Harold Herman Trebes, Jr. | System and method for providing peer-oriented control of telecommunications services |
US6097697A (en) * | 1998-07-17 | 2000-08-01 | Sitara Networks, Inc. | Congestion control |
JP2000156706A (ja) | 1998-11-19 | 2000-06-06 | Nippon Telegr & Teleph Corp <Ntt> | データ送受信方法並びにデータ送信プログラムを記憶した媒体及びデータ受信プログラムを記憶した媒体 |
US7133407B2 (en) * | 2000-01-25 | 2006-11-07 | Fujitsu Limited | Data communications system |
JP3494610B2 (ja) | 2000-02-28 | 2004-02-09 | 富士通株式会社 | Tcp終端機能付きipルータ装置および媒体 |
JP2001244968A (ja) * | 2000-02-28 | 2001-09-07 | Nippon Telegr & Teleph Corp <Ntt> | パケット転送レート決定方法及びパケット転送装置 |
US6760309B1 (en) * | 2000-03-28 | 2004-07-06 | 3Com Corporation | Method of dynamic prioritization of time sensitive packets over a packet based network |
JP3526269B2 (ja) * | 2000-12-11 | 2004-05-10 | 株式会社東芝 | ネットワーク間中継装置及び該中継装置における転送スケジューリング方法 |
JP2002185488A (ja) | 2000-12-14 | 2002-06-28 | Nippon Telegr & Teleph Corp <Ntt> | 通信効率増幅装置 |
JP3558044B2 (ja) | 2001-02-09 | 2004-08-25 | 日本電気株式会社 | パケット転送レート監視制御装置、方法、及びプログラム |
US7136353B2 (en) * | 2001-05-18 | 2006-11-14 | Bytemobile, Inc. | Quality of service management for multiple connections within a network communication system |
JP2003008611A (ja) | 2001-06-21 | 2003-01-10 | Mitsubishi Electric Corp | データ中継装置およびデータ中継方法 |
JP3663627B2 (ja) | 2001-10-18 | 2005-06-22 | ソニー株式会社 | 通信処理装置、および通信処理方法、並びにコンピュータ・プログラム |
JP3904922B2 (ja) | 2001-12-28 | 2007-04-11 | 株式会社日立製作所 | トラヒックシェーパーおよび集線装置 |
-
2004
- 2004-07-07 WO PCT/JP2004/009659 patent/WO2005006664A1/ja active Application Filing
- 2004-07-07 CN CNB2004800261133A patent/CN100553217C/zh not_active Expired - Fee Related
- 2004-07-07 US US10/563,879 patent/US8503294B2/en active Active
- 2004-07-07 JP JP2005511521A patent/JP4433202B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
WO2005006664A1 (ja) | 2005-01-20 |
JPWO2005006664A1 (ja) | 2007-09-20 |
CN1849782A (zh) | 2006-10-18 |
US8503294B2 (en) | 2013-08-06 |
JP4433202B2 (ja) | 2010-03-17 |
US20070008883A1 (en) | 2007-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100553217C (zh) | 传送层中继方法和传送层中继设备 | |
US8565227B2 (en) | Mobile IP data communication system comprising a mobile router that detects a change in connection status | |
Yeom et al. | Modeling TCP behavior in a differentiated services network | |
CN102098301B (zh) | 多链路自适应的数据传输方法与系统 | |
US6026075A (en) | Flow control mechanism | |
CN101523825B (zh) | 流量控制方法以及用于该方法的发送终端、接收终端和分组传送系统 | |
US7304995B2 (en) | Systems and methods for packet flow control | |
JP6513717B2 (ja) | セルラー網での車両通信をサポートするための方法、テレマティックサーバー及び基地局 | |
JP2006014329A (ja) | 通信端末 | |
CN102325060B (zh) | 一种链路带宽测试的方法和路由器 | |
US20200136944A1 (en) | Data Transmission Performance Detection | |
US20170064489A1 (en) | Network system, method for determining communication quality, and analysis apparatus | |
Zhou et al. | TCP stalls at the server side: Measurement and mitigation | |
CN101478826B (zh) | 一种无线传感器网络的通信调度方法及系统 | |
Feng et al. | Automatic flow-control adaptation for enhancing network performance in computational grids | |
CN104852856B (zh) | 用于pots设备的数据流量控制方法及系统 | |
CN112689268A (zh) | 编队无人机、组网提高多路由数据传输效率的方法及系统 | |
KR100636382B1 (ko) | 텔레매틱스 서비스 시스템 및 그 방법 | |
Abdrabou et al. | On a stochastic delay bound for disrupted vehicle-to-infrastructure communication with random traffic | |
CN116614449B (zh) | 一种面向应用层的自适应流量控制装置及方法 | |
CN116723133B (zh) | 数据发送、接收设备、网络状态信息提取方法及装置 | |
EP1443704A1 (en) | Information collecting protocol | |
Barakat et al. | TICP: Transport Information Collection Protocol | |
Fukuhara et al. | SRF TCP: A TCP-friendly and fair congestion control method for high-speed networks | |
WO2014092539A1 (en) | A system and method for balancing load in a network |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20091021 Termination date: 20190707 |
|
CF01 | Termination of patent right due to non-payment of annual fee |