System and method for monitoring network connection quality by executing computer-executable instructions stored on a non-transitory computer-readable medium

Information

  • Patent Grant
  • RE49392
  • Patent Number
    RE49,392
  • Date Filed
    Wednesday, November 29, 2017
    7 years ago
  • Date Issued
    Tuesday, January 24, 2023
    a year ago
Abstract
A system and method for monitoring network connection quality utilizes software installed on a user computer to monitor a first network connection to a target server used for a desired activity and a second network connection to a benchmark server. Various network quality metrics are recorded and compared for each of the connections and displayed on a visual display so that the user may easily and accurately judge the health of the connection to the target server.
Description
FIELD OF THE INVENTION

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.


BACKGROUND OF THE INVENTION

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.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a flowchart describing the main steps of the method of the present invention.



FIG. 2 is a flowchart describing additional steps in the method of the present invention for comparing a network connection to a benchmark connection.



FIG. 3 is a flowchart describing an additional embodiment where multiple network connections are monitored.



FIG. 4 is a flowchart describing steps for customizing the visual display.



FIG. 5 is a flowchart describing the basic steps followed by the method of the present invention.



FIG. 6 is a visual flowchart depicting how the benchmark server may be set up.



FIG. 7 is a visual flowchart depicting how a round trip may be used to determine the latency difference between the game server and the benchmark server.



FIG. 8 is a visual flowchart depicting how a chained server connection or global private network can be used to compare values of the five elements to help determine the quality of the network connections.



FIG. 9 is a mock up of how the visual display of the present invention may look.



FIG. 10 is a mock up of how one of the five elements may be graphically displayed.



FIG. 11 is a mock up of how another one of the five elements may be graphically displayed.





DETAIL DESCRIPTIONS OF THE INVENTION

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 FIG. 6, in the preferred embodiment of the present invention, the system comprises a local area network 1, a visual display 2, a target server 3, a benchmark server 4, monitoring software 5, and a user application 6. The user application 6 is a game, VoIP application, or another application which depends on a network connection to a remote server. The local area network 1 is electronically connected to the target server 3 and to the benchmark server 4. The local area network 1 comprises a user computer 11 and a router 12, which are electronically connected to each other. The monitoring software 5 and the user application 6 are installed on the user computer 11. The router 12, and thereby the user computer 11, is electronically connected to the target server 3 by a first network connection 7, and is electronically connected to the benchmark server 4 by a second network connection 8.


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 FIGS. 7 and 8. In this fashion, comparison may be made between round trip values of network connection quality for data sent through the private server system and data that is sent normally through regular network connections. In this way, comparisons may be made that show the impact on quality that is experienced when the private server system is used as opposed to allowing the internet data to be sent regularly through internet routers.


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 FIGS. 9-11.


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 FIGS. 1-4, the method of the present invention is as follows. In the preferred embodiment of the present invention, a target server 3 and a benchmark sever are provided, as well as a database and a visual display 2. A first network connection 7 is established to the target server 3, and a second network connection 8 is established to the benchmark server 4. One or more first network quality metrics are monitored by the monitoring software 5 for the first network connection 7, and one or more second network quality metrics are monitored by the monitoring software 5 for the second network connection 8. Each of the one or more second network quality metrics corresponds to one of the one or more first network quality metrics; that is, each of the one or more first network quality metrics is the same as one of the one or more second network quality metrics, but measured for a different network connection.


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 FIG. 5, another perspective of the process of using the present invention is as follows.


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.

Claims
  • 1. A method for monitoring network connection quality by executing computer-executable instructions stored on a non-transitory computer-readable medium, the instructions being executed by a user computer, the method comprising: providing a target server;providing a database;providing a visual display;establishing a first network connection to the target server;continually monitoring, by the user computer, one or more first network quality metrics for thea first network connection through the internet from the user computer to a target server;continually storing the one or more first network quality metrics within thea database;retrieving at least one of the one or more first network quality metrics from the database;displaying the at least one of the one or more first network quality metrics on the visual display;providing a private server system;establishing an additionalsimultaneously with the first network connection a second network connection additional to the first network connection from the user computer to the target server through the internet and through thea private server system;continually monitoring, by the user computer, one or more second network quality metrics for the additionalsecond network connection through the internet, eachat least one of the one or more second network quality metrics corresponding to one of the one or more first network quality metrics;continually storing, by the user computer, the one or more second network quality metrics within the database;retrieving, by the user computer, at least one of the one or more second network quality metrics from the database;displaying the at least one of the one or more second network quality metrics on thea visual display of the user computer;simultaneously monitoring, by the user computer, the one or more first network quality metrics for the first network connection and the one or more second network quality metrics for the additionalsecond network connection;comparing continually, by the user computer, the one or more first network quality metrics of the first network connection through the internet to the one or more second network quality metrics of the second network connection through the internet to determine how much each of the first and second network quality metrics has improved or degraded in the first or the second network connection to the target server;the first network quality metrics being at least one member of the group consisting of a first current ping, a first average ping, a first ping deviation, number of first hops, number of first bad hops, a first flux, number of first ping spikes, and number of first packet loss, and any other network quality metric measuring real-time communications;and the second network quality metrics being at least one member of the group consisting of a second current ping, a second average ping, a second ping deviation, number of second hops, number of second bad hops, a second flux, number of second ping spikes, and number of second packet loss, and any other network quality metric measuring real-time communications.
  • 2. The method of claim 1further comprising, wherein: the private server system comprisingcomprises a plurality of proxy servers.
  • 3. The method of claim 1, further comprising: triggering an alert when the at least one of the one or more first network quality metrics crosses an acceptable threshold.
  • 4. The method of claim 3further comprising, wherein: the alert being ofcomprises an audio form.
  • 5. The method of claim 3further comprising, wherein: the alert being ofcomprises a visual form.
  • 6. The method of claim 1, further comprising: generating a network quality report by using the one or more first network quality metrics and the one or more second network quality metrics.
  • 7. The method of claim 6, further comprising: sending the network quality report to a system administrator.
  • 8. The method of claim 1, further comprising: receiving at least one metric selection in response to continually comparing the one or more first network quality metrics with the one or more second network quality metrics; andcorresponding each of the at least one metric selection to one of the one or more first network quality metrics and to one of the one or more second network quality metrics.
  • 9. The method of claim 8, further comprising: displaying each of the at least one metric selection on the visual display.
  • 10. A system for monitoring network connection quality comprising: a local area network comprising a user computer and a router, the user computer being electronically connected to the router;a monitoring software configured to be installed on thea user computer electronically connected to a router;a user application configured to be installed on the user computer;a target server;a database;a visual display;a first network connection, the router beingconfigured to electronically connectedconnect the router to thea target server by the first network connection through the internet;a one or more first network quality metrics for the first network connection, the one or more first network quality metrics being continually monitored by the monitoring software on the user computer, the one or more first network quality metrics being continually stored within thea database, at least one of the one or more first network quality metrics being retrieved from the database, the at least one of the one or more first network quality metrics being displayed on the visual display by the monitoring software;a private server system;an additionala second network connection, the router beingadditional to the first connection configured to electronically connectedconnect the router to the target server by the additionalsecond network connection through thea private server system through the internet, wherein the second network connection and the first network connection are established simultaneously;a one or more second network quality metrics for the additionalsecond network connection, the one or more second network quality metrics being continually monitored by the monitoring software on the user computer, eachat least one of the one or more second network quality metrics corresponding to one of the one or more first network quality metrics, the one or more second network quality metrics being continually stored within the database, at least one of the one or more second network quality metrics being retrieved from the database, the at least one of the one or more second network quality metrics being displayed on the visual display by the monitoring software;the one or more first network quality metrics for the first network connection and the one or more second network quality metrics for the additionalsecond network connection being simultaneously monitored by the user computer;the one or more first network quality metrics of the first network connection through the internet being continually compared to the one or more second network quality metrics of the second network connection through the internet by the user computer to determine how much each of the first and second network quality metrics has improved or degraded in the first or the second network connection to the target server;the first network quality metrics being at least one member of the group consisting of a first current ping, a first average ping, a first ping deviation, number of first hops, number of first bad hops, a first flux, number of first ping spikes, and number of first packet loss, and any other network quality metric measuring real-time communications;and the second network quality metrics being at least one member of the group consisting of a second current ping, a second average ping, a second ping deviation, number of second hops, number of second bad hops, a second flux, number of second ping spikes, and number of second packet loss, and any other network quality metric measuring real-time communications.
  • 11. The system of claim 10further comprising, wherein: the private server system comprisingcomprises a one or more first proxy servers.
  • 12. The system of claim 10, further comprising: an alert triggered by the monitoring software when the at least one of the one or more first network quality metrics crosses an acceptable threshold.
  • 13. The system of claim 12further comprising, wherein: the alert being ofcomprises an audio form transmitted from the user computer.
  • 14. The system of claim 12further comprising, wherein: the alert being ofcomprises a visual form transmitted from the user computer.
  • 15. The system of claim 10, further comprising: a network quality report generated by using the one or more first network quality metrics and the one or more second network quality metrics.
  • 16. The system of claim 15further comprising, wherein: the network quality report beingis sent to a system administrator.
  • 17. The system of claim 10, further comprising: at least one metric selection received in response to continually comparing the one or more first network quality metrics with the one or more second network quality metrics by the monitoring software; andeach of the at least one metric selection corresponding to one of the one or more first network quality metrics and to one of the one or more second network quality metrics.
  • 18. The system of claim 17further comprising, wherein: each of the at least one metric selection beingis displayed on the visual display.
  • 19. A method for monitoring network connection quality by executing computer-executable instructions stored on a non-transitory computer-readable medium, the instructions being executed by a user computer, the method comprising: establishing a private server system;monitoring, by the user computer, one or more first network quality metrics for a first network connection from the user computer to a target server through the internet during a first time duration of an online activity;establishing simultaneously with the first network connection a second network connection from the user computer to the target server through the private server system through the internet, wherein the second network connection is different from the first network connection;continually monitoring, by the user computer, one or more second network quality metrics for the second network connection through the internet during a second time duration of the online activity, at least one of the one or more second network quality metrics corresponding to one of the one or more first network quality metrics;continually storing, by the user computer, the one or more second network quality metrics within the database;retrieving, by the user computer, at least one of the one or more second network quality metrics from the database;displaying on a visual display the at least one of the one or more second network quality metrics over the second time duration of the online activity;comparing continually, by the user computer, the one or more first network quality metrics of the first network connection through the internet to the one or more second network quality metrics of the second network connection through the internet to determine how much each of the first and second network quality metrics has improved or degraded in the first or the second network connection to the target server;wherein the first network quality metrics comprise at least one member of the group consisting of a first current ping, a first average ping, a first ping deviation, number of first hops, number of first bad hops, a first flux, number of first ping spikes, and number of first packet loss, and any other network quality metric measuring real-time communications;wherein the second network quality metrics comprise at least one member of the group consisting of a second current ping, a second average ping, a second ping deviation, number of second hops, number of second bad hops, a second flux, number of second ping spikes, and number of second packet loss, and any other network quality metric measuring real-time communications.
  • 20. The method of claim 19, further comprising: displaying on the visual display the at least one of the one or more first network quality metrics over the first time duration of the online activity.
  • 21. The method of claim 20, wherein: the first time duration of the online activity and the second time duration of the online activity correspond to the same time duration of the online activity.
  • 22. The method of claim 20, wherein: establishing the private server system comprises providing the private server system.
  • 23. The method of claim 1, wherein continually monitoring, by the user computer, the one or more first network quality metrics for the first network connection through the internet from the user computer to the target server comprises continually monitoring, by the user computer, the one or more first network quality metrics for the first network connection through a first route in the internet from the user computer to the target server, andwherein establishing simultaneously with the first network connection the second network connection additional to the first network connection from the user computer to the target server through the internet and through the private server system comprises establishing simultaneously with the first network connection the second network connection additional to the first network connection from the user computer to the target server through a second route in the internet and through the private server system,wherein continually monitoring, by the user computer, one or more second network quality metrics for the second network connection through the internet during the second time duration of the online activity, at least one of the one or more second network quality metrics corresponding to the one of the one or more first network quality metrics comprises continually monitoring, by the user computer, the one or more second network quality metrics for the second network connection through the second route in the internet during the second time duration of the online activity, at least one of the one or more second network quality metrics corresponding to the one of the one or more first network quality metrics.
Parent Case Info

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.

US Referenced Citations (103)
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
Foreign Referenced Citations (1)
Number Date Country
2009084967 Jul 2009 WO
Non-Patent Literature Citations (26)
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.
Provisional Applications (7)
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
Continuations (1)
Number Date Country
Parent 14066277 Oct 2013 US
Child 14731286 US
Continuation in Parts (5)
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
Reissues (1)
Number Date Country
Parent 15399303 Jan 2017 US
Child 15825849 US