• 沒有找到結果。

Modification of Upper Bound in Packet Based Smoothing Algorithm .30

4. Packet based Smoothing Algorithm

4.1 Number-of-Packets Based Smoothing Algorithm

4.1.1 Modification of Upper Bound in Packet Based Smoothing Algorithm .30

Because the server transmits video data in a unit of packet, the transmission rate can’t be controlled arbitrarily. This fact induce that the client buffer can’t be utilized completely, therefore the upper bound of the two packet based smoothing algorithm have to be modified.

In packet based smoothing algorithm, the transmission data is restricted in unit of packet. Therefore a server can only transmit the video data packet-by-packet, the data that can be transmitted ahead to client buffer will be restricted and it induces client buffer not to be utilized fully. See the following Fig. 13 as an example. In Fig. 13, at the first frame slot, the server only can transmit the first six packets. If the client receives the seventh packet at the first frame slot, its buffer will overflow, and so will the buffer at second and third frame slot. Therefore, the upper bound will be modified to the level of the sum of the first six packets data at the first three frame slots. The upper bound at each frame slot will be modified in this way. The lower bound is the same with MVBA, because even the frame data is cut into packet, the sum of the packets data of a certain frame equals to its frame data.

Time

Cumulative Data

Figure 13: The difference of upper bound and lower bound between conventional smoothing algorithm and packet based smoothing algorithm. Where the black bold line represents the upper bound and lower bound in conventional smoothing algorithm, gray squares are data packets, and the gray line is the upper bound in packet based smoothing algorithm.

Next, the upper bound and lower bound are represented in packet number. See the following Fig.14.

Time

Packet Number

Figure 14: The upper bound and lower bound represented in number-of-packets form in packet based smoothing algorithm. We only consider the number of packets. ( )L k and ( )U k here is in unit of number of packets and represents the corresponding upper bound and lower bound in the previous figure.

In Fig. 14, the amount of data of each packet is ignored, and only the packet number is concerned, because we only care if the transmitted number of packets stays within the upper bound and lower bound. The server has to transmit until 2th

packet number at least and transmits until 6th packet number at most at the first frame slot.

Thus, the lower bound in packet based smoothing algorithm is the total number of packets of previous frame slots,

where pi is the number of packets of frame i, and upper bound equals to the lower bound plus the number of packets, which can be preserved in client buffer at ith frame slot.

= +

'( ) '( ) i

U k L k b , (4-2)

where bi represents the number of packets which can be transmitted ahead at ith

frame slot. Take Fig.14 as an example, b1 equals to 4, because at this frame slot, the client buffer can contain up to the sixth packet, and the client will consume the first two packets, and b2 equals to 3, b3 equals to 2, and etc.

Let '( )S k to be a transmission schedule representing the number of packets transmitted during k frame slot.

=

where 's i is the transmitted number of packets at ith frame slot. If the schedule is feasible, it has to be within upper bound and lower bound,

≤ ≤

'( ) '( ) '( )

L k S k U k (4-4)

If we don’t care the actual data of each packet in packet based transmission system, the modified upper bound and lower bound represented in amount of data form and upper bound and lower bound represented in number of packets form are equivalent. Thus the area enclosed by the upper bound and lower bound represented in amount of data form also equals to the area enclosed by upper bound and lower bound in number of packets form. Therefore, a transmission schedule, which stays within a set of upper bound and lower bound must stays within the other set of upper

bound and lower bound as well. So a feasible schedule generated by packet based smoothing, which stays in the area enclosed by the upper bound and lower bound in number of packets form is also a feasible schedule and will stay in the area enclosed by the upper bound and lower bound in amount of data form.

4.1.2 Modification of integer transmission rate

The transmitted number of packets at each frame slot needs to be integer in a transmission schedule, which is generated by packet based smoothing algorithm.

However, the rate generated by MVBA is unnecessarily to be integer. So we have to make the integer modification.

The transmission rate of an MVBA optimum schedule equals to smaxa b, or smina b,

in MVBA procedure. Therefore, calculation of smaxa b, and smina b, in Number-of-Packets Based Smoothing Algorithm has to be modified as the following Fig. 15.

Time

Time

(a) (b)

Figure 15: The modification of integer transmission rate. (a) is a condition of

maxa b,

s . In order to prevent buffer overflowing,

max, '

s a b in Number-of-Packets Based Smoothing Algorithm takes the integer portion of

maxa b,

s , and truncates the decimal part. (b) is a condition of

mina b,

s . In order to prevent buffer underflowing,

min, ' Number-of-Packets Based Smoothing Algorithm, must be smaller than the original

maxa b,

s , because

maxa b,

s is the maximum feasible CBR transmission rate for all CBR segment in interval [ , ]a b . Thus the integer modification of

max, ' s a b is

max,

Similarly, the integer modified minimum rate in Number-of-Packets Based Smoothing Algorithm,

s a b are guaranteed to be integer, and the transmission schedule must stay within the upper bound and lower bound. So, the transmission schedule generated by Number-of-Packets Based Smoothing Algorithm is feasible, and the packet rate is integer for each frame slot.

相關文件