WO2019038874A1 - ネットワーク通信システム - Google Patents

ネットワーク通信システム Download PDF

Info

Publication number
WO2019038874A1
WO2019038874A1 PCT/JP2017/030270 JP2017030270W WO2019038874A1 WO 2019038874 A1 WO2019038874 A1 WO 2019038874A1 JP 2017030270 W JP2017030270 W JP 2017030270W WO 2019038874 A1 WO2019038874 A1 WO 2019038874A1
Authority
WO
WIPO (PCT)
Prior art keywords
address
communication
terminal
terminal device
global
Prior art date
Application number
PCT/JP2017/030270
Other languages
English (en)
French (fr)
Inventor
中井 俊之
矢野 義博
小川 隆
伸乃助 仲谷
正 大木
大樹 加藤
和樹 太治
卓矢 岡野
憲朗 伊藤
茂男 蜂木
Original Assignee
大日本印刷株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 大日本印刷株式会社 filed Critical 大日本印刷株式会社
Priority to PCT/JP2017/030270 priority Critical patent/WO2019038874A1/ja
Priority to JP2019537496A priority patent/JP7056663B2/ja
Publication of WO2019038874A1 publication Critical patent/WO2019038874A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges

Definitions

  • the present invention relates to a network communication system for performing communication between terminals via a network.
  • a relay device that plays the role of taking over communication between the terminal devices.
  • a secure first communication channel is secured between the first terminal device and the relay device
  • a secure second communication channel is secured between the second terminal device and the relay device.
  • a network communication system is disclosed that secures a communication channel and communicates between both terminal devices via a relay device.
  • all communication data between both terminals passes through the relay device, which causes a problem that the processing load on the relay device is large.
  • Patent Documents 2 and 3 listed below disclose a network communication system that implements VPN communication between terminals using this SIP.
  • the connection mediation device in this system does not have to relay all of the communication data, and it only needs to assist in establishing a communication session between the two terminals, so the processing load is significantly higher than that of the conventional relay device. It is reduced.
  • connection mediating apparatus used in the network communication system disclosed in Patent Documents 2 and 3 performs connection mediating processing between both terminals using SIP. Since this connection mediation process is a temporary process until a communication session is established between both terminals, the processing load is reduced compared to the conventional relay process disclosed in Patent Document 1 It will be. However, since it is necessary to be involved until a communication session is established between the two terminals, the processing load can not be ignored if there are requests for mediation from a large number of terminals simultaneously. For this reason, when the concentration of mediation requests is concentrated, there is a risk that the processing capacity of the system may be exceeded even for the temporary mediation processing up to the establishment of the communication session.
  • a global address is given to a terminal device connected to a network via a router in this way as a location address indicating its own location on the network, and from the router, it is on the network managed by the router. Only valid private IP addresses are also assigned.
  • the present invention can further reduce the processing load at the time of mediating connection between a pair of terminal devices, and perform efficient communication between the terminal devices connected to the network through the router.
  • the first aspect of the present invention mediates connection between a plurality of terminal devices that can be connected to each other via a network, as will be described in detail in Section 5-2 below.
  • a network communication system comprising a connection mediation device;
  • a terminal ID for mutually identifying each of the plurality of terminal devices is assigned to each of the plurality of terminal devices, and the connection mediation device is a terminal serving as a communication source terminal and a communication destination using the terminal ID.
  • Each of the plurality of terminal devices is A self address notifying unit for notifying the connection mediating device of a location address indicating a location on the own network;
  • a communication request accepting unit that accepts a communication request to another terminal apparatus at the communication destination with the self as a communication source;
  • Connection mediation for transmitting a connection mediation request including communication destination specifying information for specifying the terminal ID of another terminal device of the communication destination to the connection mediation device when the communication request receiving unit receives the communication request Requesting department,
  • the connection mediation device returns a communication destination address indicating the location of another terminal device of the communication destination on the network, the communication destination address is accessed via the network.
  • a communication start request unit that makes a communication start request;
  • a communication source session for establishing a communication session with another terminal apparatus at the communication destination and starting communication when a communication start acceptance confirmation is returned from another terminal apparatus at the communication destination in response to the communication start request
  • the establishment unit When another terminal device of the communication source makes a communication start request for the communication destination, the communication start acceptance confirmation is transmitted to the other terminal device of the communication source, and between the other terminal device of the communication source A communication destination session establishing unit that establishes a communication session and starts communication Have
  • the connection intermediary device is An address table storage unit for storing an address table in which a terminal ID is associated with a location address for each of the terminal devices; An address table updating unit that updates the contents of the address table based on a notification from a self address notification unit of the terminal device;
  • the address mediation request is referred to, and the terminal ID specified by the communication destination specifying information included in the connection mediation request is correlated with A communication destination address reply unit that returns
  • the address table storage unit stores, as a location address, the global IP address of each terminal device in association with the terminal ID, and further, for a terminal device to which a private IP address is notified, the private IP address corresponds to the terminal ID. And store According to the contents of the address table, the communication destination address reply unit sends back a global IP address or a private IP address or both as a communication destination address,
  • the communication start request unit is configured to make a communication start request using a global IP address or a private IP address, or both of them.
  • a second aspect of the present invention is a network communication system according to the first aspect described above, as described in detail in Section 5-2 below.
  • the communication start request unit has the same IP address as the global IP address of the terminal device as the communication source and the global IP address of the terminal device as the communication destination, the communication start request is made using the private IP address.
  • the global IP address is used to make a communication start request.
  • a third aspect of the present invention is a network communication system according to the first aspect described above, as detailed in Example 1 in ⁇ 6-1 below.
  • the communication destination address reply unit refers to the address table, and identifies the global IP address associated with the terminal ID of the terminal device of the communication source that has transmitted the connection mediation request, and the communication destination identification included in the connection mediation request It is determined whether or not the global IP address associated with the terminal ID specified by the information is the same IP address, and if both the determination target are the same IP address, the private IP The address is returned as the selected communication destination address, and if both the judgment targets are different IP addresses, the global IP address is returned as the selected communication destination address,
  • the communication start request unit is configured to make a communication start request by using the returned selected communication destination address.
  • a fourth aspect of the present invention relates to the network communication system according to the first aspect described above, as detailed in Example 3 in ⁇ 7-1 below. If both the global IP address and the private IP address are stored in the address table as the address to be returned, the communication destination address reply unit replies both addresses as the communication destination address, Whether the global IP address returned as the communication destination address is the same IP address as the communication source's own global IP address when the communication start request unit returns both addresses If both of the judgment target have the same IP address, a communication start request is made using the private IP address, and if both the judgment target are different IP addresses, the global IP address The communication start request is made using FIG.
  • a fifth aspect of the present invention is a network communication system according to the fourth aspect described above, as described in detail in Section 8-4 below.
  • a sixth aspect of the present invention relates to the network communication system according to the first aspect described above, as detailed in Example 5 in ⁇ 8-1 below. If both the global IP address and the private IP address are stored in the address table as the address to be returned, the communication destination address reply unit replies both addresses as the communication destination address, The communication start request unit first tries a communication start request using a private IP address when both addresses are sent back, and it is determined that this communication start request has failed or a failure is expected In the above, the communication start request using the global IP address is made.
  • the seventh aspect of the present invention relates to the above-described seventh aspect, as detailed in Example 5 in ⁇ 8-1 below, or as an additional matter in ⁇ 8-4 below
  • the communication start request fails when the communication start acceptance confirmation is not sent from the terminal device of the communication destination within a predetermined timeout time after the communication start request unit makes a communication start request using the private IP address. It is determined that the
  • the eighth aspect of the present invention mediates connection between a plurality of terminal devices mutually connectable via a network and a plurality of terminal devices, as will be described in detail as a modification in ⁇ 9 later.
  • a network communication system comprising: A terminal ID for mutually identifying each of the plurality of terminal devices is assigned to each of the plurality of terminal devices, and the connection mediation device is a terminal serving as a communication source terminal and a communication destination using the terminal ID.
  • Each of the plurality of terminal devices is A self address notifying unit for notifying the connection mediating device of a location address indicating a location on the own network;
  • a communication request accepting unit that accepts a communication request to another terminal apparatus at the communication destination with the self as a communication source;
  • Connection mediation for transmitting a connection mediation request including communication destination specifying information for specifying the terminal ID of another terminal device of the communication destination to the connection mediation device when the communication request receiving unit receives the communication request Requesting department,
  • the connection mediation device returns a communication destination address indicating the location of another terminal device of the communication destination on the network, the communication destination address is accessed via the network.
  • a communication start request unit that makes a communication start request;
  • a communication source session for establishing a communication session with another terminal apparatus at the communication destination and starting communication when a communication start acceptance confirmation is returned from another terminal apparatus at the communication destination in response to the communication start request
  • the establishment unit When another terminal device of the communication source makes a communication start request for the communication destination, the communication start acceptance confirmation is transmitted to the other terminal device of the communication source, and between the other terminal device of the communication source A communication destination session establishing unit that establishes a communication session and starts communication Have
  • the connection intermediary device is An address table storage unit for storing an address table in which a terminal ID is associated with a location address for each of the terminal devices; An address table updating unit that updates the contents of the address table based on a notification from a self address notification unit of the terminal device;
  • the address mediation request is referred to, and the terminal ID specified by the communication destination specifying information included in the connection mediation request is correlated with A communication destination address reply unit that returns
  • a ninth aspect of the present invention relates to the network communication system according to the eighth aspect described above, as will be described in detail as a modification in ⁇ 9 below.
  • the communication destination address reply unit sends a private IP to the terminal device serving as the communication destination Query the address
  • the communication start request unit has the same IP address as the global IP address of the terminal device as the communication source and the global IP address of the terminal device as the communication destination, the communication start request is made using the private IP address.
  • the global IP address is used to make a communication start request.
  • a tenth aspect of the present invention is a network communication system according to the eighth aspect described above, as will be described in detail as a modification of the first embodiment in ⁇ 9-1 below.
  • the communication destination address reply unit refers to the address table, and identifies the global IP address associated with the terminal ID of the terminal device of the communication source that has transmitted the connection mediation request, and the communication destination identification included in the connection mediation request It is determined whether or not the global IP address associated with the terminal ID specified by the information is the same IP address, and if both the IP addresses to be determined are different IP addresses, the global IP address Is sent as the selected communication destination address, and when both of the judgment target are the same IP address, the private IP address is inquired to the terminal apparatus as the communication destination, and the private IP obtained by this inquiry Select an address and reply as a communication destination address,
  • the communication start request unit is configured to make a communication start request by using the returned selected communication destination address.
  • the communication destination address reply unit refers to the address table, and identifies the global IP address associated with the terminal ID of the terminal device of the communication source that has transmitted the connection mediation request, and the communication destination identification included in the connection mediation request It is determined whether or not the global IP address associated with the terminal ID specified by the information is the same IP address, and if both the IP addresses to be determined are different IP addresses, the global IP address If only both are returned as the communication destination address, and both of the judgment targets have the same IP address, the private IP address is inquired to the terminal device to be the communication destination, and obtained by the global IP address and the inquiry.
  • the communication start request unit makes a communication start request using the global IP address that has been sent back when only the global IP address has been sent back, and has been sent back when both addresses have been sent back.
  • a communication start request is made using a private IP address.
  • a twelfth aspect of the present invention is a network communication system according to the eleventh aspect described above, as described in detail in Section 8-4 below.
  • the communication start request unit fails in the communication start request using the private IP address or when a failure is expected, the communication start request using the global IP address is performed. .
  • a thirteenth aspect of the present invention is a network communication system according to the eighth aspect described above, as will be described in detail as a modification of the fifth embodiment in 5 9-5 below.
  • the communication destination address reply unit refers to the address table, and identifies the global IP address associated with the terminal ID of the terminal device of the communication source that has transmitted the connection mediation request, and the communication destination identification included in the connection mediation request It is determined whether or not the global IP address associated with the terminal ID specified by the information is the same IP address, and if both the IP addresses to be determined are different IP addresses, the global IP address If only both are returned as the communication destination address, and both of the judgment targets have the same IP address, the private IP address is inquired to the terminal device to be the communication destination, and obtained by the global IP address and the inquiry.
  • the communication start request unit makes a communication start request using the global IP address that has been sent back when only the global IP address has been sent back, and when both addresses have been sent back, it is sent back first. Try a communication start request using the private IP address that has been sent, and if it is determined that this communication start request has failed or if a failure is expected, a communication start request using a global IP address should be made. It is
  • the fourteenth aspect of the present invention is described in detail as a modification of Example 5 in ⁇ 9-5 later, or as an additional matter in ⁇ 8-4
  • the communication start request fails when the communication start acceptance confirmation is not sent from the terminal device of the communication destination within a predetermined timeout time after the communication start request unit makes a communication start request using the private IP address. It is determined that the
  • a fifteenth aspect of the present invention relates to the network communication system according to the first to fourteenth aspects described above, as will be described in detail in Section 5-2 below.
  • the communication start request unit of the communication source terminal device makes a communication start request using the global IP address
  • the communication destination session establishment unit and the communication source of the communication destination terminal device are subsequently performed accordingly.
  • mutual access with the communication source session establishment unit of the terminal device of When the communication start request unit of the communication source terminal device makes a communication start request using the private IP address, the communication destination session establishment unit and the communication source of the communication destination terminal device are subsequently performed accordingly.
  • the mutual access with the communication source session establishing unit of the terminal device of (1) is performed using a private IP address.
  • a sixteenth aspect of the present invention mediates connection between a plurality of terminal devices connectable to each other via a network and a plurality of terminal devices as will be described in detail in Section 5-3 later.
  • a network communication system comprising a connection mediation device;
  • a terminal ID for mutually identifying each of the plurality of terminal devices is assigned to each of the plurality of terminal devices, and the connection mediation device is a terminal serving as a communication source terminal and a communication destination using the terminal ID.
  • Each of the plurality of terminal devices is A self address notifying unit for notifying the connection mediating device of a location address indicating a location on the own network;
  • a communication request accepting unit that accepts a communication request to another terminal apparatus at the communication destination with the self as a communication source;
  • Connection mediation for transmitting a connection mediation request including communication destination specifying information for specifying the terminal ID of another terminal device of the communication destination to the connection mediation device when the communication request receiving unit receives the communication request Requesting department,
  • the communication start address is accessed via the network to start communication.
  • a communication destination session in which a communication session is established with another terminal apparatus of the communication source and communication is started when a communication start acceptance confirmation is returned from another terminal apparatus of the communication source in response to the communication start request.
  • the establishment unit When another terminal apparatus at the communication destination makes a communication start request with the communication source as the communication source, the communication start acceptance confirmation is transmitted to the other terminal apparatus at the communication destination, and between the other terminal apparatus at the communication destination A communication source session establishing unit that establishes a communication session and starts communication Have
  • the connection intermediary device is An address table storage unit for storing an address table in which a terminal ID is associated with a location address for each of the terminal devices; An address table updating unit that updates the contents of the address table based on a notification from a self address notification unit of the terminal device; When a connection mediation request is transmitted from the connection mediation request unit of the terminal device, the address mediation request is referred to, and the terminal ID specified by the communication destination specifying information included in the connection mediation request is correlated with A communication source address transmission unit that transmits, as
  • the address table storage unit stores, as a location address, the global IP address of each terminal device in association with the terminal ID, and further, for a terminal device to which a private IP address is notified, the private IP address corresponds to the terminal ID. And store The communication source address transmission unit transmits the global IP address or the private IP address or both as the communication source address according to the contents of the address table,
  • a network communication system characterized in that a communication start request unit makes a communication start request using a global IP address or a private IP address or both.
  • a seventeenth aspect of the present invention is the network communication system according to the sixteenth aspect described above, as described in detail in Section 5-3 below
  • the communication start request unit has the same IP address as the global IP address of the terminal device as the communication source and the global IP address of the terminal device as the communication destination
  • the communication start request is made using the private IP address.
  • the global IP address is used to make a communication start request.
  • An eighteenth aspect of the present invention relates to the network communication system according to the sixteenth aspect described above, as detailed in Example 2 in ⁇ 6-2 below.
  • the global IP address associated with the terminal ID of the terminal apparatus of the communication source that has transmitted the connection mediation request with reference to the address table, and the communication destination identification included in the connection mediation request, with reference to the address table It is determined whether or not the global IP address associated with the terminal ID specified by the information is the same IP address, and if both the determination target are the same IP address, the private IP The address is transmitted as the selected communication source address, and when both of the judgment targets are different IP addresses, the global IP address is transmitted as the selected communication source address,
  • the communication start request unit is configured to make a communication start request using the transmitted selected communication source address.
  • a nineteenth aspect of the present invention is the network communication system according to the sixteenth aspect described above, as detailed in Example 4 in ⁇ ⁇ 7-2 later.
  • the communication source address transmission unit transmits both addresses as the communication source address, Whether the global IP address transmitted as the communication source address and the global IP address of the communication destination itself are the same IP address when the communication start request unit has sent both addresses If both of the judgment target have the same IP address, a communication start request is made using the private IP address, and if both the judgment target are different IP addresses, the global IP address The communication start request is made using FIG.
  • a twentieth aspect of the present invention relates to the network communication system according to the nineteenth aspect described above, as described in detail in Section 8-4 below.
  • the communication start request unit fails in the communication start request using the private IP address or when a failure is expected, the communication start request using the global IP address is performed. .
  • a twenty-first aspect of the present invention relates to the network communication system according to the sixteenth aspect described above, as described in detail in Example 6 in ⁇ 8-2 below.
  • the communication source address transmission unit transmits both addresses as the communication source address
  • the communication start request unit first tries a communication start request using a private IP address when both addresses are sent, and it is determined that this communication start request has failed or a failure is expected. In the above, the communication start request using the global IP address is made.
  • the twenty-second aspect of the present invention relates to the above-mentioned twenty-second aspect as described in detail in Example 6 in ⁇ 8-2 below, or as an additional matter in In the network communication system according to the twentieth or twenty first aspect,
  • the communication start request fails when the communication start acceptance confirmation is not sent from the terminal device of the communication source within a predetermined timeout time after the communication start request unit makes a communication start request using the private IP address. It is determined that the
  • connection mediation for mediating connections between a plurality of terminal devices mutually connectable via a network and a plurality of terminal devices
  • a network communication system comprising: A terminal ID for mutually identifying each of the plurality of terminal devices is assigned to each of the plurality of terminal devices, and the connection mediation device is a terminal serving as a communication source terminal and a communication destination using the terminal ID.
  • Each of the plurality of terminal devices is A self address notifying unit for notifying the connection mediating device of a location address indicating a location on the own network;
  • a communication request accepting unit that accepts a communication request to another terminal apparatus at the communication destination with the self as a communication source;
  • Connection mediation for transmitting a connection mediation request including communication destination specifying information for specifying the terminal ID of another terminal device of the communication destination to the connection mediation device when the communication request receiving unit receives the communication request Requesting department,
  • the communication start address is accessed via the network to start communication.
  • a communication destination session in which a communication session is established with another terminal apparatus of the communication source and communication is started when a communication start acceptance confirmation is returned from another terminal apparatus of the communication source in response to the communication start request.
  • the establishment unit When another terminal apparatus at the communication destination makes a communication start request with the communication source as the communication source, the communication start acceptance confirmation is transmitted to the other terminal apparatus at the communication destination, and between the other terminal apparatus at the communication destination A communication source session establishing unit that establishes a communication session and starts communication Have
  • the connection intermediary device is An address table storage unit for storing an address table in which a terminal ID is associated with a location address for each of the terminal devices; An address table updating unit that updates the contents of the address table based on a notification from a self address notification unit of the terminal device; When a connection mediation request is transmitted from the connection mediation request unit of the terminal device, the address mediation request is referred to, and the terminal ID specified by the communication destination specifying information included in the connection mediation request is correlated with A communication source address transmission unit that transmits, as
  • a twenty-fourth aspect of the present invention relates to the network communication system according to the twenty-third aspect described above, as described in detail in ⁇ 9 below.
  • the communication source address transmission unit has the same IP address as the global IP address of the terminal device as the communication source and the global IP address of the terminal device as the communication destination
  • the private IP is transmitted Query the address
  • the communication start request unit has the same IP address as the global IP address of the terminal device as the communication source and the global IP address of the terminal device as the communication destination
  • the communication start request is made using the private IP address.
  • the global IP address is used to make a communication start request.
  • a twenty-fifth aspect of the present invention relates to the network communication system according to the twenty-third aspect described above, as will be described in detail as a modification of the second embodiment in ⁇ 9-2 below.
  • the global IP address associated with the terminal ID of the terminal apparatus of the communication source that has transmitted the connection mediation request with reference to the address table, and the communication destination identification included in the connection mediation request, with reference to the address table It is determined whether or not the global IP address associated with the terminal ID specified by the information is the same IP address, and if both the IP addresses to be determined are different IP addresses, the global IP address Is sent as the selected communication source address, and when both of the judgment target are the same IP address, the private IP address is inquired to the terminal apparatus as the communication source, and the private IP obtained by this inquiry Send address as selected source address,
  • the communication start request unit is configured to make a communication start request using the transmitted selected communication source address.
  • the global IP address associated with the terminal ID of the terminal apparatus of the communication source that has transmitted the connection mediation request with reference to the address table, and the communication destination identification included in the connection mediation request, with reference to the address table It is determined whether or not the global IP address associated with the terminal ID specified by the information is the same IP address, and if both the IP addresses to be determined are different IP addresses, the global IP address If only both are transmitted as the communication source address, and both of the judgment targets are the same IP address, the private IP address is inquired to the terminal apparatus serving as the communication source, and obtained by the global IP address and the inquiry.
  • the communication start request unit makes a communication start request using the transmitted global IP address when there is transmission of only the global IP address, and has been transmitted when there has been transmission of both addresses.
  • a communication start request is made using a private IP address.
  • a twenty-seventh aspect of the present invention relates to the network communication system according to the twenty-sixth aspect described above, as described in detail in Section 8-4 below. If it is determined that the communication start request has failed or if a failure is expected, the communication start request using the global IP address is made.
  • a twenty-eighth aspect of the present invention relates to the network communication system according to the twenty-third aspect described above, as will be described in detail as a modification of the sixth embodiment in ⁇ 9-6 below.
  • the global IP address associated with the terminal ID of the terminal apparatus of the communication source that has transmitted the connection mediation request with reference to the address table, and the communication destination identification included in the connection mediation request, with reference to the address table It is determined whether or not the global IP address associated with the terminal ID specified by the information is the same IP address, and if both the IP addresses to be determined are different IP addresses, the global IP address If only both are transmitted as the communication source address, and both of the judgment targets are the same IP address, the private IP address is inquired to the terminal apparatus serving as the communication source, and obtained by the global IP address and the inquiry.
  • the communication start request unit makes a communication start request using the transmitted global IP address when there is transmission of only the global IP address, and when there is transmission of both addresses, it is transmitted first. Try a communication start request using the private IP address that has been sent, and if it is determined that this communication start request has failed or if a failure is expected, a communication start request using a global IP address should be made. It is
  • the twenty-ninth aspect of the present invention is described in detail as a modification of Example 6 in ⁇ 9-6 later, or as an additional matter in ⁇ 8-4 later,
  • the communication start request fails when the communication start acceptance confirmation is not sent from the terminal device of the communication source within a predetermined timeout time after the communication start request unit makes a communication start request using the private IP address. It is determined that the
  • a thirtieth aspect of the present invention relates to the network communication system according to the sixteenth to twenty-ninth aspects described above, as described in detail in 5-3 below. If the communication start request unit of the terminal apparatus at the communication destination makes a communication start request using the global IP address, the communication source session establishment unit and the communication destination of the terminal apparatus at the communication source are made accordingly in response thereto Mutual access with the session establishment unit at the other end of the network using the global IP address, When the communication start request unit of the terminal apparatus at the communication destination makes a communication start request using the private IP address, the communication source session establishment unit and the communication destination of the terminal apparatus at the communication source, which are subsequently performed accordingly The mutual access with the communication destination session establishment unit of the terminal device of (1) is performed using a private IP address.
  • one terminal device constituting a plurality of terminal devices in the network communication system according to the first to thirty aspects described above Is provided as a single product.
  • one terminal apparatus According to a thirty-second aspect of the present invention, as will be described in detail in section 5 below, one terminal apparatus according to the above-mentioned thirty-first aspect is configured by incorporating a program into a computer .
  • connection facilitating device in the network communication system is provided as a single product. It is
  • connection mediating apparatus According to a thirty-fourth aspect of the present invention, as described in detail in Section 5 below, the connection mediating apparatus according to the thirty-third aspect described above is configured by incorporating a program into a computer.
  • the connection mediating apparatus does not have to be involved in the final stage of establishing a communication session between both terminals, and transmits the communication destination address to the terminal apparatus of the communication source (No. In the case of the embodiment 1) or the step of transmitting the communication source address to the terminal apparatus of the communication destination (in the case of the second embodiment), it is sufficient. Therefore, compared with a conventional system that performs connection mediation processing between both terminals using SIP, it is possible to further reduce the processing load when mediating the connection between a pair of terminal devices.
  • the communication start request is selectively used for the other terminal device by selectively using the global IP address and the private IP address. Since the communication can be performed, efficient communication can be performed between the terminal devices connected to the network via the router.
  • FIG. 1 is a block diagram showing an entire configuration of a network communication system according to a first embodiment of the prior invention basic invention. It is a block diagram which shows the detailed structure of the terminal device of the network communication system shown in FIG. It is a block diagram which shows the function of the self-address notification part 250 in the terminal device shown in FIG.
  • FIG. 7 is a block diagram showing a procedure of establishing a communication session between a communication source terminal device 200A and a communication destination terminal device 200B in the network communication system shown in FIG. 1;
  • FIG. 5 is a flow chart describing the communication session establishment procedure shown in the block diagram of FIG. 4 in time series. It is a block diagram which shows the whole structure of the network communication system which concerns on 2nd Embodiment of prior application basic invention.
  • FIG. 7 is a block diagram showing a procedure of establishing a communication session between a communication source terminal device 400B and a communication destination terminal device 400A in the network communication system shown in FIG. 6;
  • FIG. 9 is a flow chart describing the communication session establishment procedure shown in the block diagram of FIG. 8 in chronological order; It is a figure which shows the 1st modification of the address table shown in FIG. 1 or FIG. It is a figure which shows the 2nd modification of the address table shown in FIG. 1 or FIG. It is a figure which shows the 3rd modification of the address table shown in FIG. 1 or FIG. FIG.
  • FIG. 13 is a block diagram showing a modification of the procedure of establishing a communication session between the communication source terminal device 200A and the communication destination terminal device 200B in the network communication system shown in FIG. 1;
  • FIG. 7 is a block diagram showing a modification of the procedure of establishing a communication session between the communication source terminal device 400B and the communication destination terminal device 400A in the network communication system shown in FIG. 6;
  • FIG. 7 is a block diagram showing an embodiment of the prior application basic invention in the case of connecting a terminal device to a network N via a router.
  • FIG. 16 is a diagram showing an example of an address table in the case where information obtained by adding a port number to an IP address is used as a location address in the embodiment shown in FIG.
  • FIG. 1 is a block diagram showing an entire configuration of an embodiment using a VPN in a network communication system according to a prior invention basic invention. It is a figure which shows the principle of the VPN communication in embodiment shown in FIG.
  • FIG. 19 is a diagram showing an example of an address table to which a VIP address is added for use in the embodiment shown in FIG. 18;
  • FIG. 1 is a block diagram showing an entire configuration of a network communication system including a terminal connected to a network N via a router.
  • FIG. 22 is a block diagram showing a form of communication between terminal devices 200A-200C in the network communication system shown in FIG. 21.
  • FIG. 22 is a block diagram showing a form of communication between terminal devices 200A-200B in the network communication system shown in FIG. 21.
  • FIG. 23 is a diagram showing an example in which both global IP address (GIP) and private IP address (PIP) of each terminal device are stored in an address table in the network communication system shown in FIG. 21.
  • GIP global IP address
  • PIP private IP address
  • a terminal device shows the flow of the signal between apparatuses about Example 3 using the approach which performs selection of GIP / PIP.
  • a terminal device shows the flow of the signal between apparatuses about Example 4 using the approach which performs selection of GIP / PIP.
  • FIG. 1 is a block diagram showing an entire configuration of a network communication system including a terminal device connected to a network N via a router installed in a multilayer structure.
  • Example 32 is a diagram showing an example in which both the global IP address (GIP) and the private IP address (PIP) of each terminal device are stored in the address table in the network communication system shown in FIG. 31.
  • GIP global IP address
  • PIP private IP address
  • Example 1 shown in FIG. 25 it is a diagram which shows the flow of the signal between apparatuses about the modification which employ
  • Example 2 shown in FIG. 26 it is a diagram which shows the flow of the signal between apparatuses about the modification which employ
  • Example 28 it is a diagram which shows the flow of the signal between apparatuses about the modification which employ
  • Example 5 shown in FIG. 29 it is a diagram which shows the flow of the signal between apparatuses about the modification which employ
  • Example 6 shown in FIG. 30, it is a diagram which shows the flow of the signal between apparatuses about the modification which employ
  • the embodiment described here is the invention described in the international application PCT / JP2017 / 006131 (hereinafter referred to as the prior international application) accompanied by a claim of priority based on PCT / JP2016 / 055960 (hereinafter referred to as the prior application).
  • the prior application On the basis of the basic invention, by adding a function to make a communication start request selectively using a global IP address and a private IP address to the basic application of the prior application "connected to a network through a router This makes it possible to obtain the additional operation and effect inherent in that it is possible to perform efficient communication between the terminal devices.
  • FIG. 1 is a block diagram showing an entire configuration of a network communication system according to a first embodiment of the prior invention basic invention. As shown, this network communication system comprises a connection mediation device 100 and a plurality of terminal devices 200A to 200D, all of which are mutually connected via a network N (in this example, the Internet) It is possible.
  • N in this example, the Internet
  • terminal devices 200A to 200D are the same device having a common configuration. Therefore, when referring to this common terminal apparatus, reference numeral 200 is used here, and when it is necessary to distinguish one from the other, A to D are added at the end of the code. The same applies to each symbol indicating an internal component of the terminal device 200.
  • this network communication system is a system comprising a plurality of terminal devices 200A to 200D that can be connected to each other via the network N, and a connection mediation device 100 that mediates the connection between the plurality of terminal devices.
  • the terminal device 200 various electronic devices such as a personal computer, a mobile phone, and a tablet terminal, which have a function of performing communication by connecting to the network N can be used.
  • the connection mediation device 100 is configured by a server computer that receives access from each of the terminal devices 200A to 200D via the network N.
  • Each of the terminal devices 200A to 200D is provided with a terminal ID for mutually identifying the individual terminal devices, and the connection mediation device 100 communicates with the terminal device as the communication source using this terminal ID.
  • the processing for mediating the connection with the terminal device to be performed is executed.
  • terminal IDs of “0010”, “0020”, “0030” and “0040” are assigned to the terminal devices 200A, 200B, 200C and 200D, respectively.
  • the terminal ID may be any information as long as the information can identify each terminal device mutually.
  • the terminal ID since only four terminal devices are used, it is sufficient to use a four-digit number such as "0010" as the terminal ID, but in order to identify each terminal device mutually,
  • the terminal ID is the serial number of the CPU built in each terminal device, the MAC address assigned to the communication interface, the telephone number or the serial number of the SIM card when using a mobile phone as the terminal device, etc. It can be used as
  • Each of the terminal devices 200A to 200D is provided with a location address indicating its own location on the network.
  • the terminal devices 200A, 200B, 200C, and 200D are respectively provided with location addresses AD1, AD2, AD3, and AD4.
  • AD1, AD2, AD3, and AD4 As the location address, any address can be used as long as the location of the terminal can be uniquely determined on the network.
  • a global IP address or NAT-ID is used as a location address indicating the location of each terminal device 200 on the network N. It is preferred to use.
  • the terminal ID is information necessary to identify individual terminal devices to one another, while the location address is information necessary to access individual terminal devices via the network N.
  • the location address is not always constant, and changes from moment to moment.
  • the base address to be communicated with changes as the mobile terminal moves, so the location address also changes with time.
  • the location address also generally changes with time.
  • the terminal device 200 used in the basic application of the prior application has a function of notifying the connection mediating device 100 via the network N of the location address indicating the location of the terminal device 200 on its own network. Therefore, the connection mediating apparatus 100 can always grasp the latest address of each of the terminal devices 200A to 200D, and can access each of the terminal devices 200A to 200D as needed.
  • connection intermediation device 100 is provided with an address table storage unit 110, an address table update unit 120, and a communication destination address return unit 130.
  • the connection mediating device 100 is actually configured by a computer such as a server computer. Therefore, each component shown as an individual block in the figure is actually constructed by incorporating a dedicated program into a computer.
  • the address table storage unit 110 stores an address table T in which terminal IDs and location addresses are associated with each of the terminal devices 200A to 200D, and the address table update unit 120 stores the terminal devices 200A to 200D.
  • the processing of updating the contents of the address table T is performed based on the notification from the server. Further, when there is a connection mediation request from each of the terminal devices 200A to 200D, the communication destination address replying unit 130 performs processing of returning a communication destination address by referring to the address table T.
  • information indicating the correspondence between the terminal ID and the location address is stored as the address table T for each of the four terminal devices 200A to 200D.
  • the terminal ID "0010” is associated with the location address "AD1".
  • the terminal ID "0020” is associated with the location address "AD2”.
  • the terminal ID "0030" and the location address "AD3" are associated, and for the terminal device 200D, the terminal ID "0040" and the location address "AD4" are associated.
  • the terminal device 200 is provided with a connection mediation request unit 210, a communication request reception unit 220, a communication destination session establishment unit 230, a communication start request unit 240, a self address notification unit 250, and a communication source session establishment unit 260. ing.
  • This terminal device 200 is also actually composed of various computers (including devices such as mobile phones), and each component shown as an individual block in the figure is actually a program dedicated to the computer. Built by incorporating Besides the above, various components are incorporated in the actual terminal device 200. For example, if the terminal device 200 is a smart phone, incorporating various application programs will add components having various processing functions, but here, the configuration directly related to the basic application of the prior application Only the elements are shown as blocks in the figure, and the description of the other components is omitted. Of course, the terminal device 200 also has components such as an input interface for inputting commands and characters from the user and a display for presenting information to the user, but the description of these components is also omitted. Do.
  • the components depicted as six blocks in the terminal device 200 in FIG. 2 are the essential functional elements in the terminal device 200 according to the prior invention basic invention.
  • three kinds of arrows, thick arrows, thin arrows, and white arrows are used as arrows indicating the flow of signals between the blocks.
  • thick arrows indicate the flow of signals exchanged between the terminal device 200 and the connection mediation device 100 before establishment of a communication session
  • thin arrows indicate the flow between the pair of terminal devices 200. Shows the flow of signals before establishing a communication session.
  • the white arrows indicate the flow of signals exchanged between the pair of terminal devices 200 after establishment of the communication session.
  • FIG. 2 six components in the terminal device 200 are drawn using three blocks of an ellipse, a rectangle, and a double rectangle, but this indicates the division of roles of each component.
  • the components shown by the elliptical block are components for the terminal device 200 to execute the process of “address notification”
  • the components shown by the rectangular block are the terminal device 200.
  • the component represented by the double rectangular block is processing required for the terminal device 200 functioning as a “communication destination”
  • the terms “communication source” and “communication destination” are terms used to distinguish two terminals when they communicate with each other, and spontaneously start communication.
  • the side that performs the processing for this is called the “communication source”
  • the side that performs the processing necessary to communicate with the “communication source” is called the “communication destination” in response to the "communication source” acting on it. It is.
  • the calling device is the “communication source”
  • the called device is the “communication destination”.
  • the “communication source” terminal device designates a specific “communication destination” and performs processing for spontaneously starting communication.
  • the terminal device 200 becomes a "communication source” or a "communication destination”.
  • processing by the component shown by the rectangular block in Fig. 2 is performed, and when it becomes “communication destination”, the component shown by double rectangular block in Fig. 2 Processing is performed.
  • each function of six components of the terminal device 200 will be described in order.
  • the self address notification unit 250 indicated by an elliptic block is a component for executing the process of “address notification”, and the connection mediation address indicating the whereabouts of the own network is used as the connection mediation.
  • a process of notifying the device 100 is executed. If the IP address is used as the location address, the self-address notifying unit 250 performs processing of notifying the connection mediation device 100 via the network N of the IP address assigned to itself at this point.
  • the self address notifying unit 250 connects the global IP address given to the terminal device 200 as a location address. It may be notified to the intermediary device 100. Further, when a private IP address is assigned by using the NAT function of the router, the connection intermediation apparatus 100 may be notified of the NAT-ID as the location address. When notifying the location address, the terminal ID is simultaneously transmitted.
  • the address table updating unit 120 shown in FIG. 1 updates the address table T in response to such notification. For example, when the terminal ID 200A is notified of the terminal ID “0010” and the location address “AD1” from the terminal device 200A, the address table updating unit 120 determines that the terminal ID “0010” and the location address “AD1”. And in association with each other and stored in the address table T.
  • the self address notifying unit 250 have a function of notifying the present address of the self (terminal device 200) repeatedly at a predetermined cycle. For example, if the self address notifying unit 250 repeatedly performs notification every one minute, the address table T is updated to the latest information every one minute.
  • the own address notification unit 250 may have a function of notifying the present location address when the location address of the own (terminal device 200) is changed. That is, when the location address is given for the first time, the location address may be notified as an address in the initial state, and thereafter, a new location address may be notified each time the location address is changed.
  • the operation of repeatedly notifying in a predetermined cycle may be combined with the operation of notifying when the location address is changed.
  • the communication request receiving unit 220 performs processing of receiving a communication request for another terminal apparatus that is the communication destination, using itself as a communication source. For example, when the user of the terminal device 200 (communication source) wants to call a specific partner, the communication request to the effect that he / she wants to communicate with another terminal device (communication destination) possessed by the partner is required. become.
  • This communication request is given, for example, as a user's operation input (for example, an operation on a touch panel) via an input interface (not shown), and includes some information for specifying the other party's terminal device. .
  • connection intermediation request unit 210 causes the connection intermediation device 100 to specify communication destination specification information for specifying the terminal ID of another terminal device of the communication destination when the communication request reception unit 220 receives a communication request.
  • Send a connection mediation request including:
  • the communication destination specification information included in the connection mediation request may be the terminal ID of another terminal apparatus of the communication destination, or may be other information capable of specifying the terminal ID. No (details will be described in 3-1 3-1).
  • connection mediation request transmitted from the connection mediation request unit 210 is transmitted to the connection mediation device 100 via the network N (as described above, the bold arrows in the figure indicate the terminal device 200 and the connection mediation device 100). And shows the flow of signals before establishing a communication session). Then, as indicated by a bold arrow in the figure, the connection intermediation apparatus 100 sends back a communication destination address indicating the location of another terminal apparatus to be a communication destination on the network. This is due to the function of the communication destination address reply unit 130 shown in FIG.
  • the communication destination address replying unit 130 refers to the address table T and the communication destination included in the connection mediation request.
  • the location address associated with the terminal ID specified by the specific information is returned as the communication destination address.
  • the other end of the reply is the terminal device 200 that has made the connection mediation request.
  • the communication destination address replying unit 130 searches for the current location address of the communication destination using the address table T, Processing to reply to the terminal device of the communication source is performed.
  • connection mediation request unit 210 when the connection mediation request unit 210 makes a connection mediation request, the connection mediation device 100 returns a communication destination address indicating the location of another terminal device on the network side of the communication destination.
  • the communication destination address returned in this way is received by the communication start request unit 240.
  • the communication start request unit 240 accesses the communication destination address via the network N and makes a communication start request. As indicated by thin arrows in the figure, this communication start request is a signal addressed to one terminal device 200 (communication destination) from another terminal device 200 (communication destination).
  • the communication start request unit 240 transmits a communication start request to another terminal apparatus at the communication destination
  • the other terminal apparatus at the communication destination accepts the communication start request in response to the communication start request.
  • a confirmation is sent back (thin arrow in the right side of the figure: this replying process will be described later as the process of the communication destination session establishing unit 230 of another terminal apparatus of the communication destination).
  • the communication start acceptance confirmation sent back in this way is received by the communication source session establishment unit 260.
  • the communication source session establishment unit 260 establishes a communication session with another terminal apparatus of the communication destination and starts communication.
  • the white arrows drawn at the right end of FIG. 2 indicate the flow of signals (communication packets) between the two terminals after the communication session is established in this way.
  • a component indicated by a double rectangular block in FIG. 2 is a communication destination session establishment unit 230.
  • the communication destination session establishing unit 230 makes a request to start communication from the other terminal apparatus of the communication source to the communication destination (the downward thin arrow in the left side of the figure)
  • the communication destination session establishing section 230 sends the other terminal apparatus of the communication source.
  • a communication start acceptance confirmation is transmitted (an upward thin arrow on the left side of the figure), and a communication session is established with another terminal apparatus of the communication source to start communication.
  • the white arrows drawn at the left end of FIG. 2 indicate the flow of signals (communication packets) between the two terminals after the communication session is established in this manner.
  • the communication after establishment of the communication session between the communication source terminal device and the communication destination terminal device is performed between the communication source session establishment unit 260 of the communication source terminal device and the communication destination session establishment unit 230 of the communication destination terminal device. It will be done.
  • the hollow arrow at the right end of FIG. 2 is connected to the hollow arrow at the left end of FIG. 2 via the network N.
  • FIG. 3 is a block diagram showing the function of self address notification unit 250 in the terminal shown in FIG.
  • the connection mediation device 100 is shown at the top of the figure, and two sets of terminal devices 200A and 200B are shown at the bottom of the figure. Although the terminal devices 200C and 200D are not shown here, the function of the self address notification unit 250 is the same.
  • the exchange of information between the connection mediation device 100 and each of the terminal devices 200A and 200B is actually performed via the network N, but here, for convenience of explanation, The illustration of the network N is omitted.
  • the terminal devices 200A and 200B shown in FIG. 3 have six components in the same manner as the terminal device 200 shown in FIG. That is, the terminal device 200A has the components 210A to 260A, and the terminal device 200B has the components 210B to 260B. These respective components are the same as the components 210 to 260 shown in FIG. (A and B at the end of the code are added to distinguish which terminal device is a component). Since FIG. 3 is a diagram for explaining the self address notification function of the terminal devices 200A and 200B, blocks of components other than the self address notification units 250A and 250B are shown by broken lines.
  • the self address notifying units 250A and 250B notify the address table updating unit 120 in the connection mediation device 100 of the location address indicating the location of the self on the network.
  • FIG. 3 shows an example in which data “0010: AD1” is transmitted as a notification from the own address notification unit 250A to the address table update unit 120, this is because the own terminal ID “0010” is transmitted. Together with the current address “AD1” is transmitted.
  • data "0020: AD2" is transmitted as a notification from the own address notification unit 250B to the address table update unit 120 is shown, but this is not only with the own terminal ID "0020". It indicates that the current location address "AD2" of itself is being transmitted.
  • the address table update unit 120 that receives such a notification from the self address notification units 250A and 250B of each of the terminal devices 200A and 200B performs processing to update the contents of the address table T based on the notification, As already mentioned in 1-11-1. Further, as described in 1-11-1, the self address notifying units 250A and 250B perform processing for notifying the current location address when the location address is changed repeatedly or at a predetermined cycle. is there.
  • the notification process of the location address performed by the self address notification unit 250 is not a direct process for starting communication between the terminal devices, but a preparation process for enabling communication to be started any time. Can.
  • the address table T in the connection mediating device 100 can be kept up-to-date, and in fact, when it becomes necessary to communicate between specific terminal devices, the connection mediating device 100
  • the correct mediation process can be realized by
  • FIG. 4 is a block diagram showing a procedure of establishing a communication session between the communication source terminal device 200A and the communication destination terminal device 200B in the network communication system shown in FIG.
  • the connection mediation device 100 is shown at the top of the figure, and two sets of terminal devices 200A and 200B are shown at the bottom of the figure.
  • the exchange of information between the connection mediation device 100 and the terminal device 200A (indicated by a thick arrow) and the exchange of information between the terminal devices 200A and 200B (indicated by a thin arrow) are actually the network N.
  • the network N is not shown for convenience of explanation.
  • the terminal device 200A is a communication source and the terminal device 200B is a communication destination will be described.
  • FIG. 4 for the components in the communication source terminal device 200A, only the components (components of the rectangular block) that execute processing necessary as the communication source are shown by solid lines, and in the communication destination terminal device 200B.
  • the components only the components (components of the double rectangular block) that execute processing necessary for communication are indicated by solid lines, and blocks of other components are indicated by dashed lines.
  • FIG. 5 is a flow chart explaining the communication session establishment procedure shown in the block diagram of FIG. 4 in chronological order.
  • the specific communication procedure in the first embodiment will be described according to the flowchart of FIG. 5 with reference to the block diagram of FIG.
  • reference symbols S1 to S7 attached to the respective arrows correspond to steps S1 to S7 in the flowchart of FIG.
  • reference numerals in parentheses correspond to specific blocks in the block diagram of FIG. 4 and indicate specific components related to the contents of the step. It is a thing.
  • step S1 communication request acceptance processing is performed.
  • This is a process performed by the communication request receiving unit 220A shown in FIG. 4.
  • the user A of the communication source terminal device 200A wants to call the user B of the communication destination terminal device 200B
  • It is a process performed based on the operation input of the user A.
  • the terminal ID telephone number
  • the user A sends the terminal ID (telephone number) of the terminal device 200B to the terminal device 200A.
  • a communication request S1 accompanied by an input operation may be made. That is, the communication request receiving unit 220A of the terminal device 200A performs processing of receiving the communication request S1 for another terminal device 200B that is the communication destination, using itself as the communication source.
  • the communication request receiving unit 220A does not necessarily receive the communication request S1 when the user A performs an operation input for making a call. For example, when the users A and B are playing a communication competition type game, a communication request S1 is given from the application program for the game to the communication request receiving unit 220A.
  • the terminal devices 200A and 200B are personal computers that perform some kind of business processing, and the application program for business processing incorporated in the personal computer 200A automatically performs scheduled report to the personal computer 200B, the application program Thus, the communication request S1 is given to the communication request receiving unit 220A.
  • the communication request in the basic application of the prior application is not necessarily given by the user, but may be given by a program incorporated in the terminal device.
  • a connection mediation request is performed in subsequent step S2.
  • This is a process performed by the connection intermediation request unit 210A illustrated in FIG. 4 and, as described above, the communication destination for specifying the terminal ID of another terminal device 200B of the communication destination to the connection intermediation device 100.
  • This is processing of transmitting a connection mediation request S2 including specific information.
  • the transmitting side of the information transmits its address to the receiving side, and the receiving side returns an acknowledge signal to the address on the transmitting side. Do the process. Therefore, when transmitting the connection mediation request S2 from the connection mediation request unit 210A, its own location address “AD1” is transmitted to the connection mediation device 100 side. The reply process in step S4 to be described later is performed for the location address "AD1".
  • the communication destination address replying unit 130 that received the connection mediation request receives the address in step S3.
  • the address table stored in the table storage unit 110 it is associated with the terminal ID ("0020" in this example) specified by the communication destination specifying information included in the connection mediation request.
  • the location address is recognized as the communication destination address. For example, assuming that the address table T at that time is as shown in FIG. 1, the address "AD2" associated with the terminal ID "0020" is recognized as the communication destination address.
  • step S4 the communication destination address replying unit 130 performs processing for sending back the communication destination address "AD2" recognized in step S3.
  • the reply partner is the communication source terminal device 200A that has made the connection mediation request in step S2.
  • the connection mediation request S2 includes the information of the location address “AD1” of the communication source terminal device 200A
  • the communication destination address reply unit 130 sends the communication destination address to the location address “AD1”. "AD2" can be sent back.
  • the communication destination address reply S 130 (information for transmitting the communication destination address “AD2”) is transmitted from the communication destination address reply unit 130
  • the communication destination address reply S 4 is received by the communication start request unit 240 A.
  • the connection mediation device 100 responds to the connection mediation request S2 from the location of the communication destination terminal device 200B on the network.
  • a communication destination address "AD2" indicating "" will be returned. Since the address table T prepared in the connection mediation device 100 is constantly updated to the latest state, the communication destination address "AD2" returned is the latest location address of the communication destination terminal device 200B. Become.
  • the communication start request unit 240A that has acquired the communication destination address “AD2” by the communication destination address return S4 sends a communication start request S5 to the communication destination terminal device 200B in step S5. That is, access is made to the communication destination address “AD2” via the network N, and the communication start request is transmitted to the other party.
  • the own location address (communication source address "AD1") is also transmitted together.
  • the communication start request S5 addressed to the communication destination address “AD2” is received by the communication destination session establishment unit 230B of the communication destination terminal device 200B.
  • communication start request S5 is made from communication source terminal apparatus 200A to communication target session establishing section 230B
  • communication source terminal apparatus 200A via network N is started in step S6.
  • a communication session is established with the communication source terminal device 200A, and communication S7 is started.
  • the communication start acceptance confirmation S6 transmitted to the communication source terminal device 200A is received by the communication source session establishment unit 260A. Then, in step S7, the communication source session establishment unit 260A that has received the communication start acceptance confirmation S6 establishes a communication session with the communication destination terminal device 200B and starts communication S7. In short, on the communication source terminal device 200A side, when the communication start acceptance confirmation S6 is returned from the communication destination terminal device 200B in response to the communication start request S5, a communication session is established with the communication destination terminal device 200B. Processing to start communication.
  • a communication session is established between the communication source terminal device 200A and the communication destination terminal device 200B, and communication S7 between the two is performed.
  • the process performed by the connection mediating apparatus 100 is only the address table reference process of step S3 and the communication destination address reply process of step S4. That is, the mediation process performed by the connection mediation device 100 receives the connection mediation request S2 from the communication source terminal device 200A, refers to the address table T (step S3), and obtains the obtained communication destination address from the communication source terminal device 200A. Is the only reply (step S4).
  • a communication session is established between the communication source terminal device 200A and the communication destination terminal device 200B only by the connection mediation device 100 performing such mediation processing, and communication between the two will be started.
  • the processing load of the connection mediating apparatus 100 becomes extremely light.
  • the processing load is reduced as compared to conventional relay processing, but a session is established between both terminals. It is necessary to be involved until the concentration of mediation requests from a large number of terminal devices, the processing load becomes quite heavy.
  • the connection mediating apparatus 100 does not have to be involved until the communication session is established between the two terminals, and It suffices to carry out the process of transmitting the communication destination address. Therefore, it is possible to further reduce the processing load when mediating the connection between the pair of terminal devices.
  • connection mediating device 100 since the connection mediating device 100 does not participate in establishing a communication session, the connection mediating device 100 establishes a communication session between both terminal devices. It can not be grasped whether communication is being performed without any trouble. Therefore, if necessary, after establishment of the communication session, the communication source session establishment unit 260A or the communication destination session establishment unit 230B reports to the connection intermediation apparatus 100 that the communication session has been established without any problem. It is also good.
  • the communication destination session establishing unit 230B when the communication destination session establishing unit 230B makes a communication start request S5 with the communication destination terminal device 200A as the communication destination from the communication source terminal device 200A, the communication source terminal device 200A is notified in step S6.
  • the communication start acceptance confirmation is sent, in some cases, the communication start request S5 may be rejected without being accepted, and the communication start acceptance confirmation may not be transmitted (or communication start acceptance). Instead of confirmation, communication start rejection notification may be sent). That is, the communication destination session establishing unit 230B is provided with some condition judging function, and when the communication start request S5 is issued, the communication start acceptance confirmation is transmitted only when the predetermined condition is satisfied. You should do it.
  • communication is enabled only when user B of communication destination terminal device 200B can set incoming call rejection with respect to communication destination session establishing unit 230 and meets the condition that “no incoming call rejection setting is made”.
  • a process of transmitting the start acceptance confirmation may be performed.
  • communication source request information for example, a terminal ID
  • the communication destination session establishment unit 230B performs the communication start request S5. It is possible to accept or reject the request depending on the source of communication.
  • a communication source list (so-called black list) which always rejects the communication start request S5 and a communication source list (so-called white list) which always accepts the communication start request S5 are prepared in the communication destination session establishment unit 230B.
  • the communication destination session establishment unit 230B can determine whether to accept or reject the communication start request S5 by referring to the list.
  • FIG. 6 is a block diagram showing an entire configuration of a network communication system according to the second embodiment.
  • this network communication system comprises a connection mediation device 300 and a plurality of terminal devices 400A to 400D, all of which are mutually connected via a network N (in this example, the Internet) It is possible.
  • N in this example, the Internet
  • terminal devices 400A to 400D are the same devices having a common configuration, and in the case where the common terminal device is referred to, it is indicated by using the reference numeral 400, and when it is necessary to distinguish between them, It is shown by appending A to D. The same applies to each symbol indicating an internal component of the terminal device 400.
  • the network communication system shown in FIG. 6 includes a plurality of terminal devices 400A to 400D that can be connected to each other via a network N, and a connection mediation device 300 that mediates connection between the plurality of terminal devices. It turns out that. Also as the terminal device 400, various electronic devices such as personal computers, mobile phones, tablet terminals, etc. having a function of connecting to the network N and performing communication can be used. Further, the connection mediation device 300 is configured by a server computer that receives access from each of the terminal devices 400A to 400D via the network N.
  • Each of the terminal devices 400A to 400D is assigned a terminal ID for mutually identifying the individual terminal devices, and the connection mediation device 300 communicates with the terminal device as the communication source using this terminal ID.
  • the processing for mediating the connection with the terminal device to be performed is executed.
  • the terminal ID as described above, any information may be used as long as the information can identify each terminal device mutually.
  • terminal IDs of "0010", “0020", “0030” and "0040" are given to the terminal devices 400A, 400B, 400C and 400D, respectively. It shall be.
  • each of the terminal devices 400A to 400D is provided with a location address indicating the location on the own network.
  • a location address indicating the location on the own network.
  • the terminal devices 400A, 400B, 400C, and 400D are provided with location addresses AD1, AD2, AD3, and AD4, respectively.
  • the location address any address can be used as long as the location of the terminal can be uniquely determined on the network, but in practice, a global IP address or NAT-ID may be used. . As mentioned above, this location address changes with time.
  • connection mediation device 300 an address table storage unit 310, an address table update unit 320, and a communication source address transmission unit 330 are provided.
  • the connection mediation device 300 is actually configured by a computer such as a server computer. Therefore, each component shown as an individual block in the figure is actually constructed by incorporating a dedicated program into a computer.
  • the address table storage unit 310 is the same component as the address table storage unit 110 shown in FIG. 1 and has a function of storing an address table T in which terminal IDs and location addresses are associated with each of the terminal devices 400A to 400D. Have.
  • the address table T shown in FIG. 6 is completely the same as the address table T shown in FIG.
  • the address table update unit 320 is the same component as the address table update unit 120 shown in FIG. 1, and performs the process of updating the contents of the address table T based on the notification from each of the terminal devices 400A to 400D.
  • the components 310 and 320 shown in FIG. 6 are substantially the same as the components 110 and 120 shown in FIG. 1, and thus detailed description thereof is omitted here.
  • the communication source address transmission unit 330 is a component having a function similar to that of the communication destination address return unit 130 shown in FIG. 1, but performs a slightly different operation. That is, when there is a connection mediation request from each of the terminal devices 400A to 400D, the communication source address transmission unit 330 recognizes the communication destination address by referring to the address table T, and transmits the communication source address to the communication destination address. Perform processing to send. A more detailed description of this process will be described later.
  • the terminal device 400 is provided with a connection mediation request unit 410, a communication request reception unit 420, a communication source session establishment unit 430, a communication start request unit 440, a self address notification unit 450, and a communication destination session establishment unit 460. ing.
  • This terminal device 400 is also actually composed of various computers (including devices such as a mobile phone), and each component shown as an individual block in the figure is actually a program dedicated to the computer. Built by incorporating Of course, the terminal device 400 also incorporates various components and input / output interfaces (not shown) as needed. Here, only the components directly related to the basic application of the prior application are shown in the figure. It is shown as a block, and the description of the other components is omitted.
  • thick arrows indicating the flow of signals between blocks indicate the flow of signals before establishment of a communication session, which are exchanged between the terminal device 400 and the connection mediation device 300.
  • a thin arrow indicates a flow of signals exchanged between the pair of terminal devices 400 before establishment of a communication session.
  • the white arrows indicate the flow of signals exchanged between the pair of terminal devices 400 after establishment of the communication session.
  • the components shown by the elliptical block in FIG. 7 are the components for the terminal device 400 to execute the “address notification” process, and the configuration shown by the rectangular block
  • the element is a component that executes processing required when the terminal device 400 functions as a "communication source”, and the component indicated by a double rectangular block functions as a "communication destination” of the terminal device 400. It is a component that performs the processing necessary for doing so.
  • processing by the components shown by rectangular blocks in FIG. 7 is performed, and when it becomes a "communication destination", double rectangular blocks are displayed in FIG. Processing by the component being performed is performed.
  • each function of six components of the terminal device 400 shown in FIG. 7 will be described in order.
  • the self address notification unit 450 indicated by an elliptic block is a component for executing the process of “address notification”, and transmits to the connection mediation device 300 a location address indicating the location of the self on the network. Execute processing to notify.
  • the function of the self address notifying unit 450 is the same as the function of the self address notifying unit 250 shown in FIG.
  • the address table update unit 320 shown in FIG. 6 updates the address table T in response to this notification.
  • the communication request receiving unit 420 is a component that uses itself as a communication source to receive a communication request for another terminal apparatus that is the communication destination, and has exactly the same function as the communication request receiving unit 220 shown in FIG. It is a component. Further, when the communication request receiving unit 420 receives a communication request, the connection intermediation request unit 410 specifies, with respect to the connection intermediation device 300, a communication destination specification for specifying the terminal ID of another terminal device of the communication destination. It is a component for transmitting a connection mediation request including information, and is a component having the same function as the connection mediation request unit 210 shown in FIG.
  • connection mediation request transmitted from the connection mediation request unit 410 is transmitted to the connection mediation device 300 via the network N (thick arrows in the figure exchange between the terminal device 400 and the connection mediation device 300) Show the flow of signals before establishing a communication session). Then, from the connection mediation device 300, a communication source address is transmitted as indicated by a thick arrow in the figure. The communication source address is received by the communication start request unit 440.
  • connection mediation request unit 410 for issuing a connection mediation request and the communication start request unit 440 for receiving the communication source address transmitted from the connection mediation device 300 in response to this are terminal devices different from each other. It belongs to 400.
  • the communication source address transmission unit 330 shown in FIG. The location address associated with the terminal ID of the terminal device of the communication source that has transmitted the connection mediation request with respect to the location address associated with the terminal ID identified by the communication destination identification information included in Will be processed as a communication source address.
  • a specific example (for example, the user B of the terminal device 400B) sets the terminal device 400B shown in FIG. 6 as the communication source and the terminal device 400A as the communication destination here. Is the case where the caller is the calling party and the user A of the terminal device 400A is the called party) and the above procedure is described.
  • a connection mediation request for specifying the terminal device 400A as a communication destination is sent from the communication source terminal device 400B to the connection transfer device 300.
  • the communication source address transmission unit 330 having received the connection mediation request recognizes the location address “AD1” of the terminal device 400A designated as the communication destination by referring to the address table T.
  • the communication destination address reply unit 130 in the first embodiment described above performs processing for sending the location address of the communication destination recognized in this way to the communication source (the transmission source of the connection mediation request).
  • the communication source address transmission unit 330 in the second embodiment shown in FIG. 6 addresses the communication source terminal device 400B at the communication source address “A” addressed to the recognized address “AD1” of the communication destination. Send "AD2" (which can be recognized as the source address of the connection mediation request).
  • connection mediation device 300 transmits the communication source address to the communication destination terminal device 400A (the communication source terminal device 400B The location address "AD2" is to be transmitted. This is a point that is largely different from the first embodiment described above.
  • the communication source address thus transmitted is received by the communication start request unit 440 in the communication destination terminal device 400A, as shown in FIG.
  • the communication start request unit 440 sends a communication start request to the communication source address (the address of the communication source terminal device 400B). That is, when the communication start request unit 440 transmits a communication source address indicating the location on the network of another terminal device of the communication source from the connection intermediation device 300, the communication start request unit 440 transmits the communication source via the network N. It will access the address and make a communication start request. As indicated by thin arrows in the figure, this communication start request is a signal addressed from one terminal device 400 (communication destination) to another terminal device 400 (communication source).
  • the terminal apparatus for which the communication start request has been made from another terminal apparatus (in the above example, the terminal apparatus 400A) of the communication destination is the communication source session establishing unit Receive at 430 (downward thin arrow on the left side of the figure). Then, the communication source session establishment unit 430 returns a communication start acceptance confirmation to another terminal apparatus (the terminal apparatus 400A in the above example) which is the communication destination (the upward thin arrow in the left side of the figure), Establish a communication session with the other terminal above and start communication.
  • the white arrows drawn at the left end of FIG. 7 indicate the flow of signals (communication packets) between the two terminals after the communication session is established in this way.
  • the communication start acceptance confirmation returned from the communication source terminal device 400B to the communication destination terminal device 400A is received by the communication destination session establishment unit 460 of the communication destination terminal device 400A (thin arrow in the right side of the figure).
  • the communication destination session establishing unit 460 establishes a communication session with another terminal device 400B of the communication source and starts communication.
  • the white arrows drawn at the right end of FIG. 7 indicate the flow of signals (communication packets) between the two terminals after the communication session is established in this way.
  • communication after establishment of a communication session between the communication source terminal device and the communication destination terminal device is performed between the communication source session establishment unit 430 of the communication source terminal device and the communication destination session establishment unit 460 of the communication destination terminal device. It will be done.
  • the open arrow at the left end of FIG. 7 is connected to the open arrow at the right end of FIG. 7 via the network N.
  • the function of the self address notification unit 450 in the terminal apparatus shown in FIG. 7 is the same as the function of the self address notification units 250A and 250B described with reference to FIG. Do.
  • FIG. 8 is a block diagram showing a procedure for establishing a communication session between the communication source terminal device 400B and the communication destination terminal device 400A in the network communication system shown in FIG.
  • the connection mediation device 300 is shown at the top of the figure, and two sets of terminal devices 400A and 400B are shown at the bottom of the figure.
  • the exchange of information between the connection mediation device 300 and each of the terminals 400A and 400B (indicated by thick arrows) and the exchange of information between the terminals 400A and 400B (indicated by thin arrows) are actually performed.
  • illustration of the network N is abbreviate
  • the terminal device 400B is a communication source and the terminal device 400A is a communication destination will be described. Therefore, in FIG. 8, for the components in the communication source terminal device 400B, only the components (components of the rectangular block) that execute processing required as the communication source are shown by solid lines, and in the communication destination terminal device 400A. As for the components, only the components (components of the double rectangular block) that execute processing necessary for communication are indicated by solid lines, and blocks of other components are indicated by dashed lines.
  • FIG. 9 is a flow chart for explaining the communication session establishment procedure shown in the block diagram of FIG. 8 in chronological order.
  • a specific communication procedure in the second embodiment will be described according to the flowchart of FIG. 9 with reference to the block diagram of FIG.
  • the symbols S11 to S17 attached to the arrows correspond to the steps S11 to S17 in the flowchart of FIG.
  • reference numerals in parentheses correspond to specific blocks in the block diagram of FIG. 8 and indicate specific components related to the contents of the step. It is a thing.
  • step S11 communication request acceptance processing is performed. This is processing for receiving a communication request by the communication request receiving unit 420B shown in FIG. 8 and is the same as the processing described in step S1 in FIG.
  • step S12 a connection mediation request S12 is issued based on the communication request. This is processing performed by the connection mediation requesting unit 410B illustrated in FIG. 8 and is the same as the processing described in step S2 in FIG.
  • connection mediation request unit 410B of the communication source terminal device 400B sends a connection mediation request S12 to the connection mediation device 300 (in the illustrated example, the terminal ID "0010" of the communication destination terminal device 400A is included as communication destination identification information.
  • the communication source address transmission unit 330 that has received the connection mediation request S12 refers to the address table stored in the address table storage unit 310, and the connection mediation is performed.
  • the location address associated with the terminal ID ("0010" in this example) identified by the communication destination identification information included in the request is recognized as the communication destination address (S13). For example, if the address table T at that time is as shown in FIG. 6, the address "AD1" associated with the terminal ID "0010" is recognized as the communication destination address.
  • step S14 the communication source address reply unit 330 is associated with the terminal ID "0020" of the communication source terminal device 400B that has transmitted the connection mediation request S12 to the communication destination address "AD1" recognized in step S13.
  • the present location address "AD2" is transmitted as the communication source address (S14).
  • the transmitting side of the information when transmitting and receiving information between two parties connected via a network, the transmitting side of the information transmits its own address to the receiving side, and the receiving side acknowledges the address of the transmitting side. Perform processing to send back a signal. Therefore, the communication source address transmission unit 330 can recognize the location address “AD2” of the terminal device 400B that is the transmission source when receiving the connection mediation request S12, so when performing the communication source address transmission S14. , May transmit the recognized location address “AD2” as data.
  • connection mediation device 300 addresses the communication destination terminal device 400A in response to the connection mediation request S12.
  • the communication source address "AD2" indicating the location of the communication source terminal device 400B is transmitted to the location address "AD1" searched for in the table T). Since the address table T prepared in the connection mediation device 300 is always updated to the latest state, the communication source address transmission S14 is always performed for the latest location address of the communication destination terminal device 400A. Become.
  • the communication source address transmission S14 (information for transmitting the communication source address “AD2”) is transmitted from the communication source address transmission unit 330
  • the communication source address transmission S14 is a communication start request of the communication destination terminal device 400A. It is received by section 440A.
  • step S15 the communication start request unit 440A that has acquired the communication source address “AD2” by the communication source address transmission S14 sends a communication start request S15 to the communication source terminal device 400B. That is, access is made to the communication source address "AD2" via the network N, and the communication start request is transmitted to the other party. At this time, the own location address (communication source address "AD1") is also transmitted together.
  • the communication start request S15 addressed to the communication source address “AD2” is received by the communication source session establishment unit 430B of the communication source terminal device 400B.
  • communication source session establishment unit 430B receives communication start request S15 from communication destination terminal device 400A using itself (terminal device 400B) as the communication source, communication destination terminal device 400A first via network N in step S16.
  • the communication start acceptance confirmation S16 is transmitted.
  • a communication session is established with the communication destination terminal device 400A, and communication S17 is started.
  • the communication start acceptance confirmation S16 transmitted to the communication destination terminal device 400A is received by the communication destination session establishing unit 460A. Then, in step S17, the communication destination session establishment unit 460A that has received this communication start acceptance confirmation S16 also performs processing for establishing a communication session with the communication source terminal device 400B and starting communication S17. In short, on the communication destination terminal device 400A side, when the communication start acceptance confirmation S16 is returned from the communication source terminal device 400B in response to the communication start request S15, a communication session is established with the communication source terminal device 400B. Processing to start communication.
  • a communication session is established between the communication source terminal device 400B and the communication destination terminal device 400A, and communication S17 is performed between the two.
  • the processing performed by the connection mediating apparatus 300 is only the address table reference processing of step S13 and the communication source address transmission processing of step S14. That is, the mediation processing performed by the connection mediation device 300 refers to the address table T in response to the connection mediation request S12 from the communication source terminal device 400B (step S13), and the communication source is addressed to the obtained communication destination address. Only the address data is transmitted (step S14).
  • a communication session is established between the communication source terminal device 400B and the communication destination terminal device 400A only by the connection mediation device 300 performing such mediation processing, and communication between the two will be started.
  • the processing load of the connection mediating apparatus 300 is extremely light as in the network communication system according to the first embodiment.
  • the processing load is reduced as compared to conventional relay processing, but a session is established between both terminals. It is necessary to be involved until the concentration of mediation requests from a large number of terminal devices, the processing load becomes quite heavy.
  • the connection mediating apparatus 300 does not have to be involved until the communication session is established between the two terminals, and It suffices to carry out the process of transmitting the communication source address. Therefore, it is possible to further reduce the processing load when mediating the connection between the pair of terminal devices.
  • connection mediating device 300 since the connection mediating device 300 is not involved in establishing a communication session, the connection mediating device 300 establishes a communication session between both terminal devices. It can not be grasped whether communication is being performed without any trouble. Therefore, if necessary, after establishment of the communication session, the communication source session establishment unit 430B or the communication destination session establishment unit 460A reports to the connection mediation device 300 that the communication session has been established without any problem. It is also good.
  • the communication start request unit 440A of the communication destination terminal device 400A receives the communication source address transmission S14 from the connection mediation device 300, the communication start request S15 is automatically transmitted in step S15.
  • the communication start request unit 440A has some condition determination function, and when communication source address transmission S14 is received, the communication start request is sent only if the predetermined condition is satisfied. S15 may be transmitted. Alternatively, when the predetermined condition is not satisfied, the communication start rejection notification may be transmitted instead of the communication start request S15.
  • communication start request unit 440A is provided with a communication source list (so-called black list) which always rejects communication start and a communication source list (so-called white list) which always permits communication start
  • communication start request unit 440A If the communication source address transmitted by the communication source address transmission S14 is included in the blacklist by referring to the list, the communication start request S15 is not transmitted or is processed. An operation to transmit a notification of rejection of communication start can be performed. Alternatively, it is also possible to operate to transmit the communication start request S15 only when the communication source address is listed in the white list.
  • the communication source session establishing unit 430B makes a communication start request S15 having the communication source terminal device 400A as the communication source from the communication destination terminal device 400A
  • the communication destination terminal device 400A the communication destination terminal device 400A
  • the communication start acceptance confirmation may be transmitted, in some cases, the communication start request confirmation may be rejected without accepting the communication start request S15 (or the communication start acceptance may not be transmitted) Instead of confirmation, communication start rejection notification may be sent).
  • an address table T is stored in the address table storage unit 110 in the connection mediating apparatus 100 of FIG. The same applies to the address table storage unit 310 in the connection mediating apparatus 300 of FIG.
  • the address table T is a table in which the terminal ID and the location address are associated with each of the individual terminal devices, and the communication destination address reply unit 130 or the communication source address transmission unit 330 is included in the received connection mediation request.
  • the address table T is referred to based on the communication destination specifying information, and the location address of the communication destination is acquired.
  • the connection mediation request S2 includes the terminal ID “0020” of the communication destination terminal device 200B as communication destination identification information, and the communication destination address reply unit 130
  • the location address “AD2” corresponding to the terminal ID “0020” can be acquired.
  • the connection mediation request S12 includes the terminal ID “0010” of the communication destination terminal device 400A as communication destination identification information, and the communication source address transmission unit 330. Can obtain the location address “AD1” corresponding to the terminal ID “0010” by referring to the address table T.
  • the terminal ID of the communication destination terminal apparatus is used as the communication destination identification information included in the connection mediation request.
  • This terminal ID is information for mutually identifying each terminal device, and more specifically, the serial number of the CPU built in each terminal device, the MAC address given to the communication interface, the mobile phone In the case of a terminal device that functions as, a telephone number or a serial number of a SIM card can be used as the terminal ID.
  • the terminal ID is an ID for identifying an individual terminal device
  • the user ID is an ID for identifying an individual user.
  • a user name or a nickname can be used as a user ID.
  • a correspondence table of the user ID and the terminal ID may be prepared in the communication request receiving unit 220, 420. Then, when the user issues a communication request by specifying a specific user ID (for example, a user name), the communication request accepting unit 220, 420 uses the prepared correspondence table to make the user ID a terminal ID. To the connection intermediation request unit 210, 410. Then, the connection mediation request units 210 and 410 can transmit a connection mediation request including the terminal ID.
  • Such a conversion processing function for converting a user ID (for example, user name) into a terminal ID (for example, a telephone number) is a known function provided as a "telephone number registration function" in a general mobile phone. Detailed description is omitted here.
  • a method of preparing a correspondence table between the user ID and the terminal ID on the connection mediation device 100, 300 side can also be adopted.
  • an address table T1 as shown in FIG. 10 is stored in the address table storage units 110 and 310.
  • the address table T1 is a table including, for each of the individual terminal devices, information that associates a user ID specifying a user of the terminal device with a terminal ID of the terminal device.
  • FIG. 10 shows an example using user names such as "John” and “Mary” as the user ID for convenience of explanation
  • individual users included in the table can be mutually identified.
  • the full name of each user is registered as a user ID, and if there is a user with the same first and last name, a user ID that can be distinguished from each other is registered.
  • the self address notification unit 250, 450 of the terminal device 200, 400 is provided with a function for reporting such a user ID to the connection intermediation device 100, 300 side, and the address table update unit 120, 320 If a function for registering a user ID that has received a report in the address table T1 is provided, it is possible to prepare an address table T1 as shown in FIG.
  • the address table T1 is prepared, it is not necessary to recognize the terminal ID of the terminal device to be the communication destination on the terminal device side to be the communication source.
  • the communication source terminal device 200A calls the communication destination terminal device 200B
  • the user A (John) of the communication source terminal device 200A is the user B of the communication destination terminal device 200B.
  • a communication request specifying the user name "Mary" (user ID) as the communication destination may be performed.
  • a connection mediation request S2 including the user ID “Mary” as communication destination specifying information instead of the terminal ID “0020” is transmitted from the connection mediation request unit 210A to the connection mediation device 100.
  • the communication destination address reply unit 130 that has received such a connection mediation request S2 refers to the address table T1 shown in FIG. 10 to find the terminal ID corresponding to the user name “Mary” included as communication destination identification information. "0020" can be recognized, and furthermore, the location address "AD2" of the communication destination terminal device 200B having this terminal ID "0020" can be recognized.
  • FIG. 11 is a diagram showing an address table T2 using an account ID instead of the user ID.
  • the user ID is information for identifying each user
  • the account ID is information for identifying a user account established by each user.
  • the account ID “U11111” in the illustrated example is an ID indicating a user account opened by the user “John”
  • the account ID “U22222” is an ID indicating a user account opened by the user “Mary” is there.
  • each user can open multiple accounts if necessary.
  • the self address notification unit 250, 450 of the terminal device 200, 400 is provided with an application function for opening such an account, and the address table update unit 120, 320, according to the application, a predetermined user account If an account ID is registered in the address table T2, the address table T2 as shown in FIG. 11 can be prepared.
  • connection intermediation request unit 210A becomes “U22222” instead of the terminal ID “0020”.
  • the connection mediation request S2 including the account ID as the communication destination specifying information may be transmitted to the connection mediation device 100.
  • connection mediation request transmitted from the connection mediation request unit includes some "communication destination specification information" that plays the role of specifying the terminal ID of another terminal apparatus to be the communication destination. It will be enough if it is done.
  • This "communication destination specification information” may be the terminal ID itself, or may be a user ID or account ID as described above.
  • connection intermediation request unit 210A transmits a connection intermediation request S2 using a user ID specifying the user of the terminal apparatus at the communication destination or an account ID specifying the user account as the communication destination specifying information.
  • the communication destination address reply unit 130 refers to the address table T1 or T2 and the user ID included in the connection mediation request S2 or A terminal ID associated with the account ID may be determined, and a location address associated with the determined terminal ID may be returned as a communication destination address.
  • connection intermediation request unit 410B transmits a connection intermediation request S12 using a user ID specifying a user of a terminal apparatus of a communication destination or an account ID specifying a user account as communication destination specification information.
  • the communication source address transmission unit 330 refers to the address table T1 or T2 when the connection intermediation request S12 is transmitted from the connection intermediation request unit 410B, and the user ID included in the connection intermediation request S12 or The terminal ID associated with the account ID may be determined, and the communication source address may be transmitted to the location address associated with the determined terminal ID.
  • the terminal devices that can be used for the basic application of the prior invention are diverse, such as personal computers, mobile phones, tablet terminals, etc. Recently, it has become less common for the same user to use a plurality of terminal devices.
  • a modified example is described in which the incoming call is directed to another terminal device of the same user. .
  • an address table T3 as shown in FIG. 12 is prepared in advance.
  • this address table T3 although the terminal ID and the location address are registered for each of the four sets of user IDs "John”, “Mary”, “Frank”, and “Susie", 2 for the user ID "John” Two terminal IDs "0010” and “0011” are registered, and three user IDs "0030", “0031” and “0032” are registered for the user ID "Frank”. This is because the user John owns two terminal devices available for this network communication system, and the user Frank owns three terminal devices.
  • the address table T3 shown in FIG. 12 can be referred to as an address table in which one or more alternative terminal IDs are registered for a specific terminal ID.
  • these terminal IDs are grasped as belonging to the same group, and they are treated to be mutually recognized as alternative terminal IDs. Just do it.
  • one alternative terminal ID "0011” is registered for the terminal ID "0010"
  • one alternative terminal ID "0010” for the terminal ID "0011” is registered. It will be registered.
  • two alternative terminal IDs "0031” and “0032” are registered for the terminal ID "0030”
  • two alternative terminal IDs "0030” and "0032" are registered for the terminal ID "0031”.
  • two alternative terminal IDs "0030” and "0031" are registered for the terminal ID "0031”.
  • the call may be substituted. Can be transferred to a terminal device.
  • the user John owns a first terminal device (terminal ID "0010") consisting of a smartphone and a second terminal device (terminal ID "0011”) consisting of a personal computer, and usually either of the terminals Assume that the device is also available. However, one day, it is assumed that the first terminal device consisting of a smartphone is temporarily out of service due to battery exhaustion. In this case, even if the user Mary makes a communication request with his own terminal device as the communication source and the smartphone of the user John as the communication destination, a normal connection can not be made to the smartphone of the user John.
  • connection mediating apparatus can execute processing for connecting alternatively to the personal computer of the user John serving as the substitute instead of the smart phone of the user John.
  • the address table storage unit 110 stores an address table (for example, an address table T3 shown in FIG. 12) in which one or more alternative terminal IDs are registered for a specific terminal ID.
  • the communication destination address reply unit 130 has a function of determining whether or not each terminal device is in an inconvenient state of use. Specifically, for example, test access is performed on the terminal device to be determined, and it is determined that there is no problem if there is a normal reply, but if a normal reply is not obtained, use inconvenience It may be determined that the vehicle is in a steady state.
  • Communication destination address reply section 130 determines whether or not the terminal apparatus to which the original terminal ID specified in the communication destination specification information is assigned is inconvenient in use when connection mediation request S2 is transmitted. Perform processing to judge. Then, if the terminal apparatus to which the original terminal ID is assigned is in an inconvenient state, the location address associated with the alternative terminal ID instead of the original terminal ID is returned as the communication destination address. Do the process you want.
  • the communication destination address For example, in the state where the address table T3 shown in FIG. 12 is prepared, when a connection mediation request including the original terminal ID "0010" (smart phone of the user John) is transmitted as the communication destination specifying information, the communication destination address
  • the reply unit 130 first performs test access to the location address “AD1” corresponding to the terminal ID “0010”, determines that there is no problem if a normal reply is received, and follows the usual procedure to determine the location address “AD1”. "" May be returned as the communication destination address.
  • the communication source terminal device can perform communication with the smartphone of the user John given the original terminal ID “0010” as the communication destination.
  • the terminal device the smartphone of the user John
  • the address "AD5" associated with the terminal ID "0011” registered as the alternative terminal ID for the terminal ID "0010” in the address table T3 is used as the communication destination address.
  • the communication source terminal device communicates not with the smartphone of the user John given the original terminal ID "0010” but with the personal computer of the user John given the alternative terminal ID "0011” as the communication destination. it can.
  • the address table storage unit 310 stores an address table (for example, an address table T3 shown in FIG. 12) in which one or more alternative terminal IDs are registered for a specific terminal ID. Then, the communication source address transmitting unit 330 is added with a function of determining whether or not each terminal device is in an inconvenient state of use. Specifically, as described above, the test access is performed on the terminal device to be determined, and it is determined that there is no problem if a normal reply is received, but if a normal reply is not obtained. It may be determined that the user is in an inconvenient state of use.
  • an address table for example, an address table T3 shown in FIG. 12
  • the communication source address transmission unit 330 determines whether or not the terminal device to which the original terminal ID specified by the communication destination specification information is assigned is in an inconvenient state when the connection intermediation request S12 is transmitted. Perform processing to judge. Then, if the terminal apparatus to which the original terminal ID is assigned is in an inconvenient state, connection mediation is performed for the location address associated with the alternative terminal ID instead of the original terminal ID. A process of transmitting the location address of the communication source terminal apparatus that has transmitted the request S12 as the communication source address is performed.
  • the communication source address For example, in the state where the address table T3 shown in FIG. 12 is prepared, when a connection mediation request including the original terminal ID “0010” (smart phone of the user John) as the communication destination specifying information is transmitted, the communication source address The transmitting unit 330 first performs test access to the location address “AD1” corresponding to the terminal ID “0010”, determines that there is no problem if a normal reply is received, and follows the usual procedure to determine the location address “AD1”. The communication source address may be sent to In this case, the communication source terminal device can perform communication with the smartphone of the user John given the original terminal ID “0010” as the communication destination.
  • the communication destination address reply unit 130 or the communication source address transmission unit 330 when the communication destination address reply unit 130 or the communication source address transmission unit 330 receives the connection mediation request, it performs test access to the original communication destination, and is in an inconvenient state.
  • the address table is The effect may be recorded.
  • each terminal device regardless of the presence or absence of the connection mediation request, each terminal device periodically receives test access and receives a check as to whether or not it is in an inconvenient state, and the check result is recorded in the address table. It will be Therefore, when there is a connection mediation request actually, it can be determined based on the record of the address table whether or not it is in an inconvenient state.
  • the "use inconvenient state” in this modification does not mean only the “unavailable state” as in the state of the battery exhaustion or the state of connection failure to the network.
  • the terminal device although it is in a normally usable state, it is considered that the user does not want to arbitrarily use it, and also includes a state in which such setting is performed.
  • the terminal device is in “use inconvenient state”. Therefore, in the above example, even if both the smartphone and the personal computer possessed by the user John can operate normally, if the user John sets "rejection of incoming call" to the smartphone, the smartphone It becomes an inconvenient condition.
  • the setting of “rejecting incoming call” may be recorded only in each terminal device, or may be recorded in an address table in the connection mediation device. . By recording in the address table, it is possible to recognize that the user terminal is in the “inconvenient state” without performing test access to each terminal device.
  • FIG. 13 is a block diagram showing a modified example of the network communication system according to the first embodiment shown in FIG. 4 in which security is improved. In this modification, two measures are taken to improve the security of the network communication system according to the first embodiment.
  • the first measure is the addition of mutual authentication processing, and when transmitting and receiving the information indicated by the broken arrows in the figure, mutual authentication processing is performed to confirm the authenticity of the other party between the two.
  • mutual authentication processing is performed to confirm the authenticity of the other party between the two.
  • the communication source terminal device 200A and the connection mediation device 100 mutually communicate with each other.
  • a mutual authentication process is performed to confirm the authenticity of the
  • the dashed line indicating the connection mediation request S2 indicates that this mutual authentication process is performed. Therefore, each terminal device 200 and connection mediating device 100 have such an authentication processing function.
  • the mutual authentication process when the connection intermediary device 100 sends the communication destination address reply S4 to the communication source terminal device 200A is omitted (the arrow indicating the communication destination address reply S4 is a solid line). Is drawn). This is because, when the connection mediation request S2 is transmitted, the mutual authentication process between the communication source terminal device 200A and the connection mediation device 100 has already been completed, and the authenticity of the other device has been confirmed. It is for. Of course, the mutual authentication process may be performed again when the communication destination address reply S4 is performed.
  • each terminal device 200 has such an authentication processing function.
  • the mutual authentication process at the time of performing the communication start acceptance confirmation S6 from the communication destination terminal device 200B to the communication source terminal device 200A is omitted (the arrow indicating the communication start acceptance confirmation S6 is a solid line Is drawn in). This is because mutual authentication processing between the communication source terminal device 200A and the communication destination terminal device 200B has already been completed when transmitting the communication start request S5, and the authenticity of the other device has been confirmed. It is because Of course, the mutual authentication process may be performed again when performing the communication start acceptance confirmation S6.
  • mutual authentication processing for confirming the authenticity of the other party between a pair of devices connected via a network
  • mutual authentication processing using the encryption key of the other party is often used.
  • one apparatus encrypts specific plaintext data using the public key of the other apparatus, transmits the obtained ciphertext data to the other party, and receives this
  • the other device can adopt a processing procedure of decrypting the ciphertext data using its own encryption key and confirming that the original plaintext data can be restored. If this processing procedure is performed on both sides, it is possible to mutually confirm the authenticity of the other party.
  • mutual authentication processing between the communication source terminal device 200A and the communication destination terminal device 200B is performed using the respective encryption keys, using the encryption key, the two parties after establishment of the communication session are used. If the communication S7 is performed by encrypted communication, security can be further improved. Specifically, mutual authentication processing when transmitting the communication start request S5 is performed by processing using the encryption key for the communication source terminal device 200A and the encryption key for the communication destination terminal device 200B, and the communication source terminal If communication S7 after establishment of a communication session between the device 200A and the communication destination terminal device 200B is performed by packet communication for transmitting and receiving a packet encrypted using the encryption key used in the mutual authentication process. Good.
  • a second measure taken to improve security is the issuance of an intermediary certificate by the connection intermediary device 100.
  • the connection mediating device 100 plays the role of mediating the connection between the communication source terminal device 200A and the communication destination terminal device 200B.
  • the intermediary certificate is a certificate issued by the connection intermediary device 100 in order to prove the fact that “such an intermediary has certainly been performed”.
  • the communication destination terminal device 200B can confirm that the mediation by the connection mediation device 100 is correctly performed by the mediation certificate.
  • the structure will be described in order.
  • the communication destination address replying unit 130 receives the transmission of the connection mediation request S2, and specifies the communication source An intermediary certificate is issued indicating that the intermediary process from the terminal device 200A to the specific terminal device 200B which is the communication destination is executed. Then, when the communication destination address reply S4 is performed, the intermediation certificate is sent back to the communication source terminal device 200A together with the communication destination address "AD2".
  • the communication start request unit 240A receives this intermediation certificate together with the communication destination address "AD2". Therefore, when the communication start request S5 is issued to the communication destination address "AD2", the communication start request unit 240A transmits this intermediate certificate together. Then, the communication destination session establishment unit 230B receives the intermediation certificate together with the communication start request S5.
  • the communication destination session establishment unit 230B transmits the intermediation certificate together with the communication start request S5 having the communication destination as the communication destination from another terminal apparatus 200A of the communication source, the legitimacy of the intermediation certificate is confirmed.
  • Communication start acceptance confirmation S6 to another terminal apparatus 200A of the communication source under the condition that a communication session is established with another terminal apparatus 200A of the communication source to start communication S7. Make it Of course, if the validity of the intermediation certificate is not confirmed, the communication start acceptance confirmation S6 is not transmitted, and the communication S7 is not started either.
  • the mediation certificate in the above example proves that the connection mediation device 100 has performed “the mediation process from the terminal device 200A to the terminal device 200B”
  • the communication destination session establishment unit 230B It is possible to confirm the legitimacy of the intermediate certificate by determining whether the content of the communication start request S5 matches the proof content of the intermediate certificate.
  • the mediation proof that "the mediation process from the terminal device 200A to the terminal device 200B is executed" is performed. It can be judged that the book is correct.
  • the communication destination session establishment unit 230B in the communication destination terminal device 200B receives the communication start request S5 from the communication source terminal device 200A, transmits the communication start acceptance confirmation S6 to the communication source terminal device 200A, and performs communication session To perform communication S7.
  • the received communication start request S5 is a legitimate signal, but if it is a camouflage signal by a cracker, there is a risk of being damaged by fraud.
  • the communication source terminal device 200A is infected with malware, it is hijacked by the cracker, and the communication start request S5 is made by an unauthorized method without following the regular procedure via the connection mediation device 100.
  • the measures to issue the above-mentioned intermediation certificate are taken, it is effective in preventing the fraud by such a cracker.
  • the communication destination address reply unit 130 may create the intermediate certificate, for example, by the following method. First, based on the connection mediation request S2, the location address (“AD1” in the illustrated example) of the specific terminal device 200A serving as the communication source and the location address (in the illustrated example) of the specific terminal device 200B serving as the communication destination "AD2" recognizes. Then, it creates data for intermediary certification that includes these two location addresses. For example, the character strings of both location addresses may be linked as they are and a character string such as “AD1” + “AD2” may be used as data for intermediary certification, and another secret character string “HAPPY” may be added. A character string such as “AD1” + “AD2” + “HAPPY” may be used as data for intermediary certification.
  • data obtained by applying a one-way function using a predetermined encryption key to the data for mediation proof created in this way may be used as a mediation certificate.
  • a one-way function an encryption key for communication source terminal device 200A or an encryption key for communication destination terminal device 200B, or a hash function using both of these encryption keys can be used.
  • the mediation proof data is composed of a character string “AD1” + “AD2” + “HAPPY”, and the character string is subjected to a mediation by causing a hash function using the public key of the communication destination terminal device 200B to act.
  • a hash function using the public key of the communication destination terminal device 200B to act.
  • the intermediary certificate created in this way is the hash value of the intermediary certificate data.
  • the communication destination session establishment unit 230B that has received the intermediation certificate together with the communication start request S5 can confirm the legitimacy of the intermediation certificate according to the following procedure.
  • the location address “AD1” of the communication source terminal device 200A can be recognized. It can also recognize its own location address "AD2".
  • the secret character string “HAPPY” this secret character string is managed so that only each component of the network communication system can know
  • an intermediary certificate is created by applying a hash function using its own public key to the intermediary certificate data. Finally, it may be confirmed that the intermediation certificate thus created matches the intermediation certificate sent along with the communication start request S5. If the two match, the validity of the intermediate certificate is confirmed. Of course, in the case of non-coincidence, the legitimacy can not be confirmed, so it can be judged that there is a possibility that some fraud has been made. That is, when the legitimacy of the mediation certificate can not be confirmed, it is determined that the communication start request S5 received by the communication destination session establishment unit 230B is not made based on the normal mediation processing by the connection mediation device 100. be able to. In such a case, the communication destination session establishment unit 230B rejects the establishment of the communication session without transmitting the communication start acceptance confirmation S6.
  • the hash value for the data for intermediary certification “AD1” + “AD2” + “HAPPY” is used as the intermediary certificate, but of course, the data for intermediary certification itself is used as the intermediary certificate. It is also possible. However, in order to ensure sufficient security, it is preferable to use the hash value, not the intermediary certificate data itself, as the intermediary certificate. Since the data for mediation proof includes location addresses such as "AD1" and "AD2", it is susceptible to tampering by the cracker. Therefore, in practice, as in the above example, it is preferable to create an intermediary certificate by operating a one-way function using some encryption key.
  • FIG. 14 is a block diagram showing a modified example of the network communication system according to the second embodiment shown in FIG. 8 in which the security is improved. In this modification, two measures are taken to improve the security of the network communication system according to the second embodiment.
  • the first measure is the addition of mutual authentication processing, and when transmitting and receiving the information indicated by the broken arrows in the figure, mutual authentication processing is performed to confirm the authenticity of the other party between the two. Specifically, first, when transmitting the connection mediation request S12 from the communication source terminal device 400B to the connection mediation device 300, the communication source terminal device 400B and the connection mediation device 300 mutually communicate with each other. A mutual authentication process is performed to confirm the authenticity of the The dashed line indicating the connection mediation request S12 indicates that this mutual authentication process is performed.
  • each terminal device 400 and connection mediation device 300 have the above-described authentication processing function.
  • each terminal device 400 is provided with such an authentication processing function.
  • the mutual authentication process at the time of performing the communication start acceptance confirmation S16 from the communication source terminal device 400B to the communication destination terminal device 400A is omitted (the arrow indicating the communication start acceptance confirmation S16 is a solid line Is drawn in). This is because when the communication start request S15 is transmitted, the mutual authentication process between the communication destination terminal device 400A and the communication source terminal device 400B has already been completed, and the authenticity of the other device has been confirmed. It is because Of course, the mutual authentication process may be performed again when performing the communication start acceptance confirmation S16.
  • the second measure taken to improve security is the issuance of an intermediary certificate by the connection intermediary device 300.
  • the connection mediating device 300 plays the role of mediating the connection between the communication source terminal device 400B and the communication destination terminal device 400A.
  • the intermediary certificate is a certificate issued by the connection intermediary device 300 in order to prove the fact that “such an intermediary has certainly been performed”.
  • the communication source terminal device 400B can confirm that the mediation by the connection mediation device 300 is performed correctly by the mediation certificate.
  • the structure will be described in order.
  • the communication source address transmission unit 330 receives the transmission of the connection mediation request S12, and specifies the communication source An intermediary certificate is issued indicating that an intermediary process has been performed from the terminal device 400B to the specific terminal device 400A that is the communication destination. Then, when the communication source address reply S14 is performed, the intermediation certificate is sent back to the communication destination terminal device 400A together with the communication source address "AD2".
  • the communication start request unit 440A receives this intermediation certificate together with the communication source address "AD2". Therefore, when making a communication start request S15 to the communication source address "AD2", the communication start request unit 440A transmits this intermediate certificate together. Then, the communication source session establishment unit 430B receives the intermediation certificate together with the communication start request S15.
  • the communication source session establishment unit 430B transmits the intermediation certificate together with the communication start request S15 having the communication source as the communication source from another terminal device 400A of the communication destination, the validity of the intermediation certificate is confirmed.
  • the communication start acceptance confirmation S16 is transmitted to the other terminal device 400A of the communication destination, and a communication session is established with the other terminal device 400A of the communication destination to start communication S17. Make it Of course, if the validity of the intermediation certificate is not confirmed, the communication start acceptance confirmation S16 is not transmitted, and the communication S17 is not started either.
  • the mediation certificate in the above example proves that the connection mediation device 300 has performed “the mediation process from the terminal device 400B to the terminal device 400A”
  • the communication source session establishment unit 430B It is possible to confirm the legitimacy of the intermediation certificate by determining whether the content of the communication start request S15 matches the proof content of the intermediation certificate.
  • the mediation proof that "intermediate processing from the terminal device 400B to the terminal device 400A has been executed" is performed. It can be judged that the book is correct.
  • the communication source session establishment unit 430B in the communication source terminal device 400B receives the communication start request S15 from the communication destination terminal device 400A, transmits the communication start acceptance confirmation S16 to the communication destination terminal device 400A, and performs communication session To perform communication S17.
  • the received communication start request S15 is a legitimate signal, but if the signal is a camouflage signal by a cracker, there is a risk of being damaged by fraud.
  • the communication destination terminal device 400A is infected with malware, it is hijacked by a cracker, and the communication start request S15 is made by an unauthorized method without following the regular procedure via the connection mediation device 300. There is also the possibility of If the measures to issue the above-mentioned intermediation certificate are taken, it is effective in preventing the fraud by such a cracker.
  • the specific method of creating an intermediary certificate is as described in 3-33-3. That is, also in the case of the modification shown in FIG. 14, the communication source address transmission unit 330 is the location address “AD2” of the specific terminal device 400B as the communication source and the location address “A” of the specific terminal device 400A as the communication destination.
  • An intermediary certificate is operated by acting a one-way function using a predetermined encryption key on data for intermediary certification (including other secret character strings may be added if necessary) including “AD1”. Create it.
  • a one-way function an encryption key for the communication source or an encryption key for the communication destination, or a hash function using both of these encryption keys can be used.
  • the specific procedure of the legitimacy confirmation using such an intermediary certificate is as already described in 3-3 3-3, and the description is omitted here.
  • each of the terminal devices 200A to 200D and 400A to 400D is directly connected to the network N (the Internet) for the convenience of illustrating the basic principle of each invention.
  • N the Internet
  • each terminal device is connected to the network N (Internet) via a router. Therefore, a practical embodiment in which a terminal device is connected to a network via a router will be described here in the basic application of the prior application.
  • FIG. 15 is a block diagram showing an embodiment of the prior application basic invention in which a terminal device is connected to a network N via a router. Specifically, FIG. 15 shows a state in which three terminal devices 200E, 200F, and 200G are connected to the network N (the Internet) via the same router R.
  • the terminal device 200 in the basic application basic invention is any device as long as it is an electronic device such as a personal computer, a mobile phone, a tablet terminal, etc., having a function of connecting to the network N and performing communication. I don't care.
  • corporate LANs and home LANs have become widespread, and personal computers and tablet terminals are usually connected to the Internet via routers installed in companies and homes.
  • base stations having a router function have been used, and mobile phones can be connected to the Internet via the base station having this router function.
  • each terminal device used in the basic application of the prior application is practically connected to the Internet via the router R, as illustrated in FIG.
  • the router R has a function of constructing a LAN, and in the illustrated example, a portion drawn on the left side of the router R constitutes one subnet, and a class C private IP address is assigned.
  • each terminal apparatus is assigned an IP address having a network unit “192.168” and host units “0.11”, “0.12”, and “0.13”. Communication between devices in this subnet can be performed without going through router R, but when accessing devices outside the subnet, communication via router R is required.
  • a private IP address of “192.168.0.11” is assigned to the terminal device 200E (terminal ID: 0050), and a private IP address of “192.168.0.12” is attached to the terminal device 200F (terminal ID: 0060).
  • An IP address is assigned, and a private IP address "192.168.0.13" is assigned to the terminal device 200G (terminal ID: 0070).
  • port numbers are used together with these IP addresses for actual communication.
  • port number P1 is for one communication path of terminal device 200E
  • port numbers P2 and P3 are for two communication paths of terminal device 200F
  • port numbers P4 to P7 are for four communication paths of terminal device 200G. An example given is shown.
  • the port number consists of 2 bytes of data and is used to identify the communication endpoint.
  • the port number P3 is assigned to the communication path of Therefore, even for communication using the same IP address “192.168.0.12”, it is possible to distinguish between communication for APP1 and communication for APP2 by the difference in port number P2 / P3.
  • two sets of application programs APP1 and APP2 are also installed in the terminal device 200G shown in the figure
  • two sets of port numbers P4 and P5 are allocated for APP1, and two sets of port numbers for APP2.
  • P6 and P7 are assigned.
  • the application program APP1 is a web browser program
  • the port number P4 is assigned to communication on the first web page
  • the port number P5 is assigned to communication on the second web page.
  • port numbers can be arbitrarily assigned according to the convenience of individual application programs.
  • the illustrated application program APP2 is a dedicated communication application program for performing the function as the network communication system according to the prior invention basic invention.
  • the illustrated terminal devices 200F and 200G are devices such as general-purpose personal computers, smart phones, and tablet-type terminals that operate under the management of a predetermined OS program, and install the communication application program APP2 dedicated to the devices. By doing this, these devices will function as a terminal device according to the basic application of the prior application.
  • a self address notification unit 250, a communication request reception unit 220, a connection mediation request unit 210, a communication start request unit 240, a communication source session establishment unit 260, and a communication destination session establishment which are components of the terminal device 200 shown in FIG.
  • the processing function of the unit 230 is realized by executing the communication application program APP2 (a part of the processing functions may be realized by the execution of the OS program).
  • a self address notification unit 450, a communication request reception unit 420, a connection mediation request unit 410, a communication start request unit 440, a communication source session establishment unit 430, and a communication destination session establishment which are components of the terminal device 400 shown in FIG.
  • the processing function of the unit 460 is realized by executing the communication application program APP2 (a part of the processing functions may be realized by execution of the OS program).
  • FIG. 15 a block showing the application program APP2 and its communication path are shown by thick lines.
  • Communication between each of the terminal devices 200E, 200F, and 200G and devices outside the subnet is performed via the router R.
  • the router R has a network address translation function (NAT (Network Address Translation) function), and the private IP address assigned to the communication path connected to the inside (the left side of the router R in the figure)
  • NAT Network Address Translation
  • the reverse conversion is also performed.
  • xx in the global IP address indicates an arbitrary 1-byte data (in this application, a part of the global IP address is xx, yy, zz, etc. in order to avoid identification of a unique global IP address). I will refer to the symbol).
  • NAPT Network Address Port Translation
  • the combination "192.168.0.12 (P3)" of the private IP address and the port number given to the communication path from the communication application program APP2 of the terminal device 200F is the combination "xx. 75.1.111 (P13) ". Therefore, for an external device connected via the network (Internet) N, the APP 2 of the terminal device 200 F has a location address “xx.73.5.111 (P13)” (information obtained by adding a port number to an IP address) Will be identified by Similarly, APP2 of the terminal device 200G is specified by the location address “xx.73.5.111 (P16)” or “xx.73.5.111 (P17)”.
  • the same global IP address ADx (specifically, “xx.73.5.111”) is given to a plurality of communication paths outside the router R, but the port numbers are respectively Because they are different, they can be distinguished from each other.
  • processing is performed to convert the global IP address ADx into a private IP address.
  • the location address is converted to “192.168.0.13 (P6)”, and the communication application program of the terminal device 200G It is processed as an access to the first communication channel of APP2.
  • a NAPT function is a widely used existing technology, so a detailed description is omitted here.
  • the terminal device 200 which is a component of the network communication system according to the prior invention basic invention, includes a self address notification unit 250 as shown in FIG. A process of notifying the connection mediating apparatus 100 of the location address indicating the location at the top is performed. As described above, this notification process is actually executed by the communication application program APP2 installed in the terminal device 200.
  • the communication application program APP2 notifies the location address to the connection mediating device 100, and the address table updating unit 120 in the connection mediating device 100 receives the notification. For each of the terminal devices, processing of writing information in which the terminal ID and the location address are associated in the address table T in the address table storage unit 110 is executed.
  • the self-address notifying unit 250 is a private IP in a LAN (subnet) managed by the router R. Performs processing to notify the address as the location address.
  • this private IP address is converted to a global IP address ADx by the NAT function of the router R and transmitted to the network N. Therefore, the address delivered to the connection mediation device 100 is not a private IP address but a global IP address ADx, and the address table update unit 120 stores this global IP address ADx in the address table T as a location address. I do.
  • information obtained by adding a port number to an IP address is used as a location address indicating the location of each terminal apparatus on the network.
  • the self address notification unit 250 performs processing to notify information obtained by adding the port number to the private IP address as the location address, and the information is converted by router R into information obtained by adding the port number to the global IP address. , Reach the connection mediation device 100. Therefore, information obtained by adding the port number to the global IP address is written to the address table T as the location address.
  • FIG. 16 is a diagram showing an example of an address table in the case where information obtained by adding a port number to an IP address is used as a location address in the embodiment shown in FIG.
  • the address table T41 shown in FIG. 16A is “terminal ID: 0060 based on the notification from the own address notification unit 250 (communication application program APP2) in the terminal device 200F (terminal ID: 0060) shown in FIG.
  • the location address (combination of the IP address ADx and the port number P13) corresponding to “” and also notify from the self address notification unit 250 (communication application program APP2) in the terminal device 200G (terminal ID: 0070)
  • the location address (combination of the IP address ADx and the port number P16, and the combination of the IP address ADx and the port number P17) is written based on the “terminal ID: 0070”.
  • the own address notification unit 250 (communication application program APP2) in each of the terminal devices 200F and 200G performs processing of transmitting information in which a port number is added to a private IP address as a location address. Since the router R converts the information into the global IP address with the port number added, the location address actually stored in the address table T41 is, as illustrated, a combination of the global IP address ADx and the port number after conversion. become.
  • the information obtained by adding the port number "P3" to the private IP address "192.168.0.12" as the location address indicating the location of the transmission source is the terminal ID "
  • the location address indicating the location of the sender, which is the source is the port number “P13” with the global IP address “xx.73.5.111”.
  • the address table T41 a combination of the global IP address ADx “xx.73.5.111” and the port number “P13” is written as the belonging address corresponding to the terminal ID “0060”.
  • the address table T42 shown in FIG. 16 (b) is an example of information of the location address column of the address table T41 shown in FIG. 16 (a) as specific data.
  • the address table T42 shown in FIG. The data "xx.73.5.111” is stored in the IP address column of the table.
  • the port number given to the communication path outside router R is a 2-byte number generated so as not to overlap each other by router R, and in the example shown in FIG. 16 (b), 62801 to 62803 Data is stored.
  • an address table T42 as shown in FIG. 16B is stored in the connection mediating apparatus 100 shown in FIG. 15 for the terminal devices 200F and 200G. Therefore, when there is a connection mediation request including the terminal ID "0060" as communication destination specifying information from an external communication source (not shown), the communication destination address replying unit 130 in the connection mediation device 100 refers to the address table T42. By doing this, the location address corresponding to the terminal ID “0060” (information obtained by adding the port number “62801” to the IP address “xx.735.111”) is returned as the communication destination address. Therefore, the terminal apparatus serving as the communication source can issue a communication start request to the communication destination specified by the IP address “xx.735.111” and the port number “62801”.
  • the address table updating units 120 and 320 in the connection mediating apparatus 100 and 300 update the address table illustrated in FIG. 16 each time a notification of the location address is received from the self address notifying unit 250 or 450 of each terminal device. Do the processing. As described above, in the case of the embodiment shown in FIG. 15, the processing function of the self address notifying unit of the terminal devices 200F and 200G is realized by executing the communication application program APP2 operating under the management of a predetermined OS program. .
  • the notification process of the self address by the self address notification unit 250, 450 at the timing shown in the table of FIG. Timing (1) in the illustrated table is when the user inputs an operation to the communication application program APP2. For example, after the communication application program APP2 is started, a message such as "Prepare for communication (Yes / No)?" Is displayed, and when the user performs an operation input instructing "Yes", An address notification process may be performed. Normally, when the communication application program APP2 is activated, the private IP address of the terminal apparatus and the global IP address corresponding to this have already been determined, and an environment for performing notification processing of the own address is established.
  • the timing (2) in the illustrated table is at the start of the communication application program APP2.
  • this timing (2) is adopted, the notification process of the self address is automatically executed without waiting for the display of the message described above and the operation input by the user.
  • the processing function as the self address notifying unit 250 or 450 may be incorporated into the start routine of the program APP2.
  • Timing (3) in the illustrated table is at the time of activation of the OS program, which is substantially at the time of activation of the terminal device.
  • the processing function as the self address notifying unit 250 or 450 may be incorporated into the boot routine of the OS program.
  • processing to determine the private IP address of the terminal device and the corresponding global IP address is performed in the start-up routine of the OS program, so if self-address notification processing is automatically performed after that. Good.
  • FIG. 15 exemplifies an embodiment in which a terminal apparatus is connected to the network N via the router R.
  • the local network built inside the router R constitutes one private network
  • each of the terminal devices 200E, 200F, 200G is a network unit of “192.168”.
  • a private IP address beginning with is assigned.
  • VPN technology is widely used as a method of extending such a private network across public networks such as the Internet N.
  • FIG. 18 is a block diagram showing an entire configuration of an embodiment using a VPN in the network communication system according to the prior invention basic invention.
  • three terminal devices 200H, 200I, 200J terminal IDs are respectively 0081, 0082, 0083, respectively
  • one terminal installed in the Paris branch office A simple example in which a VPN is constructed by a total of four terminal devices 200 K (terminal ID is 0091) will be shown.
  • the three terminal devices 200H, 200I, and 200J installed at the Tokyo head office are called the first terminal devices belonging to the first group, and one terminal device 200K installed at the Paris branch office is made the second group. It will be called the second terminal apparatus to which it belongs.
  • the first terminal devices 200H, 200I and 200J are connected to the network (Internet) N via a first router R1, and the second terminal device 200K is connected via a second router R2.
  • Network (Internet) N is connected. Therefore, basically, the first terminal devices 200H, 200I, and 200J arranged above the first router R1 in the figure are hosts in the first LAN managed by the first router R1. As a result, the second terminal device 200K disposed below the second router R2 in the figure is a host in the second LAN managed by the second router R2.
  • a private IP address in the first LAN managed by the first router R1 is given to the first terminal device 200H, 200I, 200J, and a second router is given to the second terminal device 200K.
  • a private IP address in the second LAN managed by R2 is assigned. Further, similarly to the example shown in FIG. 15, a port number is also assigned together with the IP address.
  • a private IP address of class B is assigned to the first LAN, and “172.16.6.11 (P1)” and “172.16” are assigned to the first terminal devices 200H, 200I and 200J, respectively.
  • the IP addresses and port numbers are given as “6.12 (P2)” and “172.16.6.13 (P3)” (port numbers P1, P2, P3, etc. are actually 2 bytes of data).
  • These pieces of information are assigned by the first router R1, respectively, to the global IP address ADy as "yy.88.105.19 (P11)", “yy.88.105.19 (P12)", and “yy.88.105.19 (P13)". It is connected to the Internet N after being converted to a combination of the and port numbers.
  • a private IP address of class C is assigned to the second LAN, and an IP address and a port number of “192.168.99.11 (P4)” are assigned to the second terminal device 200K. Is granted.
  • This information is converted by the second router R2 into a combination of a global IP address ADz of "zz.99.214.28 (P21)" and a port number, and is then connected to the Internet N.
  • the first LAN to which the first terminal devices 200H, 200I and 200J belonging to the first group belong and the second LAN to which the second terminal device 200K belonging to the second group belongs Is a separate and independent private network, but in the case of the illustrated embodiment, a VPN is constructed to extend the range of the first LAN across the Internet N.
  • a private IP address and port number "192.168.99.11 (P4)" in the second LAN managed by the second router R2 are given to the second terminal device 200K, and the first router R1 is The private IP address and port number "172.16.6.14 (P5)" in the first LAN managed by the virtual LAN are virtually assigned as VIP addresses, and the first terminal devices 200H, 200I, 200J and the second VPN settings are made between the terminal device 200 K and the terminal device 200 K so that they can communicate with each other using this VIP address.
  • the terminal device 200K installed in the Paris branch office is the first LAN managed by the first router R1, like the terminal devices 200H, 200I and 200J installed in the Tokyo head office. It can be handled as an internal terminal device.
  • FIG. 19 is a diagram showing the principle of VNP communication in the embodiment shown in FIG. The illustrated example shows VPN communication between the terminal device 200H installed at the Tokyo head office and the terminal device 200K installed at the Paris branch office.
  • a VPN communication unit 201H is provided in the terminal device 200H, and a VPN communication unit 201K is provided in the terminal device 200K, and a VPN encrypted communication path is established between the two. Since the data exchanged between the two are encrypted, in fact, although information is transmitted via a public network such as the Internet N, it has convenience and security as if it were private network. Information can be sent and received.
  • the VPN communication units 201H and 201K are actually constructed by dedicated VPN application programs installed in the respective terminal devices. Since the specific structure of such a VPN is a known technique, detailed description is omitted here.
  • FIG. 20 is a diagram showing an example of an address table to which a VIP address is added for use in the embodiment shown in FIG.
  • the address table T51 shown in FIG. 20 (a) is a location address (IP address and port) corresponding to each terminal ID based on the notification from the own address notification unit 250 in the terminal devices 200H to 200K which are members of the VPN. Number) is stored.
  • the terminal devices 200H to 200J are devices belonging to the first LAN built at the Tokyo head office, but the terminal device 200K (terminal ID: 0091) is at the Paris branch office. It is a device that belongs to the constructed second LAN.
  • the first LAN is virtually extended to the terminal device 200K according to the above-described VPN structure, and the terminal device 200K is assigned a VIP address “VIP (200 K)”. Therefore, for the terminal ID "0091" of the address table T51 shown in FIG. 20A, a VIP address "VIP (200K)" is further stored in the VIP column.
  • the address table T52 shown in FIG. 20 (b) is an example of information of the location address column and the VIP column of the address table T51 shown in FIG. 20 (a) as specific data.
  • information in which port numbers P11 to P13 are added to the global IP address ADy "yy.88.105.19" is given as the location address to each communication path outside the first router R1.
  • data “yy.88.105.19” is stored, and the port number column is stored.
  • the setting of the VPN for the connection mediation device 100 is made in the self address notifying unit 250 of the second terminal device 200K.
  • the address table updating unit 120 has a function of storing the VIP address in the address table T52 in association with the location address of the second terminal device 200K. Just do it.
  • the connection intermediation request unit 210 of the first terminal device 200H can specify the communication destination by using the VIP address “VIP (200K)” of the second terminal device 200K as the communication destination identification information.
  • connection intermediation request unit 210 of the terminal device 200H performs a connection intermediation request including a VIP address of “172.1.6.6.14” as communication destination specification information
  • the communication destination address in the connection intermediation device 100 The reply unit 130 replies the location address "zz.99.214.28 (61999)" corresponding to the VIP address "172.1.6.6.14" as the communication destination address by referring to the address table T52 shown in FIG. 20 (b). be able to.
  • the terminal device 200 K is recognized as a device having a VIP address of “172.1.6.6.14” in the layer of the application program, so a connection mediation request is made using this VIP address. It would be useful if it could be done.
  • the port number "P5" may be stored together with the VIP address "172.16.6.14". Then, using the information “172.16.6.14 (P5)”, it is possible to make a connection mediation request including designation of a specific port number.
  • ⁇ 4-1 shows a basic embodiment using a router.
  • each terminal is usually connected to the network through a router.
  • a private IP address in this application, abbreviated as PIP is used
  • PIP private IP address
  • GIP global IP address
  • the global IP address is stored as the location address in the address table T in the connection mediation device 100.
  • the connection mediating apparatus 100 is a global of the terminal apparatus that becomes the communication destination in response to the connection mediation request from the terminal apparatus of the communication source.
  • Reply IP address is a global of the terminal apparatus that becomes the communication destination in response to the connection mediation request from the terminal apparatus of the communication source.
  • the terminal apparatus of the communication source sends a communication start request to the terminal apparatus of the communication destination.
  • a request to start communication using a global IP address may not be desirable. The reason and solution will be described below.
  • FIG. 21 is a block diagram showing an overall configuration of a network communication system according to the first embodiment of the basic application of the prior invention, including a terminal device connected to a network N (the Internet) via a router.
  • a network N the Internet
  • FIG. 21 is a block diagram showing an overall configuration of a network communication system according to the first embodiment of the basic application of the prior invention, including a terminal device connected to a network N (the Internet) via a router.
  • N the Internet
  • FIG. 21 is a block diagram showing an overall configuration of a network communication system according to the first embodiment of the basic application of the prior invention, including a terminal device connected to a network N (the Internet) via a router.
  • the terminal devices 200A and 200B are connected to the network N via the router RA
  • the terminal device 200C is connected to the network N via the router RB
  • the terminal device 200D is via the router.
  • the connection mediation device 100 is also directly connected to the network N.
  • Reference numerals 400A to 400D and 300 shown in parentheses in FIG. 21 are reference numerals when the first embodiment of the prior application basic invention described above is replaced with the second embodiment of the prior application basic invention. It is. Hereinafter, for the sake of convenience, the location of the problem in the first embodiment of the prior application basic invention will be described, but such a problem similarly occurs in the second embodiment of the prior application basic invention.
  • the global IP address (and port number, below) is all used as the address AD1 to AD4.
  • the global IP address is stored in the address table T in the connection mediating apparatus 100. That is, the global IP address GIP1 is as the location address AD1 of the terminal device 200A, the global IP address GIP2 is as the location address AD2 of the terminal device 200B, and the global IP address GIP3 is as the location address AD3 of the terminal device 200C.
  • the global IP address GIP4 is notified to the connection mediating apparatus 100 as the location address AD4 of the IP address, and is stored in the address table T.
  • port numbers P1 to P3 are shown in parentheses after each GIP.
  • private IP addresses PIP1, PIP2 and PIP3 are given from the router RA or RB to the terminal devices 200A, 200B and 200C connected to the network N via the routers RA and RB.
  • FIG. 21 for convenience of explanation, real addresses for GIP1 to GIP4 and PIP1 to PIP3 are illustrated.
  • a global IP address “xx.5.1.1” is assigned to this router RA, and for the network N, the global IP address and port number are the location addresses of the respective terminal devices 200A and 200B It is used. Therefore, when accessing each of the terminal devices 200A and 200B from the network N, the global IP address “xx.5.1.1” and a predetermined port number are used as the location address.
  • the global IP address and port number “1 (P2)” are assigned.
  • the same global IP address “xx. 5.1.1” is given to both, but they are distinguished by port numbers “P1” and “P2”.
  • the NAT function of the router RA translates between a global IP address and a private IP address.
  • a global IP address “xx.5.7.1” is assigned to this router RB, and for the network N, the global IP address and port number are used as a location address of the terminal device 200C. .
  • the global IP address is notified to the connection intermediation device 100 by the self address notification function of each of the terminal devices 200A to 200D. Stored.
  • FIG. 22 is a block diagram showing a form of communication between the terminal devices 200A-200C in the network communication system shown in FIG.
  • the thin arrow L1 shown in the figure indicates the flow of signals exchanged between the pair of terminal devices 200A and 200C before establishing a communication session
  • the hollow arrow L2 indicates a communication session between the pair of terminal devices 200A and 200C. It shows the flow of signals exchanged after establishment.
  • the signal flows indicated by the two types of arrows L1 and L2 pass through the routers RA and RB and the network N, respectively.
  • the private IP addresses PIP1 and PIP3 are assigned to the respective terminal devices 200A and 200C, but when the signal travels to the Internet N through the routers RA and RB, they are respectively converted to global IP addresses GIP1 and GIP3. Be done.
  • a connection mediation request S2 is issued to the connection mediation device 100.
  • the connection mediating apparatus 100 having received the connection mediation request S2 determines the global IP address of the terminal apparatus to be the communication destination by referring to the address table T, and transmits the communication destination address to the terminal apparatus 200A as the communication source. Send back.
  • the global IP address GIP3 "xx.5.7.1 (P3)" of the terminal device 200C to be the communication destination is returned to the terminal device 200A of the communication source. Therefore, the terminal device 200A of the communication source makes a communication start request (S5 in FIG. 4) to the terminal device 200C which is the communication destination using this GIP3 “xx.5.7.1 (P3)”.
  • the communication start acceptance confirmation (S6) is transmitted and received between the communication destination session establishment unit 230 in the terminal device 200C as the communication destination and the communication source session establishment unit 230 in the terminal device 200A as the communication source.
  • the communication start request (S5) and the communication start acceptance confirmation (S6) are performed via the signal path indicated by arrow L1 in FIG.
  • communication (S7) is performed between the two terminal devices. This communication (S7) is performed via the signal path shown by arrow L2 in FIG.
  • the signal paths L1 and L2 are all paths passing through the routers RA and RB and the network N. Assuming such a path, the global IP address GIP1 “xx.5.1. It is reasonable to use the global IP address GIP3 “xx.5.7.1 (P3)” as the location address of the terminal device 200C using .1 (P1) ”. That is, a signal (data packet) passing through the signal paths L1 and L2 passes through the routers RA and RB to the outside Internet N, and thus a global IP address is required as a location address of the other party.
  • FIG. 23 is a block diagram showing a form of communication between the terminal devices 200A-200B in the network communication system shown in FIG.
  • the pair of terminal devices 200A and 200C shown in FIG. 22 are connected to the network N via different routers RA and RB, but the pair of terminal devices 200A and 200B shown in FIG. Connected to the network N.
  • the example shown in FIG. 23 is communication between a pair of terminal devices belonging to the same subnet.
  • thin arrows L3 and L5 indicate the flow of signals exchanged between the pair of terminal devices 200A and 200B before establishing a communication session
  • white arrows L4 and L6 indicate the pair of terminal devices 200A.
  • 200B show the flow of signals exchanged after establishing a communication session.
  • the signal flows shown by arrows L3 and L4 both take signal paths through the router RA and the network N
  • the signal flows shown by arrows L5 and L6 are both routers. It will take the signal path in the subnet by RA.
  • the former exits from the subnet to the outside of the router RA (Internet N) and takes a path back to the subnet through the router RA again, while the latter exits to the outside of the router RA (Internet N) Without going through, it will take a path that passes only inside (subnet) of the router RA.
  • the private IP addresses PIP1 “192.168.2.1” and PIP2 “192.168.2.2” are assigned to the terminal devices 200A and 200B, respectively, but when the signal travels to the Internet N through the router RA. Are respectively converted into global IP addresses GIP1 “xx.5. 1 (P1)” and GIP 2 “xx. 5.1.1 (P2)”.
  • the terminal device 200A as the communication source makes a connection mediation request to the connection mediation device 100 in order to access the terminal device 200B as the communication destination. Then, the connection mediation device 100 sends back the global IP address GIP2 “xx. 5.1.1 (P2)” of the terminal device 200B to be the communication destination as the communication destination address. Therefore, using the global IP address GIP2 "xx. 5.1.1 (P2)", the terminal apparatus 200A serving as the communication source sends a communication start request (S5) to the terminal apparatus 200B serving as the communication destination.
  • the communication start acceptance confirmation (S6) is transmitted and received between the communication destination session establishment unit 230 in the terminal device 200B as the communication destination and the communication source session establishment unit 230 in the terminal device 200A as the communication source To be done.
  • the communication start request (S5) and the communication start acceptance confirmation (S6) are performed via the signal path indicated by arrow L3 in FIG.
  • communication (S7) is performed between the two terminal devices. This communication (S7) is performed via the signal path shown by arrow L4 in FIG.
  • the signal paths indicated by the arrows L3 and L4 are problematic in terms of efficient communication. That is, in the example shown in FIG. 23, the communication source terminal device 200A and the communication destination terminal device 200B belong to the same subnet. Therefore, it is not necessary for the signals exchanged between the two to once go out of the router RA and take the path back through the Internet N back to the inside of the router RA. In other words, in the example shown in FIG. 23, it is more efficient to use the signal paths shown by arrows L5 and L6 instead of the signal paths shown by arrows L3 and L4.
  • Such a problem may not only reduce the efficiency of the communication path, but also may develop into a problem in which communication may be interrupted. This is because some routers adopt a setting for rejecting connection when a global IP address is used for communication between terminal devices belonging to the same network. If such a setting is made in the router RA shown in FIG. 23, it is prohibited that the signal passed from the inside to the outside of the router RA comes back inside the router RA.
  • the signal paths L3 and L4 are used for signal exchange between the two terminal devices 200A and 200B.
  • the signal that has once come out may be refused to return to the inside again, and communication may fail.
  • communication between the terminal devices 200A to 200C belonging to different subnets is a route that once outside the router and then enter another router as shown in the communication routes L1 and L2. I have no choice but to On the other hand, as in the example shown in FIG. 23, the communication between the terminal devices 200A-200B belonging to the same subnet, as shown in the communication paths L3 and L4, is once outside the router and then out of the router. It is preferable to take a route passing only inside the router, as shown in communication routes L5 and L6, rather than taking a route back to the inside.
  • the signal is output to the outside of the router, While adopting a method in which communication is performed via the network N, no signal is output to the outside of the router for communication between terminal devices belonging to the same subnet established by the same router, and A method may be employed in which communication using only the route is performed.
  • GIP global IP address
  • PIP private IP address
  • the network communication system according to the first embodiment of the prior application basic invention described in ⁇ 1 comprises a plurality of terminal devices 200A and 200B mutually connectable via a network N, as shown in the block diagram of FIG. And a connection mediation device 100 that mediates the connection between the plurality of terminal devices.
  • Each of the terminal devices 200A and 200B is assigned a terminal ID for mutually identifying the individual terminal devices, and the connection mediating device 100 uses the terminal ID as a communication source terminal device.
  • a process of mediating the connection between the terminal 200A and the terminal device 200B which is the communication destination is executed.
  • each terminal device 200 includes a connection intermediation request unit 210, a communication request reception unit 220, a communication destination session establishment unit 230, a communication start request unit 240, a self address notification unit 250, and a communication source session establishment unit 260.
  • the functions of these components are as already described in ⁇ 1.
  • the connection mediating apparatus 100 has an address table storage unit 110, an address table update unit 120, and a communication destination address reply unit 130, and the functions of these respective components have already been described in ⁇ 1. As I said.
  • the self address notification unit 250 is given from the router together with the global IP address (GIP) on the network as the own location address.
  • GIP global IP address
  • the additional function of notifying the connection mediating apparatus 100 of the private IP address (PIP) is added. For example, in the example shown in FIG.
  • the self address notifying unit 250A in the terminal device 200A notifies the connection mediating device 100 of PIP1 "192.168.2.1” together with GIP1 "xx.5.1.1 (P1)”
  • the self address notification unit 250B in the device 200B notifies the connection mediating device 100 of PIP2 "192.168.2.2” together with GIP2 "xx.5.1.1 (P2)”
  • the self address notification unit 250C in the terminal device 200C The connection mediating apparatus 100 is notified of PIP3 "192.168.10.1” along with GIP3 "xx.5.7.1 (P3)”.
  • the terminal device 200D directly connected to the network N no private IP address is assigned, so only GIP4 "xx.5.8.100" is notified.
  • notification of the global IP address may be performed by transmitting some data packet to the connection mediating apparatus 100.
  • IP is adopted as a communication protocol and a data packet is transmitted
  • the receiving side has a specification that can automatically recognize the global IP address of the transmission source of the data packet.
  • the connection mediating device 100 determines that the location address of the transmission source of the data packet is GIP1 “xx.5.1.1 (P1)”.
  • the self address notification unit 250A in the terminal device 200A describes the self terminal ID "0010” and the PIP1 "192.168.2.1” assigned to the self in the data packet, and uses this as the self address for the connection mediation device 100. You can send it to
  • the address table updating unit 120 in the connection mediating apparatus 100 that has received such a self-address notification supports the terminal IDs “0010”, GIP1 “xx.5.1.1 (P1)”, and PIP1 “192.168.2.1”. Then, update processing to be stored in the address table T is executed. Therefore, to apply the present invention to the first embodiment of the prior invention basic invention shown in FIG. 4, the global IP address (GIP) of each terminal apparatus is used as the location address in the address table storage unit 110 as the terminal ID.
  • the terminal apparatus to which the private IP address (PIP) is notified may be provided with an additional function of storing the private IP address (PIP) in association with the terminal ID while storing the association in association with the terminal IP.
  • FIG. 24 is a diagram showing an example in which both global IP address (GIP) and private IP address (PIP) of each terminal device are stored in the address table in the network communication system shown in FIG.
  • An address table T61 shown in FIG. 24A represents each address by a code, and corresponds to terminal IDs "0010" to "0040" (IDs of the terminal devices 200A to 200D shown in FIG. 21).
  • Global IP addresses GIP1 to GIP4, port numbers P1 to P3, and private IP addresses PIP1 to PIP3 are stored, respectively. Since the terminal device 200D having the terminal ID "0040" is directly connected to the network N without passing through a router, there is no information of port number and PIP.
  • the address table T62 shown in FIG. 24 (b) represents each address in the address table T61 shown in FIG. 24 (a) by a specific numerical example, and is made to correspond to the terminal IDs "0010" to "0040".
  • Global IP addresses “xx.5.1.1”, “xx.5.1.1,” “xx.5.7.1,” “xx.5.8.100”, and port numbers “54701”, “54702”, “61999”.
  • the private IP addresses “192.168.2.1”, “192.168.2.2.2”, and “192.168.10.1” are stored.
  • the communication destination address return unit 130 in the connection mediating apparatus 100 checks the communication destination address with reference to the address table, and returns the communication destination address to the communication source terminal device. Do. At this time, in the case of the embodiment described in ⁇ 1, the communication destination address to be returned is the global IP address of the terminal apparatus to be the communication destination.
  • the private IP address (PIP) together with the global IP address (GIP) as the location address for the terminal device connected via the router. Is also stored. Therefore, according to the contents of the address tables T61 and T62, the communication destination address replying unit 130 according to the present invention returns the global IP address (GIP), the private IP address (PIP), or both as the communication destination address.
  • the communication start request unit 240 in the terminal device 200 can receive the global IP address (GIP) or private IP address (PIP) for the communication destination, or both of them as the communication destination address. Therefore, the communication start request unit 240 according to the present invention has an additional function of performing the communication start request S5 using the global IP address (GIP) or the private IP address (PIP), or both of them. Then, the communication start request unit 240 selectively uses the global IP address (GIP) and the private IP address (PIP) as appropriate according to the network environment between itself and the communication destination. In response to this, the communication start request S5 can be issued.
  • GIP global IP address
  • PIP private IP address
  • the determination as to whether the communication start request S5 is to be made using the global IP address (GIP) or the private IP address (PIP) can be made by comparing the global IP addresses of the communication source and the communication destination. it can. Specifically, when the communication start request unit 240 of the terminal device 200 serving as the communication source has the same global IP address as that of the terminal device serving as the communication destination, the private IP The communication start request S5 may be made using the address (PIP), and if it is a different IP address, the communication start request S5 may be made using the global IP address (GIP).
  • GIP global IP address
  • PIP global IP address
  • an address table T62 as shown in FIG. 24 (b) is stored. Therefore, first, consider a case where the terminal device 200A is the communication source and communication is performed with the terminal device 200C belonging to another subnet as the communication destination. In this case, referring to the address table T62 of FIG. 24 (b), the global IP address "GIP1" of the terminal device 200A (terminal ID "0010") is "xx.5.1.1” while the global IP address "GIP1" is The global IP address "GIP3" of the terminal device 200C (terminal ID "0030”) is "xx.5.7.1", and both are different. Therefore, the communication start request unit 240A of the terminal device 200A serving as the communication source sends a communication start request S5 to "xx.5.7.1” which is the global IP address (GIP3).
  • the communication start request unit 240A of the communication source terminal device 200A makes a communication start request S5 using the global IP address (GIP)
  • the communication destination session establishment unit 230C of the communication destination terminal device 200C thereafter.
  • the communication source session establishing unit 260A of the communication source terminal device 200A are performed using the global IP address (GIP).
  • GIP global IP address
  • the terminal device 200A is the communication source and communication is performed with the terminal device 200B belonging to the same subnet as the communication destination.
  • the global IP address "GIP1" of the terminal device 200A (terminal ID "0010") is "xx.5.1.1”
  • the global IP address "GIP2" of the terminal ID "0020” is also "xx. 5.1.1”, and both are identical. Therefore, the communication start request unit 240A of the terminal device 200A serving as the communication source sends a communication start request S5 to "192.168.2.2", which is the private IP address (PIP2) of the terminal device B serving as the communication destination. .
  • communication (communication not via the network N) using the communication paths L5 and L6 of FIG. 23 is performed.
  • the communication start request unit 240A of the communication source terminal device 200A makes a communication start request S5 using a private IP address (PIP)
  • the communication source session establishment unit 260A of the communication source terminal device 200A are performed using a private IP address (PIP).
  • PIP private IP address
  • a global IP address is used for communication between terminals belonging to different subnets, and a private IP address is used for communication between terminals belonging to the same subnet. Therefore, in the latter case, unnecessary communication paths can be omitted, and communication efficiency can be improved. Also, even when there is a router that is set to reject signal return as described above, communication can be performed without any problem.
  • each of these components can be configured by incorporating a dedicated program into a computer.
  • section 5-2 a method for applying the present invention to the network communication system according to the first embodiment of the prior application basic invention described in section 1 has been described.
  • a method for applying the present invention to the network communication system according to the second embodiment of the prior application basic invention described in ⁇ 2 will be described.
  • the network communication system according to the second embodiment of the prior application basic invention described in ⁇ 2 is, as shown in the block diagram of FIG. 8, a plurality of terminal devices 400A and 400B connectable to each other via a network N; And a connection mediation device 300 which mediates the connection between the plurality of terminal devices.
  • Each of the terminal devices 400A and 400B is assigned a terminal ID for mutually identifying the individual terminal devices, and the connection intermediation device 300 uses the terminal ID as a communication source terminal device.
  • a process of mediating the connection between the terminal 400B and the terminal device 400A that is the communication destination is executed.
  • each terminal device 400 includes a connection mediation request unit 410, a communication request reception unit 420, a communication source session establishment unit 430, a communication start request unit 440, a self address notification unit 450, and a communication destination session establishment unit 460.
  • the functions of these components are as already described in ⁇ 2.
  • the connection mediating apparatus 300 has an address table storage unit 310, an address table update unit 320, and a communication source address transmission unit 330, and the functions of these respective components have already been described in Section 2. As I said.
  • the self address notification unit 450 is given from the router as the own location address together with the global IP address (GIP) on the network.
  • GIP global IP address
  • the additional function of notifying the connection mediating apparatus 300 of the private IP address (PIP) is added. This additional function is similar to the additional function of the self address notification unit 250 described in ⁇ 5-2.
  • the address table updating unit 320 in the connection mediating apparatus 300 that has received such a self address notification associates the terminal ID with the global IP address (GIP) and the private IP address (PIP) in the address table T. Execute the update process to be stored. Therefore, to apply the present invention to the second embodiment of the prior invention basic invention shown in FIG. 8, in the address table storage unit 310, the global IP address (GIP) of each terminal apparatus as the location address is used as the terminal ID.
  • the terminal apparatus to which the private IP address (PIP) is notified may be provided with an additional function of storing the private IP address (PIP) in association with the terminal ID while storing the association in association with the terminal IP.
  • An example of such an address table is as described above with reference to FIG.
  • the communication source address transmission unit 330 in the connection mediating apparatus 300 checks the communication destination address with reference to the address table, and transmits the communication source address to the communication destination terminal device. I do.
  • the communication source address to be transmitted is the global IP address of the terminal apparatus as the communication source.
  • the private IP address (PIP) together with the global IP address (GIP) as the location address for the terminal device connected via the router. Is also stored. Therefore, according to the contents of the address tables T61 and T62, the communication source address transmission unit 330 according to the present invention transmits the global IP address (GIP), the private IP address (PIP), or both as the communication source address. Provide the additional functions that
  • the communication start request unit 440 in the terminal device 400 can receive the global IP address (GIP) or private IP address (PIP) for the communication source, or both of them as the communication source address. Therefore, the communication start request unit 440 according to the present invention has an additional function of performing the communication start request S15 using the global IP address (GIP) or the private IP address (PIP) or both of them. Then, the communication start request unit 440 selectively uses the global IP address (GIP) and the private IP address (PIP) according to the network environment between itself and the communication source, as appropriate. In response to this, the communication start request S15 can be issued.
  • GIP global IP address
  • PIP private IP address
  • the determination as to whether the communication start request S15 is to be made using the global IP address (GIP) or the private IP address (PIP) is the same as the example described in 5-25-2, the communication source and the communication destination This can be done by comparing the global IP address of. Specifically, when the communication start request unit 440 of the terminal device 400 serving as the communication destination has the same global IP address as that of the terminal device serving as the communication source, the private IP The communication start request S15 may be made using the address (PIP), and if it is a different IP address, the communication start request S15 may be made using the global IP address (GIP).
  • the specific communication form when such an operation is performed is the same as that described in the example shown in FIG. 21 in 215-2.
  • the terminal devices 200A to 200D according to the first embodiment shown in FIG. 21 are replaced with the terminal devices 400A to 400D according to the second embodiment, respectively,
  • the connection mediating apparatus 300 according to the second embodiment may be replaced with 100.
  • the parenthesized symbols are the ones subjected to such substitution.
  • an address table T62 as shown in FIG. 24 (b) is stored.
  • the terminal device 400B replacement of 200B in FIG. 21
  • the terminal device 400C replacement of 200C in FIG. 21
  • the global IP address "GIP2" of the terminal device 400B (terminal ID "0020") is "xx.5.1.1” while the global IP address "GIP2”
  • the global IP address "GIP3" of the terminal device 400C (terminal ID "0030") is "xx.5.7.1”, and both are different. Therefore, the communication start request unit 440 of the terminal device 400C serving as the communication destination starts communication with "xx.5.1.1 (P2)" which is the global IP address (GIP2) of the terminal device 400B serving as the communication source. It will make a request S15.
  • the communication start request unit 440 of the communication destination terminal device 400C makes a communication start request S15 using the global IP address (GIP)
  • the communication source session establishing unit 430B of the communication source terminal device 400B are performed using the global IP address (GIP).
  • GIP global IP address
  • the terminal device 400B (replacement of 200B in FIG. 21) is the communication source, and communication is performed with the terminal device 400A (replacement of 200A in FIG. 21) belonging to the same subnet as the communication destination. think of.
  • the global IP address "GIP2" of the terminal device 400B (terminal ID "0020") is "xx.5. 1.”
  • the global IP address “GIP1” of the terminal ID “0010” is also “xx.5.1.1”, and both are identical. Therefore, the communication start request unit 440A of the terminal device 400A that is the communication destination sends a communication start request S15 to "192.168.2.2", which is the private IP address (PIP2).
  • PIP2 private IP address
  • the communication start request unit 440A of the communication destination terminal device 400A makes a communication start request S15 using a private IP address (PIP)
  • the communication source session establishment unit 430B of the communication source terminal device 400B is performed using a private IP address (PIP).
  • PIP private IP address
  • the global IP address is used for communication between the terminal devices belonging to different subnets, and the terminal devices belonging to the same subnet
  • the private IP address will be used for communication between them. Therefore, in the latter case, unnecessary communication paths can be omitted, and communication efficiency can be improved. Also, even when there is a router that is set to reject signal return as described above, communication can be performed without any problem.
  • each of these components can be configured by incorporating a dedicated program into a computer.
  • GIP global IP address
  • PIP private IP address
  • the first approach is "approach in which the connection mediating apparatus performs GIP / PIP selection".
  • the connection mediation device refers to the address table and transmits the communication destination address or the communication source address to the terminal device.
  • GIP It is sufficient to select which of / PIP to send. For example, it is determined whether or not the global IP address of the communication source and the communication destination is the same with reference to the address table T62 as shown in FIG. If different, send a global IP address (GIP). Then, the terminal device makes a communication start request using the transmitted address as it is.
  • GIP global IP address
  • the determination as to which one of GIP and PIP is to be selected as the address used for the communication start request is left to the connection mediating apparatus, and the connection mediating apparatus selects only one of the selected addresses.
  • the terminal device makes a communication start request using the transmitted address as it is.
  • the second approach is “approach in which the terminal device performs GIP / PIP selection”.
  • the connection mediation device refers to the address table and transmits the communication destination address or the communication source address to the terminal device.
  • the address table for the address to be sent is If only GIP is stored in, only GIP may be transmitted, and if both GIP and PIP are stored, both of them may be transmitted.
  • the connection mediating device transmits the transmission target address stored in the address table as it is to the terminal device without determining which one of GIP and PIP is to be selected.
  • the terminal device makes a communication start request using the GIP when the address received is GIP only, but when receiving the transmission of both GIP and PIP, the terminal device transmits its own GIP and transmission By comparing with the received GIP (the GIP of the other party), it is selected which communication start request is to be made. That is, if the own GIP and the sent GIP are the same, it is determined that the other party exists in the same subnet as the own, and a communication start request is made using the other party's private IP address (PIP) Make it On the other hand, if the own GIP and the sent GIP are different, it is determined that the other party exists in a different subnet from the own, and communication is started using the other party's global IP address (GIP) Make a request.
  • GIP global IP address
  • the third approach is "approach to try on GIP at the time of PIP failure". In the third approach, it is not determined which one of GIP and PIP is to be selected as the address used for the communication start request.
  • the connection mediation device refers to the address table and transmits the communication destination address or the communication source address to the terminal device. At this time, the address table for the address to be sent is If only GIP is stored in, only GIP may be transmitted, and if both GIP and PIP are stored, both of them may be transmitted. That is, as in the second approach described above, the connection mediating device transmits the transmission target address stored in the address table as it is to the terminal device without determining which of GIP / PIP to select. become.
  • the terminal device When the address received from the terminal device is only GIP, the terminal device makes a communication start request using the GIP. On the other hand, when the transmitted address is both GIP and PIP, the terminal device first tries a communication start request using PIP, and determines that the communication start request using this PIP has failed. If it is predicted or a failure is expected, GIP is used to make a communication start request.
  • this third approach when the terminal device receives both GIP / PIP transmissions without determining whether GIP / PIP is selected as the address to be used for the communication start request, first of all, You will have to try the PIP and if it fails or if you expect a failure try the GIP.
  • the specific procedure of this third approach is described in detail in Examples 5 and 6 in ⁇ 8 described later.
  • connection mediation device performs GIP / PIP selection
  • the embodiment described in Section 6 adopts an approach of entrusting the determination of which of GIP / PIP is to be selected as the address used for the communication start request to the connection mediation device.
  • the connection mediating apparatus transmits only one of the selected addresses to the terminal apparatus, and the terminal apparatus makes a communication start request using the transmitted address as it is.
  • FIG. 4 An example applied to FIG. 8 will be described as a second embodiment.
  • various modifications described in ⁇ 3 and 44 can also be applied to the first and second embodiments described below.
  • Example 1 Here, Example 1 of the present invention will be described. In this first embodiment, an additional function is added to some of the components of the first embodiment of the prior invention basic invention described in 1 1 and an approach in which the connection mediating apparatus performs GIP / PIP selection is described. It is what to adopt.
  • the configuration of the network communication system according to the first embodiment is basically the same as the configuration of the first embodiment of the basic application of the prior application shown in FIG. 4, but as described in 5-25-2, Additional functions have been added to some components.
  • the self-address notifying unit 250 of each terminal device 200 uses the router as well as the global IP address (GIP) on the network as its own location address.
  • GIP global IP address
  • An additional function of notifying the connection intermediation apparatus 100 of the private IP address (PIP) assigned from the above is added.
  • an address table T61 in which a private IP address (PIP) is associated with a terminal ID is stored together with a global IP address (GIP) in the address table storage unit 110 in the connection mediation device 100. There is.
  • the communication destination address reply unit 130 shown in FIG. 4 is stored in the address table storage unit 110 when the connection intermediation request S2 is transmitted from the terminal device 200A of the communication source.
  • the global IP address (GIP) associated with the terminal ID "0010" of the terminal apparatus 200A of the communication source that transmitted the connection mediation request S2 It is determined whether or not the global IP address (GIP) associated with the terminal ID "0020" specified by the destination specifying information is the same IP address, and both of the judgment target are the same IP address If it is the case, the private IP address (PIP) is returned as the selected communication destination address, and the two to be judged are different I If the address returns the global IP address (GIP) as a selected destination address. Then, the communication start request unit 240A that has received such a reply makes a communication start request S5 using the returned selected communication destination address as it is.
  • the address table storage unit 110 stores an address table T62 as shown in FIG. 24 (b).
  • the connection mediation request S2 is made with the terminal device 200A as the communication source and the terminal device 200C as the communication destination, global IPs of the communication source (terminal ID "0010") and the communication destination (terminal ID "0030") Since the address (GIP) is different, the communication destination address reply unit 130 sends back the global IP address “xx.5.7.1” of the communication destination as the selected communication destination address (in fact, the port number is also sent back together)
  • the communication source terminal device 200A sends a communication start request S5 to the communication destination terminal device 200C using the selected communication destination address "xx.5.7.1".
  • communication via the network N is performed between the terminal devices 200A to 200C.
  • the connection mediation request S2 is made with the terminal device 200A as the communication source and the terminal device 200B as the communication destination
  • the communication source terminal ID "0010”
  • the communication destination terminal ID "0020”
  • the communication destination address reply unit 130 returns the private IP address "192.168.2.2" of the communication destination as the selected communication destination address.
  • the communication source terminal device 200A sends a communication start request S5 to the communication destination terminal device 200B using this selected communication destination address "192.168.2.2".
  • communication between the terminal devices 200A-200B is performed within the same subnet without going through the network N.
  • FIG. 25 is a diagram showing the flow of inter-apparatus signals for the first embodiment.
  • FIG. 21 shows an example in which four terminal devices 200A to 200D are connected in their own network environment, here, in order to perform a more generalized description, the terminal device of the communication source Is called 200X, and the terminal apparatus of the communication destination is called 200Y, both of which are connected to the network N via a router.
  • the vertical line arranged at the left end indicates the communication source terminal apparatus 200X
  • the vertical line arranged at the center indicates the connection mediation apparatus 100
  • the vertical line arranged at the right end indicates the communication destination terminal apparatus 200Y.
  • each vertical line indicates a time axis going from the top to the bottom, and in the following, the flow of each signal will be described in order along this time axis.
  • GIP global IP address
  • PIP private IP address
  • the communication source terminal device 200X sends a self address notification SOX to the connection mediating device 100.
  • This is a process performed by the self address notifying unit 250 in the communication source terminal device 200X, and as described above, both GIP and PIP of the communication source terminal device 200X are notified.
  • self-address notification S0Y is performed from the communication destination terminal device 200Y to the connection mediating device 100.
  • This is a process performed by the own address notification unit 250 in the communication destination terminal device 200Y, and as described above, both GIP and PIP of the communication destination terminal device 200Y are notified.
  • FIG. 25 shows an example in which the self address notification S0Y is performed from the communication destination terminal device 200Y after the self address notification S0X is performed from the communication source terminal device 200X.
  • the self address notification from each terminal device is performed at a predetermined timing, and the order of the self address notifications S0X and S0Y may be reversed or may be simultaneous. Also, at this preparation stage, it is not yet decided which one will be the communication source and which one will be the communication destination. By this preparation step, both the GIP and PIP of both terminal devices 200X and 200Y are stored in the address table in the connection mediating apparatus 100.
  • a communication request S1 is made to the terminal device 200X with the terminal device 200Y as the communication destination.
  • the procedure for performing communication with the terminal device 200X as the communication source and the terminal device 200Y as the communication destination is started.
  • a connection mediation request S2 including the terminal ID of the communication destination terminal device 200Y is made from the communication source terminal device 200X to the connection mediation device 100.
  • the connection mediating apparatus 100 that has received the connection mediation request S2 performs processing S3 for referring to the address table, and recognizes the location address of the communication destination terminal device 200Y as the communication destination address.
  • the communication destination address reply unit 130 in the connection mediation device 100 selects one of GIP and PIP as the selected communication destination address, and sends back the selected communication destination address to the communication source terminal 200X. Perform S4.
  • the communication destination address reply S4 includes either one of the GIP and PIP of the communication destination terminal device 200Y as a selected communication destination address. As described above, in the first embodiment, an approach in which the connection mediation device 100 performs GIP / PIP selection is employed.
  • the communication destination address reply unit 130 selects the GIP / PIP is as described above. That is, the communication destination address reply unit 130 determines whether the GIP of the communication source and the communication destination is the same IP address by referring to the address table, and both of the judgment targets are the same IP address. In some cases, the PIP is returned as the selected communication destination address, and when both of the judgment targets are different IP addresses, the GIP is returned as the selected communication destination address.
  • the communication start request unit 240 in the communication source terminal device 200X that has received the response of the selected communication destination address uses the returned selected communication destination address as it is, and transmits a communication start request S5 to the communication destination terminal device 200Y.
  • the communication destination session establishment unit 230 in the communication destination terminal device 200Y having received the communication start request S5 similarly uses the GIP when the communication start request S5 is performed by the GIP to the communication source terminal device 200X.
  • the communication start acceptance confirmation S6 is performed, and when the communication start request S5 is made by the PIP, the communication start acceptance confirmation S6 is performed using the PIP as well.
  • the communication S7 between the terminal devices 200X-200Y is also performed using GIP when the communication start request S5 is performed by GIP, and is also performed PIP when the communication start request S5 is performed by PIP. It will be done using.
  • Example 2 Subsequently, Example 2 of the present invention will be described.
  • an additional function is added to some of the components of the second embodiment of the prior invention basic invention described in ⁇ 2 and an approach in which the connection mediating apparatus performs GIP / PIP selection is used. It is what to adopt.
  • the configuration of the network communication system according to the second embodiment is basically the same as the configuration of the second embodiment of the basic application of the prior application shown in FIG. 8, but as described in 5-35-3, Additional functions have been added to some components.
  • the self-address notification unit 450 of each terminal device 400 uses the router as the local IP address (GIP) on the network as its own location address.
  • GIP local IP address
  • An additional function of notifying the connection intermediation apparatus 300 of the private IP address (PIP) assigned from the above is added.
  • the address table storage unit 310 in the connection mediation device 300 stores an address table T61 in which a private IP address (PIP) is associated with a terminal ID together with a global IP address (GIP). There is.
  • the communication source address transmission unit 330 shown in FIG. 8 is stored in the address table storage unit 310 when the connection mediation request S12 is transmitted from the communication source terminal device 400B.
  • the global IP address (GIP) associated with the terminal ID "0020" of the terminal apparatus 400B of the communication source that transmitted the connection mediation request S12, and the communication included in the connection mediation request S12 It is determined whether or not the global IP address (GIP) associated with the terminal ID "0010" specified by the destination identification information is the same IP address, and both of the judgment target are the same IP address If it is, the private IP address (PIP) is sent as the selected communication source address, and the two to be judged are different.
  • IP address If it is that IP address, it transmits a global IP address (GIP) as a selected communication source address. Then, the communication start request unit 440A that has received such a transmission makes a communication start request S15 using the transmitted selected communication source address as it is.
  • GIP global IP address
  • each of the terminal devices 200A to 200D according to the first embodiment shown in FIG. 21 is replaced with the terminal devices 400A to 400D according to the second embodiment, respectively.
  • the connection mediating apparatus 300 according to the second embodiment is replaced (the replaced code is shown in parentheses in FIG. 21), the connection mediating apparatus 300 is shown in FIG.
  • Such an address table T62 is to be stored.
  • the connection mediation request S12 is performed with the terminal device 400B as the communication source and the terminal device 400C as the communication destination
  • the global IP of the communication source terminal ID "0020”
  • the communication destination terminal ID "0030”
  • the communication source address transmission unit 330 transmits the global IP address “xx.5.1.1” of the communication source as the selected communication source address.
  • the communication destination terminal device 400C sends a communication start request S15 to the communication source terminal device 400B using the selected communication source address "xx.5.1.1".
  • communication via the network N is performed between the terminal devices 400B and 400C.
  • the connection mediation request S12 is made with the terminal device 400B as the communication source and the terminal device 400A as the communication destination, the communication source (terminal ID "0020") and the communication destination (terminal ID "0010") Since the global IP address (GIP) is the same, the communication source address transmission unit 330 transmits the private IP address “192.168.2.2” of the communication source as the selected communication source address. As a result, the communication destination terminal device 400A sends a communication start request S15 to the communication source terminal device 400B using this selected communication source address "192.168.2.2". Thus, communication between the terminal devices 400A and 400B in the same subnet is performed without the network N.
  • FIG. 26 is a diagram showing the flow of inter-apparatus signals for the second embodiment.
  • the terminal device of the communication source is referred to as 400X
  • the terminal device of the communication destination is referred to as 400Y, both of which are connected to the network N via the router.
  • the vertical line arranged at the left end indicates the communication source terminal device 400X
  • the vertical line arranged at the center indicates the connection mediation device 300
  • the vertical line arranged at the right end indicates the communication destination terminal device 400Y.
  • each vertical line indicates a time axis going from the top to the bottom, and in the following, the flow of each signal will be described in order along this time axis.
  • the global IP address is abbreviated as "GIP”
  • the private IP address is abbreviated as "PIP”.
  • the communication source terminal device 400X sends a self address notification SOX to the connection transfer device 300.
  • This is a process performed by the own address notification unit 450 in the communication source terminal device 400X, and as described above, both GIP and PIP of the communication source terminal device 400X are notified.
  • self-address notification S0Y is performed from the communication destination terminal device 400Y to the connection transfer device 300.
  • This is a process performed by the own address notification unit 450 in the communication destination terminal device 400Y, and as described above, both the GIP and the PIP of the communication destination terminal device 400Y are notified.
  • the self address notification from each terminal device is performed at a predetermined timing, and the order of the self address notifications S0X and S0Y may be reversed, or may be simultaneous. There is also. Also, at this preparation stage, it is not yet decided which one will be the communication source and which one will be the communication destination. By this preparation step, both the GIP and PIP of both terminal devices 400X and 400Y are stored in the address table in the connection mediation device 300.
  • a communication request S11 is made to the terminal device 400X with the terminal device 400Y as the communication destination.
  • the procedure for performing communication with the terminal device 400X as the communication source and the terminal device 400Y as the communication destination is started.
  • a connection mediation request S12 including the terminal ID of the communication destination terminal device 400Y is made from the communication source terminal device 400X to the connection mediation device 300.
  • the connection mediating apparatus 300 having received the connection mediating request S12 performs processing S13 for referring to the address table, grasps the location address of the communication destination terminal apparatus 400Y as the communication destination address, and communicates the location address of the communication source terminal apparatus 400X. Understand as the original address.
  • the communication source address transmission unit 330 in the connection mediation device 300 selects either GIP or PIP as the selected communication source address, and transmits the selected communication source address to the communication destination terminal device 400Y. Perform S14.
  • the communication source address transmission S14 includes either one of the GIP and the PIP of the communication source terminal 400X as the selected communication source address.
  • the algorithm for the communication source address transmission unit 330 to select GIP / PIP is as described above. That is, the communication source address transmission unit 330 determines whether the GIPs of the communication source and the communication destination are the same IP address by referring to the address table, and both of the judgment targets are the same IP address. In some cases, the PIP is transmitted as the selected communication source address, and when both of the judgment target are different IP addresses, the GIP is transmitted as the selected communication source address.
  • the communication start request unit 440 in the communication destination terminal device 400Y that has received the transmission of the selected communication source address uses the transmitted selected communication source address as it is, and transmits a communication start request S15 to the communication source terminal device 400X. Do. That is, when GIP is transmitted, communication start request S15 is performed using GIP, and when PIP is transmitted, communication start request S15 is performed using PIP.
  • the communication source session establishment unit 430 in the communication source terminal device 400X having received the communication start request S15 also uses the GIP when the communication start request S15 is performed by the GIP to the communication destination terminal device 400Y.
  • the communication start acceptance confirmation S16 is performed, and when the communication start request S15 is made by the PIP, the communication start acceptance confirmation S16 is performed using the same PIP.
  • the communication S17 between the terminal devices 400X-400Y is also performed using GIP when the communication start request S15 is performed by GIP, and is also performed when the communication start request S15 is performed by PIP. It will be done using.
  • Example 3 adds an additional function to some of the components of the first embodiment of the prior invention basic invention described in 11, and adopts an approach in which the terminal device performs GIP / PIP selection. It is The configuration of the network communication system according to the third embodiment is basically the same as the configuration of the first embodiment of the basic application of the prior application shown in FIG. 4, but as described in 5-25-2, Additional functions have been added to some components.
  • the self-address notifying unit 250 of each terminal device 200 uses the router as well as the global IP address (GIP) on the network as its own location address.
  • GIP global IP address
  • An additional function of notifying the connection intermediation apparatus 100 of the private IP address (PIP) assigned from the above is added.
  • an address table T61 in which a private IP address (PIP) is associated with a terminal ID is stored together with a global IP address (GIP) in the address table storage unit 110 in the connection mediation device 100. There is.
  • the communication destination address replying unit 130 shown in FIG. 4 has a global IP address as a location address to be sent back when the connection mediation request S2 is transmitted from the terminal device 200A of the communication source.
  • GIP global IP address
  • PIP private IP address
  • the communication start request unit 240A receives the global IP address (GIP) returned as the communication destination address and the global IP address (GIP) of the communication source as the communication destination address when both addresses are returned. It is determined whether or not the IP address is the same, and if both of the judgment target are the same IP address, the private IP address (PIP) is used to make a communication start request S5, and the judgment is made. If the two are different IP addresses, the global IP address (GIP) is used to make a communication start request S5. Of course, when only the GIP is returned, the communication start request S5 may be made using the GIP.
  • GIP global IP address
  • GIP global IP address
  • the address table storage unit 110 stores an address table T62 as shown in FIG. 24 (b).
  • the communication destination address replying unit 130 transmits the global IP address “xx.5.7” for the communication destination terminal device 200C. .1 (P3) "(address with port number) and private IP address" 192.168.10.1 "are returned as communication destination addresses.
  • the communication start request unit 240A of the communication source terminal device 200A that has received such a reply of both addresses is the global IP address “xx.5.7.1” of the communication destination terminal device 200C that has been sent back and the self that is the communication source It is determined whether or not the global IP address “xx.5.1.1” is the same IP address.
  • the communication start request unit 240A inquires of the router RA in advance about the global IP address “xx. 5.1.1” of its own, and this may be stored.
  • the communication start request unit 240A determines that the global IP address “ A communication start request S5 is issued to the communication destination terminal device 200C using “xx.5.7.1 (P3)”. Thus, communication via the network N is performed between the terminal devices 200A to 200C.
  • the communication destination address reply unit 130 transmits the global IP address “xx” for the communication destination terminal device 200B. .5.1.1 (P2) "(address with port number) and private IP address" 192.168.2.2 "are returned as the communication destination address.
  • the communication start request unit 240A of the communication source terminal device 200A that has received such a reply of both addresses has the global IP address "xx.5.1.1” of the communication destination terminal device 200B that has been sent back and the self that is the communication source It is determined that the global IP address “xx.5.1.1” of the same is the same IP address, and the communication start request S5 is sent to the communication destination terminal device 200B using the private IP address “192.168.2.2”. Do. Thus, communication between the terminal devices 200A-200B is performed within the same subnet without going through the network N.
  • FIG. 27 is a diagram showing the flow of inter-apparatus signals for the third embodiment.
  • the form of this diagram is similar to that of the diagram shown in FIG. First, as processing in the preparation stage, the communication source terminal device 200X sends a self address notification SOX to the connection mediating device 100, and both GIP and PIP are notified. Similarly, self-address notification S0Y is performed from the communication destination terminal device 200Y to the connection mediating device 100, and both GIP and PIP are notified.
  • the process of this preparation stage is exactly the same as the process of the preparation stage of the diagram shown in FIG. 25, and according to this preparation stage, the address table in the connection mediating apparatus 100 contains GIP and PIP of both terminals 200X and 200Y. Both will be stored.
  • terminal device 200D As for the terminal device 200D shown in FIG. 21, only the GIP is stored in the address table for a terminal device directly connected to the network N without a router, but hereinafter both terminal devices 200X and 200Y will be described. , GIP and PIP will be described on the basis of storing both.
  • a communication request S1 is made to the terminal device 200X with the terminal device 200Y as the communication destination.
  • the procedure for performing communication with the terminal device 200X as the communication source and the terminal device 200Y as the communication destination is started.
  • a connection mediation request S2 including the terminal ID of the communication destination terminal device 200Y is made from the communication source terminal device 200X to the connection mediation device 100.
  • the connection mediating apparatus 100 that has received the connection mediation request S2 performs processing S3 for referring to the address table, and recognizes the location address of the communication destination terminal device 200Y as the communication destination address.
  • the communication destination address replying unit 130 in the connection mediation device 100 performs communication destination address reply S4 of notifying both the GIP and the PIP as the communication destination address to the communication source terminal device 200X (of course, For terminals not included, only GIP is sent back).
  • the connection mediating apparatus 100 does not select the GIP / PIP.
  • the communication start request unit 240 in the communication source terminal device 200X that has received the reply of the communication destination address including both GIP and PIP selects one of GIP and PIP as an address used for the communication start request S5 Selection S4 'is performed (of course, when only GIP is returned, selection is unnecessary).
  • the algorithm for the communication start request unit 240 to select the GIP / PIP is as described above. That is, the communication start request unit 240 determines whether the GIP returned as the communication destination address and its own GIP are the same IP address, and if both are the same IP address, the PIP The communication start request S5 is made using the above, and when both are different IP addresses, the communication start request S5 is made using GIP.
  • the communication destination session establishment unit 230 in the communication destination terminal device 200Y having received the communication start request S5 similarly uses the GIP when the communication start request S5 is performed by the GIP to the communication source terminal device 200X.
  • the communication start acceptance confirmation S6 is performed, and when the communication start request S5 is made by the PIP, the communication start acceptance confirmation S6 is performed using the PIP as well.
  • the communication S7 between the terminal devices 200X-200Y is also performed using GIP when the communication start request S5 is performed by GIP, and is also performed PIP when the communication start request S5 is performed by PIP. It will be done using.
  • Example 4 adds an additional function to some of the components of the second embodiment of the basic application invention described in ⁇ 2 and adopts an approach in which the terminal device performs GIP / PIP selection. It is The configuration of the network communication system according to the fourth embodiment is basically the same as the configuration of the second embodiment of the basic application of the prior application shown in FIG. 8, but as described in 5-35-3, Additional functions have been added to some components.
  • the self-address notification unit 450 of each terminal device 400 uses the router as the local IP address (GIP) on the network as its own location address.
  • GIP local IP address
  • An additional function of notifying the connection intermediation apparatus 300 of the private IP address (PIP) assigned from the above is added.
  • the address table storage unit 310 in the connection mediation device 300 stores an address table T61 in which a private IP address (PIP) is associated with a terminal ID together with a global IP address (GIP). There is.
  • the communication source address transmission unit 330 shown in FIG. 8 is stored in the address table storage unit 310 when the connection mediation request S12 is transmitted from the terminal device 400B of the communication source. If both global IP address (GIP) and private IP address (PIP) addresses are stored in the address table as the address to be sent with reference to the address table, both addresses are sent as the communication source address Do.
  • GIP global IP address
  • PIP private IP address
  • the communication start request unit 440A receives the global IP address (GIP) transmitted as the communication source address and the global IP address (GIP) of the communication destination itself when the two addresses are transmitted. It is determined whether or not the IP addresses are the same, and if both of the determination target are the same IP address, the private IP address (PIP) is used to make a communication start request S15, and the determination becomes the determination target. If the two are different IP addresses, the global IP address (GIP) is used to make a communication start request S15. Of course, when only the GIP is transmitted, the communication start request S5 may be performed using the GIP.
  • GIP global IP address
  • GIP global IP address
  • each of the terminal devices 200A to 200D according to the first embodiment shown in FIG. 21 is replaced with the terminal devices 400A to 400D according to the second embodiment, respectively.
  • the connection mediating apparatus 300 according to the second embodiment is replaced (the replaced code is shown in parentheses in FIG. 21), the connection mediating apparatus 300 is shown in FIG.
  • Such an address table T62 is to be stored.
  • the communication source address transmission unit 330 sets the global IP address “xx. 1 (P2) ”(address with port number) and the private IP address“ 192.168.2.2 ”are transmitted to the communication destination terminal device 400C as the communication source address.
  • the communication start request unit 440 of the communication destination terminal device 400C receives the transmitted global IP address "xx.5.1.1" of the communication source terminal device 400B and the communication destination terminal device 400B that is the communication destination. It is determined whether or not the global IP address "xx.5.7.1” of is the same IP address.
  • the communication start request unit 440 may make an inquiry to the router RB in advance and store this for the own global IP address “xx.5.7.1”. In the above example, the global IP address “xx.5.1.1” of the communication source and the global IP address “xx.5.7.1” of the communication destination are different, so the communication start request unit 440 of the communication destination terminal device 400C. Makes a communication start request S15 to the communication source terminal device 200B using the global IP address “xx.5.1.1 (P2)”. Thus, communication via the network N is performed between the terminal devices 400B and 400C.
  • the communication source address transmission unit 330 determines that the global IP address “xx. 5.1.1 (P2) (the address with the port number) and the private IP address "192.168.2.2" are transmitted to the communication destination terminal device 400A as the communication source address.
  • the communication start request unit 440 of the communication destination terminal device 400A that has received such both addresses transmits the global IP address “xx.5.1.1” of the communication source terminal device 400B that has been transmitted, It is determined whether or not the global IP address “xx.5.1.1” is the same IP address.
  • the communication start request unit 440 inquires of the router RA in advance about the global IP address “xx. 5.1.1” of its own, and this may be stored. In the above example, since the global IP address “xx.5.1.1” of the communication source and the global IP address “xx.5. 1” of the communication destination are the same, the communication start request unit 440 sets the private IP address “192.168.
  • a communication start request S15 is issued to the communication source terminal device 400B using 2.2. Thus, communication between the terminal devices 400A and 400B in the same subnet is performed without the network N.
  • FIG. 28 is a diagram showing the flow of inter-apparatus signals for the fourth embodiment.
  • the form of this diagram is similar to that of the diagram shown in FIG. First, as processing in the preparation stage, the communication source terminal device 400X sends a self address notification SOX to the connection mediating device 300 to notify both GIP and PIP. Similarly, self-address notification S0Y is performed from the communication destination terminal device 400Y to the connection transfer device 300, and both GIP and PIP are notified.
  • the process of this preparation stage is exactly the same as the process of the preparation stage of the diagram shown in FIG. 26, and according to this preparation stage, in the address table in the connection mediating apparatus 300, GIP and PIP of both terminals 400X and 400Y. Both will be stored.
  • terminal device 400D shown in FIG. 21 only the GIP is stored in the address table for the terminal device directly connected to the network N without a router, but hereinafter both terminal devices 400X and 400Y , GIP and PIP will be described on the basis of storing both.
  • a communication request S11 is made to the terminal device 400X with the terminal device 400Y as the communication destination.
  • the procedure for performing communication with the terminal device 400X as the communication source and the terminal device 400Y as the communication destination is started.
  • a connection mediation request S12 including the terminal ID of the communication destination terminal device 400Y is made from the communication source terminal device 400X to the connection mediation device 300.
  • the connection mediating apparatus 300 having received the connection mediating request S12 performs processing S13 for referring to the address table, grasps the location address of the communication destination terminal apparatus 400Y as the communication destination address, and communicates the location address of the communication source terminal apparatus 400X. Understand as the original address.
  • the communication source address transmission unit 330 in the connection mediation device 300 performs communication source address reply S14 of notifying both the GIP and PIP as the communication source address to the communication destination terminal device 400Y (of course, in the address table For terminals that include only GIP, only GIP is sent).
  • the communication source address reply S14 includes both the GIP address and the PIP address of the communication source terminal device 400X as the communication source address.
  • the connection mediating apparatus 300 does not select the GIP / PIP.
  • the communication start request unit 440 in the communication destination terminal device 400Y having received the transmission of the communication source address including both GIP and PIP selects one of GIP and PIP as the address used for the communication start request S15. Selection S14 'is performed (of course, when only GIP is transmitted, selection is unnecessary).
  • the algorithm for the communication start request unit 440 to select the GIP / PIP is as described above. That is, the communication start request unit 440 determines whether the GIP transmitted as the communication source address and the own GIP are the same IP address, and if both are the same IP address, the PIP The communication start request S15 is made using the above, and if both are different IP addresses, the communication start request S15 is made using the GIP.
  • the communication source session establishment unit 430 in the communication source terminal device 400X having received the communication start request S15 also uses the GIP when the communication start request S15 is performed by the GIP to the communication destination terminal device 400Y.
  • the communication start acceptance confirmation S16 is performed, and when the communication start request S15 is made by the PIP, the communication start acceptance confirmation S16 is performed using the same PIP.
  • the communication S17 between the terminal devices 400X-400Y is also performed using GIP when the communication start request S15 is performed by GIP, and is also performed when the communication start request S15 is performed by PIP. It will be done using.
  • Section 6 describes the first and second embodiments which adopt an approach of entrusting the determination of which of GIP / PIP to select as the address used for the communication start request to the connection mediating apparatus, and section 7 the terminal apparatus concerned with the determination.
  • the third and fourth embodiments have been described which adopt an approach that is entrusted to. Therefore, in this ⁇ ⁇ 8, an embodiment will be described which takes an approach of not making a determination for selecting GIP / PIP.
  • the connection mediating apparatus transmits both of the GIP / PIP to the terminal apparatus for the location address having both.
  • Example 5 Here, Example 5 of the present invention will be described.
  • additional functions are added to some of the components of the first embodiment of the prior invention basic invention described in ⁇ 1.
  • the approach is to adopt the approach of trying GIP if it fails.
  • the configuration of the network communication system according to the fifth embodiment is basically the same as the configuration of the first embodiment of the basic application of the prior application shown in FIG. 4, but as described in 5-25-2, Additional functions have been added to some components.
  • the self-address notifying unit 250 of each terminal device 200 uses the router as well as the global IP address (GIP) on the network as its own location address.
  • GIP global IP address
  • An additional function of notifying the connection intermediation apparatus 100 of the private IP address (PIP) assigned from the above is added.
  • an address table T61 in which a private IP address (PIP) is associated with a terminal ID is stored together with a global IP address (GIP) in the address table storage unit 110 in the connection mediation device 100. There is.
  • the communication destination address replying unit 130 shown in FIG. When both (GIP) and private IP address (PIP) addresses are stored in the address table, both addresses are returned as the communication destination address. Of course, for a terminal apparatus whose address table contains only GIP, only GIP is returned.
  • the communication start request unit 240A first tries a communication start request S5 using a private IP address (PIP), and it is determined that this communication start request S5 fails. If a failure or a failure is expected, a communication start request S5 'using a global IP address (GIP) is made. Of course, when only the GIP is returned, the communication start request S5 using the GIP may be performed from the beginning.
  • PIP private IP address
  • GIP global IP address
  • the communication start request unit 240 performs the communication start request S5 using the private IP address (PIP). After that, when the communication start acceptance confirmation S6 is not transmitted from the terminal apparatus 200 of the communication destination within a predetermined time-out time, it is possible to adopt a method of judging that the communication start request S5 using PIP has failed. .
  • the communication start request S5 using the PIP is made before the communication start request S5 using the PIP is actually made.
  • the communication start request S5 'using GIP may be issued after giving up.
  • the failure prediction of the communication start request S5 using PIP checks whether the PIP used to perform the communication start request S5 is within the range of the private address assigned to the subnet to which it is connected. It can be done by That is, if the PIP used to make the communication start request S5 is out of the address range of the subnet, a failure can be predicted before actually making the communication start request S5 using the PIP.
  • the address table storage unit 110 stores an address table T62 as shown in FIG. 24 (b).
  • the communication destination address replying unit 130 transmits the global IP address “xx.5.7” for the communication destination terminal device 200C. .1 (P3) "(address with port number) and private IP address" 192.168.10.1 "are returned as communication destination addresses.
  • the communication start request unit 240A of the communication source terminal device 200A having received such a reply of both addresses first tries a communication start request S5 to the communication destination terminal device 200C using the private IP address "192.168.10.1". .
  • the communication source terminal device 200A is connected to the subnet constructed by the router RA, and the private IP address used in the subnet is within the range indicated by “192.168.2.0/24”. Therefore, the communication start request S5 using the private IP address "192.168.10.1" outside this range fails.
  • the failure can be recognized by not transmitting the communication start acceptance confirmation S6 from the terminal device 200C of the communication destination within a predetermined time-out time after making the communication start request S5.
  • failure can be predicted before the communication start request S5 is actually made. That is, in the above example, the PIP "192.168.10.1" used for making the communication start request S5 is out of the range of the private address "192.168.2.0/24" of the subnet to which the communication source terminal device 200A belongs, A failure can be predicted before actually making the communication start request S5 using the PIP.
  • the communication start request unit 240A determines that the global IP address "xx.5.7.
  • a communication start request S5 ' is issued to the communication destination terminal apparatus 200C using "1 (P3)" (address with port number).
  • the communication start request S5 ' reaches the communication destination terminal device 200C through the router RA, the network N, and the router RB.
  • communication via the network N is performed between the terminal devices 200A to 200C.
  • the address range "192.168.2.0/24" of the subnet constructed by the router RA is different from the address range "192.168.10.10/24" of the subnet constructed by the router RB.
  • the address ranges of the subnets constructed by the router RA and the router RB may be the same. For example, in the example shown in FIG.
  • the address range of the subnet constructed by the router RB is "192.168.2.0/24" and the PIP assigned to the communication destination terminal device 200C is "192.168.2.8". Then, failure of the communication start request S5 using the PIP can not be predicted in advance.
  • the communication start request S5 will reach the other terminal.
  • the communication start request S5 includes the terminal ID "0030" of the communication destination terminal device 200C as the terminal ID of the legitimate other party, and the communication destination session establishment unit 230 receives the communication start request S5. If the terminal ID is confirmed to provide a function to determine whether or not oneself is a legitimate counterpart, the other terminal device can recognize that the other party is not a legitimate counterpart, so that communication starts. It is possible to take measures not to send back the acceptance confirmation S6. Therefore, also in such a case, the communication start request S5 also fails, and the failure is recognized by the communication source terminal device 200A after the fact.
  • a connection mediation request S2 is made with the terminal device 200A as the communication source and the terminal device 200B as the communication destination.
  • the communication destination address reply unit 130 receives both the global IP address “xx.5.1.1 (P2)” (address with port number) of the communication destination terminal device 200B and the private IP address “192.168.2.2”. Are sent back to the communication source terminal device 200A as the communication destination address.
  • the communication start request unit 240A of the communication source terminal device 200A having received such a reply of both addresses first tries a communication start request S5 to the communication destination terminal device 200B using the private IP address "192.168.2.2". .
  • the communication start request using the private IP address "192.168.2.2" S5 successfully reaches the communication destination terminal device 200B through this subnet.
  • communication between the terminal devices 200A-200B is performed within the same subnet without going through the network N.
  • FIG. 29 is a diagram showing the flow of inter-apparatus signals for the fifth embodiment.
  • the form of this diagram is similar to that of the diagram shown in FIG. First, as processing in the preparation stage, the communication source terminal device 200X sends a self address notification SOX to the connection mediating device 100, and both GIP and PIP are notified. Similarly, self-address notification S0Y is performed from the communication destination terminal device 200Y to the connection mediating device 100, and both GIP and PIP are notified.
  • the process of this preparation stage is exactly the same as the process of the preparation stage of the diagram shown in FIG. 25, and according to this preparation stage, the address table in the connection mediating apparatus 100 contains GIP and PIP of both terminals 200X and 200Y. Both will be stored.
  • terminal device 200D shown in FIG. 21 only the GIP is stored in the address table for a terminal device directly connected to the network N without a router.
  • the terminal devices 200X and 200Y will be described on the basis of the case where both GIP and PIP are stored.
  • a communication request S1 is made to the terminal device 200X with the terminal device 200Y as the communication destination.
  • the procedure for performing communication with the terminal device 200X as the communication source and the terminal device 200Y as the communication destination is started.
  • a connection mediation request S2 including the terminal ID of the communication destination terminal device 200Y is made from the communication source terminal device 200X to the connection mediation device 100.
  • the connection mediating apparatus 100 that has received the connection mediation request S2 performs processing S3 for referring to the address table, and recognizes the location address of the communication destination terminal device 200Y as the communication destination address.
  • the communication destination address replying unit 130 in the connection mediation device 100 performs communication destination address reply S4 of notifying both the GIP and the PIP as the communication destination address to the communication source terminal device 200X (of course, For terminals not included, only GIP is sent back).
  • the connection mediating device 100 does not select the GIP / PIP.
  • the communication start request unit 240 in the communication source terminal device 200X that has received the reply of the communication destination address including both the GIP and the PIP first tries the communication start request S5 using the PIP.
  • the figure shows an example in which the communication start request S5 using the PIP is actually made.
  • the communication destination session establishment unit 230 in the communication destination terminal device 200Y that has received the communication start request S5 performs communication start acceptance confirmation S6 to the communication source terminal device 200X using the same PIP.
  • the communication start acceptance confirmation S6 is returned.
  • the process jumps from the "Success?" Branch block of the diagram to the bottom in accordance with the "YES" branch, and communication S7 between the terminal devices 200X-200Y is performed using PIP, and the network N Communication is performed within the same subnet without intervention.
  • the communication start request S5 and the communication start acceptance confirmation S6 of the diagram are not normally performed. become.
  • a communication start request S5 'using GIP is made according to the "NO?" Branch from the "Success?" Branch block of the diagram.
  • communication S7 between the terminal devices 200X-200Y is performed using GIP, and communication via the network N is performed.
  • the diagram of FIG. 29 shows the procedure in the case of receiving a reply of both GIP and PIP addresses from the connection mediation device 100, but naturally, when receiving a reply of only GIP from the connection mediation device 100, it is of course , Instead of trying the communication start request S5 using PIP, the communication start request S5 'using GIP is made from the beginning.
  • Example 6> A sixth embodiment of the present invention will now be described.
  • an additional function is added to some of the components of the second embodiment of the prior invention basic invention described in ⁇ 2.
  • the approach is to adopt the approach of trying GIP if it fails.
  • the configuration of the network communication system according to the sixth embodiment is basically the same as the configuration of the second embodiment of the basic application of the prior application shown in FIG. 8, but as described in 5-35-3, Additional functions have been added to some components.
  • the self-address notification unit 450 of each terminal device 400 uses the router as the local IP address (GIP) on the network as its own location address.
  • GIP local IP address
  • An additional function of notifying the connection intermediation apparatus 300 of the private IP address (PIP) assigned from the above is added.
  • the address table storage unit 310 in the connection mediation device 300 stores an address table T61 in which a private IP address (PIP) is associated with a terminal ID together with a global IP address (GIP). There is.
  • the communication source address transmission unit 330 shown in FIG. 8 is stored in the address table storage unit 310 when the connection mediation request S12 is transmitted from the terminal device 400B of the communication source. If both global IP address (GIP) and private IP address (PIP) addresses are stored in the address table as the address to be sent with reference to the address table, both addresses are sent as the communication source address Do.
  • GIP global IP address
  • PIP private IP address
  • the communication start request unit 440A transmits the two addresses, it first tries a communication start request S15 using a private IP address (PIP), and it is determined that the communication start request S15 fails. If a failure is predicted, a communication start request S15 'using the global IP address (GIP) is made. Of course, when only GIP is transmitted, communication start request S15 using GIP may be performed from the beginning.
  • PIP private IP address
  • GIP global IP address
  • the communication start request unit 440 performs the communication start request S15 using the private IP address (PIP). After that, when the communication start acceptance confirmation S16 is not transmitted from the terminal apparatus 400 of the communication source within a predetermined timeout time, it is possible to adopt a method of judging that the communication start request S15 using PIP has failed. .
  • the communication start request S15 using the PIP is made before the communication start request S15 using the PIP is actually made. It is possible to give up and make a communication start request S15 'using GIP.
  • the failure prediction of the communication start request S15 using PIP checks whether the PIP used to perform the communication start request S15 is within the range of the private address assigned to the subnet to which it is connected. It can be done by That is, if the PIP used to make the communication start request S15 is out of the address range of the subnet, it is possible to predict failure before actually making the communication start request S15 using the PIP.
  • each of the terminal devices 200A to 200D according to the first embodiment shown in FIG. 21 is replaced with the terminal devices 400A to 400D according to the second embodiment, respectively.
  • the connection mediating apparatus 300 according to the second embodiment is replaced (the replaced code is shown in parentheses in FIG. 21), the connection mediating apparatus 300 is shown in FIG.
  • Such an address table T62 is to be stored.
  • the communication source address transmission unit 330 sets the global IP address “xx. 1 (P2) ”(address with port number) and the private IP address“ 192.168.2.2 ”are transmitted to the communication destination terminal device 400C as the communication source address.
  • the communication start request unit 440 of the communication destination terminal device 400C receiving such transmission of both addresses first tries a communication start request S15 to the communication source terminal device 400B using the private IP address "192.168.2.2". .
  • the communication destination terminal device 400C is connected to the subnet established by the router RB, and the private IP address used in the subnet is within the range indicated by “192.168.10.0/24”. Therefore, the communication start request S15 using the private IP address "192.168.2.2" outside this range fails.
  • the failure can be recognized by the fact that the communication start acceptance confirmation S16 is not transmitted from the terminal device 400B of the communication source within a predetermined time-out time after the communication start request S15 is made.
  • failure can be predicted before actually making the communication start request S15. That is, in the above example, the PIP “192.168.2.2.2” used to perform the communication start request S15 is out of the range of the private address “192.168.10.0/24” of the subnet to which the communication destination terminal device 400C belongs, It is possible to predict failure before actually making the communication start request S15 using the PIP.
  • the communication start request unit 440 of the communication destination terminal device 400C is a global IP.
  • a communication start request S15 ' is issued to the communication source terminal device 400B using the address "xx.5.1.1 (P2)" (address with port number).
  • the communication start request S15 ' reaches the communication source terminal device 200B through the router RB, the network N, and the router RA.
  • communication via the network N is performed between the terminal devices 400B and 400C.
  • the address range "192.168.2.0/24" of the subnet constructed by the router RA is different from the address range "192.168.10.10/24" of the subnet constructed by the router RB.
  • the address ranges of the subnets constructed by the router RA and the router RB may be the same. For example, in the example shown in FIG.
  • the address range of the subnet constructed by the router RB is "192.168.2.0/24" and the PIP assigned to the communication destination terminal device 200C is "192.168.2.8". Then, failure of the communication start request S15 using the PIP can not be predicted in advance.
  • the PIP "192.168.2.2" of the communication source terminal device 400B is within the address range "192.168.2.0/24" of the subnet to which the communication destination terminal device 400C belongs, so the PIP "192.168.
  • the communication start request S15 addressed to “2.2” is considered as valid communication addressed to the same subnet, and failure prediction can not be made in advance.
  • the communication start request S15 will fail, and the communication destination terminal apparatus 400C subsequently Is recognized as a failure.
  • the communication start request S15 will reach the other terminal.
  • the communication start request S15 includes the terminal ID "0020" of the communication source terminal device 400B as the terminal ID of the legitimate other party
  • the communication source session establishment unit 430 receives the communication start request S15. If the terminal ID is confirmed to provide a function to determine whether or not oneself is a legitimate counterpart, the other terminal device can recognize that the other party is not a legitimate counterpart, so that communication starts. It is possible to take measures not to make a reply of acceptance confirmation S16. Therefore, also in such a case, the communication start request S15 also fails, and a failure is recognized by the communication destination terminal device 400C after the fact.
  • the communication source address transmission unit 330 sets both the global IP address “xx.5.1.1 (P2)” (address with a port number) of the communication source terminal device 400B and the private IP address “192.168.2.2”. Is transmitted to the communication destination terminal device 400A as the communication source address.
  • the communication start request unit 440 of the communication destination terminal device 400A receiving such transmission of both addresses first tries a communication start request S15 to the communication source terminal device 400B using the private IP address "192.168.2.2". .
  • the communication source terminal device 400B and the communication destination terminal device 400A belong to the same subnet constructed by the router RA, so the communication start request using the private IP address "192.168.2.2" S15 is successfully delivered to the communication source terminal device 400B through this subnet.
  • communication between the terminal devices 400A and 400B in the same subnet is performed without the network N.
  • FIG. 30 is a diagram showing the flow of inter-apparatus signals for the sixth embodiment.
  • the form of this diagram is similar to that of the diagram shown in FIG. First, as processing in the preparation stage, the communication source terminal device 400X sends a self address notification SOX to the connection mediating device 300 to notify both GIP and PIP. Similarly, self-address notification S0Y is performed from the communication destination terminal device 400Y to the connection transfer device 300, and both GIP and PIP are notified.
  • the process of this preparation stage is exactly the same as the process of the preparation stage of the diagram shown in FIG. 26, and according to this preparation stage, in the address table in the connection mediating apparatus 300, GIP and PIP of both terminals 400X and 400Y. Both will be stored.
  • terminal device 400D directly connected to the network N without the router as in the terminal device 400D of FIG. 21
  • only GIP is stored in the address table, but in the diagram of FIG.
  • the terminal devices 400X and 400Y will be described on the basis of the case where both GIP and PIP are stored.
  • a communication request S11 is made to the terminal device 400X with the terminal device 400Y as the communication destination.
  • the procedure for performing communication with the terminal device 400X as the communication source and the terminal device 400Y as the communication destination is started.
  • a connection mediation request S12 including the terminal ID of the communication destination terminal device 400Y is made from the communication source terminal device 400X to the connection mediation device 300.
  • the connection mediating apparatus 300 having received the connection mediating request S12 performs processing S13 for referring to the address table, grasps the location address of the communication destination terminal apparatus 400Y as the communication destination address, and communicates the location address of the communication source terminal apparatus 400X. Understand as the original address.
  • the communication source address transmission unit 330 in the connection mediation device 300 performs communication source address reply S14 of notifying both the GIP and PIP as the communication source address to the communication destination terminal device 400Y (of course, in the address table For terminals that include only GIP, only GIP is sent).
  • the communication source address transmission S14 includes both the GIP and PIP addresses of the communication source terminal device 400X as the communication source address.
  • the connection mediation device 300 does not select the GIP / PIP.
  • the communication start request unit 440 in the communication destination terminal device 400Y that has received the response of the communication destination address including both GIP and PIP first tries a communication start request S15 using PIP.
  • the figure shows an example in which the communication start request S15 using the PIP is actually made.
  • the communication source session establishing unit 430 in the communication source terminal device 400X that has received the communication start request S15 performs communication start acceptance confirmation S16 to the communication destination terminal device 400Y using the same PIP.
  • the communication start acceptance confirmation S16 is returned.
  • the process jumps from the "Success?" Branch block of the diagram to the bottom in accordance with the "YES" branch, and communication S17 between the terminal devices 400X and 400Y is performed using PIP, and the network N Communication is performed within the same subnet without intervention.
  • the communication start request S15 and the communication start acceptance confirmation S16 of the diagram are not normally performed. become.
  • a communication start request S15 'using GIP is made according to the "NO?" Branch from the "Succeed?" Branch block of the diagram.
  • communication S17 between the terminal devices 400X-400Y is performed using GIP, and communication via the network N is performed.
  • the diagram of FIG. 30 shows the procedure in the case of receiving the transmission of both the GIP and PIP addresses from the connection mediation device 300, but naturally, in the case of receiving the transmission of only GIP from the connection mediation device 300, it is of course , And instead of trying the communication start request S15 using the PIP, the communication start request S15 'using the GIP is made from the beginning.
  • apparatus 200D The example of the network communication system which has four terminal devices called apparatus 200D was shown.
  • the two routers RA and RB are provided in parallel, and construct independent subnets.
  • a plurality of routers may be installed in a multi-layered structure.
  • FIG. 31 is a block diagram showing an entire configuration of a network communication system including terminal devices connected to the network N via routers installed in a multi-layer structure.
  • FIG. 31 shows a state in which two routers RA and RC and four terminal devices 200A, 200B, 200D and 200E are connected to the network N.
  • the two routers RA and RC are not configured in parallel but configured in a hierarchical structure. That is, the router RC is installed in the lower hierarchy of the subnet constructed by the router RA.
  • the branch of the part of the router RB and the terminal device 200C is cut out completely and moved under the router RA, and named as the router RC and the terminal device 200E, respectively. It corresponds to a thing. Therefore, the router RA and the terminal devices 200A, 200B and 200D in FIG. 31 are all identical to the components of the same reference numerals shown in FIG.
  • the router RC shown in FIG. 31 is connected to the subnet constructed by the router RA, and a private IP address (PIP) "192.168.2.3" is assigned on the subnet of the router RA.
  • the router RC constructs another subnet to which the private IP address indicated by “192.168.10.0.24” is given, and the terminal device 200E given the terminal ID “0050” is of the router RC. Connected to the subnet.
  • a private IP address “PIP 5 “ 192.168.10.1 ”” is assigned to the terminal device 200E.
  • a global IP with a port number “xx.5.1.1 (P5)” as the location address AD5 An address will also be assigned.
  • the terminal device 200A, 200B, 200D, 200E notifies the connection intermediation device 100 of its own address.
  • the private IP address PIP
  • GIP global IP address
  • FIG. 32 is a diagram showing an example in which both global IP address (GIP) and private IP address (PIP) of each terminal device are stored in the address table in the network communication system shown in FIG.
  • An address table T71 shown in FIG. 32 (a) represents each address by a code, and terminal IDs "0010", “0020", “0050", “0040” (IDs of the respective terminal devices shown in FIG. 31).
  • global IP addresses GIP1, GIP2, GIP5, and GIP4, port numbers P1, P2, and P5, and private IP addresses PIP1, PIP2, and PIP5 are stored, respectively. Since the terminal device 200D having the terminal ID "0040" is directly connected to the network N without passing through a router, there is no information of port number and PIP.
  • the address table T72 shown in FIG. 32 (b) represents each address in the address table T71 shown in FIG. 32 (a) by a specific numerical example, and the terminal IDs "0010", “0020”, “0050” "," Corresponding to global IP addresses "xx.5.1.1”, “xx.5.1.1”, “xx.5.1.1”, “xx.5.8.100”, and port number "54701". , “54702”, “54703”, and private IP addresses “192.168.2.1”, “192.168.2.2”, and “192.168.10.1” are stored, respectively.
  • terminal ID “0050” the subnet address of the router RC “192.168.10.1” is stored as the PIP, “xx.5.1.1” as the GIP. It can be seen that the global IP address of the router RA is stored. That is, the three terminal devices 200A, 200B, and 200E have the same IP address with respect to GIP.
  • FIG. 31 on the premise of the above-described first, third, and fifth embodiments, it is assumed that the communication with the terminal device 200A as the communication source and the terminal device 200E as the communication destination is started.
  • the communication source terminal device 200A sends a communication start request S5 to the communication destination terminal device 200E.
  • the communication start request S5 is made using the PIP of the communication destination terminal device 200E, this is the case.
  • the communication failure may occur in some embodiments because a situation different from the above description occurs.
  • connection mediating apparatus 100 performs GIP / PIP selection
  • the communication source terminal device 200A terminal ID [0010]
  • GIP of the communication destination terminal apparatus 200E terminal ID "0050”
  • the connection mediating apparatus 100 returns PIP5 “192.168.10.1” of the communication destination terminal apparatus 200E as the selected communication destination address to the communication source terminal apparatus 200A.
  • the connection mediation device 100 determines that “it is preferable to perform mutual communication by PIP because the communication source and the communication destination are terminal devices belonging to the same subnet”.
  • the communication source belongs to the subnet of the router RA, while the communication destination belongs to the subnet of the router RC, and both are terminal devices belonging to the same subnet is not. For this reason, if the communication source terminal device 200A sends a communication start request S5 to the communication destination terminal device 200E using PIP 5 "192.168.10.1", it will fail. Since Example 1 mentioned above does not assume such a failure, when Example 1 is applied to the system shown in FIG. 31, a communication failure arises. Although the description will be omitted, such a communication failure also occurs when the second embodiment is applied to the system shown in FIG. 31 (a failure occurs in the communication with the terminal device 200E as the communication source and the terminal device 200A as the communication destination. ).
  • both the GIP and PIP of the communication destination terminal device 200E are sent back to the communication source terminal device 200A.
  • both the GIP 5 “xx. 5.1.1 (P 5)” and the PIP 5 “192.168.10.1” of the communication destination terminal device 200E are sent back to the communication source terminal device 200A as the communication destination address. Therefore, the communication source terminal device 200A is the communication destination because the GIP5 “xx.5. 1 (P5)” sent back and the own GIP “xx. 5.1.1 (P1)” have the same IP address.
  • the communication start request S5 is issued to the terminal device 200E using PIP5 "192.168.10.1", and the communication start request S5 fails. Since Example 3 mentioned above does not assume such a failure, when Example 3 is applied to the system shown in FIG. 31, a communication failure arises. Although the description is omitted, such a communication failure also occurs when the fourth embodiment is applied to the system shown in FIG. 31 (a failure occurs in the communication with the terminal device 200E as the communication source and the terminal device 200A as the communication destination). ).
  • the fifth embodiment described in 8-1 8-1 and the sixth embodiment described in ⁇ 8-2 adopt the approach of trying GIP at the time of PIP failure. It is possible to cope with a system including a router.
  • both GIP / PIP addresses are sent back to the communication source terminal device, and in the judgment of the communication source terminal device, one of them is selected to perform communication start request S5 to the communication destination terminal device. It will be.
  • communication start request S5 'using GIP is performed. Just do it.
  • both GIP / PIP addresses are transmitted to the communication destination terminal device, and one of them is selected in the judgment of the communication destination terminal device, and the communication start request S15 to the communication source terminal device is selected. It will be done.
  • the communication start request S15 'using GIP is performed. Just do it.
  • connection mediating apparatus employs a method of inquiring each terminal apparatus of a PIP when necessary at the communication stage, and recognizing a necessary PIP by obtaining an answer.
  • the difference between the first to sixth embodiments described above and the modified example described here is that in the former, GIP / PIP notified voluntarily at the preparation stage is recorded in the address table, While the connection mediation device recognizes and can use both GIP and PIP by referring to this address table at the communication stage, in the latter case, it is GIP to notify voluntarily at the preparation stage. Only the GIP is recorded in the address table, and the connection mediating device makes an inquiry to the terminal device each time when the PIP is required at the communication stage, and recognizes and uses the PIP. , That is.
  • the first change point is a spontaneous notification function of voluntarily notifying the connection intermediation device 100 of the global IP address (GIP) on the network as the own location address in the self address notification unit 250 of the terminal device 200.
  • the point is to have an answer notifying function of answering a private IP address (PIP) given from a router used for connection to the network N when receiving an inquiry from the connection mediation device 100.
  • PIP private IP address
  • the above-mentioned spontaneous notification function is a function provided to the self-address notification unit 250 of the first embodiment of the prior invention basic invention described in ⁇ 1
  • the answer notification function may be added to the self address notification unit 250 of the first embodiment of the basic invention.
  • the global IP address (GIP) and port number of each terminal apparatus notified by the spontaneous notification function may be stored in the address table storage unit 110 in association with the terminal ID as the location address.
  • the second change is that, if the communication destination address reply unit 130 of the connection mediating apparatus 100 is determined to be necessary by referring to the address table, the private IP address (PIP) of the terminal apparatus to be the communication destination is It is a point to make an inquiry and to return to the terminal apparatus of the communication source the global IP address (GIP) or the private IP address (PIP) obtained by the above inquiry or both as the communication destination address.
  • the PIP is obtained by referring to the address table.
  • the PIP can be obtained by making a query to the terminal device when necessary. I will get it.
  • the communication destination address replying unit 130 of the connection mediating apparatus 100 refers to the address table, and the global IP address of the terminal apparatus 200A as the communication source and the terminal apparatus as the communication destination.
  • the global IP address of 200 B is the same IP address
  • the private IP address may be inquired to the terminal apparatus 200 B as the communication destination. This is because when both global IP addresses are the same, it can basically be judged that both belong to the same subnet, and it can be judged that communication start request using PIP can be made (of course, As in the example shown in FIG. 31, there is an exception if a multi-layer router is provided). Conversely, if the global IP addresses of the two are different, the communication start request using the PIP can not be made, so the PIP address is unnecessary and the inquiry is not necessary.
  • the communication start request unit 240 of the communication source terminal device performs the communication start request S5 using the global IP address (GIP), the private IP address (PIP), or both of them. Absent.
  • the communication start request unit 240A is a private IP when the global IP address of the terminal device 200A as the communication source and the global IP address of the terminal device 200B as the communication destination are the same.
  • the communication start request S5 is issued using the address, and if different, the communication start request S5 is issued using the global IP address.
  • the first change point is a spontaneous notification function of voluntarily notifying the connection intermediation device 300 of the global IP address (GIP) on the network as the own location address in the self address notification unit 450 of the terminal device 400.
  • the point is to have an answer notifying function of answering a private IP address (PIP) given from a router used for connection to the network N when receiving an inquiry from the connection mediating apparatus 300.
  • PIP private IP address
  • the above-mentioned spontaneous notification function is a function provided to the self-address notification unit 450 of the second embodiment of the prior-application basic invention described in ⁇ 2.
  • the answer notification function may be added to the self address notification unit 450 of the second embodiment of the basic invention.
  • the global IP address (GIP) and port number of each terminal apparatus notified by the spontaneous notification function may be stored in the address table storage unit 310 in association with the terminal ID as the location address.
  • the second change is that when the communication source address transmission unit 330 of the connection mediation device 300 is determined to be necessary by referring to the address table, the private IP address (PIP) of the terminal device that is the communication source is determined. It is a point to make an inquiry and to transmit it to a terminal apparatus of a communication destination as a communication source address as a global IP address (GIP) or a private IP address (PIP) obtained by the above inquiry or both of them.
  • GIP global IP address
  • PIP private IP address
  • the communication source address transmission unit 330 of the connection mediating apparatus 300 refers to the address table, and the global IP address of the terminal apparatus 400B as the communication source and the terminal apparatus as the communication destination.
  • the terminal apparatus 400B as the communication source may be inquired of the private IP address. This is because when both global IP addresses are the same, it can basically be judged that both belong to the same subnet, and it can be judged that communication start request using PIP can be made (of course, As in the example shown in FIG. 31, there is an exception if a multi-layer router is provided). Conversely, if the global IP addresses of the two are different, the communication start request using the PIP can not be made, so the PIP address is unnecessary and the inquiry is not necessary.
  • the communication start request unit 440 of the communication destination terminal device performs the communication start request S15 using the global IP address (GIP), the private IP address (PIP), or both of them. Absent.
  • GIP global IP address
  • PIP private IP address
  • the communication start request unit 440A The communication start request S15 is made using the address, and if different, the communication start request S15 is made using the global IP address.
  • FIG. 33 is a diagram showing the flow of inter-apparatus signals in a modification in which the form in which the PIP is inquired each time in the first embodiment shown in FIG. 25 is adopted.
  • the difference between the communication stages of the diagram shown in FIG. 25 and the diagram shown in FIG. ) / PIP response (S3b) is only the point replaced with the inter-device signal. Therefore, only the difference will be described below.
  • the communication destination address reply unit 130 refers to the address table and corresponds to the terminal ID of the terminal device 200X of the communication source that transmitted the connection mediation request S2.
  • the global IP associated with the assigned global IP address (GIP) and the terminal ID (the terminal ID of the terminal device 200Y of the communication destination) specified by the communication destination specifying information included in the connection mediation request S2 It is determined whether or not the address (GIP) is the same IP address, and it is determined that the inquiry is unnecessary if both of the determination targets are different IP addresses.
  • the communication destination address reply S4 is executed to jump to the communication source terminal X with the global IP address (GIP) as the selected communication destination address by jumping from the branch block of "inquiry?" .
  • the private IP address is sent to the terminal device 200Y to be the communication destination according to the branch from the “Inquiry?” Branch block of the diagram to “YES”. Inquires a PIP inquiry S3a, and obtains a PIP answer S3b according to the inquiry. Then, the communication destination address reply S4 is executed to reply to the communication source terminal X with the private IP address (PIP) obtained by the inquiry as the selected communication destination address.
  • PIP private IP address
  • the point that the communication start request unit 240 of the communication source terminal apparatus X performs the communication start request S5 using the returned selected communication destination address is the same as the first embodiment.
  • FIG. 34 is a diagram showing the flow of inter-apparatus signals for a modification in which the form in which the PIP is inquired each time in the second example shown in FIG. 26 is adopted.
  • the difference between the communication stages of the diagram shown in FIG. 26 and the diagram shown in FIG. 34 is that the block of “address table reference (S13) address selection” in the former is the branch block of “inquiry?” ) / PIP response (S13b) is only the point replaced with the inter-device signal. Therefore, only the difference will be described below.
  • the communication source address transmission unit 330 refers to the address table and corresponds to the terminal ID of the terminal device 400X of the communication source that transmitted the connection mediation request S12.
  • the global IP associated with the assigned global IP address (GIP) and the terminal ID (the terminal ID of the terminal device 400Y of the communication destination) specified by the communication destination specifying information included in the connection mediation request S12 It is determined whether or not the address (GIP) is the same IP address, and it is determined that the inquiry is unnecessary if both of the determination targets are different IP addresses.
  • the process jumps from the “Inquiry?” Branch block of the diagram according to the “NO” branch, and executes communication source address transmission S14 that transmits the global IP address (GIP) to the communication destination terminal Y as the selected communication source address.
  • GIP global IP address
  • the private IP address is sent to the terminal apparatus 400X as the communication source according to the branch from the "Inquiry?" Branch block of the diagram to "YES".
  • An inquiry PIP inquiry S13a is made, and a PIP answer S13b corresponding to this is obtained.
  • the communication destination address reply S14 is executed to reply to the communication destination terminal device Y with the private IP address (PIP) obtained by the inquiry as the selected communication source address.
  • PIP private IP address
  • the point that the communication start request unit 440 of the communication destination terminal apparatus Y performs the communication start request S15 using the transmitted selected communication source address is the same as the first embodiment.
  • FIG. 35 is a diagram showing the flow of inter-apparatus signals in a modification in which the form in which the PIP is inquired each time in the embodiment 3 shown in FIG. 27 is adopted.
  • the difference between the communication stages of the diagram shown in FIG. 27 and the diagram shown in FIG. 35 is that the block of “address table reference (S3)” in the former is the branch block of “inquiry?” And the PIP inquiry (S3a) / in the latter. It is only the point replaced with the inter-device signal of the PIP reply (S3b). Therefore, only the difference will be described below.
  • the communication destination address reply unit 130 refers to the address table and corresponds to the terminal ID of the terminal device 200X of the communication source that transmitted the connection mediation request S2.
  • the global IP associated with the assigned global IP address (GIP) and the terminal ID (the terminal ID of the terminal device 200Y of the communication destination) specified by the communication destination specifying information included in the connection mediation request S2 It is determined whether or not the address (GIP) is the same IP address, and it is determined that the inquiry is unnecessary if both of the determination targets are different IP addresses.
  • the communication destination address reply S4 is executed to jump to the communication source terminal X with only the global IP address (GIP) as the communication destination address by jumping from the branch block of "inquiry?" .
  • the private IP address is sent to the terminal device 200Y to be the communication destination according to the branch from the “Inquiry?” Branch block of the diagram to “YES”. Inquires a PIP inquiry S3a, and obtains a PIP answer S3b according to the inquiry. Then, both the global IP address (GIP) of the communication destination terminal device 200Y stored in the address table and the private IP address (PIP) obtained by the inquiry are used as the communication destination address for the communication source terminal device X The communication destination address reply S4 to reply to is executed.
  • GIP global IP address
  • PIP private IP address
  • the terminal apparatus determines whether to select GIP / PIP by checking whether the GIP of the transmission source and the GIP of the transmission destination are the same, but in this modification, the terminal apparatus is substantially Since the selection decision is performed in the connection mediation device (the identity of the GIP is checked in the decision as to whether or not to inquire), the identity of the GIP is checked again in the terminal device to perform GIP / PIP. There is no need to make a decision on
  • the communication start request unit 240 of the communication source terminal apparatus X is private. If it is determined that the communication start request S5 using the IP address (PIP) fails or if a failure is expected, the communication start request S5 'using the global IP address (GIP) may be made .
  • IP address IP address
  • GIP global IP address
  • the communication start request unit 240 transmits the communication start acceptance confirmation S6 from the terminal device 200Y of the communication destination within a predetermined time-out time after making the communication start request S5 using the private IP address (PIP). If not, it can be determined that the communication start request S5 has failed.
  • PIP private IP address
  • FIG. 36 is a diagram showing the flow of inter-apparatus signals for a modification in which the form in which the PIP is inquired each time in the fourth example shown in FIG. 28 is adopted.
  • the difference between the communication stages of the diagram shown in FIG. 28 and the diagram shown in FIG. It is only the point replaced with the inter-apparatus signal of the PIP response (S13b). Therefore, only the difference will be described below.
  • the communication source address transmission unit 330 refers to the address table and corresponds to the terminal ID of the terminal device 400X of the communication source that transmitted the connection mediation request S12.
  • the global IP associated with the assigned global IP address (GIP) and the terminal ID (the terminal ID of the terminal device 400Y of the communication destination) specified by the communication destination specifying information included in the connection mediation request S12 It is determined whether or not the address (GIP) is the same IP address, and it is determined that the inquiry is unnecessary if both of the determination targets are different IP addresses.
  • the communication source address transmission S14 is executed to jump to the communication destination terminal device Y by using only the global IP address (GIP) as the communication source address by jumping from the branch block of "inquiry?" .
  • the private IP address is sent to the terminal apparatus 400X as the communication source according to the branch from the "Inquiry?" Branch block of the diagram to "YES".
  • An inquiry PIP inquiry S13a is made, and a PIP answer S13b corresponding to this is obtained.
  • the communication destination terminal device Y uses both the global IP address (GIP) of the communication source terminal device 400X stored in the address table and the private IP address (PIP) obtained by the inquiry as the communication source address.
  • GIP global IP address
  • PIP private IP address
  • the terminal apparatus determines whether to select the GIP / PIP by checking whether the GIP of the transmission source and the GIP of the transmission destination are the same, but in this modification, the terminal apparatus is substantially Since the selection decision is performed in the connection mediation device (the identity of the GIP is checked in the decision as to whether or not to inquire), the identity of the GIP is checked again in the terminal device to perform GIP / PIP. There is no need to make a decision on
  • the communication start request unit 440 of the communication destination terminal device Y is private. If it is determined that the communication start request S15 using the IP address (PIP) fails or if a failure is expected, the communication start request S15 'using the global IP address (GIP) may be made .
  • PIP IP address
  • GIP global IP address
  • the communication start request unit 440 transmits a communication start acceptance confirmation S16 from the terminal device 400X of the communication source within a predetermined timeout time. If not, it can be determined that the communication start request S15 has failed.
  • FIG. 37 is a diagram showing the flow of inter-apparatus signals in a modification in which the form in which the PIP is inquired each time in the fifth example shown in FIG. 29 is adopted.
  • the difference between the communication steps of the diagram shown in FIG. 29 and the diagram shown in FIG. 37 is that the block of “address table reference (S3)” in the former is the branch block of “inquiry?” And the PIP inquiry (S3a) / It is only the point replaced with the inter-device signal of the PIP reply (S3b). Therefore, only the difference will be described below.
  • the communication destination address reply unit 130 refers to the address table and corresponds to the terminal ID of the terminal device 200X of the communication source that transmitted the connection mediation request S2.
  • the global IP associated with the assigned global IP address (GIP) and the terminal ID (the terminal ID of the terminal device 200Y of the communication destination) specified by the communication destination specifying information included in the connection mediation request S2 It is determined whether or not the address (GIP) is the same IP address, and it is determined that the inquiry is unnecessary if both of the determination targets are different IP addresses.
  • the communication destination address reply S4 is executed to jump to the communication source terminal X with only the global IP address (GIP) as the communication destination address by jumping from the branch block of "inquiry?" .
  • the private IP address is sent to the terminal device 200Y to be the communication destination according to the branch from the “Inquiry?” Branch block of the diagram to “YES”. Inquires a PIP inquiry S3a, and obtains a PIP answer S3b according to the inquiry. Then, both the global IP address (GIP) of the communication destination terminal device 200Y stored in the address table and the private IP address (PIP) obtained by the inquiry are used as the communication destination address for the communication source terminal device X The communication destination address reply S4 to reply to is executed.
  • GIP global IP address
  • PIP private IP address
  • the communication start request unit 240 of the communication source terminal apparatus X receives a reply of both addresses, it first tries a communication start request S5 using the private IP address (PIP) sent back. If it is determined that this communication start request S5 has failed or if a failure is expected, a communication start request S5 'using the global IP address (GIP) is made, and only the global IP address (GIP) is returned. If there is, the point of performing the communication start request S5 'using the returned global IP address (GIP) is the same as the fifth embodiment.
  • PIP private IP address
  • the communication start request unit 240 transmits the communication start acceptance confirmation S6 from the terminal device 200Y of the communication destination within a predetermined time-out time after making the communication start request S5 using the private IP address (PIP). If not, it can be determined that the communication start request S5 has failed.
  • PIP private IP address
  • FIG. 38 is a diagram showing the flow of inter-apparatus signals for a modification in which the form in which the PIP is inquired each time in the sixth example shown in FIG. 30 is adopted.
  • the difference between the communication stages of the diagram shown in FIG. 30 and the diagram shown in FIG. 38 is that the block of “address table reference (S13)” in the former is the branch block of “inquiry?”
  • the communication source address transmission unit 330 refers to the address table and corresponds to the terminal ID of the communication source terminal device 400X that has transmitted the connection mediation request S12.
  • the global IP associated with the assigned global IP address (GIP) and the terminal ID (the terminal ID of the terminal device 400Y of the communication destination) specified by the communication destination specifying information included in the connection mediation request S12 It is determined whether or not the address (GIP) is the same IP address, and it is determined that the inquiry is unnecessary if both of the determination targets are different IP addresses.
  • the communication source address transmission S14 is executed to jump to the communication destination terminal device Y by using only the global IP address (GIP) as the communication source address by jumping from the branch block of "inquiry?" .
  • the private IP address is sent to the terminal apparatus 400X as the communication source according to the branch from the "Inquiry?" Branch block of the diagram to "YES".
  • An inquiry PIP inquiry S13a is made, and a PIP answer S13b corresponding to this is obtained.
  • the communication destination terminal device Y uses both the global IP address (GIP) of the communication source terminal device 400X stored in the address table and the private IP address (PIP) obtained by the inquiry as the communication source address.
  • GIP global IP address
  • PIP private IP address
  • the communication start request unit 440 of the communication destination terminal device Y receives a reply of both addresses, it first tries a communication start request S15 using the private IP address (PIP) sent back. If it is determined that this communication start request S15 has failed or if a failure is expected, a communication start request S15 'using the global IP address (GIP) is made, and only the global IP address (GIP) is returned. If there is, the point of performing the communication start request S15 'using the returned global IP address (GIP) is the same as the sixth embodiment.
  • PIP private IP address
  • the communication start request unit 440 transmits a communication start acceptance confirmation S16 from the terminal device 400X of the communication source within a predetermined timeout time. If not, it can be determined that the communication start request S15 has failed.
  • the network communication system enables efficient communication between arbitrary terminal devices in a state where various terminal devices connectable to the Internet, such as personal computers, mobile phones, tablet terminals, etc., are used. Technology, and has sufficient industrial availability.
  • connection mediation device 110 address table storage unit 120: address table update unit 130: communication destination address reply unit 200, 200A to 200K, 200X, 200Y: terminal device 201H, 201K: VPN communication unit 210, 210A, 210B: connection Intermediation request unit 220, 220A, 220B: Communication request reception unit 230, 230A, 230B: Communication destination session establishment unit 240, 240A, 240B: Communication start request unit 250, 250A, 250B: Self-address notification unit 260, 260A, 260B: Communication source session establishment unit 300: Connection intermediary device 310: Address table storage unit 320: Address table update unit 330: Communication source address transmitter 400, 400A to 400D, 400X, 400Y: Terminal device 410, 410A, 410B: Connection Request units 420, 420A, 420B: communication request reception units 430, 430A, 430B: communication source session establishment units 440, 440A, 440B: communication start request units 450, 450A,

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Abstract

接続仲介処理の負荷を軽減しつつ、ルータ(RA,RB)を介してネットワークに接続された端末間について効率的な通信を行う。予め各端末(200A~200C)のグローバルアドレスGIPとプライベートアドレスPIPを接続仲介装置(100)に通知し、これをアドレステーブルに記録しておく。通信元端末から通信先端末へ通信を開始するために、通信元から接続仲介装置に対して接続仲介依頼を送信すると、これに応じて、通信先のアドレスが返信されるので、通信元は返信されたアドレスに直接アクセスして通信先との通信を開始する。接続仲介装置は、通信元と通信先のGIPが異なる場合には通信先のGIPを通信元に返信し、通信元と通信先のGIPが同じ場合には通信先のPIPを通信元に返信する。送信元は、同一サブネット内の送信先へはPIPを用い、異なるサブネット内の送信先へはGIPを用いてアクセスする。

Description

ネットワーク通信システム
 本発明は、ネットワークを介した端末間通信を行うためのネットワーク通信システムに関する。
 今日、パソコンやスマートフォンをはじめとする様々な端末装置がインターネットに接続されるようになってきており、ネットワークを介した端末間通信も広く普及している。ただ、インターネットのような公衆ネットワークを利用して端末間通信を行う上では、セキュリティを確保する上で何らかの工夫を施す必要がある。また、モバイル端末の場合、ネットワーク上での所在が時間的に変化するため、通信先となる端末の現時点での所在アドレスを何らかの方法で認識する必要がある。
 このような観点から、従来の一般的なネットワーク通信システムでは、端末装置間の通信を取り継ぐ役割を果たす中継装置が設けられている。たとえば、下記の特許文献1には、第1の端末装置と中継装置との間にセキュアな第1の通信チャネルを確保し、第2の端末装置と中継装置との間にセキュアな第2の通信チャネルを確保して、中継装置を介して両端末装置間で通信を行うネットワーク通信システムが開示されている。ただ、このような中継装置を利用したシステムでは、両端末間の通信データがすべて中継装置を経由することになるため、中継装置に多大な処理負荷がかかるという問題がある。
 そこで、最近は、SIP(Session Initiation Protocol)と呼ばれるプロトコルを利用して、ネットワーク上に設けられた接続仲介装置により、両端末間での通信セッション確立の取り継ぎを行い、通信セッション確立後は、両端末間で直接通信を行う方式が提案されている。たとえば、下記の特許文献2,3には、このSIPを利用して端末間におけるVPN通信を実現するネットワーク通信システムが開示されている。このシステムにおける接続仲介装置は、通信データのすべてを中継する必要はなく、両端末間に通信セッションが確立されるまでの手助けを行えばよいので、従来の中継装置に比べて処理負荷が大幅に軽減される。
特開2005-229436号公報 特開2010-233167号公報 特開2013-038684号公報
 上述したとおり、特許文献2,3に開示されているネットワーク通信システムに用いられる接続仲介装置は、SIPを利用して両端末間の接続仲介処理を行うことになる。この接続仲介処理は、両端末間に通信セッションが確立されるまでの一時的な処理であるため、特許文献1に開示されている従来型の中継処理に比べれば、その処理負荷は軽減されることになる。しかしながら、両端末間に通信セッションが確立するまで関与する必要があるため、多数の端末装置から同時に仲介依頼があると、その処理負荷は無視できないものになる。このため、仲介依頼が集中すると、通信セッション確立までの一時的な仲介処理であっても、システムの処理能力を超えてしまうおそれがある。
 また、個々の端末装置は、通常、ルータを介してネットワークに接続されることが多い。このようにルータを介してネットワークに接続されている端末装置には、ネットワーク上での自己の所在を示す所在アドレスとして、グローバルアドレスが付与されるとともに、ルータからは、当該ルータが管理するネットワーク上でのみ有効なプライベートIPアドレスも付与される。
 したがって、実用上は、異なるネットワークに所属する端末装置間の通信にはグローバルIPアドレスを利用し、同一のネットワークに所属する端末装置間の通信にはプライベートIPアドレスを利用するのが効率的である。特に、ルータによっては、同一のネットワークに所属する端末装置間の通信にグローバルIPアドレスを利用すると、接続を拒絶する設定を採用するものが存在し、このような設定のルータが存在する場合、グローバルIPアドレスとプライベートIPアドレスとを適切に切り替えて相手方の端末装置へのアクセスを行う必要がある。
 そこで本発明は、一対の端末装置間の接続を仲介する際の処理負荷を、より軽減することができ、しかもルータを介してネットワークに接続された端末装置間についても効率的な通信を行うことが可能なネットワーク通信システムを提供することを目的とする。
 (1)  本発明の第1の態様は、後の§5-2で詳述するように、ネットワークを介して相互に接続可能な複数の端末装置と、複数の端末装置間の接続を仲介する接続仲介装置と、を備えたネットワーク通信システムにおいて、
 複数の端末装置には、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、接続仲介装置は、端末IDを利用して通信元となる端末装置と通信先となる端末装置との間の接続を仲介する処理を実行し、
 複数の端末装置のそれぞれは、
 自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置に対して通知する自己アドレス通知部と、
 自己を通信元として、通信先の別な端末装置に対する通信要求を受け付ける通信要求受付部と、
 通信要求受付部によって通信要求が受け付けられたときに、接続仲介装置に対して、通信先の別な端末装置の端末IDを特定するための通信先特定情報を含む接続仲介依頼を送信する接続仲介依頼部と、
 接続仲介依頼に応じて、接続仲介装置から、通信先の別な端末装置のネットワーク上での所在を示す通信先アドレスが返信されてきたときに、ネットワークを介して、通信先アドレスにアクセスして通信開始要求を行う通信開始要求部と、
 通信開始要求に応じて、通信先の別な端末装置から、通信開始受諾確認が返信されてきたら、通信先の別な端末装置との間に通信セッションを確立して通信を開始する通信元セッション確立部と、
 通信元の別な端末装置から、自己を通信先とする通信開始要求がなされたら、通信元の別な端末装置に対して通信開始受諾確認を送信し、通信元の別な端末装置との間に通信セッションを確立して通信を開始する通信先セッション確立部と、
 を有し、
 接続仲介装置は、
 端末装置のそれぞれについて、端末IDと所在アドレスとを対応づけたアドレステーブルを格納するアドレステーブル格納部と、
 端末装置の自己アドレス通知部からの通知に基づいて、アドレステーブルの内容を更新するアドレステーブル更新部と、
 端末装置の接続仲介依頼部から、接続仲介依頼が送信されてきたときに、アドレステーブルを参照して、接続仲介依頼に含まれている通信先特定情報によって特定される端末IDに対応づけられている所在アドレスを通信先アドレスとして返信する通信先アドレス返信部と、
 を有し、
 ルータを介してネットワークに接続されている端末装置の自己アドレス通知部が、自己の所在アドレスとして、ネットワーク上のグローバルIPアドレスとともに、ルータから付与されたプライベートIPアドレスを接続仲介装置に対して通知し、
 アドレステーブル格納部が、所在アドレスとして、各端末装置のグローバルIPアドレスを端末IDに対応づけて格納するとともに、プライベートIPアドレスが通知された端末装置については、更に当該プライベートIPアドレスを端末IDに対応づけて格納し、
 通信先アドレス返信部が、アドレステーブルの内容に応じて、グローバルIPアドレスもしくはプライベートIPアドレス、またはその両方を通信先アドレスとして返信し、
 通信開始要求部が、グローバルIPアドレスもしくはプライベートIPアドレス、またはその両方を用いて通信開始要求を行うようにしたものである。
 (2)  本発明の第2の態様は、後の§5-2で詳述するように、上述した第1の態様に係るネットワーク通信システムにおいて、
 通信開始要求部が、通信元となる端末装置のグローバルIPアドレスと通信先となる端末装置のグローバルIPアドレスとが同一のIPアドレスである場合には、プライベートIPアドレスを用いて通信開始要求を行い、異なるIPアドレスである場合には、グローバルIPアドレスを用いて通信開始要求を行うようにしたものである。
 (3)  本発明の第3の態様は、後の§6-1で実施例1として詳述するように、上述した第1の態様に係るネットワーク通信システムにおいて、
 通信先アドレス返信部が、アドレステーブルを参照して、接続仲介依頼を送信した通信元の端末装置の端末IDに対応づけられているグローバルIPアドレスと、接続仲介依頼に含まれている通信先特定情報によって特定される端末IDに対応づけられているグローバルIPアドレスと、が同一のIPアドレスであるか否かを判断し、判断対象となる両者が同一のIPアドレスである場合には、プライベートIPアドレスを選択通信先アドレスとして返信し、判断対象となる両者が異なるIPアドレスである場合には、グローバルIPアドレスを選択通信先アドレスとして返信し、
 通信開始要求部が、返信されてきた選択通信先アドレスを用いて通信開始要求を行うようにしたものである。
 (4)  本発明の第4の態様は、後の§7-1で実施例3として詳述するように、上述した第1の態様に係るネットワーク通信システムにおいて、
 通信先アドレス返信部が、返信対象となる所在アドレスとしてグローバルIPアドレスおよびプライベートIPアドレスの両アドレスがアドレステーブルに格納されていた場合に、これら両アドレスを通信先アドレスとして返信し、
 通信開始要求部が、両アドレスの返信があったときに、通信先アドレスとして返信されてきたグローバルIPアドレスと、通信元である自己のグローバルIPアドレスと、が同一のIPアドレスであるか否かを判断し、判断対象となる両者が同一のIPアドレスである場合には、プライベートIPアドレスを用いて通信開始要求を行い、判断対象となる両者が異なるIPアドレスである場合には、グローバルIPアドレスを用いて通信開始要求を行うようにしたものである。
 (5)  本発明の第5の態様は、後の§8-4で追加事項として詳述するように、上述した第4の態様に係るネットワーク通信システムにおいて、
 通信開始要求部が、プライベートIPアドレスを用いた通信開始要求に失敗したと判断される場合もしくは失敗が予想される場合には、グローバルIPアドレスを用いた通信開始要求を行うようにしたものである。
 (6)  本発明の第6の態様は、後の§8-1で実施例5として詳述するように、上述した第1の態様に係るネットワーク通信システムにおいて、
 通信先アドレス返信部が、返信対象となる所在アドレスとしてグローバルIPアドレスおよびプライベートIPアドレスの両アドレスがアドレステーブルに格納されていた場合に、これら両アドレスを通信先アドレスとして返信し、
 通信開始要求部が、両アドレスの返信があったときに、まず、プライベートIPアドレスを用いて通信開始要求をトライし、この通信開始要求に失敗したと判断される場合もしくは失敗が予想される場合には、グローバルIPアドレスを用いた通信開始要求を行うようにしたものである。
 (7)  本発明の第7の態様は、後の§8-1で実施例5として詳述するように、または、後の§8-4で追加事項として詳述するように、上述した第5または第6の態様に係るネットワーク通信システムにおいて、
 通信開始要求部が、プライベートIPアドレスを用いて通信開始要求を行った後、所定のタイムアウト時間内に通信先の端末装置から通信開始受諾確認が送信されてこなかったときに、通信開始要求に失敗したと判断するようにしたものである。
 (8)  本発明の第8の態様は、後の§9で変形例として詳述するように、ネットワークを介して相互に接続可能な複数の端末装置と、複数の端末装置間の接続を仲介する接続仲介装置と、を備えたネットワーク通信システムにおいて、
 複数の端末装置には、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、接続仲介装置は、端末IDを利用して通信元となる端末装置と通信先となる端末装置との間の接続を仲介する処理を実行し、
 複数の端末装置のそれぞれは、
 自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置に対して通知する自己アドレス通知部と、
 自己を通信元として、通信先の別な端末装置に対する通信要求を受け付ける通信要求受付部と、
 通信要求受付部によって通信要求が受け付けられたときに、接続仲介装置に対して、通信先の別な端末装置の端末IDを特定するための通信先特定情報を含む接続仲介依頼を送信する接続仲介依頼部と、
 接続仲介依頼に応じて、接続仲介装置から、通信先の別な端末装置のネットワーク上での所在を示す通信先アドレスが返信されてきたときに、ネットワークを介して、通信先アドレスにアクセスして通信開始要求を行う通信開始要求部と、
 通信開始要求に応じて、通信先の別な端末装置から、通信開始受諾確認が返信されてきたら、通信先の別な端末装置との間に通信セッションを確立して通信を開始する通信元セッション確立部と、
 通信元の別な端末装置から、自己を通信先とする通信開始要求がなされたら、通信元の別な端末装置に対して通信開始受諾確認を送信し、通信元の別な端末装置との間に通信セッションを確立して通信を開始する通信先セッション確立部と、
 を有し、
 接続仲介装置は、
 端末装置のそれぞれについて、端末IDと所在アドレスとを対応づけたアドレステーブルを格納するアドレステーブル格納部と、
 端末装置の自己アドレス通知部からの通知に基づいて、アドレステーブルの内容を更新するアドレステーブル更新部と、
 端末装置の接続仲介依頼部から、接続仲介依頼が送信されてきたときに、アドレステーブルを参照して、接続仲介依頼に含まれている通信先特定情報によって特定される端末IDに対応づけられている所在アドレスを通信先アドレスとして返信する通信先アドレス返信部と、
 を有し、
 自己アドレス通知部が、自己の所在アドレスとして、ネットワーク上のグローバルIPアドレスを接続仲介装置に対して自発的に通知する自発通知機能と、接続仲介装置から照会を受けたときに、ネットワークへの接続に用いられているルータから付与されたプライベートIPアドレスを回答する回答通知機能と、を有し、
 アドレステーブル格納部が、所在アドレスとして、自発通知機能によって通知された各端末装置のグローバルIPアドレスを端末IDに対応づけて格納し、
 通信先アドレス返信部が、アドレステーブルの参照によって必要と判断される場合には、通信先となる端末装置に対してプライベートIPアドレスの照会を行い、グローバルIPアドレスもしくは照会によって得られたプライベートIPアドレス、またはその両方を通信先アドレスとして返信し、
 通信開始要求部が、グローバルIPアドレスもしくはプライベートIPアドレス、またはその両方を用いて通信開始要求を行うことを特徴とするネットワーク通信システム。
 (9)  本発明の第9の態様は、後の§9で変形例として詳述するように、上述した第8の態様に係るネットワーク通信システムにおいて、
 通信先アドレス返信部が、通信元となる端末装置のグローバルIPアドレスと通信先となる端末装置のグローバルIPアドレスとが同一のIPアドレスである場合に、通信先となる端末装置に対してプライベートIPアドレスの照会を行い、
 通信開始要求部が、通信元となる端末装置のグローバルIPアドレスと通信先となる端末装置のグローバルIPアドレスとが同一のIPアドレスである場合には、プライベートIPアドレスを用いて通信開始要求を行い、異なるIPアドレスである場合には、グローバルIPアドレスを用いて通信開始要求を行うようにしたものである。
 (10) 本発明の第10の態様は、後の§9-1で実施例1の変形例として詳述するように、上述した第8の態様に係るネットワーク通信システムにおいて、
 通信先アドレス返信部が、アドレステーブルを参照して、接続仲介依頼を送信した通信元の端末装置の端末IDに対応づけられているグローバルIPアドレスと、接続仲介依頼に含まれている通信先特定情報によって特定される端末IDに対応づけられているグローバルIPアドレスと、が同一のIPアドレスであるか否かを判断し、判断対象となる両者が異なるIPアドレスである場合には、グローバルIPアドレスを選択通信先アドレスとして返信し、判断対象となる両者が同一のIPアドレスである場合には、通信先となる端末装置に対してプライベートIPアドレスの照会を行い、この照会によって得られたプライベートIPアドレスを選択通信先アドレスとして返信し、
 通信開始要求部が、返信されてきた選択通信先アドレスを用いて通信開始要求を行うようにしたものである。
 (11) 本発明の第11の態様は、後の§9-3で実施例3の変形例として詳述するように、上述した第8の態様に係るネットワーク通信システムにおいて、
 通信先アドレス返信部が、アドレステーブルを参照して、接続仲介依頼を送信した通信元の端末装置の端末IDに対応づけられているグローバルIPアドレスと、接続仲介依頼に含まれている通信先特定情報によって特定される端末IDに対応づけられているグローバルIPアドレスと、が同一のIPアドレスであるか否かを判断し、判断対象となる両者が異なるIPアドレスである場合には、グローバルIPアドレスのみを通信先アドレスとして返信し、判断対象となる両者が同一のIPアドレスである場合には、通信先となる端末装置に対してプライベートIPアドレスの照会を行い、グローバルIPアドレスおよび照会によって得られたプライベートIPアドレスの両アドレスを通信先アドレスとして返信し、
 通信開始要求部が、グローバルIPアドレスのみの返信があった場合には、返信されてきたグローバルIPアドレスを用いて通信開始要求を行い、両アドレスの返信があった場合には、返信されてきたプライベートIPアドレスを用いて通信開始要求を行うようにしたものである。
 (12) 本発明の第12の態様は、後の§8-4で追加事項として詳述するように、上述した第11の態様に係るネットワーク通信システムにおいて、
 通信開始要求部が、プライベートIPアドレスを用いた通信開始要求に失敗したと判断される場合もしくは失敗が予想される場合には、グローバルIPアドレスを用いた通信開始要求を行うようにしたものである。
 (13) 本発明の第13の態様は、後の§9-5で実施例5の変形例として詳述するように、上述した第8の態様に係るネットワーク通信システムにおいて、
 通信先アドレス返信部が、アドレステーブルを参照して、接続仲介依頼を送信した通信元の端末装置の端末IDに対応づけられているグローバルIPアドレスと、接続仲介依頼に含まれている通信先特定情報によって特定される端末IDに対応づけられているグローバルIPアドレスと、が同一のIPアドレスであるか否かを判断し、判断対象となる両者が異なるIPアドレスである場合には、グローバルIPアドレスのみを通信先アドレスとして返信し、判断対象となる両者が同一のIPアドレスである場合には、通信先となる端末装置に対してプライベートIPアドレスの照会を行い、グローバルIPアドレスおよび照会によって得られたプライベートIPアドレスの両アドレスを通信先アドレスとして返信し、
 通信開始要求部が、グローバルIPアドレスのみの返信があった場合には、返信されてきたグローバルIPアドレスを用いて通信開始要求を行い、両アドレスの返信があった場合には、まず、返信されてきたプライベートIPアドレスを用いて通信開始要求をトライし、この通信開始要求に失敗したと判断される場合もしくは失敗が予想される場合には、グローバルIPアドレスを用いた通信開始要求を行うようにしたものである。
 (14) 本発明の第14の態様は、後の§9-5で実施例5の変形例として詳述するように、または、後の§8-4で追加事項として詳述するように、上述した第12または第13の態様に係るネットワーク通信システムにおいて、
 通信開始要求部が、プライベートIPアドレスを用いて通信開始要求を行った後、所定のタイムアウト時間内に通信先の端末装置から通信開始受諾確認が送信されてこなかったときに、通信開始要求に失敗したと判断するようにしたものである。
 (15) 本発明の第15の態様は、後の§5-2で詳述するように、上述した第1~第14の態様に係るネットワーク通信システムにおいて、
 通信元の端末装置の通信開始要求部が、グローバルIPアドレスを用いて通信開始要求を行った場合は、これに応じて以後に行われる、通信先の端末装置の通信先セッション確立部と通信元の端末装置の通信元セッション確立部との間の相互アクセスはグローバルIPアドレスを用いて行い、
 通信元の端末装置の通信開始要求部が、プライベートIPアドレスを用いて通信開始要求を行った場合は、これに応じて以後に行われる、通信先の端末装置の通信先セッション確立部と通信元の端末装置の通信元セッション確立部との間の相互アクセスはプライベートIPアドレスを用いて行うようにしたものである。
 (16) 本発明の第16の態様は、後の§5-3で詳述するように、ネットワークを介して相互に接続可能な複数の端末装置と、複数の端末装置間の接続を仲介する接続仲介装置と、を備えたネットワーク通信システムにおいて、
 複数の端末装置には、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、接続仲介装置は、端末IDを利用して通信元となる端末装置と通信先となる端末装置との間の接続を仲介する処理を実行し、
 複数の端末装置のそれぞれは、
 自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置に対して通知する自己アドレス通知部と、
 自己を通信元として、通信先の別な端末装置に対する通信要求を受け付ける通信要求受付部と、
 通信要求受付部によって通信要求が受け付けられたときに、接続仲介装置に対して、通信先の別な端末装置の端末IDを特定するための通信先特定情報を含む接続仲介依頼を送信する接続仲介依頼部と、
 接続仲介装置から、通信元の別な端末装置のネットワーク上での所在を示す通信元アドレスが送信されてきたときに、ネットワークを介して、通信元アドレスにアクセスして通信開始要求を行う通信開始要求部と、
 通信開始要求に応じて、通信元の別な端末装置から、通信開始受諾確認が返信されてきたら、通信元の別な端末装置との間に通信セッションを確立して通信を開始する通信先セッション確立部と、
 通信先の別な端末装置から、自己を通信元とする通信開始要求がなされたら、通信先の別な端末装置に対して通信開始受諾確認を送信し、通信先の別な端末装置との間に通信セッションを確立して通信を開始する通信元セッション確立部と、
 を有し、
 接続仲介装置は、
 端末装置のそれぞれについて、端末IDと所在アドレスとを対応づけたアドレステーブルを格納するアドレステーブル格納部と、
 端末装置の自己アドレス通知部からの通知に基づいて、アドレステーブルの内容を更新するアドレステーブル更新部と、
 端末装置の接続仲介依頼部から、接続仲介依頼が送信されてきたときに、アドレステーブルを参照して、接続仲介依頼に含まれている通信先特定情報によって特定される端末IDに対応づけられている所在アドレスに対して、接続仲介依頼を送信した通信元の端末装置の端末IDに対応づけられている所在アドレスを通信元アドレスとして送信する通信元アドレス送信部と、
 を有し、
 ルータを介してネットワークに接続されている端末装置の自己アドレス通知部が、自己の所在アドレスとして、ネットワーク上のグローバルIPアドレスとともに、ルータから付与されたプライベートIPアドレスを接続仲介装置に対して通知し、
 アドレステーブル格納部が、所在アドレスとして、各端末装置のグローバルIPアドレスを端末IDに対応づけて格納するとともに、プライベートIPアドレスが通知された端末装置については、更に当該プライベートIPアドレスを端末IDに対応づけて格納し、
 通信元アドレス送信部が、アドレステーブルの内容に応じて、グローバルIPアドレスもしくはプライベートIPアドレス、またはその両方を通信元アドレスとして送信し、
 通信開始要求部が、グローバルIPアドレスもしくはプライベートIPアドレス、またはその両方を用いて通信開始要求を行うことを特徴とするネットワーク通信システム。
 (17) 本発明の第17の態様は、後の§5-3で詳述するように、上述した第16の態様に係るネットワーク通信システムにおいて、
 通信開始要求部が、通信元となる端末装置のグローバルIPアドレスと通信先となる端末装置のグローバルIPアドレスとが同一のIPアドレスである場合には、プライベートIPアドレスを用いて通信開始要求を行い、異なるIPアドレスである場合には、グローバルIPアドレスを用いて通信開始要求を行うようにしたものである。
 (18) 本発明の第18の態様は、後の§6-2で実施例2として詳述するように、上述した第16の態様に係るネットワーク通信システムにおいて、
 通信元アドレス送信部が、アドレステーブルを参照して、接続仲介依頼を送信した通信元の端末装置の端末IDに対応づけられているグローバルIPアドレスと、接続仲介依頼に含まれている通信先特定情報によって特定される端末IDに対応づけられているグローバルIPアドレスと、が同一のIPアドレスであるか否かを判断し、判断対象となる両者が同一のIPアドレスである場合には、プライベートIPアドレスを選択通信元アドレスとして送信し、判断対象となる両者が異なるIPアドレスである場合には、グローバルIPアドレスを選択通信元アドレスとして送信し、
 通信開始要求部が、送信されてきた選択通信元アドレスを用いて通信開始要求を行うようにしたものである。
 (19) 本発明の第19の態様は、後の§7-2で実施例4として詳述するように、上述した第16の態様に係るネットワーク通信システムにおいて、
 通信元アドレス送信部が、送信対象となる所在アドレスとしてグローバルIPアドレスおよびプライベートIPアドレスの両アドレスがアドレステーブルに格納されていた場合に、これら両アドレスを通信元アドレスとして送信し、
 通信開始要求部が、両アドレスの送信があったときに、通信元アドレスとして送信されてきたグローバルIPアドレスと、通信先である自己のグローバルIPアドレスと、が同一のIPアドレスであるか否かを判断し、判断対象となる両者が同一のIPアドレスである場合には、プライベートIPアドレスを用いて通信開始要求を行い、判断対象となる両者が異なるIPアドレスである場合には、グローバルIPアドレスを用いて通信開始要求を行うようにしたものである。
 (20) 本発明の第20の態様は、後の§8-4で追加事項として詳述するように、上述した第19の態様に係るネットワーク通信システムにおいて、
 通信開始要求部が、プライベートIPアドレスを用いた通信開始要求に失敗したと判断される場合もしくは失敗が予想される場合には、グローバルIPアドレスを用いた通信開始要求を行うようにしたものである。
 (21) 本発明の第21の態様は、後の§8-2で実施例6として詳述するように、上述した第16の態様に係るネットワーク通信システムにおいて、
 通信元アドレス送信部が、送信対象となる所在アドレスとしてグローバルIPアドレスおよびプライベートIPアドレスの両アドレスがアドレステーブルに格納されていた場合に、これら両アドレスを通信元アドレスとして送信し、
 通信開始要求部が、両アドレスの送信があったときに、まず、プライベートIPアドレスを用いて通信開始要求をトライし、この通信開始要求に失敗したと判断される場合もしくは失敗が予想される場合には、グローバルIPアドレスを用いた通信開始要求を行うようにしたものである。
 (22) 本発明の第22の態様は、後の§8-2で実施例6として詳述するように、または、後の§8-4で追加事項として詳述するように、上述した第20または第21の態様に係るネットワーク通信システムにおいて、
 通信開始要求部が、プライベートIPアドレスを用いて通信開始要求を行った後、所定のタイムアウト時間内に通信元の端末装置から通信開始受諾確認が送信されてこなかったときに、通信開始要求に失敗したと判断するようにしたものである。
 (23) 本発明の第23の態様は、後の§9で詳述するように、ネットワークを介して相互に接続可能な複数の端末装置と、複数の端末装置間の接続を仲介する接続仲介装置と、を備えたネットワーク通信システムにおいて、
 複数の端末装置には、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、接続仲介装置は、端末IDを利用して通信元となる端末装置と通信先となる端末装置との間の接続を仲介する処理を実行し、
 複数の端末装置のそれぞれは、
 自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置に対して通知する自己アドレス通知部と、
 自己を通信元として、通信先の別な端末装置に対する通信要求を受け付ける通信要求受付部と、
 通信要求受付部によって通信要求が受け付けられたときに、接続仲介装置に対して、通信先の別な端末装置の端末IDを特定するための通信先特定情報を含む接続仲介依頼を送信する接続仲介依頼部と、
 接続仲介装置から、通信元の別な端末装置のネットワーク上での所在を示す通信元アドレスが送信されてきたときに、ネットワークを介して、通信元アドレスにアクセスして通信開始要求を行う通信開始要求部と、
 通信開始要求に応じて、通信元の別な端末装置から、通信開始受諾確認が返信されてきたら、通信元の別な端末装置との間に通信セッションを確立して通信を開始する通信先セッション確立部と、
 通信先の別な端末装置から、自己を通信元とする通信開始要求がなされたら、通信先の別な端末装置に対して通信開始受諾確認を送信し、通信先の別な端末装置との間に通信セッションを確立して通信を開始する通信元セッション確立部と、
 を有し、
 接続仲介装置は、
 端末装置のそれぞれについて、端末IDと所在アドレスとを対応づけたアドレステーブルを格納するアドレステーブル格納部と、
 端末装置の自己アドレス通知部からの通知に基づいて、アドレステーブルの内容を更新するアドレステーブル更新部と、
 端末装置の接続仲介依頼部から、接続仲介依頼が送信されてきたときに、アドレステーブルを参照して、接続仲介依頼に含まれている通信先特定情報によって特定される端末IDに対応づけられている所在アドレスに対して、接続仲介依頼を送信した通信元の端末装置の端末IDに対応づけられている所在アドレスを通信元アドレスとして送信する通信元アドレス送信部と、
 を有し、
 自己アドレス通知部が、自己の所在アドレスとして、ネットワーク上のグローバルIPアドレスを接続仲介装置に対して自発的に通知する自発通知機能と、接続仲介装置から照会を受けたときに、ネットワークへの接続に用いられているルータから付与されたプライベートIPアドレスを回答する回答通知機能と、を有し、
 アドレステーブル格納部が、所在アドレスとして、自発通知機能によって通知された各端末装置のグローバルIPアドレスを端末IDに対応づけて格納し、
 通信元アドレス送信部が、アドレステーブルの参照によって必要と判断される場合には、通信元となる端末装置に対してプライベートIPアドレスの照会を行い、グローバルIPアドレスもしくは照会によって得られたプライベートIPアドレス、またはその両方を通信元アドレスとして送信し、
 通信開始要求部が、グローバルIPアドレスもしくはプライベートIPアドレス、またはその両方を用いて通信開始要求を行うようにしたものである。
 (24) 本発明の第24の態様は、後の§9で詳述するように、上述した第23の態様に係るネットワーク通信システムにおいて、
 通信元アドレス送信部が、通信元となる端末装置のグローバルIPアドレスと通信先となる端末装置のグローバルIPアドレスとが同一のIPアドレスである場合に、通信元となる端末装置に対してプライベートIPアドレスの照会を行い、
 通信開始要求部が、通信元となる端末装置のグローバルIPアドレスと通信先となる端末装置のグローバルIPアドレスとが同一のIPアドレスである場合には、プライベートIPアドレスを用いて通信開始要求を行い、異なるIPアドレスである場合には、グローバルIPアドレスを用いて通信開始要求を行うようにしたものである。
 (25) 本発明の第25の態様は、後の§9-2で実施例2の変形例として詳述するように、上述した第23の態様に係るネットワーク通信システムにおいて、
 通信元アドレス送信部が、アドレステーブルを参照して、接続仲介依頼を送信した通信元の端末装置の端末IDに対応づけられているグローバルIPアドレスと、接続仲介依頼に含まれている通信先特定情報によって特定される端末IDに対応づけられているグローバルIPアドレスと、が同一のIPアドレスであるか否かを判断し、判断対象となる両者が異なるIPアドレスである場合には、グローバルIPアドレスを選択通信元アドレスとして送信し、判断対象となる両者が同一のIPアドレスである場合には、通信元となる端末装置に対してプライベートIPアドレスの照会を行い、この照会によって得られたプライベートIPアドレスを選択通信元アドレスとして送信し、
 通信開始要求部が、送信されてきた選択通信元アドレスを用いて通信開始要求を行うようにしたものである。
 (26) 本発明の第26の態様は、後の§9-4で実施例4の変形例として詳述するように、上述した第23の態様に係るネットワーク通信システムにおいて、
 通信元アドレス送信部が、アドレステーブルを参照して、接続仲介依頼を送信した通信元の端末装置の端末IDに対応づけられているグローバルIPアドレスと、接続仲介依頼に含まれている通信先特定情報によって特定される端末IDに対応づけられているグローバルIPアドレスと、が同一のIPアドレスであるか否かを判断し、判断対象となる両者が異なるIPアドレスである場合には、グローバルIPアドレスのみを通信元アドレスとして送信し、判断対象となる両者が同一のIPアドレスである場合には、通信元となる端末装置に対してプライベートIPアドレスの照会を行い、グローバルIPアドレスおよび照会によって得られたプライベートIPアドレスの両アドレスを通信元アドレスとして送信し、
 通信開始要求部が、グローバルIPアドレスのみの送信があった場合には、送信されてきたグローバルIPアドレスを用いて通信開始要求を行い、両アドレスの送信があった場合には、送信されてきたプライベートIPアドレスを用いて通信開始要求を行うようにしたものである。
 (27) 本発明の第27の態様は、後の§8-4で追加事項として詳述するように、上述した第26の態様に係るネットワーク通信システムにおいて、
 通信開始要求に失敗したと判断される場合もしくは失敗が予想される場合には、グローバルIPアドレスを用いた通信開始要求を行うようにしたものである。
 (28) 本発明の第28の態様は、後の§9-6で実施例6の変形例として詳述するように、上述した第23の態様に係るネットワーク通信システムにおいて、
 通信元アドレス送信部が、アドレステーブルを参照して、接続仲介依頼を送信した通信元の端末装置の端末IDに対応づけられているグローバルIPアドレスと、接続仲介依頼に含まれている通信先特定情報によって特定される端末IDに対応づけられているグローバルIPアドレスと、が同一のIPアドレスであるか否かを判断し、判断対象となる両者が異なるIPアドレスである場合には、グローバルIPアドレスのみを通信元アドレスとして送信し、判断対象となる両者が同一のIPアドレスである場合には、通信元となる端末装置に対してプライベートIPアドレスの照会を行い、グローバルIPアドレスおよび照会によって得られたプライベートIPアドレスの両アドレスを通信元アドレスとして送信し、
 通信開始要求部が、グローバルIPアドレスのみの送信があった場合には、送信されてきたグローバルIPアドレスを用いて通信開始要求を行い、両アドレスの送信があった場合には、まず、送信されてきたプライベートIPアドレスを用いて通信開始要求をトライし、この通信開始要求に失敗したと判断される場合もしくは失敗が予想される場合には、グローバルIPアドレスを用いた通信開始要求を行うようにしたものである。
 (29) 本発明の第29の態様は、後の§9-6で実施例6の変形例として詳述するように、または、後の§8-4で追加事項として詳述するように、上述した第27または第28の態様に係るネットワーク通信システムにおいて、
 通信開始要求部が、プライベートIPアドレスを用いて通信開始要求を行った後、所定のタイムアウト時間内に通信元の端末装置から通信開始受諾確認が送信されてこなかったときに、通信開始要求に失敗したと判断するようにしたものである。
 (30) 本発明の第30の態様は、後の§5-3で詳述するように、上述した第16~第29の態様に係るネットワーク通信システムにおいて、
 通信先の端末装置の通信開始要求部が、グローバルIPアドレスを用いて通信開始要求を行った場合は、これに応じて以後に行われる、通信元の端末装置の通信元セッション確立部と通信先の端末装置の通信先セッション確立部との間の相互アクセスはグローバルIPアドレスを用いて行い、
 通信先の端末装置の通信開始要求部が、プライベートIPアドレスを用いて通信開始要求を行った場合は、これに応じて以後に行われる、通信元の端末装置の通信元セッション確立部と通信先の端末装置の通信先セッション確立部との間の相互アクセスはプライベートIPアドレスを用いて行うようにしたものである。
 (31) 本発明の第31の態様は、後の§5で詳述するように、上述した第1~第30の態様に係るネットワーク通信システムにおける複数の端末装置を構成する1台の端末装置を単体で製品として提供するようにしたものである。
 (32) 本発明の第32の態様は、後の§5で詳述するように、上述した第31の態様に係る1台の端末装置を、コンピュータにプログラムを組み込むことにより構成したものである。
 (33) 本発明の第33の態様は、後の§5で詳述するように、上述した第1~第30の態様に係るネットワーク通信システムにおける接続仲介装置を単体で製品として提供するようにしたものである。
 (34) 本発明の第34の態様は、後の§5で詳述するように、上述した第33の態様に係る接続仲介装置を、コンピュータにプログラムを組み込むことにより構成したものである。
 本発明のネットワーク通信システムによれば、接続仲介装置は、両端末間に通信セッションが確立する最終段階まで関与する必要はなく、通信元の端末装置に対して通信先アドレスを伝達する段階(第1の実施形態の場合)、あるいは、通信先の端末装置に対して通信元アドレスを伝達する段階(第2の実施形態の場合)まで行えば足りる。したがって、従来のSIPを利用して両端末間の接続仲介処理を行うシステムに比べて、一対の端末装置間の接続を仲介する際の処理負荷を、より軽減することが可能になる。
 また、本発明のネットワーク通信システムでは、端末装置間での直接的な通信を開始する際に、相手方の端末装置に対して、グローバルIPアドレスおよびプライベートIPアドレスを選択的に用いて通信開始要求を行うことができるため、ルータを介してネットワークに接続された端末装置間についても効率的な通信を行うことが可能になる。
先願基本発明の第1の実施形態に係るネットワーク通信システムの全体構成を示すブロック図である。 図1に示すネットワーク通信システムの端末装置の詳細構成を示すブロック図である。 図2に示す端末装置における自己アドレス通知部250の機能を示すブロック図である。 図1に示すネットワーク通信システムにおいて、通信元端末装置200Aと通信先端末装置200Bとの間の通信セッション確立の手順を示すブロック図である。 図4のブロック図に示されている通信セッション確立手順を時系列で説明する流れ図である。 先願基本発明の第2の実施形態に係るネットワーク通信システムの全体構成を示すブロック図である。 図6に示すネットワーク通信システムの端末装置の詳細構成を示すブロック図である。 図6に示すネットワーク通信システムにおいて、通信元端末装置400Bと通信先端末装置400Aとの間の通信セッション確立の手順を示すブロック図である。 図8のブロック図に示されている通信セッション確立手順を時系列で説明する流れ図である。 図1もしくは図6に示すアドレステーブルの第1の変形例を示す図である。 図1もしくは図6に示すアドレステーブルの第2の変形例を示す図である。 図1もしくは図6に示すアドレステーブルの第3の変形例を示す図である。 図1に示すネットワーク通信システムにおいて、通信元端末装置200Aと通信先端末装置200Bとの間の通信セッション確立の手順の変形例を示すブロック図である。 図6に示すネットワーク通信システムにおいて、通信元端末装置400Bと通信先端末装置400Aとの間の通信セッション確立の手順の変形例を示すブロック図である。 ルータを介して端末装置をネットワークNに接続する場合の先願基本発明の実施形態を示すブロック図である。 図15に示す実施形態において、IPアドレスにポート番号を付加した情報を所在アドレスとして用いる場合のアドレステーブルの例を示す図である。 先願基本発明に係る端末装置を通信アプリケーションプログラムを用いて構成する場合における自己アドレスの通知タイミングを示す表である。 先願基本発明に係るネットワーク通信システムにおいて、VPNを利用した実施形態の全体構成を示すブロック図である。 図18に示す実施形態におけるVPN通信の原理を示す図である。 図18に示す実施形態に用いるために、VIPアドレスを追加したアドレステーブルの例を示す図である。 ルータを介してネットワークNに接続されている端末装置を含むネットワーク通信システムの全体構成を示すブロック図である。 図21に示すネットワーク通信システムにおける端末装置200A-200C間の通信形態を示すブロック図である。 図21に示すネットワーク通信システムにおける端末装置200A-200B間の通信形態を示すブロック図である。 図21に示すネットワーク通信システムにおいて、各端末装置のグローバルIPアドレス(GIP)とプライベートIPアドレス(PIP)の双方をアドレステーブルに格納した例を示す図である。 本発明の第1の実施形態に係るネットワーク通信システムにおいて、接続仲介装置がGIP/PIPの選択を行うアプローチを用いた実施例1についての装置間信号の流れを示すダイアグラムである。 本発明の第2の実施形態に係るネットワーク通信システムにおいて、接続仲介装置がGIP/PIPの選択を行うアプローチを用いた実施例2についての装置間信号の流れを示すダイアグラムである。 本発明の第1の実施形態に係るネットワーク通信システムにおいて、端末装置がGIP/PIPの選択を行うアプローチを用いた実施例3についての装置間信号の流れを示すダイアグラムである。 本発明の第2の実施形態に係るネットワーク通信システムにおいて、端末装置がGIP/PIPの選択を行うアプローチを用いた実施例4についての装置間信号の流れを示すダイアグラムである。 本発明の第1の実施形態に係るネットワーク通信システムにおいて、端末装置がPIP失敗時にGIPで再度トライするアプローチを用いた実施例5についての装置間信号の流れを示すダイアグラムである。 本発明の第2の実施形態に係るネットワーク通信システムにおいて、端末装置がPIP失敗時にGIPで再度トライするアプローチを用いた実施例6についての装置間信号の流れを示すダイアグラムである。 多層構造をもって設置されたルータを介してネットワークNに接続されている端末装置を含むネットワーク通信システムの全体構成を示すブロック図である。 図31に示すネットワーク通信システムにおいて、各端末装置のグローバルIPアドレス(GIP)とプライベートIPアドレス(PIP)の双方をアドレステーブルに格納した例を示す図である。 図25に示す実施例1において、PIPをその都度照会する形態を採用した変形例についての装置間信号の流れを示すダイアグラムである。 図26に示す実施例2において、PIPをその都度照会する形態を採用した変形例についての装置間信号の流れを示すダイアグラムである。 図27に示す実施例3において、PIPをその都度照会する形態を採用した変形例についての装置間信号の流れを示すダイアグラムである。 図28に示す実施例4において、PIPをその都度照会する形態を採用した変形例についての装置間信号の流れを示すダイアグラムである。 図29に示す実施例5において、PIPをその都度照会する形態を採用した変形例についての装置間信号の流れを示すダイアグラムである。 図30に示す実施例6において、PIPをその都度照会する形態を採用した変形例についての装置間信号の流れを示すダイアグラムである。
 以下、本発明を図示する実施形態に基づいて説明する。なお、ここで述べる実施形態は、PCT/JP2016/055960に基づく優先権主張を伴う国際出願PCT/JP2017/006131(以下、先願となる国際出願と呼ぶ)に記載された発明(以下、先願基本発明と呼ぶ)を基礎として、この先願基本発明に、グローバルIPアドレスおよびプライベートIPアドレスを選択的に用いて通信開始要求を行う機能を付加することにより、「ルータを介してネットワークに接続された端末装置間についても効率的な通信を行うことが可能になる」という固有の付加的な作用効果が得られるようにしたものである。
 このような事情から、ここでは、先願基本発明を基礎とした本発明の実施形態を、本発明の好ましい一実施形態として述べることにする。そこで、以下の§1~§4において、まず、先願基本発明の説明を行い、§5以降において、本発明に固有の特徴について述べることにする。したがって、以下の§1~§4で述べる内容(図1~図20に示す内容)は、実質的に先願となる国際出願PCT/JP2017/006131に記載された実施形態と同じものである。
 <<< §1. 先願基本発明の第1の実施形態 >>>
 <1-1. 先願基本発明の第1の実施形態の構成>
 図1は、先願基本発明の第1の実施形態に係るネットワーク通信システムの全体構成を示すブロック図である。図示のとおり、このネットワーク通信システムは、接続仲介装置100と複数の端末装置200A~200Dによって構成されており、これらの各装置はいずれもネットワークN(この例では、インターネット)を介して相互に接続することが可能である。
 図では、説明の便宜上、4台の端末装置200A~200Dを用いた例を示すことにするが、実用上は、より多数の端末装置を利用するのが一般的である。各端末装置200A~200Dは、共通の構成を有する同一の装置である。そこで、ここでは、この共通の端末装置について言及する場合は符号200を用いて示し、相互に区別する必要がある場合には、符号末尾にA~Dを付して示すことにする。端末装置200の内部構成要素を示す各符号についても同様である。
 結局、このネットワーク通信システムは、ネットワークNを介して相互に接続可能な複数の端末装置200A~200Dと、これら複数の端末装置間の接続を仲介する接続仲介装置100と、を備えたシステムということになる。端末装置200としては、パソコン、携帯電話、タブレット型端末など、ネットワークNに接続して通信を行う機能を有する様々な電子機器を利用することができる。一方、接続仲介装置100は、これら各端末装置200A~200DからネットワークNを介してアクセスを受けるサーバコンピュータによって構成されている。
 各端末装置200A~200Dには、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、接続仲介装置100は、この端末IDを利用して通信元となる端末装置と通信先となる端末装置との間の接続を仲介する処理を実行する。ここでは、図示のとおり、端末装置200A,200B,200C,200Dには、それぞれ「0010」,「0020」,「0030」,「0040」なる端末IDが付与されているものとする。
 なお、先願基本発明を実施する上で、端末IDは、個々の端末装置を相互に識別することができる情報であれば、どのような情報であってもかまわない。図示の例では、4台の端末装置しか用いられていないため、「0010」のような4桁の数字を端末IDとして用いれば十分であるが、各端末装置を相互に識別するためには、ユニークなIDを用いる必要があるので、実用上は、より桁数の多い数字もしくは数字とアルファベットの組み合わせを用いるのが好ましい。具体的には、個々の端末装置に内蔵されているCPUのシリアル番号、通信インターフェイスに付与されたMACアドレス、携帯電話を端末装置として用いる場合は電話番号やSIMカードのシリアル番号、などを端末IDとして用いることが可能である。
 各端末装置200A~200Dには、それぞれ自己のネットワーク上での所在を示す所在アドレスが付与されている。図示の例の場合、端末装置200A,200B,200C,200Dには、それぞれAD1,AD2,AD3,AD4なる所在アドレスが付与されている。所在アドレスとしては、ネットワーク上で当該端末装置の所在を一義的に決定できるアドレスであれば、どのようなアドレスを用いてもよい。図示の例のように、ネットワークNとしてインターネットを用い、通信プロトコルとしてIPを利用する場合は、個々の端末装置200のネットワークN上での所在を示す所在アドレスとして、グローバルIPアドレスもしくはNAT-IDを用いるのが好ましい。
 端末IDが、個々の端末装置を相互に識別するために必要な情報であるのに対して、所在アドレスは、ネットワークNを介して個々の端末装置をアクセスするために必要な情報である。しかも多くの端末装置の場合、所在アドレスは常に一定ではなく、時事刻々と変化する。たとえば、携帯電話やモバイルパソコンなどの携帯型端末装置の場合、移動とともに交信相手となる基地局が変化するため、所在アドレスも時間的に変化する。また、デスクトップ型パソコンのような定点設置型の端末装置の場合も、プロバイダから付与されるIPアドレスなどが更新されるため、やはり所在アドレスが時間的に変化するのが一般的である。
 後述するように、先願基本発明に用いる端末装置200は、自己のネットワーク上での所在を示す所在アドレスを、ネットワークNを介して接続仲介装置100に通知する機能を有している。このため、接続仲介装置100は、各端末装置200A~200Dの最新アドレスを常に把握することができ、必要に応じて、各端末装置200A~200Dにアクセスすることが可能である。
 図示のとおり、接続仲介装置100には、アドレステーブル格納部110、アドレステーブル更新部120、通信先アドレス返信部130が設けられている。前述したとおり、この接続仲介装置100は、実際には、サーバコンピュータなどのコンピュータによって構成される。したがって、図に個々のブロックとして示されている各構成要素は、実際には、コンピュータに専用のプログラムを組み込むことにより構築されることになる。
 アドレステーブル格納部110には、各端末装置200A~200Dのそれぞれについて、端末IDと所在アドレスとを対応づけたアドレステーブルTが格納されており、アドレステーブル更新部120は、各端末装置200A~200Dからの通知に基づいて、このアドレステーブルTの内容を更新する処理を行う。また、通信先アドレス返信部130は、各端末装置200A~200Dから接続仲介依頼があると、アドレステーブルTを参照することにより、通信先アドレスを返信する処理を行う。
 図には、アドレステーブルTとして、4台の端末装置200A~200Dのそれぞれについて、端末IDと所在アドレスとの対応関係を示す情報が格納されている。具体的には、端末装置200Aについては端末ID「0010」と所在アドレス「AD1」とが対応づけられ、端末装置200Bについては端末ID「0020」と所在アドレス「AD2」とが対応づけられ、端末装置200Cについては端末ID「0030」と所在アドレス「AD3」とが対応づけられ、端末装置200Dについては端末ID「0040」と所在アドレス「AD4」とが対応づけられている。
 続いて、図2を参照しながら、端末装置200の詳細構成および個々の構成要素の具体的な処理動作を説明する。図示のとおり、端末装置200には、接続仲介依頼部210、通信要求受付部220、通信先セッション確立部230、通信開始要求部240、自己アドレス通知部250、通信元セッション確立部260が設けられている。
 この端末装置200も、実際には、種々のコンピュータ(携帯電話などの機器も含む)によって構成され、図に個々のブロックとして示されている各構成要素は、実際には、コンピュータに専用のプログラムを組み込むことにより構築される。なお、実際の端末装置200には、この他にも種々の構成要素が組み込まれている。たとえば、端末装置200がスマートフォンであれば、様々なアプリケーションプログラムを組み込むことにより、様々な処理機能をもった構成要素が付加されることになるが、ここでは、先願基本発明に直接関係する構成要素のみを図にブロックとして示すことにし、その他の構成要素についての説明は省略する。もちろん、端末装置200には、ユーザからの指示入力や文字入力を行う入力インターフェイスや、ユーザに情報を提示するためのディスプレイなどの構成要素も備わっているが、これらの構成要素についての説明も省略する。
 結局、図2において、端末装置200内に6つのブロックとして描かれている構成要素は、先願基本発明に係る端末装置200において必須の機能要素ということになる。このブロック図には、各ブロック間の信号の流れを示す矢印として、太線矢印、細線矢印、白抜矢印の3通りの矢印が用いられている。ここで、太線矢印は、端末装置200と接続仲介装置100との間でやりとりされる、通信セッション確立前の信号の流れを示しており、細線矢印は、一対の端末装置200の間でやりとりされる、通信セッション確立前の信号の流れを示している。そして、白抜矢印は、一対の端末装置200の間でやりとりされる、通信セッション確立後の信号の流れを示している。
 また、図2では、端末装置200内の6つの構成要素が、楕円、矩形、二重矩形という3通りのブロックを用いて描かれているが、これは、各構成要素の役割分担を示すための便宜である。具体的には、楕円ブロックで示されている構成要素は、端末装置200が「アドレス通知」の処理を実行するための構成要素であり、矩形ブロックで示されている構成要素は、端末装置200が「通信元」として機能する場合に必要な処理を実行する構成要素であり、二重矩形ブロックで示されている構成要素は、端末装置200が「通信先」として機能する場合に必要な処理を実行する構成要素である。
 本願において、「通信元」および「通信先」という用語は、2台の端末装置が相互に通信を行う場合に、これら2台を区別するために用いる用語であり、自発的に通信を開始するための処理を行う側を「通信元」と呼び、この「通信元」からの働きかけに応じて、当該「通信元」と通信を行うために必要な処理を行う側を「通信先」と呼んでいる。たとえば,2台の端末装置を電話として使う場合、発呼側の装置が「通信元」であり、着呼側の装置が「通信先」になる。「通信元」の端末装置は、特定の「通信先」を指定して、自発的に通信を開始するための処理を行うことになる。
 もちろん、端末装置200は、「通信元」になったり「通信先」になったりする。「通信元」になったときには、図2に矩形ブロックで示されている構成要素による処理が行われ、「通信先」になったときには、図2に二重矩形ブロックで示されている構成要素による処理が行われる。以下、端末装置200の6つの構成要素の各機能を順に説明する。
 上述したように、楕円ブロックで示されている自己アドレス通知部250は、「アドレス通知」の処理を実行するための構成要素であり、自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置100に対して通知する処理を実行する。所在アドレスとしてIPアドレスを用いるのであれば、自己アドレス通知部250は、現時点で自己に付与されたIPアドレスをネットワークNを介して接続仲介装置100に通知する処理を行うことになる。
 通常、インターネットに接続可能な端末装置200には、インターネットプロバイダから所定のグローバルIPアドレスが付与されるので、自己アドレス通知部250は、端末装置200に付与されたグローバルIPアドレスを、所在アドレスとして接続仲介装置100に対して通知すればよい。また、ルータのNAT機能を利用して、プライベートIPアドレスが付与されている場合には、NAT-IDを所在アドレスとして接続仲介装置100に対して通知すればよい。所在アドレスを通知する際には、端末IDを同時に送信するようにする。
 図1に示すアドレステーブル更新部120は、このような通知を受けて、アドレステーブルTの更新を行う。たとえば、端末装置200Aから接続仲介装置100に対して、端末ID「0010」と所在アドレス「AD1」とが通知された場合、アドレステーブル更新部120は、端末ID「0010」と所在アドレス「AD1」とを対応づけてアドレステーブルTに格納する処理を行う。
 前述したとおり、一般的な端末装置200の場合、所在アドレスが時間的に変化する。したがって、実用上は、自己アドレス通知部250には、所定周期で繰り返して、現時点の自己(端末装置200)の所在アドレスを通知する機能をもたせておくのが好ましい。たとえば、自己アドレス通知部250が1分おきに繰り返し通知を行うようにすれば、アドレステーブルTは1分おきに最新の情報に更新されることになる。
 あるいは、自己アドレス通知部250には、自己(端末装置200)の所在アドレスが変更になったときに、現時点の所在アドレスを通知する機能をもたせておくようにしてもよい。すなわち、初めて所在アドレスが付与された段階で、当該所在アドレスを初期状態のアドレスとして通知させ、その後は、所在アドレスが変更になるたびに新たな所在アドレスを通知させるようにすればよい。もちろん、所定周期で繰り返し通知する運用と、所在アドレスが変更になったときに通知する運用とを組み合わせてもかまわない。
 次に、図2に矩形ブロックで示されている4つの構成要素について説明する。上述したように、これら4つの構成要素は、端末装置200が「通信元」として機能する場合に必要な処理を実行する。
 まず、通信要求受付部220は、自己を通信元として、通信先の別な端末装置に対する通信要求を受け付ける処理を行う。たとえば、端末装置200(通信元)のユーザが、特定の相手に電話をかけたい場合、当該相手が所持する別な端末装置(通信先)に対して通信を行いたい旨の通信要求を行うことになる。この通信要求は、たとえば、図示されていない入力インターフェイスを介したユーザの操作入力(たとえば、タッチパネル上での操作)として与えられ、相手先の端末装置を特定するための何らかの情報を含むものになる。
 接続仲介依頼部210は、通信要求受付部220によって通信要求が受け付けられたときに、接続仲介装置100に対して、通信先の別な端末装置の端末IDを特定するための通信先特定情報を含む接続仲介依頼を送信する。ここで、接続仲介依頼に含まれる通信先特定情報は、通信先の別な端末装置の端末IDであってもよいし、当該端末IDを特定することが可能な別な情報であってもかまわない(詳細は、§3-1で述べる)。
 こうして、接続仲介依頼部210から送信された接続仲介依頼は、ネットワークNを介して接続仲介装置100へと伝達される(前述したように、図における太線矢印は、端末装置200と接続仲介装置100との間でやりとりされる、通信セッション確立前の信号の流れを示している)。すると、接続仲介装置100からは、図に太線矢印で示すように、通信先となる別な端末装置のネットワーク上での所在を示す通信先アドレスが返信されてくる。これは、図1に示す通信先アドレス返信部130の機能によるものである。
 すなわち、通信先アドレス返信部130は、端末装置200の接続仲介依頼部210から、接続仲介依頼が送信されてきたときに、アドレステーブルTを参照して、接続仲介依頼に含まれている通信先特定情報によって特定される端末IDに対応づけられている所在アドレスを通信先アドレスとして返信する処理を行う。もちろん、返信の相手先は、接続仲介依頼を行った端末装置200である。要するに、通信先アドレス返信部130は、通信元の端末装置から通信先を特定した接続仲介依頼があると、アドレステーブルTを用いて、当該通信先の現時点での所在アドレスを検索し、これを通信元の端末装置に返信する処理を行うことになる。
 このように、接続仲介依頼部210によって接続仲介依頼を行うと、接続仲介装置100からは、通信先の別な端末装置のネットワーク上での所在を示す通信先アドレスが返信されてくる。こうして返信されてきた通信先アドレスは、通信開始要求部240によって受信される。通信開始要求部240は、この通信先アドレスにネットワークNを介してアクセスして通信開始要求を行う。図に細線矢印で示すとおり、この通信開始要求は、1台の端末装置200(通信元)から別な1台の端末装置200(通信先)に宛てた信号ということになる。
 このように、通信開始要求部240によって、通信先の別な端末装置に対して通信開始要求を送信すると、当該通信先の別な端末装置からは、この通信開始要求に応じて、通信開始受諾確認が返信されてくる(図の右側の細線矢印:この返信処理については、通信先の別な端末装置の通信先セッション確立部230の処理として後述する)。こうして返信されてきた通信開始受諾確認は、通信元セッション確立部260によって受信される。通信元セッション確立部260は、この通信開始受諾確認を受信したら、当該通信先の別な端末装置との間に通信セッションを確立して通信を開始する。図2の右端に描かれた白抜矢印は、このようにして通信セッションが確立した後の両端末間の信号(通信パケット)の流れを示している。
 以上、図2に矩形ブロックで示されている4つの構成要素、すなわち、端末装置200が「通信元」として機能する場合に処理を実行する構成要素について説明したが、続いて、図2に二重矩形ブロックで示されている構成要素、すなわち、端末装置200が「通信先」として機能する場合に処理を実行する構成要素について説明する。
 図2において、二重矩形ブロックで示されている構成要素は、通信先セッション確立部230である。この通信先セッション確立部230は、通信元の別な端末装置から、自己を通信先とする通信開始要求がなされたら(図の左側の下向き細線矢印)、当該通信元の別な端末装置に対して通信開始受諾確認を送信し(図の左側の上向き細線矢印)、当該通信元の別な端末装置との間に通信セッションを確立して通信を開始する。図2の左端に描かれた白抜矢印は、このようにして通信セッションが確立した後の両端末間の信号(通信パケット)の流れを示している。
 結局、通信元端末装置と通信先端末装置との間の通信セッション確立後の通信は、通信元端末装置の通信元セッション確立部260と通信先端末装置の通信先セッション確立部230との間で行われることになる。別言すれば、図2の右端の白抜矢印は、ネットワークNを介して、図2の左端の白抜矢印に連なることになる。
 <1-2. 第1の実施形態における具体的な通信手順>
 これまで、図1および図2を参照しながら、先願基本発明の第1の実施形態に係るネットワーク通信システムの構成要素である接続仲介装置100および端末装置200の各構成要素およびその機能を説明した。ここでは、この第1の実施形態に係るネットワーク通信システムにおける通信手順を、具体例に即して説明することにする。
 図3は、図2に示す端末装置における自己アドレス通知部250の機能を示すブロック図である。図の上段には接続仲介装置100が示され、図の下段には2組の端末装置200A,200Bが示されている。ここでは、端末装置200C,200Dの図示は省略するが、自己アドレス通知部250の機能は同じである。なお、前述したとおり、接続仲介装置100と各端末装置200A,200Bとの間の情報のやりとり(太線矢印で示す)は、実際にはネットワークNを介して行われるが、ここでは説明の便宜上、ネットワークNの図示は省略する。
 図3に示す端末装置200A,200Bは、図2に示す端末装置200と同様に6つの構成要素を有している。すなわち、端末装置200Aは、構成要素210A~260Aを有し、端末装置200Bは、構成要素210B~260Bを有しており、これら各構成要素は、図2に示す構成要素210~260と同一のものである(符号末尾のA,Bは、いずれの端末装置の構成要素であるかを区別するために付したものである)。なお、この図3は、端末装置200A,200Bの自己アドレス通知機能を説明するための図であるので、自己アドレス通知部250A,250B以外の構成要素のブロックは破線で示してある。
 自己アドレス通知部250A,250Bは、自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置100内のアドレステーブル更新部120に対して通知する処理を行う。図3には、自己アドレス通知部250Aからアドレステーブル更新部120への通知として、「0010:AD1」なるデータが送信されている例が示されているが、これは、自己の端末ID「0010」とともに自己の現時点での所在アドレス「AD1」を送信していることを示している。同様に、自己アドレス通知部250Bからアドレステーブル更新部120への通知として、「0020:AD2」なるデータが送信されている例が示されているが、これは、自己の端末ID「0020」とともに自己の現時点での所在アドレス「AD2」を送信していることを示している。
 各端末装置200A,200Bの自己アドレス通知部250A,250Bから、このような通知を受けたアドレステーブル更新部120が、当該通知に基づいて、アドレステーブルTの内容を更新する処理を行う点は、既に§1-1で述べたとおりである。また、自己アドレス通知部250A,250Bが、所定周期で繰り返して、もしくは、所在アドレスが変更になったときに、現時点の所在アドレスを通知する処理を行う点も§1-1で述べたとおりである。
 このように、自己アドレス通知部250が行う所在アドレスの通知処理は、端末装置間の通信を開始するための直接的な処理ではないが、いつでも通信を開始できるようにするための準備処理ということができる。この通知処理を行うことにより、接続仲介装置100内のアドレステーブルTを最新の状態に保つことができ、実際に、特定の端末装置間で通信を行う必要が生じたときに、接続仲介装置100による正しい仲介処理が実現できるのである。
 続いて、特定の端末装置間で実際に通信を開始する際の処理手順を説明する。図4は、図1に示すネットワーク通信システムにおいて、通信元端末装置200Aと通信先端末装置200Bとの間の通信セッション確立の手順を示すブロック図である。この図4においても、図の上段には接続仲介装置100が示され、図の下段には2組の端末装置200A,200Bが示されている。ここでも、接続仲介装置100と端末装置200Aとの間の情報のやりとり(太線矢印で示す)や、端末装置200A,200B間の情報のやりとり(細線矢印で示す)は、実際にはネットワークNを介して行われるが、説明の便宜上、ネットワークNの図示は省略する。
 また、ここでは、説明の便宜上、端末装置200Aを通信元、端末装置200Bを通信先とした場合の手順を説明する。このため、図4では、通信元端末装置200A内の構成要素については、通信元として必要な処理を実行する構成要素(矩形ブロックの構成要素)のみを実線で示し、通信先端末装置200B内の構成要素については、通信先として必要な処理を実行する構成要素(二重矩形ブロックの構成要素)のみを実線で示すことにし、それ以外の構成要素のブロックは破線で示してある。
 一方、図5は、図4のブロック図に示されている通信セッション確立手順を時系列で説明する流れ図である。以下、図4のブロック図を参照しながら、図5の流れ図に従って、第1の実施形態における具体的な通信手順を説明する。なお、図4のブロック図において、各矢印に付された符号S1~S7は、図5の流れ図における各ステップS1~S7に対応するものである。逆に、図5の流れ図の各ステップにおいて、括弧書きで示された符号は、図4のブロック図における特定のブロックに対応するものであり、当該ステップの内容に関連する特定の構成要素を示すものである。
 まず、ステップS1において、通信要求受付処理が行われる。これは、図4に示す通信要求受付部220Aによって行われる処理であり、たとえば、通信元端末装置200AのユーザAが、通信先端末装置200BのユーザBに対して電話をしたい、という場合に、ユーザAの操作入力に基づいて行われる処理である。たとえば、各端末装置200A,200Bが携帯電話であり、端末IDとして、それぞれの電話番号を用いている場合は、ユーザAは端末装置200Aに対して、端末装置200Bの端末ID(電話番号)を入力する操作を伴う通信要求S1を行えばよい。すなわち、端末装置200Aの通信要求受付部220Aは、自己を通信元として、通信先の別な端末装置200Bに対する通信要求S1を受け付ける処理を行うことになる。
 なお、通信要求受付部220Aが通信要求S1を受け付けるのは、必ずしもユーザAが電話をかけるための操作入力を行った場合に限られるわけではない。たとえば、ユーザA,Bが通信対戦型のゲームをプレイしている場合は、当該ゲーム用のアプリケーションプログラムから通信要求受付部220Aに対して通信要求S1が与えられることになる。あるいは、端末装置200A,200Bが何らかのビジネス処理を行うパソコンであり、パソコン200Aに組み込まれたビジネス処理用のアプリケーションプログラムが、パソコン200Bに対して自動的に定時報告を行うような場合、当該アプリケーションプログラムから通信要求受付部220Aに対して通信要求S1が与えられることになる。このように、先願基本発明における通信要求は、必ずしもユーザによって与えられるものではなく、端末装置に組み込まれているプログラムによって与えられる場合もある。
 こうして、ステップS1において通信要求受付が行われると、続くステップS2において、接続仲介依頼が行われる。これは、図4に示す接続仲介依頼部210Aによって行われる処理であり、既に述べたとおり、接続仲介装置100に対して、通信先の別な端末装置200Bの端末IDを特定するための通信先特定情報を含む接続仲介依頼S2を送信する処理である。
 なお、一般に、ネットワークを介して接続された二者間で情報の送受を行う場合、情報の送信側は自分のアドレスを受信側に伝達し、受信側は当該送信側アドレス宛にアクノレッジ信号を返信する処理を行う。したがって、接続仲介依頼部210Aから接続仲介依頼S2を送信する際には、自己の所在アドレス「AD1」が接続仲介装置100側に伝達されることになる。後述するステップS4における返信処理は、この所在アドレス「AD1」宛に行われる。
 こうして、通信元端末装置200Aの接続仲介依頼部210Aから、接続仲介装置100へ接続仲介依頼が送信されてくると、ステップS3において、この接続仲介依頼を受けた通信先アドレス返信部130が、アドレステーブル格納部110に格納されているアドレステーブルを参照して、当該接続仲介依頼に含まれている通信先特定情報によって特定される端末ID(この例では、「0020」)に対応づけられている所在アドレスを通信先アドレスとして認識する。たとえば、その時点におけるアドレステーブルTが、図1に示すようなものであったとすると、端末ID「0020」に対応づけられているアドレス「AD2」が通信先アドレスとして認識される。
 そこで、ステップS4において、通信先アドレス返信部130が、ステップS3で認識した通信先アドレス「AD2」を返信する処理を行う。もちろん、返信相手は、ステップS2において接続仲介依頼を行った通信元端末装置200Aである。前述したとおり、接続仲介依頼S2には通信元端末装置200Aの所在アドレス「AD1」の情報が含まれているので、通信先アドレス返信部130は、当該所在アドレス「AD1」宛に、通信先アドレス「AD2」を返信することができる。
 こうして、通信先アドレス返信部130から通信先アドレス返信S4(通信先アドレス「AD2」を伝達する情報)が送信されてくると、当該通信先アドレス返信S4は、通信開始要求部240Aによって受信される。結局、通信元端末装置200Aが、接続仲介装置100に対して接続仲介依頼S2を行うと、この接続仲介依頼S2に応じて、接続仲介装置100から、通信先端末装置200Bのネットワーク上での所在を示す通信先アドレス「AD2」が返信されてくることになる。接続仲介装置100に用意されているアドレステーブルTは、常に最新の状態に更新されているので、返信されてきた通信先アドレス「AD2」は、通信先端末装置200Bの最新の所在アドレスということになる。
 そこで、この通信先アドレス返信S4により、通信先アドレス「AD2」を取得した通信開始要求部240Aは、ステップS5において、通信先端末装置200Bに対して通信開始要求S5を行う。すなわち、ネットワークNを介して、通信先アドレス「AD2」宛にアクセスを行い、相手方に通信開始の要求を伝える。このとき、自己の所在アドレス(通信元アドレス「AD1」)も併せて伝達されることになる。
 通信先アドレス「AD2」宛に行われた通信開始要求S5は、通信先端末装置200Bの通信先セッション確立部230Bによって受信される。通信先セッション確立部230Bは、通信元端末装置200Aから、自己(端末装置200B)を通信先とする通信開始要求S5がなされたら、まず、ステップS6において、ネットワークNを介して通信元端末装置200Aに対して通信開始受諾確認S6を送信する。そして、続くステップS7において、通信元端末装置200Aとの間に通信セッションを確立して通信S7を開始する。
 一方、通信元端末装置200A宛に送信されてきた通信開始受諾確認S6は、通信元セッション確立部260Aによって受信される。そして、ステップS7では、この通信開始受諾確認S6を受信した通信元セッション確立部260Aが、通信先端末装置200Bとの間に通信セッションを確立して通信S7を開始する処理も行われる。要するに、通信元端末装置200A側では、通信開始要求S5に応じて、通信先端末装置200Bから通信開始受諾確認S6が返信されてきたら、当該通信先端末装置200Bとの間に通信セッションを確立して通信を開始する処理を行うことになる。
 かくして、通信元端末装置200Aと通信先端末装置200Bとの間に通信セッションが確立され、両者間での通信S7が行われることになる。この図5に示す流れ図において、接続仲介装置100が行った処理は、ステップS3のアドレステーブル参照処理とステップS4の通信先アドレス返信処理だけである。すなわち、接続仲介装置100が行う仲介処理は、通信元端末装置200Aからの接続仲介依頼S2を受けて、アドレステーブルTを参照し(ステップS3)、得られた通信先アドレスを通信元端末装置200Aに対して返信する(ステップS4)だけである。接続仲介装置100がこのような仲介処理を行うだけで、通信元端末装置200Aと通信先端末装置200Bとの間に通信セッションが確立され、両者間での通信が開始することになる。
 このように、先願基本発明の第1の実施形態に係るネットワーク通信システムでは、接続仲介装置100の処理負荷は極めて軽くなる。前述したように、SIPを利用して両端末間の接続仲介処理を行うシステムでは、従来型の中継処理に比べれば、その処理負荷は軽減されることになるが、両端末間にセッションが確立するまで関与する必要があり、多数の端末装置からの仲介依頼が集中すると、その処理負荷はかなり重くなってくる。これに対して、先願基本発明の第1の実施形態に係るシステムの場合、接続仲介装置100は、両端末間に通信セッションが確立するまで関与する必要はなく、通信元端末装置に対して通信先アドレスを伝達する処理を行えば足りる。このため、一対の端末装置間の接続を仲介する際の処理負荷を、より軽減することが可能になる。
 このように、先願基本発明の第1の実施形態に係るネットワーク通信システムでは、接続仲介装置100が通信セッション確立まで関与しないため、接続仲介装置100は、両端末装置間に通信セッションが確立し、支障なく通信が行われているか否かを把握することはできない。そこで、もし必要があれば、通信セッション確立後に、通信元セッション確立部260Aもしくは通信先セッション確立部230Bから接続仲介装置100に対して、支障なく通信セッションが確立した旨の報告を行うようにしてもよい。
 なお、上述の実施例では、通信先セッション確立部230Bが、通信元端末装置200Aから、自己を通信先とする通信開始要求S5がなされた時に、ステップS6において、当該通信元端末装置200Aに対して通信開始受諾確認を送信する、という説明を行ったが、場合によっては、通信開始要求S5を受諾せずに拒絶し、通信開始受諾確認を送信しないようにしてもよい(あるいは、通信開始受諾確認の代わりに、通信開始拒絶通知を送信するようにしてもよい)。すなわち、通信先セッション確立部230Bに何らかの条件判断機能をもたせておき、通信開始要求S5がなされた場合、所定の条件を満たしている場合に限り、通信開始受諾確認を送信する処理を行わせるようにすればよい。
 たとえば、通信先端末装置200BのユーザBが、通信先セッション確立部230に対して、着信拒否の設定を行えるようにし、「着信拒否の設定がなされていない」という条件を満たす場合にのみ、通信開始受諾確認を送信する処理が行われるようにすればよい。また、通信開始要求S5に、通信元端末装置200Aを特定するための何らかの通信元特定情報(たとえば、端末ID)を含ませるようにしておけば、通信先セッション確立部230Bは、通信開始要求S5を行った通信元に応じて、当該要求を受諾したり拒絶したりする処理が可能になる。
 たとえば、通信先セッション確立部230Bに、通信開始要求S5を常に拒絶する通信元リスト(いわゆるブラックリスト)や通信開始要求S5を常に受諾する通信元リスト(いわゆるホワイトリスト)を用意しておけば、通信先セッション確立部230Bは、当該リストを参照することにより、通信開始要求S5を受諾するか拒絶するかの判断を行うことができる。
 また、§3-3で述べるように、セキュリティを向上させる変形例を採用する場合は、通信開始要求S5に何らかのセキュリティ上の問題が存在する場合には、これを拒絶する運用を採用することも可能である。
 <<< §2.先願基本発明の第2の実施形態 >>>
 <2-1. 先願基本発明の第2の実施形態の構成>
 続いて、先願基本発明の第2の実施形態を説明する。図6は、この第2の実施形態に係るネットワーク通信システムの全体構成を示すブロック図である。図示のとおり、このネットワーク通信システムは、接続仲介装置300と複数の端末装置400A~400Dによって構成されており、これらの各装置はいずれもネットワークN(この例では、インターネット)を介して相互に接続することが可能である。
 ここでも、説明の便宜上、4台の端末装置400A~400Dを用いた例を示すことにするが、実用上は、より多数の端末装置を利用するのが一般的である。各端末装置400A~400Dは、共通の構成を有する同一の装置であり、この共通の端末装置について言及する場合は符号400を用いて示し、相互に区別する必要がある場合には、符号末尾にA~Dを付して示すことにする。端末装置400の内部構成要素を示す各符号についても同様である。
 この図6に示すネットワーク通信システムは、ネットワークNを介して相互に接続可能な複数の端末装置400A~400Dと、これら複数の端末装置間の接続を仲介する接続仲介装置300と、を備えたシステムということになる。やはり端末装置400としては、パソコン、携帯電話、タブレット型端末など、ネットワークNに接続して通信を行う機能を有する様々な電子機器を利用することができる。また、接続仲介装置300は、これら各端末装置400A~400DからネットワークNを介してアクセスを受けるサーバコンピュータによって構成されている。
 各端末装置400A~400Dには、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、接続仲介装置300は、この端末IDを利用して通信元となる端末装置と通信先となる端末装置との間の接続を仲介する処理を実行する。端末IDとしては、前述したとおり、個々の端末装置を相互に識別することができる情報であれば、どのような情報を利用してもかまわない。ここでは、前述した第1の実施形態の場合と同様に、端末装置400A,400B,400C,400Dには、それぞれ「0010」,「0020」,「0030」,「0040」なる端末IDが付与されているものとする。
 また、各端末装置400A~400Dには、それぞれ自己のネットワーク上での所在を示す所在アドレスが付与されている。ここでも、前述した第1の実施形態の場合と同様に、端末装置400A,400B,400C,400Dに、それぞれAD1,AD2,AD3,AD4なる所在アドレスが付与されているものとする。この所在アドレスは、ネットワーク上で当該端末装置の所在を一義的に決定できるアドレスであれば、どのようなアドレスを用いてもよいが、実用上は、グローバルIPアドレスもしくはNAT-IDを用いればよい。前述したとおり、この所在アドレスは、時間的に変化する。
 図示のとおり、接続仲介装置300には、アドレステーブル格納部310、アドレステーブル更新部320、通信元アドレス送信部330が設けられている。この接続仲介装置300は、実際には、サーバコンピュータなどのコンピュータによって構成される。したがって、図に個々のブロックとして示されている各構成要素は、実際には、コンピュータに専用のプログラムを組み込むことにより構築されることになる。
 アドレステーブル格納部310は、図1に示すアドレステーブル格納部110と同じ構成要素であり、各端末装置400A~400Dのそれぞれについて、端末IDと所在アドレスとを対応づけたアドレステーブルTを格納する機能を有する。図6に示すアドレステーブルTは、図1に示すアドレステーブルTと全く同じものである。アドレステーブル更新部320は、図1に示すアドレステーブル更新部120と同じ構成要素であり、各端末装置400A~400Dからの通知に基づいて、アドレステーブルTの内容を更新する処理を行う。このように、図6に示す構成要素310,320は、実質的に図1に示す構成要素110,120と同じものであるため、ここでは詳細な説明は省略する。
 一方、通信元アドレス送信部330は、図1に示す通信先アドレス返信部130に類似した機能を有する構成要素であるが、若干異なる動作を行う。すなわち、通信元アドレス送信部330は、各端末装置400A~400Dから接続仲介依頼があると、アドレステーブルTを参照することにより通信先アドレスを認識し、当該通信先アドレス宛に、通信元アドレスを送信する処理を行う。この処理のより詳細な説明は後述する。
 続いて、図7を参照しながら、端末装置400の詳細構成および個々の構成要素の具体的な処理動作を説明する。図示のとおり、端末装置400には、接続仲介依頼部410、通信要求受付部420、通信元セッション確立部430、通信開始要求部440、自己アドレス通知部450、通信先セッション確立部460が設けられている。
 この端末装置400も、実際には、種々のコンピュータ(携帯電話などの機器も含む)によって構成され、図に個々のブロックとして示されている各構成要素は、実際には、コンピュータに専用のプログラムを組み込むことにより構築される。もちろん、この端末装置400にも、必要に応じて、図示されていない種々の構成要素や入出力インターフェイスが組み込まれているが、ここでは、先願基本発明に直接関係する構成要素のみを図にブロックとして示すことにし、その他の構成要素についての説明は省略する。
 この図7においても、図2と同様に、各ブロック間の信号の流れを示す太線矢印は、端末装置400と接続仲介装置300との間でやりとりされる、通信セッション確立前の信号の流れを示しており、細線矢印は、一対の端末装置400の間でやりとりされる、通信セッション確立前の信号の流れを示している。そして、白抜矢印は、一対の端末装置400の間でやりとりされる、通信セッション確立後の信号の流れを示している。
 また、図2と同様に、図7に楕円ブロックで示されている構成要素は、端末装置400が「アドレス通知」の処理を実行するための構成要素であり、矩形ブロックで示されている構成要素は、端末装置400が「通信元」として機能する場合に必要な処理を実行する構成要素であり、二重矩形ブロックで示されている構成要素は、端末装置400が「通信先」として機能する場合に必要な処理を実行する構成要素である。端末装置400が、「通信元」になったときには、図7に矩形ブロックで示されている構成要素による処理が行われ、「通信先」になったときには、図7に二重矩形ブロックで示されている構成要素による処理が行われる。以下、図7に示す端末装置400の6つの構成要素の各機能を順に説明する。
 まず、楕円ブロックで示されている自己アドレス通知部450は、「アドレス通知」の処理を実行するための構成要素であり、自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置300に対して通知する処理を実行する。この自己アドレス通知部450の機能は、図2に示す自己アドレス通知部250の機能と全く同じであるため、ここでは詳しい説明は省略する。図6に示すアドレステーブル更新部320は、この通知を受けて、アドレステーブルTの更新を行う。
 次に、図7に矩形ブロックもしくは二重矩形ブロックで示されている5つの構成要素について説明する。上述したように、矩形ブロックで示されている3つの構成要素は、端末装置400が「通信元」として機能する場合に必要な処理を実行し、二重矩形ブロックで示されている2つの構成要素は、端末装置400が「通信先」として機能する場合に必要な処理を実行する。
 まず、通信要求受付部420は、自己を通信元として、通信先の別な端末装置に対する通信要求を受け付ける処理を行う構成要素であり、図2に示す通信要求受付部220と全く同じ機能をもつ構成要素である。また、接続仲介依頼部410は、通信要求受付部420によって通信要求が受け付けられたときに、接続仲介装置300に対して、通信先の別な端末装置の端末IDを特定するための通信先特定情報を含む接続仲介依頼を送信する構成要素であり、図2に示す接続仲介依頼部210と全く同じ機能をもつ構成要素である。
 こうして、接続仲介依頼部410から送信された接続仲介依頼は、ネットワークNを介して接続仲介装置300へと伝達される(図における太線矢印は、端末装置400と接続仲介装置300との間でやりとりされる、通信セッション確立前の信号の流れを示している)。すると、接続仲介装置300からは、図に太線矢印で示すように、通信元アドレスが送信されてくる。この通信元アドレスは、通信開始要求部440によって受信される。
 ここで留意すべき点は、接続仲介装置300からの通信元アドレスの送信先は、接続仲介依頼を行った通信元の端末装置ではなく、通信先となる別な端末装置である点である。すなわち、図7に示す例において、矩形ブロックで示す接続仲介依頼部410は、通信元端末装置内の構成要素であるのに対して、二重矩形ブロックで示す通信開始要求部440は、別な通信先端末装置内の構成要素ということになる。したがって、上述の説明において、接続仲介依頼を発する接続仲介依頼部410と、これに応じて接続仲介装置300から送信されてくる通信元アドレスを受信する通信開始要求部440とは、それぞれ異なる端末装置400に所属していることになる。
 要するに、図6に示されている通信元アドレス送信部330は、ある端末装置400の接続仲介依頼部から接続仲介依頼が送信されてきたときに、アドレステーブルTを参照して、当該接続仲介依頼に含まれている通信先特定情報によって特定される端末IDに対応づけられている所在アドレスに対して、当該接続仲介依頼を送信した通信元の端末装置の端末IDに対応づけられている所在アドレスを通信元アドレスとして送信する処理を行うことになる。
 この通信元アドレス送信部330の処理機能をより明確にするため、ここでは、図6に示す端末装置400Bを通信元、端末装置400Aを通信先とした具体例(たとえば、端末装置400BのユーザBが発呼側となり、端末装置400AのユーザAを着呼側として電話をかけたような場合)について、上記手順を説明しよう。
 この場合、通信元端末装置400Bから接続仲介装置300に対して、端末装置400Aを通信先として指定する接続仲介依頼が送信されることになる。当該接続仲介依頼を受けた通信元アドレス送信部330は、アドレステーブルTを参照することにより、通信先として指定された端末装置400Aの所在アドレス「AD1」を認識する。前述した第1の実施形態における通信先アドレス返信部130は、こうして認識した通信先の所在アドレスを通信元(接続仲介依頼の送信元)に返信する処理を行っていた。これに対して、図6に示す第2の実施形態における通信元アドレス送信部330は、認識した通信先の所在アドレス「AD1」に宛てて、通信元端末装置400Bの所在を示す通信元アドレス「AD2」(これは、接続仲介依頼の送信元のアドレスとして認識できる)を送信する。
 結局、上例の場合、通信元端末装置400Bから接続仲介装置300に対して接続仲介依頼を行うと、接続仲介装置300から通信先端末装置400Aに対して通信元アドレス(通信元端末装置400Bの所在アドレス「AD2」)が送信されることになる。ここが、前述した第1の実施形態と大きく異なる点である。
 こうして送信されてきた通信元アドレスは、図7に示すとおり、通信先端末装置400A内の通信開始要求部440によって受信される。通信開始要求部440は、この通信元アドレス(通信元端末装置400Bのアドレス)に対して通信開始要求を行う。すなわち、通信開始要求部440は、接続仲介装置300から、通信元の別な端末装置のネットワーク上での所在を示す通信元アドレスが送信されてきたときに、ネットワークNを介して、当該通信元アドレスにアクセスして通信開始要求を行うことになる。図に細線矢印で示すとおり、この通信開始要求は、1台の端末装置400(通信先)から別な1台の端末装置400(通信元)に宛てた信号ということになる。
 一方、通信先の別な端末装置(上例の場合、端末装置400A)から通信開始要求がなされた端末装置(上例の場合、端末装置400B)は、当該通信開始要求を通信元セッション確立部430で受信する(図の左側の下向き細線矢印)。そして、この通信元セッション確立部430は、通信先の別な端末装置(上例の場合、端末装置400A)に対して通信開始受諾確認を返信し(図の左側の上向き細線矢印)、当該通信先の別な端末装置との間に通信セッションを確立して通信を開始する。図7の左端に描かれた白抜矢印は、このようにして通信セッションが確立した後の両端末間の信号(通信パケット)の流れを示している。
 こうして、通信元端末装置400Bから通信先端末装置400Aに対して返信された通信開始受諾確認は、通信先端末装置400Aの通信先セッション確立部460によって受信される(図の右側の細線矢印)。通信先セッション確立部460は、この通信開始受諾確認を受信したら、通信元の別な端末装置400Bとの間に通信セッションを確立して通信を開始する。図7の右端に描かれた白抜矢印は、このようにして通信セッションが確立した後の両端末間の信号(通信パケット)の流れを示している。
 かくして、通信元端末装置と通信先端末装置との間の通信セッション確立後の通信は、通信元端末装置の通信元セッション確立部430と通信先端末装置の通信先セッション確立部460との間で行われることになる。別言すれば、図7の左端の白抜矢印は、ネットワークNを介して、図7の右端の白抜矢印に連なることになる。
 <2-2. 第2の実施形態における具体的な通信手順>
 これまで、図6および図7を参照しながら、先願基本発明の第2の実施形態に係るネットワーク通信システムの構成要素である接続仲介装置300および端末装置400の各構成要素およびその機能を説明した。ここでは、この第2の実施形態に係るネットワーク通信システムにおける通信手順を、具体例に即して説明することにする。
 まず、図7に示す端末装置における自己アドレス通知部450の機能であるが、これは図3を用いて説明した自己アドレス通知部250A,250Bの機能と全く同じであるため、ここでは説明を省略する。
 そこで以下、特定の端末装置間で実際に通信を開始する際の処理手順を説明する。図8は、図6に示すネットワーク通信システムにおいて、通信元端末装置400Bと通信先端末装置400Aとの間の通信セッション確立の手順を示すブロック図である。この図8では、図の上段に接続仲介装置300が示され、図の下段に2組の端末装置400A,400Bが示されている。ここでも、接続仲介装置300と各端末装置400A,400Bとの間の情報のやりとり(太線矢印で示す)や、端末装置400A,400B間の情報のやりとり(細線矢印で示す)は、実際にはネットワークNを介して行われるが、説明の便宜上、ネットワークNの図示は省略する。
 また、ここでは、説明の便宜上、端末装置400Bを通信元、端末装置400Aを通信先とした場合の手順を説明する。このため、図8では、通信元端末装置400B内の構成要素については、通信元として必要な処理を実行する構成要素(矩形ブロックの構成要素)のみを実線で示し、通信先端末装置400A内の構成要素については、通信先として必要な処理を実行する構成要素(二重矩形ブロックの構成要素)のみを実線で示すことにし、それ以外の構成要素のブロックは破線で示してある。
 一方、図9は、図8のブロック図に示されている通信セッション確立手順を時系列で説明する流れ図である。以下、図8のブロック図を参照しながら、図9の流れ図に従って、第2の実施形態における具体的な通信手順を説明する。なお、図8のブロック図において、各矢印に付された符号S11~S17は、図9の流れ図における各ステップS11~S17に対応するものである。逆に、図9の流れ図の各ステップにおいて、括弧書きで示された符号は、図8のブロック図における特定のブロックに対応するものであり、当該ステップの内容に関連する特定の構成要素を示すものである。
 まず、ステップS11において、通信要求受付処理が行われる。これは、図8に示す通信要求受付部420Bによって通信要求を受け付ける処理であり、図5のステップS1で述べた処理と同様であるため説明は省略する。続くステップS12では、この通信要求に基づいて、接続仲介依頼S12が行われる。これは、図8に示す接続仲介依頼部410Bによって行われる処理であり、図5のステップS2で述べた処理と同様であるため説明は省略する。
 こうして、通信元端末装置400Bの接続仲介依頼部410Bから、接続仲介装置300へ接続仲介依頼S12(図示の例では、通信先特定情報として、通信先端末装置400Aの端末ID「0010」が含まれている)が送信されてくると、ステップS13において、この接続仲介依頼S12を受けた通信元アドレス送信部330が、アドレステーブル格納部310に格納されているアドレステーブルを参照して、当該接続仲介依頼に含まれている通信先特定情報によって特定される端末ID(この例では、「0010」)に対応づけられている所在アドレスを通信先アドレスとして認識する(S13)。たとえば、その時点におけるアドレステーブルTが、図6に示すようなものであったとすると、端末ID「0010」に対応づけられているアドレス「AD1」が通信先アドレスとして認識される。
 そこで、ステップS14において、通信元アドレス返信部330が、ステップS13で認識した通信先アドレス「AD1」宛に、接続仲介依頼S12を送信した通信元端末装置400Bの端末ID「0020」に対応づけられている所在アドレス「AD2」を通信元アドレスとして送信する(S14)。
 前述したとおり、一般に、ネットワークを介して接続された二者間で情報の送受を行う場合、情報の送信側は自分のアドレスを受信側に伝達し、受信側は当該送信側のアドレス宛にアクノレッジ信号を返信する処理を行う。したがって、通信元アドレス送信部330は、接続仲介依頼S12を受信した時点で、その送信元である端末装置400Bの所在アドレス「AD2」を認識することができるので、通信元アドレス送信S14を行う際には、この認識した所在アドレス「AD2」をデータとして送信すればよい。
 このように、通信元端末装置400Bが、接続仲介装置300に対して接続仲介依頼S12を行うと、この接続仲介依頼S12に応じて、接続仲介装置300から、通信先端末装置400A宛に(アドレステーブルTで検索した所在アドレス「AD1」宛に)、通信元端末装置400Bの所在を示す通信元アドレス「AD2」が送信されることになる。接続仲介装置300に用意されているアドレステーブルTは、常に最新の状態に更新されているので、通信元アドレス送信S14は、常に通信先端末装置400Aの最新の所在アドレスに対して行われることになる。
 こうして、通信元アドレス送信部330から通信元アドレス送信S14(通信元アドレス「AD2」を伝達する情報)が送信されてくると、当該通信元アドレス送信S14は、通信先端末装置400Aの通信開始要求部440Aによって受信される。
 この通信元アドレス送信S14により、通信元アドレス「AD2」を取得した通信開始要求部440Aは、ステップS15において、通信元端末装置400Bに対して通信開始要求S15を行う。すなわち、ネットワークNを介して、通信元アドレス「AD2」宛にアクセスを行い、相手方に通信開始の要求を伝える。このとき、自己の所在アドレス(通信元アドレス「AD1」)も併せて伝達されることになる。
 通信元アドレス「AD2」宛に行われた通信開始要求S15は、通信元端末装置400Bの通信元セッション確立部430Bによって受信される。通信元セッション確立部430Bは、通信先端末装置400Aから、自己(端末装置400B)を通信元とする通信開始要求S15がなされたら、まず、ステップS16において、ネットワークNを介して通信先端末装置400Aに対して通信開始受諾確認S16を送信する。そして、続くステップS17において、通信先端末装置400Aとの間に通信セッションを確立して通信S17を開始する。
 一方、通信先端末装置400A宛に送信されてきた通信開始受諾確認S16は、通信先セッション確立部460Aによって受信される。そして、ステップS17では、この通信開始受諾確認S16を受信した通信先セッション確立部460Aが、通信元端末装置400Bとの間に通信セッションを確立して通信S17を開始する処理も行われる。要するに、通信先端末装置400A側では、通信開始要求S15に応じて、通信元端末装置400Bから通信開始受諾確認S16が返信されてきたら、当該通信元端末装置400Bとの間に通信セッションを確立して通信を開始する処理を行うことになる。
 かくして、通信元端末装置400Bと通信先端末装置400Aとの間に通信セッションが確立され、両者間での通信S17が行われることになる。この図9に示す流れ図において、接続仲介装置300が行った処理は、ステップS13のアドレステーブル参照処理とステップS14の通信元アドレス送信処理だけである。すなわち、接続仲介装置300が行う仲介処理は、通信元端末装置400Bからの接続仲介依頼S12を受けて、アドレステーブルTを参照し(ステップS13)、得られた通信先アドレスに宛てて、通信元アドレスのデータを送信する(ステップS14)だけである。接続仲介装置300がこのような仲介処理を行うだけで、通信元端末装置400Bと通信先端末装置400Aとの間に通信セッションが確立され、両者間での通信が開始することになる。
 このように、先願基本発明の第2の実施形態に係るネットワーク通信システムでは、第1の実施形態に係るネットワーク通信システムと同様に、接続仲介装置300の処理負荷は極めて軽くなる。前述したように、SIPを利用して両端末間の接続仲介処理を行うシステムでは、従来型の中継処理に比べれば、その処理負荷は軽減されることになるが、両端末間にセッションが確立するまで関与する必要があり、多数の端末装置からの仲介依頼が集中すると、その処理負荷はかなり重くなってくる。これに対して、先願基本発明の第2の実施形態に係るシステムの場合、接続仲介装置300は、両端末間に通信セッションが確立するまで関与する必要はなく、通信先端末装置に対して通信元アドレスを伝達する処理を行えば足りる。このため、一対の端末装置間の接続を仲介する際の処理負荷を、より軽減することが可能になる。
 このように、先願基本発明の第2の実施形態に係るネットワーク通信システムでは、接続仲介装置300が通信セッション確立まで関与しないため、接続仲介装置300は、両端末装置間に通信セッションが確立し、支障なく通信が行われているか否かを把握することはできない。そこで、もし必要があれば、通信セッション確立後に、通信元セッション確立部430Bもしくは通信先セッション確立部460Aから接続仲介装置300に対して、支障なく通信セッションが確立した旨の報告を行うようにしてもよい。
 なお、上述の実施例では、通信先端末装置400Aの通信開始要求部440Aが、接続仲介装置300からの通信元アドレス送信S14を受信したときに、ステップS15において、自動的に通信開始要求S15を送信しているが、場合によっては、通信開始要求部440Aに何らかの条件判断機能をもたせておき、通信元アドレス送信S14を受信したときに、所定の条件を満たしている場合に限り、通信開始要求S15を送信するようにしてもよい。あるいは、所定の条件を満たしていない場合には、通信開始要求S15の代わりに、通信開始拒絶通知を送信するようにしてもよい。
 たとえば、通信開始要求部440Aに、通信開始を常に拒絶する通信元リスト(いわゆるブラックリスト)や通信開始を常に許可する通信元リスト(いわゆるホワイトリスト)を用意しておけば、通信開始要求部440Aは、当該リストを参照することにより、通信元アドレス送信S14によって送信されてきた通信元アドレスが、ブラックリストに掲載されていた場合には、通信開始要求S15の送信を行わない処理をするか、通信開始拒絶通知を送信する運用を行うことができる。あるいは、通信元アドレスが、ホワイトリストに掲載されていた場合にのみ、通信開始要求S15を送信するような運用を行うことも可能である。
 また、上述の実施例では、通信元セッション確立部430Bが、通信先端末装置400Aから、自己を通信元とする通信開始要求S15がなされた時に、ステップS16において、当該通信先端末装置400Aに対して通信開始受諾確認を送信する、という説明を行ったが、場合によっては、通信開始要求S15を受諾せずに拒絶し、通信開始受諾確認を送信しないようにしてもよい(あるいは、通信開始受諾確認の代わりに、通信開始拒絶通知を送信するようにしてもよい)。
 たとえば、§3-4で述べるように、セキュリティを向上させる変形例を採用する場合は、通信開始要求S15に何らかのセキュリティ上の問題が存在する場合には、これを拒絶する運用を採用することも可能である。
 <<< §3. 先願基本発明の第1および第2の実施形態の変形例 >>>
 ここでは、§1で述べた先願基本発明の第1の実施形態および§2で述べた先願基本発明の第2の実施形態について、いくつかの変形例を述べる。
 <3-1. 端末IDに関する変形例>
 これまで述べてきたように、図1の接続仲介装置100内のアドレステーブル格納部110には、アドレステーブルTが格納されている。図6の接続仲介装置300内のアドレステーブル格納部310も同様である。このアドレステーブルTは、個々の端末装置のそれぞれについて、端末IDと所在アドレスとを対応づけたテーブルであり、通信先アドレス返信部130もしくは通信元アドレス送信部330は、受信した接続仲介依頼に含まれている通信先特定情報に基づいてアドレステーブルTを参照し、通信先の所在アドレスを取得する。
 たとえば、図4に示す第1の実施形態の場合、接続仲介依頼S2には、通信先端末装置200Bの端末ID「0020」が通信先特定情報として含まれており、通信先アドレス返信部130は、アドレステーブルTを参照することにより、端末ID「0020」に対応する所在アドレス「AD2」を取得することができる。同様に、図8に示す第2の実施形態の場合、接続仲介依頼S12には、通信先端末装置400Aの端末ID「0010」が通信先特定情報として含まれており、通信元アドレス送信部330は、アドレステーブルTを参照することにより、端末ID「0010」に対応する所在アドレス「AD1」を取得することができる。
 このように、これまで述べてきた実施形態では、接続仲介依頼に含ませる通信先特定情報として、通信先端末装置の端末IDを用いていた。この端末IDは、個々の端末装置を相互に識別するための情報であり、具体的には、個々の端末装置に内蔵されているCPUのシリアル番号、通信インターフェイスに付与されたMACアドレス、携帯電話として機能する端末装置の場合は電話番号やSIMカードのシリアル番号、などを端末IDとして用いることができる。
 ただ、一般に、ユーザが、他のユーザの端末装置についての端末IDを記憶することは困難である。したがって、通信要求を行う際に、これらの端末IDを、ユーザ自身に直接入力させることは好ましくない。そこで、実用上は、通信要求を行う際に、端末IDで通信先を指定する代わりに、ユーザIDで通信先を指定させるようにするのが好ましい。端末IDが個々の端末装置を識別するためのIDであるのに対して、ユーザIDは個々のユーザを識別するためのIDである。一般的には、ユーザ名やニックネームをユーザIDとして用いることができる。
 端末IDの代わりにユーザIDを用いて通信要求を行うことができるようにするには、通信要求受付部220,420内に、ユーザIDと端末IDとの対応表を用意しておけばよい。そして、ユーザが特定のユーザID(たとえば、ユーザ名)を指定して通信要求を行ったときに、通信要求受付部220,420が、用意されている対応表を利用してユーザIDを端末IDに変換して接続仲介依頼部210,410へ引き渡すようにすればよい。そうすれば、接続仲介依頼部210,410は、端末IDを含む接続仲介依頼を送信することができる。このようなユーザID(たとえば、ユーザ名)から端末ID(たとえば、電話番号)への変換処理機能は、一般的な携帯電話に「電話番号登録機能」として備わっている公知の機能であるため、ここでは詳しい説明は省略する。
 端末IDの代わりにユーザIDを利用できるようにする別な方法として、ユーザIDと端末IDとの対応表を接続仲介装置100,300側に用意する方法を採ることもできる。たとえば、アドレステーブル格納部110,310内に、図1や図6に示すアドレステーブルTの代わりに、図10に示すようなアドレステーブルT1を格納しておくようにする。このアドレステーブルT1は、個々の端末装置のそれぞれについて、当該端末装置のユーザを特定するユーザIDと、当該端末装置の端末IDと、を対応づける情報を含むテーブルである。
 図10では、説明の便宜上、ユーザIDとして、「John」,「Mary」のようなユーザ名を用いた例を示すが、実際には、テーブルに収録されている個々のユーザを相互に識別できるように、各ユーザのフルネームをユーザIDとして登録しておくようにし、もし同姓同名のユーザがいた場合には、相互に区別できるようなユーザIDを登録するようにする。実際には、端末装置200,400の自己アドレス通知部250,450に、このようなユーザIDを接続仲介装置100,300側に申告する機能を設けておき、アドレステーブル更新部120,320に、申告を受けたユーザIDをアドレステーブルT1に登録する機能を設けておけば、図10に示すようなアドレステーブルT1を用意することが可能になる。
 アドレステーブルT1を用意しておけば、通信元となる端末装置側では、通信先となる端末装置の端末IDを認識する必要はない。たとえば、図4に示す例において、通信元端末装置200Aから通信先端末装置200Bに対して発呼する場合、通信元端末装置200AのユーザA(John)は、通信先端末装置200BのユーザBのユーザ名「Mary」(ユーザID)を通信先として指定した通信要求を行えばよい。この場合、端末ID「0020」の代わりに、「Mary」なるユーザIDを通信先特定情報として含む接続仲介依頼S2が、接続仲介依頼部210Aから接続仲介装置100へ送信されることになる。
 このような接続仲介依頼S2を受信した通信先アドレス返信部130は、図10に示すアドレステーブルT1を参照することにより、通信先特定情報として含まれていたユーザ名「Mary」に対応する端末ID「0020」を認識することができ、更に、この端末ID「0020」をもつ通信先端末装置200Bの所在アドレス「AD2」を認識することができる。
 図11は、ユーザIDの代わりにアカウントIDを用いたアドレステーブルT2を示す図である。ユーザIDが、個々のユーザを特定する情報であるのに対して、アカウントIDは、個々のユーザが開設したユーザアカウントを特定する情報である。たとえば、図示の例における「U11111」なるアカウントIDは、ユーザ「John」が開設したユーザアカウントを示すIDであり、「U22222」なるアカウントIDは、ユーザ「Mary」が開設したユーザアカウントを示すIDである。もちろん、個々のユーザは、必要があれば複数のアカウントを開設することが可能である。
 端末装置200,400の自己アドレス通知部250,450に、このようなアカウントを開設するための申込機能を設けておき、アドレステーブル更新部120,320に、当該申込に応じて、所定のユーザアカウントを設定し、アカウントIDをアドレステーブルT2に登録する機能を設けておけば、図11に示すようなアドレステーブルT2を用意することが可能になる。
 図4に示す例において、アドレステーブル格納部110内に図11に示すようなアドレステーブルT2を用意しておけば、接続仲介依頼部210Aは、端末ID「0020」の代わりに、「U22222」なるアカウントIDを通信先特定情報として含む接続仲介依頼S2を接続仲介装置100へ送信すればよい。
 このように、先願基本発明において、接続仲介依頼部から送信される接続仲介依頼には、通信先となる別な端末装置の端末IDを特定する役割を果たす何らかの「通信先特定情報」が含まれていれば足りる。この「通信先特定情報」は、端末ID自身であってもよいし、上例のように、ユーザIDやアカウントIDであってもかまわない。
 結局、この§3-1で述べた変形例を§1で述べた第1の実施形態に適用する場合は、図4に示す構成において、アドレステーブル格納部110に、個々の端末装置のそれぞれについて、当該端末装置のユーザを特定するユーザIDもしくはユーザアカウントを特定するアカウントIDと、当該端末装置の端末IDと、を対応づける情報を含むアドレステーブルT1(図10)もしくはT2(図11)を格納しておくようにする。また、接続仲介依頼部210Aは、通信先特定情報として、通信先の端末装置のユーザを特定するユーザIDもしくはユーザアカウントを特定するアカウントIDを用いた接続仲介依頼S2を送信するようにする。そして、通信先アドレス返信部130は、接続仲介依頼部210Aから接続仲介依頼S2が送信されてきたときに、アドレステーブルT1もしくはT2を参照して、接続仲介依頼S2に含まれていたユーザIDもしくはアカウントIDに対応づけられている端末IDを決定し、決定された端末IDに対応づけられている所在アドレスを通信先アドレスとして返信する処理を行うようにすればよい。
 一方、この§3-1で述べた変形例を§2で述べた第2の実施形態に適用する場合は、図8に示す構成において、アドレステーブル格納部310に、個々の端末装置のそれぞれについて、当該端末装置のユーザを特定するユーザIDもしくはユーザアカウントを特定するアカウントIDと、当該端末装置の端末IDと、を対応づける情報を含むアドレステーブルT1(図10)もしくはT2(図11)を格納しておくようにする。また、接続仲介依頼部410Bは、通信先特定情報として、通信先の端末装置のユーザを特定するユーザIDもしくはユーザアカウントを特定するアカウントIDを用いた接続仲介依頼S12を送信するようにする。そして、通信元アドレス送信部330は、接続仲介依頼部410Bから接続仲介依頼S12が送信されてきたときに、アドレステーブルT1もしくはT2を参照して、接続仲介依頼S12に含まれていたユーザIDもしくはアカウントIDに対応づけられている端末IDを決定し、決定された端末IDに対応づけられている所在アドレス宛に、通信元アドレスを送信する処理を行うようにすればよい。
 <3-2. 代替端末を利用する変形例>
 前述したとおり、先願基本発明に利用可能な端末装置は、パソコン、携帯電話、タブレット型端末など多岐にわたり、最近は、同一のユーザが複数の端末装置を使い分けることも珍しくなくなってきている。ここでは、そのような状況を考慮して、特定の端末装置に対する着呼があったときに、当該着呼を同一ユーザの別な端末装置へ誘導する仕組をもった変形例を述べることにする。
 ここで述べる変形例を実施する際には、予め、図12に示すようなアドレステーブルT3を用意しておく。このアドレステーブルT3の場合、4組のユーザID「John」,「Mary」,「Frank」,「Susie」について、それぞれ端末IDおよび所在アドレスが登録されているが、ユーザID「John」については2つの端末ID「0010」,「0011」が登録され、ユーザID「Frank」については3つの端末ID「0030」,「0031」,「0032」が登録されている。これは、ユーザJohnが、このネットワーク通信システムに利用可能な2台の端末装置を所有し、ユーザFrankが、3台の端末装置を所有しているためである。
 ここで、同一のユーザIDに対応づけられて登録されている複数の端末IDを、1つのグループに所属する端末IDとして把握し、同じグループに所属する1つの端末IDを別な1つの端末IDについての代替端末IDと呼ぶことにすれば、図12に示すアドレステーブルT3は、特定の端末IDについて、1つもしくは複数の代替端末IDを登録したアドレステーブルということができる。要するに、同一のユーザ名で複数の端末IDの登録があった場合には、これらの端末IDを同一のグループに所属するものとして把握し、相互に代替端末IDとして認識する取り扱いを行うようにすればよい。
 たとえば、図12に示す例の場合、端末ID「0010」については1つの代替端末ID「0011」が登録されており、逆に、端末ID「0011」については1つの代替端末ID「0010」が登録されていることになる。一方、端末ID「0030」については2つの代替端末ID「0031」,「0032」が登録されており、端末ID「0031」については2つの代替端末ID「0030」,「0032」が登録されており、端末ID「0032」については2つの代替端末ID「0030」,「0031」が登録されていることになる。
 ここで述べる変形例に係るシステムでは、このような代替端末IDを登録しておくことにより、利用不都合な状態にある端末装置宛に発呼があったときに、当該発呼を代替となる別な端末装置宛に転送させることができる。
 たとえば、ユーザJohnが、スマートフォンからなる第1の端末装置(端末ID「0010」)とパソコンからなる第2の端末装置(端末ID「0011」)とを所有しており、通常は、いずれの端末装置も利用可能な状態になっているものとしよう。ところが、ある日、スマートフォンからなる第1の端末装置について、バッテリ切れで一時的に利用できない状態になったとする。この場合、もし、ユーザMaryが、自己の端末装置を通信元として、ユーザJohnのスマートフォンを通信先とする通信要求を行ったとしても、ユーザJohnのスマートフォンに対する正常な接続を行うことはできない。
 ここで述べる変形例に係るシステムでは、このような場合、接続仲介装置が、ユーザJohnのスマートフォンの代わりに、その代替となるユーザJohnのパソコンに代替接続する処理を実行することができる。
 この§3-2で述べる変形例を§1で述べた先願基本発明の第1の実施形態に適用する場合は、図4に示す構成に対して、次のような変更を施せばよい。
 まず、アドレステーブル格納部110には、特定の端末IDについて、1つもしくは複数の代替端末IDを登録したアドレステーブル(たとえば、図12に示すアドレステーブルT3)を格納しておく。そして、通信先アドレス返信部130には、個々の端末装置について利用不都合な状態にあるか否かを判定する機能を付加しておく。具体的には、たとえば、判定対象となる端末装置に対して試験アクセスを行い、正常な返信があった場合には問題なしと判断するが、正常な返信が得られなかった場合には利用不都合な状態にあるとの判断を行うようにすればよい。
 通信先アドレス返信部130は、接続仲介依頼S2が送信されてきたときに、通信先特定情報で特定される本来の端末IDが付与された端末装置について、利用不都合な状態にあるか否かを判定する処理を行う。そして、もし、本来の端末IDが付与された端末装置が利用不都合な状態にある場合には、当該本来の端末IDに代えて代替端末IDに対応づけられている所在アドレスを通信先アドレスとして返信する処理を行うようにする。
 たとえば、図12に示すアドレステーブルT3が用意されている状態において、通信先特定情報として本来の端末ID「0010」(ユーザJohnのスマートフォン)を含む接続仲介依頼が送信されてきた場合、通信先アドレス返信部130は、まず、端末ID「0010」に対応する所在アドレス「AD1」に試験アクセスを行い、正常な返信があった場合には問題なしと判断し、通常の手順に従って、所在アドレス「AD1」を通信先アドレスとして返信する処理を行えばよい。この場合、通信元端末装置は、本来の端末ID「0010」が付与されたユーザJohnのスマートフォンを通信先として通信を行うことができる。
 ところが、試験アクセスに対して正常な返信が得られなかった場合には、本来の端末ID「0010」が付与された端末装置(ユーザJohnのスマートフォン)が利用不都合な状態にあると判断し、本来の端末ID「0010」に代えて、アドレステーブルT3において端末ID「0010」についての代替端末IDとして登録されている端末ID「0011」に対応づけられている所在アドレス「AD5」を通信先アドレスとして返信する処理を行うようにする。この場合、通信元端末装置は、本来の端末ID「0010」が付与されたユーザJohnのスマートフォンではなく、代替端末ID「0011」が付与されたユーザJohnのパソコンを通信先として通信を行うことができる。
 一方、この§3-2で述べる変形例を§2で述べた先願基本発明の第2の実施形態に適用する場合は、図8に示す構成に対して、次のような変更を施せばよい。
 まず、アドレステーブル格納部310には、特定の端末IDについて、1つもしくは複数の代替端末IDを登録したアドレステーブル(たとえば、図12に示すアドレステーブルT3)を格納しておく。そして、通信元アドレス送信部330には、個々の端末装置について利用不都合な状態にあるか否かを判定する機能を付加しておく。具体的には、上述したように、判定対象となる端末装置に対して試験アクセスを行い、正常な返信があった場合には問題なしと判断するが、正常な返信が得られなかった場合には利用不都合な状態にあるとの判断を行うようにすればよい。
 通信元アドレス送信部330は、接続仲介依頼S12が送信されてきたときに、通信先特定情報で特定される本来の端末IDが付与された端末装置について、利用不都合な状態にあるか否かを判定する処理を行う。そして、もし、本来の端末IDが付与された端末装置が利用不都合な状態にある場合には、当該本来の端末IDに代えて代替端末IDに対応づけられている所在アドレスに対して、接続仲介依頼S12を送信した通信元端末装置の所在アドレスを通信元アドレスとして送信する処理を行うようにする。
 たとえば、図12に示すアドレステーブルT3が用意されている状態において、通信先特定情報として本来の端末ID「0010」(ユーザJohnのスマートフォン)を含む接続仲介依頼が送信されてきた場合、通信元アドレス送信部330は、まず、端末ID「0010」に対応する所在アドレス「AD1」に試験アクセスを行い、正常な返信があった場合には問題なしと判断し、通常の手順に従って、所在アドレス「AD1」宛に通信元アドレスの送信を行えばよい。この場合、通信元端末装置は、本来の端末ID「0010」が付与されたユーザJohnのスマートフォンを通信先として通信を行うことができる。
 ところが、試験アクセスに対して正常な返信が得られなかった場合には、本来の端末ID「0010」が付与された端末装置(ユーザJohnのスマートフォン)が利用不都合な状態にあると判断し、本来の端末ID「0010」に代えて、アドレステーブルT3において端末ID「0010」についての代替端末IDとして登録されている端末ID「0011」に対応づけられている所在アドレス「AD5」宛に通信元アドレスの送信を行うようにする。この場合、通信元端末装置は、本来の端末ID「0010」が付与されたユーザJohnのスマートフォンではなく、代替端末ID「0011」が付与されたユーザJohnのパソコンを通信先として通信を行うことができる。なお、図12に示すユーザFrankのように、複数の代替端末IDが登録されている場合は、予め優先順位を定めておき、優先順位の高い順に実際に利用する代替端末IDを決定すればよい。
 なお、上述の実施例では、通信先アドレス返信部130や通信元アドレス送信部330は、接続仲介依頼を受信した時点で、本来の通信先に対する試験アクセスを行い、利用不都合な状態にあるか否かを判定する処理を行っているが、その代わりに、個々の端末装置に対して定期的な試験アクセスを行うようにし、利用不都合な状態にある端末装置については、その時点でアドレステーブルにその旨の記録を行うようにしてもよい。この場合、各端末装置は、接続仲介依頼の有無にかかわらず、定期的に試験アクセスを受け、利用不都合な状態にあるか否かのチェックを受けることになり、チェック結果がアドレステーブルに記録されることになる。したがって、実際に接続仲介依頼があった場合は、このアドレステーブルの記録に基づいて利用不都合な状態にあるか否かを判定することができる。
 なお、この変形例にいう「利用不都合な状態」とは、バッテリ切れの状態やネットワークへの接続障害が生じた状態のように「利用不能な状態」のみを意味するものではない。たとえば、端末装置の機能としては正常に利用可能な状態ではあるが、ユーザが恣意的に利用したくないと考え、そのような設定を行った状態も含むものである。たとえば、ユーザが自分の意思で「着信拒否」を設定した場合、当該端末装置は「利用不都合な状態」になる。したがって、上例の場合、ユーザJohnが所持するスマートフォンおよびパソコンがいずれも正常動作可能な状態であっても、もしユーザJohnが、スマートフォンに対して「着信拒否」を設定した場合、当該スマートフォンは「利用不都合な状態」になる。
 この「着信拒否」の設定(「利用不都合な状態」の設定)は、個々の端末装置内にのみ記録しておいてもよいが、接続仲介装置内のアドレステーブルに記録するようにしてもよい。アドレステーブルに記録しておけば、各端末装置への試験アクセスを行うことなしに、「利用不都合な状態」にあることを認識できる。
 <3-3. セキュリティを向上させる変形例(その1)>
 ここでは、よりセキュリティを向上させたネットワーク通信システムを構築するための変形例を述べる。一般に、電子機器間でネットワークを介して情報のやりとりを行う場合、相手方の真正性を担保することは重要である。真正性が担保されない相手との交信は、クラッカーの攻撃を招くおそれがあり、セキュリティ上問題である。先願基本発明に係るネットワーク通信システムの場合、個々の端末装置と接続仲介装置との間の交信や、通信元端末装置と通信先端末装置との間の交信が不可欠であり、実用上、これら装置間通信におけるセキュリティ確保は重要である。
 図13は、図4に示す第1の実施形態に係るネットワーク通信システムについて、セキュリティを向上させた変形例を示すブロック図である。この変形例では、第1の実施形態に係るネットワーク通信システムに対して、セキュリティを向上させるための2つの対策が施されている。
 第1の対策は、相互認証処理の付加であり、図に破線の矢印で示されている情報を送受する際に、両者間で相手方の真正性を確認するための相互認証処理が行われる。具体的には、まず、通信元端末装置200Aから接続仲介装置100に対して接続仲介依頼S2を送信するときに、通信元端末装置200Aと接続仲介装置100との間で、相互に相手方の装置の真正性を確認するための相互認証処理が行われる。接続仲介依頼S2を示す矢印が破線になっているのは、この相互認証処理が行われることを示している。したがって、各端末装置200および接続仲介装置100には、このような認証処理機能が備わっていることになる。
 なお、図示の例の場合、接続仲介装置100から通信元端末装置200Aに対して通信先アドレス返信S4を行う際の相互認証処理は省略されている(通信先アドレス返信S4を示す矢印は実線で描かれている)。これは、接続仲介依頼S2を送信するときに、通信元端末装置200Aと接続仲介装置100との間の相互認証処理が既に完了しており、相手方の装置の真正性が確認済みとなっているためである。もちろん、通信先アドレス返信S4を行う際にも、再び相互認証処理を実行するようにしてもかまわない。
 また、図13に示すシステムの場合、通信元端末装置200Aから通信先端末装置200Bに対して通信開始要求S5を送信するときにも、通信元端末装置200Aと通信先端末装置200Bとの間で、相互に相手方の装置の真正性を確認するための相互認証処理が行われる。通信開始要求S5を示す矢印が破線になっているのは、この相互認証処理が行われることを示している。したがって、各端末装置200には、このような認証処理機能が備わっていることになる。
 なお、図示の例の場合、通信先端末装置200Bから通信元端末装置200Aに対して通信開始受諾確認S6を行う際の相互認証処理は省略されている(通信開始受諾確認S6を示す矢印は実線で描かれている)。これは、通信開始要求S5を送信するときに、通信元端末装置200Aと通信先端末装置200Bとの間の相互認証処理が既に完了しており、相手方の装置の真正性が確認済みとなっているためである。もちろん、通信開始受諾確認S6を行う際にも、再び相互認証処理を実行するようにしてもかまわない。
 ネットワークを介して接続された一対の装置間において、相手方の真正性を確認するための相互認証処理としては、既に種々の方法が知られているため、ここでは詳しい説明は省略する。一般的には、相手方の暗号鍵を利用した相互認証処理が利用されることが多い。たとえば、公開鍵暗号方式を利用した相互認証処理では、一方の装置で特定の平文データを相手方装置の公開鍵を用いて暗号化し、得られた暗号文データを相手方に送信し、これを受信した他方の装置では、当該暗号文データを自己の暗号鍵を用いて復号し、元の平文データが復元できることを確認する、といった処理手順を採ることができる。この処理手順を双方で行えば、相互に相手方の真正性を確認することができる。
 なお、通信元端末装置200Aと通信先端末装置200Bとの間の相互認証処理を、それぞれの暗号鍵を用いて行った場合は、当該暗号鍵を利用して、通信セッション確立後の両者間の通信S7を暗号化通信によって行うようにすれば、セキュリティを更に向上させることができる。具体的には、通信開始要求S5を送信するときの相互認証処理を、通信元端末装置200Aについての暗号鍵および通信先端末装置200Bについての暗号鍵を用いた処理によって行うようにし、通信元端末装置200Aと通信先端末装置200Bとの間における通信セッション確立後の通信S7が、上記相互認証処理で用いた暗号鍵を用いて暗号化されたパケットを送受するパケット通信によって行われるようにすればよい。
 図13に示すシステムにおいて、セキュリティを向上させるために施された第2の対策は、接続仲介装置100による仲介証明書の発行である。図示の例の場合、接続仲介装置100は、通信元端末装置200Aと通信先端末装置200Bとの間の接続を仲介する役割を果たす。仲介証明書は「そのような仲介を確かに行った」という事実を証明するために接続仲介装置100が発行する証明書である。通信先端末装置200Bは、この仲介証明書により、接続仲介装置100による仲介が正しく行われていることを確認することができる。以下、その仕組を順に説明する。
 まず、接続仲介依頼部210Aから通信先アドレス返信部130に対して、接続仲介依頼S2があると、通信先アドレス返信部130は、この接続仲介依頼S2の送信を受けて、通信元となる特定の端末装置200Aから通信先となる特定の端末装置200Bへの仲介処理を実行したことを示す仲介証明書を発行する。そして、通信先アドレス返信S4を行う際に、通信先アドレス「AD2」とともにこの仲介証明書を、通信元端末装置200Aに返信する。
 したがって、通信開始要求部240Aは、通信先アドレス「AD2」とともに、この仲介証明書を受信することになる。そこで、通信開始要求部240Aは、当該通信先アドレス「AD2」に対して通信開始要求S5を行う際に、この仲介証明書を併せて送信する。そうすると、通信先セッション確立部230Bは、通信開始要求S5とともに仲介証明書を受信することになる。
 通信先セッション確立部230Bは、通信元の別な端末装置200Aから、自己を通信先とする通信開始要求S5とともに仲介証明書が送信されてきたら、この仲介証明書の正当性が確認されることを条件として、当該通信元の別な端末装置200Aに対して通信開始受諾確認S6を送信し、当該通信元の別な端末装置200Aとの間に通信セッションを確立して通信S7を開始するようにする。もちろん、仲介証明書の正当性が確認されない場合は、通信開始受諾確認S6の送信を行わず、通信S7も開始しない。
 前述したとおり、上例の場合の仲介証明書は、接続仲介装置100が「端末装置200Aから端末装置200Bへの仲介処理を実行した」ことを証明するものであるから、通信先セッション確立部230Bは、通信開始要求S5の内容が、当該仲介証明書の証明内容に合致しているか否かを判定することにより、当該仲介証明書の正当性確認を行うことができる。上例の場合、通信開始要求S5は端末装置200Aから送信されてきており、自分自信は端末装置200Bであるから、「端末装置200Aから端末装置200Bへの仲介処理を実行した」との仲介証明書は正しいと判断することができる。
 通信先端末装置200B内の通信先セッション確立部230Bは、通信元端末装置200Aからの通信開始要求S5を受信して、通信元端末装置200Aに対して通信開始受諾確認S6を送信し、通信セッションを確立して通信S7を行う。このとき、受信した通信開始要求S5が正規の信号であれば問題ないが、クラッカーによる偽装信号であった場合、不正行為の被害に遭うおそれがある。また、通信元端末装置200Aがマルウェアに感染していた場合、クラッカーに乗っ取られた状態になり、接続仲介装置100を経由した正規の手順を踏まずに、不正な方法により通信開始要求S5がなされる可能性もある。上述した仲介証明書を発行する対策を講じておけば、このようなクラッカーによる不正行為を防止する上で効果的である。
 仲介証明書のこのような役割を考慮すると、通信先アドレス返信部130は、たとえば次のような方法で仲介証明書を作成すればよい。まず、接続仲介依頼S2に基づいて、通信元となる特定の端末装置200Aの所在アドレス(図示の例では「AD1」)および通信先となる特定の端末装置200Bの所在アドレス(図示の例では「AD2」)を認識する。そして、これら両所在アドレスを含む仲介証明用データを作成する。たとえば、両所在アドレスの文字列をそのまま連結して「AD1」+「AD2」のような文字列を仲介証明用データとしてもよいし、更に、別な秘密文字列「HAPPY」を付加して、「AD1」+「AD2」+「HAPPY」のような文字列を仲介証明用データとしてもよい。
 続いて、こうして作成した仲介証明用データに対して、所定の暗号鍵を利用した一方向性関数を作用させることにより得られたデータを仲介証明書とすればよい。たとえば、一方向性関数としては、通信元端末装置200Aについての暗号鍵もしくは通信先端末装置200Bについての暗号鍵、または、これら双方の暗号鍵を利用したハッシュ関数を用いることができる。
 たとえば、仲介証明用データが、「AD1」+「AD2」+「HAPPY」という文字列によって構成され、当該文字列に、通信先端末装置200Bの公開鍵を利用したハッシュ関数を作用させることにより仲介証明書を作成した場合を例にとってみよう。こうして作成された仲介証明書は、仲介証明用データのハッシュ値ということになる。
 一方、通信開始要求S5とともに、上記仲介証明書を受信した通信先セッション確立部230Bは、次のような手順で、当該仲介証明書の正当性を確認することができる。まず、通信開始要求S5の送信元のアドレスとして、通信元端末装置200Aの所在アドレス「AD1」を認識することができる。また、自分自身の所在アドレス「AD2」も認識することができる。そして、予め取り決めがなされていた上記秘密文字列「HAPPY」(この秘密文字列は、当該ネットワーク通信システムの各構成装置のみが知り得るように管理されている)を用いることにより、「AD1」+「AD2」+「HAPPY」という文字列からなる仲介証明用データを作成する。
 続いて、この仲介証明用データに対して自分自身の公開鍵を用いたハッシュ関数を作用させることにより仲介証明書を作成する。そして最後に、こうして作成した仲介証明書が通信開始要求S5とともに送信されてきた仲介証明書と一致することを確認すればよい。両者が一致すれば、仲介証明書の正当性が確認されたことになる。もちろん、不一致であれば、正当性は確認できないので、何らかの不正が行われている可能性があると判断できる。すなわち、仲介証明書の正当性が確認できない場合は、通信先セッション確立部230Bが受信した通信開始要求S5は、接続仲介装置100による正規の仲介処理に基づいてなされたものではない、と判断することができる。そのような場合、通信先セッション確立部230Bは、通信開始受諾確認S6の送信を行わず、通信セッションの確立を拒絶することになる。
 なお、上例では、「AD1」+「AD2」+「HAPPY」なる仲介証明用データについてのハッシュ値を仲介証明書として用いているが、もちろん、上記仲介証明用データそのものを仲介証明書として用いることも可能である。ただ、十分なセキュリティを確保する上では、仲介証明用データそのものではなく、そのハッシュ値を仲介証明書として用いるのが好ましい。仲介証明用データには、「AD1」や「AD2」といった所在アドレスが含まれているので、クラッカーによる改竄を受けやすい。したがって、実用上は、上例のように、何らかの暗号鍵を利用した一方向性関数を作用させて仲介証明書を作成するのが好ましい。
 ハッシュ関数などの一方向性関数を用いて仲介証明書を作成すれば、元の仲介証明用データを復元することはできないので、仲介証明書がクラッカーの手に渡ったとしても、不正な改竄を受ける可能性を低減することができる。不正な改竄を防止するという点では、上例の「HAPPY」のような秘密文字列を付加して仲介証明用データを作成することは有効である。もちろん、仲介証明書を発行した日付、時間、曜日などの変動要素を秘密文字列として用いることも可能である。
 <3-4. セキュリティを向上させる変形例(その2)>
 上述した§3-3では、§1で述べた先願基本発明の第1の実施形態についてセキュリティを向上させた変形例を述べた。ここでは、§2で述べた先願基本発明の第2の実施形態について、同様の方法でセキュリティを向上させた変形例を述べることにする。
 図14は、図8に示す第2の実施形態に係るネットワーク通信システムについて、セキュリティを向上させた変形例を示すブロック図である。この変形例では、第2の実施形態に係るネットワーク通信システムに対して、セキュリティを向上させるための2つの対策が施されている。
 第1の対策は、相互認証処理の付加であり、図に破線の矢印で示されている情報を送受する際に、両者間で相手方の真正性を確認するための相互認証処理が行われる。具体的には、まず、通信元端末装置400Bから接続仲介装置300に対して接続仲介依頼S12を送信するときに、通信元端末装置400Bと接続仲介装置300との間で、相互に相手方の装置の真正性を確認するための相互認証処理が行われる。接続仲介依頼S12を示す矢印が破線になっているのは、この相互認証処理が行われることを示している。
 同様に、接続仲介装置300から通信先端末装置400Aに対して通信元アドレス送信S14を行うときにも、接続仲介装置300と通信先端末装置400Aとの間で、相互に相手方の装置の真正性を確認するための相互認証処理が行われる。接続仲介依頼S14を示す矢印が破線になっているのは、この相互認証処理が行われることを示している。したがって、各端末装置400および接続仲介装置300には、上述した認証処理機能が備わっていることになる。
 また、図14に示すシステムの場合、通信先端末装置400Aから通信元端末装置400Bに対して通信開始要求S15を送信するときにも、通信先端末装置400Aと通信元端末装置400Bとの間で、相互に相手方の装置の真正性を確認するための相互認証処理が行われる。通信開始要求S15を示す矢印が破線になっているのは、この相互認証処理が行われることを示している。したがって、各端末装置400には、このような認証処理機能が備わっていることになる。
 なお、図示の例の場合、通信元端末装置400Bから通信先端末装置400Aに対して通信開始受諾確認S16を行う際の相互認証処理は省略されている(通信開始受諾確認S16を示す矢印は実線で描かれている)。これは、通信開始要求S15を送信するときに、通信先端末装置400Aと通信元端末装置400Bとの間の相互認証処理が既に完了しており、相手方の装置の真正性が確認済みとなっているためである。もちろん、通信開始受諾確認S16を行う際にも、再び相互認証処理を実行するようにしてもかまわない。
 相互認証処理の具体的な方法は、既に§3-3で述べたとおりである。また、この図14に示す変形例の場合も、相互認証処理に用いた暗号鍵を利用して、通信セッション確立後の両端末装置間の通信S17を暗号化通信によって行うようにしてもよい。
 図14に示すシステムにおいて、セキュリティを向上させるために施された第2の対策は、接続仲介装置300による仲介証明書の発行である。図示の例の場合、接続仲介装置300は、通信元端末装置400Bと通信先端末装置400Aとの間の接続を仲介する役割を果たす。仲介証明書は「そのような仲介を確かに行った」という事実を証明するために接続仲介装置300が発行する証明書である。通信元端末装置400Bは、この仲介証明書により、接続仲介装置300による仲介が正しく行われていることを確認することができる。以下、その仕組を順に説明する。
 まず、接続仲介依頼部410Bから通信元アドレス送信部330に対して、接続仲介依頼S12があると、通信元アドレス送信部330は、この接続仲介依頼S12の送信を受けて、通信元となる特定の端末装置400Bから通信先となる特定の端末装置400Aへの仲介処理を実行したことを示す仲介証明書を発行する。そして、通信元アドレス返信S14を行う際に、通信元アドレス「AD2」とともにこの仲介証明書を、通信先端末装置400Aに返信する。
 したがって、通信開始要求部440Aは、通信元アドレス「AD2」とともに、この仲介証明書を受信することになる。そこで、通信開始要求部440Aは、当該通信元アドレス「AD2」に対して通信開始要求S15を行う際に、この仲介証明書を併せて送信する。そうすると、通信元セッション確立部430Bは、通信開始要求S15とともに仲介証明書を受信することになる。
 通信元セッション確立部430Bは、通信先の別な端末装置400Aから、自己を通信元とする通信開始要求S15とともに仲介証明書が送信されてきたら、この仲介証明書の正当性が確認されることを条件として、当該通信先の別な端末装置400Aに対して通信開始受諾確認S16を送信し、当該通信先の別な端末装置400Aとの間に通信セッションを確立して通信S17を開始するようにする。もちろん、仲介証明書の正当性が確認されない場合は、通信開始受諾確認S16の送信を行わず、通信S17も開始しない。
 前述したとおり、上例の場合の仲介証明書は、接続仲介装置300が「端末装置400Bから端末装置400Aへの仲介処理を実行した」ことを証明するものであるから、通信元セッション確立部430Bは、通信開始要求S15の内容が、当該仲介証明書の証明内容に合致しているか否かを判定することにより、当該仲介証明書の正当性確認を行うことができる。上例の場合、通信開始要求S15は端末装置400Aから送信されてきており、自分自信は端末装置400Bであるから、「端末装置400Bから端末装置400Aへの仲介処理を実行した」との仲介証明書は正しいと判断することができる。
 通信元端末装置400B内の通信元セッション確立部430Bは、通信先端末装置400Aからの通信開始要求S15を受信して、通信先端末装置400Aに対して通信開始受諾確認S16を送信し、通信セッションを確立して通信S17を行う。このとき、受信した通信開始要求S15が正規の信号であれば問題ないが、クラッカーによる偽装信号であった場合、不正行為の被害に遭うおそれがある。また、通信先端末装置400Aがマルウェアに感染していた場合、クラッカーに乗っ取られた状態になり、接続仲介装置300を経由した正規の手順を踏まずに、不正な方法により通信開始要求S15がなされる可能性もある。上述した仲介証明書を発行する対策を講じておけば、このようなクラッカーによる不正行為を防止する上で効果的である。
 仲介証明書の具体的な作成方法は、§3-3で述べたとおりである。すなわち、この図14に示す変形例の場合も、通信元アドレス送信部330は、通信元となる特定の端末装置400Bの所在アドレス「AD2」および通信先となる特定の端末装置400Aの所在アドレス「AD1」を含む仲介証明用データ(必要に応じて、その他の秘密文字列を付加してもよい)に対して、所定の暗号鍵を利用した一方向性関数を作用させることにより仲介証明書を作成すればよい。一方向性関数としては、通信元についての暗号鍵もしくは通信先についての暗号鍵、または、これら双方の暗号鍵を利用したハッシュ関数を用いることができる。このような仲介証明書を用いた正当性確認の具体的な手順は、既に§3-3で述べたとおりであり、ここでは説明を省略する。
 <<< §4. ルータを用いた実用的な実施形態 >>>
 これまで述べてきた先願基本発明の第1の実施形態や第2の実施形態では、各発明の基本原理を示す便宜上、各端末装置200A~200D,400A~400DがネットワークN(インターネット)に直接接続されている状態を示す図(図1,図6参照)を用いて説明を行ってきた。しかしながら、通常、各端末装置は、ルータを介してネットワークN(インターネット)に接続される。そこで、ここでは、先願基本発明について、端末装置をルータを介してネットワークに接続した実用的な実施形態を説明する。
 <4-1. ルータを用いた基本的な実施例>
 図15は、端末装置をルータを介してネットワークNに接続した先願基本発明の一実施形態を示すブロック図である。具体的には、この図15には、3台の端末装置200E,200F,200Gが、同一のルータRを介してネットワークN(インターネット)に接続された状態が示されている。
 既に述べたとおり、先願基本発明における端末装置200は、パソコン、携帯電話、タブレット型端末など、ネットワークNに接続して通信を行う機能を有する電子機器であれば、どのような装置であってもかまわない。最近は、企業内LANや家庭内LANが普及し、パソコンやタブレット型端末は、通常、企業や家庭に設置されたルータ経由でインターネットへ接続される。また、最近の携帯電話通信網では、ルータの機能を有する基地局が利用されてきており、携帯電話は、このルータ機能を有する基地局経由でインターネットに接続することができる。
 したがって、先願基本発明に利用される各端末装置は、実用上は、図15に例示するように、ルータRを介してインターネットに接続されることになる。ルータRは、LANを構築する機能を有し、図示の例の場合、ルータRより左側に描かれた部分が1つのサブネットを構成しており、クラスCのプライベートIPアドレスが付与されている。具体的には、各端末装置には、「192.168」なるネットワーク部と「0.11」,「0.12」,「0.13」なるホスト部とを有するIPアドレスが付与されている。このサブネット内の装置同士の交信は、ルータRを介さずに行うことができるが、サブネット外の装置にアクセスする場合は、ルータRを介した交信が必要になる。
 図示の例の場合、端末装置200E(端末ID:0050)には、「192.168.0.11」なるプライベートIPアドレスが付与され、端末装置200F(端末ID:0060)には、「192.168.0.12」なるプライベートIPアドレスが付与され、端末装置200G(端末ID:0070)には、「192.168.0.13」なるプライベートIPアドレスが付与されている。また、実際の通信には、これらのIPアドレスとともにポート番号が利用される。図には、端末装置200Eの1本の通信路にポート番号P1、端末装置200Fの2本の通信路にポート番号P2,P3、端末装置200Gの4本の通信路にポート番号P4~P7が付与された例が示されている。
 ポート番号は、2バイトのデータからなり、通信のエンドポイントを特定するために利用される。たとえば、図に示す端末装置200Fには、所定のOSプログラムの下で動作する2組のアプリケーションプログラムAPP1,APP2がインストールされており、APP1についての通信路にはポート番号P2が割り当てられ、APP2についての通信路にはポート番号P3が割り当てられている。したがって、同じIPアドレス「192.168.0.12」を用いた通信であっても、ポート番号P2/P3の違いにより、APP1についての通信か、APP2についての通信かを区別することができる。
 一方、図に示す端末装置200Gには、やはり2組のアプリケーションプログラムAPP1,APP2がインストールされているが、APP1については2組のポート番号P4,P5が割り当てられ、APP2については2組のポート番号P6,P7が割り当てられている。このように、同一のアプリケーションプログラムに複数のポート番号を割り当てて、複数の通信路を相互に区別することも可能である。たとえば、アプリケーションプログラムAPP1がWebブラウザプログラムであった場合、第1のWebページについての通信にはポート番号P4を割り当て、第2のWebページについての通信にはポート番号P5を割り当てる、という運用を行えば、それぞれ別のWebサーバに対して別個独立した通信が可能になる。このように、ポート番号は、個々のアプリケーションプログラムの都合に応じて任意に割り当てることができる。
 ここでは、図示されているアプリケーションプログラムAPP2が、先願基本発明に係るネットワーク通信システムとしての機能を果たすための専用の通信アプリケーションプログラムであるものとして以下の説明を続ける。別言すれば、図示の端末装置200F,200Gは、所定のOSプログラムの管理下で動作する汎用のパソコン、スマートフォン、タブレット型端末などの装置であり、当該装置に専用の通信アプリケーションプログラムAPP2をインストールすることにより、これらの装置が先願基本発明に係る端末装置として機能することになる。
 この場合、図2に示す端末装置200の構成要素である自己アドレス通知部250、通信要求受付部220、接続仲介依頼部210、通信開始要求部240、通信元セッション確立部260、通信先セッション確立部230による処理機能は、この通信アプリケーションプログラムAPP2を実行することにより実現される(一部の処理機能は、OSプログラムの実行により実現されるようにしてもよい)。同様に、図7に示す端末装置400の構成要素である自己アドレス通知部450、通信要求受付部420、接続仲介依頼部410、通信開始要求部440、通信元セッション確立部430、通信先セッション確立部460による処理機能は、この通信アプリケーションプログラムAPP2を実行することにより実現される(一部の処理機能は、OSプログラムの実行により実現されるようにしてもよい)。
 図15には、このアプリケーションプログラムAPP2を示すブロックおよびその通信路を太線で示してある。各端末装置200E,200F,200Gとサブネット外の装置との間の通信は、ルータRを介して行われる。ルータRは、ネットワークアドレス変換機能(NAT(Network Address Translation)機能)を有しており、内側(図におけるルータRの左側)に接続された通信路について付与されたプライベートIPアドレスを、外側(図におけるルータRの右側)に接続された通信路について付与されたグローバルIPアドレスに変換するとともに、その逆の変換も行う。
 図示の例の場合、ルータRの内側について付与された「192.168.0.11」~「192.168.0.13」なるプライベートIPアドレスと、ルータRの外側について付与された「xx.73.5.111」なるグローバルIPアドレス(以下、ADxと記す)との間のアドレス変換が行われている。なお、上記グローバルIPアドレス内のxxは、任意の1バイトデータを示す(本願では、固有のグローバルIPアドレスの特定を避けるため、グローバルIPアドレスについては、その一部をxx,yy,zz等の記号で示すことにする)。また、上記アドレス変換の際には、一般にNAPT(Network Address Port Translation)と呼ばれている機能により、ポート番号についての変換も行われる。
 たとえば、端末装置200Fの通信アプリケーションプログラムAPP2からの通信路に付与されたプライベートIPアドレスとポート番号との組み合わせ「192.168.0.12(P3)」は、グローバルIPアドレスADxとポート番号との組み合わせ「xx.73.5.111(P13)」に変換されている。したがって、ネットワーク(インターネット)Nを介して接続された外部装置に対して、端末装置200FのAPP2は、「xx.73.5.111(P13)」なる所在アドレス(IPアドレスにポート番号を付加した情報)で特定されることになる。同様に、端末装置200GのAPP2は、「xx.73.5.111(P16)」もしくは「xx.73.5.111(P17)」なる所在アドレスで特定されることになる。
 図示の例の場合、ルータRの外側の複数の通信路には、いずれも同じグローバルIPアドレスADx(具体的には、「xx.73.5.111」)が付与されているが、ポート番号がそれぞれ異なるため、相互に区別することができる。ルータRの外側の装置から内側の装置に対するアクセスがあった場合には、逆に、グローバルIPアドレスADxをプライベートIPアドレスに変換する処理が行われる。たとえば、外部装置から「xx.73.5.111(P16)」なる所在アドレス宛のアクセスがあった場合、当該所在アドレスは、「192.168.0.13(P6)」に変換され、端末装置200Gの通信アプリケーションプログラムAPP2の第1番目の通信路宛のアクセスとして処理される。このようなNAPT機能は、広く利用されている既存の技術であるため、ここでは詳しい説明は省略する。
 さて、先願基本発明に係るネットワーク通信システムの構成要素となる端末装置200には、図2に示すとおり、自己アドレス通知部250が含まれており、この自己アドレス通知部250により、自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置100に対して通知する処理が行われる。前述したとおり、この通知処理は、実際には端末装置200にインストールされている通信アプリケーションプログラムAPP2によって実行される。
 したがって、図15に示す実施例の場合も、通信アプリケーションプログラムAPP2によって、接続仲介装置100宛に所在アドレスの通知が行われ、これを受けて、接続仲介装置100内のアドレステーブル更新部120が、各端末装置のそれぞれについて、端末IDと所在アドレスとを対応づけた情報を、アドレステーブル格納部110内のアドレステーブルTに書き込む処理を実行する。
 図15に示す実施例の場合、端末装置200F,200Gは、ルータRを介してネットワークNに接続されているため、自己アドレス通知部250は、ルータRが管理するLAN(サブネット)内のプライベートIPアドレスを所在アドレスとして通知する処理を行う。ただ、このプライベートIPアドレスは、ルータRによるNAT機能によりグローバルIPアドレスADxに変換されてネットワークNに送信される。したがって、接続仲介装置100に届くアドレスは、プライベートIPアドレスではなく、グローバルIPアドレスADxということになり、アドレステーブル更新部120は、このグローバルIPアドレスADxを、所在アドレスとしてアドレステーブルTに格納する処理を行う。
 また、図15に示す実施例の場合、各端末装置のネットワーク上での所在を示す所在アドレスとして、IPアドレスにポート番号を付加した情報が用いられている。このため、自己アドレス通知部250は、プライベートIPアドレスにポート番号を付加した情報を所在アドレスとして通知する処理を行い、当該情報がルータRによって、グローバルIPアドレスにポート番号を付加した情報に変換され、接続仲介装置100に届くことになる。したがって、アドレステーブルTには、グローバルIPアドレスにポート番号を付加した情報が所在アドレスとして書き込まれることになる。
 図16は、図15に示す実施形態において、IPアドレスにポート番号を付加した情報を所在アドレスとして用いる場合のアドレステーブルの例を示す図である。図16(a) に示すアドレステーブルT41は、図15に示す端末装置200F(端末ID:0060)内の自己アドレス通知部250(通信アプリケーションプログラムAPP2)からの通知に基づいて、「端末ID:0060」に対応する所在アドレス(IPアドレスADxとポート番号P13との組み合わせ)の書き込みを行うとともに、端末装置200G(端末ID:0070)内の自己アドレス通知部250(通信アプリケーションプログラムAPP2)からの通知に基づいて、「端末ID:0070」に対応する所在アドレス(IPアドレスADxとポート番号P16との組み合わせ、及びIPアドレスADxとポート番号P17との組み合わせ)の書き込みを行った例である。
 図15に示す例の場合、各端末装置200F,200G内の自己アドレス通知部250(通信アプリケーションプログラムAPP2)は、プライベートIPアドレスにポート番号を付加した情報を所在アドレスとして送信する処理を行うが、ルータRによって、グローバルIPアドレスにポート番号を付加した情報に変換されるため、実際にアドレステーブルT41に格納される所在アドレスは、図示のとおり、グローバルIPアドレスADxと変換後のポート番号との組み合わせになる。
 たとえば、端末装置200Fの自己アドレス通知部250からは、送信元である自己の所在を示す所在アドレスとして「192.168.0.12」なるプライベートIPアドレスにポート番号「P3」を付加した情報が、端末ID「0060」を示す情報とともに送信されてくるが、ルータRを通過する際に、送信元である自己の所在を示す所在アドレスが、「xx.73.5.111」なるグローバルIPアドレスにポート番号「P13」を付加した情報に変換されることになる。したがって、アドレステーブルT41には、端末ID「0060」に対応する所属アドレスとして、「xx.73.5.111」なるグローバルIPアドレスADxと「P13」なるポート番号との組み合わせが書き込まれることになる。
 図16(b) に示すアドレステーブルT42は、図16(a) に示すアドレステーブルT41の所在アドレス欄の情報を具体的なデータとして例示したものである。前述したとおり、図15に示す例の場合、ルータRの外側の通信路には、「xx.73.5.111」なるグローバルIPアドレスが付与されているため、図16(b) に示すアドレステーブルT42のIPアドレス欄には、いずれも「xx.73.5.111」なるデータが格納されている。一方、ルータRの外側の通信路に付与されるポート番号は、ルータRによって相互に重複しないように発生された2バイトの番号であり、図16(b) に示す例では、62801~62803なるデータが格納されている。
 結局、図15に示す接続仲介装置100には、端末装置200F,200Gについて、図16(b) に示すようなアドレステーブルT42が格納されることになる。そこで、図示されていない外部の通信元から、通信先特定情報として端末ID「0060」を含む接続仲介依頼があると、接続仲介装置100内の通信先アドレス返信部130は、アドレステーブルT42を参照することにより、端末ID「0060」に対応した所在アドレス(IPアドレス「xx.73.5.111」にポート番号「62801」を付加した情報)を通信先アドレスとして返信する。そこで、通信元となる端末装置は、IPアドレス「xx.73.5.111」およびポート番号「62801」で特定される通信先に対して、通信開始要求を行うことができる。
 以上、主として図1に示す第1の実施形態(接続仲介装置100と端末装置200を用いる実施形態)においてルータRを用いた例を述べたが、図7に示す第2の実施形態(接続仲介装置300と端末装置400を用いる実施形態)においてルータRを用いた場合も同様である。
 なお、接続仲介装置100,300内のアドレステーブル更新部120,320は、各端末装置の自己アドレス通知部250,450から所在アドレスの通知を受けるたびに、図16に例示したアドレステーブルを更新する処理を行う。前述したとおり、図15に示す実施例の場合、端末装置200F,200Gの自己アドレス通知部の処理機能は、所定のOSプログラムの管理下で動作する通信アプリケーションプログラムAPP2を実行することにより実現される。
 そこで、実用上は、自己アドレス通知部250,450による自己アドレスの通知処理は、図17の表に示すタイミングで行うのが好ましい。図示の表におけるタイミング(1) は、通信アプリケーションプログラムAPP2に対するユーザによる操作入力時である。たとえば、通信アプリケーションプログラムAPP2を起動した後、「通信準備を行いますか(Yes/No)?」のようなメッセージを表示し、ユーザが「Yes」を指示する操作入力を行った時点で、自己アドレスの通知処理を行うようにすればよい。通常、通信アプリケーションプログラムAPP2が起動された時点では、既に端末装置のプライベートIPアドレスや、これに対応するグローバルIPアドレスが定まっており、自己アドレスの通知処理を行う環境が整っている。
 図示の表におけるタイミング(2) は、通信アプリケーションプログラムAPP2の起動時である。このタイミング(2) を採用した場合、上述したメッセージの表示やユーザによる操作入力を待たずして、自動的に自己アドレスの通知処理が実行されることになる。実際には、プログラムAPP2の起動ルーチンに自己アドレス通知部250,450としての処理機能を組み込んでおけばよい。
 図示の表におけるタイミング(3) は、OSプログラムの起動時であり、実質的には、端末装置の起動時ということになる。このタイミング(3) を採用する場合、OSプログラムの起動ルーチンに自己アドレス通知部250,450としての処理機能を組み込んでおけばよい。通常、OSプログラムの起動ルーチンにおいて、端末装置のプライベートIPアドレスや、これに対応するグローバルIPアドレスを決定する処理が行われるため、その後に、自己アドレス通知処理を自動的に行うようにしておけばよい。
 <4-2. VPNを利用した実施例>
 続いて、先願基本発明に係るネットワーク通信システムにおいて、VPN(Virtual Private Network)を利用した実施例を述べる。図15には、ルータRを介して端末装置をネットワークNに接続した実施例を例示した。この例の場合、ルータRの内側(図の左側)に構築されたローカルネットワークが1つのプライベートネットワークを構成しており、各端末装置200E,200F,200Gには、いずれも「192.168」なるネットワーク部で始まるプライベートIPアドレスが付与されている。このようなプライベートネットワークを、インターネットNなどの公衆ネットワークを跨いで拡張する方法として、VPNの技術が普及している。
 図18は、先願基本発明に係るネットワーク通信システムにおいて、VPNを利用した実施形態の全体構成を示すブロック図である。ここでは、説明の便宜上、ある企業の東京本社に設定された3台の端末装置200H,200I,200J(端末IDは、それぞれ0081,0082,0083)と、パリ支社に設置された1台の端末装置200K(端末IDは、0091)という合計4台の端末装置によって、VPNを構築した単純な例を示すことにする。また、東京本社に設置された3台の端末装置200H,200I,200Jを第1グループに所属する第1の端末装置と呼び、パリ支社に設置された1台の端末装置200Kを第2グループに所属する第2の端末装置と呼ぶことにする。
 図示のとおり、第1の端末装置200H,200I,200Jは、第1のルータR1を介してネットワーク(インターネット)Nに接続されており、第2の端末装置200Kは、第2のルータR2を介してネットワーク(インターネット)Nに接続されている。したがって、基本的には、図において第1のルータR1より上方に配置されている第1の端末装置200H,200I,200Jは、第1のルータR1が管理する第1のLAN内のホストということになり、図において第2のルータR2より下方に配置されている第2の端末装置200Kは、第2のルータR2が管理する第2のLAN内のホストということになる。
 このため、第1の端末装置200H,200I,200Jには、第1のルータR1が管理する第1のLAN内のプライベートIPアドレスが付与され、第2の端末装置200Kには、第2のルータR2が管理する第2のLAN内のプライベートIPアドレスが付与されている。また、図15に示す例と同様に、IPアドレスとともにポート番号も付与されている。
 図示の例の場合、第1のLANについては、クラスBのプライベートIPアドレスが付与されており、第1の端末装置200H,200I,200Jには、それぞれ「172.16.6.11(P1)」,「172.16.6.12(P2)」,「172.16.6.13(P3)」なるIPアドレスおよびポート番号が付与されている(ポート番号P1,P2,P3等は、実際には2バイトのデータである)。これらの情報は、第1のルータR1によって、それぞれ「yy.88.105.19(P11)」,「yy.88.105.19(P12)」,「yy.88.105.19(P13)」なるグローバルIPアドレスADyとポート番号との組み合わせに変換された後、インターネットNへ接続される。一方、図示の例の場合、第2のLANについては、クラスCのプライベートIPアドレスが付与されており、第2の端末装置200Kには、「192.168.99.11(P4)」なるIPアドレスおよびポート番号が付与されている。この情報は、第2のルータR2によって、「zz.99.214.28(P21)」なるグローバルIPアドレスADzとポート番号との組み合わせに変換された後、インターネットNへ接続される。
 このままの状態では、第1グループに所属する第1の端末装置200H,200I,200Jが所属する第1のLANと、第2グループに所属する第2の端末装置200Kが所属する第2のLANとは、それぞれ別個独立したプライベートネットワークになるが、図示する実施例の場合、第1のLANの範囲をインターネットNを跨いで拡張するためのVPNが構築されている。すなわち、第2の端末装置200Kには、第2のルータR2が管理する第2のLAN内のプライベートIPアドレスおよびポート番号「192.168.99.11(P4)」が付与されるとともに、第1のルータR1が管理する第1のLAN内のプライベートIPアドレスおよびポート番号「172.16.6.14(P5)」が、VIPアドレスとして仮想的に付与されており、第1の端末装置200H,200I,200Jと第2の端末装置200Kとの間には、このVIPアドレスを用いて相互に交信することが可能となるようにVPNの設定がなされている。
 したがって、図に破線で示すように、パリ支社に設置された端末装置200Kは、東京本社に設置された端末装置200H,200I,200Jと同様に、第1のルータR1が管理する第1のLAN内の端末装置として取り扱うことができる。図19は、図18に示す実施形態におけるVNP通信の原理を示す図である。図示の例は、東京本社に設置された端末装置200Hとパリ支社に設置された端末装置200Kとの間のVPN通信を示している。
 図19に示すように、端末装置200HにはVPN通信部201Hが、端末装置200KにはVPN通信部201Kが、それぞれ設けられており、両者間にVPN暗号通信路が開設される。両者間でやりとりされるデータは暗号化されるため、実際には、インターネットNなどの公衆ネットワークを介して情報が伝達されるにもかかわらず、あたかもプライベートネットワークを介した利便性・安全性をもった情報の送受が可能になる。VPN通信部201H,201Kは、実際には、各端末装置にインストールされた専用のVPN用アプリケーションプログラムによって構築される。このようなVPNの具体的な仕組は公知の技術であるため、ここでは詳しい説明は省略する。
 さて、このようなVPNの仕組を先願基本発明に係るネットワーク通信システムにおいて利用する場合は、接続仲介装置100内に格納されるアドレステーブルTに、VIPアドレスを格納しておくようにすると便利である。図20は、図18に示す実施形態に用いるために、VIPアドレスを追加したアドレステーブルの例を示す図である。図20(a) に示すアドレステーブルT51は、VPNの構成メンバーである端末装置200H~200K内の自己アドレス通知部250からの通知に基づいて、各端末IDに対応する所在アドレス(IPアドレスとポート番号)を格納したものである。
 ここで、端末装置200H~200J(端末ID:0081~0083)は、東京本社に構築された第1のLANに所属する装置であるが、端末装置200K(端末ID:0091)は、パリ支社に構築された第2のLANに所属する装置である。ただ、上述したVPNの仕組により、第1のLANは端末装置200Kまで仮想的に拡張されており、端末装置200Kには、「VIP(200K)」なるVIPアドレスが付与されている。このため、図20(a) に示すアドレステーブルT51の端末ID「0091」については、更に、VIP欄に「VIP(200K)」なるVIPアドレスが格納されている。
 図20(b) に示すアドレステーブルT52は、図20(a) に示すアドレステーブルT51の所在アドレス欄およびVIP欄の情報を具体的なデータとして例示したものである。図18に示す例の場合、第1のルータR1の外側の各通信路には、「yy.88.105.19」なるグローバルIPアドレスADyに、ポート番号P11~P13を付加した情報が所在アドレスとして付与されているため、図20(b) に示すアドレステーブルT52の端末ID「0081~0083」のIPアドレス欄には、いずれも「yy.88.105.19」なるデータが格納されており、ポート番号欄には、第1のルータR1によって発生された2バイトの番号「54701~54703」が格納されている。
 一方、第2のルータR2の外側の各通信路には、「zz.99.214.28」なるグローバルIPアドレスADzに、ポート番号P21を付加した情報が所在アドレスとして付与されているため、図20(b) に示すアドレステーブルT52の端末ID「0091」のIPアドレス欄には、「zz.99.214.28」なるデータが格納されており、ポート番号欄には、第2のルータR2によって発生された2バイトの番号「61999」が格納されている。そして、更に、端末ID「0091」のVIP欄には、「172.16.6.14」なるVIPアドレス(VPNの設定により、端末装置200Kに対して付与された第1のLANについての仮想的なプライベートアドレス)が格納されている。
 このように、アドレステーブルT52のVIP欄に「172.16.6.14」なるVIPアドレスを格納するには、第2の端末装置200Kの自己アドレス通知部250に、接続仲介装置100に対して、VPNの設定により付与されたVIPアドレスを通知する機能をもたせておき、アドレステーブル更新部120に、このVIPアドレスを第2の端末装置200Kの所在アドレスと対応づけてアドレステーブルT52に格納する機能をもたせておけばよい。
 このように、アドレステーブルT52に第2の端末装置200KのVIPアドレスを格納しておくようにすれば、たとえば、第1の端末装置200Hが第2の端末装置200Kを通信先として通信を行う際に、第1の端末装置200Hの接続仲介依頼部210が、第2の端末装置200KのVIPアドレス「VIP(200K)」を通信先特定情報として用いて通信先の特定を行うことができる。
 具体的には、端末装置200Hの接続仲介依頼部210が、通信先特定情報として「172.16.6.14」なるVIPアドレスを含む接続仲介依頼を行うようにすれば、接続仲介装置100内の通信先アドレス返信部130は、図20(b) に示すアドレステーブルT52を参照することにより、VIPアドレス「172.16.6.14」に対応する所在アドレス「zz.99.214.28(61999)」を通信先アドレスとして返信することができる。通常、VPNの設定を行った場合、アプリケーションプログラムのレイヤーでは、端末装置200Kは、「172.16.6.14」なるVIPアドレスをもった装置として認識されているので、このVIPアドレスを用いて接続仲介依頼を行うことができれば便利である。
 もちろん、必要があれば、VIPアドレス「172.16.6.14」とともに、ポート番号「P5」を格納しておくようにしてもよい。そうすれば、「172.16.6.14(P5)」なる情報を用いて、特定のポート番号の指定を含む接続仲介依頼を行うことができる。
 以上、図1に示す先願基本発明の第1の実施形態(接続仲介装置100と端末装置200を用いる実施形態)においてVPNの設定を行い、プライベートネットワークの範囲を仮想的に拡張する例を述べたが、図7に示す先願基本発明の第2の実施形態(接続仲介装置300と端末装置400を用いる実施形態)においてVPNの設定を行う場合も同様である。
 <<< §5. 本発明により解決される技術的な問題 >>>
 これまで、国際出願PCT/JP2017/006131に記載されている先願基本発明に係るネットワーク通信システムを説明してきた。特に、§4-1では、ルータを用いた基本的な実施例を示した。前述したとおり、個々の端末装置は、通常、ルータを介してネットワークに接続されることが多い。この場合、図15に示す例のように、各端末装置にはルータによってプライベートIPアドレス(本願では、PIPという省略形を用いる)が付与されるが、ルータのNAT機能によりグローバルIPアドレス(本願では、GIPという省略形を用いる)への変換が行われ、接続仲介装置100に対してはグローバルIPアドレスが通知されることになる。したがって、接続仲介装置100内のアドレステーブルTには、図16に例示するように、所在アドレスとしてグローバルIPアドレス(およびポート番号)が格納される。
 このように、先願基本発明の第1の実施形態に係るネットワーク通信システムの場合、接続仲介装置100は、通信元の端末装置からの接続仲介依頼に応じて、通信先となる端末装置のグローバルIPアドレスを返信する。そして、通信元の端末装置は、このグローバルIPアドレスを用いて、通信先の端末装置に対して通信開始要求を行うことになる。ところが、ネットワーク環境によっては、グローバルIPアドレスを用いた通信開始要求が好ましくない場合がある。以下、その理由と解決方法を説明する。
 <5-1. 問題の所在>
 図21は、ルータを介してネットワークN(インターネット)に接続されている端末装置を含む、先願基本発明の第1の実施形態に係るネットワーク通信システムの全体構成を示すブロック図である。ここでは説明の便宜上、4台の端末装置200A~200DがネットワークNに接続されているものとする(実際には、各ルータRA,RBには、より多数の端末装置が接続されているが、ここでは図示を省略する)。図示のとおり、端末装置200Aおよび200Bは、ルータRAを介してネットワークNに接続されており、端末装置200Cは、ルータRBを介してネットワークNに接続されており、端末装置200Dは、ルータを介さずにネットワークNに直接接続されている。また、接続仲介装置100もネットワークNに直接接続されている。
 なお、図21に括弧書きで示されている符号400A~400D,300は、上述した先願基本発明の第1の実施形態を、先願基本発明の第2の実施形態に置き換えた場合の符号である。以下、便宜上、先願基本発明の第1の実施形態についての問題の所在を説明するが、このような問題は、先願基本発明の第2の実施形態についても同様に発生する。
 ここで、各端末装置200A~200Dの所在アドレスをそれぞれAD1~AD4とすれば、これまで述べてきた先願基本発明では、所在アドレスAD1~AD4として、いずれもグローバルIPアドレス(およびポート番号、以下同様)を用い、接続仲介装置100内のアドレステーブルTには、このグローバルIPアドレスが格納されることになる。すなわち、端末装置200Aの所在アドレスAD1としてはグローバルIPアドレスGIP1が、端末装置200Bの所在アドレスAD2としてはグローバルIPアドレスGIP2が、端末装置200Cの所在アドレスAD3としてはグローバルIPアドレスGIP3が、端末装置200Dの所在アドレスAD4としてはグローバルIPアドレスGIP4が、それぞれ接続仲介装置100に通知され、アドレステーブルTに格納される。なお、図では、各GIPのうしろにポート番号P1~P3を括弧書きで示してある。
 一方、ルータRA,RBを介してネットワークNに接続されている端末装置200A,200B,200Cには、ルータRAもしくはRBから、それぞれプライベートIPアドレスPIP1,PIP2,PIP3が付与されている。図21では、説明の便宜上、GIP1~GIP4およびPIP1~PIP3についての実アドレスが例示されている。
 具体的には、ルータRAは、「192.168.2.0/24」で示されるプライベートIPアドレスが付与されたサブネットを構築しており、このサブネット内において、端末装置200Aに対してはPIP1=「192.168.2.1」なるプライベートIPアドレスが付与され、端末装置200Bに対してはPIP2=「192.168.2.2」なるプライベートIPアドレスが付与されている。また、このルータRAには、「xx.5.1.1」なるグローバルIPアドレスが付与されており、ネットワークNに対しては、当該グローバルIPアドレスおよびポート番号が各端末装置200A,200Bの所在アドレスとして利用される。したがって、ネットワークNから各端末装置200A,200Bに対してアクセスする際には、このグローバルIPアドレス「xx.5.1.1」と所定のポート番号が所在アドレスとして用いられることになる。
 図示の例の場合、端末装置200Aに対してはGIP1=「xx.5.1.1(P1)」なるグローバルIPアドレスおよびポート番号が付与され、端末装置200Bに対してはGIP2=「xx.5.1.1(P2)」なるグローバルIPアドレスおよびポート番号が付与されている。両者には、同じグローバルIPアドレス「xx.5.1.1」が付与されるが、ポート番号「P1」,「P2」によって区別されることになる。実際には、ルータRAのNAT機能により、グローバルIPアドレスとプライベートIPアドレスとの変換が行われる点は、既に§4で述べたとおりである。
 一方、ルータRBは、「192.168.10.0/24」で示されるプライベートIPアドレスが付与されたサブネットを構築しており、このサブネット内において、端末装置200Cに対してはPIP3=「192.168.10.1」なるプライベートIPアドレスが付与されている。また、このルータRBには、「xx.5.7.1」なるグローバルIPアドレスが付与されており、ネットワークNに対しては、当該グローバルIPアドレスおよびポート番号が端末装置200Cの所在アドレスとして利用される。図示の例の場合、端末装置200Cに対してはGIP3=「xx.5.7.1(P3)」なるグローバルIPアドレスおよびポート番号が付与されている。
 なお、端末装置200Dは、ルータを介さずにネットワークNに直接接続されているため、プライベートIPアドレスは付与されておらず、グローバルIPアドレスとしてGIP4=「xx.5.8.100」が付与されている。
 これまで述べてきた先願基本発明に係るネットワーク通信システムの場合、各端末装置200A~200Dの自己アドレス通知機能によって、接続仲介装置100には、それぞれのグローバルIPアドレスが通知され、アドレステーブルTに格納される。
 さて、この図21に示す例において、端末装置200Aを通信元、端末装置200Cを通信先として、両端末装置間で通信を行う場合を考えてみる。図22は、図21に示すネットワーク通信システムにおける端末装置200A-200C間の通信形態を示すブロック図である。図に示す細線矢印L1は、一対の端末装置200A,200Cの間で通信セッション確立前にやりとりされる信号の流れを示し、白抜矢印L2は、一対の端末装置200A,200Cの間で通信セッション確立後にやりとりされる信号の流れを示している。実際には、この2種類の矢印L1,L2で示される信号の流れは、いずれもルータRA,RBおよびネットワークNを通ることになる。
 上述したとおり、各端末装置200A,200CにはプライベートIPアドレスPIP1,PIP3が付与されているが、信号がルータRA,RBを通ってインターネットNへ向かう際に、それぞれグローバルIPアドレスGIP1,GIP3に変換される。図示の例の場合、端末装置200Aには、PIP1=「192.168.2.1」が付与されているが、信号がルータRAを通る際に、PIP1=「192.168.2.1」は、グローバルIPアドレスGIP1=「xx.5.1.1(P1)」に変換されている。同様に、端末装置200Cには、PIP3=「192.168.10.1」が付与されているが、信号がルータRBを通る際に、PIP3=「192.168.10.1」は、グローバルIPアドレスGIP3=「xx.5.7.1(P3)」に変換されている。
 図4に示すとおり、通信元である端末装置200Aが通信を開始するには、まず、接続仲介装置100に対して接続仲介依頼S2を行う。この接続仲介依頼S2を受けた接続仲介装置100は、アドレステーブルTを参照することにより、通信先となる端末装置のグローバルIPアドレスを把握し、この通信先アドレスを通信元である端末装置200Aに返信する。図22に示す例の場合、通信先となる端末装置200CのグローバルIPアドレスGIP3「xx.5.7.1(P3)」が、通信元の端末装置200Aに返信される。そこで、通信元の端末装置200Aは、このGIP3「xx.5.7.1(P3)」を用いて通信先となる端末装置200Cに対して通信開始要求(図4のS5)を行うことになる。
 その後、通信先となる端末装置200C内の通信先セッション確立部230と、通信元となる端末装置200A内の通信元セッション確立部230と、の間で、通信開始受諾確認(S6)の送受が行われる。この通信開始要求(S5)および通信開始受諾確認(S6)は、図22の矢印L1で示される信号経路を介して行われる。そして、最後に、両端末装置間で通信(S7)が行われる。この通信(S7)は、図22の矢印L2で示される信号経路を介して行われる。
 ここで、信号経路L1,L2は、いずれもルータRA,RBおよびネットワークNを通る経路であり、このような経路を前提とすれば、端末装置200Aの所在アドレスとしてグローバルIPアドレスGIP1「xx.5.1.1(P1)」を用い、端末装置200Cの所在アドレスとしてグローバルIPアドレスGIP3「xx.5.7.1(P3)」を用いることは理にかなっている。すなわち、信号経路L1,L2を経る信号(データパケット)は、ルータRA,RBを通って外部のインターネットNに出るため、相手方の所在アドレスとしてグローバルIPアドレスが必要になる。
 次に、図21に示す例において、端末装置200Aを通信元、端末装置200Bを通信先として、両端末装置間で通信を行う場合を考えてみる。図23は、図21に示すネットワーク通信システムにおける端末装置200A-200B間の通信形態を示すブロック図である。図22に示す一対の端末装置200A,200Cは、互いに異なるルータRA,RBを介してネットワークNに接続されていたが、図23に示す一対の端末装置200A,200Bは、同一のルータRAを介してネットワークNに接続されている。別言すれば、図23に示す例は、同一のサブネットに所属する一対の端末装置間の通信ということになる。
 この図23においても、細線矢印L3,L5は、一対の端末装置200A,200Bの間で通信セッション確立前にやりとりされる信号の流れを示し、白抜矢印L4,L6は、一対の端末装置200A,200Bの間で通信セッション確立後にやりとりされる信号の流れを示している。ただ、矢印L3,L4で示される信号の流れは、いずれもルータRAおよびネットワークNを通る信号経路をとるものになるのに対して、矢印L5,L6で示される信号の流れは、いずれもルータRAによるサブネット内の信号経路をとるものになる。別言すれば、前者はサブネットからルータRAの外側(インターネットN)に出て、再びルータRAを経てサブネット内に戻る経路をとるのに対して、後者はルータRAの外側(インターネットN)に出ることなしに、ルータRAの内側(サブネット)のみを通る経路をとることになる。
 上述したとおり、各端末装置200A,200Bには、それぞれプライベートIPアドレスPIP1「192.168.2.1」,PIP2「192.168.2.2」が付与されているが、信号がルータRAを通ってインターネットNへ向かう際には、それぞれグローバルIPアドレスGIP1「xx.5.1.1(P1)」,GIP2「xx.5.1.1(P2)」に変換される。
 これまで述べてきた先願基本発明に係るネットワーク通信システムの場合、通信元となる端末装置200Aが通信先となる端末装置200Bにアクセスするために、接続仲介装置100に対して接続仲介依頼を行うと、接続仲介装置100は、通信先となる端末装置200BのグローバルIPアドレスGIP2「xx.5.1.1(P2)」を通信先アドレスとして返信してくることになる。したがって、通信元となる端末装置200Aは、このグローバルIPアドレスGIP2「xx.5.1.1(P2)」を用いて、通信先となる端末装置200Bに対して通信開始要求(S5)を行う。
 その後、通信先となる端末装置200B内の通信先セッション確立部230と、通信元となる端末装置200A内の通信元セッション確立部230と、の間で、通信開始受諾確認(S6)の送受が行われる。この通信開始要求(S5)および通信開始受諾確認(S6)は、図23の矢印L3で示される信号経路を介して行われる。そして、最後に、両端末装置間で通信(S7)が行われる。この通信(S7)は、図23の矢印L4で示される信号経路を介して行われる。
 しかしながら、この矢印L3,L4で示される信号経路は、効率的な通信を行うという観点からは問題である。すなわち、図23に示す例では、通信元端末装置200Aと通信先端末装置200Bとが同一のサブネットに所属している。したがって、両者間でやりとりする信号は、一旦、ルータRAの外側へ出てインターネットNを通って再びルータRAの内側に戻ってくる経路をとる必要はない。別言すれば、この図23に示す例では、矢印L3,L4で示される信号経路をとる代わりに、矢印L5,L6で示される信号経路をとった方が効率的である。
 このような問題は、単に、通信経路の効率性を低下させるだけでなく、通信に支障が生じる問題に発展する可能性がある。これは、ルータによっては、同一のネットワークに所属する端末装置間の通信にグローバルIPアドレスを利用すると、接続を拒絶する設定を採用するものが存在するためである。もし、図23に示すルータRAに、このような設定がなされていた場合、ルータRAの内側から外側へと通過した信号が、再びルータRAの内側に戻ってくることは禁止される。
 したがって、たとえば、通信元端末装置200Aから通信先端末装置200B宛に通信開始要求(S5)を送信する際に、通信先端末装置200Bの所在アドレスとしてグローバルIPアドレスGIP2「xx.5.1.1(P2)」を用いた場合(これまで述べてきた先願基本発明に係る方法を採る場合)、当該通信開始要求(S5)の送信は失敗することになる。すなわち、当該通信開始要求(S5)の信号(データパケット)は、矢印L3の信号経路をとることになるので、ルータRAを通って一旦インターネットNへ出ることになり、その後、再びルータRAの内側へ戻ろうとするが、上記設定がなされているルータRAは、このような出戻り信号を拒絶することになる。これにより、出戻り信号(通信開始要求(S5))はルータRAの内側に戻ることができず、通信先端末装置200Bには届かないことになる。
 このように、図23に示す例の場合、両端末装置200A,200B間の信号のやりとりに、信号経路L3,L4(一旦、ルータRAの外側に出てから内側に戻る経路)を用いた場合、通信効率の低下を招くとともに、ルータRAの設定によっては、一旦外側に出た信号が再び内側に戻ることを拒絶され、通信に失敗する可能性もある。このような問題に対処するには、信号経路L3,L4を用いる代わりに、信号経路L5,L6を用いる必要がある。信号経路L5,L6を用いれば、両端末装置200A,200B間の信号(データパケット)は、ルータRAの内側(ルータRAによって構築されたサブネット内)のみを通ることになり、ルータRAの外側に出ることはない。よって、通信効率を向上させることができ、また、ルータRAの設定に起因した通信障害を防ぐこともできる。
 <5-2. 第1の実施形態についての問題の解決方法>
 図22に示す例のように、異なるサブネットに所属する端末装置200A-200C間の通信は、通信経路L1,L2に示すように、一旦ルータの外側に出てから別なルータの内側に入る経路を採らざるを得ない。これに対して、図23に示す例のように、同じサブネットに所属する端末装置200A-200B間の通信は、通信経路L3,L4に示すように、一旦ルータの外側に出てから同じルータの内側に戻るような経路を採るよりも、通信経路L5,L6に示すように、ルータの内側のみを通る経路を採る方が好ましいことになる。
 結局、先願基本発明に係るネットワーク通信システムにおいて、ルータを介してネットワークに接続されている端末装置間について効率的な通信を行うには、基本的には、信号をルータの外側へ出して、ネットワークNを介して通信が行われるような方法を採用しつつ、同一のルータによって構築された同一のサブネットに所属する端末装置間の通信に関しては、信号をルータの外側に出さず、サブネット内の経路のみを利用した通信が行われるような方法を採用すればよい。そのためには、基本的には、グローバルIPアドレス(GIP)を用いて相手方の端末装置にアクセスする方法を採用しつつ、同一のルータによって構築された同一のサブネットに所属する端末装置間の通信に関しては、プライベートIPアドレス(PIP)を用いて相手方の端末装置にアクセスする方法を採用すればよい。
 §1で述べた先願基本発明の第1の実施形態に係るネットワーク通信システムは、図4のブロック図に示すとおり、ネットワークNを介して相互に接続可能な複数の端末装置200A,200Bと、これら複数の端末装置間の接続を仲介する接続仲介装置100と、を備えている。そして、各端末装置200A,200Bには、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、接続仲介装置100は、この端末IDを利用して通信元となる端末装置200Aと通信先となる端末装置200Bとの間の接続を仲介する処理を実行する。
 図2に示すとおり、各端末装置200は、接続仲介依頼部210、通信要求受付部220、通信先セッション確立部230、通信開始要求部240、自己アドレス通知部250、通信元セッション確立部260を有しており、これら各構成要素の機能は、既に§1で述べたとおりである。一方、図4に示すとおり、接続仲介装置100は、アドレステーブル格納部110、アドレステーブル更新部120、通信先アドレス返信部130を有しており、これら各構成要素の機能も、既に§1で述べたとおりである。
 この先願基本発明の第1の実施形態に本発明を適用するには、上記各構成要素のいくつかに、付加的な機能を設けるようにすればよい。具体的には、以下に述べる各構成要素に付加機能を追加すればよい。
 まず、自己アドレス通知部250については、端末装置200がルータを介してネットワークNに接続されていた場合に、自己の所在アドレスとして、ネットワーク上のグローバルIPアドレス(GIP)とともに、当該ルータから付与されたプライベートIPアドレス(PIP)を接続仲介装置100に対して通知する付加機能を追加する。たとえば、図21に示す例の場合、端末装置200A内の自己アドレス通知部250Aは、GIP1「xx.5.1.1(P1)」とともにPIP1「192.168.2.1」を接続仲介装置100に通知し、端末装置200B内の自己アドレス通知部250Bは、GIP2「xx.5.1.1(P2)」とともにPIP2「192.168.2.2」を接続仲介装置100に通知し、端末装置200C内の自己アドレス通知部250Cは、GIP3「xx.5.7.1(P3)」とともにPIP3「192.168.10.1」を接続仲介装置100に通知する。ネットワークNに直接接続されている端末装置200Dに関しては、プライベートIPアドレスは付与されていないので、GIP4「xx.5.8.100」のみが通知される。
 実用上、グローバルIPアドレス(GIP)の通知は、接続仲介装置100に対して何らかのデータパケットを送信すればよい。通信プロトコルとしてIPを採用してデータパケットを送信すれば、受信側では、当該データパケットの送信元のグローバルIPアドレスを自動的に認識できる仕様になっている。たとえば、端末装置200Aから接続仲介装置100に対して、何らかのデータパケットを送信すれば、接続仲介装置100は、当該データパケットの送信元の所在アドレスが、GIP1「xx.5.1.1(P1)」であることを認識できる。したがって、端末装置200A内の自己アドレス通知部250Aは、自己の端末ID「0010」と自己に付与されているPIP1「192.168.2.1」をデータパケットに記載し、これを自己アドレスとして接続仲介装置100に送信すればよい。
 一方、このような自己アドレス通知を受けた接続仲介装置100内のアドレステーブル更新部120は、端末ID「0010」,GIP1「xx.5.1.1(P1)」,PIP1「192.168.2.1」を対応づけてアドレステーブルTに格納する更新処理を実行する。したがって、図4に示す先願基本発明の第1の実施形態に本発明を適用するには、アドレステーブル格納部110に、所在アドレスとして、各端末装置のグローバルIPアドレス(GIP)を端末IDに対応づけて格納するとともに、プライベートIPアドレス(PIP)が通知された端末装置については、更に当該プライベートIPアドレス(PIP)を端末IDに対応づけて格納する付加機能をもたせておけばよい。
 図24は、図21に示すネットワーク通信システムにおいて、各端末装置のグローバルIPアドレス(GIP)とプライベートIPアドレス(PIP)の双方をアドレステーブルに格納した例を示す図である。図24(a) に示すアドレステーブルT61は、各アドレスを符号で表したものであり、端末ID「0010」~「0040」(図21に示す端末装置200A~200DのID)に対応させて、グローバルIPアドレスGIP1~GIP4と、ポート番号P1~P3と、プライベートIPアドレスPIP1~PIP3と、がそれぞれ格納されている。なお、端末ID「0040」をもつ端末装置200Dは、ルータを介さずにネットワークNに直接接続されているため、ポート番号およびPIPの情報はない。
 図24(b) に示すアドレステーブルT62は、図24(a) に示すアドレステーブルT61における各アドレスを具体的な数値例で表したものであり、端末ID「0010」~「0040」に対応させて、グローバルIPアドレス「xx.5.1.1」,「xx.5.1.1」,「xx.5.7.1」,「xx.5.8.100」と、ポート番号「54701」,「54702」,「61999」と、プライベートIPアドレス「192.168.2.1」,「192.168.2.2」,「192.168.10.1」と、がそれぞれ格納されている。
 §1で述べたとおり、接続仲介装置100内の通信先アドレス返信部130は、アドレステーブルを参照して通信先アドレスを確認し、通信元の端末装置に対して通信先アドレスを返信する処理を行う。このとき、§1で述べた実施形態の場合、返信される通信先アドレスは、通信先となる端末装置のグローバルIPアドレスである。これに対して本発明の場合、図24のアドレステーブルT61,T62に示すように、ルータを介して接続された端末装置については、所在アドレスとしてグローバルIPアドレス(GIP)とともにプライベートIPアドレス(PIP)も格納されている。そこで、本発明に係る通信先アドレス返信部130には、このアドレステーブルT61,T62の内容に応じて、グローバルIPアドレス(GIP)もしくはプライベートIPアドレス(PIP)、またはその両方を通信先アドレスとして返信する付加機能をもたせるようにする。
 こうすることにより、端末装置200内の通信開始要求部240は、通信先についてのグローバルIPアドレス(GIP)もしくはプライベートIPアドレス(PIP)、またはその両方を通信先アドレスとして受け取ることができる。そこで、本発明に係る通信開始要求部240には、グローバルIPアドレス(GIP)もしくはプライベートIPアドレス(PIP)、またはその両方を用いて通信開始要求S5を行う付加機能をもたせるようにする。そうすれば、通信開始要求部240は、自己と通信先との間のネットワーク環境に応じて、適宜、グローバルIPアドレス(GIP)およびプライベートIPアドレス(PIP)を選択的に利用して、通信先に対して通信開始要求S5を行うことができるようになる。
 グローバルIPアドレス(GIP)か、プライベートIPアドレス(PIP)か、のいずれを利用して通信開始要求S5を行うかの判断は、通信元と通信先のグローバルIPアドレスを比較することによって行うことができる。具体的には、通信元となる端末装置200の通信開始要求部240は、自己のグローバルIPアドレスと通信先となる端末装置のグローバルIPアドレスとが同一のIPアドレスである場合には、プライベートIPアドレス(PIP)を用いて通信開始要求S5を行い、異なるIPアドレスである場合には、グローバルIPアドレス(GIP)を用いて通信開始要求S5を行うようにすればよい。
 このような運用を行った場合の具体的な通信形態を、図21に示す例について考えてみよう。この例の場合、接続仲介装置100内には、図24(b) に示すようなアドレステーブルT62が格納されている。そこで、まず、端末装置200Aが通信元となって、別なサブネットに所属する端末装置200Cを通信先とする通信を行う場合を考える。この場合、図24(b) のアドレステーブルT62を参照すると、端末装置200A(端末ID「0010」)のグローバルIPアドレス「GIP1」は「xx.5.1.1」であるのに対して、相手方の端末装置200C(端末ID「0030」)のグローバルIPアドレス「GIP3」は「xx.5.7.1」であり、両者は異なっている。そこで、通信元となる端末装置200Aの通信開始要求部240Aは、グローバルIPアドレス(GIP3)である「xx.5.7.1」に対して通信開始要求S5を行うことになる。
 もちろん、通信元の端末装置200Aの通信開始要求部240Aが、グローバルIPアドレス(GIP)を用いて通信開始要求S5を行った場合は、以後、通信先の端末装置200Cの通信先セッション確立部230Cと通信元の端末装置200Aの通信元セッション確立部260Aとの間の相互アクセスはグローバルIPアドレス(GIP)を用いて行われる。その結果、図22の通信経路L1,L2を用いた通信(ネットワークNを経由した通信)が行われることになる。
 続いて、端末装置200Aが通信元となって、同じサブネットに所属する端末装置200Bを通信先とする通信を行う場合を考える。この場合、図24(b) のアドレステーブルT62を参照すると、端末装置200A(端末ID「0010」)のグローバルIPアドレス「GIP1」は「xx.5.1.1」であり、相手方の端末装置200B(端末ID「0020」)のグローバルIPアドレス「GIP2」も「xx.5.1.1」であり、両者は同一である。そこで、通信元となる端末装置200Aの通信開始要求部240Aは、通信先となる端末装置BのプライベートIPアドレス(PIP2)である「192.168.2.2」に対して通信開始要求S5を行うことになる。その結果、図23の通信経路L5,L6を用いた通信(ネットワークNを経由しない通信)が行われる。
 もちろん、通信元の端末装置200Aの通信開始要求部240Aが、プライベートIPアドレス(PIP)を用いて通信開始要求S5を行った場合は、以後、通信先の端末装置200Bの通信先セッション確立部230Bと通信元の端末装置200Aの通信元セッション確立部260Aとの間の相互アクセスはプライベートIPアドレス(PIP)を用いて行われる。その結果、図23の通信経路L5,L6を用いた通信が行われることになる。
 要するに、本発明では、異なるサブネットに所属する端末装置間の通信にはグローバルIPアドレスを利用し、同一のサブネットに所属する端末装置間の通信にはプライベートIPアドレスを利用することになる。したがって、後者の場合には、無駄な通信経路を省くことができ、通信効率を向上させることができる。また、上述のように信号の出戻りを拒絶する設定がなされているルータが存在した場合でも、支障なく通信を行うことができる。
 結局、先願基本発明の第1の実施形態に本発明を適用したネットワーク通信システムの基本構成は、図4のブロック図に示すものと同様であるが、いくつかの構成要素に上述した付加機能が加えられることになる。もちろん、これらの各構成要素は、コンピュータに専用のプログラムを組み込むことによって構成することができる。また、商業上は、個々の端末装置200を単独で販売したり、接続仲介装置100を単独で販売したりすることが可能であり、更に、端末装置200に組み込むためのプログラムや、接続仲介装置100に組み込むためのプログラムを単独で販売することも可能である。
 <5-3. 第2の実施形態についての問題の解決方法>
 §5-2では、§1で述べた先願基本発明の第1の実施形態に係るネットワーク通信システムに本発明を適用するための方法を述べた。ここでは、§2で述べた先願基本発明の第2の実施形態に係るネットワーク通信システムに本発明を適用するための方法を述べる。
 §2で述べた先願基本発明の第2の実施形態に係るネットワーク通信システムは、図8のブロック図に示すとおり、ネットワークNを介して相互に接続可能な複数の端末装置400A,400Bと、これら複数の端末装置間の接続を仲介する接続仲介装置300と、を備えている。そして、各端末装置400A,400Bには、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、接続仲介装置300は、この端末IDを利用して通信元となる端末装置400Bと通信先となる端末装置400Aとの間の接続を仲介する処理を実行する。
 図7に示すとおり、各端末装置400は、接続仲介依頼部410、通信要求受付部420、通信元セッション確立部430、通信開始要求部440、自己アドレス通知部450、通信先セッション確立部460を有しており、これら各構成要素の機能は、既に§2で述べたとおりである。一方、図8に示すとおり、接続仲介装置300は、アドレステーブル格納部310、アドレステーブル更新部320、通信元アドレス送信部330を有しており、これら各構成要素の機能も、既に§2で述べたとおりである。
 この先願基本発明の第2の実施形態に本発明を適用するには、上記各構成要素のいくつかに、付加的な機能を設けるようにすればよい。具体的には、以下に述べる各構成要素に付加機能を追加すればよい。
 まず、自己アドレス通知部450については、端末装置400がルータを介してネットワークNに接続されていた場合に、自己の所在アドレスとして、ネットワーク上のグローバルIPアドレス(GIP)とともに、当該ルータから付与されたプライベートIPアドレス(PIP)を接続仲介装置300に対して通知する付加機能を追加する。この付加機能は、§5-2で述べた自己アドレス通知部250についての付加機能と同様である。
 一方、このような自己アドレス通知を受けた接続仲介装置300内のアドレステーブル更新部320は、端末IDに、グローバルIPアドレス(GIP)とプライベートIPアドレス(PIP)とを対応づけてアドレステーブルTに格納する更新処理を実行する。したがって、図8に示す先願基本発明の第2の実施形態に本発明を適用するには、アドレステーブル格納部310に、所在アドレスとして、各端末装置のグローバルIPアドレス(GIP)を端末IDに対応づけて格納するとともに、プライベートIPアドレス(PIP)が通知された端末装置については、更に当該プライベートIPアドレス(PIP)を端末IDに対応づけて格納する付加機能をもたせておけばよい。このようなアドレステーブルの実例は、既に図24を用いて説明したとおりである。
 §2で述べたとおり、接続仲介装置300内の通信元アドレス送信部330は、アドレステーブルを参照して通信先アドレスを確認し、この通信先の端末装置に対して通信元アドレスを送信する処理を行う。このとき、§2で述べた実施形態の場合、送信される通信元アドレスは、通信元となる端末装置のグローバルIPアドレスである。これに対して本発明の場合、図24のアドレステーブルT61,T62に示すように、ルータを介して接続された端末装置については、所在アドレスとしてグローバルIPアドレス(GIP)とともにプライベートIPアドレス(PIP)も格納されている。そこで、本発明に係る通信元アドレス送信部330には、このアドレステーブルT61,T62の内容に応じて、グローバルIPアドレス(GIP)もしくはプライベートIPアドレス(PIP)、またはその両方を通信元アドレスとして送信する付加機能をもたせるようにする。
 こうすることにより、端末装置400内の通信開始要求部440は、通信元についてのグローバルIPアドレス(GIP)もしくはプライベートIPアドレス(PIP)、またはその両方を通信元アドレスとして受け取ることができる。そこで、本発明に係る通信開始要求部440には、グローバルIPアドレス(GIP)もしくはプライベートIPアドレス(PIP)、またはその両方を用いて通信開始要求S15を行う付加機能をもたせるようにする。そうすれば、通信開始要求部440は、自己と通信元との間のネットワーク環境に応じて、適宜、グローバルIPアドレス(GIP)およびプライベートIPアドレス(PIP)を選択的に利用して、通信元に対して通信開始要求S15を行うことができるようになる。
 グローバルIPアドレス(GIP)か、プライベートIPアドレス(PIP)か、のいずれを利用して通信開始要求S15を行うかの判断は、§5-2で述べた例と同様に、通信元と通信先のグローバルIPアドレスを比較することによって行うことができる。具体的には、通信先となる端末装置400の通信開始要求部440は、自己のグローバルIPアドレスと通信元となる端末装置のグローバルIPアドレスとが同一のIPアドレスである場合には、プライベートIPアドレス(PIP)を用いて通信開始要求S15を行い、異なるIPアドレスである場合には、グローバルIPアドレス(GIP)を用いて通信開始要求S15を行うようにすればよい。
 このような運用を行った場合の具体的な通信形態は、§5-2で図21に示す例について述べたものと同様である。具体的には、図21に示す第1の実施形態に係る各端末装置200A~200Dを、それぞれ第2の実施形態に係る端末装置400A~400Dに置き換え、第1の実施形態に係る接続仲介装置100を、第2の実施形態に係る接続仲介装置300に置き換えればよい。括弧書きの符号は、このような置き換えを行ったものである。接続仲介装置300内には、図24(b) に示すようなアドレステーブルT62が格納されることになる。
 まず、端末装置400B(図21の200Bを置き換えたもの)が通信元となって、別なサブネットに所属する端末装置400C(図21の200Cを置き換えたもの)を通信先とする通信を行う場合を考える。この場合、図24(b) のアドレステーブルT62を参照すると、端末装置400B(端末ID「0020」)のグローバルIPアドレス「GIP2」は「xx.5.1.1」であるのに対して、相手方の端末装置400C(端末ID「0030」)のグローバルIPアドレス「GIP3」は「xx.5.7.1」であり、両者は異なっている。そこで、通信先となる端末装置400Cの通信開始要求部440は、通信元となる端末装置400BのグローバルIPアドレス(GIP2)である「xx.5.1.1(P2)」に対して通信開始要求S15を行うことになる。
 もちろん、通信先の端末装置400Cの通信開始要求部440が、グローバルIPアドレス(GIP)を用いて通信開始要求S15を行った場合は、以後、通信先の端末装置400Cの通信先セッション確立部460Cと通信元の端末装置400Bの通信元セッション確立部430Bとの間の相互アクセスはグローバルIPアドレス(GIP)を用いて行われる。その結果、図22の通信経路L1,L2の例と同様に、ネットワークNを経由した通信が行われることになる。
 続いて、端末装置400B(図21の200Bを置き換えたもの)が通信元となって、同じサブネットに所属する端末装置400A(図21の200Aを置き換えたもの)を通信先とする通信を行う場合を考える。この場合、図24(b) のアドレステーブルT62を参照すると、端末装置400B(端末ID「0020」)のグローバルIPアドレス「GIP2」は「xx.5.1.1」であり、相手方の端末装置400A(端末ID「0010」)のグローバルIPアドレス「GIP1」も「xx.5.1.1」であり、両者は同一である。そこで、通信先となる端末装置400Aの通信開始要求部440Aは、プライベートIPアドレス(PIP2)である「192.168.2.2」に対して通信開始要求S15を行うことになる。その結果、図23の通信経路L5,L6の例と同様に、ネットワークNを経由しない通信が行われることになる。
 もちろん、通信先の端末装置400Aの通信開始要求部440Aが、プライベートIPアドレス(PIP)を用いて通信開始要求S15を行った場合は、以後、通信元の端末装置400Bの通信元セッション確立部430Bと通信先の端末装置400Aの通信先セッション確立部460Aとの間の相互アクセスはプライベートIPアドレス(PIP)を用いて行われる。その結果、図23の通信経路L5,L6を用いた通信(ネットワークNを経由しない通信)が行われることになる。
 このように、本発明を先願基本発明の第2の実施形態に適用した場合も、異なるサブネットに所属する端末装置間の通信にはグローバルIPアドレスを利用し、同一のサブネットに所属する端末装置間の通信にはプライベートIPアドレスを利用することになる。したがって、後者の場合には、無駄な通信経路を省くことができ、通信効率を向上させることができる。また、上述のように信号の出戻りを拒絶する設定がなされているルータが存在した場合でも、支障なく通信を行うことができる。
 結局、先願基本発明の第2の実施形態に本発明を適用したネットワーク通信システムの基本構成は、図8のブロック図に示すものと同様であるが、いくつかの構成要素に上述した付加機能が加えられることになる。もちろん、これらの各構成要素は、コンピュータに専用のプログラムを組み込むことによって構成することができる。また、商業上は、個々の端末装置400を単独で販売したり、接続仲介装置300を単独で販売したりすることが可能であり、更に、端末装置400に組み込むためのプログラムや、接続仲介装置300に組み込むためのプログラムを単独で販売することも可能である。
 <5-4. 本発明を適用するためのアプローチ>
 前述したとおり、本発明において端末装置間の通信に、GIP/PIPいずれのアドレスを利用するかという点に関する基本概念は、異なるサブネットに所属する端末装置間の通信にはグローバルIPアドレス(GIP)を利用し、同一のサブネットに所属する端末装置間の通信にはプライベートIPアドレス(PIP)を利用する、というものである。ここでは、このような基本概念を実際に適用するための具体的なアプローチをいくつか述べる。
 まず、第1のアプローチは、「接続仲介装置がGIP/PIPの選択を行うアプローチ」である。接続仲介装置は、接続仲介依頼があったときに、アドレステーブルを参照して通信先アドレスもしくは通信元アドレスを端末装置に送信することになるが、このとき、アドレステーブルの内容に応じて、GIP/PIPのいずれを送信するかを選択すればよい。たとえば、図24(b) に示すようなアドレステーブルT62を参照して、通信元と通信先のグローバルIPアドレスが同じか否かを判断し、同じ場合には、プライベートIPアドレス(PIP)を送信し、異なる場合には、グローバルIPアドレス(GIP)を送信するようにする。そして、端末装置は、送信を受けたアドレスをそのまま用いて、通信開始要求を行うようにする。
 要するに、この第1のアプローチでは、通信開始要求に用いるアドレスとして、GIP/PIPのいずれを選択するかの判断を接続仲介装置に委ね、接続仲介装置が、選択したいずれか一方のアドレスのみを端末装置に送信するようにする。端末装置は、送信のあったアドレスをそのまま用いて通信開始要求を行うことになる。この第1のアプローチの具体的な手順については、後述する§6において、実施例1,2として詳述する。
 第2のアプローチは、「端末装置がGIP/PIPの選択を行うアプローチ」である。接続仲介装置は、接続仲介依頼があったときに、アドレステーブルを参照して通信先アドレスもしくは通信元アドレスを端末装置に送信することになるが、このとき、送信対象となるアドレスについて、アドレステーブルにGIPのみが格納されていた場合には、GIPのみを送信し、GIPとPIPの両方が格納されていた場合には、これら両方を送信すればよい。別言すれば、接続仲介装置は、GIP/PIPのいずれを選択するかの判断を行わず、アドレステーブルに格納されている送信対象アドレスをそのまま端末装置に送信することになる。
 端末装置は、送信を受けたアドレスがGIPのみであった場合には、当該GIPを用いて通信開始要求を行うが、GIPとPIPの両方の送信を受けた場合には、自己のGIPと送信を受けたGIP(相手方のGIP)とを比較して、いずれを用いて通信開始要求を行うかを選択することになる。すなわち、自己のGIPと送信を受けたGIPとが同じ場合には、相手先は自己と同じサブネットに存在するものと判断し、相手方のプライベートIPアドレス(PIP)を用いて通信開始要求を行うようにする。これに対して、自己のGIPと送信を受けたGIPとが異なる場合には、相手先は自己とは異なるサブネットに存在するものと判断し、相手方のグローバルIPアドレス(GIP)を用いて通信開始要求を行うようにする。
 要するに、この第2のアプローチでは、通信開始要求に用いるアドレスとして、GIP/PIPのいずれを選択するかの判断を端末装置に委ね、端末装置が、選択したいずれか一方のアドレスを用いて相手方に対する通信開始要求を行うようにする。この第2のアプローチの具体的な手順については、後述する§7において、実施例3,4として詳述する。
 第3のアプローチは、「PIP失敗時にGIPでトライするアプローチ」である。第3のアプローチでは、通信開始要求に用いるアドレスとしてGIP/PIPのいずれを選択するかの判断は行われない。接続仲介装置は、接続仲介依頼があったときに、アドレステーブルを参照して通信先アドレスもしくは通信元アドレスを端末装置に送信することになるが、このとき、送信対象となるアドレスについて、アドレステーブルにGIPのみが格納されていた場合には、GIPのみを送信し、GIPとPIPの両方が格納されていた場合には、これら両方を送信すればよい。すなわち、上述した第2のアプローチと同様に、接続仲介装置は、GIP/PIPのいずれを選択するかの判断を行わず、アドレステーブルに格納されている送信対象アドレスをそのまま端末装置に送信することになる。
 端末装置は、送信を受けたアドレスがGIPのみであった場合には、当該GIPを用いて通信開始要求を行う。一方、端末装置は、送信を受けたアドレスがGIPとPIPの両方であった場合には、まず、PIPを用いて通信開始要求をトライし、このPIPを用いた通信開始要求に失敗したと判断される場合もしくは失敗が予想される場合には、GIPを用いて通信開始要求を行う。
 要するに、この第3のアプローチでは、通信開始要求に用いるアドレスとして、GIP/PIPのいずれを選択するかの判断を行わず、端末装置がGIP/PIPの両方の送信を受けた場合には、まずPIPを試し、失敗したら、もしくは失敗が予想されたらGIPを試すという手順をとることになる。この第3のアプローチの具体的な手順については、後述する§8において、実施例5,6として詳述する。
 <<< §6. 接続仲介装置がGIP/PIPの選択を行うアプローチ >>>
 この§6で述べる実施形態は、前述したとおり、通信開始要求に用いるアドレスとして、GIP/PIPのいずれを選択するかの判断を接続仲介装置に委ねるアプローチを採るものである。このアプローチを採る場合、接続仲介装置は、選択したいずれか一方のアドレスのみを端末装置に送信するようにし、端末装置は、送信のあったアドレスをそのまま用いて通信開始要求を行うことになる。以下、このアプローチを、§1に示す先願基本発明の第1の実施形態(図4)に適用した例を実施例1として説明し、§2に示す先願基本発明の第2の実施形態(図8)に適用した例を実施例2として説明する。もちろん、以下に述べる実施例1,2については、§3や§4で述べた各種変形例を適用することも可能である。
 <6-1. 実施例1>
 ここでは、本発明の実施例1を説明する。この実施例1は、§1で述べた先願基本発明の第1の実施形態の構成要素のいくつかに付加機能を追加したものであり、接続仲介装置がGIP/PIPの選択を行うアプローチを採用するものである。この実施例1に係るネットワーク通信システムの構成は、基本的には、図4に示す先願基本発明の第1の実施形態の構成と同じであるが、§5-2で述べたとおり、いくつかの構成要素に付加機能が追加されている。
 具体的には、各端末装置200の自己アドレス通知部250には、ルータを介してネットワークNに接続されている場合に、自己の所在アドレスとして、ネットワーク上のグローバルIPアドレス(GIP)とともに、ルータから付与されたプライベートIPアドレス(PIP)を接続仲介装置100に対して通知する付加機能が追加されている。また、接続仲介装置100内のアドレステーブル格納部110には、図24に示すように、グローバルIPアドレス(GIP)とともにプライベートIPアドレス(PIP)を端末IDに対応づけたアドレステーブルT61が格納されている。
 また、この実施例1の場合、図4に示す通信先アドレス返信部130は、通信元の端末装置200Aから接続仲介依頼S2が送信されてきたときに、アドレステーブル格納部110に格納されているアドレステーブルを参照して、接続仲介依頼S2を送信した通信元の端末装置200Aの端末ID「0010」に対応づけられているグローバルIPアドレス(GIP)と、接続仲介依頼S2に含まれている通信先特定情報によって特定される端末ID「0020」に対応づけられているグローバルIPアドレス(GIP)と、が同一のIPアドレスであるか否かを判断し、判断対象となる両者が同一のIPアドレスである場合には、プライベートIPアドレス(PIP)を選択通信先アドレスとして返信し、判断対象となる両者が異なるIPアドレスである場合には、グローバルIPアドレス(GIP)を選択通信先アドレスとして返信する。そして、このような返信を受けた通信開始要求部240Aは、返信されてきた選択通信先アドレスをそのまま用いて通信開始要求S5を行う。
 たとえば、図21に示すようなネットワーク環境が構成されていた場合、アドレステーブル格納部110には、図24(b) に示すようなアドレステーブルT62が格納されることになる。この場合、端末装置200Aを通信元として、端末装置200Cを通信先とする接続仲介依頼S2がなされたとすると、通信元(端末ID「0010」)と通信先(端末ID「0030」)のグローバルIPアドレス(GIP)は異なっているので、通信先アドレス返信部130は、通信先のグローバルIPアドレス「xx.5.7.1」を選択通信先アドレスとして返信する(実際には、ポート番号も一緒に返信される。以下の各実施例でも同様。)。その結果、通信元端末装置200Aは、この選択通信先アドレス「xx.5.7.1」を用いて、通信先端末装置200Cに対して通信開始要求S5を行うことになる。かくして、端末装置200A-200C間において、ネットワークNを介した通信が行われる。
 これに対して、端末装置200Aを通信元として、端末装置200Bを通信先とする接続仲介依頼S2がなされたとすると、通信元(端末ID「0010」)と通信先(端末ID「0020」)のグローバルIPアドレス(GIP)は同一なので、通信先アドレス返信部130は、通信先のプライベートIPアドレス「192.168.2.2」を選択通信先アドレスとして返信する。その結果、通信元端末装置200Aは、この選択通信先アドレス「192.168.2.2」を用いて、通信先端末装置200Bに対して通信開始要求S5を行うことになる。かくして、端末装置200A-200B間において、ネットワークNを介さずに、同一サブネット内での通信が行われる。
 図25は、実施例1についての装置間信号の流れを示すダイアグラムである。図21には、4台の端末装置200A~200Dがそれぞれ固有のネットワーク環境で接続されている例が示されているが、ここでは、より一般化した説明を行うために、通信元の端末装置を200X、通信先の端末装置を200Yと呼ぶことにし、両者ともにルータを介してネットワークNに接続されているものとする。図25において、左端に配置された縦線は通信元端末装置200Xを示し、中央に配置された縦線は接続仲介装置100を示し、右端に配置された縦線は通信先端末装置200Yを示す。また、各縦線は、上から下へ向かう時間軸を示しており、以下、この時間軸に沿って、各信号の流れを順に説明する。なお、以下の説明では、グローバルIPアドレスを「GIP」と省略して記載し、プライベートIPアドレスを「PIP」と省略して記載する。
 まず、準備段階の処理として、通信元端末装置200Xから接続仲介装置100に対して自己アドレス通知S0Xが行われる。これは、通信元端末装置200X内の自己アドレス通知部250によって行われる処理であり、前述したとおり、通信元端末装置200XのGIPとPIPの両方が通知される。同様に、通信先端末装置200Yから接続仲介装置100に対して自己アドレス通知S0Yが行われる。これは、通信先端末装置200Y内の自己アドレス通知部250によって行われる処理であり、前述したとおり、通信先端末装置200YのGIPとPIPの両方が通知される。
 図25には、説明の便宜上、通信元端末装置200Xからの自己アドレス通知S0Xが行われた後に、通信先端末装置200Yからの自己アドレス通知S0Yが行われた例が示されているが、もちろん、各端末装置からの自己アドレス通知は、それぞれ所定のタイミングで行われるものであり、自己アドレス通知S0X,S0Yの順序は逆になる場合もあるし、同時の場合もある。また、この準備段階では、まだ、いずれが通信元になり、いずれが通信先になるかは定まっていない。この準備段階により、接続仲介装置100内のアドレステーブルには、両端末装置200X,200YのGIPとPIPの両方が格納されることになる。
 さて、続く通信段階において、端末装置200Xに対して、端末装置200Yを通信先とする通信要求S1がなされたものとしよう。これにより、端末装置200Xを通信元とし、端末装置200Yを通信先とする通信を行うための手順が開始される。まず、通信元端末装置200Xから接続仲介装置100に対して、通信先端末装置200Yの端末IDを含む接続仲介依頼S2がなされる。この接続仲介依頼S2を受けた接続仲介装置100は、アドレステーブルを参照する処理S3を行い、通信先端末装置200Yの所在アドレスを通信先アドレスとして把握する。
 ただ、アドレステーブルに格納されている通信先端末装置200Yの所在アドレスには、GIPとPIPが含まれている。そこで、接続仲介装置100内の通信先アドレス返信部130は、GIP/PIPのいずれか一方を選択通信先アドレスとして選択し、この選択通信先アドレスを通信元端末装置200Xに通知する通信先アドレス返信S4を行う。この通信先アドレス返信S4には、通信先端末装置200YのGIPかPIPか、いずれか一方のアドレスが選択通信先アドレスとして含まれている。このように、実施例1では、接続仲介装置100がGIP/PIPの選択を行うアプローチが採用されている。
 通信先アドレス返信部130が、GIP/PIPの選択を行うアルゴリズムは、既に述べたとおりである。すなわち、通信先アドレス返信部130は、アドレステーブルを参照することにより、通信元と通信先のGIPが同一のIPアドレスであるか否かを判断し、判断対象となる両者が同一のIPアドレスである場合には、PIPを選択通信先アドレスとして返信し、判断対象となる両者が異なるIPアドレスである場合には、GIPを選択通信先アドレスとして返信する。
 この選択通信先アドレスの返信を受けた通信元端末装置200X内の通信開始要求部240は、返信されてきた選択通信先アドレスをそのまま用いて、通信先端末装置200Yに対して通信開始要求S5を行う。すなわち、GIPが返信されてきたらGIPを用いて通信開始要求S5を行い、PIPが返信されてきたらPIPを用いて通信開始要求S5を行う。この通信開始要求S5を受けた通信先端末装置200Y内の通信先セッション確立部230は、通信元端末装置200Xに対して、通信開始要求S5がGIPで行われた場合には同じくGIPを用いて通信開始受諾確認S6を行い、通信開始要求S5がPIPで行われた場合には同じくPIPを用いて通信開始受諾確認S6を行う。かくして、端末装置200X-200Y間における通信S7が、通信開始要求S5がGIPで行われた場合には同じくGIPを用いて行われ、通信開始要求S5がPIPで行われた場合には同じくPIPを用いて行われることになる。
 <6-2. 実施例2>
 続いて、本発明の実施例2を説明する。この実施例2は、§2で述べた先願基本発明の第2の実施形態の構成要素のいくつかに付加機能を追加したものであり、接続仲介装置がGIP/PIPの選択を行うアプローチを採用するものである。この実施例2に係るネットワーク通信システムの構成は、基本的には、図8に示す先願基本発明の第2の実施形態の構成と同じであるが、§5-3で述べたとおり、いくつかの構成要素に付加機能が追加されている。
 具体的には、各端末装置400の自己アドレス通知部450には、ルータを介してネットワークNに接続されている場合に、自己の所在アドレスとして、ネットワーク上のグローバルIPアドレス(GIP)とともに、ルータから付与されたプライベートIPアドレス(PIP)を接続仲介装置300に対して通知する付加機能が追加されている。また、接続仲介装置300内のアドレステーブル格納部310には、図24に示すように、グローバルIPアドレス(GIP)とともにプライベートIPアドレス(PIP)を端末IDに対応づけたアドレステーブルT61が格納されている。
 また、この実施例2の場合、図8に示す通信元アドレス送信部330は、通信元の端末装置400Bから接続仲介依頼S12が送信されてきたときに、アドレステーブル格納部310に格納されているアドレステーブルを参照して、接続仲介依頼S12を送信した通信元の端末装置400Bの端末ID「0020」に対応づけられているグローバルIPアドレス(GIP)と、接続仲介依頼S12に含まれている通信先特定情報によって特定される端末ID「0010」に対応づけられているグローバルIPアドレス(GIP)と、が同一のIPアドレスであるか否かを判断し、判断対象となる両者が同一のIPアドレスである場合には、プライベートIPアドレス(PIP)を選択通信元アドレスとして送信し、判断対象となる両者が異なるIPアドレスである場合には、グローバルIPアドレス(GIP)を選択通信元アドレスとして送信する。そして、このような送信を受けた通信開始要求部440Aは、送信されてきた選択通信元アドレスをそのまま用いて通信開始要求S15を行う。
 たとえば、図21に示す第1の実施形態に係る各端末装置200A~200Dを、それぞれ第2の実施形態に係る端末装置400A~400Dに置き換え、第1の実施形態に係る接続仲介装置100を、第2の実施形態に係る接続仲介装置300に置き換えた例を考えた場合(置き換えた符号を図21では括弧書きで示してある)、接続仲介装置300内には、図24(b) に示すようなアドレステーブルT62が格納されることになる。
 この場合、端末装置400Bを通信元として、端末装置400Cを通信先とする接続仲介依頼S12がなされたとすると、通信元(端末ID「0020」)と通信先(端末ID「0030」)のグローバルIPアドレス(GIP)は異なっているので、通信元アドレス送信部330は、通信元のグローバルIPアドレス「xx.5.1.1」を選択通信元アドレスとして送信する。その結果、通信先端末装置400Cは、この選択通信元アドレス「xx.5.1.1」を用いて、通信元端末装置400Bに対して通信開始要求S15を行うことになる。かくして、端末装置400B-400C間において、ネットワークNを介した通信が行われる。
 これに対して、端末装置400Bを通信元として、端末装置400Aを通信先とする接続仲介依頼S12がなされたとすると、通信元(端末ID「0020」)と通信先(端末ID「0010」)のグローバルIPアドレス(GIP)は同一なので、通信元アドレス送信部330は、通信元のプライベートIPアドレス「192.168.2.2」を選択通信元アドレスとして送信する。その結果、通信先端末装置400Aは、この選択通信元アドレス「192.168.2.2」を用いて、通信元端末装置400Bに対して通信開始要求S15を行うことになる。かくして、端末装置400A-400B間において、ネットワークNを介さずに、同一サブネット内での通信が行われる。
 図26は、実施例2についての装置間信号の流れを示すダイアグラムである。ここでも、より一般化した説明を行うために、通信元の端末装置を400X、通信先の端末装置を400Yと呼ぶことにし、両者ともにルータを介してネットワークNに接続されているももとする。図26において、左端に配置された縦線は通信元端末装置400Xを示し、中央に配置された縦線は接続仲介装置300を示し、右端に配置された縦線は通信先端末装置400Yを示す。また、各縦線は、上から下へ向かう時間軸を示しており、以下、この時間軸に沿って、各信号の流れを順に説明する。なお、以下の説明では、グローバルIPアドレスを「GIP」と省略して記載し、プライベートIPアドレスを「PIP」と省略して記載する。
 まず、準備段階の処理として、通信元端末装置400Xから接続仲介装置300に対して自己アドレス通知S0Xが行われる。これは、通信元端末装置400X内の自己アドレス通知部450によって行われる処理であり、前述したとおり、通信元端末装置400XのGIPとPIPの両方が通知される。同様に、通信先端末装置400Yから接続仲介装置300に対して自己アドレス通知S0Yが行われる。これは、通信先端末装置400Y内の自己アドレス通知部450によって行われる処理であり、前述したとおり、通信先端末装置400YのGIPとPIPの両方が通知される。
 図25に示すダイアグラムと同様に、各端末装置からの自己アドレス通知は、それぞれ所定のタイミングで行われるものであり、自己アドレス通知S0X,S0Yの順序は逆になる場合もあるし、同時の場合もある。また、この準備段階では、まだ、いずれが通信元になり、いずれが通信先になるかは定まっていない。この準備段階により、接続仲介装置300内のアドレステーブルには、両端末装置400X,400YのGIPとPIPの両方が格納されることになる。
 さて、続く通信段階において、端末装置400Xに対して、端末装置400Yを通信先とする通信要求S11がなされたものとしよう。これにより、端末装置400Xを通信元とし、端末装置400Yを通信先とする通信を行うための手順が開始される。まず、通信元端末装置400Xから接続仲介装置300に対して、通信先端末装置400Yの端末IDを含む接続仲介依頼S12がなされる。この接続仲介依頼S12を受けた接続仲介装置300は、アドレステーブルを参照する処理S13を行い、通信先端末装置400Yの所在アドレスを通信先アドレスとして把握し、通信元端末装置400Xの所在アドレスを通信元アドレスとして把握する。
 ただ、アドレステーブルに格納されている通信元端末装置400Xの所在アドレスには、GIPとPIPが含まれている。そこで、接続仲介装置300内の通信元アドレス送信部330は、GIP/PIPのいずれか一方を選択通信元アドレスとして選択し、この選択通信元アドレスを通信先端末装置400Yに通知する通信元アドレス送信S14を行う。この通信元アドレス送信S14には、通信元端末装置400XのGIPかPIPか、いずれか一方のアドレスが選択通信元アドレスとして含まれている。このように、実施例2では、接続仲介装置300がGIP/PIPの選択を行うアプローチが採用されている。
 通信元アドレス送信部330が、GIP/PIPの選択を行うアルゴリズムは、既に述べたとおりである。すなわち、通信元アドレス送信部330は、アドレステーブルを参照することにより、通信元と通信先のGIPが同一のIPアドレスであるか否かを判断し、判断対象となる両者が同一のIPアドレスである場合には、PIPを選択通信元アドレスとして送信し、判断対象となる両者が異なるIPアドレスである場合には、GIPを選択通信元アドレスとして送信する。
 この選択通信元アドレスの送信を受けた通信先端末装置400Y内の通信開始要求部440は、送信されてきた選択通信元アドレスをそのまま用いて、通信元端末装置400Xに対して通信開始要求S15を行う。すなわち、GIPが送信されてきたらGIPを用いて通信開始要求S15を行い、PIPが送信されてきたらPIPを用いて通信開始要求S15を行う。この通信開始要求S15を受けた通信元端末装置400X内の通信元セッション確立部430は、通信先端末装置400Yに対して、通信開始要求S15がGIPで行われた場合には同じくGIPを用いて通信開始受諾確認S16を行い、通信開始要求S15がPIPで行われた場合には同じくPIPを用いて通信開始受諾確認S16を行う。かくして、端末装置400X-400Y間における通信S17が、通信開始要求S15がGIPで行われた場合には同じくGIPを用いて行われ、通信開始要求S15がPIPで行われた場合には同じくPIPを用いて行われることになる。
 <<< §7. 端末装置がGIP/PIPの選択を行うアプローチ >>>
 §6では、通信開始要求に用いるアドレスとして、GIP/PIPのいずれを選択するかの判断を接続仲介装置に委ねるアプローチを採る実施例1,2を説明した。この§7では、この判断を端末装置に委ねるアプローチを採る実施例について説明する。このようなアプローチを採る場合、接続仲介装置は、GIP/PIPの両方を有する所在アドレスについては、この両方を端末装置に送信するようにし、端末装置側において、いずれか一方を選択して通信開始要求を行うことになる。以下、このアプローチを、§1に示す先願基本発明の第1の実施形態(図4)に適用した例を実施例3として説明し、§2に示す先願基本発明の第2の実施形態(図8)に適用した例を実施例4として説明する。もちろん、以下に述べる実施例3,4については、§3や§4で述べた各種変形例を適用することも可能である。
 <7-1. 実施例3>
 ここでは、本発明の実施例3を説明する。この実施例3は、§1で述べた先願基本発明の第1の実施形態の構成要素のいくつかに付加機能を追加したものであり、端末装置がGIP/PIPの選択を行うアプローチを採用するものである。この実施例3に係るネットワーク通信システムの構成は、基本的には、図4に示す先願基本発明の第1の実施形態の構成と同じであるが、§5-2で述べたとおり、いくつかの構成要素に付加機能が追加されている。
 具体的には、各端末装置200の自己アドレス通知部250には、ルータを介してネットワークNに接続されている場合に、自己の所在アドレスとして、ネットワーク上のグローバルIPアドレス(GIP)とともに、ルータから付与されたプライベートIPアドレス(PIP)を接続仲介装置100に対して通知する付加機能が追加されている。また、接続仲介装置100内のアドレステーブル格納部110には、図24に示すように、グローバルIPアドレス(GIP)とともにプライベートIPアドレス(PIP)を端末IDに対応づけたアドレステーブルT61が格納されている。
 また、この実施例3の場合、図4に示す通信先アドレス返信部130は、通信元の端末装置200Aから接続仲介依頼S2が送信されてきたときに、返信対象となる所在アドレスとしてグローバルIPアドレス(GIP)およびプライベートIPアドレス(PIP)の両アドレスがアドレステーブルに格納されていた場合に、これら両アドレスを通信先アドレスとして返信する。
 そして、通信開始要求部240Aは、上記両アドレスの返信があったときに、通信先アドレスとして返信されてきたグローバルIPアドレス(GIP)と、通信元である自己のグローバルIPアドレス(GIP)と、が同一のIPアドレスであるか否かを判断し、判断対象となる両者が同一のIPアドレスである場合には、プライベートIPアドレス(PIP)を用いて通信開始要求S5を行い、判断対象となる両者が異なるIPアドレスである場合には、グローバルIPアドレス(GIP)を用いて通信開始要求S5を行う。もちろん、GIPのみしか返信されてこなかった場合は、当該GIPを用いて通信開始要求S5を行えばよい。
 たとえば、図21に示すようなネットワーク環境が構成されていた場合、アドレステーブル格納部110には、図24(b) に示すようなアドレステーブルT62が格納されることになる。この場合、端末装置200Aを通信元として、端末装置200Cを通信先とする接続仲介依頼S2がなされたとすると、通信先アドレス返信部130は、通信先端末装置200Cについて、グローバルIPアドレス「xx.5.7.1(P3)」(ポート番号付きのアドレス)とプライベートIPアドレス「192.168.10.1」との両アドレスを通信先アドレスとして返信する。
 このような両アドレスの返信を受けた通信元端末装置200Aの通信開始要求部240Aは、返信されてきた通信先端末装置200CのグローバルIPアドレス「xx.5.7.1」と、通信元である自己のグローバルIPアドレス「xx.5.1.1」と、が同一のIPアドレスであるか否かを判断する。自己のグローバルIPアドレス「xx.5.1.1」については、通信開始要求部240Aが予めルータRAに問い合わせを行い、これを保存しておくようにすればよい。上例の場合、通信元のグローバルIPアドレス「xx.5.1.1」と通信先のグローバルIPアドレス「xx.5.7.1」とは異なっているので、通信開始要求部240Aは、グローバルIPアドレス「xx.5.7.1(P3)」を用いて通信先端末装置200Cに対して通信開始要求S5を行う。かくして、端末装置200A-200C間において、ネットワークNを介した通信が行われる。
 これに対して、端末装置200Aを通信元として、端末装置200Bを通信先とする接続仲介依頼S2がなされたとすると、通信先アドレス返信部130は、通信先端末装置200Bについて、グローバルIPアドレス「xx.5.1.1(P2)」(ポート番号付きのアドレス)とプライベートIPアドレス「192.168.2.2」との両アドレスを通信先アドレスとして返信する。
 このような両アドレスの返信を受けた通信元端末装置200Aの通信開始要求部240Aは、返信されてきた通信先端末装置200BのグローバルIPアドレス「xx.5.1.1」と、通信元である自己のグローバルIPアドレス「xx.5.1.1」と、が同一のIPアドレスであるとの判断を行い、プライベートIPアドレス「192.168.2.2」を用いて通信先端末装置200Bに対して通信開始要求S5を行う。かくして、端末装置200A-200B間において、ネットワークNを介さずに、同一サブネット内での通信が行われる。
 図27は、実施例3についての装置間信号の流れを示すダイアグラムである。このダイアグラムの形式は、図25に示すダイアグラムの形式と同様である。まず、準備段階の処理として、通信元端末装置200Xから接続仲介装置100に対して自己アドレス通知S0Xが行われ、GIPとPIPの両方が通知される。同様に、通信先端末装置200Yから接続仲介装置100に対して自己アドレス通知S0Yが行われ、GIPとPIPの両方が通知される。この準備段階の処理は、図25に示すダイアグラムの準備段階の処理と全く同じであり、この準備段階により、接続仲介装置100内のアドレステーブルには、両端末装置200X,200YのGIPとPIPの両方が格納されることになる。なお、図21の端末装置200Dのように、ルータを介さずにネットワークNに直接接続されている端末装置については、GIPのみがアドレステーブルに格納されるが、以下、両端末装置200X,200Yについて、GIPとPIPの両方が格納されている場合を基本とした説明を行う。
 ここでは、続く通信段階において、端末装置200Xに対して、端末装置200Yを通信先とする通信要求S1がなされたものとしよう。これにより、端末装置200Xを通信元とし、端末装置200Yを通信先とする通信を行うための手順が開始される。まず、通信元端末装置200Xから接続仲介装置100に対して、通信先端末装置200Yの端末IDを含む接続仲介依頼S2がなされる。この接続仲介依頼S2を受けた接続仲介装置100は、アドレステーブルを参照する処理S3を行い、通信先端末装置200Yの所在アドレスを通信先アドレスとして把握する。
 ただ、アドレステーブルに格納されている通信先端末装置200Yの所在アドレスには、GIPとPIPが含まれている。そこで、接続仲介装置100内の通信先アドレス返信部130は、GIPおよびPIPの両方を通信先アドレスとして通信元端末装置200Xに通知する通信先アドレス返信S4を行う(もちろん、アドレステーブルにGIPのみしか含まれていない端末装置については、GIPのみを返信する)。このように、実施例3では、接続仲介装置100は、GIP/PIPの選択を行わない。
 こうして、GIPおよびPIPの両方を含む通信先アドレスの返信を受けた通信元端末装置200X内の通信開始要求部240は、通信開始要求S5に用いるアドレスとして、GIPかPIPのいずれか一方を選ぶアドレス選択S4′を行う(もちろん、GIPのみ返信された場合には、選択は不要である)。通信開始要求部240が、GIP/PIPの選択を行うアルゴリズムは、既に述べたとおりである。すなわち、通信開始要求部240は、通信先アドレスとして返信されてきたGIPと自己のGIPとが同一のIPアドレスであるか否かを判断し、両者が同一のIPアドレスである場合には、PIPを用いて通信開始要求S5を行い、両者が異なるIPアドレスである場合には、GIPを用いて通信開始要求S5を行う。
 この通信開始要求S5を受けた通信先端末装置200Y内の通信先セッション確立部230は、通信元端末装置200Xに対して、通信開始要求S5がGIPで行われた場合には同じくGIPを用いて通信開始受諾確認S6を行い、通信開始要求S5がPIPで行われた場合には同じくPIPを用いて通信開始受諾確認S6を行う。かくして、端末装置200X-200Y間における通信S7が、通信開始要求S5がGIPで行われた場合には同じくGIPを用いて行われ、通信開始要求S5がPIPで行われた場合には同じくPIPを用いて行われることになる。
 <7-2. 実施例4>
 続いて、本発明の実施例4を説明する。この実施例4は、§2で述べた先願基本発明の第2の実施形態の構成要素のいくつかに付加機能を追加したものであり、端末装置がGIP/PIPの選択を行うアプローチを採用するものである。この実施例4に係るネットワーク通信システムの構成は、基本的には、図8に示す先願基本発明の第2の実施形態の構成と同じであるが、§5-3で述べたとおり、いくつかの構成要素に付加機能が追加されている。
 具体的には、各端末装置400の自己アドレス通知部450には、ルータを介してネットワークNに接続されている場合に、自己の所在アドレスとして、ネットワーク上のグローバルIPアドレス(GIP)とともに、ルータから付与されたプライベートIPアドレス(PIP)を接続仲介装置300に対して通知する付加機能が追加されている。また、接続仲介装置300内のアドレステーブル格納部310には、図24に示すように、グローバルIPアドレス(GIP)とともにプライベートIPアドレス(PIP)を端末IDに対応づけたアドレステーブルT61が格納されている。
 また、この実施例4の場合、図8に示す通信元アドレス送信部330は、通信元の端末装置400Bから接続仲介依頼S12が送信されてきたときに、アドレステーブル格納部310に格納されているアドレステーブルを参照して、送信対象となる所在アドレスとしてグローバルIPアドレス(GIP)およびプライベートIPアドレス(PIP)の両アドレスがアドレステーブルに格納されていた場合に、これら両アドレスを通信元アドレスとして送信する。
 そして、通信開始要求部440Aは、上記両アドレスの送信があったときに、通信元アドレスとして送信されてきたグローバルIPアドレス(GIP)と、通信先である自己のグローバルIPアドレス(GIP)と、が同一のIPアドレスであるか否かを判断し、判断対象となる両者が同一のIPアドレスである場合には、プライベートIPアドレス(PIP)を用いて通信開始要求S15を行い、判断対象となる両者が異なるIPアドレスである場合には、グローバルIPアドレス(GIP)を用いて通信開始要求S15を行う。もちろん、GIPのみしか送信されてこなかった場合は、当該GIPを用いて通信開始要求S5を行えばよい。
 たとえば、図21に示す第1の実施形態に係る各端末装置200A~200Dを、それぞれ第2の実施形態に係る端末装置400A~400Dに置き換え、第1の実施形態に係る接続仲介装置100を、第2の実施形態に係る接続仲介装置300に置き換えた例を考えた場合(置き換えた符号を図21では括弧書きで示してある)、接続仲介装置300内には、図24(b) に示すようなアドレステーブルT62が格納されることになる。
 この場合、端末装置400Bを通信元として、端末装置400Cを通信先とする接続仲介依頼S12がなされたとすると、通信元アドレス送信部330は、通信元端末装置400BのグローバルIPアドレス「xx.5.1.1(P2)」(ポート番号付きのアドレス)とプライベートIPアドレス「192.168.2.2」との両アドレスを通信元アドレスとして、通信先端末装置400Cに送信する。
 このような両アドレスの送信を受けた通信先端末装置400Cの通信開始要求部440は、送信されてきた通信元端末装置400BのグローバルIPアドレス「xx.5.1.1」と、通信先である自己のグローバルIPアドレス「xx.5.7.1」と、が同一のIPアドレスであるか否かを判断する。自己のグローバルIPアドレス「xx.5.7.1」については、通信開始要求部440が予めルータRBに問い合わせを行い、これを保存しておくようにすればよい。上例の場合、通信元のグローバルIPアドレス「xx.5.1.1」と通信先のグローバルIPアドレス「xx.5.7.1」とは異なっているので、通信先端末装置400Cの通信開始要求部440は、グローバルIPアドレス「xx.5.1.1(P2)」を用いて通信元端末装置200Bに対して通信開始要求S15を行う。かくして、端末装置400B-400C間において、ネットワークNを介した通信が行われる。
 これに対して、端末装置400Bを通信元として、端末装置400Aを通信先とする接続仲介依頼S12がなされたとすると、通信元アドレス送信部330は、通信元端末装置400BのグローバルIPアドレス「xx.5.1.1(P2)」(ポート番号付きのアドレス)とプライベートIPアドレス「192.168.2.2」との両アドレスを通信元アドレスとして、通信先端末装置400Aに送信する。
 このような両アドレスの送信を受けた通信先端末装置400Aの通信開始要求部440は、送信されてきた通信元端末装置400BのグローバルIPアドレス「xx.5.1.1」と、通信先である自己のグローバルIPアドレス「xx.5.1.1」と、が同一のIPアドレスであるか否かを判断する。自己のグローバルIPアドレス「xx.5.1.1」については、通信開始要求部440が予めルータRAに問い合わせを行い、これを保存しておくようにすればよい。上例の場合、通信元のグローバルIPアドレス「xx.5.1.1」と通信先のグローバルIPアドレス「xx.5.1.1」とは同一なので、通信開始要求部440は、プライベートIPアドレス「192.168.2.2」を用いて通信元端末装置400Bに対して通信開始要求S15を行う。かくして、端末装置400A-400B間において、ネットワークNを介さずに、同一サブネット内での通信が行われる。
 図28は、実施例4についての装置間信号の流れを示すダイアグラムである。このダイアグラムの形式は、図26に示すダイアグラムの形式と同様である。まず、準備段階の処理として、通信元端末装置400Xから接続仲介装置300に対して自己アドレス通知S0Xが行われ、GIPとPIPの両方が通知される。同様に、通信先端末装置400Yから接続仲介装置300に対して自己アドレス通知S0Yが行われ、GIPとPIPの両方が通知される。この準備段階の処理は、図26に示すダイアグラムの準備段階の処理と全く同じであり、この準備段階により、接続仲介装置300内のアドレステーブルには、両端末装置400X,400YのGIPとPIPの両方が格納されることになる。なお、図21の端末装置400Dのように、ルータを介さずにネットワークNに直接接続されている端末装置については、GIPのみがアドレステーブルに格納されるが、以下、両端末装置400X,400Yについて、GIPとPIPの両方が格納されている場合を基本とした説明を行う。
 さて、続く通信段階において、端末装置400Xに対して、端末装置400Yを通信先とする通信要求S11がなされたものとしよう。これにより、端末装置400Xを通信元とし、端末装置400Yを通信先とする通信を行うための手順が開始される。まず、通信元端末装置400Xから接続仲介装置300に対して、通信先端末装置400Yの端末IDを含む接続仲介依頼S12がなされる。この接続仲介依頼S12を受けた接続仲介装置300は、アドレステーブルを参照する処理S13を行い、通信先端末装置400Yの所在アドレスを通信先アドレスとして把握し、通信元端末装置400Xの所在アドレスを通信元アドレスとして把握する。
 アドレステーブルに格納されている通信元端末装置400Xの所在アドレスには、GIPとPIPが含まれている。そこで、接続仲介装置300内の通信元アドレス送信部330は、GIPおよびPIPの両方を通信元アドレスとして、これを通信先端末装置400Yに通知する通信元アドレス返信S14を行う(もちろん、アドレステーブルにGIPのみしか含まれていない端末装置については、GIPのみを送信する)。この通信元アドレス返信S14には、通信元端末装置400XのGIPとPIPの両方のアドレスが通信元アドレスとして含まれている。このように、実施例4では、接続仲介装置300は、GIP/PIPの選択を行わない。
 こうして、GIPおよびPIPの両方を含む通信元アドレスの送信を受けた通信先端末装置400Y内の通信開始要求部440は、通信開始要求S15に用いるアドレスとして、GIPかPIPのいずれか一方を選ぶアドレス選択S14′を行う(もちろん、GIPのみ送信された場合には、選択は不要である)。通信開始要求部440が、GIP/PIPの選択を行うアルゴリズムは、既に述べたとおりである。すなわち、通信開始要求部440は、通信元アドレスとして送信されてきたGIPと自己のGIPとが同一のIPアドレスであるか否かを判断し、両者が同一のIPアドレスである場合には、PIPを用いて通信開始要求S15を行い、両者が異なるIPアドレスである場合には、GIPを用いて通信開始要求S15を行う。
 この通信開始要求S15を受けた通信元端末装置400X内の通信元セッション確立部430は、通信先端末装置400Yに対して、通信開始要求S15がGIPで行われた場合には同じくGIPを用いて通信開始受諾確認S16を行い、通信開始要求S15がPIPで行われた場合には同じくPIPを用いて通信開始受諾確認S16を行う。かくして、端末装置400X-400Y間における通信S17が、通信開始要求S15がGIPで行われた場合には同じくGIPを用いて行われ、通信開始要求S15がPIPで行われた場合には同じくPIPを用いて行われることになる。
 <<< §8. PIP失敗時にGIPでトライするアプローチ >>>
 §6では、通信開始要求に用いるアドレスとして、GIP/PIPのいずれを選択するかの判断を接続仲介装置に委ねるアプローチを採る実施例1,2を説明し、§7では、当該判断を端末装置に委ねるアプローチを採る実施例3,4を説明した。そこで、この§8では、GIP/PIPを選択するための判断を行わないアプローチを採る実施例を説明する。このアプローチを採る場合、接続仲介装置は、GIP/PIPの両方を有する所在アドレスについては、この両方を端末装置に送信するようにする。そして、端末装置側では、GIP/PIPの両方が送信されてきた場合には、通信開始要求を行う際に、まずPIPを試し、失敗したらGIPを試すという手順をとる。以下、このアプローチを、§1に示す先願基本発明の第1の実施形態(図4)に適用した例を実施例5として説明し、§2に示す先願基本発明の第2の実施形態(図8)に適用した例を実施例6として説明する。もちろん、以下に述べる実施例5,6については、§3や§4で述べた各種変形例を適用することも可能である。
 <8-1. 実施例5>
 ここでは、本発明の実施例5を説明する。この実施例5は、§1で述べた先願基本発明の第1の実施形態の構成要素のいくつかに付加機能を追加したものであり、端末装置が通信開始要求を行う際に、まずPIPを試し、失敗したらGIPを試すというアプローチを採用するものである。この実施例5に係るネットワーク通信システムの構成は、基本的には、図4に示す先願基本発明の第1の実施形態の構成と同じであるが、§5-2で述べたとおり、いくつかの構成要素に付加機能が追加されている。
 具体的には、各端末装置200の自己アドレス通知部250には、ルータを介してネットワークNに接続されている場合に、自己の所在アドレスとして、ネットワーク上のグローバルIPアドレス(GIP)とともに、ルータから付与されたプライベートIPアドレス(PIP)を接続仲介装置100に対して通知する付加機能が追加されている。また、接続仲介装置100内のアドレステーブル格納部110には、図24に示すように、グローバルIPアドレス(GIP)とともにプライベートIPアドレス(PIP)を端末IDに対応づけたアドレステーブルT61が格納されている。
 また、この実施例5の場合、図4に示す通信先アドレス返信部130は、通信元の端末装置200Aから接続仲介依頼S2が送信されてきたときに、返信対象となる所在アドレスとしてグローバルIPアドレス(GIP)およびプライベートIPアドレス(PIP)の両アドレスがアドレステーブルに格納されていた場合に、これら両アドレスを通信先アドレスとして返信する。もちろん、アドレステーブルにGIPのみしか含まれていない端末装置については、GIPのみを返信する。
 そして、通信開始要求部240Aは、上記両アドレスの返信があったときに、まず、プライベートIPアドレス(PIP)を用いて通信開始要求S5をトライし、この通信開始要求S5に失敗したと判断される場合もしくは失敗が予想される場合には、グローバルIPアドレス(GIP)を用いた通信開始要求S5′を行う。もちろん、GIPのみしか返信されてこなかった場合は、最初からGIPを用いた通信開始要求S5を行えばよい。
 プライベートIPアドレス(PIP)を用いた通信開始要求S5に失敗したか否かを判断する方法としては、たとえば、通信開始要求部240が、プライベートIPアドレス(PIP)を用いて通信開始要求S5を行った後、所定のタイムアウト時間内に通信先の端末装置200から通信開始受諾確認S6が送信されてこなかったときに、PIPを用いた通信開始要求S5に失敗したと判断する方法を採ることができる。
 あるいは、PIPを用いた通信開始要求S5を行っても失敗することが予め予想される場合には、実際にPIPを用いた通信開始要求S5を行う前に、PIPを用いた通信開始要求S5を断念して、GIPを用いた通信開始要求S5′を行うようにしてもよい。PIPを用いた通信開始要求S5の失敗予想は、通信開始要求S5を行うために用いるPIPが、自己が接続されているサブネットに割り当てられているプライベートアドレスの範囲内に入っているか否かを調べることにより行うことができる。すなわち、通信開始要求S5を行うために用いるPIPが、サブネットのアドレス範囲外であれば、実際にPIPを用いた通信開始要求S5を行う前に失敗を予想することができる。
 たとえば、図21に示すようなネットワーク環境が構成されていた場合、アドレステーブル格納部110には、図24(b) に示すようなアドレステーブルT62が格納されることになる。この場合、端末装置200Aを通信元として、端末装置200Cを通信先とする接続仲介依頼S2がなされたとすると、通信先アドレス返信部130は、通信先端末装置200Cについて、グローバルIPアドレス「xx.5.7.1(P3)」(ポート番号付きのアドレス)とプライベートIPアドレス「192.168.10.1」との両アドレスを通信先アドレスとして返信する。
 このような両アドレスの返信を受けた通信元端末装置200Aの通信開始要求部240Aは、まず、プライベートIPアドレス「192.168.10.1」を用いて、通信先端末装置200Cに対する通信開始要求S5をトライする。しかしながら、図21に示すとおり、通信元端末装置200Aは、ルータRAによって構築されたサブネットに接続されており、当該サブネットで用いられるプライベートIPアドレスは、「192.168.2.0/24」で示される範囲内のものであるので、この範囲外のプライベートIPアドレス「192.168.10.1」を用いた通信開始要求S5は失敗する。当該失敗は、通信開始要求S5を行った後、所定のタイムアウト時間内に通信先の端末装置200Cから通信開始受諾確認S6が送信されてこないことにより認識できる。
 あるいは、実際に通信開始要求S5を行う前に、失敗を予測することもできる。すなわち、上例の場合、通信開始要求S5を行うために用いるPIP「192.168.10.1」は、通信元端末装置200Aが所属するサブネットのプライベートアドレス「192.168.2.0/24」の範囲外であるので、実際にPIPを用いた通信開始要求S5を行う前に失敗を予想することができる。
 こうして、プライベートIPアドレス「192.168.10.1」を用いた通信開始要求S5に失敗したと判断される場合もしくは失敗が予想される場合には、通信開始要求部240Aは、グローバルIPアドレス「xx.5.7.1(P3)」(ポート番号付きのアドレス)を用いて、通信先端末装置200Cに対する通信開始要求S5′を行う。当該通信開始要求S5′は、ルータRA、ネットワークN、ルータRBを通って通信先端末装置200Cに届くことになる。かくして、端末装置200A-200C間において、ネットワークNを介した通信が行われる。
 なお、図21に示す例の場合、ルータRAが構築するサブネットのアドレス範囲「192.168.2.0/24」とルータRBが構築するサブネットのアドレス範囲「192.168.10.0/24」とが異なるため、上述したとおり、通信元端末装置200Aから通信先端末装置200Cに向けて、PIP「192.168.10.1」を用いた通信開始要求S5を行っても失敗することが事前に予想できる。しかしながら、場合によっては、ルータRAとルータRBが構築するサブネットのアドレス範囲が同一のケースもあり得る。たとえば、図21に示す例において、ルータRBが構築するサブネットのアドレス範囲が「192.168.2.0/24」になっており、通信先端末装置200Cに付与されたPIPが「192.168.2.8」であったとすると、当該PIPを用いた通信開始要求S5の失敗は事前に予想できない。
 すなわち、上例の場合、通信先端末装置200CのPIP「192.168.2.8」は、通信元端末装置200Aが所属するサブネットのアドレス範囲「192.168.2.0/24」内のものであるから、PIP「192.168.2.8」に宛てた通信開始要求S5は、同一サブネット宛の有効な通信とみなされ、事前に失敗予想を行うことはできない。ここで、ルータRAによって構築されたサブネット内に、PIP「192.168.2.8」が付与された端末装置が存在しなければ、上記通信開始要求S5は失敗することになり、通信元端末装置200Aによって事後に失敗が認識される。
 一方、上例の場合において、ルータRAによって構築されたサブネット内に、たまたまPIP「192.168.2.8」が付与された端末装置(正規の相手方である通信先端末装置200Cとは全く別の端末装置)が存在すると、上記通信開始要求S5は当該別の端末装置に届くことになる。しかしながら、上記通信開始要求S5に、正規の相手方の端末IDとして通信先端末装置200Cの端末ID「0030」を含ませておき、通信先セッション確立部230に、通信開始要求S5を受信した場合にこの端末IDを確認して、自分が正規の相手方であるか否かを判断する機能を設けておけば、上記別の端末装置は、自分が正規の相手方ではない旨を認識できるので、通信開始受諾確認S6の返信を行わない措置をとることができる。したがって、このような場合も、やはり上記通信開始要求S5は失敗することになり、通信元端末装置200Aによって事後に失敗が認識される。
 次に、端末装置200Aを通信元として、端末装置200Bを通信先とする接続仲介依頼S2がなされた場合を考える。この場合、通信先アドレス返信部130は、通信先端末装置200BのグローバルIPアドレス「xx.5.1.1(P2)」(ポート番号付きのアドレス)とプライベートIPアドレス「192.168.2.2」との両アドレスを、通信元端末装置200Aに通信先アドレスとして返信する。
 このような両アドレスの返信を受けた通信元端末装置200Aの通信開始要求部240Aは、まず、プライベートIPアドレス「192.168.2.2」を用いて、通信先端末装置200Bに対する通信開始要求S5をトライする。図21に示すとおり、通信元端末装置200Aと通信先端末装置200Bとは、ルータRAによって構築された同一のサブネットに所属しているため、プライベートIPアドレス「192.168.2.2」を用いた通信開始要求S5は、このサブネットを通って通信先端末装置200Bに無事に届く。かくして、端末装置200A-200B間において、ネットワークNを介さずに、同一サブネット内での通信が行われる。
 図29は、実施例5についての装置間信号の流れを示すダイアグラムである。このダイアグラムの形式は、図25に示すダイアグラムの形式と同様である。まず、準備段階の処理として、通信元端末装置200Xから接続仲介装置100に対して自己アドレス通知S0Xが行われ、GIPとPIPの両方が通知される。同様に、通信先端末装置200Yから接続仲介装置100に対して自己アドレス通知S0Yが行われ、GIPとPIPの両方が通知される。この準備段階の処理は、図25に示すダイアグラムの準備段階の処理と全く同じであり、この準備段階により、接続仲介装置100内のアドレステーブルには、両端末装置200X,200YのGIPとPIPの両方が格納されることになる。なお、図21の端末装置200Dのように、ルータを介さずにネットワークNに直接接続されている端末装置については、GIPのみがアドレステーブルに格納されるが、以下、図29のダイアグラムでは、両端末装置200X,200Yについて、GIPとPIPの両方が格納されている場合を基本とした説明を行う。
 ここでは、続く通信段階において、端末装置200Xに対して、端末装置200Yを通信先とする通信要求S1がなされたものとしよう。これにより、端末装置200Xを通信元とし、端末装置200Yを通信先とする通信を行うための手順が開始される。まず、通信元端末装置200Xから接続仲介装置100に対して、通信先端末装置200Yの端末IDを含む接続仲介依頼S2がなされる。この接続仲介依頼S2を受けた接続仲介装置100は、アドレステーブルを参照する処理S3を行い、通信先端末装置200Yの所在アドレスを通信先アドレスとして把握する。
 ただ、アドレステーブルに格納されている通信先端末装置200Yの所在アドレスには、GIPとPIPが含まれている。そこで、接続仲介装置100内の通信先アドレス返信部130は、GIPおよびPIPの両方を通信先アドレスとして通信元端末装置200Xに通知する通信先アドレス返信S4を行う(もちろん、アドレステーブルにGIPのみしか含まれていない端末装置については、GIPのみを返信する)。このように、実施例5では、接続仲介装置100は、GIP/PIPの選択を行わない。
 こうして、GIPおよびPIPの両方を含む通信先アドレスの返信を受けた通信元端末装置200X内の通信開始要求部240は、まず、PIPを用いた通信開始要求S5にトライする。図には、実際にPIPを用いた通信開始要求S5が行われた例が示されている。
 この通信開始要求S5を受けた通信先端末装置200Y内の通信先セッション確立部230は、通信元端末装置200Xに対して、同じくPIPを用いて通信開始受諾確認S6を行う。このようにして、通信開始要求S5に成功すると、通信開始受諾確認S6が返信されることになる。この場合、ダイアグラムの「成功?」の分岐ブロックから「YES」の分岐に従って一番下へとジャンプし、端末装置200X-200Y間における通信S7が、PIPを用いて行われることになり、ネットワークNを介さずに、同一サブネット内での通信が行われる。
 一方、PIPを用いた通信開始要求S5にトライした結果、この通信開始要求S5に失敗したと判断される場合には、ダイアグラムの通信開始要求S5および通信開始受諾確認S6が正常に行われないことになる。この場合、ダイアグラムの「成功?」の分岐ブロックから「NO」の分岐に従って、GIPを用いた通信開始要求S5′が行われる。この通信開始要求S5′を受けた通信先端末装置200Y内の通信先セッション確立部230は、通信元端末装置200Xに対して、同じくGIPを用いて通信開始受諾確認S6′を行う。これにより、ダイアグラムの一番下に示すとおり、端末装置200X-200Y間における通信S7が、GIPを用いて行われることになり、ネットワークNを介した通信が行われる。
 以上、図29のダイアグラムでは、接続仲介装置100からGIPとPIPの両アドレスの返信を受けた場合の手順を示したが、接続仲介装置100からGIPのみの返信を受けた場合には、当然ながら、PIPを用いた通信開始要求S5をトライする代わりに、最初からGIPを用いた通信開始要求S5′を行うことになる。
 <8-2. 実施例6>
 続いて、本発明の実施例6を説明する。この実施例6は、§2で述べた先願基本発明の第2の実施形態の構成要素のいくつかに付加機能を追加したものであり、端末装置が通信開始要求を行う際に、まずPIPを試し、失敗したらGIPを試すというアプローチを採用するものである。この実施例6に係るネットワーク通信システムの構成は、基本的には、図8に示す先願基本発明の第2の実施形態の構成と同じであるが、§5-3で述べたとおり、いくつかの構成要素に付加機能が追加されている。
 具体的には、各端末装置400の自己アドレス通知部450には、ルータを介してネットワークNに接続されている場合に、自己の所在アドレスとして、ネットワーク上のグローバルIPアドレス(GIP)とともに、ルータから付与されたプライベートIPアドレス(PIP)を接続仲介装置300に対して通知する付加機能が追加されている。また、接続仲介装置300内のアドレステーブル格納部310には、図24に示すように、グローバルIPアドレス(GIP)とともにプライベートIPアドレス(PIP)を端末IDに対応づけたアドレステーブルT61が格納されている。
 また、この実施例6の場合、図8に示す通信元アドレス送信部330は、通信元の端末装置400Bから接続仲介依頼S12が送信されてきたときに、アドレステーブル格納部310に格納されているアドレステーブルを参照して、送信対象となる所在アドレスとしてグローバルIPアドレス(GIP)およびプライベートIPアドレス(PIP)の両アドレスがアドレステーブルに格納されていた場合に、これら両アドレスを通信元アドレスとして送信する。
 そして、通信開始要求部440Aは、上記両アドレスの送信があったときに、まず、プライベートIPアドレス(PIP)を用いて通信開始要求S15をトライし、この通信開始要求S15に失敗したと判断される場合もしくは失敗が予想される場合には、グローバルIPアドレス(GIP)を用いた通信開始要求S15′を行う。もちろん、GIPのみしか送信されてこなかった場合は、最初からGIPを用いた通信開始要求S15を行えばよい。
 プライベートIPアドレス(PIP)を用いた通信開始要求S15に失敗したか否かを判断する方法としては、たとえば、通信開始要求部440が、プライベートIPアドレス(PIP)を用いて通信開始要求S15を行った後、所定のタイムアウト時間内に通信元の端末装置400から通信開始受諾確認S16が送信されてこなかったときに、PIPを用いた通信開始要求S15に失敗したと判断する方法を採ることができる。
 あるいは、PIPを用いた通信開始要求S15を行っても失敗することが予め予想される場合には、実際にPIPを用いた通信開始要求S15を行う前に、PIPを用いた通信開始要求S15を断念して、GIPを用いた通信開始要求S15′を行うようにしてもよい。PIPを用いた通信開始要求S15の失敗予想は、通信開始要求S15を行うために用いるPIPが、自己が接続されているサブネットに割り当てられているプライベートアドレスの範囲内に入っているか否かを調べることにより行うことができる。すなわち、通信開始要求S15を行うために用いるPIPが、サブネットのアドレス範囲外であれば、実際にPIPを用いた通信開始要求S15を行う前に失敗を予想することができる。
 たとえば、図21に示す第1の実施形態に係る各端末装置200A~200Dを、それぞれ第2の実施形態に係る端末装置400A~400Dに置き換え、第1の実施形態に係る接続仲介装置100を、第2の実施形態に係る接続仲介装置300に置き換えた例を考えた場合(置き換えた符号を図21では括弧書きで示してある)、接続仲介装置300内には、図24(b) に示すようなアドレステーブルT62が格納されることになる。
 この場合、端末装置400Bを通信元として、端末装置400Cを通信先とする接続仲介依頼S12がなされたとすると、通信元アドレス送信部330は、通信元端末装置400BのグローバルIPアドレス「xx.5.1.1(P2)」(ポート番号付きのアドレス)とプライベートIPアドレス「192.168.2.2」との両アドレスを通信元アドレスとして、通信先端末装置400Cに送信する。
 このような両アドレスの送信を受けた通信先端末装置400Cの通信開始要求部440は、まず、プライベートIPアドレス「192.168.2.2」を用いて、通信元端末装置400Bに対する通信開始要求S15をトライする。しかしながら、図21に示すとおり、通信先端末装置400Cは、ルータRBによって構築されたサブネットに接続されており、当該サブネットで用いられるプライベートIPアドレスは、「192.168.10.0/24」で示される範囲内のものであるので、この範囲外のプライベートIPアドレス「192.168.2.2」を用いた通信開始要求S15は失敗する。当該失敗は、通信開始要求S15を行った後、所定のタイムアウト時間内に通信元の端末装置400Bから通信開始受諾確認S16が送信されてこないことにより認識できる。
 あるいは、実際に通信開始要求S15を行う前に、失敗を予測することもできる。すなわち、上例の場合、通信開始要求S15を行うために用いるPIP「192.168.2.2」は、通信先端末装置400Cが所属するサブネットのプライベートアドレス「192.168.10.0/24」の範囲外であるので、実際にPIPを用いた通信開始要求S15を行う前に失敗を予想することができる。
 こうして、プライベートIPアドレス「192.168.2.2」を用いた通信開始要求S15に失敗したと判断される場合もしくは失敗が予想される場合には、通信先端末装置400Cの通信開始要求部440は、グローバルIPアドレス「xx.5.1.1(P2)」(ポート番号付きのアドレス)を用いて、通信元端末装置400Bに対する通信開始要求S15′を行う。当該通信開始要求S15′は、ルータRB、ネットワークN、ルータRAを通って通信元端末装置200Bに届くことになる。かくして、端末装置400B-400C間において、ネットワークNを介した通信が行われる。
 なお、図21に示す例の場合、ルータRAが構築するサブネットのアドレス範囲「192.168.2.0/24」とルータRBが構築するサブネットのアドレス範囲「192.168.10.0/24」とが異なるため、上述したとおり、通信先端末装置400Cから通信元端末装置400Bに向けて、PIP「192.168.2.2」を用いた通信開始要求S15を行っても失敗することが事前に予想できる。しかしながら、場合によっては、ルータRAとルータRBが構築するサブネットのアドレス範囲が同一のケースもあり得る。たとえば、図21に示す例において、ルータRBが構築するサブネットのアドレス範囲が「192.168.2.0/24」になっており、通信先端末装置200Cに付与されたPIPが「192.168.2.8」であったとすると、当該PIPを用いた通信開始要求S15の失敗は事前に予想できない。
 すなわち、上例の場合、通信元端末装置400BのPIP「192.168.2.2」は、通信先端末装置400Cが所属するサブネットのアドレス範囲「192.168.2.0/24」内のものであるから、PIP「192.168.2.2」に宛てた通信開始要求S15は、同一サブネット宛の有効な通信とみなされ、事前に失敗予想を行うことはできない。ここで、ルータRBによって構築されたサブネット内に、PIP「192.168.2.2」が付与された端末装置が存在しなければ、上記通信開始要求S15は失敗することになり、通信先端末装置400Cによって事後に失敗が認識される。
 一方、上例の場合において、ルータRBによって構築されたサブネット内に、たまたまPIP「192.168.2.2」が付与された端末装置(正規の相手方である通信先端末装置400Bとは全く別の端末装置)が存在すると、上記通信開始要求S15は当該別の端末装置に届くことになる。しかしながら、上記通信開始要求S15に、正規の相手方の端末IDとして通信元端末装置400Bの端末ID「0020」を含ませておき、通信元セッション確立部430に、通信開始要求S15を受信した場合にこの端末IDを確認して、自分が正規の相手方であるか否かを判断する機能を設けておけば、上記別の端末装置は、自分が正規の相手方ではない旨を認識できるので、通信開始受諾確認S16の返信を行わない措置をとることができる。したがって、このような場合も、やはり上記通信開始要求S15は失敗することになり、通信先端末装置400Cによって事後に失敗が認識される。
 次に、端末装置400Bを通信元として、端末装置400Aを通信先とする接続仲介依頼S12がなされた場合を考える。この場合、通信元アドレス送信部330は、通信元端末装置400BのグローバルIPアドレス「xx.5.1.1(P2)」(ポート番号付きのアドレス)とプライベートIPアドレス「192.168.2.2」との両アドレスを通信元アドレスとして、通信先端末装置400Aに送信する。
 このような両アドレスの送信を受けた通信先端末装置400Aの通信開始要求部440は、まず、プライベートIPアドレス「192.168.2.2」を用いて、通信元端末装置400Bに対する通信開始要求S15をトライする。図21に示すとおり、通信元端末装置400Bと通信先端末装置400Aとは、ルータRAによって構築された同一のサブネットに所属しているため、プライベートIPアドレス「192.168.2.2」を用いた通信開始要求S15は、このサブネットを通って通信元端末装置400Bに無事に届く。かくして、端末装置400A-400B間において、ネットワークNを介さずに、同一サブネット内での通信が行われる。
 図30は、実施例6についての装置間信号の流れを示すダイアグラムである。このダイアグラムの形式は、図26に示すダイアグラムの形式と同様である。まず、準備段階の処理として、通信元端末装置400Xから接続仲介装置300に対して自己アドレス通知S0Xが行われ、GIPとPIPの両方が通知される。同様に、通信先端末装置400Yから接続仲介装置300に対して自己アドレス通知S0Yが行われ、GIPとPIPの両方が通知される。この準備段階の処理は、図26に示すダイアグラムの準備段階の処理と全く同じであり、この準備段階により、接続仲介装置300内のアドレステーブルには、両端末装置400X,400YのGIPとPIPの両方が格納されることになる。なお、図21の端末装置400Dのように、ルータを介さずにネットワークNに直接接続されている端末装置については、GIPのみがアドレステーブルに格納されるが、以下、図30のダイアグラムでは、両端末装置400X,400Yについて、GIPとPIPの両方が格納されている場合を基本とした説明を行う。
 ここでは、続く通信段階において、端末装置400Xに対して、端末装置400Yを通信先とする通信要求S11がなされたものとしよう。これにより、端末装置400Xを通信元とし、端末装置400Yを通信先とする通信を行うための手順が開始される。まず、通信元端末装置400Xから接続仲介装置300に対して、通信先端末装置400Yの端末IDを含む接続仲介依頼S12がなされる。この接続仲介依頼S12を受けた接続仲介装置300は、アドレステーブルを参照する処理S13を行い、通信先端末装置400Yの所在アドレスを通信先アドレスとして把握し、通信元端末装置400Xの所在アドレスを通信元アドレスとして把握する。
 アドレステーブルに格納されている通信元端末装置400Xの所在アドレスには、GIPとPIPが含まれている。そこで、接続仲介装置300内の通信元アドレス送信部330は、GIPおよびPIPの両方を通信元アドレスとして、これを通信先端末装置400Yに通知する通信元アドレス返信S14を行う(もちろん、アドレステーブルにGIPのみしか含まれていない端末装置については、GIPのみを送信する)。この通信元アドレス送信S14には、通信元端末装置400XのGIPとPIPの両方のアドレスが通信元アドレスとして含まれている。このように、実施例6では、接続仲介装置300は、GIP/PIPの選択を行わない。
 こうして、GIPおよびPIPの両方を含む通信先アドレスの返信を受けた通信先端末装置400Y内の通信開始要求部440は、まず、PIPを用いた通信開始要求S15にトライする。図には、実際にPIPを用いた通信開始要求S15が行われた例が示されている。
 この通信開始要求S15を受けた通信元端末装置400X内の通信元セッション確立部430は、通信先端末装置400Yに対して、同じくPIPを用いて通信開始受諾確認S16を行う。このようにして、通信開始要求S15に成功すると、通信開始受諾確認S16が返信されることになる。この場合、ダイアグラムの「成功?」の分岐ブロックから「YES」の分岐に従って一番下へとジャンプし、端末装置400X-400Y間における通信S17が、PIPを用いて行われることになり、ネットワークNを介さずに、同一サブネット内での通信が行われる。
 一方、PIPを用いた通信開始要求S15にトライした結果、この通信開始要求S15に失敗したと判断される場合には、ダイアグラムの通信開始要求S15および通信開始受諾確認S16が正常に行われないことになる。この場合、ダイアグラムの「成功?」の分岐ブロックから「NO」の分岐に従って、GIPを用いた通信開始要求S15′が行われる。この通信開始要求S15′を受けた通信元端末装置200X内の通信先セッション確立部460は、通信先端末装置400Yに対して、同じくGIPを用いて通信開始受諾確認S16′を行う。これにより、ダイアグラムの一番下に示すとおり、端末装置400X-400Y間における通信S17が、GIPを用いて行われることになり、ネットワークNを介した通信が行われる。
 以上、図30のダイアグラムでは、接続仲介装置300からGIPとPIPの両アドレスの送信を受けた場合の手順を示したが、接続仲介装置300からGIPのみの送信を受けた場合には、当然ながら、PIPを用いた通信開始要求S15をトライする代わりに、最初からGIPを用いた通信開始要求S15′を行うことになる。
 <8-3. 多層ルータへの対処>
 §8-1で述べた実施例5や、§8-2で述べた実施例6は、PIP失敗時にGIPでトライするアプローチを採用するものであるが、ここでは、このようなアプローチの利点として、多層ルータへの対処が可能になる点を説明しておく。
 図21には、ルータRAを介してネットワークNに接続された端末装置200A,200B、ルータRBを介してネットワークNに接続された端末装置200C、ルータを介さずに直接ネットワークNに接続された端末装置200D、という4台の端末装置を有するネットワーク通信システムの例を示した。この例の場合、2台のルータRA,RBは、並列的に設けられており、それぞれ独立した別個のサブネットを構築している。これに対して、複数のルータが多層構造をもって設置される場合もある。
 図31は、多層構造をもって設置されたルータを介してネットワークNに接続されている端末装置を含むネットワーク通信システムの全体構成を示すブロック図である。この図31には、2台のルータRA,RCと、4台の端末装置200A,200B,200D,200Eとが、ネットワークNに接続された状態が示されている。ただ、2台のルータRA,RCは、並列的ではなく、階層構造をもって設定されている。すなわち、ルータRCは、ルータRAによって構築されたサブネットの下位階層に設置されている。
 要するに、この図31に示すシステムは、図21に示すシステムにおいて、ルータRBおよび端末装置200Cの部分の枝を、そっくり切り取ってルータRAの配下に移動させ、それぞれルータRCおよび端末装置200Eと命名したものに相当する。したがって、図31におけるルータRA,端末装置200A,200B,200Dは、いずれも図21に示す同符号の構成要素と全く同じものである。
 一方、図31に示すルータRCは、ルータRAによって構築されたサブネットに接続されており、このルータRAのサブネット上において「192.168.2.3」なるプライベートIPアドレス(PIP)が付与されている。また、ルータRCは、「192.168.10.0/24」で示されるプライベートIPアドレスが付与された別なサブネットを構築しており、端末ID「0050」が与えられた端末装置200Eは、このルータRCのサブネットに接続されている。図示のとおり、このルータRCのサブネット内において、端末装置200Eに対しては、PIP5=「192.168.10.1」なるプライベートIPアドレスが付与されている。ただ、この端末装置200Eは、ネットワークNに対しては、最終的にルータRAを介して接続されているため、所在アドレスAD5として「xx.5.1.1(P5)」なるポート番号付きのグローバルIPアドレスも付与されることになる。
 この図31に示す例のように、多層構造をもって設置されたルータを含むシステムに本発明を適用する場合、§8-1で述べた実施例5や、§8-2で述べた実施例6を採用するのが好ましい。これは、多層構造をもって設置されたルータを含む複雑なシステムの場合、PIP失敗時にGIPでトライするアプローチが効果的になるためである。以下にその理由を説明する。
 この図31に示すシステムの場合も、各端末装置200A,200B,200D,200Eから接続仲介装置100に対して、自己アドレス通知がなされる。ルータRAやRCを介してネットワークNに接続されている端末装置200A,200B,200Eについては、グローバルIPアドレス(GIP)とともにプライベートIPアドレス(PIP)も通知される。
 図32は、図31に示すネットワーク通信システムにおいて、各端末装置のグローバルIPアドレス(GIP)とプライベートIPアドレス(PIP)の双方をアドレステーブルに格納した例を示す図である。図32(a) に示すアドレステーブルT71は、各アドレスを符号で表したものであり、端末ID「0010」,「0020」,「0050」,「0040」(図31に示す各端末装置のID)に対応させて、グローバルIPアドレスGIP1,GIP2,GIP5,GIP4と、ポート番号P1,P2,P5と、プライベートIPアドレスPIP1,PIP2,PIP5と、がそれぞれ格納されている。なお、端末ID「0040」をもつ端末装置200Dは、ルータを介さずにネットワークNに直接接続されているため、ポート番号およびPIPの情報はない。
 図32(b) に示すアドレステーブルT72は、図32(a) に示すアドレステーブルT71における各アドレスを具体的な数値例で表したものであり、端末ID「0010」,「0020」,「0050」,「0040」に対応させて、グローバルIPアドレス「xx.5.1.1」,「xx.5.1.1」,「xx.5.1.1」,「xx.5.8.100」と、ポート番号「54701」,「54702」,「54703」と、プライベートIPアドレス「192.168.2.1」,「192.168.2.2」,「192.168.10.1」と、がそれぞれ格納されている。ここで、端末装置200E(端末ID「0050」)の欄をみると、PIPとしては「192.168.10.1」というルータRCのサブネットアドレスが格納されているものの、GIPとしては「xx.5.1.1」というルータRAのグローバルIPアドレスが格納されていることがわかる。すなわち、3台の端末装置200A,200B,200Eは、GIPに関しては同一のIPアドレスを有している。
 いま、図31において、前述した実施例1,3,5を前提として、端末装置200Aを通信元、端末装置200Eを通信先とする通信を開始する場合を考えてみよう。この場合、通信元端末装置200Aから通信先端末装置200Eに対して、通信開始要求S5を行うことになるが、この通信開始要求S5を通信先端末装置200EのPIPを用いて行った場合、これまでの説明とは異なる事態が発生するため、実施例によっては通信に障害が生じることがある。
 たとえば、実施例1の場合、接続仲介装置100がGIP/PIPの選択を行うアプローチが採用されるが、図32(b) に示すアドレステーブルT72を参照すると、通信元端末装置200A(端末ID「0010」)のGIPと通信先端末装置200E(端末ID「0050」)のGIPは、いずれも「xx.5.1.1」であり、両者は同一である。したがって、接続仲介装置100は、通信元端末装置200Aに対して、通信先端末装置200EのPIP5「192.168.10.1」を選択通信先アドレスとして返信する。これは、接続仲介装置100が、「通信元と通信先とが同一のサブネットに所属する端末装置であるから、PIPによる相互通信を行うのが好ましい」と判断したためである。
 しかしながら、実際には、図31に示すとおり、通信元はルータRAのサブネットに所属するのに対して、通信先はルータRCのサブネットに所属しており、両者は同一のサブネットに所属する端末装置ではない。このため、通信元端末装置200Aが、通信先端末装置200Eに対して、PIP5「192.168.10.1」を用いて通信開始要求S5を行うと失敗することになる。前述した実施例1は、このような失敗を想定していないため、図31に示すシステムに実施例1を適用した場合は通信障害が生じる。説明は省略するが、このような通信障害は、図31に示すシステムに実施例2を適用した場合にも生じる(端末装置200Eを通信元、端末装置200Aを通信先とする通信に障害が生じる)。
 一方、実施例3の場合、端末装置200がGIP/PIPの選択を行うアプローチが採用され、通信元端末装置200Aには、通信先端末装置200EのGIPとPIPの両方が返信される。上例の場合、通信元端末装置200Aには、通信先アドレスとして、通信先端末装置200EのGIP5「xx.5.1.1(P5)」とPIP5「192.168.10.1」の両方が返信されてくる。そこで、通信元端末装置200Aは、返信されてきたGIP5「xx.5.1.1(P5)」と自己のGIP「xx.5.1.1(P1)」とが同一のIPアドレスであるため、通信先端末装置200Eに対して、PIP5「192.168.10.1」を用いて通信開始要求S5を行うことになり、当該通信開始要求S5は失敗することになる。前述した実施例3は、このような失敗を想定していないため、図31に示すシステムに実施例3を適用した場合は通信障害が生じる。説明は省略するが、このような通信障害は、図31に示すシステムに実施例4を適用した場合にも生じる(端末装置200Eを通信元、端末装置200Aを通信先とする通信に障害が生じる)。
 これに対して、実施例5の場合、もともと、PIP失敗時にGIPでトライするアプローチを採用するものであるから、図31に示すシステムに適用した場合にも通信に障害が生じることはない。すなわち、上例の場合、通信元端末装置200Aには、通信先アドレスとして、通信先端末装置200EのGIP5「xx.5.1.1(P5)」とPIP5「192.168.10.1」の両方が返信されてくる。通信元端末装置200Aは、まず、通信先端末装置200Eに対して、PIP5「192.168.10.1」を用いて通信開始要求S5を行うが、上述したとおり、当該通信開始要求S5は失敗する。そこで、今度は、通信先端末装置200Eに対して、GIP5「xx.5.1.1(P5)」を用いて通信開始要求S5′を行う。通常(ルータRAに出戻りを拒絶する設定がなされていない場合)、GIP5を用いた通信開始要求S5′は成功することになり、通信障害を防ぐことができる。説明は省略するが、図31に示すシステムに実施例6を適用した場合も、同様の理由で通信障害を防ぐことができる(端末装置200Eを通信元、端末装置200Aを通信先とする通信に障害は生じない)。
 このように、§8-1で述べた実施例5や、§8-2で述べた実施例6は、PIP失敗時にGIPでトライするアプローチを採用しているため、図31に示すような多層ルータを含むシステムについても対処が可能になる。
 <8-4. 実施例3,4への失敗時のアプローチ追加>
 上述した§8-3では、図31に示すような多層ルータを含むシステムについて、実施例3,4(端末装置がGIP/PIPの選択を行う行うアプローチを採るもの)を適用した場合、通信障害が生じるケースがあることを述べた。このような通信障害は、実施例3,4に、「PIP失敗時にGIPでトライするアプローチ」を追加することにより回避することができる。
 すなわち、実施例3では、通信元端末装置にGIP/PIPの両アドレスが返信され、当該通信元端末装置の判断において、いずれか一方を選択して、通信先端末装置に対する通信開始要求S5を行うことになる。ここで、通信元端末装置がPIPを選択して、PIPを用いた通信開始要求S5に失敗したと判断される場合もしくは失敗が予想される場合には、GIP用いた通信開始要求S5′を行うようにすればよい。
 同様に、実施例4では、通信先端末装置にGIP/PIPの両アドレスが送信され、当該通信先端末装置の判断において、いずれか一方を選択して、通信元端末装置に対する通信開始要求S15を行うことになる。ここで、通信先端末装置がPIPを選択して、PIPを用いた通信開始要求S15に失敗したと判断される場合もしくは失敗が予想される場合には、GIP用いた通信開始要求S15′を行うようにすればよい。
 このように、実施例3,4に対して、「PIPを用いた通信開始要求に失敗したときにはGIP用いた通信開始要求を行う」という失敗時のアプローチを追加することにより、§8-3で述べた通信障害の問題を解決することができる。
 <<< §9. プライベートIPアドレスの照会を行う変形例 >>>
 最後に、プライベートIPアドレスをアドレステーブルに格納する代わりに、接続仲介装置から照会を行う変形例を述べる。これまで§6~§8において述べてきた実施例1~6では、準備段階として各端末装置から接続仲介装置に対して自発的に自己アドレスを通知する際に、PIPが付与されている端末装置についてはGIPとともにPIPを通知し、アドレステーブルに格納しておくことが前提であった。このような前提では、図24や図32に示す例のように、PIPが付与されている端末装置については、準備段階においてアドレステーブルにGIPとPIPの両方が格納されることになり、接続仲介装置は、通信段階で必要なときに、このアドレステーブルを参照することにより、各端末装置のGIPとPIPの両方を認識することができる。
 ここで述べる変形例は、実施例1~6において、準備段階として各端末装置から接続仲介装置に対して自発的に自己アドレスを通知する際には、GIPのみを通知し、アドレステーブルにGIPのみを格納しておくようにする。そして、接続仲介装置は、通信段階で必要なときに、各端末装置に対してPIPを照会し、その回答を得ることにより必要なPIPを認識する、という方法を採用する。
 要するに、これまで述べてきた実施例1~6と、ここで述べるその変形例との相違点は、前者では、準備段階で自発的に通知されたGIP/PIPをアドレステーブルに記録しておき、接続仲介装置が、通信段階でこのアドレステーブルを参照することによりGIPとPIPの双方を認識して利用できるようにしているのに対して、後者では、準備段階で自発的に通知するのはGIPのみとし、アドレステーブルにはGIPのみを記録しておき、接続仲介装置が、通信段階でPIPが必要になった場合には、その都度、端末装置に対する照会を行ってPIPを認識して利用する、という点である。
 具体的には、実施例1,3,5(先願基本発明の第1の実施形態を基礎とした実施例)については、次の2点を変更することにより、ここで述べる変形例を適用することができる。
 第1の変更点は、端末装置200の自己アドレス通知部250に、自己の所在アドレスとして、ネットワーク上のグローバルIPアドレス(GIP)を接続仲介装置100に対して自発的に通知する自発通知機能と、接続仲介装置100から照会を受けたときに、ネットワークNへの接続に用いられているルータから付与されたプライベートIPアドレス(PIP)を回答する回答通知機能と、をもたせるようにする点である。上記自発通知機能は、§1で述べた先願基本発明の第1の実施形態の自己アドレス通知部250に備わっている機能であるから、ここで述べる変形例を実施する際には、この先願基本発明の第1の実施形態の自己アドレス通知部250に、上記回答通知機能を追加すればよい。アドレステーブル格納部110には、所在アドレスとして、自発通知機能によって通知された各端末装置のグローバルIPアドレス(GIP)およびポート番号を端末IDに対応づけて格納しておけばよい。
 第2の変更点は、接続仲介装置100の通信先アドレス返信部130が、アドレステーブルの参照によって必要と判断される場合には、通信先となる端末装置に対してプライベートIPアドレス(PIP)の照会を行い、グローバルIPアドレス(GIP)もしくは上記照会によって得られたプライベートIPアドレス(PIP)、またはその両方を通信先アドレスとして、通信元の端末装置に返信するようにする点である。これまで述べた実施例1,3,5では、アドレステーブルを参照することによりPIPを得ていたが、この変形例では、必要なときに、端末装置に対して照会を行うことにより、PIPを得ることになる。
 実際には、図4に示す例の場合、接続仲介装置100の通信先アドレス返信部130は、アドレステーブルを参照して、通信元となる端末装置200AのグローバルIPアドレスと通信先となる端末装置200BのグローバルIPアドレスとが同一のIPアドレスである場合に、通信先となる端末装置200Bに対してプライベートIPアドレスの照会を行えばよい。これは、両者のグローバルIPアドレスが同一の場合は、基本的には、両者が同じサブネットに所属していると判断でき、PIPを用いた通信開始要求が可能と判断できるためである(もちろん、図31に示す例のように、多層ルータが設けられている場合は例外になる)。逆言すれば、両者のグローバルIPアドレスが異なる場合は、PIPを用いた通信開始要求はできないので、PIPアドレスは不要であり、照会の必要はないことになる。
 もちろん、この変形例においても、通信元端末装置の通信開始要求部240が、グローバルIPアドレス(GIP)もしくはプライベートIPアドレス(PIP)、またはその両方を用いて通信開始要求S5を行う点に変わりはない。たとえば、図4に示す例の場合、通信開始要求部240Aは、通信元となる端末装置200AのグローバルIPアドレスと通信先となる端末装置200BのグローバルIPアドレスとが同一の場合には、プライベートIPアドレスを用いて通信開始要求S5を行い、異なる場合には、グローバルIPアドレスを用いて通信開始要求S5を行うことになる。
 一方、実施例2,4,6(先願基本発明の第2の実施形態を基礎とした実施例)については、次の2点を変更することにより、ここで述べる変形例を適用することができる。
 第1の変更点は、端末装置400の自己アドレス通知部450に、自己の所在アドレスとして、ネットワーク上のグローバルIPアドレス(GIP)を接続仲介装置300に対して自発的に通知する自発通知機能と、接続仲介装置300から照会を受けたときに、ネットワークNへの接続に用いられているルータから付与されたプライベートIPアドレス(PIP)を回答する回答通知機能と、をもたせるようにする点である。上記自発通知機能は、§2で述べた先願基本発明の第2の実施形態の自己アドレス通知部450に備わっている機能であるから、ここで述べる変形例を実施する際には、この先願基本発明の第2の実施形態の自己アドレス通知部450に、上記回答通知機能を追加すればよい。アドレステーブル格納部310には、所在アドレスとして、自発通知機能によって通知された各端末装置のグローバルIPアドレス(GIP)およびポート番号を端末IDに対応づけて格納しておけばよい。
 第2の変更点は、接続仲介装置300の通信元アドレス送信部330が、アドレステーブルの参照によって必要と判断される場合には、通信元となる端末装置に対してプライベートIPアドレス(PIP)の照会を行い、グローバルIPアドレス(GIP)もしくは上記照会によって得られたプライベートIPアドレス(PIP)、またはその両方を通信元アドレスとして、通信先の端末装置に送信するようにする点である。これまで述べた実施例2,4,6では、アドレステーブルを参照することによりPIPを得ていたが、この変形例では、必要なときに、端末装置に対して照会を行うことにより、PIPを得ることになる。
 実際には、図8に示す例の場合、接続仲介装置300の通信元アドレス送信部330は、アドレステーブルを参照して、通信元となる端末装置400BのグローバルIPアドレスと通信先となる端末装置400AのグローバルIPアドレスとが同一のIPアドレスである場合に、通信元となる端末装置400Bに対してプライベートIPアドレスの照会を行えばよい。これは、両者のグローバルIPアドレスが同一の場合は、基本的には、両者が同じサブネットに所属していると判断でき、PIPを用いた通信開始要求が可能と判断できるためである(もちろん、図31に示す例のように、多層ルータが設けられている場合は例外になる)。逆言すれば、両者のグローバルIPアドレスが異なる場合は、PIPを用いた通信開始要求はできないので、PIPアドレスは不要であり、照会の必要はないことになる。
 もちろん、この変形例においても、通信先端末装置の通信開始要求部440が、グローバルIPアドレス(GIP)もしくはプライベートIPアドレス(PIP)、またはその両方を用いて通信開始要求S15を行う点に変わりはない。たとえば、図8に示す例の場合、通信開始要求部440Aは、通信元となる端末装置400BのグローバルIPアドレスと通信先となる端末装置400AのグローバルIPアドレスとが同一の場合には、プライベートIPアドレスを用いて通信開始要求S15を行い、異なる場合には、グローバルIPアドレスを用いて通信開始要求S15を行うことになる。
 以下、実施例1~実施例6の変形例について、それぞれ図33~図38のダイアグラムを用いながら、具体的な装置間信号の流れを説明する。以下に述べる変形例では、準備段階でPIPを通知する必要はないので、図33~図38のダイアグラムの準備段階における自己アドレス通知S0X,S0Yでは、GIPのみが通知されている。もちろん、これら実施例1~6の変形例についても、§3や§4で述べた各種変形例を適用することが可能である。
 <9-1. 実施例1の変形例>
 図33は、図25に示す実施例1において、PIPをその都度照会する形態を採用した変形例についての装置間信号の流れを示すダイアグラムである。図25に示すダイアグラムと図33に示すダイアグラムとの通信段階の違いは、前者における「アドレステーブル参照(S3)アドレス選択」のブロックが、後者では、「照会?」の分岐ブロックおよびPIP照会(S3a)/PIP回答(S3b)の装置間信号に置き換わった点のみである。そこで、以下、この相違点についてのみ説明を行う。
 まず、図33に示すダイアグラムにおける「照会?」の分岐ブロックでは、通信先アドレス返信部130が、アドレステーブルを参照して、接続仲介依頼S2を送信した通信元の端末装置200Xの端末IDに対応づけられているグローバルIPアドレス(GIP)と、接続仲介依頼S2に含まれている通信先特定情報によって特定される端末ID(通信先の端末装置200Yの端末ID)に対応づけられているグローバルIPアドレス(GIP)と、が同一のIPアドレスであるか否かを判断し、判断対象となる両者が異なるIPアドレスである場合には、照会不要と判断する。この場合、ダイアグラムの「照会?」の分岐ブロックから「NO」の分岐に従ってジャンプし、グローバルIPアドレス(GIP)を選択通信先アドレスとして通信元端末装置Xに返信する通信先アドレス返信S4を実行する。
 一方、上記判断対象となる両者が同一のIPアドレスである場合には、ダイアグラムの「照会?」の分岐ブロックから「YES」の分岐に従って、通信先となる端末装置200Yに対してプライベートIPアドレスを問い合わせるPIP照会S3aを行い、これに応じたPIP回答S3bを得る。そして、この照会によって得られたプライベートIPアドレス(PIP)を選択通信先アドレスとして通信元端末装置Xに返信する通信先アドレス返信S4を実行する。
 この後、通信元端末装置Xの通信開始要求部240が、返信されてきた選択通信先アドレスを用いて通信開始要求S5を行う点は、実施例1と変わりない。
 <9-2. 実施例2の変形例>
 図34は、図26に示す実施例2において、PIPをその都度照会する形態を採用した変形例についての装置間信号の流れを示すダイアグラムである。図26に示すダイアグラムと図34に示すダイアグラムとの通信段階の違いは、前者における「アドレステーブル参照(S13)アドレス選択」のブロックが、後者では、「照会?」の分岐ブロックおよびPIP照会(S13a)/PIP回答(S13b)の装置間信号に置き換わった点のみである。そこで、以下、この相違点についてのみ説明を行う。
 まず、図34に示すダイアグラムにおける「照会?」の分岐ブロックでは、通信元アドレス送信部330が、アドレステーブルを参照して、接続仲介依頼S12を送信した通信元の端末装置400Xの端末IDに対応づけられているグローバルIPアドレス(GIP)と、接続仲介依頼S12に含まれている通信先特定情報によって特定される端末ID(通信先の端末装置400Yの端末ID)に対応づけられているグローバルIPアドレス(GIP)と、が同一のIPアドレスであるか否かを判断し、判断対象となる両者が異なるIPアドレスである場合には、照会不要と判断する。この場合、ダイアグラムの「照会?」の分岐ブロックから「NO」の分岐に従ってジャンプし、グローバルIPアドレス(GIP)を選択通信元アドレスとして通信先端末装置Yに送信する通信元アドレス送信S14を実行する。
 一方、上記判断対象となる両者が同一のIPアドレスである場合には、ダイアグラムの「照会?」の分岐ブロックから「YES」の分岐に従って、通信元となる端末装置400Xに対してプライベートIPアドレスを問い合わせるPIP照会S13aを行い、これに応じたPIP回答S13bを得る。そして、この照会によって得られたプライベートIPアドレス(PIP)を選択通信元アドレスとして通信先端末装置Yに返信する通信先アドレス返信S14を実行する。
 この後、通信先端末装置Yの通信開始要求部440が、送信されてきた選択通信元アドレスを用いて通信開始要求S15を行う点は、実施例1と変わりない。
 <9-3. 実施例3の変形例>
 図35は、図27に示す実施例3において、PIPをその都度照会する形態を採用した変形例についての装置間信号の流れを示すダイアグラムである。図27に示すダイアグラムと図35に示すダイアグラムとの通信段階の違いは、前者における「アドレステーブル参照(S3)」のブロックが、後者では、「照会?」の分岐ブロックおよびPIP照会(S3a)/PIP回答(S3b)の装置間信号に置き換わった点のみである。そこで、以下、この相違点についてのみ説明を行う。
 まず、図35に示すダイアグラムにおける「照会?」の分岐ブロックでは、通信先アドレス返信部130が、アドレステーブルを参照して、接続仲介依頼S2を送信した通信元の端末装置200Xの端末IDに対応づけられているグローバルIPアドレス(GIP)と、接続仲介依頼S2に含まれている通信先特定情報によって特定される端末ID(通信先の端末装置200Yの端末ID)に対応づけられているグローバルIPアドレス(GIP)と、が同一のIPアドレスであるか否かを判断し、判断対象となる両者が異なるIPアドレスである場合には、照会不要と判断する。この場合、ダイアグラムの「照会?」の分岐ブロックから「NO」の分岐に従ってジャンプし、グローバルIPアドレス(GIP)のみを通信先アドレスとして通信元端末装置Xに返信する通信先アドレス返信S4を実行する。
 一方、上記判断対象となる両者が同一のIPアドレスである場合には、ダイアグラムの「照会?」の分岐ブロックから「YES」の分岐に従って、通信先となる端末装置200Yに対してプライベートIPアドレスを問い合わせるPIP照会S3aを行い、これに応じたPIP回答S3bを得る。そして、アドレステーブルに格納されていた通信先端末装置200YのグローバルIPアドレス(GIP)と、照会によって得られたプライベートIPアドレス(PIP)と、の両アドレスを、通信先アドレスとして通信元端末装置Xに返信する通信先アドレス返信S4を実行する。
 この後、通信元端末装置Xの通信開始要求部240は、グローバルIPアドレス(GIP)のみの返信があった場合には、返信されてきたグローバルIPアドレス(GIP)を用いて通信開始要求S5を行い、両アドレスの返信があった場合には、返信されてきたプライベートIPアドレス(PIP)を用いて通信開始要求S5を行えばよい。なお、実施例3では、端末装置が、送信元のGIPと送信先のGIPが同一か否かを調べることによってGIP/PIPの選択判断を行うことになっているが、この変形例では、実質的に接続仲介装置において当該選択判断が行われているので(照会するか否かの判断において、GIPの同一性が調べられている)、端末装置において改めてGIPの同一性を調べてGIP/PIPの選択判断を行う必要はない。
 また、§8-4で述べたように、実施例3に「PIP失敗時にGIPでトライするアプローチ」を追加する運用を行う際には、通信元端末装置Xの通信開始要求部240が、プライベートIPアドレス(PIP)を用いた通信開始要求S5に失敗したと判断される場合もしくは失敗が予想される場合に、グローバルIPアドレス(GIP)を用いた通信開始要求S5′を行うようにすればよい。
 この場合、通信開始要求部240は、プライベートIPアドレス(PIP)を用いて通信開始要求S5を行った後、所定のタイムアウト時間内に通信先の端末装置200Yから通信開始受諾確認S6が送信されてこなかったときに、通信開始要求S5に失敗したと判断することができる。
 <9-4. 実施例4の変形例>
 図36は、図28に示す実施例4において、PIPをその都度照会する形態を採用した変形例についての装置間信号の流れを示すダイアグラムである。図28に示すダイアグラムと図36に示すダイアグラムとの通信段階の違いは、前者における「アドレステーブル参照(S13)」のブロックが、後者では、「照会?」の分岐ブロックおよびPIP照会(S13a)/PIP回答(S13b)の装置間信号に置き換わった点のみである。そこで、以下、この相違点についてのみ説明を行う。
 まず、図36に示すダイアグラムにおける「照会?」の分岐ブロックでは、通信元アドレス送信部330が、アドレステーブルを参照して、接続仲介依頼S12を送信した通信元の端末装置400Xの端末IDに対応づけられているグローバルIPアドレス(GIP)と、接続仲介依頼S12に含まれている通信先特定情報によって特定される端末ID(通信先の端末装置400Yの端末ID)に対応づけられているグローバルIPアドレス(GIP)と、が同一のIPアドレスであるか否かを判断し、判断対象となる両者が異なるIPアドレスである場合には、照会不要と判断する。この場合、ダイアグラムの「照会?」の分岐ブロックから「NO」の分岐に従ってジャンプし、グローバルIPアドレス(GIP)のみを通信元アドレスとして通信先端末装置Yに送信する通信元アドレス送信S14を実行する。
 一方、上記判断対象となる両者が同一のIPアドレスである場合には、ダイアグラムの「照会?」の分岐ブロックから「YES」の分岐に従って、通信元となる端末装置400Xに対してプライベートIPアドレスを問い合わせるPIP照会S13aを行い、これに応じたPIP回答S13bを得る。そして、アドレステーブルに格納されていた通信元端末装置400XのグローバルIPアドレス(GIP)と、照会によって得られたプライベートIPアドレス(PIP)と、の両アドレスを、通信元アドレスとして通信先端末装置Yに送信する通信元アドレス送信S14を実行する。
 この後、通信先端末装置Yの通信開始要求部440は、グローバルIPアドレス(GIP)のみの送信があった場合には、送信されてきたグローバルIPアドレス(GIP)を用いて通信開始要求S15を行い、両アドレスの送信があった場合には、送信されてきたプライベートIPアドレス(PIP)を用いて通信開始要求S15を行えばよい。なお、実施例4では、端末装置が、送信元のGIPと送信先のGIPが同一か否かを調べることによってGIP/PIPの選択判断を行うことになっているが、この変形例では、実質的に接続仲介装置において当該選択判断が行われているので(照会するか否かの判断において、GIPの同一性が調べられている)、端末装置において改めてGIPの同一性を調べてGIP/PIPの選択判断を行う必要はない。
 また、§8-4で述べたように、実施例4に「PIP失敗時にGIPでトライするアプローチ」を追加する運用を行う際には、通信先端末装置Yの通信開始要求部440が、プライベートIPアドレス(PIP)を用いた通信開始要求S15に失敗したと判断される場合もしくは失敗が予想される場合に、グローバルIPアドレス(GIP)を用いた通信開始要求S15′を行うようにすればよい。
 この場合、通信開始要求部440は、プライベートIPアドレス(PIP)を用いて通信開始要求S15を行った後、所定のタイムアウト時間内に通信元の端末装置400Xから通信開始受諾確認S16が送信されてこなかったときに、通信開始要求S15に失敗したと判断することができる。
 <9-5. 実施例5の変形例>
 図37は、図29に示す実施例5において、PIPをその都度照会する形態を採用した変形例についての装置間信号の流れを示すダイアグラムである。図29に示すダイアグラムと図37に示すダイアグラムとの通信段階の違いは、前者における「アドレステーブル参照(S3)」のブロックが、後者では、「照会?」の分岐ブロックおよびPIP照会(S3a)/PIP回答(S3b)の装置間信号に置き換わった点のみである。そこで、以下、この相違点についてのみ説明を行う。
 まず、図37に示すダイアグラムにおける「照会?」の分岐ブロックでは、通信先アドレス返信部130が、アドレステーブルを参照して、接続仲介依頼S2を送信した通信元の端末装置200Xの端末IDに対応づけられているグローバルIPアドレス(GIP)と、接続仲介依頼S2に含まれている通信先特定情報によって特定される端末ID(通信先の端末装置200Yの端末ID)に対応づけられているグローバルIPアドレス(GIP)と、が同一のIPアドレスであるか否かを判断し、判断対象となる両者が異なるIPアドレスである場合には、照会不要と判断する。この場合、ダイアグラムの「照会?」の分岐ブロックから「NO」の分岐に従ってジャンプし、グローバルIPアドレス(GIP)のみを通信先アドレスとして通信元端末装置Xに返信する通信先アドレス返信S4を実行する。
 一方、上記判断対象となる両者が同一のIPアドレスである場合には、ダイアグラムの「照会?」の分岐ブロックから「YES」の分岐に従って、通信先となる端末装置200Yに対してプライベートIPアドレスを問い合わせるPIP照会S3aを行い、これに応じたPIP回答S3bを得る。そして、アドレステーブルに格納されていた通信先端末装置200YのグローバルIPアドレス(GIP)と、照会によって得られたプライベートIPアドレス(PIP)と、の両アドレスを、通信先アドレスとして通信元端末装置Xに返信する通信先アドレス返信S4を実行する。
 この後、通信元端末装置Xの通信開始要求部240が、両アドレスの返信があった場合には、まず、返信されてきたプライベートIPアドレス(PIP)を用いて通信開始要求S5をトライし、この通信開始要求S5に失敗したと判断される場合もしくは失敗が予想される場合には、グローバルIPアドレス(GIP)を用いた通信開始要求S5′を行い、グローバルIPアドレス(GIP)のみの返信があった場合には、返信されてきたグローバルIPアドレス(GIP)を用いて通信開始要求S5′を行う点は、実施例5と変わりない。
 この場合、通信開始要求部240は、プライベートIPアドレス(PIP)を用いて通信開始要求S5を行った後、所定のタイムアウト時間内に通信先の端末装置200Yから通信開始受諾確認S6が送信されてこなかったときに、通信開始要求S5に失敗したと判断することができる。
 <9-6. 実施例6の変形例>
 図38は、図30に示す実施例6において、PIPをその都度照会する形態を採用した変形例についての装置間信号の流れを示すダイアグラムである。図30に示すダイアグラムと図38に示すダイアグラムとの通信段階の違いは、前者における「アドレステーブル参照(S13)」のブロックが、後者では、「照会?」の分岐ブロックおよびPIP照会(S13a)/PIP回答(S13b)の装置間信号に置き換わった点のみである。そこで、以下、この相違点についてのみ説明を行う。
 まず、図38に示すダイアグラムにおける「照会?」の分岐ブロックでは、通信元アドレス送信部330が、アドレステーブルを参照して、接続仲介依頼S12を送信した通信元の端末装置400Xの端末IDに対応づけられているグローバルIPアドレス(GIP)と、接続仲介依頼S12に含まれている通信先特定情報によって特定される端末ID(通信先の端末装置400Yの端末ID)に対応づけられているグローバルIPアドレス(GIP)と、が同一のIPアドレスであるか否かを判断し、判断対象となる両者が異なるIPアドレスである場合には、照会不要と判断する。この場合、ダイアグラムの「照会?」の分岐ブロックから「NO」の分岐に従ってジャンプし、グローバルIPアドレス(GIP)のみを通信元アドレスとして通信先端末装置Yに送信する通信元アドレス送信S14を実行する。
 一方、上記判断対象となる両者が同一のIPアドレスである場合には、ダイアグラムの「照会?」の分岐ブロックから「YES」の分岐に従って、通信元となる端末装置400Xに対してプライベートIPアドレスを問い合わせるPIP照会S13aを行い、これに応じたPIP回答S13bを得る。そして、アドレステーブルに格納されていた通信元端末装置400XのグローバルIPアドレス(GIP)と、照会によって得られたプライベートIPアドレス(PIP)と、の両アドレスを、通信元アドレスとして通信先端末装置Yに送信する通信元アドレス送信S14を実行する。
 この後、通信先端末装置Yの通信開始要求部440が、両アドレスの返信があった場合には、まず、返信されてきたプライベートIPアドレス(PIP)を用いて通信開始要求S15をトライし、この通信開始要求S15に失敗したと判断される場合もしくは失敗が予想される場合には、グローバルIPアドレス(GIP)を用いた通信開始要求S15′を行い、グローバルIPアドレス(GIP)のみの返信があった場合には、返信されてきたグローバルIPアドレス(GIP)を用いて通信開始要求S15′を行う点は、実施例6と変わりない。
 この場合、通信開始要求部440は、プライベートIPアドレス(PIP)を用いて通信開始要求S15を行った後、所定のタイムアウト時間内に通信元の端末装置400Xから通信開始受諾確認S16が送信されてこなかったときに、通信開始要求S15に失敗したと判断することができる。
 本発明に係るネットワーク通信システムは、パソコン、携帯電話、タブレット型端末など、インターネットに接続可能な様々な端末装置が利用されている状態において、任意の端末装置間での効率的な通信を可能にする技術を提供するものであり、産業上、十分な利用可能性を有している。
100:接続仲介装置
110:アドレステーブル格納部
120:アドレステーブル更新部
130:通信先アドレス返信部
200,200A~200K,200X,200Y:端末装置
201H,201K:VPN通信部
210,210A,210B:接続仲介依頼部
220,220A,220B:通信要求受付部
230,230A,230B:通信先セッション確立部
240,240A,240B:通信開始要求部
250,250A,250B:自己アドレス通知部
260,260A,260B:通信元セッション確立部
300:接続仲介装置
310:アドレステーブル格納部
320:アドレステーブル更新部
330:通信元アドレス送信部
400,400A~400D,400X,400Y:端末装置
410,410A,410B:接続仲介依頼部
420,420A,420B:通信要求受付部
430,430A,430B:通信元セッション確立部
440,440A,440B:通信開始要求部
450,450A,450B:自己アドレス通知部
460,460A,460B:通信先セッション確立部
AD1~AD7:所在アドレス
ADx,ADy,ADz:グローバルIPアドレス
APP1,APP2:アプリケーションプログラム
B1,B2:基地局
GIP,GIP1~GIP5:グローバルIPアドレス
L1~L6:ブロック間の信号の流れを示す矢印/信号経路
N:ネットワーク(インターネット)
P1~P21:ポート番号
PIP,PIP1~PIP5:プライベートIPアドレス
R,R1,R2,RA,RB,RC:ルータ
S1~S7,S11~S17:流れ図の各ステップ
S0X,S0Y:自己アドレス通知
T,T1~T3,T41,T42,T51,T52,T61,T62,T71,T72:アドレステーブル

Claims (34)

  1.  ネットワーク(N)を介して相互に接続可能な複数の端末装置(200,200A-200K)と、前記複数の端末装置間の接続を仲介する接続仲介装置(100)と、を備えたネットワーク通信システムであって、
     前記複数の端末装置(200,200A-200K)には、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、前記接続仲介装置(100)は、前記端末IDを利用して通信元となる端末装置(200A)と通信先となる端末装置(200B)との間の接続を仲介する処理を実行し、
     前記複数の端末装置(200)のそれぞれは、
     自己のネットワーク上での所在を示す所在アドレスを、前記接続仲介装置(100)に対して通知する自己アドレス通知部(250)と、
     自己(200A)を通信元として、通信先の別な端末装置(200B)に対する通信要求(S1)を受け付ける通信要求受付部(220A)と、
     前記通信要求受付部(220A)によって前記通信要求(S1)が受け付けられたときに、前記接続仲介装置(100)に対して、前記通信先の別な端末装置(200B)の端末ID(0020)を特定するための通信先特定情報を含む接続仲介依頼(S2)を送信する接続仲介依頼部(210A)と、
     前記接続仲介依頼(S2)に応じて、前記接続仲介装置(100)から、前記通信先の別な端末装置(200B)のネットワーク上での所在を示す通信先アドレス(AD2)が返信されてきたときに、ネットワーク(N)を介して、前記通信先アドレス(AD2)にアクセスして通信開始要求(S5)を行う通信開始要求部(240A)と、
     前記通信開始要求(S5)に応じて、前記通信先の別な端末装置(200B)から、通信開始受諾確認(S6)が返信されてきたら、前記通信先の別な端末装置(200B)との間に通信セッションを確立して通信(S7)を開始する通信元セッション確立部(260A)と、
     通信元の別な端末装置(200A)から、自己を通信先とする通信開始要求(S5)がなされたら、前記通信元の別な端末装置(200A)に対して通信開始受諾確認(S6)を送信し、前記通信元の別な端末装置(200A)との間に通信セッションを確立して通信(S7)を開始する通信先セッション確立部(230B)と、
     を有し、
     前記接続仲介装置(100)は、
     前記端末装置(200A-200K)のそれぞれについて、前記端末IDと前記所在アドレスとを対応づけたアドレステーブル(T,T61~T72)を格納するアドレステーブル格納部(110)と、
     前記端末装置(200A-200K)の前記自己アドレス通知部(250)からの通知に基づいて、前記アドレステーブル(T,T61~T72)の内容を更新するアドレステーブル更新部(120)と、
     前記端末装置(200A)の前記接続仲介依頼部(210A)から、前記接続仲介依頼(S2)が送信されてきたときに、前記アドレステーブル(T,T61~T72)を参照して、前記接続仲介依頼(S2)に含まれている通信先特定情報によって特定される端末ID(0020)に対応づけられている所在アドレス(AD2)を通信先アドレスとして返信する通信先アドレス返信部(130)と、
     を有し、
     ルータ(RA,RB)を介してネットワーク(N)に接続されている端末装置の自己アドレス通知部(250)が、自己の所在アドレスとして、ネットワーク上のグローバルIPアドレス(GIP)とともに、前記ルータから付与されたプライベートIPアドレス(PIP)を前記接続仲介装置(100)に対して通知し、
     前記アドレステーブル格納部(110)が、所在アドレスとして、各端末装置のグローバルIPアドレス(GIP)を端末IDに対応づけて格納するとともに、プライベートIPアドレス(PIP)が通知された端末装置については、更に当該プライベートIPアドレス(PIP)を端末IDに対応づけて格納し、
     前記通信先アドレス返信部(130)が、前記アドレステーブル(T,T61~T72)の内容に応じて、グローバルIPアドレス(GIP)もしくはプライベートIPアドレス(PIP)、またはその両方を通信先アドレスとして返信し、
     前記通信開始要求部(240A)が、グローバルIPアドレス(GIP)もしくはプライベートIPアドレス(PIP)、またはその両方を用いて通信開始要求(S5)を行うことを特徴とするネットワーク通信システム。
  2.  請求項1に記載のネットワーク通信システムにおいて、
     通信開始要求部(240A)が、通信元となる端末装置(200A)のグローバルIPアドレス(GIP1)と通信先となる端末装置(200B)のグローバルIPアドレス(GIP2)とが同一のIPアドレスである場合には、プライベートIPアドレス(PIP2)を用いて通信開始要求(S5)を行い、異なるIPアドレスである場合には、グローバルIPアドレス(GIP2)を用いて通信開始要求(S5)を行うことを特徴とするネットワーク通信システム。
  3.  請求項1に記載のネットワーク通信システムにおいて、
     通信先アドレス返信部(130)が、アドレステーブル(T61~T72)を参照して、接続仲介依頼(S2)を送信した通信元の端末装置(200A)の端末ID(0010)に対応づけられているグローバルIPアドレス(GIP1)と、接続仲介依頼(S2)に含まれている通信先特定情報によって特定される端末ID(0020)に対応づけられているグローバルIPアドレス(GIP2)と、が同一のIPアドレスであるか否かを判断し、判断対象となる両者が同一のIPアドレスである場合には、プライベートIPアドレス(PIP2)を選択通信先アドレスとして返信し、判断対象となる両者が異なるIPアドレスである場合には、グローバルIPアドレス(GIP2)を選択通信先アドレスとして返信し、
     通信開始要求部(240A)が、返信されてきた前記選択通信先アドレスを用いて通信開始要求(S5)を行うことを特徴とするネットワーク通信システム。
  4.  請求項1に記載のネットワーク通信システムにおいて、
     通信先アドレス返信部(130)が、返信対象となる所在アドレスとしてグローバルIPアドレス(GIP2)およびプライベートIPアドレス(PIP2)の両アドレスがアドレステーブル(T61~T72)に格納されていた場合に、前記両アドレスを通信先アドレスとして返信し、
     通信開始要求部(240A)が、前記両アドレスの返信があったときに、通信先アドレスとして返信されてきた前記グローバルIPアドレス(GIP2)と、通信元である自己のグローバルIPアドレス(GIP1)と、が同一のIPアドレスであるか否かを判断し、判断対象となる両者が同一のIPアドレスである場合には、プライベートIPアドレス(PIP2)を用いて通信開始要求(S5)を行い、判断対象となる両者が異なるIPアドレスである場合には、グローバルIPアドレス(GIP2)を用いて通信開始要求(S5)を行うことを特徴とするネットワーク通信システム。
  5.  請求項4に記載のネットワーク通信システムにおいて、
     通信開始要求部(240A)が、プライベートIPアドレス(PIP2)を用いた通信開始要求(S5)に失敗したと判断される場合もしくは失敗が予想される場合には、グローバルIPアドレス(GIP2)を用いた通信開始要求(S5′)を行うことを特徴とするネットワーク通信システム。
  6.  請求項1に記載のネットワーク通信システムにおいて、
     通信先アドレス返信部(130)が、返信対象となる所在アドレスとしてグローバルIPアドレス(GIP2)およびプライベートIPアドレス(PIP2)の両アドレスがアドレステーブル(T61~T72)に格納されていた場合に、前記両アドレスを通信先アドレスとして返信し、
     通信開始要求部(240A)が、前記両アドレスの返信があったときに、まず、プライベートIPアドレス(PIP2)を用いて通信開始要求(S5)をトライし、この通信開始要求(S5)に失敗したと判断される場合もしくは失敗が予想される場合には、グローバルIPアドレス(GIP2)を用いた通信開始要求(S5′)を行うことを特徴とするネットワーク通信システム。
  7.  請求項5または6に記載のネットワーク通信システムにおいて、
     通信開始要求部(240A)が、プライベートIPアドレス(PIP2)を用いて通信開始要求(S5)を行った後、所定のタイムアウト時間内に通信先の端末装置(200B)から通信開始受諾確認(S6)が送信されてこなかったときに、前記通信開始要求(S5)に失敗したと判断することを特徴とするネットワーク通信システム。
  8.  ネットワーク(N)を介して相互に接続可能な複数の端末装置(200,200A-200K)と、前記複数の端末装置間の接続を仲介する接続仲介装置(100)と、を備えたネットワーク通信システムであって、
     前記複数の端末装置(200,200A-200K)には、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、前記接続仲介装置(100)は、前記端末IDを利用して通信元となる端末装置(200A)と通信先となる端末装置(200B)との間の接続を仲介する処理を実行し、
     前記複数の端末装置(200)のそれぞれは、
     自己のネットワーク上での所在を示す所在アドレスを、前記接続仲介装置(100)に対して通知する自己アドレス通知部(250)と、
     自己(200A)を通信元として、通信先の別な端末装置(200B)に対する通信要求(S1)を受け付ける通信要求受付部(220A)と、
     前記通信要求受付部(220A)によって前記通信要求(S1)が受け付けられたときに、前記接続仲介装置(100)に対して、前記通信先の別な端末装置(200B)の端末ID(0020)を特定するための通信先特定情報を含む接続仲介依頼(S2)を送信する接続仲介依頼部(210A)と、
     前記接続仲介依頼(S2)に応じて、前記接続仲介装置(100)から、前記通信先の別な端末装置(200B)のネットワーク上での所在を示す通信先アドレス(AD2)が返信されてきたときに、ネットワーク(N)を介して、前記通信先アドレス(AD2)にアクセスして通信開始要求(S5)を行う通信開始要求部(240A)と、
     前記通信開始要求(S5)に応じて、前記通信先の別な端末装置(200B)から、通信開始受諾確認(S6)が返信されてきたら、前記通信先の別な端末装置(200B)との間に通信セッションを確立して通信(S7)を開始する通信元セッション確立部(260A)と、
     通信元の別な端末装置(200A)から、自己を通信先とする通信開始要求(S5)がなされたら、前記通信元の別な端末装置(200A)に対して通信開始受諾確認(S6)を送信し、前記通信元の別な端末装置(200A)との間に通信セッションを確立して通信(S7)を開始する通信先セッション確立部(230B)と、
     を有し、
     前記接続仲介装置(100)は、
     前記端末装置(200A-200K)のそれぞれについて、前記端末IDと前記所在アドレスとを対応づけたアドレステーブル(T,T61~T72)を格納するアドレステーブル格納部(110)と、
     前記端末装置(200A-200K)の前記自己アドレス通知部(250)からの通知に基づいて、前記アドレステーブル(T,T61~T72)の内容を更新するアドレステーブル更新部(120)と、
     前記端末装置(200A)の前記接続仲介依頼部(210A)から、前記接続仲介依頼(S2)が送信されてきたときに、前記アドレステーブル(T,T61~T72)を参照して、前記接続仲介依頼(S2)に含まれている通信先特定情報によって特定される端末ID(0020)に対応づけられている所在アドレス(AD2)を通信先アドレスとして返信する通信先アドレス返信部(130)と、
     を有し、
     前記自己アドレス通知部(250)が、自己の所在アドレスとして、ネットワーク上のグローバルIPアドレス(GIP)を前記接続仲介装置(100)に対して自発的に通知する自発通知機能と、前記接続仲介装置(100)から照会を受けたときに、ネットワーク(N)への接続に用いられているルータから付与されたプライベートIPアドレス(PIP)を回答する回答通知機能と、を有し、
     前記アドレステーブル格納部(110)が、所在アドレスとして、前記自発通知機能によって通知された各端末装置のグローバルIPアドレス(GIP)を端末IDに対応づけて格納し、
     前記通信先アドレス返信部(130)が、前記アドレステーブル(T,T61~T72)の参照によって必要と判断される場合には、前記通信先となる端末装置(200B)に対してプライベートIPアドレス(PIP2)の照会を行い、グローバルIPアドレス(GIP2)もしくは前記照会によって得られたプライベートIPアドレス(PIP2)、またはその両方を通信先アドレスとして返信し、
     前記通信開始要求部(240A)が、グローバルIPアドレス(GIP)もしくはプライベートIPアドレス(PIP)、またはその両方を用いて通信開始要求(S5)を行うことを特徴とするネットワーク通信システム。
  9.  請求項8に記載のネットワーク通信システムにおいて、
     通信先アドレス返信部(130)が、通信元となる端末装置(200A)のグローバルIPアドレス(GIP1)と通信先となる端末装置(200B)のグローバルIPアドレス(GIP2)とが同一のIPアドレスである場合に、前記通信先となる端末装置(200B)に対してプライベートIPアドレス(PIP2)の照会を行い、
     通信開始要求部(240A)が、通信元となる端末装置(200A)のグローバルIPアドレス(GIP1)と通信先となる端末装置(200B)のグローバルIPアドレス(GIP2)とが同一のIPアドレスである場合には、プライベートIPアドレス(PIP2)を用いて通信開始要求(S5)を行い、異なるIPアドレスである場合には、グローバルIPアドレス(GIP2)を用いて通信開始要求(S5)を行うことを特徴とするネットワーク通信システム。
  10.  請求項8に記載のネットワーク通信システムにおいて、
     通信先アドレス返信部(130)が、アドレステーブル(T61~T72)を参照して、接続仲介依頼(S2)を送信した通信元の端末装置(200A)の端末ID(0010)に対応づけられているグローバルIPアドレス(GIP1)と、接続仲介依頼(S2)に含まれている通信先特定情報によって特定される端末ID(0020)に対応づけられているグローバルIPアドレス(GIP2)と、が同一のIPアドレスであるか否かを判断し、判断対象となる両者が異なるIPアドレスである場合には、グローバルIPアドレス(GIP2)を選択通信先アドレスとして返信し、判断対象となる両者が同一のIPアドレスである場合には、通信先となる端末装置(200B)に対してプライベートIPアドレス(PIP2)の照会を行い、この照会によって得られたプライベートIPアドレス(PIP2)を選択通信先アドレスとして返信し、
     通信開始要求部(240A)が、返信されてきた前記選択通信先アドレスを用いて通信開始要求(S5)を行うことを特徴とするネットワーク通信システム。
  11.  請求項8に記載のネットワーク通信システムにおいて、
     通信先アドレス返信部(130)が、アドレステーブル(T61~T72)を参照して、接続仲介依頼(S2)を送信した通信元の端末装置(200A)の端末ID(0010)に対応づけられているグローバルIPアドレス(GIP1)と、接続仲介依頼(S2)に含まれている通信先特定情報によって特定される端末ID(0020)に対応づけられているグローバルIPアドレス(GIP2)と、が同一のIPアドレスであるか否かを判断し、判断対象となる両者が異なるIPアドレスである場合には、グローバルIPアドレス(GIP2)のみを通信先アドレスとして返信し、判断対象となる両者が同一のIPアドレスである場合には、通信先となる端末装置(200B)に対してプライベートIPアドレス(PIP2)の照会を行い、グローバルIPアドレス(GIP2)および前記照会によって得られたプライベートIPアドレス(PIP2)の両アドレスを通信先アドレスとして返信し、
     通信開始要求部(240A)が、グローバルIPアドレス(GIP2)のみの返信があった場合には、返信されてきたグローバルIPアドレス(GIP2)を用いて通信開始要求(S5)を行い、前記両アドレスの返信があった場合には、返信されてきたプライベートIPアドレス(PIP2)を用いて通信開始要求(S5)を行うことを特徴とするネットワーク通信システム。
  12.  請求項11に記載のネットワーク通信システムにおいて、
     通信開始要求部(240A)が、プライベートIPアドレス(PIP2)を用いた通信開始要求(S5)に失敗したと判断される場合もしくは失敗が予想される場合には、グローバルIPアドレス(GIP2)を用いた通信開始要求(S5′)を行うことを特徴とするネットワーク通信システム。
  13.  請求項8に記載のネットワーク通信システムにおいて、
     通信先アドレス返信部(130)が、アドレステーブル(T61~T72)を参照して、接続仲介依頼(S2)を送信した通信元の端末装置(200A)の端末ID(0010)に対応づけられているグローバルIPアドレス(GIP1)と、接続仲介依頼(S2)に含まれている通信先特定情報によって特定される端末ID(0020)に対応づけられているグローバルIPアドレス(GIP2)と、が同一のIPアドレスであるか否かを判断し、判断対象となる両者が異なるIPアドレスである場合には、グローバルIPアドレス(GIP2)のみを通信先アドレスとして返信し、判断対象となる両者が同一のIPアドレスである場合には、通信先となる端末装置(200B)に対してプライベートIPアドレス(PIP2)の照会を行い、グローバルIPアドレス(GIP2)および前記照会によって得られたプライベートIPアドレス(PIP2)の両アドレスを通信先アドレスとして返信し、
     通信開始要求部(240A)が、グローバルIPアドレス(GIP2)のみの返信があった場合には、返信されてきたグローバルIPアドレス(GIP2)を用いて通信開始要求(S5)を行い、前記両アドレスの返信があった場合には、まず、返信されてきたプライベートIPアドレス(PIP2)を用いて通信開始要求(S5)をトライし、この通信開始要求(S5)に失敗したと判断される場合もしくは失敗が予想される場合には、グローバルIPアドレス(GIP2)を用いた通信開始要求(S5′)を行うことを特徴とするネットワーク通信システム。
  14.  請求項12または13に記載のネットワーク通信システムにおいて、
     通信開始要求部(240A)が、プライベートIPアドレス(PIP2)を用いて通信開始要求(S5)を行った後、所定のタイムアウト時間内に通信先の端末装置(200B)から通信開始受諾確認(S6)が送信されてこなかったときに、前記通信開始要求(S5)に失敗したと判断することを特徴とするネットワーク通信システム。
  15.  請求項1~14のいずれかに記載のネットワーク通信システムにおいて、
     通信元の端末装置(200A)の通信開始要求部(240A)が、グローバルIPアドレス(GIP)を用いて通信開始要求(S5)を行った場合は、これに応じて以後に行われる、通信先の端末装置(200B)の通信先セッション確立部(230B)と通信元の端末装置(200A)の通信元セッション確立部(260A)との間の相互アクセスはグローバルIPアドレス(GIP)を用いて行い、
     通信元の端末装置(200A)の通信開始要求部(240A)が、プライベートIPアドレス(PIP)を用いて通信開始要求(S5)を行った場合は、これに応じて以後に行われる、通信先の端末装置(200B)の通信先セッション確立部(230B)と通信元の端末装置(200A)の通信元セッション確立部(260A)との間の相互アクセスはプライベートIPアドレス(PIP)を用いて行うことを特徴とするネットワーク通信システム。
  16.  ネットワーク(N)を介して相互に接続可能な複数の端末装置(400,400A-400D)と、前記複数の端末装置間の接続を仲介する接続仲介装置(300)と、を備えたネットワーク通信システムであって、
     前記複数の端末装置(400,400A-400D)には、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、前記接続仲介装置(300)は、前記端末IDを利用して通信元となる端末装置(400B)と通信先となる端末装置(400A)との間の接続を仲介する処理を実行し、
     前記複数の端末装置(400)のそれぞれは、
     自己のネットワーク上での所在を示す所在アドレスを、前記接続仲介装置(300)に対して通知する自己アドレス通知部(450)と、
     自己(400B)を通信元として、通信先の別な端末装置(400A)に対する通信要求(S11)を受け付ける通信要求受付部(420B)と、
     前記通信要求受付部(420B)によって前記通信要求(S11)が受け付けられたときに、前記接続仲介装置(300)に対して、前記通信先の別な端末装置(400A)の端末ID(0010)を特定するための通信先特定情報を含む接続仲介依頼(S12)を送信する接続仲介依頼部(410B)と、
     前記接続仲介装置(300)から、通信元の別な端末装置(400B)のネットワーク上での所在を示す通信元アドレス(AD2)が送信されてきたときに、ネットワーク(N)を介して、前記通信元アドレス(AD2)にアクセスして通信開始要求(S15)を行う通信開始要求部(440A)と、
     前記通信開始要求(S15)に応じて、前記通信元の別な端末装置(400B)から、通信開始受諾確認(S16)が返信されてきたら、前記通信元の別な端末装置(400B)との間に通信セッションを確立して通信(S17)を開始する通信先セッション確立部(460A)と、
     前記通信先の別な端末装置(400A)から、自己(400B)を通信元とする通信開始要求(S15)がなされたら、前記通信先の別な端末装置(400A)に対して通信開始受諾確認(S16)を送信し、前記通信先の別な端末装置(400A)との間に通信セッションを確立して通信(S17)を開始する通信元セッション確立部(430B)と、
     を有し、
     前記接続仲介装置(300)は、
     前記端末装置(400A-400D)のそれぞれについて、前記端末IDと前記所在アドレスとを対応づけたアドレステーブル(T,T61~T72)を格納するアドレステーブル格納部(310)と、
     前記端末装置(400A-400D)の前記自己アドレス通知部(450)からの通知に基づいて、前記アドレステーブル(T,T61~T72)の内容を更新するアドレステーブル更新部(320)と、
     前記端末装置(400B)の前記接続仲介依頼部(410B)から、前記接続仲介依頼(S12)が送信されてきたときに、前記アドレステーブル(T)を参照して、前記接続仲介依頼(S12)に含まれている通信先特定情報によって特定される端末ID(0010)に対応づけられている所在アドレス(AD1)に対して、前記接続仲介依頼(S12)を送信した通信元の端末装置(400B)の端末ID(0020)に対応づけられている所在アドレス(AD2)を通信元アドレスとして送信する通信元アドレス送信部(330)と、
     を有し、
     ルータ(RA,RB)を介してネットワーク(N)に接続されている端末装置の自己アドレス通知部(450)が、自己の所在アドレスとして、ネットワーク上のグローバルIPアドレス(GIP)とともに、前記ルータから付与されたプライベートIPアドレス(PIP)を前記接続仲介装置(300)に対して通知し、
     前記アドレステーブル格納部(310)が、所在アドレスとして、各端末装置のグローバルIPアドレス(GIP)を端末IDに対応づけて格納するとともに、プライベートIPアドレス(PIP)が通知された端末装置については、更に当該プライベートIPアドレス(PIP)を端末IDに対応づけて格納し、
     前記通信元アドレス送信部(330)が、前記アドレステーブル(T,T61~T72)の内容に応じて、グローバルIPアドレス(GIP)もしくはプライベートIPアドレス(PIP)、またはその両方を通信元アドレスとして送信し、
     前記通信開始要求部(440A)が、グローバルIPアドレス(GIP)もしくはプライベートIPアドレス(PIP)、またはその両方を用いて通信開始要求(S15)を行うことを特徴とするネットワーク通信システム。
  17.  請求項16に記載のネットワーク通信システムにおいて、
     通信開始要求部(440A)が、通信元となる端末装置(400B)のグローバルIPアドレス(GIP2)と通信先となる端末装置(400A)のグローバルIPアドレス(GIP1)とが同一のIPアドレスである場合には、プライベートIPアドレス(PIP2)を用いて通信開始要求(S15)を行い、異なるIPアドレスである場合には、グローバルIPアドレス(GIP2)を用いて通信開始要求(S15)を行うことを特徴とするネットワーク通信システム。
  18.  請求項16に記載のネットワーク通信システムにおいて、
     通信元アドレス送信部(330)が、アドレステーブル(T61~T72)を参照して、接続仲介依頼(S12)を送信した通信元の端末装置(400B)の端末ID(0020)に対応づけられているグローバルIPアドレス(GIP2)と、接続仲介依頼(S12)に含まれている通信先特定情報によって特定される端末ID(0010)に対応づけられているグローバルIPアドレス(GIP1)と、が同一のIPアドレスであるか否かを判断し、判断対象となる両者が同一のIPアドレスである場合には、プライベートIPアドレス(PIP1)を選択通信元アドレスとして送信し、判断対象となる両者が異なるIPアドレスである場合には、グローバルIPアドレス(GIP1)を選択通信元アドレスとして送信し、
     通信開始要求部(440A)が、送信されてきた前記選択通信元アドレスを用いて通信開始要求(S15)を行うことを特徴とするネットワーク通信システム。
  19.  請求項16に記載のネットワーク通信システムにおいて、
     通信元アドレス送信部(330)が、送信対象となる所在アドレスとしてグローバルIPアドレス(GIP2)およびプライベートIPアドレス(PIP2)の両アドレスがアドレステーブル(T61~T72)に格納されていた場合に、前記両アドレスを通信元アドレスとして送信し、
     通信開始要求部(440A)が、前記両アドレスの送信があったときに、通信元アドレスとして送信されてきた前記グローバルIPアドレス(GIP2)と、通信先である自己のグローバルIPアドレス(GIP1)と、が同一のIPアドレスであるか否かを判断し、判断対象となる両者が同一のIPアドレスである場合には、プライベートIPアドレス(PIP2)を用いて通信開始要求(S15)を行い、判断対象となる両者が異なるIPアドレスである場合には、グローバルIPアドレス(GIP2)を用いて通信開始要求(S15)を行うことを特徴とするネットワーク通信システム。
  20.  請求項19に記載のネットワーク通信システムにおいて、
     通信開始要求部(440A)が、プライベートIPアドレス(PIP2)を用いた通信開始要求(S15)に失敗したと判断される場合もしくは失敗が予想される場合には、グローバルIPアドレス(GIP2)を用いた通信開始要求(S15′)を行うことを特徴とするネットワーク通信システム。
  21.  請求項16に記載のネットワーク通信システムにおいて、
     通信元アドレス送信部(330)が、送信対象となる所在アドレスとしてグローバルIPアドレス(GIP2)およびプライベートIPアドレス(PIP2)の両アドレスがアドレステーブル(T61~T72)に格納されていた場合に、前記両アドレスを通信元アドレスとして送信し、
     通信開始要求部(440A)が、前記両アドレスの送信があったときに、まず、プライベートIPアドレス(PIP2)を用いて通信開始要求(S15)をトライし、この通信開始要求(S15)に失敗したと判断される場合もしくは失敗が予想される場合には、グローバルIPアドレス(GIP2)を用いた通信開始要求(S15′)を行うことを特徴とするネットワーク通信システム。
  22.  請求項20または21に記載のネットワーク通信システムにおいて、
     通信開始要求部(440A)が、プライベートIPアドレス(PIP2)を用いて通信開始要求(S15)を行った後、所定のタイムアウト時間内に通信元の端末装置(400B)から通信開始受諾確認(S16)が送信されてこなかったときに、前記通信開始要求(S15)に失敗したと判断することを特徴とするネットワーク通信システム。
  23.  ネットワーク(N)を介して相互に接続可能な複数の端末装置(400,400A-400D)と、前記複数の端末装置間の接続を仲介する接続仲介装置(300)と、を備えたネットワーク通信システムであって、
     前記複数の端末装置(400,400A-400D)には、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、前記接続仲介装置(300)は、前記端末IDを利用して通信元となる端末装置(400B)と通信先となる端末装置(400A)との間の接続を仲介する処理を実行し、
     前記複数の端末装置(400)のそれぞれは、
     自己のネットワーク上での所在を示す所在アドレスを、前記接続仲介装置(300)に対して通知する自己アドレス通知部(450)と、
     自己(400B)を通信元として、通信先の別な端末装置(400A)に対する通信要求(S11)を受け付ける通信要求受付部(420B)と、
     前記通信要求受付部(420B)によって前記通信要求(S11)が受け付けられたときに、前記接続仲介装置(300)に対して、前記通信先の別な端末装置(400A)の端末ID(0010)を特定するための通信先特定情報を含む接続仲介依頼(S12)を送信する接続仲介依頼部(410B)と、
     前記接続仲介装置(300)から、通信元の別な端末装置(400B)のネットワーク上での所在を示す通信元アドレス(AD2)が送信されてきたときに、ネットワーク(N)を介して、前記通信元アドレス(AD2)にアクセスして通信開始要求(S15)を行う通信開始要求部(440A)と、
     前記通信開始要求(S15)に応じて、前記通信元の別な端末装置(400B)から、通信開始受諾確認(S16)が返信されてきたら、前記通信元の別な端末装置(400B)との間に通信セッションを確立して通信(S17)を開始する通信先セッション確立部(460A)と、
     前記通信先の別な端末装置(400A)から、自己(400B)を通信元とする通信開始要求(S15)がなされたら、前記通信先の別な端末装置(400A)に対して通信開始受諾確認(S16)を送信し、前記通信先の別な端末装置(400A)との間に通信セッションを確立して通信(S17)を開始する通信元セッション確立部(430B)と、
     を有し、
     前記接続仲介装置(300)は、
     前記端末装置(400A-400D)のそれぞれについて、前記端末IDと前記所在アドレスとを対応づけたアドレステーブル(T,T61~T72)を格納するアドレステーブル格納部(310)と、
     前記端末装置(400A-400D)の前記自己アドレス通知部(450)からの通知に基づいて、前記アドレステーブル(T,T61~T72)の内容を更新するアドレステーブル更新部(320)と、
     前記端末装置(400B)の前記接続仲介依頼部(410B)から、前記接続仲介依頼(S12)が送信されてきたときに、前記アドレステーブル(T)を参照して、前記接続仲介依頼(S12)に含まれている通信先特定情報によって特定される端末ID(0010)に対応づけられている所在アドレス(AD1)に対して、前記接続仲介依頼(S12)を送信した通信元の端末装置(400B)の端末ID(0020)に対応づけられている所在アドレス(AD2)を通信元アドレスとして送信する通信元アドレス送信部(330)と、
     を有し、
     前記自己アドレス通知部(450)が、自己の所在アドレスとして、ネットワーク上のグローバルIPアドレス(GIP)を前記接続仲介装置(300)に対して自発的に通知する自発通知機能と、前記接続仲介装置(300)から照会を受けたときに、ネットワーク(N)への接続に用いられているルータから付与されたプライベートIPアドレス(PIP)を回答する回答通知機能と、を有し、
     前記アドレステーブル格納部(310)が、所在アドレスとして、前記自発通知機能によって通知された各端末装置のグローバルIPアドレス(GIP)を端末IDに対応づけて格納し、
     前記通信元アドレス送信部(330)が、前記アドレステーブル(T,T61~T72)の参照によって必要と判断される場合には、前記通信元となる端末装置(400B)に対してプライベートIPアドレス(PIP2)の照会を行い、グローバルIPアドレス(GIP2)もしくは前記照会によって得られたプライベートIPアドレス(PIP2)、またはその両方を通信元アドレスとして送信し、
     前記通信開始要求部(440A)が、グローバルIPアドレス(GIP)もしくはプライベートIPアドレス(PIP)、またはその両方を用いて通信開始要求(S15)を行うことを特徴とするネットワーク通信システム。
  24.  請求項23に記載のネットワーク通信システムにおいて、
     通信元アドレス送信部(330)が、通信元となる端末装置(400B)のグローバルIPアドレス(GIP2)と通信先となる端末装置(400A)のグローバルIPアドレス(GIP1)とが同一のIPアドレスである場合に、前記通信元となる端末装置(400B)に対してプライベートIPアドレス(PIP2)の照会を行い、
     通信開始要求部(440A)が、通信元となる端末装置(400B)のグローバルIPアドレス(GIP2)と通信先となる端末装置(400A)のグローバルIPアドレス(GIP1)とが同一のIPアドレスである場合には、プライベートIPアドレス(PIP2)を用いて通信開始要求(S15)を行い、異なるIPアドレスである場合には、グローバルIPアドレス(GIP2)を用いて通信開始要求(S15)を行うことを特徴とするネットワーク通信システム。
  25.  請求項23に記載のネットワーク通信システムにおいて、
     通信元アドレス送信部(330)が、アドレステーブル(T61~T72)を参照して、接続仲介依頼(S12)を送信した通信元の端末装置(400B)の端末ID(0020)に対応づけられているグローバルIPアドレス(GIP2)と、接続仲介依頼(S12)に含まれている通信先特定情報によって特定される端末ID(0010)に対応づけられているグローバルIPアドレス(GIP1)と、が同一のIPアドレスであるか否かを判断し、判断対象となる両者が異なるIPアドレスである場合には、グローバルIPアドレス(GIP2)を選択通信元アドレスとして送信し、判断対象となる両者が同一のIPアドレスである場合には、通信元となる端末装置(400B)に対してプライベートIPアドレス(PIP2)の照会を行い、この照会によって得られたプライベートIPアドレス(PIP2)を選択通信元アドレスとして送信し、
     通信開始要求部(440A)が、送信されてきた前記選択通信元アドレスを用いて通信開始要求(S15)を行うことを特徴とするネットワーク通信システム。
  26.  請求項23に記載のネットワーク通信システムにおいて、
     通信元アドレス送信部(330)が、アドレステーブル(T61~T72)を参照して、接続仲介依頼(S12)を送信した通信元の端末装置(400B)の端末ID(0020)に対応づけられているグローバルIPアドレス(GIP2)と、接続仲介依頼(S12)に含まれている通信先特定情報によって特定される端末ID(0010)に対応づけられているグローバルIPアドレス(GIP1)と、が同一のIPアドレスであるか否かを判断し、判断対象となる両者が異なるIPアドレスである場合には、グローバルIPアドレス(GIP2)のみを通信元アドレスとして送信し、判断対象となる両者が同一のIPアドレスである場合には、通信元となる端末装置(400B)に対してプライベートIPアドレス(PIP2)の照会を行い、グローバルIPアドレス(GIP2)および前記照会によって得られたプライベートIPアドレス(PIP2)の両アドレスを通信元アドレスとして送信し、
     通信開始要求部(440A)が、グローバルIPアドレス(GIP2)のみの送信があった場合には、送信されてきたグローバルIPアドレス(GIP2)を用いて通信開始要求(S15)を行い、前記両アドレスの送信があった場合には、送信されてきたプライベートIPアドレス(PIP2)を用いて通信開始要求(S15)を行うことを特徴とするネットワーク通信システム。
  27.  請求項26に記載のネットワーク通信システムにおいて、
     通信開始要求部(440A)が、プライベートIPアドレス(PIP2)を用いた通信開始要求(S15)に失敗したと判断される場合もしくは失敗が予想される場合には、グローバルIPアドレス(GIP2)を用いた通信開始要求(S15′)を行うことを特徴とするネットワーク通信システム。
  28.  請求項23に記載のネットワーク通信システムにおいて、
     通信元アドレス送信部(330)が、アドレステーブル(T61~T72)を参照して、接続仲介依頼(S12)を送信した通信元の端末装置(400B)の端末ID(0020)に対応づけられているグローバルIPアドレス(GIP2)と、接続仲介依頼(S12)に含まれている通信先特定情報によって特定される端末ID(0010)に対応づけられているグローバルIPアドレス(GIP1)と、が同一のIPアドレスであるか否かを判断し、判断対象となる両者が異なるIPアドレスである場合には、グローバルIPアドレス(GIP2)のみを通信元アドレスとして送信し、判断対象となる両者が同一のIPアドレスである場合には、通信元となる端末装置(400B)に対してプライベートIPアドレス(PIP2)の照会を行い、グローバルIPアドレス(GIP2)および前記照会によって得られたプライベートIPアドレス(PIP2)の両アドレスを通信元アドレスとして送信し、
     通信開始要求部(440A)が、グローバルIPアドレス(GIP2)のみの送信があった場合には、送信されてきたグローバルIPアドレス(GIP2)を用いて通信開始要求(S15)を行い、前記両アドレスの送信があった場合には、まず、送信されてきたプライベートIPアドレス(PIP2)を用いて通信開始要求(S15)をトライし、この通信開始要求(S15)に失敗したと判断される場合もしくは失敗が予想される場合には、グローバルIPアドレス(GIP2)を用いた通信開始要求(S15′)を行うことを特徴とするネットワーク通信システム。
  29.  請求項27または28に記載のネットワーク通信システムにおいて、
     通信開始要求部(440A)が、プライベートIPアドレス(PIP2)を用いて通信開始要求(S15)を行った後、所定のタイムアウト時間内に通信元の端末装置(400B)から通信開始受諾確認(S16)が送信されてこなかったときに、前記通信開始要求(S15)に失敗したと判断することを特徴とするネットワーク通信システム。
  30.  請求項16~29のいずれかに記載のネットワーク通信システムにおいて、
     通信先の端末装置(400A)の通信開始要求部(440A)が、グローバルIPアドレス(GIP)を用いて通信開始要求(S15)を行った場合は、これに応じて以後に行われる、通信元の端末装置(400B)の通信元セッション確立部(430B)と通信先の端末装置(400A)の通信先セッション確立部(460A)との間の相互アクセスはグローバルIPアドレス(GIP)を用いて行い、
     通信先の端末装置(400A)の通信開始要求部(440A)が、プライベートIPアドレス(PIP)を用いて通信開始要求(S15)を行った場合は、これに応じて以後に行われる、通信元の端末装置(400B)の通信元セッション確立部(430B)と通信先の端末装置(400A)の通信先セッション確立部(460A)との間の相互アクセスはプライベートIPアドレス(PIP)を用いて行うことを特徴とするネットワーク通信システム。
  31.  請求項1~30のいずれかに記載のネットワーク通信システムにおける複数の端末装置(200,200A-200K;400,400A-400D)を構成する1台の端末装置(200,400)。
  32.  請求項31に記載の1台の端末装置(200,400)としてコンピュータを機能させるプログラム。
  33.  請求項1~30のいずれかに記載のネットワーク通信システムにおける接続仲介装置(100,300)。
  34.  請求項33に記載の接続仲介装置(100,300)としてコンピュータを機能させるプログラム。
PCT/JP2017/030270 2017-08-24 2017-08-24 ネットワーク通信システム WO2019038874A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2017/030270 WO2019038874A1 (ja) 2017-08-24 2017-08-24 ネットワーク通信システム
JP2019537496A JP7056663B2 (ja) 2017-08-24 2017-08-24 ネットワーク通信システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/030270 WO2019038874A1 (ja) 2017-08-24 2017-08-24 ネットワーク通信システム

Publications (1)

Publication Number Publication Date
WO2019038874A1 true WO2019038874A1 (ja) 2019-02-28

Family

ID=65438459

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/030270 WO2019038874A1 (ja) 2017-08-24 2017-08-24 ネットワーク通信システム

Country Status (2)

Country Link
JP (1) JP7056663B2 (ja)
WO (1) WO2019038874A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005323347A (ja) * 2004-04-05 2005-11-17 Matsushita Electric Ind Co Ltd P2p通信を実現するための通信装置、方法、およびプログラム
JP2006135918A (ja) * 2004-11-09 2006-05-25 Masaru Ishii 通信端末の接続方法並びに通信端末の接続システム及び通信端末の接続管理装置、通信端末
JP2010212792A (ja) * 2009-03-06 2010-09-24 Brother Ind Ltd 端末装置とコンピュータプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200605574A (en) * 2004-02-17 2006-02-01 Ginganet Corp Address resolution apparatus, address resolution method and telecommunication system thereof
JP5207270B2 (ja) * 2007-07-12 2013-06-12 Necインフロンティア株式会社 複数のネットワーク間の通信システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005323347A (ja) * 2004-04-05 2005-11-17 Matsushita Electric Ind Co Ltd P2p通信を実現するための通信装置、方法、およびプログラム
JP2006135918A (ja) * 2004-11-09 2006-05-25 Masaru Ishii 通信端末の接続方法並びに通信端末の接続システム及び通信端末の接続管理装置、通信端末
JP2010212792A (ja) * 2009-03-06 2010-09-24 Brother Ind Ltd 端末装置とコンピュータプログラム

Also Published As

Publication number Publication date
JPWO2019038874A1 (ja) 2020-11-19
JP7056663B2 (ja) 2022-04-19

Similar Documents

Publication Publication Date Title
US10038779B2 (en) Intercepting voice over IP communications and other data communications
JP5662745B2 (ja) 企業外の電話を企業内のユーザに関連付けるネットワーク・フレームワーク
KR101368615B1 (ko) 단대단 콜의 구현 방법, 단대단 콜 터미널 및 시스템
JP4834595B2 (ja) 電話システムおよびゲートウェイ装置
JP6787390B2 (ja) ネットワーク通信システム
US7756257B2 (en) SIP enabled device identification
JP6879370B2 (ja) ネットワーク通信システム
JP7056663B2 (ja) ネットワーク通信システム
EP2449723A1 (en) System and method for setting up a call using a global registry
JP6879372B2 (ja) ネットワーク通信システム
JP6879373B2 (ja) ネットワーク通信システム
JP2006333220A (ja) ネットワーク電話システム及びこのネットワーク電話システムのサーバ装置
JP6879371B2 (ja) ネットワーク通信システム
JP7173271B2 (ja) ネットワーク通信システム
JP6988545B2 (ja) ネットワーク通信システム
JP3606445B2 (ja) コンピュータ通信網とコンピュータ通信方法
JP2002290472A (ja) 通信接続先管理システム
JP4191010B2 (ja) 通信システム
JP2005159582A (ja) Ip網を用いたip電話と一般電話(isdn含む)間のサービス方法及びこのための認証メッセージフォーマット

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17922605

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019537496

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17922605

Country of ref document: EP

Kind code of ref document: A1