通信处理装置、数据通信系统以及通信处理方法

文档序号:7959301阅读:188来源:国知局
专利名称:通信处理装置、数据通信系统以及通信处理方法
技术领域
本发明涉及通信处理装置、数据通信系统以及通信处理方法。更具体地讲,本发明涉及允许在流数据的传输与接收过程中进行适当比特率控制的一种通信处理装置、一种数据通信系统以及一种通信处理方法。
背景技术
最近,数据通信正有效地在Internet上执行。另外,家庭网络也正在日趋流行,这些家庭网络允许家庭中经由网络连接的设备之间的通信,这些设备例如包括家用电器、计算机以及外围设备等。例如,家庭网络允许在经由网络连接的设备之间传输和接收内容。对于用户而言,这是方便的与舒适的,因此家庭网络正变得越来越为普遍。
在一种称作流或数据流的数据分布(distribution)中,由服务器所保持的图像数据经由网络被传输给客户机,然后该客户机在接收该图像数据的同时回放该图像数据。执行这样的流数据分布的服务器被称为流服务器,并且从流服务器接收数据的客户机被称为流客户机。流服务器执行数据处理,例如,进行编码,以生成数据以便进行传输,并且将数据输出到网络。流客户机把所接收的数据临时积累在缓冲器中,并且顺序地解码以及回放该数据。
在许多情况下,把称为实时传送协议(RTP)的通信协议用于数据流中。基本上讲,RTP不支持重新传输控制。即RTP是一种类似用户数据报协议(UDP)的协议,其没有定义防止分组丢失或确保传输时间的措施。由于即使在分组丢失的情况下也不执行重新传输,从而不会出现因重新传输所导致的延迟。因此,RTP是一种适合于实时回放的协议。
例如,在基于RTP的通信中,根据RTP控制协议(RTCP)对传输速率进行控制。例如,根据的日本未经审查的专利申请公开文本2002-204278中所披露的方法,在RTCP的接收方报告(RR)分组中,数据接收端的装置向数据传输端的装置报告分组丢失率等。这允许数据传输端的装置能估计数据传输的状态,并且控制该传输速率。
在流分配中,人们希望按某一最佳传输速率分布数据。例如,根据日本未经审查的专利申请公开文本2004-297565的中所公开的一种方案,数据传输装置和数据接收装置测量上游传输速率和下游传输速率,速率控制装置进行控制,以致按所测速率中较小的速率传输和接收数据,从而可以稳定地传输数据。
以上所描述的基于RTP的流分布的优点是,由于即使在分组丢失的情况下也不执行重新传输,所以不会延迟回放。然而,为了提高数据质量,人们希望客户机接收完整的数据。另外,当所分布的内容为加密的内容时,数据部分的丢失可能会妨碍解密,从而妨碍在客户机处的内容的回放。在这样的内容的情况下,不支持重新传输控制的协议,例如RTP,是不适合的。
当人们希望所传送的数据的完整性时,则应使用定义了防止分组丢失的措施(measure)的协议,例如传输控制协议(TCP)。例如,在日本未经审查的专利申请公开文本2005-005823的中描述的基于TCP的图像数据的分布的一种方案。
在执行基于传送协议的通信方面,例如在执行基于TCP的通信方面,人们付出了很大的努力。当执行多媒体数据流时,这些苦心设计的通信的通信带宽方面的变化产生了严重的问题。例如,在TCP的情况下,这一问题特别明显。根据TCP,尽管没有了出现数据的丢失,但在通信带宽减小时数据的到达时间会被延迟。在基于TCP的流中,当阻塞发生时,数据到达时间的延迟可能会导致视频或音频中断。为了克服这一问题,通常,当流服务器分布数据时,根据通信带宽方面的变化增大或减小所传输的数据的比特率。增大或减小包括视频数据等的多媒体数据的比特率的方法,很大程度地影响着数据流的质量。
迄今为止对于流服务器而言的情况是,主要基于客户机所提供的信息确定是增大还是减小所分布数据的比特率。例如,使用与客户机的应用缓冲器中所积累的数据的量有关的信息。然而,对客户机的应用缓冲器中所积累的数据的量的计算并不必然足以防止以比网络带宽所允许的比特率高的比特率传输数据。当以比网络带宽所允许的比特率高的比特率传输数据时,发生阻塞。因此,多媒体数据不能如愿地到达客户机,从而导致客户机的应用缓冲器中所积累的数据的不足(underrun)。这提高了音频或视频中断的可能性。
而且,根据基于从客户机所提供的信息的方法,不能够快速地适应通信带宽方面的变化。例如,当流服务器和流客户机之间的通信带宽因其它通信量等的出现而急剧减小时,如果通信带宽一减小流服务器就减小所传输数据的比特率,则所传输的数据的回放不会中断。然而,当在以上所描述的情况下,使用从客户机所提供的信息时,当自通信带宽减小起已过去一定的时间时,客户机缓冲器中所积累的数据的量将减少。因此,服务器需要花时间识别缓冲器数据的量的这一减少,致使服务器不能立即适应通信带宽的减小。因此,在服务器减小比特率或采取其它相应措施之前,客户机缓冲器出现不足(underrun)的现象。这导致了视频或音频中断。

发明内容
人们希望提供一种通信处理装置、一种数据通信系统以及一种通信处理方法,允许在流数据的传输和接收过程中按最佳传输模式传输数据。
更具体地讲,人们希望提供一种通信处理装置、一种数据通信系统以及一种通信处理方法,服务器在考虑到诸如通信路径上出现阻塞或者通信链路上出现干扰等因素的情况下,可凭它们预测所传输数据的比特率的最佳值,并且使用它们,该比特率能基于所预测的值得以动态地控制,以致能够按最佳数据传输模式执行数据流。
根据本发明的实施例,提供了一种通信处理装置,作为用于向客户机传输数据的服务器。该通信处理装置包括数据收发器,被配置来执行与客户机的通信;速率控制器,被配置来控制和确定被传输给客户机的数据的比特率;以及数据处理器,被配置来准备数据以便根据所述速率控制器所确定的比特率进行传输。所述速率控制器包括吞吐量计算器,被配置来抽取不包括无效数据传输与接收周期的有效数据传输与接收周期,所述有效和无效数据传输与接收周期出现于其间在服务器和客户机之间维持了通信连接的周期内,并且该吞吐量计算器被配置来基于有效数据传输与接收周期的长度和所传输数据量计算最大吞吐量;以及比特率设置器,被配置来在高达相应于由所述吞吐量计算器所计算的最大吞吐量的最大可允许比特率的范围内设置传输比特率。
在这种通信处理装置中,所述吞吐量计算器被配置成限定有效数据传输与接收周期,该有效数据传输与接收周期与从基于窗口尺寸开始连续数据传输到接收到该连续传输的数据的收到确认的周期相对应;以及基于所述有效数据传输与接收周期的长度和所传输的数据量计算最大吞吐量。
作为选择,在这种通信处理装置中,所述吞吐量计算器被配置成限定有效数据传输与接收周期,该有效数据传输与接收周期与从基于窗口尺寸开始连续数据传输到接收到该连续传输的数据的收到确认的周期相对应;获得与多个有效数据传输与接收周期相关样本数据的多段;以及基于在所获得的样本数据的所述多段中的、除了那些被确定为具有异常值的数据的那些段的样本数据的多段,来计算最大吞吐量。
在这种通信处理装置中,所述比特率设置器配置成基于客户机缓冲器的估计缓冲器的量的变化,设置比特率;以及在所估计的缓冲器的量大于或等于预定阈值时,在高达相应于由所述吞吐量计算器所计算的最大吞吐量的最大可允许比特率的上限的范围内增大所述比特率。
而且,在这种通信处理装置中,所述比特率设置器配置成使用下列信息(a)到(d),通过根据表示为客户机缓冲器的所估计的缓冲器的量=B_cli+D_serv-R*T的方程进行的计算,来估计所述客户机缓冲器的量(a)在通信开始时所述客户机报告的缓冲器的量B_cli,以字节表示;(b)自所述客户机回放开始起所逝去的时间T,以秒表示;(c)在自所述客户机回放开始起所逝去的时间T期间所述服务器所传输的数据的量D_serv,以字节表示;以及(d)从所传输的内容可获得的内容的回放速率R,以字节每秒表示。
在这种通信处理装置中,所述数据收发器配置成从作为用于与客户机进行通信的媒介的存取点接收通信带宽信息,所述通信带宽信息涉及所述存取点和所述客户机之间的通信带宽。在这一情况下,所述比特率设置器配置成基于通信带宽信息设置传输比特率。
另外,在这种通信处理装置中,所述通信带宽包括例如基于与往返时间、所接收的信号强度指示符、以及在所述存取点和所述客户机之间的通信的传输速率中的至少之一有关的数据所生成的信息。
根据本发明的另一个实施例,提供了一种通信处理装置,作为用于向客户机传输数据的服务器。该通信处理装置包括数据收发器,被配置来执行与所述客户机的通信;速率控制器,被配置来控制和确定被传输给所述客户机的数据的比特率;以及数据处理器,被配置来准备数据以便按照由所述速率控制器所确定的比特率进行传输。所述速率控制器包括比特率设置器,该比特率设置器被配置成限定基于在其间所述服务器和所述客户机之间维持通信连接的周期内连续传输的数据分组的接收间隔信息所计算的最大吞吐量;以及在高达与所述最大吞吐量相应的最大可允许比特率的范围内设置传输比特率。
在这种通信处理装置中,所述速率控制器包括吞吐量计算器,该吞吐量计算器被配置成从所述客户机接收在服务器和客户机之间维持通信连接的周期内连续传输的数据分组的接收间隔信息;并且基于所述接收间隔信息和所传输的数据量计算最大吞吐量。在这一情况下,所述比特率设置器被配置成在高达相应于由所述吞吐量计算器所计算的所述最大吞吐量的最大可允许比特率的范围内设置传输比特率。
在这种通信处理装置中,所述数据收发器配置成连续地传输具有被设置成某一特定值的紧急标志的分组首部的分组,被设置成该特定值的所述紧急标志用作分组的标识信息,客户机将采用该标识信息测量接收间隔。
在这种通信处理装置中,所述比特率设置器被配置成基于客户机缓冲器的估计的缓冲器的量的变化设置比特率,而且当所估计的缓冲器的量大于或等于预定阈值时,在高达相应于由所述吞吐量计算器所计算的所述最大吞吐量的所述最大可允许比特率的上限的范围内增大所述比特率。
而且,在这种通信处理装置中,所述比特率设置器配置成通过使用下列信息(a)到(d),根据表示为所述客户机缓冲器的所估计的缓冲器的量=B_cli+D_serv-R*T的方程进行计算,来估计所述客户机缓冲器的量(a)在通信开始时所述客户机报告的缓冲器的量B_cli,以字节表示;(b)自所述客户机回放开始起所逝去的时间T,以秒表示;(c)在自所述客户机回放开始起所逝去的时间T期间所述服务器所传输的数据的量D_serv,以字节表示;以及(d)从所传输的内容可获得的内容的回放速率R,以字节每秒表示。
在这种通信处理装置中,所述数据收发器配置成从作为用于与客户机进行通信的媒介的存取点接收通信带宽信息,所述通信带宽信息涉及所述存取点和所述客户机之间的通信带宽。在这一情况下,所述比特率设置器配置成基于通信带宽信息设置传输比特率。
另外,在这种通信处理装置中,所述通信带包括例如基于与往返时间、所接收的信号强度指示符、以及在所述存取点和所述客户机之间的通信的传输速率中的至少之一有关的数据所生成的信息。
根据本发明的另一个实施例,提供了一种通信处理装置,用作从服务器接收数据的客户机。该通信处理装置包括数据收发器,被配置来执行与服务器的通信;以及分组间隔测量器,被配置来测量从所述服务器所接收的数据分组的接收间隔。所述分组间隔测量器被配置成根据包括在从服务器所接收的分组中的标识信息,测量连续接收的分组的接收间隔;并且经由数据收发器,把代表所述接收间隔的接收间隔信息或基于所述接收间隔所计算的吞吐量信息传输给所述服务器。
在这种通信处理装置中,所述分组间隔测量器被配置成根据包括在从所述服务器所接收的所述分组中的分组首部的紧急标志的设置,测量连续接收的分组的接收间隔。
根据本发明的另一个实施例,提供了一种包括传输和接收数据的服务器和客户机的数据通信系统。所述客户机配置成根据包括在从所述服务器所接收的分组中的标识信息,测量连续接收的分组的接收间隔;并且把代表所述接收间隔的接收间隔信息或基于所述接收间隔所计算的吞吐量信息传输给所述服务器。所述服务器被配置成高达相应于基于从客户机所接收的吞吐量信息或接收间隔信息所计算的最大吞吐量的最大可允许比特率的范围内,设置传输比特率;并且根据所述传输比特率把数据传输给所述客户机。
在这种通信处理装置中,所述服务器被配置成从作为与客户机进行通信的媒介的存取点接收通信带宽信息,所述通信带宽信息涉及所述存取点和所述客户机之间的通信带宽;并且基于所述通信带宽信息确定传输比特率。
根据本发明的另一个实施例,提供了一种一种传输数据的服务器的通信处理方法。所述通信处理方法包括下列步骤控制和确定传输给客户机的数据的比特率;以及准备数据以便根据在所述速率控制步骤所确定的所述比特率进行传输。所述速率控制步骤包括下列步骤抽取不包括无效数据传输与接收周期的有效数据传输与接收周期,所述有效和无效数据传输与接收周期出现在所述服务器和所述客户机之间维持通信连接的周期内;并且基于所述有效数据传输与接收周期的长度和所传输数据的量来计算最大吞吐量;以及在高达相应于在所述吞吐量计算步骤所计算的所述最大吞吐量的最大可允许比特率的范围内设置传输比特率。
在这种通信处理方法中,所述吞吐量计算步骤限定有效数据传输与接收周期,该有效数据传输与接收周期与从基于窗口尺寸开始连续数据传输到接收到该连续传输的数据的收到确认的周期相对应;并且基于所述有效数据传输与接收周期的长度和所传输数据的量计算最大吞吐量。
作为选择,在这种通信处理方法中,所述吞吐量计算步骤限定有效数据传输与接收周期,该有效数据传输与接收周期与从基于窗口尺寸开始连续数据传输到接收到该连续传输的数据的收到确认的周期相对应;获得与多个有效数据传输与接收周期相关样本数据的多段;以及基于在所获得的样本数据的所述多段中的、除了那些被确定为具有异常值的数据的那些段的样本数据的多段,来计算最大吞吐量。
在这种通信处理方法中,所述比特率设置步骤基于客户机缓冲器的估计缓冲器的量的变化,设置比特率;以及在所估计的缓冲器的量大于或等于预定阈值时,在高达相应于由所述吞吐量计算器所计算的最大吞吐量的最大可允许比特率的上限的范围内增大所述比特率。
而且,在这种通信处理装置中,所述比特率设置步骤使用下列信息(a)到(d),通过根据表示为客户机缓冲器的所估计的缓冲器的量=B_cli+D_serv-R*T的方程进行的计算,来估计所述客户机缓冲器的量(a)在通信开始时所述客户机报告的缓冲器的量B_cli,以字节表示;(b)自所述客户机回放开始起所逝去的时间T,以秒表示;(c)在自所述客户机回放开始起所逝去的时间T期间所述服务器所传输的数据的量D_serv,以字节表示;以及(d)从所传输的内容可获得的内容的回放速率R,以字节每秒表示。
在这种通信处理方法中,该通信处理方法还可以包括从作为与客户机进行通信的媒介的存取点接收通信带宽信息的步骤,该通信带宽信息涉及该存取点和客户机之间的通信带宽。在这一情况下,所述比特率设置步骤基于所述通信带宽信息设置传输比特率。
而且,在这种通信处理方法中,所述通信带宽信息包括基于与往返时间、所接收的信号强度指示符、以及在所述存取点和所述客户机之间的通信的传输速率中的至少之一有关的数据所生成的信息。
根据本发明的另一实施例,提供了一种用于传输数据的服务器的通信处理方法。该通信处理方法包括下列步骤控制和确定传输给客户机的数据的比特率;以及准备数据以便根据在所述速率控制步骤所确定的比特率进行传输。所述速率控制步骤包括下列步骤在所述服务器和所述客户机之间维持通信连接的周期内,限定基于连续传输的数据分组的接收间隔信息所计算的最大吞吐量;以及在高达相应于所述最大吞吐量的最大可允许比特率的范围内设置传输比特率。
在这种通信处理方法中,所述速率控制步骤包括步骤在所述服务器和所述客户机之间维持通信连接的周期内,从所述客户机接收连续传输的数据分组的接收间隔信息;并且基于所述接收间隔信息和所传输数据的量计算最大吞吐量。在这一情况下,所述比特率设置步骤在高达相应于在所述吞吐量计算步骤所计算的所述最大吞吐量的最大可允许比特率的范围内设置传输比特率。
这种通信处理方法还包括连续地传输具有分组首部的分组,该分组首部的紧急标志被设置成特定值,所述被设置成特定值的紧急标志用作分组的标识信息,所述客户机将采用该标识信息测量接收间隔。
在这种通信处理方法装置中,所述比特率设置步骤基于客户机缓冲器的估计缓冲器的量的变化,设置比特率;以及在所估计的缓冲器的量大于或等于预定阈值时,在高达相应于由所述吞吐量计算器所计算的最大吞吐量的最大可允许比特率的上限的范围内增大所述比特率。
而且,在这种通信处理方法中,所述比特率设置步骤使用下列信息(a)到(d),通过根据表示为客户机缓冲器的所估计的缓冲器的量=B_cli+D_serv-R*T的方程进行的计算,来估计所述客户机缓冲器的量(a)在通信开始时所述客户机报告的缓冲器的量B_cli,以字节表示;(b)自所述客户机回放开始起所逝去的时间T,以秒表示;(c)在自所述客户机回放开始起所逝去的时间T期间所述服务器所传输的数据的量D_serv,以字节表示(d)从所传输的内容可获得的内容的回放速率R,以字节每秒表示。
该通信处理方法还还包括从作为与客户机进行通信的媒介的存取点接收通信带宽信息的步骤,该通信带宽信息涉及该存取点和客户机之间的通信带宽。在这一情况下,所述比特率设置步骤基于所述通信带宽信息设置传输比特率。
在这种通信处理方法中,所述通信带宽信息包括基于与往返时间、所接收的信号强度指示符、以及在所述存取点和所述客户机之间的通信的传输速率中的至少之一有关的数据所生成的信息。
根据本发明的另一个实施例,提供了一种用于接收数据的客户机的通信处理方法。该通信处理方法包括下列步骤根据包括在从服务器所接收的分组中的标识信息,测量连续接收的分组的接收间隔;以及把代表在所述测量步骤中所测的所述分组接收间隔的分组接收间隔信息或基于所述接收间隔所计算的吞吐量信息传输给所述服务器。
在这种通信处理方法中,所述分组间隔测量步骤根据包括在从所述服务器所接收的分组中的分组首部的紧急标志的设置,测量连续接收的分组的接收间隔。
通过以下参照附图对各实施例的详细描述,本发明的进一步的目的、特性以及优点,将会变得十分明显。在本说明书中,系统指的是多个装置的逻辑组合,而不管各构成装置是否提供于同一壳体中。
根据本发明的某些实施例,基于与数据的连续传输和对接收确认的接收的周期相关的所测值,即基于与“有效数据传输与接收周期”相关的所测值,计算最大吞吐量,并且基于所述最大吞吐量控制传输比特率。即,基于不包括不实际贡献于数据传输与接收的“无效数据传输与接收周期”的数据传输与接收周期,计算最大吞吐量,并且在高达相应于所述最大吞吐量的最大可允许比特率的上限的范围内控制比特率。这允许在考虑实际传输速率的情况下,控制所述比特率。因此,可以在不过度地增大或减小比特率的情况下,在高达按其能够可靠传输数据的最大可允许比特率的上限的范围内传输数据。
另外,根据本发明的某些实施例,还基于在客户机处所测的连续传输的分组的接收间隔,计算最大吞吐量,并且在高达相应于所述最大吞吐量的最大可允许比特率的上限的范围内控制比特率。即,根据连续传输的分组的实际所测的接收间隔,计算最大吞吐量,并且在高达相应于所述最大吞吐量的最大可允许比特率的上限的范围内控制比特率。这允许在考虑实际传输比特率的情况下,控制比特率。因此,可以在不过度地增大或减小比特率的情况下,在高达能够按其可靠传输数据的最大可允许比特率的上限的范围内传输数据。
而且,根据本发明的某些实施例,除了基于依照对所传输和所接收数据的实际测量所计算的最大吞吐量控制比特率之外,还基于与通过存取点(AP)所测的通信带宽有关的通信带宽信息控制比特率,该通信带宽信息涉及存取点和客户机之间的无线通信的通信带宽,例如,往返时间、所接收的信号强度指示符、或传输速率。这允许对比特率进行控制,以立即适应无线通信状态方面的变化。


图1描述了针对本发明的实施例的网络配置的实例;图2是方框图,描述了用作流数据的传输装置和接收装置的服务器和客户机;图3描述了经由服务器和客户机之间所建立的TCP连接分布数据的过程的顺序;图4描述了根据窗口尺寸连续分布数据的过程;图5是本发明的第一实施例中的服务器所执行的过程的顺序的流程图;图6用于解释本发明的第一实施例中的比特率设置器所执行的处理;图7是本发明的第一实施例中的比特率设置器所执行的过程的顺序的流程图;图8是方框图,描述了用作本发明的第二实施例中的流数据的传输装置和接收装置的服务器和客户机的配置;图9用于解释本发明的第二实施例中的服务器和客户机之间的数据传输和接收过程中所传输的、其中设置了紧急标志的数据;图10是本发明的第二实施例中的服务器所执行的过程的顺序的流程图;图11是本发明的第二实施例中的客户机所执行的过程的流程图;图12用于解释服务器所执行的存取点(AP)发现顺序;图13是方框图,描述了用作本发明的第三实施例中的传输装置和接收装置的服务器和客户机的配置;图14用于解释本发明的第三实施例中的比特率设置器所执行的过程的顺序;图15是本发明的第三实施例中的比特率设置器所执行的过程的顺序的流程图;图16描述了服务器、客户机以及存取点的硬件配置的实例。
具体实施例方式
现在,将参照这些图,描述根据本发明的实施例的通信处理装置、数据通信系统以及通信处理方法。
首先,将参照图1描述本发明的实施例的网络配置的实例。例如,图1中所示的网络配置是家庭网络配置,其中,经由网络110把服务器101连接于客户机121~124。服务器101用作内容分布装置,其响应从各个客户机装置所传输的处理请求,进行处理。作为客户机装置的实例,图1描述了个人计算机(PC)121和122、便携式终端123以及回放装置124。然而,也可以把各种其它类型的电子装置和家庭电器设备作为客户机装置加以连接。
客户机(便携式终端)123和客户机(回放装置)124经由存取点(AP)131进行无线通信。客户机121和122经由有线LAN与服务器101进行通信。例如,客户机(PC)121根据100base-TX标准进行通信,客户机(PC)122根据100base-T标准与服务器101进行通信。客户机(便携式终端)123和客户机(回放装置)124经由存取点(AP)131与服务器101进行通信。存取点(AP)131和客户机(便携式终端)123根据IEEE 802.11b标准互相进行无线LAN通信。存取点(AP)131和客户机(回放装置)124根据IEEE 802.11g标准互相通信。
如以上所描述的,当与服务器101进行通信时,例如,当从服务器101接收视频数据的分布时,客户机121~124根据分别由客户机121和124所支持的通信标准进行数据通信,并且分别按不同的比特率接收数据。例如,服务器101响应来自客户机的请求所执行的处理包括内容分布服务提供存储在安装于服务器101上的某一存储设备,例如硬盘或DVD中的内容,或者提供经由服务器101的调谐器所接收的实况内容。
网络110经由网络100传输和接收通信分组,例如Ethernet帧。更具体地讲,客户机把Ethernet帧传输给服务器101,该Ethernet帧包括其数据部分中的处理请求信息,以向服务器101发出数据处理请求。响应所接收的处理请求帧,服务器101执行数据处理,并且把结果存储在通信分组中,然后把通信分组传输给客户机。
服务器101与客户机121~124分别建立TCP(传输控制协议)连接,并且通过流数据分布传输例如包括视频数据的多媒体数据。在本实施例中,经由TCP连接的从服务器101到客户机121~124的数据分布涉及动态比特率控制。
动态比特率控制包括下列步骤计算服务器和各客户机之间数据通信的最大吞吐量,并且控制比特率,以把相应于所计算的最大吞吐量的比特率设置为最大可允许比特率。现在,将详细地描述动态比特率控制的实施例。
第一实施例图2是方框图,解释了分布流数据的服务器200和接收与回放流数据的客户机300的功能。服务器200和客户机300建立TCP连接,并且互相通信。
服务器200包括内容提供单元201,其中存储了待传输的内容。内容提供单元201包括存储设备,例如硬盘或DVD,或者具有用于从外部接收内容的调谐器功能。从内容提供单元201把将传输给客户机300的内容输入于数据处理器202。
数据处理器202执行用于生成待传输的数据的处理,例如编码。在用于生成待传输的数据的处理过程中,根据动态速率控制器210所确定的比特率生成编码的数据。作为选择,也可以预先准备基于多个比特率的数据段,以致能够从基于从这些多个比特率的数据段中选择待传输的数据。
动态速率控制器210包括吞吐量计算器211和比特率设置器212。吞吐量计算器211监视服务器的数据收发器204和客户机的数据收发器301之间所进行的通信的状态,并且根据监视结果计算吞吐量。比特率设置器212根据吞吐量计算器211所计算的吞吐量确定传输给客户机300的数据传输的传输比特率,并且向数据处理器202报告这一比特率。以下,将详细描述动态速率控制器210所执行的处理。
数据处理器202对数据进行编码,以根据比特率设置器212所设置的比特率进行传输,或者根据比特率设置器212所设置的比特率选择编码的数据,并且把编码的数据输入于传输缓冲器203。数据收发器204把积累于传输缓冲器203中的数据(分组)经由与客户机300所建立的TCP连接传输给客户机300。
客户机300经由数据收发器301从服务器200接收流数据(分组),并且把数据存储于接收缓冲器302中。回放处理器303顺序地检索存储在接收缓冲器302中的数据,并且对这些数据进行解码,例如,如果已经对这些数据进行了压缩,则展开这些数据,或者,如果已经对这些数据进行了加密,则对这些数据进行解密,然后把解码的数据输出到输出单元304,例如显示器、扬声器等。
图3描述了服务器和客户机之间所执行的通信过程的顺序。首先,在步骤S11中,在服务器和客户机之间建立TCP连接。然而,在步骤S12中,客户机向服务器报告缓冲器的量。可以将缓冲器的量的报告包括在建立TCP连接的过程中。
在本实施例中,在流的开始时,把接收流数据的客户机的应用缓冲器的最大数量,即,提供用来接收流数据的应用缓冲器的最大数量,报告于服务器。在图2中,接收缓冲器302是接收流数据的客户机的应用缓冲器,把接收缓冲器302的最大数量报告于服务器。例如,当流数据符合HTTP时,客户机在HTTP首部中报告应用缓冲器的量。服务器把从客户机报告的应用缓冲器的量用作在动态速率控制器210控制下增大或减少比特率的索引。以下将描述这一过程。客户机仅在流的开始时向服务器报告一次缓冲器的量报告于服务器。
接下来,在步骤S13中,服务器把流数据分布于客户机。在传输流数据的这一过程中,图2中所示的服务器200的动态速率控制器210动态地控制传输比特率,以致将最佳比特率传输流数据。以下,将更具体地描述这一过程。当完成了所有流数据的传输时,在步骤S14中,关闭服务器和客户机之间的连接,然后退出该过程。
接下来,将参照图4~6详细地描述图2中所示的服务器200的动态速率控制器210所执行的控制传输数据的比特率的过程。首先,将参照4描述动态速率控制器210的吞吐量计算器211所执行的吞吐量计算过程。
图4是更具体地描述图3中所示的步骤S13中的数据传送过程的顺序图。服务器在TCP分组(TCP分段)中存储流分布数据,并且把TCP分组传输给客户机。在图4中数据1~8代表所传输的各个分组。在TCP通信中,客户机把接收确认(ack)传输给服务器。在图4中,ack1~ack4代表从客户机传输给服务器的接收确认。从客户机传输给服务器的接收确认(ack),不必与所有传输数据相关联单个地从客户机加以传输。当时间不允许时,客户机可以抑制接收确认(ack)的传输。在图4中,ack1为针对数据1和数据2的接收确认(ack),ack2为针对数据3和数据4的接收确认。
根据从客户机到服务器所提交的窗口尺寸,连续地把数据从服务器传输给客户机。在图4中所示的例子中,连续地传输数据1~数据4。更具体地讲,当服务器传输分组时,从客户机接收针对分组的接收确认,然后传输下分组,吞吐量减小,因此降低了数据传输的效率。
为了避免这种情况,确定代表可以立刻加以传输的一定数据量的窗口尺寸,并且根据该窗口尺寸,连续地传输分组。例如,当建立会话期时,把该窗口尺寸从客户机报告于服务器。即,把代表客户机可以立刻接收的数据的数量的窗口尺寸报告于服务器。服务器连续地传输具有相应于该窗口尺寸的数据量的分组。另外,客户机在从客户机传输给服务器的接收确认(ack)中报告更新的窗口尺寸,从而服务器根据更新的窗口尺寸改变数据后续传输的数量。
当根据窗口尺寸传输数据时,从服务器向客户机的数据传输间歇地发生,如图4中所示。例如,图4中所示的周期A是数据的连续传输到接收到所连续传输的数据的最后认可(ack)的周期。
在图4中,周期B是等待周期,即,从周期A的结束,即周期A中所传输的TCP数据集合的最后接收确认(ack)的接收时刻到下一TCP数据集合的传输开始的这段时间。周期C是在周期B之后的下一个TCP数据集合的传输和接收确认(ack)的接收的周期。
在迄今所使用的吞吐量计算方法中,一直的情况是通过把传输数据的数量除以传输时间,简单地计算吞吐量。例如,对于图3中所示的数据传输顺序,一直的情况是通过下列公式计算周期A~C中的吞吐量吞吐量=(传输数据1~8的数量)/(周期A+B+C)。这一吞吐量计算方法未得到大于与从服务器所传输的数据的数量相应的值的值。
然而,在TCP数据传输中,当对传输比特率进行控制,以致能够按较高的比特率传输数据时,要确定最大可允许比特率,即可把比特率增加到何种程度。
在本实施例中,通过把所传送数据的数量除以不包括图4中的周期B的时间来,预测最大吞吐量,并且相应于最大吞吐量,确定最大可允许比特率。图4中的周期B是其中服务器不向客户机传输数据的周期。当把周期B包括在对用于计算吞吐量的周期测量中时,在吞吐量的测量中涉及实际上不传输或接收数据的周期,从而把不对实际吞吐量做出贡献的周期用于吞吐量的计算。即,当使用所包括的、其中不传输或接收数据的周期B计算最大吞吐量时,最大吞吐量减小。即,在这一情况下,TCP吞吐量的测量未得到大于或等于内容的比特率的值。
根据本实施例,吞吐量的计算基于不包括诸如周期B的无效数据传输与接收周期的周期。即,吞吐量的计算基于根据窗口尺寸的连续数据传输以及对其的接收确认(ack)的周期,例如图4中所示的周期A和C。更具体地讲,例如,如下计算吞吐量计算的多个样本吞吐量计算的样本1=(所传输数据1~4的数量)/(周期A+B-B)吞吐量计算的样本2=(所传输数据5~8的数量)/(周期C+D-D)吞吐量计算的样本n。然后,根据吞吐量计算的这些样本计算最大吞吐量。在以上的方程中,D是出现在图4中所示的周期C之后的、其中不传输数据的周期。
如以上所描述的,根据本实施例,仅把“有效数据传输与接收周期”,即其中传输连续数据和接收接收确认(ack)的周期,例如,图4中所示的周期A和C,用于计算吞吐量的过程,而不把“无效数据传输与接收周期”,例如图4中所示的周期B,用于计算吞吐量的过程。根据这一过程,仅把其中在TCP会话期中实际发生的数据传输和确认接收(ack)的有效周期用于计算吞吐量,从而可以测量真正的TCP最大吞吐量。
如以上所描述的,在TCP会话期中的数据分组的传输期间,根据窗口尺寸连续地传输数据。即,当客户机方的窗口未满时,可以在无需等待接收确认(ack)的情况下,连续地传输数据分组。因此,传输连续数据和接收接收确认(ack)的“有效数据传输与接收周期”,例如,图4中所示的周期A或C,与“无效数据传输周期”,例如周期B,交替地出现。
将把传输连续数据和接收接收确认的“有效数据传输与接收周期”中,例如图4中所示的周期A或C中所传输的TCP分组数据称为“TCP数据集合”。与各TCP数据集合相关的有效数据传输与接收周期,受到窗口尺寸或瞬时阻塞的显著影响。因此,值易于发生较大的变化,以致最大吞吐量的测量结果不稳定。在本实施例中,为了避免这一情况,如先前所描述的,如下计算用于吞吐量计算的多个样本吞吐量计算的样本1=(所传输数据1~4的数量)/(周期A+B-B)吞吐量计算的样本2=(所传输数据5~8的数量)/(周期C+D-D)
吞吐量计算的样本n。根据这些吞吐量计算的样本,计算吞吐量,在吞吐量计算的样本的数据中,把明显不同于其它样本数据的测量结果作为异常值加以排除。
将参照图5中所示的流程图,描述本实施例中图2中所示服务器的动态速率控制器210的吞吐量计算器211所执行的最大吞吐量计算过程的程式。吞吐量计算器211把从基于窗口尺寸的连续数据传输的开始到针对连续传输的数据的接收确认(ack)的接收的周期视为有效数据传输与接收周期,并且根据有效数据传输与接收周期的长度和所传输数据的数量计算最大吞吐量。图5是流程图,描述了其中服务器200建立与客户机的连接、进行通信以及关闭TCP连接的过程的程式。
首先,在步骤S101中,服务器建立与将把流数据分布于其的客户机的TCP连接。在建立这一连接时,服务器从客户机接收缓冲器的量(相应于窗口尺寸)的报告。
当在步骤S102中确定已从较上层应用接收到数据传输请求时,在步骤S103,服务器开始TCP分段(分组)的传输,并且把传输开始时间Ts存储在存储器中。通过连续传输具有相应于先前从客户机报告的窗口尺寸的数据量的分组,例如,图4中所示周期A中的多个数据段,执行分组的传输。
在步骤S104中,服务器检查是否已从客户机接收到接收确认(TCP ACK)。当尚未接收到接收确认(TCP ACK)时,在步骤S105中,服务器检查TCP传输窗口是否具有最大值(MAX),即,是否已传输了具有相应于窗口尺寸的数据量的分组。当尚未传输具有相应于窗口尺寸的数据量时,在步骤S106中,服务器继续TCP分组(段)的传输。
当TCP传输窗口具有最大值(MAX)时,即当传输了具有相应于窗口尺寸的数据量的分组时,服务器等待接收确认。当在步骤S104中确定已接收到接收确认时,在步骤S107中,服务器检查是否接收到了与所传输的TCP段的最后分段相关的接收确认(TCP ACK),如果没有接收到,则等待,直至接收到该接收确认。例如,与最后分段相关的接收确认(TCP ACK)为图4中所示的周期A中的ack2。
当在步骤S107中确定已接收到与最后分段相关的接收确认(TCP ACK)时,在步骤S108中,服务器存储与最后分段相关的接收确认(TCP ACK)的接收时间Te。
接下来,在步骤S109中,服务器计算用于吞吐量计算的样本持续周期Tn=Te-Ts。通过图2中所示的服务器200的动态速率控制器210的吞吐量计算器211执行这一计算。Tn=Te-Ts表示有效数据传输与接收周期,即连续数据的传输和接收确认(ack)的接收的周期,例如,图4中所示的周期C。
然后,在步骤S110中,服务器检查已测量的样本数目n是否已变得大于或等于预定阈值Thn。当已测量的样本数目n不大于或等于预定阈值Thn时,在步骤S111中,服务器检查是否继续通信。当继续通信时,过程返回到步骤S102,重复相继的步骤,直至已测量的样本数目n已变得大于或等于预定阈值Thn,从而可收集与吞吐量计算的样本持续周期Tn=Te-Ts相关的样本。即,收集与有效数据传输与接收周期,例如与图4中所示的连续数据的传输与接收确认(ack)的接收的周期A和C相关的所测值的预先确定的数目。直至已测量的样本数目n已变得大于或等于预定阈值Thn。
当在步骤S110中确定已测量的样本数目n已变得大于或等于预定阈值Thn,在步骤S112中,在与吞吐量计算的持续周期T1~Tn相关的所测样本中,将具有极端值的样本作为异常值排除。接下来,在步骤S113中,仅使用与排除了异常值的吞吐量计算的样本持续周期T1~Tn相关的数据,计算最大吞吐量。
在步骤S113中,根据下列方程计算最大吞吐量最大吞吐量=(∑(各有效数据传输与接收周期中所传输的数据的数量))/∑(各有效数据传输与接收周期))。
在上述方程中,∑(各有效数据传输与接收周期中所传输的数据的数量)和∑(各有效数据传输与接收周期)不包括与异常值相关的所传输数据的数量和周期。
在这一方式下,图2中所示服务器200的动态速率控制器210的吞吐量计算器211根据多个有效数据传输与接收周期的长度和传输数据量,计算最大吞吐量。这一过程中所计算的吞吐量不涉及图4中所示的无效数据传输与接收周期B。吞吐量计算器211把计算为最大吞吐量的吞吐量输入于图2中所示的服务器200的动态速率控制器210的比特率设置器212。
现在,将参照图6和7描述比特率设置器212所执行的过程。参照图6,比特率设置器212接收以上所描述的吞吐量计算器211所计算的最大吞吐量的输入,估计客户机的缓冲器的量以确定比特率,并且把传输数据比特率设置信息输入于执行编码或所编码数据的选择的数据处理器202。
比特率设置器212使用下列信息估计客户机的缓冲器的量通信开始时,从客户机报告的缓冲器的量B_cli(字节)自客户机回放开始所逝去的时间T(秒)自客户机回放开始所逝去的时间T期间从服务器所传输的数据的数量D_serv(字节)可以从所传输的内容获取的内容的回放速率R(字节/秒)当服务器实际传输的数据的数量超过从客户机报告的缓冲器的量B_cli时,服务器可以识别客户机处所传输内容的回放的开始。即,在内容回放开始之前,客户机在相应于客户机的缓冲器的量B_cli的缓冲器中累积数据,而且当服务器已经传输了相应于该数量的数据时,服务器认为客户机缓冲器已满,回放已经开始。
在客户机处的内容回放开始时,客户机的缓冲器的量为B_cli。当回放开始之后时间T逝去时,服务器把具有数量D_serv(字节)的数据传输给客户机,并且把所传输的数据累积在客户机缓冲器中。客户机回放具有数量R*T(字节)的数据,然后从客户机缓冲器中删除具有该数据量的数据。
根据数据的这样的变化,服务器把客户机的当前缓冲器的量估计为B+D-R*T。在图6中所示的缓冲器的量信息250所指示的0~MAX的范围内表示上述所估计的缓冲器的量。MAX相应于客户机缓冲器的量B_cli。比特率设置器212根据所估计的客户机缓冲器的缓冲器的量的这样的变化,确定比特率。当所估计的缓冲器的量大于或等于预定阈值时,在与吞吐量计算器211所计算的最大吞吐量相应的最大可允许比特率的上限的范围内增大比特率。
现在,将参照图7中所示的流程图描述比特率设置器212所执行的过程的顺序。在步骤S201中,比特率设置器212检查缓冲器的量是否小于预定阈值Th1。此处的缓冲器的量指的是按以上所描述的方式所估计的缓冲器的量。当确定缓冲器的量小于预定阈值Th1时,在步骤S202中,比特率设置器212减小传输比特率。这出现在缓冲器的量处于图6中所示的缓冲器的量信息250的范围Ba中时。
在步骤S201中,当确定缓冲器的量不小于预定阈值Th1时,在步骤S203中,比特率设置器212检查缓冲器的量是否大于预定阈值Th2。当缓冲器的量不大于预定阈值Th2时,过程返回至步骤S201。这出现在缓冲器的量处于图6中所示的缓冲器的量信息250的范围Bb中时。
当缓冲器的量大于预定阈值Th2时,在步骤S204中,比特率设置器212把当前传输数据比特率与在以上所描述的过程中所计算的最大吞吐量加以比较。当当前传输数据比特率小于相应于吞吐量计算器211所计算的最大吞吐量的比特率时,在步骤S205中,比特率设置器212增大传输比特率。然而,相应于吞吐量计算器211所计算的最大吞吐量的比特率,即最大可允许比特率,用作上限。在当前传输数据比特率等于相应于吞吐量计算器211所计算的最大吞吐量的最大可允许比特率时,过程返回到步骤S201,而且不改变比特率。这出现在缓冲器的量处于图6中所示的缓冲器的量信息250的范围Bc内时。
在继续数据通信的同时,按照一段预先确定的周期重复先前参照图5中所示的流程图所描述的吞吐量计算过程,并且吞吐量计算器211连续地更新吞吐量,并且把所更新的吞吐量输入于比特率设置器212。比特率设置器212重复图7中所示的过程,以连续地根据相应于吞吐量计算器211所计算的最新最大吞吐量的最大可允许比特率,确定比特率。从而,可以根据网络状态,依照最大吞吐量控制比特率。
在本实施例中,如参照图4所描述的,使用与“有效数据传输与接收周期”,即连续数据的传输与接收确认的接收的周期,例如图4中所示的周期A和B相关的所测值,计算最大吞吐量,并且在相应于最大吞吐量的最大可允许比特率的上限的范围内控制传输比特率。即,根据不包括诸如图4中所示的周期B的不贡献于数据传输与接收的无效数据传输与接收周期的有效数据传输与接收周期,计算最大吞吐量,并且在最高可达相应于所计算的最大吞吐量的最大可允许比特率的上限的范围内控制比特率。根据本实施例,能够在考虑实际传输速率的情况下,控制比特率。因此,可以在不过度地增大或减小比特率的情况下,在最高可达相应于按其能够可靠传输数据的最大比特率的上限的范围内传输数据。
第二实施例以下,将描述本发明的第二实施例。在第二实施例中,客户机根据所接收的数据,计算吞吐量或用于计算吞吐量的值,服务器根据所计算的值控制比特率。
图8是方框图,描述了第二实施例中分布流数据的服务器200和接收与回放流数据的客户机300的功能。通过建立TCP连接,实现服务器200和客户机300之间的通信。
与先前参照图2所描述的第一实施例的配置相反,客户机300包括分组间隔测量器305。其它部件与图2中所示的相应部件大体上相同,但执行了不同的过程。以下的描述将主要针对与第一实施例不同的地方。
在第二实施例中,服务器200的数据收发器204按预先确定的间隔,连续地传输具有被设置为ON(即1)的紧急标志(URG标志)的数据传输分组。当TCP分组中包括紧急数据时该紧急标志通常被设置为ON(即1)在本实施例中,不管紧急数据存在还是不存在,都连续地传输其中紧急标志被设置成ON(即1)的分组,以表示这些分组在客户机处用于测量TCP分组的接收间隔。
现在,将参照图9描述服务器和客户机之间所执行的数据通信顺序。与第一实施例相类似,在第二实施例中,也在建立了连接之后,从服务器向客户机分布流数据。图9中所示的数据通信顺序描述了图3中所示的步骤S13中的数据传送过程。即在第一实施例的情况下所描述的数据传送过程的细节。
在第二实施例中,如图9中所示,服务器按从数据1开始的次序向客户机传输TCP分组。服务器连续地传输其中紧急标志被设置成ON(即1)的分组,在客户机处将使用这些分组测量分组接收间隔。在图9中,在TCP分组n和TCP分组n+1的首部中,把紧急标志设置为ON(即1)。把其中紧急标志被设置为ON(即1)的相继的两个分组用作用于吞吐量测量的一对分组。
当相继接收到其中紧急标志被设置为ON(即1)的两个分组时,客户机测量这两个分组之间的接收间隔t。客户机根据所测值计算吞吐量,并且向服务器报告吞吐量。作为选择,客户机也可以把接收间隔数据t报告于服务器,以致可以在服务器处根据接收间隔数据t计算吞吐量。
服务器相应于根据相继分组的接收间隔数据t所计算的吞吐量而定义相最大吞吐量,并且在相应于最大吞吐量的最大可允许比特率的范围内控制比特率。现在,将参照图10和11描述第二实施例中的服务器所执行的过程的顺序和客户机所执行的过程的顺序。
首先,将参照图10描述服务器所执行的过程。图10是流程图,描述了处理流程,其中,服务器200建立与客户机的TCP连接、进行通信,以及关闭TCP连接。
首先,在步骤S301中,服务器建立与将把流数据分布于其的客户机的TCP连接。当在步骤S302中确定已接收了来自某一客户机应用的数据传输请求时,在步骤S303中,服务器启动TCP分段(分组)的传输。
在步骤S304中,服务器检查是否向客户机传输了用于吞吐量测量的一对分组。当将传输一对吞吐量分组时,在步骤S305中,服务器生成其中紧急标志被设置成ON(即1)的分组,并且相继地传输该分组。当将传输的分组不是一对用于吞吐量计算的分组时,在步骤S306中,服务器生成并传输其中紧急标志被设置成OFF(即0)的分组。
当在步骤S307确定继续通信时,重复步骤S302和相继的步骤。当完成了通信时,过程前进到步骤S308,以关闭TCP连接,然后退出该过程。
接下来,将参照图11所示的流程图描述客户机所执行的过程。图11是流程图,描述了流过程,其中,客户机300建立与服务器的TCP连接、进行通信,以及关闭TCP连接。
首先,在步骤S351中,客户机建立与从其分布流数据的服务器的TCP连接。在步骤S352中,客户机接收从服务器所传输的TCP分组。在步骤S353中,客户机把TCP分组的接收时间存储在存储器中。
在步骤S354中,客户机检查是否所接收的分组的紧急标志被设置成ON(即1)。当步骤S354结果为“否”时,过程返回到步骤S352。当步骤S354结果为“是”时,在步骤S355中,客户机检查紧在所接收的分组之前的分组的紧急标志是否也被设置成ON(即1)。当步骤S355结果为“否”时,过程返回到步骤S352。当步骤S355结果为“是”时,在步骤S356中,客户机计算其中紧急标志被设置成ON(即1)的两个分组的接收间隔t。由图8中所示的客户机300的分组间隔测量器305执行这一步骤。
在步骤S357中,根据下列方程,依照两个相继的分组的接收间隔t计算最大吞吐量最大吞吐量=(这对分组之后的数据的数量)/t也由分组间隔测量器305执行这一步骤。
在步骤S358中,客户机判断是否把所计算的信息反馈给服务器。当确定不反馈所计算的信息时,在步骤S360中,客户机检查是否继续通信。当继续通信时,过程返回到步骤S352,并且重复相继的步骤。当在步骤S358中确定反馈所计算的吞吐量信息时,在步骤S259中,把所计算的信息或接收间隔信息传输给服务器。
在步骤S359之后,在步骤S360中,检查是否继续通信。当继续通信时,过程返回到步骤S352,并且重复相继的步骤。当在步骤S360中确定已完成通信时,在步骤S361中,关闭TCP连接。
在以上所描述的情况下,当接收到其中紧急标志被设置成ON(即1)的两个相继的分组时,客户机测量这两个分组的接收间隔t,根据所测值计算吞吐量,并且把吞吐量报告于服务器。作为选择,客户机也可以把接收间隔数据t报告于服务器,以致可以在服务器处根据接收间隔数据t计算吞吐量。在这一情况下,客户机不需要执行步骤S357。
在服务器处,当从客户机所接收的信息为接收间隔数据t时,服务器的吞吐量计算器211根据与以上所描述的情况中的同样的吞吐量计算方程,依照接收间隔数据t,计算最大吞吐量,即吞吐量=(这对分组的总数据量/2)/t服务器处的比特率设置器212把从客户机所接收的吞吐量或服务器的吞吐量计算器211根据从客户机所接收的接收间隔数据t所计算的吞吐量,作为最大吞吐量,输入于比特率设置器212。
比特率设置器212所执行的过程与先前在第一实施例的情况下参照图7所描述的比特率控制过程相同。在这一过程中,也根据实际传输的相继分组的接收间隔计算最大吞吐量。即,通过排除不贡献于数据传输与接收的“无效数据传输与接收周期”,例如先前参考图4描述的周期B,计算最大吞吐量,并且在相应于所计算最大吞吐量的最大可允许比特率的上限的范围内控制传输比特率。因此,在第二实施例中,也依照与根据实际被连续地传输的分组的测量结果所确定的最大吞吐量相应的最大可允许比特率控制比特率。从而,可以在考虑实际传输速率的情况下控制比特率,因此能够在不过度地增大或减小比特率的情况下,在最高可达相应于按其能够可靠传输数据的最大比特率的上限的范围内传输数据。
第三实施例以下,将描述第三实施例,其中,根据存取点(AP)所获得的信息,控制比特率。
在图1中所示的网络配置中,客户机(便携式终端)123和客户机(回放装置)124经由存取点(AP)131执行与服务器101的通信。
当经由存取点(AP)把流数据分布于客户机时,服务器必须首先执行用于发现服务器和客户机之间的最佳存取点(AP)的过程。将参照图12描述这一AP发现过程。
首先,在启动流之前,在步骤S401中,执行流分布的服务器200广播“AP发现消息”,该“AP发现消息”包括服务器200本身的MAC地址和子网络中流数据的目的地处的客户机123的MAC地址。
连接于某一LAN的所有存取点(AP)接收已经广播的“AP发现消息”。在图12中,描述了两个存取点400a和400b,即,存取点a(APa)和存取点b(APb)。当从服务器200接收到“AP发现消息”时,在步骤S402中,存取点(AP)400a和400b中每个均参考其自己的无线相关列表,以检查具有包括在“AP发现消息”中的客户机MAC地址的结点是否存在于无线链路中。
当具有该MAC地址的结点存在于该相关列表中时,AP认识到AP本身处于正在发生的流的一条通信路径上。不管具有该MAC地址的结点是否存在于该相关列表中,AP都丢弃“AP发现消息”,而不将其传送于无线链路。
当认出AP处于流的一条通信路径上时,在步骤S403中,在图12中所示的例子中,存取点400a(APa)向服务器200单播“AP发现答复消息”,该“AP发现答复消息”包括存取点400a(APa)本身的MAC地址以及服务器200和客户机123的MAC地址。这允许服务器200认知一条无线链路(瓶颈)存在于待执行的流的路径上。当认知AP不处于正在发生的流的路径上时,AP不传输“AP发现答复消息”。
在这一方式下,允许分布流数据的服务器和位于一条通信路径上的存取点(AP)互相找到对方的MAC地址。这允许服务器和该存取点(AP)之间的通信(例如,从AP到服务器的无线链路信息的报告)。当把相关MAC地址从该存取点(AP)本身的相关列表删除时,例如,由于接收流数据的客户机的移动或断电,该存取点(AP)停止向服务器报告无线信息。
另外,在流期间以及在流的开始时,服务器还有规律地传输“AP发现消息”,以致甚至是当在各AP之间递交流客户机时也可维持流。更具体地讲,当出现流客户机的递交时,当通过流客户机所存取的新的AP接收到“AP发现消息”时,该AP把“AP发现答复消息”返回至服务器,并且启动对无线链路状态的报告。把流客户机的MAC地址从递交发生前曾被存取的AP的相关列表中删除,然后该AP停止向服务器报告无线链路信息。
当从存取点(AP)到服务器的报告基于较上层(IP层)的消息,而不是层2(数据链路层)的消息时,把IP地址以及MAC地址包括在“AP发现消息”和“AP发现答复消息”中。取代“AP发现答复消息”,存取点(AP)也可以立即报告无线链路信息。
通过以上所描述的AP发现过程,配置流分布中所涉及的服务器、存取点(AP)以及客户机之间的关系。在第三实施例中,执行流分布的服务器根据流分布的路径上的存取点(AP)所获得的信息,控制比特率。
现在,将参照图13描述第三实施例中分布流数据的服务器200、接收和回放流数据的客户机300以及存在于流的路径上的存取点(AP)400的功能。服务器200和客户机300通过经由存取点(AP)400建立TCP连接,进行通信。
服务器200和客户机300的配置与参照图2所描述的第一实施例中的相同。但服务器200所执行的过程不同,如图13中所示,存取点(AP)400包括数据收发器401、通信带宽监视器402以及通信带宽信息生成器403。
在存取点(AP)400中,通信带宽监视器402监视诸往返时间(RTT)、所接收的信号强度指示符(RSSI)以及如无线通信链路的层2(数据链路层)中的传输速率等值。RTT指的是从分组自存取点(AP)400的传输到来自客户机的答复的接收所需的时间。有规律地执行存取点(AP)400的通信带宽监视器402的监视操作。
当需要向服务器报告时,通信带宽信息生成器403处理通信带宽监视器402所获得的信息。例如,这一数据处理涉及加权平均或标准偏差的计算。针对每一值,例如RTT、RSSI以及传输速率计算加权平均或标准偏差,以生成将报告于服务器的值。经由数据收发器401和通信网络,把通信带宽信息生成器403所生成的数据报告于服务器200。
服务器200的数据收发器204接收从存取点(AP)400传输给服务器200的通信带宽信息,并且将其输入于动态速率控制器210的比特率设置器212。比特率设置器212根据检查算法,分析从存取点(AP)400所获得的通信带宽信息。当确定将减小流数据的比特率时,比特率设置器212立即减小比特率。
例如,检查算法涉及把从存取点(AP)400所获得的通信带宽信息与比特率设置器212中所持有的阈值加以比较。更具体地讲,例如,当包括在从存取点(AP)400所接收的通信带宽信息中的参数,例如RTT、RSSI以及传输速率的加权平均或标准偏差,接连超过比特率设置器212中所持有的相应阈值N倍时,减小比特率。多次进行与该阈值的比较,以防止无意义地减小比特率,例如,当这些参数仅偶然一次超过相应的阈值时。
将参照图14和15描述第三实施例中比特率设置器212所执行的过程。在第三实施例中,通过根据第一或第二实施例的吞吐量计算过程的组合,控制比特率。参照图14,比特率设置器212接收根据第一或第二实施例的过程所计算的最大吞吐量的输入,并且还接收从存取点(AP)400所获得的通信带宽信息,即参数,例如存取点和客户机之间的无线通信的RTT、RSSI以及传输速率的加权平均或标准偏差。另外,比特率设置器212还执行先前所描述的估计客户机缓冲器的量的过程,以确定比特率,并且把传输比特率设置信息输入于执行编码或对所编码的数据加以选择的数据处理器202。如图14中缓冲器的量信息250所指示的,比特率设置器212所获得的所估计的客户机缓冲器的量在0~MAX的范围内。
现在,将参照图15中所示的流程图,描述比特率设置器212所执行的过程的顺序。在步骤S501中,比特率设置器212检查是否已从存取点(AP)400输入了通信带宽信息。通信带宽信息指诸如RTT、RSSI以及传输速率等参数。当在步骤S501中确定已从存取点(AP)400输入了通信带宽信息时,在步骤S502,比特率设置器212分析从存取点(AP)400所输入的通信带宽信息。
例如,步骤S502中分析涉及把从存取点(AP)400所获得的通信带宽信息与比特率设置器212所持有的阈值加以比较,如先前所描述的。例如,把从存取点(AP)400所获得的参数,例如,基站与客户机之间的无线通信的RTT、RSSI以及传输速率的加权平均或标准偏差,与比特率设置器212所持有的阈值加以比较。
在步骤S503中,根据步骤S502中的分析结果,检查是否要减小传输比特率。当确定要减小传输比特率时,在步骤S504中,比特率设置器212减小传输比特率。而且,在步骤S505中,比特率设置器212还根据步骤S502中的分析结果,检查是否增大比特率。当确定能够增大比特率时,在步骤S506中,比特率设置器212增大比特率。然而,不允许把比特率增至相应于吞吐量计算器211所计算的最大吞吐量的最大可允许比特率的上限之上。这一上限为与第一和第二实施例的上下文中描述的由吞吐量计算器211或客户机所计算的最大吞吐量相应的最大可允许比特率。
在步骤S503和S504中,根据对从存取点(AP)400所获得的通信带宽信息的分析,检查是否减小或增大传输比特率,在此过程中如先前描述的,当通过多次连续地把从存取点(AP)400所获得的参数,例如,存取点与客户机之间的无线通信的RTT、RSSI以及传输速率的加权平均或标准偏差,与比特率设置器212所持有的阈值加以比较,观察到类似的结果时,比特率设置器212确定应改变比特率。
例如,当存取点和客户机之间的无线通信的RTT维持为长于针对某一周期的阈值a时,减小传输速率。当把存取点和客户机之间的无线通信的RTT维持为短于针对某一周期的阈值b时,增大传输速率。当把存取点和客户机之间的无线通信的所接收的信号强度指示符(RSSI)维持为高于针对某一周期的阈值c时,增大传输速率。当把RSSI维持为低于针对某一周期的阈值d时,减小传输速率。当把存取点和客户机之间的无线通信的比特率维持为低于针对某一周期的阈值e时,减小传输速率。当把存取点和客户机之间的无线通信的比特率维持为高于针对某一周期的阈值f时,增大传输速率。
在步骤S507~S509中,根据所估计的缓冲器的量控制比特率,类似于第一实施例。更具体地讲,在步骤S507中,比特率设置器212检查缓冲器的量是否小于预先确定的吞吐量Th1。当确定缓冲器的量小于预先确定的吞吐量Th1时,在步骤S504中,减小传输比特率。当缓冲器的量处于图14中所示的缓冲器的量信息250的范围Ba内时,执行这一步骤。
在步骤S507中,当确定缓冲器的量不小于预先确定的吞吐量Th1时,在步骤S508中,比特率设置器212检查缓冲器的量是否大于预先确定的吞吐量Th2。当确定缓冲器的量大于预先确定的吞吐量Th2时,过程返回到步骤S501。当缓冲器的量处于图6中所示的缓冲器的量信息250的范围Bb内时,执行这一步骤。
当确定缓冲器的量大于预先确定的吞吐量Th2时,在步骤S506中,把传输数据的当前比特率与相应于通过根据第一实施例的过程由吞吐量计算器211所计算的最大吞吐量,或者通过根据第二实施例的过程由客户机或吞吐量计算器211所计算的最大吞吐量的最大可允许比特率加以比较。当传输数据的当前比特率小于相应于最大吞吐量的最大可允许比特率时,在步骤S506中,增加传输数据的比特率。但不允许把比特率增至最大可允许比特率之上。当传输数据的当前比特率等于相应于最大吞吐量的最大可允许比特率时,过程返回到步骤S501而不改变比特率。这出现在缓冲器的量处于图14中所示的缓冲器的量信息250的范围Bc内时。
在第三实施例中,除了依照通过根据第一或第二实施例的吞吐量计算过程所计算的最大吞吐量控制比特率外,还根据表示存取点(AP)所测参数的通信带宽信息控制比特率,例如,其中的参数为存取点与客户机之间的无线通信的RTT、RSSI以及传输速率。这允许根据无线通信的通信状态方面的变化控制比特率。而且,与第一和第二实施例相类似,把根据有效数据传输接收周期所计算的吞吐量用作最大吞吐量。从而,能够在考虑实际传输速率的情况下,控制比特率。因此,能够在不过度增大或减小比特率的情况下,在最高可达可按其可靠传输数据的最大比特率的上限的范围内传输数据。
当根据存取点(AP)所测的存取点和客户机之间的无线通信的通信带宽信息确定难以维持服务器和客户机之间的流数据的分布时,服务器或存取点(AP)可以通知客户机其已变得难以维持流数据的分布。在这一情况下,客户机把通知显示在显示器上,告诉用户其已变得难以维持数据分布。从而,用户能够采取适当的措施,例如,把客户机终端更靠近存取点(AP)加以放置,或者停止导致问题出现的设备的运行,例如停止微波炉的运行。
服务器、存取点(AP)以及客户机的硬件配置实例以下,将参照图16描述服务器、存取点(AP)以及客户机的硬件配置的实例。如参照图1所描述的,可以使用各种设备实现服务器和客户机。图16描述了服务器、存取点(AP)以及客户机的硬件配置的实例。
将描述图16中所示的硬件配置。中央处理器(CPU)501根据存储在只读存储器(ROM)502中或诸如硬盘驱动器(HDD)的记录媒体514的程序,执行各个过程,以致其能够用作数据处理器或通信控制器。当需要时,随机存取存储器(RAM)存储CPU 501所执行的程序或数据。经由一条总线521把CPU 501、ROM 502以及RAM 503互相连接。
把总线521连接于输入/输出接口522。把输入/输出接口522连接于用户操作的输入单元511,例如键盘、转换器、按钮、定位设备、或者鼠标器,并且将其连接于用于向用户提交各种信息的输出单元,例如液晶显示器、阴极射线管显示器、或者扬声器。另外,还把输入/输出接口522连接于用作数据收发器的通信单元506,并且将其连接于驱动器513,驱动器513从安装在其上的记录媒体514读取数据,或者把数据写至记录媒体514,例如记录媒体514可以为磁盘、光盘、磁光盘、或者半导体存储器。然而,不必须把输入单元511、输出单元512、驱动器513以及记录媒体514等提供于存取点(AP)中,只要提供足以允许进行各种设置的部件即可。
图16中所示的配置为可以用作经由图1中所示的网络连接的服务器、存取点(AP)以及客户机装置的实例。然而,由于没有对图16中所示的配置加以限制,所以可以把各种电子装置和信息处理装置连接于网络。这些设备可以独自地拥有其专门的硬件配置。
已针对具体的实施例详细地描述了本发明。然而,显然,对于这一技术领域中的熟练技术人员来说,可以在不脱离本发明的构思的情况下,对本发明进行更新或变更。即,已通过举例的方式公开了本发明,但不应认为本发明局限于这些实施例。本发明的范围应根据权利要求加以确定。
可以通过硬件、软件或硬件与软件的组合,执行以上所描述的这一系列过程。当通过软件执行这一系列过程时,执行定义了处理顺序的程序,即通过把该程序安装在嵌入于能够执行各个过程的专用硬件中的计算机的存储器中或通用计算机上,执行这一程序。
例如,可以把该程序记录在诸如硬盘或只读存储器(ROM)的记录媒体中。作为选择,也可以临时或永久性地把该程序存储(记录)在诸如软盘、紧致盘只读存储器(CD-ROM)、磁光(MO)盘、数字通用盘(DVD)、磁盘、或者半导体存储器的可移动记录媒体上。可以按所谓包装软件的形式提供这样的可移动媒体。
取代从可移动记录媒体到计算机安装该程序的方式,也可以经由诸如局域网(LAN)或Internet等网络,以从下载网点到计算机的方式无线地传送该程序,以致计算机能够接收所传输的程序,并且把该程序安装在诸如硬盘的记录媒体上。
不必按所描述的次序顺序地执行此处所描述的各个过程,当需要时,可以并行地或独立地、或根据执行这些过程的装置的处理能力,执行此处所描述的各种过程。本说明书中的系统指的是多个装置的逻辑组合,而不管各构成部件是否提供于同一包装中。
本发明包含与2005年3月28日日本专利局所归档的日本专利申请JP2005-092452相关的主题,特将该专利申请的全部内容并入此处,以作参考。
权利要求
1.一种通信处理装置,作为用于向客户机传输数据的服务器,该通信处理装置包括数据收发器,被配置来执行与客户机的通信;速率控制器,被配置来控制和确定被传输给客户机的数据的比特率;以及数据处理器,被配置来准备数据以便根据所述速率控制器所确定的比特率进行传输;其中,所述速率控制器包括吞吐量计算器,被配置来抽取不包括无效数据传输与接收周期的有效数据传输与接收周期,所述有效和无效数据传输与接收周期出现于其间在服务器和客户机之间维持了通信连接的周期内,并且该吞吐量计算器被配置来基于有效数据传输与接收周期的长度和所传输数据量计算最大吞吐量;以及比特率设置器,被配置来在高达相应于由所述吞吐量计算器所计算的最大吞吐量的最大可允许比特率的范围内设置传输比特率。
2.根据权利要求1所述的通信处理装置,其中,所述吞吐量计算器被配置成限定有效数据传输与接收周期,该有效数据传输与接收周期与从基于窗口尺寸开始连续数据传输到接收到该连续传输的数据的收到确认的周期相对应;以及基于所述有效数据传输与接收周期的长度和所传输的数据量计算最大吞吐量。
3.根据权利要求1所述的通信处理装置,其中,所述吞吐量计算器被配置成限定有效数据传输与接收周期,该有效数据传输与接收周期与从基于窗口尺寸开始连续数据传输到接收到该连续传输的数据的收到确认的周期相对应;获得与多个有效数据传输与接收周期相关样本数据的多段;以及基于在所获得的样本数据的所述多段中的、排除了那些被确定为具有异常值的数据的那些段的样本数据的多段,来计算最大吞吐量。
4.根据权利要求1所述的通信处理装置,其中,所述比特率设置器配置成基于客户机缓冲器的估计缓冲器的量的变化,设置比特率;以及在所估计的缓冲器的量大于或等于预定阈值时,在高达相应于由所述吞吐量计算器所计算的最大吞吐量的最大可允许比特率的上限的范围内增大所述比特率。
5.根据权利要求4所述的通信处理装置,其中,所述比特率设置器配置成使用下列信息(a)到(d),通过根据表示为客户机缓冲器的所估计的缓冲器的量=B_cli+D_serv-R*T的方程进行的计算,来估计所述客户机缓冲器的量(a)在通信开始时所述客户机报告的缓冲器的量B_cli,以字节表示;(b)自所述客户机回放开始起所逝去的时间T,以秒表示;(c)在自所述客户机回放开始起所逝去的时间T期间所述服务器所传输的数据的量D_serv,以字节表示;以及(d)从所传输的内容可获得的内容的回放速率R,以字节每秒表示。
6.根据权利要求1所述的通信处理装置,其中,所述数据收发器配置成从作为用于与客户机进行通信的媒介的存取点接收通信带宽信息,所述通信带宽信息涉及所述存取点和所述客户机之间的通信带宽,以及其中,所述比特率设置器配置成基于通信带宽信息设置传输比特率。
7.根据权利要求6所述的通信处理装置,其中,所述通信带宽包括基于与往返时间、所接收的信号强度指示符、以及在所述存取点和所述客户机之间的通信的传输速率中的至少之一有关的数据所生成的信息。
8.一种通信处理装置,作为用于向客户机传输数据的服务器,该通信处理装置包括数据收发器,被配置来执行与所述客户机的通信;速率控制器,被配置来控制和确定被传输给所述客户机的数据的比特率;以及数据处理器,被配置来准备数据以便按照由所述速率控制器所确定的比特率进行传输;其中,所述速率控制器包括比特率设置器,该比特率设置器被配置成限定基于在其间所述服务器和所述客户机之间维持通信连接的周期内连续传输的数据分组的接收间隔信息所计算的最大吞吐量;以及在高达与所述最大吞吐量相应的最大可允许比特率的范围内设置传输比特率。
9.根据权利要求8所述的通信处理装置,其中,所述速率控制器包括吞吐量计算器,该吞吐量计算器被配置成从所述客户机接收在服务器和客户机之间维持通信连接的周期内连续传输的数据分组的接收间隔信息;并且基于所述接收间隔信息和所传输的数据量计算最大吞吐量,以及其中,所述比特率设置器被配置成在高达相应于由所述吞吐量计算器所计算的所述最大吞吐量的最大可允许比特率的范围内设置传输比特率。
10.根据权利要求8所述的通信处理装置,其中,所述数据收发器配置成连续地传输具有被设置成某一特定值的紧急标志的分组首部的分组,被设置成该特定值的所述紧急标志用作下述分组的标识信息,客户机将采用该标识信息测量接收间隔。
11.根据权利要求8所述的通信处理装置,其中,所述比特率设置器被配置成基于客户机缓冲器的估计的缓冲器的量的变化设置比特率,而且当所估计的缓冲器的量大于或等于预定阈值时,在高达相应于由所述吞吐量计算器所计算的所述最大吞吐量的所述最大可允许比特率的上限的范围内增大所述比特率。
12.根据权利要求11所述的通信处理装置,其中,所述比特率设置器配置成通过使用下列信息(a)到(d),根据表示为所述客户机缓冲器的所估计的缓冲器的量=B_cli+D_serv-R*T的方程进行计算,来估计所述客户机缓冲器的量(a)在通信开始时所述客户机报告的缓冲器的量B_cli,以字节表示;(b)自所述客户机回放开始起所逝去的时间T,以秒表示;(c)在自所述客户机回放开始起所逝去的时间T期间所述服务器所传输的数据的量D_serv,以字节表示;以及(d)从所传输的内容可获得的内容的回放速率R,以字节每秒表示。
13.根据权利要求8所述的通信处理装置,其中,所述数据收发器配置成从作为用于与客户机进行通信的媒介的存取点接收通信带宽信息,所述通信带宽信息涉及所述存取点和所述客户机之间的通信带宽,以及其中,所述比特率设置器配置成基于通信带宽信息设置传输比特率。
14.根据权利要求13所述的通信处理装置,其中,所述通信带宽包括基于与往返时间、所接收的信号强度指示符、以及在所述存取点和所述客户机之间的通信的传输速率中的至少之一有关的数据所生成的信息。
15.一种通信处理装置,用作从服务器接收数据的客户机,该通信处理装置包括数据收发器,被配置来执行与服务器的通信;以及分组间隔测量器,被配置来测量从所述服务器所接收的数据分组的接收间隔;其中,所述分组间隔测量器被配置成根据包括在从服务器所接收的分组中的标识信息,测量连续接收的分组的接收间隔;并且经由数据收发器,把代表所述接收间隔的接收间隔信息或基于所述接收间隔所计算的吞吐量信息传输给所述服务器。
16.根据权利要求15所述的通信处理装置,其中,所述分组间隔测量器被配置成根据包括在从所述服务器所接收的所述分组中的分组首部的紧急标志的设置,测量连续接收的分组的接收间隔。
17.一种包括传输和接收数据的服务器和客户机的数据通信系统,其中,所述客户机配置成根据包括在从所述服务器所接收的分组中的标识信息,测量连续接收的分组的接收间隔;并且把代表所述接收间隔的接收间隔信息或基于所述接收间隔所计算的吞吐量信息传输给所述服务器,以及其中,所述服务器被配置成在高达相应于基于从客户机所接收的吞吐量信息或接收间隔信息所计算的最大吞吐量的最大可允许比特率的范围内,设置传输比特率;并且根据所述传输比特率把数据传输给所述客户机。
18.根据权利要求17所述的数据通信系统,其中,所述服务器被配置成从作为与客户机进行通信的媒介的存取点接收通信带宽信息,所述通信带宽信息涉及所述存取点和所述客户机之间的通信带宽;并且基于所述通信带宽信息确定传输比特率。
19.一种传输数据的服务器的通信处理方法,所述通信处理方法包括下列步骤控制和确定传输给客户机的数据的比特率;以及准备数据以便根据在所述速率控制步骤所确定的所述比特率进行传输;其中,所述速率控制步骤包括下列步骤抽取不包括无效数据传输与接收周期的有效数据传输与接收周期,所述有效和无效数据传输与接收周期出现在所述服务器和所述客户机之间维持通信连接的周期内;并且基于所述有效数据传输与接收周期的长度和所传输数据的量来计算最大吞吐量;以及在高达相应于在所述吞吐量计算步骤所计算的所述最大吞吐量的最大可允许比特率的范围内设置传输比特率。
20.根据权利要求19所述的通信处理方法,其中,所述吞吐量计算步骤限定有效数据传输与接收周期,该有效数据传输与接收周期与从基于窗口尺寸开始连续数据传输到接收到该连续传输的数据的收到确认的周期相对应;并且基于所述有效数据传输与接收周期的长度和所传输数据的量计算最大吞吐量。
21.根据权利要求19所述的通信处理方法,其中,所述吞吐量计算步骤限定有效数据传输与接收周期,该有效数据传输与接收周期与从基于窗口尺寸开始连续数据传输到接收到该连续传输的数据的收到确认的周期相对应;获得与多个有效数据传输与接收周期相关样本数据的多段;以及基于在所获得的样本数据的所述多段中的、排除了那些被确定为具有异常值的数据的那些段的样本数据的多段,来计算最大吞吐量。
22.根据权利要求19所述的通信处理方法,其中,所述比特率设置步骤基于客户机缓冲器的估计缓冲器的量的变化,设置比特率;以及在所估计的缓冲器的量大于或等于预定阈值时,在高达相应于在所述吞吐量计算步骤中所计算的最大吞吐量的最大可允许比特率的上限的范围内增大所述比特率。
23.根据权利要求22所述的通信处理方法,其中,所述比特率设置步骤使用下列信息(a)到(d),通过根据表示为客户机缓冲器的所估计的缓冲器的量=B_cli+D_serv-R*T的方程进行的计算,来估计所述客户机缓冲器的量(a)在通信开始时所述客户机报告的缓冲器的量B_cli,以字节表示;(b)自所述客户机回放开始起所逝去的时间T,以秒表示;(c)在自所述客户机回放开始起所逝去的时间T期间所述服务器所传输的数据的量D_serv,以字节表示;以及(d)从所传输的内容可获得的内容的回放速率R,以字节每秒表示。
24.根据权利要求19所述的通信处理方法,其中,还包括从作为与客户机进行通信的媒介的存取点接收通信带宽信息的步骤,该通信带宽信息涉及该存取点和客户机之间的通信带宽;其中,所述比特率设置步骤基于所述通信带宽信息设置传输比特率。
25.根据权利要求24所述的通信处理方法,其中,所述通信带宽信息包括基于与往返时间、所接收的信号强度指示符、以及在所述存取点和所述客户机之间的通信的传输速率中的至少之一有关的数据所生成的信息。
26.一种用于传输数据的服务器的通信处理方法,该通信处理方法包括下列步骤控制和确定传输给客户机的数据的比特率;以及准备数据以便根据在所述速率控制步骤所确定的比特率进行传输;其中,所述速率控制步骤包括下列步骤限定基于在其间所述服务器和所述客户机之间维持通信连接的周期内连续传输的数据分组的接收间隔信息所计算的最大吞吐量;以及在高达与所述最大吞吐量相应的最大可允许比特率的范围内设置传输比特率。
27.根据权利要求26所述的通信处理方法,其中,所述速率控制器包括吞吐量计算器,该吞吐量计算器被配置成从所述客户机接收在服务器和客户机之间维持通信连接的周期内连续传输的数据分组的接收间隔信息;并且基于所述接收间隔信息和所传输的数据量计算最大吞吐量,以及其中,所述比特率设置器被配置成在高达相应于由所述吞吐量计算器所计算的所述最大吞吐量的最大可允许比特率的范围内设置传输比特率。
28.根据权利要求26所述的通信处理方法,还包括步骤连续地传输具有分组首部的分组,该分组首部的紧急标志被设置成特定值,所述被设置成特定值的紧急标志用作分组的标识信息,所述客户机将采用该标识信息测量接收间隔。
29.根据权利要求26所述的通信处理方法,其中,所述比特率设置步骤基于客户机缓冲器的估计缓冲器的量的变化,设置比特率;以及在所估计的缓冲器的量大于或等于预定阈值时,在高达相应于由所述吞吐量计算器所计算的最大吞吐量的最大可允许比特率的上限的范围内增大所述比特率。
30.根据权利要求29所述的通信处理方法,其中,所述比特率设置步骤使用下列信息(a)到(d),通过根据表示为客户机缓冲器的所估计的缓冲器的量=B_cli+D_serv-R*T的方程进行的计算,来估计所述客户机缓冲器的量(a)在通信开始时所述客户机报告的缓冲器的量B_cli,以字节表示;(b)自所述客户机回放开始起所逝去的时间T,以秒表示;(c)在自所述客户机回放开始起所逝去的时间T期间所述服务器所传输的数据的量D_serv,以字节表示;以及(e)从所传输的内容可获得的内容的回放速率R,以字节每秒表示。
31.根据权利要求26所述的通信处理方法,还包括从作为与客户机进行通信的媒介的存取点接收通信带宽信息的步骤,该通信带宽信息涉及该存取点和客户机之间的通信带宽。其中,所述比特率设置步骤基于所述通信带宽信息设置传输比特率。
32.根据权利要求31所述的通信处理方法,其中,所述通信带宽信息包括基于与往返时间、所接收的信号强度指示符、以及在所述存取点和所述客户机之间的通信的传输速率中的至少之一有关的数据所生成的信息。
33.一种用于接收数据的客户机的通信处理方法,该通信处理方法包括下列步骤根据包括在从服务器所接收的分组中的标识信息,测量连续接收的分组的接收间隔;以及把代表在所述测量步骤中所测的所述分组接收间隔的分组接收间隔信息或基于所述接收间隔所计算的吞吐量信息传输给所述服务器。
34.根据权利要求33所述的通信处理方法,其中,所述分组间隔测量步骤根据包括在从所述服务器所接收的分组中的分组首部的紧急标志的设置,测量连续接收的分组的接收间隔。
全文摘要
一种用作向客户机传输数据的服务器的通信处理装置,包括数据收发器,被配置来执行与客户机的通信;速率控制器,被配置来控制传输给客户机的数据的比特率;以及数据处理器,被配置来根据比特率准备待传输的数据。速率控制器包括吞吐量计算器,被配置来在其间在服务器和客户机之间维持了通信连接的周期内,抽取不包括无效数据传输与接收周期的有效数据传输与接收周期,而且吞吐量计算器的配置还旨在根据有效数据传输与接收周期的长度和所传输数据的数量计算最大吞吐量;以及比特率设置器,被配置来在最高可达相应于吞吐量计算器所计算的最大吞吐量的最大可允许比特率的范围内设置比特率。
文档编号H04L29/06GK1841984SQ20061007145
公开日2006年10月4日 申请日期2006年3月28日 优先权日2005年3月28日
发明者小川晃通, 五十岚卓也, 舌间一宏, 见山成志 申请人:索尼株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1