System and method for providing rapid rerouting of real-time multi-media flows
First Claim
1. A method for providing rapid rerouting of real-time multi-media data flows, wherein each flow comprises packets flowing between a first endpoint and a second endpoint, wherein each endpoint comprises a network address and source port, the method comprising the steps of:
- receiving a plurality of data packets at a first endpoint from a second endpoint, each of the packets corresponding to a first flow;
determining a translated source address and a translated destination address for each said data packet;
selecting one forwarding destination for each data packet from a plurality of forwarding destinations when more than one path to the translated destination address is available, wherein said selecting is based on flow quality statistics associated with the first flow;
performing flow processing, wherein said step of performing flow processing further comprises the steps of;
determining a source address and a destination address of said data packet;
determining if a flow transform record (FTR) is located within said first endpoint;
if said FTR exists within said first endpoint, retrieving said FTR and determining whether to translate said source address, said destination address, or both said source address and said destination address in accordance with said retrieved FTR;
determining if said data packet is a real-time control protocol (RTCP) data packet; and
if said data packet is an RTCP data packet, processing said RTCP data packet to determine flow quality statistics.
6 Assignments
0 Petitions
Accused Products
Abstract
A system and method for providing rapid rerouting of real-time transport protocol (RTP) multi-media flows is disclosed. Generally, a first endpoint is connected to a second endpoint, wherein the first endpoint comprises a transceiver, software stored within the first endpoint defining functions to be performed by the first endpoint, and a processor configured by the software. The processor is configured to perform the steps of, performing flow processing on a data packet received at a first endpoint, from a second endpoint, removing a multi-protocol label switching (MPLS) tag from the data packet, translating a source address and destination address of the data packet, and determining a forwarding destination if more than one destination address of the data packet is provided.
-
Citations
31 Claims
-
1. A method for providing rapid rerouting of real-time multi-media data flows, wherein each flow comprises packets flowing between a first endpoint and a second endpoint, wherein each endpoint comprises a network address and source port, the method comprising the steps of:
-
receiving a plurality of data packets at a first endpoint from a second endpoint, each of the packets corresponding to a first flow; determining a translated source address and a translated destination address for each said data packet; selecting one forwarding destination for each data packet from a plurality of forwarding destinations when more than one path to the translated destination address is available, wherein said selecting is based on flow quality statistics associated with the first flow; performing flow processing, wherein said step of performing flow processing further comprises the steps of; determining a source address and a destination address of said data packet; determining if a flow transform record (FTR) is located within said first endpoint; if said FTR exists within said first endpoint, retrieving said FTR and determining whether to translate said source address, said destination address, or both said source address and said destination address in accordance with said retrieved FTR; determining if said data packet is a real-time control protocol (RTCP) data packet; and if said data packet is an RTCP data packet, processing said RTCP data packet to determine flow quality statistics. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system for providing rapid rerouting of real-time multi-media data flows, wherein each flow comprises packets flowing between a first endpoint and a second endpoint, wherein each endpoint comprises a network address and source port, the system comprising:
-
a first endpoint, connected to a second endpoint, wherein said first endpoint comprises; a transceiver; software stored within said first endpoint defining functions to be performed by said first endpoint; and a processor configured by said software to perform the steps of; receiving a plurality of data packets at the first endpoint from the second endpoint, each of the packets corresponding to a first flow; determining a translated source address and a translated destination address for each said data packet; selecting one forwarding destination for each data packet from a plurality of forwarding destinations when more than one path to the translated destination address is available, wherein said selecting is based on flow quality statistics associated with the first flow; performing flow processing, wherein said step of performing flow processing further comprises the steps of; determining a source address and a destination address of said data packet; determining if a flow transform record (FTR) is located within said first endpoint; if said FTR exists within said first endpoint, retrieving said FTR and determining whether to translate said source address, said destination address, or both said source address and said destination address in accordance with said retrieved FTR; determining if said data packet is a real-time control protocol (RTCP) data packet; and if said data packet is an RTCP data packet, processing said RTCP data packet to determine one or more flow quality statistics. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A method for providing rapid rerouting of real-time multi-media data flows, wherein each flow comprises packets flowing between a first endpoint and a second endpoint, wherein each endpoint comprises a network address and source port, the method comprising the steps of:
-
receiving a plurality of data packets at a first endpoint from a second endpoint, each of the packets corresponding to a first flow; determining a translated source address and a translated destination address for each said data packet; selecting one forwarding destination for each data packet from a plurality of forwarding destinations when more than one path to the translated destination address is available, wherein said selecting is based on flow quality statistics associated with the first flow; detecting a plurality of flow interruptions, each interruption being an interruption in one of a plurality of flows to a first one of the forwarding destinations; determining the number of detected flow interruptions to be a substantial portion of the total number of flows from the first endpoint to the first one of the forwarding destinations; and selecting a second forwarding destination as the one forwarding destination, responsive to the step of detecting the number of detected flow interruptions.
-
-
24. A system for providing rapid rerouting of real-time multi-media data flows, wherein each flow comprises packets flowing between a first endpoint and a second endpoint, wherein each endpoint comprises a network address and source port, the system comprising:
a first endpoint, connected to a second endpoint, wherein said first endpoint comprises; a transceiver; software stored within said first endpoint defining functions to be performed by said first endpoint; and a processor configured by said software to perform the steps of; receiving a plurality of data packets at the first endpoint from the second endpoint, each of the packets corresponding to a first flow; determining a translated source address and a translated destination address for each said data packet; and selecting one forwarding destination for each data packet from a plurality of forwarding destinations when more than one path to the translated destination address is available, wherein said selecting is based on flow quality statistics associated with the first flow; detecting a plurality of flow interruptions, each interruption being an interruption in one of a plurality of flows to a first one of the forwarding destinations; determining the number of detected flow interruptions to be a substantial portion of the total number of flows from the first endpoint to the first one of the forwarding destinations; and selecting a second forwarding destination as the one forwarding destination, responsive to the step of detecting the number of detected flow interruptions.
-
25. A method for providing rapid rerouting of real-time multi-media data flows across multiple available paths in a network, the method comprising the steps of:
-
receiving a packet at a first media router, the packet belonging to a forward flow from a source endpoint to a destination endpoint; detecting an interruption in a reverse flow from the destination endpoint to the source endpoint through the first media router; selecting a forwarding destination from a plurality of forwarding destinations when more than one path to the destination endpoint is available, responsive to the interruption; forwarding the packet to the selected forwarding destination. detecting a plurality of reverse flow interruptions, each reverse flow interruption being an interruption in one of a plurality of reverse flows from the destination endpoint to the source endpoint through the first media router; determining the number of detected reverse flow interruptions in the plurality to be a substantial portion of the total number of flows from the destination endpoint to the source endpoint through the first media router; and selecting the forwarding destination, responsive to the step of detecting the number of detected reverse flow interruptions. - View Dependent Claims (26, 27, 28, 29, 30, 31)
-
Specification