U.S. patent application number 10/419471 was filed with the patent office on 2004-04-15 for method and apparatus for priority management of system algorithms in real time.
This patent application is currently assigned to InterDigital Technology Corporation. Invention is credited to Lu, Guang.
Application Number | 20040071114 10/419471 |
Document ID | / |
Family ID | 32073462 |
Filed Date | 2004-04-15 |
United States Patent
Application |
20040071114 |
Kind Code |
A1 |
Lu, Guang |
April 15, 2004 |
Method and apparatus for priority management of system algorithms
in real time
Abstract
A method for management of real-time system algorithms to
achieve optimal efficiency which provides for dynamically managing
priorities in a complex real-time system, considering the dynamic
requirements of the system. A preferred embodiment describes the
management of a plurality of RRM algorithms, including algorithms
for SCC escape, LM escape, SCC rate control, and F-DCA background.
More specifically, one exemplary embodiment assists in deciding:
when to increase algorithm priorities, how to increase/decrease
algorithm priorities, how to assign priority parameters, and how to
dynamically manage priorities in the system, to result in optimal
system efficiency.
Inventors: |
Lu, Guang; (Verdun,
CA) |
Correspondence
Address: |
VOLPE AND KOENIG, P.C.
DEPT. ICC
UNITED PLAZA, SUITE 1600
30 SOUTH 17TH STREET
PHILADELPHIA
PA
19103
US
|
Assignee: |
InterDigital Technology
Corporation
Wilmington
DE
|
Family ID: |
32073462 |
Appl. No.: |
10/419471 |
Filed: |
April 21, 2003 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
60417529 |
Oct 10, 2002 |
|
|
|
Current U.S.
Class: |
370/332 |
Current CPC
Class: |
H04W 28/18 20130101 |
Class at
Publication: |
370/332 |
International
Class: |
H04Q 007/00 |
Claims
What is claimed is:
1. A method for selecting an algorithm from a plurality of
algorithms employed in a wireless communications system, each
algorithm being provided to cure or ease a particular condition,
comprising: a) assigning a priority level, taken from priority
levels P.sub.1, P.sub.2, P.sub.3 . . . P.sub.n, to each algorithm
wherein priority level P.sub.n is a highest priority level; b)
assigning a parameter to each algorithm wherein a same parameter is
assigned to algorithms of a same priority level; c) selecting an
algorithm wherein, when two or more algorithms are associated with
a given condition, that algorithm having a higher priority is
selected; d) accumulating a number of times an algorithm has been
consecutively selected; and e) retaining a priority level assigned
to the selected algorithm when the number accumulated in step (d)
is less than a given number.
2. The method of claim 1 wherein step (e) further comprises:
changing the priority level when the number accumulated in step (d)
is at least equal to said given number.
3. The method of claim 1 wherein step (d) further comprises:
performing said selected algorithm.
4. The method of claim 1 further comprising: f) lowering a priority
level of the selected algorithm when it has been consecutively
selected said given number of times and its priority level has not
been lowered below a lowest allowed priority.
5. The method of claim 4 wherein step (f) includes: lowering the
priority level by two (2) levels.
6. The method of claim 4 wherein step (f) further comprises:
preventing said algorithm from being performed.
7. The method of claim 4 further comprising: executing the selected
algorithm when its priority level priority has been lowered to a
lowest allowable priority; and preventing the algorithm from having
its present priority level lowered.
8. The method of claim 5 further comprising searching for an
algorithm with a lower priority level to ease or cure the existing
condition.
9. A method for selecting an algorithm from a plurality of
algorithms employed in a wireless communications system, each
algorithm being provided to cure or ease a particular condition,
comprising: a) assigning a priority level, taken from priority
levels P.sub.1, P.sub.2, P.sub.3 . . . P.sub.n , to each algorithm
wherein priority level P.sub.n is a highest priority level; b)
assigning a parameter to each algorithm wherein a same parameter is
assigned to algorithms of a same priority level; c) decreasing the
priority level of a selected algorithm when conditions indicate it
is not favorable to perform the algorithm.
10. The method of claim 9 wherein step (c) further includes: d)
decreasing the priority level of the selected algorithm when it is
at a condition which is one of reaching its lowest permitted
priority level and has its priority decreased a given number of
times.
11. The method of claim 9 wherein step (b) includes: (e) preventing
selection of the algorithm.
12. The method of claim 10 wherein step (c) further includes:
waiting for selection of an algorithm with a new priority
level.
13. The method of claim 9 wherein step (b) further includes: (c)
determining if there is another algorithm to choose when neither
condition in step (b) is achieved.
14. The method of claim 13 wherein step (c) further includes: (d)
repeating step (b).
15. The method of claim 13 further comprising: returning to step
(a) when there are no other algorithms to choose.
16. A method for selecting an algorithm from a plurality of
algorithms employed in a wireless communications system, each
algorithm being provided to cure or ease a particular condition,
comprising: a) assigning a priority level, taken from priority
levels P.sub.1, P.sub.2, P.sub.3 . . . P.sub.n, to each algorithm
wherein priority level P.sub.n is a highest priority level; b)
assigning a parameter to each algorithm wherein a same parameter is
assigned to algorithms of a same priority level; c) selecting an
algorithm wherein, when two or more algorithms are associated with
a given condition, that algorithm having a higher priority is
selected; d) accumulating a number of times an algorithm has been
consecutively selected; and e) increasing the priority level of the
selected algorithm when its priority level has achieved one of two
conditions including a lowest allowable level and a maximum number
of reductions of the priority level.
17. The method of claim 16 wherein step (e) includes increasing the
priority level by two (2) levels.
18. The method of claim 17 further including executing the selected
algorithm.
19. A method for selecting an algorithm from a plurality of
algorithms employed in a wireless communications system, each
algorithm being provided to cure or ease a particular condition,
comprising: a) assigning a priority level, taken from priority
levels P.sub.1, P.sub.2, P.sub.3 . . . P.sub.n, to each algorithm
wherein priority level P.sub.n is a highest priority level; b)
assigning a parameter to each algorithm wherein a same parameter is
assigned to algorithms of a same priority level; c) selecting an
algorithm wherein, when two or more algorithms are associated with
a given condition, that algorithm having a higher priority is
selected; d) accumulating a number of times an algorithm has been
consecutively selected at a given priority level; and e) increasing
the priority level of the selected algorithm when the selected
algorithm has been selected a given number of times at its present
priority level.
20. The method of claim 19 wherein step (e) includes increasing the
priority level by two (2) levels.
21. The method of claim 20 further including: executing the
selected algorithm.
22. A method for selecting an algorithm from a plurality of
algorithms employed in a wireless communications system, each
algorithm being provided to cure or ease a particular condition,
comprising: a) assigning a priority level, taken from priority
levels P.sub.1, P.sub.2, P.sub.3 . . . P.sub.n, to each algorithm
wherein priority level P.sub.n is a highest priority level; b)
assigning a parameter to each algorithm wherein a same parameter is
assigned to algorithms of a same priority level; c) selecting an
algorithm wherein, when two or more algorithms are associated with
a given condition, that algorithm having a higher priority is
selected; d) decreasing the priority level of the selected
algorithm when it has been consecutively selected a given number of
times; e) setting a timer when the priority level of the selected
algorithm has been decreased; and f) increasing the priority level
of the selected algorithm when the timer times out before the
algorithm is selected.
23. A method for selecting an algorithm from a plurality of
algorithms employed in a wireless communications system, each
algorithm being provided to cure or ease a particular condition,
comprising: a) assigning a priority level, taken from priority
levels P.sub.1, P.sub.2, P.sub.3 . . . P.sub.n, to each algorithm
wherein priority level P.sub.n is a highest priority level; b)
assigning a parameter to each algorithm wherein a same parameter is
assigned to algorithms of a same priority level; c) selecting an
algorithm wherein, when two or more algorithms are associated with
a given condition, that algorithm having a higher priority is
selected; d) increasing the priority level of the selected
algorithm when it has been consecutively selected a given number of
times; e) setting a timer when the priority level of the selected
has been decreased; and f) decreasing the priority level of the
selected algorithm when the timer times out before the algorithm is
selected.
24. A method for selecting an algorithm from a plurality of
algorithms employed in a wireless communications system, each
algorithm being provided to cure or ease a particular condition,
comprising: a) assigning a priority level, taken from priority
levels P.sub.1, P.sub.2, P.sub.3 . . . P.sub.n, to each algorithm
wherein priority level P.sub.n is a highest priority level; b)
assigning a parameter to each algorithm wherein a same parameter is
assigned to algorithms of a same priority level; c) selecting an
algorithm wherein, when two or more algorithms are associated with
a given condition, that algorithm having a higher priority is
selected; d) accumulating a number of times an algorithm has been
consecutively selected and has failed to cure or ease a condition;
and e) reducing the priority level assigned to the selected
algorithm when the number accumulated in step (d) is at least equal
to said given number.
25. A method for selecting an algorithm from a plurality of
algorithms employed in a wireless communications system, each
algorithm being provided to cure or ease a particular condition,
comprising: a) assigning a priority level, taken from priority
levels P.sub.1, P.sub.2, P.sub.3 . . . P.sub.n, to each algorithm
wherein priority level P.sub.n is a highest priority level; b)
assigning a parameter to each algorithm wherein a same parameter is
assigned to algorithms of a same priority level; c) selecting an
algorithm for use; d) accumulating a number of times an algorithm
whose priority level has been reduced has been consecutively
selected; e) forming a product of the count accumulated at step (d)
with the priority level assigned to the selected algorithm; and f)
reducing the priority level assigned to the selected algorithm when
the product formed at step (e) is at least equal to a given
number.
26. A method for selecting an algorithm from a plurality of
algorithms employed in a wireless communications system, each
algorithm being provided to cure or ease a particular condition,
comprising: a) assigning a priority level, taken from priority
levels P.sub.1, P.sub.2, P.sub.3 . . . P.sub.n, to each algorithm
wherein priority level P.sub.n is a highest priority level; b)
assigning a parameter to each algorithm wherein a same parameter is
assigned to algorithms of a same priority level; c) selecting an
algorithm for use; d) accumulating a number of times an algorithm
whose priority level has been reduced has been consecutively
selected; and e) increasing the priority level of the selected
algorithm when the number accumulated in step (d) is at least equal
to said given number.
27. A method for selecting an algorithm from a plurality of
algorithms employed in a wireless communications system, each
algorithm being provided to cure or ease a particular condition,
comprising: a) assigning a priority level, taken from priority
levels P.sub.1, P.sub.2, P.sub.3 . . . P.sub.n, to each algorithm
wherein priority level P.sub.n is a highest priority level; b)
assigning a parameter to each algorithm wherein a same parameter is
assigned to algorithms of a same priority level; c) selecting an
algorithm for use; d) accumulating a number of times an algorithm
whose priority level has been reduced has been consecutively
selected; e) dividing the number accumulated at step (d) by a
present priority level of the selected algorithm; and f) increasing
the priority level assigned to the selected algorithm when the
number obtained in step (e) is at least equal to a given
number.
28. A method for selecting an algorithm from a plurality of
algorithms employed in a wireless communications system, each
algorithm being provided to cure or ease a particular condition,
comprising: a) assigning a priority level, taken from priority
levels P.sub.1, P.sub.2, P.sub.3 . . . P.sub.n, to each algorithm
wherein priority level P.sub.n is a highest priority level; b)
assigning a parameter to each algorithm wherein a same parameter is
assigned to algorithms of a same priority level; c) selecting an
algorithm wherein, when two or more algorithms are associated with
a given condition, that algorithm having a higher priority is
selected; d) accumulating a number of times an algorithm has been
consecutively selected and has failed to cure or ease a condition;
e) forming a product of the number accumulated at step with the
priority level of the selected algorithm; and f) increasing the
priority of the selected algorithm when the product obtained in
step (e) is at least equal to a given number.
29. Apparatus for selecting an algorithm from a plurality of
algorithms employed in a wireless communications system, each
algorithm being provided to cure or ease a particular condition,
comprising: a) means for assigning a priority level, taken from
priority levels P.sub.1, P.sub.2, P.sub.3 . . . P.sub.n, to each
algorithm wherein priority level P.sub.n is a highest priority
level; b) means for assigning a parameter to each algorithm wherein
a same parameter is assigned to algorithms of a same priority
level; c) means for selecting an algorithm wherein, when two or
more algorithms are associated with a given condition, that
algorithm having a higher priority is selected; d) means for
accumulating a number of times an algorithm has been consecutively
selected; and e) means for retaining a priority level assigned to
the selected algorithm when the number accumulated in said
accumulating means is less than a given number.
30. The apparatus of claim 29 wherein said means for retaining
further comprises: means for changing the priority level when the
number accumulated in the accumulating means is at least equal to
said given number.
31. The apparatus of claim 29 further comprising: means for
lowering a priority level of the selected algorithm when it has
been consecutively selected said given number of times and its
priority level has not been lowered below a lowest allowed
priority.
32. The apparatus of claim 31 wherein said means for lowering
includes: means for lowering the priority level by two (2)
levels.
33. The apparatus of claim 31 wherein said means for retaining
further comprises: preventing said algorithm from being
performed.
34. The apparatus of claim 31 further comprising: means for
executing the selected algorithm when its priority level priority
has been lowered to a lowest allowable priority; and preventing the
algorithm from having its present priority level lowered.
35. Apparatus for selecting an algorithm from a plurality of
algorithms employed in a wireless communications system, each
algorithm being provided to cure or ease a particular condition,
comprising: means for assigning a priority level, taken from
priority levels P.sub.1, P.sub.2, P.sub.3 . . . P.sub.n, to each
algorithm wherein priority level P.sub.n is a highest priority
level; means for assigning a parameter to each algorithm wherein a
same parameter is assigned to algorithms of a same priority level;
means for decreasing the priority level of a selected algorithm
when conditions indicate it is not favorable to perform the
algorithm.
36. The apparatus of claim 35 wherein said means for decreasing
further includes: means for decreasing the priority level of the
selected algorithm when it is at a condition which is one of
reaching its lowest permitted priority level and has its priority
decreased a given number of times.
37. The apparatus of claim 35 wherein said means for assigning
includes: means for preventing selection of the algorithm.
38. Apparatus for selecting an algorithm from a plurality of
algorithms employed in a wireless communications system, each
algorithm being provided to cure or ease a particular condition,
comprising: means for assigning a priority level, taken from
priority levels P.sub.1, P.sub.2, P.sub.3 . . . P.sub.n, to each
algorithm wherein priority level P.sub.n is a highest priority
level; means for assigning a parameter to each algorithm wherein a
same parameter is assigned to algorithms of a same priority level;
means for selecting an algorithm wherein, when two or more
algorithms are associated with a given condition, that algorithm
having a higher priority is selected; means for accumulating a
number of times an algorithm has been consecutively selected; and
means for increasing the priority level of the selected algorithm
when its priority level has achieved one of two conditions
including a lowest allowable level and a maximum number of
reductions of the priority level.
39. The apparatus of claim 38 wherein said means for increasing
includes means for increasing the priority level by two (2)
levels.
40. The apparatus of claim 39 further including means for executing
the selected algorithm.
41. Apparatus for selecting an algorithm from a plurality of
algorithms employed in a wireless communications system, each
algorithm being provided to cure or ease a particular condition,
comprising: means for assigning a priority level, taken from
priority levels P.sub.1, P.sub.2, P.sub.3 . . . P.sub.n, to each
algorithm wherein priority level P.sub.n is a highest priority
level; means for assigning a parameter to each algorithm wherein a
same parameter is assigned to algorithms of a same priority level;
means for selecting an algorithm wherein, when two or more
algorithms are associated with a given condition, that algorithm
having a higher priority is selected; means for accumulating a
number of times an algorithm has been consecutively selected at a
given priority level; and means for increasing the priority level
of the selected algorithm when the selected algorithm has been
selected a given number of times at its present priority level.
42. The apparatus of claim 41 wherein said means for increasing
includes means for increasing the priority level by two (2)
levels.
43. Apparatus for selecting an algorithm from a plurality of
algorithms employed in a wireless communications system, each
algorithm being provided to cure or ease a particular condition,
comprising: means for assigning a priority level, taken from
priority levels P.sub.1, P.sub.2, P.sub.3 . . . P.sub.n, to each
algorithm wherein priority level P.sub.n is a highest priority
level; means for assigning a parameter to each algorithm wherein a
same parameter is assigned to algorithms of a same priority level;
means for selecting an algorithm wherein, when two or more
algorithms are associated with a given condition, that algorithm
having a higher priority is selected; means for decreasing the
priority level of the selected algorithm when it has been
consecutively selected a given number of times; means for setting a
timer when the priority level of the selected algorithm has been
decreased; and means for increasing the priority level of the
selected algorithm when the timer times out before the algorithm is
selected.
44. Apparatus for selecting an algorithm from a plurality of
algorithms employed in a wireless communications system, each
algorithm being provided to cure or ease a particular condition,
comprising: means for assigning a priority level, taken from
priority levels P.sub.1, P.sub.2, P.sub.3 . . . P.sub.n, to each
algorithm wherein priority level P.sub.n is a highest priority
level; means for assigning a parameter to each algorithm wherein a
same parameter is assigned to algorithms of a same priority level;
means for selecting an algorithm wherein, when two or more
algorithms are associated with a given condition, that algorithm
having a higher priority is selected; means for increasing the
priority level of the selected algorithm when it has been
consecutively selected a given number of times; means for setting a
timer when the priority level of the selected algorithm has been
increased; and means for decreasing the priority level of the
selected algorithm when the timer times out before the algorithm is
selected.
45. Apparatus for selecting an algorithm from a plurality of
algorithms employed in a wireless communications system, each
algorithm being provided to cure or ease a particular condition,
comprising: means for assigning a priority level, taken from
priority levels P.sub.1, P.sub.2, P.sub.3 . . . P.sub.n, to each
algorithm wherein priority level P.sub.n is a highest priority
level; means for assigning a parameter to each algorithm wherein a
same parameter is assigned to algorithms of a same priority level;
means for selecting an algorithm wherein, when two or more
algorithms are associated with a given condition, that algorithm
having a higher priority is selected; means for accumulating a
number of times an algorithm has been consecutively selected and
has failed to cure or ease a condition; and means for reducing the
priority level assigned to the selected algorithm when the number
accumulated by said accumulating means is at least equal to said
given number.
46. Apparatus for selecting an algorithm from a plurality of
algorithms employed in a wireless communications system, each
algorithm being provided to cure or ease a particular condition,
comprising: means for assigning a priority level, taken from
priority levels P.sub.1, P.sub.2, P.sub.3 . . . P.sub.n, to each
algorithm wherein priority level P.sub.n is a highest priority
level; means for assigning a parameter to each algorithm wherein a
same parameter is assigned to algorithms of a same priority level;
means for selecting an algorithm for use; means for accumulating a
number of times an algorithm whose priority level has been reduced
has been consecutively selected; means for forming a product of the
count accumulated by said accumulating means with the priority
level assigned to the selected algorithm; and means for reducing
the priority level assigned to the selected algorithm when the
product formed by said product forming means is at least equal to a
given number.
47. Apparatus for selecting an algorithm from a plurality of
algorithms employed in a wireless communications system, each
algorithm being provided to cure or ease a particular condition,
comprising: means for assigning a priority level, taken from
priority levels P.sub.1, P.sub.2, P.sub.3 . . . P.sub.n, to each
algorithm wherein priority level P.sub.n is a highest priority
level; means for assigning a parameter to each algorithm wherein a
same parameter is assigned to algorithms of a same priority level;
means for selecting an algorithm for use; means for accumulating a
number of times an algorithm whose priority level has been reduced
has been consecutively selected; and means for increasing the
priority level of the selected algorithm when the number
accumulated by said accumulating means is at least equal to said
given number.
48. Apparatus for selecting an algorithm from a plurality of
algorithms employed in a wireless communications system, each
algorithm being provided to cure or ease a particular condition,
comprising: means for assigning a priority level, taken from
priority levels P.sub.1, P.sub.2, P.sub.3 . . . P.sub.n, to each
algorithm wherein priority level P.sub.n is a highest priority
level; means for assigning a parameter to each algorithm wherein a
same parameter is assigned to algorithms of a same priority level;
means for selecting an algorithm for use; means for accumulating a
number of times an algorithm whose priority level has been reduced
has been consecutively selected; means for dividing the number
accumulated by said accumulating means by a present priority level
of the selected algorithm; and means for increasing the priority
level assigned to the selected algorithm when the number obtained
in step (e) is at least equal to a given number.
49. Apparatus for selecting an algorithm from a plurality of
algorithms employed in a wireless communications system, each
algorithm being provided to cure or ease a particular condition,
comprising: means for assigning a priority level, taken from
priority levels P.sub.1, P.sub.2, P.sub.3 . . . P.sub.n, to each
algorithm wherein priority level P.sub.n is a highest priority
level; means for assigning a parameter to each algorithm wherein a
same parameter is assigned to algorithms of a same priority level;
means for selecting an algorithm wherein, when two or more
algorithms are associated with a given condition, that algorithm
having a higher priority is selected; means for accumulating a
number of times an algorithm has been consecutively selected and
has failed to cure or ease a condition; means for forming a product
of the number accumulated at step with the priority level of the
selected algorithm; and means for increasing the priority of the
selected algorithm when the product obtained by said means for
forming is at least equal to a given number.
Description
CROSS REFERENCE TO RELATED APPLICATION(S)
[0001] This application claims priority from U.S. provisional
application No. 60/417,529, filed on Oct. 10, 2002, which is
incorporated by reference as if fully set forth herein.
FIELD OF INVENTION
[0002] This invention relates generally to complex real time
systems in wireless communications, and more particularly to a
method for dynamically managing the priority of system algorithms
to achieve optimal efficiency.
BACKGROUND
[0003] The following are expansions for certain acronyms used in
this application:
[0004] SCC slow congestion control
[0005] F-DCA fast dynamic channel allocation
[0006] LM link maintenance
[0007] C-RNC controlling radio network controller
[0008] There is an ever-increasing need to achieve enhanced
efficiency of operation in complex communication systems, and, the
need is even greater in management of real time systems that use a
plurality of algorithms.
[0009] In complex real-time systems, it is desirable to use
priority-handling mechanisms on processes to achieve optimal
efficiency. The RRM (Radio Resource Management) algorithms fall
into the above category. Traditional fixed-priority handling
mechanisms work well in small and stable systems. However, the
wireless communication environment is very dynamic and complex. It
is necessary and beneficial that the execution priority of the
algorithms can be changed according to the most current system
status.
[0010] Prior art offers information in patent publications that
deal with operating system scheduling and packet scheduling, for
example. The following are examples of U.S. Patents generally in
the field of networks:
[0011] In U.S. Pat. No. 6,453,360, titled "High Performance Network
Interface", a high performance network interface is provided for
receiving a packet from a network and transferring it to a host
computer system. A header portion of a received packet is parsed by
a parser module to determine the received packet's compatibility
with, or conformance to, one or more pre-selected protocols.
Packets are stored in multiple queues with priorities.
[0012] U.S. Pat. No. 6,452,915, titled "IP-flow Classification in a
Wireless Point To Multi-Point (PTMP) Transmission System", is
directed to an IP-flow classification system used in a wireless
telecommunications system. More specifically, the IP flow
classification system in said U.S. Patent provides for grouping
IP-flows from a packet-centric wireless point to a multi-point
telecommunications system. A quality of service (QoS) grouping
device therein may include an optional differentiated services
(Diff-Serv) device that takes into account an optional Diff-Serv
field priority-marking for the IP-flow.
[0013] In U.S. Pat. No. 6,449,251, titled "Packet Mapper for
Dynamic Data Packet Prioritization", a packet-mapper maps streams
of data packets in a computer network, each data packet having a
packet header containing feature values descriptive of the data
packet. The packet-mapper includes a mapping table that associates
application-related feature values with network-reserved feature
values from a range of feature values reserved for use by selected
network data packet streams. Prioritization in said U.S. Patent is
achieved by assigning a port-number for packets.
[0014] The above examples of U.S. Pat. publications are, however,
not directly applicable to management of and scheduling between
different RRM algorithms, and do not take into account system
status.
[0015] It is desirable to provide a method of dynamically managing
system algorithms, e.g., RRM algorithms, so as to achieve optimal
efficiency.
SUMMARY
[0016] The present invention provides a method of dynamically
managing system algorithms in wireless communications, considering
system status in real time. The present invention recognizes that
in general, in complex real-time systems such as wireless systems,
it is very desirable to use priority-handling mechanisms on the
processes to achieve optimal efficiency. RRM is a collection of
relatively independent algorithms whose common purpose is to manage
the scarce radio resources efficiently. For example, although the
purpose of each RRM algorithm may be somewhat independent of the
other, the algorithms may end up acting on similar objects (e.g.,
one algorithm may want to reduce the rate of the link, whereas
another may want to move it to another timeslot). To achieve
optimal results, the algorithms should be executed in a timely
manner. However, it is not efficient for the algorithms to be
running at the same time trying to solve the same problem.
Moreover, the best solution at one time may not be the best
solution at another time due to the quick and unpredictable changes
of system status and system-performance in the wireless
environment.
[0017] The present inventive method of dynamic priority management
provides an efficient way to prioritize different algorithms in a
fast changing environment. It can be applied to, but is not limited
to the RRM system. The inventive method is general and targets
different types of complex and dynamic real-time systems.
[0018] As described hereinafter, a preferred embodiment provides a
method for dynamic priority management of system algorithms. It is
especially suitable for large, complex and dynamic systems such as
wireless communication systems. Specifically, the following aspects
of the inventive method are addressed hereinafter:
[0019] a) when to increase or decrease algorithm priorities,
[0020] b) how to increase or decrease algorithm priorities,
[0021] c) how to assign priority parameters, and
[0022] d) how to dynamically manage priorities in the system.
[0023] The inventive method provides at least the following
advantages:
[0024] avoidance of the higher priority algorithms always
triggering above lower priority algorithms even though they are not
the best candidates to solve a problem under certain circumstances,
and the ability to change priorities of the algorithms according to
the latest system status and performance so that algorithms are
executed in an optimal order and in a timely manner.
BRIEF DESCRIPTION OF THE FIGURES
[0025] A more detailed understanding of the invention may be had
from the following description of a preferred embodiment, given by
way of example and to be understood in conjunction with the
accompanying drawings wherein:
[0026] FIG. 1 is a flowchart showing the process steps applicable
to the preferred embodiment, to illustrate the decrease of
priority; and,
[0027] FIG. 2 is a flowchart showing the process steps applicable
to the preferred embodiment, to illustrate the increase of
priority.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT(S)
[0028] Described hereinafter is a preferred embodiment of the
inventive method of managing RRM algorithms, as an example, for
obtaining optimum efficiency. For managing a plurality of
algorithms, the following exemplary method steps may be noted:
[0029] a) define algorithm priority levels as P.sub.1, P.sub.2, . .
. , P.sub.n (1 . . . n are consecutive integers), where P.sub.n has
the highest priority. These predefined priority levels are the
original priority designations for each algorithm, and
[0030] b) define the same priority parameters for algorithms within
the same priority level. Priority parameters are those parameters
that affect the trigger of an algorithm and they vary in different
systems. In the RRM system, the priority parameters can include
thresholds, filtering of a measurement, `n` out of `m` measurements
that trigger an algorithm, and an algorithm periodical timer.
[0031] In a normal situation, the algorithms should be executed in
the order of P.sub.n , P.sub.n-1, . . . , and P.sub.1 if they are
triggered at the same time.
[0032] If, after the execution(s) of an algorithm, the problem is
not solved (e.g., measurement exceeds threshold again), the
priority of the algorithm should be decreased so that algorithms
with lower priority can take action.
[0033] The method to decrease priority is:
[0034] c) When to decrease the algorithm priority:
[0035] There can be multiple reasons to decrease a priority level
of an algorithm:
[0036] aa. Decrease the priority to optimize interaction of the
algorithms.
[0037] Option 1: A simple approach is to define a fixed parameter
for all algorithms of all priority levels, as F.F is the number of
consecutive times that the algorithm failed to solve the problem.
After F times of the execution, the priority of the algorithm
should be decreased as described in step (d) below.
[0038] Option 2: Use the priority level P.sub.n as a weight
parameter. F is the number of consecutive times that the algorithm
failed to solve the problem. The priority of the algorithm
decreases after P.sub.n*F times' execution. This is to provide
algorithms with higher priority a "higher priority" to stay in
their current priority, so that there are more chances that higher
priority algorithms solve the problem.
[0039] ab. Decrease the priority of an algorithm when it is
undesirable to execute it. An example is to adjust algorithm
priorities when the system environment has changed. Most likely the
change will be reflected in measurement results. The priority of an
algorithm can be decreased when a certain measurement has crossed a
threshold and the algorithm is not a favorable candidate under this
situation.
[0040] d) Decrease the priority level by 2, i.e., an algorithm with
priority of P.sub.n will have priority of P.sub.n-2. This is to
allow algorithms with priority level P.sub.n-1 to be executed.
[0041] e) Theoretically, there is no limit on how many times the
priority can be decreased. Practically, there should be a design
parameter to define the maximum number of decreases, or to define
the lowest priority level that an algorithm can be assigned.
[0042] f) When an algorithm has been decreased by the maximum
number of times, or it has reached its minimum priority level, the
priority change should be stopped.
[0043] g) In case there is more than one algorithm with the same
priority to be executed, the algorithms are chosen on a "first
come, first serve" basis.
[0044] Once the priority of an algorithm is decreased, it should be
restored, i.e., increased back, under certain circumstances. The
increase of the priority is similar to the decrease thereof except
that it is in the reverse order.
[0045] The method to increase the algorithm priority:
[0046] h) When to increase the algorithm priority:
[0047] a. Priority was decreased using step (c) aa
[0048] Option 1: Increase the priority when the algorithm has been
triggered again for the N.sub.th time after it has been decreased
(n=1, 2. . . ).
[0049] Option 2: Use the original priority level P.sub.n as a
weight parameter. N is the number of times that the algorithm has
been triggered again. The priority of the algorithm increases after
N/P.sub.n times' execution. This is to provide algorithms with
higher priority a "higher priority" to go back to or toward their
original priority.
[0050] b. Priority was decreased using step (c) ab
[0051] Increase the priority of an algorithm when it is
desirable.
[0052] i) Increases the priority level by 2, i.e., restore to the
last priority level.
[0053] j) Increase of priority stops when it has reached the
original priority of the algorithm.
[0054] k) In case there is more than one algorithm with the same
priority to be executed, the algorithms are chosen on a "first
come, first serve" basis.
[0055] l) Priority is increased after time T has been decreased. T
is a design parameter. The time should be relatively long, for
example, greater than the time interval of n times' executions of
the algorithm. This is to make sure that an algorithm does not stay
with priority lower than its original one in case it is not
triggered for a long time.
[0056] The following is an example of the application of the
inventive method for management and priority handling of the RRM
algorithms.
[0057] Example: Assign priorities of the RRM algorithms as follows.
This is the original priority of the algorithms under a normal
situation. Note that algorithms within the same priority level have
the same priority parameters, for example, the thresholds, the
filtering of a measurement, the "n" out of "m" measurements that
trigger the algorithm.
1TABLE 1 Priority of C-RNC RRM Algorithms Priority Level Algorithms
in C-RNC P.sub.3 (highest) SCC Escape, LM Escape P.sub.2 (medium)
SCC Rate Control P.sub.1 (lowest) F-DCA Background
[0058] FIGS. 1 and 2 illustrate flowcharts of the operation using
the guidelines for priority increase and decrease as set forth
above. It is to be noted that the decision to increase or decrease
is associated with the point (A) in the diagrams, which are
separated for clarity. The steps in the two flowcharts are
self-explanatory. Two scenarios are addressed in the following
description.
[0059] Scenrio 1:
[0060] SCC Escape and SCC Rate Control work on a cell-basis. SCC
Escape algorithm may be given a higher priority since it is
designed to solve current problems (interference,power). SCC Rate
Control may be given a lower priority since it is designed to take
proactive action to avoid cell congestion.
[0061] Define that at priority level 3, SCC Escape algorithm is
triggered whenever it receives a bad measurement, and the
measurement may be reported every 500 ms. for example. At priority
level 2, SCC Rate Control algorithm, may be triggered every 3
seconds, for example.
[0062] if the SCC Escape algorithm cannot solve the problem after
it is triggered once (here it is assumed that F is 1), its priority
is decreased to 1, and it is assumed that it will be triggered 8
out of 10 measurements. So it may be triggered at least every 5
seconds, for example. This gives the SCC Rate Control algorithm the
chance to take action over the SCC Escape algorithm.
[0063] If after the priority decrease, SCC Escape algorithm and SCC
Rate Control algorithm are triggered at the same time, the SCC Rate
Control algorithm is given higher priority to run since its
priority level is higher.
[0064] If the SCC-Escape algorithm is triggered at priority level 1
(which means that the system may be experiencing a really bad
quality), its priority should be increased to 3 so that it will be
triggered more frequently.
[0065] If the SCC-Escape algorithm is not triggered for a period of
time T (it means the system recovers after other algorithms take
action), its priority should be increased back to 3.
[0066] Scenario 2:
[0067] F-DCA background is designed to equalize the load of the
timeslots and optimize system performance. It is not desirable to
run the system when it is overloaded. By dynamically decreasing the
priority of the F-DCA background (which may go below 0-), its
chances of running reduce, so that other higher priority algorithms
will have a chance to operate on the resources.
[0068] The foregoing is a description of a preferred embodiment and
an exemplary application of the invention to the RRM scenario,
wherein, an optimal dynamic management of the algorithms, e.g., SCC
Escape, LM Escape, SCC Rate Control, and F-DCA Background
algorithms, achieves an optimal efficiency.
[0069] Even though the example hereinabove makes references to RRM
algorithms, it is to be understood that the inventive concept of
dynamic management of system-algorithms is applicable to other
scenarios as well. * * *
* * * * *