Hybrid networking system with seamless path switching of streams
First Claim
1. A method performed by a first device to transmit a stream of upper protocol layer packets to a second device, the method comprising:
- receiving the stream of upper protocol layer packets from an upper protocol layer;
inserting index marker packets into the stream, wherein each of the index marker packets marks a relative position in the stream, the index marker packets being different from the upper protocol layer packets;
transmitting a first portion of the stream including at least a first number of the index marker packets to the second device via a first transmission medium;
after transmitting the first portion of the stream, determining to discontinue transmitting the stream via the first transmission medium and determining to transmit a second portion of the stream including at least a second number of the index marker packets via a second transmission medium, the second transmission medium different from the first transmission medium; and
transmitting the second portion of the stream including the second number of index marker packets to the second device via the second transmission medium.
3 Assignments
0 Petitions
Accused Products
Abstract
System and method for switching a stream to a new transmission medium. A first stream may be received. A first plurality of packets of the first stream may be transmitted to a second device on a first transmission medium. The first plurality of packets may include one or more index marker packets. It may be determined that at least a portion of the first plurality of packets may not have been received by the second device. A second plurality of packets of the first stream may be transmitted to the second device on a second transmission medium. The second plurality of packets may include at least a subset of the first plurality of packets and at least a subset of the one or more index marker packets. The one or more index marker packets may be configured for use by the second device to detect and discard duplicate packets.
-
Citations
34 Claims
-
1. A method performed by a first device to transmit a stream of upper protocol layer packets to a second device, the method comprising:
-
receiving the stream of upper protocol layer packets from an upper protocol layer; inserting index marker packets into the stream, wherein each of the index marker packets marks a relative position in the stream, the index marker packets being different from the upper protocol layer packets; transmitting a first portion of the stream including at least a first number of the index marker packets to the second device via a first transmission medium; after transmitting the first portion of the stream, determining to discontinue transmitting the stream via the first transmission medium and determining to transmit a second portion of the stream including at least a second number of the index marker packets via a second transmission medium, the second transmission medium different from the first transmission medium; and transmitting the second portion of the stream including the second number of index marker packets to the second device via the second transmission medium. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A first device, comprising:
-
a first network interface configured to couple the first device to a first transmission medium; a second network interface configured to couple the first device to a second transmission medium; a processor; and memory for storing instructions which, when executed by the processor, cause the first device to; receive a stream of upper protocol layer packets from an upper protocol layer; insert index marker packets into the stream, wherein each of the index marker packets marks a relative position in the stream, the index marker packets being different from the upper protocol layer packets; transmit a first portion of the stream including at least a first number of the index marker packets to a second device via the first transmission medium; after transmitting the first portion of the stream, determine to discontinue transmitting the stream via the first transmission medium and determine to transmit a second portion of the stream including at least a second number of the index marker packets via the second transmission medium, the second transmission medium different from the first transmission medium; and transmit the second portion of the stream including the second number of the index marker packets to the second device via the second transmission medium. - View Dependent Claims (17, 18, 19, 20, 21)
-
-
22. A system for transmitting a stream of upper protocol layer packets from a first device to a second device, the system comprising:
-
means for receiving the stream of upper protocol layer packets from an upper protocol layer means for inserting index marker packets into the stream, wherein each of the index marker packets marks a relative position in the stream, the index marker packets being different from the upper protocol layer packets; means for transmitting a first portion of the stream including at least a first number of the index marker packets to the second device via a first transmission medium; after transmitting the first portion of the stream, means for determining to discontinue transmitting the stream including at least a second number of the index marker packets via the first transmission medium and determining to transmit a second portion of the stream via a second transmission medium, the second transmission medium different from the first transmission medium; and means for transmitting the second portion of the stream including the second number of the index marker packets to the second device via the second transmission medium.
-
-
23. A non-transitory computer-readable memory medium comprising program instructions for transmitting a stream of upper protocol layer packets from a first device to a second device, wherein the program instructions are executable by one or more processors of the first device to cause the first device to:
-
receive the stream of upper protocol layer packets from an upper protocol layer; insert index marker packets into the stream, wherein each of the index marker packets marks a relative position in the stream, the index marker packets being different from the upper protocol layer packets; transmit a first portion of the stream including at least a first number of the index marker packets to the second device via a first transmission medium; after transmitting the first portion of the stream, determine to discontinue transmitting the stream via the first transmission medium and determine to transmit the a second portion of the stream including at least a second number of the index marker packets via a second transmission medium, the second transmission medium different from the first transmission medium; and transmit the second portion of the stream including the second number of the index marker packets to the second device via the second transmission medium.
-
-
24. A method performed by a receiving device, the method comprising:
-
receiving a first portion of a stream of upper protocol layer packets and a first number of index marker packets via a first transmission medium, wherein each of the index marker packets marks a relative position in the stream; receiving a second portion of the stream and a second number of the index marker packets via a second transmission medium in response to a change in transmission of the stream from the first transmission medium to the second transmission medium; determining, based, at least in part, on index numbers of the index marker packets in the first number of the index marker packets and the second number of the index marker packets, that one or more duplicate upper protocol layer packets were received via the first transmission medium and via the second transmission medium; and discarding the one or more duplicate upper protocol layer packets and the index marker packets before processing the stream of upper protocol layer packets. - View Dependent Claims (25, 26, 27)
-
-
28. A device, comprising:
-
a first network interface for coupling the device to a first transmission medium and configured to receive a first portion of a stream of upper protocol layer packets and a first number of index marker packets via the first transmission medium, wherein each of the index marker packets marks a relative position in the stream; a second network interface for coupling the device to a second transmission medium and configured to receive a second portion of the stream and a second number of the index marker packets via the second transmission medium in response to a change in transmission of the stream from the first transmission medium to the second transmission medium; a processor; and memory for storing instructions which, when executed by the processor, cause the device to; determine, based, at least in part, on index numbers of the index marker packets in the first number of the index marker packets and the second number of the index marker packets, that one or more duplicate upper protocol layer packets were received via the first transmission medium and via the second transmission medium; and discard the one or more duplicate upper protocol layer packets and the index marker packets before processing the stream of upper protocol layer packets. - View Dependent Claims (29, 30, 31)
-
-
32. A system for a receiving device, the system comprising:
-
means for receiving a first portion of a stream of upper protocol layer packets and a first number of index marker packets via a first transmission medium, wherein each of the index marker packets marks a relative position in the stream; means for receiving a second portion of the stream and a second number of the index marker packets via a second transmission medium in response to a change in transmission of the stream from the first transmission medium to the second transmission medium; means for determining, based, at least in part, on index numbers of the index marker packets in the first number of the index marker packets and the second number of the index marker packets, that one or more duplicate upper protocol layer packets were received via the first transmission medium and via the second transmission medium; and means for discarding the one or more duplicate upper protocol layer packets and the index marker packets before processing the stream of upper protocol layer packets.
-
-
33. A non-transitory computer-readable memory medium comprising program instructions for detecting and removing received duplicate packets, wherein the program instructions are executable by one or more processors of a receiving device to cause the receiving device to:
-
receive a first portion of a stream of upper protocol layer packets and a first number of index marker packets via a first transmission medium, wherein each of the index marker packets marks a relative position in the stream; receive a second portion of the stream of upper protocol layer packets and a second number of the index marker packets via a second transmission medium in response to a change in transmission of the stream from the first transmission medium to the second transmission medium; determine, based, at least in part, on index numbers of the index marker packets in the first number of the index marker packets and the second number of the index marker packets, that one or more duplicate upper protocol layer packets were received via the first transmission medium and via the second transmission medium; and discard the one or more duplicate upper protocol layer packets and the index marker packets before processing the stream.
-
-
34. A method for re-ordering out-of-order packets, the method comprising:
-
receiving, via a first transmission medium a first plurality of packets associated with a packet stream followed by an end-of-stream marker packet that is not associated with the packet stream; receiving, via a second transmission medium, a beginning-of-stream marker packet that is not associated with the packet stream followed by a second plurality of packets associated with the packet stream; buffering at least some of the second plurality of packets that are received prior to the end-of-stream marker packet; processing the first plurality of packets and the end-of-stream marker packet; and processing the beginning-of-stream marker packet and the second plurality of packets after processing the end-of-stream marker packet.
-
Specification