Data Expedition, Inc. ®

Move Data Faster

Support
Overview
Tech Notes
Software Index
Glossary
Renewal
Free Test Utility
Request Help
Search DEI:

 

Glossary

Computer and networking terminology often covers many areas and eras of use, making it difficult for even technical experts to understanding each other.  This is especially true with terms that are common in everyday language, but can have different meanings to people with different backgrounds.  This page presents definitions for various technical terms used on this website.  These definitions are not intended to be comprehensive: they are only meant to provide details about the topics on this website.

Terms which are not listed can be assumed to refer to their common definitions.  Some good sources for such definitions are Acronym Finder, and Dictionary.com.  If you find a term used on this website which is ambiguous or you think needs more explanation, please send an email to info@DataExpedition.com.


address (IP)
The numerical designation of a network node.  Under IP version 4 (IPv4), this is a 32-bit number, usually written as four byte values separated by periods (for example, 127.0.0.1).  Under IP version 6 (IPv6, the next generation of IP), this will be a 128-bit number.

Application Programming Interface (API)
The procedure calls and data structures used to access a software technology or code library.

client
Typically, the term refers to a network node or application which requests some service from a centralized server.  In the context of MTP Core SDK programming, however, the term specifically refers to the application which initiates a particular MTP transaction by sending an MTP request.

congestion
Congestion occurs any time data arrives at a router faster than that router is able to forward the data along.  This causes the incoming data to be collected in the router's buffers where it must wait to be sent along to the next hop.  This waiting increases the latency of the path.  If a router's buffers become full, incoming data will be lost.  This is the most common cause of packet loss.

datagram
A small collection of data, typically no more than about a kilobyte, which has been packaged for transport across a network path.  A datagram is the basic unit of network transport, containing the source and destination address, along with other information for use by the various network layers.

developer (application)
Application developers are the creators of software applications who write the original source code.  Note that a great many people and organizations who call themselves "software developers" do not actually write software applications, but only reconfigure and repackage software written by others.

efficiency
The ratio of resources productively used to the resources available.  Low transport efficiency generally means that some infrastructure capacity is being paid for, but not used.  See utilization.

end-user
The person or company which ultimately makes productive use of a software application.  Typically, this is the person who has data that they want moved from one point to another.  This may be distinct from a developer, who integrates MTP into their application, or a service provider, who deploys MTP applications for use by others.

flooding
Deliberately sending data faster than, or without regard to, the throughput capacity of the network.  This causes congestion and data loss.  Many audio/video protocols and some UDP based transport mechanisms cause flooding.  Even TCP can cause periodic flooding.  MTP is specifically designed to avoid flooding the network, thus improving speed and efficiency.

gigabit (Gb)
In the context of memory, this is 2 to the power of 30 bits (1073741824).  However, in the context of network links, it often refers to only one billion bits (1000000000).  There are 8 bits in a byte.  Note that link speeds are usually written in megabits or kilobits per second, while throughput is usually measured in kilobytes per second.  While the factor of 8 difference is fairly straight forward, the 7% difference between the base 10 and base 2 definitions of "gigabit" can result in some confusion.  See also gigabyte.

gigabyte (GB)
2 to the power of 30 bytes (1073741824).  Note that in some contexts, such as specifications written by hard disk manufacturers, a gigabyte counts only one billion bytes (1000000000).  See also gigabit (Gb).

header file
A file containing programming templates for the procedure calls contained in a library, API, or SDK.

hgclient
The client component of the HyperGate product.  hgclient is a light-weight executable that runs in the background to accelerate document transfer between a local browser and a remote hgserver.  See the hgclient manual for details.

hgserver
The server component of the HyperGate product.  hgserver is a light-weight executable that runs in the background to accelerate document transfer between a web server and remote hgclients.  See the hgserver manual for details.

hop
A single link or router in a network path.  The length of a path is usually measured in hops and counts the number of links between two nodes by observing the number of routers and adding one.  The process of measuring the length of a path is called tracing the route, usually using a "traceroute" utility.  Note that VPNs, including those implemented by telecom carriers, may obscure the actual number of hops.

host
A computer connected to a network.  The term usually refers to the physical machine, which may include multiple applications or even multiple network addresses.  See also node.

Internet Protocol (IP)
The set of standards and algorithms by which datagrams are routed across networks between different host computers.  IP is concerned solely with the routing of individual datagrams.  It makes no attempt to correct for data loss, regulate data flow, or distinguish between applications.  It is part of the networking stack, described in MTP FAQ 1.1.

infrastructure (network)
The network hardware and services needed to provide connectivity between nodes.  Typically, this involves some combination of Local Area Networks, uplinks, leased lines, Wide Area Network service, Internet connectivity, hubs, routers, switches, wiring, and so on.  See also path.

kilobit (Kb)
In the context of memory, this is 2 to the power of 10 bits (1024).  However, in the context of network links, it often refers to only one thousands bits (1000).  There are 8 bits in a byte.  Note that link speeds are usually written in megabits or kilobits per second, while throughput is usually measured in kilobytes per second.  While the factor of 8 difference is fairly straight forward, the 2.4% difference between the base 10 and base 2 definitions of "kilobit" can result in some confusion.  See also kilobyte.

kilobyte (KB)
2 to the power of 10 bytes (1024).  See also kilobit (Kb).

latency
The delay experienced by data traversing a network path, typically measured as the number of milliseconds between when data is sent and the soonest time a response can be received from the destination node.  Most paths have a minimum latency based on the infrastructure involved.  The path's latency will increase as congestion increases.  See also, Round Trip Time.

library
A file consisting of machine instructions which define various procedures as part of an API or SDK.

link (network or data)
The term usually refers to a path between two IP addressable hosts with no other such hosts in between.  A link is typically visualized as a direct physical connection between two computers or routers.  If one delves below the network layer, however, you'll find a more complex telecommunications infrastructure.  For example, a DSL link between your computer and your service provider's router may look like a single hop, but may include an ethernet switch, two DSL modems, and one or more ATM routers.  This hidden complexity can become important when ascertaining how a path's characteristics may affect transport performance.

Local Area Network (LAN)
A small network of nodes which are directly connected via hubs or a single switch, with no routers or gateways in between.  For example, several computers each connected via ethernet cable to the same hub, comprises a Local Area Network.  The latency between machines on a LAN is typically about one millisecond and utilization is usually high.  See also Wide Area Network.

loss
The Internet Protocol (IP) is a "best effort" mechanism, which means that it makes no guarantee that the data it is transporting will get through.  If a datagram fails to arrive at its destination within some amount of time, it may be considered lost.  The loss rate is a measure of the ratio of lost packets to the total sent.  For example, 50% loss means that half of all packets sent are failing to arrive.  Congestion is the most common cause of packet loss.

megabit (Mb)
In the context of memory, this is 2 to the power of 20 bits (1048576).  However, in the context of network links, it often refers to only one million bits (1000000).  There are 8 bits in a byte.  Note that link speeds are usually written in megabits or kilobits per second, while throughput is usually measured in kilobytes per second.  While the factor of 8 difference is fairly straight forward, the 5% difference between the base 10 and base 2 definitions of "megabit" can result in some confusion.  See also megabyte.

megabyte (MB)
2 to the power of 20 bytes (1048576).  Note that in some contexts, such as specifications written by hard disk manufacturers, a megabyte counts only one million bytes (1000000).  See also megabit (Mb).

movedat
The command-line client component of the ExpeDat product.  movedat is a light-weight executable that can get, send, and manipulate files on a servedat server.  It is designed to be run by end-users or embedded under other applications and scripts.  See the movedat manual for details.

Multipurpose Transaction Protocol® (MTP™/IP)
DEI's modern transport protocol, optimized for high speed, high efficiency Internet data transport.  See our MTP pages for more information about MTP/IP.

MTPexpedat
The graphical client component of the ExpeDat product.  MTPexpedat provides end-users with a familiar graphical interface for getting, sending, and manipulating files on a servedat server.  It is available for Mac OS X and Windows systems.  See the MTPexpedat manual for details.

node
A point of communication on a data network.  The term usually refers to a specific interface or address on a particular host.

packet
A small bundle of data which has been packaged for transport across a network.  See datagram.

parent application
The software application which is built on top of an SDK.  In the case of MTP, the parent application is the software which is calling on MTP to transport the parent's data.

path
The route traveled by data through a network.  This is usually expressed as the sequence of routers and links that a datagram encounters on its way from one point to another.  Paths are usually characterized by their speed (or the speed of the slowest link), latency, the number of hops, and the rate of packet loss.  Note that not all paths are symmetric.  That is, data moving in one direction between two nodes may travel through a different set of routers than data traveling in the opposite direction between the same two nodes.

ping
An attempt to test the connectivity of a network or application.  The most common form is to send a special test datagram, called an ICMP Echo Request, to a remote host.  If a response is received, then the host is known to be connected and functional.  The timing of the response is used to measure RTT.  A sequence of pings can be used to measure the rate of packet loss.  A ping can also refer to an attempt by an application to query the status of another application.  MTP explicitly provides for this functionality.

port
A 16-bit identifier used to distinguish between different applications using the same transport protocol on the same network node.  When sending data from one application to another, the port number of the destination must be known.  Some port numbers are standardized for specific applications.  For example, TCP port 80 is typically used for HTTP (web) servers.  Port numbers are also important when using firewalls, as firewalls may restrict traffic based on the port number.  Note that TCP port numbers are completely independent from UDP port numbers.  That is TCP port 8080 is not the same as UDP port 8080, and each can be used separately.  Note that MTP uses UDP port numbers.

provider (service)
Service providers package and deploy technologies and services for use by end-users.  For example, an Internet Service Provider (ISP) maintains network infrastructure for use by its clients.  Service providers often act as an intermediary between developers and end-users.

reliability (functional)
The ability of a transport mechanism to successfully complete its task under adverse conditions.  For example, TCP throughput is typically reduced to zero when packet loss along its path reaches 5%.  MTP is able to complete data transfers with packet loss rates as high as 50%.  See also transport reliability.

reliability (transport)
In the context of network transport protocols, reliability refers to whether or not the protocol attempts to correct for packets which are lost in transit, usually due to congestion.  Both TCP and MTP are considered "reliable" protocols in that they try to correct for loss.  As noted in the definition of functional reliability, MTP is about 10 times better at this than TCP.  See also functional reliability.

Round Trip Time (RTT)
The number of milliseconds necessary for a small datagram to travel from one host to another and back again.  The RTT may increase due to congestion, or if larger datagrams are used.  See also, latency, and ping.

servedat
The server component of the ExpeDat and SyncDat products.  servedat is a light-weight executable that is usually run in the background.  It enables clients to get, send, and manipulate files.  See the servedat manual for details.

server
Typically, the term refers to a network node or application which provides some service to many remote clients.  In the context of MTP Core SDK programming, however, the term specifically refers to the application which is responding to a particular MTP request.

Software Development Kit (SDK)
A collection of documentation, header files, and libraries which encapsulates a software technology.  Application developers use SDKs to integrate technology into their applications.  DEI produces several SDKs related to MTP technology.  See also, API.

speed (of data transfer)
The rate of data transfer, usually measured in kilobytes per second.  See throughput.

syncdat
The client component of the SyncDat product.  syncdat rapidly compares the contents of a local directory with those of a servedat hosted directory.  Files are then automatically transferred to make the two directories' contents identical.  See the SyncDat manual for details.

third-party traffic
When discussing a specific flow or exchange of data between two applications, third-party traffic is any other data which is also traveling over any part of the same path.  Each data flow must compete for network resources with third-party traffic.  Note that TCP exhibits a problem known as synchronicity, in which the effects of third-party traffic are greatly magnified.  Not only is MTP immune to synchronicity, it can take advantage of the underutilized gaps created by TCP.

throughput
The rate at which user data is transferred between applications.  Usually kilobytes per second.  This is distinct from bandwidth or link speed, which describes the signaling rate of network hardware.  Note that the throughput observed by the user may be much less than the data rate measured by network equipment, due to transport inefficiencies.  Actual throughput is always less than the bandwidth and network data rate.  Also known as speed.

transaction (rate)
A network transaction is the single, independent exchange of small amounts of data, usually a request in one direction, followed by a response in the other direction.  The rate of transactions is the number of such cycles that can be performed independently (no connection caching) between pairs of network nodes per second.  When small amounts (a few hundred bytes) of data are being exchanged in this way, the overhead of the transport protocol in setting up and tearing down connections becomes a limiting factor in speed.  Since MTP can operate without any setup or tear down overhead, it has a tremendous advantage over TCP.

Transmission Control Protocol (TCP/IP)
A mechanism for assuring the reliable delivery of data between network applications.  TCP was created in 1974 and works by establishing a full-duplex, sequential, semi-infinite byte-pipe between application ports.  Because of the overhead in maintaining such a complex data model, and because many of TCP's design assumptions are no longer valid for modern networks, it tends to have congestion and efficiency problems.  TCP is used to transport over 99% of Internet data.  There are many different implementations of TCP, usually varying by operating system.  It is possible to tune TCP to be more efficient in some situations at the cost of being less efficient in others.

transport protocol
A mechanism for regulating the delivery of network data between applications.  Reliable protocols such as MTP/IP and TCP/IP control the rate of data flow and recover lost packets.  Part of the transport layer of the networking stack, described in MTP FAQ 1.1.

User Datagram Protocol (UDP/IP)
A rudimentary transport protocol built on top of IP.  UDP adds the functionality of port numbers to distinguish between different applications on the same host, but does little else.  All systems that support TCP/IP also support UDP/IPMTP/IP takes advantage of this universal compatibility, and adds its own mechanisms for loss recovery, flow control, session management, etc.

user
The human being who directly controls a software application or its function.  See also end-user.

utilization
The ratio of actual throughput to the maximum attainable throughput.  For example, a 10baseT network link has a signaling rate of 10,000,000 bits per second, or 1,250,000 bytes per second.  If a data transfer across this link occurs at 800,000 bytes per second, the utilization is 64%.  When more than one stream of data is crossing a network (as is usually the case), utilization is measured by adding up the actual throughput of each session, and comparing it to the theoretical maximum.  See also efficiency.

Wide Area Network (WAN)
A large communications network which links various Local Area Networks.  A path across a WAN involves passing through multiple routers and typically has a latency of tens to hundreds of milliseconds.  See also Local Area Network.

Virtual Private Network (VPN)
Software or hardware which makes distant computers appear to be operating on a private Local Area Network, even though the data is really traveling across a public Wide Area Network, such as the Internet.  VPNs are useful because they provide a relatively simple way to connect and administer applications on distant hosts.  VPNs are usually secured by encryption and authentication, which allows many different applications to be secured via a single mechanism.  Some legacy or low-end VPNs use tunnel data using TCP or SSL.  Tunneling VPNs have very high network overhead and are not compatible with MTP.  Most modern VPNs, like IPsec, individually encapsulate each IP datagram.  MTP typically performs very well over packet based VPNs.

info@DataExpedition.com 877-292-2280
Copyright © 2000-2009 Data Expedition, Inc.  All Rights Reserved.