- abstract data type
A data type together with the actions to be performed on objects of
that data type.
- bandwidth
The upper limit on the amount of data, typically in Kilobits per
second (kbps), that can pass through a network connection. Greater
bandwidth indicates faster data transfer capability.
- bottleneck link
A network link that slows down the rest of the network, ie,
limits data transfer speed, because it is not fast enough.
- byte
A set of eight binary digits that represents the smallest unit of data
(for example, an ASCII character).
- class
An abstract data type that supports inheritance (defining new
abstract data types as extensions of existing abstract data types).
- CDF (Cumulative Distribution Function)
The probability that a variable takes a value less
than or equal to some value.
- datagram protocol
A connectionless protocol which delivers data in packets the same size
as those that were sent, an example being IP. For example, if
one host sends another host two 50-byte datagrams, that host will
receive two discrete 50-byte datagrams.
Compare with stream protocol.
- DDD (Detailed Design Document)
This document.
- Diffserv architecture
An architecture for providing different levels or types of service for
network traffic.
- fair queueing
A means to improve congestion control in network traffic by providing
Router support.
- FCM (Flow Control Module)
The Flow Control Module of this project involving additions to the
Linux kernel.
- GUI (Graphical User Interface)
A graphical interface provided for the user. Runs on a
a windows graphical environment such as X.
- GPL (GNU Public Licence)
A license applied to software from the GNU project which guarantees
users the freedom to share the software and make changes to it.
- host
A computer or other device connected to a network.
- insmod
A tool provided with the Debian Linux distribution that allows a user
to load a kernel module into the kernel.
- IP (Internet Protocol)
The fundamental Internet protocol, used atop almost any physical
network. The network layer (Layer 3) in the TCP/IP stack
that enables a connectionless internetwork service.
- IP address
A binary value used by the IP protocol to determine how to
deliver packets to their destination hosts.
- kernel
The part of an operating system which works at the lowest level,
controlling access to hardware. It provides a set of system
calls and other interfaces which allow programs to access
networks, files etc. The kernel referred to in this document is
that of Linux, distributed by Linus Torvalds.
- kernel module
A module which can be loaded by the kernel after booting. Such a
module can implement new functionality or modify existing
functionality.
- kernel space
A block of virtual memory dedicated to the use of code from the kernel,
which can access system memory and hardware.
- low bandwidth link
A link between two networks with a lower
bandwidth across it than between any two hosts in either of the
networks it connects; the link is thus a bottleneck,
limiting data transfer speed between two networks.
- libipq
A C library that enables the receiving and reading of packets.
- link
A network communications channel consisting of a transmission path
and all related devices between a sender and a receiver.
- module
A group of classes.
- MTU
The Maximum Transmission Unit. This is the size of the largest packet
which can be sent on a particular networking device.
- multiprocessor
A computer that has two or more processors running on it, thus
enabling it to perform more than one task.
- Netfilter architecture
An architecture that allows hooking into a protocol stack at several
points.
- network link
See link.
- occupancy
The number of items in the outgoing queue of a network node at
any given point in time.
A piecewise linear function of the queue size that is used in
the Client's window sizing algorithm [2].
- packet
A unit of information transmitted, as a whole, from one device
to another on a network.
- Packet Filtering
Controlling access to a network by analysing the incoming and outgoing
packets, and either letting them pass or halting them based on the
IP addresses of the source and destination.
- PDF (Probability Distribution Function)
The probability that a trial X takes on a value less than or equal to
a number x.
- proc filesystem
A mechanism that allows the user to observe the current state of the
running Linux kernel, thus providing them with any information about
the kernel while still being in user space.
- pylibpcap
A Python module for the libpcap packet capture library.
- Python
An interpreted, interactive, object-oriented programming language.
- QoS (Quality of Service)
A series of technologies which are used to increase the quality of a
network connection by attempting to improve one or more specific
characteristics of network performance for a particular application,
e.g. latency for a remote terminal program, or throughput for a file
retreival program.
- queue size
See occupancy.
- Receiver
A computer that wishes to receive data from hosts across a
low bandwidth network link.
The Receiver FCM contains a window sizing algorithm
based on the occupancy of the closest Router
providing it with data.
- rmmod
A tool provided with the Debian Linux distribution that allows a user
to unload a kernel module from the kernel.
- round-trip time
The time required for a network communication to travel from the
source to the destination and back. Round-trip time therefore includes
time required for the destination to process the message from the
source and generate a reply.
- Router
A network host providing data to one or more Receivers across a
low-bandwidth network link. It will route packets over
this link as they arrive from hosts on its local network, and send
packets to local hosts as they arrive from the low-bandwidth network
link.
The Router FCM will modify all packets it routes to
include its occupancy.
- SAM (Statistical Analysis Module)
The title of the statistics and analysis package accompanying
FCM.
- SADD (Software Architecture Design Document)
The document preceding this one which provides a high-level
architectural design of all the modules in the project. The SADD
formed the basis for this document.
- SRS (Software Requirements Specification)
The document specifying the requirements for the project.
- stream
A series of packets between two hosts.
- stream protocol
A connection-oriented protocol which delivers data in variable-length
packets whose size have no necessary relationship with the size
of the packets that were sent, an example being TCP. For
example, if one host sends two 50-byte packets to the other host, that
host may receive them as 100 single-byte packets, as a single 100-byte
packet, or as a handful of smaller packets. Furthermore, those 100
bytes might be sandwiched between data from previous and successive
sends.
Compare with datagram protocol.
- TCP (Transmission Control Protocol)
The error correcting Transport layer (Layer 4) in the TCP/IP
protocol suite. A stream protocol that allows efficient data
transfer across networks of different kinds with different
communication parameters, as well as different underlying
communication protocols.
- TCP/IP
The protocol suite used in the Internet, intranets, and
extranets.
- TCP window
The amount of outstanding (unacknowledged by the
recipient) data a sender can send on a particular connection
before it gets an acknowledgement back from the receiver that it
has received some of it.
- throughput
The amount of data transferred from one place to another in a specified
amount of time.
- RAMI (Rate Adjustment by Managing Inflows)
The title of the project comprising of FCM and SAM.
- user space
A block of memory dedicated to the use of user-mode processes, which
does not have access to kernel-level code, system memory and hardware.
- window
See TCP window.