System and method for implementing application functionality within a network infrastructure
A system and method for implementing functionality within a network on behalf of first and second devices communicating with each other through the network. A front-end device is provided within the network that communicates data traffic with the first device. A back-end device is also implemented within the network and communicates data traffic with the second device. A communication channel couples the front-end device and the back-end device. Data traffic may be encoded into a different type or protocol for transport through the communication channel by the front-end device and back-end device. The front-end device and back-end device exchange quality of service information and may alter characteristics of the data traffic through the communication channel according to the quality of service information.
1. A communication network component configured to convert data packets of a first protocol received from N first computing devices into data packets of a second protocol configured for transmission over an enhanced network link to a second computing device, comprising:
at least one processor;
at least one memory configured to store machine readable code executable by said at least one processor;
at least one first communication interface; and
machine readable code stored in said at least one memory and configured to cause said at least one processor to:
relative to each of said N first computing devices:
receive data packets of said first protocol from said Nth first computing device via an Nth communication socket;
perform pre-processing on said data packets of said first protocol;
and
assign said pre-processed first data packets to an Nth buffer;
assign each of said N buffers a priority value;
obtain at least one sub-packet from a highest priority value buffer and at least one sub-packet from at least one buffer having a lower priority value;
form a data packet of said second protocol from said obtained sub-packets; and
transmit said data packet of said second protocol over said enhanced communication link.
2. The communication network component in accordance with claim 1 wherein said machine readable code is configured to obtain sub-packets to create said data packets of said second protocol having said desired size.
3. The communication network component in accordance with claim 1 wherein said data packets of said first protocol comprise data packets in a TCP protocol.
4. The communication network component in accordance with claim 1 wherein said machine readable code is configured to pre-process said data packets of said first protocols by compressing, encrypting and/or error correcting payload portions thereof.
5. The communication network component in accordance with claim 1 further comprising machine readable code configured to assign a weighting to each of said N buffers and utilize said weighting to determine a number of sub-packets to obtain from each of said highest priority value buffer and said at least one buffer having a lower priority value.
6. The communication network component in accordance with claim 1 wherein said priority value assigned to each of said N buffers is based upon at least one of quality of service and time synchronization information received by said communication network component.
7. A computer program product comprising:
a non-transitory computer usable medium having computer readable program code embodied therein for causing a processor to convert data packets of a first protocol generated by N first computing device into data packets of a second protocol configured for transmission over an enhanced network link to a second computing device, comprising:
computer readable program code configured to, relative to each of said N first computing devices:
receive data packets of said first protocol from said Nth first computing device via an Nth communication socket;
perform pre-processing on said data packet of said first protocol; and
assign said pre-processed first data packets to an Nth buffer;
computer readable program code configured to obtain at least one sub-packet from a highest priority value buffer and at least one sub-packet from at least one buffer having a lower priority value;
computer readable program code configured to form a data packet of said second protocol from said obtained sub-packets; and
computer readable program code configured to transmit said data packets of said second protocol over said enhanced communication link.
8. The computer program product in accordance with claim 7 wherein said non-transitory computer readable medium comprises a memory of a front end device which is communicatively coupled to each of said N first computing devices.
9. The computer program product in accordance with claim 7 wherein said second computing device comprises a web server.
10. The computer program product in accordance with claim 7 wherein said data packets of said first protocol comprise data packets in a TCP protocol.
11. The computer program product in accordance with claim 7 wherein said computer readable program code is configured to pre-process said data packets of said first protocol by compressing, encrypting and/or error correcting payload portions of said data packets of said first protocol.
12. The computer program product in accordance with claim 7 further comprising computer readable program code configured to assign a weighting to each of said N buffers and utilize said weighting to determine a number of sub-packets to obtain from each of said highest priority value buffer and said at least one buffer having a lower priority value.
13. The computer program product in accordance with claim 12 wherein said computer readable program code is configured to assign said priority value to each of said N buffers based upon at least one of quality of service and time synchronization information.