IP Library Granted Patent US 12,372,576
Granted Patent B2
US 12,372,576 · App. 17/896,062 · Granted Jul 29, 2025

Methods, systems, and computer readable media for using a testbed transpiler

Inventor: Christian Paul Sommers (Bangor, CA)
Assignee: KEYSIGHT TECHNOLOGIES, INC.
G01R31/31908G01R31/318314G01R31/31905
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,372,576
App. No.
17/896,062
Granted
Jul 29, 2025
Kind
B2
Abstract

One example method occurs at a testbed transpiler of a network test system. The method comprises: receiving test configuration information associated with a test session for configuring a test infrastructure, wherein the test infrastructure includes a switching fabric emulator comprising at least one switching application-specific integrated circuit (ASIC) or programmable switching chip, wherein the test configuration information includes information for configuring the switching fabric emulator to emulate one or more emulated switches; generating, using input regarding an updated test infrastructure and the test configuration information, updated test configuration information for configuring the updated test infrastructure, wherein generating the updated test configuration information includes transpiling or translating a portion of the test configuration information to generate configuration instructions for configuring a physical or non-emulated testbed element; and providing the updated test configuration information to the updated test infrastructure or a related test configuration manager.

Claims (40)

1. A method for using a testbed transpiler, the method comprising:

at the testbed transpiler of a network test system implemented using at least one processor:

receiving test configuration information associated with a test session for configuring a test infrastructure connecting at least one test application and a system under test (SUT), wherein the test infrastructure includes a switching fabric emulator comprising at least one switching application-specific integrated circuit (ASIC) or programmable switching chip, wherein the test configuration information includes information for configuring the switching fabric emulator to emulate one or more emulated switches by allocating resources of the at least one switching ASIC or programmable switching chip to the one or more emulated switches;

generating, using input regarding an updated test infrastructure and the test configuration information, updated test configuration information for configuring the updated test infrastructure, wherein the updated test infrastructure includes a physical or non-emulated testbed element, wherein generating the updated test configuration information includes transpiling or translating a portion of the test configuration information to generate configuration instructions for configuring the physical or non-emulated testbed element; and

providing the updated test configuration information to the updated test infrastructure or a related test configuration manager.

2. The method of claim 1 comprising:

at a test controller of the network test system:

initiating the test session, wherein the test session involves using the updated test infrastructure and the at least one test application to test the SUT; and

obtaining and reporting test results associated with the test session.

3. The method of claim 1 wherein the input includes feedback information from one or more test system elements and/or declarative or intent-based user input associated with one or more predetermined device profiles associated with available physical or non-emulated testbed elements.

4. The method of claim 3 wherein at least one of the one or more predetermined device profiles indicates device attributes, device availability, device status, compatible configuration file formats, port information, locations of ports, device capabilities, device identifiers, vendor model, operating system or software information, or preconfigured or default settings.

5. The method of claim 3 wherein the declarative or intent-based user input includes a selection, by the user and via a user interface, of the physical or non-emulated testbed element to be added to the updated test infrastructure from among the one or more predetermined device profiles accessible by the network test system.

6. The method of claim 3 wherein the declarative or intent-based user input includes user preferences and indicates that the updated test infrastructure should be changed and the network test system or a related entity uses the declarative or intent-based user input to automatically select the physical or non-emulated testbed element to be added to the updated test infrastructure.

7. The method of claim 1 wherein the configuration instructions are based on configuration settings, capabilities, or metadata indicated by a device profile associated with the physical or non-emulated testbed element.

8. The method of claim 1 wherein the configuration instructions include testbed device bill of materials (BOM) information, topology information, device configuration parameter settings, guided setup instructions, orchestration commands, configuration commands, setup related multimedia, configuration source files, or inter-device cabling information.

9. The method of claim 1 wherein the physical or non-emulated testbed element includes a network node, a network switch, a network router, a whitebox switch, or a programmable switch.

10. A system for using a testbed transpiler, the system comprising:

at least one processor; and

a memory; and

the testbed transpiler of a network test system implemented using the at least one processor and the memory, the testbed transpiler configured for:

receiving test configuration information associated with a test session for configuring a test infrastructure connecting at least one test application and a system under test (SUT), wherein the test infrastructure includes a switching fabric emulator comprising at least one switching application-specific integrated circuit (ASIC) or programmable switching chip, wherein the test configuration information includes information for configuring the switching fabric emulator to emulate one or more emulated switches by allocating resources of the at least one switching ASIC or programmable switching chip to the one or more emulated switches;

generating, using input regarding an updated test infrastructure and the test configuration information, updated test configuration information for configuring the updated test infrastructure, wherein the updated test infrastructure includes a physical or non-emulated testbed element, wherein generating the updated test configuration information includes transpiling or translating a portion of the test configuration information to generate configuration instructions for configuring the physical or non-emulated testbed element; and

providing the updated test configuration information to the updated test infrastructure or a related test configuration manager.

11. The system of claim 10 comprising:

a test controller of the network test system configured for:

initiating the test session, wherein the test session involves using the updated test infrastructure and the at least one test application to test the SUT; and

obtaining and reporting test results associated with the test session.

12. The system of claim 10 wherein the input includes feedback information from one or more test system elements and/or declarative or intent-based user input associated with one or more predetermined device profiles associated with available physical or non-emulated testbed elements.

13. The system of claim 12 wherein at least one of the one or more predetermined device profiles indicates device attributes, device availability, device status, compatible configuration file formats, port information, locations of ports, device capabilities, device identifiers, vendor model, operating system or software information, or preconfigured or default settings.

14. The system of claim 12 wherein the declarative or intent-based user input includes a selection, by the user and via a user interface, of the physical or non-emulated testbed element to be added to the updated test infrastructure from among the one or more predetermined device profiles accessible by the network test system.

15. The system of claim 12 wherein the declarative or intent-based user input includes user preferences and indicates that the updated test infrastructure should be changed and the network test system or a related entity uses the declarative or intent-based user input to automatically select the physical or non-emulated testbed element to be added to the updated test infrastructure.

16. The system of claim 15 wherein the user preferences indicate that infrastructure elements are selected using a best fit selection technique, a least cost selection technique, a multiple factor selection technique, or a user-defined selection technique.

17. The system of claim 10 wherein the configuration instructions are based on configuration settings, capabilities, or metadata indicated by a device profile associated with the physical or non-emulated testbed element.

18. The system of claim 10 wherein the configuration instructions include testbed device bill of materials (BOM) information, topology information, device configuration parameter settings, guided setup instructions, orchestration commands, configuration commands, setup related multimedia, configuration source files, or inter-device cabling information.

19. The system of claim 10 wherein the physical or non-emulated testbed element includes a network node, a network switch, a network router, a whitebox switch, or a programmable switch.

20. A non-transitory computer readable medium having stored thereon executable instructions embodied in the non-transitory computer readable medium that when executed by at least one processor of a computing device cause the computing device to perform steps comprising:

at a testbed transpiler of a network test system implemented using at least one processor:

receiving test configuration information associated with a test session for configuring a test infrastructure connecting at least one test application and a system under test (SUT), wherein the test infrastructure includes a switching fabric emulator comprising at least one switching application-specific integrated circuit (ASIC) or programmable switching chip, wherein the test configuration information includes information for configuring the switching fabric emulator to emulate one or more emulated switches by allocating resources of the at least one switching ASIC or programmable switching chip to the one or more emulated switches;

generating, using input regarding an updated test infrastructure and the test configuration information, updated test configuration information for configuring the updated test infrastructure, wherein the updated test infrastructure includes a physical or non-emulated testbed element, wherein generating the updated test configuration information includes transpiling or translating a portion of the test configuration information to generate configuration instructions for configuring the physical or non-emulated testbed element; and

providing the updated test configuration information to the updated test infrastructure or a related test configuration manager.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2022
From: SOMMERS, CHRISTIAN PAUL
To: KEYSIGHT TECHNOLOGIES, INC.
Reel/Frame 061177/0794 →
Continuity (1)
Related Publication 20240069099A1 · Feb 29, 2024
References Cited (152)
US 4792753A · Iwai · 1988 [cited by applicant]
US 5247517A · Ross et al. · 1993 [cited by applicant]
US 5343463A · Van Tetering et al. · 1994 [cited by applicant]
US 5390314A · Swanson · 1995 [cited by applicant]
US 5477531A · McKee et al. · 1995 [cited by applicant]
US 5535338A · Krause et al. · 1996 [cited by applicant]
US 5568471A · Hershey et al. · 1996 [cited by applicant]
US 5583792A · Li et al. · 1996 [cited by applicant]
US 5590285A · Krause et al. · 1996 [cited by applicant]
US 5600632A · Schulman · 1997 [cited by applicant]
US 5657438A · Wygodny et al. · 1997 [cited by applicant]
US 5671351A · Wild et al. · 1997 [cited by applicant]
US 5751963A · Umetsu · 1998 [cited by applicant]
US 5761486A · Watanabe et al. · 1998 [cited by applicant]
US 5787147A · Gundersen · 1998 [cited by applicant]
US 5787253A · McCreery et al. · 1998 [cited by applicant]
US 5822520A · Parker · 1998 [cited by applicant]
US 5838919A · Schwaller et al. · 1998 [cited by applicant]
US 5850386A · Anderson et al. · 1998 [cited by applicant]
US 5850388A · Anderson et al. · 1998 [cited by applicant]
US 5854889A · Liese et al. · 1998 [cited by applicant]
US 5878032A · Mirek et al. · 1999 [cited by applicant]
US 5905713A · Anderson et al. · 1999 [cited by applicant]
US 5974237A · Shurmer et al. · 1999 [cited by applicant]
US 5974457A · Waclawsky et al. · 1999 [cited by applicant]
US 5978940A · Newman et al. · 1999 [cited by applicant]
US 5982852A · Schwartz · 1999 [cited by applicant]
US 6031528A · Langfahl, Jr. · 2000 [cited by applicant]
US 6044091A · Kim · 2000 [cited by applicant]
US 6108800A · Asawa · 2000 [cited by applicant]
US 6122670A · Bennett et al. · 2000 [cited by applicant]
US 6148277A · Asava et al. · 2000 [cited by applicant]
US 6172989B1 · Yanagihara et al. · 2001 [cited by applicant]
US 6173333B1 · Jolitz et al. · 2001 [cited by applicant]
US 6189031B1 · Badger et al. · 2001 [cited by applicant]
US 6233256B1 · Dieterich et al. · 2001 [cited by applicant]
US 6279124B1 · Brouwer et al. · 2001 [cited by applicant]
US 6295557B1 · Foss et al. · 2001 [cited by applicant]
US 6317788B1 · Richardson · 2001 [cited by applicant]
US 6321264B1 · Fletcher et al. · 2001 [cited by applicant]
US 6345302B1 · Bennett et al. · 2002 [cited by applicant]
US 6363056B1 · Beigi et al. · 2002 [cited by applicant]
US 6430617B1 · Britt et al. · 2002 [cited by applicant]
US 6446121B1 · Shah et al. · 2002 [cited by applicant]
US 6507923B1 · Wall et al. · 2003 [cited by applicant]
US 6526259B1 · Ho · 2003 [cited by applicant]
US 6545979B1 · Poulin · 2003 [cited by applicant]
US 6601020B1 · Myers · 2003 [cited by applicant]
US 6621805B1 · Kondylis et al. · 2003 [cited by applicant]
US 6678246B1 · Smyth · 2004 [cited by applicant]
US 6717917B1 · Weissberger et al. · 2004 [cited by applicant]
US 6826259B2 · Hoffman · 2004 [cited by applicant]
US 6845352B1 · Wang · 2005 [cited by applicant]
US 7099438B2 · Rancu et al. · 2006 [cited by applicant]
US 7123616B2 · Weissberger et al. · 2006 [cited by applicant]
US 7143159B1 · Grace et al. · 2006 [cited by applicant]
US 7327686B2 · Standridge · 2008 [cited by applicant]
US 7342897B1 · Nader et al. · 2008 [cited by applicant]
US 7366174B2 · MacFaden et al. · 2008 [cited by applicant]
US 7418492B1 · Cohen et al. · 2008 [cited by applicant]
US 7486728B2 · Park · 2009 [cited by applicant]
US 7507948B2 · Park et al. · 2009 [cited by applicant]
US 7525473B2 · Chu et al. · 2009 [cited by applicant]
US 7840664B2 · Dugatkin et al. · 2010 [cited by applicant]
US 7873056B2 · Higuchi et al. · 2011 [cited by applicant]
US 8718070B2 · Koponen et al. · 2014 [cited by applicant]
US 8761187B2 · Barde · 2014 [cited by applicant]
US 8898333B1 · White et al. · 2014 [cited by applicant]
US 8914432B2 · Hannel et al. · 2014 [cited by applicant]
US 8949830B2 · Kannan et al. · 2015 [cited by applicant]
US 8959185B2 · Nakil et al. · 2015 [cited by applicant]
US 9049271B1 · Hobbs et al. · 2015 [cited by applicant]
US 9231849B2 · Hyoudou et al. · 2016 [cited by applicant]
US 9294296B2 · Kirschnick et al. · 2016 [cited by applicant]
US 9628339B1 · Thai et al. · 2017 [cited by applicant]
US 9697172B1 · Somohano et al. · 2017 [cited by applicant]
US 9819551B2 · Forster et al. · 2017 [cited by applicant]
US 9898317B2 · Nakil et al. · 2018 [cited by applicant]
US 10015072B2 · Cantwell et al. · 2018 [cited by applicant]
US 10063473B2 · Wenig · 2018 [cited by applicant]
US 10579408B2 · Wang et al. · 2020 [cited by applicant]
US 10686671B1 · Mozumdar et al. · 2020 [cited by applicant]
US 10733088B1 · Sommers · 2020 [cited by applicant]
US 10742533B2 · Yadav et al. · 2020 [cited by applicant]
US 10868730B2 · Mozumdar et al. · 2020 [cited by applicant]
US 10880197B2 · Naskar et al. · 2020 [cited by applicant]
US 11144691B2 · Ghattas · 2021 [cited by examiner]
US 11323326B2 · Kommula et al. · 2022 [cited by applicant]
US 11323354B1 · Sommers · 2022 [cited by applicant]
US 11405302B1 · Liu et al. · 2022 [cited by applicant]
US 11483228B2 · Liu et al. · 2022 [cited by applicant]
US 20010016867A1 · Hu et al. · 2001 [cited by applicant]
US 20020056100A1 · Shimomura et al. · 2002 [cited by applicant]
US 20020105911A1 · Pruthi et al. · 2002 [cited by applicant]
US 20020138226A1 · Doane · 2002 [cited by applicant]
US 20020162059A1 · Mcneely et al. · 2002 [cited by applicant]
US 20020172205A1 · Tagore-Brage et al. · 2002 [cited by applicant]
US 20020184527A1 · Chun et al. · 2002 [cited by applicant]
US 20030009544A1 · Wach · 2003 [cited by applicant]
US 20030043434A1 · Brachmann et al. · 2003 [cited by applicant]
US 20030061506A1 · Cooper et al. · 2003 [cited by applicant]
US 20030069952A1 · Tams et al. · 2003 [cited by applicant]
US 20030139919A1 · Sher et al. · 2003 [cited by applicant]
US 20030188003A1 · Sylvest et al. · 2003 [cited by applicant]
US 20030191590A1 · Narayan et al. · 2003 [cited by applicant]
US 20030231741A1 · Rancu et al. · 2003 [cited by applicant]
US 20040111502A1 · Oates · 2004 [cited by applicant]
US 20040111519A1 · Fu et al. · 2004 [cited by applicant]
US 20040236866A1 · Dugatkin et al. · 2004 [cited by applicant]
US 20050021715A1 · Dugatkin et al. · 2005 [cited by applicant]
US 20080186968A1 · Farinacci et al. · 2008 [cited by applicant]
US 20130013107A1 · Felique · 2013 [cited by applicant]
US 20140006570A1 · Loos et al. · 2014 [cited by applicant]
US 20140047125A1 · Hyoudou et al. · 2014 [cited by applicant]
US 20140160961A1 · Dragulescu et al. · 2014 [cited by applicant]
US 20140321285A1 · Chew et al. · 2014 [cited by applicant]
US 20150317169A1 · Sinha et al. · 2015 [cited by applicant]
US 20150365288A1 · Van Der et al. · 2015 [cited by applicant]
US 20170126588A1 · Anand et al. · 2017 [cited by applicant]
US 20170155569A1 · Chinnaswamy · 2017 [cited by examiner]
US 20170353531A1 · Conn · 2017 [cited by applicant]
US 20190372881A1 · Hu et al. · 2019 [cited by applicant]
US 20200021512A1 · Naskar et al. · 2020 [cited by applicant]
US 20200028772A1 · Laslau · 2020 [cited by applicant]
US 20200112524A1 · Sindhu et al. · 2020 [cited by applicant]
US 20200133688A1 · Shinde et al. · 2020 [cited by applicant]
US 20200195519A1 · Di Martino · 2020 [cited by applicant]
US 20200313999A1 · Lee et al. · 2020 [cited by applicant]
US 20210226843A1 · Bhaduri · 2021 [cited by examiner]
US 20220116303A1 · Sommers et al. · 2022 [cited by applicant]
US 20220247661A1 · Liu et al. · 2022 [cited by applicant]
EP 0895375A2 · 1999 [cited by applicant]
EP 3121729A1 · 2017 [cited by examiner]
JP 4620103B2 · 2011 [cited by applicant]
WO 02056541A2 · 2003 [cited by applicant]
Notice of Allowance and Fee(s) Due for U.S. Appl. No. 17/162,620 (Jul. 13, 2022). [cited by applicant]
Notice of Allowance and Fee(s) Due for U.S. Appl. No. 17/162,620 (Jun. 23, 2022). [cited by applicant]
Notice of Allowance and Fee(s) Due for U.S. Appl. No. 17/198,870 (Mar. 24, 2022). [cited by applicant]
Notice of Allowance and Fee(s) Due for U.S. Appl. No. 17/067,627 (Feb. 8, 2022). [cited by applicant]
Notice of Allowance and Fee(s) Due for U.S. Appl. No. 17/067,627 (Oct. 22, 2021). [cited by applicant]
Non-Final Office Action for U.S. Appl. No. 17/198,870 (Sep. 17, 2021). [cited by applicant]
Notice of Allowance and Fee(s) Due for U.S. Appl. No. 17/067,627 (Aug. 20, 2021). [cited by applicant]
Commonly-Assigned, co-pending U.S. Appl. No. 17/067,627 for “Methods, Systems, and Computer Readable Media for Network Testing Using Switch Emulation,” (Unpublished, filed Oct. 9, 2020). [cited by applicant]
Zhang et al., “HyperV: A High Performance Hypervisor for Virtualization of the Programmable Data Plane,” 2017 26th International Conference on Computer Communication and Networks (ICCCN), pp. 1-9 (2017). [cited by applicant]
Cziva et al., “High-Performance Virtualized SDN Switches for Experimental Network Testbeds,” SI:SC16—INDIS, pp. 1-14 (Nov. 8, 2016). [cited by applicant]
Khalidi, “SONIC: The networking switch software that powers the Microsoft Global Cloud,” Blog(/en-us/blog/) Cloud Strategy, ppp. 1-10 (Mar. 8, 2017). [cited by applicant]
Siron, “What is the Hyper-V Virtual Switch and How Does it Work?” Altaro, pp. 1-22 (Sep. 26, 2019). [cited by applicant]
Han et al., “Virtualization in Programmable Data Plane: A Survey and Open Challenges,” IEEE Open Journal of the Communications Society, pp. 1-7 (2020). [cited by applicant]
“Networking/SAI,” Open Compute, pp. 1-6 (Oct. 2020). [cited by applicant]
Zhou et al., “HyperTester: High-performance Network Testing Driven by Programmable Switches,” In The 15th International Conference on emerging Networking Experiments and Technologies (CoNEXT '19), pp. 1-14 (Dec. 9-12, 2… [cited by applicant]
Byagowi, A., et al., “Bringing the F16 Network into the Lab,” OCP Global Summit, pp. 1-16 (Jan. 29, 2021). [cited by applicant]
Zhang, C., et al., “MPVisor: A Modular Programmable Data Plane Hypervisor,” SOSR, pp. 1-2 (Apr. 3-4, 2017). [cited by applicant]