H. QIAN ET AL.
70
according to the system’s overall conditions, the cross-
layer resource allocation algorithm meets uses’ needs
better in each layer. Therefore, cross-layer allocation algo-
rithm provides more information to adaptive resource
allocation. However, because of the increase of informa-
tion, computational complexity of the algorithm will in-
crease [3].
The model of cross-layer resource allocation is shown
below:
According to the information interaction between lay-
ers and relevant scheduling rules, the scheduler reasona-
bly allocates system resources, as is shown in Figure 1.
The information between layers mainly includes channel
estimation, feedback, resources of physical layer, queue
status and the QoS requirements, etc. In broadband power
line system, MAC-PHY cross-layer scheduler works as
follows: data from the upper layer, which is assigned to
different buffer queues, combines with physical channel
conditions as the basis of the MAC layer scheduler.
In the broadband power line system, the operations of
the upper layer are varied, and the QoS requirements are
also different. In addition, the arrival of some business
flows is sudden and random, and the power line channel
is time-varying. To make full use of link resources, and
ensure the validity and reliability, the scheduler must
take real-time channel status into consideration. Thus, the
scheduler could select the MAC-PHY cross-layer sched-
uling mode above.
3. Cross-layer Scheduling and Resource
Allocation Algorithm
3.1. User Scheduling on MAC
The scheduling is implemented in the MAC layer. The
utility function may be provided on the joint of the delay,
queue length, packet loss rate and other information on
the MAC layer and channel information on the physical
layer. The utility function determines the scheduling or-
der of business, and completes scheduling [4].
For the sake of simplicity, it is assumed that, at the same
moment, a user has only one service, and corresponds to
only one queue. Each data packet scheduling is for each
queue scheduling. Corresponds to the real-time and non-
real-time user, the queue is divided into real-time queue
and non-real-time one.
First, according to the urgency degree of every queue,
packets are divided into two categories: high priority
packets and ordinary packets.
The priority of queue of real-time business is deter-
mined by delay. Let maximum delay which can be toler-
ated by real-time business of user k is and assume
waiting time of packets of real-time business queue of
user k is , the priority of packets of real-time
business queue of user k is divided according to equation
(1).
max
k
D
current
k
D
max
current
k
RT
kk
D
D
(1)
Packet loss of non-real-time business queue is mainly
caused by the overflow of packets, so its priority is de-
termined by the length of queue [5]. Set the maximum
number of buffered packets of buffered queue is .
In the slot t, the prioritization function of non-real-time
business queue of user k is:
max
Q
max
k
NRT
k
Q
Q
(2)
where
is the coordination factor, which is a positive
number less than 1.
The emergency degree of data packets in each queue is
determined as follows:
c
c
1high priority
ordinary
k
kk
(3)
where k
shows the emergency function of real-time or
non-real-time services, c
is the threshold of emergency
function.
When the priority of the head packet of each queue is
judged, scheduling sequences of different priority is
judged by the scheduling function of high priority and
ordinary packets. Scheduling function is expressed as
follows:
[] []high priority
[] [] [ ]ordinary
[]
kk
K
c
kkk
a
k
PD ii
PD
Ui Ri i
Ri
(4)
where represents the packet loss rate of the
queue k before the i-th frame, and
[]
k
PD i
PD
[]
c
k
Ri represents the
maximum packet loss rate. And represents the
maximum supported rate of the queue k’s i-th frame, that
is, when all of time-frequency blocks of the i-th frame
distribute to the queue, the transmission rate can reach
the maximum [6]. And represents the weighted
average rate of the queue k before the i-th frame. The
iterative formula describes as follows:
[]
a
k
Ri
11
[] (1)[1][1]
aa
kkk
cc
RiRiRi
tt
(5)
where [1]
k
Ri
shows the actual rate of the i-1 frame of
queue k, and tc is the length of the sliding time window.
Based on the scheduling functi on abo ve, pack ets of each
queue are scheduled. The scheduling principle is that,
dispatch high priority packets firstly, and then, schedule
ordinary packets. The packets of same priority are sched-
uled according to the descending order of scheduling
function.
Average sending rate of each user is indicated as a
Copyright © 2013 SciRes. CN