IP Library Granted Patent US 9,137,088
Granted Patent B2
US 9,137,088 · App. 13/936,952 · Granted Sep 15, 2015

Voice over internet protocol multi-routing with packet interleaving

Inventors: Edward Walter (Boerne, TX); Michael Raftelis (Austin, TX)
Assignee: AT&T Intellectual Property I, L.P.
H04L29/06176H04L65/608
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 9,137,088
App. No.
13/936,952
Granted
Sep 15, 2015
Kind
B2
Abstract

A method and system for processing data packets is described within. The method executed by the system includes the steps of receiving a first data packet, determining if the first data packet is a first expected data packet, determining if the first data packet is a next expected date packet, storing the first data patent if the first data packet is the next expected data packet and waiting a period of time for a second data packet.

Claims (37)

1. A method for processing data packets having a first data packet and a second data packet, comprising:

receiving, via a processor, the first data packet from one of: a first data stream on a first communication path of a network and a second data stream on a second communication path of the network, the first and second data streams comprising a plurality of data packets, the plurality of data packets of the second data stream being a duplicate of the plurality of data packets of the first data stream;

determining, via the processor, whether the first data packet is a first expected data packet or a next expected data packet;

storing, via the processor, the first data packet in a memory unit when the first data packet is the next expected data packet; and

waiting, via the processor, a period of time for the second data packet from one of: the first data stream and the second data stream.

2. The method of claim 1 , wherein the determining whether the first data packet is the first expected data packet or the next expected data packet comprises:

comparing a packet sequence number of the first packet to an expected data packet sequence number.

3. The method of claim 2 , wherein the packet sequence number comprises a real-time transfer protocol data packet sequence number.

4. The method of claim 1 , wherein when the second data packet is not received within the period of time, the first data packet is discarded from the memory unit.

5. The method of claim 4 , wherein the period of time is about 30milliseconds.

6. The method of claim 1 , wherein the first communication path and the second communication path are determined via two different routing tables.

7. The method of claim 1 , wherein the processor is deployed within a router.

8. A non-transitory computer readable medium storing a computer program which, when executed by a processor, causes the processor to perform operations for processing data packets having a first data packet and a second data packet, the operations comprising:

receiving the first data packet from one of: a first data stream on a first communication path of a network and a second data stream on a second communication path of the network, the first and second data streams comprising a plurality of data packets, the plurality of data packets of the second data stream being a duplicate of the plurality of data packets of the first data stream;

determining whether the first data packet is a first expected data packet or a next expected data packet;

storing the first data packet in a memory unit when the first data packet is the next expected data packet; and

waiting a period of time for the second data packet from one of: the first data stream and the second data stream.

9. The non-transitory computer readable medium of claim 8 , wherein the determining whether the first data packet is the first expected data packet or the next expected data packet comprises:

comparing a packet sequence number of the first packet to an expected data packet sequence number.

10. The non-transitory computer readable medium of claim 9 , wherein the packet sequence number comprises a real-time transfer protocol data packet sequence number.

11. The non-transitory computer readable medium of claim 8 , wherein when the second data packet is not received within the period of time, the first data packet is discarded from the memory unit.

12. The non-transitory computer readable medium of claim 11 , wherein the period of time is about 30 milliseconds.

13. The non-transitory computer readable medium of claim 8 , wherein the first communication path and the second communication path are determined via two different routing tables.

14. The non-transitory computer readable medium of claim 8 , wherein the processor is deployed within a router.

15. A system for processing data packets having a first data packet and a second data packet, the system comprising:

a processor; and

a computer-readable medium storing a plurality of instructions which, when executed by the processor, cause the processor to perform operations, the operations comprising:

receiving the first data packet from one of: a first data stream on a first communication path of a network and a second data stream on a second communication path of the network, the first and second data streams comprising a plurality of data packets, the plurality of data packets of the second data stream being a duplicate of the plurality of data packets of the first data stream;

determining whether the first data packet is a first expected data packet or a next expected data packet;

storing the first data packet in a memory unit when the first data packet is the next expected data packet; and

waiting a period of time for the second data packet from one of: the first data stream and the second data stream.

16. The system of claim 15 , wherein the determining whether the first data packet is the first expected data packet or the next expected data packet comprises:

comparing a packet sequence number of the first packet to an expected data packet sequence number.

17. The system of claim 16 , wherein the packet sequence number comprises a real-time transfer protocol data packet sequence number.

18. The system of claim 15 , wherein when the second data packet is not received within the period of time, the first data packet is discarded from the memory unit.

19. The system of claim 18 , wherein the period of time is about 30milliseconds.

20. The system of claim 15 , wherein the first communication path and the second communication path are determined via two different routing tables.

Assignments (3)
CHANGE OF NAME Recorded Jan 26, 2015
From: SBC KNOWLEDGE VENTURES, L.P.
To: AT&T KNOWLEDGE VENTURES, L.P.
Reel/Frame 034816/0311 →
CHANGE OF NAME Recorded Jan 26, 2015
From: AT&T KNOWLEDGE VENTURES, L.P.
To: AT&T INTELLECTUAL PROPERTY I, L.P.
Reel/Frame 034816/0326 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 26, 2013
From: WALTER, EDWARD; RAFTELIS, MICHAEL
To: SBC KNOWLEDGE VENTURES, L.P.
Reel/Frame 031286/0181 →
Continuity (3)
Continuation 12540106 · Aug 12, 2009
Continuation 11336199 · Jan 20, 2006
Related Publication 20130294442A1 · Nov 7, 2013