IP Library Granted Patent US 7,564,820
Granted Patent B2
US 7,564,820 · App. 10/983,499 · Granted Jul 21, 2009

Method and apparatus for resource allocation and scheduling

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,564,820
App. No.
10/983,499
Granted
Jul 21, 2009
Kind
B2
Abstract

A method and apparatus for resource allocation and scheduling within a wireless communication system is provided herein. During resource allocation, a maximum total system transmit power (P), a maximum number of codes available (N), a maximum number of codes for each user in the system (N=(N 1 , . . . , N d )), a maximum SINR value (S=(S 1 , . . . , S d )) for each user in the system, and a SINR per watt of transmit power for each user in the system (e=(e 1 , . . . , e d )) is received by a scheduler. Scheduler then outputs an optimal number of codes per user (n) and power levels per user to (p).

Claims (305)

1. A method for resource allocation, the method comprising:

receiving, at a scheduler, a maximum total system transmit power (P);

receiving, at a scheduler, a maximum number of system codes available (N);

receiving, at a scheduler, a maximum number of codes for each user in the system (N);

receiving, at a scheduler, a maximum SINR value (S) for each user in the system;

receiving, at a scheduler, a SINR per watt of transmit power value for each user in the system (e);

determining an optimal number of codes per user (n) and optimal power levels per user (p) based on P, N, N, S, and e comprising maximizing a dot product of a weight vector as a function of a throughput/queue length w t =(w 1 (W 1,t Q 1,t ), . . . , w d (W d,t Q d,t )) and a rate vector r t to be selected at a scheduling time t, where:

w t =(w 1,t , . . . , w d,t ) is a weight vector,

w t =(w 1,t , . . . , w d,t ) is a vector of estimates of user throughputs,

Q t =(Q 1,t , . . . , Q d,t ) is the vector of user queue lengths or delays,

r t =(r 1,t , . . . , r d,t ) is a rate vector selected, and d is the number of users; and

scheduling, at a scheduler, users with operating parameters based on n and p.

2. The method of claim 1 further comprising determining an optimal rate for each user (r) based on n and p.

3. The method of claim 1 wherein determining n and p comprises maximizing a dot product of a weight vector as a function of a throughput/queue length w t =(w 1 (W 1,t Q 1,t ), . . . , w d (W d,t Q d,t )) and a rate vector r t to be selected at a scheduling time t, where:

w t =(w 1,t , . . . , w d,t ) is a weight vector,

W t =(W 1,t , . . . , W d,t ) is a vector of estimates of user throughputs,

Q t =(W 1,t , . . . , Q d,t ) is the vector of user queue lengths or delays,

r t =(r 1,t , . . . , r d,t ) is a rate vector selected, and

d is the number of users.

4. A method for resource allocation, the method comprising:

receiving, at a scheduler, a maximum total system transmit power (P);

receiving, at a scheduler, a maximum number of system codes available (N);

receiving, at a scheduler, a maximum number of codes for each user in the system (N);

receiving, at a scheduler, a maximum SINR value (S) for each user in the system;

receiving, at a scheduler, a SINR per watt of transmit power value for each user in the system (e);

determining, at a scheduler, an optimal number of codes per user (n) and optimal power levels per user (p) based on P, N, N, S, and e comprising the step of determining:

V *:=max (n,p)εχ V ( n,p )

subject to

i

n

i

N

i

p

i

P

where

V

(

n

,

p

)

:=

i

w

i

n

i

ln

(

1

+

p

i

e

i

n

i

)

χ

:=

{

(

n

,

p

)

0

:

n

i

N

i

,

p

i

S

i

n

i

/

e

i

i

}

,

w is the vector of weights w i s,

e is the vector of SINR per watt of transmit power e i s,

S is the vector of maximum SINR S i s,

w i =ƒ i (W i , Q i ),and

where

W=(W 1 , . . . , W d ) is estimated throughput vector for all the users,

Q=(Q 1 , . . . , Q d ) is queue length or delay vector for all the users, and

ƒ i is some function of the throughput and/or queue length for user i and it depends on the QoS class and parameters for user i.

5. The method of claim 4 further comprising determining an optimal rate for each user (r) based on n and p.

6. A method for resource allocation, the method comprising:

determining, at a scheduler, a value for an optimal number of codes per user (n) within a communication system comprising calculating n=n*(λ*, μ*(λ*)) where

λ* is an optimal Lagrange multiplier for a power constraint;

μ*(λ) is a optimal Lagrange multiplier μ for a code constraint (as a function of the Langrange multiplier for the power constraint λ), and

n* (λ, μ) is an optimal code allocation as a function of λ, μ; and

determining, at a scheduler, an optimal rate per user (r) and an optimal power per user (p) based on n.

7. The method of claim 6 wherein the step of determining the value for n, comprises the step of receiving a pre-determined value for n.

8. A method for resource allocation, the method comprising:

determining, at a scheduler, a value for an optimal number of codes per user (n) within a communication system; and

determining, at a scheduler, an optimal rate per user (r) and an optimal power per user (p) based on n comprising the step of:

calculating n=p*(n)=p*(n, λ* (n));

where

λ*(n) is an optimal Lagrange multiplier for the power constraint; and

p*(n, λ) is the optimal power allocation as a function of n, λ.

9. The method of claim 8 wherein the step of determining the value for n, comprises the step of receiving a pre-determined value for n.

10. A method of resource allocation, the method comprising:

determining, at a scheduler, a value for n, comprising the steps of:

sorting, at a scheduler, users in descending order based on a metric that is a function of w i and e i , where e i is a SINR per watt of transmit power value and w i is the gradient/weight for each user i in the system;

determining, at a scheduler, a smallest j* such that

i

=

1

j

*

-

1

N

i

<

N

i

=

1

j

*

N

i

determining, at a scheduler, n such that

n

i

=

{

N

i

i

<

j

*

N

-

i

=

1

j

-

1

N

i

i

=

j

*

0

i

>

j

*

,

and

determining, at a scheduler, an optimal rate per user (r) and an optimal power per user (ii) based on n.

11. An apparatus comprising:

a scheduler receiving a maximum total system transmit power (P), a maximum number of system codes available (N), a maximum number of codes for each user in the system (N), a maximum SINR value (S) for each user in the system, and a SINR per watt of transmit power value for each user in the system (e), the scheduler outputting an optimal number of codes per user (n) and optimal power levels per user (p) based on P, N, N, S, and e and wherein n and p are determined by maximizing a dot product of a weight vector as a function of the throughput/queue length w t =(w 1 (W 1,t Q 1,t ), . . . , w d (W d,t Q d,t )) and a rate vector r t to be selected at a scheduling time t, where:

w t =(w 1,t , . . . , w d,t ) is a weight vector,

W t =(W 1,t , . . . , W d,t ) is a vector of estimates of user throughputs,

Q t =(Q 1,t , . . . , Q d,t ) is the vector of user queue lengths,

r t =(r 1,t , . . . , r d,t ) is a rate vector selected and d is the number of users.

12. The apparatus of claim 11 further comprising:

a controller scheduling transmissions to users with physical layer operating points based on n and p.

13. An apparatus comprising:

a scheduler receiving a maximum total system transmit power (P), a maximum number of system codes available (N), a maximum number of codes for each user in the system (N), a maximum STNR value (S) for each user in the system, and a SINR per watt of transmit power value for each user in the system (e), the scheduler outputting an optimal number of codes per user (n) and optimal power levels per user (p) based on P, N, N, S, and e and wherein n and p determined by computing:

V *:=max (n,p)εχ V ( n,p )

subject to

i

n

i

N

i

p

i

P

where

V

(

n

,

p

)

:=

i

w

i

n

i

ln

(

1

+

p

i

e

i

n

i

)

χ

:=

{

(

n

,

p

)

0

:

n

i

N

i

,

p

i

S

i

n

i

/

e

i

i

}

,

e is the vector of SINR per watt of transmit power e i s,

w i =ƒ i (W i , Q i ), and

where

W=(W 1 , . . . , W d ) is estimated throughput vector for all the users,

Q=(Q 1 , . . . , Q d ) is queue length vector for all the users, and

ƒ i is a function of a throughput and/or queue length for user i.

14. The apparatus of claim 13 further comprising:

a controller scheduling transmissions to users with physical layer operating points based on n and p.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2015
From: MOTOROLA MOBILITY LLC
To: GOOGLE TECHNOLOGY HOLDINGS LLC
Reel/Frame 035379/0116 →
CHANGE OF NAME Recorded Oct 2, 2012
From: MOTOROLA MOBILITY, INC.
To: MOTOROLA MOBILITY LLC
Reel/Frame 029216/0282 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 15, 2012
From: MOTOROLA, INC.
To: MOTOROLA MOBILITY, INC.
Reel/Frame 027935/0808 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 8, 2004
From: BERRY, RANDALL
To: NORTHWESTERN UNIVERSITY
Reel/Frame 015970/0896 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 8, 2004
From: SUBRAMANIAN, VIJAY G.; AGRWAL, RAJEEV
To: MOTOROLA, INC.
Reel/Frame 015970/0965 →