We propose a new version of algorithm presented in
Velarde-Reyes et al (2008). This algorithm (Figure
1) ensures a fast and reliable data interchange and
has four stages: annunciation, acceptation, TCP
connection establishment and reconnection. In the
annunciation stage, the Client must begin the
communication as soon as it has been authenticated
and associated in a WLAN. Communication is
initiated by the transmission of a command sequence
that travels within UDP datagrams addressed to the
broadcast address and to a specific registered port.
Commands consist in annunciation’s indicatives that
will reach all hosts inside the same physical
network. Inside annunciation’s indicatives are the
Client IP address and the registered port opened by
the Client. Annunciation’s indicatives are
repetitively transmitted until the Client receives the
Server’s acceptation commands. The application
running on the Server opens its specific registered
port and receives the annunciation’s indicatives. As
soon as the Server obtains that information, it
permits data transmission to the Client. This new
stage is known as acceptation, and it is executed by
the Server in automatic or manual (by the Server’s
user) form. The Server can simultaneously allow
various Clients to pass to the next stage:
Acceptation.
Acceptation is accomplished by sending commands
to the Client IP address. These commands travel in
UDP datagrams and consist in acceptation’s
indicatives that contain the Server IP address and the
TCP port opened for the next connection.
After the acceptation stage is TCP connection
establishment. In this stage, the Server opens the
TCP registered port indicated in the acceptation
command. Then it starts a passive opening and
waits for a TCP connection establishment. After the
TCP connection establishment stage, the Server send
to Client a TCP Connection Established Indicator
(“Go”) every 3 seconds announcing that it is
prepared to receive all the data sent by the Client.
Client must response to that indicator with a “Go”
ack in case that it is not transmitting medical data.
If Client could not receive “Go” Indicators, it will
initiate the reconnection stage, establishing again a
TCP Connection with previous Server. Also, if
Server could not receive data or “Go” acks, it will
initiate too the reconnection stage, waiting for a TCP
connection establishment by its open TCP port.
3.2 The Server Is in an Infrastructure
Network
In this section we named Infrastructure Network to
the networks that connect different network devices
which are located in different physical networks. In
this case, data travels through different network
nodes (switches, routers, bridges, or others). A
group of interconnected LANs and WANs (wide
area networks) that conforms to the Internet
infrastructure are examples of an Infrastructure
Network.
Our Client could not connect to its Server in this
kind of network using the algorithm proposed in the
previous section. The difficulty is that the broadcast
UDP messages cannot travel out of its physical
networks because most routers in their default state
do not have that configuration. Therefore, it is
indispensable to use a new connection mode in order
to establish a TCP connection between our Client
and its Server when they are in different physical
networks.
The new proposed connection mode is by means of
the use of the Domain Name System (DNS) protocol
services. DNS is a mechanism that implements a
machine name hierarchy for computers, services, or
any resource connected to any network. It associates
several information with domain names assigned to
each of the resources in the network. Its most
important function is to translate domain names
meaningfully to humans into the numerical
addresses associated with networking equipment (or
any resource) for the purpose of locating and
addressing these devices worldwide.
DNS uses a hierarchical naming scheme known as
domain names. A domain name consists of a
sequence of subnames separated by a delimiter
character, the period. Thus, the domain name
electron.cneuro.edu contains three subnames:
electron, cneuro, and edu. Any subname in a domain
name is also called a domain. In the above example
the lowest level domain is electron.cneuro.edu, (the
domain name for the Electronic Design Department
at the Cuban Neuroscience Center), the second level
domain is cneuro.edu (the domain name for the
Cuban Neuroscience Center), and the top level
domain is edu (the domain name for educational
institutions). DNS protocol makes it possible to
assign domain names to users or groups (e.g.,
Internet users) in a meaningful way, independent of
each user’s physical location. Because of this,
Internet contact information can remain consistent
and constant even if the current Internet routing
arrangements change.
Using the DNS protocol, our Client can establish a
TCP connection with its Server if the Server has a
domain name (e.g., epilepticserver.electron.edu.cu).
It will not matter if the Server IP address is unknown
WLANInterfaceforaWirelessEEGSystem
91