基于内容的组播高效过滤算法解析
1. 引言
随着互联网等信息源提供的信息量不断增加,用户对个性化信息的需求也日益增长。当信息接收者数量众多且兴趣有足够的共性时,使用组播来传递信息比单播更有价值。然而,如果接收者的兴趣差异较大,传统的 IP 组播会产生大量冗余。
为了解决这个问题,基于内容的组播(Content-Based Multicast,CBM)应运而生。在 CBM 中,会在组播树的内部节点进行额外的内容过滤,以减少网络带宽使用和交付延迟。这种过滤可以在 IP 层进行,但更可能在软件层,例如发布 - 订阅应用和事件通知系统中实现。
CBM 本质上是以增加网络计算量为代价,减少网络带宽和接收者的计算量。随着信息系统和网络中传播的信息数量和多样性的增加,以及用户对个性化信息的渴望,应用层的 CBM 变得越来越重要。同时,CBM 在中间件层和网络信令层也有一定的应用价值。
之前的工作将 CBM 应用于多个不同领域,主要考虑了两个过滤问题:
- 最小化组播树的总带宽利用率 :限制树中最多放置 p 个过滤器,类似于树上的 p - 中位数问题,有一个最优的 O(pn²) 动态规划算法。
- 最小化网络的总交付延迟 :不限制过滤器的数量,假设过滤器会引入固定延迟 F,且组播树链路的延迟与该链路上的流量成正比,类似于树上的无容量设施定位问题,有一个最优的 O(n²) 动态规划算法。
本文主要关注第二个问题,即最小化延迟,并展示如何改进动态规划算法的复杂度。