IP Library Granted Patent US 10,154,414
Granted Patent B2
US 10,154,414 · App. 15/637,287 · Granted Dec 11, 2018

Resource allocation

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 10,154,414
App. No.
15/637,287
Granted
Dec 11, 2018
Kind
B2
Abstract

A first finite resource allocation request is received at a finite resources allocation server from a first client network node requesting a first amount of a given type of finite resource for use by the first client network node. A first allocated amount of the given type of finite resource is first allocated to the first client network node. The first allocating allocates the first allocated amount at least on the basis of a previously allocated first amount. A second finite resource allocation request is received at the finite resources allocation server from a second client network node requesting a second amount of the given type of finite resource. A second allocated amount of the given type of finite resource is second allocated to the second client network node. The second allocating allocates the second allocated amount at least on the basis of a previously allocated second amount.

Claims (87)

1. A method of allocating finite resources to client network nodes in a network, the method comprising, at a finite resources allocation server:

determining a previously requested first amount of a given type of finite resource that a first client network node previously requested to use in the network;

determining a previously allocated amount of the given type of finite resource that was previously allocated, in response to the previous request, to the first client network node;

dividing the determined previously allocated amount by the determined previously requested first amount to obtain an indication of a first previous proportion of the previously requested first amount that was previously allocated to the first client network node;

receiving, from the first client network node, a first finite resource allocation request requesting a first amount of the given type of finite resource for use by the first client network node in the network;

first allocating, to the first client network node, a first allocated amount of the given type of finite resource that the first client network node is allowed to use in the network,

wherein the first allocating allocates the first allocated amount based at least in part on:

the previously requested first amount of the given type of finite resource that the first client network node previously requested to use in the network,

the indication of the first previous proportion, and

an indication of a second previous proportion of a previously requested second amount of the given type of finite resource that a second client network node previously requested to use in the network that was previously allocated to the second client network node for use in the network;

receiving, from the second client network node, a second finite resource allocation request requesting a second amount of the given type of finite resource for use by the second client network node in the network; and

second allocating, to the second client network node, a second allocated amount of the given type of finite resource that the second client network node is allowed to use in the network,

wherein the second allocating allocates the second allocated amount based at least in part on:

the previously requested second amount of the given type of finite resource that the second client network node previously requested to use in the network, and

the indication of the second previous proportion of the previously requested second amount of the given type of finite resource that the second client network node previously requested to use in the network that was previously allocated to the second client network node for use in the network; and

wherein the first allocating allocates the first allocated amount at least on the basis of the first previous proportion compared to the second previous proportion.

2. The method of claim 1 , wherein the first allocating allocates the first allocated amount at least on the basis of the requested first amount.

3. The method of claim 1 , wherein the second allocating allocates the second allocated amount at least on the basis of a previously allocated second amount of the given type of finite resource that the second client network node was previously allowed to use in the network.

4. The method of claim 1 , wherein the second allocating allocates the second allocated amount at least on the basis of the requested second amount.

5. The method of claim 1 , wherein the first allocating allocates the first allocated amount so as to first adjust the first allocated amount as a proportion of the first requested amount towards the second previous proportion.

6. The method of claim 1 , wherein the second allocating allocates the second allocated amount at least on the basis of the first previous proportion and the second previous proportion.

7. The method of claim 6 , wherein the second allocating allocates the second allocated amount at least on the basis of the first previous proportion compared to the second previous proportion.

8. The method of claim 6 , wherein the second allocating allocates the second allocated amount so as to second adjust the second allocated amount as a proportion of the second requested amount towards the first allocated amount as a proportion of the first requested amount.

9. The method of claim 1 , comprising, in response to receipt of subsequent finite resource allocation requests for the given type of finite resource from the first and second client network nodes, performing successive iterations of the first allocating and the second allocating until an amount of the given type of finite resource allocated to the first client network node as a proportion of an amount of the given type of finite resource requested by the first client network node equals an amount of the given type of finite resource allocated to the second client network node as a proportion of an amount of the given type of finite resource requested by the second client network node.

10. The method of claim 9 , wherein the subsequent finite resource allocation requests are received in response to finite resource allocation refresh operations being carried out at the respective client network nodes.

11. The method of claim 10 , wherein the finite resource allocation refresh operations are carried out periodically.

12. The method of claim 1 , wherein one or more of the first allocating and the second allocating is carried out at least in part on the basis of a configurable damping factor.

13. The method of claim 12 , wherein the first allocating allocates the first allocated amount so as to first adjust the first allocated amount as a proportion of the first requested amount towards the second previous proportion,

wherein the second allocating allocates the second allocated amount so as to second adjust the second allocated amount as a proportion of the second requested amount towards the first allocated amount as a proportion of the first requested amount, and

wherein a rate of one or more of the first adjusting and the second adjusting is carried out at least in part on the basis of the configurable damping factor.

14. The method of claim 13 , wherein a relatively high damping factor leads to the rate of one or more of the first adjusting and the second adjusting being relatively faster whereas a relatively low damping factor leads to the rate of one or more of the first adjusting and the second adjusting being relatively slower.

15. The method of claim 1 , wherein the first allocating to the first client network node comprises sending an amount allocation message to the first client network node and no other client network nodes in the network.

16. The method of claim 1 , wherein the second allocating to the second client network node comprises sending an amount allocation message to the second client network node and no other client network nodes in the network.

17. The method of claim 1 , wherein one or more of the first finite resource allocation request and the second finite resource allocation request comprise an indication of the given type of finite resource to which the respective finite resource allocation request relates.

18. The method of claim 1 , wherein one or more of the first finite resource allocation request and the second finite resource allocation request comprise an indication of a maximum total capacity of the given type of finite resource which can be allocated in the network.

19. The method of claim 1 , wherein one or more of the first requested amount and the second requested amount comprise an amount of the given type of finite resource which is greater than a maximum total capacity of the given type of finite resource which can be allocated in the network.

20. The method of claim 1 , wherein the server is responsible for allocating the given type of finite resource to a plurality of client network nodes in the network.

21. The method of claim 1 , wherein the server is responsible for allocating a plurality of types of finite resource to client network nodes in the network.

22. The method of claim 1 , wherein the given type of finite resource is associated with one or more of:

a total number of calls in the network,

a call rate,

data storage, and

processing resources.

23. The method of claim 1 , wherein the first and second client network nodes are comprised in a cluster of client network nodes responsible for providing one or more communication functions in the network.

24. The method of claim 1 , wherein the first and second client network nodes are comprised in a cluster of network nodes responsible for providing one or more telephony functions in the network.

25. The method of claim 1 , wherein the first and second client network nodes comprise one or more of:

session border controllers,

media gateways,

softswitches,

proxy call session control functions (P-CSCFs), and

servers.

26. The method of claim 1 , wherein the server is co-located with one or more of the first client network node, the second client network node and another node in the network.

27. The method of claim 1 , wherein the first allocating and the second allocating occur after start-up of the server.

28. The method of claim 1 , wherein the first allocating and the second allocating occur after re-starting of the server following failure.

29. The method of claim 1 , wherein the previously allocated first amount of the given type of finite resource that the first client network node was previously allowed to use in the network is assumed to be zero.

30. The method of claim 1 , wherein the previously allocated first amount of the given type of finite resource that the first client network node was previously allowed to use in the network is assumed to be a default amount.

31. The method of claim 1 , wherein the previously allocated first amount of the given type of finite resource that the first client network node was previously allowed to use in the network is indicated in the received first finite resource allocation request.

32. A finite resources allocation server for use in allocating finite resources to client network nodes in a network, the finite resources allocation server being configured to, at the finite resources allocation server:

determine a previously requested first amount of a given type of finite resource that a first client network node previously requested to use in the network;

determine a previously allocated amount of the given type of finite resource that was previously allocated, in response to the previous request, to the first client network node;

divide the determined previously allocated amount by the determined previously requested first amount to obtain an indication of a first previous proportion of the previously requested first amount that was previously allocated to the first client network node;

receive, from the first client network node, a first finite resource allocation request requesting a first amount of the given type of finite resource for use by the first client network node in the network;

first allocate, to the first client network node, a first allocated amount of the given type of finite resource that the first client network node is allowed to use in the network, wherein the first allocating allocates the first allocated amount based at least in part on:

the previously requested first amount of the given type of finite resource that the first client network node previously requested to use in the network,

the indication of the first previous proportion, and

an indication of a second previous proportion of a previously requested second amount of the given type of finite resource that a second client network node previously requested to use in the network that was previously allocated to the second client network node for use in the network;

receive, from the second client network node, a second finite resource allocation request requesting a second amount of the given type of finite resource for use by the second client network node in the network; and

second allocate, to the second client network node, a second allocated amount of the given type of finite resource that the second client network node is allowed to use in the network, wherein the second allocating allocates the second allocated amount based at least in part on:

the previously requested second amount of the given type of finite resource that the second client network node previously requested to use in the network, and

the indication of the second previous proportion of the previously requested second amount of the given type of finite resource that the second client network node previously requested to use in the network that was previously allocated to the second client network node for use in the network; and

wherein the first allocating allocates the first allocated amount at least on the basis of the first previous proportion compared to the second proportion.

33. A computer program comprising a set of instructions which, when executed by a finite resources allocation server, cause the finite resources allocation server to allocate finite resources to client network nodes in a network by, at the finite resources allocation server:

determining a previously requested first amount of a given type of finite resource that a first client network node previously requested to use in the network;

determining a previously allocated amount of the given type of finite resource that was previously allocated, in response to the previous request, to the first client network node;

dividing the determined previously allocated amount by the determined previously requested first amount to obtain an indication of a first previous proportion of the previously requested first amount that was previously allocated to the first client network node;

receiving, from the first client network node, a first finite resource allocation request requesting a first amount of the given type of finite resource for use by the first client network node in the network;

first allocating, to the first client network node, a first allocated amount of the given type of finite resource that the first client network node is allowed to use in the network,

wherein the first allocating allocates the first allocated amount based at least in part on:

the previously requested first amount of the given type of finite resource that the first client network node previously requested to use in the network,

the indication of the first previous proportion, and

an indication of a second previous proportion of a previously requested second amount of the given type of finite resource that a second client network node previously requested to use in the network that was previously allocated to the second client network node for use in the network;

receiving, from the second client network node, a second finite resource allocation request requesting a second amount of the given type of finite resource for use by the second client network node in the network; and

second allocating, to the second client network node, a second allocated amount of the given type of finite resource that the second client network node is allowed to use in the network,

wherein the second allocating allocates the second allocated amount based at least in part on:

the previously requested second amount of the given type of finite resource that the second client network node previously requested to use in the network, and

the indication of the second previous proportion of the previously requested second amount of the given type of finite resource that the second client network node previously requested to use in the network that was previously allocated to the second client network node for use in the network; and

wherein the first allocating allocates the first allocated amount at least on the basis of the first previous proportion compared to the second previous proportion.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2026
From: MICROSOFT TECHNOLOGY LICENSING, LLC
To: ALIANZA, INC.
Reel/Frame 075645/0892 →
CHANGE OF NAME Recorded May 13, 2026
From: ALIANZA, INC.
To: ALIANZA, LLC
Reel/Frame 075646/0037 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2026
From: METASWITCH NETWORKS LTD.
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 075578/0155 →
SECURITY INTEREST Recorded May 6, 2025
From: ALIANZA, INC.; METASWITCH NETWORKS LTD
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 071191/0228 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 11, 2017
From: GILBERT, GEORGE MALCOLM; NORRIS, RYAN PETER
To: METASWITCH NETWORKS LTD
Reel/Frame 043548/0824 →