Sign In to Follow Application
View All Documents & Correspondence

System And Method For Monitoring Network Connections

Abstract: System and method for monitoring network connection are provided. The system comprises at least one client device configured for providing a user  access to a public network via a network connection and a network monitoring module coupled to the client device  the network monitoring module configured for monitoring the network connection based on an establishment of a transmission control protocol connection between the client device and the public network. The method comprises steps of monitoring establishment of a transmission control protocol connection between a client device and a worldwide web server and generating network monitoring statistics on availability of network connection based on the information derived from monitoring.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
21 March 2012
Publication Number
39/2013
Publication Type
INA
Invention Field
COMMUNICATION
Status
Email
Parent Application

Applicants

Novatium Solutions Pvt Ltd
SP Infocity  Block A  2nd Floor  #40  MGR Salai  Perungudi  Kandanchavadi  Chennai

Inventors

1. Alok Singh
7B  Shivas Bhaggyam  Industrial Estate Road Okkiyam  Thoraipakkam Chennai-600096
2. G Vinod Kumar
No.2 "Gopis House" VGP Saraswathi Nagar  Rajakilpakkam Chennai-600073
3. S Badrinath
835 Brownstone Apartments  Mahalingapuram Chennai-600034

Specification

The following specification particularly describes and ascertains the nature of this invention and the manner in which it is to be performed:-

FIELD OF INVENTION

[0001] The invention generally relates to computer networks and more particularly to monitoring network conditions.

BACKGROUND OF THE INVENTION

[0002] A client device is typically connected to the internet through a broadband DSL or cable modem or mobile broadband connection provided by a local Internet Service Provider (ISP). To access the internet and also to reach a server unit  the availability and reliability of the internet connection  provided by the ISP  is important. One of the network monitoring tools suggested in the prior art include connectivity monitoring mechanisms.

[0003] One of the main disadvantages of Internet Service Provider Connectivity Monitoring Mechanisms (ISP-CMM) suggested in the prior art is the significant amount of extra traffic it introduces into a network. The network may connect plurality of client devices to a server unit. Each of the client devices may run one or more utility applications to periodically check the internet connectivity of every user. This results in significant amount of extra byte consumption by the user of the client device and hence the user’s average monthly internet billing cost may increase significantly due to this. In addition  since the server unit has to run ISP-CMM instances for every user connected to the client device  a lot of processing overhead is generated at the server unit  apart from the increased network bandwidth requirement for this purpose. The server units also typically maintain a log of these measurements and hence this requires a large amount of storage space and maintenance at its end.

[0004] Another disadvantage of network monitoring tools suggested in the prior art is that they are run occasionally and seldom on a regular basis. First  during installation of client device and second  during times when there are internet connectivity problems. Due to this one is unable to find out the overall quality of the internet connection provided by the ISP  as enough monitoring data is not available.

[0005] Special utility applications for monitoring network health run between the client device and the server unit  to constantly monitor the internet connectivity of the user. Such utilities generate significant amount of overhead traffic and hence add to the overall network traffic of each of the users of the client device and the server unit. It also increases the internet usage bill of the users of the client device. The same also applies to end computers (Personal Computers (PCs) and other desktops connecting to the internet using an ISP.

[0006] Also in client devices  ISP-CMMs may be run at predetermined times  considering the significant amount of traffic overhead introduced by these tools. Hence the availability level of internet connectivity estimated by such measurements may not be accurate (when compared to an average value of the samples taken at different intervals in a day). The availability and quality of ISPs internet connectivity generally varies significantly at different times of the day. For example  during peak business hours  the quality may be low due to network congestion  whereas during off-peak times/nights  the quality may be good due to less number of users using the ISPs network. Hence a good estimate of the quality of the ISP’s connection should be arrived at based not only on frequency of measurements but also by monitoring the actual failure/success percentage of internet connectivity attempts made by a user.

[0007] Another problem frequently encountered by ISPs and client device managers is due to lack of knowledge of internet operating mechanisms by end users. There are many cases where users call the ISPs when they are unable to access certain web sites  thinking that the problem is with the ISPs connection  when the actual problem is due to the web servers being down temporarily or due to the web sites no longer existing. Majority of the network monitoring mechanisms in the prior art check connectivity to a few popular web sites and decide on their internet connectivity status assuming that these popular sites would always be functionally up.

[0008] Yet another problem is that client devices and other computers rarely have self-monitoring mechanisms for detecting connectivity problems and overall statistics about the availability and quality of their internet connectivity. Instead they rely on external monitoring tools run from server units or on ISP technicians visiting onsite.

[0009] Some data link layer protocols like PPP (Point-to-Point Protocol) may be having their own keep-alive mechanisms to periodically check their connectivity with the PPP server at the ISP. But the problem with relying on protocols like PPP is that the client device may or may not be running them. Such protocols may be run on a modem  providing connectivity to the client device. Hence network monitoring tools cannot rely on such methods to check ISP connectivity.

[0010] Hence  there exists a need for a system and method to monitor network connectivity that does not increase the network traffic  does not adversely affect internet usage billing of the user  demands low bandwidth requirement and requires less storage space for storing network monitoring related data. In short  there exists a need for a passive method of monitoring network connectivity.

BRIEF DESCRIPTION OF THE INVENTION

[0011] The above-mentioned shortcomings  disadvantages and problems are addressed herein which will be understood by reading and understanding the following specification.

[0012] In one embodiment a system for monitoring network connection is provided. The system comprises at least one client device configured for providing a user access to a public network via a network connection and a network monitoring module coupled to the client device  the network monitoring module configured for monitoring the network connection based on an establishment of a transmission control protocol connection between the client device and the public network.

[0013] In another embodiment  a method of monitoring network connection is provided. The method comprises steps of monitoring establishment of a transmission control protocol connection between a client device and a worldwide web server and generating network monitoring statistics on availability of network connection based on information derived from monitoring.

[0014] In yet another embodiment a method of monitoring network connection comprises steps of installing a network monitoring module in a client device  the network monitoring module configured for monitoring an inflow of one or more internet protocol packets  receiving an internet protocol packet from a worldwide web server  updating network monitoring statistics on successful establishment of the connection in response to receiving the internet packet and recording a time stamp indicating the time of successful establishment of the connection.

[0015] Systems and methods of varying scope are described herein. In addition to the aspects and advantages described in this summary  further aspects and advantages will become apparent by reference to the drawings and with reference to the detailed description that follows.

BRIEF DESCRIPTION OF THE DRAWINGS

[0016] FIG. 1 shows a block diagram of a system for monitoring network connection as described in one embodiment;

[0017] FIG. 2 shows a block diagram of a system for monitoring network connection as described in another embodiment;

[0018] FIG. 3 shows a flow diagram depicting a method of monitoring network connection as described in one embodiment; and

[0019] FIG. 4 shows a flow diagram depicting a method of monitoring network connection as described in another embodiment.

DETAILED DESCRIPTION OF THE INVENTION

[0020] In the following detailed description  reference is made to the accompanying drawings that form a part hereof  and in which is shown by way of illustration specific embodiments  which may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the embodiments  and it is to be understood that other embodiments may be utilized and that logical  mechanical  electrical and other changes may be made without departing from the scope of the embodiments. The following detailed description is  therefore  not to be taken in a limiting sense.

[0021] One or more of the problems of the conventional prior art may be overcome by various embodiments of the present invention. The present invention relates to a system and method of monitoring the availability of ISP connectivity at a client device by passively watching the internet usage of the user of the client device.

[0022] Users of a Cloud Computing Environment (CCE) access some of their computing requirements dynamically. The computing requirements are not necessarily locally resident but are usually accessed across a network. The user uses a resource for a required time and releases the resource on completion. Thus the available resources are shared between a set of users. Thus resource optimization and hence cost optimization is achieved for all the customers and the different players in the client device.

[0023] To realize the above mentioned objectives  utility computing utilizes a number of components that provide computing to users  manage the usage and features requested by the users and monitor and manage different physical components in the environment. These components are spread over the three physical components in the environment  namely  a client device at the users end (may also be referred to as a computing device)  a server unit and a network that connects these two components.

[0024] Accordingly  in one embodiment  as shown in FIG. 1  a system for monitoring network connection is provided. The system comprises at least one client device configured for providing a user  access to a public network via a network connection and a server unit coupled to each of the client device via the public network.

[0025] The client device is a simple to use and typically low power consuming device that is capable of running local and remote applications. The client device connects to the server unit to access the native Operating System (OS) applications required by a user of the client device. These applications are referred to as remote applications (RAPPs). Local Applications (LAPPs) include among other things a browser through which the user can access the internet directly without connecting to the server unit. The features in the client device are configurable and are dynamically managed by the server unit. The server unit consists of two components. One component provides the features and functionality required by the users. The other component manages the networked environment.

[0026] The network includes the physical network and the protocols that the client device and the server unit use to communicate with each other. Accordingly  the public network is one of a wired and a wireless network and comprises one or more public network protocols. The public networks include Internet  Intranet  LAN  WAN or such type of TCP/IP networks for communicating data or signals between two points.

[0027] The client device includes a communication device capable of accessing the public network. Further  the client device is a portable or a non-portable device configured for personal or general use. Typically  the client device (as shown in FIG. 1) may comprise a cellular phone 102  a desktop computer 104 (including a network computer)  a notebook  tablet or a laptop 106 and a Personal Digital Assistant (PDA) 108 that is capable of communicating with one or more of the external devices.

[0028] FIG. 1 depicts the client device connected to the server unit via the public network. However  it is to be noted that the client device may be connected to the server unit via a private network (as is shown in FIG. 2). The public networks include Intranet  LAN  WAN or such type of networks for communicating data or signals between two points.

[0029] The system further comprises a network monitoring module coupled to the client device. Although FIG. 2 shows the network monitoring module to be embedded within the client device  skilled artisans shall however appreciate that the network monitoring module can be a stand alone device embedded within a processing unit. In such case  the network monitoring module is configured for identifying the client device using the IP address of the client device and is linked to one or more applications running on the client device.
[0030] The network monitoring module is in communication with inbound and outbound traffic of the client device. The network monitoring module is a passive probe coupled to the public network. In one embodiment  the network monitoring module is configured for monitoring the network connection based on an establishment of a transmission control protocol (TCP) connection. TCP protocol may be used by many applications for reliable non-real-time data transfer. The applications using TCP include Internet protocol (HTTP)  FTP  SMTP  user datagram protocol (UDP) and Real Time Transport Protocol (RTP).

[0031] The Hyper Text Transfer Protocol (HTTP) is the default protocol used for web browsing. The HTTP protocol uses the reliable TCP (Transmission Control Protocol) as the underlying transport layer protocol. For every web site visited by the user of the client device through a browser  the browser sends a HTTP request to the web site’ s web server. This means that a TCP connection is first opened from the client device to a remote web server. Only upon successful establishment of a TCP connection  the client device sends the HTTP request to the web server through this TCP connection. Apart from HTTP  other common applications used by user of the client devices  like SMTP (Simple Message Transfer Protocol) for Email and FTP (File Transfer Protocol) for file transfer also use TCP as the underlying transport protocol.

[0032] TCP is a connection-oriented protocol and a logical connection has to be opened between the client device (TCP client) and the server unit (TCP server) prior to initiating application data transfer. TCP uses a 3-way handshake protocol for connection establishment. The TCP client starts the handshake by sending a TCP-SYN (synchronization) message to the remote TCP server. The remote server responds back with a TCP-SYN-ACK message to the TCP client. On receiving the TCP-SYN_ACK message  the TCP client responds by sending a TCP-ACK message back to the TCP server in order to complete the 3-way handshake and the logical TCP connection establishment process. Upon successful establishment of the connection  the client device and the server unit send application data (in this case the HTTP request and the corresponding HTTP reply in the form of web page contents).

[0033] TCP segments are carried inside IP (Internet Protocol) packets. Hence  if the client device receives a TCP-SYN_ACK message from a remote server in response to a TCP-SYN message sent by it  then it means that IP packets are able to be received by the client device from remote computers through the internet. This in turn means that the client device ISP’s internet connectivity is up at that instant  as the IP packets enter and exit the client device through the ISP’s connection.

[0034] The invention provides a technique to add additional intelligence at the client device to watch the TCP connection establishment process for each and every external TCP connection initiated by the client device and to use this information to maintain statistics about the availability of the internet connectivity at the client device.

[0035] Typical statistics would include the percentage of successful TCP connection establishments and also the percentage of failed TCP connection establishments  along with a timestamp (date & time) of each succeeded or failed attempt.

[0036] Alternatively  if there are storage space constraints at the client device  it could just maintain timestamps for the last successful and failed connections alone  along with the cumulative success and failure percentages. Typically  standard TCP/IP implementations provide hooks to application program to register with it for protocol specific events. This way application programs can receive information as to when a TCP-SYN is sent out of the client device and similarly when a reply TCP-SYN_ACK is received by the client device. Further  since commonly used application protocols by user of the client devices like HTTP  SMTP  FTP etc. use TCP as the underlying transport layer protocol  the availability of the ISP’s connection is automatically monitored every time the user of the client device attempts to use these protocols (e.g. every time user accesses any web site  transfers a file or sends/receives emails etc.) without generating additional overhead traffic for this purpose.

[0037] Additionally  whenever the client device fails to receive back a TCP-SYN_ACK from a remote web server in response to a TCP-SYN  then it may be due to one of a failed internet connectivity at the client device (at that instant) and functional impairment of the web server.

[0038] In one embodiment  the client device is configured for selectively sending explicit probe packets upon detecting a failed TCP connection. For this purpose  the network monitoring module is configured for conducting a probe test. The probe test comprises sending an internet control message protocol  (ICMP) ECHO REQUEST (IP packets) to a gateway server. The gateway server is configured for interfacing the client device with the worldwide web server. The gateway server upon receiving the ping  answers by sending a response packet within a predetermined time period. The network monitoring module is configured to record indication of failure if no response is received within an allotted time.

[0039] In one embodiment  the invention provides a technique to passively learn connectivity status of the ISP by watching incoming IP packets using the network monitoring module at the client device. In this particular embodiment  the network monitoring module may be firewall software configured for passive network monitoring of the real time network traffic at the client device. Typically  the client device may not run firewall software  because firewall is typically run in the ISP’s modem. However  in this embodiment  where client device runs firewall software  it is possible to verify ISP’s connectivity based on incoming IP packets. Since  the firewall software watches the IP packets entering the client device  the arrival of an incoming IP packet to the client device from a public IP address indicates the presence of internet connectivity at the client device. Subsequent to receiving the IP packet  the client device may update its network monitoring statistics accordingly (for example  the network monitoring module may update the timestamp indicating the time of recent receipt of the incoming IP packet).

[0040] In one embodiment  the network monitoring module may comprise a hardware component comprising one of optical splitter  passive serial line connector  interface mirroring device  system supported by a router or switch  passive interfaces on a broadcast LAN or such monitoring device.

[0041] In another embodiment  as shown in FIG. 3  a method of monitoring network connection is provided. The method comprises steps of monitoring establishment of a transmission control protocol connection between a client device and a worldwide web server and generating networking monitoring statistics on availability of network connection based on the information derived from the monitoring.

[0042] Further  the method of monitoring establishment comprises monitoring a successful establishment of a transmission control protocol connection between the client device and the worldwide web server  updating the statistics on successful establishment of the connection and recording a time stamp indicating the time of successful establishment of the connection.

[0043] Alternatively  the method of monitoring establishment comprises monitoring a failed establishment of a transmission control protocol connection between the client device and the worldwide web server  updating the statistics on failed establishment of the connection and recording a time stamp indicating the time of failed establishment of the connection.

[0044] In cases where the network monitoring module monitors the establishment of failed network connection  the method further comprises conducting a probe test. The probe test comprises transmitting a test packet to the gateway server  updating the statistics on successful establishment of the connection upon receiving a response from the gateway sever and recording a time stamp indicating the time of successful establishment of the connection.

[0045] Alternatively  the method of conducting the probe test comprises transmitting a test packet to the gateway server  updating the statistics on failed establishment of the connection upon not receiving a response from the gateway sever within a predetermined time period and recording a time stamp indicating the time of failed establishment of the connection. The method further comprises generating an alert at the client device. The alert may be one of audio  visual and tactile.

[0046] In yet another embodiment  as shown in FIG. 4  another method of monitoring network connection is provided. The method comprises steps of installing a network monitoring module in a client device  the network monitoring module configured for monitoring an inflow of one or more internet protocol (IP) packets  receiving an internet protocol packet from a worldwide web server  updating network monitoring statistics on successful establishment of the connection in response to receiving the IP packet and recording a time stamp indicating the time of successful establishment of the connection.

[0047] The network monitoring module stores the network monitoring statistics along with time stamps in a memory module  coupled to the network monitoring module  without further processing the data. Since minimal processing is performed at this stage  this task can be performed in real time.

[0048] The method further comprises generating a dynamic report based on network monitoring statistics and the time stamps and sending the report to the server unit based on a trigger. The trigger may be time based  change based and request based. In the time based trigger  the dynamic report is sent subsequent to the completion of predetermined (set by user) time period. In the change based trigger  the dynamic report is sent upon monitoring significant changes in the network monitoring statistics. In the request based trigger  the dynamic report is sent consequent to receiving a request from the server unit. This saves lot of storage space on the server unit as the network monitoring statistics are maintained and stored in a distributed manner within the network of client device.

[0049] Embodiments of the present invention may be embodied as  among other things: a method  system or computer-program product. Accordingly  the embodiments may take the form of a hardware embodiment  a software embodiment  or an embodiment combining software and hardware. In one embodiment  the present invention takes the form of a computer-program product that includes computer-useable instructions embodied on one or more computer-readable media.

[0050] Accordingly  in one embodiment  a computer program product comprising instructions to be executed by a processor so as to result in the monitoring of network connection is provided. The instructions comprise routine for monitoring establishment of a transmission control protocol connection between a client device and a worldwide web server and routine for generating network monitoring statistics on availability of network connection based on information derived from the monitoring.
[0051] Further  computer-readable media include both volatile and nonvolatile media  removable and non removable media  and contemplates media readable by a database  a switch  and various other network devices. By way of example  and not limitation  computer-readable media comprise media implemented in any method or technology for storing information. Examples of stored information include computer-useable instructions  data structures  program modules  and other data representations. Media examples include  but are not limited to  information-delivery media  RAM  ROM  EEPROM  flash memory or other memory technology  CD-ROM  digital versatile discs (DVD)  holographic media or other optical disc storage  magnetic cassettes  magnetic tape  magnetic disk storage  and other magnetic storage devices. These technologies can store data momentarily  temporarily  or permanently.

[0052] The invention provides system and methods to monitor the availability of ISP connection to a user of the client device  based on the actual internet usage of the user without generating additional overhead traffic specifically for this purpose.

[0053] In one embodiment  the invention provides a technique for passively monitoring external TCP connection establishments so as to assess the availability of network connection. Some of the advantages of this invention include  reduced internet billing costs for end users  reduction in processing power  storage requirements  network bandwidth and network traffic at the server unit and ISP ends  availability of sufficient data for monitoring the quality of ISP’s connectivity and provision for generating immediate alerts to end users upon sensing a problem in ISP connection.

[0054] Another advantage is the minimal processing overhead at the client device  as the mechanism watches only the TCP connection establishment process (few packets) and not the data transfer process (large number of packets). Yet another advantage of the invention is not only applicable to end users of the client device but also to any computer(s) accessing the internet through an ISP  including enterprise devices. Hence  the applicability of the invention is not limited to domestic (home) users and extends to enterprise and corporate users enabling them to dynamically monitor the availability and quality of the internet connection provided by their ISP.

[0055] This written description uses examples to describe the subject matter herein  including the best mode  and also to enable any person skilled in the art to make and use the subject matter. The patentable scope of the subject matter is defined by the claims  and may include other examples that occur to those skilled in the art. Such other examples are intended to be within the scope of the claims if they have structural elements that do not differ from the literal language of the claims  or if they include equivalent structural elements with insubstantial differences from the literal language of the claims.
CLAIMS

What is claimed is:
1. A system for monitoring network connection  the system comprising:
at least one client device configured for providing a user access to a public network; and
a network monitoring module coupled to the client device  the network monitoring module configured for monitoring the network connection based on an establishment of a transmission control protocol connection between the client device and the public network.

2. The system of claim 1  wherein the network monitoring module is embedded within the client device.

3. The system of claim 1  wherein the public network comprises one or more public network protocols.

4. The system of claim 1  wherein the public network is one of a wired and a wireless network.

5. The system of claim 1  wherein the private network comprises one or more private network protocols.

6. The system of claim 1  further comprising a server unit coupled to each of the client devices via a private network  the server unit configured for managing one or more user requests from each of the client device.

7. The system of claim 6  wherein the private network is one of a wired and a wireless network.

8. A method of monitoring network connection  the method comprising:
monitoring establishment of a transmission control protocol connection between a client device and a worldwide web server; and
generating a statistics on availability of network connection based on the information derived from monitoring.

9. The method of claim 8  wherein monitoring establishment of connection comprises:
monitoring a successful establishment of a transmission control protocol connection between the client device and the worldwide web server;
updating the statistics on successful establishment of the connection; and
recording a time stamp indicating the time of successful establishment of the connection.

10. The method of claim 8  wherein monitoring establishment of connection comprises:
monitoring a failed establishment of a transmission control protocol connection between the client device and the worldwide web server;
updating the statistics on failed establishment of the connection; and
recording a time stamp indicating the time of failed establishment of the connection.

11. The method of claim 10  further comprising conducting a probe test  the probe test comprising:
transmitting a test packet to a gateway server  the gateway server configured for interfacing the client device with the worldwide web server;
updating the statistics on successful establishment of the connection upon receiving a response from the gateway sever; and
recording a time stamp indicating the time of successful establishment of the connection following the receipt of response.

12. The method of claim 10  further comprising conducting a probe test  the probe test comprising:
transmitting a test packet to a gateway server  the gateway server configured for interfacing the client device with the worldwide web server;
updating the statistics on failed establishment of the connection upon not receiving a response from the gateway sever within a predetermined time period; and
recording a time stamp indicating the time of failed establishment of the connection.

13. The method of claim 12  further comprising generating an alert to be displayed on the client device.

14. A method of monitoring network connection  the method comprising:
installing a network monitoring module in a client device  the network monitoring module configured for monitoring an inflow of one or more internet protocol packets;
receiving an internet protocol packet from a worldwide web server;
updating network monitoring statistics on successful establishment of the connection upon receiving the internet packet; and
recording a time stamp indicating the time of successful establishment of the connection.

15. The method of claim 14  further comprising
generating a dynamic report based on network monitoring statistics and the time stamps; and
sending the report to the server unit based on a trigger  the trigger being time based  change based and request based.

Documents

Application Documents

# Name Date
1 Power of Authority.pdf 2012-03-27
2 Form-5.pdf 2012-03-27
3 Form-3.pdf 2012-03-27
4 Form-5.pdf 2012-03-27
5 Power of Authority.pdf 2012-03-27