- Management of a queue (buffer) using fuzzy inference The maximum length
(size) of the buffer, expressed in bytes, is LMAX. In buffer there are queued IP packets,
(that can be considerted as having all the same length, of 1500 bytes), some of them having
a low priority (LP), while the others have high priority (HP). If the maximum buffer size
LMAX is reached, then next IP packets will be dropped, no matter if they are LP or HP.
We will use another maximum limit, called L_LP. If this limit is reached, then all LP IP
packets will be dropped, but HP IP packets will be accepted untill the LMAX limit is
reached. The task is to use fuzzy inference in order to dynamically adjust the L_LP limit
such that to avoid dropping HP packets, and to verify by simulation the good functioning of
the system.
Use OMNeT++ simulator. You can start from the fifo example from the folder
samples.
- IP scheduler Consider a system with 3 categories of users, e.g, LP, MP and HP (low, medium, and high
priority), and 3 queues, a HP queue for HP users, an MP queue for MP users and a LP queue
for LP users. All 3 queues are connected to a single line, which is connected to the
destionation (the omnet module sink). The scheduler will serve one queue at a time, by
sending the IP pachet from the head of the queue to the destination. During the transmission of
a packet, the line is busy, so no other packet can be sent. The time when the line is busy
is equal to the packet length divided by the transfer rate of the line. For example, if we
consider all IP packets having 1500 bytes, and the line having a rate of 1 Mbps (meba bit
per second), it results 1500*8/1000000 seconds = 12 ms.
We consider that the scheduling algorithm allocates a certain weight to each queue, so we
will have W_HP, W_MP and W_LP.
Use a fuzzy logic controller in order to adjust the weight of
HP users (W_HP) such that their average delay will be most of the time smaller than a
certain value.
If the scheduling algorithm is priority queueing (PQ), then we cannot apply fuzzy weight
adaptation like above, since PQ does not use weights !
A description of the problem which deals with the scheduling of IP packets can be found on
the web page of the CAD course
, at the address
- Radio scheduler Consider a radio system (a cell) where there can be at most K users (e.g. K=10). The
resource allocation (i.e. scheduling) algorithm is WRR (Weighted Round Robin). From the K
users, some have a high priority weight W_HP, others have a medium priority weight W_MP, and
the remaining have a low priority weight W_LP. For example, W_HP=4, W_MP=2, W_LP=1. The
total capacity of the network consists of B radio channels available every Tc milliseconds
(Tc is the duration of the scheduling cycle). For example, B=8 and Tc = 20 ms at GPRS, or
B=20 and Tc = 1ms at LTE.
A description of the problem of scheduling in cellular radio networks can be found on the
web page of the CAD course , at
the address.
The task is to adjust, using fuzzy inference, the weight W_HP of the high priority users,
such that the average delay of the HP users will not exceed (as much as possible) a certain
value.
- Scheduler in a radio system with location-dependent errorsModel in OMNeT++ a system that adjust dynamically the weight of a lagging user in a
resource allocation (scheduling) radio system with location dependent errors.
Consider a radio system consisting of K users (e.g. K=3) which transfer data. Between the
moments t1 and t2, one of the users has a very bad radio link, with so many errors that the
scheduler will not allocate radio resources (radio channels) to that user. Compared to an
ideal system (i.e., without errors), the user affected by (location dependent) errors will
be lagging, which means that the amount of data transfered by that user is with LAG smaller
than the data transfered by its correspondent in the ideal system. After the moment t2 the
user will have again a good radio link, and its weight in the scheduling algorithm has to be
increased, with the purpose to reduce the value of LAG to zero, or very close to zero.
LAG is defined as the difference between the amount of data transdered by a user in the
ideal system, and the amount of data transfered by the same user, in the real system.
Like in the previous problem, you can start from the fifo model from samples.
We can consider either a discrete scheduling algorithm (e.g. WRR - Weighted Round Robin), or
you can consider that each user has a transfer rate equal with 1/K of the capacity C of the
network (e.g. C= 1 Mega bits per second). The fuzzy algorithm will adjust the weight of the
user affected by errors (respectively its transfer rate) on the expense of the other
users.
- Fuzzy logic based vertical handover algorithm A description of an Omnet++ model for
vertical handover (VHO) model is given on the web page of the CAD course , at the address.
You can use the fuzzy rules described in Table I, II or III of this paper.
The priority class of a user (HP, MP or LP) does not change during simulation.
You will consider that the modeled user belong to one of these 3 classes and apply the
corresponding fuzzy rules. There are 2 networks, one network being better than the other.
The rules determine the selection decision for the better network. If the selection decision
is "select", the data will be transferred on that network. If the selection decision is
"reject", then the other network will be taken by the modeled user for transferring its data
(at least for the currenty file).
The network load is determined by the model of the network, while the user's preference
receives a value for each file (or each category of files).
You have to determine the amound of data transferred on each netework. You can also
determine, for example, the average delay for a file on each netework, etc.
FLC described in OMNeT++ v5
- The code of the FLC can be found here
- Explanations about how to use the code can be found here