A method of a device for a virtual private network, the method comprising: obtaining a plurality of host beacons from a plurality of hosts (130A-130C), wherein each host is connected to two or more backhauls (135A-135C) and wherein a backhaul of the two or more backhauls and the host provide access to a network, wherein each host beacon corresponds to a backhaul, wherein each host beacon comprises an endpoint performance data structure, wherein the endpoint performance data structure comprises at least one field about its corresponding backhaul, and wherein the at least one field about the corresponding backhaul comprises at least one of a type of connection, a bandwidth, a latency, a number of users using the backhaul, a cost of the backhaul, a physical layer characteristic, a quality of service, QoS, or application support; extracting a set of the endpoint performance data structures from the plurality of host beacons; sorting the set of the endpoint performance data structures based on a set of the fields of the set of endpoint performance data structures for the plurality of hosts, comprising sorting fields sequentially by a priority mapping, wherein the priority mapping comprises a ranking of the fields, and wherein fields with a higher rank are sorted first; and negotiating entrance to the backhaul of the two or more backhauls for a host corresponding to an endpoint performance data structure at an end of the sorted set of endpoint performance data structures, wherein when the data structure is at the end of the sorted set it is the best choice based on the at least one field about the corresponding backhaul, and wherein the negotiating comprises a communication between the device and the host corresponding to the endpoint performance data structure at the end of the sorted set of endpoint performance data structures; and wherein negotiating entrance to the backhaul includes: attaching to the host to enable communication with the host; transmitting an offer of a resource to the host, wherein the resource is a physical resource of the device; and exchanging the resource for access to the backhaul. obtaining a plurality of host beacons from a plurality of hosts (130A-130C), wherein each host is connected to two or more backhauls (135A-135C) and wherein a backhaul of the two or more backhauls and the host provide access to a network, wherein each host beacon corresponds to a backhaul, wherein each host beacon comprises an endpoint performance data structure, wherein the endpoint performance data structure comprises at least one field about its corresponding backhaul, and wherein the at least one field about the corresponding backhaul comprises at least one of a type of connection, a bandwidth, a latency, a number of users using the backhaul, a cost of the backhaul, a physical layer characteristic, a quality of service, QoS, or application support; extracting a set of the endpoint performance data structures from the plurality of host beacons; sorting the set of the endpoint performance data structures based on a set of the fields of the set of endpoint performance data structures for the plurality of hosts, comprising sorting fields sequentially by a priority mapping, wherein the priority mapping comprises a ranking of the fields, and wherein fields with a higher rank are sorted first; and negotiating entrance to the backhaul of the two or more backhauls for a host corresponding to an endpoint performance data structure at an end of the sorted set of endpoint performance data structures, wherein when the data structure is at the end of the sorted set it is the best choice based on the at least one field about the corresponding backhaul, and wherein the negotiating comprises a communication between the device and the host corresponding to the endpoint performance data structure at the end of the sorted set of endpoint performance data structures; and wherein negotiating entrance to the backhaul includes: attaching to the host to enable communication with the host; transmitting an offer of a resource to the host, wherein the resource is a physical resource of the device; and exchanging the resource for access to the backhaul. attaching to the host to enable communication with the host; transmitting an offer of a resource to the host, wherein the resource is a physical resource of the device; and exchanging the resource for access to the backhaul.