Minimum tariff MPQUIC data packet scheduling method and system

文档序号:721969 发布日期:2021-04-16 浏览:4次 中文

阅读说明:本技术 一种最小资费mpquic数据包调度方法和系统 (Minimum tariff MPQUIC data packet scheduling method and system ) 是由 王德志 廖彬彬 张广兴 刁祖龙 李振宇 谢高岗 于 2020-12-22 设计创作,主要内容包括:本发明提供一种MPQUIC系统调度器调度发送量的方法的方法,所述MPQUIC系统通过Path A和Path B两条路径发送数据,Path A的资费低于Path B,所述方法包括:从应用层接收本轮要发送的数据块和传输时长tc,将数据块分为SEQ-(sum)个数据包;预测Path A路径的传输能力,基于该传输能力的发送量和根据上一轮Path A路径传输时间,对本轮传输分配的发送量进行调整,将调整后的发送量分配给Path A;向Path B路径分配的发送量为剩余的发送量;在完成本轮传输后,记录下WIFI路径完成传输的时间与tc的差D。本发明的优点在于基于双子流对传的思想能够充分利用多物理接口的性能,考虑实际异构无线网络的状态变化,最终实现传输性能和流量资费的平衡。(The invention provides a method for scheduling transmission amount by a scheduler of an MPQUIC system, wherein the MPQUIC system transmits data through two paths of Path A and Path B, and the cost of Path A is lower than that of Path B, and the method comprises the following steps: receiving the data blocks to be sent in the current round and the transmission time tc from the application layer, and dividing the data blocks into SEQ data blocks sum A data packet; predicting the transmission capacity of a Path A Path, adjusting the transmission capacity distributed in the transmission of the current round based on the transmission capacity of the transmission capacity and the transmission time of the Path A Path in the previous round, and distributing the adjusted transmission capacity to the Path A; the transmission quantity distributed to the Path B Path is the residual transmission quantity; after the current round of transmission is finished, recording the difference between the time of finishing transmission of the WIFI path and tcD. The method has the advantages that the performance of multiple physical interfaces can be fully utilized based on the idea of double sub-stream transmission, the state change of the actual heterogeneous wireless network is considered, and the balance of transmission performance and flow rate charge is finally realized.)

1. A method for scheduling a transmission amount by a scheduler of an MPQUIC system that transmits data through two paths, Path a and Path B, with a tariff for Path a being lower than that for Path B, the method comprising:

step 100: receiving the data blocks to be sent in the current round and the transmission time tc from the application layer, and dividing the data blocks into SEQ data blockssumA data packet;

step 200: predicting the transmission capacity of a Path A Path, adjusting the transmission capacity distributed by the transmission of the Path according to the transmission capacity of the Path A Path of the previous round and the transmission time of the Path A Path of the previous round, if the transmission time of the Path A Path of the previous round is less than tc, increasing the transmission capacity of the Path A Path of the current round, and if the transmission time of the Path A Path of the previous round is more than tc, reducing the transmission capacity of the Path A Path of the current round and distributing the adjusted transmission capacity to the Path A;

step 300: the transmission quantity distributed to the Path B Path is the residual transmission quantity;

step 400: and after the current round of transmission is finished, recording the difference D between the time of finishing transmission of the WIFI path and tc.

2. The method of claim 1, step 300 further comprising assigning a redundant transmission amount to a Path B Path.

3. The method of claim 1, Path a being a WIFI Path and Path B being a cellular network Path.

4. The method of claim 1, wherein

Transmission capability of Path A Path prediction in step 200Is composed of

Wherein, OWD'ATo predict the one-way transmission delay of Path a,VAthe packet transmission rate.

5. The method of claim 1, wherein

Adjusted transmission amount of Path A Path in step 200Is composed of

Wherein, OWD'ATo predict the one-way propagation delay of Path A, VAThe packet transmission rate.

6. The method of claim 1, wherein

The remaining transmission amount allocated by Path B in step 300 is

SEQsum-[(tc-OWD'A)×VA±D×VA]

Wherein, OWD'ATo predict the one-way propagation delay of Path A, VAThe packet transmission rate.

7. The method of claim 2, wherein the amount of redundant transmission allocated to the Path B Path is VAX δ, wherein, VAFor packet transmission rate, delta is an adaptive redundancy transmission parameter

Wherein N is the number of times of the single delay condition of the Path A in the previous round of transmission,for each of the statistical values of the data,is the average of the N statistical values.

8. The method of claim 1, wherein the scheduler places a starting transmission pointer of Path a at the head of the data block, and transmits in ascending order of packet numbers; and placing the sending pointer of Path B at the tail part of the data block, and sending the data according to the descending order of the data packet numbers.

9. A computer-readable storage medium, in which one or more computer programs are stored, which when executed, are for implementing the method of any one of claims 1-8.

10. A computing system comprising

A storage device, and one or more processors;

wherein the storage means is for storing one or more computer programs which, when executed by the processor, are for implementing the method of any one of claims 1-8.

Technical Field

The invention relates to the field of computer network transmission control, in particular to a method and a system for optimizing the charge of a multi-path QUIC (multi-path QUIC) scheduler on an intelligent terminal device aiming at video stream on demand in a heterogeneous wireless network.

Background

Existing smart devices are typically provided with multiple physical network interfaces, such as a cellular wireless network interface and an 802.11WiFi interface on a smartphone. The interfaces can be simultaneously utilized to accelerate network transmission so as to ensure the stability of the network and improve the robustness of network connection, which is an important research field.

QUIC (quick UDP Internet Connection protocol) is a user layer protocol specific implementation plan for replacing a traditional TCP (Transmission Control protocol) transmission protocol, and MPQUIC is an extension of the QUIC protocol and mainly aims at realizing the capability of utilizing various network interfaces in parallel by the QUIC transmission protocol. The Internet Engineering Task Force (IETF) has promulgated a standard for the MPQUIC protocol. Specifically, at the sender of the MPQUIC, data received from an application process is distributed onto the STREAM of a different sub-path to be pushed to the network. And at the receiving side, the MPQUIC recombines the data received from different sub-paths and delivers the data to the application process.

As in fig. 1, the MPQUIC adds a management layer above the QUIC protocol to achieve path management, reliable data transmission, packet scheduling, and congestion control. The MPQUIC explicitly specifies a connection using a Path identifier (Path ID) and includes the Path ID of the transmitted packet in the common header of each packet. This inherits the connection migration characteristics from QUIC. That is, instead of specifying a path using a source/destination network address and port quad, a Connection identification (Connection ID) is used. This has the advantage that the connection is not interrupted when source/destination network addresses and ports change. For example, when Network Address Translation protocol (NAT) is re-bound, the path connection does not have to be broken. The protocol may record the current state of the link via the path ID, such as: Round-Trip Time (RTT), packet loss rate, congestion condition, etc. MPQUIC has a reliable data transfer mechanism. The bottom layer relies on reliable data transfer by QUIC, using Encrypted frames of data (Encrypted Frames) to transfer data. The data frames are managed by different streams (streams) including congestion control, flow control, etc. Each data frame consists of a Stream number (Stream ID) and packet Offset information (Offset), which are used by the receiving end to reassemble the data. In MPQUIC, however, each path maintains its own packet number space. The MPQUIC also adds a Path ID field to the data frame of an Acknowledgement Character (ACK) in order to allow the receiving end to identify the data packets on different paths. The MPQUIC has a path management function. The MPQUIC uses a path manager to control the creation and deletion of paths. The MPQUIC performs cryptographic handshaking on one path, and after completion, the MPQUIC opens a new path at other network interfaces. The MPQUIC can directly put the data packet into the data packet load used by the handshake for transmission when the handshake is established in the subsequent path after the first path is established by virtue of the characteristics of the QUIC. The MPQUIC has a packet scheduling function. When a data packet of an application process arrives, a Scheduler (Scheduler) needs to decide how to distribute the data packet to each sub-path for transmission. Specifically, the scheduler has two functions: (a) selecting an available sub-path in a set of QUIC sub-paths; (b) the transmission method of the packet is determined in consideration of the state of the network. The data packet scheduler is a multi-path protocol core function and directly influences the performance of the protocol.

For the user, in addition to the transmission speed of the network, the traffic tariff problem may also affect the user experience. The scheduler is used as a data distribution module to directly determine the traffic utilization degree on each sub-path, thereby determining the network charge of the user. The default scheduler MinRTT of the MPQUIC selects a path with a better link quality as much as possible to transmit data. But this does not take into account tariff factors. Considering the general scenario of a mobile user watching an online video, a video server splits a complete video into multiple video blocks. Each video block may be played for a certain length of time. And the task of the application layer protocol is to transmit these video blocks. An important factor affecting the fluency of video playing is that the next video block needs to be cached in the video buffer before the current video block is consumed. As long as the buffering of the next video block is completed before the user has finished viewing the current video block, the user can continue to view the video without jamming. Whereas the MinRTT goal is to complete the transmission of video blocks as soon as possible without accounting for the tariff. For example, when WiFi quality is weaker than cellular network, MinRTT uses cellular network as much as possible, avoiding WiFi. This has resulted in a dramatic increase in cellular network data traffic costs, which is more prevalent in the latest 5G WiFi-collocated heterogeneous networks. In order to guarantee the data transmission quality, the most aggressive scheduler regp copies and distributes data to two sub-paths simultaneously, namely, one sub-path sends the content of the other sub-path in a fully redundant manner. Because of the heterogeneous links, the time required for packet transmission varies. At the receiving end, after the user receives the data arrived first, the data arrived later on the other path is directly discarded. Under the condition of poor network quality, such as an area with weak field signals or a critical control field, the ReMP scheduler brings good data accessibility due to the fact that the network is only required to convey control commands with small data packets. Since under such conditions the user is more concerned about whether the data can be transmitted correctly, rather than being billed.

Neither the MinRTT scheduler, which tries to use the best link, nor the ReMP scheduler, which uses fully redundant transmission, to guarantee data accessibility, take into account tariff factors. This is not appropriate for the general user. Generally, for smart terminals, the traffic price of cellular networks is much higher than WiFi. Users often want to have the lowest possible tariff on the premise that the network quality is guaranteed. None of the existing scheduler solutions of the MPQUIC consider the tariff problem.

Disclosure of Invention

The present invention is directed to the above-mentioned problems, and according to a first aspect of the present invention, there is provided a method for scheduling transmission amount by a scheduler of an MPQUIC system that transmits data through two paths, Path a and Path B, where Path a has a tariff lower than Path B, the method comprising:

step 100: receiving the data blocks to be sent in the current round and the transmission time tc from the application layer, and dividing the data blocks into SEQ data blockssumA data packet;

step 200: predicting the transmission capacity of a Path A Path, adjusting the transmission capacity distributed by the transmission of the Path according to the transmission capacity of the Path A Path of the previous round and the transmission time of the Path A Path of the previous round, if the transmission time of the Path A Path of the previous round is less than tc, increasing the transmission capacity of the Path A Path of the current round, and if the transmission time of the Path A Path of the previous round is more than tc, reducing the transmission capacity of the Path A Path of the current round and distributing the adjusted transmission capacity to the Path A;

step 300: the transmission quantity distributed to the Path B Path is the residual transmission quantity;

step 400: and after the current round of transmission is finished, recording the difference D between the time of finishing transmission of the WIFI path and tc.

In one embodiment of the invention, step 300 further comprises assigning a redundant transmission amount to the Path B Path.

In one embodiment of the invention, Path a is a WIFI Path and Path B is a cellular network Path.

In an embodiment of the present invention, wherein

Transmission capability of Path A Path prediction in step 200Is composed of

Wherein, OWD'ATo predict the one-way propagation delay of Path A, VAThe packet transmission rate.

In an embodiment of the present invention, wherein

Adjusted transmission amount of Path A Path in step 200Is composed of

Wherein, OWD'ATo predict the one-way propagation delay of Path A, VAThe packet transmission rate.

In an embodiment of the present invention, wherein

The remaining transmission amount allocated by Path B in step 300 is

SEQsum-[(tc-OWD'A)×VA±D×VA]

Wherein, OWD'ATo predict the one-way propagation delay of Path A, VAThe packet transmission rate.

In one embodiment of the invention, the redundancy transmission quantity allocated to the Path B Path is VAX δ, wherein, VAFor packet transmission rate, delta is an adaptive redundancy transmission parameter

Wherein N is the number of times of the single delay condition of the Path A in the previous round of transmission,for each of the statistical values of the data,is the average of the N statistical values.

In one embodiment of the invention, the scheduler places the starting transmission pointer of Path a at the head of the data block, and transmits the data block in the ascending order of the data packet numbers; and placing the sending pointer of Path B at the tail part of the data block, and sending the data according to the descending order of the data packet numbers.

According to a second aspect of the present invention, there is provided a computer readable storage medium in which one or more computer programs are stored which, when executed, are for implementing the method of the present invention for an MPQUIC system scheduler to schedule transmission amounts.

According to a third aspect of the invention there is provided a computing system comprising: a storage device, and one or more processors; wherein said storage means are adapted to store one or more computer programs which, when being executed by said processor, are adapted to carry out the method of the invention for scheduling transmission amounts by the MPQUIC system scheduler.

The invention calculates the task allocation conditions of different sub-paths in the current round of transmission according to the current link state and the feedback received from the receiving end in the previous round of transmission based on the optimal task amount division algorithm of the minimum cost. And in order to ensure that the video cache of a user is not blocked due to network fluctuation, redundant sending is introduced. And the MCMS adds a part of redundant data according to the statistical condition of the current network fluctuation to ensure that the transmission of the current round is completed on time. The invention uses the thought of two sub-paths to transmit oppositely on the premise of playing without jamming according to the size of the current transmission data block obtained by the boundary sensing information, and the transmission is completed when the transmitting pointers of the two sub-paths meet. And the determination of the meeting point is completed by the MCMS through the calculation of the factors of the video stream playing card pause condition, the current network state, the flow charge and the like. The invention considers the instability of the heterogeneous wireless network, measures the one-way delay of the network path according to the time label, and because the one-way delay predicted by the MPQUIC has the possibility of error, if the predicted result is different from the reality in the actual transmission, namely the predicted task segmentation point is different from the actual task segmentation point, the optimized result can not meet the preset target. Therefore, the T point adjusting algorithm based on feedback is designed, so that the adjustment of the meeting point is more accurate and quicker.

Compared with the prior art, the method has the advantages that the performance of multiple physical interfaces can be fully utilized based on the thought of the double sub-stream mutual transmission, the non-blocking service quality of the video stream service is guaranteed according to the data block cache model of the video stream, the state change of the actual heterogeneous wireless network is considered, and the meeting point of the data mutual transmission is dynamically adjusted, so that the balance of the transmission performance and the flow charge is finally realized.

Drawings

The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the invention and together with the description, serve to explain the principles of the invention. It is obvious that the drawings in the following description are only some embodiments of the invention, and that for a person skilled in the art, other drawings can be derived from them without inventive effort. In the drawings:

FIG. 1 is a diagram of the MPQUIC architecture in the network protocol stack.

FIG. 2 is a diagram of a model of a progress pool for online video streaming on demand.

Fig. 3 is a diagram illustrating heterogeneous wireless dual sub-stream convection.

Fig. 4 is a diagram of schedule optimization analysis of MCMS.

Fig. 5 is a diagram of MCMS "redundant transmission" analysis.

Fig. 6 is an overall system configuration diagram of the MCMS.

Detailed Description

In order to solve the problems provided in the background art, the invention provides a minimum-cost MPQUIC data packet optimization method and system for online video stream on demand based on a heterogeneous wireless network terminal. In order to more clearly understand the technical features, objects, and effects of the present invention, the method and system according to the present invention will now be described in further detail with reference to the accompanying drawings.

Fig. 1 shows a basic architecture diagram of the multipath transmission control protocol (MPQUIC).

Step 101: the application layer prepares video data to be transmitted via the network into data blocks, which are placed in a buffer. And informs the transport layer data block of the boundary size.

Step 102: the MPQUIC establishes network connection between a sending end and a receiving end, establishes connection through a path and informs the receiving end that other links capable of establishing connection exist.

Step 103: after receiving the data block from the application, the MPQUIC divides the data block into a plurality of network data packets for transmission. The scheduler will decide in which order and in which distribution mode the data packets in the data block are sent to different transmission paths according to the attributes of the network connection established in step 102 and the optimization policy of the scheduler itself.

Step 104: after each sub-path obtains the data packet, the data packet is directly sent. Each path has its own path ID to identify the data transmission path. Each path records information such as RTT, packet loss rate, data packet number and the like of the path.

Step 105: the data packet of each sub-path is transmitted by a udp (user data gram) protocol handed to the transport layer. UDP is a connectionless transport layer protocol. It is only responsible for sending data packets, and the functions of ACK response, flow control, congestion management, etc. of the data packets are completed by the MPQUIC protocol.

Fig. 2 shows an online video stream player progress pool model. In the model, the video playing is analogized to a progress pool model with the lower end continuously consuming data and the upper end continuously injecting new data.

For the scene of video on-line on-demand, a complete video is split into video blocks with different sizes by the server side, and each video block can be played for a period of time. Here we refer to a video block as a data block. As the user watches the video, it is actually the process of constantly consuming blocks of data. The network is a process that continuously buffers the data blocks.

Step 201: the video player continuously receives new data contents through the network, and when the new data contents can be assembled into a complete data block, the buffering of the data block is completed, and the data block can be used for playing videos.

Step 202: when a user watches a video, the current block of data is consumed. When the data block currently in use is consumed, the player immediately starts consuming the next data block.

Therefore, the condition that the user watches the online video playing without jamming is as follows: the next video block must be buffered before the current video block is consumed.

Fig. 3 shows a Minimum Charge MPQUIC Scheduler (MCMS) two-sub path-to-pair model with heterogeneous wireless network terminals according to the present invention.

The invention firstly analyzes the influence of the scheduler on the flow charge, because the scheduler determines the data flow utilization of different sub-paths. Let the traffic tariff for WiFi be costWiFiAnd the traffic tariff of the cellular network is costcellular. The transmission process for each data block is defined as a round of transmission. In each round of transmission, the flow of WiFi consumption is assumed to be flowWiFiAnd the flow of the consumed cellular network is flowcellular. It can be concluded that the total cost for data transmission per round is:

costtotal=costWiFi×flowWiFi+costcellular×flowcellular (1)

in general, traffic transmission costs for cellular networks are significantly higher than WiFi. From equation (1), the basic idea of reducing the traffic cost is: on the premise of meeting the requirement of data transmission, WiFi is used as much as possible for transmission, and the data traffic utilization of the cellular network is reduced.

Step 301: taking a terminal equipped with WiFi and cellular network interfaces as an example to establish a dual sub-Path, assuming that the MPQUIC protocol has already established a network connection, Path a is a sub-Path established by the WiFi network interface, and Path B is a sub-Path established by the cellular data interface. After the data block is prepared in the upper layer and the boundary of the data block is informed to the MCMS, the data block is divided into a number of data packets by the MPQUIC. MCMS places the initial sending pointer of Path A at the head of the data block, and sends the data block according to the ascending sequence of the data packet numbers; and placing the sending pointer of Path B at the tail part of the data block, and sending the data according to the descending order of the data packet numbers. It can be seen that the transmission directions of the two sub-paths are opposite, and this transmission mode is called "opposite transmission". This approach can effectively ensure stability of data transmission in case of network fluctuation, as will be further explained in steps 501 and 502.

Step 302: and marking the best calculated data packet segmentation point as a T point by the MCMS according to the link states of the current two sub-paths. The T point is the number of data packets that can be transmitted by the WiFi path calculated by the MCMS according to the current network state, which will be further explained in steps 401 to 404. Path A sends a packet with its start pointer to point T. Path B sends the remaining packets. According to equation (1), the transmission goal is to transmit data using WiFi as much as possible, and when WiFi is not enough to transmit the current data block in a limited time (shown as a data packet after T point in the figure), the unfinished part is handed over to the cellular network for transmission. Therefore, the transmission quality is ensured, and the cost of flow transmission is reduced.

Step 303: and transmitting redundantly. The T point in step 302 will be dynamically adjusted according to the network link conditions. However, in the wireless heterogeneous network, the network environment is variable and unstable. Thus, the present invention introduces a way of "redundant transmission". I.e. after Path B has transmitted to point T, it will continue to transmit to point R. Data from point T to point R is also transmitted on Path a, and is therefore referred to as "redundant transmission". When receiving the data from the point T to the point R, the receiving side only retains the originally received data no matter which sub-path the receiving side receives, and discards redundant data. The R point is calculated by the MCMS based on the current network state. The 'redundancy sending' ensures that when the network condition is constantly changed, the data block transmission can be completed within the specified time, and the stability of data buffering is exchanged by a small amount of reasonable redundancy data, so that good network experience is provided for users. As will be explained in steps 501 and 502.

The minimum-cost MPQUIC scheduler scheduling method adopts two paths, namely Path A and Path B, to transmit simultaneously, wherein the cost of the Path A is lower than that of the Path B, the Path A can use a WIFI network, and the Path B can use a cellular network. The method comprises the steps of firstly, fully utilizing the transmission capability of a WIFI path, predicting the quantity of data packets which can be transmitted before the transmission of the WIFI path, adjusting the transmission quantity of the WIFI path according to the transmission condition of the previous round, reducing the transmission quantity of the WIFI path of the previous round if the transmission time of the WIFI path of the previous round exceeds the expectation, and increasing the transmission quantity of the WIFI path of the current round if the transmission time of the WIFI path of the previous round is shorter than the expectation. And distributing the rest of the transmission quantity to be transmitted to a cellular network path, wherein the cellular network path simultaneously performs some redundant transmission, and transmits part of data packets transmitted on the WIFI path on the cellular network path.

The invention focuses on the balance optimization between the flow rate charge and the transmission performance in the practical scene of video stream on demand by data packet scheduling, and the invention focuses on optimizing the sending strategy of the scheduler according to the network link attribute and reducing the flow rate charge of the user. Thanks to the MPQUIC running in user mode, the customization of the transport protocol for a specific service scenario is convenient and feasible without the need to modify other protocols in the operating system kernel. Fig. 4 is a detailed illustration of the minimum tariff MPQUIC scheduler optimization algorithm based on heterogeneous wireless network terminals.

Step 401: as shown in fig. 4(a), it plots the transmit end view of the two sub-path transmissions. The X-axis is time and the Y-axis is the packet number transmitted in this round. For convenience of description, it is assumed that time starts from t ═ 0, and the packet number also starts from 0. At the beginning of each round of transmission, both Path A and Path B will start transmission at the same time. At the transmitting end, Path A will be at tsACompleting the transmission of the last data packet in the round, Path B will be at tsBAnd finishing the transmission of the last data packet in the current round. Two solid straight lines in the graph represent the packet transmission process, and the slopes thereof represent the packet transmission rates of the two paths of Path a and Path B, respectively set to VA、VBThe transmission rate is measured from the network of the MPQUIC. Path A sends a packet with its start pointer to point T, per step 302. Path B sends the remaining packets.

Step 402: fig. 4(b) shows a receiver view. Let the One-Way propagation delays (OWDs) of Path A and Path B be OWDs respectivelyAAnd OWDB. The OWD is measured by the MPQUIC network, and the measurement result can be fed back to the sender by the receiver. The view of the receiving side is to shift the two real straight lines in fig. 4(a) to the right by the corresponding OWDs.

Before each transmission round, the MCMS scheduler evaluates the current network state. From step 201 and step 202, it can be seen that the next data block must be buffered from the beginning of consumption of the current data block to the completion of the consumption to ensure that the playing is cardless, and the period of time is set to tc, which is explicitly informed to MPQUIC by the application layer.

According to the formula (1), in order to reduce the cost as much as possible, WiFi is utilized to transmit data as much as possible; and in order for the video buffering not to be stuck, the buffering of the next video block must be completed within tc time. The available Path A (WiFi) uses the time of the length tc maximally in each round of transmission. If Path A is in the complete working state in the round of transmission, the number of the data packets sent by Path A is:

SEQT=(tc-OWDA)×VA (2)

SEQ calculated by the formula (2)TIs the same as the height of the solid Path A line in FIG. 4(b), wherein SEQ ID NOTT. When the data packet total number SEQ of the transmission task of the current roundsum≤SEQTIn time, it is stated that the transmission task can be completed only by using Path a (WiFi), without the help of Path B (cellular network). Then SEQ ID NOsumCompletely handed over to Path A for transmission. Otherwise, it indicates that Path a (WiFi) has insufficient transmission capability, and cannot satisfy the transmission task of this round, and Path B (cellular network) needs to transmit the data packet that Path a cannot process within tc time. This will also be discussed in more detail below. Path A the amount of tasks required to be transmitted in the round, i.e. the T point, is obtained by the formula (2). The amount of tasks that Path B needs to transmit is: SEQ ID NOsum-SEQT

SEQ obtained by the formula (2)TIn fact, is an idealized result. VACan be obtained according to the data acquired from the network card of the sender. However, heterogeneous wireless networks are not a stable network, OWDAIs constantly changing. In the present invention, OWDAAnd OWDBRepresents the actual one-way delays of Path A and Path B, and let the predicted one-way delay of MPQUIC be OWD'AAnd OWD'B

In the current round of transmission, if predicted OWD'AWith real OWDAIn contrast, i.e. predicted task segmentation points yield actual task segmentation pointsWhen gaps occur, some undesirable results may result. Therefore, the invention designs a T point adjusting algorithm based on feedback, so that the adjustment of the T point is more accurate and faster.

Step 403: when the predicted task split point T' is smaller than the ideal task split point T. In this case, Path A is not fully utilized. As shown in FIG. 4(c), on the receiving side, it is found that Path A stops working before tc (t)2) And Path B has tasks in transmission in the current round of transmission, which shows that Path A is not fully utilized. In this case, the user does not feel stuck watching the video.

The time of the Path A less work is t2By tc, the data packet with less transmission in the period is SEQT-SEQT'I.e. t2Dotted line section to tc, wherein SEQT'T'. The time of the Path B multiple work is t1To t3During which the data packets to be transmitted are SEQT-SEQT'I.e. t1To t3The solid bold line portion. In this case, the receiver notifies the sender of the time during which Path a is less operational, which is denoted as D. According to the above, D ═ tc-t2. Path A will transmit D times V more in the next round of transmissionAThe data packet of (1). Let the corrected packet task amount of Path A be SEQ'TThe method comprises the following steps:

SEQ'T=(tc-OWD'A)×VA+D×VA (3a)

step 404: when the predicted task split point T "is greater than the ideal task split point T. At this time, the MCMS allocates too much tasks to Path A, and Path B cannot be fully utilized. As shown in FIG. 4(d), on the receiving side, it is found that Path A has not stopped working after tc until t6. At tc, the packets arriving from Path A and Path B cannot be combined into a complete data block. After the current data block is consumed, the user will be stuck when watching the video because the next data block is not assembled.

The time of multiple work of Path A is tc to t6During which the data packets to be transmitted are SEQT”-SEQTI.e. to tc to t6The bold solid line portion of (1), wherein SEQT”T ". Path B labor-savingThe time of doing is t4To t5During which less transmitted data packets are SEQT”-SEQTI.e. t4To t5The dotted line portion of (a). In this case, the receiver notifies the sender of the time when Path a is operating more, which is denoted as D. According to the above, D ═ t6-tc. Path A will transmit D times V less in the next round of transmissionAThe data packet of (1). The modified task volume of the data packet of Path A is SEQ'TThe method comprises the following steps:

SEQ"T=(tc-OWD'A)×VA-D×VA (3b)

combining formula (3a) with formula (3b), and usingRepresenting the amount of tasks of the modified data packet, is

At this point, the algorithm for dynamic adjustment of SEQ can be derived, each adjustment will take effect in the next round of transmission.

However, the video playback stuck condition in step 404 should be avoided by MCMS. After the concept of 'redundant sending' is introduced, the invention can use a small amount of redundant data transmission to avoid the playing pause caused by the transmission of the current round.

The aim of introducing the 'redundant sending' is to reduce the data block cache blocking caused by the improper transmission mode of the current round and improve the user experience. However, the amount of redundancy is carefully controlled, too little redundancy results in a pause in the playback, and too much redundancy results in a higher tariff. Redundant data will be put in Path B (cellular network) to make up for the impact on data block buffering when Path a (WiFi) task volume prediction errors occur. By virtue of the MCMS taking advantage of the natural advantage of the opposite transmission, the transmission start point of Path B does not need to be adjusted for introducing redundant transmissions.

Step 501, when the predicted OWD'AWhen it is small, it will cause the scheduler to mistakenly assume that PathA has stronger transmitting capability than it actually does, and therefore will givePathA more tasks. However, PathA does not have such a strong sending capability, so that part of the packet of PathA arrives after a limited time tc, causing transmission delay.

SEQ by formula (2)T=(tc-OWDA)×VAWhen the predicted one-way delay of Path A is OWD'AThen the corresponding predicted number of transmitted packetsIs composed of

However, the actual one-way delay of Path A is not the predicted value OWD'AThe difference between the predicted one-way delay and the actual one-way delay is delta, i.e. OWDA=OWD'A+ δ, with

OWD′A=OWDA-δ (5b)

Substituting (5b) into (5a), there are

Namely, it is

The formula (5c) is subtracted from the formula (2) to obtain:wherein VAThe result is the data packet whose transmission capacity is exceeded by Path A in the task in this round, i.e. SEQ ID in FIG. 4(d), in step 404T”-SEQT. Since this part of the packet will not arrive at the receiver until after tc, the data block buffer will be stuck. Therefore, Path B should "redundantly send" this part of the packet and adjust the size of δ according to the actual situation, so δ is also called adaptive redundancyAnd sending the parameters. When the receiver can obtain these packets from Path B, the data block buffering can be completed in tc time.

According to one embodiment of the invention, δ is determined by:

n is the number of times of the single delay condition of the Path A in the previous round of transmission,for each of the statistical values of the data,is the average of the N statistical values. δ is determined by the network volatility of the link in the previous round of transmission on Path A. When the network fluctuation of Path A is small and the transmission is stable, the value of delta is small, and the redundant transmission quantity of Path B is small; and when the network fluctuation of Path a is large and the transmission is unstable, the value of δ is large, and the redundant transmission amount of Path B is large. The method is the same as the visual feeling of people, and when the WiFi network fluctuates, the cellular network can undertake more transmission tasks, so that the data blocks are cached and finished on time; when the WiFi network is stable, the cellular network will take on less transmission tasks, reducing the tariff. The R point to the T "point are the" redundant transmission "parts.

Step 502: while for the case in step 403, the data chunk buffering may be completed within tc time. But the scheduler cannot predict whether the predicted T point is too large or too small for the current round of transmission. In order to ensure that the on-time buffering of the data block is completed, in any case, the MCMS will add "redundancy transmission" to Path B according to the adaptive redundancy transmission parameter δ. The R point to the T' point are the "redundant transmission" parts.

In step 501 and step 502, the amount of tasks sent by Path B redundancy is:

the following steps 10-50 illustrate the flow of the distribution of the transmission amount of the present invention over two paths:

10 receiving the data blocks to be transmitted in the current turn and the transmission time tc from the application layer, and dividing the data blocks into SEQ data blockssumA data packet;

20 the transmission amount corresponding to the transmission capability of the predicted WIFI path is

30, the transmission quantity distributed by the current round of transmission is adjusted according to the transmission time of the previous round of WIFI path, if the transmission time of the previous round of WIFI path is less than tc, the transmission quantity of the current round of WIFI path is increased, if the transmission time of the previous round of WIFI path is more than tc, the transmission quantity of the current round of WIFI path is reduced, and the transmission quantity after the WIFI path is adjusted is

40 the amount of transmission allocated to the cellular network path is the remaining amount of transmission and the redundant amount of transmission:

SEQsum-[(tc-OWD'A)×VA±D×VA]+VA×δ

50 after the current round of transmission is finished, recording the difference D between the transmission completion time of the WIFI path and tc.

Fig. 6 shows a system structure diagram of the MCMS of the present invention, where the system includes a sender and a receiver, and the input of the sender is a data block from an application layer, and the data block is divided into data packets by a packet dividing module and then sent to the receiver by a sending area module. The transmission of the transmission area is controlled by the following three modules: the system comprises a task modification module, a redundancy sending module and a link parameter calculation and prediction module. The receiving area of the receiving party receives the data block sent by the sending party, the data packet merging module merges the received data packets into the data block, the data block is delivered to the application layer of the receiving party, and the link parameter measurement and feedback module measures and counts the parameters in the receiving process of the data block and feeds the parameters back to the sending party. The method comprises the following specific steps:

step 601: the application layer generates a data block to be transmitted, and the data block is delivered to the MPQUIC.

Step 602: the MPQUIC segments the data block into data packets for transmission over the network.

Step 603: the task correction module is responsible for adjusting the task allocation amount of the two sub-paths in the transmission according to the feedback result of the previous transmission. Calculated by the formula (4).

Step 604: the redundancy sending module calculates the task quantity of the Path B redundancy sending in the current round according to the historical statistical condition of the link parameters. This is shown in equation (7).

Step 605: according to the link parameter calculation and prediction module, the task correction module and the redundant sending module, the task sending quantity of the two sub-paths in the current round is obtained, and the task sending quantity is as follows:

the flow charge for the transmission in the round can be calculated as follows:

step 606: and the receiver receives the data packets from Path A and Path B respectively and combines the data packets.

Step 607: when merging, recording is carried out if the following conditions occur:

(1) when the fact that the Path A completes transmission before tc is detected, which indicates that the WiFi link is not fully utilized, the 'link parameter metering and feedback module' records the time D for the Path A to complete in advance.

(2) And detecting that the data of the Path A still arrives in the current round after tc, which indicates that the task amount allocated by WiFi is excessive, and recording the time D for the Path A to continue to transmit in the current round after tc by the link parameter metering and feedback module.

Step 608: the link parameter metering and feedback module records the actual OWDs of the two current links according to the time stamps of the data packets. And the actual OWD and the task correction parameter D are stored in an ACK data packet transmitted to a data transmitting party for feedback.

Step 609: and after the data packets are combined, delivering the data packets to an upper layer application. The transmission of the current round is completed, and the next round of transmission is started immediately.

In summary, the present invention introduces the parameter of traffic cost into the packet scheduler of the MPQUIC, optimizes the packet scheduling process according to the latest state parameters and the adjacent history information of each sub-path of the MPQUIC, and proposes a completely new scheduler algorithm that dynamically adjusts task allocation based on link statistics information and introduces a proper amount of redundancy according to network fluctuation in the scenario of data block transmission within a limited time. By applying the scheduler in the invention, the transmission of each data block can arrive on time, and the flow charge can be reduced as much as possible, thereby reducing the blocking felt by a user when using the data block and improving the user experience.

The previous description is provided to enable any person skilled in the art to make or use the present disclosure. Various modifications to the disclosure will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other variations without departing from the spirit or scope of the disclosure. Moreover, all or a portion of any aspect and/or embodiment may be utilized with all or a portion of any other aspect and/or embodiment, unless stated otherwise. Thus, the disclosure is not intended to be limited to the examples and designs described herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

16页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:双列表广告播放方法、装置、计算机设备及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类