next up previous contents
Next: A. Appendix Up: Detailed Design Document (DDD) Previous: 9.2 SAM   Contents


10 Glossary

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.

$p(q)$
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.


next up previous contents
Next: A. Appendix Up: Detailed Design Document (DDD) Previous: 9.2 SAM   Contents