[go: up one dir, main page]

CN1314250C - A robust point to point based stream scheduling method - Google Patents

A robust point to point based stream scheduling method Download PDF

Info

Publication number
CN1314250C
CN1314250C CNB2004100867111A CN200410086711A CN1314250C CN 1314250 C CN1314250 C CN 1314250C CN B2004100867111 A CNB2004100867111 A CN B2004100867111A CN 200410086711 A CN200410086711 A CN 200410086711A CN 1314250 C CN1314250 C CN 1314250C
Authority
CN
China
Prior art keywords
client node
client
multicast
network
node
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.)
Expired - Fee Related
Application number
CNB2004100867111A
Other languages
Chinese (zh)
Other versions
CN1604569A (en
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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CNB2004100867111A priority Critical patent/CN1314250C/en
Publication of CN1604569A publication Critical patent/CN1604569A/en
Application granted granted Critical
Publication of CN1314250C publication Critical patent/CN1314250C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明属于信息传播技术领域,涉及一种鲁棒的基于点对点的流调度方法。该方法将调度服务器、流媒体服务器和客户端节点组成一个直播网络,根据每个客户端节点在网络中所实现功能的不同给予不同的定义,在网络中每个客户端节点被赋于不同的功能。新客户端节点的请求加入以及客户端节点的退出造成网络拓扑结构的改变,通过对网络拓扑表的动态更新和监控,以及改变部分客户端节点的功能实现流调度。该方法综合了P2P技术、IP多播技术和网络代理技术的优点,力图最大程度上节省网络带宽。在该方法中采用多数据源技术以增强组播网络的鲁棒性。同时,多数据源的低相关性,为重传等差错恢复提供了有利条件。

The invention belongs to the technical field of information dissemination, and relates to a robust point-to-point flow scheduling method. In this method, a scheduling server, a streaming media server, and client nodes form a live network, and different definitions are given according to the functions of each client node in the network. In the network, each client node is assigned a different Function. The request of new client nodes to join and the exit of client nodes cause changes in the network topology. Flow scheduling is realized by dynamically updating and monitoring the network topology table and changing the functions of some client nodes. This method combines the advantages of P2P technology, IP multicast technology and network proxy technology, and tries to save network bandwidth to the greatest extent. In this method, multi-data source technology is used to enhance the robustness of multicast network. At the same time, the low correlation of multiple data sources provides favorable conditions for error recovery such as retransmission.

Description

A kind of robust based on point-to-point stream scheduling method
Technical field
The invention belongs to the information dissemination technology field, relate in particular to a kind of P2P stream scheduling method based on the high robust under the live network environment.
Background technology
Along with popularizing rapidly of the development of Internet, particularly broadband services, people no longer have been satisfied with simple information such as text, image are only arranged.And to content rich video more, media services such as audio frequency have had increasing demand.Content of multimedia in the network, especially continuous media content (video and audio frequency), promptly streaming medium content promptly increases.Streaming Media is the cross discipline of multimedia and network service.In the Streaming Media application, the video data partition packing back after content providers will be compressed is transferred to the recipient in the mode of " stream " simultaneously by network, on one side the recipient receives data, Yi Bian the packet that will receive is recombinated, decodes, play.Other transmission mode has essential distinction in this transmission mode and the network.
This new network service needed of video multicast realizes that any is to the communication of multiple spot on the network.And current, client/server structure is all generally adopted in the various services on the Internet, perhaps is called IP unicast.This service model is simple in structure, is easy to realize, it is popularized in the process at computer network and has brought into play enormous function.But along with the scale of network service is huge day by day, this structure drawback is also more and more obvious: for can be to more customer service, it needs server from strength to strength, and more and more higher to the network egress bandwidth requirement at server end.Particularly in the Video service field, because the code check of video flowing is often all very high, generally at least at hundreds of kilobits per second (kbits/s), thus very big to server stress, almost can not satisfy the user's request that enlarges day by day.Especially in video multicast the inside, server in fact sends identical video data for a large amount of clients, and this not only brings added burden to server, and is wastes greatly to bandwidth resources.The calculated performance that is to say server has become topmost bottleneck with the network bandwidth.
In view of the existing problems of IP multicast, realize that in application layer the idea of multicast functionality is suggested thereupon.Here it is so-called application layer multicast, its basic thought are exactly that function with multicast is put into application layer and finishes.But the most employing of application layer multicast is set up reliable server in the network various piece and is finished the multicast task, and safeguards that these servers need a large amount of costs.
Summary of the invention
The objective of the invention is for overcoming the weak point of prior art, propose a kind of robust based on point-to-point stream scheduling method, this method synthesis the advantage of P2P technology, ip multicast technology and network agent technology, try hard to save to the full extent the network bandwidth.Adopt the multi-data source technology to strengthen the robustness of multicast network in the method.The low correlation of multi-data source provides advantage for retransmitting the wrong recovery of equal difference.
The stream scheduling method based on P2P of a kind of robust that the present invention proposes comprises network-building method and dispatching method, and wherein said network-building method may further comprise the steps:
(1) in live network, dispatch server (Trace Server) is the client node that client node (Peer) finds other, and notification streams media server (Streaming Server) provides Media Stream to client node;
(2) streaming media server provides stable Media Stream to client node;
(3) client node receives from streaming media server or the Media Stream of the client node of Media Stream is provided, and buffered media stream, in this client node playing media flow data, provide Media Stream to other client nodes by P2P (Peer-to-Peer) mode;
(4) client node in the step (3), if in the P2P transmission course, provide Media Stream to other client nodes, then this client node is called the client node (supplying peer) that Media Stream is provided, otherwise this client node is called bottom client node (leaf peer);
(5) client node in the step (3), if in the P2P transmission course, reception provides the Media Stream of the client node of Media Stream from streaming media server or reception, and then this client node is called the client node (receiving peer) of receiving media stream;
(6) client node in the step (3) if be positioned at some subnets inside, and provides Media Stream to other client nodes, and then this client node is called multicast client node (multicasting peer);
(7) client node in the step (3), if be positioned at some subnets inside, and receive only Media Stream from other multicast client nodes in the same subnet, simultaneously not to subnet outside other clients Media Stream is provided, then this client node is called multicast reception client node (multicasting receiver);
(8) client node in the step (3), can provide the client node of Media Stream, the client node and the multicast client node of receiving media stream simultaneously, but as long as it provides the client node of Media Stream, the client node and the multicast client node thrin of receiving media stream, it just can not be that multicast receives client node;
(9) client node in the step (3), if asking to add live network, then this client node is called the client node (requesting peer) that request adds;
(10) client node in the step (3), if asking or withdrawing from by force live network, then this client node is called the client node (quitting peer) that withdraws from;
(11) client node in the step (3), if directly obtain Media Stream from streaming media server, then this client node is called seed client node (seed peer);
(12) streaming media server is positioned at the 0th layer (layer) of this network; The seed client node is positioned at the 1st layer of this network; If certain client node provides the client node of Media Stream that Media Stream is provided by several, then its level of being arranged in network is that all provide the maximum level of client node of Media Stream to add one; If certain client node is to provide Media Stream by certain multicast client node, then its level is that the level of multicast client node adds one; The middle-level sequence number of network is to be used for estimating the delay that Media Stream produces in network;
Described dispatching method comprises the steps;
(13) when new client node application adds live network, must be connected with described dispatch server earlier, distribute client node that Media Stream is provided or multicast client node to provide Media Stream (this dispatch server cannot receive client node with any multicast offer the client node that request adds, in order to avoid cause the output flow of this subnet big unusually) by dispatch server for it;
(14) when certain client node withdraws from live network, dispatch server will be according to the current network topology situation, (dispatch server is if select the bottom client node to select a multicast reception client node or bottom client node to substitute the client node that withdraws from, then generally select number of plies maximum, the information such as distance, delay of also can taking into account select);
(15) dispatch server is preserved this topology of networks network topology table of a detail record, and when client node adds or withdraws from this network (network topology structure changes), this network topology table also dynamic real-time is upgraded;
(16) in the scheduling process of dispatch server, the hierachy number of the client node that Media Stream is provided of each client node is all than the hierachy number of this client node little (thereby guaranteeing that dispatch server does not produce the loop network structure in the stream scheduling process, guarantee that each client node can obtain up-to-date media stream data from streaming media server directly or indirectly);
(19) in the scheduling process of dispatch server,, make it become the bottom client node with each lowermost end that can not externally provide the client node of Media Stream to be assigned to live network;
(20) have the processing of a plurality of channels under the living broadcast environment, can move a plurality of dispatch servers simultaneously, also can open different port on same dispatch server and support, each dispatch server or each port are all logically safeguarded network separately.
When new client node application added live network, the dispatching method of dispatch server specifically may further comprise the steps in above-mentioned (13) step:
(13.1) if when not having or having only other a client node in the client node place subnet that request adds (can think client node that request adds not in this subnet), several (quantity can often) client nodes or streaming media server the give request client node conduct that add the candidate client node (Supplying Candidates) that Media Stream be provided of dispatch server beyond the client node that request adds distributes this subnet then, the client node that request adds is by relatively (as relatively and the delay between them, compare their historical information or the like), select several client nodes as the client node that Media Stream is provided, the client node that this moment, request added is operated in P2P pattern (Peer-to-Peer Mode);
(13.2) if client node more than 2 or 2 is arranged in the client node place subnet that request adds, then can adopt P2P pattern (method as step (13.1) as described in), also can adopt multicast pattern (MulticastingMode) to join in the whole live network;
(13.3) in step (13.2),, then, determine the dispatching method that new client node adds according to whether existing other multicasts to receive client node in original this subnet if the client node that request adds adopts multicast mode to add live network;
(13.4) in step (13.3), if exist other multicasts to receive client node in original this subnet, then dispatch server will ask the address and the port numbers of the client node of adding to inform the all-multicast client node that this subnet is interior, and each multicast client node will ask the information of the client node of adding to join in each contented multicast list;
(13.5) in step (13.3), if do not exist other multicasts to receive client node in original this subnet, then dispatch server will be informed all client nodes that are operated under the P2P pattern in this subnet, make them enter multicast state, return step (13.4) afterwards.
In above-mentioned (14) step, when certain client node withdrawed from live network, the dispatching method of dispatch server specifically may further comprise the steps:
(14.1) if the subnet inside at the client node place of withdrawing from exists multicast to receive client node, and the client node that withdraws from itself is a multicast client node, then a multicast of the work of the client node that withdraws from all being transferred in this subnet receives on the client node, this multicast reception client node provides the client node of Media Stream to connect with all of the client node that withdraws from, thereby obtain all media stream datas, the request of the client node of all receiving medias streams of the client node that acceptance is simultaneously withdrawed from;
(14.2) if the subnet inside at the client node place of withdrawing from exists multicast to receive client node, and the client node that withdraws from itself is that a multicast receives client node, and then the client node that this is withdrawed from is deleted from the topology table of this network;
(14.3) if the subnet inside at the client node place of withdrawing from does not exist multicast to receive client node (can think that the client node of asking to add is not in this subnet), (the bottom client node of distribution generally is that hierachy number is bigger then to distribute a bottom client node to replace the client node that withdraws from, like this can be so that the hierachy number of whole multicast network remains on the less level, help reducing network delay, also should take into account factors such as distance, bandwidth simultaneously);
(14.4) if the client node that withdraws from is the bottom client node, then the client node that this is withdrawed from is deleted from the topology table of this network;
In above-mentioned (15) step, topology table dynamic real-time method for updating specifically may further comprise the steps:
(15.1) each client node all must regularly send survival (Alive) signal to dispatch server, represent that oneself still is in the network, and in work, if certain client node does not send the survival signal in given time threshold (Timeout), think that then this client node has withdrawed from live network, and it is deleted from topology table, the dispatching method that withdraws from by client node is handled afterwards;
(15.2) in step (15.1), each client node sends time interval change at random (according to information setting time interval excursions such as cache size, delays) in a given scope of survival signal to dispatch server;
(15.3) when the scale of multicast network during greater than the size threshold set, the method that adopts classification to monitor dynamically updates topology table; This classification monitor method is: the seed client node is unique client node that directly sends the survival signal to dispatch server; All client nodes except that the seed client node directly send the survival signal to client node that Media Stream is provided or multicast client node; If the client node of Media Stream or the multicast client node is not received certain client node in this time threshold survival signal are provided, directly notify dispatch server; Dispatch server will not send the client node of survival signal and will delete from topology table in this time threshold, the dispatching method that withdraws from by client node is handled afterwards.
Characteristics of the present invention and technique effect:
The inventive method combines the advantage of P2P technology, ip multicast technology and network agent technology, tries hard to save to the full extent the network bandwidth.Adopt the multi-data source technology to strengthen the robustness of multicast network in the method.The low correlation of multi-data source provides advantage for retransmitting the wrong recovery of equal difference.
Description of drawings
Fig. 1 is the networking structure embodiment schematic diagram of the inventive method;
Fig. 2 is the dispatching method schematic diagram when client node in subnet withdraws from live network in the present embodiment;
Fig. 3 is the dispatching method schematic diagram when client node outside subnet withdraws from live network in the present embodiment.
Embodiment
The reaching embodiment in conjunction with the accompanying drawings based on point-to-point stream scheduling method and be described in detail as follows of a kind of robust that the present invention proposes:
The networking structure embodiment of the inventive method as shown in Figure 1,1 to 5 all is client nodes among the figure, 1 is the seed client node simultaneously wherein, the client node of Media Stream and the client node of receiving media stream be provided; 2 is the client node of seed client node, multicast client node, the client node that Media Stream is provided and receiving media stream simultaneously; The 3rd, multicast receives client node; 4 provide the client node of Media Stream and the client node of receiving media stream simultaneously; 5 is the client node and the bottom client node of receiving media stream simultaneously; The 6th, media stream data route is provided; The 7th, dispatch server is to the scheduling of Media Stream.
The network-building method of present embodiment may further comprise the steps:
(1) in the present embodiment network, dispatch server is the client node that client node (as the client node 1-5 among Fig. 1) finds other, and the notification streams media server provides Media Stream to client node;
(2) streaming media server provides stable Media Stream to client node;
(3) client node (as the client node 1-5 among Fig. 1) receives from streaming media server or the Media Stream of the client node of Media Stream is provided, and buffered media stream, in this client node playing media flow data, provide Media Stream to other client nodes by the P2P mode;
(4) client node in the step (3), if in the P2P transmission course, provide Media Stream to other client nodes, then this client node be called Media Stream is provided client node (as the client node among Fig. 11,2,4), otherwise this client node is called bottom client node (as the client node among Fig. 1 5);
(5) client node in the step (3), if in the P2P transmission course, reception provides the Media Stream of the client node of Media Stream from streaming media server or reception, then this client node is called the client node of receiving media stream (as the client node among Fig. 11,2,4,5);
(6) client node in the step (3) if be positioned at some subnets inside, and provides Media Stream to other client nodes, and then this client node is called multicast client node (as the client node among Fig. 1 2);
(7) client node in the step (3), if be positioned at some subnets inside, and receive only Media Stream from other multicast client nodes in the same subnet, simultaneously not to subnet outside other clients Media Stream is provided, then this client node is called multicast reception client node (as the client node among Fig. 1 3).
(8) client node in the step (3), can provide the client node of Media Stream, the client node and the multicast client node of receiving media stream simultaneously, but as long as it provides the client node of Media Stream, the client node and the multicast client node thrin of receiving media stream, it just can not be that multicast receives client node;
(9) client node in the step (3), if asking to add live network, then this client node is called the client node (can be as the client node among Fig. 1 5) that request adds;
(10) client node in the step (3), if asking or withdrawing from by force live network, then this client node is called the client node (can be as the client node 1-5 among Fig. 1) that withdraws from;
(11) client node in the step (3), if directly obtain Media Stream from streaming media server, then this client node is called seed client node (as the client node among Fig. 11,2);
(12) streaming media server is positioned at the 0th layer of this network; Seed client node (as the client node among Fig. 11,2) is positioned at the 1st layer of this network; If certain client node provides the client node of Media Stream that Media Stream is provided by several, then its level of being arranged in network is that all provide the maximum level of client node of Media Stream to add one (client node 3,4 as Fig. 1 is the 2nd layer, and client node 5 is the 3rd layer); If certain client node is to provide Media Stream by certain multicast client node, then its level is that the level of multicast client node (as the client node among Fig. 1 2) adds one.The middle-level sequence number of network is to be used for estimating the delay that Media Stream produces in network;
The dispatching method of present embodiment is described as follows in conjunction with shown in Fig. 1,2,3:
(13) (can be the client node 3 among Fig. 1 as new client node, when 5) application adds live network, must be connected with described dispatch server earlier, distribute client node that Media Stream is provided or multicast client node to provide Media Stream (this dispatch server cannot receive client node with any multicast offer the client node that request adds, in order to avoid cause the output flow of this subnet big unusually) by dispatch server for it;
(14) as certain client node (can be the client node 1-5 among Fig. 1) when withdrawing from live network, dispatch server will be according to the current network topology situation, (dispatch server is if select the bottom client node to select a multicast reception client node or bottom client node to substitute the client node that withdraws from, then generally select number of plies maximum, the information such as distance, delay of also can taking into account select);
(15) dispatch server is preserved this topology of networks network topology table of a detail record, and when client node adds or withdraws from this network (network topology structure changes), this network topology table also dynamic real-time is upgraded;
(16) in the scheduling process of dispatch server, the hierachy number of the client node that Media Stream is provided of each client node is all than the hierachy number of this client node little (thereby guaranteeing that dispatch server does not produce the loop network structure in the stream scheduling process, guarantee that each client node can obtain up-to-date media stream data from streaming media server directly or indirectly);
(19) in the scheduling process of dispatch server,, make it become the bottom client node with each lowermost end that can not externally provide the client node of Media Stream to be assigned to live network;
(20) have the processing of a plurality of channels under the living broadcast environment, can move a plurality of dispatch servers simultaneously, also can open different port on same dispatch server and support, each dispatch server or each port are all logically safeguarded network separately.
When new client node application added live network, the dispatching method of dispatch server specifically may further comprise the steps in above-mentioned (13) step:
(13.1) if when not having or having only other a client node in client node (as the client node among Fig. 1 5) the place subnet that request adds (can think client node that request adds not in this subnet), several (quantity can often) client nodes or streaming media server the give request client node conduct that add the candidate client node that Media Stream be provided of dispatch server beyond the client node that request adds distributes this subnet then, the client node that request adds is by relatively (as relatively and the delay between them, compare their historical information or the like), select several client nodes as the client node that Media Stream is provided, the client node that this moment, request added is operated in the P2P pattern;
(13.2) if the client node that request adds (as the client node among Fig. 13,5) client node more than 2 or 2 is arranged in the subnet of place, then can adopt P2P pattern (method as step (13.1) as described in), also can adopt multicast pattern to join in the whole live network;
(13.3) in step (13.2), if the client node (as the client node among Fig. 1 5) that request adds adopts multicast mode to add live network, then, determine the dispatching method that new client node adds according to whether existing other multicasts to receive client node in original this subnet;
(13.4) in step (13.3), if exist other multicasts to receive client node in original this subnet, then dispatch server will ask the address and the port numbers of the client node of adding to inform the all-multicast client node that this subnet is interior, and each multicast client node will ask the information of the client node of adding to join in each contented multicast list;
(13.5) in step (13.3), if do not exist other multicasts to receive client node in original this subnet, then dispatch server will be informed all client nodes that are operated under the P2P pattern in this subnet, make them enter multicast state, return step (13.4) afterwards.
In above-mentioned (14) step, when certain client node withdrawed from live network, the dispatching method of dispatch server specifically may further comprise the steps:
(14.1) if the subnet inside at the client node that withdraws from (as the client node among Fig. 2 2) place exists multicast to receive client node, and the client node that withdraws from itself is a multicast client node, then a multicast of the work of the client node that withdraws from all being transferred in this subnet receives on the client node, this multicast reception client node provides the client node of Media Stream to connect with all of the client node that withdraws from, thereby obtain all media stream datas, the request of the client node of all receiving medias streams of the client node that acceptance is simultaneously withdrawed from;
(14.2) if the subnet inside at the client node that withdraws from (as the client node among Fig. 2 3) place exists multicast to receive client node, and the client node that withdraws from itself is that a multicast receives client node, and then the client node that this is withdrawed from is deleted from the topology table of this network;
(14.3) if the subnet inside at the client node that withdraws from (as the client node among Fig. 3 4) place does not exist multicast to receive client node (can think that the client node of asking to add is not in this subnet), (the bottom client node of distribution generally is that hierachy number is bigger then to distribute a bottom client node to replace the client node that withdraws from, like this can be so that the hierachy number of whole multicast network remains on the less level, help reducing network delay, also should take into account factors such as distance, bandwidth simultaneously).
(14.4) if the client node that withdraws from is bottom client node (as the client node among Fig. 3 5), then the client node that this is withdrawed from is deleted from the topology table of this network;
In above-mentioned (15) step, topology table dynamic real-time method for updating specifically may further comprise the steps:
(15.1) each client node all must regularly send the survival signal to dispatch server, represent that oneself still is in the network, and in work, if certain client node does not send the survival signal in given time threshold (for example 120 seconds), think that then this client node has withdrawed from live network, and it is deleted from topology table, the dispatching method that withdraws from by client node is handled afterwards;
(15.2) in step (15.1), each client node sends time interval change at random in a given scope of survival signal to dispatch server, congested to prevent, require this scope within the timeout threshold that server is provided with (for example, 80~110 seconds, according to information setting time interval excursions such as cache size, delays);
(15.3) when the scale of multicast network during greater than the size threshold of setting (all being to adopt classification to monitor strategy at present), the method that adopts classification to monitor dynamically updates topology table, and the timeout threshold that general classification monitoring sets is in the timeout threshold than server little (as 20 seconds); The concrete grammar that this classification is monitored is: seed client node (as the client node among Fig. 11,2) is unique client node that directly sends the survival signal to dispatch server; All client nodes except that the seed client node (as the client node 3-5 among Fig. 1), directly (send the survival signals to client node 2 as the client node among Fig. 13 to client node that Media Stream is provided or multicast client node transmission survival signal, client node 4 sends the survival signal to client node 2 or 3, and client node 5 sends the survival signal to client node 4); If the client node of Media Stream or the multicast client node is not received certain client node in this time threshold survival signal are provided, directly notify dispatch server; Dispatch server will not send the client node of survival signal and will delete from topology table in this time threshold, the dispatching method that withdraws from by client node is handled afterwards.

Claims (4)

1、一种鲁棒的基于点对点的流调度方法,包括组网方法和调度方法,其特征在于,所述的组网方法包括以下步骤:1. A robust point-to-point flow scheduling method, comprising a networking method and a scheduling method, characterized in that the networking method includes the following steps: (1)在直播网络中,调度服务器为客户端节点找到其他的客户端节点,并通知流媒体服务器向客户端节点提供媒体流;(1) In the live broadcast network, the scheduling server finds other client nodes for the client node, and notifies the streaming media server to provide the media stream to the client node; (2)流媒体服务器向客户端节点提供稳定的媒体流;(2) The streaming media server provides a stable media stream to the client node; (3)客户端节点接收来自流媒体服务器或提供媒体流的客户端节点的媒体流,并缓存媒体流,在该客户端节点播放媒体流的同时,通过点对点方式向其他客户端节点提供媒体流;(3) The client node receives the media stream from the streaming media server or the client node that provides the media stream, and buffers the media stream, and provides the media stream to other client nodes in a point-to-point manner while the client node is playing the media stream ; (4)在步骤(3)中的客户端节点中,若在点对点传输过程中,向其他客户端节点提供媒体流,则该客户端节点称为提供媒体流的客户端节点,否则该客户端节点称为底层客户端节点;(4) Among the client nodes in step (3), if they provide media streams to other client nodes during point-to-point transmission, the client nodes are called client nodes that provide media streams; otherwise, the client nodes The node is called the underlying client node; (5)在步骤(3)中的客户端节点中,若在点对点传输过程中,接收来自流媒体服务器或接收提供媒体流的客户端节点的媒体流,则该客户端节点称为接收媒体流的客户端节点;(5) In the client node in step (3), if it receives the media stream from the streaming media server or the client node that provides the media stream during the point-to-point transmission process, the client node is called receiving the media stream client node; (6)在步骤(3)中的客户端节点中,若位于某一个子网内部,并且向其他客户端节点提供媒体流,则该客户端节点称为多播客户端节点;(6) Among the client nodes in step (3), if they are located in a certain subnet and provide media streams to other client nodes, then the client node is called a multicast client node; (7)在步骤(3)中的客户端节点中,若位于某一个子网内部,且只接收来自同一子网内其他多播客户端节点的媒体流,同时不向子网外其他客户端提供媒体流,则该客户端节点称为多播接收客户端节点;(7) Among the client nodes in step (3), if they are located inside a certain subnet, and only receive media streams from other multicast client nodes in the same subnet, they do not broadcast to other clients outside the subnet. If the media stream is provided, the client node is called a multicast receiving client node; (8)在步骤(3)中的客户端节点中,可同时是提供媒体流的客户端节点、接收媒体流的客户端节点和多播客户端节点,但只要它是提供媒体流的客户端节点、接收媒体流的客户端节点和多播客户端节点三者之一,它就不能是多播接收客户端节点;(8) Among the client nodes in step (3), it can be the client node providing media stream, the client node receiving media stream and the multicast client node at the same time, but as long as it is the client node providing media stream node, a client node receiving media streams, and a multicast client node, it cannot be a multicast receiving client node; (9)在步骤(3)中的客户端节点中,如果正在请求加入直播网络,则该客户端节点称为请求加入的客户端节点;(9) in the client node in step (3), if requesting to join the live broadcast network, then this client node is called the client node requesting to join; (10)在步骤(3)中的客户端节点中,如果正在请求或已强行退出直播网络,则该客户端节点称为退出的客户端节点;(10) Among the client nodes in step (3), if they are requesting or have forcibly withdrawn from the live broadcast network, the client node is called the withdrawn client node; (11)步骤(3)中的客户端节点,如果直接从流媒体服务器获得媒体流,则该客户端节点称为种子客户端节点;(11) the client node in the step (3), if directly obtain media flow from streaming media server, then this client node is called seed client node; (12)流媒体服务器位于该网络的第0层;种子客户端节点位于该网络的第1层;若某个客户端节点由若干个提供媒体流的客户端节点提供媒体流,则它位于网络的层次是所有提供媒体流的客户端节点中最大的层次加一;如果某个客户端节点是由某个多播客户端节点提供媒体流,则它的层次是多播客户端节点的层次加一;网络中层次序号是用来估计媒体流在网络中产生的延迟;(12) The streaming media server is located in the 0th layer of the network; the seed client node is located in the 1st layer of the network; if a certain client node is provided with media streams by several client nodes providing media streams, it is located in the The level is the largest level of all client nodes that provide media streams plus one; if a certain client node is provided by a multicast client node, its level is the level of the multicast client node plus one 1. The hierarchical sequence number in the network is used to estimate the delay of the media stream in the network; 所述调度方法,包括如下步骤:The scheduling method comprises the steps of: (13)当有新的客户端节点申请加入直播网络时,必须先与所述调度服务器连接,通过调度服务器分配提供媒体流的客户端节点或多播客户端节点为其提供媒体流;(13) When a new client node applies to join the live broadcast network, it must be connected to the scheduling server first, and the client node or multicast client node that provides the media stream is allocated by the scheduling server to provide the media stream; (14)当有某个客户端节点退出直播网络时,调度服务器要根据当前网络拓扑情况,选择一个多播接收客户端节点或底层客户端节点替代退出的客户端节点;(14) When a certain client node withdraws from the live broadcast network, the scheduling server should select a multicast receiving client node or a bottom client node to replace the withdrawn client node according to the current network topology; (15)调度服务器保存一份详细记录该网络的拓扑结构网络拓扑表,当有客户端节点加入或退出该网络时,该网络拓扑表也动态实时更新;(15) The scheduling server keeps a detailed record of the topology network topology table of the network. When a client node joins or exits the network, the network topology table is also dynamically updated in real time; (16)在调度服务器的调度过程中,每个客户端节点的提供媒体流的客户端节点的层次数都比该客户端节点的层次数小;(16) In the scheduling process of the scheduling server, the level number of the client node providing the media stream of each client node is smaller than the level number of the client node; (19)在调度服务器的调度过程中,将每个不能对外提供媒体流的客户端节点分配到直播网络的最底端,使其成为底层客户端节点;(19) During the scheduling process of the scheduling server, assign each client node that cannot provide media streams to the bottom end of the live broadcast network, making it a bottom client node; (20)直播环境下存在多个频道的处理,可以同时运行多个调度服务器,也可以在同一调度服务器上开启不同端口予以支持,每一个调度服务器或每一个端口均在逻辑上维护各自的网络;(20) There are multiple channel processing in the live broadcast environment, multiple scheduling servers can be run at the same time, and different ports can be opened on the same scheduling server to support it. Each scheduling server or each port maintains its own network logically ; 所述第(14)步骤中,当有某个客户端节点退出直播网络时,调度服务器的调度方法,具体包括以下步骤:In the (14) step, when a certain client node withdraws from the live broadcast network, the scheduling method of the scheduling server specifically includes the following steps: (14.1)如果退出的客户端节点所在的子网内部存在多播接收客户端节点;且退出的客户端节点本身是一个多播客户端节点,则将退出的客户端节点的工作全部转移到该子网内的一个多播接收客户端节点上,该多播接收客户端节点与退出的客户端节点的所有提供媒体流的客户端节点建立连接,从而获得所有的媒体流数据,同时接受退出的客户端节点的所有接收媒体流的客户端节点的请求;(14.1) If there is a multicast receiving client node inside the subnet where the exiting client node is located; and the exiting client node itself is a multicast client node, all the work of the exiting client node will be transferred to the On a multicast receiving client node in the subnet, the multicast receiving client node establishes connections with all client nodes that provide media streams of the exiting client nodes, thereby obtaining all media stream data, and accepting exiting client nodes at the same time requests from all client nodes receiving media streams of the client node; (14.2)如果退出的客户端节点所在的子网内部存在多播接收客户端节点,且退出的客户端节点本身是一个多播接收客户端节点,则将该退出的客户端节点从该网络的拓扑表中删除;(14.2) If there is a multicast receiving client node inside the subnet where the exiting client node is located, and the exiting client node itself is a multicast receiving client node, then the exiting client node is removed from the network delete from the topology table; (14.3)如果退出的客户端节点所在的子网内部不存在多播接收客户端节点,则分配一个底层客户端节点来代替退出的客户端节点;(14.3) If there is no multicast receiving client node inside the subnet where the exiting client node is located, then assign a bottom client node to replace the exiting client node; (14.4)如果退出的客户端节点为底层客户端节点,则将该退出的客户端节点从该网络的拓扑表中删除。(14.4) If the withdrawn client node is a bottom client node, delete the withdrawn client node from the topology table of the network. 2、如权利要求1所述的方法,其特征在于,在所述第(13)步骤中当有新的客户端节点申请加入直播网络时,调度服务器的调度方法,具体包括以下步骤:2. The method according to claim 1, characterized in that, in the (13) step, when a new client node applies to join the live broadcast network, the scheduling method of the scheduling server specifically includes the following steps: (13.1)若请求加入的客户端节点所在子网内没有或只有一个其他的客户端节点时,则调度服务器向请求加入的客户端节点分配该子网以外的若干个客户端节点或流媒体服务器给请求加入的客户端节点作为提供媒体流的候选客户端节点,请求加入的客户端节点通过比较,选择若干个客户端节点作为提供媒体流的客户端节点,此时请求加入的客户端节点工作在P2P模式;(13.1) If there is no or only one other client node in the subnet where the client node requesting to join is located, the scheduling server assigns several client nodes or streaming media servers outside the subnet to the client node requesting to join The client node that requests to join is used as a candidate client node that provides media streams. The client node that requests to join selects several client nodes as client nodes that provide media streams through comparison. At this time, the client node that requests to join works In P2P mode; (13.2)如果请求加入的客户端节点所在子网内有2个或2个以上的客户端节点,则可以采用P2P模式,也可以采用组播模式加入到整个直播网络中;(13.2) If there are 2 or more client nodes in the subnet where the client node requesting to join, you can use P2P mode or multicast mode to join the entire live broadcast network; (13.3)在步骤(13.2)中,若请求加入的客户端节点采用组播的方式加入直播网络,则根据原先该子网内是否存在其他多播接收客户端节点,确定新客户端节点加入的调度方法;(13.3) In step (13.2), if the client node requesting to join joins the live network by multicast, then determine the new client node to join according to whether there are other multicast receiving client nodes in the original subnet scheduling method; (13.4)在步骤(13.3)中,若原先该子网内存在其他多播接收客户端节点,则调度服务器将请求加入的客户端节点的地址和端口号告知该子网内的所有多播客户端节点,每个多播客户端节点将请求加入的客户端节点的信息加入到各自得组播列表中;(13.4) In step (13.3), if there are other multicast receiving client nodes in the subnet, the scheduling server will inform all multicast clients in the subnet of the address and port number of the client node requesting to join End nodes, each multicast client node adds the information of the client node requesting to join to its own multicast list; (13.5)在步骤(13.3)中,若原先该子网内不存在其他多播接收客户端节点,则调度服务器将告知该子网内所有的工作在P2P模式下的客户端节点,使它们进入组播状态,之后回步骤(13.4)。(13.5) In step (13.3), if there are no other multicast receiving client nodes in the subnet, the scheduling server will inform all client nodes working in P2P mode in the subnet to make them enter Multicast status, then go back to step (13.4). 3、如权利要求1所述的方法,其特征在于,在所述第(15)步骤中,拓扑表动态实时更新的方法,具体包括以下步骤:3. The method according to claim 1, characterized in that, in the (15) step, the method for dynamically updating the topology table in real time, specifically comprises the following steps: (15.1)每个客户端节点都必须定期向调度服务器发送存活信号,表示自己仍然处于网络中,并且还在工作,如果某个客户端节点在给定的时间阈值内没有发送存活信号,则认为该客户端节点已经退出直播网络,并将其从拓扑表中删除,之后按客户端节点退出的调度方法处理;(15.1) Each client node must periodically send a survival signal to the scheduling server, indicating that it is still in the network and still working. If a client node does not send a survival signal within a given time threshold, it is considered The client node has withdrawn from the live broadcast network, and is deleted from the topology table, and then processed according to the scheduling method of client node withdrawal; (15.2)在步骤(15.1)中,每个客户端节点向调度服务器发送存活信号的时间间隔在一个给定的范围内随机变化;(15.2) In step (15.1), the time interval at which each client node sends a survival signal to the scheduling server varies randomly within a given range; (15.3)当组播网络的规模大于设定的规模阈值时,采用分级监听的方法动态更新拓扑表。(15.3) When the scale of the multicast network is greater than the set scale threshold, the topology table is dynamically updated by means of hierarchical monitoring. 4、如权利要求3所述的方法,其特征在于,该分级监听方法具体包括:种子客户端节点是唯一直接向调度服务器发送存活信号的客户端节点;除种子客户端节点以外的所有客户端节点,直接向提供媒体流的客户端节点或多播客户端节点发送存活信号;若提供媒体流的客户端节点或多播客户端节点在该时间阈值内没有收到某个客户端节点的存活信号,直接通知调度服务器;调度服务器将在该时间阈值内没有发送存活信号的客户端节点从拓扑表中删除,之后按客户端节点退出的调度方法处理。4. The method according to claim 3, wherein the hierarchical monitoring method specifically comprises: the seed client node is the only client node that directly sends a survival signal to the scheduling server; all clients except the seed client node node, directly sends a survival signal to the client node or multicast client node that provides the media stream; if the client node or multicast client node that provides the media stream does not receive the survival Signal, directly notify the scheduling server; the scheduling server will delete the client node that has not sent the survival signal within the time threshold from the topology table, and then handle it according to the scheduling method that the client node exits.
CNB2004100867111A 2004-10-29 2004-10-29 A robust point to point based stream scheduling method Expired - Fee Related CN1314250C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2004100867111A CN1314250C (en) 2004-10-29 2004-10-29 A robust point to point based stream scheduling method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2004100867111A CN1314250C (en) 2004-10-29 2004-10-29 A robust point to point based stream scheduling method

Publications (2)

Publication Number Publication Date
CN1604569A CN1604569A (en) 2005-04-06
CN1314250C true CN1314250C (en) 2007-05-02

Family

ID=34667106

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100867111A Expired - Fee Related CN1314250C (en) 2004-10-29 2004-10-29 A robust point to point based stream scheduling method

Country Status (1)

Country Link
CN (1) CN1314250C (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009155801A1 (en) * 2008-06-27 2009-12-30 华为技术有限公司 Method, system and apparatus for providing media stream service

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005030073A1 (en) * 2005-06-27 2006-12-28 Airbus Deutschland Gmbh Communication data transmission system for passenger aircraft, has terminals interconnected with shunt connection so that data is transmitted from one to another terminal,if all terminals are interconnected and connection is interrupted
US7742485B2 (en) * 2005-07-29 2010-06-22 Roxbeam Media Network Corporation Distributed system for delivery of information via a digital network
CN100459520C (en) * 2005-12-23 2009-02-04 华为技术有限公司 System and method for sharing internal storage cache between multiple stream servers
CN100452876C (en) * 2006-02-24 2009-01-14 清华大学 Parallel transmission dispatching method for stream media data
CN1937553B (en) * 2006-05-11 2010-05-12 蓝汛网络科技(北京)有限公司 Reciprocal network data dispatching method based on flow media data frame
CN101068173B (en) * 2006-06-08 2010-11-03 腾讯科技(深圳)有限公司 Resource sharing method and system, and server
CN1897588B (en) * 2006-06-21 2010-06-16 北京北大方正电子有限公司 A mixed-mode network file transfer method and system
CN100405773C (en) * 2006-07-14 2008-07-23 北京时越网络技术有限公司 Method for point-to-point content redistributing method based on content distributing network system
CN101282281B (en) * 2007-04-03 2011-03-30 华为技术有限公司 Medium distributing system and apparatus as well as flow medium play method
CN100461740C (en) 2007-06-05 2009-02-11 华为技术有限公司 Customer end node network topological structure method and stream media distributing system
CN101102312B (en) * 2007-06-11 2010-06-02 华为技术有限公司 A network communication data processing method, network communication system and client
CN101340359B (en) * 2007-07-04 2011-09-21 中兴通讯股份有限公司 Multicast and broadcast service scheduling method
CN101340556B (en) * 2007-07-05 2013-02-20 株式会社Ntt都科摩 Real world broadcasting system and method
CN101355468B (en) * 2007-07-23 2011-03-16 中国科学院声学研究所 Method for publishing P2P stream medium information
CN101090525B (en) * 2007-08-06 2012-05-23 中兴通讯股份有限公司 Multicast broadcast service dispatching method
CN101365128A (en) 2007-08-10 2009-02-11 中兴通讯股份有限公司 Peer-to-peer network system for synthetic video service
CN101159676B (en) * 2007-11-06 2010-09-08 深圳市迅雷网络技术有限公司 Method and system for data transmission
CN101170506B (en) * 2007-12-06 2010-06-02 北京广视通达网络技术有限公司 A Response-Driven P2P Streaming Media Data Scheduling Method
CN101262369B (en) * 2008-03-28 2011-05-11 华为技术有限公司 Master/slave realization method for dispatching server and dispatching server
CN101304405B (en) * 2008-04-30 2012-02-01 中山大学 A method of P2P streaming media transmission based on SVC
CN101588468B (en) 2008-05-20 2013-08-07 华为技术有限公司 Medium playing method, medium playing device and medium playing system based on P2P
CN101986611B (en) * 2010-11-30 2012-11-28 东南大学 Quick flow grouping method based on two-level cache
CN102118310B (en) * 2011-01-19 2013-07-03 华中科技大学 Hierarchical network coding streaming media multicast-based resource scheduling method
CN102740165B (en) * 2011-04-01 2015-07-15 中国电信股份有限公司 Peer-to-peer streaming media living broadcast system and data transmission method therefor
CN104468604A (en) * 2014-12-19 2015-03-25 北京奇虎科技有限公司 Data access method and device based on peer-to-peer network communication mode in local area network
CN105812848B (en) * 2014-12-31 2019-08-16 深圳Tcl新技术有限公司 TV network data capture method and server
CN106210776A (en) * 2015-05-07 2016-12-07 南宁富桂精密工业有限公司 Control equipment and the method controlling video request program thereof
CN104918065A (en) * 2015-05-25 2015-09-16 南京邮电大学 RTSP-based system and method for realizing mobile audio and video live broadcast
CN105979284B (en) * 2016-05-10 2019-07-19 杨�远 Mobile terminal video sharing method
CN108089934B (en) * 2016-11-22 2021-08-03 成都华为技术有限公司 Cluster management method and cluster server
CN110071942A (en) * 2019-05-20 2019-07-30 湖南康通电子股份有限公司 Networking live streaming stream distributing method, device and the storage medium of digit broadcasting system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001099374A2 (en) * 2000-06-22 2001-12-27 Apple Computer, Inc. Methods and apparatuses for transferring data
CN1406070A (en) * 2002-11-01 2003-03-26 清华大学 In-site program-requesting method based on real-time flow medium

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001099374A2 (en) * 2000-06-22 2001-12-27 Apple Computer, Inc. Methods and apparatuses for transferring data
CN1406070A (en) * 2002-11-01 2003-03-26 清华大学 In-site program-requesting method based on real-time flow medium

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
基于RTP/RTCP的流媒体服务器技术研究 赵进,叶梧,冯穗力,中国有线电视,第1卷 2004 *
基于RTP/RTCP的流媒体服务器技术研究 赵进,叶梧,冯穗力,中国有线电视,第1卷 2004;流媒体技术概述 邸春红,于淑玲,杜勇,沈阳医学院学报,第6卷第1期 2004 *
流媒体技术概述 邸春红,于淑玲,杜勇,沈阳医学院学报,第6卷第1期 2004 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009155801A1 (en) * 2008-06-27 2009-12-30 华为技术有限公司 Method, system and apparatus for providing media stream service
CN101616170B (en) * 2008-06-27 2012-09-19 华为技术有限公司 Method for supplying media stream service and system thereof

Also Published As

Publication number Publication date
CN1604569A (en) 2005-04-06

Similar Documents

Publication Publication Date Title
CN1314250C (en) A robust point to point based stream scheduling method
CN100414937C (en) Method for streaming data
CN1237755C (en) Subgroup multicasting in communications network
CN101068236A (en) Streaming media bit rate control method, system and equipment
CN1315312C (en) A method for large-scale multimedia access gateway
EP1708506A3 (en) Rapid media channel changing mechanism and access network node comprising same
CN101047696A (en) Network flow media data playing method and system
Xiao et al. Layerp2p: A new data scheduling approach for layered streaming in heterogeneous networks
CN101651708B (en) Topological construction method of P2P streaming media network
CN101272404A (en) A Link Selection Method in Data Scheduling of P2P Video Live Broadcasting System
CN102883190A (en) Optimal bandwidth distribution demand method and device
CN1933413A (en) Group broadcasting member management method for radio local network IP group broadcasting frame transmission
CN1645787A (en) Method for realizing reliable grouped play in distributed vertical flor media system
CN1933460A (en) Equipment, system and realizing method for wireless local network transmission group broadcasting frame
CN104822084A (en) Concurrent-stream-based rapid channel switching method of P2P real-time playing system
CN101035088A (en) Method, system and access device for realizing the intercommunication of two layers of local specific service
CN1592250A (en) Flow medium data multi-point transmission method
KR101252947B1 (en) Method and apparatus for push-pull hybrid streaming adaptive to video chunk distribution
CN1968275A (en) System and method for transmitting media stream using automatic tree rmcp
CN1751303A (en) Systems and methods for efficiently distributing multicastable services
CN1668023A (en) Network structure and transmission method suitable for digital media publishing business
CN103716658B (en) Video on demand service device and method
CN1852249A (en) Multi-cast broadcasting business realizing method
CN1976270A (en) Realizing method for wireless local network group broadcasting frame transmitting rate dynamic automatic regulating
CN100345426C (en) A push and pull based pure distributed data exchange method

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070502

Termination date: 20211029