What is claimed is:
1. A method of optimizing network configuration settings for a user's client machine, the method comprising:
- (a) establishing a network connection between the client machine and a remote server;
- (b) selecting a plurality of network configuration settings for the client machine;
- (c) automatically conducting one or more performance tests using the selected network configuration settings; and
- (d) automatically adjusting the selected network configuration settings of the client machine, based on the results of the performance tests, wherein the adjusted network configuration settings are settings that optimize the performance of the client machine.
2. The method of claim 1 wherein the adjustments of the network configuration settings are made through the use of an algorithm that performs statistical analysis on past network configuration setting performance test result data.
3. The method of claim 2 wherein regression is used to perform the statistical analysis.
4. The method of claim 2 wherein a polynomial curve fit is used to perform the statistical analysis.
5. The method of claim 2 wherein the statistical analysis is performed by the client machine.
6. The method of claim 2 wherein the statistical analysis is performed by the remote server.
7. The method of claim 1 wherein a different predefined group of network configuration settings is selected for each test performed.
8. The method of claim 7 further comprising:
- (e) the user specifying, via the client machine, at least one network performance preference; and
- (f) executing performance metric scoring on each of the different predefined groups of network configuration settings, based on a relative weight assigned to the network performance preference.
9. The method of claim 1 wherein logic running on the remote server statistically analyzes the results of the performance tests and determines one or more sets of network configuration settings for use on the client machine.
10. The method of claim 9 wherein the logic includes an intelligent optimization algorithm which uses historical performance data to statistically assess positive or negative scoring variations when a particular network configuration setting is adjusted.
11. The method of claim 1 wherein the adjustments of the network configuration settings are made through the use of an algorithm that determines future groups of network configuration settings to test.
12. The method of claim 1 further comprising:
- (e) continually monitoring the network configuration performance of the client machine, after step (d) has been performed; and
- (f) automatically adjusting the monitored network configuration settings of the client machine to maintain optimal network performance of the client machine.
13. The method of claim 1 further comprising:
- (e) storing on the remote server, network configuration settings and aggregate test results associated with other client machines that previously established a network connection with the remote server, wherein the user's client machine receives network configuration setting recommendations from the remote server, based on the network configuration settings and the aggregate test results stored on the remote server.
14. The method of claim 1 wherein one of the network configuration settings is latency.
15. The method of claim 1 wherein one of the network configuration settings is ping time.
16. The method of claim 1 wherein one of the network configuration settings is network connection stability.
17. The method of claim 1 wherein one of the network configuration settings is Maximum Transmission Unit (MTU).
18. The method of claim 1 wherein one of the network configuration settings is Maximum Segment Size (MSS).
19. The method of claim 1 wherein one of the network configuration settings is Receive Window (RWIN).
20. The method of claim 1 wherein one of the network configuration settings is Time To Live (TTL).
21. The method of claim 1 wherein one of the network configuration settings is Black Hole Detection.
22. The method of claim 1 wherein one of the network configuration settings is Auto Discovery of Path Maximum Transmission Unit (MTU).
23. The method of claim 1 wherein one of the network configuration settings is packet size.
24. The method of claim 1 wherein one of the network configuration settings is upload throughput speed.
25. The method of claim 1 wherein one of the network configuration settings is download throughput speed.
26. The method of claim 1 further comprising:
- (e) assigning a percentage score to each applicable network configuration setting;
- (f) multiplying the relative weight of each network configuration setting by the percentage score for the network configuration setting, wherein the relative weight is determined as a function of the user's network performance preferences; and
- (g) adding the resulting products of step (f) to determine a weighted overall percentage score.
27. The method of claim 1 wherein step (b) further comprises:
- (b)(i) the user selecting a set of default network configuration settings.
28. An article of manufacture for optimizing network configuration settings for a user's client machine, the article of manufacture comprising a computer-readable medium holding computer-executable instructions for performing a method comprising:
- (a) establishing a network connection between the client machine and a remote server;
- (b) selecting a plurality of network configuration settings for the client machine;
- (c) automatically conducting one or more performance tests using the selected network configuration settings; and
- (d) automatically adjusting the selected network configuration settings of the client machine, based on the results of the performance tests, wherein the adjusted network configuration settings are settings that optimize the performance of the client machine.
29. The article of manufacture of claim 28 wherein the adjustments of the network configuration settings are made through the use of an algorithm that performs statistical analysis on past network configuration setting performance test result data.
30. The article of manufacture of claim 29 wherein regression is used to perform the statistical analysis.
31. The article of manufacture of claim 29 wherein a polynomial curve fit is used to perform the statistical analysis.
32. The article of manufacture of claim 29 wherein the statistical analysis is performed by the client machine.
33. The article of manufacture of claim 29 wherein the statistical analysis is performed by the remote server.
34. The article of manufacture of claim 28 wherein a different predefined group of network configuration settings is selected for each test performed.
35. The article of manufacture of claim 34 wherein the computer-executable instructions perform a method further comprising:
- (e) the user specifying, via the client machine, at least one network performance preference; and
- (f) executing performance metric scoring on each of the different predefined groups of network configuration settings, based on a relative weight assigned to the network performance preference.
36. The article of manufacture of claim 28 wherein logic running on the remote server statistically analyzes the results of the performance tests and determines one or more sets of network configuration settings for use on the client machine.
37. The article of manufacture of claim 36 wherein the logic includes an intelligent optimization algorithm which uses historical performance data to statistically assess positive or negative scoring variations when a particular network configuration setting is adjusted.
38. The article of manufacture of claim 28 wherein the adjustments of the network configuration settings are made through the use of an algorithm that determines future groups of network configuration settings to test.
39. The article of manufacture of claim 28 wherein the computer-executable instructions perform a method further comprising:
- (e) continually monitoring the network configuration performance of the client machine, after step (d) has been performed; and
- (f) automatically adjusting the monitored network configuration settings of the client machine to maintain optimal network performance of the client machine.
40. The article of manufacture of claim 28 wherein the computer-executable instructions perform a method further comprising:
- (e) storing on the remote server, network configuration settings and aggregate test results associated with other client machines that previously established a network connection with the remote server, wherein the user's client machine receives network configuration setting recommendations from the remote server, based on the network configuration settings and the aggregate test results stored on the remote server.
41. The article of manufacture of claim 28 wherein one of the network configuration settings is latency.
42. The article of manufacture of claim 28 wherein one of the network configuration settings is ping time.
43. The article of manufacture of claim 28 wherein one of the network configuration settings is network connection stability.
44. The article of manufacture of claim 28 wherein one of the network configuration settings is Maximum Transmission Unit (MTU).
45. The article of manufacture of claim 28 wherein one of the network configuration settings is Maximum Segment Size (MSS).
46. The article of manufacture of claim 28 wherein one of the network configuration settings is Receive Window (RWIN).
47. The article of manufacture of claim 28 wherein one of the network configuration settings is Time To Live (TTL).
48. The article of manufacture of claim 28 wherein one of the network configuration settings is Black Hole Detection.
49. The article of manufacture of claim 28 wherein one of the network configuration settings is Auto Discovery of Path Maximum Transmission Unit (MTU).
50. The article of manufacture of claim 28 wherein one of the network configuration settings is packet size.
51. The article of manufacture of claim 28 wherein one of the network configuration settings is upload throughput speed.
52. The article of manufacture of claim 28 wherein one of the network configuration settings is download throughput speed.
53. The article of manufacture of claim 28 wherein the computer-executable instructions perform a method further comprising:
- (e) assigning a percentage score to each applicable network configuration setting;
- (f) multiplying the relative weight of each network configuration setting by the percentage score for the network configuration setting, wherein the relative weight is determined as a function of the user's network performance preferences; and
- (g) adding the resulting products of step (f) to determine a weighted overall percentage score.
54. The article of manufacture of claim 28 wherein step (b) further comprises:
- (b)(i) the user selecting a set of default network configuration settings.