Sign In to Follow Application
View All Documents & Correspondence

System And Method For Executing Network Tests In A Communication Network

Abstract: Disclosed is a system and a method for executing network tests in a communication network (100). The method comprises receiving, from a first user device (110), an input for initiating the network tests and initiating, based on the input, the network tests using recipes stored in a first database (150-1). Each recipe includes test scripts. Furthermore, the method comprises executing, on second user devices (170), a set of recipes in a predefined sequence and generating test result files based on the execution of the set of recipes. Thereafter, the method comprises inserting the test result files into a message queue (142-1) and processing test results of the inserted test result files based on a test type of the network tests. The method further comprises storing the processed test results in a second database (150-2) based on the test type. FIG. 3

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
26 March 2024
Publication Number
40/2025
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
Parent Application

Applicants

Jio Platforms Limited
Office - 101, Saffron, Nr. Centre Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad 380006, Gujarat, India

Inventors

1. Bhatnagar, Pradeep Kumar
Reliance Corporate Park, Thane-Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India.
2. Bhatnagar, Aayush
Reliance Corporate Park, Thane-Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India.
3. Ambaliya, Haresh
Reliance Corporate Park, Thane-Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India
4. Singh, Priyamvada
Reliance Corporate Park, Thane-Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India
5. Khatri, Prashant
Reliance Corporate Park, Thane-Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India
6. Verma, Uday
Reliance Corporate Park, Thane-Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India
7. Thakur, Bhoopendra
Reliance Corporate Park, Thane-Belapur Road, Ghansoli, Navi Mumbai, Maharashtra 400701, India

Specification

DESC:FORM 2
THE PATENTS ACT, 1970 (39 OF 1970)
&
THE PATENT RULES, 2003
COMPLETE SPECIFICATION
(See section 10 and rule 13)

SYSTEM AND METHOD FOR EXECUTING NETWORK TESTS IN A COMMUNICATION NETWORK

Jio Platforms Limited, an Indian company, having registered address at Office -101, Saffron, Nr. Centre Point, Panchwati 5 Rasta, Ambawadi, Ahmedabad - 380006, Gujarat, India

The following specification particularly describes the invention and the manner in which it is to be performed.

TECHNICAL 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 executing network tests 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 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 recent years, the landscape of network testing and performance has undergone significant evolution due to advancements in technology, dynamic nature of users’ demands, and increasing complexity of network infrastructures. Initially, network testing systems primarily focused on internet connectivity and throughput measurements to ensure reliability and stability of network connections. However, with sophistication and diversification of communication networks, a need for more comprehensive testing methodologies became more critical than ever.
[0004] With growth in scale and complexity of the communication networks owing to advent of the internet and enterprise-level networking solutions, the demand for advanced testing methodologies increased. Further, expansion of cloud computing, mobile technologies, and Internet of Thing (IoT) devices has accelerated the evolution of network testing and performance monitoring techniques. To this end, network testing systems play a crucial role in identifying and addressing potential performance issues so as to not impact the users’ experience.
[0005] However, conventional network testing systems relied on a fragmented process, with users relying on disparate tools and platforms to conduct specific types of network tests. For instance, speed tests corresponding to uplink and downlink communications require distinct applications. On the other hand, Web Performance Tests (WPT) target distinct categories of websites (such as banking, search engines, and e-commerce platforms), which necessitate separate tools. Additionally, specialized tests like video performance assessments often lack integrated solutions, further complicating a network testing process.
[0006] Owing to usage of this fragmented process, the conventional network testing systems suffered from various limitations. A significant amount of time and effort was required at the users’ end in navigating multiple platforms, learning different interfaces, and managing disparate sets of tools, which led to not only increased operational overhead but also hampered productivity and efficiency of the conventional network testing systems. Moreover, the conventional network testing systems lack flexibility and customization options forcing the users to compromise on the testing methodologies and objectives.
[0007] Therefore, to overcome aforementioned challenges and limitations associated with the conventional network testing systems, there lies a need for a system and a method that offers the users a streamlined and organized approach of executing the network tests by utilizing a plurality of recipes, enhancing efficiency, and reducing complexity of the network testing process.
SUMMARY
[0008] The following embodiments present a simplified summary to provide a basic understanding of some aspects of the disclosure. 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.
[0009] In an aspect of the present disclosure, disclosed herein is a method for executing network tests in a communication network. The method comprises receiving, by a receiving module of a server from a first user device, an input for initiating one or more network tests. Furthermore, the method comprises initiating, by an execution module based on the input received from the first user device, the one or more network tests using a plurality of recipes stored in a first database. Each recipe of the plurality of recipes includes a plurality of test scripts. Thereafter, the method comprises executing, by the execution module on one or more second user devices, a set of recipes from the plurality of recipes in a predefined sequence and generating, by a data processing module, test result files based on the execution of the set of recipes. The method further comprises inserting, by the data processing module, the test result files into a message queue and processing, by the data processing module, test results of the inserted test result files based on a test type of the one or more network tests. Thereafter, the method comprises storing, by a storage module, the processed test results in a second database based on the test type.
[0010] In one or more implementations, the initiating, by the execution module, the one or more network tests comprises scheduling the set of recipes for execution on the one or more second user devices in the predefined sequence.
[0011] In one or more implementations, each recipe is configurable in terms of at least one of a duration, a count, or an interval between the one or more network tests.
[0012] In one or more implementations, the plurality of test scripts is created, and configured on the first user device, and assigned for execution on the one or more second user devices on a work order basis.
[0013] In one or more implementations, the plurality of test scripts includes scripts for performing at least one of an upload speed test, a download speed test, a web performance test, and a video streaming test.
[0014] In one or more implementations, the method further comprises transmitting, by the data processing module, the test result files inserted in the message queue to the second database upon a successful synchronization operation between the server and the second database. The second database corresponds to a distributed repository for storing the processed test results.
[0015] In one or more implementations, the method further comprises reiterating the synchronization operation upon failure of a previous synchronization operation between the server and the second database.
[0016] According to another aspect of the present disclosure, a system for executing network tests in a communication network is disclosed. The system comprises a receiving module, an execution module, a data processing module, and a storage module. The receiving module is configured to receive, from a first user device, an input for initiating one or more network tests. The execution module configured to initiate, based on the input received from the first user device, the one or more network tests using a plurality of recipes stored in a first database. Each recipe of the plurality of recipes includes a plurality of test scripts. Thereafter, the execution module is configured to execute, on one or more second user devices, a set of recipes from the plurality of recipes in a predefined sequence. The data processing module is configured to generate test result files based on the execution of the set of recipes and insert the test result files into a message queue. Thereafter, the data processing module is configured to process the test results of the inserted test result files based on a test type of the one or more network tests. The storage module is configured to store the processed test results in a second database based on the test type.
[0017] In one or more implementations, for initiating the one or more network tests, the execution module is configured to schedule the one or more recipes for execution on the one or more second user devices in the predefined sequence.
[0018] In one or more implementations, the data processing module is configured to transmit the test result files inserted in the message queue to the second database upon a successful synchronization operation between the server and the second database. The second database corresponds to a distributed repository for storing the processed test results files.
[0019] In one or more implementations, the data processing module is configured to reiterate the synchronization operation upon failure of a previous synchronization operation between the server and the second database.
[0020] According to a further aspect of the present disclosure, a User Equipment (UE) is disclosed. The UE comprises one or more device processors communicatively coupled to one or more server processors and to a memory. The memory stores instructions which when executed by the one or more device processors causes the UE to create one or more recipes of a plurality of recipes using a combination of a plurality of test scripts, transmit an input for initiating one or more network tests using the plurality of recipes, and assign a set of recipes from a plurality of recipes for execution on one or more user devices in a predefined sequence. The one or more server processors are configured to perform one or more steps for executing network tests in a communication network.
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. 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 consistency and ease of understanding, similar components and elements are annotated by reference numerals in the exemplary drawings.
[0022] FIG. 1 illustrates a block diagram depicting a network testing environment for performing network tests using recipes, in accordance with an embodiment of the present disclosure.
[0023] FIG. 1A illustrates a block diagram depicting various components of a processor of the network testing environment, in accordance with an embodiment of the present disclosure.
[0024] FIG. 2 illustrates a block diagram depicting a high-level system architecture representing interaction between a first user device, a server, and a first database of the network testing environment for work order creation, in accordance with an embodiment of the present disclosure.
[0025] FIG. 3 illustrates a flowchart depicting a method for executing the network tests, in accordance with an embodiment of the present disclosure.
[0026] FIG. 4 illustrates a schematic architecture diagram depicting a computing system, in accordance with an embodiment of the present disclosure.
DETAILED DESCRIPTION OF THE INVENTION
[0027] 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.
[0028] 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.
[0029] The following description contains specific information pertaining to embodiments in the present disclosure. The detailed description uses the phrases “in some embodiments” or “some implementations” which may each refer to one or more or all of the same or different embodiments or implementations. 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” or “in an implementation” refers to one embodiment or one implementation and the term, for example, “in one or more embodiments” refers to “at least one embodiment, or more than one embodiment, or all embodiments.” Further, the term, for example, “in one or more implementations” refers to “at least one implementation, or more than one implementation, or all implementations.”
[0030] 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.”
[0031] 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.
[0032] 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.
[0033] 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 present disclosure indicates otherwise.
[0034] 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.
[0035] The present disclosure relates to a system and a method for performing network tests using recipes tailored to different testing scenarios, thereby ensuring reliability and accuracy of a network testing process.
[0036] An aspect of the present disclosure is to provide a system and a method for performing the network tests that can enable users to store, categorize, and organize the recipes in a central location, making it easy to access and manage the recipes.
[0037] Another aspect of the present disclosure is to provide a system and a method for performing the network tests that can facilitate enhanced efficiency and reduced complexity of the network testing process.
[0038] In order to facilitate an understanding of the disclosed invention, a number of terms are defined below.
[0039] A test script corresponds to a predefined or custom created set of instructions programmed within a network testing application for performing the network tests in a sequential order. The test script may be used to evaluate various aspects of network performance, such as speed (upload/download), web performance and video streaming.
[0040] An upload speed test refers to a network performance test designed to measure a rate at which data can be transferred from a user device to a remote server. The upload speed test evaluates a device's ability to send data packets over a network, typically measured in Megabits per second (Mbps). The upload speed test helps in assessing quality of an Internet connection in scenarios, where uploading the data (for example, sending files, video conferencing, cloud backups) is critical.
[0041] A download speed test refers to a network performance test designed to measure a rate at which the data can be transferred from the remote server to the user device. The download speed test evaluates the device's ability to receive the data packets over the network, typically measured in Mbps. The download speed test helps in assessing the quality of the Internet connection in scenarios, where downloading of the data (for example streaming videos, web browsing, file downloading) is essential.
[0042] A Web Performance Test (WPT) refers to a network performance test that is designed to evaluate performance of a specific website or a web service by simulating real user interactions. The WPT test measures various aspects of a web page load time, including Time to First Byte (TTFB), time to fully load, and other relevant metrics such as Hyper Text Transfer Protocol (HTTP) requests, server response times, and resource load times. The WPT test is particularly useful for identifying slow loading times and inefficiencies in delivery of content from websites such as banking, search, eCommerce platforms, or the like.
[0043] A video streaming test refers to a network performance test that is designed to measure quality and performance of video playback over a network connection. The video streaming test simulates real world conditions by streaming video content from a server to a user device, assessing factors such as buffering time, video resolution, smoothness of playback, and latency. The video streaming test helps in evaluating the device’s ability to stream content without interruptions or degradation and is crucial for services like video streaming, online movies, and live streaming platforms.
[0044] A recipe refers to a combination of test scripts bundled together. In context of the present discourse, the “recipe” corresponds to an assorted combination of test scripts that can be created, configured, and assigned for auto execution on enterprise users’ devices on a work order basis. The recipe defines the order of execution, parameters, and configurations of the test scripts. The recipes can be customized by the user and assigned to registered devices for automatic execution.
[0045] A recipe creation module refers to a tool that allows the users to create, configure, and modify the test recipes. The recipe creation module facilitates selection and organization of the test scripts into structured workflows, providing the users with flexibility in creating composite tests.
[0046] A predefined scripts repository corresponds to a database or a storage location containing a collection of predefined test scripts available for use by the recipe creation module. The predefined test scripts are designed to test common network functionalities such as the speed (upload/download), the web performance and the video streaming.
[0047] A recipe scheduling refers to a functionality that allows the users to assign the recipes to specific devices and set a schedule for execution. The recipes can be executed automatically based on the user device's configuration.
[0048] A test result corresponds to output or data generated by execution of a test script. The test result includes metrics such as the upload or the download speed, the web performance, video playback quality, or other relevant performance indicators.
[0049] A test result processing refers to a process of analyzing and transforming raw test results into a structured, readable data for reporting and storage. This can involve data aggregation, encryption, and syncing with a central server.
[0050] A back-end server refers to an infrastructure that supports the execution of the test scripts, manages data processing, user authentication, authorization, and interacts with other system components such as databases.
[0051] A load balancer, in the context of the present disclosure, corresponds to a network device or a software that distributes incoming network test requests across multiple servers in a round robin or other algorithm-based manner. The load balancer ensures efficient resource utilization and minimizes system overload.
[0052] In context of the present disclosure, a service management module corresponds to a server component configured to process the network test requests and insert test result files into a message queue for further consumption.
[0053] A message queue corresponds to a communication protocol, or a software component used for storing and transmitting messages between different components or services within a distributed system. In the context of a network testing environment, the message queue stores test results or data messages generated during network text executions, allowing the test results/data messages to be processed by downstream components such as analytics tools in an orderly manner.
[0054] A work order refers to a set of test scripts or recipes assigned to a user's device for execution. The work order includes details such as type of the network tests to be performed, the devices or users assigned to complete the network tests, schedule for execution, and any other specific parameters or configurations for the network tests. The work orders are used to track the execution of the network tests and ensure that specific tasks are completed according to predefined workflows. The work orders can be scheduled, managed, and tracked within a network testing system to ensure accurate and timely test results.
[0055] Embodiments of the present disclosure will be described below in detail with reference to the accompanying drawings. FIG. 1 to FIG. 4, discussed below, and the one or more 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.
[0056] FIG. 1 illustrates a block diagram depicting a network testing environment 100 for performing the network tests using the recipes, in accordance with an embodiment of the present disclosure.
[0057] The embodiment of the network testing environment 100 (hereinafter may also be referred to as a “testing environment 100” or a “communication network 100”) shown in FIG. 1 is for illustration only. In particular, the testing environment 100 corresponds to a testing system (hereinafter may also be referred to as a “testing system 100” or a “system 100”). Other embodiments of the testing environment 100 may be used without departing from the scope of this disclosure.
[0058] As shown in FIG. 1, the testing environment 100 may include a first user device 110, a network 120, a load balancer 130, an application server 140 (hereinafter also referred to as the “server 140”), a first database 150-1, a second database 150-2, a gateway server 160, and a set of second user devices 170 (hereinafter may also be referred to as “second user devices 170” or a “second user device 170”). The server 140 communicates with each of the first user device 110, the load balancer 130, the first database 150-1, the second database 150-2, the gateway server 160, and the second user device 170 via the network 120.
[0059] The first user device 110 may include a User Interface (UI) 110-1, a communication unit 110-2, a device memory 110-3, a device processor 110-4, and a recipe creation module 110-5. In an implementation, applications are installed on the first user device 110 to communicate with the server 140. The first user device 110 and the second user device 170 may include smartphones, tablets, laptops, desktop computers, Personal Digital Assistants (PDAs), smartwatches, set-top box (STBs) and the like. In an implementation, the test scripts are created, and configured on the first user device 110-1.
[0060] The UI 110-1 corresponds to an interactive interface that includes various options to allow the users to select, modify and configure the test scripts. The UI 110-1 interacts with the server 140 via the communication unit 110-2 to initiate requests for execution of the test scripts (hereinafter may be referred to as “script execution requests”). The UI 110-1 may include a Graphical User Interface (GUI) configured to display tools for creating the test scripts, initiating requests for executing the created test scripts, and test results dashboards.
[0061] The UI 110-1 may be configured to allow the users to create, edit and save the test scripts in a structured format. The UI 110-1 may include various options and menus to initiate, pause or stop the script execution process. The UI 110-1 may be configured to display various performance metrics such as an execution time, a success rate and error logs of the script execution process.
[0062] The communication unit 110-2 is configured to manage data exchange between the first user device 110 and the server 140. The communication unit 110-2 ensures seamless communication and secure transmission of the script execution requests and results.
[0063] The device memory 110-3 is configured to store the created test scripts, logs, and execution status. The device memory 110-3 retains user preferences, saved test scripts and historical data related to execution of the test scripts.
[0064] The device processor 110-4 is configured to pre-process the test scripts for instance, validating syntax, checking for missing parameters, and the like, before sending the script execution requests to the server 140.
[0065] The recipe creation module 110-5 enables the users to create, define and configure the test scripts. The recipe creation module 110-5 allows the users to create recipes from the test scripts. Each recipe includes a plurality of test scripts. The recipe creation module 110-5 further allows the users to create their own composite recipes (bundle of multiple recipes) from a set of elementary recipes. The users can then schedule the created recipe for execution on the second user device 170 in a pre-determined order. In an implementation, each recipe is configurable in terms of at least one of a duration, a count, or an interval between the network tests.
[0066] The network 120 enables communication between components of the testing environment 100. The network 120 may correspond to one of an Internet, a proprietary Internet Protocol (IP) network, or other data network.
[0067] The load balancer 130 is an intermediary between the network 120 and the server 140. The load balancer 130 is configured to distribute incoming input from the first user device 110 to the server 140 for initiating the network tests. Referring to FIG. 1, the load balancer 130 transmits a user input for initiating the network tests to the server 140.
[0068] The server 140 may include a distributed stream processing module 142, a sever processor 144 (hereinafter may also be simply referred to as a processor 144), a server memory 146 (hereinafter may also be simply referred to as a memory 146), and a communication interface 148. The processor 144 may include a plurality of processing engines i.e., information processing task executors.
[0069] The distributed stream processing module 142 is configured to receive, process, and manage streaming data within the system 100. The distributed stream processing module 142 is designed to handle real time data flow by consuming messages from a producer for instance, the applications installed on the first user device 110, processing the messages and forwarding the messages for storage or further analysis. A message in the context of the present disclosure refers to a structured unit of data transmitted within the system 100. Each message contains structured information, such as the test results, command requests, or execution status of the network tests.
[0070] The distributed stream processing module 142 utilizes a message queue 142-1 for handling all the data corresponding to the test result files generated during the network test execution.
[0071] The message queue 142-1 is configured to hold messages for intermediate processing and synchronization of the test result files. In a non-limiting example, during an initiation of a network test via the application, where initiated requests are sent to the load balancer 130 and distributed to the server 140, the message queue 142-1 acts as temporary data buffer that manages asynchronous flow of the messages between different system components. The messages are stored in the message queue 142-1 in a structured queue format and retrieved in a correct sequence for consumption by the distributed stream processing module 142. A service management module 144-3 (to be described later) of the processor 144 inserts test data and results into the message queue 142-1 for consumption by the distributed stream processing module 142, ensuring orderly and sequential processing of the test result files.
[0072] The processor 144 may include multiple processors or other processing devices that controls the overall operation of the server 140. For example, the processor 144 is configured to execute programs stored in the memory 146. The processor 144 is further configured to store data into the memory 146 or fetch the data out of the memory 146 as required by an execution process.
[0073] The processor 144 may include various processing circuitry and communicates with the memory 146 and the communication interface 148. The processor 144 may include the one or a plurality of processors, 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).
[0074] The memory 146 is configured to store a set of instructions required by the processor 144 for controlling overall operations of the server 140. A part of the memory 146 may include a Random Access Memory (RAM), and another part of the memory 146 may include a flash memory or other Read Only Memory (ROM).
[0075] The memory 146 may include non-volatile storage elements. Examples of such non-volatile storage elements may include magnetic hard discs, optical discs, floppy discs, flash memories, or forms of Electrically Programmable Memories (EPROM) or Electrically Erasable and Programmable Memories (EEPROM). In addition, the memory 146 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 that the memory 146 is non-movable. In some examples, the memory 146 can 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 RAM) or cache). The memory 146 can be an internal storage unit or it can be an external storage unit of the server 140, cloud storage, or any other type of external storage.
[0076] The memory 146 may include a microservices framework 146-1. The microservices framework 146-1 may correspond to a modular architecture designed to decompose the system’s functionalities into smaller, independent services that communicate with each other through well-defined Application Programming Interfaces (APIs). The microservices framework 146-1 may be configured to manage, deploy, and coordinate multiple independent microservices within the service management module.
[0077] The communication interface 148 includes an electronic circuit specific to a standard that enables wired or wireless communication. The communication interface 148 is configured for communicating internally between internal hardware components and with external devices via one or more networks.
[0078] The first database 150-1 serves as a primary data repository for structured and transactional data. The first database 150-1 corresponds to a predefined scripts repository and stores the test scripts, customized recipes, and execution configurations. The first database 150-1 is configured to store and manage network test execution requests, network configurations, and user related data, ensuring smooth operations of the system 100.
[0079] The second database 150-2 may be configured to store large-scale, real-time test results and processed analytical data. The second database 150-2 stores the test result files in a structured format. The second database 150-2 may correspond to a distributed repository for storing the test results files.
[0080] The gateway server 160 functions as a central access point for managing inbound and outbound communication between user devices and back-end services. The gateway server 160 ensures secure efficient and streamlined data exchange between components. The gateway server 160 directs API calls and the network test execution requests to the appropriate micro services. The gateway server 160 ensures that all user requests, test script executions, and data processing tasks are efficiently routed and managed within the system 100.
[0081] The second user device 170 is configured to execute the test scripts on a work order basis. The test scripts may be executed on the second user device 170 at predefined times or under specific network conditions without user intervention. In an implementation, the test scripts may include scripts for performing at least one of the upload speed test, the download speed test, the WPT, and the video streaming test.
[0082] Although FIG. 1 illustrates one example of the testing environment 100, various changes may be made to FIG. 1. For example, the testing environment 100 may include any number of user devices and servers in any suitable arrangement. Further, in another example, the testing environment 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.
[0083] FIG. 1A illustrates a block diagram depicting various components of the processor 144 of the network testing environment 100, in accordance with an embodiment of the present disclosure.
[0084] The processor 144 may include a receiving module 144-1, an execution module 144-2, a service management module 144-3, a data processing module 144-4, and a storage module 144-5.
[0085] The receiving module 144-1 is configured to receive an input for initiating the network tests from the UI 110-1 of the first user device 110. The receiving module 144-1, upon receiving the input including the network test request, verifies that the network test request contains all required fields for example test type, test parameters, and the like. The receiving module 144-1 may then route the validated and preprocessed messages (network test requests) to the execution module 144-2 for further processing.
[0086] The execution module 144-2 is configured to initiate the network tests using the recipes stored in the first database 150-1 by scheduling the recipes for execution on the second user device 170 in a predefined sequence. Each recipe includes the test scripts and is configurable in terms of at least one of the duration, the count, or the interval between the network tests.
[0087] The execution module 144-2 is configured to execute the recipes on the second user device 170 in the predefined sequence. The execution module 144-2 may allow multiple test scripts to run concurrently and if a test script fails or exceeds its timeout, retries execution according to configured policy.
[0088] The service management module 144-3 is configured to manage interactions between different user devices, back-end services, and the microservices to ensure smooth communication and task execution. The service management module 144-3 may include a microservices component 144-3’ including multiple microservices. When a network test request is made by the first user device 110, the service management module 144-3 determines which back-end service or microservice should handle the network test request.
[0089] In the context of the present disclosure, the server 140 refers to a main back-end server, and the service management module 144-3 serves as an execution coordination unit inside the server 140. The service management module 144-3 continuously monitors load and performance of available microservice instances and dynamically routes the network test requests to the appropriate microservice. The service management module 144-3 may be configured to generate the test result files based on the execution of the recipes on the second user device 170 and inserts the test result files into the message queue 142-1 for consumption by the distributed stream processing module 142.
[0090] The microservices component 144-3’ refers to a set of independent, self-contained services that perform specific functions within a broader architecture of the system 100. In an implementation, the microservices component 144-3’ may include Representational State Transfer (REST) microservices managed by the service management module 144-3. The microservices may work together to implement core functionalities of the system 100, such as performing the network tests, processing data, generating reports, and interacting with external systems or components.
[0091] Each microservice within the microservices component 144-3’ is independently deployable and scalable based on its particular functionality and workload. A microservice refers to individual components that perform specific tasks within a system, for example, a test execution microservice could be responsible for running the network tests, while data processing microservice could handle data transformation and storage. The microservices are designed to function independently of one another, meaning a failure or modification to one microservice does not affect the other microservices.
[0092] The data processing module 144-4 is configured to process test results of the inserted test result files based on a test type of the network tests. The data processing module 144-4 is responsible for analyzing and processing the test results that are received through the inserted test result files. The data processing module 144-4 processes the test results based on the test type, which determines the kind of data being processed, and ensures that correct processing steps are applied according to the specific test. In an implementation, the test type may include at least one of the upload speed test, the download speed test, the WPT, and the video streaming test. In an alternate implementation, the test type may include performance tests (test results of which includes data related to system performance such as latency, throughput, response times, and the like), functional tests (to verify whether a system component is functioning as expected), or security tests (to evaluate vulnerabilities such as unauthorized access attempts, encryption effectiveness, authentication mechanisms, and the like), each requiring specific handling and processing rules.
[0093] The data processing module 144-4 is further configured to transmit the test result files inserted in the message queue 142-1 to the second database 150-2 upon a successful synchronization operation between the server 140 and the second database 150-2. The second database 150-2 corresponds to the distributed repository for storing the processed test results. The data processing module 144-4 may further reiterate the synchronization operation upon failure of a previous synchronization operation between the server 140 and the second database 150-2. The data processing module 144-4 may include a video stream analyzer 144-4’, a web performance analyzer 144-4” and a speed performance analyzer 144-4”’.
[0094] The storage module 144-5 may be configured to store the processed test results in the second database 150-2 based on the test type.
[0095] FIG. 2 illustrates a block diagram depicting a high-level system architecture representing interaction between the first user device 110, the server 140, and the first database 150-1 of the network testing environment 100 for work order creation, in accordance with an embodiment of the present disclosure. In the context of the present disclosure, the work order creation refers to a process of preparing and organizing the network test execution tasks, in the form of test scripts and the recipes, for a series of network tests, that are to be executed in a specific order.
[0096] The UI 110-1 of the first user device 110 allows the users to select or input a series of test scripts that will make up the work order. The users may also set configuration parameters, such as network test conditions, performance thresholds, expected outcomes, and device specifications for each network test. In scenarios where certain tests need to be conducted before others or require specific conditions, the users may also configure these dependencies. The users can specify whether the network tests are for video performance, web application behavior, or system performance, depending on the nature of the network tests in the recipes.
[0097] The recipe creation module 110-5 is configured to create and manage the work orders. The recipe creation module 110-5 defines the sequence and execution conditions of the test scripts and ensures that each test script follows a logical order, while complying with dependencies and configurations. The first user device 110 then transmits the created work order to the server 140 for processing.
[0098] The server 140, upon receiving the work order from the first user device 110, queues the text execution based on the system's availability and manages execution logs and test progress tracking. The server 140 stores the created recipes in the first database 150-1.
[0099] FIG. 3 illustrates a flowchart depicting a method 300 for executing the network tests, in accordance with an embodiment of the present disclosure. The method 300 comprises a series of operation steps indicated by blocks 302 through 314. Although the method 300 shows example blocks of steps 302 to 314, in some embodiments, the method 300 may include additional steps, fewer steps or steps in different order than those depicted in FIG. 3. In other embodiments, the steps 302 to 314 may be combined or may be performed in parallel. The method 300 starts at block 302.
[00100] At block 302, the receiving module 144-1 of the processor 144 receives, from the UI 110-1 of the application installed on the first user device 110, the user input for initiating the network tests. The receiving module 144-1 receives the user input via the load balancer 130.
[00101] At block 304, the execution module 144-1 of the processor 144 initiates the network tests in response to the received user input via the load balancer 130. In one or more implementations, the network tests may include at least one or more of the speed test, the video streaming test, the WPT, or the like. In another implementation, the initiating the network tests comprises scheduling the recipes for execution on the second user device 170 in the predefined sequence. In another implementation, each recipe of the recipes is stored as recipe data in the first database 150-1. Each recipe is configurable in terms of at least one of the duration, the count, or the interval between the network tests carried out. The test scripts are created, configured, and assigned for execution on the second user device 170 on the work order basis. The test scripts include scripts for performing at least one of the upload speed test, the download speed test, the web performance test, or the video streaming test.
[00102] At block 306, the execution module 144-2 executes the set of recipes in the predefined sequence.
[00103] At block 308, the service management module 144-3 of the processor 144 generates the test result files based on the execution of the set of recipes.
[00104] At block 310, the service management module 144-3 inserts the test result files into the message queue 142-1 based on the test type of the network tests.
[00105] At block 312, the data processing module 144-4 of the processor 144 processes the test results of the inserted test result files based on the test type of the network tests.
[00106] At block 314, the storage module 144-5 stores the processed test results in the second database 150-2 based on the test type.
[00107] FIG. 4 illustrates a schematic architecture diagram depicting a computing system 400, in accordance with an embodiment of the present disclosure. The computing system 400 includes a network 402, a network interface 404, a processor 406, an Input/Output (I/O) interface 408 and a non-transitory computer readable storage medium 410 (hereinafter may also be referred to as the “storage medium 410” or the “storage media 410”).
[00108] The network interface 404 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, Universal Serial Bus (USB), or Institute of Electrical and Electronics Engineers-864 (IEEE-864).
[00109] The processor 406 may include various processing circuitry and communicate with the storage medium 410 and the I/O interface 408. The processor 406 is configured to execute instructions stored in the storage medium 410 and to perform various processes. The processor 406 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 406 may be configured to execute computer-readable instructions 410-1 stored in the storage medium 410 to cause the server 140 to perform various functions.
[00110] The storage medium 410 stores a set of instructions 410-1 required by the processor 406 for controlling its overall operations. The storage medium 410 further stores a microservices framework 410-2.
[00111] The storage media 410 may include one or more of an electronic storage medium, a magnetic storage medium, an optical storage medium, a quantum storage medium, or the like. For example, the storage media 410 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 media 410 includes a Compact Disk-Read Only Memory (CD-ROM), a Compact Disk-Read/Write (CD-R/W), and/or a Digital Video Disc (DVD).
[00112] In one or more embodiments, the storage medium 410 stores computer program code configured to cause the computing system 400 to perform at least a portion of the processes and/or methods. Accordingly, in at least one embodiment, the computing system 400 performs the method for performing the network tests in the communication network.
[00113] 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.
[00114] 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 146 or the storage medium 410) that can direct a computer processor or other programmable processing apparatus to function in a particular manner, such that the instructions 410-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).
[00115] 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 144 or the processor 406) to perform one or more functions as described herein. The instructions 410-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.
[00116] Now, referring to the technical abilities and advantageous effect of the present disclosure, operational advantages that may be provided by one or more embodiments may include providing a system and a method that enables performing the network tests in the network environment by utilizing the recipes tailored to different testing scenarios, thereby ensuring reliability and accuracy of the network testing process.
[00117] A further potential advantage of the one or more embodiments disclosed herein may include enabling the users to store, categorize, and organize the recipes in a centralized location, making it easy to access and manage the recipes, thereby enhancing operational efficiency, eliminating need for scatted test configurations, and reducing manual intervention.
[00118] Another advantage offered by one or more embodiments of the present disclosure include providing a system and a method that optimizes the network testing process by automating the execution of the test scripts in a structured manner.
[00119] Yet another advantage offered by the one or more embodiments of the present disclosure include providing a system and a method that is capable of encrypting test result files and syncing them only after successful execution, ensuring data integrity. In case of sync failures, the system automatically retries syncing with subsequent test scripts, thereby reducing manual recovery efforts. Further, failed sync attempts are retried on application launch, preventing data loss and ensuring robust execution.
[00120] Another noteworthy advantage offered by one or more embodiments of the present disclosure may include but not limited thereto, facilitating enhanced efficiency and reduced complexity of the network testing process since the network testing process is independent of the underlying technology (4g, 5g etc.), thereby reducing compatibility issues and enabling seamless execution across different networks. Thus, test execution logic can be dynamically adjusted based on network conditions, device configurations, and performance metrics, enabling real world adaptability.
[00121] 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.
[00122] 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.
[00123] 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
[00124] 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 – Network Testing Environment/Testing System/System
110 – First User Device
110-1 – User Interface
110-2 – Communication Unit
110-3 – Device Memory
110-4 – Device Processor
110-5 – Recipe Creation Module
120 – Network
130 – Load Balancer
140 – Server
142 – Distributed Stream Processing Module
142-1 – Message Queue
144 – Server Processor/Processor
144-1 – Receiving Module
144-2 – Execution Module
144-3 – Service Management Module
144-3’ – Microservices Component
144-4 – Data Processing Module
144-4’ – Video Stream Analyzer
144-4” – Web Performance Analyzer
144-4’” – Speed Performance Analyzer
144-5 – Storage Module
146 – Server Memory
146-1 – Microservices Framework
148 – Communication Interface
150-1 – First Database
150-2 – Second Database
160 – Gateway Server
170 - Second User Devices
200 – System architecture
300 – Method for executing the network tests
400 - Computing System
402 - Network
404 - Network interface
406 - Processor
408 – I/O Interface
410 - Storage Medium
410-1 - Instructions
,CLAIMS:1. A method for executing network tests in a communication network (100), the method comprising:
receiving, by a receiving module (144-1) of a server (140) from a first user device (110), an input for initiating one or more network tests;
initiating, by an execution module (144-2) based on the input received from the first user device (110), the one or more network tests using a plurality of recipes stored in a first database (150-1), wherein each recipe of the plurality of recipes includes a plurality of test scripts;
executing, by the execution module (144-2) on one or more second user devices (170), a set of recipes from the plurality of recipes in a predefined sequence;
generating, by a service management module (144-3), test result files based on the execution of the set of recipes;
inserting, by the service management module (144-3), the test result files into a message queue (142-1);
processing, by a data processing module (144-4), test results of the inserted test result files based on a test type of the one or more network tests; and
storing, by a storage module (144-5), the processed test results in a second database (150-2) based on the test type.

2. The method as claimed in claim 1, wherein the initiating, by the execution module (144-2), the one or more network tests comprises scheduling the set of recipes for execution on the one or more second user devices (170) in the predefined sequence.

3. The method as claimed in claim 1, wherein each recipe is configurable in terms of at least one of a duration, a count, or an interval between the one or more network tests.

4. The method as claimed in claim 1, wherein the plurality of test scripts is created, and configured on the first user device (110) and assigned for execution on the one or more second user devices (170) on a work order basis.

5. The method as claimed in claim 1, wherein the plurality of test scripts includes scripts for performing at least one of an upload speed test, a download speed test, a web performance test, and a video streaming test.

6. The method as claimed in claim 1, comprising transmitting, by the data processing module (144-4), the test result files inserted in the message queue (142-1) to the second database (150-2) upon a successful synchronization operation between the server (140) and the second database (150-2), wherein the second database (150-2) corresponds to a distributed repository for storing the processed test results.

7. The method as claimed in claim 6, comprising reiterating, by the data processing module (144-4), the synchronization operation upon failure of a previous synchronization operation between the server (140) and the second database (150-2).

8. A system (100) for executing network tests in a communication network, the system comprising:
a receiving module (144-1) configured to receive, from a first user device (110), an input for initiating the one or more network tests;
an execution module (144-2) configured to:
initiate, based on the input received from the first user device (110), the one or more network tests using a plurality of recipes stored in a first database (150-1), wherein each recipe of the plurality of recipes includes a plurality of test scripts; and
execute, on one or more second user devices (170), a set of recipes from the plurality of recipes in a predefined sequence;
a service management module (144-3) configured to:
generate test result files based on the execution of the set of recipes; and
insert the test result files into a message queue (142-1);
a data processing module (144-4) configured to process test results of the inserted test result files based on a test type of the one or more network tests; and
a storage module (144-5) configured to store the processed test results in a second database (150-2) based on the test type.

9. The system (100) as claimed in claim 8, wherein for initiating the one or more network tests, the execution module (144-2) is configured to schedule the one or more recipes for execution on the one or more second user devices (170) in the predefined sequence.

10. The system (100) as claimed in claim 8, wherein each recipe is configurable in terms of at least one of a duration, a count, and an interval between the one or more network tests.

11. The system (100) as claimed in claim 8, wherein the plurality of test scripts is created, and configured on the first user device (110) and assigned for execution on the one or more second user devices (170) on a work order basis.

12. The system (100) as claimed in claim 8, wherein the plurality of test scripts includes scripts for performing at least one of an upload speed test, a download speed test, a web performance test, and a video streaming test.

13. The system (100) as claimed in claim 8, wherein the data processing module (144-4) is configured to transmit the test result files inserted in the message queue (142-1) to the second database (150-2) upon a successful synchronization operation between a server (140) and the second database (150-2), and wherein the second database (150-2) corresponds to a distributed repository for storing the processed test results files.

14. The system (100) as claimed in claim 8, wherein the data processing module (144-4) is configured to reiterate the synchronization operation upon failure of a previous synchronization operation between the server (140) and the second database (150-2).

15. A User Equipment (UE), comprising:
one or more device processors (110-4) communicatively coupled to one or more server processors (144) and to a memory (110-3), wherein the memory (110-3) stores instructions which when executed by the one or more device processors (110-4) causes the UE to:
create one or more recipes of a plurality of recipes using a combination of a plurality of test scripts, and
transmit, to a server (140), an input for initiating one or more network tests using the plurality of recipes; and
assign a set of recipes from a plurality of recipes for execution on one or more user devices (170) in a predefined sequence, wherein the one or more server processors (144) are configured to perform one or more steps as claimed in claim 1.

Documents

Application Documents

# Name Date
1 202421024192-STATEMENT OF UNDERTAKING (FORM 3) [26-03-2024(online)].pdf 2024-03-26
2 202421024192-PROVISIONAL SPECIFICATION [26-03-2024(online)].pdf 2024-03-26
3 202421024192-POWER OF AUTHORITY [26-03-2024(online)].pdf 2024-03-26
4 202421024192-FORM 1 [26-03-2024(online)].pdf 2024-03-26
5 202421024192-DRAWINGS [26-03-2024(online)].pdf 2024-03-26
6 202421024192-DECLARATION OF INVENTORSHIP (FORM 5) [26-03-2024(online)].pdf 2024-03-26
7 202421024192-FORM-26 [17-04-2024(online)].pdf 2024-04-17
8 202421024192-Proof of Right [07-08-2024(online)].pdf 2024-08-07
9 202421024192-Request Letter-Correspondence [26-02-2025(online)].pdf 2025-02-26
10 202421024192-Power of Attorney [26-02-2025(online)].pdf 2025-02-26
11 202421024192-FORM 18 [26-02-2025(online)].pdf 2025-02-26
12 202421024192-Form 1 (Submitted on date of filing) [26-02-2025(online)].pdf 2025-02-26
13 202421024192-DRAWING [26-02-2025(online)].pdf 2025-02-26
14 202421024192-Covering Letter [26-02-2025(online)].pdf 2025-02-26
15 202421024192-CORRESPONDENCE-OTHERS [26-02-2025(online)].pdf 2025-02-26
16 202421024192-COMPLETE SPECIFICATION [26-02-2025(online)].pdf 2025-02-26
17 202421024192-ORIGINAL UR 6(1A) FORM 1-060325.pdf 2025-03-10
18 Abstract.jpg 2025-04-17