Lightstreamer has been heavily optimized for the transmission of data over a TCP/IP network and offers some unique features, such as bandwidth control and adaptive streaming. Its powerful network control mechanisms make Lightstreamer the perfect choice to stream data to any kind of client (not only to HTML browsers).
 
bandwidth control

For each user, Lightstreamer can allocate a maximum bandwidth that is dedicated to the streaming channel. For example, if it is required that a certain user cannot exceed a bandwidth of 10 kbps, Lightstreamer will filter the data in such a way as to ensure that the streaming connection with that user always remains below 10 kbps.

The system is also able to allocate a maximum update frequency for each user/item combination. For example, it is possible to configure the profile of a certain user so that they do not receive more than 2 updates per second for a certain subscribed item (piece of data).

Filtering the data makes sense not only to limit the bandwidth occupied by the streaming connection, but also to improve the quality of data usage on the part of the end user. The "human interface" can absorb data by a combination of the human eye and brain, which are incapable of perceiving data changes of more than a few updates per second. Sending 30 updates a second would be a waste of bandwidth and computing resources, as they could never be taken in by a human user. However, Lightstreamer can also feed automated (as opposed to human) processes. In this case, it is possible to bypass the filtering mechanisms.

Lightstreamer manages the filterable data feeds by means of two subscription modes, called MERGE and DISTINCT. However, there are data feeds that should not be filtered. Lightstreamer manages the non-filterable data feeds by means of a subscription mode called RAW. Lightstreamer also offers another method of subscribing push data, COMMAND, that makes it possible to handle the so-called meta-push.

Please consult our White Paper to know more about subscription modes.

The advantages of bandwidth control are obvious, both for the server and for the client. For the server, bandwidth control makes it possible to size the Internet connection required simply and accurately. For the client, bandwidth control makes it possible to avoid saturating the bandwidth of the user's modem. Traditional push connections through narrow band equipment (e.g. analog modems or GSM/GPRS mobile networks) risk rapidly saturating the available bandwidth and blocking the user's access to other services. With Lightstreamer, 4 Kbps can be allocated to the push channel on a GSM mobile phone, leaving about another 5 Kbps free to access other Internet services. In other words, bandwidth control allows partitioning of the client's bandwidth among various applications.

top ^
adaptive streaming Internet connections are often unable to offer a guaranteed bandwidth. This means that the ability to allocate a maximum bandwidth to each user may not be sufficient to ensure that the push connection is managed in the best way possible. The system has to be able to take into account exactly how much bandwidth is actually available at any moment in time.

Lightstreamer automatically spots situations of congestion on the Internet, heuristically slowing down or suspending the dispatch of data until the connection is again fully serviceable. This means that if at any time the actual available bandwidth is less than the allocated and required bandwidth, Lightstreamer uses its own filtering mechanisms to modulate the transmission of data with a more suitable bandwidth. The advantage is that when the channel becomes available again, the user does not receive a burst of obsolete updates, but immediately starts to see the new data (in other words, data aging is avoided).

Adaptive streaming is particularly useful for connections that are notoriously unstable and variable, such as those on the GPRS network. Let's assume that the user starts a push session on their GPRS smartphone (using one of the many mobile clients made for Lightstreamer). If at a certain point the GPRS signal deteriorates and the effective bandwidth narrows Lightstreamer Server detects what is happening and adapts the streaming in a dynamic way to the new network conditions, even going so far as to suspend the transmission of data in the event that no bandwidth is available at all.

Lightstreamer also has direct control over the composition of the TCP packets. Instead of delegating the aggregation of data in packets to the operating system using the Nagle algorithm, Lightstreamer Server itself decides on each occasion the optimum composition of each TCP packet, with the objective/trade-off of reducing the delay time before data is sent off and at the same time minimizing the number of dispatched packets.

top ^

HOME >> TECHNOLOGY >> NETWORK