IP Library Granted Patent US 10,291,547
Granted Patent B2
US 10,291,547 · App. 15/152,727 · Granted May 14, 2019

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,291,547
App. No.
15/152,727
Granted
May 14, 2019
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 (67)

1. A method for processing request for network resources in a network comprising at least one endpoint and a first pool of destinations, the method, performed by an intermediate server, comprising:

receiving a first request from the at least one endpoint;

determining, from at least one of a first timestamp and a first pool identifier associated with the first request, whether to validate a first destination identifier associated with the first request;

responsive to the determination to validate the first destination identifier:

determining a target destination identifier, wherein determining the target destination identifier comprises:

acquiring configuration data that stores an association between the first pool identifier and one or more destination identifiers, wherein the one or more destination identifiers includes a second destination identifier, and

determining the target destination identifier to be one of the first destination identifier and the second destination identifier, based on whether the first destination identifier is associated with the first pool identifier, and

forwarding the first request based on the target destination identifier;

receiving a requested network resource associated with the target destination identifier; and

transmitting the requested network resource to the at least one endpoint.

2. The method of claim 1 , further comprising:

responsive to the determination that the first destination identifier is valid, forwarding the first request based on the first destination identifier.

3. The method of claim 1 , further comprising if the requested network resource is not received within a duration after forwarding the first request:

forwarding the first request based on a second destination identifier;

creating a second timestamp; and

transmitting the second timestamp and the second destination identifier to the at least one endpoint.

4. The method of claim 3 , wherein the first destination identifier and the second destination identifier are associated with the first pool of destinations.

5. The method of claim 3 , wherein the transmission of the second timestamp and the second destination identifier enables the at least one endpoint to transmit a second request associated with the second destination identifier and the second timestamp.

6. The method of claim 1 , further comprising:

receiving a second request not including any destination identifier from the at least one endpoint;

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

creating the first timestamp; and

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

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

7. The method of claim 1 , wherein the first destination identifier includes an Internet Protocol (IP) address and a port number.

8. A server for processing request for network resources in a network comprising at least one endpoint and a first pool of destinations, wherein the server comprises at least one processor configured to:

receive a first request from the at least one endpoint;

determine, from at least one of a first timestamp and a first pool identifier associated with the first request, whether to validate a first destination identifier associated with the first request;

responsive to the determination to validate the first destination identifier:

determine a target destination identifier, wherein determining the target destination identifier comprises:

acquiring configuration data that stores an association between the first pool identifier and one or more destination identifiers,

wherein the one or more destination identifiers includes a second destination identifier, and

determining the target destination identifier to be one of the first destination identifier and the second destination identifier, based on whether the first destination identifier is associated with the first pool identifier, and

forward the first request based on the target destination identifier;

receive a requested network resource associated with the target destination identifier; and

transmit the requested network resource to the at least one endpoint.

9. The server of claim 8 , wherein the at least one processor is further configured to: responsive to the determination that the first destination identifier is valid, forward the first request based on the first destination identifier.

10. The server of claim 8 , wherein the at least one processor is further configured to: if the requested network resource is not received within a duration after the first request is forwarded:

forward the first request based on a second destination identifier;

create a second timestamp; and

transmit the second timestamp and the second destination identifier to the at least one endpoint.

11. The server of claim 8 , wherein the at least one processor is further configured to:

receive a second request not including any destination identifier from the at least one endpoint;

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

create the first timestamp; and

transmit the first destination identifier, the first pool identifier, and the first timestamp to the at least one endpoint;

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

12. A non-transitory computer-readable storage medium that comprises a set of instructions that are executable by at least one processor to cause the at least one processor to perform a method for processing request for network resources in a network comprising at least one endpoint and a first pool of destinations, the method comprising:

receiving a first request from the at least one endpoint;

determining, from at least one of a first timestamp and a first pool identifier associated with the first request, whether to validate a first destination identifier associated with the first request;

responsive to the determination to validate the first destination identifier:

determining a target destination identifier, wherein determining the target destination identifier comprises:

acquiring configuration data that stores an association between the first pool identifier and one or more destination identifiers, wherein the one or more destination identifiers includes a second destination identifier, and

determining the target destination identifier to be one of the first destination identifier and the second destination identifier, based on whether the first destination identifier is associated with the first pool identifier, and

forwarding the first request based on the target destination identifier;

receiving a requested network resource associated with the target destination identifier; and

transmitting the requested network resource to the at least one endpoint.

13. The non-transitory computer-readable medium of claim 12 , wherein the method further comprises: if the requested network resource is not received within a duration after forwarding the first request:

forwarding the first request based on a second destination identifier;

creating a second timestamp; and

transmitting the second timestamp and the second destination identifier to the at least one endpoint.

14. The non-transitory computer-readable medium of claim 12 , wherein the method further comprises:

receiving a second request not including any destination identifier from the at least one endpoint;

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

creating the first timestamp; and

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

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

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 12, 2016
From: MURASHKO, IVAN VIKTOROVICH; RADKOV, ALEXEY KONSTANTINOVICH
To: RINGCENTRAL, INC.
Reel/Frame 038559/0174 →
Continuity (2)
Continuation PCTRU2015000301 · May 15, 2015
Related Publication 20160337264A1 · Nov 17, 2016