CN105306370A - 用于在多播网络中进行转发的方法和设备 - Google Patents
用于在多播网络中进行转发的方法和设备 Download PDFInfo
- Publication number
- CN105306370A CN105306370A CN201510354299.5A CN201510354299A CN105306370A CN 105306370 A CN105306370 A CN 105306370A CN 201510354299 A CN201510354299 A CN 201510354299A CN 105306370 A CN105306370 A CN 105306370A
- Authority
- CN
- China
- Prior art keywords
- node
- bag
- nodes
- forwarding
- encoded packets
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/26—Route discovery packet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0894—Packet rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/02—Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
- H04W84/10—Small scale networks; Flat hierarchical networks
- H04W84/12—WLAN [Wireless Local Area Networks]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一种用于在多播网络中进行转发的方法和设备。一种源节点包括:拓扑信息提取器,被配置为获取在多播网络中包括的节点之间的信道状态的信息,并提取多播网络的拓扑信息。所述源节点还包括:转发节点选择器,被配置为基于拓扑信息从多播网络中包括的节点选择用于转发从源节点发送的包的转发节点。
Description
本申请要求于2014年6月24日提交到韩国知识产权局的第10-2014-0077343号韩国专利申请的权益,所述申请的全部公开通过引用合并于此以用于所有目的。
技术领域
以下描述涉及一种用于在多播网络中进行转发的方法和设备。
背景技术
一般而言,通信系统已作为用于人与人的联系的介质而被采用。因此,地球上目前存在的装置中的仅1%的装置正经由网络通过相互连接而被使用。随着通信技术的发展以及根据装置的集成的联合运动,智能电话、传感器装置以及具有通信功能的多种装置组织起大型网络。此外,通信终端的许多用户正例如通过装置之间的直接连接而更加容易地利用多种应用,诸如内容共享、同步、输出和游戏。为了满足市场中不断变化的需求,已出现了除了蜂窝通信以外的能够使用现有的基础设施来支持装置之间的直接连接的无线连接技术,例如,装置到装置通信。
多播方法和单播方法在许多方面有所不同。首先,多播方法需要向大量用户提供服务,因此,由于根据服务传送的开销根据用户数量的增长而显著地增大使得多播方法不能容易地确定服务是否已被准确地传送。此外,许多多播/广播服务需要被实时传送,并且基于时间、位置和源自于无线信道的特性的其它因素而多变。
发明内容
提供本发明内容从而以简化形式介绍对在以下的具体实施方式中被进一步描述的构思的选择。本发明内容并不意图标识所要求保护的主题的关键特征或必要特征,也不意图用作帮助确定所要求保护的主题的范围的手段。
在一个总体方面,提供了一种源节点,所述源节点包括:拓扑信息提取器,被配置为获取在多播网络中包括的节点之间的信道状态的信息,并提取多播网络的拓扑信息;转发节点选择器,被配置为基于拓扑信息,从多播网络中包括的节点选择用于转发从源节点发送的包的转发节点。
拓扑信息提取器可被配置为:基于由多播网络中包括的节点之中除源节点以外的其余节点接收到的包来提取拓扑信息。
拓扑信息提取器可被配置为:将训练包发送到多播网络中包括的节点之中除源节点以外的其余节点之中的第一节点;从第一节点接收作为反馈的训练报告包,其中,训练报告包包括由第一节点接收到的训练包的信息。
拓扑信息提取器可被配置为:基于训练报告包来计算第一节点的包接收率,并响应于第一节点的包接收率大于或等于预定阈值水平,将第一节点选为转发候选节点。
拓扑信息提取器可被配置为:将训练轮询包发送到从多播网络中包括的节点之中除源节点以外的其余节点选择的转发候选节点,以使转发候选节点将训练包发送到所述其余节点之中的第二节点。
响应于在所述其余节点之中存在多个转发候选节点,拓扑信息提取器可被配置为:按照预定顺序将训练轮询包发送到所述多个转发候选节点。
拓扑信息提取器可被配置为:从转发候选节点接收邻近报告包,其中,邻近报告包包括第二节点的信息和由第二节点接收到的训练包的信息。
拓扑信息提取器可被配置为:从转发候选节点接收块训练报告包,其中,块训练报告包包括:已将训练包发送到所述其余节点中的一部分节点的节点的信息、所述其余节点中的所述一部分节点的信息和由所述其余节点中的所述一部分节点接收到的训练包的信息。
拓扑信息提取器可被配置为:将多播网络中包括的节点之中除源节点以外的其余节点中的一部分节点选为训练节点;基于由选择的训练节点接收到的包的信息来提取拓扑信息。
拓扑信息提取器可被配置为:从多播网络中包括的节点之中除源节点以外的其余节点接收在多播网络中包括的节点之间的信道状态的统计信息;基于所述统计信息来提取拓扑信息。
转发节点选择器可被配置为:基于拓扑信息,将多播网络中包括的节点之中除源节点以外的其余节点分类为1跳节点组和2跳节点组;基于从所述其余节点之中的转发候选节点针对所述其余节点中的至少一部分节点进行包发送的效果,从所述其余节点之中的转发候选节点选择转发节点。
转发节点选择器可被配置为:基于拓扑信息来估计所述其余节点中的每个节点的预测包接收量,其中,预测包接收量指示使所述其余节点中的每个节点接收到与目标包接收量或更大包接收量相应的包的概率大于或等于预定阈值概率的包接收量;基于所述其余节点中的每个节点的预测包接收量来估计所述其余节点中的每个节点的可能需要的自由度(PR-DoF),其中,所述PR-DoF指示所述其余节点中的每个节点在从另一节点接收到包之后将另外接收的包的量;将所述其余节点之中的具有相对低PR-DoF的节点确定为在1跳节点组中,并将所述其余节点之中的具有相对高PR-DoF的节点确定为在2跳节点组中。
转发节点选择器可被配置为:基于包括在2跳节点组中的至少一个节点中的每个节点针对转发候选节点中的每个转发候选节点的PR-DoF,计算所述至少一个节点中的每个节点的需要的发送的数量(RTX),并基于RTX来从转发候选节点选择转发节点,其中,RTX指示针对转发候选节点中的每个转发候选节点,由所述至少一个节点中的每个节点请求发送的包的量。
转发节点选择器可被配置为:估计包括在2跳节点组中的所述至少一个节点中的每个节点的RTX之中的最小RTX;针对转发候选节点中的每个转发候选节点,从所述至少一个节点提取包括多个节点的最佳2跳节点组(BTG),其中,所述多个节点请求相应转发候选节点以最小RTX将包发送到所述多个节点;针对转发候选节点中的每个转发候选节点,估计包括在BTG中的所述多个节点的最小RTX之中的最大RTX;针对转发候选节点中的每个转发候选节点,估计第一利用率,其中,第一利用率指示根据针对所述其余节点中的至少一部分节点的最大RTX向包括在BTG中的所述多个节点进行包发送的效果。
转发节点选择器可被配置为:从转发候选节点选择具有最大第一利用率的转发候选节点作为转发节点。
转发节点选择器可被配置为:从转发候选节点选择具有最大的最大RTX的转发候选节点作为转发节点。
响应于选择的转发节点的总包发送量小于预定最大包发送量,转发节点选择器可被配置为:通过基于选择的转发节点更新PR-DoF、RTX、最小RTX、最大RTX和第一利用率来从转发候选节点选择转发节点。
转发节点选择器可被配置为:针对包括在2跳节点组中的所述至少一个节点中的每个节点,估计第二利用率,其中,第二利用率指示包括在2跳节点组中的节点根据从转发候选节点中的每个转发候选节点到包括在2跳节点组中的节点的包发送的满意程度;针对转发候选节点中的每个转发候选节点,基于所述至少一个节点中的每个节点的第二利用率来估计网络利用率,其中,网络利用率指示2跳节点组根据从转发候选节点中的每个转发候选节点进行的包发送的满意程度;基于转发候选节点中的每个转发候选节点的网络利用率,从转发候选节点选择转发节点。
转发节点选择器可被配置为:通过响应于网络利用率根据从转发候选节点发送的包的量的倾斜度来更新转发候选节点中的每个转发候选节点的第二利用率,从转发候选节点选择第二利用率根据从转发候选节点之一发送的包的量的倾斜度最大的转发候选节点作为转发节点。
在另一总体方面,提供了一种节点,包括:编码器,被配置为基于随机矩阵将原始包转换为编码包;解码器,被配置为基于根据编码包而产生的生成矩阵,将编码包转换为原始包。
编码器可被配置为:通过将原始包划分为子包并对子包和随机矩阵执行运算,产生编码数据。
编码器可被配置为:通过将第一头部添加到编码数据来产生编码包,其中,第一头部包括编码数据的信息。
第一头部可包括以下信息中的至少一个信息:原始包的数量的信息、随机矩阵的长度的信息、编码包的标识符的信息、随机矩阵的系数的信息、以及编码包的类型的信息。
编码包的类型的信息可包括:系统码,用于在将编码包发送到无线局域网(WLAN)模块之前将原始包发送到WLAN模块;非系统码,用于将编码包发送到WLAN模块。
编码器可被配置为:将第二头部添加到编码包,其中,第二头部包括原始包的以太网类型的信息。
响应于从以太网模块接收到K个原始包,编码器可被配置为:基于K个随机矩阵,将所述K个原始包转换为N个编码包;将所述N个编码包发送到无线局域网(WLAN)模块。
解码器可被配置为:通过基于从编码包提取的矩阵系数来产生生成矩阵并对编码包和生成矩阵的逆矩阵执行运算,提取原始包。
解码器可被配置为:基于LU分解方法,将编码包转换为原始包。
解码器可被配置为:将编码包插入到包队列列表中包括的包队列中;响应于至少预定数量的编码包被插入到所述包队列,将编码包转换为原始包。
所述包队列可被连接到包队列列表和链接列表中包括的其余包队列中,并可包括插入到所述包队列的编码包的标识符和编码包被插入到所述包队列的时间的信息。
响应于编码包被插入到所述包队列的时间先于预定阈值时间,解码器可被配置为从包队列列表删除所述包队列。
响应于从无线局域网(WLAN)模块接收到的编码包的标识符与在一段预定时间段期间被转换为原始包的编码包的标识符不同,解码器可被配置为:将从WLAN模块接收到的编码包插入到所述包队列。
响应于从无线局域网(WLAN)模块接收到的编码包的标识符与被插入到包括在包队列列表中的包队列的编码包的标识符不同,解码器可被配置为:将从WLAN模块接收到的编码包插入到所述包队列。
响应于生成矩阵中与编码包相应的分量是线性相关的,解码器可被配置为:从所述包队列删除编码包。
在另一总体方面,提供了一种源节点,包括:拓扑信息提取器,被配置为获取在多播网络中包括的节点之间的信道状态的信息,并提取多播网络的拓扑信息;转发节点选择器,被配置为基于拓扑信息,从多播网络中包括的节点选择用于转发从源节点发送的包的转发节点;转换器,被配置为基于随机矩阵将原始包转换为编码包,将编码包发送到转发节点和从转发节点接收编码包,基于根据接收到的编码包而产生的生成矩阵来将编码包转换为原始包。
在另一总体方面,提供了一种源节点的操作方法,所述方法包括:获取在多播网络中包括的节点之间的信道状态的信息;提取多播网络的拓扑信息;基于拓扑信息从多播网络中包括的节点选择用于转发从源节点发送的包的转发节点。
在另一总体方面,提供了一种节点的操作方法,所述方法包括:基于随机矩阵将原始包转换为编码包;基于根据编码包而产生的生成矩阵,将编码包转换为原始包。
在另一总体方面,提供了一种源节点的操作方法,所述方法包括:获取在多播网络中包括的节点之间的信道状态的信息;提取多播网络的拓扑信息;基于拓扑信息,从多播网络中包括的节点选择用于转发从源节点发送的包的转发节点;基于随机矩阵将原始包转换为编码包;将编码包发送到转发节点和从转发节点接收编码包;基于根据接收到的编码包而产生的生成矩阵,将编码包转换为原始包。
一种可存储程序的非暂时性计算机可读存储介质,其中,所述程序包括用于使计算机执行所述方法的指令。
其它特征和方面从下面的详细描述、附图和权利要求将是清楚的。
附图说明
图1是示出多播网络中的节点的示例的示图;
图2是示出源节点的示例的示图;
图3是示出包的格式的示例的示图;
图4是示出多个节点之间的操作的示例的示图;
图5是示出选择转发节点的方法的示例的流程图;
图6是示出选择转发节点的方法的另一示例的流程图;
图7是示出选择转发节点的示例的示图;
图8A和图8B是描述网络利用率的示例的曲线图;
图9是示出选择转发节点的方法的另一示例的流程图;
图10是示出转发选择包的格式的示例的示图;
图11是示出节点的示例的示图;
图12是描述编码方法的示例的示图;
图13是示出编码包的格式的示例的示图;
图14是描述解码方法的示例的示图;
图15是示出源节点的操作方法的示例的流程图;
图16是示出节点的操作方法的示例的流程图;
图17是示出源节点的操作方法的另一示例的流程图。
贯穿附图和具体实施方式,除非另有描述或被另外提供,否则相同的附图参考标号将被理解为指示相同的元件、特征和结构。附图可不必按比例绘制,为了简明、图示和方便,可夸大附图中的元件的相对尺寸、比例和描绘。
具体实施方式
提供以下详细描述以帮助读者全面理解在此描述的方法、设备和/或系统。然而,在此描述的系统、设备和/或方法的各种改变、修改和等同物对于本领域普通技术人员而言将是清楚的。所描述的处理步骤和/或操作的进行是示例;然而,除非步骤和/或操作必须按照特定顺序发生,否则处理步骤和/或操作的顺序不限于在此所阐述的,并可如本领域已知的那样被改变。此外,为了更加清楚和简明,可省略对于本领域普通技术人员而言公知的功能和构造的描述。
在此描述的特征可以以不同的形式被实施,并且将不被解释为限于在此描述的示例。而是,已提供在此描述的示例从而使得本公开将是彻底且完整的,并且将本公开的全部范围传达给本领域普通技术人员。
在下文中,将参照附图描述示例。附图中示出的相同参考标号是指相同的组成元件。
可对示例做出各种更改和修改。这里,示例不被解释为限于本公开,而是应被理解为包括本公开的理念和技术范围内的所有改变、等同物和替代物。
在此使用的术语仅用于描述特定示例的目的,而不是意图限制所述示例。如在此所使用的,除非上下文另有清楚的指示,否则单数形式也意图包括复数形式。还将理解,当在本说明中使用术语“包含/包括”和/或“具有”时,所述术语表示叙述的特征、整体、步骤、操作、元件、组件和/或它们的组合的存在,但不排除一个或更多个其它特征、数字、步骤、操作、元件、组件和/或它们的组合的存在或添加。
除非另有定义,否则这里使用的所有术语(包括技术术语和科学术语)具有与示例所属领域的普通技术人员通常理解的含义相同的含义。还将理解,除非这里确切地定义,否则术语(诸如在常用词典中定义的那些术语)应被解释为具有与所述术语在相关领域的上下文中的含义一致的含义,而不会被理想化或过于正式地解释。
相同的参考标号指示相同的组成元件,并且将省略与其相关的重复描述。当确定与相关已知功能或配置的相关的详细描述在描述示例时会使示例的目的引起不必要的歧义时,所述详细描述将在这里被省略
图1示出多播网络中的节点100的示例。在示例中,多播网络可包括多个节点。源节点可将包发送到多播网络中的多个节点。在该示例中,源节点可在所述多个节点之中选择单个转发节点,并可经由转发节点将包发送到其余节点。因此,源节点的发送覆盖范围可被扩大,并且源节点的包发送效率可被增强。
参照图1,节点100包括以太网模块110、无线局域网(WLAN)模块120和矩阵网络编码(MNC)模块130。MNC模块130被置于以太网模块110和WLAN模块120之间。MNC模块130的位置不限于以太网模块110和WLAN模块120之间的位置。例如,当在无需使用以太网模块110的情况下WLAN模块120从层3(L3)接收包时,MNC模块120可被置于WLAN模块120之上。
MNC模块130包括拓扑信息提取器140、转发节点选择器150和转换器160。拓扑信息提取器140获取多播网络中包括的多个节点之间的信道状态的信息,并提取多播网络的拓扑信息。例如,节点100可从多播网络中包括的其它节点接收包以及将包发送到多播网络中包括的其它节点,拓扑信息提取器140可获取从WLAN模块120发送的包和接收的包。拓扑信息提取器140基于发送的包和接收的包来提取节点100与其它节点中的每个节点之间的信道状态的信息。此外,拓扑信息提取器140从WLAN模块120获取在除节点100以外的其它节点之间发送和接收的包。因此,拓扑信息提取器140基于节点100与其它节点中的每个节点之间的信道状态的信息以及除节点100以外的其它节点之间的信道状态的信息,提取多播网络的拓扑信息。
转发节点选择器150基于拓扑信息来从多播网络中包括的多个节点选择用于转发从节点100发送的包的转发节点。此外,转发节点选择器150确定转发节点的包发送量。在示例中,当节点100不是源节点时,节点100可响应于源节点的选择而用作转发节点。
转换器160使用随机矩阵将从以太网模块110接收到的原始包转换为编码包,并将编码包发送到WLAN模块120。因此,编码包被发送到转发节点或另一节点。当节点100接收到从转发节点或其它节点接收的编码包时,转换器160从WLAN模块120接收编码包。转换器160使用基于编码包而产生的生成矩阵来将编码包转换为原始包,并将原始包发送到以太网模块110。因此,当节点100是源节点时,节点100获取拓扑信息,基于拓扑信息从多个节点选择转发节点,并将编码包发送到转发节点。响应于此,节点100从转发节点接收编码包,并将编码包解码为原始包。相反,当节点100不是源节点时,在源节点的控制下节点100可被选为转发节点。当节点100被选为转发节点时,节点100从源节点接收编码包,并将编码包转发到其它节点。当节点100未被选为转发节点时,节点100从转发节点接收编码包,并将编码包解码为原始包。
在下文中,将描述拓扑信息提取方法。
图2示出源节点200的实例。参照图2,源节点200包括拓扑信息提取器210和转发节点选择器220。在示例中,源节点200还可包括转换器(未示出)。源节点200的转换器使用随机矩阵将原始包编码为编码包,或使用基于编码包而产生的生成矩阵来将编码包解码为原始包。
拓扑信息提取器210基于由多播网络中包括的多个节点之中除源节点200以外的其余节点接收到的包的信息来提取拓扑信息。拓扑信息提取器210获取源节点200与其余节点中的每个节点之间的信道状态的信息以及所述其余节点之间的信道状态的信息,并基于获取的信道状态的信息来估计拓扑信息。
在示例中,拓扑信息提取器210将训练包发送到源节点200的邻近节点,并且响应于此,拓扑信息提取器210从所述邻近节点接收作为反馈的训练报告包。在该示例中,预定节点的邻近节点可指与所述预定节点相对接近的节点,或者也可指多播网络中包括的所有节点。术语“训练包”指从拓扑信息提取器210被发送到包接收率将被测量的节点的用于测量包接收率的包。术语“训练报告包”指当已接收到训练包的节点向已发送训练包的节点报告接收到训练包时使用的包。训练报告包包括由邻近节点接收到的训练包的信息。例如,当拓扑信息提取器210将K个训练包发送到第一节点时,第一节点可基于源节点200与第一节点之间的信道状态接收(K-2)个训练包。在该示例中,第一节点产生包括接收到的训练包的数量的信息的训练报告包,并将产生的训练报告包发送到拓扑信息提取器210。
此外,拓扑信息提取器210基于训练报告包来计算已发送训练报告包的邻近节点的包接收率。在示例中,拓扑信息提取器210可将包接收率大于或等于预定阈值水平的节点选为转发候选节点。例如,拓扑信息提取器210可从自第一节点发送的训练报告包提取下述信息:该信息陈述拓扑信息提取器210已经向第一节点发送了十个训练包,且第一节点已接收到八个训练包。因此,拓扑信息提取器210将第一节点的包接收率计算为80%。在该示例中,当预定阈值水平被设置为70%时,拓扑信息提取器210将包接收率大于或等于所述预定阈值水平的第一节点确定为转发候选节点。
此外,拓扑信息提取器210将训练轮询包发送到转发候选节点。术语“训练轮询包”是指使已接收到训练轮询包的节点将训练包发送到已接收到训练轮询包的节点的邻近节点的包。因此,转发候选节点将训练包发送到邻近节点,并从已接收到训练包的邻近节点接收训练报告包,其中,所述训练报告包包括由所述邻近节点接收到的训练包的数量的信息。响应于接收到训练报告包,转发候选节点产生邻近报告包,并将邻近报告包发送到拓扑信息提取器210。术语“邻近报告包”是指当转发候选节点使用训练轮询包向邻近节点发送训练包并从邻近节点接收训练报告包时用于向源节点200报告接收到的训练报告包的包。邻近报告字段可包括已发送训练报告包的邻近节点的信息和由邻近节点接收到的训练包的信息。例如,当源节点200和第二节点被置于相对远的距离处时,拓扑信息提取器210将训练轮询包发送到与源节点200相对近的第一节点。响应于接收到的训练轮询包,第一节点将训练包发送到第二节点。第二节点产生包括接收到的训练包的数量的信息的训练报告包,并将训练报告包发送到第一节点。第一节点基于接收到的训练报告包来产生邻近报告包,其中,所述邻近报告包包括第二节点的信息和由第二节点接收到的训练包的信息。源节点200从第一节点接收邻近报告包,并使用邻近报告包来计算第二节点针对第一节点的包接收率。
在示例中,由源节点200发送的训练包和由转发候选节点发送的训练包可被彼此区分开。例如,在由源节点200发送的训练包中,类型字段的字段值可以是“1”。在由转发候选节点发送的训练包中,类型字段的字段值可以是“2”。此外,由拓扑信息提取器210接收的训练报告包和由转发候选节点接收的训练报告包可被彼此区分开。例如,在由拓扑信息提取器210接收的训练报告包中,类型字段的字段值可以是“3”。在由转发候选节点发送的训练报告包中,类型字段的字段值可以是“4”。
当源节点200的邻近节点从多个其它节点获取训练报告包时,拓扑信息提取器210从源节点200的邻近节点接收块训练报告包。术语“块训练报告包”是指当除源节点200以外的节点从多个其它节点接收到训练报告包时用于向源节点200报告接收到的训练报告包的包。块训练报告包包括已将训练包发送到多个其它节点的节点的信息、所述多个其它节点的信息、以及由所述多个其它节点接收到的训练包的信息。例如,拓扑信息提取器210可将训练轮询包发送到与转发候选节点相应的第一节点。响应于接收到的训练轮询包,第一节点可将训练包发送到第二节点和第三节点。第一节点可从第二节点和第三节点中的每一个接收训练报告包,并可使用接收到的训练报告包产生块训练报告包。在该示例中,块训练报告包可包括第一节点的信息、第二节点和第三节点的信息、以及由第二节点和第三节点接收到的训练包的信息。拓扑信息提取器210从第一节点接收块训练报告包,并从块训练报告包估计第二节点和第三节点中的每一个与第一节点之间的信道状态。
在示例中,拓扑信息提取器210可将多播网络中包括的多个节点中的一部分节点选择为训练节点,并可在所述多个节点正发送和接收一般包的同时基于由选择的训练节点周期性地或非周期性地接收的包的信息来提取拓扑信息。因此,拓扑信息提取器210可向所述多个节点中的一部分节点发送包并从所述多个节点中的一部分节点接收包,以便提取拓扑信息,其中,这会使多播网络的负荷降低。
在示例中,在拓扑信息提取器210正在向多播网络中包括的多个节点发送一般包和正从多播网络中包括的多个节点接收一般包的同时,所述多个节点可继续监控并更新所述多个节点之间的信道状态,并可将信道状态的统计信息发送到拓扑信息提取器210。拓扑信息提取器210基于所述多个节点之间的信道状态的信息来提取拓扑信息。
图3示出包的格式的示例。将参照图3和图4描述的源节点的操作可指图2的拓扑信息提取器210的操作。
参照图3,源节点使用训练包210、训练报告包320、训练轮询包330、邻近报告包340和块训练报告包350来获取多播网络中包括的多个节点之间的信道状态的信息。
训练包310是指从源节点发送到包接收率将被测量的节点的用于测量包接收率的包。训练包310包括以太网(Ether)头311、类型字段312、发送量(K)字段313、序列(seq)字段314和数据(随机字节)字段315。以太网头311指示训练包310的以太网类型,类型字段312指示训练包310的属性。例如,当类型字段312的字段值是“1”时,训练包310可指从源节点发送的训练包。当类型字段312的字段值是“2”时,训练包312可指从除源节点以外的另一节点发送的训练包。发送量字段313指示从节点发送的训练包的总数量,序列字段314包括关于训练包310与从节点发送的训练包之中的哪个被编号的训练包相应的信息。数据字段315将随机数据包括在Galois字段中。在示例中,数据字段315可具有与从节点实际发送的和被节点实际接收的包的长度相同的长度。例如,当源节点将1353字节的包发送到第一节点以及从第一节点接收到1353字节的包时,源节点可将数据字段315设置为1353字节。
训练报告包320是指当已接收到训练包的节点向已发送训练包的节点报告接收到训练包时使用的包。训练报告包320包括以太网(Ether)头321、类型字段322、发送量(tot)字段323、接收量(rev)字段324和吞吐量(thr)字段325。以太网头321指示训练报告包320的以太网类型,类型字段322指示训练报告包320的属性。例如,当类型字段322的字段值是“3”时,训练报告包320可指关于从源节点发送的训练包的训练报告包。当类型字段322的字段值是“4”时,训练报告包320可指关于从除源节点以外的另一节点发送的训练包的训练报告包。发送量字段323指示发送的训练包的总数量,接收量字段324指示节点实际接收到的训练包的数量。吞吐量字段325指示由已发送训练报告包320的节点测量的吞吐量。
训练轮询包330是指使已接收到训练轮询包的节点将训练包发送到已接收到训练轮询包的节点的邻近节点的包。训练轮询包330包括以太网(Ether)头331和类型字段332。以太网头331指示训练轮询包330的以太网类型,类型字段332指示训练轮询包330的属性。在示例中,训练轮询包330的类型字段332的字段值可以是“5”。
邻近报告包340是指当转发候选节点使用训练轮询包将训练包发送到邻近节点并从邻近节点接收训练报告包时用于向源节点报告接收到的训练报告包的包。邻近报告包340包括以太网(Ether)头341、类型字段342、报告包量(num)字段343、地址(addrn)字段344、发送量(totn)字段345、接收量(revn)字段346和吞吐量(thrn)字段347。以太网头341指示邻近报告包340的以太网类型,类型字段342指示邻近报告包340的属性。例如,类型字段342的字段值可以是“6”。报告包量字段343指示使用邻近报告包340报告的训练报告包的数量,地址字段344指示与第n个训练报告字段相应的节点的媒体访问控制(MAC)地址,发送量字段345指示发送到与第n个训练报告字段相应的节点的训练包的数量,接收量字段346指示由与第n个训练报告字段相应的节点实际接收到的训练包的数量。吞吐量字段347指示由与使用邻近报告包340报告的训练报告包中的每个训练报告包相应的节点测量的吞吐量。
块训练报告包350是指当除源节点以外的节点从其它节点接收到训练报告包时用于向源节点报告接收到的训练报告包的包。块训练报告包35包括以太网(Ether)头351、类型字段352、报告包量(num)字段353、目的地地址(daddrn)字段354、源地址(saddrn)字段355、发送量(totn)字段356、接收量(revn)字段347和吞吐量(thrn)字段348。
以太网头351指示块训练报告包350的以太网类型,类型字段352指示块训练报告包350的属性。例如,类型字段352的字段值可以是“7”。报告包量字段353指示由产生块训练报告包350的节点接收的训练报告包的数量,源地址字段354指示与第n个训练报告字段相应的节点的地址,目的地地址字段355指示已将训练包发送到与第n个训练报告字段相应的节点的节点的地址,发送量字段356指示被发送到与第n个训练报告字段相应的节点的训练包的数量,接收量字段357指示由与第n个训练报告字段相应的节点实际接收的训练包的数量。吞吐量字段358指示由与使用块训练报告包350报告的训练报告包中的每个训练报告包相应的节点测量的吞吐量。
图4示出多个节点之间的操作的示例,参照图4,多播网络包括源节点410、第一节点421、第二节点422、第三节点431和第四节点432。在该示例中,第一节点421和第二节点422是被配置为从源节点410接收包的1跳节点,第三节点431和第四节点432是被配置为从1跳节点接收包的2跳节点。
源节点410以预定间隔提取拓扑信息,并还在控制下从外部提取拓扑信息。源节点410可使用多播方法将训练包发送到第一节点421和第二节点422。第一节点421和第二节点422中的每一个计算接收到的训练包的数量,并且响应于此,使用单播方法将训练报告包发送到源节点410。使用接收到的训练报告包,源节点410计算第一节点421和第二节点422的包接收率。当第一节点421和第二节点422的包接收率大于或等于预定阈值水平时,源节点410将第一节点421和第二节点422选为转发候选节点。
如果在接收到训练报告包之后经过了一段预定时间,则源节点410首先将训练轮询包发送到与转发候选节点相应的第一节点421和第二节点422之中的第一节点421。源节点410从第一节点421接收邻近报告包,并将训练轮询包发送到第二节点422。在示例中,当源节点410在一段预定时间期间没有从第一节点421接收到邻近报告包时,源节点410可请求第一节点421重新发送邻近报告包。当源节点410未从第一节点421接收到邻近报告包达到最大重新发送次数时,源节点410将训练轮询包发送到第二节点422。
响应于接收到的训练轮询包,第一节点421将训练包发送到第三节点431和第四节点432。第一节点421从第三节点431和第四节点432中的每一个接收训练报告包。如果经过了一段预定时间,则第一节点421基于接收到的训练报告包产生邻近报告包,并将产生的邻近报告包发送到源节点410。在示例中,当第一节点421与源节点410之间的信道状态差时,第一节点421可基于从第三节点431和第四节点432接收的训练报告包来产生块训练报告包,并可将产生的块训练报告包发送到第二节点422。第二节点422可将从第一节点421接收的块训练报告包发送到源节点410。源节点410可使用从其它节点(例如,第一节点421、第二节点422、第三节点431和第四节点432)接收的训练报告包、邻近报告包和/或块训练报告包来提取多播网络的拓扑信息。
在下文中,将描述选择转发节点的方法。参照图2,转发节点选择器220基于由拓扑信息提取器210提取的拓扑信息,从多播网络中包括的多个节点选择转发节点。转发节点是指被配置为从源节点200接收包并将接收到的包转发给另一节点的节点。转发节点选择器220基于拓扑信息将多个节点之中除源节点200以外的其余节点分类为1跳节点组和2跳节点组,并基于从多个转发候选节点针对所述其余节点中的至少一部分节点进行包发送的效果,从所述多个转发候选节点选择转发节点。将进一步参照图5至图10描述转发节点选择器220的操作。将参照图5至图10描述的源节点的操作可指图2的转发节点选择器220的操作。
为了描述图5至图10的实例,针对转发节点选择器220而采用的参数被如下定义:
(1)预测包接收量:预测包接收量是指接收节点的使接收节点在环境中接收与目标包接收量或更大包接收量相应的包的概率大于或等于阈值概率的包接收量,其中,以所述阈值概率,包发送成功率恒定。接收节点指示2跳节点。当发送节点的包发送成功率为p,并且发送节点的包发送和另一节点的包发送相互独立时,接收节点接收到与目标包接收量相应的包的概率由等式1表示。
[等式1]
在等式1中,X表示接收节点的包接收量,k表示目标包接收量,N表示发送节点的包发送量,p表示发送节点的包发送成功率。
此外,预测包接收量由等式2表示,其中,所述预测包接收量是接收节点的使接收节点接收到与目标包接收量或更大包接收量相应的包的概率大于或等于阈值概率的包接收量:
[等式2]
当 时
在等式2中,N表示发送节点的包发送量,p表示发送节点的包发送成功率,Pth表示阈值概率。X表示接收节点的包接收量,k表示目标包接收量,k*表示预测包接收量。
因此,当包发送成功率为p并且发送节点发送了N个包时,预测包接收量k*(N,p,Pth)是指接收节点的使接收节点接收到与目标包接收量或更大包接收量相应的包的概率大于或等于阈值概率Pth的包接收量。预测包接收量k*(N,p,Pth)的运算可能具有相当高的计算复杂度。因此,预测包接收量k*(N,p,Pth)可近似于针对包发送量N和包发送成功率p的多项式表达式。
在示例中,当所述阈值概率Pth=0.99时,预测包接收量k*(N,p,Pth)可近似于针对包发送量N为“10”到“20”并且包发送成功率p是“0”到“1”的范围的表达式αNP2。例如,当α被设置为“0.7656”时,αNP2的平均误差会是“0.6”。在示例中,可使用查找表来计算预测包接收量k*(N,p,Pth)。例如,当针对包发送量N、包发送成功率p和阈值概率Pth中的每一个计算预测包接收量k*(N,p,Pth),并且预测包接收量k*(N,p,Pth)以查找表的形式被存储时,节点可通过参照所述查找表来提取预测包接收量k*(N,p,Pth)。
(2)可能需要的自由度(PR-DoF):PR-DoF是指将被已从发送节点接收到包的接收节点另外接收的包的量。当源节点将包发送到节点i时,所述节点i的PR-DoF由等式3来表示。
[等式3]
PR-DoFi=max(K-k*(Ns,psi,Pth),0)
在等式3中,PR-DOFi表示节点i的PR-DoF,K表示当源节点使用随机矩阵将原始包转换为编码包并将编码包发送到节点i时的原始包的数量,Ns表示从源节点发送到节点i的编码包的数量。Psi表示源节点和节点i之间的包发送成功率,Pth表示阈值概率。k*表示节点i的预测包接收量。等式3可被总结为如等式4所表示的。
[等式4]
PR-DoFij(Kj′,Ni,pij,Pth)=max(Kj′-k*(Ni,pij,Pth),0)
在等式4中,PR-DOFij表示接收节点j针对发送节点i的PR-DoF,Kj’表示接收节点j的先前PR-DoF,Ni表示从发送节点i发送到接收节点j的编码包的数量。Pij表示发送节点i和接收节点j之间的包发送成功率,Pth表示阈值概率。k*表示接收节点j的预测包接收量。因此,节点j的当前PR-DoF指示通过从节点j的先前PR-DoF减去节点j的预测包接收量而获得的值。
(3)需要的发送的数量(RTX):RTX指示节点请求转发候选节点发送的包的数量。节点i针对转发候选节点j的RTX由等式5来表示:
[等式5]
在等式5中,Mij表示节点i针对转发候选节点j的RTX,PR-DOFij表示转发候选节点j针对节点i的PR-DoF,Kj’表示转发候选节点j的先前PR-DoF,Ni表示从节点i发送到转发候选节点j的编码包的数量,Pij表示节点i和转发候选节点j之间的包发送成功率,Pth表示阈值概率。k*表示预测包接收量。
(4)最小RTX(mRTX):最小RTX是指接收节点针对多个发送节点的RTX之中的最小的RTX。接收节点j针对转发候选节点i的最小RTX由等式6来表示。
[等式6]
在等式6中,表示接收节点j的最小RTX。
(5)最佳两跳节点组(BTG):BTG是指包括接收节点之中的请求相应转发候选节点以最小RTX进行包发送的节点的组。转发候选节点i的BTG由等式7来表示。
[等式7]
BTGi={j|Mi *=Mij}
在等式7中,BTGi表示转发候选节点i的BTG,Mj *表示接收节点j的最小RTX,Mij表示接收节点j针对转发候选节点i的RTX。因此,转发候选节点i的BTG可以是包括多个节点之中的最小RTX与转发候选节点i相关联的节点的组。
(6)最大RTX(MmRTX):最大RTX指示包括在BTG中的节点的最小BTX之中的最大的最小RTX。转发候选节点i的最大RTX由等式8来表示。
[等式8]
Mi′=max{Mj *|j∈BTGi}
在等式8中,Mi’表示转发候选节点i的最大RTX,Mj *表示接收节点j的最小RTX,BTGi表示转发候选节点i的BTG。在示例中,转发候选节点i的最大RTX可指示将被发送到包括在转发候选节点i的BTG中的节点的包的量。
(7)第一利用率:第一利用率表示根据转发候选节点针对邻近节点具有的最大RTX向包括在BTG中的节点进行包发送的效果。转发候选节点i的第一利用率由等式9来表示。
[等式9]
在等式9中,S表示接收节点的集合。基于多播网络的状态,集合S可指示转发候选节点i的BTG,并还可指示多播网络中包括的全部多个节点。Ui表示转发候选节点i的第一利用率,Kj’表示接收节点j的先前PR-DoF,Pij表示转发候选节点i与接收节点j之间的包发送成功率,Pth表示阈值概率。Mi’表示候选节点i的最大RTX,k*表示接收节点j的预测包接收量。因此,当候选节点i重新发送Mi’个包时,根据等式9的第一利用率指示可发送到多播网络中包括的多个节点的包的数量。
此外,第一利用率由等式10来表示。
[等式10]
Ui=|BTGi|
在等式10中,Ui表示转发候选节点i的第一利用率,BTGi表示转发候选节点i的BTG。因此,根据等式10的第一利用率指示转发候选节点i可满足的接收节点的数量。在示例中,当根据等式10的转发候选节点i的第一利用率等于根据等式10的转发候选节点j的第一利用率时,源节点将具有最小的最大RTX的转发候选节点确定为转发节点。
此外,第一利用率由等式11来表示。
[等式11]
Ui(S,Kj′,Ni,pij,Pth)
在等式11中,Ui表示转发候选节点i的第一利用率,S表示多播网络中包括的节点的集合,Kj’表示接收节点j的先前PR-DoF,Ni表示从转发候选节点i发送到接收节点j的编码包的数量,Pij表示转发候选节点i和接收节点j之间的包发送成功率,Pth表示阈值概率。
图5是示出选择转发节点的方法的示例的流程图。参照图5,在操作510,源节点获取拓扑信息。源节点获取多播网络中包括的多个节点之间的信道状态的信息,并从所述信道状态的信息提取多播网络的拓扑信息。
在操作520,源节点将多播网络中包括的多个节点之中的除源节点以外的其余节点分类为1跳节点组和2跳节点组。1跳节点组表示被配置为从源节点接收包的一组节点,2跳节点组表示被配置为通过1跳节点的转发来接收从源节点发送的包的一组节点。根据等式2,源节点基于拓扑信息来估计其余节点中的每个节点的预测包接收量。预测包接收量指示其余节点中的每个节点的这样的包接收量:所述包接收量使其余节点中的每个节点接收与目标包接收量或更大包接收量相应的包的概率大于或等于预定阈值概率。根据等式3,源节点基于其余节点中的每个节点的预测包接收量来估计其余节点中的每个节点的PR-DoF。PR-DoF指示在从另一节点接收包之后将由其余节点中的每个节点另外接收的包的量。源节点可将具有相对低PR-DoF的节点确定为1跳节点组,并可将具有相对高PR-DoF的节点确定为2跳节点组。例如,源节点可将PR-DoF为“0”的节点确定为1跳节点组,并可将PR-DoF大于“0”的节点确定为2跳节点组。
在操作530,源节点估计系统参数。系统参数可包括例如RTX、最小RTX、最大RTX和/或第一利用率。
在示例中,源节点可计算包括在2跳节点组中的至少一个节点中的每个节点的RTX。为此,根据等式4,源节点针对多个转发候选节点中的每个转发候选节点来计算包括在2跳节点组中的至少一个节点中的每个节点的PR-DoF。根据等式5,源节点基于包括在2跳节点组中的所述至少一个节点中的每个节点针对多个转发候选节点中的每个候选节点的PR-DoF,针对多个转发候选节点中的每个转发候选节点计算包括在2跳节点组中的所述至少一个节点中的每个节点的RTX。
在示例中,根据等式6,源节点可针对包括在2跳节点组中的所述至少一个节点中的每个节点,估计最小RTX,其中,所述最小RTX指示包括在2跳节点组中的所述至少一个节点的RTX之中的最小的RTX。
在示例中,根据等式7,源节点可针对多个转发候选节点中的每个转发候选节点,在包括在2跳节点组中的所述至少一个节点之中提取BTG,其中,所述BTG包括请求相应转发候选节点以最小RTX进行包发送的节点。
在示例中,根据等式8,源节点可针对转发候选节点中的每个转发候选节点,估计最大RTX,其中,最大RTX指示包括在BTG中的节点的最小RTX之中的最大的最小RTX。
在示例中,根据等式9、等式10和等式11中的至少一个等式,源节点可估计多个转发候选节点中的每个转发候选节点的第一利用率。第一利用率表示根据多个转发候选节点中的每个转发候选节点针对所述其余节点中的至少一部分节点所具有的最大RTX,对包括在BTG中的节点进行包发送的效果。
在操作540,源节点确定转发节点以及转发节点的包发送量。在示例中,源节点可从多个转发候选节点选择具有最大的第一利用率的转发候选节点作为转发节点,并可确定选择的转发节点的包发送量。在示例中,源节点可从多个转发候选节点选择具有最大的最大RTX的转发候选节点作为转发节点,并可确定选择的转发节点的包发送量。
在操作550,源节点确定转发节点的总包发送量是否小于或等于预定最大包发送量。当转发节点的总包发送量大于所述预定最大包发送量时,源节点继续操作551。当转发节点的总包发送量小于或等于所述预定最大包发送量时,源节点继续操作560。
在操作551,源节点将转发节点的包发送量校正为小于或等于所述预定最大包发送量。
在操作560,源节点更新系统参数。在示例中,源节点可基于转发节点来更新PR-DoF、RTX、最小RTX、最大RTX和/或第一利用率。
在操作570,源节点确定其余节点是否已完成包接收。当其余节点还未完成包接收时,源节点重复操作530至570。相反,当其余节点已完成包接收时,源节点进入空闲状态。
图6是示出选择转发节点的方法的另一示例的流程图。参照图6,在操作610,源节点获取拓扑信息。源节点获取多播网络中包的多个节点之间的信道状态的信息,并从所述信道状态的信息提取多播网络的拓扑信息。
在操作620,源节点估计多播网络中包括的多个节点之中除源节点以外的其余节点中的每个节点的PR-DoF。PR-DoF指示在从另一节点接收到包之后将被所述其余节点中的每个节点另外接收的包的量。源节点可根据等式2来预测所述其余节点中的每个节点的预测包接收量,并可根据等式3,基于所述其余节点中的每个节点的预测包接收量来估计所述其余节点中的每个节点的PR-DoF。
在操作630,源节点将所述其余节点分类为1跳节点组和2跳节点组。源节点可将具有相对低PR-DoF的节点确定为1跳节点组,并可将具有相对高PR-DoF的节点确定为2跳节点组。例如,源节点可将PR-DoF为“0”的节点确定为1跳节点组,并可将PR-DoF大于“0”的节点确定为2跳节点组。
在操作640,源节点计算包括在2跳节点组中的至少一个节点中的每个节点的RTX。根据等式5,源节点基于包括在2跳节点组中的所述至少一个节点中的每个节点针对所述多个转发候选节点中的每个转发候选节点的PR-DoF,针对多个转发候选节点中的每个转发候选节点来计算包括在2跳节点组中的所述至少一个节点中的每个节点的RTX。
在操作650,源节点估计最小RTX、最大RTX和第一利用率。根据等式6,源节点估计包括在2跳节点组中的所述至少一个节点中的每个节点的最小RTX。此外,源节点根据等式7来提取所述多个转发候选节点中的每个转发候选节点的BTG,并根据等式8来估计所述多个转发候选节点中的每个转发候选节点的最大RTX。此外,源节点根据等式9、等式10和等式11中的至少一个等式来估计所述多个转发候选节点中的每个转发候选节点的第一利用率。
在等式660,源节点确定转发节点以及转发节点的包发送量。在示例中,当第一利用率是根据等式9或等式10针对多个转发候选节点中的每个转发候选节点而被估计的时,源节点可从所述多个转发候选节点选择具有最大的第一利用率的转发候选节点作为转发节点,并可将选择的转发节点的最大RTX确定为该转发节点的包发送量。在示例中,源节点可从所述多个转发候选节点选择具有最大的最大RTX的转发候选节点作为转发节点,并可将选择的转发节点的最大RTX确定为该转发节点的包发送量。
在操作670,源节点确定转发节点的总包发送量是否小于或等于预定最大包发送量。在示例中,所述预定最大包发送量可基于由转发节点测量的吞吐量来设置。当转发节点的总包发送量大于所述预定最大包发送量时,源节点继续操作671。当转发节点的总包发送量小于或等于所述预定最大包发送量时,源节点继续操作680。
在操作671,源节点将转发节点的包发送量校正为小于或等于所述预定最大包发送量。
在操作680,源节点更新其余节点中的每个节点的PR-DoF。
在操作690,源节点确定其余节点中的每个节点的PR-DoF是否等于0。当在其余节点之中存在PR-DoF大于“0”的节点时,源节点重复操作650至690。相反,当PR-DoF=0时,源节点进入空闲状态。在示例中,当将被发送到多播网络中包括的多个节点的包的数量大于或等于预定阈值时,源节点进入空闲状态。
图7示出选择转发节点的示例。参照图7,多播网络700包括多个节点,例如,源节点710、第一节点720、第二节点730、第三节点740、第四节点750和第五节点760。在图7的示例中,连接节点的每条线上的编号指示由每条线连接的节点之中的发送节点的包发送成功率。源节点710获取多个节点的拓扑信息。源节点710基于拓扑信息来提取多个节点之间的包发送成功率的信息。源节点710将十个原始包(K=10)编码为二十个编码包(N=20),并将所述二十个编码包发送到每个节点。
源节点710通过逼近等式2来估计其余节点(例如,第一节点720、第二节点730、第三节点740、第四节点750和第五节点760)中的每个节点的预测包发送量。在该示例中,α可被设置为“0.8”。此外,源节点710根据等式3来估计其余节点(例如,第一节点720、第二节点730、第三节点740、第四节点750和第五节点760)中的每个节点的PR-DoF。在该示例中,第一节点720和第二节点730的PR-DoF可被估计为“0”。第三节点740的PR-DoF可被估计为“8”,第四节点750的PR-DoF可被估计为“10”,并且第五节点760的PR-DoF可被估计为“10”。因此,源节点710将PR-DoF为“0”的第一节点720和第二节点730分到1跳节点组,并将PR-DoF大于“0”的第三节点740、第四节点750和第五节点760分到2跳节点组。
根据等式5,源节点710估计包括在2跳节点组中的每个节点(例如,第三节点740、第四节点750和第五节点760)的RTX。在该示例中,第三节点740针对第一节点720的RTXM13可被估计为“13”,并且第三节点740针对第二节点730的RTMM23可被估计为“28”。第四节点750针对第一节点720的RTXM14可被估计为“20”,第四节点750针对第二节点730的RTXM24可被估计为“16”,并且第五节点760针对第二节点730的RTXM25可被估计为“20”。
根据等式6,源节点将第三节点740的最小RTXM3*估计为“13”(即,第三节点740针对第一节点720的RTXM13),将第四节点750的最小RTXM4*估计为“16”(即,第四节点750针对第二节点730的RTXM24),并将第五节点760的最小RTXM5*估计为“20”(即,第五节点760针对第二节点730的RTXM25)。
源节点710基于等式7而将第三节点740包括在第一节点720的BTG中,并根据等式8将第一节点720的最大RTXM1’估计为“13”(即,第三节点740针对第一节点720的RTXM13)。此外,源节点710基于等式7而将第四节点750和第五节点760包括在第二节点730的BTG中,并根据等式8将第二节点730的最大RTXM2’估计为“20”(即,第五节点760针对第二节点730的RTXM25)。
根据等式9,源节点将第一节点720的第一利用率U1估计为“14”,并将第二节点730的第一利用率U2估计为“25”。在该示例中,第二节点730的第一利用率U2大于第一节点720的第一利用率U1,因此,源节点710可将第二节点730确定为转发节点,并可将第二节点730的包发送量确定为“20”(即,第二节点730的最大RTXM2’)。
当与转发节点相应的第二节点730的包发送量被确定为小于预定最大包发送量时,源节点710使用等式3来更新其余节点(例如,第一节点720、第二节点730、第三节点740、第四节点750和第五节点760)的PR-DoF。在该示例中,第一节点720、第二节点730、第四节点750和第五节点760的PR-DoF可被估计为“0”,并且第三节点740的PR-DoF可被估计为“3”。因此,源节点710将PR-DoF为“0”的第一节点、第二节点730、第四节点750和第五节点760分到1跳节点组,并将PR-DoF大于“0”的第三节点740分到2跳节点组。
根据等式5,源节点710估计包括在2跳节点组中的第三节点740的RTX。在该示例中,第三节点740针对第一节点720的RTXM13可被估计为“5”。此外,根据等式6,源节点710将第三节点740的最小RTXM3*估计为“5”(即,第三节点740针对第一节点720的RTXM13)。源节点710基于等式7而将第三节点740包括在第一节点720的BTG中,并根据等式8来将第一节点720的RTXM1’估计为“5”(即,第三节点740针对第一节点720的RTXM13)。
根据等式9,源节点710将第一节点720的第一利用率U1估计为“3”,并将第一节点720确定为转发节点。此外,源节点710将第一节点720的包发送量确定为“3”(即,第一节点720的最大RTXM1’)。当与转发节点相应的第一节点720的包发送量被确定为小于预定最大包发送量时,源节点710使用等式3来更新其余节点(例如,第一节点720、第二节点730、第三节点740、第四节点750和第五节点760)的PR-DoF。当作为更新的结果,所述其余节点的PR-DoF为“0”时,源节点710进入空闲状态。
图8A和图8B示出描述网络利用率的示例的曲线820和830。参照图8A,曲线810示出接收节点j的第二利用率根据从转发候选节点i发送的包的量的倾斜度。接收节点j的第二利用率指示接收节点j根据从转发候选节点i到接收节点j的包发送的满意程度。此外,接收节点j可被包括在2跳节点组中。接收节点j根据从转发候选节点i至接收节点j的包发送的第二利用率由等式12来表示。
[等式12]
Uij=min(k*(Ni,pij,Pth),Kj′)
在等式12中,Uij表示接收节点j根据从转发候选节点i到接收节点j的包发送的第二利用率,k*表示接收节点j的预测包接收量,Kj’表示接收节点j的先前PR-DoF,Ni表示从转发候选节点i发送到接收节点j的编码包的数量,Pij表示转发候选节点i和接收节点j之间的包发送成功率,Pth表示阈值概率。在示例中,接收节点j的第二利用率可收敛至接收节点j的先前PR-DOFKj'。
参照图8B,曲线820示出转发候选节点i的网络利用率根据从转发候选节点i发送的包的量的倾斜度。转发候选节点i的网络利用率指示2跳节点组根据转发候选节点i的包发送的满意程度。转发候选节点i的网络利用率由等式13来表示。
[等式13]
在等式13中,Ui表示转发候选节点i的网络利用率,Uij表示接收节点j根据从转发候选节点i到接收节点j的包发送的第二利用率,S表示接收节点的集合。集合S可以是基于多播网络的状态的变量。属于集合S的接收节点j的第二利用率Uij的最大和可收敛到预定值。例如,属于集合S的接收节点j的第二利用率Uij之和可收敛到作为接收节点j的先前PR-DoFKj'之和的在示例中,如在曲线820的拐点821、822和823所指示的,每当转发候选节点i根据从转发候选节点i发送的包的量的网络利用率的倾斜度改变时,源节点可选择新的转发节点,并可确定选择的转发节点的包发送量。
图9是示出选择转发节点的方法另一示例的流程图。参照图9,在操作910,源节点获取拓扑信息。源节点获取多播网络中包括的多个节点之间的信道状态的信息,并从所述信道状态的信息提取多播网络的拓扑信息。
在操作920,源节点将多播网络中包括的多个节点之中的除源节点以外的其余节点分类为1跳节点组和2跳节点组。根据等式2,源节点基于拓扑信息来估计所述其余节点中的每个节点的预测包接收量。根据等式3,源节点基于所述其余节点中的每个节点的预测包接收量来估计所述其余节点中的每个节点的PR-DoF。源节点可将具有相对低PR-DoF的节点确定为1跳节点组,并可将具有相对高PR-DoF的节点确定为2跳节点组。
在操作930,源节点估计多个转发候选节点中的每个转发候选节点的网络利用率。根据等式12,源节点针对包括在2跳节点组中的每个节点,根据从多个转发候选节点中的每个转发候选节点到包括在2跳节点组中的节点的包发送来估计指示包括在2跳节点组中的所述节点的满意程度的第二利用率。根据等式13,源节点针对多个转发候选节点中的每个转发候选节点估计网络利用率。
在操作940,源节点确定转发节点以及转发节点的包发送量。当将包发送到多播网络中包括的多个节点之中的除源节点之外的其余节点时,源节点根据等式13来估计源节点的网络利用率,并根据从源节点发送的包的量来提取源节点的网络利用率的倾斜度。响应于源节点的根据从源节点发送的包的量的网络利用率的倾斜度的变化,源节点根据等式13来估计多个转发候选节点中的每个转发候选节点的网络利用率,并针对多个转发候选节点中的每个转发候选节点,提取多个转发候选节点中的每个转发候选节点的根据从所述多个转发候选节点中的每个转发候选节点发送的包的量的网络利用率的倾斜度。源节点可通过将提取出的节点的网络利用率的倾斜度进行比较,将具有最大倾斜度的节点确定为转发节点。此外,每当转发节点的根据从该转发节发送的包的量的网络利用率的倾斜度变化时,源节点可更新多个转发候选节点中的每个转发候选节点的第二利用率,并可从所述多个转发候选节点选择具有最大的根据从转发候选节点发送的包的量的第二利用率的倾斜度的转发候选节点作为转发节点。在示例中,当转发节点的根据从转发节点发送的包的量的网络利用率的倾斜度变化时,源节点可确定是否存在将被添加的转发候选节点。当存在将被添加的转发候选节点时,源节点可估计将被添加的转发候选节点的网络利用率,并可根据从将被添加的转发候选节点发送的包的量来提取将被添加的转发候选节点的网络利用率的倾斜度。此外,在示例中,当选择转发节点时,源节点可确定选择的转发节点的包发送量,直到转发节点的根据从转发节点发送的包的量的网络利用率的倾斜度改变为止。
在操作950,源节点确定转发节点的总包发送量是否小于或等于预定最大包发送量。在示例中,所述预定最大包发送量可基于由转发节点测量的吞吐量来设置。当转发节点的总包发送量大于所述预定最大包发送量时,源节点继续操作951。当转发送节点的总包发送量小于或等于所述预定最大包发送量时,源节点继续操作960。
在操作951,源节点将转发节点的包发送量校正为小于或等于所述预定最大包发送量。
在操作960,源节点确定其余节点是否已完成包接收。当所述其余节点没有完成包接收时,源节点重复操作940至960。相反,当所述其余节点已完成包接收时,源节点进入空闲状态。
图10示出转发选择包1000的格式的示例。参照图10,当源节点从多个转发候选节点选择转发节点并确定选择的转发节点的包发送量时,源节点将转发选择包1000发送到转发节点。
参照图10,转发选择节点100包括以太网(Ether)头1010、类型字段1020、原始包(data_k)字段1030以及编码包(data_n)字段1040。以太网头1010指示转发选择包1000的以太网类型,类型字段1020指示转发选择包1000的属性。例如,类型字段1020的字段值可以是“8”。原始包字段1030指示将被转换为编码包的原始包的数量。编码包字段1040指示将被转换的编码包的数量。
在下文中,将描述使用矩阵网络编码(MNC)的编码和解码方法。
图11示出节点1100的实例。参照图11,节点1100包括编码器1110和解码器1120。编码器1110从以太网模块接收原始包,将原始包划分为多个子包,并通过对所述多个子包和随机矩阵执行运算来产生编码数据。在示例中,编码器1110可将包括了编码数据的信息的第一头添加到编码数据。第一头包括以下信息中的至少一个:原始包的数量的信息、随机矩阵的长度的信息、编码包的标识符的信息、随机矩阵的系数的信息以及编码包的类型的信息。编码包的类型的信息包括系统码和非系统码。系统码是指用于在将编码包发送到WLAN模块之前将原始包发送到WLAN模块的码。非系统码是指用于仅将编码包发送到WLAN模块的码。此外,编码器1110可将包括了原始包的以太网类型的信息的第二头添加到编码包。
在示例中,编码器1110可使用MNC将K个原始包转换为N个编码包(N≥K)。例如,编码器1110可使用K个随机矩阵将从以太网模块接收到的K个原始包转换为N个编码包,并可将所述N个编码包发送到WLAN模块。节点1100将所述N个编码包发送到另一节点。在示例中,当被配置为接收编码包的节点接收到所述N个编码包之中的K个或更多个编码包时,该节点获取K个原始包的概率会增加,这会使可靠性增加。此外,根据从节点1100发送的编码包的数量的增加,在发送和接收编码包的节点中的开销也会增加。因此,节点1100可通过调整表示原始包的数量的K与表示编码包的数量的N之间的比率来调整发送和接收编码包的节点的可靠性和开销。
解码器1120基于生成矩阵来将编码包转换为原始包,其中,所述生成矩阵是基于从另一节点接收到的编码包而产生的。在示例中,解码器1120可通过从接收到的编码包提取矩阵系数来产生生成矩阵。例如,当接收到K个编码包时,解码器1120可通过从所述K个编码包提取矩阵系数来产生pK×pK生成矩阵。在该示例中,p表示由编码器1110从原始包划分出的多个子包中的每个子包的长度。解码器1120通过提取生成矩阵的逆矩阵并通过将编码包与生成矩阵的逆矩阵相乘来提取原始包。这里,解码器1120可采用LU分解方法。因此,解码器1120的解码率可被提高。
图12示出编码方法的示例。将参照图12和图13描述的节点的操作可指图11的编码器1110的操作。
参照图12,节点将K个原始包1210中的每个原始包划分为q个子包以对所述K个原始包1210进行编码。所述K个原始包1210中的每个原始包具有L符号的长度,并且所述q个子包中的每个子包具有p符号的长度。所述节点产生K个随机矩阵A1至AK(每个随机矩阵的尺寸为“p×p”),基于所述K个原始包1210的索引来选择随机矩阵,并将具有相应索引的原始包的多个子包与选择的随机矩阵相乘。例如,所述节点将第一包1221的子包与第一随机矩阵A11231相乘,将第二包1222的子包与第二随机矩阵A21232相乘,将第K包1223的子包与第K随机矩阵AK1233相乘。所述节点通过将已与相应的随机矩阵相乘的各子包相加来产生单个编码包1240。在示例中,假设图12的符号和操作在Galois字段中被定义。所述节点可通过重复上述处理N次来产生N个编码包。
图13示出编码包1320的示例。参照图13,原始包1310包括以太网(Ether)头1311、IP字段1312、用户数据报协议(UDP)字段1313和数据字段1314。以太网头1311表示原始包1310的以太网类型。节点可对IP字段1312、UDP字段1313和数据字段1314执行编码。
编码包1320包括以太网(Ether)头1321、MNC头1322和编码数据字段1323。编码数据字段1323与原始包1310的IP字段1312、UDP字段1313和数据字段1314的经过转换的部分相应。以太网头1321表示编码包1320的以太网类型。MNC头1322包括K字段1331、p字段1332、eid字段1333、sys字段1334和系数字段1335。
K字段1331表示原始包的数量,p字段1332表示将与原始包1310的子包相乘的随机矩阵的长度。eid字段1333表示编码包1320的标识符。例如,节点可通过每次执行编码时将eid字段1333的值增加一来标识每个编码包。编码包1320的类型的信息包括系统码和非系统码。系统码是指用于在将编码包发送到节点的WLAN模块之前将原始包发送到节点的WLAN模块的码。非系统码是指用于仅将编码包发送到节点的WLAN模块的码。系数字段1335是指有限域的元素。所述节点可使用有限域运算来执行编码和解码。系数字段1335的大小与用于编码的无限域的大小、随机矩阵的大小以及原始包的数量成比例。系数字段1335的大小由等式14来表示。
[等式14]
log2|finite_field_size|xp2xK
在等式14中,|finite_field_size|表示用于编码的有限域的大小,P表示随机矩阵的长度,K表示原始包的数量。在示例中,节点可使用预定处理方法来减小MNC头1322的大小。
在示例中,当获取了原始包时,节点可将原始包存储在包队列中。当K个原始包被存储在包队列中时,节点可执行编码。当编码包在系统码之后时,节点可将MNC头添加到K个原始包中的每个原始包,产生(N-K)个编码包并将MNC头添加到每个编码包。此外,当编码包在非系统码之后时,节点产生N个编码包,并将MNC头添加到每个编码包。在示例中,当节点在一段预定时间段期间没有获取到K个原始包时,所述节点可仅对存储的包进行编码以防止编码延迟被延长。
图14示出解码方法的示例。将参照图14描述的节点的操作可指图11的解码器1120的操作。
参照图14,节点使用包队列列表来对编码包进行解码。包队列列表包括包队列头1410和多个包队列(例如,第一包队列1420、第二包队列1430和第三包队列1440)。包队列头1410和所述多个包队列(例如,第一包队列1420、第二包队列1430和第三包队列1440)可以以链接的列表形式被配置。包队列头1410表示包队列列表的初始指针。包队列头1410包括下一数据1411和qlen数据1412。下一数据1411表示第一包队列1420的地址值,qlen数据1412表示包队列的数量。第一包队列1420包括下一数据1421、前一数据1422、列表数据1423、eid数据1424、etime数据1425和包数据1426。下一数据1421表示第二包队列1430的地址值,前一数据1422表示前一包队列的地址值。第一包队列1420不具有前一包队列,因此,前一数据1422为空。列表数据1423表示包队列头1410的下一数据1411,包数据1426包括例如排队插入第一包队列1420的包。包数据1426可包括未编码的包和编码包。etime数据1425表示最后的包被插入到第一包队列1420的时间,eid数据1424表示被插入到包队列1420的包的标识符。因此,被插入到单个包队列的包可具有相同的标识符。
在示例中,当从另一节点接收到包时,节点可将包插入到包括在包队列列表中的包队列中。当通过包被插入到包队列的时间与预定阈值时间之间的比较,包被插入到包队列的时间先于预定阈值时间时,该节点可从包队列列表删除相应的包队列。此外,当包的标识符与在一段预定时间段期间被转换为原始包的编码包的标识符相同时,该节点可不将包插入到包队列中。相反,当包的标识符与在一段预定时间段期间被转换为原始包的编码包的标识符不同时,该节点可将包插入到包队列中并可更新包队列的etime数据。
在示例中,当K个包被插入到包队列时,节点可确定被插入到包队列的包是否已被编码。当插入到包队列的所有包未被编码时,该节点可不执行单独的编码,而是可通过从未编码的包仅移除被插入到原始包的字段来仅提取原始包。即使当在被插入到包队列的包之中存在单个编码包时,该节点可使用生成矩阵来执行解码。在该示例中,节点可通过产生生成矩阵、通过提取生成矩阵的逆,并通过将编码包与生成矩阵的逆矩阵相乘来提取原始包。在与预定包相应的分量线性相关的示例中,节点可不提取生成矩阵的逆矩阵。在该示例中,节点可从包队列删除与线性相关的分量相应的编码包。
在下文中,将描述多播网络中的节点的操作方法。
图15是示出源节点的操作方法的示例的流程图。参照图15,在操作1510,源节点获取关于多播网络中包括的多个节点之间的信道状态的信息,并从所述信道状态的信息提取多播网络的拓扑信息。
在操作1520,源节点基于拓扑信息,在多个节点之中选择用于转发从源节点发送的包的转发节点。
以上参照图1至图14做出的描述可应用于图15的源节点的操作方法,因此,进一步的详细描述将被省略。
图16是示出节点的操作方法的示例的流程图。参照图16,在操作1610,节点使用随机矩阵将原始包转换为编码包。
在操作1620,节点使用基于编码包而产生的生成矩阵,将编码包转换为原始包。
以上参照图1至图14做出的描述可应用于图16的节点的操作方法,因此,进一步的详细描述将被省略。
图17是示出源节点的操作方法的另一示例的流程图。参照图17,在操作1710,源节点获取关于多播网络中包括的多个节点之间的信道状态的信息,并从所述信道状态的信息提取多播网络的拓扑信息。
在操作1720,源节点基于拓扑信息,在所述多个节点之中选择用于转发从源节点发送的包的转发节点。
在操作1730,源节点使用随机矩阵将原始包转换为编码包,并将编码包发送到转发节点,或者源节点使用基于从转发节点接收到的编码包而产生的生成矩阵,将编码包转换为原始包。
以上参照图1至图14做出的描述可应用于图17的源节点的操作方法,因此,进一步的详细描述将被省略。
在此描述的单元、模块、元件和方法可使用硬件组件和软件组件来实现。例如,硬件组件可包括麦克风、放大器、带通滤波器、音频到数字转换器和处理装置。处理装置可使用一个或更多个通用计算机或专用计算机(诸如,例如处理器、控制器和算术逻辑单元、数字信号处理器、微型计算机、现场可编程阵列、可编程逻辑单元、微处理器、或能够以限定的方式响应并执行指令的任何其它装置)来实现。所述处理装置可运行操作系统(OS)以及在OS上运行的一个或更多个软件应用。所述处理装置还可响应于软件的执行来访问、存储、操作、处理和创建数据。为了简化目的,对处理装置的描述被用作单数;然而,本领域技术人员将理解,处理装置可包括多个处理元件和多种类型的处理元件。例如,处理装置可包括多个处理器或包括处理器和控制器。此外,不同的处理配置是可行的,诸如平行处理器。
软件可包括计算机程序、一段代码、指令或其某些组合,以独立地或共同地指示或配置处理装置如所期望的来操作。软件和数据可被永久性地或暂时性地包含在任何类型的机器、组件、物理或虚拟装置、计算机存储介质或装置中,或被包含在能够将指令或数据提供给处理装置或被处理装置解释的传播信号波中。软件还可分布在联网的计算机系统上,使得软件以分布式方式被存储和执行。软件和数据可由一个或更多个非暂时性计算机可读记录介质来存储。非暂时性计算机可读记录介质可包括能够存储可在随后被计算机系统或处理装置读取的数据的任意数据存储装置。非暂时性计算机可读记录介质的示例包括只读存储器(ROM)、随机存储存取器(RAM)、CD-ROM、磁带、软盘、光学数据存储装置。此外,实现在此公开的示例的功能程序、代码或代码段可被所述示例所属领域的编程者基于并使用如在此提供的附图的流程图和框图及其相应的描述容易地解释。
仅作为非穷举的说明,在此描述的终端或装置可指移动装置(诸如,例如,蜂窝电话、智能电话、可穿戴智能装置(诸如,例如,戒指、手表、一副眼镜、手镯、脚镯、皮带、项链、耳环、发箍、头盔、嵌入在衣物中的装置等)、个人计算机(PC)、平板个人计算机(tablet)、平板手机、个人数字助理(PDA)、数码相机、便携式游戏机、MP3播放器、便携式/个人多媒体播放器(PMP)、手持电子书、超便携移动个人计算机(UMPC)、便携式膝上型PC、全球定位系统(GPS)导航仪)以及诸如高清电视(HDTV)、光盘播放器、DVD播放器、蓝光播放器、机顶盒或与在此所公开的一致的能够进行无线通信或网络通信的任何其它装置的装置。在非穷举的示例中,可穿戴装置可以自行固定在用户的身体上,诸如,例如,眼镜或手镯。在另一非穷举的示例中,可穿戴装置可通过附着装置被固定在用户的身体上,诸如,例如,使用臂环将智能电话或平板附着到用户的手臂上,或者是使用挂带将可穿戴装置挂在用户的脖子上。
尽管本公开包括特定示例,但本领域普通技术人员将清楚,在不脱离权利要求及其等同物的精神和范围的情况下,可在这些示例中做出形式和细节上的各种改变。在此描述的示例将仅被视为是描述性的含义,而不是为了限制的目的。在每个示例中的特征或方面的描述将被视为可适用于其他示例中的相似特征或方面。如果描述的技术以不同的顺序被执行,并且/或者如果描述的系统、架构、装置或电路中的组件以不同的方式被组合并且/或者被其他组件或它们的等同物所替代或补充,则可实现合适的结果。因此,本公开的范围不是由详细描述所限定,而是由权利要求及其等同物所限定,并且权利要求及其等同物的范围内的所有变化将被解释为包括在本公开中。
Claims (38)
1.一种源节点,包括:
拓扑信息提取器,被配置为获取在多播网络中包括的节点之间的信道状态的信息,并提取多播网络的拓扑信息;
转发节点选择器,被配置为基于拓扑信息从多播网络中包括的节点选择用于转发从源节点发送的包的转发节点。
2.如权利要求1所述的源节点,其中,拓扑信息提取器被配置为:基于由多播网络中包括的节点之中除源节点以外的其余节点接收到的包来提取拓扑信息。
3.如权利要求1所述的源节点,其中,拓扑信息提取器被配置为:
将训练包发送到多播网络中包括的节点之中除源节点以外的其余节点之中的第一节点;
从第一节点接收作为反馈的训练报告包,其中,训练报告包包括由第一节点接收到的训练包的信息。
4.如权利要求3所述的源节点,其中,拓扑信息提取器被配置为:
基于训练报告包来计算第一节点的包接收率;
响应于第一节点的包接收率大于或等于预定阈值水平,将第一节点选为转发候选节点。
5.如权利要求1所述的源节点,其中,拓扑信息提取器被配置为:
将训练轮询包发送到从多播网络中包括的节点之中除源节点以外的其余节点选择的转发候选节点,以使转发候选节点将训练包发送到所述其余节点之中的第二节点。
6.如权利要求5所述的源节点,其中,响应于在所述其余节点之中存在多个转发候选节点,拓扑信息提取器被配置为:
按照预定顺序将训练轮询包发送到所述多个转发候选节点。
7.如权利要求5所述的源节点,其中,拓扑信息提取器被配置为:
从转发候选节点接收邻近报告包,其中,邻近报告包包括第二节点的信息和由第二节点接收到的训练包的信息。
8.如权利要求5所述的源节点,其中,拓扑信息提取器被配置为:
从转发候选节点接收块训练报告包,其中,块训练报告包包括:已将训练包发送到所述其余节点中的一部分节点的节点的信息、所述其余节点中的所述一部分节点的信息和由所述其余节点中的所述一部分节点接收到的训练包的信息。
9.如权利要求1所述的源节点,其中,拓扑信息提取器被配置为:
将多播网络中包括的节点之中除源节点以外的其余节点中的一部分节点选为训练节点;
基于由选择的训练节点接收到的包的信息来提取拓扑信息。
10.如权利要求1所述的源节点,其中,拓扑信息提取器被配置为:
从多播网络中包括的节点之中除源节点以外的其余节点接收在多播网络中包括的节点之间的信道状态的统计信息;
基于所述统计信息来提取拓扑信息。
11.如权利要求1所述的源节点,其中,转发节点选择器被配置为:
基于拓扑信息,将多播网络中包括的节点之中除源节点以外的其余节点分类为1跳节点组和2跳节点组;
基于从所述其余节点之中的转发候选节点针对所述其余节点中的至少一部分节点进行包发送的效果,从所述其余节点之中的转发候选节点选择转发节点。
12.如权利要求11所述的源节点,其中,转发节点选择器被配置为:
基于拓扑信息来估计所述其余节点中的每个节点的预测包接收量,其中,预测包接收量指示使所述其余节点中的每个节点接收到与目标包接收量或更大包接收量相应的包的概率大于或等于预定阈值概率的包接收量;
基于所述其余节点中的每个节点的预测包接收量来估计所述其余节点中的每个节点的可能需要的自由度PR-DoF,其中,所述PR-DoF指示所述其余节点中的每个节点在从另一节点接收到包之后将另外接收的包的量;
将所述其余节点之中的具有相对低PR-DoF的节点确定为在1跳节点组中;
将所述其余节点之中的具有相对高PR-DoF的节点确定为在2跳节点组中。
13.如权利要求12所述的源节点,其中,转发节点选择器被配置为:
基于包括在2跳节点组中的至少一个节点中的每个节点针对转发候选节点中的每个转发候选节点的PR-DoF,计算所述至少一个节点中的每个节点的需要的发送的数量RTX,其中,RTX指示针对转发候选节点中的每个转发候选节点,由所述至少一个节点中的每个节点请求发送的包的量;
基于RTX来从转发候选节点选择转发节点。
14.如权利要求13所述的源节点,其中,转发节点选择器被配置为:
估计包括在2跳节点组中的所述至少一个节点中的每个节点的RTX之中的最小RTX;
针对转发候选节点中的每个转发候选节点,从所述至少一个节点提取包括多个节点的最佳2跳节点组BTG,其中,所述多个节点请求相应转发候选节点以最小RTX将包发送到所述多个节点;
针对转发候选节点中的每个转发候选节点,估计包括在BTG中的所述多个节点的最小RTX之中的最大RTX;
针对转发候选节点中的每个转发候选节点,估计第一利用率,其中,第一利用率指示根据针对所述其余节点中的至少一部分节点的最大RTX向包括在BTG中的所述多个节点进行包发送的效果。
15.如权利要求14所述的源节点,其中,转发节点选择器被配置为:
从转发候选节点选择具有最大第一利用率的转发候选节点作为转发节点。
16.如权利要求14所述的源节点,其中,转发节点选择器被配置为:
从转发候选节点选择具有最大的最大RTX的转发候选节点作为转发节点。
17.如权利要求14所述的源节点,其中,响应于选择的转发节点的总包发送量小于预定最大包发送量,转发节点选择器被配置为:
通过基于选择的转发节点更新PR-DoF、RTX、最小RTX、最大RTX和第一利用率来从转发候选节点选择转发节点。
18.如权利要求14所述的源节点,其中,转发节点选择器被配置为:
针对包括在2跳节点组中的所述至少一个节点中的每个节点,估计第二利用率,其中,第二利用率指示包括在2跳节点组中的节点根据从转发候选节点中的每个转发候选节点到包括在2跳节点组中的节点的包发送的满意程度;
针对转发候选节点中的每个转发候选节点,基于所述至少一个节点中的每个节点的第二利用率来估计网络利用率,其中,网络利用率指示2跳节点组根据从转发候选节点中的每个转发候选节点进行的包发送的满意程度;
基于转发候选节点中的每个转发候选节点的网络利用率,从转发候选节点选择转发节点。
19.如权利要求18所述的源节点,其中,转发节点选择器被配置为:
通过响应于网络利用率根据从转发候选节点发送的包的量的倾斜度来更新转发候选节点中的每个转发候选节点的第二利用率,从转发候选节点选择第二利用率根据从转发候选节点之一发送的包的量的倾斜度最大的转发候选节点作为转发节点。
20.一种节点,包括:
编码器,被配置为基于随机矩阵将原始包转换为编码包;
解码器,被配置为基于根据编码包而产生的生成矩阵,将编码包转换为原始包。
21.如权利要求20所述的节点,其中,编码器被配置为:
通过将原始包划分为子包并对子包和随机矩阵执行运算,产生编码数据。
22.如权利要求21所述的节点,其中,编码器被配置为:
通过将第一头部添加到编码数据来产生编码包,其中,第一头部包括编码数据的信息。
23.如权利要求22所述的节点,其中,第一头部包括以下信息中的至少一个信息:原始包的数量的信息、随机矩阵的长度的信息、编码包的标识符的信息、随机矩阵的系数的信息、以及编码包的类型的信息。
24.如权利要求23所述的节点,其中,编码包的类型的信息包括:
系统码,用于在将编码包发送到无线局域网WLAN模块之前将原始包发送到WLAN模块;
非系统码,用于将编码包发送到WLAN模块。
25.如权利要求22所述的节点,其中,编码器被配置为:
将第二头部添加到编码包,其中,第二头部包括原始包的以太网类型的信息。
26.如权利要求20所述的节点,其中,响应于从以太网模块接收到K个原始包,编码器被配置为:
基于K个随机矩阵,将所述K个原始包转换为N个编码包;
将所述N个编码包发送到无线局域网WLAN模块。
27.如权利要求20所述的节点,其中,解码器被配置为:
通过基于从编码包提取的矩阵系数来产生生成矩阵并对编码包和生成矩阵的逆矩阵执行运算,提取原始包。
28.如权利要求20所述的节点,其中,解码器被配置为:
基于LU分解方法,将编码包转换为原始包。
29.如权利要求20所述的节点,其中,解码器被配置为:
将编码包插入到包队列列表中包括的包队列中;
响应于至少预定数量的编码包被插入到所述包队列,将编码包转换为原始包。
30.如权利要求29所述的节点,其中,所述包队列被连接到包队列列表和链接列表中包括的其余包队列中,并包括插入到所述包队列的编码包的标识符和编码包被插入到所述包队列的时间的信息。
31.如权利要求29所述的节点,其中,响应于编码包被插入到所述包队列的时间先于预定阈值时间,解码器被配置为:
从包队列列表删除所述包队列。
32.如权利要求29所述的节点,其中,响应于从无线局域网WLAN模块接收到的编码包的标识符与在一段预定时间段期间被转换为原始包的编码包的标识符不同,解码器被配置为:
将从WLAN模块接收到的编码包插入到所述包队列。
33.如权利要求29所述的节点,其中,响应于从无线局域网WLAN模块接收到的编码包的标识符与被插入到包括在包队列列表中的包队列中的编码包的标识符不同,解码器被配置为:
将从WLAN模块接收到的编码包插入到所述包队列。
34.如权利要求29所述的节点,其中,响应于生成矩阵中与编码包相应的分量是线性相关的,解码器被配置为:
从所述包队列删除编码包。
35.一种源节点,包括:
拓扑信息提取器,被配置为获取在多播网络中包括的节点之间的信道状态的信息,并提取多播网络的拓扑信息;
转发节点选择器,被配置为基于拓扑信息,从多播网络中包括的节点选择用于转发从源节点发送的包的转发节点;
转换器,被配置为基于随机矩阵将原始包转换为编码包,将编码包发送到转发节点和从转发节点接收编码包,基于根据接收到的编码包而产生的生成矩阵来将编码包转换为原始包。
36.一种源节点的操作方法,所述方法包括:
获取在多播网络中包括的节点之间的信道状态的信息;
提取多播网络的拓扑信息;
基于拓扑信息从多播网络中包括的节点选择用于转发从源节点发送的包的转发节点。
37.一种节点的操作方法,所述方法包括:
基于随机矩阵将原始包转换为编码包;
基于根据编码包而产生的生成矩阵,将编码包转换为原始包。
38.一种源节点的操作方法,所述方法包括:
获取在多播网络中包括的节点之间的信道状态的信息;
提取多播网络的拓扑信息;
基于拓扑信息,从多播网络中包括的节点选择用于转发从源节点发送的包的转发节点;
基于随机矩阵将原始包转换为编码包;
将编码包发送到转发节点和从转发节点接收编码包;
基于根据接收到的编码包而产生的生成矩阵,将编码包转换为原始包。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2014-0077343 | 2014-06-24 | ||
KR1020140077343A KR102233371B1 (ko) | 2014-06-24 | 2014-06-24 | 멀티캐스트 네트워크에서의 릴레이 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105306370A true CN105306370A (zh) | 2016-02-03 |
CN105306370B CN105306370B (zh) | 2020-05-12 |
Family
ID=53496411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510354299.5A Active CN105306370B (zh) | 2014-06-24 | 2015-06-24 | 用于在多播网络中进行转发的方法和设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10129139B2 (zh) |
EP (1) | EP2961099A3 (zh) |
JP (1) | JP6578137B2 (zh) |
KR (1) | KR102233371B1 (zh) |
CN (1) | CN105306370B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112565651A (zh) * | 2020-11-30 | 2021-03-26 | 深圳数字电视国家工程实验室股份有限公司 | 数据传输方法、电子设备及计算机可读存储介质 |
WO2021088801A1 (zh) * | 2019-11-06 | 2021-05-14 | 中兴通讯股份有限公司 | 路由选择方法、网络控制器、系统和存储介质 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2980153C (en) * | 2015-03-24 | 2024-05-07 | Eaton Corporation | Arc flash mitigation switch for quenching external arc faults in low voltage switchgear |
JP6142124B1 (ja) * | 2016-11-30 | 2017-06-07 | サイレックス・テクノロジー株式会社 | 無線通信装置、無線通信方法およびプログラム |
KR102609359B1 (ko) | 2017-01-31 | 2023-12-05 | 삼성전자주식회사 | 통신장치, 통신장치 제어방법 및 통신장치를 포함하는 공기조화기 |
GB201719654D0 (en) * | 2017-11-27 | 2018-01-10 | Nchain Holdings Ltd | Computer-implemented system and method |
KR102258814B1 (ko) * | 2018-10-04 | 2021-07-14 | 주식회사 엘지에너지솔루션 | Bms 간 통신 시스템 및 방법 |
WO2020110250A1 (ja) * | 2018-11-29 | 2020-06-04 | 三菱電機株式会社 | 無線通信装置、無線通信システムおよび無線通信プログラム |
JP2024509035A (ja) * | 2021-01-28 | 2024-02-29 | オッポ広東移動通信有限公司 | データ伝送方法、端末装置及びネットワーク装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1471776A (zh) * | 2000-10-27 | 2004-01-28 | ����ɭ�绰�ɷ�����˾ | 用于在多跳网络中转发的方法 |
US20070086366A1 (en) * | 2005-10-19 | 2007-04-19 | Microsoft Corporation | Application-level routing protocol for multiparty audio-video conferencing |
US20070223439A1 (en) * | 2006-03-27 | 2007-09-27 | Toyota Infotechnology Center Co., Ltd. | Wireless communication method, wireless communication apparatus and wireless communication program |
CN101222397A (zh) * | 2008-01-25 | 2008-07-16 | 大连海事大学 | 无线传感器网络信号同步采集及准实时传输系统 |
CN101800670A (zh) * | 2009-02-05 | 2010-08-11 | 李冰 | 一种主动寻找客户端以实现规模扩张的网站建立方法 |
CN102075352A (zh) * | 2010-12-17 | 2011-05-25 | 北京邮电大学 | 一种网络用户行为预测的方法和装置 |
EP2698953A1 (en) * | 2011-04-13 | 2014-02-19 | NEC Corporation | Network, data transfer node, communication method, and program |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030118022A1 (en) * | 2001-12-21 | 2003-06-26 | Chip Engines | Reconfigurable data packet header processor |
JP4761365B2 (ja) * | 2005-12-28 | 2011-08-31 | Kddi株式会社 | 通信スケジューリング方法 |
US8514861B2 (en) * | 2006-01-03 | 2013-08-20 | Meshnetworks, Inc. | Apparatus and method for multicasting data in a communication network |
US7873338B2 (en) * | 2006-11-06 | 2011-01-18 | Motorola Mobility, Inc. | Method and apparatus for determining an appropriate link path in a multi-hop communication system |
WO2009073745A1 (en) | 2007-12-03 | 2009-06-11 | Skyetek, Inc. | Method for enhancing anti-cloning protection of rfid tags |
JP5125572B2 (ja) * | 2008-02-12 | 2013-01-23 | 日本電気株式会社 | 無線ネットワークのトラヒック性能評価システム及びその方法並びにプログラム |
CN102064992B (zh) | 2009-11-13 | 2012-11-28 | 中兴通讯股份有限公司 | 一种中继节点、中继节点的分布式网络及其组网方法 |
KR101751497B1 (ko) * | 2010-06-11 | 2017-06-27 | 삼성전자주식회사 | 행렬 네트워크 코딩을 사용하는 장치 및 방법 |
US8693501B2 (en) * | 2010-11-23 | 2014-04-08 | The Chinese University Of Hong Kong | Subset coding for communication systems |
US8839069B2 (en) * | 2011-04-08 | 2014-09-16 | Micron Technology, Inc. | Encoding and decoding techniques using low-density parity check codes |
JP5651092B2 (ja) * | 2011-09-28 | 2015-01-07 | 京セラ株式会社 | 基地局及び通信制御方法 |
US9648087B2 (en) * | 2012-10-08 | 2017-05-09 | International Business Machines Corporation | Allocating distributed storage and task execution resources |
US9673841B2 (en) * | 2013-03-15 | 2017-06-06 | Quanta Computer, Inc. | Error-correcting code |
US9137642B2 (en) * | 2013-03-20 | 2015-09-15 | Google Inc. | Multi-cast optimized medium access method for wireless network |
KR102094718B1 (ko) * | 2013-09-26 | 2020-05-27 | 삼성전자주식회사 | 무선 네트워크에서 학습에 기반한 중계 노드 선택 방법 및 중계 장치 |
-
2014
- 2014-06-24 KR KR1020140077343A patent/KR102233371B1/ko active IP Right Grant
-
2015
- 2015-03-25 US US14/667,989 patent/US10129139B2/en active Active
- 2015-06-02 JP JP2015112248A patent/JP6578137B2/ja active Active
- 2015-06-15 EP EP15172121.4A patent/EP2961099A3/en not_active Withdrawn
- 2015-06-24 CN CN201510354299.5A patent/CN105306370B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1471776A (zh) * | 2000-10-27 | 2004-01-28 | ����ɭ�绰�ɷ�����˾ | 用于在多跳网络中转发的方法 |
US20070086366A1 (en) * | 2005-10-19 | 2007-04-19 | Microsoft Corporation | Application-level routing protocol for multiparty audio-video conferencing |
US20070223439A1 (en) * | 2006-03-27 | 2007-09-27 | Toyota Infotechnology Center Co., Ltd. | Wireless communication method, wireless communication apparatus and wireless communication program |
CN101222397A (zh) * | 2008-01-25 | 2008-07-16 | 大连海事大学 | 无线传感器网络信号同步采集及准实时传输系统 |
CN101800670A (zh) * | 2009-02-05 | 2010-08-11 | 李冰 | 一种主动寻找客户端以实现规模扩张的网站建立方法 |
CN102075352A (zh) * | 2010-12-17 | 2011-05-25 | 北京邮电大学 | 一种网络用户行为预测的方法和装置 |
EP2698953A1 (en) * | 2011-04-13 | 2014-02-19 | NEC Corporation | Network, data transfer node, communication method, and program |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021088801A1 (zh) * | 2019-11-06 | 2021-05-14 | 中兴通讯股份有限公司 | 路由选择方法、网络控制器、系统和存储介质 |
CN112565651A (zh) * | 2020-11-30 | 2021-03-26 | 深圳数字电视国家工程实验室股份有限公司 | 数据传输方法、电子设备及计算机可读存储介质 |
WO2022110918A1 (zh) * | 2020-11-30 | 2022-06-02 | 深圳数字电视国家工程实验室股份有限公司 | 数据传输方法、电子设备及计算机可读存储介质 |
CN112565651B (zh) * | 2020-11-30 | 2022-10-21 | 深圳数字电视国家工程实验室股份有限公司 | 数据传输方法、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JP6578137B2 (ja) | 2019-09-18 |
CN105306370B (zh) | 2020-05-12 |
US10129139B2 (en) | 2018-11-13 |
KR20160000226A (ko) | 2016-01-04 |
EP2961099A2 (en) | 2015-12-30 |
JP2016010153A (ja) | 2016-01-18 |
KR102233371B1 (ko) | 2021-03-29 |
US20150372897A1 (en) | 2015-12-24 |
EP2961099A3 (en) | 2016-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105306370A (zh) | 用于在多播网络中进行转发的方法和设备 | |
US10827420B2 (en) | System and method for dynamically configurable air interfaces | |
Tutuncuoglu et al. | The binary energy harvesting channel with a unit-sized battery | |
JP6910434B2 (ja) | 符号化方法および装置 | |
CN103650399A (zh) | 纠正数据单元的自适应生成 | |
Dong et al. | Delay minimization for relay-based cooperative data exchange with network coding | |
CN106537959B (zh) | 电信网络中编码和解码帧的方法 | |
Shen et al. | An adaptive opportunistic network coding mechanism in wireless multimedia sensor networks | |
CN110192363A (zh) | 使用基于golay的块码来进行编码和解码 | |
JP2021503784A (ja) | チャネル状態情報を暗号化するための方法および装置、記憶媒体およびプロセッサ | |
CN105284089A (zh) | 传输数据的方法和装置 | |
WO2019029588A1 (zh) | 确定上行传输资源的方法、终端及网络设备 | |
JP5324704B2 (ja) | 帯域幅自己適応型ランク付けデータ保護方法及び装置 | |
Aymen et al. | Offloading performance evaluation for network coding-based cooperative mobile video streaming | |
CN113543206A (zh) | 数据传输的方法、系统和装置 | |
Munaretto et al. | Resilient coding algorithms for sensor network data persistence | |
CN108322284B (zh) | 编码块发送方法、数据接收方法、接入网设备及终端设备 | |
Li et al. | Random network coding based on adaptive sliding window in wireless multicast networks | |
JP2014525162A (ja) | 動画伝送、受信方法および装置 | |
JP2011217235A (ja) | 無線装置 | |
CN106464503B (zh) | 一种数据传输的方法和装置 | |
Yue et al. | On estimation of protection parameters for unequal error protection distributed fountain codes in wireless relay networks | |
Liu et al. | High loss improved broadcasting retransmission approach based on network coding | |
CN115549851A (zh) | 极化码的构造方法和装置 | |
Park et al. | Delay-tolerant robust communication on an out-of-band relay channel with fading side information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |