feature [3,2]. Among the most representatives methods of texture detection are the co-
occurrence matrices, a method that have been also implemented in this server. 
In this case, one matrix was computed for each of the three channels R, G, B.  For 
an image f(x, y), the co-occurrence matrix h
dφ
 (i, j) is defined so that each entry (i, j) is 
equal to the number of times for that f(x
1,
y
1
) = i and f(x
2,
y
2
) = j, where (x
2,
y
2
) =  
(x
1,
y
1
) + (dcosφ, dsinφ). This leads to three quadratic matrices of dimension equal to 
the number of the color levels presented in an image for each distance d and 
orientation  φ.  The classification of texture is based on the characteristics extracted 
from the co-occurrence matrix: energy, entropy, maximum probability, contrast, 
inverse difference moment and correlation. The three vectors of texture characteristics 
extracted from the three occurrence matrices are created using the 6 characteristics 
computed for d=1 and φ=0.  The texture representation in this case is done using a 
characteristics vector with 18 values stored in the database. 
The results of these computations are stored in a variable of Image Data type. The 
color information is stored as a vector with 166 values and it is used furthermore in 
the content-based image query and content-based region query. 
After the algorithm’s execution, the resulted image texture feature will be an 18-
dimension vector that is also added to the IMAGE variable.  
The results of the content-based visual query process, using the color histograms 
with 166 values in HSV color space and Gabor Filters were presented in [4,5]. 
4  Client-Server Working Example 
The first step is to create a connection with the server using TCP sockets 
communication. Once a channel has been open, all commands will be sent using this 
connection. Now, the server has accepted the client but cannot accept any command 
from it, yet. Before that, the client should be authenticated using a username and a 
password. 
The command that should be sent first is an array with the text:   
login username=”username” password=”password” 
After receiving this message the server respond either with an acknowledge 
message, either with a reject message. In case of a reject message, the user has the 
possibility to try again two more times. If it doesn’t get an acknowledge message after 
these tries, it will be banned for an hour. During this time, even if the client sends a 
connection message containing a valid username and password it will be rejected. 
Once the client has been recognized by the server it will received a unique 
identification number that will be de-allocated only when the client closes the 
connection or send a logout message. 
There are 2 kinds of commands that it can send: system commands and query 
commands. 
The system commands refer to create new users, set/change users rights or get 
tables structure (attributes and the associated data types). 
Among the most useful query commands used it can be enumerated: 
82