USRE46195EActiveUtility
Multipath transmission control protocol proxy
Est. expiryOct 15, 2030(~4.3 yrs left)· nominal 20-yr term from priority
Inventors:Sriganesh Kini
H04L 69/165H04L 45/24H04L 69/14
79
PatentIndex Score
4
Cited by
15
References
25
Claims
Abstract
An edge router runs a Multipath Transmission Control Protocol (MPTCP) proxy to allow for a host that implements TCP (Transmission Control Protocol) to operate normally yet reap the benefits of an MPTCP connection. An upgrade of a TCPIP stack on the host is not necessary. The edge router demultiplexes packets received from the host over a TCP connection to an MPTCP connection and multiplexes packets sent to the host over an MPTCP connection to a TCP connection. As a result, higher throughput of packet communication can be realized, for example, for improved video support.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method in a first electronic device that is an edge router to facilitate communications between a subscriber end station running Transmission Control Protocol (TCP) and a second electronic device that is one of a second edge router and server end station, the method comprising the steps of:
registering an Internet Protocol (IP) address of the subscriber end station with a domain name server to indicate that the subscriber end station is Multipath Transmission Control Protocol (MPTCP) capable, wherein the edge router runs an MPTCP proxy to facilitate the subscriber end station having only the appearance to the second electronic device of being MPTCP capable but in actuality is TCP capable and not MPTCP capable, wherein the second electronic device is running at least one of MPTCP and MPTCP proxy;
receiving packets from the subscriber end station destined for the second electronic device or from the second electronic device destined for the subscriber end station;
determining that the packets are received from the subscriber end station over a TCP connection or from the second electronic device over an MPTCP connection;
in response to determining that the packets are received from the subscriber end station over the TCP connection, performing the following steps:
demultiplexing the packets to convert the packets for transmission over the MPTCP connection, whereby utilizing MPTCP for the packets rather than maintaining TCP increases throughput by taking advantage of higher bandwidth capabilities of MPTCP compared to TCP; and
transmitting the packets over the MPTCP connection to the second edge router or server end station; and
in response to determining that the packets are received from the second electronic device over the MPTCP connection, performing the following steps:
multiplexing the packets to convert the packets for transmission over the TCP connection, whereby the edge router converting from MPTCP to TCP allows the subscriber end station to receive packets from the MPTCP connection without reconfiguring its own TCP setup; and
transmitting the packets over the TCP connection to the subscriber end station.
2. The method of claim 1 , wherein upon receiving the packets from the subscriber end station over the TCP connection, further performing the following steps:
terminating the TCP connection at the edge router; and
initiating the MPTCP connection at the edge router to transmit the demultiplexed packets to the second electronic device.
3. The method of claim 1 , wherein upon receiving the packets from the second electronic device over the MPTCP connection, further performing the following steps:
terminating the MPTCP connection at the edge router; and
initiating the TCP connection at the edge router to transmit the multiplexed packets to the subscriber end station.
4. The method of claim 1 , in response to determining that the packets are received from the second electronic device over the MPTCP connection, further performing the following steps:
storing header information from the packets received from the second electronic device over the MPTCP connection;
receiving an acknowledgement from the subscriber end station over the TCP connection, wherein the acknowledgement corresponds to the packets received from the second electronic device;
parsing the acknowledgement based on the header information for MPTCP; and
transmitting the parsed acknowledgement to the second electronic device over the MPTCP connection.
5. The method of claim 1 , in response to determining that the packets are received from the subscriber end station over the TCP connection, further performing the following steps:
storing header information from the packets received from the subscriber end station over the TCP connection;
receiving an acknowledgement from the second electronic device over the MPTCP connection, wherein the acknowledgement corresponds to the packets received from the subscriber end station;
converting the acknowledgement based on the header information for TCP; and
transmitting the converted acknowledgement to the subscriber end station over the TCP connection.
6. The method of claim 1 , wherein the subscriber end station is a host running TCP and unaware of an MPTCP conversion and wherein the second electronic device is a second edge router running MPTCP proxy for a second host running TCP, whereby two hosts running TCP utilize MPTCP advantages including higher bandwidth.
7. The method of claim 1 , wherein the subscriber end station is a host running TCP and unaware of the MPTCP conversion and wherein the second electronic device is a server running MPTCP.
8. An edge router configured to utilize a Multipath Transmission Control Protocol (MPTCP) connection for a subscriber end station running Transmission Control Protocol (TCP), the edge router being a first electronic device, the edge router comprising:
a registration module configured to register an Internet Protocol (IP) address of the subscriber end station with a domain name server to indicate that the subscriber end station is MPTCP capable, wherein the edge router runs MPTCP proxy to facilitate the subscriber end station having only the appearance to a second electronic device running at least one of MPTCP and MPTCP proxy of being MPTCP capable but in actuality is TCP capable and not MPTCP capable;
an input module configured to receive packets from the subscriber end station over a TCP connection;
a packet conversion module configured to demultiplex the packets to utilize MPTCP, whereby utilizing MPTCP for the packets rather than maintaining TCP increases throughput by taking advantage of higher bandwidth capabilities of MPTCP compared to TCP; and
an output module configured to transmit the packets out of the edge router over an MPTCP connection to the second electronic device, wherein the second electronic device runs one of MPTCP and MPTCP proxy and is one of a second edge router and a server end station.
9. The edge router of claim 8 , wherein the input module is also configured to receive another set of packets from the second electronic device over the MPTCP connection, the packet conversion module is also configured to multiplex the another set of packets to accommodate TCP, whereby by implementing MPTCP to TCP conversion of the another set of packets, the edge router allows the subscriber end station to receive packets from the MPTCP connection without reconfiguring its own TCP setup, and the output module is also configured to transmit the another set of packets out of the edge router over the TCP connection to the subscriber end station.
10. The edge router of claim 9 , wherein the packet conversion module is also configured to terminate the MPTCP connection between the second electronic device and the edge router and initiate the TCP connection between the edge router and the subscriber end station.
11. The edge router of claim 9 , wherein the packet conversion module is also configured to store header information from the packets received from the second electronic device over the MPTCP connection, the input module is also configured to receive an acknowledgement from the subscriber end station over the TCP connection, wherein the acknowledgement corresponds to the packets received from the second electronic device, wherein the packet conversion module is also configured to parse the acknowledgement based on the header information for MPTCP, and the output module to transmit the parsed acknowledgement to the second electronic device over the MPTCP connection.
12. The edge router of claim 8 , wherein the packet conversion module is also configured to terminate the TCP connection between the subscriber end station and the edge router and initiate the MPTCP connection between the edge router and the second electronic device.
13. The edge router of claim 8 , wherein the packet conversion module is also configured to store header information from the packets received from the subscriber end station over the TCP connection, the input module is also configured to receive an acknowledgement from the second electronic device over the MPTCP connection, wherein the acknowledgement corresponds to the packets received from the subscriber end station, the packet conversion module is also configured to convert the acknowledgement based on the header information for TCP, and the output module is also configured to transmit the converted acknowledgement to the subscriber end station over the TCP connection.
14. The edge router of claim 8 , wherein the subscriber end station running TCP is unaware of an MPTCP conversion and wherein the second electronic device is a second edge router configured to run MPTCP proxy for a second subscriber end station running TCP, whereby two subscriber end stations running TCP utilize MPTCP advantages including higher bandwidth.
15. The edge router of claim 8 , wherein the subscriber end station running TCP is unaware of the MPTCP conversion and wherein the second electronic device is a server end station configured to run MPTCP.
16. A method in a network element to facilitate communications between a first end station running Transmission Control Protocol (TCP) and a second end station, the method comprising:
registering an Internet Protocol (IP) address of the first end station with a domain name server to indicate that the first end station is Multipath Transmission Control Protocol (MPTCP) capable, wherein the network element runs an MPTCP proxy to facilitate the first end station having only the appearance to the second end station of being MPTCP capable but in actuality is TCP capable and not MPTCP capable, wherein the second end station is running at least one of MPTCP and MPTCP proxy; receiving packets from the first end station destined for the second end station or from the second end station destined for the first end station; determining that the packets are received from the first end station over a TCP connection or from the second end station over an MPTCP connection; in response to determining that the packets are received from the first end station over the TCP connection, performing the following:
converting the packets from TCP to MPTCP for transmission over the MPTCP connection, and
transmitting the packets over the MPTCP connection to the second end station; and
in response to determining that the packets are received from the second end station over the MPTCP connection, performing the following:
converting the packets from MPTCP to TCP for transmission over the TCP connection, and
transmitting the packets over the TCP connection to the first end station.
17. The method of claim 16, wherein the network element is a router, the first end station is a TCP server, and the second end station is an MPTCP client.
18. The method of claim 17, wherein the router includes an MPTCP proxy element, and wherein the MPTCP client is a subscriber terminal.
19. The method of claim 18, wherein the MPTCP proxy element is an MPTCP proxy application running in a virtual machine.
20. The method of claim 17, wherein the router is an edge router functioning as an MPTCP proxy.
21. The method of claim 17, wherein the router is a core router functioning as an MPTCP proxy.
22. The method of claim 16, wherein the network element converting the packets from TCP to MPTCP allows the first end station to send packets to the MPTCP connection without reconfiguring its own TCP setup, and wherein the network element converting the packets from MPTCP to TCP allows the first end station to receive packets from the MPTCP connection without reconfiguring its own TCP setup.
23. The method of claim 16, wherein converting the packets from TCP to MPTCP includes demultiplexing the packets for transmission over the MPTCP connection, and wherein converting the packets from MPTCP to TCP includes multiplexing the packets for transmission over the TCP connection.
24. A network element configured to execute program instructions, which, upon execution, cause the network element to facilitate communications between a first end station running Transmission Control Protocol (TCP) and a second end station by performing the following:
registering an Internet Protocol (IP) address of the first end station with a domain name server to indicate that the first end station is Multipath Transmission Control Protocol (MPTCP) capable; running an MPTCP proxy to facilitate the first end station having only the appearance to the second end station of being MPTCP capable but in actuality is TCP capable and not MPTCP capable, wherein the second end station is running at least one of MPTCP and MPTCP proxy; receiving a first set of packets from the first end station destined for the second end station; determining that the first set of packets is received from the first end station over a TCP connection; and in response to determining that the first set of packets is received from the first end station over the TCP connection, performing the following:
converting the packets in the first set of packets from TCP to MPTCP for transmission over an MPTCP connection, and
transmitting the packets in the first set of packets over the MPTCP connection to the second end station.
25. The network element of claim 24, wherein the program instructions, upon execution, cause the network element to facilitate communications between the first end station and the second end station by further performing the following:
receiving a second set of packets from the second end station destined for the first end station; determining that the second set of packets is received from the second end station over the MPTCP connection; and in response to determining that the second set of packets is received from the second end station over the MPTCP connection, performing the following:
converting the packets in the second set of packets from MPTCP to TCP for transmission over the TCP connection, and
transmitting the packets in the second set of packets over the TCP connection to the first end station.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.