将数据流按比例多路复用成一个数据流的方法和设备的制作方法

文档序号:7660548阅读:319来源:国知局
专利名称:将数据流按比例多路复用成一个数据流的方法和设备的制作方法
背景技术
I.发明领域本发明一般涉及通信领域,特别涉及将多个数据流按比例多路复用成一个数据流的新颖和改进系统和方法。
II.相关技术描述使用的码分多址(CDMA)调制技术是促进存在大量系统用户的通信的几种技术之一。虽然已公知还有其他技术,诸如时分多址(TDMA)、频分多址(FDMA)和AM调制方案(如幅度压扩单边带(ACSSB)),CDMA具有超过这些其他技术的显著优点。美国专利号4901307和5103459的2个专利中揭示用于多址通信系统的CDMA技术,其题目分别为“SPREAD SPECTRUM MULTIPLE ACCESSCOMMUNICATION SYSTEM USING SATELLITE OR TERRESTRIAL REPEATERS”和“SYSTEM AND METHOD FOR GENERATING WAVEFORMS IN A CDMA CELLULAR TELPHONESYSTEM”,均转让给本发明受让人,其揭示内容经参考编入本发明中。
选择将来自多个数据流的帧分配到一个数据流的分配方案是困难的。许多分配方案无法达到性能要求。例如,“最短作业优先”(SJF)方案会使较长的作业缺乏处理。驻留在用户单元/移动电话的应用会产生含许多必须及时处理的帧的数据流。然而,SJF方案中,由于其他数据流要处理的帧较少,具有许多帧的数据流会缺乏处理。同样“后进先出”(LIFO)方案会使来自LIFO队列中居先的数据流的帧缺乏处理。另一方面,“先进先出”(FIFO)方案不适应数据流的相对重要性。FIFO中,每一数据流必须轮流等待。因而,极重要的数据流必须等待要处理的若干不重要数据流。需要一种任何数据流不缺乏处理的分配方案。希望限制处理来自数据流的帧的时间。
有些分配方案不考虑数据流中存在的帧数量。例如FIFO和LIFO仅关心来自数据流的帧进入处理队列的时间。它们不考虑数据流的容量。需要一种考虑数据流容量而且同时不使数据流缺乏处理的分配方案。
发明概述本发明针对一种将多个数据流多路复用成一个数据流进行传输的系统和方法。该方法建立队列表,每一队列代表一数据流,并具有与该数据流比率值成反比的长度,其中每一数据流包含至少一个分组或帧。本发明一实施例中,每一数据流至少包含一分组。本发明另一实施例中,每一数据流至少包含一帧。每一传输帧按该比率值的倒数使各队列递增。本发明一实施例中,从相当于填满队列的数据流调度分组。本发明另一实施例中,根据代表数据流的队列是否为满以及数据流的优先值,从多个数据流把帧分配到一个数据流。本发明又一实施例中,首先根据代表数据流的队列是否为满,其次根据队列的优先级,分配帧。
本发明一实施例中,多个应用提供要由多路复用器多路复用的多个数据流。本发明另一实施例中,用户单元提供由基站内的多路复用器多路复用的多个数据流。本发明又一实施例中,多个基站提供要由基站控制器内的多路复用器多路复用的多个数据流。
本发明一实施例中,用户单元包含一存储器;驻留在该存储器的多个应用,每一应用产生数据流,其中每一数据流至少包含一个帧;以及一多路复用器,配置成接收每一数据流,并从多个数据流把帧统一分配到一个数据流。本发明一实施例中,把多路复用器配置成接收每一数据流,并且根据比率值从多个数据流将帧统一分配到一个数据流。
本发明另一实施例中,把多路复用器配置成接收每一数据流,并且首先根据数据流的比率值,其次根据数据流的优先级,从多个数据流将帧统一分配到一个数据流。
本发明又一实施例中,无线通信系统包含用户单元、耦合于该用户单元的基站和耦合于该基站的基站控制器。用户单元具有多个应用和一个多路复用器,其中每一应用产生作为该多路复用器输入的数据流,且每一数据流至少包含一个帧。该多路复用器根据数据流的比率值从多个数据流把帧统一分配到一个数据流。
附图简述从以下结合附图阐述的详细说明会进一步明白本发明的特征、目的和优点,各附图内相同的参考字符均作相同标识,其中


图1是示范W-CDMA蜂窝电话系统的示意图;图2示出本发明示范实施例的移动台;图3示出4个数据流的4个存储桶;图4以流程图的方式示出映射算法的初始化;图5以流程图的方式示出映射算法的主体;图6示出初始化时的列表;图7示出从列表去除的首部单元;图8示出改变后的Dx;图9示出作为n=3单元插入的所去除的单元;图10示出从列表去除的首部单元;图11示出改变后的Di;图12示出在第i单元前插入的所去除的单元;图13示出改变后的D2;图14示出从列表去除的首部单元;图15示出改变后的Di;图16示出在第i单元前插入的所去除的单元;图17示出从列表去除的首部单元;图18示出改变后的Dx;图19示出作为n=3单元插入的所去除的单元;图20示出从列表去除首部单元;图21示出改变后的Dx;图22示出作为n=3单元插入的所去除的单元;图23示出从列表去除的首部单元;图24示出改变后的Dx;图25示出作为n=3单元插入的所去除的单元。
详细描述图1中示出实施本发明的示范蜂窝移动电话系统。作为例子,这里在W-CDMA蜂窝通信系统的环境下说明此系统。然而,应理解本发明可用于其他类型的通信系统,诸如个人通信系统(PCS)、无线本地环路、用户小交换机(PBX)或其他公知的系统。此外,利用诸TDMA、FDMA和其他扩频系统等公知发送调制方案的系统也可用本发明。
如图1所示,无线通信网10一般包含多个移动台(也称为用户单元或用户设备)12a~12d、多个基站(也称为基站收发机(BTS)或节点B)14a~14c、基站控制器(BSC)(也称为无线网络控制器或分组控制功能16)、移动台控制器(MSC)或交换机18、分组数据业务节点(PDSN)或联网功能(IWF)20、公用交换电话网(PSTN)22(通常是电话公司)和因特网协议(IP)网络24(通常是因特网)。为了简便,示出4个移动台12a~12d、3个基站14a~14c、一个BSC16、一个MSC18和一个PDSN20。本领域的技术人员会理解,可存在任何数量的移动台12、基站14、BSC16、MSC18和PDSN20。
一实施例中,无线通信网1O是分组数据业务网。移动台12a~12d可以是不同类型的任意的无线通信设备,诸如便携电话、连接运行基于IP的Web浏览器应用的膝上型计算机的蜂窝电话、具有相关免提汽车套件的蜂窝网电话、基于IP的Web浏览器应用运行的个人数字助理器(PDA)、编入便携计算机的无线通信模块或诸如存在于无线本地环路或者读表系统的固定位置通信模块。最一般的实施例中,移动台可以是任何类型的通信单元。
移动台12a~12d有利地配置成执行诸如EIA/TIA/IS-707标准所述一个或多个无线分组数据协议。一具体实施例中,移动台12a~12d产生发往IP网络24的IP分组,用点对点协议(PPP)将该分组封装成帧。
一实施例中,根据包含例如E1、T1、异步传输模式(ATM)、IP、PPP、帧中继、HDSL、ADSL或xDSL等任何一些公知协议,经配置用于传输语音和/或数据分组的有线线路,使IP网络24耦合于PDSN20,PDSN20耦合于MSC18,MSC18耦合于BSC16和PSTN22,BSC16耦合于基站14a~14c。替换实施例中,BSC16直接耦合于PDSN20,而MSC18不耦合于PDSN20。本发明另一实施例中移动台12a~12d在第3代合作项目2“3GPP2”规定的RF接口上与基站14a~14c通信,该项目题目为“cdma 2000个扩频系统的物理层标准”,3GPP2文件号C.P0002-A,TIA PN-4694,(1999年11月19日),要公布作为TIA/EIA/IS-2000-2-A(草案,编辑版本30),通过参考全部编入本说明中。
无线通信网10的典型工作期间,基站14a~14c从参与电话呼叫、Web浏览或其他数据通信的各移动台12a~12d接收并解调一些反向链路信号组。在基站14a~14c中处理给定基站14a~14c接收的各反向链路信号。每一基站14a~14c通过调制并发送给移动台12a~12d的一些前向链路信号组,可与多个移动台12a~12d通信。例如,如图1所示,基站14同时与第1和第2移动台12a、12b通信,而基站14c同时与第3和第4移动台12c、12d通信。处理所得分组传给BSC16,该处提供呼叫资源分配和移动性管理功能,其中包括协调从一基站14a~14c到另一基站14a~14c的某一移动台12a~12a呼叫的软切换。例如,移动台12c同时与2个基站14b、14c通信。当移动台12c足够远离一个基站14c时,最终将呼叫切换到另一基站14b。
如果传输是普通电话呼叫,BSC16将接收到的数据转发给MSC18,该处提供附加路由业务,用于与PSTN22接口。如果传输是诸如发往IP网络24的数据呼叫的分组传输,则MSC18将数据分组转发到PDSN20,该处将这些分组送到IP网24。或者BSC16将分组直接发到PDSN20,由该处将这些分组发到IP网24。
信息信号从移动台12运行到基站14的无线通信信道称为反向链路。信息信号从基站14运行到移动台12的无线通信信道称为前向链路。
示范实施例中,移动台用宽带码分多址(W-CDMA)技术与移动台通信。W-CDMA是最近提出的3G通信系统。欧洲电信标准学会(ETSI)的陆地无线接入(UTRA)和ETSI提交国际电信联盟(ITU)供考虑IMT-2000 CDMA标准用的ITU无线传输技术(RTT)候选建议中阐述W-CDMA系统的一个例子。W-CDMA系统中的基站异步工作。即,W-CDMA基站不全部共用公共通信时间基准。不同的基站在时间上不同步。因此,虽然W-CDMA基站具有导频信号,但不可仅由其导频信号偏移识别W-CDMA基站。一旦判定一个基站的系统时间,就不能用该时间估计相邻基站的系统时间。因此,W-CDMA系统中的移动用3步PERCH捕获过程与系统中各基站进行同步。该捕获过程的每一步识别称为PERCH信道的帧结构中的不同码。题目为“双模宽带扩频蜂窝系统的移动台与基站兼容标准”的TIA/EIA过渡标准、TIA/EIA/IS-95及其后续标准(这里统称为IS-95)中陈述采用码分多址(CDMA)的无线系统的行业标准,这些标准的内容也经参考编入本说明中。美国专利号4901307和5103459的专利中揭示有关码分多址通信系统的进一步信息,这2个专利的题目分别为“SPREAD SPECTRUMMULTIPLE ACCESS COMMUICATION SYSTEM USING SATELLITE OF TERRESTRIALREPEATERS”和“SYSTEM AND METHOD FOR GENERATING WAVEFORMS IN A CDMACELLULAR TELPHONE SYSTEM”,均转让给本发明受让人,经参考将其全部编入本发明中。
还提出了第3代CDMA无线通信系统的建议。美国电信业协会(TIA)提交国际电信联盟(ITU)供考虑的IMT-2000 CDMA标准用的cdma 2000 ITU-R无线传输技术(RTT)候选建议是该第3代无线通信系统的一个例子。IS-2000草案版本中给出cdma 2000的标准,并且已得到TIA批准。cdma 2000建议在许多方面与IS-95系统兼容。例如,cdma 2000和IS-95这2个系统中,都使每一基站在时间上与系统中其他基站工作同步。各基站通常与诸如全球定位系统(GPS)信令的通用时间基准同步地工作,然而,也可用其他机制。根据同步时间基准,对给定的地理区域中的每一基站分配一个公共伪噪声(PN)导频序列的序列偏移。例如,根据IS-95,每一基站发送具有215码片且每26.67毫秒(ms)重复的PN序列作为导频信号。每一基站以512种可能的PN序列偏移中的一种发送导频PN序列。每一基站连续发送导频信号,使移动台能识别基站的发送和其他功能。
本发明示范实施例中,移动台具有多个应用。这些应用驻留在移动台中,且每一应用产生独立的数据流。一个应用可产生一个以上的数据流。
图2示出本发明示范实施例的移动台12,其中包含语音32、信令34、电子邮件36和Web应用38,均驻留于移动台12的存储器49中。语音32、信令34、电子邮件36和Web应用38这些应用的每一个分别产生独立的数据流40、42、4446。这些数据流由多路复用器模块48组合成称为传输流50的一个数据流。该传输流50在反向链路上传送到也简称为基站的基本收发信机14(BTS)。
多路复用器模块48根据数据流40~46的相对比率和优先级将其组合成传输流50。每一数据流40~46具有一比率值和优先级。该比率值决定调度数据流40~46占用传输流50的比率。优先级决定受调度的数据流40~46为空时哪一数据流40~46给多路复用器模块48提供分组。首先用数据流的相对比率从数据流40~46调度要在反向链路上传送的帧。如果从空的数据流40~46调度帧,则从优先级最高的非空数据流40~46提取帧以在反向链路上传送。
每一数据流40~46具有决定调度该数据流40~46占用传输流50的比率的比率值。如果数据流40~46为空,则多路复用器模块48用该数据流40~46的优先级决定何处取得下一帧。多路复用器模块48从最高优先级的非空数据流40~46取得下一帧。
数据流的比率决定数据流对传输流的映射。该映射决定多路复用器模块48初始寻找取得一帧的位置。本发明一实施例中,实时建立该映射,即在应用产生数据流供多路复用器模块48处理时建立。本发明另一实施例中,可在应用产生数据流供多路复用器模块48处理前建立该映射。本领域普通技术人员会明白,该映射不必实时。例如,可在编译时间进行映射。即,可离线编译进行映射的算法。
一旦建立映射表(未示出),即可在帧发送时间有利地反复遍历该映射表,以便每一映射表单元决定在对应于该映射表单元的传输帧时隙应发送哪一数据流帧。
本发明又一实施例中,在将帧传送到传输流50时,连续执行映射算法。连续执行映射算法的优点是能强化映射算法,以快速适应数据流40~46的数量和按比率混合的变化,而统计上不干扰数据流分配。然而,当与传输帧速率相比,数据流40~46的数量和比率性不常变化时,此算法的利用率低于上述表的方法。
仅在调度帧来自空白/空值的数据流40~46时,即在应用不再产生帧时,涉及数据流40~46的优先级。如果数据流40~46没有任何帧要发送,则用其帧时隙从要发送帧的数据流40~46中优先级最高的数据流40~46发送帧。即,调度帧使其来自空数据流40~46时,多路复用器模块38从优先级最高的非空值数据流40~46提取下一帧。
本发明示范实施例中,多路复用器模块48工作在媒体访问控制(MAC)层内,并且从较高网络层取得比率值和数据流优先级。本领域普通技术人员会明白,可用诸如“先进先出”(FIFO)、“后进先出”(LIFO)和“最短作业优先”(SJF)等本领域公知的任何优先级方案优先化数据流40~46。本领域的普通技术人员还会明白,多路复用器模块48可工作在多个网络级。
本发明另一实施例中,按硬件执行多路复用器模块48。本发明又一实施例中,以软件和硬件的组合执行多路复用器模块48。本领域的普通技术人员会明白,能用软件和硬件的任何组合执行多路复用器模块48。
映射算法建立映射表,该表规定多路复用器模块48用于从数据流40~46调度帧的调度顺序。调度每一数据流40~46给多路复用器模块48提供帧。
如果每一数据流40~46为非空值,即非空白,则每数据流40~46占用传输流50中其相对的比率。设p1、p2、...、pn为共用同一传输流50的n个数据流40~46所采取的相对比率,则对来自数据流1的每个p1帧而言,存在来自数据流2的p2帧,来自数据流3的p3帧…,和来自数据流n的pn帧。
如果存在3个非空数据流40~46,则数据流1就占用p1/(p1+p2+p3)的传输流50,其中pn是数据流n的比率值。例如,给定非空值数据流40~46、数据流1、数据流2和数据流3,其中数据流1具有比率值5(p1=5),数据流2具有比率值3(p2=3),而数据流3具有比率值2(p3=2),则数据流1占有5/10的传输流50,数据流2占有3/10的传输流,而数据流3占有2/10的传输流50。映射表的长度为p1+p2+p3,本例中为10帧长。
映射表是表示调度以给多路复用器48提供帧的数据流40~46的数量的数字阵列。每一阵列是数据流帧对传输流50的映射。映射表〔1、2、3、1、2、1、3、1、2、1〕含义为调度第1帧从数据流1发送,调度第2帧从数据流2发送。调度第3帧从数据流3发送,调度第4帧从数据流1发送,调度第5帧从数据流2发送,调度第6帧从数据流1发送,调度第7帧从数据流3发送,调度第8帧从数据流1发送,调度第9帧从数据流2发送,调度第10帧从数据1发送。
映射算法将多个数据帧流40~46多路复用成一个传输流50,以便统一分配来自各流40~46的帧。即,在传输流50上统一分配各流40~46的帧。因此,设具有p1=5、p2=3和p3=2的3个数据流的情况,则每10个传输帧中存在流1中的5个帧、流2中的3个帧和流3中的2个帧,从而在传输流50上统一分配属于各流40~46的帧。
虽然多路复用器模块48以统一的方式在传输流50上安排数据流帧,仍有在传输流50合理分配多个数据流40~46的多种方法。因此,对p1=5,p2=3和p3=2而言,在传输流50上传送的头10个帧可为〔1、2、3、1、2、1、3、1、2、1〕或〔1、3、2、1、2、1、3、1、2、1〕或〔2、1、3、1、2、1、3、1、2、1〕或〔2、3、1、1、2、1、3、1、2、1〕或〔3、1、2、1、2、1、3、1、2、1〕或〔3、2、1、1、2、1、3、1、2、1〕,其中阵列内的每个数字代表数据流号。阵列左侧的数代表发送的第1帧。可按有利的方式修改映射算法,以产生满足合理分配要求的序列。
一旦决定映射表,多路复用器模块48就用该映射表从数据流40~46调度帧,并连续重复映射表序列,只要数据流40~46中存在要在反向链路发送的帧。
映射算法是将数据流40~46多路复用成一个数据流的“填存储桶”过程。用一个“存储桶”分别代表每一数据流40~46。填满一个存储桶时,可调度所代表的数据流提供帧。
数据流40~46的比率值决定数据流存储桶的深度。每一数据流存储桶具有与其比率值成反比的深度。每一存储桶具有基于存储桶比率值的填充速率。该填充速率是对存储桶填充的速率。对每一帧步骤使每一存储桶的填充程度以其填充速率递增。仅在数据流存储桶为满时,多路复用器模块48能调度帧,使其从数据流取出。
本发明示范实施例中,映射算法以伪码表示如下。本发明替换实施例中,改变Sis和Dis的初始值,以改变映射表中的数据流40~46的顺序。p1、p2、…pn是n个数据流的相对比率。
令乘积为〔n*最小公倍数(p1、p2…pn)〕(可用p1、p2、…pn的乘积代替p1、p2、…pn的最小公倍数,不影响算法的正确性。)令q(1)=乘积/p1,q(2)=乘积/p2,…,q(n)=乘积/pn。
令L为n单元的列表,其中每一单元具有S和D这两个段。
令Si表示列表中第i单元的S段的值,而Di表示列表中第i单元的D段的值。列表中的第1单元称为列表的首部。
备注S代表流,D代表深度设定Sis的初始值S1=1,S2=2,…,Sn=n。
设定Dis的初始值D1=1,D2=1,…,Dn=1。
每一传输帧时隙时间中(a)发送来自标为S1的数据流的帧。
若D2≥q(S1),将D2改变为D2-q(S1),等待下一传输帧时隙。
否则将D1改变为q(S1)-D2,暂时从列表去除首部单元,以i=1、2、…这样的升序分别改变其余单元的下标(先前的第i+1单元变成新的第i单元,例如先前的第2单元已变成新的首部单元,第3单元已变成新的第2单元),并将去除的单元插回列表如下{令Dx为重新插入的单元的D段。
以i=2单元开始。
块遍历列表L{如果再没有列表单元(i≥n){
作为第n单元插入去除的单元;终止列表遍历;}否则{如果Dx>Di{将Dx变为Dx-Di;移至下一单元(i=i+1);}否则{将Di变为Di-Dx;在第i单元前插入去除的单元;((先前的第i单元已变成新的第(i+1)单元。))终止列表遍历;}}}等待下一传输帧时隙;}图4和图5示出本发明示范实施例中的映射算法流程图。图4示出映射算法的初始化。
p1、p2、…、pn分别是数据流1~n的相对比率110。本发明一实施例中,将乘积设定为n*最小公倍数(p1、p2…、pn)112。另一实施例中,将最小公倍数(p1、p2…、pn)设定为p1、p2…、pn的乘积。
将q(1)设定为乘积/p1,q(2)设定为乘积/p2,…q(n)设定为乘积/pn114。用n个单元建立列表L,其中每一单元有2个段S和D 116。Si表示列表中第i单元S段的值,Di表示列表中第i单元D段的值118。列表中的第1单元是列表的首部120。
将S1设定为1,S2设定为2,…,Sn设定为n。S段代表为流号。将D1设定为1,D2设定为1,…,Dn设定为1。D段代表流深度122。
图5中,从标为S1的数据流发送帧124。如果D2≥q(S1)126,则将D2设定为D2-q(S0)128,算法等待下一传输帧时隙130。如果D2<q(S1)126,将D1设定为q(S1)-D2132,则从列表中暂时去除首部单元,以i=1、2…的升序分别将列表中其余单元重新编号134。即,先前的第i+1单元变成新的第i单元,例如先前的第2单元已变成新的首部单元,而先前的第3单元已变成新的第2单元。
Dx是要重新插入的单元的D段136。i设定为2 138。如果再没有列表单元(i≥n)140,将去除的单元作为第n单元插入142,并且算法等待下一传输帧130。如果i不大于等于n 140,则将Dx与D1比较144。若Dx>D1,则将Dx设定为Dx-D1,并移至列表中的下一单元,即i递增(i=i+1)146。如果Dx不大于D1,将Di设定为Di-D1,并在第i单元前插入去除的单元150。算法等待下一传输帧时隙130。
如果是下一传输帧时隙的时间,即当下一传输帧条件成立时132,从数据流Si对传输流50发送帧124。
每一列表单元代表用S段标识的数据流的存储桶。该存储桶的深度等于数据流的“q”值,它与数据流比率值成反比。每一传输帧时隙使全部的存储桶递增。将存储桶填到顶部时,调度相应数据流中的帧发送,且该存储桶从空重新开始。列表L中,按照填充剩余量安排这些存储桶的顺序,即按升序安排。D段给出当前的存储桶与先前存储桶之间填充剩余量的差别。图3中说明这点,其中有4个数据流用的4个存储桶。存储桶S1 52、S2 54和S3 56部分填满,存储桶S4 58为空。根据一实施例,本领域的普通技术人员会明白,可将映射算法以有利的方式保持在存储器、软件、硬件,或者其任何组合中。
下面示出给定p1=1,p2=2,p3=3的映射算法的跟踪。
乘积=n*LCM=3*6=18q(1)=18/1=18q(2)=18/2=9q(3)=18/3=6图6示出初始化时的列表。1-1 60是列表的首部。2-1是第2单元。3-1 64是第3单元。
由于S1为1,发送来自数据流1的帧。
D2=1,由于q(1)=18,该值小于q(S1),所以D1变为q(S1)-D2=18-1=17。从列表去除首部单元60(如图7所示),Dx段是所去除首部单元的D段。现i=1是指新的首部单元2-1,i=2是指新的第2单元3-1。
现i=2,并遍历列表。由于i=2不大于或等于n=3,Dx与Di比较。由于Dx=17大于Di=D2=1,Dx66变成Dx-Di=17-1=16,如图8所示。
然后,通过使i递增并回到遍历列表块,算法流程移到列表的下一单元。现i=3,它等于n=3,因此插入去除的单元作为n=3单元,如图9所示,并终止列表遍历。首部单元为2-1 68。第2单元为3-1 70。第3单元为1-16 72。
然后,算法等待下一传输帧时隙。于是,在传输帧时隙期间,发送用S1标识的数据流的帧。由于S1是2,发送来自数据流2的帧。因此,这时的映射表是〔1、2〕,其含义为首先发送数据流1的帧,其次发送数据流2的帧。
现D2=1,由于q(2)=9,该值小于q(S1),所以D1变成q(S1)-D2=9-1=8。从列表去除首部单元74,如图10所示,并且Dx段是所去除首部单元的D段。现i=1是指新的首部单元2-8,i=2是指新的第2单元1-16。
现i=2,并遍历列表。由于i=2不大于或等于n=3,Dx与Di比较。由于Dx=8不大于Di=D2=16,Di为Di-Dx=16-8=8,如图11所示。首部单元又是2-8 76。在第i单元前插入所去除的单元,如图12所示,并且终止列表遍历。首部单元现在是3-1 78。第2单元是2-8 80。第3单元是1-8 82。
然后,算法等待下一传输帧时隙。于是,在传输帧时隙期间,发送用S1标识的数据流的帧。由于S1为3,故发送数据流3的帧。因此,这时的映射表为〔1、2、3〕,代表数据流1、数据流2和数据流3,并且是要发送来自数据流的帧的顺序。
现D2=8,由于q(3)=6,该值大于q(S1),所以D2变成D2-q(S1)=8-6=2 84,如图13所示。然后,算法等下一传输帧时隙。于是,在传输帧时隙期间发送用S1标识的数据流的帧,由于S1是3,发送数据流3的帧。因此,这时的映射表是〔1、2、3、3〕。
现D2=2,由于q(3)=6,该值小于q(S1),所以D1变成q(S1)-D2=6-2=4。从列表去除首部单元86,如图14所示,并且Dx段是所去除首部单元的D段。现i=1是指新的首部单元2-2 84,i=2是指新的第2单元1-8 82。
现i=2,遍历列表。由于i=2不大于或等于n=3,Dx与Di比较。由于Dx=4不大于Di=D2=8,Di变为Di-Dx=8-4=4 88,如图15所示。在第i单元前插入所去除的单元86,如图16所示,并且终止列表遍历。
然后,算法等待下一传输帧时隙。于是,在传输帧时隙期间,发送用S1标识的数据流的帧。由于S1是2,发送数据流2的帧。因此,这时的映射表为〔1、2、3、3、2〕。
现D2=4,由于q(2)=9,该值小于q(S1),所以D1变成q(S1)-D2=9-4=5。从列表去除首部单元90,如图17所示,并且Dx段是所去除首部单元的D段。现i=1是指新的首部单元2-5,i=2是指新的第2单元1-4。
现i=2,遍历列表。由于i=2不大于或等于n=3,Dx与Di比较。由于Dx=5大于Di=D2=4,Dx92变成Dx-Di=5-4=1,如图18所示。然后,通过使i递增并回到遍历列表块,算法流程移至列表的下一单元。现i=3,该值等于n=3,因此插入去除的单元作为n=3单元94,如图19所示,并且终止遍历。
然后,算法等待下一传输帧时隙。于是,在传输帧时隙期间,发送用S1标识的数据流的帧。由于S1是3,就发送数据流3的帧。因此,这时的映射表为〔1、2、3、3、2、3〕,由于其长度为p1+p2+p3,故这是最终的映射表。
用该映射表从数据流调度帧。如果映射算法连续进行,就连续产生序列〔1、2、3、3、2、3〕。为了示出此条件成立,对2个以上的帧示出此算法的跟踪,这时列表模式呈现本身重复。
现D2=4,由于q(3)=6,该值小于q(S1),所以D1变成q(S1)-D2=6-4=2。从列表去除首部单元90,如图20所示,并且Dx段是所去除首部单元的D段。现i=1是指新的首部单元1-4,i=2是指新的第2单元2-1。
现i=2,并遍历列表。由于i=2不大于或等于n=3,Dx与Di比较。由于Dx=2大于Di=D2=1,Dx98变成Dx-Di=2-1=1,如图21所示。然后,通过使i递增并回到遍历列表块,算法流程移至列表的下一单元。现i=3,该值等于n=3,因此插入去除的单元作为n=3单元100,如图22所示,并且终止遍历。
然后,算法等待下一传输帧时隙。于是,在传输帧时隙期间,发送用S1标识的数据流的帧。由于S1是1,发送数据流1的帧。
现D2=1,由于q(1)=18,该值小于q(S1),所以D1变成q(S1)-D2=18-1=17。从列表去除首部单元102,如图23所示,并且Dx段是所去除首部单元的D段。现i=1是指新的首部单元2-1,i=2是指新的第2单元3-1。
现i=2,遍历列表。由于i=2不大于或等于n=3,Dx与Di比较。由于Dx=17大于Di=D2=1,Dx104变成Dx-Di=17-1=16,如图24所示。然后,通过使i递增并回到遍历列表块,算法流程移至列表的下一单元。现i=3,该值等于n=3,因此插入去除的单元作为n=3单元104,如图25所示,并且终止遍历。
然后,算法等待下一传输帧时隙。于是,在传输帧时隙期间,发送用S1标识的数据流的帧。由于S1是2,发送数据流2的帧。
发送序列〔1、2、3、3、2、3〕后,发送来自数据流1和数据流2的帧。图25与图9相同,示出算法连续进行,以重复序列。
本发明其他实施例中,可用Sis的不同初始值开始此算法,并产生P1=5,P2=3,P3=2的例子给定的其他5个序列。例如,对S1=2、S2=3、S3=1产生序列〔2、1、3、1、2、1、3、1、2、1〕。本发明又一实施例中,可修改Dis的初始值,以产生不同的序列。
本发明一实施例中,从多个数据流以有利的方式将分组多路复用成一个数据流,而不是多路复用帧。
本发明又一实施例中,对算法进行优化,使比率值相同的多个数据流共用一个列表单元,这样即使存在m个以上的数据流,也存在m个唯一的比率值(即m<n)。于是,用“m”代替算法中的“n”,使全部PiS是唯一的,并且算法的S段代表共用相同比率值的一组数据流。此外,用“发送组S1所含各数据流的帧”替换算法的步骤(a)。q(S1)的值代表乘积/px,px是组S1中各数据流共用的比率值。此优化提高算法的效率。
本发明另一实施例中,映射算法利用容量相同的存储桶,但用不同的填充速率。本领域的普通技术人员会明白,能改写所揭示的映射算法,使各存储桶具有相同容量,但填充速率与存储桶容量成反比,并且基于各相应数据流的比率值。
本发明另一实施例中,当仅有2个数据流时,上述算法有利地用以下较简单的算法代替。如果p1是p2的倍数,可省略(a)和(b)之间包含的步骤。以伪码示出此实施例的映射算法如下。
使以下变量初始化SkipBase=p1/p2,其中“/”代表整数除。
InitialFraction=p1%p2,“%”代表模运算。
SkipCount=0;FractionCount=0;每一传输帧时隙期间如果(SkipCount=0){发送数据流#2的帧;FractionCount=FractionCount_InitialFraction;如果(FractionCount≥p2){SkipCount=SkipBase+1;FractionCount=FractionCount-p2;}否则{SkipCount=SkipBase;}{否则{发送数据流#1的帧;SkipCount=SkipCount-1;}本领域的普通技术人员会明白,映射算法可用于其他网络模块间的互联。模块具有多个输入并从该多个输入产生一个多路复用的输出的任何情况下,均可用该映射算法。例如,多路复用器模块可位于BTS中,其中使其多路复用来自多个移动台的数据流并产生一多路复用的数据流,以将其送到BSC。
这样,已说明多个数据流多路复用成一个数据流的新颖及改进方法和设备。本领域的技术人员会理解,这里结合所揭示实施例说明的各种说明性逻辑块和算法步骤可实现为电子硬件、计算机软件或两者的组合。各种说明性部件、块、模块、电路和步骤按照其功能总的阐述。该功能作为硬件还是作为软件实现,取决于具体应用和对整个系统的设计约束条件。熟练的技术人员认识这些环境下的软硬件互换以及对各具体应用实现所述功能的最佳方法。例如,这里结合所揭示实施例说明的各种说明性逻辑块、模块和算法步骤可用设计成执行这里所述各功能的执行固件指令集的处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、离散门或晶体管逻辑、诸如寄存器的离散硬部件、任何常规可编程软件模块和处理器或者以上各项的任意组合实现或执行。多路复用器有利地是微处理器,但作为替换,多路复用器也可以是任何常规处理器、控制器、微控制器或状态机。各种应用可驻留于RAM存储器、按块擦除存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可卸盘片、CD-ROM或本领域公知的任何其他形式存储媒体。如图2所示,基站14以有利方式耦合于移动台12,以便从其站14读取信息。存储器49可与多路复用器48集成。多路复用器48和存储器49可处于ASIC(未示出)中。该ASIC可在电话机12内。
提供以上本发明实施例的说明,使本领域的任何技术人员能实施或使用本发明。本领域的技术人员不难明白对这些实施例的各种修改,并且不用创造性才能就可将这里规定的一般原理用于其他实施例。因此,不希望本发明受这里所示实施例限制,但要符合与这些所揭示的原理和新颖特征一致的最大范围。
权利要求
1.一种多个数据流多路复用成一个数据流的方法,包含建立队列表,每一队列代表一数据流,并具有与该数据流比率值成反比的长度,其中每一数据流包含至少一个分组;每一帧按该比率值的倒数使各队列递增;从相当于满队列的数据流调度分组;以及清空该满队列。
2.一种多个数据流多路复用成一个数据流的方法,包含建立队列表,每一队列代表一数据流,并具有与该数据流比率值成反比的长度,其中每一数据流包含至少一个帧;每一帧按该比率值的倒数使各队列递增;从相当于满队列的数据流调度帧;以及清空该满队列。
3.一种多个数据流多路复用成一个数据流的方法,包含建立队列表,每一队列代表一数据流,并具有与该数据流比率值成反比的长度,其中每一数据流包含至少一个帧;每一帧按该比率值的倒数使各队列递增;首先根据代表数据流的队列是否为满,其次根据数据流的优先值,从多个数据流把帧分配到一个数据流;以及队列排满时,清空队列。
4.一种多个数据流多路复用成一个数据流的方法,包含建立队列表,每一队列代表一数据流,并具有与该数据流的比率值成反比的长度,其中每一数据流包含帧,并且有优先级;每一帧按该比率值的倒数递增;建立长度等于全部队列长度的和的阵列;把相当于填满队列的数据流的标识符插入该阵列,直到阵列被填满;以及清空填满的队列。
5.如权利要求4所述的方法,其特征在于,还包含连续循环通过该阵列,并从对应于阵列首部标识符的数据流发送帧。
6.如权利要求4所述的方法,其特征在于,还包含当帧按规定应传送时,循环通过该阵列,并从对应于阵列首部标识符的数据流发送该帧。
7.一种多个数据流多路复用成一个数据流的方法,包含由多个应用建立多个数据流,其中每一数据流至少包含一个帧;以及把多个数据流统一分配到一个数据流。
8.如权利要求7所述的方法,其特征在于,根据每一数据流的比率值,把多个数据流统一分配到一个数据流。
9.如权利要求7所述的方法,其特征在于,首先根据数据流的比率值,其次根据数据流的优先级,把多个数据流统一分配到一个数据流。
10.一种多个数据流多路复用成一个数据流的方法,包含由用户单元的多个应用产生多个数据流,其中每一数据流至少包含一个帧;由多路复用器接收多个数据流;以及该多路复用器把多个数据流统一分配到一个数据流;以及由基站接收该一个数据流。
11.一种用户单元,包含一存储器;驻留在该存储器的多个应用,每一应用产生数据流,其中每一数据流至少包含一个帧;以及一多路复用器,配置成接收每一数据流,并从多个数据流把帧统一分配到一个数据流。
12.如权利要求11所述的用户单元,其特征在于,把多路复用器配置成接收每一数据流,并且根据比率值从多个数据流将帧统一分配到一个数据流。
13.如权利要求11所述的用户单元,其特征在于,把多路复用器配置成接收每一数据流,并且首先根据数据流的比率值,其次根据数据流的优先级,从多个数据流将帧统一分配到一个数据流。
14.一种无线通信系统,其特征在于包含用户单元,具有驻留在存储器中的多个应用和一个多路复用器,每一应用产生作为该多路复用器输入的数据流,其中每一数据流包含至少一个帧,且该多路复用器根据数据流的比率值,从多个数据流把帧统一分配到一个数据流;基站,耦合于该用户单元,并且配置成接收该一个数据流;以及耦合于基站的基站控制器。
全文摘要
揭示一种能使多个数据流按比例多路复用成一个数据流的方法和系统。移动台12具有产生独立数据流的多个应用。例如这些应用包含语音32、信令34、电子邮件36和Web应用38。多路复用器模块48将这些数据流组合成称为传输流50的一个数据流。在反向链路将传输流50发送到BTS14。多路复用器模块48根据各数据流的相对比率和优先级将其组合成传输流。
文档编号H04B7/26GK1636341SQ01812482
公开日2005年7月6日 申请日期2001年7月6日 优先权日2000年7月7日
发明者P·李 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1