Patent ID: 8234376

Claim:
A server apparatus capable of communicating with at least one of client apparatuses via a network, the server apparatus comprising: a receiving unit configured to receive a first query message that contains address data for indicating a source client apparatus and query data concerning a question via the network and configured to receive a second query message that contains the address data and the query data related with first identifying data via the network; a calculating unit configured to calculate the first identifying data based on the address data contained in the first query message and configured to calculate second identifying data based on the address data contained in the second query message; a creating unit configured to relate the first identifying data with the query data, and create a first response message that contains the query data related with the first identifying data and reply requesting data for requesting to re-transmit the question; a determining unit configured to determine validity of the client apparatus specified by the address data based on the first identifying data related with the query data contained in the second query message and the second identifying data; and a transmitting unit configured to transmit the first response message to the client apparatus specified by the address data, wherein the creating unit is further configured to create a second response message that contains an answer to the query data when the determining unit determines that the client apparatus specified by the address data is valid, the transmitting unit is further configured to transmit the second response message to the client apparatus specified by the address data, the creating unit is further configured to create a third response message that contains an answer to the query data contained in the first query message when the receiving unit receives the first query message, the determining unit is further configured to determine whether a data size of the third response message is larger than a predetermined threshold value, the calculating unit is further configured to calculate the first identifying data based on the address data contained in the first query message when the determining unit determines that the data size is larger than the threshold value, the creating unit is further configured to create the first response message when the determining unit determines that the data size is larger than the threshold value, and the transmitting unit is further configured to transmit the first response message to the client apparatus specified by the address data when the determining unit determines that the data size of the third response message is larger than the threshold value, and is further configured to transmit the third response message to the client apparatus specified by the address data when the determining unit determines that the data size is equal to or smaller than the threshold value.