The transport layer uses TCP as transport
protocol to secure high reliability in the NVS
system.
The application layer has three divisions
corresponding to the ISO/OSI model: session
layer, presentation layer, and application layer. A
protocol was designed in the session layer to
synchronize server and client, as explained in the
next paragraph. The presentation layer is
represented by the definitions of "classes" in C + +
programming. The application layer
implementation contains the server and client
ends.
The session layer uses the "request-response
mode"[7].
HELO: A client greets the server when a
connection is established.
REDY: The server responds to the client's
greeting showing it is ready and distributes a
handler to identify the client. The client and server
complete the "hand-shake".
INIT: The client requests initial data. Whenthe server receives this request, it sends the initial
data including the ballot standard and rule
definition data.
DATA: The client sends the processed data to
the server.
BMP: BMP indicates that the following data
is bitmap data.
END: END indicates end of current
transmission.
ERROR: Error indicator followed by an error
code to indicate which kind of error occurs.
OK: After the server receives the data
terminated with "END" and finishes processing, it
will send the command to the client to enable
transport of the next ballot data.
QUIT: Whenever the server and client quit
the voting process, the command is sent to the
other end. The server will mark the client as
terminated in the monitoring interface once it
receives the message. The clients will terminate,
also, if the server ends.