Software and Operational Research
This document provides an UML diagram collection describing FLUTE main concepts. The main reference is “Request for Comments: 3926 - FLUTE - File Delivery over Unidirectional Transport”
The ALC/LCT concept of ‘object’ denotes either a ‘file’ or a ‘File Delivery Table Instance’.
TOI - The Transport Object Identifier. Each object is associated with a unique TOI within the scope of a session.
Each file in a file delivery session MUST be associated with a TOI (>0) in the scope of that session.
The TOI value '0' is reserved for delivery of File Delivery Table Instances. Each File Delivery Table Instance is uniquely identified by an FDT Instance ID.
A receiver of the file delivery session keeps an FDT database for received file description entries. The receiver maintains the database, for example, upon reception of FDT Instances. Thus, at any given time the contents of the FDT database represent the receiver's current view of the FDT of the file delivery session. Since each receiver behaves independently of other receivers, it SHOULD NOT be assumed that the contents of the FDT database are the same for all the receivers of a given file delivery session.
Id - Each FDT Instance is uniquely identified within the file delivery session by its FDT Instance ID.
Expire - Tells the expiry time of the FDT Instance.
Complete - When TRUE, signals that no new data will be provided in future FDT Instances within this session.
Each file description entry MUST include the TOI for the file that it describes and the URI identifying the file. The TOI is included in each ALC/LCT data packet during the delivery of the file, and thus the TOI carried in the file description entry is how the receiver determines which ALC/LCT data packets contain information about which file. Each file description entry may also contain one or more descriptors that map the above-mentioned attributes to the file. A file description entry contains at a minimum the mapping between the TOI and the URI.
FecEncodingId, FecInstanceId - FEC Object Transmission Information (including the FEC Encoding ID and, if relevant, the FEC Instance ID)
transportSize - Size of the transport object carrying the file.
Rate - Aggregate rate of sending packets to all channels.
URI - Name, Identification and Location of file.
MIME - MIME media type of file.
fileSize - Size of file.
Encoding - Encoding of file
Digest - Message digest of file
Logically, the FDT is a set of file description entries for files to be delivered in the session.
Within the file delivery session the FDT is delivered as FDT Instances.
An FDT Instance contains one or more file description entries of the FDT. Any FDT Instance can be equal to, a subset of, a superset of, or complement any other FDT Instance. A certain FDT Instance may be repeated several times during a session, even after subsequent FDT Instances (with higher FDT Instance ID numbers) have been transmitted. Each FDT Instance contains at least a single file description entry and at most the complete FDT of the file delivery session.
An ALC/LCT session consists of a set of logically grouped ALC/LCT channels associated with a single sender sending packets with ALC/LCT headers for one or more objects.
The (source IP address, TSI) pair uniquely identifies a session, i.e., the receiver uses this pair carried in each packet to uniquely identify from which session the packet was received.
Each file delivery session MUST have an FDT that is local to the given session. The FDT MUST provide a file description entry mapped to a TOI for each file appearing within the session. An object that is delivered within the ALC session, but not described in the FDT, is not considered a 'file' belonging to the file delivery session.
An ALC/LCT channel is defined by the combination of a sender and an address associated with the channel by the sender.
The TOI field MUST be included in ALC packets sent within a FLUTE session, with the exception that ALC packets sent in a FLUTE session with the Close Session (A) flag set to 1 (signaling the end of the session) and that contain no payload (carrying no information for any file or FDT) SHALL NOT carry the TOI.
Information carried in the headers and the payload of a packet is scoped by the source IP address and the TSI. Information particular to the object carried in the headers and the payload of a packet is further scoped by the TOI for file objects, and is further scoped by both the TOI and the FDT Instance ID for FDT Instance objects.
In case multiple objects are carried within a session, the Transport Object Identifier (TOI) field within the ALC/LCT header identifies from which object the data in the packet was generated. Note that each object is associated with a unique TOI within the scope of a session.
The EXT_FTI header extension is intended to carry the FEC Object Transmission Information for an object in-band.
FLUTE inherits the use of FEC building block  from ALC. When using FLUTE for file delivery over ALC the FEC Object Transmission Information MUST be delivered in-band within the file delivery session.
If the FDT Instance is content encoded, this (EXT_CENC) MUST be used to signal the content encoding type.
FDT Instances are carried in ALC packets with TOI = 0 and with an additional REQUIRED LCT Header extension called the FDT Instance Header. The FDT Instance Header (EXT_FDT) contains the FDT Instance ID that uniquely identifies FDT Instances within a file delivery session.