Data Expedition, Inc. ®

Move Data Faster

Support

Support
Overview
Services
Tech Notes
Software Index
Glossary
Request Help

Software Index

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
A network node or application which requests some service from a centralized server.
congestion
Congestion is when data arrives at a router faster than it can be processed.  Incoming data is then collected in the router's buffers where it waits until it can be sent 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.  See Tech Note 0021 for more.
datagram
A small collection of data, typically 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.
downlink
The physical network connection through which data is received from the Wide Area Network (WAN).  Some network technologies, such as ADSL or Cellular, provide much faster downlink speeds than uplink speeds.  Even if the rated speeds of the downlink and uplink are the same, differences in data flowing in each direction may cause each to have different performance characteristics.
DropDat
A graphical ExpeDat droplet generator for Windows and Mac OS X that allows you to create pre-configured clients for sending files and folders to servedat, and to embed administrative settings into MTPexpedat.  See the DropDat manual for details.
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
Sending data faster than, and without regard to, the throughput capacity of the network.  This causes congestion and data loss.  Most accelerated data transport technologies will cause flooding unless their speed is manually limited.  MTP is unique in its ability to automatically achieve high throughput without flooding.
gibibyte (GiB)
2 to the power of 30 bytes (1073741824).  This unit was created relatively recently to resolve perceived ambiguity with the "gigabyte" unit.  See also gigabyte (GB).
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 often expressed as megabytes or 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.  See Tech Note 0030 for an online conversion calculator.
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).
goodput
The "net" or "useable" throughput, as measured at the application layer after accounting for any and all sources of overhead and inefficiency.  This is always less than the rated speed of a data path due to packet headers, application headers, packet loss, flow-control inefficiencies, competing traffic, and other factors.
header file
A file containing programming templates for the procedure calls contained in a library, API, or SDK.
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.
kibibyte (KiB)
2 to the power of 10 bytes (1024).  See also kilobyte (KB).
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 often expressed as megabytes or 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.  See Tech Note 0030 for an online conversion calculator.
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.  See Tech Note 0021 for more.
library
A file consisting of machine instructions which define various procedures as part of an API or SDK.
link (network or data)
A path between two IP addressable hosts with no other such hosts in between: a single hop.  A link may be visualized as a direct connection between two computers or routers.  Often the physical infrastructure is actually more complex.  For example, a DSL link between your computer and your service provider's router may look like one 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.  See also downlink and uplink.
Local Area Network (LAN)
A 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 less than one millisecond.  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.
mebibyte (MiB)
2 to the power of 20 bytes (1048576).  This unit was created relatively recently to resolve perceived ambiguity with the "megabyte" unit.  See also megabyte (MB).
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 often expressed as megabytes or 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.  See Tech Note 0030 for an online conversion calculator.
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 proprietary transport protocol, optimized for high speed, high efficiency Internet data transport.  See our MTP pages for more information about MTP/IP.
MTPexpedat
A graphical ExpeDat file transfer client.  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.  See throughput and goodput.
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.
tebibyte (TiB)
2 to the power of 40 bytes (1099511627776).  This unit was created relatively recently to resolve perceived ambiguity with the "terabyte" unit.  See also terabyte (TB).
terabit (Tb)
In the context of memory, this is 2 to the power of 40 bits (1099511627776).  However, in the context of network links, it often refers to only one trillion bits (1000000000000).  There are 8 bits in a byte.  Note that link speeds are usually written in megabits or gigabits per second, while throughput is often expressed as megabytes or gigabytes per second.  While the factor of 8 difference is fairly straight forward, the 10% difference between the base 10 and base 2 definitions of "terabit" can result in some confusion.  See also terabyte.  See Tech Note 0030 for an online conversion calculator.
terabyte (TB)
2 to the power of 40 bytes (1099511627776).  Note that in some contexts, such as specifications written by hard disk manufacturers, a terabyte counts only one trillion bytes (1000000000000).  See also terabit (Tb).
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.  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.  See also goodput and 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.
uplink
The physical data connection followed by data being sent from the Local Area Network (LAN) or host to the Wide Area Network (WAN).  Some network technologies, such as ADSL or Cellular, provide much faster downlink speeds than uplink speeds.  Even if the rated speeds of the downlink and uplink are the same, differences in data flowing in each direction may cause each to have different performance characteristics.
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.