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

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

Info

Publication number
WO2017145393A1
WO2017145393A1 PCT/JP2016/055960 JP2016055960W WO2017145393A1 WO 2017145393 A1 WO2017145393 A1 WO 2017145393A1 JP 2016055960 W JP2016055960 W JP 2016055960W WO 2017145393 A1 WO2017145393 A1 WO 2017145393A1
Authority
WO
WIPO (PCT)
Prior art keywords
communication
terminal device
address
terminal
request
Prior art date
Application number
PCT/JP2016/055960
Other languages
English (en)
French (fr)
Inventor
憲朗 伊藤
矢野 義博
茂男 蜂木
伸乃助 仲谷
Original Assignee
大日本印刷株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 大日本印刷株式会社 filed Critical 大日本印刷株式会社
Priority to PCT/JP2016/055960 priority Critical patent/WO2017145393A1/ja
Priority to JP2018501668A priority patent/JP6787390B2/ja
Priority to PCT/JP2017/006131 priority patent/WO2017145984A1/ja
Publication of WO2017145393A1 publication Critical patent/WO2017145393A1/ja

Links

Images

Definitions

  • the present invention relates to a network communication system for performing communication between terminals via a network.
  • a conventional general network communication system is provided with a relay device that plays a role of inheriting communication between terminal devices.
  • a secure first communication channel is secured between a first terminal device and a relay device, and a secure second communication channel is established between the second terminal device and the relay device.
  • a network communication system that secures a communication channel and performs communication between both terminal devices via a relay device is disclosed.
  • all communication data between both terminals passes through the relay device, which causes a problem that a large processing load is applied to the relay device. Therefore, recently, using a protocol called SIP (Session Initiation Protocol), the connection mediation device provided on the network has taken over the establishment of the communication session between both terminals, and after establishing the communication session, A method of performing direct communication between both terminals has been proposed.
  • SIP Session Initiation Protocol
  • Patent Documents 2 and 3 below disclose network communication systems that realize VPN communication between terminals using this SIP.
  • the connection mediating device in this system does not need to relay all of the communication data, but only needs to help until a communication session is established between both terminals, so the processing load is significantly greater than that of conventional relay devices. It is reduced.
  • connection mediating apparatus used in the network communication system disclosed in Patent Documents 2 and 3 performs connection mediation 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 both terminals, the processing load cannot be ignored if there are simultaneous mediation requests from a large number of terminal devices. For this reason, if the mediation requests are concentrated, even the temporary mediation processing until the establishment of the communication session may exceed the processing capability of the system. Therefore, an object of the present invention is to provide a network communication system that can further reduce the processing load when mediating the connection between a pair of terminal devices.
  • a first aspect of the present invention is a basic aspect according to the first embodiment, and a plurality of terminal devices that can be connected to each other via a network and a connection that mediates a connection between the plurality of terminal devices.
  • a network communication system comprising an intermediary device
  • Each of the plurality of terminal devices is assigned a terminal ID for identifying the individual terminal devices, and the connection mediating device uses the terminal ID to communicate with the terminal device serving as the communication source and the terminal device serving as the communication destination.
  • a self-address notifying unit for notifying a connection mediating device of a location address indicating a location on the own network;
  • a communication request accepting unit that accepts a communication request for another terminal device as a communication destination with self as a communication source, When the communication request is accepted by the communication request accepting unit, the connection mediation device transmits 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 mediating device.
  • the request department In response to the connection mediation request, when a communication destination address indicating the location of another terminal device at the communication destination is returned from the connection mediation device, the communication destination address is accessed via the network.
  • a communication start request unit for making a communication start request;
  • a communication start acceptance confirmation is returned from another terminal device at the communication destination, a communication source session that establishes a communication session with another terminal device at the communication destination and starts communication An establishment section;
  • a 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 establishment unit that establishes a communication session and starts communication;
  • an address table storage unit that stores an address table that associates a terminal ID with a location address;
  • An address table update unit that updates the contents of the address table based on the notification from the self-address notification unit of the terminal device;
  • the address table is referred to correspond to the terminal ID specified by the communication destination specifying information included in the connection mediation request.
  • Mutual authentication processing is performed by processing using the encryption key for the communication source and the encryption key for the communication destination
  • Communication after establishment of a communication session between a terminal device serving as a communication source and a terminal device serving as a communication destination is performed by packet communication in which packets encrypted using the encryption key used in the mutual authentication process are transmitted and received. It is a thing.
  • connection address reply unit When the connection address reply unit receives a connection mediation request, it issues a mediation certificate indicating that mediation processing has been performed from the specific terminal device serving as the communication source to the specific terminal device serving as the communication destination And return this mediation certificate along with the communication destination address to the terminal device that is the communication source,
  • the communication start request unit makes a communication start request to the communication destination address, it sends a mediation certificate,
  • the mediation certificate is transmitted from another terminal device of the communication source together with a communication start request with the communication destination session establishment unit as a communication destination, on the condition that the validity of the mediation certificate is confirmed.
  • a communication start acceptance confirmation is transmitted to another terminal device of the communication source, and a communication session is established with another terminal device of the communication source to start communication.
  • a seventh aspect of the present invention is the network communication system according to the first to sixth aspects described above, An address table in which the address table storage unit includes, for each individual terminal device, information that associates a user ID that identifies a user of the terminal device or an account ID that identifies a user account with the terminal ID of the terminal device. And store The connection mediation request unit uses, as the communication destination specifying information, a user ID that specifies a user of a communication destination terminal device or an account ID that specifies a user account, A terminal associated with the user ID or account ID included in the connection mediation request with reference to the address table when the connection mediation request is transmitted from the connection mediation requesting unit. An ID is determined, and a location address associated with the determined terminal ID is returned as a communication destination address.
  • An eighth aspect of the present invention is the network communication system according to the first to seventh aspects described above,
  • the address table storage unit stores an address table in which one or a plurality of alternative terminal IDs are registered for a specific terminal ID;
  • the communication destination address reply unit has a function of determining whether or not each terminal device is in an inconvenient use state.
  • the connection mediation request is transmitted, the original communication destination identification information is specified.
  • the terminal device to which the terminal ID is assigned is in an inconvenient state, the location address associated with the alternative terminal ID is returned as the communication destination address instead of the original terminal ID. is there.
  • a ninth aspect of the present invention is a basic aspect according to the second embodiment, and a plurality of terminal devices that can be connected to each other via a network and a connection that mediates a connection between the plurality of terminal devices.
  • a network communication system comprising an intermediary device
  • Each of the plurality of terminal devices is assigned a terminal ID for identifying the individual terminal devices, and the connection mediating device uses the terminal ID to communicate with the terminal device serving as the communication source and the terminal device serving as the communication destination.
  • a self-address notifying unit for notifying a connection mediating device of a location address indicating a location on the own network;
  • a communication request accepting unit that accepts a communication request for another terminal device as a communication destination with self as a communication source, When the communication request is accepted by the communication request accepting unit, the connection mediation device transmits 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 mediating device.
  • the request department When a communication source address indicating the location of another terminal device of the communication source on the network is transmitted from the connection mediating device, access to the communication source address via the network and starting a communication start request A request section; A communication destination session that establishes a communication session with another terminal device of the communication source and starts communication when a communication start acceptance confirmation is returned from another terminal device of the communication source in response to the communication start request An establishment section; When a communication start request is issued from another terminal device at the communication destination, the communication start acceptance confirmation is sent to the other terminal device at the communication destination, and between the other terminal devices at the communication destination A communication source session establishment unit that establishes a communication session and starts communication; So that In the connection mediator, For each terminal device, an address table storage unit that stores an address table that associates a terminal ID with a location address; An address table update unit that updates the contents of the address table based on the notification from the 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
  • a communication source address transmitting unit that transmits, as a communication source address, a location address associated with the terminal ID of the communication source terminal device that has transmitted the connection mediation request, Is provided.
  • (10) According to a tenth aspect of the present invention, in the network communication system according to the ninth aspect described above, When transmitting a connection mediation request from the terminal device serving as the communication source to the connection mediating device and when transmitting a communication source address from the connection mediating device to the terminal device serving as the communication destination, The terminal device and the connection mediating device so that mutual authentication processing is performed between the connection mediating device and between the connection mediating device and the terminal device that is the communication destination to mutually confirm the authenticity of the counterpart device. Is provided with an authentication processing function.
  • An eleventh aspect of the present invention is the network communication system according to the ninth or tenth aspect described above, When a communication start request is transmitted from the terminal device serving as the communication destination to the terminal device serving as the communication source, the authenticity of the partner device between the terminal device serving as the communication destination and the terminal device serving as the communication source Each terminal device is provided with an authentication processing function so that mutual authentication processing for confirming the authenticity is performed.
  • Mutual authentication processing is performed by processing using the encryption key for the communication source and the encryption key for the communication destination
  • Communication after establishment of a communication session between a terminal device serving as a communication source and a terminal device serving as a communication destination is performed by packet communication in which packets encrypted using the encryption key used in the mutual authentication process are transmitted and received. It is a thing.
  • a thirteenth aspect of the present invention is the network communication system according to the ninth to twelfth aspects described above,
  • the communication source address transmission unit receives a connection mediation request, it issues a mediation certificate indicating that mediation processing has been performed from the specific terminal device serving as the communication source to the specific terminal device serving as the communication destination And send this mediation certificate along with the communication source address to the terminal device that is the communication destination,
  • the communication start request unit makes a communication start request to the communication source address, it sends a mediation certificate, If the mediation certificate is sent together with a communication start request with the communication source session establishment unit as a communication source from another terminal device of the communication destination, on the condition that the validity of the mediation certificate is confirmed, A communication start acceptance confirmation is transmitted to another terminal device at the communication destination, and a communication session is established with another terminal device at the communication destination to start communication.
  • a fifteenth aspect of the present invention is the network communication system according to the ninth to fourteenth aspects described above, An address table in which the address table storage unit includes, for each individual terminal device, information that associates a user ID that identifies a user of the terminal device or an account ID that identifies a user account with the terminal ID of the terminal device.
  • connection mediation request unit uses, as the communication destination specifying information, a user ID that specifies a user of a communication destination terminal device or an account ID that specifies a user account, A terminal associated with the user ID or account ID included in the connection mediation request by referring to the address table when the connection mediation request is transmitted from the connection mediation request unit by the communication source address transmission unit The ID is determined, and the location address associated with the terminal ID of the communication source terminal device is transmitted as the communication source address for the location address associated with the determined terminal ID. is there.
  • a sixteenth aspect of the present invention is the network communication system according to the ninth to fifteenth aspects described above,
  • the address table storage unit stores an address table in which one or a plurality of alternative terminal IDs are registered for a specific terminal ID;
  • the communication source address transmission unit has a function of determining whether or not each terminal device is in an inconvenient use state.
  • the connection mediation request is transmitted, the original address specified by the communication destination specifying information is specified.
  • the communication source that has transmitted the connection mediation request to the location address associated with the alternative terminal ID instead of the original terminal ID
  • the location address associated with the terminal ID of the terminal device is transmitted as the communication source address.
  • a seventeenth aspect of the present invention is the network communication system according to the first to sixteenth aspects described above,
  • the self-address notifying unit notifies the current location address repeatedly at a predetermined cycle or when the location address is changed.
  • a global IP address or NAT-ID is used as a location address indicating the location of the terminal device on the network.
  • As the one-way function an encryption key for the communication source, an encryption key for the communication destination, or a hash function using both of these encryption keys is used.
  • a twentieth aspect of the present invention relates to one terminal apparatus constituting a plurality of terminal apparatuses in the network communication system according to the first to nineteenth aspects described above.
  • a twenty-first aspect of the present invention relates to a connection mediating apparatus in the network communication system according to the first to nineteenth aspects described above.
  • the terminal device according to the twentieth aspect described above or the connection mediating apparatus according to the twenty-first aspect described above is configured by incorporating a program into a computer. is there.
  • the connection mediating apparatus does not need to be involved until the final stage in which a communication session is established between both terminals, and transmits the communication destination address to the communication source terminal apparatus (first step).
  • the stage of transmitting the communication source address to the terminal device of the communication destination in the case of the second embodiment is sufficient. Therefore, it is possible to further reduce the processing load when mediating the connection between a pair of endless devices, as compared with a system that performs connection mediation processing between both terminals using conventional SIP.
  • FIG. 1 is a block diagram showing the overall configuration of a network communication system according to the first embodiment of the present invention.
  • FIG. 2 is a block diagram showing a detailed configuration of the terminal device of the network communication system shown in FIG.
  • FIG. 3 is a block diagram illustrating functions of the self-address notifying unit 250 in the terminal device illustrated in FIG.
  • FIG. 4 is a block diagram showing a procedure for establishing a communication session between the communication source terminal apparatus 200A and the communication destination terminal apparatus 200B in the network communication system shown in FIG.
  • FIG. 5 is a flowchart for explaining the communication session establishment procedure shown in the block diagram of FIG. 4 in time series.
  • FIG. 6 is a block diagram showing an overall configuration of a network communication system according to the second embodiment of the present invention.
  • FIG. 6 is a block diagram showing an overall configuration of a network communication system according to the second embodiment of the present invention.
  • FIG. 7 is a block diagram showing a detailed configuration of the terminal device of the network communication system shown in FIG.
  • FIG. 8 is a block diagram illustrating a procedure for establishing a communication session between the communication source terminal apparatus 400B and the communication destination terminal apparatus 400A in the network communication system illustrated in FIG.
  • FIG. 9 is a flowchart for explaining the communication session establishment procedure shown in the block diagram of FIG. 8 in time series.
  • FIG. 10 is a diagram showing a first modification of the address table shown in FIG. 1 or FIG.
  • FIG. 11 is a diagram showing a second modification of the address table shown in FIG. 1 or FIG.
  • FIG. 12 is a diagram showing a third modification of the address table shown in FIG. 1 or FIG. FIG.
  • FIG. 13 is a block diagram showing a modified example of the procedure for establishing a communication session between the communication source terminal apparatus 200A and the communication destination terminal apparatus 200B in the network communication system shown in FIG.
  • FIG. 14 is a block diagram showing a modification of the procedure for establishing a communication session between the communication source terminal apparatus 400B and the communication destination terminal apparatus 400A in the network communication system shown in FIG.
  • FIG. 1 is a block diagram showing the overall configuration of a network communication system according to the first embodiment of the present invention.
  • this network communication system is composed of a connection mediating device 100 and a plurality of terminal devices 200A to 200D, all of which are connected to each other via a network N (in this example, the Internet). Is possible.
  • N in this example, the Internet
  • FIG. 1 for convenience of explanation, an example using four terminal devices 200A to 200D is shown, but in practice, a larger number of terminal devices are generally used.
  • the terminal devices 200A to 200D are the same device having a common configuration.
  • this network communication system is a system including a plurality of terminal devices 200A to 200D that can be connected to each other via the network N, and a connection mediating device 100 that mediates the connection between the plurality of terminal devices. become.
  • the terminal device 200 various electronic devices having a function of connecting to the network N and performing communication, such as a personal computer, a mobile phone, and a tablet terminal, can be used.
  • connection mediating apparatus 100 is configured by a server computer that receives access from these terminal apparatuses 200A to 200D via the network N.
  • Each of the terminal devices 200A to 200D is assigned a terminal ID for identifying each terminal device, and the connection mediating device 100 communicates with the terminal device serving as a communication source using this terminal ID.
  • a process that mediates the connection with the previous terminal device is executed.
  • terminal IDs “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 it is information that can identify individual terminal devices.
  • 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 from each other, Since it is necessary to use a unique ID, it is preferable to use a number having a larger number of digits or a combination of a number and an alphabet in practice.
  • the serial number of the CPU built into each terminal device, the MAC address assigned to the communication interface, the phone number or the SIM card serial number when a mobile phone is used as the terminal device, the terminal ID Can be used.
  • Each of the terminal devices 200A to 200D is given a location address indicating the location on its own network.
  • the location addresses AD1, AD2, AD3, and AD4 are assigned to the terminal devices 200A, 200B, 200C, and 200D, respectively.
  • the location address any address may be used as long as the location of the terminal device can be uniquely determined on the network.
  • IP IP
  • 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 preferable to use it.
  • the terminal ID is information necessary for mutually identifying individual terminal devices
  • the location address is information necessary for accessing the individual terminal devices via the network N.
  • the location address is not always constant and changes every moment.
  • the base station as a communication partner changes with movement, so the location address also changes with time.
  • the location address changes with time.
  • the terminal device 200 used in the present invention has a function of notifying the connection mediating device 100 of the location address indicating the location on its own network via the network N. For this reason, the connection mediating apparatus 100 can always grasp the latest addresses of the terminal apparatuses 200A to 200D, and can access the terminal apparatuses 200A to 200D as necessary.
  • connection mediating apparatus 100 is provided with an address table storage unit 110, an address table update unit 120, and a communication destination address reply unit 130.
  • the connection mediating apparatus 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 the computer.
  • the address table storage unit 110 stores an address table T in which each terminal device 200A to 200D is associated with a terminal ID and a location address.
  • the address table update unit 120 stores each terminal device 200A to 200D. Based on the notification from, the contents of this address table T are updated.
  • the communication destination address reply unit 130 performs a process of returning the communication destination address by referring to the address table T.
  • the address table T information indicating the correspondence between the terminal ID and the location address is stored for each of the four terminal devices 200A to 200D.
  • terminal ID “0010” is associated with location address “AD1” for terminal device 200A
  • terminal ID “0020” is associated with location address “AD2” for terminal device 200B.
  • the terminal ID “0030” and the location address “AD3” are associated with the device 200C
  • the terminal ID “0040” and the location address “AD4” are associated with the terminal device 200D.
  • the terminal device 200 includes 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 constituted by various computers (including devices such as mobile phones), and each component shown as individual blocks in the figure is actually a program dedicated to the computer. It is built by incorporating.
  • the actual terminal device 200 incorporates various other components. For example, if the terminal device 200 is a smartphone, components having various processing functions are added by incorporating various application programs.
  • the terminal device 200 also includes components such as an input interface for inputting instructions and characters from the user and a display for presenting information to the user. However, description of these components is also omitted. To do.
  • the components depicted as six blocks in the terminal device 200 are essential functional elements in the terminal device 200 according to the present invention. In this block diagram, three arrows, a thick line arrow, a thin line arrow, and a white arrow, are used as arrows indicating the flow of signals between the blocks.
  • a thick line arrow indicates a signal flow before establishment of a communication session exchanged between the terminal device 200 and the connection mediating apparatus 100
  • a thin line arrow indicates exchange between the pair of terminal devices 200.
  • the flow of signals before establishing a communication session is shown.
  • White arrows indicate the flow of signals after the communication session is established, which is exchanged between the pair of terminal devices 200.
  • the six components in the terminal device 200 are drawn using three types of blocks, an ellipse, a rectangle, and a double rectangle, but this shows the division of roles among the components. It is convenient.
  • the constituent elements indicated by the elliptic blocks are constituent elements for the terminal device 200 to execute the “address notification” process
  • the constituent elements indicated by the rectangular blocks are the terminal elements 200.
  • a component indicated by a double rectangular block is a process that is necessary when the terminal device 200 functions as a “communication destination”
  • the terms “communication source” and “communication destination” are terms used for distinguishing between two terminal devices when they communicate with each other, and spontaneously start communication.
  • the side that performs processing for this purpose 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 action from this “communication source”. It is out.
  • 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 starting communication spontaneously.
  • the terminal device 200 becomes a “communication source” or a “communication destination”.
  • the self-address notifying unit 250 indicated by the elliptic block is a component for executing the process of “address notification”, and the location address indicating the location on the own network is represented as a connection mediator.
  • a process of notifying the apparatus 100 is executed. If an IP address is used as the location address, the self-address notifying unit 250 performs a process of notifying the connection mediating apparatus 100 of the IP address assigned to it at present through the network N.
  • the self-address notification unit 250 connects the global IP address assigned to the terminal device 200 as a location address. What is necessary is just to notify with respect to the mediation apparatus 100.
  • FIG. when a private IP address is assigned using the NAT function of the router, the connection mediating apparatus 100 may be notified of the NAT-ID as a location address. When notifying the location address, the terminal ID is transmitted simultaneously.
  • the address table update unit 120 shown in FIG. 1 updates the address table T upon receiving such notification.
  • the address table update unit 120 has the terminal ID “0010” and the location address “AD1”. Are stored in the address table T in association with each other.
  • the self-address notifying unit 250 has a function of notifying the current address of the current terminal (terminal device 200) repeatedly at a predetermined cycle. For example, if the self-address notification unit 250 repeatedly notifies every other minute, the address table T is updated to the latest information every one minute.
  • the self-address notifying unit 250 may have a function of notifying the current location address when the location address of itself (the terminal device 200) is changed. That is, when the location address is assigned for the first time, the location address is notified as an initial address, and thereafter, a new location address is notified every time the location address is changed.
  • the operation of repeatedly notifying at a predetermined cycle and the operation of notifying when the location address is changed may be combined.
  • the four components shown by the 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”.
  • the communication request accepting unit 220 performs a process of accepting a communication request to another terminal device as a communication destination, using itself as a communication source. For example, when a user of the terminal device 200 (communication source) wants to make a call to a specific partner, a communication request is made to communicate with another terminal device (communication destination) possessed by the partner. become.
  • This communication request is given as, for example, a user operation input (for example, an operation on a touch panel) via an input interface (not shown), and includes some information for specifying the partner terminal device.
  • the connection mediation request unit 210 provides communication destination specifying information for specifying the terminal ID of another terminal device that is the communication destination to the connection mediating device 100.
  • the communication destination specifying information included in the connection mediation request may be the terminal ID of another terminal device that is the communication destination, or may be other information that can specify the terminal ID. No (details are described in ⁇ 3-1).
  • 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). Shows the signal flow before and after the communication session is established).
  • the connection mediating apparatus 100 returns a communication destination address indicating the location of another terminal device as a communication destination on the network, as indicated by a thick arrow in the figure. This is due to the function of the communication destination address reply unit 130 shown in FIG.
  • the communication destination address reply unit 130 refers to the address table T when the connection mediation request is transmitted from the connection mediation request unit 210 of the terminal device 200, and the communication destination included in the connection mediation request. A process of returning a location address associated with the terminal ID specified by the specific information as a communication destination address is performed.
  • the destination of the reply is the terminal device 200 that has made the connection mediation request.
  • the communication destination address reply unit 130 searches the current address of the communication destination using the address table T, A process of returning to the communication source terminal device is performed.
  • the connection mediation device 100 when a connection mediation request is made by the connection mediation request unit 210, the connection mediation device 100 returns a communication destination address indicating the location of another terminal device of the communication destination on the network.
  • the communication destination address returned in this way is received by the communication start request unit 240.
  • the communication start request unit 240 makes a communication start request by accessing the communication destination address via the network N.
  • this communication start request is a signal addressed from one terminal device 200 (communication source) to another terminal device 200 (communication destination).
  • this communication start request transmits a communication start request to another terminal device that is the communication destination, the communication start acceptance is received from the other terminal device that is the communication destination according to the communication start request.
  • a component indicated by a double rectangular block is a communication destination session establishment unit 230.
  • This communication destination session establishment unit 230 when a communication start request is made from another terminal device that is the communication source (downward thin line arrow on the left side of the figure), to another terminal device that is the communication source.
  • a communication start acceptance confirmation is transmitted (upward thin line arrow on the left side of the figure), a communication session is established with another terminal device of the communication source, and communication is started.
  • a white arrow drawn at the left end of FIG. 2 indicates a flow of signals (communication packets) between both terminals after the communication session is established in this way.
  • connection mediation device 100 is shown in the upper part of the figure, and two sets of terminal devices 200A and 200B are shown in the lower part of the figure.
  • the function of the self-address notification unit 250 is the same.
  • the exchange of information between the connection mediating apparatus 100 and each of the terminal apparatuses 200A and 200B is actually performed via the network N, but here, for convenience of explanation. Illustration of the network N is omitted.
  • the terminal devices 200A and 200B shown in FIG. 3 have six components as with the terminal device 200 shown in FIG.
  • the terminal device 200A has components 210A to 260A
  • the terminal device 200B has components 210B to 260B. These components are the same as the components 210 to 260 shown in FIG. (A and B at the end of the code are given to distinguish which terminal device is a component).
  • FIG. 3 is a diagram for explaining the self-address notification function of the terminal devices 200A and 200B, the blocks of the constituent elements other than the self-address notification units 250A and 250B are indicated by broken lines.
  • the self-address notifying units 250A and 250B perform a process of notifying the address table update unit 120 in the connection mediating apparatus 100 of the location address indicating the location on its own network.
  • FIG. 1 is a diagram for explaining the self-address notification function of the terminal devices 200A and 200B
  • the blocks of the constituent elements other than the self-address notification units 250A and 250B are indicated by broken lines.
  • the self-address notifying units 250A and 250B perform a process of not
  • FIG. 3 shows an example in which data “0010: AD1” is transmitted as a notification from the self-address notification unit 250A to the address table update unit 120. ”Indicates that the current location address“ AD1 ”is being transmitted. Similarly, an example in which data “0020: AD2” is transmitted as a notification from the self-address notifying unit 250B to the address table updating unit 120 is shown together with its own terminal ID “0020”. This indicates that the current location address “AD2” is being transmitted.
  • the address table update unit 120 that has received such notification from the self-address notification units 250A and 250B of the terminal devices 200A and 200B performs a process of updating the contents of the address table T based on the notification. As already described in ⁇ 1-1.
  • the self-address notifying units 250A and 250B perform the process of notifying the current location address repeatedly at a predetermined cycle or when the location address is changed. is there.
  • the location address notification process performed by the self-address notification unit 250 is not a direct process for starting communication between terminal devices, but a preparation process for enabling communication to be started anytime. Can do.
  • the address table T in the connection mediating apparatus 100 can be kept up-to-date, and the connection mediating apparatus 100 can be used when communication between specific terminal devices actually needs to be performed. The correct mediation process by can be realized. Next, a processing procedure when actually starting communication between specific terminal devices will be described. FIG.
  • connection mediating apparatus 100 is shown in the upper part of the figure, and two sets of terminal apparatuses 200A and 200B are shown in the lower part of the figure.
  • the exchange of information between the connection mediating apparatus 100 and the terminal apparatus 200A (indicated by a thick line arrow) and the exchange of information between the terminal apparatuses 200A and 200B (indicated by a thin line arrow) actually involve the network N.
  • the network N is not shown for convenience of explanation.
  • FIG. 4 is a flowchart for explaining the communication session establishment procedure shown in the block diagram of FIG. 4 in time series.
  • step S1 communication request acceptance processing is performed. This is a process performed by the communication request accepting 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 devices 200A and 200B are a mobile phone and each phone number is used as a terminal ID
  • the user A gives the terminal ID (phone number) of the terminal device 200B to the terminal device 200A.
  • a communication request S1 with an input operation may be performed. That is, the communication request accepting unit 220A of the terminal device 200A performs a process of accepting a communication request S1 for another terminal device 200B that is a communication destination using itself as a communication source.
  • the communication request accepting unit 220A accepts the communication request S1 not necessarily when the user A performs an operation input for making a call. For example, when the users A and B are playing a communication battle type game, the communication request S1 is given to the communication request receiving unit 220A from the application program for the game. Alternatively, if the terminal devices 200A and 200B are personal computers that perform some business processing, and the business processing application program incorporated in the personal computer 200A automatically reports to the personal computer 200B, the application program The communication request S1 is given to the communication request receiving unit 220A. As described above, the communication request in the present invention is not necessarily given by the user, and may be given by a program incorporated in the terminal device.
  • a connection mediation request is made in subsequent step S2.
  • This is a process performed by the connection mediation request unit 210A shown in FIG. 4, and as described above, the communication destination for specifying the terminal ID of another terminal device 200B as the communication destination for the connection mediation device 100.
  • This is a process of transmitting a connection mediation request S2 including specific information.
  • the information transmission side transmits its address to the reception side, and the reception side returns an acknowledge signal to the transmission side address. Perform the process. Therefore, when transmitting the connection mediation request S2 from the connection mediation request unit 210A, the own location address “AD1” is transmitted to the connection mediation device 100 side.
  • 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, in step S3, the communication destination address reply unit 130 that has received this connection mediation request
  • the terminal ID in this example, “0020”
  • the location address is recognized as the communication destination address. For example, if 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 reply unit 130 performs a process of returning the communication destination address “AD2” recognized in step S3.
  • the reply partner is the communication source terminal device 200A that made the connection mediation request in step S2.
  • the connection mediation request S2 includes information on 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 returned.
  • the communication destination address reply S4 (information for transmitting the communication destination address “AD2”) is transmitted from the communication destination address reply unit 130, the communication destination address reply S4 is received by the communication start request unit 240A. .
  • the communication source terminal device 200A makes a connection mediation request S2 to the connection mediation device 100
  • the location of the communication destination terminal device 200B on the network is sent from the connection mediation device 100 in response to the connection mediation request S2.
  • the communication destination address “AD2” indicating “” is returned. Since the address table T prepared in the connection mediating apparatus 100 is always updated to the latest state, the returned communication destination address “AD2” is the latest location address of the communication destination terminal apparatus 200B.
  • the communication start request unit 240A that has acquired the communication destination address “AD2” by the communication destination address reply S4 makes a communication start request S5 to the communication destination terminal device 200B in step S5.
  • step S6 access is made to the communication destination address “AD2” via the network N, and a communication start request is transmitted to the other party.
  • its own address (communication source address “AD1”) is also transmitted.
  • the communication start request S5 made to the communication destination address “AD2” is received by the communication destination session establishment unit 230B of the communication destination terminal device 200B.
  • communication destination session establishment unit 230B first starts communication source terminal device 200A via network N in step S6.
  • step S7 a communication session is established with 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.
  • 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.
  • a 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 for starting communication is performed.
  • a communication session is established between the communication source terminal device 200A and the communication destination terminal device 200B, and communication S7 is performed between the two.
  • the processes performed by the connection mediating apparatus 100 are only the address table reference process in step S3 and the communication destination address return process in step S4. That is, the mediation process performed by the connection mediating apparatus 100 receives the connection mediation request S2 from the communication source terminal apparatus 200A, refers to the address table T (step S3), and uses the obtained communication destination address as the communication source terminal apparatus 200A. Is simply returned (step S4).
  • the connection mediating apparatus 100 simply performs such mediation processing, whereby a communication session is established between the communication source terminal apparatus 200A and the communication destination terminal apparatus 200B, and communication between the two starts.
  • the processing load on the connection mediating apparatus 100 is extremely light.
  • connection mediating apparatus 100 does not need to be involved until a communication session is established between both terminals. It suffices to perform the process of transmitting the address. For this reason, it becomes possible to reduce the processing load at the time of mediating connection between a pair of terminal devices.
  • connection mediating apparatus 100 since the connection mediating apparatus 100 is not involved until the establishment of the communication session, the connection mediating apparatus 100 establishes a communication session between the two terminal devices, and there is a problem. It is impossible to grasp whether or not communication is being performed. Therefore, if necessary, after establishing the communication session, the communication session establishment unit 260A or the communication destination session establishment unit 230B reports to the connection mediating apparatus 100 that the communication session has been established without any problem. Also good.
  • the communication destination session establishment unit 230B when the communication destination session establishing unit 230B makes a communication start request S5 with itself as the communication destination from the communication source terminal device 200A, in step S6, the communication destination session establishment unit 230B However, 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 the communication start acceptance is confirmed). Instead of confirmation, a communication start rejection notice may be transmitted). In other words, the communication destination session establishment unit 230B has some condition determination function, and when the communication start request S5 is made, the process of transmitting the communication start acceptance confirmation is performed only when a predetermined condition is satisfied. You can do it.
  • the user B of the communication destination terminal apparatus 200B can set the call rejection setting for the communication destination session establishment unit 230, and the communication is performed only when the condition that “the call rejection setting is not made” is satisfied.
  • the process of transmitting the start acceptance confirmation may be performed.
  • the communication start request S5 includes some communication source identification information (for example, a terminal ID) for specifying the communication source terminal device 200A
  • the communication destination session establishment unit 230B causes the communication start request S5 to be included. Depending on the communication source that made the request, it is possible to accept or reject the request.
  • FIG. 6 is a block diagram showing the overall configuration of the network communication system according to the second embodiment.
  • this network communication system is composed of a connection mediating device 300 and a plurality of terminal devices 400A to 400D, all of which are connected to each other via a network N (in this example, the Internet).
  • N in this example, the Internet
  • N in this example, the Internet
  • FIG. 6 An example using four terminal devices 400A to 400D will be shown, but in practice, a larger number of terminal devices are generally used.
  • Each of the terminal devices 400A to 400D is the same device having a common configuration. When reference is made to the common terminal device, the terminal device 400A to 400D is indicated by using a reference numeral 400. A to D will be given.
  • 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 mediating device 300 that mediates connection between the plurality of terminal devices. It turns out that.
  • the terminal device 400 various electronic devices having a function of connecting to the network N and performing communication, such as a personal computer, a mobile phone, and a tablet terminal, can be used.
  • the connection mediating apparatus 300 is configured by a server computer that receives access from each of these terminal apparatuses 400A to 400D via the network N.
  • Each of the terminal devices 400A to 400D is assigned a terminal ID for identifying each terminal device, and the connection mediating device 300 communicates with the terminal device serving as a communication source using this terminal ID. A process that mediates the connection with the previous terminal device is executed. As described above, any information may be used as the terminal ID as long as it can identify individual terminal devices.
  • terminal IDs “0010”, “0020”, “0030”, and “0040” are assigned to the terminal devices 400A, 400B, 400C, and 400D, respectively. It shall be.
  • Each terminal device 400A to 400D is given a location address indicating the location on its own network.
  • the location addresses AD1, AD2, AD3, and AD4 are assigned to the terminal devices 400A, 400B, 400C, and 400D, respectively.
  • the location address may be any address as long as the location of the terminal device can be uniquely determined on the network, but in practice, a global IP address or NAT-ID may be used. .
  • this location address changes with time.
  • the connection mediating apparatus 300 is provided with an address table storage unit 310, an address table update unit 320, and a communication source address transmission unit 330.
  • This connection mediating apparatus 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 the computer.
  • the address table storage unit 310 is the same component as the address table storage unit 110 shown in FIG. 1, and stores the address table T in which the terminal ID and the location address are associated with each of the terminal devices 400A to 400D.
  • the address table T shown in FIG. 6 is exactly 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 processing to update the contents of the address table T based on notifications from 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.
  • the communication source address transmission unit 330 is a component having a function similar to that of the communication destination address reply unit 130 shown in FIG.
  • the terminal device 400 includes a connection mediation request unit 410, a communication request reception unit 420, a communication source session establishment unit 430, a communication start request unit 440, a self address notification unit 450, and a communication destination session establishment unit 460. ing.
  • This terminal device 400 is also actually constituted by various computers (including devices such as mobile phones), and each component shown as individual blocks in the figure is actually a program dedicated to the computer. It is built by incorporating.
  • the terminal device 400 also incorporates various components and input / output interfaces not shown in the drawing as needed. Here, only the components directly related to the present invention are shown as blocks in the drawing. The description of other components will be omitted.
  • FIG. 7 as in FIG. 2, the thick arrows indicating the signal flow between the blocks indicate the signal flow before the establishment of the communication session exchanged between the terminal device 400 and the connection mediating device 300.
  • the thin line arrows indicate the flow of signals exchanged between a pair of terminal devices 400 before establishing a communication session.
  • a white arrow indicates a signal flow after the communication session is established, which is exchanged between the pair of terminal devices 400.
  • the components indicated by elliptic blocks in FIG. 7 are components for the terminal device 400 to execute the “address notification” process, and are indicated by rectangular blocks.
  • the element is a component that executes processing necessary when the terminal device 400 functions as a “communication source”.
  • the component indicated by the double rectangular block functions as a “communication destination”. It is a component that executes processing necessary for the case.
  • the self-address notifying unit 450 indicated by an elliptic block is a component for executing the process of “address notification”, and a location address indicating its location on the network is given to the connection mediating apparatus 300.
  • the process of notifying the user is executed.
  • the function of the self-address notifying unit 450 is exactly the same as the function of the self-address notifying unit 250 shown in FIG.
  • the address table updating unit 320 shown in FIG. 6 updates the address table T in response to this notification.
  • five components shown in FIG. 7 as rectangular blocks or double rectangular blocks will be described.
  • the three components indicated by the rectangular blocks perform processing necessary when the terminal device 400 functions as the “communication source”, and the two components indicated by the double rectangular blocks.
  • the element executes processing necessary when the terminal device 400 functions as a “communication destination”.
  • the communication request accepting unit 420 is a component that performs processing for accepting a communication request to another terminal device as a communication destination with itself as the communication source, and has exactly the same function as the communication request accepting unit 220 shown in FIG. It is a component.
  • the connection mediation request unit 410 identifies the communication destination for identifying the terminal ID of another terminal device that is the communication destination with respect to the connection mediating device 300.
  • connection mediation request unit 410 It is a component that transmits a connection mediation request including information, and has the same function as the connection mediation request unit 210 shown in FIG.
  • the connection mediation request transmitted from the connection mediation request unit 410 is transmitted to the connection mediation device 300 via the network N (the bold arrow in the figure indicates the exchange between the terminal device 400 and the connection mediation device 300). Shows the signal flow before the communication session is established).
  • the connection mediating apparatus 300 transmits a communication source address as shown by a thick arrow in the figure. This communication source address is received by the communication start request unit 440.
  • the transmission destination of the communication source address from the connection mediating apparatus 300 is not the communication source terminal apparatus that has issued the connection mediation request, but another terminal apparatus that is the communication destination.
  • connection mediation request unit 410 indicated by a rectangular block is a component in the communication source terminal device, whereas the communication start request unit 440 indicated by a double rectangular block is different. This is a component in the communication destination terminal device. Therefore, in the above description, the connection mediation request unit 410 that issues the connection mediation request and the communication start request unit 440 that receives the communication source address transmitted from the connection mediation device 300 in response to the connection mediation request unit 410 are different from each other. Belongs to 400.
  • the source address transmission unit 330 shown in FIG. 6 refers to the address table T when a connection mediation request is transmitted from the connection mediation request unit of a certain terminal device 400, and the connection mediation request.
  • a specific example for example, the user B of the terminal device 400B
  • the terminal device 400B shown in FIG. 6 is the communication source and the terminal device 400A is the communication destination.
  • the above procedure will be described for a case where the caller is the caller and the user A of the terminal device 400A is called as the callee).
  • a connection mediation request specifying the terminal device 400A as a communication destination is transmitted from the communication source terminal device 400B to the connection mediating device 300.
  • the communication source address transmitting unit 330 that has 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 a process of returning the location address of the communication destination thus recognized to the communication source (transmission source of the connection mediation request).
  • the communication source address transmission unit 330 in the second embodiment shown in FIG. 6 is directed to the recognized communication destination location address “AD1” and the communication source address “AD1” indicating the location of the communication source terminal device 400B.
  • AD2 "(which can be recognized as the address of the transmission source of the connection mediation request).
  • the communication mediator address (of the communication source terminal device 400B) is sent from the connection mediation device 300 to the communication destination terminal device 400A.
  • the location address “AD2”) is transmitted. This is a significant difference 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 issues a communication start request to this communication source address (address of the communication source terminal device 400B).
  • the communication start request unit 440 transmits the communication source via the network N.
  • the address is accessed and a communication start request is made.
  • this communication start request is a signal addressed from one terminal device 400 (communication destination) to another terminal device 400 (communication source).
  • a terminal device terminal device 400B in the above example
  • a terminal device that has received a communication start request from another terminal device (terminal device 400A in the above example) as the communication destination sends the communication start request to the communication source session establishing unit. Received at 430 (downward thin line arrow on the left side of the figure).
  • this communication source session establishment unit 430 returns a communication start acceptance confirmation to another terminal device (terminal device 400A in the above example) as the communication destination (upward thin line arrow on the left side of the figure), and the communication A communication session is established with another terminal device and communication is started.
  • the white arrow drawn at the left end of FIG. 7 shows the flow of signals (communication packets) between both 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 line arrow on the right side of the figure).
  • communication destination session establishing section 460 Upon receiving this communication start acceptance confirmation, communication destination session establishing section 460 establishes a communication session with another terminal device 400B that is the communication source, and starts communication.
  • a white arrow drawn on the right end of FIG. 7 indicates a flow of signals (communication packets) between both terminals after the communication session is established in this way.
  • 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 430 of the communication source terminal device and the communication destination session establishment unit 460 of the communication destination terminal device. Will be done.
  • the white arrow at the left end in FIG. 7 is connected to the white arrow at the right end in FIG. ⁇ 2-2.
  • connection mediating apparatus 300 is shown in the upper part of the figure, and two sets of terminal apparatuses 400A and 400B are shown in the lower part of the figure. Also here, the exchange of information between the connection mediating apparatus 300 and each of the terminal devices 400A and 400B (indicated by a thick arrow) and the exchange of information between the terminal devices 400A and 400B (indicated by a thin line arrow) are actually performed. Although it is performed via the network N, the network N is not shown for convenience of explanation.
  • FIG. 8 is a flowchart for explaining the communication session establishment procedure shown in the block diagram of FIG. 8 in time series.
  • step S11 a communication request acceptance process is performed. This is a process of accepting a communication request by the communication request accepting unit 420B shown in FIG. 8 and is the same as the process described in step S1 of FIG.
  • a connection mediation request S12 is made based on this communication request.
  • This is a process performed by the connection mediation request unit 410B shown in FIG. 8 and is the same as the process described in step S2 of FIG.
  • the connection mediation request S12 (in the illustrated example, the terminal ID “0010” of the communication destination terminal device 400A is included as communication destination specifying 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 (in this example, “0010”) specified by the communication destination specifying information included in the request is recognized as the communication destination address (S13).
  • the communication destination address 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. Therefore, in step S14, the source address reply unit 330 is associated with the terminal ID “0020” of the source terminal device 400B that has transmitted the connection mediation request S12 to the destination address “AD1” recognized in step S13. Is sent as the communication source address (S14).
  • the communication source address transmission unit 330 when information is transmitted and received between two parties connected via a network, the information transmitting side transmits its own address to the receiving side, and the receiving side acknowledges to the address of the transmitting side. Process to send back the signal. Therefore, when the communication source address transmission unit 330 receives the connection mediation request S12, the communication source address transmission unit 330 can recognize the location address “AD2” of the terminal device 400B that is the transmission source. In this case, the recognized location address “AD2” may be transmitted as data. As described above, when the communication source terminal device 400B makes the connection mediation request S12 to the connection mediation device 300, the connection mediation device 300 sends an address (address) to the communication destination terminal device 400A according 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 in the table T). Since the address table T prepared in the connection mediating apparatus 300 is constantly updated to the latest state, the communication source address transmission S14 is always performed for the latest location address of the communication destination terminal apparatus 400A. Become. Thus, when the communication source address transmission unit 330 transmits the communication source address transmission S14 (information that transmits the communication source address “AD2”), the communication source address transmission S14 sends a communication start request of the communication destination terminal device 400A. Received by unit 440A.
  • the communication start request unit 440A that has acquired the communication source address “AD2” by the communication source address transmission S14 makes a communication start request S15 to the communication source terminal device 400B in step S15. That is, access is made to the communication source address “AD2” via the network N, and a communication start request is transmitted to the other party. At this time, its own address (communication source address “AD1”) is also transmitted.
  • the communication start request S15 made to the communication source address “AD2” is received by the communication source session establishment unit 430B of the communication source terminal device 400B.
  • the communication source terminal device 400A When the communication source session establishing unit 430B makes a communication start request S15 with the communication source terminal device 400A as its communication source (first device 400B), first, the communication source terminal device 400A first communicates with the communication destination terminal device 400A via the network N in step S16. The communication start acceptance confirmation S16 is transmitted. In subsequent step S17, a communication session is established with communication destination terminal device 400A, and communication S17 is started. 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 establishment unit 460A. In step S17, the communication destination session establishment unit 460A that has received the communication start acceptance confirmation S16 establishes a communication session with the communication source terminal device 400B and starts communication S17.
  • a communication session is established with the communication source terminal device 400B.
  • processing for starting communication is performed.
  • 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 processes performed by the connection mediating apparatus 300 are only the address table reference process in step S13 and the communication source address transmission process in step S14.
  • the mediation process performed by the connection mediating apparatus 300 receives the connection mediation request S12 from the communication source terminal apparatus 400B, refers to the address table T (step S13), and sends the communication source to the obtained communication destination address. Only the address data is transmitted (step S14).
  • the connection mediating apparatus 300 simply performs such mediation processing, so that a communication session is established between the communication source terminal apparatus 400B and the communication destination terminal apparatus 400A, and communication between the two starts.
  • the processing load of the connection mediating apparatus 300 is extremely light as in the network communication system according to the first embodiment.
  • connection mediating apparatus 300 does not need to be involved until a communication session is established between both terminals. It suffices to perform the process of transmitting the address. For this reason, it becomes possible to reduce the processing load at the time of mediating connection between a pair of terminal devices.
  • the connection mediating apparatus 300 is not involved until the communication session is established.
  • the communication session establishment unit 430B or the communication destination session establishment unit 460A reports to the connection mediating apparatus 300 that the communication session has been established without any problem. 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 mediating device 300, the communication start request S15 is automatically issued in step S15.
  • the communication start request unit 440A is provided with some condition determination function, and only when the communication source address transmission S14 is received and the predetermined condition is satisfied, the communication start request is issued. S15 may be transmitted.
  • a communication start rejection notification may be transmitted instead of the communication start request S15.
  • a communication source list (so-called black list) that always refuses communication start or a communication source list (so-called white list) that always permits communication start
  • the communication start request unit 440A If the communication source address transmitted by the communication source address transmission S14 is listed in the black list by referring to the list, processing for not transmitting the communication start request S15 is performed. An operation of transmitting a communication start rejection notice can be performed. Alternatively, it is possible to perform an operation in which the communication start request S15 is transmitted only when the communication source address is listed on the white list.
  • the communication source session establishment unit 430B when the communication source session establishing unit 430B makes a communication start request S15 with the communication source terminal device 400A as a communication source, the communication source session establishment unit 430B requests the communication destination terminal device 400A in step S16.
  • the communication start request S15 may be rejected without being accepted, and the communication start acceptance confirmation may not be transmitted (or the communication start acceptance is confirmed). Instead of confirmation, a communication start rejection notice may be transmitted).
  • a communication start rejection notice may be transmitted).
  • ⁇ 3-4 when adopting a modification that improves security, if there is any security problem in the communication start request S15, an operation of rejecting this may be adopted. Is possible. ⁇ ⁇ 3.
  • the 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.
  • This address table T is a table in which the terminal ID and the location address are associated with each terminal device, 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. For example, in the case of the first embodiment shown in FIG.
  • the connection mediation request S2 includes the terminal ID “0020” of the communication destination terminal device 200B as the communication destination specifying information.
  • 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 specifying information.
  • the location address “AD1” corresponding to the terminal ID “0010” can be acquired.
  • the terminal ID of the communication destination terminal device is used as the communication destination specifying information included in the connection mediation request. This terminal ID is information for mutually identifying individual terminal devices.
  • the serial number of the CPU built in each terminal device the MAC address assigned to the communication interface, the mobile phone
  • a terminal ID a telephone number or a SIM card serial number
  • the terminal ID is an ID for identifying individual terminal devices, whereas the user ID is an ID for identifying individual users.
  • a user name or a nickname can be used as a user ID.
  • a correspondence table between the user ID and the terminal ID may be prepared in the communication request receiving units 220 and 420.
  • the communication request receiving units 220 and 420 use the prepared correspondence table to change the user ID to the terminal ID. It is only necessary to convert the information into the connection mediation request units 210 and 410. Then, the connection mediation request units 210 and 410 can transmit the connection mediation request including the terminal ID.
  • Such a conversion processing function from a user ID (for example, a user name) to a terminal ID (for example, a telephone number) is a well-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 mediating apparatus 100 or 300 side can be adopted.
  • an address table T1 as shown in FIG. 10 is stored in the address table storage units 110 and 310 in place of the address table T shown in FIGS.
  • This address table T1 is a table including information that associates, for each individual terminal device, a user ID that identifies the user of the terminal device and a terminal ID of the terminal device.
  • FIG. 10 shows an example in which user names such as “John” and “Mary” are used as user IDs.
  • individual users recorded in the table can be identified from each other. In this way, the full name of each user is registered as a user ID, and if there is a user with the same surname, a user ID that can be distinguished from each other is registered.
  • the self-address notification units 250 and 450 of the terminal devices 200 and 400 are provided with a function of reporting such a user ID to the connection mediating devices 100 and 300, and the address table update units 120 and 320 If a function for registering the user ID that has received the report is provided in the address table T1, an address table T1 as shown in FIG. 10 can be prepared. If the address table T1 is prepared, it is not necessary for the terminal device serving as the communication source to recognize the terminal ID of the terminal device serving as the communication destination. For example, in the example shown in FIG. 4, when a call is made from the communication source terminal device 200A to 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.
  • the connection mediation request S2 including the user ID “Mary” as the communication destination specifying information is transmitted from the connection mediation request unit 210A to the connection mediation apparatus 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, and thereby the terminal ID corresponding to the user name “Mary” included as the communication destination specifying information.
  • “0020” can be recognized, and the location address “AD2” of the communication destination terminal device 200B having the terminal ID “0020” can be recognized.
  • FIG. 11 is a diagram illustrating an address table T2 using an account ID instead of a user ID.
  • the user ID is information for specifying individual users
  • the account ID is information for specifying user accounts established by individual users.
  • the account ID “U11111” 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 notifying unit 250, 450 of the terminal device 200, 400 is provided with an application function for opening such an account, and the address table updating unit 120, 320 has a predetermined user account according to the application.
  • an address table T2 as shown in FIG. 11 can be prepared.
  • the connection mediation request unit 210A becomes “U22222” instead of the terminal ID “0020”.
  • a connection mediation request S2 including the account ID as communication destination specifying information may be transmitted to the connection mediation apparatus 100.
  • the connection mediation request transmitted from the connection mediation request unit includes some “communication destination identification information” that plays the role of identifying the terminal ID of another terminal device that is the communication destination. If it is enough.
  • the “communication destination identification information” may be the terminal ID itself, or may be a user ID or an account ID as in the above example.
  • an address table T1 (FIG. 10) or T2 (FIG. 11) that includes information for associating a user ID that identifies a user of the terminal device or an account ID that identifies a user account with the terminal ID of the terminal device. Try to keep it.
  • the connection mediation request unit 210A transmits a connection mediation request S2 using a user ID that identifies a user of a communication destination terminal device or an account ID that identifies a user account as communication destination specifying information.
  • the communication destination address reply unit 130 refers to the address table T1 or T2 when the connection mediation request S2 is transmitted from the connection mediation request unit 210A, or the user ID included in the connection mediation request S2 or The terminal ID associated with the account ID may be determined, and the process of returning the location address associated with the determined terminal ID as the communication destination address may be performed.
  • the address table storage unit 310 stores each of the individual terminal devices. Stores an address table T1 (FIG. 10) or T2 (FIG.
  • connection mediation request unit 410B transmits a connection mediation request S12 using a user ID for identifying a user of a communication destination terminal device or an account ID for identifying a user account as communication destination specifying information.
  • the communication source address transmission unit 330 refers to the address table T1 or T2 when the connection mediation request S12 is transmitted from the connection mediation request unit 410B, or the user ID included in the connection mediation request S12 or The terminal ID associated with the account ID may be determined, and the process of transmitting the communication source address to the location address associated with the determined terminal ID may be performed.
  • terminal devices that can be used in the present invention, such as personal computers, mobile phones, and tablet terminals, and recently, it is not uncommon for the same user to use a plurality of terminal devices.
  • an address table T3 as shown in FIG. 12 is prepared in advance.
  • the terminal ID and the location address are registered for each of the four user IDs “John”, “Mary”, “Frank”, and “Susie”, but the user ID “John” has 2 Two terminal IDs “0010” and “0011” are registered, and three terminal IDs “0030”, “0031”, and “0032” are registered for the user ID “Frank”.
  • the address table T3 shown in FIG. 12 can be said to be an address table in which one or a plurality of alternative terminal IDs are registered for a specific terminal ID.
  • the address table T3 shown in FIG. 12 can be said to be an address table in which one or a plurality of alternative terminal IDs are registered for a specific terminal ID.
  • one alternative terminal ID “0011” is registered for the terminal ID “0010”, and conversely, one alternative terminal ID “0010” is registered for the terminal ID “0011”. It will be registered.
  • 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”. Therefore, two alternative terminal IDs “0030” and “0031” are registered for the terminal ID “0032”.
  • the call is replaced as an alternative. Can be forwarded to any terminal device.
  • the user John owns a first terminal device (terminal ID “0010”) composed of a smartphone and a second terminal device (terminal ID “0011”) composed of a personal computer.
  • a first terminal device composed of a smartphone
  • a second terminal device composed of a personal computer.
  • the connection mediating apparatus can execute a process of performing an alternative connection to the user John's personal computer instead of the user John's smartphone.
  • the address table storage unit 110 stores an address table (for example, the address table T3 shown in FIG. 12) in which one or a plurality of alternative terminal IDs are registered for a specific terminal ID. Then, a function for determining whether or not each terminal device is in an inconvenient use state is added to the communication destination address reply unit 130. Specifically, for example, a test access is made to the terminal device to be determined, and if there is a normal reply, it is determined that there is no problem, but if a normal reply is not obtained, it is inconvenient to use. What is necessary is just to judge that it is in a proper state.
  • the communication destination address reply unit 130 determines whether or not the terminal device to which the original terminal ID specified by the communication destination specifying information is assigned is in an inconvenient use state. Processing to determine is performed. If the terminal device to which the original terminal ID is assigned is in an inconvenient use state, the location address associated with the alternative terminal ID is returned as the communication destination address instead of the original terminal ID. To perform the process. For example, in the state where the address table T3 shown in FIG.
  • the reply unit 130 first performs a test access to the location address “AD1” corresponding to the terminal ID “0010”, and when there is a normal reply, determines that there is no problem, and follows the location address “AD1” according to a normal procedure. "May be returned as a communication destination address.
  • the communication source terminal device can communicate with the user John's smartphone to which the original terminal ID “0010” is assigned as the communication destination.
  • the terminal device (user John's smartphone) to which the original terminal ID “0010” is assigned is in an inconvenient use state.
  • the location 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 may communicate using the user John's personal computer with the alternative terminal ID “0011” as a communication destination instead of the user John ’s smartphone with the original terminal ID “0010”. it can.
  • the address table storage unit 310 stores an address table (for example, the address table T3 shown in FIG. 12) in which one or a plurality of alternative terminal IDs are registered for a specific terminal ID. Then, a function for determining whether or not each terminal device is in an inconvenient use state is added to the communication source address transmission unit 330. Specifically, as described above, test access is made to the terminal device to be determined, and when there is a normal reply, it is determined that there is no problem, but when a normal reply is not obtained May be determined to be in an inconvenient use state.
  • 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 specifying information is assigned is in an inconvenient use state. Processing to determine is performed. If the terminal device to which the original terminal ID is assigned is in an inconvenient state of use, 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 device that transmitted the request S12 as the communication source address is performed. For example, in the state where the address table T3 shown in FIG.
  • the transmitting unit 330 performs a test access to the location address “AD1” corresponding to the terminal ID “0010”, and determines that there is no problem when there is a normal reply, and the location address “AD1” is determined according to a normal procedure.
  • the communication source address may be transmitted to “ In this case, the communication source terminal device can communicate with the user John's smartphone to which the original terminal ID “0010” is assigned as the communication destination.
  • the terminal device (user John's smartphone) to which the original terminal ID “0010” is assigned is in an inconvenient use state.
  • the communication source terminal device may communicate using the user John's personal computer with the alternative terminal ID “0011” as a communication destination instead of the user John ’s smartphone with the original terminal ID “0010”. it can.
  • a plurality of alternative terminal IDs are registered as in the user Frank shown in FIG.
  • the communication destination address reply unit 130 and the communication source address transmission unit 330 perform the test access to the original communication destination at the time of receiving the connection mediation request, and are in an inconvenient use state. Instead of this, instead of performing periodic test access to individual terminal devices, terminal devices that are in an inconvenient use state are stored in the address table at that time. You may make it record to the effect. In this case, regardless of whether there is a connection mediation request, each terminal device periodically receives a test access and receives a check whether it is in an inconvenient state of use, and the check result is recorded in the address table. Will be.
  • the “unusable state” in this modification does not mean only the “unusable state” such as a state of running out of battery or a state of connection failure to the network.
  • the function of the terminal device is in a state where it can be normally used, but also includes a state where the user thinks that the user does not want to use it arbitrarily and has made such settings. For example, when the user sets “reject incoming call” by his / her own intention, the terminal device enters a “use inconvenient state”.
  • FIG. 13 is a block diagram showing a modified example in which security is improved in the network communication system according to the first embodiment shown in FIG. In this modification, two measures are taken to improve security for the network communication system according to the first embodiment.
  • the first countermeasure is the addition of mutual authentication processing.
  • connection mediation processing for confirming the authenticity of the other party is performed 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. Mutual authentication processing is performed to confirm the authenticity of.
  • the arrow indicating the connection mediation request S2 is a broken line, indicating that this mutual authentication process is performed. Therefore, each terminal device 200 and the connection mediating device 100 have such an authentication processing function.
  • the mutual authentication processing when the connection mediating apparatus 100 performs the communication destination address reply S4 to the communication source terminal apparatus 200A is omitted (the arrow indicating the communication destination address reply S4 is a solid line). 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 counterpart device has been confirmed. Because. Of course, the mutual authentication process may be executed again when the communication destination address reply S4 is performed. In the case of the system shown in FIG. 13, when the communication start terminal device 200A transmits a communication start request S5 to the communication destination terminal device 200B, the communication source terminal device 200A and the communication destination terminal device 200B are also connected.
  • each terminal device 200 has such an authentication processing function.
  • the mutual authentication process when the communication destination terminal device 200B performs the communication start acceptance confirmation S6 to the communication source terminal device 200A is omitted (the arrow indicating the communication start acceptance confirmation S6 is a solid line) Drawn in). This is because when the communication start request S5 is transmitted, the mutual authentication process between the communication source terminal device 200A and the communication destination terminal device 200B has already been completed, and the authenticity of the counterpart device has been confirmed. Because it is.
  • the mutual authentication process may be executed again when the communication start acceptance confirmation S6 is performed. Since 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, detailed description thereof is omitted here. In general, mutual authentication processing using the other party's encryption key is often used. For example, in mutual authentication processing using a public key cryptosystem, one device encrypts specific plaintext data using the other device's public key, and transmits the obtained ciphertext data to the other device and receives it. In the other apparatus, it is possible to adopt a processing procedure such as decrypting the ciphertext data using its own encryption key and confirming that the original plaintext data can be restored.
  • the mutual authentication process between the communication source terminal device 200A and the communication destination terminal device 200B is performed using the respective encryption keys, the two after the communication session is established using the encryption keys. If the communication S7 is performed by encrypted communication, security can be further improved. Specifically, the mutual authentication process when transmitting the communication start request S5 is performed by a process using the encryption key for the communication source terminal apparatus 200A and the encryption key for the communication destination terminal apparatus 200B, and the communication source terminal If the communication S7 after establishment of the communication session between the device 200A and the communication destination terminal device 200B is performed by packet communication in which a packet encrypted using the encryption key used in the mutual authentication process is transmitted and received. Good.
  • the second countermeasure taken to improve security is issuance of a mediation certificate by the connection mediating apparatus 100.
  • the connection mediating apparatus 100 plays a role of mediating the connection between the communication source terminal apparatus 200A and the communication destination terminal apparatus 200B.
  • the mediation certificate is a certificate issued by the connection mediating apparatus 100 to prove the fact that “such mediation has been performed”.
  • the communication destination terminal device 200B can confirm that the mediation by the connection mediating device 100 is correctly performed based on the mediation certificate.
  • the mechanism will be described in order. First, when there is a connection mediation request S2 from the connection mediation request unit 210A to the communication destination address reply unit 130, the communication destination address reply unit 130 receives the transmission of the connection mediation request S2 and specifies the communication source.
  • the communication destination session establishment unit 230B confirms the validity of the mediation certificate when the mediation certificate is transmitted together with the communication start request S5 with itself as the communication destination from another terminal device 200A that is the communication source.
  • a communication start acceptance confirmation S6 is transmitted to another terminal device 200A of the communication source, a communication session is established with another terminal device 200A of the communication source, and communication S7 is started.
  • the communication start acceptance confirmation S6 is not transmitted, and the communication S7 is not started.
  • the mediation certificate in the above example proves that the connection mediating apparatus 100 “executes mediation processing from the terminal apparatus 200A to the terminal apparatus 200B”, and therefore the communication destination session establishment unit 230B.
  • 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 a communication start acceptance confirmation S6 to the communication source terminal device 200A, and then receives the communication session. Is established and communication S7 is performed.
  • the communication destination address reply unit 130 may create the mediation certificate by the following method, for example.
  • the location address (“AD1” in the illustrated example) of the specific terminal device 200A serving as the communication source and the location address (“AD1” in the illustrated example “ AD2 ”) is recognized.
  • the intermediary certification data including both addresses is created.
  • a character string such as “AD1” + “AD2” may be used as intermediary certification data by concatenating the character strings of both addresses, and further, another secret character string “HAPPY” is added, A character string such as “AD1” + “AD2” + “HAPPY” may be used as mediation certification data.
  • the data obtained by applying a one-way function using a predetermined encryption key to the mediation certification data thus created may be used as the mediation certificate.
  • an encryption key for the communication source terminal device 200A an encryption key for the communication destination terminal device 200B, or a hash function using both of these encryption keys can be used.
  • the intermediation certification data is composed of a character string “AD1” + “AD2” + “HAPPY”, and mediation is performed by applying a hash function using the public key of the communication destination terminal device 200B to the character string.
  • the mediation certificate created in this way is a hash value of mediation certificate data.
  • the communication destination session establishment unit 230B that has received the mediation certificate together with the communication start request S5 can confirm the validity of the mediation certificate in the following procedure.
  • the location address “AD1” of the communication source terminal device 200A can be recognized as the transmission source address of the communication start request S5.
  • the user's own location address “AD2” can be recognized.
  • “AD1” + Data for intermediation certification consisting of a character string “AD2” + “HAPPY” is created.
  • a mediation certificate is created by applying a hash function using its own public key to the mediation certification data. Finally, it is only necessary to confirm that the mediation certificate created in this way matches the mediation certificate transmitted with the communication start request S5.
  • the validity of the mediation certificate is confirmed.
  • the legitimacy cannot be confirmed, so it can be determined that there is a possibility that some kind of fraud has been performed. That is, when the validity of the mediation certificate cannot be confirmed, it is determined that the communication start request S5 received by the communication destination session establishing unit 230B is not made based on the regular mediation processing by the connection mediating apparatus 100. be able to. In such a case, the communication destination session establishment unit 230B does not transmit the communication start acceptance confirmation S6 and rejects establishment of the communication session.
  • the hash value for the mediation certification data “AD1” + “AD2” + “HAPPY” is used as the mediation certificate.
  • the mediation certification data itself is used as the mediation certificate. It is also possible. However, in order to ensure sufficient security, it is preferable to use the hash value as the mediation certificate rather than the mediation certification data itself. Since the intermediary certification data includes location addresses such as “AD1” and “AD2”, the data is likely to be tampered with by a cracker. Therefore, in practice, as in the above example, it is preferable to create an intermediary certificate by applying a one-way function using some kind of encryption key. If an intermediary certificate is created using a one-way function such as a hash function, the original intermediary certificate data cannot be restored. The possibility of receiving can be reduced.
  • FIG. 14 is a block diagram showing a modified example in which security is improved in the network communication system according to the second embodiment shown in FIG.
  • the first countermeasure is the addition of mutual authentication processing.
  • mutual authentication processing for confirming the authenticity of the other party is performed 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's devices. Mutual authentication processing is performed to confirm the authenticity of.
  • the arrow indicating the connection mediation request S12 is a broken line, indicating that this mutual authentication process is performed.
  • connection mediating device 300 performs the communication source address transmission S14 to the communication destination terminal device 400A
  • the authenticity of the other device between the connection mediating device 300 and the communication destination terminal device 400A is performed.
  • the arrow indicating the connection mediation request S14 is a broken line, indicating that this mutual authentication process is performed. Therefore, each terminal device 400 and the connection mediating device 300 have the authentication processing function described above.
  • the communication start request S15 is transmitted from the communication destination terminal device 400A to the communication source terminal device 400B
  • the communication destination terminal device 400A and the communication source terminal device 400B are also connected. Then, mutual authentication processing is performed to mutually confirm the authenticity of the counterpart devices.
  • the arrow indicating the communication start request S15 is a broken line, indicating that this mutual authentication process is performed. Accordingly, each terminal device 400 has such an authentication processing function.
  • the mutual authentication process when the communication source terminal device 400B performs the communication start acceptance confirmation S16 to the communication destination terminal device 400A is omitted (the arrow indicating the communication start acceptance confirmation S16 is a solid line) 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 counterpart device has been confirmed. Because it is. Of course, the mutual authentication process may be executed again when the communication start acceptance confirmation S16 is performed.
  • the specific method of mutual authentication processing is as already described in ⁇ 3-3.
  • the communication S17 between the two terminal devices after establishment of the communication session may be performed by encrypted communication using the encryption key used for the mutual authentication process.
  • the second countermeasure taken to improve security is issuance of a mediation certificate by the connection mediating apparatus 300.
  • the connection mediating apparatus 300 plays a role of mediating the connection between the communication source terminal apparatus 400B and the communication destination terminal apparatus 400A.
  • the mediation certificate is a certificate issued by the connection mediating apparatus 300 in order to prove the fact that “such mediation is surely performed”.
  • the communication source terminal device 400B can confirm that the mediation by the connection mediating device 300 is correctly performed based on the mediation certificate.
  • the communication source address transmission unit 330 receives the transmission of the connection mediation request S12 and specifies the communication source.
  • a mediation certificate indicating that the mediation processing from the terminal device 400B to the specific terminal device 400A as the communication destination has been executed is issued.
  • the communication source address reply S14 is performed, the mediation certificate is returned to the communication destination terminal device 400A together with the communication source address “AD2”. Therefore, the communication start request unit 440A receives this mediation certificate together with the communication source address “AD2”.
  • the communication start request unit 440A transmits this mediation certificate together when making the communication start request S15 for the communication source address “AD2”. Then, the communication source session establishment unit 430B receives the mediation certificate together with the communication start request S15. The communication source session establishment unit 430B confirms the validity of the mediation certificate when the mediation certificate is transmitted together with the communication start request S15 having itself as the communication source from another terminal device 400A as the communication destination. As a condition, a communication start acceptance confirmation S16 is transmitted to another terminal device 400A at the communication destination, a communication session is established with another terminal device 400A at the communication destination, and communication S17 is started. To.
  • the mediation certificate in the above example proves that the connection mediating apparatus 300 “executes mediation processing from the terminal apparatus 400B to the terminal apparatus 400A”, and therefore, the communication source session establishment unit 430B. Can determine the validity of the mediation certificate by determining whether or not the content of the communication start request S15 matches the certification content of the mediation certificate.
  • the communication start request S15 has been transmitted from the terminal device 400A, and since the self-confidence is the terminal device 400B, the mediation proof that “the mediation process from the terminal device 400B to the terminal device 400A has been executed” is performed. The book can be judged to be 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 a communication start acceptance confirmation S16 to the communication destination terminal device 400A, and then receives the communication session. Is established and communication S17 is performed.
  • the received communication start request S15 is a legitimate signal, there is no problem, but if it is a camouflaged signal by a cracker, there is a risk of suffering fraud.
  • the communication destination terminal device 400A is infected with malware, the communication device 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 mediating device 300. There is also a possibility.
  • the specific method for creating the broker certificate is as described in ⁇ 3-3. That is, in the case of the modification shown in FIG. 14, the communication source address transmission unit 330 also includes the location address “AD2” of the specific terminal device 400B serving as the communication source and the location address “specific address of the specific terminal device 400A serving as the communication destination.
  • the intermediary certificate is obtained by applying a one-way function using a predetermined encryption key to intermediary certification data including "AD1" (other secret character strings may be added as necessary). Create it.
  • the one-way function an encryption key for the communication source, an encryption key for the communication destination, or a hash function using both encryption keys can be used.
  • the specific procedure for confirming the validity using such an intermediation certificate is as already described in ⁇ 3-3, and the description thereof is omitted here.
  • the network communication system is a technology that enables communication between arbitrary terminal devices in a state where various terminal devices that can be connected to the Internet, such as personal computers, mobile phones, and tablet terminals, are used. It is provided and has sufficient industrial applicability.

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

通信元端末(200A)の通信要求受付部(220A)に通信先端末(200B)への通信要求(S1)が与えられると、接続仲介依頼部(210A)から接続仲介装置(100)に対して接続仲介依頼(S2)が送信される。通信先アドレス返信部(130)が、アドレステーブル格納部(110)内のテーブルを参照して、通信先端末(200B)の所在アドレス(AD2)を返信(S4)すると、通信開始要求部(240A)が当該アドレス(AD2)宛に通信開始要求を送信(S5)する。通信先セッション確立部(230B)は、この通信開始要求に応じて、通信開始受諾確認(S6)を返信する。通信元セッション確立部(260A)が、通信先セッション確立部(230B)からの通信開始受諾確認を受信すると、両者間に通信セッションが確立し、相互通信(S7)が開始される。

Description

ネットワーク通信システム
 本発明は、ネットワークを介した端末間通信を行うためのネットワーク通信システムに関する。
 今日、パソコンやスマートフォンをはじめとする様々な端末装置がインターネットに接続されるようになってきており、ネットワークを介した端末間通信も広く普及している。ただ、インターネットのような公衆ネットワークを利用して端末間通信を行う上では、セキュリティを確保する上で何らかの工夫を施す必要がある。また、モバイル端末の場合、ネットワーク上での所在が時間的に変化するため、通信先となる端末の現時点での所在アドレスを何らかの方法で認識する必要がある。
 このような観点から、従来の一般的なネットワーク通信システムでは、端末装置間の通信を取り継ぐ役割を果たす中継装置が設けられている。たとえば、下記の特許文献1には、第1の端末装置と中継装置との間にセキュアな第1の通信チャネルを確保し、第2の端末装置と中継装置との間にセキュアな第2の通信チャネルを確保して、中継装置を介して両端末装置間で通信を行うネットワーク通信システムが開示されている。ただ、このような中継装置を利用したシステムでは、両端末間の通信データがすべて中継装置を経由することになるため、中継装置に多大な処理負荷がかかるという問題がある。
 そこで、最近は、SIP(Session Initiation Protocol)と呼ばれるプロトコルを利用して、ネットワーク上に設けられた接続仲介装置により、両端末間での通信セッション確立の取り継ぎを行い、通信セッション確立後は、両端末間で直接通信を行う方式が提案されている。たとえば、下記の特許文献2,3には、このSIPを利用して端末間におけるVPN通信を実現するネットワーク通信システムが開示されている。このシステムにおける接続仲介装置は、通信データのすべてを中継する必要はなく、両端末間に通信セッションが確立されるまでの手助けを行えばよいので、従来の中継装置に比べて処理負荷が大幅に軽減される。
特開2005−229436号公報 特開2010−233167号公報 特開2013−038684号公報
 上述したとおり、特許文献2,3に開示されているネットワーク通信システムに用いられる接続仲介装置は、SIPを利用して両端末間の接続仲介処理を行うことになる。この接続仲介処理は、両端末間に通信セッションが確立されるまでの一時的な処理であるため、特許文献1に開示されている従来型の中継処理に比べれば、その処理負荷は軽減されることになる。しかしながら、両端末間に通信セッションが確立するまで関与する必要があるため、多数の端末装置から同時に仲介依頼があると、その処理負荷は無視できないものになる。このため、仲介依頼が集中すると、通信セッション確立までの一時的な仲介処理であっても、システムの処理能力を超えてしまうおそれがある。
 そこで本発明は、一対の端末装置間の接続を仲介する際の処理負荷を、より軽減することが可能なネットワーク通信システムを提供することを目的とする。
 (1) 本発明の第1の態様は、第1の実施形態に係る基本態様であり、ネットワークを介して相互に接続可能な複数の端末装置と、複数の端末装置間の接続を仲介する接続仲介装置と、を備えたネットワーク通信システムにおいて、
 複数の端末装置には、個々の端末装置を相互に識別するための端末IDをそれぞれ付与し、接続仲介装置が、端末IDを利用して通信元となる端末装置と通信先となる端末装置との間の接続を仲介する処理を実行するようにし、
 複数の端末装置のそれぞれには、
 自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置に対して通知する自己アドレス通知部と、
 自己を通信元として、通信先の別な端末装置に対する通信要求を受け付ける通信要求受付部と、
 通信要求受付部によって通信要求が受け付けられたときに、接続仲介装置に対して、通信先の別な端末装置の端末IDを特定するための通信先特定情報を含む接続仲介依頼を送信する接続仲介依頼部と、
 接続仲介依頼に応じて、接続仲介装置から、通信先の別な端末装置のネットワーク上での所在を示す通信先アドレスが返信されてきたときに、ネットワークを介して、通信先アドレスにアクセスして通信開始要求を行う通信開始要求部と、
 通信開始要求に応じて、通信先の別な端末装置から、通信開始受諾確認が返信されてきたら、通信先の別な端末装置との間に通信セッションを確立して通信を開始する通信元セッション確立部と、
 通信元の別な端末装置から、自己を通信先とする通信開始要求がなされたら、通信元の別な端末装置に対して通信開始受諾確認を送信し、通信元の別な端末装置との間に通信セッションを確立して通信を開始する通信先セッション確立部と、
 を設けるようにし、
 接続仲介装置には、
 端末装置のそれぞれについて、端末IDと所在アドレスとを対応づけたアドレステーブルを格納するアドレステーブル格納部と、
 端末装置の自己アドレス通知部からの通知に基づいて、アドレステーブルの内容を更新するアドレステーブル更新部と、
 端末装置の接続仲介依頼部から、接続仲介依頼が送信されてきたときに、アドレステーブルを参照して、接続仲介依頼に含まれている通信先特定情報によって特定される端末IDに対応づけられている所在アドレスを通信先アドレスとして返信する通信先アドレス返信部と、
 を設けるようにしたものである。
 (2) 本発明の第2の態様は、上述した第1の態様に係るネットワーク通信システムにおいて、
 通信元となる端末装置から接続仲介装置に対して接続仲介依頼を送信するときに、通信元となる端末装置と接続仲介装置との間で、相互に相手方の装置の真正性を確認するための相互認証処理が行われるように、端末装置および接続仲介装置に認証処理機能を設けるようにしたものである。
 (3) 本発明の第3の態様は、上述した第1または第2の態様に係るネットワーク通信システムにおいて、
 通信元となる端末装置から通信先となる端末装置に対して通信開始要求を送信するときに、通信元となる端末装置と通信先となる端末装置との間で、相互に相手方の装置の真正性を確認するための相互認証処理が行われるように、各端末装置に認証処理機能を設けるようにしたものである。
 (4) 本発明の第4の態様は、上述した第3の態様に係るネットワーク通信システムにおいて、
 相互認証処理を、通信元についての暗号鍵および通信先についての暗号鍵を用いた処理によって行い、
 通信元となる端末装置と通信先となる端末装置との間における通信セッション確立後の通信が、相互認証処理で用いた暗号鍵を用いて暗号化されたパケットを送受するパケット通信によって行われるようにしたものである。
 (5) 本発明の第5の態様は、上述した第1~第4の態様に係るネットワーク通信システムにおいて、
 通信先アドレス返信部が、接続仲介依頼が送信されてきたときに、通信元となる特定の端末装置から通信先となる特定の端末装置への仲介処理を実行したことを示す仲介証明書を発行し、この仲介証明書を通信先アドレスとともに、通信元となる端末装置に返信し、
 通信開始要求部が、通信先アドレスに対して通信開始要求を行う際に、仲介証明書を送信し、
 通信先セッション確立部が、通信元の別な端末装置から、自己を通信先とする通信開始要求とともに仲介証明書が送信されてきたら、仲介証明書の正当性が確認されることを条件として、通信元の別な端末装置に対して通信開始受諾確認を送信し、通信元の別な端末装置との間に通信セッションを確立して通信を開始するようにしたものである。
 (6) 本発明の第6の態様は、上述した第5の態様に係るネットワーク通信システムにおいて、
 通信先アドレス返信部が、通信元となる特定の端末装置の所在アドレスおよび通信先となる特定の端末装置の所在アドレスを含む仲介証明用データに対して、所定の暗号鍵を利用した一方向性関数を作用させることにより仲介証明書を作成するようにしたものである。
 (7) 本発明の第7の態様は、上述した第1~第6の態様に係るネットワーク通信システムにおいて、
 アドレステーブル格納部が、個々の端末装置のそれぞれについて、当該端末装置のユーザを特定するユーザIDもしくはユーザアカウントを特定するアカウントIDと、当該端末装置の端末IDと、を対応づける情報を含むアドレステーブルを格納しており、
 接続仲介依頼部が、通信先特定情報として、通信先の端末装置のユーザを特定するユーザIDもしくはユーザアカウントを特定するアカウントIDを用い、
 通信先アドレス返信部が、接続仲介依頼部から接続仲介依頼が送信されてきたときに、アドレステーブルを参照して、接続仲介依頼に含まれていたユーザIDもしくはアカウントIDに対応づけられている端末IDを決定し、決定された端末IDに対応づけられている所在アドレスを通信先アドレスとして返信するようにしたものである。
 (8) 本発明の第8の態様は、上述した第1~第7の態様に係るネットワーク通信システムにおいて、
 アドレステーブル格納部が、特定の端末IDについて、1つもしくは複数の代替端末IDを登録したアドレステーブルを格納しており、
 通信先アドレス返信部が、個々の端末装置について利用不都合な状態にあるか否かを判定する機能を有し、接続仲介依頼が送信されてきたときに、通信先特定情報で特定される本来の端末IDが付与された端末装置が利用不都合な状態にある場合には、当該本来の端末IDに代えて代替端末IDに対応づけられている所在アドレスを通信先アドレスとして返信するようにしたものである。
 (9) 本発明の第9の態様は、第2の実施形態に係る基本態様であり、ネットワークを介して相互に接続可能な複数の端末装置と、複数の端末装置間の接続を仲介する接続仲介装置と、を備えたネットワーク通信システムにおいて、
 複数の端末装置には、個々の端末装置を相互に識別するための端末IDをそれぞれ付与し、接続仲介装置が、端末IDを利用して通信元となる端末装置と通信先となる端末装置との間の接続を仲介する処理を実行するようにし、
 複数の端末装置のそれぞれには、
 自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置に対して通知する自己アドレス通知部と、
 自己を通信元として、通信先の別な端末装置に対する通信要求を受け付ける通信要求受付部と、
 通信要求受付部によって通信要求が受け付けられたときに、接続仲介装置に対して、通信先の別な端末装置の端末IDを特定するための通信先特定情報を含む接続仲介依頼を送信する接続仲介依頼部と、
 接続仲介装置から、通信元の別な端末装置のネットワーク上での所在を示す通信元アドレスが送信されてきたときに、ネットワークを介して、通信元アドレスにアクセスして通信開始要求を行う通信開始要求部と、
 通信開始要求に応じて、通信元の別な端末装置から、通信開始受諾確認が返信されてきたら、通信元の別な端末装置との間に通信セッションを確立して通信を開始する通信先セッション確立部と、
 通信先の別な端末装置から、自己を通信元とする通信開始要求がなされたら、通信先の別な端末装置に対して通信開始受諾確認を送信し、通信先の別な端末装置との間に通信セッションを確立して通信を開始する通信元セッション確立部と、
 を設けるようにし、
 接続仲介装置には、
 端末装置のそれぞれについて、端末IDと所在アドレスとを対応づけたアドレステーブルを格納するアドレステーブル格納部と、
 端末装置の自己アドレス通知部からの通知に基づいて、アドレステーブルの内容を更新するアドレステーブル更新部と、
 端末装置の接続仲介依頼部から、接続仲介依頼が送信されてきたときに、アドレステーブルを参照して、接続仲介依頼に含まれている通信先特定情報によって特定される端末IDに対応づけられている所在アドレスに対して、接続仲介依頼を送信した通信元の端末装置の端末IDに対応づけられている所在アドレスを通信元アドレスとして送信する通信元アドレス送信部と、
 を設けるようにしたものである。
 (10) 本発明の第10の態様は、上述した第9の態様に係るネットワーク通信システムにおいて、
 通信元となる端末装置から接続仲介装置に対して接続仲介依頼を送信するときおよび接続仲介装置から通信先となる端末装置に対して通信元アドレスを送信するときに、通信元となる端末装置と接続仲介装置との間および接続仲介装置と通信先となる端末装置との間で、相互に相手方の装置の真正性を確認するための相互認証処理が行われるように、端末装置および接続仲介装置に認証処理機能を設けるようにしたものである。
 (11) 本発明の第11の態様は、上述した第9または第10の態様に係るネットワーク通信システムにおいて、
 通信先となる端末装置から通信元となる端末装置に対して通信開始要求を送信するときに、通信先となる端末装置と通信元となる端末装置との間で、相互に相手方の装置の真正性を確認するための相互認証処理が行われるように、各端末装置に認証処理機能を設けるようにしたものである。
 (12) 本発明の第12の態様は、上述した第11の態様に係るネットワーク通信システムにおいて、
 相互認証処理を、通信元についての暗号鍵および通信先についての暗号鍵を用いた処理によって行い、
 通信元となる端末装置と通信先となる端末装置との間における通信セッション確立後の通信が、相互認証処理で用いた暗号鍵を用いて暗号化されたパケットを送受するパケット通信によって行われるようにしたものである。
 (13) 本発明の第13の態様は、上述した第9~第12の態様に係るネットワーク通信システムにおいて、
 通信元アドレス送信部が、接続仲介依頼が送信されてきたときに、通信元となる特定の端末装置から通信先となる特定の端末装置への仲介処理を実行したことを示す仲介証明書を発行し、この仲介証明書を通信元アドレスとともに、通信先となる端末装置に送信し、
 通信開始要求部が、通信元アドレスに対して通信開始要求を行う際に、仲介証明書を送信し、
 通信元セッション確立部が、通信先の別な端末装置から、自己を通信元とする通信開始要求とともに仲介証明書が送信されてきたら、仲介証明書の正当性が確認されることを条件として、通信先の別な端末装置に対して通信開始受諾確認を送信し、通信先の別な端末装置との間に通信セッションを確立して通信を開始するようにしたものである。
 (14) 本発明の第14の態様は、上述した第13の態様に係るネットワーク通信システムにおいて、
 通信元アドレス送信部が、通信元となる特定の端末装置の所在アドレスおよび通信先となる特定の端末装置の所在アドレスを含む仲介証明用データに対して、所定の暗号鍵を利用した一方向性関数を作用させることにより仲介証明書を作成するようにしたものである。
 (15) 本発明の第15の態様は、上述した第9~第14の態様に係るネットワーク通信システムにおいて、
 アドレステーブル格納部が、個々の端末装置のそれぞれについて、当該端末装置のユーザを特定するユーザIDもしくはユーザアカウントを特定するアカウントIDと、当該端末装置の端末IDと、を対応づける情報を含むアドレステーブルを格納しており、
 接続仲介依頼部が、通信先特定情報として、通信先の端末装置のユーザを特定するユーザIDもしくはユーザアカウントを特定するアカウントIDを用い、
 通信元アドレス送信部が、接続仲介依頼部から接続仲介依頼が送信されてきたときに、アドレステーブルを参照して、接続仲介依頼に含まれていたユーザIDもしくはアカウントIDに対応づけられている端末IDを決定し、決定された端末IDに対応づけられている所在アドレスに対して、通信元の端末装置の端末IDに対応づけられている所在アドレスを通信元アドレスとして送信するようにしたものである。
 (16) 本発明の第16の態様は、上述した第9~第15の態様に係るネットワーク通信システムにおいて、
 アドレステーブル格納部が、特定の端末IDについて、1つもしくは複数の代替端末IDを登録したアドレステーブルを格納しており、
 通信元アドレス送信部が、個々の端末装置について利用不都合な状態にあるか否かを判定する機能を有し、接続仲介依頼が送信されてきたときに、通信先特定情報で特定される本来の端末IDが付与された端末装置が利用不都合な状態にある場合には、当該本来の端末IDに代えて代替端末IDに対応づけられている所在アドレスに対して、接続仲介依頼を送信した通信元の端末装置の端末IDに対応づけられている所在アドレスを通信元アドレスとして送信するようにしたものである。
 (17) 本発明の第17の態様は、上述した第1~第16の態様に係るネットワーク通信システムにおいて、
 自己アドレス通知部が、所定周期で繰り返して、もしくは、所在アドレスが変更になったときに、現時点の所在アドレスを通知するようにしたものである。
 (18) 本発明の第18の態様は、上述した第1~第17の態様に係るネットワーク通信システムにおいて、
 端末装置のネットワーク上での所在を示す所在アドレスとして、グローバルIPアドレスもしくはNAT−IDを用いるようにしたものである。
 (19) 本発明の第19の態様は、上述した第6または第14の態様に係るネットワーク通信システムにおいて、
 一方向性関数として、通信元についての暗号鍵もしくは通信先についての暗号鍵、または、これら双方の暗号鍵を利用したハッシュ関数を用いるようにしたものである。
 (20) 本発明の第20の態様は、上述した第1~第19の態様に係るネットワーク通信システムにおける複数の端末装置を構成する1台の端末装置に係るものである。
 (21) 本発明の第21の態様は、上述した第1~第19の態様に係るネットワーク通信システムにおける接続仲介装置に係るものである。
 (22) 本発明の第22の態様は、上述した第20の態様に係る端末装置もしくは上述した第21の態様に係る接続仲介装置を、コンピュータにプログラムを組み込むことにより構成するようにしたものである。
 本発明のネットワーク通信システムによれば、接続仲介装置は、両端末間に通信セッションが確立する最終段階まで関与する必要はなく、通信元の端末装置に対して通信先アドレスを伝達する段階(第1の実施形態の場合)、あるいは、通信先の端末装置に対して通信元アドレスを伝達する段階(第2の実施形態の場合)まで行えば足りる。したがって、従来のSIPを利用して両端末間の接続仲介処理を行うシステムに比べて、一対の端未装置間の接続を仲介する際の処理負荷を、より軽減することが可能になる。
 図1は、本発明の第1の実施形態に係るネットワーク通信システムの全体構成を示すブロック図である。
 図2は、図1に示すネットワーク通信システムの端末装置の詳細構成を示すブロック図である。
 図3は、図2に示す端末装置における自己アドレス通知部250の機能を示すブロック図である。
 図4は、図1に示すネットワーク通信システムにおいて、通信元端末装置200Aと通信先端末装置200Bとの間の通信セッション確立の手順を示すブロック図である。
 図5は、図4のブロック図に示されている通信セッション確立手順を時系列で説明する流れ図である。
 図6は、本発明の第2の実施形態に係るネットワーク通信システムの全体構成を示すブロック図である。
 図7は、図6に示すネットワーク通信システムの端末装置の詳細構成を示すブロック図である。
 図8は、図6に示すネットワーク通信システムにおいて、通信元端末装置400Bと通信先端末装置400Aとの間の通信セッション確立の手順を示すブロック図である。
 図9は、図8のブロック図に示されている通信セッション確立手順を時系列で説明する流れ図である。
 図10は、図1もしくは図6に示すアドレステーブルの第1の変形例を示す図である。
 図11は、図1もしくは図6に示すアドレステーブルの第2の変形例を示す図である。
 図12は、図1もしくは図6に示すアドレステーブルの第3の変形例を示す図である。
 図13は、図1に示すネットワーク通信システムにおいて、通信元端末装置200Aと通信先端末装置200Bとの間の通信セッション確立の手順の変形例を示すブロック図である。
 図14は、図6に示すネットワーク通信システムにおいて、通信元端末装置400Bと通信先端末装置400Aとの間の通信セッション確立の手順の変形例を示すブロック図である。
 以下、本発明を図示する実施形態に基づいて説明する。
 <<< §1. 第1の実施形態 >>>
 <1−1. 第1の実施形態の構成>
 図1は、本発明の第1の実施形態に係るネットワーク通信システムの全体構成を示すブロック図である。図示のとおり、このネットワーク通信システムは、接続仲介装置100と複数の端末装置200A~200Dによって構成されており、これらの各装置はいずれもネットワークN(この例では、インターネット)を介して相互に接続することが可能である。
 図では、説明の便宜上、4台の端末装置200A~200Dを用いた例を示すことにするが、実用上は、より多数の端末装置を利用するのが一般的である。各端末装置200A~200Dは、共通の構成を有する同一の装置である。そこで、ここでは、この共通の端末装置について言及する場合は符号200を用いて示し、相互に区別する必要がある場合には、符号末尾にA~Dを付して示すことにする。端末裝置200の内部構成要素を示す各符号についても同様である。
 結局、このネットワーク通信システムは、ネットワークNを介して相互に接続可能な複数の端末装置200A~200Dと、これら複数の端末装置間の接続を仲介する接続仲介装置100と、を備えたシステムということになる。端末装置200としては、パソコン、携帯電話、タブレット型端末など、ネットワークNに接続して通信を行う機能を有する様々な電子機器を利用することができる。一方、接続仲介装置100は、これら各端末装置200A~200DからネットワークNを介してアクセスを受けるサーバコンピュータによって構成されている。
 各端末装置200A~200Dには、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、接続仲介装置100は、この端末IDを利用して通信元となる端末装置と通信先となる端末装置との間の接続を仲介する処理を実行する。ここでは、図示のとおり、端末装置200A,200B,200C,200Dには、それぞれ「0010」,「0020」,「0030」,「0040」なる端末IDが付与されているものとする。
 なお、本発明を実施する上で、端末IDは、個々の端末装置を相互に識別することができる情報であれば、どのような情報であってもかまわない。図示の例では、4台の端末装置しか用いられていないため、「0010」のような4桁の数字を端末IDとして用いれば十分であるが、各端末装置を相互に識別するためには、ユニークなIDを用いる必要があるので、実用上は、より桁数の多い数字もしくは数字とアルファベットの組み合わせを用いるのが好ましい。具体的には、個々の端末装置に内蔵されているCPUのシリアル番号、通信インターフェイスに付与されたMACアドレス、携帯電話を端末装置として用いる場合は電話番号やSIMカードのシリアル番号、などを端末IDとして用いることが可能である。
 各端末装置200A~200Dには、それぞれ自己のネットワーク上での所在を示す所在アドレスが付与されている。図示の例の場合、端末装置200A,200B,200C,200Dには、それぞれAD1,AD2,AD3,AD4なる所在アドレスが付与されている。所在アドレスとしては、ネットワーク上で当該端末装置の所在を一義的に決定できるアドレスであれば、どのようなアドレスを用いてもよい。図示の例のように、ネットワークNとしてインターネットを用い、通信プロトコルとしてIPを利用する場合は、個々の端末装置200のネットワークN上での所在を示す所在アドレスとして、グローバルIPアドレスもしくはNAT−IDを用いるのが好ましい。
 端末IDが、個々の端末装置を相互に識別するために必要な情報であるのに対して、所在アドレスは、ネットワークNを介して個々の端末装置をアクセスするために必要な情報である。しかも多くの端末装置の場合、所在アドレスは常に一定ではなく、時事刻々と変化する。たとえば、携帯電話やモバイルパソコンなどの携帯型端末装置の場合、移動とともに交信相手となる基地局が変化するため、所在アドレスも時間的に変化する。また、デスクトップ型パソコンのような定点設置型の端末装置の場合も、プロバイダから付与されるIPアドレスなどが更新されるため、やはり所在アドレスが時間的に変化するのが一般的である。
 後述するように、本発明に用いる端末装置200は、自己のネットワーク上での所在を示す所在アドレスを、ネットワークNを介して接続仲介装置100に通知する機能を有している。このため、接続仲介装置100は、各端末装置200A~200Dの最新アドレスを常に把握することができ、必要に応じて、各端末装置200A~200Dにアクセスすることが可能である。
 図示のとおり、接続仲介装置100には、アドレステーブル格納部110、アドレステーブル更新部120、通信先アドレス返信部130が設けられている。前述したとおり、この接続仲介装置100は、実際には、サーバコンピュータなどのコンピュータによって構成される。したがって、図に個々のブロックとして示されている各構成要素は、実際には、コンピュータに専用のプログラムを組み込むことにより構築されることになる。
 アドレステーブル格納部110には、各端末装置200A~200Dのそれぞれについて、端末IDと所在アドレスとを対応づけたアドレステーブルTが格納されており、アドレステーブル更新部120は、各端末装置200A~200Dからの通知に基づいて、このアドレステーブルTの内容を更新する処理を行う。また、通信先アドレス返信部130は、各端末装置200A~200Dから接続仲介依頼があると、アドレステーブルTを参照することにより、通信先アドレスを返信する処理を行う。
 図には、アドレステーブルTとして、4台の端末装置200A~200Dのそれぞれについて、端末IDと所在アドレスとの対応関係を示す情報が格納されている。具体的には、端末装置200Aについては端末ID「0010」と所在アドレス「AD1」とが対応づけられ、端末装置200Bについては端末ID「0020」と所在アドレス「AD2」とが対応づけられ、端末装置200Cについては端末ID「0030」と所在アドレス「AD3」とが対応づけられ、端末装置200Dについては端末ID「0040」と所在アドレス「AD4」とが対応づけられている。
 続いて、図2を参照しながら、端末装置200の詳細構成および個々の構成要素の具体的な処理動作を説明する。図示のとおり、端末装置200には、接続仲介依頼部210、通信要求受付部220、通信先セッション確立部230、通信開始要求部240、自己アドレス通知部250、通信元セッション確立部260が設けられている。
 この端末装置200も、実際には、種々のコンピュータ(携帯電話などの機器も含む)によって構成され、図に個々のブロックとして示されている各構成要素は、実際には、コンピュータに専用のプログラムを組み込むことにより構築される。なお、実際の端末装置200には、この他にも種々の構成要素が組み込まれている。たとえば、端末装置200がスマートフォンであれば、様々なアプリケーションプログラムを組み込むことにより、様々な処理機能をもった構成要素が付加されることになるが、ここでは、本発明に直接関係する構成要素のみを図にブロックとして示すことにし、その他の構成要素についての説明は省略する。もちろん、端末装置200には、ユーザからの指示入力や文字入力を行う入力インターフェイスや、ユーザに情報を提示するためのディスプレイなどの構成要素も備わっているが、これらの構成要素についての説明も省略する。
 結局、図2において、端末装置200内に6つのブロックとして描かれている構成要素は、本発明に係る端末装置200において必須の機能要素ということになる。このブロック図には、各ブロック間の信号の流れを示す矢印として、太線矢印、細線矢印、白抜矢印の3通りの矢印が用いられている。ここで、太線矢印は、端末装置200と接続仲介装置100との間でやりとりされる、通信セッション確立前の信号の流れを示しており、細線矢印は、一対の端末装置200の間でやりとりされる、通信セッション確立前の信号の流れを示している。そして、白抜矢印は、一対の端末装置200の間でやりとりされる、通信セッション確立後の信号の流れを示している。
 また、図2では、端末装置200内の6つの構成要素が、楕円、矩形、二重矩形という3通りのブロックを用いて描かれているが、これは、各構成要素の役割分担を示すための便宜である。具体的には、楕円ブロックで示されている構成要素は、端末装置200が「アドレス通知」の処理を実行するための構成要素であり、矩形ブロックで示されている構成要素は、端末装置200が「通信元」として機能する場合に必要な処理を実行する構成要素であり、二重矩形ブロックで示されている構成要素は、端末装置200が「通信先」として機能する場合に必要な処理を実行する構成要素である。
 本願において、「通信元」および「通信先」という用語は、2台の端末装置が相互に通信を行う場合に、これら2台を区別するために用いる用語であり、自発的に通信を開始するための処理を行う側を「通信元」と呼び、この「通信元」からの働きかけに応じて、当該「通信元」と通信を行うために必要な処理を行う側を「通信先」と呼んでいる。たとえば,2台の端末装置を電話として使う場合、発呼側の装置が「通信元」であり、着呼側の装置が「通信先」になる。「通信元」の端末装置は、特定の「通信先」を指定して、自発的に通信を開始するための処理を行うことになる。
 もちろん、端末装置200は、「通信元」になったり「通信先」になったりする。「通信元」になったときには、図2に矩形ブロックで示されている構成要素による処理が行われ、「通信先」になったときには、図2に二重矩形ブロックで示されている構成要素による処理が行われる。以下、端末装置200の6つの構成要素の各機能を順に説明する。
 上述したように、楕円ブロックで示されている自己アドレス通知部250は、「アドレス通知」の処理を実行するための構成要素であり、自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置100に対して通知する処理を実行する。所在アドレスとしてIPアドレスを用いるのであれば、自己アドレス通知部250は、現時点で自己に付与されたIPアドレスをネットワークNを介して接続仲介装置100に通知する処理を行うことになる。
 通常、インターネットに接続可能な端末装置200には、インターネットプロバイダから所定のグローバルIPアドレスが付与されるので、自己アドレス通知部250は、端末装置200に付与されたグローバルIPアドレスを、所在アドレスとして接続仲介装置100に対して通知すればよい。また、ルータのNAT機能を利用して、プライベートIPアドレスが付与されている場合には、NAT−IDを所在アドレスとして接続仲介装置100に対して通知すればよい。所在アドレスを通知する際には、端末IDを同時に送信するようにする。
 図1に示すアドレステーブル更新部120は、このような通知を受けて、アドレステーブルTの更新を行う。たとえば、端末装置200Aから接続仲介装置100に対して、端末ID「0010」と所在アドレス「AD1」とが通知された場合、アドレステーブル更新部120は、端末ID「0010」と所在アドレス「AD1」とを対応づけてアドレステーブルTに格納する処理を行う。
 前述したとおり、一般的な端末装置200の場合、所在アドレスが時間的に変化する。したがって、実用上は、自己アドレス通知部250には、所定周期で繰り返して、現時点の自己(端末装置200)の所在アドレスを通知する機能をもたせておくのが好ましい。たとえば、自己アドレス通知部250が1分おきに繰り返し通知を行うようにすれば、アドレステーブルTは1分おきに最新の情報に更新されることになる。
 あるいは、自己アドレス通知部250には、自己(端末装置200)の所在アドレスが変更になったときに、現時点の所在アドレスを通知する機能をもたせておくようにしてもよい。すなわち、初めて所在アドレスが付与された段階で、当該所在アドレスを初期状態のアドレスとして通知させ、その後は、所在アドレスが変更になるたびに新たな所在アドレスを通知させるようにすればよい。もちろん、所定周期で繰り返し通知する運用と、所在アドレスが変更になったときに通知する運用とを組み合わせてもかまわない。
 次に、図2に矩形ブロックで示されている4つの構成要素について説明する。上述したように、これら4つの構成要素は、端末装置200が「通信元」として機能する場合に必要な処理を実行する。
 まず、通信要求受付部220は、自己を通信元として、通信先の別な端末装置に対する通信要求を受け付ける処理を行う。たとえば、端末装置200(通信元)のユーザが、特定の相手に電話をかけたい場合、当該相手が所持する別な端末装置(通信先)に対して通信を行いたい旨の通信要求を行うことになる。この通信要求は、たとえば、図示されていない入力インターフェイスを介したユーザの操作入力(たとえば、タッチパネル上での操作)として与えられ、相手先の端末装置を特定するための何らかの情報を含むものになる。
 接続仲介依頼部210は、通信要求受付部220によって通信要求が受け付けられたときに、接続仲介装置100に対して、通信先の別な端末装置の端末IDを特定するための通信先特定情報を含む接続仲介依頼を送信する。ここで、接続仲介依頼に含まれる通信先特定情報は、通信先の別な端末装置の端末IDであってもよいし、当該端末IDを特定することが可能な別な情報であってもかまわない(詳細は、§3−1で述べる)。
 こうして、接続仲介依頼部210から送信された接続仲介依頼は、ネットワークNを介して接続仲介装置100へと伝達される(前述したように、図における太線矢印は、端末装置200と接続仲介装置100との間でやりとりされる、通信セッション確立前の信号の流れを示している)。すると、接続仲介装置100からは、図に太線矢印で示すように、通信先となる別な端末装置のネットワーク上での所在を示す通信先アドレスが返信されてくる。これは、図1に示す通信先アドレス返信部130の機能によるものである。
 すなわち、通信先アドレス返信部130は、端末装置200の接続仲介依頼部210から、接続仲介依頼が送信されてきたときに、アドレステーブルTを参照して、接続仲介依頼に含まれている通信先特定情報によって特定される端末IDに対応づけられている所在アドレスを通信先アドレスとして返信する処理を行う。もちろん、返信の相手先は、接続仲介依頼を行った端末装置200である。要するに、通信先アドレス返信部130は、通信元の端末装置から通信先を特定した接続仲介依頼があると、アドレステーブルTを用いて、当該通信先の現時点での所在アドレスを検索し、これを通信元の端末装置に返信する処理を行うことになる。
 このように、接続仲介依頼部210によって接続仲介依頼を行うと、接続仲介装置100からは、通信先の別な端末装置のネットワーク上での所在を示す通信先アドレスが返信されてくる。こうして返信されてきた通信先アドレスは、通信開始要求部240によって受信される。通信開始要求部240は、この通信先アドレスにネットワークNを介してアクセスして通信開始要求を行う。図に細線矢印で示すとおり、この通信開始要求は、1台の端末装置200(通信元)から別な1台の端末装置200(通信先)に宛てた信号ということになる。
 このように、通信開始要求部240によって、通信先の別な端末装置に対して通信開始要求を送信すると、当該通信先の別な端末装置からは、この通信開始要求に応じて、通信開始受諾確認が返信されてくる(図の右側の細線矢印:この返信処理については、通信先の別な端末装置の通信先セッション確立部230の処理として後述する)。こうして返信されてきた通信開始受諾確認は、通信元セッション確立部260によって受信される。通信元セッション確立部260は、この通信開始受諾確認を受信したら、当該通信先の別な端末装置との間に通信セッションを確立して通信を開始する。図2の右端に描かれた白抜矢印は、このようにして通信セッションが確立した後の両端末間の信号(通信パケット)の流れを示している。
 以上、図2に矩形ブロックで示されている4つの構成要素、すなわち、端末装置200が「通信元」として機能する場合に処理を実行する構成要素について説明したが、続いて、図2に二重矩形ブロックで示されている構成要素、すなわち、端末装置200が「通信先」として機能する場合に処理を実行する構成要素について説明する。
 図2において、二重矩形ブロックで示されている構成要素は、通信先セッション確立部230である。この通信先セッション確立部230は、通信元の別な端末装置から、自己を通信先とする通信開始要求がなされたら(図の左側の下向き細線矢印)、当該通信元の別な端末装置に対して通信開始受諾確認を送信し(図の左側の上向き細線矢印)、当該通信元の別な端末装置との間に通信セッションを確立して通信を開始する。図2の左端に描かれた白抜矢印は、このようにして通信セッションが確立した後の両端末間の信号(通信パケット)の流れを示している。
 結局、通信元端末装置と通信先端末装置との間の通信セッション確立後の通信は、通信元端末装置の通信元セッション確立部260と通信先端末装置の通信先セッション確立部230との間で行われることになる。別言すれば、図2の右端の白抜矢印は、ネットワークNを介して、図2の左端の白抜矢印に連なることになる。
 <1−2. 第1の実施形態における具体的な通信手順>
 これまで、図1および図2を参照しながら、本願第1の実施形態に係るネットワーク通信システムの構成要素である接続仲介装置100および端末装置200の各構成要素およびその機能を説明した。ここでは、この第1の実施形態に係るネットワーク通信システムにおける通信手順を、具体例に即して説明することにする。
 図3は、図2に示す端末装置における自己アドレス通知部250の機能を示すブロック図である。図の上段には接続仲介装置100が示され、図の下段には2組の端末装置200A,200Bが示されている。ここでは、端末装置200C,200Dの図示は省略するが、自己アドレス通知部250の機能は同じである。なお、前述したとおり、接続仲介装置100と各端末装置200A,200Bとの間の情報のやりとり(太線矢印で示す)は、実際にはネットワークNを介して行われるが、ここでは説明の便宜上、ネットワークNの図示は省略する。
 図3に示す端末装置200A,200Bは、図2に示す端末装置200と同様に6つの構成要素を有している。すなわち、端末装置200Aは、構成要素210A~260Aを有し、端末装置200Bは、構成要素210B~260Bを有しており、これら各構成要素は、図2に示す構成要素210~260と同一のものである(符号末尾のA,Bは、いずれの端末装置の構成要素であるかを区別するために付したものである)。なお、この図3は、端末装置200A,200Bの自己アドレス通知機能を説明するための図であるので、自己アドレス通知部250A,250B以外の構成要素のブロックは破線で示してある。
 自己アドレス通知部250A,250Bは、自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置100内のアドレステーブル更新部120に対して通知する処理を行う。図3には、自己アドレス通知部250Aからアドレステーブル更新部120への通知として、「0010:AD1」なるデータが送信されている例が示されているが、これは、自己の端末ID「0010」とともに自己の現時点での所在アドレス「AD1」を送信していることを示している。同様に、自己アドレス通知部250Bからアドレステーブル更新部120への通知として、「0020:AD2」なるデータが送信されている例が示されているが、これは、自己の端末ID「0020」とともに自己の現時点での所在アドレス「AD2」を送信していることを示している。
 各端末装置200A,200Bの自己アドレス通知部250A,250Bから、このような通知を受けたアドレステーブル更新部120が、当該通知に基づいて、アドレステーブルTの内容を更新する処理を行う点は、既に§1−1で述べたとおりである。また、自己アドレス通知部250A,250Bが、所定周期で繰り返して、もしくは、所在アドレスが変更になったときに、現時点の所在アドレスを通知する処理を行う点も§1−1で述べたとおりである。
 このように、自己アドレス通知部250が行う所在アドレスの通知処理は、端末装置間の通信を開始するための直接的な処理ではないが、いつでも通信を開始できるようにするための準備処理ということができる。この通知処理を行うことにより、接続仲介装置100内のアドレステーブルTを最新の状態に保つことができ、実際に、特定の端末装置間で通信を行う必要が生じたときに、接続仲介装置100による正しい仲介処理が実現できるのである。
 続いて、特定の端末装置間で実際に通信を開始する際の処理手順を説明する。図4は、図1に示すネットワーク通信システムにおいて、通信元端末装置200Aと通信先端末装置200Bとの間の通信セッション確立の手順を示すブロック図である。この図4においても、図の上段には接続仲介装置100が示され、図の下段には2組の端末装置200A,200Bが示されている。ここでも、接続仲介装置100と端末装置200Aとの間の情報のやりとり(太線矢印で示す)や、端末装置200A,200B間の情報のやりとり(細線矢印で示す)は、実際にはネットワークNを介して行われるが、説明の便宜上、ネットワークNの図示は省略する。
 また、ここでは、説明の便宜上、端末装置200Aを通信元、端末装置200Bを通信先とした場合の手順を説明する。このため、図4では、通信元端末装置200A内の構成要素については、通信元として必要な処理を実行する構成要素(矩形ブロックの構成要素)のみを実線で示し、通信先端末装置200B内の構成要素については、通信先として必要な処理を実行する構成要素(二重矩形ブロックの構成要素)のみを実線で示すことにし、それ以外の構成要素のブロックは破線で示してある。
 一方、図5は、図4のブロック図に示されている通信セッション確立手順を時系列で説明する流れ図である。以下、図4のブロック図を参照しながら、図5の流れ図に従って、第1の実施形態における具体的な通信手順を説明する。なお、図4のブロック図において、各矢印に付された符号S1~S7は、図5の流れ図における各ステップS1~S7に対応するものである。逆に、図5の流れ図の各ステップにおいて、括弧書きで示された符号は、図4のブロック図における特定のブロックに対応するものであり、当該ステップの内容に関連する特定の構成要素を示すものである。
 まず、ステップS1において、通信要求受付処理が行われる。これは、図4に示す通信要求受付部220Aによって行われる処理であり、たとえば、通信元端末装置200AのユーザAが、通信先端末装置200BのユーザBに対して電話をしたい、という場合に、ユーザAの操作入力に基づいて行われる処理である。たとえば、各端末装置200A,200Bが携帯電話であり、端末IDとして、それぞれの電話番号を用いている場合は、ユーザAは端末装置200Aに対して、端末装置200Bの端末ID(電話番号)を入力する操作を伴う通信要求S1を行えばよい。すなわち、端末装置200Aの通信要求受付部220Aは、自己を通信元として、通信先の別な端末装置200Bに対する通信要求S1を受け付ける処理を行うことになる。
 なお、通信要求受付部220Aが通信要求S1を受け付けるのは、必ずしもユーザAが電話をかけるための操作入力を行った場合に限られるわけではない。たとえば、ユーザA,Bが通信対戦型のゲームをプレイしている場合は、当該ゲーム用のアプリケーションプログラムから通信要求受付部220Aに対して通信要求S1が与えられることになる。あるいは、端末装置200A,200Bが何らかのビジネス処理を行うパソコンであり、パソコン200Aに組み込まれたビジネス処理用のアプリケーションプログラムが、パソコン200Bに対して自動的に定時報告を行うような場合、当該アプリケーションプログラムから通信要求受付部220Aに対して通信要求S1が与えられることになる。このように、本発明における通信要求は、必ずしもユーザによって与えられるものではなく、端末装置に組み込まれているプログラムによって与えられる場合もある。
 こうして、ステップS1において通信要求受付が行われると、続くステップS2において、接続仲介依頼が行われる。これは、図4に示す接続仲介依頼部210Aによって行われる処理であり、既に述べたとおり、接続仲介装置100に対して、通信先の別な端末装置200Bの端末IDを特定するための通信先特定情報を含む接続仲介依頼S2を送信する処理である。
 なお、一般に、ネットワークを介して接続された二者間で情報の送受を行う場合、情報の送信側は自分のアドレスを受信側に伝達し、受信側は当該送信側アドレス宛にアクノレッジ信号を返信する処理を行う。したがって、接続仲介依頼部210Aから接続仲介依頼S2を送信する際には、自己の所在アドレス「AD1」が接続仲介装置100側に伝達されることになる。後述するステップS4における返信処理は、この所在アドレス「AD1」宛に行われる。
 こうして、通信元端末装置200Aの接続仲介依頼部210Aから、接続仲介装置100へ接続仲介依頼が送信されてくると、ステップS3において、この接続仲介依頼を受けた通信先アドレス返信部130が、アドレステーブル格納部110に格納されているアドレステーブルを参照して、当該接続仲介依頼に含まれている通信先特定情報によって特定される端末ID(この例では、「0020」)に対応づけられている所在アドレスを通信先アドレスとして認識する。たとえば、その時点におけるアドレステーブルTが、図1に示すようなものであったとすると、端末ID「0020」に対応づけられているアドレス「AD2」が通信先アドレスとして認識される。
 そこで、ステップS4において、通信先アドレス返信部130が、ステップS3で認識した通信先アドレス「AD2」を返信する処理を行う。もちろん、返信相手は、ステップS2において接続仲介依頼を行った通信元端末装置200Aである。前述したとおり、接続仲介依頼S2には通信元端末装置200Aの所在アドレス「AD1」の情報が含まれているので、通信先アドレス返信部130は、当該所在アドレス「AD1」宛に、通信先アドレス「AD2」を返信することができる。
 こうして、通信先アドレス返信部130から通信先アドレス返信S4(通信先アドレス「AD2」を伝達する情報)が送信されてくると、当該通信先アドレス返信S4は、通信開始要求部240Aによって受信される。結局、通信元端末装置200Aが、接続仲介装置100に対して接続仲介依頼S2を行うと、この接続仲介依頼S2に応じて、接続仲介装置100から、通信先端末装置200Bのネットワーク上での所在を示す通信先アドレス「AD2」が返信されてくることになる。接続仲介装置100に用意されているアドレステーブルTは、常に最新の状態に更新されているので、返信されてきた通信先アドレス「AD2」は、通信先端末装置200Bの最新の所在アドレスということになる。
 そこで、この通信先アドレス返信S4により、通信先アドレス「AD2」を取得した通信開始要求部240Aは、ステップS5において、通信先端末装置200Bに対して通信開始要求S5を行う。すなわち、ネットワークNを介して、通信先アドレス「AD2」宛にアクセスを行い、相手方に通信開始の要求を伝える。このとき、自己の所在アドレス(通信元アドレス「AD1」)も併せて伝達されることになる。
 通信先アドレス「AD2」宛に行われた通信開始要求S5は、通信先端末装置200Bの通信先セッション確立部230Bによって受信される。通信先セッション確立部230Bは、通信元端末装置200Aから、自己(端末装置200B)を通信先とする通信開始要求S5がなされたら、まず、ステップS6において、ネットワークNを介して通信元端末装置200Aに対して通信開始受諾確認S6を送信する。そして、続くステップS7において、通信元端末装置200Aとの間に通信セッションを確立して通信S7を開始する。
 一方、通信元端末装置200A宛に送信されてきた通信開始受諾確認S6は、通信元セッション確立部260Aによって受信される。そして、ステップS7では、この通信開始受諾確認S6を受信した通信元セッション確立部260Aが、通信先端末装置200Bとの間に通信セッションを確立して通信S7を開始する処理も行われる。要するに、通信元端末装置200A側では、通信開始要求S5に応じて、通信先端末装置200Bから通信開始受諾確認S6が返信されてきたら、当該通信先端末装置200Bとの間に通信セッションを確立して通信を開始する処理を行うことになる。
 かくして、通信元端末装置200Aと通信先端末装置200Bとの間に通信セッションが確立され、両者間での通信S7が行われることになる。この図5に示す流れ図において、接続仲介装置100が行った処理は、ステップS3のアドレステーブル参照処理とステップS4の通信先アドレス返信処理だけである。すなわち、接続仲介装置100が行う仲介処理は、通信元端末装置200Aからの接続仲介依頼S2を受けて、アドレステーブルTを参照し(ステップS3)、得られた通信先アドレスを通信元端末装置200Aに対して返信する(ステップS4)だけである。接続仲介装置100がこのような仲介処理を行うだけで、通信元端末装置200Aと通信先端末装置200Bとの間に通信セッションが確立され、両者間での通信が開始することになる。
 このように、本発明の第1の実施形態に係るネットワーク通信システムでは、接続仲介装置100の処理負荷は極めて軽くなる。前述したように、SIPを利用して両端末間の接続仲介処理を行うシステムでは、従来型の中継処理に比べれば、その処理負荷は軽減されることになるが、両端末間にセッションが確立するまで関与する必要があり、多数の端末装置からの仲介依頼が集中すると、その処理負荷はかなり重くなってくる。これに対して、本発明の第1の実施形態に係るシステムの場合、接続仲介装置100は、両端末間に通信セッションが確立するまで関与する必要はなく、通信元端末装置に対して通信先アドレスを伝達する処理を行えば足りる。このため、一対の端末装置間の接続を仲介する際の処理負荷を、より軽減することが可能になる。
 このように、本発明の第1の実施形態に係るネットワーク通信システムでは、接続仲介装置100が通信セッション確立まで関与しないため、接続仲介装置100は、両端末装置間に通信セッションが確立し、支障なく通信が行われているか否かを把握することはできない。そこで、もし必要があれば、通信セッション確立後に、通信元セッション確立部260Aもしくは通信先セッション確立部230Bから接続仲介装置100に対して、支障なく通信セッションが確立した旨の報告を行うようにしてもよい。
 なお、上述の実施例では、通信先セッション確立部230Bが、通信元端末装置200Aから、自己を通信先とする通信開始要求S5がなされた時に、ステップS6において、当該通信元端末装置200Aに対して通信開始受諾確認を送信する、という説明を行ったが、場合によっては、通信開始要求S5を受諾せずに拒絶し、通信開始受諾確認を送信しないようにしてもよい(あるいは、通信開始受諾確認の代わりに、通信開始拒絶通知を送信するようにしてもよい)。すなわち、通信先セッション確立部230Bに何らかの条件判断機能をもたせておき、通信開始要求S5がなされた場合、所定の条件を満たしている場合に限り、通信開始受諾確認を送信する処理を行わせるようにすればよい。
 たとえば、通信先端末装置200BのユーザBが、通信先セッション確立部230に対して、着信拒否の設定を行えるようにし、「着信拒否の設定がなされていない」という条件を満たす場合にのみ、通信開始受諾確認を送信する処理が行われるようにすればよい。また、通信開始要求S5に、通信元端末装置200Aを特定するための何らかの通信元特定情報(たとえば、端末ID)を含ませるようにしておけば、通信先セッション確立部230Bは、通信開始要求S5を行った通信元に応じて、当該要求を受諾したり拒絶したりする処理が可能になる。
 たとえば、通信先セッション確立部230Bに、通信開始要求S5を常に拒絶する通信元リスト(いわゆるブラックリスト)や通信開始要求S5を常に受諾する通信元リスト(いわゆるホワイトリスト)を用意しておけば、通信先セッション確立部230Bは、当該リストを参照することにより、通信開始要求S5を受諾するか拒絶するかの判断を行うことができる。
 また、§3−3で述べるように、セキュリティを向上させる変形例を採用する場合は、通信開始要求S5に何らかのセキュリティ上の問題が存在する場合には、これを拒絶する運用を採用することも可能である。
 <<< §2. 第2の実施形態 >>>
 <2−1. 第2の実施形態の構成>
 続いて、本発明の第2の実施形態を説明する。図6は、この第2の実施形態に係るネットワーク通信システムの全体構成を示すブロック図である。図示のとおり、このネットワーク通信システムは、接続仲介装置300と複数の端末装置400A~400Dによって構成されており、これらの各装置はいずれもネットワークN(この例では、インターネット)を介して相互に接続することが可能である。
 ここでも、説明の便宜上、4台の端末装置400A~400Dを用いた例を示すことにするが、実用上は、より多数の端末装置を利用するのが一般的である。各端末装置400A~400Dは、共通の構成を有する同一の装置であり、この共通の端末装置について言及する場合は符号400を用いて示し、相互に区別する必要がある場合には、符号末尾にA~Dを付して示すことにする。端末装置400の内部構成要素を示す各符号についても同様である。
 この図6に示すネットワーク通信システムは、ネットワークNを介して相互に接続可能な複数の端末装置400A~400Dと、これら複数の端末装置間の接続を仲介する接続仲介装置300と、を備えたシステムということになる。やはり端末装置400としては、パソコン、携帯電話、タブレット型端末など、ネットワークNに接続して通信を行う機能を有する様々な電子機器を利用することができる。また、接続仲介装置300は、これら各端末装置400A~400DからネットワークNを介してアクセスを受けるサーバコンピュータによって構成されている。
 各端末装置400A~400Dには、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、接続仲介装置300は、この端末IDを利用して通信元となる端末装置と通信先となる端末装置との間の接続を仲介する処理を実行する。端末IDとしては、前述したとおり、個々の端末装置を相互に識別することができる情報であれば、どのような情報を利用してもかまわない。ここでは、前述した第1の実施形態の場合と同様に、端末装置400A,400B,400C,400Dには、それぞれ「0010」,「0020」,「0030」,「0040」なる端末IDが付与されているものとする。
 また、各端末装置400A~400Dには、それぞれ自己のネットワーク上での所在を示す所在アドレスが付与されている。ここでも、前述した第1の実施形態の場合と同様に、端末装置400A,400B,400C,400Dに、それぞれAD1,AD2,AD3,AD4なる所在アドレスが付与されているものとする。この所在アドレスは、ネットワーク上で当該端末装置の所在を一義的に決定できるアドレスであれば、どのようなアドレスを用いてもよいが、実用上は、グローバルIPアドレスもしくはNAT−IDを用いればよい。前述したとおり、この所在アドレスは、時間的に変化する。
 図示のとおり、接続仲介装置300には、アドレステーブル格納部310、アドレステーブル更新部320、通信元アドレス送信部330が設けられている。この接続仲介装置300は、実際には、サーバコンピュータなどのコンピュータによって構成される。したがって、図に個々のブロックとして示されている各構成要素は、実際には、コンピュータに専用のプログラムを組み込むことにより構築されることになる。
 アドレステーブル格納部310は、図1に示すアドレステーブル格納部110と同じ構成要素であり、各端末装置400A~400Dのそれぞれについて、端末IDと所在アドレスとを対応づけたアドレステーブルTを格納する機能を有する。図6に示すアドレステーブルTは、図1に示すアドレステーブルTと全く同じものである。アドレステーブル更新部320は、図1に示すアドレステーブル更新部120と同じ構成要素であり、各端末装置400A~400Dからの通知に基づいて、アドレステーブルTの内容を更新する処理を行う。このように、図6に示す構成要素310,320は、実質的に図1に示す構成要素110,120と同じものであるため、ここでは詳細な説明は省略する。
 一方、通信元アドレス送信部330は、図1に示す通信先アドレス返信部130に類似した機能を有する構成要素であるが、若干異なる動作を行う。すなわち、通信元アドレス送信部330は、各端末装置400A~400Dから接続仲介依頼があると、アドレステーブルTを参照することにより通信先アドレスを認識し、当該通信先アドレス宛に、通信元アドレスを送信する処理を行う。この処理のより詳細な説明は後述する。
 続いて、図7を参照しながら、端末装置400の詳細構成および個々の構成要素の具体的な処理動作を説明する。図示のとおり、端末装置400には、接続仲介依頼部410、通信要求受付部420、通信元セッション確立部430、通信開始要求部440、自己アドレス通知部450、通信先セッション確立部460が設けられている。
 この端末装置400も、実際には、種々のコンピュータ(携帯電話などの機器も含む)によって構成され、図に個々のブロックとして示されている各構成要素は、実際には、コンピュータに専用のプログラムを組み込むことにより構築される。もちろん、この端末装置400にも、必要に応じて、図示されていない種々の構成要素や入出力インターフェイスが組み込まれているが、ここでは、本発明に直接関係する構成要素のみを図にブロックとして示すことにし、その他の構成要素についての説明は省略する。
 この図7においても、図2と同様に、各ブロック間の信号の流れを示す太線矢印は、端末装置400と接続仲介装置300との間でやりとりされる、通信セッション確立前の信号の流れを示しており、細線矢印は、一対の端末装置400の間でやりとりされる、通信セッション確立前の信号の流れを示している。そして、白抜矢印は、一対の端末装置400の間でやりとりされる、通信セッション確立後の信号の流れを示している。
 また、図2と同様に、図7に楕円ブロックで示されている構成要素は、端末装置400が「アドレス通知」の処理を実行するための構成要素であり、矩形ブロックで示されている構成要素は、端末装置400が「通信元」として機能する場合に必要な処理を実行する構成要素であり、二重矩形ブロックで示されている構成要素は、端末装置400が「通信先」として機能する場合に必要な処理を実行する構成要素である。端末装置400が、「通信元」になったときには、図7に矩形ブロックで示されている構成要素による処理が行われ、「通信先」になったときには、図7に二重矩形ブロックで示されている構成要素による処理が行われる。以下、図7に示す端末装置400の6つの構成要素の各機能を順に説明する。
 まず、楕円ブロックで示されている自己アドレス通知部450は、「アドレス通知」の処理を実行するための構成要素であり、自己のネットワーク上での所在を示す所在アドレスを、接続仲介装置300に対して通知する処理を実行する。この自己アドレス通知部450の機能は、図2に示す自己アドレス通知部250の機能と全く同じであるため、ここでは詳しい説明は省略する。図6に示すアドレステーブル更新部320は、この通知を受けて、アドレステーブルTの更新を行う。
 次に、図7に矩形ブロックもしくは二重矩形ブロックで示されている5つの構成要素について説明する。上述したように、矩形ブロックで示されている3つの構成要素は、端末装置400が「通信元」として機能する場合に必要な処理を実行し、二重矩形ブロックで示されている2つの構成要素は、端末装置400が「通信先」として機能する場合に必要な処理を実行する。
 まず、通信要求受付部420は、自己を通信元として、通信先の別な端末装置に対する通信要求を受け付ける処理を行う構成要素であり、図2に示す通信要求受付部220と全く同じ機能をもつ構成要素である。また、接続仲介依頼部410は、通信要求受付部420によって通信要求が受け付けられたときに、接続仲介装置300に対して、通信先の別な端末装置の端末IDを特定するための通信先特定情報を含む接続仲介依頼を送信する構成要素であり、図2に示す接続仲介依頼部210と全く同じ機能をもつ構成要素である。
 こうして、接続仲介依頼部410から送信された接続仲介依頼は、ネットワークNを介して接続仲介装置300へと伝達される(図における太線矢印は、端末装置400と接続仲介装置300との間でやりとりされる、通信セッション確立前の信号の流れを示している)。すると、接続仲介装置300からは、図に太線矢印で示すように、通信元アドレスが送信されてくる。この通信元アドレスは、通信開始要求部440によって受信される。
 ここで留意すべき点は、接続仲介装置300からの通信元アドレスの送信先は、接続仲介依頼を行った通信元の端末装置ではなく、通信先となる別な端末装置である点である。すなわち、図7に示す例において、矩形ブロックで示す接続仲介依頼部410は、通信元端末装置内の構成要素であるのに対して、二重矩形ブロックで示す通信開始要求部440は、別な通信先端末装置内の構成要素ということになる。したがって、上述の説明において、接続仲介依頼を発する接続仲介依頼部410と、これに応じて接続仲介装置300から送信されてくる通信元アドレスを受信する通信開始要求部440とは、それぞれ異なる端末装置400に所属していることになる。
 要するに、図6に示されている通信元アドレス送信部330は、ある端末装置400の接続仲介依頼部から接続仲介依頼が送信されてきたときに、アドレステーブルTを参照して、当該接続仲介依頼に含まれている通信先特定情報によって特定される端末IDに対応づけられている所在アドレスに対して、当該接続仲介依頼を送信した通信元の端末装置の端末IDに対応づけられている所在アドレスを通信元アドレスとして送信する処理を行うことになる。
 この通信元アドレス送信部330の処理機能をより明確にするため、ここでは、図6に示す端末装置400Bを通信元、端末装置400Aを通信先とした具体例(たとえば、端末装置400BのユーザBが発呼側となり、端末装置400AのユーザAを着呼側として電話をかけたような場合)について、上記手順を説明しよう。
 この場合、通信元端末装置400Bから接続仲介装置300に対して、端末装置400Aを通信先として指定する接続仲介依頼が送信されることになる。当該接続仲介依頼を受けた通信元アドレス送信部330は、アドレステーブルTを参照することにより、通信先として指定された端末装置400Aの所在アドレス「AD1」を認識する。前述した第1の実施形態における通信先アドレス返信部130は、こうして認識した通信先の所在アドレスを通信元(接続仲介依頼の送信元)に返信する処理を行っていた。これに対して、図6に示す第2の実施形態における通信元アドレス送信部330は、認識した通信先の所在アドレス「AD1」に宛てて、通信元端末装置400Bの所在を示す通信元アドレス「AD2」(これは、接続仲介依頼の送信元のアドレスとして認識できる)を送信する。
 結局、上例の場合、通信元端末装置400Bから接続仲介装置300に対して接続仲介依頼を行うと、接続仲介装置300から通信先端末装置400Aに対して通信元アドレス(通信元端末装置400Bの所在アドレス「AD2」)が送信されることになる。ここが、前述した第1の実施形態と大きく異なる点である。
 こうして送信されてきた通信元アドレスは、図7に示すとおり、通信先端末装置400A内の通信開始要求部440によって受信される。通信開始要求部440は、この通信元アドレス(通信元端末装置400Bのアドレス)に対して通信開始要求を行う。すなわち、通信開始要求部440は、接続仲介装置300から、通信元の別な端末装置のネットワーク上での所在を示す通信元アドレスが送信されてきたときに、ネットワークNを介して、当該通信元アドレスにアクセスして通信開始要求を行うことになる。図に細線矢印で示すとおり、この通信開始要求は、1台の端末装置400(通信先)から別な1台の端末装置400(通信元)に宛てた信号ということになる。
 一方、通信先の別な端末装置(上例の場合、端末装置400A)から通信開始要求がなされた端末装置(上例の場合、端末装置400B)は、当該通信開始要求を通信元セッション確立部430で受信する(図の左側の下向き細線矢印)。そして、この通信元セッション確立部430は、通信先の別な端末装置(上例の場合、端末装置400A)に対して通信開始受諾確認を返信し(図の左側の上向き細線矢印)、当該通信先の別な端末装置との間に通信セッションを確立して通信を開始する。図7の左端に描かれた白抜矢印は、このようにして通信セッションが確立した後の両端末間の信号(通信パケット)の流れを示している。
 こうして、通信元端末装置400Bから通信先端末装置400Aに対して返信された通信開始受諾確認は、通信先端末装置400Aの通信先セッション確立部460によって受信される(図の右側の細線矢印)。通信先セッション確立部460は、この通信開始受諾確認を受信したら、通信元の別な端末装置400Bとの間に通信セッションを確立して通信を開始する。図7の右端に描かれた白抜矢印は、このようにして通信セッションが確立した後の両端末間の信号(通信パケット)の流れを示している。
 かくして、通信元端末装置と通信先端末装置との間の通信セッション確立後の通信は、通信元端末装置の通信元セッション確立部430と通信先端末装置の通信先セッション確立部460との間で行われることになる。別言すれば、図7の左端の白抜矢印は、ネットワークNを介して、図7の右端の白抜矢印に連なることになる。
 <2−2. 第2の実施形態における具体的な通信手順>
 これまで、図6および図7を参照しながら、本願第2の実施形態に係るネットワーク通信システムの構成要素である接続仲介装置300および端末装置400の各構成要素およびその機能を説明した。ここでは、この第2の実施形態に係るネットワーク通信システムにおける通信手順を、具体例に即して説明することにする。
 まず、図7に示す端末装置における自己アドレス通知部450の機能であるが、これは図3を用いて説明した自己アドレス通知部250A,250Bの機能と全く同じであるため、ここでは説明を省略する。
 そこで以下、特定の端末装置間で実際に通信を開始する際の処理手順を説明する。図8は、図6に示すネットワーク通信システムにおいて、通信元端末装置400Bと通信先端末装置400Aとの間の通信セッション確立の手順を示すブロック図である。この図8では、図の上段に接続仲介装置300が示され、図の下段に2組の端末装置400A,400Bが示されている。ここでも、接続仲介装置300と各端末装置400A,400Bとの間の情報のやりとり(太線矢印で示す)や、端末装置400A,400B間の情報のやりとり(細線矢印で示す)は、実際にはネットワークNを介して行われるが、説明の便宜上、ネットワークNの図示は省略する。
 また、ここでは、説明の便宜上、端末装置400Bを通信元、端末装置400Aを通信先とした場合の手順を説明する。このため、図8では、通信元端末装置400B内の構成要素については、通信元として必要な処理を実行する構成要素(矩形ブロックの構成要素)のみを実線で示し、通信先端末装置400A内の構成要素については、通信先として必要な処理を実行する構成要素(二重矩形ブロックの構成要素)のみを実線で示すことにし、それ以外の構成要素のブロックは破線で示してある。
 一方、図9は、図8のブロック図に示されている通信セッション確立手順を時系列で説明する流れ図である。以下、図8のブロック図を参照しながら、図9の流れ図に従って、第2の実施形態における具体的な通信手順を説明する。なお、図8のブロック図において、各矢印に付された符号S11~S17は、図9の流れ図における各ステップS11~S17に対応するものである。逆に、図9の流れ図の各ステップにおいて、括弧書きで示された符号は、図8のブロック図における特定のブロックに対応するものであり、当該ステップの内容に関連する特定の構成要素を示すものである。
 まず、ステップS11において、通信要求受付処理が行われる。これは、図8に示す通信要求受付部420Bによって通信要求を受け付ける処理であり、図5のステップS1で述べた処理と同様であるため説明は省略する。続くステップS12では、この通信要求に基づいて、接続仲介依頼S12が行われる。これは、図8に示す接続仲介依頼部410Bによって行われる処理であり、図5のステップS2で述べた処理と同様であるため説明は省略する。
 こうして、通信元端末装置400Bの接続仲介依頼部410Bから、接続仲介装置300へ接続仲介依頼S12(図示の例では、通信先特定情報として、通信先端末装置400Aの端末ID「0010」が含まれている)が送信されてくると、ステップS13において、この接続仲介依頼S12を受けた通信元アドレス送信部330が、アドレステーブル格納部310に格納されているアドレステーブルを参照して、当該接続仲介依頼に含まれている通信先特定情報によって特定される端末ID(この例では、「0010」)に対応づけられている所在アドレスを通信先アドレスとして認識する(S13)。たとえば、その時点におけるアドレステーブルTが、図6に示すようなものであったとすると、端末ID「0010」に対応づけられているアドレス「AD1」が通信先アドレスとして認識される。
 そこで、ステップS14において、通信元アドレス返信部330が、ステップS13で認識した通信先アドレス「AD1」宛に、接続仲介依頼S12を送信した通信元端末装置400Bの端末ID「0020」に対応づけられている所在アドレス「AD2」を通信元アドレスとして送信する(S14)。
 前述したとおり、一般に、ネットワークを介して接続された二者間で情報の送受を行う場合、情報の送信側は自分のアドレスを受信側に伝達し、受信側は当該送信側のアドレス宛にアクノレッジ信号を返信する処理を行う。したがって、通信元アドレス送信部330は、接続仲介依頼S12を受信した時点で、その送信元である端末装置400Bの所在アドレス「AD2」を認識することができるので、通信元アドレス送信S14を行う際には、この認識した所在アドレス「AD2」をデータとして送信すればよい。
 このように、通信元端末装置400Bが、接続仲介装置300に対して接続仲介依頼S12を行うと、この接続仲介依頼S12に応じて、接続仲介装置300から、通信先端末装置400A宛に(アドレステーブルTで検索した所在アドレス「AD1」宛に)、通信元端末装置400Bの所在を示す通信元アドレス「AD2」が送信されることになる。接続仲介装置300に用意されているアドレステーブルTは、常に最新の状態に更新されているので、通信元アドレス送信S14は、常に通信先端末装置400Aの最新の所在アドレスに対して行われることになる。
 こうして、通信元アドレス送信部330から通信元アドレス送信S14(通信元アドレス「AD2」を伝達する情報)が送信されてくると、当該通信元アドレス送信S14は、通信先端末装置400Aの通信開始要求部440Aによって受信される。
 この通信元アドレス送信S14により、通信元アドレス「AD2」を取得した通信開始要求部440Aは、ステップS15において、通信元端末装置400Bに対して通信開始要求S15を行う。すなわち、ネットワークNを介して、通信元アドレス「AD2」宛にアクセスを行い、相手方に通信開始の要求を伝える。このとき、自己の所在アドレス(通信元アドレス「AD1」)も併せて伝達されることになる。
 通信元アドレス「AD2」宛に行われた通信開始要求S15は、通信元端末装置400Bの通信元セッション確立部430Bによって受信される。通信元セッション確立部430Bは、通信先端末装置400Aから、自己(端末装置400B)を通信元とする通信開始要求S15がなされたら、まず、ステップS16において、ネットワークNを介して通信先端末装置400Aに対して通信開始受諾確認S16を送信する。そして、続くステップS17において、通信先端末装置400Aとの間に通信セッションを確立して通信S17を開始する。
 一方、通信先端末装置400A宛に送信されてきた通信開始受諾確認S16は、通信先セッション確立部460Aによって受信される。そして、ステップS17では、この通信開始受諾確認S16を受信した通信先セッション確立部460Aが、通信元端末装置400Bとの間に通信セッションを確立して通信S17を開始する処理も行われる。要するに、通信先端末装置400A側では、通信開始要求S15に応じて、通信元端末装置400Bから通信開始受諾確認S16が返信されてきたら、当該通信元端末装置400Bとの間に通信セッションを確立して通信を開始する処理を行うことになる。
 かくして、通信元端末装置400Bと通信先端末装置400Aとの間に通信セッションが確立され、両者間での通信S17が行われることになる。この図9に示す流れ図において、接続仲介装置300が行った処理は、ステップS13のアドレステーブル参照処理とステップS14の通信元アドレス送信処理だけである。すなわち、接続仲介装置300が行う仲介処理は、通信元端末装置400Bからの接続仲介依頼S12を受けて、アドレステーブルTを参照し(ステップS13)、得られた通信先アドレスに宛てて、通信元アドレスのデータを送信する(ステップS14)だけである。接続仲介装置300がこのような仲介処理を行うだけで、通信元端末装置400Bと通信先端末装置400Aとの間に通信セッションが確立され、両者間での通信が開始することになる。
 このように、本発明の第2の実施形態に係るネットワーク通信システムでは、第1の実施形態に係るネットワーク通信システムと同様に、接続仲介装置300の処理負荷は極めて軽くなる。前述したように、SIPを利用して両端末間の接続仲介処理を行うシステムでは、従来型の中継処理に比べれば、その処理負荷は軽減されることになるが、両端末間にセッションが確立するまで関与する必要があり、多数の端末装置からの仲介依頼が集中すると、その処理負荷はかなり重くなってくる。これに対して、本発明の第2の実施形態に係るシステムの場合、接続仲介装置300は、両端末間に通信セッションが確立するまで関与する必要はなく、通信先端末装置に対して通信元アドレスを伝達する処理を行えば足りる。このため、一対の端末装置間の接続を仲介する際の処理負荷を、より軽減することが可能になる。
 このように、本発明の第2の実施形態に係るネットワーク通信システムでは、接続仲介装置300が通信セッション確立まで関与しないため、接続仲介装置300は、両端末装置間に通信セッションが確立し、支障なく通信が行われているか否かを把握することはできない。そこで、もし必要があれば、通信セッション確立後に、通信元セッション確立部430Bもしくは通信先セッション確立部460Aから接続仲介装置300に対して、支障なく通信セッションが確立した旨の報告を行うようにしてもよい。
 なお、上述の実施例では、通信先端末装置400Aの通信開始要求部440Aが、接続仲介装置300からの通信元アドレス送信S14を受信したときに、ステップS15において、自動的に通信開始要求S15を送信しているが、場合によっては、通信開始要求部440Aに何らかの条件判断機能をもたせておき、通信元アドレス送信S14を受信したときに、所定の条件を満たしている場合に限り、通信開始要求S15を送信するようにしてもよい。あるいは、所定の条件を満たしていない場合には、通信開始要求S15の代わりに、通信開始拒絶通知を送信するようにしてもよい。
 たとえば、通信開始要求部440Aに、通信開始を常に拒絶する通信元リスト(いわゆるブラックリスト)や通信開始を常に許可する通信元リスト(いわゆるホワイトリスト)を用意しておけば、通信開始要求部440Aは、当該リストを参照することにより、通信元アドレス送信S14によって送信されてきた通信元アドレスが、ブラックリストに掲載されていた場合には、通信開始要求S15の送信を行わない処理をするか、通信開始拒絶通知を送信する運用を行うことができる。あるいは、通信元アドレスが、ホワイトリストに掲載されていた場合にのみ、通信開始要求S15を送信するような運用を行うことも可能である。
 また、上述の実施例では、通信元セッション確立部430Bが、通信先端末装置400Aから、自己を通信元とする通信開始要求S15がなされた時に、ステップS16において、当該通信先端末装置400Aに対して通信開始受諾確認を送信する、という説明を行ったが、場合によっては、通信開始要求S15を受諾せずに拒絶し、通信開始受諾確認を送信しないようにしてもよい(あるいは、通信開始受諾確認の代わりに、通信開始拒絶通知を送信するようにしてもよい)。
 たとえば、§3−4で述べるように、セキュリティを向上させる変形例を採用する場合は、通信開始要求S15に何らかのセキュリティ上の問題が存在する場合には、これを拒絶する運用を採用することも可能である。
 <<< §3. 第1および第2の実施形態の変形例 >>>
 ここでは、§1で述べた第1の実施形態および§2で述べた第2の実施形態について、いくつかの変形例を述べる。
 <3−1. 端末IDに関する変形例>
 これまで述べてきたように、図1の接続仲介装置100内のアドレステーブル格納部110には、アドレステーブルTが格納されている。図6の接続仲介装置300内のアドレステーブル格納部310も同様である。このアドレステーブルTは、個々の端末装置のそれぞれについて、端末IDと所在アドレスとを対応づけたテーブルであり、通信先アドレス返信部130もしくは通信元アドレス送信部330は、受信した接続仲介依頼に含まれている通信先特定情報に基づいてアドレステーブルTを参照し、通信先の所在アドレスを取得する。
 たとえば、図4に示す第1の実施形態の場合、接続仲介依頼S2には、通信先端末装置200Bの端末ID「0020」が通信先特定情報として含まれており、通信先アドレス返信部130は、アドレステーブルTを参照することにより、端末ID「0020」に対応する所在アドレス「AD2」を取得することができる。同様に、図8に示す第2の実施形態の場合、接続仲介依頼S12には、通信先端末装置400Aの端末ID「0010」が通信先特定情報として含まれており、通信元アドレス送信部330は、アドレステーブルTを参照することにより、端末ID「0010」に対応する所在アドレス「AD1」を取得することができる。
 このように、これまで述べてきた実施形態では、接続仲介依頼に含ませる通信先特定情報として、通信先端末装置の端末IDを用いていた。この端末IDは、個々の端末装置を相互に識別するための情報であり、具体的には、個々の端末装置に内蔵されているCPUのシリアル番号、通信インターフェイスに付与されたMACアドレス、携帯電話として機能する端末装置の場合は電話番号やSIMカードのシリアル番号、などを端末IDとして用いることができる。
 ただ、一般に、ユーザが、他のユーザの端末装置についての端末IDを記憶することは困難である。したがって、通信要求を行う際に、これらの端末IDを、ユーザ自身に直接入力させることは好ましくない。そこで、実用上は、通信要求を行う際に、端末IDで通信先を指定する代わりに、ユーザIDで通信先を指定させるようにするのが好ましい。端末IDが個々の端末装置を識別するためのIDであるのに対して、ユーザIDは個々のユーザを識別するためのIDである。一般的には、ユーザ名やニックネームをユーザIDとして用いることができる。
 端末IDの代わりにユーザIDを用いて通信要求を行うことができるようにするには、通信要求受付部220,420内に、ユーザIDと端末IDとの対応表を用意しておけばよい。そして、ユーザが特定のユーザID(たとえば、ユーザ名)を指定して通信要求を行ったときに、通信要求受付部220,420が、用意されている対応表を利用してユーザIDを端末IDに変換して接続仲介依頼部210,410へ引き渡すようにすればよい。そうすれば、接続仲介依頼部210,410は、端末IDを含む接続仲介依頼を送信することができる。このようなユーザID(たとえば、ユーザ名)から端末ID(たとえば、電話番号)への変換処理機能は、一般的な携帯電話に「電話番号登録機能」として備わっている公知の機能であるため、ここでは詳しい説明は省略する。
 端末IDの代わりにユーザIDを利用できるようにする別な方法として、ユーザIDと端末IDとの対応表を接続仲介装置100,300側に用意する方法を採ることもできる。たとえば、アドレステーブル格納部110,310内に、図1や図6に示すアドレステーブルTの代わりに、図10に示すようなアドレステーブルT1を格納しておくようにする。このアドレステーブルT1は、個々の端末装置のそれぞれについて、当該端末装置のユーザを特定するユーザIDと、当該端末装置の端末IDと、を対応づける情報を含むテーブルである。
 図10では、説明の便宜上、ユーザIDとして、「John」,「Mary」のようなユーザ名を用いた例を示すが、実際には、テーブルに収録されている個々のユーザを相互に識別できるように、各ユーザのフルネームをユーザIDとして登録しておくようにし、もし同姓同名のユーザがいた場合には、相互に区別できるようなユーザIDを登録するようにする。実際には、端末装置200,400の自己アドレス通知部250,450に、このようなユーザIDを接続仲介装置100,300側に申告する機能を設けておき、アドレステーブル更新部120,320に、申告を受けたユーザIDをアドレステーブルT1に登録する機能を設けておけば、図10に示すようなアドレステーブルT1を用意することが可能になる。
 アドレステーブルT1を用意しておけば、通信元となる端末装置側では、通信先となる端末装置の端末IDを認識する必要はない。たとえば、図4に示す例において、通信元端末装置200Aから通信先端末装置200Bに対して発呼する場合、通信元端末装置200AのユーザA(John)は、通信先端末装置200BのユーザBのユーザ名「Mary」(ユーザID)を通信先として指定した通信要求を行えばよい。この場合、端末ID「0020」の代わりに、「Mary」なるユーザIDを通信先特定情報として含む接続仲介依頼S2が、接続仲介依頼部210Aから接続仲介装置100へ送信されることになる。
 このような接続仲介依頼S2を受信した通信先アドレス返信部130は、図10に示すアドレステーブルT1を参照することにより、通信先特定情報として含まれていたユーザ名「Mary」に対応する端末ID「0020」を認識することができ、更に、この端末ID「0020」をもつ通信先端末装置200Bの所在アドレス「AD2」を認識することができる。
 図11は、ユーザIDの代わりにアカウントIDを用いたアドレステーブルT2を示す図である。ユーザIDが、個々のユーザを特定する情報であるのに対して、アカウントIDは、個々のユーザが開設したユーザアカウントを特定する情報である。たとえば、図示の例における「U11111」なるアカウントIDは、ユーザ「John」が開設したユーザアカウントを示すIDであり、「U22222」なるアカウントIDは、ユーザ「Mary」が開設したユーザアカウントを示すIDである。もちろん、個々のユーザは、必要があれば複数のアカウントを開設することが可能である。
 端末装置200,400の自己アドレス通知部250,450に、このようなアカウントを開設するための申込機能を設けておき、アドレステーブル更新部120,320に、当該申込に応じて、所定のユーザアカウントを設定し、アカウントIDをアドレステーブルT2に登録する機能を設けておけば、図11に示すようなアドレステーブルT2を用意することが可能になる。
 図4に示す例において、アドレステーブル格納部110内に図11に示すようなアドレステーブルT2を用意しておけば、接続仲介依頼部210Aは、端末ID「0020」の代わりに、「U22222」なるアカウントIDを通信先特定情報として含む接続仲介依頼S2を接続仲介装置100へ送信すればよい。
 このように、本願発明において、接続仲介依頼部から送信される接続仲介依頼には、通信先となる別な端末装置の端末IDを特定する役割を果たす何らかの「通信先特定情報」が含まれていれば足りる。この「通信先特定情報」は、端末ID自身であってもよいし、上例のように、ユーザIDやアカウントIDであってもかまわない。
 結局、この§3−1で述べた変形例を§1で述べた第1の実施形態に適用する場合は、図4に示す構成において、アドレステーブル格納部110に、個々の端末装置のそれぞれについて、当該端末装置のユーザを特定するユーザIDもしくはユーザアカウントを特定するアカウントIDと、当該端末装置の端末IDと、を対応づける情報を含むアドレステーブルT1(図10)もしくはT2(図11)を格納しておくようにする。また、接続仲介依頼部210Aは、通信先特定情報として、通信先の端末装置のユーザを特定するユーザIDもしくはユーザアカウントを特定するアカウントIDを用いた接続仲介依頼S2を送信するようにする。そして、通信先アドレス返信部130は、接続仲介依頼部210Aから接続仲介依頼S2が送信されてきたときに、アドレステーブルT1もしくはT2を参照して、接続仲介依頼S2に含まれていたユーザIDもしくはアカウントIDに対応づけられている端末IDを決定し、決定された端末IDに対応づけられている所在アドレスを通信先アドレスとして返信する処理を行うようにすればよい。
 一方、この§3−1で述べた変形例を§2で述べた第2の実施形態に適用する場合は、図8に示す構成において、アドレステーブル格納部310に、個々の端末装置のそれぞれについて、当該端末装置のユーザを特定するユーザIDもしくはユーザアカウントを特定するアカウントIDと、当該端末装置の端末IDと、を対応づける情報を含むアドレステーブルT1(図10)もしくはT2(図11)を格納しておくようにする。また、接続仲介依頼部410Bは、通信先特定情報として、通信先の端末装置のユーザを特定するユーザIDもしくはユーザアカウントを特定するアカウントIDを用いた接続仲介依頼S12を送信するようにする。そして、通信元アドレス送信部330は、接続仲介依頼部410Bから接続仲介依頼S12が送信されてきたときに、アドレステーブルT1もしくはT2を参照して、接続仲介依頼S12に含まれていたユーザIDもしくはアカウントIDに対応づけられている端末IDを決定し、決定された端末IDに対応づけられている所在アドレス宛に、通信元アドレスを送信する処理を行うようにすればよい。
 <3−2. 代替端末を利用する変形例>
 前述したとおり、本発明に利用可能な端末装置は、パソコン、携帯電話、タブレット型端末など多岐にわたり、最近は、同一のユーザが複数の端末装置を使い分けることも珍しくなくなってきている。ここでは、そのような状況を考慮して、特定の端末装置に対する着呼があったときに、当該着呼を同一ユーザの別な端末装置へ誘導する仕組をもった変形例を述べることにする。
 ここで述べる変形例を実施する際には、予め、図12に示すようなアドレステーブルT3を用意しておく。このアドレステーブルT3の場合、4組のユーザID「John」,「Mary」,「Frank」,「Susie」について、それぞれ端末IDおよび所在アドレスが登録されているが、ユーザID「John」については2つの端末ID「0010」,「0011」が登録され、ユーザID「Frank」については3つの端末ID「0030」,「0031」,「0032」が登録されている。これは、ユーザJohnが、このネットワーク通信システムに利用可能な2台の端末装置を所有し、ユーザFrankが、3台の端末装置を所有しているためである。
 ここで、同一のユーザIDに対応づけられて登録されている複数の端末IDを、1つのグループに所属する端末IDとして把握し、同じグループに所属する1つの端末IDを別な1つの端末IDについての代替端末IDと呼ぶことにすれば、図12に示すアドレステーブルT3は、特定の端末IDについて、1つもしくは複数の代替端末IDを登録したアドレステーブルということができる。要するに、同一のユーザ名で複数の端末IDの登録があった場合には、これらの端末IDを同一のグループに所属するものとして把握し、相互に代替端末IDとして認識する取り扱いを行うようにすればよい。
 たとえば、図12に示す例の場合、端末ID「0010」については1つの代替端末ID「0011」が登録されており、逆に、端末ID「0011」については1つの代替端末ID「0010」が登録されていることになる。一方、端末ID「0030」については2つの代替端末ID「0031」,「0032」が登録されており、端末ID「0031」については2つの代替端末ID「0030」,「0032」が登録されており、端末ID「0032」については2つの代替端末ID「0030」,「0031」が登録されていることになる。
 ここで述べる変形例に係るシステムでは、このような代替端末IDを登録しておくことにより、利用不都合な状態にある端末装置宛に発呼があったときに、当該発呼を代替となる別な端末装置宛に転送させることができる。
 たとえば、ユーザJohnが、スマートフォンからなる第1の端末装置(端末ID「0010」)とパソコンからなる第2の端末装置(端末ID「0011」)とを所有しており、通常は、いずれの端末装置も利用可能な状態になっているものとしよう。ところが、ある日、スマートフォンからなる第1の端末装置について、バッテリ切れで一時的に利用できない状態になったとする。この場合、もし、ユーザMaryが、自己の端末装置を通信元として、ユーザJohnのスマートフォンを通信先とする通信要求を行ったとしても、ユーザJohnのスマートフォンに対する正常な接続を行うことはできない。
 ここで述べる変形例に係るシステムでは、このような場合、接続仲介装置が、ユーザJohnのスマートフォンの代わりに、その代替となるユーザJohnのパソコンに代替接続する処理を実行することができる。
 この§3−2で述べる変形例を§1で述べた第1の実施形態に適用する場合は、図4に示す構成に対して、次のような変更を施せばよい。
 まず、アドレステーブル格納部110には、特定の端末IDについて、1つもしくは複数の代替端末IDを登録したアドレステーブル(たとえば、図12に示すアドレステーブルT3)を格納しておく。そして、通信先アドレス返信部130には、個々の端末装置について利用不都合な状態にあるか否かを判定する機能を付加しておく。具体的には、たとえば、判定対象となる端末装置に対して試験アクセスを行い、正常な返信があった場合には問題なしと判断するが、正常な返信が得られなかった場合には利用不都合な状態にあるとの判断を行うようにすればよい。
 通信先アドレス返信部130は、接続仲介依頼S2が送信されてきたときに、通信先特定情報で特定される本来の端末IDが付与された端末装置について、利用不都合な状態にあるか否かを判定する処理を行う。そして、もし、本来の端末IDが付与された端末装置が利用不都合な状態にある場合には、当該本来の端末IDに代えて代替端末IDに対応づけられている所在アドレスを通信先アドレスとして返信する処理を行うようにする。
 たとえば、図12に示すアドレステーブルT3が用意されている状態において、通信先特定情報として本来の端末ID「0010」(ユーザJohnのスマートフォン)を含む接続仲介依頼が送信されてきた場合、通信先アドレス返信部130は、まず、端末ID「0010」に対応する所在アドレス「AD1」に試験アクセスを行い、正常な返信があった場合には問題なしと判断し、通常の手順に従って、所在アドレス「AD1」を通信先アドレスとして返信する処理を行えばよい。この場合、通信元端末装置は、本来の端末ID「0010」が付与されたユーザJohnのスマートフォンを通信先として通信を行うことができる。
 ところが、試験アクセスに対して正常な返信が得られなかった場合には、本来の端末ID「0010」が付与された端末装置(ユーザJohnのスマートフォン)が利用不都合な状態にあると判断し、本来の端末ID「0010」に代えて、アドレステーブルT3において端末ID「0010」についての代替端末IDとして登録されている端末ID「0011」に対応づけられている所在アドレス「AD5」を通信先アドレスとして返信する処理を行うようにする。この場合、通信元端末装置は、本来の端末ID「0010」が付与されたユーザJohnのスマートフォンではなく、代替端末ID「0011」が付与されたユーザJohnのパソコンを通信先として通信を行うことができる。
 一方、この§3−2で述べる変形例を§2で述べた第2の実施形態に適用する場合は、図8に示す構成に対して、次のような変更を施せばよい。
 まず、アドレステーブル格納部310には、特定の端末IDについて、1つもしくは複数の代替端末IDを登録したアドレステーブル(たとえば、図12に示すアドレステーブルT3)を格納しておく。そして、通信元アドレス送信部330には、個々の端末装置について利用不都合な状態にあるか否かを判定する機能を付加しておく。具体的には、上述したように、判定対象となる端末装置に対して試験アクセスを行い、正常な返信があった場合には問題なしと判断するが、正常な返信が得られなかった場合には利用不都合な状態にあるとの判断を行うようにすればよい。
 通信元アドレス送信部330は、接続仲介依頼S12が送信されてきたときに、通信先特定情報で特定される本来の端末IDが付与された端末装置について、利用不都合な状態にあるか否かを判定する処理を行う。そして、もし、本来の端末IDが付与された端末装置が利用不都合な状態にある場合には、当該本来の端末IDに代えて代替端末IDに対応づけられている所在アドレスに対して、接続仲介依頼S12を送信した通信元端末装置の所在アドレスを通信元アドレスとして送信する処理を行うようにする。
 たとえば、図12に示すアドレステーブルT3が用意されている状態において、通信先特定情報として本来の端末ID「0010」(ユーザJohnのスマートフォン)を含む接続仲介依頼が送信されてきた場合、通信元アドレス送信部330は、まず、端末ID「0010」に対応する所在アドレス「AD1」に試験アクセスを行い、正常な返信があった場合には問題なしと判断し、通常の手順に従って、所在アドレス「AD1」宛に通信元アドレスの送信を行えばよい。この場合、通信元端末装置は、本来の端末ID「0010」が付与されたユーザJohnのスマートフォンを通信先として通信を行うことができる。
 ところが、試験アクセスに対して正常な返信が得られなかった場合には、本来の端末ID「0010」が付与された端末装置(ユーザJohnのスマートフォン)が利用不都合な状態にあると判断し、本来の端末ID「0010」に代えて、アドレステーブルT3において端末ID「0010」についての代替端末IDとして登録されている端末ID「0011」に対応づけられている所在アドレス「AD5」宛に通信元アドレスの送信を行うようにする。この場合、通信元端末装置は、本来の端末ID「0010」が付与されたユーザJohnのスマートフォンではなく、代替端末ID「0011」が付与されたユーザJohnのパソコンを通信先として通信を行うことができる。なお、図12に示すユーザFrankのように、複数の代替端末IDが登録されている場合は、予め優先順位を定めておき、優先順位の高い順に実際に利用する代替端末IDを決定すればよい。
 なお、上述の実施例では、通信先アドレス返信部130や通信元アドレス送信部330は、接続仲介依頼を受信した時点で、本来の通信先に対する試験アクセスを行い、利用不都合な状態にあるか否かを判定する処理を行っているが、その代わりに、個々の端末装置に対して定期的な試験アクセスを行うようにし、利用不都合な状態にある端末装置については、その時点でアドレステーブルにその旨の記録を行うようにしてもよい。この場合、各端末装置は、接続仲介依頼の有無にかかわらず、定期的に試験アクセスを受け、利用不都合な状態にあるか否かのチェックを受けることになり、チェック結果がアドレステーブルに記録されることになる。したがって、実際に接続仲介依頼があった場合は、このアドレステーブルの記録に基づいて利用不都合な状態にあるか否かを判定することができる。
 なお、この変形例にいう「利用不都合な状態」とは、バッテリ切れの状態やネットワークへの接続障害が生じた状態のように「利用不能な状態」のみを意味するものではない。たとえば、端末装置の機能としては正常に利用可能な状態ではあるが、ユーザが恣意的に利用したくないと考え、そのような設定を行った状態も含むものである。たとえば、ユーザが自分の意思で「着信拒否」を設定した場合、当該端末装置は「利用不都合な状態」になる。したがって、上例の場合、ユーザJohnが所持するスマートフォンおよびパソコンがいずれも正常動作可能な状態であっても、もしユーザJohnが、スマートフォンに対して「着信拒否」を設定した場合、当該スマートフォンは「利用不都合な状態」になる。
 この「着信拒否」の設定(「利用不都合な状態」の設定)は、個々の端末装置内にのみ記録しておいてもよいが、接続仲介装置内のアドレステーブルに記録するようにしてもよい。アドレステーブルに記録しておけば、各端末装置への試験アクセスを行うことなしに、「利用不都合な状態」にあることを認識できる。
 <3−3. セキュリティを向上させる変形例(その1)>
 ここでは、よりセキュリティを向上させたネットワーク通信システムを構築するための変形例を述べる。一般に、電子機器間でネットワークを介して情報のやりとりを行う場合、相手方の真正性を担保することは重要である。真正性が担保されない相手との交信は、クラッカーの攻撃を招くおそれがあり、セキュリティ上問題である。本発明に係るネットワーク通信システムの場合、個々の端末装置と接続仲介装置との間の交信や、通信元端末装置と通信先端末装置との間の交信が不可欠であり、実用上、これら装置間通信におけるセキュリティ確保は重要である。
 図13は、図4に示す第1の実施形態に係るネットワーク通信システムについて、セキュリティを向上させた変形例を示すブロック図である。この変形例では、第1の実施形態に係るネットワーク通信システムに対して、セキュリティを向上させるための2つの対策が施されている。
 第1の対策は、相互認証処理の付加であり、図に破線の矢印で示されている情報を送受する際に、両者間で相手方の真正性を確認するための相互認証処理が行われる。具体的には、まず、通信元端末装置200Aから接続仲介装置100に対して接続仲介依頼S2を送信するときに、通信元端末装置200Aと接続仲介装置100との間で、相互に相手方の装置の真正性を確認するための相互認証処理が行われる。接続仲介依頼S2を示す矢印が破線になっているのは、この相互認証処理が行われることを示している。したがって、各端末装置200および接続仲介装置100には、このような認証処理機能が備わっていることになる。
 なお、図示の例の場合、接続仲介装置100から通信元端末装置200Aに対して通信先アドレス返信S4を行う際の相互認証処理は省略されている(通信先アドレス返信S4を示す矢印は実線で描かれている)。これは、接続仲介依頼S2を送信するときに、通信元端末装置200Aと接続仲介装置100との間の相互認証処理が既に完了しており、相手方の装置の真正性が確認済みとなっているためである。もちろん、通信先アドレス返信S4を行う際にも、再び相互認証処理を実行するようにしてもかまわない。
 また、図13に示すシステムの場合、通信元端末装置200Aから通信先端末装置200Bに対して通信開始要求S5を送信するときにも、通信元端末装置200Aと通信先端末装置200Bとの間で、相互に相手方の装置の真正性を確認するための相互認証処理が行われる。通信開始要求S5を示す矢印が破線になっているのは、この相互認証処理が行われることを示している。したがって、各端末装置200には、このような認証処理機能が備わっていることになる。
 なお、図示の例の場合、通信先端末装置200Bから通信元端末装置200Aに対して通信開始受諾確認S6を行う際の相互認証処理は省略されている(通信開始受諾確認S6を示す矢印は実線で描かれている)。これは、通信開始要求S5を送信するときに、通信元端末装置200Aと通信先端末装置200Bとの間の相互認証処理が既に完了しており、相手方の装置の真正性が確認済みとなっているためである。もちろん、通信開始受諾確認S6を行う際にも、再び相互認証処理を実行するようにしてもかまわない。
 ネットワークを介して接続された一対の装置間において、相手方の真正性を確認するための相互認証処理としては、既に種々の方法が知られているため、ここでは詳しい説明は省略する。一般的には、相手方の暗号鍵を利用した相互認証処理が利用されることが多い。たとえば、公開鍵暗号方式を利用した相互認証処理では、一方の装置で特定の平文データを相手方装置の公開鍵を用いて暗号化し、得られた暗号文データを相手方に送信し、これを受信した他方の装置では、当該暗号文データを自己の暗号鍵を用いて復号し、元の平文データが復元できることを確認する、といった処理手順を採ることができる。この処理手順を双方で行えば、相互に相手方の真正性を確認することができる。
 なお、通信元端末装置200Aと通信先端末装置200Bとの間の相互認証処理を、それぞれの暗号鍵を用いて行った場合は、当該暗号鍵を利用して、通信セッション確立後の両者間の通信S7を暗号化通信によって行うようにすれば、セキュリティを更に向上させることができる。具体的には、通信開始要求S5を送信するときの相互認証処理を、通信元端末装置200Aについての暗号鍵および通信先端末装置200Bについての暗号鍵を用いた処理によって行うようにし、通信元端末装置200Aと通信先端末装置200Bとの間における通信セッション確立後の通信S7が、上記相互認証処理で用いた暗号鍵を用いて暗号化されたパケットを送受するパケット通信によって行われるようにすればよい。
 図13に示すシステムにおいて、セキュリティを向上させるために施された第2の対策は、接続仲介装置100による仲介証明書の発行である。図示の例の場合、接続仲介装置100は、通信元端末装置200Aと通信先端末装置200Bとの間の接続を仲介する役割を果たす。仲介証明書は「そのような仲介を確かに行った」という事実を証明するために接続仲介装置100が発行する証明書である。通信先端末装置200Bは、この仲介証明書により、接続仲介装置100による仲介が正しく行われていることを確認することができる。以下、その仕組を順に説明する。
 まず、接続仲介依頼部210Aから通信先アドレス返信部130に対して、接続仲介依頼S2があると、通信先アドレス返信部130は、この接続仲介依頼S2の送信を受けて、通信元となる特定の端末装置200Aから通信先となる特定の端末装置200Bへの仲介処理を実行したことを示す仲介証明書を発行する。そして、通信先アドレス返信S4を行う際に、通信先アドレス「AD2」とともにこの仲介証明書を、通信元端末装置200Aに返信する。
 したがって、通信開始要求部240Aは、通信先アドレス「AD2」とともに、この仲介証明書を受信することになる。そこで、通信開始要求部240Aは、当該通信先アドレス「AD2」に対して通信開始要求S5を行う際に、この仲介証明書を併せて送信する。そうすると、通信先セッション確立部230Bは、通信開始要求S5とともに仲介証明書を受信することになる。
 通信先セッション確立部230Bは、通信元の別な端末装置200Aから、自己を通信先とする通信開始要求S5とともに仲介証明書が送信されてきたら、この仲介証明書の正当性が確認されることを条件として、当該通信元の別な端末装置200Aに対して通信開始受諾確認S6を送信し、当該通信元の別な端末装置200Aとの間に通信セッションを確立して通信S7を開始するようにする。もちろん、仲介証明書の正当性が確認されない場合は、通信開始受諾確認S6の送信を行わず、通信S7も開始しない。
 前述したとおり、上例の場合の仲介証明書は、接続仲介装置100が「端末装置200Aから端末装置200Bへの仲介処理を実行した」ことを証明するものであるから、通信先セッション確立部230Bは、通信開始要求S5の内容が、当該仲介証明書の証明内容に合致しているか否かを判定することにより、当該仲介証明書の正当性確認を行うことができる。上例の場合、通信開始要求S5は端末装置200Aから送信されてきており、自分自信は端末装置200Bであるから、「端末装置200Aから端末装置200Bへの仲介処理を実行した」との仲介証明書は正しいと判断することができる。
 通信先端末装置200B内の通信先セッション確立部230Bは、通信元端末装置200Aからの通信開始要求S5を受信して、通信元端末装置200Aに対して通信開始受諾確認S6を送信し、通信セッションを確立して通信S7を行う。このとき、受信した通信開始要求S5が正規の信号であれば問題ないが、クラッカーによる偽装信号であった場合、不正行為の被害に遭うおそれがある。また、通信元端末装置200Aがマルウェアに感染していた場合、クラッカーに乗っ取られた状態になり、接続仲介装置100を経由した正規の手順を踏まずに、不正な方法により通信開始要求S5がなされる可能性もある。上述した仲介証明書を発行する対策を講じておけば、このようなクラッカーによる不正行為を防止する上で効果的である。
 仲介証明書のこのような役割を考慮すると、通信先アドレス返信部130は、たとえば次のような方法で仲介証明書を作成すればよい。まず、接続仲介依頼S2に基づいて、通信元となる特定の端末装置200Aの所在アドレス(図示の例では「AD1」)および通信先となる特定の端末装置200Bの所在アドレス(図示の例では「AD2」)を認識する。そして、これら両所在アドレスを含む仲介証明用データを作成する。たとえば、両所在アドレスの文字列をそのまま連結して「AD1」+「AD2」のような文字列を仲介証明用データとしてもよいし、更に、別な秘密文字列「HAPPY」を付加して、「AD1」+「AD2」+「HAPPY」のような文字列を仲介証明用データとしてもよい。
 続いて、こうして作成した仲介証明用データに対して、所定の暗号鍵を利用した一方向性関数を作用させることにより得られたデータを仲介証明書とすればよい。たとえば、一方向性関数としては、通信元端末装置200Aについての暗号鍵もしくは通信先端末装置200Bについての暗号鍵、または、これら双方の暗号鍵を利用したハッシュ関数を用いることができる。
 たとえば、仲介証明用データが、「AD1」+「AD2」+「HAPPY」という文字列によって構成され、当該文字列に、通信先端末装置200Bの公開鍵を利用したハッシュ関数を作用させることにより仲介証明書を作成した場合を例にとってみよう。こうして作成された仲介証明書は、仲介証明用データのハッシュ値ということになる。
 一方、通信開始要求S5とともに、上記仲介証明書を受信した通信先セッション確立部230Bは、次のような手順で、当該仲介証明書の正当性を確認することができる。まず、通信開始要求S5の送信元のアドレスとして、通信元端末装置200Aの所在アドレス「AD1」を認識することができる。また、自分自身の所在アドレス「AD2」も認識することができる。そして、予め取り決めがなされていた上記秘密文字列「HAPPY」(この秘密文字列は、当該ネットワーク通信システムの各構成装置のみが知り得るように管理されている)を用いることにより、「AD1」+「AD2」+「HAPPY」という文字列からなる仲介証明用データを作成する。
 続いて、この仲介証明用データに対して自分自身の公開鍵を用いたハッシュ関数を作用させることにより仲介証明書を作成する。そして最後に、こうして作成した仲介証明書が通信開始要求S5とともに送信されてきた仲介証明書と一致することを確認すればよい。両者が一致すれば、仲介証明書の正当性が確認されたことになる。もちろん、不一致であれば、正当性は確認できないので、何らかの不正が行われている可能性があると判断できる。すなわち、仲介証明書の正当性が確認できない場合は、通信先セッション確立部230Bが受信した通信開始要求S5は、接続仲介装置100による正規の仲介処理に基づいてなされたものではない、と判断することができる。そのような場合、通信先セッション確立部230Bは、通信開始受諾確認S6の送信を行わず、通信セッションの確立を拒絶することになる。
 なお、上例では、「AD1」+「AD2」+「HAPPY」なる仲介証明用データについてのハッシュ値を仲介証明書として用いているが、もちろん、上記仲介証明用データそのものを仲介証明書として用いることも可能である。ただ、十分なセキュリティを確保する上では、仲介証明用データそのものではなく、そのハッシュ値を仲介証明書として用いるのが好ましい。仲介証明用データには、「AD1」や「AD2」といった所在アドレスが含まれているので、クラッカーによる改竄を受けやすい。したがって、実用上は、上例のように、何らかの暗号鍵を利用した一方向性関数を作用させて仲介証明書を作成するのが好ましい。
 ハッシュ関数などの一方向性関数を用いて仲介証明書を作成すれば、元の仲介証明用データを復元することはできないので、仲介証明書がクラッカーの手に渡ったとしても、不正な改竄を受ける可能性を低減することができる。不正な改竄を防止するという点では、上例の「HAPPY」のような秘密文字列を付加して仲介証明用データを作成することは有効である。もちろん、仲介証明書を発行した日付、時間、曜日などの変動要素を秘密文字列として用いることも可能である。
 <3−4. セキュリティを向上させる変形例(その2)>
 上述した§3−3では、§1で述べた第1の実施形態についてセキュリティを向上させた変形例を述べた。ここでは、§2で述べた第2の実施形態について、同様の方法でセキュリティを向上させた変形例を述べることにする。
 図14は、図8に示す第2の実施形態に係るネットワーク通信システムについて、セキュリティを向上させた変形例を示すブロック図である。この変形例では、第2の実施形態に係るネットワーク通信システムに対して、セキュリティを向上させるための2つの対策が施されている。
 第1の対策は、相互認証処理の付加であり、図に破線の矢印で示されている情報を送受する際に、両者間で相手方の真正性を確認するための相互認証処理が行われる。具体的には、まず、通信元端末装置400Bから接続仲介装置300に対して接続仲介依頼S12を送信するときに、通信元端末装置400Bと接続仲介装置300との間で、相互に相手方の装置の真正性を確認するための相互認証処理が行われる。接続仲介依頼S12を示す矢印が破線になっているのは、この相互認証処理が行われることを示している。
 同様に、接続仲介装置300から通信先端末装置400Aに対して通信元アドレス送信S14を行うときにも、接続仲介装置300と通信先端末装置400Aとの間で、相互に相手方の装置の真正性を確認するための相互認証処理が行われる。接続仲介依頼S14を示す矢印が破線になっているのは、この相互認証処理が行われることを示している。したがって、各端末装置400および接続仲介装置300には、上述した認証処理機能が備わっていることになる。
 また、図14に示すシステムの場合、通信先端末装置400Aから通信元端末装置400Bに対して通信開始要求S15を送信するときにも、通信先端末装置400Aと通信元端末装置400Bとの間で、相互に相手方の装置の真正性を確認するための相互認証処理が行われる。通信開始要求S15を示す矢印が破線になっているのは、この相互認証処理が行われることを示している。したがって、各端末装置400には、このような認証処理機能が備わっていることになる。
 なお、図示の例の場合、通信元端末装置400Bから通信先端末装置400Aに対して通信開始受諾確認S16を行う際の相互認証処理は省略されている(通信開始受諾確認S16を示す矢印は実線で描かれている)。これは、通信開始要求S15を送信するときに、通信先端末装置400Aと通信元端末装置400Bとの間の相互認証処理が既に完了しており、相手方の装置の真正性が確認済みとなっているためである。もちろん、通信開始受諾確認S16を行う際にも、再び相互認証処理を実行するようにしてもかまわない。
 相互認証処理の具体的な方法は、既に§3−3で述べたとおりである。また、この図14に示す変形例の場合も、相互認証処理に用いた暗号鍵を利用して、通信セッション確立後の両端末装置間の通信S17を暗号化通信によって行うようにしてもよい。
 図14に示すシステムにおいて、セキュリティを向上させるために施された第2の対策は、接続仲介装置300による仲介証明書の発行である。図示の例の場合、接続仲介装置300は、通信元端末装置400Bと通信先端末装置400Aとの間の接続を仲介する役割を果たす。仲介証明書は「そのような仲介を確かに行った」という事実を証明するために接続仲介装置300が発行する証明書である。通信元端末装置400Bは、この仲介証明書により、接続仲介装置300による仲介が正しく行われていることを確認することができる。以下、その仕組を順に説明する。
 まず、接続仲介依頼部410Bから通信元アドレス送信部330に対して、接続仲介依頼S12があると、通信元アドレス送信部330は、この接続仲介依頼S12の送信を受けて、通信元となる特定の端末装置400Bから通信先となる特定の端末装置400Aへの仲介処理を実行したことを示す仲介証明書を発行する。そして、通信元アドレス返信S14を行う際に、通信元アドレス「AD2」とともにこの仲介証明書を、通信先端末装置400Aに返信する。
 したがって、通信開始要求部440Aは、通信元アドレス「AD2」とともに、この仲介証明書を受信することになる。そこで、通信開始要求部440Aは、当該通信元アドレス「AD2」に対して通信開始要求S15を行う際に、この仲介証明書を併せて送信する。そうすると、通信元セッション確立部430Bは、通信開始要求S15とともに仲介証明書を受信することになる。
 通信元セッション確立部430Bは、通信先の別な端末装置400Aから、自己を通信元とする通信開始要求S15とともに仲介証明書が送信されてきたら、この仲介証明書の正当性が確認されることを条件として、当該通信先の別な端末装置400Aに対して通信開始受諾確認S16を送信し、当該通信先の別な端末装置400Aとの間に通信セッションを確立して通信S17を開始するようにする。もちろん、仲介証明書の正当性が確認されない場合は、通信開始受諾確認S16の送信を行わず、通信S17も開始しない。
 前述したとおり、上例の場合の仲介証明書は、接続仲介装置300が「端末装置400Bから端末装置400Aへの仲介処理を実行した」ことを証明するものであるから、通信元セッション確立部430Bは、通信開始要求S15の内容が、当該仲介証明書の証明内容に合致しているか否かを判定することにより、当該仲介証明書の正当性確認を行うことができる。上例の場合、通信開始要求S15は端末装置400Aから送信されてきており、自分自信は端末装置400Bであるから、「端末装置400Bから端末装置400Aへの仲介処理を実行した」との仲介証明書は正しいと判断することができる。
 通信元端末装置400B内の通信元セッション確立部430Bは、通信先端末装置400Aからの通信開始要求S15を受信して、通信先端末装置400Aに対して通信開始受諾確認S16を送信し、通信セッションを確立して通信S17を行う。このとき、受信した通信開始要求S15が正規の信号であれば問題ないが、クラッカーによる偽装信号であった場合、不正行為の被害に遭うおそれがある。また、通信先端末装置400Aがマルウェアに感染していた場合、クラッカーに乗っ取られた状態になり、接続仲介装置300を経由した正規の手順を踏まずに、不正な方法により通信開始要求S15がなされる可能性もある。上述した仲介証明書を発行する対策を講じておけば、このようなクラッカーによる不正行為を防止する上で効果的である。
 仲介証明書の具体的な作成方法は、§3−3で述べたとおりである。すなわち、この図14に示す変形例の場合も、通信元アドレス送信部330は、通信元となる特定の端末装置400Bの所在アドレス「AD2」および通信先となる特定の端末装置400Aの所在アドレス「AD1」を含む仲介証明用データ(必要に応じて、その他の秘密文字列を付加してもよい)に対して、所定の暗号鍵を利用した一方向性関数を作用させることにより仲介証明書を作成すればよい。一方向性関数としては、通信元についての暗号鍵もしくは通信先についての暗号鍵、または、これら双方の暗号鍵を利用したハッシュ関数を用いることができる。このような仲介証明書を用いた正当性確認の具体的な手順は、既に§3−3で述べたとおりであり、ここでは説明を省略する。
 本発明に係るネットワーク通信システムは、パソコン、携帯電話、タブレット型端末など、インターネットに接続可能な様々な端末装置が利用されている状態において、任意の端末装置間での通信を可能にする技術を提供するものであり、産業上、十分な利用可能性を有している。

Claims (22)

  1.  ネットワーク(N)を介して相互に接続可能な複数の端末装置(200,200A−200D)と、前記複数の端末装置間の接続を仲介する接続仲介装置(100)と、を備えたネットワーク通信システムであって、
     前記複数の端末装置(200,200A−200D)には、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、前記接続仲介装置(100)は、前記端末IDを利用して通信元となる端末装置(200A)と通信先となる端末装置(200B)との間の接続を仲介する処理を実行し、
     前記複数の端末装置(200)のそれぞれは、
     自己のネットワーク上での所在を示す所在アドレスを、前記接続仲介装置(100)に対して通知する自己アドレス通知部(250)と、
     自己(200A)を通信元として、通信先の別な端末装置(200B)に対する通信要求(S1)を受け付ける通信要求受付部(220A)と、
     前記通信要求受付部(220A)によって前記通信要求(S1)が受け付けられたときに、前記接続仲介装置(100)に対して、前記通信先の別な端末装置(200B)の端末ID(0020)を特定するための通信先特定情報を含む接続仲介依頼(S2)を送信する接続仲介依頼部(210A)と、
     前記接続仲介依頼(S2)に応じて、前記接続仲介装置(100)から、前記通信先の別な端末装置(200B)のネットワーク上での所在を示す通信先アドレス(AD2)が返信されてきたときに、ネットワーク(N)を介して、前記通信先アドレス(AD2)にアクセスして通信開始要求(S5)を行う通信開始要求部(240A)と、
     前記通信開始要求(S5)に応じて、前記通信先の別な端末装置(200B)から、通信開始受諾確認(S6)が返信されてきたら、前記通信先の別な端末装置(200B)との間に通信セッションを確立して通信(S7)を開始する通信元セッション確立部(260A)と、
     通信元の別な端末装置(200A)から、自己を通信先とする通信開始要求(S5)がなされたら、前記通信元の別な端末装置(200A)に対して通信開始受諾確認(S6)を送信し、前記通信元の別な端末装置(200A)との間に通信セッションを確立して通信(S7)を開始する通信先セッション確立部(230B)と、
     を有し、
     前記接続仲介装置(100)は、
     前記端末装置(200A−200D)のそれぞれについて、前記端末IDと前記所在アドレスとを対応づけたアドレステーブル(T)を格納するアドレステーブル格納部(110)と、
     前記端末装置(200A−200D)の前記自己アドレス通知部(250)からの通知に基づいて、前記アドレステーブル(T)の内容を更新するアドレステーブル更新部(120)と、
     前記端末装置(200A)の前記接続仲介依頼部(210A)から、前記接続仲介依頼(S2)が送信されてきたときに、前記アドレステーブル(T)を参照して、前記接続仲介依頼(S2)に含まれている通信先特定情報によって特定される端末ID(0020)に対応づけられている所在アドレス(AD2)を通信先アドレスとして返信する通信先アドレス返信部(130)と、
     を有することを特徴とするネットワーク通信システム。
  2.  請求項1に記載のネットワーク通信システムにおいて、
     通信元となる端末装置(200A)から接続仲介装置(100)に対して接続仲介依頼(S2)を送信するときに、前記通信元となる端末装置(200A)と前記接続仲介装置(100)との間で、相互に相手方の装置の真正性を確認するための相互認証処理が行われるように、端末装置(200A)および接続仲介装置(100)に認証処理機能を設けたことを特徴とするネットワーク通信システム。
  3.  請求項1または2に記載のネットワーク通信システムにおいて、
     通信元となる端末装置(200A)から通信先となる端末装置(200B)に対して通信開始要求(S5)を送信するときに、前記通信元となる端末装置(200A)と前記通信先となる端末装置(200B)との間で、相互に相手方の装置の真正性を確認するための相互認証処理が行われるように、各端末装置(200A,200B)に認証処理機能を設けたことを特徴とするネットワーク通信システム。
  4.  請求項3に記載のネットワーク通信システムにおいて、
     相互認証処理を、通信元についての暗号鍵および通信先についての暗号鍵を用いた処理によって行い、
     通信元となる端末装置(200A)と通信先となる端末装置(200B)との間における通信セッション確立後の通信(S7)が、前記相互認証処理で用いた暗号鍵を用いて暗号化されたパケットを送受するパケット通信によって行われるようにしたことを特徴とするネットワーク通信システム。
  5.  請求項1~4のいずれかに記載のネットワーク通信システムにおいて、
     通信先アドレス返信部(130)が、接続仲介依頼(S2)が送信されてきたときに、通信元となる特定の端末装置(200A)から通信先となる特定の端末装置(200B)への仲介処理を実行したことを示す仲介証明書を発行し、この仲介証明書を通信先アドレス(AD2)とともに、通信元となる端末装置(200A)に返信し、
     通信開始要求部(240A)が、前記通信先アドレス(AD2)に対して通信開始要求(S5)を行う際に、前記仲介証明書を送信し、
     通信先セッション確立部(230B)が、通信元の別な端末装置(200A)から、自己を通信先とする通信開始要求(S5)とともに前記仲介証明書が送信されてきたら、前記仲介証明書の正当性が確認されることを条件として、前記通信元の別な端末装置(200A)に対して通信開始受諾確認(S6)を送信し、前記通信元の別な端末装置(200A)との間に通信セッションを確立して通信(S7)を開始することを特徴とするネットワーク通信システム。
  6.  請求項5に記載のネットワーク通信システムにおいて、
     通信先アドレス返信部(130)が、通信元となる特定の端末装置(200A)の所在アドレス(AD1)および通信先となる特定の端末装置(200B)の所在アドレス(AD2)を含む仲介証明用データに対して、所定の暗号鍵を利用した一方向性関数を作用させることにより仲介証明書を作成することを特徴とするネットワーク通信システム。
  7.  請求項1~6のいずれかに記載のネットワーク通信システムにおいて、
     アドレステーブル格納部(110)が、個々の端末装置(200A−200D)のそれぞれについて、当該端末装置のユーザを特定するユーザIDもしくはユーザアカウントを特定するアカウントIDと、当該端末装置の端末IDと、を対応づける情報を含むアドレステーブル(T1;T2)を格納しており、
     接続仲介依頼部(210A)が、通信先特定情報として、通信先の端末装置(200B)のユーザを特定するユーザIDもしくはユーザアカウントを特定するアカウントIDを用い、
     通信先アドレス返信部(130)が、前記接続仲介依頼部(210A)から接続仲介依頼(S2)が送信されてきたときに、前記アドレステーブル(T1;T2)を参照して、前記接続仲介依頼(S2)に含まれていたユーザIDもしくはアカウントIDに対応づけられている端末IDを決定し、決定された端末IDに対応づけられている所在アドレスを通信先アドレスとして返信することを特徴とするネットワーク通信システム。
  8.  請求項1~7のいずれかに記載のネットワーク通信システムにおいて、
     アドレステーブル格納部(110)が、特定の端末IDについて、1つもしくは複数の代替端末IDを登録したアドレステーブル(T3)を格納しており、
     通信先アドレス返信部(130)が、個々の端末装置(200A−200D)について利用不都合な状態にあるか否かを判定する機能を有し、接続仲介依頼(S2)が送信されてきたときに、通信先特定情報で特定される本来の端末IDが付与された端末装置が利用不都合な状態にある場合には、当該本来の端末IDに代えて前記代替端末IDに対応づけられている所在アドレスを通信先アドレスとして返信することを特徴とするネットワーク通信システム。
  9.  ネットワーク(N)を介して相互に接続可能な複数の端末装置(400,400A−400D)と、前記複数の端末装置間の接続を仲介する接続仲介装置(300)と、を備えたネットワーク通信システムであって、
     前記複数の端末装置(400,400A−400D)には、個々の端末装置を相互に識別するための端末IDがそれぞれ付与されており、前記接続仲介装置(300)は、前記端末IDを利用して通信元となる端末装置(400B)と通信先となる端末装置(400A)との間の接続を仲介する処理を実行し、
     前記複数の端末装置(400)のそれぞれは、
     自己のネットワーク上での所在を示す所在アドレスを、前記接続仲介装置(300)に対して通知する自己アドレス通知部(450)と、
     自己(400B)を通信元として、通信先の別な端末装置(400A)に対する通信要求(S11)を受け付ける通信要求受付部(420B)と、
     前記通信要求受付部(420B)によって前記通信要求(S11)が受け付けられたときに、前記接続仲介装置(300)に対して、前記通信先の別な端末装置(400A)の端末ID(0010)を特定するための通信先特定情報を含む接続仲介依頼(S12)を送信する接続仲介依頼部(410B)と、
     前記接続仲介装置(300)から、通信元の別な端末装置(400B)のネットワーク上での所在を示す通信元アドレス(AD2)が送信されてきたときに、ネットワーク(N)を介して、前記通信元アドレス(AD2)にアクセスして通信開始要求(S15)を行う通信開始要求部(440A)と、
     前記通信開始要求(S15)に応じて、前記通信元の別な端末装置(400B)から、通信開始受諾確認(S16)が返信されてきたら、前記通信元の別な端末装置(400B)との間に通信セッションを確立して通信(S17)を開始する通信先セッション確立部(460A)と、
     前記通信先の別な端末装置(400A)から、自己(400B)を通信元とする通信開始要求(S15)がなされたら、前記通信先の別な端末装置(400A)に対して通信開始受諾確認(S16)を送信し、前記通信先の別な端末装置(400A)との間に通信セッションを確立して通信(S17)を開始する通信元セッション確立部(430B)と、
     を有し、
     前記接続仲介装置(300)は、
     前記端末装置(400A−400D)のそれぞれについて、前記端末IDと前記所在アドレスとを対応づけたアドレステーブル(T)を格納するアドレステーブル格納部(310)と、
     前記端末装置(400A−400D)の前記自己アドレス通知部(450)からの通知に基づいて、前記アドレステーブル(T)の内容を更新するアドレステーブル更新部(320)と、
     前記端末装置(400B)の前記接続仲介依頼部(410B)から、前記接続仲介依頼(S12)が送信されてきたときに、前記アドレステーブル(T)を参照して、前記接続仲介依頼(S12)に含まれている通信先特定情報によって特定される端末ID(0010)に対応づけられている所在アドレス(AD1)に対して、前記接続仲介依頼(S12)を送信した通信元の端末装置(400B)の端末IDに(0020)対応づけられている所在アドレス(AD2)を通信元アドレスとして送信する通信元アドレス送信部(330)と、
     を有することを特徴とするネットワーク通信システム。
  10.  請求項9に記載のネットワーク通信システムにおいて、
     通信元となる端末装置(400B)から接続仲介装置(300)に対して接続仲介依頼(S12)を送信するときおよび接続仲介装置(300)から通信先となる端末装置(400A)に対して通信元アドレスを送信するときに、前記通信元となる端末装置(400B)と前記接続仲介装置(300)との間および前記接続仲介装置(300)と前記通信先となる端末装置(400A)との間で、相互に相手方の装置の真正性を確認するための相互認証処理が行われるように、端末装置(400A,400B)および接続仲介装置(300)に認証処理機能を設けたことを特徴とするネットワーク通信システム。
  11.  請求項9または10に記載のネットワーク通信システムにおいて、
     通信先となる端末装置(400A)から通信元となる端末装置(400B)に対して通信開始要求(S15)を送信するときに、前記通信先となる端末装置(400A)と前記通信元となる端末装置(400B)との間で、相互に相手方の装置の真正性を確認するための相互認証処理が行われるように、各端末装置(400A,400B)に認証処理機能を設けたことを特徴とするネットワーク通信システム。
  12.  請求項11に記載のネットワーク通信システムにおいて、
     相互認証処理を、通信元についての暗号鍵および通信先についての暗号鍵を用いた処理によって行い、
     通信元となる端末装置(400B)と通信先となる端末装置(400A)との間における通信セッション確立後の通信(S17)が、前記相互認証処理で用いた暗号鍵を用いて暗号化されたパケットを送受するパケット通信によって行われるようにしたことを特徴とするネットワーク通信システム。
  13.  請求項9~12のいずれかに記載のネットワーク通信システムにおいて、
     通信元アドレス送信部(330)が、接続仲介依頼(S12)が送信されてきたときに、通信元となる特定の端末装置(400B)から通信先となる特定の端末装置(400A)への仲介処理を実行したことを示す仲介証明書を発行し、この仲介証明書を通信元アドレス(AD2)とともに、通信先となる端末装置(400A)に送信し、
     通信開始要求部(440A)が、前記通信元アドレス(AD2)に対して通信開始要求(S15)を行う際に、前記仲介証明書を送信し、
     通信元セッション確立部(430B)が、通信先の別な端末装置(400A)から、自己(400B)を通信元とする通信開始要求(S15)とともに前記仲介証明書が送信されてきたら、前記仲介証明書の正当性が確認されることを条件として、前記通信先の別な端末装置(400A)に対して通信開始受諾確認(S16)を送信し、前記通信先の別な端末装置(400A)との間に通信セッションを確立して通信(S17)を開始することを特徴とするネットワーク通信システム。
  14.  請求項13に記載のネットワーク通信システムにおいて、
     通信元アドレス送信部(330)が、通信元となる特定の端末装置(400B)の所在アドレス(AD2)および通信先となる特定の端末装置(400A)の所在アドレス(AD1)を含む仲介証明用データに対して、所定の暗号鍵を利用した一方向性関数を作用させることにより仲介証明書を作成することを特徴とするネットワーク通信システム。
  15.  請求項9~14のいずれかに記載のネットワーク通信システムにおいて、
     アドレステーブル格納部(310)が、個々の端末装置(400A−400D)のそれぞれについて、当該端末装置のユーザを特定するユーザIDもしくはユーザアカウントを特定するアカウントIDと、当該端末装置の端末IDと、を対応づける情報を含むアドレステーブル(T1;T2)を格納しており、
     接続仲介依頼部(410B)が、通信先特定情報として、通信先の端末装置(400A)のユーザを特定するユーザIDもしくはユーザアカウントを特定するアカウントIDを用い、
     通信元アドレス送信部(330)が、前記接続仲介依頼部(410B)から接続仲介依頼(S12)が送信されてきたときに、前記アドレステーブル(T1;T2)を参照して、前記接続仲介依頼(S12)に含まれていたユーザIDもしくはアカウントIDに対応づけられている端末IDを決定し、決定された端末IDに対応づけられている所在アドレス(AD1)に対して、通信元の端末装置(400B)の端末IDに対応づけられている所在アドレス(AD2)を通信元アドレスとして送信することを特徴とするネットワーク通信システム。
  16.  請求項9~15のいずれかに記載のネットワーク通信システムにおいて、
     アドレステーブル格納部(310)が、特定の端末IDについて、1つもしくは複数の代替端末IDを登録したアドレステーブル(T3)を格納しており、
     通信元アドレス送信部(330)が、個々の端末装置(400A−400D)について利用不都合な状態にあるか否かを判定する機能を有し、接続仲介依頼(S12)が送信されてきたときに、通信先特定情報で特定される本来の端末IDが付与された端末装置が利用不都合な状態にある場合には、当該本来の端末IDに代えて前記代替端末IDに対応づけられている所在アドレスに対して、前記接続仲介依頼(S12)を送信した通信元の端末装置(400B)の端末IDに対応づけられている所在アドレス(AD2)を通信元アドレスとして送信することを特徴とするネットワーク通信システム。
  17.  請求項1~16のいずれかに記載のネットワーク通信システムにおいて、
     自己アドレス通知部(250;450)が、所定周期で繰り返して、もしくは、所在アドレスが変更になったときに、現時点の所在アドレスを通知することを特徴とするネットワーク通信システム。
  18.  請求項1~17のいずれかに記載のネットワーク通信システムにおいて、
     端末装置のネットワーク上での所在を示す所在アドレスとして、グローバルIPアドレスもしくはNAT−IDを用いることを特徴とするネットワーク通信システム。
  19.  請求項6または14に記載のネットワーク通信システムにおいて、
     一方向性関数として、通信元についての暗号鍵もしくは通信先についての暗号鍵、または、これら双方の暗号鍵を利用したハッシュ関数を用いることを特徴とするネットワーク通信システム。
  20.  請求項1~19のいずれかに記載のネットワーク通信システムにおける複数の端末装置(200A−200D;400A−400D)を構成する1台の端末装置(200;400)。
  21.  請求項1~19のいずれかに記載のネットワーク通信システムにおける接続仲介装置(100;300)。
  22.  請求項20に記載の1台の端末装置(200;400)もしくは請求項21に記載の接続仲介装置(100;300)としてコンピュータを機能させるプログラム。
PCT/JP2016/055960 2016-02-22 2016-02-22 ネットワーク通信システム WO2017145393A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2016/055960 WO2017145393A1 (ja) 2016-02-22 2016-02-22 ネットワーク通信システム
JP2018501668A JP6787390B2 (ja) 2016-02-22 2017-02-20 ネットワーク通信システム
PCT/JP2017/006131 WO2017145984A1 (ja) 2016-02-22 2017-02-20 ネットワーク通信システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/055960 WO2017145393A1 (ja) 2016-02-22 2016-02-22 ネットワーク通信システム

Publications (1)

Publication Number Publication Date
WO2017145393A1 true WO2017145393A1 (ja) 2017-08-31

Family

ID=59685062

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/JP2016/055960 WO2017145393A1 (ja) 2016-02-22 2016-02-22 ネットワーク通信システム
PCT/JP2017/006131 WO2017145984A1 (ja) 2016-02-22 2017-02-20 ネットワーク通信システム

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/006131 WO2017145984A1 (ja) 2016-02-22 2017-02-20 ネットワーク通信システム

Country Status (2)

Country Link
JP (1) JP6787390B2 (ja)
WO (2) WO2017145393A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7173271B2 (ja) * 2018-02-19 2022-11-16 大日本印刷株式会社 ネットワーク通信システム
JP6988545B2 (ja) * 2018-02-19 2022-01-05 大日本印刷株式会社 ネットワーク通信システム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002044181A (ja) * 2000-07-24 2002-02-08 Yoshiyasu Mutou インターネット電話接続方法およびそのシステム
JP2003169075A (ja) * 2001-09-21 2003-06-13 E-Jan Net Co 接続支援サーバ、端末、接続支援システム、接続支援方法、通信プログラム、および接続支援プログラム
JP2010147690A (ja) * 2008-12-17 2010-07-01 Nippon Telegraph & Telephone West Corp Ip電話通信装置、ip電話通信中継装置およびip電話通信方法
JP2013138398A (ja) * 2011-11-28 2013-07-11 Panasonic Corp 通信機器間の接続確立方法、通信機器、及びサーバ装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002044181A (ja) * 2000-07-24 2002-02-08 Yoshiyasu Mutou インターネット電話接続方法およびそのシステム
JP2003169075A (ja) * 2001-09-21 2003-06-13 E-Jan Net Co 接続支援サーバ、端末、接続支援システム、接続支援方法、通信プログラム、および接続支援プログラム
JP2010147690A (ja) * 2008-12-17 2010-07-01 Nippon Telegraph & Telephone West Corp Ip電話通信装置、ip電話通信中継装置およびip電話通信方法
JP2013138398A (ja) * 2011-11-28 2013-07-11 Panasonic Corp 通信機器間の接続確立方法、通信機器、及びサーバ装置

Also Published As

Publication number Publication date
JP6787390B2 (ja) 2020-11-18
JPWO2017145984A1 (ja) 2018-12-13
WO2017145984A1 (ja) 2017-08-31

Similar Documents

Publication Publication Date Title
US10038779B2 (en) Intercepting voice over IP communications and other data communications
JP5212071B2 (ja) 通信装置および移動端末
CA2823983C (en) Constructing a contact sharing history
WO2017145393A1 (ja) ネットワーク通信システム
JP2010045716A (ja) 発信元情報通知システム、通信網内サーバ及び通信端末
JP6879370B2 (ja) ネットワーク通信システム
KR101978972B1 (ko) 향상된 자동 발신자 식별 해석
JP2002281151A (ja) コンピュータ通信網を基盤とする通信システム及び方法
JP2006333220A (ja) ネットワーク電話システム及びこのネットワーク電話システムのサーバ装置
JP6879372B2 (ja) ネットワーク通信システム
JP6879373B2 (ja) ネットワーク通信システム
JP6988545B2 (ja) ネットワーク通信システム
JP7173271B2 (ja) ネットワーク通信システム
JP6879371B2 (ja) ネットワーク通信システム
JP7056663B2 (ja) ネットワーク通信システム
EP4254863A1 (en) Method for network-centric call verification and scam protection
JP2016040962A (ja) 通信サービス利用者特定方式および通信サービス利用者特定装置
JP5402689B2 (ja) 通信方法
JP2005252802A (ja) 迷惑電話防止サービスを提供するip電話システム
JP5682658B2 (ja) 通信装置及び通信端末
TWI528776B (zh) 終端設備及網路協定語音通信方法
JP2013058977A (ja) 通信サービス利用者特定方式および通信サービス利用者特定装置
JP2015035814A (ja) 通信サービス利用者特定方式および通信サービス利用者特定装置
JP2011250086A (ja) 迷惑電話防止システム、迷惑電話防止方法

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

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

Ref document number: 16891550

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 16891550

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP