[go: up one dir, main page]

CN105208067A - Asynchronous multi-source transmission - Google Patents

Asynchronous multi-source transmission Download PDF

Info

Publication number
CN105208067A
CN105208067A CN201410298515.4A CN201410298515A CN105208067A CN 105208067 A CN105208067 A CN 105208067A CN 201410298515 A CN201410298515 A CN 201410298515A CN 105208067 A CN105208067 A CN 105208067A
Authority
CN
China
Prior art keywords
server
server agent
agent
agency
subflow
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.)
Pending
Application number
CN201410298515.4A
Other languages
Chinese (zh)
Inventor
Y·M·赞格
G·M·加
D·沃尔克
S·托尔钦
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.)
GIRAFFIC TECHNOLOGIES Ltd
Original Assignee
GIRAFFIC TECHNOLOGIES Ltd
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 GIRAFFIC TECHNOLOGIES Ltd filed Critical GIRAFFIC TECHNOLOGIES Ltd
Priority to CN201410298515.4A priority Critical patent/CN105208067A/en
Publication of CN105208067A publication Critical patent/CN105208067A/en
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention discloses a method for carrying out stream type data transmission through a peer-to-peer network containing server proxies and a client proxy. The method includes the following steps that: a request of the client proxy, for a specified file, is responded, and a sub stream set is allocated, wherein the sub stream set comprises a group of server proxies which are configured to split the specified file into frames of which the size is configured according to the specified file, and the sub stream set further comprises a plurality of redundant active server proxies which are selected according to network attributes so that redundant data packets which are transmitted to the client proxy can be reduced to the greatest extent; the sub stream set is managed asynchronously, so that each server proxy, being independent from the other server proxies in the sub stream set, carries out stream type frame transmission; and rate-based congestion control is adopted according to the sub stream set, so that bit rates related to the sub stream set can be maintained above a specified threshold value.

Description

Asynchronous multi-source stream transmission
Technical field
The present invention relates to computer peer-to-peer network (Peer-to-Peer is called for short P2P) field, more specifically, relate to data file stream transmission in such networks.
Background technology
Today, sharing files is more prevalent, and developing along with computer network, and people, when carrying out Transmitting Data Stream, more and more need to find and a kind ofly can at utmost utilize the high efficiency method sharing agency.Due to the distributed nature of peer-to-peer network, and long-time in share the uncertainty of agent availability, keep service quality to be a challenge in a peer-to-peer network.
BitTorrent agreement is a kind of widely used peer-to-peer network agreement.By this agreement, user can distribute mass data, but will the Internet trustship of image scale standard allow computer can't bear the heavy load like that.If the data flow transmitted reaches higher level simultaneously, the server of standard host is easy to work as machine.
In actual operation, a user playing the part of file provider role provides file to network.The file of this first user is called seed.After network having had seed file, other users just can be connected to seed file and start to download, and these users are called peer node.Constantly be connected to network along with new peer node and ask to download identical file, their computer can receive the different pieces of information block of seed file.After multiple peer node has multiple data blocks of seed file, BitTorrent allows each peer node become the source of this partial document data block.Adopt this way, file download task will be distributed in seed node and numerous peer node, allow each peer node bear sub-fraction task, thus alleviate the burden of seed node.Use BitTorrent, any computer is all without the need to providing mass data, thus can not over-burden because providing all resources, then jeopardize task, still can realize identical final result (each peer node finally can receive whole file) simultaneously.
After certain peer node successfully downloads complete file, this peer node can changing role, becomes another seed, helps remaining peer node to receive whole file.This from peer node to seed node finally changes overall " health status " (the determining according to the complete available number of times of file) determining file.
Summary of the invention
On the one hand, the invention describes one is carried out Transmitting Data Stream system by peer-to-peer network.This system comprises: a peer-to-peer network comprising agency, each agency can be configured to following at least one type: for receiving the Client Agent of data and the server agent for carrying out Transmitting Data Stream.This system comprises a stream transmission management station further, is configured for the request of: (i) customer in response end agency to specified file, distributes a sub-adfluxion conjunction.Subflow set comprises multiple server agent, is configured for and specified file is divided into frame, and the size of frame is configured according to specified file.Subflow set comprises multiple active server agency and comprises the multiple redundancy active server agencies selected according to network attribute further, at utmost to reduce the redundant data bag quantity sending to Client Agent; (ii) asynchronous management subflow set, makes each server agent to carry out the transmission of streaming frame independent of the mode of other server agents in subflow set.This system comprises one further and congestedly alleviates unit, and this cell location is used for taking rate-based congestion control to each subflow set, and the bit rate relevant to this subflow set is maintained on assign thresholds.
In other respects, the present invention includes a kind of method performing said system independent of above-mentioned framework, and a computer-readable medium be configured for performing said system.About of the present invention in these, and/or other aspects, and/or the advantage of embodiment of the present invention, hereafter will be described in detail; Also can draw from the middle deduction that elaborates hereafter; And/or find in practice by performing embodiments of the present invention.
Accompanying drawing explanation
In order to promote the understanding of embodiment of the present invention and how demonstration performs embodiments of the present invention, completely by way of example appended pattern will be described herein, wherein same numbers corresponding identical element or part in the text.
In appended pattern:
Fig. 1 is a high-level schematic diagram, shows the system environments adopted in some embodiment of the present invention;
Fig. 2 is a high-level flow chart, shows the implementation method adopted in some embodiment of the present invention.
Together with detailed description hereafter, by allowing the personage being familiar with this technical field understand, how the present invention tries out these patterns.
Embodiment
Before being described in detail, for helping to read and understand, first define some term hereafter will used.
" agency " used in the application one word refers to a kind of software abstract mechanism, a kind of theory or concept, is similar to the object based programming term of " method ", " function " and " object " and so on.The concept of agency can facilitate, effectively describe a kind of behavior independence had to a certain degree, and energy representative of consumer completes the complex software entity of some task.But act on behalf of unlike to defining according to method and attribute that way, but define according to its behavior.
" peer-to-peer network " one word be often abbreviated as " P2P ", also this is adopted to abridge in the application, it refers to any distributed network architecture meeting following situation: without the need to Central co-ordination mechanism (such as server or stable main frame), by participant its part resource (such as disposal ability, disk storage or the network bandwidth) is directly supplied to other participants in network.In peer-to-peer network pattern, peer node is supplier and the user of resource, and in traditional client-server mode, server is supplier, and client is user.
When specifically with reference to appended pattern, must emphasize that shown details is the embodiment conveniently the preferred embodiment of the present invention is discussed and enumerated, object is to provide the most useful explanation, makes reader be easier to understand principle of the present invention and concept.Therefore, set up except basic comprehension of the present invention except helping reader, at this not in order to explain that the present invention shows its detailed construction too much, to the explanation of pattern, by making the personage being familiar with this technical field understand, how various forms of the present invention tries out.
Before explaining at least one embodiment of the invention in detail, reader must understand, and application of the present invention is not limited to CONSTRUCTED SPECIFICATION that is cited in following explanation or pattern and that display and assembly arrangement.The present invention can have other execution mode, also can put into practice in a variety of ways or perform.Equally, word used herein and term describe for convenience of description, should not be considered to restrictive.
Fig. 1 shows the system 100 of disposing according to some execution mode of the present invention.System 100 is embedded in one and comprises in the peer-to-peer network of agency (such as 10,20,30,40), and each agency can become Client Agent 10 or server agent (20,30,40).Client Agent 10 is for receiving data, and server agent (20,30 and 40) is for carrying out Transmitting Data Stream by peer-to-peer network.In addition, system 100 comprise a stream transmission management station 110 further and one congestedly alleviate unit 120, they are connected to peer-to-peer network and can control each agency (such as 10,20,30 and 40).
In actual operation, stream transmission management station 110 is configured for: customer in response end acts on behalf of the request of 10 pairs of specified files, distributes a sub-adfluxion and closes.Subflow set comprises multiple server agent, is configured for and specified file is divided into frame, and the size of frame is configured according to specified file.Subflow set comprises multiple active server agency and comprises the multiple redundancy active servers selected according to network attribute further acts on behalf of 20A-D, at utmost to reduce the redundant data bag quantity sending to Client Agent 10; And
Stream transmission management station 110 is configured for the set of asynchronous management subflow further, makes each server agent in 20A-D to carry out the transmission of streaming frame independent of the mode of other server agents in subflow set.
In addition, the congested unit 120 that alleviates is configured for and takes rate-based congestion control to each subflow set, and the bit rate relevant to this subflow set is maintained on assign thresholds.
Fig. 2 is a high-level flow chart, shows the implementation method adopted in some embodiment of the present invention.It should be understood that method 200 not necessarily will be implemented by above-mentioned system 100 framework.Method 200 comprises with the next stage: provide a peer-to-peer network comprising agency, and each agency can be configured to following at least one type: be configured for the Client Agent of reception data and be configured for the server agent 210 carrying out Transmitting Data Stream; The request of customer in response end agency to specified file, distributes a sub-adfluxion and closes.Subflow set comprises multiple server agent, is configured for and specified file is divided into frame, and the size of frame is configured according to specified file.Subflow set comprises multiple active server agency and comprises the multiple redundancy active server agencies selected according to network attribute further, at utmost to reduce the redundant data bag quantity 220 sending to Client Agent; The set of asynchronous management subflow, makes each server agent to carry out streaming frame transmission 230 independent of the mode of other server agents in subflow set; And rate-based congestion control is taked to each subflow set, make the bit rate relevant to this subflow set to maintain on assign thresholds 240.
According to one embodiment of the present invention, stream transmission management station 110 is configured for allocated substreams set further, makes it comprise following at least one type further: multiple reservation server agencies and multiple inactive server agent.
According to one embodiment of the present invention, stream transmission management station 110 is configured for the type switching server agent in subflow set further, with the request of customer in response end agency 10.Switchable type comprises: active server agency 20, reservation server agency 30 and inactive server agent 40, it is according at least comprising following wherein one: instantaneous network attribute, the state of server agent, and named policer.
According to one embodiment of the present invention, named policer comprises preferentially to be acted on behalf of following at least one type as active server: the file of request is kept at the server agent in its buffer memory; Utilization rate is lower than the server agent of assigned frequency; Reliability is higher than the server agent of assign thresholds; Bandwidth is higher than the server agent of specified level; The server agent connected is not carried out by fire compartment wall.
According to one embodiment of the present invention, stream transmission management station 110 is configured to the current receiving velocity that Client Agent calculates every frame further, and according to result of calculation, correspondingly acts on behalf of in group in active server and add or delete server agent.
According to one embodiment of the present invention, the congested unit 120 that alleviates is configured for further by checking that the congestion situation of server agent data feedback channel is determined in the data-bag lost report from concurrent transmission session, and by the transmission rate that reduces each session or delete whole session and reduce transmission rate.
According to one embodiment of the present invention, the congested unit 120 that alleviates is configured for further by checking the congestion situation determining Client Agent down going channel from the data-bag lost situation of concurrent receipt session, and by sending to active server agency the transmission interval that message comes to extend by prescribed coefficient them.
In reality is implemented, two aspects may be provided further: (a) sends control data bag in bulk mode, the time delay of nearly 10ms between batch, if do not receive response after the time-out time of specifying, can send control data bag again; B () is responsible for the agency that asked file is kept in its buffer memory to have precedence over generic proxy.
Below the unrestricted message flow consistent with some execution mode of the present invention.It should be understood that other data flow schemes also likely.Certain client receives download request from browser, and creates file download session according to this request.It sends two message immediately simultaneously: (a) sends GetFileMap request to central server; B () sends RequestCache message to its two super nodes.
GetFileMap request can pass a node listing and filec descriptor back, lists and previously did the node of planting to asked file in node listing.If RequestCache asks success, a list of proxies can be passed back, wherein list the agency's (these proxy configurations are used for sending required any fragment veritably according to request) be kept at by asked file in its buffer memory.
At client-side, client can create a flow monitor object, and they also may be divided in 3 lists by the result of being responsible for collecting GetFileMap and RequestCache message:
I the list of () active server-these are line server (finally about 3 minutes at least before download request online).Every frame available block sum of this list support at least should be the smallest blocks number needed for decoding frame, and this is the file bit rate represented with " packets/second ".In the ideal case, the total bandwidth of all active agent supports is approximately higher by 30% than file bit rate.Server in active server list estimates that meeting active participate is in stream transmission session.
(ii) reservation server list-once determine active server list, each additional server with minimum available bandwidth is put in querying server list.Server expectation in this list can be in standby mode.In this mode, be opened when session start to the route of server and (burrow ...), and remain active state by file client session.The server inquired about may be required transmission frame, to provide quick assistance for the decoding of particular frame, or is required to change active server into and the server substituting off-line or block up.
(iii) inactive server list-this list comprises remaining servers all.These are redundant servers, when the scale retaining list can not meet the demands, first can use the server in this list.
After stream transmission administrative unit obtains gather list from above-mentioned two request, classify to gathering list according to acting on behalf of scoring (agency's scoring is calculated according to the availability acted on behalf of, reliability and geographic proximity substantially by central server), then creating list.Those the highest agencies that mark can be inserted in effort scale, and remaining agency is inserted into by descending and retains in list and inactive list.
Once three list ready, client can divide two-wheeled to send StartStream message to the agency in effort scale.Client can send multiple messages (5) at every turn simultaneously, and adds the time delay of about 10ms, sends mistake to prevent socket.After sending message to the agency in effort scale, client can send StreamQuery message to each agency in Query List.This process is divided into two-wheeled equally, and its mode and transmission StartStream classes of messages are seemingly.
For each agency in effort scale and reservation list, client can create a sub-flow object.The initial condition of this object is " undetermined ".Arrive if any packet, the state of activity subflow can become " activity ".Retain subflow once create, can start immediately to send KeepAlive message.If KeepAlive message is by loopback and received by this subflow, the state of this subflow can become " reservation " from " undetermined ".Each control message has a time-out time, can take corresponding action after time-out.For StartStream and StreamQuery, if the state of subflow object is still " undetermined " after time-out, again message can be sent.
Each packet comprises a header, wherein comprises 32 information such as bit time stamp (unit is ms) and 32 bit sequence number etc. such as showing transmitting time.Congestion control unit in subflow uses these data to come " activity " of calculated data packet loss or stream.Activity subflow beams back StreamAck message to its server agent every 1 second.Ack message comprises the information needed for congestion control.This information may comprise the information of the server agent sides such as such as data-bag lost, frame period, current client frame, transmission interval.
Retain subflow once create, can start to act on behalf of transmission KeepAlive message to it every 3 seconds.These message meeting loopback is to subflow.If do not receiving message after 5.5 seconds, this subflow can stop, and client can find one for using agency in inactive list.
At server side, retain agency and receive StreamQuery message, and start new session according to the session id in message header.First it determine to have the fragment that maybe can generate needed for (if it has whole file) itself.If no, it can send a stopping message to client and stop action.Otherwise it can start loopback KeepAlive message.If KeepAlive message stops arriving, and has exceeded the typical time-out time in 5.5 seconds, this agency can send one to client and stops message and stop action, and this is that network connects obstructed situation.
Retain agency and can become active agent by receiving StreamReplace message.If receive such message, retain agency and can change state and start to operate as active node.StreamReplace message comprises all parameters needed for initialization active agent.
An agency will become active agent after receiving StreamStart message or StreamReplace message.These two message all comprise the information (file Hash, fragment ID, startup frame, stopping frame, frame period etc.) needed for initialization session.If agency does not have asked file, it can stop session and send a StreamStop message to client.Otherwise it can start to send the block from requested document with possible the longest interval (such as, frame period/(block counts+1 of each frame fragment)).
Active agent comprises a congestion control entity, and the performance for monitoring agent also may change block and send interval.
Be below in some execution mode of the present invention, the exemplary traffic of carrying out according to streaming protocols controls.Client remains with a frame status table, and this table generates when creating flow monitor.Frame status table includes the following information of each frame:
(i) reserved bandwidth-all current aggregate bandwidth estimated values retaining agency.Stop action when certain retains agency or stop responding, or certain active agent becomes reservation when acting on behalf of because bandwidth is superfluous, this numeral will upgrade;
(ii) reserved bandwidth undetermined-all current aggregate bandwidth retaining agency undetermined.When receiving the Article 1 KeepAlive message of coming by inquiry proxy loopback, reserved bandwidth undetermined will become reserved bandwidth;
(iii) aggregate bandwidth of block number (activity bandwidth)-all current active agencies is estimated.When a son flows to into (when first packet of this subflow next frame arrives) during next frame, this numeral will upgrade.In the case, the bandwidth (representing with block number) of this subflow will be deducted from expectation block number.When adding or deduct (stopping or becoming retaining subflow) activity subflow, this numeral also can upgrade;
(iv) aggregate bandwidth of activity bandwidth undetermined-all active agent undetermined.When receiving first packet providing agency from service, active agent undetermined will become active agent (therefore its bandwidth will count activity bandwidth);
The quantity of (v) active agent-current active agency.Stop action as certain agency or stop responding, or certain is acted on behalf of when becoming active agent (such as by StreamReplace message), this numeral will upgrade;
(vi) quantity of block is lacked during the block number-decoded frame lacked.This numeral initial is the Frame size represented with block number.When the block corresponding with frame number whenever arrives, this numeral will subtract one.
Flow monitor has the process of multiple monitored session progress: every 500ms, and process can check the difference between the expectation block number of present frame and following 3 frames and the block number lacked.If this difference is too little, flow monitor can be attempted selecting act on behalf of and add in active agent list from reservation list, makes the total bandwidth of this frame higher than threshold value.If with the addition of an agency, so from problematic frame, the bandwidth of all subsequent frames all can upgrade, and adds the bandwidth of this agency.
Within every 4 seconds, overall progress can be monitored.Flow monitor can go up frame and the present frame of a decoding.
The subflow (that is, because user closes computer, becomes congested or do not have suitable NAT connective and the subflow of stopping) stopping can being deleted and return inactive list from state table.Inactive server is used as the redundant retaining list, and they may repeatedly attempt utilizing them to no avail in declaration.
Below in some execution mode of the present invention, the typical congestion control scheme taked according to streaming protocols.Obviously, for multi-source stream, point-to-point congestion control is unpractical, because in most of the cases, required accumulative control bandwidth will exceed user and upload restriction.Therefore a kind of distinct methods not requiring so much control is needed.The scheme taked is as follows:
Simple point-to-point congestion control policy is implemented to each subflow.Service subflow receives data-bag lost report according to transmission interval (from 1000ms) from client.If packet loss is too high, the data packet number of transmission can be subtracted 1 by it, and this process may constantly repeat, until minimum value: 1 packet per second.If in the time reaching at least 2 seconds, data-bag lost is 0, then the data packet number that each interval sends will add 1, until reach the maximum data packet quantity needed for each interval.This congestion control is congested at random for the treatment of what occur on the link connecting client and service subflow.
When multiple concurrent service conversation receives the high report of bursts dropping ratio simultaneously, then can detect that server occurs here congested.Such as, when new service conversation to add in existing session and cause agency exceed user upload load time, just may there is this situation.In this case, Bandwidth Broker is by upper for a stopping service conversation.
Client congestion control here completes in subflow level.Client is added according to the state in frame status table or is deducted subflow.In addition, when data-bag lost occurs multiple subflow simultaneously, client can detect the congested of oneself this side.This type of inter-related data-bag lost is that client congested sign occurs here.Responsively, client can send a StreamReplace message to all activity subflows, tells that transmission interval is multiplied by coefficient 2 and is sent interval to extend by them.Once total data packet loss reduces to below lowest threshold, client can will send interval by StreamAck message instruction service node and shorten certain value (such as 200ms).Because StreamAck message sends according to transmission interval, even if therefore for a hundreds of subflow, the uploading bandwidth amount of this messages consume is also very little.
The personage being familiar with this technical field will recognize, various aspects of the present invention may be implemented as system, method or computer program.Correspondingly, various aspects of the present invention may take the execution mode of pure hardware, pure software (comprising firmware, resident software, microcode etc.) or software and hardware combining, they may be referred to as " circuit ", " module " or " system " herein.In addition, various aspects of the present invention may take the form of computer program, are realized by one or more computer-readable medium being loaded with computer readable program code.
The combination in any of one or more computer-readable medium can be adopted.Computer-readable medium can be computer-readable signal media or computer-readable recording medium.Computer-readable recording medium may include but not limited to electronics, magnetic, optics, electromagnetism, infrared or semiconductor system, device or equipment, or above-mentioned every random suitable combination.Computer-readable recording medium more specifically example (incomplete list) comprising: have the electrical connection of one or more line, portable computer diskette, hard disk, random access memory (RAM), read-only memory (ROM), Erasable Programmable Read Only Memory EPROM (EPROM or flash memory), optical fiber, portable optic disk read-only memory (CD-ROM), light storage device, magnetic storage apparatus, or above-mentioned every random suitable combination.With regard to herein, computer-readable recording medium can be any can comprising or stored program tangible medium, this program must be able to supply instruction execution system, device or equipment use or with it with the use of.
The data-signal that computer-readable signal media can comprise in every way (such as propagation or the part as carrier wave are propagated in a base band) propagates, is wherein loaded with computer-readable program code.The signal of this propagation can adopt various ways, includes but not limited to the combination of electromagnetic signal, light signal or any appropriate.Computer-readable signal media can be any computer-readable medium beyond computer-readable recording medium, and this computer-readable medium can send, propagate or transmit can supply instruction execution system, device or equipment use or with it with the use of program.
The program code that computer-readable medium is loaded with can use any suitable medium to transmit, and described medium includes but not limited to wireless, Wireline, optical cable, radio frequency etc., or above-mentioned every random suitable combination.
The computer program code operated for performing each side of the present invention can be write with the combination in any of one or more programming languages, described programming language comprises OO programming language, such as Java, Smalltalk, C++ etc., also comprise conventional procedural programming languages, such as " C " language or similar programming language.Program code can fully perform on the user computer, partly perform on the user computer, as one independently software kit perform, part on the user computer and part perform on the remote computer, or to perform on remote computer or server completely.In the situation relating to long-distance support, remote computer can by the network of any type, comprise local area network (LAN) (LAN) or wide area network (WAN) is connected to subscriber computer, or, outer computer (such as utilizing ISP to be connected by the Internet) can be connected to.
Above according to the embodiment of the present invention, various aspects of the present invention are described with reference to the flow chart of its method, device (system) and computer program and/or block diagram.Should be appreciated that the combination of multiple square frame in each square frame of flow chart and/or block diagram and flow chart and/or block diagram, can be realized by computer program instructions.These computer program instructions can be supplied to the processor of all-purpose computer, special-purpose computer or other programmable data processing unit, thus give these equipment certain capabilities, make these instructions performed by the processor of computer or other programmable data processing unit can create some approach, for the function/operation of specifying in realization flow figure and/or diagram block.
Also these computer program instructions can be stored in can in the computer-readable medium that works in a specific way of instruct computer, other programmable data processing unit or other equipment, like this, the instruction be stored in computer-readable medium can produce the goods that comprises instruction, and instruction wherein can be used to function/operation that realization flow figure and/or diagram block are specified.
These computer program instructions also can be loaded on computer, other programmable data processing unit or other equipment, thus perform sequence of operations step on devices, to produce one by computer implemented process, make the instruction performed on the computer or other programmable apparatus can provide some processes, for function/operation described in realization flow figure and/or diagram block.
Above-mentioned flow chart and block diagram shows according to various execution mode of the present invention, the framework of the system likely realized, method and computer program product, function and operation.In this, each square frame in flow chart or block diagram may represent a part for module, program segment or a code, and they comprise one or more executable instruction for realizing specified.Shall also be noted that in the implementation that some is alternative, the order that the function marked in square frame occurs may be different from the order marked in accompanying drawing.Such as, in fact perhaps two continuous print square frames can perform substantially simultaneously, or sometimes also can perform by contrary order, and this determines according to involved function.It is also noted that the combination of each square frame in block diagram and/or flow chart and square frame, can realize by the system based on specialized hardware performing appointed function or operation, also can realize with the combination of specialized hardware and computer instruction.
In illustrating above, execution mode refers to inventive embodiment or implementation.In literary composition, different local " a kind of execution mode ", " execution mode " or " some execution mode " occurred not necessarily all refers to identical execution mode.
Although various function of the present invention may be described under the background of single execution mode, these functions also can provide separately or provide with the form of random suitable combination.On the other hand, although for clarity, herein may with different execution modes for background describe the present invention, the present invention also realizes by single execution mode.
" some execution mode ", " a kind of execution mode " or " other execution modes " mentioned in specification part refers to that described specific function, structure or the feature relevant with execution mode at least comprise In some embodiments of the present invention, but not necessarily comprises in all embodiments.
Should be appreciated that word used herein and term are only used to illustration purpose, should not be construed as restrictive.
With reference to appended explanation, pattern and embodiment, the usage of the principle that the present invention may be better understood and instruction content.
Should be appreciated that details as herein described should not be construed as to be construed as limiting the range of application of invention.
In addition, should be appreciated that the present invention can be performed by various mode or try out, and the present invention can adopt the execution mode do not mentioned in explanation above to realize.
Be to be understood that, " comprise ", " comprising ", vocabulary and the various grammatical variants thereof such as " by ... composition " do not get rid of and add other assemblies one or more, function, step or its overall or group, and these vocabulary are interpreted as there is described assembly, function, step or entirety for indicating.
If description or claims refer to " other " element, then do not get rid of and have other elements multiple.
Should be appreciated that, when " certain " element mentioned by claims or specification, this type of saying should not be interpreted as this element only one.
Should be appreciated that when specification represent " possibility ", " perhaps " comprise certain assembly, function, structure or feature time, this specific components, function, structure or feature are non-essential to be included in wherein.
Under usable condition, although state diagram and/or flow chart may be used for describing execution mode, the present invention is not limited to these charts or respective description.Such as, actual flow process does not need through each illustrated square frame or state, or implements according to the order of diagram or explanation completely.
The method of this explanation is by manual and/or automatic execution or complete selected step or task realizes.
" method " one word can refer to mode, means, technology and program that particular task is used, include but not limited to those modes, means, technology and program that the practitioner of the technical field of the invention is known, or those modes, means, technology and the program that have developed from above-mentioned known method.
The description listed in specification and claims, embodiment, method and material, only for illustration of object, should not be construed as restrictive.
Technology used herein is consistent with the generally understanding of the personage in the technical field of the invention with common skill with the implication of scientific terminology, unless otherwise defined.
The present invention can adopt and realize in testing or putting into practice to quite described herein or similar method and material.
Any publication quoted in this specification or mention, comprises patent, patent application and article and is adopted by this specification at this, is equivalent to point out that every part of publication is all included into herein clearly and individually.In addition, quote in the explanation of some execution mode of the present invention or mention any list of references, should not be construed as and admit that this type of list of references can be used as prior art of the present invention.
Although only list a limited number of execution mode when describing of the present invention, this should not be construed as the restriction to invention scope, and should it can be used as the example of some preferred implementations.Other possible changes, amendment and application are also within the scope of the invention.

Claims (15)

1. the peer-to-peer network by comprising agency carries out the method for Transmitting Data Stream, and each agency can be configured to following at least one type: for receiving the Client Agent of data and the server agent for carrying out Transmitting Data Stream.The method comprises:
The request of customer in response end agency to specified file, distributes a sub-adfluxion and closes.Subflow set comprises multiple server agent, is configured for and specified file is divided into frame, and the size of frame is configured according to specified file.Subflow set comprises multiple active server agency and multiple reservation server agency, and these agencies pass through adjustment, at utmost to reduce the redundant data bag quantity sending to Client Agent;
The set of asynchronous management subflow, makes each server agent through adjustment, can carry out the transmission of streaming frame by independent of the mode of other server agents in subflow set;
Each stream in the conjunction of antithetical phrase adfluxion takes rate-based congestion control, comprises further:
To be determined in multiple server agent the congestion situation of the data feedback channel of at least one agency by the data-bag lost report checking from concurrent transmission session, thus determine whether to reduce the transmission rate of the packet sent from least one server agent and/or delete the service conversation relevant at least one server agent;
By checking that the data-bag lost situation of multiple subflow in subflow set determines the congestion situation of Client Agent down going channel, thus determine whether to extend the transmission interval between the packet that sends from each server agent;
Wherein rate-based congestion control is through adjustment, the bit rate relevant to subflow set can be maintained on assign thresholds.
2. method according to claim 1, wherein said allocated substreams set comprises following at least one type further: multiple reservation server agencies and multiple inactive server agent.
3. method according to claim 2, be included in the type switching server agent in subflow set further, the decision made is acted on behalf of with customer in response end, switchable type comprises: active server agency, reservation server agency and inactive server agent, it is according at least comprising following wherein one: instantaneous network attribute, the state of server agent, and named policer.
4. method according to claim 3, named policer wherein comprises preferentially to be acted on behalf of following at least one type as active server: the file of request is kept at the server agent in its buffer memory; Utilization rate is lower than the server agent of assigned frequency; Reliability is higher than the server agent of assign thresholds; Bandwidth is higher than the server agent of specified level; There is the server agent of specifying connection type; And the server agent that connects is not carried out by fire compartment wall.
5. method according to claim 1, comprises further for Client Agent calculates the current receiving velocity of every frame, and according to result of calculation, correspondingly adds in active server agency or delete server agent.
6. carried out the system of Transmitting Data Stream by peer-to-peer network, composition comprises:
A peer-to-peer network comprising agency, each agency can be configured to following at least one type: for receiving the Client Agent of data and the server agent for carrying out Transmitting Data Stream;
A stream transmission manager, be configured for:
I the request of () customer in response end agency to specified file, distributes a sub-adfluxion and closes.Subflow set comprises multiple server agent, is configured for and specified file is divided into frame, and the size of frame is configured according to specified file.Subflow set comprises multiple active server agency and multiple reservation server agency, and these agencies pass through adjustment, at utmost to reduce the redundant data bag quantity sending to Client Agent;
(ii) manage subflow set, make each server agent through adjustment, the transmission of streaming frame can be carried out by independent of the mode of other server agents in subflow set;
One congested alleviates unit, is configured for and takes rate-based congestion control to each subflow set, comprise further:
A unit through adjustment, to determine in multiple server agent the congestion situation of the data feedback channel of at least one agency for the data-bag lost report by checking from concurrent transmission session, thus determine whether to reduce the transmission rate of the packet sent from least one server agent and/or delete the service conversation relevant at least one server agent;
A unit through adjustment, for by checking that the data-bag lost situation of multiple subflow in subflow set determines the congestion situation of Client Agent down going channel, thus determines whether to extend the transmission interval between the packet that sends from each server agent;
Wherein the congested unit that alleviates is through adjustment, the bit rate relevant to subflow set can be maintained on assign thresholds.
7. system according to claim 6, wherein transmits manager as a stream through configuration further, for allocated substreams set, makes it comprise following at least one type further: multiple reservation server agencies and multiple inactive server agent.
8. system according to claim 7, wherein transmit manager as a stream through configuration further, for switching the type of server agent in subflow set, the decision made is acted on behalf of with customer in response end, switchable type comprises: active server agency, reservation server agency and inactive server agent, it is according at least comprising following wherein one: instantaneous network attribute, the state of server agent, and named policer.
9. system according to claim 8, named policer wherein comprises preferentially to be acted on behalf of following at least one type as active server: the file of request is kept at the server agent in its buffer memory; Utilization rate is lower than the server agent of assigned frequency; Reliability is higher than the server agent of assign thresholds; Bandwidth is higher than the server agent of specified level; There is the server agent of specifying and connecting; And the server agent that connects is not carried out by fire compartment wall.
10. system according to claim 6, wherein transmit manager as a stream through configuration further, for calculating the current receiving velocity of every frame for Client Agent, and according to result of calculation, correspondingly add in active server agency or delete server agent.
11. 1 kinds of computer programs, this computer program comprises:
A computer-readable recording medium being loaded with computer-readable program, it and the peer-to-peer network comprising agency have operative association, and each agency can be configured to following at least one type: for receiving the Client Agent of data and the server agent for carrying out Transmitting Data Stream.This computer-readable program comprises the computer-readable program being configured for and carrying out following activity:
The request of customer in response end agency to specified file, distributes a sub-adfluxion and closes.Subflow set comprises one group of server agent, is configured for and specified file is divided into frame, and the size of frame is configured according to specified file.Subflow set comprises multiple active server agency and multiple reservation server agency, and these devices agency passes through adjustment, at utmost to reduce the redundant data bag quantity sending to Client Agent;
The set of management subflow, makes each server agent in subflow set pass through adjustment, can carry out the transmission of streaming frame by independent of the mode of other server agents in subflow set;
Each stream in the conjunction of antithetical phrase adfluxion takes rate-based congestion control, and this comprises the computer-readable program for carrying out following activity further:
To be determined in multiple server agent the congestion situation of the data feedback channel of at least one agency by the data-bag lost report checking from concurrent transmission session, thus determine whether to reduce the transmission rate of the packet sent from least one server agent and/or delete the service conversation relevant at least one server agent;
By checking that the data-bag lost situation of multiple subflow in subflow set determines the congestion situation of Client Agent down going channel, thus determine whether to extend the transmission interval between the packet that sends from each server agent; Wherein rate-based congestion control is through adjustment, the bit rate relevant to subflow set can be maintained on assign thresholds.
12. computer programs according to claim 11, comprising the computer-readable program for carrying out following activity further: allocated substreams set, making it comprise following at least one type further: multiple reservation server agencies and multiple inactive server agent.
13. computer programs according to claim 11, comprise the computer-readable program being configured for and carrying out following activity further: the type switching server agent in subflow set, the decision made is acted on behalf of with customer in response end, the type that can switch comprises: active server agency, reservation server agency and inactive server agent, it is according at least comprising following wherein one: instantaneous network attribute, the state of server agent, and named policer.
14. computer programs according to claim 11, named policer wherein comprises preferentially to be acted on behalf of following at least one type as active server: the file of request is kept at the server agent in its buffer memory; Utilization rate is lower than the server agent of assigned frequency; Reliability is higher than the server agent of assign thresholds; Bandwidth is higher than the server agent of specified level; There is the server agent of specifying and connecting; And the server agent that connects is not carried out by fire compartment wall.
15. computer programs according to claim 11, comprise the computer-readable program being configured for and carrying out following activity further: for Client Agent calculates the current receiving velocity of every frame, and according to result of calculation, correspondingly add in active server agency or delete server agent.
CN201410298515.4A 2014-06-26 2014-06-26 Asynchronous multi-source transmission Pending CN105208067A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410298515.4A CN105208067A (en) 2014-06-26 2014-06-26 Asynchronous multi-source transmission

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410298515.4A CN105208067A (en) 2014-06-26 2014-06-26 Asynchronous multi-source transmission

Publications (1)

Publication Number Publication Date
CN105208067A true CN105208067A (en) 2015-12-30

Family

ID=54955494

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410298515.4A Pending CN105208067A (en) 2014-06-26 2014-06-26 Asynchronous multi-source transmission

Country Status (1)

Country Link
CN (1) CN105208067A (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101577695A (en) * 2008-05-09 2009-11-11 上海未来宽带技术及应用工程研究中心有限公司 Method for downloading data based on P2P technology
CN101616077A (en) * 2009-07-29 2009-12-30 武汉大学 A method for fast transmission of large files on the Internet
CN101917488A (en) * 2010-08-20 2010-12-15 成都市华为赛门铁克科技有限公司 BT download method, device and system
CN102067547A (en) * 2008-05-02 2011-05-18 谷歌公司 Technique for regulating link traffic
CN103026689A (en) * 2010-06-10 2013-04-03 阿尔卡特朗讯公司 Network based peer-to-peer traffic optimization

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102067547A (en) * 2008-05-02 2011-05-18 谷歌公司 Technique for regulating link traffic
CN101577695A (en) * 2008-05-09 2009-11-11 上海未来宽带技术及应用工程研究中心有限公司 Method for downloading data based on P2P technology
CN101616077A (en) * 2009-07-29 2009-12-30 武汉大学 A method for fast transmission of large files on the Internet
CN103026689A (en) * 2010-06-10 2013-04-03 阿尔卡特朗讯公司 Network based peer-to-peer traffic optimization
CN101917488A (en) * 2010-08-20 2010-12-15 成都市华为赛门铁克科技有限公司 BT download method, device and system

Similar Documents

Publication Publication Date Title
US11799793B2 (en) Adaptive private network with dynamic conduit process
US9826016B2 (en) Fair adaptive streaming
US7489632B2 (en) Simple admission control for IP based networks
US9838166B2 (en) Data stream division to increase data transmission rates
Parsaei et al. A new adaptive traffic engineering method for telesurgery using ACO algorithm over software defined networks
CN107637032A (en) System and method for adjusting data flow
CN106664220A (en) Estimating bandwidth in a network
CN104969518A (en) Routing data
EP3560152B1 (en) Determining the bandwidth of a communication link
KR101540494B1 (en) Network message management device and methods thereof
CN119135580A (en) Data transmission method and device, non-volatile storage medium, and electronic device
US8407280B2 (en) Asynchronous multi-source streaming
US10250477B2 (en) Method and controller for announcing bandwidth of cluster system
CN105208067A (en) Asynchronous multi-source transmission
WO2018177003A1 (en) Charging method, and related device and system
US10135738B2 (en) End-to-end network path selection
CN101355512B (en) Data transmission system, method and transmission control server
Cabrero et al. Overlay solution for multimedia data over sparse MANETs
US7680050B1 (en) Distributed admission control
Barbera et al. CLAPS: a cross-layer analysis platform for P2P video streaming
Shreedhar et al. More than the sum of its parts: Exploiting cross-layer and joint-flow information in MPTCP
Zhang et al. An optimized BBR for multipath real time video streaming
JP6472942B2 (en) Switching control device, switching control method, and switching control program
Awiphan et al. Outbound face selection considering response time and buffer usage for CCN adaptive video streaming
Shreedhar et al. High throughputs and information freshness over the internet via transport layer advancements

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20151230

WD01 Invention patent application deemed withdrawn after publication