{"id":2040,"date":"2025-07-24T16:22:05","date_gmt":"2025-07-24T23:22:05","guid":{"rendered":"https:\/\/wp.ece.uw.edu\/funlab\/?page_id=2040"},"modified":"2025-07-24T16:24:28","modified_gmt":"2025-07-24T23:24:28","slug":"web-ns3-and-networkgym","status":"publish","type":"page","link":"https:\/\/wp.ece.uw.edu\/funlab\/web-ns3-and-networkgym\/","title":{"rendered":"Web-ns3 and NetworkGym"},"content":{"rendered":"<h3>Web-ns3<\/h3>\n<p><a href=\"https:\/\/ns3.netsimsolutions.com\/login\">Web-ns3<\/a> (powered by <a href=\"https:\/\/netsimsolutions.com\">Network Simulation Solutions<\/a> &amp; <a href=\"https:\/\/www.nsnam.org\">ns-3<\/a>) is a modern, cloud-hosted simulation platform that integrates the power of ns-3 with intuitive web-based interfaces and AI\/ML-ready workflows, enabling rapid prototyping and scalable experimentation for Next-G wireless networks.<\/p>\n<h4>GUI screenshots<\/h4>\n<p>Dashboard (top), parameter setting\u00a0(bottom left), visualization (bottom right)<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2041\" src=\"https:\/\/wp.ece.uw.edu\/wp-content\/uploads\/sites\/36\/2025\/07\/web-ns3-dash-300x106.png\" alt=\"\" width=\"589\" height=\"208\" srcset=\"https:\/\/wp.ece.uw.edu\/wp-content\/uploads\/sites\/36\/2025\/07\/web-ns3-dash-300x106.png 300w, https:\/\/wp.ece.uw.edu\/wp-content\/uploads\/sites\/36\/2025\/07\/web-ns3-dash-1024x362.png 1024w, https:\/\/wp.ece.uw.edu\/wp-content\/uploads\/sites\/36\/2025\/07\/web-ns3-dash-768x271.png 768w, https:\/\/wp.ece.uw.edu\/wp-content\/uploads\/sites\/36\/2025\/07\/web-ns3-dash-1536x543.png 1536w, https:\/\/wp.ece.uw.edu\/wp-content\/uploads\/sites\/36\/2025\/07\/web-ns3-dash-2048x724.png 2048w, https:\/\/wp.ece.uw.edu\/wp-content\/uploads\/sites\/36\/2025\/07\/web-ns3-dash-750x265.png 750w\" sizes=\"auto, (max-width: 589px) 100vw, 589px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-2042\" src=\"https:\/\/wp.ece.uw.edu\/wp-content\/uploads\/sites\/36\/2025\/07\/web-ns3-param-gui-186x300.png\" alt=\"\" width=\"186\" height=\"300\" srcset=\"https:\/\/wp.ece.uw.edu\/wp-content\/uploads\/sites\/36\/2025\/07\/web-ns3-param-gui-186x300.png 186w, https:\/\/wp.ece.uw.edu\/wp-content\/uploads\/sites\/36\/2025\/07\/web-ns3-param-gui.png 364w\" sizes=\"auto, (max-width: 186px) 100vw, 186px\" \/><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2043\" src=\"https:\/\/wp.ece.uw.edu\/wp-content\/uploads\/sites\/36\/2025\/07\/web-ns3-visual-plot-300x190.png\" alt=\"\" width=\"383\" height=\"243\" srcset=\"https:\/\/wp.ece.uw.edu\/wp-content\/uploads\/sites\/36\/2025\/07\/web-ns3-visual-plot-300x190.png 300w, https:\/\/wp.ece.uw.edu\/wp-content\/uploads\/sites\/36\/2025\/07\/web-ns3-visual-plot-768x487.png 768w, https:\/\/wp.ece.uw.edu\/wp-content\/uploads\/sites\/36\/2025\/07\/web-ns3-visual-plot-750x476.png 750w, https:\/\/wp.ece.uw.edu\/wp-content\/uploads\/sites\/36\/2025\/07\/web-ns3-visual-plot.png 842w\" sizes=\"auto, (max-width: 383px) 100vw, 383px\" \/><\/p>\n<h4>Key Features<\/h4>\n<ul>\n<li>No installation required: Run simulations directly in the browser<\/li>\n<li>User-friendly interface: Configure and launch complex network scenarios via \u201cExample\u201d<\/li>\n<li>Cloud scalability: Run multiple simulations in parallel on dedicated servers<\/li>\n<li>Data Visualization: Visualize metrics like throughput, latency, packet loss, etc.<\/li>\n<li>JupyterLab: Perform post-simulation data processing and visualization using Python notebooks<\/li>\n<li>ns-3 App Store: Access a curated library of specialized ns-3 builds for emerging use cases (e.g., O-RAN, Satellite, 5G\/V2X, etc.), including forks not yet merged into the official mainline<\/li>\n<\/ul>\n<h3>NetworkGym<\/h3>\n<p><a href=\"https:\/\/github.com\/ShenMuyuan\/networkgym\">NetworkGym<\/a> is a Simulation-aaS framework to support Network AI algorithm development by providing high-fidelity full-stack e2e network simulation in cloud and allowing AI developers to interact with the simulated network environment through open APIs.<\/p>\n<h4>Architecture<\/h4>\n<p>The client establishes a remote connection to the NetworkGym Server\/Environment hosted on the cloud, facilitating agent training.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2047\" src=\"https:\/\/wp.ece.uw.edu\/wp-content\/uploads\/sites\/36\/2025\/07\/networkgym-arch-300x159.png\" alt=\"\" width=\"598\" height=\"317\" srcset=\"https:\/\/wp.ece.uw.edu\/wp-content\/uploads\/sites\/36\/2025\/07\/networkgym-arch-300x159.png 300w, https:\/\/wp.ece.uw.edu\/wp-content\/uploads\/sites\/36\/2025\/07\/networkgym-arch-1024x542.png 1024w, https:\/\/wp.ece.uw.edu\/wp-content\/uploads\/sites\/36\/2025\/07\/networkgym-arch-768x406.png 768w, https:\/\/wp.ece.uw.edu\/wp-content\/uploads\/sites\/36\/2025\/07\/networkgym-arch-1536x813.png 1536w, https:\/\/wp.ece.uw.edu\/wp-content\/uploads\/sites\/36\/2025\/07\/networkgym-arch-750x397.png 750w, https:\/\/wp.ece.uw.edu\/wp-content\/uploads\/sites\/36\/2025\/07\/networkgym-arch.png 1878w\" sizes=\"auto, (max-width: 598px) 100vw, 598px\" \/><\/p>\n<h4>Visual example &#8211; Multi-BSS<\/h4>\n<p>We simulate a multi-BSS VR gaming scenario in which a STA in BSS-1 generates UL burst traffic while others generate UL CBR traffic. The goal of the AI algorithm (currently DRL) is to select the optimal CCA threshold for BSS-1 to meet VR &amp; sum throughput requirements. The client visualizes the location of nodes (left) and displays training history (right) and training progress (bottom). Code is available at <a href=\"https:\/\/github.com\/ShenMuyuan\/networkgym\">GitHub<\/a>. More information can be found in the original <a href=\"https:\/\/github.com\/hust-diangroup\/ns3-ai\/tree\/main\/examples\/multi-bss\">ns3-ai<\/a> example.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2049\" src=\"https:\/\/wp.ece.uw.edu\/wp-content\/uploads\/sites\/36\/2025\/07\/networkgym-multibss-300x181.png\" alt=\"\" width=\"607\" height=\"366\" srcset=\"https:\/\/wp.ece.uw.edu\/wp-content\/uploads\/sites\/36\/2025\/07\/networkgym-multibss-300x181.png 300w, https:\/\/wp.ece.uw.edu\/wp-content\/uploads\/sites\/36\/2025\/07\/networkgym-multibss-1024x617.png 1024w, https:\/\/wp.ece.uw.edu\/wp-content\/uploads\/sites\/36\/2025\/07\/networkgym-multibss-768x463.png 768w, https:\/\/wp.ece.uw.edu\/wp-content\/uploads\/sites\/36\/2025\/07\/networkgym-multibss-750x452.png 750w, https:\/\/wp.ece.uw.edu\/wp-content\/uploads\/sites\/36\/2025\/07\/networkgym-multibss.png 1036w\" sizes=\"auto, (max-width: 607px) 100vw, 607px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Web-ns3 Web-ns3 (powered by Network Simulation Solutions &amp; ns-3) is a modern, cloud-hosted simulation platform that integrates the power of ns-3 with intuitive web-based interfaces and AI\/ML-ready workflows, enabling rapid prototyping and scalable experimentation for Next-G wireless networks. GUI screenshots Dashboard (top), parameter setting\u00a0(bottom left), visualization (bottom right) Key Features No installation required: Run simulations &hellip; <\/p>\n<p><a class=\"more-link btn\" href=\"https:\/\/wp.ece.uw.edu\/funlab\/web-ns3-and-networkgym\/\">Continue reading<\/a><\/p>\n","protected":false},"author":95,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"inline_featured_image":false,"footnotes":""},"tags":[],"class_list":["post-2040","page","type-page","status-publish","hentry","nodate","item-wrap"],"_links":{"self":[{"href":"https:\/\/wp.ece.uw.edu\/funlab\/wp-json\/wp\/v2\/pages\/2040","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wp.ece.uw.edu\/funlab\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/wp.ece.uw.edu\/funlab\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/wp.ece.uw.edu\/funlab\/wp-json\/wp\/v2\/users\/95"}],"replies":[{"embeddable":true,"href":"https:\/\/wp.ece.uw.edu\/funlab\/wp-json\/wp\/v2\/comments?post=2040"}],"version-history":[{"count":6,"href":"https:\/\/wp.ece.uw.edu\/funlab\/wp-json\/wp\/v2\/pages\/2040\/revisions"}],"predecessor-version":[{"id":2052,"href":"https:\/\/wp.ece.uw.edu\/funlab\/wp-json\/wp\/v2\/pages\/2040\/revisions\/2052"}],"wp:attachment":[{"href":"https:\/\/wp.ece.uw.edu\/funlab\/wp-json\/wp\/v2\/media?parent=2040"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wp.ece.uw.edu\/funlab\/wp-json\/wp\/v2\/tags?post=2040"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}