IP Library Granted Patent US 12,348,404
Granted Patent B2
US 12,348,404 · App. 18/098,573 · Granted Jul 1, 2025

Methods, systems and computer readable media for emulating physical layer impairments in a cloud computing environment

Inventors: Manomugdha Biswas (Kolkata, IN); Kingshuk Mandal (Kolkata, IN)
Assignee: KEYSIGHT TECHNOLOGIES, INC.
H04L43/55
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,348,404
App. No.
18/098,573
Granted
Jul 1, 2025
Kind
B2
Abstract

A method for emulating physical layer impairments in a cloud computing environment includes at a test controller: configuring, using a first DI-CNI message comprising first configuration information, a first container hosting a first application, wherein the first configuration information includes information for implementing or emulating a first physical layer related impairment; configuring, using the first DI-CNI message or a second DI-CNI message comprising second configuration information, a second container hosting a second application, wherein the second configuration information includes information for implementing or emulating a second physical layer related impairment; initiating a test session causing test packets to interact with the first container and/or the second container, wherein the test packets are impaired by the first and/or the second physical layer related impairment; and during the test session, sending a third DI-CNI message for modifying the first and/or the second physical layer related impairment.

Claims (37)

1. A method for emulating physical layer impairments in a cloud computing environment, the method comprising:

at a test controller for configuring a plurality of entities in a cloud computing environment using a dynamic impairment container network interface (DI-CNI) capable of instructing one or more of the plurality of entities to implement or emulate one or more physical layer related impairments:

configuring, using a first DI-CNI message comprising first configuration information, a first container hosting a first application, wherein the first configuration information includes information for implementing or emulating a first physical layer related impairment for impairing traffic to or from the first container;

configuring, using the first DI-CNI message or a second DI-CNI message comprising second configuration information, a second container hosting a second application, wherein the second configuration information includes information for implementing or emulating a second physical layer related impairment for impairing traffic to or from the second container;

initiating a test session causing test packets to interact with the first container and/or the second container, wherein the test packets are impaired by the first physical layer related impairment and/or the second physical layer related impairment; and

during the test session, sending a third DI-CNI message comprising third configuration information for modifying the first physical layer related impairment and/or the second physical layer related impairment.

2. The method of claim 1 wherein configuring the first container includes configuring an intra-node DI-CNI module implemented at a first physical or virtual computing node to impair egress packets sent to the second container or impair ingress packets received from the second container, wherein the first container and the second container are located at the first physical or virtual computing node.

3. The method of claim 2 wherein the cloud computing environment comprises a Kubernetes environment and the first physical or virtual computing node comprises a first Kubernetes node.

4. The method of claim 3 wherein the intra-node DI-CNI module comprises a Kubernetes CNI plug-in.

5. The method of claim 3 wherein the first container and the second container are located in different pods within the first Kubernetes node.

6. The method of claim 1 wherein configuring the first container includes configuring an inter-node DI-CNI module implemented at a first physical or virtual computing node to impair egress packets sent from the first container to the second container or impair ingress packets received by the first container from the second container, wherein the second container is located at a second physical or virtual computing node.

7. The method of claim 1 wherein the first application or the second application supports a border gateway protocol (BGP) routing protocol, an intermediate system to intermediate system (IS-IS) routing protocol, an exterior gateway protocol, an interior gateway protocol, segment routing, or a routing protocol.

8. The method of claim 1 wherein the first physical layer related impairment or the second physical layer related impairment includes causing a delay, jitter, packet drop, packet corruption, packet deduplication, a change in maximum transmission unit (MTU), a type of packet distribution, a uniform packet distribution, a normal packet distribution, a pareto packet distribution, a paretonormal packet distribution, packet reordering, a packet rate, or one or more link related impairments that change locations or extent multiple times.

9. The method of claim 1 wherein the first physical layer related impairment or the second physical layer related impairment is implemented or emulated using a daemon, a background process, a Linux mechanism, a Linux component, Linux traffic control, Linux netlink, or one or more Linux virtual ethernet (vEth) interfaces.

10. A system for emulating physical layer impairments in a cloud computing environment, the system comprising:

at least one processor;

a memory; and

a test controller for configuring a plurality of entities in a cloud computing environment using a dynamic impairment container network interface (DI-CNI) capable of instructing one or more of the plurality of entities to implement or emulate one or more physical layer related impairments, wherein the test controller is implemented using the at least one processor and the memory, the test controller configured for:

configuring, using a first DI-CNI message comprising first configuration information, a first container hosting a first application, wherein the first configuration information includes information for implementing or emulating a first physical layer related impairment for impairing traffic to or from the first container;

configuring, using the first DI-CNI message or a second DI-CNI message comprising second configuration information, a second container hosting a second application, wherein the second configuration information includes information for implementing or emulating a second physical layer related impairment for impairing traffic to or from the second container;

initiating a test session causing test packets to interact with the first container and/or the second container, wherein the test packets are impaired by the first physical layer related impairment and/or the second physical layer related impairment; and

during the test session, sending a third DI-CNI message comprising third configuration information for modifying the first physical layer related impairment and/or the second physical layer related impairment.

11. The system of claim 10 wherein the test controller is configured for configuring an intra-node DI-CNI module implemented at a first physical or virtual computing node to impair egress packets sent to the second container or impair ingress packets received from the second container, wherein the first container and the second container are located at the first physical or virtual computing node.

12. The system of claim 11 wherein the cloud computing environment comprises a Kubernetes environment and the first physical or virtual computing node comprises a first Kubernetes node.

13. The system of claim 12 wherein the intra-node DI-CNI module comprises a Kubernetes CNI plug-in.

14. The system of claim 12 wherein the first container and the second container are located in different pods within the first Kubernetes node.

15. The system of claim 10 wherein the test controller is configured for configuring an inter-node DI-CNI module implemented at a first physical or virtual computing node to impair egress packets sent from the first container to the second container or impair ingress packets received by the first container from the second container, wherein the second container is located at a second physical or virtual computing node.

16. The system of claim 15 wherein the first physical or virtual computing node includes a first Kubernetes node, the second physical or virtual computing node includes a second Kubernetes node, and the first Kubernetes node and the second Kubernetes node are members of a Kubernetes cluster.

17. The system of claim 10 wherein the first application or the second application supports a border gateway protocol (BGP) routing protocol, an intermediate system to intermediate system (IS-IS) routing protocol, an exterior gateway protocol, an interior gateway protocol, segment routing, or a routing protocol.

18. The system of claim 10 wherein the first physical layer related impairment or the second physical layer related impairment includes causing a delay, jitter, packet drop, packet corruption, packet deduplication, a change in maximum transmission unit (MTU), a type of packet distribution, a uniform packet distribution, a normal packet distribution, a pareto packet distribution, a paretonormal packet distribution, packet reordering, a packet rate, or one or more link related impairments that change locations or extent multiple times.

19. The system of claim 10 wherein the first physical layer related impairment or the second physical layer related impairment is implemented or emulated using a daemon, a background process, a Linux mechanism, a Linux component, Linux traffic control, Linux netlink, or one or more Linux virtual ethernet (vEth) interfaces.

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

at a test controller for configuring a plurality of entities in a cloud computing environment using a dynamic impairment container network interface (DI-CNI) capable of instructing one or more of the plurality of entities to implement or emulate one or more physical layer related impairments:

configuring, using a first DI-CNI message comprising first configuration information, a first container hosting a first application, wherein the first configuration information includes information for implementing or emulating a first physical layer related impairment for impairing traffic to or from the first container;

configuring, using the first DI-CNI message or a second DI-CNI message comprising second configuration information, a second container hosting a second application, wherein the second configuration information includes information for implementing or emulating a second physical layer related impairment for impairing traffic to or from the second container;

initiating a test session causing test packets to interact with the first container and/or the second container, wherein the test packets are impaired by the first physical layer related impairment and/or the second physical layer related impairment; and

during the test session, sending a third DI-CNI message comprising third configuration information for modifying the first physical layer related impairment and/or the second physical layer related impairment.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 20, 2023
From: BISWAS, MANOMUGDHA; MANDAL, KINGSHUK
To: KEYSIGHT TECHNOLOGIES, INC.
Reel/Frame 062441/0883 →
Continuity (2)
Provisional Application 63428562 · Nov 29, 2022
Related Publication 20240179085A1 · May 30, 2024
References Cited (103)
US 5751963A · Umetsu · 1998 [cited by applicant]
US 6917595B2 · Chang et al. · 2005 [cited by applicant]
US 7356679B1 · Le et al. · 2008 [cited by applicant]
US 7890723B2 · LaPedis et al. · 2011 [cited by applicant]
US 7979225B2 · Muller et al. · 2011 [cited by applicant]
US 8387048B1 · Grechishkin et al. · 2013 [cited by applicant]
US 8706879B2 · Sparks · 2014 [cited by applicant]
US 8942109B2 · Dorenbosch et al. · 2015 [cited by applicant]
US 9042245B2 · Tzannes et al. · 2015 [cited by applicant]
US 9065770B2 · Chew et al. · 2015 [cited by applicant]
US 9614689B2 · Cook et al. · 2017 [cited by applicant]
US 9628339B1 · Thai et al. · 2017 [cited by applicant]
US 9785527B2 · Regev · 2017 [cited by examiner]
US 9971620B2 · Karnes · 2018 [cited by applicant]
US 10102020B2 · Cornea et al. · 2018 [cited by applicant]
US 10880019B1 · Mestre Adrover et al. · 2020 [cited by applicant]
US 11388081B1 · Sommers et al. · 2022 [cited by applicant]
US 11388228B2 · Giassa et al. · 2022 [cited by applicant]
US 11496360B1 · Krzos · 2022 [cited by applicant]
US 11743182B2 · Sharma · 2023 [cited by examiner]
US 11765080B2 · Brar · 2023 [cited by examiner]
US 11775655B2 · Malvankar · 2023 [cited by examiner]
US 11789850B2 · Mohamed El Amine · 2023 [cited by examiner]
US 11853197B2 · Leasck · 2023 [cited by examiner]
US 11895020B1 · Arham · 2024 [cited by examiner]
US 11902318B2 · Rivera · 2024 [cited by examiner]
US 11924031B2 · Smith · 2024 [cited by examiner]
US 11991077B2 · Mariappan · 2024 [cited by examiner]
US 11991097B2 · Nallamothu · 2024 [cited by examiner]
US 12050525B2 · Hadas · 2024 [cited by examiner]
US 12069039B2 · Sharma · 2024 [cited by examiner]
US 12099624B2 · Palod · 2024 [cited by examiner]
US 12118380B2 · Huo · 2024 [cited by examiner]
US 12160450B2 · Kaimal · 2024 [cited by examiner]
US 12184450B2 · Shen · 2024 [cited by examiner]
US 12210890B2 · Liu et al. · 2025 [cited by applicant]
US 12218908B2 · Thubert · 2025 [cited by examiner]
US 12229574B2 · Sinha · 2025 [cited by examiner]
US 20140149983A1 · Bonilla et al. · 2014 [cited by applicant]
US 20140281304A1 · Hoffman · 2014 [cited by applicant]
US 20140298335A1 · Regev et al. · 2014 [cited by applicant]
US 20150156203A1 · Giura et al. · 2015 [cited by applicant]
US 20160110212A1 · Karnes · 2016 [cited by examiner]
US 20160203016A1 · Cornea et al. · 2016 [cited by applicant]
US 20180089206A1 · Tamura et al. · 2018 [cited by applicant]
US 20190042320A1 · Prince et al. · 2019 [cited by applicant]
US 20190149410A1 · Araujo et al. · 2019 [cited by applicant]
US 20190155613A1 · Olderdissen et al. · 2019 [cited by applicant]
US 20200366588A1 · Bergeron · 2020 [cited by applicant]
US 20220253324A1 · Liu et al. · 2022 [cited by applicant]
US 20240028357A1 · Lan · 2024 [cited by examiner]
US 20240031267A1 · Gu · 2024 [cited by examiner]
US 20240143365A1 · Nguyen · 2024 [cited by examiner]
US 20240163184A1 · Vishnoi · 2024 [cited by examiner]
US 20240406076A1 · Wang · 2024 [cited by examiner]
EP 4307115A1 · 2024 [cited by examiner]
WO 2021015802A1 · 2021 [cited by applicant]
Lidfeldt, A., & Isaksson, D. (2021). Dynamic bandwidth control for improving 5G network resource utilization in Cloud Radio Access Networks. LU-CS-EX. (Year: 2021). [cited by examiner]
Leppälä, M. (2021). I/O Performance of Secure Container Runtime in Far Edge Cloud (Master's thesis). (Year: 2021). [cited by examiner]
I. Pelle, F. Paolucci, B. Sonkoly and F. Cugini, “Latency-Sensitive Edge/Cloud Serverless Dynamic Deployment Over Telemetry-Based Packet-Optical Network,” in IEEE Journal on Selected Areas in Communications, vol. 39, No… [cited by examiner]
A. Dutta and O. Gnawali, “Large-scale network protocol emulation on commodity cloud, ” 2014 IEEE Global Communications Conference, Austin, TX, USA, 2014, pp. 1114-1119. (Year: 2014). [cited by examiner]
G. Nardini, G. Stea, A. Virdis, D. Sabella and P. Thakkar, “Using Simu5G as a Realtime Network Emulator to Test MEC Apps in an End-To-End 5G Testbed,” 2020 IEEE 31st Annual International Symposium on Personal, Indoor an… [cited by examiner]
B. Martini, M. Gharbaoui, D. Adami, P. Castoldi and S. Giordano, “Experimenting SDN and Cloud Orchestration in Virtualized Testing Facilities: Performance Results and Comparison,” in IEEE Transactions on Network and Ser… [cited by examiner]
Notice of Allowance for U.S. Appl. No. 17/171,716 (Sep. 29, 2024). [cited by applicant]
Fiandrino, et al., “openLEON: An End-to-End Emulation Platform from the Edge Data Center to the Mobile User”, Sep. 7, 2019. Computer Communications 148, Elsevier B.V. (Year: 2019). [cited by applicant]
Benet, et al., “OpenStackEmu—A Cloud TestBed Combining Network Emulation with OpenStack and SDN”, 2017, 14th IEEE Annual Consumer Communications & Networking Conference (CCNC), IEEE. (Year: 2017). [cited by applicant]
Cao, et al., “TurboNet: Faithfully Emulating Networks with Programmable Switches”, IEEE. (Year: 2020). [cited by applicant]
Non-Final Office Action for U.S. Appl. No. 17/171,716 (Mar. 14, 2024). [cited by applicant]
Notice of Allowance and Fee(s) Due for U.S. Appl. No. 17/217,920 (Mar. 4, 2022). [cited by applicant]
“TekExpress USB 3.0 (USB-RMT) Automated Receiver Compliance and Margin Test Solutions,” Tektronix, pp. 1-154 (2021). [cited by applicant]
“QSFP DD Loopback Modules,” High Speed IO, Amphenol ICC, pp. 1-2 (2021). [cited by applicant]
Sultana et al., “Flightplan Dataplane Disaggregation and Placement for P4 Programs,” 18th {USENIX} Symposium on Networked Systems Design and Implementation, pp. 1-22 (2021). [cited by applicant]
“Network Emulator II—Ethernet 10GE, 1GE, and 100MbE Ethernet Impairment Emulation,” Keysight Technologies, pp. 1-8 (Oct. 22, 2020). [cited by applicant]
“INE Network Emulator Appliance,” Technical Specifications, pp. 1-2 (2018). [cited by applicant]
“The Value of Network Impairment Testing in Power Grids,” Calnex SNE, pp. 1-2 (2006). [cited by applicant]
Spirent Communications, “Cloud Computing Testing,” pp. 1-10 (Apr. 2010). [cited by applicant]
Notice of Allowance for U.S. Appl. No. 16/671,005 (Feb. 28, 2022). [cited by applicant]
Final Office Action for U.S. Appl. No. 16/671,005 (Sep. 17, 2021). [cited by applicant]
Search Report under Section 17(5) for Great Britain Application Serial No. GB2015752.5 (Apr. 13, 2021). [cited by applicant]
Commonly-Assigned, co-pending U.S. Appl. No. 16/671,005 for “Methods, Systems and Computer Readable Media for Self-Replicating Cluster Appliances,” (Unpublished, filed Oct. 31, 2019). [cited by applicant]
“Auto-Scalable Network Visibility System,” The IP.com Journal, vol. 19, No. 9B, pp. 1-11 (Sep. 2019). [cited by applicant]
“What are microservices?” Red Hat Inc., Wayback Machine, https://opensource.com/resources/what-are-microservices, pp. 1-7 (Accessed Aug. 11, 2019). [cited by applicant]
“Self-Healing Network Visibility System,” The IP.com Journal, vol. 19, No. 7A, pp. 1-5 (Jul. 2019). [cited by applicant]
“What is Docker?,” Red Hat Inc., https://opensource.com/resources/what-docker, pp. 1-5 (2019). [cited by applicant]
“Modernize your applications, accelerate innovation,” Enterprise Container Platform: Docker, https://www.docker.com/, pp. 1-5 (2019). [cited by applicant]
“Concepts: What is Kubernetes,” Kubernetes, https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/, pp. 1-7 (Oct. 9, 2019). [cited by applicant]
“Production-Grade Container Orchestration,” Kubernetes, https://kubernetes.io/, pp. 1-8 (2019). [cited by applicant]
“LaTex—A document preparation system,” The LaTex Project, https://www.latex-project.org, pp. 1-2 (Oct. 15, 2019). [cited by applicant]
“Concepts: Taints and Tolerations,” Kubernetes, https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/, pp. 1-11 (Sep. 27, 2019). [cited by applicant]
“Git VCS,” Software Freedom Conservancy, https://git-scm.com, pp. 1-3 (Aug. 16, 2019). [cited by applicant]
“Tutorials: Viewing Pods and Nodes,” Kubernetes, https://kubernetes.io/docs/tutorials/kubernetes-basics/explore/explore-intro/, pp. 1-3 (Apr. 25, 2019). [cited by applicant]
Kvapil, “Building a Network Bootable Server Farm for Kubernetes with LTSP,” Kubernetes, https://kubernetes.io/blog/2018/10/02/building-a-network-bootable-server-farm-for-kubernetes-with-Itsp/, pp. 1-10 (Oct. 2, 2018). [cited by applicant]
Notice of Allowance and Fee(s) Due for U.S. Appl. No. 14/598,188 (Jun. 14, 2018). [cited by applicant]
Applicant-Initiated Interview Summary for U.S. Appl. No. 14/598,188 (May 22, 2018). [cited by applicant]
“Principles of Chaos Engineering,” https://principlesofchaos.org/?lang=ENcontent, pp. 1-3 (May 2018). [cited by applicant]
Advisory Action for U.S. Appl. No. 14/598,188 (Apr. 10, 2018). [cited by applicant]
Final Office Action for U.S. Appl. No. 14/598,188 (Jan. 2, 2018). [cited by applicant]
Non-Final Office Action for U.S. Appl. No. 14/598,188 (Jun. 22, 2017). [cited by applicant]
Final Office Action for U.S. Appl. No. 14/598,188 (Jan. 9, 2017). [cited by applicant]
Non-Final Office Action for U.S. Appl. No. 14/598,188 (Jul. 8, 2016). [cited by applicant]
“IX Chariot—Solution Brief,” Ixia, 915-3034-01 Rev. D, pp. 1-2, www.ixiacom.com (Feb. 2014). [cited by applicant]
“IxVM,” Ixia, web.archive.org/web/20130902225026/ http://www.ixiacom.com/products/network_test/applications/ixvm/?print=1 (Sep. 2, 2013). [cited by applicant]
“GNU General Public License,” Free Software Foundation, vol. 2, https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html, pp. 1-6 (Jun. 1991). [cited by applicant]