Method and apparatus for tunneling data through a single port
First Claim
1. A tangible computer readable storage medium having program instructions for communicating port traffic through a single Hypertext Transfer Protocol (HTTP) port, comprising:
- a) program instructions for establishing a connection between a first and second computing device;
b) program instructions for transmitting allocation data associated with the port traffic to a tunneling driver;
c) program instructions for segmenting the port traffic into datagrams;
d) program instructions for appending a first header to each one of the datagrams; and
e) program instructions for appending a Transmission Control Protocol/Internet Protocol (TCP/IP) header over the first header, the program instructions for appending a TCP/IP header including,program instructions for inserting a flag into a lower byte of a window size field of the TCP/IP header; and
program instructions for inserting a checksum into an upper byte of the window size field of the TCP/IP header,wherein the TCP/IP header is configured to direct each one of the datagrams to the single HTTP port.
2 Assignments
0 Petitions
Accused Products
Abstract
A communication protocol stack for enabling multimedia communication between communicating devices where multiple port communication data is tunneled through a single TCP port is provided. The communication protocol stack includes, at an application level, the capability to identify whether received communication data is for a communication port. If the received communication data is for the communication port, then the communication protocol stack includes the ability to forward identification data regarding the received communication data to a table in advance of forwarding the received communication data to a driver level of the communication protocol stack. A method, computer readable medium, and a system for tunneling port traffic through a single HTTP port are also provided.
82 Citations
26 Claims
-
1. A tangible computer readable storage medium having program instructions for communicating port traffic through a single Hypertext Transfer Protocol (HTTP) port, comprising:
-
a) program instructions for establishing a connection between a first and second computing device; b) program instructions for transmitting allocation data associated with the port traffic to a tunneling driver; c) program instructions for segmenting the port traffic into datagrams; d) program instructions for appending a first header to each one of the datagrams; and e) program instructions for appending a Transmission Control Protocol/Internet Protocol (TCP/IP) header over the first header, the program instructions for appending a TCP/IP header including, program instructions for inserting a flag into a lower byte of a window size field of the TCP/IP header; and program instructions for inserting a checksum into an upper byte of the window size field of the TCP/IP header, wherein the TCP/IP header is configured to direct each one of the datagrams to the single HTTP port. - View Dependent Claims (2, 3, 4, 18, 19, 20)
-
-
5. A method for communicating port traffic through a single Hypertext Transfer Protocol (HTTP) port, comprising:
-
a) establishing a connection between a first and second computing device; b) transmitting allocation data associated with the port traffic to a tunneling driver; c) segmenting the port traffic into datagrams; d) appending a first header to each one of the datagrams; and e) appending a Transmission Control Protocol/Internet Protocol (TCP/IP) header over the first header, the method operation of appending a TCP/IP header including, inserting a flag into a lower byte of a window size field of the TCP/IP header; and inserting a checksum into an upper byte of the window size field of the TCP/IP header, wherein the TCP/IP header is configured to direct each one of the datagrams to the single HTTP port. - View Dependent Claims (6, 7, 8)
-
-
9. A tangible computer readable storage medium having program instructions for tunneling data associated with a packet based multimedia communication standard, comprising:
-
program instructions for intercepting a library call associated with the multimedia communication standard; program instructions for registering identification data associated with the library call;
program instructions for adding a Transmission Control Protocol/Internet Protocol (TCP/IP) header over a pre-existing header of a data packet related to the identification data, the program instructions for adding a TCP/IP header including,program instructions for inserting a flag into a lower byte of a window size field of the TCP/IP header; and program instructions for inserting a checksum into an upper byte of the window size field of the TCP/IP header; and program instructions for transmitting the data packet having the (TCP/IP) header through a firewall. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A method for tunneling data associated with a packet based multimedia communication standard, comprising:
-
intercepting a library call associated with the multimedia communication standard; registering identification data associated with the library call; adding a Transmission Control Protocol/Internet Protocol (TCP/IP) header over a pre-existing header of a data packet related to the identification data, the method operation of adding a TCP/IP header including, inserting a flag into a lower byte of a window size field of the TCP/IP header; and inserting a checksum into an upper byte of the window size field of the TCP/IP header; and transmitting the data packet having the (TCP/IP) header through a firewall. - View Dependent Claims (15, 16, 17)
-
-
21. A system for tunneling port traffic destined for multiple ports through a single port, comprising:
-
a server configured to transmit data packets each having a tunneling header in addition to a packet header; a firewall limiting a number of unblocked TOP ports, the firewall capable of analyzing the tunneling header, wherein the tunneling header is associated with the single port so that the firewall allows the data packets to pass through; and a client configured to receive the data packets from the firewall through the single port, the client further configured to identify a flag and a checksum associated with the tunneling header in order to strip the tunneling header for access to the packet header, wherein the flag and the checksum are incorporated into a lower byte and a upper byte of a window size field of the tunneling header respectively. - View Dependent Claims (22, 23)
-
-
24. A communication method utilizing protocol stack for enabling multimedia communication between communicating devices, comprising:
-
at an application level, identifying whether received communication data is for a communication port; and if the received communication data is for the communication port, forwarding identification data regarding the received communication data to a table in advance of forwarding the received communication data to a driver level of the communication protocol stack, wherein a tunneling driver associated with the driver level inserts a tunneling header over a header of the communication data when the communication data is for the communication port, wherein the method operation of inserting a tunneling header includes, inserting a flag into a lower byte of a window size field of the tunneling header; and inserting a checksum into an upper byte of the window size field of the tunneling header. - View Dependent Claims (25, 26)
-
Specification