The present invention relates generally to network connections. More specifically, the present invention is a system and method to display the quality of a network connection which evaluates and displays several criteria that influence the quality of a network connection.
The quality of a network connection can drastically affect the quality of the activities that are carried out over that network connection. Activities that are especially sensitive to connection quality include gaming and voice communication over IP, or VoIP for short. Online gaming is an extremely common form of recreation in the modern world and can often be very competitive. Competitive gaming is even performed in a professional setting where players vie for position and monetary prizes. In all forms of online gaming, be it recreational or competitive, a good network connection is crucial to the performance of the players. Poor network connection quality can result in performance problems known as lag and rubber banding. In lag, the actions taken by the player are not processed for a noticeable time delay, hence the term lag. Lag is most often caused by high latency between the player's machine and the game server. In rubber banding, the actions that are perceived as taking place by the user do not actually register with the game sever. This can result in the player ending up in a position in the game world they were in several moments ago and had since progressed. This effect can be perceived by players as what appears to be teleportation from point to point as if the player is being pulled around by a rubber band, hence the terminology used to describe this effect. As expected, issues such as lag and rubber banding can have a drastic impact on player performance which can ultimately result in losing the game and much less enjoyment gained from playing the game. VoIP is another activity occurring over network connections that can be greatly affected by a poor network connection. VoIP is a form of communication which allows for communication by voice over the internet. When using VoIP, latency issues can make it difficult for participants in a conversation to communicate effectively, causing unnecessary delays that can result in participants unintentionally talking over each other. Additionally, packet loss can result in poor communication quality which can make it difficult for participants to understand each other. These issues can make it very difficult to communicate using VoIP.
It comes as no surprise that many gamers playing online games also use VoIP to communicate with other players to form and carry out complex strategies and plans. When a poor network connection is being used, both the actions of the gamer in the game and the communication with other players can be completely scrambled. When this happens, the gaming experience suffers and the game becomes barely worth playing as little enjoyment is gained. There are ways to fix and or bypass poor network connections to ensure that the connection problems as described earlier are not suffered by the gamer, however common knowledge dictates this fact; if the problem cannot be identified, then it cannot be solved.
Many games and VoIP programs incorporate a built in latency or ping meters that displays the latency value of the network connection to the user. These ping meters can assist a user in determining when a problem is being caused by the network connection. Unfortunately, as effective as such meters are at displaying latency, they suffer from several major flaws. The first and foremost of those flaws is the fact that almost all ping meters incorporated into games and other applications only display the instantaneous value for the latency of the connection. What this means is that, at any given moment, the latency displayed by the ping meter is the latency experienced by the last packet of data sent by the game to the game server. Because of this, the latency as displayed by the ping meter fluctuates over time, and so the reading on the ping meter at any given time is not an accurate representation of the quality of the network connection being used for that activity. The second problem of such ping meters is the simple fact that they only keep track of one particular metric; latency. Unfortunately, the quality of the network connection can be influenced by metrics other than an instantaneous latency score such as the latency deviation, the number of hops between sender and destination, and packet loss experience. Such metrics can be very telling about the overall quality of a network connection and they are not displayed by ping meters.
It is an object of the present invention to create a network connection quality meter that solves the issues discussed above. The present invention solves the issues discussed above by tracking latency of a network connection over time as well as other performance metrics such as number of hops and packet loss. Additionally, it is an object of the present invention to use a system that enables comparison between the network connection currently being utilized and a benchmark connection. Through this set up, a user is able to see how poor their network connection is when compared to a benchmark connection. Implementing the present invention may help a user identify network connection problems and determine how to correct or bypass those problems, ultimately improving the experience of performing online activities such as gaming and VoIP over network connections.
All illustrations of the drawings are for the purpose of describing selected versions of the present invention and are not intended to limit the scope of the present invention.
The present invention is a system and method for monitoring the quality of an internet network connection. This helps a user or an internet service provider (ISP) to diagnose and fix problems with an internet connection that result in bad performance of the connection.
As illustrated in
The benchmark server 4 should be physically positioned such that the benchmark server 4 is near the target server 3 of internet data sent and received by the user application 6. This enables a comparison test to be made from the user's computer as a network connection is simultaneously made to both the target server 3 and the benchmark server 4. It is important that the benchmark server 4 be located in the same city as the target server 3 but that the benchmark server 4 is in a different data center. If the benchmark and the target server 3 are in the same data center, then almost no difference would be present between recorded values of network connection quality for network connections to each server. Additionally, the fact that the benchmark sever and the target server 3 are close together but still potentially several milliseconds apart enables another ping to be made between the benchmark server 4 and the target server 3. Granted that the benchmark sever is either a proxy or a virtual private network, an accurate calculation of a roundtrip taken by data may be determined; the roundtrip being data sent from the user, to the proxy server, and then to the target server 3. It is important to note that this comparison system could also be implemented with a private server system that is comprised of a plurality of servers across the globe, as illustrated in
The monitoring software 5 is the central component of the present invention, and continually monitors and records one or more first network quality metrics for the first network connection 7 and one or more second network quality metrics for the second network connection 8. Network quality metrics are various elements relevant to measuring the quality of a network connection.
In the preferred embodiment of the present invention, the network quality metrics include, but are not limited to, current ping, average ping, ping deviation, number of hops, number of bad hops, and flux. The ping deviation and average ping elements are based upon historical data recorded by the monitoring software 5 over the course of the online activity. The average ping element is based upon recorded values of the current ping. Ping deviation is based upon maximum and minimum values of the current ping as recorded by the monitoring software 5. Number of hops is defined as the number of routers internet data must travel through before reaching the destination server. A higher number of hops can mean higher latency and higher chances of experiencing packet loss that can result from bad hops. The number of bad hops is defined as the number of hops that take place which cause internet data to experience packet loss or high latency deviation. Bad hops can be the primary cause of high latency deviation and rubber banding, both of which are highly detrimental to online gaming. Flux is defined in regards to the present invention as the number of average ping spikes, or lag, minus the average latency.
The monitoring software 5 continually compares the one or more first network quality metrics and the one or more second network quality metrics. This data provides the user with a great deal of information on the overall quality of the network connection they are using to perform their online activities, and is saved such that it can be viewed later by the user, or alternatively may be reported to a central database server for analysis by an administrator. Although the values of the network quality metrics are telling about the quality of the network connection, it is much more meaningful to have control or benchmark values to which comparisons may be made. For this purpose, the monitoring software 5 also monitors and records network quality metrics for the second network connection 8 to the benchmark server 4. This allows for comparison between the network quality metrics of the first network connection 7 being used by the online activity and the second network connection 8 to the benchmark server 4.
Comparison between the two sets of values is facilitated by the visual display 2. The visual display 2 can show the one or more first network quality metrics and the one or more second network quality metrics side by side or in any other configuration that is conducive to comparison between them. The monitoring software 5 displays at least one of the one or more first network quality metrics on the visual display 2, and preferably displays at least one of the one or more second network quality metrics, wherein each of the at least one of the one or more first network quality metrics corresponds to one of the at least one of the one or more second network quality metrics. Thus, the quality of the first network connection 7 may easily be visually compared to the quality of the second network connection 8. Various embodiments of the visual display can be seen in
In the preferred embodiment of the present invention, the visual display 2 of the monitoring software 5 can be accessed by the user at any time and allows the user to view current values of network quality metrics as recorded and calculated by the monitoring software 5. It should be noted that the monitoring software 5 may be its own standalone application that is installed onto the user computer 11 and configured to monitor various network connections used by specific applications such as games and VoIP programs. Alternatively, the monitoring software 5 may be incorporated into pre existing applications, like games and VoIP programs, as a system that can be quickly and easily accessed by the user without having to minimize the user application 6 while performing the online activity.
The visual display 2 may additionally incorporate features for advanced data viewing and benchmark comparison, such as, but not limited to, a graphical display of one or more of the network quality metrics over the time during which the online activity is being carried out.
Referring to
The one or more first network quality metrics and the one or more second network quality metrics are stored within the database. Then, at least one of the one or more first network quality metrics and at least one of the one or more second network quality metrics are retrieved from the database and displayed on the visual display 2. The user may customize which of the network quality metrics are displayed on the visual display 2. To this end, at least one metric selection is received from the user through the monitoring software 5, wherein each of the at least one metric selection corresponds to one of the one or more first network quality metrics and to one of the second network quality metrics, wherein the one of the one or more first network quality metrics corresponds to the one of the one or more second network quality metrics. Each of the at least one metric selection is displayed on the visual display 2.
The monitoring software 5 compares the one or more first network quality metrics to the one or more second network quality metrics. That is, the first network connection 7 to the target server 3 is continually compared to the second network connection 8 to the benchmark server 4. To facilitate diagnosing bad connections, the monitoring software 5 is capable of being configured to trigger an alert if at least one of the one or more first network quality metrics crosses an acceptable threshold. The alert may be an audio or visual alert on the user computer 11, or the alert may be embodied in the form of an electronic message that is sent to an ISP, network administrator or another relevant entity.
Alternatively or additionally, a network quality report may be generated using the one or more first network quality metrics and the one or more second network quality metrics, and the network quality report is then sent to an ISP, system administrator or another relevant entity. The network quality report is preferably formatted such that the network quality report may be conveniently sent to a local internet service provider. The network quality report can be especially helpful in identifying problem routers that are affecting a wide range of outgoing internet traffic due to close proximity to the origin of the traffic. Using this, problems only solvable by the internet service provider can be identified and brought to their attention such that action can be taken to correct said problems.
The present invention may be utilized with multiple services or applications on the user computer 11. To this end, additional network connections to additional target server 3s may be monitored and compared to the second network connection 8 to the benchmark server 4, or to additional benchmark server 4s as needed if different applications connect to target server 3s in significantly distinct locations.
As illustrated in
Step one; the user installs the monitoring software 5 onto the user computer 11 on which the user intends to perform online activities such as gaming and VoIP communication.
Step two; the user runs the monitoring software 5 and chooses what programs on the user computer 11 for which the user wants the monitoring software 5 to track network connections. Alternatively, the monitoring software 5 may be pre configured to track network connections for specific programs, or the monitoring software 5 may be pre configured to integrate with certain programs that are already present on the computer.
Step three; the user performs internet activity with one of the programs that is set to be tracked by the monitoring software 5. The internet activity is performed over the first network connection 7 to the target server 3.
Step four; the internet activity is monitored and recorded by the monitoring software 5. The network quality metrics described above are key values that are monitored and recorded by the monitoring software 5.
Step five; the monitoring software 5 analyzes values collected for the one or more first network quality metrics and generates whatever values that are based on historical information such as average ping and ping deviation.
Step six; the monitoring software 5 collects and generates values for the one or more second network quality metrics through the second network connection 8 to the benchmark server 4. The one or more second network quality metrics is used for comparison to the one or more first network quality metrics.
Step seven; all or some of the information collected and generated by the monitoring software 5 is displayed to the user through the visual display 2, which organizes the information into a format that is concise and easy for even a non technical user to understand. The visual display 2 may be either a separate application from the program performing the internet activity, or it may be brought into the program as an overlay. Using the information provided in the visual display 2, the user can act accordingly in response to the level of quality the first network connection 7 is providing.
Step eight; information collected and generated by the monitoring software 5 may be reported to an online database for centralized collection and review for many users and analysis of network results by region or Internet/backbone provider. The information may alternatively be reported to another appropriate entity such as a system or network administrator.
Although the invention has been explained in relation to its preferred embodiment, it is to be understood that many other possible modifications and variations can be made without departing from the spirit and scope of the invention as hereinafter claimed.
The current application is a continuation of U.S. patent application Ser. No. 14/066,277 filed Oct. 29, 2013 which claims a priority to the U.S. Provisional Patent application Ser. No. 61/719,602 filed on Oct. 29, 2012, and to the U.S. Provisional Patent application Ser. No. 61/720,232 filed on Oct. 30, 2012. The current application is a continuation in part of U.S. patent application Ser. No. 14/047,678 filed Oct. 7, 2013 which claims benefit of Provisional Patent Application 61/710,026 filed Oct. 5, 2012. The current application is a continuation in part of U.S. patent application Ser. No. 14/731,286 filed Jun. 4, 2015 which claims benefit of Provisional Patent Application 62/007,787 filed Jun. 4, 2014. The current application is a continuation in part of U.S. patent application Ser. No. 14/812,968 filed Jul. 29, 2015 which claims benefit of Provisional Patent Application 62/030,384 filed Jul. 29, 2014. The current application is a continuation in part of U.S. patent application Ser. No. 15/335,304 filed Oct. 26, 2016 which claims benefit of Provisional Patent Application 62/246,304 filed Oct. 26, 2015. The current application is a continuation in part of U.S. patent application Ser. No. 15/335,308 filed Oct. 26, 2016 which claims benefit of Provisional Patent Application 62/246,397 filed Oct. 26, 2015.
Number | Name | Date | Kind |
---|---|---|---|
5351239 | Black et al. | Sep 1994 | A |
6131834 | Teeter | Oct 2000 | A |
6215789 | Keenan et al. | Apr 2001 | B1 |
6707915 | Jobst et al. | Mar 2004 | B1 |
6845453 | Scheldt et al. | Jan 2005 | B2 |
6973037 | Kahveci | Dec 2005 | B1 |
7159234 | Murphy et al. | Jan 2007 | B1 |
7609671 | Nuriyev et al. | Oct 2009 | B1 |
7633869 | Morris et al. | Dec 2009 | B1 |
7673056 | Inbaraj et al. | Mar 2010 | B1 |
7711846 | Padmanabhan et al. | May 2010 | B2 |
7730157 | Baratto et al. | Jun 2010 | B2 |
7925281 | Cahn | Apr 2011 | B2 |
7937336 | Maynard-Zhang et al. | May 2011 | B1 |
7983148 | Abramson et al. | Nov 2011 | B1 |
8239510 | Houri | Aug 2012 | B2 |
8589536 | Karenos | Nov 2013 | B2 |
8683609 | Bravo et al. | Mar 2014 | B2 |
8739269 | Dargis | May 2014 | B2 |
8788664 | Guo et al. | Jul 2014 | B2 |
9026145 | Duleba et al. | May 2015 | B1 |
9160711 | Sweet et al. | Oct 2015 | B1 |
9614870 | Bartlett et al. | Apr 2017 | B2 |
20010052008 | Jacobus | Dec 2001 | A1 |
20020009079 | Jungck et al. | Jan 2002 | A1 |
20020026321 | Faris et al. | Feb 2002 | A1 |
20020145974 | Saidi et al. | Oct 2002 | A1 |
20020147913 | Lun Yip | Oct 2002 | A1 |
20030086425 | Bearden | May 2003 | A1 |
20030097442 | Farhat et al. | May 2003 | A1 |
20030107990 | Herschleb et al. | Jun 2003 | A1 |
20030128710 | Fedyk et al. | Jul 2003 | A1 |
20040039847 | Persson et al. | Feb 2004 | A1 |
20040100953 | Chen | May 2004 | A1 |
20040148520 | Talpade et al. | Jul 2004 | A1 |
20040165570 | Lee | Aug 2004 | A1 |
20040172531 | Little et al. | Sep 2004 | A1 |
20040187018 | Owen et al. | Sep 2004 | A1 |
20040192256 | Kuwajima | Sep 2004 | A1 |
20040221296 | Ogielski et al. | Nov 2004 | A1 |
20050002335 | Adamczyk et al. | Jan 2005 | A1 |
20050015587 | Stransky | Jan 2005 | A1 |
20050055708 | Gould et al. | Mar 2005 | A1 |
20050108213 | Riise et al. | May 2005 | A1 |
20050119996 | Ohata | Jun 2005 | A1 |
20050180416 | Jayawardena et al. | Aug 2005 | A1 |
20050232193 | Jorgensen | Oct 2005 | A1 |
20050234922 | Parekh et al. | Oct 2005 | A1 |
20050270982 | McBeath | Dec 2005 | A1 |
20060053021 | Bystedt | Mar 2006 | A1 |
20060068799 | Morton et al. | Mar 2006 | A1 |
20060130107 | Gonder et al. | Jun 2006 | A1 |
20060153089 | Silverman | Jul 2006 | A1 |
20060174160 | Kim | Aug 2006 | A1 |
20060244818 | Majors et al. | Nov 2006 | A1 |
20070016687 | Agarwal et al. | Jan 2007 | A1 |
20070070914 | Abigail | Mar 2007 | A1 |
20070086338 | Robert et al. | Apr 2007 | A1 |
20080037567 | Cho et al. | Feb 2008 | A1 |
20080056586 | Cheng et al. | Mar 2008 | A1 |
20080092128 | Corry et al. | Apr 2008 | A1 |
20080101368 | Weinman | May 2008 | A1 |
20080125077 | Velazquez et al. | May 2008 | A1 |
20080140817 | Agarwal et al. | Jun 2008 | A1 |
20080144563 | Hart | Jun 2008 | A1 |
20080279213 | Tong et al. | Nov 2008 | A1 |
20080293494 | Adiraju et al. | Nov 2008 | A1 |
20080313691 | Cholas et al. | Dec 2008 | A1 |
20090067328 | Morris et al. | Mar 2009 | A1 |
20090193057 | Maes | Jul 2009 | A1 |
20090203375 | Gisby et al. | Aug 2009 | A1 |
20090262741 | Jungck et al. | Oct 2009 | A1 |
20090280908 | Carroll et al. | Nov 2009 | A1 |
20090282127 | Leblanc et al. | Nov 2009 | A1 |
20100036954 | Sakata et al. | Feb 2010 | A1 |
20100046527 | Li et al. | Feb 2010 | A1 |
20100125851 | Singh et al. | May 2010 | A1 |
20100185961 | Fisher | Jul 2010 | A1 |
20100269044 | Ivanyi | Oct 2010 | A1 |
20100325309 | Cicic et al. | Dec 2010 | A1 |
20110052008 | Holsing et al. | Mar 2011 | A1 |
20110122812 | Jeong et al. | May 2011 | A1 |
20110197132 | Escoda et al. | Aug 2011 | A1 |
20110202656 | Gentile et al. | Aug 2011 | A1 |
20110236665 | Roque et al. | Sep 2011 | A1 |
20110246665 | Vange et al. | Oct 2011 | A1 |
20110296303 | Duquene et al. | Dec 2011 | A1 |
20120069748 | Van Den Bogaert | Mar 2012 | A1 |
20120190444 | Fujisawa et al. | Jul 2012 | A1 |
20120311107 | Van der Merwe et al. | Dec 2012 | A1 |
20120314077 | Clavenna, II et al. | Dec 2012 | A1 |
20130054763 | Van der MerWe et al. | Feb 2013 | A1 |
20130079144 | Ahmed et al. | Mar 2013 | A1 |
20130097349 | Lu et al. | Apr 2013 | A1 |
20130279354 | Ekman | Oct 2013 | A1 |
20130298220 | Yoon et al. | Nov 2013 | A1 |
20140098662 | Jungck et al. | Apr 2014 | A1 |
20140259109 | Houston et al. | Sep 2014 | A1 |
20140344331 | Johns et al. | Nov 2014 | A1 |
20150341312 | Ezell et al. | Nov 2015 | A1 |
20150373135 | McKeown | Dec 2015 | A1 |
20210203546 | Bartlett et al. | Jul 2021 | A1 |
20210281518 | Bartlett et al. | Sep 2021 | A1 |
Number | Date | Country |
---|---|---|
2009084967 | Jul 2009 | WO |
Entry |
---|
Office Action issued in U.S. Appl. No. 15/335,304 dated Jan. 9, 2019. |
Office Action issued in U.S. Appl. No. 14/047,678 dated Oct. 3, 2018. |
Advisory Action issued in U.S. Appl. No. 14/047,678 dated Nov. 26, 2018. |
Office Action issued in U.S. Appl. No. 15/335,308 dated Jan. 4, 2019. |
Advisory Action issued in U.S. Appl. No. 15/335,304 dated Jun. 25, 2018. |
Office Action issued in U.S. Appl. No. 15/335,308 dated Mar. 20, 2020. |
Office Action issued in U.S. Appl. No. 15/335,308 dated Sep. 20, 2019. |
Office Action issued in U.S. Appl. No. 15/335,308 dated May 21, 2019. |
Notice of Allowance issued in U.S. Appl. No. 15/335,304 dated Aug. 14, 2019. |
Office Action issued in U.S. Appl. No. 14,/047,678 dated May 16, 2019. |
Office Action issued in U.S. Appl. No. 14/047,678 dated Nov. 26, 2019. |
Office Action issued in U.S. Appl. No. 14/047,678 dated Apr. 20, 2020. |
Kandula et al., (Aug. 2008). “What's Going On? Learning Communicatino Rules in Edge Networks”. SIGCOMM'08; pp. 87-98. |
Brinkmeier et al., (Jun. 2009) “Optimally DoS Resistant P2P Topologies for Live Multimedia Streaming,” IEEE Transactions on Parallel and Distributed Systems, vol. 20, No. 6.; pp. 831-844. |
Krishnan et al., (1997). “A Failure and Overload Tolerance Mechanism for Continuous Media Services,” Multimedia Communications Laboratory, Department of Electrical and Computer Engineering, Boston University; pp. 131-142. |
Non-Final Office Action dated Oct. 2, 2013, directed to U.S. Appl. No. 13/529,937; 16 pages. |
Final Office Action dated Feb. 10, 2014, directed to U.S. Appl. No. 13/529,937; 16 pages. |
Advisory Action dated Apr. 25, 2014, directed to U.S. Appl. No. 13/529,937; 4 pages. |
Non-Final Office Action dated Nov. 28, 2014, directed to U.S. Appl. No. 13/529,937; 20 pages. |
Notice of Allowance and Fee(s) Due dated May 20, 2015, directed to U.S. Appl. No. 13/529,937; 13 pages. |
Non-Final Office Action dated Jul. 28, 2017, directed to U.S. Appl. No. 15/439,677; 27 pages. |
Notice of Allowance and Fee(s) Due dated Jan. 29, 2018, directed to U.S. Appl. No. 15/439,677; 18 pages. |
Notice of Allowance and Fee(s) Due dated Feb. 22, 2018, directed to U.S. Appl. No. 15/439,677; 14 pages. |
Non-Final Office Action dated Jan. 6, 2022, directed to U.S. Appl. No. 17/141,944; 14 pages. |
Final Office Action dated May 2, 2022, directed to U.S. Appl. No. 17/141,944; 7 pages. |
Non-Final Office Action dated May 11, 2022, directed to U.S. Appl. No. 17/328,095; 43 pages. |
Number | Date | Country | |
---|---|---|---|
62246397 | Oct 2015 | US | |
62246304 | Oct 2015 | US | |
62030384 | Jul 2014 | US | |
62007787 | Jun 2014 | US | |
61720232 | Oct 2012 | US | |
61719602 | Oct 2012 | US | |
61710026 | Oct 2012 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 14066277 | Oct 2013 | US |
Child | 14731286 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 15335304 | Oct 2016 | US |
Child | 15399303 | US | |
Parent | 15335308 | Oct 2016 | US |
Child | 15335304 | US | |
Parent | 14812968 | Jul 2015 | US |
Child | 15335308 | US | |
Parent | 14731286 | Jun 2015 | US |
Child | 14812968 | US | |
Parent | 14047678 | Oct 2013 | US |
Child | 14066277 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 15399303 | Jan 2017 | US |
Child | 15825849 | US |