CN104780151A - 流传送系统及在流传送系统中使用的节点装置 - Google Patents
流传送系统及在流传送系统中使用的节点装置 Download PDFInfo
- Publication number
- CN104780151A CN104780151A CN201410804514.2A CN201410804514A CN104780151A CN 104780151 A CN104780151 A CN 104780151A CN 201410804514 A CN201410804514 A CN 201410804514A CN 104780151 A CN104780151 A CN 104780151A
- Authority
- CN
- China
- Prior art keywords
- node apparatus
- request
- node
- newly added
- response
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1046—Joining mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/611—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1089—Hierarchical topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明提供了一种流传送系统、节点装置及流数据传输方法。所述流传送系统向节点装置提供流传送服务。所述流传送系统包括:新加入的节点装置,被配置成新加入流传送服务并且向指定范围内的节点装置发送加入请求;以及节点装置,被配置成接收加入请求,并且当接收到加入请求的节点装置能够提供流传送服务时,向新加入的节点装置返回与加入请求对应的加入响应。新加入的节点装置向最先返回与加入请求对应的加入响应的节点装置发送传输请求。
Description
技术领域
本文中所讨论的实施方式涉及流传送系统以及在流传送系统中使用的节点装置。
背景技术
流传输(或流传送)已经普及为传输图像数据的方法。流传输使得终端装置能够在下载图像数据文件的同时播放图像。正因为如此,流传输可以实现现场传输。此外,甚至当图像数据文件的大小很大时,终端装置可以在没有大容量存储装置的情况下播放图像。
在实际应用中,P2P(点对点)通信已经被实现为用于提供流传输的通信方案。在P2P通信中,当多个终端装置进行通信时,平等对待该多个终端装置。换言之,每个终端装置可以操作作为用于接收数据的接收器,并且还可以操作作为用于向其它装置发送(或转发)数据的发送器。正因为如此,P2P通信可以提供灵活的网络。
利用P2P的用于提供流传输的流传送系统具有根节点装置。根节点装置管理加入节点装置,加入节点装置接收由流传送服务提供的流数据。当新的节点装置(称为新加入的节点装置)要接收流传送服务时,该新加入的节点装置向根节点装置发送加入请求。根节点装置向新加入的节点装置提供候选父节点信息。然后,新加入的节点装置使用候选父节点信息来选择父节点装置,并且从父节点装置接收流数据。
注意,作为现有技术,已经提出了在P2P的中继方案中实现稳定的通信的服务器系统和客户端装置。此外,已经提出了用于使用P2P可靠地执行大规模流传输的方法(例如,日本公开特许公报2011-151701和国际公开小册子WO2010/067457)。
如上所述,新加入的节点装置向根节点装置发送加入请求以便接收流传送服务。因此,当例如存在很多新加入的节点装置时,来自根节点装置的响应变差。这迫使新加入的节点装置在开始接收流传送服务之前等待较长的时间段。换言之,在一些情况下用户便利性恶化。
本发明的一个方面的目的是减少在基于P2P执行流传输的视频流传送系统中新加入的节点装置接收流数据的等待时间段。
发明内容
根据实施方式的一个方面,流传送系统向节点装置提供流传送服务。流传送系统包括:新加入的节点装置,被配置成新加入该流传送服务并且向指定范围内的节点装置发送加入请求;以及节点装置,被配置成接收加入请求,并且当接收到加入请求的节点装置能够提供流传送服务时,向所述新加入的节点装置返回与加入请求对应的加入响应。新加入的节点装置向最先返回与加入请求对应的加入响应的节点装置发送传输请求。
附图说明
图1至图5示出了视频流传送系统的操作的概要;
图6是示出了根节点装置的功能的框图;
图7是示出了节点装置的功能的框图;
图8是示出了新加入的节点装置的操作的流程图;
图9是示出了加入节点装置的操作的流程图;
图10是在新加入的节点装置附近存在可以传输流数据的加入节点装置的情况下的顺序图;
图11是在新加入的节点装置附近不存在可以传输流数据的加入节点装置的情况下的顺序图;
图12说明了基于节点装置的操作状态来确定是否对加入请求做出响应的方法;
图13A和图13B说明了基于传输树确定是否对加入请求做出响应的方法;以及
图14示出了根据本发明的实施方式的节点装置的硬件配置的示例。
具体实施方式
图1至图5示出了根据本发明的实施方式的视频流传送系统200的操作的概要。视频流传送系统200可以响应于来自用户的请求提供流传送服务。
视频流传送系统200包括多个节点装置。每个节点装置可以加入由视频流传送系统200提供的流传送服务。在该示例中,如图1所示,节点装置1A、1B、1C和ID已经加入流传送服务。换言之,节点装置1A、1B、1C和ID分别接收流数据。在下面的描述中,可以将已经加入流传送服务的节点装置称为“加入节点装置(或加入节点)”。
视频流传送系统200还包括根节点装置2。根节点装置2管理流传输的状态。例如,根节点装置2管理表示加入节点装置的连接状态的传输树。换言之,根节点装置2管理用于向各个加入节点装置传输流数据的路线。在该示例中,根节点装置2位于流传输中的最上游级。根节点装置2从内容服务器获得图像数据,并且执行到加入节点装置的流传输。注意,内容服务器可以操作为根节点装置。
每个节点装置具有实现P2P通信的功能。从根节点装置2发送的流数据经由一个或多个加入节点装置被传输至各个加入节点。在图1中示出的示例中,根节点装置2将流数据发送至加入节点装置1A。加入节点装置1A将流数据转发至加入节点装置1B。类似地,加入节点装置1B将流数据转发至加入节点装置1C,并且加入节点装置1C将流数据转发至加入节点装置1D。通过该流传送,加入节点装置1A~1D能够大致同时接收从根节点装置2发送的图像数据。
每个节点装置容纳在路由器中。在该示例中,容纳在每个路由器中的多个节点装置形成网络。例如,如图1所示,加入节点装置1A和1B以及根节点装置2属于网络X,而加入节点装置1C和1D属于网络Y。在网络X和网络Y中的每个中,节点装置之间的距离为一个跃距(hop)。注意,网络X和网络Y经由网关4相互连接。
在视频流传送系统200中,假定属于网络Y的节点装置3将新加入流传送服务。在下面的描述中,可以将新加入流传送服务的节点装置称为“新加入的节点装置(或新加入的节点)”。
新加入的节点装置3首先测量相对于容纳新加入的节点装置3的路由器的往返时间(RTT)。换言之,新加入的节点装置3测量相对于如图1所示的网关4的RTT。通过例如将网际包探测器(Ping)从新加入的节点装置3发送至网关4来测量RTT。然而,可以通过不同的方法来测量RTT。
接下来,如图2所示,新加入的节点装置3向属于网络Y的所有节点发送多播加入请求。例如,多播加入请求存储在其中添加了网络Y中所使用的多播地址的多播包中。此外,“生存时间(TTL)=1”被添加至该多播加入请求中。在包转发过程中接收包的网关(路由器)将TTL减1。当被添加至包的TTL已经变为0时,此后不转发该包。因此,通过位于距新加入的节点装置3一个跃距范围内的节点装置接收其中设置TTL=1的多播加入请求。换言之,通过网络Y中的每个节点装置(图2中的加入节点装置1C和1D)接收从新加入的节点装置3发送的多播加入请求。
网关4也接收该多播加入请求。然而,在网关4中将多播加入请求的TTL从1更新成0。因此,多播加入请求不被转发至网络X。
当发送上述多播加入请求时,新加入的节点装置3激活定时器。该定时器测量新加入的节点装置3与网关4之间的RTT。注意,在图1中,新加入的节点装置3先前已经测量了RTT。然后,新加入的节点装置3等待对应于多播加入请求的加入响应直到定时器到期的时间为止。
接收了多播加入请求的加入节点装置分别确定是否对该加入请求做出响应。可以将流数据传输至新加入的节点装置的加入节点装置对所接收的加入请求做出响应。在这种情况下,接收了加入请求的加入节点装置向新加入的节点装置3返回加入响应。在图3中示出的示例中,加入节点装置1C和1D从新加入的节点装置3接收了多播加入请求,并且加入节点装置1D向新加入的节点装置3返回加入响应。不能将流数据传输至新加入的节点装置的加入节点装置丢弃所接收的加入请求。尚未加入流传送服务的节点装置也丢弃所接收的加入请求。
假定新加入的节点装置3在定时器到期之前接收到来自加入节点装置1D的加入响应。如上所述,该定时器测量新加入的节点装置3与网关4之间的RTT。因此,当新加入的节点装置3在定时器到期之前接收到加入响应时,新加入的节点装置3确定在比网关4更近的位置处存在可以传输流数据的加入节点装置。在这种情况下,新加入的节点装置3识别返回加入响应的加入节点装置,并且向所识别的加入节点装置发送传输请求。在图3中示出的示例中,新加入的节点装置3向加入节点装置1D发送传输请求。在这种情况下,加入节点装置1D响应于传输请求开始向新加入的节点装置3进行流传输。
当新加入的节点装置3在定时器到期之前接收到多个加入响应时,新加入的节点装置3向最先返回加入响应的加入节点装置发送传输请求。在这种情况下,新加入的节点装置3可以从最靠近新加入的节点装置3存在的加入节点装置接收流数据。
如上所述,新加入的节点装置3可以在不访问根节点装置2的情况下从靠近新加入的节点装置3存在的加入节点装置接收流数据。因此,该方法甚至在很多节点装置同时请求流传送服务时避免或抑制了在根装置处由拥塞引起的响应恶化。
此后,新加入的节点装置3向根节点装置2发送连接信息。连接信息包括用于识别流数据的源节点装置的信息。在该示例中,连接信息包括用于识别节点装置1D的信息。注意,在一些情况下可以将流数据的源节点装置称为“父节点装置(或父节点)”。例如,新加入的节点装置3的父节点装置是加入节点装置1D,而加入节点装置1D的父节点装置是加入节点装置1C。
在图2和图3中示出的示例中,新加入的节点装置3在定时器到期之前接收到来自加入节点装置的加入响应。相反,图4示出了新加入的节点装置3在定时器到期之前未能接收到加入响应的情况。
当新加入的节点装置3在定时器到期之前未能接收到加入响应时,新加入的节点装置3确定在新加入的节点装置3附近不存在可以传输流数据的加入节点装置。在这种情况下,如图4所示,新加入的节点装置3向根节点装置2发送单播加入请求。
当接收到该加入请求时,根节点装置2生成候选父节点信息,并且将该信息发送至新加入的节点装置3。候选父节点信息包括可以操作为新加入的节点装置3的父节点装置的加入节点装置的列表。换言之,候选父节点信息包括可以将流数据传输至新加入的节点装置3的加入节点装置的列表。新加入的节点装置3从候选父节点信息中列出的加入节点装置当中选择一个加入节点装置,并且向所选择的加入节点装置发送传输请求。因此,新加入的节点装置3可以从所选择的加入节点装置接收流数据。
如上所述,新加入的节点装置3向根节点装置2发送加入请求,以便获得候选父节点信息。然而,仅当新加入的节点装置3在规定时间段内未接收到加入响应时,新加入的节点装置3才向根节点装置2发送加入请求。因此,抑制了由来自新加入节点装置的加入请求在根节点装置2处引起的的拥塞。
每个加入节点装置预先确定是否对从新加入的节点装置接收的加入请求做出响应。该确定是基于是否可以向新加入的节点装置传输流数据的。
例如,当节点装置的硬件资源(CPU、存储器等)具有足够高的性能时,该节点装置确定对加入请求做出响应。然而,当节点装置的硬件资源的使用率高时,该节点装置确定不对加入请求做出响应。
加入节点装置可以基于传输树的配置做出确定。例如,当在根节点装置2与节点装置之间存在大量的加入节点装置时,该节点装置确定不对加入请求做出响应。注意,如图5所示,表示传输树的配置的传输树信息被从根节点装置2发送至每个加入节点装置。当例如传输树的配置发生改变时,根节点装置2将更新后的传输树信息发送至每个加入节点装置。根节点装置2可以周期性地将传输树信息发送至每个加入节点装置。
从根节点装置2传输的流数据的报头存储用于对中继节点的数量计数的中继计数数据。当从根节点装置2发送流数据时,中继计数数据为0。每次通过加入节点装置中继流数据时中继计数数据增加1。换言之,如图5所示,存储在流数据的报头中的中继计数数据在加入节点装置1A、1B、1C和1D处分别增加至1、2、3和4。每个加入节点装置可以使用中继计数数据来确定是否对加入请求做出响应。例如,当中继的数量大于指定的阈值时,加入节点装置确定不对加入请求做出响应。
如上所述,每个加入节点装置预先确定是否对加入请求做出响应。此外,每个加入节点装置根据其自身的操作状态、传输树的配置变化和其它因素来更新表示是否对加入请求做出响应的确定结果。在图5中示出的示例中,加入节点装置1A、1B和1D处于它们将对加入请求做出响应的状态(图5中的“可以(OK)”)。相反,加入节点装置1C处于它将不对加入请求做出响应的状态(图5中的“不可以(NG)”)。
在这种情况下,当加入节点装置1A、1B和1D接收到来自新加入的节点装置的加入请求时,它们返回相应的加入响应。另一方面,当加入节点装置1C接收到来自新加入的节点装置的加入请求时,它不返回加入响应。注意,在图2中示出的示例中,从新加入的节点装置3发送的多播加入请求不会到达加入节点装置1A或1B。因此,在该示例中,仅加入节点装置1D向新加入的节点装置3返回加入响应。
图6是示出了根节点装置2的功能的框图。如图6所示,根节点装置2包括流接收器11、流缓冲器12、流发送器13、管理包接收器14、节点管理器15、传输树信息生成器16和管理包发送器17。根节点装置2可以具有图6中未示出的另外的功能。图6中示出的功能可以通过使用计算机执行程序来实现。
流接收器11从内容服务器接收或获得与由用户请求的内容对应的流数据。此后,流接收器11将所接收或所获得的流数据存储在流缓冲器12中。流发送器13从流缓冲器12读取流数据,并且将流数据发送至加入节点装置。流发送器13包括中继计数设置单元13a。中继计数设置单元13a向存储在流数据的报头中的中继计数数据提供初始值(即0)。
管理包接收器14从加入节点装置和新加入的节点装置接收管理包。例如,在图3中示出的示例中,管理包接收器14从新加入的节点装置3接收包括连接信息的管理包。在图4中示出的示例中,管理包接收器14从新加入的节点装置3接收包括单播加入请求的管理包。此外,在一些情况下,管理包接收器14可以接收传输请求。
节点管理器15包括目的地管理器15a、加入节点信息管理器15b和候选信息生成器15c,以便管理加入节点装置。目的地管理器15a存储用于识别流数据的目的地节点装置的信息。目的地管理器15a根据例如从新加入的节点装置接收的连接信息或单播加入请求来更新所存储的信息。加入节点信息管理器15b存储与已经加入流传送服务的每个节点装置相关的信息。与节点装置相关的信息可以包括例如表示节点装置的硬件资源的性能的信息。候选信息生成器15c响应于从新加入的节点装置接收的加入请求来生成候选父节点信息。候选信息生成器15c与流目的地管理器15a和加入节点信息管理器15b合作来生成候选父节点信息。例如,候选信息生成器15c可以从加入节点装置当中选择具有高性能硬件资源的节点装置,并且将所选择的节点装置登记在候选父节点信息中。
传输树信息生成器16生成传输树信息。传输树信息表示已经加入流传送服务的节点装置之间的连接关系。换言之,传输树信息表示从根节点装置2到每个加入节点装置的流数据的传输路线。传输树信息生成器16通过使用由节点管理器15管理的信息来生成传输树信息。注意,当传输树的配置发生改变时,传输树信息生成器16更新传输树信息。
管理包发送器17将管理包发送至加入节点装置和新加入的节点装置。在图4中示出的示例中,管理包发送器17例如将包括候选父节点信息的管理包发送至新加入的节点装置3。该管理包由候选父节点报告单元17a生成。候选父节点报告单元17a生成包括由候选信息生成器15c生成的候选父节点信息的管理包。此外,在图5中示出的示例中,管理包发送器17将包括传输树信息的管理包发送至每个加入节点装置。该管理包由传输树报告单元17b生成。传输树报告单元17b生成包括由传输树信息生成器16生成的传输树信息的管理包。管理包发送器17还可以发送不同的管理包。
图7是示出了节点装置的功能的框图。如图7所示,节点装置20包括流接收器21、流缓冲器22、流发送器23、RTT测量单元24、管理包接收器25、节点规格生成器26、响应确定单元27、定时器28、管理包发送器29和控制器30。节点装置20可以具有图7中未示出的不同功能。此外,节点装置20可以操作为加入节点装置(或新加入的节点装置)。图7中示出的功能可以通过使用计算机执行程序来实现。
流接收器21从根节点装置2或上游侧的加入节点装置接收流数据。流接收器21包括中继计数更新单元21a。中继计数更新单元21a将存储在所接收的流数据的报头中的中继计数数据增加1。然后,流接收器21将流数据存储在流缓冲器22中。流发送器23从流缓冲器22读出流数据,并且将流数据发送至下游侧的加入节点装置。流发送器23包括中继计数设置单元23a。中继计数设置单元23a将由中继计数更新单元21a更新的中继计数数据存储在流数据的报头中。
注意,可以将显示装置和/或扬声器(未示出)连接至节点装置20。在这样的情况下,可以在显示装置上显示视频,并且可以基于写入流缓冲器22中的流数据经由扬声器输出音频。
RTT测量单元24测量相对于容纳节点装置20的路由器或网关的RTT。在图1中示出的示例中,RTT测量单元24测量相对于网关4的RTT。注意,RTT测量单元24可以通过利用例如Ping来测量RTT。
管理包接收器25从根节点装置2或不同的节点装置接收管理包。管理包接收器25包括加入请求接收器25a、加入响应接收器25b和传输树接收器25c。加入请求接收器25a接收包括从新加入的节点装置发送的多播加入请求的管理包。然而,加入请求接收器25a根据由响应确定单元27做出的确定结果来确定是否接受所接收的加入请求,这将在下文描述。加入响应接收器25b接收包括与多播加入请求对应的加入响应的管理包。然而,在定时器28到期之后,加入响应接收器25b丢弃所接收的包括加入请求的管理包。此外,当加入响应接收器25b接收到分别包括加入响应的多个管理包时,加入响应接收器25b接受第一个管理包并且丢弃后续的管理包。传输树接收器25c接收包括从根节点装置2发送的传输树的管理包。注意,管理包接收器25可以接收包括候选父节点信息的管理包、包括传输请求的管理包,并且接收其它信息。
节点规格生成器26管理用于确定节点装置20是否可以传输流数据的节点规格信息。节点规格生成器26包括传输树状态管理器26a和硬件状态管理器26b。传输树状态管理器26a基于从根节点装置2接收的传输树信息来管理传输树的状态。硬件状态管理器26b管理节点装置20的硬件资源的操作状态(CPU的负荷、存储器中的空闲区域)。由传输树状态管理器26a和硬件状态管理器26b管理的信息被输出作为节点规格信息。
响应确定单元27基于由节点规格生成器26生成的节点规格信息来确定是否对从新加入的节点装置发送的多播加入请求做出响应。响应确定单元27做出的确定被报告给加入请求接收器25a。将在后面说明响应确定单元27的确定的示例。
在定时器28中设置由RTT测量单元24测量的RTT。当管理包发送器29发送包括多播加入请求的管理包时,激活定时器28。当定时器28到期时,到期报告被馈送至加入响应接收器25b和加入请求生成器29a。
管理包发送器29将管理包发送至根节点装置2和不同的节点装置。管理包发送器29包括加入请求生成器29a、加入响应生成器29b和传输请求生成器29c。加入请求生成器29a将包括图2中示出的多播加入请求的管理包发送至指定范围内的节点装置。此时,将覆盖指定区域的多播地址提供为该管理包中的目的地地址。此外,加入请求生成器29a将“TTL=1”添加至该管理包。然而,当接收到来自定时器28的到期报告时,加入请求生成器29a将包括单播加入请求的管理包发送至根节点装置2。当加入请求接收器25a接收到并且接受来自新加入的节点装置的加入请求时,加入响应生成器29b向新加入的节点装置发送包括与该加入请求对应的加入响应的管理包。
传输请求生成器29c生成包括传输请求的管理包,并且将该包发送至父节点装置。在图2和图3中示出的示例中,传输请求生成器29c将包括传输请求的管理包发送至最先返回加入响应的节点装置1D。在图4示出的示例中,传输请求生成器29c将包括传输请求的管理包发送至基于候选父节点信息所确定的父节点装置。管理包发送器29可以发送不同的管理包。例如,管理包发送器29可以将包括图3中示出的连接信息的管理包发送至根节点装置2。
控制器30控制节点装置20的操作。此外,控制器30提供与流传输相关的其它功能。例如,控制器30可以基于从根节点装置2接收的候选父节点信息来选择父节点装置。
图8是示出了新加入的节点装置的操作的流程图。例如,当用户指示新加入的节点装置加入流传送服务时,执行该流程图中的处理。图8中示出的处理可以通过使用计算机执行程序来实现。
在S1中,RTT测量单元24测量相对于默认网关的RTT。默认网关是容纳新加入的节点装置的路由器或网关。在S2中,加入请求生成器29a向指定范围内的节点装置发送多播加入请求。在包括多播加入请求的管理包中设置“TTL=1”。因此,该多播加入请求由距新加入的节点装置一个跃距范围内的节点装置接收。在S3中,当发送多播加入请求时,加入请求生成器29a激活定时器28。当经过了S1中测量的RTT时,定时器28到期。
在S4中,加入响应接收器25b等待与在S2中发送的多播加入请求对应的加入响应。如果加入响应接收器25b在定时器28到期之前接收到加入响应,则新加入的节点装置的处理继续进行至S5。在S5中,控制器30指定父节点装置。在这样的情况下,第一个加入响应的源节点装置被指定为父节点装置。在S6中,传输请求生成器29c向在S5中指定的父节点装置发送传输请求。当加入响应接收器25b接收到第二个或者后续的加入响应时,在S9中丢弃所接收的加入响应。
在S7中,流接收器21确认流接收器21是否正在接收与传输请求对应的流数据。当流接收器21正在接收流数据时,在S8中,管理包发送器29将包括连接信息的管理包发送至根节点装置2。在这样的情况下,连接信息包括用于识别流数据的源节点装置(即,父节点装置)的信息。当流接收器21不是正在接收与传输请求对应的流数据时,节点装置的处理返回至S2。
如果在加入响应接收器25b接收到加入响应之前定时器28到期,则执行S11至S13中的处理。在S11中,加入请求生成器29a向根节点装置2发送单播加入请求。在这样的情况下,根节点装置2响应于该单播加入请求向新加入的节点装置返回候选父节点信息。在S12中,管理包接收器29接收从根节点装置2发送的候选父节点信息。控制器30基于所接收的候选父节点信息来选择父节点装置。此后,新加入的节点装置的处理继续进行至S6。在这样的情况下,传输请求生成器29c向在S13中所选择的父节点装置发送传输请求。
图9是示出了加入节点装置的操作的流程图。在节点装置正在接收流数据时执行该流程图中的处理。图9中示出的处理可以通过使用计算机执行程序来实现。
在S21中,流接收器21接收流数据。在S22中,中继计数更新单元21a将存储在所接收的流数据的报头中的中继计数数据增加1。所接收的流数据被写入流缓冲器22中。
在S23中,传输树接收器25c接收从根节点装置2发送的传输树信息。传输树状态管理器26a基于传输树信息来确定传输树的状态。在S24中,硬件状态管理器26b确定节点装置的硬件资源的操作状态(CPU的负荷、存储器中的空闲区域)。在S25中,节点规格生成器26输出S24和S25中的确定结果作为节点规格信息。
在S26中,基于由节点规格生成器26生成的节点规格信息,响应确定单元27确定是否对从新加入的节点装置发送的多播加入请求做出响应。在S27中,当响应确定单元27确定对加入请求做出响应时,响应确定单元27使响应标记为1(ON)。响应标记为1的状态是节点装置可以传输流数据的状态。换言之,响应标记为1的状态是节点装置可以变为不同的节点装置的父节点装置的状态。在S28中,当响应确定单元27确定不对加入请求做出响应时,响应确定单元27使响应标记为0(OFF)。注意,当响应标记处于1状态时,加入请求接收器25a等待要从新加入的节点装置接收的多播加入请求。当接收到多播加入请求时,加入请求接收器25a接受该加入请求。当响应标记处于0状态时,加入请求接收器25a丢弃来自新加入的节点装置的加入请求。
当在S31中接收到来自新加入的节点装置的多播加入请求时,在S32中,加入响应生成器29b生成与该多播加入请求对应的加入响应。该加入响应被返回至该多播加入请求的源节点装置(即,新加入的节点装置)。在图8中示出的流程图中的S4中,新加入的节点装置接收该加入响应。然后,在S6中,新加入的节点装置生成传输请求。
在S33中,管理包接收器25接收由新加入的节点装置生成的传输请求。然后,在S34中,流发送器23将存储在流缓冲器22中的流数据发送至新加入的节点装置。
图10是在新加入的节点装置附近存在可以传输流数据的加入节点装置的情况下的视频流传送系统的顺序图。该顺序图对应于图1~图3中示出的示例。
新加入的节点装置3测量相对于网关4的RTT。接下来,新加入的节点装置3向属于网络Y的节点装置发送多播加入请求。此时,定时器28被激活。加入节点装置1C和1D接收到该多播加入请求。假定在该示例中加入节点装置1C和1D被设置为处于其分别对加入请求做出响应的状态。因此,加入节点装置1C和1D分别向新加入的节点装置3返回加入响应。
在定时器28到期之前,新加入的节点装置3接收到分别从加入节点装置1C和1D返回的加入响应。在该示例中,新加入的节点装置3首先接收到从加入节点装置1D返回的加入响应,然后接收到从加入节点装置1C返回的加入响应。在这样的情况下,新加入的节点装置3确定加入节点装置1D是可以传输流数据的节点装置当中的最靠近新加入的节点装置3存在的加入节点装置。通过这样做,新加入的节点装置3向加入节点装置1D发送传输请求。此外,加入节点装置1D开始向新加入的节点装置3传输流数据。此外,新加入的节点装置3向根节点装置2发送表示加入节点装置1D是新加入的节点装置3的父节点装置的连接信息。根节点装置2根据该连接信息更新传输树信息。
此后,根节点装置2将更新后的传输树信息发送至各个加入节点装置(包括新加入的节点装置3)。新加入的节点装置3基于传输树信息和新加入的节点装置3的硬件资源的操作状态来确定是否对加入请求做出响应。当新加入的节点装置3确定对加入请求做出响应时,新加入的节点装置3等待从不同的节点装置发送的多播加入请求。
图11是在新加入的节点装置附近不存在可以传输流数据的加入节点装置的情况下的视频流传送系统的顺序图。该顺序图对应于图1、图2和图4中示出的示例。
在图10与图11之间用于测量RTT和发送多播加入请求的操作类似。然而,在图11中示出的示例中,新加入的节点装置3在定时器28到期之前未接收到加入响应。在这样的情况下,新加入的节点装置3向根节点装置2发送单播加入请求。然后,根节点装置2生成候选父节点信息,并且将该信息返回至新加入的节点装置3。
新加入的节点装置3基于从根节点装置2接收的候选父节点信息来选择父节点装置。在该示例中,加入节点装置1B被选择为父节点装置。因此,新加入的节点装置3向加入节点装置1B发送传输请求。然后,加入节点装置1B开始向新加入的节点装置3传输流数据。在图10与图11之间该操作之后的操作基本上相互类似,因此将省略其说明。
接下来,将说明加入节点装置确定是否对多播加入请求做出响应的方法。如上所述,由响应确定单元27做出该确定。
在图12中示出的示例中,基于节点装置的规格做出确定。节点装置的规格表示硬件的性能和节点装置的操作状态。在该示例中,考虑了下面6个因素。例如,假定周期性地检测因素(2)、(3)、(4)和(6)。
(1)CPU的性能
(2)存储器中的空闲区域
(3)HDD中的空闲区域
(4)CPU的负荷(使用率)
(5)LAN接口的通信速度
(6)丢包率
当上面6个因素中的至少一个因素被确定为“低”时,响应确定单元27使响应标记为“ON”。当不存在被确定为“低”的因素时,响应确定单元27使响应标记为“OFF”。该方法使新加入的节点装置更可能连接至硬件资源具有较大的可用容量的节点装置。
响应确定单元27可以根据响应确定单元27的节点装置的传输状态做出上面的确定。例如,当子节点的数量(即,传输目的地节点的数量)达到阈值(例如3)时,响应确定单元27使响应标记为“OFF”。该方法使新加入的节点装置更可能连接至具有较少子节点的节点装置。
此外,响应确定单元27可以基于从根节点装置接收的传输树信息做出上面的确定。例如,假定表示图13A中示出的传输树的传输树信息被从根节点装置发送至每个加入节点装置。当根装置与响应确定单元27的节点装置之间的路线中的中继的数量与传输树中的中继的最小数量之间的差达到阈值(例如5)时,每个节点装置的响应确定单元27使响应标记为“OFF”。中继的最小数量表示根节点装置与各个传输路线中的最下游节点之间的中继的数量当中的最小值。在图13A中示出的示例中,中继的最小数量是“1”,其是关于中继节点A所检测的。关于节点I所检测的中继的数量是“6”。在这样的情况下,因为差是“5”,所以节点I的响应确定单元27使响应标记为“OFF”。该方法使新加入的节点装置更可能连接至短的传输路线中的节点装置。
响应确定单元27可以基于传输树信息为位于路由器下游的每个网络做出上述确定。例如,假定表示图13B中示出的传输树的传输树信息被从根节点装置发送至每个加入节点装置。当节点装置所属的本地网络中的上游节点的数量达到阈值(例如3)并且本地网络中的上游节点装置可以接受子节点时,每个节点装置的响应确定单元27使响应标记为“OFF”。在图13B中示出的传输树中,节点E、F、G和H属于同一网络。在这种情况下,三个中继节点位于节点H的上游侧。此外,当将节点E、F和G中至少一个节点登记在候选父节点信息中时,节点H的响应确定单元27使响应标记为“OFF”。该方法使新加入的节点装置更可能连接至上游节点装置,从而产生更稳定的传输操作。
<其它示例>
在上面的示例中,通过使用定时器来测量新加入的节点装置3与网关4之间的RTT,以便搜索与网关4相比更靠近新加入的节点装置3的加入节点装置作父节点装置。然而,本发明不限于该方法。定时器28可以测量预先指定的某个时间段。该方法还可以通过适当地指定某个时间段使新加入的节点装置3从位于靠近新加入的节点装置3的加入节点装置接收流数据。
此外,当搜索父节点装置时,新加入的节点装置不是必须使用定时器。例如,在发送多播加入请求之后,新加入的节点装置可以将最先返回加入响应的加入节点装置确定为父节点装置。
此外,在上面的示例中,“TTL=1”被添加至多播加入请求。然而,本发明不限于该方法。换言之,不必在多播加入请求中设置TTL。当在多播加入请求中未设置TTL时,新加入的节点装置可以从位于距新加入的节点装置两个或更多个跃距的加入节点装置接收加入响应。然而,当新加入的节点装置接收到多个加入响应时,新加入的节点装置基于最先接收到的加入响应来确定父节点装置。因此,距新加入的节点装置两个或更多个跃距的位置处的加入节点装置被选择为父节点的可能性低。
<节点装置的硬件配置>
图14示出了根据本发明的实施方式的节点装置(根节点装置、加入节点装置、或新加入的节点装置)的硬件配置的示例。节点装置包括图14中示出的计算机系统100。计算机系统100包括CPU 101、存储器102、存储装置103、读出装置104、通信接口106以及输入/输出装置107。CPU101、存储器102、存储装置103、读出装置104、通信接口106以及输入/输出装置107经由例如总线108相互连接。
CPU 101通过使用存储器102执行描述图8或图9中示出的流程图的处理的传输控制程序。因此,实现了上述视频流传送方法。存储器102例如是半导体存储器,并且包括RAM区和ROM区。存储装置103例如是硬盘装置,并且存储上述传输控制程序。此外,存储装置103可以存储流数据。注意,存储装置103可以是诸如闪速存储器等的半导体存储器。此外,存储装置103可以是外部记录装置。
读出装置104根据来自CPU 101的指令来访问可移除记录介质105。可移除记录介质105通过例如半导体装置(USB存储器等)、使用磁效应(磁盘等)输入和输出信息的介质、使用光效应(CD-ROM、DVD等)输入和输出信息的介质等来实现。通信接口106能够根据来自CPU 101的指令经由网络发送和接收数据。输入/输出装置107包括从用户接收指令的装置、输出流数据的装置、以及其它装置。
根据实施方式的传输控制程序以例如下面的形式被提供给计算机系统100。
(1)安装在存储装置103中
(2)从可移除记录介质105提供
(3)从程序服务器110提供
如上所述,根据本发明的实施方式,减少了在基于P2P执行流传输的视频流传送系统中新加入的节点装置接收流数据的等待时间段。
Claims (8)
1.一种向节点装置提供流传送服务的流传送系统,所述流传送系统包括:
新加入的节点装置,被配置成新加入流传送服务并且向指定范围内的节点装置发送加入请求,
节点装置,被配置成接收所述加入请求,并且在接收到所述加入请求的节点装置能够提供流传送服务时,向所述新加入的节点装置返回与所述加入请求对应的加入响应,
其中,所述新加入的节点装置向最先返回与所述加入请求对应的加入响应的节点装置发送传输请求。
2.根据权利要求1所述的流传送系统,其中,
所述新加入的节点装置向在生存时间TTL为1的范围内的节点装置发送所述加入请求。
3.根据权利要求1所述的流传送系统,其中,
当所述新加入的节点装置未在自所述新加入的节点装置发送所述加入请求起的指定时间段内接收到所述加入响应时,所述新加入的节点装置向管理流传送服务的传输状态的根节点装置发送加入请求,
所述根节点装置向所述新加入的节点装置返回表示提供流传送服务的节点装置的候选节点信息,以及
所述新加入的节点装置基于所述候选节点信息来选择父节点装置,并且向所选择的父节点装置发送传输请求。
4.根据权利要求3所述的流传送系统,其中,
所述指定时间段是所述新加入的节点装置与容纳所述新加入的节点装置的路由器或网关之间的往返时间。
5.根据权利要求1所述的流传送系统,其中,接收到所述流传送服务的流数据的节点装置基于该接收到所述流传送服务的流数据的节点装置的操作状态来确定是否接受所述加入请求。
6.根据权利要求1所述的流传送系统,其中,接收到所述流传送服务的流数据的节点装置基于表示所述流数据流动的路线的传输树的状态来确定是否接受所述加入请求。
7.一种在用于提供流传送服务的流传送系统中使用的节点装置,所述节点装置包括:
加入请求发送器,被配置成向指定范围内的其它节点装置发送加入请求;
加入响应接收器,被配置成从接收到所述加入请求并且能够提供流传送服务的其它节点装置接收与所述加入请求对应的加入响应;以及
传输请求发送器,被配置成向最先返回与所述加入请求对应的加入响应的其它节点装置发送传输请求。
8.一种向节点装置提供流传送服务的流数据传输方法,所述方法包括:
由新加入流传送服务的新加入的节点装置向指定范围内的节点装置发送加入请求;
当接收到所述加入请求的节点装置能够提供流传送服务时,由接收到所述加入请求的所述节点装置向所述新加入的节点装置发送与所述加入请求对应的加入响应;以及
由所述新加入的节点装置向最先返回与所述加入请求对应的加入响应的节点装置发送传输请求。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014-002312 | 2014-01-09 | ||
JP2014002312A JP6369024B2 (ja) | 2014-01-09 | 2014-01-09 | 映像配信システム及び映像配信システムにおいて使用されるノード装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104780151A true CN104780151A (zh) | 2015-07-15 |
CN104780151B CN104780151B (zh) | 2018-09-04 |
Family
ID=53496117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410804514.2A Active CN104780151B (zh) | 2014-01-09 | 2014-12-19 | 流传送系统及在流传送系统中使用的节点装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20150195360A1 (zh) |
JP (1) | JP6369024B2 (zh) |
CN (1) | CN104780151B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115174653B (zh) * | 2022-07-07 | 2024-01-30 | 苏州磐联集成电路科技股份有限公司 | 节点配对方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1758646A (zh) * | 2004-09-03 | 2006-04-12 | 微软公司 | 用于对等网络中的接收器驱动流传送的系统和方法 |
CN101355473A (zh) * | 2007-07-27 | 2009-01-28 | 华为技术有限公司 | 移动自组网资源发布与查找方法及移动自组网络节点设备 |
CN101420434A (zh) * | 2008-12-03 | 2009-04-29 | 深圳市众方信息科技有限公司 | 一种支持VoIP通信的P2P方法 |
US20100011103A1 (en) * | 2006-09-28 | 2010-01-14 | Rayv Inc. | System and methods for peer-to-peer media streaming |
CN101931656A (zh) * | 2010-09-16 | 2010-12-29 | 武汉大学 | 一种isp友好的分布式服务节点选择和更新方法 |
CN102223387A (zh) * | 2010-04-16 | 2011-10-19 | 中国移动通信集团公司 | 资源调度方法及系统、接入节点、入口服务器 |
CN102547590A (zh) * | 2011-12-23 | 2012-07-04 | 北京邮电大学 | 一种蜂窝网络下基于业务内容相关度的直连通信用户对配对方法 |
CN102761582A (zh) * | 2011-04-26 | 2012-10-31 | 财团法人工业技术研究院 | 对等网络中反馈式同侪选择方法与装置 |
CN102946325A (zh) * | 2012-11-14 | 2013-02-27 | 中兴通讯股份有限公司 | 一种基于软件定义网络的网络诊断方法、系统及设备 |
CN102970312A (zh) * | 2011-09-01 | 2013-03-13 | 中兴通讯股份有限公司 | 基于p2p的无盘设备的网络启动方法及系统 |
CN103023826A (zh) * | 2012-12-26 | 2013-04-03 | 华中科技大学 | 一种OpenFlow控制器的路由控制方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030233540A1 (en) * | 2002-06-13 | 2003-12-18 | International Business Machines Corporation | System and method for secured delivery of content stream across multiple channels |
JP4181951B2 (ja) * | 2002-09-27 | 2008-11-19 | 松下電器産業株式会社 | コンテンツ配信システム |
US7174385B2 (en) * | 2004-09-03 | 2007-02-06 | Microsoft Corporation | System and method for receiver-driven streaming in a peer-to-peer network |
US7630370B2 (en) * | 2007-02-28 | 2009-12-08 | Sharp Laboratories Of America, Inc. | Overlay join latency reduction using preferred peer list |
US20090164576A1 (en) * | 2007-12-21 | 2009-06-25 | Jeonghun Noh | Methods and systems for peer-to-peer systems |
US8422497B2 (en) * | 2008-10-16 | 2013-04-16 | Soongsil University Research Consortium Techno-Park | Method for configuring and managing multicast data delivery path in mobile ad-hoc network and multicast data delivery system using the same |
KR101027500B1 (ko) * | 2008-10-30 | 2011-04-06 | 주식회사 카뮤즈 | 세션수에 의해 p2p의 트리구조를 형성하는 p2p방식 인터넷 라이브 방송 서비스 시스템 및 방법 |
US8204915B2 (en) * | 2009-02-13 | 2012-06-19 | Alcatel Lucent | Apparatus and method for generating a database that maps metadata to P2P content |
JP5732919B2 (ja) * | 2011-03-04 | 2015-06-10 | 富士通株式会社 | データ配信システム,ノード,及びデータ配信方法 |
US20120270576A1 (en) * | 2011-04-22 | 2012-10-25 | Intuitive Research And Technology Corporation | System and method for partnered media streaming |
US8995338B2 (en) * | 2011-05-26 | 2015-03-31 | Qualcomm Incorporated | Multipath overlay network and its multipath management protocol |
-
2014
- 2014-01-09 JP JP2014002312A patent/JP6369024B2/ja active Active
- 2014-11-17 US US14/542,759 patent/US20150195360A1/en not_active Abandoned
- 2014-12-19 CN CN201410804514.2A patent/CN104780151B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1758646A (zh) * | 2004-09-03 | 2006-04-12 | 微软公司 | 用于对等网络中的接收器驱动流传送的系统和方法 |
US20100011103A1 (en) * | 2006-09-28 | 2010-01-14 | Rayv Inc. | System and methods for peer-to-peer media streaming |
CN101355473A (zh) * | 2007-07-27 | 2009-01-28 | 华为技术有限公司 | 移动自组网资源发布与查找方法及移动自组网络节点设备 |
CN101420434A (zh) * | 2008-12-03 | 2009-04-29 | 深圳市众方信息科技有限公司 | 一种支持VoIP通信的P2P方法 |
CN102223387A (zh) * | 2010-04-16 | 2011-10-19 | 中国移动通信集团公司 | 资源调度方法及系统、接入节点、入口服务器 |
CN101931656A (zh) * | 2010-09-16 | 2010-12-29 | 武汉大学 | 一种isp友好的分布式服务节点选择和更新方法 |
CN102761582A (zh) * | 2011-04-26 | 2012-10-31 | 财团法人工业技术研究院 | 对等网络中反馈式同侪选择方法与装置 |
CN102970312A (zh) * | 2011-09-01 | 2013-03-13 | 中兴通讯股份有限公司 | 基于p2p的无盘设备的网络启动方法及系统 |
CN102547590A (zh) * | 2011-12-23 | 2012-07-04 | 北京邮电大学 | 一种蜂窝网络下基于业务内容相关度的直连通信用户对配对方法 |
CN102946325A (zh) * | 2012-11-14 | 2013-02-27 | 中兴通讯股份有限公司 | 一种基于软件定义网络的网络诊断方法、系统及设备 |
CN103023826A (zh) * | 2012-12-26 | 2013-04-03 | 华中科技大学 | 一种OpenFlow控制器的路由控制方法 |
Also Published As
Publication number | Publication date |
---|---|
JP6369024B2 (ja) | 2018-08-08 |
JP2015133529A (ja) | 2015-07-23 |
US20150195360A1 (en) | 2015-07-09 |
CN104780151B (zh) | 2018-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8726327B2 (en) | System and method for peer-to-peer live streaming | |
US20080256175A1 (en) | Method and apparatus for transmitting data in a peer-to-peer network | |
CN109412966B (zh) | 一种大规模日志传输方法、装置及系统 | |
CN111200622B (zh) | 一种资源传输方法及装置、存储介质 | |
WO2013140602A1 (ja) | 輻輳制御方法、輻輳制御装置、通信システム及び輻輳制御プログラム | |
CN105103518A (zh) | 内容分发系统和方法 | |
JP5724139B2 (ja) | セッション数によりp2pのツリー構造を形成するp2p方式のインターネットライブ放送サービスシステム及び方法 | |
CN115669075A (zh) | 专用网络装置和专用局域网连接、内容发现、数据传输和控制方法 | |
CN111447114A (zh) | 一种数据包传输方法、装置、电子设备及存储介质 | |
US20130034047A1 (en) | Method and system for communicating with web services using peer-to-peer technology | |
CN113300955A (zh) | 内容分发网络中节点间路径确定方法、系统及设备 | |
CN102802043B (zh) | 分布式监控系统及其视频点播方法及装置 | |
CN102014143A (zh) | 数据接收/发送终端、装置、方法及机顶盒 | |
CN104780151A (zh) | 流传送系统及在流传送系统中使用的节点装置 | |
CN102882906A (zh) | 受限应用协议中数据通信的方法和装置 | |
JP6178113B2 (ja) | 通信システム | |
CN110324265B (zh) | 流量分发方法、路由方法、设备及网络系统 | |
KR20120020344A (ko) | 단말, 중간 노드 및 단말 및 중간 노드의 통신 방법 | |
KR20100104832A (ko) | 중간 노드 장치, 중간 노드 장치의 제어 방법, 및 네트워크시스템 | |
US20160337218A1 (en) | Method and system of monitoring network | |
CN104780468A (zh) | 流媒体系统及用在流媒体系统中的节点装置 | |
US20150200813A1 (en) | Server connection apparatus and server connection method | |
JP5588376B2 (ja) | 端末装置、端末装置用プログラム及びコンテンツ配信システム | |
JP5082986B2 (ja) | 送信ノード、並びにその制御方法及び制御プログラム | |
KR102184767B1 (ko) | 복수의 디바이스를 포함하는 네트워크의 통신 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |