CN102301681B - 经过网络地址转换(nat)设备的媒体流传输 - Google Patents

经过网络地址转换(nat)设备的媒体流传输 Download PDF

Info

Publication number
CN102301681B
CN102301681B CN201080006155.6A CN201080006155A CN102301681B CN 102301681 B CN102301681 B CN 102301681B CN 201080006155 A CN201080006155 A CN 201080006155A CN 102301681 B CN102301681 B CN 102301681B
Authority
CN
China
Prior art keywords
streaming server
address
media session
message
streaming
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
CN201080006155.6A
Other languages
English (en)
Other versions
CN102301681A (zh
Inventor
约翰·皮肯斯
霍伊-塔夫·卓扎夫·周
乔纳森·伽木
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.)
Enders GmbH
Xina Media Co ltd
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 CN102301681A publication Critical patent/CN102301681A/zh
Application granted granted Critical
Publication of CN102301681B publication Critical patent/CN102301681B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2521Translation architectures other than single NAT servers
    • H04L61/2528Translation at a proxy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • 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/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • 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/1066Session management
    • H04L65/1083In-session procedures
    • H04L65/1094Inter-user-equipment sessions transfer or sharing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • 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/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2517Translation of Internet protocol [IP] addresses using port numbers
    • 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
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]

Landscapes

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

Abstract

本发明公开了用于管理网络的客户端侧的客户端和该网络的流服务器侧的流服务器之间的媒体流传输的方法和系统,其中客户端侧和流服务器侧之间的通信要求网络地址转换(NAT),涉及允许在多个流服务器之间共享相同的流服务器侧IP地址,使得流服务器能够同时使用该相同的IP地址来源发不同的媒体会话。因为流服务器可以同时使用相同的IP地址来源发不同的媒体会话,所以媒体会话可以在不触发STUN信令或NAT映射中的改变的情况下,从一个流服务器被切换到不同的流服务器。

Description

经过网络地址转换(NAT)设备的媒体流传输
技术领域
本公开一般地涉及数字媒体网络,并且更具体地,涉及用于有效地进行通过支持网络地址转换(NAT)设备的数字媒体流传输的技术。
背景技术
数字视频内容在传统的有线电视和电话网络上实时地流传输给客户端,服务提供商借助有线电视和电话网络这两者来向客户提供更加有吸引力和多样化的服务。因为唯一的网际协议(IP)地址是有限的资源,所以接收流传输的数字视频内容的客户端通常位于NAT设备的后面。NAT设备一般在专用和公用地址空间之间重新映射IP地址,使得专用地址空间中的多个IP地址可以经由作为公用IP地址空间的一部分的单个IP地址被访问。
从流服务器到客户端的数字视频内容实时流传输通常使用开放式系统互连(OSI)模型的传输层(即第4层)的用户数据报协议(UDP),其中,OSI模型由国际标准化组织(OSI)和互联网工程任务组(IETF)定义。另外,已经开发了称为UDP对网络地址转换器的简单穿越(STUN)的协议,其使能对被重新映射的IP地址和端口号的发现,并且,还使能(例如从流服务器到客户端的)入站UDP流量对NAT设备的穿越。STUN协议利用各种消息来建立使得UDP流量能够成功穿越NAT设备的状态信息。另外,诸如实时流传输协议(RTSP)之类的其它控制协议也被用来在服务器和客户端之间传递新的参数,以便使能实时流传输。在视频流传输应用中,可能希望或有必要将视频流的源从一个流服务器切换至另一流服务器。在传统的系统中,将视频流从一个流服务器切换至另一流服务器触发根据STUN协议和另外的RTSP通知所生成的状态信息的改变,这可以是资源密集型操作。
发明内容
一种用于管理网络的客户端侧的客户端和该网络的流服务器侧的流服务器之间的媒体流传输的方法,其中,该客户端侧和该流服务器侧之间的通信要求网络地址转换NAT,该方法涉及允许在多个流服务器之间共享相同的流服务器侧IP地址,使得流服务器能够同时使用该相同的IP地址来源发(source)不同的媒体会话。因为流服务器可以同时使用相同的IP地址来源发不同的媒体会话,所以媒体会话可以在不触发STUN信令或NAT映射中的改变的情况下,从一个流服务器被切换到不同的流服务器。
在一个实施例中,所建立的媒体会话的映射的知识被聚合以使得流服务器组内的每个活动的媒体会话的源流服务器是已知的。聚合的知识随后被用来确保完成每个上游消息的所意欲的目的。例如,聚合的知识被用来确保上游消息被提供给正在源发该媒体会话的流服务器,而不论是哪个流服务器接收到该消息。
在另一实施例中,正在源发媒体会话的流服务器将该流服务器所特有的反馈IP地址嵌入被下游发送至客户端的消息中。客户端从该消息提取反馈IP地址并且使用该反馈IP地址作为从客户端被上游发送至该流服务器的随后的实时控制协议(RTCP)消息的目的地IP地址。因为目的地IP地址是正在源发该媒体会话的流服务器所特有的,所以上游RTCP分组被直接地路由至对应的流服务器。
本发明的其它方面和优点将从以下结合以示例方式图示出本发明原理的附图而进行的详细描述中显而易见。
附图说明
图1图示出用于将数字媒体流传输至多个不同端用户地点的系统的实施例。
图2A是由一个媒体流组成的媒体会话的逻辑示图,其中,媒体流仅由一个单向IP流组成。
图2B是由两个媒体流即MAIN媒体流和REPAIR媒体流组成的媒体会话的逻辑示图,其中,MAIN媒体流具有单向的服务器至客户端RTP IP流和双向的RTCP IP流,而REPAIR媒体流具有单向的服务器至客户端RTP IP流和双向的RTCP IP流。
图3A图示出流服务器、主要控制模块、NAT设备和机顶盒(STB)之间的消息传送以及流服务器之一和STB之间的媒体会话。
图3B图示出在媒体会话已经被切换至不同的流服务器之后的和图3A中相同的媒体会话。
图4A图示出将媒体会话ID、流服务器侧IP地址和流服务器侧端口号与正在源发媒体会话的流服务器相关联的媒体会话映射的表格的示例。
图4B图示出在媒体会话已经被切换至不同的流服务器之后的图4A的表格。
图5A图示出在使用MPEG-TS RTP来将数字视频内容流传输至STB的系统中的流服务器和STB之间经由NAT设备的消息传送。
图5B图示出在媒体会话已经被切换到不同的流服务器之后的图5A的流服务器和STB之间的消息传送。
图6图示出图3A、图3B、图5A和图5B中所示的控制模块的实施例。
图7图示出图3A、图3B、图5A和图5B中所示的流服务器的实施例。
图8是用于管理网络的客户端侧的客户端与网络的流服务器侧的流服务器之间的媒体流传输的方法的处理流程图,其中,客户端侧和流服务器侧之间的通信要求NAT。
在描述中,类似的标号用来标识类似的元素。
具体实施方式
图1图示出用于将数字媒体流传输至多个不同端用户地点102的系统100的实施例。该系统包括流服务器104、分发网络106、NAT设备108,以及各种端用户设备,诸如电话110、机顶盒(STB)112和个人计算机114,它们统称为“客户端”。在图1的实施例中,该系统能够提供从流服务器中的任一个流服务器向端用户设备中的任一个端用户设备提供数字视频内容流传输。例如,数字视频内容使用UDP/IP或实时传输(RTP)/UDP/IP上的运动图像专家组(MPEG)-2传输流(TS)从流服务器被下游流传输至STB。
在一个实施例中,媒体会话包括一个或多个媒体流,并且,媒体流包括一个或多个IP流,其中,IP流通过在具体源IP地址和传输层端口号(在此简称为“端口号”)与具体目的地IP地址和目的地端口号之间流动的流量来定义。在MPEG-2TS UDP的情况中,仅存在一个媒体流,其仅包括一个IP流,即单向的服务器至客户端IP流。图2A是媒体会话10的逻辑示图,媒体会话10包括一个媒体流12,媒体流12仅包括一个单向IP流14。在MPEG-2TS RTP的情况中,可以存在多于一个的媒体流,其中,每个媒体流具有一个或多个IP流。在MPEG-2TS RTP实现的一个实施例中,存在两个媒体流,MAIN(主要)媒体流和REPAIR(修复)媒体流。MAIN媒体流具有单向的服务器至客户端RTP IP流和双向的RTCPIP流,而REPAIR流具有单向的服务器至客户端RTP IP流和双向的RTCPIP流。图2B是媒体会话16的逻辑示图,媒体会话16包括两个媒体流即MAIN媒体流18和REPAIR媒体流20。MAIN媒体流具有单向的服务器至客户端RTP IP流22和双向的RTCP IP流24,而REPAIR流具有单向的服务器至客户端RTP IP流26和单向的RTCP IP流28。媒体会话的另外的媒体流包括例如前向纠错(FEC)媒体流和/或多个可伸缩视频编解码(SVC)媒体流。在一个实施例中,多个协议利用相同的IP地址和端口号组合。例如,STUN消息可以发送给与RTP IP流和/或RTCP IP流相同的IP地址和端口号组合。在MPEG-2TS RTP的情况中,对于MAIN RTP IP流,没有上游消息被发送,但是STUN消息使用与该RTP IP流相同的服务器侧IP地址和端口号组合被发送。对于MAIN RTCP IP流,RTCP消息和STUN消息二者都被上游发送至同一服务器侧IP地址和端口号组合。这里所描述的用于管理客户端和服务器之间的媒体流传输的技术适用于这里所描述的媒体会话、媒体流和IP流。
在图1的系统100中,流服务器104吸收数字视频内容,并且,将数字媒体视频流传输到分发网络106中。在一个实施例中,流服务器在物理上位于彼此的附近,例如,位于同一视频中心局(VHO)中,而在其它实施例中,流服务器位于不同的VHO中。
流服务器104和端用户地点102之间的分发网络106可以是基于线缆的网络。可替换地,其它类型的分发网络可以包括例如数字用户线路(DSL)网络、被动式光网络(PON)和无线接入网络。分发网络是基于分组的网络,并且,例如利用IP、以太网、ATM或其组合来进行数字视频内容通信。在基于分组的网络中,数字视频内容经由多播和单播来分发。多播通常涉及在包括导向不同客户端的多个分支的节点处复制分组。分支节点处的分组复制消除了在同一链路上发送同一内容的多个分组的需要。单播通常涉及节点(例如服务器和客户端)之间的点对点消息传送。点对点消息传送可以例如使用公知的基于源/目的地地址的协议(例如IP或以太网)来实现。通常,多播不受NAT的影响,但是多播被提及是要表明分发网络可以支持多播和单播这两者。
分发网络106支持从流服务器104到端用户设备的数字视频内容的下游多播和单播。分发网络还支持从端用户设备到流服务器的上游多播消息传送。分发网络可以利用支持多播和单播的任意网络技术。
端用户设备110、112和114是从分发网络接收数字视频内容并且将数字视频内容提供给视频显示设备(例如电视机)的系统。客户端可以体现为硬件、固件、软件或它们的任意组合。虽然在图1的实施例中,STB112接收来自流服务器104的数字视频内容,但是其它端用户设备可以接收来自流服务器的数字视频内容。客户端也可以供应其它功能,例如建立与流服务器的媒体会话。在一个实施例中,客户端管理网络层(层3)和传输层(层4)通信。
NAT设备108将端用户设备110、112和114的IP地址从专用地址空间中的IP地址重新映射到公用地址空间中的IP地址。具体地,对于从客户端侧到流服务器侧的上游方向的单播通信,NAT设备将端用户设备的IP地址和端口号映射到NAT设备的IP地址和端口号。对于给定的IP流,NAT设备的IP地址和端口号随后被用作上游传送至流服务器侧的分组中的源IP地址和端口号。对于从流服务器侧到客户端侧的下游方向上的通信,NAT设备的IP地址和端口号被用作目的地IP地址和目的地端口号,并且NAT设备将目的地IP地址和目的地端口号转换成对应端用户设备的IP地址和端口号。在典型的NAT操作中,所有流服务器产生的分组的源IP地址和端口号保持为未经修改的,以便穿过NAT设备。在图1的示例中,媒体会话的IP流用IP地址和端口号的组合来标识,并且,NAT设备映射在流服务器侧(即,公用IP地址域)和客户端侧(即,专用IP地址域)之间的IP地址和端口号的组合。在NAT的极端形式(例如,对称式NAT)中,NAT设备仅将来自特定外部源IP地址/端口组合的(流服务器到客户端的)入站流量传递给特定外部目的地IP地址/端口组合,其中该特定外部目的地IP地址/端口组合是先前已经经由例如STUN或另一协议而从外部源IP地址/端口组合进行出站消息传送检测到的。NAT设备本就执行过滤功能。即,NAT设备丢弃与已知的IP地址/端口号组合的简档(profile)不相匹配的入站分组,已知的IP地址/端口号组合是由NAT设备授权的,其中,该授权是出站消息检查功能并且是“n”周期保活出入映射。
在图1的示例中,媒体会话可以从流服务器104中的任一者中被发送或“源发”给端用户设备110、112和114中的任一者。多个流服务器的存在提供了源发媒体会话的灵活性。在某些情形下,希望或有必要将媒体会话的源从一个流服务器切换至不同的流服务器。另外,希望在端用户设备处没有任何服务中断的情况下进行该切换。然而,在传统的流传输体系架构中,每个流服务器具有用于媒体流传输的不同IP地址,因此媒体会话中的切换需要控制平面信令来获知媒体会话两侧的IP地址和端口号组合。例如,将媒体会话从一个流服务器切换至另一流服务器需要明确的控制平面信令(例如RTSP和STUN信令),以便向客户端告知媒体会话的新的IP地址和端口号组合,并且,致使客户端利用信令来开启经过NAT设备的路径。虽然切换一个媒体会话所需的控制平面信令在轻负荷的网络中可能不是无法承受的负担,但是例如在故障情形中可能需要的短时期内的大量媒体会话的迁移则可能花费很长一段时间,并且,可能导致服务中断。
为了避免触发将媒体会话从一个流服务器切换至另一流服务器通常需要的控制平面信令(例如RTSP和STUN信令),在不改变服务器侧的IP地址和端口号的情况下,媒体会话从一个流服务器被切换至不同的流服务器。在一个实施例中,通过允许在多个流服务器之间共享相同的流服务器侧IP地址,使得流服务器可以同时使用相同的IP地址来源发不同的媒体会话,来在不改变媒体会话的服务器侧的IP地址和端口号的情况下,将媒体会话从一个流服务器切换至不同的流服务器。因为媒体会话切换至不同的流服务器不需要改变流服务器侧IP地址和端口号,所以该切换不会触发RTSP信令、STUN信令,或NAT映射中的任何改变。
因为在多个流服务器之间共享相同的流服务器侧IP地址,所以将该共享的流服务器侧IP地址作为它们的目的地IP地址的上游消息可以被路由至流服务器中的任一个。因此,与一个流服务器正在源发的媒体会话有关的上游消息可以被路由到流服务器组中的不同流服务器而不是该源发流服务器。如果因为接收流服务器不是正在源发该媒体会话所以该流服务器没有识别该媒体会话,则该消息可能被丢弃,并且,上游消息的所意欲的目的无法完成。另外,因为路由网络的动态特性,接收上游消息的流服务器可能随时间而改变。
为了确保上游消息能够完成它们的所意欲的目的,所建立的媒体会话的映射的知识被聚合,使得流服务器组内的每个活动媒体会话的源流服务器是已知的。聚合的知识随后被用来确保完成上游消息的所意欲的目的。例如,聚合的知识被用来确保上游消息被提供给对应的流服务器。在一个实施例中,流服务器被配置为预先处理上游消息来确保完成上游消息的所意欲的目的。例如,流服务器可以被配置为充当这样的代理,其确保接收的消息被直接或间接地提供给正在源发与该消息相对应的媒体会话的流服务器。具体地,聚合的知识可以用来识别正在源发与该上游消息相对应的媒体会话的流服务器。另外,流服务器可以被配置为处理与其它流服务器所源发的媒体会话相对应的消息,例如实时控制协议(RTCP)报告消息,并且将处理后的数据提供给单独的日志记录服务器(loggingserver)。
图3A图示出三个流服务器104、主要控制模块118、次要控制模块120、NAT设备108和STB 112。流服务器、NAT设备和STB与参考图1所描述的那些类似,并且,通过分发网络(在图3中未示出)相互连接。流服务器被组织成流服务器组122,其包括三个流服务器、主要控制模块和次要控制模块。主要控制模块执行用于该组的各个控制功能,而次要控制模块充当对主要控制模块的备份。在图3A的实施例中,主要控制模块提供集中式控制功能,但是在其它实施例中,控制功能可以分布在流服务器中。在图3A的实施例中,各个流服务器共享相同的IP地址IP1,STB具有IP地址IP101,并且NAT设备具有IP地址IP2。在图3A的实施例中,流服务器和NAT设备的IP地址即IP1和IP2在公用IP地址空间中,并且STB的IP地址IP101在专用IP地址空间中。在一个实施例中,每个流服务器可以主有(host)多于一个的IP地址。另外,有些IP地址可在流服务器之间共享,而其它IP地址是具体流服务器所特有的。
图3A还图示出在UDP上的单个MPEG-2TS IP流的情况中的流服务器和STB之间经由NAT设备的消息传送。在图3A的实施例中,STUN用来支持流服务器和STB之间的通信,并且,RTSP用来控制从流服务器到STB的媒体的流传输。如在本领域中已知的,客户端到服务器RTSP消息包括DESCRIBE(描述)、SETUP(建立)、PLAY(播放)、PAUSE(暂停)、RECORD(记录)和TEARDOWN(拆卸)消息。图3A图示出从STB上游发送至主要控制模块的SETUP、PLAY 1和PLAY 2消息124。作为STUN信令的一部分,STUN绑定请求和/或响应(req/rsp)消息126在流服务器组、NAT设备和STB之间被传送。具体地,STUN绑定req/rsp消息和保活从客户端侧被上游发送至服务器侧,并且,STUN绑定req/rsp消息从服务器侧被下游发送至客户端侧。作为RTSP和STUN消息传送的结果,由STB、流服务器和NAT设备建立状态信息,并且在流服务器之一和STB之间建立包括媒体流128的媒体会话。
由NAT设备108生成的状态信息包括客户端IP地址和端口号与流服务器IP地址和端口号之间的绑定。例如,NAT设备维护将STB 112的专用IP地址和端口号与NAT设备的公用IP地址和端口号相关联的表格。将公用IP地址和端口号绑定到专用IP地址和端口号通过从客户端侧到流服务器侧的上游流量而被发起。一旦状态信息(即绑定)被建立,NAT设备将下游分组的目的地IP地址和端口号转换成STB的专用IP地址和端口号,并且将上游分组的源IP地址和端口号转换成NAT设备的公用IP地址和端口号。
在一个实施例中,建立客户端和服务器之间的媒体会话(由单个媒体流和单个IP流组成)涉及将流服务器侧IP地址和流服务器侧端口号映射到媒体会话标识符(ID)和流服务器。例如,具有流服务器侧IP地址IP1和端口号A的媒体会话被映射到流服务器1。另外,针对流服务器组122的所有媒体会话映射的知识在流服务器侧被聚合。例如,媒体会话映射的知识被聚合到标识由流服务器组中的流服务器源发的多个媒体会话的媒体会话映射的表格130中。图4A图示出将媒体会话ID、流服务器侧IP地址和流服务器侧端口号与源发媒体会话的流服务器相关联的媒体会话映射表的示例。在图4A的示例中,该表的顶行上的媒体会话映射对应于图3A中所示的媒体会话。具体地,表的顶行表明媒体会话ID 99的媒体流的IP流具有流服务器侧IP地址IP1、流服务器侧端口号A,并且,是由流服务器1 SS1源发的。
媒体会话映射的指示例如可以由主要控制模块118集中地聚合,或由每个流服务器104以分布式的方式聚合。另外,聚合的知识可以例如由主要控制模块集中保持或分发给组122中的流服务器。各个不同技术可以用来聚合知识并且用来使得聚合的知识可以使用。在参考图3A和图4A所描述的实施例中,媒体会话映射的知识由主要控制模块来聚合和保持。
在NAT映射被建立(例如RTSP和STUN完成了)并且媒体会话被建立了时,媒体流128可以从流服务器104之一经由NAT设备108被发送至STB 112。尽管媒体会话是活动的,但是上游消息132从客户端侧被发送至服务器侧。因为相同的IP地址在所有三个流服务器之间被共享,所以上游消息可以(经由IP路由选择)被路由至流服务器中的任一个。例如,在图3A的实施例中,上游消息被路由至流服务器2。流服务器2被配置为处理上游消息来判断上游消息是否需要在与该流服务器不同的实体处被处理。例如,上游消息或其一些部分可能需要由主要控制模块118、另一流服务器或诸如日志记录服务器之类的另一实体来处理。如图3A中所示,如果必要,上游消息可以被转发至主要控制模块和/或直接被转发至流服务器1。在其中聚合的知识被集中存储的实施例中,接收上游消息的流服务器将上游消息转发给主要控制模块,并且,主要控制模块使用聚合的知识来将上游消息或与上游消息有关的信息分发给对应的流服务器。在其中聚合的知识被分发给流服务器的实施例中,接收上游消息的流服务器可以使用聚合的知识来将上游消息或与上游消息有关的某些信息直接地转发给适当的流服务器,例如正在源发与该上游消息相对应的媒体会话的流服务器。
尽管描述了用于处理上游消息的一些技术,但是可以使用用于处理上游消息的其它技术,只要能完成上游消息的目的即可。例如,可以通过以下方式来完成消息的目的:将消息本身提供给对应的流服务器104或通过将与消息有关的某些信息(例如,指令、命令或数据)提供给正在源发媒体会话的流服务器,或者逻辑地处理消息,例如查看保活消息和丢弃保活消息。因为流服务器每一个都能够预先处理上游消息使得所以上游消息的意图目的被完成,所以即使接收流服务器不是正在源发媒体会话的同一流服务器,该流服务器组相对于上游消息也相当于单个IP主机。
尽管在图3A中图示出流服务器组122内的某些通信路径,但是流服务器组内的其它通信路径也是可以的。例如,主要控制模块118可以与次要控制模块120通信,并且流服务器104可以相互直接通信。
再次参考图3A,当流服务器1 104和STB 112之间的媒体会话是活动的时,可能希望或有必要将媒体会话切换至流服务器组122的流服务器中的不同一个流服务器。例如,可能希望将媒体会话切换到不同的流服务器以用于负载平衡,或切换到新的内容,或者可能因为故障的原因而有必要将媒体会话切换到不同的流服务器,故障例如是流服务器故障、接口故障、链路故障等。如上所述,通过允许在该组中的所有流服务器之间共享流服务器IP地址IP1,使得该组中的流服务器可以同时使用IP1来源发不同的媒体会话,可以在不改变服务器侧的IP地址和端口号的情况下,将图3A中所示的媒体会话从流服务器1切换至不同的流服务器。因为流服务器可以同时使用IP1来源发不同的媒体会话,所以可以在不改变IP流的端口号和服务器侧IP地址的情况下将媒体会话99被切换至不同的服务器。
图3B图示出在媒体会话被从由流服务器1104源发切换为由流服务器3源发之后与图3A中相同的媒体会话,其包括媒体流128。如图3B中所示,不需要另外的RTSP或STUN绑定req/rsp信令来完成该切换。一旦媒体会话被切换至流服务器3,媒体会话映射的表格必须被更新来反映该变化。图4B图示出在媒体会话被从由流服务器1源发切换为由流服务器3源发之后图4A的表格130。如图4B中所示,媒体会话99的媒体流的IP流仍然具有相同的流服务器侧IP地址IP1和端口号A,但是流服务器已经从流服务器1 SS1改变为流服务器3 SS3。
尽管媒体会话现在正由流服务器3源发,但是对应于该媒体会话的上游消息132仍然是由流服务器2 104来接收的。与当媒体会话是正由流服务器1源发时的情况一样,流服务器2预先处理上游消息并且确保上游消息的目的被完成。例如,流服务器2可以将上游消息转发给主要控制模块118,将上游消息直接转发给流服务器3,本地地处理该消息,和/或将消息转发给诸如日志记录服务器之类的另一实体。如果上游消息被转发给主要控制模块,则主要控制模块使用聚合的知识来判断哪个流服务器正在源发与该上游消息相对应的媒体会话。如果接收流服务器负责将消息直接转发给对应的流服务器,则接收流服务器使用聚合的知识的本地版本来做出转发决定。
例如,上游消息132可以包括STUN保活、RTCP报告和RTCPNACK。在一个实施例中,STUN保活消息被接收流服务器跟踪,RTCP报告被记录入日志,但是它们可以触发向源发流服务器转发标记来指示流的质量,并且如果容量可用的话,则RTCP NACK被转发给源发流服务器,或如果容量不可用则它们被丢弃。
除了使用用于管理上游消息的聚会知识以外,聚会知识可以用来确保相同的流服务器侧IP地址和端口号组合不被用于源发两个不同的媒体会话。
在一个实施例中,以上参考图3A和图3B描述的示例应用于UDP上的单个MPEG-2TS IP流的使用。在另一实施例中,用MPEG-TS RTP来替代MPEG-TS UDP来将数字视频内容流传输至端用户地点。RTP的一个特征是RTCP消息,其被用来传送用于RTP媒体流的带外控制信息。例如,RTCP消息被用来向流服务器提供有关由RTP媒体流经由第二IP流提供的服务质量的反馈。RTCP消息包括有关媒体连接的统计数据,例如发送的字节、发送的分组、丢失的分组、抖动和往返延迟。RTCP也用来生成否定确认(NAK)使得流服务器可以经由例如REPAIR RTP IP流生成修复分组。
尽管如上所述可以处理上游RTCP消息,其中,上游RTCP消息具有共享的流服务器侧IP地址IP1来作为它们的目的地IP地址并且接收流服务器104预先处理接收的消息来确保消息的目的被完成,但是在可替换实施例中,上游RTCP消息使用源发流服务器特有的反馈IP地址被直接发送给源发流服务器。在一个实施例中,正在源发媒体会话的流服务器将特定于该流服务器的反馈IP地址嵌入被下游发送给STB 112的RTCP消息。STB从RTCP消息中提取反馈IP地址,并且,使用反馈IP地址作为从STB上游发送至流服务器的随后的RTCP消息的目的地IP地址。因为目的地IP地址是正在源发该媒体会话的流服务器所特有的,所以上游RTCP分组被直接路由至对应的流服务器。如果媒体会话被切换至新的流服务器,则媒体会话的MAIN和REPAIR IP流在服务器侧上的IP地址和端口号不必改变,如上所述,而是新的源发流服务器所特有的新的反馈IP地址被嵌入到至少一个下游RTCP消息中。STB提取新的反馈IP地址并且使用新的反馈IP地址作为随后的上游RTCP消息的目的地IP地址,使得上游RTCP消息被直接路由至新的源发流服务器。在一个实施例中,反馈IP地址被嵌入在下游消息的有效载荷部分中,例如从源发流服务器发送至STB的RTCP消息的有效载荷部分中。
图5A图示出使用MPEG-TS RTP来将数字视频内容流传输至STB的媒体会话。媒体会话包括MAIN RTP IP流138和双向的MAIN RTCP IP流,下游140和上游141。如图5A中所示,STUN绑定req/rsp消息126在流服务器侧和客户端侧之间被交换来建立NAT映射和媒体会话。一旦NAT映射和媒体会话被建立并且是活动的,则双向的MAIN RTCP IP流140和141(例如RTCP报告、NAK、保活)在流服务器侧和客户端侧之间流动。另外,如上所述,流服务器1将流服务器1所特有的反馈IP地址例如IP3嵌入到被下游(MAIN RTCP IP流140)发送至STB的至少一个RTCP消息中。STB从RTCP消息中提取反馈IP地址,并且,使用反馈IP地址作为被从STB上游(MAIN RTCP IP流141)发送的随后的RTCP消息的目的地IP地址。因为目的地IP地址IP3时流服务器1所特有的,但是上游RTCP分组被直接地路由至流服务器1。
如果媒体消息被切换至新的流服务器104,则媒体会话的MAIN RTP和REPAIR RTP IP流的服务器侧上的IP地址和端口号不必改变,如上所述,而是新的源发流服务器所特有的新的反馈IP地址被嵌入到下游RTCP消息(MAIN RTCP IP流140)中。新的反馈IP地址被用作随后的上游RTCP消息(MAIN RTCP IP流141)的目的地IP地址。图5B图示出在媒体消息已经从流服务器1被切换至流服务器3之后在流服务器和STB 112之间的消息传送。如以上参考图5A所述,流服务器3将流服务器3所特有的反馈IP地址IP4嵌入到被下游发送至STB(MAIN RTCP IP流140)至少一个RTCP消息中。STB从RTCP消息中提取新的反馈IP地址,并且,将反馈IP地址用作从STB上游发送(MAIN RTCP IP流141)的随后的RTCP消息的目的地IP地址。因为目的地IP地址IP4是流服务器3所特有的,所以上游RTCP分组被直接地路由至流服务器3。STUN信令也针对用于反馈信令的RTCP IP流而发生。
应当注意,MPEG-TS UDP和MPEG-TS RTP可以同时用在相同的流服务器中。然而,使用反馈地址来引导上游消息的技术特定地适用于MPEG-TS RTP。此外,以上参考图3A和图3B所描述的示例适用于适用MPEG TS RTP的实现。例如,当不同的流服务器被选择来源发媒体会话时,所有4个IP流(MAIN RTP、MAIN RTCP、REPAIR RTP和REPAIRRTCP)都经由STUN被进行信号传送,并且,流服务器上的所有操作都如在图3A和图3B的单个IP流的情况中那样进行。
在参考图3A至图4B所描述的实施例中,流服务器被主要控制模块集中控制。在可替换实施例中,控制功能可以是完全地或部分地分布在流服务器中。另外,控制模块可以是在流服务器外部(如图3A至图4B中所示)或在一个或多个流服务器的内部。
要求相同的固定的服务器侧和客户端侧IP地址和端口组合的网络地址转换称为对称式NAT,但是上述技术适用于任意类型的NAT,甚至适用于路径行没有NAT的媒体会话。上述技术特别适用于对称式NAT。
图6图示出了图3A、图3B、图5A和图5B中所示的控制模块118。在图6的实施例中,控制模块包括媒体会话管理器150、聚合知识模块152和上游消息处理器154。媒体会话管理器管理媒体会话的建立、拆除和切换。聚合知识模块管理流服务器组内的媒体会话映射的聚合。另外,聚合知识管理器存储当处理上游消息时和当建立和/或切换媒体会话时可以使用的聚合知识。上游消息处理器处理上游消息或与上游消息有关的信息。在一个实施例中,上游消息处理器使用聚合知识模块中所存储的聚合知识来确保上游消息或与上游消息有关的信息被提供给适当的流服务器,例如正在源发与该上游消息相对应的媒体会话的(一个或多个)媒体流的(一个和多个)IP流的那个流服务器。媒体会话管理器、聚合知识模块和上游消息处理器可以体现为软件、硬件、固件或其组合。
图7图示出图3A、图3B、图5A和图5B中所示的流服务器104。在图7的实施例中,流服务器包括流播放管理器160、聚合知识模块162和上游消息处理器164。流播放管理器管理媒体会话的播放和切换。聚合知识模块管理流服务器组内的媒体会话映射的聚合。另外,聚合知识管理器存储当处理上游消息时和当建立和/或切换媒体会话时可以使用的聚合知识。上游消息处理器处理上游消息或与上游消息有关的信息。在一个实施例中,上游消息处理器使用聚合知识模块中所存储的聚合知识来确保上游消息或与上游消息有关的信息被提供给适当的流服务器,例如正在源发与该上游消息相对应的媒体会话的那个流服务器。在一个可替换实施例中,上游消息处理器识别流服务器是否是正在源发与上游消息有关的媒体会话,并且,将与不是该服务器正在源发的媒体会话有关的消息转发给控制模块。流播放管理器、合知识模块和上游消息处理器可以体现为软件、硬件、固件或其组合。
控制模块和流服务器的具体功能将根据责任在流服务器组内的分布而不同。以上描述了不同的功能分布的示例。
图8图示出用于管理网络的客户端侧的客户端与网络的流服务器侧的流服务器之间的媒体流传输的方法的流程图,其中,客户端侧和流服务器侧之间的通信要求NAT穿越。在块702处,在多个流服务器之间共享相同的IP地址,使得流服务器可以同时使用该IP地址作为不同媒体会话的流服务器侧IP地址。在块704处,在客户端和多个流服务器的流服务器之间建立媒体会话,其中,建立媒体会话涉及将流服务器侧IP地址和流服务器侧端口号映射到流服务器,其中,端口号是传输层端口号,并且,其中,客户端侧与流服务器侧之间的通信要求根据NAT映射的NAT。在块706处,在不改变媒体会话的流服务器侧IP地址或流服务器侧端口号的情况下将所建立的媒体会话从一个流服务器切换到不同的流服务器,以使得媒体会话的切换不触发NAT映射中的改变。
在方法的附加步骤中,在块708处,从多个流服务器聚合所建立的媒体会话的映射的知识。在块710处,使用所聚合的映射的知识来确保从客户端侧发送至流服务器侧的,并且,与正由流服务器之一源发的特定媒体会话相对应的消息完成其所意欲的目的。
上述技术的操作中的至少一些操作可以使用计算机可使用存储介质上所存储的供计算机执行的软件指令来实现。例如,计算机程序产品的实施例包括在一个或多个有形介质中被编码以用于执行的逻辑,并且当被执行时使得计算机执行如上所述的操作。
上述技术的实施例可以采用全部硬件的实施例、全部软件的实施例或包含硬件和软件元素两者的实施例的形式。在一个实施例中,上述技术以软件实现,软件包括但不限于固件、常驻的软件、微代码等。
此外,上述技术的实施例可以采用计算机程序产品的形式,计算机程序产品可以从提供通过与计算机或任意指令执行系统连接而使用的程序代码的计算机可使用的或计算机可读的存储介质取得。为了描述的目的,计算机可使用的或计算机可读的存储介质可以是能够存储通过与指令执行系统、装置或设备连接而使用的程序的任何装置。
计算机可使用的或计算机可读的存储介质可以是电子的、磁的、光的、电磁的、红外的或半导体的系统(或装置或设备),或传播介质。计算机可读存储介质的示例包括半导体或固态存储器,磁带、可移除计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。光盘的当前示例包括带有只读存储器的致密盘(CD-ROM)、可读写的致密盘(CD-R/W)、数字视频盘(DVD),以及诸如蓝光和HD-DVD之类的高清晰度(HD)盘。
适合于存储和/或执行程序代码的数据处理系统的实施例包括通过诸如数据、地址、和/或控制总线之类的系统总线直接地或间接地耦合到存储器元件的至少一个处理器。存储器元件可以包括在程序代码的实际执行期间所采用的本地存储器、大容量存储装置,以及缓冲存储器,缓冲存储器提供对至少某些程序代码的临时存储以便减少在执行期间必须从大容量存储装置取回代码的次数。
尽管已经描述和图示出了本发明的具体实施例,但是本发明不限于这里所描述和所图示的具体形式或部件布置。本发明仅由权利要求限定。

Claims (19)

1.一种用于管理网络的客户端侧的客户端和该网络的流服务器侧的流服务器之间的媒体流传输的方法,其中,所述客户端侧和所述流服务器侧之间的通信要求网络地址转换NAT,所述方法包括:
在多个流服务器之间共享相同的网际协议IP地址,使得所述流服务器能够同时使用该IP地址作为不同媒体会话的流服务器侧IP地址;
在客户端和所述多个流服务器中的流服务器之间建立媒体会话,其中,建立媒体会话涉及将流服务器侧IP地址和流服务器侧端口号映射到流服务器,其中,所述端口号是传输层端口号,并且,其中,所述客户端侧和所述流服务器侧之间的通信要求根据NAT映射的NAT;
在不改变所建立的媒体会话的流服务器侧IP地址或流服务器侧端口号的情况下,将所述媒体会话从一个流服务器切换至不同的流服务器,使得所述媒体会话的切换不会触发所述NAT映射中的改变,
所述方法还包括:
在所述流服务器侧,将反馈IP地址嵌入RTCP消息的有效载荷部分中,并且,将所述RTCP消息从正在源发媒体会话的所述流服务器发送至客户端,其中,所述反馈IP地址是正在源发所述媒体会话的所述流服务器所特有的,并且由正在源发所述媒体会话的所述流服务器嵌入;
在所述流服务器侧,接收来自所述客户端的与所述媒体会话有关的RTCP消息,其中,所述反馈IP地址被用作所接收的RTCP消息的目的地IP地址;
在所述媒体会话从一个流服务器被切换至不同的流服务器之后,将不同的反馈IP地址嵌入RTCP消息的有效载荷部分中,并且,将所述RTCP消息从正在源发媒体会话的所述流服务器发送至所述客户端,其中,所述不同的反馈IP地址是所述不同的流服务器所特有的,并且由正在源发所述媒体会话的所述流服务器嵌入;以及
在所述流服务器侧,接收来自所述客户端的与所述媒体会话有关的另一RTCP消息,其中,所述不同的反馈IP地址被用作所接收的RTCP消息的目的地IP地址。
2.根据权利要求1所述的方法,还包括:
聚合来自所述多个流服务器的所建立的媒体会话的映射的知识;以及
使用所聚合的所述映射的知识来确保消息完成其所意欲的目的,所述消息是从所述客户端侧被发送至所述流服务器侧的并且与所述流服务器中的一个流服务器正在源发的特定媒体会话相对应。
3.根据权利要求1所述的方法,还包括:
接收上游消息,该上游消息对应于所述流服务器中的一个流服务器正在源发的特定媒体会话;
在接收所述上游消息的流服务器处,判断所述上游消息是否需要在远离所述流服务器的实体处被处理;以及
如果判定所述消息需要被远程地处理则将所述消息发送给另一实体。
4.根据权利要求3所述的方法,其中,所述上游消息被发送给控制模块。
5.根据权利要求3所述的方法,其中,与所述上游消息有关的信息被发送给正在源发与所述上游消息相对应的媒体会话的流服务器。
6.根据权利要求3所述的方法,其中,所述上游消息包括RTCP报告消息,所述方法还包括,在接收到所述上游消息的所述流服务器处,处理所述RTCP报告消息,并且,将处理后的与所述RTCP报告消息有关的信息转发给实体,该实体不是所述多个流服务器之一。
7.根据权利要求6所述的方法,其中,所述实体是日志记录服务器。
8.根据权利要求1所述的方法,还包括:
在流服务器处,接收上游消息,所述上游消息与所述流服务器中的一个流服务器正在源发的特定媒体会话相对应,其中,接收到所述上游消息的所述流服务器不是正在源发所述媒体会话的流服务器;
响应于所述上游消息,从接收到所述上游消息的所述流服务器发送消息;以及
响应于所发送的消息,触发正在源发所述媒体会话的流服务器处的操作。
9.根据权利要求1所述的方法,其中,NAT包括对称式NAT。
10.一种用于管理网络的客户端侧的客户端和该网络的流服务器侧的流服务器之间的媒体流传输的系统,其中,所述客户端侧和所述流服务器侧之间的通信要求网络地址转换NAT,所述系统包括:
控制模块,该控制模块被配置为:
在客户端和多个流服务器中的流服务器之间建立媒体会话,其中,所建立的媒体会话包括被映射到流服务器的流服务器侧网际协议IP地址和流服务器侧端口号,其中,所述端口号是传输层端口号,并且,其中,所述客户端侧和所述流服务器侧之间的通信要求根据NAT映射的NAT,并且,其中,相同的IP地址在多个流服务器之间被共享,使得所述流服务器能够同时使用该IP地址作为不同媒体会话的流服务器侧IP地址;并且
在不改变所建立的媒体会话的流服务器侧IP地址或流服务器侧端口号的情况下,将所述媒体会话从一个流服务器切换至不同的流服务器,使得所述媒体会话的切换不会触发所述NAT映射中的改变,
其中,所述流服务器被配置为:
将反馈IP地址嵌入下游RTCP消息的有效载荷部分中,其中,所述反馈IP地址是正在源发媒体会话的流服务器所特有的,并且由正在源发所述媒体会话的所述流服务器嵌入,其中,所述反馈IP地址在所述客户端侧被用作RTCP消息的目的地IP地址;以及
在所建立的媒体会话从一个流服务器被切换至不同的流服务器之后,将不同的反馈IP地址嵌入下游RTCP消息的有效载荷部分中,其中,所述不同的反馈IP地址是所述不同的流服务器所特有的,并且由正在源发所述媒体会话的所述流服务器嵌入。
11.根据权利要求10所述的系统,其中,所述控制模块还被配置为:
聚合来自所述多个流服务器的所建立的媒体会话的映射的知识;以及
使用所聚合的所述映射的知识来确保消息完成其所意欲的目的,该消息是从所述客户端侧被发送至所述流服务器侧的并且与所述流服务器中的一个流服务器正在源发的特定媒体会话相对应。
12.根据权利要求10所述的系统,还包括所聚合的来自所述多个流服务器的所建立的媒体会话的映射的知识的表格。
13.根据权利要求12所述的系统,其中,所述表格被存储在所述流服务器处。
14.根据权利要求10所述的系统,其中,所述流服务器被配置为:
接收上游消息,该上游消息与所述流服务器中的一个流服务器正在源发的特定媒体会话相对应;
在接收所述上游消息的流服务器处,判断所述上游消息是否需要在远离该流服务器的实体处被处理;以及
如果判定所述消息需要被远程地处理,则将所述消息发送给另一实体。
15.根据权利要求14所述的系统,其中,所述上游消息被发送给控制服务器。
16.根据权利要求14所述的系统,其中,所述上游消息被发送给正在源发与所述上游消息相对应的媒体会话的流服务器。
17.一种用于管理网络的客户端侧的客户端和该网络的流服务器侧的流服务器之间的媒体流传输的方法,其中,所述客户端侧和所述流服务器侧之间的通信要求网络地址转换NAT,所述方法包括:
在多个流服务器之间共享相同的网际协议IP地址,使得所述流服务器能够同时使用该IP地址作为不同媒体会话的流服务器侧IP地址;
在客户端和所述多个流服务器中的流服务器之间建立媒体会话,其中,建立媒体会话涉及将流服务器侧IP地址和流服务器侧端口号映射到流服务器,其中,所述端口号是传输层端口号,并且,其中,所述客户端侧和所述流服务器侧之间的通信要求根据NAT映射的NAT;
在不改变所建立的媒体会话的流服务器侧IP地址或流服务器侧端口号的情况下,将所述媒体会话从一个流服务器切换至不同的流服务器,使得所述媒体会话的切换不会触发所述NAT映射中的改变;
所述方法还包括:
接收上游消息,该上游消息与所述流服务器中的一个流服务器正在源发的特定媒体会话相对应;
在接收所述上游消息的流服务器处,判断所述上游消息是否需要在远离该流服务器的实体处被处理;以及
如果判定所述消息需要被远程地处理,则将所述消息发送给另一实体,
其中所述上游消息包括RTCP报告消息,所述方法还包括:在接收所述上游消息的流服务器处,处理所述RTCP报告消息,并将处理后的与所述RTCP报告消息相关的信息转发到与所述多个流服务器不同的实体,其中该实体是日志记录服务器。
18.根据权利要求17所述的方法,还包括:
聚合来自所述多个流服务器的所建立的媒体会话的映射的知识;以及
使用所聚合的所述映射的知识来确保消息完成其所意欲的目的,所述消息是从所述客户端侧被发送至所述流服务器侧的并且与所述流服务器中的一个流服务器正在源发的特定媒体会话相对应。
19.根据权利要求17所述的方法,还包括:
在所述流服务器侧,将反馈IP地址嵌入RTCP消息的有效载荷部分中,并且将所述RTCP消息从正在源发所述媒体会话的所述流服务器发送到客户端,其中,所述反馈IP地址是正在源发媒体会话的流服务器所特有的;
在所述流服务器侧,接收与所述媒体会话相关的来自所述客户端的RTCP消息,其中所述反馈IP地址被用作所接收的RTCP消息的目的地IP地址;
在所建立的媒体会话从一个流服务器被切换至不同的流服务器之后,将不同的反馈IP地址嵌入RTCP消息的有效载荷部分中,并且将所述RTCP消息从正在源发所述媒体会话的所述流服务器发送到所述客户端,其中,所述不同的反馈IP地址是所述不同的流服务器所特有的;以及
在所述流服务器侧,接收与所述媒体会话相关的来自所述客户端的另一RTCP消息,其中所述不同的反馈IP地址被用作所接收的RTCP消息的目的地IP地址。
CN201080006155.6A 2009-01-30 2010-01-27 经过网络地址转换(nat)设备的媒体流传输 Active CN102301681B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/362,813 US8166179B2 (en) 2009-01-30 2009-01-30 Media streaming through a network address translation (NAT) device
US12/362,813 2009-01-30
PCT/US2010/022211 WO2010088260A1 (en) 2009-01-30 2010-01-27 Media streaming through a network address translation (nat) device

Publications (2)

Publication Number Publication Date
CN102301681A CN102301681A (zh) 2011-12-28
CN102301681B true CN102301681B (zh) 2014-07-16

Family

ID=42046336

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080006155.6A Active CN102301681B (zh) 2009-01-30 2010-01-27 经过网络地址转换(nat)设备的媒体流传输

Country Status (4)

Country Link
US (1) US8166179B2 (zh)
EP (1) EP2392122B1 (zh)
CN (1) CN102301681B (zh)
WO (1) WO2010088260A1 (zh)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9083587B2 (en) * 2009-08-21 2015-07-14 Cisco Technology, Inc. Port chunk allocation in network address translation
US8782237B2 (en) 2010-01-28 2014-07-15 Intel Corporation Audio/video streaming in a topology of devices
US9026664B2 (en) * 2010-03-19 2015-05-05 Mobile Devices Ingenierie Data communication system and method
US20130091204A1 (en) * 2010-08-12 2013-04-11 Joheem Loh System and method of integrating various platforms and methods of using the same
US8997137B2 (en) * 2011-12-16 2015-03-31 Verizon Patent And Licensing Inc. Stream control with different trick-mode protocols
EP2815323B1 (en) 2012-02-14 2017-03-08 International Business Machines Corporation Method for controlling access of clients to a service in a cluster environment
US9860296B2 (en) 2012-03-23 2018-01-02 Avaya Inc. System and method for end-to-end call quality indication
US9178778B2 (en) * 2012-03-23 2015-11-03 Avaya Inc. System and method for end-to-end RTCP
US9356917B2 (en) 2012-03-23 2016-05-31 Avaya Inc. System and method for end-to-end encryption and security indication at an endpoint
US9306994B2 (en) 2012-06-06 2016-04-05 Cisco Technology, Inc. Stabilization of adaptive streaming video clients through rate limiting
US8843656B2 (en) 2012-06-12 2014-09-23 Cisco Technology, Inc. System and method for preventing overestimation of available bandwidth in adaptive bitrate streaming clients
US9402114B2 (en) 2012-07-18 2016-07-26 Cisco Technology, Inc. System and method for providing randomization in adaptive bitrate streaming environments
CN102780602B (zh) * 2012-07-31 2015-07-08 深圳市共进电子股份有限公司 一种数据传输方法及装置
US9749373B2 (en) * 2012-08-14 2017-08-29 Apple Inc. System and method for improved content streaming
EP3796660A1 (en) * 2012-09-04 2021-03-24 TiVo Solutions Inc. Wireless media streaming system
US9516078B2 (en) 2012-10-26 2016-12-06 Cisco Technology, Inc. System and method for providing intelligent chunk duration
CN103856574B (zh) * 2012-12-06 2017-07-14 中国电信股份有限公司 用于控制业务的方法、设备和系统
US20150372911A1 (en) * 2013-01-31 2015-12-24 Hitachi, Ltd. Communication path management method
KR101733504B1 (ko) * 2013-09-09 2017-05-10 엘지전자 주식회사 디지털 방송 시스템에서 고화질 uhd 방송 컨텐츠 송수신 방법 및 장치
CN104023206B (zh) * 2014-06-04 2017-06-13 浙江宇视科技有限公司 媒体流集中转发方法及装置
CN105338398A (zh) * 2014-08-11 2016-02-17 中兴通讯股份有限公司 一种机顶盒管理方法、装置及系统
US10904312B2 (en) * 2014-12-10 2021-01-26 Akamai Technologies, Inc. Server-side prediction of media client steady state
CN104811473B (zh) * 2015-03-18 2018-03-02 华为技术有限公司 一种创建虚拟非易失性存储介质的方法、系统及管理系统
US11057446B2 (en) 2015-05-14 2021-07-06 Bright Data Ltd. System and method for streaming content from multiple servers
US10237236B2 (en) * 2015-06-25 2019-03-19 Microsoft Technology Licensing, Llc Media Session
KR102421791B1 (ko) * 2016-05-26 2022-07-15 삼성전자주식회사 Mmt 네트워크 시스템에서 미디어 시간 정보를 전송 하는 방법 및 장치
US10110469B2 (en) * 2016-07-21 2018-10-23 Cisco Technology, Inc. Detecting and preventing network loops
CN107592375A (zh) * 2017-09-14 2018-01-16 四川省电科互联网加产业技术研究院有限公司 一种用于智慧城市系统的水资源参数采集装置及方法
US10812445B2 (en) * 2018-02-13 2020-10-20 Sling Media Pvt Ltd Cloud access to local network addresses
WO2019166081A1 (en) * 2018-02-28 2019-09-06 Nokia Technologies Oy Transparent integration of 3gpp network into tsn based industrial network
CN109067659B (zh) * 2018-08-20 2021-08-06 普联技术有限公司 一种会话建立方法、路由器及会话系统
CN114979373B (zh) * 2021-09-07 2023-09-19 中移互联网有限公司 一种中间号业务的通话实现方法、装置及电子设备
US11831715B1 (en) * 2022-10-19 2023-11-28 Dell Products L.P. Scalable ethernet bunch of flash (EBOF) storage system

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6529475B1 (en) * 1998-12-16 2003-03-04 Nortel Networks Limited Monitor for the control of multimedia services in networks
US20030048780A1 (en) * 2001-09-10 2003-03-13 Phomsopha Bounthavivone K. Supporting real-time multimedia applications via a network address translator
US7003575B2 (en) * 2001-10-15 2006-02-21 First Hop Oy Method for assisting load balancing in a server cluster by rerouting IP traffic, and a server cluster and a client, operating according to same
US20030126196A1 (en) * 2001-12-27 2003-07-03 Todd Lagimonier System for optimizing the invocation of computer-based services deployed in a distributed computing environment
US7139840B1 (en) 2002-06-14 2006-11-21 Cisco Technology, Inc. Methods and apparatus for providing multiple server address translation
US20050117605A1 (en) 2003-07-22 2005-06-02 Innomedia Pte Ltd. Network address and port translation gateway with real-time media channel management
CN100399768C (zh) 2003-12-24 2008-07-02 华为技术有限公司 实现网络地址转换穿越的方法、系统
CA2601767C (en) * 2005-04-01 2012-05-22 Arroyo Video Solutions, Inc. Stream control failover
KR100765325B1 (ko) 2006-02-13 2007-10-09 삼성전자주식회사 Stun을 이용한 대칭형 네트워크 주소 변환 시스템 및그 방법
US8788706B2 (en) * 2006-02-27 2014-07-22 Vudu, Inc. Method and system for managing data transmission between devices behind network address translators (NATs)
US8031701B2 (en) * 2006-09-11 2011-10-04 Cisco Technology, Inc. Retransmission-based stream repair and stream join
US7953883B2 (en) * 2009-01-27 2011-05-31 Cisco Technology, Inc. Failover mechanism for real-time packet streaming sessions

Also Published As

Publication number Publication date
EP2392122A1 (en) 2011-12-07
US8166179B2 (en) 2012-04-24
WO2010088260A1 (en) 2010-08-05
US20100198979A1 (en) 2010-08-05
EP2392122B1 (en) 2019-05-01
CN102301681A (zh) 2011-12-28

Similar Documents

Publication Publication Date Title
CN102301681B (zh) 经过网络地址转换(nat)设备的媒体流传输
CN101523371B (zh) 用于具有可缩放视频编码服务和多播的多点会议的系统和方法
CN108574597B (zh) 一种状态更新的方法、装置以及交互系统
CN103518351B (zh) 使用文件递送方法的ip广播流式传输服务分布
CN110166728B (zh) 一种视联网开会方法及装置
CN108882008B (zh) 一种数据转换的方法和设备
CN108881814A (zh) 视联网终端与网络摄像头通信的方法、装置以及交互系统
CN101473571A (zh) 基于重传的流修复和流加入
JP2005527126A (ja) Umtsネットワークにおいてマルチキャスト通信を実行するための方法および装置
CN109120946A (zh) 收看直播的方法和装置
CN110087040B (zh) 一种监控视频调取方法及系统
CN110381030B (zh) 一种同步请求的处理方法及装置
CN110022295B (zh) 一种数据传输的方法和视联网系统
CN109922351B (zh) 一种发布直播业务的方法和装置
CN110049273B (zh) 一种基于视联网的会议录制方法和中转服务器
CN110113566A (zh) 一种视频流调取的方法和装置
CN110035005A (zh) 数据处理方法和装置
CN111147859A (zh) 一种视频处理方法和装置
KR20060080875A (ko) 근거리 네트워크에서 다중점 스트림을 전송하는 방법 및이러한 방법을 실행하는 연결 디바이스
CN101453349B (zh) 一种处理实时流媒体协议的方法及系统
CN111614927A (zh) 视频会话建立法、装置、电子设备及存储介质
US9826009B2 (en) Balance management of scalability and server loadability for internet protocol (IP) audio conference based upon monitored resource consumption
CN110177023A (zh) 一种基于视联网的通信连接检测方法及装置
CN109857591A (zh) 一种传输数据确认的方法和装置
CN111131758B (zh) 一种音视频数据调取方法、装置及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: The Middlesex County

Patentee after: Xina Media Co.,Ltd.

Address before: The Middlesex County

Patentee before: Enders GmbH

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190108

Address after: The Middlesex County

Patentee after: Enders GmbH

Address before: California, USA

Patentee before: Cisco Technology, Inc.