IP Library Granted Patent US 10,523,528
Granted Patent B2
US 10,523,528 · App. 15/602,038 · Granted Dec 31, 2019

Determination of quality of service of a network tunnel

Inventor: Murtuza S. Attarwala (Davis, CA)
Assignee: Cisco Technology, Inc.
H04L41/5038H04L12/4633H04L41/08H04L43/087H04L43/0829H04L43/0864H04L43/10H04L43/106H04L45/22
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,523,528
App. No.
15/602,038
Granted
Dec 31, 2019
Kind
B2
Abstract

In some examples, an example method to measure quality of service (QoS) of a network tunnel may include configuring a network tunnel from a tunnel source endpoint to a tunnel destination endpoint, transmitting multiple status packets to the tunnel destination endpoint, receiving multiple forwarded status packets from the tunnel destination endpoint, determining a time of receipt of each of the forwarded status packets, and determining a QoS measure of the network tunnel based on a time of transmission of each of the multiple status packets and the time of receipt of each of the forwarded status packets.

Claims (23)

1. A method to transmit data packets through a network tunnel based on a quality of service (QoS) of the network tunnel, the method comprising:

transmitting, by a tunnel source endpoint, the data packets through an arbitrary network tunnel of a plurality of network tunnels, each of the plurality of network tunnels being from the tunnel source endpoint to a respective one of a plurality of tunnel destination endpoints, the data packets destined for an application, the arbitrary network tunnel being arbitrary because it was selected without knowledge of the QoS of the plurality of network tunnels;

buffering, by the tunnel source endpoint, the transmitted data packets destined for the application;

selecting, by the tunnel source endpoint, one network tunnel of the plurality of network tunnels as a preferred network tunnel for transmitting data packets destined for the application, the selecting of the one network tunnel of the plurality of network tunnels being based on QoS measures of each of the plurality of network tunnels, wherein the QoS measures are determined based on transmission of status packets to each of the plurality of tunnel destination endpoints;

retransmitting, in response to the selected one network tunnel being different from the arbitrary network tunnel, the buffered the transmitted data packets through the selected one network tunnel; and

transmitting, by the tunnel source endpoint, subsequent data packets destined for the application through the selected one network tunnel of the plurality of network tunnels.

2. The method of claim 1 , wherein the tunnel includes a generic routing encapsulation (GRE) tunnel, and further wherein the status packet includes a GRE keepalive packet.

3. A non-transitory media storing instructions which when executed by a system cause the system to transmit data packets through a network tunnel based on a quality of service (QoS) of the network tunnel perform operations comprising:

transmitting, by a tunnel source endpoint, the data packets through an arbitrary network tunnel of a plurality of network tunnels, each of the plurality of network tunnels being from the tunnel source endpoint to a respective one of a plurality of tunnel destination endpoints, the data packets destined for an application, the arbitrary network tunnel being arbitrary because it was selected without knowledge of the QoS of the plurality of network tunnels;

buffering, by the tunnel source endpoint, the transmitted data packets destined for the application;

selecting, by the tunnel source endpoint, one network tunnel of the plurality of network tunnels as a preferred network tunnel for transmitting data packets destined for the application, the selecting of the one network tunnel of the plurality of network tunnels being based on QoS measures of each of the plurality of network tunnels, wherein the QoS measures are determined based on transmission of status packets to each of the plurality of tunnel destination endpoints;

retransmitting, in response to the selected one network tunnel being different from the arbitrary network tunnel, the buffered the transmitted data packets through the selected one network tunnel; and

transmitting, by the tunnel source endpoint, subsequent data packets destined for the application through the selected one network tunnel of the plurality of network tunnels.

4. The media of claim 3 , wherein the tunnel includes a generic routing encapsulation (GRE) tunnel, and further wherein the status packet includes a GRE keepalive packet.

5. A system to transmit data packets through a network tunnel based on a quality of service (QoS) of the network tunnel, the system comprising:

a processor;

a non-transitory memory storing instructions which when executed by the processor cause the processor to perform operations comprising:

transmitting, by a tunnel source endpoint, the data packets through an arbitrary network tunnel of a plurality of network tunnels, each of the plurality of network tunnels being from the tunnel source endpoint to a respective one of a plurality of tunnel destination endpoints, the data packets destined for an application, the arbitrary network tunnel being arbitrary because it was selected without knowledge of the QoS of the plurality of network tunnels;

buffering, by the tunnel source endpoint, the transmitted data packets destined for the application;

selecting, by the tunnel source endpoint, one network tunnel of the plurality of network tunnels as a preferred network tunnel for transmitting data packets destined for the application, the selecting of the one network tunnel of the plurality of network tunnels being based on QoS measures of each of the plurality of network tunnels, wherein the QoS measures are determined based on transmission of status packets to each of the plurality of tunnel destination endpoints;

retransmitting, in response to the selected one network tunnel being different from the arbitrary network tunnel, the buffered the transmitted data packets through the selected one network tunnel; and

transmitting, by the tunnel source endpoint, subsequent data packets destined for the application through the selected one network tunnel of the plurality of network tunnels.

6. The system of claim 5 , wherein the tunnel includes a generic routing encapsulation (GRE) tunnel, and further wherein the status packet includes a GRE keepalive packet.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2018
From: ATTWARWALA, MURTUZA S.
To: VIPTELA, INC.
Reel/Frame 046833/0810 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2018
From: VIPTELA LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 045967/0666 →
Continuity (1)
Related Publication 20180337833A1 · Nov 22, 2018
Cited By (1)
US 12,301,552