Multiplexed client server (MCS) communications and systems
First Claim
1. A method of transferring a file between a first end-user device and a second end-user device comprising the steps of:
- (a) communicating by the first end-user device, to a server, network contact information of the first end-user device;
(b) receiving, at the first end-user device from the server, connection information, for enabling an open network connection between the first and second end-user devices;
(c) thereafter, transferring the file from the first end-user device to a second end-user device by,(i) spawning, at the first end-user device, a first virtual machine that virtualizes network capabilities of the first end-user device such that a first virtual network connection is provided to an application running on the first end-user device, the application running external to the first virtual machine,(ii) selecting, at the first end-user device, a routing protocol for the first virtual network connection from among a plurality of available routing protocols for communicating data using the first virtual network connection, said selection being based at least in part on the connection information received from the server,(iii) spawning, at the second end-user device, a second virtual machine that virtualizes network capabilities of the second end-user device such that a second virtual network connection is provided to an application running on the second end-user device, the application running external to the second virtual machine,(iv) spawning, at a third device, a third virtual machine that virtualizes network capabilities of the third device such that a third virtual network connection is provided,(v) establishing a network connection between the first end-user device, via the first virtual network connection, and the second end-user device, via the second virtual network connection, over a network path using the connection information, the network path including the third device, and(vi) for each of a plurality of packets containing data representing the file,(A) transmitting the packet from the first end-user device using the first virtual network connection for communication via the network path,(B) receiving, at the third device using the third virtual network connection, the packet, and communicating the packet onward along the network path, and(C) receiving, at the second end-user device using the second virtual network connection, the packet.
7 Assignments
0 Petitions
Accused Products
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.
-
Citations
15 Claims
-
1. A method of transferring a file between a first end-user device and a second end-user device comprising the steps of:
-
(a) communicating by the first end-user device, to a server, network contact information of the first end-user device; (b) receiving, at the first end-user device from the server, connection information, for enabling an open network connection between the first and second end-user devices; (c) thereafter, transferring the file from the first end-user device to a second end-user device by, (i) spawning, at the first end-user device, a first virtual machine that virtualizes network capabilities of the first end-user device such that a first virtual network connection is provided to an application running on the first end-user device, the application running external to the first virtual machine, (ii) selecting, at the first end-user device, a routing protocol for the first virtual network connection from among a plurality of available routing protocols for communicating data using the first virtual network connection, said selection being based at least in part on the connection information received from the server, (iii) spawning, at the second end-user device, a second virtual machine that virtualizes network capabilities of the second end-user device such that a second virtual network connection is provided to an application running on the second end-user device, the application running external to the second virtual machine, (iv) spawning, at a third device, a third virtual machine that virtualizes network capabilities of the third device such that a third virtual network connection is provided, (v) establishing a network connection between the first end-user device, via the first virtual network connection, and the second end-user device, via the second virtual network connection, over a network path using the connection information, the network path including the third device, and (vi) for each of a plurality of packets containing data representing the file, (A) transmitting the packet from the first end-user device using the first virtual network connection for communication via the network path, (B) receiving, at the third device using the third virtual network connection, the packet, and communicating the packet onward along the network path, and (C) receiving, at the second end-user device using the second virtual network connection, the packet. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method of transferring a file between a first end-user device and a second end-user device comprising:
-
receiving, at a first end-user device from a server, connection information, for enabling an open network connection between the first and second end-user devices; thereafter, transferring the file from the first end-user device to a second end-user device by, spawning, at the first end-user device, a first virtual machine that virtualizes network capabilities of the first end-user device such that a first virtual network connection is provided to an application running on the first end-user device, the application running external to the first virtual machine, selecting, at the first end-user device, a routing protocol for the first virtual network connection from among a plurality of available routing protocols for communicating data using the first virtual network connection, said selection being based at least in part on the connection information received from the server, spawning, at the second end-user device, a second virtual machine that virtualizes network capabilities of the second end-user device such that a second virtual network connection is provided to an application running on the second end-user device, the application running external to the second virtual machine, spawning, at a third device, a third virtual machine that virtualizes network capabilities of the third device such that a third virtual network connection is provided, establishing a network connection between the first end-user device, via the first virtual network connection, and the second end-user device, via the second virtual network connection, over a network path using the connection information, the network path including the third device, and for each of a plurality of packets containing data representing the file, transmitting the packet from the first end-user device using the first virtual network connection for communication via the network path, receiving, at the third device using the third virtual network connection, the packet, and communicating the packet onward along the network path, and receiving, at the second end-user device using the second virtual network connection, the packet.
-
Specification