A system for communicating data packets comprising: a first device comprising: a first processor, wherein the first processor is configured to receive a stream of packets of data from a data source; a first multipath transmission control protocol executed on the first processor, wherein the first multipath transmission control protocol configures the first processor to segregate the stream of packets of data into a plurality of data blocks; a plurality of first virtual private networks executed on the first processor, wherein each of the plurality of first virtual private networks is configured to receive data blocks based on an allocation made by the first multipath transmission control protocol; and a plurality of wireless wide area networks, wherein each of the plurality of wireless wide area networks is associated with at least one of the plurality of first virtual private networks, wherein each of the plurality of wireless wide area networks provides a data path for transmitting one or more data blocks allocated to the associated virtual private network using least number of wireless wide area networks within a desired buffer period; and a second device comprising: a second processor comprising at least one remote virtual private network, wherein the remote virtual private network is configured to receive the plurality of data blocks transmitted by the plurality of wireless wide area networks; and a second multipath transmission control protocol executed on the second processor, wherein the second multipath transmission control protocol configures the second processor to receive the data blocks from the remote virtual private network within a buffer period and assemble the data blocks to obtain a logical sequence of packets of data. a first device comprising: a first processor, wherein the first processor is configured to receive a stream of packets of data from a data source; a first multipath transmission control protocol executed on the first processor, wherein the first multipath transmission control protocol configures the first processor to segregate the stream of packets of data into a plurality of data blocks; a plurality of first virtual private networks executed on the first processor, wherein each of the plurality of first virtual private networks is configured to receive data blocks based on an allocation made by the first multipath transmission control protocol; and a plurality of wireless wide area networks, wherein each of the plurality of wireless wide area networks is associated with at least one of the plurality of first virtual private networks, wherein each of the plurality of wireless wide area networks provides a data path for transmitting one or more data blocks allocated to the associated virtual private network using least number of wireless wide area networks within a desired buffer period; and a first processor, wherein the first processor is configured to receive a stream of packets of data from a data source; a first multipath transmission control protocol executed on the first processor, wherein the first multipath transmission control protocol configures the first processor to segregate the stream of packets of data into a plurality of data blocks; a plurality of first virtual private networks executed on the first processor, wherein each of the plurality of first virtual private networks is configured to receive data blocks based on an allocation made by the first multipath transmission control protocol; and a plurality of wireless wide area networks, wherein each of the plurality of wireless wide area networks is associated with at least one of the plurality of first virtual private networks, wherein each of the plurality of wireless wide area networks provides a data path for transmitting one or more data blocks allocated to the associated virtual private network using least number of wireless wide area networks within a desired buffer period; and a second device comprising: a second processor comprising at least one remote virtual private network, wherein the remote virtual private network is configured to receive the plurality of data blocks transmitted by the plurality of wireless wide area networks; and a second multipath transmission control protocol executed on the second processor, wherein the second multipath transmission control protocol configures the second processor to receive the data blocks from the remote virtual private network within a buffer period and assemble the data blocks to obtain a logical sequence of packets of data. a second processor comprising at least one remote virtual private network, wherein the remote virtual private network is configured to receive the plurality of data blocks transmitted by the plurality of wireless wide area networks; and a second multipath transmission control protocol executed on the second processor, wherein the second multipath transmission control protocol configures the second processor to receive the data blocks from the remote virtual private network within a buffer period and assemble the data blocks to obtain a logical sequence of packets of data.