WO2010023958A1 - 中継サーバおよび中継通信システム - Google Patents

中継サーバおよび中継通信システム Download PDF

Info

Publication number
WO2010023958A1
WO2010023958A1 PCT/JP2009/004254 JP2009004254W WO2010023958A1 WO 2010023958 A1 WO2010023958 A1 WO 2010023958A1 JP 2009004254 W JP2009004254 W JP 2009004254W WO 2010023958 A1 WO2010023958 A1 WO 2010023958A1
Authority
WO
WIPO (PCT)
Prior art keywords
relay server
information
relay
client terminal
server
Prior art date
Application number
PCT/JP2009/004254
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
Priority claimed from JP2008223098A external-priority patent/JP4831145B2/ja
Priority claimed from JP2008227540A external-priority patent/JP4803229B2/ja
Priority claimed from JP2008230229A external-priority patent/JP4831148B2/ja
Application filed by 村田機械株式会社 filed Critical 村田機械株式会社
Priority to EP09809613.4A priority Critical patent/EP2323315B1/en
Priority to CN2009801340667A priority patent/CN102138304B/zh
Priority to US13/061,234 priority patent/US8356116B2/en
Publication of WO2010023958A1 publication Critical patent/WO2010023958A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • H04L12/4675Dynamic sharing of VLAN information amongst network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/30Types of network names
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/30Types of network names
    • H04L2101/385Uniform resource identifier for session initiation protocol [SIP URI]

Definitions

  • the present invention relates to a relay server and a relay communication system that enable a client terminal connected to a remote LAN (Local Area Network) to communicate over a WAN (Wide Area Network).
  • LAN Local Area Network
  • WAN Wide Area Network
  • a client terminal connected to a remote LAN may communicate across a WAN.
  • a VPN Virtual Private Network
  • a VPN can construct a network as if a remote LAN is directly connected.
  • the relay communication system disclosed in Patent Document 1 can construct a network as if a remote LAN is directly connected, like VPN. And unlike a VPN, a relay communication system is easy to construct a network with expandability and flexibility.
  • the relay communication system includes a WAN and a plurality of LANs.
  • Each LAN includes a relay server.
  • Each relay server stores relay group information about a relay server included in the relay communication system and shared resource information about a resource shared by the relay communication system.
  • the relay server connected to these LANs is based on the relay group information and the shared resource information. , Relay resource operations.
  • the LAN provided in the relay communication system may increase or decrease. Resources shared by the relay communication system may be updated. However, the relay communication system can update the relay group information and the shared resource information in response to these changes. And the relay communication system can construct
  • the increase / decrease state and connection state of the LAN and client terminals may change.
  • the client terminal and the relay server specify the communication destination, no specific means for confirming the increase / decrease state and connection state of the device in real time is disclosed.
  • a specific means by which the client terminal and the relay server can dynamically allocate a virtual IP (Internet Protocol) address is not disclosed.
  • the client terminal and the relay server specify a communication destination. It is an object of the present invention to provide a specific means for confirming an increase / decrease state and a connection state of devices in real time. It is another object of the present invention to provide a specific means by which a client terminal and a relay server can dynamically allocate a virtual IP address even when the increase / decrease state and connection state of devices change.
  • the increase / decrease state and connection state of the LAN and client terminals may change.
  • the client terminal and the relay server specify the communication destination, no specific means for confirming the increase / decrease state and connection state of the device in real time is disclosed.
  • the activation state of the application stored in the client terminal and the relay server may change.
  • no specific means for confirming the activation state of the application stored in the apparatus in real time is disclosed.
  • the client terminal and the relay server specify a communication destination. It is an object of the present invention to provide a specific means for confirming an increase / decrease state and a connection state of devices in real time. It is another object of the present invention to provide a specific means for confirming in real time the activation state of an application stored in a device when a client terminal and a relay server specify a communication destination.
  • a relay communication system includes a first network, a second network, a first relay server connected to the first network, and a second network connected to the second network. And a relay server.
  • the first relay server and the second relay server are relay group information for creating relay group information indicating a relay group formed by the first relay server and the second relay server and a virtual network address used in the relay group.
  • the first relay server includes a first relay server information creation unit that creates first relay server information.
  • the first relay server information includes the first relay server activation information indicating the activation state of the first relay server, and the first state including the connection state between the first relay server and the first client terminal connected to the first network.
  • the second relay server includes a second relay server information creation unit that creates second relay server information.
  • the second relay server information includes the second relay server activation information indicating the activation state of the second relay server, and the second relay server information including the connection state between the second relay server and the second client terminal connected to the second network.
  • the first relay server and the second relay server include an inter-relay server sharing unit and a virtual address management unit.
  • the inter-relay server sharing unit shares the relay server information including the first relay server information and the second relay server information and the relay group information between the first relay server and the second relay server.
  • the virtual address management unit dynamically assigns a virtual network address managed to be unique within the relay group to the first client terminal and the second client terminal at a predetermined timing, and also provides information on the assigned virtual network address.
  • the first relay server includes a first inter-client terminal sharing unit that shares the relay group information and the relay server information between the first relay server and the first client terminal.
  • the second relay server includes a second inter-client terminal sharing unit that shares the relay group information and the relay server information between the second relay server and the second client terminal.
  • the relay group information includes relay server connection establishment information as to whether or not the first relay server and the second relay server have established a connection.
  • the first relay server information includes first client terminal connection establishment information as to whether or not the first client terminal has established a connection with the first relay server.
  • the second relay server information includes second client terminal connection establishment information as to whether or not the second client terminal has established a connection with the second relay server.
  • the relay communication system wherein in the first relay server, the virtual network address of the second network selected based on the relay group information and the relay server information is used as the communication destination.
  • the communication execution part which performs the communication which the designated 1st relay server relays based on relay group information and relay server information is included.
  • a map display unit for displaying a map visually representing the connection establishment status and the virtual address.
  • the relay server according to the invention described in claim 5 is a relay server that can communicate with the first relay server connected to the first network and functions as the second relay server connected to the second network.
  • the relay server includes a relay group information creation unit, an inter-relay server sharing unit, and an inter-client terminal sharing unit.
  • the relay group information creation unit creates relay group information indicating that the first relay server and the second relay server constitute a relay group.
  • the inter-relay server sharing unit shares the relay server information and the relay group information between the first relay server and the second relay server.
  • the relay server information includes first relay server information and second relay server information.
  • the first relay server information includes first relay server activation information indicating an activation state of the first relay server, and a first state including a connection state between the first relay server and the first client terminal connected to the first network.
  • the second relay server information includes the second relay server activation information indicating the activation state of the second relay server, and the second relay server information including the connection state between the second relay server and the second client terminal connected to the second network.
  • the inter-client terminal sharing unit shares the relay group information and the relay server information between the second relay server and the second client terminal.
  • the relay server according to claim 6 is a communication execution unit that executes communication relayed by the second relay server for the first application selected based on the relay group information and the relay server information in claim 5, It has.
  • the relay server updates the first application activation information and the second application activation information in accordance with changes in activation states of the first application and the second application, respectively, according to claim 5 or claim 6.
  • an activation information updating unit for updating the relay server information is provided.
  • the inter-relay server sharing unit shares the updated relay server information between the first relay server and the second relay server.
  • a relay communication system includes a first network, a second network, a first relay server connected to the first network, and a second relay server connected to the second network.
  • the first relay server and the second relay server include a relay group information creation unit that creates relay group information indicating that the first relay server and the second relay server constitute a relay group.
  • the first relay server includes a first relay server information creation unit that creates first relay server information.
  • the first relay server information includes the first relay server activation information indicating the activation state of the first relay server, and the first state including the connection state between the first relay server and the first client terminal connected to the first network.
  • the second relay server includes a second relay server information creation unit that creates second relay server information.
  • the second relay server information includes the second relay server activation information indicating the activation state of the second relay server, and the second relay server information including the connection state between the second relay server and the second client terminal connected to the second network.
  • 2nd client terminal registration information regarding the 2nd client terminal registered into the relay server, and the starting information of the 2nd application stored in the 2nd relay server or the 2nd client terminal are included.
  • the first relay server and the second relay server are the relay server information including the first relay server information and the second relay server information, and the relay group information between the first relay server and the second relay server.
  • the relay server sharing unit shared by The first relay server includes a first inter-client terminal sharing unit that shares the relay group information and the relay server information between the first relay server and the first client terminal.
  • the second relay server includes a second inter-client terminal sharing unit that shares the relay group information and the relay server information between the second relay server and the second client terminal.
  • the relay communication system wherein, in claim 8, the first relay server executes communication relayed by the first relay server for the second application selected based on the relay group information and the relay server information.
  • a communication execution unit the first relay server executes communication relayed by the first relay server for the second application selected based on the relay group information and the relay server information.
  • the relay communication system according to claim 10 is the relay system according to claim 8 or 9, wherein the first relay server and the second relay server correspond to changes in activation states of the first application and the second application, respectively.
  • a startup information updating unit that updates the relay server information by updating the first application startup information and the second application startup information;
  • the inter-relay server sharing unit shares the updated relay server information between the first relay server and the second relay server.
  • the first (second) relay server information can include communication enable / disable information of the first (second) relay server and the first (second) client terminal.
  • the first (second) relay server information can include communication enable / disable information of the first (second) application of the terminal connected to the first (second) network.
  • Each device in the relay communication system can share information about the increase / decrease state and connection state of the device.
  • Each device in the relay communication system can share information about the activation state of the application.
  • Each device in the relay communication system can select an application of a client terminal or a relay server that is a counterpart to execute data transmission / reception based on the increase / decrease state and connection state of the device, and the activation state of the application.
  • the relay server according to the invention described in claim 11 can communicate with the first relay server connected to the first network and functions as a second relay server connected to the second network.
  • the relay server includes a relay group information creation unit, an inter-relay server sharing unit, and an inter-client terminal sharing unit.
  • the relay group information creation unit creates relay group information indicating that the first relay server and the second relay server constitute a relay group.
  • the inter-relay server sharing unit shares the relay server information and the relay group information between the first relay server and the second relay server.
  • the relay server information includes first relay server information and second relay server information.
  • the first relay server information includes the first relay server activation information indicating the activation state of the first relay server, and the first state including the connection state between the first relay server and the first client terminal connected to the first network. 1st client terminal registration information regarding the 1st client terminal registered into the relay server, and a 1st relay server produces.
  • the second relay server information includes the second relay server activation information indicating the activation state of the second relay server, and the second relay server information including the connection state between the second relay server and the second client terminal connected to the second network.
  • second client terminal registration information related to the second client terminal registered in the relay server, and the second relay server creates.
  • the inter-client terminal sharing unit shares the relay group information and the relay server information between the second relay server and the second client terminal.
  • the relay server according to claim 12 is the second client terminal information according to claim 11, further comprising communication setting information regarding the second client terminal used for communication between the second relay server and the second client terminal.
  • a client terminal information holding unit is the second client terminal information holding unit.
  • the relay server according to claim 13 is the relay server activation information update unit and the client terminal connection state update unit according to claim 11 or 12, further comprising:
  • the relay server activation information updating unit updates the relay server information by updating the first relay server activation information and the second relay server activation information according to changes in the activation states of the first relay server and the second relay server.
  • the client terminal connection state update unit updates the relay server information by updating the second client terminal registration information in accordance with a change in the connection state between the second relay server and the second client terminal.
  • the inter-relay server sharing unit shares the updated relay server information between the first relay server and the second relay server.
  • the relay server according to claim 14 is the relay server according to any one of claims 11 to 13, further comprising a relay group information update unit and a client terminal registration state update unit.
  • the relay group information update unit updates the relay group information according to a change in the configuration of the relay group.
  • the client terminal registration state update unit updates the relay server information by updating the second client terminal registration information in accordance with a change in the registration state of the second client terminal in the second relay server.
  • the inter-relay server sharing unit shares the updated relay group information and relay server information between the first relay server and the second relay server.
  • the inter-client terminal sharing unit shares the updated relay group information and relay server information between the second relay server and the second client terminal.
  • the relay server according to claim 15 is the second relay server for the communication destination in the first network selected based on the relay group information and the relay server information according to any one of claims 11 to 14.
  • the data communication execution part which performs the data communication in which is involved.
  • Data communication includes block-unit communication in which data is communicated in units of blocks without holding a connection, and continuous communication in which data is continuously communicated while holding a connection.
  • the relay communication system includes a first network, a second network, a first relay server connected to the first network, and a second relay server connected to the second network.
  • the first relay server and the second relay server include a relay group information creation unit that creates relay group information indicating that the first relay server and the second relay server constitute a relay group.
  • the first relay server includes a first relay server information creation unit that creates first relay server information.
  • the first relay server information includes the first relay server activation information indicating the activation state of the first relay server, and the first state including the connection state between the first relay server and the first client terminal connected to the first network.
  • the second relay server includes a second relay server information creation unit that creates second relay server information.
  • the second relay server information includes the second relay server activation information indicating the activation state of the second relay server, and the second relay server information including the connection state between the second relay server and the second client terminal connected to the second network.
  • the first relay server and the second relay server are the relay server information including the first relay server information and the second relay server information, and the relay group information between the first relay server and the second relay server.
  • the relay server sharing unit shared by The first relay server includes a first inter-client terminal sharing unit that shares the relay group information and the relay server information between the first relay server and the first client terminal.
  • the second relay server includes a second inter-client terminal sharing unit that shares the relay group information and the relay server information between the second relay server and the second client terminal.
  • the first relay server includes a first client terminal information holding unit for holding first client terminal information.
  • the first client terminal information includes communication setting information related to the first client terminal used for communication between the first relay server and the first client terminal.
  • the second relay server includes a second client terminal information holding unit that holds second client terminal information.
  • the second client terminal information includes communication setting information related to the second client terminal used for communication between the second relay server and the second client terminal.
  • the first relay server and the second relay server include a relay server activation information update unit and a client terminal connection state update unit.
  • the relay server activation information updating unit updates the relay server information by updating the first relay server activation information and the second relay server activation information according to changes in the activation states of the first relay server and the second relay server.
  • the client terminal connection state update unit updates the relay server information by updating the first client terminal registration information in accordance with a change in the connection state between the first relay server and the first client terminal.
  • the inter-relay server sharing unit shares the updated relay server information between the first relay server and the second relay server.
  • the relay group includes a plurality of relay servers including a first relay server and a second relay server.
  • the relay server information includes a plurality of individual relay server information created by each relay server including the first relay server information and the second relay server information.
  • the first relay server and the second relay server include a relay group information update unit, an individual relay server information update unit, and a client terminal registration state update unit.
  • the relay group information update unit updates the relay group information according to a change in the configuration of the relay group.
  • the individual relay server information updating unit updates the relay server information by updating a plurality of individual relay server information according to a change in the configuration of the relay group.
  • the client terminal registration state update unit updates the relay server information by updating the first client terminal registration information in accordance with a change in the registration state of the first client terminal in the first relay server.
  • the inter-relay server sharing unit shares the updated relay group information and relay server information among a plurality of relay servers configuring the relay group after the configuration has changed.
  • the first inter-client-terminal sharing unit shares the updated relay group information and relay server information between the first relay server and the first client terminal.
  • the relay communication system wherein the first relay server corresponds to a communication destination in the second network selected based on the relay group information and the relay server information in any one of claims 16 to 19. And a data communication execution unit that executes data communication involving the first relay server.
  • Data communication includes block-unit communication in which data is communicated in blocks without holding a connection, and continuous communication in which data is continuously communicated while holding a connection.
  • the relay communication system includes a first network and a second network.
  • the first network includes a first relay server and a first client terminal.
  • the second network includes a second relay server and a second client terminal. The first relay server and the second relay server relay communication between the first client terminal and the second client terminal.
  • the first (second) relay server creates relay group information, first (second) relay server information, and client terminal information.
  • the relay group information includes a relay group formed by the first relay server and the second relay server, a virtual network address assigned to the first relay server and the second relay server, and a connection between the first relay server and the second relay server. It is information indicating whether it is established.
  • the first (second) relay server information includes a first (second) client terminal capable of communicating with the first (second) relay server, a virtual network address assigned to the first (second) client terminal, This is information indicating whether the first (second) client terminal has established a connection.
  • the client terminal information is information indicating a connection environment of the first (second) client terminal in the first (second) network.
  • the first (second) relay server can share the first relay server information and the second relay server information between the first relay server and the second relay server by referring to the relay group information.
  • the first (second) relay server can create the relay server information by combining the first relay server information and the second relay server information.
  • the first (second) relay server refers to each client terminal information so that the relay group information and the relay server information can be obtained between the first (second) relay server and the first (second) client terminal. Can share.
  • Each device in the relay communication system can share information about the increase / decrease state and connection state of the device in real time.
  • Each device in the relay communication system can share information on the virtual network address of the device and connection establishment in real time.
  • Each device in the relay communication system can flexibly execute communication in which a virtual network address is designated as a communication destination in response to a change in the state of the relay communication system.
  • the relay communication system includes a first network and a second network.
  • the first network includes a first relay server and a first client terminal.
  • a terminal connected to the first network includes a first application.
  • the second network includes a second relay server and a second client terminal.
  • a terminal connected to the second network includes a second application.
  • the first relay server and the second relay server relay communication between the first application and the second application.
  • the first (second) relay server creates relay group information, first (second) relay server information, and client terminal information.
  • the relay group information is information indicating that the first relay server and the second relay server constitute a relay group.
  • the first (second) relay server information is information indicating the first (second) client terminal capable of communicating with the first (second) relay server and information indicating the first (second) application. is there.
  • the client terminal information is information indicating a connection environment of the first (second) client terminal in the first (second) network.
  • the first (second) relay server can share the first relay server information and the second relay server information between the first relay server and the second relay server by referring to the relay group information.
  • the first (second) relay server refers to each client terminal information so that the relay group information and the relay server information can be obtained between the first (second) relay server and the first (second) client terminal. Can share.
  • the relay communication system includes a first network and a second network.
  • the first network includes a first relay server and a first client terminal.
  • the second network includes a second relay server and a second client terminal. The first relay server and the second relay server relay communication between the first client terminal and the second client terminal.
  • the first (second) relay server creates relay group information, first (second) relay server information, and first (second) client terminal information.
  • the relay group information is information indicating that the first relay server and the second relay server constitute a relay group.
  • the first (second) relay server information is information indicating a first (second) client terminal that can communicate with the first (second) relay server.
  • the first (second) client terminal information includes information indicating a connection environment of the first (second) client terminal in the first (second) network.
  • the first (second) relay server transmits the relay server information including the first relay server information and the second relay server information between the first relay server and the second relay server. Can share.
  • the first (second) relay server refers to each client terminal information so that the relay group information and the relay server information can be obtained between the first (second) relay server and the first (second) client terminal. Can share.
  • the first (second) relay server information can include communication enable / disable information of the first (second) relay server and the first (second) client terminal.
  • Each device in the relay communication system can share information about the increase / decrease state and connection state of the device.
  • Each device in the relay communication system can select a communication destination that performs block-unit data transmission / reception or continuous data transmission / reception based on information about the increase / decrease state and connection state of the device.
  • 1st Embodiment it is a figure which shows the whole structure of a relay communication system. It is a figure which shows the component of a relay server in 1st Embodiment. It is a figure which shows the component of a client terminal in 1st Embodiment. It is a figure which shows the specific example of relay group information in 1st Embodiment. In 1st Embodiment, it is a figure which shows the specific example of relay server information. It is a figure which shows the specific example of client terminal information in 1st Embodiment. It is a figure which shows the flow of information sharing in 1st Embodiment. It is a figure which shows the flow of information sharing in 1st Embodiment.
  • 1st Embodiment it is a figure which shows the relay group map displayed after step S9. In 1st Embodiment, it is a figure which shows the information stored after step S13. In 1st Embodiment, it is a figure which shows the relay group map displayed after step S13. In 1st Embodiment, it is a figure which shows the information stored after step S17. In 1st Embodiment, it is a figure which shows the relay group map displayed after step S17. In 1st Embodiment, it is a figure which shows the information stored after step S21. In 1st Embodiment, it is a figure which shows the relay group map displayed after step S21.
  • 3rd Embodiment it is a figure which shows the component of a relay server. In 3rd Embodiment, it is a figure which shows the specific example of relay group information. In 3rd Embodiment, it is a figure which shows the specific example of relay server information. In 3rd Embodiment, it is a figure which shows the specific example of client terminal information. In 3rd Embodiment, it is a figure which shows the flow of the 1st information sharing. In 3rd Embodiment, it is a figure which shows the information stored after step S2. In 3rd Embodiment, it is a figure which shows the information stored after step S4. In 3rd Embodiment, it is a figure which shows the information stored after step S7.
  • 3rd Embodiment it is a figure which shows the information stored after step S11. In 3rd Embodiment, it is a figure which shows the flow of the 2nd information sharing. In 3rd Embodiment, it is a figure which shows the information stored after step S25. In 3rd Embodiment, it is a figure which shows the information stored after step S25. In 3rd Embodiment, it is a figure which shows the information stored after step S29. In 3rd Embodiment, it is a figure which shows the information stored after step S29. In 3rd Embodiment, it is a figure which shows the information stored after step S32. In 3rd Embodiment, it is a figure which shows the information stored after step S32.
  • 3rd Embodiment it is a figure which shows the flow of the data transmission / reception after the 1st information sharing. In 3rd Embodiment, it is a figure which shows the flow of the data transmission / reception after the 1st information sharing. In 3rd Embodiment, it is a figure which shows the flow of the data transmission / reception after the 1st information sharing. In 3rd Embodiment, it is a figure which shows the flow of the data transmission / reception after the 2nd information sharing. In 3rd Embodiment, it is a figure which shows the flow of the data transmission / reception after the 2nd information sharing. In 3rd Embodiment, it is a figure which shows the flow of the data transmission / reception after the 2nd information sharing.
  • FIG. 1 is a diagram illustrating an overall configuration of a relay communication system.
  • the relay communication system includes LANs 1 and 2 and WAN3.
  • LANs 1 and 2 are small-scale networks constructed remotely.
  • the WAN 3 is a large-scale network such as the Internet.
  • the LAN 1 includes a client terminal 11 and a relay server 12.
  • the LAN 2 includes a client terminal 21 and a relay server 22.
  • the WAN 3 includes a SIP (Session Initiation Protocol) server 31.
  • the client terminals 11 and 21 are personal computers or the like.
  • the relay servers 12 and 22 relay communication between the client terminals 11 and 21.
  • the SIP server 31 relays communication between the relay servers 12 and 22.
  • SIP is used as a communication protocol between the relay servers 12 and 22, but a protocol other than SIP may be used.
  • a protocol other than SIP is used, communication between the relay servers 12 and 22 may be executed directly.
  • FIG. 2 is a diagram showing components of the relay server 12 (22).
  • the relay server 12 (22) includes an interface unit 121 (221), a control unit 122 (222), a database storage unit 123 (223), a relay group map display unit 127 (227), and a virtual LAN driver 128 (228).
  • the A code without parentheses indicates a code in the relay server 12.
  • Reference numerals with parentheses indicate reference numerals in the relay server 22.
  • the interface unit 121 (221) performs communication with the client terminal 11 (21) connected to the LAN 1 (2) using the private IP address.
  • the interface unit 121 (221) performs communication with the SIP server 31 connected to the WAN 3 using the global IP address.
  • the control unit 122 (222) performs control for relaying communication between the client terminals 11 and 21.
  • the control unit 122 (222) creates or updates the following information stored in the database storage unit 123 (223).
  • the database storage unit 123 includes a relay group information storage unit 124 (224), a relay server information storage unit 125 (225), and a client terminal information storage unit 126 (226).
  • the relay group map display unit 127 (227) displays the relay group map on the relay server 12 (22) by referring to the relay group information and the relay server information.
  • the virtual LAN driver 128 (228) registers the virtual private IP address of the relay server 12 (22) virtually allocated in the relay communication system. A method for assigning a virtual private IP address to each relay server in the relay communication system will be described later. Also, specific examples of the above information and relay group map will be described later.
  • FIG. 3 is a diagram showing components of the client terminal 11 (21).
  • the client terminal 11 (21) includes an interface unit 111 (211), a control unit 112 (212), a web browser 113 (web server 213), a virtual LAN driver 114 (214), a database storage unit 115 (215), a relay group map. It is comprised from the display part 118 (218).
  • Reference numerals without parentheses indicate reference numerals in the client terminal 11.
  • Reference numerals with parentheses indicate reference numerals in the client terminal 21.
  • the interface unit 111 (211) performs communication with the relay server 12 (22) connected to the LAN 1 (2) using the private IP address.
  • the control unit 112 (212) performs control for executing communication between the client terminal 11 (21) and the relay server 12 (22).
  • the control unit 112 inputs or outputs information to be processed by the web browser 113 (web server 213).
  • the web browser 113 requests content from the web server 213 via the WAN 3.
  • the web server 213 provides content to the web browser 113 via the WAN 3.
  • the virtual LAN driver 114 (214) registers the virtual private IP address of the client terminal 11 (21) virtually allocated in the relay communication system. A method of assigning a virtual private IP address to each client terminal in the relay communication system will be described later.
  • the control unit 112 creates or updates the following information stored in the database storage unit 115 (215).
  • the database storage unit 115 (215) includes a relay group information storage unit 116 (216) and a relay server information storage unit 117 (217).
  • the relay group map display unit 118 (218) displays the relay group map on the client terminal 11 (21) by referring to the relay group information and the relay server information. Specific examples of the above information and relay group map will be described later.
  • FIG. 4 is a diagram illustrating relay group information 40 as a specific example of relay group information.
  • the relay group information is information indicating an outline of the relay server that constitutes the relay communication system.
  • the relay group information 40 includes upper information 401 and lower information 402.
  • the upper information 401 includes relay group virtual address information 403.
  • the lower information 402 includes relay server virtual address information 404 and connection establishment information 405.
  • the upper information 401 is information on the relay group at the upper level. “Id” indicates identification information of the relay group. “Lastmod” indicates the latest update time of the relay group information. “Name” indicates the name of the relay group.
  • the relay group virtual address information 403 indicates a virtual private IP address (network address) of the relay group virtually allocated in the relay communication system. In the relay communication system, the subnet mask is set to “255.255.255.0”, and “*” is uniquely set to each device.
  • the lower information 402 is information about the relay server at the lower level. “Id” indicates identification information of the relay server.
  • the relay server virtual address information 404 indicates a virtual private IP address of the relay server that is virtually allocated in the relay communication system.
  • the connection establishment information 405 is information about whether or not a connection is established between the relay servers via the WAN 3.
  • the relay group information 40 is stored in the relay group information storage units 124, 224, 116, and 216. That is, the relay group information 40 is shared by the relay servers 12 and 22 and the client terminals 11 and 21.
  • the connection establishment information 405 is described when a connection for IP communication using a virtual address is established between the relay servers via the WAN 3. When a connection for IP communication using a virtual address is not established between the relay servers via the WAN 3, the connection establishment information 405 is not described. Thereby, information about whether or not a connection for IP communication using a virtual address is established between the relay servers via the WAN 3 is shared as the entire relay communication system. Further, information about the virtual private IP address of the relay server is shared as the entire relay communication system.
  • FIG. 5 is a diagram illustrating relay server information 50 as a specific example of relay server information.
  • the relay server information is information that indicates details of the relay server that constitutes the relay communication system, and is an information that indicates an outline of the client terminal that constitutes the relay communication system.
  • the relay server information 50 is composed of upper information 501-1 and 501-2 and lower information 502-1 and 502-2.
  • the upper information 501-1 and 501-2 include relay server activation information 503-1 and 503-2, respectively.
  • the lower information 502-1 and 502-2 indicate client terminal virtual address information 504-1 and 504-2, connection establishment information 505-1 and 505-2, and whether the client terminal is logged in to the relay server, respectively.
  • Client terminal site information 506-1 and 506-2 are included.
  • the upper information 501-1 and 501-2 are information on the relay server at the upper level. “Id” indicates identification information of the relay server. “Name” indicates the name of the relay server.
  • the relay server activation information 503-1 and 503-2 are information about whether the relay server is activated.
  • the lower information 502-1 and 502-2 are information on lower-level client terminals.
  • “Div” indicates a department name of the client terminal.
  • “Group” indicates identification information of the relay group to which the client terminal belongs.
  • “Id” indicates identification information of the client terminal.
  • “Name” indicates the name of the client terminal.
  • Client terminal virtual address information 504-1 and 504-2 indicate virtual private IP addresses of client terminals virtually allocated in the relay communication system.
  • the connection establishment information 505-1 and 505-2 are information on whether or not a connection for IP communication using a virtual address is established between a client terminal and a relay server in the same LAN.
  • Client terminal site information 506-1 and 506-2 indicate identification information of the relay server to which the client terminal is logged on.
  • the relay server information 50 is stored in the relay server information storage units 125, 225, 117, and 217. That is, the relay server information 50 is shared by the relay servers 12 and 22 and the client terminals 11 and 21.
  • the relay server activation information 503-1 and 503-2 are “active”.
  • the relay server activation information 503-1 and 503-2 are blank. Thereby, information about whether the relay server is activated is shared as the whole relay communication system.
  • client terminal site information 506-1 and 506-2 are described.
  • client terminal site information 506-1 and 506-2 are not described.
  • information about whether the client terminal is logged on to the relay server is shared as the entire relay communication system.
  • connection establishment information 505-1 and 505-2 are described.
  • the connection for IP communication using the virtual address is not established between the client terminal and the relay server in the same LAN, the connection establishment information 505-1 and 505-2 are not described.
  • information about whether or not a connection for IP communication using a virtual address is established between the client terminal and the relay server in the same LAN is shared as the entire relay communication system. Further, information about the virtual private IP address of the client terminal is shared as the entire relay communication system.
  • FIG. 6 is a diagram showing client terminal information 60 and 70 as specific examples of client terminal information.
  • the client terminal information is information indicating details of the client terminals that constitute the relay communication system.
  • the client terminal information 60, 70 includes client terminal address information 601, 701, client terminal expiration date information 602, 702, and client terminal port information 603, 703, respectively.
  • the client terminal address information 601 and 701 do not necessarily match the client terminal virtual address information 504-1 and 504-2, respectively.
  • “Div” indicates the department name of the client terminal.
  • “Group” indicates identification information of the relay group to which the client terminal belongs.
  • the client terminal address information 601 and 701 indicate the IP addresses of the client terminals that are uniquely assigned only in the LANs 1 and 2, respectively.
  • the client terminal expiration date information 602 and 702 indicates the registration expiration date of the client terminal.
  • “Id” indicates identification information of the client terminal.
  • “Name” indicates the name of the client terminal.
  • “Pass” indicates a password of the client terminal.
  • the client terminal port information 603, 703 indicates the port number of the client terminal.
  • the client terminal information 60 is stored only in the client terminal information storage unit 126, and the client terminal information 70 is stored only in the client terminal information storage unit 226. That is, the client terminal information 60 is held only by the relay server 12, and the client terminal information 70 is held only by the relay server 22.
  • FIGS. 7 to 9 are diagrams showing a flow of processing in which relay group information and relay server information are shared.
  • the relay servers 12 and 22 participate in the relay communication system. Then, the user of the client terminal 11 logs on to the relay server 12, and the user of the client terminal 21 logs on to the relay server 22. Further, a connection for IP communication using a virtual address is established in each section between the relay servers 12 and 22, between the client terminal 11 and the relay server 12, and between the client terminal 21 and the relay server 22. Is done.
  • Step S1 Process Flow from Step S1 to Step S2
  • the administrator of the relay server 12 and the administrator of the relay server 22 make a contract for establishing a group of relay communication systems between the LANs 1 and 2.
  • the administrator of the relay server 12 and the administrator of the relay server 22 set “255.255.255.0” as the subnet mask and set “192.168.0. *” As the virtual private IP address. , “*” Is signed to set a unique numerical value for each device.
  • the administrator of the relay server 12 creates an account for the user of the client terminal 11 (step S1: CreateAccount ()).
  • the control unit 122 creates relay server information 51-1 and stores it in the relay server information storage unit 125.
  • the administrator of the relay server 22 creates an account for the user of the client terminal 21 (step S2: CreateAccount ()).
  • the control unit 222 creates relay server information 51-2 and stores it in the relay server information storage unit 225.
  • the relay server 12 holds the relay server information 51-1.
  • the relay server 22 has relay server information 51-2.
  • the first frame in FIG. 10 shows the relay server information 51-1.
  • the upper information 511-1 is information about the relay server 12 at the upper level.
  • “Relay-server-1@abc.net” is set as “id”.
  • “RELAY SERVER 1” is set as “name”.
  • “Active” is set as the relay server activation information 513-1. That is, the relay server 12 is activated.
  • the lower information 512-1 is information about the client terminal 11 at the lower level.
  • “Software” is set as “div”. As “group”, “20070402133100@relay-server-1.abc.net” is set. As “id”, “client-1@relay-server-1.abc.net” is set.
  • “CLIENT 1” is set as “name”.
  • the client terminal site information 516-1 is blank. That is, the user of the client terminal 11 is not logged on to the relay server 12. Therefore, client terminal virtual address information and connection establishment information are not yet described.
  • the second frame in FIG. 10 shows the relay server information 51-2.
  • the upper information 511-2 is information about the relay server 22 at the upper level. As “id”, “relay-server-2@abc.net” is set. “RELAY SERVER 2” is set as “name”. “Active” is set as the relay server activation information 513-2. That is, the relay server 22 is activated.
  • the lower information 512-2 is information about the lower client terminal 21.
  • “Software” is set as “div”. As “group”, “20070402133100@relay-server-1.abc.net” is set. As “id”, “client-2@relay-server-2.abc.net” is set.
  • “CLIENT 2” is set as “name”.
  • the client terminal site information 516-2 is blank. That is, the user of the client terminal 21 is not logged on to the relay server 22. Therefore, client terminal virtual address information and connection establishment information are not yet described.
  • FIG. 11 shows a relay group map.
  • the relay group map display units 127, 227, 118, and 218 display a message indicating that there is no relay group to be displayed.
  • Step S3 Process Flow from Step S3 to Step S4
  • communication between the relay servers 12 and 22 is relayed by the SIP server 31.
  • a method in which the relay server 12 (22) performs communication with the relay server 22 (12) via the SIP server 31 will be described.
  • the relay server 12 (22) transmits, for example, data in which the account of the relay server 22 (12) is designated as a communication destination to the SIP server 31.
  • the SIP server 31 associates the accounts of the relay servers 12 and 22 with the global IP addresses of the relay servers 12 and 22, respectively.
  • the SIP server 31 acquires the global IP address of the relay server 22 (12) based on the account of the relay server 22 (12).
  • the SIP server 31 transmits, for example, data in which the global IP address of the relay server 22 (12) is designated as a communication destination to the relay server 22 (12).
  • the relay server 12 requests the relay server 22 to construct a group of the relay communication system (Step S3: SetGroup ()).
  • the control unit 122 creates the relay group information 42 and stores it in the relay group information storage unit 124.
  • the control unit 222 creates the relay group information 42 and stores it in the relay group information storage unit 224.
  • the relay server 12 requests the relay server 22 to exchange relay server information (step S4: exchange (db)).
  • the relay server 12 transmits a copy of the relay server information 51-1 to the relay server 22.
  • the relay server 22 transmits a copy of the relay server information 51-2 to the relay server 12.
  • the control unit 122 creates the relay server information 52 by duplicating the relay server information 51-2 and combining the relay server information 51-1, and stores the relay server information 52 in the relay server information storage unit 125.
  • the control unit 222 creates the relay server information 52 by copying the relay server information 51-1 and combining the relay server information 51-2, and stores the relay server information 52 in the relay server information storage unit 225.
  • the control unit 122 creates client terminal information 62 and stores it in the client terminal information storage unit 126.
  • the control unit 222 creates client terminal information 72 and stores it in the client terminal information storage unit 226.
  • the creation process and storage process of the client terminal information 62 are executed in step S1
  • the creation process and storage process of the client terminal information 72 are executed in step S2.
  • the relay server 12 holds the relay group information 42, the relay server information 52, and the client terminal information 62.
  • the relay server 22 has relay group information 42, relay server information 52, and client terminal information 72.
  • the relay group information 42 and the relay server information 52 are shared by the relay servers 12 and 22.
  • the relay group information 42 in the first frame shows the relay group information 42 in the first frame.
  • the upper information 421 is information about the relay group at the upper level.
  • “id” “20070402133100@relay-server-1.abc.net” is set.
  • lastmod “20070402133100” is set.
  • “GROUP 1” is set as “name”. However, no connection is established between the relay servers 12 and 22. Therefore, the relay group virtual address information is not yet described.
  • the lower information 422 is information about the relay servers 12 and 22 at the lower level. As “id”, “relay-server-1@abc.net” and “relay-server-2@abc.net” are set. However, a connection for IP communication using a virtual address is not established between the relay servers 12 and 22. Therefore, the relay server virtual address information and connection establishment information are not yet described.
  • the relay server information 52 is shown.
  • the upper information 521-1 and 521-2 are the same as the upper information 511-1 and 511-2 in FIG.
  • the lower information 522-1 and 522-2 are the same as the lower information 512-1 and 512-2 in FIG.
  • client terminal information 62 is shown.
  • Software is set as “div”.
  • group “20070402133100@relay-server-1.abc.net” is set.
  • client-1@relay-server-1.abc.net is set.
  • CLIENT 1 is set as “name”.
  • Client-1 is set as “pass”.
  • the client terminal address information 621 is blank. “0” is set as the client terminal expiration date information 622.
  • the client terminal port information 623 is blank. That is, the user of the client terminal 11 is not logged on to the relay server 12.
  • FIG. 12 shows the client terminal information 72 in the fourth frame.
  • “Software” is set as “div”. As “group”, “20070402133100@relay-server-1.abc.net” is set. As “id”, “client-2@relay-server-2.abc.net” is set. “CLIENT 2” is set as “name”. “Client-2” is set as “pass”.
  • the client terminal address information 721 is blank. “0” is set as the client terminal expiration date information 722.
  • the client terminal port information 723 is blank. That is, the user of the client terminal 21 is not logged on to the relay server 22.
  • FIG. 13 shows a relay group map.
  • the relay group map display unit 127 of the relay server 12 and the relay group map display unit 227 of the relay server 22 display the relay group map by referring to the relay group information 42 and the relay server information 52.
  • the relay server 12 requests the relay server 22 to construct a group of relay communication systems. Therefore, the relay group map of FIG. 11 is synthesized and the relay group map of FIG. 13 is displayed.
  • connection establishment information has not been described yet. For this reason, “connection not established” and a broken line there between are described between “relay server 12” and “relay server 22”.
  • the relay server 12 performs call control on the relay server 22 (step S5: INVITE ()) and requests connection establishment (step S6). : Connect ()).
  • the control unit 122 creates the relay group information 43 by updating the relay group information 42 and stores it in the relay group information storage unit 124.
  • the control unit 222 updates the relay group information 42 to create the relay group information 43 and stores it in the relay group information storage unit 224.
  • the control unit 122 does not update the relay server information 52 and the client terminal information 62.
  • the control unit 222 does not update the relay server information 52 and the client terminal information 72.
  • the relay server 12 holds the relay group information 43, the relay server information 52, and the client terminal information 62.
  • the relay server 22 has relay group information 43, relay server information 52, and client terminal information 72.
  • the relay group information 43 and the relay server information 52 are shared by the relay servers 12 and 22.
  • the relay server 12 establishes a connection for IP communication using a virtual address with the relay server 22.
  • the control units 122 and 222 set the relay group virtual address information 433 of the higher-level information 431 to “192.168.8.0. *” Based on the contract concluded by the administrator of the relay servers 12 and 22. In the relay communication system, “*” is uniquely set in each device.
  • the control units 122 and 222 Based on the relay group virtual address information 433, the control units 122 and 222 set the relay server virtual address information 434 for the relay servers 12 and 22 in the lower information 432 to different numerical values.
  • the control unit 122 sets “*” to “1”, and sets the relay server virtual address information 434 for the relay server 12 to “192.168.0.1”.
  • the control unit 222 sets “*” to “2”, and sets the relay server virtual address information 434 for the relay server 22 to “192.168.0.2”.
  • the control unit 122 sets the connection establishment information 435 for the relay server 12 in the lower information 432 to “s1”.
  • the control unit 222 sets the connection establishment information 435 for the relay server 22 in the lower information 432 to “s2”.
  • “Transaction” is set to “s1” and “s2” for the sockets of the relay servers 12 and 22 among the connections for IP communication using the virtual addresses between the relay servers 12 and 22, respectively. ing.
  • GroupID indicates the identification information of the relay group with which the connection is established, and is set to “20070402133100@relay-server-1.abc.net”. “MediaSession” is set to “socket”. The above two types of information are the same in FIG. 7 and FIG.
  • step S14 shows the relay server information 52 in the second frame.
  • the user of the client terminal 11 is not logged on to the relay server 12, and the user of the client terminal 21 is not logged on to the relay server 22. 52 is never updated.
  • FIG. 14 shows the client terminal information 62 in the third frame.
  • the client terminal information 62 is not updated.
  • FIG. 14 shows the client terminal information 72 in the fourth frame.
  • the client terminal information 72 is not updated.
  • FIG. 15 shows a relay group map.
  • the relay group map display unit 127 of the relay server 12 and the relay group map display unit 227 of the relay server 22 display the relay group map by referring to the relay group information 43 and the relay server information 52.
  • the relay server 12 executes call control with respect to the relay server 22 and requests establishment of a connection for IP communication using a virtual address.
  • the relay server virtual address information 434 and the connection establishment information 435 are already described. For this reason, the virtual private IP addresses of the relay servers 12 and 22 have been described. Then, “connection establishment” and a side solid line are described between “relay server 12” and “relay server 22”.
  • Step S7 Process Flow from Step S7 to Step S9
  • the user of the client terminal 11 inputs “client-1@relay-server-1.abc.net” as identification information of the client terminal 11, and inputs “client-1” as the password of the client terminal 11.
  • the user of the client terminal 11 logs on to the relay server 12 (step S7: REGISTER (ID, PASS)).
  • the control unit 122 performs authentication of the user of the client terminal 11 by referring to the client terminal information 62.
  • the control unit 122 accepts logon of the user of the client terminal 11.
  • the control unit 122 creates the relay server information 54 by updating the relay server information 52 and stores it in the relay server information storage unit 125.
  • the relay server 12 assigns a virtual private address of the client terminal 11.
  • the control unit 122 creates client terminal information 64 by updating the client terminal information 62 and stores the client terminal information 64 in the client terminal information storage unit 126.
  • the control unit 122 does not update the relay group information 43.
  • the client terminal 11 requests the relay server 12 to provide relay group information and relay server information (step S8: get ()).
  • the relay server 12 transmits a copy of the relay group information 43 and the relay server information 54 to the client terminal 11.
  • the client terminal 11 stores the relay group information 43 in the relay group information storage unit 116 and stores the relay server information 54 in the relay server information storage unit 117.
  • the control unit 122 refers to the relay group information 43 and the relay server information 54 to determine a relay server to be notified that the relay server information 52 has been updated to the relay server information 54.
  • the control unit 122 determines the relay server 22 whose relay server activation information 543-2 of the relay server information 54 is “active” as a relay server to be notified.
  • the relay server 12 notifies the relay server 22 that the relay server information 52 has been updated to the relay server information 54 (step S9: NOTIFY ()).
  • the control unit 222 updates the relay server information 52 to create the relay server information 54 and stores it in the relay server information storage unit 225.
  • the control unit 222 refers to the client terminal information 72 to determine a client terminal to be notified that the relay server information 52 has been updated to the relay server information 54.
  • the control unit 222 does not determine the client terminal 21 in which the client terminal address information 721 of the client terminal information 72 is blank and the client terminal port information 723 of the client terminal information 72 is blank as a client terminal to be notified. .
  • the relay server 12 holds the relay group information 43, the relay server information 54, and the client terminal information 64.
  • the relay server 22 has relay group information 43, relay server information 54, and client terminal information 72.
  • the client terminal 11 has relay group information 43 and relay server information 54.
  • the relay group information 43 and the relay server information 54 are shared by the relay servers 12 and 22 and the client terminal 11.
  • step S6 shows the relay group information 43 in the first frame.
  • the relay group information 43 is not updated because a new relay server does not participate in the relay communication system.
  • the 16 shows the relay server information 54 in the second frame.
  • the updated part is indicated by the underlined part.
  • the user of the client terminal 11 is logged on to the relay server 12. Therefore, the client terminal site information 546-1 of the lower information 542-1 is fixed to “relay-server-1@abc.net”.
  • the control unit 122 sets “*” to “11”, and sets the client terminal virtual address information 544-1 for the client terminal 11 of the lower information 542-1 to “192.168.0.11”. ing.
  • the virtual private IP address does not overlap with the already set virtual private IP address.
  • the control unit 122 sets the connection establishment information 545-1 for the client terminal 11 of the lower information 542-1 in the blank. That is, a connection for IP communication using a virtual address has not yet been established between the client terminal 11 and the relay server 12.
  • the 16 shows client terminal information 64 in the third frame.
  • the updated part is indicated by the underlined part.
  • the user of the client terminal 11 is logged on to the relay server 12. Therefore, the client terminal address information 641 is fixed to “192.168.10.2”.
  • the physical private IP address “192.168.10.2” does not match the virtual private IP address “192.168.0.11”.
  • the client terminal expiration date information 642 is determined to be “1213935960484”. Further, the client terminal port information 643 is fixed to “5070”.
  • FIG. 16 shows the client terminal information 72 in the fourth frame.
  • the client terminal information 72 is not updated.
  • FIG. 17 shows a relay group map.
  • the relay group map display unit 118 of the client terminal 11, the relay group map display unit 127 of the relay server 12, and the relay group map display unit 227 of the relay server 22 relay the relay group information 43 and the relay server information 54 by referring to the relay group information 43 and the relay server information 54. Display the group map.
  • the user of the client terminal 11 is logged on to the relay server 12.
  • the client terminal virtual address information 544-1 is already described. Therefore, the virtual private IP address of the client terminal 11 has been described.
  • the connection establishment information 545-1 is not yet described in the relay server information 54. Therefore, “connection establishment” and the adjacent solid line are not described between “client terminal 11” and “relay server 12”.
  • Step S10 Process Flow from Step S10 to Step S13
  • the user of the client terminal 21 inputs “client-2@relay-server-2.abc.net” as identification information of the client terminal 21, “Client-2” is input as the password of the client terminal 21.
  • the user of the client terminal 21 logs on to the relay server 22 (step S10: REGISTER (ID, PASS)).
  • the control unit 222 performs authentication of the user of the client terminal 21 by referring to the client terminal information 72.
  • the control unit 222 accepts logon of the user of the client terminal 21.
  • the control unit 222 updates the relay server information 54 to create the relay server information 55 and stores it in the relay server information storage unit 225.
  • the relay server 22 assigns the virtual private address of the client terminal 21.
  • the control unit 222 updates the client terminal information 72 to create client terminal information 75 and stores it in the client terminal information storage unit 226.
  • the control unit 222 does not update the relay group information 43.
  • the client terminal 21 requests the relay server 22 to provide relay group information and relay server information (step S11: get ()).
  • the relay server 22 transmits a copy of the relay group information 43 and the relay server information 55 to the client terminal 21.
  • the client terminal 21 stores the relay group information 43 in the relay group information storage unit 216, and stores the relay server information 55 in the relay server information storage unit 217.
  • the control unit 222 refers to the relay group information 43 and the relay server information 55 to determine a relay server to be notified that the relay server information 54 has been updated to the relay server information 55.
  • the control unit 222 determines the relay server 12 whose relay server activation information 553-1 of the relay server information 55 is “active” as a relay server to be notified.
  • the relay server 22 notifies the relay server 12 that the relay server information 54 has been updated to the relay server information 55 (step S12: NOTIFY ()).
  • the control unit 122 creates the relay server information 55 by updating the relay server information 54 and stores it in the relay server information storage unit 125.
  • the control unit 122 refers to the client terminal information 64 to determine a client terminal to be notified that the relay server information 54 has been updated to the relay server information 55.
  • the control unit 122 determines the client terminal 11 in which the client terminal address information 641 of the client terminal information 64 is determined and the client terminal port information 643 of the client terminal information 64 is determined as a client terminal to be notified.
  • the relay server 12 notifies the client terminal 11 that the relay server information 54 has been updated to the relay server information 55 (step S13: NOTIFY ()).
  • the control unit 112 creates the relay server information 55 by updating the relay server information 54 and stores it in the relay server information storage unit 117.
  • the relay server 12 holds the relay group information 43, the relay server information 55, and the client terminal information 64.
  • the relay server 22 has relay group information 43, relay server information 55, and client terminal information 75.
  • the client terminal 11 has relay group information 43 and relay server information 55.
  • the client terminal 21 has relay group information 43 and relay server information 55.
  • the relay group information 43 and the relay server information 55 are shared by the relay servers 12 and 22 and the client terminals 11 and 21.
  • step S18 shows the relay group information 43 in the first frame.
  • the relay group information 43 is not updated because a new relay server does not participate in the relay communication system.
  • the relay server information 55 in the second frame shows the relay server information 55 in the second frame.
  • the updated part is indicated by the underlined part.
  • the user of the client terminal 21 is logged on to the relay server 22. Therefore, the client terminal site information 556-2 of the lower information 552-2 is fixed to “relay-server-2@abc.net”.
  • the control unit 222 sets “*” to “12”, and sets the client terminal virtual address information 554-2 for the client terminal 21 of the lower information 552-2 to “192.168.0.12”. ing.
  • the virtual private IP address does not overlap with the already set virtual private IP address.
  • the control unit 222 sets the connection establishment information 555-2 for the client terminal 21 of the lower information 552-2 to a blank. That is, a connection for IP communication using a virtual address has not yet been established between the client terminal 21 and the relay server 22.
  • step S18 shows client terminal information 64 in the third frame.
  • the client terminal information 64 is not updated.
  • the client terminal 18 shows client terminal information 75 in the fourth frame.
  • the updated part is indicated by the underlined part.
  • the user of the client terminal 21 is logged on to the relay server 22. Therefore, the client terminal address information 751 is fixed at “192.168.1.10”.
  • the physical private IP address “192.168.1.10” does not match the virtual private IP address “192.168.0.12”.
  • the client terminal expiration date information 752 is fixed to “1213935978484”.
  • the client terminal port information 753 is fixed to “5070”.
  • FIG. 19 shows a relay group map.
  • the relay group map display unit 118 of the client terminal 11, the relay group map display unit 218 of the client terminal 21, the relay group map display unit 127 of the relay server 12, and the relay group map display unit 227 of the relay server 22 include the relay group information 43 and The relay group map is displayed by referring to the relay server information 55.
  • the user of the client terminal 21 is logged on to the relay server 22.
  • the client terminal virtual address information 554-2 is already described. Therefore, the virtual private IP address of the client terminal 21 has been described.
  • the connection establishment information 555-2 is not yet described. Therefore, “connection establishment” and the adjacent solid line are not described between “client terminal 21” and “relay server 22”.
  • the client terminal 11 performs call control on the relay server 12 (step S14: INVITE ()) and requests establishment of a connection for IP communication using a virtual address (step S15: connect ()). .
  • the control units 122 and 112 create the relay server information 56 by updating the relay server information 55 and store them in the relay server information storage units 125 and 117, respectively.
  • the control unit 122 does not update the relay group information 43 and the client terminal information 64.
  • the control unit 112 does not update the relay group information 43.
  • step S16 The process flow from step S16 to step S17 is executed in the same manner as steps S9, S12, and S13.
  • the relay server 12 notifies the relay server 22 that the relay server information 55 has been updated to the relay server information 56 (step S16: NOTIFY ()).
  • the relay server 22 notifies the client terminal 21 that the relay server information 55 has been updated to the relay server information 56 (step S17: NOTIFY ()).
  • the relay server 12 holds the relay group information 43, the relay server information 56, and the client terminal information 64.
  • the relay server 22 has relay group information 43, relay server information 56, and client terminal information 75.
  • the client terminal 11 has relay group information 43 and relay server information 56.
  • the client terminal 21 has relay group information 43 and relay server information 56.
  • the relay group information 43 and the relay server information 56 are shared by the relay servers 12 and 22 and the client terminals 11 and 21.
  • the relay group information 43 in the first frame.
  • the relay group information 43 is not updated because a new relay server does not participate in the relay communication system.
  • the 20 shows the relay server information 56 in the second frame.
  • the client terminal 11 has established a connection for IP communication using a virtual address with respect to the relay server 12.
  • the control units 122 and 112 set the connection establishment information 565-1 of the lower information 562-1 to “c1”.
  • “Transaction” is set to “c1” for the sockets of the client terminal 11 and the relay server 12 among the connections between the client terminal 11 and the relay server 12.
  • “GroupID” and “MediaSession” are as described above.
  • the socket of the relay server 12 in the connection for IP communication using the virtual address between the client terminal 11 and the relay server 12, and the IP using the virtual address between the relay server 12 and the relay server 22 are used.
  • the sockets of the relay server 12 in the communication connection are mutually different sockets. However, these sockets are related by the same groupID.
  • the client terminal information 64 is shown in the third frame in FIG. In the processing flow from step S14 to step S17, since the user of the client terminal 11 has not logged off from the relay server 12, the client terminal information 64 is not updated.
  • step S20 shows client terminal information 75 in the fourth frame.
  • the client terminal information 75 is not updated.
  • FIG. 21 shows a relay group map.
  • the relay group map display unit 118 of the client terminal 11, the relay group map display unit 218 of the client terminal 21, the relay group map display unit 127 of the relay server 12, and the relay group map display unit 227 of the relay server 22 include the relay group information 43 and The relay group map is displayed by referring to the relay server information 56.
  • the client terminal 11 has established a connection for IP communication using a virtual address to the relay server 12.
  • connection establishment information 565-1 is already described. Therefore, “connection establishment” and a solid line along the side are described between “client terminal 11” and “relay server 12”.
  • Step S18 INVITE ()
  • step S19 connect ()
  • the control units 222 and 212 update the relay server information 56 to create relay server information 57 and store them in the relay server information storage units 225 and 217, respectively.
  • the control unit 222 does not update the relay group information 43 and the client terminal information 75.
  • the control unit 212 does not update the relay group information 43.
  • step S20 The process flow from step S20 to step S21 is executed in the same manner as steps S9, S12, and S13.
  • the relay server 22 notifies the relay server 12 that the relay server information 56 has been updated to the relay server information 57 (step S20: NOTIFY ()).
  • the relay server 12 notifies the client terminal 11 that the relay server information 56 has been updated to the relay server information 57 (step S21: NOTIFY ()).
  • the relay server 12 holds the relay group information 43, the relay server information 57, and the client terminal information 64.
  • the relay server 22 has relay group information 43, relay server information 57, and client terminal information 75.
  • the client terminal 11 has relay group information 43 and relay server information 57.
  • the client terminal 21 has relay group information 43 and relay server information 57.
  • the relay group information 43 and the relay server information 57 are shared by the relay servers 12 and 22 and the client terminals 11 and 21.
  • step S22 shows the relay group information 43 in the first frame.
  • the relay group information 43 is not updated because a new relay server does not participate in the relay communication system.
  • the client terminal 21 establishes a connection for IP communication using a virtual address with respect to the relay server 22.
  • the control units 222 and 212 set the connection establishment information 575-2 of the lower information 572-2 to “c2”.
  • “Transaction” is set to “c2” for the sockets of the client terminal 21 and the relay server 22 in the IP communication connection using the virtual address between the client terminal 21 and the relay server 22.
  • “GroupID” and “MediaSession” are as described above.
  • the socket of the relay server 22 in the connection for IP communication using the virtual address between the client terminal 21 and the relay server 22 and the IP using the virtual address between the relay server 12 and the relay server 22 are used.
  • the sockets of the relay server 22 in the communication connection are mutually different sockets. However, these sockets are related by the same groupID.
  • step S22 shows client terminal information 64 in the third frame.
  • the client terminal information 64 is not updated.
  • step S22 shows the client terminal information 75 in the fourth frame.
  • the client terminal information 75 is not updated.
  • FIG. 23 shows a relay group map.
  • the relay group map display unit 118 of the client terminal 11, the relay group map display unit 218 of the client terminal 21, the relay group map display unit 127 of the relay server 12, and the relay group map display unit 227 of the relay server 22 include the relay group information 43 and The relay group map is displayed by referring to the relay server information 57.
  • the client terminal 21 has established a connection for IP communication using a virtual address with respect to the relay server 22.
  • connection establishment information 575-2 is already described. Therefore, “connection establishment” and a side solid line are described between “client terminal 21” and “relay server 22”.
  • the one relay server immediately notifies the other relay servers described in the relay group information and the relay server information that the relay group information and the relay server information are updated. Further, the one relay server immediately notifies the client terminal described in the client terminal information that the relay group information and the relay server information are updated.
  • one relay server determines that another relay server is not connected even if the other relay server is described in the relay group information and relay server information, it immediately notifies the other relay server. None do. Furthermore, even if the client terminal is described in the client terminal information, the one relay server does not immediately notify the client terminal when it is determined that the client terminal is not connected.
  • the administrator of one relay server decides a method for assigning a virtual private IP address to each device by negotiating with the administrator of another relay server.
  • One relay server determines the virtual private IP address of its own device by communicating with other relay servers so that the virtual private IP address of each device does not overlap.
  • the relay server determines the virtual private IP address of the client terminal so that the virtual private IP address of each device does not overlap by communicating with the client terminal that logs on to the own device.
  • Information on the virtual private IP address of each device is included in the relay group information and the relay server information.
  • Information about the connection establishment state for IP communication using the virtual address of each device is included in the relay group information and the relay server information.
  • information on the increase / decrease state and connection state of the LAN and the client terminal is shared in real time as the entire relay communication system.
  • Information on the virtual private IP address of each device and information on the connection establishment state for IP communication using the virtual address of each device are shared in real time as the entire relay communication system. Furthermore, all the information described above is displayed in real time on each device.
  • the relay servers 12 and 22 when a connection is established between the relay servers 12 and 22, or when the client terminals 11 and 21 log on to the relay servers 12 and 22, the relay servers 12 and 22 are connected to each server. And dynamically assigning virtual private addresses to each terminal.
  • the timing for assigning the virtual address is not limited to this.
  • a virtual address may be assigned to all registered client terminals at the time when a group is formed, or a virtual address may be assigned when a relay server or client terminal is created. . Even in such a case, it is possible to determine whether or not communication using the virtual address is possible by checking the logon state.
  • all relay servers and all client terminals have virtual LAN drivers and use virtual addresses. However, only some servers and client terminals have virtual LAN drivers. It may be. A WEB server using a virtual LAN driver may exist in the relay group.
  • FIG. 24 is a diagram showing a flow of data transmission / reception after information sharing. After information sharing, the relay group information 43, relay server information 57, and client terminal information 64 and 75 shown in FIG. 22 are stored, and the relay group map shown in FIG. 23 is displayed.
  • the web browser 113 requests content from the web server 213.
  • the web server 213 provides content to the web browser 113.
  • Step S22 Process Flow from Step S22 to Step S25
  • the virtual LAN driver 114 and the web browser 113 are activated prior to content transmission / reception.
  • the virtual LAN driver 114 acquires “192.168.0.11” as the virtual private IP address of the client terminal 11 based on the relay server information 57 stored in the relay server information storage unit 117 (step S22: open). (192.168.0.11)).
  • the web browser 113 acquires “192.168.0.11” as the virtual private IP address of the client terminal 11 in the same manner as in step S22 (step S24: start (192.168.0.11)).
  • the virtual LAN driver 214 and the web server 213 are activated prior to content transmission / reception.
  • the virtual LAN driver 214 acquires “192.168.0.12” as the virtual private IP address of the client terminal 21 based on the relay server information 57 stored in the relay server information storage unit 217 (step S23: open). (192.168.0.12)).
  • the web server 213 acquires “192.168.0.12” as the virtual private IP address of the client terminal 21 as in step S23 (step S25: start (192.168.0.12)).
  • Step S26 Process Flow of Step S26
  • the web browser 113 outputs content request information whose destination virtual private IP address is “192.168.0.12” to the virtual LAN driver 114. (Step S26: http (192.168.0.12)).
  • the virtual LAN driver 114 outputs a communication packet of content request information to the control unit 112.
  • the destination virtual private IP address is set to “192.168.0.12”
  • the source virtual private IP address is set to “192.168.0.11” (step S26.1). : Packet (192.168.0.12, 192.168.0.11)).
  • the control unit 112 refers to the client terminal virtual address information 574-2 in the relay server information 57 stored in the relay server information storage unit 117, so that the transmission destination is not in the LAN 1 but in the LAN 2 via the WAN 3. Confirm.
  • the communication packet of the encapsulated content request information is output to the socket of the own device.
  • the client terminal 11 transmits a communication packet of content request information to the relay server 12 (step S26.1.1: connection (packet)).
  • the relay server 12 receives a communication packet from the client terminal 11.
  • the control unit 122 refers to the client terminal virtual address information 574-2 in the relay server information 57 stored in the relay server information storage unit 125, so that the transmission destination is not LAN1 but LAN2 via WAN3. Confirm.
  • the communication packet of the encapsulated content request information is output to the socket of the own device.
  • the relay server 12 transmits a communication packet of content request information to the relay server 22 (step S26.1.1.1: connection (packet)).
  • the relay server 22 receives the communication packet from the relay server 12.
  • the control unit 222 refers to the client terminal virtual address information 574-2 in the relay server information 57 stored in the relay server information storage unit 225, so that the transmission destination is not in the LAN 1 via the WAN 3 but in the LAN 2. Confirm.
  • the communication packet of the encapsulated content request information is output to the socket of the own device.
  • the relay server 22 transmits a communication packet of content request information to the client terminal 21 (step S26.1.1.1.1: connection (packet)).
  • the client terminal 21 receives a communication packet from the relay server 22.
  • the control unit 212 outputs a communication packet of the content request information to the virtual LAN driver 214 (Step S26.1.1.1.1.1.1: packet (192.168.0.12, 192.168 .. 0.11)).
  • the virtual LAN driver 214 outputs the content request information whose virtual private IP address of the transmission source is “192.168.0.11” to the web server 213 (step S26.1.1.1.1). 1.1: http (192.168.0.11)). The content request is completed by the above processing flow.
  • Step S27 The web server 213 outputs the content whose destination virtual private IP address is “192.168.0.11” to the virtual LAN driver 214 (step S27).
  • the virtual LAN driver 214 outputs a content communication packet to the control unit 212.
  • the destination virtual private IP address is set to “192.168.0.11”, and the source virtual private IP address is set to “192.168.0.12” (step S27.1). : Packet (192.168.0.11, 192.168.0.12)).
  • the control unit 212 refers to the client terminal virtual address information 574-1 in the relay server information 57 stored in the relay server information storage unit 217, so that the transmission destination is not the LAN 2 but the LAN 1 via the WAN 3. Confirm.
  • the communication packet of the encapsulated content is output to the socket of the own device.
  • the client terminal 21 transmits a content communication packet to the relay server 22 (step S27.1.1: connection (packet)).
  • the relay server 22 receives a communication packet from the client terminal 21.
  • the control unit 222 refers to the client terminal virtual address information 574-1 among the relay server information 57 stored in the relay server information storage unit 225, so that the transmission destination is not the LAN 2 but the LAN 1 via the WAN 3. Confirm.
  • the communication packet of the encapsulated content is output to the socket of the own device.
  • the relay server 22 transmits a content communication packet to the relay server 12 (step S27.1.1.1.1: connection (packet)).
  • the relay server 12 receives the communication packet from the relay server 22.
  • the control unit 122 refers to the client terminal virtual address information 574-1 in the relay server information 57 stored in the relay server information storage unit 125, so that the transmission destination is not in the LAN 2 via the WAN 3, but in the LAN 1. Confirm.
  • the communication packet of the encapsulated content is output to the socket of the own device.
  • the relay server 12 transmits a content communication packet to the client terminal 11 (step S27.1.1.1.1: connection (packet)).
  • the client terminal 11 receives a communication packet from the relay server 12.
  • the control unit 112 outputs a content communication packet to the virtual LAN driver 114 (step S27.1.1.1.1.1.1: packet (192.168.0.11, 192.168.8.0. 12)).
  • the virtual LAN driver 114 outputs the content whose source virtual private IP address is “192.168.0.12” to the web browser 113 (step S27.1.1.1.1.1). .1: http (192.168.0.12)). With the above processing flow, the provision of content ends.
  • Each device constituting the relay communication system is assigned a virtual private IP address, and establishes a connection for IP communication using the virtual address between them.
  • Each device that configures the relay communication system shares in real time information regarding the connection establishment for IP communication using the virtual private IP address of all devices and the virtual address of all devices in response to changes in the state of the relay communication system. is doing.
  • the data transmission side transmits data in which the virtual private IP address of the data reception side is designated as the transmission destination.
  • the data reception side receives data in which the virtual private IP address of the data transmission side is designated as the transmission source.
  • a communication packet of transmission data is encapsulated in a WAN interposed between remote LANs.
  • Each device involved in data transmission / reception checks the data receiving side's virtual private IP address against the relay server virtual address information or the client terminal virtual address information to determine which device the communication packet of the transmission data is transferred to. decide.
  • Each device involved in data transmission / reception refers to the connection establishment information for IP communication using a virtual address, and determines which connection socket to output a communication packet of transmission data to.
  • each device is assigned a virtual private IP address.
  • each device does not share information about virtual private IP addresses of all devices, and also does not share information about connection establishment of all devices. Therefore, when a communication error occurs when each device transmits data, it is unclear whether the virtual private IP address specified as the destination does not exist or whether the device specified as the destination has not established a connection. There was a clear problem.
  • each device is assigned a virtual private IP address. Further, each device shares information about the virtual private IP address of all devices, and also shares information about connection establishment of all devices. Therefore, it is possible to solve the problems in the prior art VPN and to construct a virtual network with expandability and flexibility in response to a change in the state of the relay communication system.
  • FIG. 25 is a diagram illustrating an overall configuration of a relay communication system.
  • the relay communication system includes LANs 1 and 2 and WAN3.
  • LANs 1 and 2 are small-scale networks constructed remotely.
  • the WAN 3 is a large-scale network such as the Internet.
  • the LAN 1 includes a client terminal 11 and a relay server 12.
  • the LAN 2 includes a client terminal 21 and a relay server 22.
  • the WAN 3 includes a SIP (Session Initiation Protocol) server 31.
  • the client terminals 11 and 21 are personal computers or the like.
  • the relay servers 12 and 22 relay communication between the client terminals 11 and 21.
  • the SIP server 31 relays communication between the relay servers 12 and 22.
  • SIP is used as a communication protocol between the relay servers 12 and 22, but a protocol other than SIP may be used.
  • a protocol other than SIP is used, communication between the relay servers 12 and 22 may be executed directly.
  • FIG. 26 is a diagram showing components of the relay server 12 (22).
  • the relay server 12 (22) includes an interface unit 121 (221), a control unit 122 (222), and a database storage unit 123 (223).
  • a code without parentheses indicates a code in the relay server 12.
  • Reference numerals with parentheses indicate reference numerals in the relay server 22.
  • the interface unit 121 (221) performs communication with the client terminal 11 (21) connected to the LAN 1 (2) using the private IP address.
  • the interface unit 121 (221) performs communication with the SIP server 31 connected to the WAN 3 using the global IP address.
  • the control unit 122 (222) performs control for relaying communication between the client terminals 11 and 21.
  • the control unit 122 (222) creates or updates the following information stored in the database storage unit 123 (223).
  • the database storage unit 123 includes a relay group information storage unit 124 (224), a relay server information storage unit 125 (225), and a client terminal information storage unit 126 (226). Specific examples of the above information will be described later.
  • the relay servers 12 and 22 do not include an application program (hereinafter referred to as an application), unlike the client terminals 11 and 21 described later, but the application is similar to the client terminals 11 and 21 described later. You may prepare.
  • the relay servers 12 and 22 include applications, the identification information of the applications of the relay servers 12 and 22 may be included in the later-described relay server information as application activation information of the relay servers 12 and 22.
  • FIG. 27 is a diagram showing components of the client terminal 11 (21).
  • the client terminal 11 (21) includes an interface unit 111 (211), a control unit 112 (212), an application 151 (251), and a database storage unit 115 (215).
  • subjected the parenthesis shows the code
  • FIG. Reference numerals with parentheses indicate reference numerals in the client terminal 21.
  • the interface unit 111 (211) performs communication with the relay server 12 (22) connected to the LAN 1 (2) using the private IP address.
  • the control unit 112 (212) performs control for executing communication between the client terminal 11 (21) and the relay server 12 (22).
  • the control unit 112 (212) inputs or outputs application data to be processed by the application 151 (251).
  • the application 151 (251) includes a first application 152 (252) and a second application 153 (253).
  • the first applications 152 and 252 are the same application.
  • the second applications 153 and 253 are the same application.
  • the first applications 152 and 252 are different from the second applications 153 and 253.
  • the control unit 112 (212) creates or updates the following information stored in the database storage unit 115 (215).
  • the database storage unit 115 (215) includes a relay group information storage unit 116 (216) and a relay server information storage unit 117 (217). Specific examples of the above information will be described later.
  • FIG. 28 is a diagram illustrating relay group information 40 as a specific example of relay group information.
  • the relay group information is information indicating an outline of the relay server that constitutes the relay communication system.
  • the relay group information 40 includes upper information 401 and lower information 402.
  • the upper information 401 is information on the relay group at the upper level. “Id” indicates identification information of the relay group. “Lastmod” indicates the latest update time of the relay group information. “Name” indicates the name of the relay group.
  • the lower information 402 is information about the relay server at the lower level. “Id” indicates identification information of the relay server.
  • the relay group information 40 is stored in the relay group information storage units 124, 224, 116, and 216. That is, the relay group information 40 is shared by the relay servers 12 and 22 and the client terminals 11 and 21.
  • FIG. 29 is a diagram illustrating relay server information 50 as a specific example of relay server information.
  • the relay server information is information that indicates details of the relay server that constitutes the relay communication system, and is an information that indicates an outline of the client terminal that constitutes the relay communication system.
  • the relay server information 50 is composed of upper information 501-1 and 501-2 and lower information 502-1 and 502-2.
  • the upper information 501-1 and 501-2 include relay server activation information 503-1 and 503-2, respectively.
  • the lower information 502-1 and 502-2 include application start information 504-1 and 504-2, and client terminal site information 505-1 and 505-2 indicating whether the client terminal is logged in to the relay server, respectively. .
  • the upper information 501-1 and 501-2 are information on the relay server at the upper level. “Id” indicates identification information of the relay server. “Name” indicates the name of the relay server.
  • the relay server activation information 503-1 and 503-2 are information about whether the relay server is activated.
  • the lower information 502-1 and 502-2 are information on lower-level client terminals. “Div” indicates a department name of the client terminal.
  • the application activation information 504-1 and 504-2 are application identification information and information indicating that the application is activated. “Group” indicates identification information of the relay group to which the client terminal belongs. “Id” indicates identification information of the client terminal. “Name” indicates the name of the client terminal.
  • Client terminal site information 505-1 and 505-2 indicate identification information of the relay server to which the client terminal is logged on.
  • the relay server information 50 is stored in the relay server information storage units 125, 225, 117, and 217. That is, the relay server information 50 is shared by the relay servers 12 and 22 and the client terminals 11 and 21.
  • the relay server activation information 503-1 and 503-2 are “active”.
  • the relay server activation information 503-1 and 503-2 are blank. Thereby, information about whether the relay server is activated is shared as the whole relay communication system.
  • application activation information 504-1 and 504-2 are described.
  • the application activation information 504-1 and 504-2 are not described.
  • the information about whether the application is activated is shared as the whole relay communication system.
  • the relay servers 12 and 22 store applications, and the activation status of the applications stored in the relay servers 12 and 22 can be shared by the entire relay communication system.
  • information similar to the application activation information 504-1 and 504-2 is described in the upper information 501-1 and 501-2 as information on the activation state of the application stored in the relay servers 12 and 22. It only has to be done.
  • the number of applications sharing the activation state in the entire relay communication system may be single or plural. Applications are stored in both the first client terminal 11 and the first relay server 12, and both activation states can be shared.
  • client terminal site information 505-1 and 505-2 are described.
  • client terminal site information 505-1 and 505-2 are not described.
  • information about whether the client terminal is logged on to the relay server is shared as the entire relay communication system.
  • FIG. 30 is a diagram showing client terminal information 60 and 70 as specific examples of client terminal information.
  • the client terminal information is information indicating details of the client terminals that constitute the relay communication system.
  • the client terminal information 60, 70 includes client terminal address information 601, 701, client terminal expiration date information 602, 702, and client terminal port information 603, 703, respectively.
  • “Div” indicates the department name of the client terminal.
  • “Group” indicates identification information of the relay group to which the client terminal belongs.
  • Client terminal address information 601, 701 indicates the IP address of the client terminal.
  • the client terminal expiration date information 602 and 702 indicates the registration expiration date of the client terminal.
  • “Id” indicates identification information of the client terminal.
  • “Name” indicates the name of the client terminal.
  • “Pass” indicates a password of the client terminal.
  • the client terminal port information 603, 703 indicates the port number of the client terminal.
  • the client terminal information 60 is stored only in the client terminal information storage unit 126, and the client terminal information 70 is stored only in the client terminal information storage unit 226. That is, the client terminal information 60 is held only by the relay server 12, and the client terminal information 70 is held only by the relay server 22.
  • FIGS. 31 and 32 are diagrams showing a flow of processing in which relay group information and relay server information are shared.
  • the relay servers 12 and 22 participate in the relay communication system.
  • the user of the client terminal 11 does not start the second application 153 while logging on to the relay server 12 and starting the first application 152.
  • the user of the client terminal 21 logs on to the relay server 22 and activates the first application 252 and activates the second application 253.
  • Step S1 Process Flow from Step S1 to Step S2
  • the administrator of the relay server 12 and the administrator of the relay server 22 make a contract for establishing a group of relay communication systems between the LANs 1 and 2.
  • the administrator of the relay server 12 creates an account for the user of the client terminal 11 (step S1: CreateAccount ()).
  • the control unit 122 creates relay server information 51-1 and stores it in the relay server information storage unit 125.
  • the administrator of the relay server 22 creates an account for the user of the client terminal 21 (step S2: CreateAccount ()).
  • the control unit 222 creates relay server information 51-2 and stores it in the relay server information storage unit 225.
  • the relay server 12 holds the relay server information 51-1.
  • the relay server 22 has relay server information 51-2.
  • the upper information 511-1 is information about the relay server 12 at the upper level.
  • “Relay-server-1@abc.net” is set as “id”.
  • “RELAY SERVER 1” is set as “name”.
  • “Active” is set as the relay server activation information 513-1. That is, the relay server 12 is activated.
  • the lower information 512-1 is information about the client terminal 11 at the lower level.
  • “Software” is set as “div”. As “group”, “20070402133100@relay-server-1.abc.net” is set. As “id”, “client-1@relay-server-1.abc.net” is set.
  • “CLIENT 1” is set as “name”.
  • the client terminal site information 515-1 is blank. That is, the user of the client terminal 11 is not logged on to the relay server 12.
  • Application startup information is not described. That is, since the user of the client terminal 11 is not logged on to the relay server 12, the relay server 12 is not involved in the activation state of the application stored in the client terminal 11.
  • the second frame in FIG. 33 shows the relay server information 51-2.
  • the upper information 511-2 is information about the relay server 22 at the upper level. As “id”, “relay-server-2@abc.net” is set. “RELAY SERVER 2” is set as “name”. “Active” is set as the relay server activation information 513-2. That is, the relay server 22 is activated.
  • the lower information 512-2 is information about the lower client terminal 21.
  • “Software” is set as “div”. As “group”, “20070402133100@relay-server-1.abc.net” is set. As “id”, “client-2@relay-server-2.abc.net” is set. “CLIENT 2” is set as “name”.
  • the client terminal site information 515-2 is blank. That is, the user of the client terminal 21 is not logged on to the relay server 22.
  • Application startup information is not described. That is, since the user of the client terminal 21 is not logged on to the relay server 22, the relay server 22 is not involved in how the application stored in the client terminal 21 is activated.
  • Step S3 Process Flow from Step S3 to Step S4
  • communication between the relay servers 12 and 22 is relayed by the SIP server 31.
  • a method in which the relay server 12 (22) performs communication with the relay server 22 (12) via the SIP server 31 will be described.
  • the relay server 12 (22) transmits, for example, data in which the account of the relay server 22 (12) is designated as a communication destination to the SIP server 31.
  • the SIP server 31 associates the accounts of the relay servers 12 and 22 with the global IP addresses of the relay servers 12 and 22, respectively.
  • the SIP server 31 acquires the global IP address of the relay server 22 (12) based on the account of the relay server 22 (12).
  • the SIP server 31 transmits, for example, data in which the global IP address of the relay server 22 (12) is designated as a communication destination to the relay server 22 (12).
  • the relay server 12 requests the relay server 22 to construct a group of the relay communication system (Step S3: SetGroup ()).
  • the control unit 122 creates the relay group information 42 and stores it in the relay group information storage unit 124.
  • the control unit 222 creates the relay group information 42 and stores it in the relay group information storage unit 224.
  • the relay server 12 requests the relay server 22 to exchange relay server information (step S4: exchange (db)).
  • the relay server 12 transmits a copy of the relay server information 51-1 to the relay server 22.
  • the relay server 22 transmits a copy of the relay server information 51-2 to the relay server 12.
  • the control unit 122 creates the relay server information 52 by duplicating the relay server information 51-2 and combining the relay server information 51-1, and stores the relay server information 52 in the relay server information storage unit 125.
  • the control unit 222 creates the relay server information 52 by copying the relay server information 51-1 and combining the relay server information 51-2, and stores the relay server information 52 in the relay server information storage unit 225.
  • the control unit 122 creates client terminal information 62 and stores it in the client terminal information storage unit 126.
  • the control unit 222 creates client terminal information 72 and stores it in the client terminal information storage unit 226.
  • the creation process and storage process of the client terminal information 62 are executed in step S1
  • the creation process and storage process of the client terminal information 72 are executed in step S2.
  • the relay server 12 holds the relay group information 42, the relay server information 52, and the client terminal information 62.
  • the relay server 22 has relay group information 42, relay server information 52, and client terminal information 72.
  • the relay group information 42 and the relay server information 52 are shared by the relay servers 12 and 22.
  • the upper information 421 is information about the relay group at the upper level.
  • “id” “20070402133100@relay-server-1.abc.net” is set.
  • lastmod “20070402133100” is set.
  • “GROUP 1” is set as “name”.
  • the lower information 422 is information about the relay servers 12 and 22 at the lower level. As “id”, “relay-server-1@abc.net” and “relay-server-2@abc.net” are set.
  • the 34 shows the relay server information 52 in the second frame.
  • the upper information 521-1 and 521-2 are the same as the upper information 511-1 and 511-2 in FIG. 33, respectively.
  • the lower information 522-1 and 522-2 are the same as the lower information 512-1 and 512-2 in FIG. 33, respectively.
  • the client terminal address information 621 is blank. “0” is set as the client terminal expiration date information 622.
  • the client terminal port information 623 is blank. That is, the user of the client terminal 11 is not logged on to the relay server 12.
  • the client terminal address information 721 is blank. “0” is set as the client terminal expiration date information 722.
  • the client terminal port information 723 is blank. That is, the user of the client terminal 21 is not logged on to the relay server 22.
  • Step S5 Process Flow from Step S5 to Step S7
  • the user of the client terminal 11 activates the first application 152 and creates a message to be shared in the relay communication system.
  • the first application 152 registers its own identification information set in advance in the control unit 112 (step S5: CreateMessage ()).
  • the user of the client terminal 11 does not start the second application 153 while starting the first application 252.
  • the user of the client terminal 21 activates the first application 153 and creates a message to be shared in the relay communication system.
  • the first application 153 registers its own identification information set in advance in the control unit 212 (step S6: CreateMessage ()).
  • the user of the client terminal 21 activates the first application 252 and activates the second application 253 (step S7: CreateMessage ()). Steps S6 and S7 are executed in the same manner.
  • Step S8 Process Flow from Step S8 to Step S10
  • the user of the client terminal 11 inputs “client-1@relay-server-1.abc.net” as identification information of the client terminal 11, “Client-1” is input as the password of the client terminal 11.
  • the user of the client terminal 11 has activated the first application 152 in step S5.
  • the user of the client terminal 11 logs on to the relay server 12 (step S8: REGISTER (ID, PASS, APPLKEY1)).
  • the control unit 122 performs authentication of the user of the client terminal 11 by referring to the client terminal information 62.
  • the control unit 122 accepts logon of the user of the client terminal 11.
  • the control unit 122 creates the relay server information 53 by updating the relay server information 52 and stores it in the relay server information storage unit 125.
  • the control unit 122 creates the client terminal information 63 by updating the client terminal information 62 and stores the client terminal information 63 in the client terminal information storage unit 126.
  • the control unit 122 does not update the relay group information 42.
  • the client terminal 11 requests the relay server 12 to provide relay group information and relay server information (step S9: get ()).
  • the relay server 12 transmits a copy of the relay group information 42 and the relay server information 53 to the client terminal 11.
  • the client terminal 11 stores the relay group information 42 in the relay group information storage unit 116 and stores the relay server information 53 in the relay server information storage unit 117.
  • the control unit 122 refers to the relay group information 42 and the relay server information 53 to determine a relay server to be notified that the relay server information 52 has been updated to the relay server information 53.
  • the control unit 122 determines the relay server 22 whose relay server activation information 533-2 of the relay server information 53 is “active” as a relay server to be notified.
  • the relay server 12 notifies the relay server 22 that the relay server information 52 has been updated to the relay server information 53 (step S10: NOTIFY ()).
  • the control unit 222 updates the relay server information 52 to create the relay server information 53 and stores it in the relay server information storage unit 225.
  • the control unit 222 refers to the client terminal information 72 to determine a client terminal to be notified that the relay server information 52 has been updated to the relay server information 53.
  • the control unit 222 does not determine the client terminal 21 in which the client terminal address information 721 of the client terminal information 72 is blank and the client terminal port information 723 of the client terminal information 72 is blank as a client terminal to be notified. .
  • the relay server 12 holds the relay group information 42, the relay server information 53, and the client terminal information 63.
  • the relay server 22 has relay group information 42, relay server information 53, and client terminal information 72.
  • the client terminal 11 has relay group information 42 and relay server information 53.
  • the relay group information 42 and the relay server information 53 are shared by the relay servers 12 and 22 and the client terminal 11.
  • step S35 shows the relay group information 42 in the first frame.
  • the relay group information 42 is not updated because a new relay server has not participated in the relay communication system.
  • the relay server information 53 in the second frame shows the relay server information 53 in the second frame.
  • the updated part is indicated by the underlined part.
  • client terminal information 63 in the third frame shows client terminal information 63 in the third frame.
  • the updated part is indicated by the underlined part.
  • the user of the client terminal 11 is logged on to the relay server 12. Therefore, the client terminal address information 631 is fixed to “192.168.10.2”. Further, the client terminal expiration date information 632 is fixed to “1213935960484”. Further, the client terminal port information 633 is fixed to “5070”.
  • step S35 shows client terminal information 72 in the fourth frame.
  • the client terminal information 72 is not updated.
  • Step S11 Process Flow from Step S11 to Step S14
  • the user of the client terminal 21 inputs “client-2@relay-server-2.abc.net” as identification information of the client terminal 21, “Client-2” is input as the password of the client terminal 21.
  • the user of the client terminal 21 has activated the first application 252 and the second application 253 in steps S6 and S7.
  • the user of the client terminal 21 logs on to the relay server 22 (step S11: REGISTER (ID, PASS, APPLKEY1, APPLKEY2)).
  • the control unit 222 performs authentication of the user of the client terminal 21 by referring to the client terminal information 72.
  • the control unit 222 accepts logon of the user of the client terminal 21.
  • the control unit 222 updates the relay server information 53 to create the relay server information 54 and stores it in the relay server information storage unit 225.
  • the control unit 222 creates the client terminal information 74 by updating the client terminal information 72 and stores it in the client terminal information storage unit 226.
  • the control unit 222 does not update the relay group information 42.
  • the client terminal 21 requests the relay server 22 to provide relay group information and relay server information (step S12: get ()).
  • the relay server 22 transmits a copy of the relay group information 42 and the relay server information 54 to the client terminal 21.
  • the client terminal 21 stores the relay group information 42 in the relay group information storage unit 216, and stores the relay server information 54 in the relay server information storage unit 217.
  • the control unit 222 refers to the relay group information 42 and the relay server information 54 to determine a relay server to be notified that the relay server information 53 has been updated to the relay server information 54.
  • the control unit 222 determines the relay server 12 whose relay server activation information 543-1 of the relay server information 54 is “active” as a relay server to be notified.
  • the relay server 22 notifies the relay server 12 that the relay server information 53 has been updated to the relay server information 54 (step S13: NOTIFY ()).
  • the control unit 122 creates the relay server information 54 by updating the relay server information 53 and stores it in the relay server information storage unit 125.
  • the control unit 122 refers to the client terminal information 63 to determine a client terminal to be notified that the relay server information 53 has been updated to the relay server information 54.
  • the control unit 122 determines the client terminal 11 in which the client terminal address information 631 in the client terminal information 63 is determined and the client terminal port information 633 in the client terminal information 63 is determined as a client terminal to be notified.
  • the relay server 12 notifies the client terminal 11 that the relay server information 53 has been updated to the relay server information 54 (step S14: NOTIFY ()).
  • the control unit 112 creates the relay server information 54 by updating the relay server information 53 and stores it in the relay server information storage unit 117.
  • the relay server 12 holds the relay group information 42, the relay server information 54, and the client terminal information 63.
  • the relay server 22 has relay group information 42, relay server information 54, and client terminal information 74.
  • the client terminal 11 has relay group information 42 and relay server information 54.
  • the client terminal 21 has relay group information 42 and relay server information 54.
  • the relay group information 42 and the relay server information 54 are shared by the relay servers 12 and 22 and the client terminals 11 and 21.
  • step S11 to step S14 the relay group information 42 is not updated because a new relay server does not participate in the relay communication system.
  • the relay server information 54 in the second frame shows the relay server information 54 in the second frame.
  • the updated part is indicated by the underlined part.
  • step S11 shows the client terminal information 63 in the third frame.
  • the client terminal information 63 is not updated.
  • the 36 shows client terminal information 74 in the fourth frame.
  • the updated part is indicated by the underlined part.
  • the user of the client terminal 21 is logged on to the relay server 22. Therefore, the client terminal address information 741 is fixed at “192.168.1.10”. Further, the client terminal expiration date information 742 is fixed to “1213935978484”. Further, the client terminal port information 743 is fixed to “5070”.
  • the increase / decrease state and connection state of LANs and client terminals may change.
  • the activation state of the application stored in the client terminal and the relay server may change. Therefore, when one relay server recognizes the state change, it immediately updates the relay group information, the relay server information, and the client terminal information.
  • the one relay server immediately notifies the other relay servers described in the relay group information and the relay server information that the relay group information and the relay server information are updated. Further, the one relay server immediately notifies the client terminal described in the client terminal information that the relay group information and the relay server information are updated.
  • one relay server determines that another relay server is not connected even if the other relay server is described in the relay group information and relay server information, it immediately notifies the other relay server. None do. Furthermore, even if the client terminal is described in the client terminal information, the one relay server does not immediately notify the client terminal when it is determined that the client terminal is not connected.
  • the information about the increase / decrease state and connection state of the LAN and the client terminal, and the information about the activation state of the application stored in the client terminal and the relay server are shared in real time as the entire relay communication system.
  • FIGS. 37 and 38 are diagrams showing a flow of data transmission / reception after information sharing. After the information sharing, the relay group information 42, the relay server information 54, and the client terminal information 63 and 74 shown in FIG. 36 are stored.
  • the user of the client terminal 11 does not start the second application 153 while logging on to the relay server 12 and starting the first application 152.
  • the user of the client terminal 21 logs on to the relay server 22 and activates the first application 252 and activates the second application 253.
  • the first applications 152 and 252 are the same application.
  • the second applications 153 and 253 are the same application.
  • the first applications 152 and 252 are different from the second applications 153 and 253.
  • FIG. 37 shows a process flow for establishing a connection before transmitting / receiving data.
  • the user of the client terminal 11 confirms the relay group to which the client terminal 11 belongs. Specifically, the user of the client terminal 11 displays the relay group information 42 on the display screen of the client terminal 11 (getGroup ()). In the relay group information 42, identification information “relay-server-1@abc.net” and “relay-server-2@abc.net” of the relay servers 12 and 22 are set. The user of the client terminal 11 confirms that the client terminal 11 belongs to a relay group configured by the relay servers 12 and 22.
  • the user of the client terminal 11 displays the relay server information 54 corresponding to the relay group information 42 on the display screen of the client terminal 11 (getServer ()).
  • the user of the client terminal 11 refers to the relay server information 54 and confirms information on the relay servers that constitute the relay group, the client terminals that are positioned below the relay server, and the applications that are running in the relay group. .
  • the user of the client terminal 11 refers to the relay server information 54 and confirms that data transmission / reception with the client terminal 21 is possible. Further, the user of the client terminal 11 confirms that the first application 252 is activated in the client terminal 21 and communication is possible.
  • the first application 152 confirms that the relay server activation information 543-1 of the relay server information 54 is set to “active” for the relay server 12. That is, it is confirmed that the relay server 12 is activated.
  • the first application 152 confirms that the relay server activation information 543-2 of the relay server information 54 is set to “active” for the relay server 22. That is, it is confirmed that the relay server 22 is activated.
  • the first application 152 confirms that the client terminal site information 545-2 of the relay server information 54 is set to “relay-server-2@abc.net” for the client terminal 21. That is, it is confirmed that the client terminal 21 is logged on to the relay server 22.
  • the first application 152 confirms for the client terminal 21 that the application activation information 544-2 of the relay server information 54 is set to “applkey1, applkey2”. That is, it is confirmed that the first application 252 and the second application 253 stored in the client terminal 21 are activated.
  • the first application 152 confirms that data can be transmitted to the first application 252 stored in the client terminal 21 via the relay servers 12 and 22.
  • the first application 152 determines to transmit data to the first application 252 stored in the client terminal 21.
  • the first application 152 outputs connection establishment request information to the control unit 112.
  • the client terminal 11 transmits connection establishment request information to the relay server 12 (step S15: open (client-2, client-1, applkey1)).
  • the relay server 12 transmits connection establishment request information to the relay server 22 in stream (2) (step S15.1: open (client-2, client-1, appkey1)).
  • the relay server 22 transmits connection establishment request information to the client terminal 21 using the client terminal information 74 (step S15.1.1: open (client-2, client-1). , Applkey1)). That is, the connection establishment request information is transmitted to the client terminal 21 based on the client terminal address information 742 “192.168.1.10” and the client terminal port information 745 “5070” corresponding to the client terminal 21. .
  • the control unit 212 confirms that connection establishment request information should be output to the first application 252 and should not be output to the second application 253.
  • the control unit 212 outputs connection establishment request information to the first application 252.
  • the client terminal 21 transmits connection establishment permission information to the relay server 22 in stream (3) (ack for step S15.1.1).
  • the relay server 22 transmits connection establishment permission information to the relay server 12 (ack for step S15.1).
  • the relay server 12 transmits connection establishment permission information to the client terminal 11 (ack for step S15).
  • connection (1) The client terminal 11 establishes a connection (connection (1)) between the client terminal 11 and the relay server 12 to the relay server 12 (step S16: connection (1)).
  • the relay server 12 establishes a connection (connection (2)) between the relay server 12 and the relay server 22 to the relay server 22 (step S17: connection (2)).
  • connection (2) a connection between the relay server 12 and the relay server 22 to the relay server 22
  • connection (2) a connection between the relay server 12 and the relay server 22 to the relay server 22
  • the relay server 22 establishes a connection (connection (3)) between the relay server 22 and the client terminal 21 using the client terminal information 74 with respect to the client terminal 21 (step S18: connection (3)).
  • connection (3) a connection between the relay server 22 and the client terminal 21 using the client terminal information 74 with respect to the client terminal 21 (step S18: connection (3)).
  • the relay server 22 associates connection (2) and connection (3) as a connection relayed by itself.
  • the first application 152 stored in the client terminal 11 and the first application 252 stored in the client terminal 21 can bidirectionally transmit and receive data.
  • connection (1): send () connection (1)
  • connection (2) connection (2): send ()
  • the client terminal 21 receives data in connection (3) (connection (3): recv ()).
  • the control unit 212 outputs data to the first application 252.
  • connection (3): send () connection (3)
  • the client terminal 11 receives data in connection (1) (connection (1): recv ()).
  • the control unit 112 outputs data to the first application 152.
  • FIG. 38 shows a process flow for disconnecting a connection after transmitting / receiving data.
  • the first application 152 stored in the client terminal 11 transmits connection establishment request information to the first application 252 stored in the client terminal 21.
  • the first application 252 stored in the client terminal 21 transmits connection disconnection request information to the first application 114 stored in the client terminal 11.
  • the first application 252 outputs connection disconnection request information to the control unit 212.
  • the client terminal 21 transmits connection disconnection request information to the relay server 22 in stream (3) (step S19: close ()).
  • the relay server 22 transmits connection disconnection request information to the relay server 12 in the stream (2) (step S19.1: close ()).
  • the relay server 12 transmits connection disconnection request information to the client terminal 11 (step S19.1.1: close ()).
  • the control unit 112 outputs connection disconnection request information to the first application 152.
  • the client terminal 21 disconnects connection (3) from the relay server 22 (step S20: disconnect (3)).
  • the relay server 22 disconnects connection (2) from the relay server 12 (step S21: disconnect (2)).
  • the relay server 12 disconnects connection (1) from the client terminal 11 (step S22: disconnect (1)).
  • Client terminal and relay server refer to relay group information and relay server information.
  • the client terminal and the relay server can check the increase / decrease state and connection state of the other client terminals and the relay server, and the activation state of the application stored in the other client terminal and the relay server.
  • the client terminal and the relay server can transmit and receive data bidirectionally with the other client terminal and the relay server after confirming the state of the other client terminal and the relay server.
  • FIG. 39 is a diagram illustrating an overall configuration of the relay communication system.
  • the relay communication system includes LANs 1 and 2 and WAN3.
  • LANs 1 and 2 are small-scale networks constructed remotely.
  • the WAN 3 is a large-scale network such as the Internet.
  • the LAN 1 includes a client terminal 11 and a relay server 12.
  • the LAN 2 includes client terminals 21 and 22 and a relay server 23.
  • the WAN 3 includes a SIP (Session Initiation Protocol) server 31.
  • the client terminals 11, 21, and 22 are personal computers or the like.
  • the relay servers 12 and 23 relay communication between the client terminal 11 and the client terminals 21 and 22.
  • the SIP server 31 relays communication between the relay servers 12 and 23.
  • SIP is used as a communication protocol between the relay servers 12 and 23, but a protocol other than SIP may be used.
  • a protocol other than SIP is used, communication between the relay servers 12 and 23 may be executed directly.
  • FIG. 40 is a diagram showing components of the relay server 12 (23).
  • the relay server 12 (23) includes an interface unit 121 (231), a control unit 122 (232), and a database storage unit 123 (233).
  • a code without parentheses indicates a code in the relay server 12.
  • Reference numerals with parentheses indicate reference numerals in the relay server 23.
  • the interface unit 121 (231) performs communication with the client terminal 11 (21, 22) connected to the LAN 1 (2) using the private IP address.
  • the interface unit 121 (231) performs communication with the SIP server 31 connected to the WAN 3 by using the global IP address.
  • the control unit 122 (232) executes control for relaying communication between the client terminal 11 and the client terminals 21 and 22.
  • the control unit 122 (232) creates or updates the following information stored in the database storage unit 123 (233).
  • the database storage unit 123 includes a relay group information storage unit 124 (234), a relay server information storage unit 125 (235), and a client terminal information storage unit 126 (236). Specific examples of the above information will be described below.
  • FIG. 41 is a diagram illustrating relay group information 40 as a specific example of relay group information.
  • the relay group information is information indicating an outline of the relay server that constitutes the relay communication system.
  • the relay group information 40 includes upper information 401 and lower information 402.
  • the upper information 401 is information on the relay group at the upper level. “Id” indicates identification information of the relay group. “Lastmod” indicates the latest update time of the relay group information. “Name” indicates the name of the relay group.
  • the lower information 402 is information about the relay server at the lower level. “Id” indicates identification information of the relay server.
  • the relay group information 40 is stored in the relay group information storage units 124 and 234. That is, the relay group information 40 is shared by the relay servers 12 and 23. Further, the relay group information 40 is shared by the relay server and the client terminal.
  • FIG. 42 is a diagram illustrating relay server information 50 as a specific example of relay server information.
  • the relay server information is information that indicates details of the relay server that constitutes the relay communication system, and is an information that indicates an outline of the client terminal that constitutes the relay communication system.
  • the relay server information 50 is composed of upper information 501-1 and 501-2 and lower information 502-1 and 502-2.
  • the upper information 501-1 and 501-2 include relay server activation information 503-1 and 503-2, respectively.
  • the lower information 502-1 and 502-2 include client terminal site information 504-1 and 504-2 indicating whether or not the client terminal is logged on to the relay server.
  • the upper information 501-1 and 501-2 are information on the relay server at the upper level. “Id” indicates identification information of the relay server. “Name” indicates the name of the relay server.
  • the relay server activation information 503-1 and 503-2 are information about whether the relay server is activated.
  • the lower information 502-1 and 502-2 are information on lower-level client terminals. “Div” indicates a department name of the client terminal. “Group” indicates identification information of the relay group to which the client terminal belongs. “Id” indicates identification information of the client terminal. “Name” indicates the name of the client terminal. Client terminal site information 504-1 and 504-2 indicate identification information of the relay server to which the client terminal is logged on.
  • the relay server information 50 is stored in the relay server information storage units 125 and 235. That is, the relay server information 50 is shared by the relay servers 12 and 23. Further, the relay server information 50 is shared by the relay server and the client terminal.
  • the relay server activation information 503-1 and 503-2 are “active”.
  • the relay server activation information 503-1 and 503-2 are blank. Thereby, information about whether the relay server is activated is shared as the whole relay communication system.
  • client terminal site information 504-1 and 504-2 are described.
  • client terminal site information 504-1 and 504-2 are not described.
  • information about whether the client terminal is logged on to the relay server is shared as the entire relay communication system.
  • FIG. 43 is a diagram showing client terminal information 60 and 70 as specific examples of client terminal information.
  • the client terminal information is information indicating details of the client terminals that constitute the relay communication system.
  • the client terminal information 60, 70 includes client terminal address information 601, 701, client terminal expiration date information 602, 702, and client terminal port information 603, 703, respectively.
  • “Div” indicates the department name of the client terminal.
  • “Group” indicates identification information of the relay group to which the client terminal belongs.
  • Client terminal address information 601, 701 indicates the IP address of the client terminal.
  • the client terminal expiration date information 602 and 702 indicates the registration expiration date of the client terminal.
  • “Id” indicates identification information of the client terminal.
  • “Name” indicates the name of the client terminal.
  • “Pass” indicates a password of the client terminal.
  • the client terminal port information 603, 703 indicates the port number of the client terminal.
  • the client terminal information 60 is stored only in the client terminal information storage unit 126, and the client terminal information 70 is stored only in the client terminal information storage unit 236. That is, the client terminal information 60 is held only by the relay server 12, and the client terminal information 70 is held only by the relay server 23.
  • FIG. 44 is a diagram showing a flow of processing for sharing relay group information and relay server information.
  • the first setting is executed. That is, the relay servers 12 and 23 participate in the relay communication system. Then, the user of the client terminal 11 logs on to the relay server 12, and the user of the client terminal 21 logs on to the relay server 23.
  • Step S1 Process Flow from Step S1 to Step S2
  • the administrator of the relay server 12 and the administrator of the relay server 23 make a contract for establishing a group of relay communication systems between the LANs 1 and 2.
  • the administrator of the relay server 12 creates an account for the user of the client terminal 11 (step S1: CreateAccount ()).
  • the control unit 122 creates relay server information 51-1 and stores it in the relay server information storage unit 125.
  • the administrator of the relay server 23 creates an account for the user of the client terminal 21 (step S2: CreateAccount ()).
  • the control unit 232 creates relay server information 51-2 and stores it in the relay server information storage unit 235.
  • the relay server 12 holds the relay server information 51-1.
  • the relay server 23 has relay server information 51-2.
  • the first frame in FIG. 45 shows the relay server information 51-1.
  • the upper information 511-1 is information about the relay server 12 at the upper level.
  • “Relay-server-1@abc.net” is set as “id”.
  • “RELAY SERVER 1” is set as “name”.
  • “Active” is set as the relay server activation information 513-1. That is, the relay server 12 is activated.
  • the lower information 512-1 is information about the client terminal 11 at the lower level.
  • “Software” is set as “div”. As “group”, “20070402133100@relay-server-1.abc.net” is set. As “id”, “client-1@relay-server-1.abc.net” is set.
  • “CLIENT 1” is set as “name”.
  • the client terminal site information 514-1 is blank. That is, the user of the client terminal 11 is not logged on to the relay server 12.
  • the second frame in FIG. 45 shows the relay server information 51-2.
  • the upper information 511-2 is information regarding the relay server 23 at the upper level. As “id”, “relay-server-2@abc.net” is set. “RELAY SERVER 2” is set as “name”. “Active” is set as the relay server activation information 513-2. That is, the relay server 23 is activated.
  • the lower information 512-2 is information about the lower client terminal 21.
  • “Software” is set as “div”. As “group”, “20070402133100@relay-server-1.abc.net” is set. As “id”, “client-2@relay-server-2.abc.net” is set.
  • “CLIENT 2” is set as “name”.
  • the client terminal site information 514-2 is blank. That is, the user of the client terminal 21 is not logged on to the relay server 23.
  • Step S3 (6-2) Flow of Processing from Step S3 to Step S4
  • communication between the relay servers 12 and 23 is relayed by the SIP server 31.
  • a method in which the relay server 12 (23) performs communication with the relay server 23 (12) via the SIP server 31 will be described.
  • the relay server 12 (23) transmits, for example, data in which the account of the relay server 23 (12) is designated as a communication destination to the SIP server 31.
  • the SIP server 31 associates the accounts of the relay servers 12 and 23 with the global IP addresses of the relay servers 12 and 23, respectively.
  • the SIP server 31 acquires the global IP address of the relay server 23 (12) based on the account of the relay server 23 (12).
  • the SIP server 31 transmits, for example, data in which the global IP address of the relay server 23 (12) is designated as a communication destination to the relay server 23 (12).
  • the relay server 12 requests the relay server 23 to construct a group of relay communication systems (step S3: SetGroup ()).
  • the control unit 122 creates the relay group information 42 and stores it in the relay group information storage unit 124.
  • the control unit 232 creates the relay group information 42 and stores it in the relay group information storage unit 234.
  • the relay server 12 requests the relay server 23 to exchange relay server information (step S4: exchange (db)).
  • the relay server 12 transmits a copy of the relay server information 51-1 to the relay server 23.
  • the relay server 23 transmits a copy of the relay server information 51-2 to the relay server 12.
  • the control unit 122 creates the relay server information 52 by duplicating the relay server information 51-2 and combining the relay server information 51-1, and stores the relay server information 52 in the relay server information storage unit 125.
  • the control unit 232 creates the relay server information 52 by duplicating the relay server information 51-1 and combining the relay server information 51-2, and stores the relay server information 52 in the relay server information storage unit 235.
  • the control unit 122 creates client terminal information 62 and stores it in the client terminal information storage unit 126.
  • the control unit 232 creates client terminal information 72 and stores it in the client terminal information storage unit 236.
  • the creation process and storage process of the client terminal information 62 are executed in step S1
  • the creation process and storage process of the client terminal information 72 are executed in step S2.
  • the relay server 12 holds the relay group information 42, the relay server information 52, and the client terminal information 62.
  • the relay server 23 has relay group information 42, relay server information 52, and client terminal information 72.
  • the relay group information 42 and the relay server information 52 are shared by the relay servers 12 and 23.
  • the upper information 421 is information about the relay group at the upper level. As “id”, “20070402133100@relay-server-1.abc.net” is set. As “lastmod”, “20070402133100” is set. “GROUP 1” is set as “name”.
  • the lower information 422 is information about the relay servers 12 and 23 at the lower level. As “id”, “relay-server-1@abc.net” and “relay-server-2@abc.net” are set.
  • the 46 shows the relay server information 52 in the second frame.
  • the upper information 521-1 and 521-2 are the same as the upper information 511-1 and 511-2 in FIG.
  • the lower information 522-1 and 522-2 are the same as the lower information 512-1 and 512-2 in FIG.
  • the client terminal address information 621 is blank. “0” is set as the client terminal expiration date information 622.
  • the client terminal port information 623 is blank. That is, the user of the client terminal 11 is not logged on to the relay server 12.
  • the client terminal address information 721 is blank. “0” is set as the client terminal expiration date information 722.
  • the client terminal port information 723 is blank. That is, the user of the client terminal 21 is not logged on to the relay server 23.
  • Step S5 Process Flow from Step S5 to Step S7
  • the user of the client terminal 11 inputs “client-1@relay-server-1.abc.net” as identification information of the client terminal 11, “Client-1” is input as the password of the client terminal 11.
  • the user of the client terminal 11 logs on to the relay server 12 (step S5: REGISTER (ID, PASS)).
  • the control unit 122 performs authentication of the user of the client terminal 11 by referring to the client terminal information 62.
  • the control unit 122 accepts logon of the user of the client terminal 11.
  • the control unit 122 creates the relay server information 53 by updating the relay server information 52 and stores it in the relay server information storage unit 125.
  • the control unit 122 creates the client terminal information 63 by updating the client terminal information 62 and stores the client terminal information 63 in the client terminal information storage unit 126.
  • the control unit 122 does not update the relay group information 42.
  • the client terminal 11 requests the relay server 12 to provide relay group information and relay server information (step S6: get ()).
  • the relay server 12 transmits a copy of the relay group information 42 and the relay server information 53 to the client terminal 11.
  • the client terminal 11 stores relay group information 42 and relay server information 53.
  • the control unit 122 refers to the relay group information 42 and the relay server information 53 to determine a relay server to be notified that the relay server information 52 has been updated to the relay server information 53.
  • the control unit 122 determines the relay server 23 whose relay server activation information 533-2 of the relay server information 53 is “active” as a relay server to be notified.
  • the relay server 12 notifies the relay server 23 that the relay server information 52 has been updated to the relay server information 53 (step S7: NOTIFY ()).
  • the control unit 232 updates the relay server information 52 to create the relay server information 53 and stores it in the relay server information storage unit 235.
  • the control unit 232 refers to the client terminal information 72 to determine a client terminal to be notified that the relay server information 52 has been updated to the relay server information 53.
  • the control unit 232 does not determine the client terminal 21 in which the client terminal address information 721 of the client terminal information 72 is blank and the client terminal port information 723 of the client terminal information 72 is blank as a client terminal to be notified. .
  • the relay server 12 holds the relay group information 42, the relay server information 53, and the client terminal information 63.
  • the relay server 23 has relay group information 42, relay server information 53, and client terminal information 72.
  • the client terminal 11 has relay group information 42 and relay server information 53.
  • the relay group information 42 and the relay server information 53 are shared by the relay servers 12 and 23 and the client terminal 11.
  • step S47 shows the relay group information 42 in the first frame.
  • the relay group information 42 is not updated because a new relay server has not participated in the relay communication system.
  • relay server information 53 in the second frame shows relay server information 53 in the second frame.
  • the updated part is indicated by the underlined part.
  • the user of the client terminal 11 is logged on to the relay server 12. Therefore, the client terminal site information 534-1 of the lower information 532-1 is fixed to “relay-server-1@abc.net”.
  • client terminal information 63 in the third frame indicates client terminal information 63 in the third frame.
  • the updated part is indicated by the underlined part.
  • the user of the client terminal 11 is logged on to the relay server 12. Therefore, the client terminal address information 631 is fixed to “192.168.10.2”. Further, the client terminal expiration date information 632 is fixed to “1213935960484”. Further, the client terminal port information 633 is fixed to “5070”.
  • step S47 shows client terminal information 72 in the fourth frame.
  • the client terminal information 72 is not updated.
  • Step S8 Process Flow from Step S8 to Step S11
  • the user of the client terminal 21 inputs “client-2@relay-server-2.abc.net” as identification information of the client terminal 21, “Client-2” is input as the password of the client terminal 21.
  • the user of the client terminal 21 logs on to the relay server 23 (step S8: REGISTER (ID, PASS)).
  • the control unit 232 performs authentication of the user of the client terminal 21 by referring to the client terminal information 72.
  • the control unit 232 receives the logon of the user of the client terminal 21.
  • the control unit 232 updates the relay server information 53 to create the relay server information 54 and stores it in the relay server information storage unit 235.
  • the control unit 232 updates the client terminal information 72 to create client terminal information 74 and stores it in the client terminal information storage unit 236.
  • the control unit 232 does not update the relay group information 42.
  • the client terminal 21 requests the relay server 23 to provide relay group information and relay server information (step S9: get ()).
  • the relay server 23 transmits a copy of the relay group information 42 and the relay server information 54 to the client terminal 21.
  • the client terminal 21 stores relay group information 42 and relay server information 54.
  • the control unit 232 refers to the relay group information 42 and the relay server information 54 to determine a relay server to be notified that the relay server information 53 has been updated to the relay server information 54.
  • the control unit 232 determines the relay server 12 whose relay server activation information 543-1 of the relay server information 54 is “active” as a relay server to be notified.
  • the relay server 23 notifies the relay server 12 that the relay server information 53 has been updated to the relay server information 54 (step 10: NOTIFY ()).
  • the control unit 122 creates the relay server information 54 by updating the relay server information 53 and stores it in the relay server information storage unit 125.
  • the control unit 122 refers to the client terminal information 63 to determine a client terminal to be notified that the relay server information 53 has been updated to the relay server information 54.
  • the control unit 122 determines the client terminal 11 in which the client terminal address information 631 in the client terminal information 63 is determined and the client terminal port information 633 in the client terminal information 63 is determined as a client terminal to be notified.
  • the relay server 12 notifies the client terminal 11 that the relay server information 53 has been updated to the relay server information 54 (step 11: NOTIFY ()).
  • the client terminal 11 creates the relay server information 54 by updating the relay server information 53 and stores the relay server information 54.
  • the relay server 12 holds the relay group information 42, the relay server information 54, and the client terminal information 63.
  • the relay server 23 has relay group information 42, relay server information 54, and client terminal information 74.
  • the client terminal 11 has relay group information 42 and relay server information 54.
  • the client terminal 21 has relay group information 42 and relay server information 54.
  • the relay group information 42 and the relay server information 54 are shared by the relay servers 12 and 23 and the client terminals 11 and 21.
  • step S8 to step S11 shows the relay group information 42 in the first frame.
  • the relay group information 42 is not updated because a new relay server does not participate in the relay communication system.
  • the relay server information 54 in the second frame shows the relay server information 54 in the second frame.
  • the updated part is indicated by the underlined part.
  • the user of the client terminal 21 is logged on to the relay server 23. Therefore, the client terminal site information 544-2 of the lower information 542-2 is fixed to “relay-server-2@abc.net”.
  • step S8 shows client terminal information 63 in the third frame.
  • the client terminal information 63 is not updated.
  • the client terminal address information 741 is fixed at “192.168.1.10”.
  • the client terminal expiration date information 742 is fixed to “1213935978484”.
  • the client terminal port information 743 is fixed to “5070”.
  • FIG. 49 is a diagram showing a flow of processing in which relay group information and relay server information are shared.
  • the second setting is executed. That is, the relay servers 12 and 23 continue to participate in the relay communication system.
  • the user of the client terminal 11 continues to log on to the relay server 12. Further, the user of the client terminal 22 logs on to the relay server 23, and the user of the client terminal 21 logs off from the relay server 23.
  • Step S24-A CreateAccount ()
  • the control unit 232 creates the relay server information 55 by updating the relay server information 54.
  • the control unit 232 creates client terminal information 75 by updating the client terminal information 74.
  • the control unit 232 does not update the relay group information 42.
  • Step S24-B is substantially the same as steps S7 and S10.
  • the control unit 232 refers to the relay group information 42 and the relay server information 55.
  • the control unit 232 determines to notify the relay server 12 that the relay server information 54 has been updated to the relay server information 55.
  • the relay server 23 notifies the relay server 12 that the relay server information 54 has been updated to the relay server information 55 (step S24-B: NOTIFY ()).
  • Step S24-C is substantially the same as step S11.
  • the control unit 232 refers to the client terminal information 75.
  • the control unit 232 determines to notify the client terminal 21 that the relay server information 54 has been updated to the relay server information 55.
  • the relay server 23 notifies the client terminal 21 that the relay server information 54 has been updated to the relay server information 55 (step S24-C: NOTIFY ()).
  • Step S25 is substantially the same as step S11.
  • the control unit 122 refers to the client terminal information 63.
  • the control unit 122 determines to notify the client terminal 11 that the relay server information 54 has been updated to the relay server information 55.
  • the relay server 12 notifies the client terminal 11 that the relay server information 54 has been updated to the relay server information 55 (step S25: NOTIFY ()).
  • step S50 shows the relay group information 42 in the first frame.
  • client terminal information 63 is shown in the first frame of FIG. 50.
  • the relay group information 42 and the client terminal information 63 are not updated.
  • the 50 shows the relay server information 55 in the second frame.
  • the updated part is indicated by the underlined part.
  • the administrator of the relay server 23 has created an account for the user of the client terminal 22. Therefore, lower information 552-3 is created for the client terminal 22.
  • the user of the client terminal 22 is not logged on to the relay server 23. Therefore, for the client terminal 22, the client terminal site information 554-3 is blank.
  • client terminal information 75 shows the client terminal information 75 in the second frame.
  • the updated part is indicated by the underlined part.
  • the administrator of the relay server 23 has created an account for the user of the client terminal 22. Therefore, client terminal information 75 is created for the client terminal 22.
  • the user of the client terminal 22 is not logged on to the relay server 23. Therefore, for the client terminal 22, the client terminal address information 751 and the client terminal port information 753 are blank, and the client terminal expiration date information 752 is set to “0”.
  • Step S26 Process Flow from Step S26 to Step S29
  • the user of the client terminal 22 logs on to the relay server 23 (step S26: REGISTER (ID, PASS)).
  • the control unit 232 creates the relay server information 56 by updating the relay server information 55.
  • the control unit 232 creates client terminal information 76 by updating the client terminal information 75.
  • the control unit 232 does not update the relay group information 42.
  • the client terminal 22 requests the relay server 23 to provide relay group information and relay server information (step S27: get ()).
  • the relay server 23 transmits a copy of the relay group information 42 and the relay server information 56 to the client terminal 22.
  • Step S28-A is substantially the same as step S11.
  • the control unit 232 refers to the client terminal information 76.
  • the control unit 232 determines to notify the client terminal 21 that the relay server information 55 has been updated to the relay server information 56.
  • the relay server 23 notifies the client terminal 21 that the relay server information 55 has been updated to the relay server information 56 (step S28-A: NOTIFY ()).
  • Step S28-B is almost the same as steps S7 and S10.
  • the control unit 232 refers to the relay group information 42 and the relay server information 56.
  • the control unit 232 determines to notify the relay server 12 that the relay server information 55 has been updated to the relay server information 56.
  • the relay server 23 notifies the relay server 12 that the relay server information 55 has been updated to the relay server information 56 (step S28-B: NOTIFY ()).
  • Step S29 is substantially the same as step S11.
  • the control unit 122 refers to the client terminal information 63.
  • the control unit 122 determines to notify the client terminal 11 that the relay server information 55 has been updated to the relay server information 56.
  • the relay server 12 notifies the client terminal 11 that the relay server information 55 has been updated to the relay server information 56 (step S29: NOTIFY ()).
  • step S26 shows the relay group information 42 in the first frame.
  • client terminal information 63 is shown in the first frame of FIG. 53.
  • the relay group information 42 and the client terminal information 63 are not updated.
  • the 52 shows the relay server information 56 in the second frame.
  • the updated part is indicated by the underlined part.
  • the user of the client terminal 22 is logged on to the relay server 23. Therefore, the client terminal site information 564-3 of the lower information 562-3 is confirmed for the client terminal 22.
  • client terminal information 76 in the second frame shows client terminal information 76 in the second frame.
  • the updated part is indicated by the underlined part.
  • the user of the client terminal 22 is logged on to the relay server 23. Therefore, for the client terminal 22, the client terminal address information 761 and the client terminal port information 763 are confirmed, and the client terminal expiration date information 762 is set to information other than “0”.
  • Step S30 deREGISTER (ID)
  • the control unit 232 creates the relay server information 57 by updating the relay server information 56.
  • the control unit 232 creates the client terminal information 77 by updating the client terminal information 76.
  • the control unit 232 does not update the relay group information 42.
  • Step S31-A is almost the same as step S11.
  • the control unit 232 refers to the client terminal information 77.
  • the control unit 232 determines to notify the client terminal 22 that the relay server information 56 has been updated to the relay server information 57.
  • the relay server 23 notifies the client terminal 22 that the relay server information 56 has been updated to the relay server information 57 (step S31-A: NOTIFY ()).
  • Step S31-B is substantially the same as steps S7 and S10.
  • the control unit 232 refers to the relay group information 42 and the relay server information 57.
  • the control unit 232 determines to notify the relay server 12 that the relay server information 56 has been updated to the relay server information 57.
  • the relay server 23 notifies the relay server 12 that the relay server information 56 has been updated to the relay server information 57 (step S31-B: NOTIFY ()).
  • Step S32 is substantially the same as Step S11.
  • the control unit 122 refers to the client terminal information 63.
  • the control unit 122 determines to notify the client terminal 11 that the relay server information 56 has been updated to the relay server information 57.
  • the relay server 12 notifies the client terminal 11 that the relay server information 56 has been updated to the relay server information 57 (step S32: NOTIFY ()).
  • step S34 shows the relay group information 42 in the first frame.
  • the first frame in FIG. 55 shows client terminal information 63.
  • the relay group information 42 and the client terminal information 63 are not updated.
  • the relay server information 57 in the second frame shows the relay server information 57 in the second frame.
  • the updated part is indicated by the underlined part.
  • the user of the client terminal 21 is logged off from the relay server 23. Therefore, for the client terminal 21, the client terminal site information 574-2 of the lower information 572-2 is blank.
  • client terminal information 77 in the second frame.
  • the updated part is indicated by the underlined part.
  • the user of the client terminal 21 is logged off from the relay server 23. Therefore, for the client terminal 21, the client terminal address information 771 and the client terminal port information 773 are blank, and the client terminal expiration date information 772 is set to “0”.
  • the one relay server immediately notifies the other relay servers described in the relay group information and the relay server information that the relay group information and the relay server information are updated. Further, the one relay server immediately notifies the client terminal described in the client terminal information that the relay group information and the relay server information are updated.
  • one relay server determines that another relay server is not connected even if the other relay server is described in the relay group information and relay server information, it immediately notifies the other relay server. None do. Furthermore, even if the client terminal is described in the client terminal information, the one relay server does not immediately notify the client terminal when it is determined that the client terminal is not connected.
  • FIG. 56 to FIG. 58 are diagrams showing a flow of data transmission / reception after the first information sharing.
  • the relay group information 42, the relay server information 54, and the client terminal information 63 and 74 shown in FIG. 48 are stored.
  • the user of the client terminal 11 is logged on to the relay server 12.
  • the user of the client terminal 21 is logged on to the relay server 23.
  • the user of the client terminal 22 has not created an account by the administrator of the relay server 23.
  • FIG. 56 shows a process flow for transmitting and receiving data in units of blocks.
  • the user of the client terminal 11 confirms the relay group to which the client terminal 11 belongs. Specifically, the user of the client terminal 11 displays the relay group information 42 on the display screen of the client terminal 11 (getGroup ()). In the relay group information 42, identification information “relay-server-1@abc.net” and “relay-server-2@abc.net” of the relay servers 12 and 23 are set. The user of the client terminal 11 confirms that the client terminal 11 belongs to the relay group configured by the relay servers 12 and 23.
  • the user of the client terminal 11 displays the relay server information 54 corresponding to the relay group information 42 on the display screen of the client terminal 11 (getServer ()).
  • the user of the client terminal 11 refers to the relay server information 54 and confirms the relay server that configures the relay group and the client terminal that is positioned below the relay server.
  • the user of the client terminal 11 refers to the relay server information 54 and confirms that data transmission / reception with the relay server 23 is possible.
  • the user of the client terminal 11 confirms that the relay server activation information 543-1 of the relay server information 54 is set to “active” for the relay server 12. That is, it is confirmed that the relay server 12 is activated.
  • the user of the client terminal 11 confirms that the relay server activation information 543-2 of the relay server information 54 is set to “active” for the relay server 23. That is, it is confirmed that the relay server 23 is activated.
  • the user of the client terminal 11 confirms that data can be transmitted to the relay server 23 via the relay server 12.
  • the user of the client terminal 11 determines to transmit block unit data to the relay server 23.
  • the client terminal 11 transmits block unit data destined for the relay server 23 (step S12: data (from: client-1). , To: relay-server-2)).
  • the relay server 12 receives data in block units from the client terminal 11 in the dialog (1).
  • the relay server 12 transmits data in block units to the relay server 23 (step S13: data (from: client-1). , To: relay-server-2)).
  • the relay server 23 receives block unit data from the relay server 12 in the dialog (2).
  • the relay server 23 transmits a response indicating that the block unit data has been received to the relay server 12 (step S14: response (from: relay-server-2, to: client). -1)).
  • the relay server 12 receives a response indicating that block-unit data has been received from the relay server 23 in the dialog (2).
  • the relay server 12 transmits a response indicating that block-unit data has been received to the client terminal 11 (step S15: response (from: relay-server-2, to: client). -1)).
  • the client terminal 11 receives a response indicating that block unit data has been received from the relay server 12 in the dialog (1).
  • Dialog (1) is communication between the client terminal 11 and the relay server 12.
  • the dialog (2) is communication between the relay server 12 and the relay server 23.
  • the relay server 12 correlates dialog (1) and dialog (2) in different sections adjacent to each other.
  • FIG. 57 shows a process flow for establishing a connection before continuously transmitting and receiving data.
  • the user of the client terminal 11 confirms the relay group to which the client terminal 11 belongs. Specifically, the user of the client terminal 11 displays the relay group information 42 on the display screen of the client terminal 11 (getGroup ()). In the relay group information 42, identification information “relay-server-1@abc.net” and “relay-server-2@abc.net” of the relay servers 12 and 23 are set. The user of the client terminal 11 confirms that the client terminal 11 belongs to the relay group configured by the relay servers 12 and 23.
  • the user of the client terminal 11 displays the relay server information 54 corresponding to the relay group information 42 on the display screen of the client terminal 11 (getServer ()).
  • the user of the client terminal 11 refers to the relay server information 54 and confirms the relay server that configures the relay group and the client terminal that is positioned below the relay server.
  • the user of the client terminal 11 refers to the relay server information 54 and confirms that data transmission / reception with the client terminal 21 is possible.
  • the user of the client terminal 11 confirms that the relay servers 12 and 23 are activated, similarly to the processing flow from step S12 to step S15.
  • the user of the client terminal 11 confirms that the client terminal site information 544-2 of the relay server information 54 is set to “relay-server-2@abc.net” for the client terminal 21. That is, it is confirmed that the client terminal 21 is logged on to the relay server 23.
  • the user of the client terminal 11 confirms that data can be transmitted to the client terminal 21 via the relay servers 12 and 23.
  • the user of the client terminal 11 determines to continuously transmit data to the client terminal 21.
  • the client terminal 11 transmits connection establishment request information to the relay server 12 (step S16: open (client-2, client-1)).
  • the relay server 12 transmits connection establishment request information to the relay server 23 (step S16.1: open (client-2, client-1)).
  • the relay server 23 transmits connection establishment request information using the client terminal information 74 to the client terminal 21 (step S16.1.1: open (client-2, client-1). )).
  • the connection establishment request information is transmitted to the client terminal 21 based on the client terminal address information 741 “192.168.1.10” and the client terminal port information 743 “5070” corresponding to the client terminal 21. .
  • the client terminal 21 transmits connection establishment permission information to the relay server 23 in stream (3) (ack for step S16.1.1).
  • the relay server 12 transmits connection establishment permission information to the client terminal 11 in stream (1) (ack for step S16).
  • connection (1) The client terminal 11 establishes a connection (connection (1)) between the client terminal 11 and the relay server 12 with respect to the relay server 12 (step S17: connection (1)).
  • the relay server 12 establishes a connection (connection (2)) between the relay server 12 and the relay server 23 to the relay server 23 (step S18: connection (2)).
  • connection (2) a connection between the relay server 12 and the relay server 23 to the relay server 23
  • connection (2) a connection between the relay server 12 and the relay server 23 to the relay server 23
  • the relay server 23 establishes a connection (connection (3)) between the relay server 23 and the client terminal 21 using the client terminal information 74 with respect to the client terminal 21 (step S19: connection (3)).
  • the relay server 23 associates connection (2) and connection (3).
  • the client terminal 11 and the client terminal 21 can transmit and receive data continuously in both directions.
  • connection (1) connection (1): send ()
  • connection (1): recv ( ) connection (2): send ()
  • connection (3): recv () connection (3): send ()
  • connection (3) connection (3): send ()
  • connection (3): recv () connection (3): recv ()
  • the client terminal 11 receives data in connection (1) (connection (1): recv ()).
  • FIG. 58 shows a process flow for disconnecting a connection after continuously transmitting and receiving data.
  • the client terminal 11 transmits connection establishment request information to the client terminal 21.
  • the client terminal 21 transmits connection disconnection request information to the client terminal 11.
  • the client terminal 21 transmits connection disconnection request information to the relay server 23 in stream (3) (step S20: close ()).
  • the relay server 23 transmits connection disconnection request information to the relay server 12 in stream (2) (step S20.1: close ()).
  • the relay server 12 transmits connection disconnection request information to the client terminal 11 (step S20.1.1: close ()).
  • the client terminal 21 disconnects connection (3) to the relay server 23 (step S21: disconnect (3)).
  • the relay server 23 disconnects connection (2) from the relay server 12 (step S22: disconnect (2)).
  • the relay server 12 disconnects connection (1) from the client terminal 11 (step S23: disconnect (1)).
  • FIG. 59 to FIG. 61 are diagrams showing the flow of data transmission / reception after the second information sharing.
  • the relay group information 42, the relay server information 57, and the client terminal information 63 and 77 shown in FIGS. 54 and 55 are stored.
  • the user of the client terminal 11 is logged on to the relay server 12.
  • the user of the client terminal 21 has logged off from the relay server 23.
  • the user of the client terminal 22 is logged on to the relay server 23.
  • FIG. 59 shows a process flow for transmitting and receiving data in units of blocks.
  • the administrator of the relay server 23 displays the relay group information 42 and the relay server information 57 on the display screen of the relay server 23 (getGroup (), getServer (), getClient ()).
  • the administrator of the relay server 23 confirms the relay group to which the relay server 23 belongs. Specifically, the administrator of the relay server 23 displays the relay group information 42 on the display screen of the relay server 23 (getGroup ()). In the relay group information 42, identification information “relay-server-1@abc.net” and “relay-server-2@abc.net” of the relay servers 12 and 23 are set. The administrator of the relay server 23 confirms that the relay server 23 belongs to the relay group configured by the relay servers 12 and 23.
  • the administrator of the relay server 23 displays the relay server information 57 corresponding to the relay group information 42 on the display screen of the relay server 23 (getServer ()).
  • the administrator of the relay server 23 refers to the relay server information 57 to confirm the relay servers that constitute the relay group and the client terminals that are positioned below the relay server.
  • the administrator of the relay server 23 refers to the relay server information 57 and confirms that data transmission / reception with the client terminal 11 is possible.
  • the administrator of the relay server 23 confirms that the relay server activation information 573-1 of the relay server information 57 is set to “active” for the relay server 12. That is, it is confirmed that the relay server 12 is activated.
  • the administrator of the relay server 23 confirms that the client terminal site information 574-1 of the relay server information 57 is set to “relay-server-1@abc.net” for the client terminal 11. That is, it is confirmed that the client terminal 11 is logged on to the relay server 12.
  • the administrator of the relay server 23 confirms that data can be transmitted to the client terminal 11 via the relay server 12.
  • the administrator of the relay server 23 determines to transmit block unit data to the client terminal 11.
  • Steps S33, S34, S35, and S36 are substantially the same as steps S12, S13, S14, and S15, respectively.
  • the client terminal and relay server check the increase / decrease status and connection status of other client terminals and relay servers by referring to the relay group information and relay server information, and then block other client terminals and relay servers. Unit data can be transmitted.
  • FIG. 60 shows a process flow for establishing a connection before continuously transmitting and receiving data.
  • FIG. 61 shows the flow of processing for disconnecting a connection after continuously transmitting and receiving data.
  • the user of the client terminal 11 confirms the relay group to which the client terminal 11 belongs. Specifically, the user of the client terminal 11 displays the relay group information 42 on the display screen of the client terminal 11 (getGroup ()). In the relay group information 42, identification information “relay-server-1@abc.net” and “relay-server-2@abc.net” of the relay servers 12 and 23 are set. The user of the client terminal 11 confirms that the client terminal 11 belongs to the relay group configured by the relay servers 12 and 23.
  • the user of the client terminal 11 displays the relay server information 57 corresponding to the relay group information 42 on the display screen of the client terminal 11 (getServer ()).
  • the user of the client terminal 11 refers to the relay server information 57 and confirms the relay server that configures the relay group and the client terminal that is positioned below the relay server.
  • the user of the client terminal 11 refers to the relay server information 57 and confirms that communication with the client terminal 22 is possible.
  • the user of the client terminal 11 confirms that the relay servers 12 and 23 are activated, similarly to the processing flow from step S12 to step S15.
  • the user of the client terminal 11 confirms that the client terminal site information 574-2 of the relay server information 57 is blank for the client terminal 21. That is, it is confirmed that the client terminal 21 is not logged on to the relay server 23.
  • the user of the client terminal 11 confirms that the client terminal site information 574-3 of the relay server information 57 is set to “relay-server-2@abc.net” for the client terminal 22. That is, it is confirmed that the client terminal 22 is logged on to the relay server 23.
  • the user of the client terminal 11 cannot transmit data to the client terminal 21 via the relay servers 12 and 23, but confirms that data can be transmitted to the client terminal 22.
  • the user of the client terminal 11 determines to continuously transmit data to the client terminal 22.
  • Steps S37, S38, S39, and S40 are substantially the same as steps S16, S17, S18, and S19, respectively.
  • Steps S41, S42, S43, and S44 are substantially the same as steps S20, S21, S22, and S23, respectively.
  • the client terminal and relay server check the increase / decrease status and connection status of other client terminals and relay servers by referring to the relay group information and relay server information, and Can send and receive data continuously in both directions.
  • the present invention can be widely applied to a relay server and a relay communication system that allow a client terminal connected to a remote LAN (Local Area Network) to communicate over a WAN (Wide Area Network).
  • a remote LAN Local Area Network
  • WAN Wide Area Network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

 遠隔のLANがWANを超えて通信する中継通信システムにおいて、各装置が中継通信システムの仮想ネットワーク環境をリアルタイムに確認する手段を提供する。中継サーバ12、22は、クライアント端末11およびクライアント端末21の相互間の通信を中継する。中継サーバ12(22)は、以下に示す情報を作成して、中継通信システム全体に共有させる:中継サーバ12、22の仮想プライベートIPアドレスおよびコネクション確立状態を示す中継グループ情報、中継サーバ12(22)と通信可能であるクライアント端末11(21)の仮想プライベートIPアドレスおよびコネクション確立状態を示す中継サーバ情報。中継通信システム内の各装置は、全装置の仮想プライベートIPアドレスおよびコネクション確立状態についての情報を共有できて、仮想プライベートIPアドレスが通信先として指定された通信を柔軟に実行できる。

Description

中継サーバおよび中継通信システム
 本発明は、遠隔のLAN(Local Area Network)に接続されるクライアント端末が、WAN(Wide Area Network)を超えて通信することを可能にする中継サーバおよび中継通信システムに関する。
 遠隔のLANに接続されるクライアント端末が、WANを超えて通信することがある。VPN(Virtual Private Network)は、遠隔のLANが直接に接続されているかのようなネットワークを構築できる。しかし、VPNは、拡張性および柔軟性のあるネットワークを構築することが困難である。
 特許文献1が開示する中継通信システムは、VPNと同様に、遠隔のLANが直接に接続されているかのようなネットワークを構築できる。そして、中継通信システムは、VPNと異なり、拡張性および柔軟性のあるネットワークを構築することが容易である。
 中継通信システムは、WAN、複数のLANを備える。各LANは、中継サーバを備える。各中継サーバは、中継通信システムが備える中継サーバについての中継グループ情報、中継通信システムが共有するリソースについての共有リソース情報を格納する。
 一のLANに接続されるクライアント端末が、他のLANに接続されるクライアント端末が格納するリソースを操作するときには、これらのLANに接続される中継サーバは、中継グループ情報および共有リソース情報に基づいて、リソースの操作を中継する。
 中継通信システムが備えるLANが増減することがある。中継通信システムが共有するリソースが更新されることがある。しかし、中継通信システムは、これらの変化に対応して、中継グループ情報および共有リソース情報を更新できる。そして、中継通信システムは、これらの変化に対応して、拡張性および柔軟性のあるネットワークを構築できる。
特開2008-129991号公報
 特許文献1が開示する中継通信システムにおいて、LANおよびクライアント端末の増減状態および接続状態が変化することがある。しかし、クライアント端末および中継サーバが通信先を指定するにあたり、装置の増減状態および接続状態をリアルタイムに確認する具体的な手段は開示されていない。さらに、装置の増減状態および接続状態が変化するとしても、クライアント端末および中継サーバが仮想IP(Internet Protocol)アドレスを動的に割り付けられる具体的な手段は開示されていない。
 そこで、本発明は前記問題点に鑑み、遠隔のLANに接続されるクライアント端末がWANを超えて通信することを可能にする中継通信システムにおいて、クライアント端末および中継サーバが通信先を指定するにあたり、装置の増減状態および接続状態をリアルタイムに確認する具体的な手段を提供することを目的とする。さらに、装置の増減状態および接続状態が変化するとしても、クライアント端末および中継サーバが仮想IPアドレスを動的に割り付けられる具体的な手段を提供することを目的とする。
 特許文献1が開示する中継通信システムにおいて、LANおよびクライアント端末の増減状態および接続状態が変化することがある。しかし、クライアント端末および中継サーバが通信先を指定するにあたり、装置の増減状態および接続状態をリアルタイムに確認する具体的な手段は開示されていない。さらに、クライアント端末および中継サーバに格納されたアプリケーションの起動状態が変化することがある。しかし、クライアント端末および中継サーバが通信先を指定するにあたり、装置に格納されたアプリケーションの起動状態をリアルタイムに確認する具体的な手段は開示されていない。
 そこで、本発明は前記問題点に鑑み、遠隔のLANに接続されるクライアント端末がWANを超えて通信することを可能にする中継通信システムにおいて、クライアント端末および中継サーバが通信先を指定するにあたり、装置の増減状態および接続状態をリアルタイムに確認する具体的な手段を提供することを目的とする。さらに、クライアント端末および中継サーバが通信先を指定するにあたり、装置に格納されたアプリケーションの起動状態をリアルタイムに確認する具体的な手段を提供することを目的とする。
 上記課題を解決するため、請求項1記載に係る中継通信システムは、第1ネットワークと、第2ネットワークと、第1ネットワークに接続される第1中継サーバと、第2ネットワークに接続される第2中継サーバと、を備えている。第1中継サーバと第2中継サーバとは、第1中継サーバと第2中継サーバとが構成する中継グループと、中継グループで利用する仮想ネットワークアドレスと、を示す中継グループ情報を作成する中継グループ情報作成部、を含んでいる。第1中継サーバは、第1中継サーバ情報を作成する第1中継サーバ情報作成部、を含んでいる。第1中継サーバ情報は、第1中継サーバの起動状態を示す第1中継サーバ起動情報と、第1中継サーバと第1ネットワークに接続される第1クライアント端末との間の接続状態を含め第1中継サーバに登録されている第1クライアント端末に関する第1クライアント端末登録情報と、を含んでいる。第2中継サーバは、第2中継サーバ情報を作成する第2中継サーバ情報作成部、を含んでいる。第2中継サーバ情報は、第2中継サーバの起動状態を示す第2中継サーバ起動情報と、第2中継サーバと第2ネットワークに接続される第2クライアント端末との間の接続状態を含め第2中継サーバに登録されている第2クライアント端末に関する第2クライアント端末登録情報と、を含んでいる。第1中継サーバと第2中継サーバとは、中継サーバ間共有部と、仮想アドレス管理部と、を含んでいる。中継サーバ間共有部は、第1中継サーバ情報と第2中継サーバ情報と、を含む中継サーバ情報と、中継グループ情報とを、第1中継サーバと第2中継サーバとの間で共有する。仮想アドレス管理部は、所定のタイミングで第1クライアント端末および第2クライアント端末に中継グループ内でユニークとなるよう管理された仮想ネットワークアドレスを動的に付与するとともに、付与した仮想ネットワークアドレスの情報を中継サーバ情報に登録する。第1中継サーバは、中継グループ情報と中継サーバ情報とを第1中継サーバと第1クライアント端末との間で共有する第1クライアント端末間共有部、を含んでいる。第2中継サーバは、中継グループ情報と中継サーバ情報とを第2中継サーバと第2クライアント端末との間で共有する第2クライアント端末間共有部、を含んでいる。
 請求項2記載の中継通信システムでは、請求項1において、中継グループ情報は、第1中継サーバと第2中継サーバがコネクションを確立しているかどうかについての中継サーバコネクション確立情報、を含んでいる。第1中継サーバ情報は、第1クライアント端末が第1中継サーバとコネクションを確立しているかどうかについての第1クライアント端末コネクション確立情報、を含んでいる。第2中継サーバ情報は、第2クライアント端末が第2中継サーバとコネクションを確立しているかどうかについての第2クライアント端末コネクション確立情報、を含んでいる。
 請求項3記載の中継通信システムでは、請求項1または請求項2において、第1中継サーバは、中継グループ情報と中継サーバ情報とに基づいて選択された第2ネットワークの仮想ネットワークアドレスが通信先として指定された、第1中継サーバが中継する通信を、中継グループ情報と中継サーバ情報とに基づいて実行する通信実行部、を含んでいる。
 請求項4記載の中継通信システムでは、請求項1ないし請求項3のいずれかにおいて、第1中継サーバと第1クライアント端末とは、中継グループ情報と中継サーバ情報とに基づいて、現在の中継グループ内のコネクションの確立状況と仮想アドレスとを視覚的に表すマップを表示するマップ表示部、を含んでいる。
 請求項5記載の発明に係る中継サーバは、第1ネットワークに接続される第1中継サーバと通信可能であり、第2ネットワークに接続される第2中継サーバとして機能する中継サーバである。中継サーバは、中継グループ情報作成部と、中継サーバ間共有部と、クライアント端末間共有部とを備えている。中継グループ情報作成部は、第1中継サーバと第2中継サーバとが中継グループを構成することを示す中継グループ情報を作成する。中継サーバ間共有部は、中継サーバ情報と、中継グループ情報とを、第1中継サーバと第2中継サーバとの間で共有する。中継サーバ情報は、第1中継サーバ情報と、第2中継サーバ情報とを含んでいる。第1中継サーバ情報は、第1中継サーバの起動状態を示す第1中継サーバ起動情報と、第1中継サーバと第1ネットワークに接続される第1クライアント端末との間の接続状態を含め第1中継サーバに登録されている第1クライアント端末に関する第1クライアント端末登録情報と、第1中継サーバあるいは第1クライアント端末に格納されている第1アプリケーションの起動状態を示す第1アプリケーション起動情報と、を含み、第1中継サーバが作成する。第2中継サーバ情報は、第2中継サーバの起動状態を示す第2中継サーバ起動情報と、第2中継サーバと第2ネットワークに接続される第2クライアント端末との間の接続状態を含め第2中継サーバに登録されている第2クライアント端末に関する第2クライアント端末登録情報と、第2中継サーバあるいは第2クライアント端末に格納されている第2アプリケーションの起動状態を示す第2アプリケーション起動情報と、を含み、第2中継サーバが作成する。クライアント端末間共有部は、中継グループ情報と中継サーバ情報とを第2中継サーバと第2クライアント端末との間で共有する。
 請求項6記載の中継サーバは、請求項5において、さらに、中継グループ情報と中継サーバ情報とに基づいて選択された第1アプリケーションに対する、第2中継サーバが中継する通信を実行する通信実行部、を備えている。
 請求項7記載の中継サーバは、請求項5または請求項6において、さらに、第1アプリケーションおよび第2アプリケーションのそれぞれの起動状態の変化に応じて第1アプリケーション起動情報および第2アプリケーション起動情報を更新することにより、中継サーバ情報を更新する起動情報更新部、を備えている。中継サーバ間共有部は、更新された中継サーバ情報を第1中継サーバと第2中継サーバとの間で共有する。
 請求項8記載の発明に係る中継通信システムは、第1ネットワークと、第2ネットワークと、第1ネットワークに接続される第1中継サーバと、第2ネットワークに接続される第2中継サーバと、を備える。第1中継サーバと第2中継サーバとは、第1中継サーバと第2中継サーバとが中継グループを構成することを示す中継グループ情報を作成する中継グループ情報作成部、を含んでいる。第1中継サーバは、第1中継サーバ情報を作成する第1中継サーバ情報作成部、を含んでいる。第1中継サーバ情報は、第1中継サーバの起動状態を示す第1中継サーバ起動情報と、第1中継サーバと第1ネットワークに接続される第1クライアント端末との間の接続状態を含め第1中継サーバに登録されている第1クライアント端末に関する第1クライアント端末登録情報と、第1中継サーバあるいは第1クライアント端末に格納されている第1アプリケーションの起動情報と、を含んでいる。第2中継サーバは、第2中継サーバ情報を作成する第2中継サーバ情報作成部、を含んでいる。第2中継サーバ情報は、第2中継サーバの起動状態を示す第2中継サーバ起動情報と、第2中継サーバと第2ネットワークに接続される第2クライアント端末との間の接続状態を含め第2中継サーバに登録されている第2クライアント端末に関する第2クライアント端末登録情報と、第2中継サーバあるいは第2クライアント端末に格納されている第2アプリケーションの起動情報と、を含んでいる。第1中継サーバと第2中継サーバとは、第1中継サーバ情報と第2中継サーバ情報と、を含む中継サーバ情報と、中継グループ情報とを、第1中継サーバと第2中継サーバとの間で共有する中継サーバ間共有部、を含んでいる。第1中継サーバは、中継グループ情報と中継サーバ情報とを第1中継サーバと第1クライアント端末間において共有する第1クライアント端末間共有部、を含んでいる。第2中継サーバは、中継グループ情報と中継サーバ情報とを第2中継サーバと第2クライアント端末間において共有する第2クライアント端末間共有部、を含んでいる。
 請求項9記載の中継通信システムでは、請求項8において、第1中継サーバは、中継グループ情報と中継サーバ情報とに基づいて選択された第2アプリケーションに対する、第1中継サーバが中継する通信を実行する通信実行部、を含んでいる。
 請求項10記載の中継通信システムでは、請求項8または請求項9において、第1中継サーバと第2中継サーバとは、前記第1アプリケーションおよび前記第2アプリケーションのそれぞれの起動状態の変化に応じて前記第1アプリケーション起動情報および前記第2アプリケーション起動情報を更新することにより、中継サーバ情報を更新する起動情報更新部、を含んでいる。中継サーバ間共有部は、更新された中継サーバ情報を前記第1中継サーバと第2中継サーバとの間で共有している。
 第1(第2)中継サーバ情報は、第1(第2)中継サーバ、第1(第2)クライアント端末の通信可否情報を含めることができる。第1(第2)中継サーバ情報は、第1(第2)ネットワークに接続された端末の第1(第2)アプリケーションの通信可否情報を含めることができる。中継通信システム内の各装置は、装置の増減状態および接続状態について情報を共有できる。中継通信システム内の各装置は、アプリケーションの起動状態について情報を共有できる。中継通信システム内の各装置は、装置の増減状態および接続状態、アプリケーションの起動状態に基づいて、データ送受信を実行する相手方であるクライアント端末や中継サーバのアプリケーションを選択できる。
 上記課題を解決するため、請求項11記載の発明に係る中継サーバは、第1ネットワークに接続される第1中継サーバと通信可能であり、第2ネットワークに接続される第2中継サーバとして機能する。中継サーバは、中継グループ情報作成部と、中継サーバ間共有部と、クライアント端末間共有部とを備えている。中継グループ情報作成部は、第1中継サーバと第2中継サーバとが中継グループを構成することを示す中継グループ情報を作成する。中継サーバ間共有部は、中継サーバ情報と、中継グループ情報とを、第1中継サーバと第2中継サーバとの間で共有する。中継サーバ情報は、第1中継サーバ情報と、第2中継サーバ情報とを含んでいる。第1中継サーバ情報は、第1中継サーバの起動状態を示す第1中継サーバ起動情報と、第1中継サーバと第1ネットワークに接続される第1クライアント端末との間の接続状態を含め第1中継サーバに登録されている第1クライアント端末に関する第1クライアント端末登録情報と、を含み、第1中継サーバが作成する。第2中継サーバ情報は、第2中継サーバの起動状態を示す第2中継サーバ起動情報と、第2中継サーバと第2ネットワークに接続される第2クライアント端末との間の接続状態を含め第2中継サーバに登録されている第2クライアント端末に関する第2クライアント端末登録情報と、を含み、第2中継サーバが作成する。クライアント端末間共有部は、中継グループ情報と中継サーバ情報とを第2中継サーバと第2クライアント端末との間で共有する。
 請求項12記載の中継サーバは、請求項11において、さらに、第2中継サーバと第2クライアント端末との間の通信に使用される第2クライアント端末に関する通信設定情報、を含む第2クライアント端末情報を保持するクライアント端末情報保持部、を備えている。
 請求項13記載の中継サーバは、請求項11または請求項12において、さらに、中継サーバ起動情報更新部と、クライアント端末接続状態更新部とを備えている。中継サーバ起動情報更新部は、第1中継サーバおよび第2中継サーバのそれぞれの起動状態の変化に応じて第1中継サーバ起動情報および第2中継サーバ起動情報を更新することにより、中継サーバ情報を更新する。クライアント端末接続状態更新部は、第2中継サーバと第2クライアント端末との間の接続状態の変化に応じて第2クライアント端末登録情報を更新することにより、中継サーバ情報を更新する。中継サーバ間共有部は、更新された中継サーバ情報を第1中継サーバと第2中継サーバとの間で共有する。
 請求項14記載の中継サーバは、請求項11ないし請求項13のいずれかにおいて、さらに、中継グループ情報更新部と、クライアント端末登録状態更新部とを備えている。中継グループ情報更新部は、中継グループの構成の変化に応じて中継グループ情報を更新する。クライアント端末登録状態更新部は、第2中継サーバにおける第2クライアント端末の登録状態の変化に応じて第2クライアント端末登録情報を更新することにより、中継サーバ情報を更新する。中継サーバ間共有部は、更新された中継グループ情報と中継サーバ情報とを第1中継サーバと第2中継サーバとの間で共有する。クライアント端末間共有部は、更新された中継グループ情報と中継サーバ情報とを、第2中継サーバと第2クライアント端末との間で共有する。
 請求項15記載の中継サーバは、請求項11ないし請求項14のいずれかにおいて、さらに、中継グループ情報と中継サーバ情報とに基づいて選択された第1ネットワーク内の通信先に対する、第2中継サーバが関与するデータ通信を実行するデータ通信実行部、を備えている。データ通信は、コネクションを保持せずブロック単位でデータを通信するブロック単位通信と、コネクションを保持して連続的にデータを通信する連続的通信と、を含んでいる。
 請求項16記載の中継通信システムは、第1ネットワークと、第2ネットワークと、第1ネットワークに接続される第1中継サーバと、第2ネットワークに接続される第2中継サーバと、を備えている。第1中継サーバと第2中継サーバとは、第1中継サーバと第2中継サーバとが中継グループを構成することを示す中継グループ情報を作成する中継グループ情報作成部、を含んでいる。第1中継サーバは、第1中継サーバ情報を作成する第1中継サーバ情報作成部、を含んでいる。第1中継サーバ情報は、第1中継サーバの起動状態を示す第1中継サーバ起動情報と、第1中継サーバと第1ネットワークに接続される第1クライアント端末との間の接続状態を含め第1中継サーバに登録されている第1クライアント端末に関する第1クライアント端末登録情報と、を含んでいる。第2中継サーバは、第2中継サーバ情報を作成する第2中継サーバ情報作成部、を含んでいる。第2中継サーバ情報は、第2中継サーバの起動状態を示す第2中継サーバ起動情報と、第2中継サーバと第2ネットワークに接続される第2クライアント端末との間の接続状態を含め第2中継サーバに登録されている第2クライアント端末に関する第2クライアント端末登録情報と、を含んでいる。第1中継サーバと第2中継サーバとは、第1中継サーバ情報と第2中継サーバ情報と、を含む中継サーバ情報と、中継グループ情報とを、第1中継サーバと第2中継サーバとの間で共有する中継サーバ間共有部、を含んでいる。第1中継サーバは、中継グループ情報と中継サーバ情報とを第1中継サーバと第1クライアント端末との間で共有する第1クライアント端末間共有部、を含んでいる。第2中継サーバは、中継グループ情報と中継サーバ情報とを第2中継サーバと第2クライアント端末との間で共有する第2クライアント端末間共有部、を含んでいる。
 請求項17記載の中継通信システムでは、請求項16において、第1中継サーバは、第1クライアント端末情報を保持する第1クライアント端末情報保持部、を含んでいる。第1クライアント端末情報は、第1中継サーバと第1クライアント端末との間の通信に使用される第1クライアント端末に関する通信設定情報、を含んでいる。第2中継サーバは、第2クライアント端末情報を保持する第2クライアント端末情報保持部、を含んでいる。第2クライアント端末情報は、第2中継サーバと第2クライアント端末との間の通信に使用される第2クライアント端末に関する通信設定情報、を含んでいる。
 請求項18記載の中継通信システムでは、請求項16または請求項17において、第1中継サーバと第2中継サーバとは、中継サーバ起動情報更新部と、クライアント端末接続状態更新部とを含んでいる。中継サーバ起動情報更新部は、第1中継サーバおよび第2中継サーバのそれぞれの起動状態の変化に応じて第1中継サーバ起動情報および第2中継サーバ起動情報を更新することにより、中継サーバ情報を更新する。クライアント端末接続状態更新部は、第1中継サーバと第1クライアント端末との間の接続状態の変化に応じて第1クライアント端末登録情報を更新することにより、中継サーバ情報を更新する。中継サーバ間共有部は、更新された中継サーバ情報を第1中継サーバと第2中継サーバとの間で共有する。
 請求項19記載の中継通信システムでは、請求項16ないし請求項18のいずれかにおいて、中継グループは、第1中継サーバと第2中継サーバと、を含む複数の中継サーバにより構成されている。中継サーバ情報は、第1中継サーバ情報と第2中継サーバ情報と、を含め各中継サーバが作成する複数の個別中継サーバ情報、を含んでいる。第1中継サーバと第2中継サーバとは、中継グループ情報更新部と、個別中継サーバ情報更新部と、クライアント端末登録状態更新部とを含んでいる。中継グループ情報更新部は、中継グループの構成の変化に応じて中継グループ情報を更新する。個別中継サーバ情報更新部は、中継グループの構成の変化に応じて複数の個別中継サーバ情報を更新することにより、中継サーバ情報を更新する。クライアント端末登録状態更新部は、第1中継サーバにおける第1クライアント端末の登録状態の変化に応じて第1クライアント端末登録情報を更新することにより、中継サーバ情報を更新する。中継サーバ間共有部は、更新された中継グループ情報と中継サーバ情報とを、構成が変化した後の中継グループを構成する複数の中継サーバの間で共有する。第1クライアント端末間共有部は、更新された中継グループ情報と中継サーバ情報とを、第1中継サーバと第1クライアント端末との間で共有する。
 請求項20記載の中継通信システムでは、請求項16ないし請求項19のいずれかにおいて、第1中継サーバは、中継グループ情報と中継サーバ情報とに基づいて選択された第2ネットワーク内の通信先に対する、第1中継サーバが関与するデータ通信を実行するデータ通信実行部、を含んでいる。データ通信は、コネクションを保持せずブロック単位でデータを通信するブロック単位通信と、コネクションを保持して連続的にデータを通信する連続的通信と、を含む。
 請求項1から4記載の発明の効果を説明する。
 中継通信システムは、第1ネットワークおよび第2ネットワークを備える。第1ネットワークは、第1中継サーバおよび第1クライアント端末を備える。第2ネットワークは、第2中継サーバおよび第2クライアント端末を備える。第1中継サーバおよび第2中継サーバは、第1クライアント端末および第2クライアント端末の相互間の通信を中継する。
 第1(第2)中継サーバは、中継グループ情報、第1(第2)中継サーバ情報、クライアント端末情報を作成する。中継グループ情報は、第1中継サーバおよび第2中継サーバが構成する中継グループと、第1中継サーバと第2中継サーバに割り付けられる仮想ネットワークアドレスと、第1中継サーバと第2中継サーバがコネクションを確立しているかと、を示す情報である。第1(第2)中継サーバ情報は、第1(第2)中継サーバと通信可能である第1(第2)クライアント端末と、第1(第2)クライアント端末に割り付けられる仮想ネットワークアドレスと、第1(第2)クライアント端末がコネクションを確立しているかと、を示す情報である。クライアント端末情報は、第1(第2)クライアント端末の第1(第2)ネットワークにおける接続環境を示す情報である。
 第1(第2)中継サーバは、中継グループ情報を参照することにより、第1中継サーバ情報および第2中継サーバ情報を、第1中継サーバおよび第2中継サーバの相互間において共有できる。第1(第2)中継サーバは、第1中継サーバ情報および第2中継サーバ情報を合成して、中継サーバ情報を作成できる。第1(第2)中継サーバは、各々のクライアント端末情報を参照することにより、中継グループ情報および中継サーバ情報を、第1(第2)中継サーバおよび第1(第2)クライアント端末の相互間において共有できる。
 中継通信システム内の各装置は、装置の増減状態および接続状態についての情報を、リアルタイムに共有できる。中継通信システム内の各装置は、装置の仮想ネットワークアドレスおよびコネクション確立についての情報を、リアルタイムに共有できる。中継通信システム内の各装置は、中継通信システムの状態変化に対応して、仮想ネットワークアドレスが通信先として指定された通信を柔軟に実行できる。
 請求項5~10記載の発明の効果を説明する。
 中継通信システムは、第1ネットワークおよび第2ネットワークを備える。第1ネットワークは、第1中継サーバおよび第1クライアント端末を備える。第1ネットワークに接続されている端末は、第1アプリケーションを備える。第2ネットワークは、第2中継サーバおよび第2クライアント端末を備える。第2ネットワークに接続されている端末は、第2アプリケーションを備える。第1中継サーバおよび第2中継サーバは、第1アプリケーションおよび第2アプリケーションの相互間の通信を中継する。
 第1(第2)中継サーバは、中継グループ情報、第1(第2)中継サーバ情報、クライアント端末情報を作成する。中継グループ情報は、第1中継サーバおよび第2中継サーバが中継グループを構成することを示す情報である。第1(第2)中継サーバ情報は、第1(第2)中継サーバと通信可能である第1(第2)クライアント端末を示す情報であるとともに、第1(第2)アプリケーションを示す情報である。クライアント端末情報は、第1(第2)クライアント端末の第1(第2)ネットワークにおける接続環境を示す情報である。
 第1(第2)中継サーバは、中継グループ情報を参照することにより、第1中継サーバ情報および第2中継サーバ情報を、第1中継サーバおよび第2中継サーバの相互間において共有できる。第1(第2)中継サーバは、各々のクライアント端末情報を参照することにより、中継グループ情報および中継サーバ情報を、第1(第2)中継サーバおよび第1(第2)クライアント端末の相互間において共有できる。
 請求項11~20記載の発明の効果について説明する。
 中継通信システムは、第1ネットワークおよび第2ネットワークを備える。第1ネットワークは、第1中継サーバおよび第1クライアント端末を備える。第2ネットワークは、第2中継サーバおよび第2クライアント端末を備える。第1中継サーバおよび第2中継サーバは、第1クライアント端末および第2クライアント端末の相互間の通信を中継する。
 第1(第2)中継サーバは、中継グループ情報、第1(第2)中継サーバ情報、第1(第2)クライアント端末情報を作成する。中継グループ情報は、第1中継サーバおよび第2中継サーバが中継グループを構成することを示す情報である。第1(第2)中継サーバ情報は、第1(第2)中継サーバと通信可能である第1(第2)クライアント端末を示す情報である。第1(第2)クライアント端末情報は、第1(第2)クライアント端末の第1(第2)ネットワークにおける接続環境を示す情報を含んでいる。
 第1(第2)中継サーバは、中継グループ情報を参照することにより、第1中継サーバ情報および第2中継サーバ情報を含む中継サーバ情報を、第1中継サーバおよび第2中継サーバの相互間において共有できる。第1(第2)中継サーバは、各々のクライアント端末情報を参照することにより、中継グループ情報および中継サーバ情報を、第1(第2)中継サーバおよび第1(第2)クライアント端末の相互間において共有できる。
 第1(第2)中継サーバ情報は、第1(第2)中継サーバ、第1(第2)クライアント端末の通信可否情報を含めることができる。中継通信システム内の各装置は、装置の増減状態および接続状態についての情報を共有できる。中継通信システム内の各装置は、装置の増減状態および接続状態についての情報に基づいて、ブロック単位のデータ送受信または連続的なデータ送受信を実行する通信先を選択できる。
第1実施形態において、中継通信システムの全体構成を示す図である。 第1実施形態において、中継サーバの構成要素を示す図である。 第1実施形態において、クライアント端末の構成要素を示す図である。 第1実施形態において、中継グループ情報の具体例を示す図である。 第1実施形態において、中継サーバ情報の具体例を示す図である。 第1実施形態において、クライアント端末情報の具体例を示す図である。 第1実施形態において、情報共有の流れを示す図である。 第1実施形態において、情報共有の流れを示す図である。 第1実施形態において、情報共有の流れを示す図である。 第1実施形態において、ステップS2後に格納される情報を示す図である。 第1実施形態において、ステップS2後に表示される中継グループマップを示す図である。 第1実施形態において、ステップS4後に格納される情報を示す図である。 第1実施形態において、ステップS4後に表示される中継グループマップを示す図である。 第1実施形態において、ステップS6後に格納される情報を示す図である。 第1実施形態において、ステップS6後に表示される中継グループマップを示す図である。 第1実施形態において、ステップS9後に格納される情報を示す図である。 第1実施形態において、ステップS9後に表示される中継グループマップを示す図である。 第1実施形態において、ステップS13後に格納される情報を示す図である。 第1実施形態において、ステップS13後に表示される中継グループマップを示す図である。 第1実施形態において、ステップS17後に格納される情報を示す図である。 第1実施形態において、ステップS17後に表示される中継グループマップを示す図である。 第1実施形態において、ステップS21後に格納される情報を示す図である。 第1実施形態において、ステップS21後に表示される中継グループマップを示す図である。 第1実施形態において、データ送受信の流れを示す図である。 第2実施形態において、中継通信システムの全体構成を示す図である。 第2実施形態において、中継サーバの構成要素を示す図である。 第2実施形態において、クライアント端末の構成要素を示す図である。 第2実施形態において、中継グループ情報の具体例を示す図である。 第2実施形態において、中継サーバ情報の具体例を示す図である。 第2実施形態において、クライアント端末情報の具体例を示す図である。 第2実施形態において、情報共有の流れを示す図である。 第2実施形態において、情報共有の流れを示す図である。 第2実施形態において、ステップS2後に格納される情報を示す図である。 第2実施形態において、ステップS4後に格納される情報を示す図である。 第2実施形態において、ステップS10後に格納される情報を示す図である。 第2実施形態において、ステップS14後に格納される情報を示す図である。 第2実施形態において、データ送受信の流れを示す図である。 第2実施形態において、データ送受信の流れを示す図である。 第3実施形態において、中継通信システムの全体構成を示す図である。 第3実施形態において、中継サーバの構成要素を示す図である。 第3実施形態において、中継グループ情報の具体例を示す図である。 第3実施形態において、中継サーバ情報の具体例を示す図である。 第3実施形態において、クライアント端末情報の具体例を示す図である。 第3実施形態において、第1回目の情報共有の流れを示す図である。 第3実施形態において、ステップS2後に格納される情報を示す図である。 第3実施形態において、ステップS4後に格納される情報を示す図である。 第3実施形態において、ステップS7後に格納される情報を示す図である。 第3実施形態において、ステップS11後に格納される情報を示す図である。 第3実施形態において、第2回目の情報共有の流れを示す図である。 第3実施形態において、ステップS25後に格納される情報を示す図である。 第3実施形態において、ステップS25後に格納される情報を示す図である。 第3実施形態において、ステップS29後に格納される情報を示す図である。 第3実施形態において、ステップS29後に格納される情報を示す図である。 第3実施形態において、ステップS32後に格納される情報を示す図である。 第3実施形態において、ステップS32後に格納される情報を示す図である。 第3実施形態において、第1回目の情報共有後におけるデータ送受信の流れを示す図である。 第3実施形態において、第1回目の情報共有後におけるデータ送受信の流れを示す図である。 第3実施形態において、第1回目の情報共有後におけるデータ送受信の流れを示す図である。 第3実施形態において、第2回目の情報共有後におけるデータ送受信の流れを示す図である。 第3実施形態において、第2回目の情報共有後におけるデータ送受信の流れを示す図である。 第3実施形態において、第2回目の情報共有後におけるデータ送受信の流れを示す図である。
1.第1実施形
(1)中継通信システムの全体構成
 以下、図面を参照しつつ、本発明の実施の形態について説明する。図1は、中継通信システムの全体構成を示す図である。中継通信システムは、LAN1、2、WAN3から構成される。LAN1、2は、遠隔に構築される小規模なネットワークである。WAN3は、インターネットなどの大規模なネットワークである。
 LAN1は、クライアント端末11、中継サーバ12から構成される。LAN2は、クライアント端末21、中継サーバ22から構成される。WAN3は、SIP(Session Initiation Protocol)サーバ31から構成される。
 クライアント端末11、21は、パーソナルコンピュータなどである。中継サーバ12、22は、クライアント端末11、21の相互間の通信を中継する。SIPサーバ31は、中継サーバ12、22の相互間の通信を中継する。
 本実施の形態においては、中継サーバ12、22の相互間の通信プロトコルとして、SIPを利用するが、SIP以外のプロトコルを利用してもよい。SIP以外のプロトコルを利用するときには、中継サーバ12、22の相互間の通信が直接に実行されればよい。
(2)中継サーバの構成要素
 図2は、中継サーバ12(22)の構成要素を示す図である。中継サーバ12(22)は、インターフェース部121(221)、制御部122(222)、データベース格納部123(223)、中継グループマップ表示部127(227)、仮想LANドライバ128(228)から構成される。括弧が付されていない符号は、中継サーバ12における符号を示す。括弧が付されている符号は、中継サーバ22における符号を示す。
 インターフェース部121(221)は、プライベートIPアドレスを利用して、LAN1(2)に接続されるクライアント端末11(21)に対して通信を実行する。インターフェース部121(221)は、グローバルIPアドレスを利用して、WAN3に接続されるSIPサーバ31に対して通信を実行する。
 制御部122(222)は、クライアント端末11、21の相互間の通信を中継するための制御を行なう。制御部122(222)は、データベース格納部123(223)に格納される以下の情報を作成または更新する。
 データベース格納部123(223)は、中継グループ情報格納部124(224)、中継サーバ情報格納部125(225)、クライアント端末情報格納部126(226)から構成される。中継グループマップ表示部127(227)は、中継グループ情報および中継サーバ情報を参照することにより、中継グループマップを中継サーバ12(22)において表示する。仮想LANドライバ128(228)は、中継通信システムにおいて仮想的に割り付けられた、中継サーバ12(22)の仮想プライベートIPアドレスを登録する。中継通信システムにおいて、各中継サーバに対して、仮想プライベートIPアドレスが割り付けられる方法については後述する。また、以上の情報および中継グループマップの具体例についても後述する。
(3)クライアント端末の構成要素
 図3は、クライアント端末11(21)の構成要素を示す図である。クライアント端末11(21)は、インターフェース部111(211)、制御部112(212)、ウェブブラウザ113(ウェブサーバ213)、仮想LANドライバ114(214)、データベース格納部115(215)、中継グループマップ表示部118(218)から構成される。括弧が付されていない符号は、クライアント端末11における符号を示す。括弧が付されている符号は、クライアント端末21における符号を示す。
 インターフェース部111(211)は、プライベートIPアドレスを利用して、LAN1(2)に接続される中継サーバ12(22)に対して通信を実行する。
 制御部112(212)は、クライアント端末11(21)および中継サーバ12(22)の相互間の通信を実行するための制御を行なう。
 制御部112(212)は、ウェブブラウザ113(ウェブサーバ213)に処理される情報を入力または出力する。ウェブブラウザ113は、ウェブサーバ213に対して、WAN3を介して、コンテンツを要求する。ウェブサーバ213は、ウェブブラウザ113に対して、WAN3を介して、コンテンツを提供する。
 仮想LANドライバ114(214)は、中継通信システムにおいて仮想的に割り付けられた、クライアント端末11(21)の仮想プライベートIPアドレスを登録する。中継通信システムにおいて、各クライアント端末に対して、仮想プライベートIPアドレスが割り付けられる方法については後述する。
 制御部112(212)は、データベース格納部115(215)に格納される以下の情報を作成または更新する。データベース格納部115(215)は、中継グループ情報格納部116(216)、中継サーバ情報格納部117(217)から構成される。中継グループマップ表示部118(218)は、中継グループ情報および中継サーバ情報を参照することにより、中継グループマップをクライアント端末11(21)において表示する。以上の情報および中継グループマップの具体例について後述する。
(4)中継グループ情報の具体例
 図4は、中継グループ情報の具体例として、中継グループ情報40を示す図である。中継グループ情報は、中継通信システムを構成する中継サーバの概要を示す情報である。
 中継グループ情報40は、上位情報401、下位情報402から構成される。上位情報401は、中継グループ仮想アドレス情報403を含む。下位情報402は、中継サーバ仮想アドレス情報404、コネクション確立情報405を含む。
 上位情報401は、上位にある中継グループについての情報である。「id」は、中継グループの識別情報を示す。「lastmod」は、中継グループ情報の最新更新時刻を示す。「name」は、中継グループの名称を示す。中継グループ仮想アドレス情報403は、中継通信システムにおいて仮想的に割り付けられた、中継グループの仮想プライベートIPアドレス(ネットワークアドレス)を示す。中継通信システムにおいて、サブネットマスクは「255.255.255.0」に設定されて、「*」は各装置に一意に設定される。
 下位情報402は、下位にある中継サーバについての情報である。「id」は、中継サーバの識別情報を示す。中継サーバ仮想アドレス情報404は、中継通信システムにおいて仮想的に割り付けられた、中継サーバの仮想プライベートIPアドレスを示す。コネクション確立情報405は、WAN3を介する各中継サーバの相互間において、コネクションが確立されているかどうかについての情報である。
 中継グループ情報40は、中継グループ情報格納部124、224、116、216において格納される。すなわち、中継グループ情報40は、中継サーバ12、22およびクライアント端末11、21により共有される。
 WAN3を介する各中継サーバの相互間において、仮想アドレスを利用したIP通信用のコネクションが確立されているときには、コネクション確立情報405が記載されている。WAN3を介する各中継サーバの相互間において、仮想アドレスを利用したIP通信用のコネクションが確立されていないときには、コネクション確立情報405が記載されていない。これにより、WAN3を介する各中継サーバの相互間において、仮想アドレスを利用したIP通信用のコネクションが確立されているかどうかについての情報が、中継通信システム全体として共有される。さらに、中継サーバの仮想プライベートIPアドレスについての情報が、中継通信システム全体として共有される。
(5)中継サーバ情報の具体例
 図5は、中継サーバ情報の具体例として、中継サーバ情報50を示す図である。中継サーバ情報は、中継通信システムを構成する中継サーバの詳細を示す情報であり、中継通信システムを構成するクライアント端末の概要を示す情報である。
 中継サーバ情報50は、上位情報501-1、501-2、下位情報502-1、502-2から構成される。上位情報501-1、501-2は、各々、中継サーバ起動情報503-1、503-2を含む。下位情報502-1、502-2は、各々、クライアント端末仮想アドレス情報504-1、504-2、コネクション確立情報505-1、505-2、クライアント端末が中継サーバにログインしているかどうかを示すクライアント端末サイト情報506-1、506-2を含む。
 上位情報501-1、501-2は、上位にある中継サーバについての情報である。「id」は、中継サーバの識別情報を示す。「name」は、中継サーバの名称を示す。中継サーバ起動情報503-1、503-2は、中継サーバが起動しているかどうかについての情報である。
 下位情報502-1、502-2は、下位にあるクライアント端末についての情報である。「div」は、クライアント端末の部署名を示す。「group」は、クライアント端末が所属する中継グループの識別情報を示す。「id」は、クライアント端末の識別情報を示す。「name」は、クライアント端末の名称を示す。
 クライアント端末仮想アドレス情報504-1、504-2は、中継通信システムにおいて仮想的に割り付けられた、クライアント端末の仮想プライベートIPアドレスを示す。コネクション確立情報505-1、505-2は、同一のLANにおけるクライアント端末および中継サーバの相互間において、仮想アドレスを利用したIP通信用のコネクションが確立されているかどうかについての情報である。クライアント端末サイト情報506-1、506-2は、クライアント端末がログオンしている中継サーバの識別情報を示す。
 中継サーバ情報50は、中継サーバ情報格納部125、225、117、217において格納される。すなわち、中継サーバ情報50は、中継サーバ12、22およびクライアント端末11、21により共有される。
 中継サーバが起動しているときには、中継サーバ起動情報503-1、503-2が「active」になっている。中継サーバが起動していないときには、中継サーバ起動情報503-1、503-2が空欄になっている。これにより、中継サーバが起動しているかどうかについての情報が、中継通信システム全体として共有される。
 クライアント端末が中継サーバにログオンしているときには、クライアント端末サイト情報506-1、506-2が記載されている。クライアント端末が中継サーバにログオンしていないときには、クライアント端末サイト情報506-1、506-2が記載されていない。これにより、クライアント端末が中継サーバにログオンしているかどうかについての情報が、中継通信システム全体として共有される。
 同一のLANにおけるクライアント端末および中継サーバの相互間において、仮想アドレスを利用したIP通信用のコネクションが確立されているときには、コネクション確立情報505-1、505-2が記載されている。同一のLANにおけるクライアント端末および中継サーバの相互間において、仮想アドレスを利用したIP通信用のコネクションが確立されていないときには、コネクション確立情報505-1、505-2が記載されていない。これにより、同一のLANにおけるクライアント端末および中継サーバの相互間において、仮想アドレスを利用したIP通信用のコネクションが確立されているかどうかについての情報が、中継通信システム全体として共有される。さらに、クライアント端末の仮想プライベートIPアドレスについての情報が、中継通信システム全体として共有される。
(6)クライアント端末情報の具体例
 図6は、クライアント端末情報の具体例として、クライアント端末情報60、70を示す図である。クライアント端末情報は、中継通信システムを構成するクライアント端末の詳細を示す情報である。
 クライアント端末情報60、70は、各々、クライアント端末アドレス情報601、701、クライアント端末有効期限情報602、702、クライアント端末ポート情報603、703を含む。クライアント端末アドレス情報601、701は、各々、クライアント端末仮想アドレス情報504-1、504-2と必ずしも一致しない。
 「div」は、クライアント端末の部署名を示す。「group」は、クライアント端末が所属する中継グループの識別情報を示す。クライアント端末アドレス情報601、701は、各々、LAN1、2においてのみ一意に割り付けられた、クライアント端末のIPアドレスを示す。クライアント端末有効期限情報602、702は、クライアント端末のレジスト有効期限を示す。「id」は、クライアント端末の識別情報を示す。「name」は、クライアント端末の名称を示す。「pass」は、クライアント端末のパスワードを示す。クライアント端末ポート情報603、703は、クライアント端末のポート番号を示す。
 クライアント端末情報60は、クライアント端末情報格納部126のみにおいて格納されて、クライアント端末情報70は、クライアント端末情報格納部226のみにおいて格納される。すなわち、クライアント端末情報60は、中継サーバ12のみにより保有されて、クライアント端末情報70は、中継サーバ22のみにより保有される。
(7)情報共有の流れ
 図7から図9までは、中継グループ情報、中継サーバ情報が共有される処理の流れを示す図である。中継サーバ12、22が、中継通信システムに参加する。そして、クライアント端末11のユーザが、中継サーバ12にログオンして、クライアント端末21のユーザが、中継サーバ22にログオンする。さらに、中継サーバ12、22の相互間、クライアント端末11および中継サーバ12の相互間、クライアント端末21および中継サーバ22の相互間、の各区間において、仮想アドレスを利用したIP通信用のコネクションが確立される。
[規則91に基づく訂正 04.11.2009] 
(7-1)ステップS1からステップS2までの処理の流れ
 中継サーバ12の管理者および中継サーバ22の管理者は、LAN1、2の相互間において中継通信システムのグループを構築する契約を結ぶ。中継サーバ12の管理者および中継サーバ22の管理者は、サブネットマスクとして「255.255.255.0」を設定して、仮想プライベートIPアドレスとして「192.168.0.*」を設定して、「*」として各装置に一意の数値を設定する契約を結ぶ。
 中継サーバ12の管理者は、クライアント端末11のユーザに対して、アカウントを作成する(ステップS1:CreateAccount())。制御部122は、中継サーバ情報51-1を作成して、中継サーバ情報格納部125に格納する。
 中継サーバ22の管理者は、クライアント端末21のユーザに対して、アカウントを作成する(ステップS2:CreateAccount())。制御部222は、中継サーバ情報51-2を作成して、中継サーバ情報格納部225に格納する。
 以上の処理の流れにより、中継サーバ12は、中継サーバ情報51-1を保有する。中継サーバ22は、中継サーバ情報51-2を保有する。
 図10の1番目の枠内は、中継サーバ情報51-1を示す。上位情報511-1は、上位にある中継サーバ12についての情報である。「id」として、「relay-server-1@abc.net」が設定されている。「name」として、「RELAY SERVER 1」が設定されている。中継サーバ起動情報513-1として、「active」が設定されている。すなわち、中継サーバ12は、起動している。
 下位情報512-1は、下位にあるクライアント端末11についての情報である。「div」として、「software」が設定されている。「group」として、「20070402133100@relay-server-1.abc.net」が設定されている。「id」として、「client-1@relay-server-1.abc.net」が設定されている。「name」として、「CLIENT 1」が設定されている。クライアント端末サイト情報516-1は、空欄になっている。すなわち、クライアント端末11のユーザは、中継サーバ12にログオンしていない。そのため、クライアント端末仮想アドレス情報およびコネクション確立情報は、いまだ記載されていない。
 図10の2番目の枠内は、中継サーバ情報51-2を示す。上位情報511-2は、上位にある中継サーバ22についての情報である。「id」として、「relay-server-2@abc.net」が設定されている。「name」として、「RELAY SERVER 2」が設定されている。中継サーバ起動情報513-2として、「active」が設定されている。すなわち、中継サーバ22は、起動している。
 下位情報512-2は、下位にあるクライアント端末21についての情報である。「div」として、「software」が設定されている。「group」として、「20070402133100@relay-server-1.abc.net」が設定されている。「id」として、「client-2@relay-server-2.abc.net」が設定されている。「name」として、「CLIENT 2」が設定されている。クライアント端末サイト情報516-2は、空欄になっている。すなわち、クライアント端末21のユーザは、中継サーバ22にログオンしていない。そのため、クライアント端末仮想アドレス情報およびコネクション確立情報は、いまだ記載されていない。
 図11は、中継グループマップを示す。この時点では、未だ中継グループは形成されていないので、中継グループマップ表示部127、227、118、218は、表示すべき中継グループがないことを示すメッセージを表示する。
(7-2)ステップS3からステップS4までの処理の流れ
 以下の説明においては、中継サーバ12、22の相互間の通信は、SIPサーバ31により中継される。中継サーバ12(22)が中継サーバ22(12)に対してSIPサーバ31を介して通信を実行する方法について説明する。
 中継サーバ12(22)は、SIPサーバ31に対して、中継サーバ22(12)のアカウントが通信先として指定されたデータなどを送信する。SIPサーバ31は、中継サーバ12、22のアカウントを、各々、中継サーバ12、22のグローバルIPアドレスに対応付けている。SIPサーバ31は、中継サーバ22(12)のアカウントに基づいて、中継サーバ22(12)のグローバルIPアドレスを取得する。SIPサーバ31は、中継サーバ22(12)に対して、中継サーバ22(12)のグローバルIPアドレスが通信先として指定されたデータなどを送信する。
 中継サーバ12は、中継サーバ22に対して、中継通信システムのグループ構築を要求する(ステップS3:SetGroup())。制御部122は、中継グループ情報42を作成して、中継グループ情報格納部124に格納する。制御部222は、中継グループ情報42を作成して、中継グループ情報格納部224に格納する。
 中継サーバ12は、中継サーバ22に対して、中継サーバ情報の交換を要求する(ステップS4:exchange(db))。中継サーバ12は、中継サーバ22に対して、中継サーバ情報51-1の複製を送信する。中継サーバ22は、中継サーバ12に対して、中継サーバ情報51-2の複製を送信する。
 制御部122は、中継サーバ情報51-2の複製、中継サーバ情報51-1を合成することにより、中継サーバ情報52を作成して、中継サーバ情報格納部125に格納する。制御部222は、中継サーバ情報51-1の複製、中継サーバ情報51-2を合成することにより、中継サーバ情報52を作成して、中継サーバ情報格納部225に格納する。
 制御部122は、クライアント端末情報62を作成して、クライアント端末情報格納部126に格納する。制御部222は、クライアント端末情報72を作成して、クライアント端末情報格納部226に格納する。クライアント端末情報62の作成処理および格納処理は、ステップS1において実行され、クライアント端末情報72の作成処理および格納処理は、ステップS2において実行される。
 以上の処理の流れにより、中継サーバ12は、中継グループ情報42、中継サーバ情報52、クライアント端末情報62を保有する。中継サーバ22は、中継グループ情報42、中継サーバ情報52、クライアント端末情報72を保有する。中継グループ情報42、中継サーバ情報52は、中継サーバ12、22により共有されている。
 図12の1番目の枠内は、中継グループ情報42を示す。上位情報421は、上位にある中継グループについての情報である。「id」として、「20070402133100@relay-server-1.abc.net」が設定されている。「lastmod」として、「20070402133100」が設定されている。「name」として、「GROUP 1」が設定されている。しかし、中継サーバ12、22の相互間において、コネクションは確立されていない。そのため、中継グループ仮想アドレス情報は、いまだ記載されていない。
 下位情報422は、下位にある中継サーバ12、22についての情報である。「id」として、「relay-server-1@abc.net」、「relay-server-2@abc.net」が設定されている。しかし、中継サーバ12、22の相互間において、仮想アドレスを利用したIP通信用のコネクションは確立されていない。そのため、中継サーバ仮想アドレス情報およびコネクション確立情報は、いまだ記載されていない。
 図12の2番目の枠内は、中継サーバ情報52を示す。上位情報521-1、521-2は、各々、図10の上位情報511-1、511-2と同様である。下位情報522-1、522-2は、各々、図10の下位情報512-1、512-2と同様である。
 図12の3番目の枠内は、クライアント端末情報62を示す。「div」として、「software」が設定されている。「group」として、「20070402133100@relay-server-1.abc.net」が設定されている。「id」として、「client-1@relay-server-1.abc.net」が設定されている。「name」として、「CLIENT 1」が設定されている。「pass」として、「client-1」が設定されている。
 クライアント端末アドレス情報621は、空欄になっている。クライアント端末有効期限情報622として、「0」が設定されている。クライアント端末ポート情報623は、空欄になっている。すなわち、クライアント端末11のユーザは、中継サーバ12にログオンしていない。
 図12の4番目の枠内は、クライアント端末情報72を示す。「div」として、「software」が設定されている。「group」として、「20070402133100@relay-server-1.abc.net」が設定されている。「id」として、「client-2@relay-server-2.abc.net」が設定されている。「name」として、「CLIENT 2」が設定されている。「pass」として、「client-2」が設定されている。
 クライアント端末アドレス情報721は、空欄になっている。クライアント端末有効期限情報722として、「0」が設定されている。クライアント端末ポート情報723は、空欄になっている。すなわち、クライアント端末21のユーザは、中継サーバ22にログオンしていない。
 図13は、中継グループマップを示す。中継サーバ12の中継グループマップ表示部127および中継サーバ22の中継グループマップ表示部227は、中継グループ情報42および中継サーバ情報52を参照することにより、中継グループマップを表示する。
 中継サーバ12は、中継サーバ22に対して、中継通信システムのグループ構築を要求している。そのため、図11の中継グループマップが合成されて、図13の中継グループマップが表示されている。しかし、中継グループ情報42において、コネクション確立情報は、いまだ記載されていない。そのため、「中継サーバ12」および「中継サーバ22」の相互間において、「コネクション未確立」および傍らの破線が記載されている。
(7-3)ステップS5からステップS6までの処理の流れ
 中継サーバ12は、中継サーバ22に対して、呼制御を実行して(ステップS5:INVITE())、コネクション確立を要求する(ステップS6:connect())。制御部122は、中継グループ情報42を更新することにより、中継グループ情報43を作成して、中継グループ情報格納部124に格納する。中継サーバ12と中継サーバ22のコネクションが確立された時点で、中継サーバ12と中継サーバ22は、それぞれの仮想プライベートアドレスを割り当てる。制御部222は、中継グループ情報42を更新することにより、中継グループ情報43を作成して、中継グループ情報格納部224に格納する。制御部122は、中継サーバ情報52およびクライアント端末情報62を更新することはない。制御部222は、中継サーバ情報52およびクライアント端末情報72を更新することはない。
 以上の処理の流れにより、中継サーバ12は、中継グループ情報43、中継サーバ情報52、クライアント端末情報62を保有する。中継サーバ22は、中継グループ情報43、中継サーバ情報52、クライアント端末情報72を保有する。中継グループ情報43、中継サーバ情報52は、中継サーバ12、22により共有されている。
 図14の1番目の枠内は、中継グループ情報43を示す。更新部分を下線部により示す。中継サーバ12は、中継サーバ22に対して、仮想アドレスを利用したIP通信用のコネクションを確立している。
 制御部122、222は、中継サーバ12、22の管理者が結んだ契約に基づいて、上位情報431の中継グループ仮想アドレス情報433を、「192.168.0.*」に設定している。中継通信システムにおいて、「*」は各装置に一意に設定される。
 制御部122、222は、中継グループ仮想アドレス情報433に基づいて、下位情報432の中継サーバ12、22についての中継サーバ仮想アドレス情報434を、相互に異なる数値に設定している。制御部122は、「*」を「1」に設定して、中継サーバ12についての中継サーバ仮想アドレス情報434を、「192.168.0.1」に設定している。制御部222は、「*」を「2」に設定して、中継サーバ22についての中継サーバ仮想アドレス情報434を、「192.168.0.2」に設定している。
 制御部122は、下位情報432の中継サーバ12についてのコネクション確立情報435を、「s1」に設定している。制御部222は、下位情報432の中継サーバ22についてのコネクション確立情報435を、「s2」に設定している。図7において、中継サーバ12、22の相互間の仮想アドレスを利用したIP通信用のコネクションのうち、中継サーバ12、22のソケットについて、「Transaction」は各々「s1」、「s2」に設定されている。
 「groupID」は、コネクションが確立されている中継グループの識別情報を示しており、「20070402133100@relay-server-1.abc.net」に設定されている。「MediaSession」は、「socket」に設定されている。以上の2種類の情報は、図7および図9において同様である。
 図14の2番目の枠内は、中継サーバ情報52を示す。ステップS5からステップS6までの処理の流れにおいては、クライアント端末11のユーザは、中継サーバ12にログオンしておらず、クライアント端末21のユーザは、中継サーバ22にログオンしていないため、中継サーバ情報52が更新されることはない。
 図14の3番目の枠内は、クライアント端末情報62を示す。ステップS5からステップS6までの処理の流れにおいては、クライアント端末11のユーザは、中継サーバ12にログオンしていないため、クライアント端末情報62が更新されることはない。
 図14の4番目の枠内は、クライアント端末情報72を示す。ステップS5からステップS6までの処理の流れにおいては、クライアント端末21のユーザは、中継サーバ22にログオンしていないため、クライアント端末情報72が更新されることはない。
 図15は、中継グループマップを示す。中継サーバ12の中継グループマップ表示部127および中継サーバ22の中継グループマップ表示部227は、中継グループ情報43および中継サーバ情報52を参照することにより、中継グループマップを表示する。
 中継サーバ12は、中継サーバ22に対して、呼制御を実行していて、仮想アドレスを利用したIP通信用のコネクション確立を要求している。そして、中継グループ情報43において、中継サーバ仮想アドレス情報434およびコネクション確立情報435が、すでに記載されている。そのため、中継サーバ12、22の仮想プライベートIPアドレスが記載されるに至った。そして、「中継サーバ12」および「中継サーバ22」の相互間において、「コネクション確立」および傍らの実線が記載されるに至った。
(7-4)ステップS7からステップS9までの処理の流れ
 図8を参照する。クライアント端末11のユーザは、クライアント端末11の識別情報として、「client-1@relay-server-1.abc.net」を入力して、クライアント端末11のパスワードとして、「client-1」を入力する。クライアント端末11のユーザは、中継サーバ12にログオンする(ステップS7:REGISTER(ID,PASS))。制御部122は、クライアント端末情報62を参照することにより、クライアント端末11のユーザの認証を実行する。
 制御部122は、クライアント端末11のユーザのログオンを受け付ける。制御部122は、中継サーバ情報52を更新することにより、中継サーバ情報54を作成して、中継サーバ情報格納部125に格納する。クライアント端末11が中継サーバ12にログオンした時点で、中継サーバ12はクライアント端末11の仮想プライベートアドレスを割り当てる。制御部122は、クライアント端末情報62を更新することにより、クライアント端末情報64を作成して、クライアント端末情報格納部126に格納する。制御部122は、中継グループ情報43を更新することはない。
 クライアント端末11は、中継サーバ12に対して、中継グループ情報および中継サーバ情報の提供を要求する(ステップS8:get())。中継サーバ12は、クライアント端末11に対して、中継グループ情報43および中継サーバ情報54の複製を送信する。クライアント端末11は、中継グループ情報43を中継グループ情報格納部116に格納して、中継サーバ情報54を中継サーバ情報格納部117に格納する。
 制御部122は、中継グループ情報43、中継サーバ情報54を参照することにより、中継サーバ情報52が中継サーバ情報54に更新されたことを通知すべき中継サーバを決定する。制御部122は、中継サーバ情報54の中継サーバ起動情報543-2が「active」である中継サーバ22を、通知すべき中継サーバとして決定する。
 中継サーバ12は、中継サーバ22に対して、中継サーバ情報52が中継サーバ情報54に更新されたことを通知する(ステップS9:NOTIFY())。制御部222は、中継サーバ情報52を更新することにより、中継サーバ情報54を作成して、中継サーバ情報格納部225に格納する。
 制御部222は、クライアント端末情報72を参照することにより、中継サーバ情報52が中継サーバ情報54に更新されたことを通知すべきクライアント端末を決定する。制御部222は、クライアント端末情報72のクライアント端末アドレス情報721が空欄であり、クライアント端末情報72のクライアント端末ポート情報723が空欄であるクライアント端末21を、通知すべきクライアント端末として決定することはない。
 以上の処理の流れにより、中継サーバ12は、中継グループ情報43、中継サーバ情報54、クライアント端末情報64を保有する。中継サーバ22は、中継グループ情報43、中継サーバ情報54、クライアント端末情報72を保有する。クライアント端末11は、中継グループ情報43、中継サーバ情報54を保有する。中継グループ情報43、中継サーバ情報54は、中継サーバ12、22、クライアント端末11により共有されている。
 図16の1番目の枠内は、中継グループ情報43を示す。ステップS7からステップS9までの処理の流れにおいては、新たな中継サーバが中継通信システムに参加していないため、中継グループ情報43が更新されることはない。
 図16の2番目の枠内は、中継サーバ情報54を示す。更新部分を下線部により示す。クライアント端末11のユーザは、中継サーバ12にログオンしている。そのため、下位情報542-1のクライアント端末サイト情報546-1は、「relay-server-1@abc.net」に確定されている。
 制御部122は、「*」を「11」に設定して、下位情報542-1のクライアント端末11についてのクライアント端末仮想アドレス情報544-1を、「192.168.0.11」に設定している。ここで、当該仮想プライベートIPアドレスは、すでに設定されている仮想プライベートIPアドレスと重複しない。
 制御部122は、下位情報542-1のクライアント端末11についてのコネクション確立情報545-1を、空欄に設定している。すなわち、クライアント端末11および中継サーバ12の相互間において、仮想アドレスを利用したIP通信用のコネクションはいまだ確立されていない。
 図16の3番目の枠内は、クライアント端末情報64を示す。更新部分を下線部により示す。クライアント端末11のユーザは、中継サーバ12にログオンしている。そのため、クライアント端末アドレス情報641は、「192.168.10.2」に確定されている。ここで、クライアント端末11について、物理的なプライベートIPアドレス「192.168.10.2」は、仮想的なプライベートIPアドレス「192.168.0.11」と一致していない。また、クライアント端末有効期限情報642は、「1213935960484」に確定されている。さらに、クライアント端末ポート情報643は、「5070」に確定されている。
 図16の4番目の枠内は、クライアント端末情報72を示す。ステップS7からステップS9までの処理の流れにおいては、クライアント端末21のユーザが中継サーバ22にログオンしていないため、クライアント端末情報72が更新されることはない。
 図17は、中継グループマップを示す。クライアント端末11の中継グループマップ表示部118、中継サーバ12の中継グループマップ表示部127、中継サーバ22の中継グループマップ表示部227は、中継グループ情報43および中継サーバ情報54を参照することにより、中継グループマップを表示する。
 クライアント端末11のユーザは、中継サーバ12にログオンしている。そして、中継サーバ情報54において、クライアント端末仮想アドレス情報544-1が、すでに記載されている。そのため、クライアント端末11の仮想プライベートIPアドレスが記載されるに至った。しかし、中継サーバ情報54において、コネクション確立情報545-1が、いまだ記載されていない。そのため、「クライアント端末11」および「中継サーバ12」の相互間において、「コネクション確立」および傍らの実線が記載されていない。
(7-5)ステップS10からステップS13までの処理の流れ
 クライアント端末21のユーザは、クライアント端末21の識別情報として、「client-2@relay-server-2.abc.net」を入力して、クライアント端末21のパスワードとして、「client-2」を入力する。クライアント端末21のユーザは、中継サーバ22にログオンする(ステップS10:REGISTER(ID,PASS))。制御部222は、クライアント端末情報72を参照することにより、クライアント端末21のユーザの認証を実行する。
 制御部222は、クライアント端末21のユーザのログオンを受け付ける。制御部222は、中継サーバ情報54を更新することにより、中継サーバ情報55を作成して、中継サーバ情報格納部225に格納する。クライアント端末21が中継サーバ22にログオンした時点で、中継サーバ22はクライアント端末21の仮想プライベートアドレスを割り当てる。制御部222は、クライアント端末情報72を更新することにより、クライアント端末情報75を作成して、クライアント端末情報格納部226に格納する。制御部222は、中継グループ情報43を更新することはない。
 クライアント端末21は、中継サーバ22に対して、中継グループ情報および中継サーバ情報の提供を要求する(ステップS11:get())。中継サーバ22は、クライアント端末21に対して、中継グループ情報43および中継サーバ情報55の複製を送信する。クライアント端末21は、中継グループ情報43を中継グループ情報格納部216に格納して、中継サーバ情報55を中継サーバ情報格納部217に格納する。
 制御部222は、中継グループ情報43、中継サーバ情報55を参照することにより、中継サーバ情報54が中継サーバ情報55に更新されたことを通知すべき中継サーバを決定する。制御部222は、中継サーバ情報55の中継サーバ起動情報553-1が「active」である中継サーバ12を、通知すべき中継サーバとして決定する。
 中継サーバ22は、中継サーバ12に対して、中継サーバ情報54が中継サーバ情報55に更新されたことを通知する(ステップS12:NOTIFY())。制御部122は、中継サーバ情報54を更新することにより、中継サーバ情報55を作成して、中継サーバ情報格納部125に格納する。
 制御部122は、クライアント端末情報64を参照することにより、中継サーバ情報54が中継サーバ情報55に更新されたことを通知すべきクライアント端末を決定する。制御部122は、クライアント端末情報64のクライアント端末アドレス情報641が確定されていて、クライアント端末情報64のクライアント端末ポート情報643が確定されているクライアント端末11を、通知すべきクライアント端末として決定する。
 中継サーバ12は、クライアント端末11に対して、中継サーバ情報54が中継サーバ情報55に更新されたことを通知する(ステップS13:NOTIFY())。制御部112は、中継サーバ情報54を更新することにより、中継サーバ情報55を作成して、中継サーバ情報格納部117に格納する。
 以上の処理の流れにより、中継サーバ12は、中継グループ情報43、中継サーバ情報55、クライアント端末情報64を保有する。中継サーバ22は、中継グループ情報43、中継サーバ情報55、クライアント端末情報75を保有する。クライアント端末11は、中継グループ情報43、中継サーバ情報55を保有する。クライアント端末21は、中継グループ情報43、中継サーバ情報55を保有する。中継グループ情報43、中継サーバ情報55は、中継サーバ12、22、クライアント端末11、21により共有されている。
 図18の1番目の枠内は、中継グループ情報43を示す。ステップS10からステップS13までの処理の流れにおいては、新たな中継サーバが中継通信システムに参加していないため、中継グループ情報43が更新されることはない。
 図18の2番目の枠内は、中継サーバ情報55を示す。更新部分を下線部により示す。クライアント端末21のユーザは、中継サーバ22にログオンしている。そのため、下位情報552-2のクライアント端末サイト情報556-2は、「relay-server-2@abc.net」に確定されている。
 制御部222は、「*」を「12」に設定して、下位情報552-2のクライアント端末21についてのクライアント端末仮想アドレス情報554-2を、「192.168.0.12」に設定している。ここで、当該仮想プライベートIPアドレスは、すでに設定されている仮想プライベートIPアドレスと重複しない。
 制御部222は、下位情報552-2のクライアント端末21についてのコネクション確立情報555-2を、空欄に設定している。すなわち、クライアント端末21および中継サーバ22の相互間において、仮想アドレスを利用したIP通信用のコネクションはいまだ確立されていない。
 図18の3番目の枠内は、クライアント端末情報64を示す。ステップS10からステップS13までの処理の流れにおいては、クライアント端末11のユーザが中継サーバ12からログオフしていないため、クライアント端末情報64が更新されることはない。 
 図18の4番目の枠内は、クライアント端末情報75を示す。更新部分を下線部により示す。クライアント端末21のユーザは、中継サーバ22にログオンしている。そのため、クライアント端末アドレス情報751は、「192.168.1.10」に確定されている。ここで、クライアント端末21について、物理的なプライベートIPアドレス「192.168.1.10」は、仮想的なプライベートIPアドレス「192.168.0.12」と一致していない。また、クライアント端末有効期限情報752は、「1213935978484」に確定されている。さらに、クライアント端末ポート情報753は、「5070」に確定されている。
 図19は、中継グループマップを示す。クライアント端末11の中継グループマップ表示部118、クライアント端末21の中継グループマップ表示部218、中継サーバ12の中継グループマップ表示部127、中継サーバ22の中継グループマップ表示部227は、中継グループ情報43および中継サーバ情報55を参照することにより、中継グループマップを表示する。
 クライアント端末21のユーザは、中継サーバ22にログオンしている。そして、中継サーバ情報55において、クライアント端末仮想アドレス情報554-2が、すでに記載されている。そのため、クライアント端末21の仮想プライベートIPアドレスが記載されるに至った。しかし、中継サーバ情報55において、コネクション確立情報555-2が、いまだ記載されていない。そのため、「クライアント端末21」および「中継サーバ22」の相互間において、「コネクション確立」および傍らの実線が記載されていない。
(7-6)ステップS14からステップS17までの処理の流れ
 図9を参照する。クライアント端末11は、中継サーバ12に対して、呼制御を実行して(ステップS14:INVITE())、仮想アドレスを利用したIP通信用のコネクションの確立を要求する(ステップS15:connect())。制御部122、112は、中継サーバ情報55を更新することにより、中継サーバ情報56を作成して、各々、中継サーバ情報格納部125、117に格納する。制御部122は、中継グループ情報43およびクライアント端末情報64を更新することはない。制御部112は、中継グループ情報43を更新することはない。
 ステップS16からステップS17までの処理の流れは、ステップS9、S12、S13と同様にして実行される。中継サーバ12は、中継サーバ22に対して、中継サーバ情報55が中継サーバ情報56に更新されたことを通知する(ステップS16:NOTIFY())。中継サーバ22は、クライアント端末21に対して、中継サーバ情報55が中継サーバ情報56に更新されたことを通知する(ステップS17:NOTIFY())。
 以上の処理の流れにより、中継サーバ12は、中継グループ情報43、中継サーバ情報56、クライアント端末情報64を保有する。中継サーバ22は、中継グループ情報43、中継サーバ情報56、クライアント端末情報75を保有する。クライアント端末11は、中継グループ情報43、中継サーバ情報56を保有する。クライアント端末21は、中継グループ情報43、中継サーバ情報56を保有する。中継グループ情報43、中継サーバ情報56は、中継サーバ12、22、クライアント端末11、21により共有されている。
 図20の1番目の枠内は、中継グループ情報43を示す。ステップS14からステップS17までの処理の流れにおいては、新たな中継サーバが中継通信システムに参加していないため、中継グループ情報43が更新されることはない。
 図20の2番目の枠内は、中継サーバ情報56を示す。クライアント端末11は、中継サーバ12に対して、仮想アドレスを利用したIP通信用のコネクションを確立している。
 制御部122、112は、下位情報562-1のコネクション確立情報565-1を、「c1」に設定している。図9において、クライアント端末11および中継サーバ12の相互間のコネクションのうち、クライアント端末11および中継サーバ12のソケットについて、「Transaction」は「c1」に設定されている。「groupID」および「MediaSession」は上述の通りである。
 ここで、クライアント端末11および中継サーバ12の相互間の仮想アドレスを利用したIP通信用のコネクションにおける中継サーバ12のソケット、および、中継サーバ12および中継サーバ22の相互間の仮想アドレスを利用したIP通信用のコネクションにおける中継サーバ12のソケットは、相互に異なるソケットである。しかし、これらのソケットは、同一のgroupIDにより関連付けられる。
 図20の3番目の枠内は、クライアント端末情報64を示す。ステップS14からステップS17までの処理の流れにおいては、クライアント端末11のユーザが中継サーバ12からログオフしていないため、クライアント端末情報64が更新されることはない。
 図20の4番目の枠内は、クライアント端末情報75を示す。ステップS14からステップS17までの処理の流れにおいては、クライアント端末21のユーザが中継サーバ22からログオフしていないため、クライアント端末情報75が更新されることはない。
 図21は、中継グループマップを示す。クライアント端末11の中継グループマップ表示部118、クライアント端末21の中継グループマップ表示部218、中継サーバ12の中継グループマップ表示部127、中継サーバ22の中継グループマップ表示部227は、中継グループ情報43および中継サーバ情報56を参照することにより、中継グループマップを表示する。
 クライアント端末11は、中継サーバ12に対して、仮想アドレスを利用したIP通信用のコネクションを確立している。そして、中継サーバ情報56において、コネクション確立情報565-1が、すでに記載されている。そのため、「クライアント端末11」および「中継サーバ12」の相互間において、「コネクション確立」および傍らの実線が記載されるに至った。
(7-7)ステップS18からステップS21までの処理の流れ
 クライアント端末21は、中継サーバ22に対して、呼制御を実行して(ステップS18:INVITE())、仮想アドレスを利用したIP通信用のコネクションの確立を要求する(ステップS19:connect())。制御部222、212は、中継サーバ情報56を更新することにより、中継サーバ情報57を作成して、各々、中継サーバ情報格納部225、217に格納する。制御部222は、中継グループ情報43およびクライアント端末情報75を更新することはない。制御部212は、中継グループ情報43を更新することはない。
 ステップS20からステップS21までの処理の流れは、ステップS9、S12、S13と同様にして実行される。中継サーバ22は、中継サーバ12に対して、中継サーバ情報56が中継サーバ情報57に更新されたことを通知する(ステップS20:NOTIFY())。中継サーバ12は、クライアント端末11に対して、中継サーバ情報56が中継サーバ情報57に更新されたことを通知する(ステップS21:NOTIFY())。
 以上の処理の流れにより、中継サーバ12は、中継グループ情報43、中継サーバ情報57、クライアント端末情報64を保有する。中継サーバ22は、中継グループ情報43、中継サーバ情報57、クライアント端末情報75を保有する。クライアント端末11は、中継グループ情報43、中継サーバ情報57を保有する。クライアント端末21は、中継グループ情報43、中継サーバ情報57を保有する。中継グループ情報43、中継サーバ情報57は、中継サーバ12、22、クライアント端末11、21により共有されている。
 図22の1番目の枠内は、中継グループ情報43を示す。ステップS18からステップS21までの処理の流れにおいては、新たな中継サーバが中継通信システムに参加していないため、中継グループ情報43が更新されることはない。
 図22の2番目の枠内は、中継サーバ情報57を示す。クライアント端末21は、中継サーバ22に対して、仮想アドレスを利用したIP通信用のコネクションを確立している。
 制御部222、212は、下位情報572-2のコネクション確立情報575-2を、「c2」に設定している。図9において、クライアント端末21および中継サーバ22の相互間の仮想アドレスを利用したIP通信用のコネクションのうち、クライアント端末21および中継サーバ22のソケットについて、「Transaction」は「c2」に設定されている。「groupID」および「MediaSession」は上述の通りである。
 ここで、クライアント端末21および中継サーバ22の相互間の仮想アドレスを利用したIP通信用のコネクションにおける中継サーバ22のソケット、および、中継サーバ12および中継サーバ22の相互間の仮想アドレスを利用したIP通信用のコネクションにおける中継サーバ22のソケットは、相互に異なるソケットである。しかし、これらのソケットは、同一のgroupIDにより関連付けられる。
 図22の3番目の枠内は、クライアント端末情報64を示す。ステップS18からステップS21までの処理の流れにおいては、クライアント端末11のユーザが中継サーバ12からログオフしていないため、クライアント端末情報64が更新されることはない。
 図22の4番目の枠内は、クライアント端末情報75を示す。ステップS18からステップS21までの処理の流れにおいては、クライアント端末21のユーザが中継サーバ22からログオフしていないため、クライアント端末情報75が更新されることはない。
 図23は、中継グループマップを示す。クライアント端末11の中継グループマップ表示部118、クライアント端末21の中継グループマップ表示部218、中継サーバ12の中継グループマップ表示部127、中継サーバ22の中継グループマップ表示部227は、中継グループ情報43および中継サーバ情報57を参照することにより、中継グループマップを表示する。
 クライアント端末21は、中継サーバ22に対して、仮想アドレスを利用したIP通信用のコネクションを確立している。そして、中継サーバ情報57において、コネクション確立情報575-2が、すでに記載されている。そのため、「クライアント端末21」および「中継サーバ22」の相互間において、「コネクション確立」および傍らの実線が記載されるに至った。
(8)情報共有のまとめ
 中継通信システムにおいて、LANおよびクライアント端末の増減状態および接続状態が変化することがある。そこで、一の中継サーバは、状態変化を認識したときには、中継グループ情報、中継サーバ情報、クライアント端末情報を直ちに更新する。
 そして、一の中継サーバは、中継グループ情報および中継サーバ情報に記載されている他の中継サーバに、中継グループ情報および中継サーバ情報が更新されたことを直ちに通知する。さらに、一の中継サーバは、クライアント端末情報に記載されているクライアント端末に、中継グループ情報および中継サーバ情報が更新されたことを直ちに通知する。
 しかし、一の中継サーバは、他の中継サーバが中継グループ情報および中継サーバ情報に記載されているとしても、他の中継サーバが未接続状態にあると判断したときには、他の中継サーバに直ちに通知することはない。さらに、一の中継サーバは、クライアント端末がクライアント端末情報に記載されているとしても、クライアント端末が未接続状態にあると判断したときには、クライアント端末に直ちに通知することはない。
 一の中継サーバの管理者は、他の中継サーバの管理者と交渉することにより、仮想プライベートIPアドレスを各装置に割り付ける方法を決定する。一の中継サーバは、他の中継サーバと通信することにより、各装置の仮想プライベートIPアドレスが重複しないように、自装置の仮想プライベートIPアドレスを決定する。中継サーバは、自装置にログオンするクライアント端末と通信することにより、各装置の仮想プライベートIPアドレスが重複しないように、クライアント端末の仮想プライベートIPアドレスを決定する。
 各装置の仮想プライベートIPアドレスについての情報は、中継グループ情報および中継サーバ情報に含まれる。各装置の仮想アドレスを利用したIP通信用のコネクション確立状態についての情報は、中継グループ情報および中継サーバ情報に含まれる。各装置のこれらの情報が変化したときには、中継グループ情報および中継サーバ情報が中継通信システム全体にわたって更新される。
 これにより、LANおよびクライアント端末の増減状態および接続状態についての情報は、中継通信システム全体としてリアルタイムに共有される。そして、各装置の仮想プライベートIPアドレスについての情報、および、各装置の仮想アドレスを利用したIP通信用のコネクション確立状態についての情報は、中継通信システム全体としてリアルタイムに共有される。さらに、以上に説明されたすべての情報は、各装置においてリアルタイムに表示される。
 なお、上記の実施の形態においては、中継サーバ12、22間でコネクションが確立されたとき、あるいはクライアント端末11、21が中継サーバ12、22にログオンしたときに、中継サーバ12、22が各サーバや各端末に仮想プライベートアドレスを動的に割り当てるようにした。しかし、仮想アドレスを付与するタイミングはこれに限定されるものではない。たとえば、グループが形成された時点で、登録されている全てのクライアント端末に一括して仮想アドレスを割り当てるようにしてもよいし、中継サーバやクライアント端末を作成した時点で仮想アドレスを割り当ててもよい。その場合でもログオン状態をチェックすることで仮想アドレスを利用した通信の可否を判断できる。
 また、上記の実施の形態においては、全ての中継サーバ、全てのクライアント端末が仮想LANドライバを備え、仮想アドレスを利用しているが、一部のサーバやクライアント端末のみが仮想LANドライバを備える構成であってもよい。仮想LANドライバを利用するWEBサーバが中継グループ内に存在してもよい。
(9)データ送受信の流れ
 図24は、情報共有後におけるデータ送受信の流れを示す図である。情報共有後においては、図22に示した中継グループ情報43、中継サーバ情報57、クライアント端末情報64、75が格納されていて、図23に示した中継グループマップが表示されている。ウェブブラウザ113は、ウェブサーバ213に対して、コンテンツを要求する。ウェブサーバ213は、ウェブブラウザ113に対して、コンテンツを提供する。
(9-1)ステップS22からステップS25までの処理の流れ
 図24を参照する。仮想LANドライバ114およびウェブブラウザ113は、コンテンツの送受信に先立ち起動する。仮想LANドライバ114は、中継サーバ情報格納部117に格納された中継サーバ情報57に基づいて、クライアント端末11の仮想プライベートIPアドレスとして「192.168.0.11」を取得する(ステップS22:open(192.168.0.11))。ウェブブラウザ113は、ステップS22と同様にして、クライアント端末11の仮想プライベートIPアドレスとして「192.168.0.11」を取得する(ステップS24:start(192.168.0.11))。
 仮想LANドライバ214およびウェブサーバ213は、コンテンツの送受信に先立ち起動する。仮想LANドライバ214は、中継サーバ情報格納部217に格納された中継サーバ情報57に基づいて、クライアント端末21の仮想プライベートIPアドレスとして「192.168.0.12」を取得する(ステップS23:open(192.168.0.12))。ウェブサーバ213は、ステップS23と同様にして、クライアント端末21の仮想プライベートIPアドレスとして「192.168.0.12」を取得する(ステップS25:start(192.168.0.12))。
(9-2)ステップS26の処理の流れ
 ウェブブラウザ113は、仮想LANドライバ114に対して、送信先の仮想プライベートIPアドレスが「192.168.0.12」である、コンテンツ要求情報を出力する(ステップS26:http(192.168.0.12))。
 仮想LANドライバ114は、制御部112に対して、コンテンツ要求情報の通信パケットを出力する。送信先の仮想プライベートIPアドレスは「192.168.0.12」に設定されていて、送信元の仮想プライベートIPアドレスは「192.168.0.11」に設定されている(ステップS26.1:packet(192.168.0.12,192.168.0.11))。
 制御部112は、中継サーバ情報格納部117に格納された中継サーバ情報57のうち、クライアント端末仮想アドレス情報574-2を参照することにより、送信先がLAN1になくWAN3を介したLAN2にあることを確認する。
 クライアント端末11は、ステップS15で確立されて「groupID=20070402133100@relay-server-1.abc.net」に設定された仮想アドレスを利用したIP通信用のコネクションにおいて、「Transaction:c1」に設定された自装置のソケットに向けて、カプセル化したコンテンツ要求情報の通信パケットを出力する。クライアント端末11は、中継サーバ12に対して、コンテンツ要求情報の通信パケットを送信する(ステップS26.1.1:connection(packet))。
 中継サーバ12は、クライアント端末11から通信パケットを受信する。制御部122は、中継サーバ情報格納部125に格納された中継サーバ情報57のうち、クライアント端末仮想アドレス情報574-2を参照することにより、送信先がLAN1になくWAN3を介したLAN2にあることを確認する。
 中継サーバ12は、ステップS6で確立されて「groupID=20070402133100@relay-server-1.abc.net」に設定された仮想アドレスを利用したIP通信用のコネクションにおいて、「Transaction:s1」に設定された自装置のソケットに向けて、カプセル化したコンテンツ要求情報の通信パケットを出力する。中継サーバ12は、中継サーバ22に対して、コンテンツ要求情報の通信パケットを送信する(ステップS26.1.1.1:connection(packet))。
 中継サーバ22は、中継サーバ12から通信パケットを受信する。制御部222は、中継サーバ情報格納部225に格納された中継サーバ情報57のうち、クライアント端末仮想アドレス情報574-2を参照することにより、送信先がWAN3を介したLAN1になくLAN2にあることを確認する。
 中継サーバ22は、ステップS19で確立されて「groupID=20070402133100@relay-server-1.abc.net」に設定された仮想アドレスを利用したIP通信用のコネクションにおいて、「Transaction:c2」に設定された自装置のソケットに向けて、カプセル化したコンテンツ要求情報の通信パケットを出力する。中継サーバ22は、クライアント端末21に対して、コンテンツ要求情報の通信パケットを送信する(ステップS26.1.1.1.1:connection(packet))。
 クライアント端末21は、中継サーバ22から通信パケットを受診する。制御部212は、仮想LANドライバ214に対して、コンテンツ要求情報の通信パケットを出力する(ステップS26.1.1.1.1.1:packet(192.168.0.12,192.168.0.11))。
 仮想LANドライバ214は、ウェブサーバ213に対して、送信元の仮想プライベートIPアドレスが「192.168.0.11」である、コンテンツ要求情報を出力する(ステップS26.1.1.1.1.1.1:http(192.168.0.11))。以上の処理の流れにより、コンテンツの要求が終了する。
(9-3)ステップS27の処理の流れ
 ウェブサーバ213は、仮想LANドライバ214に対して、送信先の仮想プライベートIPアドレスが「192.168.0.11」である、コンテンツを出力する(ステップS27:http(192.168.0.11))。
 仮想LANドライバ214は、制御部212に対して、コンテンツの通信パケットを出力する。送信先の仮想プライベートIPアドレスは「192.168.0.11」に設定されていて、送信元の仮想プライベートIPアドレスは「192.168.0.12」に設定されている(ステップS27.1:packet(192.168.0.11,192.168.0.12))。
 制御部212は、中継サーバ情報格納部217に格納された中継サーバ情報57のうち、クライアント端末仮想アドレス情報574-1を参照することにより、送信先がLAN2になくWAN3を介したLAN1にあることを確認する。
 クライアント端末21は、ステップS19で確立されて「groupID=20070402133100@relay-server-1.abc.net」に設定された仮想アドレスを利用したIP通信用のコネクションにおいて、「Transaction:c2」に設定された自装置のソケットに向けて、カプセル化したコンテンツの通信パケットを出力する。クライアント端末21は、中継サーバ22に対して、コンテンツの通信パケットを送信する(ステップS27.1.1:connection(packet))。
 中継サーバ22は、クライアント端末21から通信パケットを受信する。制御部222は、中継サーバ情報格納部225に格納された中継サーバ情報57のうち、クライアント端末仮想アドレス情報574-1を参照することにより、送信先がLAN2になくWAN3を介したLAN1にあることを確認する。
 中継サーバ22は、ステップS6で確立されて「groupID=20070402133100@relay-server-1.abc.net」に設定された仮想アドレスを利用したIP通信用のコネクションにおいて、「Transaction:s2」に設定された自装置のソケットに向けて、カプセル化したコンテンツの通信パケットを出力する。中継サーバ22は、中継サーバ12に対して、コンテンツの通信パケットを送信する(ステップS27.1.1.1:connection(packet))。
 中継サーバ12は、中継サーバ22から通信パケットを受信する。制御部122は、中継サーバ情報格納部125に格納された中継サーバ情報57のうち、クライアント端末仮想アドレス情報574-1を参照することにより、送信先がWAN3を介したLAN2になくLAN1にあることを確認する。
 中継サーバ12は、ステップS15で確立されて「groupID=20070402133100@relay-server-1.abc.net」に設定された仮想アドレスを利用したIP通信用のコネクションにおいて、「Transaction:c1」に設定された自装置のソケットに向けて、カプセル化したコンテンツの通信パケットを出力する。中継サーバ12は、クライアント端末11に対して、コンテンツの通信パケットを送信する(ステップS27.1.1.1.1:connection(packet))。
 クライアント端末11は、中継サーバ12から通信パケットを受信する。制御部112は、仮想LANドライバ114に対して、コンテンツの通信パケットを出力する(ステップS27.1.1.1.1.1:packet(192.168.0.11,192.168.0.12))。
 仮想LANドライバ114は、ウェブブラウザ113に対して、送信元の仮想プライベ
ートIPアドレスが「192.168.0.12」である、コンテンツを出力する(ステ
ップS27.1.1.1.1.1.1:http(192.168.0.12))。以上
の処理の流れにより、コンテンツの提供が終了する。
(10)データ送受信のまとめ
 中継通信システムを構成する各装置は、仮想プライベートIPアドレスを割り付けられていて、相互間において仮想アドレスを利用したIP通信用のコネクションを確立している。中継通信システムを構成する各装置は、全装置の仮想プライベートIPアドレスおよび全装置の仮想アドレスを利用したIP通信用のコネクション確立についての情報を、中継通信システムの状態変化に対応してリアルタイムに共有している。
 データ送信側は、データ受信側の仮想プライベートIPアドレスが送信先として指定されたデータを送信する。データ受信側は、データ送信側の仮想プライベートIPアドレスが送信元として指定されたデータを受信する。送信データの通信パケットは、遠隔のLANの相互間に介在するWANにおいて、カプセル化されている。
 データ送受信に関与する各装置は、データ受信側の仮想プライベートIPアドレスを、中継サーバ仮想アドレス情報またはクライアント端末仮想アドレス情報と照合することにより、送信データの通信パケットをいずれの装置に転送するかを決定する。データ送受信に関与する各装置は、仮想アドレスを利用したIP通信用のコネクション確立情報を参照することにより、送信データの通信パケットをいずれのコネクションのソケットに出力するかを決定する。
 従来技術のVPNにおいては、各装置は仮想プライベートIPアドレスを割り付けられている。しかし、各装置は、全装置の仮想プライベートIPアドレスについての情報を共有していないうえに、全装置のコネクション確立についての情報をも共有していない。そのため、各装置がデータを送信するにあたり通信エラーが発生したときには、送信先として指定された仮想プライベートIPアドレスが存在しないのか、送信先として指定された装置がコネクションを確立していないのか、が不明確である問題点があった。
 本発明の中継通信システムにおいては、各装置は仮想プライベートIPアドレスを割り付けられている。さらに、各装置は、全装置の仮想プライベートIPアドレスについての情報を共有しているうえに、全装置のコネクション確立についての情報をも共有している。そのため、従来技術のVPNにおける問題点を解消できるうえに、中継通信システムの状態変化に対応して拡張性および柔軟性のある仮想ネットワークを構築できる。
2.第2実施形態
(1)中継通信システムの全体構成
 以下、図面を参照しつつ、本発明の実施の形態について説明する。図25は、中継通信システムの全体構成を示す図である。中継通信システムは、LAN1、2、WAN3から構成される。LAN1、2は、遠隔に構築される小規模なネットワークである。WAN3は、インターネットなどの大規模なネットワークである。
 LAN1は、クライアント端末11、中継サーバ12から構成される。LAN2は、クライアント端末21、中継サーバ22から構成される。WAN3は、SIP(Session Initiation Protocol)サーバ31から構成される。
 クライアント端末11、21は、パーソナルコンピュータなどである。中継サーバ12、22は、クライアント端末11、21の相互間の通信を中継する。SIPサーバ31は、中継サーバ12、22の相互間の通信を中継する。
 本実施の形態においては、中継サーバ12、22の相互間の通信プロトコルとして、SIPを利用するが、SIP以外のプロトコルを利用してもよい。SIP以外のプロトコルを利用するときには、中継サーバ12、22の相互間の通信が直接に実行されればよい。
(2)中継サーバの構成要素
 図26は、中継サーバ12(22)の構成要素を示す図である。中継サーバ12(22)は、インターフェース部121(221)、制御部122(222)、データベース格納部123(223)から構成される。括弧が付されていない符号は、中継サーバ12における符号を示す。括弧が付されている符号は、中継サーバ22における符号を示す。
 インターフェース部121(221)は、プライベートIPアドレスを利用して、LAN1(2)に接続されるクライアント端末11(21)に対して通信を実行する。インターフェース部121(221)は、グローバルIPアドレスを利用して、WAN3に接続されるSIPサーバ31に対して通信を実行する。
 制御部122(222)は、クライアント端末11、21の相互間の通信を中継するための制御を行なう。制御部122(222)は、データベース格納部123(223)に格納される以下の情報を作成または更新する。
 データベース格納部123(223)は、中継グループ情報格納部124(224)、中継サーバ情報格納部125(225)、クライアント端末情報格納部126(226)から構成される。以上の情報の具体例について後述する。
 本実施の形態においては、中継サーバ12、22は、後述のクライアント端末11、21と異なりアプリケーションプログラム(以下、アプリケーションと記す。)を備えないが、後述のクライアント端末11、21と同様にアプリケーションを備えてもよい。中継サーバ12、22がアプリケーションを備えるときには、中継サーバ12、22のアプリケーションの識別情報が、中継サーバ12、22のアプリケーションの起動情報として後述の中継サーバ情報に含まれればよい。
(3)クライアント端末の構成要素
 図27は、クライアント端末11(21)の構成要素を示す図である。クライアント端末11(21)は、インターフェース部111(211)、制御部112(212)、アプリケーション151(251)、データベース格納部115(215)から構成される。括弧が付されていない符号は、クライアント端末11における符号を示す。括弧が付されている符号は、クライアント端末21における符号を示す。
 インターフェース部111(211)は、プライベートIPアドレスを利用して、LAN1(2)に接続される中継サーバ12(22)に対して通信を実行する。
 制御部112(212)は、クライアント端末11(21)および中継サーバ12(22)の相互間の通信を実行するための制御を行なう。
 制御部112(212)は、アプリケーション151(251)に処理されるアプリケーションデータを入力または出力する。アプリケーション151(251)は、第1アプリケーション152(252)、第2アプリケーション153(253)から構成される。第1アプリケーション152、252は、同一のアプリケーションである。第2アプリケーション153、253は、同一のアプリケーションである。第1アプリケーション152、252は、第2アプリケーション153、253と相互に異なる。
 制御部112(212)は、データベース格納部115(215)に格納される以下の情報を作成または更新する。データベース格納部115(215)は、中継グループ情報格納部116(216)、中継サーバ情報格納部117(217)から構成される。以上の情報の具体例について後述する。
(4)中継グループ情報の具体例
 図28は、中継グループ情報の具体例として、中継グループ情報40を示す図である。中継グループ情報は、中継通信システムを構成する中継サーバの概要を示す情報である。
 中継グループ情報40は、上位情報401、下位情報402から構成される。
 上位情報401は、上位にある中継グループについての情報である。「id」は、中継グループの識別情報を示す。「lastmod」は、中継グループ情報の最新更新時刻を示す。「name」は、中継グループの名称を示す。
 下位情報402は、下位にある中継サーバについての情報である。「id」は、中継サーバの識別情報を示す。
 中継グループ情報40は、中継グループ情報格納部124、224、116、216において格納される。すなわち、中継グループ情報40は、中継サーバ12、22およびクライアント端末11、21により共有される。
(5)中継サーバ情報の具体例
 図29は、中継サーバ情報の具体例として、中継サーバ情報50を示す図である。中継サーバ情報は、中継通信システムを構成する中継サーバの詳細を示す情報であり、中継通信システムを構成するクライアント端末の概要を示す情報である。
 中継サーバ情報50は、上位情報501-1、501-2、下位情報502-1、502-2から構成される。上位情報501-1、501-2は、各々、中継サーバ起動情報503-1、503-2を含む。下位情報502-1、502-2は、各々、アプリケーション起動情報504-1、504-2、クライアント端末が中継サーバにログインしているかどうかを示すクライアント端末サイト情報505-1、505-2を含む。
 上位情報501-1、501-2は、上位にある中継サーバについての情報である。「id」は、中継サーバの識別情報を示す。「name」は、中継サーバの名称を示す。中継サーバ起動情報503-1、503-2は、中継サーバが起動しているかどうかについての情報である。
 下位情報502-1、502-2は、下位にあるクライアント端末についての情報である。「div」は、クライアント端末の部署名を示す。アプリケーション起動情報504-1、504-2は、アプリケーションの識別情報であり、アプリケーションが起動していることを示す情報である。「group」は、クライアント端末が所属する中継グループの識別情報を示す。「id」は、クライアント端末の識別情報を示す。「name」は、クライアント端末の名称を示す。クライアント端末サイト情報505-1、505-2は、クライアント端末がログオンしている中継サーバの識別情報を示す。
 中継サーバ情報50は、中継サーバ情報格納部125、225、117、217において格納される。すなわち、中継サーバ情報50は、中継サーバ12、22およびクライアント端末11、21により共有される。
 中継サーバが起動しているときには、中継サーバ起動情報503-1、503-2が「active」になっている。中継サーバが起動していないときには、中継サーバ起動情報503-1、503-2が空欄になっている。これにより、中継サーバが起動しているかどうかについての情報が、中継通信システム全体として共有される。
 アプリケーションが起動しているときには、アプリケーション起動情報504-1、504-2が記載されている。アプリケーションが起動していないときには、アプリケーション起動情報504-1、504-2が記載されていない。これにより、アプリケーションが起動しているかどうかについての情報が、中継通信システム全体として共有される。また、上述したように、中継サーバ12、22がアプリケーションを格納している場合があり、中継サーバ12、22に格納されているアプリケーションの起動状態を中継通信システム全体で共有することもできる。この場合には、上位情報501-1、501-2に、中継サーバ12、22に格納されているアプリケーションの起動状態の情報として、アプリケーション起動情報504-1、504-2と同様な情報が記載されればよい。また、この中継通信システム全体で起動状態を共有するアプリケーションの数は、単一であってもよいし、複数であってもよい。第1クライアント端末11と第1中継サーバ12の両方にアプリケーションが格納されており、両方の起動状態を共有することもできる。
 クライアント端末が中継サーバにログオンしているときには、クライアント端末サイト情報505-1、505-2が記載されている。クライアント端末が中継サーバにログオンしていないときには、クライアント端末サイト情報505-1、505-2が記載されていない。これにより、クライアント端末が中継サーバにログオンしているかどうかについての情報が、中継通信システム全体として共有される。
(6)クライアント端末情報の具体例
 図30は、クライアント端末情報の具体例として、クライアント端末情報60、70を示す図である。クライアント端末情報は、中継通信システムを構成するクライアント端末の詳細を示す情報である。
 クライアント端末情報60、70は、各々、クライアント端末アドレス情報601、701、クライアント端末有効期限情報602、702、クライアント端末ポート情報603、703を含む。
 「div」は、クライアント端末の部署名を示す。「group」は、クライアント端末が所属する中継グループの識別情報を示す。クライアント端末アドレス情報601、701は、クライアント端末のIPアドレスを示す。クライアント端末有効期限情報602、702は、クライアント端末のレジスト有効期限を示す。「id」は、クライアント端末の識別情報を示す。「name」は、クライアント端末の名称を示す。「pass」は、クライアント端末のパスワードを示す。クライアント端末ポート情報603、703は、クライアント端末のポート番号を示す。
 クライアント端末情報60は、クライアント端末情報格納部126のみにおいて格納されて、クライアント端末情報70は、クライアント端末情報格納部226のみにおいて格納される。すなわち、クライアント端末情報60は、中継サーバ12のみにより保有されて、クライアント端末情報70は、中継サーバ22のみにより保有される。
(7)情報共有の流れ
 図31および図32は、中継グループ情報、中継サーバ情報が共有される処理の流れを示す図である。中継サーバ12、22が、中継通信システムに参加する。クライアント端末11のユーザは、中継サーバ12にログオンして、第1アプリケーション152を起動するかたわら、第2アプリケーション153を起動しない。クライアント端末21のユーザは、中継サーバ22にログオンして、第1アプリケーション252を起動するとともに、第2アプリケーション253を起動する。
(7-1)ステップS1からステップS2までの処理の流れ
 中継サーバ12の管理者および中継サーバ22の管理者は、LAN1、2の相互間において中継通信システムのグループを構築する契約を結ぶ。
 中継サーバ12の管理者は、クライアント端末11のユーザに対して、アカウントを作成する(ステップS1:CreateAccount())。制御部122は、中継サーバ情報51-1を作成して、中継サーバ情報格納部125に格納する。
 中継サーバ22の管理者は、クライアント端末21のユーザに対して、アカウントを作成する(ステップS2:CreateAccount())。制御部222は、中継サーバ情報51-2を作成して、中継サーバ情報格納部225に格納する。
 以上の処理の流れにより、中継サーバ12は、中継サーバ情報51-1を保有する。中継サーバ22は、中継サーバ情報51-2を保有する。
 図33の1番目の枠内は、中継サーバ情報51-1を示す。上位情報511-1は、上位にある中継サーバ12についての情報である。「id」として、「relay-server-1@abc.net」が設定されている。「name」として、「RELAY SERVER 1」が設定されている。中継サーバ起動情報513-1として、「active」が設定されている。すなわち、中継サーバ12は、起動している。
 下位情報512-1は、下位にあるクライアント端末11についての情報である。「div」として、「software」が設定されている。「group」として、「20070402133100@relay-server-1.abc.net」が設定されている。「id」として、「client-1@relay-server-1.abc.net」が設定されている。「name」として、「CLIENT 1」が設定されている。クライアント端末サイト情報515-1は、空欄になっている。すなわち、クライアント端末11のユーザは、中継サーバ12にログオンしていない。
 アプリケーション起動情報は、記載されていない。すなわち、クライアント端末11のユーザは、中継サーバ12にログオンしていないため、中継サーバ12は、クライアント端末11に格納されたアプリケーションの起動状態の如何に関与していない。
 図33の2番目の枠内は、中継サーバ情報51-2を示す。上位情報511-2は、上位にある中継サーバ22についての情報である。「id」として、「relay-server-2@abc.net」が設定されている。「name」として、「RELAY SERVER 2」が設定されている。中継サーバ起動情報513-2として、「active」が設定されている。すなわち、中継サーバ22は、起動している。
 下位情報512-2は、下位にあるクライアント端末21についての情報である。「div」として、「software」が設定されている。「group」として、「20070402133100@relay-server-1.abc.net」が設定されている。「id」として、「client-2@relay-server-2.abc.net」が設定されている。「name」として、「CLIENT 2」が設定されている。クライアント端末サイト情報515-2は、空欄になっている。すなわち、クライアント端末21のユーザは、中継サーバ22にログオンしていない。
 アプリケーション起動情報は、記載されていない。すなわち、クライアント端末21のユーザは、中継サーバ22にログオンしていないため、中継サーバ22は、クライアント端末21に格納されたアプリケーションの起動状態の如何に関与していない。
(7-2)ステップS3からステップS4までの処理の流れ
 以下の説明においては、中継サーバ12、22の相互間の通信は、SIPサーバ31により中継される。中継サーバ12(22)が中継サーバ22(12)に対してSIPサーバ31を介して通信を実行する方法について説明する。
 中継サーバ12(22)は、SIPサーバ31に対して、中継サーバ22(12)のアカウントが通信先として指定されたデータなどを送信する。SIPサーバ31は、中継サーバ12、22のアカウントを、各々、中継サーバ12、22のグローバルIPアドレスに対応付けている。SIPサーバ31は、中継サーバ22(12)のアカウントに基づいて、中継サーバ22(12)のグローバルIPアドレスを取得する。SIPサーバ31は、中継サーバ22(12)に対して、中継サーバ22(12)のグローバルIPアドレスが通信先として指定されたデータなどを送信する。
 中継サーバ12は、中継サーバ22に対して、中継通信システムのグループ構築を要求する(ステップS3:SetGroup())。制御部122は、中継グループ情報42を作成して、中継グループ情報格納部124に格納する。制御部222は、中継グループ情報42を作成して、中継グループ情報格納部224に格納する。
 中継サーバ12は、中継サーバ22に対して、中継サーバ情報の交換を要求する(ステップS4:exchange(db))。中継サーバ12は、中継サーバ22に対して、中継サーバ情報51-1の複製を送信する。中継サーバ22は、中継サーバ12に対して、中継サーバ情報51-2の複製を送信する。
 制御部122は、中継サーバ情報51-2の複製、中継サーバ情報51-1を合成することにより、中継サーバ情報52を作成して、中継サーバ情報格納部125に格納する。制御部222は、中継サーバ情報51-1の複製、中継サーバ情報51-2を合成することにより、中継サーバ情報52を作成して、中継サーバ情報格納部225に格納する。
 制御部122は、クライアント端末情報62を作成して、クライアント端末情報格納部126に格納する。制御部222は、クライアント端末情報72を作成して、クライアント端末情報格納部226に格納する。クライアント端末情報62の作成処理および格納処理は、ステップS1において実行され、クライアント端末情報72の作成処理および格納処理は、ステップS2において実行される。
 以上の処理の流れにより、中継サーバ12は、中継グループ情報42、中継サーバ情報52、クライアント端末情報62を保有する。中継サーバ22は、中継グループ情報42、中継サーバ情報52、クライアント端末情報72を保有する。中継グループ情報42、中継サーバ情報52は、中継サーバ12、22により共有されている。
 図34の1番目の枠内は、中継グループ情報42を示す。上位情報421は、上位にある中継グループについての情報である。「id」として、「20070402133100@relay-server-1.abc.net」が設定されている。「lastmod」として、「20070402133100」が設定されている。「name」として、「GROUP 1」が設定されている。
 下位情報422は、下位にある中継サーバ12、22についての情報である。「id」として、「relay-server-1@abc.net」、「relay-server-2@abc.net」が設定されている。
 図34の2番目の枠内は、中継サーバ情報52を示す。上位情報521-1、521-2は、各々、図33の上位情報511-1、511-2と同様である。下位情報522-1、522-2は、各々、図33の下位情報512-1、512-2と同様である。
 図34の3番目の枠内は、クライアント端末情報62を示す。「div」として、「software」が設定されている。「group」として、「20070402133100@relay-server-1.abc.net」が設定されている。「id」として、「client-1@relay-server-1.abc.net」が設定されている。「name」として、「CLIENT 1」が設定されている。「pass」として、「client-1」が設定されている。
 クライアント端末アドレス情報621は、空欄になっている。クライアント端末有効期限情報622として、「0」が設定されている。クライアント端末ポート情報623は、空欄になっている。すなわち、クライアント端末11のユーザは、中継サーバ12にログオンしていない。
 図34の4番目の枠内は、クライアント端末情報72を示す。「div」として、「software」が設定されている。「group」として、「20070402133100@relay-server-1.abc.net」が設定されている。「id」として、「client-2@relay-server-2.abc.net」が設定されている。「name」として、「CLIENT 2」が設定されている。「pass」として、「client-2」が設定されている。
 クライアント端末アドレス情報721は、空欄になっている。クライアント端末有効期限情報722として、「0」が設定されている。クライアント端末ポート情報723は、空欄になっている。すなわち、クライアント端末21のユーザは、中継サーバ22にログオンしていない。
(7-3)ステップS5からステップS7までの処理の流れ
 クライアント端末11のユーザは、第1アプリケーション152を起動して、中継通信システムにおいて共有したいメッセージを作成する。第1アプリケーション152は、あらかじめ設定されている自己の識別情報を、制御部112に登録する(ステップS5:CreateMessage())。クライアント端末11のユーザは、第1アプリケーション252を起動するかたわら、第2アプリケーション153を起動しない。
 クライアント端末21のユーザは、第1アプリケーション153を起動して、中継通信システムにおいて共有したいメッセージを作成する。第1アプリケーション153は、あらかじめ設定されている自己の識別情報を、制御部212に登録する(ステップS6:CreateMessage())。クライアント端末21のユーザは、第1アプリケーション252を起動するとともに、第2アプリケーション253を起動する(ステップS7:CreateMessage())。ステップS6、S7は、同様にして実行される。
(7-4)ステップS8からステップS10までの処理の流れ
 クライアント端末11のユーザは、クライアント端末11の識別情報として、「client-1@relay-server-1.abc.net」を入力して、クライアント端末11のパスワードとして、「client-1」を入力する。クライアント端末11のユーザは、ステップS5において、第1アプリケーション152を起動している。クライアント端末11のユーザは、中継サーバ12にログオンする(ステップS8:REGISTER(ID,PASS,APPLKEY1))。制御部122は、クライアント端末情報62を参照することにより、クライアント端末11のユーザの認証を実行する。
 制御部122は、クライアント端末11のユーザのログオンを受け付ける。制御部122は、中継サーバ情報52を更新することにより、中継サーバ情報53を作成して、中継サーバ情報格納部125に格納する。制御部122は、クライアント端末情報62を更新することにより、クライアント端末情報63を作成して、クライアント端末情報格納部126に格納する。制御部122は、中継グループ情報42を更新することはない。
 クライアント端末11は、中継サーバ12に対して、中継グループ情報および中継サーバ情報の提供を要求する(ステップS9:get())。中継サーバ12は、クライアント端末11に対して、中継グループ情報42および中継サーバ情報53の複製を送信する。クライアント端末11は、中継グループ情報42を中継グループ情報格納部116に格納して、中継サーバ情報53を中継サーバ情報格納部117に格納する。
 制御部122は、中継グループ情報42、中継サーバ情報53を参照することにより、中継サーバ情報52が中継サーバ情報53に更新されたことを通知すべき中継サーバを決定する。制御部122は、中継サーバ情報53の中継サーバ起動情報533-2が「active」である中継サーバ22を、通知すべき中継サーバとして決定する。
 中継サーバ12は、中継サーバ22に対して、中継サーバ情報52が中継サーバ情報53に更新されたことを通知する(ステップS10:NOTIFY())。制御部222は、中継サーバ情報52を更新することにより、中継サーバ情報53を作成して、中継サーバ情報格納部225に格納する。
 制御部222は、クライアント端末情報72を参照することにより、中継サーバ情報52が中継サーバ情報53に更新されたことを通知すべきクライアント端末を決定する。制御部222は、クライアント端末情報72のクライアント端末アドレス情報721が空欄であり、クライアント端末情報72のクライアント端末ポート情報723が空欄であるクライアント端末21を、通知すべきクライアント端末として決定することはない。
 以上の処理の流れにより、中継サーバ12は、中継グループ情報42、中継サーバ情報53、クライアント端末情報63を保有する。中継サーバ22は、中継グループ情報42、中継サーバ情報53、クライアント端末情報72を保有する。クライアント端末11は、中継グループ情報42、中継サーバ情報53を保有する。中継グループ情報42、中継サーバ情報53は、中継サーバ12、22、クライアント端末11により共有されている。
 図35の1番目の枠内は、中継グループ情報42を示す。ステップS8からステップS10までの処理の流れにおいては、新たな中継サーバが中継通信システムに参加していないため、中継グループ情報42が更新されることはない。
 図35の2番目の枠内は、中継サーバ情報53を示す。更新部分を下線部により示す。クライアント端末11のユーザは、第1アプリケーション152を起動しているかたわら、第2アプリケーション153を起動していない。さらに、クライアント端末11のユーザは、中継サーバ12にログオンしている。そのため、下位情報532-1のアプリケーション起動情報534-1として、「applkey="applkey1"」が記載されているが、「applkey="applkey2"」が記載されていない。さらに、下位情報532-1のクライアント端末サイト情報535-1は、「relay-server-1@abc.net」に確定されている。
 図35の3番目の枠内は、クライアント端末情報63を示す。更新部分を下線部により示す。クライアント端末11のユーザは、中継サーバ12にログオンしている。そのため、クライアント端末アドレス情報631は、「192.168.10.2」に確定されている。また、クライアント端末有効期限情報632は、「1213935960484」に確定されている。さらに、クライアント端末ポート情報633は、「5070」に確定されている。
 図35の4番目の枠内は、クライアント端末情報72を示す。ステップS8からステップS10までの処理の流れにおいては、クライアント端末21のユーザが中継サーバ22にログオンしていないため、クライアント端末情報72が更新されることはない。
(7-5)ステップS11からステップS14までの処理の流れ
 クライアント端末21のユーザは、クライアント端末21の識別情報として、「client-2@relay-server-2.abc.net」を入力して、クライアント端末21のパスワードとして、「client-2」を入力する。クライアント端末21のユーザは、ステップS6、S7において、第1アプリケーション252、第2アプリケーション253を起動している。クライアント端末21のユーザは、中継サーバ22にログオンする(ステップS11:REGISTER(ID,PASS,APPLKEY1,APPLKEY2))。制御部222は、クライアント端末情報72を参照することにより、クライアント端末21のユーザの認証を実行する。
 制御部222は、クライアント端末21のユーザのログオンを受け付ける。制御部222は、中継サーバ情報53を更新することにより、中継サーバ情報54を作成して、中継サーバ情報格納部225に格納する。制御部222は、クライアント端末情報72を更新することにより、クライアント端末情報74を作成して、クライアント端末情報格納部226に格納する。制御部222は、中継グループ情報42を更新することはない。
 クライアント端末21は、中継サーバ22に対して、中継グループ情報および中継サーバ情報の提供を要求する(ステップS12:get())。中継サーバ22は、クライアント端末21に対して、中継グループ情報42および中継サーバ情報54の複製を送信する。クライアント端末21は、中継グループ情報42を中継グループ情報格納部216に格納して、中継サーバ情報54を中継サーバ情報格納部217に格納する。
 制御部222は、中継グループ情報42、中継サーバ情報54を参照することにより、中継サーバ情報53が中継サーバ情報54に更新されたことを通知すべき中継サーバを決定する。制御部222は、中継サーバ情報54の中継サーバ起動情報543-1が「active」である中継サーバ12を、通知すべき中継サーバとして決定する。
 中継サーバ22は、中継サーバ12に対して、中継サーバ情報53が中継サーバ情報54に更新されたことを通知する(ステップS13:NOTIFY())。制御部122は、中継サーバ情報53を更新することにより、中継サーバ情報54を作成して、中継サーバ情報格納部125に格納する。
 制御部122は、クライアント端末情報63を参照することにより、中継サーバ情報53が中継サーバ情報54に更新されたことを通知すべきクライアント端末を決定する。制御部122は、クライアント端末情報63のクライアント端末アドレス情報631が確定されていて、クライアント端末情報63のクライアント端末ポート情報633が確定されているクライアント端末11を、通知すべきクライアント端末として決定する。
 中継サーバ12は、クライアント端末11に対して、中継サーバ情報53が中継サーバ情報54に更新されたことを通知する(ステップS14:NOTIFY())。制御部112は、中継サーバ情報53を更新することにより、中継サーバ情報54を作成して、中継サーバ情報格納部117に格納する。
 以上の処理の流れにより、中継サーバ12は、中継グループ情報42、中継サーバ情報54、クライアント端末情報63を保有する。中継サーバ22は、中継グループ情報42、中継サーバ情報54、クライアント端末情報74を保有する。クライアント端末11は、中継グループ情報42、中継サーバ情報54を保有する。クライアント端末21は、中継グループ情報42、中継サーバ情報54を保有する。中継グループ情報42、中継サーバ情報54は、中継サーバ12、22、クライアント端末11、21により共有されている。
 図36の1番目の枠内は、中継グループ情報42を示す。ステップS11からステップS14までの処理の流れにおいては、新たな中継サーバが中継通信システムに参加していないため、中継グループ情報42が更新されることはない。
 図36の2番目の枠内は、中継サーバ情報54を示す。更新部分を下線部により示す。クライアント端末21のユーザは、第1アプリケーション252を起動しているとともに、第2アプリケーション253を起動している。さらに、クライアント端末21のユーザは、中継サーバ22にログオンしている。そのため、下位情報542-2のアプリケーション起動情報544-2として、「applkey="applkey1,applkey2"」が記載されている。さらに、下位情報542-2のクライアント端末サイト情報545-2は、「relay-server-2@abc.net」に確定されている。
 図36の3番目の枠内は、クライアント端末情報63を示す。ステップS11からステップS14までの処理の流れにおいては、クライアント端末11のユーザが中継サーバ12からログオフしていないため、クライアント端末情報63が更新されることはない。
 図36の4番目の枠内は、クライアント端末情報74を示す。更新部分を下線部により示す。クライアント端末21のユーザは、中継サーバ22にログオンしている。そのため、クライアント端末アドレス情報741は、「192.168.1.10」に確定されている。また、クライアント端末有効期限情報742は、「1213935978484」に確定されている。さらに、クライアント端末ポート情報743は、「5070」に確定されている。
(8)情報共有のまとめ
 中継通信システムにおいて、LANおよびクライアント端末の増減状態および接続状態が変化することがある。クライアント端末および中継サーバに格納されたアプリケーションの起動状態が変化することがある。そこで、一の中継サーバは、状態変化を認識したときには、中継グループ情報、中継サーバ情報、クライアント端末情報を直ちに更新する。
 そして、一の中継サーバは、中継グループ情報および中継サーバ情報に記載されている他の中継サーバに、中継グループ情報および中継サーバ情報が更新されたことを直ちに通知する。さらに、一の中継サーバは、クライアント端末情報に記載されているクライアント端末に、中継グループ情報および中継サーバ情報が更新されたことを直ちに通知する。
 しかし、一の中継サーバは、他の中継サーバが中継グループ情報および中継サーバ情報に記載されているとしても、他の中継サーバが未接続状態にあると判断したときには、他の中継サーバに直ちに通知することはない。さらに、一の中継サーバは、クライアント端末がクライアント端末情報に記載されているとしても、クライアント端末が未接続状態にあると判断したときには、クライアント端末に直ちに通知することはない。
 これにより、LANおよびクライアント端末の増減状態および接続状態についての情報、および、クライアント端末および中継サーバに格納されたアプリケーションの起動状態についての情報は、中継通信システム全体としてリアルタイムに共有される。
(9)データ送受信の流れ
 図37および図38は、情報共有後におけるデータ送受信の流れを示す図である。情報共有後においては、図36に示した中継グループ情報42、中継サーバ情報54、クライアント端末情報63、74が格納されている。
 クライアント端末11のユーザは、中継サーバ12にログオンして、第1アプリケーション152を起動するかたわら、第2アプリケーション153を起動しない。クライアント端末21のユーザは、中継サーバ22にログオンして、第1アプリケーション252を起動するとともに、第2アプリケーション253を起動する。
 第1アプリケーション152、252は、同一のアプリケーションである。第2アプリケーション153、253は、同一のアプリケーションである。第1アプリケーション152、252は、第2アプリケーション153、253と相互に異なる。
(9-1)ステップS15からステップS18までの処理の流れ
 図37は、データを送受信する前に、コネクションを確立する処理の流れを示す。クライアント端末11のユーザは、クライアント端末11が所属する中継グループを確認する。具体的には、クライアント端末11のユーザは、中継グループ情報42をクライアント端末11の表示画面に表示させる(getGroup())。中継グループ情報42には、中継サーバ12、22の識別情報「relay-server-1@abc.net」、「relay-server-2@abc.net」が設定されている。クライアント端末11のユーザは、クライアント端末11が中継サーバ12、22により構成される中継グループに所属していることを確認する。
 クライアント端末11のユーザは、中継グループ情報42に対応する中継サーバ情報54を、クライアント端末11の表示画面に表示させる(getServer())。クライアント端末11のユーザは、中継サーバ情報54を参照して、中継グループを構成する中継サーバ、中継サーバの下位に位置するクライアント端末、そして、中継グループ内で起動しているアプリケーションの情報を確認する。
 クライアント端末11のユーザは、中継サーバ情報54を参照して、クライアント端末21とデータの送受信が可能であることを確認する。また、クライアント端末11のユーザは、クライアント端末21において、第1アプリケーション252が起動しており、通信可能であることを確認する。
 第1アプリケーション152は、中継サーバ12について、中継サーバ情報54の中継サーバ起動情報543-1が「active」に設定されていることを確認する。すなわち、中継サーバ12が起動していることを確認する。
 第1アプリケーション152は、中継サーバ22について、中継サーバ情報54の中継サーバ起動情報543-2が「active」に設定されていることを確認する。すなわち、中継サーバ22が起動していることを確認する。
 第1アプリケーション152は、クライアント端末21について、中継サーバ情報54のクライアント端末サイト情報545-2が「relay-server-2@abc.net」に設定されていることを確認する。すなわち、クライアント端末21が中継サーバ22にログオンしていることを確認する。
 第1アプリケーション152は、クライアント端末21について、中継サーバ情報54のアプリケーション起動情報544-2が「applkey1,applkey2」に設定されていることを確認する。すなわち、クライアント端末21に格納された第1アプリケーション252および第2アプリケーション253が起動していることを確認する。
 第1アプリケーション152は、中継サーバ12、22を介して、クライアント端末21に格納された第1アプリケーション252に対して、データを送信できることを確認する。第1アプリケーション152は、クライアント端末21に格納された第1アプリケーション252に対して、データを送信することを決定する。
 第1アプリケーション152は、制御部112に対して、コネクション確立の要求情報を出力する。クライアント端末11は、クライアント端末11および中継サーバ12の相互間の通信(stream(1))において、中継サーバ12に対して、コネクション確立の要求情報を送信する(ステップS15:open(client-2,client-1,applkey1))。
 中継サーバ12は、stream(1)、中継サーバ12および中継サーバ22の相互間の通信(stream(2))を、自己が中継する通信として関連付ける(stream(1):open()==stream(2):open())。中継サーバ12は、stream(2)において、中継サーバ22に対して、コネクション確立の要求情報を送信する(ステップS15.1:open(client-2,client-1,applkey1))。
 中継サーバ22は、stream(2)、中継サーバ22およびクライアント端末21の相互間の通信(stream(3))を、自己が中継する通信として関連付ける(stream(2):open()==stream(3):open())。中継サーバ22は、stream(3)において、クライアント端末21に対して、クライアント端末情報74を用いてコネクション確立の要求情報を送信する(ステップS15.1.1:open(client-2,client-1,applkey1))。すなわち、コネクション確立の要求情報は、クライアント端末21に対応するクライアント端末アドレス情報742「192.168.1.10」、クライアント端末ポート情報745「5070」などに基づいて、クライアント端末21に送信される。制御部212は、コネクション確立の要求情報を、第1アプリケーション252に対して出力すべきであり、第2アプリケーション253に対して出力すべきでないことを確認する。制御部212は、第1アプリケーション252に対して、コネクション確立の要求情報を出力する。
 クライアント端末21は、stream(3)において、中継サーバ22に対して、コネクション確立の許可情報を送信する(ステップS15.1.1に対するack)。
 中継サーバ22は、stream(2)およびstream(3)の関連付けを参照する(stream(2):ack()==stream(3):ack())。中継サーバ22は、stream(2)において、中継サーバ12に対して、コネクション確立の許可情報を送信する(ステップS15.1に対するack)。
 中継サーバ12は、stream(1)およびstream(2)の関連付けを参照する(stream(1):ack()==stream(2):ack())。中継サーバ12は、stream(1)において、クライアント端末11に対して、コネクション確立の許可情報を送信する(ステップS15に対するack)。
 クライアント端末11は、中継サーバ12に対して、クライアント端末11および中継サーバ12の相互間のコネクション(connection(1))を確立する(ステップS16:connection(1))。
 中継サーバ12は、中継サーバ22に対して、中継サーバ12および中継サーバ22の相互間のコネクション(connection(2))を確立する(ステップS17:connection(2))。中継サーバ12は、connection(1)およびconnection(2)を、自己が中継するコネクションとして関連付ける。
 中継サーバ22は、クライアント端末21に対して、クライアント端末情報74を用いて中継サーバ22およびクライアント端末21の相互間のコネクション(connection(3))を確立する(ステップS18:connection(3))。中継サーバ22は、connection(2)およびconnection(3)を、自己が中継するコネクションとして関連付ける。
 以上の処理の流れにより、以下に説明するように、クライアント端末11に格納された第1アプリケーション152およびクライアント端末21に格納された第1アプリケーション252は、双方向にデータを送受信できる。
 クライアント端末11に格納された第1アプリケーション152がクライアント端末21に格納された第1アプリケーション252に対してデータを送信するときについて説明する。第1アプリケーション152は、制御部112に対して、データを出力する。クライアント端末11は、connection(1)においてデータを送信する(connection(1):send())。中継サーバ12は、connection(1)においてデータを受信したときには、connection(1)およびconnection(2)の関連付けを参照することにより、connection(2)においてデータを送信する(connection(1):recv()==connection(2):send())。
 中継サーバ22は、connection(2)においてデータを受信したときには、connection(2)およびconnection(3)の関連付けを参照することにより、connection(3)においてデータを送信する(connection(2):recv()==connection(3):send())。クライアント端末21は、connection(3)においてデータを受信する(connection(3):recv())。制御部212は、第1アプリケーション252に対して、データを出力する。
 クライアント端末21に格納された第1アプリケーション252がクライアント端末11に格納された第1アプリケーション152に対してデータを送信するときについて説明する。第1アプリケーション252は、制御部212に対して、データを出力する。クライアント端末21は、connection(3)においてデータを送信する(connection(3):send())。中継サーバ22は、connection(3)においてデータを受信したときには、connection(2)およびconnection(3)の関連付けを参照することにより、connection(2)においてデータを送信する(connection(2):send()==connection(3):recv())。
 中継サーバ12は、connection(2)においてデータを受信したときには、connection(1)およびconnection(2)の関連付けを参照することにより、connection(1)においてデータを送信する(connection(1):send()==connection(2):recv())。クライアント端末11は、connection(1)においてデータを受信する(connection(1):recv())。制御部112は、第1アプリケーション152に対して、データを出力する。
(9-2)ステップS19からステップS22までの処理の流れ
 図38は、データを送受信した後に、コネクションを切断する処理の流れを示す。図37においては、クライアント端末11に格納された第1アプリケーション152が、クライアント端末21に格納された第1アプリケーション252に対して、コネクション確立の要求情報を送信している。図38においては、クライアント端末21に格納された第1アプリケーション252が、クライアント端末11に格納された第1アプリケーション114に対して、コネクション切断の要求情報を送信している。
 第1アプリケーション252は、制御部212に対して、コネクション切断の要求情報を出力する。クライアント端末21は、stream(3)において、中継サーバ22に対して、コネクション切断の要求情報を送信する(ステップS19:close())。
 中継サーバ22は、stream(2)およびstream(3)の関連付けを参照する(stream(2):close()==stream(3):close())。中継サーバ22は、stream(2)において、中継サーバ12に対して、コネクション切断の要求情報を送信する(ステップS19.1:close())。
 中継サーバ12は、stream(1)およびstream(2)の関連付けを参照する(stream(1):close()==stream(2):close())。中継サーバ12は、stream(1)において、クライアント端末11に対して、コネクション切断の要求情報を送信する(ステップS19.1.1:close())。制御部112は、第1アプリケーション152に対して、コネクション切断の要求情報を出力する。
 クライアント端末21は、中継サーバ22に対して、connection(3)を切断する(ステップS20:disconnect(3))。
 中継サーバ22は、connection(2)およびconnection(3)の関連付けを参照する(connection(2):disconnect==connection(3):disconnect)。中継サーバ22は、中継サーバ12に対して、connection(2)を切断する(ステップS21:disconnect(2))。
 中継サーバ12は、connection(1)およびconnection(2)の関連付けを参照する(connection(1):disconnect==connection(2):disconnect)。中継サーバ12は、クライアント端末11に対して、connection(1)を切断する(ステップS22:disconnect(1))。
 クライアント端末および中継サーバは、中継グループ情報および中継サーバ情報を参照する。クライアント端末および中継サーバは、他のクライアント端末および中継サーバの増減状態および接続状態、および、他のクライアント端末および中継サーバに格納されたアプリケーションの起動状態を確認できる。クライアント端末および中継サーバは、他のクライアント端末および中継サーバの状態を確認したうえで、他のクライアント端末および中継サーバとの相互間で双方向にデータを送受信できる。
3.第3実施形態
(1)中継通信システムの全体構成
 以下、図面を参照しつつ、本発明の実施の形態について説明する。図39は、中継通信システムの全体構成を示す図である。中継通信システムは、LAN1、2、WAN3から構成される。LAN1、2は、遠隔に構築される小規模なネットワークである。WAN3は、インターネットなどの大規模なネットワークである。
 LAN1は、クライアント端末11、中継サーバ12から構成される。LAN2は、クライアント端末21、22、中継サーバ23から構成される。WAN3は、SIP(Session Initiation Protocol)サーバ31から構成される。
 クライアント端末11、21、22は、パーソナルコンピュータなどである。中継サーバ12、23は、クライアント端末11、クライアント端末21、22の相互間の通信を中継する。SIPサーバ31は、中継サーバ12、23の相互間の通信を中継する。
 本実施の形態においては、中継サーバ12、23の相互間の通信プロトコルとして、SIPを利用するが、SIP以外のプロトコルを利用してもよい。SIP以外のプロトコルを利用するときには、中継サーバ12、23の相互間の通信が直接に実行されればよい。
(2)中継サーバの構成要素
 図40は、中継サーバ12(23)の構成要素を示す図である。中継サーバ12(23)は、インターフェース部121(231)、制御部122(232)、データベース格納部123(233)から構成される。括弧が付されていない符号は、中継サーバ12における符号を示す。括弧が付されている符号は、中継サーバ23における符号を示す。
 インターフェース部121(231)は、プライベートIPアドレスを利用して、LAN1(2)に接続されるクライアント端末11(21、22)に対して通信を実行する。インターフェース部121(231)は、グローバルIPアドレスを利用して、WAN3に接続されるSIPサーバ31に対して通信を実行する。
 制御部122(232)は、クライアント端末11、クライアント端末21、22の相互間の通信を中継するための制御を実行する。制御部122(232)は、データベース格納部123(233)に格納される以下の情報を作成または更新する。
 データベース格納部123(233)は、中継グループ情報格納部124(234)、中継サーバ情報格納部125(235)、クライアント端末情報格納部126(236)から構成される。以上の情報の具体例について以下に説明する。
(3)中継グループ情報の具体例
 図41は、中継グループ情報の具体例として、中継グループ情報40を示す図である。中継グループ情報は、中継通信システムを構成する中継サーバの概要を示す情報である。
 中継グループ情報40は、上位情報401、下位情報402から構成される。
 上位情報401は、上位にある中継グループについての情報である。「id」は、中継グループの識別情報を示す。「lastmod」は、中継グループ情報の最新更新時刻を示す。「name」は、中継グループの名称を示す。
 下位情報402は、下位にある中継サーバについての情報である。「id」は、中継サーバの識別情報を示す。
 中継グループ情報40は、中継グループ情報格納部124、234において格納される。すなわち、中継グループ情報40は、中継サーバ12、23により共有される。さらに、中継グループ情報40は、中継サーバおよびクライアント端末により共有される。
(4)中継サーバ情報の具体例
 図42は、中継サーバ情報の具体例として、中継サーバ情報50を示す図である。中継サーバ情報は、中継通信システムを構成する中継サーバの詳細を示す情報であり、中継通信システムを構成するクライアント端末の概要を示す情報である。
 中継サーバ情報50は、上位情報501-1、501-2、下位情報502-1、502-2から構成される。上位情報501-1、501-2は、各々、中継サーバ起動情報503-1、503-2を含む。下位情報502-1、502-2は、各々、クライアント端末が中継サーバにログオンしているかどうかを示すクライアント端末サイト情報504-1、504-2を含む。
 上位情報501-1、501-2は、上位にある中継サーバについての情報である。「id」は、中継サーバの識別情報を示す。「name」は、中継サーバの名称を示す。中継サーバ起動情報503-1、503-2は、中継サーバが起動しているかどうかについての情報である。
 下位情報502-1、502-2は、下位にあるクライアント端末についての情報である。「div」は、クライアント端末の部署名を示す。「group」は、クライアント端末が所属する中継グループの識別情報を示す。「id」は、クライアント端末の識別情報を示す。「name」は、クライアント端末の名称を示す。クライアント端末サイト情報504-1、504-2は、クライアント端末がログオンしている中継サーバの識別情報を示す。
 中継サーバ情報50は、中継サーバ情報格納部125、235において格納される。すなわち、中継サーバ情報50は、中継サーバ12、23により共有される。さらに、中継サーバ情報50は、中継サーバおよびクライアント端末により共有される。
 中継サーバが起動しているときには、中継サーバ起動情報503-1、503-2が「active」になっている。中継サーバが起動していないときには、中継サーバ起動情報503-1、503-2が空欄になっている。これにより、中継サーバが起動しているかどうかについての情報が、中継通信システム全体として共有される。
 クライアント端末が中継サーバにログオンしているときには、クライアント端末サイト情報504-1、504-2が記載されている。クライアント端末が中継サーバにログオンしていないときには、クライアント端末サイト情報504-1、504-2が記載されていない。これにより、クライアント端末が中継サーバにログオンしているかどうかについての情報が、中継通信システム全体として共有される。
(5)クライアント端末情報の具体例
 図43は、クライアント端末情報の具体例として、クライアント端末情報60、70を示す図である。クライアント端末情報は、中継通信システムを構成するクライアント端末の詳細を示す情報である。
 クライアント端末情報60、70は、各々、クライアント端末アドレス情報601、701、クライアント端末有効期限情報602、702、クライアント端末ポート情報603、703を含む。
 「div」は、クライアント端末の部署名を示す。「group」は、クライアント端末が所属する中継グループの識別情報を示す。クライアント端末アドレス情報601、701は、クライアント端末のIPアドレスを示す。クライアント端末有効期限情報602、702は、クライアント端末のレジスト有効期限を示す。「id」は、クライアント端末の識別情報を示す。「name」は、クライアント端末の名称を示す。「pass」は、クライアント端末のパスワードを示す。クライアント端末ポート情報603、703は、クライアント端末のポート番号を示す。
 クライアント端末情報60は、クライアント端末情報格納部126のみにおいて格納されて、クライアント端末情報70は、クライアント端末情報格納部236のみにおいて格納される。すなわち、クライアント端末情報60は、中継サーバ12のみにより保有されて、クライアント端末情報70は、中継サーバ23のみにより保有される。
(6)情報共有の流れ-第1回目の設定
 図44は、中継グループ情報、中継サーバ情報が共有される処理の流れを示す図である。図44では、第1回目の設定が実行される。すなわち、中継サーバ12、23が、中継通信システムに参加する。そして、クライアント端末11のユーザが、中継サーバ12にログオンして、クライアント端末21のユーザが、中継サーバ23にログオンする。
(6-1)ステップS1からステップS2までの処理の流れ
 中継サーバ12の管理者および中継サーバ23の管理者は、LAN1、2の相互間において中継通信システムのグループを構築する契約を結ぶ。
 中継サーバ12の管理者は、クライアント端末11のユーザに対して、アカウントを作成する(ステップS1:CreateAccount())。制御部122は、中継サーバ情報51-1を作成して、中継サーバ情報格納部125に格納する。
 中継サーバ23の管理者は、クライアント端末21のユーザに対して、アカウントを作成する(ステップS2:CreateAccount())。制御部232は、中継サーバ情報51-2を作成して、中継サーバ情報格納部235に格納する。
 以上の処理の流れにより、中継サーバ12は、中継サーバ情報51-1を保有する。中継サーバ23は、中継サーバ情報51-2を保有する。
 図45の1番目の枠内は、中継サーバ情報51-1を示す。上位情報511-1は、上位にある中継サーバ12についての情報である。「id」として、「relay-server-1@abc.net」が設定されている。「name」として、「RELAY SERVER 1」が設定されている。中継サーバ起動情報513-1として、「active」が設定されている。すなわち、中継サーバ12は、起動している。
 下位情報512-1は、下位にあるクライアント端末11についての情報である。「div」として、「software」が設定されている。「group」として、「20070402133100@relay-server-1.abc.net」が設定されている。「id」として、「client-1@relay-server-1.abc.net」が設定されている。「name」として、「CLIENT 1」が設定されている。クライアント端末サイト情報514-1は、空欄になっている。すなわち、クライアント端末11のユーザは、中継サーバ12にログオンしていない。
 図45の2番目の枠内は、中継サーバ情報51-2を示す。上位情報511-2は、上位にある中継サーバ23についての情報である。「id」として、「relay-server-2@abc.net」が設定されている。「name」として、「RELAY SERVER 2」が設定されている。中継サーバ起動情報513-2として、「active」が設定されている。すなわち、中継サーバ23は、起動している。
 下位情報512-2は、下位にあるクライアント端末21についての情報である。「div」として、「software」が設定されている。「group」として、「20070402133100@relay-server-1.abc.net」が設定されている。「id」として、「client-2@relay-server-2.abc.net」が設定されている。「name」として、「CLIENT 2」が設定されている。クライアント端末サイト情報514-2は、空欄になっている。すなわち、クライアント端末21のユーザは、中継サーバ23にログオンしていない。
(6-2)ステップS3からステップS4までの処理の流れ
 以下の説明においては、中継サーバ12、23の相互間の通信は、SIPサーバ31により中継される。中継サーバ12(23)が中継サーバ23(12)に対してSIPサーバ31を介して通信を実行する方法について説明する。
 中継サーバ12(23)は、SIPサーバ31に対して、中継サーバ23(12)のアカウントが通信先として指定されたデータなどを送信する。SIPサーバ31は、中継サーバ12、23のアカウントを、各々、中継サーバ12、23のグローバルIPアドレスに対応付けている。SIPサーバ31は、中継サーバ23(12)のアカウントに基づいて、中継サーバ23(12)のグローバルIPアドレスを取得する。SIPサーバ31は、中継サーバ23(12)に対して、中継サーバ23(12)のグローバルIPアドレスが通信先として指定されたデータなどを送信する。
 中継サーバ12は、中継サーバ23に対して、中継通信システムのグループ構築を要求する(ステップS3:SetGroup())。制御部122は、中継グループ情報42を作成して、中継グループ情報格納部124に格納する。制御部232は、中継グループ情報42を作成して、中継グループ情報格納部234に格納する。
 中継サーバ12は、中継サーバ23に対して、中継サーバ情報の交換を要求する(ステップS4:exchange(db))。中継サーバ12は、中継サーバ23に対して、中継サーバ情報51-1の複製を送信する。中継サーバ23は、中継サーバ12に対して、中継サーバ情報51-2の複製を送信する。
 制御部122は、中継サーバ情報51-2の複製、中継サーバ情報51-1を合成することにより、中継サーバ情報52を作成して、中継サーバ情報格納部125に格納する。制御部232は、中継サーバ情報51-1の複製、中継サーバ情報51-2を合成することにより、中継サーバ情報52を作成して、中継サーバ情報格納部235に格納する。
 制御部122は、クライアント端末情報62を作成して、クライアント端末情報格納部126に格納する。制御部232は、クライアント端末情報72を作成して、クライアント端末情報格納部236に格納する。クライアント端末情報62の作成処理および格納処理は、ステップS1において実行され、クライアント端末情報72の作成処理および格納処理は、ステップS2において実行される。
 以上の処理の流れにより、中継サーバ12は、中継グループ情報42、中継サーバ情報52、クライアント端末情報62を保有する。中継サーバ23は、中継グループ情報42、中継サーバ情報52、クライアント端末情報72を保有する。中継グループ情報42、中継サーバ情報52は、中継サーバ12、23により共有されている。
 図46の1番目の枠内は、中継グループ情報42を示す。上位情報421は、上位にある中継グループについての情報である。「id」として、「20070402133100@relay-server-1.abc.net」が設定されている。「lastmod」として、「20070402133100」が設定されている。「name」として、「GROUP 1」が設定されている。
 下位情報422は、下位にある中継サーバ12、23についての情報である。「id」として、「relay-server-1@abc.net」、「relay-server-2@abc.net」が設定されている。
 図46の2番目の枠内は、中継サーバ情報52を示す。上位情報521-1、521-2は、各々、図45の上位情報511-1、511-2と同様である。下位情報522-1、522-2は、各々、図45の下位情報512-1、512-2と同様である。
 図46の3番目の枠内は、クライアント端末情報62を示す。「div」として、「software」が設定されている。「group」として、「20070402133100@relay-server-1.abc.net」が設定されている。「id」として、「client-1@relay-server-1.abc.net」が設定されている。「name」として、「CLIENT 1」が設定されている。「pass」として、「client-1」が設定されている。
 クライアント端末アドレス情報621は、空欄になっている。クライアント端末有効期限情報622として、「0」が設定されている。クライアント端末ポート情報623は、空欄になっている。すなわち、クライアント端末11のユーザは、中継サーバ12にログオンしていない。
 図46の4番目の枠内は、クライアント端末情報72を示す。「div」として、「software」が設定されている。「group」として、「20070402133100@relay-server-1.abc.net」が設定されている。「id」として、「client-2@relay-server-2.abc.net」が設定されている。「name」として、「CLIENT 2」が設定されている。「pass」として、「client-2」が設定されている。
 クライアント端末アドレス情報721は、空欄になっている。クライアント端末有効期限情報722として、「0」が設定されている。クライアント端末ポート情報723は、空欄になっている。すなわち、クライアント端末21のユーザは、中継サーバ23にログオンしていない。
(6-3)ステップS5からステップS7までの処理の流れ
 クライアント端末11のユーザは、クライアント端末11の識別情報として、「client-1@relay-server-1.abc.net」を入力して、クライアント端末11のパスワードとして、「client-1」を入力する。クライアント端末11のユーザは、中継サーバ12にログオンする(ステップS5:REGISTER(ID,PASS))。制御部122は、クライアント端末情報62を参照することにより、クライアント端末11のユーザの認証を実行する。
 制御部122は、クライアント端末11のユーザのログオンを受け付ける。制御部122は、中継サーバ情報52を更新することにより、中継サーバ情報53を作成して、中継サーバ情報格納部125に格納する。制御部122は、クライアント端末情報62を更新することにより、クライアント端末情報63を作成して、クライアント端末情報格納部126に格納する。制御部122は、中継グループ情報42を更新することはない。
 クライアント端末11は、中継サーバ12に対して、中継グループ情報および中継サーバ情報の提供を要求する(ステップS6:get())。中継サーバ12は、クライアント端末11に対して、中継グループ情報42および中継サーバ情報53の複製を送信する。クライアント端末11は、中継グループ情報42、中継サーバ情報53を格納する。
 制御部122は、中継グループ情報42、中継サーバ情報53を参照することにより、中継サーバ情報52が中継サーバ情報53に更新されたことを通知すべき中継サーバを決定する。制御部122は、中継サーバ情報53の中継サーバ起動情報533-2が「active」である中継サーバ23を、通知すべき中継サーバとして決定する。
 中継サーバ12は、中継サーバ23に対して、中継サーバ情報52が中継サーバ情報53に更新されたことを通知する(ステップS7:NOTIFY())。制御部232は、中継サーバ情報52を更新することにより、中継サーバ情報53を作成して、中継サーバ情報格納部235に格納する。
 制御部232は、クライアント端末情報72を参照することにより、中継サーバ情報52が中継サーバ情報53に更新されたことを通知すべきクライアント端末を決定する。制御部232は、クライアント端末情報72のクライアント端末アドレス情報721が空欄であり、クライアント端末情報72のクライアント端末ポート情報723が空欄であるクライアント端末21を、通知すべきクライアント端末として決定することはない。
 以上の処理の流れにより、中継サーバ12は、中継グループ情報42、中継サーバ情報53、クライアント端末情報63を保有する。中継サーバ23は、中継グループ情報42、中継サーバ情報53、クライアント端末情報72を保有する。クライアント端末11は、中継グループ情報42、中継サーバ情報53を保有する。中継グループ情報42、中継サーバ情報53は、中継サーバ12、23、クライアント端末11により共有されている。
 図47の1番目の枠内は、中継グループ情報42を示す。ステップS5からステップS7までの処理の流れにおいては、新たな中継サーバが中継通信システムに参加していないため、中継グループ情報42が更新されることはない。
 図47の2番目の枠内は、中継サーバ情報53を示す。更新部分を下線部により示す。クライアント端末11のユーザは、中継サーバ12にログオンしている。そのため、下位情報532-1のクライアント端末サイト情報534-1は、「relay-server-1@abc.net」に確定されている。
 図47の3番目の枠内は、クライアント端末情報63を示す。更新部分を下線部により示す。クライアント端末11のユーザは、中継サーバ12にログオンしている。そのため、クライアント端末アドレス情報631は、「192.168.10.2」に確定されている。また、クライアント端末有効期限情報632は、「1213935960484」に確定されている。さらに、クライアント端末ポート情報633は、「5070」に確定されている。
 図47の4番目の枠内は、クライアント端末情報72を示す。ステップS5からステップS7までの処理の流れにおいては、クライアント端末21のユーザが中継サーバ23にログオンしていないため、クライアント端末情報72が更新されることはない。
(6-4)ステップS8からステップS11までの処理の流れ
 クライアント端末21のユーザは、クライアント端末21の識別情報として、「client-2@relay-server-2.abc.net」を入力して、クライアント端末21のパスワードとして、「client-2」を入力する。クライアント端末21のユーザは、中継サーバ23にログオンする(ステップS8:REGISTER(ID,PASS))。制御部232は、クライアント端末情報72を参照することにより、クライアント端末21のユーザの認証を実行する。
 制御部232は、クライアント端末21のユーザのログオンを受け付ける。制御部232は、中継サーバ情報53を更新することにより、中継サーバ情報54を作成して、中継サーバ情報格納部235に格納する。制御部232は、クライアント端末情報72を更新することにより、クライアント端末情報74を作成して、クライアント端末情報格納部236に格納する。制御部232は、中継グループ情報42を更新することはない。
 クライアント端末21は、中継サーバ23に対して、中継グループ情報および中継サーバ情報の提供を要求する(ステップS9:get())。中継サーバ23は、クライアント端末21に対して、中継グループ情報42および中継サーバ情報54の複製を送信する。クライアント端末21は、中継グループ情報42、中継サーバ情報54を格納する。
 制御部232は、中継グループ情報42、中継サーバ情報54を参照することにより、中継サーバ情報53が中継サーバ情報54に更新されたことを通知すべき中継サーバを決定する。制御部232は、中継サーバ情報54の中継サーバ起動情報543-1が「active」である中継サーバ12を、通知すべき中継サーバとして決定する。
 中継サーバ23は、中継サーバ12に対して、中継サーバ情報53が中継サーバ情報54に更新されたことを通知する(ステップ10:NOTIFY())。制御部122は、中継サーバ情報53を更新することにより、中継サーバ情報54を作成して、中継サーバ情報格納部125に格納する。
 制御部122は、クライアント端末情報63を参照することにより、中継サーバ情報53が中継サーバ情報54に更新されたことを通知すべきクライアント端末を決定する。制御部122は、クライアント端末情報63のクライアント端末アドレス情報631が確定されていて、クライアント端末情報63のクライアント端末ポート情報633が確定されているクライアント端末11を、通知すべきクライアント端末として決定する。
 中継サーバ12は、クライアント端末11に対して、中継サーバ情報53が中継サーバ情報54に更新されたことを通知する(ステップ11:NOTIFY())。クライアント端末11は、中継サーバ情報53を更新することにより、中継サーバ情報54を作成して、中継サーバ情報54を格納する。
 以上の処理の流れにより、中継サーバ12は、中継グループ情報42、中継サーバ情報54、クライアント端末情報63を保有する。中継サーバ23は、中継グループ情報42、中継サーバ情報54、クライアント端末情報74を保有する。クライアント端末11は、中継グループ情報42、中継サーバ情報54を保有する。クライアント端末21は、中継グループ情報42、中継サーバ情報54を保有する。中継グループ情報42、中継サーバ情報54は、中継サーバ12、23、クライアント端末11、21により共有されている。
 図48の1番目の枠内は、中継グループ情報42を示す。ステップS8からステップS11までの処理の流れにおいては、新たな中継サーバが中継通信システムに参加していないため、中継グループ情報42が更新されることはない。
 図48の2番目の枠内は、中継サーバ情報54を示す。更新部分を下線部により示す。クライアント端末21のユーザは、中継サーバ23にログオンしている。そのため、下位情報542-2のクライアント端末サイト情報544-2は、「relay-server-2@abc.net」に確定されている。
 図48の3番目の枠内は、クライアント端末情報63を示す。ステップS8からステップS11までの処理の流れにおいては、クライアント端末11のユーザが中継サーバ12からログオフしていないため、クライアント端末情報63が更新されることはない。
 図48の4番目の枠内は、クライアント端末情報74を示す。更新部分を下線部により示す。クライアント端末21のユーザは、中継サーバ23にログオンしている。そのため、クライアント端末アドレス情報741は、「192.168.1.10」に確定されている。また、クライアント端末有効期限情報742は、「1213935978484」に確定されている。さらに、クライアント端末ポート情報743は、「5070」に確定されている。
(7)情報共有の流れ-第2回目の設定
 図49は、中継グループ情報、中継サーバ情報が共有される処理の流れを示す図である。図49では、第2回目の設定が実行される。すなわち、中継サーバ12、23が、中継通信システムに参加し続けている。そして、クライアント端末11のユーザが、中継サーバ12にログオンし続けている。さらに、クライアント端末22のユーザが、中継サーバ23にログオンして、クライアント端末21のユーザが、中継サーバ23からログオフする。
(7-1)ステップS24からステップS25までの処理の流れ
 中継サーバ23の管理者は、クライアント端末22のユーザに対して、アカウントを作成する(ステップS24-A:CreateAccount())。制御部232は、中継サーバ情報54を更新することにより、中継サーバ情報55を作成する。制御部232は、クライアント端末情報74を更新することにより、クライアント端末情報75を作成する。制御部232は、中継グループ情報42を更新することはない。
 ステップS24-Bは、ステップS7、S10とほぼ同様である。制御部232は、中継グループ情報42、中継サーバ情報55を参照する。制御部232は、中継サーバ12に対して、中継サーバ情報54が中継サーバ情報55に更新されたことを通知することを決定する。中継サーバ23は、中継サーバ12に対して、中継サーバ情報54が中継サーバ情報55に更新されたことを通知する(ステップS24-B:NOTIFY())。
 ステップS24-Cは、ステップS11とほぼ同様である。制御部232は、クライアント端末情報75を参照する。制御部232は、クライアント端末21に対して、中継サーバ情報54が中継サーバ情報55に更新されたことを通知することを決定する。中継サーバ23は、クライアント端末21に対して、中継サーバ情報54が中継サーバ情報55に更新されたことを通知する(ステップS24-C:NOTIFY())。
 ステップS25は、ステップS11とほぼ同様である。制御部122は、クライアント端末情報63を参照する。制御部122は、クライアント端末11に対して、中継サーバ情報54が中継サーバ情報55に更新されたことを通知することを決定する。中継サーバ12は、クライアント端末11に対して、中継サーバ情報54が中継サーバ情報55に更新されたことを通知する(ステップS25:NOTIFY())。
 図50の1番目の枠内は、中継グループ情報42を示す。図50の1番目の枠内は、クライアント端末情報63を示す。ステップS24からステップS25までの処理の流れにおいては、中継グループ情報42、クライアント端末情報63が更新されることはない。
 図50の2番目の枠内は、中継サーバ情報55を示す。更新部分を下線部により示す。ここで、中継サーバ23の管理者は、クライアント端末22のユーザに対して、アカウントを作成している。そのため、クライアント端末22について、下位情報552-3が作成されている。しかし、クライアント端末22のユーザは、中継サーバ23にログオンしていない。そのため、クライアント端末22について、クライアント端末サイト情報554-3が空欄になっている。
 図51の2番目の枠内は、クライアント端末情報75を示す。更新部分を下線部により示す。ここで、中継サーバ23の管理者は、クライアント端末22のユーザに対して、アカウントを作成している。そのため、クライアント端末22について、クライアント端末情報75が作成されている。しかし、クライアント端末22のユーザは、中継サーバ23にログオンしていない。そのため、クライアント端末22について、クライアント端末アドレス情報751、クライアント端末ポート情報753が空欄になっていて、クライアント端末有効期限情報752が「0」に設定されている。
(7-2)ステップS26からステップS29までの処理の流れ
 クライアント端末22のユーザは、中継サーバ23にログオンする(ステップS26:REGISTER(ID,PASS))。制御部232は、中継サーバ情報55を更新することにより、中継サーバ情報56を作成する。制御部232は、クライアント端末情報75を更新することにより、クライアント端末情報76を作成する。制御部232は、中継グループ情報42を更新することはない。
 クライアント端末22は、中継サーバ23に対して、中継グループ情報および中継サーバ情報の提供を要求する(ステップS27:get())。中継サーバ23は、クライアント端末22に対して、中継グループ情報42および中継サーバ情報56の複製を送信する。
 ステップS28-Aは、ステップS11とほぼ同様である。制御部232は、クライアント端末情報76を参照する。制御部232は、クライアント端末21に対して、中継サーバ情報55が中継サーバ情報56に更新されたことを通知することを決定する。中継サーバ23は、クライアント端末21に対して、中継サーバ情報55が中継サーバ情報56に更新されたことを通知する(ステップS28-A:NOTIFY())。
 ステップS28-Bは、ステップS7、S10とほぼ同様である。制御部232は、中継グループ情報42、中継サーバ情報56を参照する。制御部232は、中継サーバ12に対して、中継サーバ情報55が中継サーバ情報56に更新されたことを通知することを決定する。中継サーバ23は、中継サーバ12に対して、中継サーバ情報55が中継サーバ情報56に更新されたことを通知する(ステップS28-B:NOTIFY())。
 ステップS29は、ステップS11とほぼ同様である。制御部122は、クライアント端末情報63を参照する。制御部122は、クライアント端末11に対して、中継サーバ情報55が中継サーバ情報56に更新されたことを通知することを決定する。中継サーバ12は、クライアント端末11に対して、中継サーバ情報55が中継サーバ情報56に更新されたことを通知する(ステップS29:NOTIFY())。
 図52の1番目の枠内は、中継グループ情報42を示す。図53の1番目の枠内は、クライアント端末情報63を示す。ステップS26からステップS29までの処理の流れにおいては、中継グループ情報42、クライアント端末情報63が更新されることはない。
 図52の2番目の枠内は、中継サーバ情報56を示す。更新部分を下線部により示す。ここで、クライアント端末22のユーザは、中継サーバ23にログオンしている。そのため、クライアント端末22について、下位情報562-3のクライアント端末サイト情報564-3が確定されている。
 図53の2番目の枠内は、クライアント端末情報76を示す。更新部分を下線部により示す。ここで、クライアント端末22のユーザは、中継サーバ23にログオンしている。そのため、クライアント端末22について、クライアント端末アドレス情報761およびクライアント端末ポート情報763が確定されていて、クライアント端末有効期限情報762が「0」でない情報に設定されている。
(7-3)ステップS30からステップS32までの処理の流れ
 クライアント端末21のユーザは、中継サーバ23からログオフする(ステップS30:deREGISTER(ID))。制御部232は、中継サーバ情報56を更新することにより、中継サーバ情報57を作成する。制御部232は、クライアント端末情報76を更新することにより、クライアント端末情報77を作成する。制御部232は、中継グループ情報42を更新することはない。
 ステップS31-Aは、ステップS11とほぼ同様である。制御部232は、クライアント端末情報77を参照する。制御部232は、クライアント端末22に対して、中継サーバ情報56が中継サーバ情報57に更新されたことを通知することを決定する。中継サーバ23は、クライアント端末22に対して、中継サーバ情報56が中継サーバ情報57に更新されたことを通知する(ステップS31-A:NOTIFY())。
 ステップS31-Bは、ステップS7、S10とほぼ同様である。制御部232は、中継グループ情報42、中継サーバ情報57を参照する。制御部232は、中継サーバ12に対して、中継サーバ情報56が中継サーバ情報57に更新されたことを通知することを決定する。中継サーバ23は、中継サーバ12に対して、中継サーバ情報56が中継サーバ情報57に更新されたことを通知する(ステップS31-B:NOTIFY())。
 ステップS32は、ステップS11とほぼ同様である。制御部122は、クライアント端末情報63を参照する。制御部122は、クライアント端末11に対して、中継サーバ情報56が中継サーバ情報57に更新されたことを通知することを決定する。中継サーバ12は、クライアント端末11に対して、中継サーバ情報56が中継サーバ情報57に更新されたことを通知する(ステップS32:NOTIFY())。
 図54の1番目の枠内は、中継グループ情報42を示す。図55の1番目の枠内は、クライアント端末情報63を示す。ステップS30からステップS32までの処理の流れにおいては、中継グループ情報42、クライアント端末情報63が更新されることはない。
 図54の2番目の枠内は、中継サーバ情報57を示す。更新部分を下線部により示す。ここで、クライアント端末21のユーザは、中継サーバ23からログオフしている。そのため、クライアント端末21について、下位情報572-2のクライアント端末サイト情報574-2が空欄になっている。
 図54の2番目の枠内は、クライアント端末情報77を示す。更新部分を下線部により示す。ここで、クライアント端末21のユーザは、中継サーバ23からログオフしている。そのため、クライアント端末21について、クライアント端末アドレス情報771およびクライアント端末ポート情報773が空欄になっていて、クライアント端末有効期限情報772が「0」に設定されている。
(8)情報共有のまとめ
 中継通信システムにおいて、LANおよびクライアント端末の増減状態および接続状態が変化することがある。そこで、一の中継サーバは、状態変化を認識したときには、中継グループ情報、中継サーバ情報、クライアント端末情報を直ちに更新する。
 そして、一の中継サーバは、中継グループ情報および中継サーバ情報に記載されている他の中継サーバに、中継グループ情報および中継サーバ情報が更新されたことを直ちに通知する。さらに、一の中継サーバは、クライアント端末情報に記載されているクライアント端末に、中継グループ情報および中継サーバ情報が更新されたことを直ちに通知する。
 しかし、一の中継サーバは、他の中継サーバが中継グループ情報および中継サーバ情報に記載されているとしても、他の中継サーバが未接続状態にあると判断したときには、他の中継サーバに直ちに通知することはない。さらに、一の中継サーバは、クライアント端末がクライアント端末情報に記載されているとしても、クライアント端末が未接続状態にあると判断したときには、クライアント端末に直ちに通知することはない。
 これにより、LANおよびクライアント端末の増減状態および接続状態についての情報は、中継通信システム全体としてリアルタイムに共有される。
(9)データ送受信の流れ-第1回目の設定後
 図56から図58までは、第1回目の情報共有後におけるデータ送受信の流れを示す図である。第1回目の情報共有後においては、図48に示した中継グループ情報42、中継サーバ情報54、クライアント端末情報63、74が格納されている。クライアント端末11のユーザは、中継サーバ12にログオンしている。クライアント端末21のユーザは、中継サーバ23にログオンしている。クライアント端末22のユーザは、中継サーバ23の管理者によりアカウントを作成されていない。
(9-1)ステップS12からステップS15までの処理の流れ
 図56は、ブロック単位でデータを送受信する処理の流れを示す。クライアント端末11のユーザは、クライアント端末11が所属する中継グループを確認する。具体的には、クライアント端末11のユーザは、中継グループ情報42をクライアント端末11の表示画面に表示させる(getGroup())。中継グループ情報42には、中継サーバ12、23の識別情報「relay-server-1@abc.net」、「relay-server-2@abc.net」が設定されている。クライアント端末11のユーザは、クライアント端末11が中継サーバ12、23により構成される中継グループに所属していることを確認する。
 クライアント端末11のユーザは、中継グループ情報42に対応する中継サーバ情報54を、クライアント端末11の表示画面に表示させる(getServer())。クライアント端末11のユーザは、中継サーバ情報54を参照して、中継グループを構成する中継サーバ、中継サーバの下位に位置するクライアント端末を確認する。
 クライアント端末11のユーザは、中継サーバ情報54を参照して、中継サーバ23とのデータの送受信が可能であることを確認する。クライアント端末11のユーザは、中継サーバ12について、中継サーバ情報54の中継サーバ起動情報543-1が「active」に設定されていることを確認する。すなわち、中継サーバ12が起動していることを確認する。
 クライアント端末11のユーザは、中継サーバ23について、中継サーバ情報54の中継サーバ起動情報543-2が「active」に設定されていることを確認する。すなわち、中継サーバ23が起動していることを確認する。
 クライアント端末11のユーザは、中継サーバ12を介して、中継サーバ23に対して、データを送信できることを確認する。クライアント端末11のユーザは、中継サーバ23に対して、ブロック単位のデータを送信することを決定する。
 クライアント端末11は、クライアント端末11および中継サーバ12の相互間の通信(dialog(1))において、中継サーバ23を宛先とするブロック単位のデータを送信する(ステップS12:data(from:client-1,to:relay-server-2))。中継サーバ12は、dialog(1)において、クライアント端末11から、ブロック単位のデータを受信する。
 中継サーバ12は、中継サーバ12および中継サーバ23の相互間の通信(dialog(2))において、中継サーバ23に対して、ブロック単位のデータを送信する(ステップS13:data(from:client-1,to:relay-server-2))。中継サーバ23は、dialog(2)において、中継サーバ12から、ブロック単位のデータを受信する。
 中継サーバ23は、dialog(2)において、中継サーバ12に対して、ブロック単位のデータが受信されたことを示す応答を送信する(ステップS14:response(from:relay-server-2,to:client-1))。中継サーバ12は、dialog(2)において、中継サーバ23から、ブロック単位のデータが受信されたことを示す応答を受信する。
 中継サーバ12は、dialog(1)において、クライアント端末11に対して、ブロック単位のデータが受信されたことを示す応答を送信する(ステップS15:response(from:relay-server-2,to:client-1))。クライアント端末11は、dialog(1)において、中継サーバ12から、ブロック単位のデータが受信されたことを示す応答を受信する。
 dialog(1)は、クライアント端末11および中継サーバ12の相互間の通信である。dialog(2)は、中継サーバ12および中継サーバ23の相互間の通信である。中継サーバ12は、相互に隣接する異なる区間におけるdialog(1)およびdialog(2)を相互に関連付ける。
 中継サーバ12は、dialog(1)においてデータを受信したときには、dialog(1)およびdialog(2)を相互に関連付けたことを示す情報を作成したうえで、dialog(2)においてデータを送信する。データの送受信において、dialog(1)およびdialog(2)が相互に関連付けられたことが、「dialog(1):recv()==dialog(2):send()」により示されている。
 中継サーバ12は、dialog(2)において応答を受信したときには、dialog(1)およびdialog(2)を相互に関連付けたことを示す情報を参照したうえで、dialog(1)において応答を送信する。応答の送受信において、dialog(1)およびdialog(2)が相互に関連付けられたことが、「dialog(1):send()==dialog(2):recv()」により示されている。
(9-2)ステップS16からステップS19までの処理の流れ
 図57は、連続的にデータを送受信する前に、コネクションを確立する処理の流れを示す。クライアント端末11のユーザは、クライアント端末11が所属する中継グループを確認する。具体的には、クライアント端末11のユーザは、中継グループ情報42をクライアント端末11の表示画面に表示させる(getGroup())。中継グループ情報42には、中継サーバ12、23の識別情報「relay-server-1@abc.net」、「relay-server-2@abc.net」が設定されている。クライアント端末11のユーザは、クライアント端末11が中継サーバ12、23により構成される中継グループに所属していることを確認する。
 クライアント端末11のユーザは、中継グループ情報42に対応する中継サーバ情報54を、クライアント端末11の表示画面に表示させる(getServer())。クライアント端末11のユーザは、中継サーバ情報54を参照して、中継グループを構成する中継サーバ、中継サーバの下位に位置するクライアント端末を確認する。
 クライアント端末11のユーザは、中継サーバ情報54を参照して、クライアント端末21とデータの送受信が可能であることを確認する。クライアント端末11のユーザは、ステップS12からステップS15までの処理の流れと同様に、中継サーバ12、23が起動していることを確認する。
 クライアント端末11のユーザは、クライアント端末21について、中継サーバ情報54のクライアント端末サイト情報544-2が「relay-server-2@abc.net」に設定されていることを確認する。すなわち、クライアント端末21が中継サーバ23にログオンしていることを確認する。
 クライアント端末11のユーザは、中継サーバ12、23を介して、クライアント端末21に対して、データを送信できることを確認する。クライアント端末11のユーザは、クライアント端末21に対して、連続的にデータを送信することを決定する。
 クライアント端末11は、クライアント端末11および中継サーバ12の相互間の通信(stream(1))において、中継サーバ12に対して、コネクション確立の要求情報を送信する(ステップS16:open(client-2,client-1))。
 中継サーバ12は、stream(1)、中継サーバ12および中継サーバ23の相互間の通信(stream(2))を関連付ける(stream(1):open()==stream(2):open())。中継サーバ12は、stream(2)において、中継サーバ23に対して、コネクション確立の要求情報を送信する(ステップS16.1:open(client-2,client-1))。
 中継サーバ23は、stream(2)、中継サーバ23およびクライアント端末21の相互間の通信(stream(3))を関連付ける(stream(2):open()==stream(3):open())。中継サーバ23は、stream(3)において、クライアント端末21に対して、クライアント端末情報74を用いてコネクション確立の要求情報を送信する(ステップS16.1.1:open(client-2,client-1))。すなわち、コネクション確立の要求情報は、クライアント端末21に対応するクライアント端末アドレス情報741「192.168.1.10」、クライアント端末ポート情報743「5070」などに基づいて、クライアント端末21に送信される。
 クライアント端末21は、stream(3)において、中継サーバ23に対して、コネクション確立の許可情報を送信する(ステップS16.1.1に対するack)。
 中継サーバ23は、stream(2)およびstream(3)の関連付けを参照する(stream(2):ack()==stream(3):ack())。中継サーバ23は、stream(2)において、中継サーバ12に対して、コネクション確立の許可情報を送信する(ステップS16.1に対するack)。
 中継サーバ12は、stream(1)およびstream(2)の関連付けを参照する(stream(1):ack()==stream(2):ack())。中継サーバ12は、stream(1)において、クライアント端末11に対して、コネクション確立の許可情報を送信する(ステップS16に対するack)。
 クライアント端末11は、中継サーバ12に対して、クライアント端末11および中継サーバ12の相互間のコネクション(connection(1))を確立する(ステップS17:connection(1))。
 中継サーバ12は、中継サーバ23に対して、中継サーバ12および中継サーバ23の相互間のコネクション(connection(2))を確立する(ステップS18:connection(2))。中継サーバ12は、connection(1)およびconnection(2)を関連付ける。
 中継サーバ23は、クライアント端末21に対して、クライアント端末情報74を用いて中継サーバ23およびクライアント端末21の相互間のコネクション(connection(3))を確立する(ステップS19:connection(3))。中継サーバ23は、connection(2)およびconnection(3)を関連付ける。
 以上の処理の流れにより、以下に説明するように、クライアント端末11およびクライアント端末21は、双方向に連続的にデータを送受信できる。
 クライアント端末11がクライアント端末21に対して連続的にデータを送信するときについて説明する。クライアント端末11は、connection(1)においてデータを送信する(connection(1):send())。中継サーバ12は、connection(1)においてデータを受信したときには、connection(1)およびconnection(2)の関連付けを参照することにより、connection(2)においてデータを送信する(connection(1):recv()==connection(2):send())。中継サーバ23は、connection(2)においてデータを受信したときには、connection(2)およびconnection(3)の関連付けを参照することにより、connection(3)においてデータを送信する(connection(2):recv()==connection(3):send())。クライアント端末21は、connection(3)においてデータを受信する(connection(3):recv())。
 クライアント端末21がクライアント端末11に対して連続的にデータを送信するときについて説明する。クライアント端末21は、connection(3)においてデータを送信する(connection(3):send())。中継サーバ23は、connection(3)においてデータを受信したときには、connection(2)およびconnection(3)の関連付けを参照することにより、connection(2)においてデータを送信する(connection(2):send()==connection(3):recv())。中継サーバ12は、connection(2)においてデータを受信したときには、connection(1)およびconnection(2)の関連付けを参照することにより、connection(1)においてデータを送信する(connection(1):send()==connection(2):recv())。クライアント端末11は、connection(1)においてデータを受信する(connection(1):recv())。
(9-3)ステップS20からステップS23までの処理の流れ
 図58は、連続的にデータを送受信した後に、コネクションを切断する処理の流れを示す。図57においては、クライアント端末11が、クライアント端末21に対して、コネクション確立の要求情報を送信している。図58においては、クライアント端末21が、クライアント端末11に対して、コネクション切断の要求情報を送信している。
 クライアント端末21は、stream(3)において、中継サーバ23に対して、コネクション切断の要求情報を送信する(ステップS20:close())。
 中継サーバ23は、stream(2)およびstream(3)の関連付けを参照する(stream(2):close()==stream(3):close())。中継サーバ23は、stream(2)において、中継サーバ12に対して、コネクション切断の要求情報を送信する(ステップS20.1:close())。
 中継サーバ12は、stream(1)およびstream(2)の関連付けを参照する(stream(1):close()==stream(2):close())。中継サーバ12は、stream(1)において、クライアント端末11に対して、コネクション切断の要求情報を送信する(ステップS20.1.1:close())。
 クライアント端末21は、中継サーバ23に対して、connection(3)を切断する(ステップS21:disconnect(3))。
 中継サーバ23は、connection(2)およびconnection(3)の関連付けを参照する(connection(2):disconnect==connection(3):disconnect)。中継サーバ23は、中継サーバ12に対して、connection(2)を切断する(ステップS22:disconnect(2))。
 中継サーバ12は、connection(1)およびconnection(2)の関連付けを参照する(connection(1):disconnect==connection(2):disconnect)。中継サーバ12は、クライアント端末11に対して、connection(1)を切断する(ステップS23:disconnect(1))。
(10)データ送受信の流れ-第2回目の設定後
 図59から図61までは、第2回目の情報共有後におけるデータ送受信の流れを示す図である。第2回目の情報共有後においては、図54および図55に示した中継グループ情報42、中継サーバ情報57、クライアント端末情報63、77が格納されている。クライアント端末11のユーザは、中継サーバ12にログオンしている。クライアント端末21のユーザは、中継サーバ23からログオフしている。クライアント端末22のユーザは、中継サーバ23にログオンしている。
(10-1)ステップS33からステップS36までの処理の流れ
 図59は、ブロック単位でデータを送受信する処理の流れを示す。中継サーバ23の管理者は、中継グループ情報42および中継サーバ情報57を、中継サーバ23の表示画面に表示させる(getGroup(),getServer(),getClient())。
 中継サーバ23の管理者は、中継サーバ23が所属する中継グループを確認する。具体的には、中継サーバ23の管理者は、中継グループ情報42を中継サーバ23の表示画面に表示させる(getGroup())。中継グループ情報42には、中継サーバ12、23の識別情報「relay-server-1@abc.net」、「relay-server-2@abc.net」が設定されている。中継サーバ23の管理者は、中継サーバ23が中継サーバ12、23により構成される中継グループに所属していることを確認する。
 中継サーバ23の管理者は、中継グループ情報42に対応する中継サーバ情報57を、中継サーバ23の表示画面に表示させる(getServer())。中継サーバ23の管理者は、中継サーバ情報57を参照して、中継グループを構成する中継サーバ、中継サーバの下位に位置するクライアント端末を確認する。
 中継サーバ23の管理者は、中継サーバ情報57を参照して、クライアント端末11とのデータの送受信が可能であることを確認する。中継サーバ23の管理者は、中継サーバ12について、中継サーバ情報57の中継サーバ起動情報573-1が「active」に設定されていることを確認する。すなわち、中継サーバ12が起動していることを確認する。
 中継サーバ23の管理者は、クライアント端末11について、中継サーバ情報57のクライアント端末サイト情報574-1が「relay-server-1@abc.net」に設定されていることを確認する。すなわち、クライアント端末11が中継サーバ12にログオンしていることを確認する。
 中継サーバ23の管理者は、中継サーバ12を介して、クライアント端末11に対して、データを送信できることを確認する。中継サーバ23の管理者は、クライアント端末11に対して、ブロック単位のデータを送信することを決定する。
 ステップS33、S34、S35、S36は、各々、ステップS12、S13、S14、S15とほぼ同様である。クライアント端末および中継サーバは、中継グループ情報および中継サーバ情報を参照することにより、他のクライアント端末および中継サーバの増減状態および接続状態を確認したうえで、他のクライアント端末および中継サーバに対してブロック単位のデータを送信できる。
(10-2)ステップS37からステップS44までの処理の流れ
 図60は、連続的にデータを送受信する前に、コネクションを確立する処理の流れを示す。図61は、連続的にデータを送受信した後に、コネクションを切断する処理の流れを示す。
 クライアント端末11のユーザは、クライアント端末11が所属する中継グループを確認する。具体的には、クライアント端末11のユーザは、中継グループ情報42をクライアント端末11の表示画面に表示させる(getGroup())。中継グループ情報42には、中継サーバ12、23の識別情報「relay-server-1@abc.net」、「relay-server-2@abc.net」が設定されている。クライアント端末11のユーザは、クライアント端末11が中継サーバ12、23により構成される中継グループに所属していることを確認する。
 クライアント端末11のユーザは、中継グループ情報42に対応する中継サーバ情報57を、クライアント端末11の表示画面に表示させる(getServer())。クライアント端末11のユーザは、中継サーバ情報57を参照して、中継グループを構成する中継サーバ、中継サーバの下位に位置するクライアント端末を確認する。
 クライアント端末11のユーザは、中継サーバ情報57を参照して、クライアント端末22との通信が可能であることを確認する。クライアント端末11のユーザは、ステップS12からステップS15までの処理の流れと同様に、中継サーバ12、23が起動していることを確認する。
 クライアント端末11のユーザは、クライアント端末21について、中継サーバ情報57のクライアント端末サイト情報574-2が空欄になっていることを確認する。すなわち、クライアント端末21が中継サーバ23にログオンしていないことを確認する。
 クライアント端末11のユーザは、クライアント端末22について、中継サーバ情報57のクライアント端末サイト情報574-3が「relay-server-2@abc.net」に設定されていることを確認する。すなわち、クライアント端末22が中継サーバ23にログオンしていることを確認する。
 クライアント端末11のユーザは、中継サーバ12、23を介して、クライアント端末21に対して、データを送信できないが、クライアント端末22に対して、データを送信できることを確認する。クライアント端末11のユーザは、クライアント端末22に対して、連続的にデータを送信することを決定する。
 ステップS37、S38、S39、S40は、各々、ステップS16、S17、S18、S19とほぼ同様である。ステップS41、S42、S43、S44は、各々、ステップS20、S21、S22、S23とほぼ同様である。クライアント端末および中継サーバは、中継グループ情報および中継サーバ情報を参照することにより、他のクライアント端末および中継サーバの増減状態および接続状態を確認したうえで、他のクライアント端末および中継サーバとの相互間で双方向に連続的にデータを送受信できる。
 以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲で種々の変更が可能である。
 本発明は、遠隔のLAN(Local Area Network)に接続されるクライアント端末が、WAN(Wide Area Network)を超えて通信することを可能にする中継サーバおよび中継通信システムに広く適用できる。

Claims (20)

  1.  第1ネットワークと、第2ネットワークと、
     前記第1ネットワークに接続される第1中継サーバと、
     前記第2ネットワークに接続される第2中継サーバと、
    を備える中継通信システムであって、
     前記第1中継サーバと前記第2中継サーバとは、
     前記第1中継サーバと前記第2中継サーバとが構成する中継グループと、前記中継グループで利用する仮想ネットワークアドレスと、を示す中継グループ情報を作成する中継グループ情報作成部、
    を含み、
     前記第1中継サーバは、
     前記第1中継サーバの起動状態を示す第1中継サーバ起動情報と、前記第1中継サーバと前記第1ネットワークに接続される第1クライアント端末との間の接続状態を含め前記第1中継サーバに登録されている前記第1クライアント端末に関する第1クライアント端末登録情報と、を含む第1中継サーバ情報を作成する第1中継サーバ情報作成部、
    を含み、
     前記第2中継サーバは、
     前記第2中継サーバの起動状態を示す第2中継サーバ起動情報と、前記第2中継サーバと前記第2ネットワークに接続される第2クライアント端末との間の接続状態を含め前記第2中継サーバに登録されている前記第2クライアント端末に関する第2クライアント端末登録情報と、を含む第2中継サーバ情報を作成する第2中継サーバ情報作成部、
    を含み、
     前記第1中継サーバと前記第2中継サーバとは、
     前記第1中継サーバ情報と前記第2中継サーバ情報と、を含む中継サーバ情報と、前記中継グループ情報とを、前記第1中継サーバと前記第2中継サーバとの間で共有する中継サーバ間共有部と、
     所定のタイミングで前記第1クライアント端末および前記第2クライアント端末に前記中継グループ内でユニークとなるよう管理された仮想ネットワークアドレスを動的に付与するとともに、付与した仮想ネットワークアドレスの情報を前記中継サーバ情報に登録する仮想アドレス管理部と、
    を含み、
     前記第1中継サーバは、
     前記中継グループ情報と前記中継サーバ情報とを前記第1中継サーバと前記第1クライアント端末との間で共有する第1クライアント端末間共有部、
    を含み、
     前記第2中継サーバは、
     前記中継グループ情報と前記中継サーバ情報とを前記第2中継サーバと前記第2クライアント端末との間で共有する第2クライアント端末間共有部、
    を含むことを特徴とする中継通信システム。
  2.  請求項1に記載の中継通信システムにおいて、
     前記中継グループ情報は、
     前記第1中継サーバと前記第2中継サーバがコネクションを確立しているかどうかについての中継サーバコネクション確立情報、
    を含み、
     前記第1中継サーバ情報は、
     前記第1クライアント端末が前記第1中継サーバとコネクションを確立しているかどうかについての第1クライアント端末コネクション確立情報、
    を含み、
     前記第2中継サーバ情報は、
     前記第2クライアント端末が前記第2中継サーバとコネクションを確立しているかどうかについての第2クライアント端末コネクション確立情報、
    を含むことを特徴とする中継通信システム。
  3.  請求項1または請求項2に記載の中継通信システムにおいて、
     前記第1中継サーバは、
     前記中継グループ情報と前記中継サーバ情報とに基づいて選択された前記第2ネットワークの仮想ネットワークアドレスが通信先として指定された、前記第1中継サーバが中継する通信を、前記中継グループ情報と前記中継サーバ情報とに基づいて実行する通信実行部、
    を含むことを特徴とする中継通信システム。
  4.  請求項1ないし請求項3のいずれかに記載の中継通信システムにおいて、
     前記第1中継サーバと前記第1クライアント端末とは、
     前記中継グループ情報と前記中継サーバ情報とに基づいて、現在の前記中継グループ内のコネクションの確立状況と仮想アドレスとを視覚的に表すマップを表示するマップ表示部、
    を含むことを特徴とする中継通信システム。
  5.  第1ネットワークに接続される第1中継サーバと通信可能であり、第2ネットワークに接続される第2中継サーバとして機能する中継サーバであって、
     前記第1中継サーバと前記第2中継サーバとが中継グループを構成することを示す中継グループ情報を作成する中継グループ情報作成部と、
     前記第1中継サーバの起動状態を示す第1中継サーバ起動情報と、前記第1中継サーバと前記第1ネットワークに接続される第1クライアント端末との間の接続状態を含め前記第1中継サーバに登録されている前記第1クライアント端末に関する第1クライアント端末登録情報と、前記第1中継サーバあるいは前記第1クライアント端末に格納されている第1アプリケーションの起動状態を示す第1アプリケーション起動情報と、を含み、前記第1中継サーバが作成する第1中継サーバ情報と、
     前記第2中継サーバの起動状態を示す第2中継サーバ起動情報と、前記第2中継サーバと前記第2ネットワークに接続される第2クライアント端末との間の接続状態を含め前記第2中継サーバに登録されている前記第2クライアント端末に関する第2クライアント端末登録情報と、前記第2中継サーバあるいは前記第2クライアント端末に格納されている第2アプリケーションの起動状態を示す第2アプリケーション起動情報と、を含み、前記第2中継サーバが作成する第2中継サーバ情報と、
    を含む中継サーバ情報と、前記中継グループ情報とを、前記第1中継サーバと前記第2中継サーバとの間で共有する中継サーバ間共有部と、
     前記中継グループ情報と前記中継サーバ情報とを前記第2中継サーバと前記第2クライアント端末との間で共有するクライアント端末間共有部と、
    を備えることを特徴とする中継サーバ。
  6.  請求項5に記載の中継サーバにおいて、さらに、
     前記中継グループ情報と前記中継サーバ情報とに基づいて選択された前記第1アプリケーションに対する、前記第2中継サーバが中継する通信を実行する通信実行部、
    を備えることを特徴とする中継サーバ。
  7.  請求項5または請求項6に記載の中継サーバにおいて、さらに、
     前記第1アプリケーションおよび前記第2アプリケーションのそれぞれの起動状態の変化に応じて前記第1アプリケーション起動情報および前記第2アプリケーション起動情報を更新することにより、前記中継サーバ情報を更新する起動情報更新部、
    を備え、
     前記中継サーバ間共有部は、更新された前記中継サーバ情報を前記第1中継サーバと前記第2中継サーバとの間で共有することを特徴とする中継サーバ。
  8.  第1ネットワークと、第2ネットワークと、
     前記第1ネットワークに接続される第1中継サーバと、
     前記第2ネットワークに接続される第2中継サーバと、
    を備える中継通信システムであって、
     前記第1中継サーバと前記第2中継サーバとは、
     前記第1中継サーバと前記第2中継サーバとが中継グループを構成することを示す中継グループ情報を作成する中継グループ情報作成部、
    を含み、
     前記第1中継サーバは、
     前記第1中継サーバの起動状態を示す第1中継サーバ起動情報と、前記第1中継サーバと前記第1ネットワークに接続される第1クライアント端末との間の接続状態を含め前記第1中継サーバに登録されている前記第1クライアント端末に関する第1クライアント端末登録情報と、前記第1中継サーバあるいは前記第1クライアント端末に格納されている第1アプリケーションの起動情報と、を含む第1中継サーバ情報を作成する第1中継サーバ情報作成部、
    を含み、
     前記第2中継サーバは、
     前記第2中継サーバの起動状態を示す第2中継サーバ起動情報と、前記第2中継サーバと前記第2ネットワークに接続される第2クライアント端末との間の接続状態を含め前記第2中継サーバに登録されている前記第2クライアント端末に関する第2クライアント端末登録情報と、前記第2中継サーバあるいは前記第2クライアント端末に格納されている第2アプリケーションの起動情報と、を含む第2中継サーバ情報を作成する第2中継サーバ情報作成部、
    を含み、
     前記第1中継サーバと前記第2中継サーバとは、
     前記第1中継サーバ情報と前記第2中継サーバ情報と、を含む中継サーバ情報と、前記中継グループ情報とを、前記第1中継サーバと前記第2中継サーバとの間で共有する中継サーバ間共有部、
    を含み、
     前記第1中継サーバは、
     前記中継グループ情報と前記中継サーバ情報とを前記第1中継サーバと前記第1クライアント端末間において共有する第1クライアント端末間共有部、
    を含み、
     前記第2中継サーバは、
     前記中継グループ情報と前記中継サーバ情報とを前記第2中継サーバと前記第2クライアント端末間において共有する第2クライアント端末間共有部、
    を含むことを特徴とする中継通信システム。
  9.  請求項8に記載の中継通信システムにおいて、
     前記第1中継サーバは、
     前記中継グループ情報と前記中継サーバ情報とに基づいて選択された前記第2アプリケーションに対する、前記第1中継サーバが中継する通信を実行する通信実行部、
    を含むことを特徴とする中継通信システム。
  10.  請求項8または請求項9に記載の中継通信システムにおいて、
     前記第1中継サーバと前記第2中継サーバとは、
     前記第1アプリケーションおよび前記第2アプリケーションのそれぞれの起動状態の変化に応じて前記第1アプリケーション起動情報および前記第2アプリケーション起動情報を更新することにより、前記中継サーバ情報を更新する起動情報更新部、
    を含み、
     前記中継サーバ間共有部は、更新された前記中継サーバ情報を前記第1中継サーバと前記第2中継サーバとの間で共有することを特徴とする中継サーバ。
  11.  第1ネットワークに接続される第1中継サーバと通信可能であり、第2ネットワークに接続される第2中継サーバとして機能する中継サーバであって、
     前記第1中継サーバと前記第2中継サーバとが中継グループを構成することを示す中継グループ情報を作成する中継グループ情報作成部と、
     前記第1中継サーバの起動状態を示す第1中継サーバ起動情報と、前記第1中継サーバと前記第1ネットワークに接続される第1クライアント端末との間の接続状態を含め前記第1中継サーバに登録されている前記第1クライアント端末に関する第1クライアント端末登録情報と、を含み、前記第1中継サーバが作成する第1中継サーバ情報と、
     前記第2中継サーバの起動状態を示す第2中継サーバ起動情報と、前記第2中継サーバと前記第2ネットワークに接続される第2クライアント端末との間の接続状態を含め前記第2中継サーバに登録されている前記第2クライアント端末に関する第2クライアント端末登録情報と、を含み、前記第2中継サーバが作成する第2中継サーバ情報と、
    を含む中継サーバ情報と、前記中継グループ情報とを、前記第1中継サーバと前記第2中継サーバとの間で共有する中継サーバ間共有部と、
     前記中継グループ情報と前記中継サーバ情報とを前記第2中継サーバと前記第2クライアント端末との間で共有するクライアント端末間共有部と、
    を備えることを特徴とする中継サーバ。
  12.  請求項11に記載の中継サーバにおいて、さらに、
     前記第2中継サーバと前記第2クライアント端末との間の通信に使用される前記第2クライアント端末に関する通信設定情報、を含む第2クライアント端末情報を保持するクライアント端末情報保持部、
    を備えることを特徴とする中継サーバ。
  13.  請求項11または請求項12に記載の中継サーバにおいて、さらに、
     前記第1中継サーバおよび前記第2中継サーバのそれぞれの起動状態の変化に応じて前記第1中継サーバ起動情報および前記第2中継サーバ起動情報を更新することにより、前記中継サーバ情報を更新する中継サーバ起動情報更新部と、
     前記第2中継サーバと前記第2クライアント端末との間の接続状態の変化に応じて前記第2クライアント端末登録情報を更新することにより、前記中継サーバ情報を更新するクライアント端末接続状態更新部と、
    を備え、
     前記中継サーバ間共有部は、更新された前記中継サーバ情報を前記第1中継サーバと前記第2中継サーバとの間で共有することを特徴とする中継サーバ。
  14.  請求項11ないし請求項13のいずれかに記載の中継サーバにおいて、さらに、
     前記中継グループの構成の変化に応じて前記中継グループ情報を更新する中継グループ情報更新部と、
     前記第2中継サーバにおける前記第2クライアント端末の登録状態の変化に応じて前記第2クライアント端末登録情報を更新することにより、前記中継サーバ情報を更新するクライアント端末登録状態更新部と、
    を備え、
     前記中継サーバ間共有部は、更新された前記中継グループ情報と前記中継サーバ情報とを前記第1中継サーバと前記第2中継サーバとの間で共有し、
     前記クライアント端末間共有部は、更新された前記中継グループ情報と前記中継サーバ情報とを、前記第2中継サーバと前記第2クライアント端末との間で共有することを特徴とする中継サーバ。
  15.  請求項11ないし請求項14のいずれかに記載の中継サーバにおいて、さらに、
     前記中継グループ情報と前記中継サーバ情報とに基づいて選択された前記第1ネットワーク内の通信先に対する、前記第2中継サーバが関与するデータ通信を実行するデータ通信実行部、
    を備え、
     前記データ通信は、
     コネクションを保持せずブロック単位でデータを通信するブロック単位通信と、
     コネクションを保持して連続的にデータを通信する連続的通信と、
    を含むことを特徴とする中継サーバ。
  16.  第1ネットワークと、第2ネットワークと、
     前記第1ネットワークに接続される第1中継サーバと、
     前記第2ネットワークに接続される第2中継サーバと、
    を備える中継通信システムであって、
     前記第1中継サーバと前記第2中継サーバとは、
     前記第1中継サーバと前記第2中継サーバとが中継グループを構成することを示す中継グループ情報を作成する中継グループ情報作成部、
    を含み、
     前記第1中継サーバは、
     前記第1中継サーバの起動状態を示す第1中継サーバ起動情報と、前記第1中継サーバと前記第1ネットワークに接続される第1クライアント端末との間の接続状態を含め前記第1中継サーバに登録されている前記第1クライアント端末に関する第1クライアント端末登録情報と、を含む第1中継サーバ情報を作成する第1中継サーバ情報作成部、
    を含み、
     前記第2中継サーバは、
     前記第2中継サーバの起動状態を示す第2中継サーバ起動情報と、前記第2中継サーバと前記第2ネットワークに接続される第2クライアント端末との間の接続状態を含め前記第2中継サーバに登録されている前記第2クライアント端末に関する第2クライアント端末登録情報と、を含む第2中継サーバ情報を作成する第2中継サーバ情報作成部、
    を含み、
     前記第1中継サーバと前記第2中継サーバとは、
     前記第1中継サーバ情報と前記第2中継サーバ情報と、を含む中継サーバ情報と、前記中継グループ情報とを、前記第1中継サーバと前記第2中継サーバとの間で共有する中継サーバ間共有部、
    を含み、
     前記第1中継サーバは、
     前記中継グループ情報と前記中継サーバ情報とを前記第1中継サーバと前記第1クライアント端末との間で共有する第1クライアント端末間共有部、
    を含み、
     前記第2中継サーバは、
     前記中継グループ情報と前記中継サーバ情報とを前記第2中継サーバと前記第2クライアント端末との間で共有する第2クライアント端末間共有部、
    を含むことを特徴とする中継通信システム。
  17.  請求項16に記載の中継通信システムにおいて、
     前記第1中継サーバは、
     前記第1中継サーバと前記第1クライアント端末との間の通信に使用される前記第1クライアント端末に関する通信設定情報、を含む第1クライアント端末情報を保持する第1クライアント端末情報保持部、
    を含み、
     前記第2中継サーバは、
     前記第2中継サーバと前記第2クライアント端末との間の通信に使用される前記第2クライアント端末に関する通信設定情報、を含む第2クライアント端末情報を保持する第2クライアント端末情報保持部、
    を含むことを特徴とする中継通信システム。
  18.  請求項16または請求項17に記載の中継通信システムにおいて、
     前記第1中継サーバと前記第2中継サーバとは、
     前記第1中継サーバおよび前記第2中継サーバのそれぞれの起動状態の変化に応じて前記第1中継サーバ起動情報および前記第2中継サーバ起動情報を更新することにより、前記中継サーバ情報を更新する中継サーバ起動情報更新部と、
     前記第1中継サーバと前記第1クライアント端末との間の接続状態の変化に応じて前記第1クライアント端末登録情報を更新することにより、前記中継サーバ情報を更新するクライアント端末接続状態更新部と、
    を含み、
     前記中継サーバ間共有部は、更新された前記中継サーバ情報を前記第1中継サーバと前記第2中継サーバとの間で共有することを特徴とする中継通信システム。
  19.  請求項16ないし請求項18のいずれかに記載の中継通信システムにおいて、
     前記中継グループは、前記第1中継サーバと前記第2中継サーバと、を含む複数の中継サーバにより構成されており、
     前記中継サーバ情報は、前記第1中継サーバ情報と前記第2中継サーバ情報と、を含め各中継サーバが作成する複数の個別中継サーバ情報、を含み、
     前記第1中継サーバと前記第2中継サーバとは、
     前記中継グループの構成の変化に応じて前記中継グループ情報を更新する中継グループ情報更新部と、
     前記中継グループの構成の変化に応じて前記複数の個別中継サーバ情報を更新することにより、前記中継サーバ情報を更新する個別中継サーバ情報更新部と、
     前記第1中継サーバにおける前記第1クライアント端末の登録状態の変化に応じて前記第1クライアント端末登録情報を更新することにより、前記中継サーバ情報を更新するクライアント端末登録状態更新部と、
    含み、
     前記中継サーバ間共有部は、更新された前記中継グループ情報と前記中継サーバ情報とを、構成が変化した後の前記中継グループを構成する複数の中継サーバの間で共有し、
     前記第1クライアント端末間共有部は、更新された前記中継グループ情報と前記中継サーバ情報とを、前記第1中継サーバと前記第1クライアント端末との間で共有することを特徴とする中継通信システム。
  20.  請求項16ないし請求項19のいずれかに記載の中継通信システムにおいて、
     前記第1中継サーバは、
     前記中継グループ情報と前記中継サーバ情報とに基づいて選択された前記第2ネットワーク内の通信先に対する、前記第1中継サーバが関与するデータ通信を実行するデータ通信実行部、
    を含み、
     前記データ通信は、
     コネクションを保持せずブロック単位でデータを通信するブロック単位通信と、
     コネクションを保持して連続的にデータを通信する連続的通信と、
    を含むことを特徴とする中継通信システム。
PCT/JP2009/004254 2008-09-01 2009-08-31 中継サーバおよび中継通信システム WO2010023958A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP09809613.4A EP2323315B1 (en) 2008-09-01 2009-08-31 Relay communication system
CN2009801340667A CN102138304B (zh) 2008-09-01 2009-08-31 中继服务器以及中继通信系统
US13/061,234 US8356116B2 (en) 2008-09-01 2009-08-31 Relay server and relay communication system

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2008223098A JP4831145B2 (ja) 2008-09-01 2008-09-01 中継サーバおよび中継通信システム
JP2008-223098 2008-09-01
JP2008-227540 2008-09-04
JP2008227540A JP4803229B2 (ja) 2008-09-04 2008-09-04 中継サーバ、中継通信システム
JP2008-230229 2008-09-08
JP2008230229A JP4831148B2 (ja) 2008-09-08 2008-09-08 中継サーバ、中継通信システム

Publications (1)

Publication Number Publication Date
WO2010023958A1 true WO2010023958A1 (ja) 2010-03-04

Family

ID=41721139

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/004254 WO2010023958A1 (ja) 2008-09-01 2009-08-31 中継サーバおよび中継通信システム

Country Status (5)

Country Link
US (1) US8356116B2 (ja)
EP (1) EP2323315B1 (ja)
CN (1) CN102138304B (ja)
TW (1) TWI455547B (ja)
WO (1) WO2010023958A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2642701A4 (en) * 2010-11-18 2017-01-04 Murata Machinery, Ltd. Relay server and relay communication system
TWI568218B (zh) * 2010-12-16 2017-01-21 Murata Machinery Ltd Relay communication system and relay server

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5636941B2 (ja) 2010-12-16 2014-12-10 村田機械株式会社 中継通信システムおよび中継サーバ
JP5636942B2 (ja) * 2010-12-16 2014-12-10 村田機械株式会社 中継通信システムおよび中継サーバ
JP5682782B2 (ja) * 2011-07-11 2015-03-11 村田機械株式会社 中継サーバ及び中継通信システム
US9864632B2 (en) 2011-08-17 2018-01-09 Open Invention Network, Llc System and method for transfer of an application state between devices
US11683292B2 (en) * 2011-09-09 2023-06-20 Kingston Digital, Inc. Private cloud routing server connection mechanism for use in a private communication architecture
US11863529B2 (en) 2011-09-09 2024-01-02 Kingston Digital, Inc. Private cloud routing server connection mechanism for use in a private communication architecture
CN103959720B (zh) * 2011-11-30 2017-04-26 村田机械株式会社 中继服务器以及中继通信系统
US10348668B2 (en) * 2013-05-24 2019-07-09 Red Hat, Inc. Overlay network over a messaging network
US9949302B2 (en) * 2016-03-24 2018-04-17 Google Llc Automatic wireless communication protocol toggling
JP2021158466A (ja) * 2020-03-26 2021-10-07 富士フイルムビジネスイノベーション株式会社 中継装置、中継システム、及びプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008098881A (ja) * 2006-10-11 2008-04-24 Murata Mach Ltd 中継サーバ
JP2008129991A (ja) 2006-11-24 2008-06-05 Murata Mach Ltd 中継サーバおよび中継通信システム

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04105143A (ja) 1990-08-24 1992-04-07 Nec Corp ファイル共有方式
JPH09168055A (ja) 1995-12-18 1997-06-24 Fujitsu Ltd セキュリティ制御装置
JPH09282216A (ja) 1996-04-18 1997-10-31 Kobe Nippon Denki Software Kk クライアントサーバシステム
JP2000059465A (ja) 1998-08-07 2000-02-25 Hitachi Ltd 障害監視管理方式
JP3415456B2 (ja) 1998-10-19 2003-06-09 日本電気株式会社 ネットワークシステム及びコマンド使用権限制御方法ならびに制御プログラムを格納した記憶媒体
JP2001092702A (ja) 1999-09-20 2001-04-06 Fujitsu Ltd 情報処理システム、サーバ装置、クライアント装置、及び記録媒体
JP2001292167A (ja) 2000-04-10 2001-10-19 Fujitsu Ltd ネットワーク中継システムおよび中継装置
JP2001306382A (ja) 2000-04-24 2001-11-02 Hitachi Ltd 共用ファイルアクセス方法及びその実施装置並びにその処理プログラムを記録した記録媒体
JP2002007182A (ja) 2000-06-20 2002-01-11 Nec Corp 外部記憶装置の共有ファイル管理方式
JP4092388B2 (ja) 2000-11-10 2008-05-28 富士通株式会社 ネットワークを用いたサービス提供方法及びそれを用いたサービス提供システム
US6954790B2 (en) * 2000-12-05 2005-10-11 Interactive People Unplugged Ab Network-based mobile workgroup system
JP4231984B2 (ja) 2001-01-15 2009-03-04 村田機械株式会社 中継サーバおよび通信システム
AU2002234258A1 (en) * 2001-01-22 2002-07-30 Sun Microsystems, Inc. Peer-to-peer network computing platform
JP2002247036A (ja) 2001-02-21 2002-08-30 Nec Corp ネットワーク管理システム及びネットワーク管理方法並びに同方法のプログラムを記録した記憶媒体
US20020143956A1 (en) * 2001-04-03 2002-10-03 Murata Kikai Kabushiki Kaisha Relay server
JP3784269B2 (ja) 2001-04-10 2006-06-07 アライドテレシスホールディングス株式会社 ネットワーク管理装置、ネットワーク管理プログラム、ネットワーク管理方法、及びコンピュータネットワークシステム
EP1563389A4 (en) * 2001-08-01 2008-06-25 Actona Technologies Ltd VIRTUAL DATA DISTRIBUTION NETWORK
JP2003223521A (ja) 2002-01-29 2003-08-08 Mitsubishi Electric Corp 設備管理システム及び設備管理方法
US7624437B1 (en) * 2002-04-02 2009-11-24 Cisco Technology, Inc. Methods and apparatus for user authentication and interactive unit authentication
JP2004139291A (ja) 2002-10-17 2004-05-13 Hitachi Ltd データ通信中継装置
WO2004075479A1 (ja) 2003-02-19 2004-09-02 Victor Company Of Japan Limited 制御情報の伝送方法、中継サーバ、及び被制御装置
US8706760B2 (en) 2003-02-28 2014-04-22 Microsoft Corporation Method to delay locking of server files on edit
US7895649B1 (en) * 2003-04-04 2011-02-22 Raytheon Company Dynamic rule generation for an enterprise intrusion detection system
JP2004310371A (ja) 2003-04-04 2004-11-04 Nippon Telegr & Teleph Corp <Ntt> ファイル共有システム及び方法、ファイル共有サーバ、ファイル共有サービスのクライアント端末、ファイル共有プログラム、ファイル共有プログラムを記録した記録媒体
JP2005027040A (ja) 2003-07-02 2005-01-27 Ricoh Co Ltd 監視方法、監視プログラム及び集中監視プログラム
JP3941763B2 (ja) 2003-09-09 2007-07-04 日本電信電話株式会社 クライアントサーバ型サービスにおける輻輳制御システム
US8065418B1 (en) 2004-02-02 2011-11-22 Apple Inc. NAT traversal for media conferencing
JP3940135B2 (ja) 2004-05-13 2007-07-04 日本電信電話株式会社 リソース管理システム及び方法並びにプログラム及びプログラムを記録した記録媒体
CN101128805B (zh) 2005-02-24 2010-05-12 富士通株式会社 连接支持装置及网关装置
JP4379379B2 (ja) 2005-04-27 2009-12-09 株式会社日立製作所 ネットワークシステム
JP2006343943A (ja) 2005-06-08 2006-12-21 Murata Mach Ltd ファイルサーバ装置及び通信管理サーバ装置
JP2007104440A (ja) 2005-10-05 2007-04-19 Dit:Kk パケット伝送システム、トンネリング装置およびパケット伝送方法
US20070233844A1 (en) 2006-03-29 2007-10-04 Murata Kikai Kabushiki Kaisha Relay device and communication system
JP4492575B2 (ja) 2006-03-29 2010-06-30 村田機械株式会社 中継装置および通信システム
JP5101852B2 (ja) 2006-10-05 2012-12-19 日本電信電話株式会社 接続制御システム、接続制御方法およびデータ中継装置
EP1926285B1 (en) 2006-10-11 2011-07-13 Murata Machinery, Ltd. Relay server
JP4187036B2 (ja) * 2006-10-11 2008-11-26 村田機械株式会社 中継サーバ
EP1942634B1 (en) 2006-11-24 2012-08-29 Murata Machinery, Ltd. Relay server, relay communication system, and communication device
JP4957225B2 (ja) 2006-12-11 2012-06-20 村田機械株式会社 中継サーバおよび中継通信システム
US8010647B2 (en) * 2006-12-11 2011-08-30 Murata Machinery, Ltd. Relay server and relay communication system arranged to share resources between networks
JP5125087B2 (ja) 2006-12-13 2013-01-23 村田機械株式会社 中継サーバ
JP4333736B2 (ja) * 2006-12-19 2009-09-16 村田機械株式会社 中継サーバおよびクライアント端末
JP4816572B2 (ja) 2007-05-30 2011-11-16 富士ゼロックス株式会社 仮想ネットワーク接続システム及び装置
JP4750761B2 (ja) 2007-07-23 2011-08-17 日本電信電話株式会社 接続制御システム、接続制御方法、接続制御プログラムおよび中継装置
JP2010178089A (ja) 2009-01-29 2010-08-12 Daikin Ind Ltd 遠隔管理システム、遠隔管理装置及び接続装置
JP4941846B2 (ja) 2009-09-04 2012-05-30 村田機械株式会社 中継サーバ及び中継通信システム
JP4998526B2 (ja) 2009-09-04 2012-08-15 村田機械株式会社 中継サーバ及び中継通信システム
JP2011055453A (ja) 2009-09-04 2011-03-17 Murata Machinery Ltd 中継サーバ及び中継通信システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008098881A (ja) * 2006-10-11 2008-04-24 Murata Mach Ltd 中継サーバ
JP2008129991A (ja) 2006-11-24 2008-06-05 Murata Mach Ltd 中継サーバおよび中継通信システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2323315A4

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2642701A4 (en) * 2010-11-18 2017-01-04 Murata Machinery, Ltd. Relay server and relay communication system
TWI568218B (zh) * 2010-12-16 2017-01-21 Murata Machinery Ltd Relay communication system and relay server

Also Published As

Publication number Publication date
EP2323315A4 (en) 2013-01-23
TW201019678A (en) 2010-05-16
TWI455547B (zh) 2014-10-01
EP2323315A1 (en) 2011-05-18
US8356116B2 (en) 2013-01-15
CN102138304B (zh) 2013-08-21
CN102138304A (zh) 2011-07-27
EP2323315B1 (en) 2014-03-05
US20110161525A1 (en) 2011-06-30

Similar Documents

Publication Publication Date Title
WO2010023958A1 (ja) 中継サーバおよび中継通信システム
EP3834396B1 (en) User datagram protocol tunneling in distributed application instances
EP2408153B1 (en) First relay server and second relay server
WO2012120767A1 (ja) 中継サーバ及び中継通信システム
RU2638880C2 (ru) Способ установления бесперебойного соединения связи и устройство связи
JP4831148B2 (ja) 中継サーバ、中継通信システム
US8554935B2 (en) Relay server and relay communication system
WO2010026727A1 (ja) 中継サーバ、中継通信システム、および通信装置
US20130315249A1 (en) Relay server and relay communication system
CN108737454B (zh) 用于在虚拟网关服务器间进行信息同步的方法和设备
JP4831145B2 (ja) 中継サーバおよび中継通信システム
WO2012081303A1 (ja) 中継通信システムおよび中継サーバ
JP4803229B2 (ja) 中継サーバ、中継通信システム
JP5012738B2 (ja) 中継サーバ、中継通信システム
JP5458610B2 (ja) 中継通信システム
JP4798197B2 (ja) 中継サーバ、中継通信システム
JP5402181B2 (ja) 中継通信システム
JP2010062982A (ja) 通信装置および中継サーバ
JP4947086B2 (ja) 中継通信システム
Samovskiy Building a multisourced infrastructure using OpenVPN

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200980134066.7

Country of ref document: CN

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

Ref document number: 09809613

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
WWE Wipo information: entry into national phase

Ref document number: 13061234

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2009809613

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE