System and method for monitoring performance of internet service providers in a communication network

The system automates network performance measurement for ISPs, addressing scalability and accuracy issues in conventional methods, enabling users to choose the best ISP based on real-time data and visual insights.

WO2026042095A1PCT designated stage Publication Date: 2026-02-26JIO PLATFORMS LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/IN2025/051290
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-08-20
Filing Date
2025-08-19
Publication Date
2026-02-26

AI Technical Summary

Technical Problem

Conventional manual testing methods for measuring network performance of Internet Service Providers (ISPs) are time-consuming, prone to errors, and lack scalability, hindering accurate monitoring and comparison across different geographic locations and timeframes.

Method used

A system and method that automates network measurement data collection and analysis by triggering applications to measure speed testing parameters, storing results in a predefined format, comparing performance across ISPs, and generating reports for user devices.

Benefits of technology

Enables consistent and accurate monitoring of ISP performance, allowing users to select the best ISP automatically or manually based on real-time data, and providing visual insights for informed decision-making.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IN2025051290_26022026_PF_FP_ABST
    Figure IN2025051290_26022026_PF_FP_ABST
Patent Text Reader

Abstract

Disclosed is a system (200) and a method (400) for monitoring performance of one or more Internet Service Providers (ISPs) in a communication network (100). The 5 method includes triggering, by a user device (103), an execution of one or more applications at a predefined time to measure a plurality of speed testing parameters associated with a network connection of the one or more ISPs. Based on a result of the execution of the one or more applications, measured values of the plurality of speed testing parameters are stored in a predefined format. The measured values of 10 the plurality of speed testing parameters are compared across the one or more ISPs to monitor the performance of each of the one or more ISPs.
Need to check novelty before this filing date? Find Prior Art

Description

SYSTEM AND METHOD FOR MONITORING PERFORMANCE OFINTERNET SERVICE PROVIDERS IN A COMMUNICATION NETWORKTECHNICAL FIELD

[0001] The embodiments of the present disclosure generally relate to the field of communication networks. More particularly, the present disclosure relates to a system and a method for monitoring performance of Internet Service Providers (ISPs) in a communication network.BACKGROUND OF THE INVENTION

[0002] The subject matter disclosed in the background section should not be assumed or construed to be prior art merely due to its mention in the background section. Similarly, any problem statement mentioned in the background section or its association with the subject matter of the background section should not be assumed or construed to have been previously recognized in the prior art.

[0003] With the advent of technological advancements in telecommunications, several wireless technologies have emerged to meet the growing demand from broadband subscribers for improved applications and services. In recent years, wireless devices such as Customer Premises Equipment (CPE), fixed wireless devices, smart phones, laptop, computers, pagers, personal digital assistants, tablets, loT devices, and similar devices are increasingly used in wireless communication networks for a variety of activities ranging from basic communications to conducting business transactions, managing entertainment media, and a host of other tasks. These activities contributed to evolving world of internet services.

[0004] To this end, consistent and accurate measurement of network performance of Internet Service Providers (ISPs) is critical for users. Conventional manual testing methods for measuring the network performance are time-consuming, prone to errors, and lack scalability. The limitations of the conventional manual testingmethods hinder the ability to accurately monitor and compare the performance of different ISPs across various geographic locations and timeframes.

[0005] Further, in the conventional manual testing methods, a user needs to manually check each ISP and connect with a better performing ISP. Hence, there is a need for a solution which can help the user to maintain connectivity with a best ISP available in proximity, without active intervention or interaction of the user,

[0006] In light of the aforementioned challenges, there is a need for a system and a method that can automate network measurement data collection and analysis to provide consistent and accurate measurement of network performance of the ISPs to the users.SUMMARY

[0007] The following embodiments present a simplified summary in order to provide a basic understanding of some aspects of the disclosed invention. This summary is not an extensive overview, and it is not intended to identify key / critical elements or to delineate the scope thereof. Its sole purpose is to present some concepts in a simplified form as a prelude to the more detailed description that is presented later.

[0008] In an embodiment, a method for monitoring performance of one or more Internet Service Providers (ISPs) in a communication network is disclosed. The method includes triggering, by a processing module of a user device, an execution of one or more applications at a predefined time to measure a plurality of speed testing parameters associated with a network connection of the one or more ISPs. The method further includes storing, by a storage module of the user device based on a result of the execution of the one or more applications, measured values of the plurality of speed testing parameters in a pre-defined format. Further, the method includes comparing, by the processing module, the measured values of the plurality of speed testing parameters across the one or more ISPs to monitor the performance of each of the one or more ISPs.

[0009] In some aspects of the present disclosure, triggering the execution of the one or more applications comprises triggering, by the processing module, the execution of the one or more applications at one or more User Equipment (UEs) connected to the user device to measure the plurality of speed testing parameters at each UE. Each UE among the one or more UEs is connected to a unique ISP among the one or more ISPs, each of the one or more applications measures the plurality of speed testing parameters of the unique ISP among the one or more ISPs, and the plurality of speed testing parameters is associated with a network connection of the one or more UEs with a corresponding ISP among the one or more ISPs.

[0010] In some aspects of the present disclosure, for triggering the execution of the one or more applications to measure the plurality of speed testing parameters, the method includes triggering, by the processing module, the execution of the one or more applications to measure the plurality of speed testing parameters of a first ISP among the one or more ISPs. The user device is connected with the first ISP. Further, the method includes switching, by a switching module upon completion of measurement of the plurality of speed testing parameters of the first ISP, the connection of the user device automatically to a second ISP among the one or more ISPs and triggering, by the processing module, the execution of the one or more applications to measure the plurality of speed testing parameters of the second ISP.

[0011] In some aspects of the present disclosure, the execution of the one or more applications occurs in at least one of the user device or at the one or more UEs connected to the user device.

[0012] In some aspects of the present disclosure, the method includes generating, by a generation module of the user device based on a result of the comparison, a report indicating the performance of each of the one or more ISPs and displaying, by a displaying module of the user device, the generated report on a user interface. The generated report indicates a benchmarking of the performance of each of the one or more ISPs.

[0013] In some aspects of the present disclosure, the one or more applications are one or more speed testing applications.

[0014] In some aspects of the present disclosure, for storing the measured values, the method includes determining, by a determination module of the user device, that the one or more applications are executed if the measured values of the plurality of speed testing parameters are in a specific range and format and storing, by the storage module, the measured values of the plurality of speed testing parameters upon the determination that the one or more applications are executed.

[0015] In some aspects of the present disclosure, the method includes identifying, by an identification module of the user device based on the result of the comparison of the measured values, variations in the performance of each of the one or more ISPs and generating, by the generation module based on the identified variations, the report indicating the performance of each of the one or more ISPs.

[0016] In some aspects of the present disclosure, the method includes processing, by the processing module, the measured values of the plurality of speed testing parameters of each of the one or more ISPs by organizing, parsing, and structuring the measured values of the plurality of speed testing parameters in the pre-defined format. The processed values of the one or more ISPs are compared with each other to monitor the performance of the one or more ISPs.

[0017] In some aspects of the present disclosure, the method includes displaying, by the displaying module, customization and user configuration options in the user interface for selecting the one or more speed testing parameters and scheduling, by the processing module upon receiving a user selection on the user interface, execution of the one or more applications at the predefined time to measure the selected plurality of speed testing parameters of the one or more ISPs.

[0018] In some aspects of the present disclosure, the plurality of speed testing parameters associated with the network connection includes a download speed, anupload speed, a latency, packet loss, jitter, and other metrics associated with network connectivity associated with the one or more ISPs.

[0019] In some aspects of the present disclosure, the report includes visual representations illustrating the performance of each of the one or more ISPs for a plurality of geographical locations in different timeframes.

[0020] In another embodiment, a system for monitoring performance of one or more Internet Service Providers (ISPs) in a communication network is disclosed. The system includes a processing module configured to trigger an execution of one or more applications at a predefined time to measure a plurality of speed testing parameters associated with a network connection of the one or more ISPs. The system further includes a storage module configured to store, based on the execution of the one or more applications, measured values of the plurality of speed testing parameters in a pre-defined format. The processing module is further configured to compare the measured values of the plurality of speed testing parameters across the one or more ISPs to monitor the performance of each of the one or more ISPs.BRIEF DESCRIPTION OF DRAWINGS

[0021] Various embodiments disclosed herein will become better understood from the following detailed description when read with the accompanying drawings. The accompanying drawings constitute a part of the present disclosure and illustrate certain non-limiting embodiments of inventive concepts disclosed herein. Further, components and elements shown in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. For the purpose of consistency and ease of understanding, similar components and elements are annotated by reference numerals in the exemplary drawings.

[0022] FIG. 1 illustrates a diagram depicting an environment of a communication network, in accordance with an embodiment of the present disclosure.

[0023] FIG. 2 illustrates a block diagram of a system for monitoring performance of the ISPs in the communication network, in accordance with an embodiment of the present disclosure.

[0024] FIG. 3A illustrates a functional block diagram of one or more modules of the system connecting with one or more ISPs, in accordance with an embodiment of the present disclosure.

[0025] FIG. 3B illustrates a functional block diagram of the one or more modules of the system connecting with one or more ISPs through one or more User Equipment (UEs), in accordance with an embodiment of the present disclosure.

[0026] FIG. 4 illustrates a process flow diagram depicting a method for monitoring the performance of the one or more ISPs in the communication network, in accordance with an embodiment of the present disclosure.

[0027] FIG. 5 illustrates a schematic block diagram of a computing system for monitoring the performance of the one or more ISPs in the communication network, in accordance with an embodiment of the present disclosure.DETAILED DESCRIPTION OF THE INVENTION

[0028] Inventive concepts of the present disclosure will now be described more fully hereinafter with reference to the accompanying drawings, in which examples of one or more embodiments of inventive concepts are shown. Inventive concepts may, however, be embodied in different forms and should not be construed as limited to the embodiments set forth herein. Further, the one or more embodiments disclosed herein are provided to describe the inventive concept thoroughly and completely, and to fully convey the scope of each of the present inventive concepts to those skilled in the art. Furthermore, it should be noted that the embodiments disclosed herein are not mutually exclusive concepts. Accordingly, one or more components from one embodiment may be tacitly assumed to be present or used in any other embodiment.

[0029] The following description presents various embodiments of the present disclosure. The embodiments disclosed herein are presented as teaching examples and are not to be construed as limiting the scope of the present disclosure. The present disclosure should in no way be limited to the illustrative implementations, drawings, and techniques illustrated below, including the exemplary design and implementation illustrated and described herein, but may be modified, omitted, or expanded upon without departing from the scope of the present disclosure.

[0030] The following description contains specific information pertaining to embodiments in the present disclosure. The detailed description uses the phrases “in some embodiments” which may each refer to one or more or all of the same or different embodiments. The term “some” as used herein is defined as “one, or more than one, or all.” Accordingly, the terms “one,” “more than one,” “more than one, but not all” or “all” would all fall under the definition of “some.” In view of the same, the terms, for example, “in an embodiment” refers to one embodiment and the term, for example, “in one or more embodiments” refers to “at least one embodiment, or more than one embodiment, or all embodiments.”

[0031] The term “comprising,” when utilized, means “including, but not necessarily limited to;” it specifically indicates open-ended inclusion in the so-described one or more listed features, elements in a combination, unless otherwise stated with limiting language. Furthermore, to the extent that the terms “includes,” “has,” “have,” “contains,” and other similar words are used in either the detailed description, such terms are intended to be inclusive in a manner similar to the term “comprising.”

[0032] In the following description, for the purposes of explanation, various specific details are set forth to provide a thorough understanding of embodiments of the present disclosure. It will be apparent, however, that embodiments of the present disclosure may be practiced without these specific details. Several features described hereafter can each be used independently of one another or with any combination of other features.

[0033] The description provided herein discloses exemplary embodiments only and is not intended to limit the scope, applicability, or configuration of the present disclosure. Rather, the foregoing description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing any of the exemplary embodiments. Specific details are given in the following description to provide a thorough understanding of the embodiments. However, it may be understood by one of the ordinary skilled in the art that the embodiments disclosed herein may be practiced without these specific details.

[0034] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. As used herein the description, the singular forms "a", "an", and "the" include plural forms unless the context of the disclosure indicates otherwise.

[0035] The terminology and structure employed herein are for describing, teaching, and illuminating some embodiments and their specific features and elements and do not limit, restrict, or reduce the scope of the present disclosure. Accordingly, unless otherwise defined, all terms, and especially any technical and / or scientific terms, used herein may be taken to have the same meaning as commonly understood by one having ordinary skill in the art.

[0036] The various aspects including the example aspects are now described more fully with reference to the accompanying drawings, in which the various aspects of the disclosure are shown. The disclosure may, however, be embodied in different forms and should not be construed as limited to the aspects set forth herein. Rather, these aspects are provided so that this disclosure is thorough and complete, and fully conveys the scope of the disclosure to those skilled in the art. In the drawings, the sizes of components may be exaggerated for clarity.

[0037] Various aspects of the present disclosure to provide a system and a method for monitoring performance of Internet Service Providers (ISPs) in a communication network.

[0038] In another aspect of the present disclosure, the system and the method assess and monitor quality of internet services provided by the ISPs across different geographical locations and timeframes.

[0039] In another aspect of the present disclosure, the system and the method automate network measurement data collection and analysis to provide consistent and accurate measurement of network performance of the ISPs to end users. The end user may take informed decisions over ensured, promising and smooth selection of an ISP providing better connectivity, based on the network performance of the ISPs. The ISP providing better connectivity may be selected either automatically or manually.

[0040] In another aspect of the present disclosure, the system and the method provide visual representations and insights indicating the performance of the ISPs across different geographical locations and timeframes. The insights may be used by the end user for providing feedback to various customers using the ISPs. The insights may be automatically sent to each network administrator of a corresponding ISP for improving network coverage or other procurement planning.

[0041] In order to facilitate an understanding of the disclosed invention, a number of terms are defined below.

[0042] The term “Internet service provider (ISP)” in the present disclosure may be an organization that provides internet access to consumers. The ISP may also provide other services such as email services, domain registration, web hosting, and browser services.

[0043] The term “network speed” in the present disclosure may refer to a rate at which data is transmitted or received over a network. The network speed may be measured in bits per second (bps). The network speed may be a crucial metric for monitoring network performance and application responsiveness.

[0044] The term “speed test” in the present disclosure may be used to represent measures the performance of an internet connection by assessing speed of data that can be downloaded and uploaded, along with the latency of the connection.

[0045] The term “automated script” in the present disclosure may represent a set of instructions or code, written in scripting languages that automate repetitive or complex tasks, saving time and effort by performing actions without human intervention.

[0046] The term “application” in the present disclosure may refer to a computer program or software designed for a specific purpose, often used on mobile devices, computers, or other electronic devices. The application may be either installed on a user device or may be accessed using a web browser.

[0047] The term “Jitter” in the present disclosure may be a variation in time delay between transmission and reception of a signal over a network connection.

[0048] The term “latency” in the present disclosure may be delay or time taken for data to travel from one point to another. The network with low latency provides faster, more responsive communication, while high latency can lead to delays, lag, and a poor user experience.

[0049] FIG. 1 illustrates a diagram depicting an environment of a communication network 100, in accordance with an embodiment of the present disclosure. The embodiment of the communication network 100 shown in FIG. 1 is for illustration only. Other embodiments of the communication network 100 may be used without departing from the scope of this disclosure.

[0050] The communication network 100 may include various components such as one or more User Equipment (UE) 102-1 to 102-N (hereinafter may also be collectively referred to as the “UE 102”), a user device 103, a network 104, a gateway device 106, an Internet 108, and a server 110. The UE 102 may be eitherwired or wirelessly connected to the network 104 through one or more access points or base stations (not shown).

[0051] The UE 102 may be, at least one Distributed Unit (DU), at least one Mobile Termination (MT) unit, and at least one relay. Typically, the term “user equipment” or “UE” can refer to any component such as “mobile station”, “subscriber station”, “remote terminal”, “wireless terminal”, “receive point”, or “end user device”.

[0052] The server 110 is communicatively coupled to the user device 103, the UE 102, and various speed testing platforms within the communication network 100. Examples of the user device 103 may include, but are not limited to a laptop, smartphones, tablets, personal digital assistant, and any device capable of being connected to the internet 108 and running mobile applications or internet browsing applications.

[0053] The network 104 may include suitable logic, circuitry, and interfaces that may be configured to provide several network ports and several communication channels for transmission and reception of data related to operations of various entities of the wireless communication network 100. Each network port may correspond to a virtual address (or a physical machine address) for transmission and reception of the communication data. For example, the virtual address may be an Internet Protocol Version 4 (IPV4) (or an IPV6 address) and the physical address may be a Media Access Control (MAC) address. The network 104 may be associated with an application layer for implementation of communication protocols based on one or more communication requests from the various entities of the wireless communication network 100.

[0054] The communication data may be transmitted or received via the communication protocols. Examples of the communication protocols may include, but are not limited to, Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), Simple Mail Transfer Protocol (SMTP), Domain Network System (DNS) protocol, Common Management Interface Protocol (CMIP), Transmission Control Protocol and Internet Protocol (TCP / IP), User Datagram Protocol (UDP), LongTerm Evolution (LTE) communication protocols, or any combination thereof. In some aspects of the present disclosure, the communication data may be transmitted or received via at least one communication channel of several communication channels in the network 104. The communication channels may include, but are not limited to, a wireless channel, a wired channel, a combination of wireless and wired channel thereof. The wireless or wired channel may be associated with a data standard which may be defined by one of a Local Area Network (LAN), a Personal Area Network (PAN), a Wireless Local Area Network (WLAN), a Wireless Sensor Network (WSN), Wireless Area Network (WAN), Wireless Wide Area Network (WWAN), a metropolitan area network (MAN), a satellite network, the Internet, an optical fiber network, a coaxial cable network, an infrared (IR) network, a radio frequency (RF) network, and a combination thereof. The network 104 may be operably coupled to the internet 108 by electrical, optical or any other wired or cabled coupling means. Aspects of the present disclosure are intended to include or otherwise cover any type of communication channel, including known, related art, and / or later developed technologies.

[0055] The gateway device 106 may correspond to an intermediary device that connects the UE 102 in the communication network 100 to the internet 108 via the network 104. The gateway device 106 acts as a bridge and provide seamless communication between user's local network and external networks. The gateway device 106 translates and routes data packets between network of user devices and the internet 108. In a non-limiting example, the gateway device 106 may be configured with functionalities like Network Address Translation (NAT), firewall protection, data flow management. Examples of the gateway device 106 may include, but not limited to, a router, a modem, a wireless access point, a residential gateway, network gateway, a proxy server, a firewall appliance, a Virtual private network (VPN) gateway, edge gateway, media gateway, and the like.

[0056] The internet 108 may correspond to a global system of interconnected computer networks that use the standardized Internet Protocol Suite (TCP / IP), including the Transmission Control Protocol (TCP) and the Internet Protocol (IP),to serve users worldwide. The internet 108 may be a network of networks that consists of millions of private, public, academic, business, and government networks, of local to global scope, that are linked by a broad array of electronic and optical networking technologies. The internet 108 may carry a vast range of information resources and services, such as the interlinked hypertext documents on the World Wide Web (WWW) and infrastructure to support electronic mail.

[0057] The server 110 may be a computer device comprising information processing resources, for example, CPUs (Central Processing Units), memories, input / output interfaces, and other modules. The server 110 may be a network of computers, a software framework, or a combination thereof, that may provide a generalized approach to create a server implementation. Examples of the server 110 may include, but are not limited to, personal computers, laptops, mini -computers, mainframe computers, any non-transient and tangible machine that can execute a machine-readable code, cloud-based servers, distributed server networks, or a network of computer systems. The server 110 may be realized through various webbased technologies or any web-application framework.

[0058] In an aspect, the server 110 may be configured to measure a plurality of parameters associated with an internet connection across the ISPs, geographical locations, and timeframes by executing an automated script / an application to conduct several tests via testing platforms. The measurement of the plurality of the parameters associated with the internet connection across the ISPs in various geographical locations may provide insights to the end users on an overall network performance of each ISP across each geographical location. The timeframes may be a predefined time, for instance, hourly, daily, or weekly. The measurement of the plurality of parameters during different timeframes may provide insights to end user on the overall network performance of each ISP across different time instants such as hourly, daily, or weekly. The end users may use the insights to recommend a network administrator to take corrective measures across each ISP to improve their performance. The server 110 may be communicatively coupled with the testing platforms to conduct several tests within the communication network 100. Theplurality of parameters may include a download speed, an upload speed, a latency, packet loss, Jitter, and other metrics associated with the internet connection. The ISP may be an organization that provides services for accessing, using, or participating on the Internet 108. The ISP may be organized in various forms, such as commercial, community-owned, non-profit, or otherwise privately owned. Internet services typically provided by ISPs include Internet access, Internet transit, domain name registration, web hosting, and colocation.

[0059] Further, the user device 103 may be configured to collect and store, in a predefined format, test result data generated as a result of the execution of the application. The test result data may include the measured plurality of parameters associated with the internet connection. Furthermore, the user device 103 may be configured to perform a comparative analysis to compare the plurality of parameters included in the test result data across the ISPs, locations, and timeframes to identify differences in speeds and performance of the internet connection, generate a test report based on the performed comparative analysis, and render the generated test report on a user interface.

[0060] In one aspect, the user device 103 may also display, on the user interface, customization and user configuration options for selecting speed testing parameters to prioritize for the comparative analysis. When a user selection is received on the displayed customization and user configuration options, the user device 103 may schedule regular tests to enable continuous monitoring and tracking of ISP performance over time. The regular scheduled tests help in enabling continuous monitoring of the performance of the internet services provide by the service providers and provide up-to-date assessments of the ISP performance, facilitating informed decision-making based on real-time data.

[0061] Although FIG. 1 illustrates one example of the communication network 100, various changes may be made to FIG. 1. For example, the communication network 100 may include any number of user devices, gateway devices, and host devices in any suitable arrangement. Further, various components in FIG. 1 may be combined,further subdivided, or omitted and additional components may be added according to particular needs.

[0062] FIG. 2 illustrates a system 200 for monitoring performance of the ISPs in the communication network 100, in accordance with an embodiment of the present disclosure. The system 200 includes the user device 103, the UE 102, the network 104, the internet 108, the server 110, a plurality of testing platforms 214-1 to 214- N (cumulatively referred to as “testing platforms 214”), and a Network Management System (NMS) 216.

[0063] The user device 103 may include a processor 202, a memory 204 coupled to the processor 202, a communication interface 206, a User Interface (UI) 208, one or more applications 210 (hereinafter referred to as “applications 210” or “application 210”), and one or more modules 212 (hereinafter also referred to as the “modules 212”). The processor 202 may control an operation of the user device 103. The processor 202 may also be referred to as the CPU. The memory 204 may provide instructions and data to the processor 202 for performing several functions. The memory 204 may include a Random Access Memory (RAM), a Read-Only Memory (ROM), and a portion of the memory 204 may also include Non-Volatile Random Access Memory (NVRAM).

[0064] The processor 202 may perform logical and arithmetic operations based on instructions stored within the memory 204. The communication interface 206 may allow transmission and reception of data between the user device 103 and the network 104. The communication interface 206 may include a transmitter, a receiver, and a single or a plurality of transmit antennas electrically coupled to the transmitter and the receiver of the communication interface 206.

[0065] The communication interface 206 may be configured to enable the user device 103 to communicate with various entities of the system 200 via the network 104. Examples of the communication interface 206 may include, but are not limited to, a modem, a network interface such as an Ethernet card, a communication port, and / or a Personal Computer Memory Card International Association (PCMCIA)slot and card, an antenna, a radio frequency (RF) transceiver, one or more amplifiers, a coder-decoder (CODEC) chipset, a subscriber identity module (SIM) card, and a local buffer circuit. It will be apparent to a person of ordinary skill in the art that the communication interface 206 may include any device and / or apparatus capable of providing wireless or wired communications between the user device 103 and various other entities of the system 200.

[0066] The user device 103 may further be capable of displaying (or presenting) results determined by the server 110 to a user through a console (not shown) on the user device 103 hosted by the server 110. The console on the user device 103 may be configured as a computer-executable application, to be executed by the user device 103. The console may include suitable logic, instructions, and / or codes for executing various operations and may be controlled by the server 110. The one or more computer executable applications may be stored on the user device 103.

[0067] The memory 204 may store a UI framework via which the processor 202 may control the UI 208 displayed to the user on the user device 103. The UI framework may configure the UI 208 to receive a request from the user for monitoring the performance of the ISPs. The UI framework may comprise one or more engines for executing specific tasks to allow the UI 208 to initiate UI functions, and then the UI framework may call routines of the processor 202 to implement the initiated UI functions.

[0068] The UI 208 may include suitable logic, circuitry, interfaces, and / or codes that may be configured to receive input(s) and present (or display) output(s) on the user device 103. For example, the UI 208 may have an input interface and an output interface. The input interface may be configured to enable a user to provide input(s) to trigger (or configure) the server 110 to perform various operations such as but not limited to, providing input(s) to initiate fetching of the communication data from the user, configure the user device 103 to fetch the communication data periodically, etc. Examples of the input interface may include, but are not limited to, a touch interface, a mouse, a keyboard, a motion recognition unit, a gesture recognition unit,a voice recognition unit, or the like. Aspects of the present disclosure are intended to include or otherwise cover any type of the input interface including known, related art, and / or later developed technologies without deviating from the scope of the present disclosure. The output interface may be configured to display (or present) output(s) by the server 110. In some aspects of the present disclosure, the output interface may provide the output(s) based on an instruction provided via the UI 208. Examples of the output interface of the UI 208 may include, but are not limited to, a digital display, an analog display, a touch screen display, an appearance of a desktop, and / or illuminated characters.

[0069] In one embodiment, the user device 103 and the server 110 may be communicatively connected to the testing platforms 214. In another implementation, an Application Programming Interface (API) gateway may be provided in the user device 103 for dynamic and secure API routing of requests from the users via the UI 208.

[0070] In some aspects of the present disclosure, the testing platforms 214 may be a plurality of microservices. Microservices are independently deployable software in which complex applications are composed of small and independent processes. Each microservice of the plurality of microservices may be developed as a suite of small services, each running in its own process and communicating with lightweight mechanisms such as the APIs. Each microservice may adhere to a well-defined API. Operation of the plurality of microservices in synchronization ensures a minimal latency in generating the alerts along with data integrity, thereby providing improved experience to the users.

[0071] In some aspects of the present disclosure, the server 110 may be coupled to the external database (not shown) that provides data storage space to the server 110. The external database may store information related to configuration parameters, details related to the ISPs and other relevant information needed for the operation of the server 110. The external database may be accessed and updated by the server 110 as part of the monitoring process. The external database may correspond to acentralized database system configured to store and manage structured data, such as network-related data and configurations. The external database may be a relational database organizing related data such as in a table, or a non-relational database organizing graphical and time series data. The external database may be implemented as a centralized database, Relational Database Management System (RDBMS), Non-Relational Database Management System, and Hierarchical Database Management System, and Network Database Management System. The server 110 may be connected to a storage medium for storing and managing the source data collected from the ISPs. The storage medium may generally be one or more of, without limitation, disk drives, hard-disk arrays, solid state storage devices, Network Attached Storage (NAS) devices, tape libraries or other magnetic, non-tape storage devices, and optical media storage devices.

[0072] In some embodiments, the NMS 216 may be connected to the server 110 to monitor the performance of the ISPs. The NMS 216 may support additional analytic engines that monitor and analyze the performance of the ISPs. In another embodiment, the NMS 216 may collect a report on the ISPs via a notification channel from the server 110.

[0073] The processor 202 may include one or more general purpose processors and / or one or more special purpose processors, a microprocessor, a digital signal processor, an application specific integrated circuit, a microcontroller, a state machine, or ay any type of programmable logic array. The processor 202 may include may include an intelligent hardware device including a general -purpose processor, such as, for example, and without limitation, a Central Processing Unit (CPU), an Application Processor (AP), a dedicated processor, or the like, a graphics- only processing unit such as a Graphics Processing Unit (GPU), a microcontroller, a Field-Programmable Gate Array (FPGA), a programmable logic device, a discrete hardware component, or any combination thereof. The processor 202 may be configured to execute computer-readable instructions stored in the memory 204 to cause the user device 103 to perform various functions.

[0074] The memory 204 may further include, but not limited to, non-transitory machine-readable storage devices such as hard drives, magnetic tape, floppy diskettes, optical disks, compact disc read-Only Memories (CD-ROMs), and magneto-optical disks, semiconductor memories, such as ROMs, RAMS, programmable read-only memories PROMs), erasable PROMs (EPROMs), electrically erasable PROMs (EEPROMs), flash memory, magnetic or optical cards, or other type of media / machine-readable medium suitable for storing electronic instructions.

[0075] In addition, the memory may, in some examples, be considered a non- transitory storage medium. The "non-transitory" storage medium is not embodied in a carrier wave or a propagated signal. However, the term "non-transitory" should not be interpreted as the memory is non-movable. In some examples, the memory may be configured to store larger amounts of information. In certain examples, a non-transitory storage medium may store data that can, over time, change (e.g., in Random Access Memory (RAM) or cache). The memory may be an internal storage unit or an external storage unit of the server, cloud storage, or any other type of external storage.

[0076] Embodiments of the present technology may be described herein with reference to flowchart illustrations of methods and systems according to embodiments of the technology, and / or procedures, algorithms, steps, operations, formulae, or other computational depictions, which may also be implemented as computer program products. In this regard, each block or step of the flowchart, and combinations of blocks (and / or steps) in the flowchart, as well as any procedure, algorithm, step, operation, formula, or computational depiction can be implemented by various means, such as hardware, firmware, and / or software including one or more computer program instructions embodied in computer-readable program code. As will be appreciated, any such computer program instructions may be executed by one or more computer processors, including without limitation a general -purpose computer or special purpose computer, or other programmable processing apparatusto perform a group of operations comprising the operations or blocks described in connection with the disclosed methods.

[0077] Further, these computer program instructions, such as embodied in computer-readable program code, may also be stored in one or more computer- readable memory or memory devices (for example, the memory 204) that can direct a computer processor or other programmable processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory or memory devices produce an article of manufacture including instruction means which implement the function specified in the block(s) of the flowchart(s).

[0078] It will further be appreciated that the term “computer program instructions” as used herein refer to one or more instructions that can be executed by the one or more processors (for example, the processor 202) to perform one or more functions as described herein. The instructions may also be stored remotely such as on a server, or all or a portion of the instructions can be stored locally and remotely.

[0079] In one embodiment, the user device 103 may be installed with the application 210 for testing the speed of the one or more ISPs and forward the result to the UI 208 of the user device 103. The applications 210 may be one or more speed testing applications developed using a Software Development Kit (SDK) and installed in the user device 103. The SDK integrated within the application 210 may access the one or more testing platforms 214 to perform the speed test across the one or more ISPs. The application 210 may be executed as an automated script. The modules 212 of the user device 103 may trigger the execution of the application 210.

[0080] In some aspects of the present disclosure, the application 210 may be installed in any cloud -based servers and the user device 103 may trigger the execution of the application 210 using API requests.

[0081] Although FIG. 2 illustrate one example of the system 200, various changes may be made to FIG. 2. For example, the system 200 may include any number ofuser devices in any suitable arrangement. Further, in another example, the user device 103 may include any number of components in addition to the components shown in FIG. 2. Further, various components in FIG. 1 and FIG. 2 may be combined, further subdivided, or omitted and additional components may be added according to particular needs.

[0082] FIG. 3A illustrates a functional block diagram 300 of one or more modules 212 of the system 200 connecting with the one or more ISPs, in accordance with an embodiment of the present disclosure. The network 104 may comprise the one or more ISPs namely ISP1-ISPN. The server 110 may be connected to the network 104 and may be integrated with the one or more testing platforms 214. The one or more modules 212 may comprise a reception module 302, an identification module 304, a processing module 306, a determination module 308, a storage module 310, a generation module 312, a display module 314, a transmission module 316, and a switching module 318. In an embodiment, the one or more modules 212 may be combined to a single module or each module of the one or more modules 212 may be further subdivided into different modules with divided responsibilities.

[0083] The one or more modules 212 may be implemented as a combination of hardware and programming (for example, programmable instructions) to implement one or more functionalities of the user device 103. In non-limiting examples, described herein, such combinations of hardware and programming may be implemented in several different ways. For example, the programming for the one or more modules 212 may be processor-executable instructions stored on a non- transitory machine-readable storage medium and the hardware for the processor 202 may comprise a processing resource (for example, one or more processors), to execute such instructions. In the present examples, the machine-readable storage medium may store instructions that, when executed by the processing resource, implement the one or more modules 212. In such examples, the user device 103 may also comprise the machine-readable storage medium storing the instructions and the processing resource to execute the instructions, or the machine-readable storage medium may be separate but accessible to the user device 103 and the processingresource. In other examples, the one or more modules 212 may be implemented using an electronic circuitry.

[0084] In one embodiment, the processor 202, using the identification module 304, may be configured to identify one or more speed testing parameters or a plurality of speed testing parameters associated with network connectivity of the one or more ISPs. The processor 202, using the processing module 306, may be configured to trigger an execution of the application 210 at a predefined time to measure the plurality of speed testing parameters of the one or more ISPs.

[0085] In some aspects of the present disclosure, the processor 202, using the display module 314, may be further configured to display customization and user configuration options in the UI 208 for selecting the one or more speed testing parameters. The processor 202, using the reception module 302, may be configured to receive a user selection for the plurality of speed testing parameters from the UI 208 of the user device 103. The end user / may select the plurality of speed testing parameters for measuring the speed of the one or more ISPs. The processing module 306 may be further configured to schedule, upon receiving the user selection on the UI 208, execution of the application 210 to measure the plurality of speed testing parameters of the one or more ISPs at the predefined time.

[0086] The application 210 may be the speed testing application executed via the one or more testing platforms 214 for a plurality of geographical locations in different timeframes. The plurality of speed testing parameters associated with the network connection may include a download speed, an upload speed, a latency, packet loss, jitter, and other metrics associated with network connectivity associated with the one or more ISPs. The application 210 may be triggered by a code generated by the user device 103. The code may be the automated script to execute the application 210 in the one or more testing platforms 214.

[0087] In an exemplary embodiment, as illustrated in FIG. 3 A, the user device 103 may be configured to be connected with the one or more ISPs at the predefined time. The user device 103 may be authorized to be connected to any one ISP at a giventime. The user device 103 may be configured to toggle or switch the connection from one ISP to another. At a given time instant, the user device 103 may be connected with only one ISP at the time instant.

[0088] When the user device 103 is connected with a first ISP among the one or more ISPs, the processing module 306 may trigger the execution of the application 210 to measure the plurality of speed testing parameters of the first ISP. When the measurement of the plurality of speed testing parameters of the first ISP is completed, the processor 202, using the switching module 318may switch the connection of the user device 103 automatically to a second ISP among the one or more ISPs. Then the processing module 306 may trigger the execution of the application 210 to measure the plurality of speed testing parameters of the second ISP.

[0089] In some aspects of the present application, when the application 210 is triggered by the processing module 306, the speed of the one or more ISPs may be tested at the predefined time using one or more browsers opened in the user device 103. The application 210 may be configured to connect to one or more servers across various geographical locations. Each of the one or more browsers may be connected to a unique speed testing platform 214 to measure the plurality of speed testing parameters associated with the network connection of the one or more ISPs.

[0090] In some embodiments, the one or more browsers may be specific applications or a microservice present in the system 200. The one or more browsers may comprise a web application, a mobile application, a web page, a client-server application or alike which connects with the one or more testing platforms 214. The one or more browsers may be capable of sending request for speed testing for measuring the plurality of speed testing parameters and may be capable of receiving the measurement of the plurality of speed testing parameters.

[0091] In a non-limiting example, four ISPs namely ISP1, ISP2, ISP3, and ISP4 may be present in the proximity of the user device 103. The user device 103 may connect with the ISP1 at a first time instance. The processing module 306 maytrigger the execution of the application 210 to measure the plurality of speed testing parameters of the ISP1. The one or more browsers in the user device 103 may be connected with the one more testing platforms 214 to run the speed test for the ISP1. For instance, two browsers may be connected to two testing platforms respectively. The storage module 310 may store the measured values of the plurality of speed testing parameters of the ISP1 in the predefined format in the memory 204 of the user device 103. Then the switching module 318may automatically switch the connection of the user device 103 from the ISP1 to the ISP2. The processing module 306 may trigger the execution of the application 210 to measure the plurality of speed testing parameters of the ISP1. After completion of the measurement of the plurality of speed testing parameters of the ISP2, the connection is automatically switched to ISP3. The similar process may be carried out for measuring the plurality of speed testing parameters of the ISP3 and the ISP4.

[0092] FIG. 3B illustrates a functional block diagram 300 of one or more modules 212 of the system 200 connecting with one or more ISPs through one or more UEs 102-1 to 102-N, in accordance with an embodiment of the present disclosure.

[0093] In an alternate exemplary embodiment, the user device 103 may be connected to the one or more UEs 102-1 to 102-N. The one or more UEs 102-1 to 102-N may be connected to the user device 103 either through a wired channel or a wireless channel. In a non-limiting example, the one or more UEs 102-1 to 102-N may be connected through wired cables, near field communication, and wireless hotspots. The processing module 306 at the user device 103 may trigger the execution of the one or more applications 210 at one or more UEs 102-1 to 102-N connected to the user device 103 to measure the plurality of speed testing parameters at each UE 102 at a same time instant. The one or more UEs 102-1 to 102-N may be connected to a unique ISP among the one or more ISPs. Each of the one or more applications 210 may be executed in the one or more browsers of the one or more UEs 102-1 to 102-N to measure the plurality of speed testing parameters of the unique ISP among the one or more ISPs. The plurality of speed testing parameters may be associated with a network connection of the one or more UEs 102-1 to 102-N with a corresponding ISP among the one or more ISPs. The measurement from the each of the one or more UEs 102-1 to 102-N may be sent to the user device 103 either through the wired channel or the wireless channel. The storage module 310 may store the measured values of the plurality of speed testing parameters of the ISP1 in the predefined format in the memory 204 of the user device 103.

[0094] In a non-limiting example, the four ISPs namely ISP1, ISP2, ISP3, and ISP4 may be present in the proximity of the user device 103. The user device 103 may be connected to four UEs namely UE 102-1, UE 102-2, UE 102-3, and UE 102-4. The UE 102-1, UE 102-2, UE 102-3, and UE 102-4 may be connected to the ISP1, ISP2, ISP3, and ISP4 respectively at the same time instant. When the processing module 306 may trigger the execution of the application 210 in the UE 102-1, one or more browsers in the UE 102-1 may be connected with the one more testing platforms 214 to run the speed test for the ISP1. For instance, two browsers may be connected to two testing platforms respectively. Similarly, the one or more browsers in the UE 102-2, UE 102-3, and UE 102-4 may be connected with the one more testing platforms 214 to run the speed test for the ISP2, ISP3, and ISP4 respectively.

[0095] In some embodiments, the execution of the one or more applications 210 may occur in at least one of the user device 103 (as illustrated in FIG. 3 A) or at the one or more UEs 102-1 to 102-N connected to the user device 103 (as illustrated in FIG. 3B). The application 210 may be triggered to perform speed test of the one or more ISPs for the plurality of speed testing parameters in a particular geographical location at the predefined time. The particular geographical location may comprise one or more network 104 comprising the one or more ISPs. The predefined time may be (not limited to) every 1 hour, every 6 hours, every day, and every week. The application 210 may integrate with the one or more testing platforms 214 operating either inside or outside the server 110. The application 210 may measure the plurality of speed testing parameters at the predefined time.

[0096] In a non-limiting example, the predefined time may be defined as every hour and the number of ISPs in the particular geographical location may be four. Theprocessing module 306 may trigger the application 210 for every one hour to measure the plurality of speed testing parameters for the four ISPs. The storage module 310 may store the measurements in the memory 204 of the user device 103.

[0097] In some aspects of the present disclosure, the application 210 may be triggered to perform speed test of the one or more ISPs for the plurality of speed testing parameters in a plurality of geographical locations at a given time instant. The server 110 may act as a master server and may be configured to connect with at least one ISP among the one or more ISPs in a particular geographical location. The server 110 may be configured to connect with one or more client servers (not shown) located in the plurality of geographical locations (remote location to the master server). The one or more client servers may be configured to connect with each of the one or more ISP in the corresponding geographical location.

[0098] When the application 210 is triggered by the processing module 306, an Application Programming Interface (API) request is sent to the server 110 (master server). The server 110 may invoke one or more API requests to each of the one or more client servers. The server 110 may measure the plurality of speed testing parameters of the ISP connected to the server 110. Similarly, the one or more client servers may measure the plurality of speed testing parameters of the ISP connected to the one or more client servers. The one or more client servers may send the measured plurality of speed testing parameters of the corresponding ISP to the server 110 through API response. The server 110 may compile the measured plurality of speed testing parameters of the corresponding ISP and the measured plurality of speed testing parameters received from the one or more client servers. The server 10 may send the compiled measurement to the user device 103. In some aspects of the present disclosure, the one or more client servers may be configured to send the measured plurality of speed testing parameters of the corresponding ISP directly to the user device 103. The storage module 310 may store the measurements in the memory 204 of the user device 103.1

[0099] The processor 202, using the determination module 308, may be configured to determine whether the application 210 is properly executed to measure the plurality of speed testing parameters of the one or more ISPs. The determination module 308 may determine that the one or more applications are executed if the measured values of the plurality of speed testing parameters are in a specific range and format. The processor 202, using the storage module 310, may be configured to store, based on a result of determination that the application 210 is properly executed, measured values of the plurality of speed testing parameters in a predefined format.

[0100] In a non-limiting example, the application 210 may be configured to measure the plurality of speed testing parameters of the one or more ISPs and store in the predefined format. The predefined defined format may be a format of the measured values of the plurality of speed testing parameters compatible to be stored in the memory 204.

[0101] In some aspects of the present disclosure, the reception module 302 may be configured to receive the measured values of the plurality of speed testing parameters from the one or more testing platforms 214. The processing module 306 may be configured to process the measured values of each of the one or more ISPs by organizing, parsing, and structuring the measured values in the predefined format. The processing module 306 may parse the measured values stored in the memory 204. The processing module 306 may organize and structure the measured values by performing a sorting operation. The measured values may be sorted either in an increasing order or a decreasing order. The processed values of the one or more ISPs may be compared with each other to monitor the performance of the one or more ISPs. The processing module 306 may be further configured to compare the measured values of the plurality of speed testing parameters to monitor the performance of each of the one or more ISPs.

[0102] The identification module 304 may be further configured to identify, based on the result of the comparison of the measured values, variations in theperformance of each of the one or more ISPs. The variations in the performance may depend on the plurality of the speed testing parameters. In some aspects, the performance of the one or more ISPs may depend on type of connection, network congestion, and infrastructure used by the ISP.

[0103] The processor 202, using the generation module 312, may be configured to generate, based on a result of comparison of the measured values, a report indicating the performance of each of the one or more ISPs. The generation module 312 may be further configured to generate, based on the identified variations, the report indicating the performance of each of the one or more ISPs. The generated report may indicate a benchmarking of the performance of each of the one or more ISPs. The display module 314 may be configured to display the generated report on the UI 208. The report may include visual representations illustrating the performance of each of the one or more ISPs for the plurality of geographical locations in different timeframes. In a non-limiting example, the report may be represented in the form of bar charts, line graphs, pie charts, scatterplots, and infographics.

[0104] In a non-limiting example, the user may select the latency, the download speed, and the upload speed among the plurality of speed testing parameters on the UI 208. The identification module 304 may identify the parameters selected by the user on the UI 208. The processing module 306 may schedule the execution of the application 210 for the selected parameters. Further, the processing module 306 may trigger the execution of the application 210 for the selected parameters. Each application 210 may run through two browsers connected with the two testing platforms 214 respectively to run the speed test for the four ISPs ISP1, ISP2, ISP3, and ISP4. The storage module 310 may store the measured values of the selected parameters in the predefined format in the memory 204. Table 1 illustrates measured values of latency, the download speed, and the upload speed for four ISPs from two browsers namely browser 1 and browser 2.Table 1: Measured values for one or more ISPs

[0105] The processing module 306 may compare the measured values of the latency, the download speed, and the upload speed for the four ISPs ISP1, ISP2, ISP3, and ISP4. From the Table 1, it may be inferred that the latency is more, the download speed, and the upload speed for the ISP4 may be very less when compared to the other ISPs. The identification module 304 may identify, based on the result of the comparison of the measured values, variations in the performance of each of the four ISPs. The generation module 312 may generate, based on the identified variations, the report indicating the performance of each of the four ISPs.

[0106] In some embodiments, the user device 103 may be capable of taking one or more actions. The one or more actions may comprise instructing the end user to take some manual action or the user device 103 may take some action automatically. The one or more actions may be based on the comparison of the performance of the one or more ISPs.

[0107] In some aspects of the present disclosure, the generated report may indicate the benchmarking of the performance of each of the one or more ISPs. The benchmarking may be performed to prepare a preferred list of the one or more ISPs in a particular geographical location based on the performance of each of the one or more ISPs in the geographical location. The list may be sorted in ascending order or descending order based on the performance of the one or more ISPs. The preferred list of the one or more ISPs may provide the user device 103 to connect to the best performing ISP to achieve better user experience. The user device 103 may maintainthe connection with the best performing ISP till the performance of the ISP is maintained.

[0108] In a non-limiting example, as illustrated in the table 1, the performance of the ISP4 may be considered poor, as the latency is higher, the upload and the download speeds are lesser when compared to other ISPs. The processing module 306 may sort the one or more ISPs based on either the latency, the upload speed, or the download speed. The display module 314 may be configured to display the preferred list of the one or more ISPs based on the sorting. For instance, the ISP providing low latency may be the most preferred ISP among the one or more ISPs. The display module 314 may display the preferred list in the order of ISP1, ISP2, ISP3, and ISP4.

[0109] In some aspects of the present disclosure, the one or more actions may be maintaining a continuous connectivity, automatically, with best performing ISP based on the preferred list of the one or more ISPs. For instance, the preferred list of the one or more ISPs may be prepared based on the latency, the download speed, or the upload speed. The one or more actions may configure the user device 103 to connect to the best performing ISP. The one or more actions may also configure the user device 103 to automatically switch the connectivity based on a next best performing ISP from the preferred list using the fallback mechanism. The preferred list may dynamically change, triggered on-demand change, change by some configurable pre-defined time interval.

[0110] In some aspects of the present disclosure, if the connection between the user device 103 and the best performing ISP is disconnected due to router issues, poor connectivity, or congestion in the network or by any reason, a fallback mechanism may be provided to automatically switch the connection of the user device 103 with another ISP in the preferred list. This may ensure that the user device 103 is connected to the best or better performing ISP. In a non-limiting example, if the user device 103 is connected with the ISP1 and the connection is lost. With the fallbackmechanism, the user device 103 may be automatically switched to connect to the ISP2 present in the preferred list of ISPs.

[0111] In some aspects of the present disclosure, the processor 202, using the transmission module 316, may be configured to transmit the report to the server 110 via a notification channel such as electronic mail, short message service, push notifications or other communication platforms. The server 110 may transmit the report to the NMS 216. Based on the identified variations of the plurality of the speed testing parameters, the NMS 216 may take remedial actions to improve the performance of the one or more ISPs.

[0112] FIG. 4 illustrates a process flow diagram depicting a method 400 for monitoring the performance of the one or more ISPs in the communication network 100, in accordance with an embodiment of the present disclosure. The method 400 comprises a series of operation steps indicated by blocks 402 through 406.

[0113] At block 402, the processing module 306 of the user device 103 may trigger the execution of one or more applications 210 at the predefined time to measure the plurality of speed testing parameters associated with a network connection of the one or more ISPs. The one or more applications may be the one or more speed testing applications. The plurality of speed testing parameters associated with the network connection includes a download speed, an upload speed, a latency, packet loss, jitter, and other metrics associated with network connectivity associated with the one or more ISPs.

[0114] In some aspects of the present disclosure, the display module 314 may display customization and user configuration options in the UI 208 for selecting the one or more speed testing parameters. The processing module 306 may schedule, upon receiving the user selection on the user interface 208, execution of the one or more applications at the predefined time to measure the selected plurality of speed testing parameters of the one or more ISPs.

[0115] In some aspects of the present disclosure, the processing module 306 may trigger the execution of the one or more applications 210 at the one or more UEs 102-1 to 102-N connected to the user device 103 to measure the plurality of speed testing parameters at each UE 102. Each UE 102 among the one or more UEs 102- 1 to 102-N may be connected to the unique ISP among the one or more ISPs. Each of the one or more applications 210 may measure the plurality of speed testing parameters of the unique ISP among the one or more ISPs. The plurality of speed testing parameters may be associated with the network connection of the one or more UEs with the corresponding ISP among the one or more ISPs.

[0116] In some aspects of the present disclosure, to trigger the execution of the one or more applications 210 to measure the plurality of speed testing parameters, the processing module 306 may trigger the execution of the one or more applications 210 to measure the plurality of speed testing parameters of the first ISP among the one or more ISPs. The user device 103 may be connected with the first ISP. Further, the switching module 318may switch, upon completion of measurement of the plurality of speed testing parameters of the first ISP, the connection of the user device automatically to the second ISP among the one or more ISPs. The processing module 306 may trigger the execution of the one or more applications to measure the plurality of speed testing parameters of the second ISP.

[0117] In some aspects of the present disclosure, the execution of the one or more applications 210 may occur in at least one of the user device 103 or at the one or more UEs 102-1 to 102-N connected to the user device 103.

[0118] At block 404, the storage module 310 may store, based on the execution of the one or more applications, measured values of the plurality of speed testing parameters in the predefined format.

[0119] In some aspects of the present disclosure, if the measured values of the plurality of speed testing parameters are in the specific range and format, the determination module 308 may determine that the one or more applications are executed. The storage module 310 may store the measured values of the plurality ofspeed testing parameters upon the determination that the one or more applications are executed.

[0120] In some aspects of the present disclosure, the processing module 306 may process the measured values of the plurality of speed testing parameters of each of the one or more ISPs by organizing, parsing, and structuring the measured values of the plurality of speed testing parameters in the pre-defined format. The processed values of the one or more ISPs may be compared with each other to monitor the performance of the one or more ISPs.

[0121] At block 406, the processing module 306 may compare the measured values of the plurality of speed testing parameters across the one or more ISPs to monitor the performance of each of the one or more ISPs.

[0122] In some aspects of the present disclosure, the identification module 304 may identify, based on the result of the comparison of the measured values, the variations in the performance of each of the one or more ISPs. The generation module 312 may generate, based on a result of the comparison, the report indicating the performance of each of the one or more ISPs. The generation module 312 may generate, based on the identified variations, the report indicating the performance of each of the one or more ISPs.

[0123] In some aspects of the present disclosure, the display module 314 may display the generated report on the UI 208. The generated report may indicate the benchmarking of the performance of each of the one or more ISPs. The report may include visual representations illustrating the performance of each of the one or more ISPs for the plurality of geographical locations in different timeframes.

[0124] FIG. 5 illustrates a schematic block diagram of a computing system 500 for monitoring the performance of the one or more ISPs in the communication network 100, in accordance with an embodiment of the present disclosure.

[0125] The computing system 500 includes a network 502, a network interface 504, a processor 506 (similar in functionality to the processor 202 of FIG. 2), an Input / Output (I / O) interface 508 (similar in functionality to the communication interface 206 of FIG. 2), and a non-transitory computer readable storage medium 510 (hereinafter may also be referred to as the “storage medium 510” or the “storage media 510”). The network interface 504 includes wireless network interfaces such as Bluetooth, Wi-Fi, Worldwide Interoperability for Microwave Access (WiMAX), General Packet Radio Service (GPRS), or Wideband Code Division Multiple Access (WCDMA) or wired network interfaces such as Ethernet, or Universal Serial Bus (USB).

[0126] The processor 506 may include various processing circuitry / modules and communicate with the storage medium 510 and the I / O interface 508. The processor 506 is configured to execute instructions stored in the storage medium 510 and to perform various processes. The processor 506 may include an intelligent hardware device including a general-purpose processor, such as, for example, and without limitation, the CPU, the AP, the dedicated processor, or the like, the graphics-only processing unit such as the GPU, the microcontroller, the FPGA, the programmable logic device, the discrete hardware component, or any combination thereof. The processor 506 may be configured to execute computer-readable instructions 510-1 stored in the storage medium 510 to cause the system 200 to perform various functions disclosed throughput the disclosure.

[0127] The storage medium 510 stores a set of instructions i.e., computer program instructions 510-1 (hereinafter may also be referred to as instructions 510-1) required by the processor 506 for controlling its overall operations. The storage media 510 may include an electronic storage medium, a magnetic storage medium, an optical storage medium, a quantum storage medium, or the like. For example, the storage media 510 may include, but are not limited to, hard drives, floppy diskettes, optical disks, ROMs, RAMs, EPROMs, EEPROMs, flash memory, magnetic or optical cards, solid-state memory devices, or other types of physical media suitable for storing electronic instructions. In one or more embodiments, the storage media510 includes a Compact Disk-Read Only Memory (CD-ROM), a Compact Disk- Read / Write (CD-R / W), and / or a Digital Video Disc (DVD). In one or more implementations, the storage medium 510 stores computer program code configured to cause the computing system 500 to perform at least a portion of the processes and / or methods disclosed herein throughput the disclosure.

[0128] Embodiments of the present disclosure have been described above with reference to flowchart illustrations of methods and systems according to embodiments of the disclosure, and / or procedures, algorithms, steps, operations, formulae, or other computational depictions, which may also be implemented as computer program products. In this regard, each block or step of the flowchart, and combinations of blocks (and / or steps) in the flowchart, as well as any procedure, algorithm, step, operation, formula, or computational depiction can be implemented by various means, such as hardware, firmware, and / or software including one or more computer program instructions embodied in computer-readable program code. As will be appreciated, any such computer program instructions may be executed by one or more computer processors, including without limitation a general -purpose computer or special purpose computer, or other programmable processing apparatus to perform a group of operations comprising the operations or blocks described in connection with the disclosed method.

[0129] Further, these computer program instructions, such as embodied in computer-readable program code, may also be stored in one or more computer- readable memory or memory devices (for example, the memory 204 or the storage medium 510) that can direct a computer processor or other programmable processing apparatus to function in a particular manner, such that the instructions 510-1 stored in the computer-readable memory or memory devices produce an article of manufacture including instruction means which implement the function specified in the block(s) of the flowchart(s).

[0130] It will further be appreciated that the term “computer program instructions” as used herein refer to one or more instructions that can be executed by the one ormore processors (for example, the processor 202 or the processor 506) to perform one or more functions as described herein. The instructions 510-1 may also be stored remotely such as on a server, or all or a portion of the instructions can be stored locally and remotely.

[0131] Referring to the technical abilities and advantageous effect of the present disclosure, operational advantages that may be provided by above disclosed system and method for performing assessment process, for example, automating speed tests and rendering speed test report to the users and service providers. The automated speed tests help in improving efficiency, reducing errors, and providing users and service providers with timely, customized, and data-driven insights into ISP performance. As a result, consistent and accurate measurement of the network performance is provided to the users and the ISPs. The insights may be used by the end user for providing feedback to various customers using the ISPs. The insights may be automatically sent to each network administrator of the corresponding ISP for improving the network coverage or other procurement planning.

[0132] Those skilled in the art will appreciate that the methodology described herein in the present disclosure may be carried out in other specific ways than those set forth herein in the above disclosed embodiments without departing from essential characteristics and features of the present disclosure. The above-described embodiments are therefore to be construed in all aspects as illustrative and not restrictive.

[0133] The drawings and the forgoing description give examples of embodiments. Those skilled in the art will appreciate that one or more of the described elements may well be combined into a single functional element. Alternatively, certain elements may be split into multiple functional elements. Elements from one embodiment may be added to another embodiment. For example, orders of processes described herein may be changed and are not limited to the manner described herein. Any combination of the above features and functionalities may be used in accordance with one or more embodiments.

[0134] In the present disclosure, each of the embodiments has been described with reference to numerous specific details which may vary from embodiment to embodiment. The foregoing description of the specific embodiments disclosed herein may reveal the general nature of the embodiments herein that others may, by applying current knowledge, readily modify and / or adapt for various applications such specific embodiments without departing from the generic concept, and, therefore, such adaptations and modifications are intended to be comprehended within the meaning of the disclosed embodiments. It is to be understood that the phraseology or terminology employed herein is for the purpose of description and is not limited in scope.LIST OF REFERENCE NUMERALS

[0135] The following list is provided for convenience and in support of the drawing figures and as part of the text of the specification, which describe innovations by reference to multiple items. Items not listed here may nonetheless be part of a given embodiment. For better legibility of the text, a given reference number is recited near some, but not all, recitations of the referenced item in the text. The same reference number may be used with reference to different examples or different instances of a given item. The list of reference numerals is:100 - Wireless communication network102 / 102-1 to 102-N - One or more User Equipment (UEs)103 - User device104 - Network106 - Gateway device108 - Internet110 - Server200 - System for monitoring performance of Internet Service Providers (ISPs)202 - Processor of the user device 103204 - Memory of the user device 103206 - Communication interface of the user device 103208 - User Interface (UI) of the user device 103210 - Applications212 - One or more modules of the user device 103214 - Testing platforms216 - Network Management System (NMS)300 - Functional block diagram of one or more modules 212302 - Reception module304 - Identification module306 - Processing module308 - Determination module310 - Storage module312 - Generation module314 - Display module316 - Transmission module318 - Switching module400 - Method for monitoring performance of the ISPs 402-412 - Operation steps of the method 400 500 - Block diagram of a computing system502 - Network504 - Network interface506 - Processor508 - Input / Output (I / O) interface510 - Non-transitory computer-readable storage medium 510-1 - Set of instructions

Claims

We Claim:

1. A method (400) for monitoring performance of one or more Internet Service Providers (ISPs) in a communication network, the method (400) comprising: triggering (402), by a processing module (306) of a user device, an execution of one or more applications at a predefined time to measure a plurality of speed testing parameters associated with a network connection of the one or more ISPs; storing (404), by a storage module (310) of the user device based on a result of the execution of the one or more applications, measured values of the plurality of speed testing parameters in a pre-defined format; and comparing (406), by the processing module (306), the measured values of the plurality of speed testing parameters across the one or more ISPs to monitor the performance of each of the one or more ISPs.

2. The method (400) as claimed in claim 1, wherein triggering the execution of the one or more applications comprises triggering, by the processing module (306), the execution of the one or more applications at one or more User Equipment (UEs) connected to the user device to measure the plurality of speed testing parameters at each UE, each UE among the one or more UEs is connected to a unique ISP among the one or more ISPs, each of the one or more applications measures the plurality of speed testing parameters of the unique ISP among the one or more ISPs, and the plurality of speed testing parameters is associated with a network connection of the one or more UEs with a corresponding ISP among the one or more ISPs.

3. The method (400) as claimed in claim 1 , wherein for triggering the execution of the one or more applications to measure the plurality of speed testing parameters, the method (400) comprises:triggering, by the processing module (306), the execution of the one or more applications to measure the plurality of speed testing parameters of a first ISP among the one or more ISPs, wherein the user device is connected with the first ISP; and switching, by a switching module (318) upon completion of measurement of the plurality of speed testing parameters of the first ISP, the connection of the user device automatically to a second ISP among the one or more ISPs; and triggering, by the processing module (306), the execution of the one or more applications to measure the plurality of speed testing parameters of the second ISP.

4. The method (400) as claimed in claim 1, wherein the execution of the one or more applications occurs in at least one of the user device or at the one or more UEs connected to the user device.

5. The method (400) as claimed in claim 1, comprises generating, by a generation module (312) of the user device based on a result of the comparison, a report indicating the performance of each of the one or more ISPs; and displaying, by a display module (314) of the user device, the generated report on a user interface, wherein the generated report indicates a benchmarking of the performance of each of the one or more ISPs.

6. The method (400) as claimed in claim 1, wherein the one or more applications are one or more speed testing applications.

7. The method (400) as claimed in claim 1, for storing the measured values, the method (400) comprises: determining, by a determination module (308) of the user device, that the one or more applications are executed if the measured values of the plurality of speed testing parameters are in a specific range and format; andstoring, by the storage module (310), the measured values of the plurality of speed testing parameters upon the determination that the one or more applications are executed.

8. The method (400) as claimed in claim 1, comprises: identifying, by an identification module (304) of the user device based on the result of the comparison of the measured values, variations in the performance of each of the one or more ISPs; and generating, by the generation module (312) based on the identified variations, the report indicating the performance of each of the one or more ISPs.

9. The method (400) as claimed in claim 1, comprises processing, by the processing module (306), the measured values of the plurality of speed testing parameters of each of the one or more ISPs by organizing, parsing, and structuring the measured values of the plurality of speed testing parameters in the pre-defined format, wherein the processed values of the one or more ISPs are compared with each other to monitor the performance of the one or more ISPs.

10. The method (400) as claimed in claim 1, comprising: displaying, by the display module (314), customization and user configuration options in the user interface for selecting the one or more speed testing parameters; and scheduling, by the processing module (306) upon receiving a user selection on the user interface, execution of the one or more applications at the predefined time to measure the selected plurality of speed testing parameters of the one or more ISPs.

11. The method (400) as claimed in claim 1, wherein the plurality of speed testing parameters associated with the network connection includes a download speed, an upload speed, a latency, packet loss, jitter, and other metrics associated with network connectivity associated with the one or more ISPs.

12. The method (400) as claimed in claim 1, wherein the report includes visual representations illustrating the performance of each of the one or more ISPs for a plurality of geographical locations in different timeframes.

13. A system (200) for monitoring performance of one or more Internet Service Providers (ISPs) in a communication network, the system (200) comprising: a processing module (306) configured to trigger an execution of one or more applications at a predefined time to measure a plurality of speed testing parameters associated with a network connection of the one or more ISPs; a storage module (310) configured to store, based on the execution of the one or more applications, measured values of the plurality of speed testing parameters in a pre-defined format; and the processing module (306) configured to compare the measured values of the plurality of speed testing parameters across the one or more ISPs to monitor the performance of each of the one or more ISPs.

14. The system (200) as claimed in claim 13, wherein the processing module (306) is configured to trigger the execution of the one or more applications at one or more User Equipment (UEs) connected to a user device to measure the plurality of speed testing parameters at each UE, each UE among the one or more UEs is connected to a unique ISP among the one or more ISPs, each of the one or more applications measures the plurality of speed testing parameters of the unique ISP among the one or more ISPs, and the plurality of speed testing parameters is associated with a network connection of the one or more UEs with a corresponding ISP among the one or more ISPs.

15. The system (200) as claimed in claim 13, wherein to trigger the execution of the one or more applications to measure the plurality of speed testing parameters,the processing module (306) is configured to trigger the execution of the one or more applications to measure the plurality of speed testing parameters of a first ISP among the one or more ISPs, wherein the user device is connected with the first ISP; a switching module (318) configured to switch, upon completion of measurement of the plurality of speed testing parameters of the first ISP, the connection of the user device automatically to a second ISP among the one or more ISPs; and the processing module (306) is configured to trigger the execution of the one or more applications to measure the plurality of speed testing parameters of the second ISP.

16. The system (200) as claimed in claim 13, wherein the execution of the one or more applications occurs in at least one of the user device or at the one or more UEs connected to the user device.

17. The system (200) as claimed in claim 13, further comprises: a generation module (312) configured to generate, based on a result of the comparison, a report indicating the performance of each of the one or more ISPs; and a display module (314) configured to display the generated report on a user interface, wherein the generated report indicates a benchmarking of the performance of each of the one or more ISPs.

18. The system (200) as claimed in claim 13, wherein the one or more applications are one or more speed testing applications.

19. The system (200) as claimed in claim 13, further comprises: a determination module (308) configured to determine that the one or more applications are executed if the measured values of the plurality of speed testing parameters are in a specific range and format, and whereinthe storage module (310) stores the measured values of the plurality of speed testing parameters upon the determination that the one or more applications are executed.

20. The system (200) as claimed in claim 13, further comprises: an identification module (304) configured to identify, based on the result of the comparison of the measured values, variations in the performance of each of the one or more ISPs; and wherein the generation module (312) is configured to generate, based on the identified variations, the report indicating the performance of each of the one or more ISPs.

21. The system (200) as claimed in claim 13, wherein the processing module (306) is configured to process the measured values of the plurality of speed testing parameters of each of the one or more ISPs by organizing, parsing, and structuring the measured values of the plurality of speed testing parameters in the pre-defined format, wherein the processed values of the one or more ISPs are compared with each other to monitor the performance of the one or more ISPs.

22. The system (200) as claimed in claim 13, wherein: the display module (314) is configured to display customization and user configuration options in the user interface for selecting the one or more speed testing parameters; and the processing module (306) is configured to schedule, upon receiving a user selection on the user interface, execution of the one or more applications at the predefined time to measure the selected plurality of speed testing parameters of the one or more ISPs.

23. The system (200) as claimed in claim 13, wherein the plurality of speed testing parameters associated with the network connection includes a downloadspeed, an upload speed, a latency, packet loss, jitter, and other metrics associated with network connectivity associated with the one or more ISPs.

24. The system (200) as claimed in claim 13, wherein the report includes visual representations illustrating the performance of each of the one or more ISPs for a plurality of geographical locations in different timeframes.

25. A computer program product comprising computer-executable instructions that are stored on a non-transitory computer-readable medium and that, when executed by at least one processor performs operations comprising: triggering an execution of one or more applications at a predefined time to measure a plurality of speed testing parameters associated with a network connection of one or more Internet Service Providers (ISPs); storing, based on a result of the execution of the one or more applications, measured values of the plurality of speed testing parameters in a pre-defined format; and comparing the measured values of the plurality of testing parameters across the one or more ISPs to monitor performance of each of the one or more ISPs.

Citation Information

Patent Citations

  • System and method for automatically monitoring and managing wireless network performance

    US20090227251A1

  • System and method for monitoring and optimizing network performance to a wireless device

    US20130322265A1

  • Method and System For Testing a Broadband Internet Bandwidth

    US20150358225A1

  • Wireless internet monitoring application

    US20210243292A1

  • Network performance monitor

    US8719398B2