IP Library Granted Patent US 11,863,598
Granted Patent B2
US 11,863,598 · App. 17/452,737 · Granted Jan 2, 2024

Network-based communication techniques using enhanced communication protocol

Inventors: Charles Rice (Simi Valley, CA); Christopher Fogel (Simi Valley, CA)
Assignee: InterMetro Communications, Inc.
H04L65/1104H04L65/1073H04L65/65H04L65/75
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,863,598
App. No.
17/452,737
Granted
Jan 2, 2024
Kind
B2
Abstract

Systems and methods for network-based communication techniques using an enhanced communication protocol. An example method includes receiving, from a first user device, a registration message comprising a plurality of communication paths over which the first user device is accessible, the communications paths indicating respective IP address/port pairs associated with the first user device, wherein information in the registration message is provided according to the session initiation protocol (SIP); setting a particular communication path as the preferred communication path for the first user device; and establishing a SIP connection between the first user device and the second user device, wherein SIP messages are routed from the second user device to the first user device via the particular communication path.

Claims (57)

1. A dynamic routing system comprising:

a memory configured to store computer-executable instructions, and

a hardware processor in communication with the memory and configured to execute the specific computer-executable instructions to perform operations comprising:

receiving, from a first user device, a registration message comprising a plurality of communication paths over which the first user device is accessible, the plurality of communication paths indicating respective IP address/port pairs associated with the first user device, wherein information in the registration message is provided according to a particular control protocol;

setting a particular communication path as the preferred communication path for the first user device; and

establishing a connection between the first user device and the second user device according to the particular control protocol, wherein messages are routed to the first user device via the particular communication path,

and wherein each port indicated by a communication path is configured to be left open, such that the port is configured to transmit and/or receive information.

2. The dynamic routing system of claim 1 , wherein each communication path of the plurality of communication paths is associated with a respective communication network, and wherein the particular communication path is set based on determining respective signal strengths associated with the communication networks.

3. The dynamic routing system of claim 1 , wherein the first user device identifies the particular communication path as being the preferred communication path.

4. The dynamic routing system of claim 1 , wherein the operations further comprise:

receiving, from the first user device, a switch message indicating that the first user device is not accessible via the particular communication path; and

routing the messages to the first user device over a different communication path of the plurality of communication paths, such that the established connection is maintained.

5. The dynamic routing system of claim 4 , wherein the switch message is received via the different communication path.

6. The dynamic routing system of claim 1 , wherein the particular control protocol is the session initiation protocol (SIP), wherein the messages are SIP messages and the connection is a SIP connection, and wherein the operations further comprise:

receiving, from the first user device, a switch message indicating that the first user device is to lose access to the particular communication path; and

routing SIP messages to the first user device over a different communication path of the plurality of communication paths, such that the SIP connection is maintained.

7. The dynamic routing system of claim 6 , wherein the switch message is received via the particular communication path or the different communication path.

8. The dynamic routing system of claim 6 , wherein each communication path is associated with a respective communication network, and wherein the first user device is determined to be navigating to a location at which a communication network associated with the particular communication path is below a threshold.

9. The dynamic routing system of claim 1 , wherein the dynamic routing system is configured to assign a respective port of the dynamic routing system to each of the plurality of communication paths.

10. A dynamic routing system comprising:

a memory configured to store computer-executable instructions, and

a hardware processor in communication with the memory and configured to execute the specific computer-executable instructions to perform operations comprising:

receiving, from a first user device, a registration message comprising a plurality of communication paths over which the first user device is accessible, the plurality of communication paths indicating respective IP address/port pairs associated with the first user device, wherein information in the registration message is provided according to a particular control protocol, and wherein the registration message includes a first media channel and a second media channel, and wherein the second media channel includes information indicative of a subset of the plurality of communication paths;

setting a particular communication path as the preferred communication path for the first user device; and

establishing a connection between the first user device and the second user device according to the particular control protocol, wherein messages are routed to the first user device via the particular communication path.

11. The dynamic routing system of claim 10 , wherein the first media channel is configured to include a media stream payload.

12. A dynamic routing system comprising:

a memory configured to store computer-executable instructions, and

a hardware processor in communication with the memory and configured to execute the specific computer-executable instructions to perform operations comprising:

receiving, from a first user device, a registration message comprising a plurality of communication paths over which the first user device is accessible, the plurality of communication paths indicating respective IP address/port pairs associated with the first user device, wherein information in the registration message is provided according to a particular control protocol;

setting a particular communication path as the preferred communication path for the first user device; and

establishing a connection between the first user device and the second user device according to the particular control protocol, wherein messages are routed to the first user device via the particular communication path,

wherein the particular control protocol is the session initiation protocol (SIP), and wherein the registration message includes a header associated with identifying information according to SIP, wherein information indicative of a first communication path of the plurality of communication paths is associated with the header, and wherein information indicative of remaining of the communication paths is appended to the registration message.

13. A method implemented by a dynamic routing system of one or more computers, wherein the method comprises:

receiving, from a first user device, a registration message comprising a plurality of communication paths over which the first user device is accessible, the plurality of communication paths indicating respective IP address/port pairs associated with the first user device, wherein information in the registration message is provided according to a particular control protocol;

setting a particular communication path as the preferred communication path for the first user device; and

establishing a connection between the first user device and the second user device according to the particular control protocol, wherein messages are routed to the first user device via the particular communication path,

and wherein each port indicated by a communication path is configured to be left open, such that the port is configured to transmit and/or receive information.

14. The method of claim 13 , wherein each communication path of the plurality of communication paths is associated with a respective communication network, and wherein the particular communication path is set based on determining respective signal strengths associated with the communication networks.

15. The method of claim 13 , further comprising:

receiving, from the first user device, a switch message indicating that the first user device is to lose access to the particular communication path; and

routing the messages to the first user device over a different communication path of the plurality of communication paths, such that the established connection is maintained.

16. A method of claim 13 , implemented by a dynamic routing system of one or more computers, wherein the method comprises:

receiving, from a first user device, a registration message comprising a plurality of communication paths over which the first user device is accessible, the plurality of communication paths indicating respective IP address/port pairs associated with the first user device, wherein information in the registration message is provided according to a particular control protocol, and wherein the registration message includes a first media channel and a second media channel, and wherein the second media channel includes information indicative of a subset of the plurality of communication paths;

setting a particular communication path as the preferred communication path for the first user device; and

establishing a connection between the first user device and the second user device according to the particular control protocol, wherein messages are routed to the first user device via the particular communication path.

17. The method of claim 16 , wherein the first media channel is configured to include a media stream payload.

18. A method implemented by a dynamic routing system of one or more computers, wherein the method comprises:

receiving, from a first user device, a registration message comprising a plurality of communication paths over which the first user device is accessible, the plurality of communication paths indicating respective IP address/port pairs associated with the first user device, wherein information in the registration message is provided according to a particular control protocol;

setting a particular communication path as the preferred communication path for the first user device; and

establishing a connection between the first user device and the second user device according to the particular control protocol, wherein messages are routed to the first user device via the particular communication path,

wherein the particular control protocol is the session initiation protocol (SIP), and wherein the registration message includes a header associated with identifying information according to SIP, wherein information indicative of a first communication path of the plurality of communication paths is associated with the header, and wherein information indicative of remaining of the communication paths is appended to the registration message.

19. Non-transitory computer storage media storing instructions that when executed by a system of one or more processors, cause the one or more processors to perform operations comprising:

receiving, from a first user device, a registration message comprising a plurality of communication paths over which the first user device is accessible, the plurality of communication paths indicating respective IP address/port pairs associated with the first user device, wherein information in the registration message is provided according to a particular control protocol;

setting a particular communication path as the preferred communication path for the first user device; and

establishing a connection between the first user device and the second user device according to the particular control protocol, wherein messages are routed to the first user device via the particular communication path,

and wherein each port indicated by a communication path is configured to be left open, such that the port is configured to transmit and/or receive information.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2023
From: RICE, CHARLES; FOGEL, CHRISTOPHER
To: INTERMETRO COMMUNICATIONS, INC.
Reel/Frame 065619/0149 →
Continuity (2)
Provisional Application 63107284 · Oct 29, 2020
Related Publication 20220141258A1 · May 5, 2022