利用对等方协作联网的异构网络中的数据恢复的制作方法

文档序号:7642874阅读:127来源:国知局
专利名称:利用对等方协作联网的异构网络中的数据恢复的制作方法
技术领域
本发明涉及联网,具体地,涉及丟失的多播数据恢复。
技术背景在基于基础结构的/蜂窝无线网络(例如3G蜂窝网络、WiMax、 WLAN、或 者数字视频广播(DVB))上的多播/广播中,将数据从基站/接入点/中心站/ 主机/服务器发送到多个接收机/无线设备。。在本说明书中,在使用"/"的 地方,意指给出对于相同组件/设备的可替换的名称或者描述。即,意为单词"或者"。与相同数据单独对于每个接收机的多个单播会话相比,多播大大改 进了网络效率,从而将数据分发给无线网络中的多个设备,特别是由于无线 介质的共享性质(数据可以被发送方通信范围内的任何接收机同时接收)。但 是,由于无线链路不可靠、以及多个接收机经受异构信道条件,所以难于保 证多个多播/广播接收机的接收可靠性。在诸如DVB等许多网络中的多播/广 播服务与3G多媒体广播/多播服务(MBMS)没有提供逆向通信信道,用于接 收机请求重新发送所丢失的数据分组。另外,在基于基础结构的网络中,无 线电资源/带宽一般较昂贵,这是因为部署很贵,并且频谱可能需要许可。因 此,支持用于多个接收机的多播服务的良好品质、同时高效率地利用无线电 资源、以及改进基于基础结构的/蜂窝无线网络的吞吐量与覆盖范围,是一项 至关重要而且富有挑战性的任务。在许多无线多播/广播系统中,在物理层上的分组内使用前向纠错码(FEC),以避免多径衰退与千扰,并且减少分组错误。为了在无线网络中恢 复所丢失的分组,还在传输以及应用层上的分组上应用FEC码。但是,无线 信道条件随时间变化,并且在多播环境下,多个接收机经受异构信道条件。 在现有技术中,根据最差信道条件使用FEC码,以保证所希望的服务区域中 的所有接收机的接收质量。这会导致较大的开销,并且在基于基础结构的多 播网络中要求大量的无线电资源。改进可靠性和吞吐量的另 一项现有技术是 使用多个天线。但是,对于包含基站和无线设备的无线系统,该方法会产生较高的成本与复杂度。近来,人们进行了一些工作以借助于临时Ud hoc)网络来提高蜂窝网络的质量、吞吐量、以及覆盖范围。在较近报道的系统中,与基站的链路品 质良好的移动站作为用于与基站的链路品质不良的移动站的中继。在该系统 中,使用单个无线接口用于中继和基础结构两者。由此,在该混合模式网络 中所达到的总的单元吞吐量受限于可用的蜂窝带宽。在另 一较近报道的系统 中,使用两种无线接口来集成蜂窝和临时网络,其中临时模式下的高带宽无线信道(IEEE 802.11 )中继蜂窝网络(3G)的单播流量,以改进蜂窝吞吐量 与覆盖范围。在另一较近报道的系统中,在蜂窝网络(3G)内,在一短范围 上将多播数据发送给中继节点,并且由中继节点通过高速临时网络(IEEE 802.11)将该数据转发给剩余的订阅节点。不管蜂窝网络与临时网络使用单 个无线接口还是两种无线接口,所有以上方法都使用了中继节点,以通过临 时网络将蜂窝流量转发给目的节点。下行链路数据从基站发送给中继节点, 然后在临时网络中通过单跳或者多跳路径转发到目的节点。上行链路数据(如 果有的话)经过相反的路径。即,目的节点总是通过临时网络路径中的中继 节点接收或者发送数据。在以上方法中,中继节点总是帮助目的节点。在节 点/无线设备之间没有合作。这对于中继节点不合理。中继节点消耗的CPU能 力以及电池能量(如果中继节点利用电池操作的话)要多得多。对于中继节 点周围的临时网络资源(例如带宽)的要求也较高,而在临时网络的其他部 分中的网络资源可能闲置。本发明所解决的问题是如何设计一种抗分组丢失的系统,用于无线网络 上的高品质多播/广播服务,并且提高基于基础结构的无线网络的吞吐量、品 质、以及覆盖范围。由此,本发明解决了以上的问题。发明内容本发明描述了一种利用辅助/次级(secondary) /补充/临时网络的多播 数据恢复方法。无线设备连接到首要(principal)网络(例如蜂窝网络), 以接收多播数据。这些无线设备(对等方)中的某一些形成次级恢复网络。 对于一无线设备可能丢失某些多播数据。即, 一或多个多播设备可能没有收 到某些多播数据。数据可能被丟失或者有错误,或者在发送多播数据时无线 设备可能没有得到良好的信号。由于某些无线设备的空间发散性(diversity)以及信道异构性,这些无线设备可能从首要网络正确收到了同一多播数据(分 组)。无线设备以合作方式通过次级网络从其对等方(正确收到了多播数据的 无线设备)恢复其丢失的多播数据。因此,本发明的方法通过利用对等方(无 线设备/无线接收机)的空间发散性和合作以恢复其丢失的多播分组来为所有 有关对等方改进多播可靠性以及服务质量。本发明的方法还延伸了首要网络 的^_盖范围。描述了一种用于恢复数据的方法与装置,包括确立具有至少一个设备 的次级恢复网络;检测数据丢失以及通过次级恢复网络从所述至少一个设备 恢复丟失的数据,该至少一个设备已经正确收到了该数据。在这种情况下, 无线设备丢失了数据。还描述了一种用于恢复数据的方法与装置,包括接 收数据;确立具有至少一个设备的次级恢复网络,以及通过所述次级恢复网 络恢复丢失的数据。在这种情况下,无线设备正确收到了数据,并且以合作 方式帮助丢失了数据的无线设备来恢复所丟失的数据。


当结合附图阅读以下的详细描述时,可以最佳地理解本发明。附图包括 以下简要描述的图图1为根据本发明原理的首要网络以及次级网络的系统级体系结构的示 意图;图2为根据本发明原理的首要网络以及扁平恢复网络的可替换的系统级体系结构实施例的示意图;图3为根据本发明原理的首要网络以及分层恢复网络的可替换的系统级体系结构实施例的示意图;图4为根据本发明的伙伴关系形成方法的阶梯图;图5为根据本发明的发送形成伙伴关系的请求的方法的流程图;图6为#4居本发明的处理伙伴关系请求消息的方法的流程图;图7为根据本发明的处理伙伴关系回应消息的方法的流程图;图8为根据本发明的处理伙伴关系应答消息的方法的流程图;图9为根据本发明的伙伴关系保持方法的阶梯图;图IO为根据本发明的丢失分组恢复方法的阶梯图;图11为根据本发明的丢失分组恢复方法的可替换实施例的阶梯图;图12为显示根据本发明的无线设备的方框图。
具体实施方式
参照图1,其为根据本发明原理的首要网络以及次级网络的系统级体系结构的示意图。存在两个无线网络,首要/主要(primary)/主导/骨干网络110 以及临时/辅助/次级/补充/恢复/协助网络115。两个网络共存。首要网络为 具有基站/接入点105的基于基础结构的/蜂窝无线网络,,例如为一 3G蜂窝 网络、WiMax、 WiFi、或者DVB网络。无线设备(例如虫奪窝/移动电话120、 膝上电脑125、 PDA 130以及其他移动设备135)通过首要网络110从基站/ 接入点/服务器105接收多播数据。次级网络115可以为临时/网格/次级/合 作网络,其由设备以P2P体系结构形成。作为例子,用于次级网络115的无 线电接口可以为IEEE 802.11 WiFi与WiMax。首要网络110 ^是供/人基站/接入 点/主机/服务器105到设备的下行链路多播/广播服务,例如视频/音频流传 送、视频/音频点播、以及其他多媒体服务。次级网络115通过恢复丟失的分 组改进了首要网络11G提供的多播服务的品质和传送可靠性。无线/移动设备(例如膝上电脑、个人数字助理(PDA)、双模式电话)为 两个网络的组件/成员。在本发明中,无线设备配备有两个物理无线电接口。一个接口连接到骨干/首要网络,并且负责从基站/接入点接收下游多播数据。 另一个接口连接到次级网络,并且用来以合作方式通过次级网络从对等方恢复首要网络的丟失数据分组。在首要网络与次级网络使用相同无线电技术(例如IEEE 802.11 )的情况 下,无线设备可以使用单个物理接口。该单个物理接口可以被分割/分离为两 个逻辑接口, 一个接入首要网络,另一个接入次级网络。无线设备通过其骨干接口 (到首要网络的接口 )接收多播数据。无线设 备通过其次级接口形成临时/网格/合作/次级网络,并且通过合作从次级网络 上的对等方来恢复丢失的多:i某体数据分组。多播数据分组对于一无线设备丢 失了,但是由于无线设备的空间发散性与信道异构性,而可能会被其他无线 设备正确地接收。如果无线设备通过其骨干接口丟失了某些多播数据分组, 则其通过其次级接口从其对等方恢复这些丟失的分组。 一个或多个对等方作 为向其他对等方提供丢失的分组的恢复代理。通过这种方式,合作地改进多 播服务对所有对等方的接收质量。无线设备可以根据多播首标中的分组序列号,检测对于从首要网络接收 的会话的多播数据分组丟失。根据本发明的原理,如果无线设备没有从其首 要接口收到对于 一会话的某些多播数据分组,则该无线设备将试图通过由同 一首要网络中的对等方形成的次级网络从其伙伴(对等方)恢复用于该会话 的丢失的数据分组。在可替换实施例中,部署专用的恢复服务器/代理。这些恢复服务器/代 理也配备有两个物理/逻辑无线电接口, 一个用于首要网络,另一个用于参加 辅助/补充网络。专用代理从首要网络接收多播数据分组,并且通过次级网络 向其他对等方提供丟失的分组。专用代理可能没有从首要网络收到所有必须的数据分组。参照图2,存在两个无线网络,首要/主要/主导/骨干网络210 以及扁平恢复网络215 。扁平恢复网络为 一种利用恢复服务器/代理的次级恢 复网络形式,该恢复服务器/代理在次级恢复网络内为接收机,并且在其自己 的任何形式的网络中没有处于较高级别上。即,恢复服务器/代理不是分级或 者分层的。以下参照图3描述次级恢复网络的分层网络形式。两个网络共存。 首要网络为具有基站/接入点205的基于基础结构的/蜂窝无线网络,例如为 一 3G蜂窝网络、WiMax、 WiFi、或者DVB网络。无线设备(诸如蜂窝/移动 电话220、膝上电脑225、 PDA 230、专用恢复服务器/代理240、以及其他移 动设备235 )通过首要网络210从基站/接入点/服务器205接收多播数据。 无线设备还形成次级网络215。次级网络215为由设备以P2P体系结构形成 的扁平恢复网络。如图2所示,专用代理与无线客户端设备形成扁平恢复/ 补充网络。在扁平补充网络中,代理或者无线客户端设备通过代理或者通过 该扁平补充网络中的其他无线设备来恢复其自身的丢失分组。在可替换实施例中,还可能是由代理和无线设备形成分层补充网络。参 照图3,存在两个无线网络,首要/主要/主导/骨干网络310以及分层恢复网 络315。两个网络共存。首要网络为具有基站/接入点305的基于基础结构的 /蜂窝无线网络,例如为一3G蜂窝网络、WiMax、 WiFi、或者DVB网络。无线 设备(例如蜂窝/移动电话320、膝上电脑225、 PDA 330、专用恢复服务器 340、以及其他移动设备335 )通过首要网络310从基站/接入点/服务器305 接收多播数据。无线设备还形成次级网络315。次级网络315为由设备以P2P 体系结构形成的分层恢复网络。在分层补充网络中,代理340通过其他代理 来恢复其自身的丢失分组。无线客户端设备从一个或多个恢复代理恢复其丟失分组。为了从其对等方恢复丟失的分组,无线设备需要通过次级网络发现、确 立、以及保持与其对等方的协作的伙伴关系。丢失了或者未收到分组的无线 设备还需要检测和请求丢失的分组,并且进一步从对等方恢复丟失的分组。在本发明中,描述了一种用于伙伴关系发现、确立、以及保持的控制机 制与程序。还描述了用于检测、请求、以及恢复丟失的分组的方法与程序。参照图4 ,当无线设备确定其需要发现和确立与其他对等方的伙伴关系 时,该无线设备通过其次级网络接口以多播/广播发送伙伴关系/对等方请求消息(PREQ)。作为例子,PREQ消息包含源地址、目的地址、PREQ消息ID、 用于协作恢复的会话ID、生存时间(TTL)等等。源地址为PREQ发起方用于 其次级网络接口的IP (层3 )或者MAC (层2 )地址。目的地址为该消息在其 次级网络中的IP或者MAC多播目的地址。生存时间字段指示PREQ消息将在 次级网络中传播的跳跃次数。用于协作恢复的会话ID标识PREQ发起方希望 通过次级网络上对等方(或者恢复代理)的合作恢复对于首要网络中的多播 会话丢失的分组。作为例子,用于协作恢复的会话ID可以为首要网络中用于 会话的多播lt据分组的源与目的IP地址以及UDP/TCP端口 ,其标识分组所属 的会话。也可以使用首要网络中用于会话的多播数据分组的MAC (层2 )地址。 其可以为在多部数据分组中承载的其他ID (例如实时传输协议同步源ID), 其标识在首要网络中分组所属的会话。当无线设备在其次级网络接口上收到PREQ消息时,其确定是否将对于所 请求的会话成为PREQ发起方的伙伴候选。该判断可以由PREQ接收方基于PREQ 接收方的策略进行。例如,该策略可以依赖于PREQ接收方是否有足够的处理 能力、电池电量、以及次级网络中的带宽,PREQ接收方是否正在从首要网络 接收相同的会话用于自身使用,或者PREQ接收方是否有足够的处理能力、电 池电量、良好的信道品质以及带宽来从首要网络接收所请求的会话,以仅作 为恢复代理来向其他对等方提供丢失的分组。PREQ接收方通过将PREQ消息 中的TTL字段的值减l,来更新PREQ消息中的TTL字段。如果TTL字段的更 新后的值大于零,则PREQ接收方转发/广播该PREQ消息到其在次级网络中的 邻居。如果TTL字段的更新后的值等于零,则PREQ接收方抛弃该PREQ消息。另外,如果PREQ接收方想成为PREQ发起方的伙伴候选,以恢复在PREQ 消息中指定的会话的丢失分组,则PREQ接收方以单播向PREQ发起方发送伙伴关系/对等方回应(PREP)消息。如果PREQ接收方不想成为伙伴,则PREQ 接收方不发送PREP。作为例子,PREP消息包括源与目的地址、原始PREQ消 息ID、 PREP消息ID、会话ID等等。源地址为响应于PREQ的设备的地址, 目的地址为PREQ发起方的地址,即PREP消息的目的地址。如果PREQ接收方 已经确立了与PREQ发起方的伙伴关系用来恢复在PREQ消息中指定的会话的 丢失分组,则PREQ接收方忽略该PREQ消息。在PREQ发起方即PREP目的设备从PREP发起方收到该PREP发起方为潜 在的伙伴候选的PREP消息之后,PREQ发起方将判定是否与该PREP发起方形 成伙伴关系。PREQ发起方以单播向PREP发起方发送伙伴关系/对等方应答 (PACK)消息,以批准或者拒绝伙伴关系。作为例子,PACK消息可以包含层 2或者层3源与目的地址、原始PREP消息ID、 PACK消息ID、会话ID、应答 标志与确认标志等等。应答标志指示该PACK是肯定应答(PACK目的方、即 PREP发起方被PACK (PREQ)发起方选择作为伙伴)还是否定应答(PACK目 的方未被选择作为伙伴)。确认标志指示是否要求PACK目的方回送伙伴关系/ 对等方确认(PCOM)消息。在PREP目的方从PREP发起方收到PREP消息之后,如果PREP目的方想 与该PREP发起方形成伙伴关系,则PREP目的方向该PREP发起方发送具有肯 定应答标志的PACK。如果PREP目的方不想与该PREP发起方形成伙伴关系, 则PREP目的方可以向该PREP发起方发送具有否定应答标志的PACK,或者可 以不向该PREP发起方发送PACK消息。在PACK目的方收到PACK消息之后,如果在PACK消息中设置了确认标志, 则PACK目的方以单播向PACK发起方发送伙伴关系/对等方确认(PCOM)消息。 作为例子,PCOM消息包含PCOM消息的层2或者层3源与目的地址、原始PACK 消息ID、 PCOM消息ID、会话ID等等。在较低层传输协议没有可靠的端到端 传输机制(例如UDP)的情况下,使用PCOM消息。当较低层不提供传输可靠 性时,PACK发起方可以在其发送的肯定PACK消息中设置确认标志。如果较 低层提供可靠的传输协议(例如TCP),则其可以依赖于该较低层来成功地递 送PACK消息。可以不设置PACK中的确认标志。如果在PACK中未设置确认标 志,则不发送PCOM消息。在成功地交换了这些消息之后,确立PACK发起方 与PACK目的方之间的伙伴关系。在确立伙伴关系之后,为了通过次级网络从 对等方恢复会话的丢失分组,两个对等方都緩存从首要接口收到的所指定会话的数据分组。所有上述控制消息都在恢复/次级网络中传送。请注意,无线设备可能接收同一PREQ消息的多个拷贝,该PREQ消息在次级网络中以多播/广播通过不 同的路径传播。该设备可以仅传播PREQ消息的第一个拷贝。如果设备决定成 为PREQ发起方对于特定会话的伙伴候选,则该设备用PREP消息回应PREQ消 息的第一个拷贝。上述控制消息可能被丢失。在无线设备发送了 PREQ之后,等待PREP。 如果在PREQ一RETRIES一INTERVAL内没有收到PREP,或者已收到的PREP发 起方的数目(即伙伴候选的数目)小于所希望的伙伴数目,则无线设备可以 再次尝试在次级网络中发送另一PREQ,以发现一个或多个伙伴。对于每次重 新尝试,无线设备增加或者更新PREQ消息ID。无线设备可以在第一个PREQ 消息中以TTL_START的值开始,然后对于每次重新尝试,在PREQ消息中将 TTL值增加TTL—INCREMENT,直到TTL值达到TTL—MAXIMUM。 PREQ消 息中的最大TTL值可以为TTL_MAXIMUM,其为次级网络大小的估计值。 在TTL值达到PREQ消息中TTL—MAXIMUM之后,无线设备可以尝试高达 最大数目PREQ—RETRIES—LIMIT次。在PACK发起方发送设置了确认标志的PACK消息之后,PACK发起方等待 PC0M。如果在PACK—RETRIES—INTERVAL内没有收到PC0M,则PACK发起方 可以在次级网络中重新发送具有新PACK消息ID的PACK消息。对于每次重新 尝试,在PACK消息中增加或者更新消息ID。如果未收到预期的PCOM消息, 则PACK发起方可以重新发送PACK消息高达最大数目PACK_RETRIES—LIMIT 次。在无线设备处配置PREQ_RETRIES—INTERVAL、 PREQ—RETRIESJLIMIT、 TTL一START 、 TTL一INCREMENT 、 TTL一MAXIM固 、 PACK—RETRIES—INTERVAL、以及PACK—RETRIES—LIMIT。为了恢复会话,无线设备可以确立与一个或多个伙伴的协作伙伴关系。 如果伙伴的数目小于所希望的伙伴数目,则无线设备可以周期性地利用上述 方法尝试发现与确立更多的伙伴。可以在无线设备处配置所希望的伙伴数目。 发现新伙伴的周期也在无线设备处配置。伙伴关系中的任一对等方都可以通 过向另一对等方发送伙伴终止(PTER)消息来终止伙伴关系。4个流程图详细描述了根据图4的阶梯图在PREQ/PACK发起方与PREP/PC0M发起方中的操作。在每个情况下,流程图都以"停止,,终止。这 不是旨在指示完全停止操作,而要完成了整个处理的特定部分。完成了处理 的特定部分可能指示暂停或者等待状态有效。
图5为发送形成伙伴关系的请求的方法的流程图。在505,生成并且发 送伙伴关系请求消息到对等方/恢复服务器/恢复代理,以形成次级网络,从 而无线设备/请求方可以恢复丢失的或者错误接收的数据/分组。在510,设 置TTL为初始值(TTL—START),以及生成并且发送PREQ。在515,初始化 重试计数。在518,设置等待定时器(PREQ—wait—timer )。在520,进行测试, 以确定对于形成伙伴关系请求的等待定时器(PREQ_wait—timer)是否已经过 期。在5 2 0,如果PREQ—wait—timer没有过期,则继续执行5 2 0的测试,直至 PREQ—wait—timer过期。如果PREQ_wait__timer已经过期,则在5 2 5,进行测 试,以确定是否还未收到回应(PREP),或者是否小于所希望数目的潜在伙 伴(对等方/恢复服务器/恢复代理)候选已经响应。如果所希望数目的伙伴 已经响应(收到了 PREP),则该处理行进到560,并且可以进行恢复处理。如 果所希望数目的潜在伙伴未响应,则在530进行测试,以确定TTL
(PREQ—TTL)是否小于最大TTL ( TTL—MAXIMUM )。如果PREQ—TTL 不小于最大TTL,则在535进行测试,以确定PREQ重试计数
(PREQ—retry—count)是否大于PREQ重试限制(PREQ—RETRYJLIMIT)。如 果PREQ重试计数大于PREQ—RETRYJLIMIT,则该处理行进到560,并且该 处理结束,这是因为已经超过了重试计数。如果PREQ重试计数小于 PREQ—RETRY—LIMIT,则将PREQ重试计数(PREQ—retry—count)增力。(1 ), 将PREQJD也增加(1 )。然后,该处理行进到550,其中重新发送伙伴关系 请求(PREQ)。如果PREQ TTL小于最大TTL,则在545,将PREQ TTL增 加TTLJNCREMENT,并且将PREQ—ID增加1 。然后,该处理行进到550, 其中重新发送伙伴关系请求(PREQ)。
图6为处理伙伴关系请求消息的方法的流程图。图6的流程图所覆盖的 功能由响应于形成伙伴关系请求的潜在伙伴/对等方/恢复服务器/恢复代理 执行。潜在伙伴首先在605进行测试,以确定其是否已经在先前收到过该伙 伴关系请求(PREQ)。如果潜在伙伴在先前未收到过该PREQ,则在610,其 确定其是否想或者能够成为无线设备/请求方的伙伴,并且对于所指定的会话 还不存在伙伴关系。如果潜在伙伴想并且能够与无线设备/请求方形成伙伴关系,并且所指定的会话还不存在,则在615,潜在伙伴生成并且发送伙伴请 求回应(PREP)到PREQ发起方。然后,该处理行进到620,其中将PREQTTL 减少(1)。如果潜在伙伴不想或者无法与无线设备/请求方形成伙伴关系,或 者所指定的会话已经存在,则在620,将PREQ TTL减少(1)。将PREQ转 发给其他潜在伙伴。然后,该处理行进到640,以使伙伴关系确立处理继续。 如果潜在伙伴先前收到过该PREQ,则在635抛弃该PREQ。然后,该处理行 进到640。'
图7为根据本发明的处理伙伴关系回应消息的方法的流程图。图7的流 程图所覆盖的功能由无线设备/请求方(PREQ发起方)执行。该处理响应于 收到伙伴请求回应(PREP)。在705,进行测试,以确定PREQ发起方是否想 与潜在伙伴形成伙伴关系,该潜在伙伴利用PREP响应于与PREQ请求方形 成伙伴关系的请求。如果PREQ请求方想与潜在伙伴形成伙伴关系,则在710, 肯定地设置伙伴关系肯定应答标志(PACK_positive—ack—flag )。然后在715, 进行测试,以确定是否需要伙伴关系确认。如果需要伙伴关系确认,则在720, 设置伙伴关系确认标志(PACK—confirmation—flag)。然后,在725, PREQ发 起方生成并且以单播发送肯定伙伴关系应答(PACK)到潜在伙伴(PREP发 起方)。然后,在730,初始化伙伴关系重试计数(PACK—retry—count )。然后, 在735,设置伙伴关系应答等待时间(PACK—wait—timer )。然后在740,进行 测试,以确定是否收到了伙伴关系确认(PC0M)。如果未收到伙伴关系确认, 则在7 4 5 ,进行测试,以确定伙伴关系应答等待时间(PACK—wait—timer )是 否过期。如果PACK—wait—timer过期了 ,则在7 5 0 ,进行测试,以确定伙伴关 系重试计数(PACK—retry—count )是否大于伙伴关系重试限制
(PACK—RETRY—LIMIT)。 如果 PACK—retry—count 小 于 PACK—RETRY—LIMIT ,则在755,将伙伴关系应答id ( PACK—ID )和 PACK_retry_count增加(1 )。然后,在760,重新发送伙伴关系应答(PACK )。 如果PREQ请求方不想与潜在伙伴形成伙伴关系,则在765,清除伙伴 关系肯定应答标志(PACK_positive—ack—flag ),并且清除伙伴关系确认标志
(PACK_confirmation—flag )。然后在"O, PREQ请求方生成并且以单播发送 否定伙伴关系应答到潜在伙伴/PREP发起方。这导致在790不确立伙伴关系。 然后,该处理4于进到795。
如果不需要伙伴关系确认(715),则在775,清除伙伴关系确认标志(PACK—confirmation_flag )。然后在780, PREQ发起方生成并且发送伙伴关 系肯定应答到潜在伙伴(PREP发起方)。此后,在785,确立伙伴关系。然 后,该处理行进到795。
如果伙伴关系应答重试计数(PACK_retry_count)大于伙伴关系应答重试 限制(PACK—RETRY—LIMIT),则在790,不确立伙伴关系。
图8为根据本发明的处理伙伴关系应答消息的方法的流程图。图8的流 程图所覆盖的功能由潜在伙伴/PREP发起方执行。在805,进行测试,以确 定是否设置了伙伴关系确认标志(PACK一confirmation一flag )。如果设置了 PACK—confirmation—flag,则在810,潜在伙伴/PREP发起方生成并且发送伙 伴关系确认到PREQ请求方/PACK发起方。此后,在815,确立伙伴关系。如 果未设置PACK—confirmation—flag,则此后在815,确立伙伴关系。然后,该 处理行进到820,其中进行丢失或者错误接收的数据/分组的恢复。
参照图9,在两个设备之间确立伙伴关系之后,按照KA—INTERVAL的 间隔,周期性地从PREQ发起方向对等方以单播发送Keep-Alive(KA)消息, 以保持(maintain)伙伴关系。作为例子,Keep-Alive消息包含KA消息的层 2或者层3源与目的地址、Keep-Alive消息ID、会话ID、存活时间(TTL )等 等。在收到KA消息之后,对等方以单播向KA/PREQ发起方回应以 Keep-Alive-Reply(KAR)消息。作为例子,KAR消息包含该KAR消息的层2 或者层3源与目的地址、原始KA消息ID、 KAR消息ID、会话ID等等。如 果在发出KA消息之后的KAR—TIMEOUT内未收到KAR消息,贝'j PREQ/KA 发起方重新发送具有新KA消息ID的KA消息。如果没有从对等方收到KAR 消息,则PREQ/KA发起方可以重新发送Keep-Alive消息的最大数目 KEEP_ALIVE_RETRIES—LIMIT次。如果在达到最大重发次数之后仍然未从 对等方收到KAR消息,则KEEP—ALIVE发起方(即PREQ发起方)假定与 该对等方的伙伴关系结束。KEEP—ALIVE发起方可以利用上述伙伴关系发现 与确立程序,寻找替换伙伴。如果对于时间间隔KEEP—ALIVEJLIMIT,与 PREQ/KA发起方具有确立伙伴关系的对等方未从PREQ/KA发起方收到 keep-alive消息,则该对等方假定与该PREQ/KA发起方的伙伴关系结束。可 以在无线设备处配置 KA—INTERVAL 、 KAR—TIMEOUT 、 KEEP—ALIVE—RETRIES—LIMIT 、以及KEEP—ALIVE—LIMIT 。
参照图10,显示了丢失分组的恢复方法。移动设备通过其次级/辅助/补充网络以单播发送恢复请求(RECR)消息给其伙伴中的一个或多个。伙伴可 以为其他无线设备(对等方)或者专用恢复代理/服务器。次级网络可以为补 充网络、扁平恢复网络或者分层恢复网络。作为例子,RECR消息包含层2 或者层3源地址、层2或者层3目的地址、会话ID、 RECR消息ID、所请求 的分组映射或者列表。所请求的分组映射或者列表识别RECR发起方从(多个) 伙伴请求的分组。在收到RECR消息之后,伙伴确定其可以提供哪些所请求 的分组。伙伴发送恢复回应(RECP)消息给RECR发起方。作为例子,RECP 消息包含层2或者层3源与目的地址、会话ID、原始RECR消息ID、以及所 提供的分组映射或者列表。所提供的分组映射或者列表识别该伙伴可以提供 的分组。伙伴还向RECR发起方发送所提供的分组。如果伙伴无法提供所有 所请求的分组,则RECR发起方可以向一个或多个其他伙伴发送具有更新后 的分组请求映射或者列表的RECR。
参照图11,显示了可替换的恢复方法。如果无线设备未从其首要接口收 到对于以会话的某些多播数据分组,则该无线设备通过其次级/辅助/补充网络 尝试从其伙伴恢复该会话中的丢失数据分组。无线设备发送恢复请求(RECR) 消息到其伙伴中的一个或者多个。伙伴可以为其他无线设备(对等方)或者 专用恢复代理/服务器。次级网络可以为补充网络、扁平恢复网络或者分层恢 复网络。作为例子,RECR消息包含层2或者层3源地址、层2或者层3目 的地址、会话ID、 RECR消息ID、所请求的分组映射或者列表。所请求的分 组映射或者列表识别RECR发起方从(多个)伙伴请求的分组。在收到RECR 消息之后,伙伴确定其可以提供哪些所请求的分组。伙伴发送恢复回应(RECP ) 消息给RECR发起方。作为例子,RECP消息包含层2或者层3源与目的地址、 会话ID、原始RECR消息ID、以及所提供的分组映射或者列表。所提供的分 组映射或者列表识別该伙伴可以提供的分组。RECR发起方根据来自特定伙 伴的RECP消息中的所提供的分组映射或者列表,确定从该伙伴恢复哪些丢失 分组。如果多于一个的伙伴可以提供同一分组,则RECR发起方可以根据其 他标准(诸如次级网络中来自伙伴的路径品质)确定伙伴以获得该分组。然 后,RECR发起方发送恢复应答(RECA)消息到RECR发起方希望从其接收 丢失分组或者丢失分组的子集的伙伴。作为例子,RECA消息包含层2或者 层3源地址、层2或者层3目的地址、会话ID、 RECA消息ID、分组映射或 者列表。分组映射或者列表识別从该伙伴请求的分组。该伙伴发送所请求的分组到RECR发起方。如果伙伴无法提供所有所请求的分组,财RECR发起 方可以发送具有更新后的分组请求映射或者列表的RECR到其他伙伴。
参照图12,方框示了根据本发明的无线设备1200。无线设备1200 具有两个物理/逻辑接口。首要接口 1205与首要网络1210通信,以从基站/ 接入点1215接收对于会话的多播数据分组。次级接口 1220与对等方/恢复服 务器/恢复代理1225通信,以形成次级网络(扁平网络/分层恢复网络)1230, 并且通过次级网络1230,从对等方/恢复服务器/恢复代理1225恢复多播会话 的丢失数据分组。丢失分组检测模块1235检测从首要网络接收的多播分组的 丢失。缓存模块1240緩存数据分组。伙伴关系控制模块1245在次级网络1230 中与对等方/恢复服务器/恢复代理1225形成伙伴关系。恢复模块1250通过次 级网络1230,从对等方/恢复服务器/恢复代理1225恢复丢失数据分組,并且将 所恢复的分组插入到緩存中。应用1225为使用多播数据分组的应用。
会话控制器1260协调各模块,因此其与应用1225、緩存模块1240、伙 伴关系控制模块1245、恢复模块1250、丢失分组检测模块1235、次级接口 模块1220、以及首要接口模块1205处于控制通信中。因此,次级接口与次 级网络1230的对等方/恢复服务器/恢复代理1225、恢复模块1250、伙伴关系 模块1245、以及会话控制器1260通信。首要接口模块1205与首要网络1210 的基站/接入点1215、丢失分组检测模块1235、以及会话控制器1260通信。 丟失分组检测模块1235与首要接口模块1205、恢复控制模块1250、緩存模 块1240、以及会话控制器1260通信。恢复控制^t莫块1250与次级接口模块 1220、丟失分组检测模块1235、伙伴关系控制模块1245、缓存模块1240、 以及会话控制器1260通信。伙伴关系控制模块1245与恢复控制模块1250、 次级接口模块1220、以及会话控制器1260通信。緩存模块1240与恢复模块 1250、丢失分组检测模块1235、应用1255、以及会话控制器1260通信。应 用与緩存模块1240以及会话控制器1260通信。
在另 一替换实施例中,本发明的方法也可以用来恢复首要网络中的单播 会话的数据分组。无线介质为共享介质。当在首要网络中从基站/接入点向无 线设备传送、或者从无线设备向基站/接入点传送单播会话的数据/分组时,该 分组/数据可能被发送方通信范围内的其他设备无意听到。分组对于一无线设 备丟失,但是由于无线设备的空间发散性以及信道异构性,该分组可能被其 他无线设备正确接收。无线设备可以使用本发明的方法,通过次级网络形成伙伴关系,并且协作地从彼此恢复首要网络单播会话的丟失分组。在另一实 施例中,基站/接入点可以使用本发明的方法,成为次级网络的一部分、与无 线设备形成伙伴关系、以及通过次级网络恢复首要网络单播会话的丢失分组。 应该理解,本发明可以各种形式的硬件、软件、固件、专用处理器、或 者其组合实现。优选地,本发明实现为硬件和软件的组合。另外,优选地, 将软件实现为在程序存储设备上以有形方式体现的应用程序。应用程序可以 被上载到包含任何适当体系结构的机器、并且由其执行。优选地,该机器在
具有诸如一个或多个中央处理单元(CPU)、随机访问存储器(RAM)、以及 (多个)输入/输出(1/0)接口等硬件的计算机平台上实现。计算机平台还包 括操作系统与微指令代码。此处描述的各种处理与功能可以为微指令的一部 分,或者为应用程序的一部分(或者其组合),其通过操作系统执行。另外, 各种其他外设(诸如附加的数据存储设备与打印设备)可以连接到该计算机 平台。
还应该理解,由于在附图中描绘的某些构成系统组件和方法步骤优选地 以软件实现,所以依赖于本发明编程的方式,系统组件(或者处理步骤)之 间的实际连接可能会有不同。在此处的教导下,本领域技术人员能够设想本 发明的这些与类似的实现或者配置。
权利要求
1. 一种用于恢复数据的方法,所述方法包括确立具有设备的次级恢复网络;检测数据丢失;以及通过所述次级恢复网络从所述设备恢复所述丢失的数据,所述设备已经正确收到了所述数据。
2. 如权利要求l所述的方法,其中所述确立动作还包括 生成并且发送与所述设备形成伙伴关系的请求,其中与所述设备的所述伙伴关系创建并且确立所述次级恢复网络;接收对形成所述伙伴关系的所述请求的单播回应; 确定是否要形成与所述设备的所述伙伴关系;如果要形成所述伙伴关系,则生成并且以单播发送肯定伙伴关系应答;以及如果不要形成所述伙伴关系,则生成并且以单播发送否定伙伴关系应答。
3. 如权利要求2所述的方法,其中如果在所述会话中丢失了数据,则形 成所述伙伴关系的所述请求包括对会话进行恢复的指示。
4. 如权利要求l所述的方法,其中所述恢复动作还包括以单播向形成所述次级恢复网络的所述设备发送请求数据恢复的消息;以及从所述设备接收对于所述请求数据恢复的消息的单播回应,其中所述回 应包括从所述设备可得到的分组的列表、以及所述可得到的分组。
5. 如权利要求l所述的方法,其中所述恢复动作还包括 生成并且以单播向形成所述次级恢复网络的所述设备发送请求数据恢复的消息;从所述设备接收对于所述请求数据恢复的消息的单播回应,其中所述回 应包括从所述设备可得到的分组的列表;生成并且以单播发送对于所述回应的应答;以及 以单播接收所述可得到的分组。
6. 如权利要求2所述的方法,还包括保持在所述次级恢复网络中与所 述设备的所述伙伴关系,并且其中所述保持动作还包括周期性地生成并且以单播发送被设计用于保持与所述设备的所述伙伴关 系的消息;以及接收对于所述保持消息的单播回应。
7. —种用于恢复数据的方法,所述方法包括 接收数据;确立具有设备的次级恢复网络;以及 通过所述次级恢复网络,恢复所述设备丢失的数据。
8. 如权利要求7所述的方法,其中所述确立动作还包括接收与所述设备形成伙伴关系的请求,其中与所述设备的所述伙伴关系 创建并且确立所述次级恢复网络; 确定是否先前收到过所述请求; 如果先前收到过所述请求,则抛弃所述请求; 确定是否要形成伙伴关系;如果要形成所述伙伴关系,则生成并且以单播发送对于形成所述伙伴关 系的所述请求的伙伴关系回应;如果形成伙伴关系的所述请求未过期,则转发形成伙伴关系的所述请求 到邻近设备;以及如果形成伙伴关系的所述请求已经过期,则抛弃形成伙伴关系的所述请求。
9. 如权利要求8所述的方法,其中形成所述伙伴关系的所述请求包括 对来自会话的丢失数据的指示。
10. 如权利要求7所述的方法,其中所述恢复动作还包括 通过所述次级恢复网络,从所述设备接收请求数据恢复的单播消息,其中所述消息包括丢失分组的列表;生成并且向所述设备发送对于所述请求数据恢复的消息的单播回应,其 中所述回应包括可得到的所迷丢失分组的列表;以及向所述设备发送所述可得到的丢失分组。
11. 如权利要求7所述的方法,其中所述恢复动作还包括 通过所述次级恢复网络,以单播接收请求数据恢复的消息,其中所述消息包括丟失分组的列表;生成并且发送对于所述请求数据恢复的消息的单播回应,其中所述回应包括可得到的丢失分组的列表;以单播接收对于所述回应的应答,其中所述应答包括丟失分组的列表;以及以单播发送所述可得到的丢失分组。
12. 如权利要求8所述的方法,还包括:保持在所述次级恢复网络中与所 述设备的所述伙伴关系,并且其中所述保持动作还包括以及生成并且以单播发送对于所述保持消息的回应。
13. —种用于恢复数据的装置,包括 用来确立具有设备的次级恢复网络的部件;以及 用来通过所述次级恢复网络恢复丟失数据的部件。
14. 如权利要求13所述的装置,其中所述用来确立的部件以及所述用来 恢复的部件与包括两个物理无线电接口的所述次级恢复网络的所述设备通信。
15. 如权利要求13所述的装置,其中所述用来确立的部件以及所述用来 恢复的部件与包括两个逻辑无线电接口的所述次级恢复网络的所述设备通信。
16. 如权利要求13所述的装置,还包括用来检测数据丟失的部件,并且 其中所述用来确立的部件还包括伙伴关系控制模块,用来控制与所述次级 恢复网络的所述设备的伙伴关系的形成。
17. 如权利要求16所述的装置,其中所述伙伴关系控制模块还包括用来生成并且发送与所述设备形成伙伴关系的请求的部件,其中与所述设备的所述伙伴关系创建并且确立所述次级恢复网络;用来接收对形成所述伙伴关系的所述请求的单播回应的部件; 用来确定是否要形成与所述设备的所述伙伴关系的部件; 如果要形成所述伙伴关系,则用来生成并且以单播发送肯定伙伴关系应答的部件;以及如果不要形成所述伙伴关系,则用来生成并且以单播发送否定伙伴关系 应答的部件。
18. 如权利要求17所述的装置,其中如果在所述会话中丢失了数据,则形成所述伙伴关系的所述请求包括对会话进行恢复的指示。
19. 如权利要求13所述的装置,其中所述用来恢复的部件还包括恢复控 制模块,并且其中所述恢复控制模块包括用来以单播向形成所述次级恢复网络的所述设备发送请求数据恢复的消 息的部件;以及用来从所述设备接收对于所述请求数据恢复的消息的单播回应的部件, 其中所述回应包括从所述设备可得到的分组的列表、以及所述可得到的分组。
20. 如权利要求13所述的装置,其中所述用来恢复的部件还包括恢复控 制模块,并且其中所述恢复控制模块还包括用来生成并且以单播向形成所述次级恢复网络的所述设备发送请求数据 恢复的消息的部件;用来从所述设备接收对于所述请求数据恢复的消息的单播回应的部件, 其中所述回应包括从所述设备可得到的分组的列表;用来生成并且以单纟番发送对于所述回应的应答的部件;以及 用来以单播接收所述可得到的分组的部件。
21. 如权利要求17所述的装置,还包括用来保持在所述次级恢复网络 中与所述设备的所述伙伴关系的部件,并且其中所述用来保持的部件还包括用来周期性地生成并且以单播发送被设计用于保持与所述设备的所述伙 伴关系的消息的部件;以及用来接收对于所述保持消息的单播回应的部件。
22. 如权利要求16所述的装置,其中所述伙伴关系控制模块还包括用来接收与所述设备形成伙伴关系的请求的部件,其中与所述设备的所 述伙伴关系创建并且确立所述次级恢复网络; 用来确定是否先前收到过所述请求的部件; 如果先前收到过所述请求,则用来抛弃所述请求的部件; 用来确定是否要形成伙伴关系的部件;如果要形成所述伙伴关系,则用来生成并且以单播发送对于形成所述伙 伴关系的所述请求的伙伴关系回应的部件;如果形成伙伴关系的所述请求未过期,则用来转发形成伙伴关系的所述 请求到邻近设备的部件;以及如果形成伙伴关系的所述请求已经过期,则用来抛弃形成伙伴关系的所述请求的部件。
23. 如权利要求13所述的装置,其中所述用来恢复的部件还包括恢复控 制模块,并且其中所述恢复控制模块还包括用来从形成所述次级恢复网络的所述设备接收请求数据恢复的单播消息 的部件,其中所述消息包括丟失分组的列表;用来生成并且发送对于所迷请求数据恢复的消息的单播回应的部件,其 中所述回应包括可得到的丢失分组的列表以及 发送所述可得到的丢失分组。
24. 如权利要求13所述的装置,其中所述用来恢复的部件还包括恢复控 制模块,并且其中所述恢复控制模块还包括用来通过所述次级恢复网络以单播接收请求数据恢复的消息的部件,其 中所述消息包括丢失分组的列表;用来生成并且发送对于所述请求数据恢复的消息的单播回应的部件,其 中所述回应包括可得到的所述丟失分组的列表;用来以单播接收对于所述回应的应答的部件,其中所述应答包括所请求的丢失分组的列表;以及用来以单播发送所述可得到的分组的部件。
25. 如权利要求22所述的装置,还包括用来发送肯定单播确认的部件。
26. 如权利要求22所述的装置,还包括用来保持在所述次级恢复网络 中与所述设备的所述伙伴关系的部件,并且其中所述用来保持的部件还包括息的部件;以及用来生成并且以单播发送对于所述保持消息的回应的部件。
27. —种用于恢复数据的方法,所述方法包括 确立具有设备的次级恢复网络; 检测主要无线多播网络中的数据丟失;以及通过所述次级恢复网络,从所述设备恢复所述丢失数据,所述设备正确 收到了所述数据。
28. —种用于恢复数据的方法,所述方法包括 在主要无线多播网络中接收数据; 确立具有设备的次级恢复网络;以及通过所述次级恢复网络,恢复所述设备丢失的数据。
29. —种用于恢复数据的装置,包括用来确立具有设备的次级恢复网络的部件;以及用来通过所述次级恢复网络恢复从主要无线多播网络丢失的数据的部
全文摘要
描述了一种用于恢复数据的方法与装置,包括确立具有设备的次级恢复网络;检测数据丢失以及通过次级恢复网络从所述设备恢复丢失的数据,该设备已经正确收到了该数据。在主要的无线多播网络中传送所述丢失的数据。还描述了一种用于恢复数据的方法与装置,包括接收数据;确立具有设备的次级恢复网络,以及通过所述次级恢复网络恢复丢失的数据。收到的数据在主要无线多播网络中传送。
文档编号H04L12/28GK101536416SQ200680056273
公开日2009年9月16日 申请日期2006年10月31日 优先权日2006年10月31日
发明者航 刘, 索拉布·马瑟 申请人:汤姆森特许公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1