Overview#
NetworkGym Components and Interfaces#
The NetworkGym framework consists of three essential components - the Client, the Server, and the Environment - each playing a crucial role in the system. Additionally, it encompasses two interfaces - the Northbound and the Southbound Interfaces, facilitating seamless communication and interaction within the framework.
Displayed below is a graphical depiction of the NetworkGym architecture:
This visual aid provides an overview of how the diverse components and interfaces of NetworkGym collaborate harmoniously, forming a streamlined and effective Simulation-as-a-Service framework tailored for the advancement of Network AI Research and Development. By clicking on the blue boxes, you can navigate directly to the corresponding API pages for the respective components.
Client API#
The NetworkGym client comprises three main elements: a customized Gymnasium environment, an Adapter, and the Northbound interface. The environment-specific Adapter is responsible for transforming the NetworkGym data format into the Gymnasium data format, allowing seamless communication with Gymnasium-compatible agents like stable-baselines3 and cleanRL. The Northbound Interface establishes the connection between the client and the server. It enables the client to select and configure the desired network environment.
Server API#
The NetworkGym server component plays a central role in communication between the client and the environment. It utilizes the Northbound interface to interact with the client and the Southbound interface to communicate with the environment. Additionally, the server maintains a routing map, which keeps track of each active client and its assigned environment during a connected session.
Environment API#
The NetworkGym environment (either a simulator, emulator, or testbed) connects to the server through the Southbound interface. At present, the framework supports the ns-3 based simulator, offering three distinct network environments.