Abstract:
There is provided a relay device which enables improved communication quality and cost-reduction, wherein the device carries out both real-time communications and non-real-time communications. A first communicator carries out packet communications with a first real-time communication device and a first non-real-time communication device, which are connected through an external network. A second communicator accommodates a second real-time communication device included in an internal network. A third communicator accommodates a second non-real-time communication device included in the internal network. A connection controller controls a connection of the first and second real-time communication devices. A timing checker detects a timing before the connection between the first and second real-time communication devices, and a timing after the disconnection between them by monitoring operations of the connection controller. A resource controller controls resources for real-time communications and those for non-real-time communications based on the timings detected by the timing checker.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     1. Field of the Invention  
         [0002]     The present invention relates to a relay device, a relay method and a relay program, which are used in a communication network, wherein the network carries out both real-time communications and non-real-time communications. The present invention may be used for a broadband router compatible with, for example, both Internet-connection services, and Internet-protocol (IP) telephone services.  
         [0003]     2. Description of Related Art  
         [0004]     For example, the Internet and a local area network (LAN) have been known as a communication network which carries out both real-time communications and non-real-time communications. In the above communication networks, both the real-time communications and the non-real-time communications are carried out using a same transmission band.  
         [0005]     The real-time communication is the communication in which allowable delay time is defined. For example, an IP telephone system, a video telephone system, a facsimile system, and a television conference system have been known as the real-time communications.  
         [0006]     The non-real-time communication is the communication in which there is no limit in the delay time. Data communications such as the World Wide Web (WWW), and File-Transfer-Protocol (FTP) Transfer have been known as the non-real-time communications.  
         [0007]     For example, a broadband router has been known as a relay device used in a communication network compatible with real-time communications and non-real-time communications.  FIG. 1  shows a conceptual view showing one example of a communication network using a broadband router. A communication network  110  in  FIG. 1  includes a broadband router  111 , LAN terminals  112  through  114 , and an IP telephone  115 . The broadband router  111  has communication functions for a wide area network (WAN), a LAN, a wireless LAN, and a Voice over IP (VoIP) technology. The broadband router  111  is connected to the Internet  120  through a WAN. Furthermore, the broadband router  111  accommodates terminals  112  and  113  through LAN cables, a terminal  114  using wireless communications, and a telephone  115  through analog cables. In the example of  FIG. 1 , the terminals  111  through  113  carry out non-real-time communications, and, moreover, the IP telephone  115  carries out real-time communications.  
         [0008]     When real-time communications and non-real-time communications are carried out using a same transmission band, a technique is necessary for preventing delay time in the real-time communications from exceeding an allowed value. The reason is that, when the delay time in the real-time communications exceeds the allowed value, there is a possibility that overflow of communication data is generated in a buffer of a relay device. The overflow of communication data causes delay in data transfer and loss of data. Accordingly, communication quality is deteriorated.  
         [0009]     A communication device which can inhibit overflow in real-time communications has been disclosed in Japanese Patent Application Laid-Open No. 2004-208124. The communication device according to the above-described patent document is provided with a function by which a data amount in real-time communications is monitored. The communication device extends a transmission bandwidth allocated for real-time communications when the data amount in the real-time communications exceeds a predetermined threshold.  
         [0010]     However, when the data amount in the real-time communications is rapidly changed, it is difficult to prevent overflow of communication data because the communication device according to the above-described patent document changes the allocated transmission bandwidth after the data amount actually exceeds the threshold. Accordingly, it seems that the overflow is easily generated in the above-described communication device immediately after the real-time communications are started.  
         [0011]     In the communication device according to the above-described patent document, only a data amount in real-time communications is monitored, and a data amount in non-real-time communications is not monitored. Accordingly, deterioration in communication quality at real-time communications cannot be prevented in the above-described communication device, wherein the deterioration is caused by a large amount of data in the non-real-time communications and by burst-like increase in a data amount at the non-real-time communications.  
         [0012]     In order to reduce the cost of a relay device, it is preferable to use a low-price central processing unit (CPU) for the relay device. Especially, a consumer-use broadband router is strongly required to be a low-price one. Use of a low-price CPU requires reduction in the load on communication processing. When real-time communications and non-real-time communications are carried out using one relay device, the processing load on non-real-time communications is large to cause a possibility that communication quality in real-time communications is deteriorated.  
       SUMMARY OF THE INVENTION  
       [0013]     One object of the present invention is to provide a technique by which, in a relay device, which carries out both real-time communications and non-real-time communications, the communication quality of the device is improved and the cost of the device is reduced.  
         [0014]     A communication relay device according to the present invention includes: a first communicator which carries out packet communications with a first real-time communication device and a first non-real-time communication device, which are connected through an external network; a second communicator which accommodates a second real-time communication device included in an internal network; a third communicator which accommodates a second non-real-time communication device included in the internal network; a connection controller which controls connection of the first and the second real-time communication devices for communications; a timing checker which, by monitoring operations of the connection controller, detects a timing before connection of the first and the second real-time communication devices for communications, and a timing after release of the connection for communications; and a resource controller which controls resources for real-time communications and those for non-real-time communications, based on the timings detected by the timing checker.  
         [0015]     A communication relay method according to the present invention includes: a step at which packet communications are carried out for a first real-time communication device and a first non-real-time communication device, which are connected through an external network; a step at which communications with a second real-time communication device included in an internal network are carried out; a step at which communications with a second non-real-time communication device included in the internal network are carried out; a step at which connection of the first and the second real-time communication devices for communications is controlled; a step at which, by monitoring operations of the connection controller, there are checked a timing before connection of the first and the second real-time communication devices for communications, and a timing after release of the connection for communications; and a step at which resources for real-time communications and those for non-real-time communications are controlled, based on the timings detected at the timing checking step.  
         [0016]     A computer program product according to the present invention includes programs by which a computer executes the steps including: a step at which packet communications are carried out for a first real-time communication device and a first non-real-time communication device, which are connected through an external network; a step at which communications with a second real-time communication device included in an internal network are carried out; a step at which communications with a second non-real-time communication device included in the internal network are carried out; a step at which connection of the first and the second real-time communication devices for communications is controlled; a step at which, by monitoring operations of the connection controller, there are checked a timing before connection of the first and the second real-time communication devices for communications, and a timing after release of the connection for communications; and a step at which resources for real-time communications and those for non-real-time communications are controlled, based on the timings detected at the timing checking step. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0017]     Other objects and the advantages of the present invention will be explained, referring to the following attached drawings.  
         [0018]      FIG. 1  is a conceptual view showing one example of the structure of a communication network which carries out both real-time communications and non-real-time communications;  
         [0019]      FIG. 2A  is a conceptual view showing a structure for a communication network according to a first embodiment;  
         [0020]      FIG. 2B  is a conceptual view explaining functions of a relay device according to the first embodiment;  
         [0021]      FIG. 3  is a block diagram in which one example of the internal structure of the relay device according to the present invention is schematically shown;  
         [0022]      FIG. 4  is a view explaining the operation sequence of a communication network according to the first embodiment;  
         [0023]      FIG. 5  is a conceptual view showing the structure of a communication network according to a second embodiment; and  
         [0024]      FIG. 6  is a view explaining the operation sequence of the communication network according to the second embodiment. 
     
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0025]     Hereinafter, embodiments according to the present invention will be explained with reference to drawings. In the drawings, the size and shape of each component, and the arrangement of the components are schematically shown in such a way that the present invention may be understood, and, moreover, numeric conditions which will be hereinafter explained are merely exemplary.  
       First Embodiment  
       [0026]      FIG. 2A  is a conceptual view showing a whole configuration of a communication network according to the present embodiment.  FIG. 2B  is a conceptual view explaining functions of a broadband router according to the present embodiment.  
         [0027]     As shown in  FIG. 2A , a communication network  200  according to the present embodiment includes the Internet  210 , a Web server  220 , and LANs  230  and  240 . The LAN  230  includes a broadband router  231 , a personal computer  232 , and a telephone  233 . Similarly, the LAN  240  includes a broadband router  241 , a personal computer  242 , and a telephone  243 .  
         [0028]     The Web server  220 , and the LANs  230  and  240  are connected to one another through the Internet  210 . In the present invention, communication networks other than the Internet may be used. The communication network used in the present invention is not required to adopt the Internet Protocol as a network layer of the Open-Systems-Interconnection (OSI) reference model.  
         [0029]     The Web server  220  executes a data communication service in the World Wide Web through the Internet  210 .  
         [0030]     The broadband router  231  is a relay device according to the present invention (refer to  FIG. 2B ). The broadband router  231  relays communications between the Internet  210  and the LAN  230 . More specifically, the broadband router  231  relays data communications between the personal computer  232  and the Web server  220 , that is, non-real-time communications, and voice communications between the telephone  233  and the telephone  243 , that is, real-time communications. The broadband router  231  is provided with a port  231   a  for a WAN communication, a port  231   b  for wireless a LAN communication, and a port  231   c  which accommodates an analog telephone. The broadband router  231  may be provided with a port for wired communications (refer to  FIG. 1 ). The broadband router  231  is connected to the Internet  210  through the port  231   a . A broadband communication technology, for example, an xDSL technology such as an asymmetric digital subscriber line (ADSL) technology may be used for communications between the broadband router  231  and the Internet  210 . When the ADSL technology is used, a subscriber line, that is, a copper wire is connected to the port  231   a . The broadband router  231  has the after-described function by which wireless LAN bands are automatically switched.  
         [0031]     Similarly, the broadband router  241  relays communications between the Internet  210  and the LAN  240 . More specifically, the broadband router  241  relays data communications between the personal computer  242  and the Web server  220 , and voice communications between the telephone  233  and the telephone  243 . The broadband router  241  is provided with a port  241   a  for a WAN communications a port  241   b  for a wireless LAN communication, and a port  241   c  which an accommodates analog telephone. Furthermore, the broadband router  241  may be provided with a port for wired communications. The broadband router  241  is connected to the Internet  210  through the port  241   a . The broadband router  241  has the function by which wireless LAN bands are automatically switched in a similar manner to that of the broadband router  231 .  
         [0032]     The personal computers  232  and  242  are used as a communication terminal through which a data communication service is obtained. In other words, the personal computers  232  and  242  are communication terminals for non-real-time communications. It has been known that, for example, the WWW system, the FTP access, and the E-mail system are based on non-real-time communications. The personal computers  232  and  242  are provided with a function for wireless LAN communications, or are connected to a device for wireless LAN communications. The personal computer  232  is connected to the port  231   b  in the broadband router  231  through a wireless LAN. Similarly, the personal computer  242  is connected to the port  241   b  in the broadband router  241  through a wireless LAN.  
         [0033]     The telephones  233  and  243  are terminals for voice communications. A common analog telephone, that is, a telephone adapted to Public Switched Telephone Networks (PSTN) may be used as the telephones  233  and  243 . The analog telephone includes a cordless telephone, a personal handyphone system (PHS) terminal with a function as a cordless telephone, and the like. In addition, a personal computer which is installed with application software for voice communications may be used as the telephones  233  and  243 . The telephones  233  and  243  are not required to be provided with a function compatible with the VoIP. The telephone  233  in the present embodiment is connected to the port  231   c  in the broadband router  231  through, for example, analog copper cables. Similarly, the telephone  243  in the present embodiment is connected to the port  241   c  in the broadband router  241  through, for example, analog copper cables. The telephones  233  and  243  are used for VoIP communications between the broadband routers  231  and  241 . The VoIP communications are real-time communications.  
         [0034]     As described above, the personal computers  232  and  242  in the present embodiment are connected to the broadband routers  231  and  241  through a wireless LAN. When the wireless LAN is used, loads on CPUs installed in the broadband router  231  and  241  are larger than those of a case in which LAN cables are used. As described above, the larger loads on the CPUs installed in the broadband routers causes the quality of real-time communications (that is, voice communications using the telephones  223  and  243 ) to become deteriorated. The broadband router  241  in the present embodiment maintains the quality of real-time communications by automatically switching the transmission bandwidth of the wireless LAN. The details of the switching function of the transmission bandwidths will be described later.  
         [0035]      FIG. 3  is a block diagram in which the internal structure of the broadband routers  231  and  241  is schematically shown. As shown in  FIG. 3 , the broadband routers in the present embodiment are provided with a WAN communicator  301 , a Wireless LAN communicator  302 , a voice communicator  303 , a call controller  304 , a VoIP processor  305 , a resource controller  306 , a timing checker  307 , a main controller  308 , and a storage  309 .  
         [0036]     The WAN communicator  301  is connected to the Internet  210  through the port  231   a  or  241   a  (refer to  FIG. 2A ). The WAN communicator  301  carries out communications according to the Internet Protocol and the Vice over Internet Protocol. A global IP address in the Internet  210  is allocated to the WAN communicator  301 .  
         [0037]     The wireless LAN communicator  302  is connected to the personal computer  232  or  242  through the port  231   b  or  241   b . For example, IEEE802.11 may be used as a communication protocol. Moreover, for example, a carrier sense multiple access with collision avoidance (CSMA/CA) control method may be used as a protocol for media access control. The maximum transmission bandwidth in the wireless LAN communications is, for example, 54 Mbps.  
         [0038]     The voice communicator  303  is connected to the telephone  233  or  243  through the port  231   c  or  241   c . The voice communicator  303  carries out voice communications according to the PSTN. Since the voice communications adapted for the PSTN is used, a telephone adapted for the PSTN may be used as the telephone  233  or  243 .  
         [0039]     The call controller  304  carries out call control for VoIP communications. For example, the session initiation protocol (SIP), and the ITU-T Recommendation H.323 have been known as a call control protocol for VoIP communications. When the SIP is adopted, call control is carried out between the call controller  304  and a SIP server (not shown). The SIP server is connected to the Internet  210 .  
         [0040]     The VoIP processor  305  converts a format of voice data. The VoIP processor  305  converts voice data input from the voice communicator  303  to a voice packet according to the VoIP, and the converted data is sent to the WAN communicator  301 . In addition, the VoIP processor  305  converts the voice packet input from the WAN communicator  301  to voice data according to the PSTN, and the converted packet is sent to the voice communicator  303 .  
         [0041]     The resource controller  306  allocates resources to real-time communications and to non-real-time communications. The resources include transmission bandwidths between the Internet  210  and the WAN communicator  301 . Furthermore, the resources include the throughput of a CPU (not shown) installed in the broadband router  231  or  241 . According to the present embodiment, most of, or all of the resources are allocated to the non-real-time communications when real-time communications are not carried out. On the other hand, when real-time communications are carried out, the resource controller  306  allocates transmission bandwidths enough for securing the communication quality to the real-time communications, and allocates the remaining transmission bandwidths to the non-real-time communications. When transmission bandwidths of real-time communications expands, maximum number of the real-time communication packets which can be transmitted and received via the transmission bandwidths increases. The resource controller  306  allocates the throughput of CPU enough for processing the maximum number packets to the real-time communications, and allocates the remaining throughput to the non-real-time communications. The throughput of CPU enough for processing the maximum number packets of the real-time communications can be measured by making the throughput of non-real-time communications increase gradually under a condition that the CPU carries out processes related to the real-time communications.  
         [0042]     The timing checker  307  detects a timing according to which there source controller  306  changes the allocation of the resources. The allocation of the resources is changed immediately before real-time communications are started, and immediately after the real-time communications are completed. The timing checker  307  detects the above timing by monitoring call-control messages which the call controller  304  transmits and/or receives. A concrete example in which the timing is detected will be described later, referring to  FIG. 4 .  
         [0043]     The main controller  308  activates the above-described components  301  through  307 . The main controller  308  includes the CPU installed in the broadband router  231  or  241 , and an operating system. A part of, or all of the components  301  through  307  may be formed on the main controller  308  in the form of software.  
         [0044]     The storage  309  includes nonvolatile memories and volatile memories. The nonvolatile memories are, for example, read only memories (ROMs), or hard disks. The volatile memories are, for example, random access memories (RAMs). The nonvolatile memories save an operating system and other programs. The volatile memories are temporary saving memories for executing programs, or buffers in which packets for real-time communications are temporarily saved.  
         [0045]     Whole operations in the communication network  200  will be explained, referring to a sequence diagram shown in  FIG. 4 . In the following explanation, the telephone  233  carries out call processing, and the telephone  243  carries out called processing.  
         [0046]     As described above, all of, or most of the resources are allocated to non-real-time communications when VoIP communications are not carried out. Whether the number of resources allocated to real-time communications is set zero depends on specifications for call control communications. When the call control communications are non-real-time communications, the number of resources allocated to real-time communications may be set zero, but the number of the resource may not be set zero when the call control communications are real-time communications. When a transport layer in the OSI reference model has a retransmit control function, that is, when, for example, the transmission control protocol (TCP) is adopted, the call control communications are non-real-time communications. On the other hand, when the transport layer does not have the retransmit control function, that is, when, for example, the user datagram protocol (UDP) is adopted, the call control communications are real-time communications.  
         [0047]     To start a VoIP communication, a call user off-hooks the telephone  233  in the first place (refer to Step S 401 ). Furthermore, the call user operates the telephone  233  to dial the telephone number of a called telephone  243  (refer to Step S 402 ). The dialed telephone number is sent to the call controller  304  (refer to  FIG. 3 ) in the broadband router  231 .  
         [0048]     When the call controller  304  in the broadband router  231  receives the called-side telephone number, the call controller  304  makes an INVITE message, and sends the message to the WAN communicator  301 . The INVITE message is a message requesting call connection defined in the SIP. The WAN communicator  301  stores the INVITE message in an IP packet, and transmits the packet to the Internet  210  (refer to Step S 403 ). The above IP packet reaches the SIP server through a not-shown router and the like. The SIP server extracts the INVITE message from the IP packet, and executes processing such as address resolution. According to the above processing, the SIP server specifies an IP address corresponding to the called side telephone number of the INVITE message, that is, an IP address allocated to the broadband router  241 . Thereafter, the SIP server stores the INVITE message in an IP packet which is transmitted to the specified IP address.  
         [0049]     As described above, the timing checker  307  (refer to  FIG. 3 ) monitors the call control message which the call controller  304  transmits and receives. When the timing checker  307  detects that the call controller  304  has transmitted the INVITE message, it is notified to the resource controller  306  that VoIP communications will be started. When the resource controller  306  receives the above notification, the allocation of the resources is changed (refer to Step S 404 ). As described above, resources enough for securing communication quality are allocated to real-time communications, and the remaining resources are allocated to non-real-time communications when the VoIP communications are started. For example, the resource controller  306  changes the transmission band allocated to non-real-time communications from the maximum value, that is, 54 Mbps to 6 Mbps. The remaining transmission band is allocated to real-time communications. Similarly, allocation of the driving performance of the CPU is changed according to the transmission band.  
         [0050]     Though the present embodiment is an example in which the allocation of the resources is changed after the INVITE message is transmitted, the allocation may be changed before the INVITE message is transmitted. For example, immediately after the INVITE message is generated, the allocation may be changed.  
         [0051]     The broadband router  241  receives the INVITE message from the SIP server. The WAN communicator  301  in the broadband router  241  extracts the INVITE message from a received IP packet, and the extracted message is sent to the call controller  304  (refer to  FIG. 3 ). The timing checker  307  detects that the call controller  304  has received the INVITE message, and provides the resource controller  306  with notification that VoIP communications will be started. When the resource controller  306  receives the above notification, the allocation of the resources is changed (refer to Step S 405 ). The resource controller  306  in the broadband router  241  allocates resources enough for securing the communication quality to real-time communications in a similar manner to that of the broadband router  231 .  
         [0052]     Subsequently, the call controller  304  in the broadband router  241  sends a “ 100  Trying message” to the WAN communicator  301 . The “100 Trying message” is a temporary message by which it is notified that requested processing of call connection is being executed. The “100 Trying message” is stored in an IP packet at the WAN communicator  301 , and the packet is transmitted to the broadband router  231  through the Internet  210  (refer to Step S 406 ).  
         [0053]     The call controller  304  in the broadband router  241  transmits a ring signal to the telephone  243  (refer to Step S 408 ). When the ring signal is received, the telephone  243  produces a ringing tone. Furthermore, the call controller  304  in the broadband router  241  sends a “180 Ringing message” to the WAN communicator  301 . The “180 Ringing message” is a message by which it is notified that the telephone  243  is ringing. The “180 Ringing message” is stored in an IP packet at the WAN communicator  301 , and the packet is transmitted to the broadband router  231  through the Internet  210  (refer to Step S 409 ).  
         [0054]     When a called user off-hooks the telephone  243 , an off-hook signal is transmitted from the telephone  243  to the broadband router  241  (Step S 410 ). When the call controller  304  in the broadband router  241  receives the off-hook signal, a “200 OK message” is sent to the WAN communicator  301 . The “200 OK message” is a message by which it is notified that processing corresponding to the INVITE message (that is, the request for call connection) has been completed. The “200 OK message” is stored in an IP packet at the WAN communicator  301 , and the packet is transmitted to the broadband router  231  through the Internet  210  (refer to Step S 411 ).  
         [0055]     The broadband router  231  reverses the polarity of a direct-current voltage applied to cables which connect the voice communicator  303  and the telephone  233  (Step S 412 ). By the above reversing, the call connection processing of the telephone  233  is completed. Furthermore, the broadband router  231  sends an “ACK message” to the WAN communicator  301 . The “ACK message” is a response signal by which it is notified that the “200 OK message” has been received. The ACK message is stored in an IP packet at the WAN communicator  301 , and the packet is transmitted to the broadband router  241  through the Internet  210  (refer to Step S 413 ).  
         [0056]     According to the above-described processing, call connection is established between the telephones  233  and  243  to enable the telephones to start conversation. As described above, the broadband routers  231  and  241  according to the present embodiment allocate resources enough for securing communication quality to real-time communications, and the remaining resources to non-real-time communications before VoIP communications are started. Accordingly, even when one, or both of the personal computers  232  and  242  carry out non-real-time communications, overflow is hardly generated in a buffer (not shown) of the broadband router, that is, there is less possibility that a packet is lost in the VoIP communications. As a result, the broadband routers  231  and  241  according to the present embodiment may realize sufficiently high quality of the VoIP communications.  
         [0057]     To release the call connection, the telephone  233  or  243  is on-hooked.  FIG. 4  shows an example in which the telephone  233  is on-hooked. When the telephone  233  is on-hooked (not shown), the call controller  304  in the broadband router  231  sends a Bye message to the WAN communicator  301 . The Bye message is a message by which call release is requested. The Bye message is stored in an IP packet at the WAN communicator  301 , and the packet is transmitted to the broadband router  241  through the Internet  210  (refer to Step S 414 ).  
         [0058]     The Bye message received at the broadband router  241  is sent to the call controller  304  through the WAN communicator  301 . When the timing checker  307  in the broadband router  241  detects that the call controller  304  has received the Bye message, it is notified to the resource controller  306  that VoIP communications have been completed. When the resource controller  306  receives the above notification, allocation of the resources is returned to a state before the call connection is established (refer to Step S 415 ). For example, the resource controller  306  returns the transmission band allocated to non-real-time communications from 6 Mbps to 54 Mbps.  
         [0059]     When the call controller  304  in the broadband router  241  receives the Bye message, the router  241  carries out usual call-release processing, and sends the “200 OK message” to the WAN communicator  301 . The  200  OK message is a message by which it is notified that the processing corresponding to the Bye message has been completed. The “200 OK message” is stored in an IP packet at the WAN communicator  301 , and the packet is transmitted to the broadband router  231  through the Internet  210  (refer to Step S 416 ).  
         [0060]     The “200 OK message” received by the broadband router  231  is sent to the call controller  304  through the WAN communicator  301 . When the timing checker  307  in the broadband router  231  detects that the “200 OK message” has been received by the call controller  304 , it is notified to the resource controller  306  that VoIP communications have been completed. When the resource controller  306  receives the above notification, allocation of the resources is returned to a state before the call connection is established (refer to Step S 417 ). For example, the resource controller  306  returns the transmission band allocated to non-real-time communications from 6 Mbps to 54 Mbps. According to the above processing, the call release processing is completed.  
         [0061]     Steps S 404  and S 405  may be carried out at any time after off-hook processing and before call connection. In addition, Steps S 415  and S 417  may be carried out at any time after a call is released. A timing at which the above Steps S 404 , S 405 , S 415 , and S 417  are executed may be judged based on a transmitting timing or a receiving timing of a message which is generated in the broadband router. In addition, a timing at which the above steps are executed may be judged based on timing at which a signal is transmitted to the telephones  233  and  243 , or a timing at which a signal is received from the telephones  233  and  243 .  
         [0062]     More specifically, Step S 416  may be executed before Step S 415  is done. In addition, processing at Step S 417  maybe executed before Step S 414  is done. Step S 404  may be executed at a timing shown in  FIG. 4  with a symbol SP 1 . Similarly, Step S 405  may be executed at a timing shown in  FIG. 4  with a symbol SP 2 . When Steps S 403  and S 404  are executed at timing, for example, SP 1  and SP 2  after Step S 410 , the resources are not changed unless the called user off-hooks the telephone  243 . Accordingly, there may be avoided an inconvenience that the resources are changed though call connection is not actually established.  
         [0063]     As described above, the broadband routers  231  and  241  according to the present embodiment change the allocation of the resources before VoIP communications are started. Accordingly, when the communication data amount increases, the broadband router  231  and  241  according to the present embodiment may surely secure more sufficient quality for VoIP communications in comparison with the quality of a device in which resources are changed.  
         [0064]     The broadband router  231  and  241  according to the present embodiment allocate resources enough for securing communication quality to real-time communications, and the remaining resources to non-real-time communications. Accordingly, the broadband routers  231  and  241  may secure communication quality even when the amount of communication data is rapidly changed.  
         [0065]     In addition, reduction in the use efficiency of the resources may be suppressed to the minimum by changing the allocation of the resources after the called-side telephone  243  is off-hooked.  
       Second Embodiment  
       [0066]      FIG. 5  is a conceptual view showing a whole configuration of another communication network according to the present embodiment.  
         [0067]     In  FIG. 5 , devices similar to those previously described in  FIG. 2  are denoted by the same reference numbers as those in  FIG. 2 . A communication network  500  in the present embodiment is different from that according to the above-described first embodiment in a point that the network  500  is provided with a private branch exchange (PBX)  501  as shown in  FIG. 5 .  
         [0068]     The PBX  501  is connected to an analog-telephone accommodating port  231   c  in a broadband router  231 . In addition, the PBX  501  may accommodate one or a plurality of telephones. Only one telephone  233  is shown in  FIG. 5  for simplification of explanation. Since there is provided the PBX  501  in the communication network, the telephone  233  may be used as an extension telephone. That is, the telephone  233  may call other extension telephones, and makes outside call.  
         [0069]     All operations in the communication network  500  will be explained, referring to a sequence diagram shown in  FIG. 6 . In the following explanation, a telephone  243  carries out call processing, and the PBX  501  and the telephone  233  carry out called processing.  
         [0070]     When VoIP communications are not carried out, all of, or most of the resources are allocated to non-real-time communications in a similar manner to that of the first embodiment. Whether the number of resources allocated to real-time communications is set zero depends on specifications for call control communications.  
         [0071]     To start a VoIP communication, a call user off-hooks the telephone  243  in the first place (refer to Step S 601 ) . Furthermore, the call user operates the telephone  243  to dial the telephone number of the called telephone  233  (refer to Step S 602 ). The dialed telephone number is sent to a call controller  304  in the broadband router  241  (refer to  FIG. 3 ).  
         [0072]     When the call controller  304  in the broadband router  241  receives the called-side telephone number, an INVITE message is sent to a WAN communicator  301 . The INVITE message is stored in an IP packet at the WAN communicator  301 , and the packet is transmitted to the Internet  210  (refer to Step S 603 ). The above IP packet is received by a broadband router  231  through a SIP server and a relay device in a similar manner to that of the first embodiment.  
         [0073]     The WAN communicator  301  in the broadband router  231  extracts the INVITE message from the received IP packet, and sends the extracted message to the call controller  304 . Subsequently, the call controller  304  sends an initial address message (IAM) to the PBX  501  (refer to Step S 604 ) . The IAM is an address signal which notifies the called-side telephone number. Furthermore, the call controller  304  in the broadband router  231  sends “100 Trying message” to the WAN communicator  301 . The “100 Trying message” is stored in an IP packet at the WAN communicator  301 , and the packet is transmitted to the broadband router  231  through the Internet  210  (refer to Step S 605 ).  
         [0074]     The PBX  501  transmits an address complete message (ACM) signal to the broadband router  231  when the PXB  501  completes receiving the IAM signal (refer to Step S 606 ). The ACM is a signal notifying that receiving of the IAM signal has been completed. Furthermore, the PBX  501  transmits a ring signal to the telephone  233  (refer to Step S 607 ). When the ring signal is received, the telephone  243  produces a ringing tone.  
         [0075]     When the call controller  304  in the broadband router  241  receives the ACM signal, a “183 Session Progress message” is sent to the WAN communicator  301 . The “183 Session Progress message” is a message which notifies that the called-side telephone  233  is in a state of being called. The “183 Session Progress message” is stored in an IP packet at the WAN communicator  301 , and the packet is transmitted to the broadband router  241  through the Internet  210  (refer to Step S 608 ).  
         [0076]     A timing checker  307  in the broadband router  231  detects that the call controller  304  has transmitted the “183 Session Progress message,” and notifies a resource controller  306  that VoIP communications will be started. When the resource controller  306  receives the above notification, the allocation of the resources is changed (refer to Step S 609 ). The resource controller  306  in the broadband router  231  allocates resources enough for securing communication quality to real-time communications in a similar manner to that of the first embodiment.  
         [0077]     The WAN communicator  301  in the broadband router  241  extracts the “183 Session Progress message” from a received IP packet, and the message is sent to the call controller  304 . The timing checker  307  in the broadband router  241  detects that the call controller  304  has transmitted the “183 Session Progress message,” and notifies a resource controller  306  that VoIP communications will be started. When the resource controller  306  receives the above notification, the allocation of the resources is changed (refer to Step S 610 ). The resource controller  306  in the broadband router  231  allocates resources enough for securing communication quality to real-time communications.  
         [0078]     The PBX  501  outputs a ring back tone (RBT) signal (refer to Step S 611 ). The RBT signal is a tone signal which notifies the call user that the called-side telephone  233  is being called. The RBT signal is sent to the call-side telephone  243  through the broadband router  231 , the Internet  210 , and the broadband router  241 . Since, according to the present embodiment, the RBT signal is transmitted after the resources are allocated, the sufficiently high quality of a signal tone can be realized.  
         [0079]     When the called user off-hooks the telephone  233 , an off-hook signal is transmitted from the telephone  233  to the PBX  501  (Step S 612 ). When the PBX  501  receives the off-hook signal, an answer message (ANM) signal is transmitted to the broadband router  231  (refer to Step S 613 ). The ANM signal is a signal which notifies that off-hook processing is executed.  
         [0080]     When the call controller  304  in the broadband router  231  receives the ANM signal, a “200 OK message” is transmitted to the WAN communicator  301 . The “200 OK message” is stored in an IP packet at the WAN communicator  301 , and the packet is transmitted to the broadband router  231  through the Internet  210  (refer to Step S 614 ).  
         [0081]     A broadband router  615  reverses the polarity of a direct-current voltage applied to cables which connect a voice communicator  303  and the telephone  233  (Step S 615 ). By the above reversing, the call connection processing of the telephone  243  is completed. Furthermore, the broadband router  241  sends an ACK message to the WAN communicator  301 . The ACK message is stored in an IP packet in the WAN communicator  301 , and the packet is transmitted to the broadband router  231  through the Internet  210  (refer to Step S 616 ).  
         [0082]     According to the above-described processing, call connection is established between the telephones  233  and  243  to enable the telephones to start conversation. In a similar manner to that of the first embodiment, the broadband routers  231  and  241  according to the present embodiment allocate resources enough for securing communication quality to real-time communications, and the remaining resources to non-real-time communications before VoIP communications are started. Accordingly, even when one, or both of the personal computers  232  and  242  carry out non-real-time communications, overflow is hardly generated in the broadband routers and in a buffer of other relay devices. Accordingly, the sufficiently high quality of VoIP communications is realized.  
         [0083]     To disconnect the call connection, the telephone  233  or  243  is on-hooked.  FIG. 6  shows an example in which the telephone  233  is on-hooked. The telephone  233  sends an on-hook signal to the PBX  501  (refer to Step S 617 ). The PBX  501  sends a release message (REL) signal to the call controller  304  in the broadband router  231  (refer to Step S 618 ). The REL signal is a signal requesting call release. When the call controller  304  in the broadband router  231  receives the REL signal, a Bye message is sent to the WAN communicator  301 . The Bye message is stored in an IP packet at the WAN communicator  301 , and the packet is transmitted to the broadband router  241  through the Internet  210  (refer to Step S 619 ). In addition, the broadband router  231  transmits a release complete message (RLC) signal to the PBX  501  (refer to Step S 620 ). The RLC signal is a signal notifying that the call release has been completed.  
         [0084]     The Bye message received by the broadband router  241  is sent to the call controller  304  through the WAN communicator  301 . When the timing checker  307  in the broadband router  241  detects that the call controller  304  has received the Bye message, it is notified to the resource controller  306  that the VoIP communications have been completed. When the resource controller  306  receives the above notification, allocation of the resources is returned to a state before the call connection is established (refer to Step S 621 ). For example, the resource controller  306  returns the transmission band allocated to non-real-time communications from 6 Mbps to 54 Mbps.  
         [0085]     Thereafter, when the call user on-hooks the telephone  243 , an on-hook signal is sent to the broadband router  241  (refer to Step S 622 ). However, the call is released even when the call user does not on-hook.  
         [0086]     When the call controller  304  in the broadband router  241  receives the Bye message, usual call-release processing is carried out, and, moreover, the “200 OK message” is sent to the WAN communicator  301 . The “200 OK message” is stored in an IP packet at the WAN communicator  301 , and the packet is transmitted to the broadband router  231  through the Internet  210  (refer to Step S 623 ).  
         [0087]     The “200 OK message” received at the broadband router  231  is sent to the call controller  304  through the WAN communicator  301 . When the timing checker  307  in the broadband router  231  detects that the call controller  304  has received the “200 OK message,” it is notified to the resource controller  306  that VoIP communications have been completed. When the resource controller  306  receives the above notification, allocation of the resources is returned to a state before the call connection is established (refer to Step S 624 ). For example, the resource controller  306  returns the transmission band allocated to non-real-time communications from 6 Mbps to 54 Mbps. Thereby, call release processing is completed.  
         [0088]     As described above, the broadband routers  231  and  241  according to the present embodiment change the allocation of the resources before the RBT signal is transmitted. Accordingly, the broadband routers  231  and  241  in the present embodiment can secure voice signals and the RBT signal of sufficient quality.  
         [0089]     The broadband routers  231  and  241  according to the present embodiment allocate resources enough for securing communication quality to real-time communications, and the remaining resources to non-real-time communications. Accordingly, the broadband routers  231  and  241  may secure the communication quality even when the communication data amount is rapidly changed.  
         [0090]     In the first and second embodiments, the broadband routers  231  and  241  and the personal computers  232  and  242  are not necessarily connected through the wireless LAN.  
         [0091]     In the first and second embodiments, connection between the broadband routers  231 ,  241  and the telephones  233 ,  243  may be realized through the wireless LAN.  
         [0092]     The present invention may be applied to real-time communications other than the VoIP communications, for example, to a video telephone system, a facsimile system, and a television conference system, and the like.  
         [0093]     Though the examples in which the present invention is applied to both of the broadband routers  231  and  241  have been explained in the first and second embodiments, communication connection between a broadband router, to which the present invention is applied, and a broadband router, to which the present invention is not applied may be realized.  
         [0094]     The present invention may be applied to a network using a protocol other than the IP protocol, for example, to a network using the Internetwork Packet Exchange (IPX) protocol.  
         [0095]     The present invention may be structured as software, and, also, as hardware. When the present invention is structured as software, the number of CPUs is not necessarily one.