IP Library Granted Patent US 7,746,779
Granted Patent B2
US 7,746,779 · App. 10/300,891 · Granted Jun 29, 2010

Method and apparatus for scheduling users to allocate data transmissions in communications systems

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,746,779
App. No.
10/300,891
Granted
Jun 29, 2010
Kind
B2
Abstract

In the method, scheduling of a plurality of users for receiving transmitted data is prioritized within a communications system. A next data transmission among the plurality of users is allocated based on the prioritized scheduling.

Claims (89)

1. A method of scheduling a plurality of users by allocating transmitted data to the users performed by a scheduler, comprising the steps of:

prioritizing, by the scheduler, the scheduling of the plurality of users for receiving transmitted data, including determining an average service rate for each user of the plurality of users, the average service rate being an arithmetic mean of a user's actual throughput over a time interval,

determining, by the scheduler, a priority value for each user based upon a requested service rate of each user and the determined average service rate, and

modifying, by the scheduler, at least one of the average service rate and the priority value for at least one user having an average service rate below a threshold, the threshold varying inversely with the number of users, said allocating transmitted data to the plurality of users performed based on at least one of the modified average service rate and modified priority value; and

allocating, by the scheduler, a next data transmission among the plurality of users based on the prioritized scheduling.

2. The method of claim 1 , wherein the modifying step further includes:

modifying at least one of the average service rate and the priority value based on the requested service rate of the at least one user.

3. The method of claim 1 , wherein the modifying step further includes:

lowering the priority value if the requested service rate of the at least one user is higher than requested service rates of other users, and

raising the priority value if the requested service rate is lower than requested service rates of other users.

4. The method of claim 1 , wherein the modifying step further includes:

modifying at least one of the average service rate and the priority value based on the average service rate of the at least one user.

5. The method of claim 1 , wherein the modifying step further includes:

lowering the priority value if the average service rate is higher than average service rates of other users, and

raising the priority value if the average service rate is lower than average service rates of other users.

6. The method of claim 1 , wherein the modifying step further includes:

modifying at least one of the average service rate and the priority value based upon at least one quality-of-service (QoS) parameter.

7. A method of scheduling a plurality of users to receive transmitted data performed by a scheduler, comprising the steps of:

calculating, by the scheduler, a function result based on the user perceived throughput of each user, the average user throughput, the maximum and the minimum user throughputs for each user, the function result based proportionally on the difference between an average user throughput over all active users and a user perceived throughput of each user, the average user throughput being an instantaneous arithmetic mean of all active actual user throughput, and

prioritizing, by the scheduler, the scheduling of the plurality of users for receiving transmitted data based on comparing a current function result to previous function results.

8. The method of claim 7 , wherein said step of prioritizing further includes:

selecting a function from a group of more than one function for use in the calculating step based on a value of each user perceived throughput as compared to at least one of the average user throughput, the maximum user throughput, and the minimum user throughput for each user.

9. The method of claim 7 , further comprising:

computing, by the scheduler, said average user throughput dynamically.

10. The method of claim 7 , wherein user perceived throughput of each user is configured so as to be within an operating range defined by a maximum user throughput for that user, and a minimum user throughput for that user.

11. The method of claim 10 , wherein said step of prioritizing further includes:

assigning a highest priority to a user whose actual throughput is below the minimum,

assigning a next highest priority to a user whose user perceived throughput is greater than the minimum but below the average user throughput, and

assigning lower priorities to users whose user perceived throughput is above the average user throughput or above the maximum of the operating range.

12. A method of scheduling a plurality of users to receive transmitted data performed by a scheduler, comprising the steps of:

computing, by the scheduler, an average user throughput over all active users, the average user throughput being an instantaneous arithmetic mean of all active actual user throughput,

calculating, by the scheduler, a function result for each user based proportionally on the difference between the computed average user throughput and a user perceived throughput of each user, and

prioritizing, by the scheduler, the scheduling of the plurality of users for receiving transmitted data based on comparing a current function result to previous function results.

13. The method of claim 12 , further comprising:

computing, by the scheduler, said average user throughput dynamically.

14. The method of claim 12 , wherein the user perceived throughput of each user is configured so as to be within an operating range defined by a maximum user throughput for that user, and a minimum user throughput for that user.

15. The method of claim 14 , wherein said step of prioritizing further includes:

assigning a highest priority to a user whose user perceived throughput is below the minimum,

assigning a next highest priority to a user whose user perceived throughput is greater than the minimum but below the average user throughput, and

assigning lower priorities to users whose user perceived throughput is above the average user throughput or above the maximum of the operating range.

16. The method of claim 14 , wherein said step of prioritizing further includes:

selecting a function from a group of more than one function for use in the calculating step based on a value of each user perceived throughput as compared to at least one of the average user throughput, the maximum user throughput, and the minimum user throughput for each user.

17. An apparatus for scheduling a plurality of users to receive transmitted data, comprising:

a filter for computing an average user throughput over all active users, the average user throughput being an instantaneous arithmetic mean of all active actual user throughput, and

a prioritizer for prioritizing the scheduling of the plurality of users for receiving transmitted data based proportionally on the difference between the average user throughput over all active users and a user perceived throughput of each user, and based on a threshold varying inversely with the number of users.

18. The apparatus of claim 17 , wherein said prioritizer further prioritizes the scheduling of the plurality of users based on a maximum user throughput for each user and a minimum user throughput for each user.

19. The apparatus of claim 17 , wherein said prioritizer calculates a function result based on a user perceived throughput of each user, the average user throughput, a maximum user throughput and a minimum user throughput for each user; and prioritizes the scheduling of the plurality of users for receiving transmitted data based on the calculated function result.

20. The apparatus of claim 19 , wherein the prioritizer schedules the plurality of users based on comparing a current function result to previous function results.

21. The apparatus of claim 17 , wherein the user perceived throughput of each user is configured so as to be within an operating range defined by a maximum user throughput for that user, and a minimum user throughput for that user.

22. The apparatus of claim 21 , wherein the prioritizer assigns a highest priority to a user whose user perceived throughput is below the minimum, assigns a next highest priority to a user whose user perceived throughput is greater than the minimum but below the average user throughput; and assigns lower priorities to users whose user perceived throughput is above the average user throughput or above the maximum of the operating range.

23. The apparatus of claim 21 , wherein the prioritizer selects a function from a group of more than one function for use in prioritizing users based on a value of each user perceived throughput as compared to at least one of the average user throughput, the maximum user throughput, and the minimum user throughput for each user.

24. The apparatus of claim 17 , wherein

the apparatus is part of a base station, and

the apparatus outputs user identifying information informing the base station to transmit data in a current timeslot to the identified user.

25. The apparatus of claim 24 , wherein the user identifying information includes a user ID and a user priority.

26. A method of scheduling a plurality of users for allocating transmitted data to the users performed by a scheduler, comprising the steps of:

determining, by the scheduler, an average service rate for each user of the plurality of users, the average service rate being an arithmetic mean of a user's actual throughput over a time interval,

determining, by the scheduler, a priority value for each user based upon a requested service rate of each user and the determined average service rate, and

modifying, by the scheduler, at least one of the average service rate and the priority value for at least one user having an average service rate below a threshold to control an allocation of transmitted data to the users, the threshold varying inversely with the number of users.

27. The method of claim 26 , wherein the modifying step further includes:

modifying at least one of the average service rate and the priority value based on the requested service rate of the at least one user.

28. The method of claim 26 , wherein the modifying step further includes:

lowering the priority value if the requested service rate of the at least one user is higher than requested service rates of other users, and

raising the priority value if the requested service rate is lower than requested service rates of other users.

29. The method of claim 26 , wherein the modifying step further includes:

modifying at least one of the average service rate and the priority value based on the average service rate of the at least one user.

30. The method of claim 26 , wherein the modifying step further includes:

lowering the priority value if the average service rate is higher than average service rates of other users, and

raising the priority value if the average service rate is lower than average service rates of other users.

31. The method of claim 26 , wherein the modifying step further includes:

modifying at least one of the average service rate and the priority value based upon at least one quality-of-service (QoS) parameter.

32. A method of scheduling a plurality of users to allocate transmitted data to the users performed by a scheduler, comprising the steps of:

determining, by the scheduler, a modified average service rate for each of the plurality of users, the modified average service rate being based upon an average service rate of the user, the average service rate being an arithmetic mean of a user's actual throughput over a time interval,

determining, by the scheduler, a priority value for at least one user based upon the modified average service rate, a requested service rate of the at least one user, and a threshold varying inversely with the number of users,

determining, by the scheduler, which user of the plurality of users has a highest priority value, and

allocating, by the scheduler, a next transmission of data based on the highest priority value.

33. A method of scheduling a plurality of users to allocate transmitted data to the users performed by a scheduler, comprising the steps of:

determining, by the scheduler, an average service rate for each of the plurality of users, the average service rate being an arithmetic mean of a user's actual throughput over a time interval,

comparing, by the scheduler, the average service rate of each user against a threshold, the threshold varying inversely with the number of users; and

determining, by the scheduler, whether a user is eligible for allocation of a next transmission of data based on the comparing step.

34. The method of claim 33 , further comprising:

determining, by the scheduler, the threshold based on an average of all user average service rates.

35. The method of claim 33 , further comprising:

determining, by the scheduler, the threshold based on at least one quality-of-service (QoS) parameter.

36. The method of claim 35 , wherein the QoS parameter relates to one or more of a payment scheme under which service is provided to a user, and an application that is run on the user.

37. The method of claim 33 , further comprising:

modifying, by the scheduler, the selected threshold based on a transmission condition of each user.

38. The method of claim 37 , wherein the step of modifying the selected threshold further includes:

skewing the threshold in favor of users that have the benefit of transmitting conditions that are better than other users.

Assignments (14)
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Jan 22, 2025
From: CACI LGS INNOVATIONS LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 069987/0444 →
CHANGE OF NAME Recorded Nov 4, 2024
From: LGS INNOVATIONS LLC
To: CACI LGS INNOVATIONS LLC
Reel/Frame 069292/0770 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2022
From: ALCATEL LUCENT; ALCATEL-LUCENT USA INC.
To: LGS INNOVATIONS LLC
Reel/Frame 059660/0301 →
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded May 29, 2019
From: LGS INNOVATIONS LLC
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 049312/0843 →
RELEASE OF SECURITY INTEREST Recorded May 21, 2019
From: BANK OF AMERICA, N.A.
To: LGS INNOVATIONS LLC
Reel/Frame 049247/0557 →
RELEASE OF SECURITY INTEREST Recorded May 2, 2019
From: BANK OF AMERICA, N.A.
To: LGS INNOVATIONS LLC
Reel/Frame 049074/0094 →
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Jul 19, 2017
From: LGS INNOVATIONS LLC
To: BANK OF AMERICA, N.A.
Reel/Frame 043254/0393 →
RELEASE OF SECURITY INTEREST Recorded Oct 9, 2014
From: CREDIT SUISSE AG
To: ALCATEL-LUCENT USA INC.
Reel/Frame 033949/0531 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2014
From: ALCATEL LUCENT
To: LGS INNOVATIONS LLC
Reel/Frame 032743/0584 →
RELEASE OF SECURITY INTEREST Recorded Apr 1, 2014
From: CREDIT SUISSE AG
To: ALCATEL-LUCENT USA INC.
Reel/Frame 032578/0931 →
SECURITY INTEREST Recorded Apr 1, 2014
From: LGS INNOVATIONS LLC
To: BANK OF AMERICA NA
Reel/Frame 032579/0066 →
SECURITY INTEREST Recorded Mar 7, 2013
From: ALCATEL-LUCENT USA INC.
To: CREDIT SUISSE AG
Reel/Frame 030510/0627 →
MERGER Recorded May 3, 2010
From: LUCENT TECHNOLOGIES INC.
To: ALCATEL-LUCENT USA INC.
Reel/Frame 024322/0361 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2002
From: BI, QI; HUANG, CHING YAO; CHEN, PI-CHUN; VITEBSKY, STANLEY; LI, PATRICK
To: LUCENT TECHNOLOGIES INC.
Reel/Frame 013512/0568 →