Abstract: A method of providing network communications using virtualization includes steps of creating a virtual machine instance that runs on a device and that virtualizes network capabilities of the device such that a virtual network connection is provided, detecting a request for a network connection from an application running on the device, determining application-specific information associated with the application, using the application-specific information associated with the application, selecting a routing protocol from among a plurality of available routing protocols for communicating data from the application over a network using the virtual network connection, and, using the selected routing protocol, communicating data from the application over the network to a device using the virtual network connection of the virtual machine instance.
Abstract: An electronic device configured for electronic communications utilizing virtual dispersive networking includes: a network interface for communicating over a network; an application loaded onto the electronic device programmed to communicate over a network; and virtual dispersive networking software configured to create, for such application, a virtual machine comprising a virtual interface for the network interface of the electronic device; select a network protocol out of a plurality of available network protocols based on current communication requirements of the application; and cause network communications of the application to occur via the virtual network interface of the electronic device using the determined network protocol.
Abstract: A computer performs a method comprising the steps of, for each application, creating, for such application, a virtual machine that is associated with sending and receiving of communications over the computer network, determining, for such application, a network protocol out of a plurality of available network protocols, the determined network protocol representing an appropriate network protocol, out of the plurality of available network protocols, for current communication requirements of the application, and causing the application, when communicating over the network, to send and receive communications via the created virtual machine using the determined network protocol. Multiple virtual machine instances are created and simultaneously maintained by the computer, each virtual machine instance is associated with communications of one of the plurality of applications via a networking protocol that has been determined to be appropriate for the current communication requirements of the application.
Abstract: A method of transferring a file between first and second end-user devices via network communications includes: communicating by the first end-user device network contact information of the first end-user device; communicating by the second end-user device network contact information of the second end-user device; establishing an open network connection between the first end-user device and the second-end user device based on the communicated network contact information of each of the end-user devices; and transferring the file from the first end-user device to the second end-user via the open network connection between the first end-user device and the second-end user device. A single encryption key may be used between the application and network layers on each end-user device, each of which may include virtualized routing capabilities.
Abstract: A computer performs a method comprising the steps of, for each application, creating, for such application, a virtual machine that is associated with sending and receiving of communications over the computer network, determining, for such application, a network protocol out of a plurality of available network protocols, the determined network protocol representing an appropriate network protocol, out of the plurality of available network protocols, for current communication requirements of the application, and causing the application, when communicating over the network, to send and receive communications via the created virtual machine using the determined network protocol. Multiple virtual machine instances are created and simultaneously maintained by the computer, each virtual machine instance is associated with communications of one of the plurality of applications via a networking protocol that has been determined to be appropriate for the current communication requirements of the application.