# Patent

## Title
Test sequences using universal testing system

## Abstract

A testing system that provides a separate set of virtualization container probes for each of at least a subset of devices that is under testing can perform Wifi Layer 2 and Wifi Layer 3 tests in a manner that minimizes or avoids wireless interference is disclosed.

## Background
CROSS REFERENCE TO RELATED APPLICATIONS
This application is related to U.S. patent application Ser. No. 14/866,720 entitled “Core Testing Machine,” filed Sep. 25, 2015, now U.S. Pat. No. 9,810,735, and to U.S. patent application Ser. No. 14/866,752 entitled “Universal Device Testing Interface,” filed Sep. 25, 2015 and published Mar. 30, 2017 as U.S. Patent Application Publication No. 2017/0093683, and to U.S. patent application Ser. No. 14/866,630 entitled “Universal Device Testing System,” filed Sep. 25, 2015 and published Mar. 30, 2017 as U.S. Patent Application Publication No. 2017/0093682, and to U.S. patent application Ser. No. 14/866,780 entitled “Set Top Boxes Under Test,” filed Sep. 25, 2015, now U.S. Pat. No. 9,491,454, and to U.S. patent application Ser. No. 14/948,143 entitled “Cable Modems/eMTAs Under Test,” filed Nov. 20, 2015 and published May 25, 2017 as U.S. Patent Application Publication No. 2017/0149635, and to U.S. patent application Ser. No. 14/929,180 entitled “Hardware Architecture for Universal Testing System: Cable Modem Test,” filed Oct. 30, 2015 and published May 4, 2017 as U.S. Patent Application Publication No. 2017/0126536, and to U.S. patent application Ser. No. 14/929,220 entitled “Hardware Architecture for Universal Testing System: Wireless Router Test,” filed Oct. 30, 2015 and published May 4, 2017 as U.S. Patent Application Publication No. 2017/0126537, and to U.S. patent application Ser. No. 14/948,925 entitled “Wireless Routers Under Test,” filed Nov. 23, 2015, now U.S. Pat. No. 9,838,295, each of which is hereby incorporated by reference in its entirety.
TECHNICAL FIELD
The present invention is directed to a system for testing devices.



BRIEF DESCRIPTION OF THE DRAWINGS
For a better understanding of the various embodiments of the invention, reference should be made to the description of embodiments below, in conjunction with the following drawings in which like reference numerals refer to corresponding parts throughout the figures.
FIG. 1 illustrates a high-level schematic of a test station for testing devices such as wireless devices, according to certain embodiments.
FIG. 2 illustrates requests for Wifi resource locks, according to certain embodiments.
FIG. 3 illustrates the response by the central resource control server to the requests from the slots in the test station, according to certain embodiments.
FIG. 4 illustrates the release of locks on frequency Channels for Wifi tests, according to certain embodiments.
FIG. 5 illustrates the granting of a lock on a frequency Channel to a given slot for performing a Wifi L3 test, according to certain embodiments.
FIG. 6 illustrates the release of a lock on a frequency Channel for a Wifi L3 test, according to certain embodiments.
FIG. 7 illustrates the requests from multiple slots for locks on frequency Channels in order to perform respective Wifi L3 tests, according to certain embodiments.
FIG. 8 illustrates that central resource control server will grant only one lock per frequency Channel for Wifi L3 tests, according to certain embodiments.
FIG. 9 illustrates the release of locks on a frequency Channels after completion of Wifi L3 tests, according to certain embodiments.
FIG. 10 illustrates the grant of a recently released lock on a frequency Channel to the next slot request in the queue, according to certain embodiments.



DETAILED DESCRIPTION
Methods, systems, user interfaces, and other aspects of the invention are described. Reference will be made to certain embodiments of the invention, examples of which are illustrated in the accompanying drawings. While the invention will be described in conjunction with the embodiments, it will be understood that it is not intended to limit the invention to these particular embodiments alone. On the contrary, the invention is intended to cover alternatives, modifications and equivalents that are within the spirit and scope of the invention. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.
Moreover, in the following description, numerous specific details are set forth to provide a thorough understanding of the present invention. However, it will be apparent to one of ordinary skill in the art that the invention may be practiced without these particular details. In other instances, methods, procedures, components, and networks that are well known to those of ordinary skill in the art are not described in detail to avoid obscuring aspects of the present invention.
According to certain embodiments, a central resource control server controls resources such as locks on Wifi resources (herein also referred to as “Wifi resource lock”). Non-limiting examples of Wifi resource locks include locks on resources for Wifi L2 (Layer 2) tests, Wifi L3 (Layer 3) tests and DOCSIS (Data Over Cable Service Interface Specification) tests. For example, a Wifi L2 resource lock involves a lock on resources for the Address Resolution Protocol (ARP) test. Another example of a Wifi L2 resource lock involves a lock on resources for a Wifi connecting card test. A non-limiting example of a Wifi L3 resource lock involves a lock on resources for a Wifi speed test. A non-limiting example of a DOCSIS resource lock involves a lock on resources for a DOCSIS speed test. Layer 2 and Layer 3 refer to the layers in the OSI model (Open System Interconnection model). Layer 2 is the data link layer of the OSI model. Layer 3 is the network layer of the OSI model.
According to certain embodiments, a testing system that provides a separate set of interfaces for each device (of a plurality of devices) that is under testing can perform Wifi L2 and Wifi L3 tests in a manner that minimizes or avoids wireless interference.
According to certain embodiments, the testing system minimizes or avoids wireless interference by controlling locks on Wifi frequency channels.
According to certain embodiments, the testing system comprises at least one test station. According to certain embodiments, each test station includes a plurality of physical slots for testing devices. As a non-limiting example, a subset of the plurality of physical slots is associated with a corresponding test server. As a non-limiting example, a test station may have four test servers, each of which is associated with a set of four physical slots of the plurality of physical slots. The embodiments are not restricted to four test servers and four physical slots per test server. The number of test servers and physical slots may vary from implementation to implementation. According to certain embodiments, each test server includes virtualization containers that act as probes for testing devices installed in the physical slots in the test station.
According to certain embodiments, the testing system includes a central resource control server running on at least one test control computer.
According to certain embodiments, each physical slot on the test station is assigned a specific frequency Channel on the Wifi frequency band. For the Wifi 2.4 GHz band, a given physical slot can be assigned any of the frequency Channels 1, 6, 11 (these channels are non-overlapping), according to certain embodiments. For the Wifi 5.0 GHz band, a given physical slot can be assigned any of the frequency Channels 36, 40, 44, 48, 149, 153, 157, 161, according to certain embodiments. Such resources (Wifi frequency Channels) are shared across the test servers and associated slots of the test station.
According to certain embodiments, each slot of the test station is assigned a frequency Channel in a manner to minimize wireless interference between the slots.
According to certain embodiments, only one Wifi L3 test can be performed per Channel in the test station.
According to certain embodiments, the central resource control server determines whether to grant Wifi resources to a given slot on a test station when the given slot requests a Wifi resource. As a non-limiting example, a given slot on the test station may request a lock on frequency Channel for performing a Wifi L2 test or for performing a Wifi L3 test.
According to certain embodiments, the central resource control server determines whether to grant locks (on a given Channel), release locks and block slots from running specific Wifi tests based on certain criteria.
The Wifi frequency band may vary from implementation to implementation.
For ease of explanation, FIG. 1 to FIG. 10 are described with reference to the Wifi 2.4 GHz band. The embodiments are not restricted to the Wifi 2.4 GHz band. Further, FIG. 1 to FIG. 10 are described using example test scenarios comprising sample requests from a sample subset of slots for Wifi resource locks. Such test scenarios are merely examples that help illustrate features of the embodiments. Such examples are to be regarded in an illustrative rather than a restrictive sense. Other examples may include different requests from a different sample subset of slots for Wifi resource locks.
FIG. 1 illustrates a high-level schematic of a test station for testing devices such as wireless devices, according to certain embodiments. FIG. 1 shows a test station 100. According to certain embodiments, test station 100 comprises a central resource control server 102 that runs on a test control computer 104. Test station 100 further comprises a plurality of test servers 106a, 106b, 106c, 106d. Test station 100 comprises a plurality of physical slots. According to certain embodiments, each test sever is associated with four physical slots but the embodiments are not restricted to four slots per test server. For example, test server 106a is associated with physical slots such as Slot 1 (108a), Slot 2 (108b), Slot 3 (108c), Slot 4 (108d). Test server 106b is associated with physical slots such as Slot 5 (110a), Slot 6 (110b), Slot 7 (110c), Slot 8 (110d). Test server 106c is associated with physical slots such as Slot 9 (112a), Slot 10 (112b), Slot 11 (112c), Slot 12 (112d). Test server 106d is associated with physical slots such as Slot 13 (113a), Slot 14 (113b), Slot 15 (113c), Slot 16 (113d). According to certain embodiments, central resource control server 102 controls Wifi resources such as Wifi L2 Channel 1 lock (114), Wifi L3 Channel 1 lock (116), Wifi L2 Channel 6 lock (118), and Wifi L3 Channel 6 lock (120),
According to certain embodiments, each physical slot is assigned a Channel. For example, Slot 1 (108a) is assigned Channel 1, Slot 2 (108b) is assigned Channel 6, Slot 3 (108c) is assigned Channel 1, Slot 4 (108d) is assigned Channel 6, Slot 5 (110a) is assigned Channel 6, Slot 6 (110b) is assigned Channel 1, Slot 7 (110c) is assigned Channel 11, Slot 8 (110d) is assigned Channel 6, Slot 9 (112a) is assigned Channel 1, Slot 10 (112b) is assigned Channel 11, Slot 11 (112c) is assigned Channel 1, Slot 12 (112d) is assigned Channel 6, Slot 13 (113a) is assigned Channel 11, Slot 14 (113b) is assigned Channel 6, Slot 15 (113c) is assigned Channel 1, Slot 16 (113d) is assigned Channel 6, according to certain embodiments.
When a given slot has a Wifi device installed in the given slot for testing, the given slot requests for a Wifi resource lock from central resource control server 102 in order to perform a relevant wireless test on the installed device. According to certain embodiments, central resource control server 102 grants Wifi resource locks in manner that minimizes interference between the various wireless tests that are running in the slots in test station 100.
FIG. 2 illustrates requests for Wifi resource locks, according to certain embodiments. Slot 1 (108a) requests (122) a lock on frequency Channel 1 in order to perform a Wifi L2 test on a device installed in Slot 1 for testing. Slot 2 (108b) requests (124) a lock on frequency Channel 6 in order to perform a Wifi L2 test on a device installed in Slot 2 for testing. Slot 3 (108c) requests (126) a lock on frequency Channel 1 in order to perform a Wifi L2 test on a device installed in Slot 3 for testing. Slot 4 (108d) requests (128) a lock on frequency Channel 6 in order to perform a Wifi L2 test on a device installed in Slot 4 for testing. Slot 5 (110a) requests (132) a lock on frequency Channel 6 in order to perform a Wifi L3 test on a device installed in Slot 5 for testing. Slot 6 (110b) requests (130) a lock on frequency Channel 1 in order to perform a Wifi L2 test on a device installed in Slot 6 for testing. The above requests from the slots for locks on frequency Channels are sent to central resource control server 102.
FIG. 3 illustrates the response by central resource control server 102 to the requests from the slots in the test station, according to certain embodiments. According to certain embodiments, central resource control server 102 grants all the requests for locks for a given frequency Channel with respect to Wifi L2 tests as long as there is no ongoing Wifi L3 test for the given frequency Channel, as illustrated by FIG. 3. FIG. 3 shows that Slot 1 (108a) is granted (122a) a lock (122aa) on frequency Channel 1 by central resource control server 102 in order to perform a Wifi L2 test on a device installed in Slot 1 for testing. Similarly, Slot 2 (108b) is granted (124a) a lock (124aa) on frequency Channel 6 in order to perform a Wifi L2 test on a device installed in Slot 2 for testing. Slot 3 (108c) is granted (126a) a lock (126aa) on frequency Channel 1 in order to perform a Wifi L2 test on a device installed in Slot 3 for testing. Slot 4 (108d) is granted (128a) a lock (128aa) on frequency Channel 6 in order to perform a Wifi L2 test on a device installed in Slot 4 for testing. Slot 6 (110b) is granted (130a) a lock (130aa) on frequency Channel 1 in order to perform a Wifi L2 test on a device installed in Slot 6 for testing.
However, Slot 5 (110a) is not granted (132a) a lock (blocked 132aa) on frequency Channel 6 in order to perform a Wifi L3 test on a device installed in Slot 5 for testing. Slot 5 (110a) is not granted (132a) a lock on frequency Channel 6 because a Wifi L3 test can only be run in a given Channel if there are no other tests running in the same Channel at a given time. In this example, Slot 5 (110a) cannot be granted (132a) a lock on frequency Channel 6 for a Wifi L3 test because Slot 2 (108b), and Slot 4 (108d) have already been granted locks on frequency Channel 6 for performing their respective Wifi L2 tests. Thus, Slot 5 (110a) needs to request a lock on frequency Channel 6 to perform a Wifi L3 test at a later time, according to certain embodiments. According to certain other embodiments, Slot 5 (110a) can keep its request for the lock pending in a request queue. Central resource control server 102 will grant locks based on the next request in the queue as long the lock grant does not cause more than one Wifi L3 test to be run per frequency Channel.
FIG. 4 illustrates the release of locks on frequency Channels for Wifi tests, according to certain embodiments. FIG. 4 shows that once a given slot completes its respective Wifi test, the given slot releases its lock on the frequency Channel that it was granted to perform the Wifi test or the given slot sends information to central resource control server 100 that the given lock can be released. FIG. 4 shows that Slot 1 (108a) releases (122b) its lock on frequency Channel 1 because it has completed (122bb) the Wifi L2 test on a device installed in Slot 1 for testing. Slot 2 (108b) releases (124b) its lock on frequency Channel 6 because it has completed (124bb) the Wifi L2 test on a device installed in Slot 2 for testing. Slot 3 (108c) releases (126b) its lock on frequency Channel 1 because it has completed (126bb) the Wifi L2 test on a device installed in Slot 3 for testing. Slot 4 (108d) releases (128b) its lock on frequency Channel 6 because it has completed (128bb) the Wifi L2 test on a device installed in Slot 4 for testing. Slot 6 (110b) releases (130b) its lock on frequency Channel 1 because it has completed (130bb) the Wifi L2 test on a device installed in Slot 6 for testing. Each of such slots sends information on test completion to central resource control server 102, according to certain embodiments.
The request from Slot 5 (110a) for a lock on frequency Channel 6 was previously blocked (132aa). However, Slot 5 (110a) can again request (132) for a lock on Channel 6 to perform a Wifi L3 test now that the other locks on Channel 6 are released, according to certain embodiments.
FIG. 5 illustrates the granting of a lock on a frequency Channel to a given slot for performing a Wifi L3 test, according to certain embodiments. FIG. 5 shows that central resource control server 102 grants (132b) the request from Slot 5 (110a) for a lock (132bb) on Channel 6 to perform a Wifi L3 test now that the other locks on Channel 6 are released, according to certain embodiments.
FIG. 6 illustrates the release of a lock on a frequency Channel for a Wifi L3 test, according to certain embodiments. FIG. 6 shows that once Slot 5 (110a) has successfully completed (132cc) its Wifi L3 test using its lock on frequency Channel 6, Slot 5 (110a) releases (132c) its lock on frequency Channel 6 and sends information on test completion to central resource control server 102. Now, central resource control server 102 is free to grant multiple locks on a given Channel for Wifi L2 tests or a single lock for a Wifi L3 test per channel (since Wifi L3 test must run alone per Channel) in response to requests for locks from slots on test station 100.
FIG. 7 illustrates the requests from multiple slots for locks on Channels in order to perform respective Wifi L3 tests, according to certain embodiments. FIG. 7 shows that after performing one or more Wifi L2 tests successfully (a slot may need to perform more than one Wifi L2 test, for example), a given slot can proceed to perform a Wifi L3 test, if desired.
In FIG. 7, Slot 1 (108a) requests (136) a lock on frequency Channel 1 in order to perform a Wifi L3 test on a device installed in Slot 1 for testing. Slot 2 (108b) requests (138) a lock on frequency Channel 6 in order to perform a Wifi L3 test on a device installed in Slot 2 for testing. Slot 3 (108c) requests (140) a lock on frequency Channel 1 in order to perform a Wifi L3 test on a device installed in Slot 3 for testing. Slot 4 (108d) requests (142) a lock on frequency Channel 6 in order to perform a Wifi L3 test on a device installed in Slot 4 for testing. Slot 6 (110b) requests (144) a lock on frequency Channel 1 in order to perform a Wifi L3 test on a device installed in Slot 6 for testing. The above requests from the slots for locks on frequency Channels are sent to central resource control server 102. According to certain embodiments, central resource control server 102 will grant only one lock per frequency Channel for Wifi L3 tests in order to ensure minimum wireless interference per frequency Channel when several Wifi tests are run at the same time using various frequency Channels, as described further herein with reference to FIG. 8.
FIG. 8 illustrates that the central resource control server will grant only one lock per frequency Channel for Wifi L3 tests, according to certain embodiments. FIG. 8 shows that central resource control server 102 grants (136a), to Slot 1 (108a), a lock (136aa) on frequency Channel 1 so that Slot 1 (108a) can perform a Wifi L3 test on a device installed in Slot 1 for testing. FIG. 8 also shows that central resource control server 102 grants (142a), to Slot 4 (108d), a lock (142aa) on frequency Channel 6 so that Slot 4 (108d) can perform a Wifi L3 test on a device installed in Slot 4 for testing. Since only one Wifi L3 test can be run per frequency Channel and central resource control server 102 has already granted one lock on Channel 1 and one lock on Channel 6 for Wifi L3 tests, central resource control server 102 rejects (138a, 140a, 144a) the respective requests of Slot 2 (108b), Slot 3 (108c) and Slot 6 (110b). Thus, such requested locks are blocked (138aa, 140aa, 144aa). According to certain embodiments, central resource control server 102 grants requests for locks on frequency Channels on a first-come-first-served basis. According to certain other embodiments, central resource control server 102 grants requests for locks on frequency Channels based on business rules. Since Slot 2 (108b), Slot 3 (108c) and Slot 6 (110b) were denied locks for their respective Wifi L3 tests, Slot 2 (108b), Slot 3 (108c) and Slot 6 (110b) need to request again for locks for their respective Wifi L3 tests from central resource control server 102 at a later time as described with reference to FIG. 9 herein.
FIG. 9 illustrates the release of locks on a frequency Channels after completion of Wifi L3 tests, according to certain embodiments. FIG. 9 shows that once Slot 1 (108a) has successfully completed (136bb) its Wifi L3 test using its lock on frequency Channel 1, Slot 1 (108a) releases (136b) its lock on frequency Channel 1 and sends information on test completion to central resource control server 102. Similarly, when Slot 4 (108c) has successfully completed (142bb) its Wifi L3 test using its lock on frequency Channel 6, Slot 4 (108d) releases (142b) its lock on frequency Channel 6 and sends information on test completion to central resource control server 102. Now, central resource control server 102 can grant locks on Channel 1 and Channel 6 respectively for Wifi L3 tests to slots that request such locks. Also, since no Wifi L3 tests are running, central resource control server 102 can grant multiple locks on the frequency Channels for Wifi L2 tests (if needed) in response to requests for locks from slots on test station 100. Since Slot 2 (108b), Slot 3 (108c) and Slot 6 (110b) were previously denied locks for their respective Wifi L3 tests, Slot 2 (108b), Slot 3 (108c) and Slot 6 (110b) can now request (138, 140, 144) for locks for their respective Wifi L3 tests from central resource control server 102, according to certain embodiments.
FIG. 10 illustrates the grant of a recently released lock on a frequency Channel to the next slot request in the queue, according to certain embodiments. Continuing with the above example of FIG. 8 and FIG. 9. As explained with reference to FIG. 8, when Slot 1 (108a) and Slot 4 (108d) release their respective locks on frequency Channel 1 and Channel 6 respectively, central resource control server 102 can grant L3 locks to the next request for an L3 lock per frequency Channel. As previously described with reference to FIG. 8, the requests for L3 locks from Slot 2 (108b), Slot 3 (108c) and Slot 6 (110b) were denied. Assume that the request for an L3 lock on Channel 1 from Slot 6 (110b) precedes the request for an L3 lock on Channel 1 from Slot 3 (108c). Thus, central resource control server 102 grants (144b) Slot 6 (110b) a lock (144bb) on Channel 1 for its Wifi L3 test while denying (140a) the request from Slot 3 (108c) for an L3 lock (blocked 140aa) on Channel 1. Further, central resource control server 102 grants (138b) to Slot 2 (110b) a lock (138bb) on Channel 6 for its Wifi L3 test since there is no other pending L3 lock or pending L2 lock on Channel 6, according to certain embodiments.
In the foregoing specification, embodiments of the invention have been described with reference to numerous specific details that may vary from implementation to implementation. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.

## Claims

1. A testing machine for testing a plurality of devices, the testing machine comprising:
a plurality of slots, wherein:
each slot of at least a subset of the plurality of slots is designed for installing a corresponding device of the plurality of devices to be tested;
each slot of the subset of the plurality of slots is assigned a respective wireless frequency channel for performing one or more wireless tests on each slot's corresponding installed device to be tested;

at least one central resource control server, wherein:
the at least one central resource control server controls locking of a plurality of wireless frequency channels;
a respective slot of the subset of the plurality of slots sends a request, to the at least one central resource control server, for a lock on the respective slot's assigned frequency channel when the respective slot needs to perform a wireless test on the respective slot's corresponding installed device to be tested;
the at least one central resource control server grants the request for the lock on the respective slot's assigned frequency channel based on a predetermined set of criteria.

2. The testing machine of claim 1, wherein the predetermined set of criteria comprises: granting a lock on a respective frequency channel for performing Layer 2 wireless tests only if all previously granted locks on the respective frequency channel for performing Layer 3 wireless tests are released.

3. The testing machine of claim 1, wherein the predetermined set of criteria comprises: granting a lock on a respective frequency channel for performing Layer 3 wireless tests only if all previously granted locks on the respective frequency channel for performing any wireless tests are released.

4. The testing machine of claim 1, wherein the predetermined set of criteria comprises: granting a lock on a respective frequency channel for performing wireless tests based on a first-come-first-served basis.

5. The testing machine of claim 1, wherein the predetermined set of criteria comprises: granting a lock on a respective frequency channel for performing wireless tests based on business rules.

6. The testing machine of claim 1, further comprises a test control computer that is associated with the at least one central resource control server.