Overview of STARS
[Top Page]
STARS (Simple Transmission and Retrieval System) is a message transferring software for smallscale
control systems with TCP/IP sockets, which works on various types of operating systems (STARS server is wrtten in Perl).
STARS consists of client programs (STARS clients) and a server program (STARS server), and each client is connected to the server via a TCP/IP socket. STARS users can upgrade the system by writing client programs, and STARS clients are able to participate in the system at any time without system stoppage.
Node Name and Message Transfer
STARS clients and STARS servers handle only textbased messages. Figure 1 shows an example of message
transfer on STARS.
Each client program has its own unique node name on STARS and sends messages to the server with the
destination node name. "0" to "9", "A" to "Z", "a" to "z", "_" and "-" are available for the node name. In the example, a client named Term1 sends a message (1) to the server with the destination client name gDev1h. The server then sends the message to the applicable client named Dev1 (2).
STARS has the following simple rules for messages:
- A message that starts with g@h (e.g., @message) is a reply to a command.
- A message that starts with g_h (e.g., _message) is an event.
- Any other type of message is a command.
Dev1 receives a command from the server in the example. It must send a reply message to the server with the destination node name gTerm1h (3) in this case. Finally, the server delivers the message to Term1 (4).
Event Delivery Function
STARS has an event delivery function. Figure 2 shows an example of the message delivery process. An event delivery request is registered by sending a gflgonhcommand to the STARS server. gSystemh is used as the destination node name of the STARS server. In this example, Term1 sends an event delivery request related to Dev1 to the server (1). The server then returns a reply message to Term1 indicating that the request has been registered (2).
After the request has been accepted by the server, if Dev1 sends an event message with the destination node name gSystemh (3) to the server, the request is delivered
to Term1 (4).
Certification on STARS
STARS has a simple certification procedure in three steps as follows:
- Host name certification
- Node name and keyword certification
- Node name and host name certification (option)
Figure 3 shows the certification procedure. When a client connects to the STARS server via port 6057, the server first checks the host name of the client machine.
If the host name is not on the list of the server, the connection is immediately cut by the server. If the host name exists, the server returns a random number.
This number indicates a valid keyword, and the client must next send its node name and a corresponding
keyword with the number. For example, if the node name of the client is gterm1h and the server returns g0h, the client must send gterm1 key1h to the server. The server then checks the node name and keyword against the keyword file. Finally, the server checks the host name and node name (if necessary), and if every procedure has been performed correctly a connection is established.
Hierarchical Node Name
A hierarchically structured system can be developed with the hierarchical node name of STARS.
A period (g.h) is used for the separator and the STARS server uses the first part of the node name as the destination.
For example, if the destination node is specified as gBr1.Dev1h or gBr1.Dev2h, both messages are delivered to Br1 (Figure 4).
A client program like Br1 must be able to handle hierarchical node names in a real hierarchically structured system. This type of client program is called a bridge.