LonServer / LonSwitchServer
The LonServer protocol has been defined to overcome configuration complexity of the EIA852. It is primarily intended to create a local virtual Lonworks bus within a host device or within gateway. It may however be used from remote devices, for example to “probe” the network and temporarily install a protocol analyzer.
The LonServer protocol manages packets transmission over transport medias like serial lines (RS232, RS485) or Ethernet / UDP. It can be used over standard modems (RF modems, fiber optic serial ports, ...), LAN or the Internet.
LonServer protocol supports authentication, encryption automatic registration and unregistration
LonServer / LonSwitchServer
The LonServer is a software block who implements a virtual Lonworks bus where clients share Lonworks messages using the LonServer protocol.
Illustration of a LonServer virtual bus supporting various clients
Lon clients on the above schema can be any application. Some Lonworks clients are consuming Lonworks messages, this will be the case for virtual nodes: a virtual node runs a Lonworks stack and communicates with other Lonworks nodes (virtual or not). Some Lonworks Clients are providing physical access to real Lonworks nodes; this will be the case of the connectors (described below).
There are two variants of this virtual bus:
LonServer is just like a hub or a virtual copper wire; every message sent on the virtual bus will be received by all other connected clients regardless of the message's content; that's really equivalent to a copper-wired connection. When interconnecting software blocks internally in a gateway, this is an easy approach and there is no bottleneck as the messages transport occurs internally. If however some clients are connectors (providing access to a physical network), when using the LonServer, every packet will be sent on the physical network and could cause network congestion in case of important activity on the virtual LonServer bus.
The LonSwitchServer product is an extension of the LonServer and adds intelligent packet analysis so that LonClients are logically isolated from each other and will only receive the meaningful packets. This provides both bandwidth reduction and enhanced security. When using the LonSwitchServer, typicall master/slave applications where a central PC server communicates with many Lonworks nodes can be scaled to almost any size. You just need to ensure that the central server is powerful enough to manage the number of nodes; from a Lonworks network point of view, the system will be segmented and no bandwith limitation on the final Lonworks segments will occur.
The LonSwitchServer feature is plug and play and does not require any configuration. It adapts itself to changing configurations.
LonSwitchServer exists in two implementations (Pure C/C++ and .NET) and supports various platforms. The .NET version of LonSwitchServer supports a plugin mechanism which further extends the functionality by allowing authentication mechanisms. Such authentication mechanism may restrict access to the virtual Lonworks bus for unauthorized Lonworks nodes, thereby enhancing the security and safety. A typical application would be interconnected multi-sites applications, i.e. appartments with local Lonworks bus and Lonworks connectivity to a common facility.
The LonClient is a software block that supports automatic registration/unregistration to a LonServer or LonSwitchServer. Connection to the LonServer is made through IP (UDP) packets and only the LonServer IP/Port information is required. A LonClient software block is only an access provider to the virtual Lonworks bus; it must be completed by some code consuming the Lonworks connection, such as a Lonworks stack (virtual node) or a connector (physical access)