发明名称 一种数据中心的无线组播方法
摘要 一种数据中心的无线组播方法,在数据中心网络机架顶层路由器上添加全向天线,使得机架间的组播数据通过无线信道进行传输,机架内部服务器之间的组播数据传输通过原有的有线链路进行传输,本发明利用无线网络一到多的传输优势,使得机架之间的组播数据可以通过无线方式进行传播,从而充分利用了数据中心网络设备集中的特点,解决了无线网覆盖范围不足的问题,能够保证所有的希望收到组播数据的机架顶层路由器都能够接收到数据,提高了信道的利用率,提升了无线组播的性能,使得无线组播的性能不再受到最差信道的限制,通过选择适当的转发机架路由器和相应的速率进行转发,对传输速率和传输范围进行折中,提升了无线组播性能。
申请公布号 CN103179517B 申请公布日期 2015.08.19
申请号 CN201310042872.X 申请日期 2013.02.01
申请人 清华大学 发明人 崔勇;廖春鹏
分类号 H04W4/06(2009.01)I 主分类号 H04W4/06(2009.01)I
代理机构 西安智大知识产权代理事务所 61215 代理人 贾玉健
主权项 一种数据中心的无线组播方法,在数据中心网络机架顶层路由器上添加全向天线,使得机架间的组播数据通过无线信道进行传输,机架内部服务器之间的组播数据传输通过原有的有线链路进行传输,其中:所述组播数据在数据中心网络中依次按以下步骤实现传输:步骤(1):源服务器w<sub>s</sub>将组播数据发送到与其通过有线链路相连的机架顶层服务器s;步骤(2):根据组播组成组成员确定要组播的目的顶层路由器集合G={g<sub>1</sub>,g<sub>2</sub>,...};步骤(3):机架顶层服务器s将组播数据通过无线广播的方式广播到所有其他与目标服务器相连的机架顶层路由器;步骤(4):与目标服务器相连的机架顶层路由器接收到完整数据时,该机架顶层路由器将组播数据通过原有的有线链路转发到目标服务器;为提高信道的利用率,引入如下流间网络编码方式:假定需要发送的组播数据包含K个原始数据包{p<sub>i</sub>},i=1,2,...,K,在发送组播数据之前,源节点对这K个数据包通过随机线性组合的方式产生编码数据包,即编码数据包为<img file="FDA0000698942870000011.GIF" wi="378" he="146" />接收节点每接收一个数据,首先检查该数据是否与原来接收的数据线性无关,如果是线性无关的数据,加入到缓存中,否则丢弃;当接收节点的缓存有K个线性无关的数据时,通过矩阵求逆的方式,求得原始数据包,即<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>p</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd></mtr><mtr><mtd><msub><mi>p</mi><mi>K</mi></msub></mtd></mtr></mtable></mfenced><mo>=</mo><msup><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>c</mi><mn>11</mn></msub></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><msub><mi>c</mi><mrow><mn>1</mn><mi>K</mi></mrow></msub></mtd></mtr><mtr><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd></mtr><mtr><mtd><msub><mi>c</mi><mrow><mi>K</mi><mn>1</mn></mrow></msub></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><msub><mi>c</mi><mi>KK</mi></msub></mtd></mtr></mtable></mfenced><mrow><mo>-</mo><mn>1</mn></mrow></msup><mfenced open='[' close=']'><mtable><mtr><mtd><msubsup><mi>p</mi><mn>1</mn><mo>&prime;</mo></msubsup></mtd></mtr><mtr><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd></mtr><mtr><mtd><msubsup><mi>p</mi><mi>K</mi><mo>&prime;</mo></msubsup></mtd></mtr></mtable></mfenced><mo>;</mo></mrow>]]></math><img file="FDA0000698942870000012.GIF" wi="842" he="316" /></maths>当希望接收组播数据的机架路由器不在发送组播数据的机架路由器的无线通信覆盖范围内时,以能够接收到完整组播数据的机架路由器为中继转发节点,进行数据转发;其特征在于,利用基于位置的速率选择算法进行数据转发,包括源服务器所连接机架路由器在内的所有完全接收到组播数据的机架顶层路由器称为饱和成员,首先计算饱和成员的位置中心,即源中心,以及所有希望接收组播数据机架路由器的加权中心,即目的中心,进而计算从源中心到目的中心的方向向量,即主方向,在选择速率时,选择那些能够使得数据传播速率在主方向上最大的速率进行传播,即:对于任意饱和成员s<sub>i</sub>,任意非饱和成员g<sub>i</sub>,计算从源<img file="FDA0000698942870000021.GIF" wi="268" he="101" />到目的<img file="FDA0000698942870000022.GIF" wi="290" he="100" />的传输方向为<img file="FDA0000698942870000023.GIF" wi="793" he="109" />其中通过公式<img file="FDA0000698942870000024.GIF" wi="516" he="222" />计算得到源中心C<sub>s</sub>=(x<sub>s</sub>,y<sub>s</sub>);对于任意饱和成员s<sub>i</sub>,任意非饱和成员g<sub>i</sub>,任意可能的传输速率<img file="FDA0000698942870000025.GIF" wi="101" he="85" />若非饱和成员g<sub>i</sub>在饱和成员s<sub>i</sub>传输速率<img file="FDA0000698942870000026.GIF" wi="66" he="86" />时的传输范围内,计算s<sub>i</sub>以速率<img file="FDA0000698942870000027.GIF" wi="62" he="85" />广播组播数据时,g<sub>i</sub>从s<sub>i</sub>接收数据,那么g<sub>i</sub>的接收速率为<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>&gamma;</mi><mrow><msub><mi>s</mi><mi>i</mi></msub><mo>,</mo><msub><mi>g</mi><mi>i</mi></msub></mrow></msub><mrow><mo>(</mo><msub><mi>&gamma;</mi><msub><mi>s</mi><mi>i</mi></msub></msub><mo>)</mo></mrow><mo>=</mo><msub><mi>p</mi><mrow><msub><mi>s</mi><mi>i</mi></msub><mo>,</mo><msub><mi>g</mi><mi>i</mi></msub></mrow></msub><mrow><mo>(</mo><msub><mi>&gamma;</mi><msub><mi>s</mi><mi>i</mi></msub></msub><mo>)</mo></mrow><mo>*</mo><msub><mi>&gamma;</mi><msub><mi>s</mi><mi>i</mi></msub></msub></mrow>]]></math><img file="FDA0000698942870000028.GIF" wi="659" he="99" /></maths>计算从源<img file="FDA0000698942870000029.GIF" wi="264" he="100" />到目的<img file="FDA00006989428700000210.GIF" wi="280" he="101" />在主方向<img file="FDA00006989428700000211.GIF" wi="98" he="88" />上的扩散速率为<img file="FDA00006989428700000212.GIF" wi="1266" he="118" />计算传输节点集合F和相应的传输速率集合Ra.初始化:令:U=S,<img file="FDA00006989428700000213.GIF" wi="676" he="92" />b.对于每一个满足的s<sub>i</sub>∈U,<img file="FDA00006989428700000214.GIF" wi="195" he="113" />且<img file="FDA00006989428700000215.GIF" wi="457" he="118" />的节点‑速率对<img file="FDA00006989428700000216.GIF" wi="195" he="97" />计算s<sub>i</sub>以速率<img file="FDA00006989428700000217.GIF" wi="74" he="81" />广播数据时,从s<sub>i</sub>接收数据的组播成员的总的接收速率<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>r</mi><mrow><mo>(</mo><msub><mi>s</mi><mi>i</mi></msub><mo>,</mo><msub><mi>&gamma;</mi><msub><mi>s</mi><mi>i</mi></msub></msub><mo>)</mo></mrow><mo>=</mo><munder><mi>&Sigma;</mi><mrow><msub><mi>g</mi><mi>i</mi></msub><mo>&Element;</mo><mi>N</mi><mrow><mo>(</mo><msub><mi>s</mi><mi>i</mi></msub><mo>,</mo><msub><mi>&gamma;</mi><msub><mi>s</mi><mi>i</mi></msub></msub><mo>)</mo></mrow></mrow></munder><msub><mi>&gamma;</mi><msub><mi>s</mi><mi>i</mi></msub></msub><mo>*</mo><msub><mi>p</mi><mrow><msub><mi>s</mi><mi>i</mi></msub><mo>,</mo><msub><mi>g</mi><mi>i</mi></msub></mrow></msub><mrow><mo>(</mo><msub><mi>r</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000698942870000031.GIF" wi="835" he="163" /></maths>用r<sup>*</sup>记录其最大值,(s,r)<sup>**</sup>记录其对应的节点‑速率对;计算s<sub>i</sub>以传输速率<img file="FDA0000698942870000032.GIF" wi="76" he="84" />向其覆盖范围内的组播成员传输组播数据的总的扩散速率为<img file="FDA0000698942870000033.GIF" wi="1037" he="164" />并用v<sup>*</sup>记录其最大值,(s,r)<sup>*</sup>记录其对应的节点‑速率对;c.如果v<sup>*</sup>&gt;0,则令(s<sub>0</sub>,r<sub>0</sub>)=(s,r)<sup>*</sup>;否则如果r<sup>*</sup>&gt;0,则令(s<sub>0</sub>,r<sub>0</sub>)=(s,r)<sup>**</sup>,若v<sup>*</sup>&lt;0且r<sup>*</sup>&lt;0转到e;d.令F=F+{s<sub>0</sub>};R=R+{r<sub>0</sub>};U=U‑{s<sub>0</sub>};<img file="FDA0000698942870000034.GIF" wi="443" he="107" />转到b;e.传输节点集合选择算法结束,得到的F即为转发集,R即为该F所对应的数据传输率集;其中:目的中心<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msub><mi>C</mi><mi>d</mi></msub><mo>=</mo><mfrac><mrow><msub><mi>&Sigma;</mi><mrow><msub><mi>g</mi><mi>i</mi></msub><mo>&Element;</mo><mi>D</mi></mrow></msub><mrow><mo>(</mo><msub><mi>x</mi><msub><mi>g</mi><mi>i</mi></msub></msub><mo>,</mo><msub><mi>y</mi><msub><mi>g</mi><mi>i</mi></msub></msub><mo>)</mo></mrow><mo>*</mo><mi>dis</mi><mrow><mo>(</mo><msub><mi>g</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow><mrow><msub><mi>&Sigma;</mi><mrow><msub><mi>g</mi><mi>i</mi></msub><mo>&Element;</mo><mi>D</mi></mrow></msub><mi>dis</mi><mrow><mo>(</mo><msub><mi>g</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow></mfrac></mrow>]]></math><img file="FDA0000698942870000035.GIF" wi="794" he="237" /></maths>主方向<img file="FDA0000698942870000036.GIF" wi="748" he="109" />公式中,S为饱和成员集合,S={s<sub>1</sub>,s<sub>2</sub>,...},相应位置为<img file="FDA0000698942870000037.GIF" wi="610" he="119" />G={g<sub>1</sub>,g<sub>2</sub>,...},相应位置为<img file="FDA0000698942870000038.GIF" wi="633" he="119" />D为所有不饱和成员的集合,即D=G‑S,dis(g<sub>i</sub>)为为组播成员g<sub>i</sub>到最近的饱和节点的距离,<img file="FDA0000698942870000039.GIF" wi="242" he="100" />表示从任意饱和成员s<sub>i</sub>到任意非饱和成员g<sub>i</sub>的传播链路在传输速率为<img file="FDA00006989428700000310.GIF" wi="74" he="81" />的包传输概率,<img file="FDA00006989428700000311.GIF" wi="230" he="102" />表示受任意一个组播成员(机架顶层服务器)s<sub>i</sub>影响的组播成员的集合,<img file="FDA00006989428700000312.GIF" wi="249" he="101" />表示任意饱和成员s<sub>i</sub>以速率<img file="FDA00006989428700000313.GIF" wi="70" he="78" />广播数据时能够从s<sub>i</sub>接收到数据的组播成员集合。
地址 100084 北京市海淀区100084信箱82分箱清华大学专利办公室