WO2019038802A1 - Network communications system - Google Patents

Network communications system Download PDF

Info

Publication number
WO2019038802A1
WO2019038802A1 PCT/JP2017/029765 JP2017029765W WO2019038802A1 WO 2019038802 A1 WO2019038802 A1 WO 2019038802A1 JP 2017029765 W JP2017029765 W JP 2017029765W WO 2019038802 A1 WO2019038802 A1 WO 2019038802A1
Authority
WO
WIPO (PCT)
Prior art keywords
communication
address
unit
terminal
terminal device
Prior art date
Application number
PCT/JP2017/029765
Other languages
French (fr)
Japanese (ja)
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 JP2019537433A priority Critical patent/JP6879373B2/en
Priority to PCT/JP2017/029765 priority patent/WO2019038802A1/en
Publication of WO2019038802A1 publication Critical patent/WO2019038802A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

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.
  • NAT Network Address Translation
  • Symmetric NAT symmetrical NAT
  • Port restricted cone NAT in the present application, referred to as “conversated NAT” for convenience
  • the restriction is imposed that only the external host that has received a packet from the internal host in the past can send back the packet.
  • the present invention can further reduce the processing load when mediating the connection between a pair of terminal devices, and also disturb the communication between both terminals even if there is a problem in direct communication between the terminal devices. It is an object of the present invention to provide a network communication system that can be performed without the need to
  • a network communication system comprising a plurality of terminal devices mutually connectable via a network, and a connection mediation device which mediates connection between the plurality of terminal devices.
  • 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
  • the communication session is established between the communication source session establishing unit and the communication destination session establishing unit and the normal communication for transmitting and receiving information directly to the other party fails, or when a failure is expected
  • a detour communication processing unit that executes detour communication that indirectly transmits and receives information to the other party via 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;
  • the bypass communication processing unit sends a request to the bypass communication relay unit.
  • the relay request for the detour communication is made, and the detour communication with the detour communication processing unit of the other party is executed via the detour communication relay unit.
  • a third aspect of the present invention is the network communication system according to the first aspect described above,
  • the detour communication processing unit makes a relay request for detour communication to the detour communication relay unit, and via the detour communication relay unit The detour communication is performed with the detour communication processing unit of the other party.
  • a fourth aspect of the present invention relates to the network communication system according to the first aspect described above,
  • Each of the plurality of terminal devices further includes a NAT type confirmation unit that inquires its own NAT type to the NAT type discrimination device via the network, and obtains a response from the NAT type discrimination device.
  • the self address notifying unit notifies the connection mediating apparatus of its own location address
  • the self address notifying unit also notifies of the answer obtained by the NAT type confirmation unit.
  • the address table storage unit in the connection mediation device further has a function of storing an address table in which the NAT type is associated
  • the address table updating unit in the connection mediation device has a function of updating the NAT type in the address table based on the answer included in the notification from the self address notifying unit.
  • the terminal type of the communication destination is not NAT type, select normal communication as the communication method, and if the terminal type of the communication destination is NAT type, communication is selected.
  • the communication start request unit accesses the communication destination address through the network when the normal communication is selected as the communication method when the communication method is returned together with the communication destination address from the connection mediation device.
  • the bypass communication instruction is issued to the bypass communication processing unit.
  • the self address notifying unit When the self address notifying unit notifies the connection mediating apparatus of its own location address, the self address notifying unit issues a NAT type confirmation instruction to the NAT type confirmation unit; When the NAT type confirmation unit receives a NAT type confirmation instruction, the NAT type confirmation unit inquires the NAT type discrimination device of its own NAT type, and reports the obtained answer to the self address notification unit, The self address notifying unit notifies the connection mediating apparatus of the answer based on the report.
  • a sixth aspect of the present invention is the network communication system according to the first aspect described above,
  • the self address notifying unit notifies the connection mediating apparatus of its own location address
  • the first notification is performed using UDP as a communication protocol, and the first notification fails.
  • a second notification using TCP as a communication protocol is performed
  • the address table storage unit in the connection mediation device further has a function of storing an address table in which communication protocols are associated,
  • UDP is associated as a communication protocol, and update is performed based on the second notification.
  • the communication destination address replying unit in the connection mediation device refers to the address table to confirm the communication protocols of the terminal device of the communication source and the terminal device of the communication destination, and both terminals
  • all communication protocols of the device are UDP
  • normal communication is selected as the communication method
  • at least one of the communication protocols is TCP
  • alternative communication is selected as the communication method and the selected communication Has a function to return the method along with the communication destination address
  • the communication start request unit uses the communication protocol UDP for the communication destination address when the normal communication is selected as the communication method when the communication method is sent back from the connection mediation device together with the communication destination address.
  • bypass communication processing unit If a communication start request is made by access and bypass communication is selected as the communication method, issue a bypass communication instruction to the bypass communication processing unit, When normal communication is selected as the communication method, normal communication using the communication protocol UDP is executed between the communication source session establishing unit and the communication destination session establishing unit, and bypass communication is selected as the communication method. In this case, the detour communication via the connection mediation device is executed between the detour communication processing unit at the communication source and the detour communication processing unit at the communication destination using the communication protocol TCP. .
  • a seventh aspect of the present invention is a network communication system comprising: a plurality of terminal devices mutually connectable via a network; and a connection mediation device that mediates connection between the plurality of terminal devices.
  • 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 When the communication session is established between the communication source session establishing unit and the communication destination session establishing unit and the normal communication for transmitting and receiving information directly to the other party fails, or when a failure is expected, A detour communication processing unit that executes detour communication that indirectly transmits and receives information to the other party via 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
  • the bypass communication processing unit sends a request to the bypass communication relay unit.
  • the relay request for the detour communication is made, and the detour communication with the detour communication processing unit of the other party is executed via the detour communication relay unit.
  • a ninth aspect of the present invention is the network communication system according to the seventh aspect described above,
  • the detour communication processing unit makes a relay request for detour communication to the detour communication relay unit, and via the detour communication relay unit The detour communication is performed with the detour communication processing unit of the other party.
  • a tenth aspect of the present invention is the network communication system according to the seventh aspect described above,
  • Each of the plurality of terminal devices further includes a NAT type confirmation unit that inquires its own NAT type to the NAT type discrimination device via the network, and obtains a response from the NAT type discrimination device.
  • the self address notifying unit notifies the connection mediating apparatus of its own location address
  • the self address notifying unit also notifies of the answer obtained by the NAT type confirmation unit.
  • the address table storage unit in the connection mediation device further has a function of storing an address table in which the NAT type is associated
  • the address table updating unit in the connection mediation device has a function of updating the NAT type in the address table based on the answer included in the notification from the self address notifying unit.
  • the terminal type of the communication source is not NAT type, select normal communication as the communication method, and if the terminal type of the communication source is NAT type, communication is selected.
  • the communication start request unit accesses the communication source address through the network when the normal communication is selected as the communication method when the communication method is returned together with the communication source address from the connection mediation device.
  • the bypass communication instruction is issued to the bypass communication processing unit.
  • the self address notifying unit When the self address notifying unit notifies the connection mediating apparatus of its own location address, the self address notifying unit issues a NAT type confirmation instruction to the NAT type confirmation unit; When the NAT type confirmation unit receives a NAT type confirmation instruction, the NAT type confirmation unit inquires the NAT type discrimination device of its own NAT type, and reports the obtained answer to the self address notification unit, The self address notifying unit notifies the connection mediating apparatus of the answer based on the report.
  • a twelfth aspect of the present invention is the network communication system according to the seventh aspect described above,
  • the self address notifying unit notifies the connection mediating apparatus of its own location address
  • the first notification is performed using UDP as a communication protocol, and the first notification fails.
  • a second notification using TCP as a communication protocol is performed
  • the address table storage unit in the connection mediation device further has a function of storing an address table in which communication protocols are associated,
  • UDP is associated as a communication protocol, and update is performed based on the second notification.
  • the communication source address transmission unit in the connection mediation device refers to the address table to confirm the communication protocols of the terminal device of the communication source and the terminal device of the communication destination, and both terminals
  • all communication protocols of the device are UDP, normal communication is selected as the communication method, and when at least one of the communication protocols is TCP, alternative communication is selected as the communication method and the selected communication Has a function to return the method along with the communication destination address
  • the communication start request unit uses the communication protocol UDP for the communication source address when the normal communication is selected as the communication method when the communication method is returned from the connection mediation device together with the communication source address.
  • bypass communication processing unit If a communication start request is made by access and bypass communication is selected as the communication method, issue a bypass communication instruction to the bypass communication processing unit, When normal communication is selected as the communication method, normal communication using the communication protocol UDP is executed between the communication destination session establishing unit and the communication source session establishing unit, and bypass communication is selected as the communication method. In this case, the detour communication via the connection mediation device is executed between the detour communication processing unit at the communication destination and the detour communication processing unit at the communication source using the communication protocol TCP. .
  • a thirteenth aspect of the present invention is the network communication system according to the fourth, fifth, tenth, or eleventh aspect described above,
  • the NAT type confirmation unit of the terminal device makes an inquiry about the NAT type via the network
  • the NAT type of the terminal device of the inquiry source is determined using the communication related to the inquiry, and the determined NAT type is made inquiry
  • a NAT type discrimination device for performing processing for replying to the NAT type confirmation unit of the original terminal device is further provided.
  • a STUN server is used as a NAT type discrimination device.
  • a fifteenth aspect of the present invention relates to one terminal device constituting a plurality of terminal devices in the network communication system according to the first to twelfth aspects described above.
  • a sixteenth aspect of the present invention is one terminal device according to the fifteenth aspect described above configured by incorporating a program into a computer.
  • a seventeenth aspect of the present invention relates to the connection mediating apparatus in the network communication system according to the first to twelfth aspects described above.
  • An eighteenth aspect of the present invention is the connection mediation device according to the seventeenth aspect described above 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 network communication system of the present invention there are two communication methods as a communication method: normal communication for direct communication between terminal devices and bypass communication for indirect communication via a connection mediation device. Even when there is a problem with direct communication between the terminal devices, it is possible to perform communication between the two without any trouble by using the bypass communication.
  • 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. 15 It is a table
  • 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. 7 is a block diagram showing a specific example in which a communication failure occurs in the basic application of the prior application. It is a block diagram which shows the detailed structure of the terminal device 201 in the network communication system which concerns on Example 1 of this invention.
  • FIG. 7 is a block diagram showing a procedure of establishing a communication session between a communication source terminal device 201A and a communication destination terminal device 201B in the network communication system according to the first embodiment of the present invention.
  • FIG. 24 is a flow chart describing the communication session establishment procedure in the embodiment 1 shown in the block diagram of FIG. 23 in chronological order. It is a block diagram which shows the detailed structure of the terminal device 402 in the network communication system which concerns on Example 2 of this invention. In the network communication system which relates to the execution example 2 of this invention, it is the block diagram which shows the procedure of communication session establishment between communication origin terminal unit 402B and communication destination terminal unit 402A.
  • FIG. 24 is a flow chart describing the communication session establishment procedure in the embodiment 1 shown in the block diagram of FIG. 23 in chronological order. It is a block diagram which shows the detailed structure of the terminal device 402 in the network communication system which concerns on Example 2 of this invention. In the network communication system which relates to the execution example 2 of this invention, it is the block diagram which
  • FIG. 27 is a flow chart describing, in chronological order, a communication session establishment procedure in Example 2 shown in the block diagram of FIG. 26.
  • FIG. It is a block diagram which shows the detailed structure of the terminal device 203 in the network communication system which concerns on Example 3 of this invention. It is a flowchart explaining pre-processing of the communication procedure in the network communication system concerning Example 3 of this invention in a time series. It is a figure which shows an example of the address table produced by the pre-processing shown in FIG.
  • FIG. 14 is a block diagram showing a procedure for establishing a communication session between a communication source terminal device 203A and a communication destination terminal device 203B in the network communication system according to the third embodiment of the present invention.
  • FIG. 17 is a block diagram showing a procedure for establishing a communication session between a communication source terminal device 404B and a communication destination terminal device 404A in the network communication system according to the fourth embodiment of the present invention. It is a flowchart which demonstrates a communication session establishment procedure in Example 4 shown by the block diagram of FIG. 34 in a time series. It is a block diagram which shows the detailed structure of the terminal device 205 in the network communication system which concerns on Example 5 of this invention.
  • FIG. 21 is a block diagram showing a procedure for establishing a communication session between a communication source terminal device 205A and a communication destination terminal device 205B in the network communication system according to the fifth embodiment of the present invention.
  • FIG. 40 is a flowchart illustrating the communication session establishment procedure in the fifth embodiment illustrated in the block diagram of FIG. 39 in chronological order. It is a block diagram which shows the detailed structure of the terminal device 406 in the network communication system which concerns on Example 6 of this invention.
  • FIG. 21 is a block diagram showing a procedure for establishing a communication session between a communication source terminal device 205A and a communication destination terminal device 205B in the network communication system according to the fifth embodiment of the present invention.
  • FIG. 40 is a flowchart illustrating the communication session establishment procedure in the fifth embodiment illustrated in the block diagram of FIG. 39 in chronological order. It is a block diagram which shows the detailed structure of the terminal device 406 in the network communication system which concerns on Example 6 of this invention.
  • FIG. 21 is a block diagram showing
  • 21 is a block diagram showing a procedure for establishing a communication session between a communication source terminal device 406B and a communication destination terminal device 406A in a network communication system according to a sixth embodiment of the present invention. It is a flowchart which demonstrates a communication session establishment procedure in Example 6 shown by the block diagram of FIG. 42 in a time series.
  • 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.
  • FIG. 21 is a block diagram showing a specific example in which a communication failure occurs in the network communication system according to the prior invention basic invention.
  • the figure shows that two sets of terminal devices 200A and 200B are connected to the network N (the Internet) via the routers RA and RB, respectively.
  • the details of the embodiment in which the terminal device is connected to the network using the router are as described in ⁇ 4.
  • many terminal devices are connected to the network N via a router as shown.
  • connection mediation is performed by the connection mediation device 100 between both terminals.
  • Three arrows of thick arrows, thin arrows, and white arrows shown in the figure are, as used in 1,1 and 22, arrows indicating the flow of signals between the blocks. That is, thick arrows L1 and L2 indicate signals exchanged between the terminal device 200A or 200B and the connection mediation device 100, and thin arrows L3 indicate before the communication session is established between the pair of terminal devices 200A and 200B. The flow of signals to be exchanged is shown, and the white arrow L4 shows the flow of signals to be exchanged after establishing a communication session between the pair of terminal devices 200A and 200B.
  • the flow of signals indicated by the three types of arrows L1 to L4 passes through the router and the network N.
  • the bold arrow L1 is the signal flow through the router RA and the network N
  • the bold arrow L2 is the signal flow through the router RB and the network N.
  • a thin arrow L3 and a white arrow L4 indicate the flow of signals through the router RA, the network N, and the router RB.
  • the terminal device connected to the router is assigned the private IP address PIP, but when the signal travels through the router to the Internet N, it is converted to the global IP address GIP.
  • the conversion is also performed for the port number, but the description for the port number is omitted here.
  • the routers RA and RB have a network address translation function (NAT (Network Address Translation) function), and are provided for the communication path connected to the inside (the lower side of the routers RA and RB in the figure).
  • NAT Network Address Translation
  • the private IP address is converted to a global IP address assigned to a communication path connected to the outside (upper side of the routers RA and RB in the figure), and the reverse conversion is also performed.
  • NAT Network Address Translation
  • Each NAT type specifies that address conversion is performed according to each specific specification, and the installer of the router considers an appropriate NAT type for each router in consideration of security problems and usage convenience. Will be set.
  • the NAT types to be noted in implementing the network communication system according to the prior application basic invention are “Symmetric NAT (Symmetric NAT)” and “Port restricted cone NAT”.
  • the “Symmetric NAT (Symmetric NAT)” and the “Port restricted cone NAT” will be referred to as “a gateway NAT” for convenience.
  • a router to which this "gateway type NAT" is set is "For packets sent from an external host to an internal host (internal terminal device), the external host has received a packet from the internal host in the past. Perform address conversion under the restriction that only packets from the host are passed. For this reason, when the network communication system according to the basic application invention is used, communication with the terminal device inside the router where the gateway NAT is set will be hindered.
  • the router RB plays the role of a gateway. That is, when a packet is sent from the Internet N to the terminal device 200B, if the sender is an external host that has received a packet from the terminal device 200B in the past, the router RB takes in the packet. Delivery to the terminal device 200B (internal host), but if it is another external host, it is blocked.
  • the router RB is a router of the gateway NAT
  • the packet transmitted to the terminal device 200B along the thick arrow L2 mainly by sending the connection mediation device 100 passes the router RB without any problem.
  • the packet sent to the terminal device 200B along the thin arrow L3 mainly as the terminal device 200A may be blocked by the router RB. The reason is as follows.
  • each of the terminal devices 200A and 200B in the network communication system repeatedly notifies the connection mediation device 100 of its present location address at a predetermined timing. There is. Therefore, the connection mediation device 100 is "an external host that has received a packet from the internal host (terminal device 200B) in the past", and the packet addressed to the terminal device 200B from the connection mediation device 100 is a router RB. Can pass through. However, since the terminal device 200A does not necessarily correspond to "an external host that has received a packet from the internal host (terminal device 200B) in the past", the packet addressed to the terminal device 200B from the terminal device 200A is a router It may be blocked by RB.
  • connection mediation processing by the network communication system according to the basic application prior art does not function properly.
  • the communication start request S5 from the communication start request unit 240A of the communication source terminal device 200A is blocked by the router and does not reach the communication destination terminal device 200B
  • the communication destination session establishment unit 230B can not establish a communication session, and communication (S7) between both terminals will not be realized.
  • Such a situation is the same as in the case of the second embodiment of the basic application for the prior application described in ⁇ 2.
  • TCP Transmission Control Protocol
  • UDP User Datagram Protocol
  • TCP can be adopted as a communication protocol
  • UDP can also be adopted. Therefore, for example, if a system mainly for voice communication is to be constructed, it is preferable to construct a system using UDP to reduce the overall communication load.
  • UDP packets may be blocked along the way. For example, if a firewall installed between terminals is specified to block UDP packets, the UDP packets can not pass through the firewall and can not reach the other party.
  • communication between terminals may be interrupted depending on the network environment.
  • the present invention has been made to solve such a problem, and even if direct communication between terminals is provided with some restriction due to various factors as described above, communication between the two terminals is also possible. Provide a way to take measures that will allow you to
  • another communication method is premised on direct communication (referred to as "normal communication” herein) between the terminal devices as in the system according to the basic application basic invention
  • normal communication direct communication
  • a method a method called “detour communication” in which communication is indirectly performed via the connection mediation device is prepared. Then, when normal communication fails or when failure in normal communication is expected, communication between both terminals can be performed without trouble by performing detour communication instead of normal communication. ing.
  • each terminal device has a function of notifying the connection mediation device of the current self address at a predetermined timing, so the connection mediation device is under the router of the gateway NAT.
  • the terminal device is also "an external host that has received a packet in the past". Therefore, even if the direct communication between the terminal devices is blocked by the router, the communication between the terminal device and the connection mediation device is not blocked, and the bypass communication will be performed without any problem.
  • connection mediation device needs to relay all the information packets exchanged between the two terminal devices, which increases the processing load. Therefore, when detour communication is performed, the operation effect of "reducing the processing load when mediating connection between a pair of terminal devices", which is a feature of the basic application of the prior application, can not be obtained.
  • the operation based on the normal communication is performed in the same manner as in the basic application of the prior application, and bypassing is performed only for special cases in which communication between terminals is interrupted by the network environment Since communication is to be performed, as a whole, as in the basic application of the prior application, an operation and effect of "reducing the processing load when mediating a connection between a pair of terminal devices" can be obtained, and further, Even when there is a problem in the direct communication between the terminal devices, an inherent effect is obtained that communication between the two can be performed without any problem.
  • Detour communication at the time of failure It is a method of switching to the detour communication when it is found that the normal communication has failed, and the specific contents will be described in detail in ⁇ 6.
  • Bypass communication in the case of local NAT If the NAT type of the router used by each terminal device is checked in advance, and a failure of normal communication is expected due to the presence of the router on which the local NAT is set Instead of normal communication, it is a method of performing bypass communication, and the specific contents will be described in detail in ⁇ 7.
  • FIG. 22 is a block diagram showing a detailed configuration of the terminal device 201 in the network communication system according to the first embodiment of the present invention.
  • the terminal device 201 shown here performs communication by adding some corrections to the communication start request unit 240 and the communication source session establishment unit 260 in the terminal device 200 according to the first embodiment of the prior invention basic invention shown in FIG.
  • the start request unit 241 and the communication source session establishment unit 261 further include a bypass communication processing unit 271 (in the figure, a new component is indicated by a bold line frame block) as a new component.
  • connection intermediation request unit 210 the communication request reception unit 220, the communication destination session establishment unit 230, and the self address notification unit 250, which are the other components, are the same as the respective components of the same reference numerals shown in FIG. The details of are as already described in ⁇ 1.
  • connection mediating apparatus 101 is used instead of the connection mediating apparatus 100 shown in FIG.
  • the connection mediating apparatus 101 is obtained by adding the function of relaying the detour communication to the function of the connection mediating apparatus 100 shown in FIG. 2 and the details of the configuration will be described later.
  • the component indicated by the block in which the first digit in the three-digit code is “1” is the unique component to the first embodiment. .
  • the system according to the first embodiment includes a plurality of terminal devices (for convenience, only one terminal device 201 can be connected to each other via the network N). And a connection mediation device 101 that mediates the connection between the plurality of terminal devices.
  • each terminal device 201 is provided with a terminal ID for mutually identifying each terminal device, and the connection mediation device 101 uses the terminal ID as a communication source terminal device and the like. The processing of mediating the connection with the terminal device to be the communication destination is executed.
  • thick arrows indicate the flow of signals exchanged between the terminal device 201 and the connection mediation device 101
  • thin arrows (except for the arrows inside the block 201) indicate the flow of the pair of terminal devices 201 It shows the flow of signals before establishment of a communication session, which are directly exchanged between the two.
  • the white arrows indicate the flow of signals after communication session establishment, which are directly exchanged between the pair of terminal devices 201.
  • the white arrow indicates the "normal communication”, which indicates the original communication assumed by this system, that is, the communication directly performed between the terminal devices 201.
  • the bold arrow extending from the bypass communication processing unit 271 is written as “detour communication”, but when the above “normal communication” fails, the terminal device 201 mediates connection mediation. It indicates that communication to the other party is performed indirectly via the device 101.
  • the self address notifying unit 250 shown in FIG. 22 is the same component as the self address notifying unit 250 shown in FIG. 2 and notifies the connection mediating apparatus 101 of the location address indicating the location of the self on the network. Perform a function. Since the function has already been described in detail in 11, the description is omitted here.
  • the communication start request unit 241 has an additional function of notifying the detour communication processing unit 271 to that effect when making a communication start request, and the communication source session establishment unit 261 receives the communication start acceptance confirmation. It has an additional function of notifying the detour communication processing unit 271 to that effect.
  • the detour communication processing unit 271 establishes a communication session between the communication source session establishment unit 261 of the communication source terminal device and the communication destination session establishment unit 230 of the communication destination terminal device, and directs the other party directly. It is possible to execute detour communication for indirectly transmitting and receiving information to the other party via the connection mediation device 101 when normal communication (communication indicated by a white arrow in the figure) for transmitting and receiving information fails. . Specifically, after the communication start request unit 241 of the communication source terminal device makes a communication start request addressed to the communication destination terminal device, the communication start acceptance confirmation according to this is not returned within the predetermined timeout setting time. In this case, the bypass communication processing unit 271 performs bypass communication processing.
  • the detour communication processing unit 271 can receive the notification that the communication start request has been made from the communication start request unit 241, the measurement of the elapsed time is started from that point, and within the predetermined timeout setting time. If the communication source session establishment unit 261 does not receive notification that the communication start acceptance confirmation has been received, it determines that the normal communication has failed and starts the bypass communication processing. Specifically, the detour communication processing unit 271 makes a relay request for detour communication to the connection mediation device 101 (as will be described later, the detour communication relay unit 141 therein), and, via the connection mediation device 101, The detour communication with the detour communication processing unit 271 of the other party is executed.
  • FIG. 23 is a block diagram showing a procedure for establishing a communication session between the communication source terminal device 201A and the communication destination terminal device 201B in the network communication system according to the first embodiment of the present invention shown in FIG.
  • the terminal devices 201A and 201B shown are devices having the same configuration as the terminal device 201 shown in FIG. 22, and as in FIG. 4, the components required in the communication source terminal device 201A are processes necessary as a communication source
  • the components (components of the rectangular block) that execute the command are indicated by solid lines, and the components within the communication destination terminal device 200B include the components (components of the double rectangular block) that perform the processing necessary as the communication destination. It is indicated by a solid line, and blocks of other components are indicated by a broken line.
  • the bypass communication processing units 271A and 271B which are the components unique to the first embodiment, are indicated by thick line frame blocks.
  • connection mediating device 101 (shown in FIG. 22) shown in FIG. 23 is obtained by adding a bypass communication relay unit 141 to the connection mediating device 100 shown in FIG.
  • the address table storage unit 110, the address table update unit 120, and the communication destination address return unit 130, which are the other components, are the same as the respective components of the same reference numerals shown in FIG. As stated in ⁇ 1.
  • bypass communication relay unit 141 When the bypass communication relay unit 141 receives a relay request for bypass communication between the bypass communication processing unit 271A of the first terminal device 201A and the bypass communication processing unit 271B of the second terminal device 201B, Is a component that takes information passed between the detour communication processing unit 271A of the terminal device 201A and the detour communication processing unit 271B of the second terminal device 201B and relays the detour communication.
  • the procedure for establishing a normal communication session in this system is the same as the procedure described in ⁇ 1 with reference to FIGS. 4 and 5. That is, when the communication request receiving unit 220A of the communication source terminal device 201A receives itself as the communication source and receives the communication request S1 for another terminal device 201B of the communication destination, the connection mediation requesting unit 210A transmits the connection mediation device 101 to the connection mediation device 101.
  • a connection mediation request S2 including communication destination specification information for specifying the terminal ID "0020" of another terminal device 201B as a communication destination is transmitted.
  • the communication destination address return unit 130 of the connection mediation device 101 is associated with the terminal ID “0020” specified by the communication destination specifying information included in the connection mediation request S2 with reference to the address table.
  • the location address AD2 is returned as the communication destination address (S4).
  • the communication start request unit 241A that has received the reply (S4) accesses the communication destination address AD2 and makes a communication start request S5.
  • the communication start request unit 241A notifies the detour communication processing unit 271A that the communication start request S5 has been made, and the detour communication processing unit 271A measures the elapsed time from that point on. Start.
  • the communication start request S5 which is communication between terminals may be blocked by the network environment and may not reach the communication destination terminal device 201B. The fact that "S5?" Is described in the figure indicates such a possibility.
  • the communication start acceptance confirmation S6 is transmitted to the communication source terminal device 201A.
  • the communication source session establishing unit 261A on the communication source terminal device 201A side notifies the detour communication processing unit 271A to that effect. Then, a communication session is established between the communication source session establishment unit 261A and the communication destination session establishment unit 230B.
  • the communication start acceptance confirmation S6 from the communication destination session establishment unit 230B is not transmitted.
  • the communication start acceptance confirmation S6 may be blocked by the network environment. The fact that "S6?" Is described in the figure indicates such a possibility. In such a case, normal communication between the communication source terminal device 201A and the communication destination terminal device 201B ends in failure.
  • the communication source session establishment unit 261A may receive the communication start acceptance confirmation S6 within the predetermined timeout setting time. Can not. For this reason, in the bypass communication processing unit 271A, the reception report of the communication start acceptance confirmation S6 is not made within the predetermined timeout setting time. Then, the bypass communication processing unit 271A recognizes that the normal communication has failed, and executes the bypass communication process.
  • the detour communication processing unit 271A detects a failure in the normal communication, the detour communication processing unit 271A makes a relay request for the detour communication to the detour communication relay unit 141 and, via the detour communication relay unit 141, The detour communication S8a is executed.
  • the bypass communication processing unit 271A acquires the communication destination address AD2 from the communication start request unit 241A, transmits this to the bypass communication relay unit 141, and makes a relay request.
  • the bypass communication relay unit 141 accesses the communication destination address AD2 and requests the bypass communication processing unit 271B of the communication destination terminal device 201B to start bypass communication.
  • the bypass communication processing unit 271B sends a reply to the effect that the bypass communication processing unit 271B accepts this to the bypass communication relay unit 141, and executes bypass communication S8b. Thereafter, by the relay by the detour communication relay unit 141, detour communication is performed between the two terminal devices 201A and 201B.
  • connection mediation device 101 In this bypass communication, all information packets between the two terminal devices 201A and 201B are exchanged via the connection mediation device 101.
  • the connection mediation device 101 since the terminal device 201A, 201B notifies the connection mediation device 101 of the current self address by the function of the self address notification unit 250A, 250B, the connection mediation device 101 is a router of the gateway NAT. It also means "an external host that has received a packet in the past" for the terminal below, and communication between the connection mediation apparatus 101 and the terminal 201A or 201B is performed by the router of the gateway NAT. It will not be rejected.
  • connection mediation device 101 can be relayed without any problem by relaying the connection mediation device 101. It will be.
  • bypass communication S8a and S8b are performed by TCP, even if normal communication can not be performed by a UDP block, bypass communication is performed. S8a and S8b can be performed without any problem.
  • the bypass communication is a form of communication that imposes a large processing load on the connection mediating apparatus 101. However, since it is an emergency measure in case of failure in normal communication, it is important for the overall processing load of the connection mediating apparatus 101. It has no effect.
  • FIG. 24 is a flow chart explaining the communication session establishment procedure in the embodiment 1 shown in the block diagram of FIG. 23 in chronological order.
  • This flowchart is substantially the same as the flowchart of FIG. 5 showing the communication session establishment procedure in the first embodiment of the prior invention described in ⁇ ⁇ 1.
  • the communication start acceptance confirmation "S6?” Shown in FIG. 23 may not reach the other party due to factors related to the conditions of the network environment.
  • Step S5 in FIG. 24? S6? Shows basically the same procedure as steps S5 and S6 in FIG. 5, but assuming that the signal does not reach the other side due to the network environment factor, the whole is shown in parentheses.
  • Step S6 is processing to determine whether preparation for normal communication has succeeded or failed.
  • the communication start request unit 241A performs step S5?
  • the detour communication processing unit 271A is notified of that and the bypass communication processing unit 271A starts measuring the elapsed time from that point.
  • the process proceeds to step S7, and the communication source session establishment with the communication destination session establishment unit 230B is established. Normal communication is performed by the unit 261A through the process of establishing a communication session (process similar to step S7 in FIG. 5).
  • step S8 the bypass communication processing units 271A and 271B and the bypass communication relay unit 141 perform bypass communication processing (S8a and S8b in FIG. 23).
  • FIG. 25 is a block diagram showing a detailed configuration of the terminal device 402 in the network communication system according to the second embodiment of the present invention.
  • the terminal device 402 shown here performs communication by adding some corrections to the communication start request unit 440 and the communication destination session establishment unit 460 in the terminal device 400 according to the second embodiment of the prior invention basic invention shown in FIG.
  • a start request unit 442 and a communication destination session establishment unit 462 are additionally provided with a bypass communication processing unit 472 (in the figure, a new component is indicated by a bold line frame block) as a new component.
  • connection intermediation request unit 410 the communication request reception unit 420, the communication source session establishment unit 430, and the self address notification unit 450, which are the other components, are the same as the respective components of the same reference numerals shown in FIG. The details of are as already described in ⁇ 2.
  • connection mediation device 302 is used instead of the connection mediation device 300 shown in FIG.
  • the connection mediating apparatus 302 is a function of the connection mediating apparatus 300 shown in FIG. 2 with the function of relaying the detour communication added, and the details of the configuration will be described later.
  • the component indicated by the block in which the first digit in the three-digit code is “2” is the unique component to the second embodiment. .
  • the system according to the second embodiment is similar to the system of the prior invention shown in FIG. And a connection mediation device 302 that mediates the connection between the plurality of terminal devices.
  • each terminal device 402 is assigned a terminal ID for mutually identifying each terminal device, and the connection mediation device 302 uses the terminal ID as a communication source terminal device The processing of mediating the connection with the terminal device to be the communication destination is executed.
  • the self address notifying unit 450 is a component identical to the self address notifying unit 450 shown in FIG. 7 and has a function of notifying the connection mediating apparatus 302 of a location address indicating the location of the own on the network. Play. The function has already been described in ⁇ 2 and thus the description is omitted here.
  • the communication start request unit 442 makes a communication start request, it has an additional function of notifying the detour communication processing unit 472 to that effect, and the communication destination session establishment unit 462 receives the communication start acceptance confirmation. When it does, it has the additional function which notifies that to the detour communication processing section 472.
  • the detour communication processing unit 472 establishes a communication session between the communication source session establishment unit 430 of the communication source terminal device and the communication destination session establishment unit 462 of the communication destination terminal device, and directly communicates to the other party. It is possible to execute detour communication for indirectly transmitting and receiving information to the other party via the connection mediation device 302 when normal communication (communication indicated by a white arrow in the figure) for transmitting and receiving information fails. . Specifically, after the communication start request unit 442 of the communication destination terminal device issues a communication start request to the communication source terminal device, the communication start acceptance confirmation according to this is not returned within the predetermined timeout setting time. In this case, the bypass communication processing unit 472 performs bypass communication processing.
  • the detour communication processing unit 472 can receive the notification that the communication start request has been made from the communication start request unit 442, the measurement of the elapsed time is started from that point in time and a predetermined timeout setting time is set. If the communication destination session establishment unit 462 does not receive notification that the communication start acceptance confirmation has been received, it determines that the normal communication has failed, and starts the bypass communication processing. Specifically, the bypass communication processing unit 472 makes a relay request for bypass communication to the connection mediating device 302 (as will be described later, the bypass communication relay unit 342 therein), and, via the connection mediating device 302, The bypass communication with the other party's bypass communication processing unit 472 is performed.
  • FIG. 26 is a block diagram showing a procedure for establishing a communication session between the communication source terminal device 402B and the communication destination terminal device 402A in the network communication system according to the second embodiment of the present invention shown in FIG.
  • the terminal devices 402A and 402B shown are devices having the same configuration as the terminal device 402 shown in FIG. 25, and as in FIG. 8, the components in the communication source terminal device 402B are processes necessary as a communication source
  • the components (components of the rectangular block) that execute the command are indicated by solid lines
  • the components within the communication destination terminal device 402A are the components (components of the double rectangular block) that perform processing necessary as the communication destination. It is indicated by a solid line, and blocks of other components are indicated by a broken line.
  • the bypass communication processing units 472A and 472B which are components unique to the second embodiment, are indicated by bold line frame blocks.
  • the connection mediating device 302 (shown in FIG. 25) shown in FIG. 26 is obtained by adding a bypass communication relay unit 342 to the connection mediating device 300 shown in FIG.
  • the address table storage unit 310, the address table update unit 320, and the communication destination address return unit 330, which are the other components, are the same as the respective components of the same reference numerals shown in FIG. As stated in ⁇ 2.
  • the bypass communication relay unit 342 performs the first relay communication relay unit 342A. Is a component that takes information passed between the detour communication processing unit 472A of the terminal device 402A and the detour communication processing unit 472B of the second terminal device 402B and relays the detour communication.
  • the normal communication session establishment procedure in this system is the same as the procedure described in ⁇ 2 with reference to FIGS. 8 and 9. That is, when the communication request receiving unit 420B of the communication source terminal device 402B receives the communication request S11 for another terminal device 402A with the communication destination as the communication source, the connection mediation request unit 410B sends the connection mediation device 302 A connection mediation request S12 including communication destination specification information for specifying the terminal ID "0010" of another terminal device 402A as a communication destination is transmitted.
  • the communication source address transmission unit 330 of the connection mediation device 302 refers to the address table and is associated with the terminal ID “0010” specified by the communication destination specification information included in the connection mediation request S12.
  • the location address AD1 is recognized as the communication destination address, and the location address AD2 associated with the terminal ID “0020” of the terminal device 402B of the communication source that transmitted the connection mediation request S12 to the communication destination address AD1 It transmits as a communication source address (S14).
  • the communication start request unit 442A in the communication destination terminal device 402A that has received the transmission of the communication source address AD2 (S14) accesses the communication source address AD2 and makes a communication start request S15.
  • the communication start request unit 442A notifies the detour communication processing unit 472A that the communication start request S15 has been made, and the detour communication processing unit 472A measures the elapsed time from that point on. Start.
  • the communication start request S15 which is communication between terminals, may be blocked by the network environment and may not reach the communication source terminal device 402B. The fact that "S15?" Is described in the figure indicates such a possibility.
  • the communication start acceptance confirmation S16 is transmitted to the communication destination terminal device 402A.
  • the communication destination session establishing unit 462A on the communication destination terminal device 402A side notifies the detour communication processing unit 472A to that effect. Then, a communication session is established between the communication destination session establishment unit 462A and the communication source session establishment unit 430B.
  • the communication start acceptance confirmation S16 from the communication source session establishment unit 430B is not transmitted.
  • the communication start acceptance confirmation S16 may be blocked by the network environment even though the communication start request S15 has been successfully received.
  • the fact that "S16?" Is described in the figure indicates such a possibility. In such a case, the normal communication between the communication source terminal device 402B and the communication destination terminal device 402A ends in failure.
  • the communication destination session establishing unit 462A may receive the communication start acceptance confirmation S16 within a predetermined timeout setting time Can not. For this reason, in the bypass communication processing unit 472A, the reception report of the communication start acceptance confirmation S16 is not made within the predetermined timeout setting time. Then, the bypass communication processing unit 472A recognizes that the normal communication has failed, and executes the bypass communication process.
  • the detour communication processing unit 472A when the detour communication processing unit 472A detects a failure in the normal communication, the detour communication processing unit 472A makes a relay request for the detour communication to the detour communication relay unit 342 and, via the detour communication relay unit 342, The detour communication S18a is executed.
  • the bypass communication processing unit 472A acquires the communication source address AD2 from the communication start request unit 442A, transmits this to the bypass communication relay unit 342, and makes a relay request.
  • the bypass communication relay unit 342 accesses the communication source address AD2, and requests the bypass communication processing unit 472B of the communication source terminal device 402B to start bypass communication.
  • the bypass communication processing unit 472B sends a reply to the effect that the bypass communication processing unit 472B accepts this to the bypass communication relay unit 342, and executes the bypass communication S18b. Thereafter, by means of relaying by the detour communication relay unit 342, detour communication is performed between the terminal devices 402A and 402B.
  • connection mediation device 302. In this bypass communication, all information packets between the two terminal devices 402A and 402B are exchanged via the connection mediation device 302.
  • the terminal device 402A, 402B notifies the connection mediation device 302 of the current self-address by the function of the self-address notification unit 450A, 450B. It also means "an external host that has received a packet in the past" for the terminal below. Therefore, even if direct communication between the two terminal devices 402A and 402B is blocked by the router of the gateway NAT, communication between the two terminal devices 402A and 402B is relayed without failure by the connection mediation device 302 It will be.
  • bypass communication S18a and S18b are performed by TCP, even if normal communication can not be performed by the UDP block, bypass communication S18a and S18b can be performed without any problem.
  • the bypass communication is a form of communication that imposes a large processing load on the connection mediation device 302, but since it is an emergency measure in case of failure in normal communication, it is important for the overall processing load of the connection mediation device 302 It has no effect.
  • FIG. 27 is a flow chart describing the communication session establishment procedure in the second embodiment shown in the block diagram of FIG. 26 in chronological order.
  • This flow chart is substantially the same as the flow chart of FIG. 9 showing the communication session establishment procedure in the second embodiment of the prior invention described in ⁇ 2.
  • the communication start acceptance confirmation "S16?” Shown in FIG. 26 may not reach the other party due to factors related to the conditions of the network environment.
  • Step S15 in FIG. , S 16? Shows basically the same procedure as steps S15 and S16 in FIG. 9, but assuming that the signal does not reach the other side due to the network environment factor, the whole is shown in parentheses.
  • Step S16 is processing to determine whether preparation for normal communication has succeeded or failed.
  • the communication start request unit 442A performs step S15?
  • the detour communication processing unit 472A is notified of that and the bypass communication processing unit 472A starts measuring the elapsed time from that point.
  • the process proceeds to step S17, and the communication destination session establishment is established with the communication source session establishment unit 430B.
  • a normal communication is performed by the unit 462A through the process of establishing a communication session (the same process as step S17 in FIG. 9).
  • step S18 bypass communication processing is performed by the bypass communication processing units 472A and 472B and the bypass communication relay unit 342 (S18a and S18b in FIG. 26).
  • the detour communication processing units 271 and 472 perform the communication start acceptance confirmation S6 according to the communication start request units 241 and 442 after the communication start request units 241 and 442 perform the communication start requests S5 and S15.
  • S16 is not returned within a predetermined time-out setting time, it is determined that the normal communication has failed, and the detour communication is executed.
  • the modified example described here is a slight modification of the method of determining that normal communication has failed.
  • the communication start request unit 241 or 442 notifies the bypass communication processing unit 271 or 472 of the communication start request, or the session establishing unit 261 or 462 notifies the bypass communication processing unit 271 or 472 of the communication start acceptance confirmation Is unnecessary. Instead, an acknowledgment from the other party to the communication start request S5, S15 is received, and when the acknowledgment is not obtained, it is determined that the normal communication has failed.
  • the communication destination The communication destination session establishing unit 230B on the side of the terminal device 201B is made to have a specification in which an acknowledgment to the communication start request S5 is returned. That is, when the communication destination session establishing unit 230B receives the communication start request S5, it sends an acknowledge signal back to the communication start request unit 241A, and the communication start request unit 241A receives this acknowledge signal. Thus, it can be recognized that the communication start request S5 has arrived at the other end.
  • the communication start request unit 241A can determine that the normal communication has failed if the acknowledgment is not returned. Therefore, the communication start request unit 241A instructs the detour communication processing unit 271A to perform detour communication when the acknowledgment is not returned. Upon receiving such an instruction, the detour communication processing unit 271A makes a relay request for detour communication to the detour communication relay unit 141, and, via the detour communication relay unit 141, with the other detour communication processing unit 271B. It is sufficient to execute the detour communication of
  • the communication destination terminal device A specification is made such that an acknowledgment to the communication start request S15 is returned from the communication source session establishment unit 430B on the 402B side. That is, when the communication source session establishment unit 430B receives the communication start request S15, the communication start request unit 442A sends back an acknowledge signal to the communication start request unit 442A, and the communication start request unit 442A receives this acknowledge signal. Thus, it can be recognized that the communication start request S15 has arrived at the other end.
  • the communication start request unit 442A can determine that the normal communication has failed when the acknowledgment is not returned. Therefore, the communication start request unit 442A instructs the detour communication processing unit 472A to perform detour communication when the acknowledgment is not returned. Upon receiving such an instruction, the detour communication processing unit 472A makes a relay request for detour communication to the detour communication relay unit 342, and, via the detour communication relay unit 342, exchanges it with the detour communication processing unit 472B of the other party. It is sufficient to execute the detour communication of
  • the first and second embodiments described in 6 6 adopt a method of detecting the failure and switching to the bypass communication when the normal communication fails in the system according to the basic application prior art.
  • a failure is predicted to perform normal communication, this is detected in advance, and a method of performing bypass communication instead of normal communication is employed. is there. More specifically, when there is a possibility that the normal communication is interrupted by the router of the gateway NAT, this is detected in advance, and the method is switched to the bypass communication instead of the normal communication.
  • each of the terminal devices 200A and 200B is generally connected to the Internet N via the routers RA and RB.
  • the terminal device connected below is set to “An external device has received a packet that it has transmitted in the past. Only packets from the host can be received, and packets from other external hosts are rejected by the router of the relevant NAT.
  • a NAT type determination device is set on the Internet N so that each terminal device can inquire the type of router to which it is connected.
  • this NAT type determination device uses the communication related to the inquiry to determine the NAT type of the router to which the terminal device of the inquiry source is connected. A determination is made and processing is performed to reply the determined NAT type to the terminal device of the inquiry source.
  • the terminal device 200A is connected to itself by querying this NAT type determination device.
  • the NAT type determination device replies the NAT type of the router RA thus determined to the query source terminal device 200A via the router RA.
  • the terminal device 200A can know the NAT type of the router RA to which the terminal device 200A is connected.
  • the terminal device 200B can know the NAT type of the router RB to which the terminal device 200B is connected by making a query to the NAT type determination device in the same manner.
  • a NAT type of the router to which the terminal device itself is connected (this application calls it's own NAT type) is determined, and this is answered to the inquiry source terminal device
  • a publicly known device called a STUN (Session Traversal Utilities for NATs) server can be used as a NAT type discrimination device that performs processing.
  • STUN server is originally a server installed to enable communication using the STUN protocol, it can be used as a NAT type discrimination device in the present invention. Since this STUN server is a known device that has already been widely used, the description of its configuration and specific processing contents is omitted here.
  • each of the terminal devices 200A and 200B is a NAT type of the router RA or RB to which it is connected.
  • the connection intermediation device 100 may be notified of the NAT type of the router RA or RB to which it is connected.
  • the connection mediation apparatus 100 checks both NAT types for the router to which both terminal apparatuses are connected. It is possible to know whether there is a router of the NAT type, and if normal communication is performed between the two terminals, the normal communication fails due to the router of the NAT type existing between the two terminals. You can expect to do. Therefore, the connection mediating apparatus 100 can give an instruction to the terminal apparatus to perform bypass communication instead of normal communication when failure of the normal communication is predicted due to the presence of the router of the gateway NAT. . The terminal device that has received such an instruction will perform bypass communication in the same manner as the method described in ⁇ 6.
  • the NAT type (the own NAT type) of the router to which it is connected is also used. I will notify at the same time. Then, when the connection mediation device receives a connection mediation request from the terminal device at the communication source to the terminal device at the communication destination, a failure in normal communication is expected due to the presence of the router of the gateway NAT between both terminals.
  • the bypass communication is instructed, and the bypass communication is performed between the two terminals based on the instruction.
  • FIG. 7 An example applied to the embodiment of FIG. 7 (FIG. 7) will be described as a fourth embodiment.
  • various modifications described in ⁇ 3 and 44 can also be applied to the third and fourth embodiments described below.
  • Each component shown as a block in each of the third and fourth embodiments is actually realized by a dedicated program incorporated in a computer, like the system according to the prior application basic invention described above. It will be
  • FIG. 28 is a block diagram showing a detailed configuration of the terminal device 203 in the network communication system according to the third embodiment of the present invention.
  • the terminal device 203 shown here adds some corrections to the communication start request unit 240 and the self address notification unit 250 in the terminal device 200 according to the first embodiment of the prior invention basic invention shown in FIG.
  • a request unit 243 and a self address notification unit 253 are additionally provided with a detour communication processing unit 273 and a NAT type confirmation unit 283 (in the figure, a new component is indicated by a bold line frame block) as new components. .
  • connection intermediation request unit 210 the communication request reception unit 220, the communication destination session establishment unit 230, and the communication source session establishment unit 260, which are other components, are the same as the components of the same reference numerals shown in FIG. The details of the function are as already described in ⁇ 1.
  • connection mediation device 103 is used instead of the connection mediation device 100 shown in FIG.
  • the connection mediation device 103 is obtained by adding the function of instructing the communication method (whether normal communication or bypass communication) and the function of relaying bypass communication to the functions of the connection mediation device 100 shown in FIG. Details of the configuration will be described later.
  • the component indicated by the block in which the first digit in the three-digit code is “3” is a component unique to the third embodiment. .
  • the NAT type discrimination device 500 is shown in FIG. As described above, when the terminal device 203 makes an inquiry about the NAT type through the network N, the NAT type discrimination device 500 uses the communication related to the inquiry to make the NAT type of the terminal device 203 of the inquiry source And the process of returning the determined NAT type to the terminal device of the inquiry source. In fact, as described above, the STUN server can be used as the NAT type discrimination device 500.
  • the illustrated third embodiment is an example in which a STUN server used separately from the network communication system according to the present invention is used as the NAT type determination apparatus 500 according to the present invention.
  • a dedicated STUN server for the present invention may be prepared in the server device constituting the connection mediation device 103.
  • the connection mediating apparatus 103 and the NAT type determination apparatus 500 (a dedicated STUN server for the present invention) will be incorporated in the same server apparatus, and the NAT type determination apparatus 500 may become one of the components of the system.
  • the system according to the third embodiment has a plurality of terminal devices mutually connectable via the network N (in FIG. And a connection mediation device 103 which mediates the connection between the plurality of terminal devices.
  • each terminal device 203 is assigned a terminal ID for mutually identifying each terminal device, and the connection mediation device 103 uses the terminal ID as a communication source terminal device and The processing of mediating the connection with the terminal device to be the communication destination is executed.
  • the thick arrows in this figure indicate the flow of signals exchanged between the terminal device 203 and the connection mediation device 103, and the thin arrows (except for the arrows inside the block 203) indicate between the pair of terminal devices 203.
  • the white arrows indicate the flow of signals after the communication session is established, which are directly exchanged between the pair of terminal devices 203.
  • the white arrow indicates the “normal communication”, which indicates the original communication assumed by this system, that is, the communication directly performed between the terminal devices 203.
  • the self address notifying unit 253 shown in FIG. 28 has a function of notifying the connection mediating apparatus 103 of the location address indicating the location on the network, as the self address notifying unit 250 shown in FIG.
  • the self address notification function is as already described in detail in ⁇ 1.
  • the self-address notifying unit 253 also notifies the connection mediation device 103 of the NAT type of the router (not shown in FIG. 28) to which the self is connected. It has additional functions.
  • the NAT type confirmation unit 283 is a component having a function of inquiring the NAT type discrimination device 500 of its own NAT type via the network N and obtaining an answer from the NAT type discrimination device 500.
  • the thick dashed-dotted arrows in the figure indicate the flow of inquiry and reply signals exchanged between the NAT type confirmation unit 283 and the NAT type discrimination device 500. Of course, this signal will be exchanged via a router and network N not shown.
  • the pre-processing shown in the flowchart of FIG. 29 is performed.
  • the own address notification unit 253 notifies the connection intermediation device 103 of its own location address (as described above, the notification of the own address is executed at a predetermined predetermined timing).
  • an NAT type confirmation instruction is issued to the NAT type confirmation unit 283.
  • the NAT type confirmation unit 283 inquires of the NAT type discrimination device 500 about its own NAT type (thick dashed-dotted arrow in FIG. 28).
  • the NAT type discrimination device 500 uses the communication related to the inquiry to NAT the terminal device 203 of the inquiry source.
  • the type (the NAT type of the router to which the terminal device 203 is connected) is determined, and in step S33, the determined NAT type is returned to the NAT type confirmation unit 203 of the terminal device 203 of the inquiry source. Since the specific processing method is known as processing of the STUN server, detailed description will be omitted here.
  • the NAT type confirmation unit 283 reports the response (NAT type) obtained in step S33 to the self address notification unit 253.
  • the self-address notifying unit 253 that has received the report notifies the connection mediation device 103 of the response (NAT type) obtained in step S33 along with the self-address in step S35.
  • the self-address notifying unit 253 when notifying the connection mediating apparatus 103 of its own location address, the self-address notifying unit 253 also notifies of the answer obtained by the NAT type confirmation unit 283. . Therefore, in FIG. 28, the thick arrow pointing from the own address notification unit 253 to the network N indicates the information of the location address of the terminal device 203 and the NAT type information of the router (not shown) to which the terminal device 203 is connected.
  • the signal contains
  • the address table in the connection mediation device 103 is added to the terminal ID and the location address. Furthermore, information in which the NAT type is associated is stored. That is, in step S36 of the flowchart of FIG. 29, the address table updating unit 123 in the connection mediating apparatus 103 updates the address table including the NAT type.
  • FIG. 30 shows an address table T60 created by such updating. Similar to the address table T shown in FIG. 6, this address table T60 indicates the location address notified from the four sets of terminal devices, but in addition to the location address, the NAT type information (right column) is also included. It is recorded.
  • NAT type types such as “Full cone NAT”, “Restricted cone NAT”, “Port restricted cone NAT”, “Symmetric NAT” are put to practical use, but as described in ⁇ ⁇ 5, Since the "block type NAT" ("Symmetric NAT” and “Port restricted cone NAT") obstructing normal communication, in the address table T60 shown in FIG. 30, the NAT type of the connected router is "section size For the terminal device of type NAT, data of "local type” is recorded, and for the other terminal devices, data of "non-local type” is recorded. Of course, data indicating the actual NAT type such as "Full cone NAT” may be recorded.
  • Preparation of communication in the network communication system according to the third embodiment shown in FIG. 28 is completed when the pre-processing shown in the flowchart of FIG. 29 is completed. Since the notification of the location address and the NAT type by the self address notification unit 253 is repeatedly executed at a predetermined timing, the latest location address and NAT type are always stored in the address table T60 in the connection mediation device 103 for each terminal device. It will be stored. Therefore, when the connection mediation device 103 receives a connection mediation request from a specific communication source terminal device to a specific communication destination terminal device, the connection mediation device 103 refers to the address table T60 and performs normal communication between both terminals.
  • the thick arrow going from the network N to the communication start request unit 243 is a signal including the information of the communication method together with the information of the communication destination address.
  • the communication start request unit 243 determines that the normal communication is selected as the communication method. Similarly, the communication destination address is accessed via the network N to make a communication start request. The subsequent communication procedure is as described in ⁇ 1. On the other hand, when the alternative communication is selected as the communication method, the alternative communication instruction is issued to the alternative communication processing unit 273.
  • the bypass communication processing unit 273 is a component that performs bypass communication via the connection mediation device 103 as in the bypass communication processing unit 271 in the first embodiment described in ⁇ 6. That is, the bypass communication processing unit 273 performs indirect information transmission / reception with the other party via the connection mediation device 103 when failure of normal communication (communication indicated by the white arrow in the figure) is expected. Run. As described above, failure prediction is performed in the connection mediating apparatus 103. When the communication start request unit 243 receives a communication method for selecting bypass communication from the connection mediating apparatus 103, this corresponds to the case where the connection mediating apparatus 103 predicts a failure.
  • the communication start request unit 243 instructs the bypass communication processing unit 273 to perform bypass communication, and the bypass communication processing unit 273 executes bypass communication.
  • the detour communication processing unit 273 makes a relay request for detour communication to the connection mediation device 103 (as will be described later, the detour communication relay unit 143 therein), and, via the connection mediation device 103, The detour communication with the detour communication processing unit 273 of the other party is executed.
  • FIG. 31 is a block diagram showing a procedure for establishing a communication session between the communication source terminal device 203A and the communication destination terminal device 203B in the network communication system according to the third embodiment of the present invention shown in FIG.
  • the terminal devices 203A and 203B shown are devices having the same configuration as the terminal device 203 shown in FIG. 28.
  • the components in the communication source terminal device 203A are processes necessary as a communication source.
  • the components (components of the rectangular block) that execute the command are indicated by solid lines
  • the components within the communication destination terminal device 203B are the components (components of the double rectangular block) that perform the processing necessary as the communication destination. It is indicated by a solid line, and blocks of other components are indicated by a broken line.
  • the bypass communication processing units 273A and 273B and the NAT type confirmation units 283A and 283B which are components unique to the third embodiment, are indicated by thick line frame blocks.
  • connection mediating apparatus 103 (shown in FIG. 28) shown in FIG. 31 adds the bypass communication relay section 143 to the connection mediating apparatus 100 shown in FIG.
  • the table update unit 120 and the communication destination address return unit 130 are configured as the address table storage unit 113, the address table update unit 123, and the communication destination address return unit 133 by providing some additional functions.
  • the bypass communication relay unit 143 in the connection mediation device 103 has a relay request for bypass communication between the bypass communication processing unit 273A of the first terminal device 203A and the bypass communication processing unit 273B of the second terminal device 203B It is a component that takes information passed between the detour communication processing unit 273A of the first terminal device 203A and the detour communication processing unit 273B of the second terminal device 203B and relays the detour communication.
  • the address table storage unit 113 in the connection mediation device 103 further has a function of storing an address table T60 in which the NAT type is associated in addition to the terminal ID and the location address. Then, the address table updating unit 123 in the connection mediation device 103 has an additional function of updating the NAT type in the address table T60 based on the information indicating the NAT type included in the notification from the self address notifying unit 253. .
  • connection mediation request S2 is transmitted from the connection mediation request unit 210A in the communication source terminal device 203A
  • the communication destination address replying unit 133 in the connection mediation device 103 refers to the address table T60 and performs connection.
  • the location address AD2 associated with the terminal ID "0020" specified by the communication destination specification information included in the intermediation request S2 is returned as the communication destination address, and the NAT type of the terminal device 203B of the communication destination is confirmed.
  • the NAT type of the terminal device 203B at the communication destination is not the gateway NAT type, normal communication is selected as the communication method, and if the NAT type of the terminal device 203B at the communication destination is the gateway NAT type It has a function of selecting the bypass communication as the communication method and returning the selected communication method together with the communication destination address.
  • the NAT type of the terminal device 203B (terminal ID: 0020) of the communication destination is "sister type".
  • the communication destination address reply unit 133 selects bypass communication as the communication method.
  • the communication destination terminal device 203B directly performs communication start request S5 from the communication source terminal device 203A to the communication destination terminal device 203B as described in 5 5, the communication destination terminal device 203B The router RB may block the communication start request S5. In this case, the communication destination address reply unit 133 selects bypass communication as the communication method.
  • the communication start request unit 243A in the communication source terminal device 203A performs normal communication processing when the communication destination address return unit 133 returns a response for selecting “normal communication”. Specifically, when the communication start request unit 243A accesses the communication destination address AD2 and makes a communication start request S5, the communication destination session establishment unit 230B of the other party confirms the communication start acceptance to the communication source session establishment unit 260A. S6 is sent. Thus, a communication session is established between the communication source session establishment unit 260A and the communication destination session establishment unit 230A.
  • the communication start request unit 243A performs a bypass communication process. That is, instead of making the communication start request S5, the communication start request unit 243A sends a detour communication instruction S5 'to the detour communication processing unit 273A. Upon receiving the detour communication instruction S5 ', the detour communication processing unit 273A makes a relay request for detour communication to the detour communication relay unit 143, and via the detour communication relay unit 143, the detour communication processing unit 273B The detour communication S8a is executed.
  • the bypass communication processing unit 273A acquires the communication destination address AD2 from the communication start request unit 243A, transmits this to the bypass communication relay unit 143, and makes a relay request.
  • the bypass communication relay unit 143 accesses the communication destination address AD2 and requests the bypass communication processing unit 273B of the communication destination terminal device 203B to start bypass communication.
  • the bypass communication processing unit 273B sends a reply to the effect that the bypass communication processing unit 273B accepts this to the bypass communication relay unit 143, and executes bypass communication S8b. Thereafter, by the relay by the detour communication relay unit 143, detour communication is performed between the terminal devices 203A and 203B.
  • bypass communication all information packets between the two terminal devices 203A and 203B are exchanged via the connection mediation device 103. As described in 55, even if direct communication between both terminal devices 203A and 203B is blocked by the router of the gateway NAT, bypass communication between both terminal devices 203A and 203B is performed by the connection mediation device 103. Since it becomes communication to relay, it is performed without trouble.
  • FIG. 32 is a flow chart explaining the communication session establishment procedure in the third embodiment shown in the block diagram of FIG. 31 in chronological order.
  • the procedure of normal communication in this flowchart is substantially the same as the flowchart of FIG.
  • step S1 the communication request acceptance process by the communication request acceptance unit 220A is performed, and in the subsequent step S2, a connection intermediation request is performed by the connection intermediation request unit 210A.
  • step S3 the communication destination address reply unit 133 refers to the address table T60 stored in the address table storage unit 113, and in step S4a, the communication destination address reply unit 133 causes the communication start request unit 243A to , Communication destination address and communication method are returned.
  • the communication start request unit 243A that has received the reply selects one of the two processing processes in step S4b.
  • step S5 the communication start request unit 243A sends a communication start request S5 to the communication destination terminal device 203B.
  • the communication destination session establishing unit 230B receives the communication start request S5, and transmits the communication start acceptance confirmation S6 to the communication source terminal device 203A in step S6.
  • step S7 the communication session between the communication destination session establishing unit 230B and the communication source session establishing unit 260A is established, and the normal communication S7 is performed.
  • step S5 ′ when “rerouting communication” is instructed as the communication method, the process proceeds to step S5 ′, and the communication start request unit 243A gives the detour communication instruction to the detour communication processing unit 273A. Then, in the subsequent step S8, the bypass communication process is executed. That is, the detour communication processing is performed by the detour communication processing units 273A and 273B and the detour communication relay unit 143 (S8a and S8b in FIG. 31).
  • FIG. 33 is a block diagram showing a detailed configuration of the terminal device 404 in the network communication system according to the fourth embodiment of the present invention.
  • the terminal device 404 shown here adds some corrections to the communication start request unit 440 and the self address notification unit 450 in the terminal device 400 according to the second embodiment of the prior invention basic invention shown in FIG.
  • a request unit 444 and a self address notification unit 454 are additionally provided with a detour communication processing unit 474 and a NAT type confirmation unit 484 (in the figure, a new component is indicated by a bold line frame block) as new components. .
  • connection intermediation request unit 410 the communication request reception unit 420, the communication source session establishment unit 430, and the communication destination session establishment unit 460, which are the other components, are the same as the components of the same reference numerals shown in FIG. The details of the function are as already described in ⁇ 2.
  • connection mediation device 304 is used instead of the connection mediation device 300 shown in FIG.
  • the connection mediation device 304 is obtained by adding the function of instructing the communication method (whether normal communication or bypass communication) and the function of relaying bypass communication to the functions of the connection mediation device 300 shown in FIG. Details of the configuration will be described later.
  • the component indicated by the block in which the first digit in the three-digit code is “4” is the unique component to the fourth embodiment. .
  • the NAT type discrimination device 500 is described in FIG.
  • This NAT type discrimination device 500 is the same device as the device 500 shown in FIG. 28, and when the terminal device 404 makes an inquiry of the NAT type via the network N, it makes an inquiry using the communication related to the inquiry.
  • the NAT type of the original terminal device 404 is determined, and the determined NAT type is returned to the query source terminal device.
  • the STUN server can be used as the NAT type discrimination device 500, and the STUN server used separately from the network communication system according to the present invention is diverted as the NAT type discrimination device 500 according to the present invention
  • a dedicated STUN server for the present invention may be prepared in the server device constituting the connection mediation device 304.
  • connection mediating device 304 and the NAT type determination device 500 (a dedicated STUN server for the present invention) will be incorporated in the same server device, and the NAT type determination device 500 may be a network according to the present invention. It becomes one of the components of the communication system.
  • the system according to the fourth embodiment includes a plurality of terminal devices (for convenience, only one terminal device 402 can be connected to each other via the network N). And a connection mediation device 304 that mediates the connection between the plurality of terminal devices.
  • each terminal device 404 is provided with a terminal ID for mutually identifying each terminal device, and the connection mediation device 304 uses the terminal ID as a communication source terminal device and the like. The processing of mediating the connection with the terminal device to be the communication destination is executed.
  • the fourth embodiment is originally intended to perform "normal communication", but when failure of the "normal communication" is expected, the terminal device 404 becomes the connection mediating device 304. It will communicate with the other party indirectly via the connection.
  • the self address notification unit 454 shown in FIG. 33 has the same function as the self address notification unit 253 of the third embodiment shown in FIG. That is, the self address notifying unit 454 notifies the connection mediating device 304 of the location address indicating the location of the self on the network, and the router to which the self is connected (not shown in FIG. 28). In addition, it has an additional function of notifying the connection mediation device 304 of the NAT type.
  • the NAT type confirmation unit 484 inquires of the NAT type identification apparatus 500 via the network N about its own NAT type It is a component with the ability to get answers from 500.
  • the thick dashed-dotted arrows in the figure indicate the flow of inquiry and reply signals exchanged between the NAT type confirmation unit 484 and the NAT type discrimination device 500. Of course, this signal will be exchanged via a router and network N not shown.
  • the pre-processing shown in the flowchart of FIG. 29 is executed as in the third embodiment. This pre-processing has already been described in 7-1 7-1 and thus will not be described here.
  • connection mediating device 304 can start from the specific communication source terminal device.
  • the router for which the “Spot type NAT” is set makes the normal communication concerned. It is determined whether or not a problem occurs, and if it is determined that there is no problem, normal communication is selected, and if it is determined that there is a problem, bypass communication is selected.
  • the communication source terminal device 203 when the communication source terminal device 203 sends a connection mediation request S2 to the connection mediation device 103, the communication destination address and communication method are sent back to the communication source terminal device 203.
  • the communication source terminal device 404 sends a connection mediation request S12 to the connection mediation device 304, another terminal of the communication destination, not the communication source terminal device 404.
  • the “communication source address” and the “communication method” are to be transmitted to the device 404.
  • the “communication method” is information indicating whether normal communication or bypass communication, as described above. Therefore, in FIG. 33, the bold-line arrow pointing from network N to communication start request unit 444 at the communication destination (in FIG. 33, it is a component of the communication destination and is therefore shown as a double frame block) It becomes a signal including information on communication method together with address information.
  • the communication start request unit 444 receives the communication method address from the connection mediation device 304 together with the communication source address, and when the normal communication is selected as the communication method, the second embodiment of the prior invention basic invention and Similarly, the communication source address is accessed via the network N to make a communication start request. The subsequent communication procedure is as described in ⁇ 2. On the other hand, when the alternative communication is selected as the communication method, the alternative communication instruction is issued to the alternative communication processing unit 474.
  • the bypass communication processing unit 474 is a component performing bypass communication via the connection mediation device 304. That is, the bypass communication processing unit 474 performs indirect information transmission / reception with the other party via the connection mediation device 304 when failure of normal communication (communication indicated by the white arrow in the figure) is expected. Run. As described above, failure prediction is performed in the connection mediating device 304.
  • the communication start request unit 444 receives a communication method for selecting bypass communication from the connection mediating apparatus 304
  • the connection mediating apparatus 304 performs a failure prediction. In this case, the communication start request unit 444 instructs the bypass communication processing unit 474 to perform bypass communication, and the bypass communication processing unit 474 executes bypass communication.
  • the bypass communication processing unit 474 makes a relay request for bypass communication to the connection mediating device 304 (as will be described later, the bypass communication relay unit 344 in the connection mediating device 304), The bypass communication with the other party's bypass communication processing unit 474 is executed.
  • FIG. 34 is a block diagram showing a procedure for establishing a communication session between the communication source terminal device 404A and the communication destination terminal device 404B in the network communication system according to the fourth embodiment of the present invention shown in FIG.
  • the terminal devices 404A and 404B shown are devices having the same configuration as the terminal device 404 shown in FIG. 33, and as in FIG. 8, for the components in the communication source terminal device 404B, processing necessary as a communication source
  • the components (components of the rectangular block) that execute the command are indicated by solid lines
  • the components within the communication destination terminal device 404A are the components (components of the double rectangular block) that perform the processing necessary as the communication destination. It is indicated by a solid line, and blocks of other components are indicated by a broken line.
  • the bypass communication processing units 474A and 474B and the NAT type confirmation units 484A and 484B which are components unique to the fourth embodiment, are indicated by thick line frame blocks.
  • connection mediating apparatus 304 (shown in FIG. 33) shown in FIG. 34 adds the detour communication relay section 344 to the connection mediating apparatus 300 shown in FIG.
  • the table updating unit 320 and the communication source address transmitting unit 330 have the address table storage unit 314, the address table updating unit 324, and the communication source address transmitting unit 334 by providing some additional functions.
  • the bypass communication relay unit 344 in the connection mediation device 304 has a relay request for bypass communication between the bypass communication processing unit 474A of the first terminal device 404A and the bypass communication processing unit 474B of the second terminal device 404B. It is a component that takes information passed between the detour communication processing unit 474A of the first terminal device 404A and the detour communication processing unit 474B of the second terminal device 404B and relays the detour communication.
  • the address table storage unit 314 in the connection mediation device 304 has a function of storing an address table T60 in which NAT types are associated in addition to the terminal ID and the location address.
  • the address table updating unit 324 in the connection mediation device 304 has an additional function of updating the NAT type in the address table T60 based on the information indicating the NAT type included in the notification from the self address notifying unit 454. .
  • connection mediation request S12 is transmitted from the connection mediation request unit 410B in the communication source terminal device 404B
  • the communication source address transmission unit 334 in the connection mediation device 304 refers to the address table T60 and performs connection.
  • the location address AD1 associated with the terminal ID "0010" specified by the communication destination specification information included in the relay request S12 is recognized as the communication destination address, and a connection relay request is issued to the communication destination address AD1.
  • the location address AD2 associated with the terminal ID "0020" of the terminal device 404B of the communication source that has transmitted S12 is transmitted as the communication source address (S14a).
  • the communication source address transmission unit 334 refers to the address table T60 to confirm the NAT type of the terminal device 404B of the communication source, and when the NAT type of the terminal device 404B of the communication source is not a junction type NAT. If normal communication is selected as the communication method, and the NAT type of the terminal device 404B of the communication source is a barrier-type NAT, detour communication is selected as the communication method, and the selected communication method is returned together with the communication source address. Do.
  • the NAT type of the terminal device 404B (terminal ID: 0020) of the communication source is "sister type".
  • the communication source address transmission unit 334 selects bypass communication as the communication method.
  • the communication source terminal device 404B refers to the communication source terminal device 404B when the communication destination terminal device 404A directly issues a communication start request S15 to the communication source terminal device 404B.
  • the router RB may block the communication start request S15.
  • the communication source address transmission unit 334 selects bypass communication as the communication method.
  • the communication start request unit 444A in the communication destination terminal device 404A performs processing of normal communication when there is transmission for selecting “normal communication” from the communication source address transmission unit 334. Specifically, when the communication start request unit 444A accesses the communication source address AD2 to make a communication start request S15, the communication source session establishment unit 430B of the other party confirms the communication start acceptance to the communication destination session establishment unit 460A. S16 is transmitted. Thus, a communication session is established between the communication source session establishment unit 430B and the communication destination session establishment unit 460A.
  • the communication start request unit 444A performs the processing of the bypass communication. That is, instead of performing the communication start request S15, the communication start request unit 444A sends a bypass communication instruction S15 'to the bypass communication processing unit 474A.
  • the detour communication processing unit 474A Upon receiving the detour communication instruction S15 ', the detour communication processing unit 474A makes a relay request for the detour communication to the detour communication relay unit 344 and, via the detour communication relay unit 344, the detour communication processing unit 474B of the other party The detour communication S18a is executed.
  • the bypass communication processing unit 474A acquires the communication source address AD2 from the communication start request unit 444A, transmits this to the bypass communication relay unit 344 and makes a relay request. In response to the relay request, the bypass communication relay unit 344 accesses the communication source address AD2, and requests the bypass communication processing unit 474B of the communication source terminal device 404B to start bypass communication. The bypass communication processing unit 474B sends a reply to the effect that the bypass communication processing unit 474B is accepted to the bypass communication relay unit 344 to execute bypass communication S18b. Thereafter, by the relay by the detour communication relay unit 344, detour communication is performed between the both terminal devices 404 A and 404 B.
  • bypass communication all information packets between the two terminal devices 404A and 404B are exchanged via the connection mediation device 304. As described in 55, even if direct communication between both terminals 404A and 404B is blocked by the router of the gateway NAT, bypass communication between both terminals 404A and 404B is performed by the connection mediation device 304. Since it becomes communication to relay, it is performed without trouble.
  • FIG. 35 is a flow chart explaining the communication session establishment procedure in the embodiment 4 shown in the block diagram of FIG. 34 in chronological order.
  • the procedure of normal communication in this flowchart is substantially the same as the flowchart of FIG. 9 showing the communication session establishment procedure in the second embodiment of the prior invention described in ⁇ 2.
  • step S11 the communication request acceptance process by the communication request acceptance unit 420B is performed, and in the subsequent step S12, the connection intermediation request unit 410B performs a connection intermediation request.
  • step S13 the communication source address transmission unit 334 refers to the address table T60 stored in the address table storage unit 314, and in step S14a, communication start of the communication destination terminal device 404A from the communication source address transmission unit 334.
  • the communication source address and the communication method are transmitted to the request unit 444A.
  • step S14b the communication start request unit 444A that has received this transmission selects one of the two processing processes.
  • step S15 when “normal communication” is instructed as the communication method by the communication source address transmission unit 334, the process proceeds to step S15.
  • the procedures of steps S15 to S17 in the flowchart of FIG. 35 are exactly the same as the procedures of steps S15 to S17 in the flowchart of FIG. That is, in step S15, the communication start request unit 444A sends a communication start request S15 to the communication source terminal device 404B.
  • the communication source session establishment unit 430B receives the communication start request S15, and transmits the communication start acceptance confirmation S16 to the communication destination terminal device 404A in step S16.
  • step S17 a communication session between the communication source session establishment unit 430B and the communication destination session establishment unit 460A is established, and the normal communication S17 is performed.
  • step S15 ′ when “rerouting communication” is instructed as the communication method, the process proceeds to step S15 ′, and the communication start request unit 444A gives the detour communication instruction to the detour communication processing unit 474A. Then, in the subsequent step S18, a bypass communication process is performed. That is, the bypass communication processing units 474A and 474B and the bypass communication relay unit 344 perform bypass communication processing (S18a and S18b in FIG. 34).
  • TCP and UDP as communication protocols have advantages and disadvantages, and TCP emphasizes accuracy rather than communication speed, while UDP emphasizes communication speed rather than accuracy. Is placed. For this reason, when constructing a network communication system mainly for voice communication such as telephone, it is preferable to adopt UDP as a protocol for normal communication to reduce the overall communication load. However, if the firewall installed between the terminals has a specification for blocking UDP packets, the UDP packets can not be delivered to the other party by normal communication. On the other hand, since TCP is a protocol widely used for Web browsing, it may be considered that an element that blocks TCP packets does not practically exist on the route to the terminal device.
  • the fifth and sixth embodiments described in ⁇ 8 relate to a system on the premise of adopting UDP as a protocol for normal communication, but it is expected that normal communication can not be performed by the UDP block.
  • communication between the two is performed by performing bypass communication using a protocol such as TCP.
  • the notification processing of the own location address performed by the own address notification unit is used.
  • the self address notifying unit functions to notify the connection mediating device of the self address at a predetermined timing. Therefore, in the fifth and sixth embodiments described below, when the self-address notification unit notifies the self-address, first, the first notification is performed using UDP as a communication protocol, and the first notification fails. In the case, subsequently, the second notification using TCP as a communication protocol is performed.
  • the connection mediating device when creating the address table, is whether the self address notification from each terminal device was performed by the communication protocol using UDP. It is possible to recognize whether or not the communication protocol using TCP has been performed, and the communication protocol can be recorded in the address table.
  • the recording of the communication protocol is information indicating whether each terminal can perform normal communication using UDP.
  • the terminal device whose communication protocol recording is "UDP" is a terminal device that succeeded in notifying its own address by the first notification using UDP as the communication protocol, at least the terminal device Since it can be determined that there is no element blocking the UDP packet on the communication route between the terminal and the connection mediation device, it is possible for normal communication using UDP as far as it relates to the terminal device and the connection mediation device. No problems will occur.
  • the terminal device whose communication protocol record is "TCP" is a terminal device that failed to notify its own address by the first notification using UDP as the communication protocol, It can be determined that there is an element blocking the UDP packet on the communication route with the connection mediation device.
  • the connection mediation device 100 checks the communication protocol recorded in the address table for both terminal devices, It is possible to grasp the possibility that there is an element blocking the UDP packet between them, and it can be predicted whether or not the normal communication between the two terminals will be disturbed. That is, when the communication protocol recorded in the address table for at least one of the terminal device of the communication source and the terminal device of the communication destination is "UDP", UDP exchanged between the two terminals It is expected that packets may be blocked and normal communication with UDP between the two terminals may fail. Therefore, when a failure in normal communication using UDP is predicted, the connection mediation device can give the terminal device an instruction to perform bypass communication instead of the normal communication. The terminal apparatus that has received such an instruction performs bypass communication in the same manner as the methods described in ⁇ 6 and ⁇ 7.
  • FIG. 36 is a block diagram showing a detailed configuration of the terminal device 205 in the network communication system according to the fifth embodiment of the present invention.
  • the terminal device 205 shown here adds some corrections to the communication start request unit 240 and the self address notification unit 250 in the terminal device 200 according to the first embodiment of the prior invention basic invention shown in FIG.
  • a request unit 245 and a self address notification unit 255 are added, and a bypass communication processing unit 275 (in the figure, a new component is indicated by a bold line frame block) is added as a new component.
  • the communication destination session establishing unit 230 and the communication source session establishing unit 260 are replaced with the communication destination session establishing unit 235 and the communication source session establishing unit 265, respectively.
  • the basic functions of the communication destination session establishment unit 235 and the communication source session establishment unit 265 are similar to those of the communication destination session establishment unit 230 and the communication source session establishment unit 260 shown in FIG. 2, but the communication protocol is limited to UDP. The points are different. That is, in the network communication system shown in the fifth embodiment, the protocol of normal communication is fixed to UDP.
  • the connection intermediation request unit 210 and the communication request reception unit 220 which are the other components, are the same as the respective components of the same reference numerals shown in FIG. 2, and the details of their functions are as already described in ⁇ 1. .
  • connection mediating apparatus 105 is used instead of the connection mediating apparatus 100 shown in FIG.
  • the connection mediating device 105 is obtained by adding the function of instructing the communication method (whether normal communication or bypass communication) and the function of relaying the reverse communication to the functions of the connection mediating device 100 shown in FIG. Details of the configuration will be described later.
  • the component indicated by the block in which the first digit in the three-digit code is “5” is a component unique to the fifth embodiment. .
  • the system according to the fifth embodiment includes a plurality of terminal devices (for convenience, only one terminal device 205 can be connected to each other via the network N). And a connection mediation device 105 that mediates the connection between the plurality of terminal devices.
  • each terminal device 205 is provided with a terminal ID for mutually identifying each terminal device, and the connection mediation device 105 uses the terminal ID as a communication source terminal device and the like. The processing of mediating the connection with the terminal device to be the communication destination is executed.
  • the thick arrows in this figure indicate the flow of signals exchanged between the terminal device 205 and the connection mediation device 105, and the thin arrows (except for the arrows inside the block 205) indicate between the pair of terminal devices 205.
  • the white arrows indicate the flow of signals after communication session establishment, which are directly exchanged between the pair of terminal devices 205.
  • the white arrow indicates "normal communication”, which indicates the original communication assumed by this system, that is, the communication directly performed between the terminal devices 205.
  • the bold arrow extending from the detour communication processing unit 275 is described as “detour communication”. This is because the terminal device 205 is expected to fail in the “normal communication” described above. Indicates that communication to the other party is indirectly performed via the connection mediation device 105.
  • the self-address notifying unit 255 shown in FIG. 36 has a function of notifying the connection mediating apparatus 105 of the location address indicating the location of the self on the network.
  • This self address notification process is the preprocess of the communication procedure in the network communication system according to the fifth embodiment, and the basic process contents are as already described in detail in ⁇ 1.
  • the self address notification unit 255 adopts a specific procedure when notifying the connection intermediation device 105 of its own location address.
  • FIG. 37 is a flow chart for explaining, in chronological order, pre-processing of communication procedures (notification processing of own address) in the network communication system according to the fifth embodiment.
  • the self address notification unit 255 performs a first notification using UDP as a communication protocol. That is, the UDP packet for notifying the own address is transmitted from the own address notifying unit 255 to the connection mediating device 105.
  • the self address notification unit 255 determines whether the acknowledgment is obtained or not. It can be determined whether the notification has succeeded.
  • step S53 TCP is used as the communication protocol.
  • the second notification is made. As described above, since TCP is a protocol widely used for browsing the Web, there is no problem considering that the second notification does not fail in practice. If no acknowledgment for the second notification is obtained, the same notification may be made several times.
  • the own address notifying unit 255 notifies the connection mediation device 105 of the location address of the own device by the UDP packet or the TCP packet. Therefore, in FIG. 36, the thick arrow pointing from the own address notification unit 255 to the network N is a signal having information on the location address of the terminal device 205, and the communication protocol is UDP or TCP.
  • the address table in the connection mediation device 105 is added to the terminal ID and the location address. Further, information associated with the communication protocol (whether UDP or TCP) used for the self address notification is stored. That is, in step S54 of the flowchart of FIG. 37, the address table updating unit 125 in the connection mediating apparatus 105 updates the address table including the communication protocol.
  • FIG. 38 shows an address table T70 created by such an update. Similar to the address table T shown in FIG. 6, this address table T70 indicates the location addresses notified from the four sets of terminal devices, but in addition to the location addresses, also the communication protocol information (right column) It is recorded.
  • the communication preparation in the network communication system according to the fifth embodiment shown in FIG. 36 is completed when the pre-processing shown in the flowchart of FIG. 37 is completed. Since notification of the location address by the self address notification unit 255 is repeatedly executed at a predetermined timing, the latest location address and communication protocol are always stored in the address table T70 in the connection mediating device 105 for each terminal device. It will be. Therefore, when the connection mediation device 105 receives a connection mediation request from a specific communication source terminal device to a specific communication destination terminal device, the connection mediation device 105 refers to the address table T70 and performs normal communication between both terminals. Then, it is judged by the UDP block element whether or not trouble occurs in the normal communication, and when it is judged that there is no trouble, the normal communication is selected, and when judged as trouble, the bypass communication is selected.
  • the connection mediation device 105 causes no hindrance to the normal communication. Judge as and select normal communication. On the other hand, if at least one of the communication protocols recorded in the address table T70 is TCP, it is judged that there is a problem in the normal communication, and the bypass communication is selected.
  • the thick arrow going from the network N to the communication start request unit 245 is a signal including the communication method information together with the communication destination address information.
  • the communication start request unit 245 transmits the communication method address together with the communication destination address from the connection mediating apparatus 105, and when the normal communication is selected as the communication method, the communication start request unit 245 performs the first embodiment of the prior application basic invention and Similarly, the communication destination address is accessed via the network N to make a communication start request.
  • the subsequent communication procedure is as described in ⁇ 1.
  • the alternative communication is selected as the communication method, the alternative communication instruction is issued to the alternative communication processing unit 275.
  • the bypass communication processing unit 275 is a component that performs bypass communication via the connection mediation device 105. That is, the bypass communication processing unit 275 performs indirect information transmission / reception with the other party via the connection intermediation device 105 when failure of normal communication (communication indicated by the white arrow in the figure) is expected. Run. As described above, failure prediction is performed in the connection mediating device 105.
  • the communication start request unit 245 receives a communication method for selecting bypass communication from the connection mediating device 105, this corresponds to the case where the connection mediating device 105 has predicted a failure. In this case, the communication start request unit 245 instructs the bypass communication processing unit 275 to perform bypass communication, and the bypass communication processing unit 275 executes bypass communication.
  • the bypass communication processing unit 275 makes a relay request for bypass communication to the connection mediating device 105 (as described later, the bypass communication relay unit 145 therein), and, via the connection mediating device 105, The detour communication with the detour communication processing unit 275 of the other party is executed. Since exchange of information packets for this bypass communication is performed by the TCP protocol, even if there is a UDP block element in the middle of the route, the bypass communication will not be disturbed. As a modification, it is also possible to adopt a method in which the detour communication is initially executed by the UDP protocol and switched to the TCP protocol in case of failure.
  • FIG. 39 is a block diagram showing a procedure for establishing a communication session between the communication source terminal device 205A and the communication destination terminal device 205B in the network communication system according to the fifth embodiment of the present invention shown in FIG.
  • the terminal devices 205A and 205B shown are devices having the same configuration as the terminal device 205 shown in FIG. 36, and as in FIG. 4, the components in the communication source terminal device 205A are processes necessary as a communication source
  • the components (components of the rectangular block) for executing the command are indicated by solid lines
  • the components within the communication destination terminal device 205B are components (components of the double rectangular block) that perform processing required as a communication destination. It is indicated by a solid line, and blocks of other components are indicated by a broken line.
  • the bypass communication processing units 275A and 275B which are components unique to the fifth embodiment, are indicated by bold line frame blocks.
  • connection mediating device 105 shown in FIG. 36
  • FIG. 39 adds the detour communication relay portion 145 to the connection mediating device 100 shown in FIG.
  • the table update unit 120 and the communication destination address return unit 130 are configured as the address table storage unit 115, the address table update unit 125, and the communication destination address return unit 135 by providing some additional functions.
  • the bypass communication relay unit 145 in the connection mediation device 105 has a relay request for bypass communication between the bypass communication processing unit 275A of the first terminal device 205A and the bypass communication processing unit 275B of the second terminal device 205B. It is a component that takes information passed between the detour communication processing unit 275A of the first terminal device 205A and the detour communication processing unit 275B of the second terminal device 205B and relays the detour communication.
  • the address table storage unit 115 in the connection mediation device 105 further has a function of storing an address table T70 in which communication protocols are associated, in addition to the terminal ID and the location address. Then, when updating the address table T 70, the address table updating unit 125 in the connection mediation device 105 associates UDP as a communication protocol when updating based on the first notification received by UDP. When updating is performed based on the second notification received by TCP, the communication protocol is updated to correspond to TCP.
  • the communication destination address replying unit 135 in the connection mediation device 105 refers to the address table T70 and communicates the communication protocol of the terminal device of the communication source and the terminal device of the communication destination. If the communication protocols of both terminal devices are both UDP, normal communication is selected as the communication method, and if at least one of the communication protocols is TCP, bypass communication is selected as the communication method. It has a function of returning the selected communication method together with the communication destination address.
  • the communication protocol of the terminal device 205B (terminal ID: 0020) of the communication destination is “TCP”. Since the communication destination address reply unit 135 selects the bypass communication as the communication method.
  • the communication protocol of the communication destination terminal device 205B is "TCP"
  • the communication destination address return unit 135 selects the bypass communication as the communication method.
  • FIG. 39 an example in which information indicating the communication destination address “AD2” and the communication method “detour communication” is returned from the communication destination address reply unit 135 to the communication start request unit 245A (thick arrow S4a in FIG. 39). It is shown.
  • the communication protocol for both the communication source terminal device 205A and the communication destination terminal device 205B is "UDP"
  • the communication destination address reply unit 135 selects normal communication as the communication method. It will be.
  • the communication start request unit 245A in the communication source terminal device 205A performs normal communication processing when the communication destination address return unit 135 returns a response for selecting "normal communication". Specifically, when the communication start request unit 245A accesses the communication destination address AD2 and makes a communication start request S5 by UDP, the other party communication destination session establishment unit 235B sends a communication source session establishment unit 265A to UDP. Communication start acceptance confirmation S6 is transmitted. Thus, a communication session by UDP is established between the communication source session establishment unit 265A and the communication destination session establishment unit 235A.
  • the communication start request unit 245A performs a bypass communication process. That is, instead of performing the communication start request S5, the communication start request unit 245A sends a bypass communication instruction S5 'to the bypass communication processing unit 275A.
  • the detour communication processing unit 275 A receives the detour communication instruction S 5 ′, the detour communication processing unit 275 A makes a relay request for detour communication to the detour communication relay unit 145 by TCP, and the bypass communication processing unit of the other party via the detour communication relay unit 145
  • the bypass communication S8a with TCP is executed with the communication unit 275B.
  • the bypass communication processing unit 275A acquires the communication destination address AD2 from the communication start request unit 245A, transmits this to the bypass communication relay unit 145 by TCP, and makes a relay request.
  • the bypass communication relay unit 145 accesses the communication destination address AD2 by TCP, and requests the bypass communication processing unit 275B of the communication destination terminal device 205B to start bypass communication.
  • the bypass communication processing unit 275B sends a reply to the effect that the bypass communication processing unit 275B accepts this to the bypass communication relay unit 145 by TCP, and executes the bypass communication S8b by TCP. Thereafter, by the relay by the detour communication relay unit 145, detour communication by TCP is performed between both the terminal devices 205A and 205B.
  • FIG. 40 is a flowchart illustrating the communication session establishment procedure in the fifth embodiment shown in the block diagram of FIG. 39 in chronological order.
  • the procedure of normal communication in this flowchart is substantially the same as the flowchart of FIG.
  • step S1 the communication request acceptance process by the communication request acceptance unit 220A is performed, and in the subsequent step S2, a connection intermediation request is performed by the connection intermediation request unit 210A.
  • This connection mediation request may be either UDP or TCP (it may be made by TCP from the beginning, or it may be made first by UDP, and if the connection mediation request by UDP fails, the connection mediation request by TCP may be made again) .
  • step S3 the communication destination address reply unit 135 refers to the address table T70 stored in the address table storage unit 115, and in step S4a, the communication destination address reply unit 135 sends the communication start request unit 245A. , Communication destination address and communication method are returned.
  • This reply may also be made by UDP or by TCP.
  • step S4b the communication start request unit 245A that has received the reply selects one of the two processing processes.
  • step S5 when “normal communication” is instructed as the communication method, the process proceeds to step S5 to perform UDP communication.
  • the procedure of steps S5 to S7 in the flowchart of FIG. 40 is exactly the same as the procedure of steps S5 to S7 in the flowchart of FIG.
  • the communication protocol for normal communication is UDP. That is, in step S5, the communication start request unit 245A sends a communication start request S5 to the communication destination terminal device 205B by UDP.
  • the communication destination session establishing unit 235B receives the communication start request S5, and transmits the communication start acceptance confirmation S6 to the communication source terminal device 205A by UDP in step S6.
  • a communication session between the communication destination session establishment unit 235B and the communication source session establishment unit 265A is established, and the normal communication S7 is performed by UDP.
  • step S5 when "rerouting communication" is instructed as the communication method, the process proceeds to step S5 ', and the communication start request unit 245A gives the detour communication instruction to the detour communication processing unit 275A. Then, in the subsequent step S8, the bypass communication process is executed. That is, the detour communication processing by TCP is performed by the detour communication processing units 275A and 275B and the detour communication relay unit 145 (S8a and S8b in FIG. 39).
  • FIG. 41 is a block diagram showing a detailed configuration of the terminal device 406 in the network communication system according to the sixth embodiment of the present invention.
  • the terminal device 406 shown here adds a slight modification to the communication start request unit 440 and the self address notification unit 450 in the terminal device 400 according to the second embodiment of the prior invention basic invention shown in FIG.
  • a request unit 446 and a self address notification unit 456 are additionally provided with a bypass communication processing unit 476 (in the figure, a new component is indicated by a bold line frame block) as a new component.
  • the communication source session establishment unit 430 and the communication destination session establishment unit 460 are replaced with a communication source session establishment unit 436 and a communication destination session establishment unit 466, respectively.
  • the basic functions of the communication source session establishment unit 436 and the communication destination session establishment unit 466 are the same as those of the communication source session establishment unit 430 and the communication destination session establishment unit 460 shown in FIG. 7, but the communication protocol is limited to UDP. The points are different. That is, in the network communication system shown in the sixth embodiment, the protocol of normal communication is fixed to UDP.
  • the connection intermediation request unit 410 and the communication request reception unit 420, which are the other components, are the same as the components of the same reference numerals shown in FIG. 7, and the details of their functions are as already described in ⁇ 2. .
  • connection mediation device 306 is used instead of the connection mediation device 300 shown in FIG.
  • the connection mediation device 306 is obtained by adding the function of instructing the communication method (whether normal communication or bypass communication) and the function of relaying bypass communication to the functions of the connection mediation device 300 shown in FIG. Details of the configuration will be described later.
  • the component indicated by the block in which the first digit in the three-digit code is “6” is a component unique to the sixth embodiment. .
  • the system according to the sixth embodiment includes a plurality of terminal devices (for convenience, only one terminal device 406 can be connected to each other via the network N). And a connection mediation device 306 that mediates the connection between the plurality of terminal devices.
  • each terminal device 406 is provided with a terminal ID for mutually identifying each terminal device, and the connection mediation device 306 uses the terminal ID as a communication source terminal device. The processing of mediating the connection with the terminal device to be the communication destination is executed.
  • the sixth embodiment is originally intended to perform "normal communication", but when failure of the "normal communication" is expected, the terminal device 406 serves as the connection mediation device 306. It will communicate with the other party indirectly via the connection.
  • the self address notification unit 456 shown in FIG. 41 has a function of notifying the connection mediating device 306 of the location address indicating the location of the self on the network.
  • This self address notification process is referred to as pre-processing of the communication procedure in the network communication system according to the sixth embodiment, and the basic process content is as already described in detail in ⁇ 2.
  • the self address notifying unit 456 adopts a specific procedure when notifying the connection intermediation device 306 of its own location address, as in the self address notifying unit 255 in the fifth embodiment described above.
  • the specific procedure performed by the own address notification unit 456 is the same as the procedure performed by the own address notification unit 255 in the fifth embodiment, and is as illustrated in the flowchart of FIG. That is, when notifying the connection mediating device 306 of its own location address, the self address notification unit 456 first performs a first notification (corresponding to S51 in FIG. 37) using UDP as a communication protocol, If the first notification fails, subsequently, a second notification (corresponding to S53 in FIG. 37) using TCP as a communication protocol is performed.
  • the own address notifying unit 456 notifies the connection mediating device 306 of its own location address by using a UDP packet or a TCP packet. Therefore, in FIG. 41, the thick arrow pointing from the self address notifying unit 456 to the network N is a signal having information of the location address of the terminal device 406, and the communication protocol is UDP or TCP.
  • the address table in the connection mediation device 306 is added to the terminal ID and the location address. Further, information associated with the communication protocol (whether UDP or TCP) used for the self address notification is stored. That is, as in the process of step S54 in the flowchart of FIG. 37, the address table updating unit 326 in the connection mediating device 306 updates the address table including the communication protocol. For example, the address table as shown in FIG. T70 is obtained.
  • the connection mediation device 306 receives a connection mediation request from a specific communication source terminal device to a specific communication destination terminal device, the connection mediation device 306 refers to the address table T70 and performs normal communication between both terminals. Then, it is judged by the UDP block element whether or not trouble occurs in the normal communication, and when it is judged that there is no trouble, the normal communication is selected, and when judged as trouble, the bypass communication is selected.
  • the connection mediation device 306 causes no hindrance to the normal communication. Judge as and select normal communication. On the other hand, if at least one of the communication protocols recorded in the address table T70 is TCP, it is judged that there is a problem in the normal communication, and the bypass communication is selected.
  • the communication source terminal device 205 when the communication source terminal device 205 sends a connection mediation request S2 to the connection mediation device 105, the communication destination address and communication method are returned to the communication source terminal device 205.
  • the communication source terminal device 406 sends a connection mediation request S12 to the connection mediation device 306, another terminal of the communication destination, not the communication source terminal device 406.
  • the “communication source address” and the “communication method” are to be transmitted to the device 406.
  • the “communication method” is information indicating whether normal communication or bypass communication, as described above. Therefore, in FIG. 41, the bold arrow pointing from network N to communication start request communication unit 446 (shown as a double-framed block because it is a component of communication destination in FIG. 41) is the communication source It becomes a signal including information on communication method together with address information.
  • the communication start request unit 446 When the communication start request unit 446 returns a communication method together with the communication source address from the connection mediation device 306, when the normal communication is selected as the communication method, the communication start request unit 446 is the second embodiment of the prior invention basic invention and Similarly, the communication source address is accessed via the network N to make a communication start request. The subsequent communication procedure is as described in ⁇ 2. On the other hand, when the alternative communication is selected as the communication method, the alternative communication instruction is issued to the alternative communication processing unit 476.
  • the bypass communication processing unit 476 is a component that performs bypass communication via the connection mediation device 306 in the same manner as the bypass communication processing unit 275 in the fifth embodiment described in ⁇ 8-1. That is, the bypass communication processing unit 476 performs indirect information transmission / reception to / from the other party via the connection mediation device 306 when failure of normal communication (communication indicated by a white arrow in the figure) is expected. Run. As described above, failure prediction is performed in the connection mediating device 306. When the communication start request unit 446 receives a communication method for selecting bypass communication from the connection mediating device 306, this corresponds to a case in which the connection mediating device 306 has predicted failure.
  • the communication start request unit 446 instructs the detour communication processing unit 476 to perform detour communication, and the detour communication processing unit 476 executes detour communication by TCP.
  • the detour communication processing unit 476 requests the connection mediation device 306 (as will be described later, in the detour communication relay unit 346 therein) to relay the detour communication by TCP, and the connection mediation device 306 Then, the bypass communication by the TCP with the bypass communication processing unit 476 of the other party is executed.
  • the detour communication is first executed by the UDP protocol and switched to the TCP protocol in case of failure.
  • FIG. 42 is a block diagram showing a procedure for establishing a communication session between the communication destination terminal device 406A and the communication source terminal device 406B in the network communication system according to the sixth embodiment of the present invention shown in FIG.
  • the terminal devices 406A and 406B shown are devices having the same configuration as the terminal device 406 shown in FIG. 41, and as in FIG. 8, for the components in the communication source terminal device 406B, processing necessary as a communication source
  • the components (components of the rectangular block) that execute the command are indicated by solid lines, and the components within the communication destination terminal device 406A are the components (components of the double rectangular block) that perform the processing necessary as the communication destination. It is indicated by a solid line, and blocks of other components are indicated by a broken line.
  • the bypass communication processing units 476A and 476B which are components unique to the sixth embodiment, are indicated by thick line frame blocks.
  • connection mediating device 306 shown in FIG. 41
  • FIG. 42 adds the detour communication relay portion 346 to the connection mediating device 300 shown in FIG.
  • the table update unit 320 and the communication destination address return unit 330 have the address table storage unit 316, the address table update unit 326, and the communication source address transmission unit 336 by providing some additional functions.
  • the bypass communication relay unit 346 in the connection mediation device 306 has a relay request for bypass communication between the bypass communication processing unit 476A of the first terminal device 406A and the bypass communication processing unit 476B of the second terminal device 406B. It is a component that takes information relayed between the detour communication processing unit 476A of the first terminal device 406A and the detour communication processing unit 476B of the second terminal device 406B and relays the detour communication.
  • the address table storage unit 316 in the connection mediation device 306 further has a function of storing an address table T70 in which communication protocols are associated, in addition to the terminal ID and the location address. Then, when updating the address table T 70, the address table updating unit 326 in the connection mediation device 306 associates UDP as a communication protocol when updating based on the first notification received by UDP. When updating is performed based on the second notification received by TCP, the communication protocol is updated to correspond to TCP.
  • connection mediation request S12 is transmitted from the connection mediation request unit 410B in the communication source terminal device 406B
  • the communication source address transmission unit 336 in the connection mediation device 306 refers to the address table T70 for connection.
  • the location address AD1 associated with the terminal ID "0010" specified by the communication destination specification information included in the relay request S12 is recognized as the communication destination address, and a connection relay request is issued to the communication destination address AD1.
  • the location address AD2 associated with the terminal ID "0020" of the terminal device 406B of the communication source that has transmitted S12 is transmitted as a communication source address (S14a).
  • the communication source address transmission unit 336 refers to the address table T70 to confirm the communication protocol of the terminal device of the communication source and the terminal device of the communication destination, and the communication protocol of both terminal devices is UDP. In this case, it has a function of selecting normal communication as the communication method, and selecting detour communication as the communication method when at least one of the communication protocols is TCP, and transmitting the selected communication method together with the communication source address. .
  • the communication start request unit 446A in the communication destination terminal device 406A performs a process of normal communication when there is transmission for selecting “normal communication” from the communication source address transmission unit 336. Specifically, when the communication start request unit 446A accesses the communication source address AD2 and makes a communication start request S15 by UDP, the communication source session establishment unit 436B of the other party transmits to the communication destination session establishment unit 466A by UDP. Communication start acceptance confirmation S16 is transmitted. Thus, a communication session by UDP is established between the communication source session establishment unit 436B and the communication destination session establishment unit 466A.
  • the communication start request unit 446A performs processing of bypass communication. That is, instead of performing the communication start request S15, the communication start request unit 446A sends a bypass communication instruction S15 'to the bypass communication processing unit 476A.
  • the detour communication processing unit 476 A receives the detour communication instruction S 15 ′, the detour communication processing unit 476 A makes a relay request for detour communication to the detour communication relay unit 346 by TCP, and the bypass communication processing unit of the other party via the detour communication relay unit 346 A bypass communication S18a with TCP is performed with 476B.
  • the bypass communication processing unit 476A acquires the communication source address AD2 from the communication start request unit 446A, transmits this to the bypass communication relay unit 346, and makes a relay request.
  • the bypass communication relay unit 346 accesses the communication source address AD2 by TCP, and requests the bypass communication processing unit 476B of the communication source terminal device 406B to start bypass communication by TCP.
  • the bypass communication processing unit 476B sends a reply by TCP to the effect of accepting the request to the bypass communication relay unit 346, and executes the bypass communication S18b by TCP. Thereafter, by the relay by the detour communication relay unit 346, detour communication is performed by TCP between the both terminal devices 406A and 406B.
  • FIG. 43 is a flowchart illustrating the communication session establishment procedure in the sixth embodiment illustrated in the block diagram of FIG. 42 in chronological order.
  • the procedure of normal communication in this flowchart is substantially the same as the flowchart of FIG. 9 showing the communication session establishment procedure in the second embodiment of the prior invention described in ⁇ 2.
  • step S11 the communication request acceptance process by the communication request acceptance unit 420B is performed, and in the subsequent step S12, the connection intermediation request unit 410B performs a connection intermediation request.
  • step S13 the communication source address transmission unit 336 refers to the address table T70 stored in the address table storage unit 316, and in step S14a, the communication source address transmission unit 336 starts communication with the communication destination terminal device 406A.
  • the communication source address and the communication method are transmitted to the request unit 446A.
  • step S14b the communication start request unit 446A that has received this transmission selects one of the two processing processes.
  • step S15 the procedure of steps S15 to S17 in the flowchart of FIG. 43 is exactly the same as the procedure of steps S15 to S17 in the flowchart of FIG.
  • the communication protocol for normal communication is UDP. That is, in step S15, the communication start request unit 446A sends a communication start request S15 to the communication source terminal device 406B by UDP.
  • the communication source session establishment unit 436B receives the communication start request S15, and transmits the communication start acceptance confirmation S16 to the communication destination terminal device 406A by UDP in step S16.
  • the communication session between the communication source session establishment unit 436B and the communication destination session establishment unit 466A is established, and the normal communication S17 is performed by UDP.
  • step S15 ′ when “rerouting communication” is instructed as the communication method, the process proceeds to step S15 ′, and the communication start request unit 446A gives the detour communication instruction to the detour communication processing unit 476A. Then, in the subsequent step S18, a bypass communication process is performed. That is, the bypass communication processing by TCP is performed by the bypass communication processing units 476A and 476B and the bypass communication relay unit 346 (S18a and S18b in FIG. 42).
  • the network communication system enables stable 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. It provides technology and has sufficient industrial availability.
  • connection mediation device 101 connection mediation device 103 of the first embodiment: connection mediation device 105 of the third embodiment: connection mediation device 110 of the fifth embodiment: address table storage unit 113: address table storage unit 115 of the third embodiment
  • Reply unit 135 communication destination address reply unit 141 of the fifth embodiment: bypass communication relay unit 143 of the first embodiment: bypass communication relay unit 145 of the third embodiment: bypass communication relay units 200, 200A to 200K of the fifth embodiment: terminal Devices 201H, 201K: VPN communication units 201, 201A, 201B: terminal devices 203, 203A, 20 of the first embodiment B: terminal devices 205, 205A, 205B of the third embodiment: terminal devices 210, 210A, 210B of the fifth embodiment: connection mediation request units 220, 220A, 220B: communication request receiving
  • 444A, 444B communication start request units 446, 446A, 446B of the fourth embodiment: communication start request units 450, 450A, 450B of the sixth embodiment: self address notification units 454, 454A, 454B: self address notification unit of the fourth embodiment 456, 456A, 456B: self address notifying unit 460, 460A, 460B of the sixth embodiment: communication destination session establishing unit 462, 462A, 462B: communication destination session establishing unit 466, 466A, 466B of the second embodiment: sixth embodiment Communication destination session establishment units 472, 472 A, 472 B: bypass communication processing units 474, 474 A, 474 B of the second embodiment: bypass communication processing units 476, 476 A, 476 B of the fourth embodiment: bypass communication processing units 484, 484 A of the sixth embodiment , 484 B: NAT type confirmation unit 500 of the fourth embodiment: NAT type discrimination device D1 ⁇ AD7: address where ADx, ADy, ADz: global IP address APP1, APP2: application

Landscapes

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

Abstract

The present invention reduces the connection mediation processing load, and performs communications with no trouble even if there is a problem with direct communication between terminals. The NAT type of routers to be used by each terminal (203A, 203B) is confirmed in advance, and stored in an address table (T60) of a connection mediation device (103). If a connection mediation request (S2) is transmitted from a communication origin (203A) to a communication mediation device (103) in order to start communication from the communication origin (203A) to a communication destination (203B), the communication destination address (AD2) and a communication method indicating normal communication or bypass communication are returned (S4a) in response thereto. If the NAT type of the communication destination (203B) is an asymmetrical type, normal communication is indicated, and direct communication (S7) is carried out between the terminals. If the NAT type of the communication destination (203B) is a symmetrical type, bypass communication is indicated and a bypass communication processing unit (273A, 273B) of each terminal carries out indirect communication (S8a, S8b) through a bypass communication relay unit (143).

Description

ネットワーク通信システムNetwork communication system
 本発明は、ネットワークを介した端末間通信を行うためのネットワーク通信システムに関する。 The present invention relates to a network communication system for performing communication between terminals via a network.
 今日、パソコンやスマートフォンをはじめとする様々な端末装置がインターネットに接続されるようになってきており、ネットワークを介した端末間通信も広く普及している。ただ、インターネットのような公衆ネットワークを利用して端末間通信を行う上では、セキュリティを確保する上で何らかの工夫を施す必要がある。また、モバイル端末の場合、ネットワーク上での所在が時間的に変化するため、通信先となる端末の現時点での所在アドレスを何らかの方法で認識する必要がある。 Today, various terminal devices such as personal computers and smartphones are being connected to the Internet, and communication between terminals via a network is also widely spread. However, when performing communication between terminals using a public network such as the Internet, it is necessary to take some measures to ensure security. Further, in the case of the mobile terminal, since the location on the network changes with time, it is necessary to recognize the current location address of the terminal to be the communication destination by some method.
 このような観点から、従来の一般的なネットワーク通信システムでは、端末装置間の通信を取り継ぐ役割を果たす中継装置が設けられている。たとえば、下記の特許文献1には、第1の端末装置と中継装置との間にセキュアな第1の通信チャネルを確保し、第2の端末装置と中継装置との間にセキュアな第2の通信チャネルを確保して、中継装置を介して両端末装置間で通信を行うネットワーク通信システムが開示されている。ただ、このような中継装置を利用したシステムでは、両端末間の通信データがすべて中継装置を経由することになるため、中継装置に多大な処理負荷がかかるという問題がある。 From such a point of view, in the conventional general network communication system, a relay device that plays the role of taking over communication between the terminal devices is provided. For example, in Patent Document 1 below, a secure first communication channel is secured between the first terminal device and the relay device, and 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. However, in a system using such 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.
 そこで、最近は、SIP(Session Initiation Protocol)と呼ばれるプロトコルを利用して、ネットワーク上に設けられた接続仲介装置により、両端末間での通信セッション確立の取り継ぎを行い、通信セッション確立後は、両端末間で直接通信を行う方式が提案されている。たとえば、下記の特許文献2,3には、このSIPを利用して端末間におけるVPN通信を実現するネットワーク通信システムが開示されている。このシステムにおける接続仲介装置は、通信データのすべてを中継する必要はなく、両端末間に通信セッションが確立されるまでの手助けを行えばよいので、従来の中継装置に比べて処理負荷が大幅に軽減される。 Therefore, recently, using a protocol called SIP (Session Initiation Protocol), a connection mediating device provided on the network performs establishment of a communication session between both terminals, and after establishing a communication session, A method of performing direct communication between both terminals has been proposed. For example, 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.
特開2005-229436号公報JP, 2005-229436, A 特開2010-233167号公報JP, 2010-233167, A 特開2013-038684号公報JP, 2013-038684, A
 上述したとおり、特許文献2,3に開示されているネットワーク通信システムに用いられる接続仲介装置は、SIPを利用して両端末間の接続仲介処理を行うことになる。この接続仲介処理は、両端末間に通信セッションが確立されるまでの一時的な処理であるため、特許文献1に開示されている従来型の中継処理に比べれば、その処理負荷は軽減されることになる。しかしながら、両端末間に通信セッションが確立するまで関与する必要があるため、多数の端末装置から同時に仲介依頼があると、その処理負荷は無視できないものになる。このため、仲介依頼が集中すると、通信セッション確立までの一時的な仲介処理であっても、システムの処理能力を超えてしまうおそれがある。 As described above, the 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.
 また、近年は、セキュリティを確保するため、端末間通信に様々な制限を設ける措置がとられることがある。たとえば、ルータを介してインターネットに接続されている端末装置の場合、ルータにおいて、NAT(Network Address Translation)と呼ばれるアドレス変換が行われる。このNATにはいくつかのタイプがあり、たとえば、「Symmetric NAT」(対称型NAT)や「Port restricted cone NAT」と呼ばれるタイプのNAT(本願では、便宜上、関所型NATと呼ぶ)が採用されていた場合、過去に内部ホストからのパケットを受け取った外部ホストのみがパケットを送り返すことができるという制約が課される。 Also, in recent years, in order to ensure security, measures may be taken to set various restrictions on communication between terminals. For example, in the case of a terminal device connected to the Internet via a router, an address translation called NAT (Network Address Translation) is performed in the router. There are several types of this NAT, for example, a type of NAT called “Symmetric NAT” (symmetrical NAT) or “Port restricted cone NAT” (in the present application, referred to as “conversated NAT” for convenience) is adopted. In this case, the restriction is imposed that only the external host that has received a packet from the internal host in the past can send back the packet.
 あるいは、端末間通信のトランスポート層のプロトコルとして、UDP(User Datagram Protocol)を採用して端末間での直接通信を行うことを前提とするシステムの場合、端末間にUDPのパケットをブロックするファイアウォールが存在すると、両端末間のパケット通信は阻害されてしまう。したがって、実用上は、上述したような様々な要因により、端末間の直接通信に何らかの制限が設けられている場合にも、両者間での通信を支障なく行うことが可能となるような対策を講じる必要がある。 Alternatively, in the case of a system on which it is premised that UDP (User Datagram Protocol) is adopted as a protocol of the transport layer of inter-terminal communication to perform direct communication between the terminals, a firewall that blocks UDP packets between the terminals If this exists, packet communication between the two terminals is hindered. Therefore, in practice, even if direct communication between terminals is provided with some restriction due to various factors as described above, it is possible to take measures to enable communication between the two terminals without any problem. It is necessary to take it.
 そこで本発明は、一対の端末装置間の接続を仲介する際の処理負荷を、より軽減することができ、しかも端末装置間の直接通信に問題がある場合にも、両者間での通信を支障なく行うことが可能なネットワーク通信システムを提供することを目的とする。 Therefore, the present invention can further reduce the processing load when mediating the connection between a pair of terminal devices, and also disturb the communication between both terminals even if there is a problem in direct communication between the terminal devices. It is an object of the present invention to provide a network communication system that can be performed without the need to
 (1)  本発明の第1の態様は、ネットワークを介して相互に接続可能な複数の端末装置と、これら複数の端末装置間の接続を仲介する接続仲介装置と、を備えたネットワーク通信システムにおいて、
 複数の端末装置には、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、接続仲介装置は、端末IDを利用して通信元となる端末装置と通信先となる端末装置との間の接続を仲介する処理を実行し、
 複数の端末装置のそれぞれは、
 自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置に対して通知する自己アドレス通知部と、
 自己を通信元として、通信先の別な端末装置に対する通信要求を受け付ける通信要求受付部と、
 通信要求受付部によって通信要求が受け付けられたときに、接続仲介装置に対して、通信先の別な端末装置の端末IDを特定するための通信先特定情報を含む接続仲介依頼を送信する接続仲介依頼部と、
 接続仲介依頼に応じて、接続仲介装置から、通信先の別な端末装置のネットワーク上での所在を示す通信先アドレスが返信されてきたときに、ネットワークを介して、通信先アドレスにアクセスして通信開始要求を行う通信開始要求部と、
 通信開始要求に応じて、通信先の別な端末装置から、通信開始受諾確認が返信されてきたら、通信先の別な端末装置との間に通信セッションを確立して通信を開始する通信元セッション確立部と、
 通信元の別な端末装置から、自己を通信先とする通信開始要求がなされたら、通信元の別な端末装置に対して通信開始受諾確認を送信し、通信元の別な端末装置との間に通信セッションを確立して通信を開始する通信先セッション確立部と、
 通信元セッション確立部と通信先セッション確立部との間に通信セッションを確立して相手方に対する直接的な情報送受を行う通常通信に失敗したとき、もしくは失敗が予想されるときに、接続仲介装置を介して相手方に対する間接的な情報送受を行う迂回通信を実行する迂回通信処理部と、
 を有し、
 接続仲介装置は、
 端末装置のそれぞれについて、端末IDと所在アドレスとを対応づけたアドレステーブルを格納するアドレステーブル格納部と、
 端末装置の自己アドレス通知部からの通知に基づいて、アドレステーブルの内容を更新するアドレステーブル更新部と、
 端末装置の接続仲介依頼部から、接続仲介依頼が送信されてきたときに、アドレステーブルを参照して、接続仲介依頼に含まれている通信先特定情報によって特定される端末IDに対応づけられている所在アドレスを通信先アドレスとして返信する通信先アドレス返信部と、
 第1の端末装置の迂回通信処理部と第2の端末装置の迂回通信処理部との間での迂回通信の中継依頼があったときに、第1の端末装置の迂回通信処理部と第2の端末装置の迂回通信処理部との間で受け渡しする情報を取り次いで迂回通信の中継を行う迂回通信中継部と、
 を有するようにしたものである。
(1) According to a first aspect of the present invention, there is provided a network communication system comprising a plurality of terminal devices mutually connectable via a network, and a connection mediation device which mediates connection between the plurality of terminal devices. ,
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. Execute processing to mediate the connection with the device,
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,
In response to the connection mediation request, when 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
When the communication session is established between the communication source session establishing unit and the communication destination session establishing unit and the normal communication for transmitting and receiving information directly to the other party fails, or when a failure is expected, A detour communication processing unit that executes detour communication that indirectly transmits and receives information to the other party via
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 destination address reply unit that returns a location address as a communication destination address;
When a relay request for bypass communication is made between the bypass communication processing unit of the first terminal device and the bypass communication processing unit of the second terminal device, the bypass communication processing unit of the first terminal device and the second bypass communication processing unit A detour communication relay unit that takes information to be exchanged with the detour communication processing unit of the terminal device and relays the detour communication;
It is intended to have
 (2)  本発明の第2の態様は、上述した第1の態様に係るネットワーク通信システムにおいて、
 通信開始要求部が通信開始要求を行った後、これに応じた通信開始受諾確認が所定のタイムアウト設定時間内に返信されてこなかった場合に、迂回通信処理部が、迂回通信中継部に対して迂回通信の中継依頼を行い、迂回通信中継部を介して、相手方の迂回通信処理部との間での迂回通信を実行するようにしたものである。
(2) According to a second aspect of the present invention, in the network communication system according to the first aspect described above,
After the communication start request unit makes a communication start request, if the communication start acceptance confirmation according to the request is not sent back within the predetermined time-out setting time, the bypass communication processing unit sends a request to the bypass communication relay unit. The relay request for the detour communication is made, and the detour communication with the detour communication processing unit of the other party is executed via the detour communication relay unit.
 (3)  本発明の第3の態様は、上述した第1の態様に係るネットワーク通信システムにおいて、
 通信開始要求部が行った通信開始要求に対してアクノレッジが得られなかった場合に、迂回通信処理部が、迂回通信中継部に対して迂回通信の中継依頼を行い、迂回通信中継部を介して、相手方の迂回通信処理部との間での迂回通信を実行するようにしたものである。
(3) A third aspect of the present invention is the network communication system according to the first aspect described above,
When an acknowledgment is not obtained in response to the communication start request made by the communication start request unit, the detour communication processing unit makes a relay request for detour communication to the detour communication relay unit, and via the detour communication relay unit The detour communication is performed with the detour communication processing unit of the other party.
 (4)  本発明の第4の態様は、上述した第1の態様に係るネットワーク通信システムにおいて、
 複数の端末装置のそれぞれが、ネットワークを介してNATタイプ判別装置に対して自己のNATタイプを照会し、NATタイプ判別装置からの回答を得るNATタイプ確認部を更に備え、
 自己アドレス通知部が、接続仲介装置に対して自己の所在アドレスを通知する際に、NATタイプ確認部が得た回答を併せて通知し、
 接続仲介装置内のアドレステーブル格納部が、端末IDと所在アドレスに加えて、更に、NATタイプを対応づけたアドレステーブルを格納する機能を有し、
 接続仲介装置内のアドレステーブル更新部が、自己アドレス通知部からの通知に含まれる回答に基づいて、アドレステーブル内のNATタイプの更新を行う機能を有し、
 接続仲介装置内の通信先アドレス返信部が、接続仲介依頼の送信を受けたときに、アドレステーブルを参照して通信先の端末装置のNATタイプが「外部から当該通信先の端末装置宛に送信されてきたパケットについては、当該通信先の端末装置からのパケットを受け取ったことがある外部ホストからのパケットのみを通すという制限の下でアドレス変換を行う関所型NAT」であるか否かを確認し、通信先の端末装置のNATタイプが関所型NATではなかった場合には、通信方法として通常通信を選択し、通信先の端末装置のNATタイプが関所型NATであった場合には、通信方法として迂回通信を選択し、選択した通信方法を通信先アドレスと共に返信する機能を有し、
 通信開始要求部が、接続仲介装置から通信先アドレスと共に通信方法が返信されてきたときに、通信方法として通常通信が選択されていた場合には、ネットワークを介して、通信先アドレスにアクセスして通信開始要求を行い、通信方法として迂回通信が選択されていた場合には、迂回通信処理部に対して迂回通信指示を行うようにしたものである。
(4) A fourth aspect of the present invention relates to the network communication system according to the first aspect described above,
Each of the plurality of terminal devices further includes a NAT type confirmation unit that inquires its own NAT type to the NAT type discrimination device via the network, and obtains a response from the NAT type discrimination device.
When the self address notifying unit notifies the connection mediating apparatus of its own location address, the self address notifying unit also notifies of the answer obtained by the NAT type confirmation unit.
In addition to the terminal ID and the location address, the address table storage unit in the connection mediation device further has a function of storing an address table in which the NAT type is associated,
The address table updating unit in the connection mediation device has a function of updating the NAT type in the address table based on the answer included in the notification from the self address notifying unit.
When the communication destination address return unit in the connection mediation device receives the transmission of the connection mediation request, the NAT type of the terminal device of the communication destination is referred to from the outside with reference to the address table. For the packets that have been sent, it is confirmed whether or not the address conversion is “Analog-type NAT,” which performs address conversion under the restriction that only packets from an external host that has received a packet from the terminal device of the communication destination are passed. If the terminal type of the communication destination is not NAT type, select normal communication as the communication method, and if the terminal type of the communication destination is NAT type, communication is selected. As a method, it has a function of selecting a bypass communication and returning the selected communication method together with the communication destination address,
The communication start request unit accesses the communication destination address through the network when the normal communication is selected as the communication method when the communication method is returned together with the communication destination address from the connection mediation device. When the communication start request is made and the bypass communication is selected as the communication method, the bypass communication instruction is issued to the bypass communication processing unit.
 (5)  本発明の第5の態様は、上述した第4の態様に係るネットワーク通信システムにおいて、
 自己アドレス通知部が、接続仲介装置に対して自己の所在アドレスを通知する際に、NATタイプ確認部に対してNATタイプ確認指示を出し、
 NATタイプ確認部が、NATタイプ確認指示を受けたときに、NATタイプ判別装置に対して自己のNATタイプを照会し、得られた回答を自己アドレス通知部に報告し、
 自己アドレス通知部が、この報告に基づいて上記回答を接続仲介装置に対して通知するようにしたものである。
(5) According to a fifth aspect of the present invention, in the network communication system according to the fourth aspect described above,
When the self address notifying unit notifies the connection mediating apparatus of its own location address, the self address notifying unit issues a NAT type confirmation instruction to the NAT type confirmation unit;
When the NAT type confirmation unit receives a NAT type confirmation instruction, the NAT type confirmation unit inquires the NAT type discrimination device of its own NAT type, and reports the obtained answer to the self address notification unit,
The self address notifying unit notifies the connection mediating apparatus of the answer based on the report.
 (6)  本発明の第6の態様は、上述した第1の態様に係るネットワーク通信システムにおいて、
 自己アドレス通知部が、接続仲介装置に対して自己の所在アドレスを通知する際に、まず、通信プロトコルとしてUDPを用いた第1回通知を行い、当該第1回通知に失敗した場合には、続いて、通信プロトコルとしてTCPを用いた第2回通知を行い、
 接続仲介装置内のアドレステーブル格納部が、端末IDと所在アドレスに加えて、更に、通信プロトコルを対応づけたアドレステーブルを格納する機能を有し、
 接続仲介装置内のアドレステーブル更新部が更新を行う際に、第1回通知に基づいて更新を行う場合には、通信プロトコルとしてUDPを対応づけ、第2回通知に基づいて更新を行う場合には、通信プロトコルとしてTCPを対応づけ、
 接続仲介装置内の通信先アドレス返信部が、接続仲介依頼が送信されてきたときに、アドレステーブルを参照して、通信元の端末装置および通信先の端末装置の通信プロトコルを確認し、両端末装置の通信プロトコルがいずれもUDPであった場合には、通信方法として通常通信を選択し、少なくとも一方の通信プロトコルがTCPであった場合には、通信方法として迂回通信を選択し、選択した通信方法を通信先アドレスと共に返信する機能を有し、
 通信開始要求部が、接続仲介装置から通信先アドレスと共に通信方法が返信されてきたときに、通信方法として通常通信が選択されていた場合には、通信先アドレスに対して通信プロトコルUDPを用いたアクセスにより通信開始要求を行い、通信方法として迂回通信が選択されていた場合には、迂回通信処理部に対して迂回通信指示を行い、
 通信方法として通常通信が選択されていた場合には、通信元セッション確立部と通信先セッション確立部との間で、通信プロトコルUDPを用いた通常通信を実行し、通信方法として迂回通信が選択されていた場合には、通信元の迂回通信処理部と通信先の迂回通信処理部との間で、通信プロトコルTCPを用いて、接続仲介装置を介した迂回通信を実行するようにしたものである。
(6) A sixth aspect of the present invention is the network communication system according to the first aspect described above,
When the self address notifying unit notifies the connection mediating apparatus of its own location address, first, the first notification is performed using UDP as a communication protocol, and the first notification fails. Subsequently, a second notification using TCP as a communication protocol is performed,
In addition to the terminal ID and the location address, the address table storage unit in the connection mediation device further has a function of storing an address table in which communication protocols are associated,
When updating is performed based on the first notification when the address table update unit in the connection mediation device performs update, UDP is associated as a communication protocol, and update is performed based on the second notification. Associates TCP as a communication protocol,
When the connection mediation request is transmitted, the communication destination address replying unit in the connection mediation device refers to the address table to confirm the communication protocols of the terminal device of the communication source and the terminal device of the communication destination, and both terminals When all communication protocols of the device are UDP, normal communication is selected as the communication method, and when at least one of the communication protocols is TCP, alternative communication is selected as the communication method and the selected communication Has a function to return the method along with the communication destination address,
The communication start request unit uses the communication protocol UDP for the communication destination address when the normal communication is selected as the communication method when the communication method is sent back from the connection mediation device together with the communication destination address. If a communication start request is made by access and bypass communication is selected as the communication method, issue a bypass communication instruction to the bypass communication processing unit,
When normal communication is selected as the communication method, normal communication using the communication protocol UDP is executed between the communication source session establishing unit and the communication destination session establishing unit, and bypass communication is selected as the communication method. In this case, the detour communication via the connection mediation device is executed between the detour communication processing unit at the communication source and the detour communication processing unit at the communication destination using the communication protocol TCP. .
 (7)  本発明の第7の態様は、ネットワークを介して相互に接続可能な複数の端末装置と、これら複数の端末装置間の接続を仲介する接続仲介装置と、を備えたネットワーク通信システムにおいて、
 複数の端末装置には、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、接続仲介装置は、端末IDを利用して通信元となる端末装置と通信先となる端末装置との間の接続を仲介する処理を実行し、
 複数の端末装置のそれぞれは、
 自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置に対して通知する自己アドレス通知部と、
 自己を通信元として、通信先の別な端末装置に対する通信要求を受け付ける通信要求受付部と、
 通信要求受付部によって通信要求が受け付けられたときに、接続仲介装置に対して、通信先の別な端末装置の端末IDを特定するための通信先特定情報を含む接続仲介依頼を送信する接続仲介依頼部と、
 接続仲介装置から、通信元の別な端末装置のネットワーク上での所在を示す通信元アドレスが送信されてきたときに、ネットワークを介して、通信元アドレスにアクセスして通信開始要求を行う通信開始要求部と、
 通信開始要求に応じて、通信元の別な端末装置から、通信開始受諾確認が返信されてきたら、通信元の別な端末装置との間に通信セッションを確立して通信を開始する通信先セッション確立部と、
 通信先の別な端末装置から、自己を通信元とする通信開始要求がなされたら、通信先の別な端末装置に対して通信開始受諾確認を送信し、通信先の別な端末装置との間に通信セッションを確立して通信を開始する通信元セッション確立部と、
 通信元セッション確立部と通信先セッション確立部との間に通信セッションを確立して相手方に対する直接的な情報送受を行う通常通信に失敗したとき、もしくは失敗が予想されるときに、接続仲介装置を介して相手方に対する間接的な情報送受を行う迂回通信を実行する迂回通信処理部と、
 を有し、
 接続仲介装置は、
 端末装置のそれぞれについて、端末IDと所在アドレスとを対応づけたアドレステーブルを格納するアドレステーブル格納部と、
 端末装置の自己アドレス通知部からの通知に基づいて、アドレステーブルの内容を更新するアドレステーブル更新部と、
 端末装置の接続仲介依頼部から、接続仲介依頼が送信されてきたときに、アドレステーブルを参照して、接続仲介依頼に含まれている通信先特定情報によって特定される端末IDに対応づけられている所在アドレスに対して、接続仲介依頼を送信した通信元の端末装置の端末IDに対応づけられている所在アドレスを通信元アドレスとして送信する通信元アドレス送信部と、
 第1の端末装置の迂回通信処理部と第2の端末装置の迂回通信処理部との間での迂回通信の中継依頼があったときに、第1の端末装置の迂回通信処理部と第2の端末装置の迂回通信処理部との間で受け渡しする情報を取り次いで迂回通信の中継を行う迂回通信中継部と、
 を有するようにしたものである。
(7) A seventh aspect of the present invention is a network communication system comprising: a plurality of terminal devices mutually connectable via a network; and a connection mediation device that mediates connection between the plurality of terminal devices. ,
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. Execute processing to mediate the connection with the device,
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,
When a communication source address indicating the location on the network of another terminal device of the communication source is transmitted from the connection mediation device, the communication start address is accessed via the network to start communication. Request section,
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
When the communication session is established between the communication source session establishing unit and the communication destination session establishing unit and the normal communication for transmitting and receiving information directly to the other party fails, or when a failure is expected, A detour communication processing unit that executes detour communication that indirectly transmits and receives information to the other party via
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 communication source address, the location address associated with the terminal ID of the terminal apparatus of the communication source that has transmitted the connection mediation request to the existing address;
When a relay request for bypass communication is made between the bypass communication processing unit of the first terminal device and the bypass communication processing unit of the second terminal device, the bypass communication processing unit of the first terminal device and the second bypass communication processing unit A detour communication relay unit that takes information to be exchanged with the detour communication processing unit of the terminal device and relays the detour communication;
It is intended to have
 (8)  本発明の第8の態様は、上述した第7の態様に係るネットワーク通信システムにおいて、
 通信開始要求部が通信開始要求を行った後、これに応じた通信開始受諾確認が所定のタイムアウト設定時間内に返信されてこなかった場合に、迂回通信処理部が、迂回通信中継部に対して迂回通信の中継依頼を行い、迂回通信中継部を介して、相手方の迂回通信処理部との間での迂回通信を実行するようにしたものである。
(8) According to an eighth aspect of the present invention, in the network communication system according to the seventh aspect described above,
After the communication start request unit makes a communication start request, if the communication start acceptance confirmation according to the request is not sent back within the predetermined time-out setting time, the bypass communication processing unit sends a request to the bypass communication relay unit. The relay request for the detour communication is made, and the detour communication with the detour communication processing unit of the other party is executed via the detour communication relay unit.
 (9)  本発明の第9の態様は、上述した第7の態様に係るネットワーク通信システムにおいて、
 通信開始要求部が行った通信開始要求に対してアクノレッジが得られなかった場合に、迂回通信処理部が、迂回通信中継部に対して迂回通信の中継依頼を行い、迂回通信中継部を介して、相手方の迂回通信処理部との間での迂回通信を実行するようにしたものである。
(9) A ninth aspect of the present invention is the network communication system according to the seventh aspect described above,
When an acknowledgment is not obtained in response to the communication start request made by the communication start request unit, the detour communication processing unit makes a relay request for detour communication to the detour communication relay unit, and via the detour communication relay unit The detour communication is performed with the detour communication processing unit of the other party.
 (10) 本発明の第10の態様は、上述した第7の態様に係るネットワーク通信システムにおいて、
 複数の端末装置のそれぞれが、ネットワークを介してNATタイプ判別装置に対して自己のNATタイプを照会し、NATタイプ判別装置からの回答を得るNATタイプ確認部を更に備え、
 自己アドレス通知部が、接続仲介装置に対して自己の所在アドレスを通知する際に、NATタイプ確認部が得た回答を併せて通知し、
 接続仲介装置内のアドレステーブル格納部が、端末IDと所在アドレスに加えて、更に、NATタイプを対応づけたアドレステーブルを格納する機能を有し、
 接続仲介装置内のアドレステーブル更新部が、自己アドレス通知部からの通知に含まれる回答に基づいて、アドレステーブル内のNATタイプの更新を行う機能を有し、
 接続仲介装置内の通信元アドレス送信部が、接続仲介依頼の送信を受けたときに、アドレステーブルを参照して通信元の端末装置のNATタイプが「外部から当該通信元の端末装置宛に送信されてきたパケットについては、当該通信元の端末装置からのパケットを受け取ったことがある外部ホストからのパケットのみを通すという制限の下でアドレス変換を行う関所型NAT」であるか否かを確認し、通信元の端末装置のNATタイプが関所型NATではなかった場合には、通信方法として通常通信を選択し、通信元の端末装置のNATタイプが関所型NATであった場合には、通信方法として迂回通信を選択し、選択した通信方法を通信先アドレスと共に返信する機能を有し、
 通信開始要求部が、接続仲介装置から通信元アドレスと共に通信方法が返信されてきたときに、通信方法として通常通信が選択されていた場合には、ネットワークを介して、通信元アドレスにアクセスして通信開始要求を行い、通信方法として迂回通信が選択されていた場合には、迂回通信処理部に対して迂回通信指示を行うようにしたものである。
(10) A tenth aspect of the present invention is the network communication system according to the seventh aspect described above,
Each of the plurality of terminal devices further includes a NAT type confirmation unit that inquires its own NAT type to the NAT type discrimination device via the network, and obtains a response from the NAT type discrimination device.
When the self address notifying unit notifies the connection mediating apparatus of its own location address, the self address notifying unit also notifies of the answer obtained by the NAT type confirmation unit.
In addition to the terminal ID and the location address, the address table storage unit in the connection mediation device further has a function of storing an address table in which the NAT type is associated,
The address table updating unit in the connection mediation device has a function of updating the NAT type in the address table based on the answer included in the notification from the self address notifying unit.
When the communication source address transmission unit in the connection mediation device receives the transmission of the connection mediation request, the NAT type of the terminal device of the communication source is referred to from the outside with reference to the address table. For the packets that have been sent, it is confirmed whether or not the address conversion is “Analog-type NAT” that performs address conversion under the restriction that only packets from an external host that has received a packet from the terminal device of the communication source are passed. If the terminal type of the communication source is not NAT type, select normal communication as the communication method, and if the terminal type of the communication source is NAT type, communication is selected. As a method, it has a function of selecting a bypass communication and returning the selected communication method together with the communication destination address,
The communication start request unit accesses the communication source address through the network when the normal communication is selected as the communication method when the communication method is returned together with the communication source address from the connection mediation device. When the communication start request is made and the bypass communication is selected as the communication method, the bypass communication instruction is issued to the bypass communication processing unit.
 (11) 本発明の第11の態様は、上述した第10の態様に係るネットワーク通信システムにおいて、
 自己アドレス通知部が、接続仲介装置に対して自己の所在アドレスを通知する際に、NATタイプ確認部に対してNATタイプ確認指示を出し、
 NATタイプ確認部が、NATタイプ確認指示を受けたときに、NATタイプ判別装置に対して自己のNATタイプを照会し、得られた回答を自己アドレス通知部に報告し、
 自己アドレス通知部が、この報告に基づいて上記回答を接続仲介装置に対して通知するようにしたものである。
(11) According to an eleventh aspect of the present invention, in the network communication system according to the tenth aspect described above,
When the self address notifying unit notifies the connection mediating apparatus of its own location address, the self address notifying unit issues a NAT type confirmation instruction to the NAT type confirmation unit;
When the NAT type confirmation unit receives a NAT type confirmation instruction, the NAT type confirmation unit inquires the NAT type discrimination device of its own NAT type, and reports the obtained answer to the self address notification unit,
The self address notifying unit notifies the connection mediating apparatus of the answer based on the report.
 (12) 本発明の第12の態様は、上述した第7の態様に係るネットワーク通信システムにおいて、
 自己アドレス通知部が、接続仲介装置に対して自己の所在アドレスを通知する際に、まず、通信プロトコルとしてUDPを用いた第1回通知を行い、当該第1回通知に失敗した場合には、続いて、通信プロトコルとしてTCPを用いた第2回通知を行い、
 接続仲介装置内のアドレステーブル格納部が、端末IDと所在アドレスに加えて、更に、通信プロトコルを対応づけたアドレステーブルを格納する機能を有し、
 接続仲介装置内のアドレステーブル更新部が更新を行う際に、第1回通知に基づいて更新を行う場合には、通信プロトコルとしてUDPを対応づけ、第2回通知に基づいて更新を行う場合には、通信プロトコルとしてTCPを対応づけ、
 接続仲介装置内の通信元アドレス送信部が、接続仲介依頼が送信されてきたときに、アドレステーブルを参照して、通信元の端末装置および通信先の端末装置の通信プロトコルを確認し、両端末装置の通信プロトコルがいずれもUDPであった場合には、通信方法として通常通信を選択し、少なくとも一方の通信プロトコルがTCPであった場合には、通信方法として迂回通信を選択し、選択した通信方法を通信先アドレスと共に返信する機能を有し、
 通信開始要求部が、接続仲介装置から通信元アドレスと共に通信方法が返信されてきたときに、通信方法として通常通信が選択されていた場合には、通信元アドレスに対して通信プロトコルUDPを用いたアクセスにより通信開始要求を行い、通信方法として迂回通信が選択されていた場合には、迂回通信処理部に対して迂回通信指示を行い、
 通信方法として通常通信が選択されていた場合には、通信先セッション確立部と通信元セッション確立部との間で、通信プロトコルUDPを用いた通常通信を実行し、通信方法として迂回通信が選択されていた場合には、通信先の迂回通信処理部と通信元の迂回通信処理部との間で、通信プロトコルTCPを用いて、接続仲介装置を介した迂回通信を実行するようにしたものである。
(12) A twelfth aspect of the present invention is the network communication system according to the seventh aspect described above,
When the self address notifying unit notifies the connection mediating apparatus of its own location address, first, the first notification is performed using UDP as a communication protocol, and the first notification fails. Subsequently, a second notification using TCP as a communication protocol is performed,
In addition to the terminal ID and the location address, the address table storage unit in the connection mediation device further has a function of storing an address table in which communication protocols are associated,
When updating is performed based on the first notification when the address table update unit in the connection mediation device performs update, UDP is associated as a communication protocol, and update is performed based on the second notification. Associates TCP as a communication protocol,
When the connection mediation request is sent, the communication source address transmission unit in the connection mediation device refers to the address table to confirm the communication protocols of the terminal device of the communication source and the terminal device of the communication destination, and both terminals When all communication protocols of the device are UDP, normal communication is selected as the communication method, and when at least one of the communication protocols is TCP, alternative communication is selected as the communication method and the selected communication Has a function to return the method along with the communication destination address,
The communication start request unit uses the communication protocol UDP for the communication source address when the normal communication is selected as the communication method when the communication method is returned from the connection mediation device together with the communication source address. If a communication start request is made by access and bypass communication is selected as the communication method, issue a bypass communication instruction to the bypass communication processing unit,
When normal communication is selected as the communication method, normal communication using the communication protocol UDP is executed between the communication destination session establishing unit and the communication source session establishing unit, and bypass communication is selected as the communication method. In this case, the detour communication via the connection mediation device is executed between the detour communication processing unit at the communication destination and the detour communication processing unit at the communication source using the communication protocol TCP. .
 (13) 本発明の第13の態様は、上述した第4、5、10、11の態様に係るネットワーク通信システムにおいて、
 端末装置のNATタイプ確認部からネットワークを介してNATタイプの照会があったときに、当該照会に係る通信を利用して、照会元の端末装置のNATタイプを判別し、判別したNATタイプを照会元の端末装置のNATタイプ確認部に回答する処理を行うNATタイプ判別装置を更に設けるようにしたものである。
(13) A thirteenth aspect of the present invention is the network communication system according to the fourth, fifth, tenth, or eleventh aspect described above,
When the NAT type confirmation unit of the terminal device makes an inquiry about the NAT type via the network, the NAT type of the terminal device of the inquiry source is determined using the communication related to the inquiry, and the determined NAT type is made inquiry A NAT type discrimination device for performing processing for replying to the NAT type confirmation unit of the original terminal device is further provided.
 (14) 本発明の第14の態様は、上述した第13の態様に係るネットワーク通信システムにおいて、
 NATタイプ判別装置として、STUNサーバを用いるようにしたものである。
(14) According to a fourteenth aspect of the present invention, in the network communication system according to the thirteenth aspect described above,
A STUN server is used as a NAT type discrimination device.
 (15) 本発明の第15の態様は、上述した第1~第12の態様に係るネットワーク通信システムにおける複数の端末装置を構成する1台の端末装置に係るものである。 (15) A fifteenth aspect of the present invention relates to one terminal device constituting a plurality of terminal devices in the network communication system according to the first to twelfth aspects described above.
 (16) 本発明の第16の態様は、上述した第15の態様に係る1台の端末装置を、コンピュータにプログラムを組み込むことにより構成したものである。 (16) A sixteenth aspect of the present invention is one terminal device according to the fifteenth aspect described above configured by incorporating a program into a computer.
 (17) 本発明の第17の態様は、上述した第1~第12の態様に係るネットワーク通信システムにおける接続仲介装置に係るものである。 (17) A seventeenth aspect of the present invention relates to the connection mediating apparatus in the network communication system according to the first to twelfth aspects described above.
 (18) 本発明の第18の態様は、上述した第17の態様に係る接続仲介装置を、コンピュータにプログラムを組み込むことにより構成したものである。 (18) An eighteenth aspect of the present invention is the connection mediation device according to the seventeenth aspect described above configured by incorporating a program into a computer.
 本発明のネットワーク通信システムによれば、接続仲介装置は、両端末間に通信セッションが確立する最終段階まで関与する必要はなく、通信元の端末装置に対して通信先アドレスを伝達する段階(第1の実施形態の場合)、あるいは、通信先の端末装置に対して通信元アドレスを伝達する段階(第2の実施形態の場合)まで行えば足りる。したがって、従来のSIPを利用して両端末間の接続仲介処理を行うシステムに比べて、一対の端末装置間の接続を仲介する際の処理負荷を、より軽減することが可能になる。 According to the network communication system of the present invention, 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.
 また、本発明のネットワーク通信システムでは、通信方法として、端末装置間の直接的な通信を行う通常通信と、接続仲介装置を介して間接的に通信を行う迂回通信と、の2通りの通信方法が用意されているため、端末装置間の直接通信に問題がある場合にも、迂回通信を利用することにより、両者間での通信を支障なく行うことが可能になる。 Further, in the network communication system of the present invention, there are two communication methods as a communication method: normal communication for direct communication between terminal devices and bypass communication for indirect communication via a connection mediation device. Even when there is a problem with direct communication between the terminal devices, it is possible to perform communication between the two without any trouble by using the bypass communication.
先願基本発明の第1の実施形態に係るネットワーク通信システムの全体構成を示すブロック図である。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. 図1に示すネットワーク通信システムの端末装置の詳細構成を示すブロック図である。It is a block diagram which shows the detailed structure of the terminal device of the network communication system shown in FIG. 図2に示す端末装置における自己アドレス通知部250の機能を示すブロック図である。It is a block diagram which shows the function of the self-address notification part 250 in the terminal device shown in FIG. 図1に示すネットワーク通信システムにおいて、通信元端末装置200Aと通信先端末装置200Bとの間の通信セッション確立の手順を示すブロック図である。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; 図4のブロック図に示されている通信セッション確立手順を時系列で説明する流れ図である。FIG. 5 is a flow chart describing the communication session establishment procedure shown in the block diagram of FIG. 4 in time series. 先願基本発明の第2の実施形態に係るネットワーク通信システムの全体構成を示すブロック図である。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. 図6に示すネットワーク通信システムの端末装置の詳細構成を示すブロック図である。It is a block diagram which shows the detailed structure of the terminal device of the network communication system shown in FIG. 図6に示すネットワーク通信システムにおいて、通信元端末装置400Bと通信先端末装置400Aとの間の通信セッション確立の手順を示すブロック図である。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; 図8のブロック図に示されている通信セッション確立手順を時系列で説明する流れ図である。FIG. 9 is a flow chart describing the communication session establishment procedure shown in the block diagram of FIG. 8 in chronological order; 図1もしくは図6に示すアドレステーブルの第1の変形例を示す図である。It is a figure which shows the 1st modification of the address table shown in FIG. 1 or FIG. 図1もしくは図6に示すアドレステーブルの第2の変形例を示す図である。It is a figure which shows the 2nd modification of the address table shown in FIG. 1 or FIG. 図1もしくは図6に示すアドレステーブルの第3の変形例を示す図である。It is a figure which shows the 3rd modification of the address table shown in FIG. 1 or FIG. 図1に示すネットワーク通信システムにおいて、通信元端末装置200Aと通信先端末装置200Bとの間の通信セッション確立の手順の変形例を示すブロック図である。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; 図6に示すネットワーク通信システムにおいて、通信元端末装置400Bと通信先端末装置400Aとの間の通信セッション確立の手順の変形例を示すブロック図である。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; ルータを介して端末装置をネットワークNに接続する場合の先願基本発明の実施形態を示すブロック図である。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. 図15に示す実施形態において、IPアドレスにポート番号を付加した情報を所在アドレスとして用いる場合のアドレステーブルの例を示す図である。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. 15; 先願基本発明に係る端末装置を通信アプリケーションプログラムを用いて構成する場合における自己アドレスの通知タイミングを示す表である。It is a table | surface which shows the notification timing of the self-address in, when the terminal device based on a basic application basic invention is comprised using a communication application program. 先願基本発明に係るネットワーク通信システムにおいて、VPNを利用した実施形態の全体構成を示すブロック図である。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. 図18に示す実施形態におけるVPN通信の原理を示す図である。It is a figure which shows the principle of the VPN communication in embodiment shown in FIG. 図18に示す実施形態に用いるために、VIPアドレスを追加したアドレステーブルの例を示す図である。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. 7 is a block diagram showing a specific example in which a communication failure occurs in the basic application of the prior application. 本発明の実施例1に係るネットワーク通信システムにおける端末装置201の詳細構成を示すブロック図である。It is a block diagram which shows the detailed structure of the terminal device 201 in the network communication system which concerns on Example 1 of this invention. 本発明の実施例1に係るネットワーク通信システムにおいて、通信元端末装置201Aと通信先端末装置201Bとの間の通信セッション確立の手順を示すブロック図である。FIG. 7 is a block diagram showing a procedure of establishing a communication session between a communication source terminal device 201A and a communication destination terminal device 201B in the network communication system according to the first embodiment of the present invention. 図23のブロック図に示されている実施例1における通信セッション確立手順を時系列で説明する流れ図である。FIG. 24 is a flow chart describing the communication session establishment procedure in the embodiment 1 shown in the block diagram of FIG. 23 in chronological order. 本発明の実施例2に係るネットワーク通信システムにおける端末装置402の詳細構成を示すブロック図である。It is a block diagram which shows the detailed structure of the terminal device 402 in the network communication system which concerns on Example 2 of this invention. 本発明の実施例2に係るネットワーク通信システムにおいて、通信元端末装置402Bと通信先端末装置402Aとの間の通信セッション確立の手順を示すブロック図である。In the network communication system which relates to the execution example 2 of this invention, it is the block diagram which shows the procedure of communication session establishment between communication origin terminal unit 402B and communication destination terminal unit 402A. 図26のブロック図に示されている実施例2における通信セッション確立手順を時系列で説明する流れ図である。FIG. 27 is a flow chart describing, in chronological order, a communication session establishment procedure in Example 2 shown in the block diagram of FIG. 26. FIG. 本発明の実施例3に係るネットワーク通信システムにおける端末装置203の詳細構成を示すブロック図である。It is a block diagram which shows the detailed structure of the terminal device 203 in the network communication system which concerns on Example 3 of this invention. 本発明の実施例3に係るネットワーク通信システムにおける通信手順の事前処理を時系列で説明する流れ図である。It is a flowchart explaining pre-processing of the communication procedure in the network communication system concerning Example 3 of this invention in a time series. 図29に示す事前処理によって作成されるアドレステーブルの一例を示す図である。It is a figure which shows an example of the address table produced by the pre-processing shown in FIG. 本発明の実施例3に係るネットワーク通信システムにおいて、通信元端末装置203Aと通信先端末装置203Bとの間の通信セッション確立の手順を示すブロック図である。FIG. 14 is a block diagram showing a procedure for establishing a communication session between a communication source terminal device 203A and a communication destination terminal device 203B in the network communication system according to the third embodiment of the present invention. 図31のブロック図に示されている実施例3における通信セッション確立手順を時系列で説明する流れ図である。It is a flowchart which demonstrates the communication session establishment procedure in Example 3 shown by the block diagram of FIG. 31 in a time series. 本発明の実施例4に係るネットワーク通信システムにおける端末装置404の詳細構成を示すブロック図である。It is a block diagram which shows the detailed structure of the terminal device 404 in the network communication system which concerns on Example 4 of this invention. 本発明の実施例4に係るネットワーク通信システムにおいて、通信元端末装置404Bと通信先端末装置404Aとの間の通信セッション確立の手順を示すブロック図である。FIG. 17 is a block diagram showing a procedure for establishing a communication session between a communication source terminal device 404B and a communication destination terminal device 404A in the network communication system according to the fourth embodiment of the present invention. 図34のブロック図に示されている実施例4における通信セッション確立手順を時系列で説明する流れ図である。It is a flowchart which demonstrates a communication session establishment procedure in Example 4 shown by the block diagram of FIG. 34 in a time series. 本発明の実施例5に係るネットワーク通信システムにおける端末装置205の詳細構成を示すブロック図である。It is a block diagram which shows the detailed structure of the terminal device 205 in the network communication system which concerns on Example 5 of this invention. 本発明の実施例5に係るネットワーク通信システムにおける通信手順の事前処理を時系列で説明する流れ図である。It is a flowchart explaining pre-processing of the communication procedure in the network communication system concerning Example 5 of this invention in a time series. 図37に示す事前処理によって作成されるアドレステーブルの一例を示す図である。It is a figure which shows an example of the address table produced by the pre-processing shown in FIG. 本発明の実施例5に係るネットワーク通信システムにおいて、通信元端末装置205Aと通信先端末装置205Bとの間の通信セッション確立の手順を示すブロック図である。FIG. 21 is a block diagram showing a procedure for establishing a communication session between a communication source terminal device 205A and a communication destination terminal device 205B in the network communication system according to the fifth embodiment of the present invention. 図39のブロック図に示されている実施例5における通信セッション確立手順を時系列で説明する流れ図である。FIG. 40 is a flowchart illustrating the communication session establishment procedure in the fifth embodiment illustrated in the block diagram of FIG. 39 in chronological order. 本発明の実施例6に係るネットワーク通信システムにおける端末装置406の詳細構成を示すブロック図である。It is a block diagram which shows the detailed structure of the terminal device 406 in the network communication system which concerns on Example 6 of this invention. 本発明の実施例6に係るネットワーク通信システムにおいて、通信元端末装置406Bと通信先端末装置406Aとの間の通信セッション確立の手順を示すブロック図である。FIG. 21 is a block diagram showing a procedure for establishing a communication session between a communication source terminal device 406B and a communication destination terminal device 406A in a network communication system according to a sixth embodiment of the present invention. 図42のブロック図に示されている実施例6における通信セッション確立手順を時系列で説明する流れ図である。It is a flowchart which demonstrates a communication session establishment procedure in Example 6 shown by the block diagram of FIG. 42 in a time series.
 以下、本発明を図示する実施形態に基づいて説明する。なお、ここで述べる実施形態は、PCT/JP2016/055960に基づく優先権主張を伴う国際出願PCT/JP2017/006131(以下、先願となる国際出願と呼ぶ)に記載された発明(以下、先願基本発明と呼ぶ)を基礎として、この先願基本発明に接続仲介装置を介した迂回通信の機能を付加することにより、「端末装置間の直接通信に支障がある場合にも、両者間での通信を支障なく行うことが可能になる」という固有の付加的な作用効果が得られるようにしたものである。 Hereinafter, the present invention will be described based on illustrated embodiments. 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). By adding the function of bypass communication via the connection mediation device to this prior application basic invention on the basis of the basic invention), even when there is a problem in direct communication between the terminal devices, communication between the two In addition, it is possible to obtain the inherent additional effects and effects that “it is possible to do without problems”.
 このような事情から、ここでは、先願基本発明を基礎とした本発明の実施形態を、本発明の好ましい一実施形態として述べることにする。そこで、以下の§1~§4において、まず、先願基本発明の説明を行い、§5以降において、本発明に固有の特徴について述べることにする。したがって、以下の§1~§4で述べる内容(図1~図20に示す内容)は、実質的に先願となる国際出願PCT/JP2017/006131に記載された実施形態と同じものである。 Under such circumstances, an embodiment of the present invention based on the basic application of the prior application will be described as a preferred embodiment of the present invention. Therefore, in the following 11 to 44, first, the basic application of the prior application will be described, and in 55 and later, the features unique to the present invention will be described. Therefore, the contents described in §1 to 以下 4 below (the contents shown in FIGS. 1 to 20) are substantially the same as the embodiment described in the international application PCT / JP2017 / 006131 to be the earlier application.
 <<< §1. 先願基本発明の第1の実施形態 >>>
 <1-1. 先願基本発明の第1の実施形態の構成>
 図1は、先願基本発明の第1の実施形態に係るネットワーク通信システムの全体構成を示すブロック図である。図示のとおり、このネットワーク通信システムは、接続仲介装置100と複数の端末装置200A~200Dによって構成されており、これらの各装置はいずれもネットワークN(この例では、インターネット)を介して相互に接続することが可能である。
<<< 1. 1. First embodiment of prior invention basic invention >>>
<1-1. Configuration of First Embodiment of Basic Application of Prior Application>
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.
 図では、説明の便宜上、4台の端末装置200A~200Dを用いた例を示すことにするが、実用上は、より多数の端末装置を利用するのが一般的である。各端末装置200A~200Dは、共通の構成を有する同一の装置である。そこで、ここでは、この共通の端末装置について言及する場合は符号200を用いて示し、相互に区別する必要がある場合には、符号末尾にA~Dを付して示すことにする。端末装置200の内部構成要素を示す各符号についても同様である。 In the drawing, for convenience of explanation, an example using four terminal devices 200A to 200D is shown, but in practice, it is general to use a larger number of terminal devices. The 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.
 結局、このネットワーク通信システムは、ネットワークNを介して相互に接続可能な複数の端末装置200A~200Dと、これら複数の端末装置間の接続を仲介する接続仲介装置100と、を備えたシステムということになる。端末装置200としては、パソコン、携帯電話、タブレット型端末など、ネットワークNに接続して通信を行う機能を有する様々な電子機器を利用することができる。一方、接続仲介装置100は、これら各端末装置200A~200DからネットワークNを介してアクセスを受けるサーバコンピュータによって構成されている。 After all, 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. become. As 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. On the other hand, 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.
 各端末装置200A~200Dには、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、接続仲介装置100は、この端末IDを利用して通信元となる端末装置と通信先となる端末装置との間の接続を仲介する処理を実行する。ここでは、図示のとおり、端末装置200A,200B,200C,200Dには、それぞれ「0010」,「0020」,「0030」,「0040」なる端末IDが付与されているものとする。 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. Here, as illustrated, it is assumed that terminal IDs of “0010”, “0020”, “0030” and “0040” are assigned to the terminal devices 200A, 200B, 200C and 200D, respectively.
 なお、先願基本発明を実施する上で、端末IDは、個々の端末装置を相互に識別することができる情報であれば、どのような情報であってもかまわない。図示の例では、4台の端末装置しか用いられていないため、「0010」のような4桁の数字を端末IDとして用いれば十分であるが、各端末装置を相互に識別するためには、ユニークなIDを用いる必要があるので、実用上は、より桁数の多い数字もしくは数字とアルファベットの組み合わせを用いるのが好ましい。具体的には、個々の端末装置に内蔵されているCPUのシリアル番号、通信インターフェイスに付与されたMACアドレス、携帯電話を端末装置として用いる場合は電話番号やSIMカードのシリアル番号、などを端末IDとして用いることが可能である。 In the implementation of the basic application of the prior application, the terminal ID may be any information as long as the information can identify each terminal device mutually. In the illustrated example, 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, In practice, it is preferable to use a number or a combination of a number and an alphabet, because it is necessary to use a unique ID. Specifically, 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
 各端末装置200A~200Dには、それぞれ自己のネットワーク上での所在を示す所在アドレスが付与されている。図示の例の場合、端末装置200A,200B,200C,200Dには、それぞれAD1,AD2,AD3,AD4なる所在アドレスが付与されている。所在アドレスとしては、ネットワーク上で当該端末装置の所在を一義的に決定できるアドレスであれば、どのようなアドレスを用いてもよい。図示の例のように、ネットワークNとしてインターネットを用い、通信プロトコルとしてIPを利用する場合は、個々の端末装置200のネットワークN上での所在を示す所在アドレスとして、グローバルIPアドレスもしくはNAT-IDを用いるのが好ましい。 Each of the terminal devices 200A to 200D is provided with a location address indicating its own location on the network. In the case of the illustrated example, the terminal devices 200A, 200B, 200C, and 200D are respectively provided with location addresses 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. When using the Internet as the network N and using IP as the communication protocol as in the illustrated example, 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.
 端末IDが、個々の端末装置を相互に識別するために必要な情報であるのに対して、所在アドレスは、ネットワークNを介して個々の端末装置をアクセスするために必要な情報である。しかも多くの端末装置の場合、所在アドレスは常に一定ではなく、時事刻々と変化する。たとえば、携帯電話やモバイルパソコンなどの携帯型端末装置の場合、移動とともに交信相手となる基地局が変化するため、所在アドレスも時間的に変化する。また、デスクトップ型パソコンのような定点設置型の端末装置の場合も、プロバイダから付与されるIPアドレスなどが更新されるため、やはり所在アドレスが時間的に変化するのが一般的である。 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. Moreover, in the case of many terminal devices, the location address is not always constant, and changes from moment to moment. For example, in the case of a portable terminal device such as a mobile phone or a mobile personal computer, the base address to be communicated with changes as the mobile terminal moves, so the location address also changes with time. Also, in the case of a fixed-point installation type terminal device such as a desktop personal computer, since the IP address and the like given from the provider are updated, the location address also generally changes with time.
 後述するように、先願基本発明に用いる端末装置200は、自己のネットワーク上での所在を示す所在アドレスを、ネットワークNを介して接続仲介装置100に通知する機能を有している。このため、接続仲介装置100は、各端末装置200A~200Dの最新アドレスを常に把握することができ、必要に応じて、各端末装置200A~200Dにアクセスすることが可能である。 As described later, 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.
 図示のとおり、接続仲介装置100には、アドレステーブル格納部110、アドレステーブル更新部120、通信先アドレス返信部130が設けられている。前述したとおり、この接続仲介装置100は、実際には、サーバコンピュータなどのコンピュータによって構成される。したがって、図に個々のブロックとして示されている各構成要素は、実際には、コンピュータに専用のプログラムを組み込むことにより構築されることになる。 As illustrated, the 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. As described above, 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.
 アドレステーブル格納部110には、各端末装置200A~200Dのそれぞれについて、端末IDと所在アドレスとを対応づけたアドレステーブルTが格納されており、アドレステーブル更新部120は、各端末装置200A~200Dからの通知に基づいて、このアドレステーブルTの内容を更新する処理を行う。また、通信先アドレス返信部130は、各端末装置200A~200Dから接続仲介依頼があると、アドレステーブルTを参照することにより、通信先アドレスを返信する処理を行う。 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.
 図には、アドレステーブルTとして、4台の端末装置200A~200Dのそれぞれについて、端末IDと所在アドレスとの対応関係を示す情報が格納されている。具体的には、端末装置200Aについては端末ID「0010」と所在アドレス「AD1」とが対応づけられ、端末装置200Bについては端末ID「0020」と所在アドレス「AD2」とが対応づけられ、端末装置200Cについては端末ID「0030」と所在アドレス「AD3」とが対応づけられ、端末装置200Dについては端末ID「0040」と所在アドレス「AD4」とが対応づけられている。 In the figure, 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. Specifically, for the terminal device 200A, the terminal ID "0010" is associated with the location address "AD1". For the terminal device 200B, the terminal ID "0020" is associated with the location address "AD2". For the device 200C, 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.
 続いて、図2を参照しながら、端末装置200の詳細構成および個々の構成要素の具体的な処理動作を説明する。図示のとおり、端末装置200には、接続仲介依頼部210、通信要求受付部220、通信先セッション確立部230、通信開始要求部240、自己アドレス通知部250、通信元セッション確立部260が設けられている。 Subsequently, the detailed configuration of the terminal device 200 and the specific processing operation of each component will be described with reference to FIG. As illustrated, 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.
 この端末装置200も、実際には、種々のコンピュータ(携帯電話などの機器も含む)によって構成され、図に個々のブロックとして示されている各構成要素は、実際には、コンピュータに専用のプログラムを組み込むことにより構築される。なお、実際の端末装置200には、この他にも種々の構成要素が組み込まれている。たとえば、端末装置200がスマートフォンであれば、様々なアプリケーションプログラムを組み込むことにより、様々な処理機能をもった構成要素が付加されることになるが、ここでは、先願基本発明に直接関係する構成要素のみを図にブロックとして示すことにし、その他の構成要素についての説明は省略する。もちろん、端末装置200には、ユーザからの指示入力や文字入力を行う入力インターフェイスや、ユーザに情報を提示するためのディスプレイなどの構成要素も備わっているが、これらの構成要素についての説明も省略する。 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.
 結局、図2において、端末装置200内に6つのブロックとして描かれている構成要素は、先願基本発明に係る端末装置200において必須の機能要素ということになる。このブロック図には、各ブロック間の信号の流れを示す矢印として、太線矢印、細線矢印、白抜矢印の3通りの矢印が用いられている。ここで、太線矢印は、端末装置200と接続仲介装置100との間でやりとりされる、通信セッション確立前の信号の流れを示しており、細線矢印は、一対の端末装置200の間でやりとりされる、通信セッション確立前の信号の流れを示している。そして、白抜矢印は、一対の端末装置200の間でやりとりされる、通信セッション確立後の信号の流れを示している。 As a result, 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. In this block diagram, three kinds of arrows, thick arrows, thin arrows, and white arrows, are used as arrows indicating the flow of signals between the blocks. Here, 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, and 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.
 また、図2では、端末装置200内の6つの構成要素が、楕円、矩形、二重矩形という3通りのブロックを用いて描かれているが、これは、各構成要素の役割分担を示すための便宜である。具体的には、楕円ブロックで示されている構成要素は、端末装置200が「アドレス通知」の処理を実行するための構成要素であり、矩形ブロックで示されている構成要素は、端末装置200が「通信元」として機能する場合に必要な処理を実行する構成要素であり、二重矩形ブロックで示されている構成要素は、端末装置200が「通信先」として機能する場合に必要な処理を実行する構成要素である。 Further, in 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. It is the convenience of Specifically, the components shown by the elliptical block are components for the terminal device 200 to execute the process of “address notification”, and the components shown by the rectangular block are the terminal device 200. Is a component that performs processing necessary for functioning as a “communication source”, and the component represented by the double rectangular block is processing required for the terminal device 200 functioning as a “communication destination” Is a component that implements
 本願において、「通信元」および「通信先」という用語は、2台の端末装置が相互に通信を行う場合に、これら2台を区別するために用いる用語であり、自発的に通信を開始するための処理を行う側を「通信元」と呼び、この「通信元」からの働きかけに応じて、当該「通信元」と通信を行うために必要な処理を行う側を「通信先」と呼んでいる。たとえば,2台の端末装置を電話として使う場合、発呼側の装置が「通信元」であり、着呼側の装置が「通信先」になる。「通信元」の端末装置は、特定の「通信先」を指定して、自発的に通信を開始するための処理を行うことになる。 In the present application, 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", and 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. For example, when using two terminal devices as telephones, the calling device is the "communication source" and the called device is the "communication destination". The “communication source” terminal device designates a specific “communication destination” and performs processing for spontaneously starting communication.
 もちろん、端末装置200は、「通信元」になったり「通信先」になったりする。「通信元」になったときには、図2に矩形ブロックで示されている構成要素による処理が行われ、「通信先」になったときには、図2に二重矩形ブロックで示されている構成要素による処理が行われる。以下、端末装置200の6つの構成要素の各機能を順に説明する。 Of course, the terminal device 200 becomes a "communication source" or a "communication destination". When it becomes "communication source", 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. Hereinafter, each function of six components of the terminal device 200 will be described in order.
 上述したように、楕円ブロックで示されている自己アドレス通知部250は、「アドレス通知」の処理を実行するための構成要素であり、自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置100に対して通知する処理を実行する。所在アドレスとしてIPアドレスを用いるのであれば、自己アドレス通知部250は、現時点で自己に付与されたIPアドレスをネットワークNを介して接続仲介装置100に通知する処理を行うことになる。 As described above, 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.
 通常、インターネットに接続可能な端末装置200には、インターネットプロバイダから所定のグローバルIPアドレスが付与されるので、自己アドレス通知部250は、端末装置200に付与されたグローバルIPアドレスを、所在アドレスとして接続仲介装置100に対して通知すればよい。また、ルータのNAT機能を利用して、プライベートIPアドレスが付与されている場合には、NAT-IDを所在アドレスとして接続仲介装置100に対して通知すればよい。所在アドレスを通知する際には、端末IDを同時に送信するようにする。 Usually, since a predetermined global IP address is given from the Internet provider to the terminal device 200 connectable to the Internet, 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.
 図1に示すアドレステーブル更新部120は、このような通知を受けて、アドレステーブルTの更新を行う。たとえば、端末装置200Aから接続仲介装置100に対して、端末ID「0010」と所在アドレス「AD1」とが通知された場合、アドレステーブル更新部120は、端末ID「0010」と所在アドレス「AD1」とを対応づけてアドレステーブルTに格納する処理を行う。 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.
 前述したとおり、一般的な端末装置200の場合、所在アドレスが時間的に変化する。したがって、実用上は、自己アドレス通知部250には、所定周期で繰り返して、現時点の自己(端末装置200)の所在アドレスを通知する機能をもたせておくのが好ましい。たとえば、自己アドレス通知部250が1分おきに繰り返し通知を行うようにすれば、アドレステーブルTは1分おきに最新の情報に更新されることになる。 As described above, in the case of the general terminal device 200, the location address changes with time. Therefore, for practical use, it is preferable that 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.
 あるいは、自己アドレス通知部250には、自己(端末装置200)の所在アドレスが変更になったときに、現時点の所在アドレスを通知する機能をもたせておくようにしてもよい。すなわち、初めて所在アドレスが付与された段階で、当該所在アドレスを初期状態のアドレスとして通知させ、その後は、所在アドレスが変更になるたびに新たな所在アドレスを通知させるようにすればよい。もちろん、所定周期で繰り返し通知する運用と、所在アドレスが変更になったときに通知する運用とを組み合わせてもかまわない。 Alternatively, 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. Of course, the operation of repeatedly notifying in a predetermined cycle may be combined with the operation of notifying when the location address is changed.
 次に、図2に矩形ブロックで示されている4つの構成要素について説明する。上述したように、これら4つの構成要素は、端末装置200が「通信元」として機能する場合に必要な処理を実行する。 Next, four components shown by rectangular blocks in FIG. 2 will be described. As described above, these four components execute processing necessary when the terminal device 200 functions as a "communication source".
 まず、通信要求受付部220は、自己を通信元として、通信先の別な端末装置に対する通信要求を受け付ける処理を行う。たとえば、端末装置200(通信元)のユーザが、特定の相手に電話をかけたい場合、当該相手が所持する別な端末装置(通信先)に対して通信を行いたい旨の通信要求を行うことになる。この通信要求は、たとえば、図示されていない入力インターフェイスを介したユーザの操作入力(たとえば、タッチパネル上での操作)として与えられ、相手先の端末装置を特定するための何らかの情報を含むものになる。 First, 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. .
 接続仲介依頼部210は、通信要求受付部220によって通信要求が受け付けられたときに、接続仲介装置100に対して、通信先の別な端末装置の端末IDを特定するための通信先特定情報を含む接続仲介依頼を送信する。ここで、接続仲介依頼に含まれる通信先特定情報は、通信先の別な端末装置の端末IDであってもよいし、当該端末IDを特定することが可能な別な情報であってもかまわない(詳細は、§3-1で述べる)。 The 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: Here, 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).
 こうして、接続仲介依頼部210から送信された接続仲介依頼は、ネットワークNを介して接続仲介装置100へと伝達される(前述したように、図における太線矢印は、端末装置200と接続仲介装置100との間でやりとりされる、通信セッション確立前の信号の流れを示している)。すると、接続仲介装置100からは、図に太線矢印で示すように、通信先となる別な端末装置のネットワーク上での所在を示す通信先アドレスが返信されてくる。これは、図1に示す通信先アドレス返信部130の機能によるものである。 Thus, the 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.
 すなわち、通信先アドレス返信部130は、端末装置200の接続仲介依頼部210から、接続仲介依頼が送信されてきたときに、アドレステーブルTを参照して、接続仲介依頼に含まれている通信先特定情報によって特定される端末IDに対応づけられている所在アドレスを通信先アドレスとして返信する処理を行う。もちろん、返信の相手先は、接続仲介依頼を行った端末装置200である。要するに、通信先アドレス返信部130は、通信元の端末装置から通信先を特定した接続仲介依頼があると、アドレステーブルTを用いて、当該通信先の現時点での所在アドレスを検索し、これを通信元の端末装置に返信する処理を行うことになる。 That is, when the connection mediation request is transmitted from the connection mediation request unit 210 of the terminal device 200, 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. Of course, the other end of the reply is the terminal device 200 that has made the connection mediation request. In short, when there is a connection mediation request specifying the communication destination from the terminal device of the communication source, 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.
 このように、接続仲介依頼部210によって接続仲介依頼を行うと、接続仲介装置100からは、通信先の別な端末装置のネットワーク上での所在を示す通信先アドレスが返信されてくる。こうして返信されてきた通信先アドレスは、通信開始要求部240によって受信される。通信開始要求部240は、この通信先アドレスにネットワークNを介してアクセスして通信開始要求を行う。図に細線矢印で示すとおり、この通信開始要求は、1台の端末装置200(通信元)から別な1台の端末装置200(通信先)に宛てた信号ということになる。 As described above, 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).
 このように、通信開始要求部240によって、通信先の別な端末装置に対して通信開始要求を送信すると、当該通信先の別な端末装置からは、この通信開始要求に応じて、通信開始受諾確認が返信されてくる(図の右側の細線矢印:この返信処理については、通信先の別な端末装置の通信先セッション確立部230の処理として後述する)。こうして返信されてきた通信開始受諾確認は、通信元セッション確立部260によって受信される。通信元セッション確立部260は、この通信開始受諾確認を受信したら、当該通信先の別な端末装置との間に通信セッションを確立して通信を開始する。図2の右端に描かれた白抜矢印は、このようにして通信セッションが確立した後の両端末間の信号(通信パケット)の流れを示している。 As described above, when 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. When receiving the communication start acceptance confirmation, 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.
 以上、図2に矩形ブロックで示されている4つの構成要素、すなわち、端末装置200が「通信元」として機能する場合に処理を実行する構成要素について説明したが、続いて、図2に二重矩形ブロックで示されている構成要素、すなわち、端末装置200が「通信先」として機能する場合に処理を実行する構成要素について説明する。 In the above, the four components shown by rectangular blocks in FIG. 2, that is, the components that execute processing when the terminal device 200 functions as a “communication source” have been described. The components indicated by double rectangular blocks, that is, the components that execute processing when the terminal device 200 functions as a “communication destination” will be described.
 図2において、二重矩形ブロックで示されている構成要素は、通信先セッション確立部230である。この通信先セッション確立部230は、通信元の別な端末装置から、自己を通信先とする通信開始要求がなされたら(図の左側の下向き細線矢印)、当該通信元の別な端末装置に対して通信開始受諾確認を送信し(図の左側の上向き細線矢印)、当該通信元の別な端末装置との間に通信セッションを確立して通信を開始する。図2の左端に描かれた白抜矢印は、このようにして通信セッションが確立した後の両端末間の信号(通信パケット)の流れを示している。 A component indicated by a double rectangular block in FIG. 2 is a communication destination session establishment unit 230. When 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.
 結局、通信元端末装置と通信先端末装置との間の通信セッション確立後の通信は、通信元端末装置の通信元セッション確立部260と通信先端末装置の通信先セッション確立部230との間で行われることになる。別言すれば、図2の右端の白抜矢印は、ネットワークNを介して、図2の左端の白抜矢印に連なることになる。 After all, 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. In other words, 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.
 <1-2. 第1の実施形態における具体的な通信手順>
 これまで、図1および図2を参照しながら、先願基本発明の第1の実施形態に係るネットワーク通信システムの構成要素である接続仲介装置100および端末装置200の各構成要素およびその機能を説明した。ここでは、この第1の実施形態に係るネットワーク通信システムにおける通信手順を、具体例に即して説明することにする。
<1-2. Specific communication procedure in the first embodiment>
So far, with reference to FIG. 1 and FIG. 2, each component and its function of the connection mediation apparatus 100 and the terminal device 200 which are the components of the network communication system according to the first embodiment of the prior invention basic invention did. Here, the communication procedure in the network communication system according to the first embodiment will be described based on a specific example.
 図3は、図2に示す端末装置における自己アドレス通知部250の機能を示すブロック図である。図の上段には接続仲介装置100が示され、図の下段には2組の端末装置200A,200Bが示されている。ここでは、端末装置200C,200Dの図示は省略するが、自己アドレス通知部250の機能は同じである。なお、前述したとおり、接続仲介装置100と各端末装置200A,200Bとの間の情報のやりとり(太線矢印で示す)は、実際にはネットワークNを介して行われるが、ここでは説明の便宜上、ネットワーク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. As described above, the exchange of information between the connection mediation device 100 and each of the terminal devices 200A and 200B (indicated by thick arrows) is actually performed via the network N, but here, for convenience of explanation, The illustration of the network N is omitted.
 図3に示す端末装置200A,200Bは、図2に示す端末装置200と同様に6つの構成要素を有している。すなわち、端末装置200Aは、構成要素210A~260Aを有し、端末装置200Bは、構成要素210B~260Bを有しており、これら各構成要素は、図2に示す構成要素210~260と同一のものである(符号末尾のA,Bは、いずれの端末装置の構成要素であるかを区別するために付したものである)。なお、この図3は、端末装置200A,200Bの自己アドレス通知機能を説明するための図であるので、自己アドレス通知部250A,250B以外の構成要素のブロックは破線で示してある。 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.
 自己アドレス通知部250A,250Bは、自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置100内のアドレステーブル更新部120に対して通知する処理を行う。図3には、自己アドレス通知部250Aからアドレステーブル更新部120への通知として、「0010:AD1」なるデータが送信されている例が示されているが、これは、自己の端末ID「0010」とともに自己の現時点での所在アドレス「AD1」を送信していることを示している。同様に、自己アドレス通知部250Bからアドレステーブル更新部120への通知として、「0020:AD2」なるデータが送信されている例が示されているが、これは、自己の端末ID「0020」とともに自己の現時点での所在アドレス「AD2」を送信していることを示している。 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. Although 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. Similarly, an example in which 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.
 各端末装置200A,200Bの自己アドレス通知部250A,250Bから、このような通知を受けたアドレステーブル更新部120が、当該通知に基づいて、アドレステーブルTの内容を更新する処理を行う点は、既に§1-1で述べたとおりである。また、自己アドレス通知部250A,250Bが、所定周期で繰り返して、もしくは、所在アドレスが変更になったときに、現時点の所在アドレスを通知する処理を行う点も§1-1で述べたとおりである。 The point that 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.
 このように、自己アドレス通知部250が行う所在アドレスの通知処理は、端末装置間の通信を開始するための直接的な処理ではないが、いつでも通信を開始できるようにするための準備処理ということができる。この通知処理を行うことにより、接続仲介装置100内のアドレステーブルTを最新の状態に保つことができ、実際に、特定の端末装置間で通信を行う必要が生じたときに、接続仲介装置100による正しい仲介処理が実現できるのである。 As described above, 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. By performing this notification process, 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
 続いて、特定の端末装置間で実際に通信を開始する際の処理手順を説明する。図4は、図1に示すネットワーク通信システムにおいて、通信元端末装置200Aと通信先端末装置200Bとの間の通信セッション確立の手順を示すブロック図である。この図4においても、図の上段には接続仲介装置100が示され、図の下段には2組の端末装置200A,200Bが示されている。ここでも、接続仲介装置100と端末装置200Aとの間の情報のやりとり(太線矢印で示す)や、端末装置200A,200B間の情報のやりとり(細線矢印で示す)は、実際にはネットワークNを介して行われるが、説明の便宜上、ネットワークNの図示は省略する。 Subsequently, a processing procedure when actually starting communication between specific terminal devices will be described. 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. Also in FIG. 4, 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. Also here, 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.
 また、ここでは、説明の便宜上、端末装置200Aを通信元、端末装置200Bを通信先とした場合の手順を説明する。このため、図4では、通信元端末装置200A内の構成要素については、通信元として必要な処理を実行する構成要素(矩形ブロックの構成要素)のみを実線で示し、通信先端末装置200B内の構成要素については、通信先として必要な処理を実行する構成要素(二重矩形ブロックの構成要素)のみを実線で示すことにし、それ以外の構成要素のブロックは破線で示してある。 Here, for convenience of description, a procedure in the case where the terminal device 200A is a communication source and the terminal device 200B is a communication destination will be described. For this reason, in 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. 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.
 一方、図5は、図4のブロック図に示されている通信セッション確立手順を時系列で説明する流れ図である。以下、図4のブロック図を参照しながら、図5の流れ図に従って、第1の実施形態における具体的な通信手順を説明する。なお、図4のブロック図において、各矢印に付された符号S1~S7は、図5の流れ図における各ステップS1~S7に対応するものである。逆に、図5の流れ図の各ステップにおいて、括弧書きで示された符号は、図4のブロック図における特定のブロックに対応するものであり、当該ステップの内容に関連する特定の構成要素を示すものである。 On the other hand, FIG. 5 is a flow chart explaining the communication session establishment procedure shown in the block diagram of FIG. 4 in chronological order. Hereinafter, 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. In the block diagram of FIG. 4, reference symbols S1 to S7 attached to the respective arrows correspond to steps S1 to S7 in the flowchart of FIG. Conversely, in each step of the flow chart of FIG. 5, 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.
 まず、ステップS1において、通信要求受付処理が行われる。これは、図4に示す通信要求受付部220Aによって行われる処理であり、たとえば、通信元端末装置200AのユーザAが、通信先端末装置200BのユーザBに対して電話をしたい、という場合に、ユーザAの操作入力に基づいて行われる処理である。たとえば、各端末装置200A,200Bが携帯電話であり、端末IDとして、それぞれの電話番号を用いている場合は、ユーザAは端末装置200Aに対して、端末装置200Bの端末ID(電話番号)を入力する操作を伴う通信要求S1を行えばよい。すなわち、端末装置200Aの通信要求受付部220Aは、自己を通信元として、通信先の別な端末装置200Bに対する通信要求S1を受け付ける処理を行うことになる。 First, in step S1, communication request acceptance processing is performed. This is a process performed by the communication request receiving unit 220A shown in FIG. 4. For example, when 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. For example, when each of the terminal devices 200A and 200B is a mobile phone and each telephone number is used as the terminal ID, 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.
 なお、通信要求受付部220Aが通信要求S1を受け付けるのは、必ずしもユーザAが電話をかけるための操作入力を行った場合に限られるわけではない。たとえば、ユーザA,Bが通信対戦型のゲームをプレイしている場合は、当該ゲーム用のアプリケーションプログラムから通信要求受付部220Aに対して通信要求S1が与えられることになる。あるいは、端末装置200A,200Bが何らかのビジネス処理を行うパソコンであり、パソコン200Aに組み込まれたビジネス処理用のアプリケーションプログラムが、パソコン200Bに対して自動的に定時報告を行うような場合、当該アプリケーションプログラムから通信要求受付部220Aに対して通信要求S1が与えられることになる。このように、先願基本発明における通信要求は、必ずしもユーザによって与えられるものではなく、端末装置に組み込まれているプログラムによって与えられる場合もある。 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. Alternatively, if 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. As described above, 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.
 こうして、ステップS1において通信要求受付が行われると、続くステップS2において、接続仲介依頼が行われる。これは、図4に示す接続仲介依頼部210Aによって行われる処理であり、既に述べたとおり、接続仲介装置100に対して、通信先の別な端末装置200Bの端末IDを特定するための通信先特定情報を含む接続仲介依頼S2を送信する処理である。 Thus, when the communication request acceptance is performed in step S1, 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.
 なお、一般に、ネットワークを介して接続された二者間で情報の送受を行う場合、情報の送信側は自分のアドレスを受信側に伝達し、受信側は当該送信側アドレス宛にアクノレッジ信号を返信する処理を行う。したがって、接続仲介依頼部210Aから接続仲介依頼S2を送信する際には、自己の所在アドレス「AD1」が接続仲介装置100側に伝達されることになる。後述するステップS4における返信処理は、この所在アドレス「AD1」宛に行われる。 Generally, when transmitting and receiving information between two parties connected via a network, 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".
 こうして、通信元端末装置200Aの接続仲介依頼部210Aから、接続仲介装置100へ接続仲介依頼が送信されてくると、ステップS3において、この接続仲介依頼を受けた通信先アドレス返信部130が、アドレステーブル格納部110に格納されているアドレステーブルを参照して、当該接続仲介依頼に含まれている通信先特定情報によって特定される端末ID(この例では、「0020」)に対応づけられている所在アドレスを通信先アドレスとして認識する。たとえば、その時点におけるアドレステーブルTが、図1に示すようなものであったとすると、端末ID「0020」に対応づけられているアドレス「AD2」が通信先アドレスとして認識される。 Thus, when the connection mediation request is transmitted from the connection mediation request unit 210A of the communication source terminal device 200A to the connection mediation device 100, the communication destination address replying unit 130 that received the connection mediation request receives the address in step S3. With reference to 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.
 そこで、ステップS4において、通信先アドレス返信部130が、ステップS3で認識した通信先アドレス「AD2」を返信する処理を行う。もちろん、返信相手は、ステップS2において接続仲介依頼を行った通信元端末装置200Aである。前述したとおり、接続仲介依頼S2には通信元端末装置200Aの所在アドレス「AD1」の情報が含まれているので、通信先アドレス返信部130は、当該所在アドレス「AD1」宛に、通信先アドレス「AD2」を返信することができる。 Therefore, in step S4, the communication destination address replying unit 130 performs processing for sending back the communication destination address "AD2" recognized in step S3. Of course, the reply partner is the communication source terminal device 200A that has made the connection mediation request in step S2. As described above, since 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.
 こうして、通信先アドレス返信部130から通信先アドレス返信S4(通信先アドレス「AD2」を伝達する情報)が送信されてくると、当該通信先アドレス返信S4は、通信開始要求部240Aによって受信される。結局、通信元端末装置200Aが、接続仲介装置100に対して接続仲介依頼S2を行うと、この接続仲介依頼S2に応じて、接続仲介装置100から、通信先端末装置200Bのネットワーク上での所在を示す通信先アドレス「AD2」が返信されてくることになる。接続仲介装置100に用意されているアドレステーブルTは、常に最新の状態に更新されているので、返信されてきた通信先アドレス「AD2」は、通信先端末装置200Bの最新の所在アドレスということになる。 Thus, when 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. . After all, when the communication source terminal device 200A sends a connection mediation request S2 to the connection mediation device 100, 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.
 そこで、この通信先アドレス返信S4により、通信先アドレス「AD2」を取得した通信開始要求部240Aは、ステップS5において、通信先端末装置200Bに対して通信開始要求S5を行う。すなわち、ネットワークNを介して、通信先アドレス「AD2」宛にアクセスを行い、相手方に通信開始の要求を伝える。このとき、自己の所在アドレス(通信元アドレス「AD1」)も併せて伝達されることになる。 Therefore, 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. At this time, the own location address (communication source address "AD1") is also transmitted together.
 通信先アドレス「AD2」宛に行われた通信開始要求S5は、通信先端末装置200Bの通信先セッション確立部230Bによって受信される。通信先セッション確立部230Bは、通信元端末装置200Aから、自己(端末装置200B)を通信先とする通信開始要求S5がなされたら、まず、ステップS6において、ネットワークNを介して通信元端末装置200Aに対して通信開始受諾確認S6を送信する。そして、続くステップS7において、通信元端末装置200Aとの間に通信セッションを確立して通信S7を開始する。 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. When 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. Sends a communication start acceptance confirmation S6. Then, in the subsequent step S7, a communication session is established with the communication source terminal device 200A, and communication S7 is started.
 一方、通信元端末装置200A宛に送信されてきた通信開始受諾確認S6は、通信元セッション確立部260Aによって受信される。そして、ステップS7では、この通信開始受諾確認S6を受信した通信元セッション確立部260Aが、通信先端末装置200Bとの間に通信セッションを確立して通信S7を開始する処理も行われる。要するに、通信元端末装置200A側では、通信開始要求S5に応じて、通信先端末装置200Bから通信開始受諾確認S6が返信されてきたら、当該通信先端末装置200Bとの間に通信セッションを確立して通信を開始する処理を行うことになる。 On the other hand, 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.
 かくして、通信元端末装置200Aと通信先端末装置200Bとの間に通信セッションが確立され、両者間での通信S7が行われることになる。この図5に示す流れ図において、接続仲介装置100が行った処理は、ステップS3のアドレステーブル参照処理とステップS4の通信先アドレス返信処理だけである。すなわち、接続仲介装置100が行う仲介処理は、通信元端末装置200Aからの接続仲介依頼S2を受けて、アドレステーブルTを参照し(ステップS3)、得られた通信先アドレスを通信元端末装置200Aに対して返信する(ステップS4)だけである。接続仲介装置100がこのような仲介処理を行うだけで、通信元端末装置200Aと通信先端末装置200Bとの間に通信セッションが確立され、両者間での通信が開始することになる。 Thus, 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. In the flowchart shown in FIG. 5, 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.
 このように、先願基本発明の第1の実施形態に係るネットワーク通信システムでは、接続仲介装置100の処理負荷は極めて軽くなる。前述したように、SIPを利用して両端末間の接続仲介処理を行うシステムでは、従来型の中継処理に比べれば、その処理負荷は軽減されることになるが、両端末間にセッションが確立するまで関与する必要があり、多数の端末装置からの仲介依頼が集中すると、その処理負荷はかなり重くなってくる。これに対して、先願基本発明の第1の実施形態に係るシステムの場合、接続仲介装置100は、両端末間に通信セッションが確立するまで関与する必要はなく、通信元端末装置に対して通信先アドレスを伝達する処理を行えば足りる。このため、一対の端末装置間の接続を仲介する際の処理負荷を、より軽減することが可能になる。 As described above, in the network communication system according to the first embodiment of the basic application prior art, the processing load of the connection mediating apparatus 100 becomes extremely light. As described above, in a system that performs connection mediation processing between both terminals using SIP, 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. On the other hand, in the case of the system according to the first embodiment of the basic application basic invention, 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.
 このように、先願基本発明の第1の実施形態に係るネットワーク通信システムでは、接続仲介装置100が通信セッション確立まで関与しないため、接続仲介装置100は、両端末装置間に通信セッションが確立し、支障なく通信が行われているか否かを把握することはできない。そこで、もし必要があれば、通信セッション確立後に、通信元セッション確立部260Aもしくは通信先セッション確立部230Bから接続仲介装置100に対して、支障なく通信セッションが確立した旨の報告を行うようにしてもよい。 As described above, in the network communication system according to the first embodiment of the basic application prior invention, 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.
 なお、上述の実施例では、通信先セッション確立部230Bが、通信元端末装置200Aから、自己を通信先とする通信開始要求S5がなされた時に、ステップS6において、当該通信元端末装置200Aに対して通信開始受諾確認を送信する、という説明を行ったが、場合によっては、通信開始要求S5を受諾せずに拒絶し、通信開始受諾確認を送信しないようにしてもよい(あるいは、通信開始受諾確認の代わりに、通信開始拒絶通知を送信するようにしてもよい)。すなわち、通信先セッション確立部230Bに何らかの条件判断機能をもたせておき、通信開始要求S5がなされた場合、所定の条件を満たしている場合に限り、通信開始受諾確認を送信する処理を行わせるようにすればよい。 In the above-described embodiment, 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. Although the description has been made that 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.
 たとえば、通信先端末装置200BのユーザBが、通信先セッション確立部230に対して、着信拒否の設定を行えるようにし、「着信拒否の設定がなされていない」という条件を満たす場合にのみ、通信開始受諾確認を送信する処理が行われるようにすればよい。また、通信開始要求S5に、通信元端末装置200Aを特定するための何らかの通信元特定情報(たとえば、端末ID)を含ませるようにしておけば、通信先セッション確立部230Bは、通信開始要求S5を行った通信元に応じて、当該要求を受諾したり拒絶したりする処理が可能になる。 For example, 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. Further, if communication source request information (for example, a terminal ID) for specifying the communication source terminal device 200A is included in the communication start request S5, 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.
 たとえば、通信先セッション確立部230Bに、通信開始要求S5を常に拒絶する通信元リスト(いわゆるブラックリスト)や通信開始要求S5を常に受諾する通信元リスト(いわゆるホワイトリスト)を用意しておけば、通信先セッション確立部230Bは、当該リストを参照することにより、通信開始要求S5を受諾するか拒絶するかの判断を行うことができる。 For example, if 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.
 また、§3-3で述べるように、セキュリティを向上させる変形例を採用する場合は、通信開始要求S5に何らかのセキュリティ上の問題が存在する場合には、これを拒絶する運用を採用することも可能である。 In addition, as described in 3-33-3, when adopting a modification for improving security, it is also possible to adopt an operation of rejecting any security problem in the communication start request S5, if any. It is possible.
 <<< §2.先願基本発明の第2の実施形態 >>>
 <2-1. 先願基本発明の第2の実施形態の構成>
 続いて、先願基本発明の第2の実施形態を説明する。図6は、この第2の実施形態に係るネットワーク通信システムの全体構成を示すブロック図である。図示のとおり、このネットワーク通信システムは、接続仲介装置300と複数の端末装置400A~400Dによって構成されており、これらの各装置はいずれもネットワークN(この例では、インターネット)を介して相互に接続することが可能である。
<<< 2. 2. Second embodiment of the basic application of the prior application >>>
<2-1. Configuration of Second Embodiment of Prior Invention Basic Invention>
Subsequently, a second embodiment of the basic application of the prior application will be described. FIG. 6 is a block diagram showing an entire configuration of a network communication system according to the second embodiment. As shown, 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.
 ここでも、説明の便宜上、4台の端末装置400A~400Dを用いた例を示すことにするが、実用上は、より多数の端末装置を利用するのが一般的である。各端末装置400A~400Dは、共通の構成を有する同一の装置であり、この共通の端末装置について言及する場合は符号400を用いて示し、相互に区別する必要がある場合には、符号末尾にA~Dを付して示すことにする。端末装置400の内部構成要素を示す各符号についても同様である。 Here, for convenience of explanation, an example using four terminal devices 400A to 400D will be shown, but in practice, it is general to use a larger number of terminal devices. Each of the terminal devices 400A to 400D is the same device 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.
 この図6に示すネットワーク通信システムは、ネットワークNを介して相互に接続可能な複数の端末装置400A~400Dと、これら複数の端末装置間の接続を仲介する接続仲介装置300と、を備えたシステムということになる。やはり端末装置400としては、パソコン、携帯電話、タブレット型端末など、ネットワークNに接続して通信を行う機能を有する様々な電子機器を利用することができる。また、接続仲介装置300は、これら各端末装置400A~400DからネットワークNを介してアクセスを受けるサーバコンピュータによって構成されている。 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.
 各端末装置400A~400Dには、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、接続仲介装置300は、この端末IDを利用して通信元となる端末装置と通信先となる端末装置との間の接続を仲介する処理を実行する。端末IDとしては、前述したとおり、個々の端末装置を相互に識別することができる情報であれば、どのような情報を利用してもかまわない。ここでは、前述した第1の実施形態の場合と同様に、端末装置400A,400B,400C,400Dには、それぞれ「0010」,「0020」,「0030」,「0040」なる端末IDが付与されているものとする。 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. As the terminal ID, as described above, any information may be used as long as the information can identify each terminal device mutually. Here, as in the case of the first embodiment described above, terminal IDs of "0010", "0020", "0030" and "0040" are given to the terminal devices 400A, 400B, 400C and 400D, respectively. It shall be.
 また、各端末装置400A~400Dには、それぞれ自己のネットワーク上での所在を示す所在アドレスが付与されている。ここでも、前述した第1の実施形態の場合と同様に、端末装置400A,400B,400C,400Dに、それぞれAD1,AD2,AD3,AD4なる所在アドレスが付与されているものとする。この所在アドレスは、ネットワーク上で当該端末装置の所在を一義的に決定できるアドレスであれば、どのようなアドレスを用いてもよいが、実用上は、グローバルIPアドレスもしくはNAT-IDを用いればよい。前述したとおり、この所在アドレスは、時間的に変化する。 Further, each of the terminal devices 400A to 400D is provided with a location address indicating the location on the own network. Here, as in the case of the first embodiment described above, it is assumed that the terminal devices 400A, 400B, 400C, and 400D are provided with location addresses AD1, AD2, AD3, and AD4, respectively. As 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.
 図示のとおり、接続仲介装置300には、アドレステーブル格納部310、アドレステーブル更新部320、通信元アドレス送信部330が設けられている。この接続仲介装置300は、実際には、サーバコンピュータなどのコンピュータによって構成される。したがって、図に個々のブロックとして示されている各構成要素は、実際には、コンピュータに専用のプログラムを組み込むことにより構築されることになる。 As illustrated, in the 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.
 アドレステーブル格納部310は、図1に示すアドレステーブル格納部110と同じ構成要素であり、各端末装置400A~400Dのそれぞれについて、端末IDと所在アドレスとを対応づけたアドレステーブルTを格納する機能を有する。図6に示すアドレステーブルTは、図1に示すアドレステーブルTと全く同じものである。アドレステーブル更新部320は、図1に示すアドレステーブル更新部120と同じ構成要素であり、各端末装置400A~400Dからの通知に基づいて、アドレステーブルTの内容を更新する処理を行う。このように、図6に示す構成要素310,320は、実質的に図1に示す構成要素110,120と同じものであるため、ここでは詳細な説明は省略する。 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. As such, 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.
 一方、通信元アドレス送信部330は、図1に示す通信先アドレス返信部130に類似した機能を有する構成要素であるが、若干異なる動作を行う。すなわち、通信元アドレス送信部330は、各端末装置400A~400Dから接続仲介依頼があると、アドレステーブルTを参照することにより通信先アドレスを認識し、当該通信先アドレス宛に、通信元アドレスを送信する処理を行う。この処理のより詳細な説明は後述する。 On the other hand, 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.
 続いて、図7を参照しながら、端末装置400の詳細構成および個々の構成要素の具体的な処理動作を説明する。図示のとおり、端末装置400には、接続仲介依頼部410、通信要求受付部420、通信元セッション確立部430、通信開始要求部440、自己アドレス通知部450、通信先セッション確立部460が設けられている。 Subsequently, the detailed configuration of the terminal device 400 and the specific processing operation of each component will be described with reference to FIG. 7. As illustrated, 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.
 この端末装置400も、実際には、種々のコンピュータ(携帯電話などの機器も含む)によって構成され、図に個々のブロックとして示されている各構成要素は、実際には、コンピュータに専用のプログラムを組み込むことにより構築される。もちろん、この端末装置400にも、必要に応じて、図示されていない種々の構成要素や入出力インターフェイスが組み込まれているが、ここでは、先願基本発明に直接関係する構成要素のみを図にブロックとして示すことにし、その他の構成要素についての説明は省略する。 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.
 この図7においても、図2と同様に、各ブロック間の信号の流れを示す太線矢印は、端末装置400と接続仲介装置300との間でやりとりされる、通信セッション確立前の信号の流れを示しており、細線矢印は、一対の端末装置400の間でやりとりされる、通信セッション確立前の信号の流れを示している。そして、白抜矢印は、一対の端末装置400の間でやりとりされる、通信セッション確立後の信号の流れを示している。 Also in FIG. 7, similarly to FIG. 2, 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.
 また、図2と同様に、図7に楕円ブロックで示されている構成要素は、端末装置400が「アドレス通知」の処理を実行するための構成要素であり、矩形ブロックで示されている構成要素は、端末装置400が「通信元」として機能する場合に必要な処理を実行する構成要素であり、二重矩形ブロックで示されている構成要素は、端末装置400が「通信先」として機能する場合に必要な処理を実行する構成要素である。端末装置400が、「通信元」になったときには、図7に矩形ブロックで示されている構成要素による処理が行われ、「通信先」になったときには、図7に二重矩形ブロックで示されている構成要素による処理が行われる。以下、図7に示す端末装置400の6つの構成要素の各機能を順に説明する。 Further, similarly to FIG. 2, 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. When the terminal device 400 becomes a "communication source", 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. Hereinafter, each function of six components of the terminal device 400 shown in FIG. 7 will be described in order.
 まず、楕円ブロックで示されている自己アドレス通知部450は、「アドレス通知」の処理を実行するための構成要素であり、自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置300に対して通知する処理を実行する。この自己アドレス通知部450の機能は、図2に示す自己アドレス通知部250の機能と全く同じであるため、ここでは詳しい説明は省略する。図6に示すアドレステーブル更新部320は、この通知を受けて、アドレステーブルTの更新を行う。 First, 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.
 次に、図7に矩形ブロックもしくは二重矩形ブロックで示されている5つの構成要素について説明する。上述したように、矩形ブロックで示されている3つの構成要素は、端末装置400が「通信元」として機能する場合に必要な処理を実行し、二重矩形ブロックで示されている2つの構成要素は、端末装置400が「通信先」として機能する場合に必要な処理を実行する。 Next, five components shown as rectangular blocks or double rectangular blocks in FIG. 7 will be described. As described above, the three components indicated by the rectangular block perform the processing necessary when the terminal device 400 functions as a "communication source", and the two configurations indicated by the double rectangular block. The elements perform processing necessary when the terminal device 400 functions as a “communication destination”.
 まず、通信要求受付部420は、自己を通信元として、通信先の別な端末装置に対する通信要求を受け付ける処理を行う構成要素であり、図2に示す通信要求受付部220と全く同じ機能をもつ構成要素である。また、接続仲介依頼部410は、通信要求受付部420によって通信要求が受け付けられたときに、接続仲介装置300に対して、通信先の別な端末装置の端末IDを特定するための通信先特定情報を含む接続仲介依頼を送信する構成要素であり、図2に示す接続仲介依頼部210と全く同じ機能をもつ構成要素である。 First, 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.
 こうして、接続仲介依頼部410から送信された接続仲介依頼は、ネットワークNを介して接続仲介装置300へと伝達される(図における太線矢印は、端末装置400と接続仲介装置300との間でやりとりされる、通信セッション確立前の信号の流れを示している)。すると、接続仲介装置300からは、図に太線矢印で示すように、通信元アドレスが送信されてくる。この通信元アドレスは、通信開始要求部440によって受信される。 Thus, the 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.
 ここで留意すべき点は、接続仲介装置300からの通信元アドレスの送信先は、接続仲介依頼を行った通信元の端末装置ではなく、通信先となる別な端末装置である点である。すなわち、図7に示す例において、矩形ブロックで示す接続仲介依頼部410は、通信元端末装置内の構成要素であるのに対して、二重矩形ブロックで示す通信開始要求部440は、別な通信先端末装置内の構成要素ということになる。したがって、上述の説明において、接続仲介依頼を発する接続仲介依頼部410と、これに応じて接続仲介装置300から送信されてくる通信元アドレスを受信する通信開始要求部440とは、それぞれ異なる端末装置400に所属していることになる。 The point to be noted here is that the transmission destination of the communication source address from the connection mediation device 300 is not the terminal device of the communication source that has made the connection mediation request, but is another terminal device that becomes the communication destination. That is, in the example shown in FIG. 7, the connection mediation request unit 410 indicated by a rectangular block is a component in the communication source terminal device, while the communication start request unit 440 indicated by a double rectangular block is a separate element. It is a component in the communication destination terminal device. Therefore, in the above description, the 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.
 要するに、図6に示されている通信元アドレス送信部330は、ある端末装置400の接続仲介依頼部から接続仲介依頼が送信されてきたときに、アドレステーブルTを参照して、当該接続仲介依頼に含まれている通信先特定情報によって特定される端末IDに対応づけられている所在アドレスに対して、当該接続仲介依頼を送信した通信元の端末装置の端末IDに対応づけられている所在アドレスを通信元アドレスとして送信する処理を行うことになる。 In short, when the connection mediation request is sent from the connection mediation request unit of a certain terminal device 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.
 この通信元アドレス送信部330の処理機能をより明確にするため、ここでは、図6に示す端末装置400Bを通信元、端末装置400Aを通信先とした具体例(たとえば、端末装置400BのユーザBが発呼側となり、端末装置400AのユーザAを着呼側として電話をかけたような場合)について、上記手順を説明しよう。 In order to clarify the processing function of the communication source address transmission unit 330, 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.
 この場合、通信元端末装置400Bから接続仲介装置300に対して、端末装置400Aを通信先として指定する接続仲介依頼が送信されることになる。当該接続仲介依頼を受けた通信元アドレス送信部330は、アドレステーブルTを参照することにより、通信先として指定された端末装置400Aの所在アドレス「AD1」を認識する。前述した第1の実施形態における通信先アドレス返信部130は、こうして認識した通信先の所在アドレスを通信元(接続仲介依頼の送信元)に返信する処理を行っていた。これに対して、図6に示す第2の実施形態における通信元アドレス送信部330は、認識した通信先の所在アドレス「AD1」に宛てて、通信元端末装置400Bの所在を示す通信元アドレス「AD2」(これは、接続仲介依頼の送信元のアドレスとして認識できる)を送信する。 In this case, 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). On the other hand, 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).
 結局、上例の場合、通信元端末装置400Bから接続仲介装置300に対して接続仲介依頼を行うと、接続仲介装置300から通信先端末装置400Aに対して通信元アドレス(通信元端末装置400Bの所在アドレス「AD2」)が送信されることになる。ここが、前述した第1の実施形態と大きく異なる点である。 After all, in the case of the above example, when the communication source terminal device 400B makes a connection mediation request to the connection mediation device 300, the 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.
 こうして送信されてきた通信元アドレスは、図7に示すとおり、通信先端末装置400A内の通信開始要求部440によって受信される。通信開始要求部440は、この通信元アドレス(通信元端末装置400Bのアドレス)に対して通信開始要求を行う。すなわち、通信開始要求部440は、接続仲介装置300から、通信元の別な端末装置のネットワーク上での所在を示す通信元アドレスが送信されてきたときに、ネットワークNを介して、当該通信元アドレスにアクセスして通信開始要求を行うことになる。図に細線矢印で示すとおり、この通信開始要求は、1台の端末装置400(通信先)から別な1台の端末装置400(通信元)に宛てた信号ということになる。 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).
 一方、通信先の別な端末装置(上例の場合、端末装置400A)から通信開始要求がなされた端末装置(上例の場合、端末装置400B)は、当該通信開始要求を通信元セッション確立部430で受信する(図の左側の下向き細線矢印)。そして、この通信元セッション確立部430は、通信先の別な端末装置(上例の場合、端末装置400A)に対して通信開始受諾確認を返信し(図の左側の上向き細線矢印)、当該通信先の別な端末装置との間に通信セッションを確立して通信を開始する。図7の左端に描かれた白抜矢印は、このようにして通信セッションが確立した後の両端末間の信号(通信パケット)の流れを示している。 On the other hand, the terminal apparatus (in the above example, the terminal apparatus 400B) 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.
 こうして、通信元端末装置400Bから通信先端末装置400Aに対して返信された通信開始受諾確認は、通信先端末装置400Aの通信先セッション確立部460によって受信される(図の右側の細線矢印)。通信先セッション確立部460は、この通信開始受諾確認を受信したら、通信元の別な端末装置400Bとの間に通信セッションを確立して通信を開始する。図7の右端に描かれた白抜矢印は、このようにして通信セッションが確立した後の両端末間の信号(通信パケット)の流れを示している。 Thus, 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). When receiving the communication start acceptance confirmation, 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.
 かくして、通信元端末装置と通信先端末装置との間の通信セッション確立後の通信は、通信元端末装置の通信元セッション確立部430と通信先端末装置の通信先セッション確立部460との間で行われることになる。別言すれば、図7の左端の白抜矢印は、ネットワークNを介して、図7の右端の白抜矢印に連なることになる。 Thus, 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. In other words, 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.
 <2-2. 第2の実施形態における具体的な通信手順>
 これまで、図6および図7を参照しながら、先願基本発明の第2の実施形態に係るネットワーク通信システムの構成要素である接続仲介装置300および端末装置400の各構成要素およびその機能を説明した。ここでは、この第2の実施形態に係るネットワーク通信システムにおける通信手順を、具体例に即して説明することにする。
<2-2. Specific Communication Procedure in Second Embodiment>
So far, each component of the connection mediating apparatus 300 and the terminal apparatus 400 which are components of the network communication system according to the second embodiment of the prior invention basic invention will be described with reference to FIG. 6 and FIG. did. Here, the communication procedure in the network communication system according to the second embodiment will be described based on a specific example.
 まず、図7に示す端末装置における自己アドレス通知部450の機能であるが、これは図3を用いて説明した自己アドレス通知部250A,250Bの機能と全く同じであるため、ここでは説明を省略する。 First, 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.
 そこで以下、特定の端末装置間で実際に通信を開始する際の処理手順を説明する。図8は、図6に示すネットワーク通信システムにおいて、通信元端末装置400Bと通信先端末装置400Aとの間の通信セッション確立の手順を示すブロック図である。この図8では、図の上段に接続仲介装置300が示され、図の下段に2組の端末装置400A,400Bが示されている。ここでも、接続仲介装置300と各端末装置400A,400Bとの間の情報のやりとり(太線矢印で示す)や、端末装置400A,400B間の情報のやりとり(細線矢印で示す)は、実際にはネットワークNを介して行われるが、説明の便宜上、ネットワークNの図示は省略する。 Therefore, hereinafter, a processing procedure when actually starting communication between specific terminal devices will be described. 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. In FIG. 8, 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. Also here, 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. Although it is performed via the network N, illustration of the network N is abbreviate | omitted for convenience of explanation.
 また、ここでは、説明の便宜上、端末装置400Bを通信元、端末装置400Aを通信先とした場合の手順を説明する。このため、図8では、通信元端末装置400B内の構成要素については、通信元として必要な処理を実行する構成要素(矩形ブロックの構成要素)のみを実線で示し、通信先端末装置400A内の構成要素については、通信先として必要な処理を実行する構成要素(二重矩形ブロックの構成要素)のみを実線で示すことにし、それ以外の構成要素のブロックは破線で示してある。 Here, for convenience of explanation, a procedure in the case where 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.
 一方、図9は、図8のブロック図に示されている通信セッション確立手順を時系列で説明する流れ図である。以下、図8のブロック図を参照しながら、図9の流れ図に従って、第2の実施形態における具体的な通信手順を説明する。なお、図8のブロック図において、各矢印に付された符号S11~S17は、図9の流れ図における各ステップS11~S17に対応するものである。逆に、図9の流れ図の各ステップにおいて、括弧書きで示された符号は、図8のブロック図における特定のブロックに対応するものであり、当該ステップの内容に関連する特定の構成要素を示すものである。 On the other hand, FIG. 9 is a flow chart for explaining the communication session establishment procedure shown in the block diagram of FIG. 8 in chronological order. Hereinafter, 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. In the block diagram of FIG. 8, the symbols S11 to S17 attached to the arrows correspond to the steps S11 to S17 in the flowchart of FIG. Conversely, in each step of the flow chart of FIG. 9, 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.
 まず、ステップS11において、通信要求受付処理が行われる。これは、図8に示す通信要求受付部420Bによって通信要求を受け付ける処理であり、図5のステップS1で述べた処理と同様であるため説明は省略する。続くステップS12では、この通信要求に基づいて、接続仲介依頼S12が行われる。これは、図8に示す接続仲介依頼部410Bによって行われる処理であり、図5のステップS2で述べた処理と同様であるため説明は省略する。 First, in 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. In the subsequent 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.
 こうして、通信元端末装置400Bの接続仲介依頼部410Bから、接続仲介装置300へ接続仲介依頼S12(図示の例では、通信先特定情報として、通信先端末装置400Aの端末ID「0010」が含まれている)が送信されてくると、ステップS13において、この接続仲介依頼S12を受けた通信元アドレス送信部330が、アドレステーブル格納部310に格納されているアドレステーブルを参照して、当該接続仲介依頼に含まれている通信先特定情報によって特定される端末ID(この例では、「0010」)に対応づけられている所在アドレスを通信先アドレスとして認識する(S13)。たとえば、その時点におけるアドレステーブルTが、図6に示すようなものであったとすると、端末ID「0010」に対応づけられているアドレス「AD1」が通信先アドレスとして認識される。 Thus, the 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. Is sent, in step S13, 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.
 そこで、ステップS14において、通信元アドレス返信部330が、ステップS13で認識した通信先アドレス「AD1」宛に、接続仲介依頼S12を送信した通信元端末装置400Bの端末ID「0020」に対応づけられている所在アドレス「AD2」を通信元アドレスとして送信する(S14)。 Therefore, in 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).
 前述したとおり、一般に、ネットワークを介して接続された二者間で情報の送受を行う場合、情報の送信側は自分のアドレスを受信側に伝達し、受信側は当該送信側のアドレス宛にアクノレッジ信号を返信する処理を行う。したがって、通信元アドレス送信部330は、接続仲介依頼S12を受信した時点で、その送信元である端末装置400Bの所在アドレス「AD2」を認識することができるので、通信元アドレス送信S14を行う際には、この認識した所在アドレス「AD2」をデータとして送信すればよい。 As described above, in general, 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.
 このように、通信元端末装置400Bが、接続仲介装置300に対して接続仲介依頼S12を行うと、この接続仲介依頼S12に応じて、接続仲介装置300から、通信先端末装置400A宛に(アドレステーブルTで検索した所在アドレス「AD1」宛に)、通信元端末装置400Bの所在を示す通信元アドレス「AD2」が送信されることになる。接続仲介装置300に用意されているアドレステーブルTは、常に最新の状態に更新されているので、通信元アドレス送信S14は、常に通信先端末装置400Aの最新の所在アドレスに対して行われることになる。 As described above, when the communication source terminal device 400B sends a connection mediation request S12 to the connection mediation device 300, the 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.
 こうして、通信元アドレス送信部330から通信元アドレス送信S14(通信元アドレス「AD2」を伝達する情報)が送信されてくると、当該通信元アドレス送信S14は、通信先端末装置400Aの通信開始要求部440Aによって受信される。 Thus, when 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.
 この通信元アドレス送信S14により、通信元アドレス「AD2」を取得した通信開始要求部440Aは、ステップS15において、通信元端末装置400Bに対して通信開始要求S15を行う。すなわち、ネットワークNを介して、通信元アドレス「AD2」宛にアクセスを行い、相手方に通信開始の要求を伝える。このとき、自己の所在アドレス(通信元アドレス「AD1」)も併せて伝達されることになる。 In 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.
 通信元アドレス「AD2」宛に行われた通信開始要求S15は、通信元端末装置400Bの通信元セッション確立部430Bによって受信される。通信元セッション確立部430Bは、通信先端末装置400Aから、自己(端末装置400B)を通信元とする通信開始要求S15がなされたら、まず、ステップS16において、ネットワークNを介して通信先端末装置400Aに対して通信開始受諾確認S16を送信する。そして、続くステップS17において、通信先端末装置400Aとの間に通信セッションを確立して通信S17を開始する。 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. When 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. In response to this, the communication start acceptance confirmation S16 is transmitted. Then, in the subsequent step S17, a communication session is established with the communication destination terminal device 400A, and communication S17 is started.
 一方、通信先端末装置400A宛に送信されてきた通信開始受諾確認S16は、通信先セッション確立部460Aによって受信される。そして、ステップS17では、この通信開始受諾確認S16を受信した通信先セッション確立部460Aが、通信元端末装置400Bとの間に通信セッションを確立して通信S17を開始する処理も行われる。要するに、通信先端末装置400A側では、通信開始要求S15に応じて、通信元端末装置400Bから通信開始受諾確認S16が返信されてきたら、当該通信元端末装置400Bとの間に通信セッションを確立して通信を開始する処理を行うことになる。 On the other hand, 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.
 かくして、通信元端末装置400Bと通信先端末装置400Aとの間に通信セッションが確立され、両者間での通信S17が行われることになる。この図9に示す流れ図において、接続仲介装置300が行った処理は、ステップS13のアドレステーブル参照処理とステップS14の通信元アドレス送信処理だけである。すなわち、接続仲介装置300が行う仲介処理は、通信元端末装置400Bからの接続仲介依頼S12を受けて、アドレステーブルTを参照し(ステップS13)、得られた通信先アドレスに宛てて、通信元アドレスのデータを送信する(ステップS14)だけである。接続仲介装置300がこのような仲介処理を行うだけで、通信元端末装置400Bと通信先端末装置400Aとの間に通信セッションが確立され、両者間での通信が開始することになる。 Thus, 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. In the flowchart shown in FIG. 9, 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.
 このように、先願基本発明の第2の実施形態に係るネットワーク通信システムでは、第1の実施形態に係るネットワーク通信システムと同様に、接続仲介装置300の処理負荷は極めて軽くなる。前述したように、SIPを利用して両端末間の接続仲介処理を行うシステムでは、従来型の中継処理に比べれば、その処理負荷は軽減されることになるが、両端末間にセッションが確立するまで関与する必要があり、多数の端末装置からの仲介依頼が集中すると、その処理負荷はかなり重くなってくる。これに対して、先願基本発明の第2の実施形態に係るシステムの場合、接続仲介装置300は、両端末間に通信セッションが確立するまで関与する必要はなく、通信先端末装置に対して通信元アドレスを伝達する処理を行えば足りる。このため、一対の端末装置間の接続を仲介する際の処理負荷を、より軽減することが可能になる。 As described above, in the network communication system according to the second embodiment of the basic application prior invention, the processing load of the connection mediating apparatus 300 is extremely light as in the network communication system according to the first embodiment. As described above, in a system that performs connection mediation processing between both terminals using SIP, 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. On the other hand, in the case of the system according to the second embodiment of the basic application basic invention, 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.
 このように、先願基本発明の第2の実施形態に係るネットワーク通信システムでは、接続仲介装置300が通信セッション確立まで関与しないため、接続仲介装置300は、両端末装置間に通信セッションが確立し、支障なく通信が行われているか否かを把握することはできない。そこで、もし必要があれば、通信セッション確立後に、通信元セッション確立部430Bもしくは通信先セッション確立部460Aから接続仲介装置300に対して、支障なく通信セッションが確立した旨の報告を行うようにしてもよい。 As described above, in the network communication system according to the second embodiment of the basic application prior invention, 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.
 なお、上述の実施例では、通信先端末装置400Aの通信開始要求部440Aが、接続仲介装置300からの通信元アドレス送信S14を受信したときに、ステップS15において、自動的に通信開始要求S15を送信しているが、場合によっては、通信開始要求部440Aに何らかの条件判断機能をもたせておき、通信元アドレス送信S14を受信したときに、所定の条件を満たしている場合に限り、通信開始要求S15を送信するようにしてもよい。あるいは、所定の条件を満たしていない場合には、通信開始要求S15の代わりに、通信開始拒絶通知を送信するようにしてもよい。 In the above-described embodiment, when 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. In some cases, 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.
 たとえば、通信開始要求部440Aに、通信開始を常に拒絶する通信元リスト(いわゆるブラックリスト)や通信開始を常に許可する通信元リスト(いわゆるホワイトリスト)を用意しておけば、通信開始要求部440Aは、当該リストを参照することにより、通信元アドレス送信S14によって送信されてきた通信元アドレスが、ブラックリストに掲載されていた場合には、通信開始要求S15の送信を行わない処理をするか、通信開始拒絶通知を送信する運用を行うことができる。あるいは、通信元アドレスが、ホワイトリストに掲載されていた場合にのみ、通信開始要求S15を送信するような運用を行うことも可能である。 For example, if 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.
 また、上述の実施例では、通信元セッション確立部430Bが、通信先端末装置400Aから、自己を通信元とする通信開始要求S15がなされた時に、ステップS16において、当該通信先端末装置400Aに対して通信開始受諾確認を送信する、という説明を行ったが、場合によっては、通信開始要求S15を受諾せずに拒絶し、通信開始受諾確認を送信しないようにしてもよい(あるいは、通信開始受諾確認の代わりに、通信開始拒絶通知を送信するようにしてもよい)。 Further, in the above-described embodiment, when 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, in step S16, the communication destination terminal device 400A Although the description has been made that the communication start acceptance confirmation is 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).
 たとえば、§3-4で述べるように、セキュリティを向上させる変形例を採用する場合は、通信開始要求S15に何らかのセキュリティ上の問題が存在する場合には、これを拒絶する運用を採用することも可能である。 For example, as described in 3-43-4, when adopting a modification for improving security, it is also possible to adopt an operation of rejecting any security problem in the communication start request S15, if any. It is possible.
 <<< §3. 先願基本発明の第1および第2の実施形態の変形例 >>>
 ここでは、§1で述べた先願基本発明の第1の実施形態および§2で述べた先願基本発明の第2の実施形態について、いくつかの変形例を述べる。
<<< 3. 3. Modification of the first and second embodiments of the basic application of the prior application >>>
Here, some modified examples will be described for the first embodiment of the prior application basic invention described in § 1 and the second embodiment of the prior application basic invention described in 2 2.
 <3-1. 端末IDに関する変形例>
 これまで述べてきたように、図1の接続仲介装置100内のアドレステーブル格納部110には、アドレステーブルTが格納されている。図6の接続仲介装置300内のアドレステーブル格納部310も同様である。このアドレステーブルTは、個々の端末装置のそれぞれについて、端末IDと所在アドレスとを対応づけたテーブルであり、通信先アドレス返信部130もしくは通信元アドレス送信部330は、受信した接続仲介依頼に含まれている通信先特定情報に基づいてアドレステーブルTを参照し、通信先の所在アドレスを取得する。
<3-1. Modification of terminal ID>
As described above, 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.
 たとえば、図4に示す第1の実施形態の場合、接続仲介依頼S2には、通信先端末装置200Bの端末ID「0020」が通信先特定情報として含まれており、通信先アドレス返信部130は、アドレステーブルTを参照することにより、端末ID「0020」に対応する所在アドレス「AD2」を取得することができる。同様に、図8に示す第2の実施形態の場合、接続仲介依頼S12には、通信先端末装置400Aの端末ID「0010」が通信先特定情報として含まれており、通信元アドレス送信部330は、アドレステーブルTを参照することにより、端末ID「0010」に対応する所在アドレス「AD1」を取得することができる。 For example, in the case of the first embodiment illustrated in FIG. 4, 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 By referring to the address table T, the location address “AD2” corresponding to the terminal ID “0020” can be acquired. Similarly, in the case of the second embodiment illustrated in FIG. 8, 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.
 このように、これまで述べてきた実施形態では、接続仲介依頼に含ませる通信先特定情報として、通信先端末装置の端末IDを用いていた。この端末IDは、個々の端末装置を相互に識別するための情報であり、具体的には、個々の端末装置に内蔵されているCPUのシリアル番号、通信インターフェイスに付与されたMACアドレス、携帯電話として機能する端末装置の場合は電話番号やSIMカードのシリアル番号、などを端末IDとして用いることができる。 As described above, in the embodiments described above, 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.
 ただ、一般に、ユーザが、他のユーザの端末装置についての端末IDを記憶することは困難である。したがって、通信要求を行う際に、これらの端末IDを、ユーザ自身に直接入力させることは好ましくない。そこで、実用上は、通信要求を行う際に、端末IDで通信先を指定する代わりに、ユーザIDで通信先を指定させるようにするのが好ましい。端末IDが個々の端末装置を識別するためのIDであるのに対して、ユーザIDは個々のユーザを識別するためのIDである。一般的には、ユーザ名やニックネームをユーザIDとして用いることができる。 However, in general, it is difficult for a user to store the terminal ID for the terminal device of another user. Therefore, when making a communication request, it is not preferable for the user to directly input these terminal IDs. Therefore, in practice, when making a communication request, it is preferable to specify the communication destination by the user ID instead of specifying the communication destination by the terminal ID. While the terminal ID is an ID for identifying an individual terminal device, the user ID is an ID for identifying an individual user. Generally, a user name or a nickname can be used as a user ID.
 端末IDの代わりにユーザIDを用いて通信要求を行うことができるようにするには、通信要求受付部220,420内に、ユーザIDと端末IDとの対応表を用意しておけばよい。そして、ユーザが特定のユーザID(たとえば、ユーザ名)を指定して通信要求を行ったときに、通信要求受付部220,420が、用意されている対応表を利用してユーザIDを端末IDに変換して接続仲介依頼部210,410へ引き渡すようにすればよい。そうすれば、接続仲介依頼部210,410は、端末IDを含む接続仲介依頼を送信することができる。このようなユーザID(たとえば、ユーザ名)から端末ID(たとえば、電話番号)への変換処理機能は、一般的な携帯電話に「電話番号登録機能」として備わっている公知の機能であるため、ここでは詳しい説明は省略する。 In order to be able to make a communication request using the user ID instead of the terminal 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.
 端末IDの代わりにユーザIDを利用できるようにする別な方法として、ユーザIDと端末IDとの対応表を接続仲介装置100,300側に用意する方法を採ることもできる。たとえば、アドレステーブル格納部110,310内に、図1や図6に示すアドレステーブルTの代わりに、図10に示すようなアドレステーブルT1を格納しておくようにする。このアドレステーブルT1は、個々の端末装置のそれぞれについて、当該端末装置のユーザを特定するユーザIDと、当該端末装置の端末IDと、を対応づける情報を含むテーブルである。 As another method of making it possible to use the user ID instead of the terminal ID, 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. For example, instead of the address table T shown in FIGS. 1 and 6, 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.
 図10では、説明の便宜上、ユーザIDとして、「John」,「Mary」のようなユーザ名を用いた例を示すが、実際には、テーブルに収録されている個々のユーザを相互に識別できるように、各ユーザのフルネームをユーザIDとして登録しておくようにし、もし同姓同名のユーザがいた場合には、相互に区別できるようなユーザIDを登録するようにする。実際には、端末装置200,400の自己アドレス通知部250,450に、このようなユーザIDを接続仲介装置100,300側に申告する機能を設けておき、アドレステーブル更新部120,320に、申告を受けたユーザIDをアドレステーブルT1に登録する機能を設けておけば、図10に示すようなアドレステーブルT1を用意することが可能になる。 Although FIG. 10 shows an example using user names such as "John" and "Mary" as the user ID for convenience of explanation, in practice, individual users included in the table can be mutually identified. As described above, 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. In practice, 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.
 アドレステーブルT1を用意しておけば、通信元となる端末装置側では、通信先となる端末装置の端末IDを認識する必要はない。たとえば、図4に示す例において、通信元端末装置200Aから通信先端末装置200Bに対して発呼する場合、通信元端末装置200AのユーザA(John)は、通信先端末装置200BのユーザBのユーザ名「Mary」(ユーザID)を通信先として指定した通信要求を行えばよい。この場合、端末ID「0020」の代わりに、「Mary」なるユーザIDを通信先特定情報として含む接続仲介依頼S2が、接続仲介依頼部210Aから接続仲介装置100へ送信されることになる。 If 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. For example, in the example shown in FIG. 4, when 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. In this case, 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.
 このような接続仲介依頼S2を受信した通信先アドレス返信部130は、図10に示すアドレステーブルT1を参照することにより、通信先特定情報として含まれていたユーザ名「Mary」に対応する端末ID「0020」を認識することができ、更に、この端末ID「0020」をもつ通信先端末装置200Bの所在アドレス「AD2」を認識することができる。 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.
 図11は、ユーザIDの代わりにアカウントIDを用いたアドレステーブルT2を示す図である。ユーザIDが、個々のユーザを特定する情報であるのに対して、アカウントIDは、個々のユーザが開設したユーザアカウントを特定する情報である。たとえば、図示の例における「U11111」なるアカウントIDは、ユーザ「John」が開設したユーザアカウントを示すIDであり、「U22222」なるアカウントIDは、ユーザ「Mary」が開設したユーザアカウントを示すIDである。もちろん、個々のユーザは、必要があれば複数のアカウントを開設することが可能である。 FIG. 11 is a diagram showing an address table T2 using an account ID instead of the user ID. While the user ID is information for identifying each user, the account ID is information for identifying a user account established by each user. For example, the account ID “U11111” in the illustrated example is an ID indicating a user account opened by the user “John”, and the account ID “U22222” is an ID indicating a user account opened by the user “Mary” is there. Of course, each user can open multiple accounts if necessary.
 端末装置200,400の自己アドレス通知部250,450に、このようなアカウントを開設するための申込機能を設けておき、アドレステーブル更新部120,320に、当該申込に応じて、所定のユーザアカウントを設定し、アカウントIDをアドレステーブルT2に登録する機能を設けておけば、図11に示すようなアドレステーブルT2を用意することが可能になる。 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.
 図4に示す例において、アドレステーブル格納部110内に図11に示すようなアドレステーブルT2を用意しておけば、接続仲介依頼部210Aは、端末ID「0020」の代わりに、「U22222」なるアカウントIDを通信先特定情報として含む接続仲介依頼S2を接続仲介装置100へ送信すればよい。 In the example shown in FIG. 4, when the address table T2 as shown in FIG. 11 is prepared in the address table storage unit 110, the 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.
 このように、先願基本発明において、接続仲介依頼部から送信される接続仲介依頼には、通信先となる別な端末装置の端末IDを特定する役割を果たす何らかの「通信先特定情報」が含まれていれば足りる。この「通信先特定情報」は、端末ID自身であってもよいし、上例のように、ユーザIDやアカウントIDであってもかまわない。 As described above, in the prior application basic invention, the 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.
 結局、この§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に対応づけられている所在アドレスを通信先アドレスとして返信する処理を行うようにすればよい。 After all, in the case where the modification described in に 3-1 is applied to the first embodiment described in § 1, in the configuration shown in FIG. Storing an address table T1 (FIG. 10) or T2 (FIG. 11) including information associating the user ID of the terminal device or the account ID of the user account with the terminal ID of the terminal device Let's keep it. Further, the 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. Then, when the connection mediation request S2 is transmitted from the connection mediation request unit 210A, 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.
 一方、この§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に対応づけられている所在アドレス宛に、通信元アドレスを送信する処理を行うようにすればよい。 On the other hand, when applying the modification described in 述 べ 3-1 to the second embodiment described in 2 2, in the configuration shown in FIG. Storing an address table T1 (FIG. 10) or T2 (FIG. 11) including information associating the user ID of the terminal device or the account ID of the user account with the terminal ID of the terminal device Let's keep it. The 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. Then, 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.
 <3-2. 代替端末を利用する変形例>
 前述したとおり、先願基本発明に利用可能な端末装置は、パソコン、携帯電話、タブレット型端末など多岐にわたり、最近は、同一のユーザが複数の端末装置を使い分けることも珍しくなくなってきている。ここでは、そのような状況を考慮して、特定の端末装置に対する着呼があったときに、当該着呼を同一ユーザの別な端末装置へ誘導する仕組をもった変形例を述べることにする。
<3-2. Modification using an alternative terminal>
As described above, 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. Here, in consideration of such a situation, when there is an incoming call for a specific terminal device, a modified example is described in which the incoming call is directed to another terminal device of the same user. .
 ここで述べる変形例を実施する際には、予め、図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台の端末装置を所有しているためである。 When implementing the modification described here, an address table T3 as shown in FIG. 12 is prepared in advance. In the case of 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.
 ここで、同一のユーザIDに対応づけられて登録されている複数の端末IDを、1つのグループに所属する端末IDとして把握し、同じグループに所属する1つの端末IDを別な1つの端末IDについての代替端末IDと呼ぶことにすれば、図12に示すアドレステーブルT3は、特定の端末IDについて、1つもしくは複数の代替端末IDを登録したアドレステーブルということができる。要するに、同一のユーザ名で複数の端末IDの登録があった場合には、これらの端末IDを同一のグループに所属するものとして把握し、相互に代替端末IDとして認識する取り扱いを行うようにすればよい。 Here, a plurality of terminal IDs registered in association with the same user ID are grasped as terminal IDs belonging to one group, and one terminal ID belonging to the same group is another terminal ID 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. In short, when there is registration of a plurality of terminal IDs with the same user name, 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.
 たとえば、図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」が登録されていることになる。 For example, in the case of the example shown in FIG. 12, one alternative terminal ID "0011" is registered for the terminal ID "0010", and conversely, one alternative terminal ID "0010" for the terminal ID "0011" is registered. It will be registered. On the other hand, two alternative terminal IDs "0031" and "0032" are registered for the terminal ID "0030", and two alternative terminal IDs "0030" and "0032" are registered for the terminal ID "0031". For the terminal ID "0032", two alternative terminal IDs "0030" and "0031" are registered.
 ここで述べる変形例に係るシステムでは、このような代替端末IDを登録しておくことにより、利用不都合な状態にある端末装置宛に発呼があったときに、当該発呼を代替となる別な端末装置宛に転送させることができる。 In the system according to the modification described here, by registering such an alternative terminal ID, when there is a call to a terminal device in an inconvenient state, the call may be substituted. Can be transferred to a terminal device.
 たとえば、ユーザJohnが、スマートフォンからなる第1の端末装置(端末ID「0010」)とパソコンからなる第2の端末装置(端末ID「0011」)とを所有しており、通常は、いずれの端末装置も利用可能な状態になっているものとしよう。ところが、ある日、スマートフォンからなる第1の端末装置について、バッテリ切れで一時的に利用できない状態になったとする。この場合、もし、ユーザMaryが、自己の端末装置を通信元として、ユーザJohnのスマートフォンを通信先とする通信要求を行ったとしても、ユーザJohnのスマートフォンに対する正常な接続を行うことはできない。 For example, 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.
 ここで述べる変形例に係るシステムでは、このような場合、接続仲介装置が、ユーザJohnのスマートフォンの代わりに、その代替となるユーザJohnのパソコンに代替接続する処理を実行することができる。 In such a case, in the system according to the modified example described here, the 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.
 この§3-2で述べる変形例を§1で述べた先願基本発明の第1の実施形態に適用する場合は、図4に示す構成に対して、次のような変更を施せばよい。 When applying the modification described in §3-2 to the first embodiment of the basic application invention described in §1, the following modification may be made to the configuration shown in FIG.
 まず、アドレステーブル格納部110には、特定の端末IDについて、1つもしくは複数の代替端末IDを登録したアドレステーブル(たとえば、図12に示すアドレステーブルT3)を格納しておく。そして、通信先アドレス返信部130には、個々の端末装置について利用不都合な状態にあるか否かを判定する機能を付加しておく。具体的には、たとえば、判定対象となる端末装置に対して試験アクセスを行い、正常な返信があった場合には問題なしと判断するが、正常な返信が得られなかった場合には利用不都合な状態にあるとの判断を行うようにすればよい。 First, 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. Then, 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.
 通信先アドレス返信部130は、接続仲介依頼S2が送信されてきたときに、通信先特定情報で特定される本来の端末IDが付与された端末装置について、利用不都合な状態にあるか否かを判定する処理を行う。そして、もし、本来の端末IDが付与された端末装置が利用不都合な状態にある場合には、当該本来の端末IDに代えて代替端末IDに対応づけられている所在アドレスを通信先アドレスとして返信する処理を行うようにする。 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.
 たとえば、図12に示すアドレステーブルT3が用意されている状態において、通信先特定情報として本来の端末ID「0010」(ユーザJohnのスマートフォン)を含む接続仲介依頼が送信されてきた場合、通信先アドレス返信部130は、まず、端末ID「0010」に対応する所在アドレス「AD1」に試験アクセスを行い、正常な返信があった場合には問題なしと判断し、通常の手順に従って、所在アドレス「AD1」を通信先アドレスとして返信する処理を行えばよい。この場合、通信元端末装置は、本来の端末ID「0010」が付与されたユーザJohnのスマートフォンを通信先として通信を行うことができる。 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. 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.
 ところが、試験アクセスに対して正常な返信が得られなかった場合には、本来の端末ID「0010」が付与された端末装置(ユーザJohnのスマートフォン)が利用不都合な状態にあると判断し、本来の端末ID「0010」に代えて、アドレステーブルT3において端末ID「0010」についての代替端末IDとして登録されている端末ID「0011」に対応づけられている所在アドレス「AD5」を通信先アドレスとして返信する処理を行うようにする。この場合、通信元端末装置は、本来の端末ID「0010」が付与されたユーザJohnのスマートフォンではなく、代替端末ID「0011」が付与されたユーザJohnのパソコンを通信先として通信を行うことができる。 However, when a normal reply is not obtained for the test access, it is determined that the terminal device (the smartphone of the user John) to which the original terminal ID "0010" is assigned is in an inconvenient state of use, In place of the terminal ID "0010", 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. Make a reply process. In this case, 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.
 一方、この§3-2で述べる変形例を§2で述べた先願基本発明の第2の実施形態に適用する場合は、図8に示す構成に対して、次のような変更を施せばよい。 On the other hand, when the modification described in §3-2 is applied to the second embodiment of the basic application basic invention described in §2, the following modification can be made to the configuration shown in FIG. Good.
 まず、アドレステーブル格納部310には、特定の端末IDについて、1つもしくは複数の代替端末IDを登録したアドレステーブル(たとえば、図12に示すアドレステーブルT3)を格納しておく。そして、通信元アドレス送信部330には、個々の端末装置について利用不都合な状態にあるか否かを判定する機能を付加しておく。具体的には、上述したように、判定対象となる端末装置に対して試験アクセスを行い、正常な返信があった場合には問題なしと判断するが、正常な返信が得られなかった場合には利用不都合な状態にあるとの判断を行うようにすればよい。 First, 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.
 通信元アドレス送信部330は、接続仲介依頼S12が送信されてきたときに、通信先特定情報で特定される本来の端末IDが付与された端末装置について、利用不都合な状態にあるか否かを判定する処理を行う。そして、もし、本来の端末IDが付与された端末装置が利用不都合な状態にある場合には、当該本来の端末IDに代えて代替端末IDに対応づけられている所在アドレスに対して、接続仲介依頼S12を送信した通信元端末装置の所在アドレスを通信元アドレスとして送信する処理を行うようにする。 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.
 たとえば、図12に示すアドレステーブルT3が用意されている状態において、通信先特定情報として本来の端末ID「0010」(ユーザJohnのスマートフォン)を含む接続仲介依頼が送信されてきた場合、通信元アドレス送信部330は、まず、端末ID「0010」に対応する所在アドレス「AD1」に試験アクセスを行い、正常な返信があった場合には問題なしと判断し、通常の手順に従って、所在アドレス「AD1」宛に通信元アドレスの送信を行えばよい。この場合、通信元端末装置は、本来の端末ID「0010」が付与されたユーザJohnのスマートフォンを通信先として通信を行うことができる。 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.
 ところが、試験アクセスに対して正常な返信が得られなかった場合には、本来の端末ID「0010」が付与された端末装置(ユーザJohnのスマートフォン)が利用不都合な状態にあると判断し、本来の端末ID「0010」に代えて、アドレステーブルT3において端末ID「0010」についての代替端末IDとして登録されている端末ID「0011」に対応づけられている所在アドレス「AD5」宛に通信元アドレスの送信を行うようにする。この場合、通信元端末装置は、本来の端末ID「0010」が付与されたユーザJohnのスマートフォンではなく、代替端末ID「0011」が付与されたユーザJohnのパソコンを通信先として通信を行うことができる。なお、図12に示すユーザFrankのように、複数の代替端末IDが登録されている場合は、予め優先順位を定めておき、優先順位の高い順に実際に利用する代替端末IDを決定すればよい。 However, when a normal reply is not obtained for the test access, it is determined that the terminal device (the smartphone of the user John) to which the original terminal ID "0010" is assigned is in an inconvenient state of use, Communication source address addressed to the location address "AD5" associated with the terminal ID "0011" registered as an alternative terminal ID in the address table T3 instead of the terminal ID "0010" of To send In this case, 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. When a plurality of alternative terminal IDs are registered as in the case of the user Frank shown in FIG. 12, priorities may be determined in advance, and alternative terminal IDs to be actually used may be determined in descending order of priority. .
 なお、上述の実施例では、通信先アドレス返信部130や通信元アドレス送信部330は、接続仲介依頼を受信した時点で、本来の通信先に対する試験アクセスを行い、利用不都合な状態にあるか否かを判定する処理を行っているが、その代わりに、個々の端末装置に対して定期的な試験アクセスを行うようにし、利用不都合な状態にある端末装置については、その時点でアドレステーブルにその旨の記録を行うようにしてもよい。この場合、各端末装置は、接続仲介依頼の有無にかかわらず、定期的に試験アクセスを受け、利用不都合な状態にあるか否かのチェックを受けることになり、チェック結果がアドレステーブルに記録されることになる。したがって、実際に接続仲介依頼があった場合は、このアドレステーブルの記録に基づいて利用不都合な状態にあるか否かを判定することができる。 In the above-described embodiment, 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. In the alternative, for periodical test access to individual terminals, for terminals that are in an inconvenient state, the address table is The effect may be recorded. In this case, 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.
 なお、この変形例にいう「利用不都合な状態」とは、バッテリ切れの状態やネットワークへの接続障害が生じた状態のように「利用不能な状態」のみを意味するものではない。たとえば、端末装置の機能としては正常に利用可能な状態ではあるが、ユーザが恣意的に利用したくないと考え、そのような設定を行った状態も含むものである。たとえば、ユーザが自分の意思で「着信拒否」を設定した場合、当該端末装置は「利用不都合な状態」になる。したがって、上例の場合、ユーザJohnが所持するスマートフォンおよびパソコンがいずれも正常動作可能な状態であっても、もしユーザJohnが、スマートフォンに対して「着信拒否」を設定した場合、当該スマートフォンは「利用不都合な状態」になる。 Note that 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. For example, as a function of 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. For example, when the user sets “incoming call rejection” by his own intention, 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” (setting of “use inconvenient state”) 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.
 <3-3. セキュリティを向上させる変形例(その1)>
 ここでは、よりセキュリティを向上させたネットワーク通信システムを構築するための変形例を述べる。一般に、電子機器間でネットワークを介して情報のやりとりを行う場合、相手方の真正性を担保することは重要である。真正性が担保されない相手との交信は、クラッカーの攻撃を招くおそれがあり、セキュリティ上問題である。先願基本発明に係るネットワーク通信システムの場合、個々の端末装置と接続仲介装置との間の交信や、通信元端末装置と通信先端末装置との間の交信が不可欠であり、実用上、これら装置間通信におけるセキュリティ確保は重要である。
<3-3. Modification to Improve Security (Part 1)>
Here, a modified example for constructing a network communication system with further improved security will be described. Generally, when exchanging information between electronic devices via a network, it is important to secure the authenticity of the other party. Communication with a person whose authenticity is not secured can lead to a cracker attack, which is a security issue. In the case of the network communication system according to the prior application basic invention, communication between each terminal device and the connection mediation device, and communication between the communication source terminal device and the communication destination terminal device are indispensable. Ensuring security in inter-device communication is important.
 図13は、図4に示す第1の実施形態に係るネットワーク通信システムについて、セキュリティを向上させた変形例を示すブロック図である。この変形例では、第1の実施形態に係るネットワーク通信システムに対して、セキュリティを向上させるための2つの対策が施されている。 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.
 第1の対策は、相互認証処理の付加であり、図に破線の矢印で示されている情報を送受する際に、両者間で相手方の真正性を確認するための相互認証処理が行われる。具体的には、まず、通信元端末装置200Aから接続仲介装置100に対して接続仲介依頼S2を送信するときに、通信元端末装置200Aと接続仲介装置100との間で、相互に相手方の装置の真正性を確認するための相互認証処理が行われる。接続仲介依頼S2を示す矢印が破線になっているのは、この相互認証処理が行われることを示している。したがって、各端末装置200および接続仲介装置100には、このような認証処理機能が備わっていることになる。 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 S2 from the communication source terminal device 200A to the connection mediation device 100, 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.
 なお、図示の例の場合、接続仲介装置100から通信元端末装置200Aに対して通信先アドレス返信S4を行う際の相互認証処理は省略されている(通信先アドレス返信S4を示す矢印は実線で描かれている)。これは、接続仲介依頼S2を送信するときに、通信元端末装置200Aと接続仲介装置100との間の相互認証処理が既に完了しており、相手方の装置の真正性が確認済みとなっているためである。もちろん、通信先アドレス返信S4を行う際にも、再び相互認証処理を実行するようにしてもかまわない。 In the example shown in the figure, 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.
 また、図13に示すシステムの場合、通信元端末装置200Aから通信先端末装置200Bに対して通信開始要求S5を送信するときにも、通信元端末装置200Aと通信先端末装置200Bとの間で、相互に相手方の装置の真正性を確認するための相互認証処理が行われる。通信開始要求S5を示す矢印が破線になっているのは、この相互認証処理が行われることを示している。したがって、各端末装置200には、このような認証処理機能が備わっていることになる。 Further, in the case of the system shown in FIG. 13, also when the communication start request S5 is transmitted from the communication source terminal device 200A to the communication destination terminal device 200B, between the communication source terminal device 200A and the communication destination terminal device 200B. A mutual authentication process is performed to mutually confirm the authenticity of the other device. The dashed line indicating the communication start request S5 indicates that this mutual authentication process is performed. Therefore, each terminal device 200 has such an authentication processing function.
 なお、図示の例の場合、通信先端末装置200Bから通信元端末装置200Aに対して通信開始受諾確認S6を行う際の相互認証処理は省略されている(通信開始受諾確認S6を示す矢印は実線で描かれている)。これは、通信開始要求S5を送信するときに、通信元端末装置200Aと通信先端末装置200Bとの間の相互認証処理が既に完了しており、相手方の装置の真正性が確認済みとなっているためである。もちろん、通信開始受諾確認S6を行う際にも、再び相互認証処理を実行するようにしてもかまわない。 In the illustrated example, 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.
 ネットワークを介して接続された一対の装置間において、相手方の真正性を確認するための相互認証処理としては、既に種々の方法が知られているため、ここでは詳しい説明は省略する。一般的には、相手方の暗号鍵を利用した相互認証処理が利用されることが多い。たとえば、公開鍵暗号方式を利用した相互認証処理では、一方の装置で特定の平文データを相手方装置の公開鍵を用いて暗号化し、得られた暗号文データを相手方に送信し、これを受信した他方の装置では、当該暗号文データを自己の暗号鍵を用いて復号し、元の平文データが復元できることを確認する、といった処理手順を採ることができる。この処理手順を双方で行えば、相互に相手方の真正性を確認することができる。 Various methods are already known as mutual authentication processing for confirming the authenticity of the other party between a pair of devices connected via a network, and therefore detailed description will be omitted here. Generally, mutual authentication processing using the encryption key of the other party is often used. For example, in mutual authentication processing using a public key cryptosystem, 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.
 なお、通信元端末装置200Aと通信先端末装置200Bとの間の相互認証処理を、それぞれの暗号鍵を用いて行った場合は、当該暗号鍵を利用して、通信セッション確立後の両者間の通信S7を暗号化通信によって行うようにすれば、セキュリティを更に向上させることができる。具体的には、通信開始要求S5を送信するときの相互認証処理を、通信元端末装置200Aについての暗号鍵および通信先端末装置200Bについての暗号鍵を用いた処理によって行うようにし、通信元端末装置200Aと通信先端末装置200Bとの間における通信セッション確立後の通信S7が、上記相互認証処理で用いた暗号鍵を用いて暗号化されたパケットを送受するパケット通信によって行われるようにすればよい。 When 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.
 図13に示すシステムにおいて、セキュリティを向上させるために施された第2の対策は、接続仲介装置100による仲介証明書の発行である。図示の例の場合、接続仲介装置100は、通信元端末装置200Aと通信先端末装置200Bとの間の接続を仲介する役割を果たす。仲介証明書は「そのような仲介を確かに行った」という事実を証明するために接続仲介装置100が発行する証明書である。通信先端末装置200Bは、この仲介証明書により、接続仲介装置100による仲介が正しく行われていることを確認することができる。以下、その仕組を順に説明する。 In the system shown in FIG. 13, a second measure taken to improve security is the issuance of an intermediary certificate by the connection intermediary device 100. In the illustrated example, 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. Hereinafter, the structure will be described in order.
 まず、接続仲介依頼部210Aから通信先アドレス返信部130に対して、接続仲介依頼S2があると、通信先アドレス返信部130は、この接続仲介依頼S2の送信を受けて、通信元となる特定の端末装置200Aから通信先となる特定の端末装置200Bへの仲介処理を実行したことを示す仲介証明書を発行する。そして、通信先アドレス返信S4を行う際に、通信先アドレス「AD2」とともにこの仲介証明書を、通信元端末装置200Aに返信する。 First, when there is a connection mediation request S2 from the connection mediation request unit 210A to the communication destination address replying unit 130, 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".
 したがって、通信開始要求部240Aは、通信先アドレス「AD2」とともに、この仲介証明書を受信することになる。そこで、通信開始要求部240Aは、当該通信先アドレス「AD2」に対して通信開始要求S5を行う際に、この仲介証明書を併せて送信する。そうすると、通信先セッション確立部230Bは、通信開始要求S5とともに仲介証明書を受信することになる。 Therefore, 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.
 通信先セッション確立部230Bは、通信元の別な端末装置200Aから、自己を通信先とする通信開始要求S5とともに仲介証明書が送信されてきたら、この仲介証明書の正当性が確認されることを条件として、当該通信元の別な端末装置200Aに対して通信開始受諾確認S6を送信し、当該通信元の別な端末装置200Aとの間に通信セッションを確立して通信S7を開始するようにする。もちろん、仲介証明書の正当性が確認されない場合は、通信開始受諾確認S6の送信を行わず、通信S7も開始しない。 When 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.
 前述したとおり、上例の場合の仲介証明書は、接続仲介装置100が「端末装置200Aから端末装置200Bへの仲介処理を実行した」ことを証明するものであるから、通信先セッション確立部230Bは、通信開始要求S5の内容が、当該仲介証明書の証明内容に合致しているか否かを判定することにより、当該仲介証明書の正当性確認を行うことができる。上例の場合、通信開始要求S5は端末装置200Aから送信されてきており、自分自信は端末装置200Bであるから、「端末装置200Aから端末装置200Bへの仲介処理を実行した」との仲介証明書は正しいと判断することができる。 As described above, since 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. In the above example, since the communication start request S5 is transmitted from the terminal device 200A and the self-confidence is the terminal device 200B, 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.
 通信先端末装置200B内の通信先セッション確立部230Bは、通信元端末装置200Aからの通信開始要求S5を受信して、通信元端末装置200Aに対して通信開始受諾確認S6を送信し、通信セッションを確立して通信S7を行う。このとき、受信した通信開始要求S5が正規の信号であれば問題ないが、クラッカーによる偽装信号であった場合、不正行為の被害に遭うおそれがある。また、通信元端末装置200Aがマルウェアに感染していた場合、クラッカーに乗っ取られた状態になり、接続仲介装置100を経由した正規の手順を踏まずに、不正な方法により通信開始要求S5がなされる可能性もある。上述した仲介証明書を発行する対策を講じておけば、このようなクラッカーによる不正行為を防止する上で効果的である。 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. At this time, there is no problem if 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. In addition, when 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. 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.
 仲介証明書のこのような役割を考慮すると、通信先アドレス返信部130は、たとえば次のような方法で仲介証明書を作成すればよい。まず、接続仲介依頼S2に基づいて、通信元となる特定の端末装置200Aの所在アドレス(図示の例では「AD1」)および通信先となる特定の端末装置200Bの所在アドレス(図示の例では「AD2」)を認識する。そして、これら両所在アドレスを含む仲介証明用データを作成する。たとえば、両所在アドレスの文字列をそのまま連結して「AD1」+「AD2」のような文字列を仲介証明用データとしてもよいし、更に、別な秘密文字列「HAPPY」を付加して、「AD1」+「AD2」+「HAPPY」のような文字列を仲介証明用データとしてもよい。 In consideration of the role of the intermediate certificate, 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.
 続いて、こうして作成した仲介証明用データに対して、所定の暗号鍵を利用した一方向性関数を作用させることにより得られたデータを仲介証明書とすればよい。たとえば、一方向性関数としては、通信元端末装置200Aについての暗号鍵もしくは通信先端末装置200Bについての暗号鍵、または、これら双方の暗号鍵を利用したハッシュ関数を用いることができる。 Subsequently, 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. For example, as the 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.
 たとえば、仲介証明用データが、「AD1」+「AD2」+「HAPPY」という文字列によって構成され、当該文字列に、通信先端末装置200Bの公開鍵を利用したハッシュ関数を作用させることにより仲介証明書を作成した場合を例にとってみよう。こうして作成された仲介証明書は、仲介証明用データのハッシュ値ということになる。 For example, 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. Take, for example, the case of creating a certificate. The intermediary certificate created in this way is the hash value of the intermediary certificate data.
 一方、通信開始要求S5とともに、上記仲介証明書を受信した通信先セッション確立部230Bは、次のような手順で、当該仲介証明書の正当性を確認することができる。まず、通信開始要求S5の送信元のアドレスとして、通信元端末装置200Aの所在アドレス「AD1」を認識することができる。また、自分自身の所在アドレス「AD2」も認識することができる。そして、予め取り決めがなされていた上記秘密文字列「HAPPY」(この秘密文字列は、当該ネットワーク通信システムの各構成装置のみが知り得るように管理されている)を用いることにより、「AD1」+「AD2」+「HAPPY」という文字列からなる仲介証明用データを作成する。 On the other hand, 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. First, as the address of the transmission source of the communication start request S5, the location address “AD1” of the communication source terminal device 200A can be recognized. It can also recognize its own location address "AD2". Then, by using the secret character string “HAPPY” (this secret character string is managed so that only each component of the network communication system can know) which has been previously decided, “AD1” + Create intermediary certification data consisting of the string "AD2" + "HAPPY".
 続いて、この仲介証明用データに対して自分自身の公開鍵を用いたハッシュ関数を作用させることにより仲介証明書を作成する。そして最後に、こうして作成した仲介証明書が通信開始要求S5とともに送信されてきた仲介証明書と一致することを確認すればよい。両者が一致すれば、仲介証明書の正当性が確認されたことになる。もちろん、不一致であれば、正当性は確認できないので、何らかの不正が行われている可能性があると判断できる。すなわち、仲介証明書の正当性が確認できない場合は、通信先セッション確立部230Bが受信した通信開始要求S5は、接続仲介装置100による正規の仲介処理に基づいてなされたものではない、と判断することができる。そのような場合、通信先セッション確立部230Bは、通信開始受諾確認S6の送信を行わず、通信セッションの確立を拒絶することになる。 Subsequently, 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.
 なお、上例では、「AD1」+「AD2」+「HAPPY」なる仲介証明用データについてのハッシュ値を仲介証明書として用いているが、もちろん、上記仲介証明用データそのものを仲介証明書として用いることも可能である。ただ、十分なセキュリティを確保する上では、仲介証明用データそのものではなく、そのハッシュ値を仲介証明書として用いるのが好ましい。仲介証明用データには、「AD1」や「AD2」といった所在アドレスが含まれているので、クラッカーによる改竄を受けやすい。したがって、実用上は、上例のように、何らかの暗号鍵を利用した一方向性関数を作用させて仲介証明書を作成するのが好ましい。 In the above example, 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.
 ハッシュ関数などの一方向性関数を用いて仲介証明書を作成すれば、元の仲介証明用データを復元することはできないので、仲介証明書がクラッカーの手に渡ったとしても、不正な改竄を受ける可能性を低減することができる。不正な改竄を防止するという点では、上例の「HAPPY」のような秘密文字列を付加して仲介証明用データを作成することは有効である。もちろん、仲介証明書を発行した日付、時間、曜日などの変動要素を秘密文字列として用いることも可能である。 If you create an intermediary certificate using a one-way function, such as a hash function, you can not restore the original intermediary certificate data, so even if the intermediary certificate is in the hands of a cracker, it will be illegally tampered with. The possibility of receiving can be reduced. From the point of preventing unauthorized tampering, it is effective to create an intermediary proof data by adding a secret string such as "HAPPY" in the above example. Of course, it is also possible to use variable elements such as the date, time, and day of the week when the intermediary certificate is issued as the secret string.
 <3-4. セキュリティを向上させる変形例(その2)>
 上述した§3-3では、§1で述べた先願基本発明の第1の実施形態についてセキュリティを向上させた変形例を述べた。ここでは、§2で述べた先願基本発明の第2の実施形態について、同様の方法でセキュリティを向上させた変形例を述べることにする。
<3-4. Modification to Improve Security (Part 2)>
In the above-described §3-3, the modified example in which the security is improved in the first embodiment of the basic application prior art described in §1 has been described. Here, with respect to the second embodiment of the prior invention basic invention described in § 2, a modified example in which security is improved by the same method will be described.
 図14は、図8に示す第2の実施形態に係るネットワーク通信システムについて、セキュリティを向上させた変形例を示すブロック図である。この変形例では、第2の実施形態に係るネットワーク通信システムに対して、セキュリティを向上させるための2つの対策が施されている。 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.
 第1の対策は、相互認証処理の付加であり、図に破線の矢印で示されている情報を送受する際に、両者間で相手方の真正性を確認するための相互認証処理が行われる。具体的には、まず、通信元端末装置400Bから接続仲介装置300に対して接続仲介依頼S12を送信するときに、通信元端末装置400Bと接続仲介装置300との間で、相互に相手方の装置の真正性を確認するための相互認証処理が行われる。接続仲介依頼S12を示す矢印が破線になっているのは、この相互認証処理が行われることを示している。 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.
 同様に、接続仲介装置300から通信先端末装置400Aに対して通信元アドレス送信S14を行うときにも、接続仲介装置300と通信先端末装置400Aとの間で、相互に相手方の装置の真正性を確認するための相互認証処理が行われる。接続仲介依頼S14を示す矢印が破線になっているのは、この相互認証処理が行われることを示している。したがって、各端末装置400および接続仲介装置300には、上述した認証処理機能が備わっていることになる。 Similarly, also when the communication apparatus address transmission S14 is performed from the connection mediation apparatus 300 to the communication destination terminal apparatus 400A, the authenticity of the other apparatus between the connection mediation apparatus 300 and the communication destination terminal apparatus 400A. Mutual authentication process is performed to confirm the The dashed line indicating the connection mediation request S14 indicates that this mutual authentication process is performed. Therefore, each terminal device 400 and connection mediation device 300 have the above-described authentication processing function.
 また、図14に示すシステムの場合、通信先端末装置400Aから通信元端末装置400Bに対して通信開始要求S15を送信するときにも、通信先端末装置400Aと通信元端末装置400Bとの間で、相互に相手方の装置の真正性を確認するための相互認証処理が行われる。通信開始要求S15を示す矢印が破線になっているのは、この相互認証処理が行われることを示している。したがって、各端末装置400には、このような認証処理機能が備わっていることになる。 Further, in the case of the system shown in FIG. 14, when the communication start terminal device 400A transmits the communication start request S15 to the communication source terminal device 400B, between the communication destination terminal device 400A and the communication source terminal device 400B. A mutual authentication process is performed to mutually confirm the authenticity of the other device. The dashed line indicating the communication start request S15 indicates that this mutual authentication process is performed. Therefore, each terminal device 400 is provided with such an authentication processing function.
 なお、図示の例の場合、通信元端末装置400Bから通信先端末装置400Aに対して通信開始受諾確認S16を行う際の相互認証処理は省略されている(通信開始受諾確認S16を示す矢印は実線で描かれている)。これは、通信開始要求S15を送信するときに、通信先端末装置400Aと通信元端末装置400Bとの間の相互認証処理が既に完了しており、相手方の装置の真正性が確認済みとなっているためである。もちろん、通信開始受諾確認S16を行う際にも、再び相互認証処理を実行するようにしてもかまわない。 In the illustrated example, 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.
 相互認証処理の具体的な方法は、既に§3-3で述べたとおりである。また、この図14に示す変形例の場合も、相互認証処理に用いた暗号鍵を利用して、通信セッション確立後の両端末装置間の通信S17を暗号化通信によって行うようにしてもよい。 The specific method of the mutual authentication process is as already described in 3-33-3. Also in the case of the modified example shown in FIG. 14, communication S17 between the two terminal devices after establishment of the communication session may be performed by encrypted communication using the encryption key used in the mutual authentication process.
 図14に示すシステムにおいて、セキュリティを向上させるために施された第2の対策は、接続仲介装置300による仲介証明書の発行である。図示の例の場合、接続仲介装置300は、通信元端末装置400Bと通信先端末装置400Aとの間の接続を仲介する役割を果たす。仲介証明書は「そのような仲介を確かに行った」という事実を証明するために接続仲介装置300が発行する証明書である。通信元端末装置400Bは、この仲介証明書により、接続仲介装置300による仲介が正しく行われていることを確認することができる。以下、その仕組を順に説明する。 In the system shown in FIG. 14, the second measure taken to improve security is the issuance of an intermediary certificate by the connection intermediary device 300. In the illustrated example, 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. Hereinafter, the structure will be described in order.
 まず、接続仲介依頼部410Bから通信元アドレス送信部330に対して、接続仲介依頼S12があると、通信元アドレス送信部330は、この接続仲介依頼S12の送信を受けて、通信元となる特定の端末装置400Bから通信先となる特定の端末装置400Aへの仲介処理を実行したことを示す仲介証明書を発行する。そして、通信元アドレス返信S14を行う際に、通信元アドレス「AD2」とともにこの仲介証明書を、通信先端末装置400Aに返信する。 First, when there is a connection mediation request S12 from the connection mediation request unit 410B to the communication source address transmission unit 330, 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".
 したがって、通信開始要求部440Aは、通信元アドレス「AD2」とともに、この仲介証明書を受信することになる。そこで、通信開始要求部440Aは、当該通信元アドレス「AD2」に対して通信開始要求S15を行う際に、この仲介証明書を併せて送信する。そうすると、通信元セッション確立部430Bは、通信開始要求S15とともに仲介証明書を受信することになる。 Therefore, 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.
 通信元セッション確立部430Bは、通信先の別な端末装置400Aから、自己を通信元とする通信開始要求S15とともに仲介証明書が送信されてきたら、この仲介証明書の正当性が確認されることを条件として、当該通信先の別な端末装置400Aに対して通信開始受諾確認S16を送信し、当該通信先の別な端末装置400Aとの間に通信セッションを確立して通信S17を開始するようにする。もちろん、仲介証明書の正当性が確認されない場合は、通信開始受諾確認S16の送信を行わず、通信S17も開始しない。 When 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. On the condition that 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.
 前述したとおり、上例の場合の仲介証明書は、接続仲介装置300が「端末装置400Bから端末装置400Aへの仲介処理を実行した」ことを証明するものであるから、通信元セッション確立部430Bは、通信開始要求S15の内容が、当該仲介証明書の証明内容に合致しているか否かを判定することにより、当該仲介証明書の正当性確認を行うことができる。上例の場合、通信開始要求S15は端末装置400Aから送信されてきており、自分自信は端末装置400Bであるから、「端末装置400Bから端末装置400Aへの仲介処理を実行した」との仲介証明書は正しいと判断することができる。 As described above, since 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. In the above example, since the communication start request S15 is transmitted from the terminal device 400A and the self-confidence is the terminal device 400B, 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.
 通信元端末装置400B内の通信元セッション確立部430Bは、通信先端末装置400Aからの通信開始要求S15を受信して、通信先端末装置400Aに対して通信開始受諾確認S16を送信し、通信セッションを確立して通信S17を行う。このとき、受信した通信開始要求S15が正規の信号であれば問題ないが、クラッカーによる偽装信号であった場合、不正行為の被害に遭うおそれがある。また、通信先端末装置400Aがマルウェアに感染していた場合、クラッカーに乗っ取られた状態になり、接続仲介装置300を経由した正規の手順を踏まずに、不正な方法により通信開始要求S15がなされる可能性もある。上述した仲介証明書を発行する対策を講じておけば、このようなクラッカーによる不正行為を防止する上で効果的である。 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. At this time, there is no problem if 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. In addition, when 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.
 仲介証明書の具体的な作成方法は、§3-3で述べたとおりである。すなわち、この図14に示す変形例の場合も、通信元アドレス送信部330は、通信元となる特定の端末装置400Bの所在アドレス「AD2」および通信先となる特定の端末装置400Aの所在アドレス「AD1」を含む仲介証明用データ(必要に応じて、その他の秘密文字列を付加してもよい)に対して、所定の暗号鍵を利用した一方向性関数を作用させることにより仲介証明書を作成すればよい。一方向性関数としては、通信元についての暗号鍵もしくは通信先についての暗号鍵、または、これら双方の暗号鍵を利用したハッシュ関数を用いることができる。このような仲介証明書を用いた正当性確認の具体的な手順は、既に§3-3で述べたとおりであり、ここでは説明を省略する。 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. As the 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.
 <<< §4. ルータを用いた実用的な実施形態 >>>
 これまで述べてきた先願基本発明の第1の実施形態や第2の実施形態では、各発明の基本原理を示す便宜上、各端末装置200A~200D,400A~400DがネットワークN(インターネット)に直接接続されている状態を示す図(図1,図6参照)を用いて説明を行ってきた。しかしながら、通常、各端末装置は、ルータを介してネットワークN(インターネット)に接続される。そこで、ここでは、先願基本発明について、端末装置をルータを介してネットワークに接続した実用的な実施形態を説明する。
<<< 4. 4. Practical embodiment using a router >>>
In the first embodiment and the second embodiment of the prior invention basic invention described above, 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. The description has been made using the diagrams (see FIGS. 1 and 6) showing the connected state. However, usually, 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.
 <4-1. ルータを用いた基本的な実施例>
 図15は、端末装置をルータを介してネットワークNに接続した先願基本発明の一実施形態を示すブロック図である。具体的には、この図15には、3台の端末装置200E,200F,200Gが、同一のルータRを介してネットワークN(インターネット)に接続された状態が示されている。
<4-1. Basic embodiment using a router>
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.
 既に述べたとおり、先願基本発明における端末装置200は、パソコン、携帯電話、タブレット型端末など、ネットワークNに接続して通信を行う機能を有する電子機器であれば、どのような装置であってもかまわない。最近は、企業内LANや家庭内LANが普及し、パソコンやタブレット型端末は、通常、企業や家庭に設置されたルータ経由でインターネットへ接続される。また、最近の携帯電話通信網では、ルータの機能を有する基地局が利用されてきており、携帯電話は、このルータ機能を有する基地局経由でインターネットに接続することができる。 As described above, 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. In recent years, 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. Also, in recent mobile phone communication networks, 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.
 したがって、先願基本発明に利用される各端末装置は、実用上は、図15に例示するように、ルータRを介してインターネットに接続されることになる。ルータRは、LANを構築する機能を有し、図示の例の場合、ルータRより左側に描かれた部分が1つのサブネットを構成しており、クラスCのプライベートIPアドレスが付与されている。具体的には、各端末装置には、「192.168」なるネットワーク部と「0.11」,「0.12」,「0.13」なるホスト部とを有するIPアドレスが付与されている。このサブネット内の装置同士の交信は、ルータRを介さずに行うことができるが、サブネット外の装置にアクセスする場合は、ルータRを介した交信が必要になる。 Therefore, 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. Specifically, 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.
 図示の例の場合、端末装置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が付与された例が示されている。 In the illustrated example, 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). In addition, port numbers are used together with these IP addresses for actual communication. In the figure, 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, and port numbers P4 to P7 are for four communication paths of terminal device 200G. An example given is shown.
 ポート番号は、2バイトのデータからなり、通信のエンドポイントを特定するために利用される。たとえば、図に示す端末装置200Fには、所定のOSプログラムの下で動作する2組のアプリケーションプログラムAPP1,APP2がインストールされており、APP1についての通信路にはポート番号P2が割り当てられ、APP2についての通信路にはポート番号P3が割り当てられている。したがって、同じIPアドレス「192.168.0.12」を用いた通信であっても、ポート番号P2/P3の違いにより、APP1についての通信か、APP2についての通信かを区別することができる。 The port number consists of 2 bytes of data and is used to identify the communication endpoint. For example, in the terminal device 200F shown in the figure, two sets of application programs APP1 and APP2 operating under a predetermined OS program are installed, and a port number P2 is assigned to the communication path for APP1. 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.
 一方、図に示す端末装置200Gには、やはり2組のアプリケーションプログラムAPP1,APP2がインストールされているが、APP1については2組のポート番号P4,P5が割り当てられ、APP2については2組のポート番号P6,P7が割り当てられている。このように、同一のアプリケーションプログラムに複数のポート番号を割り当てて、複数の通信路を相互に区別することも可能である。たとえば、アプリケーションプログラムAPP1がWebブラウザプログラムであった場合、第1のWebページについての通信にはポート番号P4を割り当て、第2のWebページについての通信にはポート番号P5を割り当てる、という運用を行えば、それぞれ別のWebサーバに対して別個独立した通信が可能になる。このように、ポート番号は、個々のアプリケーションプログラムの都合に応じて任意に割り当てることができる。 On the other hand, although 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. As described above, it is also possible to assign a plurality of port numbers to the same application program to distinguish a plurality of communication paths from one another. For example, when the application program APP1 is a web browser program, the port number P4 is assigned to communication on the first web page, and the port number P5 is assigned to communication on the second web page. For example, it becomes possible to perform separate and independent communication with each other web server. In this way, port numbers can be arbitrarily assigned according to the convenience of individual application programs.
 ここでは、図示されているアプリケーションプログラムAPP2が、先願基本発明に係るネットワーク通信システムとしての機能を果たすための専用の通信アプリケーションプログラムであるものとして以下の説明を続ける。別言すれば、図示の端末装置200F,200Gは、所定のOSプログラムの管理下で動作する汎用のパソコン、スマートフォン、タブレット型端末などの装置であり、当該装置に専用の通信アプリケーションプログラムAPP2をインストールすることにより、これらの装置が先願基本発明に係る端末装置として機能することになる。 Here, the following description will be continued assuming that 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. In other words, 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.
 この場合、図2に示す端末装置200の構成要素である自己アドレス通知部250、通信要求受付部220、接続仲介依頼部210、通信開始要求部240、通信元セッション確立部260、通信先セッション確立部230による処理機能は、この通信アプリケーションプログラムAPP2を実行することにより実現される(一部の処理機能は、OSプログラムの実行により実現されるようにしてもよい)。同様に、図7に示す端末装置400の構成要素である自己アドレス通知部450、通信要求受付部420、接続仲介依頼部410、通信開始要求部440、通信元セッション確立部430、通信先セッション確立部460による処理機能は、この通信アプリケーションプログラムAPP2を実行することにより実現される(一部の処理機能は、OSプログラムの実行により実現されるようにしてもよい)。 In this case, 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). Similarly, 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).
 図15には、このアプリケーションプログラムAPP2を示すブロックおよびその通信路を太線で示してある。各端末装置200E,200F,200Gとサブネット外の装置との間の通信は、ルータRを介して行われる。ルータRは、ネットワークアドレス変換機能(NAT(Network Address Translation)機能)を有しており、内側(図におけるルータRの左側)に接続された通信路について付与されたプライベートIPアドレスを、外側(図におけるルータRの右側)に接続された通信路について付与されたグローバルIPアドレスに変換するとともに、その逆の変換も行う。 In 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) In addition to the conversion to the global IP address assigned to the communication path connected to the right side of the router R) in, the reverse conversion is also performed.
 図示の例の場合、ルータ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)と呼ばれている機能により、ポート番号についての変換も行われる。 In the case of the illustrated example, private IP addresses "192.168.0.11" to "192.168.0.13" assigned to the inside of router R and global IP addresses "xx.73.5.111" assigned to the outside of router R Address conversion with (hereinafter referred to as ADx) is performed. Here, 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). In addition, at the time of the address conversion, conversion of the port number is also performed by a function generally called 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)」なる所在アドレスで特定されることになる。 For example, 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)”.
 図示の例の場合、ルータ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機能は、広く利用されている既存の技術であるため、ここでは詳しい説明は省略する。 In the illustrated example, 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. Conversely, when there is access from the device outside the router R to the device inside, processing is performed to convert the global IP address ADx into a private IP address. For example, when there is access from an external device to a location address “xx.73.5.111 (P16)”, 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. Such a NAPT function is a widely used existing technology, so a detailed description is omitted here.
 さて、先願基本発明に係るネットワーク通信システムの構成要素となる端末装置200には、図2に示すとおり、自己アドレス通知部250が含まれており、この自己アドレス通知部250により、自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置100に対して通知する処理が行われる。前述したとおり、この通知処理は、実際には端末装置200にインストールされている通信アプリケーションプログラムAPP2によって実行される。 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.
 したがって、図15に示す実施例の場合も、通信アプリケーションプログラムAPP2によって、接続仲介装置100宛に所在アドレスの通知が行われ、これを受けて、接続仲介装置100内のアドレステーブル更新部120が、各端末装置のそれぞれについて、端末IDと所在アドレスとを対応づけた情報を、アドレステーブル格納部110内のアドレステーブルTに書き込む処理を実行する。 Therefore, also in the case of the embodiment shown in FIG. 15, 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.
 図15に示す実施例の場合、端末装置200F,200Gは、ルータRを介してネットワークNに接続されているため、自己アドレス通知部250は、ルータRが管理するLAN(サブネット)内のプライベートIPアドレスを所在アドレスとして通知する処理を行う。ただ、このプライベートIPアドレスは、ルータRによるNAT機能によりグローバルIPアドレスADxに変換されてネットワークNに送信される。したがって、接続仲介装置100に届くアドレスは、プライベートIPアドレスではなく、グローバルIPアドレスADxということになり、アドレステーブル更新部120は、このグローバルIPアドレスADxを、所在アドレスとしてアドレステーブルTに格納する処理を行う。 In the case of the embodiment shown in FIG. 15, since the terminal devices 200F and 200G are connected to the network N via the router R, 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. However, 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.
 また、図15に示す実施例の場合、各端末装置のネットワーク上での所在を示す所在アドレスとして、IPアドレスにポート番号を付加した情報が用いられている。このため、自己アドレス通知部250は、プライベートIPアドレスにポート番号を付加した情報を所在アドレスとして通知する処理を行い、当該情報がルータRによって、グローバルIPアドレスにポート番号を付加した情報に変換され、接続仲介装置100に届くことになる。したがって、アドレステーブルTには、グローバルIPアドレスにポート番号を付加した情報が所在アドレスとして書き込まれることになる。 Further, in the case of the embodiment shown in FIG. 15, 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. For this reason, 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.
 図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との組み合わせ)の書き込みを行った例である。 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. Write 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) In this example, 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”.
 図15に示す例の場合、各端末装置200F,200G内の自己アドレス通知部250(通信アプリケーションプログラムAPP2)は、プライベートIPアドレスにポート番号を付加した情報を所在アドレスとして送信する処理を行うが、ルータRによって、グローバルIPアドレスにポート番号を付加した情報に変換されるため、実際にアドレステーブルT41に格納される所在アドレスは、図示のとおり、グローバルIPアドレスADxと変換後のポート番号との組み合わせになる。 In the case of the example shown in FIG. 15, 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.
 たとえば、端末装置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」なるポート番号との組み合わせが書き込まれることになる。 For example, from the self address notifying unit 250 of the terminal device 200F, 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 " However, when passing through the router R, 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”. Will be converted to the information added. Therefore, in 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”.
 図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なるデータが格納されている。 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. As described above, in the case of the example shown in FIG. 15, since the global IP address “xx.73.5.111” is assigned to the communication path outside the router R, the address table T42 shown in FIG. The data "xx.73.5.111" is stored in the IP address column of the table. On the other hand, 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.
 結局、図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」で特定される通信先に対して、通信開始要求を行うことができる。 After all, 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”.
 以上、主として図1に示す第1の実施形態(接続仲介装置100と端末装置200を用いる実施形態)においてルータRを用いた例を述べたが、図7に示す第2の実施形態(接続仲介装置300と端末装置400を用いる実施形態)においてルータRを用いた場合も同様である。 The example using the router R in the first embodiment (the embodiment using the connection mediation device 100 and the terminal device 200) mainly shown in FIG. 1 has been described above, but the second embodiment (the connection mediation shown in FIG. 7) The same applies to the case where the router R is used in the embodiment using the device 300 and the terminal device 400).
 なお、接続仲介装置100,300内のアドレステーブル更新部120,320は、各端末装置の自己アドレス通知部250,450から所在アドレスの通知を受けるたびに、図16に例示したアドレステーブルを更新する処理を行う。前述したとおり、図15に示す実施例の場合、端末装置200F,200Gの自己アドレス通知部の処理機能は、所定のOSプログラムの管理下で動作する通信アプリケーションプログラムAPP2を実行することにより実現される。 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. .
 そこで、実用上は、自己アドレス通知部250,450による自己アドレスの通知処理は、図17の表に示すタイミングで行うのが好ましい。図示の表におけるタイミング(1) は、通信アプリケーションプログラムAPP2に対するユーザによる操作入力時である。たとえば、通信アプリケーションプログラムAPP2を起動した後、「通信準備を行いますか(Yes/No)?」のようなメッセージを表示し、ユーザが「Yes」を指示する操作入力を行った時点で、自己アドレスの通知処理を行うようにすればよい。通常、通信アプリケーションプログラムAPP2が起動された時点では、既に端末装置のプライベートIPアドレスや、これに対応するグローバルIPアドレスが定まっており、自己アドレスの通知処理を行う環境が整っている。 Therefore, in practice, it is preferable to perform 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.
 図示の表におけるタイミング(2) は、通信アプリケーションプログラムAPP2の起動時である。このタイミング(2) を採用した場合、上述したメッセージの表示やユーザによる操作入力を待たずして、自動的に自己アドレスの通知処理が実行されることになる。実際には、プログラムAPP2の起動ルーチンに自己アドレス通知部250,450としての処理機能を組み込んでおけばよい。 The timing (2) in the illustrated table is at the start of the communication application program APP2. When 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. In practice, the processing function as the self address notifying unit 250 or 450 may be incorporated into the start routine of the program APP2.
 図示の表におけるタイミング(3) は、OSプログラムの起動時であり、実質的には、端末装置の起動時ということになる。このタイミング(3) を採用する場合、OSプログラムの起動ルーチンに自己アドレス通知部250,450としての処理機能を組み込んでおけばよい。通常、OSプログラムの起動ルーチンにおいて、端末装置のプライベートIPアドレスや、これに対応するグローバルIPアドレスを決定する処理が行われるため、その後に、自己アドレス通知処理を自動的に行うようにしておけばよい。 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. When this timing (3) is adopted, the processing function as the self address notifying unit 250 or 450 may be incorporated into the boot routine of the OS program. Usually, 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.
 <4-2. VPNを利用した実施例>
 続いて、先願基本発明に係るネットワーク通信システムにおいて、VPN(Virtual Private Network)を利用した実施例を述べる。図15には、ルータRを介して端末装置をネットワークNに接続した実施例を例示した。この例の場合、ルータRの内側(図の左側)に構築されたローカルネットワークが1つのプライベートネットワークを構成しており、各端末装置200E,200F,200Gには、いずれも「192.168」なるネットワーク部で始まるプライベートIPアドレスが付与されている。このようなプライベートネットワークを、インターネットNなどの公衆ネットワークを跨いで拡張する方法として、VPNの技術が普及している。
<4-2. Example using VPN>
Subsequently, an embodiment using a VPN (Virtual Private Network) in a network communication system according to the prior invention basic invention will be described. FIG. 15 exemplifies an embodiment in which a terminal apparatus is connected to the network N via the router R. In the case of this example, the local network built inside the router R (left side in the figure) constitutes one private network, and each of the terminal devices 200E, 200F, 200G is a network unit of “192.168”. A private IP address beginning with is assigned. As a method of extending such a private network across public networks such as the Internet N, VPN technology is widely used.
 図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の端末装置と呼ぶことにする。 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. Here, for convenience of explanation, three terminal devices 200H, 200I, 200J (terminal IDs are respectively 0081, 0082, 0083, respectively) set in the Tokyo head office of a certain company, and 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. Also, 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.
 図示のとおり、第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内のホストということになる。 As illustrated, 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.
 このため、第1の端末装置200H,200I,200Jには、第1のルータR1が管理する第1のLAN内のプライベートIPアドレスが付与され、第2の端末装置200Kには、第2のルータR2が管理する第2のLAN内のプライベートIPアドレスが付与されている。また、図15に示す例と同様に、IPアドレスとともにポート番号も付与されている。 Therefore, 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.
 図示の例の場合、第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へ接続される。 In the case of the illustrated example, 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. On the other hand, in the illustrated example, 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.
 このままの状態では、第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の設定がなされている。 In this state, 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. That is, 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.
 したがって、図に破線で示すように、パリ支社に設置された端末装置200Kは、東京本社に設置された端末装置200H,200I,200Jと同様に、第1のルータR1が管理する第1のLAN内の端末装置として取り扱うことができる。図19は、図18に示す実施形態におけるVNP通信の原理を示す図である。図示の例は、東京本社に設置された端末装置200Hとパリ支社に設置された端末装置200Kとの間のVPN通信を示している。 Therefore, as indicated by the broken line in the figure, 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.
 図19に示すように、端末装置200HにはVPN通信部201Hが、端末装置200KにはVPN通信部201Kが、それぞれ設けられており、両者間にVPN暗号通信路が開設される。両者間でやりとりされるデータは暗号化されるため、実際には、インターネットNなどの公衆ネットワークを介して情報が伝達されるにもかかわらず、あたかもプライベートネットワークを介した利便性・安全性をもった情報の送受が可能になる。VPN通信部201H,201Kは、実際には、各端末装置にインストールされた専用のVPN用アプリケーションプログラムによって構築される。このようなVPNの具体的な仕組は公知の技術であるため、ここでは詳しい説明は省略する。 As shown in FIG. 19, 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.
 さて、このようなVPNの仕組を先願基本発明に係るネットワーク通信システムにおいて利用する場合は、接続仲介装置100内に格納されるアドレステーブルTに、VIPアドレスを格納しておくようにすると便利である。図20は、図18に示す実施形態に用いるために、VIPアドレスを追加したアドレステーブルの例を示す図である。図20(a) に示すアドレステーブルT51は、VPNの構成メンバーである端末装置200H~200K内の自己アドレス通知部250からの通知に基づいて、各端末IDに対応する所在アドレス(IPアドレスとポート番号)を格納したものである。 By the way, when using such a VPN structure in the network communication system according to the prior application basic invention, it is convenient to store the VIP address in the address table T stored in the connection mediation device 100. is there. 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.
 ここで、端末装置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アドレスが格納されている。 Here, the terminal devices 200H to 200J (terminal ID: 0081 to 0083) 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. However, 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.
 図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」が格納されている。 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. In the case of the example shown in FIG. 18, 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. In the IP address column of the terminal ID “0081 to 0083” of the address table T52 shown in FIG. 20 (b), data “yy.88.105.19” is stored, and the port number column is stored. Stores a 2-byte number “54701 to 54703” generated by the first router R1.
 一方、第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についての仮想的なプライベートアドレス)が格納されている。 On the other hand, in each communication path outside the second router R2, information obtained by adding the port number P21 to the global IP address ADz “zz.99.214.28” is given as a location address, as shown in FIG. b) Data of "zz.99.214.28" is stored in the IP address column of the terminal ID "0091" of the address table T52 shown in b), and the port number column is generated by the second router R2 The 2-byte number "61999" is stored. Further, in the VIP column of the terminal ID "0091", a VIP address "172.16.6.14" (virtual private address for the first LAN given to the terminal device 200K by setting of VPN) Is stored.
 このように、アドレステーブルT52のVIP欄に「172.16.6.14」なるVIPアドレスを格納するには、第2の端末装置200Kの自己アドレス通知部250に、接続仲介装置100に対して、VPNの設定により付与されたVIPアドレスを通知する機能をもたせておき、アドレステーブル更新部120に、このVIPアドレスを第2の端末装置200Kの所在アドレスと対応づけてアドレステーブルT52に格納する機能をもたせておけばよい。 As described above, in order to store the VIP address "172.1.6.6.14" in the VIP column of the address table T52, 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. And 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.
 このように、アドレステーブルT52に第2の端末装置200KのVIPアドレスを格納しておくようにすれば、たとえば、第1の端末装置200Hが第2の端末装置200Kを通信先として通信を行う際に、第1の端末装置200Hの接続仲介依頼部210が、第2の端末装置200KのVIPアドレス「VIP(200K)」を通信先特定情報として用いて通信先の特定を行うことができる。 Thus, when the VIP address of the second terminal device 200K is stored in the address table T52, for example, when the first terminal device 200H communicates with the second terminal device 200K as a communication destination. In addition, 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.
 具体的には、端末装置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アドレスを用いて接続仲介依頼を行うことができれば便利である。 Specifically, if the 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. Normally, when the VPN setting is performed, 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.
 もちろん、必要があれば、VIPアドレス「172.16.6.14」とともに、ポート番号「P5」を格納しておくようにしてもよい。そうすれば、「172.16.6.14(P5)」なる情報を用いて、特定のポート番号の指定を含む接続仲介依頼を行うことができる。 Of course, if necessary, 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.
 以上、図1に示す先願基本発明の第1の実施形態(接続仲介装置100と端末装置200を用いる実施形態)においてVPNの設定を行い、プライベートネットワークの範囲を仮想的に拡張する例を述べたが、図7に示す先願基本発明の第2の実施形態(接続仲介装置300と端末装置400を用いる実施形態)においてVPNの設定を行う場合も同様である。 The example of virtually expanding the range of the private network by setting the VPN in the first embodiment (the embodiment using the connection mediation device 100 and the terminal device 200) of the prior application basic invention shown in FIG. 1 has been described above. However, the same applies to the case where the setting of the VPN is performed in the second embodiment (embodiment using the connection mediation device 300 and the terminal device 400) of the prior application basic invention shown in FIG.
 <<< §5. 本発明により解決される技術的な問題 >>>
 これまで、国際出願PCT/JP2017/006131に記載されている先願基本発明に係るネットワーク通信システムを説明してきた。しかしながら、この先願基本発明に係るシステムには、ネットワーク環境によっては、端末間通信に支障が生じる可能性がある。以下、そのような支障が生じる具体的な事例を説明する。
<<< 5. 5. Technical problems solved by the present invention >>>
So far, the network communication system according to the prior application basic invention described in International Application PCT / JP2017 / 006131 has been described. However, in the system according to the prior application basic invention, inter-terminal communication may be interrupted depending on the network environment. Hereinafter, specific cases in which such troubles occur will be described.
 図21は、先願基本発明に係るネットワーク通信システムにおいて、通信障害が生じる具体例を示すブロック図である。図には、2組の端末装置200A,200Bが、それぞれルータRA,RBを介してネットワークN(インターネット)に接続されている状態が示されている。このように、ルータを用いて端末装置をネットワークに接続する実施形態の詳細は、§4で述べたとおりである。実用上、多くの端末装置は、図示のようにルータを介してネットワークNに接続されることになる。 FIG. 21 is a block diagram showing a specific example in which a communication failure occurs in the network communication system according to the prior invention basic invention. The figure shows that two sets of terminal devices 200A and 200B are connected to the network N (the Internet) via the routers RA and RB, respectively. As described above, the details of the embodiment in which the terminal device is connected to the network using the router are as described in §4. In practice, many terminal devices are connected to the network N via a router as shown.
 §1で述べた先願基本発明の第1の実施形態の場合、接続仲介装置100によって両端末間の接続仲介が行われる。図に示す太線矢印、細線矢印、白抜矢印の3通りの矢印は、§1,§2でも用いたように、各ブロック間の信号の流れを示す矢印である。すなわち、太線矢印L1,L2は、端末装置200Aもしくは200Bと接続仲介装置100との間でやりとりされる信号を示し、細線矢印L3は、一対の端末装置200A,200Bの間で通信セッション確立前にやりとりされる信号の流れを示し、白抜矢印L4は、一対の端末装置200A,200Bの間で通信セッション確立後にやりとりされる信号の流れを示している。 In the case of the first embodiment of the prior invention basic invention described in § 1, connection mediation is performed by the connection mediation device 100 between both terminals. Three arrows of thick arrows, thin arrows, and white arrows shown in the figure are, as used in 1,1 and 22, arrows indicating the flow of signals between the blocks. That is, thick arrows L1 and L2 indicate signals exchanged between the terminal device 200A or 200B and the connection mediation device 100, and thin arrows L3 indicate before the communication session is established between the pair of terminal devices 200A and 200B. The flow of signals to be exchanged is shown, and the white arrow L4 shows the flow of signals to be exchanged after establishing a communication session between the pair of terminal devices 200A and 200B.
 実際には、この3種類の矢印L1~L4で示される信号の流れは、いずれもルータおよびネットワークNを通ることになる。たとえば、太線矢印L1は、ルータRAおよびネットワークNを通る信号の流れになり、太線矢印L2は、ルータRBおよびネットワークNを通る信号の流れになる。また、細線矢印L3および白抜矢印L4は、ルータRA,ネットワークN,ルータRBを通る信号の流れになる。 In practice, the flow of signals indicated by the three types of arrows L1 to L4 passes through the router and the network N. For example, the bold arrow L1 is the signal flow through the router RA and the network N, and the bold arrow L2 is the signal flow through the router RB and the network N. A thin arrow L3 and a white arrow L4 indicate the flow of signals through the router RA, the network N, and the router RB.
 §4で述べたとおり、ルータに接続された端末装置にはプライベートIPアドレスPIPが付与されるが、信号がルータを通ってインターネットNへ向かう際に、グローバルIPアドレスGIPに変換される。図示の例の場合、端末装置200Aには、PIP=「192.168.2.1」が付与されているが、信号がルータRAを通る際に、PIP=「192.168.2.1」は、グローバルIPアドレスGIP=「xx.5.1.1」に変換されている。同様に、端末装置200Bには、PIP=「192.168.10.1」が付与されているが、信号がルータRBを通る際に、PIP=「192.168.10.1」は、グローバルIPアドレスGIP=「xx.5.7.1」に変換されている。なお、実際には、§4で述べたとおり、ポート番号についても変換が行われるが、ここではポート番号についての説明は省略する。 As described in §4, the terminal device connected to the router is assigned the private IP address PIP, but when the signal travels through the router to the Internet N, it is converted to the global IP address GIP. In the illustrated example, PIP = "192.168.2.1" is given to the terminal device 200A, but when the signal passes through the router RA, PIP = "192.168.2.1" is a global IP address GIP = " It has been converted to "xx.5.1.1". Similarly, PIP = "192.168.10.1" is given to the terminal device 200B, but when the signal passes through the router RB, PIP = "192.168.10.1" is a global IP address GIP = "xx.5.7. Converted to .1. Actually, as described in §4, the conversion is also performed for the port number, but the description for the port number is omitted here.
 このように、ルータRA,RBは、ネットワークアドレス変換機能(NAT(Network Address Translation)機能)を有しており、内側(図におけるルータRA,RBの下側)に接続された通信路について付与されたプライベートIPアドレスを、外側(図におけるルータRA,RBの上側)に接続された通信路について付与されたグローバルIPアドレスに変換するとともに、その逆の変換も行う。このNATにはいくつかのタイプがあり、具体的には、「Full cone NAT」,「Restricted cone NAT」,「Port restricted cone NAT」,「Symmetric NAT(対称型NAT)」等のタイプが実用されている。 Thus, the routers RA and RB have a network address translation function (NAT (Network Address Translation) function), and are provided for the communication path connected to the inside (the lower side of the routers RA and RB in the figure). The private IP address is converted to a global IP address assigned to a communication path connected to the outside (upper side of the routers RA and RB in the figure), and the reverse conversion is also performed. There are several types of NAT, specifically, the types such as "Full cone NAT", "Restricted cone NAT", "Port restricted cone NAT", "Symmetric NAT (Symmetric NAT)" ing.
 個々のNATタイプは、それぞれ固有の仕様でアドレス変換を行うことを定めており、ルータの設置者は、セキュリティ上の問題や利用上の便宜などを考慮した上で、各ルータに適切なNATタイプを設定することになる。ここで、先願基本発明に係るネットワーク通信システムを実施する上で留意すべきNATタイプは、「Symmetric NAT(対称型NAT)」および「Port restricted cone NAT」である。本願では、この「Symmetric NAT(対称型NAT)」および「Port restricted cone NAT」を、便宜上、「関所型NAT」と呼ぶことにする。この「関所型NAT」が設定されているルータは、「外部ホストから内部ホスト(内側の端末装置)宛に送信されてきたパケットについては、過去に内部ホストからのパケットを受け取ったことがある外部ホストからのパケットのみを通す」という制限の下でアドレス変換を行う。このため、先願基本発明に係るネットワーク通信システムを利用した場合、関所型NATが設定されているルータの内側の端末装置に対する通信に支障が生じることになる。 Each NAT type specifies that address conversion is performed according to each specific specification, and the installer of the router considers an appropriate NAT type for each router in consideration of security problems and usage convenience. Will be set. Here, the NAT types to be noted in implementing the network communication system according to the prior application basic invention are “Symmetric NAT (Symmetric NAT)” and “Port restricted cone NAT”. In the present application, the “Symmetric NAT (Symmetric NAT)” and the “Port restricted cone NAT” will be referred to as “a gateway NAT” for convenience. A router to which this "gateway type NAT" is set is "For packets sent from an external host to an internal host (internal terminal device), the external host has received a packet from the internal host in the past. Perform address conversion under the restriction that only packets from the host are passed. For this reason, when the network communication system according to the basic application invention is used, communication with the terminal device inside the router where the gateway NAT is set will be hindered.
 たとえば、図21の例において、ルータRBに関所型NATの設定がなされていたものとしよう。この場合、ルータRBを介して内側から外側へ信号を送り出す際には、特に制約なしにアドレス変換が行われる。このため、端末装置200BからインターネットNに向かうパケットはルータRBを自由に通り抜けることができる。ところが、ルータRBを介して外側から内側へ信号を送り込む際には、ルータRBが関所の役割を果たすことになる。すなわち、インターネットNから端末装置200B宛にパケットが送られてきた場合、その送り主が過去に端末装置200Bからのパケットを受け取ったことがある外部ホストである場合には、ルータRBは当該パケットを取り込んで端末装置200B(内部ホスト)へ届けるが、それ以外の外部ホストである場合には、これをブロックする。 For example, in the example of FIG. 21, it is assumed that the NAT of the router RB is set. In this case, when transmitting a signal from the inside to the outside via the router RB, address conversion is performed without any particular limitation. Therefore, a packet from the terminal device 200B to the Internet N can freely pass through the router RB. However, when sending a signal from the outside to the inside through the router RB, the router RB plays the role of a gateway. That is, when a packet is sent from the Internet N to the terminal device 200B, if the sender is an external host that has received a packet from the terminal device 200B in the past, the router RB takes in the packet. Delivery to the terminal device 200B (internal host), but if it is another external host, it is blocked.
 このため、ルータRBが関所型NATのルータであった場合、接続仲介装置100を送り主として、太線矢印L2に沿って端末装置200B宛に送信されてきたパケットは、ルータRBを通って支障なく端末装置200Bに届くが、端末装置200Aを送り主として、細線矢印L3に沿って端末装置200B宛に送信されてきたパケットは、ルータRBによってブロックされてしまう可能性がある。その理由は、次のとおりである。 Therefore, when the router RB is a router of the gateway NAT, the packet transmitted to the terminal device 200B along the thick arrow L2 mainly by sending the connection mediation device 100 passes the router RB without any problem. Although the packet reaches the device 200B, the packet sent to the terminal device 200B along the thin arrow L3 mainly as the terminal device 200A may be blocked by the router RB. The reason is as follows.
 §1,§2で述べたとおり、先願基本発明に係るネットワーク通信システムにおける各端末装置200A,200Bは、現時点の自己の所在アドレスを、所定のタイミングで繰り返して接続仲介装置100に通知している。このため、接続仲介装置100は、「過去に内部ホスト(端末装置200B)からのパケットを受け取ったことがある外部ホスト」ということになり、接続仲介装置100から端末装置200B宛のパケットはルータRBを通り抜けることができる。ところが、端末装置200Aは、必ずしも「過去に内部ホスト(端末装置200B)からのパケットを受け取ったことがある外部ホスト」に該当するわけではないので、端末装置200Aから端末装置200B宛のパケットはルータRBによってブロックされてしまう可能性がある。 As described in 1,1 and 22, each of the terminal devices 200A and 200B in the network communication system according to the prior application basic invention repeatedly notifies the connection mediation device 100 of its present location address at a predetermined timing. There is. Therefore, the connection mediation device 100 is "an external host that has received a packet from the internal host (terminal device 200B) in the past", and the packet addressed to the terminal device 200B from the connection mediation device 100 is a router RB. Can pass through. However, since the terminal device 200A does not necessarily correspond to "an external host that has received a packet from the internal host (terminal device 200B) in the past", the packet addressed to the terminal device 200B from the terminal device 200A is a router It may be blocked by RB.
 このように、端末間の直接的な通信がブロックされてしまうと、先願基本発明に係るネットワーク通信システムによる接続仲介処理は正常に機能しなくなる。たとえば、図4に示す例の場合、通信元端末装置200Aの通信開始要求部240Aからの通信開始要求S5が、ルータによってブロックされ、通信先端末装置200Bに届かなかった場合、通信先セッション確立部230Bは通信セッションを確立することができず、両端末間の通信(S7)は実現しなくなる。このような事情は、§2で述べた先願基本発明の第2の実施形態の場合も同様である。 As described above, when direct communication between terminals is blocked, connection mediation processing by the network communication system according to the basic application prior art does not function properly. For example, in the case of the example shown in FIG. 4, when the communication start request S5 from the communication start request unit 240A of the communication source terminal device 200A is blocked by the router and does not reach the communication destination terminal device 200B, the communication destination session establishment unit 230B can not establish a communication session, and communication (S7) between both terminals will not be realized. Such a situation is the same as in the case of the second embodiment of the basic application for the prior application described in §2.
 以上、関所型NATが設定されているルータによって端末間通信がブロックされることに起因した通信障害の例を述べたが、端末間通信がブロックされる要因は、他にも存在する。たとえば、インターネットを介した端末間通信のトランスポート層のプロトコルとしては、TCP(Transmission Control Protocol),UDP(User Datagram Protocol)等、いくつかのプロトコルが利用されている。TCPでは、通信速度よりも正確さに重点がおかれているため、パケットが確実に相手方に届くための工夫がなされているが、通信負荷は増大する。これに対して、UDPでは、正確さよりも通信速度に重点がおかれているため、パケットが喪失する可能性があるが、通信負荷は低減する。このため、Web画面の閲覧などにはTCPが用いられ、電話などの音声通話などにはUDPが用いられる。 Although the example of the communication failure caused by the end-to-end communication being blocked by the router in which the gateway NAT is set up has been described above, there are other causes for the end-to-end communication to be blocked. For example, several protocols, such as Transmission Control Protocol (TCP) and User Datagram Protocol (UDP), are used as a protocol of the transport layer of communication between terminals via the Internet. In TCP, emphasis is placed on accuracy rather than communication speed, and although devices have been devised to ensure that packets reach the other party, the communication load increases. On the other hand, in UDP, since the emphasis is on communication speed rather than accuracy, packets may be lost, but the communication load is reduced. Therefore, TCP is used for browsing web screens and the like, and UDP is used for voice communication such as telephone calls.
 もちろん、先願基本発明に係るネットワーク通信システムでは、通信プロトコルとしてTCPを採用することもできるし、UDPを採用することもできる。したがって、たとえば、音声通話を主としたシステムを構築するのであれば、UDPを採用してシステムを構築し、全体の通信負荷を低減させるのが好ましい。ただ、UDPのパケットは、途中でブロックされる可能性もある。たとえば、端末間に設置されているファイアウォールが、UDPパケットをブロックする仕様になっていると、UDPパケットは当該ファイアウォールを通り抜けることができず、相手方に届かなくなってしまう。 Of course, in the network communication system according to the basic application of the prior application, TCP can be adopted as a communication protocol, and UDP can also be adopted. Therefore, for example, if a system mainly for voice communication is to be constructed, it is preferable to construct a system using UDP to reduce the overall communication load. However, UDP packets may be blocked along the way. For example, if a firewall installed between terminals is specified to block UDP packets, the UDP packets can not pass through the firewall and can not reach the other party.
 このように、先願基本発明に係るシステムには、ネットワーク環境によって、端末間通信に支障が生じる可能性がある。本発明は、このような問題を解決するためになされたものであり、上述したような様々な要因により、端末間の直接通信に何らかの制限が設けられている場合にも、両者間での通信を支障なく行うことが可能となるような対策を講じる方法を提供するものである。 As described above, in the system according to the first aspect of the present invention, communication between terminals may be interrupted depending on the network environment. The present invention has been made to solve such a problem, and even if direct communication between terminals is provided with some restriction due to various factors as described above, communication between the two terminals is also possible. Provide a way to take measures that will allow you to
 本発明に係るネットワーク通信システムでは、先願基本発明に係るシステムのように端末装置間で直接的な通信(ここでは「通常通信」と呼ぶ)を行うことを前提としつつ、もう1つの通信方法として、接続仲介装置を介して間接的に通信を行う「迂回通信」と呼ぶ方法が用意される。そして、通常通信に失敗した場合、もしくは、通常通信での失敗が予想される場合、通常通信に代えて、迂回通信を行うことにより、両端末間での通信を支障なく行うことができるようにしている。 In the network communication system according to the present invention, another communication method is premised on direct communication (referred to as "normal communication" herein) between the terminal devices as in the system according to the basic application basic invention As a method, a method called "detour communication" in which communication is indirectly performed via the connection mediation device is prepared. Then, when normal communication fails or when failure in normal communication is expected, communication between both terminals can be performed without trouble by performing detour communication instead of normal communication. ing.
 この迂回通信では、両端末間の情報パケットは、すべて接続仲介装置を介してやりとりされることになる。§1,§2で述べたとおり、各端末装置は、現時点の自己アドレスを所定タイミングで接続仲介装置に通知する機能を有しているため、接続仲介装置は、関所型NATのルータ下にある端末装置に対しても「過去にパケットを受け取ったことがある外部ホスト」ということになる。したがって、端末装置間の直接的な通信がルータによってブロックされたとしても、端末装置と接続仲介装置との間の通信はブロックされることはなく、迂回通信は支障なく行われることになる。 In this bypass communication, all information packets between the two terminals are exchanged via the connection mediation device. As described in 1,1 and 22, each terminal device has a function of notifying the connection mediation device of the current self address at a predetermined timing, so the connection mediation device is under the router of the gateway NAT. The terminal device is also "an external host that has received a packet in the past". Therefore, even if the direct communication between the terminal devices is blocked by the router, the communication between the terminal device and the connection mediation device is not blocked, and the bypass communication will be performed without any problem.
 また、通常通信をUDPで行うことを前提としてシステムを構築した場合、迂回通信をTCPで行うようにしておけば、UDPブロックにより通常通信を行うことができない場合でも、代わりに迂回通信を用いることにより、両者間での通信を支障なく行うことが可能になる。 If the system is built on the assumption that normal communication is performed by UDP, if detour communication is performed by TCP, the detour communication should be used instead even if normal communication can not be performed by the UDP block. Thus, communication between the two can be performed without any problem.
 もちろん、通常通信の代わりに迂回通信を行った場合、接続仲介装置は、両端末装置間でやりとりされるすべての情報パケットを中継する必要があり、その処理負荷は増大することになる。したがって、迂回通信を行った場合は、先願基本発明の特徴である「一対の端末装置間の接続を仲介する際の処理負荷を軽減する」という作用効果は得られなくなる。しかしながら、本発明に係るネットワーク通信システムでも、基本的には先願基本発明と同様に通常通信を前提とした運用が行われ、ネットワーク環境によって、端末間通信に支障が生じる特殊なケースについてのみ迂回通信が行われることになるので、全体としてみれば、先願基本発明と同様に、「一対の端末装置間の接続を仲介する際の処理負荷を軽減する」という作用効果は得られ、更に、端末装置間の直接通信に問題がある場合にも、両者間での通信を支障なく行うことが可能になるという固有の作用効果も得られることになる。 Of course, when detour communication is performed instead of normal communication, the connection mediation device needs to relay all the information packets exchanged between the two terminal devices, which increases the processing load. Therefore, when detour communication is performed, the operation effect of "reducing the processing load when mediating connection between a pair of terminal devices", which is a feature of the basic application of the prior application, can not be obtained. However, in the network communication system according to the present invention, basically, the operation based on the normal communication is performed in the same manner as in the basic application of the prior application, and bypassing is performed only for special cases in which communication between terminals is interrupted by the network environment Since communication is to be performed, as a whole, as in the basic application of the prior application, an operation and effect of "reducing the processing load when mediating a connection between a pair of terminal devices" can be obtained, and further, Even when there is a problem in the direct communication between the terminal devices, an inherent effect is obtained that communication between the two can be performed without any problem.
 本発明では、通常通信に代えて迂回通信を行うアプローチとして、次の3通りのアプローチを用意している。
(1) 失敗時に迂回通信
 通常通信に失敗したことが判明した時点で、迂回通信に切り替える方法であり、具体的な内容は、§6において詳述する。
(2) 関所型NATの場合に迂回通信
 予め各端末装置が利用するルータのNATタイプを調べておき、関所型NATの設定がなされたルータが介在するために通常通信の失敗が予想される場合に、通常通信に代えて迂回通信を行う方法であり、具体的な内容は、§7において詳述する。
(3) UDPブロックの場合に迂回通信
 UDPによる通常通信を前提としたシステムを構築しておき、通信経路上にUDPをブロックする要素が存在するために通常通信の失敗が予想される場合に、通常通信に代えてTCPによる迂回通信を行う方法であり、具体的な内容は、§8において詳述する。
In the present invention, the following three approaches are prepared as approaches for performing detour communication instead of normal communication.
(1) Detour communication at the time of failure It is a method of switching to the detour communication when it is found that the normal communication has failed, and the specific contents will be described in detail in §6.
(2) Bypass communication in the case of local NAT If the NAT type of the router used by each terminal device is checked in advance, and a failure of normal communication is expected due to the presence of the router on which the local NAT is set Instead of normal communication, it is a method of performing bypass communication, and the specific contents will be described in detail in §7.
(3) Bypass communication in case of UDP block If a system is built on the assumption of normal communication by UDP, and a failure of normal communication is expected due to the presence of an element that blocks UDP on the communication path, This is a method of performing bypass communication by TCP instead of normal communication, and the specific contents will be described in detail in §8.
 <<< §6. 失敗時に迂回通信を行うアプローチ >>>
 この§6で述べる実施形態は、先願基本発明に係るシステムにおいて、図5や図9に示す手順に基づく通常通信が失敗した場合に、この失敗を検知して迂回通信に切り替える方法を採用する実施形態である。以下、このような方法を、§1に示す先願基本発明の第1の実施形態(図2)に適用した例を実施例1として説明し、§2に示す先願基本発明の第2の実施形態(図7)に適用した例を実施例2として説明する。もちろん、以下に述べる実施例1,2については、§3や§4で述べた各種変形例を適用することも可能である。なお、各実施例1,2にブロックとして示されている各構成要素は、これまで述べた先願基本発明に係るシステムと同様に、実際には、コンピュータに組み込まれた専用のプログラムによって実現されることになる。
<<< 6. 6. Approach to conduct detour communication at failure >>>
The embodiment described in this section 6 adopts a method of detecting the failure and switching to the bypass communication when the normal communication based on the procedure shown in FIG. 5 or 9 fails in the system according to the basic application basic invention. It is an embodiment. Hereinafter, an example in which such a method is applied to the first embodiment (FIG. 2) of the prior application basic invention shown in § 1 will be described as Example 1, and the second application of the prior application basic invention shown in § 2 will be described. An example applied to the embodiment (FIG. 7) will be described as a second embodiment. Of course, various modifications described in §3 and 44 can also be applied to the first and second embodiments described below. Each component shown as a block in each of the first and second embodiments is actually realized by a dedicated program incorporated in a computer, like the system according to the prior application basic invention described above. It will be
 <6-1. 実施例1>
 図22は、本発明の実施例1に係るネットワーク通信システムにおける端末装置201の詳細構成を示すブロック図である。ここに示す端末装置201は、図2に示す先願基本発明の第1の実施形態に係る端末装置200における通信開始要求部240および通信元セッション確立部260に、若干の修正を加えてそれぞれ通信開始要求部241および通信元セッション確立部261とし、更に、新たな構成要素として、迂回通信処理部271(図では新たな構成要素を太線枠ブロックで示す)を付加したものである。その他の構成要素である接続仲介依頼部210、通信要求受付部220、通信先セッション確立部230、自己アドレス通知部250は、図2に示す同符号の各構成要素と同じものであり、その機能の詳細は、既に§1で述べたとおりである。
6-1. Example 1>
FIG. 22 is a block diagram showing a detailed configuration of the terminal device 201 in the network communication system according to the first embodiment of the present invention. The terminal device 201 shown here performs communication by adding some corrections to the communication start request unit 240 and the communication source session establishment unit 260 in the terminal device 200 according to the first embodiment of the prior invention basic invention shown in FIG. The start request unit 241 and the communication source session establishment unit 261 further include a bypass communication processing unit 271 (in the figure, a new component is indicated by a bold line frame block) as a new component. The connection intermediation request unit 210, the communication request reception unit 220, the communication destination session establishment unit 230, and the self address notification unit 250, which are the other components, are the same as the respective components of the same reference numerals shown in FIG. The details of are as already described in §1.
 また、この図22に示す実施例1では、図2に示す接続仲介装置100の代わりに、接続仲介装置101が用いられている。この接続仲介装置101は、図2に示す接続仲介装置100の機能に、迂回通信を中継する機能を付加したものであり、その構成の詳細は後述する。結局、図22に示す実施例1において、3桁の数字からなる符号における1の位が「1」となっているブロックで示される構成要素が、実施例1に固有の構成要素ということになる。 Further, in the first embodiment shown in FIG. 22, a connection mediating apparatus 101 is used instead of the connection mediating apparatus 100 shown in FIG. The connection mediating apparatus 101 is obtained by adding the function of relaying the detour communication to the function of the connection mediating apparatus 100 shown in FIG. 2 and the details of the configuration will be described later. As a result, in the first embodiment shown in FIG. 22, the component indicated by the block in which the first digit in the three-digit code is “1” is the unique component to the first embodiment. .
 この実施例1に係るシステムは、図2に示す先願発明のシステムと同様に、ネットワークNを介して相互に接続可能な複数の端末装置(図には、便宜上、1台の端末装置201のみが示されている)と、これら複数の端末装置間の接続を仲介する接続仲介装置101と、を備えたネットワーク通信システムである。ここで、各端末装置201には、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、接続仲介装置101は、この端末IDを利用して通信元となる端末装置と通信先となる端末装置との間の接続を仲介する処理を実行する。 Similar to the system of the prior invention shown in FIG. 2, the system according to the first embodiment includes a plurality of terminal devices (for convenience, only one terminal device 201 can be connected to each other via the network N). And a connection mediation device 101 that mediates the connection between the plurality of terminal devices. Here, each terminal device 201 is provided with a terminal ID for mutually identifying each terminal device, and the connection mediation device 101 uses the terminal ID as a communication source terminal device and the like. The processing of mediating the connection with the terminal device to be the communication destination is executed.
 この図において、太線矢印は、端末装置201と接続仲介装置101との間でやりとりされる信号の流れを示しており、細線矢印(ブロック201内部の矢印を除く)は、一対の端末装置201の間で直接的にやりとりされる、通信セッション確立前の信号の流れを示している。そして、白抜矢印は、一対の端末装置201の間で直接的にやりとりされる、通信セッション確立後の信号の流れを示している。この白抜矢印には、「通常通信」なる表記がなされているが、これはこのシステムが想定する本来の通信、すなわち、端末装置201間で直接的に行われる通信を示している。これに対して、迂回通信処理部271から伸びる太線矢印には、「迂回通信」なる表記がなされているが、これは、上述した「通常通信」に失敗したときに、端末装置201が接続仲介装置101を介して間接的に相手方への通信を行うことを示している。 In this figure, thick arrows indicate the flow of signals exchanged between the terminal device 201 and the connection mediation device 101, and thin arrows (except for the arrows inside the block 201) indicate the flow of the pair of terminal devices 201 It shows the flow of signals before establishment of a communication session, which are directly exchanged between the two. The white arrows indicate the flow of signals after communication session establishment, which are directly exchanged between the pair of terminal devices 201. The white arrow indicates the "normal communication", which indicates the original communication assumed by this system, that is, the communication directly performed between the terminal devices 201. On the other hand, the bold arrow extending from the bypass communication processing unit 271 is written as “detour communication”, but when the above “normal communication” fails, the terminal device 201 mediates connection mediation. It indicates that communication to the other party is performed indirectly via the device 101.
 図22に示す自己アドレス通知部250は、図2に示す自己アドレス通知部250と全く同じ構成要素であり、自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置101に対して通知する機能を果たす。当該機能については、既に§1で詳述したため、ここでは説明を省略する。 The self address notifying unit 250 shown in FIG. 22 is the same component as the self address notifying unit 250 shown in FIG. 2 and notifies the connection mediating apparatus 101 of the location address indicating the location of the self on the network. Perform a function. Since the function has already been described in detail in 11, the description is omitted here.
 その他の構成要素の機能も、ほぼ図2に示す対応する構成要素の機能と同じである。ただ、通信開始要求部241は、通信開始要求を行う際に、その旨を迂回通信処理部271に通知する付加機能を有しており、通信元セッション確立部261は、通信開始受諾確認を受領した際に、その旨を迂回通信処理部271に通知する付加機能を有している。 The functions of the other components are substantially the same as the functions of the corresponding components shown in FIG. However, the communication start request unit 241 has an additional function of notifying the detour communication processing unit 271 to that effect when making a communication start request, and the communication source session establishment unit 261 receives the communication start acceptance confirmation. It has an additional function of notifying the detour communication processing unit 271 to that effect.
 このような付加機能により、迂回通信処理部271は、通信元端末装置の通信元セッション確立部261と通信先端末装置の通信先セッション確立部230との間に通信セッションを確立して相手方に対する直接的な情報送受を行う通常通信(図の白抜矢印で示された通信)に失敗したときに、接続仲介装置101を介して相手方に対する間接的な情報送受を行う迂回通信を実行することができる。具体的には、通信元端末装置の通信開始要求部241が通信先端末装置宛に通信開始要求を行った後、これに応じた通信開始受諾確認が所定のタイムアウト設定時間内に返信されてこなかった場合に、迂回通信処理部271による迂回通信処理が行われる。 With such an additional function, the detour communication processing unit 271 establishes a communication session between the communication source session establishment unit 261 of the communication source terminal device and the communication destination session establishment unit 230 of the communication destination terminal device, and directs the other party directly. It is possible to execute detour communication for indirectly transmitting and receiving information to the other party via the connection mediation device 101 when normal communication (communication indicated by a white arrow in the figure) for transmitting and receiving information fails. . Specifically, after the communication start request unit 241 of the communication source terminal device makes a communication start request addressed to the communication destination terminal device, the communication start acceptance confirmation according to this is not returned within the predetermined timeout setting time. In this case, the bypass communication processing unit 271 performs bypass communication processing.
 上述のとおり、迂回通信処理部271は、通信開始要求部241から通信開始要求を行った旨の通知を受けることができるので、その時点から経過時間の測定を開始し、所定のタイムアウト設定時間内に、通信元セッション確立部261から通信開始受諾確認を受領した旨の通知が来なかった場合には、通常通信に失敗したと判断し、迂回通信処理を開始する。具体的には、迂回通信処理部271は、接続仲介装置101(後述するように、その中の迂回通信中継部141)に対して迂回通信の中継依頼を行い、接続仲介装置101を介して、相手方の迂回通信処理部271との間での迂回通信を実行することになる。 As described above, since the detour communication processing unit 271 can receive the notification that the communication start request has been made from the communication start request unit 241, the measurement of the elapsed time is started from that point, and within the predetermined timeout setting time. If the communication source session establishment unit 261 does not receive notification that the communication start acceptance confirmation has been received, it determines that the normal communication has failed and starts the bypass communication processing. Specifically, the detour communication processing unit 271 makes a relay request for detour communication to the connection mediation device 101 (as will be described later, the detour communication relay unit 141 therein), and, via the connection mediation device 101, The detour communication with the detour communication processing unit 271 of the other party is executed.
 図23は、図22に示す本発明の実施例1に係るネットワーク通信システムにおいて、通信元端末装置201Aと通信先端末装置201Bとの間の通信セッション確立の手順を示すブロック図である。図示する端末装置201A,201Bは、図22に示す端末装置201と同一の構成を有する装置であり、図4と同様に、通信元端末装置201A内の構成要素については、通信元として必要な処理を実行する構成要素(矩形ブロックの構成要素)を実線で示し、通信先端末装置200B内の構成要素については、通信先として必要な処理を実行する構成要素(二重矩形ブロックの構成要素)を実線で示すことにし、それ以外の構成要素のブロックは破線で示してある。また、実施例1に固有の構成要素である迂回通信処理部271A,271Bについては太線枠ブロックで示してある。 FIG. 23 is a block diagram showing a procedure for establishing a communication session between the communication source terminal device 201A and the communication destination terminal device 201B in the network communication system according to the first embodiment of the present invention shown in FIG. The terminal devices 201A and 201B shown are devices having the same configuration as the terminal device 201 shown in FIG. 22, and as in FIG. 4, the components required in the communication source terminal device 201A are processes necessary as a communication source The components (components of the rectangular block) that execute the command are indicated by solid lines, and the components within the communication destination terminal device 200B include the components (components of the double rectangular block) that perform the processing necessary as the communication destination. It is indicated by a solid line, and blocks of other components are indicated by a broken line. Further, the bypass communication processing units 271A and 271B, which are the components unique to the first embodiment, are indicated by thick line frame blocks.
 図23に示す接続仲介装置101(図22に示すもの)は、図4に示す接続仲介装置100に、迂回通信中継部141を追加したものである。その他の構成要素であるアドレステーブル格納部110、アドレステーブル更新部120、通信先アドレス返信部130については、図4に示す同符号の各構成要素と同じものであり、その機能の詳細は、既に§1で述べたとおりである。迂回通信中継部141は、第1の端末装置201Aの迂回通信処理部271Aと第2の端末装置201Bの迂回通信処理部271Bとの間での迂回通信の中継依頼があったときに、第1の端末装置201Aの迂回通信処理部271Aと第2の端末装置201Bの迂回通信処理部271Bとの間で受け渡しする情報を取り次いで迂回通信の中継を行う構成要素である。 The connection mediating device 101 (shown in FIG. 22) shown in FIG. 23 is obtained by adding a bypass communication relay unit 141 to the connection mediating device 100 shown in FIG. The address table storage unit 110, the address table update unit 120, and the communication destination address return unit 130, which are the other components, are the same as the respective components of the same reference numerals shown in FIG. As stated in §1. When the bypass communication relay unit 141 receives a relay request for bypass communication between the bypass communication processing unit 271A of the first terminal device 201A and the bypass communication processing unit 271B of the second terminal device 201B, Is a component that takes information passed between the detour communication processing unit 271A of the terminal device 201A and the detour communication processing unit 271B of the second terminal device 201B and relays the detour communication.
 このシステムにおける通常の通信セッション確立の手順は、図4および図5を用いて§1で説明した手順と同じである。すなわち、通信元端末装置201Aの通信要求受付部220Aが自己を通信元として、通信先の別な端末装置201Bに対する通信要求S1を受け付けると、接続仲介依頼部210Aが、接続仲介装置101に対して、通信先の別な端末装置201Bの端末ID「0020」を特定するための通信先特定情報を含む接続仲介依頼S2を送信する。 The procedure for establishing a normal communication session in this system is the same as the procedure described in § 1 with reference to FIGS. 4 and 5. That is, when the communication request receiving unit 220A of the communication source terminal device 201A receives itself as the communication source and receives the communication request S1 for another terminal device 201B of the communication destination, the connection mediation requesting unit 210A transmits the connection mediation device 101 to the connection mediation device 101. A connection mediation request S2 including communication destination specification information for specifying the terminal ID "0020" of another terminal device 201B as a communication destination is transmitted.
 すると、接続仲介装置101の通信先アドレス返信部130は、アドレステーブルを参照して、接続仲介依頼S2に含まれている通信先特定情報によって特定される端末ID「0020」に対応づけられている所在アドレスAD2を通信先アドレスとして返信(S4)する。この返信(S4)を受けた通信開始要求部241Aは、通信先アドレスAD2にアクセスして通信開始要求S5を行う。このとき、前述したとおり、通信開始要求部241Aから迂回通信処理部271Aに対して、通信開始要求S5を行った旨の通知が出され、迂回通信処理部271Aはその時点から経過時間の測定を開始する。なお、§5で説明したとおり、端末間通信である通信開始要求S5は、ネットワーク環境によってブロックされ、通信先端末装置201Bに届かない可能性がある。図に「S5?」と記したのは、このような可能性を示すものである。 Then, the communication destination address return unit 130 of the connection mediation device 101 is associated with the terminal ID “0020” specified by the communication destination specifying information included in the connection mediation request S2 with reference to the address table. The location address AD2 is returned as the communication destination address (S4). The communication start request unit 241A that has received the reply (S4) accesses the communication destination address AD2 and makes a communication start request S5. At this time, as described above, the communication start request unit 241A notifies the detour communication processing unit 271A that the communication start request S5 has been made, and the detour communication processing unit 271A measures the elapsed time from that point on. Start. As described in Section 5, the communication start request S5 which is communication between terminals may be blocked by the network environment and may not reach the communication destination terminal device 201B. The fact that "S5?" Is described in the figure indicates such a possibility.
 この通信開始要求S5が、通信先端末装置201B側の通信先セッション確立部230Bに無事届いた場合は、通信元端末装置201Aに対して通信開始受諾確認S6が送信される。通信元端末装置201A側の通信元セッション確立部261Aは、この通信開始受諾確認S6を受領すると、その旨を迂回通信処理部271Aに通知する。そして、通信元セッション確立部261Aと通信先セッション確立部230Bとの間に通信セッションが確立する。 When the communication start request S5 arrives at the communication destination session establishing unit 230B on the communication destination terminal device 201B side, the communication start acceptance confirmation S6 is transmitted to the communication source terminal device 201A. Upon receipt of the communication start acceptance confirmation S6, the communication source session establishing unit 261A on the communication source terminal device 201A side notifies the detour communication processing unit 271A to that effect. Then, a communication session is established between the communication source session establishment unit 261A and the communication destination session establishment unit 230B.
 しかしながら、通信開始要求S5が、ネットワーク環境によってブロックされた場合、当然ながら、通信先セッション確立部230Bからの通信開始受諾確認S6は送信されない。あるいは、通信開始要求S5が無事届いたのに、通信開始受諾確認S6がネットワーク環境によってブロックされる可能性もある。図に「S6?」と記したのは、このような可能性を示すものである。このような場合、通信元端末装置201Aと通信先端末装置201Bとの間における通常通信は失敗に終わる。 However, when the communication start request S5 is blocked by the network environment, of course, the communication start acceptance confirmation S6 from the communication destination session establishment unit 230B is not transmitted. Alternatively, although the communication start request S5 has been successfully received, the communication start acceptance confirmation S6 may be blocked by the network environment. The fact that "S6?" Is described in the figure indicates such a possibility. In such a case, normal communication between the communication source terminal device 201A and the communication destination terminal device 201B ends in failure.
 このように、通信開始要求S5や通信開始受諾確認S6がブロックされて通常通信が失敗した場合、通信元セッション確立部261Aは、所定のタイムアウト設定時間内に通信開始受諾確認S6を受領することができない。このため、迂回通信処理部271Aには、通信開始受諾確認S6の受領報告が所定のタイムアウト設定時間内になされないことになる。そうすると、迂回通信処理部271Aは通常通信に失敗したことを認識し、迂回通信処理を実行する。 As described above, when the communication start request S5 or the communication start acceptance confirmation S6 is blocked and the normal communication fails, the communication source session establishment unit 261A may receive the communication start acceptance confirmation S6 within the predetermined timeout setting time. Can not. For this reason, in the bypass communication processing unit 271A, the reception report of the communication start acceptance confirmation S6 is not made within the predetermined timeout setting time. Then, the bypass communication processing unit 271A recognizes that the normal communication has failed, and executes the bypass communication process.
 すなわち、迂回通信処理部271Aは、通常通信の失敗を検知すると、迂回通信中継部141に対して迂回通信の中継依頼を行い、迂回通信中継部141を介して、相手方の迂回通信処理部271Bとの間での迂回通信S8aを実行する。迂回通信処理部271Aは、通信開始要求部241Aから通信先アドレスAD2を取得し、これを迂回通信中継部141に伝達して中継依頼を行う。迂回通信中継部141は、この中継依頼に応じて、通信先アドレスAD2にアクセスし、通信先端末装置201Bの迂回通信処理部271Bに迂回通信の開始を要求する。迂回通信処理部271Bは、これを受諾する旨の返信を迂回通信中継部141に対して行い、迂回通信S8bを実行する。以後、迂回通信中継部141による中継により、両端末装置201A,201B間での迂回通信が行われる。 That is, when the detour communication processing unit 271A detects a failure in the normal communication, the detour communication processing unit 271A makes a relay request for the detour communication to the detour communication relay unit 141 and, via the detour communication relay unit 141, The detour communication S8a is executed. The bypass communication processing unit 271A acquires the communication destination address AD2 from the communication start request unit 241A, transmits this to the bypass communication relay unit 141, and makes a relay request. In response to the relay request, the bypass communication relay unit 141 accesses the communication destination address AD2 and requests the bypass communication processing unit 271B of the communication destination terminal device 201B to start bypass communication. The bypass communication processing unit 271B sends a reply to the effect that the bypass communication processing unit 271B accepts this to the bypass communication relay unit 141, and executes bypass communication S8b. Thereafter, by the relay by the detour communication relay unit 141, detour communication is performed between the two terminal devices 201A and 201B.
 この迂回通信では、両端末装置201A,201B間の情報パケットは、すべて接続仲介装置101を介してやりとりされることになる。この場合、端末装置201A,201Bから接続仲介装置101に対しては、自己アドレス通知部250A,250Bの機能により、現時点の自己アドレスが通知されるため、接続仲介装置101は、関所型NATのルータ下にある端末装置に対しても「過去にパケットを受け取ったことがある外部ホスト」ということになり、接続仲介装置101と端末装置201Aもしくは201Bとの間の通信は、関所型NATのルータによって拒絶されることはない。したがって、両端末装置201A,201B間の直接的な通信が関所型NATのルータによってブロックされたとしても、両端末装置201A,201B間の通信は、接続仲介装置101を中継して支障なく行われることになる。 In this bypass communication, all information packets between the two terminal devices 201A and 201B are exchanged via the connection mediation device 101. In this case, since the terminal device 201A, 201B notifies the connection mediation device 101 of the current self address by the function of the self address notification unit 250A, 250B, the connection mediation device 101 is a router of the gateway NAT. It also means "an external host that has received a packet in the past" for the terminal below, and communication between the connection mediation apparatus 101 and the terminal 201A or 201B is performed by the router of the gateway NAT. It will not be rejected. Therefore, even if direct communication between the two terminal devices 201A and 201B is blocked by the router of the gateway NAT, communication between the two terminal devices 201A and 201B can be relayed without any problem by relaying the connection mediation device 101. It will be.
 また、両端末装置201A,201B間の通常通信がUDPを前提としていた場合でも、迂回通信S8a,S8bをTCPで行うようにすれば、UDPブロックにより通常通信を行うことができない場合でも、迂回通信S8a,S8bを支障なく行うことができる。迂回通信は、接続仲介装置101に多大な処理負荷をかける通信形態であるが、通常通信に失敗した場合の緊急時の対応策であるため、接続仲介装置101の全体的な処理負荷に重大な影響を与えることはない。 In addition, even when normal communication between both terminal devices 201A and 201B is premised on UDP, if bypass communication S8a and S8b are performed by TCP, even if normal communication can not be performed by a UDP block, bypass communication is performed. S8a and S8b can be performed without any problem. The bypass communication is a form of communication that imposes a large processing load on the connection mediating apparatus 101. However, since it is an emergency measure in case of failure in normal communication, it is important for the overall processing load of the connection mediating apparatus 101. It has no effect.
 図24は、図23のブロック図に示されている実施例1における通信セッション確立手順を時系列で説明する流れ図である。この流れ図は、§1で述べた先願発明の第1の実施形態における通信セッション確立手順を示す図5の流れ図とほぼ同じである。ただ、図23に示す通信開始要求「S5?」および通信開始受諾確認「S6?」は、ネットワーク環境の諸条件に関する要因により、相手方に届かない可能性がある。図24におけるステップS5?,S6?は、図5におけるステップS5,S6と基本的には同じ手順を示しているが、ネットワーク環境の要因により信号が相手方に届かないケースを想定し、全体を括弧の中に入れて示してある。 FIG. 24 is a flow chart explaining the communication session establishment procedure in the embodiment 1 shown in the block diagram of FIG. 23 in chronological order. This flowchart is substantially the same as the flowchart of FIG. 5 showing the communication session establishment procedure in the first embodiment of the prior invention described in 発 明 1. However, the communication start request "S5?" And the communication start acceptance confirmation "S6?" Shown in FIG. 23 may not reach the other party due to factors related to the conditions of the network environment. Step S5 in FIG. 24? , S6? Shows basically the same procedure as steps S5 and S6 in FIG. 5, but assuming that the signal does not reach the other side due to the network environment factor, the whole is shown in parentheses.
 ステップS6′は、通常通信の準備が成功したか失敗したかを判定する処理である。前述したとおり、通信開始要求部241AがステップS5?の通信開始要求を行う際に、その旨が迂回通信処理部271Aに通知され、迂回通信処理部271Aはその時点から経過時間の測定を開始する。ここで、通信元セッション確立部261Aからの通信開始受諾確認の受領報告が、所定のタイムアウト設定時間内にあった場合には、ステップS7へと進み、通信先セッション確立部230Bと通信元セッション確立部261Aによって、通信セッション確立の処理を経て通常通信が行われる(図5のステップS7と同様の処理)。一方、通信開始受諾確認の受領報告が、所定のタイムアウト設定時間内になされなかった場合には、通常通信が失敗したものと判断され、ステップS8へと進む。このステップS8では、迂回通信処理部271A,271Bと迂回通信中継部141によって、迂回通信処理が行われる(図23のS8a,S8b)。 Step S6 'is processing to determine whether preparation for normal communication has succeeded or failed. As described above, the communication start request unit 241A performs step S5? When the communication start request is made, the detour communication processing unit 271A is notified of that and the bypass communication processing unit 271A starts measuring the elapsed time from that point. Here, when the receipt report of the communication start acceptance confirmation from the communication source session establishment unit 261A is within the predetermined timeout setting time, the process proceeds to step S7, and the communication source session establishment with the communication destination session establishment unit 230B is established. Normal communication is performed by the unit 261A through the process of establishing a communication session (process similar to step S7 in FIG. 5). On the other hand, when the reception report of the communication start acceptance confirmation is not made within the predetermined time-out setting time, it is determined that the normal communication has failed, and the process proceeds to step S8. In this step S8, the bypass communication processing units 271A and 271B and the bypass communication relay unit 141 perform bypass communication processing (S8a and S8b in FIG. 23).
 <6-2. 実施例2>
 図25は、本発明の実施例2に係るネットワーク通信システムにおける端末装置402の詳細構成を示すブロック図である。ここに示す端末装置402は、図7に示す先願基本発明の第2の実施形態に係る端末装置400における通信開始要求部440および通信先セッション確立部460に、若干の修正を加えてそれぞれ通信開始要求部442および通信先セッション確立部462とし、更に、新たな構成要素として、迂回通信処理部472(図では新たな構成要素を太線枠ブロックで示す)を付加したものである。その他の構成要素である接続仲介依頼部410、通信要求受付部420、通信元セッション確立部430、自己アドレス通知部450は、図7に示す同符号の各構成要素と同じものであり、その機能の詳細は、既に§2で述べたとおりである。
6-2. Example 2>
FIG. 25 is a block diagram showing a detailed configuration of the terminal device 402 in the network communication system according to the second embodiment of the present invention. The terminal device 402 shown here performs communication by adding some corrections to the communication start request unit 440 and the communication destination session establishment unit 460 in the terminal device 400 according to the second embodiment of the prior invention basic invention shown in FIG. A start request unit 442 and a communication destination session establishment unit 462 are additionally provided with a bypass communication processing unit 472 (in the figure, a new component is indicated by a bold line frame block) as a new component. The connection intermediation request unit 410, the communication request reception unit 420, the communication source session establishment unit 430, and the self address notification unit 450, which are the other components, are the same as the respective components of the same reference numerals shown in FIG. The details of are as already described in §2.
 また、この図25に示す実施例2では、図7に示す接続仲介装置300の代わりに、接続仲介装置302が用いられている。この接続仲介装置302は、図2に示す接続仲介装置300の機能に、迂回通信を中継する機能を付加したものであり、その構成の詳細は後述する。結局、図25に示す実施例2において、3桁の数字からなる符号における1の位が「2」となっているブロックで示される構成要素が、実施例2に固有の構成要素ということになる。 Further, in the second embodiment shown in FIG. 25, a connection mediation device 302 is used instead of the connection mediation device 300 shown in FIG. The connection mediating apparatus 302 is a function of the connection mediating apparatus 300 shown in FIG. 2 with the function of relaying the detour communication added, and the details of the configuration will be described later. As a result, in the second embodiment shown in FIG. 25, the component indicated by the block in which the first digit in the three-digit code is “2” is the unique component to the second embodiment. .
 この実施例2に係るシステムは、図7に示す先願発明のシステムと同様に、ネットワークNを介して相互に接続可能な複数の端末装置(図には、便宜上、1台の端末装置402のみが示されている)と、これら複数の端末装置間の接続を仲介する接続仲介装置302と、を備えたネットワーク通信システムである。ここで、各端末装置402には、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、接続仲介装置302は、この端末IDを利用して通信元となる端末装置と通信先となる端末装置との間の接続を仲介する処理を実行する。 The system according to the second embodiment is similar to the system of the prior invention shown in FIG. And a connection mediation device 302 that mediates the connection between the plurality of terminal devices. Here, each terminal device 402 is assigned a terminal ID for mutually identifying each terminal device, and the connection mediation device 302 uses the terminal ID as a communication source terminal device The processing of mediating the connection with the terminal device to be the communication destination is executed.
 この図においても、前述した実施例1と同様に、太線矢印、細線矢印、白抜矢印の3種類の矢印が用いられている。白抜矢印は「通常通信」を示し、迂回通信処理部472から伸びる太線矢印は「迂回通信」を示している。また、自己アドレス通知部450は、図7に示す自己アドレス通知部450と全く同じ構成要素であり、自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置302に対して通知する機能を果たす。当該機能については、既に§2で詳述したため、ここでは説明を省略する。 Also in this figure, three types of arrows, thick arrows, thin arrows, and white arrows, are used as in the first embodiment described above. White arrows indicate “normal communication”, and thick arrows extending from the bypass communication processing unit 472 indicate “route communication”. In addition, the self address notifying unit 450 is a component identical to the self address notifying unit 450 shown in FIG. 7 and has a function of notifying the connection mediating apparatus 302 of a location address indicating the location of the own on the network. Play. The function has already been described in § 2 and thus the description is omitted here.
 その他の構成要素の機能も、ほぼ図7に示す対応する構成要素の機能と同じである。ただ、通信開始要求部442は、通信開始要求を行う際に、その旨を迂回通信処理部472に通知する付加機能を有しており、通信先セッション確立部462は、通信開始受諾確認を受領した際に、その旨を迂回通信処理部472に通知する付加機能を有している。 The functions of the other components are substantially the same as the functions of the corresponding components shown in FIG. However, when the communication start request unit 442 makes a communication start request, it has an additional function of notifying the detour communication processing unit 472 to that effect, and the communication destination session establishment unit 462 receives the communication start acceptance confirmation. When it does, it has the additional function which notifies that to the detour communication processing section 472.
 このような付加機能により、迂回通信処理部472は、通信元端末装置の通信元セッション確立部430と通信先端末装置の通信先セッション確立部462との間に通信セッションを確立して相手方に対する直接的な情報送受を行う通常通信(図の白抜矢印で示された通信)に失敗したときに、接続仲介装置302を介して相手方に対する間接的な情報送受を行う迂回通信を実行することができる。具体的には、通信先端末装置の通信開始要求部442が通信元端末装置宛に通信開始要求を行った後、これに応じた通信開始受諾確認が所定のタイムアウト設定時間内に返信されてこなかった場合に、迂回通信処理部472による迂回通信処理が行われる。 With such an additional function, the detour communication processing unit 472 establishes a communication session between the communication source session establishment unit 430 of the communication source terminal device and the communication destination session establishment unit 462 of the communication destination terminal device, and directly communicates to the other party. It is possible to execute detour communication for indirectly transmitting and receiving information to the other party via the connection mediation device 302 when normal communication (communication indicated by a white arrow in the figure) for transmitting and receiving information fails. . Specifically, after the communication start request unit 442 of the communication destination terminal device issues a communication start request to the communication source terminal device, the communication start acceptance confirmation according to this is not returned within the predetermined timeout setting time. In this case, the bypass communication processing unit 472 performs bypass communication processing.
 上述のとおり、迂回通信処理部472は、通信開始要求部442から通信開始要求を行った旨の通知を受けることができるので、その時点から経過時間の測定を開始し、所定のタイムアウト設定時間内に、通信先セッション確立部462から通信開始受諾確認を受領した旨の通知が来なかった場合には、通常通信に失敗したと判断し、迂回通信処理を開始する。具体的には、迂回通信処理部472は、接続仲介装置302(後述するように、その中の迂回通信中継部342)に対して迂回通信の中継依頼を行い、接続仲介装置302を介して、相手方の迂回通信処理部472との間での迂回通信を実行することになる。 As described above, since the detour communication processing unit 472 can receive the notification that the communication start request has been made from the communication start request unit 442, the measurement of the elapsed time is started from that point in time and a predetermined timeout setting time is set. If the communication destination session establishment unit 462 does not receive notification that the communication start acceptance confirmation has been received, it determines that the normal communication has failed, and starts the bypass communication processing. Specifically, the bypass communication processing unit 472 makes a relay request for bypass communication to the connection mediating device 302 (as will be described later, the bypass communication relay unit 342 therein), and, via the connection mediating device 302, The bypass communication with the other party's bypass communication processing unit 472 is performed.
 図26は、図25に示す本発明の実施例2に係るネットワーク通信システムにおいて、通信元端末装置402Bと通信先端末装置402Aとの間の通信セッション確立の手順を示すブロック図である。図示する端末装置402A,402Bは、図25に示す端末装置402と同一の構成を有する装置であり、図8と同様に、通信元端末装置402B内の構成要素については、通信元として必要な処理を実行する構成要素(矩形ブロックの構成要素)を実線で示し、通信先端末装置402A内の構成要素については、通信先として必要な処理を実行する構成要素(二重矩形ブロックの構成要素)を実線で示すことにし、それ以外の構成要素のブロックは破線で示してある。また、実施例2に固有の構成要素である迂回通信処理部472A,472Bについては太線枠ブロックで示してある。 FIG. 26 is a block diagram showing a procedure for establishing a communication session between the communication source terminal device 402B and the communication destination terminal device 402A in the network communication system according to the second embodiment of the present invention shown in FIG. The terminal devices 402A and 402B shown are devices having the same configuration as the terminal device 402 shown in FIG. 25, and as in FIG. 8, the components in the communication source terminal device 402B are processes necessary as a communication source The components (components of the rectangular block) that execute the command are indicated by solid lines, and the components within the communication destination terminal device 402A are the components (components of the double rectangular block) that perform processing necessary as the communication destination. It is indicated by a solid line, and blocks of other components are indicated by a broken line. Further, the bypass communication processing units 472A and 472B, which are components unique to the second embodiment, are indicated by bold line frame blocks.
 図26に示す接続仲介装置302(図25に示すもの)は、図8に示す接続仲介装置300に、迂回通信中継部342を追加したものである。その他の構成要素であるアドレステーブル格納部310、アドレステーブル更新部320、通信先アドレス返信部330については、図8に示す同符号の各構成要素と同じものであり、その機能の詳細は、既に§2で述べたとおりである。迂回通信中継部342は、第1の端末装置402Aの迂回通信処理部472Aと第2の端末装置402Bの迂回通信処理部472Bとの間での迂回通信の中継依頼があったときに、第1の端末装置402Aの迂回通信処理部472Aと第2の端末装置402Bの迂回通信処理部472Bとの間で受け渡しする情報を取り次いで迂回通信の中継を行う構成要素である。 The connection mediating device 302 (shown in FIG. 25) shown in FIG. 26 is obtained by adding a bypass communication relay unit 342 to the connection mediating device 300 shown in FIG. The address table storage unit 310, the address table update unit 320, and the communication destination address return unit 330, which are the other components, are the same as the respective components of the same reference numerals shown in FIG. As stated in §2. When there is a relay request for bypass communication between the bypass communication processing unit 472A of the first terminal device 402A and the bypass communication processing unit 472B of the second terminal device 402B, the bypass communication relay unit 342 performs the first relay communication relay unit 342A. Is a component that takes information passed between the detour communication processing unit 472A of the terminal device 402A and the detour communication processing unit 472B of the second terminal device 402B and relays the detour communication.
 このシステムにおける通常の通信セッション確立の手順は、図8および図9を用いて§2で説明した手順と同じである。すなわち、通信元端末装置402Bの通信要求受付部420Bが自己を通信元として、通信先の別な端末装置402Aに対する通信要求S11を受け付けると、接続仲介依頼部410Bが、接続仲介装置302に対して、通信先の別な端末装置402Aの端末ID「0010」を特定するための通信先特定情報を含む接続仲介依頼S12を送信する。 The normal communication session establishment procedure in this system is the same as the procedure described in で 2 with reference to FIGS. 8 and 9. That is, when the communication request receiving unit 420B of the communication source terminal device 402B receives the communication request S11 for another terminal device 402A with the communication destination as the communication source, the connection mediation request unit 410B sends the connection mediation device 302 A connection mediation request S12 including communication destination specification information for specifying the terminal ID "0010" of another terminal device 402A as a communication destination is transmitted.
 すると、接続仲介装置302の通信元アドレス送信部330は、アドレステーブルを参照して、接続仲介依頼S12に含まれている通信先特定情報によって特定される端末ID「0010」に対応づけられている所在アドレスAD1を通信先アドレスとして認識し、この通信先アドレスAD1に対して、接続仲介依頼S12を送信した通信元の端末装置402Bの端末ID「0020」に対応づけられている所在アドレスAD2を、通信元アドレスとして送信(S14)する。 Then, the communication source address transmission unit 330 of the connection mediation device 302 refers to the address table and is associated with the terminal ID “0010” specified by the communication destination specification information included in the connection mediation request S12. The location address AD1 is recognized as the communication destination address, and the location address AD2 associated with the terminal ID “0020” of the terminal device 402B of the communication source that transmitted the connection mediation request S12 to the communication destination address AD1 It transmits as a communication source address (S14).
 こうして、通信元アドレスAD2の送信(S14)を受けた通信先端末装置402A内の通信開始要求部442Aは、通信元アドレスAD2にアクセスして通信開始要求S15を行う。このとき、前述したとおり、通信開始要求部442Aから迂回通信処理部472Aに対して、通信開始要求S15を行った旨の通知が出され、迂回通信処理部472Aはその時点から経過時間の測定を開始する。なお、§5で説明したとおり、端末間通信である通信開始要求S15は、ネットワーク環境によってブロックされ、通信元端末装置402Bに届かない可能性がある。図に「S15?」と記したのは、このような可能性を示すものである。 Thus, the communication start request unit 442A in the communication destination terminal device 402A that has received the transmission of the communication source address AD2 (S14) accesses the communication source address AD2 and makes a communication start request S15. At this time, as described above, the communication start request unit 442A notifies the detour communication processing unit 472A that the communication start request S15 has been made, and the detour communication processing unit 472A measures the elapsed time from that point on. Start. Note that, as described in Section 5, the communication start request S15, which is communication between terminals, may be blocked by the network environment and may not reach the communication source terminal device 402B. The fact that "S15?" Is described in the figure indicates such a possibility.
 この通信開始要求S15が、通信元端末装置402B側の通信元セッション確立部430Bに無事届いた場合は、通信先端末装置402Aに対して通信開始受諾確認S16が送信される。通信先端末装置402A側の通信先セッション確立部462Aは、この通信開始受諾確認S16を受領すると、その旨を迂回通信処理部472Aに通知する。そして、通信先セッション確立部462Aと通信元セッション確立部430Bとの間に通信セッションが確立する。 When the communication start request S15 arrives at the communication source session establishing unit 430B on the communication source terminal device 402B side, the communication start acceptance confirmation S16 is transmitted to the communication destination terminal device 402A. When receiving the communication start acceptance confirmation S16, the communication destination session establishing unit 462A on the communication destination terminal device 402A side notifies the detour communication processing unit 472A to that effect. Then, a communication session is established between the communication destination session establishment unit 462A and the communication source session establishment unit 430B.
 しかしながら、通信開始要求S15が、ネットワーク環境によってブロックされた場合、当然ながら、通信元セッション確立部430Bからの通信開始受諾確認S16は送信されない。あるいは、通信開始要求S15が無事届いたのに、通信開始受諾確認S16がネットワーク環境によってブロックされる可能性もある。図に「S16?」と記したのは、このような可能性を示すものである。このような場合、通信元端末装置402Bと通信先端末装置402Aとの間における通常通信は失敗に終わる。 However, when the communication start request S15 is blocked by the network environment, of course, the communication start acceptance confirmation S16 from the communication source session establishment unit 430B is not transmitted. Alternatively, the communication start acceptance confirmation S16 may be blocked by the network environment even though the communication start request S15 has been successfully received. The fact that "S16?" Is described in the figure indicates such a possibility. In such a case, the normal communication between the communication source terminal device 402B and the communication destination terminal device 402A ends in failure.
 このように、通信開始要求S15や通信開始受諾確認S16がブロックされて通常通信が失敗した場合、通信先セッション確立部462Aは、所定のタイムアウト設定時間内に通信開始受諾確認S16を受領することができない。このため、迂回通信処理部472Aには、通信開始受諾確認S16の受領報告が所定のタイムアウト設定時間内になされないことになる。そうすると、迂回通信処理部472Aは通常通信に失敗したことを認識し、迂回通信処理を実行する。 As described above, when the communication start request S15 or the communication start acceptance confirmation S16 is blocked and the normal communication fails, the communication destination session establishing unit 462A may receive the communication start acceptance confirmation S16 within a predetermined timeout setting time Can not. For this reason, in the bypass communication processing unit 472A, the reception report of the communication start acceptance confirmation S16 is not made within the predetermined timeout setting time. Then, the bypass communication processing unit 472A recognizes that the normal communication has failed, and executes the bypass communication process.
 すなわち、迂回通信処理部472Aは、通常通信の失敗を検知すると、迂回通信中継部342に対して迂回通信の中継依頼を行い、迂回通信中継部342を介して、相手方の迂回通信処理部472Bとの間での迂回通信S18aを実行する。迂回通信処理部472Aは、通信開始要求部442Aから通信元アドレスAD2を取得し、これを迂回通信中継部342に伝達して中継依頼を行う。迂回通信中継部342は、この中継依頼に応じて、通信元アドレスAD2にアクセスし、通信元端末装置402Bの迂回通信処理部472Bに迂回通信の開始を要求する。迂回通信処理部472Bは、これを受諾する旨の返信を迂回通信中継部342に対して行い、迂回通信S18bを実行する。以後、迂回通信中継部342による中継により、両端末装置402A,402B間での迂回通信が行われる。 That is, when the detour communication processing unit 472A detects a failure in the normal communication, the detour communication processing unit 472A makes a relay request for the detour communication to the detour communication relay unit 342 and, via the detour communication relay unit 342, The detour communication S18a is executed. The bypass communication processing unit 472A acquires the communication source address AD2 from the communication start request unit 442A, transmits this to the bypass communication relay unit 342, and makes a relay request. In response to the relay request, the bypass communication relay unit 342 accesses the communication source address AD2, and requests the bypass communication processing unit 472B of the communication source terminal device 402B to start bypass communication. The bypass communication processing unit 472B sends a reply to the effect that the bypass communication processing unit 472B accepts this to the bypass communication relay unit 342, and executes the bypass communication S18b. Thereafter, by means of relaying by the detour communication relay unit 342, detour communication is performed between the terminal devices 402A and 402B.
 この迂回通信では、両端末装置402A,402B間の情報パケットは、すべて接続仲介装置302を介してやりとりされることになる。この場合、端末装置402A,402Bから接続仲介装置302に対しては、自己アドレス通知部450A,450Bの機能により、現時点の自己アドレスが通知されるため、接続仲介装置302は、関所型NATのルータ下にある端末装置に対しても「過去にパケットを受け取ったことがある外部ホスト」ということになる。したがって、両端末装置402A,402B間の直接的な通信が関所型NATのルータによってブロックされたとしても、両端末装置402A,402B間の通信は、接続仲介装置302を中継して支障なく行われることになる。 In this bypass communication, all information packets between the two terminal devices 402A and 402B are exchanged via the connection mediation device 302. In this case, the terminal device 402A, 402B notifies the connection mediation device 302 of the current self-address by the function of the self- address notification unit 450A, 450B. It also means "an external host that has received a packet in the past" for the terminal below. Therefore, even if direct communication between the two terminal devices 402A and 402B is blocked by the router of the gateway NAT, communication between the two terminal devices 402A and 402B is relayed without failure by the connection mediation device 302 It will be.
 また、両端末装置402A,402B間の通常通信がUDPを前提としていた場合でも、迂回通信S18a,S18bをTCPで行うようにすれば、UDPブロックにより通常通信を行うことができない場合でも、迂回通信S18a,S18bを支障なく行うことができる。迂回通信は、接続仲介装置302に多大な処理負荷をかける通信形態であるが、通常通信に失敗した場合の緊急時の対応策であるため、接続仲介装置302の全体的な処理負荷に重大な影響を与えることはない。 In addition, even when normal communication between both terminal devices 402A and 402B is premised on UDP, if bypass communication S18a and S18b are performed by TCP, even if normal communication can not be performed by the UDP block, bypass communication S18a and S18b can be performed without any problem. The bypass communication is a form of communication that imposes a large processing load on the connection mediation device 302, but since it is an emergency measure in case of failure in normal communication, it is important for the overall processing load of the connection mediation device 302 It has no effect.
 図27は、図26のブロック図に示されている実施例2における通信セッション確立手順を時系列で説明する流れ図である。この流れ図は、§2で述べた先願発明の第2の実施形態における通信セッション確立手順を示す図9の流れ図とほぼ同じである。ただ、図26に示す通信開始要求「S15?」および通信開始受諾確認「S16?」は、ネットワーク環境の諸条件に関する要因により、相手方に届かない可能性がある。図27におけるステップS15?,S16?は、図9におけるステップS15,S16と基本的には同じ手順を示しているが、ネットワーク環境の要因により信号が相手方に届かないケースを想定し、全体を括弧の中に入れて示してある。 FIG. 27 is a flow chart describing the communication session establishment procedure in the second embodiment shown in the block diagram of FIG. 26 in chronological order. This flow chart is substantially the same as the flow chart of FIG. 9 showing the communication session establishment procedure in the second embodiment of the prior invention described in §2. However, the communication start request "S15?" And the communication start acceptance confirmation "S16?" Shown in FIG. 26 may not reach the other party due to factors related to the conditions of the network environment. Step S15 in FIG. , S 16? Shows basically the same procedure as steps S15 and S16 in FIG. 9, but assuming that the signal does not reach the other side due to the network environment factor, the whole is shown in parentheses.
 ステップS16′は、通常通信の準備が成功したか失敗したかを判定する処理である。前述したとおり、通信開始要求部442AがステップS15?の通信開始要求を行う際に、その旨が迂回通信処理部472Aに通知され、迂回通信処理部472Aはその時点から経過時間の測定を開始する。ここで、通信先セッション確立部462Aからの通信開始受諾確認の受領報告が、所定のタイムアウト設定時間内にあった場合には、ステップS17へと進み、通信元セッション確立部430Bと通信先セッション確立部462Aによって、通信セッション確立の処理を経て通常通信が行われる(図9のステップS17と同様の処理)。一方、通信開始受諾確認の受領報告が、所定のタイムアウト設定時間内になされなかった場合には、通常通信が失敗したものと判断され、ステップS18へと進む。このステップS18では、迂回通信処理部472A,472Bと迂回通信中継部342によって、迂回通信処理が行われる(図26のS18a,S18b)。 Step S16 'is processing to determine whether preparation for normal communication has succeeded or failed. As described above, the communication start request unit 442A performs step S15? When the communication start request is made, the detour communication processing unit 472A is notified of that and the bypass communication processing unit 472A starts measuring the elapsed time from that point. Here, if the reception report of the communication start acceptance confirmation from the communication destination session establishment unit 462A is within the predetermined timeout setting time, the process proceeds to step S17, and the communication destination session establishment is established with the communication source session establishment unit 430B. A normal communication is performed by the unit 462A through the process of establishing a communication session (the same process as step S17 in FIG. 9). On the other hand, when the reception report of the communication start acceptance confirmation is not made within the predetermined timeout setting time, it is determined that the normal communication has failed, and the process proceeds to step S18. In this step S18, bypass communication processing is performed by the bypass communication processing units 472A and 472B and the bypass communication relay unit 342 (S18a and S18b in FIG. 26).
 <6-3. 実施例1および実施例2の変形例>
 これまで述べた実施例1および実施例2では、迂回通信処理部271,472が、通信開始要求部241,442が通信開始要求S5,S15を行った後、これに応じた通信開始受諾確認S6,S16が所定のタイムアウト設定時間内に返信されてこなかった場合に、通常通信に失敗したと判断して迂回通信を実行する構成をとっている。ここで述べる変形例は、通常通信に失敗したと判断する方法を若干変更したものである。
6-3. Modification of the first embodiment and the second embodiment>
In the first and second embodiments described above, the detour communication processing units 271 and 472 perform the communication start acceptance confirmation S6 according to the communication start request units 241 and 442 after the communication start request units 241 and 442 perform the communication start requests S5 and S15. , S16 is not returned within a predetermined time-out setting time, it is determined that the normal communication has failed, and the detour communication is executed. The modified example described here is a slight modification of the method of determining that normal communication has failed.
 この変形例では、通信開始要求部241,442から迂回通信処理部271,472に対する通信開始要求の通知や、セッション確立部261,462から迂回通信処理部271,472に対する通信開始受諾確認の受領通知は不要である。その代わりに、通信開始要求S5,S15に対する相手方からのアクノレッジを受け取るようにし、当該アクノレッジが得られなかった場合に、通常通信に失敗したと判断する方法を採る。 In this modification, the communication start request unit 241 or 442 notifies the bypass communication processing unit 271 or 472 of the communication start request, or the session establishing unit 261 or 462 notifies the bypass communication processing unit 271 or 472 of the communication start acceptance confirmation Is unnecessary. Instead, an acknowledgment from the other party to the communication start request S5, S15 is received, and when the acknowledgment is not obtained, it is determined that the normal communication has failed.
 具体的には、図23に示す実施例1の変形例の場合、通信元端末装置201Aの通信開始要求部241Aが、通信先端末装置201Bに対して通信開始要求S5を行う際に、通信先端末装置201B側の通信先セッション確立部230Bから、当該通信開始要求S5に対するアクノレッジが返信されるような仕様にしておく。すなわち、通信先セッション確立部230Bが、通信開始要求S5を受け取ったときに、通信開始要求部241Aに対してアクノレッジの信号を返信するようにし、通信開始要求部241Aは、このアクノレッジ信号を受信することにより、通信開始要求S5が相手先に届いたことを認識できるようにしておく。 Specifically, in the case of the modification of the first embodiment shown in FIG. 23, when the communication start request unit 241A of the communication source terminal device 201A makes a communication start request S5 to the communication destination terminal device 201B, the communication destination The communication destination session establishing unit 230B on the side of the terminal device 201B is made to have a specification in which an acknowledgment to the communication start request S5 is returned. That is, when the communication destination session establishing unit 230B receives the communication start request S5, it sends an acknowledge signal back to the communication start request unit 241A, and the communication start request unit 241A receives this acknowledge signal. Thus, it can be recognized that the communication start request S5 has arrived at the other end.
 このような仕様では、通信開始要求部241Aは、アクノレッジが返信されて来なかった場合に、通常通信に失敗したと判断することができる。そこで、通信開始要求部241Aは、アクノレッジが返信されて来なかった場合に、迂回通信処理部271Aに対して迂回通信を指示するようにする。このような指示を受けた迂回通信処理部271Aは、迂回通信中継部141に対して迂回通信の中継依頼を行い、迂回通信中継部141を介して、相手方の迂回通信処理部271Bとの間での迂回通信を実行すればよい。 According to such a specification, the communication start request unit 241A can determine that the normal communication has failed if the acknowledgment is not returned. Therefore, the communication start request unit 241A instructs the detour communication processing unit 271A to perform detour communication when the acknowledgment is not returned. Upon receiving such an instruction, the detour communication processing unit 271A makes a relay request for detour communication to the detour communication relay unit 141, and, via the detour communication relay unit 141, with the other detour communication processing unit 271B. It is sufficient to execute the detour communication of
 同様に、図26に示す実施例2の変形例の場合、通信先端末装置402Aの通信開始要求部442Aが、通信先端末装置402Bに対して通信開始要求S15を行う際に、通信先端末装置402B側の通信元セッション確立部430Bから、当該通信開始要求S15に対するアクノレッジが返信されるような仕様にしておく。すなわち、通信元セッション確立部430Bが、通信開始要求S15を受け取ったときに、通信開始要求部442Aに対してアクノレッジの信号を返信するようにし、通信開始要求部442Aは、このアクノレッジ信号を受信することにより、通信開始要求S15が相手先に届いたことを認識できるようにしておく。 Similarly, in the case of the modification of the second embodiment shown in FIG. 26, when the communication start request unit 442A of the communication destination terminal device 402A makes a communication start request S15 to the communication destination terminal device 402B, the communication destination terminal device A specification is made such that an acknowledgment to the communication start request S15 is returned from the communication source session establishment unit 430B on the 402B side. That is, when the communication source session establishment unit 430B receives the communication start request S15, the communication start request unit 442A sends back an acknowledge signal to the communication start request unit 442A, and the communication start request unit 442A receives this acknowledge signal. Thus, it can be recognized that the communication start request S15 has arrived at the other end.
 このような仕様では、通信開始要求部442Aは、アクノレッジが返信されて来なかった場合に、通常通信に失敗したと判断することができる。そこで、通信開始要求部442Aは、アクノレッジが返信されて来なかった場合に、迂回通信処理部472Aに対して迂回通信を指示するようにする。このような指示を受けた迂回通信処理部472Aは、迂回通信中継部342に対して迂回通信の中継依頼を行い、迂回通信中継部342を介して、相手方の迂回通信処理部472Bとの間での迂回通信を実行すればよい。 In such a specification, the communication start request unit 442A can determine that the normal communication has failed when the acknowledgment is not returned. Therefore, the communication start request unit 442A instructs the detour communication processing unit 472A to perform detour communication when the acknowledgment is not returned. Upon receiving such an instruction, the detour communication processing unit 472A makes a relay request for detour communication to the detour communication relay unit 342, and, via the detour communication relay unit 342, exchanges it with the detour communication processing unit 472B of the other party. It is sufficient to execute the detour communication of
 <<< §7. 関所型NATの場合に迂回通信を行うアプローチ >>>
 §6で述べた実施例1,2は、先願基本発明に係るシステムにおいて通常通信が失敗した場合に、この失敗を検知して迂回通信に切り替える方法を採用するものである。これに対して、この§7で述べる実施形態は、通常通信を行うと失敗が予想されるときに、これを事前に検知して、通常通信の代わりに迂回通信を行う方法を採用するものである。より具体的には、通常通信が関所型NATのルータにより妨げられる可能性がある場合には、事前にこれを検知して、通常通信ではなく、迂回通信に切り替える方法を採る。
<<< 7. 7. Approach to perform detour communication in the case of junction type NAT >>>
The first and second embodiments described in 6 6 adopt a method of detecting the failure and switching to the bypass communication when the normal communication fails in the system according to the basic application prior art. On the other hand, in the embodiment described in this 77, when a failure is predicted to perform normal communication, this is detected in advance, and a method of performing bypass communication instead of normal communication is employed. is there. More specifically, when there is a possibility that the normal communication is interrupted by the router of the gateway NAT, this is detected in advance, and the method is switched to the bypass communication instead of the normal communication.
 図21を用いて説明したとおり、実用上、各端末装置200A,200BはルータRA,RBを介してインターネットNに接続されるのが一般的である。この場合、§5で述べたとおり、ルータのタイプが関所型NATに設定されていると、その下に接続されている端末装置は、「過去に自分が送信したパケットを受け取ったことがある外部ホストからのパケット」しか受け取ることができず、それ以外の外部ホストからのパケットは、当該関所型NATのルータによって拒絶されてしまう。 As described with reference to FIG. 21, in practice, each of the terminal devices 200A and 200B is generally connected to the Internet N via the routers RA and RB. In this case, as described in §5, when the router type is set to the gateway NAT, the terminal device connected below is set to “An external device has received a packet that it has transmitted in the past. Only packets from the host can be received, and packets from other external hosts are rejected by the router of the relevant NAT.
 もっとも、個々の端末装置は、自己が接続されているルータのタイプを直接認識することはできない。そこで、個々の端末装置が、自己が接続されているルータのタイプを照会することができるように、インターネットN上には、NATタイプ判別装置が設定されている。このNATタイプ判別装置は、端末装置からネットワークNを介してNATタイプの照会があったときに、当該照会に係る通信を利用して、照会元の端末装置が接続されているルータのNATタイプを判別し、判別したNATタイプを照会元の端末装置に回答する処理を行う。 However, each terminal device can not directly recognize the type of router to which it is connected. Therefore, a NAT type determination device is set on the Internet N so that each terminal device can inquire the type of router to which it is connected. When the terminal device makes an inquiry about the NAT type from the terminal device via the network N, this NAT type determination device uses the communication related to the inquiry to determine the NAT type of the router to which the terminal device of the inquiry source is connected. A determination is made and processing is performed to reply the determined NAT type to the terminal device of the inquiry source.
 たとえば、図21に示す例において、ネットワークNにこのようなNATタイプ判別装置を接続しておけば、端末装置200Aは、このNATタイプ判別装置に対して照会を行うことにより、自己が接続されているルータRAのNATタイプを知ることができる。すなわち、端末装置200AからルータRAを介して、ネットワークNに接続されているNATタイプ判別装置に対してNATタイプの照会を行うと、NATタイプ判別装置は、当該照会に係る通信を利用して(ルータRAから送信されてくるパケットから得られる様々な情報を利用して)、ルータRAのNATタイプを判別することができる。 For example, in the example shown in FIG. 21, if such a NAT type determination device is connected to the network N, the terminal device 200A is connected to itself by querying this NAT type determination device. You can know the NAT type of your router RA. That is, when the terminal type 200A makes an inquiry of the NAT type to the NAT type discrimination apparatus connected to the network N via the router RA, the NAT type discrimination apparatus utilizes the communication related to the inquiry ( The NAT type of the router RA can be determined using various information obtained from packets sent from the router RA).
 NATタイプ判別装置は、こうして判別されたルータRAのNATタイプを、ルータRAを介して、照会元の端末装置200Aに回答する。かくして、端末装置200Aは、自己が接続されているルータRAのNATタイプを知ることができる。同様に、端末装置200Bは、同様の方法でNATタイプ判別装置に対して照会を行うことにより、自己が接続されているルータRBのNATタイプを知ることができる。 The NAT type determination device replies the NAT type of the router RA thus determined to the query source terminal device 200A via the router RA. Thus, the terminal device 200A can know the NAT type of the router RA to which the terminal device 200A is connected. Similarly, the terminal device 200B can know the NAT type of the router RB to which the terminal device 200B is connected by making a query to the NAT type determination device in the same manner.
 このように、端末装置からの照会に基づいて、当該端末装置自身が接続されているルータのNATタイプ(本願では、自己のNATタイプと呼ぶ)を判別し、これを照会元の端末装置に回答する処理を行うNATタイプ判別装置としては、STUN(Session Traversal Utilities for NATs)サーバと呼ばれている公知の装置を利用することができる。本来、このSTUNサーバは、STUNプロトコルを用いた通信を可能にするために設置されるサーバであるが、本発明におけるNATタイプ判別装置として用いることができる。このSTUNサーバは、既に広く利用されている公知の装置であるので、その構成や具体的な処理内容についての説明は、ここでは省略する。 In this way, based on the inquiry from the terminal device, the NAT type of the router to which the terminal device itself is connected (this application calls it's own NAT type) is determined, and this is answered to the inquiry source terminal device A publicly known device called a STUN (Session Traversal Utilities for NATs) server can be used as a NAT type discrimination device that performs processing. Although this STUN server is originally a server installed to enable communication using the STUN protocol, it can be used as a NAT type discrimination device in the present invention. Since this STUN server is a known device that has already been widely used, the description of its configuration and specific processing contents is omitted here.
 このように、図21に示す例において、ネットワークNにNATタイプ判別装置(STUNサーバ)を接続しておけば、各端末装置200A,200Bは、自己が接続されているルータRA,RBのNATタイプを知ることができる。そこで、各端末装置200A,200Bが、自己アドレスを接続仲介装置100に通知する際に、自己が接続されているルータRA,RBのNATタイプを併せて通知するようにすれば、接続仲介装置100は、個々の端末装置のアドレスとともに、当該端末装置自身が接続されているルータのNATタイプ(自己のNATタイプ)を知ることができる。 In this way, in the example shown in FIG. 21, if a NAT type discrimination device (STUN server) is connected to the network N, each of the terminal devices 200A and 200B is a NAT type of the router RA or RB to which it is connected You can know Therefore, when each of the terminal devices 200A and 200B notifies the connection intermediation device 100 of its own address, the connection intermediation device 100 may be notified of the NAT type of the router RA or RB to which it is connected. Can know the NAT type (self NAT type) of the router to which the terminal itself is connected, as well as the address of each terminal.
 したがって、接続仲介装置100は、通信元の端末装置から通信先の端末装置への接続仲介依頼があったときに、両端末装置が接続されているルータについてのNATタイプを調べることにより、両端末間に関所型NATのルータが存在しているか否かを把握することができ、両端末間でこのまま通常通信を行ったとすると、両端末間に存在する関所型NATのルータによって当該通常通信が失敗することを予想することができる。そこで、接続仲介装置100は、関所型NATのルータの存在によって、通常通信の失敗が予測されるときには、端末装置に対して、通常通信の代わりに迂回通信を行う旨の指示を与えることができる。このような指示を受けた端末装置は、§6で述べた方法と同様の方法で迂回通信を行うことになる。 Therefore, when there is a connection mediation request from the terminal apparatus at the communication source to the terminal apparatus at the communication destination, the connection mediation apparatus 100 checks both NAT types for the router to which both terminal apparatuses are connected. It is possible to know whether there is a router of the NAT type, and if normal communication is performed between the two terminals, the normal communication fails due to the router of the NAT type existing between the two terminals. You can expect to do. Therefore, the connection mediating apparatus 100 can give an instruction to the terminal apparatus to perform bypass communication instead of normal communication when failure of the normal communication is predicted due to the presence of the router of the gateway NAT. . The terminal device that has received such an instruction will perform bypass communication in the same manner as the method described in §6.
 このように、この§7で述べる実施形態では、個々の端末装置が、接続仲介装置に対して自己アドレスの通知を行う際に、自己が接続されたルータのNATタイプ(自己のNATタイプ)も併せて通知しておく。そして、接続仲介装置が通信元の端末装置から通信先の端末装置への接続仲介依頼を受けたときに、両端末間における関所型NATのルータの存在によって通常通信の失敗が予想される場合には、迂回通信を指示するようにし、この指示に基づいて両端末間で迂回通信を行うようにする。 Thus, in the embodiment described in this 77, when each terminal device notifies the connection mediating device of its own address, the NAT type (the own NAT type) of the router to which it is connected is also used. I will notify at the same time. Then, when the connection mediation device receives a connection mediation request from the terminal device at the communication source to the terminal device at the communication destination, a failure in normal communication is expected due to the presence of the router of the gateway NAT between both terminals. In the second embodiment, the bypass communication is instructed, and the bypass communication is performed between the two terminals based on the instruction.
 以下、このような通信方法を、§1に示す先願基本発明の第1の実施形態(図2)に適用した例を実施例3として説明し、§2に示す先願基本発明の第2の実施形態(図7)に適用した例を実施例4として説明する。もちろん、以下に述べる実施例3,4については、§3や§4で述べた各種変形例を適用することも可能である。なお、各実施例3,4にブロックとして示されている各構成要素は、これまで述べた先願基本発明に係るシステムと同様に、実際には、コンピュータに組み込まれた専用のプログラムによって実現されることになる。 Hereinafter, an example in which such a communication method is applied to the first embodiment (FIG. 2) of the prior application basic invention shown in § 1 will be described as a third embodiment, and the second application of the prior application basic invention shown in § 2 An example applied to the embodiment of FIG. 7 (FIG. 7) will be described as a fourth embodiment. Of course, various modifications described in §3 and 44 can also be applied to the third and fourth embodiments described below. Each component shown as a block in each of the third and fourth embodiments is actually realized by a dedicated program incorporated in a computer, like the system according to the prior application basic invention described above. It will be
 <7-1. 実施例3>
 図28は、本発明の実施例3に係るネットワーク通信システムにおける端末装置203の詳細構成を示すブロック図である。ここに示す端末装置203は、図2に示す先願基本発明の第1の実施形態に係る端末装置200における通信開始要求部240および自己アドレス通知部250に、若干の修正を加えてそれぞれ通信開始要求部243および自己アドレス通知部253とし、更に、新たな構成要素として、迂回通信処理部273およびNATタイプ確認部283(図では新たな構成要素を太線枠ブロックで示す)を付加したものである。その他の構成要素である接続仲介依頼部210、通信要求受付部220、通信先セッション確立部230、通信元セッション確立部260は、図2に示す同符号の各構成要素と同じものであり、その機能の詳細は、既に§1で述べたとおりである。
<7-1. Example 3>
FIG. 28 is a block diagram showing a detailed configuration of the terminal device 203 in the network communication system according to the third embodiment of the present invention. The terminal device 203 shown here adds some corrections to the communication start request unit 240 and the self address notification unit 250 in the terminal device 200 according to the first embodiment of the prior invention basic invention shown in FIG. A request unit 243 and a self address notification unit 253 are additionally provided with a detour communication processing unit 273 and a NAT type confirmation unit 283 (in the figure, a new component is indicated by a bold line frame block) as new components. . The connection intermediation request unit 210, the communication request reception unit 220, the communication destination session establishment unit 230, and the communication source session establishment unit 260, which are other components, are the same as the components of the same reference numerals shown in FIG. The details of the function are as already described in §1.
 また、この図28に示す実施例3では、図2に示す接続仲介装置100の代わりに、接続仲介装置103が用いられている。この接続仲介装置103は、図2に示す接続仲介装置100の機能に、通信方法(通常通信か迂回通信か)を指示する機能と、迂回通信を中継する機能とを付加したものであり、その構成の詳細は後述する。結局、図28に示す実施例3において、3桁の数字からなる符号における1の位が「3」となっているブロックで示される構成要素が、実施例3に固有の構成要素ということになる。 Further, in the third embodiment shown in FIG. 28, a connection mediation device 103 is used instead of the connection mediation device 100 shown in FIG. The connection mediation device 103 is obtained by adding the function of instructing the communication method (whether normal communication or bypass communication) and the function of relaying bypass communication to the functions of the connection mediation device 100 shown in FIG. Details of the configuration will be described later. As a result, in the third embodiment shown in FIG. 28, the component indicated by the block in which the first digit in the three-digit code is “3” is a component unique to the third embodiment. .
 なお、図28には、NATタイプ判別装置500が記載されている。このNATタイプ判別装置500は、前述したとおり、端末装置203からネットワークNを介してNATタイプの照会があったときに、当該照会に係る通信を利用して、照会元の端末装置203のNATタイプを判別し、判別したNATタイプを照会元の端末装置に回答する処理を行う。実際には、STUNサーバをNATタイプ判別装置500として利用できる点は、既に述べたとおりである。 The NAT type discrimination device 500 is shown in FIG. As described above, when the terminal device 203 makes an inquiry about the NAT type through the network N, the NAT type discrimination device 500 uses the communication related to the inquiry to make the NAT type of the terminal device 203 of the inquiry source And the process of returning the determined NAT type to the terminal device of the inquiry source. In fact, as described above, the STUN server can be used as the NAT type discrimination device 500.
 図示する実施例3は、本発明に係るネットワーク通信システムとは別個に利用されているSTUNサーバを、本発明に係るNATタイプ判別装置500として流用した例である。もちろん、接続仲介装置103を構成するサーバ装置内に、本発明のための専用のSTUNサーバを用意してもかまわない。この場合、同一サーバ装置内に、接続仲介装置103とNATタイプ判別装置500(本発明のための専用のSTUNサーバ)が組み込まれることになり、NATタイプ判別装置500は、本発明に係るネットワーク通信システムの構成要素の1つになる。 The illustrated third embodiment is an example in which a STUN server used separately from the network communication system according to the present invention is used as the NAT type determination apparatus 500 according to the present invention. Of course, a dedicated STUN server for the present invention may be prepared in the server device constituting the connection mediation device 103. In this case, the connection mediating apparatus 103 and the NAT type determination apparatus 500 (a dedicated STUN server for the present invention) will be incorporated in the same server apparatus, and the NAT type determination apparatus 500 may Become one of the components of the system.
 この実施例3に係るシステムは、図2に示す先願発明のシステムと同様に、ネットワークNを介して相互に接続可能な複数の端末装置(図には、便宜上、1台の端末装置203のみが示されている)と、これら複数の端末装置間の接続を仲介する接続仲介装置103と、を備えたネットワーク通信システムである。ここで、各端末装置203には、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、接続仲介装置103は、この端末IDを利用して通信元となる端末装置と通信先となる端末装置との間の接続を仲介する処理を実行する。 Similar to the system of the prior invention shown in FIG. 2, the system according to the third embodiment has a plurality of terminal devices mutually connectable via the network N (in FIG. And a connection mediation device 103 which mediates the connection between the plurality of terminal devices. Here, each terminal device 203 is assigned a terminal ID for mutually identifying each terminal device, and the connection mediation device 103 uses the terminal ID as a communication source terminal device and The processing of mediating the connection with the terminal device to be the communication destination is executed.
 この図における太線矢印は、端末装置203と接続仲介装置103との間でやりとりされる信号の流れを示しており、細線矢印(ブロック203内部の矢印を除く)は、一対の端末装置203の間で直接的にやりとりされる、通信セッション確立前の信号の流れを示している。そして、白抜矢印は、一対の端末装置203の間で直接的にやりとりされる、通信セッション確立後の信号の流れを示している。この白抜矢印には、「通常通信」なる表記がなされているが、これはこのシステムが想定する本来の通信、すなわち、端末装置203間で直接的に行われる通信を示している。これに対して、迂回通信処理部273から伸びる太線矢印には、「迂回通信」なる表記がなされているが、これは、上述した「通常通信」の失敗が予想されるときに、端末装置203が接続仲介装置103を介して間接的に相手方への通信を行うことを示している。 The thick arrows in this figure indicate the flow of signals exchanged between the terminal device 203 and the connection mediation device 103, and the thin arrows (except for the arrows inside the block 203) indicate between the pair of terminal devices 203. , And the flow of signals before establishment of a communication session, which are directly exchanged. The white arrows indicate the flow of signals after the communication session is established, which are directly exchanged between the pair of terminal devices 203. The white arrow indicates the “normal communication”, which indicates the original communication assumed by this system, that is, the communication directly performed between the terminal devices 203. On the other hand, the bold arrow extending from the bypass communication processing unit 273 is described as "detour communication", but this is because the terminal device 203 is expected to fail in the above-mentioned "normal communication". Indicates that communication to the other party is indirectly performed via the connection mediation device 103.
 図28に示す自己アドレス通知部253は、図2に示す自己アドレス通知部250と同様に、自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置103に対して通知する機能を果たす。この自己アドレス通知機能については、既に§1で詳述したとおりである。ただ、自己アドレス通知部253は、この自己アドレス通知機能に加えて、自己が接続されているルータ(図28には示されていない)のNATタイプを接続仲介装置103に対して併せて通知する付加的な機能を有している。 The self address notifying unit 253 shown in FIG. 28 has a function of notifying the connection mediating apparatus 103 of the location address indicating the location on the network, as the self address notifying unit 250 shown in FIG. The self address notification function is as already described in detail in §1. However, in addition to the self-address notifying function, the self-address notifying unit 253 also notifies the connection mediation device 103 of the NAT type of the router (not shown in FIG. 28) to which the self is connected. It has additional functions.
 この付加機能は、新たな構成要素であるNATタイプ確認部283の助けを借りて行われる。NATタイプ確認部283は、ネットワークNを介してNATタイプ判別装置500に対して自己のNATタイプを照会し、NATタイプ判別装置500からの回答を得る機能をもった構成要素である。図における太い一点鎖線の矢印は、NATタイプ確認部283とNATタイプ判別装置500との間でやりとりされる照会および回答の信号の流れを示している。もちろん、この信号は、図示されていないルータおよびネットワークNを介してやりとりされることになる。 This additional function is performed with the help of a new component, the NAT type confirmation unit 283. The NAT type confirmation unit 283 is a component having a function of inquiring the NAT type discrimination device 500 of its own NAT type via the network N and obtaining an answer from the NAT type discrimination device 500. The thick dashed-dotted arrows in the figure indicate the flow of inquiry and reply signals exchanged between the NAT type confirmation unit 283 and the NAT type discrimination device 500. Of course, this signal will be exchanged via a router and network N not shown.
 この実施例3に係る端末装置203が相手方に対する通信を行う前に、図29の流れ図に示されている事前処理が実行される。まず、自己アドレス通知部253が、接続仲介装置103に対して自己の所在アドレスを通知する際(前述したとおり、自己アドレスの通知は、予め定められた所定のタイミングで実行される)に、ステップS31において、NATタイプ確認部283に対してNATタイプ確認指示を出す。NATタイプ確認部283は、このNATタイプ確認指示を受けると、ステップS32において、NATタイプ判別装置500に対して自己のNATタイプを照会する(図28の太い一点鎖線の矢印)。 Before the terminal device 203 according to the third embodiment communicates with the other party, the pre-processing shown in the flowchart of FIG. 29 is performed. First, when the own address notification unit 253 notifies the connection intermediation device 103 of its own location address (as described above, the notification of the own address is executed at a predetermined predetermined timing). In S31, an NAT type confirmation instruction is issued to the NAT type confirmation unit 283. When the NAT type confirmation unit 283 receives this NAT type confirmation instruction, in step S32, the NAT type confirmation unit 283 inquires of the NAT type discrimination device 500 about its own NAT type (thick dashed-dotted arrow in FIG. 28).
 NATタイプ判別装置500は、端末装置203のNATタイプ確認部283からネットワークNを介してNATタイプの照会があったときに、当該照会に係る通信を利用して、照会元の端末装置203のNATタイプ(端末装置203が接続されているルータのNATタイプ)を判別し、ステップS33において、判別したNATタイプを照会元の端末装置203のNATタイプ確認部203に回答する処理を行う。具体的な処理方法は、STUNサーバの処理として公知であるため、ここでは詳細な説明は省略する。 When there is an inquiry of the NAT type from the NAT type confirmation unit 283 of the terminal device 203 via the network N, the NAT type discrimination device 500 uses the communication related to the inquiry to NAT the terminal device 203 of the inquiry source. The type (the NAT type of the router to which the terminal device 203 is connected) is determined, and in step S33, the determined NAT type is returned to the NAT type confirmation unit 203 of the terminal device 203 of the inquiry source. Since the specific processing method is known as processing of the STUN server, detailed description will be omitted here.
 NATタイプ確認部283は、続くステップS34において、ステップS33で得られた回答(NATタイプ)を自己アドレス通知部253に報告する。当該報告を受けた自己アドレス通知部253は、当該報告に基づいて、ステップS35において、ステップS33で得られた回答(NATタイプ)を接続仲介装置103に対して、自己アドレスとともに通知する。 In the subsequent step S34, the NAT type confirmation unit 283 reports the response (NAT type) obtained in step S33 to the self address notification unit 253. In step S35, the self-address notifying unit 253 that has received the report notifies the connection mediation device 103 of the response (NAT type) obtained in step S33 along with the self-address in step S35.
 このように、実施例3では、自己アドレス通知部253が、接続仲介装置103に対して自己の所在アドレスを通知する際に、NATタイプ確認部283が得た回答を併せて通知することになる。したがって、図28において、自己アドレス通知部253からネットワークNに向かう太線矢印は、端末装置203の所在アドレスの情報とともに、端末装置203が接続されているルータ(図示されていない)のNATタイプの情報を含む信号になる。 As described above, in the third embodiment, when notifying the connection mediating apparatus 103 of its own location address, the self-address notifying unit 253 also notifies of the answer obtained by the NAT type confirmation unit 283. . Therefore, in FIG. 28, the thick arrow pointing from the own address notification unit 253 to the network N indicates the information of the location address of the terminal device 203 and the NAT type information of the router (not shown) to which the terminal device 203 is connected. The signal contains
 こうして、接続仲介装置103には、各端末装置203から、所在アドレスの情報とNATタイプの情報とが通知されるので、接続仲介装置103内のアドレステーブルには、端末IDと所在アドレスに加えて、更に、NATタイプを対応づけた情報が格納される。すなわち、図29の流れ図のステップS36において、接続仲介装置103内のアドレステーブル更新部123によって、NATタイプを含めたアドレステーブルの更新が行われる。図30は、このような更新によって作成されたアドレステーブルT60を示す図である。このアドレステーブルT60は、図6に示すアドレステーブルTと同様に、4組の端末装置から通知された所在アドレスを示すものであるが、所在アドレスに加えて、NATタイプの情報(右欄)も記録されている。 In this way, since the information on the location address and the information on the NAT type are notified from the terminal devices 203 to the connection mediation device 103, the address table in the connection mediation device 103 is added to the terminal ID and the location address. Furthermore, information in which the NAT type is associated is stored. That is, in step S36 of the flowchart of FIG. 29, the address table updating unit 123 in the connection mediating apparatus 103 updates the address table including the NAT type. FIG. 30 shows an address table T60 created by such updating. Similar to the address table T shown in FIG. 6, this address table T60 indicates the location address notified from the four sets of terminal devices, but in addition to the location address, the NAT type information (right column) is also included. It is recorded.
 前述したように、NATタイプには、「Full cone NAT」,「Restricted cone NAT」,「Port restricted cone NAT」,「Symmetric NAT」等のタイプが実用されているが、§5で述べたとおり、通常通信の妨げになるのは「関所型NAT」(「Symmetric NAT」および「Port restricted cone NAT」)であるので、図30に示すアドレステーブルT60では、接続されているルータのNATタイプが「関所型NAT」である端末装置については「関所型」なるデータを記録し、それ以外の端末装置については「非関所型」なるデータを記録している。もちろん、「Full cone NAT」などの実際のNATタイプを示すデータを記録するようにしてもかまわない。 As described above, as the NAT type, types such as “Full cone NAT”, “Restricted cone NAT”, “Port restricted cone NAT”, “Symmetric NAT” are put to practical use, but as described in 述 べ 5, Since the "block type NAT" ("Symmetric NAT" and "Port restricted cone NAT") obstructing normal communication, in the address table T60 shown in FIG. 30, the NAT type of the connected router is "section size For the terminal device of type NAT, data of "local type" is recorded, and for the other terminal devices, data of "non-local type" is recorded. Of course, data indicating the actual NAT type such as "Full cone NAT" may be recorded.
 図29の流れ図に示されている事前処理が済めば、図28に示す実施例3に係るネットワーク通信システムにおける通信準備は完了である。自己アドレス通知部253による所在アドレスおよびNATタイプの通知は、所定タイミングで繰り返し実行されるので、接続仲介装置103内のアドレステーブルT60には、各端末装置について、常に最新の所在アドレスおよびNATタイプが格納されることになる。そこで、接続仲介装置103は、特定の通信元端末装置から特定の通信先端末装置への接続仲介依頼が来たときに、アドレステーブルT60を参照して、両端末間で通常通信を行った場合に、「関所型NAT」が設定されたルータにより当該通常通信に支障が生じるか否かを判断し、支障なしと判断される場合には通常通信を選択し、支障ありと判断される場合には迂回通信を選択する。 Preparation of communication in the network communication system according to the third embodiment shown in FIG. 28 is completed when the pre-processing shown in the flowchart of FIG. 29 is completed. Since the notification of the location address and the NAT type by the self address notification unit 253 is repeatedly executed at a predetermined timing, the latest location address and NAT type are always stored in the address table T60 in the connection mediation device 103 for each terminal device. It will be stored. Therefore, when the connection mediation device 103 receives a connection mediation request from a specific communication source terminal device to a specific communication destination terminal device, the connection mediation device 103 refers to the address table T60 and performs normal communication between both terminals. Then, it is judged whether or not troubles occur in the normal communication by the router in which the "gateway type NAT" is set, and when it is judged that there is no trouble, the normal communication is selected and it is judged that there is a trouble. Selects the bypass communication.
 そして、接続仲介装置103から通信元端末装置203の通信開始要求部243に対して、通信先アドレスを返信する際に、選択した通信方法を示す情報(通常通信か、迂回通信かを示す情報)を併せて返信する。したがって、図28において、ネットワークNから通信開始要求部243に向かう太線矢印は、通信先アドレスの情報とともに通信方法の情報を含む信号になる。 Then, when a communication destination address is returned from the connection mediation device 103 to the communication start request unit 243 of the communication source terminal device 203, information indicating the selected communication method (information indicating whether normal communication or bypass communication) Reply together. Therefore, in FIG. 28, the thick arrow going from the network N to the communication start request unit 243 is a signal including the information of the communication method together with the information of the communication destination address.
 通信開始要求部243は、接続仲介装置103から通信先アドレスと共に通信方法が返信されてきたとき、通信方法として通常通信が選択されていた場合には、先願基本発明の第1の実施形態と同様に、ネットワークNを介して、通信先アドレスにアクセスして通信開始要求を行う。以後の通信手順は、§1で述べたとおりである。一方、通信方法として迂回通信が選択されていた場合には、迂回通信処理部273に対して迂回通信指示を行う。 When a communication method is returned from the connection mediation device 103 together with the communication destination address, the communication start request unit 243 determines that the normal communication is selected as the communication method. Similarly, the communication destination address is accessed via the network N to make a communication start request. The subsequent communication procedure is as described in §1. On the other hand, when the alternative communication is selected as the communication method, the alternative communication instruction is issued to the alternative communication processing unit 273.
 迂回通信処理部273は、§6で述べた実施例1における迂回通信処理部271と同様に、接続仲介装置103を介した迂回通信を行う構成要素である。すなわち、迂回通信処理部273は、通常通信(図の白抜矢印で示された通信)の失敗が予想されるときに、接続仲介装置103を介して相手方に対する間接的な情報送受を行う迂回通信を実行する。上述したとおり、失敗予想は、接続仲介装置103において行われる。通信開始要求部243が接続仲介装置103から迂回通信を選択する通信方法を受け取った場合、接続仲介装置103が失敗予想を行ったケースにあたる。この場合、通信開始要求部243から迂回通信処理部273に対して迂回通信指示が行われ、迂回通信処理部273による迂回通信が実行される。具体的には、迂回通信処理部273は、接続仲介装置103(後述するように、その中の迂回通信中継部143)に対して迂回通信の中継依頼を行い、接続仲介装置103を介して、相手方の迂回通信処理部273との間での迂回通信を実行することになる。 The bypass communication processing unit 273 is a component that performs bypass communication via the connection mediation device 103 as in the bypass communication processing unit 271 in the first embodiment described in §6. That is, the bypass communication processing unit 273 performs indirect information transmission / reception with the other party via the connection mediation device 103 when failure of normal communication (communication indicated by the white arrow in the figure) is expected. Run. As described above, failure prediction is performed in the connection mediating apparatus 103. When the communication start request unit 243 receives a communication method for selecting bypass communication from the connection mediating apparatus 103, this corresponds to the case where the connection mediating apparatus 103 predicts a failure. In this case, the communication start request unit 243 instructs the bypass communication processing unit 273 to perform bypass communication, and the bypass communication processing unit 273 executes bypass communication. Specifically, the detour communication processing unit 273 makes a relay request for detour communication to the connection mediation device 103 (as will be described later, the detour communication relay unit 143 therein), and, via the connection mediation device 103, The detour communication with the detour communication processing unit 273 of the other party is executed.
 図31は、図28に示す本発明の実施例3に係るネットワーク通信システムにおいて、通信元端末装置203Aと通信先端末装置203Bとの間の通信セッション確立の手順を示すブロック図である。図示する端末装置203A,203Bは、図28に示す端末装置203と同一の構成を有する装置であり、図4と同様に、通信元端末装置203A内の構成要素については、通信元として必要な処理を実行する構成要素(矩形ブロックの構成要素)を実線で示し、通信先端末装置203B内の構成要素については、通信先として必要な処理を実行する構成要素(二重矩形ブロックの構成要素)を実線で示すことにし、それ以外の構成要素のブロックは破線で示してある。また、実施例3に固有の構成要素である迂回通信処理部273A,273BおよびNATタイプ確認部283A,283Bについては太線枠ブロックで示してある。 31 is a block diagram showing a procedure for establishing a communication session between the communication source terminal device 203A and the communication destination terminal device 203B in the network communication system according to the third embodiment of the present invention shown in FIG. The terminal devices 203A and 203B shown are devices having the same configuration as the terminal device 203 shown in FIG. 28. As in FIG. 4, the components in the communication source terminal device 203A are processes necessary as a communication source. The components (components of the rectangular block) that execute the command are indicated by solid lines, and the components within the communication destination terminal device 203B are the components (components of the double rectangular block) that perform the processing necessary as the communication destination. It is indicated by a solid line, and blocks of other components are indicated by a broken line. Further, the bypass communication processing units 273A and 273B and the NAT type confirmation units 283A and 283B, which are components unique to the third embodiment, are indicated by thick line frame blocks.
 図31に示す接続仲介装置103(図28に示すもの)は、図4に示す接続仲介装置100に、迂回通信中継部143を追加するとともに、その他の構成要素であるアドレステーブル格納部110、アドレステーブル更新部120、通信先アドレス返信部130については、若干の付加機能を設けることにより、アドレステーブル格納部113、アドレステーブル更新部123、通信先アドレス返信部133としたものである。 The connection mediating apparatus 103 (shown in FIG. 28) shown in FIG. 31 adds the bypass communication relay section 143 to the connection mediating apparatus 100 shown in FIG. The table update unit 120 and the communication destination address return unit 130 are configured as the address table storage unit 113, the address table update unit 123, and the communication destination address return unit 133 by providing some additional functions.
 接続仲介装置103内の迂回通信中継部143は、第1の端末装置203Aの迂回通信処理部273Aと第2の端末装置203Bの迂回通信処理部273Bとの間での迂回通信の中継依頼があったときに、第1の端末装置203Aの迂回通信処理部273Aと第2の端末装置203Bの迂回通信処理部273Bとの間で受け渡しする情報を取り次いで迂回通信の中継を行う構成要素である。 The bypass communication relay unit 143 in the connection mediation device 103 has a relay request for bypass communication between the bypass communication processing unit 273A of the first terminal device 203A and the bypass communication processing unit 273B of the second terminal device 203B It is a component that takes information passed between the detour communication processing unit 273A of the first terminal device 203A and the detour communication processing unit 273B of the second terminal device 203B and relays the detour communication.
 また、接続仲介装置103内のアドレステーブル格納部113は、図30に例示したように、端末IDと所在アドレスに加えて、更に、NATタイプを対応づけたアドレステーブルT60を格納する機能を有する。そして、接続仲介装置103内のアドレステーブル更新部123は、自己アドレス通知部253からの通知に含まれるNATタイプを示す情報に基づいて、アドレステーブルT60内のNATタイプの更新を行う付加機能を有する。 Further, as illustrated in FIG. 30, the address table storage unit 113 in the connection mediation device 103 further has a function of storing an address table T60 in which the NAT type is associated in addition to the terminal ID and the location address. Then, the address table updating unit 123 in the connection mediation device 103 has an additional function of updating the NAT type in the address table T60 based on the information indicating the NAT type included in the notification from the self address notifying unit 253. .
 一方、接続仲介装置103内の通信先アドレス返信部133は、通信元端末装置203A内の接続仲介依頼部210Aから接続仲介依頼S2が送信されてきたときに、アドレステーブルT60を参照して、接続仲介依頼S2に含まれている通信先特定情報によって特定される端末ID「0020」に対応づけられている所在アドレスAD2を通信先アドレスとして返信するとともに、通信先の端末装置203BのNATタイプを確認し、通信先の端末装置203BのNATタイプが関所型NATではなかった場合には、通信方法として通常通信を選択し、通信先の端末装置203BのNATタイプが関所型NATであった場合には、通信方法として迂回通信を選択し、選択した通信方法を通信先アドレスと共に返信する機能を有する。 On the other hand, when the connection mediation request S2 is transmitted from the connection mediation request unit 210A in the communication source terminal device 203A, the communication destination address replying unit 133 in the connection mediation device 103 refers to the address table T60 and performs connection. The location address AD2 associated with the terminal ID "0020" specified by the communication destination specification information included in the intermediation request S2 is returned as the communication destination address, and the NAT type of the terminal device 203B of the communication destination is confirmed. If the NAT type of the terminal device 203B at the communication destination is not the gateway NAT type, normal communication is selected as the communication method, and if the NAT type of the terminal device 203B at the communication destination is the gateway NAT type It has a function of selecting the bypass communication as the communication method and returning the selected communication method together with the communication destination address.
 この図31に示す例において、アドレステーブル格納部113内に図30のようなアドレステーブルT60が格納されていた場合、通信先の端末装置203B(端末ID:0020)のNATタイプは「関所型」になっているので、通信先アドレス返信部133は、通信方法として迂回通信を選択する。通信先端末装置203Bが関所型NATということは、§5で述べたとおり、通信元端末装置203Aから通信先端末装置203Bへ、直接的に通信開始要求S5を行った場合、通信先端末装置203BのルータRBによって、当該通信開始要求S5がブロックされてしまう可能性がある。この場合、通信先アドレス返信部133は、通信方法として迂回通信を選択することになる。図31には、通信先アドレス返信部133から通信開始要求部243Aに対して、通信先アドレス「AD2」および通信方法「迂回通信」を示す情報が返信された例(図31の太線矢印S4a)が示されている。これに対して、通信先の端末装置203BのNATタイプが「非関所型」になっていれば、通信先アドレス返信部133は、通信方法として通常通信を選択することになる。 In the example shown in FIG. 31, when the address table T60 as shown in FIG. 30 is stored in the address table storage unit 113, the NAT type of the terminal device 203B (terminal ID: 0020) of the communication destination is "sister type". The communication destination address reply unit 133 selects bypass communication as the communication method. When the communication destination terminal device 203B directly performs communication start request S5 from the communication source terminal device 203A to the communication destination terminal device 203B as described in 5 5, the communication destination terminal device 203B The router RB may block the communication start request S5. In this case, the communication destination address reply unit 133 selects bypass communication as the communication method. In FIG. 31, an example in which information indicating the communication destination address "AD2" and the communication method "detour communication" is returned from the communication destination address reply unit 133 to the communication start request unit 243A (thick arrow S4a in FIG. 31). It is shown. On the other hand, if the NAT type of the terminal device 203B of the communication destination is "non-corruption type", the communication destination address reply unit 133 selects normal communication as the communication method.
 通信元端末装置203A内の通信開始要求部243Aは、通信先アドレス返信部133から「通常通信」を選択する返信が戻ってきた場合、通常通信の処理を行う。具体的には、通信開始要求部243Aが、通信先アドレスAD2にアクセスして通信開始要求S5を行うと、相手方の通信先セッション確立部230Bから通信元セッション確立部260Aに対して通信開始受諾確認S6が送信される。こうして、通信元セッション確立部260Aと通信先セッション確立部230Aとの間に通信セッションが確立する。 The communication start request unit 243A in the communication source terminal device 203A performs normal communication processing when the communication destination address return unit 133 returns a response for selecting “normal communication”. Specifically, when the communication start request unit 243A accesses the communication destination address AD2 and makes a communication start request S5, the communication destination session establishment unit 230B of the other party confirms the communication start acceptance to the communication source session establishment unit 260A. S6 is sent. Thus, a communication session is established between the communication source session establishment unit 260A and the communication destination session establishment unit 230A.
 一方、通信先アドレス返信部133から「迂回通信」を選択する返信が戻ってきた場合、通信開始要求部243Aは、迂回通信の処理を行う。すなわち、通信開始要求部243Aは、通信開始要求S5を行う代わりに、迂回通信処理部273Aに対して、迂回通信指示S5′を行う。迂回通信処理部273Aは、この迂回通信指示S5′を受けると、迂回通信中継部143に対して迂回通信の中継依頼を行い、迂回通信中継部143を介して、相手方の迂回通信処理部273Bとの間での迂回通信S8aを実行する。迂回通信処理部273Aは、通信開始要求部243Aから通信先アドレスAD2を取得し、これを迂回通信中継部143に伝達して中継依頼を行う。迂回通信中継部143は、この中継依頼に応じて、通信先アドレスAD2にアクセスし、通信先端末装置203Bの迂回通信処理部273Bに迂回通信の開始を要求する。迂回通信処理部273Bは、これを受諾する旨の返信を迂回通信中継部143に対して行い、迂回通信S8bを実行する。以後、迂回通信中継部143による中継により、両端末装置203A,203B間での迂回通信が行われる。 On the other hand, when the communication destination address reply unit 133 returns a reply for selecting the “detour communication”, the communication start request unit 243A performs a bypass communication process. That is, instead of making the communication start request S5, the communication start request unit 243A sends a detour communication instruction S5 'to the detour communication processing unit 273A. Upon receiving the detour communication instruction S5 ', the detour communication processing unit 273A makes a relay request for detour communication to the detour communication relay unit 143, and via the detour communication relay unit 143, the detour communication processing unit 273B The detour communication S8a is executed. The bypass communication processing unit 273A acquires the communication destination address AD2 from the communication start request unit 243A, transmits this to the bypass communication relay unit 143, and makes a relay request. In response to the relay request, the bypass communication relay unit 143 accesses the communication destination address AD2 and requests the bypass communication processing unit 273B of the communication destination terminal device 203B to start bypass communication. The bypass communication processing unit 273B sends a reply to the effect that the bypass communication processing unit 273B accepts this to the bypass communication relay unit 143, and executes bypass communication S8b. Thereafter, by the relay by the detour communication relay unit 143, detour communication is performed between the terminal devices 203A and 203B.
 この迂回通信では、両端末装置203A,203B間の情報パケットは、すべて接続仲介装置103を介してやりとりされることになる。§5で述べたように、両端末装置203A,203B間の直接的な通信が関所型NATのルータによってブロックされるとしても、両端末装置203A,203B間の迂回通信は、接続仲介装置103を中継する通信になるため、支障なく行われる。 In this bypass communication, all information packets between the two terminal devices 203A and 203B are exchanged via the connection mediation device 103. As described in 55, even if direct communication between both terminal devices 203A and 203B is blocked by the router of the gateway NAT, bypass communication between both terminal devices 203A and 203B is performed by the connection mediation device 103. Since it becomes communication to relay, it is performed without trouble.
 図32は、図31のブロック図に示されている実施例3における通信セッション確立手順を時系列で説明する流れ図である。この流れ図における通常通信の手順は、§1で述べた先願発明の第1の実施形態における通信セッション確立手順を示す図5の流れ図とほぼ同じである。 FIG. 32 is a flow chart explaining the communication session establishment procedure in the third embodiment shown in the block diagram of FIG. 31 in chronological order. The procedure of normal communication in this flowchart is substantially the same as the flowchart of FIG.
 まず、ステップS1において、通信要求受付部220Aによる通信要求受付処理が行われ、続くステップS2において、接続仲介依頼部210Aによる接続仲介依頼が行われる。そしてステップS3において、通信先アドレス返信部133によりアドレステーブル格納部113に格納されているアドレステーブルT60の参照が行われ、ステップS4aにおいて、通信先アドレス返信部133から通信開始要求部243Aに対して、通信先アドレスおよび通信方法が返信される。この返信を受けた通信開始要求部243Aは、ステップS4bにおいて、2通りの処理プロセスのいずれかを選択する。 First, in step S1, the communication request acceptance process by the communication request acceptance unit 220A is performed, and in the subsequent step S2, a connection intermediation request is performed by the connection intermediation request unit 210A. Then, in step S3, the communication destination address reply unit 133 refers to the address table T60 stored in the address table storage unit 113, and in step S4a, the communication destination address reply unit 133 causes the communication start request unit 243A to , Communication destination address and communication method are returned. The communication start request unit 243A that has received the reply selects one of the two processing processes in step S4b.
 まず、通信先アドレス返信部133によって、通信方法として「通常通信」が指示されていた場合には、ステップS5へ進む。図32の流れ図におけるステップS5~S7の手順は、図5の流れ図におけるステップS5~S7の手順と全く同じである。すなわち、通信開始要求部243Aは、ステップS5において、通信先端末装置203Bに対して通信開始要求S5を行う。通信先セッション確立部230Bは、この通信開始要求S5を受け、ステップS6において、通信元端末装置203Aに対して通信開始受諾確認S6を送信する。そして、続くステップS7において、通信先セッション確立部230Bと通信元セッション確立部260Aとの間の通信セッションが確立され、通常通信S7が行われる。 First, when the “normal communication” is instructed as the communication method by the communication destination address reply unit 133, the process proceeds to step S5. The procedures of steps S5 to S7 in the flowchart of FIG. 32 are exactly the same as the procedures of steps S5 to S7 in the flowchart of FIG. That is, in step S5, the communication start request unit 243A sends a communication start request S5 to the communication destination terminal device 203B. The communication destination session establishing unit 230B receives the communication start request S5, and transmits the communication start acceptance confirmation S6 to the communication source terminal device 203A in step S6. Then, in the subsequent step S7, the communication session between the communication destination session establishing unit 230B and the communication source session establishing unit 260A is established, and the normal communication S7 is performed.
 一方、通信方法として「迂回通信」が指示されていた場合には、ステップS5′へ進み、通信開始要求部243Aから迂回通信処理部273Aに対して迂回通信指示が与えられる。そして続くステップS8において、迂回通信処理が実行される。すなわち、迂回通信処理部273A,273Bと迂回通信中継部143によって、迂回通信処理が行われる(図31のS8a,S8b)。 On the other hand, when “rerouting communication” is instructed as the communication method, the process proceeds to step S5 ′, and the communication start request unit 243A gives the detour communication instruction to the detour communication processing unit 273A. Then, in the subsequent step S8, the bypass communication process is executed. That is, the detour communication processing is performed by the detour communication processing units 273A and 273B and the detour communication relay unit 143 (S8a and S8b in FIG. 31).
 <7-2. 実施例4>
 図33は、本発明の実施例4に係るネットワーク通信システムにおける端末装置404の詳細構成を示すブロック図である。ここに示す端末装置404は、図7に示す先願基本発明の第2の実施形態に係る端末装置400における通信開始要求部440および自己アドレス通知部450に、若干の修正を加えてそれぞれ通信開始要求部444および自己アドレス通知部454とし、更に、新たな構成要素として、迂回通信処理部474およびNATタイプ確認部484(図では新たな構成要素を太線枠ブロックで示す)を付加したものである。その他の構成要素である接続仲介依頼部410、通信要求受付部420、通信元セッション確立部430、通信先セッション確立部460は、図7に示す同符号の各構成要素と同じものであり、その機能の詳細は、既に§2で述べたとおりである。
<7-2. Example 4>
FIG. 33 is a block diagram showing a detailed configuration of the terminal device 404 in the network communication system according to the fourth embodiment of the present invention. The terminal device 404 shown here adds some corrections to the communication start request unit 440 and the self address notification unit 450 in the terminal device 400 according to the second embodiment of the prior invention basic invention shown in FIG. A request unit 444 and a self address notification unit 454 are additionally provided with a detour communication processing unit 474 and a NAT type confirmation unit 484 (in the figure, a new component is indicated by a bold line frame block) as new components. . The connection intermediation request unit 410, the communication request reception unit 420, the communication source session establishment unit 430, and the communication destination session establishment unit 460, which are the other components, are the same as the components of the same reference numerals shown in FIG. The details of the function are as already described in §2.
 また、この図33に示す実施例4では、図7に示す接続仲介装置300の代わりに、接続仲介装置304が用いられている。この接続仲介装置304は、図7に示す接続仲介装置300の機能に、通信方法(通常通信か迂回通信か)を指示する機能と、迂回通信を中継する機能とを付加したものであり、その構成の詳細は後述する。結局、図33に示す実施例4において、3桁の数字からなる符号における1の位が「4」となっているブロックで示される構成要素が、実施例4に固有の構成要素ということになる。 Further, in the fourth embodiment shown in FIG. 33, a connection mediation device 304 is used instead of the connection mediation device 300 shown in FIG. The connection mediation device 304 is obtained by adding the function of instructing the communication method (whether normal communication or bypass communication) and the function of relaying bypass communication to the functions of the connection mediation device 300 shown in FIG. Details of the configuration will be described later. As a result, in the fourth embodiment shown in FIG. 33, the component indicated by the block in which the first digit in the three-digit code is “4” is the unique component to the fourth embodiment. .
 なお、図33には、NATタイプ判別装置500が記載されている。このNATタイプ判別装置500は、図28に示す装置500と同じ装置であり、端末装置404からネットワークNを介してNATタイプの照会があったときに、当該照会に係る通信を利用して、照会元の端末装置404のNATタイプを判別し、判別したNATタイプを照会元の端末装置に回答する処理を行う。前述のとおり、実際には、STUNサーバをNATタイプ判別装置500として利用でき、本発明に係るネットワーク通信システムとは別個に利用されているSTUNサーバを、本発明に係るNATタイプ判別装置500として流用することもできるし、接続仲介装置304を構成するサーバ装置内に、本発明のための専用のSTUNサーバを用意してもかまわない。後者の場合、同一サーバ装置内に、接続仲介装置304とNATタイプ判別装置500(本発明のための専用のSTUNサーバ)が組み込まれることになり、NATタイプ判別装置500は、本発明に係るネットワーク通信システムの構成要素の1つになる。 The NAT type discrimination device 500 is described in FIG. This NAT type discrimination device 500 is the same device as the device 500 shown in FIG. 28, and when the terminal device 404 makes an inquiry of the NAT type via the network N, it makes an inquiry using the communication related to the inquiry. The NAT type of the original terminal device 404 is determined, and the determined NAT type is returned to the query source terminal device. As described above, in practice, the STUN server can be used as the NAT type discrimination device 500, and the STUN server used separately from the network communication system according to the present invention is diverted as the NAT type discrimination device 500 according to the present invention Alternatively, a dedicated STUN server for the present invention may be prepared in the server device constituting the connection mediation device 304. In the latter case, the connection mediating device 304 and the NAT type determination device 500 (a dedicated STUN server for the present invention) will be incorporated in the same server device, and the NAT type determination device 500 may be a network according to the present invention. It becomes one of the components of the communication system.
 この実施例4に係るシステムは、図7に示す先願発明のシステムと同様に、ネットワークNを介して相互に接続可能な複数の端末装置(図には、便宜上、1台の端末装置402のみが示されている)と、これら複数の端末装置間の接続を仲介する接続仲介装置304と、を備えたネットワーク通信システムである。ここで、各端末装置404には、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、接続仲介装置304は、この端末IDを利用して通信元となる端末装置と通信先となる端末装置との間の接続を仲介する処理を実行する。 Similar to the system of the prior invention shown in FIG. 7, the system according to the fourth embodiment includes a plurality of terminal devices (for convenience, only one terminal device 402 can be connected to each other via the network N). And a connection mediation device 304 that mediates the connection between the plurality of terminal devices. Here, each terminal device 404 is provided with a terminal ID for mutually identifying each terminal device, and the connection mediation device 304 uses the terminal ID as a communication source terminal device and the like. The processing of mediating the connection with the terminal device to be the communication destination is executed.
 この図においても、これまで述べてきた各実施例と同様に、太線矢印、細線矢印、白抜矢印の3種類の矢印が用いられている。白抜矢印は「通常通信」を示し、迂回通信処理部474から伸びる太線矢印は「迂回通信」を示している。実施例3と同様に、この実施例4でも、本来は「通常通信」を行うことが意図されているが、「通常通信」の失敗が予想されるときには、端末装置404が接続仲介装置304を介して間接的に相手方への通信を行うことになる。 Also in this figure, three types of arrows, thick arrows, thin arrows, and white arrows, are used as in the embodiments described above. White arrows indicate “normal communication”, and thick arrows extending from the bypass communication processing unit 474 indicate “route communication”. As in the third embodiment, the fourth embodiment is originally intended to perform "normal communication", but when failure of the "normal communication" is expected, the terminal device 404 becomes the connection mediating device 304. It will communicate with the other party indirectly via the connection.
 図33に示す自己アドレス通知部454は、図28に示す実施例3の自己アドレス通知部253と同様の機能を有している。すなわち、自己アドレス通知部454は、自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置304に対して通知するとともに、自己が接続されているルータ(図28には示されていない)のNATタイプを接続仲介装置304に対して併せて通知する付加的な機能を有している。 The self address notification unit 454 shown in FIG. 33 has the same function as the self address notification unit 253 of the third embodiment shown in FIG. That is, the self address notifying unit 454 notifies the connection mediating device 304 of the location address indicating the location of the self on the network, and the router to which the self is connected (not shown in FIG. 28). In addition, it has an additional function of notifying the connection mediation device 304 of the NAT type.
 この付加機能は、新たな構成要素であるNATタイプ確認部484の助けを借りて行われる。このNATタイプ確認部484は、図28に示す実施例3のNATタイプ確認部283と同様に、ネットワークNを介してNATタイプ判別装置500に対して自己のNATタイプを照会し、NATタイプ判別装置500からの回答を得る機能をもった構成要素である。図における太い一点鎖線の矢印は、NATタイプ確認部484とNATタイプ判別装置500との間でやりとりされる照会および回答の信号の流れを示している。もちろん、この信号は、図示されていないルータおよびネットワークNを介してやりとりされることになる。 This additional function is performed with the help of a new component, the NAT type verification unit 484. Similar to the NAT type confirmation unit 283 of the third embodiment shown in FIG. 28, the NAT type confirmation unit 484 inquires of the NAT type identification apparatus 500 via the network N about its own NAT type It is a component with the ability to get answers from 500. The thick dashed-dotted arrows in the figure indicate the flow of inquiry and reply signals exchanged between the NAT type confirmation unit 484 and the NAT type discrimination device 500. Of course, this signal will be exchanged via a router and network N not shown.
 この実施例4に係る端末装置404が相手方に対する通信を行う前には、実施例3と同様に、図29の流れ図に示されている事前処理が実行される。この事前処理については、既に§7-1で述べたため、ここでは説明を省略する。 Before the terminal device 404 according to the fourth embodiment communicates with the other party, the pre-processing shown in the flowchart of FIG. 29 is executed as in the third embodiment. This pre-processing has already been described in 7-1 7-1 and thus will not be described here.
 図29の流れ図に示されている事前処理が済めば、図33に示す実施例4に係るネットワーク通信システムにおける通信準備は完了である。事前処理により、接続仲介装置304内のアドレステーブルT60には、各端末装置について、最新の所在アドレスおよびNATタイプが格納されているので、接続仲介装置304は、特定の通信元端末装置から特定の通信先端末装置への接続仲介依頼が来たときに、アドレステーブルT60を参照して、両端末間で通常通信を行った場合に、「関所型NAT」が設定されたルータにより当該通常通信に支障が生じるか否かを判断し、支障なしと判断される場合には通常通信を選択し、支障ありと判断される場合には迂回通信を選択する。 After the pre-processing illustrated in the flowchart of FIG. 29 is completed, communication preparation in the network communication system according to the fourth embodiment illustrated in FIG. 33 is completed. Since the latest location address and NAT type are stored for each terminal device in the address table T60 in the connection mediating device 304 by the pre-processing, the connection mediating device 304 can start from the specific communication source terminal device. When a request for connection mediation to a communication destination terminal device comes, referring to the address table T60, when normal communication is performed between both terminals, the router for which the “Spot type NAT” is set makes the normal communication concerned. It is determined whether or not a problem occurs, and if it is determined that there is no problem, normal communication is selected, and if it is determined that there is a problem, bypass communication is selected.
 前述した実施例3の場合、通信元端末装置203が接続仲介装置103に対して接続仲介依頼S2を行うと、当該通信元端末装置203に対して、通信先アドレスおよび通信方法が返信される。これに対して、ここで述べる実施例4の場合、通信元端末装置404が接続仲介装置304に対して接続仲介依頼S12を行うと、当該通信元端末装置404ではなく、通信先の別な端末装置404に対して、「通信元アドレス」および「通信方法」が送信されることになる。ここで、「通信方法」とは、既に述べたとおり、通常通信か、迂回通信かを示す情報である。したがって、図33において、ネットワークNから通信先の通信開始要求部444(図33では、通信先の構成要素であるため、二重枠のブロックで示されている)に向かう太線矢印は、通信元アドレスの情報とともに通信方法の情報を含む信号になる。 In the case of the third embodiment described above, when the communication source terminal device 203 sends a connection mediation request S2 to the connection mediation device 103, the communication destination address and communication method are sent back to the communication source terminal device 203. On the other hand, in the case of the fourth embodiment described here, when the communication source terminal device 404 sends a connection mediation request S12 to the connection mediation device 304, another terminal of the communication destination, not the communication source terminal device 404. The “communication source address” and the “communication method” are to be transmitted to the device 404. Here, the “communication method” is information indicating whether normal communication or bypass communication, as described above. Therefore, in FIG. 33, the bold-line arrow pointing from network N to communication start request unit 444 at the communication destination (in FIG. 33, it is a component of the communication destination and is therefore shown as a double frame block) It becomes a signal including information on communication method together with address information.
 通信開始要求部444は、接続仲介装置304から通信元アドレスと共に通信方法が返信されてきたとき、通信方法として通常通信が選択されていた場合には、先願基本発明の第2の実施形態と同様に、ネットワークNを介して、通信元アドレスにアクセスして通信開始要求を行う。以後の通信手順は、§2で述べたとおりである。一方、通信方法として迂回通信が選択されていた場合には、迂回通信処理部474に対して迂回通信指示を行う。 The communication start request unit 444 receives the communication method address from the connection mediation device 304 together with the communication source address, and when the normal communication is selected as the communication method, the second embodiment of the prior invention basic invention and Similarly, the communication source address is accessed via the network N to make a communication start request. The subsequent communication procedure is as described in §2. On the other hand, when the alternative communication is selected as the communication method, the alternative communication instruction is issued to the alternative communication processing unit 474.
 迂回通信処理部474は、§7-1で述べた実施例3における迂回通信処理部273と同様に、接続仲介装置304を介した迂回通信を行う構成要素である。すなわち、迂回通信処理部474は、通常通信(図の白抜矢印で示された通信)の失敗が予想されるときに、接続仲介装置304を介して相手方に対する間接的な情報送受を行う迂回通信を実行する。上述したとおり、失敗予想は、接続仲介装置304において行われる。通信開始要求部444が接続仲介装置304から迂回通信を選択する通信方法を受け取った場合、接続仲介装置304が失敗予想を行ったケースにあたる。この場合、通信開始要求部444から迂回通信処理部474に対して迂回通信指示が行われ、迂回通信処理部474による迂回通信が実行される。具体的には、迂回通信処理部474は、接続仲介装置304(後述するように、その中の迂回通信中継部344)に対して迂回通信の中継依頼を行い、接続仲介装置304を介して、相手方の迂回通信処理部474との間での迂回通信を実行することになる。 Similar to the bypass communication processing unit 273 in the third embodiment described in Section 7-1, the bypass communication processing unit 474 is a component performing bypass communication via the connection mediation device 304. That is, the bypass communication processing unit 474 performs indirect information transmission / reception with the other party via the connection mediation device 304 when failure of normal communication (communication indicated by the white arrow in the figure) is expected. Run. As described above, failure prediction is performed in the connection mediating device 304. When the communication start request unit 444 receives a communication method for selecting bypass communication from the connection mediating apparatus 304, the connection mediating apparatus 304 performs a failure prediction. In this case, the communication start request unit 444 instructs the bypass communication processing unit 474 to perform bypass communication, and the bypass communication processing unit 474 executes bypass communication. Specifically, the bypass communication processing unit 474 makes a relay request for bypass communication to the connection mediating device 304 (as will be described later, the bypass communication relay unit 344 in the connection mediating device 304), The bypass communication with the other party's bypass communication processing unit 474 is executed.
 図34は、図33に示す本発明の実施例4に係るネットワーク通信システムにおいて、通信元端末装置404Aと通信先端末装置404Bとの間の通信セッション確立の手順を示すブロック図である。図示する端末装置404A,404Bは、図33に示す端末装置404と同一の構成を有する装置であり、図8と同様に、通信元端末装置404B内の構成要素については、通信元として必要な処理を実行する構成要素(矩形ブロックの構成要素)を実線で示し、通信先端末装置404A内の構成要素については、通信先として必要な処理を実行する構成要素(二重矩形ブロックの構成要素)を実線で示すことにし、それ以外の構成要素のブロックは破線で示してある。また、実施例4に固有の構成要素である迂回通信処理部474A,474BおよびNATタイプ確認部484A,484Bについては太線枠ブロックで示してある。 FIG. 34 is a block diagram showing a procedure for establishing a communication session between the communication source terminal device 404A and the communication destination terminal device 404B in the network communication system according to the fourth embodiment of the present invention shown in FIG. The terminal devices 404A and 404B shown are devices having the same configuration as the terminal device 404 shown in FIG. 33, and as in FIG. 8, for the components in the communication source terminal device 404B, processing necessary as a communication source The components (components of the rectangular block) that execute the command are indicated by solid lines, and the components within the communication destination terminal device 404A are the components (components of the double rectangular block) that perform the processing necessary as the communication destination. It is indicated by a solid line, and blocks of other components are indicated by a broken line. Further, the bypass communication processing units 474A and 474B and the NAT type confirmation units 484A and 484B, which are components unique to the fourth embodiment, are indicated by thick line frame blocks.
 図34に示す接続仲介装置304(図33に示すもの)は、図8に示す接続仲介装置300に、迂回通信中継部344を追加するとともに、その他の構成要素であるアドレステーブル格納部310、アドレステーブル更新部320、通信元アドレス送信部330については、若干の付加機能を設けることにより、アドレステーブル格納部314、アドレステーブル更新部324、通信元アドレス送信部334としたものである。 The connection mediating apparatus 304 (shown in FIG. 33) shown in FIG. 34 adds the detour communication relay section 344 to the connection mediating apparatus 300 shown in FIG. The table updating unit 320 and the communication source address transmitting unit 330 have the address table storage unit 314, the address table updating unit 324, and the communication source address transmitting unit 334 by providing some additional functions.
 接続仲介装置304内の迂回通信中継部344は、第1の端末装置404Aの迂回通信処理部474Aと第2の端末装置404Bの迂回通信処理部474Bとの間での迂回通信の中継依頼があったときに、第1の端末装置404Aの迂回通信処理部474Aと第2の端末装置404Bの迂回通信処理部474Bとの間で受け渡しする情報を取り次いで迂回通信の中継を行う構成要素である。 The bypass communication relay unit 344 in the connection mediation device 304 has a relay request for bypass communication between the bypass communication processing unit 474A of the first terminal device 404A and the bypass communication processing unit 474B of the second terminal device 404B. It is a component that takes information passed between the detour communication processing unit 474A of the first terminal device 404A and the detour communication processing unit 474B of the second terminal device 404B and relays the detour communication.
 また、接続仲介装置304内のアドレステーブル格納部314は、図30に例示したように、端末IDと所在アドレスに加えて、更に、NATタイプを対応づけたアドレステーブルT60を格納する機能を有する。そして、接続仲介装置304内のアドレステーブル更新部324は、自己アドレス通知部454からの通知に含まれるNATタイプを示す情報に基づいて、アドレステーブルT60内のNATタイプの更新を行う付加機能を有する。 Further, as illustrated in FIG. 30, the address table storage unit 314 in the connection mediation device 304 has a function of storing an address table T60 in which NAT types are associated in addition to the terminal ID and the location address. The address table updating unit 324 in the connection mediation device 304 has an additional function of updating the NAT type in the address table T60 based on the information indicating the NAT type included in the notification from the self address notifying unit 454. .
 一方、接続仲介装置304内の通信元アドレス送信部334は、通信元端末装置404B内の接続仲介依頼部410Bから接続仲介依頼S12が送信されてきたときに、アドレステーブルT60を参照して、接続仲介依頼S12に含まれている通信先特定情報によって特定される端末ID「0010」に対応づけられている所在アドレスAD1を通信先アドレスとして認識し、この通信先アドレスAD1に対して、接続仲介依頼S12を送信した通信元の端末装置404Bの端末ID「0020」に対応づけられている所在アドレスAD2を、通信元アドレスとして送信する(S14a)。 On the other hand, when the connection mediation request S12 is transmitted from the connection mediation request unit 410B in the communication source terminal device 404B, the communication source address transmission unit 334 in the connection mediation device 304 refers to the address table T60 and performs connection. The location address AD1 associated with the terminal ID "0010" specified by the communication destination specification information included in the relay request S12 is recognized as the communication destination address, and a connection relay request is issued to the communication destination address AD1. The location address AD2 associated with the terminal ID "0020" of the terminal device 404B of the communication source that has transmitted S12 is transmitted as the communication source address (S14a).
 このとき、通信元アドレス送信部334は、アドレステーブルT60を参照して、通信元の端末装置404BのNATタイプを確認し、通信元の端末装置404BのNATタイプが関所型NATではなかった場合には、通信方法として通常通信を選択し、通信元の端末装置404BのNATタイプが関所型NATであった場合には、通信方法として迂回通信を選択し、選択した通信方法を通信元アドレスと共に返信する。 At this time, the communication source address transmission unit 334 refers to the address table T60 to confirm the NAT type of the terminal device 404B of the communication source, and when the NAT type of the terminal device 404B of the communication source is not a junction type NAT. If normal communication is selected as the communication method, and the NAT type of the terminal device 404B of the communication source is a barrier-type NAT, detour communication is selected as the communication method, and the selected communication method is returned together with the communication source address. Do.
 この図34に示す例において、アドレステーブル格納部314内に図30のようなアドレステーブルT60が格納されていた場合、通信元の端末装置404B(端末ID:0020)のNATタイプは「関所型」になっているので、通信元アドレス送信部334は、通信方法として迂回通信を選択する。通信元端末装置404Bが関所型NATということは、§5で述べたとおり、通信先端末装置404Aから通信元端末装置404Bへ、直接的に通信開始要求S15を行った場合、通信元端末装置404BのルータRBによって、当該通信開始要求S15がブロックされてしまう可能性がある。この場合、通信元アドレス送信部334は、通信方法として迂回通信を選択することになる。図34には、通信元アドレス送信部334から通信開始要求部444Aに対して、通信元アドレス「AD2」および通信方法「迂回通信」を示す情報が送信された例(図34の太線矢印S14a)が示されている。これに対して、通信元の端末装置404BのNATタイプが「非関所型」になっていれば、通信元アドレス送信部334は、通信方法として通常通信を選択することになる。 In the example shown in FIG. 34, when the address table T60 as shown in FIG. 30 is stored in the address table storage unit 314, the NAT type of the terminal device 404B (terminal ID: 0020) of the communication source is "sister type". The communication source address transmission unit 334 selects bypass communication as the communication method. The communication source terminal device 404B, as described in 5 5, refers to the communication source terminal device 404B when the communication destination terminal device 404A directly issues a communication start request S15 to the communication source terminal device 404B. The router RB may block the communication start request S15. In this case, the communication source address transmission unit 334 selects bypass communication as the communication method. In FIG. 34, an example in which information indicating the communication source address “AD2” and the communication method “detour communication” is transmitted from the communication source address transmission unit 334 to the communication start request unit 444A (thick arrow S14a in FIG. 34). It is shown. On the other hand, when the NAT type of the terminal device 404B of the communication source is "non-in-the-door type", the communication source address transmission unit 334 selects normal communication as the communication method.
 通信先端末装置404A内の通信開始要求部444Aは、通信元アドレス送信部334から「通常通信」を選択する送信があった場合、通常通信の処理を行う。具体的には、通信開始要求部444Aが、通信元アドレスAD2にアクセスして通信開始要求S15を行うと、相手方の通信元セッション確立部430Bから通信先セッション確立部460Aに対して通信開始受諾確認S16が送信される。こうして、通信元セッション確立部430Bと通信先セッション確立部460Aとの間に通信セッションが確立する。 The communication start request unit 444A in the communication destination terminal device 404A performs processing of normal communication when there is transmission for selecting “normal communication” from the communication source address transmission unit 334. Specifically, when the communication start request unit 444A accesses the communication source address AD2 to make a communication start request S15, the communication source session establishment unit 430B of the other party confirms the communication start acceptance to the communication destination session establishment unit 460A. S16 is transmitted. Thus, a communication session is established between the communication source session establishment unit 430B and the communication destination session establishment unit 460A.
 一方、通信元アドレス送信部334から「迂回通信」を選択する送信があった場合、通信開始要求部444Aは、迂回通信の処理を行う。すなわち、通信開始要求部444Aは、通信開始要求S15を行う代わりに、迂回通信処理部474Aに対して、迂回通信指示S15′を行う。迂回通信処理部474Aは、この迂回通信指示S15′を受けると、迂回通信中継部344に対して迂回通信の中継依頼を行い、迂回通信中継部344を介して、相手方の迂回通信処理部474Bとの間での迂回通信S18aを実行する。迂回通信処理部474Aは、通信開始要求部444Aから通信元アドレスAD2を取得し、これを迂回通信中継部344に伝達して中継依頼を行う。迂回通信中継部344は、この中継依頼に応じて、通信元アドレスAD2にアクセスし、通信元端末装置404Bの迂回通信処理部474Bに迂回通信の開始を要求する。迂回通信処理部474Bは、これを受諾する旨の返信を迂回通信中継部344に対して行い、迂回通信S18bを実行する。以後、迂回通信中継部344による中継により、両端末装置404A,404B間での迂回通信が行われる。 On the other hand, when there is transmission from the communication source address transmission unit 334 to select “detour communication”, the communication start request unit 444A performs the processing of the bypass communication. That is, instead of performing the communication start request S15, the communication start request unit 444A sends a bypass communication instruction S15 'to the bypass communication processing unit 474A. Upon receiving the detour communication instruction S15 ', the detour communication processing unit 474A makes a relay request for the detour communication to the detour communication relay unit 344 and, via the detour communication relay unit 344, the detour communication processing unit 474B of the other party The detour communication S18a is executed. The bypass communication processing unit 474A acquires the communication source address AD2 from the communication start request unit 444A, transmits this to the bypass communication relay unit 344 and makes a relay request. In response to the relay request, the bypass communication relay unit 344 accesses the communication source address AD2, and requests the bypass communication processing unit 474B of the communication source terminal device 404B to start bypass communication. The bypass communication processing unit 474B sends a reply to the effect that the bypass communication processing unit 474B is accepted to the bypass communication relay unit 344 to execute bypass communication S18b. Thereafter, by the relay by the detour communication relay unit 344, detour communication is performed between the both terminal devices 404 A and 404 B.
 この迂回通信では、両端末装置404A,404B間の情報パケットは、すべて接続仲介装置304を介してやりとりされることになる。§5で述べたように、両端末装置404A,404B間の直接的な通信が関所型NATのルータによってブロックされるとしても、両端末装置404A,404B間の迂回通信は、接続仲介装置304を中継する通信になるため、支障なく行われる。 In this bypass communication, all information packets between the two terminal devices 404A and 404B are exchanged via the connection mediation device 304. As described in 55, even if direct communication between both terminals 404A and 404B is blocked by the router of the gateway NAT, bypass communication between both terminals 404A and 404B is performed by the connection mediation device 304. Since it becomes communication to relay, it is performed without trouble.
 図35は、図34のブロック図に示されている実施例4における通信セッション確立手順を時系列で説明する流れ図である。この流れ図における通常通信の手順は、§2で述べた先願発明の第2の実施形態における通信セッション確立手順を示す図9の流れ図とほぼ同じである。 FIG. 35 is a flow chart explaining the communication session establishment procedure in the embodiment 4 shown in the block diagram of FIG. 34 in chronological order. The procedure of normal communication in this flowchart is substantially the same as the flowchart of FIG. 9 showing the communication session establishment procedure in the second embodiment of the prior invention described in §2.
 まず、ステップS11において、通信要求受付部420Bによる通信要求受付処理が行われ、続くステップS12において、接続仲介依頼部410Bによる接続仲介依頼が行われる。そしてステップS13において、通信元アドレス送信部334によりアドレステーブル格納部314に格納されているアドレステーブルT60の参照が行われ、ステップS14aにおいて、通信元アドレス送信部334から通信先端末装置404Aの通信開始要求部444Aに対して、通信元アドレスおよび通信方法が送信される。この送信を受けた通信開始要求部444Aは、ステップS14bにおいて、2通りの処理プロセスのいずれかを選択する。 First, in step S11, the communication request acceptance process by the communication request acceptance unit 420B is performed, and in the subsequent step S12, the connection intermediation request unit 410B performs a connection intermediation request. Then, in step S13, the communication source address transmission unit 334 refers to the address table T60 stored in the address table storage unit 314, and in step S14a, communication start of the communication destination terminal device 404A from the communication source address transmission unit 334. The communication source address and the communication method are transmitted to the request unit 444A. In step S14b, the communication start request unit 444A that has received this transmission selects one of the two processing processes.
 まず、通信元アドレス送信部334によって、通信方法として「通常通信」が指示されていた場合には、ステップS15へ進む。図35の流れ図におけるステップS15~S17の手順は、図9の流れ図におけるステップS15~S17の手順と全く同じである。すなわち、通信開始要求部444Aは、ステップS15において、通信元端末装置404Bに対して通信開始要求S15を行う。通信元セッション確立部430Bは、この通信開始要求S15を受け、ステップS16において、通信先端末装置404Aに対して通信開始受諾確認S16を送信する。そして、続くステップS17において、通信元セッション確立部430Bと通信先セッション確立部460Aとの間の通信セッションが確立され、通常通信S17が行われる。 First, when “normal communication” is instructed as the communication method by the communication source address transmission unit 334, the process proceeds to step S15. The procedures of steps S15 to S17 in the flowchart of FIG. 35 are exactly the same as the procedures of steps S15 to S17 in the flowchart of FIG. That is, in step S15, the communication start request unit 444A sends a communication start request S15 to the communication source terminal device 404B. The communication source session establishment unit 430B receives the communication start request S15, and transmits the communication start acceptance confirmation S16 to the communication destination terminal device 404A in step S16. Then, in the subsequent step S17, a communication session between the communication source session establishment unit 430B and the communication destination session establishment unit 460A is established, and the normal communication S17 is performed.
 一方、通信方法として「迂回通信」が指示されていた場合には、ステップS15′へ進み、通信開始要求部444Aから迂回通信処理部474Aに対して迂回通信指示が与えられる。そして続くステップS18において、迂回通信処理が実行される。すなわち、迂回通信処理部474A,474Bと迂回通信中継部344によって、迂回通信処理が行われる(図34のS18a,S18b)。 On the other hand, when “rerouting communication” is instructed as the communication method, the process proceeds to step S15 ′, and the communication start request unit 444A gives the detour communication instruction to the detour communication processing unit 474A. Then, in the subsequent step S18, a bypass communication process is performed. That is, the bypass communication processing units 474A and 474B and the bypass communication relay unit 344 perform bypass communication processing (S18a and S18b in FIG. 34).
 <<< §8. UDPブロックの場合に迂回通信を行うアプローチ >>>
 この§8で述べる実施例5,6は、先願基本発明に係るシステムにおいて、通常通信が失敗すると予想されるときに、これを事前に検知して迂回通信に切り替える方法を採るものであり、失敗の事前検知というアプローチを採る点において、§7で述べた実施例3,4と共通する。ただ、§7で述べた実施例3,4では、通常通信が関所型NATのルータによりブロックされると予想される場合に迂回通信に切り替える方法を採るのに対して、§8で述べる実施例5,6では、通常通信のプロトコルとしてUDPを用いることを前提としたシステムにおいて、UDPパケットがブロックされる可能性があると予想される場合に迂回通信に切り替える方法を採る。
<<< 8 8. Approach to conduct bypass communication in case of UDP block >>>
In the fifth and sixth embodiments described in §8, in the system according to the basic application of the prior application, when the normal communication is expected to fail, the method is detected in advance and switched to the bypass communication, This embodiment is common to the third and fourth embodiments described in 77 in that the approach of prior detection of failure is taken. However, in the third and fourth embodiments described in 77, the embodiment described in 迂回 8 is employed while the method of switching to the bypass communication is taken when it is expected that the normal communication is blocked by the router of the gateway NAT. In 5 and 6, in a system based on the assumption that UDP is used as a protocol for normal communication, a method of switching to bypass communication is adopted when it is predicted that a UDP packet may be blocked.
 §5で説明したとおり、通信プロトコルとしてのTCPとUDPは、それぞれ一長一短があり、TCPでは、通信速度よりも正確さに重点が置かれるのに対して、UDPでは、正確さよりも通信速度に重点が置かれる。このため、電話などの音声通話を主とするネットワーク通信システムを構築する際には、通常通信のプロトコルとしてUDPを採用して全体の通信負荷を低減させるのが好ましい。ただ、端末間に設置されているファイアウォールが、UDPパケットをブロックする仕様になっていたりすると、通常通信によってUDPパケットを相手方に届けることができない。一方、TCPは、Web閲覧に広く利用されているプロトコルであるため、TCPパケットをブロックする要素は、実用上、端末装置へのルート上には存在しないと考えてよい。 As described in 55, TCP and UDP as communication protocols have advantages and disadvantages, and TCP emphasizes accuracy rather than communication speed, while UDP emphasizes communication speed rather than accuracy. Is placed. For this reason, when constructing a network communication system mainly for voice communication such as telephone, it is preferable to adopt UDP as a protocol for normal communication to reduce the overall communication load. However, if the firewall installed between the terminals has a specification for blocking UDP packets, the UDP packets can not be delivered to the other party by normal communication. On the other hand, since TCP is a protocol widely used for Web browsing, it may be considered that an element that blocks TCP packets does not practically exist on the route to the terminal device.
 この§8で述べる実施例5,6は、通常通信のプロトコルとしてUDPを採用することを前提とするシステムに係るものであるが、UDPブロックにより通常通信を行うことができないことが予想される場合には、UDPによる通常通信に代えて、TCPなどのプロトコルを用いた迂回通信を行うことによって、両者間での通信を行うようにしたものである。 The fifth and sixth embodiments described in § 8 relate to a system on the premise of adopting UDP as a protocol for normal communication, but it is expected that normal communication can not be performed by the UDP block. In the above, instead of normal communication by UDP, communication between the two is performed by performing bypass communication using a protocol such as TCP.
 ここで、個々の端末装置に至るルート上に、UDPパケットをブロックする要素が有るか否かを判定する際には、自己アドレス通知部によって行われる自己の所在アドレスの通知処理を利用する。§1,§2で述べたように、自己アドレス通知部は、所定のタイミングで、自己アドレスを接続仲介装置に通知する働きをする。そこで、以下に述べる実施例5,6では、自己アドレス通知部が、自己アドレスを通知する際に、まず、通信プロトコルとしてUDPを用いた第1回通知を行い、当該第1回通知に失敗した場合には、続いて、通信プロトコルとしてTCPを用いた第2回通知を行うようにする。 Here, when it is determined whether or not there is an element that blocks the UDP packet on the route to each terminal device, the notification processing of the own location address performed by the own address notification unit is used. As described in 1,1 and 22, the self address notifying unit functions to notify the connection mediating device of the self address at a predetermined timing. Therefore, in the fifth and sixth embodiments described below, when the self-address notification unit notifies the self-address, first, the first notification is performed using UDP as a communication protocol, and the first notification fails. In the case, subsequently, the second notification using TCP as a communication protocol is performed.
 このような方法で自己アドレスの通知を行うようにすれば、接続仲介装置は、アドレステーブルを作成する際に、個々の端末装置からの自己アドレス通知が、UDPを用いた通信プロトコルで行われたか、TCPを用いた通信プロトコルで行われたか、を認識することができ、アドレステーブルに当該通信プロトコルを記録することができる。当該通信プロトコルの記録は、個々の端末装置がUDPを用いた通常通信を行うことができるか否かを示す情報になる。 If the notification of the self address is performed by such a method, the connection mediating device, when creating the address table, is whether the self address notification from each terminal device was performed by the communication protocol using UDP. It is possible to recognize whether or not the communication protocol using TCP has been performed, and the communication protocol can be recorded in the address table. The recording of the communication protocol is information indicating whether each terminal can perform normal communication using UDP.
 すなわち、通信プロトコルの記録が「UDP」となっている端末装置は、通信プロトコルとしてUDPを用いた第1回通知により自己アドレスの通知を行うことに成功した端末装置であるため、少なくとも当該端末装置と接続仲介装置との間の通信ルート上には、UDPパケットをブロックする要素が存在しないと判断できるので、当該端末装置と接続仲介装置との間に係る限りにおいて、UDPを用いた通常通信に支障は生じないことになる。これに対して、通信プロトコルの記録が「TCP」となっている端末装置は、通信プロトコルとしてUDPを用いた第1回通知による自己アドレスの通知に失敗した端末装置であるため、当該端末装置と接続仲介装置との間の通信ルート上には、UDPパケットをブロックする要素が存在すると判断できる。もちろん、端末装置と接続仲介装置との間の通信ルートと、端末装置と別な端末装置との間の通信ルートとは、同一ではないので、前者のルートでUDP通信が失敗もしくは成功したからと言って、必ずしも後者のルートでUDP通信が失敗もしくは成功するとは限らない。ただ、特定の端末装置と接続仲介装置との間でUDP通信が失敗した場合は、当該特定の端末装置と別な端末装置との間でのUDP通信も失敗する可能性が高い。 That is, since the terminal device whose communication protocol recording is "UDP" is a terminal device that succeeded in notifying its own address by the first notification using UDP as the communication protocol, at least the terminal device Since it can be determined that there is no element blocking the UDP packet on the communication route between the terminal and the connection mediation device, it is possible for normal communication using UDP as far as it relates to the terminal device and the connection mediation device. No problems will occur. On the other hand, since the terminal device whose communication protocol record is "TCP" is a terminal device that failed to notify its own address by the first notification using UDP as the communication protocol, It can be determined that there is an element blocking the UDP packet on the communication route with the connection mediation device. Of course, since the communication route between the terminal device and the connection mediation device and the communication route between the terminal device and another terminal device are not the same, it is because UDP communication failed or succeeded in the former route. In fact, UDP communication does not necessarily fail or succeed on the latter route. However, when UDP communication fails between a specific terminal device and a connection mediation device, there is a high possibility that UDP communication between the specific terminal device and another terminal device also fails.
 したがって、接続仲介装置100は、通信元の端末装置から通信先の端末装置への接続仲介依頼があったときに、両端末装置についてアドレステーブルに記録されている通信プロトコルを調べることにより、両端末間にUDPパケットをブロックする要素が存在する可能性を把握することができ、両端末間での通常通信に支障が生じるかどうかを予想することができる。すなわち、通信元の端末装置と通信先の端末装置とのうち、少なくともいずれか一方についてアドレステーブルに記録されている通信プロトコルが「UDP」であった場合には、両端末間でやりとりされるUDPパケットはブロックされる可能性があり、両端末間でのUDPを用いた通常通信は失敗する可能性があることが予想される。そこで、接続仲介装置は、UDPを用いた通常通信の失敗が予測されるときには、端末装置に対して、通常通信の代わりに迂回通信を行う旨の指示を与えることができる。このような指示を受けた端末装置は、§6や§7で述べた方法と同様の方法で迂回通信を行うことになる。 Therefore, when there is a connection mediation request from the terminal device at the communication source to the terminal device at the communication destination, the connection mediation device 100 checks the communication protocol recorded in the address table for both terminal devices, It is possible to grasp the possibility that there is an element blocking the UDP packet between them, and it can be predicted whether or not the normal communication between the two terminals will be disturbed. That is, when the communication protocol recorded in the address table for at least one of the terminal device of the communication source and the terminal device of the communication destination is "UDP", UDP exchanged between the two terminals It is expected that packets may be blocked and normal communication with UDP between the two terminals may fail. Therefore, when a failure in normal communication using UDP is predicted, the connection mediation device can give the terminal device an instruction to perform bypass communication instead of the normal communication. The terminal apparatus that has received such an instruction performs bypass communication in the same manner as the methods described in §6 and §7.
 以下、このような通信方法を、§1に示す先願基本発明の第1の実施形態(図2)に適用した例を実施例5として説明し、§2に示す先願基本発明の第2の実施形態(図7)に適用した例を実施例6として説明する。もちろん、以下に述べる実施例5,6については、§3や§4で述べた各種変形例を適用することも可能である。なお、各実施例5,6にブロックとして示されている各構成要素は、これまで述べた先願基本発明に係るシステムと同様に、実際には、コンピュータに組み込まれた専用のプログラムによって実現されることになる。 Hereinafter, an example in which such a communication method is applied to the first embodiment (FIG. 2) of the prior application basic invention shown in § 1 will be described as a fifth embodiment, and the second application of the prior application basic invention An example applied to the embodiment (FIG. 7) is described as a sixth embodiment. Of course, various modifications described in §3 and 44 can also be applied to the fifth and sixth embodiments described below. Each component shown as a block in each of the fifth and sixth embodiments is actually realized by a dedicated program incorporated in a computer, like the system according to the prior application basic invention described above. It will be
 <8-1. 実施例5>
 図36は、本発明の実施例5に係るネットワーク通信システムにおける端末装置205の詳細構成を示すブロック図である。ここに示す端末装置205は、図2に示す先願基本発明の第1の実施形態に係る端末装置200における通信開始要求部240および自己アドレス通知部250に、若干の修正を加えてそれぞれ通信開始要求部245および自己アドレス通知部255とし、更に、新たな構成要素として、迂回通信処理部275(図では新たな構成要素を太線枠ブロックで示す)を付加したものである。
<8-1. Example 5>
FIG. 36 is a block diagram showing a detailed configuration of the terminal device 205 in the network communication system according to the fifth embodiment of the present invention. The terminal device 205 shown here adds some corrections to the communication start request unit 240 and the self address notification unit 250 in the terminal device 200 according to the first embodiment of the prior invention basic invention shown in FIG. A request unit 245 and a self address notification unit 255 are added, and a bypass communication processing unit 275 (in the figure, a new component is indicated by a bold line frame block) is added as a new component.
 また、通信先セッション確立部230および通信元セッション確立部260は、それぞれ通信先セッション確立部235および通信元セッション確立部265に置き換えられている。通信先セッション確立部235および通信元セッション確立部265の基本機能は、図2に示す通信先セッション確立部230および通信元セッション確立部260と同様であるが、通信プロトコルがUDPに限定されている点が異なっている。すなわち、この実施例5に示すネットワーク通信システムでは、通常通信のプロトコルはUDPに固定されていることになる。その他の構成要素である接続仲介依頼部210および通信要求受付部220は、図2に示す同符号の各構成要素と同じものであり、その機能の詳細は、既に§1で述べたとおりである。 Further, the communication destination session establishing unit 230 and the communication source session establishing unit 260 are replaced with the communication destination session establishing unit 235 and the communication source session establishing unit 265, respectively. The basic functions of the communication destination session establishment unit 235 and the communication source session establishment unit 265 are similar to those of the communication destination session establishment unit 230 and the communication source session establishment unit 260 shown in FIG. 2, but the communication protocol is limited to UDP. The points are different. That is, in the network communication system shown in the fifth embodiment, the protocol of normal communication is fixed to UDP. The connection intermediation request unit 210 and the communication request reception unit 220, which are the other components, are the same as the respective components of the same reference numerals shown in FIG. 2, and the details of their functions are as already described in §1. .
 また、この図36に示す実施例5では、図2に示す接続仲介装置100の代わりに、接続仲介装置105が用いられている。この接続仲介装置105は、図2に示す接続仲介装置100の機能に、通信方法(通常通信か迂回通信か)を指示する機能と、迂回通信を中継する機能とを付加したものであり、その構成の詳細は後述する。結局、図36に示す実施例5において、3桁の数字からなる符号における1の位が「5」となっているブロックで示される構成要素が、実施例5に固有の構成要素ということになる。 Further, in the fifth embodiment shown in FIG. 36, a connection mediating apparatus 105 is used instead of the connection mediating apparatus 100 shown in FIG. The connection mediating device 105 is obtained by adding the function of instructing the communication method (whether normal communication or bypass communication) and the function of relaying the reverse communication to the functions of the connection mediating device 100 shown in FIG. Details of the configuration will be described later. As a result, in the fifth embodiment shown in FIG. 36, the component indicated by the block in which the first digit in the three-digit code is “5” is a component unique to the fifth embodiment. .
 この実施例5に係るシステムは、図2に示す先願発明のシステムと同様に、ネットワークNを介して相互に接続可能な複数の端末装置(図には、便宜上、1台の端末装置205のみが示されている)と、これら複数の端末装置間の接続を仲介する接続仲介装置105と、を備えたネットワーク通信システムである。ここで、各端末装置205には、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、接続仲介装置105は、この端末IDを利用して通信元となる端末装置と通信先となる端末装置との間の接続を仲介する処理を実行する。 Similar to the system of the prior invention shown in FIG. 2, the system according to the fifth embodiment includes a plurality of terminal devices (for convenience, only one terminal device 205 can be connected to each other via the network N). And a connection mediation device 105 that mediates the connection between the plurality of terminal devices. Here, each terminal device 205 is provided with a terminal ID for mutually identifying each terminal device, and the connection mediation device 105 uses the terminal ID as a communication source terminal device and the like. The processing of mediating the connection with the terminal device to be the communication destination is executed.
 この図における太線矢印は、端末装置205と接続仲介装置105との間でやりとりされる信号の流れを示しており、細線矢印(ブロック205内部の矢印を除く)は、一対の端末装置205の間で直接的にやりとりされる、通信セッション確立前の信号の流れを示している。そして、白抜矢印は、一対の端末装置205の間で直接的にやりとりされる、通信セッション確立後の信号の流れを示している。この白抜矢印には、「通常通信」なる表記がなされているが、これはこのシステムが想定する本来の通信、すなわち、端末装置205間で直接的に行われる通信を示している。これに対して、迂回通信処理部275から伸びる太線矢印には、「迂回通信」なる表記がなされているが、これは、上述した「通常通信」の失敗が予想されるときに、端末装置205が接続仲介装置105を介して間接的に相手方への通信を行うことを示している。 The thick arrows in this figure indicate the flow of signals exchanged between the terminal device 205 and the connection mediation device 105, and the thin arrows (except for the arrows inside the block 205) indicate between the pair of terminal devices 205. , And the flow of signals before establishment of a communication session, which are directly exchanged. The white arrows indicate the flow of signals after communication session establishment, which are directly exchanged between the pair of terminal devices 205. The white arrow indicates "normal communication", which indicates the original communication assumed by this system, that is, the communication directly performed between the terminal devices 205. On the other hand, the bold arrow extending from the detour communication processing unit 275 is described as “detour communication”. This is because the terminal device 205 is expected to fail in the “normal communication” described above. Indicates that communication to the other party is indirectly performed via the connection mediation device 105.
 図36に示す自己アドレス通知部255は、図2に示す自己アドレス通知部250と同様に、自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置105に対して通知する機能を果たす。この自己アドレス通知処理は、実施例5に係るネットワーク通信システムにおける通信手順の事前処理ということになり、基本的な処理内容は、既に§1で詳述したとおりである。ただ、自己アドレス通知部255は、接続仲介装置105に対して自己の所在アドレスを通知する際に、特有の手順を採用する。 Similar to the self-address notifying unit 250 shown in FIG. 2, the self-address notifying unit 255 shown in FIG. 36 has a function of notifying the connection mediating apparatus 105 of the location address indicating the location of the self on the network. This self address notification process is the preprocess of the communication procedure in the network communication system according to the fifth embodiment, and the basic process contents are as already described in detail in §1. However, the self address notification unit 255 adopts a specific procedure when notifying the connection intermediation device 105 of its own location address.
 図37は、この実施例5に係るネットワーク通信システムにおける通信手順の事前処理(自己アドレスの通知処理)を時系列で説明する流れ図である。自己アドレス通知部255は、まず、ステップS51において、通信プロトコルとしてUDPを用いた第1回通知を行う。すなわち、自己アドレス通知部255から接続仲介装置105に対して、自己アドレスを通知するためのUDPパケットが送信される。続くステップS52では、この第1回通知に成功したか否かが判断される。UDPパケットによる自己アドレス通知に対して、接続仲介装置105から受領確認のためのアクノレッジ信号を返信する仕様にしておけば、自己アドレス通知部255は、アクノレッジが得られたか否かによって、第1回通知に成功したか否かを判断することができる。 FIG. 37 is a flow chart for explaining, in chronological order, pre-processing of communication procedures (notification processing of own address) in the network communication system according to the fifth embodiment. First, in step S51, the self address notification unit 255 performs a first notification using UDP as a communication protocol. That is, the UDP packet for notifying the own address is transmitted from the own address notifying unit 255 to the connection mediating device 105. In the following step S52, it is determined whether or not the first notification has succeeded. In response to the self address notification by the UDP packet, if the connection mediation device 105 is configured to send back an acknowledgment signal for confirmation of receipt, the self address notification unit 255 determines whether the acknowledgment is obtained or not. It can be determined whether the notification has succeeded.
 第1回通知に成功したら、自己アドレス通知部255による自己アドレス通知処理はそれで完了であるが、第1回通知に失敗した場合には、続いて、ステップS53において、通信プロトコルとしてTCPを用いた第2回通知が行われる。前述したとおり、TCPはWeb閲覧に広く利用されているプロトコルであるため、実用上、第2回通知は失敗しないものと考えて支障はない。もし、第2回通知に対するアクノレッジも得られなかった場合は、何度か繰り返して同じ通知を行うようにすればよい。 If the first notification is successful, the self-address notification process by the self-address notification unit 255 is complete, but if the first notification fails, then in step S53, TCP is used as the communication protocol. The second notification is made. As described above, since TCP is a protocol widely used for browsing the Web, there is no problem considering that the second notification does not fail in practice. If no acknowledgment for the second notification is obtained, the same notification may be made several times.
 このように、自己アドレス通知部255から接続仲介装置105に対しては、UDPパケットもしくはTCPパケットにより、自己の所在アドレスの通知がなされる。したがって、図36において、自己アドレス通知部255からネットワークNに向かう太線矢印は、端末装置205の所在アドレスの情報をもった信号であり、その通信プロトコルは、UDPまたはTCPということになる。 As described above, the own address notifying unit 255 notifies the connection mediation device 105 of the location address of the own device by the UDP packet or the TCP packet. Therefore, in FIG. 36, the thick arrow pointing from the own address notification unit 255 to the network N is a signal having information on the location address of the terminal device 205, and the communication protocol is UDP or TCP.
 こうして、接続仲介装置105には、各端末装置205から、所在アドレスの情報がUDPまたはTCPの通信プロトコルによって通知されるので、接続仲介装置105内のアドレステーブルには、端末IDと所在アドレスに加えて、更に、自己アドレス通知に用いられた通信プロトコル(UDPかTCPか)を対応づけた情報が格納される。すなわち、図37の流れ図のステップS54において、接続仲介装置105内のアドレステーブル更新部125によって通信プロトコルを含めたアドレステーブルの更新が行われる。図38は、このような更新によって作成されたアドレステーブルT70を示す図である。このアドレステーブルT70は、図6に示すアドレステーブルTと同様に、4組の端末装置から通知された所在アドレスを示すものであるが、所在アドレスに加えて、通信プロトコルの情報(右欄)も記録されている。 Thus, since the information of the location address is notified from the terminal device 205 to the connection mediation device 105 by the communication protocol of UDP or TCP, the address table in the connection mediation device 105 is added to the terminal ID and the location address. Further, information associated with the communication protocol (whether UDP or TCP) used for the self address notification is stored. That is, in step S54 of the flowchart of FIG. 37, the address table updating unit 125 in the connection mediating apparatus 105 updates the address table including the communication protocol. FIG. 38 shows an address table T70 created by such an update. Similar to the address table T shown in FIG. 6, this address table T70 indicates the location addresses notified from the four sets of terminal devices, but in addition to the location addresses, also the communication protocol information (right column) It is recorded.
 図37の流れ図に示されている事前処理が済めば、図36に示す実施例5に係るネットワーク通信システムにおける通信準備は完了である。自己アドレス通知部255による所在アドレスの通知は、所定タイミングで繰り返し実行されるので、接続仲介装置105内のアドレステーブルT70には、各端末装置について、常に最新の所在アドレスおよび通信プロトコルが格納されることになる。そこで、接続仲介装置105は、特定の通信元端末装置から特定の通信先端末装置への接続仲介依頼が来たときに、アドレステーブルT70を参照して、両端末間で通常通信を行った場合に、UDPブロック要素により当該通常通信に支障が生じるか否かを判断し、支障なしと判断される場合には通常通信を選択し、支障ありと判断される場合には迂回通信を選択する。 The communication preparation in the network communication system according to the fifth embodiment shown in FIG. 36 is completed when the pre-processing shown in the flowchart of FIG. 37 is completed. Since notification of the location address by the self address notification unit 255 is repeatedly executed at a predetermined timing, the latest location address and communication protocol are always stored in the address table T70 in the connection mediating device 105 for each terminal device. It will be. Therefore, when the connection mediation device 105 receives a connection mediation request from a specific communication source terminal device to a specific communication destination terminal device, the connection mediation device 105 refers to the address table T70 and performs normal communication between both terminals. Then, it is judged by the UDP block element whether or not trouble occurs in the normal communication, and when it is judged that there is no trouble, the normal communication is selected, and when judged as trouble, the bypass communication is selected.
 具体的には、接続仲介装置105は、通信元端末装置および通信先端末装置のうち、双方について、アドレステーブルT70に記録されている通信プロトコルがUDPであった場合には、通常通信に支障なしと判断して通常通信を選択する。これに対して、少なくとも一方について、アドレステーブルT70に記録されている通信プロトコルがTCPであった場合には、通常通信に支障ありと判断して迂回通信を選択する。 Specifically, for both of the communication source terminal device and the communication destination terminal device, when the communication protocol recorded in the address table T70 is UDP, the connection mediation device 105 causes no hindrance to the normal communication. Judge as and select normal communication. On the other hand, if at least one of the communication protocols recorded in the address table T70 is TCP, it is judged that there is a problem in the normal communication, and the bypass communication is selected.
 そして、接続仲介装置105から通信元端末装置205の通信開始要求部245に対して、通信先アドレスを返信する際に、選択した通信方法を示す情報(通常通信か、迂回通信かを示す情報)を併せて返信する。したがって、図36において、ネットワークNから通信開始要求部245に向かう太線矢印は、通信先アドレスの情報とともに通信方法の情報を含む信号になる。 Then, when a communication destination address is returned from the connection mediation device 105 to the communication start request unit 245 of the communication source terminal device 205, information indicating the selected communication method (information indicating normal communication or bypass communication) Reply together. Therefore, in FIG. 36, the thick arrow going from the network N to the communication start request unit 245 is a signal including the communication method information together with the communication destination address information.
 通信開始要求部245は、接続仲介装置105から通信先アドレスと共に通信方法が返信されてきたとき、通信方法として通常通信が選択されていた場合には、先願基本発明の第1の実施形態と同様に、ネットワークNを介して、通信先アドレスにアクセスして通信開始要求を行う。以後の通信手順は、§1で述べたとおりである。一方、通信方法として迂回通信が選択されていた場合には、迂回通信処理部275に対して迂回通信指示を行う。 The communication start request unit 245 transmits the communication method address together with the communication destination address from the connection mediating apparatus 105, and when the normal communication is selected as the communication method, the communication start request unit 245 performs the first embodiment of the prior application basic invention and Similarly, the communication destination address is accessed via the network N to make a communication start request. The subsequent communication procedure is as described in §1. On the other hand, when the alternative communication is selected as the communication method, the alternative communication instruction is issued to the alternative communication processing unit 275.
 迂回通信処理部275は、§7で述べた実施例3における迂回通信処理部273と同様に、接続仲介装置105を介した迂回通信を行う構成要素である。すなわち、迂回通信処理部275は、通常通信(図の白抜矢印で示された通信)の失敗が予想されるときに、接続仲介装置105を介して相手方に対する間接的な情報送受を行う迂回通信を実行する。上述したとおり、失敗予想は、接続仲介装置105において行われる。通信開始要求部245が接続仲介装置105から迂回通信を選択する通信方法を受け取った場合、接続仲介装置105が失敗予想を行ったケースにあたる。この場合、通信開始要求部245から迂回通信処理部275に対して迂回通信指示が行われ、迂回通信処理部275による迂回通信が実行される。 Similar to the bypass communication processing unit 273 in the third embodiment described in §7, the bypass communication processing unit 275 is a component that performs bypass communication via the connection mediation device 105. That is, the bypass communication processing unit 275 performs indirect information transmission / reception with the other party via the connection intermediation device 105 when failure of normal communication (communication indicated by the white arrow in the figure) is expected. Run. As described above, failure prediction is performed in the connection mediating device 105. When the communication start request unit 245 receives a communication method for selecting bypass communication from the connection mediating device 105, this corresponds to the case where the connection mediating device 105 has predicted a failure. In this case, the communication start request unit 245 instructs the bypass communication processing unit 275 to perform bypass communication, and the bypass communication processing unit 275 executes bypass communication.
 具体的には、迂回通信処理部275は、接続仲介装置105(後述するように、その中の迂回通信中継部145)に対して迂回通信の中継依頼を行い、接続仲介装置105を介して、相手方の迂回通信処理部275との間での迂回通信を実行することになる。この迂回通信のための情報パケットのやりとりは、TCPプロトロルによって行われるため、ルートの途中にUDPブロック要素が存在していても、迂回通信に支障は生じない。なお、変形例として、迂回通信を最初はUDPプロトロルで実行し、失敗した場合にTCPプロトコルに切り替える方法を採ることも可能である。 Specifically, the bypass communication processing unit 275 makes a relay request for bypass communication to the connection mediating device 105 (as described later, the bypass communication relay unit 145 therein), and, via the connection mediating device 105, The detour communication with the detour communication processing unit 275 of the other party is executed. Since exchange of information packets for this bypass communication is performed by the TCP protocol, even if there is a UDP block element in the middle of the route, the bypass communication will not be disturbed. As a modification, it is also possible to adopt a method in which the detour communication is initially executed by the UDP protocol and switched to the TCP protocol in case of failure.
 図39は、図36に示す本発明の実施例5に係るネットワーク通信システムにおいて、通信元端末装置205Aと通信先端末装置205Bとの間の通信セッション確立の手順を示すブロック図である。図示する端末装置205A,205Bは、図36に示す端末装置205と同一の構成を有する装置であり、図4と同様に、通信元端末装置205A内の構成要素については、通信元として必要な処理を実行する構成要素(矩形ブロックの構成要素)を実線で示し、通信先端末装置205B内の構成要素については、通信先として必要な処理を実行する構成要素(二重矩形ブロックの構成要素)を実線で示すことにし、それ以外の構成要素のブロックは破線で示してある。また、実施例5に固有の構成要素である迂回通信処理部275A,275Bについては太線枠ブロックで示してある。 39 is a block diagram showing a procedure for establishing a communication session between the communication source terminal device 205A and the communication destination terminal device 205B in the network communication system according to the fifth embodiment of the present invention shown in FIG. The terminal devices 205A and 205B shown are devices having the same configuration as the terminal device 205 shown in FIG. 36, and as in FIG. 4, the components in the communication source terminal device 205A are processes necessary as a communication source The components (components of the rectangular block) for executing the command are indicated by solid lines, and the components within the communication destination terminal device 205B are components (components of the double rectangular block) that perform processing required as a communication destination. It is indicated by a solid line, and blocks of other components are indicated by a broken line. Further, the bypass communication processing units 275A and 275B, which are components unique to the fifth embodiment, are indicated by bold line frame blocks.
 図39に示す接続仲介装置105(図36に示すもの)は、図4に示す接続仲介装置100に、迂回通信中継部145を追加するとともに、その他の構成要素であるアドレステーブル格納部110、アドレステーブル更新部120、通信先アドレス返信部130については、若干の付加機能を設けることにより、アドレステーブル格納部115、アドレステーブル更新部125、通信先アドレス返信部135としたものである。 The connection mediating device 105 (shown in FIG. 36) shown in FIG. 39 adds the detour communication relay portion 145 to the connection mediating device 100 shown in FIG. The table update unit 120 and the communication destination address return unit 130 are configured as the address table storage unit 115, the address table update unit 125, and the communication destination address return unit 135 by providing some additional functions.
 接続仲介装置105内の迂回通信中継部145は、第1の端末装置205Aの迂回通信処理部275Aと第2の端末装置205Bの迂回通信処理部275Bとの間での迂回通信の中継依頼があったときに、第1の端末装置205Aの迂回通信処理部275Aと第2の端末装置205Bの迂回通信処理部275Bとの間で受け渡しする情報を取り次いで迂回通信の中継を行う構成要素である。 The bypass communication relay unit 145 in the connection mediation device 105 has a relay request for bypass communication between the bypass communication processing unit 275A of the first terminal device 205A and the bypass communication processing unit 275B of the second terminal device 205B. It is a component that takes information passed between the detour communication processing unit 275A of the first terminal device 205A and the detour communication processing unit 275B of the second terminal device 205B and relays the detour communication.
 また、接続仲介装置105内のアドレステーブル格納部115は、図38に例示したように、端末IDと所在アドレスに加えて、更に、通信プロトコルを対応づけたアドレステーブルT70を格納する機能を有する。そして、接続仲介装置105内のアドレステーブル更新部125は、アドレステーブルT70の更新を行う際に、UDPによって受信した第1回通知に基づいて更新を行う場合には、通信プロトコルとしてUDPを対応づけ、TCPによって受信した第2回通知に基づいて更新を行う場合には、通信プロトコルとしてTCPを対応づける更新を行う。 Further, as illustrated in FIG. 38, the address table storage unit 115 in the connection mediation device 105 further has a function of storing an address table T70 in which communication protocols are associated, in addition to the terminal ID and the location address. Then, when updating the address table T 70, the address table updating unit 125 in the connection mediation device 105 associates UDP as a communication protocol when updating based on the first notification received by UDP. When updating is performed based on the second notification received by TCP, the communication protocol is updated to correspond to TCP.
 一方、接続仲介装置105内の通信先アドレス返信部135は、接続仲介依頼S2が送信されてきたときに、アドレステーブルT70を参照して、通信元の端末装置および通信先の端末装置の通信プロトコルを確認し、両端末装置の通信プロトコルがいずれもUDPであった場合には、通信方法として通常通信を選択し、少なくとも一方の通信プロトコルがTCPであった場合には、通信方法として迂回通信を選択し、選択した通信方法を通信先アドレスと共に返信する機能を有する。 On the other hand, when the connection mediation request S2 is transmitted, the communication destination address replying unit 135 in the connection mediation device 105 refers to the address table T70 and communicates the communication protocol of the terminal device of the communication source and the terminal device of the communication destination. If the communication protocols of both terminal devices are both UDP, normal communication is selected as the communication method, and if at least one of the communication protocols is TCP, bypass communication is selected as the communication method. It has a function of returning the selected communication method together with the communication destination address.
 この図39に示す例において、アドレステーブル格納部115内に図38のようなアドレステーブルT70が格納されていた場合、通信先の端末装置205B(端末ID:0020)の通信プロトコルは「TCP」になっているので、通信先アドレス返信部135は、通信方法として迂回通信を選択する。通信先端末装置205Bの通信プロトコルが「TCP」ということは、通信先端末装置205BからのUDPによる第1回自己アドレス通知がどこかでブロックされてしまったことを示している。よって、通信元端末装置205Aから通信先端末装置205Bへ、UDPによる通信開始要求S5を行った場合、通信先端末装置205Bへのルートの途中で、当該通信開始要求S5はブロックされてしまう可能性がある。 In the example shown in FIG. 39, when the address table T70 as shown in FIG. 38 is stored in the address table storage unit 115, the communication protocol of the terminal device 205B (terminal ID: 0020) of the communication destination is “TCP”. Since the communication destination address reply unit 135 selects the bypass communication as the communication method. When the communication protocol of the communication destination terminal device 205B is "TCP", it indicates that the first self-address notification by UDP from the communication destination terminal device 205B is blocked somewhere. Therefore, when the communication start request S5 is sent from the communication source terminal device 205A to the communication destination terminal device 205B, the communication start request S5 may be blocked in the middle of the route to the communication destination terminal device 205B. There is.
 この場合、通信先アドレス返信部135は、通信方法として迂回通信を選択することになる。図39には、通信先アドレス返信部135から通信開始要求部245Aに対して、通信先アドレス「AD2」および通信方法「迂回通信」を示す情報が返信された例(図39の太線矢印S4a)が示されている。これに対して、通信元の端末装置205Aと通信先の端末装置205Bの双方についての通信プロトコルが「UDP」になっていれば、通信先アドレス返信部135は、通信方法として通常通信を選択することになる。 In this case, the communication destination address return unit 135 selects the bypass communication as the communication method. In FIG. 39, an example in which information indicating the communication destination address “AD2” and the communication method “detour communication” is returned from the communication destination address reply unit 135 to the communication start request unit 245A (thick arrow S4a in FIG. 39). It is shown. On the other hand, if the communication protocol for both the communication source terminal device 205A and the communication destination terminal device 205B is "UDP", the communication destination address reply unit 135 selects normal communication as the communication method. It will be.
 通信元端末装置205A内の通信開始要求部245Aは、通信先アドレス返信部135から「通常通信」を選択する返信が戻ってきた場合、通常通信の処理を行う。具体的には、通信開始要求部245Aが、通信先アドレスAD2にアクセスしてUDPによる通信開始要求S5を行うと、相手方の通信先セッション確立部235Bから通信元セッション確立部265Aに対してUDPによる通信開始受諾確認S6が送信される。こうして、通信元セッション確立部265Aと通信先セッション確立部235Aとの間にUDPによる通信セッションが確立する。 The communication start request unit 245A in the communication source terminal device 205A performs normal communication processing when the communication destination address return unit 135 returns a response for selecting "normal communication". Specifically, when the communication start request unit 245A accesses the communication destination address AD2 and makes a communication start request S5 by UDP, the other party communication destination session establishment unit 235B sends a communication source session establishment unit 265A to UDP. Communication start acceptance confirmation S6 is transmitted. Thus, a communication session by UDP is established between the communication source session establishment unit 265A and the communication destination session establishment unit 235A.
 一方、通信先アドレス返信部135から「迂回通信」を選択する返信が戻ってきた場合、通信開始要求部245Aは、迂回通信の処理を行う。すなわち、通信開始要求部245Aは、通信開始要求S5を行う代わりに、迂回通信処理部275Aに対して、迂回通信指示S5′を行う。迂回通信処理部275Aは、この迂回通信指示S5′を受けると、迂回通信中継部145に対してTCPにより迂回通信の中継依頼を行い、迂回通信中継部145を介して、相手方の迂回通信処理部275Bとの間でのTCPによる迂回通信S8aを実行する。迂回通信処理部275Aは、通信開始要求部245Aから通信先アドレスAD2を取得し、これを迂回通信中継部145にTCPにより伝達して中継依頼を行う。迂回通信中継部145は、この中継依頼に応じて、通信先アドレスAD2にTCPによりアクセスし、通信先端末装置205Bの迂回通信処理部275Bに迂回通信の開始を要求する。迂回通信処理部275Bは、これを受諾する旨の返信をTCPにより迂回通信中継部145に対して行い、TCPによる迂回通信S8bを実行する。以後、迂回通信中継部145による中継により、両端末装置205A,205B間でのTCPによる迂回通信が行われる。 On the other hand, when the communication destination address replying unit 135 returns a reply for selecting the “detour communication”, the communication start request unit 245A performs a bypass communication process. That is, instead of performing the communication start request S5, the communication start request unit 245A sends a bypass communication instruction S5 'to the bypass communication processing unit 275A. When the detour communication processing unit 275 A receives the detour communication instruction S 5 ′, the detour communication processing unit 275 A makes a relay request for detour communication to the detour communication relay unit 145 by TCP, and the bypass communication processing unit of the other party via the detour communication relay unit 145 The bypass communication S8a with TCP is executed with the communication unit 275B. The bypass communication processing unit 275A acquires the communication destination address AD2 from the communication start request unit 245A, transmits this to the bypass communication relay unit 145 by TCP, and makes a relay request. In response to the relay request, the bypass communication relay unit 145 accesses the communication destination address AD2 by TCP, and requests the bypass communication processing unit 275B of the communication destination terminal device 205B to start bypass communication. The bypass communication processing unit 275B sends a reply to the effect that the bypass communication processing unit 275B accepts this to the bypass communication relay unit 145 by TCP, and executes the bypass communication S8b by TCP. Thereafter, by the relay by the detour communication relay unit 145, detour communication by TCP is performed between both the terminal devices 205A and 205B.
 この迂回通信では、両端末装置205A,205B間の情報パケットは、すべて接続仲介装置105を介したTCPパケットとしてやりとりされることになる。したがって、両端末装置205A,205B間のルートに、UDPブロック要素が存在したとしても、両端末装置205A,205B間の迂回通信は支障なく行われる。なお、前述したように、変形例として、迂回通信を最初はUDPプロトロルで実行し、失敗した場合にTCPプロトコルに切り替える方法を採ることも可能である。 In this bypass communication, all information packets between the terminal devices 205A and 205B are exchanged as TCP packets via the connection mediation device 105. Therefore, even if the UDP block element exists in the route between both terminal devices 205A and 205B, the detour communication between both terminal devices 205A and 205B is performed without any problem. As described above, as a modification, it is also possible to adopt a method in which the detour communication is first executed by the UDP protocol and switched to the TCP protocol in case of failure.
 図40は、図39のブロック図に示されている実施例5における通信セッション確立手順を時系列で説明する流れ図である。この流れ図における通常通信の手順は、§1で述べた先願発明の第1の実施形態における通信セッション確立手順を示す図5の流れ図とほぼ同じである。 FIG. 40 is a flowchart illustrating the communication session establishment procedure in the fifth embodiment shown in the block diagram of FIG. 39 in chronological order. The procedure of normal communication in this flowchart is substantially the same as the flowchart of FIG.
 まず、ステップS1において、通信要求受付部220Aによる通信要求受付処理が行われ、続くステップS2において、接続仲介依頼部210Aによる接続仲介依頼が行われる。この接続仲介依頼は、UDPでもTCPでもよい(最初からTCPで行ってもよいし、まずUDPによって行い、UDPによる接続仲介依頼が失敗したら、TCPによる接続仲介依頼を再度行うようにしてもよい)。そしてステップS3において、通信先アドレス返信部135によりアドレステーブル格納部115に格納されているアドレステーブルT70の参照が行われ、ステップS4aにおいて、通信先アドレス返信部135から通信開始要求部245Aに対して、通信先アドレスおよび通信方法が返信される。この返信も、UDPで行ってもよいし、TCPで行ってもよい。当該返信を受けた通信開始要求部245Aは、ステップS4bにおいて、2通りの処理プロセスのいずれかを選択する。 First, in step S1, the communication request acceptance process by the communication request acceptance unit 220A is performed, and in the subsequent step S2, a connection intermediation request is performed by the connection intermediation request unit 210A. This connection mediation request may be either UDP or TCP (it may be made by TCP from the beginning, or it may be made first by UDP, and if the connection mediation request by UDP fails, the connection mediation request by TCP may be made again) . Then, in step S3, the communication destination address reply unit 135 refers to the address table T70 stored in the address table storage unit 115, and in step S4a, the communication destination address reply unit 135 sends the communication start request unit 245A. , Communication destination address and communication method are returned. This reply may also be made by UDP or by TCP. In step S4b, the communication start request unit 245A that has received the reply selects one of the two processing processes.
 まず、通信方法として「通常通信」が指示されていた場合には、UDP通信を行うためにステップS5へ進む。図40の流れ図におけるステップS5~S7の手順は、図5の流れ図におけるステップS5~S7の手順と全く同じである。ただ、通常通信の通信プロトコルはUDPになる。すなわち、通信開始要求部245Aは、ステップS5において、通信先端末装置205Bに対してUDPにより通信開始要求S5を行う。通信先セッション確立部235Bは、この通信開始要求S5を受け、ステップS6において、通信元端末装置205Aに対してUDPにより通信開始受諾確認S6を送信する。そして、続くステップS7において、通信先セッション確立部235Bと通信元セッション確立部265Aとの間の通信セッションが確立され、UDPにより通常通信S7が行われる。 First, when “normal communication” is instructed as the communication method, the process proceeds to step S5 to perform UDP communication. The procedure of steps S5 to S7 in the flowchart of FIG. 40 is exactly the same as the procedure of steps S5 to S7 in the flowchart of FIG. However, the communication protocol for normal communication is UDP. That is, in step S5, the communication start request unit 245A sends a communication start request S5 to the communication destination terminal device 205B by UDP. The communication destination session establishing unit 235B receives the communication start request S5, and transmits the communication start acceptance confirmation S6 to the communication source terminal device 205A by UDP in step S6. Then, in the subsequent step S7, a communication session between the communication destination session establishment unit 235B and the communication source session establishment unit 265A is established, and the normal communication S7 is performed by UDP.
 一方、通信方法として「迂回通信」が指示されていた場合には、ステップS5′へ進み、通信開始要求部245Aから迂回通信処理部275Aに対して迂回通信指示が与えられる。そして続くステップS8において、迂回通信処理が実行される。すなわち、迂回通信処理部275A,275Bと迂回通信中継部145によって、TCPによる迂回通信処理が行われる(図39のS8a,S8b)。 On the other hand, when "rerouting communication" is instructed as the communication method, the process proceeds to step S5 ', and the communication start request unit 245A gives the detour communication instruction to the detour communication processing unit 275A. Then, in the subsequent step S8, the bypass communication process is executed. That is, the detour communication processing by TCP is performed by the detour communication processing units 275A and 275B and the detour communication relay unit 145 (S8a and S8b in FIG. 39).
 <8-2. 実施例6>
 図41は、本発明の実施例6に係るネットワーク通信システムにおける端末装置406の詳細構成を示すブロック図である。ここに示す端末装置406は、図7に示す先願基本発明の第2の実施形態に係る端末装置400における通信開始要求部440および自己アドレス通知部450に、若干の修正を加えてそれぞれ通信開始要求部446および自己アドレス通知部456とし、更に、新たな構成要素として、迂回通信処理部476(図では新たな構成要素を太線枠ブロックで示す)を付加したものである。
<8-2. Example 6>
FIG. 41 is a block diagram showing a detailed configuration of the terminal device 406 in the network communication system according to the sixth embodiment of the present invention. The terminal device 406 shown here adds a slight modification to the communication start request unit 440 and the self address notification unit 450 in the terminal device 400 according to the second embodiment of the prior invention basic invention shown in FIG. A request unit 446 and a self address notification unit 456 are additionally provided with a bypass communication processing unit 476 (in the figure, a new component is indicated by a bold line frame block) as a new component.
 また、通信元セッション確立部430および通信先セッション確立部460は、それぞれ通信元セッション確立部436および通信先セッション確立部466に置き換えられている。通信元セッション確立部436および通信先セッション確立部466の基本機能は、図7に示す通信元セッション確立部430および通信先セッション確立部460と同様であるが、通信プロトコルがUDPに限定されている点が異なっている。すなわち、この実施例6に示すネットワーク通信システムでは、通常通信のプロトコルはUDPに固定されていることになる。その他の構成要素である接続仲介依頼部410および通信要求受付部420は、図7に示す同符号の各構成要素と同じものであり、その機能の詳細は、既に§2で述べたとおりである。 Further, the communication source session establishment unit 430 and the communication destination session establishment unit 460 are replaced with a communication source session establishment unit 436 and a communication destination session establishment unit 466, respectively. The basic functions of the communication source session establishment unit 436 and the communication destination session establishment unit 466 are the same as those of the communication source session establishment unit 430 and the communication destination session establishment unit 460 shown in FIG. 7, but the communication protocol is limited to UDP. The points are different. That is, in the network communication system shown in the sixth embodiment, the protocol of normal communication is fixed to UDP. The connection intermediation request unit 410 and the communication request reception unit 420, which are the other components, are the same as the components of the same reference numerals shown in FIG. 7, and the details of their functions are as already described in §2. .
 また、この図41に示す実施例6では、図7に示す接続仲介装置300の代わりに、接続仲介装置306が用いられている。この接続仲介装置306は、図7に示す接続仲介装置300の機能に、通信方法(通常通信か迂回通信か)を指示する機能と、迂回通信を中継する機能とを付加したものであり、その構成の詳細は後述する。結局、図41に示す実施例6において、3桁の数字からなる符号における1の位が「6」となっているブロックで示される構成要素が、実施例6に固有の構成要素ということになる。 Further, in the sixth embodiment shown in FIG. 41, a connection mediation device 306 is used instead of the connection mediation device 300 shown in FIG. The connection mediation device 306 is obtained by adding the function of instructing the communication method (whether normal communication or bypass communication) and the function of relaying bypass communication to the functions of the connection mediation device 300 shown in FIG. Details of the configuration will be described later. As a result, in the sixth embodiment shown in FIG. 41, the component indicated by the block in which the first digit in the three-digit code is “6” is a component unique to the sixth embodiment. .
 この実施例6に係るシステムは、図7に示す先願発明のシステムと同様に、ネットワークNを介して相互に接続可能な複数の端末装置(図には、便宜上、1台の端末装置406のみが示されている)と、これら複数の端末装置間の接続を仲介する接続仲介装置306と、を備えたネットワーク通信システムである。ここで、各端末装置406には、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、接続仲介装置306は、この端末IDを利用して通信元となる端末装置と通信先となる端末装置との間の接続を仲介する処理を実行する。 Similar to the system of the prior invention shown in FIG. 7, the system according to the sixth embodiment includes a plurality of terminal devices (for convenience, only one terminal device 406 can be connected to each other via the network N). And a connection mediation device 306 that mediates the connection between the plurality of terminal devices. Here, each terminal device 406 is provided with a terminal ID for mutually identifying each terminal device, and the connection mediation device 306 uses the terminal ID as a communication source terminal device. The processing of mediating the connection with the terminal device to be the communication destination is executed.
 この図においても、これまで述べてきた各実施例と同様に、太線矢印、細線矢印、白抜矢印の3種類の矢印が用いられている。白抜矢印は「通常通信」を示し、迂回通信処理部476から伸びる太線矢印は「迂回通信」を示している。実施例5と同様に、この実施例6でも、本来は「通常通信」を行うことが意図されているが、「通常通信」の失敗が予想されるときには、端末装置406が接続仲介装置306を介して間接的に相手方への通信を行うことになる。 Also in this figure, three types of arrows, thick arrows, thin arrows, and white arrows, are used as in the embodiments described above. White arrows indicate “normal communication”, and thick arrows extending from the bypass communication processing unit 476 indicate “route communication”. As in the fifth embodiment, the sixth embodiment is originally intended to perform "normal communication", but when failure of the "normal communication" is expected, the terminal device 406 serves as the connection mediation device 306. It will communicate with the other party indirectly via the connection.
 図41に示す自己アドレス通知部456は、図7に示す自己アドレス通知部450と同様に、自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置306に対して通知する機能を果たす。この自己アドレス通知処理は、実施例6に係るネットワーク通信システムにおける通信手順の事前処理ということになり、基本的な処理内容は、既に§2で詳述したとおりである。ただ、自己アドレス通知部456は、前述した実施例5における自己アドレス通知部255と同様に、接続仲介装置306に対して自己の所在アドレスを通知する際に、特有の手順を採用する。 Similar to the self address notification unit 450 shown in FIG. 7, the self address notification unit 456 shown in FIG. 41 has a function of notifying the connection mediating device 306 of the location address indicating the location of the self on the network. This self address notification process is referred to as pre-processing of the communication procedure in the network communication system according to the sixth embodiment, and the basic process content is as already described in detail in 自己 2. However, the self address notifying unit 456 adopts a specific procedure when notifying the connection intermediation device 306 of its own location address, as in the self address notifying unit 255 in the fifth embodiment described above.
 この自己アドレス通知部456が行う特有の手順は、実施例5における自己アドレス通知部255が行う手順と同様であり、図37の流れ図に示すものになる。すなわち、自己アドレス通知部456は、接続仲介装置306に対して自己の所在アドレスを通知する際に、まず、通信プロトコルとしてUDPを用いた第1回通知(図37のS51に対応)を行い、当該第1回通知に失敗した場合には、続いて、通信プロトコルとしてTCPを用いた第2回通知(図37のS53に対応)を行うことになる。 The specific procedure performed by the own address notification unit 456 is the same as the procedure performed by the own address notification unit 255 in the fifth embodiment, and is as illustrated in the flowchart of FIG. That is, when notifying the connection mediating device 306 of its own location address, the self address notification unit 456 first performs a first notification (corresponding to S51 in FIG. 37) using UDP as a communication protocol, If the first notification fails, subsequently, a second notification (corresponding to S53 in FIG. 37) using TCP as a communication protocol is performed.
 このように、自己アドレス通知部456から接続仲介装置306に対しては、UDPパケットもしくはTCPパケットにより、自己の所在アドレスの通知がなされる。したがって、図41において、自己アドレス通知部456からネットワークNに向かう太線矢印は、端末装置406の所在アドレスの情報をもった信号であり、その通信プロトコルは、UDPまたはTCPということになる。 As described above, the own address notifying unit 456 notifies the connection mediating device 306 of its own location address by using a UDP packet or a TCP packet. Therefore, in FIG. 41, the thick arrow pointing from the self address notifying unit 456 to the network N is a signal having information of the location address of the terminal device 406, and the communication protocol is UDP or TCP.
 こうして、接続仲介装置306には、各端末装置406から、所在アドレスの情報がUDPまたはTCPの通信プロトコルによって通知されるので、接続仲介装置306内のアドレステーブルには、端末IDと所在アドレスに加えて、更に、自己アドレス通知に用いられた通信プロトコル(UDPかTCPか)を対応づけた情報が格納される。すなわち、図37の流れ図のステップS54の処理と同様に、接続仲介装置306内のアドレステーブル更新部326によって通信プロトコルを含めたアドレステーブルの更新が行われ、たとえば、図38に示すようなアドレステーブルT70が得られる。 Thus, since the information on the location address is notified from the terminal device 406 to the connection mediation device 306 by the communication protocol of UDP or TCP, the address table in the connection mediation device 306 is added to the terminal ID and the location address. Further, information associated with the communication protocol (whether UDP or TCP) used for the self address notification is stored. That is, as in the process of step S54 in the flowchart of FIG. 37, the address table updating unit 326 in the connection mediating device 306 updates the address table including the communication protocol. For example, the address table as shown in FIG. T70 is obtained.
 こうして図37の流れ図に準じた事前処理が済めば、図41に示す実施例6に係るネットワーク通信システムにおける通信準備は完了である。自己アドレス通知部456による所在アドレスの通知は、所定タイミングで繰り返し実行されるので、接続仲介装置306内のアドレステーブルT70には、各端末装置について、常に最新の所在アドレスおよび通信プロトコルが格納されることになる。そこで、接続仲介装置306は、特定の通信元端末装置から特定の通信先端末装置への接続仲介依頼が来たときに、アドレステーブルT70を参照して、両端末間で通常通信を行った場合に、UDPブロック要素により当該通常通信に支障が生じるか否かを判断し、支障なしと判断される場合には通常通信を選択し、支障ありと判断される場合には迂回通信を選択する。 In this way, when the pre-processing according to the flowchart of FIG. 37 is completed, the communication preparation in the network communication system according to the sixth embodiment shown in FIG. 41 is completed. Since the notification of the location address by the self address notification unit 456 is repeatedly executed at a predetermined timing, the latest location address and communication protocol are always stored in the address table T70 in the connection mediation device 306 for each terminal device. It will be. Therefore, when the connection mediation device 306 receives a connection mediation request from a specific communication source terminal device to a specific communication destination terminal device, the connection mediation device 306 refers to the address table T70 and performs normal communication between both terminals. Then, it is judged by the UDP block element whether or not trouble occurs in the normal communication, and when it is judged that there is no trouble, the normal communication is selected, and when judged as trouble, the bypass communication is selected.
 具体的には、接続仲介装置306は、通信元端末装置および通信先端末装置のうち、双方について、アドレステーブルT70に記録されている通信プロトコルがUDPであった場合には、通常通信に支障なしと判断して通常通信を選択する。これに対して、少なくとも一方について、アドレステーブルT70に記録されている通信プロトコルがTCPであった場合には、通常通信に支障ありと判断して迂回通信を選択する。 Specifically, for both of the communication source terminal device and the communication destination terminal device, when the communication protocol recorded in the address table T70 is UDP, the connection mediation device 306 causes no hindrance to the normal communication. Judge as and select normal communication. On the other hand, if at least one of the communication protocols recorded in the address table T70 is TCP, it is judged that there is a problem in the normal communication, and the bypass communication is selected.
 前述した実施例5の場合、通信元端末装置205が接続仲介装置105に対して接続仲介依頼S2を行うと、当該通信元端末装置205に対して、通信先アドレスおよび通信方法が返信される。これに対して、ここで述べる実施例6の場合、通信元端末装置406が接続仲介装置306に対して接続仲介依頼S12を行うと、当該通信元端末装置406ではなく、通信先の別な端末装置406に対して、「通信元アドレス」および「通信方法」が送信されることになる。ここで、「通信方法」とは、既に述べたとおり、通常通信か、迂回通信かを示す情報である。したがって、図41において、ネットワークNから通信先の通信開始要求部446(図41では、通信先の構成要素であるため、二重枠のブロックで示されている)に向かう太線矢印は、通信元アドレスの情報とともに通信方法の情報を含む信号になる。 In the case of the fifth embodiment described above, when the communication source terminal device 205 sends a connection mediation request S2 to the connection mediation device 105, the communication destination address and communication method are returned to the communication source terminal device 205. On the other hand, in the case of the sixth embodiment described here, when the communication source terminal device 406 sends a connection mediation request S12 to the connection mediation device 306, another terminal of the communication destination, not the communication source terminal device 406. The “communication source address” and the “communication method” are to be transmitted to the device 406. Here, the “communication method” is information indicating whether normal communication or bypass communication, as described above. Therefore, in FIG. 41, the bold arrow pointing from network N to communication start request communication unit 446 (shown as a double-framed block because it is a component of communication destination in FIG. 41) is the communication source It becomes a signal including information on communication method together with address information.
 通信開始要求部446は、接続仲介装置306から通信元アドレスと共に通信方法が返信されてきたとき、通信方法として通常通信が選択されていた場合には、先願基本発明の第2の実施形態と同様に、ネットワークNを介して、通信元アドレスにアクセスして通信開始要求を行う。以後の通信手順は、§2で述べたとおりである。一方、通信方法として迂回通信が選択されていた場合には、迂回通信処理部476に対して迂回通信指示を行う。 When the communication start request unit 446 returns a communication method together with the communication source address from the connection mediation device 306, when the normal communication is selected as the communication method, the communication start request unit 446 is the second embodiment of the prior invention basic invention and Similarly, the communication source address is accessed via the network N to make a communication start request. The subsequent communication procedure is as described in §2. On the other hand, when the alternative communication is selected as the communication method, the alternative communication instruction is issued to the alternative communication processing unit 476.
 迂回通信処理部476は、§8-1で述べた実施例5における迂回通信処理部275と同様に、接続仲介装置306を介した迂回通信を行う構成要素である。すなわち、迂回通信処理部476は、通常通信(図の白抜矢印で示された通信)の失敗が予想されるときに、接続仲介装置306を介して相手方に対する間接的な情報送受を行う迂回通信を実行する。上述したとおり、失敗予想は、接続仲介装置306において行われる。通信開始要求部446が接続仲介装置306から迂回通信を選択する通信方法を受け取った場合、接続仲介装置306が失敗予想を行ったケースにあたる。この場合、通信開始要求部446から迂回通信処理部476に対して迂回通信指示が行われ、迂回通信処理部476がTCPによる迂回通信を実行する。具体的には、迂回通信処理部476は、接続仲介装置306(後述するように、その中の迂回通信中継部346)に対してTCPによる迂回通信の中継依頼を行い、接続仲介装置306を介して、相手方の迂回通信処理部476との間でのTCPによる迂回通信を実行することになる。なお、前述したように、変形例として、迂回通信を最初はUDPプロトロルで実行し、失敗した場合にTCPプロトコルに切り替える方法を採ることも可能である。 The bypass communication processing unit 476 is a component that performs bypass communication via the connection mediation device 306 in the same manner as the bypass communication processing unit 275 in the fifth embodiment described in §8-1. That is, the bypass communication processing unit 476 performs indirect information transmission / reception to / from the other party via the connection mediation device 306 when failure of normal communication (communication indicated by a white arrow in the figure) is expected. Run. As described above, failure prediction is performed in the connection mediating device 306. When the communication start request unit 446 receives a communication method for selecting bypass communication from the connection mediating device 306, this corresponds to a case in which the connection mediating device 306 has predicted failure. In this case, the communication start request unit 446 instructs the detour communication processing unit 476 to perform detour communication, and the detour communication processing unit 476 executes detour communication by TCP. Specifically, the detour communication processing unit 476 requests the connection mediation device 306 (as will be described later, in the detour communication relay unit 346 therein) to relay the detour communication by TCP, and the connection mediation device 306 Then, the bypass communication by the TCP with the bypass communication processing unit 476 of the other party is executed. As described above, as a modification, it is also possible to adopt a method in which the detour communication is first executed by the UDP protocol and switched to the TCP protocol in case of failure.
 図42は、図41に示す本発明の実施例6に係るネットワーク通信システムにおいて、通信先端末装置406Aと通信元端末装置406Bとの間の通信セッション確立の手順を示すブロック図である。図示する端末装置406A,406Bは、図41に示す端末装置406と同一の構成を有する装置であり、図8と同様に、通信元端末装置406B内の構成要素については、通信元として必要な処理を実行する構成要素(矩形ブロックの構成要素)を実線で示し、通信先端末装置406A内の構成要素については、通信先として必要な処理を実行する構成要素(二重矩形ブロックの構成要素)を実線で示すことにし、それ以外の構成要素のブロックは破線で示してある。また、実施例6に固有の構成要素である迂回通信処理部476A,476Bについては太線枠ブロックで示してある。 42 is a block diagram showing a procedure for establishing a communication session between the communication destination terminal device 406A and the communication source terminal device 406B in the network communication system according to the sixth embodiment of the present invention shown in FIG. The terminal devices 406A and 406B shown are devices having the same configuration as the terminal device 406 shown in FIG. 41, and as in FIG. 8, for the components in the communication source terminal device 406B, processing necessary as a communication source The components (components of the rectangular block) that execute the command are indicated by solid lines, and the components within the communication destination terminal device 406A are the components (components of the double rectangular block) that perform the processing necessary as the communication destination. It is indicated by a solid line, and blocks of other components are indicated by a broken line. Further, the bypass communication processing units 476A and 476B, which are components unique to the sixth embodiment, are indicated by thick line frame blocks.
 図42に示す接続仲介装置306(図41に示すもの)は、図8に示す接続仲介装置300に、迂回通信中継部346を追加するとともに、その他の構成要素であるアドレステーブル格納部310、アドレステーブル更新部320、通信先アドレス返信部330については、若干の付加機能を設けることにより、アドレステーブル格納部316、アドレステーブル更新部326、通信元アドレス送信部336としたものである。 The connection mediating device 306 (shown in FIG. 41) shown in FIG. 42 adds the detour communication relay portion 346 to the connection mediating device 300 shown in FIG. The table update unit 320 and the communication destination address return unit 330 have the address table storage unit 316, the address table update unit 326, and the communication source address transmission unit 336 by providing some additional functions.
 接続仲介装置306内の迂回通信中継部346は、第1の端末装置406Aの迂回通信処理部476Aと第2の端末装置406Bの迂回通信処理部476Bとの間での迂回通信の中継依頼があったときに、第1の端末装置406Aの迂回通信処理部476Aと第2の端末装置406Bの迂回通信処理部476Bとの間で受け渡しする情報を取り次いで迂回通信の中継を行う構成要素である。 The bypass communication relay unit 346 in the connection mediation device 306 has a relay request for bypass communication between the bypass communication processing unit 476A of the first terminal device 406A and the bypass communication processing unit 476B of the second terminal device 406B. It is a component that takes information relayed between the detour communication processing unit 476A of the first terminal device 406A and the detour communication processing unit 476B of the second terminal device 406B and relays the detour communication.
 また、接続仲介装置306内のアドレステーブル格納部316は、図38に例示したように、端末IDと所在アドレスに加えて、更に、通信プロトコルを対応づけたアドレステーブルT70を格納する機能を有する。そして、接続仲介装置306内のアドレステーブル更新部326は、アドレステーブルT70の更新を行う際に、UDPによって受信した第1回通知に基づいて更新を行う場合には、通信プロトコルとしてUDPを対応づけ、TCPによって受信した第2回通知に基づいて更新を行う場合には、通信プロトコルとしてTCPを対応づける更新を行う。 Further, as illustrated in FIG. 38, the address table storage unit 316 in the connection mediation device 306 further has a function of storing an address table T70 in which communication protocols are associated, in addition to the terminal ID and the location address. Then, when updating the address table T 70, the address table updating unit 326 in the connection mediation device 306 associates UDP as a communication protocol when updating based on the first notification received by UDP. When updating is performed based on the second notification received by TCP, the communication protocol is updated to correspond to TCP.
 一方、接続仲介装置306内の通信元アドレス送信部336は、通信元端末装置406B内の接続仲介依頼部410Bから接続仲介依頼S12が送信されてきたときに、アドレステーブルT70を参照して、接続仲介依頼S12に含まれている通信先特定情報によって特定される端末ID「0010」に対応づけられている所在アドレスAD1を通信先アドレスとして認識し、この通信先アドレスAD1に対して、接続仲介依頼S12を送信した通信元の端末装置406Bの端末ID「0020」に対応づけられている所在アドレスAD2を、通信元アドレスとして送信する(S14a)する。 On the other hand, when the connection mediation request S12 is transmitted from the connection mediation request unit 410B in the communication source terminal device 406B, the communication source address transmission unit 336 in the connection mediation device 306 refers to the address table T70 for connection. The location address AD1 associated with the terminal ID "0010" specified by the communication destination specification information included in the relay request S12 is recognized as the communication destination address, and a connection relay request is issued to the communication destination address AD1. The location address AD2 associated with the terminal ID "0020" of the terminal device 406B of the communication source that has transmitted S12 is transmitted as a communication source address (S14a).
 このとき、通信元アドレス送信部336は、アドレステーブルT70を参照して、通信元の端末装置および通信先の端末装置の通信プロトコルを確認し、両端末装置の通信プロトコルがいずれもUDPであった場合には、通信方法として通常通信を選択し、少なくとも一方の通信プロトコルがTCPであった場合には、通信方法として迂回通信を選択し、選択した通信方法を通信元アドレスと共に送信する機能を有する。 At this time, the communication source address transmission unit 336 refers to the address table T70 to confirm the communication protocol of the terminal device of the communication source and the terminal device of the communication destination, and the communication protocol of both terminal devices is UDP. In this case, it has a function of selecting normal communication as the communication method, and selecting detour communication as the communication method when at least one of the communication protocols is TCP, and transmitting the selected communication method together with the communication source address. .
 通信先端末装置406A内の通信開始要求部446Aは、通信元アドレス送信部336から「通常通信」を選択する送信があった場合、通常通信の処理を行う。具体的には、通信開始要求部446Aが、通信元アドレスAD2にアクセスしてUDPによる通信開始要求S15を行うと、相手方の通信元セッション確立部436Bから通信先セッション確立部466Aに対してUDPによる通信開始受諾確認S16が送信される。こうして、通信元セッション確立部436Bと通信先セッション確立部466Aとの間にUDPによる通信セッションが確立する。 The communication start request unit 446A in the communication destination terminal device 406A performs a process of normal communication when there is transmission for selecting “normal communication” from the communication source address transmission unit 336. Specifically, when the communication start request unit 446A accesses the communication source address AD2 and makes a communication start request S15 by UDP, the communication source session establishment unit 436B of the other party transmits to the communication destination session establishment unit 466A by UDP. Communication start acceptance confirmation S16 is transmitted. Thus, a communication session by UDP is established between the communication source session establishment unit 436B and the communication destination session establishment unit 466A.
 一方、通信元アドレス返信部336から「迂回通信」を選択する送信があった場合、通信開始要求部446Aは、迂回通信の処理を行う。すなわち、通信開始要求部446Aは、通信開始要求S15を行う代わりに、迂回通信処理部476Aに対して、迂回通信指示S15′を行う。迂回通信処理部476Aは、この迂回通信指示S15′を受けると、迂回通信中継部346に対してTCPにより迂回通信の中継依頼を行い、迂回通信中継部346を介して、相手方の迂回通信処理部476Bとの間でのTCPによる迂回通信S18aを実行する。迂回通信処理部476Aは、通信開始要求部446Aから通信元アドレスAD2を取得し、これを迂回通信中継部346に伝達して中継依頼を行う。迂回通信中継部346は、この中継依頼に応じて、TCPにより通信元アドレスAD2にアクセスし、通信元端末装置406Bの迂回通信処理部476BにTCPにより迂回通信の開始を要求する。迂回通信処理部476Bは、これを受諾する旨のTCPによる返信を迂回通信中継部346に対して行い、TCPにより迂回通信S18bを実行する。以後、迂回通信中継部346による中継により、両端末装置406A,406B間でのTCPにより迂回通信が行われる。 On the other hand, when there is a transmission from the communication source address reply unit 336 to select “detour communication”, the communication start request unit 446A performs processing of bypass communication. That is, instead of performing the communication start request S15, the communication start request unit 446A sends a bypass communication instruction S15 'to the bypass communication processing unit 476A. When the detour communication processing unit 476 A receives the detour communication instruction S 15 ′, the detour communication processing unit 476 A makes a relay request for detour communication to the detour communication relay unit 346 by TCP, and the bypass communication processing unit of the other party via the detour communication relay unit 346 A bypass communication S18a with TCP is performed with 476B. The bypass communication processing unit 476A acquires the communication source address AD2 from the communication start request unit 446A, transmits this to the bypass communication relay unit 346, and makes a relay request. In response to the relay request, the bypass communication relay unit 346 accesses the communication source address AD2 by TCP, and requests the bypass communication processing unit 476B of the communication source terminal device 406B to start bypass communication by TCP. The bypass communication processing unit 476B sends a reply by TCP to the effect of accepting the request to the bypass communication relay unit 346, and executes the bypass communication S18b by TCP. Thereafter, by the relay by the detour communication relay unit 346, detour communication is performed by TCP between the both terminal devices 406A and 406B.
 この迂回通信では、両端末装置406A,406B間の情報パケットは、すべて接続仲介装置306を介したTCPパケットとしてやりとりされることになる。したがって、両端末装置406A,406B間のルートに、UDPブロック要素が存在したとしても、両端末装置406A,406B間の迂回通信は支障なく行われる。なお、前述したように、変形例として、迂回通信を最初はUDPプロトロルで実行し、失敗した場合にTCPプロトコルに切り替える方法を採ることも可能である。 In this bypass communication, all information packets between the two terminal devices 406A and 406B are exchanged as TCP packets via the connection mediation device 306. Therefore, even if the UDP block element exists in the route between the two terminal devices 406A and 406B, the detour communication between the two terminal devices 406A and 406B is performed without any problem. As described above, as a modification, it is also possible to adopt a method in which the detour communication is first executed by the UDP protocol and switched to the TCP protocol in case of failure.
 図43は、図42のブロック図に示されている実施例6における通信セッション確立手順を時系列で説明する流れ図である。この流れ図における通常通信の手順は、§2で述べた先願発明の第2の実施形態における通信セッション確立手順を示す図9の流れ図とほぼ同じである。 FIG. 43 is a flowchart illustrating the communication session establishment procedure in the sixth embodiment illustrated in the block diagram of FIG. 42 in chronological order. The procedure of normal communication in this flowchart is substantially the same as the flowchart of FIG. 9 showing the communication session establishment procedure in the second embodiment of the prior invention described in §2.
 まず、ステップS11において、通信要求受付部420Bによる通信要求受付処理が行われ、続くステップS12において、接続仲介依頼部410Bによる接続仲介依頼が行われる。そしてステップS13において、通信元アドレス送信部336によりアドレステーブル格納部316に格納されているアドレステーブルT70の参照が行われ、ステップS14aにおいて、通信元アドレス送信部336から通信先端末装置406Aの通信開始要求部446Aに対して、通信元アドレスおよび通信方法が送信される。この送信を受けた通信開始要求部446Aは、ステップS14bにおいて、2通りの処理プロセスのいずれかを選択する。 First, in step S11, the communication request acceptance process by the communication request acceptance unit 420B is performed, and in the subsequent step S12, the connection intermediation request unit 410B performs a connection intermediation request. Then, in step S13, the communication source address transmission unit 336 refers to the address table T70 stored in the address table storage unit 316, and in step S14a, the communication source address transmission unit 336 starts communication with the communication destination terminal device 406A. The communication source address and the communication method are transmitted to the request unit 446A. In step S14b, the communication start request unit 446A that has received this transmission selects one of the two processing processes.
 まず、通信方法として「通常通信」が指示されていた場合には、ステップS15へ進む。図43の流れ図におけるステップS15~S17の手順は、図9の流れ図におけるステップS15~S17の手順と全く同じである。ただ、通常通信の通信プロトコルはUDPになる。すなわち、通信開始要求部446Aは、ステップS15において、通信元端末装置406Bに対してUDPにより通信開始要求S15を行う。通信元セッション確立部436Bは、この通信開始要求S15を受け、ステップS16において、通信先端末装置406Aに対してUDPにより通信開始受諾確認S16を送信する。そして、続くステップS17において、通信元セッション確立部436Bと通信先セッション確立部466Aとの間の通信セッションが確立され、UDPにより通常通信S17が行われる。 First, when “normal communication” is instructed as the communication method, the process proceeds to step S15. The procedure of steps S15 to S17 in the flowchart of FIG. 43 is exactly the same as the procedure of steps S15 to S17 in the flowchart of FIG. However, the communication protocol for normal communication is UDP. That is, in step S15, the communication start request unit 446A sends a communication start request S15 to the communication source terminal device 406B by UDP. The communication source session establishment unit 436B receives the communication start request S15, and transmits the communication start acceptance confirmation S16 to the communication destination terminal device 406A by UDP in step S16. Then, in the subsequent step S17, the communication session between the communication source session establishment unit 436B and the communication destination session establishment unit 466A is established, and the normal communication S17 is performed by UDP.
 一方、通信方法として「迂回通信」が指示されていた場合には、ステップS15′へ進み、通信開始要求部446Aから迂回通信処理部476Aに対して迂回通信指示が与えられる。そして続くステップS18において、迂回通信処理が実行される。すなわち、迂回通信処理部476A,476Bと迂回通信中継部346によって、TCPによる迂回通信処理が行われる(図42のS18a,S18b)。 On the other hand, when “rerouting communication” is instructed as the communication method, the process proceeds to step S15 ′, and the communication start request unit 446A gives the detour communication instruction to the detour communication processing unit 476A. Then, in the subsequent step S18, a bypass communication process is performed. That is, the bypass communication processing by TCP is performed by the bypass communication processing units 476A and 476B and the bypass communication relay unit 346 (S18a and S18b in FIG. 42).
 本発明に係るネットワーク通信システムは、パソコン、携帯電話、タブレット型端末など、インターネットに接続可能な様々な端末装置が利用されている状態において、任意の端末装置間での安定した通信を可能にする技術を提供するものであり、産業上、十分な利用可能性を有している。 The network communication system according to the present invention enables stable 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. It provides technology and has sufficient industrial availability.
100:接続仲介装置
101:実施例1の接続仲介装置
103:実施例3の接続仲介装置
105:実施例5の接続仲介装置
110:アドレステーブル格納部
113:実施例3のアドレステーブル格納部
115:実施例5のアドレステーブル格納部
120:アドレステーブル更新部
123:実施例3のアドレステーブル更新部
125:実施例5のアドレステーブル更新部
130:通信先アドレス返信部
133:実施例3の通信先アドレス返信部
135:実施例5の通信先アドレス返信部
141:実施例1の迂回通信中継部
143:実施例3の迂回通信中継部
145:実施例5の迂回通信中継部
200,200A~200K:端末装置
201H,201K:VPN通信部
201,201A,201B:実施例1の端末装置
203,203A,203B:実施例3の端末装置
205,205A,205B:実施例5の端末装置
210,210A,210B:接続仲介依頼部
220,220A,220B:通信要求受付部
230,230A,230B:通信先セッション確立部
235,235A,235B:実施例5の通信先セッション確立部
240,240A,240B:通信開始要求部
241,241A,241B:実施例1の通信開始要求部
243,243A,243B:実施例3の通信開始要求部
245,245A,245B:実施例5の通信開始要求部
250,250A,250B:自己アドレス通知部
253,253A,253B:実施例3の自己アドレス通知部
255,255A,255B:実施例5の自己アドレス通知部
260,260A,260B:通信元セッション確立部
261,261A,261B:実施例1の通信元セッション確立部
265,265A,265B:実施例5の通信元セッション確立部
271,271A,271B:実施例1の迂回通信処理部
273,273A,273B:実施例3の迂回通信処理部
275,275A,275B:実施例5の迂回通信処理部
283,283A,283B:実施例3のNATタイプ確認部
300:接続仲介装置
302:実施例2の接続仲介装置
304:実施例4の接続仲介装置
306:実施例6の接続仲介装置
310:アドレステーブル格納部
314:実施例4のアドレステーブル格納部
316:実施例6のアドレステーブル格納部
320:アドレステーブル更新部
324:実施例4のアドレステーブル更新部
326:実施例6のアドレステーブル更新部
330:通信元アドレス送信部
334:実施例4の通信元アドレス送信部
336:実施例6の通信元アドレス送信部
342:実施例2の迂回通信中継部
344:実施例4の迂回通信中継部
346:実施例6の迂回通信中継部
400,400A~400D:端末装置
402,402A,402B:実施例2の端末装置
404,404A,404B:実施例4の端末装置
406,406A,406B:実施例6の端末装置
410,410A,410B:接続仲介依頼部
420,420A,420B:通信要求受付部
430,430A,430B:通信元セッション確立部
436,436A,436B:実施例6の通信元セッション確立部
440,440A,440B:通信開始要求部
442,442A,442B:実施例2の通信開始要求部
444,444A,444B:実施例4の通信開始要求部
446,446A,446B:実施例6の通信開始要求部
450,450A,450B:自己アドレス通知部
454,454A,454B:実施例4の自己アドレス通知部
456,456A,456B:実施例6の自己アドレス通知部
460,460A,460B:通信先セッション確立部
462,462A,462B:実施例2の通信先セッション確立部
466,466A,466B:実施例6の通信先セッション確立部
472,472A,472B:実施例2の迂回通信処理部
474,474A,474B:実施例4の迂回通信処理部
476,476A,476B:実施例6の迂回通信処理部
484,484A,484B:実施例4のNATタイプ確認部
500:NATタイプ判別装置
AD1~AD7:所在アドレス
ADx,ADy,ADz:グローバルIPアドレス
APP1,APP2:アプリケーションプログラム
GIP:グローバルIPアドレス
L1~L4:ブロック間の信号の流れを示す矢印
N:ネットワーク(インターネット)
P1~P21:ポート番号
PIP:プライベートIPアドレス
R,R1,R2,RA,RB:ルータ
S1~S54:流れ図の各ステップ
T,T1~T3,T41,T42,T51,T52,T60,T70:アドレステーブル
100: connection mediation device 101: connection mediation device 103 of the first embodiment: connection mediation device 105 of the third embodiment: connection mediation device 110 of the fifth embodiment: address table storage unit 113: address table storage unit 115 of the third embodiment Address table storage unit 120 of the fifth embodiment: address table update unit 123: address table update unit 125 of the third embodiment: address table update unit 130 of the fifth embodiment: communication destination address reply unit 133: communication destination address of the third embodiment Reply unit 135: communication destination address reply unit 141 of the fifth embodiment: bypass communication relay unit 143 of the first embodiment: bypass communication relay unit 145 of the third embodiment: bypass communication relay units 200, 200A to 200K of the fifth embodiment: terminal Devices 201H, 201K: VPN communication units 201, 201A, 201B: terminal devices 203, 203A, 20 of the first embodiment B: terminal devices 205, 205A, 205B of the third embodiment: terminal devices 210, 210A, 210B of the fifth embodiment: connection mediation request units 220, 220A, 220B: communication request receiving units 230, 230A, 230B: communication destination session establishment Sections 235, 235A, 235B: communication destination session establishment units 240, 240A, 240B of the fifth embodiment: communication start request units 241, 241A, 241B: communication start request units 243, 243A, 243B of the first embodiment: third embodiment Communication start request units 245, 245A, 245B: communication start request units 250, 250A, 250B of the fifth embodiment: self address notification units 253, 253A, 253B: self address notification units 255, 255A, 255B of the third embodiment: embodiment Self address notification unit 260, 260A, 260B: communication source session confirmation Sections 261, 261A, 261B: communication source session establishment units 265, 265A, 265B of the first embodiment: communication source session establishment units 271, 271A, 271B of the fifth embodiment: bypass communication processing units 273, 273A, 273B of the first embodiment The detour communication processing units 275, 275A, 275B of the third embodiment: The detour communication processing units 283, 283A, 283B of the fifth embodiment: NAT type confirmation unit 300 of the third embodiment: connection mediating device 302: connection mediation of the second embodiment Device 304: Connection mediating device 306 of the fourth embodiment: Connection mediating device 310 of the sixth embodiment: Address table storage unit 314: Address table storage unit 316 of the fourth embodiment: Address table storage unit 320 of the sixth embodiment: Address table update Unit 324: Address table update unit 326 of the fourth embodiment: Address table update unit 3 of the sixth embodiment 30: communication source address transmission unit 334: communication source address transmission unit 336 of the fourth embodiment: communication source address transmission unit 342 of the sixth embodiment: bypass communication relay unit 344 of the second embodiment: bypass communication relay unit 346 of the fourth embodiment : Detour communication relay units 400 and 400A to 400D of the sixth embodiment: terminal devices 402 and 402A and 402B: terminal devices 404 and 404A and 404B of the second embodiment: terminal devices 406 and 406A and 406B of the fourth embodiment: sixth embodiment Terminal devices 410, 410A, 410B: connection mediation request units 420, 420A, 420B: communication request reception units 430, 430A, 430B: communication source session establishment units 436, 436A, 436B: communication source session establishment unit 440 of the sixth embodiment , 440A, 440B: communication start request units 442, 442A, 442B: communication start request unit 444 of the second embodiment. 444A, 444B: communication start request units 446, 446A, 446B of the fourth embodiment: communication start request units 450, 450A, 450B of the sixth embodiment: self address notification units 454, 454A, 454B: self address notification unit of the fourth embodiment 456, 456A, 456B: self address notifying unit 460, 460A, 460B of the sixth embodiment: communication destination session establishing unit 462, 462A, 462B: communication destination session establishing unit 466, 466A, 466B of the second embodiment: sixth embodiment Communication destination session establishment units 472, 472 A, 472 B: bypass communication processing units 474, 474 A, 474 B of the second embodiment: bypass communication processing units 476, 476 A, 476 B of the fourth embodiment: bypass communication processing units 484, 484 A of the sixth embodiment , 484 B: NAT type confirmation unit 500 of the fourth embodiment: NAT type discrimination device D1 ~ AD7: address where ADx, ADy, ADz: global IP address APP1, APP2: application program GIP: Global IP address L1 ~ L4: arrow N indicates a flow of signals between blocks: Network (Internet)
P1 to P21: Port number PIP: Private IP address R, R1, R2, RA, RB: Routers S1 to S54: Steps T, T1 to T3, T41, T42, T51, T52, T60, T70: Address table of the flow chart

Claims (18)

  1.  ネットワーク(N)を介して相互に接続可能な複数の端末装置(201,203,205)と、前記複数の端末装置間の接続を仲介する接続仲介装置(101,103,105)と、を備えたネットワーク通信システムであって、
     前記複数の端末装置(201,203,205)には、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、前記接続仲介装置(101,103,105)は、前記端末IDを利用して通信元となる端末装置(201A,203A,205A)と通信先となる端末装置(201B,203B,205B)との間の接続を仲介する処理を実行し、
     前記複数の端末装置(201,203,205)のそれぞれは、
     自己のネットワーク上での所在を示す所在アドレスを、前記接続仲介装置(101,103,105)に対して通知する自己アドレス通知部(250,253,255)と、
     自己(201A,203A,205A)を通信元として、通信先の別な端末装置(201B,203B,205B)に対する通信要求(S1)を受け付ける通信要求受付部(220A)と、
     前記通信要求受付部(220A)によって前記通信要求(S1)が受け付けられたときに、前記接続仲介装置(101,103,105)に対して、前記通信先の別な端末装置(201B,203B,205B)の端末ID(0020)を特定するための通信先特定情報を含む接続仲介依頼(S2)を送信する接続仲介依頼部(210A)と、
     前記接続仲介依頼(S2)に応じて、前記接続仲介装置(101,103,105)から、前記通信先の別な端末装置(201B,203B,205B)のネットワーク上での所在を示す通信先アドレス(AD2)が返信されてきたときに、ネットワーク(N)を介して、前記通信先アドレス(AD2)にアクセスして通信開始要求(S5)を行う通信開始要求部(241A,243A,245A)と、
     前記通信開始要求(S5)に応じて、前記通信先の別な端末装置(201B,203B,205B)から、通信開始受諾確認(S6)が返信されてきたら、前記通信先の別な端末装置(201B,203B,205B)との間に通信セッションを確立して通信(S7)を開始する通信元セッション確立部(260A,261A,265A)と、
     通信元の別な端末装置(201A,203A,205A)から、自己を通信先とする通信開始要求(S5)がなされたら、前記通信元の別な端末装置(201A,203A,205A)に対して通信開始受諾確認(S6)を送信し、前記通信元の別な端末装置(201A,203A,205A)との間に通信セッションを確立して通信(S7)を開始する通信先セッション確立部(230B,235B)と、
     前記通信元セッション確立部(260A,261A,265A)と前記通信先セッション確立部(230B,235B)との間に通信セッションを確立して相手方に対する直接的な情報送受を行う通常通信に失敗したとき、もしくは失敗が予想されるときに、前記接続仲介装置(101,103,105)を介して相手方に対する間接的な情報送受を行う迂回通信を実行する迂回通信処理部(271,273,275)と、
     を有し、
     前記接続仲介装置(101,103,105)は、
     前記端末装置(201,203,205)のそれぞれについて、前記端末IDと前記所在アドレスとを対応づけたアドレステーブル(T,T60,T70)を格納するアドレステーブル格納部(110,113,115)と、
     前記端末装置(201,203,205)の前記自己アドレス通知部(250,253,255)からの通知に基づいて、前記アドレステーブル(T,T60,T70)の内容を更新するアドレステーブル更新部(120,123,125)と、
     前記端末装置(201A,203A,205A)の前記接続仲介依頼部(210A)から、前記接続仲介依頼(S2)が送信されてきたときに、前記アドレステーブル(T,T60,T70)を参照して、前記接続仲介依頼(S2)に含まれている通信先特定情報によって特定される端末ID(0020)に対応づけられている所在アドレス(AD2)を通信先アドレスとして返信する通信先アドレス返信部(130,133,135)と、
     第1の端末装置の迂回通信処理部(271,273,275)と第2の端末装置の迂回通信処理部(271,273,275)との間での迂回通信の中継依頼があったときに、前記第1の端末装置の迂回通信処理部と第2の端末装置の迂回通信処理部との間で受け渡しする情報を取り次いで迂回通信の中継を行う迂回通信中継部(141,143,145)と、
     を有することを特徴とするネットワーク通信システム。
    A plurality of terminal devices (201, 203, 205) mutually connectable via a network (N), and a connection mediation device (101, 103, 105) that mediates connection between the plurality of terminal devices Network communication system, and
    Each of the plurality of terminal devices (201, 203, 205) is provided with a terminal ID for mutually identifying each terminal device, and the connection mediating device (101, 103, 105) is the terminal Execute processing for mediating connection between the terminal device (201A, 203A, 205A) as the communication source and the terminal device (201B, 203B, 205B) as the communication destination using the ID,
    Each of the plurality of terminal devices (201, 203, 205)
    A self address notifying unit (250, 253, 255) for notifying the connection mediating device (101, 103, 105) of a location address indicating the location of the self on the network;
    A communication request accepting unit (220A) that receives a communication request (S1) for another terminal apparatus (201B, 203B, 205B) that is the communication destination with the own (201A, 203A, 205A) as the communication source;
    When the communication request receiving unit (220A) receives the communication request (S1), another terminal device (201B, 203B, etc.) of the communication destination with respect to the connection mediation device (101, 103, 105) A connection mediation request unit (210A) for transmitting a connection mediation request (S2) including communication destination specification information for specifying the terminal ID (0020) of 205B);
    In accordance with the connection mediation request (S2), a communication destination address indicating the location of another terminal device (201B, 203B, 205B) of the communication destination on the network from the connection mediation device (101, 103, 105) And a communication start request unit (241A, 243A, 245A) that makes a communication start request (S5) by accessing the communication destination address (AD2) via the network (N) when (AD2) is returned. ,
    When a communication start acceptance confirmation (S6) is returned from another terminal device (201B, 203B, 205B) of the communication destination in response to the communication start request (S5), the other terminal device of the communication destination ((5B) Communication source session establishing units (260A, 261A, 265A) that establish communication sessions with 201B, 203B, 205B and start communication (S7);
    When another terminal apparatus (201A, 203A, 205A) of the communication source makes a communication start request (S5) with the self as a communication destination, for the other terminal apparatus (201A, 203A, 205A) of the communication source Communication destination session establishment unit (230B) which transmits a communication start acceptance confirmation (S6), establishes a communication session with another terminal apparatus (201A, 203A, 205A) of the communication source and starts communication (S7) , 235 B),
    When a communication session is established between the communication source session establishment unit (260A, 261A, 265A) and the communication destination session establishment unit (230B, 235B), and normal communication for directly transmitting and receiving information to the other party fails And a detour communication processing unit (271, 273, 275) that executes detour communication to perform indirect information exchange with the other party via the connection mediation device (101, 103, 105) when a failure is predicted. ,
    Have
    The connection mediating device (101, 103, 105)
    An address table storage unit (110, 113, 115) for storing an address table (T, T60, T70) in which the terminal ID and the location address are associated with each of the terminal devices (201, 203, 205); ,
    Address table updating unit (updating the contents of the address table (T, T60, T70) based on the notification from the self address notifying unit (250, 253, 255) of the terminal device (201, 203, 205) 120, 123, 125),
    When the connection mediation request (S2) is transmitted from the connection mediation request unit (210A) of the terminal device (201A, 203A, 205A), referring to the address table (T, T60, T70) A communication destination address replying unit (A) that returns, as a communication destination address, the location address (AD2) associated with the terminal ID (0020) specified by the communication destination identification information included in the connection mediation request (S2); 130, 133, 135),
    When a relay request for bypass communication is made between the bypass communication processing unit (271, 273, 275) of the first terminal device and the bypass communication processing unit (271, 273, 275) of the second terminal device A bypass communication relay unit (141, 143, 145) which takes information passed between the bypass communication processing unit of the first terminal apparatus and the bypass communication processing unit of the second terminal apparatus and relays the bypass communication; When,
    A network communication system characterized by having:
  2.  請求項1に記載のネットワーク通信システムにおいて、
     通信開始要求部(241A)が通信開始要求(S5)を行った後、これに応じた通信開始受諾確認(S6)が所定のタイムアウト設定時間内に返信されてこなかった場合に、迂回通信処理部(271A)が、迂回通信中継部(141)に対して迂回通信の中継依頼を行い、前記迂回通信中継部(141)を介して、相手方の迂回通信処理部(271B)との間での迂回通信を実行することを特徴とするネットワーク通信システム。
    In the network communication system according to claim 1,
    After the communication start request unit (241A) makes a communication start request (S5), if the communication start acceptance confirmation (S6) according to this is not returned within the predetermined timeout setting time, the bypass communication processing unit (271A) requests the bypass communication relay unit (141) to relay the bypass communication, and the bypass with the other party's bypass communication processing unit (271B) via the bypass communication relay unit (141) A network communication system for performing communication.
  3.  請求項1に記載のネットワーク通信システムにおいて、
     通信開始要求部(241A)が行った通信開始要求(S5)に対してアクノレッジが得られなかった場合に、迂回通信処理部(271A)が、迂回通信中継部(141)に対して迂回通信の中継依頼を行い、前記迂回通信中継部(141)を介して、相手方の迂回通信処理部(271B)との間での迂回通信を実行することを特徴とするネットワーク通信システム。
    In the network communication system according to claim 1,
    When no acknowledgment is obtained for the communication start request (S5) made by the communication start request unit (241A), the bypass communication processing unit (271A) transmits the bypass communication to the bypass communication relay unit (141). A network communication system characterized by making a relay request and executing bypass communication with the other party's bypass communication processing unit (271B) via the bypass communication relay unit (141).
  4.  請求項1に記載のネットワーク通信システムにおいて、
     複数の端末装置(203)のそれぞれが、ネットワーク(N)を介してNATタイプ判別装置(500)に対して自己のNATタイプを照会し、前記NATタイプ判別装置からの回答を得るNATタイプ確認部(283)を更に備え、
     自己アドレス通知部(253)が、接続仲介装置(103)に対して自己の所在アドレスを通知する際に、前記NATタイプ確認部(283)が得た回答を併せて通知し、
     接続仲介装置(103)内のアドレステーブル格納部(113)が、端末IDと所在アドレスに加えて、更に、NATタイプを対応づけたアドレステーブル(T60)を格納する機能を有し、
     接続仲介装置(103)内のアドレステーブル更新部(123)が、前記自己アドレス通知部(253)からの通知に含まれる前記回答に基づいて、前記アドレステーブル(T60)内のNATタイプの更新を行う機能を有し、
     接続仲介装置(103)内の通信先アドレス返信部(133)が、接続仲介依頼(S2)の送信を受けたときに、前記アドレステーブル(T60)を参照して通信先の端末装置のNATタイプが「外部から当該通信先の端末装置宛に送信されてきたパケットについては、当該通信先の端末装置からのパケットを受け取ったことがある外部ホストからのパケットのみを通すという制限の下でアドレス変換を行う関所型NAT」であるか否かを確認し、通信先の端末装置のNATタイプが関所型NATではなかった場合には、通信方法として通常通信を選択し、通信先の端末装置のNATタイプが関所型NATであった場合には、通信方法として迂回通信を選択し、選択した通信方法を通信先アドレスと共に返信する機能を有し、
     通信開始要求部(243A)が、前記接続仲介装置(103)から通信先アドレス(AD2)と共に通信方法が返信されてきたときに、通信方法として通常通信が選択されていた場合には、ネットワーク(N)を介して、前記通信先アドレス(AD2)にアクセスして通信開始要求(S5)を行い、通信方法として迂回通信が選択されていた場合には、迂回通信処理部(273A)に対して迂回通信指示(S5′)を行うことを特徴とするネットワーク通信システム。
    In the network communication system according to claim 1,
    Each of the plurality of terminal devices (203) inquires its own NAT type to the NAT type discrimination device (500) via the network (N), and obtains a response from the NAT type discrimination device. (283), and
    When the self address notifying unit (253) notifies the connection mediating apparatus (103) of its own location address, the self address notifying unit (253) additionally notifies the answer obtained by the NAT type confirmation unit (283).
    In addition to the terminal ID and the location address, the address table storage unit (113) in the connection mediation device (103) further has a function of storing an address table (T60) in which the NAT type is associated,
    The address table updating unit (123) in the connection mediating apparatus (103) updates the NAT type in the address table (T60) based on the answer contained in the notification from the self address notifying unit (253). Have the ability to
    When the communication destination address reply part (133) in the connection mediation device (103) receives the transmission of the connection mediation request (S2), it refers to the address table (T60) and the NAT type of the terminal device of the communication destination “For packets sent from the outside to the terminal device of the communication destination, address conversion is performed under the restriction that only packets from the external host that have received packets from the terminal device of the communication destination will be passed Check if the terminal type of the communication destination is not a gateway type NAT, select normal communication as the communication method, and NAT of the terminal of the communication destination When the type is a gateway NAT, it has a function of selecting a bypass communication as the communication method and returning the selected communication method together with the communication destination address,
    When the communication start request unit (243A) returns a communication method together with the communication destination address (AD2) from the connection mediation device (103), the network (if normal communication is selected as the communication method) N) The communication destination address (AD2) is accessed via the N) to make a communication start request (S5), and when detour communication is selected as the communication method, the detour communication processing unit (273A) is sent A network communication system characterized by performing a bypass communication instruction (S5 ').
  5.  請求項4に記載のネットワーク通信システムにおいて、
     自己アドレス通知部(253)が、接続仲介装置(103)に対して自己の所在アドレスを通知する際に、NATタイプ確認部(283)に対してNATタイプ確認指示(S31)を出し、
     前記NATタイプ確認部(283)が、前記NATタイプ確認指示を受けたときに、NATタイプ判別装置(500)に対して自己のNATタイプを照会(S32)し、得られた回答(S33)を前記自己アドレス通知部(253)に報告(S34)し、
     前記自己アドレス通知部(253)が、前記報告に基づいて前記回答を接続仲介装置(103)に対して通知(S35)することを特徴とするネットワーク通信システム。
    In the network communication system according to claim 4,
    When the self address notifying unit (253) notifies the connection intermediation apparatus (103) of its own location address, it issues a NAT type confirmation instruction (S31) to the NAT type confirmation unit (283),
    When the NAT type confirmation unit (283) receives the NAT type confirmation instruction, the NAT type determination unit (500) inquires for its own NAT type (S32), and the obtained answer (S33) Report to the self address notification unit (253) (S34),
    A network communication system characterized in that the self address notifying unit (253) notifies (S35) the response to the connection mediating apparatus (103) based on the report.
  6.  請求項1に記載のネットワーク通信システムにおいて、
     自己アドレス通知部(255)が、接続仲介装置(105)に対して自己の所在アドレスを通知する際に、まず、通信プロトコルとしてUDPを用いた第1回通知(S51)を行い、当該第1回通知に失敗した場合には、続いて、通信プロトコルとしてTCPを用いた第2回通知(S53)を行い、
     接続仲介装置(105)内のアドレステーブル格納部(115)が、端末IDと所在アドレスに加えて、更に、通信プロトコルを対応づけたアドレステーブル(T70)を格納する機能を有し、
     接続仲介装置(105)内のアドレステーブル更新部(125)が更新を行う際(S54)に、前記第1回通知に基づいて更新を行う場合には、通信プロトコルとしてUDPを対応づけ、前記第2回通知に基づいて更新を行う場合には、通信プロトコルとしてTCPを対応づけ、
     接続仲介装置(105)内の通信先アドレス返信部(135)が、接続仲介依頼(S2)が送信されてきたときに、前記アドレステーブル(T70)を参照して、通信元の端末装置および通信先の端末装置の通信プロトコルを確認し、両端末装置の通信プロトコルがいずれもUDPであった場合には、通信方法として通常通信を選択し、少なくとも一方の通信プロトコルがTCPであった場合には、通信方法として迂回通信を選択し、選択した通信方法を通信先アドレスと共に返信する機能を有し、
     通信開始要求部(245A)が、前記接続仲介装置(105)から通信先アドレス(AD2)と共に通信方法が返信されてきたときに、通信方法として通常通信が選択されていた場合には、前記通信先アドレス(AD2)に対して通信プロトコルUDPを用いたアクセスにより通信開始要求(S5)を行い、通信方法として迂回通信が選択されていた場合には、迂回通信処理部(275A)に対して迂回通信指示(S5′)を行い、
     通信方法として通常通信が選択されていた場合には、通信元セッション確立部(265A)と通信先セッション確立部(235B)との間で、通信プロトコルUDPを用いた通常通信(S7)を実行し、通信方法として迂回通信が選択されていた場合には、通信元の迂回通信処理部(275A)と通信先の迂回通信処理部(275B)との間で、通信プロトコルTCPを用いて、接続仲介装置(105)を介した迂回通信を実行することを特徴とするネットワーク通信システム。
    In the network communication system according to claim 1,
    When the self address notifying unit (255) notifies the connection intermediation device (105) of its own location address, first, it performs a first notification (S51) using UDP as a communication protocol, and When the notification of the number of times fails, the second notification (S53) using TCP as the communication protocol is subsequently performed.
    In addition to the terminal ID and the location address, the address table storage unit (115) in the connection mediation device (105) further has a function of storing an address table (T70) in which communication protocols are associated,
    When the address table update unit (125) in the connection mediation device (105) performs the update (S54), in the case of performing the update based on the first notification, the UDP is associated as a communication protocol, and If updating is performed based on the notification twice, TCP is associated as a communication protocol,
    The communication destination address reply unit (135) in the connection mediation device (105) refers to the address table (T70) when the connection mediation request (S2) is sent, and the communication source terminal device and communication If the communication protocol of the previous terminal device is confirmed and the communication protocols of both terminal devices are both UDP, normal communication is selected as the communication method, and at least one of the communication protocols is TCP. Selecting a bypass communication as the communication method and returning the selected communication method together with the communication destination address,
    When the communication start request unit (245A) receives a communication method from the connection mediation device (105) together with the communication destination address (AD2), the communication is selected when the normal communication is selected as the communication method. When the communication start request (S5) is issued to the destination address (AD2) by access using the communication protocol UDP, and the detour communication is selected as the communication method, the detour communication processing unit (275A) detours Make a communication instruction (S5 '),
    When normal communication is selected as the communication method, normal communication (S7) using the communication protocol UDP is executed between the communication source session establishment unit (265A) and the communication destination session establishment unit (235B). When detour communication is selected as the communication method, connection mediation is performed using communication protocol TCP between the detour communication processing unit (275A) of the communication source and the detour communication processing unit (275B) of the communication destination. A network communication system characterized by performing bypass communication via a device (105).
  7.  ネットワーク(N)を介して相互に接続可能な複数の端末装置(402,404,406)と、前記複数の端末装置間の接続を仲介する接続仲介装置(302,304,306)と、を備えたネットワーク通信システムであって、
     前記複数の端末装置(402,404,406)には、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、前記接続仲介装置(302,304,306)は、前記端末IDを利用して通信元となる端末装置(402B,404B,406B)と通信先となる端末装置(402A,404A,406A)との間の接続を仲介する処理を実行し、
     前記複数の端末装置(402,404,406)のそれぞれは、
     自己のネットワーク上での所在を示す所在アドレスを、前記接続仲介装置(302,304,306)に対して通知する自己アドレス通知部(450,454,456)と、
     自己(402B,404B,406B)を通信元として、通信先の別な端末装置(402A,404A,406A)に対する通信要求(S11)を受け付ける通信要求受付部(420B)と、
     前記通信要求受付部(420B)によって前記通信要求(S11)が受け付けられたときに、前記接続仲介装置(302,304,306)に対して、前記通信先の別な端末装置(402A,404A,406A)の端末ID(0010)を特定するための通信先特定情報を含む接続仲介依頼(S12)を送信する接続仲介依頼部(410B)と、
     前記接続仲介装置(302,304,306)から、通信元の別な端末装置(402B,404B,406B)のネットワーク上での所在を示す通信元アドレス(AD2)が送信されてきたときに、ネットワーク(N)を介して、前記通信元アドレス(AD2)にアクセスして通信開始要求(S15)を行う通信開始要求部(442A,444A,446A)と、
     前記通信開始要求(S15)に応じて、前記通信元の別な端末装置(402B,404B,406B)から、通信開始受諾確認(S16)が返信されてきたら、前記通信元の別な端末装置(402B,404B,406B)との間に通信セッションを確立して通信(S17)を開始する通信先セッション確立部(460A,462A,466A)と、
     前記通信先の別な端末装置(402A,404A,406A)から、自己(402B,404B,406B)を通信元とする通信開始要求(S15)がなされたら、前記通信先の別な端末装置(402A,404A,406A)に対して通信開始受諾確認(S16)を送信し、前記通信先の別な端末装置(402A,404A,406A)との間に通信セッションを確立して通信(S17)を開始する通信元セッション確立部(430B,436B)と、
     前記通信元セッション確立部(430B,436B)と前記通信先セッション確立部(460A,462A,466A)との間に通信セッションを確立して相手方に対する直接的な情報送受を行う通常通信に失敗したとき、もしくは失敗が予想されるときに、前記接続仲介装置(302,304,306)を介して相手方に対する間接的な情報送受を行う迂回通信を実行する迂回通信処理部(472,474,476)と、
     を有し、
     前記接続仲介装置(302,304,306)は、
     前記端末装置(402,404,406)のそれぞれについて、前記端末IDと前記所在アドレスとを対応づけたアドレステーブル(T,T60,T70)を格納するアドレステーブル格納部(310,314,316)と、
     前記端末装置(402,404,406)の前記自己アドレス通知部(450,454,456)からの通知に基づいて、前記アドレステーブル(T,T60,T70)の内容を更新するアドレステーブル更新部(320,324,326)と、
     前記端末装置(402B,404B,406B)の前記接続仲介依頼部(410B)から、前記接続仲介依頼(S12)が送信されてきたときに、前記アドレステーブル(T,T60,T70)を参照して、前記接続仲介依頼(S12)に含まれている通信先特定情報によって特定される端末ID(0010)に対応づけられている所在アドレス(AD1)に対して、前記接続仲介依頼(S12)を送信した通信元の端末装置(402B,404B,406B)の端末ID(0020)に対応づけられている所在アドレス(AD2)を通信元アドレスとして送信する通信元アドレス送信部(330,334,336)と、
     第1の端末装置の迂回通信処理部(472,474,476)と第2の端末装置の迂回通信処理部(472,474,476)との間での迂回通信の中継依頼があったときに、前記第1の端末装置の迂回通信処理部と第2の端末装置の迂回通信処理部との間で受け渡しする情報を取り次いで迂回通信の中継を行う迂回通信中継部(342,344,346)と、
     を有することを特徴とするネットワーク通信システム。
    A plurality of terminal devices (402, 404, 406) mutually connectable via a network (N), and a connection mediation device (302, 304, 306) that mediates connection between the plurality of terminal devices Network communication system, and
    Each of the plurality of terminal devices (402, 404, 406) is provided with a terminal ID for identifying the respective terminal devices from one another, and the connection mediating device (302, 304, 306) is the terminal Execute processing for mediating connection between the terminal apparatus (402B, 404B, 406B) as the communication source and the terminal apparatus (402A, 404A, 406A) as the communication destination using the ID,
    Each of the plurality of terminal devices (402, 404, 406)
    A self address notification unit (450, 454, 456) for notifying the connection mediating device (302, 304, 306) of a location address indicating the location of the self on the network;
    A communication request accepting unit (420B) that accepts a communication request (S11) for another terminal apparatus (402A, 404A, 406A) that is the communication destination with the own (402B, 404B, 406B) as the communication source;
    When the communication request receiving unit (420B) receives the communication request (S11), another terminal device (402A, 404A,) of the communication destination with respect to the connection mediation device (302, 304, 306) A connection mediation request unit (410B) for transmitting a connection mediation request (S12) including communication destination specification information for specifying the terminal ID (0010) of 406A);
    When the communication source address (AD2) indicating the location of another terminal device (402B, 404B, 406B) of the communication source on the network is transmitted from the connection mediation device (302, 304, 306), the network A communication start request unit (442A, 444A, 446A) that makes a communication start request (S15) by accessing the communication source address (AD2) via (N);
    When another terminal apparatus (402B, 404B, 406B) of the communication source returns a communication start acceptance confirmation (S16) in response to the communication start request (S15), the other terminal apparatus of the communication source (S15) A communication destination session establishment unit (460A, 462A, 466A) which establishes a communication session with 402B, 404B, 406B and starts communication (S17);
    If another terminal apparatus (402A, 404A, 406A) at the communication destination makes a communication start request (S15) with the own (402B, 404B, 406B) as the communication source, the other terminal apparatus (402A) at the communication destination , 404A, 406A) and transmits a communication session with another terminal device (402A, 404A, 406A) to start communication (S17). Communication source session establishing unit (430B, 436B),
    When a communication session is established between the communication source session establishment unit (430B, 436B) and the communication destination session establishment unit (460A, 462A, 466A) and normal communication fails to transmit and receive information directly to the other party And a detour communication processing unit (472, 474, 476) that executes detour communication for indirectly transmitting and receiving information to the other party via the connection mediation device (302, 304, 306) when a failure is predicted. ,
    Have
    The connection mediating device (302, 304, 306)
    An address table storage unit (310, 314, 316) for storing an address table (T, T60, T70) in which the terminal ID and the location address are associated with each of the terminal devices (402, 404, 406); ,
    Address table updating unit (updating the contents of the address table (T, T60, T70) based on the notification from the self address notifying unit (450, 454, 456) of the terminal device (402, 404, 406) 320, 324, 326),
    When the connection mediation request (S12) is transmitted from the connection mediation request unit (410B) of the terminal device (402B, 404B, 406B), the address table (T, T60, T70) is referred to. Transmitting the connection mediation request (S12) to the location address (AD1) associated with the terminal ID (0010) specified by the communication destination specification information included in the connection mediation request (S12) A communication source address transmission unit (330, 334, 336) for transmitting, as a communication source address, the location address (AD2) associated with the terminal ID (0020) of the terminal device (402B, 404B, 406B) of the communication source ,
    When there is a relay request for bypass communication between the bypass communication processing unit (472, 474, 476) of the first terminal device and the bypass communication processing unit (472, 474, 476) of the second terminal device A detour communication relaying unit (342, 344, 346) which takes information passed between the detour communication processing unit of the first terminal device and the detour communication processing unit of the second terminal device and relays detour communication; When,
    A network communication system characterized by having:
  8.  請求項7に記載のネットワーク通信システムにおいて、
     通信開始要求部(442A)が通信開始要求(S15)を行った後、これに応じた通信開始受諾確認(S16)が所定のタイムアウト設定時間内に返信されてこなかった場合に、迂回通信処理部(472A)が、迂回通信中継部(342)に対して迂回通信の中継依頼を行い、前記迂回通信中継部(342)を介して、相手方の迂回通信処理部(472B)との間での迂回通信を実行することを特徴とするネットワーク通信システム。
    In the network communication system according to claim 7,
    After the communication start request unit (442A) makes a communication start request (S15), if the communication start acceptance confirmation (S16) according to this is not returned within the predetermined timeout setting time, the bypass communication processing unit (472A) requests the bypass communication relay unit (342) to relay the bypass communication, and the bypass with the other party's bypass communication processing unit (472B) via the bypass communication relay unit (342) A network communication system for performing communication.
  9.  請求項7に記載のネットワーク通信システムにおいて、
     通信開始要求部(442A)が行った通信開始要求(S15)に対してアクノレッジが得られなかった場合に、迂回通信処理部(472A)が、迂回通信中継部(342)に対して迂回通信の中継依頼を行い、前記迂回通信中継部(342)を介して、相手方の迂回通信処理部(472B)との間での迂回通信を実行することを特徴とするネットワーク通信システム。
    In the network communication system according to claim 7,
    When no acknowledgment is obtained for the communication start request (S15) made by the communication start request unit (442A), the bypass communication processing unit (472A) transmits the bypass communication to the bypass communication relay unit (342). A network communication system characterized by making a relay request and performing bypass communication with the other party's bypass communication processing unit (472B) via the bypass communication relay unit (342).
  10.  請求項7に記載のネットワーク通信システムにおいて、
     複数の端末装置(404)のそれぞれが、ネットワーク(N)を介してNATタイプ判別装置(500)に対して自己のNATタイプを照会し、前記NATタイプ判別装置からの回答を得るNATタイプ確認部(484)を更に備え、
     自己アドレス通知部(454)が、接続仲介装置(304)に対して自己の所在アドレスを通知する際に、前記NATタイプ確認部(484)が得た回答を併せて通知し、
     接続仲介装置(304)内のアドレステーブル格納部(314)が、端末IDと所在アドレスに加えて、更に、NATタイプを対応づけたアドレステーブル(T60)を格納する機能を有し、
     接続仲介装置(304)内のアドレステーブル更新部(324)が、前記自己アドレス通知部(454)からの通知に含まれる前記回答に基づいて、前記アドレステーブル(T60)内のNATタイプの更新を行う機能を有し、
     接続仲介装置(304)内の通信元アドレス送信部(334)が、接続仲介依頼(S12)の送信を受けたときに、前記アドレステーブル(T60)を参照して通信元の端末装置のNATタイプが「外部から当該通信元の端末装置宛に送信されてきたパケットについては、当該通信元の端末装置からのパケットを受け取ったことがある外部ホストからのパケットのみを通すという制限の下でアドレス変換を行う関所型NAT」であるか否かを確認し、通信元の端末装置のNATタイプが関所型NATではなかった場合には、通信方法として通常通信を選択し、通信元の端末装置のNATタイプが関所型NATであった場合には、通信方法として迂回通信を選択し、選択した通信方法を通信先アドレスと共に返信する機能を有し、
     通信開始要求部(444A)が、前記接続仲介装置(304)から通信元アドレス(AD2)と共に通信方法が返信されてきたときに、通信方法として通常通信が選択されていた場合には、ネットワーク(N)を介して、前記通信元アドレス(AD2)にアクセスして通信開始要求(S15)を行い、通信方法として迂回通信が選択されていた場合には、迂回通信処理部(474A)に対して迂回通信指示(S15′)を行うことを特徴とするネットワーク通信システム。
    In the network communication system according to claim 7,
    A NAT type confirmation unit that each of a plurality of terminal devices (404) inquires its own NAT type to the NAT type discrimination device (500) via the network (N), and obtains a response from the NAT type discrimination device (484), and
    When the self address notifying unit (454) notifies the connection intermediation apparatus (304) of its own location address, the self address notifying unit (454) additionally notifies the answer obtained by the NAT type confirmation unit (484).
    In addition to the terminal ID and the location address, the address table storage unit (314) in the connection mediation device (304) further has a function of storing an address table (T60) in which the NAT type is associated,
    The address table updating unit (324) in the connection mediating apparatus (304) updates the NAT type in the address table (T60) based on the answer contained in the notification from the self address notifying unit (454). Have the ability to
    When the communication source address transmission unit (334) in the connection mediation device (304) receives the transmission of the connection mediation request (S12), the NAT type of the terminal device of the communication source with reference to the address table (T60) “For packets sent to the terminal device of the communication source from the outside, address conversion is performed under the restriction that only packets from the external host that have received packets from the terminal device of the communication source are passed Check if the terminal type of the communication source is not a gateway type NAT, select normal communication as the communication method, and NAT of the terminal of the communication source When the type is a gateway NAT, it has a function of selecting a bypass communication as the communication method and returning the selected communication method together with the communication destination address,
    When the communication start request unit (444A) receives a communication method from the connection mediation device (304) together with the communication source address (AD2), the network (if normal communication is selected as the communication method) N) The communication source address (AD2) is accessed via the N) to make a communication start request (S15), and when detour communication is selected as the communication method, the detour communication processing unit (474A) is sent A network communication system characterized by performing a bypass communication instruction (S15 ').
  11.  請求項10に記載のネットワーク通信システムにおいて、
     自己アドレス通知部(454)が、接続仲介装置(304)に対して自己の所在アドレスを通知する際に、NATタイプ確認部(484)に対してNATタイプ確認指示(S31)を出し、
     前記NATタイプ確認部(484)が、前記NATタイプ確認指示を受けたときに、NATタイプ判別装置(500)に対して自己のNATタイプを照会(S32)し、得られた回答(S33)を前記自己アドレス通知部(454)に報告(S34)し、
     前記自己アドレス通知部(454)が、前記報告に基づいて前記回答を接続仲介装置(304)に対して通知(S35)することを特徴とするネットワーク通信システム。
    In the network communication system according to claim 10,
    When the self address notifying unit (454) notifies the connection intermediation device (304) of its own location address, it issues a NAT type confirmation instruction (S31) to the NAT type confirmation unit (484),
    When the NAT type confirmation unit (484) receives the NAT type confirmation instruction, the NAT type determination unit (500) inquires the NAT type of its own (S32), and the obtained answer (S33) Report (S34) to the self address notification unit (454);
    A network communication system characterized in that the self address notifying unit (454) notifies (S35) the response to the connection mediating device (304) based on the report.
  12.  請求項7に記載のネットワーク通信システムにおいて、
     自己アドレス通知部(456)が、接続仲介装置(306)に対して自己の所在アドレスを通知する際に、まず、通信プロトコルとしてUDPを用いた第1回通知(S51)を行い、当該第1回通知に失敗した場合には、続いて、通信プロトコルとしてTCPを用いた第2回通知(S53)を行い、
     接続仲介装置(306)内のアドレステーブル格納部(316)が、端末IDと所在アドレスに加えて、更に、通信プロトコルを対応づけたアドレステーブル(T70)を格納する機能を有し、
     接続仲介装置(306)内のアドレステーブル更新部(326)が更新を行う際(S54)に、前記第1回通知に基づいて更新を行う場合には、通信プロトコルとしてUDPを対応づけ、前記第2回通知に基づいて更新を行う場合には、通信プロトコルとしてTCPを対応づけ、
     接続仲介装置(306)内の通信元アドレス送信部(336)が、接続仲介依頼(S12)が送信されてきたときに、前記アドレステーブル(T70)を参照して、通信元の端末装置および通信先の端末装置の通信プロトコルを確認し、両端末装置の通信プロトコルがいずれもUDPであった場合には、通信方法として通常通信を選択し、少なくとも一方の通信プロトコルがTCPであった場合には、通信方法として迂回通信を選択し、選択した通信方法を通信先アドレスと共に返信する機能を有し、
     通信開始要求部(446A)が、前記接続仲介装置(306)から通信元アドレス(AD2)と共に通信方法が返信されてきたときに、通信方法として通常通信が選択されていた場合には、前記通信元アドレス(AD2)に対して通信プロトコルUDPを用いたアクセスにより通信開始要求(S15)を行い、通信方法として迂回通信が選択されていた場合には、迂回通信処理部(476A)に対して迂回通信指示(S5′)を行い、
     通信方法として通常通信が選択されていた場合には、通信先セッション確立部(466A)と通信元セッション確立部(436B)との間で、通信プロトコルUDPを用いた通常通信(S17)を実行し、通信方法として迂回通信が選択されていた場合には、通信先の迂回通信処理部(476A)と通信元の迂回通信処理部(476B)との間で、通信プロトコルTCPを用いて、接続仲介装置(306)を介した迂回通信を実行することを特徴とするネットワーク通信システム。
    In the network communication system according to claim 7,
    When the self address notifying unit (456) notifies the connection intermediation device (306) of its own location address, first, it performs first notification (S51) using UDP as a communication protocol, and When the notification of the number of times fails, the second notification (S53) using TCP as the communication protocol is subsequently performed.
    In addition to the terminal ID and the location address, the address table storage unit (316) in the connection mediation device (306) further has a function of storing an address table (T70) in which communication protocols are associated,
    When the address table update unit (326) in the connection mediation device (306) performs update (S54), in the case of performing update based on the first notification, UDP is associated as a communication protocol, and If updating is performed based on the notification twice, TCP is associated as a communication protocol,
    The communication source address transmitter (336) in the connection mediation device (306) refers to the address table (T70) when the connection mediation request (S12) is sent, and the terminal device and communication of the communication source If the communication protocol of the previous terminal device is confirmed and the communication protocols of both terminal devices are both UDP, normal communication is selected as the communication method, and at least one of the communication protocols is TCP. Selecting a bypass communication as the communication method and returning the selected communication method together with the communication destination address,
    When the communication start request unit (446A) receives a communication method from the connection mediation device (306) together with the communication source address (AD2), the communication is selected when the normal communication is selected as the communication method. When the communication start request (S15) is issued to the original address (AD2) by access using the communication protocol UDP, and the detour communication is selected as the communication method, the detour communication processing unit (476A) detours Make a communication instruction (S5 '),
    When normal communication is selected as the communication method, normal communication (S17) using the communication protocol UDP is executed between the communication destination session establishing unit (466A) and the communication source session establishing unit (436B). When detour communication is selected as the communication method, connection mediation is performed using the communication protocol TCP between the detour communication processing unit (476A) of the communication destination and the detour communication processing unit (476B) of the communication source. A network communication system, characterized by performing bypass communication via the device (306).
  13.  請求項4、5、10、11のいずれかに記載のネットワーク通信システムにおいて、
     端末装置(203,404)のNATタイプ確認部(283,484)からネットワーク(N)を介してNATタイプの照会があったときに、当該照会に係る通信を利用して、照会元の端末装置のNATタイプを判別し、判別したNATタイプを照会元の端末装置のNATタイプ確認部に回答する処理を行うNATタイプ判別装置(500)を更に備えることを特徴とするネットワーク通信システム。
    The network communication system according to any one of claims 4, 5, 10 and 11.
    When the NAT type confirmation unit (283, 484) of the terminal device (203, 404) makes an inquiry about the NAT type via the network (N), the terminal device of the inquiry source using the communication related to the inquiry A network communication system characterized by further comprising a NAT type discrimination device (500) for discriminating the NAT type of S.sub.1 and returning the discriminated NAT type to the NAT type confirmation unit of the inquiry source terminal device.
  14.  請求項13に記載のネットワーク通信システムにおいて、
     NATタイプ判別装置(500)として、STUNサーバを用いることを特徴とするネットワーク通信システム。
    In the network communication system according to claim 13,
    A network communication system characterized by using a STUN server as a NAT type discrimination device (500).
  15.  請求項1~12のいずれかに記載のネットワーク通信システムにおける複数の端末装置を構成する1台の端末装置(201,203,205,402,404,406)。 One terminal device (201, 203, 205, 402, 404, 406) constituting a plurality of terminal devices in the network communication system according to any one of claims 1 to 12.
  16.  請求項15に記載の1台の端末装置(201,203,205,402,404,406)としてコンピュータを機能させるプログラム。 The program which functions a computer as one terminal device (201, 203, 205, 402, 404, 406) of Claim 15.
  17.  請求項1~12のいずれかに記載のネットワーク通信システムにおける接続仲介装置(101,103,105,302,304,306)。 Connection mediator (101, 103, 105, 302, 304, 306) in a network communication system according to any of the preceding claims.
  18.  請求項17に記載の接続仲介装置(101,103,105,302,304,306)としてコンピュータを機能させるプログラム。 A program that causes a computer to function as the connection mediating device (101, 103, 105, 302, 304, 306) according to claim 17.
PCT/JP2017/029765 2017-08-21 2017-08-21 Network communications system WO2019038802A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019537433A JP6879373B2 (en) 2017-08-21 2017-08-21 Network communication system
PCT/JP2017/029765 WO2019038802A1 (en) 2017-08-21 2017-08-21 Network communications system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/029765 WO2019038802A1 (en) 2017-08-21 2017-08-21 Network communications system

Publications (1)

Publication Number Publication Date
WO2019038802A1 true WO2019038802A1 (en) 2019-02-28

Family

ID=65439435

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/029765 WO2019038802A1 (en) 2017-08-21 2017-08-21 Network communications system

Country Status (2)

Country Link
JP (1) JP6879373B2 (en)
WO (1) WO2019038802A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003169075A (en) * 2001-09-21 2003-06-13 E-Jan Net Co Connection support server, terminal, connection support system, connection supporting method, communication program, and connection support program
JP2009206601A (en) * 2008-02-26 2009-09-10 Funai Electric Co Ltd Information distribution system
JP2013138398A (en) * 2011-11-28 2013-07-11 Panasonic Corp Method of establishing connection between communication devices, communication device, and server device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003169075A (en) * 2001-09-21 2003-06-13 E-Jan Net Co Connection support server, terminal, connection support system, connection supporting method, communication program, and connection support program
JP2009206601A (en) * 2008-02-26 2009-09-10 Funai Electric Co Ltd Information distribution system
JP2013138398A (en) * 2011-11-28 2013-07-11 Panasonic Corp Method of establishing connection between communication devices, communication device, and server device

Also Published As

Publication number Publication date
JP6879373B2 (en) 2021-06-02
JPWO2019038802A1 (en) 2020-10-29

Similar Documents

Publication Publication Date Title
US9549071B2 (en) Intercepting voice over IP communications and other data communications
US20070217408A1 (en) Address Resolution Device, Address Resolution Method, And Communication System Including The Same
US20040243710A1 (en) Method of user data exchange in the data network and a data network
US8457144B2 (en) Communication system
JP2003046533A (en) Network system, authentication method therefor and program thereof
JP5212071B2 (en) Communication device and mobile terminal
JP2013506358A (en) End-to-end call implementation method, end-to-end call terminal and system
US20030028806A1 (en) Dynamic allocation of ports at firewall
JP6787390B2 (en) Network communication system
US20060092917A1 (en) SIP Enabled Device identification
JP3856427B2 (en) Connection method between terminals
EP2449723B1 (en) System and method for setting up a call using a global registry
JP6879373B2 (en) Network communication system
JP6879370B2 (en) Network communication system
JP2002281151A (en) Communication system and method based on computer communication network
JP2006333220A (en) Network telephone system, and server device thereof
JP6879372B2 (en) Network communication system
JP7056663B2 (en) Network communication system
JP7173271B2 (en) network communication system
JP6879371B2 (en) Network communication system
JP6988545B2 (en) Network communication system
JP2002141934A (en) Leased line vpn connection system and leased line vpn connection method
JP2002290472A (en) Communication connection destination management system
JP2006080882A (en) Communication equipment
JP5454707B2 (en) Communication device

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: 17922384

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019537433

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: 17922384

Country of ref document: EP

Kind code of ref document: A1