CN110313162B - 促进在网络环境中向多个接收者的内容递送的系统和方法 - Google Patents

促进在网络环境中向多个接收者的内容递送的系统和方法 Download PDF

Info

Publication number
CN110313162B
CN110313162B CN201880012207.7A CN201880012207A CN110313162B CN 110313162 B CN110313162 B CN 110313162B CN 201880012207 A CN201880012207 A CN 201880012207A CN 110313162 B CN110313162 B CN 110313162B
Authority
CN
China
Prior art keywords
content
node
packet
recipient
nodes
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.)
Active
Application number
CN201880012207.7A
Other languages
English (en)
Other versions
CN110313162A (zh
Inventor
亨德里克斯·博世
萨普·朱利安·穆伦德
基思·博恩斯
杰夫瑞·纳珀
威廉·马克·汤斯雷
亚历山德罗·杜米努科
安德烈·苏尔库夫
艾斯布兰德·韦南德斯
汉伯托·J·拉罗什
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN110313162A publication Critical patent/CN110313162A/zh
Application granted granted Critical
Publication of CN110313162B publication Critical patent/CN110313162B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/741Routing in networks with a plurality of addressing schemes, e.g. with both IPv4 and IPv6
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/659Internet protocol version 6 [IPv6] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/164Adaptation or special uses of UDP protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

在一个示例实施例中提供了一种方法,该方法可包括在父亲内容节点处确定多个接收者内容节点要接收相同内容;基于确定该相同内容在父亲内容节点处可用,生成包括多个识别符的多重递送头部,其中该多个识别符中的每个识别符指示出要接收相同内容的每个接收者内容节点;将多重递送头部附加到与相同内容相关联的互联网协议(IP)流的一个或多个封包;并且将该IP流的封包发送到多个接收者内容节点中的每一者。

Description

促进在网络环境中向多个接收者的内容递送的系统和方法
技术领域
本公开概括而言涉及计算机联网的领域,更具体而言涉及促进在网络环境中向多个接收者的内容递送的系统和方法。
背景技术
信息中心联网(Information-Centric Networking,ICN)表示使互联网朝着以内容/信息/数据为中心的网络体系结构发展的一种广泛的研究方向。ICN的至少一些未来网络体系结构可能性是基于与网络使用有关的经验研究和克服诸如互联网协议(IP)之类的现有体系结构的问题的愿望的。ICN及其具体体系结构设计,例如命名数据联网(NamedData Networking,NDN)和内容中心联网(Content Centric Networking,CCN),在支持任何类型的网络上的信息散播方面提供了一种根本上不同的方案。CCN和NDN表示基于内容的(或者面向数据)的联网体系结构,而不是面向主机的联网体系结构。然而,ICN体系结构的部署可涉及对现有IP网络体系结构的考虑,这对于流量工程师和管理员两者都提出了巨大的挑战。
发明内容
附图说明
为了提供对本公开及其特征和优点的更完整理解,现在参考以下结合附图的描述,附图中相似的标号表示相似的部件,其中:
图1A是图示出根据本公开的一个实施例与能够促进网络环境中向多个接收者的内容递送的通信系统相关联的示例细节的简化框图;
图1B-图1C是图示出根据通信系统的各种实施例可与不同的内容封包配置相关联的示例细节的简化示意图;
图2A是图示出根据一个潜在实施例可与用于示例用例的通信系统相关联的其他示例细节的简化框图;
图2B-图2H是图示出可与图2A的示例用例相关联的各种封包的示例细节的简化示意图;
图3A-图3B是图示出可与通信系统的各种实施例相关联的各种内容封包的示例细节的简化示意图;
图4是图示出根据通信系统的一个潜在实施例可与能够促进网络环境中向多个接收者的内容递送的示例操作相关联的示例细节的简化流程图;
图5A-图5D是图示出根据通信系统的一个潜在实施例可与能够促进网络环境中向多个接收者的内容递送的示例操作相关联的其他示例细节的简化流程图;并且
图6-图7是图示出可与通信系统相关联的示例细节的简化框图。
具体实施方式
概述
在独立权利要求中记载本发明的各方面并且在从属权利要求中记载优选特征。一个方面的特征可被单独应用到每个方面或者与其他方面组合应用。
在一个示例实施例中提供了一种方法,该方法可包括在父亲内容节点处确定多个接收者内容节点要接收相同内容;基于确定该相同内容在父亲内容节点处可用,生成包括多个识别符的多重递送头部,其中该多个识别符中的每个识别符指示出要接收该相同内容的每个接收者内容节点;将多重递送头部附加到与该相同内容相关联的互联网协议(IP)流的一个或多个封包;并且将该IP流的封包发送到多个接收者内容节点中的每一者。多重递送头部中所包括的多个识别符可包括多个互联网协议版本6(Internet Protocol version6,IPv6)地址,其中每个IPv6地址对应于多个接收者内容节点中的特定接收者内容节点;并且(可选地)包括多个用户数据报协议(User Datagram Protocol,UDP)端口值,其中每个UDP端口值对应于多个接收者内容节点中的特定接收者内容节点。在一些情况中,多重递送头部还可包括位图,其中该位图中的每个比特对应于多个接收者内容节点中的特定接收者内容节点。
该方法还可包括在路由节点处接收被附加有多重递送头部的该IP流的至少一个封包;并且确定该至少一个封包是要被直接路由到多个接收者内容节点中的特定接收者内容节点还是要被路由到至少一个其他路由节点。在一些情况中,该方法可包括将包括多重递送头部的至少一个封包转发到至少一个其他路由节点。在一些情况中,该方法可包括基于确定该至少一个封包要被路由到多个接收者内容节点中的特定接收者内容节点而去除多重递送头部;将该至少一个封包的目的地地址替换为对应于该特定接收者内容节点的地址;并且将该至少一个封包转发到该特定接收者内容节点。在还有一些情况中,该方法可包括确定该多重递送头部是否要被缓存在路由节点处;并且基于确定该多重递送头部要被缓存在路由节点处而为与该至少一个封包相关联的任何转发缓存多重递送头部和关联以用于该IP流的后续封包。
在还有一些情况中,该方法可包括确定多重递送头部包括位图,该位图包括与多重递送头部中所包括的多个识别符中的每个识别符相关联的数个比特。在还有一些情况中,该方法可包括利用该位图和该多重递送头部中所包括的多个识别符中的每个识别符来确定该至少一个封包要被转发到多个其他路由节点。在还有一些情况中,该方法可包括基于确定该至少一个封包要被路由到多个其他路由节点而复制该至少一个封包以生成多个复制的封包;对于各个多重递送头部的相应位图,基于每个复制的封包要被转发到的特定路由节点,重置一个或多个比特;并且将每个复制的封包转发到多个其他路由节点中的每个特定的其他路由节点。
也描述了用于实现本文描述的方法的系统和装置,包括用于实现这些方法的网络节点、计算机程序、计算机程序产品、计算机可读介质和编码在有形介质上的逻辑。
示例实施例
参考图1A,图1A是图示出根据本公开的一个实施例与能够促进网络环境中向多个接收者的内容递送的通信系统100相关联的示例细节的简化框图。图1B-图1C是图示出根据图1A的通信系统100的各种潜在实施例可与不同的内容封包配置相关联的示例细节的简化示意图。图1A包括多个接收者内容节点(recipient content node,RCN)102.1-102.N、多个路由节点(routing node,RN)104.1-104.M和父亲内容节点(parent content node,PCN)106,其中每一者可通过互联网协议(IP)网络110通信。
接收者内容节点102.1可与路由节点104.1直接接口。接收者内容节点102.2和102.N可与路由节点104.2直接接口。路由节点104.1和路由节点104.2可与路由节点104.M接口,可能通过一个或多个其他路由节点。路由节点104.M可与父亲内容节点106直接接口。在至少一个实施例中,接收者内容节点102.1-102.N与父亲内容节点106经由路由节点104.1-104.M的互连可表示可为通信系统100实现的信息中心联网(ICN)网络的一层。可为通信系统100部署其他接收者内容节点、父亲内容节点和/或路由节点;从而提供为一个或多个网络创建互连的ICN层的层次体系的能力。如对于图1A的实施例所示,接收者内容节点102.1-102.N和父亲内容节点106可与其他层和/或网络相接口。
为了图示通信系统100中的多接收者内容递送实施例的某些示例技术,理解可通过网络的通信和用于实现这种通信的协议,是重要的。以下基本信息可被视为一个基础,从该基础可恰当地说明本公开。这种信息是出于热心提供的并且只是为了教导目的,因此不应当以限制本公开的宽广应用和教导的方式来加以解释。
信息中心联网(ICN)为网络环境中的信息散播提供了一种根本上不同的方案。此方案涉及以内容/信息/数据为中心的网络体系结构。CCN、NDN及其变体(例如,由帕洛阿尔托研究中心(Palo Alto Research Center,PARC)开发的
Figure BDA0002168093050000041
)是ICN体系结构的示例,其中的每一者可被用作用于实现本文描述的多接收者内容递送实施例的底层体系结构。CCN、CCNx和NDN是基于以下前提的:消息经过网络的流动是基于消息的内容的名称的。
ICN网络中的通信通常是由通过对消息的交换发起对信息的请求的消费者来驱动的。在NDN和CCN协议中,有两个基本消息,即经由层次性令牌化名称来请求一条内容的兴趣消息,和返回所请求的指名的该条内容的内容消息。在典型ICN网络中,名称是协议中的唯一识别符;既不使用源地址也不使用目的地地址。
命名空间允许了在兴趣和数据封包中按名称来引用内容。命名空间是层次化的并且携带语义信息。ICN名称是内容的层次化名称并且包含名称成分的序列。例如,/com/youtube/<medialD>/audio/<framelD>/<segment#>包含六个名称成分,每一个由斜杠划界。为了使内容项全局可访问,该内容项被赋予全局唯一名称。当客户端(本文中也称为“消费者”或“接收者”)想要特定的内容时,该客户端可生成包括期望的内容的名称的兴趣封包。在至少一些情况中,所请求的内容的名称可由打算消费该内容的用户或进程提供。接收到兴趣封包的内容节点可执行最长前缀匹配(LongestPrefix Matching,LPM)来确定该内容是被存储在该节点还是兴趣需要被转发到另一内容节点。兴趣封包可沿着与内容名称的LPM相关联的任何(一个或多个)接口的一个或多个路径被转发。
NDN和CCN路由器使用名称来将兴趣封包朝着期望的内容转发。期望的内容可在产生了内容的源(在本文中也称为“生产者”或“父亲”)或者沿着到源的路径的其他节点处被找到。源和客户端之间的某个节点可能存储了该内容,如果该内容经过了该节点一次或多次的话。当兴趣封包到达包含期望的内容的节点(例如,生产者节点或者沿着到生产者节点的路径的另一节点)时,该节点可生成包括该名称和该内容的内容封包。此外,内容封包也可被用内容发布者的密钥来签名。为了到达消费者,内容封包遵循兴趣封包所采取的路径的反向路径。
这与当前的基于互联网协议(IP)的网络形成对比,在基于IP的网络中是基于数值寻址的主机来路由消息的并且基于通信的主机之间的连接来保证连接。然而,假定ICN获得接受,则对于ICN部署需要对现有IP网络的考虑以弥合ICN与IP技术之间的分歧。
利用诸如传输控制协议(TCP)、用户数据报协议(UDP)和互联网协议(IP)之类的现有互联网协议在一次传输中向多个接收者发送内容通常要求部署传统的多播树,例如互联网群组管理协议(Internet Group Management Protocol,IGMP)或协议独立多播(Protocol Independent Multicast,PIM)或者诸如比特索引显式复制(Bit-IndexedExplicit Replication,BIER)协议之类的新的多播树。这些从网络管理的角度来看是复杂的构造并且当内容的接收者的列表频繁变化时这些构造是过犹不及的。所需要的是一种机制,通过该机制多播状态可被(大部分)被从网络逐出,该机制由端点/边缘节点管理,其中多播(或多重递送)被携带在IP封包本身中,从而可完全由末端/边缘节点管理。
本文描述的多接收者递送(本文中也称为“多重递送”)实施例可解决与利用其中末端节点可管理内容递送的具备多重递送能力的IP网络(例如接收者和父亲内容节点都连接到的IP网络110)从给定的父亲内容节点(例如,父亲内容节点106)向多个接收者内容节点(例如,接收者内容节点102.1-102.N中的一个或多个)递送内容相关联的上述问题(以及其他问题)。概括而言,本文描述的实施例为内容分发提供了一种可靠的自组织多重递送解决方案,其在各种实施例中可包含信息中心联网(ICN)、比特索引显式复制(BIER)和分段路由(Segment Routing,SR)路由技术的元素,在分段路由(SR)路由技术中一个或多个内容请求节点(例如,接收者)可向内容发送节点(例如,发送者或父亲)单播基于IP的内容请求。在各种实施例中,内容请求可被承载在超文本传送协议(Hypertext Transfer Protocol,HTTP)/web技术或者诸如ICN协议家族之类的其他以内容为中心的联网技术上。
在一些实施例中,内容响应可被具备SR能力的IP网络可能利用例如快速UDP互联网连接(QUIC)协议组在用户数据报协议(UDP)会话上以HTTP响应的形式多重递送。包括识别源端口、目的地端口、UDP长度信息和UDP校验和的UDP头部可被包括在内容响应中。UDP和多播提供了向多个接收者发送内容1:R的能力,其中R>1,不像只提供1:1发送者/接收者关系的TCP。
在给定的发送者获得为其接收到内容请求的内容后,发送者可通过利用基于自组织网络的多播消息向所有接收者发送内容封包(本文中一般称为“内容封包”)来作出响应。本文论述的多重递送实施例可使得内容的发送者(例如,父亲内容节点)能够聚集来自一个或多个接收者内容节点的对相同内容的个体内容请求以便识别请求了相同内容的一个或多个接收者内容节点。如果识别了要接收内容的多个接收者内容节点,则父亲内容节点可在该内容可用时生成消息,该消息包括该内容并且还包括被附加、标记或以其他方式添加到消息的流元组信息的多重递送头部。多重递送头部可包括(一个或多个)识别符的列表,每个识别符对应于在多重递送头部中可识别的要接收该内容的接收者内容节点。如果只有一个接收者内容节点要接收该内容,则父亲内容节点可向该接收者内容节点发送单播消息。
在各种实施例中,多重递送头部可被格式化为分段路由头部(Segment RoutingHeader,SRH)或者特殊的互联网协议版本6(IPv6)扩展头部。从而,本文论述的自组织多重递送解决方案在各种实施例中可将现有的CCNx和NDN内容请求技术与IP路由技术相集成以利用内容响应消息中的SRH或IPv6扩展头部来识别要接收请求的内容的所有接收者,并且通过只发送单个消息,多个接收者接收该消息。这于是改进了CCNx和NDN技术,因为在CCNx和/或NDN中不存在这种能力,并且提供了构建具有HTTP/web和多重递送能力的ICN的能力。
参考图1B,图1B是图示出用于至少一个实施例的内容封包114的可能配置的简化示意图,在该至少一个实施例中为内容封包114配置了基于SRH的多重递送头部130。对于图1B的实施例,内容封包114可包括IP头部120、UDP头部128、SRH多重递送头部130和数据部分132。IP头部120可包括前导部分122、源地址部分124和目的地地址部分126。在至少一个实施例中,前导部分122可包括其他头部信息,例如传输协议标识、封包长度信息、服务类型信息、可包括IP封包头部的其他部分的各种标志、校验和、选项及其组合等等。UDP头部128可识别与封包相关联的源端口、目的地端口、UDP长度信息和UDP校验和。数据部分132可携带要被递送到一个或多个接收者内容节点的内容。
在IPv6-分段路由(SR)部署中,路由节点104.1-104.M、接收者内容节点102.1-102.N和父亲内容节点106可被配置为执行SR路由操作。一般而言,分段路由部署利用片段的有序列表在节点之间提供封包转向功能。当被用于IPv6体系结构(通常称为IPv6-SR体系结构)中并且支持多重递送功能时,SRH多重递送头部可携带内容要被递送到的接收者内容节点的IPv6地址。在至少一个实施例中,SRH多重递送头部130可携带识别要接收特定内容的每个接收者内容节点的IPv6地址的列表。SRH多重递送头部可携带如本文进一步详细论述的其他SRH相关信息(例如,标志,等等)。
在一些实施例中,从多个接收者发送的对相同内容的内容请求可与每个接收者的相同源端口值相关联。在这种实施例中,与对相同内容的请求相关联的内容封包的SRH多重递送头部130可只包括识别要接收该内容的每个接收者内容节点的IPv6地址并且UDP头部128将包括被设置到从每个接收者接收的源端口值的目的地端口值并且内容封包的源端口值将被设置到父亲内容节点106的关联端口。在各种实施例中,UDP端口值可以是16比特值。
然而,在其他实施例中,从多个接收者发送的每个内容请求的源端口可与每个接收者的不同源端口ID相关联。在这种实施例中,与对相同内容的请求相关联的内容封包的SRH多重递送头部130可包括识别要接收该内容的每个接收者内容节点的IPv6地址的列表并且还包括与要接收该内容的每个接收者内容节点相关联的UDP目的地端口值的列表。这种实施例的UDP头部120可包括被设置到默认多播端口值或者设置到可促进将封包从父亲内容节点106注入到IP网络110中去往网络中的第一路由节点的任何其他端口值的目的地端口值。
在一些实施例中,给定的接收者的IPv6地址和UDP端口可被存储在交替的每个接收者的IPv6地址后跟UDP端口值的对中并且可被统称为每个接收者的ID(例如,列表中的第一值对应于第一接收者的IPv6地址,列表中的第二值对应于第一接收者的UDP端口,其中第一和第二值被认为是第一接收者的ID,列表中的第三值对应于第二接收者的IPv6地址,列表中的第四值对应于第二接收者的UDP端口,其中第三和第四值被认为是第二接收者的ID,对于要接收相同内容的所有接收者依此类推)。应当理解,取决于对本文描述的各种实施例的需求和实现方式,在本公开的教导内可设想到为接收者存储IPv6和UDP对的其他编码方案。例如,N个128比特IPv6地址的列表可后跟N个16比特UDP端口,被紧密打包或者其他编码方案可被使用。
一般而言,IPv6地址可利用比如[XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX]之类的十六进制格式来表示,其中在64个最高有效比特(Most Significant Bit,MSB)中识别网络前缀并且在剩余比特中识别64比特接口识别符。
参考图1C,图1C是图示出用于至少一个实施例的内容封包114的可能配置的简化示意图,在该至少一个实施例中为内容封包114配置了基于IPv6的多重递送头部150。对于图1C的实施例,内容封包114可包括IP头部140、UDP头部148、IPv6多重递送头部150和数据部分152。IP头部140可包括前导部分142、源地址部分144、目的地地址部分146。在至少一个实施例中,前导部分142可包括其他头部信息,例如封包长度信息、服务类型信息、各种标志、校验和、选项、这些的组合,等等。UDP头部148可识别与封包相关联的源端口、目的地端口、UDP长度信息和UDP校验和。数据部分152可携带要被递送到一个或多个接收者内容节点的内容。
在IPv6部署中,路由节点104.1-104.M、接收者内容节点102.1-102.N和父亲内容节点可被配置为执行例如IETF请求评议(Request For Comments,RFC)2460中定义的IP路由操作。在一些实施例中,IPv6多重递送头部150可被配置为IPv6扩展头部,该IPv6扩展头部可包括识别相同内容封包114要被递送到的一个或多个接收者节点的每一者的(一个或多个)128比特IPv6地址的列表。在其他实施例中,IPv6多重递送头部150也可被增强来包括与内容要被递送到的一个或多个接收者节点的每一者相关联的UDP目的地端口值的列表(例如,如上文对于SRH多重递送头部130所述)。
再次转到图1A,在至少一个实施例中,可靠的自组织多重递送决方案可具体针对支持从集中式父亲内容节点(例如,父亲内容节点106)向一个或多个接收者内容节点(例如,接收者内容节点102.1-102.N中的一个或多个)递送内容。(一个或多个)接收者内容节点可向父亲内容节点请求实况、线性、视频点播(Video on Demand,VoD)媒体等等,并且父亲内容节点可根据至少一个实施例利用单个数据传输向接收者内容节点的精确集合发送。在至少一个实施例中,父亲内容节点可依赖于IP网络110来进行高效和/或最优的封包递送和基于网络的封包复制技术。
考虑一个操作示例,其中,接收者内容节点102.1-102.N中的一个或多个,比如接收者内容节点102.1和接收者内容节点102.2各自请求相同的基于HTTP的动态自适应流(Dynamic Adaptive Streaming over HTTP,DASH)或HTTP实况流(HTTP Live Streaming,HLS)媒体片段,它们在本文中可被概括称为“内容”。每个内容请求可被封装在可包括流元组信息以及请求的内容名称的内容请求封包中(例如,用于接收者内容节点102.1的内容请求封包112.1和用于接收者内容节点102.2的内容请求封包112.2)。在一些实施例中,内容请求可包括对于一些DASH或HLS媒体片段的快速UDP互联网连接上的HTTP(HTTP-over-Quick UDP Internet Connections,HTTP-o-QUIC)GET请求。
每个内容请求封包112.1、112.2可经由一个或多个路由节点(例如,路由节点104.1-104.M中的一个或多个)被发送到父亲内容节点(例如,父亲内容节点106),请求的媒体片段被存储在该父亲内容节点处或者可在该父亲内容节点处被取回(例如,从另一内容节点、层等等取回)。
假设,对于本操作示例,请求的媒体片段被存储在父亲内容节点106处。父亲内容节点106可组合对于相同媒体片段的个体内容请求,并且当该内容变得可用时,父亲节点可利用用于包括该内容的封包(例如,内容封包114)的流的单个封包传输将该内容发送到每个接收者内容节点102.1、102.2。在各种实施例中,父亲内容节点106可使用基于定时器的触发、基于计数的触发或者这些的组合等等来确定对于相同内容何时接收到阈值数目的内容请求。
父亲内容节点106在该流的一个或多个内容封包114中可包括识别封包要被递送到的(一个或多个)接收者内容节点的多重递送头部。在对于内容只有单个接收者的情况下,父亲内容节点可向该单个接收者发送单播消息传输。
多重递送头部可与其他流元组信息和请求的内容被封装在一起并且被利用IP网络110的路由节点104.1-104.M中的一个或多个递送到每个识别的接收者内容节点(例如,接收者内容节点102.1、102.2)。当发送者(例如,父亲内容节点106)发送多重递送内容封包(例如,内容封包114)时,其基于其自己的基于IP的路由信息库(Routing InformationBase,RIB)和/或转发信息库(Forwarding Information Base,FIB)(在本文中称为“RIB/FIB”)选择支持多重递送的第一或中间路由节点(例如,路由节点104.M)作为目的地。RIB或路由表一般表示用于由节点(例如,路由器)获悉的所有路由和/或目的地的路由表,而FIB一般表示可由路由算法、协议等等选择的RIB路由和/或目的地的子集,以识别用于在网络中路由封包的优化的和/或优选的路由和/或目的地。对于这里在本说明书中描述的实施例而言,术语“RIB”和“FIB”在这里可被互换使用。
接收者内容节点102.1-102.N、路由节点104.1-104.M和父亲内容节点106的每一者可被配置有基于IP的RIB和/或FIB以便执行封包路由或转发操作。下面示出的表格1例示了根据本公开的至少一个实施例可与可为父亲内容节点106配置的示例RIB相关联的各种示例细节,并且下面也示出的表格2例示了可与可为路由节点104.M配置的示例RIB相关联的各种示例细节。
表格1:示例父亲内容节点106RIB
Figure BDA0002168093050000111
Figure BDA0002168093050000121
表格2:示例路由节点104.M RIB目的地ID下一跳成本
目的地ID 下一跳 成本
RCN 102.1ADDR[XX...XX] RN 104.1ADDR[XX...XX] ##
RCN 102.2ADDR[XX...XX] RN 104.2ADDR[XX...XX] ##
RCN 102.N ADDR[XX...XX] RN 104.2ADDR[XX...XX] ##
如表格1和2中所示,RIB可包括目的地识别符(ID)(例如,IP地址、标签等等)的列表、识别封包为了到达目的地而要被路由到的下一跳的下一跳信息并且可选地包括成本信息,成本信息可指示出与封包要被传输经过的路径相关联的路由成本或度量。根据各种实施例的其他信息,例如接口信息(例如,源/目的地端口、接口号等等)、网关、介质接入控制(Medium Access Control,MAC)信息、传送模式或协议、这些的组合,等等。
返回到本操作示例,父亲内容节点106可:基于RIB/FIB查找选择路由节点104.M来接收内容封包114以确定路由节点104.M是接收要被递送到接收者内容节点102.1和102.2的封包的下一跳;相应地填充封包的前导(例如,基于用于部署类型的配置等等);将源地址设置为对应于父亲内容节点106的地址;将目的地地址设置为默认地址;设置任何UDP相关端口信息;生成多重递送头部来识别接收者节点102.1和接收者节点102.2(例如,IPv6地址);并且将内容封包114发送到路由节点104.M。在至少一个实施例中,默认地址可以是可用于本文描述的多重递送实施例的默认多播地址。在另一实施例中,默认地址可以是可促进将封包从父亲内容节点106注入到IP网络110中去往路由节点104.M的任何地址。
当路由节点接收到包括多重递送头部的内容封包时,它可分析该头部并且将头部中列出的接收者与基于IP或基于SR的RIB/FIB相比较。基于对多重递送头部中包含的所有识别信息(例如,IP地址和可能包含的UDP端口值)的路由分析和利用该信息与其存储的RIB/FIB相比较的查找,路由节点可执行以下各项的任何一者:(a)确定内容封包要被发送到其RIB/FIB所规定的下一跳路由节点,如果必要的话可能更新多重递送头部中的一个或多个地址以及可能更新UDP端口值,并且将带有多重递送头部的内容封包转发到下一跳路由节点;(b)确定内容封包要沿着IPRIB/FIB所规定的发散路径被发送,识别并选择IP RIB/FIB所规定的路径(例如,其他路由节点),为每个发散路径复制内容封包,对于每个发散路径将多重递送头部分割成多个多重递送头部,可能更新每个多重递送头部以识别每个复制的内容封包要被递送到的(一个或多个)接收者内容节点的列表并且将每个复制的内容封包与其多重递送头部一起通过所选路径独立传输;或者(c)确定在多重递送头部中只识别了一个接收者内容节点,利用多重递送头部中的单个剩余接收者内容节点地址替换内容封包的目的地IP地址以及可能的目的地UDP端口值,去除多重递送头部并且将内容封包单播到接收者内容节点(例如,最后一跳始终是单播)。步骤(b)对于避免给定接收者处的封包重复是重要的。
对于本操作示例,路由节点104.M可分析多重递送头部中识别的地址和可能的UDP端口值并且执行RIB/FIB查找以确定其要将内容封包转发到路由节点104.1以便将内容封包递送到接收者内容节点102.1并且要将内容封包转发到路由节点104.2以便将内容封包递送到接收者内容节点102.2。基于该确定,路由节点104.2可执行如(b)中所述的操作以:对于发散路径将多重递送头部分割成多个多重递送头部,其中每个多重递送头部只识别一个接收者内容节点;对于每个发散路径复制内容封包以生成内容封包116.1和内容封包116.2并且将各个复制的内容封包116.1、116.2与其相应的多重递送头部一起通过所选路径独立地发送到每个路由节点104.1、104.2。
对于本操作示例,内容封包116.1的多重递送头部将识别接收者内容节点102.1并且内容封包116.2将识别接收者内容节点102.2。
在接收到内容封包116.1后,路由节点104.1可分析识别接收者内容节点102.1的多重递送头部中识别的地址和可能的UDP端口值并且利用该地址执行RIB/FIB查找以确定其要将内容封包转发到接收者内容节点102.1(而不是另一路由节点)。基于该确定,路由节点104.1可执行如(c)中所述的操作以:利用与接收者内容节点102.1相对应的多重递送头部中的单个剩余接收者内容节点地址替换内容封包的目的地IP地址和可能的UDP目的地端口值,从内容封包中去除多重递送头部以形成内容封包118.1,并且将内容封包118.1单播到接收者内容节点102.1。
以类似的方式,路由节点104.2在接收到内容封包116.2后可分析识别接收者内容节点102.2的多重递送头部中识别的地址并且利用该地址执行RIB/FIB查找以确定其要将该内容封包转发到接收者内容节点102.2(而不是另一路由节点)。基于该确定,路由节点104.2可执行如(c)中所述的操作以:利用与接收者内容节点102.2相对应的多重递送头部中的单个剩余接收者内容节点地址替换内容封包的目的地IP地址和可能的UDP目的地端口值,从内容封包中去除多重递送头部以形成内容封包118.2,并且将内容封包118.2单播到接收者内容节点102.2。虽然在图1A的实施例中没有示出,但如果内容也要被发送到RCN102.N,则只需要从RN 104.M到RN 104.2的对内容封包116.2.2的单次传输来将内容递送到RCN 102.2和RCN 102.N两者。RN 104.2随后可复制接收到的内容封包以将内容递送到RCN102.2和RCN 102.N的每一者。
从而,如对于本操作示例所示,通信系统100可提供一种系统和方法来促进使用可用于识别所有内容封包目的地的多重递送头部的可靠自组织多播内容递送,这可使得例如IP网络110这样的基于IP的网络能够为这种封包确定高效和/或最优的封包转发。通信系统100提供的系统和方法对于利用内容递送节点应用在网络上递送实况/线性以及甚至VoD媒体可尤其有用。
在一些实施例中,由于(b)对于现有的基于IP的部署中的IP路由器可能实现起来是昂贵的,所以多重递送头部中识别的接收者的列表随着特定的内容封包穿过网络可不受触动地行进并且多重递送头部可被配置为额外地携带类似BEIR的位图,该位图可用于选择多重递送头部中的哪些单播地址(例如,哪些接收者内容节点)是仍适用的。
在传统的BIER路由部署中,BIER位图头部被与穿过BIER网络的封包包括在一起。提供对传统的BIER部署中的路由的简要论述;然而,此论述并不打算限制本公开的教导的宽广范围,而是提供来例示传统的BIER部署和可为本文论述的各种多重递送实施例配置的类似BIER的位图之间的差别。当传统的BIER部署中的具备BIER能力的路由器接收到包括BIER位图的封包时,该路由器利用比特索引转发表(Bit IndexForwarding Table,BIFT)执行转发查找以确定封包为了到达特定的目的地而要被转发到的下一跳邻居路由器。如果对于发散路径需要复制,则路由器可复制封包,基于其要将复制的封包转发到的目的地复制位图中的(一个或多个)比特并且将封包朝着目的地转发。
对于本文论述的一些多重递送实施例,多重递送头部可被配置为携带给定的内容封包要被递送到的一个或多个接收者节点的列表并且还携带类似BIER的多重递送位图,其中该位图中的每个比特对应于多重递送头部的接收者列表部分中识别的特定接收者内容节点。在这种实施例的分叉点,对于复制的封包只更新多重递送位图,使得位图的比特可被重置(例如,从逻辑1重置到0或者反之,这取决于配置)以指示出给定的复制内容封包要被递送到的(一个或多个)接收者地址和可能的(一个或多个)UDP目的地端口值,而多重递送中所包括的地址可保持不变。
随着内容封包穿过IP网络的路由节点,位图的比特将被重置,直到只有一个接收者被识别,并且内容封包可被单播发送到所识别的接收者,如上文对于(c)所述。从而,在至少一些实施例中,路由节点可利用多重递送头部中识别的地址和可能的UDP端口值基于在伴随头部的位图中哪些比特被设置来执行RIB/FIB查找以确定(一个或多个)封包转发路径。因此,可靠的自组织多重递送解决方案当在整个具备多重递送能力的IP网络110中转发内容封包时可包含类似BIER的和/或SR路由机制,同时也将高效的和/或最优的基于RIB/FIB的IP路由机制考虑在内。
尤其是在存在与为特定流转发封包相关联的许多单播递送的情况下,多重递送头部中保持的状态(例如,路由决策)的量可能是巨大的。在一些实施例中,为了避免必须在同一IP串流或IP流的每一个封包中包括巨大的多重递送头部,可靠的自组织多重递送解决方案可规定要作为同一IP流的一部分递送的封包可遵循与给定IP流的初始封包相同的路径。在这种实施例中,随着给定流的初始封包在其被递送到一个或多个接收者内容节点的途中沿着初始封包的路径穿过(一个或多个)路由节点,IP头部或多重递送头部中的一个或多个比特可被设置以告知沿着该路径的每个路由节点为该初始封包缓存多重递送头部以及该流与对于该封包的任何(一个或多个)路由决策的关联;从而,提供了为IP网络110的路由节点104.1-104.M建立临时多播状态的能力。对于多播状态信息要被存储在路由节点处的实施例,该信息可被存储在可由路由节点维护的多播状态表中。
随着给定流的后续封包在(一个或多个)路由节点处被接收,这些封包可被识别为属于为其存储临时多播状态的流并且可根据该状态(例如,根据为该流存储的(一个或多个)先前路由决策)被转发。从而,同一IP流的后续封包可遵循该流的第一封包传输的路径。由于路由器缓存可周期性地超时,所以在一些实施例中可为持久的封包流周期性地包括多重递送头部以周期性地刷新这些缓存。
如果多重递送头部是利用SRH格式来配置的,则SRH的标志或预留字段中的或者封包的目的地IP地址中的一个或多个比特可被用于指示为了高效的自组织多重递送复制对SRH多重递送头部的使用以告知具备SR能力的IP路由节点关于一个或多个流的每个封包的特定行为和处置。例如,这在一些实施例中可包括向路由节点指示出为某个流缓存多重递送头部和/或为该流的每个封包缓存任何(一个或多个)路由决策。在另一实施例中,如果多重递送头部要被用作IPv6多重递送头部,则其可被配置为IPv6扩展头部,从而使得其是自描述的。
根据至少一个实施例,为了解决初始部署问题,例如在多重递送头部不被路由节点所理解的情况下,多重递送解决方案可被实现在一种IP网络中,在该IP网络中稀疏多重递送路由器覆盖可被部署来解决多重递送路由。在这种实施例中,覆盖路由器可被用作下一跳以解析多重递送头部并找到高效的(虽然可能不是最优的)网络路由。这些覆盖路由器必须被提供以网络拓扑以便利用底层网络拓扑来执行转发。
本文图示和描述的多接收者递送实施例提供了若干个优点或益处。在至少一个实施例中,本文论述的实施例提供的可靠自组织多重递送解决方案的一个益处可以是在现有的(具备SR能力的)IP网络上高效且可靠地递送媒体(例如,实况、线性和/或VoD等等)。这可通过扩展SR或IPv6路由技术的适用性来实现,使得父亲内容节点可在多重递送头部内列出要接收特定内容的所有(一个或多个)接收者,该多重递送头部可与给定IP流的一个或多个封包的流元组信息附加、标记或以其他方式包括在一起。
另外,通过管理父亲内容节点向接收者的递送,接收者内容节点可以单个单播消息的形式接收多播内容,这意味着在接收者处不需要更改现有的基于主机的IP栈。因此,本文提供的多重递送方法可带来高效甚至最优的封包递送并且可使得接收者应用软件能够在其标准IP栈中接收封包,就好像封包一开始就是被单播的一样。
除了请求/响应型的多重递送以外,本文描述的实施例还可用于在特定边缘节点处预放置内容。另外,在一些实施例中,可被包括在多重递送头部中的单播地址可被使用来指向个体的基于现有网络的多播树。此外,本文论述的实施例既可提供初始内容请求也可提供重传请求,这两者都是利用相同的多重递送分发机制来促进的。例如,如果多重递送的数据封包丢失,则接收者可要求在为给定流建立的同一个可靠自组织多重递送树上对个体封包、封包范围或整个内容的重传,并且该流的每个封包对于封包递送可使用其自己的自组织可靠多重递送树。从而,初始内容请求和重传请求两者都可使用由本文论述的多重递送解决方案提供的相同的多重递送分发机制。
关于通信系统100的基础设施,通信系统100可包括一个或多个网络,例如IP网络110,这些网络可表示用于接收和发送通过这一个或多个网络传播的消息(例如,信息的封包)的互连的通信路径的一系列点或节点。这些节点提供了节点(例如,接收者内容节点102.1-102.N、父亲内容节点106、路由节点104.1-104.M)之间的通信接口。例如IP网络110这样的网络可包括通过通信介质耦合到彼此(并且与彼此通信)的任何数目的硬件和/或软件元素。这种网络可包括但不限于任何局域网(local area network,LAN)、虚拟局域网(virtual local area network,VLAN)、例如互联网之类的广域网(wide area network,WAN)、无线局域网(wireless local area network,WLAN)、城域网(metropolitan areanetwork,MAN)、内联网、外联网、虚拟专用网(virtual private network,VPN)、可促进网络环境中的通信的任何其他适当的体系结构或系统或者这些的任何适当组合。
通信通过其在通信系统100中传播的网络可为通信使用任何适当的技术,包括无线(例如,3G/4G/5G/nG网络、2012年3月29日发布的电气与电子工程师学会(Institute ofElectrical and Electronics Engineers,IEEE)标准802.11TM-2012、WiMax、2012年8月17日发布的IEEE标准802.16TM-2012、射频识别(Radio-frequency Identification,RFID)、近场通信(Near Field Communication,NFC)、BluetoothTM等等)和/或有线(例如,T1线路、T3线路、数字订户线路(digital subscriber line,DSL)、以太网等等)通信。概括而言,可使用任何适当的通信手段,例如电、声、光、红外和/或无线电。
对于图1A的实施例,IP网络110表示在其中可配设本文描述的多重递送实施例的一个或多个网络。在至少一些实施例中,IP网络可被配置成使得各种节点(例如,接收者内容节点、父亲内容节点等等)可促进内容节点之间的基于内容的通信。
网络环境中的通信在本文中可被称为“消息”、“消息传递”、“信令”、“数据”、“内容”、“对象”、“请求”、“查询”、“响应”、“答复”等等,它们可包括封包。概括而言,信令是就控制平面或管理平面封包而论的,而消息传递可以是就在应用级为通信交换的控制平面、管理平面或数据平面封包而论的。
封包是格式化数据单元并且既可包含控制信息(例如,源和目的地地址等等)也可包含数据,数据也被称为有效载荷。在一些实施例中,控制信息可被包括在封包的头部和尾部中。可根据任何适当的通信协议来发送和接收消息。适当的通信协议可包括多层方案,例如开放系统互连(Open Systems Interconnection,OSI)模型,或者其任何衍生或变体。
本文使用的术语“数据”、“信息”、“内容”和/或“参数”可以指能够利用电子系统(例如,服务器、节点、路由器、计算设备、计算节点、客户端节点、源节点、接收者内容节点、父亲内容节点等等)和/或网络从一个点传输到另一点的任何类型的二进制、数值、语音、视频、文本、照片或脚本数据或信息或者任何类型的源代码或目标代码,或者采取任何适当格式的任何其他适当的数据或信息。
就这里在本说明书中提及的而言,“IP流”或“IP串流”可以指可利用流元组信息(一般称为“流掩码”)来识别的封包的序列,该流元组信息例如是2元组、5元组、6元组、7元组流掩码或者可提供对属于特定IP流的每个封包的一致识别的任何其他流掩码。2元组流掩码可识别封包的源IP地址和目的地IP地址。5元组流掩码可识别封包的源IP地址、目的地IP地址、源端口、目的地端口和传输协议。6元组流掩码除了5元组流掩码信息以外还可包括隧道端口识别符信息。7元组流掩码除了6元组流掩码以外还可包括附接电路识别符(例如,虚拟局域网(VLAN)识别符、多协议标签交换(Multiprotocol Label Switching,MPLS)标签等等)。其他流掩码可被设想到和/或可由诸如3GPP、电气与电子工程师学会(IEEE)、互联网工程任务组(Internet Engineering Task Force,IETF)、欧洲电信标准学会(EuropeanTelecommunications Standards Institute,ETSI)之类的标准设置组织根据本文描述的各种实施例为IP封包标准化。
在各种实施例中,通信系统100在本公开的特定实施例中可实现用户数据报协议/互联网协议(UDP/IP)连接和/或传输控制协议/IP(TCP/IP)连接。然而,通信系统100可替换地实现任何其他适当的通信协议、接口和/或标准,专属的和/或非专属的,用于发送和接收消息传递和/或信令。
术语“节点”、“路由器”或其变体可包括用于在网络中发送和/或响应通信(例如,内容请求封包、内容封包等等)的设备,例如计算机、诸如IoT设备之类的电子设备(例如、家电、恒温器、传感器、停车计时器等等)、个人数字助理(personal digital assistant,PDA)、膝上型或电子笔记本、游戏系统、车辆信息娱乐系统、智能电视、蜂窝电话、IP电话、具有蜂窝和/或Wi-Fi连接能力的电子设备、可穿戴电子设备或者能够发起通信系统100内的语音、音频、视频、媒体或数据交换的任何其他设备、组件、元件或物体。节点或路由器还可包括到人类用户的适当接口,例如麦克风、显示器、键盘器或者其他终端设备。
节点或路由器也可以是寻求代表另一实体或元件发起通信的任何设备,例如程序、应用、数据库或者任何其他能够在通信系统100发起交换的组件、设备、元件或者物体。在通信系统100内,可利用动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)、无状态地址自动配置(Stateless Address Auto-configuration,SLAAC)或者其任何适当的变体来指派IP地址(例如,关于接收者内容节点102.1-102.N、路由节点104.1-104.M、父亲内容节点106等等的)。通信系统100内使用的IP地址可包括IP版本4(IPv4)和/或IPv6地址。
在至少一些实施例中,接收者内容节点102.1-102.N和/或可能父亲内容节点106中的一个或多个可与经由IP网络110在通信系统100中通信的用户相关联。在其他实施例中,(一个或多个)接收者内容节点和/或可能父亲内容节点106中的一个或多个可在独立于用户交互地操作的同时经由IP网络110促进数据交换。虽然本文描述了涉及接收者内容节点或者父亲内容节点的各种功能,但应当清楚,节点可被配置为既充当接收者也充当父亲内容节点。例如,在一些实施例中,如果内容节点存在于其中的内容网络被作为层次体系来维护,则父亲内容节点本身可以是接收者和/或接收者内容节点可以是父亲内容节点。例如,在IP网络110上建立的视频会议呼叫可包括与各个用户相关联的节点,并且被配置为既充当视频内容的父亲也充当视频内容的接收者。从而,可按任何适当的布置或配置来配设接收者内容节点102.1-102.N和父亲内容节点106的元件以实现接收者内容节点、父亲内容节点或者其适当组合的操作特征。
参考图2A,图2A是图示出根据通信系统100的一个潜在实施例可与可为类似BIER的多重递送用例执行的路由操作相关联的示例细节的简化框图200,在该实施例中类似BIER的多重递送位图被包括在各种多重递送内容封包中。图2B-图2H是图示出可与图2A的示例用例相关联的各种封包的示例细节的示意图。图2A包括IP网络110、接收者内容节点(RCN)102.1-102.N、路由节点(RN)104.1-104.M和父亲内容节点(PCN)106。对于图2A的实施例,假定RCN 102.1和RCN 102.2各自向PCN 106发送对相同内容的内容请求。然而,应当理解,任何数目的RCN可向任何内容节点发送内容请求,该内容节点可为这些请求获得内容。对于图2A的实施例,内容封包的多重递送头部可与SRH多重递送头部(在图2A中没有示出如下文进一步详细论述的SRH前导,这只是为了简洁)或者IPv6多重递送头部相关联。
对于本实施例的类似BIER的位图用例,RCN 102.1可向RN 104.1发送如图2B中所示的内容请求封包202.1以便递送到PCN 106并且RCN 102.2可向RN 104.2发送如图2C中所示的内容请求封包202.2以便递送到PCN 106。如图2B中所示,内容请求封包202.1可包括IP头部210.1、UDP头部214.1和内容名称识别符部分215.1。IP头部210.1可包括前导部分211.1、被设置到RCN 102.1的地址的源地址部分212.1和被设置到PCN 106的地址的目的地地址部分213.1。UDP头部214.1可识别与请求的内容相关联的RCN 102.1的源端口值(例如,被指派或配置为处理内容的端口)、与请求的内容相关联的PCN 106的目的地端口值、UDP长度信息和UDP校验和。
内容名称识别符部分215.1可被设置为指示RCN 102.1在请求的特定内容片段,比如/cisco/<medialD>/video/<frameID>/<segment#>。一般而言,内容名称识别符部分可类似于HTTP统一资源定位符(Uniform Resource Locator,URL)或ICN名称。
如图2C中所示,内容请求封包202.2可包括IP头部210.2、UDP头部214.2和内容名称识别符部分215.2。IP头部210.2可包括前导部分211.2、被设置到RCN 102.2的地址的源地址部分212.2和被设置到PCN 106的地址的目的地地址部分213.2。UDP头部214.2可识别与请求的内容相关联的RCN 102.2的源端口值、与请求的内容相关联的PCN 106的目的地端口值、UDP长度信息和UDP校验和。内容名称识别符部分215.2可被设置为指示与内容请求封包202.1中包括的相同的内容片段。
如上所述,在一些实施例中,RCN 102.1的源端口值和RCN 102.2的源端口值对于这些内容请求可以是相同值。在其他实施例中,每个RCN的源端口值可以是不同值。取决于系统被配置成使得每个RCN使用相同还是不同的值,可确定包括多重递送头部的内容封包是只包括接收者的IPv6地址还是包括IPv6地址并且也包括接收者的UDP端口值。对于图2A的实施例,假定RCN 102.1对于内容请求202.1的源端口值和RCN 102.2对于内容请求202.2的源端口值是相同的。
可利用基于IP的RIB/FIB查找经由RN 104.1-104.M通过IP网络110路由内容请求封包202.1、202.2,直到请求封包到达PCN 106为止。对于本实施例的比特索引用例,假定内容在PCN 106处变得可用,PCN 106或者可以在该处已经存储了内容,或者可从网络中的另一内容节点接收或取回内容。一旦内容可用,PCN 106就可生成内容封包的流以将内容传输到每个接收者内容节点102.1、102.2。PCN 106可执行RIB/FIB查找以选择RN 104.M作为第一或中间路由节点来从PCN 106接收封包的流以便递送到RCN 102.1和102.2。内容封包的流可开始于如对于图2D所述的初始内容封包204被发送到RN 104.M。
PCN 106可生成内容封包204来(如图2D中所示)包括IP头部220、UDP头部224、多重递送头部230和数据部分240。IP头部220包括前导部分221、被设置到PCN 106地址的源地址部分222、被设置到默认地址(例如,为IP网络110设置的默认多播地址或者使得封包行进到第一路由器以去往IP网络的任何其他目的地地址)的目的地地址部分223。对于图2A的实施例,UDP头部224可识别被设置到与内容相关联的PCN 106的源端口的源端口值、被设置到每个RCN 102.1、102.2的源端口的值(例如,对于本实施例被假定相同)的目的地端口值、UDP长度信息和UDP校验和。多重递送头部230包括接收者列表部分231和多重递送位图部分232。内容封包204还包括可携带请求的内容的一部分的数据部分240。
接收者列表部分231可被设置为包括与RCN 102.1相关联的第一识别符(ID)值和与RCN 102.2相关联的第二ID值。在至少一个实施例中,每个ID值可被设置为与每个RCN相关联的IPv6地址。在另一实施例中,每个ID值可对应于与每个RCN相关联的IPv6地址和UDP端口。可设想到其他ID(例如,其他IP地址类型等等)来与根据本公开的教导的多重递送头部一起使用。
对于本实施例的类似BIER的位图用例,多重递送位图部分232可包括2比特位图,其中每个比特与接收者列表部分231中所包括的ID值相关联。对于本实施例,假定最低有效比特(least significant bit,LSB)对应于接收者列表部分231中的第一ID值(RCN 102.1ID)并且MSB对应于接收者列表部分231中的最末ID值(RCN 102.2 ID)。对于本实施例例示的比特与接收者列表对应关系只是为了例示提供的,而并不打算限制本公开的教导的宽广范围。应当理解,根据本文描述的实施例可为给定的通信系统配置任何比特与接收者列表对应关系。
在接收到内容封包204后,RN 104.M可分析多重递送头部230,尤其是多重递送位图部分232,来确定该内容封包要被递送到内容封包204的接收者列表部分231中识别的第一和第二接收者(例如,由于多重递送位图部分232的第一比特(LSB)和最末比特(MSB)被设置为逻辑1)。利用接收者列表部分231中所包括的RCN 102.1 ID和RCN 102.2 ID和封包的任何其他流元组信息,RN 104.M可在其RIB/FIB上执行查找以确定内容要沿着发散路径被发送以便被递送到RCN 102.1、102.2。基于该确定,RN 104.M可将多重递送头部分割成两个头部并且可复制内容封包以使得每个复制的封包可沿着发散路径被发送。
RN 104.M可生成如图2E中所示的内容封包206.1以朝着RCN 102.1发送并且可生成如图2F中所示的内容封包206.2以朝着RCN 102.2发送。如图2E中所示,内容封包206.1包括IP头部250.1、UDP头部254.1、多重递送头部260.1和数据部分270.1。IP头部250.1包括前导部分251.1、被设置到PCN 106地址的源地址部分252.1和被设置到默认地址的目的地地址部分253.1。对于图2A的实施例,UDP头部254.1识别与PCN 106相关联的源端口值、被设置到每个RCN 102.1、102.2的源端口值(例如,对于本实施例被假定相同)的目的地端口值、UDP长度信息和UDP校验和。多重递送头部260.1包括接收者列表部分261.1和多重递送位图部分262.1。内容封包206.1还包括可携带在内容封包204的数据部分240中接收到的内容的部分的数据部分270.1。
对于接收者列表部分261.1,第一ID保持不变并且被设置到RCN 102.1 ID值并且第二ID保持不变并且被设置到RCN 102.2 ID值。对于多重递送位图部分262.1,RN 104.M可重置MSB,同时维持LSB被设置到逻辑1值(例如,为了将RCN 102.1 ID值识别为活跃来路由内容封包206.1)。
通过在内容封包的多重递送头部内提供多重递送位图部分,IP网络中的路由节点不必更新接收者列表以避免在RCN 102.1处接收到同一封包的重复。反而,可执行对多重递送头部的多重递送位图部分的更新以避免封包重复。RN 104.M可基于利用RCN 102.1 ID的RIB/FIB查找将内容封包206.1发送到RN 104.1。
如图2F中所示,内容封包206.2可包括IP头部250.2、UDP头部254.2、多重递送头部260.2和数据部分270.2。IP头部250.2包括前导部分251.2、被设置到PCN 106地址的源地址部分252.2和被设置到默认地址的目的地地址253.2。对于图2A的实施例,可如上文对于内容封包206.1所述那样设置UDP头部254.2值。多重递送头部260.2包括接收者列表部分261.2和多重递送位图部分262.2。内容封包206.2还包括可携带在内容封包204的数据部分240中接收到的内容的部分的数据部分270.2。
对于接收者列表部分261.2,第一ID保持不变并且被设置到RCN 102.1 ID值并且第二ID也保持不变并且被设置到RCN 102.2 ID值。对于多重递送位图部分262.2,RN 104.M可重置LSB,同时维持MSB被设置到逻辑1值(例如,为了将RCN 102.2 ID值识别为活跃来路由内容封包206.2)。以这种方式,可避免在RCN 102.2处接收到同一封包的重复。RN 104.M可基于利用RCN 102.2 ID的RIB/FIB查找将内容封包206.2发送到RN 104.2。
如前所述,对于同一路径上的接收者内容节点只需要单次传输。如果内容也要被发送到RCN 102.N,则只需要从RN 104.M到RN 104.2的对内容封包206.2的单次传输来将内容递送到RCN 102.2和RCN 102.N两者。RN 104.2随后可复制接收到的内容封包以将内容递送到RCN 102.2和RCN 102.N的每一者。
返回到本示例,在接收到内容封包206.1后,RN 104.1可分析多重递送头部260.1,尤其是多重递送位图部分262.1,来确定该内容封包要被递送到内容封包206.1的接收者列表部分261.1中识别的第一接收者(例如,由于多重递送位图部分262.1的LSB被设置为逻辑1)。利用接收者列表部分261.1中所包括的RCN 102.1 ID,RN 104.1可在其RIB/FIB上执行查找以确定内容要被递送到RN 104.1与之直接接口的RCN 102.1。基于该确定,RN 104.1去除多重递送头部260.1并且更新目的地地址以生成可被发送到RCN 102.1的如图2G中所示的内容封包208.1。
如图2G中所示,内容封包208.1可包括IP头部280.1、UDP头部284.1和内容部分290.1。IP头部280.1包括前导部分281.1、被设置到PCN 106地址的源地址部分282.1和被设置到RCN 102.1地址的目的地地址部分283.1。对于图2A的实施例,可如上文对于内容封包206.1所述那样设置UDP头部284.1值。数据部分290.1可携带在内容封包206.1的数据部分270.1中接收到的内容。RN 104.1可基于利用RCN 102.1 ID的RIB/FIB查找将内容封包208.1单播发送到RCN 102.1。
在接收到内容封包206.2后,RN 104.2可分析多重递送头部260.2,尤其是多重递送位图部分262.2,来确定该内容封包要被递送到内容封包206.2的接收者列表部分261.2中识别的第二接收者(例如,由于多重递送位图部分262.2的MSB被设置为逻辑1)。利用接收者列表部分261.2中所包括的RCN 102.2 ID,RN 104.2可在其RIB/FIB上执行查找以确定内容要被递送到RN 104.2与之直接接口的RCN 102.2。基于该确定,RN 104.2可去除多重递送头部260.2并且更新目的地地址以生成可被发送到RCN 102.2的如图2H中所示的内容封包208.2。
如图2H中所示,内容封包208.2可包括IP头部280.2、UDP头部284.2和数据部分290.2。IP头部280.2包括前导部分281.2、被设置到PCN 106地址的源地址部分283.2和被设置到RCN 102.1地址的目的地地址部分282.2。对于图2A的实施例,可如上文对于内容封包206.2所述那样设置UDP头部284.2值。数据部分290.2可携带在内容封包206.2的数据部分270.2中接收到的内容。RN 104.2可基于利用RCN 102.2 ID的RIB/FIB查找将内容封包208.2单播发送到RCN 102.2。
从而,如图2A-图2F中所示,通信系统100可利用类似BIER的特征促进将内容递送到多个接收者。路由节点可利用多重递送头部中识别的地址和可能的UDP端口值基于在伴随头部的位图中哪些比特被设置来执行RIB/FIB查找以确定(一个或多个)封包转发路径。从而,通过将类似BIER的多重递送位图与多重递送头部包含在一起,可避免接收者内容节点处的封包重复并且也可避免对头部的接收者列表部分的更新,这与不将位图部分与多重递送头部包括在一起的实施例相比可提高路由效率。
参考图3A-图3B,图3A-图3B是图示出可与通信系统100的各种实施例相关联的各种内容封包的示例细节的简化示意图。具体地,图3A-图3B可与多重递送实施例相关联,在这些多重递送实施例中,可向路由节点104.1-104.M告知指示以为内容封包的特定流建立或更新临时多播状态。为内容封包的特定流建立或更新临时多播状态可包括缓存与流的初始封包包括在一起的多重递送头部,存储可用于识别流的(一个或多个)后续封包的任何流元组信息,并且还存储与初始封包相关联的要被应用到一个或多个后续封包的任何(一个或多个)路由决策。
参考图3A,图3A是图示出包括IP头部310、UDP头部314、SRH多重递送头部320和数据部分340的示例内容封包302的简化示意图。IP头部310可包括前导部分311、源地址部分312和目的地地址部分313。SRH多重递送头部320可包括SRH前导部分321、接收者列表部分322并且在一些实施例中可包括位图部分323。
在至少一个实施例中,SRH前导部分321可包括各种SRH字段,其中包括下一头部字段321.1、用于指示SRH多重递送头部320的长度的头部扩展长度(Hdr Ext Len)字段321.2、路由类型字段321.3、剩下片段字段321.4、第一片段字段321.5、标志字段321.6和预留字段321.7。在一个实施例中,接收者列表部分322可包括数据部分340中的内容要被递送到的每个接收者内容节点的128比特IPv6地址的列表。在另一实施例中,接收者列表部分322可包括数据部分340中的内容要被递送到的每个接收者内容节点的128比特IPv6地址和UDP端口值的列表。
在各种实施例中,标志字段321.6和/或预留字段321.7的一个或多个比特可被设置为指示路由节点要为特定流建立或更新临时多播状态。
参考图3B,图3B是图示出包括IP头部360、UDP头部364、IPv6多重递送头部370和数据部分380的示例内容封包352的简化示意图。IP头部360可包括前导部分361、源地址部分362和目的地地址部分363。IPv6多重递送头部370可包括接收者列表部分371并且在一些实施例中可包括位图部分373。在一个实施例中,接收者列表部分322可包括数据部分380中的内容要被递送到的每个接收者内容节点的128比特IPv6地址的列表。在另一实施例中,接收者列表部分322可包括数据部分340中的内容要被递送到的每个接收者内容节点的128比特IPv6地址和UDP端口值的列表。
在至少一个实施例中,前导部分361可包括版本字段361.1、流量类别字段361.2、流标签字段361.4、有效载荷长度字段361.4、下一头部字段361.5和跳限度字段361.1。在至少一个实施例中,下一头部字段361.5可被设置为指示下一头部具有扩展类型“多重递送头部”的值,该扩展类型可以是厂商定义的扩展类型。在一些实施例中,在IP头部的目的地地址部分之后可包括伪头部(未示出)并且伪头部可包括下一头部字段。在各种实施例中,在内容封包中可包括多个扩展头部以及上层协议头部(例如,UDP头部364)。
参考图4,图4是图示出根据通信系统100的一个潜在实施例可与能够促进网络环境中向多个接收者的内容递送的示例操作400相关联的示例细节的简化流程图。具体地,图4的实施例中所示的操作可与根据通信系统100的至少一个实施例可由父亲内容节点(例如,父亲内容节点106)执行的操作相关联。
在操作期间的任何时间,父亲内容节点可接收来自一个或多个接收者内容节点的对于相同内容的请求。从而,开始于402,操作可包括父亲内容节点确定多个接收者内容节点要接收相同内容。在一个实施例中,在402执行的确定可包括父亲内容节点确定已接收到阈值数目的对于相同内容的内容请求并且该内容可用来发送到接收者内容节点。在另一实施例中,在402执行的确定可包括父亲内容节点确定对于与内容请求相关联的请求定时器已达到阈值时间并且内容可用来发送到接收者内容节点。请求定时器可被设置为指示如下的阈值时间:在该阈值时间期间,父亲内容节点等待为相同内容接收到其他内容请求。在一个实施例中,请求定时器可在为特定内容接收到第一请求时被启动。如果在请求定时器期满时接收到对相同内容的其他请求,则父亲内容节点可将该内容单播到请求了该内容的单个接收者内容节点,而不在传输中包括多重递送头部。
在404,操作可包括父亲内容节点生成多重递送头部,该多重递送头部至少部分包括要促进将相同内容递送到多个接收者内容节点中的每一者的多个识别符。在一个实施例中,多个识别符可与IPv6地址相关联,从而使得每个IPv6地址识别内容要被递送到的相应接收者内容节点。在另一实施例中,多个识别符可与IPv6地址和UDP端口值对相关联,从而使得每个IPv6地址和UDP端口值对识别内容要被递送到的相应接收者内容节点。
在一个实施例中,404处的操作可包括父亲内容节点在生成多重递送头部之前确定内容可用。在这种实施例中,父亲内容节点可确定请求的内容当前是否被存储在父亲内容节点处。如果其当前未被存储在父亲内容节点处,则父亲可确定存储该内容的另一父亲内容节点并且向这种父亲内容节点请求该内容;从而将其角色从父亲内容节点变成接收者内容节点。
在406,操作可包括父亲内容节点将多重递送头部附加到与相同内容相关联的IP流的一个或多个封包,并且父亲内容节点可将IP流的封包发送到多个接收者内容节点中的每一者。在一个实施例中,406处的操作可包括父亲内容节点为IP流的每个封包附加多重递送头部。在另一实施例中,406处的操作可包括父亲内容节点只为IP流的初始封包附加多重递送头部。在另外一个实施例中,406处的操作可包括父亲内容节点为IP流的初始封包附加多重递送头部,然后基于流已持续的逝去时间、为流发送的封包的数目、这些的组合等等来向流的一个或多个后续封包附加头部。
操作可返回到402,在其中父亲内容节点可等待其他内容请求。在各种实施例中,父亲内容节点可被配置为并行地为多个内容片段处理多个请求、流等等。
参考图5A-图5D,图5A-图5D是图示出根据通信系统100的一个潜在实施例可与能够促进网络环境中向多个接收者的内容递送的示例操作500相关联的其他示例细节的简化流程图。具体地,图5A-图5D的实施例中所示的操作可与根据通信系统100的至少一个实施例可由路由节点(例如,任何路由节点104.1-104.M)执行的操作相关联。
在操作期间的任何时间,路由节点可接收要被朝着一个或多个接收者内容节点转发的内容封包。从而,如图5A中所示从502开始,操作可包括路由节点为IP网络内的IP流接收内容封包。取决于通信系统100的配置,内容封包可包括或不包括多重递送头部(例如,如果只为第一封包或者对于流的一个或多个后续封包包括头部的话)。在504,操作可包括路由节点分析内容封包以便确定(506)多重递送头部对于该内容封包是否存在。在一个实施例中,504处的分析可包括确定封包的IP头部的前导部分中的下一头部是否指示出IPv6多重递送头部存在。在另一实施例中,504处的分析可包括基于封包中所包括的SRH头部确定SRH多重递送头部对于封包是否存在。
基于在506处确定对于内容封包不存在多重递送头部,操作可继续到如图5C中所示和如下文进一步详细论述的538。基于在506处确定对于内容封包存在多重递送头部,操作可包括路由节点进一步确定(508)在多重递送头部中是否包括多重递送位图。
基于在508处确定在多重递送头部中包括多重递送位图,操作可包括路由节点在510基于在位图中为多重递送头部中列出的(一个或多个)相应接收者内容节点设置的(一个或多个)比特识别要接收该内容封包的一个或多个接收者内容节点。基于在508处确定在多重递送头部中不包括多重递送位图,操作可包括路由节点在512基于多重递送头部中列出的(一个或多个)接收者内容节点识别要接收该内容封包的一个或多个接收者内容节点(例如,利用多重递送头部中列出的IPv6地址以及可能的UDP端口值)。操作可继续到如图5B中所示的514。
在操作514,操作可包括路由节点基于所识别的(一个或多个)接收者内容节点(例如,利用接收者地址和可能的UDP端口值等等)执行(一个或多个)RIB/FIB查找以为该内容封包确定(一个或多个)下一跳。查找可基于如510所述利用位图在多重递送头部中识别的接收者内容节点。在516,操作可包括路由节点基于查找确定内容封包是否要被从路由节点转发到特定的接收者内容节点。基于在516处确定内容封包要被递送到特定的接收者内容节点,操作可继续到518,在518中路由节点确定是否要为IP流建立临时多播状态。在一个实施例中,518处的确定操作可包括路由节点确定在IP头部或多重递送头部中是否设置了向路由节点指示出要为流建立临时多播状态的任何(一个或多个)比特。在另一实施例中,518处的确定操作可包括路由节点基于为IP网络110配置的特定IPv6扩展头部类型确定要建立临时多播状态。
基于在518处确定路由节点要为IP流建立临时多播状态,操作可继续到520,在520中路由节点为内容封包缓存多重递送头部并且将路由决策与IP流的流元组(例如,5元组等等)关联起来并且操作继续到522。该关联可被存储在由路由节点维护的多播状态表中。基于在518处确定路由节点不为流建立临时多播状态,操作可继续到522。
在522,操作可包括路由节点去除多重递送头部。在524,操作可包括路由节点将内容封包的IP头部中的目的地地址更新为特定接收者内容节点的IP地址并且可能更新封包中的UDP目的地端口值(例如,如果接收者内容节点对于对相同内容的内容请求具有不同的UDP端口值的话),并且在526,路由节点将内容封包发送到该特定接收者内容节点。在526处的操作之后,操作可返回到502,从而可对由路由节点接收到的任何额外内容封包重复这些操作。
回忆516处的操作,基于在516处确定内容封包不被递送到特定的接收者内容节点,而是(一个或多个)下一跳是(一个或多个)其他路由节点,操作可继续到528,在528中路由节点确定内容封包是否要被沿着发散路径路由以便被递送到(一个或多个)接收者内容节点。
基于在528处确定内容封包要被沿着发散路径路由,操作可继续到如图5D中所示和如下文进一步详细论述的554。然而,基于在528处确定内容封包不会被沿着发散路径路由,操作可继续到530,在530中路由节点确定是否要为IP流建立临时多播状态。530处的确定操作根据各种实施例可如上文对于518所描述的那样执行。
基于在530处确定路由节点要为IP流建立临时多播状态,操作可继续到532,在532中路由节点为内容封包缓存多重递送头部并且将路由决策与IP流的流元组(例如,5元组等等)关联起来并且操作继续到534。该关联可被存储在由路由节点维护的多播状态表中。基于在530处确定路由节点不为流建立临时多播状态,操作可继续到534。在534,路由节点将内容封包发送到从RIB/FIB查找确定的下一路由节点。下一路由节点也可执行为本文描述的各种实施例论述的操作。在发送之后,操作可返回到502,从而可对由路由节点接收到的任何额外内容封包重复这些操作。
回忆506处的操作,基于在506处确定对于内容封包不存在多重递送头部,操作可继续到如前所述的图5C中所示的538。在538,操作可包括路由节点基于封包的流元组信息识别与内容封包相关联的IP流。在540,操作可包括路由节点通过利用IP流的流元组在路由节点处维护的多播状态表上执行查找来确定先前是否为该流建立了临时多播状态。
基于在540处确定没有为IP流建立多播状态,操作可继续到542,在542中路由节点利用内容封包的IP头部中的源和目的地地址执行RIB/FIB查找。在544,路由节点基于该查找更新目的地地址,并且在546,路由节点利用普通IP路由过程基于路由决策发送内容封包。在发送之后,操作可返回到502,从而可对由路由节点接收到的任何额外内容封包重复这些操作。
回忆540处的操作,基于确定已为IP流建立多播状态,操作可继续到548,在548中路由节点通过利用内容封包的流元组信息在多播状态表上执行查找或者通过将多重递送头部虚拟地重插入到封包中以便为封包确定(一个或多个)路由决策来从存储的多播状态为内容封包确定(一个或多个)路由决策;在转发时多重递送头部不被包括在封包中,而是可被用于为封包确定路由。继续到550,操作可包括路由节点基于为IP流存储的(一个或多个)路由决策根据需要复制内容封包。
操作可继续到552,在552中路由节点可根据存储的(一个或多个)路由决策将(一个或多个)内容封包发送到下一跳。在发送之后,操作可返回到502,从而可对由路由节点接收到的任何额外内容封包重复这些操作。
回忆528处的操作,基于在528处确定内容封包要被沿着发散路径路由,操作可继续到如图5D中所示的554。在554,操作可包括路由节点通过识别内容封包要被发送到的不同路由节点的数目来确定用于路由内容封包的发散路径的数目。
在556,操作可包括路由节点识别对于每条路径内容封包要被递送到的(一个或多个)接收者内容节点(例如,来自514)。在558,操作可包括路由节点基于为内容封包确定的发散路径的数目执行内容封包复制以创建封包的某个数目的拷贝。在560,路由节点可确定在多重递送头部中是否包括多重递送位图。基于在560处确定在多重递送头部中包括多重递送位图,操作可包括路由节点在562为要沿着每条路径发送的每个复制的内容封包的多重递送位图执行比特重置操作。在至少一个实施例中,比特重置操作可包括路由节点重置位图中的不与要接收给定路径的复制内容封包的(一个或多个)接收者内容节点相对应的(一个或多个)比特。操作随后可继续到566。
然而,基于在560处确定在多重递送头部中不包括多重递送位图,操作可包括路由节点在564为要沿着每条路径发送的每个复制的内容封包的多重递送列表执行更新操作。更新操作可包括路由节点更新给定路径的给定复制封包的多重递送头部中所包括的(一个或多个)接收者内容节点的列表以只识别要接收给定路径的复制内容封包的(一个或多个)接收者内容节点。操作随后可继续到566。
在566,操作可包括路由节点确定是否要为IP流建立临时多播状态(例如,基于原始接收的封包或者任何复制的内容封包)。基于在566处确定路由节点要为IP流建立临时多播状态,操作可继续到568,在568中路由节点为每个复制的内容封包缓存多重递送头部并且将路由决策与IP流的流元组(例如,5元组等等)关联起来并且操作继续到570。该关联可被存储在由路由节点维护的多播状态表中。基于在566处确定路由节点不为流建立临时多播状态,操作可继续到570。在570,路由节点将内容封包发送到从在514执行的RIB/FIB查找确定的下一路由节点。
因此,图5A-图5D图示了可由通信系统100内的路由节点执行来促进向多个接收者的内容递送的各种操作。
参考图6,图6是图示出根据通信系统100的至少一个实施例可与内容节点600相关联的示例细节的简化框图。内容节点600是除了计算和数据处理能力还包括内容通信能力以便促进经由IP网络(例如,IP网络110)向多个接收者的内容递送和从另一内容节点的内容接收或取回的网络元件。回想一下,取决于内容节点是向另一内容节点发送内容(例如,对于父亲内容节点)还是从另一内容节点接收内容(例如,对于接收者内容节点),父亲内容节点有时可执行接收者内容节点的操作,反之亦然。因此,对于内容节点600论述的示例细节可对可部署在通信系统100中的任何接收者内容节点(例如,接收者内容节点102.1-102.N)和任何父亲内容节点(例如,父亲内容节点106)实现。在至少一个实施例中,内容节点600可包括一个或多个处理器602、一个或多个存储器元件604、存储装置606、网络接口608、路由信息库和/或转发信息库(RIB/FIB)610、总线612和多重递送控制逻辑614。
在至少一个实施例中,(一个或多个)处理器602是被配置为根据为内容节点600配置的软件和/或指令为内容节点600执行如本文所述的各种任务、操作和/或功能的至少一个硬件处理器。在至少一个实施例中,(一个或多个)存储器元件604和/或存储装置606被配置为存储与内容节点600相关联的数据、信息、软件和/或指令和/或为(一个或多个)存储器元件604和/或存储装置606配置的逻辑(例如,在各种实施例中可利用(一个或多个)存储器元件604和/或存储装置606的任何组合来存储多重递送控制逻辑614)。在至少一个实施例中,总线612可被配置为使得内容节点600的一个或多个元件(例如,(一个或多个)处理器602、(一个或多个)存储器元件604、逻辑614、网络接口608等等)能够通信以便交换信息和/或数据的接口。在至少一个实施例中,总线612可实现为可能利用进程(例如,逻辑等等)之间的共享存储器的快速内核容宿互连,其可使能进程之间的高效通信路径。
在各种实施例中,网络接口608使能内容节点600与可存在于通信系统100中的其他网络元件和/或节点(例如,其他内容节点、路由节点等等)之间的通信以促进对于本文描述的各种实施例论述的操作。在一些实施例中,网络接口608可包括一个或多个以太网驱动器和/或控制器、光纤通道驱动器和/或控制器或其他类似的网络接口驱动器和/或控制器以为通信系统100内的内容节点600使能通信。在各种实施例中,存储装置606和/或(一个或多个)存储器元件604可被配置为存储与内容节点600相关联的数据、信息、软件和/或指令和/或为内容节点600配置的逻辑。
在各种实施例中,(一个或多个)存储器元件604和/或存储装置606可被配置为存储:RIB/FIB 610;可促进为本文描述的实施例论述的多重递送路由的任何其他信息(例如,接口信息、端口信息;IP地址信息,等等);可被分发到另一内容节点和/或从另一内容节点接收的任何内容;逻辑;为本文描述的各种实施例论述的任何其他数据、信息、软件和/或指令;这些的组合等等。注意,在一些实施例中,存储装置可与存储器元件整合(反之亦然),或者可以任何其他适当的方式重叠/存在。
在至少一个实施例中,RIB/FIB 610可作为数据结构被配设在内容节点600中,该数据结构可被填充以路由协议信息(例如,目的地地址、跳地址、度量、接口信息等等),该路由协议信息可经由通信系统100的其他节点之间的通信(例如,通告等等)来手动配置和/或自动配置。
在各种实施例中,多重递送控制逻辑614可包括当被执行(例如,由(一个或多个)处理器602执行)时使得内容节点600执行操作的指令,这些操作可包括但不限于:朝着一个或多个父亲内容节点发送(一个或多个)内容请求;确定是否从多个接收者内容节点接收到了对于相同内容的数个内容请求;生成多重递送头部;为封包附加多重递送头部;从一个或多个父亲内容节点接收内容;执行路由操作;这些的组合和/或对于本文描述的各种实施例论述的任何其他操作。
参考图7,图7是图示出根据通信系统100的至少一个实施例可与路由节点700相关联的示例细节的简化框图。路由节点700是除了计算和数据处理能力还包括内容通信能力以便促进经由IP网络(例如,IP网络110)向多个接收者的内容递送的网络元件。因此,对于路由节点700论述的示例细节可对于可部署在通信系统100中的任何路由节点104.1-104.M实现。在至少一个实施例中,路由节点700可包括一个或多个处理器702、一个或多个存储器元件704、存储装置706、网络接口708、路由信息库和/或转发信息库(RIB/FIB)710、总线712、多重递送路由逻辑714。在一些实施例中,例如,如果路由节点700要为一个或多个IP流存储多播状态,则可为路由节点700配设多播状态表720。
在至少一个实施例中,(一个或多个)处理器702是被配置为根据为路由节点700配置的软件和/或指令为路由节点700执行如本文所述的各种任务、操作和/或功能的至少一个硬件处理器。在至少一个实施例中,(一个或多个)存储器元件704和/或存储装置706被配置为存储与路由节点700相关联的数据、信息、软件和/或指令和/或为(一个或多个)存储器元件704和/或存储装置706配置的逻辑(例如,在各种实施例中可利用(一个或多个)存储器元件704和/或存储装置706的任何组合来存储多重递送路由逻辑714)。在至少一个实施例中,总线712可被配置为使得路由节点700的一个或多个元件(例如,(一个或多个)处理器702、(一个或多个)存储器元件704、逻辑714、网络接口708等等)能够通信以便交换信息和/或数据的接口。在至少一个实施例中,总线712可实现为可能利用进程(例如,逻辑等等)之间的共享存储器的快速内核容宿互连,其可使能进程之间的高效通信路径。
在各种实施例中,网络接口708使能路由节点700与可存在于通信系统100中的其他网络元件和/或节点(例如,内容节点、其他路由节点等等)之间的通信以促进对于本文描述的各种实施例论述的操作。在一些实施例中,网络接口708可包括一个或多个以太网驱动器和/或控制器、光纤通道驱动器和/或控制器或其他类似的网络接口驱动器和/或控制器以为通信系统100内的路由节点700使能通信。
在各种实施例中,(一个或多个)存储器元件704和/或存储装置706可被配置为存储:RIB/FIB 710;可促进为本文描述的实施例论述的多重递送路由的任何其他信息(例如,接口信息、端口信息、IP地址信息,等等);多播状态信息(例如,针对多播状态表720,如果为可由路由节点700处理的一个或多个IP流建立了多播状态表720的话);逻辑;为本文描述的各种实施例论述的任何其他数据、信息、软件和/或指令;这些的组合等等。注意,在一些实施例中,存储装置可与存储器元件整合(反之亦然),或者可以任何其他适当的方式重叠/存在。
在至少一个实施例中,RIB/FIB 710可作为数据结构被配设在路由节点700中,该数据结构可被填充以路由协议信息(例如,目的地地址、跳地址、度量、接口信息等等),该路由协议信息可经由通信系统100的其他节点之间的通信(例如,通告等等)来手动配置和/或自动配置。
在至少一个实施例中,可为路由节点700配设多播状态表720以使得路由节点能够为IP流的(例如,不包括多重递送头部的)一个或多个内容封包执行路由操作。在一个实施例中,多播状态表720可包括被映射或关联到一个或多个IP流的路由决策信息724和多重递送头部726的流元组信息722。在各种实施例中,基于特定的需求和实现方式,多播状态表720可与路由节点700的其他元件(例如,RIB/FIB 710、逻辑等等)分离或者可与一个或多个元件集成。
在各种实施例中,多重递送路由逻辑714可包括当被执行(例如,由(一个或多个)处理器702执行)时使得路由节点700执行操作的指令,这些操作可包括但不限于:接收内容封包;基于内容封包的IP头部中的源和/或目的地地址执行RIB/FIB查找;基于多重递送头部中所包括的多重递送识别符执行RIB/FIB查找;分析多重递送头部的部分(例如,多重递送接收者内容节点的列表和/或多重递送位图);如果需要,更新IP头部的目的地地址;更新或去除多重递送头部;执行内容封包复制;基于RIB/FIB查找执行封包路由;利用一个或多个IP流的流元组信息建立、更新、维护和/或匹配临时多播状态(例如,经由多播状态表720);这些的组合和/或对于本文描述的各种实施例论述的任何其他操作。
总之,在一个示例实施例中提供了一种方法,并且该方法可包括在父亲内容节点处确定多个接收者内容节点要接收相同内容;基于确定该相同内容在父亲内容节点处可用,生成包括多个识别符的多重递送头部,其中该多个识别符中的每个识别符指示出要接收该相同内容的每个接收者内容节点;将多重递送头部附加到与该相同内容相关联的互联网协议(IP)流的一个或多个封包;并且将该IP流的封包发送到多个接收者内容节点中的每一者。
关于与通信系统100相关联的内部结构,为通信系统100内的内容节点和路由节点配设适当的软件、硬件和/或算法以便促进对于本文描述的各种实施例论述的操作来促进网络环境中的多重递送操作。
在各种示例实现方式中,为本文描述的各种实施例论述的内容节点和路由节点可包含网络家电、路由器、服务器、交换机、网关、网桥、负载平衡器、防火墙、处理器、模块、无线电接收器/发送器或者可操作来交换信息的任何其他适当的设备、组件、元件或者对象,该信息促进或以其他方式帮助促进在网络环境中(例如,对于例如图1A中所示那样的网络)的对于本文论述的各种实施例描述的各种多重递送操作。在各种实施例中,本文论述的内容节点和路由节点中的一个或多个可包括可合作以实现与如本文所述的在网络环境中向多个接收者提供内容递送相关联的操作的软件(或者往复式软件)并且可包括促进其操作的任何适当的算法、硬件、软件、组件、模块、逻辑、客户端、接口和/或对象。这可包括允许数据或信息的有效交换的适当算法、通信协议、接口和/或标准,专属的和/或非专属的。
在各种实施例中,本文论述的内容节点和路由节点可在适当时基于特定的需求将信息保持在任何适当的存储器元件[例如,随机访问存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、专用集成电路(ASIC)等等]、软件、硬件中或者任何其他适当的组件、设备、元件和/或对象中。本文论述的任何存储器项目应当被理解为被涵盖在宽广术语“存储器元件”内。被跟踪或发送到本文论述的内容节点和路由节点中的一个或多个的信息可在任何数据库、表格、寄存器、控制列表、缓存、存储装置和/或存储结构中提供:所有这些都可在任何适当的时间框架中被引用。任何这种存储选项也可被包括在如本文所用的宽广术语“存储器元件”内。本文描述的任何可能的处理元件、控制器、管理器、逻辑和/或机器可被理解为被涵盖在宽广术语“处理器”内。在各种实施例中,本文论述的内容节点和路由节点也可包括用于在网络环境中接收、发送和/或以其他方式传输数据或信息的适当接口。
注意在某些示例实现方式中,本文概述的促进在网络环境中向多个接收者的内容递送的操作可由编码在一个或多个有形介质中的逻辑实现,该有形介质可包括非暂态有形介质和/或非暂态计算机可读存储介质(例如,在ASIC中提供的嵌入式逻辑、数字信号处理(digital signal processing,DSP)指令、要被处理器执行的软件[可能包括目标代码和源代码]或者其他类似的机器,等等)。在这些实例的一些中,存储器元件和/或存储装置[如图6-图7中所示]可存储用于本文描述的操作的数据、软件、代码、指令(例如,处理器指令)、逻辑、参数、这些的组合等等。这包括存储器元件和/或存储装置能够存储被执行来实现本文描述的操作的数据、软件、代码、指令(例如,处理器指令)、逻辑、参数、这些的组合等等。处理器(例如,硬件处理器)可执行与数据相关联的任何类型的指令来实现本文详述的操作。在一个示例中,处理器[如图6-图7中所示]可将元素或物品(例如,数据、信息)从一种状态或事物变换到另一状态或事物。在另一示例中,本文概述的操作可利用逻辑来实现,逻辑可包括固定逻辑、硬件逻辑、可编程逻辑、数字逻辑等等(例如,由处理器执行的软件/计算机指令)并且/或者本文识别的元件中的一个或多个可以是某种类型的可编程处理器、可编程数字逻辑(例如,现场可编程门阵列(FPGA))、DSP处理器、EPROM、控制器、电可擦除PROM(EEPROM)或者包括数字逻辑、软件、代码、电子指令或者这些的任何适当组合的ASIC。
注意,在本说明书中,提及在“一个实施例”、“示例实施例”、“一实施例”、“另一实施例”、“某些实施例”、“一些实施例”、“各种实施例”、“其他实施例”、“替换实施例”等等中所包括的各种特征(例如,元件、结构、节点、模块、组件、逻辑、步骤、操作、特性等等)意图指任何这种特征被包括在本公开的一个或多个实施例中,但可能被结合在相同实施例中也可能不一定被结合在相同实施例中。还要注意,这里在本说明书中使用的模块、引擎、客户端、控制器、功能、逻辑等等可包括包含可在计算机、处理器、机器、计算节点、这些的组合等等上理解和处理的指令的可执行文件并且还可包括在执行期间加载的库模块、目标文件、系统文件、硬件逻辑、软件逻辑或者任何其他可执行模块。
注意以下这点也是重要的:参考先前附图描述的操作和步骤只是图示了可由通信系统100执行或者可在通信系统100内执行的一些可能的场景。这些操作中的一些在适当时可被删除或去除,或者这些步骤可被相当大地修改或改变,而不脱离论述的构思的范围。此外,这些操作的定时可被相当大地更改,而仍实现本公开中教导的结果。先前的操作流程是为了示例和论述而提供的。系统提供了充分的灵活性,因为在不脱离论述的构思的教导的情况下可提供任何适当的布置、时间顺序、配置和定时机制。
注意,对于以上提供的示例,以及本文提供的许多其他示例,可就一个、两个、三个或四个网络元件来描述交互。然而,这只是为了清晰和示例而这么做的。在某些情况下,只通过引用有限数目的网络元件来描述一个或多个功能,可能更容易。应当明白,通信系统100(及其教导)是容易缩放的并且可容纳很大数目的组件,以及更复杂/精细的布置和配置。因此,提供的示例不应当限制可能应用到众多其他体系结构的通信系统100的范围或者约束通信系统100的宽广教导。
就本文使用的而言,除非有明确的相反声明,否则对短语“……中的至少一者”、“……中的一个或多个”和“和/或”的使用是对于提名的元件、条件或活动的任何组合在运算上既是连接性的也是析取性的开口表述。例如,表述“X、Y和Z中的至少一者”、“X、Y或Z中的至少一者”、“X、Y和Z中的一个或多个”、“X、Y或Z中的一个或多个”、和“A、B和/或C”中的每一者可意指以下的任何一者:1)X,但没有Y并且没有Z;2)Y,但没有X并且没有Z;3)Z,但没有X并且没有Y;4)X和Y,但没有Z;5)X和Z,但没有Y;6)Y和Z,但没有X;或者7)X、Y和Z。此外,除非有明确的相反声明,否则术语“第一”、“第二”、“第三”等等意图区分其修饰的特定名词(例如,元件、条件、模块、活动、操作等等)。除非有明确的相反声明,否则对这些术语的使用并不意图指示修饰的名词的任何类型的顺序、排名、重要性、时间顺序或者层次。例如,“第一X”和“第二X”意图指定不一定受两个元件的任何顺序、排名、重要性、时间顺序或层次限制的两个X元件。就本文提及的而言,“……中的至少一者”和“……中的一个或多个”可利用“(s)”命名法来表示(例如,一个或多个元件)。
虽然已参考特定布置和配置详细描述了本公开,但这些示例配置和布置可被大幅改变,而不脱离本公开的范围。例如,虽然已参考涉及某些网络接入、接口和协议的特定通信交换描述了本公开,但通信系统100可适用于其他交换或路由协议、接口和/或通信标准,专属的和/或非专属的。另外,虽然已参考促进通信过程的特定元件和操作例示了通信系统100,但这些元件和操作可被实现通信系统100的期望功能的任何适当体系结构或过程所替代。
本领域技术人员可确定许多其他改变、替代、变化、更改和修改,并且希望本公开涵盖落在所附权利要求的范围内的所有这种改变、替代、变化、更改和修改。为了帮助美国专利商标局(USPTO)以及根据本申请授权的任何专利的任何读者解读所附的权利要求,申请人希望注意到申请人:(1)不希望所附权利要求的任何一项援引在本申请的申请日存在的35 U.S.C.第112节的第(f)款,除非在特定权利要求中具体使用了词语“用于……的装置”或者“用于……的步骤”;并且(2)不希望说明书中的任何陈述以所附权利要求中没有另外反映的任何方式限制本公开。

Claims (23)

1.一种方法,包括:
基于来自多个接收者内容节点的对于相同内容的请求,在父亲内容节点处确定所述多个接收者内容节点要接收相同内容;
基于确定所述相同内容在所述父亲内容节点处可用,通过所述父亲内容节点生成包括多个识别符的多重递送头部,其中,所述多个识别符中的每个识别符指示出要接收所述相同内容的每个接收者内容节点;
通过所述父亲内容节点将所述多重递送头部附加到与所述相同内容相关联的互联网协议(IP)流的一个或多个封包;并且
通过所述父亲内容节点将所述IP流的所述一个或多个封包发送到所述多个接收者内容节点中的每一者。
2.如权利要求1所述的方法,其中所述多重递送头部还包括位图,并且其中所述位图中的每个比特对应于所述多个接收者内容节点中的特定接收者内容节点。
3.如权利要求1或2所述的方法,其中所述多个识别符包括以下各项中的至少一者:
多个互联网协议版本6(IPv6)地址,其中每个IPv6地址对应于所述多个接收者内容节点中的特定接收者内容节点;以及
多个用户数据报协议(UDP)端口值,其中每个UDP端口值对应于所述多个接收者内容节点中的特定接收者内容节点。
4.如权利要求1至3中任何一项所述的方法,还包括:
在路由节点处接收被附加有所述多重递送头部的所述IP流的至少一个封包;并且
确定所述至少一个封包是要被直接路由到所述多个接收者内容节点中的特定接收者内容节点还是要被路由到至少一个其他路由节点。
5.如权利要求4所述的方法,还包括:
将包括所述多重递送头部的所述至少一个封包转发到至少一个其他路由节点。
6.如权利要求4所述的方法,还包括:
基于确定所述至少一个封包要被路由到所述多个接收者内容节点中的特定接收者内容节点而去除所述多重递送头部;
将所述至少一个封包的目的地地址替换为对应于所述特定接收者内容节点的地址;并且
将所述至少一个封包转发到所述特定接收者内容节点。
7.如权利要求4至6中任何一项所述的方法,还包括:
确定所述多重递送头部是否要被缓存在所述路由节点处;并且
基于确定所述多重递送头部要被缓存在所述路由节点处而针对与所述至少一个封包相关联的任何转发缓存所述多重递送头部和关联以用于所述IP流的后续封包。
8.如权利要求4至7中任何一项所述的方法,还包括:
确定所述多重递送头部包括位图,该位图包括与所述多重递送头部中所包括的多个识别符中的每个识别符相关联的数个比特。
9.如权利要求8所述的方法,还包括:
利用所述位图和所述多重递送头部中所包括的多个识别符中的每个识别符来确定所述至少一个封包要被转发到多个其他路由节点。
10.如权利要求9所述的方法,还包括:
基于确定所述至少一个封包要被路由到多个其他路由节点而复制所述至少一个封包以生成多个复制的封包;
对于各个多重递送头部的相应位图,基于每个复制的封包要被转发到的特定路由节点,重置一个或多个比特;并且
将每个复制的封包转发到所述多个其他路由节点中的每个特定的其他路由节点。
11.一个或多个编码逻辑的非暂态有形介质,所述逻辑包括供处理器执行的指令,其中所述执行使得所述处理器执行操作,所述操作包括:
基于来自多个接收者内容节点的对于相同内容的请求,在父亲内容节点处确定所述多个接收者内容节点要接收相同内容;
基于确定所述相同内容在所述父亲内容节点处可用,通过所述父亲内容节点生成包括多个识别符的多重递送头部,其中所述多个识别符中的每个识别符指示出要接收所述相同内容的每个接收者内容节点;
通过所述父亲内容节点将所述多重递送头部附加到与所述相同内容相关联的互联网协议(IP)流的一个或多个封包;并且
通过所述父亲内容节点将所述IP流的所述一个或多个封包发送到所述多个接收者内容节点中的每一者。
12.如权利要求11所述的介质,其中所述执行使得所述处理器执行进一步操作,所述进一步操作包括:
在路由节点处接收被附加有所述多重递送头部的所述IP流的至少一个封包;并且
确定所述至少一个封包是要被直接路由到所述多个接收者内容节点中的特定接收者内容节点还是要被路由到至少一个其他路由节点。
13.如权利要求12所述的介质,其中所述执行使得所述处理器执行进一步操作,所述进一步操作包括:
基于确定所述至少一个封包要被路由到所述多个接收者内容节点中的特定接收者内容节点而去除所述多重递送头部;
将所述至少一个封包的目的地地址替换为对应于所述特定接收者内容节点的地址;并且
将所述至少一个封包转发到所述特定接收者内容节点。
14.如权利要求12或13所述的介质,其中所述执行使得所述处理器执行进一步操作,所述进一步操作包括:
确定所述多重递送头部是否要被缓存在所述路由节点处;并且
基于确定所述多重递送头部要被缓存在所述路由节点处而针对与所述至少一个封包相关联的任何转发缓存所述多重递送头部和关联以用于所述IP流的后续封包。
15.如权利要求12至14中任何一项所述的介质,其中所述执行使得所述处理器执行进一步操作,所述进一步操作包括:
确定所述多重递送头部包括位图,该位图包括与所述多重递送头部中所包括的多个识别符中的每个识别符相关联的数个比特。
16.如权利要求15所述的介质,其中所述执行使得所述处理器执行进一步操作,所述进一步操作包括:
利用所述位图和所述多重递送头部中所包括的多个识别符中的每个识别符来确定所述至少一个封包要被转发到多个其他路由节点。
17.如权利要求16所述的介质,其中所述执行使得所述处理器执行进一步操作,所述进一步操作包括:
基于确定所述至少一个封包要被路由到多个其他路由节点而复制所述至少一个封包以生成多个复制的封包;
对于各个多重递送头部的相应位图,基于每个复制的封包要被转发到的特定路由节点,重置一个或多个比特;并且
将每个复制的封包转发到所述多个其他路由节点中的每个特定的其他路由节点。
18.一种系统,包括:
至少一个存储器元件,用于存储数据;以及
至少一个处理器,用于执行与所述数据相关联的指令,其中所述执行使得所述系统执行操作,所述操作包括:
基于来自多个接收者内容节点的对于相同内容的请求,在父亲内容节点处确定所述多个接收者内容节点要接收相同内容;
基于确定所述相同内容在所述父亲内容节点处可用,通过所述父亲内容节点生成包括多个识别符的多重递送头部,其中所述多个识别符中的每个识别符指示出要接收所述相同内容的每个接收者内容节点;
通过所述父亲内容节点将所述多重递送头部附加到与所述相同内容相关联的互联网协议(IP)流的一个或多个封包;并且
通过所述父亲内容节点将所述IP流的所述一个或多个封包发送到所述多个接收者内容节点中的每一者。
19.如权利要求18所述的系统,其中所述多重递送头部还包括位图,并且其中所述位图中的每个比特对应于所述多个接收者内容节点中的特定接收者内容节点。
20.如权利要求18或19所述的系统,还包括:
基于确定所述至少一个封包要被路由到所述多个接收者内容节点中的特定接收者内容节点而去除所述多重递送头部;
将所述至少一个封包的目的地地址替换为对应于所述特定接收者内容节点的地址;并且
将所述至少一个封包转发到所述特定接收者内容节点。
21.一种装置,包括:
用于基于来自多个接收者内容节点的对于相同内容的请求在父亲内容节点处确定所述多个接收者内容节点要接收相同内容的装置;
用于基于确定所述相同内容在所述父亲内容节点处可用,通过所述父亲内容节点生成包括多个识别符的多重递送头部的装置,其中所述多个识别符中的每个识别符指示出要接收所述相同内容的每个接收者内容节点;
用于通过所述父亲内容节点将所述多重递送头部附加到与所述相同内容相关联的互联网协议(IP)流的一个或多个封包的装置;以及
用于通过所述父亲内容节点将所述IP流的所述一个或多个封包发送到所述多个接收者内容节点中的每一者的装置。
22.根据权利要求21所述的装置,还包括用于实现根据权利要求2至10中任何一项所述的方法的装置。
23.一种包括指令的计算机程序、计算机程序产品或计算机可读介质,所述指令当被计算机执行时使得所述计算机执行如权利要求1至10中任何一项所述的方法的步骤。
CN201880012207.7A 2017-02-17 2018-02-09 促进在网络环境中向多个接收者的内容递送的系统和方法 Active CN110313162B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/436,540 2017-02-17
US15/436,540 US10469379B2 (en) 2017-02-17 2017-02-17 System and method to facilitate content delivery to multiple recipients in a network environment
PCT/US2018/017552 WO2018152019A1 (en) 2017-02-17 2018-02-09 System and method to facilitate content delivery to multiple recipients in a network environment

Publications (2)

Publication Number Publication Date
CN110313162A CN110313162A (zh) 2019-10-08
CN110313162B true CN110313162B (zh) 2022-04-15

Family

ID=61257128

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880012207.7A Active CN110313162B (zh) 2017-02-17 2018-02-09 促进在网络环境中向多个接收者的内容递送的系统和方法

Country Status (4)

Country Link
US (2) US10469379B2 (zh)
EP (1) EP3583756B1 (zh)
CN (1) CN110313162B (zh)
WO (1) WO2018152019A1 (zh)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106487837B (zh) * 2015-08-27 2019-08-06 北京大学深圳研究生院 向网络中发送和从网络中获取目标数据的方法和装置
US11985699B2 (en) * 2017-05-04 2024-05-14 Nokia Technologies Oy Ultra-reliable low-latency communications support using grant free transmissions
US10681417B2 (en) * 2017-05-12 2020-06-09 Google Llc Enhanced multicast network communications
US10917927B2 (en) 2017-05-12 2021-02-09 Telefonaktiebolaget Lm Ericsson (Publ) Local identifier locator network protocol (ILNP) breakout
CN113839871A (zh) 2017-09-25 2021-12-24 华为技术有限公司 一种报文转发的方法及网络设备
KR102106778B1 (ko) * 2017-10-31 2020-05-28 에스케이텔레콤 주식회사 데이터 송수신장치 및 데이터 송수신장치의 동작 방법
CN109842574B (zh) * 2017-11-28 2020-07-17 中国科学院声学研究所 一种基于可编程网络技术的多宿主网络路由转发方法
US11032733B2 (en) * 2017-12-18 2021-06-08 Cisco Technology, Inc. Adaptive quality of service for enterprise traffic
US10594513B2 (en) 2018-03-19 2020-03-17 Cisco Technology, Inc. Packet communications providing packet forwarding efficiencies in a network including using a segment routing and tunnel exchange
JP2021522097A (ja) * 2018-04-16 2021-08-30 テッサラクト ストラクチュラル イノベーションズ,インコーポレイテッド 均一減速ユニット
CN110417657B (zh) * 2018-04-27 2022-05-17 华为技术有限公司 一种处理组播数据报文的方法及装置
US10827041B2 (en) * 2018-09-07 2020-11-03 Nokia Solutions And Networks Oy Packet fragmentation control
US11129061B1 (en) 2018-11-07 2021-09-21 Telefonaktiebolaget Lm Ericsson (Publ) Local identifier locator network protocol (ILNP) breakout
US11470176B2 (en) * 2019-01-29 2022-10-11 Cisco Technology, Inc. Efficient and flexible load-balancing for clusters of caches under latency constraint
JP2020150369A (ja) * 2019-03-12 2020-09-17 株式会社Preferred Networks 処理装置、情報処理システム、情報処理方法、及びプログラム
US11095495B2 (en) * 2019-04-05 2021-08-17 Arista Networks, Inc. Multi-result lookups
CN112054959B (zh) * 2019-06-06 2021-11-19 华为技术有限公司 一种bier报文的发送方法和装置
CN112187647B (zh) * 2019-07-05 2021-12-14 华为技术有限公司 报文转发方法、设备及计算机可读存储介质
CN114710975B (zh) * 2019-07-31 2023-07-28 华为技术有限公司 一种用于多域间传输多传输网络上下文标识的方法、基站、网元及装置
CN114128227B (zh) 2019-07-31 2023-03-10 华为技术有限公司 在支持SRv6的数据面上传输MTNC-ID以实现5G传输
CN112448887B (zh) * 2019-09-04 2024-04-16 华为技术有限公司 分段路由方法及装置
US11423332B2 (en) * 2019-09-27 2022-08-23 Intel Corporation Distributed machine learning in an information centric network
US11483238B2 (en) * 2019-10-14 2022-10-25 Cisco Technology, Inc. Centralized path computation for information-centric networking
CN110995603A (zh) * 2019-12-09 2020-04-10 广州信天翁信息科技有限公司 一种数据的多对多传输方法及异构数据传输层
CN112491718A (zh) * 2020-08-31 2021-03-12 中兴通讯股份有限公司 报文头的处理方法及装置、存储介质、电子装置
CN114363432A (zh) * 2020-09-30 2022-04-15 华为技术有限公司 获取报文头信息、生成报文的方法、设备及存储介质
CN112532641B (zh) * 2020-12-07 2023-04-28 四川光慧新能源科技有限公司 一种充电桩内部模块连接的通信方法
US11863592B2 (en) * 2021-05-14 2024-01-02 Cisco Technology, Inc. Active speaker tracking using a global naming scheme
EP4269586A1 (en) 2022-04-29 2023-11-01 Johann-Wolfgang-Goethe-Universität Frankfurt am Main Targeting micro rna for treatment of heart failure with preserved ejection fraction (hfpef)
TWI825923B (zh) * 2022-08-16 2023-12-11 皓德盛科技有限公司 用於金融交易的現場可程式化邏輯閘陣列
US11943138B1 (en) * 2022-09-26 2024-03-26 Arista Networks, Inc. Detecting duplicate network device identifiers for routing protocols

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104137509A (zh) * 2012-02-28 2014-11-05 华为技术有限公司 用于基于互联网协议的内容路由器的方法和装置

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5469562A (en) * 1992-06-26 1995-11-21 Digital Equipment Corporation Durable atomic storage update manager
US7134074B2 (en) * 1998-12-25 2006-11-07 Matsushita Electric Industrial Co., Ltd. Data processing method and storage medium, and program for causing computer to execute the data processing method
US6415031B1 (en) * 1999-03-12 2002-07-02 Diva Systems Corporation Selective and renewable encryption for secure distribution of video on-demand
JP4501230B2 (ja) 2000-05-30 2010-07-14 株式会社日立製作所 IPv4−IPv6マルチキャスト通信方法および装置
WO2003028386A2 (en) * 2001-09-25 2003-04-03 Wildseed, Ltd. Wireless mobile image messaging
KR100886551B1 (ko) * 2003-02-21 2009-03-02 삼성전자주식회사 이동통신시스템에서 인터넷 프로토콜 버전에 따른 트래픽플로우 탬플릿 패킷 필터링 장치 및 방법
JP4558577B2 (ja) * 2005-05-12 2010-10-06 パナソニック株式会社 パケット中継方法およびホームエージェント
JP4747733B2 (ja) * 2005-08-22 2011-08-17 ブラザー工業株式会社 ノード装置、共用情報更新処理プログラム、共用情報更新方法、及び情報共有システム
US8275132B2 (en) * 2006-05-15 2012-09-25 Buchen Neil B System and method for dynamically allocating stream identifiers in a multi-encryption transport system
WO2008144929A1 (en) * 2007-06-01 2008-12-04 Research In Motion Limited Method and apparatus for communicating compression state information for interactive compression
US8204060B2 (en) 2009-01-30 2012-06-19 Palo Alto Research Center Incorporated Method and system for facilitating forwarding a packet in a content-centric network
CN101917670A (zh) 2010-05-20 2010-12-15 中兴通讯股份有限公司 一种无线组播数据的传输方法及系统
US9559855B2 (en) 2010-05-20 2017-01-31 Cisco Technology, Inc. System and method for providing multicast delivery in a network environment
US8520676B2 (en) * 2010-11-09 2013-08-27 Cisco Technology, Inc. System and method for managing acknowledgement messages in a very large computer network
US8694675B2 (en) 2011-09-01 2014-04-08 Futurewei Technologies, Inc. Generalized dual-mode data forwarding plane for information-centric network
CN104350725B (zh) * 2012-06-06 2019-01-11 华为技术有限公司 通过软件定义网络进行信息中心网络的无缝集成和独立演进方法
US9767114B2 (en) * 2012-08-14 2017-09-19 Cisco Technology, Inc. System and methods for automatically disseminating content based on contexual information
US10904144B2 (en) * 2012-12-27 2021-01-26 Sitting Man, Llc Methods, systems, and computer program products for associating a name with a network path
WO2015042156A1 (en) 2013-09-17 2015-03-26 Cisco Technology, Inc. Bit indexed explicit replication
US9806897B2 (en) 2013-09-17 2017-10-31 Cisco Technology, Inc. Bit indexed explicit replication forwarding optimization
US20150113166A1 (en) 2013-10-18 2015-04-23 Palo Alto Research Center Incorporated Method and apparatus for a named network within an autonomous system
US9444677B2 (en) * 2013-10-18 2016-09-13 Cisco Technology, Inc. Scalable edge node protection using IPv6 segment routing extension header
US9282050B2 (en) 2013-10-30 2016-03-08 Palo Alto Research Center Incorporated System and method for minimum path MTU discovery in content centric networks
US9276840B2 (en) 2013-10-30 2016-03-01 Palo Alto Research Center Incorporated Interest messages with a payload for a named data network
US9391896B2 (en) 2014-03-10 2016-07-12 Palo Alto Research Center Incorporated System and method for packet forwarding using a conjunctive normal form strategy in a content-centric network
US9451032B2 (en) 2014-04-10 2016-09-20 Palo Alto Research Center Incorporated System and method for simple service discovery in content-centric networks
US9516144B2 (en) 2014-06-19 2016-12-06 Palo Alto Research Center Incorporated Cut-through forwarding of CCNx message fragments with IP encapsulation
EP3207687B1 (en) * 2014-10-14 2020-07-08 IDAC Holdings, Inc. Anchoring ip devices in icn networks
US9832031B2 (en) 2014-10-24 2017-11-28 Futurewei Technologies, Inc. Bit index explicit replication forwarding using replication cache
US10033641B2 (en) 2014-11-06 2018-07-24 Juniper Networks, Inc. Deterministic and optimized bit index explicit replication (BIER) forwarding
WO2016093749A1 (en) 2014-12-09 2016-06-16 Telefonaktiebolaget Lm Ericsson (Publ) Routing in wireless ad-hoc networks
US10270689B2 (en) 2014-12-19 2019-04-23 Futurewei Technologies, Inc. Multi-nonce enabled interest packet design for named-data networking
US9602596B2 (en) * 2015-01-12 2017-03-21 Cisco Systems, Inc. Peer-to-peer sharing in a content centric network
US9900169B2 (en) * 2015-03-18 2018-02-20 Cisco Technology, Inc. Reliable multicast in low-power and lossy networks
US10686702B2 (en) * 2015-11-06 2020-06-16 Cable Television Laboratories, Inc. Preemptive caching of content in a content-centric network
US10819673B2 (en) * 2016-02-23 2020-10-27 Level 3 Communications, Llc Systems and methods for content server rendezvous in a dual stack protocol network
GB201612356D0 (en) * 2016-04-19 2016-08-31 Cisco Tech Inc Network monitoring and control system and method
EP3866392B1 (en) 2016-07-01 2023-07-19 InterDigital Patent Holdings, Inc. Enabling http content integrity for co-incidental multicast delivery in information-centric networks
US10135756B2 (en) 2016-08-30 2018-11-20 Cisco Technology, Inc. Transparent and efficient multi-destination TCP communications based on bit indexed explicit replication
US10158558B1 (en) 2017-01-19 2018-12-18 Cisco Technology, Inc. Segment routing of packets according to a multicast distribution tree in a network
US10587515B2 (en) 2017-02-07 2020-03-10 Futurewei Technologies, Inc. Stateless information centric forwarding using dynamic filters
US10404592B2 (en) 2017-03-24 2019-09-03 Cisco Technology, Inc. System and method to facilitate content forwarding using bit index explicit replication (BIER) in an information-centric networking (ICN) environment
EP3588013A1 (de) 2018-06-26 2020-01-01 XelectriX Power GmbH Verfahren zur abgabe von elektrischer energie

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104137509A (zh) * 2012-02-28 2014-11-05 华为技术有限公司 用于基于互联网协议的内容路由器的方法和装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Enabling Content Dissemination Using Efficient andScalable Multicast;Tae Won Cho;《IEEE》;20090419;全文 *
Explicit Multicast (Xcast) Concepts and Options;R. Boivie;《IETF》;20071130;第2,9.2.9.3,图1,5 *
János Tapolcai.Optimal False-Positive-Free Bloom Filter Design for Scalable Multicast Forwarding.《IEEE/ACM TRANSACTIONS ON NETWORKING》.2015,第1832页右栏第1段,第1833页右栏第2段. *
Optimal False-Positive-Free Bloom Filter Design for Scalable Multicast Forwarding;János Tapolcai;《IEEE/ACM TRANSACTIONS ON NETWORKING》;20151231;第1832页右栏第1段,第1833页右栏第2段 *

Also Published As

Publication number Publication date
US11190445B2 (en) 2021-11-30
US20180241671A1 (en) 2018-08-23
US10469379B2 (en) 2019-11-05
US20190356590A1 (en) 2019-11-21
EP3583756A1 (en) 2019-12-25
EP3583756B1 (en) 2022-04-06
WO2018152019A1 (en) 2018-08-23
CN110313162A (zh) 2019-10-08

Similar Documents

Publication Publication Date Title
CN110313162B (zh) 促进在网络环境中向多个接收者的内容递送的系统和方法
US11082342B2 (en) System and method to facilitate content forwarding using Bit Index Explicit Replication (BIER) in an Information-Centric Networking (ICN) environment
EP3703335B1 (en) Delivering content over a network
EP3043528B1 (en) Method and apparatus for internet protocol based content router
US10348646B2 (en) Two-stage port-channel resolution in a multistage fabric switch
US10164910B2 (en) Method and apparatus for an information-centric MAC layer
EP3446460B1 (en) Content routing in an ip network that implements information centric networking
CN113726907A (zh) 一种路由处理方法、网元设备、装置以及可读存储介质
WO2019201326A1 (en) Secure and reliable on-demand source routing in an information centric network
Rihab et al. Ccnflow: Content-centric networking managed by openflow controller

Legal Events

Date Code Title Description
PB01 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