System and method for identifying speed test servers in a network environment

The system addresses latency issues in speed tests by identifying and selecting nearby speed test servers based on geographical location, ensuring accurate TTFB measurements and improved internet connection assessment.

WO2025229657A1PCT designated stage Publication Date: 2025-11-06JIO PLATFORMS LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
PCT/IN2025/050595
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-04-30
Filing Date
2025-04-15
Publication Date
2025-11-06

AI Technical Summary

Technical Problem

Conventional speed test methods often route requests to remote servers, leading to latency issues and inaccurate Time to First Byte (TTFB) measurements due to the lack of proximity awareness, which affects the assessment of internet connection speed and responsiveness.

Method used

A system and method for identifying and selecting speed test servers in the vicinity of a user's indoor environment by using a data processing server to determine geographical location, retrieve nearby speed test servers, and measure communication latency, ensuring accurate speed test results.

Benefits of technology

Enhances speed test accuracy by reducing latency and improving TTFB Key Performance Indicators (KPIs) by routing requests to the nearest available speed test server.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IN2025050595_06112025_PF_FP_ABST
    Figure IN2025050595_06112025_PF_FP_ABST
Patent Text Reader

Abstract

The present disclosure relates to a system (100) and a method (500) for monitoring speed test server(s) (101) in a communication network (106). The system (100) receives a request to initiate speed test(s) for a user device (102). Based on the speed test request, the system (100) determines a geographical area of the user device (102) and retrieves an entity list of servers associated with the geographical area. When the system (100) determines that the entity list of servers includes entities having information of speed test server(s) (101), the system (100) generates a first speed test trigger to perform speed test for the speed test server(s) (101). In response, each speed test server (101) performs speed test and shares a value of communication latency. The system (100) further selects a speed test server having a lowest communication latency value for speed test operations.
Need to check novelty before this filing date? Find Prior Art

Description

SYSTEM AND METHOD FOR IDENTIFYING SPEED TEST SERVERS IN A NETWORK ENVIRONMENTTECHNICAL FIELD

[0001] The embodiments of the present disclosure generally relate to the field of communication networks and systems. More particularly, the present disclosure relates to a system and a method for identifying speed test servers in vicinity of a network environment for conducting speed tests in the communication networks.BACKGROUND OF THE INVENTION

[0002] The subj ect matter disclosed in the background section should not be assumed or construed to be prior art merely because of 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] In digital communications, evaluation of speed and responsiveness has become paramount for assessing efficiency and reliability of internet connections to ensure optimal performance for web browsing, data transfers and other online activities. Further, as users demand faster and more reliable internet connections, a need for accurate performance metrics has grown. A significant metric for determining optimal performance is Time to First Byte (TTFB) after initiating a Hypertext Transfer Protocol (HTTP) request. The TTFB metric measures the time taken by a browser to receive a first byte of data from a web server and offers insights into an internet connection speed and the responsiveness of the web server. However, for obtaining precise measurements,proximity of speed test server to a user's location is crucial to determine accurate speed of the internet connections.

[0004] Heretofore, in conventional methods for measuring speed tests, when the speed tests are initiated by the users without checking for any speed test server in vicinity of an indoor environment, the request is often routed to a remote server or a default server introducing latency issues, thereby skewing TTFB Key Performance Indicators (KPIs) and providing inaccurate results. Such inaccuracies could misguide the users and system administrators, leading to misconceptions about an actual performance or the speed of the internet connection.

[0005] Therefore, there lies a need for a more efficient system and a method for conducting the speed tests using the speed test server in the vicinity of the indoor environment while addressing the aforementioned shortcomings of the conventional methods.SUMMARY

[0006] 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.

[0007] According to an embodiment, a method for monitoring one or more speed test servers in a communication network is provided. The method includes receiving, by a data exchange engine from a user device, a user input comprising a device identifier associated with the user device and a request to initiate one or more speed tests. The method further includes determining, by a locationfetch engine, a geographical area corresponding to the user device. Furthermore, the method includes retrieving, by a server detection engine from a first database, an entity list of servers associated with the geographical area. Furthermore, the method includes determining, by the server detection engine, whether the entity list of servers comprises at least one entity associated with at least one speed test server. Furthermore, the method includes retrieving, by the server detection engine in response to a determination that the entity list of servers comprises the at least one entity, information of the at least one speed test server. Furthermore, the method includes generating a first speed test trigger for the at least one speed test server based on the information of the at least one speed test server. Furthermore, the method includes receiving, in response to the first speed test trigger, a value of communication latency for each of the at least one speed test server. Furthermore, the method includes identifying, by the server detection engine, a select speed test server having the lowest value of communication latency amongst the at least one speed test server.

[0008] In some aspects of the present disclosure, the geographical area is associated with location information of the user device retrieved using the device identifier.

[0009] In some aspects of the present disclosure, the first speed test trigger enables each of the at least one speed test server to determine the value of communication latency.

[0010] In some aspects of the present disclosure, the method further includes receiving, by the server detection engine, a first speed test output from the select server, where the first speed test output comprises the value of communication latency associated with the select speed test server. Furthermore, the method includes generating, by a server speed test engine, a server selection signal to enable the user device to display the first speed test output.

[0011] In some aspects of the present disclosure, the method further includes generating, by the server detection engine in response to a determination that the entity list of servers is empty, a second speed test trigger for a predefined speed test server, where the second speed test trigger enables the predefined speed test server to determine a value of communication latency associated with the predefined speed test server. Furthermore, the method includes receiving, by the server detection engine, a second speed test output from the predefined speed test server, where the second test output comprises the value of communication latency associated with the predefined speed test server. Furthermore, the method includes generating, by the server speed test engine, a display signal to enable the user device to display the second speed test output.

[0012] In some aspects of the present disclosure, the method further includes retrieving, by an alarm detection engine from a second database, information about active alarms associated with the user device using the device identifier. Furthermore, the method includes determining, by the alarm detection engine based on the information about the active alarms, whether the data comprises at least one count of active alarms associated with the user device. Furthermore, the method includes generating, by the alarm detection engine in response to a determination that the data comprises at least one count of active alarms, an alert signal that enables the user device to display an error notification.

[0013] According to another embodiment, a system to monitoring one or more speed test servers in a communication network is described. The system includes a data exchange engine, a location fetch engine, and a server detection engine, communicatively coupled to each other. The data exchange engine is configured to receive, from a user device, a user input comprising a device identifier associated with the user device and a request to initiate one or more speed tests. The location fetch engine is configured to determine a geographical area corresponding to the user device. Moreover, the location fetch engine is configured to retrieve an entity list of servers associated with the geographicalarea from a first database. The server detection engine is configured to determine whether the entity list of servers comprises at least one entity associated with at least one speed test server. Moreover, the server detection engine is configured to retrieve, in response to a determination that the entity list of servers comprises the at least one entity, information of the at least one speed test server. Furthermore, the server detection engine is configured to generate a first speed test trigger for the at least one speed test server based on the information of the at least one speed test server. Furthermore, the server detection engine is configured to receive, in response to the first speed test trigger, a value of communication latency for each of the at least one speed test server. Furthermore, the server detection engine is configured to identify, from the at least one speed test server, a select speed test server having a lowest value of communication latency amongst the at least one speed test server.BRIEF DESCRIPTION OF DRAWINGS

[0014] 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. 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.FIG. 1 illustrates a block diagram depicting a system to monitor speed test server(s) in a communication network, in accordance with an exemplary embodiment of the present disclosure.FIG. 2 illustrates a block diagram depicting a data processing server, in accordance with an exemplary embodiment of the present disclosure.FIG. 3 illustrates a block diagram depicting functional environment of a Network Management System (NMS), in accordance with an exemplary embodiment of the present disclosure.FIG. 4 presents a data-flow diagram of a process for monitoring the speed test server(s) in the communication network, in accordance with an exemplary embodiment of the present disclosure.FIG. 5 presents a flowchart that depicts a method for monitoring the speed test server(s) in the communication network, in accordance with an exemplary embodiment of the present disclosure.LIST OF REFERENCE NUMERALS100 - System101 - Speed Test Server(s)102 - User Device103 - ONT Device104 - Data Processing Server106 - Network108 - Data Centre(s)110 - User Interface112 - Processing Unit114 - Device Memory116 - Application Console118 - Network Interface120 - Data Processing Circuitry122 - Server memory124 - First Database200 - Communication Interface201 - Input-Output (I / O) Interface202 - Console Host203 - First Communication Bus204 - Data Exchange Engine206 - Location Fetch Engine208 - Alarm Detection Engine210 - Server Detection Engine212 - Speed Server Test Engine214 - Instructions Repository Engine216 - Device Identifier Repository218 - External Data Repository220 - Test Server Data Repository226 - Second Communication Bus300 - Network Management System302 - Network304 - Internet Users306 - Shared Load Balancer308 - Web Layer310 - Web Server312 - Application Layer- 1314-1 - Application Server for Intranet Users314-2 - Application Server for Internet Users 316 - Application Layer-2318-1 - Framework Server for Intranet Users318-2 - Framework Server for Internet Users320 - Database Layer322 - Cluster of Nodes324 - Primary Database(s)326 - Secondary DatabaseDETAILED DESCRIPTION OF THE INVENTION

[0015] 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.

[0016] 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.

[0017] 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” refersto 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.”

[0018] 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.”

[0019] In the following description, for the purposes of explanation, various specific details are set forth in order 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.

[0020] 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.

[0021] 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 invention indicates otherwise.

[0022] 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.

[0023] Various aspects of the present disclosure illustrate a system and a method for monitoring speed test server(s) in a communication network, which results in identification of speed test server(s) in vicinity of indoor network environment. The method comprises receiving, via a user interface, a request from a user of the user device to perform speed test(s) associated with an Optical Network Terminal (ONT) device coupled with the user device. The method further comprises retrieving, from a first database, a location information including a location of the indoor environment in which the user device is located. The method further comprises identifying a geographical area corresponding to the location of the indoor environment in the retrieved location information. The method further comprises determining whether the geographical area corresponding to the location of the indoor environment is available. The method further comprises performing the one or more speed tests by selecting the speed test server, in vicinity of the indoor environment, from speed test server(s) in a round robin manner based on the determination that the geographical area corresponding to the location of the indoor environment is available. The method further comprises sending, to the user device, result(s) of speed test(s) performed on speed test server(s).

[0024] Some aspects of the present disclosure provide a system and a method for identifying speed test server(s) suitable for user devices in vicinity of the indoor environment based on a location of the ONT (Optical NetworkTerminal) device, that results in enhanced speed test accuracy. In some other aspects of the present disclosure, the system and the method facilitate routing of speed test request(s) to the speed test server(s), thereby reducing latency and improving TTFB (Time to First Byte) Key Performance Indicators (KPIs).

[0025] The term “indoor environment” in the entire description may correspond to a building in which the user device is located. Further, the user device may correspond to the Optical Network Terminal (ONT) device connected to the communication network.

[0026] The following description provides specific details of certain aspects of the disclosure illustrated in the drawings to provide a thorough understanding of those aspects. It should be recognized, however, that the present disclosure can be reflected in additional aspects and the disclosure may be practiced without some of the details in the following description.

[0027] Embodiments of the present disclosure will be described below in detail with reference to the accompanying drawings. FIG. 1 through FIG. 5, discussed below, and the embodiments used to describe the principles of the present disclosure are by way of illustration only and should not be construed in any way to limit the scope of the present disclosure. Those skilled in the art will understand that the principles of the present disclosure may be implemented in any suitably arranged system or device.

[0028] 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.

[0029] FIG. 1 illustrates a block diagram depicting a system 100 to monitor speed test server(s) 101 in a communication network 106 (hereinafter interchangeably referred to and designated as ‘network 106’), in accordance with an exemplary embodiment of the present disclosure. The embodiments of the system 100 shown in FIG. 1 are for illustration only. Other embodiments of the system 100 may be used without departing from the scope of this disclosure.

[0030] The system 100 may include the speed test server(s) 101, a user device 102 coupled to an Optical Network Terminal (ONT) device 103, a data processing server 104, and data center(s) 108. Various components of the system100 (i.e., the speed test server(s) 101, the user device 102, the data processing server 104, and the data center(s) 108) may be coupled to each other by way of the network 106.

[0031] The speed test server(s) 101 may include a circuitry, logic, and code(s) to implement a network of computers, a software framework, or a combination thereof, that may provide a generalized approach to create server implementation(s). Each speed test server 101 may be configured to determine a value of communication latency by triggering a speed test signal (such as a ping). The communication latency for each speed test server 101 represents delay in communication between the user device 102 and the speed test server101 connected by the network 106.

[0032] Examples of user device 102 may include, but not limited to portable handheld electronic devices such as a mobile phone, a tablet, a laptop, a smart watch etc., or fixed electronic devices such as a desktop computer, computing device, etc. In some aspects of the present disclosure, the user device 102 may act as a medium to provide input(s) and fetch output(s) from the data processing server 104. The user device 102 is communicatively coupled to the network by the ONT device 103. More particularly, the user device 102 acts as a source to communicate details of the ONT device 103 (such as location, specification,alert(s), operational status, etc.) to the data processing server 104. Based on the details of the ONT device 103, the data processing server 104 may identify specific speed test server(s) from the speed test server(s) 101 in vicinity of a building, where the ONT device 103 is installed.

[0033] According to the exemplary embodiment presented through FIG. 1, the user device 102 may include a user interface 110, a processing unit 112, a device memory 114, an application console 116, and a network interface 118.

[0034] The user interface 110 may include an input interface for receiving input(s) from a user of the user device 102. The input(s) from the user device 102 may include, but not limited to instruction(s) to fetch details of the ONT device 103 and transmit the details of the ONT device 103 to the data processing server 104. The input(s) may further include instruction(s) for the data processing server 104 to identify speed test server(s) 101 in the vicinity of the ONT device 103. Moreover, the input(s) may further include instruction(s) to receive details of speed test server(s) 101 that are in the vicinity of the ONT device 103. 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.

[0035] The user interface 110 may further include an output interface for displaying (or presenting) outputs to a user. The output interface may be configured to present result(s) provided by the data processing server 104 to the user of the user device 102. The result(s) may include, but not limited to, details of the speed test server(s) in the vicinity of the ONT device 103 such as latency, specification, geographical location of deployment, etc. Examples of the output interface of the user interface 110 may include, but are not limited to, a digital display, an analog display, a touch screen display, a graphical user interface, awebsite, a webpage, a keyboard, a mouse, a light pen, an appearance of a desktop, and / or illuminated characters. Aspects of the present disclosure are intended to include or otherwise cover any type of the output interface including known, related art, and / or later developed technologies without deviating from the scope of the present disclosure.

[0036] The processing unit 112 may include suitable logic, instructions, circuitry, interfaces, and / or codes for executing various operations, such as the operations associated with the user device 102, or the like. In some aspects of the present disclosure, the processing unit 112 may utilize processor(s) such as Arduino or raspberry pi or the like. Further, the processing unit 112 may be configured to control operation(s) executed by the user device 102 in response to the input received at the user interface 110 from the user. Examples of the processing unit 112 may include, but are not limited to, an application-specific integrated circuit (ASIC) processor, a reduced instruction set computing (RISC) processor, a complex instruction set computing (CISC) processor, a field- programmable gate array (FPGA), a Programmable Logic Control unit (PLC), and the like. Aspects of the present disclosure are intended to include or otherwise cover any type of the processing unit 112 including known, related art, and / or later developed processing units.

[0037] The device memory 114 may be configured to store the logic, instructions, circuitry, interfaces, and / or codes of the processing unit 112, data associated with the user device 102, and data associated with the system 100. Examples of the device memory 114 may include, but are not limited to, a Read- Only Memory (ROM), a Random-Access Memory (RAM), a flash memory, a removable storage drive, a hard disk drive (HDD), a solid-state memory, a magnetic storage drive, a Programmable Read Only Memory (PROM), an Erasable PROM (EPROM), and / or an Electrically EPROM (EEPROM). Aspects of the present disclosure are intended to include or otherwise cover anytype of the device memory 114 including known, related art, and / or later developed memories, without deviating from the scope of the present disclosure.

[0038] The application console 116 may be configured as a computerexecutable application, to be executed by the processing unit 112. The application console 116 may include suitable logic, instructions, and / or codes for executing various operations and may be controlled by the data processing server 104. The computer executable application(s) may be stored in the device memory 114. The computer-executable application may be controlled by the data processing server 104.

[0039] The network interface 118 may be configured to enable the user device 102 to communicate with the data processing server 104 over the network 106. Examples of the network interface 118 may include, but are not limited to, a modem, 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, amplifier(s), a tuner, oscillator(s), a digital signal processor, 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 network interface 118 may include any device and / or apparatus capable of providing wireless or wired communications between the user device 102 and the data processing server 104 (via the ONT device 103).

[0040] The ONT device 103 may include circuitry, logic, and code(s) that connects optical fibre cables (from the network 106) to other wiring(s) such as Ethernet and phone lines by converting the signal from optical to electrical and vice versa. Though the ONT device 103 draws power from an electrical source, the ONT device 103 may also have battery backup options in case of a power outage. The ONT device 103 may typically be a part of a large gigabyte passive optical network (GPON) system that enables high-speed data connections forwired consumer technologies. Specifically, the ONT device 103 may include hardware components such as, but not limited to a terminal point, an optical Modulator-Demodulator (MODEM), network cable(s), optical router, transponder circuitry, and optical fiber cable(s), that provide a wired and / or wireless communication link for user device(s) in its vicinity to connect to the network 106.

[0041] In some aspects of the present disclosure, the user device 102 and the ONT device 103 may be independent entities communicatively coupled to each other, whereas in some other aspects of the present disclosure, the user device 102 and the ONT device 103 may be enclosed in a single enclosure as a single electronic device.

[0042] The data processing server 104 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 data processing server 104 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 data processing server 104 may be realized through various web-based technologies such as, but not limited to, a Java web -framework, a .NET framework, a personal home page (PHP) framework, or any web-application framework. In other aspects of the present disclosure, the data processing server 104 may be configured to perform data processing and / or storage operations to enable monitoring of the speed test server(s) 101.

[0043] The data processing server 104 may include data processing circuitry 120 and a server memory 122. The data processing circuitry 120 may include at least one processor (comprising data processing engines) configured with suitable logic, instructions, circuitry, interfaces, and / or codes for executingoperations of various operations performed by the data processing server 104 for computations and data processing related to monitoring of the speed test server(s) 101. Examples of the data processing circuitry 120 may include, but are not limited to, an Application Specific Integrated Chip (ASIC) processor, a RISC processor, a CISC processor, a Field Programmable Gate Array (FPGA), and the like. The server memory 122 may be configured to store the logic, instructions, circuitry, interfaces, and / or codes of the data processing circuitry 120 for executing various operations. Aspects of the present disclosure are intended to include and / or otherwise cover any type of the data associated with the data processing server 104, without deviating from the scope of the present disclosure. In some aspects of the present disclosure, the server memory 122 may further be configured to temporarily store data from various external sources such as the data center(s) 108. Examples of the server memory 122 may include but are not limited to, a ROM, a RAM, a flash memory, a removable storage drive, a HDD, a solid-state memory, a magnetic storage drive, a PROM, an EPROM, and / or an EEPROM.

[0044] The network 106 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 system 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 106 may be associated with an application layer for implementation of communication protocols based on communication requests from the various entities of the system 100. 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), DomainNetwork System (DNS) protocol, Common Management Interface Protocol (CMIP), Transmission Control Protocol and Internet Protocol (TCP / IP), User Datagram Protocol (UDP), Long Term Evolution (LTE) communication protocols, or any combination thereof.

[0045] 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 106. 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. 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.

[0046] The data center(s) 108 may include suitable logic, circuitry, and / or code(s) to store data and instructions associated with the speed test server(s) 101 and the ONT device 103. Specifically, the data center(s) 108 may include a first database 124 and a second database 126. More particularly, the first database 124 stores data associated with location of the ONT device 103 and speed test server(s) 101. Moreover, the second database 126 stores data associated with alarm(s) corresponding to an operational status of the ONT device 103. In some embodiments of the present disclosure, the first database 124 and the second database 126 may be present in a single enclosure (such a single data center). In some other embodiments, the first and second databases 124-126 may be present in different data centers.

[0047] In operation, the data processing server 104 receives a user input from the user device 102. The user input comprises a device identifier associated with the user device and a request to initiate speed test(s) by the speed test server(s) 101. The device identifier is associated with an identity of the ONT device 103 coupled with the user device 102. Based on the device identifier, the data processing server 104 determines a geographical area corresponding to the user device 102. In some aspects of the present disclosure, the data processing server 104 may determine the geographical area based on a location data corresponding to the ONT device 103 retrieved from the first database 124. Moreover, the data processing server 104 retrieves information of active alarm(s) (i.e., alarm data) from the second database 126 that indicates status of active alarm(s) (if any) associated with the user device 102. In some aspects of the present disclosure, the data processing server 104 may More particularly, the active alarms are associated with an operational state of the ONT device 103. When no active alarms are detected, the data processing server 104 retrieves an entity list of servers associated with the geographical area from the first database 124 and determines whether the entity list of servers comprises at least one entity associated with at least one speed test server or not. In some aspects of the present disclosure, the data processing server 104 may receive the entity list of servers from the first database 124. The data processing server 104 may further retrieve data entries from the entity list of servers. Moreover, the data processing server 104 may inspect each data entry and compare each data entry with a predefined set of parameters to determine whether the data entry corresponds to speed test server or not.

[0048] In a scenario when the entity list of servers is empty, the data processing server 104 selects a predefined speed test server from the speed test server(s) 101 for determination of communication latency corresponding to the user device 102. In some aspects of the present disclosure, the predefined speed test server may be selected (by default) for such user devices where no speedtest server is active in the vicinity of the user devices. In such scenario, the predefined speed test server may be utilized to perform speed test operation(s) for such user devices. When the entity list of servers has at least one entity, the data processing server 104 retrieves information of the at least one speed test server of the speed test server(s) 101 and identifies from the at least one speed test server, a select speed test server having a lowest value of communication latency amongst the at least one speed test server.

[0049] Although FIG. 1 illustrates one example of the system 100, various changes may be made to FIG. 1. Further, the system 100 may include any number of components in addition to the components shown in FIG. 1. Further, various components in FIG. 1 may be combined, further subdivided, or omitted and additional components may be added according to particular needs.

[0050] FIG. 2 illustrates a block diagram depicting the data processing server 104, in accordance with an exemplary embodiment of the present disclosure. The data processing server 104 may include the data processing circuitry 120, the server memory 122, a communication interface 200, an Input- Output (I / O) interface 201, and a console host 202 coupled to each other via a first communication bus 203.

[0051] The communication interface 200 may be configured to enable the data processing server 104 to communicate with various other entities of the system (such as the user device 102 via the ONT device 103, the speed test server(s) 101, and the data center(s) 108) via the network 106. Examples of the communication interface 200 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, amplifier(s), a tuner, oscillator(s), a digital signal processor, a coder-decoder (CODEC) chipset, a Subscriber Identity Module (SIM) card, and a local buffer circuit. It will beapparent to a person of ordinary skill in the art that the communication interface 200 may include any device and / or apparatus capable of providing wireless or wired communications between the data processing apparatus 104 and various other entities of the system 100.

[0052] The I / O interface 201 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 data processing server 104. For example, the I / O interface 201 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 data processing server 104 to perform various operations for monitoring the speed test server(s) 101. 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 data processing server 104. In some aspects of the present disclosure, the output interface may provide the output(s) based on an instruction provided via the input interface. Examples of the output interface of the I / O interface 201 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.

[0053] The console host 202 may include suitable logic, circuitry, interfaces, and / or codes that may be configured to enable the VO interface 201 to receive input(s) and / or present output(s). In some aspects of the present disclosure, the console host 202 may include suitable logic, instructions, and / or codes for executing various operations of computer executable applications to host the application console 116 on the user device 102, by way of which a user can trigger the data processing server 104 to monitor the speed test server(s) 101. Insome other aspects of the present disclosure, the console host 202 may provide a Graphical User Interface (GUI) for the data processing server 104 for user interaction.

[0054] The data processing circuitry 120 may include multiple data processors (e.g., data processing engines) as presented in FIG. 2. According to an exemplary embodiment, the data processing circuitry 120 may include a data exchange engine 204, a location fetch engine 206, an alarm detection engine 208, a server detection engine 210, and a server speed test engine 212, coupled to each other by way of a second communication bus 226.

[0055] The data exchange engine 204 may be configured to enable transfer of data from the server memory 122 to various engines of the data processing circuitry 120. The data exchange engine 204 may further be configured to enable a transfer of data and / or instructions between various other engines of the data processing circuitry 120. The data exchange engine 204 may further be configured to enable the data processing server 104 to receive the user input from the user device 102. More particularly, the data exchange 204 may enable the data processing circuitry 120 to receive device identifier containing identity details of the ONT device 103 and instructions to monitor the speed test server(s) 101.

[0056] Based on the device identifier, the location fetch engine 206 determines the geographical area corresponding to the user device 102. In some aspects of the present disclosure, the location fetch engine 206 may generate a data fetch signal to fetch location information for the user device 102 from the first database 124. The location information may include details about location at which the ONT device 103 is installed such as, but not limited to building name, building address, altitude information etc.

[0057] The alarm detection engine 208 may utilize the location information associated with the user device 102 to generate an alert identification signal to fetch alert data corresponding to the ONT device 103 from the second database 126. The alarm detection engine 208 may further be configured to identify any alarm associated with the operational state of the ONT device 103. In a scenario, when the alert detection engine 208 determines at least one active alarm associated with the user device, the alert detection engine 208 generates an alert signal that enables the user device 102 to display an error notification.

[0058] In another scenario when no active alarm is detected, the server detection engine 210 retrieves the entity list of servers associated with the geographical area of the user device 102. In a first case, when the entity list of servers comprises at least one entity associated with at least one speed test server, the server detection engine 210 retrieves information of the at least one speed test server and generates a first speed test trigger for the at least one speed test server. In response, the server detection engine receives a value of communication latency for each of the at least one speed test server.

[0059] In some aspects of the present disclosure, the first speed test trigger enables each of the at least one speed test server to determine the value of communication latency in a round robin manner.

[0060] Moreover, the server detection engine 210 identifies the select speed test server having the lowest value of communication latency amongst the at least one speed test server. In some aspects of the present disclosure, the server detection engine 210 may generate the speed test trigger for each speed test server 101. The speed test trigger enables each speed test server 101 to perform speed test and generate a speed test result (i.e., a communication speed value), which is shared with the server detection engine 210. The server detection engine 210 may further compare the speed test results of each speed test server 101 to identify the speed test server having lowest communication latency (orhighest communication speed) as the select speed test server. In some aspects of the present disclosure, the server detection engine 210 receives a first speed test output from the select server, where the first speed test output comprises the value of communication latency associated with the select speed test server. The server speed test engine 212 further generates a server selection signal to enable the user device 102 to display the first speed test output.

[0061] In a second case, when the entity list of servers is empty, the server detection engine 210 generates the second speed test trigger for a predefined speed test server. The second speed test trigger enables the predefined speed test server to determine a value of communication latency associated with the predefined speed test server. In some aspects of the present disclosure, in response to the second speed test trigger, the predefined speed test server may generate a ping signal to estimate (or determine) the communication latency. The server detection engine 210 further receives a second speed test output from the predefined speed test server. The second test output comprises the value of communication latency associated with the predefined speed test server. In response, the server speed test engine 212 generates a display signal to enable the user device 102 to display the second speed test output. In some aspects of the present disclosure, the server speed test engine 212 may identify that the second test output includes the value of communication latency associated with the predefined speed test server and triggers the user device 102 to display the value of communication latency associated with the predefined speed test server through an application console.

[0062] Various engines of the data processing circuitry 120 are presented to illustrate the functionality driven by the data processing server 104. It will be apparent to a person having ordinary skill in the art that various engines in the data processing circuitry 120 are for illustrative purposes and not limited to any specific combination of hardware circuitry and / or software.

[0063] The server memory 122 may be configured to store data corresponding to the data processing server 104 to perform various operations for the system 100. In some aspects of the present disclosure, the server memory 122 may be segregated into multiple repositories that may be configured to store a specific type of data. In the exemplary embodiment as presented through FIG. 2, the server memory 122 includes instructions repository 214, device identifier repository 216, external data repository 218, and test server data repository 220.

[0064] The instructions repository 214 is configured to store instructions and / or codes for operation(s) of various components of the data processing server 104. The device identifier repository 216 may be configured to store data associated to the device identifier associated with the user device 102, and more particularly the details of the ONT device 103. The external data repository 218 may be configured to temporarily store data retrieved from the first and second databases 224-226. The test server data repository 220 may be configured to store data associated with the values of communication latencies of the speed test server(s) 101.

[0065] According to an embodiment of the present disclosure, the instructions repository the instructions repository 214 may be configured to store computer program instructions corresponding to the operation(s) performed by various engines in the data processing circuitry 120. In an embodiment of the present disclosure, the instructions repository 214 may be configured as a non-transitory storage medium. Examples of the instructions repository 214 configured as the non-transitory storage medium includes hard drives, solid-state drives, flash drives, Compact Disk (CD), Digital Video Disk (DVD), and the like. Aspects of the present disclosure are intended to include or otherwise cover any type of non-transitory storage medium as the instructions repository 214, without deviating from the scope of the present disclosure. As will be appreciated, any such computer program instructions stored in the instructions repository 214 may be executed by the data processing circuitry120, including without limitation a general-purpose computer or special purpose computer, or other programmable processing apparatus to produce a machine, such that the computer program instructions which execute on the computer processor(s) or other programmable processing apparatus create means for implementing the function(s) specified.

[0066] It will be apparent to a person of ordinary skill in the art that the repositories in the server memory 122 are presented based on the functionality of the data processing server 104 and are not limited to those disclosed. The server memory 122 may have any configuration, combination and / or count of repositories without deviating from the scope of the present disclosure. Although FIG. 2 illustrates one example of the data processing server 104, various changes may be made to FIG. 2. Further, the data processing server 104 may include any number of components in addition to those shown in FIG. 2, without deviating from the scope of the present disclosure. Further, various components in FIG. 2 may be combined, further subdivided, or omitted and additional components may be added according to particular needs.

[0067] FIG. 3 illustrates a block diagram depicting functional environment of a Network Management System (NMS) 300, in accordance with an exemplary embodiment of the present disclosure. The NMS 300 may include a network 302, user(s) including Intranet users 304-1 and 304-2 (hereinafter collectively referred to as “end users 304”), a shared load balancer 306, a web layer 308, web server 310, a first application layer 312, application servers 314 including an application server for Intranet users 314-1 and an application server for Internet users 314-2, a second application layer 316, framework servers 318 including a framework server for Intranet users 318-1 and a framework server for Internet users 318-2, a database layer 320, a cluster of nodes 322, a first primary database 324-1, a second primary database 324-2 (hereinafter collectively referred to as the “database 324”), and a secondary database 326. The secondary database 326 may store updated data of the database 324. Further,1 the load balancer 306 may distribute incoming network traffic across multiple servers, thereby preventing any single server from being overloaded.

[0068] It should be noted that the network 302 as shown in FIG. 3 is similar to the network 106 of FIG. 1 and the application server 314 as shown in FIG. 3 is similar to the data processing server 104 of FIG. 1. The first primary database 324-1 is similar to the first database 124 and the second primary database 324- 2 is similar to the second database 126. Therefore, a detailed description of the same is omitted herein for the sake of brevity of the present disclosure.

[0069] In an embodiment, the web layer 308 may serve as an entry point for the users accessing a speed test service from both intranet and internet. The web layer 308 may provide the user interface where the users may initiate the speed test(s) and view the results. The first and the second application layers 312, 316 (hereinafter also collectively referred to as ‘the application layers 312, 316’) may be used for handling authentication and encryption. The authentication may ensure that only authorized users can access the system, protecting it from an unauthorized access.

[0070] The encryption may ensure that data transmitted between the user and the server is secure and cannot be easily intercepted or read by malicious entities.The database layer 320 may utilize different databases to store detailed information about the user devices, the alarms details corresponding to the user devices and the corresponding indoor environment in which the user devices are located.

[0071] FIG. 4 presents a data-flow diagram of a process 400 for monitoring the speed test server(s) 101 in the communication network 106, in accordance with an exemplary embodiment of the present disclosure. The process 400 is presented by way of step 402 through step 420.

[0072] At step 402, the user input may be transmitted from the user device 102 to the data processing server 104. The user input includes the device identifier and instruct on(s) for monitoring of the speed test server(s) 101.

[0073] At step 404, a location request may be generated by the data processing server 104 based on the device identifier. Further, the location request may be transmitted to the first database 124.

[0074] At step 406, in response to the location request, the location data may be communicated by the first database 124 to the data processing server 104.

[0075] At step 408, an alarm request may be generated by the data processing server 104, to be communicated to the second database 126.

[0076] At step 410, in response to the alarm request, the alarm data may be communicated by the second database 126 to the data processing server 104.

[0077] In the scenario, when the alarm data has at least one alarm associated with the ONT device 103, at step 412a, the alarm may be communicated to the user device 102 by the data processing server 104. In the other scenario, when the alarm data is associated with no alarm for the ONT device 103, a circle data request may be generated by the data processing server 104, that may be communicated to the first database 124.

[0078] At step 414, in response to the circle data request, a circle data may be communicated by the first database 124 to the data processing server 104.

[0079] At step 416, based on the circle data, a server data request may be generated by the data processing server 104, which may be communicated to the first database 124.

[0080] At step 418, in response to the server data request, server data may be communicated by the first database 124 to the data processing server 104. In the first case when the circle data includes entity / entities, the server data corresponds to the select speed test server. Else, when the circle data includes no entities, the server data corresponds to the predefined speed test server.

[0081] At step 420, in correspondence with the server data, a server information may be retrieved and communicated from the data processing server 104 to the user device 102.

[0082] FIG. 5 presents a flowchart that depicts a method 500 for monitoring the speed test server(s) 101 in the communication network 106, in accordance with an exemplary embodiment of the present disclosure. The method 500 is presented by way of block 502 through block 522.

[0083] At block 502, the data processing server 104 may receive the user input from the user device 102. The user input includes the device identifier associated with the user device 102 and the request to initiate the speed test(s).

[0084] At block 504, the data processing server 104 may determine the geographical area corresponding to the user device 102. The geographical area is associated with location information of the user device 102 retrieved using the device identifier.

[0085] At block 506, the data processing server 104 may retrieve the information about active alarms associated with the user device 102 using the device identifier, from the second database 126.

[0086] At block 508, based on the information about the active alarms, the data processing server 104 may determine whether the alarm data reflects anyactive alarm(s) associated with the user device 102. In the scenario, when active alarm(s) are associated with the user device 102, the method 500 proceeds to block 510. Else, when no active alarm is associated with the user device 102, the method 500 proceeds to block 512.

[0087] At block 510, the data processing server 104 may generate the alert signal that enables the user device 102 to display the error notification.

[0088] At block 512, the data processing server 104 may retrieve the information of the speed test server(s) 101.

[0089] At block 514, the data processing server 104 may determine whether the entity list of servers comprises at least one entity. In the first case when the entity list of servers comprises at least one entity, the method 500 proceeds to block 520. In the second case when the entity list of servers is empty, the method 500 proceeds to block 516.

[0090] At block 516, the data processing server 104 may generate the second speed test trigger for the predefined speed test server. The second speed test trigger enables the predefined speed test server to determine the value of communication latency associated with the predefined speed test server. The data processing server 104 may further receive the second speed test output from the predefined speed test server. The second test output comprises the value of communication latency associated with the predefined speed test server.

[0091] At block 518, the data processing server 104 may generate the server selection signal to enable the user device 102 to display the first speed test output.

[0092] At block 520, the data processing server 104 may retrieve the information of the at least one speed test server 101. The data processing server104 may further generate the first speed test trigger for the at least one speed test server based on the information of the at least one speed test server. The first speed test trigger enables each of the at least one speed test server to determine the value of communication latency in the round robin manner. Furthermore, the data processing server 104 may identify, the select speed test server (having the lowest value of communication latency amongst the speed test server(s) 101.

[0093] At block 522, the data processing server 104 may receive the first speed test output from the select server. The first speed test output comprises the value of communication latency associated with the select speed test server. The data processing server 104 may further generate the server selection signal to enable the user device 102 to display the first speed test output.

[0094] Now, referring to the technical abilities and advantageous effect of the present disclosure, operational advantages that may be provided by the embodiments may include providing the system (100) and the method (100) for monitoring speed test servers and identifying a speed test server best suitable for a user device. As discussed above, when the speed test is initiated by a user device and it is routed to an appropriate speed test server (i.e., available in vicinity of the indoor environment having lowest speed test latency), such a speed test server provides most accurate speed test for the indoor environment. Selection of a suitable speed test server reduces latency and improving TTFB (Time to First Byte) Key Performance Indicators (KPIs). Moreover, the selection of a suitable speed test server provides accurate system administration, leading to an actual performance or the speed of the internet connection, which is very critical for real-time operation of distributed systems.

[0095] 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 invention.The above-described embodiments are therefore to be construed in all aspects as illustrative and not restrictive.

[0096] 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.

[0097] 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.

Claims

We Claim:

1. A method (500) for monitoring one or more speed test servers (101) in a communication network, the method (500) comprising: receiving, by a data exchange engine (204) from a user device (102), a user input comprising a device identifier associated with the user device (102) and a request to initiate one or more speed tests; determining, by a location fetch engine (206), a geographical area corresponding to the user device (102); retrieving, by a server detection engine (210) from a first database (124), an entity list of servers associated with the geographical area; determining, by the server detection engine (210), whether the entity list of servers comprises at least one entity associated with at least one speed test server (101); retrieving, by the server detection engine (210) in response to a determination that the entity list of servers comprises the at least one entity, information of the at least one speed test server (101); generating, by the server detection engine (210), a first speed test trigger for the at least one speed test server (101) based on the information of the at least one speed test server (101); receiving, by the server detection engine (210) in response to the first speed test trigger, a value of communication latency for each of the at least one speed test server (101); and identifying, by the server detection engine (210), a select speed test server having a lowest value of communication latency amongst the at least one speed test server (101).

2. The method (500) as claimed in claim 1, wherein the geographical area is associated with location information of the user device (102) retrieved using the device identifier.

3. The method (500) as claimed in claim 1, wherein the first speed test trigger enables each of the at least one speed test server (101) to determine the value of communication latency.

4. The method (500) as claimed in claim 1, further comprising: receiving, by the server detection engine (210), a first speed test output from the select server, wherein the first speed test output comprises the value of communication latency associated with the select speed test server (101); and generating, by a server speed test engine (212), a server selection signal to enable the user device (102) to display the first speed test output.

5. The method (500) as claimed in claim 4, further comprising: generating, by the server detection engine (210) in response to a determination that the entity list of servers is empty, a second speed test trigger for a predefined speed test server (101), wherein the second speed test trigger enables the predefined speed test server (101) to determine a value of communication latency associated with the predefined speed test server (101); receiving, by the server detection engine (210), a second speed test output from the predefined speed test server (101), wherein the second test output comprises the value of communication latency associated with the predefined speed test server (101); and generating, by the server speed test engine (212), a display signal to enable the user device (102) to display the second speed test output.

6. The method (500) as claimed in claim 1, further comprising: retrieving, by an alarm detection engine (208) from a second database (126), information about active alarms associated with the user device (102) using the device identifier; determining, by the alarm detection engine (208) based on the information about the active alarms, whether at least one active alarm is associated with the user device (102); andgenerating, by the alarm detection engine (208) in response to a determination that the at least one active alarm is associated with the user device (102), an alert signal that enables the user device (102) to display an error notification.

7. A system (100) to monitoring one or more speed test servers (101) in a communication network, the system (100) comprising: a data exchange engine (204) configured to receive, from a user device (102), a user input comprising a device identifier associated with the user device (102) and a request to initiate one or more speed tests; a location fetch engine (206) configured to determine a geographical area corresponding to the user device (102); and a server detection engine (210) configured to: retrieve, from a first database (124), an entity list of servers associated with the geographical area; determine whether the entity list of servers comprises at least one entity associated with at least one speed test server (101); retrieve, in response to a determination that the entity list of servers comprises the at least one entity, information of the at least one speed test server (101); generate a first speed test trigger for the at least one speed test server (101) based on the information of the at least one speed test server (101); receive, in response to the first speed test trigger, a value of communication latency for each of the at least one speed test server (101); and identify, from the at least one speed test server (101), a select speed test server having a lowest value of communication latency amongst the at least one speed test server (101).

8. The system (100) as claimed in claim 7, wherein the geographical area is associated with location information of the user device (102) retrieved using the device identifier.

9. The system (100) as claimed in claim 7, wherein the first speed test trigger enables each of the at least one speed test server (101) to determine the value of communication latency.

10. The system (100) as claimed in claim 7, wherein the server detection engine (210) is further configured to receive a first speed test output from the select server, wherein the first speed test output comprises the value of communication latency associated with the select speed test server (101), wherein the system (100) further comprises a server speed test engine (212) configured to generate a server selection signal to enable the user device (102) to display the first speed test output.

11. The system (100) as claimed in claim 10, wherein the server detection engine (210) is further configured to: generate, in response to a determination that the entity list of servers is empty, a second speed test trigger for a predefined speed test server (101), wherein the second speed test trigger enables the predefined speed test server (101) to determine a value of communication latency associated with the predefined speed test server (101); and receive a second speed test output from the predefined speed test server (101), wherein the second test output comprises the value of communication latency associated with the predefined speed test server (101), and wherein the server speed test engine (212) is further configured to generate a display signal to enable the user device (102) to display the second speed test output.

12. The system (100) as claimed in claim 7, further comprises an alarm detection engine (208) configured to: retrieve, from a second database (126), information about active alarms associated with the user device (102) using the device identifier; determine, based on the information about the active alarms, whether at least one active alarm is associated with the user device (102); and generate, in response to a determination that the at least one active alarm is associated with the user device (102), an alert signal that enables the user device (102) to display an error notification.

13. A computer-program product for monitoring one or more speed test servers in a communication network, the 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: receiving, from a user device, a user input comprising a device identifier associated with the user device and a request to initiate one or more speed tests; determining a geographical area corresponding to the user device; retrieving, from a first database, an entity list of servers associated with the geographical area; determining whether the entity list of servers comprises at least one entity associated with at least one speed test server; retrieving, in response to a determination that the entity list of servers comprises the at least one entity, information of the at least one speed test server; generating a first speed test trigger for the at least one speed test server based on the information of the at least one speed test server; determining, in response to the first speed test trigger, a value of communication latency for each of the at least one speed test server; and identifying, from the at least one speed test server, a select speed test server having a lowest value of communication latency amongst the at least one speed test server.

Citation Information

Patent Citations

  • Network speed test method and device

    CN113132182A

  • Estimating Speedtest Server Accuracy

    US20220200884A1