IP Library Granted Patent US 7,583,647
Granted Patent B2
US 7,583,647 · App. 11/063,967 · Granted Sep 1, 2009

Controller for controlling number of requests served by a server

Assignee: Nokia Corporation
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,583,647
App. No.
11/063,967
Granted
Sep 1, 2009
Kind
B2
Abstract

A controller is configured for controlling the number of requests served by a server. The controller includes a pool for holding M tokens an input for providing tokens to the pool, and an output for removing tokens from the pool. The controller is configured such that a server request requiring at least one token to be handled, is only handled if the pool contains a required number of tokens for the request and the required number of tokens is removed via the output when the server request is to be handled by the server.

Claims (45)

1. An apparatus, comprising:

a processor configured to

receive tokens and to provide the tokens to a plurality of different pools, wherein each of the plurality of different pools is associated with a different server, and wherein one pool of the plurality of different pools is configured to hold M tokens, and

remove tokens from said plurality of different pools, wherein

said processor is configured such that, when it is determined that a server request is of a type that requires at least one token to be removed from said one pool for said server request to be handled, and that said server request requires a determined number of tokens to be removed from said one pool for said server request to be handled, then said server request is handled when said one pool contains said determined number of tokens for said request and said determined number of tokens is removed when said server request is handled by the server with which said one pool is associated.

2. An apparatus as claimed in claim 1 , wherein each of a plurality of different types of requests require a different number of tokens.

3. An apparatus as claimed in claim 1 , wherein said processor is configured to receive the tokens and to provide said tokens to said one pool at a constant rate.

4. An apparatus as claimed in claim 1 , wherein said processor is configured to receive a predetermined number of tokens and to provide the predetermined number of tokens during a first period to said one pool.

5. An apparatus as claimed in claim 4 , wherein said first period is defined in seconds and is around 1 second.

6. An apparatus as claimed in claim 1 , wherein said processor is configured to fill said one pool from empty within a second period.

7. An apparatus as claimed in claim 6 , wherein said second period is one minute.

8. An apparatus as claimed in claim 6 , wherein said second period is between one minute and one hour.

9. An apparatus as claimed in claim 1 , wherein the one pool is sized to accommodate a maximum number of requests that can be handled by said server with which said one pool is associated in a predetermined time.

10. An apparatus as claimed in claim 1 , wherein the processor is further configured to discard tokens that are received when said one pool is full of tokens.

11. An apparatus as claimed in claim 1 , wherein the processor is configured to assign each of a plurality of different request types to different pools of the plurality of different pools.

12. An apparatus as claimed in claim 1 , wherein said request comprises at least one of a voice call, a video call, a message, and a presence.

13. An apparatus as claimed in claim 1 , wherein said token comprises a license.

14. An apparatus as claimed in claim 1 , wherein said processor comprises a counter.

15. An apparatus as claimed in claim 1 , wherein the apparatus comprises or is part of a server.

16. An apparatus, comprising:

means for receiving tokens and providing the tokens to a plurality of different pool means, wherein each of the plurality of different pool means is associated with a different server, and wherein one pool means of the plurality of different pool means is configured to hold M tokens, and

output means for removing tokens from said plurality of different pool means, wherein

when it is determined that a server request is of a type that requires at least one token to be removed from said one pool means for said server request to be handled, and that said server request requires a determined number of tokens to be removed from said one pool means for said server request to be handled, then said server request is handled when said one pool means contains said determined number of tokens for said request and said determined number of tokens is removed when said server request is handled by the server with which said one pool is associated.

17. A method, comprising:

determining, by a processor, that a server request is of a type that requires at least one token to be removed from a token pool for said server request to be handled;

determining, by the processor, that said server request requires a predetermined number of tokens to be removed from said token pool for said server request to be handled; and

handling, by the processor, said server request when said token pool contains said predetermined number of tokens for said request by removing said predetermined number of tokens when said server request is handled by a server with which said token pool is associated, wherein

the processor is configured to receive tokens and to provide the tokens to, and remove tokens from a plurality of different pools that include said token pool, wherein each of the plurality of different pools is associated with a different server, and wherein the token pool is configured to hold M tokens.

18. A method as claimed in claim 17 , wherein each of a plurality of different types of requests require a different number of tokens.

19. A method as claimed in claim 17 , comprising receiving, by the processor, the tokens and providing, by the processor, the tokens to said token pool at a constant rate.

20. A method as claimed in claim 17 , comprising receiving, by the processor, a predetermined number of tokens and providing, by the processor, the predetermined number of tokens during a first period to said token pool.

21. A method as claimed in claim 20 , wherein said first period is defined in seconds and is around 1 second.

22. A method as claimed in claim 17 , wherein said token pool is filled, by the processor, from empty within a second period.

23. A method as claimed in claim 22 , wherein said second period is one minute.

24. A method as claimed in claim 22 , wherein said second period is between one minute and one hour.

25. A method as claimed in claim 17 , wherein the token pool is sized to accommodate a maximum number of requests that can be handled by said server with which said token pool is associated in a predetermined time.

26. A method as claimed in claim 17 , further comprising discarding, by the processor, tokens that are received when said token pool is full of tokens.

27. A method as claimed in claim 17 , further comprising assigning, by the processor, each of a plurality of different request types to different pools of the plurality of different pools.

28. A method as claimed in claim 17 , wherein said request comprises at least one of a voice call, a video call, a message, and a presence.

29. A method as claimed in claim 17 , wherein said token comprises a license.

30. A computer program embodied on a computer-readable storage medium, the program configured to control a processor to perform a process, the process comprising:

determining that a server request is of a type that requires at least one token to be removed from a token pool for said server request to be handled;

determining that said server request requires a predetermined number of tokens to be removed from said token pool for said server request to be handled; and

handling said server request when said token pool contains said predetermined number of tokens for said request by removing said predetermined number of tokens when said server request is handled by a server with which said token pool is associated, wherein

the processor is configured to receive tokens and to provide the tokens to, and remove tokens from, a plurality of different pools which include said token pool, wherein each of the plurality of different pools is associated with a different server, and wherein the token pool is configured to hold M tokens.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Apr 7, 2016
From: SILICON VALLEY BANK
To: VRINGO, INC.
Reel/Frame 038380/0956 →
ASSIGNMENT OF SECURITY INTEREST Recorded May 8, 2015
From: VRINGO, INC.
To: IROQUOIS MASTER FUND, L.P.
Reel/Frame 035624/0710 →
SECURITY INTEREST Recorded May 5, 2015
From: VRINGO INFRASTRUCTURE, INC.
To: VRINGO, INC.
Reel/Frame 035585/0371 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 24, 2012
From: NOKIA CORPORATION
To: VRINGO INFRASTRUCTURE INC.
Reel/Frame 029010/0345 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2005
From: YLA-OUTINEN, PETTERI; MATTILA, MIKA; SILLANPAA, JANNE
To: NOKIA CORPORATION
Reel/Frame 016338/0695 →
Priority Claims (1)
GB 0422276.6 · Oct 7, 2004 · national
Continuity (1)
Related Publication 20060077899A1 · Apr 13, 2006