Legal claims defining the scope of protection, as filed with the USPTO.
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.
Unknown
October 26, 2021
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.