IP Library Granted Patent US 7,516,454
Granted Patent B1
US 7,516,454 · App. 10/808,767 · Granted Apr 7, 2009

Feedback integration of dynamic operations

Assignee: Lightsurf Technologies, Inc.
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,516,454
App. No.
10/808,767
Granted
Apr 7, 2009
Kind
B1
Abstract

A method and apparatus for self-discovering throttling is described. The system includes a first queue to track a current rate of task completion and a second queue to track an average rate of task completion over time. The system further includes a comparator to compare an average of the first queue and an average of the second queue. The system includes a throttle to adjust the number of connections based on the results from the comparator.

Claims (63)

1. An apparatus comprising:

a first queue to track a current rate of task completion;

a second queue to track an average rate of task completion over time;

a comparator to compare an average of values stored in the first queue and an average of values stored in the second queue; and

a throttle to

reduce a number of connections available on the apparatus if the comparator indicates that the average of the first queue is larger than the average of the second queue, wherein the comparator triggers comparisons more often as the number of connections is decreased,

increase the number of connections available if the average rate of task completion is lower than the average of the average rates of task completion,

wherein the connections comprise network connections for sending messages, and wherein the apparatus comprises a multimedia messaging service center.

2. The apparatus of claim 1 , wherein the first queue and the second queue are circular queues.

3. The apparatus of claim 1 , further comprising:

a timer to compute a length of time a connection is used and insert the time into the first queue.

4. The apparatus of claim 1 , wherein the average of values stored in the first queue is inserted into the second queue.

5. The apparatus of claim 1 , further comprising:

a trigger mechanism to trigger a comparison, the trigger mechanism triggering comparisons less often as the number of connections is increased.

6. The apparatus of claim 5 , further comprising:

a powers array to indicate when to trigger a comparison to the trigger mechanism, the powers array being an exponentially increasing/decreasing function.

7. The apparatus of claim 1 , further comprising:

a sensitivity multiplier applied to the average of the second queue to affect reaction speed.

8. The apparatus of claim 1 , wherein the rate of task completion comprises timing one subtask of a complex task, the subtask reflecting a load on the apparatus.

9. A method of resource allocation comprising:

comparing a current average rate of task completion of a system to an average of averages, wherein the average of averages is the average of a plurality of the results of each of the current average rate of task completion over time;

reducing a number of tasks executed by the system if the current average rate of task completion is larger than the average of averages, wherein the comparison is triggered more frequently as the number of tasks executed is reduced; and

increasing the number of tasks executed by the system if the current average rate of task completion is less than the average of the averages, wherein the tasks executed by the system includes sending messages over a network from a multimedia messaging service center.

10. The method of claim 9 , further comprising:

triggering the comparison based on a number of measurements of the current rate of task completion reaching a predetermined threshold.

11. The method of claim 10 , further comprising:

adjusting the predetermined threshold based on results of a last comparison.

12. The method of claim 11 , wherein the predetermined threshold is increased and the comparison is triggered less frequently if the system is speeding up.

13. The method of claim 12 , wherein the predetermined threshold is set by a powers array, the powers array being a powers-of-two array; and

the predetermined threshold is adjusted by shifting along the powers-of-two array to speed up or slow down the rate of triggering the comparison.

14. The method of claim 9 , further comprising:

timing a period of time that a connection is used; and

inserting the period of time into a first queue, the average of the first queue being the current average rate of task completion.

15. The method of claim 14 , further comprising:

inserting the average of the first queue into a second queue, the average of the second queue being the average of averages.

16. The method of claim 15 , wherein the first queue and the second queue are circular queues.

17. The method 15 , wherein the average of the first queue and the average of the second queue are calculated when a comparison is triggered.

18. The method of claim 17 , wherein a current average of the first queue is inserted into the second queue after the average of the second queue is calculated.

19. The method of claim 9 , wherein the rate of task completion is determined by measuring a length of time required to complete one subtask of a complex task, the subtask reflecting an overall load on the system.

20. An apparatus comprising:

a first queue to track a current rate of task completion;

a second queue to track an average rate of task completion over time;

a comparator to compare an average of values stored in the first queue and an average of values stored in the second queue;

a throttle to reduce a number of connections available on the apparatus if the comparator indicates that the average of the first queue is larger than the average of the second queue, wherein the comparator triggers comparisons more often as the number of connections is decreased, wherein the connections comprise network connections for sending messages, and wherein the apparatus comprises a multimedia messaging service center; and

a powers array to indicate when to trigger a comparison to the trigger mechanism, the powers array being an exponentially increasing/decreasing function.

21. The apparatus of claim 20 , wherein the rate of task completion comprises timing one subtask of a complex task, the subtask reflecting a load on the apparatus.

22. An apparatus comprising:

a first queue to track a current rate of task completion;

a second queue to track an average rate of task completion over time;

a comparator to compare an average of values stored in the first queue and an average of values stored in the second queue;

a throttle to reduce a number of connections available on the apparatus if the comparator indicates that the average of the first queue is larger than the average of the second queue, wherein the comparator triggers comparisons more often as the number of connections is decreased, wherein the connections comprise network connections for sending messages, and wherein the apparatus comprises a multimedia messaging service center; and

a sensitivity multiplier applied to the average of the second queue to affect reaction speed.

23. The apparatus of claim 22 , wherein the rate of task completion comprises timing one subtask of a complex task, the subtask reflecting a load on the apparatus.

24. A method of resource allocation comprising:

comparing a current average rate of task completion of a system to an average of averages, wherein the average of averages is the average of a plurality of the results of each of the current average rate of task completion over time;

reducing a number of tasks executed by the system if the current average rate of task completion is larger than the average of averages, wherein the comparison is triggered more frequently as the number of tasks executed is reduced, and wherein the tasks executed by the system includes sending messages over a network from a multimedia messaging service center; and

using a powers array to indicate when to trigger a comparison to the trigger mechanism, the powers array being an exponentially increasing/decreasing function.

25. The method of claim 24 , wherein the rate of task completion comprises timing one subtask of a complex task.

26. A method of resource allocation comprising:

comparing a current average rate of task completion of a system to an average of averages, wherein the average of averages is the average of a plurality of the results of each of the current average rate of task completion over time;

reducing a number of tasks executed by the system if the current average rate of task completion is larger than the average of averages, wherein the comparison is triggered more frequently as the number of tasks executed is reduced, wherein the tasks executed by the system includes sending messages over a network from a multimedia messaging service center; and

applying a sensitivity multiplier to the average of averages to affect reaction speed.

27. The method of claim 26 , wherein the rate of task completion comprises timing one subtask of a complex task.

Assignments (14)
NOTICE AND CONFIRMATION OF GRANT OF SECURITY INTEREST IN PATENTS Recorded May 16, 2022
From: SYNIVERSE ICX LLC
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 060072/0562 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded May 13, 2022
From: BARCLAYS BANK PLC, AS COLLATERAL AGENT
To: SYNIVERSE ICX, LLC
Reel/Frame 060064/0375 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded May 13, 2022
From: BARCLAYS BANK PLC, AS COLLATERAL AGENT
To: SYNIVERSE ICX, LLC
Reel/Frame 060064/0406 →
CHANGE OF NAME Recorded May 11, 2022
From: SYNIVERSE ICX CORPORATION
To: SYNIVERSE ICX, LLC
Reel/Frame 059953/0377 →
SECURITY INTEREST Recorded Mar 12, 2018
From: SYNIVERSE ICX CORPORATION
To: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
Reel/Frame 045176/0632 →
SECURITY AGREEMENT Recorded Apr 24, 2012
From: SYNIVERSE ICX CORPORATION
To: BARCLAYS BANK PLC
Reel/Frame 028097/0869 →
RELEASE OF SECURITY INTEREST AT REEL/FRAME 026103/0469 Recorded Apr 23, 2012
From: BARCLAYS BANK PLC
To: SYNIVERSE ICX CORPORATION
Reel/Frame 028088/0770 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT SUPPLEMENT Recorded Apr 11, 2011
From: SYNIVERSE HOLDINGS, INC.; SYNIVERSE TECHNOLOGIES, INC.; SYNIVERSE ICX CORPORATION; THE RAPID ROAMING COMPANY
To: BARCLAYS BANK PLC
Reel/Frame 026103/0469 →
CHANGE OF NAME Recorded Apr 6, 2010
From: VERISIGN ICX CORPORATION
To: SYNIVERSE ICX CORPORATION
Reel/Frame 024185/0944 →
CORRECTIVE ASSIGNMENT TO CORRECT THE RECEIVING PARTY DATA PREVIOUSLY RECORDED ON REEL 023472 FRAME 0603. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Dec 9, 2009
From: LIGHTSURF TECHNOLOGIES, INC.
To: VERISIGN, INC.
Reel/Frame 023631/0719 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY DATA PREVIOUSLY RECORDED ON REEL 023472 FRAME 0660. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Dec 9, 2009
From: VERISIGN, INC.
To: VERISIGN ICX CORPORATION
Reel/Frame 023631/0775 →
MERGER Recorded Nov 4, 2009
From: LIGHTSURF TECHNOLOGIES, INC
To: VERSIGN, INC.
Reel/Frame 023472/0603 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2009
From: VERSIGN, INC.
To: VERISIGN ICX CORPORATION
Reel/Frame 023472/0660 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 24, 2004
From: RODRIGUEZ, JOHN ERNEST
To: LIGHTSURF TECHNOLOGIES, INC.
Reel/Frame 015151/0874 →