System and method for performing a plurality of tests on a set top box (STB) device

The system automates network performance tests on STB devices to address inconsistent internet speeds and quality, enhancing user experience by scheduling and analyzing tests for improved network performance and video streaming quality.

WO2025196789A1PCT designated stage Publication Date: 2025-09-25JIO PLATFORMS LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/IN2025/050115
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-03-21
Filing Date
2025-01-30
Publication Date
2025-09-25

AI Technical Summary

Technical Problem

Users experience inconsistent network performance and slow internet speeds during peak hours due to increased internet usage and over-the-top (OTT) technology, leading to frustration and poor user experience.

Method used

A system and method for creating and managing work orders to perform speed and video tests on set-top box (STB) devices, using a user interface to schedule and automate tests without user intervention, and analyze results to determine network attributes such as bandwidth, latency, and content quality.

Benefits of technology

Enables continuous monitoring and evaluation of network performance, identifying issues, and improving user experience by providing real-time insights into network health and quality of video streaming.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IN2025050115_25092025_PF_FP_ABST
    Figure IN2025050115_25092025_PF_FP_ABST
Patent Text Reader

Abstract

The present disclosure discloses a method (400) for creating a work order and running a plurality of tests on a set top box (STB) device is described. The method (400) includes receiving (402) one or more requests for performing at least one test on the STB. The plurality of tests includes a video test, a speed test. A work order number is assigned to each received request to create a sequence of work orders based on a plurality of conditions. A work manager is scheduled to fetch the work order number. An execution command is generated to trigger the created work order based upon the fetched work order number. The test is performed on the device. A result of test is uploaded to the server to enable a user to check and analyze the result of test from any location.
Need to check novelty before this filing date? Find Prior Art

Description

SYSTEM AND METHOD FOR PERFORMING A PLURALITY OF TESTS ON A SET TOP BOX (STB) DEVICERESERVATION OF RIGHTS

[0001] A portion of the disclosure of this patent document contains material, which is subject to intellectual property rights such as, but are not limited to, copyright, design, trademark, Integrated Circuit (IC) layout design, and / or trade dress protection, belonging to Jio Platforms Limited (JPL) or its affiliates (herein after referred as owner). The owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all rights whatsoever. All rights to such intellectual property are fully reserved by the owner.TECHNICAL FIELD

[0002] The present disclosure relates generally to the field of communication systems. More particularly, the present disclosure relates to systems and methods for performing a plurality of tests on a set top box (STB) device.DEFINITIONS:

[0003] As used in the present disclosure, the following terms are generally intended to have the meaning as set forth below, except to the extent that the context in which they are used to indicate otherwise.

[0004] A term “Speed test” refers to a test used to measure the speed and performance of an internet connection. It assesses various aspects of the connection, such as download speed, upload speed, and latency.

[0005] A term “Video test” refers to a process of evaluating various aspects related to video content, performance, or delivery.

[0006] A term “User Interface” refers to a means by which a user interacts with a software application or hardware device.

[0007] A term “Work order” refers to a document or request used to initiate, manage, and track maintenance, repair, or service tasks.

[0008] A term “Set-top box (STB)” refers to a device that connects to a television and enables the reception, decoding, and display of digital television signals.

[0009] A term “Network Speed Assessment” refers to a process of measuring the performance of a network in terms of data transmission speed and reliability.

[0010] A term “Network bandwidth” refers to the maximum rate at which data can be transmitted over a network connection in a given amount of time, typically measured in bits per second (bps). It indicates the capacity of the network to handle data traffic.

[0011] A term “Network latency” refers to a time taken by a data packet to travel from a source to a destination across a network and back again. It is typically measured in milliseconds (ms).

[0012] A term “Packet loss” refers to the failure of data packets to reach their intended destination across a network.

[0013] A term “Video quality” refers to the overall visual and auditory experience of a video, which is determined by resolution, bitrate,

[0014] A term “Adaptive Bitrate Streaming (ABR) Testing” refers to the process of evaluating the performance, quality, and reliability of video streaming thatdynamically adjusts its bitrate based on the user's network conditions and device capabilities.

[0015] A “Video streaming services” refers to online platforms that allow users to watch video content in real-time over the internet without the need to download files. Users can access a wide variety of content, including movies, TV shows, documentaries, and live broadcasts, through various devices such as smartphones, tablets, smart TVs, and computers.

[0016] A “Error handling in video testing” refers to identifying, managing, and resolving issues that arise during video playback or streaming.

[0017] A “Work order recipe” refers to the process and materials needed to complete a specific task.

[0018] A “Iteration Count” refers to the number of times a specific process or operation is repeated.

[0019] A “Schedule Time” refers to a specific period allocated for completing a task, process, or activity.

[0020] A “Test Duration” refers to the total time allocated to conduct a specific test or series of tests.

[0021] A “serial number” refers to a unique identifier assigned to a device or an electronic equipment.

[0022] A “Work manager” refers to managing background tasks that require guaranteed execution.

[0023] An “Application Programming Interface (API)” enables different system and applications to communicate with each other regardless of their underlying technologies.BACKGROUND

[0024] The following description of related art is intended to provide background information pertaining to the field of the disclosure. This section may include certain aspects of the art that may be related to various features of the present disclosure. However, it should be appreciated that this section be used only to enhance the understanding of the reader with respect to the present disclosure, and not as admissions of prior art.

[0025] The rapid growth of digital connectivity has led to a substantial increase in internet user numbers, creating increased demand surge for bandwidthintensive applications. This surge is particularly specific during peak usage periods, resulting in significant variability in network performance. Users frequently encounter challenges such as reduced internet speeds, increased latency, and unstable connectivity, markedly impacting overall network usability.

[0026] Additionally, the widespread adoption of over-the-top (OTT) services introduces complexity to network management. These services often bypass traditional service providers and place additional strain on existing infrastructure, generating performance issues. Consequently, the network's capacity to maintain consistent service delivery faces substantial challenges, leading to user frustration and dissatisfaction.

[0027] Therefore, it is required to identify the root causes of network performance degradation. By a thorough analysis of network traffic patterns, user behavior, and service utilization, a service provider may uncover specific scenarios contributing to performance issues. This understanding is critical for developing targeted strategies to mitigate these performance issues effectively. Moreover, identifying peak usage periods and geographical areas under significant strain enables network operators (service providers) to make informed decisions regarding resource allocation and infrastructure investment.

[0028] There is a need for a system that performs various tests on various devices for real-time monitoring of the network so that it can implement measures to address current challenges and anticipate future demand fluctuations, ensuring a reliable and high-quality user experience.OBJECTS

[0029] Some of the objects of the present disclosure, which at least one embodiment herein satisfies, are as follows:

[0030] An object of the present disclosure is to provide a system and a method for providing a user interface (UI) for creating work orders for a plurality of set-top box (STB) devices and running a plurality of tests on the STB devices.

[0031] Another object of the present disclosure is to provide the UI to create, display, track, and manage STB work order’s schedule to run the speed test / video test.

[0032] Another object of the present disclosure is to continuously monitor and evaluate the speed and quality of video streaming and downloading in the background without user intervention.

[0033] Yet another object of the present disclosure is to assess the performance and reliability of video content delivery.

[0034] Other objects and advantages of the present disclosure will be more apparent from the following description, which is not intended to limit the scope of the present disclosure.SUMMARY

[0035] In an exemplary embodiment, a method for performing a plurality of tests on a plurality of devices in a network is described. The method includesreceiving one or more requests for performing at least one test on each device of the plurality of devices connected with the network via an interface. The method further includes assigning a work order number to each received request to create a sequence of work orders based on a plurality of conditions. The method includes scheduling a work manager to fetch the work order number and generating an execution command to trigger at least one created work order based upon the fetched work order number. On receiving the execution command, the method includes performing the at least one test on each device in the network.

[0036] In some embodiments, the method further includes storing a result corresponding to the at least one performed test received from each device in a database and uploading the result corresponding to at least one performed test to a server. The server is configured to analyze the uploaded result to determine a number of attributes associated with the network.

[0037] In some embodiments, the plurality of conditions includes a test type, a device type, a date, a scheduled time, a duration of the plurality of tests, a number of iterations, and a device identifier.

[0038] In some embodiments, the number of attributes includes a bandwidth, a network latency, a content quality, a bit rate, a network speed, and a type of error.

[0039] In some embodiments, the device identifier is a serial number corresponding to the device, wherein the work order number is assigned based on the device identifier.

[0040] In some embodiments, the plurality of tests includes a speed test and a video test.

[0041] In another exemplary embodiments, a system for performing a plurality of tests on a plurality of devices in a network is described. The system includes a server. The server includes a receiving unit configured to receive one ormore requests for performing at least one test on each device of the plurality of devices connected with the network via an interface. An assigning unit is configured to assign a work order number to each received request to create a sequence of work orders based on a plurality of conditions. A scheduling unit is configured to schedule a work manager to fetch the work order number. A processing unit is configured to generate an execution command to trigger at least one created work order based upon the fetched work order number. On receiving the execution command, the processing unit is configured to perform the at least one test on each device in the network.

[0042] In some embodiments, on performing the at least one test on the at least one device in the network, a result corresponding to the at least one performed test is stored in a database.

[0043] In some embodiments, the system is configured to upload the result corresponding to at least one performed test. The server is configured to analyze the received result to determine a number of attributes associated with the network.

[0044] In some embodiments, the plurality of conditions includes a test type, a device type, a date, a scheduled time, a duration of the plurality of tests, a number of iterations, and a device identifier.

[0045] In some embodiments, the number of attributes includes a bandwidth, a network latency, a content quality, a bit rate, a network speed, and a type of error.

[0046] In some embodiments, the device identifier is a serial number corresponding to the device. The work order number is assigned based on the device identifier.

[0047] In some embodiments, the plurality of tests includes a speed test and a video test.

[0048] In another exemplary embodiment, a server for performing a plurality of tests on a plurality of devices in a network is described. The server includes a receiving unit configured to receive one or more requests for performing at least one test on each device of the plurality of devices connected with the network via an interface. An assigning unit is configured to assign a work order number to each received request to create a sequence of work orders based on a plurality of conditions. A scheduling unit is configured to schedule a work manager to fetch the work order number. A processing unit is configured to generate an execution command to trigger at least one created work order based upon the fetched work order number. On receiving the execution command, the processing unit is configured to perform the at least one test on each device in the network.

[0049] In some embodiments, the plurality of conditions includes a test type, a device type, a date, a scheduled time, a duration of the plurality of tests, a number of iterations, and a device identifier.

[0050] In some embodiments, the number of attributes includes a bandwidth, a network latency, a content quality, a bit rate, a network speed, and a type of error.

[0051] In some embodiments, the device identifier is a serial number corresponding to the device. The work order number is assigned based on the device identifier.

[0052] In some embodiments, the plurality of tests includes a speed test and a video test.

[0053] In some embodiments, a user device communicatively coupled with a system is described. The coupling includes steps of receiving, by the system, a connection request and sending, by the system, an acknowledgment of the connection request to the user device. A plurality of signals is transmitted in response to theconnection request. The system is configured for performing a plurality of tests on a plurality of devices in a network.

[0054] In yet another exemplary embodiment, the present disclosure discloses a computer program product comprising a non-transitory computer-readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to perform a method for performing a plurality of tests on a plurality of devices in a network is described. The method includes receiving one or more requests for performing at least one test on each device of the plurality of devices connected with the network via an interface. The method further includes assigning a work order number to each received request to create a sequence of work orders based on a plurality of conditions. The method includes scheduling a work manager to fetch the work order number and generating an execution command to trigger at least one created work order based upon the fetched work order number. On receiving the execution command, the method includes performing the at least one test on each device in the network.BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWING

[0055] The accompanying drawings, which are incorporated herein, and constitute a part of this disclosure, illustrate exemplary embodiments of the disclosed methods and systems in which like reference numerals refer to the same parts throughout the different drawings. Components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Some drawings may indicate the components using block diagrams and may not represent the internal circuitry of each component. It will be appreciated by those skilled in the art that disclosure of such drawings includes disclosure of electrical components, electronic components or circuitry commonly used to implement such components.

[0056] FIG. 1A illustrates an exemplary network architecture for implementing a system for performing a plurality of tests, in accordance with embodiments of the present disclosure.

[0057] FIG. IB illustrates an exemplary architecture with a process for performing the speed test, in accordance with embodiments of the present disclosure.

[0058] FIG. 1C illustrates another exemplary architecture for performing the speed test, in accordance with embodiments of the present disclosure.

[0059] FIG. 2A illustrates an exemplary block diagram of the system for performing the speed test, in accordance with embodiments of the present disclosure

[0060] FIG. 2B illustrates an exemplary block diagram of a speed test server for performing the speed test, in accordance with embodiments of the present disclosure.

[0061] FIG. 2C illustrates an exemplary flow diagram of a method for creating a work order and running a plurality of tests on a set top box (STB) device in accordance with an embodiment of the present disclosure.

[0062] FIGs. 3A-3E illustrate exemplary representations of a user interface of a speed testing application, in accordance with an embodiment of the present disclosure.

[0063] FIG. 4 illustrates an exemplary flow diagram of a method for performing the plurality of tests on a device, in accordance with an embodiment of the present disclosure.

[0064] FIG. 5 illustrates an exemplary computer system in which or with which embodiments of the present disclosure may be implemented.

[0065] The foregoing shall be more apparent from the following more detailed description of the disclosure.LIST OF REFERENCE NUMERALS100A Network Architecture102 User104 User Device106 Network108 System100B System Architecture112 Servers114 Speed Test Server116 Speed Testing App118 File120 Server for DMZ Zone120-1 Distributed Event Streaming Platform Producer for Server 1120-4 Distributed Event Streaming Platform Producer for Server 4122 Distributed Event Streaming Platform Cluster122-1 Topic122-2 Distributed Event Streaming Platform Connect124 Tool126 Distributed File System128 Shared Load Balancer100C System Architecture132 User134 Load Balancer136 Web Servers138 Application Server140 Database200A Block Diagram of System202 Processor204 Memory206 Interface(s)208 Processing Engine200B Block Diagram of Speed Test server212 Receiving Unit214 Assigning Unit216 Scheduling Unit218 Processing Unit220 Database200C Method300(l)-300(5) User Interface400 Method500 Computer System510 External Storage Device520 Bus530 Main Memory540 Read-Only Memory550 Mass Storage Device560 Communication Ports570 ProcessorDETAILED DESCRIPTION

[0066] 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 oneanother or with any combination of other features. An individual feature may not address any of the problems discussed above or might address only some of the problems discussed above. Some of the problems discussed above might not be fully addressed by any of the features described herein. Example embodiments of the present disclosure are described below, as illustrated in various drawings in which like reference numerals refer to the same parts throughout the different drawings.

[0067] The ensuing description provides exemplary embodiments only, and is not intended to limit the scope, applicability, or configuration of the disclosure. Rather, the ensuing description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing an exemplary embodiment. It should be understood that various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the disclosure as set forth.

[0068] Specific details are given in the following description to provide a thorough understanding of the embodiments. However, it will be understood by one of ordinary skill in the art that the embodiments may be practiced without these specific details. For example, circuits, systems, networks, processes, and other components may be shown as components in block diagram form in order not to obscure the embodiments in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments.

[0069] Also, it is noted that individual embodiments may be described as a process that is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process is terminated when its operations are completed but could have additionalsteps not included in a figure. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination can correspond to a return of the function to the calling function or the main function.

[0070] The word “exemplary” and / or “demonstrative” is used herein to mean serving as an example, instance, or illustration. For the avoidance of doubt, the subject matter disclosed herein is not limited by such examples. In addition, any aspect or design described herein as “exemplary” and / or “demonstrative” is not necessarily to be construed as preferred or advantageous over other aspects or designs, nor is it meant to preclude equivalent exemplary structures and techniques known to those of ordinary skill in the art. Furthermore, to the extent that the terms “includes,” “has,” “contains,” and other similar words are used in either the detailed description or the claims, such terms are intended to be inclusive like the term “comprising” as an open transition word without precluding any additional or other elements.

[0071] Reference throughout this specification to “one embodiment” or “an embodiment” or “an instance” or “one instance” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present disclosure. Thus, the appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.

[0072] The terminology used herein is to describe particular embodiments only and is not intended to be limiting the disclosure. As used herein, the singular forms “a”, “an”, and “the” are intended to include the plural forms as well, unless the context indicates otherwise. It will be further understood that the terms “comprises”and / or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. As used herein, the term “and / or” includes any combinations of one or more of the associated listed items. It should be noted that the terms “mobile device”, “user equipment”, “user device”, “communication device”, “device” and similar terms are used interchangeably for the purpose of describing the invention. These terms are not intended to limit the scope of the invention or imply any specific functionality or limitations on the described embodiments. The use of these terms is solely for convenience and clarity of description. The invention is not limited to any particular type of device or equipment, and it should be understood that other equivalent terms or variations thereof may be used interchangeably without departing from the scope of the invention as defined herein.

[0073] While considerable emphasis has been placed herein on the components and component parts of the preferred embodiments, it will be appreciated that many embodiments can be made and that many changes can be made in the preferred embodiments without departing from the principles of the disclosure. These and other changes in the preferred embodiment as well as other embodiments of the disclosure will be apparent to those skilled in the art from the disclosure herein, whereby it is to be distinctly understood that the foregoing descriptive matter is to be interpreted merely as illustrative of the disclosure and not as a limitation.

[0074] Currently, many users have been experiencing inconsistent network performance and slow internet speeds during their peak hours. Due to increased usage of the internet and over the top (OTT) technology, poor quality of the network affects user experience and leads to frustration and disappointment towards the service being provided. So, there is a need to identify the root causes of these network performanceissues to find when and where they occur, and find solutions to improve the overall network experience for the users.

[0075] Accordingly, there is a need for systems and methods to schedule speed tests / video tests for monitoring the performance of the network. The present disclosure aims to overcome the above-mentioned and other problems in this field of technology by providing a system and a method for creating a work order and running a plurality of tests on a set-top box (STB) device. With the help of a user interface (UI), the system is able to create, display, track, and manage a plurality of work orders for the STB with details (for example, what time and duration for the work order needs to be scheduled to run speed test / video test).

[0076] Hereinafter, exemplary embodiments of the present disclosure will be described with reference to the accompanying drawings.

[0077] FIG. 1A illustrates an exemplary network architecture (100A) for implementing a system (108) for performing a plurality of tests, in accordance with embodiments of the present disclosure.

[0078] Referring to FIG. 1A, the network architecture (100 A) may include one or more computing devices or user devices (104-1, 104-2... 104-N) associated with one or more users (102-1, 102-2... 102-N) in an environment. A person of ordinary skill in the art will understand that one or more users (102-1, 102-2... 102-N) may be individually referred to as the user (102) and collectively referred to as the users (102). Similarly, a person of ordinary skill in the art will understand that one or more user devices (104-1, 104-2... 104-N) may be individually referred to as the user device (104) and collectively referred to as the user device (104). A person of ordinary skill in the art will appreciate that the terms “computing device(s)” and “user device” may be used interchangeably throughout the disclosure. Although three user devices (104) are depicted in FIG. 1A, however, any number of the user devices (104) may be included without departing from the scope of the ongoing description.In an embodiment, the user device (104) may include smart devices operating in a smart environment, for example, an Internet of Things (loT) system. In such an embodiment, the user device (104) may include, but is not limited to, smart phones, smart watches, smart sensors (e.g., mechanical, thermal, electrical, magnetic, etc.), networked appliances, networked peripheral devices, networked lighting system, communication devices, networked vehicle accessories, networked vehicular devices, smart accessories, tablets, smart television (TV), computers, smart security system, smart home system, other devices for monitoring or interacting with or for the users (102) and / or entities, or any combination thereof. A person of ordinary skill in the art will appreciate that the user device (104) may include, but is not limited to, intelligent, multi-sensing, network-connected devices, that can integrate seamlessly with each other and / or with a central server or a cloud-computing system or any other device that is network-connected.

[0079] In an embodiment, the user device (104) may include, but is not limited to, a handheld wireless communication device (e.g., a mobile phone, a smart phone, a phablet device, and so on), a wearable computer device(e.g., a headmounted display computer device, a head-mounted camera device, a wristwatch computer device, and so on), a Global Positioning System (GPS) device, a laptop computer, a tablet computer, or another type of portable computer, a media playing device, a portable gaming system, and / or any other type of computer device with wireless communication capabilities, and the like. In an embodiment, the user device (104) may include, but is not limited to, a television, streaming media players, gaming console, set-top boxes, Chromecast devices, media center PCs, or any other device. In an embodiment, the user device (104) may include, but is not limited to, any electrical, electronic, electro-mechanical, or an equipment, or a combination of one or more of the above devices such as virtual reality (VR) devices, augmented reality (AR) devices, laptop, a general-purpose computer, desktop, personal digital assistant, tablet computer, mainframe computer, or any other computing device,wherein the user device (104) may include one or more in-built or externally coupled accessories including, but not limited to, a visual aid device such as a camera, an audio aid, a microphone, a keyboard, and input devices for receiving input from the user (102) or the entity such as touch pad, touch enabled screen, electronic pen, and the like. A person of ordinary skill in the art will appreciate that the user device (104) may not be restricted to the mentioned devices and various other devices may be used.

[0080] In an embodiment, the network (106) may include at least one of a Fourth Generation (4G) network, Fifth Generation (5G) network, Sixth Generation (6G) network, or the like. The network (106) may enable the user device (104) to communicate with other devices in the network architecture (100 A) and / or with the system (108). The network (106) may include a wireless card or some other transceiver connection to facilitate this communication. In another embodiment, the network (106) may be implemented as, or include any of a variety of different communication technologies such as a wide area network (WAN), a local area network (LAN), a wireless network, a mobile network, a Virtual Private Network (VPN), the Internet, the Public Switched Telephone Network (PSTN), or the like.

[0081] In an embodiment, the user device (104) is communicatively coupled with the system (108). The system (108) may receive a connection request from the user device (104). The system (108) may send an acknowledgment of the connection request to the user device (104). The user device (104) may transmit a plurality of signals in response to the connection request. The system (108) may be configured to perform a plurality of tests on a plurality of devices in the network (106).

[0082] Although FIG. 1A shows exemplary components of the network architecture (100A), in other embodiments, the network architecture (100 A) may include fewer components, different components, differently arranged components, or additional functional components than depicted in FIG. 1A. Additionally, oralternatively, one or more components of the network architecture (100 A) may perform functions described as being performed by one or more other components of the network architecture (100 A).

[0083] FIG. IB illustrates an exemplary system architecture (100B) for performing a speed test, in accordance with embodiments of the present disclosure.

[0084] The system architecture (100B) includes a plurality of servers (112), a speed testing app (116), a tool (124), a load balancer (128), a cluster (122), a plurality of speed test servers (114), a demilitarized (DMZ) zone, and a non-DMZ zone. In an aspect, the DMZ zone is a physical or logical subnetwork that separates an internal local area network (LAN) from untrusted external networks, typically the internet. The DMZ zone is a perimeter network that protects and adds an extra layer of security to the internal local-area network from untrusted traffic. In an aspect, the non-DMZ zone is an internal part of the network that is not exposed to the internet and is typically considered more secure than the DMZ.

[0085] The plurality of servers (112) includes server 1 (112-1), server 2 (112- 2), server 3 (112-3) and server 4 (112-4). Each of the plurality of servers may comprise rest microservice, active cell-ID. In-memory clusters may comprise active cell-IDs of the servers. The DMZ zone includes a plurality of servers (120-1, 120-2, 120-3, 120-4... ) including of rest microservice and distributed event streaming platform producers. The non-DMZ zone includes a distributed file system (DFS) (126).

[0086] The plurality of servers (112) communicates with the speed test servers (114) via a Port 8080. In an aspect, the speed test server (114) is a server specifically designed to measure the speed and performance of internet connections. It facilitates the assessment of various parameters, including download and upload speeds, latency, and jitter. In an aspect, the port 8080 is a network port commonly used for web traffic and services. It is often employed as an alternative to the standardHTTP port (80). The port 8080 is used for testing applications. The servers (120) in the DMZ zone communicate with the servers (112) via port 8081 / 8082. In an aspect, port 8081 / 8082 is a network port used to run multiple services.

[0087] In an aspect, the microservice is an architectural pattern that arranges an application as a collection of loosely coupled, fine-grained services, communicating through lightweight protocols.

[0088] In an aspect, the load balancer (128) is a network device or software application that distributes incoming network traffic across multiple servers to ensure no single server becomes overwhelmed. The load balancer (128) may be used for load balancing. The load balancing refers to efficiently distributing incoming network traffic across a group of backend servers.

[0089] In an aspect, the cluster (122) is a group of interconnected devices or servers that work together as a single system to provide high availability, scalability, and redundancy.

[0090] In an aspect, the distributed event streaming platform is used for high- throughput, fault-tolerant data processing. The distributed event streaming platform is widely used for building real-time data pipelines and streaming applications.

[0091] In an aspect, the REST microservice is a software service that follows the principles of Representational State Transfer (REST).

[0092] In an aspect, the distributed file system (DFS) is a file system that allows access to files from multiple hosts sharing the same network. It enables users and applications to store and retrieve files across a distributed network as if they were accessing a local file system

[0093] In an aspect, the speed testing app (116) may be used to provide functionality to end-user to conduct speed test, and measure and analyze the networkconditions. It runs a throughput test to measure upload / download speeds, latency, and jitter, providing an overall network health index.

[0094] The distributed file system (DFS) (126) is a file system that spans across multiple file servers or multiple locations, such as file servers that are situated in different physical places. Files are accessible as if the files were stored locally, from any device, and from anywhere on the network.

[0095] In an embodiment, the speed test includes the following steps:

[0096] Step 1 : for scheduling the speed test on a device, sending a request to a nearest speed test server via an interface (e.g., application programming interface (API)). The user provides details corresponding to the test (e.g., type of test, date, scheduled time, duration of test, etc.) via the interface. In an example, a work order is created based on the provided details corresponding to the test.

[0097] Step 2: On receiving the request, the speed test server fetches the created work order and generates an execution command. The test is performed on the device at the scheduled time.

[0098] Step 3 : After completion of the test, the result data is synchronized by data sync API to the servers. An open standard file format-based data structure is used for capturing the test results captured.

[0099] Step 4: The producer places the data into a distributed event streaming platform.

[0100] Step 5 : The distributed event streaming platform may connect to consume the data and directly store it in the DFS with date-wise partition.

[0101] Step 6: A directory structure table is created on the DFS partitioned data for further use cases and reporting.

[0102] FIG. 1C illustrates an exemplary system architecture (100C) for performing the speed test, in accordance with embodiments of the present disclosure.

[0103] The system architecture (100C) includes a user device (132), a load balancer (134), and a coverage platform (CP) setup. The CP setup includes a demilitarized zone (DMZ) zone and a non -demilitarized zone (non-DMZ) zone. The DMZ zone includes the user device (132) and a plurality of web servers (136-1, 136- 2, 136-3... ,136-N). The non-DMZ zone includes a plurality of application servers (138-1, 138-2, 138-3... 138-N) and a database (140). A person of ordinary skill in the art will understand that the web servers (136-1, 136-2, 136-3... 136-N) may be individually referred to as the web server (136) and collectively referred to as the web servers (136). A person of ordinary skill in the art will understand that the application servers (138-1, 138-2, 138-3... 138-N) may be individually referred to as the application server (138) and collectively referred to as the application servers (138).

[0104] The user device (132) may send a work order request to the load balancer (134). The load balancer (134) may send the work order request to one of the plurality of web servers (136). The web server (136) may send the received work order request to the application server (138). The application server (138) may fetch data corresponding to the work order. The fetched data corresponding to the work order is returned to the web server (136). The web server (136) sends the fetched data to the user device (132). The user device (132) displays the data corresponding to the work order.

[0105] FIG. 2A illustrates an exemplary block diagram (200A) of the system (108) for performing the speed test, in accordance with embodiments of the present disclosure.

[0106] Referring to FIG. 2A, in an embodiment, the system (108) may include one or more processor(s) (202). The one or more processor(s) (202) may be implemented as one or more microprocessors, microcomputers, microcontrollers,digital signal processors, central processing units, logic circuitries, and / or any devices that process data based on operational instructions. Among other capabilities, the one or more processor(s) (202) may be configured to fetch and execute computer- readable instructions stored in a memory (204) of the system (108). The memory (204) may be configured to store one or more computer-readable instructions or routines in a non-transitory computer readable storage medium, which may be fetched and executed to create or share data packets over a network service. The memory (204) may comprise any non-transitory storage device including, for example, volatile memory such as random-access memory (RAM), or non-volatile memory such as erasable programmable read only memory (EPROM), flash memory, and the like.

[0107] In an embodiment, the system (108) may include an interface(s) (206). The interface(s) (206) may comprise a variety of interfaces, for example, interfaces for data input and output devices (I / O), storage devices, and the like. The interface(s) (206) may facilitate communication through the system (108). The interface(s) (206) may also provide a communication pathway for one or more components of the system (108). Examples of such components include, but are not limited to, processing engine(s) (208) and the database (140). Further, the processing engine(s) (208) may include one or more engine(s) such as, but not limited to, an input / output engine, an identification engine and an optimization engine.

[0108] In an embodiment, the processing engine(s) (208) may be implemented as a combination of hardware and programming (for example, programmable instructions) to implement one or more functionalities of the processing engine(s) (208). In the examples described herein, such combinations of hardware and programming may be implemented in several different ways. For example, the programming for the processing engine(s) (208) may be processorexecutable instructions stored on a non-transitory machine -readable storage medium and the hardware for the processing engine(s) (208) may comprise a processingresource (for example, one or more processors), to execute such instructions. In the present examples, the machine-readable storage medium may store instructions that, when executed by the processing resource, implement the processing engine(s) (208). In such examples, the system may comprise the machine-readable storage medium storing the instructions and the processing resource to execute the instructions, or the machine-readable storage medium may be separate but accessible to the system and the processing resource. In other examples, the processing engine(s) (208) may be implemented by electronic circuitry.

[0109] In an embodiment, the database (140) includes data that may be either stored or generated as a result of functionalities implemented by any of the components of the processor (202) or the processing engines (208). In an embodiment, the database (140) may be separate from the system (108). In an embodiment, the database (140) may be indicative of including, but not limited to, a relational database, a distributed database, a cloud-based database, or the like.

[0110] The system (108) receives one or more requests for performing at least one test on each device of the plurality of devices connected with the network via an interface. The plurality of tests includes a speed test and a video test. The plurality of devices includes, but is not limited to, a set top box (STB), a streaming device, a user device, a smart phone, a computer, and a smart home device. The system (108) assigns a work order number to each received request to create a sequence of work orders based on a plurality of conditions. The plurality of conditions includes a test type, a device type, a date, a scheduled time, a duration of the plurality of tests, a number of iterations, and a device identifier. The device identifier is a serial number corresponding to the device. The system (108) schedules a work manager to fetch the work order number from the created sequence of work orders. In an aspect, the work order number is assigned based on the device identifier. The processing engine (208) generates an execution command to trigger at least one created work order based upon the fetched work order number. On receiving the execution command, theprocessing engine (208) is configured to perform the at least one test on each device in the network (106). On performing the at least one test on the at least one device in the network, the system (108) receives a result corresponding to at least one performed test from each device. The result corresponding to the at least one performed test is stored in the database (140).

[0111] In an aspect, the received result is analyzed to determine a number of attributes associated with the network (106). The number of attributes includes a bandwidth, a network latency, a channel quality, a bit rate, a network speed, throughput, and a type of errors. The type of errors, but is not limited to, call drops, network failure, timeout, insufficient bandwidth, high latency, server error, packet loss, etc.

[0112] FIG. 2B illustrates an exemplary block diagram (200B) of the speed test server (114) for performing the speed test, in accordance with embodiments of the present disclosure.

[0113] The speed test server (114) includes a receiving unit (212), an assigning unit (214), a scheduling unit (216), a processing unit (218) and a database (220).

[0114] The receiving unit (212) is configured to receive one or more requests for performing at least one test on each device of the plurality of devices connected with the network via an interface. The test includes a speed test or a video test. The plurality of devices includes, but is not limited to, a set top box, a streaming device, a user device, a smart phone, a computer, and a smart home device.

[0115] The assigning unit (214) is configured to assign a work order number to each received request to create a sequence of work orders based on a plurality of conditions. The plurality of conditions includes a test type, a device type, a date, a scheduled time, a duration of the plurality of tests, a number of iterations, and adevice identifier. The device identifier is serial number corresponding to the device. The work order number is assigned based on the device identifier. The number of iterations is used to run multiple tests.

[0116] The scheduling unit (216) is configured to schedule a work manager to fetch the work order number. In an aspect, the work manager is responsible for initiating the retrieval of the work order number from the sequence of the work orders. The scheduling process involves assigning the appropriate resources and time slots to ensure timely execution of the task, optimizing operational efficiency within the system.

[0117] The processing unit (218) is configured to generate an execution command to trigger at least one created work order based upon the fetched work order number. On receiving the execution command, the processing unit (218) is configured to perform the at least one test on each device in the network. On performing the at least one test on the at least one device in the network, the receiving unit (212) is configured to receive a result corresponding to at least one performed test. The received result corresponding to at least one performed test is stored in the database (220) of the speed test server (114).

[0118] The speed test server (114) is configured to analyze the received result to determine a number of attributes associated with the network (106). The number of attributes includes a bandwidth, a network latency, a content quality, a bit rate, a network speed, and a type of errors.

[0119] FIG. 2C illustrates an exemplary flow diagram for a method (200C) creating the work order and running the plurality of tests on the set-top box (STB) device, in accordance with an embodiment of the present disclosure.

[0120] At step 222, navigate to an STB work order window on a server (speed test server) to assign a work order. For work order creation, select a test to beexecuted from the plurality of tests. Schedule a date and Iteration count number to run the plurality of tests. The iteration count number is used to run multiple tests. Select a scheduled time of a work order recipe and a duration of the test. Add the STB's serial number. For example, for work order 1, test = video test, date = 20th July, scheduled time = 3.00 PM, Duration = 30 Sec, and the STB serial number = STB00123.

[0121] At step 224, open a speed-testing STB application.

[0122] At step 226, schedule a work manager to fetch a work order recipe (work order number) based on the STB serial number (device identifier). The work order recipe includes a test script, a test instruction, and a test program. For example, fetching work order recipe for work order 1 based on STB serial number = STB00123.

[0123] At step 228, set up an alarm receiver to invoke the work order recipe at a scheduled time. For example, the alarm receiver is set up at 3.00 PM to trigger the fetched work order recipe.

[0124] At step 230, perform the test without human intervention. The test may be a speed test or a video test. The test automatically starts at 3.00 PM on 20th July. In this way, the test run is automated and does not require user interaction. The software or scripts can run these tests, simulating real-world user scenarios.

[0125] At step 232, after performing the test, saving a result. The result is also uploaded to the server. The result of the test includes plurality of metrices corresponding to the video test (e.g., video quality, bitrate, frame rate, latency, etc.).

[0126] In an aspect, data from the test result is collected and analyzed. The metrics related to the network (e.g., network speed, video quality, and any performance issues) are logged and reported. This information helps in identifying and addressing problems in the network.

[0127] At step 234, checking and analyzing data of any location by a user (e.g., administrator). The results of the speed test are analyzed to evaluate the network's performance in terms of bandwidth, latency, and packet loss. The user can compare the metrics from the result with predefined thresholds for each metric. For example, threshold for the bitrate > 3000 kbps, threshold for frame rate = 60 Fps, threshold for network latency < 100 milliseconds. The result from the test includes bit rate = 4000 kbps, frame rate = between 55 fps and 60 fps, and network latency = 120 milliseconds. After comparing the test results with the predefined thresholds, the metrics are within the acceptable limits. Therefore, no changes are needed for the device's network performance.

[0128] This helps ensure that video content can be delivered smoothly without buffering or interruptions. The video quality is analyzed to determine the clarity, resolution, and overall visual experience of streamed content. The evaluating factors further include pixelation, artifacts, and frame rate consistency. By continuously monitoring and optimizing video streaming, the service providers can deliver high- quality content that meets user expectations. In this way, the video / speed testing enhances the user experience.

[0129] Furthermore, the video streaming services use adaptive bitrate streaming, adjusting video quality based on the viewer's network conditions. Background tests ensure that this adaptive mechanism functions as intended. Background tests simulate realistic usage scenarios, such as multiple users streaming content simultaneously or variations in network conditions, to replicate the unpredictability of real-world situations.

[0130] In an aspect, the speed / video testing is used to assess the performance and reliability of video content delivery in various applications, websites, or services that depend on video streaming.

[0131] FIG. 3 A illustrates an exemplary user interface (300-1) of a speed testing application for navigating to a set top box (STB) work order window on a web portal in accordance with an embodiment of the present disclosure.

[0132] For navigating to the STB work order window on a web portal, the following steps are performed:• Selecting a recipe test to be executed from a recipe list.• Scheduling date and iteration count number to be added to run a plurality of tests.• Selecting a scheduled time for the recipe and duration of test time,• Adding an STB serial number either manually or using a bulk option for multiple STB serial numbers.

[0133] FIG. 3B illustrates an exemplary user interface (300-2) of the speed testing application for navigating to speed testing work order in accordance with an embodiment of the present disclosure. To navigate to the speed testing work order, click on a plurality of work order options on the user interface (300-2).

[0134] FIG. 3C illustrates an exemplary user interface (300-3) of the speed testing application for creating a work order (WO) for the STB, in accordance with an embodiment of the present disclosure. Clicking on the “Create WO” option on the user interface (300-3) enables the user to create WO.

[0135] FIG. 3D illustrates an exemplary user interface (300-4) of the speed testing application for the WO creation window on the CP, in accordance with an embodiment of the present disclosure. In order to run a scheduled test script at the client:• Fetching a test script from the serverChecking iteration and durationChecking which script to run.FULL TEST (Download, Upload, latency, jitter, packet loss)QUICK TEST (Download, Upload, latency)VIDEO TEST (Video Experience to user)• Running the test till the given duration• Capturing and storing a result.

[0136] FIG. 3E illustrates an exemplary user interface (300-5) of the speed testing application for downloading STB app data report (result), in accordance with an embodiment of the present disclosure. The user interface (300-5) includes a download option to download the STB data report on the CP. In an aspect, the user interface (UI) provides feasibility to create, display, track and manage work orders for STB with its details (e.g., date, scheduled time, duration of test, type of test).

[0137] FIG. 4 illustrates an exemplary flow diagram for a method (400) for performing the plurality of tests on the plurality of devices in the network (106), in accordance with an embodiment of the present disclosure.

[0138] At step 402, the method (400) includes receiving one or more requests for performing at least one test on each device of the plurality of devices connected with the network (106) via an interface. The plurality of tests includes a speed test and a video test. The plurality of devices includes, but is not limited to, a set top box, a streaming device, a user device, a smart phone, a computer, and a smart home device. In an aspect, the one or more requests for performing the test on each device are received from the user (e.g., network operator) via the interface of the server. In an aspect, the one or more requests are requests for creating workorders to performtests on each device. In an aspect, the interface is a user interface or application programming interface (API). In an aspect, the user interface (UI) is the point of interaction between the user and the device (e.g., computer system, application, or device). The UI encompasses elements that allow the user to interact with the system, through buttons, icons, menus, text fields, and graphical elements, as well as the layout and design that facilitates user navigation. In an aspect, the API is a set of rules, protocols, and tools that allow different software applications to communicate and interact with each other. The API acts as a bridge that allows one application to request data or functionality from another application.

[0139] At step 404, the method (400) includes assigning a work order number to each received request to create a sequence of work orders based on a plurality of conditions. In an aspect, upon receiving the request for performing the tests on each device, the work order number is assigned to each received request. The sequences of work orders are created based on the plurality of conditions. The plurality of conditions includes a test type, a device type, a date, a scheduled time, a duration of the plurality of tests, a number of iterations, and a device identifier. The device identifier is a serial number corresponding to the device. The number of iterations is used to run multiple tests. In an aspect, the work order number is a unique identifier assigned to the work order. The work order number is assigned based on the device identifier. In an aspect, the sequence of work orders is created by considering the conditions together, ensuring that the work orders are organized logically and efficiently based on the test type, the device type, the scheduled time, the duration of the plurality of tests, the number of iterations, and the device identifier. Considering the plurality of conditions ensures that the work orders are executed orderly, minimizing conflicts and ensuring optimal use of resources. For example, for the work request number = 2, the work order is created such as the test type = speed test, the device type = Set top Box (STB), the date = 30th September, the scheduled time = 10.20 PM, the duration for test = 30 Sec, the device identifier = STB- 1234567890.

[0140] At step 406, the method (400) includes scheduling a work manager to fetch the work request number. In an aspect, the work manager is responsible for the efficient management of the work orders from creation to closure. The work manager ensures that the work orders are completed within defined timeframes. In an aspect, a plurality of work requests for a plurality of scheduled times are assigned to the work manager. In an aspect, at a specific time, the work manager automatically retrieves the unique work request number associated with the work order. At the scheduled time, the work manager fetches the work request number. For example, the work manager fetches the work request number = 2 at the scheduled time = 10.20 PM.

[0141] At step 408, the method (400) includes generating an execution command to trigger at least one created work order based upon the fetched work request number. In an aspect, fetching a work order request number is the process of retrieving the unique identifier assigned to the work order. Based on the fetched work order request number, the execution command is generated to trigger the created work order corresponding to the work order request at the scheduled time. In an aspect, the execution command refers to an instruction to initiate a task or set of tasks (e.g., steps corresponding to the test) associated with the work order. The execution order represents actions to be taken to complete the work outlined in the work order. For example, for the work request number = 2, at 10.20 PM, the execution command is generated to trigger the created work order.

[0142] At step 410, the method (400) includes on receiving the execution command, performing the at least one test on each device in the network (106). In an aspect, the generated execution command is sent to a corresponding device on which the test will be performed. On receiving the execution command, the test is performed on each device at the scheduled time. For example, at 10.20 PM on 30th September, the speed test is performed for the STB-1234567890 for duration = 30 sec.

[0143] On performing the at least one test on the at least one device in the network (106), a result corresponding to the at least one performed test received from each device is stored in the database (140). In an aspect, the performed test is a video test. The video test is performed on the device (e.g., television) and measures parameters corresponding to the video test. The result corresponding to the video test comprises at least one or more parameters such as a resolution, a bit rate, a buffering time, a packet loss, a latency, a jitter, a frame rate, etc. In an example, the results of video test comprise the resolution = 1080p, Bitrate = 5 Mbps, Buffering Time = 3 seconds, Packet Loss = 0.1%, Latency = 45 ms, Jitter = 15 ms, Frame Rate = 30 fps.

[0144] The result corresponding to at least one performed test is uploaded to the speed test server (114). In an aspect, uploading the results corresponding to the performed test (e.g., video test) comprises steps such as preparing a result file to be uploaded by choosing the file from a folder. A connection is established with the speed test server using a corresponding protocol (e.g., File Transfer Protocol (FTP)). Uploading of the chosen file is initiated by clicking an upload button or using an upload command.

[0145] The speed test server (114) is configured to analyze the uploaded result to determine a number of attributes associated with the network. In one aspect, determining the number of attributes is comprised of extracting the attributes from the uploaded results. The number of attributes includes a bandwidth, a network latency, a channel quality indicator (CQI), a bit rate, a network speed, and a type of error. The type of errors, includes, but is not limited to, call drops, network failure, timeout, insufficient bandwidth, high latency, server error, packet loss, etc. In an example, the uploaded result comprises the resolution = 1080p, Bitrate = 5 Mbps, Buffering Time = 3 seconds, Packet Loss = 0.1%, Latency = 45 ms, Jitter = 15 ms, Frame Rate = 30 fps. Based on the uploaded result, the attributes are determined such as the network latency = 45 ms, error rate = 0.1% as packet loss = 0.1%, CQI = 10 based on packet loss = 0.1%, latency = 45 ms, jitter = 15ms.

[0146] FIG. 5 illustrates an exemplary computer system (500) in which or with which embodiments of the present disclosure may be implemented.

[0147] As shown in FIG. 5, the computer system (500) may include an external storage device (510), a bus (520), a main memory (530), a read-only memory (540), a mass storage device (550), communication port(s) (560), and a processor (570). A person skilled in the art will appreciate that the computer system may include more than one processor and communication ports. The processor (570) may include various modules associated with embodiments of the present disclosure. The communication port(s) (560) may be any of an RS-232 port for use with a modembased dialup connection, a 10 / 100 Ethernet port, a Gigabit or 10 Gigabit port using copper or fiber, a serial port, a parallel port, or other existing or future ports. The communication port(s) (560) may be chosen depending on a network, such a Local Area Network (LAN), Wide Area Network (WAN), or any network to which the computer system connects.

[0148] The main memory (530) may be random access memory (RAM), or any other dynamic storage device commonly known in the art. The read-only memory (540) may be any static storage device(s) e.g., but not limited to, a Programmable Read Only Memory (PROM) chips for storing static information e.g., start-up or Basic Input / Output System (BIOS) instructions for the processor (570). The mass storage device (550) may be any current or future mass storage solution, which can be used to store information and / or instructions. Exemplary mass storage device (550) includes, but is not limited to, Parallel Advanced Technology Attachment (PATA) or Serial Advanced Technology Attachment (SATA) hard disk drives or solid-state drives (internal or external, e.g., having Universal Serial Bus (USB) and / or Lirewire interfaces), one or more optical discs, Redundant Array of Independent Disks (RAID) storage, e.g., an array of disks.

[0149] The bus (520) communicatively couples the processor (570) with the other memory, storage, and communication blocks. The bus (520) may be, e.g., a Peripheral Component Interconnect (PCI) / PCI Extended (PCI-X) bus, Small Computer System Interface (SCSI), Universal Serial Bus (USB), or the like, for connecting expansion cards, drives, and other subsystems as well as other buses, such a front side bus (FSB), which connects the processor (570) to the computer system.

[0150] Optionally, operator and administrative interfaces, e.g., a display, keyboard, joystick, and a cursor control device, may also be coupled to the bus (520) to support direct operator interaction with the computer system. Other operator and administrative interfaces can be provided through network connections connected through the communication port(s) (560). Components described above are meant only to exemplify various possibilities. In no way should the aforementioned exemplary computer system limit the scope of the present disclosure.

[0151] The exemplary computer system (500) is configured to execute a computer program product comprising a non-transitory computer-readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to perform the method for performing a plurality of tests on a plurality of devices in a network is described. The method includes receiving one or more requests for performing at least one test on each device of the plurality of devices connected with the network via an interface. The method further includes assigning a work order number to each received request to create a sequence of work orders based on a plurality of conditions. The method includes scheduling a work manager to fetch the work order number and generating an execution command to trigger at least one created work order based upon the fetched work order number. On receiving the execution command, the method includes performing the at least one test on each device in the network.

[0152] While the foregoing describes various embodiments of the invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof. The scope of the invention is determined by the claims that follow. The invention is not limited to the described embodiments, versions or examples, which are included to enable a person having ordinary skill in the art to make and use the invention when combined with information and knowledge available to the person having ordinary skill in the art.

[0153] The present disclosure provides technical advancement related to speed testing. This advancement addresses the limitations of existing solutions by providing a user interface (UI) for work order creation to perform speed tests on plurality of devices (e.g., Set-top Box) and running the plurality of speed tests on the plurality of devices. The disclosure involves creating the work order based on plurality of conditions (e.g., scheduled time, date, duration, device type, test type, etc.). The test is automatically performed at the scheduled time on the devices, the results of tests are collected and sent back to the server for analysis, which offers significant improvements in the automation of speed testing on the devices and does not require user interaction. By implementing background testing, the disclosed system offers the adaptive mechanism functions. The test results are assessed to determine the metrics of the network, how the system handles errors (e.g., network interruptions or server failures) and measures the ability to recover and continue video playback without disruptions.TECHNICAL ADVANCEMENTS

[0154] As is evident from the above, the present disclosure provides a system and method for providing user interface (UI) for work order creation for a plurality of STB devices and running a plurality of tests on the STB devices. The system and method continuously conduct a scheduled speed and video tests for 24 / 7 to ensure that video streaming and downloading services perform reliably at all times. Thespeed and video tests are automated and do not require user interaction. Specialized software or scripts run the speed and video tests. Also, simulating real-world user scenarios. The system and method perform network speed assessment. With the help of network speed assessment, evaluate the network's performance (e.g., bandwidth, latency, and packet loss). This ensures that video content can be delivered smoothly without buffering or interruptions. The system and method assess video quality to determine clarity, resolution, and overall visual experience of streamed content. Factors such as pixelation, artifacts, and frame rate consistency are also evaluated. The method and system perform adaptive bitrate streaming testing. The video streaming services use adaptive bitrate streaming. The video quality is adjusted based on the viewer's network conditions. Background tests ensure that the adaptive mechanism functions as intended. The tests also assess how the system handles errors (e.g., network interruptions or server failures) and measures the ability to recover and continue video playback without disruptions. The background tests simulate realistic usage scenarios, such as multiple users streaming content simultaneously or variations in network conditions to mimic the unpredictability of real-world situations. The data from the tests is collected and analyzed. Metrics related to network speed, video quality, and any performance issues are logged and reported. These metrices are used in identifying and addressing network problems. By performing continuous monitoring, optimizing video streaming, and delivering high- quality content that meets user expectations, therefore enhancing user experience.

Claims

CLAIMS1. A method (400) for performing a plurality of tests on a plurality of devices in a network (106), the method (400) comprising: receiving (402) one or more requests for performing at least one test on each device of the plurality of devices connected with the network (106) via an interface; assigning (404) a work order number to each received request to create a sequence of work orders based on a plurality of conditions; scheduling (406) a work manager to fetch the work order number; generating (408) an execution command to trigger at least one created work order based upon the fetched work order number; and on receiving the execution command, performing (410) the at least one test on each device in the network (106).

2. The method (400) as claimed in claim 1, further comprising: storing a result corresponding to the at least one performed test received from each device in a database (140); and uploading the result corresponding to at least one performed test to a server (114), wherein the server (114) is configured to analyze the uploaded result to determine a number of attributes associated with the network (106).

3. The method (400) as claimed in claim 1, wherein the plurality of conditions includes a test type, a device type, a date, a scheduled time, a duration of the plurality of tests, a number of iterations, and a device identifier.

4. The method (400) as claimed in claim 3, wherein the device identifier is a serial number corresponding to the device, and wherein the work order number is assigned based on the device identifier.

5. A system (108) for performing a plurality of tests on a plurality of devices in a network (106), the system (108) comprising a speed test server (114), the speed test server (114) comprising: a receiving unit (212) configured to receive one or more requests for performing at least one test on each device of the plurality of devices connected with the network (106) via an interface; an assigning unit (214) configured to assign a work order number to each received request to create a sequence of work orders based on a plurality of conditions; a scheduling unit (216) configured to schedule a work manager to fetch the work order number; a processing unit (218) configured to generate an execution command to trigger at least one created work order based upon the fetched work order number; and on receiving the execution command, the processing unit (218) is configured to perform the at least one test on each device in the network (106).

6. The system (108) as claimed in claim 5, wherein on performing the at least one test on the at least one device in the network (106), a result corresponding to the at least one performed test is stored in a database (140).

7. The system (108) as claimed in claim 5, wherein the system (108) is configured to upload the result corresponding to at least one performed test,wherein the server (114) is configured to analyze the received result to determine a number of attributes associated with the network (106).

8. The system (108) as claimed in claim 5, wherein the plurality of conditions includes a test type, a device type, a date, a scheduled time, a duration of the plurality of tests, a number of iterations, and a device identifier.

9. The system (108) as claimed in claim 8, wherein the device identifier is a serial number corresponding to the device, wherein the work order number is assigned based on the device identifier.

10. A server (114) for performing a plurality of tests on a plurality of devices in a network (106), the server (114) comprising: a receiving unit (212) configured to receive one or more requests for performing at least one test on each device of the plurality of devices connected with the network (106) via an interface; an assigning unit (214) configured to assign a work order number to each received request to create a sequence of work orders based on a plurality of conditions; a scheduling unit (216) configured to schedule a work manager to fetch the work order number; a processing unit (218) configured to generate an execution command to trigger at least one created work order based upon the fetched work order number; and on receiving the execution command, the processing unit (218) is configured to perform the at least one test on each device in the network (106).

11. The server (114) as claimed in claim 10, wherein the plurality of conditions includes a test type, a device type, a date, a scheduled time, a duration of the plurality of tests, a number of iterations, and a device identifier.

12. The server (114) as claimed in claim 10, wherein the number of attributes includes a bandwidth, a network latency, a content quality, a bit rate, a network speed, and a type of error.

13. The server (114) as claimed in claim 11, wherein the device identifier is a serial number corresponding to the device, wherein the work order number is assigned based on the device identifier.

14. A user device (104) communicatively coupled with a system (108), the coupling includes steps of: receiving, by the system (108), a connection request; sending, by the system (108), an acknowledgment of the connection request to the user device (104); and transmitting a plurality of signals in response to the connection request, wherein the system (108) is configured for performing a plurality of tests on a plurality of devices in a network (106) as claimed in claim 5.

15. A computer program product comprising a non -transitory computer-readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to perform method (400) for performing a plurality of tests on a plurality of devices in a network (106), the method (400) comprising: receiving (402) one or more requests for performing at least one test on each device of the plurality of devices connected with the network (106) via an interface;assigning (404) a work order number to each received request to create a sequence of work orders based on a plurality of conditions; scheduling (406) a work manager to fetch the work order number; generating (408) an execution command to trigger at least one created work order based upon the fetched work order number; and on receiving the execution command, performing (410) the at least one test on each device in the network (106).

Citation Information

Patent Citations

  • Automatic testing method and apparatus, electronic device, and storage medium

    EP4080371A1

  • Automated Testing and Control of Networked Devices

    US20080120521A1

  • User control of automated test features with software application programming interface (API)

    US20180314613A1