Name: Dispatcher
Submitter: ShaunR
Submitted: 07 Sep 2010
File Updated: 03 Jan 2011
Category: Remote Control, Monitoring and the Internet
LabVIEW Version: 2009
License Type: Other (included with download)
This is a Publisher/Subscriber implementation of network communications.
The package is comprised of two main parts.
1. A Dispatcher that handles connection requests.
2. An API for interacting with the Dispatcher.
Overview.
Most people are probably familiar with RSS feeds. An RSS feed is an example of a publisher/subscriber implementation,
where information is "published" onto the internet and people may "subscribe" to updates using their browser or
some other client. A single published service may have millions on subscribers and publish its data every few hours as
data changes or periodically, maybe once or twice a day.
This package contains a similar implementation where a client "subscribes" to a "publisher", however, it is geared towards
high bandwidth data streaming across a local network. So, unlike its internet counterpart, it is not attempting to
service millions of clients who require an update once or twice a day. But service a few (maybe 1-10) clients every few seconds
or even milliseconds.
Detail:
The main focus of this package is the Dispatcher which facilitates the publisher/subscriber environment.
The implementation can support many network topologies that suit the developers requirements.
For example:
A single dispatcher may be located on a remote machine and all publishers and subscribers are remote and communicate
through it (centralised). Alternatively, there may be many dispatchers on different machines, each with their own
cluster of local services and the subscriber connects to the machine that contains the publisher of interest (decentralised).
Or even a mixture of both. The implementation is not rigid and allows for the developer to choose
the topology simply by installing once or more dispatchers and initiating a connection.
An API is provided to enable interaction with the Dispatcher to query its services, request a connection
and send/receive data.
Additional Features:
Supports data-stream encryption (blowfish).
Installation:
Unzip to a directory of your choice.
Required Packages:
Labview 9.0 or greater.
Transport.lvlib (Included)
Queue.vi (Included)
Position Form.vi (Included)
Stop.vi (Included)
Elapsed Time.vi (Included)
Known Issues.
None.
Versioning:
Current version 1.0.
See changelog.txt.
Contact:
PM ShaunR on lavag.org (http://www.lavag.org)
Click here to download this file