CN101292474A - 应用级多播架构 - Google Patents

应用级多播架构 Download PDF

Info

Publication number
CN101292474A
CN101292474A CNA2006800387910A CN200680038791A CN101292474A CN 101292474 A CN101292474 A CN 101292474A CN A2006800387910 A CNA2006800387910 A CN A2006800387910A CN 200680038791 A CN200680038791 A CN 200680038791A CN 101292474 A CN101292474 A CN 101292474A
Authority
CN
China
Prior art keywords
node
packet
readable medium
application
host
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2006800387910A
Other languages
English (en)
Other versions
CN101292474B (zh
Inventor
C·罗
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN101292474A publication Critical patent/CN101292474A/zh
Application granted granted Critical
Publication of CN101292474B publication Critical patent/CN101292474B/zh
Expired - Fee Related 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/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1827Network arrangements for conference optimisation or adaptation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1854Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with non-centralised forwarding system, e.g. chaincast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/15Flow control; Congestion control in relation to multipoint traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS

Landscapes

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

Abstract

提供一种应用级多播架构,它允许多个节点用数据分组实时进行交互,这些数据分组是基于有关各节点之间的连接状态的信息来路由的。每一节点与同一交互会话中的其它节点共享它们的连接状态。数据分组可在应用级中使用在发送节点上可用的多个分组传输协议来路由。可基于数据分组的服务质量(QoS)要求来选择具体的传输协议。在交互会话中的节点可按照基于连接状态创建的路由图将数据分组中继至其它节点。可为任何多方交互式应用实现该应用级多播架构,诸如用于视频会议、多人游戏、远程教育、虚拟会议以及语音通信等应用。

Description

应用级多播架构
背景技术
随着因特网技术和宽带网络的发展,在市场上出现越来越多的多方交互式应用。多方交互式应用一般允许多个用户实时交互。这些应用的示例包括视频会议、因特网游戏、远程教育等等。在这些应用中的媒体传送具有一对多语义学特征。
多方交互式应用使用网络层中的通信机制来管理应用之间的分组传送。通常,仅使用一种类型传输协议。例如,多方交互式应用可使用传输控制协议(TCP)机制来发送分组给其他应用。TCP是用于受控消息传递的可靠协议并且要求每一源-目的对的独立连接。因而,对于涉及多个参与者的交互式会话而言,排他性地使用TCP机制变得很麻烦。
对于向其它应用发送分组的多方交互式应用而言,使用用户数据报协议(UDP)是较快捷的方法。然而,UDP是无连接的并且提供非常少的错误恢复服务。因而,UDP在可靠性为重要需求的情况下不是理想的传送。
多方交互式应用也可使用IP多播来处理数据传送。IP多播是一种可将消息同时发送到一组目的地的方法。遗憾的是,IP多播一般需要理解该协议且能够在合适时刻复制分组的专用路用器。因此,尽管IP多播在专用网中是有效的,但IP多播对于异构网络中的节点在因特网上进行实时交互是不实际的。
发明内容
下面提供本揭示的简化概要以便为读者提供基本的理解。本概要不是本揭示的详尽概观,并且既不标识本发明的关键/本质元素也不描绘本发明的范围。其唯一目的是以简化形式提供在此揭示一些概念作为稍后提供的更详细描述的序言。
本示例提供应用级多播架构,它允许多个节点通过数据分组实时交互,这些数据分组是基于有关这些节点之间的连接状态的信息来路由的。在一个实现中,每一节点在同一交互会话中与其它节点共享它们的连接状态。数据分组可在应用级中使用在发送节点上可用的多个分组传输协议来路由。可基于数据分组的服务质量(QoS)要求来选择特定的传输协议。注意在交互会话中可按照路由图将数据分组中继到其它节点,路由图是基于连接状态创建的。可为任意多方交互式应用实现多播架构,诸如用于视频会议、多人游戏、远程教育、虚拟会议和语音通信的应用。
许多伴随特征将随着参考下面的详细描述并结合附图进行理解而得到更好的认识。
附图说明
从结合附图的下列详细描述将更好地理解本描述,在附图中:
图1示出一示例应用级多播(ALM)系统100。
图2示出图1所示的ALM模块的示例架构。
图3示出应用级多播系统的示例路由图。
图4示出应用级多播系统的示例协议分层模型。
图5示出应用级多播系统的连接级协议数据分组的示例首部。
图6示出应用级多播系统的路由级协议数据分组的示例首部。
图7示出应用级多播系统的带有路由级协议链路状态的示例数据分组。
图8示出应用级多播系统的带有带宽测量信息的示例数据分组。
图9示出应用级多播系统的带有带宽测量报告的示例数据分组。
图10示出应用级多播系统中与交互会话的节点进行通信的示例过程。
图11示出监视与关联于交互会话的节点的连接状态的示例过程。
图12示出处理关联于交互会话的数据分组的示例过程。
图13示出实现所述系统和方法的示例性计算机设备。
相同的标号用于指示附图中相同的部分。
具体实施方式
下面结合附图提供的详细描述旨在作为对本示例的描述,而非表示用于解释或利用本示例的唯一形式。该描述阐述本示例的功能以及用于构造和操作本示例的步骤序列。然而,相同或等价的功能与序列可由不同的示例来完成。
图1示出一示例应用级多播(ALM)系统100。多播是将共同的消息通信给选择的一组接收器的过程。与需要网络路由器来确定分组传递路径并在必要时复制分组的IP多播不同,应用级多播将所有功能性推到终端系统。ALM不要求来自网络路由器的任何特殊支持;因此可容易地在现有网络基础架构之上采用它。如图1所示,系统100包括在设备103-105中的多方交互式应用113-115。多方交互式应用被配置为使交互会话的成员能够在网络135中通过多播彼此交互。在本示例中,多方交互式应用113-115可以是能够实时交互的任意类型的应用,诸如用于视频会议、多人游戏、远程教育、虚拟会诊、语音通信等等的应用。交互会话包括允许多方交互式应用113-115交换数据的任何会话。例如,交互会话可以是视频会议、音频会议、多媒体会议、在线游戏或涉及多用户的任何事件。服务器130中的会话控制器131被配置为在多方交互式应用113-115之间建立通信会话。
对于通信的实际过程,多方交互式应用113-115被配置为与设备103-105中的ALM模块123-125交互。ALM模块123-125配置为用应用级网络监视和数据分组路由来处理多方交互式应用113-115之间的通信。具体地说,ALM模块123-125被配置为确定可用的传输机制并且以可用的最适合的机制发送数据分组。ALM模块123-125还被配置为监视设备103-105之间的连接状态并且按照最近更新的状态路由数据分组。下面结合图2讨论示例ALM模块。
在一示例操作中,多方交互式应用113从用户接收请求以发起与设备104-105中其他用户的交互会话。多方交互式应用113建立与会话控制器131的会话,会话控制器131提供有关会话的信息给多方交互式应用114-115,以供其他成员连接该会话中的发起用户所用。多方交互式应用113-115随后与ALM模块123-125交互以建立彼此的连接(即链路)。ALM模块123-125随后确定相对于彼此的连接状态,诸如延迟、连通性、可用的传输协议等等,并且向彼此发送该信息。基于该信息,每一ALM模块计算向交互会话中每一其它设备发送数据分组的路由。
图2示出图1所示的ALM模块123的示例架构。ALM模块123允许节点(例如运行在多方交互式应用上的设备)在具有多个成员的交互会话中与其它节点通信。具体地,多方交互式应用可以依赖ALM模块123来主动管理数据分组路由,而不必仅依赖于直接的一对一连接。ALM模块123能够从多种协议类型中选择以处理数据分组路由。这些协议一般包括传输控制协议(TCP)、用户数据报协议(UDP)和与IP多播有关的协议。UDP是适于媒体流传输的轻量协议。TCP是适于消息传递的可靠协议。在同一交互会话中的终端系统可被配置为建立彼此之间的TCP和UDP信道两者。连接尝试可被发送到各类网络地址,诸如客户机在本地看到的专有地址、服务器查明的公共地址、客户机从支持通用即插即用(UPnP)的网络地址转换(NAT)检索到的公共地址、IP多播地址等等。
为了允许藏在不同NAT背后的终端系统之间进行UDP通信,定义了UPD穿孔协议并且该协议与经NAT的UDP简单穿越(STUN)相似。在一个示例实现中,每一节点发送一定数量的UDP分组(例如10个分组)到交互会话中其它节点的每一可用网络地址。如果发送节点在发送所有这些分组到一特定节点之后不能获得应答,则该发送节点将假设该特定节点不能经由UDP到达。
除了TCP和UDP之外,ALM模块123在IP多播可用时使用IP多播。IP多播是用于一对多数据分发的有效机制。然而,IP多播一般因为固有的问题而不是全局布置的。通常,IP多播具有不调合的布置,大部分在专用网中。当IP多播可用时使用IP多播可以大大提高数据传递的效率。在一示例实现中,每一交互会话与一IP多播地址相关联,后者可由发起该会话的节点或服务器随机产生。该地址可注册在服务器的会话控制器上并在其它节点参加时分发给其它节点。参加该交互会话的每一节点发送出其自己的信息。如果节点通过IP多播信道从同一会话中的成员收到探查分组,则该节点可停止TCP/UDP探查并使用IP多播用于所有后续的通信。
如图2所示,ALM模块123包括应用级中的组件。这些组件可在会话层202、成员层203和路由层204中实现。ALM模块123还可包括网络级中的组件。这些组件可包括在连接层208和传输层209中。
ALM模块123被配置为允许用户发起并同时参加多个交互会话。例如,ALM模块123可被配置为支持多方A/V会议应用,该应用允许用户与不同组的成员节点建立多个会议会话。ALM模块123还允许用户同时出席多个会议会话。在会话层202中,会话对象如会话对象214和215被配置为维护交互会话和每一会话的成员或出席者列表。会话对象214-215由会话管理器212管理。
因为ALM模块123包括不同层中的组件,故连接层208中的组件可以不知道成员节点正在参加哪一个交互会话。因而,即使当一个节点出现在两或多个会话中,ALM模块123可仅创建一个节点连接模块实例并且为每一类型的连接仅维护一个连接。
在成员层203中,每一成员模块227-229被配置为保持成员的应用级属性,如成员ID、其正在参加的交互会话等等。通常,在应用级中成员模块227-229与网络级中节点连接模块247-249之间存在一对一的映射。每一成员模块227-229还被配置为管理来自相应成员的媒体数据,并且如果使用信道编码则装配A/V分组。
本地成员模块225被配置为管理由同一节点中的多方交互式应用生成的本地流223。例如,本地成员模块225可从节点中的媒体捕捉模块接收数据流并使用由成员模块227-229提供的信息将这些流发送到交互会话中的其它节点。
在路由层204中的组件用作应用级上的支持多播的路由器。通常,进出ALM模块123的分组经过路由层204。路由级204中的组件将应用定义的分组转发到交互会话中的其它成员。可使用分组中的目的地ID来选择下一跳以转发该分组。如图2所示,路由层204中的组件可包括网络监视器234、路由管理器236和套接字238。
路由管理器236被配置为处理ALM模块123的数据分组路由。由ALM123处理的数据分组可具有多个目的地。例如,本地节点可以不是唯一的目的地,甚至不是其收到的分组的目的地。因而,对于任何进入的分组,路由管理器236被配置为检查本地节点是否为目的地之一。如果是,则路由管理器236将分组转发给上面的层。路由管理器236还被配置为检查该分组是否需要被中继到其它节点。路由信息可在由路由管理器236维护的本地路由表中找到或者可由分组携带。
ALM模块123配置有应用级连接状态路由。每一节点周期性地测量其邻近节点的网络动态并且将该信息传播到同一交互会话中的所有其它节点。网络监视器234被配置为探查和传播网络信息。网络监视器234还配置为维护同一交互会话中节点的图。每当连接状态消息到达,网络监视器234就使用该信息来更新该图。
当连接状态改变时,路由管理器236被配置为以任意方法重新计算每一活动流的路由,这些方法如应用Dijkstra的SPF算法、扩展最宽路径优先(BPF)算法等。路由管理器236还可在与活动流相关联的节点的订阅状态改变时重新计算该活动流的路由。路由信息保存在路由表中。不同于每分组的IP路由,ALM 123配置有每一流的特定源路由。数据传递路由是在源处计算的并且被转发到所有中继节点。因而,路由管理器236不仅为本地流也为它需要中继的流维护路由表。
在网络级的连接层208中,每一节点连接247-249被配置为维护至一特定节点的可用连接,如TCP、UDP和IP多播。节点连接247-249提供抽象的网络信道用于与关联于交互会话的每一节点的通信。可用连接的类型对于路由层204及以上层一般是透明的。由本地流223或网络监视器224生成的外出分组一般将通过路由表以获得下一跳信息。然后,这些分组被传递到相应的节点连接模块247-249。节点连接模块247-249将自动选择最适合的连接以按照指定的服务质量(QoS)要求发送分组。
节点连接模块247-249是由节点连接管理器244管理的,它被配置为添加、删除和更新模块实例。在一个实现中,进入分组一般不直接去节点连接模块247-249。相反地,进入分组可被传递至节点连接管理器244,该连接管理器244被配置为维护每一TCP套接字的接收缓冲区,因为TCP分组可以由下层网络组合或分割。节点连接管理器244可被配置为保持进入的比特流并且直到收到完整的分组为止才将它们传递给节点连接模块247-249。对于UDP分组,节点连接管理器244可被配置为解包这些分组并且在将分组传递至正确的节点连接模块之前检索源ID。
在传输层208中,ALM模块123被配置为使用节点中可用的传输机制。在本示例中,节点中的传输机制包括TCP 253、UDP 254、IP多播255。
ALM模块123可暴露应用程序接口(API),这些API允许诸如图1中的多方交互式应用113之类的应用与ALM模块123交互。下面是可由ALM模块123的套接字238暴露的示例API:
InitSocket()初始化应用级套接字。
CloseSocket()关闭应用级套接字。
AddMember(MemberID id,ADDRESS地址)调用该接口来通知路由层和连接层交互会话中的新成员节点。在不调用该接口的情况下,路由层不能向该成员发送任何数据并且不能从该成员接受任何数据。
UpdateMember(MemberID id,ADDRESS地址)调用该接口来更新成员节点的地址信息。
CloseMember(MemberID id)调用该接口来通知路由层和连接层一成员节点的离开。在进行该方法之后,本地站点可不再向该成员发送任何数据。
CreateStream(StreamType类型,StreamInfo信息)调用该接口来注册一新的流如音频和视频。StreamInfo包含流的比特率。
UpdateStream(StreamID id,StreamInfo信息)调用该接口来更新特定流的StreamInfo。
DeleteStream(StreamID id)调用该接口来撤消注册一现有流。相应的路由信息可从路由表中删除。
AddSourceMembership(MemberID id,StreamType类型)如果用户想要订阅一特定成员节点的特定流则调用该接口。
DropSourceMembership(MemberID id,StreamType类型)如果用户想要取消订阅一特定成员节点的特定流则调用该接口。
AddReceiver(StreamType type,MemberID id)如果本地站点收到来自成员ID的订阅消息则调用该接口。
RemoveReceiver(StreamType类型,MemberID id)如果本地站点收到来自成员ID的取消订阅消息则调用该接口。
UpdateReceivers(StreamType类型,MemberIDSet idSet)调用该接口来更新一特定流的接收器设置。
Send(StreamID id,LPVOID数据,UINT长度)调用该接口来发送一特定流的数据。应用层不必指定接收器设置,因为ALM 123可实现为针对每一流的路由协议。每一流的接收器设置由路由层维护。
BroadcastMessage(Message消息)向ALM组中的所有成员广播控制消息,无论它们是否已经订阅任何本地流。
SetOnReceiveCallback()调用该接口来设置回调函数,以便接收应用级数据,诸如来自其它会议成员的音频和视频。
下面是可由路由管理器236暴露的示例API:
GetRoutingTopo(MemberID id,StreamType t,CTopology & tp)该接口允许开发者/用户可视化应用级传输路由。拓扑可保存在存储器块中并且可用与路由级协议中定义的相同的格式来实现。
下面是可由网络监视器234暴露的示例API:
SetBWMeasurementData(LPVOID data[],UINT unitLen,UINT分组)该接口允许开发者设置用于带宽测量的数据。数据在应用级被分割和编码(如果开发者想要进行信道编码的话)。
SetBWDataProcessCallback()如果开发者想要使用带宽测量数据,则可调用该接口来设置回调函数。
图3示出用于应用级多播系统的示例路由图300。示例路由图300包括6个节点,它们正在参加一个由应用级多播系统处理的交互会话。通常,节点103基于网络信息如由网络监视器收集的节点之间的连接状态来建立图300。示例路由图300表示由节点103产生的或者发送到节点103用于关连子节点104-108的流的数据分组路由。如图3所示,节点103被配置为分别通过连接312和313直接发送数据分组至节点104和105。连接312和313可用任何类型的协议来实现。例如,连接312和313取决于QoS要求可使用TCP、UDP或IP多播。数据分组路由可用各种方式实现。例如,路由信息如路由图300或路由表,可通信至中继节点如节点105。路由信息也可包括在数据分组中,诸如包括源和目的地标识符。
在示例路由图300中,节点103依赖节点105用连接314-316来将数据分组转发至节点106-108。例如,节点105-108可以是其中IP多播可用的专用网的一部分。因而,节点105可被配置为用实现IP多播协议的连接314-316来发送数据分组。
图4示出用于应用级多播系统的示例协议分层模型400。示例分层模型400允许应用级多播系统定义连接、路由和应用层上的协议。例如,带有应用级首部402和数据412的应用级消息可密封在具有数据413的路由级数据报中。包括路由级首部403和数据413的路由级消息可密封在具有数据414的连接级数据报中。具有首部404的连接级消息随后用传输层协议在具有首部405-406和数据415-416的消息中发送。
图5示出用于应用级多播系统的连接级协议数据分组的示例首部500。通常,连接层是应用级多播系统控制的最低层。在连接层中的消息通常由对应于交互会话中一节点的节点连接管理器或节点连接模块诸如图2中的节点连接模块247-249来处理。
如图5所示,示例连接级数据分组首部500可包括魔法字(magic word)字段、版本字段、可靠性字段、消息ID字段、消息长度字段、发送器ID字段和ACK序列字段。魔法字字段标识应用级多播系统。版本字段示出应用级多播系统的版本。可靠性字段指示当前分组假设为经由可靠传送信道来发送。如果该分组要求可靠传送,并且是从UDP信道收到的,则在收到该消息时需要发送ACK。ACK序列字段包含确认需要ACK的分组的接收所使用的分组的序列号。
消息ID字段包含消息类型信息。在一个示例中,消息类型可定义为:
enum CLP_MESSAGE_TYPE
{
CLP_HEL=0x0001,//问候
CLP_PRB=0x0002,//用于测量RTT的探查消息
CLP_APR=0x0004,//对通信消息的回答
CLP_ACK=0x0008,//对需要ACK的分组的确认
CLP_OTH=0x0010,//其它
}
消息长度字段示出分组的长度,包括连接层首部500。发送器ID字段包含分组发送者的成员ID,它可以是与分组源不同的身份。
在一个示例实现中,魔法字字段为6位;版本字段为2位;可靠性字段为1位;ACK序列字段为8位;消息ID字段为16位;消息长度字段为16位;以及发送器ID字段为128位。
如上所述,消息类型可包括问候消息(CLP_HEL)、探查消息(CLP_PRB)、回答探查消息(CLP_APR)和确认消息(CLP_ACK)。问候消息主要用于建立连接。在节点接受TCP连接请求之后,它从连接接收到的第一个消息一般是问候消息。否则,主机节点可关闭该连接。主机节点也可使用问候消息通过UDP和IP多播信道来查验交互会话中的其它节点。在收到问候消息时,节点连接管理器可检查是否已经存在与数据分组的首部中的发送器ID相关联的节点连接模块。如果是,则节点连接管理器更新该节点连接模块的连通性信息(例如,如果从UDP收到问候消息则将UDP信道状态设置为“可用”)。否则,节点连接管理器创建新的节点连接模块实例并且将它与分组首部中的发送器ID相关联。问候消息的主体是空的,因为发送器ID(它始终与问候消息中的源ID相同)已经携带在连接层协议分组首部中。
问候消息也可用作保持活动消息。例如,主机节点可每5秒发送问候消息至每一可用的UDP和IP多播信道以保持链路活动。如果主机节点在一定的时间内(例如30秒)还没有收到来自特定链路的问候消息,则主机节点可假设连接断了。在这种情形中,节点连接模块实例将试着重新连接。
探查和回答探查消息可用于测量端到端的延迟。两个消息可具有相同的主体结构:一个包含时间戳的DWORD字段。在一个示例实现中,交互会话的主机节点每10秒发送探测消息至每一可用的UDP信道。在分组中的时间戳指示发送时间。在收到该消息时,交互会话中的成员节点将消息ID改为回答探查并且将该分组立即发送回去。当主机节点收到返回的分组时,它可通过从当前时间中减去分组中所携带的时间戳来计算RTT。结果被报告给网络监视器。
在应用级多播系统中,基本上存在两种分组:控制消息和媒体流。尽管媒体数据的丢失影响通信质量,但控制消息的丢失通常是破坏性的。例如,订阅请求的丢失使订阅者保持等待;网络状态更新的丢失可导致网络拥塞。因而,可靠的TCP信道通常较佳地用于传送控制消息。
然而,由于防火墙和NAT的存在,TCP连接并不始终可用。有时,UDP是两个终端系统进行通信的唯一可用信道。在一个示例实现中,应用级多播系统可使用与TCP中的“超时并重新传送”方案相似的轻量机制来确保在UDP上的可靠传递。可使用连接级协议首部中的可靠性字段。在该字段中的指示(例如在1位的可靠性字段中的1)指示数据分组需要确认。滑动窗口机制不优选,因为不必保证按序列传递。
CLP_ACK消息用于确认需要ACK的分组的收到。例如,分组的主体可包含一个序列号,它指示该成员节点已经收到哪一个分组。可为序列号使用较小的字段(例如8位),因为需要ACK的分组的量不会大。
CLP_OTH消息可用于指示一个分组属于上面的层。在这种情形中,连接中的组件可去除连接级协议首部并且将该数据传递至路由级协议。
图6示出用于应用级多播系统的路由级协议数据分组的示例首部600。如图6所示,示例路由级数据分组首部600可包括源ID字段、消息类型字段、媒体类型字段、接收器数量字段、拓扑长度字段、接收器列表字段、序列号字段、比特率字段和拓扑字段。源ID字段包含分组源的成员ID。消息类型字段包含消息类型信息。在一个示例中,消息类型可定义为:
enum RLP_MESSAGE_TYPE
{
RLP_LKST=0x01,//链路状态信息
RLP_SBSC=0x02,//订阅请求
RLP_UNSB=0x04,//取消订阅请求
RLP_ACTP=0x08,//接受拓扑
RLP_RJTP=0x10,//拒绝拓扑
RLP_BWMS=0x20,//带宽测量
RLP_BWRP=0x21,//带宽测量报告
RLP_STRM=0x40,//媒体流
RLP_APPM=0x80;//应用级消息
RLP_QUIT=0xFF,//离开会话
}
媒体类型字段指示包括在数据分组中的媒体数据类型。接收器数量字段指示该分组的接收器数量。拓扑长度字段指示拓扑字段中条目的数量。接收器列表字段包含条目,其中列表中的每一条目包含成员ID。序列号字段包含拓扑的序列号。流比特率字段包含与拓扑相关联的流的新比特率。拓扑字段包含多播树的拓扑。该字段可包括在RLP_STRM类型的消息中,该消息可包含流的路由信息。
在一个示例实现中,消息类型字段包括8位;源ID字段包括128位;媒体类型字段包括7位;接收者数量字段包括8位;拓扑长度字段包括8位;接收器列表字段中的每一条目包括128位;序列号字段包括32位;流比特率字段包括32位;以及拓扑字段的每一条目包括128位的成员ID和32位的子号码。
图7示出用于应用级多播系统的带有路由级协议链路状态信息的示例数据分组700。通常,路由级协议链路状态数据分组是由监视与关联于交互会话的其它节点连接或链路的节点的网络监视器发送的。网络监视器收集网络动态并且周期性地用路由级协议链路状态数据分组将该信息传播至其它成员节点。如图7所示,示例的路由级链路状态数据分组700可包括链路数量字段、目的地ID字段、RTT字段、可用带宽字段以及更多链路字段。
链路数量字段指示该分组中链路状态条目的数量。每一链路状态条目包含链路的目的地ID、RTT和可用带宽。节点一般发布从该节点发起的链路的链路状态。每一目的地ID字段条目可仅包含结束节点的成员ID。RTT字段和带宽字段分别包括有关来回时间和传送带宽的信息。更多链路字段可包括有关从该节点发起的其它可用链路的信息。
通常,路由级协议链路状态数据分组被传递给网络监视器。基于新的信息重新为每一流计算媒体传递路由。如果路由不同于先前的计算,则可在该媒体类型的所有外出数据分组中携带新的拓扑,直到新的多播树中所有内部节点都接受了该拓扑为止。
具有应用级多播系统的多方交互式应用的用户可选择订阅/取消订阅交互会话中一特定成员的特定媒体流。订阅/取消订阅消息可用于该选择。这些消息可包含媒体类型。对应于源ID和接收器ID的订阅者ID和媒体提供者ID可从路由级协议数据分组首部中检索到。这些消息一般被传递给路由级中的组件。网络动态和订阅状态可输入到路由管理器中。在任一输入中的任何变化可引起多播树的重新计算。
在从关联于交互会话的源节点收到拓扑信息时,接收节点可检查它是否能如拓扑所要求的那样中继流,例如,按照最新更新的可用带宽测量。如果能,则接收节点更新路由表并且发送RLP_ACTP消息至源节点。否则,接收节点保持路由不变并且发送RLP_RJTP消息至源节点。
RLP_ACTP消息可包含拓扑的序列号。该序列号是由源节点生成的并且在分组的拓扑部分中携带。序列号帮助源节点确认所接受的内容是关于最新更新的拓扑的。源节点在从多播树中的所有内部节点收到RLP_ACTP之后停止发送拓扑。
有时,尤其当两或多个源节点在相近时间改变其拓扑时,多个源节点可能要求同一接收节点中继其数据。由于可用带宽是在先来先用的基础上使用的,一些后到的中继请求可能无法满足。在这些情形中,中继请求发送RLP_RJTP消息至源节点。除了被拒绝的拓扑的序列号,分组可包含接收节点的最新链路状态信息。基于该新信息,源节点可重新计算其多播树并且以新的序列号来分发新的拓扑。
图8示出用于应用级多播系统的带有带宽测量信息的示例数据分组800。分组800一般由网络监视器使用以测量数据通信性能。轮次号字段指示分组所属的测量轮次。轮次号字段用于避免混淆来自连续测量过程的分组。序列号字段包含该分组的按序编号。时间戳字段记录发送时间。数据字段包括关联于带宽测量信息的数据。
应用级多播系统允许用户在应用层设置和处理带宽测量数据。应用层指派的数据的示例是用户的显示图像和最近的实时视频的I帧。这些数据可通过暴露的接口传递至网络监视器。默认地,网络监视器可使用无意义数据块用于带宽测量。开发者也可设置用于处理测量数据的回调函数。数据部分的结构可由开发者定义。
图9示出用于应用级多播系统的带有带宽测量报告的示例数据分组900。分组900一般由节点的网络监视器传递至关联于交互会话的其它节点。轮次号字段标识一个特定的测量轮次。增加趋势字段指示是否在一个特定的测量轮次观测到单向延迟的增加趋势。如果在当前轮次中未观测到增加趋势,则发送器可在下一轮次中增加探查率。可用带宽字段记录计算出的所测量路径的可用带宽。
应用级多播系统中的节点可发送其它数据分组至同一交互会话中的其它节点。例如,在离开交互会话之前,节点可通过任何可用的信道发送RLP_QUIT至该会话的所有节点。在收到该消息时,应用级多播系统中的每一节点如果离开的节点已经是其流的订阅者则可清除路由表中的相应条目并且重新计算多播树。
由应用级多播系统处理的媒体流数据可以是音频、视频或任何用户定义的流。在收到RLP_STREAM分组时,路由层中的组件如路由管理器可检查分组是否包括拓扑信息。然后,路由管理器可从本地订阅列表中检查本地用户是否订阅了关联于该分组的流。如果是,则路由管理器可去除路由级协议首部,并且将路由级协议分组传递至应用级协议组件。路由管理器可查找路由表以查看是否要将该分组转发至交互会话中的其它节点。如果是,则路由管理器打包路由级协议首部,并且将该分组向下传递至连接层。
应用级多播系统的应用级组件可以定义较低层可能无法理解的它们自己的消息。当收到这些消息时,路由层组件将其直接传递至应用级。应用级组件被配置为处理媒体流,包括任何用户定义的流。开发者可以按需定义应用级首部。如果使用信道编码,则在应用级中处理分割和重新装配。
图10示出用于在应用级多播系统中与交互会话的节点通信的示例过程1000。示例过程1000可由节点实现以发起和组织交互会话。在框1002,对交互会话的请求被发送至会话控制器。在框1004,接收有关关联于该交互会话的节点的信息。在框1006,建立与这些节点每一个的连接。在框1008,从每一节点接收连接状态信息。在框1010,计算用于发送数据分组至每一节点的路由图。在框1012,将计算出的路由图提供给各节点。在框1014,按这些路由发送内容。在框1016,监视到每一节点的连接状态。将结合图11讨论用于监视连接状态的示例过程。
图11示出用于监视与关联于交互会话的节点的连接状态的示例过程1100。在框1102,标识一数据分组。在判断框1104,作出数据分组是否包含节点的连接状态信息的判断。如果是,则过程1100进行至判断框1106。如果数据分组不包括连接状态信息,则过程1100进行至框1114,在其中处理数据分组。将结合图12讨论用于处理数据分组的示例过程。
在判断框1106,作出连接状态是否已改变的判断。如果否,则过程返回框1102。如果连接状态已经改变,则过程1100继续至框1108,在其中按照改变的连接状态重新计算路由图。在框1110,向各节点提供重新计算的路由。
图12示出用于处理关联于交互会话的数据分组的示例过程1200。数据分组可由关联于交互会话的任何节点来发送。在框1202,接收关联于交互会话的数据分组。在判断框1204,作出分组是否与本地目的地相关联的判断。如果是,则过程1200继续至框1206,在其中将分组转发至多方交互式应用进行处理。过程随后进行至判断框1208。如果分组不与本地目的地相关联,则过程1200也进行至判断框1208。
在判断框1208,作出是否中继数据分组的判断。如果不中继分组,则过程1200返回框1202。如果要中继分组,则过程进行至框1210,在其中标识关联于交互会话的路由图。在框1212,按照路由信息将分组转发至一或多个中继节点。例如,可将分组转发至路由树中的子节点。过程随后返回至框1202。
图13示出用于实现所述系统和方法的示例性计算机设备1300。在其最基本的配置中,计算设备1300一般至少包括一个中央处理单元(CPU)1305和存储器1310。
取决于计算设备的精确配置和类型,存储器1310可以是易失性(如RAM)、非易失性(如ROM、闪存等)或者两者某种组合。另外,计算设备1300还可具有附加的特征/功能性。例如,计算设备1300可包括多个CPU。所述方法可由计算设备1300中的任何处理单元以任何方式来执行。例如,所述过程可由多CPU中的两个CPU并行执行。
计算设备1300还可包括其它存储(可移动和/或不可移动),其中包括但不限于磁或光盘或带。这样的其它存储在图13中由存储1315例示。计算机存储介质包括易失性和非易失性、可移动和不可移动介质,它们是以存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的。存储器1310和存储1315都是计算机存储介质的示例。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术,CD-ROM、数字多功能盘(DVD)或其它光存储,磁带盒、磁带、磁盘存储或其它磁存储设备,或者可用于存储所需信息并且可由计算设备1300访问的任何其它介质。任何这样的计算机存储介质可以是计算设备1300的一部分。
计算设备1300还可包含允许该设备与其它设备通信的通信设备1340。通信设备1340是通信介质的示例。通信介质一般体现为在经调制数据信号如载波或其它传输机制中的计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。术语“经调制的数据信号”指一种信号,它具有一或多个以将信息编码到该信号中的方式设置或改变的特性。作为示例而非限制,通信介质包括线接介质如线接网络或直接线连接,以及无线介质如声音、RF、红外和其它无线介质。在此使用的术语计算机可读介质包括计算机存储介质和通信介质两者。所述方法可用任何形式编码在任何计算机可读介质,这些形式诸如数据、计算机可执行指令等等。
计算设备1300也可具有诸如键盘、鼠标、笔、语音输入设备、触摸输入设备等的输入设备1335。还可包括诸如显示器、扬声器、打印机等的输出设备1330。所有这些设备是本领域周知的并且不必详细讨论。
本领域的技术人员将认识到用于存储程序指令的存储设备可分布在网络上。例如,远程计算机可存储描述为软件的该过程的示例。本地或终端计算机可访问远程计算机并下载该软件的一部分或全部以运行该程序。可替换地,本地计算机可按需下载软件的片断,或者通过在本地机器上执行一些软件指令而在远程计算机(或计算机网络)上执行一些软件指令来分布式地处理。本领域的技术人员将认识到,通过使用本领域技术人员已经的常规技术,软件指令的全部或部分可由专用电路如DSP、可编程逻辑阵列等来执行。

Claims (20)

1.编码有用于执行各步骤的设备可执行指令的一个或多个设备可读介质,所述步骤包括:
标识与交互会话相关联的节点;
建立与每一节点的连接;
从所述节点接收连接状态信息;
至少部分地基于所接收的连接状态信息计算用于将与所述交互会话相关联的数据分组发送至每一节点的路由图,所述路由图是在实时应用级中计算的;
提供所述计算出的路由图给负责中继实时数据分组的节点;以及
使用所述计算出的图将数据分组发送至所述节点。
2.如权利要求1所述的一个或多个设备可读介质,其特征在于,还包括:
监视与所述节点相关联的连接状态;以及
响应于至少一个所述连接状态的改变,按照所述改变的连接状态重新计算所述路由图。
3.如权利要求2所述的一个或多个设备可读介质,其特征在于,还包括向所述中继节点提供所述重新计算出的路由图。
4.如权利要求1所述的一个或多个设备可读介质,其特征在于,所述路由图至少部分地是基于应用Dijkstra的SPF算法或扩展的最宽路径优先(BPF)算法中的至少一者来重新计算的。
5.如权利要求1所述的一个或多个设备可读介质,其特征在于,所述交互会话与视频会议、音频会议、多媒体会议、在线游戏或涉及多用户的事件中的至少一者相关联。
6.如权利要求1所述的一个或多个设备可读介质,其特征在于,还包括:
标识用于发送至所述节点的数据分组;
标识可用于发送所述数据分组的传输协议;以及
至少部分地基于与所述数据分组相关联的服务质量要求来选择所述传输协议中的至少一者来发送所述数据分组。
7.如权利要求6所述的一个或多个设备可读介质,其特征在于,所述传输协议包括TCP、UDP和IP多播中的至少一者。
8.如权利要求1所述的一个或多个设备可读介质,其特征在于,所述数据分组对应于与视频会议相关联的数据流。
9.编码有包括设备可执行组件的一个或多个设备可读介质,所述设备可执行组件包括:
被配置为与交互会话相关联的节点通信的多方交互式应用;以及
被配置为从所述多方交互式应用接收去往所述节点的数据分组的路由模块,所述路由模块还被配置为标识所述节点的连接状态并且计算用于将所述数据分组发送至所述节点的路由图,所述路由图是至少部分地基于所确定的连接状态来计算的,所述路由模块还被配置为向每一节点提供所述路由图,从而指示所述每一节点将所述数据分组中继至与所述交互会话相关联的另一节点。
10.如权利要求9所述的一个或多个设备可读介质,其特征在于,还包括网络监视器,所述网络监视器被配置为接收带有与关联于所述交互会话的节点连接状态有关的信息的数据分组并且将所述连接状态提供给所述路由模块。
11.如权利要求9所述的一个或多个设备可读介质,其特征在于,所述路由模块是在应用级中实现的。
12.如权利要求9所述的一个或多个设备可读介质,其特征在于,还包括多个成员模块实例,每一成员模块实例对应于与所述交互会话中至少一个节点相关联的成员,每一成员模块实例包括与所述相应成员相关联的属性并且被配置为管理与由所述多方交互式应用提供的相应成员相关联的数据。
13.如权利要求12所述的一个或多个设备可读介质,其特征在于,所述属性包括对应于所述成员的标识符和对应于所述成员正在参加的会话的标识符中的至少一者。
14.如权利要求12所述的一个或多个设备可读介质,其特征在于,每一成员模块实例还被配置为如果使用了信道编码则为所述相应成员装配数据分组。
15.如权利要求14所述的一个或多个设备可读介质,其特征在于,还包括多个节点连接实例,每一节点连接实例对应于至少一个成员模块实例并且被配置为管理与关联于所述至少一个成员模块的节点的连接。
16.如权利要求15所述的一个或多个设备可读介质,其特征在于,每一节点连接实例还被配置为至少部分地基于与数据分组相关联的服务质量要求选择传输协议来发送所述数据分组至所述相应的节点。
17.如权利要求16所述的一个或多个设备可读介质,其特征在于,每一节点连接实例还被配置为从包括TCP、UDP和IP多播的传输协议中选择。
18.如权利要求15所述的一个或多个设备可读介质,其特征在于,所述节点连接实例是在网络级中实现的。
19.一种用于参加交互会话的多个节点的系统,包括:
用于每一节点向其它节点提供连接状态的装置;
用于至少部分地基于所述连接状态在应用级计算路由图的装置,所述路由图用于将与所述交互会话相关联的数据分组路由至每一所述节点;
用于每一节点使用从所述节点上可用的多个传输协议中选择的传输协议路由与所述交互会话相关联的数据分组的装置;以及
用于响应于所述连接状态的改变重新计算所述路由图的装置。
20.如权利要求19所述的系统,其特征在于,还包括用于使用对应于分层的协议模型的数据分组在所述交互会话的各节点之间发送数据流的装置。
CN2006800387910A 2005-10-21 2006-10-19 应用级多播架构 Expired - Fee Related CN101292474B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/255,797 US7778273B2 (en) 2005-10-21 2005-10-21 Application-level multicasting architecture
US11/255,797 2005-10-21
PCT/US2006/041057 WO2007047936A1 (en) 2005-10-21 2006-10-19 Application-level multicasting architecture

Publications (2)

Publication Number Publication Date
CN101292474A true CN101292474A (zh) 2008-10-22
CN101292474B CN101292474B (zh) 2013-04-24

Family

ID=37962849

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800387910A Expired - Fee Related CN101292474B (zh) 2005-10-21 2006-10-19 应用级多播架构

Country Status (5)

Country Link
US (1) US7778273B2 (zh)
EP (1) EP1938530B1 (zh)
KR (1) KR101278861B1 (zh)
CN (1) CN101292474B (zh)
WO (1) WO2007047936A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109155664A (zh) * 2016-10-28 2019-01-04 安移通网络公司 多播多用户组
CN112468307A (zh) * 2015-03-20 2021-03-09 瞻博网络公司 可靠传输上使用注册的多播流覆盖

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110246642A1 (en) * 2006-03-31 2011-10-06 Cohen Alexander J Aggregating network activity using software provenance data
KR20080026795A (ko) * 2006-09-21 2008-03-26 삼성전자주식회사 네트워크의 라우팅 프로토콜 선택 방법 및 그 장치
US7672240B2 (en) * 2006-12-14 2010-03-02 Sun Microsystems, Inc. Method and system for using Bayesian network inference for selection of transport protocol algorithm
JP4869169B2 (ja) * 2007-07-11 2012-02-08 パナソニック株式会社 データ送信装置およびデータ再送方法
US7920569B1 (en) * 2008-05-05 2011-04-05 Juniper Networks, Inc. Multi-link transport protocol translation
CN102067529A (zh) * 2008-06-19 2011-05-18 松下电器产业株式会社 通信路径构筑装置和n-树构筑方法
US20100113158A1 (en) * 2008-11-06 2010-05-06 International Business Machines Corporation Method and apparatus for hosting a distributed virtual world system
US20100113159A1 (en) * 2008-11-06 2010-05-06 International Business Machines Corporation Method and apparatus for partitioning virtual worlds using prioritized topic spaces in virtual world systems
US20100086981A1 (en) * 2009-06-29 2010-04-08 Qteros, Inc. Compositions and methods for improved saccharification of biomass
JP5355222B2 (ja) * 2009-05-25 2013-11-27 パナソニック株式会社 パス設定装置およびパス設定方法
KR20100133205A (ko) * 2009-06-11 2010-12-21 (주)씨디네트웍스 최적의 전송 프로토콜 선택 방법 및 그 장치
US8149831B2 (en) * 2009-11-19 2012-04-03 Alcatel Lucent Technique for packet compression in an application level multicast
US8868658B2 (en) * 2012-04-27 2014-10-21 Cisco Technology, Inc. Client assisted multicasting for audio and video streams
EP2987274B1 (en) * 2013-05-10 2018-07-25 Huawei Technologies Co., Ltd. Dynamic multi-destination addressing
EP3319281B1 (en) 2014-04-23 2020-08-19 Bequant S.L. Method and appratus for network congestion control based on transmission rate gradients
KR101535633B1 (ko) * 2014-07-07 2015-07-09 엘아이지넥스원 주식회사 애드혹 네트워크에서 데이터 전송 방법 및 장치, 및 데이터 전송 시스템
FR3049140A1 (fr) 2016-03-15 2017-09-22 Orange Procede de gestion dynamique de chemins de communication entre routeurs en fonction de besoins applicatifs
KR101951192B1 (ko) * 2017-10-31 2019-05-22 삼성에스디에스 주식회사 경로 정보를 제공하는 방법, 경로 결정 방법 및 그 장치
CN115314569B (zh) * 2022-05-10 2023-11-28 浙江大学 一种基于udp的轻量级mqtt设计方法
US11956204B1 (en) * 2022-12-23 2024-04-09 Plume Design, Inc. IPv4-in-IPv6 relaying systems and methods to preserve IPv4 public addresses

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3581430B2 (ja) * 1995-05-18 2004-10-27 キヤノン株式会社 無線交換システムおよび通信装置、通信方法
US6321270B1 (en) * 1996-09-27 2001-11-20 Nortel Networks Limited Method and apparatus for multicast routing in a network
US6813714B1 (en) * 1999-08-17 2004-11-02 Nortel Networks Limited Multicast conference security architecture
US6687358B1 (en) * 2000-03-04 2004-02-03 Intel Corporation Method and apparatus for joining a party to a multipoint conference using digital techniques
US7007100B1 (en) * 2000-12-20 2006-02-28 Nortel Networks Limited Method for synchronization of multicast routing table changes with a plurality of multicast routing protocols
US7099323B1 (en) * 2000-12-20 2006-08-29 Nortel Networks Limited Method, apparatus and system for management of multicast routes for a plurality of routing protocols in a network device
US8218555B2 (en) * 2001-04-24 2012-07-10 Nvidia Corporation Gigabit ethernet adapter
ITMI20010916A1 (it) * 2001-05-04 2002-11-04 Marconi Comm Spa Metodo per l'instradamento multicast distribuito in reti orientate alla connessione e rete applicante tale metodo
JP3925188B2 (ja) * 2001-12-20 2007-06-06 日本電気株式会社 アプリケーションレイヤ・マルチキャスト方法及び中継ノードシステム
US20040205219A1 (en) * 2003-02-19 2004-10-14 Wen-Syan Li Virtual active network for live streaming media
US7644177B2 (en) * 2003-02-28 2010-01-05 Cisco Technology, Inc. Multicast-routing-protocol-independent realization of IP multicast forwarding
US6950432B2 (en) * 2003-05-23 2005-09-27 Matsushita Electric Industrial Co., Ltd. Architecture for dense multicast networks with provisioned routes
WO2006023485A1 (en) * 2004-08-16 2006-03-02 Flarion Technologies, Inc. Group communication signal methods and apparatus
CN100391212C (zh) * 2005-01-26 2008-05-28 清华大学 一种在因特网上实现交互式多媒体数据传输的方法
US8089964B2 (en) * 2005-04-05 2012-01-03 Cisco Technology, Inc. Transporting multicast over MPLS backbone using virtual interfaces to perform reverse-path forwarding checks
US7400596B1 (en) * 2005-08-17 2008-07-15 Rockwell Collins, Inc. Dynamic, multicast routing using a quality of service manager

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112468307A (zh) * 2015-03-20 2021-03-09 瞻博网络公司 可靠传输上使用注册的多播流覆盖
CN109155664A (zh) * 2016-10-28 2019-01-04 安移通网络公司 多播多用户组

Also Published As

Publication number Publication date
EP1938530A1 (en) 2008-07-02
US20070091918A1 (en) 2007-04-26
EP1938530A4 (en) 2011-11-02
US7778273B2 (en) 2010-08-17
CN101292474B (zh) 2013-04-24
WO2007047936A1 (en) 2007-04-26
EP1938530B1 (en) 2012-12-26
KR20080068808A (ko) 2008-07-24
KR101278861B1 (ko) 2013-07-30

Similar Documents

Publication Publication Date Title
CN101292474B (zh) 应用级多播架构
US9143333B2 (en) System and method for multicast transmission
EP1703701B1 (en) APIs to build peer to peer messaging applications
US7912959B2 (en) Architecture for building a peer to peer messaging platform
US7543023B2 (en) Service support framework for peer to peer applications
US7519662B2 (en) System and method for converting requests between different multicast protocols in a communication network
US7133928B2 (en) Performing multicast communication in computer networks by using overlay routing
US7827304B2 (en) Method and system for virtual multicast networking
CN100479415C (zh) 一种实现数据通讯的系统及其方法
JP4463999B2 (ja) 通信ネットワークにおける方法及び装置
WO2008061022A1 (en) Peer-to-peer aided live video sharing system
Benslimane Multimedia multicast on the internet
Radenkovic et al. Deployment issues for multi-user audio support in CVEs
Eraslan et al. A scalable network architecture for distributed virtual environments with dynamic QoS over 1Pv6
KR20010083840A (ko) 실시간 멀티미디어 프리젠테이션을 위한 서버 비의존캐스팅 기법 및 양방향통신의 구현방법
Chang et al. Towards network-assisted publish–subscribe over wide area networks
KR100296138B1 (ko) 동적 멀티케스트 트리를 통한 멀티미디어 회의 서비스 방법
Vidyadharan Girija Introduction to IP Multicast in production networks
CN114679562A (zh) 一种多平台视频会议的数据传输系统及方法
JP2004173209A (ja) 情報配信方法
Erdogan Internetworking: implementation of multicasting and MBone over Frame Relay networks
Nugraha et al. Multicast communication for scalable video application using IP option
Wang EECS 589 Final Report Host Level Multicasting

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
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150506

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150506

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130424

Termination date: 20141019

EXPY Termination of patent right or utility model