UDP communication with a programmer interface over wireless networks
First Claim
1. A method comprising:
- causing a data tunnel leg to be established between a carrier network and a tunneling client of a computing network;
receiving a first packet from a tunneling client of a remote device in a User Datagram Protocol, the first packet comprising a request for access to network data stored on the computing network;
directing, via a processor, transmission of a packet acknowledgement signal to the remote device, wherein the tunneling client of the remote device is configured to use the packet acknowledgement signal to confirm that the first packet was accurately transmitted;
directing transmission, via the data tunnel leg, of the first packet to the computing network;
receiving, from the tunneling client of the computing network, the requested network data as a set of User Datagram Protocol formatted packets in response to directing the transmission of the first packet to the computing network, wherein the set of packets has a defined sequence; and
directing transmission of at least a subset of the set of packets to the remote device such that each packet of the set is not received by the remote device in the defined sequence and enabling buffering of the packets of the subset within the tunneling client of the remote device as each of the packets of the subset is received by the tunneling client of the remote device; and
directing transmission of one or more packets that are next in order of the defined sequence to a target application in the remote device in a proper sequence, upon buffering one or more packets that are next in order of the defined sequence.
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
19 Claims
-
1. A method comprising:
-
causing a data tunnel leg to be established between a carrier network and a tunneling client of a computing network; receiving a first packet from a tunneling client of a remote device in a User Datagram Protocol, the first packet comprising a request for access to network data stored on the computing network; directing, via a processor, transmission of a packet acknowledgement signal to the remote device, wherein the tunneling client of the remote device is configured to use the packet acknowledgement signal to confirm that the first packet was accurately transmitted; directing transmission, via the data tunnel leg, of the first packet to the computing network; receiving, from the tunneling client of the computing network, the requested network data as a set of User Datagram Protocol formatted packets in response to directing the transmission of the first packet to the computing network, wherein the set of packets has a defined sequence; and directing transmission of at least a subset of the set of packets to the remote device such that each packet of the set is not received by the remote device in the defined sequence and enabling buffering of the packets of the subset within the tunneling client of the remote device as each of the packets of the subset is received by the tunneling client of the remote device; and directing transmission of one or more packets that are next in order of the defined sequence to a target application in the remote device in a proper sequence, upon buffering one or more packets that are next in order of the defined sequence. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer program product comprising at least one non-transitory computer readable storage medium having computer-readable program code portions stored therein, the computer-readable program code portions comprising computer-executable instructions configured to perform:
-
establishment of a data tunnel leg between a carrier network and a tunneling client of a computing network; receipt of a first packet from a tunneling client of a remote device in a User Datagram Protocol, the first packet comprising a request for access to network data stored on the computing network; transmission of a packet acknowledgement signal to the remote device, wherein the tunneling client of the remote device is configured to use the packet acknowledgement signal to confirm that the first packet was accurately transmitted; transmission, via the data tunnel leg, of the first packet to the computing network; receipt, from the tunneling client of the computing network, of the requested network data as a set of User Datagram Protocol formatted packets in response to directing the transmission of the first packet to the computing network, wherein the set of packets comprise a defined sequence; transmission of at least a subset of the packets of the set to the remote device such that each packet of the subset is not received by the remote device in the defined sequence and enable buffering of the packets of the subset within the tunneling client of the remote device as each of the packets of the subset is received by the tunneling client of the remote device; and transmission of one or more packets of the set that are next in order of the defined sequence to a target application in the remote device in a proper sequence, upon buffering the one or more packets that are next in order of the defined sequence.
-
-
11. A method comprising:
-
directing transmission of a User Datagram Protocol formatted packet to a tunneling device on a carrier network, the packet comprising a request to access network data stored on a computing network, wherein a data tunnel leg has previously been established between the tunneling device and the computing network; receiving a packet acknowledgement signal from the tunneling device; utilizing, via a processor, the packet acknowledgement signal to confirm that the packet was accurately received by the tunneling device; receiving the requested network data from the computing network via the tunneling device in the form of one or more User Datagram Protocol formatted packets in response to directing the transmission of the packet to the tunneling device on the carrier network; directing transmission of a second packet acknowledgement signal to the tunneling device, wherein the tunneling device is configured to use the second packet acknowledgement signal to confirm that one of the one or more User Datagram Protocol formatted requested data packets was accurately transmitted, wherein the packets comprise a defined sequence; buffering at least a subset of the packets as each of the packets of the subset are received even though the packets are not necessarily received in the defined sequence; receiving one or more of the packets that are next in order of the defined sequence; and facilitating provision of the one or more packets that are next in order to a target application. - View Dependent Claims (12, 13)
-
-
14. A method comprising:
-
causing establishment of a first data tunnel leg between a tunneling client of a computing network and a carrier network; causing establishment of a second data tunnel leg between the carrier network and a device; directing transmission of a packet acknowledgment signal to the device in response to receiving a first packet in a User Datagram Protocol, the device is configured to use the signal to confirm that the first packet was accurately transmitted and fit data in a first protocol format to a first template, the first template located in the tunneling client of the device and comprising one or more inflection points that correspond to commands or other data aspects of the first protocol; directing transmission of the first template comprising templated data to the computing network via the first data tunnel leg, in response to receipt of the first template from the device, and enabling the tunneling client of the computing network to generate a second template comprising one or more inflection points that correspond to commands or other data aspects of a second protocol in an instance in which the first template matches the second template, the inflection points of the first template match the inflection points of the second template, wherein data of the first protocol format is switched to represent the data in the second protocol format; and directing transmission of a plurality of packets to the second template to facilitate storage of each packet as each packet arrives, wherein the packets are not necessarily received in the ordered sequence in which they were formed, and wherein directing transmission comprises directing transmission to the second template of all of the plurality of packets necessary to form a consecutive packet which enables arrangement at the second template of the packets into an ordered sequence for delivery to one or more devices or an application in the computing network for processing.
-
-
15. An apparatus comprising:
-
at least one processor; and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus to perform at least the following; cause a data tunnel leg to be established between a carrier network and a tunneling client of a computing network; receive a first packet from a tunneling client of a remote device in a User Datagram Protocol, the first packet comprising a request for access to network data stored on the computing network; direct transmission of a packet acknowledgement signal to the remote device, wherein the tunneling client of the remote device is configured to use the packet acknowledgement signal to confirm that the first packet was accurately transmitted; direct transmission, via the data tunnel leg, of the first packet to the computing network; receive, from the tunneling client of the computing network, the requested network data as a set of User Datagram Protocol formatted packets in response to the transmission of the first packet to the computing network, wherein the set of packets comprise a defined sequence; buffer at least a subset of the packets within the carrier network as each of the packets of the subset is received by the carrier network, even though each packet of the subset is not received by the carrier network in the defined sequence; and direct transmission of one or more packets of the set that are next in order of the defined sequence to the remote device in a proper sequence, upon buffering the one or more packets that are next in order of the defined sequence. - View Dependent Claims (16)
-
-
17. An apparatus comprising:
-
at least one processor; and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus to perform at least the following; direct transmission of a User Datagram Protocol formatted packet to a tunneling device on a carrier network, the packet comprising a request to access network data stored on a computing network, wherein a data tunnel leg has previously been established between the tunneling device and the computing network; receive a packet acknowledgement signal from the tunneling device; utilize the packet acknowledgement signal to confirm that the packet was accurately received by the tunneling device; receive the requested data from the computing network via the tunneling device in the form of one or more User Datagram Protocol formatted packets; direct transmission of a second packet acknowledgement signal to the tunneling device, wherein the tunneling device is configured to use the second packet acknowledgement signal to confirm that one of the one or more User Datagram Protocol formatted requested data packets was accurately transmitted, wherein the packets comprise a defined sequence; buffer at least a subset of the packets as each of the subset of the packets are received even though the packets are not necessarily received in the defined sequence; receive one or more packets that are next in order of the defined sequence; and facilitate provision of the one or more packets that are next in order to a target application. - View Dependent Claims (18)
-
-
19. An apparatus comprising:
-
at least one processor; and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus to perform at least the following; cause a first data tunnel leg to be established between a tunneling client of a computing network and a carrier network; cause a second data tunnel leg to be established between the carrier network and a device; direct transmission of a packet acknowledgment signal to the device in response to receiving a first packet in a User Datagram Protocol, the device is configured to use the signal to confirm that the first packet was accurately transmitted and fit data in a first protocol format to a first template, the first template located in the tunneling client of the device and comprising one or more inflection points that correspond to commands or other data aspects of the first protocol; direct transmission of the first template comprising templated data to the computing network via the first data tunnel leg, in response to receipt of the first template from the device, and enabling the tunneling client of the computing network to generate a second template comprising one or more inflection points that correspond to commands or other data aspects of a second protocol in an instance in which the first template matches the second template, the inflection points of the first template match the inflection points of the second template, wherein data of the first protocol format is switched to represent the data in the second protocol format; direct transmission of a plurality of packets to the second template to facilitate storage of each packet as each packet arrives, wherein the packets are not necessarily received in the ordered sequence in which they were formed; and direct transmission by directing transmission to the second template of all of the plurality of packets necessary to form a consecutive packet which enables arrangement at the second template of the packets into an ordered sequence for delivery to one or more devices or an application in the computing network for processing.
-
Specification