Patent Document ID: 10158539
Application ID: 14512853
Patent Flag: 1

Claim One:
1. A computer-implemented method, comprising: determining, by a network device on a network, two or more communication paths including one or more additional network devices on the network, wherein the network includes a wireless network; generating, by the network device, current performance metrics, wherein current performance metrics include device metrics associated with the network device and link metrics associated with one or more communication links between the network device and the one or more additional network devices on the network, wherein the device metrics indicate a current performance of a functionality of the network device; generating, by the network device, metrics priority rankings for the generated current performance metrics, wherein the metrics priority rankings assign rankings to each performance metric of the current performance metrics based on a priority of each performance metric to the network device; receiving, by the network device, additional device metrics associated with the one or more additional network devices on the network, wherein the additional device metrics indicate current performance of the one or more additional network devices, and wherein the additional device metrics were generated by the one or more additional network devices; comparing performances of the two or more communication paths over a period of time using the device metrics, the metrics priority rankings, and the additional device metrics; determining a first chosen communication path of the two or more communication paths using the comparison of the performances of the two or more communications paths; transmitting a communication using the first chosen communication path; receiving updated additional device metrics associated with the one or more additional network devices on the network; generating updated device metrics and updated metrics priority rankings associated with the network device; determining a new chosen communication path using the updated device metrics, the updated metrics priority rankings, and the updated additional device metrics; and transmitting a communication using the new chosen communication path.