Patent ID: 8041785

Claim:
A computer storage device having computer-executable instructions, which when executed enable a computing system to perform steps, comprising: communicating with a plurality of router providers to determine whether each router provider of the plurality of router providers is capable of performing each of a plurality of types of configurations with respect to a router; receiving a plurality of scores from the plurality of respective router providers, each score based on a plurality of values that indicates whether the router provider from which the score is received is capable of performing the plurality of respective types of configurations; and choosing a first router provider that is to configure the router from among the plurality of router providers based on a first score of the plurality of scores that is received from the first router provider being greater than other scores of the plurality of scores; wherein each score indicates whether the respective router provider is capable of performing a Telnet manual configuration, whether the respective router provider is capable of performing a HTTP manual configuration, whether the respective router provider is capable of performing a HTTPS manual configuration, whether the respective router provider is capable of performing a Network Address Translation (NAT) switch configuration, whether the respective router provider is capable of performing a dynamic host configuration protocol (DHCP) switch configuration, whether the respective router provider is capable of performing an authenticated configuration, and whether the respective router provider is capable of performing port mapping; and wherein each score comprises a sum of the plurality of values on which the score is based, wherein the values are weighted such that port mapping capability has a higher weight than DHCP switch configuration capability which has a higher weight than NAT switch configuration capability which has a higher weight than HTTPS manual configuration capability which has a higher weight than HTTP manual configuration capability which has a higher weight than Telnet manual configuration capability.