DSTP and .NET remoting are a powerful combination for remote testing platforms
The Microsoft .NET Framework includes .NET remoting, a core distributed technology that facilitates communication between different computer processes. It enables software objects in different applications or processes to establish communication channels abstracted from the underlying transfer protocol. This approach to processing communication separates the remotable object from a specific client or server application domain and from a specific communication mechanism.
In most cases, server applications can transform a local object into a remote object with a simple configuration. Clients can easily access remote objects in the same way that they use local objects. Remote objects create data packages and send them to other computers using channels. In normal operation, the client simply creates an instance of the server class. The remoting framework then automatically creates a proxy object that represents this class and returns a reference of the proxy to the client. At least one channel must be registered with the remoting framework before a remote object can be called. Channels must be registered before objects are registered.
National Instruments' DataSocket technology allows researchers to share real-time measurement data without the disadvantages of TCP/IP. The DataSocket Transfer Protocol (DSTP) exchanges data in real time between computers in the same network, or between measuring devices and a single computer. Moreover, measurement systems based on DataSocket can set up interactive network connections and secure data sharing while supporting various data types. Although DataSocket has been widely used in LabVIEW and LabWindows applications, National Instruments' Measurement Studio software now makes DSTP available to measurement applications implemented in the .NET Framework. This combination is advantageous because .NET remoting is flexible, while DSTP is good at data sharing.
The core of the remote platform is composed of a data-sharing system and a remote processing system. Figure 1 shows the structure of the remote measurement platform based on the .NET Framework and Measurement Studio.
The data-sharing system is based on DSTP, which is set up on a DataSocket server by a control terminal. When the testing terminal receives target data from a measurement device, the shared data source on the DSTP server refreshes synchronously. All the other terminals connected to the DSTP server receive the data stream immediately. In the DSTP system, only one terminal can write data at a time. Thus, after refreshing the data from the testing terminal, the writing right is reclaimed and passed to the analysis terminal. After the analysis terminal finishes the data processing, the writing right is passed to the control or monitor terminal to get commands.
The remote processing system is based on the .NET remoting framework, which is extremely flexible. The remote server obtains the shared data stream from the data-sharing system via a DSTP connection. This stream is stored in the remote object, which is managed by a remoting server. Multiple clients can obtain the measurement data stream and specific attributes by calling the methods in the remote object through the channel set up by the client and the remote server. DSTP and .NET remoting technology can be used in both client/server and browser/server structures.
As an example of the power of the DSTP and .NET remoting combination, consider meteorological satellites. These gradually send photographs of clouds, called nephograms, to ground receivers when they pass the receiving field. Analysis work generally cannot begin until the nephogram has been fully received. Complete nephograms from the FY-1 meteorological satellite, for instance, must be received by ground stations in three cities: Beijing, Guangzhou, and Urumchi. With a measurement platform based on .NET remoting and DSTP, the receiving work can be a parallel procedure. Furthermore, receiving and sharing a nephogram can occur at the same time.
A remote measurement platform based on .NET remoting and DataSocket make a testing system flexible and powerful. This platform can be used in industrial measurement, automatic control, meteorology, medical consultation, and remote teaching. It successfully solves the problems of real-time high-speed data sharing, and remote method calling.
Ziyan Wu is a postgraduate student at Beihang University, where he is studying machine vision, image processing, computer interfaces, data acquisition, and remote communication and measurement. He has also written a paper for the ISICT 2006 conference.