Link to the Information Technology Laboratory Website Link to the Information Access Division Website Link to the NIST Website NIST, IAD Banner

Main components of the framework

In this section we introduce the main components of the NDFS-II.

  • Client node: An executable program that uses the NDFS-II library to consume and/or produce flows. There are also client nodes that do not use flows, but provide control over the NDFS-II network such as the Control Center.

  • Flow: A buffered data stream connecting a producer node to an arbitrary number of consumer nodes and providing distributed data transport. These flows have a type (e.g.: Flow_Multichannel_Audio), a name (e.g.: arrayOut), and a connection ID. It is possible to add more properties to flow (ex: bits=24 rate=22050 channels=64). You also have the possibility to create your own type of flows depending on your needs.

  • Duplicator: An executable program that handles the distribution of the flow between the clients, either on a single host or to network connected hosts on a network. As a user, you will never have to directly handle duplicators.

  • Buffers: The basic unit of data exchanged among client nodes via flows when they emit data to, or consume data from a flow. Each flow has its own buffer characteristics, in particular the maximum size that a buffer can be, and the data type being transmitted. Buffers are also called data blocks.

  • Application: An application is a flow domain in which the clients run. An application is thus represented as an arbitrary number of client nodes exchanging data. The NDFS-II library provides a default flow domain. Users can define their own domains, making it possible to have several domains, i.e., several NDFS-II application running on the same physical subnet. A physical machine can only be part of one domain. The domain is set up when starting the data flow server.

  • Data flow server: The server that centralizes all the information for a given application. The information is in particular what and where are the client nodes on the network and which flows they provide or consume. A Data flow server can only belong to one domain.

  • SHM, Shared Memory: This facility is used by a given host to exchange data between duplicators and clients, since it is much faster than any other inter-process communication mechanisms.

  • Host, System or Machine: A computer participating in an application graph by running a data flow server, and any number of client nodes.

Created on 2008-06-18 by Antoine Fillinger - Last updated on 2008-11-23 by Antoine Fillinger