×

Multi-path routing

  • US 10,044,604 B1
  • Filed: 09/22/2015
  • Issued: 08/07/2018
  • Est. Priority Date: 09/22/2015
  • Status: Active Grant
First Claim
Patent Images

1. A method for managing real time communications comprising:

  • establishing, by a client device, a first plurality of user datagram protocol (“

    UDP”

    ) flows with a source device, wherein each UDP flow of the first plurality of UDP flows is defined by a set of network addresses, a transmission port, and a protocol specification, and wherein each UDP flow of the first plurality of UDP flows is associated with a different network path;

    transmitting, by the client device, at least one probing packet along the first plurality of UDP flows;

    receiving, by the client device, information from the source device, the information responsive to receipt of the transmitted probing packet;

    generating, by the client device, a first prioritized plurality of UDP flows based, at least in part, on the first plurality of UDP flows and the information from the source device;

    selecting, by the client device, a first UDP flow and an associated first network path from the first prioritized plurality of UDP flows;

    transmitting, by the client device;

    data communications utilizing the first UDP flow and the first network path;

    establishing, by the source device, a second plurality of UDP flows with the client device, wherein each UDP flow of the second plurality of UDP flows is defined by a set of network addresses, a transmission port and a protocol specification, and wherein each UDP flow of the second plurality of UDP flows is associated with a different network path;

    transmitting, by the source device, at least one probing packet along each of the second plurality of UDP flows;

    receiving, by the source device, information from the client device, the information responsive to receipt of the transmitted probing packet;

    generating, by the source device, a second prioritized plurality of UDP flows based, at least in part, on the second plurality of UDP flows and the information from the source device;

    selecting, by the source device, a second UDP flow and an associated second network path from the second prioritized plurality of UDP flows;

    transmitting, by the source device, data communications utilizing the second UDP flow and the second network path;

    determining, by the client device, that the data communications utilizing the first UDP flow and the first network path have satisfied a criterion;

    in response to the determination,transmitting, by the client device, at least one additional probing packet along the first plurality of established UDP flows;

    receiving, by the client device, additional information from the source device, the additional information responsive to receipt of the at least one additional probing packet;

    updating, by the client device, the first prioritized plurality of UDP flows based, at least in part, on the additional information;

    selecting, by the client device, an updated UDP flow and an associated updated network path from the first prioritized plurality of UDP flows; and

    transmitting, by the client device, data communications utilizing the updated UDP flow and the updated network path.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×