专利名称:数据网络中用于多播和单播混合式传输的方法和装置的制作方法
技术领域:
本发明一般涉及网络环境中的内容传送,尤其涉及数据网络中用于多播和单播混合式传输的方法和装置。
背景技术:
数据网络,如无线通信网络,需要在专门为单一终端定制的服务和对所有终端广播/多播的服务之间进行折衷。将内容(数据)传送给大量终端(用户)是一个复杂的问题。实现多播技术的网络系统可以在广域上传送数据,但是,由于发射机很难知道该传送是否成功,因此,成本和资源利用率会很高并造成浪费。
在一种多播传输中,该信息的一个副本同时传送给成百上千的接收机。为了实现传输的可靠性,已经提出了一些技术,大体上可以将其分为下面描述的三种方法。
在第一种方法中,发射机通过保存它预期从多播传输的每个接收机接收到的确认应答(ACK),而维护着该传输的每个接收机的状态信息。如果在选定的超时间隔届满前没有收到确认应答,则发射机将该信息重新发送给多播组。当接收方很多时,这种方法的伸缩性不够好,并且容易受到著名的“ACK爆满”问题的影响,此时数量惊人的确认应答(ACK)会淹没该发射机。另外,发射机经常不知道该多播组的成员(接收机)是谁,这使得发射机很难维护该接收机的状态信息。
在第二种方法中,如果某接收机没有获取到无错的信息,则通过让该接收机都发送一个否定性的确认信号(NACK),来解决第一种方法的伸缩性问题。在这个方法的一种变体中,让一个中间节点汇聚来自下游节点的NACK信号,并仅仅将一个NACK转发给上游节点。然后,上游节点可以重传该信息。
在第三种方法中,通过冗余实现传输可靠性。最简单的冗余形式就是重复。在第三种方法中使用重复,相同的信息会重传多次。另一种冗余形式就是对要传输的信息执行前向纠错(FEC)。通过采用巧妙的编码机制,可以利用较少的冗余信息来获得同样的可靠性系数。
但是,在上面的所有方法中,重传数据会发送给所有的接收机。由于只有一份信息副本需要发送,所以,这种重传机制可以在有线网络中取得令人满意的效果。该网络中的路由协议处理数据包的副本,从而将数据传送到分配树的各个分支。另外,对于有线网络的高带宽情况,信息传输至该树的叶子(最后一跳)的开销相对较低。
但是,不同于有线网络,无线网络中的最后一跳是最昂贵的资源。此即为在基站收发器和多个移动终端之间的空中资源。不能对无线网络中的广播传输进行传输功率控制,因为它的设计初衷是获取特定的小区覆盖范围和帧差错率。因此,由于广播传输要达到更大的覆盖范围,故无线网络中的广播传输采用的功率比单播传输要高。所以,广播传输一般而言会比单播传输开销更大。
而且,在无线广播传输中,来自接收终端的确认应答是有限的。通过FEC或者重复广播实现可靠性。但是,即使有高的FEC或者重复广播,有些用户可能还是不能收到数据。例如,没有收到数据的移动终端可能处在广播区之外,或者它们接收广播的过程因为处理话音业务而中断。因此,由于这些终端不能够接收到该信息,所以重复广播该信息会造成浪费。当没有收到信息的终端数量很小时,重复广播信息也会造成了浪费。例如,如果利用高FEC实现可靠性,那么,在给定扇区内不能够正确地接收信息的移动终端的数量会很小。因此,利用整个广播信道向一小部分移动终端重复广播信息会造成浪费。
因此,需要一种用于网络环境中的传送系统,该系统可以确定资源利用率最高和最划算的方法来向大量的接收终端传输数据。例如,该系统可以在无线网络环境中运行,以判断利用单播还是多播传输技术来向大量接收终端传输数据,从而获得更高的效率和/或性价比。
发明内容
在一个或更多个实施例中,提供了一种数据传送系统,其包括方法和装置,用以高效地向数据网络中的大量终端传送数据。在一个实施例中,该系统采用了多播和单播的混合式传输向终端传送数据(或内容)。该系统尤其适用于无线网络中,在此无线网络中从基站到多个移动终端的数据无线传输利用了昂贵的空中资源。
在一个实施例中,系统中的发射机利用多个参数判断采用多播或者单播传输向网络中的大量终端发送数据的成本开销。根据哪种传输技术开销更小,该发射机会生成传输调度表,该传输调度表指定了如何以及何时传输数据。如果以多播方式传输数据,发射机就根据该传输调度表对数据进行多播传输。如果数据传输后某个终端不能够收到该数据,那么该终端可以请求与该发射机建立单播会话以接收该数据。在一个实施例中,在发射机将数据多播传输给终端后,该发射机可以再进行传输成本分析,来判断任何的重传是如何执行的。因此,如果可以用开销较小的单播会话将数据传送给足够的终端,从而满足预期的服务质量需求的话,那么该系统就避免了将该数据重新广播给所有的终端而造成的高开销。由于避免了造成浪费的数据的重新广播,所以,宝贵的空中链路资源就得到了高效的利用。
在一个实施例中,提供了一种方法来操作数据网络上的服务器。该方法包括计算与多播和单播数据传输相关联的多播成本指数和单播成本指数。该方法还包括判定该多播成本指数小于该单播成本指数,并且,生成传输调度表,该传输调度表描述了何时在数据网络上进行数据多播传输。该方法还包括传输该传输调度表,并且,根据该传输调度表进行数据多播传输。
在一个实施例中,提供了用于数据网络上服务器中的装置。该装置包括成本估计器,用于计算与多播和单播数据传输相关联的多播成本指数和单播成本指数。该装置还包括处理逻辑电路,用于判定该多播成本指数小于该单播成本指数,并且,生成传输调度表,该传输调度表描述了何时在数据网络上进行数据多播传输。该装置还包括传输逻辑电路,用于传输该传输调度表,并且,根据该传输调度表进行数据多播传输。
在一个实施例中,提供了用于数据网络上服务器中的装置。该装置包括计算与多播和单播数据传输相关联的多播成本指数和单播成本指数的模块;判定该多播成本指数小于该单播成本指数的模块。该装置还包括生成传输调度表的模块,该传输调度表描述了何时在数据网络上进行数据多播传输;传输该传输调度表的模块。该装置还包括根据该传输调度表进行数据多播传输的模块。
在一个实施例中,一种计算机可读介质包括指令,该指令在被服务器中的处理逻辑电路执行时,用于在数据网络上进行数据传输。该计算机可读介质包括计算与多播和单播数据传输相关联的多播成本指数和单播成本指数的指令;判定该多播成本指数小于该单播成本指数的指令。该计算机可读介质还包括生成传输调度表以描述何时在所述数据网络上对数据进行多播传输的指令;传输该传输调度表的指令。该计算机可读介质还包括根据传输调度表对数据进行多播传输的指令。
在一个实施例中,提供了一种用于操作数据网络上的接收终端的方法。该方法包括接收传输调度表,该传输调度表描述了数据将如何被传输。该方法还包括判定该数据将要通过数据网络在一个或多个多播周期中进行多播传输;在一个或多个多播周期中接收多播传输的数据。
在一个实施例中,提供了用于数据网络上接收终端的装置,该装置包括用于接收传输调度表的逻辑电路,该传输调度表描述了数据将如何被传输。该装置还包括用于判定通过数据网络数据会在一个或多个多播周期中进行多播传输的逻辑电路;用于在一个或多个多播周期中接收多播数据的逻辑电路。
通过阅读下面列出的
具体实施方式
和权利要求,本发明的其它方面、优点和特色将变得更加显而易见。
参考下面结合附图给出的详细描述,这里描述的实施例的前述方面和相关的优点将变得更加显而易见,其中图1示出了包括数据传送系统的一个实施例的数据网络;图2示出了传输服务器的一个实施例的具体结构图,该传输服务器适用于数据传送系统的一个实施例中;图3示出了方法的一个实施例,该方法用于在数据传送系统的一个实施例内操作服务器。
图4示出了一个终端的实施例的具体结构图,该终端实施例适用于数据传送系统的一个实施例中;图5示出了方法的一个实施例,该方法用于在数据传送系统的一个实施例中操作终端;以及,图6的示意图说明了采用所描述的数据传送系统的一个或多个实施例所能达到的成本和资源效率。
具体实施例方式
以下内容详细描述了数据传送系统的一个或多个实施例,该数据传送系统用于在无线网络中从传输服务器向多个终端高效地传送数据。在一个实施例中,该系统采用了混合式传输技术,即将多播和单播传输结合起来高效地向终端传送数据。该系统尤其适用于无线网络环境,但亦适用于任何类型的网络环境中,包括通信网络、公共网络,如互联网、专用网络,如虚拟专用网络(VPN)、局域网、广域网、长距离传输网络或者其它任何种类的数据网络,但并不局限于这些网络。
在下面的描述中,所定义的多播传输涵盖下面一种或多种传输。
1.一对多(一个发射机和多个接收机)
2.多对多(多个发射机和多个接收机)3.多对一(多个发射机和一个接收机)因此,一般将“广播”传输定义为第一种类型的多播传输。但是,本文中所用的术语“广播”也指上述多播类型中的任何一种。
图1示出了数据网络100,数据网络100包括数据传送系统的一个实施例。该网络100包括服务器102、数据网络104以及如106处所示的终端(1到N)。数据网络104可以是任何类型的有线和无线网络和/或有线和无线网络的组合体,它使数据能够在服务器102和终端106之间进行传输。网络104包括基站108,该基站可以通过通信信道110与网络104连结。通信信道110可以是任何类型的有线或无线通信信道,该信道使基站108能够在数据网络104上进行通信。基站通过无线通信链路112与终端106进行通信,该无线通信链路使数据能够在基站108和终端106之间无线地传输。在一个实施例中,无线通信链路112包括前向通信信道、反向通信信道、控制信道以及其它任何类型的可以用于在基站108和终端106之间进行通信的通信信道。
服务器102通过通信链路114与数据网络104进行通信,该通信链路可以是有线和/或无线的通信链路。为便于说明,可以假设服务器102包括三个数据文件116(或者“内容文件”)C1、C2、C3,它们可以是任何类型或形式。在数据传送系统的一个或多个实施例中,数据文件116由服务器102通过网络104高效地传输给终端106。
在一个实施例中,服务器102包括成本估计器118,用以计算传输成本估计值,该传输成本估计值涉及以多播和单播传输方式从服务器102传输数据116的成本。例如,成本估计器118用于计算多播成本指数和单播成本指数,从而可以对两个计算出的指数进行比较以确定成本较低的传输技术。该成本估计器使用多种网络和系统参数来确定传输成本估计值。
将从成本估计器118输出的成本估计值输出到选择逻辑电路120,该选择逻辑电路在多播传输逻辑电路122和单播逻辑电路124之间作出选择,从而将数据传输给终端106。在一个实施例中,该选择逻辑电路120根据成本估计值选择开销最小的传输技术。
为了提供一个选定的服务水平,服务器102要确定一个可靠性系数,该系数表示它希望传送数据所具备的可靠性。根据该可靠性系数,对数据116进行选定等级的FEC,并且将得到的编码数据进行交织,以产生数据流126,通过选定的传输技术将数据流126传输到终端106。
在传输之前,服务器102生成传输调度表,该传输调度表描述了如何以及何时将数据传输到终端106。服务器102将该传输调度表传输到终端106,这样,终端106就可以预先知道数据如何进行传输。传送该传输调度表可以通过任何类型的传输信道来执行,包括任何控制信道、带外信道或者任何其它类型的可以在服务器102和终端106之间进行传输的信道,但并不仅限于这些信道。如果要将数据单播传输到终端,则该传输调度表会提供一个时间窗口,在该时间窗口内终端106可以和服务器建立单播会话以获得数据116。如果要将数据多播传输到终端,则该传输调度表确定了何时对数据116进行多播传输,这样,终端就可以在适当的时间进行监听以接收数据。
如果该数据是多播的,任何没有收到数据的终端都可以请求通过单播传输收取该数据。例如,某个终端可能处在选定的传输范围之外、正受到传输干扰或者正在提供另一项服务而阻碍了多播数据的接收。例如,在图1中,可以假设终端1和终端N没有接收到多播数据,因此这些终端在如图所示的路径130、132和134上向服务器102发送请求(分别是Req1和Req2)。这些请求是要求与服务器102建立单播会话的请求,这样终端1和N就可以利用单播传输接收数据。
在一个实施例中,数据多播之后,服务器102接收到许多要求和终端106建立单播会话的请求。服务器102接收这些请求之后,成本估计器118再次计算是通过多播传输重传数据划算还是为满足所有请求而建立所要求数量的单播会话划算。作出判定之后,采用最划算的方法重新传输数据。例如,如果采用多播传输进行重新广播最划算,则生成一个新的传输调度表并且将其在重新广播之前传输给终端。如果单播会话最划算,则服务器102建立所要求数量的单播会话以满足它所收到的请求。
因此,在一个或多个实施例中,数据传送系统要确定在数据网络上向终端传输数据的最划算方法。可以对数据的任何重传做出判定,直到向足够的终端提供了数据,从而达到选定的服务水平。所以,对于任何特定的网络环境,相同数据基于最高效的传输方法既可以多播也可以单播传输,因此数据传送系统的实施例提供混合式传输系统。
图2示出了传输服务器200的一个实施例的具体结构图,该服务器适用于数据传送系统的一个实施例中。例如,该服务器200可以是图1中的服务器102。该服务器200包括处理逻辑电路202、设备资源204、数据存储器206、传输逻辑电路208以及接收逻辑电路210,它们都与内部数据总线212相连结。服务器200还包括成本估计器214和FEC/交织逻辑电路216,它们也与该数据总线212相连结。
在一个或多个实施例中,处理逻辑电路202包括CPU、处理器、门阵列、硬件逻辑、存储器单元、虚拟机、软件以及/或硬件和软件的任何结合。因此,处理逻辑电路202一般包括逻辑电路,该逻辑电路用于执行机器可读指令,也用于通过内部数据总线212控制服务器200的一个或多个其它功能单元。
设备资源和接口204包括使服务器200与内部和外部系统能够进行通信的硬件和/或软件。例如,内部系统可以包括大容量存贮器系统、存储器、显示驱动器、调制解调器或者其它内部设备资源。外部系统可以包括用户接口设备、打印机、硬盘驱动器或者其它本地设备或系统。
数据存储器206包括任何类型的存储设备并且包括要传输给数据网络上的一个或多个终端的数据(或内容)。例如,该内容可以包括多媒体内容或者任何其它类型的内容。
传输逻辑电路208包括使服务器200能够向远程设备或者系统传输数据或其它信息的硬件和/或软件。例如,在一个实施例中,传输逻辑电路208包括多播逻辑电路,用于通过多播信道218向远程设备(如移动终端)多播传输数据和/或其它信息。例如,多播逻辑电路使服务器200能够通过数据网络向多个远程终端进行多播传输。传输逻辑电路208还包括单播逻辑电路,用于通过单播信道220向远程设备(如移动终端)传输数据和/或其它信息。例如,单播逻辑电路使服务器200能够建立一个或多个单播会话,从而通过单播信道220向一个或多个远程终端传输数据。传输逻辑电路208还包括控制信道逻辑电路,用于通过控制信道222向远程设备传输控制信息。控制信道逻辑电路可以包括任何合适的硬件和/或软件,并且实现任何类型的控制信道,该控制信道适用于从服务器200向一个或多个远程终端传输信息。
接收逻辑电路210包括使服务器200能够通过接收信道224从远程设备接收数据和其它信息的硬件和/或软件。例如,接收逻辑电路210通过接收信道224与数据网络相连,从而使服务器200能够接收从远程终端设备传输过来的数据请求。
成本估计器逻辑电路214包括CPU、处理器、门阵列、硬件逻辑、存储器单元、虚拟机、软件和/或软件和硬件的任何结合。成本估计器214用于计算通过数据网络向多个远程终端多播和单播内容传输的成本。例如,成本估计器采用多种参数来计算成本指数,包括分别指示多播和单播传输成本的多播成本指数和单播成本指数。这些成本参数包括实际成本、带宽利用率、网络利用率、位置、延迟、功率和任何其它资源利用率或成本参数,但并不仅限于这些。在一个实施例中,随着应用的不同,成本参数也是不同的,但是,可以利用任何成本计算函数。从成本估计器214输出的成本指数可以用于判断是多播传输数据还是单播传输数据可以提供开销最小的方法,来向远程终端传输数据。
FEC/交织逻辑电路216包括CPU、处理器、门阵列、硬件逻辑、存储器单元、虚拟机、软件和/或软件和硬件的任何结合。FEC/交织逻辑电路216用于向要传输的内容提供FEC,这样可以按一个选定的服务质量水平(QoS)上传送该内容。在一个或多个实施例中,FEC/交织器216可以向要传输的内容提供任何类型的FEC。此外,FEC/交织器还可以将多个内容文件进行交织,从而提供分集并且防止线路头(HOL)阻塞。因此,FEC/交织器216可以采用任何合适的交织技术来提供传输分集。
服务器200适用于数据传送系统的一个或多个实施例,从而可以高效地通过数据网络向多个终端传送数据。在运行期间,服务器200把要传送给接收终端的内容(1、2、3)存储在数据存储器206中。成本估计器逻辑电路214用于估计成本指数,该成本指数表示与通过多播和单播传输该内容相关联的成本。处理逻辑电路202从成本估计器214接收成本指数,并且选择开销最小的传输技术向远程终端传输内容。在一个实施例中,处理逻辑电路202生成传输调度表,该传输调度表描述了如何以及何时将数据传输到远程终端。例如,在一个实施例中,该传输调度表描述了服务器何时将一个或多个内容多播传输给远程终端。在另一个实施例中,传输调度表描述了何时能够使终端与服务器建立单播会话以接收内容的窗口。本文的另一部分将会对数据传送系统的运作和服务器200的运作进行更具体的描述。
在一个实施例中,数据传送系统包括存储在计算机可读介质上的程序指令,这些指令当被处理逻辑电路202执行时,就会提供这里描述的服务器200的功能。例如,可以从计算机可读介质将指令载入到服务器200,例如,这些计算机可读介质包括软盘、CDROM存储器、存储卡、闪存设备、RAM存储器、ROM存储器或者任何其它类型的通过设备资源204与服务器200相连结的存储设备或计算机可读介质等。在另一个实施例中,可以从通过接收逻辑电路210与服务器200相连结的网络资源将指令下载到服务器200。这些指令当被处理逻辑电路202执行时,就会提供这里描述的数据传送系统的一个或多个实施例。
图3示出了方法300的一个实施例,用以在数据传送系统的一个实施例内操作服务器。为清楚起见,这里将参照图2中所示的服务器200来描述方法300。在一个或多个实施例中,处理逻辑电路202通过执行程序指令来执行下面描述的功能。
在块302,将多播周期指数(N)初始化。例如,将多播周期指数(N)初始化为0。在一个实施例中,由处理逻辑电路202将周期指数N进行存储和初始化,该周期指数N指示用于向远程终端传输数据所要用的多播传输周期的数量。
在块304,服务器计算要传输给多个远程终端的内容的单播(U)和多播(M)传输成本。在块306计算多播传输成本,在块308计算单播传输成本。对每种传输类型的计算都需要输入,如使用数据、接收机的中断概率、帧差错率、用户数量、FEC、上层协议等等。例如,成本估计器214用于计算多播成本指数和单播成本指数。
在块310,执行一次测试,来比较多播(M)和单播(U)传输的成本。例如,处理逻辑电路202根据从成本估计器214接收到的成本指数执行该测试。如果测试判定用单播传输内容更划算,则该方法继续进行到块312。如果测试判定用多播传输内容更划算,则该方法继续进行到块314。
在块312,执行测试,以判断该方法是否处于初始多播周期,即还没有安排多播传输。例如,由处理逻辑电路202执行该测试。如果多播周期已经置为它的初始值0,则没有安排多播传输,那么该方法可以继续进行到块316。如果该多播周期已经置为非0数字,则已经安排了一个或多个多播传输,那么该方法继续进行到块318。
在块316,生成单播传输调度表,这样就可以利用单播传输向远程终端传输内容。例如,由处理逻辑电路202完成的成本分析已经判定出利用单播传输内容更划算。在一个实施例中,该处理逻辑电路202生成传输调度表,该调度表包括远程终端利用单播传输接收内容的联系窗口。该联系窗口指定了时间间隔,在时间间隔内远程终端可以与服务器建立单播会话来接收内容。处理逻辑电路202与远程终端建立单播会话,并且利用传输逻辑电路208和单播信道220将内容传输到那些终端。然后,该方法继续进行块320,在此将传输调度表通过控制信道222传输到终端并且相应地传输数据。
在块318,由于周期指数N不等于0,所以已经安排了一个或多个多播周期。因此,处理逻辑电路202虽然已经计算出向大多数终端传输内容所需的多播周期的数量,但是已经判定出通过单播传输将内容传输到足够的额外终端以达到期望的水平服务更划算。处理逻辑电路202生成传输调度表,用以描述每个多播周期何时发生。将该传输调度表传输到远程终端,这样,它们可以在适当的时候监听该多播传输。在实际的多播之前,可以对内容进行FEC,如果有多个内容文件要传输,则FEC/交织逻辑电路216将一个内容文件的多播周期和其它内容文件的多播周期相交织,以提高系统的性能。
如果有一个或多个远程终端在所有多播都完成后仍没有收到内容,则此些终端可以请求单播会话以从服务器获取内容。因此,数据传送系统使一个或多个多播能够高效地向远程终端传输数据。那些没有接收到多播的终端可以请求单播会话以从服务器获取数据。所以,该系统利用多播和单播混合式传输,来提供数据传输的最划算方法。
在块314,多播周期N递增1。例如,处理逻辑电路202使多播周期N递增并且存储该值。这里,将会使用一个或多个多播向远程接收机传输内容。然后该方法继续回到块304,在那里计算新的成本指数来判断是否安排额外的多播。但是,在并行处理中,在块322开始计算新的单播传输成本。
在块322,计算在先前计算出的多播周期中网络不能够到达的远程终端的数量。例如,处理逻辑电路202执行从块322到330的功能,以确定在所有预定的多播之后还没有接收到内容的未服务远程终端的数量。在计算出未服务的终端的数量之后,该方法回到块304重复计算多播和单播传输成本的过程。例如,在三个多播周期之后,可能还存在没有收到数据的未服务终端。在块304进行的下一次成本计算中,可能判定内容的再一次多播会比与未服务的终端建立单播会话的开销大。在这种情况下,该方法会继续进行到块318,在那里生成多播调度表并且随后执行多播。任何剩余的未服务的终端都可以建立单播会话来接收数据。
需要注意的是,方法300只是举例说明了一个实施例,在不背离所描述的实施例范围的前提下,可以修改、增加或重排流程图的各个部分。
图4示出了终端400的一个实施例的具体结构,该终端适用于数据传送系统的一个实施例中。终端400包括处理逻辑电路402、数据存储器404、设备资源和接口406、传输逻辑电路408和接收逻辑电路410,它们都与数据总线412相连。该终端400还包括调度逻辑电路414,它也与数据总线412相连。
在一个或多个实施例中,处理逻辑电路402包括CPU、处理器、门阵列、硬件逻辑、存储器单元、虚拟机、软件和/或硬件和软件的任何集合。因此,处理逻辑电路402一般包括逻辑电路,该逻辑电路用于执行机器可读指令,也用于通过内部数据总线412来控制该终端400的一个或多个其它功能单元。
设备资源和接口406包括使终端400能够与内部和外部系统进行通信的硬件和/或软件。例如,内部系统可以包括大容量存贮系统、存储器、显示驱动器、调制解调器或者其它内部设备资源。外部系统可以包括用户接口设备、打印机、硬盘驱动器或者其它本地设备或系统。
传输逻辑电路408包括使终端400能够向外部设备或系统传输数据和其它信息的硬件和/或软件。例如,传输逻辑电路408可以包括用于通过数据网络向其它设备(如服务器)传输数据和/或其它信息的逻辑电路。例如,处理逻辑电路402可以利用传输逻辑电路408向服务器传输请求,以请求在数据网络中建立单播会话。
接收逻辑电路410包括使终端400能够从远程设备或系统接收数据和其它信息的硬件和/或软件。例如,在一个实施例中,接收逻辑电路410包括多播接收逻辑电路,用于接收来自远程设备(如网络服务器)通过多播信道418多播传输的数据和/或其它信息。例如,多播接收逻辑电路使终端400能够通过数据网络从网络服务器接收多播传输。该接收逻辑电路410还包括单播逻辑电路,用于接收来自远程设备通过单播信道220单播传输的数据和/或其它信息。例如,单播逻辑电路使终端400能够建立一个或多个单播会话,从而通过单播信道220接收来自远程服务器的数据。接收逻辑电路408还包括控制信道逻辑电路,用于通过控制信道422从远程服务器接收控制信息。该控制信道逻辑电路可以包括任何合适的硬件和/或软件,并且实现适用于从远程服务器接收信息的任何类型的控制信道。
数据存储器404包括适用于在终端400存储信息的任何类型的存储器。例如,该终端400可以接收来自服务器的多播传输的内容。在一个实施例中,处理逻辑电路402将内容存储在存储器404中,以供进一步处理。
调度逻辑电路414对来自远程服务器的数据的接收做出安排。例如,调度逻辑电路414可以通过控制信道422从远程服务器接收传输调度表。该传输调度表描述了如何以及何时从服务器向终端400的接收来传输数据。如果该传输调度表指定了可以在单播会话内获取数据的时间窗口,则调度逻辑电路414提示处理逻辑电路402与服务器建立单播会话以在该时间窗口内获取数据。如果该传输调度表指定了数据将要在一个或多个多播周期内多播传输,则调度逻辑电路414提示处理逻辑电路402在合适的时间监听数据多播传输。
在运行过程中,终端400根据数据传送系统的一个或多个实施例接收数据,该数据是在数据网络上从传输服务器高效地传输而来的。终端400通过控制信道422从服务器接收传输调度表。处理逻辑电路402处理该传输调度表并且判断将数据多播还是单播传输到终端。如果单播传输数据,则传输调度表指定一个时间窗口,在该时间窗口内终端400可以建立单播会话以接收数据。如果多播传输数据,则传输调度表指定一个或多个数据多播传输何时发生。在一个实施例中,调度逻辑电路414对收到的传输调度表进行处理,这样终端400能够根据上述的传输技术获取数据。
如果对数据进行多播传输而在多播调度表结束时在终端400还没有接收到多播数据,则处理逻辑电路402会请求与服务器建立单播会话以接收数据。因此,数据传送系统的实施例使传输服务器能够以资源利用率最高和最划算的方法传输数据,并且终端400用于接收那些传输。
在一个实施例中,数据传送系统包括存储在计算机可读介质上的程序指令,这些指令当被处理逻辑电路402执行时,就会提供这里描述的终端400的功能。例如,可以从计算机可读介质将指令载入到终端400,这些可读介质包括软盘、CDROM存储器、存储卡、闪存设备、RAM存储器、ROM存储器或者任何其它类型的通过设备资源406与终端400相连结的存储设备或计算机可读介质等。在另一个实施例中,可以从通过接收逻辑电路410与终端400相连结的网络资源将指令下载到终端400。这些指令当被处理逻辑电路402执行时,就会提供这里描述的数据传送系统的一个或多个实施例。
图5示出了方法500的一个实施例,用以在数据传送系统的一个实施例中操作终端。为清楚起见,这里参照图4中所示的终端400来描述方法500。在一个或多个实施例中,处理逻辑电路402通过执行程序指令来实施下面描述的功能。
在块502,在终端接收来自数据网络中服务器的传输调度表。例如,通过接收逻辑电路410的控制信道422,处理逻辑电路402接收该传输调度表。在一个实施例中,该传输调度表描述了何时将要从服务器多播传输内容以及多少次,从而使终端可以接收到该内容。如果向终端单播传输内容,则该传输调度表描述一个时间窗口,在该时间窗口中该终端可以建立单播会话以从服务器接收数据。
在块504,执行一次测试,以判断是否将内容多播传输到终端。例如,处理逻辑电路402利用在传输调度表中接收到的信息来执行该测试。如果多播传输内容,则多播周期指数N要大于0,于是该方法继续进行到块508。如果多播周期指数N等于0,则该内容要通过单播会话传输,于是该方法继续进行到块506。
在块506,在终端和传输服务器之间建立单播会话,从而可以将数据传输到终端。例如,调度逻辑电路414安排何时可以根据包含在接收到的传输调度表中的时间窗口建立单播会话。调度逻辑电路414将该预定的单播时间通知给处理逻辑电路402,于是,处理逻辑电路402利用传输逻辑电路416来请求与服务器建立单播会话。然后,接收逻辑电路通过单播信道420与服务器建立单播会话。
在块508,终端通过单播会话接收数据。例如,处理逻辑电路402通过单播信道420接收数据并且将接收的数据存储在数据存储器404中。在数据接收之后,该方法在块514结束。
在块504,如果已经判定出要将数据多播传输到终端,这样多播周期指数N不等于0,该方法继续执行到块508。
在块508,终端尝试在多播周期中接收数据。例如,调度逻辑电路414指示处理逻辑电路402何时数据将要从服务器多播传输。处理逻辑电路402通过多播信道418控制接收逻辑电路410接收该多播传输。
在块512,执行一次测试,以判断终端是否能够在上一个多播周期中接收到数据。例如,处理逻辑电路402判断是否准确地接收到数据。在一个实施例中,用FEC对该数据进行编码和/或交织。处理逻辑电路402会反转这些操作,以判断是否无差错地收到数据。如果收到的数据无差错,则该方法在块514结束。如果在上一个多播周期中没有正确地接收数据,则该方法继续进行到块516。
在块516,递减多播周期指数N。例如,处理逻辑电路402递减周期指数,从而使其指示出下一个要接收的多播周期。
在块518,执行一次测试,以判断是否还有多播周期剩余。例如,如果多播周期指数N是0,就不存在任何多播周期,于是该方法继续进行到块506,在那里终端与传输服务器建立单播会话以接收数据。如果周期指数N不是0,要执行更多多播周期,于是,该方法继续进行到块508,在那里终端400在下一个多播周期中尝试正确接收多播数据。
该方法继续进行直到通过多播传输或者单播传输接收了数据为止。因此,方法500在数据传送系统的一个实施例中使终端能够接收高效传输的数据。需要注意的是,方法500只是举例说明一个实施例,在不背离所描述的实施例范围的前提下,可以修改、增加或重排流程图的各个部分。
图6给出了示意图600,其示出了利用数据传送系统的一个或多个实施例所达到的成本和资源效率。例如,示意图600举例说明了在一定数量的多播周期之后继续多播传输的情况下收效会逐渐降低。示意图600举例说明了在初始多播传输周期中,没有接收到数据的终端的数量会减少直到点602为止。根据数据传送系统的一个或多个实施例,在达到点602之后,与额外的多播传输相关联的成本会超过单播传输的成本。因此,如示意图604所示,由于网络的大量多播资源将只能用于到达仅仅少数一些终端,故继续进行多播传输的效率会很低。
但是,通过提供一种使未服务的终端能够建立单播会话以获取数据的系统,该系统就可以达到接近100%的可靠性,如点602所示。因此,在一个或多个实施例中,数据传送系统提供数据的混合式传输,以实现非常高效的数据分发。
因此,虽然这里举例说明并描述了数据传送系统的一个或多个实施例,但需要注意的是,在不背离其精神或本质特征的前提下,所述的实施例是可以进行各种各样的修改的。所以,上文中的披露技术和描述仅用于举例说明之目的,而并不对本发明的保护范围构成限制。本发明的保护范围由下面的权利要求界定。
权利要求
1.一种方法,用于操作数据网络上的服务器,所述方法包括计算与数据的多播和单播传输相关联的多播成本指数和单播成本指数;判定所述多播成本指数小于所述单播成本指数;生成传输调度表,所述传输调度表描述了何时通过所述数据网络对所述数据进行多播传输;传输所述传输调度表;以及根据所述传输调度表对所述数据进行多播传输。
2.如权利要求1所述的方法,其中所述传输所述传输调度表的步骤包括通过控制信道传输所述传输调度表的步骤。
3.如权利要求1所述的方法,还包括接收要求建立单播会话的请求。
4.如权利要求1所述的方法,其中所述生成所述传输调度表的步骤包括生成所述传输调度表,以描述所述数据将会通过所述数据网络在多个多播周期中进行多播传输。
5.如权利要求1所述的方法,其中所述生成所述传输调度表的步骤包括将所述计算和判定步骤重复多个多播周期,直到所述单播成本指数小于所述多播成本指数为止;生成所述传输调度表,以描述所述数据将会通过所述数据网络在所述多个多播周期中进行多播传输。
6.如权利要求1所述的方法,其中所述多播传输步骤还包括执行用FEC对所述数据进行编码和对所述数据进行交织的任意组合。
7.如权利要求1所述的方法,还包括判定所述单播成本指数小于所述多播成本指数;生成所述传输调度表,以描述一个时间窗口,在所述时间窗口内可以建立单播会话来获取所述数据。
8.如权利要求1所述的方法,其中所述数据网络是无线网络。
9.在数据网络上的服务器中使用的装置,所述装置包括成本估计器,计算与数据的多播和单播传输相关联的多播成本指数和单播成本指数;处理逻辑电路,判定所述多播成本指数小于所述单播成本指数,以及,生成传输调度表,所述传输调度表描述了何时通过所述数据网络对所述数据进行多播传输;传输逻辑电路,传输所述传输调度表,以及,根据所述传输调度表对所述数据进行多播传输。
10.如权利要求9所述的装置,其中所述传输逻辑电路包括用于传输所述传输调度表的控制信道。
11.如权利要求9所述的装置,还包括接收逻辑电路,接收要求建立单播会话的请求。
12.如权利要求9所述的装置,其中所述处理逻辑电路生成所述传输调度表,以用于描述所述数据将会通过所述数据网络在多个多播周期中进行多播传输。
13.如权利要求9所述的装置,其中所述处理逻辑电路判定所述多播成本指数小于所述单播成本指数长达多个多播周期,并且,生成所述传输调度表,以描述所述数据将会通过所述数据网络在所述多个多播周期中进行多播传输。
14.如权利要求9所述的装置,其中所述传输器还包括执行逻辑电路,执行用FEC对所述数据进行编码和对所述数据进行交织的任意组合。
15.如权利要求9所述的装置,其中所述处理逻辑电路判定所述单播成本指数小于所述多播成本指数,并且生成所述传输调度表,以描述一个时间窗口,在所述时间窗口内可以建立单播会话来获取所述数据。
16.如权利要求9所述的装置,其中所述数据网络是无线网络。
17.在数据网络上的服务器中使用的装置,所述装置包括成本计算模块,计算与数据的多播和单播传输相关联的多播成本指数和单播成本指数;判定模块,判定所述多播成本指数小于所述单播成本指数;传输调度表生成模块,生成传输调度表,所述传输调度表描述了何时通过所述数据网络对所述数据进行多播传输;传输调度表传输模块,传输所述传输调度表;以及多播传输模块,根据所述传输调度表对所述数据进行多播传输。
18.如权利要求17所述的装置,其中所述传输调度表传输模块包括通过控制信道传输所述传输调度表的模块。
19.如权利要求17所述的装置,还包括接收要求建立单播会话的请求的模块。
20.如权利要求17所述的装置,其中所述传输调度表生成模块包括生成所述传输调度表以描述所述数据将会通过所述数据网络在多个多播周期中进行多播传输的模块。
21.如权利要求17所述的装置,其中所述传输调度表生成模块包括将所述计算和判定步骤重复多个多播周期直到所述单播成本指数小于所述多播成本指数为止的模块;以及生成所述传输调度表以描述所述数据将会通过所述数据网络在所述多个多播周期中进行多播传输的模块。
22.如权利要求17所述的装置,其中所述多播传输模块还包括执行用FEC对所述数据进行编码和对所述数据进行交织的任意组合的模块。
23.如权利要求17所述的装置,还包括判定所述单播成本指数小于所述多播成本指数的模块;以及生成所述传输调度表的模块,所述传输调度表描述一个时间窗口,在所述时间窗口内可以建立单播会话来获取所述数据。
24.如权利要求17所述的装置,其中所述数据网络是无线网络。
25.一种包括指令的计算机可读介质,当所述指令被服务器中的处理逻辑电路执行时,用来在数据网络上传输数据,所述计算机可读介质包括成本计算指令,计算与数据的多播和单播传输相关联的多播成本指数和单播成本指数;判定指令,判定所述多播成本指数小于所述单播成本指数;传输调度表生成指令,生成传输调度表,所述传输调度表描述了何时通过所述数据网络对所述数据进行多播传输;传输调度表传输指令,传输所述传输调度表;以及多播传输指令,根据所述传输调度表对所述数据进行多播传输。
26.如权利要求25所述的计算机可读介质,其中所述传输调度表传输指令包括通过控制信道传输所述传输调度表的指令。
27.如权利要求25所述的计算机可读介质,还包括接收要求建立单播会话的请求的指令。
28.如权利要求25所述的计算机可读介质,其中所述传输调度表生成指令包括生成所述传输调度表以描述所述数据将会通过所述数据网络在多个多播周期中进行多播传输的指令。
29.如权利要求25所述的计算机可读介质,其中所述传输调度表生成指令包括将所述计算和判定步骤重复多个多播周期直到所述单播成本指数小于所述多播成本指数为止的指令;以及生成所述传输调度表以描述所述数据将会通过所述数据网络在所述多个多播周期中进行多播传输的指令。
30.如权利要求25所述的计算机可读介质,其中所述多播传输指令还包括执行用FEC对所述数据进行编码和对所述数据进行交织的任意组合的指令。
31.如权利要求25所述的计算机可读介质,还包括判定所述单播成本指数小于所述多播成本指数的指令;以及生成所述传输调度表的指令,所述传输调度表描述一个时间窗口,在所述时间窗口内可以建立单播会话来获取所述数据。
32.如权利要求25所述的计算机可读介质,其中所述数据网络是无线网络。
33.一种方法,用于操作数据网络上的接收终端,所述方法包括接收传输调度表,所述传输调度表描述了数据将要如何进行传输;判定所述数据将要通过所述数据网络在一个或多个多播周期中进行多播传输;以及在所述一个或多个多播周期中接收所述多播传输的数据。
34.如权利要求33所述的方法,其中所述接收步骤包括通过控制信道接收所述传输调度表。
35.如权利要求33所述的方法,还包括在所述一个或多个多播周期中未接收到所述数据;以及发送要求建立单播会话以获取所述数据的请求。
36.如权利要求33所述的方法,还包括判定通过单播传输将所述数据传输到所述终端;以及建立单播会话以获取所述数据。
37.在数据网络上的接收终端中使用的装置,所述装置包括传输调度表接收逻辑电路,用于接收传输调度表,所述传输调度表描述了数据将如何进行传输;判定逻辑电路,用于判定所述数据将会通过所述数据网络在一个或多个多播周期中进行多播传输;以及数据接收逻辑电路,用于在所述一个或多个多播周期中接收所述多播数据。
38.如权利要求37所述的装置,其中所述传输调度表接收逻辑电路包括通过控制信道接收所述传输调度表的逻辑电路。
39.如权利要求37所述的装置,还包括判定在所述一个或多个多播周期内未接收到所述数据的逻辑电路;以及传输要求建立单播会话以获取所述数据的请求的逻辑电路。
40.如权利要求37所述的装置,还包括判定通过单播传输将所述数据传输到所述终端的逻辑电路;以及建立单播会话以获取所述数据的逻辑电路。
全文摘要
数据网络中用于多播和单播混合式传输的方法和装置。提供了一种方法,用于操作数据网络上的服务器。该方法包括计算与数据的多播和单播传输相关联的多播成本指数和单播成本指数。该方法还包括判定该多播成本指数小于单播成本指数;生成传输调度表,该调度表描述了何时在数据网络上进行数据多播传输。该方法还包括传输该传输调度表;根据该传输调度表进行数据多播传输。
文档编号H04L12/18GK1985467SQ200580023960
公开日2007年6月20日 申请日期2005年4月29日 优先权日2004年5月18日
发明者陈安梅, 拉温德·保罗·昌德霍克 申请人:高通股份有限公司