IP Library › Granted Patent US 11,159,359
Granted Patent B2
US 11,159,359 · App. 16/697,021 · Granted Oct 26, 2021

Methods, systems, and computer readable media for diameter-peer-wide egress rate limiting at diameter relay agent (DRA)

Inventor: Yesh Goel (Bangalore, IN)
Assignee: ORACLE INTERNATIONAL CORPORATION
H04L41/046H04L41/0896H04L41/5054
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 11,159,359
App. No.
16/697,021
Granted
Oct 26, 2021
Kind
B2
Abstract

Methods, systems, and computer readable media for Diameter-peer-wide egress rate limiting include a process performed at a Diameter relay agent (DRA) and at a rate limiting policer. The process includes receiving service requests from Diameter-based consumers and forwarding the service requests to DRA worker instances. The process further includes, at the DRA worker instances, requesting, from the rate limiting policer, which is separate from the DRA worker instances, Diameter peer capacity for handling the service requests. The process includes, at the rate limiting policer, performing Diameter-peer-wide egress rate limiting between the DRA worker instances and Diameter peer instances by granting or denying requests for Diameter peer capacity from the DRA worker instances such that combined egress traffic from the DRA worker instances does not exceed rate capacities of the Diameter peers.

Claims (35)

1. A method for Diameter-peer-wide egress rate limiting, the method comprising:

at a Diameter relay agent (DRA) including at least one processor:

receiving service requests from Diameter-based consumers;

forwarding the service requests to DRA worker instances;

at the DRA worker instances, requesting, from a rate limiting policer separate from the DRA worker instances, the Diameter-based consumers, and upstream Diameter peers to which the service requests are directed, allocations of processing capacity of the upstream Diameter peers for handling the service requests;

at the rate limiting policer:

performing Diameter-peer-wide egress rate limiting between the DRA worker instances and the upstream Diameter peers by granting or denying requests for allocations of processing capacity of the upstream Diameter peers from the DRA worker instances such that combined egress traffic from the DRA worker instances does not exceed rate capacities of the upstream Diameter peers; and

at the DRA worker instances, receiving, from the rate limiting policer, grants of allocations of processing capacity of the upstream Diameter peers to which the service requests are directed, and routing the service requests to the upstream Diameter peers, wherein the rate limiting policer receives, from the DRA worker instances, requests for the allocations of processing capacity for the Diameter-based consumers and transmits responses to the DRA worker instances containing the grants of allocations of processing capacity of the upstream Diameter peers and the DRA worker instances route the service requests to the upstream Diameter peers over Diameter connections that do not involve the rate limiting policer.

2. The method of claim 1 wherein requesting allocations of processing capacity of the upstream Diameter peers from the rate limiting policer includes requesting an allocation of tokens from the rate limiting policer and the tokens are usable by the DRA worker instances to determine whether to grant or deny the service requests.

3. The method of claim 2 wherein performing rate limiting policing includes accessing a database for determining amounts of available tokens for each of the Diameter peers.

4. The method of claim 2 wherein requesting an allocation of tokens includes requesting the allocation of tokens in response to a percentage of granted tokens available to one of the DRA worker instances being less than a threshold amount.

5. The method of claim 2 comprising, at the rate limiting policer, maintaining, for each of the upstream Diameter peers, a maximum limit of tokens that can be allocated in a time interval and granting or denying the requests for allocation of tokens based on whether a number of tokens requested by the requests for allocation of tokens would cause the maximum limit of tokens to be exceeded.

6. The method of claim 5 wherein performing Diameter-peer-wide egress rate limiting includes implementing a fixed window during which tokens can be granted.

7. The method of claim 5 wherein performing Diameter-peer-wide egress rate limiting includes implementing a sliding window during which tokens can be granted.

8. The method of claim 2 wherein performing Diameter-peer-wide rate limiting policing includes implementing best effort token allocation wherein if a number of tokens requested by one of the DRA worker instances during a time interval would cause the maximum allocated tokens during the time interval to be exceeded, granting a remainder tokens available in the time interval that would not cause the maximum limit of tokens to be exceeded.

9. The method of claim 2 wherein performing Diameter-peer-wide egress rate limiting includes implementing max limit token allocation by denying a request for allocation of tokens if a requested number of tokens would cause the maximum limit of tokens to be exceeded.

10. The method of claim 1 wherein the DRA implements at least one Diameter relay or routing function.

11. A system for Diameter-peer-wide egress rate limiting, the system comprising:

a Diameter relay agent (DRA) including at least one processor for receiving service requests from Diameter-based consumers, forwarding the service requests to DRA worker instances implemented by the DRA, and requesting, by the DRA worker instances, allocations of processing capacity of upstream Diameter peers to which the service requests are directed; and

a rate limiting policer separate from the DRA worker instances, the Diameter-based consumers, and the upstream Diameter peers to which the service requests are directed for performing Diameter-peer-wide egress rate limiting between the DRA worker instances and Diameter peer instances by granting or denying requests for Diameter peer capacity from the DRA worker instances such that combined egress traffic from the DRA worker instances does not exceed rate capacities of the upstream Diameter peers, wherein the DRA worker instances receive, from the rate limiting policer, grants of allocations of processing capacity of the upstream Diameter peers to which the service requests are directed and route the service requests to the upstream Diameter peers, wherein the rate limiting policer receives, from the DRA worker instances, requests for the allocations of processing capacity for the Diameter-based consumers and transmits responses to the DRA worker instances containing the grants of allocations of processing capacity of the upstream Diameter peers and the DRA worker instances route the service requests to the upstream Diameter peers over Diameter connections that do not involve the rate limiting policer.

12. The system of claim 11 wherein the DRA worker instances are configured to request allocations of processing capacity of the upstream Diameter peers from the rate limiting policer by requesting an allocation of tokens from the rate limiting policer, wherein the tokens are usable by the DRA worker instances to determine whether to grant or deny the service requests.

13. The system of claim 12 comprising a database accessible by the rate limiting policer for determining amounts of available tokens for each of the upstream Diameter peers.

14. The system of claim 11 wherein the DRA worker instances are configured to request an allocation of tokens in response to a percentage of granted tokens available to one of the DRA worker instances being less than a threshold amount.

15. The system of claim 12 wherein the rate limiting policer is configured to maintain, for each of the Diameter peers, a maximum limit of tokens that can be allocated a time interval and to grant or deny the requests for allocation of tokens based on whether a number of tokens requested by the requests for allocation of tokens would cause the maximum limit of tokens to be exceeded.

16. The system of claim 15 wherein the rate limiting policer is configured to perform Diameter-peer-wide egress rate limiting by implementing a fixed window during which tokens can be granted.

17. The system of claim 15 wherein the rate limiting policer is configured to perform the Diameter-peer-wide egress rate limiting by implementing a sliding window during which tokens can be granted.

18. The system of claim 12 wherein the rate limiting policer is configured to performing the Diameter-peer-wide rate limiting policing by implementing best effort allocation wherein if a number of tokens requested by one of the DRA worker instances during a time interval would cause the maximum allocated tokens during a time interval to be exceeded, granting a remainder tokens available in the time interval that would not cause the maximum limit of tokens to be exceeded.

19. The system of claim 12 wherein the rate limiting policer is configured to perform Diameter-peer-wide egress rate limiting by implementing max limit token allocation, which includes denying a request for allocation of tokens if a requested number of tokens would cause the maximum limit of tokens to be exceeded.

20. A non-transitory computer readable medium having stored thereon executable instructions that when executed by the processor of a computer control the computer to perform steps comprising:

at a Diameter relay agent (DRA) including at least one processor:

receiving service requests from Diameter-based consumers;

forwarding the service requests to DRA worker instances; and

at the DRA worker instances, requesting, from a rate limiting policer separate from the DRA worker instances, the Diameter-based consumers, and upstream Diameter peers to which the service requests are directed, allocations of processing capacity of the upstream Diameter peers capacity for handling the service requests;

at the rate limiting policer, performing Diameter-peer-wide egress rate limiting between the DRA worker instances and the upstream Diameter peers by granting or denying requests for allocations of processing capacity of the upstream Diameter peers from the DRA worker instances such that combined egress traffic from the DRA worker instances does not exceed rate capacities of the Diameter peers; and

at the DRA worker instances, receiving, from the rate limiting policer, grants of allocations of processing capacity of the upstream Diameter peers to which the service requests are directed, and routing the service requests to the upstream Diameter peers, wherein the rate limiting policer receives, from the DRA worker instances, requests for the allocations of processing capacity for the Diameter-based consumers and transmits responses to the DRA worker instances containing the grants of allocations of processing capacity of the upstream Diameter peers and the DRA worker instances route the service requests to the upstream Diameter peers over Diameter connections that do not involve the rate limiting policer.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2020
From: GOEL, YESH
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 051572/0664 →
Continuity (2)
Continuation In Part 16453955 · Jun 26, 2019
Related Publication 20200412597A1 · Dec 31, 2020
Cited By (1)
US 12,526,235