Freeway

Freeway is the name of Dataworks Enterprise' multicast distribution system.

The main benefits of Freeway is that it supplies better scalability and reliability than the TCP distribution system supplied by Remote Client and Server. It is also easier to configure. However, this benefit has to be offset by the cost of hardware setup. Generally, it is only worth installing this system in larger networks.

Freeway servers advertise the existence of Dataworks Enterprise sources and make their data available to Freeway clients using UDP IP multicast (or by configuration broadcast). Freeway clients are "aware" of all the instances of a particular Dataworks Enterprise source within the network and will load balance their use of these resources. Consequently, the network is considerable more scaleable than the standard Remote Client/Server network. Additionally, clients dynamically reconfigure themselves as servers come online or go offline.

Detail

In essence, Freeway is a "bus" technology. A number of hosts are connected to a private, dedicated network, typically using an Ethernet switch, either as Freeway clients or Freeway servers or both. Consequently, each machine in question has an additional network interface dedicated to the Freeway network. This network is known as the "backbone" and all Freeway communication happen using it.

The network-level communications are integrated into a module is known as the "Freeway Broker". For maintenance purposes it is possible to "sniff" the Broker communications using a separate program called "Sniffer" supplied as part of the core distribution. The broker is responsible for detecting the presence of peers, packet sequencing and retransmission, fragmentation and so on.

At a higher level is the Freeway module itself. This incorporates by the client and server code in the same binary. This eases installation and configuration issues.

The Freeway server code consists of a Dataworks Enterprise RTClient that it uses to send requests upstream, and the interface to the broker code for communicating to the Freeway network. Freeway servers are responsible for "advertising" the sources that they are making available to Freeway clients, which they do by sending "SourceSet" messages when a client connects and updates when changes are made to their source tables.

The Freeway client code consists of a Dataworks Enterprise RTServer for connection to downstream "devices" and the code required to select and use Freeway servers as reported by the broker. All Freeway clients maintain lists of peers using an ordering scheme which is the same for all clients. Freeway clients load balance between servers using a hashing algorithm. The hash is invariant for any request on any client machine. Consequently, two Freeway clients requesting the same information will request this data from the same Freeway server. So if two Freeway clients are requesting the same 40K instruments from two Freeway Servers, the total number of requests at each server will be approximately 20K. Moreover, the update streams for all these instruments are consolidated, so it does not matter how many clients are attached to the network. This is how the system achieves scalability.

Freeway clients and servers typically also run Remote Servers and Clients respectively amking the Freeway "service" available externally although there is no technical reason why the service cannot be accessed directly from the Freeway network.

History

First Introduced in beta form in Release 2.0.0.147.

Dependencies

None.

Configuration

Freeway uses a standard configuration file that is documented. As far as possible, the Freeway module is "self configuring". When the module starts up, it connects to the multicast bus and gets most of its configuration information from the network. However, in order to achieve this some configuration may have to be made locally.

Typically, the only real configuration required is whether the module is to be run as a Client, a Server or Both. Ocassionally, the IP subnet to use also needs to be configured. It defaults to 10.0.0.0.

Sources

This module does not intrinsically provide sources, except for the management sources used by the Source Monitor for statistics collection. These management sources are, by default, turned off. For a Freeway client, the management sources is called:

	Freeway.[config]@[machine_name]

For the server it is:

	Freeway.[config]@[machine_name]

To use these sources, request the instrument "CATALOGUE". This will return a record containing a list of other records which can be requested and a list of commands that can be executed by the component. The actual content of this record depends on the module in question and is subject to change from time to time.

Known Problems

None.