IP Library Granted Patent US 10,880,231
Granted Patent B2
US 10,880,231 · App. 16/367,833 · Granted Dec 29, 2020

Systems and methods for determining routing information for a network request

Inventors: Ivan Viktorovich Murashko (Saint Petersburg, RU); Alexey Konstantinovich Radkov (Saint Petersburg, RU)
Assignee: RingCentral, Inc.
H04L47/827H04L65/00H04L65/105H04L65/1006H04L67/327H04L61/1529
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,880,231
App. No.
16/367,833
Granted
Dec 29, 2020
Kind
B2
Abstract

Systems and methods are disclosed for processing a request for network resources in a network comprising at least one endpoint a first pool of destinations. According to certain embodiments, a first request is received from an endpoint. A determination of whether to validate a first destination identifier associated with the first request is made based on at least one of a first timestamp and a first pool identifier associated with the first request. If it is determined to validate the first destination identifier, a target destination identifier is determined, and the first request is forwarded based on the target destination identifier. The requested network resource is received, and is transmitted to the endpoint.

Claims (49)

1. A method for processing a request for network resources in a network using an intermediate server, the method comprising:

receiving the request from at least one endpoint, wherein the request does not include any destination identifier;

responsive to receiving the request, determining a pool of destinations, wherein the pool of destinations includes a destination associated with a destination identifier;

creating a timestamp; and

transmitting, to the at least one endpoint, the destination identifier, a pool identifier, and the timestamp;

wherein the transmission of the destination identifier, the pool identifier, and the timestamp enables the at least one endpoint to transmit the request.

2. The method of claim 1 , further comprising:

determining that the destination identifier is valid based on the timestamp; and

in response to determining that the destination identifier is valid, forwarding the request based on the destination identifier.

3. The method of claim 1 , further comprising:

responsive to determining the pool of destinations, forwarding the request from the at least one endpoint to a destination server; and

receiving a response from the destination server, wherein the response comprises the destination identifier.

4. The method of claim 1 , wherein determining the pool of destinations is further responsive to determining that the request does not include routing information.

5. The method of claim 1 , wherein determining the pool of destination comprises sending a query to a database, wherein the query comprises a type of service requested, a user key associated with the request, or a geographical location.

6. The method of claim 5 , wherein the database is configured to process the request for network resources.

7. The method of claim 1 , wherein the pool of destinations further comprises a label associated with the pool.

8. A non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processers to perform operations comprising:

receiving a request from at least one endpoint, wherein the request does not include any destination identifier;

responsive to receiving the request, determining a pool of destinations, wherein the pool of destinations includes a destination associated with a destination identifier;

creating a timestamp; and

transmitting, to the at least one endpoint, the destination identifier, a pool identifier, and the timestamp;

wherein the transmission of the destination identifier, the pool identifier, and the timestamp enables the at least one endpoint to transmit the request.

9. The non-transitory computer-readable medium of claim 8 , further storing additional instructions that, when executed by the one or more processors, cause the processors to perform additional operations comprising:

determining that the destination identifier is valid based on the timestamp; and

in response to determining that the destination identifier is valid, forwarding the request based on the destination identifier.

10. The non-transitory computer-readable medium of claim 8 , further storing additional instructions that, when executed by the one or more processors, cause the processors to perform additional operations comprising:

responsive to determining the pool of destinations, forwarding the request from the at least one endpoint to a destination server; and

receiving a response from the destination server, wherein the response comprises the destination identifier.

11. The non-transitory computer-readable medium of claim 8 , wherein determining the pool of destinations is further responsive to determining that the request does not include routing information.

12. The non-transitory computer-readable medium of claim 8 , wherein determining the pool of destination comprises sending a query to a database, wherein the query comprises a type of service requested, a user key associated with the request, or a geographical location.

13. he non-transitory computer-readable medium of claim 12 , wherein the database is configured to process the request for network resources.

14. The non-transitory computer-readable medium of claim 8 , wherein the pool of destinations further comprises a label associated with the pool.

15. A system, comprising:

one or more processors of an intermediary server;

a memory operatively connected to the one or more processors and storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

receiving the request from at least one endpoint, wherein the request does not include any destination identifier;

responsive to receiving the request, determining a pool of destinations, wherein the pool of destinations includes a destination associated with a destination identifier;

creating a timestamp; and

transmitting, to the at least one endpoint, the destination identifier, a pool identifier, and the timestamp;

wherein the transmission of the destination identifier, the pool identifier, and the timestamp enables the at least one endpoint to transmit the request.

16. The system of claim 15 , wherein the operations further comprise:

determining that the destination identifier is valid based on the timestamp; and

in response to determining that the destination identifier is valid, forwarding the request based on the destination identifier.

17. The system of claim 15 , wherein the operations further comprise:

responsive to determining the pool of destinations, forwarding the request from the at least one endpoint to a destination server; and

receiving a response from the destination server, wherein the response comprises the destination identifier.

18. The system of claim 15 , wherein determining the pool of destinations is further responsive to determining that the request does not include routing information.

19. The system of claim 15 , wherein determining the pool of destination comprises sending a query to a database, wherein the query comprises a type of service requested, a user key associated with the request, or a geographical location.

20. The system of claim 15 , wherein the pool of destinations further comprises a label associated with the pool.

Assignments (2)
SECURITY INTEREST Recorded Feb 14, 2023
From: RINGCENTRAL, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062973/0194 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 21, 2019
From: MURASHKO, IVAN VIKTOROVICH; RADKOV, ALEXEY KONSTANTINOVICH
To: RINGCENTRAL, INC.
Reel/Frame 049244/0646 →
Continuity (3)
Continuation 15152727 · May 12, 2016
Continuation PCTRU2015000301 · May 15, 2015
Related Publication 20190222536A1 · Jul 18, 2019
Cited By (1)
US 12,706,884