Patent Publication Number: US-8533273-B2

Title: Method, apparatus, and computer readable storage medium for controlling communication

Description:
BACKGROUND 
     1. Field 
     The present invention relates to an apparatus for controlling communication, and more particularly, to a communication control method that can reduce an amount of communication performed by a terminal that accesses a server to receive a service. 
     2. Description of the Related Art 
     Various services have become available through access from terminals such as PCs (personal computers) and mobile phones to servers, with widespread use of the Internet. Such a service, however, involves frequent access from the terminal to the server to obtain the latest data, depending on how the service is used. As a result, the amount of communication increases. In particular, for a battery-powered terminal, such as a mobile phone, that uses a low-speed and low-capacity communication path, reduction of the amount of communication is a challenge. Although it is possible to incorporate measures for reducing the amount of communication into each application program on a terminal, such measures have to be incorporated on a case-by-case basis, and therefore, the reduction in the amount of communication can be achieved only by an application incorporating the reduction measures. Thus, there is a need for versatile measures that can reduce the amount of communication without modifying individual application programs. In order to address the need, a proxy server has been conceived (e.g., Japanese Laid-open Patent Publication No. 2006-293466). The proxy server receives, from a terminal, a content request including addresses of multiple access destinations, transmits the received content request as content requests for the individual addresses, and transmits response messages as a single response message to the terminal. In this case, the terminal transmits, as one communication message, multiple communication messages for different destinations, and receives, as one response message, multiple response messages from different transmission sources. 
     In the method discussed in Japanese Laid-open Patent Publication No. 2006-293466, since it is necessary to modify both the terminal and the proxy server, the modification scale becomes large and the modification cost increases. In addition, the effect for reducing the amount of communication can be obtained only between the modified terminal and the modified proxy server. 
     SUMMARY 
     Accordingly, an object of the present invention is to provide a communication control method that can reduce the modification cost by limiting the range of the modification to a single apparatus. 
     According to an aspect of the present invention, provided is a communication control method executed by a communication relay apparatus for relaying communication messages. The communication relay apparatus has a communication data storage for storing first data regarding relayed communication messages. The method includes: storing the first data regarding the relayed communication messages in the communication data storage, receiving a current communication message, determining, on the basis of the first data stored in the communication data storage, whether the current communication message satisfies a first predetermined condition, stopping relay of the current communication message satisfying the first predetermined condition, and continuing relay of the current communication message failing to satisfy the first predetermined condition. 
     The communication relay apparatus may relay communication messages exchanged between a first communication apparatus and a second communication apparatus. In such a situation, the first data may preferably regard first communication messages transmitted from the first communication apparatus to the second communication apparatus, and the operation of determining may be operated, on the basis of the first data regarding the first communication messages, when the current communication message is a second communication message transmitted from the second communication apparatus to the first communication apparatus. 
     The communication suppression method may further include: transmitting a proxy transmission message containing a description of the first communication messages to the second communication apparatus during a time period of stopping relay of the current communication message. 
     The communication relay apparatus may further have a proxy data storage for storing proxy data including a destination address and a description of the proxy transmission message. In such a configuration, the method may further include: generating the proxy transmission message on the basis of the proxy data stored in the proxy data storage. 
     The proxy data may further include a reply-to address and an assumed reply message. In such a configuration, the method may further include: transmitting to the reply-to address a reply message received for the proxy transmission message if the reply message does not match the assumed reply message. 
     The proxy data may further include a transmission interval of the proxy transmission message. 
     The communication relay apparatus may relay communication messages exchanged between a first communication apparatus and a second communication apparatus. In such a situation, the first data may preferably regard second communication messages transmitted from the second communication apparatus to the first communication apparatus, and the operation of determining may be operated, on the basis of the first data regarding the second communication messages, when the current communication message is a second communication message transmitted from the second communication apparatus to the first communication apparatus. 
     The first data may include at least one of descriptions of the relayed communication messages, sent times of the relayed communication messages, and received times of the relayed communication messages. In such a configuration, the operation of determining may include at least one of determining on the basis of the descriptions of the relayed communication messages, determining on the basis of the sent times of the relayed communication messages, and determining on the basis of the received times of the relayed communication messages. 
     The first predetermined condition may include at least one of that a description of the current communication message matches one of the descriptions of the relayed communication messages included in the first data, and that a sent time or a received time of the current communication message satisfies a third predetermined condition with the sent times or the received times of the relayed communication messages. 
     The operation of stopping relay may include at least one of stopping and canceling relay of the current communication message, and stopping relay of the current communication message to resume the relay upon satisfying a second predetermined condition. 
     The second predetermined condition may include elapse of a predetermined time after stopping relay of the current communication message. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram illustrating a system configuration of a communication control apparatus according to a first embodiment of the present invention; 
         FIG. 2  is a diagram illustrating an example of a communication data table stored in a communication data storage of a communication control apparatus according to a first embodiment of the present invention; 
         FIG. 3  is a diagram illustrating an example of a proxy data table stored in a proxy data storage of a communication control apparatus according to a first embodiment of the present invention; 
         FIG. 4  is a diagram illustrating a flowchart of a process for determining repeated communications, which is performed by a communication control apparatus according to a first embodiment of the present invention; 
         FIG. 5  is a diagram illustrating a data structure of an HTTP response; 
         FIG. 6  is a diagram illustrating a flowchart of a process of proxy communication performed by a communication control apparatus according to a first embodiment of the present invention; 
         FIG. 7  is a diagram illustrating an example of a proxy data table stored in a proxy data storage of a communication control apparatus according to a second embodiment of the present invention; 
         FIG. 8  is a diagram illustrating a flowchart of a process of proxy communication performed by a communication control apparatus according to a second embodiment of the present invention; 
         FIG. 9  is a diagram illustrating a flowchart of a process for delaying relay, which is performed by a communication control apparatus according to a third embodiment of the present invention; 
         FIG. 10  is a block diagram illustrating a system configuration of a communication control apparatus according to a third embodiment of the present invention; 
         FIG. 11  is a block diagram illustrating a system configuration of a web mail server according to a fourth embodiment of the present invention; 
         FIG. 12  is a diagram illustrating an example of a communication data table stored in a communication data storage of a web mail server according to a fourth embodiment of the present invention; 
         FIG. 13  is a diagram illustrating a flowchart of a process for delaying transmission, which is performed by a web mail server according to a fourth embodiment of the present invention; 
         FIG. 14  is a block diagram illustrating a system configuration of a terminal according to a fifth embodiment of the present invention; 
         FIG. 15  is a diagram illustrating an example of a communication data table stored in a communication data storage of a terminal according to a fifth embodiment of the present invention; 
         FIG. 16  is a diagram illustrating a flowchart of a transmission process performed by a terminal according to a fifth embodiment of the present invention; 
         FIG. 17  is a diagram illustrating a flowchart of a process for delaying reception, which is performed by a terminal according to a fifth embodiment of the present invention; 
         FIG. 18  is a block diagram illustrating a system configuration of a mobile phone according to a sixth embodiment of the present invention; 
         FIG. 19  is a diagram illustrating a flowchart of a process for delaying reception, which is performed by a mobile phone according to a sixth embodiment of the present invention; 
         FIG. 20  is a diagram illustrating a flowchart of a process for delaying reception, which is performed by a mobile phone according to a seventh embodiment of the present invention; and 
         FIG. 21  is a diagram illustrating an example of a computer environment. 
     
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Embodiments of the present invention will be discussed below with reference to the accompanying drawings. 
     First Embodiment 
       FIG. 1  is a block diagram illustrating a system configuration of a communication control apparatus according to a first embodiment of the present invention. A communication control apparatus  2  according to the first embodiment of the present invention includes a receiver  12  for receiving a communication message, a transmitter  14  for transmitting a communication message, and a relay  16  for relaying the communication message received by the receiver  12  by transferring the communication message to the transmitter  14 . The communication control apparatus  2  further includes a transfer controller  18  for controlling the transfer performed by the relay  16 , a communication data storage  20  for storing data regarding communication messages, a communication proxy  22  for causing the transmitter  14  to transmit a proxy transmission message, a proxy data storage  24  for storing proxy data regarding the proxy transmission message, a proxy register  26  for registering the proxy data, that is, generating and storing the proxy data in the proxy data storage  24 , and a manager  30  for managing the entire communication control apparatus  2 . On the basis of the data stored in the communication data storage  20 , the transfer controller  18  determines whether or not the communication message received by the receiver  12  satisfies a predetermined condition. When the communication message received by the receiver  12  satisfies the predetermined condition, the transfer controller  18  stops and cancels the process for transferring the communication message performed by the relay  16 . The transfer controller  18  stores, in the communication data storage  20 , data regarding the communication message relayed by the relay  16 . When the transfer controller  18  stops the transfer of the communication message, the proxy register  26  generates proxy data on the basis of the data stored in the communication data storage  20  and stores the generated proxy data in the proxy data storage  24 . The communication proxy  22  generates a proxy transmission message on the basis of the proxy data stored in the proxy data storage  24  and causes the transmitter  14  to transmit the generated proxy transmission message. Among functions of the communication control apparatus  2 , the manager  30  executes all functions that are not explicitly discussed herein, as well as functions of a typical communication relay apparatus. 
     The first embodiment of the present invention will now be discussed on the basis of a specific example. In the first embodiment of the present invention, it is assumed that a terminal accesses a web (WWW: World Wide Web) mail server. The terminal regularly (e.g., at one-minute interval) transmits, to the web mail server, a status query message for querying the presence/absence of new mail. In response, the web mail server transmits, to the terminal, a reply message indicating the presence/absence of new mail. When the communication control apparatus  2  relays the messages, the transfer controller  18  stores in the communication data storage  20  data regarding the messages. 
       FIG. 2  is a diagram illustrating an example of a communication data table stored in a communication data storage of a communication control apparatus according to a first embodiment of the present invention. Each entry of the communication data table shown in  FIG. 2  contains data regarding a status query message transmitted from a specific terminal, such as Source Address  102 , Reception Time  104 , Destination Address  106 , Transmission Message  108 , and Reply Message  110 . The Source Address  102  indicates an IP (internet protocol) address of a source terminal that has transmitted the status query message. The Source Address  102  may be any data that is capable of identifying the source terminal. The Reception Time  104  indicates a time at which the communication control apparatus  2  has received the status query message. Alternatively, the Reception Time  104  may be a time at which the terminal has transmitted the status query message. The Destination Address  106  indicates an IP address of a web mail server to which the status query message has been transmitted. The Destination Address  106  may also be any data that can identify the web mail server. The Transmission Message  108  indicates a description of the status query message transmitted from the terminal to the web mail server. The Reply Message  110  indicates a description of the reply message transmitted from the web mail server. The communication data table shown in  FIG. 2  contains four entries of the data regarding the status query messages transmitted from the specific terminal. The Destination Addresses  106  of three of the four entries are the same IP address and the Reception Times  104  thereof are different from each other by one minute. That is, the status query messages for the same web mail server are received by the communication control apparatus  2  at one-minute interval. All of the Reply Messages  110  transmitted from the web mail server in response to the status query messages show the same data. 
     As in the example shown in  FIG. 2 , the status query messages for querying the presence/absence of new mail are transmitted at a regular interval in many cases. The descriptions of the reply messages in response to the status query messages have a stylized message indicating “no new mail” until new mail arrives. Thus, when new messages do not arrive frequently, the status query message and the stylized reply message indicating “no new mail” are repeatedly exchanged. Such repeated exchange of the messages will be referred to as “repeated communications”. Since no new data is brought by the repeated communications, this means that a narrow communication path for the terminal is wastefully used and also power for the terminal is wastefully consumed for the repeated communications. 
     In the first embodiment of the present invention, the transfer controller  18  detects the repeated communications. That is, the transfer controller  18  detects that the same communication message is regularly transmitted from a specific communication apparatus to another specific communication apparatus and the same reply message is transmitted in response to the communication message. When the transfer controller  18  detects the repeated communications, the proxy register  26  generates proxy data on the basis of the data stored in the communication data storage  20  and stores the proxy data in the proxy data storage  24 . 
       FIG. 3  is a diagram illustrating an example of a proxy data table stored in a proxy data storage of a communication control apparatus according to a first embodiment of the present invention. Each entry of the proxy data table shown in  FIG. 3  contains data regarding status query messages regularly transmitted from a specific terminal to a web mail server, such as Reply-to Address  112 , Period  114 , Destination Address  116 , Transmission Message  118 , and Assumed Reply Message  120 . The Reply-to Address  112  indicates an IP address of the terminal to which the reply message is transmitted, and is generated on the basis of the Source Address  102  shown in  FIG. 2 . The Period  114  indicates a time interval at which the status query messages are transmitted, and is generated in accordance with reception time intervals calculated on the basis of the Reception Times  104  shown in  FIG. 2 . The Destination Address  116  indicates an IP address of a web mail server to which the status query message is transmitted, and is generated in accordance with the Destination Address  106  shown in  FIG. 2 . The Transmission Message  118  indicates a description of the status query message to be transmitted, and is generated in accordance with the Transmission Message  108  shown in  FIG. 2 . The Assumed Reply Message  120  indicates a description of a stylized reply message received from the web mail server when no new mail arrives, and is generated in accordance with the Reply Message  110  shown in  FIG. 2 . The proxy data table shown in  FIG. 3  contains one entry of data regarding the transmission message that is to be transmitted by proxy by the communication control apparatus  2 . 
     In the first embodiment of the present invention, when the transfer controller  18  detects the repeated communications, the relay  16  does not relay the stylized reply message from the web mail server to the terminal, and then generates a status query message for the web mail server in place of the terminal and causes the transmitter  14  to transmit the generated status query message. In this case, in accordance with the data stored in the proxy data table shown in  FIG. 3 , the communication proxy  22  causes transmission of the status query message containing the description of the Transmission Message  118 , at the time interval specified in the Period  114 , to the web mail server identified with the Destination Address  116 . When the description of the reply message transmitted from the web mail server in response to the status query message is the same as the description of the Assumed Reply Message  120 , the communication proxy  22  repeats the process of proxy communication. Thereafter, when the communication control apparatus  2  receives a reply message whose description is different from the description of the Assumed Reply Message  120 , the communication proxy  22  terminates the process of proxy communication and the communication control apparatus  2  relays the reply message to the terminal. While the communication proxy  22  repeats the process of proxy communication, the communication control apparatus  2  does not relay the reply messages and the terminal does not transmit a next status query message until it receives a reply message. Thus, it is possible to reduce the amount of communication performed by the terminal while the communication proxy  22  repeats the process of proxy communication. 
       FIG. 4  is a flowchart of a process for determining repeated communications, which is performed by the communication control apparatus  2  according to the first embodiment of the present invention. The flow of the process for determining repeated communications in the first embodiment of the present invention will now be discussed with reference to  FIG. 4 . 
     In Operation S 102 , the receiver  12  waits for a status query message from the terminal. 
     In Operation S 104 , when the receiver  12  receives the status query message (Yes in Operation S 102 ), the relay  16  transfers the status query message to the transmitter  14  and the transmitter  14  transmits the status query message to a web mail server identified by a destination address contained in the status query message. 
     In Operation S 106 , the receiver  12  waits for a reply message from the web mail server. 
     In Operation S 108 , when the receiver  12  receives the reply message from the web mail server (Yes in Operation S 106 ), the transfer controller  18  checks whether the status query message is a new message, i.e., no entry of the communication data table stored in the communication data storage  20  has the Source Address  102 , Destination Address  106 , and Transmission Message  108  that respectively match the source address, destination address, and transmission message of the status query message. 
     In Operation S 110 , when the status query message is not a new message (No in Operation S 108 ), i.e., when any entries having the Source Address  102 , Destination Address  106 , and Transmission Message  108  that respectively match the source address, destination address, and transmission message of the status query message are stored in the communication data storage  20 , the transfer controller  18  compares the description of the Reply Message  110  of the latest one of the entries with the description of the reply message received by the receiver  12 . 
       FIG. 5  is a diagram illustrating a data structure of an HTTP (Hyper Text Transfer Protocol) response. An HTTP response contains a Status Line  152 , Response Header  154 , Blank Line  156 , and Message Body  158 . The Status Line  152  contains an HTTP version, a status code, and a description of a status. The Response Header  154  may contain one or more lines. The Blank Line  156  is data for delimiting the Response Header  154  and the Message Body  158 . The Message Body  158  may contain one or more lines. When the reply message is an HTTP response, the Message Body  158  is regarded as the Reply Message  110 . When a Message Body  158  contains data such as date or time, even Message Bodies  158  showing the same message “no new mail” may not match with each other due to a difference in time. In order to deal with the problem, some methods are available. One method is to register a format for a date representation or time representation, so that when a representation that complies with the format is found in the Message Body  158 , the representation is excluded from comparison. For examples, when a format in which the time is expressed by hh:mm:ss is used, wherein the hour is expressed by two-digit integers from 00 to 23, the minute is expressed by two-digit integers from 00 to 59, and the second is expressed by two-digit integers from 00 to 59, a representation, in the Message Body  158 , which matches the format is excluded from comparison. Since a numeric value that increases by one for each response is highly likely to be a sequence number, the numeric value may be excluded from comparison. Also, since a numeric value that increases for each response by the number of seconds of an elapsed time or is closer to a multiple thereof is highly likely to be a time that is expressed by the numeric value, the numeric value may be excluded from comparison. Alternatively, all numeric characters in the Message Body  158  may be replaced with “0s”. In many cases, the dates, times, sequence numbers, and so on are different only in numeric characters. Thus, when the main message description is the same, the replacement of the numeric characters with “0s” may provide the same Message Body  158 . 
     In Operation S 112 , when the description of the Reply Message  110  of the latest entry matches the description of the reply message received by the receiver  12  (Yes in Operation S 110 ), the transfer controller  18  checks whether or not proxy data for the status query message is registered to the proxy data storage  24 . That is, the transfer controller  18  checks whether or not any entries having the Reply-to Address  112 , Destination Address  116 , and Transmission Message  118  that respectively match the source address, destination address, and transmission message of the status query message are stored in the proxy data storage  24 . When the proxy data for the status query message has been registered to the proxy data storage  24  (Yes in Operation S 112 ), the process for determining repeated communications returns to Operation S 102 . 
     In Operation S 114 , when the proxy data for the status query message is not registered to the proxy data storage  24  (No in Operation S 112 ), out of the entries of the communication data table stored in the communication data storage  20 , the transfer controller  18  checks regularity of the reception intervals of the entries having the Source Address  102 , Destination Address  106 , and Transmission Message  108  that respectively match the source address, destination address, and transmission message of the status query message. 
     A discussion will now be given on a method for determining regularity of the reception intervals. A reception interval between each individual status query message and the previous status query message is determined on the basis of the Reception Time  104  shown in  FIG. 2 . An average reception interval is determined on the basis of the determined reception intervals to determine differences between each reception interval and the average reception interval. When all differences fall within a predetermined value, it is determined that the reception intervals are regular. The method for determining regularity of the reception intervals is not limited to this particular method. That is, any method may be used as long as it can determine that the reception intervals are substantially equal to each other. 
     In Operation S 116 , when it is determined that the reception intervals are regular (Yes in Operation S 114 ), the transfer controller  18  checks whether or not the number of entries used for determining regularity of the reception intervals has reached a predetermined number (e.g., five). 
     In Operation S 118 , when the number of entries used for determining regularity of the reception intervals has reached the predetermined number (Yes in Operation S 116 ), the proxy register  26  generates proxy data for the status query message and registers the proxy data to the proxy data storage  24 . In this case, the average reception interval determined in Operation S 114  is stored as the Period  114  of the proxy data. The receiver  12  deletes, from a reception buffer, the reply message for the status query message. 
     In Operation S 120 , the communication proxy  22  starts a process of proxy communication in accordance with the proxy data registered to the proxy data storage  24  in Operation S 118 , and the process for determining repeated communications returns to Operation S 102 . 
     In Operation S 122 , when the status query message is a new message (Yes in Operation S 108 ), when the description of the Reply Message  110  of the latest entry does not match the description of the reply message received by the receiver  12  (No in Operation S 110 ), when it is determined that the reception intervals are not regular (No in Operation S 114 ), or when the number of entries used for determining regularity of the reception intervals has not reached the predetermined number (No in Operation S 116 ), the transfer controller  18  records communication data by generating an entry for the status query message and adding the entry to the communication data table stored in the communication data storage  20 . 
     In Operation S 124 , the relay  16  transfers the reply message to the transmitter  14 , and the transmitter  14  transmits the reply message to the terminal that is the destination of the reply message. Thereafter, the process for determining repeated communications returns to Operation S 102 . 
       FIG. 6  is a diagram illustrating a flowchart of a process of proxy communication performed by a communication control apparatus according to a first embodiment of the present invention. The flow of the process of proxy communication in the first embodiment of the present invention will now be discussed with reference to  FIG. 6 . 
     In Operation S 202 , the communication proxy  22  generates a proxy transmission message on the basis of the proxy data registered to the proxy data storage  24 . 
     In Operation S 204 , the communication proxy  22  causes the transmitter  14  to transmit the proxy transmission message. 
     In Operation S 206 , the receiver  12  waits for a reply message from the web mail server. 
     In Operation S 208 , when the receiver  12  receives the reply message from the web mail server (Yes in Operation S 206 ), the transfer controller  18  compares the description of the reply message received by the receiver  12  with the description of the Assumed Reply Message  120  of the proxy data registered to the proxy data storage  24 . 
     In Operation S 210 , when the description of the reply message received by the receiver  12  does not match the description of the Assumed Reply Message  120  of the proxy data registered to the proxy data storage  24  (No in Operation S 208 ), the relay  16  transfers the reply message to the transmitter  14  and the transmitter  14  transmits the reply message to a terminal identified with the Reply-to Address  112 . 
     In Operation S 212 , the proxy register  26  deletes the proxy data registered to the proxy data storage  24 , and the process of proxy communication ends. 
     In Operation S 214 , when the description of the reply message received by the receiver  12  matches the description of the Assumed Reply Message  120  of the proxy data registered to the proxy data storage  24  (Yes in Operation S 208 ), the communication proxy  22  sets a timer with the time registered as the Period  114 , and the receiver  12  deletes the reply message from the reception buffer. 
     In Operation S 216 , the timer counts the set time. When the set time has elapsed (Yes in Operation S 216 ), the process of proxy communication returns to Operation S 202 . 
     As discussed above, according to the first embodiment of the present invention, when the communication control apparatus detects the repeated communications of the status query messages from the terminal and the stylized reply messages from the web mail server, the communication control apparatus, in place of the terminal, transmits the status query message to the web mail server. Further, only when the description of the reply message from the web mail server changes, the communication control apparatus transmits the reply message to the terminal. Thus, it is possible to reduce the amount of communication performed by the terminal. 
     In the first embodiment of the present invention, it is assumed that the status query message is transmitted at regular transmission intervals. In practice, however, the terminal itself may adjust the transmission intervals in order to reduce the amount of communication. For example, upon receiving a reply message indicating “no new mail” in response to a first query, the terminal transmits a second query after a predetermined time has elapsed, and then, upon receiving a reply message indicating “no new mail” again, the terminal transmits a next query after n times the predetermined time has elapsed. In order to deal with such a case, instead of determining regularity of the reception intervals in Operation S 114 , a determination may be made as to whether or not changes in the reception intervals match a prepared model for adjusting the transmission intervals. When the changes match the model, the process of proxy communication is performed. The transmission intervals in the process of proxy communication may be adjusted in accordance with the model. 
     The process of proxy communication may be performed only when it is determined that the communication environment deteriorates, rather than being performed on a steady basis. Such an arrangement may reduce the loads of the communication control apparatus in normal times. 
     Second Embodiment 
     In the above-discussed first embodiment of the present invention, no reply message is relayed from the web mail server to the terminal during execution of the process of proxy communication. Thus, the terminal may transmit a new status query message upon expiration of waiting time for reply message. Accordingly, in a second embodiment of the present invention, the time for the process of proxy communications or the number of proxy transmissions is limited, and when the limit is exceeded, the process of proxy communication is terminated. 
       FIG. 7  is a diagram illustrating an example of a proxy data table stored in a proxy data storage in a communication control apparatus according to a second embodiment of the present invention. The entry of the proxy data table shown in  FIG. 7  differs from the entry of the proxy data table shown in  FIG. 3  in that a Max  122  and a C/W  124  are added. The Max  122  indicates a limit on the number of proxy transmissions that are successively performed. The C/W  124  indicates the number of proxy transmissions actually executed, and the default is “0”. 
       FIG. 8  is a diagram illustrating a flowchart of a process of proxy communication performed by a communication control apparatus according to a second embodiment of the present invention. The flowchart shown in  FIG. 8  differs from the flowchart shown in  FIG. 6  in that Operations S 218  and S 220  are added. In the flow of the process of proxy communication in the second embodiment of the present invention, the operations added to the flowchart shown in  FIG. 6  will now be discussed with reference to  FIG. 8 . The system configuration of the communication control apparatus according to the second embodiment of the present invention is similar to the system configuration shown in  FIG. 1 . 
     In Operation S 218 , when the description of the reply message received by the receiver  12  matches the description of the Assumed Reply Message  120  of the proxy data registered to the proxy data storage  24  (Yes in Operation S 208 ), the communication proxy  22  increments the value of the C/W  124  by “1”. 
     In Operation S 220 , the communication proxy  22  compares the value of the C/W  124  with the value of the Max  122 . When the result of the comparison shows that the value of the C/W  124  is greater than the value of the Max  122 , the process of proxy communication proceeds to Operation S 2   10 . When the value of the C/W  124  is not greater, the process of proxy communication proceeds to Operation S 214 . 
     As discussed above, according to the second embodiment of the present invention, an appropriate limitation is put on the number of proxy transmissions. Thus, a reply message from the web mail server can be relayed before the waiting time for reply message expires in the terminal. 
     The Max  122  and C/W  124  may indicate the time for the process of proxy communications, instead of the number of proxy transmissions. 
     Third Embodiment 
     In a third embodiment of the present invention, the relay of the reply message from the web mail server to the terminal is delayed without performing the process of proxy communication discussed in the first embodiment of the present invention, to thereby reduce the amount of communication performed by the terminal. 
       FIG. 9  is a diagram illustrating a flowchart of a process for delaying relay, which is performed by a communication control apparatus according to a third embodiment of the present invention. The flowchart shown in  FIG. 9  differs from the flowchart shown in  FIG. 4  in that Operations S 112 , S 118 , and S 120  are deleted and Operations S 126  to S 132  are added.  FIG. 10  is a block diagram illustrating a system configuration of a communication control apparatus according to a third embodiment of the present invention. The system configuration shown in  FIG. 10  differs from the system configuration shown in  FIG. 1  in that the proxy data storage  24  and the proxy register  26  are deleted and a transfer data storage  28  is added. The transfer data storage  28  stores a reply message received from the web mail server. In the flow of the process for delaying relay in the third embodiment of the present invention, the operations added to the flowchart shown in  FIG. 4  will now be discussed with reference to  FIG. 9 . 
     In Operation S 126 , when the number of entries used for determining regularity of the reception intervals has reached the predetermined number (Yes in Operation S 116 ), the relay  16  saves the reply message in the transfer data storage  28 , and the receiver  12  deletes the reply message from the reception buffer. 
     In Operation S 128 , the transfer controller  18  sets a timer with a predetermined time. 
     In Operation S 130 , the timer counts the set time. 
     In Operation S 132 , when the set time has elapsed (Yes in Operation S 130 ), the relay  16  retrieves the saved reply message from the transfer data storage  28  to write the reply message back to the reception buffer and deletes the retrieved reply message from the transfer data storage  28 . Thereafter, the process for delaying relay proceeds to Operation S 122 . 
     That is, after a predetermined number of repeated communications is detected, the relay of the reply message is delayed by a predetermined time. This reduces the amount of communication performed by the terminal. 
     Compared to the first embodiment of the present invention, as shown in  FIG. 10 , the system configuration of the communication control apparatus according to the third embodiment of the present invention is simplified and the loads thereof are also reduced. 
     Fourth Embodiment 
     In the fourth embodiment of the present invention, the web mail server is responsible for the communication control function. 
       FIG. 11  is a block diagram illustrating a system configuration of a web mail server according to a fourth embodiment of the present invention. 
     A web mail server  4  according to the fourth embodiment of the present invention includes a receiver  52  for receiving a communication message, a transmitter  54  for transmitting a communication message, a transmission controller  56  for controlling transmission performed by the transmitter  54 , a communication data storage  58  for storing data regarding the communication messages, a reply data storage  60  for temporarily saving a reply message, and a manager  50  for managing the entire web mail server  4 . On the basis of the data stored in the communication data storage  58 , the transmission controller  56  determines whether or not a communication message received by the receiver  52  satisfies a predetermined condition. When the communication message received by the receiver  52  satisfies the predetermined condition, the transmission controller  56  stops transmission of a reply message performed by the transmitter  54 . The transmission controller  56  stores, in the communication data storage  58 , data regarding the communication message received by the receiver  52 . Upon stopping the transmission of the reply message, the transmission controller  56  reads the reply message from a transmission buffer and saves the reply message in the reply data storage  60 . Thereafter, the transmitter  54  deletes the reply message from the transmission buffer. After a predetermined time has elapsed, the transmission controller  56  retrieves the reply message from the reply data storage  60  and writes the reply message to the transmission buffer. Thereafter, the transmission controller  56  deletes the reply message from the reply data storage  60 . The transmitter  54  transmits the reply message in the transmission buffer. Among functions of the web mail server  4 , the manager  50  executes all functions that are not explicitly discussed herein, as well as functions of a typical web mail server. 
     The fourth embodiment of the present invention will now be discussed on the basis of a specific example. 
       FIG. 12  is a diagram illustrating an example of a communication data table stored in a communication data storage of a web mail server according to a fourth embodiment of the present invention. Each entry of the communication data table shown in  FIG. 12  contains data regarding a status query message transmitted from a specific terminal, such as Terminal Address  202 , Reception Time  204 , Transmission Message  208 , and Reply Message  210 . The Terminal Address  202  indicates an IP address of a source terminal that has transmitted the status query message. The Terminal Address  202  may be any data that is capable of identifying the source terminal. The Reception Time  204  indicates a time at which the web mail server  4  has received the status query message. Alternatively, the Reception Time  204  may be a time at which the terminal has transmitted the status query message. The Transmission Message  208  indicates a description of the status query message transmitted from the terminal to the web mail server  4 . The Reply Message  210  indicates a description of the reply message transmitted from the web mail server  4 . The communication data table shown in  FIG. 12  contains three entries of the data regarding the status query messages transmitted from the specific terminal, and the Reception Times  204  thereof are different from each other by one minute. That is, the status query messages transmitted from the same terminal are received by the web mail server  4  at one-minute interval. All of the Reply Messages  210  transmitted from the web mail server  4  in response to the status query messages show the same data. 
     In the fourth embodiment of the present invention, the transmission controller  56  detects the repeated communications. That is, the transmission controller  56  detects that the same communication message is regularly transmitted from a specific terminal and the same reply message is transmitted from the web mail server  4  in response to the communication message. Upon detecting the repeated communications, the transmission controller  56  delays transmission of the reply message from the web mail server  4  to the terminal. This reduces the amount of communication performed by the terminal. 
     In the fourth embodiment of the present invention, upon detecting the repeated communications, the transmission controller  56  does not permit immediate transmission of the reply message from the transmitter  54 , but permits delayed transmission of the reply message from the transmitter  54  after a predetermined time has elapsed. Thus, the transmission of the reply message to the terminal is delayed. This reduces the amount of communication performed by the terminal. 
       FIG. 13  is a diagram illustrating a flowchart of a process for delaying transmission, which is performed by a web mail server according to a fourth embodiment of the present invention. The flow of the process for delaying transmission in the fourth embodiment of the present invention will now be discussed with reference to  FIG. 13 . 
     In Operation S 302 , the receiver  52  waits for a status query message from a terminal. 
     In Operation S 304 , when the receiver  52  receives the status query message (Yes in Operation S 302 ), the manager  50  generates a reply message for the status query message and sends the reply message to the transmitter  54 . 
     In Operation S 306 , the transmission controller  56  temporarily stops transmission of the reply message from the transmitter  54 . 
     In Operation S 308 , the transmission controller  56  checks whether the status query message is a new message, i.e., no entry of the communication data storage  58  has the Terminal Address  202  and Transmission Message  208  that respectively match the source address and the transmission message of the status query message. 
     In Operation S 310 , when the status query message is not a new message (No in Operation S 308 ), i.e., when any entries having the Terminal Address  202  and Transmission Message  208  that respectively match the source address and the transmission message of the status query message are stored in the communication data storage  58 , the transmission controller  56  compares the description of the Reply Message  210  of the latest one of the entries with the description of the reply message in a transmission buffer. 
     In Operation S 314 , when the description of the Reply Message  210  of the latest entry matches the description of the reply message in the transmission buffer (Yes in Operation S 310 ), out of the entries of the communication data table stored in the communication data storage  58 , the transmission controller  56  checks regularity of the reception intervals of the entries having the Terminal Address  202  and the Transmission Message  208  that respectively match the source address and the transmission message of the status query message. 
     In Operation S 316 , when it is determined that the reception intervals are regular (Yes in Operation S 314 ), the transmission controller  56  checks whether or not the number of entries used for determining regularity of the reception intervals has reached a predetermined number (e.g., five). 
     In Operation S 322 , when the status query message is a new message (Yes in Operation S 308 ), when the description of the Reply Message  210  of the latest entry does not match the description of the reply message in the transmission buffer (No in Operation S 310 ), when it is determined that the reception intervals are not regular (No in Operation S 314 ), or when the number of entries used for determining regularity of the reception intervals has not reached the predetermined number (No in Operation S 316 ), the transmission controller  56  records communication data by generating an entry for the status query message and adding the generated entry to the communication data table stored in the communication data storage  58 . 
     In Operation S 324 , the transmission controller  56  causes the transmitter  54  to transmit the reply message. Thereafter, the process for determining repeated communications returns to Operation S 302 . 
     In Operation S 326 , when the number of entries used for determining regularity of the reception intervals has reached the predetermined number (Yes in Operation S 316 ), the transmission controller  56  saves the reply message in the reply data storage  60 , and the transmitter  54  deletes the reply message from the transmission buffer. 
     In Operation S 328 , the transmission controller  56  sets a timer with a predetermined time. 
     In Operation S 330 , the timer counts the set time. 
     In Operation S 332 , when the set time has elapsed (Yes in Operation S 330 ), the transmission controller  56  retrieves the saved reply message from the reply data storage  60  to write the reply message back to the transmission buffer and deletes the retrieved reply message from the reply data storage  60 . Thereafter, the process for delaying transmission proceeds to Operation S 322 . 
     According to the fourth embodiment of the present invention, it is possible to delay the reply message without modifying an application program for a web mail service. 
     Although the fourth embodiment of the present invention has been given of an example of a web mail server, a service provided by the server is not limited to a web mail service. Thus, the communication control method according to the fourth embodiment of the present invention is applicable to a service server that provides any service. 
     Fifth Embodiment 
     In a fifth embodiment, the terminal is responsible for the communication control function. 
       FIG. 14  is a block diagram illustrating a system configuration of a terminal according to a fifth embodiment of the present invention. 
     A terminal  6  according to the fifth embodiment of the present invention includes a receiver  72  for receiving a communication message, a transmitter  74  for transmitting a communication message, a transfer controller  76  for controlling transfer from the receiver  72  of a received message, a communication data storage  78  for storing data regarding communication messages, a received data storage  80  for temporarily saving the received message, and a manager  70  for managing the entire terminal  6 . The transfer controller  76  determines, on the basis of the data stored in the communication data storage  78 , whether or not the communication message received by the receiver  72  satisfies a predetermined condition. When the communication message received by the receiver  72  satisfies the predetermined condition, the transfer controller  76  stops transfer from the receiver  72  of the received message. The transfer controller  76  stores, in the communication data storage  78 , data regarding the communication message received by the receiver  72 . Upon stopping the transfer of the received message, the transfer controller  76  reads the received message from a reception buffer and saves the received message in the received data storage  80 . Thereafter, the receiver  72  deletes the received message from the reception buffer. After a predetermined time has elapsed, the transfer controller  76  retrieves the received message from the received data storage  80  and writes the received message back to the reception buffer. The transfer controller  76  then deletes the received message from the received data storage  80 . The receiver  72  transfers the received message from the reception buffer to the manager  70 . Among functions of the terminal  6 , the manager  70  executes all functions that are not explicitly discussed herein, as well as functions of a typical terminal. 
     The fifth embodiment of the present invention will now be discussed on the basis of a specific example. 
       FIG. 15  is an example of a communication data table stored in the communication data storage in the terminal according to the fifth embodiment of the present invention. Each entry of the communication data table shown in  FIG. 15  contains data regarding a reply message transmitted from a specific web mail server, such as Transmission Time  304 , Destination Address  306 , Transmission Message  308 , and Reply Message  310 . The Transmission Time  304  indicates a time at which the terminal has transmitted a status query message. Alternatively, the Transmission Time  304  may be a time at which the terminal  6  has received the reply message. The Destination Address  306  indicates an IP address of a web mail server that has transmitted the reply message. The Destination Address  306  may be any data that is capable of identifying the web mail server transmitted the reply message. The Transmission Message  308  indicates a description of a status query message transmitted from the terminal  6  to the web mail server. The Reply Message  310  indicates a description of the reply message transmitted from the web mail server. The communication data table shown in  FIG. 15  contains three entries of the data regarding the reply messages transmitted from the specific web mail server, and the Transmission Times  304  thereof are different from each other by one minute. That is, the status query messages for the same web mail server are transmitted by the terminal  6  at one-minute interval. All of the Reply Messages  310  transmitted from the web mail server in response to the status query messages show the same data. 
     In the fifth embodiment of the present invention, the transfer controller  76  detects the repeated communications. That is, the transfer controller  76  detects that the same communication message is regularly transmitted from the terminal  6  and the same reply message is transmitted from the web mail server in response to the communication message. Upon detecting the repeated communications, the transfer controller  76  delays transfer of the reply message received from the web mail server to the manager  70 . This reduces the amount of communication performed by the terminal  6 . 
     In the fifth embodiment of the present invention, upon detecting the repeated communications, the transfer controller  76  does not permit immediate transfer of the received message from the receiver  72 , but permits delayed transfer of the received message from the receiver  72  after a predetermined time has elapsed. Thus, the transfer of the received message to the manager  70  is delayed. This reduces the amount of communication performed by the terminal  6 . 
       FIG. 16  is a diagram illustrating a flowchart of a transmission process performed by a terminal according to a fifth embodiment of the present invention. The flow of the transmission process in the fifth embodiment of the present invention will now be discussed with reference to  FIG. 16 . 
     In Operation S 402 , the transmitter  74  waits for a status query message from the manager  70 . 
     In Operation S 404 , when the manager  70  transfers the status query message to the transmitter  74  (Yes in Operation S 402 ), the transmitter  74  transmits the status query message. The transfer controller  76  records communication data by generating an entry for the status query message and adding the entry to the communication data table stored in the communication data storage  78 . The generated entry contains Transmission Time  304 , Destination Address  306 , and Transmission Message  308 , and does not contain Reply Messages  310 . 
       FIG. 17  is a diagram illustrating a flowchart of a process for delaying reception, which is performed by a terminal according to a fifth embodiment of the present invention. The flow of the process for delaying reception in the fifth embodiment of the present invention will now be discussed with reference to  FIG. 17 . 
     In Operation S 412 , the receiver  72  waits for a reply message from the web mail server. 
     In Operation S 414 , when the receiver  72  receives a communication message (Yes in Operation S 412 ), the transfer controller  76  temporarily stops transfer from the receiver  72  of the received communication message. 
     In Operation S 416 , the transfer controller  76  checks whether or not the received message is a reply message for a status query message corresponding to Transmission Message  308  of any entry of the communication data table stored in the communication data storage  78 . 
     In Operation S 420 , when the received message is a reply message for a status query message corresponding to Transmission Message  308  of any entry of the communication data table stored in the communication data storage  78  (Yes in Operation S 416 ), the transfer controller  76  compares the description of the Reply Message  310  of the latest entry with the description of the received message. 
     In Operation S 424 , when the description of the Reply Message  310  of the latest entry matches the description of the received message (Yes in Operation S 420 ), out of the entries of the communication data table stored in the communication data storage  78 , the transfer controller  76  checks regularity of the transmission intervals of the entries having the Destination Address  306  and the Transmission Message  308  that respectively match the destination address and transmission message of the status query message. 
     In Operation S 426 , when it is determined that the transmission intervals are regular (Yes in Operation S 424 ), the transfer controller  76  checks whether or not the number of entries used for determining regularity of the transmission intervals has reached a predetermined number (e.g., five). 
     In Operation S 432 , when the description of the Reply Message  310  of the latest entry does not match the description of the received message (No in Operation S 420 ), when it is determined that the transmission intervals are not regular (No in Operation S 424 ), or when the number of entries used for determining regularity of the transmission intervals has not reached the predetermined number (No in Operation S 426 ), the transfer controller  76  completes the entry for the status query message, i.e., writes a description of the Reply Message  310  thereto, and then adds the entry to the communication data table stored in the communication data storage  78 . 
     In Operation S 434 , the transfer controller  76  causes the receiver  72  to transfer the received message. Thereafter, the process for delaying reception returns to Operation S 412 . 
     In Operation S 436 , when the number of entries used for determining regularity of the transmission intervals has reached the predetermined number (Yes in Operation S 426 ), the transfer controller  76  saves the received message in the received data storage  80 , and the receiver  72  deletes the received message from the reception buffer. 
     In Operation S 438 , the transfer controller  76  sets a timer with a predetermined time. 
     In Operation S 440 , the timer counts the set time. 
     In Operation S 442 , when the set time has elapsed (Yes in Operation S 440 ), the transfer controller  76  retrieves the saved received message from the received data storage  80  to write the received message back to the reception buffer, and deletes the received message from the received data storage  80 . Thereafter, the process for delaying reception proceeds to Operation S 432 . 
     According to the fifth embodiment of the present invention, it is possible to delay the received message without modifying an application program on the terminal. 
     Although the transfer of the received message is delayed in the fifth embodiment of the present invention, the transmission of a transmission message may be delayed instead. 
     Sixth Embodiment 
     In the above-discussed fifth embodiment, the transfer of the received data in the terminal is delayed to delay the transmission of a next status query message. Thus, even when a new mail arrives during the time, checking of the new mail is delayed since the transmission of the next status query message is delayed. In a sixth embodiment, when the terminal is a battery-powered terminal such as a mobile phone, the amount of communication is reduced only when the remaining capacity of the battery falls below a predetermined value. 
       FIG. 18  is a block diagram showing the system configuration of a mobile phone according to the sixth embodiment of the present invention. The configuration shown in  FIG. 18  differs from the configuration shown in  FIG. 14  in that a battery  32  for powering the mobile phone and a battery checker  34  for checking the remaining capacity of the battery  32  are added. 
     The transfer controller  76  starts the process for controlling transfer when the battery checker  34  determines that the remaining capacity of the battery  32  falls below the predetermined value. 
       FIG. 19  is a diagram illustrating a flowchart of a process for delaying reception, which is performed by a mobile phone according to a sixth embodiment of the present invention. The flowchart shown in  FIG. 19  differs from the flowchart shown in  FIG. 17  in that Operation S 450  is added. In the flow of the process for delaying reception in the sixth embodiment of the present invention, the operation added to the flowchart shown in  FIG. 17  will now be discussed with reference to  FIG. 19 . 
     In Operation S 450 , the battery checker  34  checks whether or not the remaining capacity of the battery  32  has fallen below the predetermined amount. When the remaining capacity of the battery  32  has not fallen below the predetermined value (No in Operation S 450 ), the process for delaying reception returns to Operation S 412 . When the remaining capacity of the battery  32  has fallen below the predetermined value (Yes in Operation S 450 ), the process for delaying reception proceeds to Operation S 414 . 
     According to the sixth embodiment of the present invention, when the amount of the remaining battery capacity of the mobile phone is large, frequent transmissions of the status query messages are permitted. This allows the mobile phone to synchronize with updated data on the server at relatively early time. On the other hand, when the amount of the remaining battery capacity becomes small, the mobile phone performs control so as to reduce the amount of communication. This arrangement makes it possible to reduce the power consumption. 
     Although a mobile phone has been discussed in the sixth embodiment of the present invention by way of example, the terminal that accesses the server is not limited to the mobile phone and may be any battery-powered terminal. 
     Seventh Embodiment 
     In a seventh embodiment, the amount of reception delay is adjusted in accordance with the remaining capacity of the battery of the mobile phone. The system configuration in the seventh embodiment of the present invention is similar to the system configuration of the sixth embodiment shown in  FIG. 18 . 
       FIG. 20  is a diagram illustrating a flowchart of a process for delaying reception, which is performed by a mobile phone according to a seventh embodiment of the present invention. The flowchart shown in  FIG. 20  differs from the flowchart shown in  FIG. 17  in that Operation S 452  is added. In the flow of the process for delaying reception in the seventh embodiment of the present invention, the operation added to the flowchart shown in  FIG. 17  will now be discussed with reference to  FIG. 20 . 
     In Operation S 452 , the battery checker  34  determines a delay time on the basis of the remaining capacity of the battery  32 . The delay time is increased according to a decrease in the remaining capacity of the battery  32 , and the delay time is decreased according to an increase in the remaining capacity of the battery  32 . The delay time is set for the timer as the predetermined time in Operation S 438 . 
     According to the seventh embodiment of the present invention, since the delay time is set to a small value when the remaining capacity of the battery of the mobile phone is large, the status query messages are relatively frequently transmitted. This arrangement allows the mobile phone to synchronize with updated data on the server at relatively early time. On the other hand, since the delay time is set to a larger value as the remaining capacity of the battery decreases, the frequency of querying decreases. This arrangement provides an advantage in that the power consumption can be reduced. 
     Although a mobile phone has been discussed in the seventh embodiment of the present invention by way of example, the terminal that accesses the server is not limited to the mobile phone and may be any battery-powered terminal. 
     According to the embodiments of the present invention, the amount of communication performed by the terminal can be reduced by processes performed in one of apparatuses associated with the communication between the terminal and the server. Therefore, modification of only one apparatus can achieve the reduction, thus making it possible to provide a communication control method that can reduce the modification cost. It is also possible to provide a widely-applicable communication control method rather than a method for controlling communication between specific apparatuses. 
     The apparatuses according to the embodiments of the present invention can be implemented as not only hardware but also software for a computer. For example, the communication control apparatus can be implemented by creating a program for causing a computer to execute the functions of the receiver  12 , the transmitter  14 , the relay  16 , the transfer controller  18 , the communication proxy  22 , the proxy register  26 , and the manager  30  shown in  FIG. 1 , loading the program to a memory of the computer, and executing the program. 
     As shown in  FIG. 21 , the program for implementing the apparatuses according to the embodiments of the present invention may be stored on not only a portable storage medium  84 , such as a CD-ROM, CD-RW, DVD-R, DVD-RAM, DVD-RW, or a flexible disk, but also another storage device  88  connected through a communication line  86  or a storage device/storage medium  90 , such as a hard disk or a RAM in a computer system  82 . During execution of the program, the program is loaded and is executed on a main memory. 
     Elements of the apparatuses according to the embodiments of the present invention may be realized in any combination. Some of the elements may be realized as one component or may be constituted by multiple components.
     (Note 1) A communication control method executed by a communication relay apparatus for relaying communication messages, said communication relay apparatus having a communication data storage for storing first data regarding relayed communication messages, said method comprising:
       storing the first data regarding the relayed communication messages in the communication data storage;   receiving a current communication message;   determining, on the basis of the first data stored in the communication data storage, whether the current communication message satisfies a first predetermined condition;   stopping relay of the current communication message satisfying the first predetermined condition; and   continuing relay of the current communication message failing to satisfy the first predetermined condition.   
       (Note 2) The communication control method of Note 1, wherein
       said communication relay apparatus relays communication messages exchanged between a first communication apparatus and a second communication apparatus,   said first data regards first communication messages transmitted from the first communication apparatus to the second communication apparatus, and   said operation of determining is operated, on the basis of the first data regarding the first communication messages, when the current communication message is a second communication message transmitted from the second communication apparatus to the first communication apparatus.   
       (Note 3) The communication control method of Note 1, wherein
       said communication relay apparatus relays communication messages exchanged between a first communication apparatus and a second communication apparatus,   said first data regards second communication messages transmitted from the second communication apparatus to the first communication apparatus, and   said operation of determining is operated, on the basis of the first data regarding the second communication messages, when the current communication message is a second communication message transmitted from the second communication apparatus to the first communication apparatus.   
       (Note 4) The communication control method of Note 1, wherein
       said first data includes at least one of
           descriptions of the relayed communication messages,   sent times of the relayed communication messages, and   received times of the relayed communication messages, and   
           said operation of determining includes at least one of
           determining on the basis of the descriptions of the relayed communication messages,   determining on the basis of the sent times of the relayed communication messages, and   determining on the basis of the received times of the relayed communication messages.   
           
       (Note 5) The communication control method of Note 4, wherein
       said first predetermined condition includes at least one of
           that a description of the current communication message matches one of the descriptions of the relayed communication messages included in the first data, and   that a sent time or a received time of the current communication message satisfies a third predetermined condition with the sent times or the received times of the relayed communication messages.   
           
       (Note 6) The communication control method of Note 1, wherein
       said operation of stopping relay includes at least one of
           stopping and canceling relay of the current communication message, and   stopping relay of the current communication message to resume the relay upon satisfying a second predetermined condition.   
           
       (Note 7) The communication control method of Note 6, wherein
       said second predetermined condition includes
           elapse of a predetermined time after stopping relay of the current communication message.   
           
       (Note 8) The communication control method of Note 2, further comprising:
       transmitting a proxy transmission message containing a description of the first communication messages to the second communication apparatus during a time period of stopping relay of the current communication message.   
       (Note 9) The communication control method of Note 8, said communication relay apparatus further having a proxy data storage for storing proxy data including a destination address and a description of the proxy transmission message, said method further comprising:
       generating the proxy transmission message on the basis of the proxy data stored in the proxy data storage.   
       (Note 10) The communication control method of Note 9, said proxy data further including a reply to address and an assumed reply message, said method further comprising:
       transmitting to the reply-to address a reply message received for the proxy transmission message if the reply message does not match the assumed reply message.   
       (Note 11) The communication control method of Note 9, wherein
       said proxy data further includes a transmission interval of the proxy transmission message.   
       (Note 12) A communication control apparatus comprising:
       a receiver for receiving communication messages;   a transmitter for transmitting the communication messages;   a relay for relaying communication messages by transferring communication messages received by the receiver to the transmitter;   a communication data storage for storing first data regarding relayed communication messages; and   a transfer controller for controlling relay of a current communication message received by the receiver by determining whether the current communication message satisfies a first predetermined condition, to stop transfer of the current communication message satisfying the first predetermined condition and continue transfer of the current communication message failing to satisfy the first predetermined condition.   
       (Note 13) The communication control apparatus of Note 12, wherein
       said communication control apparatus relays communication messages exchanged between a first communication apparatus and a second communication apparatus,   said first data regards first communication messages transmitted from the first communication apparatus to the second communication apparatus, and   said transfer controller determines whether the current communication message satisfies the first predetermined condition on the basis of the first data regarding the first communication messages stored in the communication data storage, when the current communication message is a second communication message transmitted from the second communication apparatus to the first communication apparatus.   
       (Note 14) The communication control apparatus of Note  12 , wherein
       said communication control apparatus relays communication messages exchanged between a first communication apparatus and a second communication apparatus,   said first data regards second communication messages transmitted from the second communication apparatus to the first communication apparatus, and   said transfer controller determines whether the current communication message satisfies the first predetermined condition on the basis of the first data regarding the second communication messages stored in the communication data storage, when the current communication message is a second communication message transmitted from the second communication apparatus to the first communication apparatus.   
       (Note 15) The communication control apparatus of Note 12, wherein
       said first data includes at least one of
           descriptions of the relayed communication messages,   sent times of the relayed communication messages, and   received times of the relayed communication messages, and   
           said transfer controller includes at least one of
           a first determiner for determining on the basis of the descriptions of the relayed communication messages stored in the communication data storage whether the current communication message satisfies the first predetermined condition,   a second determiner for determining on the basis of the sent times of the relayed communication messages stored in the communication data storage whether the current communication message satisfies the first predetermined condition, and   a third determiner for determining on the basis of the received times of the relayed communication messages stored in the communication data storage whether the current communication message satisfies the first predetermined condition.   
           
       (Note 16) The communication control apparatus of Note 15, wherein
       said first predetermined condition includes at least one of
           that a description of the current communication message matches one of the descriptions of the relayed communication messages included in the first data,   that a sent time of the current communication message satisfies a third predetermined condition with the sent times of the relayed communication messages, and   that a received time of the current communication message satisfies the third predetermined condition with the received times of the relayed communication messages.   
           
       (Note 17) The communication control apparatus of Note 12, wherein
       said transfer controller includes at least one of
           a first controller for stopping and canceling relay of the current communication message, and   a second controller for stopping relay of the current communication message to resume the relay upon satisfying a second predetermined condition.   
           
       (Note 18) The communication control apparatus of Note  17 , wherein
       said second predetermined condition includes
           elapse of a predetermined time after stopping relay of the current communication message.   
           
       (Note 19) The communication control apparatus of Note 13, further comprising:
       a communication proxy for transmitting a proxy transmission message containing a description of the first communication messages to the second communication apparatus during a time period of stopping relay of the current communication message.   
       (Note 20) The communication control apparatus of Note 19, further comprising:
       a proxy data storage for storing proxy data including a destination address and a description of the proxy transmission message,
 
wherein
   said communication proxy generates the proxy transmission message on the basis of the proxy data stored in the proxy data storage.   
       (Note 21) The communication control apparatus of Note 20, wherein
       said proxy data further includes a reply-to address and an assumed reply message, and   said communication proxy transmits to the reply-to address a reply message received for the proxy transmission message if the reply message does not match the assumed reply message.   
       (Note 22) The communication control apparatus of Note 20, wherein
       said proxy data further includes a transmission interval of the proxy transmission message.   
       (Note 23) A computer readable storage medium storing a program of instructions to a computer for executing a communication control method, said computer relaying communication messages, said computer having a communication data storage for storing first data regarding relayed communication messages, said method comprising:
       storing the first data regarding the relayed communication messages in the communication data storage;   receiving a current communication message;   determining, on the basis of the first data stored in the communication data storage, whether the current communication message satisfies a first predetermined condition;   stopping relay of the current communication message satisfying the first predetermined condition; and   continuing relay of the current communication message failing to satisfy the first predetermined condition.   
       (Note 24) A service server for receiving a first communication message from a terminal and transmitting a second communication message in response to the first communication message to the terminal, comprising:
       a receiver for receiving the first communication message;   a transmitter for transmitting the second communication message;   a communication data storage for storing first data regarding communication messages; and   a transmission controller for controlling transmission of the second communication message in response to the first communication message by determining whether the first communication message satisfies a first predetermined condition, to stop transmission of the second communication message the first predetermined condition and continue transfer of the current communication message failing to satisfy the first predetermined condition.   
       (Note 25) A terminal for transmitting a first communication message to a service server and receiving a second communication message in response to the first communication message from the service server, comprising:
       a receiver for receiving and transferring the second communication message;   a transmitter for transmitting the first communication message;   a communication data storage for storing first data regarding communication messages; and   a transfer controller for controlling transfer of the second communication message in response to the first communication message by determining, on the basis of the first data stored in the communication data storage, whether the second communication message satisfies a first predetermined condition, to stop transfer of the second communication message satisfying the first predetermined condition and continue transfer of the current communication message failing to satisfy the first predetermined condition.   
       (Note 26) The terminal of Note 25, said terminal being powered by a battery, said terminal further comprising:
       a battery checker for checking remaining capacity of the battery,
 
wherein
   said transfer controller controls transfer of the second communication message on the basis of the remaining capacity of the battery checked by the battery checker.   
       (Note 27) The terminal of Note 26, wherein
       said transfer controller stops transfer of the second communication message when the battery checker determines that the remaining capacity of the battery has fallen below a predetermined capacity and continues transfer of the second communication message when the battery checker determines that the remaining capacity of the battery is a predetermined capacity or more.   
       (Note 28) The terminal of Note 26, wherein
       said transfer controller delays transfer of the second communication message on the basis of the remaining capacity of the battery.