Skip to content

Commit

Permalink
showcases: proofreading of rst files using llm
Browse files Browse the repository at this point in the history
  • Loading branch information
avarga committed May 16, 2024
1 parent 38a0774 commit 14614c2
Show file tree
Hide file tree
Showing 63 changed files with 677 additions and 689 deletions.
26 changes: 13 additions & 13 deletions showcases/emulation/videostreaming/doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ This showcase demonstrates the use of real applications in a simulated network,
of application behavior without having to set up a physical network. This technique is also known as
software-in-the-loop (SIL).

.. TODO this paragraph is too generic, it barely mean anything
.. TODO this paragraph is too generic, it barely means anything
The simulation can be easily configured for various topologies and behaviors to test a variety of cases.
Using INET's emulation feature, the real world (host OS environment) is interfaced with the simulation.
INET offers various modules that make this interfacing possible, and more information about these modules
Expand All @@ -28,16 +28,16 @@ The simulation scenario is illustrated with the following diagram:
:width: 50%
:align: center

In this scenario, a VLC instance in a sender host streams a video file to another VLC instance
in a receiver host over the network. The hosts from the link-layer up are real; parts of the
In this scenario, a VLC instance on a sender host streams a video file to another VLC instance
on a receiver host over the network. The hosts from the link-layer up are real; parts of the
link-layer, as well as the physical layer and the network are simulated.

We'll use the :ned:`ExtUpperEthernetInterface` to connect the real and simulated parts of the scenario.
The lower part of this interface is present in the simulation, and uses TAP interfaces in the host OS
The lower part of this interface is present in the simulation and uses TAP interfaces in the host OS
to send and receive packets to and from the upper layers of the host OS.

Note that the real and simulated parts can be separated at other levels of the protocol stack, using
other, suitable EXT interface modules, such as at the transport layer (:ned:`ExtLowerUdp`), and the
other suitable EXT interface modules, such as at the transport layer (:ned:`ExtLowerUdp`) and the
network layer (:ned:`ExtUpperIpv4`, :ned:`ExtLowerIpv4`).

In fact, the real parts of the sender and receiver hosts are running on the same machine, as both use
Expand All @@ -47,12 +47,12 @@ the protocol stack of the host OS (even though in this scenario logically they a
:width: 50%
:align: center

We'll use a VLC instance in the sender host to stream a video file. The packets created by VLC go
We'll use a VLC instance on the sender host to stream a video file. The packets created by VLC go
down the host OS protocol stack and enter the simulation at the Ethernet interface. Then they
traverse the simulated network, enter the receiver host's Ethernet interface, and are injected
into the host OS protocol stack, and go up to another VLC instance which plays the video.
into the host OS protocol stack and go up to another VLC instance, which plays the video.

The network for the simulation is the following:
The network for the simulation is as follows:

.. figure:: media/Network2.png
:width: 90%
Expand All @@ -78,20 +78,20 @@ The ``teardown.sh`` script does the opposite; it destroys the TAP interfaces whe
.. literalinclude:: ../teardown.sh
:language: bash

The ``run.sh`` script starts the simulation, and both video applications:
The ``run.sh`` script starts the simulation and both video applications:

.. literalinclude:: ../run.sh
:language: bash

In the configuration in omnetpp.ini, the scheduler class is set to ``RealTimeScheduler`` so that
the simulation can run in the real time of the host OS:
the simulation can run in the real-time of the host OS:

.. literalinclude:: ../omnetpp.ini
:language: ini
:end-at: sim-time-limit

The hosts are configured to have an :ned:`ExtUpperEthernetInterface`, and to use the TAP devices
which were created by the setup script. The setup script assigned IP addresses to the TAP interfaces;
The hosts are configured to have an :ned:`ExtUpperEthernetInterface` and to use the TAP devices
that were created by the setup script. The setup script assigned IP addresses to the TAP interfaces;
the EXT interfaces are configured to copy the addresses from the TAP interfaces:

.. literalinclude:: ../omnetpp.ini
Expand Down Expand Up @@ -141,7 +141,7 @@ The received video stream is played by the other VLC instance. The received vide
the original video file,
because it's downscaled, and the bitrate is reduced, so that the playback is smooth.

.. note:: Emulating the network is CPU-intensive. The downscaling and bitrate settings were chosen to lead to smooth playback on the PC we tested the showcase on. However, it might be able to work in higher quality on a faster machine; the user can experiment with different encoding settings for the VLC streaming instance by editing them in the run script.
.. note:: Emulating the network is CPU-intensive. The downscaling and bitrate settings were chosen to lead to smooth playback on the PC we tested the showcase on. However, it might be able to work at higher quality on a faster machine; the user can experiment with different encoding settings for the VLC streaming instance by editing them in the run script.

Here are some of the packets captured in Wireshark:

Expand Down
2 changes: 1 addition & 1 deletion showcases/emulation/voip/doc/mininet.rst
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ The Setup

To recap, the goal of this showcase is to simulate transmission of a VoIP stream
over a virtual network, where both the VoIP sender and receiver are simulations
that are run in realtime. We use Mininet to a similar, but slightly extended
that are run in real-time. We use Mininet to set up a similar, but slightly extended
network topology than in the previous showcase: two hosts connected via a
switch. The simulations that run the VoIP sender and receiver are the same as in
the previous showcase.
Expand Down
10 changes: 5 additions & 5 deletions showcases/emulation/webserver/doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Goals
The goal of this showcase is to demonstrate the integration and operation of a
real-world application within an OMNeT++/INET simulation environment.
Specifically, it involves running a Python-based webserver and executing several
wget commands from host operating system environments. These are interfaced with
`wget` commands from host operating system environments. These are interfaced with
simulated network components, illustrating the capabilities of OMNeT++ in hybrid
simulations that involve both emulated and simulated network elements.

Expand All @@ -31,7 +31,7 @@ Here is the NED definition of the network:
This network consists of a server connected to an Ethernet switch, along with a
configurable number of clients also connected to the switch. The server will run
a real Python webserver, and the clients will perform HTTP GET requests using
wget.
`wget`.


Configuration
Expand All @@ -52,16 +52,16 @@ Results
-------

Upon running the simulation, the webserver on the host OS will respond to HTTP
GET requests initiated by the wget commands from the simulated clients. The
GET requests initiated by the `wget` commands from the simulated clients. The
interaction can be observed in the simulation's event log, and network
performance metrics such as response time and throughput can be analyzed based
on the simulation results.

The following terminal screenshot shows the running webserver and wget processes:
The following terminal screenshot shows the running webserver and `wget` processes:

.. figure:: media/ps.png

The output of the processes appears in the Qtenv log window. Here is the output of one of the wget commands:
The output of the processes appears in the Qtenv log window. Here is the output of one of the `wget` commands:

.. figure:: media/wget_module_log.png

Expand Down
36 changes: 18 additions & 18 deletions showcases/general/diffserv/doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -34,15 +34,15 @@ In theory, a network could have up to 64 (i.e. 2^6) different traffic
classes using different DSCPs. In practice, however, most networks use
the following commonly defined per-hop behaviors:

- *Default PHB* typically maps to best-effort traffic.
- *Expedited Forwarding (EF) PHB* is dedicated to low-loss, low-latency
traffic.
- *Assured Forwarding (AF) PHBs* give assurance of delivery under
prescribed conditions; there are four classes and three drop
probabilities, yielding twelve separate DSCP encodings from AF11
through AF43.
- *Class Selector PHBs* provide backward compatibility with the
IP Precedence field.
- *Default PHB* typically maps to best-effort traffic.
- *Expedited Forwarding (EF) PHB* is dedicated to low-loss, low-latency
traffic.
- *Assured Forwarding (AF) PHBs* give assurance of delivery under
prescribed conditions; there are four classes and three drop
probabilities, yielding twelve separate DSCP encodings from AF11
through AF43.
- *Class Selector PHBs* provide backward compatibility with the
IP Precedence field.

As EF is often used for carrying VoIP traffic, we'll also configure our
example network to do that.
Expand Down Expand Up @@ -86,15 +86,15 @@ Configuration and Behavior

The showcase contains three different configurations:

- ``VoIP_WithoutQoS``: The queue in the router's PPP interface is
overloaded and packets are dropped.
- ``VoIP_WithPolicing``: The VoIP traffic is classified as EF
traffic and others as AF. AF traffic is rate
limited using Token Bucket to 70% of the link's capacity.
- ``VoIP_WithPolicingAndQueuing``: This is the same as the previous
configuration, except the router's queue is configured so that EF
packets are prioritized over other packets, so lower delays are
expected.
- ``VoIP_WithoutQoS``: The queue in the router's PPP interface is
overloaded and packets are dropped.
- ``VoIP_WithPolicing``: The VoIP traffic is classified as EF
traffic and others as AF. AF traffic is rate
limited using Token Bucket to 70% of the link's capacity.
- ``VoIP_WithPolicingAndQueuing``: This is the same as the previous
configuration, except the router's queue is configured so that EF
packets are prioritized over other packets, so lower delays are
expected.

The router's PPP interface contains the key elements of Differentiated
Services in this network: a queue (``queue``) and a traffic conditioner (``egressTC``).
Expand Down
7 changes: 4 additions & 3 deletions showcases/index.rst
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
Showcases
=========


INET Showcases are small simulation studies that show off various components
and features of the INET Framework. Each showcase consist of a fully
and features of the INET Framework. Each showcase consists of a fully
configured simulation model and a web page that presents the goal of the study,
the simulation setup and the results. Although not expressly designed as tutorials,
the simulation setup, and the results. Although not expressly designed as tutorials,
showcases were created in the hope that they will be directly useful for
INET users doing related simulations.

You can browse the showcase pages on this web site. The source code of
the simulations (NED, ini and other files) and the web pages are in the
the simulations (NED, ini, and other files) and the web pages are in the
`showcases/` subdirectory of the
`INET repository <https://github.com/inet-framework/inet/tree/master/showcases>`_.

Expand Down
8 changes: 4 additions & 4 deletions showcases/measurement/datarate/doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Measuring Data Rate
Goals
-----

In this example we explore the data rate statistics of application, queue, and
In this example, we explore the data rate statistics of application, queue, and
filter modules inside network nodes.

| INET version: ``4.4``
Expand All @@ -13,10 +13,10 @@ filter modules inside network nodes.
The Model
---------

The data rate is measured by observing the packets as they are passing through
The data rate is measured by observing the packets as they pass through
over time at a certain point in the node architecture. For example, an application
source module produces packets over time and this process has its own data rate.
Similarly, a queue module enqueues and dequeues packets over time and both of
source module produces packets over time, and this process has its own data rate.
Similarly, a queue module enqueues and dequeues packets over time, and both of
these processes have their own data rate. These data rates are different, which
in turn causes the queue length to increase or decrease over time.

Expand Down
13 changes: 6 additions & 7 deletions showcases/measurement/endtoenddelay/doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Measuring End-to-end Delay
Goals
-----

In this example we explore the end-to-end delay statistics of applications.
In this example, we explore the end-to-end delay statistics of applications.

| INET version: ``4.4``
| Source files location: `inet/showcases/measurement/endtoenddelay <https://github.com/inet-framework/inet/tree/master/showcases/measurement/endtoenddelay>`__
Expand All @@ -16,7 +16,7 @@ The end-to-end delay is measured from the moment the packet leaves the source
application to the moment the same packet arrives at the destination application.

The end-to-end delay is measured by the ``meanBitLifeTimePerPacket`` statistic.
The statistic measures the lifetime of the packet, i.e. time from creation in the source application
The statistic measures the lifetime of the packet, i.e., time from creation in the source application
to deletion in the destination application.

.. note:: The `meanBit` part refers to the statistic being defined per bit, and the result is the mean of the per-bit values of all bits in the packet.
Expand All @@ -27,7 +27,7 @@ The simulations use a network with two hosts (:ned:`StandardHost`) connected via
.. figure:: media/Network.png
:align: center

We configure the packet source in the source hosts' UDP app to generate 1200-Byte packets with a period of around 100us randomly.
We configure the packet source in the source host's UDP app to generate 1200-Byte packets with a period of around 100us randomly.
This corresponds to about 96Mbps of traffic. Here is the configuration:

.. literalinclude:: ../omnetpp.ini
Expand All @@ -39,15 +39,15 @@ Results
The traffic is around 96 Mbps, but the period is random. Thus, the traffic can be higher than the 100Mbps capacity of the Ethernet link.
This might result in packets accumulating in the queue in the source host, and increased end-to-end delay (the queue length is unlimited by default).

We display the end-to-end delay, we plot the ``meanBitLifeTimePerPacket`` statistic in vector and histogram form:
To display the end-to-end delay, we plot the ``meanBitLifeTimePerPacket`` statistic in vector and histogram form:

.. figure:: media/EndToEndDelayHistogram.png
:align: center

.. figure:: media/EndToEndDelayVector.png
:align: center

.. **TODO** why the uptick ?
.. **TODO** why the uptick?
The uptick towards the end of the simulation is due to packets accumulating in the queue.

Expand All @@ -56,5 +56,4 @@ Sources: :download:`omnetpp.ini <../omnetpp.ini>`, :download:`EndToEndDelayMeasu
Discussion
----------

Use `this <https://github.com/inet-framework/inet/discussions/TODO>`__ page in the GitHub issue tracker for commenting on this showcase.

Use `this <https://github.com/inet-framework/inet/discussions/TODO>`__ page in the GitHub issue tracker for commenting on this showcase.
Loading

0 comments on commit 14614c2

Please sign in to comment.