Facilitating network communications with control server and devices utilizing virtual network connections
First Claim
1. A method facilitating network communications, comprising the steps of:
- (a) communicating network connection information from a control server to each of a first subset of devices for enabling an open network connection between each of the devices of the first subset;
(b) spawning, by each device of the first subset, a plurality of virtual machines for network connections that virtualize network capabilities of the device such that a plurality of virtual network connections are provided at each device;
(c) establishing, by each device of the first subset, a respective open network connection with each of the other devices of the first subset, over a respective network path, using a respective spawned virtual machine and network connection information received from the control server;
(d) communicating, by each device of the first subset to the control server, a status of each of the open network connections that are established with such device; and
(e) communicating, by one or more devices of the first subset, via each of the open network connections that are established with other devices of the first subset, data to the other devices of the first subset, the method involving, for each communication via an open network connection, transmitting the data in a plurality of packets from a respective originating device of the first subset to a respective destination device of the first subset by, for each packet,(i) transmitting, from the respective originating device using the respective open network connection established using the respective spawned virtual machine of the respective originating device, the packet for communication to the respective destination device,(ii) receiving, at a virtual machine that runs on a respective intermediate device and that virtualizes network capabilities of the respective intermediate device such that a virtual network connection is provided, the packet,(iii) transmitting, from the respective intermediate device using the virtual network connection of the intermediate device, the packet for communication to the respective destination device, and(iv) receiving, using the respective open network connection established using the respective spawned virtual machine of the respective destination device, the packet, whereby each such one or more devices of the first subset functions in part as a server by serving data to other devices of the first subset.
7 Assignments
0 Petitions
Accused Products
Abstract
A method includes communicating network connection information from a control server to each of a subset of devices for enabling an open network connection between each of the devices; spawning, by each device of the subset, a plurality of virtual machines for network connections that virtualize network capabilities of the device; establishing, by each device of the subset, a respective open network connection with each of the other devices of the subset using a respective spawned virtual machine and network connection information received from the control server; and communicating, by one or more devices of the subset, via each of the open network connections that are established with such one or more devices, data, whereby each such one or more devices of the subset functions in part as a server by serving data to other devices of the subset.
147 Citations
17 Claims
-
1. A method facilitating network communications, comprising the steps of:
-
(a) communicating network connection information from a control server to each of a first subset of devices for enabling an open network connection between each of the devices of the first subset; (b) spawning, by each device of the first subset, a plurality of virtual machines for network connections that virtualize network capabilities of the device such that a plurality of virtual network connections are provided at each device; (c) establishing, by each device of the first subset, a respective open network connection with each of the other devices of the first subset, over a respective network path, using a respective spawned virtual machine and network connection information received from the control server; (d) communicating, by each device of the first subset to the control server, a status of each of the open network connections that are established with such device; and (e) communicating, by one or more devices of the first subset, via each of the open network connections that are established with other devices of the first subset, data to the other devices of the first subset, the method involving, for each communication via an open network connection, transmitting the data in a plurality of packets from a respective originating device of the first subset to a respective destination device of the first subset by, for each packet, (i) transmitting, from the respective originating device using the respective open network connection established using the respective spawned virtual machine of the respective originating device, the packet for communication to the respective destination device, (ii) receiving, at a virtual machine that runs on a respective intermediate device and that virtualizes network capabilities of the respective intermediate device such that a virtual network connection is provided, the packet, (iii) transmitting, from the respective intermediate device using the virtual network connection of the intermediate device, the packet for communication to the respective destination device, and (iv) receiving, using the respective open network connection established using the respective spawned virtual machine of the respective destination device, the packet, whereby each such one or more devices of the first subset functions in part as a server by serving data to other devices of the first subset. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method for facilitating network communications to provide a user experience, comprising the steps of:
-
(a) communicating network connection information from a control server to each of a first subset of devices for enabling an open network connection between each of the devices of the first subset; (b) spawning, by each device of the first subset, a plurality of virtual machines for network connections that virtualize network capabilities of the device such that a plurality of virtual network connections are provided at each device; (c) establishing, by each device of the first subset, a respective open network connection with each of the other devices of the first subset, over a respective network path, using a respective spawned virtual machine and network connection information received from the control server; (d) communicating, by each device of the first subset to the control server, a status of each of the open network connections that are established with such device; and (e) communicating, by one or more device of the first subset, via each of the open network connections that are established with other devices of the first subset, data to the other devices of the first subset, the method involving, for each communication via an open network connection, transmitting the data in a plurality of packets from a respective originating device of the first subset to a respective destination device of the first subset by, for each packet, (i) transmitting, from the respective originating device using the respective open network connection established using the respective spawned virtual machine of the respective originating device, the packet for communication to the respective destination device, (ii) receiving, at a virtual machine that runs on a respective intermediate device and that virtualizes network capabilities of the respective intermediate device such that a virtual network connection is provided, the packet, (iii) transmitting, from the respective intermediate device using the virtual network connection of the intermediate device, the packet for communication to the respective destination device, and (iv) receiving, using the respective open network connection established using the respective spawned virtual machine of the respective destination device, the packet, whereby each such one or more device of the first subset functions in part as a server by serving data to other devices of the first subset; (f) processing, by each device of the first subset, the received data communicated over the one or more of the open network connections; (g) providing a user experience, by each device of the first subset, based on the processed data received by that device over the one or more of the open network connections.
-
Specification