UDP communication with TCP style programmer interface over wireless networks
First Claim
1. A method for transmitting data in a secure manner between a computing network and a remote device, each of the computing network and the remote device including a tunneling client, the method comprising:
- establishing a data tunnel leg between a tunneling switch of a carrier network and a tunneling client of a computing network;
at the tunneling switch of the carrier network, receiving a first packet from a tunneling client of a remote device in a UDP protocol, the first packet comprising a request for access to network data stored on the computing network;
transmitting a packet acknowledgement signal from the tunneling switch to the remote device, wherein the tunneling client of the remote device can use the packet acknowledgement signal to confirm that the first packet was accurately transmitted; and
transmitting, via the data tunnel leg, the first packet from the tunneling switch to the computing network.
3 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods provide for secure communications between local and remote devices or networks in virtual private networks. Data can be communicated between the local and remote devices using the User Datagram Protocol (UDP) to reduce network overhead for the data communications. The UDP-based data communications are made secure and reliable by various techniques, for example: confirming that a packet sent by a source component is received by the receiving component, and guaranteeing packet sequencing by buffering packets as they are received and only delivering them to the target in the original sequence that they were sent from the source. Because TCP based communications are common, a TCP-style API can be used to enable programmers to more easily implement the UDP-based communications. Other embodiments of the invention relate to transport protocol enhancements for use within virtual private networks, including protocol mapping, protocol buffering, and protocol filtering.
-
Citations
25 Claims
-
1. A method for transmitting data in a secure manner between a computing network and a remote device, each of the computing network and the remote device including a tunneling client, the method comprising:
-
establishing a data tunnel leg between a tunneling switch of a carrier network and a tunneling client of a computing network;
at the tunneling switch of the carrier network, receiving a first packet from a tunneling client of a remote device in a UDP protocol, the first packet comprising a request for access to network data stored on the computing network;
transmitting a packet acknowledgement signal from the tunneling switch to the remote device, wherein the tunneling client of the remote device can use the packet acknowledgement signal to confirm that the first packet was accurately transmitted; and
transmitting, via the data tunnel leg, the first packet from the tunneling switch to the computing network. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A software development kit comprising:
-
an application program interface module comprising a set of routines, protocols, and tools for building software applications, wherein the application program interface module presents a TCP style interface to a programmer;
a UDP-header library comprising one or more headers for use by a programmer in developing an application that applies UDP formatting to data for transmission over a network; and
a network communications module comprising code operable to perform a method for transmitting data in a secure manner between a computing network and a remote device, each of the computing network and the remote device including a tunneling client, the method comprising;
establishing a data tunnel leg between a tunneling switch of a carrier network and a tunneling client of a computing network;
at the tunneling switch of the carrier network, receiving a first packet from a tunneling client of a remote device in a UDP protocol, the first packet comprising a request for access to network data stored on the computing network;
transmitting a packet acknowledgement signal from the tunneling switch to the remote device, wherein the tunneling client of the remote device can use the packet acknowledgement signal to confirm that the first packet was accurately transmitted; and
transmitting, via the data tunnel leg, the first packet from the tunneling switch to the computing network.
-
-
14. In a device having a tunneling client, a method for enabling a user operating the device to access network data of a remote computing network, the method comprising:
-
transmitting a UDP-formatted packet to a tunneling switch on a carrier network, the packet comprising a request to access network data stored on a remote computing network, wherein a data tunnel leg has previously been established between the tunneling switch and the remote computing network;
receiving a packet acknowledgement signal from the tunneling switch, whereby the device can use the packet acknowledgement signal to confirm that the packet was accurately received by the tunneling switch;
receiving the requested data from the remote computing network via the tunneling switch in the form of one or more UDP-formatted packets; and
transmitting a second packet acknowledgement signal to the tunneling switch, whereby the tunneling switch can use the second packet acknowledgement signal to confirm that one of the one or more UDP-formatted requested data packets was accurately transmitted. - View Dependent Claims (15, 16, 17)
-
-
18. A software development kit comprising:
-
an application program interface module comprising a set of routines, protocols, and tools for building software applications, wherein the application program interface module presents a TCP style interface to a programmer;
a UDP-header library comprising one or more headers for use by a programmer in developing an application that applies UDP formatting to data for transmission over a network; and
a network communications module comprising code operable to perform a method for enabling a user operating the device to access network data of a remote computing network, the method comprising;
transmitting a UDP-formatted packet to a tunneling switch on a carrier network, the packet comprising a request to access network data stored on a remote computing network, wherein a data tunnel leg has previously been established between the tunneling switch and the remote computing network;
receiving a packet acknowledgement signal from the tunneling switch, whereby the device can use the packet acknowledgement signal to confirm that the packet was accurately received by the tunneling switch;
receiving the requested data from the remote computing network via the tunneling switch in the form of one or more UDP-formatted packets; and
transmitting a second packet acknowledgement signal to the tunneling switch, whereby the tunneling switch can use the second packet acknowledgement signal to confirm that one of the one or more UDP-formatted requested data packets was accurately transmitted.
-
-
19. In a device capable of communicating with a remote computing network via a carrier network, a method for transmitting data in a secure manner between the remote computing network and the device, each of the computing network and the device including a tunneling client, the method comprising the acts of:
-
establishing a first data tunnel leg between a tunneling client of a remote computing network and a carrier network, the carrier network including a tunneling server;
establishing a second data tunnel leg between the carrier network and a device;
at a tunneling client of the device, fitting data in a first protocol format to a first template, the first template located in a tunneling client of the remote device and comprising one or more inflection points that correspond to commands or other data aspects of the first protocol;
transmitting the templated data to the computing network via the first data tunnel leg; and
at the tunneling client of the computing network, if the first template matches a second template, the second template comprising one or more inflection points that correspond to commands or other data aspects of a second protocol, matching the inflection points of the first template to the inflection points of the second template, whereby data of the first protocol format is switched to represent the data in the second protocol format. - View Dependent Claims (20, 21, 22, 23, 24)
-
-
25. A system for enabling a user of a remote device to access network data and software applications stored on a computing network, the system comprising:
-
a first tunneling client on a remote device;
a second tunneling client on a computing network; and
a tunneling server on a carrier network, wherein;
the second tunneling client and the tunneling server are configured to communicate with each other and maintain a first data tunnel leg therebetween; and
the first tunneling client, the second tunneling client, and the tunneling server are each configured to transmit and receive data packets that are transmitted in a UDP protocol, wherein each of the first tunneling client, the second tunneling client, and the tunneling server are further configured to send confirmation signals upon receipt of UDP-formatted data packets that enable the sending application to verify that the UDP-formatted data packets were accurately transmitted.
-
Specification